@cuby-ui/core 0.0.441 → 0.0.443

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.
@@ -3,5 +3,6 @@ export interface ChangePositionYParams {
3
3
  visibleTop: number;
4
4
  visibleBottom: number;
5
5
  dropdownHeight: number;
6
+ windowScrollY: number;
6
7
  }
7
8
  export type CuiDropdownOrientation = 'left' | 'right' | 'stretch';
@@ -3,6 +3,7 @@ import { Directive, ElementRef, EventEmitter, HostListener, inject, Input, Outpu
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { CUI_WINDOW } from '@cuby-ui/cdk';
5
5
  import { fromEvent } from 'rxjs';
6
+ import { cuiCheckFixedPosition } from '../../utils';
6
7
  import * as i0 from "@angular/core";
7
8
  export class CuiDropdownDirective {
8
9
  constructor() {
@@ -49,14 +50,16 @@ export class CuiDropdownDirective {
49
50
  this.destroyElementResizeObserver();
50
51
  }
51
52
  open() {
53
+ this.element.style.position = cuiCheckFixedPosition(this.target) ? 'fixed' : 'absolute';
52
54
  this.isOpen.set(true);
53
- this.container.append(this.backdrop);
55
+ this.container.append(this.backdrop, this.element);
54
56
  this.calculateDropdownPosition();
55
57
  this.isOpened.emit(true);
56
58
  }
57
59
  close() {
58
60
  this.isOpen.set(false);
59
61
  this.backdrop?.remove();
62
+ this.element?.remove();
60
63
  this.isOpened.emit(false);
61
64
  }
62
65
  initContainer() {
@@ -75,9 +78,7 @@ export class CuiDropdownDirective {
75
78
  this.element = this.document.createElement(this.DROPDOWN_SELECTOR);
76
79
  this.backdrop.style.position = 'fixed';
77
80
  this.backdrop.style.inset = '0';
78
- this.backdrop.append(this.element);
79
81
  this.element.style.top = '0';
80
- this.element.style.position = 'absolute';
81
82
  this.element.style.pointerEvents = 'auto';
82
83
  this.element.append(...content);
83
84
  this.initResizeObserver();
@@ -111,10 +112,11 @@ export class CuiDropdownDirective {
111
112
  const visibleTop = Math.max(targetRect.top, containerRect.top);
112
113
  const visibleBottom = Math.min(targetRect.bottom, containerRect.bottom);
113
114
  const dropdownHeight = this.element.offsetHeight;
115
+ const windowScrollY = !cuiCheckFixedPosition(this.target) ? this.window.scrollY : 0;
114
116
  const shouldListOpenAbove = clientHeight - visibleBottom < dropdownHeight;
115
117
  const shouldListAlignLeft = targetRect.left + dropdownHeight > clientWidth;
116
118
  const orientation = this.orientation ?? (shouldListAlignLeft ? 'left' : 'right');
117
- this.changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight });
119
+ this.changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight, windowScrollY });
118
120
  this.changePositionX(orientation, clientWidth, targetRect);
119
121
  this.element.style.visibility = 'visible';
120
122
  });
@@ -134,13 +136,13 @@ export class CuiDropdownDirective {
134
136
  this.element.style.left = `${targetRect.left}px`;
135
137
  }
136
138
  }
137
- changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight }) {
139
+ changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight, windowScrollY }) {
138
140
  const offset = this.SPACE_BETWEEN_TARGET_AND_LIST;
139
141
  if (shouldListOpenAbove) {
140
- this.element.style.top = `${this.window.scrollY + visibleTop - dropdownHeight - offset}px`;
142
+ this.element.style.top = `${windowScrollY + visibleTop - dropdownHeight - offset}px`;
141
143
  return;
142
144
  }
143
- this.element.style.top = `${this.window.scrollY + visibleBottom + offset}px`;
145
+ this.element.style.top = `${windowScrollY + visibleBottom + offset}px`;
144
146
  }
