@porscheinformatik/clr-addons 15.2.1 → 15.2.2

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.
@@ -9,6 +9,7 @@ export declare class ClrDropdownOverflowDirective implements AfterContentChecked
9
9
  readonly marginBottomRem = 0.1;
10
10
  private destroy$;
11
11
  private alreadyChecked;
12
+ private heightFix;
12
13
  constructor(elRef: ElementRef);
13
14
  ngAfterContentChecked(): void;
14
15
  ngOnDestroy(): void;
@@ -15,6 +15,7 @@ export class ClrDropdownOverflowDirective {
15
15
  this.marginBottomRem = 0.1;
16
16
  this.destroy$ = new Subject();
17
17
  this.alreadyChecked = false;
18
+ this.heightFix = 27;
18
19
  }
19
20
  ngAfterContentChecked() {
20
21
  // first trigger manually because the subscription lower only triggers after first change
@@ -44,8 +45,16 @@ export class ClrDropdownOverflowDirective {
44
45
  for (const item of this.getAllChildDropdownMenuItems()) {
45
46
  item.style.minHeight = itemMinHeightPx + 'px';
46
47
  }
48
+ let height = 0;
49
+ if (y + this.heightFix < window.innerHeight - y) {
50
+ height = window.innerHeight - y - this.heightFix;
51
+ }
52
+ else {
53
+ height = window.innerHeight - y;
54
+ }
47
55
  this.elRef.nativeElement.style.maxHeight =
48
- this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, window.innerHeight - y - this.convertRemToPixels(this.marginBottomRem)) + 'px';
56
+ this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, height - this.convertRemToPixels(this.marginBottomRem)) +
57
+ 'px';
49
58
  this.elRef.nativeElement.style.overflowY = 'auto';
50
59
  this.alreadyChecked = true;
51
60
  }
@@ -109,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
109
118
  type: ContentChildren,
110
119
  args: [ClrDropdown, { descendants: true }]
