@eui/components 14.0.29 → 14.0.30
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/docs/classes/EuiDialogConfig.html +23 -0
- package/docs/components/EuiDialogComponent.html +211 -10
- package/docs/interfaces/EuiDialogInterface.html +45 -0
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +160 -127
- package/esm2020/eui-dialog/eui-dialog.component.mjs +44 -8
- package/esm2020/eui-dialog/models/eui-dialog.config.mjs +2 -1
- package/esm2020/eui-dialog/services/eui-dialog.service.mjs +8 -2
- package/esm2020/eui-file-upload/utils/eui-file-upload.validators.mjs +41 -17
- package/esm2020/eui-table/eui-table.component.mjs +2 -2
- package/eui-dialog/eui-dialog.component.d.ts +11 -4
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
- package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
- package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
- package/eui-file-upload/utils/eui-file-upload.validators.d.ts +17 -1
- package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-dialog.mjs +46 -8
- package/fesm2015/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2015/eui-components-eui-file-upload.mjs +41 -17
- package/fesm2015/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2015/eui-components-eui-table.mjs +2 -2
- package/fesm2015/eui-components-eui-table.mjs.map +1 -1
- package/fesm2020/eui-components-eui-dialog.mjs +51 -8
- package/fesm2020/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2020/eui-components-eui-file-upload.mjs +41 -17
- package/fesm2020/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2020/eui-components-eui-table.mjs +2 -2
- package/fesm2020/eui-components-eui-table.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -33,6 +33,7 @@ class EuiDialogConfig {
|
|
|
33
33
|
this.dismissLabel = 'eui.CANCEL';
|
|
34
34
|
this.width = '50rem';
|
|
35
35
|
this.height = 'auto';
|
|
36
|
+
this.isFullScreen = false;
|
|
36
37
|
this.hasCloseButton = true;
|
|
37
38
|
this.hasAcceptButton = true;
|
|
38
39
|
this.hasDismissButton = true;
|
|
@@ -238,7 +239,13 @@ class EuiDialogService {
|
|
|
238
239
|
const scrollStrategy = this.overlay.scrollStrategies.block();
|
|
239
240
|
const isClosedOnEscape = config.isClosedOnEscape;
|
|
240
241
|
const hasCloseButton = config.hasCloseButton;
|
|
241
|
-
const dialogConfig = new EuiDialogConfig({
|
|
242
|
+
const dialogConfig = new EuiDialogConfig({
|
|
243
|
+
...config,
|
|
244
|
+
isClosedOnEscape,
|
|
245
|
+
hasCloseButton,
|
|
246
|
+
width: config.isFullScreen ? '100vw' : config.width,
|
|
247
|
+
height: config.isFullScreen ? '100vh' : config.height,
|
|
248
|
+
});
|
|
242
249
|
const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);
|
|
243
250
|
const overlayRef = this.overlay.create({
|
|
244
251
|
backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],
|
|
@@ -389,8 +396,6 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
389
396
|
this.viewContainerRef = viewContainerRef;
|
|
390
397
|
this.euiDialogService = euiDialogService;
|
|
391
398
|
this.e2eAttr = 'eui-dialog';
|
|
392
|
-
this.width = '50rem';
|
|
393
|
-
this.height = 'auto';
|
|
394
399
|
this.acceptLabel = 'eui.OK';
|
|
395
400
|
this.dismissLabel = 'eui.CANCEL';
|
|
396
401
|
this.clickOutside = new EventEmitter();
|
|
@@ -402,6 +407,9 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
402
407
|
this.dismiss = new EventEmitter();
|
|
403
408
|
this.accept = new EventEmitter();
|
|
404
409
|
this.isOpen$ = new BehaviorSubject(false);
|
|
410
|
+
this._width = '50rem';
|
|
411
|
+
this._height = 'auto';
|
|
412
|
+
this._isFullScreen = false;
|
|
405
413
|
this._hasCloseButton = true;
|
|
406
414
|
this._hasAcceptButton = true;
|
|
407
415
|
this._hasDismissButton = true;
|
|
@@ -419,6 +427,38 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
419
427
|
this._hasFooter = true;
|
|
420
428
|
this.destroy$ = new Subject();
|
|
421
429
|
}
|
|
430
|
+
get width() {
|
|
431
|
+
if (this._isFullScreen === true) {
|
|
432
|
+
return '100vw';
|
|
433
|
+
}
|
|
434
|
+
return this._width;
|
|
435
|
+
}
|
|
436
|
+
set width(value) {
|
|
437
|
+
if (this._isFullScreen !== true) {
|
|
438
|
+
this._width = value;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
get height() {
|
|
442
|
+
if (this._isFullScreen === true) {
|
|
443
|
+
return '100vh';
|
|
444
|
+
}
|
|
445
|
+
return this._height;
|
|
446
|
+
}
|
|
447
|
+
set height(value) {
|
|
448
|
+
if (this._isFullScreen !== true) {
|
|
449
|
+
this._height = value;
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
get isFullScreen() {
|
|
453
|
+
return this._isFullScreen;
|
|
454
|
+
}
|
|
455
|
+
set isFullScreen(value) {
|
|
456
|
+
this._isFullScreen = coerceBooleanProperty(value);
|
|
457
|
+
if (this._isFullScreen === true) {
|
|
458
|
+
this._width = '100vw';
|
|
459
|
+
this._height = '100vh';
|
|
460
|
+
}
|
|
461
|
+
}
|
|
422
462
|
get hasCloseButton() { return this._hasCloseButton; }
|
|
423
463
|
set hasCloseButton(value) { this._hasCloseButton = coerceBooleanProperty(value); }
|
|
424
464
|
get hasAcceptButton() { return this._hasAcceptButton; }
|
|
@@ -513,6 +553,7 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
513
553
|
title: this.title,
|
|
514
554
|
width: this.width,
|
|
515
555
|
height: this.height,
|
|
556
|
+
isFullScreen: this.isFullScreen,
|
|
516
557
|
typeClass: this.typeClass,
|
|
517
558
|
acceptLabel: this.acceptLabel,
|
|
518
559
|
dismissLabel: this.dismissLabel,
|
|
@@ -604,7 +645,7 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
604
645
|
}
|
|
605
646
|
}
|
|
606
647
|
/** @nocollapse */ EuiDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, deps: [{ token: i0.ViewContainerRef }, { token: EuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
607
|
-
/** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title",
|
|
648
|
+
/** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title", acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", width: "width", height: "height", isFullScreen: "isFullScreen", hasCloseButton: "hasCloseButton", hasAcceptButton: "hasAcceptButton", hasDismissButton: "hasDismissButton", hasMobileCustomSize: "hasMobileCustomSize", isClosedOnClickOutside: "isClosedOnClickOutside", isClosedOnEscape: "isClosedOnEscape", isHandleCloseOnDismiss: "isHandleCloseOnDismiss", isHandleCloseOnClose: "isHandleCloseOnClose", isHandleCloseOnAccept: "isHandleCloseOnAccept", isHandleCloseOnClickOutside: "isHandleCloseOnClickOutside", isHandleCloseOnEscape: "isHandleCloseOnEscape", isMessageBox: "isMessageBox", isDraggable: "isDraggable", hasNoBodyPadding: "hasNoBodyPadding", hasFooter: "hasFooter" }, outputs: { clickOutside: "clickOutside", escape: "escape", open: "open", close: "close", dismiss: "dismiss", accept: "accept" }, providers: [
|
|
608
649
|
{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }
|
|
609
650
|
], queries: [{ propertyName: "euiDialogHeaderDirective", first: true, predicate: i0.forwardRef(function () { return EuiDialogHeaderDirective; }), descendants: true }, { propertyName: "euiDialogFooterDirective", first: true, predicate: i0.forwardRef(function () { return EuiDialogFooterDirective; }), descendants: true }], viewQueries: [{ propertyName: "templateRefHeader", first: true, predicate: ["templateRefHeader"], descendants: true }, { propertyName: "templateRefContent", first: true, predicate: ["templateRefContent"], descendants: true }, { propertyName: "templateRefFooter", first: true, predicate: ["templateRefFooter"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n", styles: [".eui-dialog-container{display:flex;width:100%}.eui-dialog-container .eui-dialog{background-color:var(--eui-base-color-white);border:2px solid var(--eui-base-color-grey-10);border-radius:var(--eui-base-border-radius);box-shadow:var(--eui-base-shadow-12);display:flex;height:100%;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content{display:flex;flex-direction:column;position:relative;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header{align-items:center;border-bottom:1px solid var(--eui-base-color-grey-10);border-top-left-radius:var(--eui-base-border-radius-base);border-top-right-radius:var(--eui-base-border-radius-base);display:flex;flex:0 0 auto;justify-content:space-between;padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-dialog-header,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-message-box-header{align-items:center;display:flex;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-dialog-header>*,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header eui-message-box-header>*{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header-title{color:var(--eui-base-font-color);font-size:var(--eui-base-font-size-xl);font-style:normal;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__header.eui-dialog__header--handle-disabled{cursor:default!important}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body{display:flex;overflow:auto;position:relative}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__body-content{height:auto;padding:var(--eui-base-spacing-m);width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer{align-items:center;background-color:var(--eui-base-color-grey-5);border-bottom-left-radius:var(--eui-base-border-radius-base);border-bottom-right-radius:var(--eui-base-border-radius-base);border-top:1px solid var(--eui-base-color-grey-10);display:flex;padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer ng-component{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-dialog-footer,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-message-box-footer{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-dialog-footer>*,.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer eui-message-box-footer>*{width:100%}.eui-dialog-container .eui-dialog .eui-dialog__content .eui-dialog__footer .eui-dialog__footer-content{align-items:center;display:flex;justify-content:flex-end;width:100%}.eui-dialog-container .eui-dialog--no-padding .eui-dialog__content .eui-dialog__body-content{padding:0}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body{align-items:center;display:flex}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content{height:auto;padding:var(--eui-base-spacing-m);align-items:center;display:flex;width:100%}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content-icon-container{align-self:flex-start;padding:var(--eui-base-spacing-m)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content-icon{background:var(--eui-base-color-grey-10);border-radius:50%;display:inline-flex;font-size:var(--eui-base-font-size-5xl);padding:var(--eui-base-spacing-s)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-content p{margin-top:0}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-icon{margin:0 var(--eui-base-spacing)}.eui-dialog-container .eui-dialog.eui-dialog--message-box .eui-dialog__content .eui-dialog__body-icon-content{background:var(--eui-base-color-grey-15);border-radius:50%;font-size:var(--eui-base-font-size-5xl);margin-right:var(--eui-base-spacing);overflow:auto;padding:var(--eui-base-spacing-s)}.eui-dialog__backdrop.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{background-color:var(--eui-base-color-grey-100);opacity:var(--eui-base-disabled-opacity)}@media screen and (max-width: 767px){.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size){height:100vh;left:0;position:fixed;top:0;width:100vw}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content{height:100%;width:100%}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__header{border-top-left-radius:0;border-top-right-radius:0;flex:0 0 auto}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__body{flex:1 1 auto;height:100vh!important;max-height:100vh!important;max-width:100vw!important;overflow-x:hidden;overflow-y:scroll;width:100vw!important}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__body-content{flex:1 1 auto}.eui-dialog-container .eui-dialog:not(.eui-dialog--custom-size) .eui-dialog__content .eui-dialog__footer{border-bottom-left-radius:0;border-bottom-right-radius:0;flex:0 0 auto}}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary{border-color:var(--eui-base-color-primary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--primary .eui-dialog__body-content-icon{color:var(--eui-base-color-primary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary{border-color:var(--eui-base-color-secondary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--secondary .eui-dialog__body-content-icon{color:var(--eui-base-color-secondary)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info{border-color:var(--eui-base-color-info)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--info .eui-dialog__body-content-icon{color:var(--eui-base-color-info)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success{border-color:var(--eui-base-color-success)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--success .eui-dialog__body-content-icon{color:var(--eui-base-color-success)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning{border-color:var(--eui-base-color-warning)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning .eui-dialog__header-title{color:var(--eui-base-color-warning-130)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--warning .eui-dialog__body-content-icon{color:var(--eui-base-color-warning)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger{border-color:var(--eui-base-color-danger)}.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger .eui-dialog__header-title,.eui-dialog-container .eui-dialog.eui-dialog--message-box.eui-dialog--danger .eui-dialog__body-content-icon{color:var(--eui-base-color-danger)}.eui-dialog-container .eui-dialog--draggable .eui-dialog__header{cursor:move}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
610
651
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, decorators: [{
|
|
@@ -616,10 +657,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
616
657
|
type: Input
|
|
617
658
|
}], title: [{
|
|
618
659
|
type: Input
|
|
619
|
-
}], width: [{
|
|
620
|
-
type: Input
|
|
621
|
-
}], height: [{
|
|
622
|
-
type: Input
|
|
623
660
|
}], acceptLabel: [{
|
|
624
661
|
type: Input
|
|
625
662
|
}], dismissLabel: [{
|
|
@@ -653,6 +690,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
653
690
|
}], euiDialogFooterDirective: [{
|
|
654
691
|
type: ContentChild,
|
|
655
692
|
args: [forwardRef(() => EuiDialogFooterDirective)]
|
|
693
|
+
}], width: [{
|
|
694
|
+
type: Input
|
|
695
|
+
}], height: [{
|
|
696
|
+
type: Input
|
|
697
|
+
}], isFullScreen: [{
|
|
698
|
+
type: Input
|
|
656
699
|
}], hasCloseButton: [{
|
|
657
700
|
type: Input
|
|
658
701
|
}], hasAcceptButton: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-dialog.mjs","sources":["../../eui-dialog/services/eui-dialog.token.ts","../../eui-dialog/models/eui-dialog.config.ts","../../eui-dialog/container/eui-dialog-container.component.ts","../../eui-dialog/container/eui-dialog-container.component.html","../../eui-dialog/models/opened-dialog.model.ts","../../eui-dialog/services/eui-dialog.service.ts","../../eui-dialog/eui-dialog.component.ts","../../eui-dialog/eui-dialog.component.html","../../eui-dialog/eui-dialog.module.ts","../../eui-dialog/eui-components-eui-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DIALOG_CONTAINER_CONFIG = new InjectionToken<any>('DIALOG_CONTAINER_CONFIG');\nexport const DIALOG_COMPONENT_CONFIG = new InjectionToken<any>('DIALOG_COMPONENT_CONFIG');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n width = '50rem';\n height = 'auto';\n hasCloseButton = true;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasMobileCustomSize = false;\n isClosedOnClickOutside = false;\n isClosedOnEscape = true;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = false;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n dialogId?: string;\n e2eAttr?: string;\n title?: string;\n typeClass?: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent');\n acceptLabel?: string;\n dismissLabel?: string;\n width?: string;\n height?: string;\n headerComponent?: {\n component: ComponentType<HC>,\n config?: HCC,\n };\n bodyComponent?: {\n component: ComponentType<BC>,\n config?: BCC,\n };\n footerComponent?: {\n component: ComponentType<FC>,\n config?: FCC,\n };\n header?: TemplatePortal;\n content?: TemplatePortal | string | null;\n footer?: TemplatePortal;\n hasCloseButton?: boolean;\n hasAcceptButton?: boolean;\n hasDismissButton?: boolean;\n hasMobileCustomSize?: boolean;\n isClosedOnClickOutside?: boolean;\n isClosedOnEscape?: boolean;\n isHandleCloseOnDismiss?: boolean;\n isHandleCloseOnClose?: boolean;\n isHandleCloseOnAccept?: boolean;\n isHandleCloseOnClickOutside?: boolean;\n isHandleCloseOnEscape?: boolean;\n isDraggable?: boolean;\n hasNoBodyPadding?: boolean;\n hasFooter?: boolean;\n isMessageBox?: boolean;\n\n overlayRef?: OverlayRef;\n\n open?: () => void;\n init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ComponentRef, Inject, Injector, StaticProvider, OnDestroy, HostBinding,\n ChangeDetectorRef } from '@angular/core';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\n\n@Component({\n selector: 'eui-dialog-container',\n templateUrl: './eui-dialog-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy {\n\n public isHeaderTemplatePortal = false;\n public isBodyTemplatePortal = false;\n public isFooterTemplatePortal = false;\n\n public isHeaderComponentPortal = false;\n public isBodyComponentPortal = false;\n public isFooterComponentPortal = false;\n\n public headerComponentPortal: ComponentPortal<HC>;\n public bodyComponentPortal: ComponentPortal<BC>;\n public footerComponentPortal: ComponentPortal<FC>;\n\n public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @HostBinding('class') string = 'eui-dialog-container';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(@Inject(DIALOG_CONTAINER_CONFIG) public dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>,\n private injector: Injector, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n this.isHeaderTemplatePortal = true;\n }\n if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n this.isBodyTemplatePortal = true;\n }\n if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n this.isFooterTemplatePortal = true;\n }\n\n if (this.dialogContainerConfig.headerComponent?.component) {\n this.isHeaderComponentPortal = true;\n this.headerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.headerComponent.component,\n this.dialogContainerConfig.headerComponent.config,\n ) as ComponentPortal<HC>;\n }\n if (this.dialogContainerConfig.bodyComponent?.component) {\n this.isBodyComponentPortal = true;\n this.bodyComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.bodyComponent.component,\n this.dialogContainerConfig.bodyComponent.config,\n ) as ComponentPortal<BC>;\n }\n if (this.dialogContainerConfig.footerComponent?.component) {\n this.isFooterComponentPortal = true;\n this.footerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.footerComponent.component,\n this.dialogContainerConfig.footerComponent.config,\n ) as ComponentPortal<FC>;\n }\n\n this.dialogContainerConfig.open();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n return this.componentInstances;\n }\n\n get getPortalOutlet(): TemplatePortal | null {\n return this.dialogContainerConfig.content as TemplatePortal;\n }\n\n get dialogContainerConfigContent(): string {\n return this.dialogContainerConfig.content as string;\n }\n\n public portalAttached(attachedRef: CdkPortalOutletAttachedRef, component: ('headerComponent' | 'bodyComponent' | 'footerComponent')): void {\n const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n this.componentInstances = {\n ...this.componentInstances,\n [component]: componentRef.instance,\n };\n\n this.dialogContainerConfig.init(this.componentInstances);\n\n if (this.dialogContainerConfig[component].config) {\n Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n if (componentRef.instance[c]) {\n componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n });\n }\n } else {\n componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n }\n });\n }\n }\n\n public closeDialog(): void {\n this.dialogContainerConfig.close(this.componentInstances);\n }\n\n public onDismiss(): void {\n this.dialogContainerConfig.dismiss(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n this.closeDialog();\n }\n }\n\n public onAccept(): void {\n this.dialogContainerConfig.accept(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n this.closeDialog();\n }\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.acceptButtonDisabled$.next(true);\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.acceptButtonDisabled$.next(false);\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.dismissButtonDisabled$.next(true);\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.dismissButtonDisabled$.next(false);\n }\n\n public onScroll(): void {\n this.cd.detectChanges();\n }\n\n private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n }\n\n private createInjector(data: HCC | BCC | FCC): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","<div\n class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.typeClass }} eui-u-anim\"\n [class.eui-u-anim--flipInY]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-u-anim--fadeIn]=\"!dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n role=\"dialog\"\n [attr.aria-label]=\"dialogContainerConfig.isMessageBox ? 'Opened dialog window' : 'Opened message box window'\"\n tabindex=\"-1\"\n attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n cdkDrag\n cdkDragRootElement=\".cdk-overlay-pane\"\n [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture>\n\n <div class=\"eui-dialog__content\" role=\"document\">\n <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n <ng-container *ngIf=\"!isHeaderTemplatePortal && !isHeaderComponentPortal\">\n <h5 class=\"eui-dialog__header-title\">{{ dialogContainerConfig.title | translate }}</h5>\n <button type=\"button\" *ngIf=\"dialogContainerConfig.hasCloseButton\" (click)=\"closeDialog()\" euiButton euiIconButton euiRounded euiBasicButton euiSizeS>\n <span class=\"eui-icon eui-icon-close-m\"></span>\n </button>\n </ng-container>\n <ng-container *ngIf=\"isHeaderTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isHeaderComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n </ng-container>\n </div>\n <div class=\"eui-dialog__body\" cdkScrollable\n [style.height]=\"dialogContainerConfig.height\"\n [style.max-height]=\"dialogContainerConfig.height\"\n (scroll)=\"onScroll()\">\n <span *ngIf=\"dialogContainerConfig.isMessageBox\" class=\"eui-dialog__body-content-icon-container\">\n <span euiIcon iconClass=\"eui-icon eui-icon-question eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'primary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'secondary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-info eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'info'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-check eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'success'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'warning'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-ecl-error eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'danger'\"></span>\n </span>\n <div *ngIf=\"!isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n </div>\n <div *ngIf=\"isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n </div>\n <div *ngIf=\"isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n </div>\n </div>\n <div class=\"eui-dialog__footer\" *ngIf=\"dialogContainerConfig.hasFooter\">\n <ng-container *ngIf=\"!isFooterTemplatePortal && !isFooterComponentPortal\">\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!isFooterTemplatePortal\">\n <div class=\"eui-dialog__footer-content\">\n <button type=\"button\" euiButton\n *ngIf=\"dialogContainerConfig.hasDismissButton\"\n [euiDisabled]=\"dismissButtonDisabled$ | async\"\n class=\"eui-dialog__footer-dismiss-button\"\n [class.eui-u-mr-s]=\"dialogContainerConfig.hasAcceptButton\"\n (click)=\"onDismiss()\">\n {{ dialogContainerConfig.dismissLabel | translate }}\n </button>\n <button type=\"button\" euiButton\n euiPrimary\n *ngIf=\"dialogContainerConfig.hasAcceptButton\"\n [euiDisabled]=\"acceptButtonDisabled$ | async\"\n class=\"eui-dialog__footer-accept-button\"\n (click)=\"onAccept()\">\n {{ dialogContainerConfig.acceptLabel | translate }}\n </button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isFooterComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n </ng-container>\n </div>\n </div>\n\n</div>\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n id: string = null;\n order: number = null;\n overlayRef: OverlayRef = null;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n constructor(values: OpenedDialogInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface OpenedDialogInterface {\n id: string;\n order: number;\n overlayRef: OverlayRef;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\n\n@Injectable()\nexport class EuiDialogService implements OnDestroy {\n\n private overlayRef: OverlayRef;\n private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.openedDialogs$.next(null);\n }\n\n /**\n * Open a dialog.\n * @param config Configuration applied to the dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): OpenedDialog {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const isClosedOnEscape = config.isClosedOnEscape;\n const hasCloseButton = config.hasCloseButton;\n const dialogConfig = new EuiDialogConfig({ ...config, isClosedOnEscape, hasCloseButton });\n const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n const overlayRef = this.overlay.create({\n backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n hasBackdrop: true,\n width: dialogConfig.width,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n });\n\n this.overlayRef = overlayRef;\n let openedDialog = new OpenedDialog({\n id: dialogId,\n order: this.openedDialogs$.value.length + 1,\n overlayRef,\n containerRef: null,\n });\n\n const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n ...dialogConfig,\n dialogId,\n overlayRef,\n init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.init?.(instances);\n },\n open: () => {\n config.open?.();\n },\n clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.clickOutside?.(instances);\n },\n escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.escape?.(instances);\n },\n close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n this.closeDialog(dialogId);\n config.close?.(instances);\n },\n dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.dismiss?.(instances);\n },\n accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.accept?.(instances);\n },\n };\n const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n EuiDialogContainerComponent,\n null,\n this.createInjector(extendedConfig),\n );\n const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> = openedDialog.overlayRef.attach(containerPortal);\n openedDialog = { ...openedDialog, containerRef };\n\n openedDialog.overlayRef.backdropClick().pipe(takeUntil(this.destroy$)).subscribe((e: PointerEvent) => {\n if (extendedConfig.isClosedOnClickOutside) {\n config.clickOutside?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnClickOutside) {\n containerRef.instance.closeDialog();\n }\n }\n });\n\n if (extendedConfig.isClosedOnEscape) {\n openedDialog.overlayRef.keydownEvents().pipe(takeUntil(this.destroy$)).subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n config.escape?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnEscape) {\n containerRef.instance.closeDialog();\n }\n }\n });\n }\n\n this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n return openedDialog;\n }\n\n /**\n * Close a dialog\n * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n */\n public closeDialog(dialogId?: string): void {\n if (dialogId) {\n this.openedDialogs$.value.find(o => o.id === dialogId).overlayRef.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter(o => o.id !== dialogId));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n } else {\n this.overlayRef?.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n }\n }\n\n /**\n * Close all the dialogs.\n */\n public closeAllDialogs(): void {\n this.openedDialogs$.value.forEach((dialog) => {\n dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n });\n }\n\n /**\n * Returns an `Observable` with all opened windows.\n * @returns `Observable` of `OpenedDialog[]`.\n */\n public getOpenedDialog(): Observable<OpenedDialog[]> {\n return this.openedDialogs$;\n }\n\n /**\n * Returns an `Object` with a dialog\n * @param dialogId id of the dialog to be returned\n * @returns `OpenedDialog`\n */\n public getDialog(dialogId: string): OpenedDialog {\n return this.openedDialogs$.value.find(o => o.id === dialogId);\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\n }\n\n private createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n Output, EventEmitter, Directive, ContentChild, forwardRef, QueryList, ElementRef, OnInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\n\n@Component({\n selector: 'eui-dialog',\n templateUrl: './eui-dialog.component.html',\n styleUrls: ['./styles/_index.scss'],\n providers: [\n { provide: DIALOG_COMPONENT_CONFIG, useValue: null }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr: string = 'eui-dialog';\n @Input() title: string;\n @Input() width: string = '50rem';\n @Input() height: string = 'auto';\n @Input() acceptLabel: string = 'eui.OK';\n @Input() dismissLabel: string = 'eui.CANCEL';\n @Input() typeClass: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent');\n\n @Output() clickOutside = new EventEmitter();\n @Output() escape = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n public content: string | TemplatePortal;\n public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: BooleanInput) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get hasAcceptButton(): boolean { return this._hasAcceptButton; }\n set hasAcceptButton(value: BooleanInput) { this._hasAcceptButton = coerceBooleanProperty(value); }\n private _hasAcceptButton = true;\n @Input()\n get hasDismissButton(): boolean { return this._hasDismissButton; }\n set hasDismissButton(value: BooleanInput) { this._hasDismissButton = coerceBooleanProperty(value); }\n private _hasDismissButton = true;\n @Input()\n get hasMobileCustomSize(): boolean { return this._hasMobileCustomSize; }\n set hasMobileCustomSize(value: BooleanInput) { this._hasMobileCustomSize = coerceBooleanProperty(value); }\n private _hasMobileCustomSize = false;\n @Input()\n get isClosedOnClickOutside(): boolean { return this._isClosedOnClickOutside; }\n set isClosedOnClickOutside(value: BooleanInput) { this._isClosedOnClickOutside = coerceBooleanProperty(value); }\n private _isClosedOnClickOutside = false;\n @Input()\n get isClosedOnEscape(): boolean { return this._isClosedOnEscape; }\n set isClosedOnEscape(value: BooleanInput) { this._isClosedOnEscape = coerceBooleanProperty(value); }\n private _isClosedOnEscape = true;\n @Input()\n get isHandleCloseOnDismiss(): boolean { return this._isHandleCloseOnDismiss; }\n set isHandleCloseOnDismiss(value: BooleanInput) { this._isHandleCloseOnDismiss = coerceBooleanProperty(value); }\n private _isHandleCloseOnDismiss = false;\n @Input()\n get isHandleCloseOnClose(): boolean { return this._isHandleCloseOnClose; }\n set isHandleCloseOnClose(value: BooleanInput) { this._isHandleCloseOnClose = coerceBooleanProperty(value); }\n private _isHandleCloseOnClose = false;\n @Input()\n get isHandleCloseOnAccept(): boolean { return this._isHandleCloseOnAccept; }\n set isHandleCloseOnAccept(value: BooleanInput) { this._isHandleCloseOnAccept = coerceBooleanProperty(value); }\n private _isHandleCloseOnAccept = false;\n @Input()\n get isHandleCloseOnClickOutside(): boolean { return this._isHandleCloseOnClickOutside; }\n set isHandleCloseOnClickOutside(value: BooleanInput) { this._isHandleCloseOnClickOutside = coerceBooleanProperty(value); }\n private _isHandleCloseOnClickOutside = false;\n @Input()\n get isHandleCloseOnEscape(): boolean { return this._isHandleCloseOnEscape; }\n set isHandleCloseOnEscape(value: BooleanInput) { this._isHandleCloseOnEscape = coerceBooleanProperty(value); }\n private _isHandleCloseOnEscape = false;\n @Input()\n get isMessageBox(): boolean { return this._isMessageBox; }\n set isMessageBox(value: BooleanInput) { this._isMessageBox = coerceBooleanProperty(value); }\n private _isMessageBox = false;\n @Input()\n get isDraggable(): boolean { return this._isDraggable; }\n set isDraggable(value: BooleanInput) { this._isDraggable = coerceBooleanProperty(value); }\n private _isDraggable = false;\n @Input()\n get hasNoBodyPadding(): boolean { return this._hasNoBodyPadding; }\n set hasNoBodyPadding(value: BooleanInput) { this._hasNoBodyPadding = coerceBooleanProperty(value); }\n private _hasNoBodyPadding = false;\n @Input()\n get hasFooter(): boolean { return this._hasFooter; }\n set hasFooter(value: BooleanInput) { this._hasFooter = coerceBooleanProperty(value); }\n private _hasFooter = true;\n\n private dialog: OpenedDialog;\n private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiDialogService: EuiDialogService) {\n super();\n }\n\n ngOnInit(): void {\n if (this.isMessageBox) {\n this.isClosedOnEscape = false;\n this.hasCloseButton = false;\n }\n\n if (this.euiPrimary) { this.typeClass = 'primary'; }\n if (this.euiSecondary) { this.typeClass = 'secondary'; }\n if (this.euiInfo) { this.typeClass = 'info'; }\n if (this.euiSuccess) { this.typeClass = 'success'; }\n if (this.euiWarning) { this.typeClass = 'warning'; }\n if (this.euiDanger) { this.typeClass = 'danger'; }\n if (this.euiAccent) { this.typeClass = 'accent'; }\n }\n\n ngAfterViewInit(): void {\n if (this.euiDialogHeaderDirective) {\n this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n }\n\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiDialogFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Whether the eui-dialog is open.\n *\n * @usageNotes\n * ```html\n * <eui-dialog #dialog>\n * <my-component *ngIf=\"dialog.isOpen\"></my-component>\n * </eui-dialog>\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 /**\n * Open a dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n typeClass: this.typeClass,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: this.hasCloseButton,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasMobileCustomSize: this.hasMobileCustomSize,\n isClosedOnClickOutside: this.isClosedOnClickOutside,\n isClosedOnEscape: this.isClosedOnEscape,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n isDraggable: this.isDraggable,\n hasNoBodyPadding: this.hasNoBodyPadding,\n hasFooter: this.hasFooter,\n header: this.templatePortalHeader,\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n clickOutside: () => {\n if (this.isClosedOnClickOutside) {\n this.isOpen$.next(false);\n }\n this.clickOutside.emit();\n },\n escape: () => {\n if (this.isClosedOnEscape) {\n this.isOpen$.next(false);\n }\n this.escape.emit();\n },\n open: () => {\n this.open.emit();\n },\n close: () => {\n if (!this.isHandleCloseOnClose) {\n this.isOpen$.next(false);\n }\n this.close.emit();\n },\n dismiss: () => {\n if (!this.isHandleCloseOnDismiss) {\n this.isOpen$.next(false);\n }\n this.dismiss.emit();\n },\n accept: () => {\n if (!this.isHandleCloseOnAccept) {\n this.isOpen$.next(false);\n }\n this.accept.emit();\n },\n };\n\n this.isOpen$.next(true);\n this.dialog = this.euiDialogService.openDialog(config);\n\n return this.dialog;\n }\n\n /**\n * Close a Dialog\n */\n public closeDialog(): void {\n this.isOpen$.next(false);\n this.euiDialogService.closeDialog();\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header' })\nexport class EuiDialogHeaderDirective { }\n\n@Directive({ selector: 'eui-dialog-footer' })\nexport class EuiDialogFooterDirective { }\n/* eslint-enable */\n","<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\nimport { EuiDialogComponent, EuiDialogFooterDirective, EuiDialogHeaderDirective } from './eui-dialog.component';\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogContainerComponent } from './container/eui-dialog-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiButtonModule,\n EuiIconModule,\n TranslateModule,\n PortalModule,\n OverlayModule,\n A11yModule,\n DragDropModule,\n CdkScrollableModule,\n ],\n exports: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n ],\n declarations: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n EuiDialogContainerComponent,\n ],\n providers: [\n EuiDialogService,\n ],\n})\n\nexport class EuiDialogModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.EuiDialogService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAEa,uBAAuB,GAAG,IAAI,cAAc,CAAM,yBAAyB,EAAE;MAC7E,uBAAuB,GAAG,IAAI,cAAc,CAAM,yBAAyB;;MCA3E,eAAe,CAAA;AAoBxB,IAAA,WAAA,CAAY,MAAqD,EAAA;QAnBjE,IAAO,CAAA,OAAA,GAAG,iBAAiB,CAAC;QAC5B,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;QACvB,IAAY,CAAA,YAAA,GAAG,YAAY,CAAC;QAC5B,IAAK,CAAA,KAAA,GAAG,OAAO,CAAC;QAChB,IAAM,CAAA,MAAA,GAAG,MAAM,CAAC;QAChB,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC;QACtB,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QACvB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAC5B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QACxB,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAC7B,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAA2B,CAAA,2BAAA,GAAG,KAAK,CAAC;QACpC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;QACjB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ,CAAA;MAqDY,2BAA2B,CAAA;AAAxC,IAAA,WAAA,GAAA;QACI,IAAe,CAAA,eAAA,GAAO,IAAI,CAAC;QAC3B,IAAa,CAAA,aAAA,GAAO,IAAI,CAAC;QACzB,IAAe,CAAA,eAAA,GAAO,IAAI,CAAC;KAC9B;AAAA;;MCjEY,2BAA2B,CAAA;AAsBpC,IAAA,WAAA,CAAoD,qBAAoE,EACpG,QAAkB,EAAU,EAAqB,EAAA;QADjB,IAAqB,CAAA,qBAAA,GAArB,qBAAqB,CAA+C;QACpG,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;QArB9D,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAC7B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAE/B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAChC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAC9B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;AAMhC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,2BAA2B,EAAc,CAAC;AACnE,QAAA,IAAA,CAAA,qBAAqB,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACtF,QAAA,IAAA,CAAA,sBAAsB,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAExE,IAAM,CAAA,MAAA,GAAG,sBAAsB,CAAC;AAE9C,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAGa;IAEzE,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,YAAY,cAAc,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,YAAY,cAAc,EAAE;AAC9D,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;AACpC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,YAAY,cAAc,EAAE;AAC7D,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;AACtC,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CACnD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,EACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAC7B,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,SAAS,EAAE;AACrD,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CACjD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,EAClD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,CAC3B,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE;AACvD,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CACnD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,SAAS,EACpD,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,MAAM,CAC7B,CAAC;AAC5B,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;KACrC;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED,IAAA,IAAI,qBAAqB,GAAA;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;AAED,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAyB,CAAC;KAC/D;AAED,IAAA,IAAI,4BAA4B,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAiB,CAAC;KACvD;IAEM,cAAc,CAAC,WAAuC,EAAE,SAAoE,EAAA;QAC/H,MAAM,YAAY,GAAG,WAAyC,CAAC;QAE/D,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;QAE5E,IAAI,CAAC,kBAAkB,GAAG;YACtB,GAAG,IAAI,CAAC,kBAAkB;AAC1B,YAAA,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ;SACrC,CAAC;QAEF,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE;AAC9C,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpE,gBAAA,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;AACvE,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;wBAC1B,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,KAAI;4BAC5E,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5F,yBAAC,CAAC,CAAC;AACN,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;IAEM,WAAW,GAAA;QACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC7D;IAEM,SAAS,GAAA;QACZ,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,EAAE;YACpD,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;IAEM,QAAQ,GAAA;QACX,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE;YACnD,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;KACJ;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;AAED;;AAEG;IACI,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1C;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAEM,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;KAC3B;IAEO,qBAAqB,CAAC,SAAsC,EAAE,MAAuB,EAAA;QACzF,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;AACjI,QAAA,OAAO,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;KACpF;AAEO,IAAA,cAAc,CAAC,IAAqB,EAAA;AACxC,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACN;;AAtKQ,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAsBhB,uBAAuB,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAtBlC,mBAAA,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,8GClBxC,ovMA+FA,EAAA,MAAA,EAAA,CAAA,8jRAAA,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,kBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,EAAA,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,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FD7Ea,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,mBAGf,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,ovMAAA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,CAAA;;0BAyBxB,MAAM;2BAAC,uBAAuB,CAAA;mGAJrB,MAAM,EAAA,CAAA;sBAA3B,WAAW;uBAAC,OAAO,CAAA;;;ME/BX,YAAY,CAAA;AAMrB,IAAA,WAAA,CAAY,MAA6B,EAAA;QALzC,IAAE,CAAA,EAAA,GAAW,IAAI,CAAC;QAClB,IAAK,CAAA,KAAA,GAAW,IAAI,CAAC;QACrB,IAAU,CAAA,UAAA,GAAe,IAAI,CAAC;QAC9B,IAAY,CAAA,YAAA,GAA4E,IAAI,CAAC;AAGzF,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ;;MCFY,gBAAgB,CAAA;IAMzB,WAAoB,CAAA,OAAgB,EAAU,QAAkB,EAAA;QAA5C,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAHxD,QAAA,IAAA,CAAA,cAAc,GAAoC,IAAI,eAAe,CAAiB,EAAE,CAAC,CAAC;AAC1F,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAEQ;IAEpE,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC;AAED;;;;AAIG;IACI,UAAU,CAA4B,SAAwD,EAAE,EAAA;AACnG,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AAC3C,aAAA,MAAM,EAAE;AACR,aAAA,kBAAkB,EAAE;AACpB,aAAA,gBAAgB,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC7D,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACjD,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7C,QAAA,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC;AAC1F,QAAA,MAAM,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;AACnE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,YAAA,aAAa,EAAE,CAAC,sBAAsB,EAAE,QAAQ,GAAG,YAAY,CAAC;AAChE,YAAA,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,gBAAgB;YAChB,cAAc;AACd,YAAA,mBAAmB,EAAE,IAAI;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,YAAY,GAAG,IAAI,YAAY,CAAC;AAChC,YAAA,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC3C,UAAU;AACV,YAAA,YAAY,EAAE,IAAI;AACrB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,cAAc,GAAkD;AAClE,YAAA,GAAG,YAAY;YACf,QAAQ;YACR,UAAU;AACV,YAAA,IAAI,EAAE,CAAC,SAAkD,KAAI;AACzD,gBAAA,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;aAC5B;YACD,IAAI,EAAE,MAAK;AACP,gBAAA,MAAM,CAAC,IAAI,IAAI,CAAC;aACnB;AACD,YAAA,YAAY,EAAE,CAAC,SAAkD,KAAI;AACjE,gBAAA,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;aACpC;AACD,YAAA,MAAM,EAAE,CAAC,SAAkD,KAAI;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;aAC9B;AACD,YAAA,KAAK,EAAE,CAAC,SAAkD,KAAI;AAC1D,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC3B,gBAAA,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;aAC7B;AACD,YAAA,OAAO,EAAE,CAAC,SAAkD,KAAI;AAC5D,gBAAA,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;aAC/B;AACD,YAAA,MAAM,EAAE,CAAC,SAAkD,KAAI;AAC3D,gBAAA,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;aAC9B;SACJ,CAAC;AACF,QAAA,MAAM,eAAe,GAAG,IAAI,eAAe,CACvC,2BAA2B,EAC3B,IAAI,EACJ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAClC,CAAC;QACN,MAAM,YAAY,GAAyE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAC3I,QAAA,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,YAAY,EAAE,CAAC;QAEjD,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAe,KAAI;YACjG,IAAI,cAAc,CAAC,sBAAsB,EAAE;gBACvC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAChE,gBAAA,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE;AACrC,oBAAA,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvC,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,gBAAgB,EAAE;YACjC,YAAY,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,KAAI;gBAC/F,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE;oBAC/C,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC1D,oBAAA,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC/B,wBAAA,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AACvC,qBAAA;AACJ,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AAED,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;AAEvE,QAAA,OAAO,YAAY,CAAC;KACvB;AAED;;;AAGG;AACI,IAAA,WAAW,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;AACnF,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9I,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/G,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAC9I,SAAA;KACJ;AAED;;AAEG;IACI,eAAe,GAAA;QAClB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AACzC,YAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AACnH,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;IACI,eAAe,GAAA;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;AAED;;;;AAIG;AACI,IAAA,SAAS,CAAC,QAAgB,EAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;KACjE;AAED;;AAEG;IACI,mBAAmB,GAAA;QACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/G;AAED;;AAEG;IACI,kBAAkB,GAAA;QACrB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;KAC9G;AAED;;AAEG;IACI,oBAAoB,GAAA;QACvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAChH;AAED;;AAEG;IACI,mBAAmB,GAAA;QACtB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/G;AAEO,IAAA,cAAc,CAAC,IAAS,EAAA;AAC5B,QAAA,MAAM,cAAc,GAAmB,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;AACrB,YAAA,SAAS,EAAE,cAAc;AAC5B,SAAA,CAAC,CAAC;KACN;;iIAxLQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qIAAhB,gBAAgB,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;ACYL,MAAO,kBAAmB,SAAQ,aAAa,CAAA;IA+FjD,WAAoB,CAAA,gBAAkC,EAAU,gBAAkC,EAAA;AAC9F,QAAA,KAAK,EAAE,CAAC;QADQ,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAAU,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QA9FzF,IAAO,CAAA,OAAA,GAAW,YAAY,CAAC;QAE/B,IAAK,CAAA,KAAA,GAAW,OAAO,CAAC;QACxB,IAAM,CAAA,MAAA,GAAW,MAAM,CAAC;QACxB,IAAW,CAAA,WAAA,GAAW,QAAQ,CAAC;QAC/B,IAAY,CAAA,YAAA,GAAW,YAAY,CAAC;AAGnC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;;AAE5B,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;;AAE1B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;AAG/B,QAAA,IAAA,CAAA,OAAO,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAYvE,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;QAIvB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;QAIxB,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAIzB,IAAoB,CAAA,oBAAA,GAAG,KAAK,CAAC;QAI7B,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAIhC,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC;QAIzB,IAAuB,CAAA,uBAAA,GAAG,KAAK,CAAC;QAIhC,IAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;QAI9B,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAA4B,CAAA,4BAAA,GAAG,KAAK,CAAC;QAIrC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAI/B,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAItB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAIrB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;QAI1B,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;AAMlB,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW,CAAC;KAI3D;IArED,IACI,cAAc,KAAc,OAAO,IAAI,CAAC,eAAe,CAAC,EAAE;AAC9D,IAAA,IAAI,cAAc,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhG,IACI,eAAe,KAAc,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE;AAChE,IAAA,IAAI,eAAe,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAElG,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,mBAAmB,KAAc,OAAO,IAAI,CAAC,oBAAoB,CAAC,EAAE;AACxE,IAAA,IAAI,mBAAmB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,oBAAoB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1G,IACI,sBAAsB,KAAc,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE;AAC9E,IAAA,IAAI,sBAAsB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhH,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,sBAAsB,KAAc,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE;AAC9E,IAAA,IAAI,sBAAsB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEhH,IACI,oBAAoB,KAAc,OAAO,IAAI,CAAC,qBAAqB,CAAC,EAAE;AAC1E,IAAA,IAAI,oBAAoB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5G,IACI,qBAAqB,KAAc,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE;AAC5E,IAAA,IAAI,qBAAqB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE9G,IACI,2BAA2B,KAAc,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE;AACxF,IAAA,IAAI,2BAA2B,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,4BAA4B,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1H,IACI,qBAAqB,KAAc,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE;AAC5E,IAAA,IAAI,qBAAqB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE9G,IACI,YAAY,KAAc,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE;AAC1D,IAAA,IAAI,YAAY,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE5F,IACI,WAAW,KAAc,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE;AACxD,IAAA,IAAI,WAAW,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAE1F,IACI,gBAAgB,KAAc,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE;AAClE,IAAA,IAAI,gBAAgB,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAEpG,IACI,SAAS,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE;AACpD,IAAA,IAAI,SAAS,CAAC,KAAmB,EAAA,EAAI,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE;IAatF,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC/B,SAAA;QAED,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;AAAE,SAAA;QACxD,IAAI,IAAI,CAAC,OAAO,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AAAE,SAAA;QAC9C,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,UAAU,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAAE,SAAA;QACpD,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAAE,SAAA;QAClD,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAAE,SAAA;KACrD;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjG,SAAA;AAED,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEhG,IAAI,IAAI,CAAC,wBAAwB,EAAE;AAC/B,YAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjG,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAC/B;AAED;;;;;;;;;;AAUG;AACH,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;KAC7B;AAED;;;AAGG;IACI,UAAU,GAAA;AACb,QAAA,MAAM,MAAM,GAAkD;YAC1D,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,OAAO,EAAE,IAAI,CAAC,qBAAqB;YACnC,MAAM,EAAE,IAAI,CAAC,oBAAoB;YACjC,YAAY,EAAE,MAAK;gBACf,IAAI,IAAI,CAAC,sBAAsB,EAAE;AAC7B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aAC5B;YACD,MAAM,EAAE,MAAK;gBACT,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACtB;YACD,IAAI,EAAE,MAAK;AACP,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,KAAK,EAAE,MAAK;AACR,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC5B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aACrB;YACD,OAAO,EAAE,MAAK;AACV,gBAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC9B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACvB;YACD,MAAM,EAAE,MAAK;AACT,gBAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;AAC7B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,iBAAA;AACD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACtB;SACJ,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED;;AAEG;IACI,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;KACvC;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/F;AAED;;AAEG;IACI,kBAAkB,GAAA;AACrB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;KAC9F;AAED;;AAEG;IACI,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;KAChG;AAED;;AAEG;IACI,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;KAC/F;;mIA3PQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,mBAAA,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAPhB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD,KAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OA8B8B,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,YAAA,EAAA,OACxB,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjD3D,gTASA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDca,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGX,SAAA,EAAA;AACP,wBAAA,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,gTAAA,EAAA,MAAA,EAAA,CAAA,8jRAAA,CAAA,EAAA,CAAA;mIAI5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAEG,IAAI,EAAA,CAAA;sBAAb,MAAM;gBAEG,KAAK,EAAA,CAAA;sBAAd,MAAM;gBACG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBAKyB,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBACG,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB,CAAA;gBACC,iBAAiB,EAAA,CAAA;sBAAhD,SAAS;uBAAC,mBAAmB,CAAA;gBAE4B,wBAAwB,EAAA,CAAA;sBAAjF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAA;gBACE,wBAAwB,EAAA,CAAA;sBAAjF,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC,CAAA;gBAGpD,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAKF,eAAe,EAAA,CAAA;sBADlB,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,mBAAmB,EAAA,CAAA;sBADtB,KAAK;gBAKF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,sBAAsB,EAAA,CAAA;sBADzB,KAAK;gBAKF,oBAAoB,EAAA,CAAA;sBADvB,KAAK;gBAKF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAKF,2BAA2B,EAAA,CAAA;sBAD9B,KAAK;gBAKF,qBAAqB,EAAA,CAAA;sBADxB,KAAK;gBAKF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAKF,WAAW,EAAA,CAAA;sBADd,KAAK;gBAKF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;gBAKF,SAAS,EAAA,CAAA;sBADZ,KAAK;;AA0KV;MAEa,wBAAwB,CAAA;;yIAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;;MAI/B,wBAAwB,CAAA;;yIAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6HAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,SAAS;mBAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAA;;;ME9O/B,eAAe,CAAA;;gIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,iBAVpB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB;AACxB,QAAA,2BAA2B,aAnB3B,YAAY;QACZ,eAAe;QACf,aAAa;QACb,eAAe;QACf,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;AACd,QAAA,mBAAmB,aAGnB,kBAAkB;QAClB,wBAAwB;QACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAanB,mBAAA,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EALb,SAAA,EAAA;QACP,gBAAgB;AACnB,KAAA,EAAA,OAAA,EAAA,CAvBG,YAAY;QACZ,eAAe;QACf,aAAa;QACb,eAAe;QACf,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;QACd,mBAAmB,CAAA,EAAA,CAAA,CAAA;4FAkBd,eAAe,EAAA,UAAA,EAAA,CAAA;kBA5B3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,eAAe;wBACf,aAAa;wBACb,eAAe;wBACf,YAAY;wBACZ,aAAa;wBACb,UAAU;wBACV,cAAc;wBACd,mBAAmB;AACtB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,kBAAkB;wBAClB,wBAAwB;wBACxB,wBAAwB;AAC3B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,kBAAkB;wBAClB,wBAAwB;wBACxB,wBAAwB;wBACxB,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACP,gBAAgB;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;ACzCD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-components-eui-dialog.mjs","sources":["../../eui-dialog/services/eui-dialog.token.ts","../../eui-dialog/models/eui-dialog.config.ts","../../eui-dialog/container/eui-dialog-container.component.ts","../../eui-dialog/container/eui-dialog-container.component.html","../../eui-dialog/models/opened-dialog.model.ts","../../eui-dialog/services/eui-dialog.service.ts","../../eui-dialog/eui-dialog.component.ts","../../eui-dialog/eui-dialog.component.html","../../eui-dialog/eui-dialog.module.ts","../../eui-dialog/eui-components-eui-dialog.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const DIALOG_CONTAINER_CONFIG = new InjectionToken<any>('DIALOG_CONTAINER_CONFIG');\nexport const DIALOG_COMPONENT_CONFIG = new InjectionToken<any>('DIALOG_COMPONENT_CONFIG');\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\n\nexport class EuiDialogConfig<HC, HCC, BC, BCC, FC, FCC> implements EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n e2eAttr = 'eui-message-box';\n acceptLabel = 'eui.OK';\n dismissLabel = 'eui.CANCEL';\n width = '50rem';\n height = 'auto';\n isFullScreen = false;\n hasCloseButton = true;\n hasAcceptButton = true;\n hasDismissButton = true;\n hasMobileCustomSize = false;\n isClosedOnClickOutside = false;\n isClosedOnEscape = true;\n isHandleCloseOnDismiss = false;\n isHandleCloseOnClose = false;\n isHandleCloseOnAccept = false;\n isHandleCloseOnClickOutside = false;\n isHandleCloseOnEscape = false;\n hasFooter = true;\n isMessageBox = false;\n\n constructor(values: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>) {\n Object.assign(this, values);\n }\n}\n\nexport interface EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> {\n dialogId?: string;\n e2eAttr?: string;\n title?: string;\n typeClass?: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent');\n acceptLabel?: string;\n dismissLabel?: string;\n width?: string;\n height?: string;\n isFullScreen?: boolean;\n headerComponent?: {\n component: ComponentType<HC>,\n config?: HCC,\n };\n bodyComponent?: {\n component: ComponentType<BC>,\n config?: BCC,\n };\n footerComponent?: {\n component: ComponentType<FC>,\n config?: FCC,\n };\n header?: TemplatePortal;\n content?: TemplatePortal | string | null;\n footer?: TemplatePortal;\n hasCloseButton?: boolean;\n hasAcceptButton?: boolean;\n hasDismissButton?: boolean;\n hasMobileCustomSize?: boolean;\n isClosedOnClickOutside?: boolean;\n isClosedOnEscape?: boolean;\n isHandleCloseOnDismiss?: boolean;\n isHandleCloseOnClose?: boolean;\n isHandleCloseOnAccept?: boolean;\n isHandleCloseOnClickOutside?: boolean;\n isHandleCloseOnEscape?: boolean;\n isDraggable?: boolean;\n hasNoBodyPadding?: boolean;\n hasFooter?: boolean;\n isMessageBox?: boolean;\n\n overlayRef?: OverlayRef;\n\n open?: () => void;\n init?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n clickOutside?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n escape?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n close?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n dismiss?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n accept?: (instances: EuiDialogComponentInstances<HC, BC, FC>) => void;\n}\n\nexport class EuiDialogComponentInstances<HC, BC, FC> {\n headerComponent: HC = null;\n bodyComponent: BC = null;\n footerComponent: FC = null;\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, OnInit, ComponentRef, Inject, Injector, StaticProvider, OnDestroy, HostBinding,\n ChangeDetectorRef } from '@angular/core';\nimport { CdkPortalOutletAttachedRef, ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DIALOG_CONTAINER_CONFIG } from '../services/eui-dialog.token';\nimport { EuiDialogInterface, EuiDialogComponentInstances } from '../models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from '../services/eui-dialog.token';\n\n@Component({\n selector: 'eui-dialog-container',\n templateUrl: './eui-dialog-container.component.html',\n styleUrls: ['../styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC> implements OnInit, OnDestroy {\n\n public isHeaderTemplatePortal = false;\n public isBodyTemplatePortal = false;\n public isFooterTemplatePortal = false;\n\n public isHeaderComponentPortal = false;\n public isBodyComponentPortal = false;\n public isFooterComponentPortal = false;\n\n public headerComponentPortal: ComponentPortal<HC>;\n public bodyComponentPortal: ComponentPortal<BC>;\n public footerComponentPortal: ComponentPortal<FC>;\n\n public componentInstances = new EuiDialogComponentInstances<HC, BC, FC>();\n public acceptButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n public dismissButtonDisabled$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @HostBinding('class') string = 'eui-dialog-container';\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(@Inject(DIALOG_CONTAINER_CONFIG) public dialogContainerConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC>,\n private injector: Injector, private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.dialogContainerConfig.header instanceof TemplatePortal) {\n this.isHeaderTemplatePortal = true;\n }\n if (this.dialogContainerConfig.content instanceof TemplatePortal) {\n this.isBodyTemplatePortal = true;\n }\n if (this.dialogContainerConfig.footer instanceof TemplatePortal) {\n this.isFooterTemplatePortal = true;\n }\n\n if (this.dialogContainerConfig.headerComponent?.component) {\n this.isHeaderComponentPortal = true;\n this.headerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.headerComponent.component,\n this.dialogContainerConfig.headerComponent.config,\n ) as ComponentPortal<HC>;\n }\n if (this.dialogContainerConfig.bodyComponent?.component) {\n this.isBodyComponentPortal = true;\n this.bodyComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.bodyComponent.component,\n this.dialogContainerConfig.bodyComponent.config,\n ) as ComponentPortal<BC>;\n }\n if (this.dialogContainerConfig.footerComponent?.component) {\n this.isFooterComponentPortal = true;\n this.footerComponentPortal = this.createComponentPortal(\n this.dialogContainerConfig.footerComponent.component,\n this.dialogContainerConfig.footerComponent.config,\n ) as ComponentPortal<FC>;\n }\n\n this.dialogContainerConfig.open();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get getComponentInstances(): EuiDialogComponentInstances<HC, BC, FC> {\n return this.componentInstances;\n }\n\n get getPortalOutlet(): TemplatePortal | null {\n return this.dialogContainerConfig.content as TemplatePortal;\n }\n\n get dialogContainerConfigContent(): string {\n return this.dialogContainerConfig.content as string;\n }\n\n public portalAttached(attachedRef: CdkPortalOutletAttachedRef, component: ('headerComponent' | 'bodyComponent' | 'footerComponent')): void {\n const componentRef = attachedRef as ComponentRef<HC | BC | FC>;\n\n componentRef.instance['overlayRef'] = this.dialogContainerConfig.overlayRef;\n\n this.componentInstances = {\n ...this.componentInstances,\n [component]: componentRef.instance,\n };\n\n this.dialogContainerConfig.init(this.componentInstances);\n\n if (this.dialogContainerConfig[component].config) {\n Object.keys(this.dialogContainerConfig[component].config).forEach((c) => {\n if (typeof this.dialogContainerConfig[component].config[c] === 'function') {\n if (componentRef.instance[c]) {\n componentRef.instance[c].pipe(takeUntil(this.destroy$)).subscribe((args: any) => {\n this.dialogContainerConfig[component].config[c].apply(componentRef.instance[c], [args]);\n });\n }\n } else {\n componentRef.instance[c] = this.dialogContainerConfig[component].config[c];\n }\n });\n }\n }\n\n public closeDialog(): void {\n this.dialogContainerConfig.close(this.componentInstances);\n }\n\n public onDismiss(): void {\n this.dialogContainerConfig.dismiss(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnDismiss) {\n this.closeDialog();\n }\n }\n\n public onAccept(): void {\n this.dialogContainerConfig.accept(this.componentInstances);\n if (!this.dialogContainerConfig.isHandleCloseOnAccept) {\n this.closeDialog();\n }\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.acceptButtonDisabled$.next(true);\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.acceptButtonDisabled$.next(false);\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.dismissButtonDisabled$.next(true);\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.dismissButtonDisabled$.next(false);\n }\n\n public onScroll(): void {\n this.cd.detectChanges();\n }\n\n private createComponentPortal(component: ComponentType<HC | BC | FC>, config: HCC | BCC | FCC): ComponentPortal<HC | BC | FC> {\n const extendedConfig = { ...config, id: this.dialogContainerConfig.dialogId, overlayRef: this.dialogContainerConfig.overlayRef };\n return new ComponentPortal(component, null, this.createInjector(extendedConfig));\n }\n\n private createInjector(data: HCC | BCC | FCC): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","<div\n class=\"eui-dialog eui-dialog--{{ dialogContainerConfig.typeClass }} eui-u-anim\"\n [class.eui-u-anim--flipInY]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-u-anim--fadeIn]=\"!dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--draggable]=\"dialogContainerConfig.isDraggable\"\n [class.eui-dialog--message-box]=\"dialogContainerConfig.isMessageBox\"\n [class.eui-dialog--no-padding]=\"dialogContainerConfig.hasNoBodyPadding\"\n [class.eui-dialog--custom-size]=\"dialogContainerConfig.hasMobileCustomSize\"\n role=\"dialog\"\n [attr.aria-label]=\"dialogContainerConfig.isMessageBox ? 'Opened dialog window' : 'Opened message box window'\"\n tabindex=\"-1\"\n attr.data-e2e=\"{{ dialogContainerConfig.e2eAttr }}\"\n cdkDrag\n cdkDragRootElement=\".cdk-overlay-pane\"\n [cdkDragDisabled]=\"!dialogContainerConfig.isDraggable\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture>\n\n <div class=\"eui-dialog__content\" role=\"document\">\n <div class=\"eui-dialog__header\" [class.eui-dialog__header--handle-disabled]=\"!dialogContainerConfig.isDraggable\" cdkDragHandle>\n <ng-container *ngIf=\"!isHeaderTemplatePortal && !isHeaderComponentPortal\">\n <h5 class=\"eui-dialog__header-title\">{{ dialogContainerConfig.title | translate }}</h5>\n <button type=\"button\" *ngIf=\"dialogContainerConfig.hasCloseButton\" (click)=\"closeDialog()\" euiButton euiIconButton euiRounded euiBasicButton euiSizeS>\n <span class=\"eui-icon eui-icon-close-m\"></span>\n </button>\n </ng-container>\n <ng-container *ngIf=\"isHeaderTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.header\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isHeaderComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"headerComponentPortal\" (attached)=\"portalAttached($event, 'headerComponent')\"></ng-template>\n </ng-container>\n </div>\n <div class=\"eui-dialog__body\" cdkScrollable\n [style.height]=\"dialogContainerConfig.height\"\n [style.max-height]=\"dialogContainerConfig.height\"\n (scroll)=\"onScroll()\">\n <span *ngIf=\"dialogContainerConfig.isMessageBox\" class=\"eui-dialog__body-content-icon-container\">\n <span euiIcon iconClass=\"eui-icon eui-icon-question eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'primary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'secondary'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-info eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'info'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-check eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'success'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-exclamation-triangle eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'warning'\"></span>\n <span euiIcon iconClass=\"eui-icon eui-icon-ecl-error eui-dialog__body-content-icon\" *ngIf=\"dialogContainerConfig.typeClass === 'danger'\"></span>\n </span>\n <div *ngIf=\"!isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content not-isBodyTemplatePortal\"\n [innerHTML]=\"dialogContainerConfig.content ? (dialogContainerConfigContent | translate) : null\">\n </div>\n <div *ngIf=\"isBodyTemplatePortal && !isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"getPortalOutlet\"></ng-template>\n </div>\n <div *ngIf=\"isBodyComponentPortal\"\n class=\"eui-dialog__body-content isBodyComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"bodyComponentPortal\" (attached)=\"portalAttached($event, 'bodyComponent')\"></ng-template>\n </div>\n </div>\n <div class=\"eui-dialog__footer\" *ngIf=\"dialogContainerConfig.hasFooter\">\n <ng-container *ngIf=\"!isFooterTemplatePortal && !isFooterComponentPortal\">\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"!isFooterTemplatePortal\">\n <div class=\"eui-dialog__footer-content\">\n <button type=\"button\" euiButton\n *ngIf=\"dialogContainerConfig.hasDismissButton\"\n [euiDisabled]=\"dismissButtonDisabled$ | async\"\n class=\"eui-dialog__footer-dismiss-button\"\n [class.eui-u-mr-s]=\"dialogContainerConfig.hasAcceptButton\"\n (click)=\"onDismiss()\">\n {{ dialogContainerConfig.dismissLabel | translate }}\n </button>\n <button type=\"button\" euiButton\n euiPrimary\n *ngIf=\"dialogContainerConfig.hasAcceptButton\"\n [euiDisabled]=\"acceptButtonDisabled$ | async\"\n class=\"eui-dialog__footer-accept-button\"\n (click)=\"onAccept()\">\n {{ dialogContainerConfig.acceptLabel | translate }}\n </button>\n </div>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isFooterTemplatePortal\">\n <ng-template [cdkPortalOutlet]=\"dialogContainerConfig.footer\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"isFooterComponentPortal\">\n <ng-template [cdkPortalOutlet]=\"footerComponentPortal\" (attached)=\"portalAttached($event, 'footerComponent')\"></ng-template>\n </ng-container>\n </div>\n </div>\n\n</div>\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentRef } from '@angular/core';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\n\nexport class OpenedDialog implements OpenedDialogInterface {\n id: string = null;\n order: number = null;\n overlayRef: OverlayRef = null;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>> = null;\n\n constructor(values: OpenedDialogInterface) {\n Object.assign(this, values);\n }\n}\n\nexport interface OpenedDialogInterface {\n id: string;\n order: number;\n overlayRef: OverlayRef;\n containerRef: ComponentRef<EuiDialogContainerComponent<any, any, any, any, any, any>>;\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector, OnDestroy, StaticProvider } from '@angular/core';\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiDialogContainerComponent } from '../container/eui-dialog-container.component';\nimport { EuiDialogInterface, EuiDialogComponentInstances, EuiDialogConfig } from '../models/eui-dialog.config';\nimport { OpenedDialog } from '../models/opened-dialog.model';\nimport { DIALOG_CONTAINER_CONFIG } from './eui-dialog.token';\n\n@Injectable()\nexport class EuiDialogService implements OnDestroy {\n\n private overlayRef: OverlayRef;\n private openedDialogs$: BehaviorSubject<OpenedDialog[]> = new BehaviorSubject<OpenedDialog[]>([]);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private overlay: Overlay, private injector: Injector) {}\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.openedDialogs$.next(null);\n }\n\n /**\n * Open a dialog.\n * @param config Configuration applied to the dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {}): OpenedDialog {\n const positionStrategy = this.overlay.position()\n .global()\n .centerHorizontally()\n .centerVertically();\n const scrollStrategy = this.overlay.scrollStrategies.block();\n const isClosedOnEscape = config.isClosedOnEscape;\n const hasCloseButton = config.hasCloseButton;\n const dialogConfig = new EuiDialogConfig({\n ...config,\n isClosedOnEscape,\n hasCloseButton,\n width: config.isFullScreen ? '100vw' : config.width,\n height: config.isFullScreen ? '100vh' : config.height,\n });\n const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);\n const overlayRef = this.overlay.create({\n backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],\n hasBackdrop: true,\n width: dialogConfig.width,\n positionStrategy,\n scrollStrategy,\n disposeOnNavigation: true,\n });\n\n this.overlayRef = overlayRef;\n let openedDialog = new OpenedDialog({\n id: dialogId,\n order: this.openedDialogs$.value.length + 1,\n overlayRef,\n containerRef: null,\n });\n\n const extendedConfig: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n ...dialogConfig,\n dialogId,\n overlayRef,\n init: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.init?.(instances);\n },\n open: () => {\n config.open?.();\n },\n clickOutside: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.clickOutside?.(instances);\n },\n escape: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.escape?.(instances);\n },\n close: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n this.closeDialog(dialogId);\n config.close?.(instances);\n },\n dismiss: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.dismiss?.(instances);\n },\n accept: (instances: EuiDialogComponentInstances<HC, BC, FC>) => {\n config.accept?.(instances);\n },\n };\n const containerPortal = new ComponentPortal<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>>(\n EuiDialogContainerComponent,\n null,\n this.createInjector(extendedConfig),\n );\n const containerRef: ComponentRef<EuiDialogContainerComponent<HC, HCC, BC, BCC, FC, FCC>> = openedDialog.overlayRef.attach(containerPortal);\n openedDialog = { ...openedDialog, containerRef };\n\n openedDialog.overlayRef.backdropClick().pipe(takeUntil(this.destroy$)).subscribe((e: PointerEvent) => {\n if (extendedConfig.isClosedOnClickOutside) {\n config.clickOutside?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnClickOutside) {\n containerRef.instance.closeDialog();\n }\n }\n });\n\n if (extendedConfig.isClosedOnEscape) {\n openedDialog.overlayRef.keydownEvents().pipe(takeUntil(this.destroy$)).subscribe((keyboardEvent) => {\n if (keyboardEvent.key?.toLowerCase() === 'escape') {\n config.escape?.(containerRef.instance.componentInstances);\n if (!config.isHandleCloseOnEscape) {\n containerRef.instance.closeDialog();\n }\n }\n });\n }\n\n this.openedDialogs$.next([...this.openedDialogs$.value, openedDialog]);\n\n return openedDialog;\n }\n\n /**\n * Close a dialog\n * @param dialogId The id of the dialog to close. If not provided the last opened one will be closed.\n */\n public closeDialog(dialogId?: string): void {\n if (dialogId) {\n this.openedDialogs$.value.find(o => o.id === dialogId).overlayRef.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter(o => o.id !== dialogId));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n } else {\n this.overlayRef?.dispose();\n this.openedDialogs$.next(this.openedDialogs$.value.filter((o, i) => i < this.openedDialogs$.value.length - 1));\n this.overlayRef = this.openedDialogs$.value.length > 0 ? this.openedDialogs$.value[this.openedDialogs$.value.length - 1].overlayRef : null;\n }\n }\n\n /**\n * Close all the dialogs.\n */\n public closeAllDialogs(): void {\n this.openedDialogs$.value.forEach((dialog) => {\n dialog.containerRef.instance.dialogContainerConfig.close?.(dialog.containerRef.instance.getComponentInstances);\n });\n }\n\n /**\n * Returns an `Observable` with all opened windows.\n * @returns `Observable` of `OpenedDialog[]`.\n */\n public getOpenedDialog(): Observable<OpenedDialog[]> {\n return this.openedDialogs$;\n }\n\n /**\n * Returns an `Object` with a dialog\n * @param dialogId id of the dialog to be returned\n * @returns `OpenedDialog`\n */\n public getDialog(dialogId: string): OpenedDialog {\n return this.openedDialogs$.value.find(o => o.id === dialogId);\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.openedDialogs$.value[this.openedDialogs$.value.length - 1].containerRef.instance.enableDismissButton();\n }\n\n private createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DIALOG_CONTAINER_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens,\n });\n }\n}\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, TemplateRef, ViewContainerRef, AfterViewInit, OnDestroy,\n Output, EventEmitter, Directive, ContentChild, forwardRef, QueryList, ElementRef, OnInit } from '@angular/core';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogInterface } from './models/eui-dialog.config';\nimport { DIALOG_COMPONENT_CONFIG } from './services/eui-dialog.token';\nimport { OpenedDialog } from './models/opened-dialog.model';\n\n@Component({\n selector: 'eui-dialog',\n templateUrl: './eui-dialog.component.html',\n styleUrls: ['./styles/_index.scss'],\n providers: [\n { provide: DIALOG_COMPONENT_CONFIG, useValue: null }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiDialogComponent extends BaseDirective implements AfterViewInit, OnDestroy, OnInit {\n @Input() e2eAttr: string = 'eui-dialog';\n @Input() title: string;\n @Input() acceptLabel = 'eui.OK';\n @Input() dismissLabel = 'eui.CANCEL';\n @Input() typeClass: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'accent';\n\n @Output() clickOutside = new EventEmitter();\n @Output() escape = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n @Output() dismiss = new EventEmitter();\n @Output() accept = new EventEmitter();\n\n public content: string | TemplatePortal;\n public isOpen$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n @ViewChild('templateRefHeader') templateRefHeader: TemplateRef<EuiDialogHeaderDirective>;\n @ViewChild('templateRefContent') templateRefContent: TemplateRef<ElementRef>;\n @ViewChild('templateRefFooter') templateRefFooter: TemplateRef<EuiDialogFooterDirective>;\n\n @ContentChild(forwardRef(() => EuiDialogHeaderDirective)) euiDialogHeaderDirective: QueryList<EuiDialogHeaderDirective>;\n @ContentChild(forwardRef(() => EuiDialogFooterDirective)) euiDialogFooterDirective: QueryList<EuiDialogFooterDirective>;\n\n @Input()\n get width(): string {\n if (this._isFullScreen === true) {\n return '100vw';\n }\n return this._width;\n }\n set width(value: string) {\n if (this._isFullScreen !== true) {\n this._width = value;\n }\n }\n private _width = '50rem';\n @Input()\n get height(): string {\n if (this._isFullScreen === true) {\n return '100vh';\n }\n return this._height;\n }\n set height(value: string) {\n if (this._isFullScreen !== true) {\n this._height = value;\n }\n }\n private _height = 'auto';\n @Input()\n get isFullScreen(): boolean {\n return this._isFullScreen;\n }\n set isFullScreen(value: BooleanInput) {\n this._isFullScreen = coerceBooleanProperty(value);\n if (this._isFullScreen === true) {\n this._width = '100vw';\n this._height = '100vh';\n }\n }\n private _isFullScreen = false;\n @Input()\n get hasCloseButton(): boolean { return this._hasCloseButton; }\n set hasCloseButton(value: BooleanInput) { this._hasCloseButton = coerceBooleanProperty(value); }\n private _hasCloseButton = true;\n @Input()\n get hasAcceptButton(): boolean { return this._hasAcceptButton; }\n set hasAcceptButton(value: BooleanInput) { this._hasAcceptButton = coerceBooleanProperty(value); }\n private _hasAcceptButton = true;\n @Input()\n get hasDismissButton(): boolean { return this._hasDismissButton; }\n set hasDismissButton(value: BooleanInput) { this._hasDismissButton = coerceBooleanProperty(value); }\n private _hasDismissButton = true;\n @Input()\n get hasMobileCustomSize(): boolean { return this._hasMobileCustomSize; }\n set hasMobileCustomSize(value: BooleanInput) { this._hasMobileCustomSize = coerceBooleanProperty(value); }\n private _hasMobileCustomSize = false;\n @Input()\n get isClosedOnClickOutside(): boolean { return this._isClosedOnClickOutside; }\n set isClosedOnClickOutside(value: BooleanInput) { this._isClosedOnClickOutside = coerceBooleanProperty(value); }\n private _isClosedOnClickOutside = false;\n @Input()\n get isClosedOnEscape(): boolean { return this._isClosedOnEscape; }\n set isClosedOnEscape(value: BooleanInput) { this._isClosedOnEscape = coerceBooleanProperty(value); }\n private _isClosedOnEscape = true;\n @Input()\n get isHandleCloseOnDismiss(): boolean { return this._isHandleCloseOnDismiss; }\n set isHandleCloseOnDismiss(value: BooleanInput) { this._isHandleCloseOnDismiss = coerceBooleanProperty(value); }\n private _isHandleCloseOnDismiss = false;\n @Input()\n get isHandleCloseOnClose(): boolean { return this._isHandleCloseOnClose; }\n set isHandleCloseOnClose(value: BooleanInput) { this._isHandleCloseOnClose = coerceBooleanProperty(value); }\n private _isHandleCloseOnClose = false;\n @Input()\n get isHandleCloseOnAccept(): boolean { return this._isHandleCloseOnAccept; }\n set isHandleCloseOnAccept(value: BooleanInput) { this._isHandleCloseOnAccept = coerceBooleanProperty(value); }\n private _isHandleCloseOnAccept = false;\n @Input()\n get isHandleCloseOnClickOutside(): boolean { return this._isHandleCloseOnClickOutside; }\n set isHandleCloseOnClickOutside(value: BooleanInput) { this._isHandleCloseOnClickOutside = coerceBooleanProperty(value); }\n private _isHandleCloseOnClickOutside = false;\n @Input()\n get isHandleCloseOnEscape(): boolean { return this._isHandleCloseOnEscape; }\n set isHandleCloseOnEscape(value: BooleanInput) { this._isHandleCloseOnEscape = coerceBooleanProperty(value); }\n private _isHandleCloseOnEscape = false;\n @Input()\n get isMessageBox(): boolean { return this._isMessageBox; }\n set isMessageBox(value: BooleanInput) { this._isMessageBox = coerceBooleanProperty(value); }\n private _isMessageBox = false;\n @Input()\n get isDraggable(): boolean { return this._isDraggable; }\n set isDraggable(value: BooleanInput) { this._isDraggable = coerceBooleanProperty(value); }\n private _isDraggable = false;\n @Input()\n get hasNoBodyPadding(): boolean { return this._hasNoBodyPadding; }\n set hasNoBodyPadding(value: BooleanInput) { this._hasNoBodyPadding = coerceBooleanProperty(value); }\n private _hasNoBodyPadding = false;\n @Input()\n get hasFooter(): boolean { return this._hasFooter; }\n set hasFooter(value: BooleanInput) { this._hasFooter = coerceBooleanProperty(value); }\n private _hasFooter = true;\n\n private dialog: OpenedDialog;\n private templatePortalHeader: TemplatePortal<EuiDialogHeaderDirective>;\n private templatePortalContent: TemplatePortal<ElementRef>;\n private templatePortalFooter: TemplatePortal<EuiDialogFooterDirective>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private viewContainerRef: ViewContainerRef, private euiDialogService: EuiDialogService) {\n super();\n }\n\n ngOnInit(): void {\n if (this.isMessageBox) {\n this.isClosedOnEscape = false;\n this.hasCloseButton = false;\n }\n\n if (this.euiPrimary) { this.typeClass = 'primary'; }\n if (this.euiSecondary) { this.typeClass = 'secondary'; }\n if (this.euiInfo) { this.typeClass = 'info'; }\n if (this.euiSuccess) { this.typeClass = 'success'; }\n if (this.euiWarning) { this.typeClass = 'warning'; }\n if (this.euiDanger) { this.typeClass = 'danger'; }\n if (this.euiAccent) { this.typeClass = 'accent'; }\n }\n\n ngAfterViewInit(): void {\n if (this.euiDialogHeaderDirective) {\n this.templatePortalHeader = new TemplatePortal(this.templateRefHeader, this.viewContainerRef);\n }\n\n this.templatePortalContent = new TemplatePortal(this.templateRefContent, this.viewContainerRef);\n\n if (this.euiDialogFooterDirective) {\n this.templatePortalFooter = new TemplatePortal(this.templateRefFooter, this.viewContainerRef);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Whether the eui-dialog is open.\n *\n * @usageNotes\n * ```html\n * <eui-dialog #dialog>\n * <my-component *ngIf=\"dialog.isOpen\"></my-component>\n * </eui-dialog>\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 /**\n * Open a dialog.\n * @returns A dialog object of type `OpenedDialog`\n */\n public openDialog<HC, HCC, BC, BCC, FC, FCC>(): OpenedDialog {\n const config: EuiDialogInterface<HC, HCC, BC, BCC, FC, FCC> = {\n e2eAttr: this.e2eAttr,\n title: this.title,\n width: this.width,\n height: this.height,\n isFullScreen: this.isFullScreen,\n typeClass: this.typeClass,\n acceptLabel: this.acceptLabel,\n dismissLabel: this.dismissLabel,\n hasCloseButton: this.hasCloseButton,\n hasAcceptButton: this.hasAcceptButton,\n hasDismissButton: this.hasDismissButton,\n hasMobileCustomSize: this.hasMobileCustomSize,\n isClosedOnClickOutside: this.isClosedOnClickOutside,\n isClosedOnEscape: this.isClosedOnEscape,\n isHandleCloseOnDismiss: this.isHandleCloseOnDismiss,\n isHandleCloseOnClose: this.isHandleCloseOnClose,\n isHandleCloseOnAccept: this.isHandleCloseOnAccept,\n isHandleCloseOnClickOutside: this.isHandleCloseOnClickOutside,\n isHandleCloseOnEscape: this.isHandleCloseOnEscape,\n isDraggable: this.isDraggable,\n hasNoBodyPadding: this.hasNoBodyPadding,\n hasFooter: this.hasFooter,\n header: this.templatePortalHeader,\n content: this.templatePortalContent,\n footer: this.templatePortalFooter,\n clickOutside: () => {\n if (this.isClosedOnClickOutside) {\n this.isOpen$.next(false);\n }\n this.clickOutside.emit();\n },\n escape: () => {\n if (this.isClosedOnEscape) {\n this.isOpen$.next(false);\n }\n this.escape.emit();\n },\n open: () => {\n this.open.emit();\n },\n close: () => {\n if (!this.isHandleCloseOnClose) {\n this.isOpen$.next(false);\n }\n this.close.emit();\n },\n dismiss: () => {\n if (!this.isHandleCloseOnDismiss) {\n this.isOpen$.next(false);\n }\n this.dismiss.emit();\n },\n accept: () => {\n if (!this.isHandleCloseOnAccept) {\n this.isOpen$.next(false);\n }\n this.accept.emit();\n },\n };\n\n this.isOpen$.next(true);\n this.dialog = this.euiDialogService.openDialog(config);\n\n return this.dialog;\n }\n\n /**\n * Close a Dialog\n */\n public closeDialog(): void {\n this.isOpen$.next(false);\n this.euiDialogService.closeDialog();\n }\n\n /**\n * Disable Accept button of default eui-dialog footer.\n */\n public disableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableAcceptButton();\n }\n\n /**\n * Enable Accept button of default eui-dialog footer.\n */\n public enableAcceptButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableAcceptButton();\n }\n\n /**\n * Disable Dismiss button of default eui-dialog footer.\n */\n public disableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.disableDismissButton();\n }\n\n /**\n * Enable Dismiss button of default eui-dialog footer.\n */\n public enableDismissButton(): void {\n this.euiDialogService.getDialog(this.dialog.id).containerRef.instance.enableDismissButton();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-dialog-header' })\nexport class EuiDialogHeaderDirective { }\n\n@Directive({ selector: 'eui-dialog-footer' })\nexport class EuiDialogFooterDirective { }\n/* eslint-enable */\n","<ng-template #templateRefHeader>\n <ng-content select=\"eui-dialog-header\"></ng-content>\n</ng-template>\n<ng-template #templateRefContent>\n <ng-content></ng-content>\n</ng-template>\n<ng-template #templateRefFooter>\n <ng-content select=\"eui-dialog-footer\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\n\nimport { EuiDialogComponent, EuiDialogFooterDirective, EuiDialogHeaderDirective } from './eui-dialog.component';\nimport { EuiDialogService } from './services/eui-dialog.service';\nimport { EuiDialogContainerComponent } from './container/eui-dialog-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiButtonModule,\n EuiIconModule,\n TranslateModule,\n PortalModule,\n OverlayModule,\n A11yModule,\n DragDropModule,\n CdkScrollableModule,\n ],\n exports: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n ],\n declarations: [\n EuiDialogComponent,\n EuiDialogHeaderDirective,\n EuiDialogFooterDirective,\n EuiDialogContainerComponent,\n ],\n providers: [\n EuiDialogService,\n ],\n})\n\nexport class EuiDialogModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.EuiDialogService"],"mappings":"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"}
|
|
@@ -982,6 +982,32 @@ const maxSizeValidator = (maxSize) => (control) => {
|
|
|
982
982
|
}
|
|
983
983
|
return control.value && totalSize > maxSize * 1.024 ? { maxSize } : null;
|
|
984
984
|
};
|
|
985
|
+
/**
|
|
986
|
+
* @description
|
|
987
|
+
* Validator that requires an array of mime type that can be uploaded.
|
|
988
|
+
*
|
|
989
|
+
* @usageNotes
|
|
990
|
+
* Validate that the user doesn't select a file having another extension than .jpg or .jpeg:
|
|
991
|
+
*
|
|
992
|
+
* ```typescript
|
|
993
|
+
* const fileUpload = new FormControl(null, mimeTypeExtensionValidator(['image/jpeg'])),
|
|
994
|
+
* console.log(fileUpload.errors); // { invalidFileExtension: ['image/jpeg'] }
|
|
995
|
+
* ```
|
|
996
|
+
*
|
|
997
|
+
* @returns A validator function that returns an error map with the
|
|
998
|
+
* `invalidFileExtension` if the validation check fails, otherwise `null`.
|
|
999
|
+
*/
|
|
1000
|
+
const mimeTypeExtensionValidator = (mimeTypes) => (control) => {
|
|
1001
|
+
const invalidFileExtension = [];
|
|
1002
|
+
if (control.value) {
|
|
1003
|
+
control.value.forEach((file) => {
|
|
1004
|
+
if (mimeTypes.indexOf(file.type) === -1) {
|
|
1005
|
+
invalidFileExtension.push(file.name);
|
|
1006
|
+
}
|
|
1007
|
+
});
|
|
1008
|
+
}
|
|
1009
|
+
return control.value && invalidFileExtension.length > 0 ? { invalidFileExtension } : null;
|
|
1010
|
+
};
|
|
985
1011
|
/**
|
|
986
1012
|
* @description
|
|
987
1013
|
* Validator that requires an array of mime type that can be uploaded.
|
|
@@ -997,7 +1023,7 @@ const maxSizeValidator = (maxSize) => (control) => {
|
|
|
997
1023
|
* @returns An Async validator function that returns an error map with the
|
|
998
1024
|
* `invalidMimeFileType` if the validation check fails, otherwise `null`.
|
|
999
1025
|
*/
|
|
1000
|
-
const
|
|
1026
|
+
const asyncMimeTypeExtensionValidator = (mimeTypes) => (control) => {
|
|
1001
1027
|
if (control.value) {
|
|
1002
1028
|
const fileErrorObservables = [];
|
|
1003
1029
|
// iterate over files
|
|
@@ -1013,21 +1039,19 @@ const mimeTypeExtensionValidator = (mimeTypes) => (control) => {
|
|
|
1013
1039
|
}
|
|
1014
1040
|
return of(null);
|
|
1015
1041
|
};
|
|
1016
|
-
const validateFileMimeType = (file, mimeTypes) => {
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
});
|
|
1030
|
-
};
|
|
1042
|
+
const validateFileMimeType = (file, mimeTypes) => new Observable((subscriber) => {
|
|
1043
|
+
const reader = new FileReader();
|
|
1044
|
+
reader.onloadend = () => {
|
|
1045
|
+
const buffer = reader.result;
|
|
1046
|
+
const headerBytes = new Uint8Array(buffer).slice(0, 8);
|
|
1047
|
+
const mime = getMimeType(headerBytes);
|
|
1048
|
+
if (mimeTypes.indexOf(mime) === -1) {
|
|
1049
|
+
subscriber.next({ [file.name]: mime });
|
|
1050
|
+
}
|
|
1051
|
+
subscriber.complete();
|
|
1052
|
+
};
|
|
1053
|
+
reader.readAsArrayBuffer(file);
|
|
1054
|
+
});
|
|
1031
1055
|
|
|
1032
1056
|
class EuiUploadedFile {
|
|
1033
1057
|
constructor(values) {
|
|
@@ -1039,5 +1063,5 @@ class EuiUploadedFile {
|
|
|
1039
1063
|
* Generated bundle index. Do not edit.
|
|
1040
1064
|
*/
|
|
1041
1065
|
|
|
1042
|
-
export { EuiFilePreviewComponent, EuiFileUploadComponent, EuiFileUploadModule, EuiFileUploadProgressComponent, EuiFileUploadUtilsService, EuiUploadedFile, maxFilesValidator, maxSizeValidator, mimeTypeExtensionValidator };
|
|
1066
|
+
export { EuiFilePreviewComponent, EuiFileUploadComponent, EuiFileUploadModule, EuiFileUploadProgressComponent, EuiFileUploadUtilsService, EuiUploadedFile, asyncMimeTypeExtensionValidator, maxFilesValidator, maxSizeValidator, mimeTypeExtensionValidator };
|
|
1043
1067
|
//# sourceMappingURL=eui-components-eui-file-upload.mjs.map
|