145
147
  findScrollableContainer(element) {
146
148
  let parent = element.parentElement;
@@ -177,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
177
179
  type: HostListener,
178
180
  args: ['document:click', ['$event']]
179
181
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFTakMsTUFBTSxPQUFPLG9CQUFvQjtJQW1DN0I7UUFsQ2lCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1QixrQ0FBNkIsR0FBRyxDQUFDLENBQUM7UUFDbEMsdUJBQWtCLEdBQUcsZUFBZSxDQUFDO1FBQ3JDLHNCQUFpQixHQUFHLGNBQWMsQ0FBQztRQVU3QyxnQkFBVyxHQUEyQixNQUFNLENBQUM7UUFHcEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFdEMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2Qiw4QkFBeUIsR0FBRyxHQUFTLEVBQUU7WUFDcEQsSUFBSSxD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QUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBeE5RLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQWdCVSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBSXhDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSVUsUUFBUTtzQkFEdkIsTUFBTTtnQkFvQkcsUUFBUTtzQkFEakIsWUFBWTt1QkFBQyxlQUFlO2dCQU1uQixPQUFPO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIGluamVjdCxcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgc2lnbmFsLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IENVSV9XSU5ET1cgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB0eXBlIHsgQ2hhbmdlUG9zaXRpb25ZUGFyYW1zLCBDdWlEcm9wZG93bk9yaWVudGF0aW9uIH0gZnJvbSAnLi9kcm9wZG93bi5pbnRlcmZhY2VzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbY3VpRHJvcGRvd25dJyxcclxuICAgIGV4cG9ydEFzOiAnY3VpRHJvcGRvd24nLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdyA9IGluamVjdChDVUlfV0lORE9XKTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IFNQQUNFX0JFVFdFRU5fVEFSR0VUX0FORF9MSVNUID0gNTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgQ09OVEFJTkVSX1NFTEVDVE9SID0gJ2N1aS1kcm9wZG93bnMnO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBEUk9QRE9XTl9TRUxFQ1RPUiA9ICdjdWktZHJvcGRvd24nO1xyXG5cclxuICAgIHByaXZhdGUgY29udGFpbmVyITogRWxlbWVudDtcclxuICAgIHByaXZhdGUgZWxlbWVudCE6IEhUTUxFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBiYWNrZHJvcCE6IEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlLCBhbGlhczogJ2N1aURyb3Bkb3duJyB9KVxyXG4gICAgcHVibGljIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIG9yaWVudGF0aW9uOiBDdWlEcm9wZG93bk9yaWVudGF0aW9uID0gJ2xlZnQnO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGlzT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNPcGVuID0gc2lnbmFsKGZhbHNlKTtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0VG9nZ2xlRXZlbnRMaXN0ZW5lciA9ICgpOiB2b2lkID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9O1xyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVzaXplT2JzZXJ2ZXIhOiBSZXNpemVPYnNlcnZlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICAgIHByb3RlY3RlZCBvblJlc2l6ZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5kb2N1bWVudC5lbGVtZW50c0Zyb21Qb2ludChldmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKTtcclxuICAgICAgICBjb25zdCBkb2VzRXhpc3QgPSBlbGVtZW50cy5zb21lKChlbGVtZW50KSA9PiB0aGlzLmVsZW1lbnQuY29udGFpbnMoZWxlbWVudCkpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy50YXJnZXQuY29udGFpbnModGFyZ2V0KSB8fCB0aGlzLmVsZW1lbnQuY29udGFpbnModGFyZ2V0KSB8fCBkb2VzRXhpc3QpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmluaXRDb250YWluZXIoKTtcclxuICAgICAgICB0aGlzLmluaXREcm9wZG93bigpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95RWxlbWVudFJlc2l6ZU9ic2VydmVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9wZW4oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZCh0aGlzLmJhY2tkcm9wKTtcclxuICAgICAgICB0aGlzLmNhbGN1bGF0ZURyb3Bkb3duUG9zaXRpb24oKTtcclxuICAgICAgICB0aGlzLmlzT3BlbmVkLmVtaXQodHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcD8ucmVtb3ZlKCk7XHJcbiAgICAgICAgdGhpcy5pc09wZW5lZC5lbWl0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXRDb250YWluZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignY3VpLWRpYWxvZ3MnKTtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3Rvcih0aGlzLkNPTlRBSU5FUl9TRUxFQ1RPUik7XHJcblxyXG4gICAgICAgIGlmIChjb250YWluZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSBjb250YWluZXI7XHJcblxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLkNPTlRBSU5FUl9TRUxFQ1RPUik7XHJcblxyXG4gICAgICAgIHJvb3Q/LmFmdGVyKHRoaXMuY29udGFpbmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGluaXREcm9wZG93bigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb250ZW50ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmNvbnRlbnQpLnJvb3ROb2RlcztcclxuXHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KHRoaXMuRFJPUERPV05fU0VMRUNUT1IpO1xyXG5cclxuICAgICAgICB0aGlzLmJhY2tkcm9wLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgICAgICB0aGlzLmJhY2tkcm9wLnN0eWxlLmluc2V0ID0gJzAnO1xyXG4gICAgICAgIHRoaXMuYmFja2Ryb3AuYXBwZW5kKHRoaXMuZWxlbWVudCk7XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS50b3AgPSAnMCc7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcclxuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdhdXRvJztcclxuICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKC4uLmNvbnRlbnQpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRSZXNpemVPYnNlcnZlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFRhcmdldEVsZW1lbnRMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgICAgICBmcm9tRXZlbnQodGhpcy50YXJnZXQsICdjbGljaycpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSh0aGlzLnRhcmdldFRvZ2dsZUV2ZW50TGlzdGVuZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFJlc2l6ZU9ic2VydmVyKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEcm9wZG93bllDb29yZGluYXRlSWZOZWVkZWQoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVzdHJveUVsZW1lbnRSZXNpemVPYnNlcnZlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEcm9wZG93bllDb29yZGluYXRlSWZOZWVkZWQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGlzdGFuY2VUb0JvdHRvbSA9XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b207XHJcblxyXG4gICAgICAgIGlmIChkaXN0YW5jZVRvQm90dG9tID49IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnRvcCA9IHBhcnNlRmxvYXQodGhpcy5lbGVtZW50LnN0eWxlLnRvcCkgKyBkaXN0YW5jZVRvQm90dG9tICsgJ3B4JztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFJlY3QgPSB0aGlzLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5maW5kU2Nyb2xsYWJsZUNvbnRhaW5lcih0aGlzLnRhcmdldCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aCB9ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHZpc2libGVUb3AgPSBNYXRoLm1heCh0YXJnZXRSZWN0LnRvcCwgY29udGFpbmVyUmVjdC50b3ApO1xyXG4gICAgICAgICAgICBjb25zdCB2aXNpYmxlQm90dG9tID0gTWF0aC5taW4odGFyZ2V0UmVjdC5ib3R0b20sIGNvbnRhaW5lclJlY3QuYm90dG9tKTtcclxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25IZWlnaHQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc2hvdWxkTGlzdE9wZW5BYm92ZSA9IGNsaWVudEhlaWdodCAtIHZpc2libGVCb3R0b20gPCBkcm9wZG93bkhlaWdodDtcclxuICAgICAgICAgICAgY29uc3Qgc2hvdWxkTGlzdEFsaWduTGVmdCA9IHRhcmdldFJlY3QubGVmdCArIGRyb3Bkb3duSGVpZ2h0ID4gY2xpZW50V2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IG9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbiA/PyAoc2hvdWxkTGlzdEFsaWduTGVmdCA/ICdsZWZ0JyA6ICdyaWdodCcpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQb3NpdGlvblkoeyBzaG91bGRMaXN0T3BlbkFib3ZlLCB2aXNpYmxlVG9wLCB2aXNpYmxlQm90dG9tLCBkcm9wZG93bkhlaWdodCB9KTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQb3NpdGlvblgob3JpZW50YXRpb24sIGNsaWVudFdpZHRoLCB0YXJnZXRSZWN0KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hhbmdlUG9zaXRpb25YKG9yaWVudGF0aW9uOiBzdHJpbmcsIGNsaWVudFdpZHRoOiBudW1iZXIsIHRhcmdldFJlY3Q6IERPTVJlY3QpOiB2b2lkIHtcclxuICAgICAgICBzd2l0Y2ggKG9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5sZWZ0ID0gJ2F1dG8nO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnJpZ2h0ID0gYCR7Y2xpZW50V2lkdGggLSB0YXJnZXRSZWN0LnJpZ2h0fXB4YDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSAnc3RyZXRjaCc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUubGVmdCA9IGAke3RhcmdldFJlY3QubGVmdH1weGA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUucmlnaHQgPSBgJHtjbGllbnRXaWR0aCAtIHRhcmdldFJlY3QucmlnaHR9cHhgO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnJpZ2h0ID0gJ2F1dG8nO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmxlZnQgPSBgJHt0YXJnZXRSZWN0LmxlZnR9cHhgO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uWSh7XHJcbiAgICAgICAgc2hvdWxkTGlzdE9wZW5BYm92ZSxcclxuICAgICAgICB2aXNpYmxlVG9wLFxyXG4gICAgICAgIHZpc2libGVCb3R0b20sXHJcbiAgICAgICAgZHJvcGRvd25IZWlnaHRcclxuICAgIH06IENoYW5nZVBvc2l0aW9uWVBhcmFtcyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1Q7XHJcblxyXG4gICAgICAgIGlmIChzaG91bGRMaXN0T3BlbkFib3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS50b3AgPSBgJHt0aGlzLndpbmRvdy5zY3JvbGxZICsgdmlzaWJsZVRvcCAtIGRyb3Bkb3duSGVpZ2h0IC0gb2Zmc2V0fXB4YDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS50b3AgPSBgJHt0aGlzLndpbmRvdy5zY3JvbGxZICsgdmlzaWJsZUJvdHRvbSArIG9mZnNldH1weGA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaW5kU2Nyb2xsYWJsZUNvbnRhaW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcclxuICAgICAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cclxuICAgICAgICB3aGlsZSAocGFyZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgb3ZlcmZsb3dZIH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKG92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8IG92ZXJmbG93WSA9PT0gJ3Njcm9sbCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuYm9keTtcclxuICAgIH1cclxufVxyXG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBT3BELE1BQU0sT0FBTyxvQkFBb0I7SUFtQzdCO1FBbENpQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFDLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUIsa0NBQTZCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLHVCQUFrQixHQUFHLGVBQWUsQ0FBQztRQUNyQyxzQkFBaUIsR0FBRyxjQUFjLENBQUM7UUFVN0MsZ0JBQVcsR0FBMkIsTUFBTSxDQUFDO1FBR3BDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXRDLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENB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QUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFdEQsSUFBSSxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDakQsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQztZQUVELE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQzlCLENBQUM7K0dBMU5RLG9CQUFvQjttR0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQWdCVSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7Z0JBSXhDLFdBQVc7c0JBRGpCLEtBQUs7Z0JBSVUsUUFBUTtzQkFEdkIsTUFBTTtnQkFvQkcsUUFBUTtzQkFEakIsWUFBWTt1QkFBQyxlQUFlO2dCQU1uQixPQUFPO3NCQURoQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSwgT25Jbml0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RMaXN0ZW5lcixcclxuICAgIGluamVjdCxcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgc2lnbmFsLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IENVSV9XSU5ET1cgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB0eXBlIHsgQ2hhbmdlUG9zaXRpb25ZUGFyYW1zLCBDdWlEcm9wZG93bk9yaWVudGF0aW9uIH0gZnJvbSAnLi9kcm9wZG93bi5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgY3VpQ2hlY2tGaXhlZFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjdWlEcm9wZG93bl0nLFxyXG4gICAgZXhwb3J0QXM6ICdjdWlEcm9wZG93bicsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlEcm9wZG93bkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93ID0gaW5qZWN0KENVSV9XSU5ET1cpO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1QgPSA1O1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBDT05UQUlORVJfU0VMRUNUT1IgPSAnY3VpLWRyb3Bkb3ducyc7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IERST1BET1dOX1NFTEVDVE9SID0gJ2N1aS1kcm9wZG93bic7XHJcblxyXG4gICAgcHJpdmF0ZSBjb250YWluZXIhOiBFbGVtZW50O1xyXG4gICAgcHJpdmF0ZSBlbGVtZW50ITogSFRNTEVsZW1lbnQ7XHJcbiAgICBwcml2YXRlIGJhY2tkcm9wITogSFRNTERpdkVsZW1lbnQ7XHJcblxyXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUsIGFsaWFzOiAnY3VpRHJvcGRvd24nIH0pXHJcbiAgICBwdWJsaWMgY29udGVudCE6IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgb3JpZW50YXRpb246IEN1aURyb3Bkb3duT3JpZW50YXRpb24gPSAnbGVmdCc7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc09wZW4gPSBzaWduYWwoZmFsc2UpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRUb2dnbGVFdmVudExpc3RlbmVyID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH07XHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZXNpemVPYnNlcnZlciE6IFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaW5pdFRhcmdldEVsZW1lbnRMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gICAgcHJvdGVjdGVkIG9uUmVzaXplKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgICBwcm90ZWN0ZWQgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSB0aGlzLmRvY3VtZW50LmVsZW1lbnRzRnJvbVBvaW50KGV2ZW50LmNsaWVudFgsIGV2ZW50LmNsaWVudFkpO1xyXG4gICAgICAgIGNvbnN0IGRvZXNFeGlzdCA9IGVsZW1lbnRzLnNvbWUoKGVsZW1lbnQpID0+IHRoaXMuZWxlbWVudC5jb250YWlucyhlbGVtZW50KSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnRhcmdldC5jb250YWlucyh0YXJnZXQpIHx8IHRoaXMuZWxlbWVudC5jb250YWlucyh0YXJnZXQpIHx8IGRvZXNFeGlzdCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaW5pdENvbnRhaW5lcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdERyb3Bkb3duKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3lFbGVtZW50UmVzaXplT2JzZXJ2ZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSBjdWlDaGVja0ZpeGVkUG9zaXRpb24odGhpcy50YXJnZXQpID8gJ2ZpeGVkJyA6ICdhYnNvbHV0ZSc7XHJcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFwcGVuZCh0aGlzLmJhY2tkcm9wLCB0aGlzLmVsZW1lbnQpO1xyXG4gICAgICAgIHRoaXMuY2FsY3VsYXRlRHJvcGRvd25Qb3NpdGlvbigpO1xyXG4gICAgICAgIHRoaXMuaXNPcGVuZWQuZW1pdCh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLmJhY2tkcm9wPy5yZW1vdmUoKTtcclxuICAgICAgICB0aGlzLmVsZW1lbnQ/LnJlbW92ZSgpO1xyXG4gICAgICAgIHRoaXMuaXNPcGVuZWQuZW1pdChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0Q29udGFpbmVyKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2N1aS1kaWFsb2dzJyk7XHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5kb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3IodGhpcy5DT05UQUlORVJfU0VMRUNUT1IpO1xyXG5cclxuICAgICAgICBpZiAoY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID0gY29udGFpbmVyO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGhpcy5DT05UQUlORVJfU0VMRUNUT1IpO1xyXG5cclxuICAgICAgICByb290Py5hZnRlcih0aGlzLmNvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0RHJvcGRvd24oKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5jb250ZW50KS5yb290Tm9kZXM7XHJcblxyXG4gICAgICAgIHRoaXMuYmFja2Ryb3AgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLkRST1BET1dOX1NFTEVDVE9SKTtcclxuXHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XHJcbiAgICAgICAgdGhpcy5iYWNrZHJvcC5zdHlsZS5pbnNldCA9ICcwJztcclxuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUudG9wID0gJzAnO1xyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdhdXRvJztcclxuICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKC4uLmNvbnRlbnQpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRSZXNpemVPYnNlcnZlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFRhcmdldEVsZW1lbnRMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgICAgICBmcm9tRXZlbnQodGhpcy50YXJnZXQsICdjbGljaycpLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZSh0aGlzLnRhcmdldFRvZ2dsZUV2ZW50TGlzdGVuZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5pdFJlc2l6ZU9ic2VydmVyKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEcm9wZG93bllDb29yZGluYXRlSWZOZWVkZWQoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGVzdHJveUVsZW1lbnRSZXNpemVPYnNlcnZlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEcm9wZG93bllDb29yZGluYXRlSWZOZWVkZWQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGlzdGFuY2VUb0JvdHRvbSA9XHJcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtIHRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b207XHJcblxyXG4gICAgICAgIGlmIChkaXN0YW5jZVRvQm90dG9tID49IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnRvcCA9IHBhcnNlRmxvYXQodGhpcy5lbGVtZW50LnN0eWxlLnRvcCkgKyBkaXN0YW5jZVRvQm90dG9tICsgJ3B4JztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNhbGN1bGF0ZURyb3Bkb3duUG9zaXRpb24oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFJlY3QgPSB0aGlzLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5maW5kU2Nyb2xsYWJsZUNvbnRhaW5lcih0aGlzLnRhcmdldCk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lclJlY3QgPSBjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aCB9ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHZpc2libGVUb3AgPSBNYXRoLm1heCh0YXJnZXRSZWN0LnRvcCwgY29udGFpbmVyUmVjdC50b3ApO1xyXG4gICAgICAgICAgICBjb25zdCB2aXNpYmxlQm90dG9tID0gTWF0aC5taW4odGFyZ2V0UmVjdC5ib3R0b20sIGNvbnRhaW5lclJlY3QuYm90dG9tKTtcclxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd25IZWlnaHQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgICAgICAgICBjb25zdCB3aW5kb3dTY3JvbGxZID0gIWN1aUNoZWNrRml4ZWRQb3NpdGlvbih0aGlzLnRhcmdldCkgPyB0aGlzLndpbmRvdy5zY3JvbGxZIDogMDtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZExpc3RPcGVuQWJvdmUgPSBjbGllbnRIZWlnaHQgLSB2aXNpYmxlQm90dG9tIDwgZHJvcGRvd25IZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHNob3VsZExpc3RBbGlnbkxlZnQgPSB0YXJnZXRSZWN0LmxlZnQgKyBkcm9wZG93bkhlaWdodCA+IGNsaWVudFdpZHRoO1xyXG4gICAgICAgICAgICBjb25zdCBvcmllbnRhdGlvbiA9IHRoaXMub3JpZW50YXRpb24gPz8gKHNob3VsZExpc3RBbGlnbkxlZnQgPyAnbGVmdCcgOiAncmlnaHQnKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb25ZKHsgc2hvdWxkTGlzdE9wZW5BYm92ZSwgdmlzaWJsZVRvcCwgdmlzaWJsZUJvdHRvbSwgZHJvcGRvd25IZWlnaHQsIHdpbmRvd1Njcm9sbFkgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb25YKG9yaWVudGF0aW9uLCBjbGllbnRXaWR0aCwgdGFyZ2V0UmVjdCk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uWChvcmllbnRhdGlvbjogc3RyaW5nLCBjbGllbnRXaWR0aDogbnVtYmVyLCB0YXJnZXRSZWN0OiBET01SZWN0KTogdm9pZCB7XHJcbiAgICAgICAgc3dpdGNoIChvcmllbnRhdGlvbikge1xyXG4gICAgICAgICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUubGVmdCA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5yaWdodCA9IGAke2NsaWVudFdpZHRoIC0gdGFyZ2V0UmVjdC5yaWdodH1weGA7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgJ3N0cmV0Y2gnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmxlZnQgPSBgJHt0YXJnZXRSZWN0LmxlZnR9cHhgO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnJpZ2h0ID0gYCR7Y2xpZW50V2lkdGggLSB0YXJnZXRSZWN0LnJpZ2h0fXB4YDtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5yaWdodCA9ICdhdXRvJztcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7dGFyZ2V0UmVjdC5sZWZ0fXB4YDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvblkoe1xyXG4gICAgICAgIHNob3VsZExpc3RPcGVuQWJvdmUsXHJcbiAgICAgICAgdmlzaWJsZVRvcCxcclxuICAgICAgICB2aXNpYmxlQm90dG9tLFxyXG4gICAgICAgIGRyb3Bkb3duSGVpZ2h0LFxyXG4gICAgICAgIHdpbmRvd1Njcm9sbFlcclxuICAgIH06IENoYW5nZVBvc2l0aW9uWVBhcmFtcyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1Q7XHJcblxyXG4gICAgICAgIGlmIChzaG91bGRMaXN0T3BlbkFib3ZlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS50b3AgPSBgJHt3aW5kb3dTY3JvbGxZICsgdmlzaWJsZVRvcCAtIGRyb3Bkb3duSGVpZ2h0IC0gb2Zmc2V0fXB4YDtcclxuXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS50b3AgPSBgJHt3aW5kb3dTY3JvbGxZICsgdmlzaWJsZUJvdHRvbSArIG9mZnNldH1weGA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaW5kU2Nyb2xsYWJsZUNvbnRhaW5lcihlbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcclxuICAgICAgICBsZXQgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cclxuICAgICAgICB3aGlsZSAocGFyZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgb3ZlcmZsb3dZIH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xyXG5cclxuICAgICAgICAgICAgaWYgKG92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8IG92ZXJmbG93WSA9PT0gJ3Njcm9sbCcpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuYm9keTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENoYW5nZVBvc2l0aW9uWVBhcmFtcyB7XG4gICAgc2hvdWxkTGlzdE9wZW5BYm92ZTogYm9vbGVhbjtcbiAgICB2aXNpYmxlVG9wOiBudW1iZXI7XG4gICAgdmlzaWJsZUJvdHRvbTogbnVtYmVyO1xuICAgIGRyb3Bkb3duSGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEN1aURyb3Bkb3duT3JpZW50YXRpb24gPSAnbGVmdCcgfCAncmlnaHQnIHwgJ3N0cmV0Y2gnO1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENoYW5nZVBvc2l0aW9uWVBhcmFtcyB7XG4gICAgc2hvdWxkTGlzdE9wZW5BYm92ZTogYm9vbGVhbjtcbiAgICB2aXNpYmxlVG9wOiBudW1iZXI7XG4gICAgdmlzaWJsZUJvdHRvbTogbnVtYmVyO1xuICAgIGRyb3Bkb3duSGVpZ2h0OiBudW1iZXI7XG4gICAgd2luZG93U2Nyb2xsWTogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDdWlEcm9wZG93bk9yaWVudGF0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdzdHJldGNoJztcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export function cuiCheckFixedPosition(element) {
2
+ return !!element && (isFixed(element) || cuiCheckFixedPosition(element.parentElement));
3
+ }
4
+ function isFixed(element) {
5
+ return element.ownerDocument.defaultView?.getComputedStyle(element).getPropertyValue('position') === 'fixed';
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stZml4ZWQtcG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2NoZWNrLWZpeGVkLXBvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxPQUE0QjtJQUM5RCxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7QUFDM0YsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLE9BQW9CO0lBQ2pDLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEtBQUssT0FBTyxDQUFDO0FBQ2pILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3VpQ2hlY2tGaXhlZFBvc2l0aW9uKGVsZW1lbnQ/OiBIVE1MRWxlbWVudCB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFlbGVtZW50ICYmIChpc0ZpeGVkKGVsZW1lbnQpIHx8IGN1aUNoZWNrRml4ZWRQb3NpdGlvbihlbGVtZW50LnBhcmVudEVsZW1lbnQpKTtcbn1cblxuZnVuY3Rpb24gaXNGaXhlZChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc/LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgncG9zaXRpb24nKSA9PT0gJ2ZpeGVkJztcbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from './format';
2
2
  export * from './miscellaneous';
3
3
  export * from './default-validators';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybWF0JztcbmV4cG9ydCAqIGZyb20gJy4vbWlzY2VsbGFuZW91cyc7XG5leHBvcnQgKiBmcm9tICcuL2RlZmF1bHQtdmFsaWRhdG9ycyc7XG4iXX0=
4
+ export * from './check-fixed-position';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQnO1xuZXhwb3J0ICogZnJvbSAnLi9taXNjZWxsYW5lb3VzJztcbmV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdC12YWxpZGF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2stZml4ZWQtcG9zaXRpb24nO1xuIl19
@@ -1688,6 +1688,13 @@ function cuiCreateDefaultValidators({ maxLength = 100, asyncDelay = 700 } = {})
1688
1688
  return validators;
1689
1689
  }
1690
1690
 
1691
+ function cuiCheckFixedPosition(element) {
1692
+ return !!element && (isFixed(element) || cuiCheckFixedPosition(element.parentElement));
1693
+ }
1694
+ function isFixed(element) {
1695
+ return element.ownerDocument.defaultView?.getComputedStyle(element).getPropertyValue('position') === 'fixed';
1696
+ }
1697
+
1691
1698
  /**
1692
1699
  * A component to display a tooltip
1693
1700
  */
@@ -2484,14 +2491,16 @@ class CuiDropdownDirective {
2484
2491
  this.destroyElementResizeObserver();
2485
2492
  }
2486
2493
  open() {
2494
+ this.element.style.position = cuiCheckFixedPosition(this.target) ? 'fixed' : 'absolute';
2487
2495
  this.isOpen.set(true);
2488
- this.container.append(this.backdrop);
2496
+ this.container.append(this.backdrop, this.element);
2489
2497
  this.calculateDropdownPosition();
2490
2498
  this.isOpened.emit(true);
2491
2499
  }
2492
2500
  close() {
2493
2501
  this.isOpen.set(false);
2494
2502
  this.backdrop?.remove();
2503
+ this.element?.remove();
2495
2504
  this.isOpened.emit(false);
2496
2505
  }
2497
2506
  initContainer() {
@@ -2510,9 +2519,7 @@ class CuiDropdownDirective {
2510
2519
  this.element = this.document.createElement(this.DROPDOWN_SELECTOR);
2511
2520
  this.backdrop.style.position = 'fixed';
2512
2521
  this.backdrop.style.inset = '0';
2513
- this.backdrop.append(this.element);
2514
2522
  this.element.style.top = '0';
2515
- this.element.style.position = 'absolute';
2516
2523
  this.element.style.pointerEvents = 'auto';
2517
2524
  this.element.append(...content);
2518
2525
  this.initResizeObserver();
@@ -2546,10 +2553,11 @@ class CuiDropdownDirective {
2546
2553
  const visibleTop = Math.max(targetRect.top, containerRect.top);
2547
2554
  const visibleBottom = Math.min(targetRect.bottom, containerRect.bottom);
2548
2555
  const dropdownHeight = this.element.offsetHeight;
2556
+ const windowScrollY = !cuiCheckFixedPosition(this.target) ? this.window.scrollY : 0;
2549
2557
  const shouldListOpenAbove = clientHeight - visibleBottom < dropdownHeight;
2550
2558
  const shouldListAlignLeft = targetRect.left + dropdownHeight > clientWidth;
2551
2559
  const orientation = this.orientation ?? (shouldListAlignLeft ? 'left' : 'right');
2552
- this.changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight });
2560
+ this.changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight, windowScrollY });
2553
2561
  this.changePositionX(orientation, clientWidth, targetRect);
