@ethlete/cdk 3.22.2 → 3.22.3

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 3.22.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`ff3d0425`](https://github.com/ethlete-io/ethdk/commit/ff3d04259b3ccfed6c7aff548a4a9afd4f7f3fd2) Thanks [@TomTomB](https://github.com/TomTomB)! - Ignore forced close events in overlay dismiss checker and cleanup after the checker was unsubscribed
8
+
3
9
  ## 3.22.2
4
10
 
5
11
  ### Patch Changes
@@ -18,8 +18,17 @@ export class OverlayRef {
18
18
  this._beforeClosed = new Subject();
19
19
  this._closeCalled = new Subject();
20
20
  this._state = OVERLAY_STATE.OPEN;
21
+ /**
22
+ * @internal
23
+ */
21
24
  this._isEscCloseControlledExternally = false;
25
+ /**
26
+ * @internal
27
+ */
22
28
  this._isBackdropCloseControlledExternally = false;
29
+ /**
30
+ * @internal
31
+ */
23
32
  this._isCloseFnCloseControlledExternally = false;
24
33
  this._disableCloseFromInternalInitiators = new Set();
25
34
  this.disableClose = config.disableClose;
@@ -57,7 +66,7 @@ export class OverlayRef {
57
66
  if (this._state === OVERLAY_STATE.CLOSING || this._state === OVERLAY_STATE.CLOSED) {
58
67
  return;
59
68
  }
60
- this._closeCalled.next(result);
69
+ this._closeCalled.next({ result, forced: force ?? false });
61
70
  if (this._isCloseFnCloseControlledExternally && !force) {
62
71
  return;
63
72
  }
@@ -76,13 +85,13 @@ export class OverlayRef {
76
85
  this._containerInstance._animatedLifecycle.leave();
77
86
  }
78
87
  afterOpened() {
79
- return this._afterOpened;
88
+ return this._afterOpened.asObservable();
80
89
  }
81
90
  afterClosed() {
82
91
  return this._ref.closed;
83
92
  }
84
93
  beforeClosed() {
85
- return this._beforeClosed;
94
+ return this._beforeClosed.asObservable();
86
95
  }
87
96
  backdropClick() {
88
97
  return this._ref.backdropClick;
@@ -91,7 +100,7 @@ export class OverlayRef {
91
100
  return this._ref.keydownEvents;
92
101
  }
93
102
  closeCalled() {
94
- return this._closeCalled;
103
+ return this._closeCalled.asObservable();
95
104
  }
96
105
  updatePosition(position) {
97
106
  const strategy = this._ref.config.positionStrategy;
@@ -145,4 +154,4 @@ export class OverlayRef {
145
154
  this._disableCloseFromInternalInitiators.delete(initiatorId);
146
155
  }
147
156
  }
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXkvdXRpbHMvb3ZlcmxheS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRCxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRSxPQUFPLEVBQUUsYUFBYSxFQUFnRCxNQUFNLFVBQVUsQ0FBQztBQUV2Riw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLFVBQVU7SUFxQnJCLElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLG1DQUFtQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFDVSxJQUF3QixFQUNoQyxNQUFxQixFQUNkLGtCQUE2QztRQUY1QyxTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUV6Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBL0J0RCxzQkFBaUIsR0FBYSxJQUFJLENBQUM7UUFDMUIsaUJBQVksR0FBMkIsSUFBSSxDQUFDO1FBS3BDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQzdDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFHckQsV0FBTSxHQUFpQixhQUFhLENBQUMsSUFBSSxDQUFDO1FBR2xELG9DQUErQixHQUFHLEtBQUssQ0FBQztRQUN4Qyx5Q0FBb0MsR0FBRyxLQUFL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UUFDaEUsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IERpYWxvZ1JlZiBhcyBDZGtEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IEVTQ0FQRSwgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgR2xvYmFsUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZmlsdGVyLCBtZXJnZSwgc2tpcFVudGlsLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPVkVSTEFZX1NUQVRFLCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb24sIE92ZXJsYXlTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjbGFzcyBPdmVybGF5UmVmPFQgPSBhbnksIFIgPSBhbnk+IHtcbiAgY29tcG9uZW50SW5zdGFuY2U6IFQgfCBudWxsID0gbnVsbDtcbiAgcmVhZG9ubHkgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCBudWxsID0gbnVsbDtcbiAgZGlzYWJsZUNsb3NlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIGlkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJPcGVuZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9iZWZvcmVDbG9zZWQgPSBuZXcgU3ViamVjdDxSIHwgdW5kZWZpbmVkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jbG9zZUNhbGxlZCA9IG5ldyBTdWJqZWN0PFIgfCB1bmRlZmluZWQ+KCk7XG5cbiAgcHJpdmF0ZSBfcmVzdWx0OiBSIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9zdGF0ZTogT3ZlcmxheVN0YXRlID0gT1ZFUkxBWV9TVEFURS5PUEVOO1xuXG4gIF9jbG9zZUludGVyYWN0aW9uVHlwZTogRm9jdXNPcmlnaW4gfCB1bmRlZmluZWQ7XG4gIF9pc0VzY0Nsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgPSBmYWxzZTtcbiAgX2lzQmFja2Ryb3BDbG9zZUNvbnRyb2xsZWRFeHRlcm5hbGx5ID0gZmFsc2U7XG4gIF9pc0Nsb3NlRm5DbG9zZUNvbnRyb2xsZWRFeHRlcm5hbGx5ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZUNsb3NlRnJvbUludGVybmFsSW5pdGlhdG9ycyA9IG5ldyBTZXQ8c3RyaW5nIHwgbnVtYmVyPigpO1xuXG4gIGdldCBfaW50ZXJuYWxEaXNhYmxlQ2xvc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVDbG9zZUZyb21JbnRlcm5hbEluaXRpYXRvcnMuc2l6ZSA+IDA7XG4gIH1cblxuICBnZXQgX2Nka1JlZigpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVmOiBDZGtEaWFsb2dSZWY8UiwgVD4sXG4gICAgY29uZmlnOiBPdmVybGF5Q29uZmlnLFxuICAgIHB1YmxpYyBfY29udGFpbmVySW5zdGFuY2U6IE92ZXJsYXlDb250YWluZXJDb21wb25lbnQsXG4gICkge1xuICAgIHRoaXMuZGlzYWJsZUNsb3NlID0gY29uZmlnLmRpc2FibGVDbG9zZTtcbiAgICB0aGlzLmlkID0gX3JlZi5pZDtcblxuICAgIF9jb250YWluZXJJbnN0YW5jZS5fYW5pbWF0ZWRMaWZlY3ljbGUuc3RhdGUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgPT09ICdlbnRlcmVkJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYWZ0ZXJPcGVuZWQubmV4dCgpO1xuICAgICAgICB0aGlzLl9hZnRlck9wZW5lZC5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG5cbiAgICBfY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlLnN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50ID09PSAnbGVmdCcpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2ZpbmlzaE92ZXJsYXlDbG9zZSgpO1xuICAgICAgfSk7XG5cbiAgICBfcmVmLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlQ2xvc2VkLm5leHQodGhpcy5fcmVzdWx0KTtcbiAgICAgIHRoaXMuX2JlZm9yZUNsb3NlZC5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fZmluaXNoT3ZlcmxheUNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGljaygpLFxuICAgICAgdGhpcy5rZXlkb3duRXZlbnRzKCkucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmICF0aGlzLmRpc2FibGVDbG9zZSAmJiAhaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSxcbiAgICAgICksXG4gICAgKVxuICAgICAgLnBpcGUoc2tpcFVudGlsKF9jb250YWluZXJJbnN0YW5jZS5fYW5pbWF0ZWRMaWZlY3ljbGUuc3RhdGUkLnBpcGUoZmlsdGVyKChlKSA9PiBlID09PSAnZW50ZXJpbmcnKSkpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLl9pc0VzY0Nsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgJiYgZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKSB8fFxuICAgICAgICAgICh0aGlzLl9pc0JhY2tkcm9wQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSAmJiBldmVudC50eXBlICE9PSAna2V5ZG93bicpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlQ2xvc2UgJiYgIXRoaXMuX2ludGVybmFsRGlzYWJsZUNsb3NlKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9jbG9zZU92ZXJsYXlWaWEoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nID8gJ2tleWJvYXJkJyA6ICdtb3VzZScsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2UocmVzdWx0PzogUiwgZm9yY2U/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSBPVkVSTEFZX1NUQVRFLkNMT1NJTkcgfHwgdGhpcy5fc3RhdGUgPT09IE9WRVJMQVlfU1RBVEUuQ0xPU0VEKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvc2VDYWxsZWQubmV4dChyZXN1bHQpO1xuXG4gICAgaWYgKHRoaXMuX2lzQ2xvc2VGbkNsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgJiYgIWZvcmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcmVzdWx0ID0gcmVzdWx0O1xuXG4gICAgdGhpcy5fY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlLnN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50ID09PSAnbGVhdmluZycpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlZC5uZXh0KHJlc3VsdCk7XG4gICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlZC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLl9yZWYub3ZlcmxheVJlZi5kZXRhY2hCYWNrZHJvcCgpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLl9jb250YWluZXJJbnN0YW5jZS5fYW5pbWF0ZWRMaWZlY3ljbGUuc3RhdGUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgPT09ICdsZWZ0JyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX2ZpbmlzaE92ZXJsYXlDbG9zZSgpKTtcblxuICAgIHRoaXMuX3N0YXRlID0gT1ZFUkxBWV9TVEFURS5DTE9TSU5HO1xuICAgIHRoaXMuX2NvbnRhaW5lckluc3RhbmNlLl9hbmltYXRlZExpZmVjeWNsZS5sZWF2ZSgpO1xuICB9XG5cbiAgYWZ0ZXJPcGVuZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyT3BlbmVkO1xuICB9XG5cbiAgYWZ0ZXJDbG9zZWQoKTogT2JzZXJ2YWJsZTxSIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZi5jbG9zZWQ7XG4gIH1cblxuICBiZWZvcmVDbG9zZWQoKTogT2JzZXJ2YWJsZTxSIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2JlZm9yZUNsb3NlZDtcbiAgfVxuXG4gIGJhY2tkcm9wQ2xpY2soKTogT2JzZXJ2YWJsZTxNb3VzZUV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZi5iYWNrZHJvcENsaWNrO1xuICB9XG5cbiAga2V5ZG93bkV2ZW50cygpOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVmLmtleWRvd25FdmVudHM7XG4gIH1cblxuICBjbG9zZUNhbGxlZCgpOiBPYnNlcnZhYmxlPFIgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VDYWxsZWQ7XG4gIH1cblxuICB1cGRhdGVQb3NpdGlvbihwb3NpdGlvbj86IE92ZXJsYXlQb3NpdGlvbik6IHRoaXMge1xuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5fcmVmLmNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5IGFzIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgICBpZiAocG9zaXRpb24gJiYgKHBvc2l0aW9uLmxlZnQgfHwgcG9zaXRpb24ucmlnaHQpKSB7XG4gICAgICBwb3NpdGlvbi5sZWZ0ID8gc3RyYXRlZ3kubGVmdChwb3NpdGlvbi5sZWZ0KSA6IHN0cmF0ZWd5LnJpZ2h0KHBvc2l0aW9uLnJpZ2h0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RyYXRlZ3kuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgaWYgKHBvc2l0aW9uICYmIChwb3NpdGlvbi50b3AgfHwgcG9zaXRpb24uYm90dG9tKSkge1xuICAgICAgcG9zaXRpb24udG9wID8gc3RyYXRlZ3kudG9wKHBvc2l0aW9uLnRvcCkgOiBzdHJhdGVneS5ib3R0b20ocG9zaXRpb24uYm90dG9tKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RyYXRlZ3kuY2VudGVyVmVydGljYWxseSgpO1xuICAgIH1cblxuICAgIHRoaXMuX3JlZi51cGRhdGVQb3NpdGlvbigpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICB1cGRhdGVTaXplKHdpZHRoID0gJycsIGhlaWdodCA9ICcnKTogdGhpcyB7XG4gICAgdGhpcy5fcmVmLnVwZGF0ZVNpemUod2lkdGgsIGhlaWdodCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRQYW5lbENsYXNzKGNsYXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgdGhpcy5fcmVmLmFkZFBhbmVsQ2xhc3MoY2xhc3Nlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICByZW1vdmVQYW5lbENsYXNzKGNsYXNzZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgdGhpcy5fcmVmLnJlbW92ZVBhbmVsQ2xhc3MoY2xhc3Nlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBnZXRTdGF0ZSgpOiBPdmVybGF5U3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpbmlzaE92ZXJsYXlDbG9zZSgpIHtcbiAgICB0aGlzLl9zdGF0ZSA9IE9WRVJMQVlfU1RBVEUuQ0xPU0VEO1xuICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLl9yZXN1bHQsIHsgZm9jdXNPcmlnaW46IHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlIH0pO1xuICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSBudWxsO1xuICB9XG5cbiAgX2Nsb3NlT3ZlcmxheVZpYShpbnRlcmFjdGlvblR5cGU6IEZvY3VzT3JpZ2luLCByZXN1bHQ/OiBSLCBmb3JjZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9jbG9zZUludGVyYWN0aW9uVHlwZSA9IGludGVyYWN0aW9uVHlwZTtcbiAgICByZXR1cm4gdGhpcy5jbG9zZShyZXN1bHQsIGZvcmNlKTtcbiAgfVxuXG4gIF9hZGRJbnRlcm5hbEJhY2tkcm9wQ2xvc2VJbml0aWF0b3IoaW5pdGlhdG9ySWQ6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0aGlzLmRpc2FibGVDbG9zZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fZGlzYWJsZUNsb3NlRnJvbUludGVybmFsSW5pdGlhdG9ycy5hZGQoaW5pdGlhdG9ySWQpO1xuICB9XG5cbiAgX3JlbW92ZUludGVybmFsQmFja2Ryb3BDbG9zZUluaXRpYXRvcihpbml0aWF0b3JJZDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUNsb3NlKSByZXR1cm47XG5cbiAgICB0aGlzLl9kaXNhYmxlQ2xvc2VGcm9tSW50ZXJuYWxJbml0aWF0b3JzLmRlbGV0ZShpbml0aWF0b3JJZCk7XG4gIH1cbn1cbiJdfQ==
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXkvdXRpbHMvb3ZlcmxheS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFnRCxNQUFNLFVBQVUsQ0FBQztBQVF2Riw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLFVBQVU7SUFvQ3JCLElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLG1DQUFtQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFDVSxJQUF3QixFQUNoQyxNQUFxQixFQUNkLGtCQUE2QztRQUY1QyxTQUFJLEdBQUosSUFBSSxDQUFvQjtRQUV6Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBOUN0RCxzQkFBaUIsR0FBYSxJQUFJLENBQUM7UUFDMUIsaUJBQVksR0FBMkIsSUFBSSxDQUFDO1FBS3BDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQzdDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQTRCLENBQUM7UUFHaEUsV0FBTSxHQUFpQixhQUFhLENBQUMsSUFBSSxDQUFDO1FBT2xEOztXQUVHO1FBQ0gsb0NBQStCLEdBQUcsS0FBSyxDQUFDO1FBRXhDOztXQUVH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LElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELHFDQUFxQyxDQUFDLFdBQTRCO1FBQ2hFLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRTlCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgYXMgQ2RrRGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBFU0NBUEUsIGhhc01vZGlmaWVyS2V5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIGZpbHRlciwgbWVyZ2UsIHNraXBVbnRpbCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgT1ZFUkxBWV9TVEFURSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVBvc2l0aW9uLCBPdmVybGF5U3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgaW50ZXJmYWNlIE92ZXJsYXlDbG9zZUNhbGxFdmVudDxSID0gYW55PiB7XG4gIHJlc3VsdDogUiB8IHVuZGVmaW5lZDtcbiAgZm9yY2VkOiBib29sZWFuO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNsYXNzIE92ZXJsYXlSZWY8VCA9IGFueSwgUiA9IGFueT4ge1xuICBjb21wb25lbnRJbnN0YW5jZTogVCB8IG51bGwgPSBudWxsO1xuICByZWFkb25seSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxUPiB8IG51bGwgPSBudWxsO1xuICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgaWQ6IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlck9wZW5lZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2JlZm9yZUNsb3NlZCA9IG5ldyBTdWJqZWN0PFIgfCB1bmRlZmluZWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Nsb3NlQ2FsbGVkID0gbmV3IFN1YmplY3Q8T3ZlcmxheUNsb3NlQ2FsbEV2ZW50PFI+PigpO1xuXG4gIHByaXZhdGUgX3Jlc3VsdDogUiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfc3RhdGU6IE92ZXJsYXlTdGF0ZSA9IE9WRVJMQVlfU1RBVEUuT1BFTjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfY2xvc2VJbnRlcmFjdGlvblR5cGU6IEZvY3VzT3JpZ2luIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9pc0VzY0Nsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgPSBmYWxzZTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfaXNCYWNrZHJvcENsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgPSBmYWxzZTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBfaXNDbG9zZUZuQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVDbG9zZUZyb21JbnRlcm5hbEluaXRpYXRvcnMgPSBuZXcgU2V0PHN0cmluZyB8IG51bWJlcj4oKTtcblxuICBnZXQgX2ludGVybmFsRGlzYWJsZUNsb3NlKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlQ2xvc2VGcm9tSW50ZXJuYWxJbml0aWF0b3JzLnNpemUgPiAwO1xuICB9XG5cbiAgZ2V0IF9jZGtSZWYoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3JlZjogQ2RrRGlhbG9nUmVmPFIsIFQ+LFxuICAgIGNvbmZpZzogT3ZlcmxheUNvbmZpZyxcbiAgICBwdWJsaWMgX2NvbnRhaW5lckluc3RhbmNlOiBPdmVybGF5Q29udGFpbmVyQ29tcG9uZW50LFxuICApIHtcbiAgICB0aGlzLmRpc2FibGVDbG9zZSA9IGNvbmZpZy5kaXNhYmxlQ2xvc2U7XG4gICAgdGhpcy5pZCA9IF9yZWYuaWQ7XG5cbiAgICBfY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlLnN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50ID09PSAnZW50ZXJlZCcpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2FmdGVyT3BlbmVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fYWZ0ZXJPcGVuZWQuY29tcGxldGUoKTtcbiAgICAgIH0pO1xuXG4gICAgX2NvbnRhaW5lckluc3RhbmNlLl9hbmltYXRlZExpZmVjeWNsZS5zdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCA9PT0gJ2xlZnQnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9maW5pc2hPdmVybGF5Q2xvc2UoKTtcbiAgICAgIH0pO1xuXG4gICAgX3JlZi5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX2JlZm9yZUNsb3NlZC5uZXh0KHRoaXMuX3Jlc3VsdCk7XG4gICAgICB0aGlzLl9iZWZvcmVDbG9zZWQuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2ZpbmlzaE92ZXJsYXlDbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgbWVyZ2UoXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2soKSxcbiAgICAgIHRoaXMua2V5ZG93bkV2ZW50cygpLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LmtleUNvZGUgPT09IEVTQ0FQRSAmJiAhdGhpcy5kaXNhYmxlQ2xvc2UgJiYgIWhhc01vZGlmaWVyS2V5KGV2ZW50KSksXG4gICAgICApLFxuICAgIClcbiAgICAgIC5waXBlKHNraXBVbnRpbChfY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlLnN0YXRlJC5waXBlKGZpbHRlcigoZSkgPT4gZSA9PT0gJ2VudGVyaW5nJykpKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAodGhpcy5faXNFc2NDbG9zZUNvbnRyb2xsZWRFeHRlcm5hbGx5ICYmIGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJykgfHxcbiAgICAgICAgICAodGhpcy5faXNCYWNrZHJvcENsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgJiYgZXZlbnQudHlwZSAhPT0gJ2tleWRvd24nKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZUNsb3NlICYmICF0aGlzLl9pbnRlcm5hbERpc2FibGVDbG9zZSkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5fY2xvc2VPdmVybGF5VmlhKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyA/ICdrZXlib2FyZCcgOiAnbW91c2UnLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGNsb3NlKHJlc3VsdD86IFIsIGZvcmNlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gT1ZFUkxBWV9TVEFURS5DTE9TSU5HIHx8IHRoaXMuX3N0YXRlID09PSBPVkVSTEFZX1NUQVRFLkNMT1NFRCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlQ2FsbGVkLm5leHQoeyByZXN1bHQsIGZvcmNlZDogZm9yY2UgPz8gZmFsc2UgfSk7XG5cbiAgICBpZiAodGhpcy5faXNDbG9zZUZuQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSAmJiAhZm9yY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZXN1bHQgPSByZXN1bHQ7XG5cbiAgICB0aGlzLl9jb250YWluZXJJbnN0YW5jZS5fYW5pbWF0ZWRMaWZlY3ljbGUuc3RhdGUkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgPT09ICdsZWF2aW5nJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYmVmb3JlQ2xvc2VkLm5leHQocmVzdWx0KTtcbiAgICAgICAgdGhpcy5fYmVmb3JlQ2xvc2VkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX3JlZi5vdmVybGF5UmVmLmRldGFjaEJhY2tkcm9wKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX2NvbnRhaW5lckluc3RhbmNlLl9hbmltYXRlZExpZmVjeWNsZS5zdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCA9PT0gJ2xlZnQnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZmluaXNoT3ZlcmxheUNsb3NlKCkpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSBPVkVSTEFZX1NUQVRFLkNMT1NJTkc7XG4gICAgdGhpcy5fY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGVkTGlmZWN5Y2xlLmxlYXZlKCk7XG4gIH1cblxuICBhZnRlck9wZW5lZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWZ0ZXJPcGVuZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBhZnRlckNsb3NlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmLmNsb3NlZDtcbiAgfVxuXG4gIGJlZm9yZUNsb3NlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2VkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYmFja2Ryb3BDbGljaygpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmLmJhY2tkcm9wQ2xpY2s7XG4gIH1cblxuICBrZXlkb3duRXZlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLl9yZWYua2V5ZG93bkV2ZW50cztcbiAgfVxuXG4gIGNsb3NlQ2FsbGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZUNhbGxlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uPzogT3ZlcmxheVBvc2l0aW9uKTogdGhpcyB7XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLl9yZWYuY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgR2xvYmFsUG9zaXRpb25TdHJhdGVneTtcblxuICAgIGlmIChwb3NpdGlvbiAmJiAocG9zaXRpb24ubGVmdCB8fCBwb3NpdGlvbi5yaWdodCkpIHtcbiAgICAgIHBvc2l0aW9uLmxlZnQgPyBzdHJhdGVneS5sZWZ0KHBvc2l0aW9uLmxlZnQpIDogc3RyYXRlZ3kucmlnaHQocG9zaXRpb24ucmlnaHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHJhdGVneS5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gJiYgKHBvc2l0aW9uLnRvcCB8fCBwb3NpdGlvbi5ib3R0b20pKSB7XG4gICAgICBwb3NpdGlvbi50b3AgPyBzdHJhdGVneS50b3AocG9zaXRpb24udG9wKSA6IHN0cmF0ZWd5LmJvdHRvbShwb3NpdGlvbi5ib3R0b20pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHJhdGVneS5jZW50ZXJWZXJ0aWNhbGx5KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHVwZGF0ZVNpemUod2lkdGggPSAnJywgaGVpZ2h0ID0gJycpOiB0aGlzIHtcbiAgICB0aGlzLl9yZWYudXBkYXRlU2l6ZSh3aWR0aCwgaGVpZ2h0KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFkZFBhbmVsQ2xhc3MoY2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9yZWYuYWRkUGFuZWxDbGFzcyhjbGFzc2VzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHJlbW92ZVBhbmVsQ2xhc3MoY2xhc3Nlczogc3RyaW5nIHwgc3RyaW5nW10pOiB0aGlzIHtcbiAgICB0aGlzLl9yZWYucmVtb3ZlUGFuZWxDbGFzcyhjbGFzc2VzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGdldFN0YXRlKCk6IE92ZXJsYXlTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmluaXNoT3ZlcmxheUNsb3NlKCkge1xuICAgIHRoaXMuX3N0YXRlID0gT1ZFUkxBWV9TVEFURS5DTE9TRUQ7XG4gICAgdGhpcy5fcmVmLmNsb3NlKHRoaXMuX3Jlc3VsdCwgeyBmb2N1c09yaWdpbjogdGhpcy5fY2xvc2VJbnRlcmFjdGlvblR5cGUgfSk7XG4gICAgdGhpcy5jb21wb25lbnRJbnN0YW5jZSA9IG51bGw7XG4gIH1cblxuICBfY2xvc2VPdmVybGF5VmlhKGludGVyYWN0aW9uVHlwZTogRm9jdXNPcmlnaW4sIHJlc3VsdD86IFIsIGZvcmNlPzogYm9vbGVhbikge1xuICAgIHRoaXMuX2Nsb3NlSW50ZXJhY3Rpb25UeXBlID0gaW50ZXJhY3Rpb25UeXBlO1xuICAgIHJldHVybiB0aGlzLmNsb3NlKHJlc3VsdCwgZm9yY2UpO1xuICB9XG5cbiAgX2FkZEludGVybmFsQmFja2Ryb3BDbG9zZUluaXRpYXRvcihpbml0aWF0b3JJZDogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZUNsb3NlKSByZXR1cm47XG5cbiAgICB0aGlzLl9kaXNhYmxlQ2xvc2VGcm9tSW50ZXJuYWxJbml0aWF0b3JzLmFkZChpbml0aWF0b3JJZCk7XG4gIH1cblxuICBfcmVtb3ZlSW50ZXJuYWxCYWNrZHJvcENsb3NlSW5pdGlhdG9yKGluaXRpYXRvcklkOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlQ2xvc2UpIHJldHVybjtcblxuICAgIHRoaXMuX2Rpc2FibGVDbG9zZUZyb21JbnRlcm5hbEluaXRpYXRvcnMuZGVsZXRlKGluaXRpYXRvcklkKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import { ESCAPE } from '@angular/cdk/keycodes';
2
2
  import { assertInInjectionContext, inject, isDevMode } from '@angular/core';
3
3
  import { createDestroy, equal } from '@ethlete/core';
4
- import { Observable, filter, from, map, merge, of, switchMap, takeUntil, tap } from 'rxjs';
4
+ import { Observable, filter, finalize, from, map, merge, of, switchMap, takeUntil, tap } from 'rxjs';
5
5
  import { OverlayRef } from '../components';
6
6
  /**
7
7
  * A utility function to enhance the ux of overlays containing forms.
@@ -39,7 +39,7 @@ export const createOverlayDismissChecker = (config) => {
39
39
  }
40
40
  }
41
41
  if (checkCloseCall) {
42
- eventStreams.push(overlayRef.closeCalled());
42
+ eventStreams.push(overlayRef.closeCalled().pipe(filter((e) => !e.forced), map((e) => e.result)));
43
43
  }
44
44
  const sub = merge(...eventStreams)
45
45
  .pipe(switchMap((eventOrResult) => {
@@ -86,8 +86,12 @@ export const createOverlayDismissChecker = (config) => {
86
86
  }));
87
87
  }));
88
88
  }
89
- }), takeUntil(destroy$))
89
+ }), takeUntil(destroy$), finalize(() => {
90
+ overlayRef._isBackdropCloseControlledExternally = false;
91
+ overlayRef._isEscCloseControlledExternally = false;
92
+ overlayRef._isCloseFnCloseControlledExternally = false;
93
+ }))
90
94
  .subscribe();
91
95
  return sub;
92
96
  };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1kaXNtaXNzLWNoZWNrZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L3V0aWxzL292ZXJsYXktZGlzbWlzcy1jaGVja2VyLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBNkQzQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUN6QyxNQUE0QyxFQUM1QyxFQUFFO0lBQ0Ysd0JBQXdCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUV0RCxNQUFNLEVBQ0osSUFBSSxFQUNKLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQ2pDLGFBQWEsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEVBQ3pFLGNBQWMsR0FDZixHQUFHLE1BQU0sQ0FBQztJQUVYLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7SUFDL0QsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7SUFD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QU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNyZWF0ZURlc3Ryb3ksIGVxdWFsIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIGZyb20sIG1hcCwgbWVyZ2UsIG9mLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZU92ZXJsYXlEaXNtaXNzQ2hlY2tlckNvbmZpZzxUIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sPiA9IHtcbiAgLyoqXG4gICAqIFRoZSBmb3JtIHRvIGNoZWNrIGZvciBjaGFuZ2VzXG4gICAqL1xuICBmb3JtOiBUO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSB0byBjb21wYXJlIHRoZSBjdXJyZW50IGZvcm0gdmFsdWUgdG9cbiAgICpcbiAgICogQGRlZmF1bHQgZm9ybS5nZXRSYXdWYWx1ZSgpXG4gICAqL1xuICBkZWZhdWx0VmFsdWU/OiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnRzIHRoYXQgc2hvdWxkIHRyaWdnZXIgdGhlIGRpc21pc3MgY2hlY2tcbiAgICpcbiAgICogQGRlZmF1bHQgeyBiYWNrZHJvcENsaWNrOiB0cnVlLCBlc2NhcGVLZXk6IHRydWUsIGNsb3NlQ2FsbDogdHJ1ZSB9XG4gICAqL1xuICBkaXNtaXNzRXZlbnRzPzoge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGJhY2tkcm9wIGNsaWNrIHNob3VsZCB0cmlnZ2VyIHRoZSBkaXNtaXNzIGNoZWNrXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgYmFja2Ryb3BDbGljaz86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBlc2NhcGUga2V5IHNob3VsZCB0cmlnZ2VyIHRoZSBkaXNtaXNzIGNoZWNrXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgZXNjYXBlS2V5PzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNsb3NlIGNhbGwgc2hvdWxkIHRyaWdnZXIgdGhlIGRpc21pc3MgY2hlY2suXG4gICAgICogKGUuZy4gYG92ZXJsYXlSZWYuY2xvc2UoKWApXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgY2xvc2VDYWxsPzogYm9vbGVhbjtcbiAgfTtcblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCB3aGVuIHRoZSBjdXJyZW50IGZvcm0gdmFsdWUgaXMgbm90IGVxdWFsIHRvIHRoZSBkZWZhdWx0IHZhbHVlLlxuICAgKiBVc2UgdGhpcyB0byBzaG93IGEgY29uZmlybWF0aW9uIGRpYWxvZyBvciBzaW1pbGFyLlxuICAgKlxuICAgKiBAZXhhbXBsZSBTaG93IGEgY29uZmlybWF0aW9uIGRpYWxvZzpcbiAgICogYGBgdHNcbiAgICogKCkgPT4gdGhpcy5vdmVybGF5U2VydmljZVxuICAgKiAgIC5zaG93KFNvbWVDb25maXJtYXRpb25Db21wb25lbnQpXG4gICAqICAgLmFmdGVyQ2xvc2VkKClcbiAgICogICAucGlwZShtYXAoKHJlc3VsdCkgPT4gISFyZXN1bHQ/LmNvbmZpcm1lZCkpXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gdiBUaGUgY3VycmVudCBmb3JtIHZhbHVlXG4gICAqL1xuICBkaXNtaXNzQ2hlY2tGbjogKHY6IFJldHVyblR5cGU8VFsnZ2V0UmF3VmFsdWUnXT4pID0+IHVua25vd24gfCBQcm9taXNlPHVua25vd24+IHwgT2JzZXJ2YWJsZTx1bmtub3duPjtcbn07XG5cbi8qKlxuICogQSB1dGlsaXR5IGZ1bmN0aW9uIHRvIGVuaGFuY2UgdGhlIHV4IG9mIG92ZXJsYXlzIGNvbnRhaW5pbmcgZm9ybXMuXG4gKiBJdCBjYW4gcHJldmVudCB0aGUgdXNlciBmcm9tIGFjY2lkZW50YWxseSBjbG9zaW5nIHRoZSBvdmVybGF5IHdoZW4gdGhlIGZvcm0gdmFsdWUgaXMgbm90IGVxdWFsIHRvIHRoZSBkZWZhdWx0IHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlT3ZlcmxheURpc21pc3NDaGVja2VyID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnRyb2w+KFxuICBjb25maWc6IENyZWF0ZU92ZXJsYXlEaXNtaXNzQ2hlY2tlckNvbmZpZzxUPixcbikgPT4ge1xuICBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoY3JlYXRlT3ZlcmxheURpc21pc3NDaGVja2VyKTtcblxuICBjb25zdCB7XG4gICAgZm9ybSxcbiAgICBkZWZhdWx0VmFsdWUgPSBmb3JtLmdldFJhd1ZhbHVlKCksXG4gICAgZGlzbWlzc0V2ZW50cyA9IHsgYmFja2Ryb3BDbGljazogdHJ1ZSwgZXNjYXBlS2V5OiB0cnVlLCBjbG9zZUNhbGw6IHRydWUgfSxcbiAgICBkaXNtaXNzQ2hlY2tGbixcbiAgfSA9IGNvbmZpZztcblxuICBjb25zdCBjaGVja0JhY2tkcm9wQ2xpY2sgPSBkaXNtaXNzRXZlbnRzLmJhY2tkcm9wQ2xpY2sgPz8gdHJ1ZTtcbiAgY29uc3QgY2hlY2tFc2NhcGVLZXkgPSBkaXNtaXNzRXZlbnRzLmVzY2FwZUtleSA/PyB0cnVlO1xuICBjb25zdCBjaGVja0Nsb3NlQ2FsbCA9IGRpc21pc3NFdmVudHMuY2xvc2VDYWxsID8/IHRydWU7XG5cbiAgaWYgKCFjaGVja0JhY2tkcm9wQ2xpY2sgJiYgIWNoZWNrRXNjYXBlS2V5ICYmICFjaGVja0Nsb3NlQ2FsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQXQgbGVhc3Qgb25lIGRpc21pc3MgZXZlbnQgbXVzdCBiZSBlbmFibGVkJyk7XG4gIH1cblxuICBjb25zdCBkZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgY29uc3Qgb3ZlcmxheVJlZiA9IGluamVjdChPdmVybGF5UmVmKTtcblxuICBvdmVybGF5UmVmLl9pc0JhY2tkcm9wQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSA9IGNoZWNrQmFja2Ryb3BDbGljaztcbiAgb3ZlcmxheVJlZi5faXNFc2NDbG9zZUNvbnRyb2xsZWRFeHRlcm5hbGx5ID0gY2hlY2tFc2NhcGVLZXk7XG4gIG92ZXJsYXlSZWYuX2lzQ2xvc2VGbkNsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgPSBjaGVja0Nsb3NlQ2FsbDtcblxuICBjb25zdCBldmVudFN0cmVhbXM6IE9ic2VydmFibGU8dW5rbm93bj5bXSA9IFtdO1xuXG4gIGlmIChjaGVja0JhY2tkcm9wQ2xpY2spIHtcbiAgICBpZiAoIW92ZXJsYXlSZWYuZGlzYWJsZUNsb3NlKSB7XG4gICAgICBldmVudFN0cmVhbXMucHVzaChvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5waXBlKG1hcCgoKSA9PiAnbW91c2UnKSkpO1xuICAgIH0gZWxzZSBpZiAoaXNEZXZNb2RlKCkgJiYgZGlzbWlzc0V2ZW50cy5iYWNrZHJvcENsaWNrKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2Rpc21pc3NFdmVudHMuYmFja2Ryb3BDbGljayBiZWluZyBzZXQgdG8gdHJ1ZSBoYXMgbm8gZWZmZWN0IHdoZW4gb3ZlcmxheVJlZi5kaXNhYmxlQ2xvc2UgaXMgdHJ1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hlY2tFc2NhcGVLZXkpIHtcbiAgICBpZiAoIW92ZXJsYXlSZWYuZGlzYWJsZUNsb3NlKSB7XG4gICAgICBldmVudFN0cmVhbXMucHVzaChcbiAgICAgICAgb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUpLFxuICAgICAgICAgIG1hcCgoKSA9PiAna2V5Ym9hcmQnKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc0Rldk1vZGUoKSAmJiBkaXNtaXNzRXZlbnRzLmVzY2FwZUtleSkge1xuICAgICAgY29uc29sZS53YXJuKCdkaXNtaXNzRXZlbnRzLmVzY2FwZUtleSBiZWluZyBzZXQgdG8gdHJ1ZSBoYXMgbm8gZWZmZWN0IHdoZW4gb3ZlcmxheVJlZi5kaXNhYmxlQ2xvc2UgaXMgdHJ1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hlY2tDbG9zZUNhbGwpIHtcbiAgICBldmVudFN0cmVhbXMucHVzaChvdmVybGF5UmVmLmNsb3NlQ2FsbGVkKCkpO1xuICB9XG5cbiAgY29uc3Qgc3ViID0gbWVyZ2UoLi4uZXZlbnRTdHJlYW1zKVxuICAgIC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChldmVudE9yUmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzRGVmYXVsdEZvcm1WYWx1ZSA9IGVxdWFsKGZvcm0uZ2V0UmF3VmFsdWUoKSwgZGVmYXVsdFZhbHVlKTtcblxuICAgICAgICBpZiAoaXNEZWZhdWx0Rm9ybVZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGV2ZW50T3JSZXN1bHQpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgICBpZiAoZXZlbnRPclJlc3VsdCA9PT0gJ2tleWJvYXJkJyB8fCBldmVudE9yUmVzdWx0ID09PSAnbW91c2UnKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVJlZi5fY2xvc2VPdmVybGF5VmlhKGV2ZW50T3JSZXN1bHQsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVJlZi5jbG9zZShldmVudE9yUmVzdWx0LCB0cnVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZXZlbnRPclJlc3VsdCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHdhc0tleWJvYXJkID0gb3ZlcmxheVJlZi5fY2xvc2VJbnRlcmFjdGlvblR5cGUgPT09ICdrZXlib2FyZCc7XG4gICAgICAgICAgICAgIGNvbnN0IHdhc01vdXNlID0gb3ZlcmxheVJlZi5fY2xvc2VJbnRlcmFjdGlvblR5cGUgPT09ICdtb3VzZSc7XG5cbiAgICAgICAgICAgICAgaWYgKCh3YXNLZXlib2FyZCAmJiAhY2hlY2tFc2NhcGVLZXkpIHx8ICh3YXNNb3VzZSAmJiAhY2hlY2tCYWNrZHJvcENsaWNrKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAhb3ZlcmxheVJlZi5faW50ZXJuYWxEaXNhYmxlQ2xvc2U7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoZWNrUmVzcG9uc2UgPSBkaXNtaXNzQ2hlY2tGbihmb3JtLmdldFJhd1ZhbHVlKCkpO1xuXG4gICAgICAgICAgICAgIGxldCBuZXh0T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTx1bmtub3duPjtcblxuICAgICAgICAgICAgICBpZiAoY2hlY2tSZXNwb25zZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgICAgICBuZXh0T2JzZXJ2YWJsZSA9IGNoZWNrUmVzcG9uc2U7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tSZXNwb25zZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICBuZXh0T2JzZXJ2YWJsZSA9IGZyb20oY2hlY2tSZXNwb25zZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV4dE9ic2VydmFibGUgPSBvZihjaGVja1Jlc3BvbnNlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0T2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoY2hlY2tGblJlc3VsdCkgPT4gISFjaGVja0ZuUmVzdWx0KSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChldmVudE9yUmVzdWx0ID09PSAna2V5Ym9hcmQnIHx8IGV2ZW50T3JSZXN1bHQgPT09ICdtb3VzZScpIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVJlZi5fY2xvc2VPdmVybGF5VmlhKGV2ZW50T3JSZXN1bHQsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdmVybGF5UmVmLmNsb3NlKGV2ZW50T3JSZXN1bHQsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgIClcbiAgICAuc3Vic2NyaWJlKCk7XG5cbiAgcmV0dXJuIHN1Yjtcbn07XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1kaXNtaXNzLWNoZWNrZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9vdmVybGF5L3V0aWxzL292ZXJsYXktZGlzbWlzcy1jaGVja2VyLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQTZEM0M7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FDekMsTUFBNEMsRUFDNUMsRUFBRTtJQUNGLHdCQUF3QixDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFFdEQsTUFBTSxFQUNKLElBQUksRUFDSixZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUNqQyxhQUFhLEdBQUcsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUN6RSxjQUFjLEdBQ2YsR0FBRyxNQUFNLENBQUM7SUFFWCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO0lBQy9ELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxTQUFTLElBQUksSUFB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LElBQUksQ0FBQyxDQUFDO3FCQUN2QztnQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUNuQixRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ1osVUFBVSxDQUFDLG9DQUFvQyxHQUFHLEtBQUssQ0FBQztRQUN4RCxVQUFVLENBQUMsK0JBQStCLEdBQUcsS0FBSyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxtQ0FBbUMsR0FBRyxLQUFLLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQ0g7U0FDQSxTQUFTLEVBQUUsQ0FBQztJQUVmLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNyZWF0ZURlc3Ryb3ksIGVxdWFsIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIGZpbmFsaXplLCBmcm9tLCBtYXAsIG1lcmdlLCBvZiwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVPdmVybGF5RGlzbWlzc0NoZWNrZXJDb25maWc8VCBleHRlbmRzIEFic3RyYWN0Q29udHJvbD4gPSB7XG4gIC8qKlxuICAgKiBUaGUgZm9ybSB0byBjaGVjayBmb3IgY2hhbmdlc1xuICAgKi9cbiAgZm9ybTogVDtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgdG8gY29tcGFyZSB0aGUgY3VycmVudCBmb3JtIHZhbHVlIHRvXG4gICAqXG4gICAqIEBkZWZhdWx0IGZvcm0uZ2V0UmF3VmFsdWUoKVxuICAgKi9cbiAgZGVmYXVsdFZhbHVlPzogdW5rbm93bjtcblxuICAvKipcbiAgICogVGhlIGV2ZW50cyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBkaXNtaXNzIGNoZWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IHsgYmFja2Ryb3BDbGljazogdHJ1ZSwgZXNjYXBlS2V5OiB0cnVlLCBjbG9zZUNhbGw6IHRydWUgfVxuICAgKi9cbiAgZGlzbWlzc0V2ZW50cz86IHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBiYWNrZHJvcCBjbGljayBzaG91bGQgdHJpZ2dlciB0aGUgZGlzbWlzcyBjaGVja1xuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGJhY2tkcm9wQ2xpY2s/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZXNjYXBlIGtleSBzaG91bGQgdHJpZ2dlciB0aGUgZGlzbWlzcyBjaGVja1xuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGVzY2FwZUtleT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBjbG9zZSBjYWxsIHNob3VsZCB0cmlnZ2VyIHRoZSBkaXNtaXNzIGNoZWNrLlxuICAgICAqIChlLmcuIGBvdmVybGF5UmVmLmNsb3NlKClgKVxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGNsb3NlQ2FsbD86IGJvb2xlYW47XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgY3VycmVudCBmb3JtIHZhbHVlIGlzIG5vdCBlcXVhbCB0byB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICogVXNlIHRoaXMgdG8gc2hvdyBhIGNvbmZpcm1hdGlvbiBkaWFsb2cgb3Igc2ltaWxhci5cbiAgICpcbiAgICogQGV4YW1wbGUgU2hvdyBhIGNvbmZpcm1hdGlvbiBkaWFsb2c6XG4gICAqIGBgYHRzXG4gICAqICgpID0+IHRoaXMub3ZlcmxheVNlcnZpY2VcbiAgICogICAuc2hvdyhTb21lQ29uZmlybWF0aW9uQ29tcG9uZW50KVxuICAgKiAgIC5hZnRlckNsb3NlZCgpXG4gICAqICAgLnBpcGUobWFwKChyZXN1bHQpID0+ICEhcmVzdWx0Py5jb25maXJtZWQpKVxuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHYgVGhlIGN1cnJlbnQgZm9ybSB2YWx1ZVxuICAgKi9cbiAgZGlzbWlzc0NoZWNrRm46ICh2OiBSZXR1cm5UeXBlPFRbJ2dldFJhd1ZhbHVlJ10+KSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPiB8IE9ic2VydmFibGU8dW5rbm93bj47XG59O1xuXG4vKipcbiAqIEEgdXRpbGl0eSBmdW5jdGlvbiB0byBlbmhhbmNlIHRoZSB1eCBvZiBvdmVybGF5cyBjb250YWluaW5nIGZvcm1zLlxuICogSXQgY2FuIHByZXZlbnQgdGhlIHVzZXIgZnJvbSBhY2NpZGVudGFsbHkgY2xvc2luZyB0aGUgb3ZlcmxheSB3aGVuIHRoZSBmb3JtIHZhbHVlIGlzIG5vdCBlcXVhbCB0byB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyZWF0ZU92ZXJsYXlEaXNtaXNzQ2hlY2tlciA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb250cm9sPihcbiAgY29uZmlnOiBDcmVhdGVPdmVybGF5RGlzbWlzc0NoZWNrZXJDb25maWc8VD4sXG4pID0+IHtcbiAgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGNyZWF0ZU92ZXJsYXlEaXNtaXNzQ2hlY2tlcik7XG5cbiAgY29uc3Qge1xuICAgIGZvcm0sXG4gICAgZGVmYXVsdFZhbHVlID0gZm9ybS5nZXRSYXdWYWx1ZSgpLFxuICAgIGRpc21pc3NFdmVudHMgPSB7IGJhY2tkcm9wQ2xpY2s6IHRydWUsIGVzY2FwZUtleTogdHJ1ZSwgY2xvc2VDYWxsOiB0cnVlIH0sXG4gICAgZGlzbWlzc0NoZWNrRm4sXG4gIH0gPSBjb25maWc7XG5cbiAgY29uc3QgY2hlY2tCYWNrZHJvcENsaWNrID0gZGlzbWlzc0V2ZW50cy5iYWNrZHJvcENsaWNrID8/IHRydWU7XG4gIGNvbnN0IGNoZWNrRXNjYXBlS2V5ID0gZGlzbWlzc0V2ZW50cy5lc2NhcGVLZXkgPz8gdHJ1ZTtcbiAgY29uc3QgY2hlY2tDbG9zZUNhbGwgPSBkaXNtaXNzRXZlbnRzLmNsb3NlQ2FsbCA/PyB0cnVlO1xuXG4gIGlmICghY2hlY2tCYWNrZHJvcENsaWNrICYmICFjaGVja0VzY2FwZUtleSAmJiAhY2hlY2tDbG9zZUNhbGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBkaXNtaXNzIGV2ZW50IG11c3QgYmUgZW5hYmxlZCcpO1xuICB9XG5cbiAgY29uc3QgZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIGNvbnN0IG92ZXJsYXlSZWYgPSBpbmplY3QoT3ZlcmxheVJlZik7XG5cbiAgb3ZlcmxheVJlZi5faXNCYWNrZHJvcENsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgPSBjaGVja0JhY2tkcm9wQ2xpY2s7XG4gIG92ZXJsYXlSZWYuX2lzRXNjQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSA9IGNoZWNrRXNjYXBlS2V5O1xuICBvdmVybGF5UmVmLl9pc0Nsb3NlRm5DbG9zZUNvbnRyb2xsZWRFeHRlcm5hbGx5ID0gY2hlY2tDbG9zZUNhbGw7XG5cbiAgY29uc3QgZXZlbnRTdHJlYW1zOiBPYnNlcnZhYmxlPCdtb3VzZScgfCAna2V5Ym9hcmQnIHwgdW5rbm93bj5bXSA9IFtdO1xuXG4gIGlmIChjaGVja0JhY2tkcm9wQ2xpY2spIHtcbiAgICBpZiAoIW92ZXJsYXlSZWYuZGlzYWJsZUNsb3NlKSB7XG4gICAgICBldmVudFN0cmVhbXMucHVzaChvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5waXBlKG1hcCgoKSA9PiAnbW91c2UnKSkpO1xuICAgIH0gZWxzZSBpZiAoaXNEZXZNb2RlKCkgJiYgZGlzbWlzc0V2ZW50cy5iYWNrZHJvcENsaWNrKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2Rpc21pc3NFdmVudHMuYmFja2Ryb3BDbGljayBiZWluZyBzZXQgdG8gdHJ1ZSBoYXMgbm8gZWZmZWN0IHdoZW4gb3ZlcmxheVJlZi5kaXNhYmxlQ2xvc2UgaXMgdHJ1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hlY2tFc2NhcGVLZXkpIHtcbiAgICBpZiAoIW92ZXJsYXlSZWYuZGlzYWJsZUNsb3NlKSB7XG4gICAgICBldmVudFN0cmVhbXMucHVzaChcbiAgICAgICAgb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUpLFxuICAgICAgICAgIG1hcCgoKSA9PiAna2V5Ym9hcmQnKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChpc0Rldk1vZGUoKSAmJiBkaXNtaXNzRXZlbnRzLmVzY2FwZUtleSkge1xuICAgICAgY29uc29sZS53YXJuKCdkaXNtaXNzRXZlbnRzLmVzY2FwZUtleSBiZWluZyBzZXQgdG8gdHJ1ZSBoYXMgbm8gZWZmZWN0IHdoZW4gb3ZlcmxheVJlZi5kaXNhYmxlQ2xvc2UgaXMgdHJ1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY2hlY2tDbG9zZUNhbGwpIHtcbiAgICBldmVudFN0cmVhbXMucHVzaChcbiAgICAgIG92ZXJsYXlSZWYuY2xvc2VDYWxsZWQoKS5waXBlKFxuICAgICAgICBmaWx0ZXIoKGUpID0+ICFlLmZvcmNlZCksXG4gICAgICAgIG1hcCgoZSkgPT4gZS5yZXN1bHQpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc3ViID0gbWVyZ2UoLi4uZXZlbnRTdHJlYW1zKVxuICAgIC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChldmVudE9yUmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IGlzRGVmYXVsdEZvcm1WYWx1ZSA9IGVxdWFsKGZvcm0uZ2V0UmF3VmFsdWUoKSwgZGVmYXVsdFZhbHVlKTtcblxuICAgICAgICBpZiAoaXNEZWZhdWx0Rm9ybVZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGV2ZW50T3JSZXN1bHQpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICBzdWIudW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgICBpZiAoZXZlbnRPclJlc3VsdCA9PT0gJ2tleWJvYXJkJyB8fCBldmVudE9yUmVzdWx0ID09PSAnbW91c2UnKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVJlZi5fY2xvc2VPdmVybGF5VmlhKGV2ZW50T3JSZXN1bHQsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgb3ZlcmxheVJlZi5jbG9zZShldmVudE9yUmVzdWx0LCB0cnVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZXZlbnRPclJlc3VsdCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHdhc0tleWJvYXJkID0gb3ZlcmxheVJlZi5fY2xvc2VJbnRlcmFjdGlvblR5cGUgPT09ICdrZXlib2FyZCc7XG4gICAgICAgICAgICAgIGNvbnN0IHdhc01vdXNlID0gb3ZlcmxheVJlZi5fY2xvc2VJbnRlcmFjdGlvblR5cGUgPT09ICdtb3VzZSc7XG5cbiAgICAgICAgICAgICAgaWYgKCh3YXNLZXlib2FyZCAmJiAhY2hlY2tFc2NhcGVLZXkpIHx8ICh3YXNNb3VzZSAmJiAhY2hlY2tCYWNrZHJvcENsaWNrKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAhb3ZlcmxheVJlZi5faW50ZXJuYWxEaXNhYmxlQ2xvc2U7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoZWNrUmVzcG9uc2UgPSBkaXNtaXNzQ2hlY2tGbihmb3JtLmdldFJhd1ZhbHVlKCkpO1xuXG4gICAgICAgICAgICAgIGxldCBuZXh0T2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTx1bmtub3duPjtcblxuICAgICAgICAgICAgICBpZiAoY2hlY2tSZXNwb25zZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgICAgICBuZXh0T2JzZXJ2YWJsZSA9IGNoZWNrUmVzcG9uc2U7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tSZXNwb25zZSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICBuZXh0T2JzZXJ2YWJsZSA9IGZyb20oY2hlY2tSZXNwb25zZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV4dE9ic2VydmFibGUgPSBvZihjaGVja1Jlc3BvbnNlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0T2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoY2hlY2tGblJlc3VsdCkgPT4gISFjaGVja0ZuUmVzdWx0KSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChldmVudE9yUmVzdWx0ID09PSAna2V5Ym9hcmQnIHx8IGV2ZW50T3JSZXN1bHQgPT09ICdtb3VzZScpIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVJlZi5fY2xvc2VPdmVybGF5VmlhKGV2ZW50T3JSZXN1bHQsIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdmVybGF5UmVmLmNsb3NlKGV2ZW50T3JSZXN1bHQsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICBvdmVybGF5UmVmLl9pc0JhY2tkcm9wQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSA9IGZhbHNlO1xuICAgICAgICBvdmVybGF5UmVmLl9pc0VzY0Nsb3NlQ29udHJvbGxlZEV4dGVybmFsbHkgPSBmYWxzZTtcbiAgICAgICAgb3ZlcmxheVJlZi5faXNDbG9zZUZuQ2xvc2VDb250cm9sbGVkRXh0ZXJuYWxseSA9IGZhbHNlO1xuICAgICAgfSksXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoKTtcblxuICByZXR1cm4gc3ViO1xufTtcbiJdfQ==
@@ -5,7 +5,7 @@ import * as i0 from '@angular/core';
5
5
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, Directive, InjectionToken, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, computed, signal, Optional, Inject, Injectable, SkipSelf, HostListener, ViewContainerRef, EventEmitter, NgZone, isDevMode, Output, NgModule, ChangeDetectorRef, ViewChild, assertInInjectionContext, runInInjectionContext, TemplateRef, forwardRef, LOCALE_ID, numberAttribute, ViewChildren, Pipe, Renderer2, Attribute } from '@angular/core';
6
6
  import * as i1$2 from '@ethlete/core';
7
7
  import { LetDirective, createDestroy, ScrollObserverFirstElementDirective, ScrollObserverLastElementDirective, Memo, signalHostAttributes, signalHostClasses, AnimatedIfDirective, AnimatedLifecycleDirective, SmartBlockScrollStrategy, RouterStateService, ANIMATED_LIFECYCLE_TOKEN, nextFrame, RootBoundaryDirective, elementCanScroll, equal, ViewportService, ROOT_BOUNDARY_TOKEN, AnimatedOverlayDirective, ClickObserverService, FocusVisibleService, cloneFormGroup, getFormGroupValue, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, switchQueryListChanges, signalAttributes, ResizeObserverService, createFlipAnimation, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, ClickOutsideDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, inferMimeType, getElementVisibleStates, IS_ACTIVE_ELEMENT, IS_ELEMENT, CursorDragScrollDirective, ObserveScrollStateDirective, IsElementDirective, IsActiveElementDirective, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
8
- import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, Subject, filter, take, merge, skipUntil, defer, fromEvent, partition, debounceTime as debounceTime$1, Observable, from, distinctUntilChanged as distinctUntilChanged$1, withLatestFrom, skipWhile, catchError, throwError, timer, Subscription } from 'rxjs';
8
+ import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, Subject, filter, take, merge, skipUntil, defer, fromEvent, partition, debounceTime as debounceTime$1, Observable, from, finalize, distinctUntilChanged as distinctUntilChanged$1, withLatestFrom, skipWhile, catchError, throwError, timer, Subscription } from 'rxjs';
9
9
  import { trigger, state, style, transition, animate } from '@angular/animations';
10
10
  import { __decorate, __metadata } from 'tslib';
11
11
  import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
@@ -4499,8 +4499,17 @@ class OverlayRef {
4499
4499
  this._beforeClosed = new Subject();
4500
4500
  this._closeCalled = new Subject();
4501
4501
  this._state = OVERLAY_STATE.OPEN;
4502
+ /**
4503
+ * @internal
4504
+ */
4502
4505
  this._isEscCloseControlledExternally = false;
4506
+ /**
4507
+ * @internal
4508
+ */
4503
4509
  this._isBackdropCloseControlledExternally = false;
4510
+ /**
4511
+ * @internal
4512
+ */
4504
4513
  this._isCloseFnCloseControlledExternally = false;
4505
4514
  this._disableCloseFromInternalInitiators = new Set();
4506
4515
  this.disableClose = config.disableClose;
@@ -4538,7 +4547,7 @@ class OverlayRef {
4538
4547
  if (this._state === OVERLAY_STATE.CLOSING || this._state === OVERLAY_STATE.CLOSED) {
4539
4548
  return;
4540
4549
  }
4541
- this._closeCalled.next(result);
4550
+ this._closeCalled.next({ result, forced: force ?? false });
4542
4551
  if (this._isCloseFnCloseControlledExternally && !force) {
4543
4552
  return;
4544
4553
  }
@@ -4557,13 +4566,13 @@ class OverlayRef {
4557
4566
  this._containerInstance._animatedLifecycle.leave();
4558
4567
  }
4559
4568
  afterOpened() {
4560
- return this._afterOpened;
4569
+ return this._afterOpened.asObservable();
4561
4570
  }
4562
4571
  afterClosed() {
4563
4572
  return this._ref.closed;
4564
4573
  }
4565
4574
  beforeClosed() {
4566
- return this._beforeClosed;
4575
+ return this._beforeClosed.asObservable();
4567
4576
  }
4568
4577
  backdropClick() {
4569
4578
  return this._ref.backdropClick;
@@ -4572,7 +4581,7 @@ class OverlayRef {
4572
4581
  return this._ref.keydownEvents;
4573
4582
  }
4574
4583
  closeCalled() {
4575
- return this._closeCalled;
4584
+ return this._closeCalled.asObservable();
4576
4585
  }
4577
4586
  updatePosition(position) {
4578
4587
  const strategy = this._ref.config.positionStrategy;
@@ -5609,7 +5618,7 @@ const createOverlayDismissChecker = (config) => {
5609
5618
  }
5610
5619
  }
5611
5620
  if (checkCloseCall) {
5612
- eventStreams.push(overlayRef.closeCalled());
5621
+ eventStreams.push(overlayRef.closeCalled().pipe(filter((e) => !e.forced), map((e) => e.result)));
5613
5622
  }
5614
5623
  const sub = merge(...eventStreams)
5615
5624
  .pipe(switchMap((eventOrResult) => {
@@ -5656,7 +5665,11 @@ const createOverlayDismissChecker = (config) => {
5656
5665
  }));
5657
5666
  }));
5658
5667
  }
5659
- }), takeUntil(destroy$))
5668
+ }), takeUntil(destroy$), finalize(() => {
5669
+ overlayRef._isBackdropCloseControlledExternally = false;
5670
+ overlayRef._isEscCloseControlledExternally = false;
5671
+ overlayRef._isCloseFnCloseControlledExternally = false;
5672
+ }))
5660
5673
  .subscribe();
5661
5674
  return sub;
5662
5675
  };