@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.
Files changed (30) hide show
  1. package/docs/classes/EuiDialogConfig.html +23 -0
  2. package/docs/components/EuiDialogComponent.html +211 -10
  3. package/docs/interfaces/EuiDialogInterface.html +45 -0
  4. package/docs/js/search/search_index.js +2 -2
  5. package/docs/miscellaneous/variables.html +160 -127
  6. package/esm2020/eui-dialog/eui-dialog.component.mjs +44 -8
  7. package/esm2020/eui-dialog/models/eui-dialog.config.mjs +2 -1
  8. package/esm2020/eui-dialog/services/eui-dialog.service.mjs +8 -2
  9. package/esm2020/eui-file-upload/utils/eui-file-upload.validators.mjs +41 -17
  10. package/esm2020/eui-table/eui-table.component.mjs +2 -2
  11. package/eui-dialog/eui-dialog.component.d.ts +11 -4
  12. package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
  13. package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
  14. package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
  15. package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
  16. package/eui-file-upload/utils/eui-file-upload.validators.d.ts +17 -1
  17. package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
  18. package/fesm2015/eui-components-eui-dialog.mjs +46 -8
  19. package/fesm2015/eui-components-eui-dialog.mjs.map +1 -1
  20. package/fesm2015/eui-components-eui-file-upload.mjs +41 -17
  21. package/fesm2015/eui-components-eui-file-upload.mjs.map +1 -1
  22. package/fesm2015/eui-components-eui-table.mjs +2 -2
  23. package/fesm2015/eui-components-eui-table.mjs.map +1 -1
  24. package/fesm2020/eui-components-eui-dialog.mjs +51 -8
  25. package/fesm2020/eui-components-eui-dialog.mjs.map +1 -1
  26. package/fesm2020/eui-components-eui-file-upload.mjs +41 -17
  27. package/fesm2020/eui-components-eui-file-upload.mjs.map +1 -1
  28. package/fesm2020/eui-components-eui-table.mjs +2 -2
  29. package/fesm2020/eui-components-eui-table.mjs.map +1 -1
  30. 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, hasCloseButton }));
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", width: "width", height: "height", acceptLabel: "acceptLabel", dismissLabel: "dismissLabel", typeClass: "typeClass", 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: [
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 mimeTypeExtensionValidator = (mimeTypes) => (control) => {
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
- return new Observable((subscriber) => {
1018
- const reader = new FileReader();
1019
- reader.onloadend = () => {
1020
- const buffer = reader.result;
1021
- const headerBytes = new Uint8Array(buffer).slice(0, 8);
1022
- const mime = getMimeType(headerBytes);
1023
- if (mimeTypes.indexOf(mime) === -1) {
1024
- subscriber.next({ [file.name]: mime });
1025
- }
1026
- subscriber.complete();
1027
- };
1028
- reader.readAsArrayBuffer(file);
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