2554
2562
  this.element.style.visibility = 'visible';
2555
2563
  });
@@ -2569,13 +2577,13 @@ class CuiDropdownDirective {
2569
2577
  this.element.style.left = `${targetRect.left}px`;
2570
2578
  }
2571
2579
  }
2572
- changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight }) {
2580
+ changePositionY({ shouldListOpenAbove, visibleTop, visibleBottom, dropdownHeight, windowScrollY }) {
2573
2581
  const offset = this.SPACE_BETWEEN_TARGET_AND_LIST;
2574
2582
  if (shouldListOpenAbove) {
2575
- this.element.style.top = `${this.window.scrollY + visibleTop - dropdownHeight - offset}px`;
2583
+ this.element.style.top = `${windowScrollY + visibleTop - dropdownHeight - offset}px`;
2576
2584
  return;
2577
2585
  }
2578
- this.element.style.top = `${this.window.scrollY + visibleBottom + offset}px`;
2586
+ this.element.style.top = `${windowScrollY + visibleBottom + offset}px`;
2579
2587
  }
2580
2588
  findScrollableContainer(element) {
2581
2589
  let parent = element.parentElement;
@@ -10462,5 +10470,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
10462
10470
  * Generated bundle index. Do not edit.
10463
10471
  */
10464
10472
 
10465
- export { AngularOutsideLoaderService, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_URL, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CuiAbstractTabsComponent, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityContextMenuTranslations, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorToolsService, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiVideoTool, CuiVisualViewportService, UTILITY_MODAL_SERVICE_TOKEN, cuiAuthInterceptor, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth, provideCuiEditorResourceUrl, provideCuiTabs };
10473
+ export { AngularOutsideLoaderService, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_URL, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CuiAbstractTabsComponent, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityContextMenuTranslations, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorToolsService, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploaderStatus, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiVideoTool, CuiVisualViewportService, UTILITY_MODAL_SERVICE_TOKEN, cuiAuthInterceptor, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, provideCuiAuth, provideCuiEditorResourceUrl, provideCuiTabs };
10466
10474
  //# sourceMappingURL=cuby-ui-core.mjs.map