@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;
|
|
@@ -239,7 +240,8 @@ class EuiDialogService {
|
|
|
239
240
|
const scrollStrategy = this.overlay.scrollStrategies.block();
|
|
240
241
|
const isClosedOnEscape = config.isClosedOnEscape;
|
|
241
242
|
const hasCloseButton = config.hasCloseButton;
|
|
242
|
-
const dialogConfig = new EuiDialogConfig(Object.assign(Object.assign({}, config), { isClosedOnEscape,
|
|
243
|
+
const dialogConfig = new EuiDialogConfig(Object.assign(Object.assign({}, config), { isClosedOnEscape,
|
|
244
|
+
hasCloseButton, width: config.isFullScreen ? '100vw' : config.width, height: config.isFullScreen ? '100vh' : config.height }));
|
|
243
245
|
const dialogId = 'eui-dialog-' + Math.floor(Math.random() * 10000);
|
|
244
246
|
const overlayRef = this.overlay.create({
|
|
245
247
|
backdropClass: ['eui-dialog__backdrop', dialogId + '__backdrop'],
|
|
@@ -391,8 +393,6 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
391
393
|
this.viewContainerRef = viewContainerRef;
|
|
392
394
|
this.euiDialogService = euiDialogService;
|
|
393
395
|
this.e2eAttr = 'eui-dialog';
|
|
394
|
-
this.width = '50rem';
|
|
395
|
-
this.height = 'auto';
|
|
396
396
|
this.acceptLabel = 'eui.OK';
|
|
397
397
|
this.dismissLabel = 'eui.CANCEL';
|
|
398
398
|
this.clickOutside = new EventEmitter();
|
|
@@ -404,6 +404,9 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
404
404
|
this.dismiss = new EventEmitter();
|
|
405
405
|
this.accept = new EventEmitter();
|
|
406
406
|
this.isOpen$ = new BehaviorSubject(false);
|
|
407
|
+
this._width = '50rem';
|
|
408
|
+
this._height = 'auto';
|
|
409
|
+
this._isFullScreen = false;
|
|
407
410
|
this._hasCloseButton = true;
|
|
408
411
|
this._hasAcceptButton = true;
|
|
409
412
|
this._hasDismissButton = true;
|
|
@@ -421,6 +424,38 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
421
424
|
this._hasFooter = true;
|
|
422
425
|
this.destroy$ = new Subject();
|
|
423
426
|
}
|
|
427
|
+
get width() {
|
|
428
|
+
if (this._isFullScreen === true) {
|
|
429
|
+
return '100vw';
|
|
430
|
+
}
|
|
431
|
+
return this._width;
|
|
432
|
+
}
|
|
433
|
+
set width(value) {
|
|
434
|
+
if (this._isFullScreen !== true) {
|
|
435
|
+
this._width = value;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
get height() {
|
|
439
|
+
if (this._isFullScreen === true) {
|
|
440
|
+
return '100vh';
|
|
441
|
+
}
|
|
442
|
+
return this._height;
|
|
443
|
+
}
|
|
444
|
+
set height(value) {
|
|
445
|
+
if (this._isFullScreen !== true) {
|
|
446
|
+
this._height = value;
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
get isFullScreen() {
|
|
450
|
+
return this._isFullScreen;
|
|
451
|
+
}
|
|
452
|
+
set isFullScreen(value) {
|
|
453
|
+
this._isFullScreen = coerceBooleanProperty(value);
|
|
454
|
+
if (this._isFullScreen === true) {
|
|
455
|
+
this._width = '100vw';
|
|
456
|
+
this._height = '100vh';
|
|
457
|
+
}
|
|
458
|
+
}
|
|
424
459
|
get hasCloseButton() { return this._hasCloseButton; }
|
|
425
460
|
set hasCloseButton(value) { this._hasCloseButton = coerceBooleanProperty(value); }
|
|
426
461
|
get hasAcceptButton() { return this._hasAcceptButton; }
|
|
@@ -515,6 +550,7 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
515
550
|
title: this.title,
|
|
516
551
|
width: this.width,
|
|
517
552
|
height: this.height,
|
|
553
|
+
isFullScreen: this.isFullScreen,
|
|
518
554
|
typeClass: this.typeClass,
|
|
519
555
|
acceptLabel: this.acceptLabel,
|
|
520
556
|
dismissLabel: this.dismissLabel,
|
|
@@ -606,7 +642,7 @@ class EuiDialogComponent extends BaseDirective {
|
|
|
606
642
|
}
|
|
607
643
|
}
|
|
608
644
|
/** @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 });
|
|
609
|
-
/** @nocollapse */ EuiDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiDialogComponent, selector: "eui-dialog", inputs: { e2eAttr: "e2eAttr", title: "title",
|
|
645
|
+
/** @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: [
|
|
610
646
|
{ provide: DIALOG_COMPONENT_CONFIG, useValue: null }
|
|
611
647
|
], 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 });
|
|
612
648
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiDialogComponent, decorators: [{
|
|
@@ -618,10 +654,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
618
654
|
type: Input
|
|
619
655
|
}], title: [{
|
|
620
656
|
type: Input
|
|
621
|
-
}], width: [{
|
|
622
|
-
type: Input
|
|
623
|
-
}], height: [{
|
|
624
|
-
type: Input
|
|
625
657
|
}], acceptLabel: [{
|
|
626
658
|
type: Input
|
|
627
659
|
}], dismissLabel: [{
|
|
@@ -655,6 +687,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
655
687
|
}], euiDialogFooterDirective: [{
|
|
656
688
|
type: ContentChild,
|
|
657
689
|
args: [forwardRef(() => EuiDialogFooterDirective)]
|
|
690
|
+
}], width: [{
|
|
691
|
+
type: Input
|
|
692
|
+
}], height: [{
|
|
693
|
+
type: Input
|
|
694
|
+
}], isFullScreen: [{
|
|
695
|
+
type: Input
|
|
658
696
|
}], hasCloseButton: [{
|
|
659
697
|
type: Input
|
|
660
698
|
}], 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":"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"}
|
|
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
|