@trudb/tru-common-lib 0.0.290 → 0.0.291

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.
@@ -7,10 +7,11 @@ export class TruMatSelectPanel {
7
7
  this.renderer = renderer;
8
8
  this.select = select;
9
9
  this.util = util;
10
- this.mouseEnterEvent = () => { };
11
- this.mouseLeaveEvent = () => { };
12
- this.mouseUpEvent = () => { };
13
- this.mouseOver = false;
10
+ this.documentMouseUpEventFn = () => { };
11
+ this.removeListeners = () => {
12
+ if (this.documentMouseUpEventFn)
13
+ this.documentMouseUpEventFn();
14
+ };
14
15
  }
15
16
  ngOnInit() {
16
17
  this.select.openedChange.subscribe(isOpen => {
@@ -22,23 +23,23 @@ export class TruMatSelectPanel {
22
23
  panelParentElement.style.width = 'auto';
23
24
  panelOverlayContainerElement.style.position = 'static';
24
25
  panelOverlayBackdropElement.style.display = 'none';
25
- this.mouseEnterEvent = this.renderer.listen(panelElement, 'mouseover', () => {
26
- this.mouseOver = true;
27
- });
28
- this.mouseLeaveEvent = this.renderer.listen(panelElement, 'mouseout', () => {
29
- this.mouseOver = false;
30
- });
31
- this.mouseUpEvent = this.renderer.listen(document, 'mouseup', () => {
32
- if (!this.mouseOver) {
33
- this.mouseEnterEvent();
34
- this.mouseLeaveEvent();
35
- this.mouseUpEvent();
36
- this.select.close();
26
+ this.documentMouseUpEventFn = this.renderer.listen(document, 'mouseup', (event) => {
27
+ if (event.target !== this.select.panel.nativeElement && event.button !== 2) {
28
+ this.removeListeners();
29
+ setTimeout(() => {
30
+ this.select.close();
31
+ });
37
32
  }
38
33
  });
39
34
  }
35
+ else {
36
+ this.removeListeners();
37
+ }
40
38
  });
41
39
  }
40
+ ngOnDestroy() {
41
+ this.removeListeners();
42
+ }
42
43
  }
43
44
  TruMatSelectPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruMatSelectPanel, deps: [{ token: i0.Renderer2 }, { token: i1.MatSelect }, { token: i2.TruUtil }], target: i0.ɵɵFactoryTarget.Directive });
44
45
  TruMatSelectPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruMatSelectPanel, selector: "[tru-mat-select-panel]", ngImport: i0 });
@@ -48,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
48
49
  selector: '[tru-mat-select-panel]'
49
50
  }]