111
120
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xyLWRyb3Bkb3duLW92ZXJmbG93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2Ryb3Bkb3duL2Nsci1kcm9wZG93bi1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFZdkMsWUFBMkIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQU41Qiw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFFOUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFFZ0IsQ0FBQztJQUVoRCxxQkFBcUI7UUFDbkIseUZBQXlGO1FBQ3pGLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxFQUFFO1lBQ3hDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWdDLEVBQUUsRUFBRTtZQUNoSCwwR0FBMEc7WUFDMUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQywyQkFBMkIs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b3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJEcm9wZG93biB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ2Nsci1kcm9wZG93bi1tZW51JyB9KVxuZXhwb3J0IGNsYXNzIENsckRyb3Bkb3duT3ZlcmZsb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjbHJEcm9wZG93bk1lbnVNYXhIZWlnaHQ6IHN0cmluZyB8IG51bWJlcjsgLy8gY2FuIGJlIG9mIHB4LCByZW0sIHZoLCBvciBhIG51bWJlciAod2hpY2ggdGhlbiBpcyBjb25zaWRlcmVkIGFzIHB4IHZhbHVlKVxuICBASW5wdXQoKSBjbHJEcm9wZG93bk1lbnVJdGVtTWluSGVpZ2h0OiBzdHJpbmcgfCBudW1iZXI7IC8vIGNhbiBiZSBvZiBweCwgcmVtLCB2aCwgb3IgYSBudW1iZXIgKHdoaWNoIHRoZW4gaXMgY29uc2lkZXJlZCBhcyBweCB2YWx1ZSlcblxuICBAQ29udGVudENoaWxkcmVuKENsckRyb3Bkb3duLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHByaXZhdGUgbmVzdGVkRHJvcGRvd25DaGlsZHJlbjogUXVlcnlMaXN0PENsckRyb3Bkb3duPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEl0ZW1NaW5IZWlnaHRSZW0gPSAxLjU7XG4gIHB1YmxpYyByZWFkb25seSBtYXJnaW5Cb3R0b21SZW0gPSAwLjE7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgYWxyZWFkeUNoZWNrZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgLy8gZmlyc3QgdHJpZ2dlciBtYW51YWxseSBiZWNhdXNlIHRoZSBzdWJzY3JpcHRpb24gbG93ZXIgb25seSB0cmlnZ2VycyBhZnRlciBmaXJzdCBjaGFuZ2VcbiAgICBpZiAoIXRoaXMubmVzdGVkRHJvcGRvd25DaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFwcGx5RHJvcGRvd25PdmVyZmxvd1N0eWxlcygpO1xuICAgIH1cblxuICAgIHRoaXMubmVzdGVkRHJvcGRvd25DaGlsZHJlbi5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGNoaWxkcmVuOiBRdWVyeUxpc3Q8Q2xyRHJvcGRvd24+KSA9PiB7XG4gICAgICAvLyBpZiB0aGVyZSBhcmUgYW55IG5lc3RlZCBkcm9wZG93bnMsIG91ciBvdmVyZmxvdyBmaXggcHJldmVudHMgdGhvc2UgZnJvbSBzaG93aW5nIGFuZCBuZWVkcyB0byBiZSByZW1vdmVkXG4gICAgICBpZiAoIWNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hcHBseURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLnJlbW92ZURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlEcm9wZG93bk92ZXJmbG93U3R5bGVzKCk6IHZvaWQge1xuICAgIC8vIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbiBvZiBvdXIgZWxlbWVudCBpbiB0aGUgY3VycmVudCB3aW5kb3dcbiAgICBjb25zdCB5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnk7XG4gICAgaWYgKHkgIT09IDAgJiYgIXRoaXMuYWxyZWFkeUNoZWNrZWQpIHtcbiAgICAgIGNvbnN0IGl0ZW1NaW5IZWlnaHRQeCA9IHRoaXMuZ2V0SXRlbU1pbkhlaWdodCh0aGlzLmNsckRyb3Bkb3duTWVudUl0ZW1NaW5IZWlnaHQpO1xuICAgICAgLy8gc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzIyNzU0MzE1L2Zvci1sb29wLWZvci1odG1sY29sbGVjdGlvbi1lbGVtZW50c1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZ2V0QWxsQ2hpbGREcm9wZG93bk1lbnVJdGVtcygpKSB7XG4gICAgICAgIGl0ZW0uc3R5bGUubWluSGVpZ2h0ID0gaXRlbU1pbkhlaWdodFB4ICsgJ3B4JztcbiAgICAgIH1cbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPVxuICAgICAgICB0aGlzLmdldE1lbnVNYXhIZWlnaHQoXG4gICAgICAgICAgdGhpcy5jbHJEcm9wZG93bk1lbnVNYXhIZWlnaHQsXG4gICAgICAgICAgd2luZG93LmlubmVySGVpZ2h0IC0geSAtIHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHRoaXMubWFyZ2luQm90dG9tUmVtKVxuICAgICAgICApICsgJ3B4JztcbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5vdmVyZmxvd1kgPSAnYXV0byc7XG4gICAgICB0aGlzLmFscmVhZHlDaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuZ2V0QWxsQ2hpbGREcm9wZG93bk1lbnVJdGVtcygpKSB7XG4gICAgICBpdGVtLnN0eWxlLm1pbkhlaWdodCA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm1heEhlaWdodCA9IG51bGw7XG4gICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm92ZXJmbG93WSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbENoaWxkRHJvcGRvd25NZW51SXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdkcm9wZG93bi1pdGVtJyk7XG4gIH1cblxuICBwcml2YXRlIGdldE1lbnVNYXhIZWlnaHQobWVudU1heEhlaWdodFByb3ZpZGVkOiBzdHJpbmcgfCBudW1iZXIsIG1lbnVNYXhIZWlnaHRQeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAobWVudU1heEhlaWdodFByb3ZpZGVkKSB7XG4gICAgICBjb25zdCBtYXhIZWlnaHRQeCA9IHRoaXMuY29udmVydFRvUGl4ZWxzKG1lbnVNYXhIZWlnaHRQcm92aWRlZCk7XG4gICAgICByZXR1cm4gbWF4SGVpZ2h0UHggPiBtZW51TWF4SGVpZ2h0UHggPyBtZW51TWF4SGVpZ2h0UHggOiBtYXhIZWlnaHRQeDtcbiAgICB9XG4gICAgcmV0dXJuIG1lbnVNYXhIZWlnaHRQeDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbU1pbkhlaWdodChpdGVtTWluSGVpZ2h0UHJvdmlkZWQ6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKGl0ZW1NaW5IZWlnaHRQcm92aWRlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udmVydFRvUGl4ZWxzKGl0ZW1NaW5IZWlnaHRQcm92aWRlZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnZlcnRSZW1Ub1BpeGVscyh0aGlzLmRlZmF1bHRJdGVtTWluSGVpZ2h0UmVtKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvUGl4ZWxzKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAodmFsdWUuZW5kc1dpdGgoJ3B4JykpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgncHgnLCAnJykpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZS5lbmRzV2l0aCgncmVtJykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgncmVtJywgJycpKSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmVuZHNXaXRoKCd2aCcpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnRWaFRvUGl4ZWxzKHBhcnNlRmxvYXQodmFsdWUucmVwbGFjZSgndmgnLCAnJykpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0UmVtVG9QaXhlbHMocmVtOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiByZW0gKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRWaFRvUGl4ZWxzKHZoOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHB4UGVyVmhVbml0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMTAwO1xuICAgIHJldHVybiB2aCAqIHB4UGVyVmhVbml0O1xuICB9XG59XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xyLWRyb3Bkb3duLW92ZXJmbG93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2Ryb3Bkb3duL2Nsci1kcm9wZG93bi1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFFTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFhdkMsWUFBMkIsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQVA1Qiw0QkFBdUIsR0FBRyxHQUFHLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFFOUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztJQUV3QixDQUFDO0lBRWhELHFCQUFxQjtRQUNuQix5RkFBeUY7UUFDekYsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLEVBQUU7WUFDeEMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7U0FDcEM7UUFFRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBZ0MsRUFBRSxFQUFFO1lBQ2hILDBHQUEwRztZQUMxRyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFB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SmpCLDRCQUE0QjtrQkFEeEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRTtpR0FFakMsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFFdUQsc0JBQXNCO3NCQUFsRixlQUFlO3VCQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgUG9yc2NoZSBJbmZvcm1hdGlrLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckRyb3Bkb3duIH0gZnJvbSAnQGNsci9hbmd1bGFyJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnY2xyLWRyb3Bkb3duLW1lbnUnIH0pXG5leHBvcnQgY2xhc3MgQ2xyRHJvcGRvd25PdmVyZmxvd0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNsckRyb3Bkb3duTWVudU1heEhlaWdodDogc3RyaW5nIHwgbnVtYmVyOyAvLyBjYW4gYmUgb2YgcHgsIHJlbSwgdmgsIG9yIGEgbnVtYmVyICh3aGljaCB0aGVuIGlzIGNvbnNpZGVyZWQgYXMgcHggdmFsdWUpXG4gIEBJbnB1dCgpIGNsckRyb3Bkb3duTWVudUl0ZW1NaW5IZWlnaHQ6IHN0cmluZyB8IG51bWJlcjsgLy8gY2FuIGJlIG9mIHB4LCByZW0sIHZoLCBvciBhIG51bWJlciAod2hpY2ggdGhlbiBpcyBjb25zaWRlcmVkIGFzIHB4IHZhbHVlKVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyRHJvcGRvd24sIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgcHJpdmF0ZSBuZXN0ZWREcm9wZG93bkNoaWxkcmVuOiBRdWVyeUxpc3Q8Q2xyRHJvcGRvd24+O1xuXG4gIHB1YmxpYyByZWFkb25seSBkZWZhdWx0SXRlbU1pbkhlaWdodFJlbSA9IDEuNTtcbiAgcHVibGljIHJlYWRvbmx5IG1hcmdpbkJvdHRvbVJlbSA9IDAuMTtcblxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBhbHJlYWR5Q2hlY2tlZCA9IGZhbHNlO1xuICBwcml2YXRlIGhlaWdodEZpeCA9IDI3O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAvLyBmaXJzdCB0cmlnZ2VyIG1hbnVhbGx5IGJlY2F1c2UgdGhlIHN1YnNjcmlwdGlvbiBsb3dlciBvbmx5IHRyaWdnZXJzIGFmdGVyIGZpcnN0IGNoYW5nZVxuICAgIGlmICghdGhpcy5uZXN0ZWREcm9wZG93bkNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYXBwbHlEcm9wZG93bk92ZXJmbG93U3R5bGVzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5uZXN0ZWREcm9wZG93bkNoaWxkcmVuLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoY2hpbGRyZW46IFF1ZXJ5TGlzdDxDbHJEcm9wZG93bj4pID0+IHtcbiAgICAgIC8vIGlmIHRoZXJlIGFyZSBhbnkgbmVzdGVkIGRyb3Bkb3ducywgb3VyIG92ZXJmbG93IGZpeCBwcmV2ZW50cyB0aG9zZSBmcm9tIHNob3dpbmcgYW5kIG5lZWRzIHRvIGJlIHJlbW92ZWRcbiAgICAgIGlmICghY2hpbGRyZW4/Lmxlbmd0aCkge1xuICAgICAgICB0aGlzLmFwcGx5RHJvcGRvd25PdmVyZmxvd1N0eWxlcygpO1xuICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlRHJvcGRvd25PdmVyZmxvd1N0eWxlcygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseURyb3Bkb3duT3ZlcmZsb3dTdHlsZXMoKTogdm9pZCB7XG4gICAgLy8gdGhlIHZlcnRpY2FsIHBvc2l0aW9uIG9mIG91ciBlbGVtZW50IGluIHRoZSBjdXJyZW50IHdpbmRvd1xuICAgIGNvbnN0IHkgPSB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkueTtcbiAgICBpZiAoeSAhPT0gMCAmJiAhdGhpcy5hbHJlYWR5Q2hlY2tlZCkge1xuICAgICAgY29uc3QgaXRlbU1pbkhlaWdodFB4ID0gdGhpcy5nZXRJdGVtTWluSGVpZ2h0KHRoaXMuY2xyRHJvcGRvd25NZW51SXRlbU1pbkhlaWdodCk7XG4gICAgICAvLyBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjI3NTQzMTUvZm9yLWxvb3AtZm9yLWh0bWxjb2xsZWN0aW9uLWVsZW1lbnRzXG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5nZXRBbGxDaGlsZERyb3Bkb3duTWVudUl0ZW1zKCkpIHtcbiAgICAgICAgaXRlbS5zdHlsZS5taW5IZWlnaHQgPSBpdGVtTWluSGVpZ2h0UHggKyAncHgnO1xuICAgICAgfVxuICAgICAgbGV0IGhlaWdodCA9IDA7XG4gICAgICBpZiAoeSArIHRoaXMuaGVpZ2h0Rml4IDwgd2luZG93LmlubmVySGVpZ2h0IC0geSkge1xuICAgICAgICBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB5IC0gdGhpcy5oZWlnaHRGaXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB5O1xuICAgICAgfVxuXG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID1cbiAgICAgICAgdGhpcy5nZXRNZW51TWF4SGVpZ2h0KHRoaXMuY2xyRHJvcGRvd25NZW51TWF4SGVpZ2h0LCBoZWlnaHQgLSB0aGlzLmNvbnZlcnRSZW1Ub1BpeGVscyh0aGlzLm1hcmdpbkJvdHRvbVJlbSkpICtcbiAgICAgICAgJ3B4JztcblxuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLm92ZXJmbG93WSA9ICdhdXRvJztcbiAgICAgIHRoaXMuYWxyZWFkeUNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlRHJvcGRvd25PdmVyZmxvd1N0eWxlcygpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5nZXRBbGxDaGlsZERyb3Bkb3duTWVudUl0ZW1zKCkpIHtcbiAgICAgIGl0ZW0uc3R5bGUubWluSGVpZ2h0ID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID0gbnVsbDtcbiAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3dZID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsQ2hpbGREcm9wZG93bk1lbnVJdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2Ryb3Bkb3duLWl0ZW0nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWVudU1heEhlaWdodChtZW51TWF4SGVpZ2h0UHJvdmlkZWQ6IHN0cmluZyB8IG51bWJlciwgbWVudU1heEhlaWdodFB4OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmIChtZW51TWF4SGVpZ2h0UHJvdmlkZWQpIHtcbiAgICAgIGNvbnN0IG1heEhlaWdodFB4ID0gdGhpcy5jb252ZXJ0VG9QaXhlbHMobWVudU1heEhlaWdodFByb3ZpZGVkKTtcbiAgICAgIHJldHVybiBtYXhIZWlnaHRQeCA+IG1lbnVNYXhIZWlnaHRQeCA/IG1lbnVNYXhIZWlnaHRQeCA6IG1heEhlaWdodFB4O1xuICAgIH1cbiAgICByZXR1cm4gbWVudU1heEhlaWdodFB4O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtTWluSGVpZ2h0KGl0ZW1NaW5IZWlnaHRQcm92aWRlZDogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoaXRlbU1pbkhlaWdodFByb3ZpZGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0VG9QaXhlbHMoaXRlbU1pbkhlaWdodFByb3ZpZGVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udmVydFJlbVRvUGl4ZWxzKHRoaXMuZGVmYXVsdEl0ZW1NaW5IZWlnaHRSZW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9QaXhlbHModmFsdWU6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh2YWx1ZS5lbmRzV2l0aCgncHgnKSkge1xuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKCdweCcsICcnKSk7XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlLmVuZHNXaXRoKCdyZW0nKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb252ZXJ0UmVtVG9QaXhlbHMocGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKCdyZW0nLCAnJykpKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUuZW5kc1dpdGgoJ3ZoJykpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udmVydFZoVG9QaXhlbHMocGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKCd2aCcsICcnKSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRSZW1Ub1BpeGVscyhyZW06IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHJlbSAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFZoVG9QaXhlbHModmg6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgcHhQZXJWaFVuaXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAxMDA7XG4gICAgcmV0dXJuIHZoICogcHhQZXJWaFVuaXQ7XG4gIH1cbn1cbiJdfQ==
@@ -647,6 +647,7 @@ class ClrDropdownOverflowDirective {
647
647
  this.marginBottomRem = 0.1;
648
648
  this.destroy$ = new Subject();
649
649
  this.alreadyChecked = false;
650
+ this.heightFix = 27;
650
651
  }
651
652
  ngAfterContentChecked() {
652
653
  var _a;
@@ -677,8 +678,16 @@ class ClrDropdownOverflowDirective {
677
678
  for (const item of this.getAllChildDropdownMenuItems()) {
678
679
  item.style.minHeight = itemMinHeightPx + 'px';
679
680
  }
681
+ let height = 0;
682
+ if (y + this.heightFix < window.innerHeight - y) {
683
+ height = window.innerHeight - y - this.heightFix;
684
+ }
685
+ else {
686
+ height = window.innerHeight - y;
687
+ }
680
688
  this.elRef.nativeElement.style.maxHeight =
681
- this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, window.innerHeight - y - this.convertRemToPixels(this.marginBottomRem)) + 'px';
689
+ this.getMenuMaxHeight(this.clrDropdownMenuMaxHeight, height - this.convertRemToPixels(this.marginBottomRem)) +
690
+ 'px';
682
691
  this.elRef.nativeElement.style.overflowY = 'auto';
683
692
  this.alreadyChecked = true;
684
693
  }