@eui/components 18.2.11-snapshot-1741271032186 → 18.2.11-snapshot-1741774920243
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/directives/eui-tooltip/eui-tooltip.directive.d.ts.map +1 -1
- package/docs/components/EuiDropdownComponent.html +1 -1
- package/docs/dependencies.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/directives/eui-tooltip/container/eui-tooltip-container.component.mjs +3 -3
- package/esm2022/directives/eui-tooltip/eui-tooltip.directive.mjs +7 -2
- package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +6 -2
- package/esm2022/eui-dropdown/eui-dropdown.component.mjs +15 -13
- package/esm2022/eui-popover/eui-popover.component.mjs +6 -2
- package/esm2022/externals/eui-editor/eui-editor.component.mjs +33 -17
- package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
- package/eui-dropdown/eui-dropdown.component.d.ts +3 -1
- package/eui-dropdown/eui-dropdown.component.d.ts.map +1 -1
- package/eui-popover/eui-popover.component.d.ts.map +1 -1
- package/externals/eui-editor/eui-editor.component.d.ts +1 -0
- package/externals/eui-editor/eui-editor.component.d.ts.map +1 -1
- package/fesm2022/eui-components-directives.mjs +8 -3
- package/fesm2022/eui-components-directives.mjs.map +1 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs +5 -1
- package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2022/eui-components-eui-dropdown.mjs +14 -12
- package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
- package/fesm2022/eui-components-eui-popover.mjs +5 -1
- package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
- package/fesm2022/eui-components-externals-eui-editor.mjs +32 -16
- package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
- package/package.json +9 -9
@@ -1,12 +1,12 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { booleanAttribute, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, EventEmitter, Injectable, PLATFORM_ID, ContentChildren, ViewChild, Output, Inject, NgModule } from '@angular/core';
|
2
|
+
import { booleanAttribute, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, EventEmitter, Injectable, signal, PLATFORM_ID, ContentChildren, ViewChild, Output, Inject, NgModule } from '@angular/core';
|
3
3
|
import * as i1 from '@angular/common';
|
4
4
|
import { isPlatformBrowser, isPlatformServer, DOCUMENT, CommonModule } from '@angular/common';
|
5
5
|
import * as i2 from '@eui/components/eui-icon';
|
6
6
|
import { EuiIconModule } from '@eui/components/eui-icon';
|
7
7
|
import * as i1$1 from '@angular/cdk/overlay';
|
8
8
|
import { ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
|
9
|
-
import { Subject,
|
9
|
+
import { Subject, Subscription, fromEvent, takeUntil } from 'rxjs';
|
10
10
|
import { TemplatePortal } from '@angular/cdk/portal';
|
11
11
|
import * as i3 from '@angular/cdk/a11y';
|
12
12
|
import { ActiveDescendantKeyManager, A11yModule } from '@angular/cdk/a11y';
|
@@ -139,6 +139,7 @@ class EuiDropdownComponent {
|
|
139
139
|
this.euiDisabled = false;
|
140
140
|
this.expand = new EventEmitter();
|
141
141
|
this.trapFocusAutoCapture = true;
|
142
|
+
this.isOpened = signal(false);
|
142
143
|
this.mousePositionX = 0;
|
143
144
|
this.mousePositionY = 0;
|
144
145
|
this.initialScrollX = 0;
|
@@ -148,7 +149,6 @@ class EuiDropdownComponent {
|
|
148
149
|
this.overlayX = 'start';
|
149
150
|
this.overlayY = 'top';
|
150
151
|
this.destroy$ = new Subject();
|
151
|
-
this.isOpen$ = new BehaviorSubject(false);
|
152
152
|
this.scrollDispatcherSubscription = new Subscription();
|
153
153
|
this.keydownListenerSubscription = new Subscription();
|
154
154
|
this.euiDropdownItemsEventSubscriptions = [];
|
@@ -195,6 +195,8 @@ class EuiDropdownComponent {
|
|
195
195
|
/**
|
196
196
|
* Whether the eui-dropdown is open.
|
197
197
|
*
|
198
|
+
* @deprecated This property will be removed in the future. Use `isOpened` signal instead.
|
199
|
+
*
|
198
200
|
* @usageNotes
|
199
201
|
* ```html
|
200
202
|
* <eui-dropdown #dropdown>
|
@@ -204,12 +206,12 @@ class EuiDropdownComponent {
|
|
204
206
|
* @returns A boolean with value `true` when open, otherwise `false`.
|
205
207
|
*/
|
206
208
|
get isOpen() {
|
207
|
-
return this.
|
209
|
+
return this.isOpened();
|
208
210
|
}
|
209
211
|
onTriggerClicked(e) {
|
210
212
|
if (!e.target.querySelector('.disabled') &&
|
211
213
|
!e.target.querySelector(':disabled') &&
|
212
|
-
!this.
|
214
|
+
!this.isOpened()) {
|
213
215
|
if (this.isBlock) {
|
214
216
|
this.width = this.triggerRef.nativeElement.offsetWidth + 'px';
|
215
217
|
}
|
@@ -221,7 +223,7 @@ class EuiDropdownComponent {
|
|
221
223
|
onTriggerRightClicked(e) {
|
222
224
|
if (!e.target.querySelector('.disabled') &&
|
223
225
|
!e.target.querySelector(':disabled') &&
|
224
|
-
!this.
|
226
|
+
!this.isOpened()) {
|
225
227
|
if (this.isBlock) {
|
226
228
|
this.width = this.triggerRef.nativeElement.offsetWidth + 'px';
|
227
229
|
}
|
@@ -272,7 +274,7 @@ class EuiDropdownComponent {
|
|
272
274
|
this.origin = origin;
|
273
275
|
}
|
274
276
|
}
|
275
|
-
if (!this.
|
277
|
+
if (!this.isOpened()) {
|
276
278
|
this.scrollDispatcherSubscription = this.scrollDispatcher
|
277
279
|
.ancestorScrolled(this.origin)
|
278
280
|
.pipe(takeUntil(this.destroy$))
|
@@ -362,7 +364,7 @@ class EuiDropdownComponent {
|
|
362
364
|
this.activeDescendantKeyManager.setFirstItemActive();
|
363
365
|
}
|
364
366
|
this.createKeyboardHandlerSubscription();
|
365
|
-
this.
|
367
|
+
this.isOpened.set(true);
|
366
368
|
this.dropdownService.isDropdownOpen.emit(true);
|
367
369
|
}
|
368
370
|
}
|
@@ -370,7 +372,7 @@ class EuiDropdownComponent {
|
|
370
372
|
* Close a dropdown
|
371
373
|
*/
|
372
374
|
closeDropdown(recursively = false) {
|
373
|
-
this.
|
375
|
+
this.isOpened.set(false);
|
374
376
|
this.expand.emit(false);
|
375
377
|
this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {
|
376
378
|
euiDropdownItemsEventSubscription.unsubscribe();
|
@@ -401,7 +403,7 @@ class EuiDropdownComponent {
|
|
401
403
|
}
|
402
404
|
createKeyboardHandlerSubscription() {
|
403
405
|
this.keydownListenerSubscription = fromEvent(document, 'keydown').subscribe((event) => {
|
404
|
-
if (this.
|
406
|
+
if (this.isOpened()) {
|
405
407
|
if (event.code === 'Enter' &&
|
406
408
|
!this.hasTabNavigation &&
|
407
409
|
!this.activeDescendantKeyManager?.activeItem.elementRef?.nativeElement?.disabled) {
|
@@ -528,11 +530,11 @@ class EuiDropdownComponent {
|
|
528
530
|
}
|
529
531
|
}
|
530
532
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiDropdownComponent, deps: [{ token: i1$1.Overlay }, { token: i0.ViewContainerRef }, { token: i1$1.ScrollDispatcher }, { token: EuiDropdownService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: PLATFORM_ID }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
531
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: EuiDropdownComponent, selector: "eui-dropdown", inputs: { e2eAttr: "e2eAttr", tabIndex: "tabIndex", width: "width", position: "position", subDropdownPosition: "subDropdownPosition", isBlock: ["isBlock", "isBlock", booleanAttribute], isDropDownRightAligned: ["isDropDownRightAligned", "isDropDownRightAligned", booleanAttribute], hasClosedOnClickInside: ["hasClosedOnClickInside", "hasClosedOnClickInside", booleanAttribute], isLabelUpdatedFromSelectedItem: ["isLabelUpdatedFromSelectedItem", "isLabelUpdatedFromSelectedItem", booleanAttribute], isExpandOnHover: ["isExpandOnHover", "isExpandOnHover", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], isRightClickEnabled: ["isRightClickEnabled", "isRightClickEnabled", booleanAttribute], euiDisabled: ["euiDisabled", "euiDisabled", booleanAttribute] }, outputs: { expand: "expand" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euiDropdownItems", predicate: EuiDropdownItemComponent, descendants: true }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }], ngImport: i0, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\"\n (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"
|
533
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.13", type: EuiDropdownComponent, selector: "eui-dropdown", inputs: { e2eAttr: "e2eAttr", tabIndex: "tabIndex", width: "width", position: "position", subDropdownPosition: "subDropdownPosition", isBlock: ["isBlock", "isBlock", booleanAttribute], isDropDownRightAligned: ["isDropDownRightAligned", "isDropDownRightAligned", booleanAttribute], hasClosedOnClickInside: ["hasClosedOnClickInside", "hasClosedOnClickInside", booleanAttribute], isLabelUpdatedFromSelectedItem: ["isLabelUpdatedFromSelectedItem", "isLabelUpdatedFromSelectedItem", booleanAttribute], isExpandOnHover: ["isExpandOnHover", "isExpandOnHover", booleanAttribute], hasTabNavigation: ["hasTabNavigation", "hasTabNavigation", booleanAttribute], isRightClickEnabled: ["isRightClickEnabled", "isRightClickEnabled", booleanAttribute], euiDisabled: ["euiDisabled", "euiDisabled", booleanAttribute] }, outputs: { expand: "expand" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "euiDropdownItems", predicate: EuiDropdownItemComponent, descendants: true }], viewQueries: [{ propertyName: "templatePortalContent", first: true, predicate: ["templatePortalContent"], descendants: true }, { propertyName: "triggerRef", first: true, predicate: ["triggerRef"], descendants: true }], ngImport: i0, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\"\n (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpened() ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n role=\"dialog\"\n aria-label=\"eUI dropdown panel\"\n class=\"eui-dropdown__panel-container eui-18\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\"\n (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".eui-18 .eui-dropdown .eui-dropdown{display:none}.eui-18 .eui-dropdown .eui-dropdown__trigger-container{display:inherit}.eui-18 .eui-dropdown__panel{position:inherit}.eui-18 .eui-dropdown__panel eui-dropdown-content{display:block}.eui-18 .eui-dropdown__panel.eui-dropdown--subdropdown-position-left .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon.eui-dropdown-item__content-icon--right,.eui-18 .eui-dropdown__panel.eui-dropdown--subdropdown-position-right .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon.eui-dropdown-item__content-icon--left{display:none}.eui-18 .eui-dropdown__panel-container{background:var(--eui-c-white);border-radius:var(--eui-br-m);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-18 .eui-dropdown__panel-container{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item{background:none;border:var(--eui-bw-none);box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-s-xs) var(--eui-s-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex;min-height:calc(var(--eui-s-m) + var(--eui-s-2xs))}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon--right{margin-left:var(--eui-s-s)}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon--left{margin-right:var(--eui-s-s)}.eui-18 .eui-dropdown-item:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-dropdown-item:disabled{pointer-events:none;color:var(--eui-c-neutral-lighter)}.eui-18 .eui-dropdown-item:disabled:hover{background:none}.eui-18 .eui-dropdown-item--active{background-color:var(--eui-c-primary-lightest)!important}.eui-18 .eui-dropdown-item--active:disabled{background:none!important}.eui-18 .eui-dropdown-item--focused{background-color:var(--eui-c-neutral-bg)!important}.eui-18 .eui-dropdown-item--focused:disabled{background:none!important}.eui-18 .eui-dropdown--block .eui-dropdown__trigger-container .eui-button{display:inherit;width:100%}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container button{outline:1px dashed mediumvioletred}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a{border-bottom:1px dashed mediumvioletred;color:#c71585;text-decoration:none}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:2px!important;transition:none}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:2px!important;transition:none}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:2px!important;transition:none}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i4.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }], animations: [openClose], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
532
534
|
}
|
533
535
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EuiDropdownComponent, decorators: [{
|
534
536
|
type: Component,
|
535
|
-
args: [{ selector: 'eui-dropdown', animations: [openClose], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\"\n (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"
|
537
|
+
args: [{ selector: 'eui-dropdown', animations: [openClose], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div #triggerRef class=\"eui-dropdown__trigger-container\"\n (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpened() ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n role=\"dialog\"\n aria-label=\"eUI dropdown panel\"\n class=\"eui-dropdown__panel-container eui-18\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\"\n (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n", styles: [".eui-18 .eui-dropdown .eui-dropdown{display:none}.eui-18 .eui-dropdown .eui-dropdown__trigger-container{display:inherit}.eui-18 .eui-dropdown__panel{position:inherit}.eui-18 .eui-dropdown__panel eui-dropdown-content{display:block}.eui-18 .eui-dropdown__panel.eui-dropdown--subdropdown-position-left .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon.eui-dropdown-item__content-icon--right,.eui-18 .eui-dropdown__panel.eui-dropdown--subdropdown-position-right .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon.eui-dropdown-item__content-icon--left{display:none}.eui-18 .eui-dropdown__panel-container{background:var(--eui-c-white);border-radius:var(--eui-br-m);box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;display:block;height:auto;min-width:8rem;overflow:auto;position:relative}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar{display:inherit;height:5px;width:5px;background-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar-thumb{background-color:var(--eui-c-neutral-lightest);border-radius:5rem}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-neutral-lighter)}.eui-18 .eui-dropdown__panel-container::-webkit-scrollbar-track{background-color:var(--eui-c-neutral-bg-light);border-radius:0}@-moz-document url-prefix(){.eui-18 .eui-dropdown__panel-container{scrollbar-color:var(--eui-c-neutral-lighter) var(--eui-c-neutral-bg-light);scrollbar-width:auto}}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item{background:none;border:var(--eui-bw-none);box-shadow:none;cursor:pointer;display:block;outline:none;padding:var(--eui-s-xs) var(--eui-s-s);position:relative;-webkit-tap-highlight-color:transparent;text-align:left;text-decoration:none;-webkit-user-select:none;user-select:none;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item--has-subdropdown+*:not(.eui-dropdown-item){display:none}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container{align-items:center;display:flex;min-height:calc(var(--eui-s-m) + var(--eui-s-2xs))}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content{align-items:center;display:flex;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text{align-items:center;display:flex;width:100%}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-text .eui-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon{align-items:center;display:flex}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon--right{margin-left:var(--eui-s-s)}.eui-18 .eui-dropdown__panel-container .eui-dropdown-item .eui-dropdown-item__container .eui-dropdown-item__content .eui-dropdown-item__content-icon--left{margin-right:var(--eui-s-s)}.eui-18 .eui-dropdown-item:hover{background-color:var(--eui-c-neutral-bg-light)}.eui-18 .eui-dropdown-item:disabled{pointer-events:none;color:var(--eui-c-neutral-lighter)}.eui-18 .eui-dropdown-item:disabled:hover{background:none}.eui-18 .eui-dropdown-item--active{background-color:var(--eui-c-primary-lightest)!important}.eui-18 .eui-dropdown-item--active:disabled{background:none!important}.eui-18 .eui-dropdown-item--focused{background-color:var(--eui-c-neutral-bg)!important}.eui-18 .eui-dropdown-item--focused:disabled{background:none!important}.eui-18 .eui-dropdown--block .eui-dropdown__trigger-container .eui-button{display:inherit;width:100%}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container button{outline:1px dashed mediumvioletred}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a{border-bottom:1px dashed mediumvioletred;color:#c71585;text-decoration:none}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a:focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:2px!important;transition:none}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a:focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:2px!important;transition:none}.eui-18 .eui-dropdown--contextual-menu .eui-dropdown__trigger-container a [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:2px!important;transition:none}\n"] }]
|
536
538
|
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i0.ViewContainerRef }, { type: i1$1.ScrollDispatcher }, { type: EuiDropdownService }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
537
539
|
type: Inject,
|
538
540
|
args: [PLATFORM_ID]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-dropdown.mjs","sources":["../../eui-dropdown/dropdown-item/eui-dropdown-item.component.ts","../../eui-dropdown/dropdown-item/eui-dropdown-item.component.html","../../eui-dropdown/directives/eui-dropdown-content.directive.ts","../../eui-dropdown/animations/open-close.ts","../../eui-dropdown/eui-dropdown.service.ts","../../eui-dropdown/eui-dropdown.component.ts","../../eui-dropdown/eui-dropdown.component.html","../../eui-dropdown/eui-dropdown.module.ts","../../eui-dropdown/eui-components-eui-dropdown.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ElementRef,\n booleanAttribute,\n} from '@angular/core';\nimport { FocusableOption, Highlightable } from '@angular/cdk/a11y';\n\nimport { EuiDropdownComponent } from '../eui-dropdown.component';\n\n@Component({\n selector: 'eui-dropdown-item, [euiDropdownItem]',\n templateUrl: './eui-dropdown-item.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDropdownItemComponent implements Highlightable, FocusableOption {\n @Input() subDropdown: EuiDropdownComponent;\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-dropdown-item',\n this.isActive ? 'eui-dropdown-item--active' : '',\n this.isFocus ? 'eui-dropdown-item--focused' : '',\n this.subDropdown ? 'eui-dropdown-item--has-subdropdown' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input({ transform: booleanAttribute }) isActive: boolean;\n @Input({ transform: booleanAttribute }) isFocus: boolean;\n\n constructor(public elementRef: ElementRef) {}\n\n public setActiveStyles(): void {\n this.isFocus = true;\n }\n\n public setInactiveStyles(): void {\n this.isFocus = false;\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n public click(): void {\n this.elementRef.nativeElement.click();\n }\n\n public mouseenter(): void {\n const mouseenterEvent = new Event('mouseenter');\n this.elementRef.nativeElement.dispatchEvent(mouseenterEvent);\n }\n}\n","<div class=\"eui-dropdown-item__container\">\n <div class=\"eui-dropdown-item__content\">\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon eui-dropdown-item__content-icon--left\">\n <eui-icon-svg icon=\"chevron-back:sharp\" size=\"s\" fillColor=\"neutral\"></eui-icon-svg>\n </div>\n <div class=\"eui-dropdown-item__content-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon eui-dropdown-item__content-icon--right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\" size=\"s\" fillColor=\"neutral\"></eui-icon-svg>\n </div>\n </div>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'eui-dropdown-content' })\nexport class EuiDropdownContentDirective {\n @HostBinding('attr.role') role = 'menu';\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const openClose = trigger('openClose', [\n state(\n 'open',\n style({\n opacity: 1,\n transform: 'scale(1)',\n }),\n ),\n state(\n 'closed',\n style({\n opacity: 0,\n transform: 'scale(0.9)',\n }),\n ),\n transition('closed => open', [animate('50ms 25ms linear')]),\n]);\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable()\nexport class EuiDropdownService {\n isDropdownOpen = new EventEmitter<boolean>();\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ViewContainerRef,\n ViewChild,\n TemplateRef,\n ContentChildren,\n QueryList,\n ElementRef,\n Renderer2,\n booleanAttribute,\n EventEmitter,\n Inject,\n PLATFORM_ID,\n Output,\n ChangeDetectorRef,\n} from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport {\n CdkScrollable,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n FlexibleConnectedPositionStrategyOrigin,\n GlobalPositionStrategy,\n Overlay,\n OverlayRef,\n ScrollDispatcher,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, fromEvent, Subject, Subscription, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ActiveDescendantKeyManager, Highlightable } from '@angular/cdk/a11y';\n\nimport { openClose } from './animations/open-close';\nimport { EuiDropdownItemComponent } from './dropdown-item/eui-dropdown-item.component';\nimport { EuiDropdownService } from './eui-dropdown.service';\n\n@Component({\n selector: 'eui-dropdown',\n templateUrl: './eui-dropdown.component.html',\n styleUrls: ['./styles/_index.scss'],\n animations: [openClose],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDropdownComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() e2eAttr = 'eui-dropdown';\n @Input() tabIndex = -1;\n @Input() width = 'auto';\n @Input() position: 'top' | 'right' | 'bottom' | 'left' = 'bottom';\n @Input() subDropdownPosition: 'right' | 'left' = 'right';\n @Input({ transform: booleanAttribute }) isBlock = false;\n @Input({ transform: booleanAttribute }) isDropDownRightAligned = false;\n @Input({ transform: booleanAttribute }) hasClosedOnClickInside = true;\n @Input({ transform: booleanAttribute }) isLabelUpdatedFromSelectedItem = false;\n @Input({ transform: booleanAttribute }) isExpandOnHover = false;\n @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n @Input({ transform: booleanAttribute }) isRightClickEnabled = false;\n @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n @Output() expand: EventEmitter<boolean> = new EventEmitter();\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n @ViewChild('triggerRef') triggerRef: ElementRef<HTMLElement>;\n @ContentChildren(EuiDropdownItemComponent, { descendants: true }) euiDropdownItems: QueryList<Highlightable & EuiDropdownItemComponent>;\n\n public trapFocusAutoCapture = true;\n public parentDropdown: EuiDropdownComponent;\n\n private mousePositionX = 0;\n private mousePositionY = 0;\n private initialScrollX = 0;\n private initialScrollY = 0;\n private originX: 'start' | 'end' | 'center' = 'start';\n private originY: 'top' | 'bottom' | 'center' = 'bottom';\n private overlayX: 'start' | 'end' | 'center' = 'start';\n private overlayY: 'top' | 'bottom' | 'center' = 'top';\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$ = new Subject<boolean>();\n private isOpen$ = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private keydownListenerSubscription = new Subscription();\n private euiDropdownItemsEventSubscriptions: Subscription[] = [];\n private activeDescendantKeyManagerChangeSubscription = new Subscription();\n private activeDescendantKeyManager: ActiveDescendantKeyManager<EuiDropdownItemComponent>;\n private origin: HTMLElement;\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private scrollSubscription = new Subscription();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-dropdown',\n this.isBlock ? 'eui-dropdown--block' : '',\n this.isRightClickEnabled ? 'eui-dropdown--contextual-menu' : '',\n ].join(' ').trim();\n }\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n private dropdownService: EuiDropdownService,\n private cd: ChangeDetectorRef,\n protected _renderer: Renderer2,\n @Inject(PLATFORM_ID) protected platformId: unknown,\n @Inject(DOCUMENT) private document: Document,\n ) {\n }\n\n ngOnInit(): void {\n // Currently the `cdkTrapFocusAutoCapture` is only checked once on init.\n if (this.hasDropdownItems) {\n this.trapFocusAutoCapture = false;\n } else {\n this.trapFocusAutoCapture = true;\n }\n\n if (this.hasTabNavigation) {\n this.trapFocusAutoCapture = true;\n this.hasClosedOnClickInside = false;\n }\n\n if (this.isRightClickEnabled) {\n this.hasTabNavigation = false; // UX wise, contextual menu contains only menu items accessible through arrow keys nav\n }\n\n this.setPosition();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\n if(this.triggerRef && this.triggerRef.nativeElement.firstElementChild) {\n this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild, 'aria-haspopup', 'true');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {\n euiDropdownItemsEventSubscription.unsubscribe();\n });\n this.keydownListenerSubscription.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.activeDescendantKeyManagerChangeSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.activeDescendantKeyManager = null;\n this.scrollSubscription.unsubscribe();\n }\n\n /**\n * Whether the eui-dropdown is open.\n *\n * @usageNotes\n * ```html\n * <eui-dropdown #dropdown>\n * <my-component *ngIf=\"dropdown.isOpen\"></my-component>\n * </eui-dropdown>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onTriggerClicked(e: Event): void {\n if (\n !(e.target as HTMLElement).querySelector('.disabled') &&\n !(e.target as HTMLElement).querySelector(':disabled') &&\n !this.isOpen\n ) {\n if (this.isBlock) {\n this.width = this.triggerRef.nativeElement.offsetWidth + 'px';\n }\n\n this.openDropdown(e.target as HTMLElement);\n this.expand.emit(true);\n e.stopPropagation();\n }\n }\n\n public onTriggerRightClicked(e: Event): void {\n if (\n !(e.target as HTMLElement).querySelector('.disabled') &&\n !(e.target as HTMLElement).querySelector(':disabled') &&\n !this.isOpen\n ) {\n if (this.isBlock) {\n this.width = this.triggerRef.nativeElement.offsetWidth + 'px';\n }\n\n this.mousePositionX = (e as PointerEvent).clientX;\n this.mousePositionY = (e as PointerEvent).clientY;\n if(isPlatformBrowser(this.platformId)) {\n this.initialScrollX = window.pageXOffset;\n this.initialScrollY = window.pageYOffset;\n }\n\n this.openDropdown(e.target as HTMLElement);\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n public onClick(): void {\n if (\n this.hasClosedOnClickInside &&\n !this.activeDescendantKeyManager?.activeItem.subDropdown &&\n !this.activeDescendantKeyManager?.activeItem.elementRef?.nativeElement?.disabled\n ) {\n this.closeDropdown(true);\n }\n }\n\n /**\n * Open a dropdown\n *\n * @param origin Origin of the dropdown position\n */\n public openDropdown(origin: HTMLElement, position?: { x: number, y: number }): void {\n this.origin = origin;\n\n if (position) {\n this.mousePositionX = position.x;\n this.mousePositionY = position.y;\n if(isPlatformBrowser(this.platformId)) {\n this.initialScrollX = window.pageXOffset;\n this.initialScrollY = window.pageYOffset;\n }\n }\n\n if (this.isRightClickEnabled) {\n this.scrollSubscription = fromEvent(window, 'scroll').subscribe((event: Event) => {\n this.overlayRef?.updatePositionStrategy(this.getContextualMenuPositionStrategy());\n });\n }\n\n if (!this.isTriggerFocusableOnClose(origin)) {\n this.origin = origin.closest('button:not([disabled])') || (this.triggerRef.nativeElement.firstChild as HTMLElement);\n\n if (!this.origin) {\n this.origin = origin.closest('a');\n }\n\n if (!this.origin) {\n this.origin = origin;\n }\n }\n\n if (!this.isOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.origin)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\n if (!this.isVisible(this.origin, event ? event.getElementRef().nativeElement : this.document.querySelector('body'))) {\n this.closeDropdown();\n }\n });\n\n const positionStrategy = this.isRightClickEnabled ? this.getContextualMenuPositionStrategy() : this.getPositionStrategy();\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n backdropClass: 'eui-dropdown__backdrop',\n panelClass: ['eui-dropdown__panel', this.subDropdownPosition === 'right' ? 'eui-dropdown--subdropdown-position-right' : 'eui-dropdown--subdropdown-position-left'],\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n });\n this.overlayRef.attach(this.templatePortal);\n\n if (this.isRightClickEnabled) {\n this.overlayRef?.updatePositionStrategy(this.getContextualMenuPositionStrategy());\n }\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.closeDropdown();\n });\n this.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.closeDropdown();\n });\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n this.closeDropdown();\n }\n });\n\n if (this.hasDropdownItems) {\n this.euiDropdownItems.toArray().forEach((euiDropdownItem, i) => {\n if (this.isExpandOnHover) {\n this.euiDropdownItemsEventSubscriptions[i] = fromEvent(\n euiDropdownItem.elementRef.nativeElement,\n 'mouseenter',\n ).pipe(takeUntil(this.destroy$)).subscribe((e: MouseEvent) => {\n this.activeDescendantKeyManager.setActiveItem(euiDropdownItem);\n if (this.activeDescendantKeyManager.activeItem?.subDropdown) {\n this.activeDescendantKeyManager.activeItem?.subDropdown.setParentDropdown(this);\n this.activeDescendantKeyManager.activeItem?.subDropdown.overlayRef.detachBackdrop();\n this.keydownListenerSubscription.unsubscribe();\n }\n\n const triggerOutsidePointerEvents = (subDropdown: EuiDropdownComponent): void => {\n subDropdown?.overlayRef?._outsidePointerEvents.next(e);\n\n if (subDropdown?.hasDropdownItems) {\n subDropdown.euiDropdownItems.toArray().forEach((s) => {\n triggerOutsidePointerEvents(s.subDropdown);\n });\n }\n };\n\n this.euiDropdownItems\n .filter((item) => !item.isFocus)\n .forEach((euiDropdownItemHavingSubDropdown) => {\n triggerOutsidePointerEvents(euiDropdownItemHavingSubDropdown.subDropdown);\n });\n });\n } else {\n this.euiDropdownItemsEventSubscriptions[i] = fromEvent(\n euiDropdownItem.elementRef.nativeElement,\n 'click',\n ).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.activeDescendantKeyManager.setActiveItem(euiDropdownItem);\n if (this.activeDescendantKeyManager.activeItem?.subDropdown) {\n this.activeDescendantKeyManager.activeItem?.subDropdown.setParentDropdown(this);\n this.activeDescendantKeyManager.activeItem?.subDropdown.overlayRef.detachBackdrop();\n this.keydownListenerSubscription.unsubscribe();\n }\n\n const labelElement = this.triggerRef.nativeElement.querySelector('button .eui-label');\n if (this.isLabelUpdatedFromSelectedItem && labelElement) {\n (labelElement as HTMLElement).innerText = euiDropdownItem.elementRef.nativeElement.innerText;\n }\n });\n }\n });\n\n this.activeDescendantKeyManager = new ActiveDescendantKeyManager(this.euiDropdownItems)\n .withHomeAndEnd(true)\n .withVerticalOrientation(true)\n .withWrap();\n this.activeDescendantKeyManager.setFirstItemActive();\n }\n\n this.createKeyboardHandlerSubscription();\n this.isOpen$.next(true);\n this.dropdownService.isDropdownOpen.emit(true);\n }\n }\n\n /**\n * Close a dropdown\n */\n public closeDropdown(recursively = false): void {\n this.isOpen$.next(false);\n this.expand.emit(false);\n this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {\n euiDropdownItemsEventSubscription.unsubscribe();\n });\n this.keydownListenerSubscription.unsubscribe();\n if (this.hasDropdownItems) {\n this.activeDescendantKeyManager?.setFirstItemActive();\n }\n this.scrollDispatcherSubscription.unsubscribe();\n this.activeDescendantKeyManagerChangeSubscription.unsubscribe();\n this.scrollSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.activeDescendantKeyManager = null;\n if (this.trapFocusAutoCapture) {\n this.origin.focus();\n }\n if (recursively && this.parentDropdown) {\n this.parentDropdown.closeDropdown(true);\n }\n\n this.dropdownService.isDropdownOpen.emit(false);\n }\n\n public projectContentChanged(): void {\n if (!this.isRightClickEnabled) {\n this.positionStrategy = this.getPositionStrategy();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n }\n\n public createKeyboardHandlerSubscription(): void {\n this.keydownListenerSubscription = fromEvent(document, 'keydown').subscribe((event: KeyboardEvent) => {\n if (this.isOpen) {\n if (\n event.code === 'Enter' &&\n !this.hasTabNavigation &&\n !this.activeDescendantKeyManager?.activeItem.elementRef?.nativeElement?.disabled\n ) {\n this.activeDescendantKeyManager?.activeItem.focus();\n this.isExpandOnHover\n ? this.activeDescendantKeyManager?.activeItem.mouseenter()\n : this.activeDescendantKeyManager?.activeItem.click();\n\n if (this.activeDescendantKeyManager?.activeItem.subDropdown) {\n this.activeDescendantKeyManager.activeItem.subDropdown.setParentDropdown(this);\n this.keydownListenerSubscription.unsubscribe();\n } else {\n this.closeDropdown();\n }\n event.preventDefault();\n } else if ((this.subDropdownPosition === 'right' && event.code === 'ArrowLeft') || this.subDropdownPosition === 'left' && event.code === 'ArrowRight') {\n if (this.parentDropdown) {\n this.parentDropdown.createKeyboardHandlerSubscription();\n this.closeDropdown();\n }\n event.preventDefault();\n } else if ((this.subDropdownPosition === 'right' && event.code === 'ArrowRight') || (this.subDropdownPosition === 'left' && event.code === 'ArrowLeft')) {\n if (this.activeDescendantKeyManager?.activeItem.subDropdown) {\n this.activeDescendantKeyManager.activeItem.focus();\n this.isExpandOnHover\n ? this.activeDescendantKeyManager.activeItem.mouseenter()\n : this.activeDescendantKeyManager.activeItem.click();\n this.activeDescendantKeyManager.activeItem.subDropdown.setParentDropdown(this);\n this.keydownListenerSubscription.unsubscribe();\n }\n event.preventDefault();\n } else if (event.code === 'Tab' && !this.hasTabNavigation) {\n this.closeDropdown(true);\n } else {\n this.activeDescendantKeyManager?.onKeydown(event);\n }\n\n this.cd.markForCheck();\n }\n });\n }\n\n public setParentDropdown(parentDropdown: EuiDropdownComponent): void {\n this.parentDropdown = parentDropdown;\n this.position = this.subDropdownPosition;\n\n this.setPosition();\n\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef.updatePositionStrategy(positionStrategy);\n }\n\n private get hasDropdownItems(): boolean {\n return this.euiDropdownItems?.length > 0;\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private getContextualMenuPositionStrategy(): GlobalPositionStrategy {\n if(isPlatformServer(this.platformId)) {\n throw new Error('getContextualMenuPositionStrategy is not supported on the server');\n }\n const panelHeight = this.overlayRef?.overlayElement.clientHeight || 0;\n const scrollX = window.scrollX || window.pageXOffset;\n const scrollY = window.scrollY || window.pageYOffset;\n const newX = this.mousePositionX + (this.initialScrollX - scrollX);\n const newY = this.mousePositionY + (this.initialScrollY - scrollY);\n const menuBottomPosition = newY + panelHeight;\n const isMenuBelowWindowBottom = menuBottomPosition > window.innerHeight;\n\n const positionStrategy = this.overlay\n .position()\n .global()\n .left(newX + 'px');\n\n if (isMenuBelowWindowBottom) {\n positionStrategy.bottom(window.innerHeight - newY + 'px');\n } else {\n positionStrategy.top(newY + 'px');\n }\n\n return positionStrategy;\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private isTriggerFocusableOnClose(origin: HTMLElement): boolean {\n return origin.matches('button:not([disabled])') || origin.matches('a');\n }\n\n private setPosition(): void {\n if (this.position === 'top') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n\n if (this.isDropDownRightAligned) {\n this.originX = 'end';\n this.overlayX = 'end';\n }\n }\n if (this.position === 'right') {\n this.originX = 'end';\n this.overlayX = 'start';\n this.overlayY = 'center';\n }\n if (this.position === 'bottom') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n\n if (this.isDropDownRightAligned) {\n this.originX = 'end';\n this.overlayX = 'end';\n }\n }\n if (this.position === 'left') {\n this.originX = 'start';\n this.overlayX = 'end';\n this.overlayY = 'center';\n }\n }\n}\n","<div #triggerRef class=\"eui-dropdown__trigger-container\"\n (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n role=\"dialog\"\n aria-label=\"eUI dropdown panel\"\n class=\"eui-dropdown__panel-container eui-18\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\"\n (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiDropdownComponent } from './eui-dropdown.component';\nimport { EuiDropdownItemComponent } from './dropdown-item/eui-dropdown-item.component';\nimport { EuiDropdownContentDirective } from './directives/eui-dropdown-content.directive';\nimport { EuiDropdownService } from './eui-dropdown.service';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, ScrollingModule, A11yModule, EuiIconModule, ObserversModule],\n declarations: [EuiDropdownComponent, EuiDropdownItemComponent, EuiDropdownContentDirective],\n exports: [EuiDropdownComponent, EuiDropdownItemComponent, EuiDropdownContentDirective],\n providers: [EuiDropdownService],\n})\nexport class EuiDropdownModule {}\n\n@NgModule({})\nexport class EuiDropdownContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.EuiDropdownService"],"mappings":";;;;;;;;;;;;;;;;;MAoBa,wBAAwB,CAAA;AAIjC,IAAA,IACI,UAAU,GAAA;QACV,OAAO;YACH,mBAAmB;YACnB,IAAI,CAAC,QAAQ,GAAG,2BAA2B,GAAG,EAAE;YAChD,IAAI,CAAC,OAAO,GAAG,4BAA4B,GAAG,EAAE;YAChD,IAAI,CAAC,WAAW,GAAG,oCAAoC,GAAG,EAAE;AAC/D;aACI,IAAI,CAAC,GAAG;AACR,aAAA,IAAI,EAAE;;AAMf,IAAA,WAAA,CAAmB,UAAsB,EAAA;QAAtB,IAAU,CAAA,UAAA,GAAV,UAAU;QAhBH,IAAI,CAAA,IAAA,GAAG,UAAU;;IAkBpC,eAAe,GAAA;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;IAGhB,iBAAiB,GAAA;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;IAGjB,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;;IAGlC,KAAK,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;;IAGlC,UAAU,GAAA;AACb,QAAA,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,eAAe,CAAC;;+GAvCvD,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EAgBb,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAChB,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,gBAAgB,6GCrCxC,ksBAaA,EAAA,MAAA,EAAA,CAAA,07JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDOa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sCAAsC,mBAG/B,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ksBAAA,EAAA,MAAA,EAAA,CAAA,07JAAA,CAAA,EAAA;+EAG5B,WAAW,EAAA,CAAA;sBAAnB;gBAEyB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAEpB,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAYoB,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AEnC1C;MAEa,2BAA2B,CAAA;AADxC,IAAA,WAAA,GAAA;QAE8B,IAAI,CAAA,IAAA,GAAG,MAAM;AAC1C;+GAFY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA3B,2BAA2B,EAAA,QAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,SAAS;mBAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE;8BAEjB,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;;;ACHrB,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE;AAC1C,IAAA,KAAK,CACD,MAAM,EACN,KAAK,CAAC;AACF,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,UAAU;AACxB,KAAA,CAAC,CACL;AACD,IAAA,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;AACF,QAAA,OAAO,EAAE,CAAC;AACV,QAAA,SAAS,EAAE,YAAY;AAC1B,KAAA,CAAC,CACL;IACD,UAAU,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC9D,CAAA,CAAC;;MCfW,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAW;AAC/C;+GAFY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;MCgDY,oBAAoB,CAAA;AA6C7B,IAAA,IACI,UAAU,GAAA;QACV,OAAO;YACH,cAAc;YACd,IAAI,CAAC,OAAO,GAAG,qBAAqB,GAAG,EAAE;YACzC,IAAI,CAAC,mBAAmB,GAAG,+BAA+B,GAAG,EAAE;AAClE,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAGtB,IAAA,WAAA,CACY,OAAgB,EAChB,gBAAkC,EAClC,gBAAkC,EAClC,eAAmC,EACnC,EAAqB,EACnB,SAAoB,EACC,UAAmB,EACxB,QAAkB,EAAA;QAPpC,IAAO,CAAA,OAAA,GAAP,OAAO;QACP,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB;QAChB,IAAe,CAAA,eAAA,GAAf,eAAe;QACf,IAAE,CAAA,EAAA,GAAF,EAAE;QACA,IAAS,CAAA,SAAA,GAAT,SAAS;QACY,IAAU,CAAA,UAAA,GAAV,UAAU;QACf,IAAQ,CAAA,QAAA,GAAR,QAAQ;QA7D7B,IAAO,CAAA,OAAA,GAAG,cAAc;QACxB,IAAQ,CAAA,QAAA,GAAG,CAAC,CAAC;QACb,IAAK,CAAA,KAAA,GAAG,MAAM;QACd,IAAQ,CAAA,QAAA,GAAwC,QAAQ;QACxD,IAAmB,CAAA,mBAAA,GAAqB,OAAO;QAChB,IAAO,CAAA,OAAA,GAAG,KAAK;QACf,IAAsB,CAAA,sBAAA,GAAG,KAAK;QAC9B,IAAsB,CAAA,sBAAA,GAAG,IAAI;QAC7B,IAA8B,CAAA,8BAAA,GAAG,KAAK;QACtC,IAAe,CAAA,eAAA,GAAG,KAAK;QACvB,IAAgB,CAAA,gBAAA,GAAG,KAAK;QACxB,IAAmB,CAAA,mBAAA,GAAG,KAAK;QAC3B,IAAW,CAAA,WAAA,GAAG,KAAK;AAEjD,QAAA,IAAA,CAAA,MAAM,GAA0B,IAAI,YAAY,EAAE;QAMrD,IAAoB,CAAA,oBAAA,GAAG,IAAI;QAG1B,IAAc,CAAA,cAAA,GAAG,CAAC;QAClB,IAAc,CAAA,cAAA,GAAG,CAAC;QAClB,IAAc,CAAA,cAAA,GAAG,CAAC;QAClB,IAAc,CAAA,cAAA,GAAG,CAAC;QAClB,IAAO,CAAA,OAAA,GAA+B,OAAO;QAC7C,IAAO,CAAA,OAAA,GAAgC,QAAQ;QAC/C,IAAQ,CAAA,QAAA,GAA+B,OAAO;QAC9C,IAAQ,CAAA,QAAA,GAAgC,KAAK;AAG7C,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAW;AACjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAC7C,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,YAAY,EAAE;AACjD,QAAA,IAAA,CAAA,2BAA2B,GAAG,IAAI,YAAY,EAAE;QAChD,IAAkC,CAAA,kCAAA,GAAmB,EAAE;AACvD,QAAA,IAAA,CAAA,4CAA4C,GAAG,IAAI,YAAY,EAAE;AAIjE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAE;;IAuB/C,QAAQ,GAAA;;AAEJ,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;;aAC9B;AACH,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;;AAGpC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAChC,YAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK;;AAGvC,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;;QAGlC,IAAI,CAAC,WAAW,EAAE;;IAGtB,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAE3F,QAAA,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,EAAE;AACnE,YAAA,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,EAAE,eAAe,EAAE,MAAM,CAAC;;;IAI9G,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QAC3B,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC,iCAAiC,KAAI;YAClF,iCAAiC,CAAC,WAAW,EAAE;AACnD,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;AAC9C,QAAA,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE;AAC/C,QAAA,IAAI,CAAC,4CAA4C,CAAC,WAAW,EAAE;AAC/D,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;AACtC,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;;AAGzC;;;;;;;;;;AAUG;AACH,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;;AAGtB,IAAA,gBAAgB,CAAC,CAAQ,EAAA;QAC5B,IACI,CAAE,CAAC,CAAC,MAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;AACrD,YAAA,CAAE,CAAC,CAAC,MAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;AACrD,YAAA,CAAC,IAAI,CAAC,MAAM,EACd;AACE,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI;;AAGjE,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAqB,CAAC;AAC1C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACtB,CAAC,CAAC,eAAe,EAAE;;;AAIpB,IAAA,qBAAqB,CAAC,CAAQ,EAAA;QACjC,IACI,CAAE,CAAC,CAAC,MAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;AACrD,YAAA,CAAE,CAAC,CAAC,MAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;AACrD,YAAA,CAAC,IAAI,CAAC,MAAM,EACd;AACE,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI;;AAGjE,YAAA,IAAI,CAAC,cAAc,GAAI,CAAkB,CAAC,OAAO;AACjD,YAAA,IAAI,CAAC,cAAc,GAAI,CAAkB,CAAC,OAAO;AACjD,YAAA,IAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW;AACxC,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW;;AAG5C,YAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAqB,CAAC;YAC1C,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,eAAe,EAAE;;;IAIpB,OAAO,GAAA;QACV,IACI,IAAI,CAAC,sBAAsB;AAC3B,YAAA,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,WAAW;AACxD,YAAA,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAClF;AACE,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;;AAIhC;;;;AAIG;IACI,YAAY,CAAC,MAAmB,EAAE,QAAmC,EAAA;AACxE,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QAEpB,IAAI,QAAQ,EAAE;AACV,YAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC;AAChC,YAAA,IAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW;AACxC,gBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,WAAW;;;AAIhD,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC1B,YAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAY,KAAI;gBAC7E,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC;AACrF,aAAC,CAAC;;QAGN,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE;AACzC,YAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAK,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAA0B;AAEnH,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;AAGrC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;;AAI5B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;AACpC,iBAAA,gBAAgB,CAAC,IAAI,CAAC,MAAM;AAC5B,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,iBAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;AAChC,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE;oBACjH,IAAI,CAAC,aAAa,EAAE;;AAE5B,aAAC,CAAC;AAEN,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,iCAAiC,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE;AACzH,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;YAEvF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClC,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,aAAa,EAAE,wBAAwB;AACvC,gBAAA,UAAU,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,KAAK,OAAO,GAAG,0CAA0C,GAAG,yCAAyC,CAAC;gBAClK,gBAAgB;gBAChB,cAAc;AACd,gBAAA,mBAAmB,EAAE,IAAI;AAC5B,aAAA,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;AAE3C,YAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC;;AAGrF,YAAA,IAAI,CAAC;AACA,iBAAA,oBAAoB;AACpB,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC7B,SAAS,CAAC,MAAK;gBACZ,IAAI,CAAC,aAAa,EAAE;AACxB,aAAC,CAAC;AACN,YAAA,IAAI,CAAC;AACA,iBAAA,aAAa;AACb,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAC7B,SAAS,CAAC,MAAK;gBACZ,IAAI,CAAC,aAAa,EAAE;AACxB,aAAC,CAAC;AACN,YAAA,IAAI,CAAC;AACA,iBAAA,aAAa;AACb,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,iBAAA,SAAS,CAAC,CAAC,aAAa,KAAI;gBACzB,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE;oBAC/C,IAAI,CAAC,aAAa,EAAE;;AAE5B,aAAC,CAAC;AAEN,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,CAAC,KAAI;AAC3D,oBAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,wBAAA,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,GAAG,SAAS,CAClD,eAAe,CAAC,UAAU,CAAC,aAAa,EACxC,YAAY,CACf,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAa,KAAI;AACzD,4BAAA,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,eAAe,CAAC;4BAC9D,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE;gCACzD,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC;gCAC/E,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE;AACnF,gCAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;;AAGlD,4BAAA,MAAM,2BAA2B,GAAG,CAAC,WAAiC,KAAU;gCAC5E,WAAW,EAAE,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtD,gCAAA,IAAI,WAAW,EAAE,gBAAgB,EAAE;oCAC/B,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACjD,wCAAA,2BAA2B,CAAC,CAAC,CAAC,WAAW,CAAC;AAC9C,qCAAC,CAAC;;AAEV,6BAAC;AAED,4BAAA,IAAI,CAAC;iCACA,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO;AAC9B,iCAAA,OAAO,CAAC,CAAC,gCAAgC,KAAI;AAC1C,gCAAA,2BAA2B,CAAC,gCAAgC,CAAC,WAAW,CAAC;AAC7E,6BAAC,CAAC;AACV,yBAAC,CAAC;;yBACC;AACH,wBAAA,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,GAAG,SAAS,CAClD,eAAe,CAAC,UAAU,CAAC,aAAa,EACxC,OAAO,CACV,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC5C,4BAAA,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,eAAe,CAAC;4BAC9D,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE;gCACzD,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC;gCAC/E,IAAI,CAAC,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE;AACnF,gCAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;;AAGlD,4BAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;AACrF,4BAAA,IAAI,IAAI,CAAC,8BAA8B,IAAI,YAAY,EAAE;gCACpD,YAA4B,CAAC,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS;;AAEpG,yBAAC,CAAC;;AAEV,iBAAC,CAAC;gBAEF,IAAI,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,gBAAgB;qBACjF,cAAc,CAAC,IAAI;qBACnB,uBAAuB,CAAC,IAAI;AAC5B,qBAAA,QAAQ,EAAE;AACf,gBAAA,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,EAAE;;YAGxD,IAAI,CAAC,iCAAiC,EAAE;AACxC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;;;AAItD;;AAEG;IACI,aAAa,CAAC,WAAW,GAAG,KAAK,EAAA;AACpC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC,iCAAiC,KAAI;YAClF,iCAAiC,CAAC,WAAW,EAAE;AACnD,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;AAC9C,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,0BAA0B,EAAE,kBAAkB,EAAE;;AAEzD,QAAA,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE;AAC/C,QAAA,IAAI,CAAC,4CAA4C,CAAC,WAAW,EAAE;AAC/D,QAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE;AACrC,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI;AACtC,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;AAEvB,QAAA,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE;AACpC,YAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;;QAG3C,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;;IAG5C,qBAAqB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC3B,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;YAClD,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC;;;IAI9D,iCAAiC,GAAA;AACpC,QAAA,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,KAAoB,KAAI;AACjG,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,gBAAA,IACI,KAAK,CAAC,IAAI,KAAK,OAAO;oBACtB,CAAC,IAAI,CAAC,gBAAgB;AACtB,oBAAA,CAAC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAClF;AACE,oBAAA,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,KAAK,EAAE;AACnD,oBAAA,IAAI,CAAC;0BACC,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,UAAU;0BACtD,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,KAAK,EAAE;oBAEzD,IAAI,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,WAAW,EAAE;wBACzD,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC9E,wBAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;;yBAC3C;wBACH,IAAI,CAAC,aAAa,EAAE;;oBAExB,KAAK,CAAC,cAAc,EAAE;;qBACnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,KAAK,IAAI,CAAC,mBAAmB,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACnJ,oBAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,wBAAA,IAAI,CAAC,cAAc,CAAC,iCAAiC,EAAE;wBACvD,IAAI,CAAC,aAAa,EAAE;;oBAExB,KAAK,CAAC,cAAc,EAAE;;AACnB,qBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,MAAM,IAAI,CAAC,mBAAmB,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;oBACrJ,IAAI,IAAI,CAAC,0BAA0B,EAAE,UAAU,CAAC,WAAW,EAAE;AACzD,wBAAA,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,KAAK,EAAE;AAClD,wBAAA,IAAI,CAAC;8BACC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,UAAU;8BACrD,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,KAAK,EAAE;wBACxD,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC9E,wBAAA,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE;;oBAElD,KAAK,CAAC,cAAc,EAAE;;qBACnB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AACvD,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;qBACrB;AACH,oBAAA,IAAI,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAAK,CAAC;;AAGrD,gBAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;AAE9B,SAAC,CAAC;;AAGC,IAAA,iBAAiB,CAAC,cAAoC,EAAA;AACzD,QAAA,IAAI,CAAC,cAAc,GAAG,cAAc;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB;QAExC,IAAI,CAAC,WAAW,EAAE;AAElB,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;;AAG5D,IAAA,IAAY,gBAAgB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,CAAC;;IAGpC,mBAAmB,GAAA;QACvB,OAAO,IAAI,CAAC;AACP,aAAA,QAAQ;AACR,aAAA,mBAAmB,CAAC,IAAI,CAAC,MAAiD;AAC1E,aAAA,aAAa,CAAC;AACX,YAAA,IAAI,sBAAsB,CACtB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAChD,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CACvD;SACJ;aACA,sBAAsB,CAAC,KAAK;aAC5B,kBAAkB,CAAC,IAAI,CAAC;;IAGzB,iCAAiC,GAAA;AACrC,QAAA,IAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AAClC,YAAA,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC;;QAEvF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,IAAI,CAAC;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW;AACpD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAClE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAClE,QAAA,MAAM,kBAAkB,GAAG,IAAI,GAAG,WAAW;AAC7C,QAAA,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,MAAM,CAAC,WAAW;AAEvE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC;AACzB,aAAA,QAAQ;AACR,aAAA,MAAM;AACN,aAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEtB,IAAI,uBAAuB,EAAE;YACzB,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;;aACtD;AACH,YAAA,gBAAgB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;;AAGrC,QAAA,OAAO,gBAAgB;;IAGnB,SAAS,CAAC,MAAmB,EAAE,gBAA6B,EAAA;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAChD,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,MAAM,GAAG,EAAE;QAEnF,QACI,CAAC,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,sBAAsB;AAChD,aAAC,OAAO,GAAG,iBAAiB,GAAG,CAAC,IAAI,OAAO,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;;AAIzF,IAAA,yBAAyB,CAAC,MAAmB,EAAA;AACjD,QAAA,OAAO,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;;IAGlE,WAAW,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAExB,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;;AAG7B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAE5B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AAErB,YAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;;;AAG7B,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;;+GAlfvB,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EA6DjB,WAAW,EAAA,EAAA,EAAA,KAAA,EACX,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGA9DX,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAMT,gBAAgB,CAChB,EAAA,sBAAA,EAAA,CAAA,wBAAA,EAAA,wBAAA,EAAA,gBAAgB,gFAChB,gBAAgB,CAAA,EAAA,8BAAA,EAAA,CAAA,gCAAA,EAAA,gCAAA,EAChB,gBAAgB,CAAA,EAAA,eAAA,EAAA,CAAA,iBAAA,EAAA,iBAAA,EAChB,gBAAgB,CAAA,EAAA,gBAAA,EAAA,CAAA,kBAAA,EAAA,kBAAA,EAChB,gBAAgB,CAChB,EAAA,mBAAA,EAAA,CAAA,qBAAA,EAAA,qBAAA,EAAA,gBAAgB,CAChB,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAgB,CAMnB,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,wBAAwB,2QCrE7C,w1BAsBA,EAAA,MAAA,EAAA,CAAA,07JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDwBgB,CAAC,SAAS,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAId,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;+BACI,cAAc,EAAA,UAAA,EAGZ,CAAC,SAAS,CAAC,EAAA,eAAA,EACN,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,w1BAAA,EAAA,MAAA,EAAA,CAAA,07JAAA,CAAA,EAAA;;0BA+DhC,MAAM;2BAAC,WAAW;;0BAClB,MAAM;2BAAC,QAAQ;yCA7DX,OAAO,EAAA,CAAA;sBAAf;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACuC,OAAO,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,sBAAsB,EAAA,CAAA;sBAA7D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,sBAAsB,EAAA,CAAA;sBAA7D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,8BAA8B,EAAA,CAAA;sBAArE,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,mBAAmB,EAAA,CAAA;sBAA1D,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAE5B,MAAM,EAAA,CAAA;sBAAf;gBAEmC,qBAAqB,EAAA,CAAA;sBAAxD,SAAS;uBAAC,uBAAuB;gBACT,UAAU,EAAA,CAAA;sBAAlC,SAAS;uBAAC,YAAY;gBAC2C,gBAAgB,EAAA,CAAA;sBAAjF,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,wBAAwB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBA2B5D,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;ME5EX,iBAAiB,CAAA;+GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAjB,iBAAiB,EAAA,YAAA,EAAA,CAJX,oBAAoB,EAAE,wBAAwB,EAAE,2BAA2B,CAAA,EAAA,OAAA,EAAA,CADhF,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,aAExF,oBAAoB,EAAE,wBAAwB,EAAE,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAG5E,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAFf,SAAA,EAAA,CAAC,kBAAkB,CAAC,YAHrB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAKzF,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC;AACnG,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,2BAA2B,CAAC;AAC3F,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,wBAAwB,EAAE,2BAA2B,CAAC;oBACtF,SAAS,EAAE,CAAC,kBAAkB,CAAC;AAClC,iBAAA;;MAIY,wBAAwB,CAAA;+GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAxB,wBAAwB,EAAA,CAAA,CAAA;gHAAxB,wBAAwB,EAAA,CAAA,CAAA;;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,QAAQ;mBAAC,EAAE;;;ACrBZ;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"eui-components-eui-dropdown.mjs","sources":["../../eui-dropdown/dropdown-item/eui-dropdown-item.component.ts","../../eui-dropdown/dropdown-item/eui-dropdown-item.component.html","../../eui-dropdown/directives/eui-dropdown-content.directive.ts","../../eui-dropdown/animations/open-close.ts","../../eui-dropdown/eui-dropdown.service.ts","../../eui-dropdown/eui-dropdown.component.ts","../../eui-dropdown/eui-dropdown.component.html","../../eui-dropdown/eui-dropdown.module.ts","../../eui-dropdown/eui-components-eui-dropdown.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ElementRef,\n booleanAttribute,\n} from '@angular/core';\nimport { FocusableOption, Highlightable } from '@angular/cdk/a11y';\n\nimport { EuiDropdownComponent } from '../eui-dropdown.component';\n\n@Component({\n selector: 'eui-dropdown-item, [euiDropdownItem]',\n templateUrl: './eui-dropdown-item.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDropdownItemComponent implements Highlightable, FocusableOption {\n @Input() subDropdown: EuiDropdownComponent;\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-dropdown-item',\n this.isActive ? 'eui-dropdown-item--active' : '',\n this.isFocus ? 'eui-dropdown-item--focused' : '',\n this.subDropdown ? 'eui-dropdown-item--has-subdropdown' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input({ transform: booleanAttribute }) isActive: boolean;\n @Input({ transform: booleanAttribute }) isFocus: boolean;\n\n constructor(public elementRef: ElementRef) {}\n\n public setActiveStyles(): void {\n this.isFocus = true;\n }\n\n public setInactiveStyles(): void {\n this.isFocus = false;\n }\n\n public focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n public click(): void {\n this.elementRef.nativeElement.click();\n }\n\n public mouseenter(): void {\n const mouseenterEvent = new Event('mouseenter');\n this.elementRef.nativeElement.dispatchEvent(mouseenterEvent);\n }\n}\n","<div class=\"eui-dropdown-item__container\">\n <div class=\"eui-dropdown-item__content\">\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon eui-dropdown-item__content-icon--left\">\n <eui-icon-svg icon=\"chevron-back:sharp\" size=\"s\" fillColor=\"neutral\"></eui-icon-svg>\n </div>\n <div class=\"eui-dropdown-item__content-text\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"subDropdown\" class=\"eui-dropdown-item__content-icon eui-dropdown-item__content-icon--right\">\n <eui-icon-svg icon=\"chevron-forward:sharp\" size=\"s\" fillColor=\"neutral\"></eui-icon-svg>\n </div>\n </div>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\n\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({ selector: 'eui-dropdown-content' })\nexport class EuiDropdownContentDirective {\n @HostBinding('attr.role') role = 'menu';\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const openClose = trigger('openClose', [\n state(\n 'open',\n style({\n opacity: 1,\n transform: 'scale(1)',\n }),\n ),\n state(\n 'closed',\n style({\n opacity: 0,\n transform: 'scale(0.9)',\n }),\n ),\n transition('closed => open', [animate('50ms 25ms linear')]),\n]);\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable()\nexport class EuiDropdownService {\n isDropdownOpen = new EventEmitter<boolean>();\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ViewContainerRef,\n ViewChild,\n TemplateRef,\n ContentChildren,\n QueryList,\n ElementRef,\n Renderer2,\n booleanAttribute,\n EventEmitter,\n Inject,\n PLATFORM_ID,\n Output,\n ChangeDetectorRef,\n signal,\n} from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';\nimport {\n CdkScrollable,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n FlexibleConnectedPositionStrategyOrigin,\n GlobalPositionStrategy,\n Overlay,\n OverlayRef,\n ScrollDispatcher,\n} from '@angular/cdk/overlay';\nimport { fromEvent, Subject, Subscription, takeUntil } from 'rxjs';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { ActiveDescendantKeyManager, Highlightable } from '@angular/cdk/a11y';\n\nimport { openClose } from './animations/open-close';\nimport { EuiDropdownItemComponent } from './dropdown-item/eui-dropdown-item.component';\nimport { EuiDropdownService } from './eui-dropdown.service';\n\n@Component({\n selector: 'eui-dropdown',\n templateUrl: './eui-dropdown.component.html',\n styleUrls: ['./styles/_index.scss'],\n animations: [openClose],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDropdownComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() e2eAttr = 'eui-dropdown';\n @Input() tabIndex = -1;\n @Input() width = 'auto';\n @Input() position: 'top' | 'right' | 'bottom' | 'left' = 'bottom';\n @Input() subDropdownPosition: 'right' | 'left' = 'right';\n @Input({ transform: booleanAttribute }) isBlock = false;\n @Input({ transform: booleanAttribute }) isDropDownRightAligned = false;\n @Input({ transform: booleanAttribute }) hasClosedOnClickInside = true;\n @Input({ transform: booleanAttribute }) isLabelUpdatedFromSelectedItem = false;\n @Input({ transform: booleanAttribute }) isExpandOnHover = false;\n @Input({ transform: booleanAttribute }) hasTabNavigation = false;\n @Input({ transform: booleanAttribute }) isRightClickEnabled = false;\n @Input({ transform: booleanAttribute }) euiDisabled = false;\n\n @Output() expand: EventEmitter<boolean> = new EventEmitter();\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n @ViewChild('triggerRef') triggerRef: ElementRef<HTMLElement>;\n @ContentChildren(EuiDropdownItemComponent, { descendants: true }) euiDropdownItems: QueryList<Highlightable & EuiDropdownItemComponent>;\n\n public trapFocusAutoCapture = true;\n public parentDropdown: EuiDropdownComponent;\n\n protected isOpened = signal(false);\n private mousePositionX = 0;\n private mousePositionY = 0;\n private initialScrollX = 0;\n private initialScrollY = 0;\n private originX: 'start' | 'end' | 'center' = 'start';\n private originY: 'top' | 'bottom' | 'center' = 'bottom';\n private overlayX: 'start' | 'end' | 'center' = 'start';\n private overlayY: 'top' | 'bottom' | 'center' = 'top';\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$ = new Subject<boolean>();\n private scrollDispatcherSubscription = new Subscription();\n private keydownListenerSubscription = new Subscription();\n private euiDropdownItemsEventSubscriptions: Subscription[] = [];\n private activeDescendantKeyManagerChangeSubscription = new Subscription();\n private activeDescendantKeyManager: ActiveDescendantKeyManager<EuiDropdownItemComponent>;\n private origin: HTMLElement;\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private scrollSubscription = new Subscription();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-dropdown',\n this.isBlock ? 'eui-dropdown--block' : '',\n this.isRightClickEnabled ? 'eui-dropdown--contextual-menu' : '',\n ].join(' ').trim();\n }\n\n constructor(\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n private dropdownService: EuiDropdownService,\n private cd: ChangeDetectorRef,\n protected _renderer: Renderer2,\n @Inject(PLATFORM_ID) protected platformId: unknown,\n @Inject(DOCUMENT) private document: Document,\n ) {\n }\n\n ngOnInit(): void {\n // Currently the `cdkTrapFocusAutoCapture` is only checked once on init.\n if (this.hasDropdownItems) {\n this.trapFocusAutoCapture = false;\n } else {\n this.trapFocusAutoCapture = true;\n }\n\n if (this.hasTabNavigation) {\n this.trapFocusAutoCapture = true;\n this.hasClosedOnClickInside = false;\n }\n\n if (this.isRightClickEnabled) {\n this.hasTabNavigation = false; // UX wise, contextual menu contains only menu items accessible through arrow keys nav\n }\n\n this.setPosition();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n\n if(this.triggerRef && this.triggerRef.nativeElement.firstElementChild) {\n this._renderer?.setAttribute(this.triggerRef.nativeElement.firstElementChild, 'aria-haspopup', 'true');\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {\n euiDropdownItemsEventSubscription.unsubscribe();\n });\n this.keydownListenerSubscription.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.activeDescendantKeyManagerChangeSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.activeDescendantKeyManager = null;\n this.scrollSubscription.unsubscribe();\n }\n\n /**\n * Whether the eui-dropdown is open.\n *\n * @deprecated This property will be removed in the future. Use `isOpened` signal instead.\n *\n * @usageNotes\n * ```html\n * <eui-dropdown #dropdown>\n * <my-component *ngIf=\"dropdown.isOpen\"></my-component>\n * </eui-dropdown>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpened();\n }\n\n public onTriggerClicked(e: Event): void {\n if (\n !(e.target as HTMLElement).querySelector('.disabled') &&\n !(e.target as HTMLElement).querySelector(':disabled') &&\n !this.isOpened()\n ) {\n if (this.isBlock) {\n this.width = this.triggerRef.nativeElement.offsetWidth + 'px';\n }\n\n this.openDropdown(e.target as HTMLElement);\n this.expand.emit(true);\n e.stopPropagation();\n }\n }\n\n public onTriggerRightClicked(e: Event): void {\n if (\n !(e.target as HTMLElement).querySelector('.disabled') &&\n !(e.target as HTMLElement).querySelector(':disabled') &&\n !this.isOpened()\n ) {\n if (this.isBlock) {\n this.width = this.triggerRef.nativeElement.offsetWidth + 'px';\n }\n\n this.mousePositionX = (e as PointerEvent).clientX;\n this.mousePositionY = (e as PointerEvent).clientY;\n if(isPlatformBrowser(this.platformId)) {\n this.initialScrollX = window.pageXOffset;\n this.initialScrollY = window.pageYOffset;\n }\n\n this.openDropdown(e.target as HTMLElement);\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n public onClick(): void {\n if (\n this.hasClosedOnClickInside &&\n !this.activeDescendantKeyManager?.activeItem.subDropdown &&\n !this.activeDescendantKeyManager?.activeItem.elementRef?.nativeElement?.disabled\n ) {\n this.closeDropdown(true);\n }\n }\n\n /**\n * Open a dropdown\n *\n * @param origin Origin of the dropdown position\n */\n public openDropdown(origin: HTMLElement, position?: { x: number, y: number }): void {\n this.origin = origin;\n\n if (position) {\n this.mousePositionX = position.x;\n this.mousePositionY = position.y;\n if(isPlatformBrowser(this.platformId)) {\n this.initialScrollX = window.pageXOffset;\n this.initialScrollY = window.pageYOffset;\n }\n }\n\n if (this.isRightClickEnabled) {\n this.scrollSubscription = fromEvent(window, 'scroll').subscribe((event: Event) => {\n this.overlayRef?.updatePositionStrategy(this.getContextualMenuPositionStrategy());\n });\n }\n\n if (!this.isTriggerFocusableOnClose(origin)) {\n this.origin = origin.closest('button:not([disabled])') || (this.triggerRef.nativeElement.firstChild as HTMLElement);\n\n if (!this.origin) {\n this.origin = origin.closest('a');\n }\n\n if (!this.origin) {\n this.origin = origin;\n }\n }\n\n if (!this.isOpened()) {\n this.scrollDispatcherSubscription = this.scrollDispatcher\n .ancestorScrolled(this.origin)\n .pipe(takeUntil(this.destroy$))\n .subscribe((event: CdkScrollable) => {\n if (!this.isVisible(this.origin, event ? event.getElementRef().nativeElement : this.document.querySelector('body'))) {\n this.closeDropdown();\n }\n });\n\n const positionStrategy = this.isRightClickEnabled ? this.getContextualMenuPositionStrategy() : this.getPositionStrategy();\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n hasBackdrop: false,\n backdropClass: 'eui-dropdown__backdrop',\n panelClass: ['eui-dropdown__panel', this.subDropdownPosition === 'right' ? 'eui-dropdown--subdropdown-position-right' : 'eui-dropdown--subdropdown-position-left'],\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n });\n this.overlayRef.attach(this.templatePortal);\n\n if (this.isRightClickEnabled) {\n this.overlayRef?.updatePositionStrategy(this.getContextualMenuPositionStrategy());\n }\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.closeDropdown();\n });\n this.overlayRef\n .backdropClick()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.closeDropdown();\n });\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n this.closeDropdown();\n }\n });\n\n if (this.hasDropdownItems) {\n this.euiDropdownItems.toArray().forEach((euiDropdownItem, i) => {\n if (this.isExpandOnHover) {\n this.euiDropdownItemsEventSubscriptions[i] = fromEvent(\n euiDropdownItem.elementRef.nativeElement,\n 'mouseenter',\n ).pipe(takeUntil(this.destroy$)).subscribe((e: MouseEvent) => {\n this.activeDescendantKeyManager.setActiveItem(euiDropdownItem);\n if (this.activeDescendantKeyManager.activeItem?.subDropdown) {\n this.activeDescendantKeyManager.activeItem?.subDropdown.setParentDropdown(this);\n this.activeDescendantKeyManager.activeItem?.subDropdown.overlayRef.detachBackdrop();\n this.keydownListenerSubscription.unsubscribe();\n }\n\n const triggerOutsidePointerEvents = (subDropdown: EuiDropdownComponent): void => {\n subDropdown?.overlayRef?._outsidePointerEvents.next(e);\n\n if (subDropdown?.hasDropdownItems) {\n subDropdown.euiDropdownItems.toArray().forEach((s) => {\n triggerOutsidePointerEvents(s.subDropdown);\n });\n }\n };\n\n this.euiDropdownItems\n .filter((item) => !item.isFocus)\n .forEach((euiDropdownItemHavingSubDropdown) => {\n triggerOutsidePointerEvents(euiDropdownItemHavingSubDropdown.subDropdown);\n });\n });\n } else {\n this.euiDropdownItemsEventSubscriptions[i] = fromEvent(\n euiDropdownItem.elementRef.nativeElement,\n 'click',\n ).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.activeDescendantKeyManager.setActiveItem(euiDropdownItem);\n if (this.activeDescendantKeyManager.activeItem?.subDropdown) {\n this.activeDescendantKeyManager.activeItem?.subDropdown.setParentDropdown(this);\n this.activeDescendantKeyManager.activeItem?.subDropdown.overlayRef.detachBackdrop();\n this.keydownListenerSubscription.unsubscribe();\n }\n\n const labelElement = this.triggerRef.nativeElement.querySelector('button .eui-label');\n if (this.isLabelUpdatedFromSelectedItem && labelElement) {\n (labelElement as HTMLElement).innerText = euiDropdownItem.elementRef.nativeElement.innerText;\n }\n });\n }\n });\n\n this.activeDescendantKeyManager = new ActiveDescendantKeyManager(this.euiDropdownItems)\n .withHomeAndEnd(true)\n .withVerticalOrientation(true)\n .withWrap();\n this.activeDescendantKeyManager.setFirstItemActive();\n }\n\n this.createKeyboardHandlerSubscription();\n this.isOpened.set(true);\n this.dropdownService.isDropdownOpen.emit(true);\n }\n }\n\n /**\n * Close a dropdown\n */\n public closeDropdown(recursively = false): void {\n this.isOpened.set(false);\n this.expand.emit(false);\n this.euiDropdownItemsEventSubscriptions.forEach((euiDropdownItemsEventSubscription) => {\n euiDropdownItemsEventSubscription.unsubscribe();\n });\n this.keydownListenerSubscription.unsubscribe();\n if (this.hasDropdownItems) {\n this.activeDescendantKeyManager?.setFirstItemActive();\n }\n this.scrollDispatcherSubscription.unsubscribe();\n this.activeDescendantKeyManagerChangeSubscription.unsubscribe();\n this.scrollSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.activeDescendantKeyManager = null;\n if (this.trapFocusAutoCapture) {\n this.origin.focus();\n }\n if (recursively && this.parentDropdown) {\n this.parentDropdown.closeDropdown(true);\n }\n\n this.dropdownService.isDropdownOpen.emit(false);\n }\n\n public projectContentChanged(): void {\n if (!this.isRightClickEnabled) {\n this.positionStrategy = this.getPositionStrategy();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n }\n\n public createKeyboardHandlerSubscription(): void {\n this.keydownListenerSubscription = fromEvent(document, 'keydown').subscribe((event: KeyboardEvent) => {\n if (this.isOpened()) {\n if (\n event.code === 'Enter' &&\n !this.hasTabNavigation &&\n !this.activeDescendantKeyManager?.activeItem.elementRef?.nativeElement?.disabled\n ) {\n this.activeDescendantKeyManager?.activeItem.focus();\n this.isExpandOnHover\n ? this.activeDescendantKeyManager?.activeItem.mouseenter()\n : this.activeDescendantKeyManager?.activeItem.click();\n\n if (this.activeDescendantKeyManager?.activeItem.subDropdown) {\n this.activeDescendantKeyManager.activeItem.subDropdown.setParentDropdown(this);\n this.keydownListenerSubscription.unsubscribe();\n } else {\n this.closeDropdown();\n }\n event.preventDefault();\n } else if ((this.subDropdownPosition === 'right' && event.code === 'ArrowLeft') || this.subDropdownPosition === 'left' && event.code === 'ArrowRight') {\n if (this.parentDropdown) {\n this.parentDropdown.createKeyboardHandlerSubscription();\n this.closeDropdown();\n }\n event.preventDefault();\n } else if ((this.subDropdownPosition === 'right' && event.code === 'ArrowRight') || (this.subDropdownPosition === 'left' && event.code === 'ArrowLeft')) {\n if (this.activeDescendantKeyManager?.activeItem.subDropdown) {\n this.activeDescendantKeyManager.activeItem.focus();\n this.isExpandOnHover\n ? this.activeDescendantKeyManager.activeItem.mouseenter()\n : this.activeDescendantKeyManager.activeItem.click();\n this.activeDescendantKeyManager.activeItem.subDropdown.setParentDropdown(this);\n this.keydownListenerSubscription.unsubscribe();\n }\n event.preventDefault();\n } else if (event.code === 'Tab' && !this.hasTabNavigation) {\n this.closeDropdown(true);\n } else {\n this.activeDescendantKeyManager?.onKeydown(event);\n }\n\n this.cd.markForCheck();\n }\n });\n }\n\n public setParentDropdown(parentDropdown: EuiDropdownComponent): void {\n this.parentDropdown = parentDropdown;\n this.position = this.subDropdownPosition;\n\n this.setPosition();\n\n const positionStrategy = this.getPositionStrategy();\n this.overlayRef.updatePositionStrategy(positionStrategy);\n }\n\n private get hasDropdownItems(): boolean {\n return this.euiDropdownItems?.length > 0;\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions([\n new ConnectionPositionPair(\n { originX: this.originX, originY: this.originY },\n { overlayX: this.overlayX, overlayY: this.overlayY },\n ),\n ])\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private getContextualMenuPositionStrategy(): GlobalPositionStrategy {\n if(isPlatformServer(this.platformId)) {\n throw new Error('getContextualMenuPositionStrategy is not supported on the server');\n }\n const panelHeight = this.overlayRef?.overlayElement.clientHeight || 0;\n const scrollX = window.scrollX || window.pageXOffset;\n const scrollY = window.scrollY || window.pageYOffset;\n const newX = this.mousePositionX + (this.initialScrollX - scrollX);\n const newY = this.mousePositionY + (this.initialScrollY - scrollY);\n const menuBottomPosition = newY + panelHeight;\n const isMenuBelowWindowBottom = menuBottomPosition > window.innerHeight;\n\n const positionStrategy = this.overlay\n .position()\n .global()\n .left(newX + 'px');\n\n if (isMenuBelowWindowBottom) {\n positionStrategy.bottom(window.innerHeight - newY + 'px');\n } else {\n positionStrategy.top(newY + 'px');\n }\n\n return positionStrategy;\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private isTriggerFocusableOnClose(origin: HTMLElement): boolean {\n return origin.matches('button:not([disabled])') || origin.matches('a');\n }\n\n private setPosition(): void {\n if (this.position === 'top') {\n this.originY = 'top';\n this.overlayY = 'bottom';\n\n if (this.isDropDownRightAligned) {\n this.originX = 'end';\n this.overlayX = 'end';\n }\n }\n if (this.position === 'right') {\n this.originX = 'end';\n this.overlayX = 'start';\n this.overlayY = 'center';\n }\n if (this.position === 'bottom') {\n this.originY = 'bottom';\n this.overlayY = 'top';\n\n if (this.isDropDownRightAligned) {\n this.originX = 'end';\n this.overlayX = 'end';\n }\n }\n if (this.position === 'left') {\n this.originX = 'start';\n this.overlayX = 'end';\n this.overlayY = 'center';\n }\n }\n}\n","<div #triggerRef class=\"eui-dropdown__trigger-container\"\n (click)=\"!isRightClickEnabled ? onTriggerClicked($event) : null\"\n (contextmenu)=\"isRightClickEnabled ? onTriggerRightClicked($event) : null\">\n <ng-content></ng-content>\n</div>\n\n<ng-template #templatePortalContent>\n <div\n attr.data-e2e=\"{{ e2eAttr }}\"\n [@openClose]=\"isOpened() ? 'open' : 'closed'\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"trapFocusAutoCapture\"\n role=\"dialog\"\n aria-label=\"eUI dropdown panel\"\n class=\"eui-dropdown__panel-container eui-18\"\n [style.width]=\"width\"\n [tabindex]=\"tabIndex\"\n (click)=\"onClick()\"\n (cdkObserveContent)=\"projectContentChanged()\">\n <ng-content select=\"eui-dropdown-content\"></ng-content>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiDropdownComponent } from './eui-dropdown.component';\nimport { EuiDropdownItemComponent } from './dropdown-item/eui-dropdown-item.component';\nimport { EuiDropdownContentDirective } from './directives/eui-dropdown-content.directive';\nimport { EuiDropdownService } from './eui-dropdown.service';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, ScrollingModule, A11yModule, EuiIconModule, ObserversModule],\n declarations: [EuiDropdownComponent, EuiDropdownItemComponent, EuiDropdownContentDirective],\n exports: [EuiDropdownComponent, EuiDropdownItemComponent, EuiDropdownContentDirective],\n providers: [EuiDropdownService],\n})\nexport class EuiDropdownModule {}\n\n@NgModule({})\nexport class EuiDropdownContentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.EuiDropdownService"],"mappings":"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"}
|
@@ -189,7 +189,11 @@ class EuiPopoverComponent {
|
|
189
189
|
panelClass: this.baseStatesDirective.getCssClasses('eui-popover').split(' '),
|
190
190
|
});
|
191
191
|
this.overlayRef.attach(this.templatePortal);
|
192
|
-
document.
|
192
|
+
document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {
|
193
|
+
if (!el.classList.contains('eui-18')) {
|
194
|
+
el.classList.add('eui-18');
|
195
|
+
}
|
196
|
+
});
|
193
197
|
this.positionStrategy = positionStrategy;
|
194
198
|
this.positionStrategyUpdate$.next();
|
195
199
|
this.overlayRef
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/models/eui-popover-position.model.ts","../../eui-popover/directives/eui-popover-arrow-position.directive.ts","../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport const TOP = new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, ['eui-popover-position', 'eui-popover-position--top']);\nexport const BOTTOM = new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, ['eui-popover-position', 'eui-popover-position--bottom']);\nexport const LEFT = new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--left']);\nexport const RIGHT = new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--right']);\n\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n@Directive({\n selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n @Input('euiPopoverArrowPosition')\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n private destroy$: Subject<void> = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `top: unset; bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `left: unset; right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n OnInit,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSizeM',\n 'euiSizeL',\n 'euiSizeXL',\n 'euiSize2XL',\n 'euiSizeAuto',\n 'euiSizeVariant',\n ],\n },\n ],\n})\nexport class EuiPopoverComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n @Input() title: string;\n @Input() position: EuiPopoverPosition = 'bottom';\n /** @deprecated This will be removed in next version of eui in favor of euiSizeVariant */\n @Input() size: 'default' | 'small' | 'large' | 'auto' | 's' | 'm' | 'l' | 'xl' | string = 'default';\n @Input() type: 'default' | 'flat' | 'colored-header' | 'colored-solid' = 'default';\n @Input() width: string = null;\n @Input({ transform: booleanAttribute }) hasBackDrop = false;\n @Input({ transform: booleanAttribute }) hasCloseButton = true;\n @Input({ transform: booleanAttribute }) isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() popoverOpen = new EventEmitter();\n @Output() popoverClose = new EventEmitter();\n\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$: Subject<void> = new Subject();\n\n constructor(private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n private baseStatesDirective: BaseStatesDirective){\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (this.position === 'top') {\n this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n } else if (this.position === 'right') {\n this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n } else if (this.position === 'left') {\n this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n } else {\n this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n }\n }\n\n ngOnInit(): void {\n this.setPositionStream();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /** @deprecated This will be removed in next version of eui in favor of isOpen */\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * \\@if (popover.isOpen) {\n * <my-component></my-component>\n * }\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Open a popover\n *\n * @param origin Origin of the popover position\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isPopoverOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width,\n panelClass: this.baseStatesDirective.getCssClasses('eui-popover').split(' '),\n });\n this.overlayRef.attach(this.templatePortal);\n\n document.querySelector('.cdk-overlay-container')?.classList.add('eui-18');\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.popoverOpen.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.popoverClose.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n *\n * @param event The key event pressed\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private setPositionStream(): void {\n this.position$ = this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n map((position) => {\n const rect = this.origin.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement).getBoundingClientRect();\n return [position, rect];\n }),\n );\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }}\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, EuiButtonModule, EuiIconModule, EuiIconButtonModule, A11yModule, ObserversModule],\n declarations: [EuiPopoverComponent, EuiPopoverArrowPositionDirective],\n exports: [EuiPopoverComponent],\n})\nexport class EuiPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i8.EuiPopoverArrowPositionDirective"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-popover.mjs","sources":["../../eui-popover/models/eui-popover-position.model.ts","../../eui-popover/directives/eui-popover-arrow-position.directive.ts","../../eui-popover/eui-popover.component.ts","../../eui-popover/eui-popover.component.html","../../eui-popover/eui-popover.module.ts","../../eui-popover/eui-components-eui-popover.ts"],"sourcesContent":["import { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport type EuiPopoverPosition = 'top' | 'right' | 'bottom' | 'left';\n\nexport const TOP = new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }, 0, 0, ['eui-popover-position', 'eui-popover-position--top']);\nexport const BOTTOM = new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }, 0, 0, ['eui-popover-position', 'eui-popover-position--bottom']);\nexport const LEFT = new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--left']);\nexport const RIGHT = new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }, 0, 0, ['eui-popover-position', 'eui-popover-position--right']);\n\nexport const getPosition = ({ connectionPair }: ConnectedOverlayPositionChange): EuiPopoverPosition => {\n switch (connectionPair) {\n case TOP:\n return 'top';\n case BOTTOM:\n return 'bottom';\n case LEFT:\n return 'left';\n case RIGHT:\n return 'right';\n }\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Observable, Subject, takeUntil } from 'rxjs';\n\nimport { EuiPopoverPosition } from '../models/eui-popover-position.model';\n\n@Directive({\n selector: '[euiPopoverArrowPosition]',\n})\nexport class EuiPopoverArrowPositionDirective implements OnInit, OnDestroy {\n @Input('euiPopoverArrowPosition')\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n private destroy$: Subject<void> = new Subject();\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef,\n @Inject(DOCUMENT) private document: Document,\n ) {}\n\n ngOnInit(): void {\n this.position$.pipe(takeUntil(this.destroy$)).subscribe(([position, originRect]) => {\n this.renderer.setProperty(this.elementRef.nativeElement, 'style', this.getStyle(position, originRect));\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private getStyle(position: EuiPopoverPosition, originRect: DOMRect): string {\n const arrowRect: DOMRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n if (position === 'left' || position === 'right') {\n const verticalDiff: number =\n Math.floor(arrowRect.top + arrowRect.height / 2) - Math.floor(originRect.top + originRect.height / 2);\n\n if (verticalDiff > 0) {\n return `top: ${originRect.top + originRect.height / 2}px`;\n } else if (verticalDiff < 0) {\n return `top: unset; bottom: ${\n this.document.body.clientHeight - originRect.bottom + originRect.height / 2 - arrowRect.height\n }px`;\n }\n }\n if (position === 'top' || position === 'bottom') {\n const horizontalDiff: number =\n Math.floor(arrowRect.left + arrowRect.width / 2) - Math.floor(originRect.left + originRect.width / 2);\n\n if (horizontalDiff > 0) {\n return `left: ${originRect.left + originRect.width / 2}px`;\n } else if (horizontalDiff < 0) {\n return `left: unset; right: ${\n this.document.body.clientWidth - originRect.right + originRect.width / 2 - arrowRect.width\n }px`;\n }\n }\n return '';\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n ViewChild,\n TemplateRef,\n ViewContainerRef,\n AfterViewInit,\n OnDestroy,\n OnInit,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Overlay,\n OverlayRef,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategyOrigin,\n ScrollDispatcher,\n CdkScrollable,\n FlexibleConnectedPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, map, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiPopoverPosition, BOTTOM, LEFT, RIGHT, TOP, getPosition } from './models/eui-popover-position.model';\n\n@Component({\n selector: 'eui-popover',\n templateUrl: './eui-popover.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [\n 'euiSizeS',\n 'euiSizeM',\n 'euiSizeL',\n 'euiSizeXL',\n 'euiSize2XL',\n 'euiSizeAuto',\n 'euiSizeVariant',\n ],\n },\n ],\n})\nexport class EuiPopoverComponent implements AfterViewInit, OnDestroy, OnInit, OnChanges {\n @Input() title: string;\n @Input() position: EuiPopoverPosition = 'bottom';\n /** @deprecated This will be removed in next version of eui in favor of euiSizeVariant */\n @Input() size: 'default' | 'small' | 'large' | 'auto' | 's' | 'm' | 'l' | 'xl' | string = 'default';\n @Input() type: 'default' | 'flat' | 'colored-header' | 'colored-solid' = 'default';\n @Input() width: string = null;\n @Input({ transform: booleanAttribute }) hasBackDrop = false;\n @Input({ transform: booleanAttribute }) hasCloseButton = true;\n @Input({ transform: booleanAttribute }) isDismissable = true;\n\n @Output() outsideClick = new EventEmitter();\n @Output() popoverOpen = new EventEmitter();\n @Output() popoverClose = new EventEmitter();\n\n public position$: Observable<[EuiPopoverPosition, DOMRect]>;\n\n @ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;\n\n private templatePortal: TemplatePortal;\n private overlayRef: OverlayRef;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private scrollDispatcherSubscription = new Subscription();\n private origin: ElementRef;\n private preferredPositons: ConnectionPositionPair[] = [BOTTOM, TOP, LEFT, RIGHT];\n private positionStrategy: FlexibleConnectedPositionStrategy;\n private positionStrategyUpdate$: Subject<void> = new Subject();\n\n constructor(private overlay: Overlay,\n private viewContainerRef: ViewContainerRef,\n private scrollDispatcher: ScrollDispatcher,\n private baseStatesDirective: BaseStatesDirective){\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (this.position === 'top') {\n this.preferredPositons = [TOP, BOTTOM, LEFT, RIGHT];\n } else if (this.position === 'right') {\n this.preferredPositons = [RIGHT, LEFT, TOP, BOTTOM];\n } else if (this.position === 'left') {\n this.preferredPositons = [LEFT, RIGHT, TOP, BOTTOM];\n } else {\n this.preferredPositons = [BOTTOM, TOP, LEFT, RIGHT];\n }\n }\n\n ngOnInit(): void {\n this.setPositionStream();\n }\n\n ngAfterViewInit(): void {\n this.templatePortal = new TemplatePortal(this.templatePortalContent, this.viewContainerRef);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n }\n\n /** @deprecated This will be removed in next version of eui in favor of isOpen */\n get isPopoverOpen(): boolean {\n return this.isOpen$.value;\n }\n\n /**\n * Whether the eui-popover is open.\n *\n * @usageNotes\n * ```html\n * <eui-popover #popover>\n * \\@if (popover.isOpen) {\n * <my-component></my-component>\n * }\n * </eui-popover>\n * ```\n * @returns A boolean with value `true` when open, otherwise `false`.\n */\n get isOpen(): boolean {\n return this.isOpen$.value;\n }\n\n public onContentChange(): void {\n this.positionStrategy = this.getPositionStrategy();\n this.positionStrategyUpdate$.next();\n this.overlayRef.updatePositionStrategy(this.positionStrategy);\n }\n\n /**\n * Open a popover\n *\n * @param origin Origin of the popover position\n */\n public openPopover(origin: ElementRef): void {\n if (!this.isPopoverOpen) {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(origin).subscribe((event: CdkScrollable) => {\n const scrollableParent = event ? event.getElementRef().nativeElement : document.querySelector('body');\n if (!this.isVisible(origin as unknown as HTMLElement, scrollableParent)) {\n this.closePopover();\n }\n });\n\n this.origin = origin;\n const positionStrategy = this.getPositionStrategy();\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition({ scrollThrottle: 10 });\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n width: this.width,\n panelClass: this.baseStatesDirective.getCssClasses('eui-popover').split(' '),\n });\n this.overlayRef.attach(this.templatePortal);\n\n document.querySelectorAll('.cdk-overlay-container')?.forEach(el => {\n if (!el.classList.contains('eui-18')) {\n el.classList.add('eui-18');\n }\n });\n\n this.positionStrategy = positionStrategy;\n this.positionStrategyUpdate$.next();\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n if (this.isDismissable) {\n this.outsideClick.emit();\n this.closePopover();\n }\n });\n\n this.isOpen$.next(true);\n this.popoverOpen.emit();\n }\n }\n\n /**\n * Close a popover\n */\n public closePopover(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n this.overlayRef.dispose();\n this.overlayRef = null;\n this.isOpen$.next(false);\n this.popoverClose.emit();\n }\n\n /**\n * Reacts on the Esc keydown event to close the popup. Can be used as alternative to the close icon button,\n * or as the main way to close the popup when hasCloseButton is false\n *\n * @param event The key event pressed\n */\n public onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.closePopover();\n }\n }\n\n private isVisible(origin: HTMLElement, scrollableParent: HTMLElement): boolean {\n const originY = origin.getBoundingClientRect().y;\n const scrollableParentY = Math.abs(scrollableParent.getBoundingClientRect().y);\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height - 50;\n\n return (\n (originY > 0 && originY < scrollableParentHeight) ||\n (originY - scrollableParentY > 0 && originY < scrollableParentY + scrollableParentHeight)\n );\n }\n\n private getPositionStrategy(): FlexibleConnectedPositionStrategy {\n return this.overlay\n .position()\n .flexibleConnectedTo(this.origin as FlexibleConnectedPositionStrategyOrigin)\n .withPositions(this.preferredPositons)\n .withFlexibleDimensions(false)\n .withLockedPosition(true);\n }\n\n private setPositionStream(): void {\n this.position$ = this.positionStrategyUpdate$.pipe(\n switchMap(() => this.positionStrategy.positionChanges),\n map(getPosition),\n distinctUntilChanged(),\n map((position) => {\n const rect = this.origin.nativeElement ?\n this.origin.nativeElement.getBoundingClientRect() :\n (this.origin as unknown as HTMLElement).getBoundingClientRect();\n return [position, rect];\n }),\n );\n }\n}\n","<ng-template #templatePortalContent>\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n</ng-template>\n\n<ng-template #template>\n <div class=\"eui-popover__container eui-popover__container--{{ type }}\" cdkTrapFocus cdkTrapFocusAutoCapture (keydown)=\"onKeyDown($event)\">\n <div class=\"eui-popover__arrow\" [euiPopoverArrowPosition]=\"position$\">\n <div class=\"eui-popover__arrow-inner\"></div>\n </div>\n @if (title) {\n <div class=\"eui-popover__header\">\n <div class=\"eui-popover__header-title\">{{ title }}</div>\n @if (hasCloseButton) {\n <button\n class=\"eui-popover__header-close\"\n (click)=\"closePopover()\"\n euiButton\n euiSizeS\n euiIconButton\n euiRounded\n euiBasicButton\n aria-label=\"Dialog close icon\">\n <eui-icon-svg icon=\"close:outline\"></eui-icon-svg>\n </button>\n }\n </div>\n }\n <div (cdkObserveContent)=\"onContentChange()\" class=\"eui-popover__content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { ObserversModule } from '@angular/cdk/observers';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\nimport { EuiPopoverComponent } from './eui-popover.component';\nimport { EuiPopoverArrowPositionDirective } from './directives/eui-popover-arrow-position.directive';\nimport { EuiIconButtonModule } from '@eui/components/eui-icon-button';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, EuiButtonModule, EuiIconModule, EuiIconButtonModule, A11yModule, ObserversModule],\n declarations: [EuiPopoverComponent, EuiPopoverArrowPositionDirective],\n exports: [EuiPopoverComponent],\n})\nexport class EuiPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i8.EuiPopoverArrowPositionDirective"],"mappings":"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"}
|