50
51
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.MatSelect }, { type: i2.TruUtil }]; } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1hdC1zZWxlY3QtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvc2VsZWN0LXBhbmVsL3RydS1tYXQtc2VsZWN0LXBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzdELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDVSxRQUFtQixFQUNuQixNQUFpQixFQUNqQixJQUFhO1FBRmIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQVM7UUFFdkIsb0JBQWUsR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsb0JBQWUsR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsaUJBQVksR0FBZSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFckMsY0FBUyxHQUFZLEtBQUssQ0FBQztJQU5BLENBQUM7SUFRNUIsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ25ELElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztnQkFDcEUsSUFBSSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO2dCQUNoSCxJQUFJLDJCQUEyQixHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0Usa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ3hDLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2dCQUN2RCwyQkFBMkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFFbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRTtvQkFDMUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUU7b0JBQ3pFLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFO29CQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTt3QkFDbkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUN2QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzt3QkFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztxQkFDckI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7OEdBeENVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQgeyBUcnVVdGlsIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RydS11dGlsXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cnUtbWF0LXNlbGVjdC1wYW5lbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVNYXRTZWxlY3RQYW5lbCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBzZWxlY3Q6IE1hdFNlbGVjdCxcclxuICAgIHByaXZhdGUgdXRpbDogVHJ1VXRpbCkgeyB9XHJcblxyXG4gIG1vdXNlRW50ZXJFdmVudDogKCkgPT4gdm9pZCA9ICgpID0+IHsgfTtcclxuICBtb3VzZUxlYXZlRXZlbnQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcbiAgbW91c2VVcEV2ZW50OiAoKSA9PiB2b2lkID0gKCkgPT4geyB9O1xyXG5cclxuICBtb3VzZU92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdC5vcGVuZWRDaGFuZ2Uuc3Vic2NyaWJlKGlzT3BlbiA9PiB7XHJcbiAgICAgIGlmIChpc09wZW4pIHtcclxuICAgICAgICBsZXQgcGFuZWxFbGVtZW50ID0gdGhpcy5zZWxlY3QucGFuZWwubmF0aXZlRWxlbWVudDsgXHJcbiAgICAgICAgbGV0IHBhbmVsUGFyZW50RWxlbWVudCA9IHRoaXMuc2VsZWN0LnBhbmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcclxuICAgICAgICBsZXQgcGFuZWxPdmVybGF5Q29udGFpbmVyRWxlbWVudCA9IHRoaXMudXRpbC5maW5kQ2xvc2VzdEFuY2VzdG9yQnlDbGFzcyhwYW5lbEVsZW1lbnQsICcuY2RrLW92ZXJsYXktY29udGFpbmVyJyk7XHJcbiAgICAgICAgbGV0IHBhbmVsT3ZlcmxheUJhY2tkcm9wRWxlbWVudCA9IHBhbmVsT3ZlcmxheUNvbnRhaW5lckVsZW1lbnQuY2hpbGROb2Rlc1swXTtcclxuICAgICAgICBwYW5lbFBhcmVudEVsZW1lbnQuc3R5bGUud2lkdGggPSAnYXV0byc7XHJcbiAgICAgICAgcGFuZWxPdmVybGF5Q29udGFpbmVyRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdzdGF0aWMnO1xyXG4gICAgICAgIHBhbmVsT3ZlcmxheUJhY2tkcm9wRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG5cclxuICAgICAgICB0aGlzLm1vdXNlRW50ZXJFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhbmVsRWxlbWVudCwgJ21vdXNlb3ZlcicsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubW91c2VPdmVyID0gdHJ1ZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1vdXNlTGVhdmVFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHBhbmVsRWxlbWVudCwgJ21vdXNlb3V0JywgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tb3VzZU92ZXIgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1vdXNlVXBFdmVudCA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGRvY3VtZW50LCAnbW91c2V1cCcsICgpID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5tb3VzZU92ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5tb3VzZUVudGVyRXZlbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5tb3VzZUxlYXZlRXZlbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5tb3VzZVVwRXZlbnQoKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3QuY2xvc2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1LW1hdC1zZWxlY3QtcGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnUtY29tbW9uLWxpYi9zcmMvbGliL2RpcmVjdGl2ZXMvc2VsZWN0LXBhbmVsL3RydS1tYXQtc2VsZWN0LXBhbmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7O0FBTzdELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsWUFDVSxRQUFtQixFQUNuQixNQUFpQixFQUNqQixJQUFhO1FBRmIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQVM7UUFFdkIsMkJBQXNCLEdBQWUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXZDLG9CQUFlLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLHNCQUFzQjtnQkFDN0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEMsQ0FBQyxDQUFBO0lBUDBCLENBQUM7SUFTNUIsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMxQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7Z0JBQ25ELElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztnQkFDcEUsSUFBSSw0QkFBNEIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO2dCQUNoSCxJQUFJLDJCQUEyQixHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0Usa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7Z0JBQ3hDLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO2dCQUN2RCwyQkFBMkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztnQkFFbkQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUU7b0JBQzVGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7d0JBQzFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzt3QkFDdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUN0QixDQUFDLENBQUMsQ0FBQztxQkFDSjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUNJO2dCQUNILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7OEdBMUNVLGlCQUFpQjtrR0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQgeyBUcnVVdGlsIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RydS11dGlsXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1t0cnUtbWF0LXNlbGVjdC1wYW5lbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcnVNYXRTZWxlY3RQYW5lbCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBzZWxlY3Q6IE1hdFNlbGVjdCxcclxuICAgIHByaXZhdGUgdXRpbDogVHJ1VXRpbCkgeyB9XHJcblxyXG4gIGRvY3VtZW50TW91c2VVcEV2ZW50Rm46ICgpID0+IHZvaWQgPSAoKSA9PiB7IH07XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuZG9jdW1lbnRNb3VzZVVwRXZlbnRGbilcclxuICAgICAgdGhpcy5kb2N1bWVudE1vdXNlVXBFdmVudEZuKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VsZWN0Lm9wZW5lZENoYW5nZS5zdWJzY3JpYmUoaXNPcGVuID0+IHtcclxuICAgICAgaWYgKGlzT3Blbikge1xyXG4gICAgICAgIGxldCBwYW5lbEVsZW1lbnQgPSB0aGlzLnNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGxldCBwYW5lbFBhcmVudEVsZW1lbnQgPSB0aGlzLnNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICAgICAgbGV0IHBhbmVsT3ZlcmxheUNvbnRhaW5lckVsZW1lbnQgPSB0aGlzLnV0aWwuZmluZENsb3Nlc3RBbmNlc3RvckJ5Q2xhc3MocGFuZWxFbGVtZW50LCAnLmNkay1vdmVybGF5LWNvbnRhaW5lcicpO1xyXG4gICAgICAgIGxldCBwYW5lbE92ZXJsYXlCYWNrZHJvcEVsZW1lbnQgPSBwYW5lbE92ZXJsYXlDb250YWluZXJFbGVtZW50LmNoaWxkTm9kZXNbMF07XHJcbiAgICAgICAgcGFuZWxQYXJlbnRFbGVtZW50LnN0eWxlLndpZHRoID0gJ2F1dG8nO1xyXG4gICAgICAgIHBhbmVsT3ZlcmxheUNvbnRhaW5lckVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnc3RhdGljJztcclxuICAgICAgICBwYW5lbE92ZXJsYXlCYWNrZHJvcEVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuXHJcbiAgICAgICAgdGhpcy5kb2N1bWVudE1vdXNlVXBFdmVudEZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZG9jdW1lbnQsICdtb3VzZXVwJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSB0aGlzLnNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50ICYmIGV2ZW50LmJ1dHRvbiAhPT0gMikge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNlbGVjdC5jbG9zZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZUxpc3RlbmVycygpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1658,10 +1658,11 @@ class TruMatSelectPanel {
1658
1658
  this.renderer = renderer;
1659
1659
  this.select = select;
1660
1660
  this.util = util;
1661
- this.mouseEnterEvent = () => { };
1662
- this.mouseLeaveEvent = () => { };
1663
- this.mouseUpEvent = () => { };
1664
- this.mouseOver = false;
1661
+ this.documentMouseUpEventFn = () => { };
1662
+ this.removeListeners = () => {
1663
+ if (this.documentMouseUpEventFn)
1664
+ this.documentMouseUpEventFn();
1665
+ };
1665
1666
  }
1666
1667
  ngOnInit() {
1667
1668
  this.select.openedChange.subscribe(isOpen => {
@@ -1673,23 +1674,23 @@ class TruMatSelectPanel {
1673
1674
  panelParentElement.style.width = 'auto';
1674
1675
  panelOverlayContainerElement.style.position = 'static';
1675
1676
  panelOverlayBackdropElement.style.display = 'none';
1676
- this.mouseEnterEvent = this.renderer.listen(panelElement, 'mouseover', () => {
1677
- this.mouseOver = true;
1678
- });
1679
- this.mouseLeaveEvent = this.renderer.listen(panelElement, 'mouseout', () => {
1680
- this.mouseOver = false;
1681
- });
1682
- this.mouseUpEvent = this.renderer.listen(document, 'mouseup', () => {
1683
- if (!this.mouseOver) {
1684
- this.mouseEnterEvent();
1685
- this.mouseLeaveEvent();
1686
- this.mouseUpEvent();
1687
- this.select.close();
1677
+ this.documentMouseUpEventFn = this.renderer.listen(document, 'mouseup', (event) => {
1678
+ if (event.target !== this.select.panel.nativeElement && event.button !== 2) {
1679
+ this.removeListeners();
1680
+ setTimeout(() => {
1681
+ this.select.close();
1682
+ });
1688
1683
  }
1689
1684
  });
1690
1685
  }
1686
+ else {
1687
+ this.removeListeners();
1688
+ }
1691
1689
  });
1692
1690
  }
1691
+ ngOnDestroy() {
1692
+ this.removeListeners();
1693
+ }
1693
1694
  }
1694
1695
  TruMatSelectPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: TruMatSelectPanel, deps: [{ token: i0.Renderer2 }, { token: i1$4.MatSelect }, { token: TruUtil }], target: i0.ɵɵFactoryTarget.Directive });
1695
1696
  TruMatSelectPanel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.1", type: TruMatSelectPanel, selector: "[tru-mat-select-panel]", ngImport: i0 });