import * as i0 from '@angular/core';
import { EventEmitter, inject, ElementRef, Renderer2, booleanAttribute, HostListener, Output, Input, HostBinding, ViewEncapsulation, Component, forwardRef, ContentChild, ChangeDetectionStrategy, NgModule } from '@angular/core';
import { CdkTrapFocus } from '@angular/cdk/a11y';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i1 from '@eui/components/eui-badge';
import { EUI_BADGE } from '@eui/components/eui-badge';
import * as i2 from '@eui/components/eui-button';
import { EUI_BUTTON } from '@eui/components/eui-button';
import * as i3 from '@eui/components/eui-icon';
import { EUI_ICON } from '@eui/components/eui-icon';

class EuiOverlayComponent {
    constructor() {
        this.role = 'dialog';
        this['aria-label'] = 'dialogOverlay';
        this.isActive = false;
        this.euiHighlighted = false;
        this.hasClosedOnClickOutside = false;
        this.position = 'right';
        this.activeState = new EventEmitter();
        this.elementRef = inject(ElementRef);
        this.renderer = inject(Renderer2);
    }
    get cssClasses() {
        return [
            'eui-overlay',
            this.isActive ? 'eui-overlay--is-active' : '',
            this.euiHighlighted ? 'eui-overlay--highlighted' : '',
            this.position ? 'eui-overlay-offset eui-overlay-offset--position-' + this.position : '',
            this.width ? 'eui-overlay-offset eui-overlay-offset--width-' + this.width : '',
            this.fixedWidth ? 'eui-overlay-offset eui-overlay-offset--fixed-width-' + this.fixedWidth : '',
            this.hasClosedOnClickOutside ? 'eui-overlay--slideInRight' : '',
        ]
            .join(' ')
            .trim();
    }
    get inert() {
        return this.isActive ? null : '';
    }
    // ngOnChanges(changes: SimpleChanges): void {
    //     if (changes.isActive) {
    //         if(!this.isActive) {
    //             // Reset the width when the overlay is deactivated
    //             this.renderer.removeStyle(this.elementRef.nativeElement, 'width');
    //             this.renderer.removeStyle(this.elementRef.nativeElement, 'min-width');
    //             this.renderer.removeStyle(this.elementRef.nativeElement, 'max-width');
    //         }
    //     }
    // }
    onKeydown(event) {
        if (event.key === 'Escape') {
            this.activeState.emit(false);
        }
    }
    onClick(event) {
        if (this.hasClosedOnClickOutside) {
            let targetElement = event.target;
            let isInsideOverlay = false;
            while (targetElement) {
                if (targetElement.classList.contains('eui-overlay')) {
                    isInsideOverlay = true;
                    break;
                }
                targetElement = targetElement.parentElement;
            }
            if (!isInsideOverlay && this.isActive) {
                this.activeState.emit(false);
            }
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.2.17", type: EuiOverlayComponent, isStandalone: true, selector: "eui-overlay", inputs: { isActive: ["isActive", "isActive", booleanAttribute], euiHighlighted: ["euiHighlighted", "euiHighlighted", booleanAttribute], hasClosedOnClickOutside: ["hasClosedOnClickOutside", "hasClosedOnClickOutside", booleanAttribute], position: "position", width: "width", fixedWidth: "fixedWidth" }, outputs: { activeState: "activeState" }, host: { listeners: { "keydown": "onKeydown($event)", "document:click": "onClick($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.aria-label": "this['aria-label']", "attr.inert": "this.inert" } }, ngImport: i0, template: "<div class=\"eui-overlay-wrapper\"\n   [cdkTrapFocus]=\"isActive\"\n   [cdkTrapFocusAutoCapture]=\"isActive\">\n    <ng-content select=\"eui-overlay-header\"></ng-content>\n    <ng-content select=\"eui-overlay-content\"></ng-content>\n    <ng-content select=\"eui-overlay-body\"></ng-content>\n    <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n", styles: [".eui-19 .eui-overlay{background:var(--eui-c-surface-container);border-left:1px solid var(--eui-c-s-secondary-border-light);border-right:1px solid var(--eui-c-s-secondary-border-light);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-9999px;top:0;width:30%;z-index:var(--eui-zi-overlay)}.eui-19 .eui-overlay:not(.eui-overlay--slideInRight){transition:var(--eui-base-animation-transition-base)}.eui-19 .eui-overlay-wrapper{color:var(--eui-c-text);display:flex;flex-direction:column;height:100%}.eui-19 .eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-c-divider);cursor:default;display:flex;flex:0 0 auto;padding:var(--eui-s-m)}.eui-19 .eui-overlay-header:not(.eui-overlay-header--with-title){padding:var(--eui-s-m) var(--eui-s-s) var(--eui-s-m) var(--eui-s-m)}.eui-19 .eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:var(--eui-f-m-bold)}.eui-19 .eui-overlay-header__close--inversed{background:transparent;color:var(--eui-c-white)}.eui-19 .eui-overlay-header__close--inversed:hover{color:var(--eui-c-s-danger)}.eui-19 .eui-overlay-header-title{display:flex;width:100%;flex-direction:column}.eui-19 .eui-overlay-header-title__label-wrapper{display:flex;align-items:center;flex-direction:row}.eui-19 .eui-overlay-header-title__label{display:flex;align-items:center;font:var(--eui-f-l-bold)}.eui-19 .eui-overlay-header-title__label-count{margin-left:var(--eui-s-s)}.eui-19 .eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-19 .eui-overlay-header-title__actions-hide{align-items:center;display:flex}.eui-19 .eui-overlay-header-title__actions-hide-link{display:inline-flex}.eui-19 .eui-overlay-header-title__subactions-bar{display:flex;align-items:center}.eui-19 .eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-19 .eui-overlay-body::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-s-secondary-surface-light)}.eui-19 .eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem;background-clip:padding-box;border:2px solid transparent}.eui-19 .eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-s-secondary-surface);border:0;cursor:grab}.eui-19 .eui-overlay-body:focus::-webkit-scrollbar-thumb{background-color:var(--eui-c-s-primary-surface);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important}.eui-19 .eui-overlay-body:focus-visible::-webkit-scrollbar-thumb{background-color:var(--eui-c-s-primary-surface);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important}.eui-19 .eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-c-s-secondary-surface-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-overlay-body{scrollbar-color:var(--eui-c-s-secondary-surface) var(--eui-c-s-secondary-surface-light);scrollbar-width:auto}}@-moz-document url-prefix(){.eui-19 .eui-overlay-body:focus,.eui-19 .eui-overlay-body:focus-visible{scrollbar-color:var(--eui-c-focus-visible) var(--eui-c-s-secondary-surface-light)}}.eui-19 .eui-overlay-footer{background-color:var(--eui-c-surface-container);border-top:1px solid var(--eui-c-divider);flex:0 0 auto;padding:var(--eui-s-m);text-align:center}.eui-19 .eui-overlay.eui-overlay--slideInRight{transform:translateZ(0);display:inline-block;vertical-align:middle;animation-name:eui-overlay--slideInRight;animation-duration:var(--eui-base-animation-duration-fast);backface-visibility:visible}.eui-19 .eui-overlay .eui-resizable .eui-resizable-icon__container{top:50%;background-color:var(--eui-c-white);border:1px solid var(--eui-c-divider);padding:var(--eui-s-m) var(--eui-s-xs) var(--eui-s-m) var(--eui-s-xl);display:inline-flex;align-items:center;border-radius:var(--eui-br-max);transform:translate(-1.5rem)}@keyframes eui-overlay--slideInRight{0%{transform:translate3d(50%,0,0);visibility:visible}to{transform:translateZ(0)}}.eui-19 .eui-overlay--size-full-screen{right:-100%;width:100%}.eui-19 .eui-overlay--is-active{right:0!important;box-shadow:var(--eui-sh-8)}.eui-19 .eui-overlay--highlighted{z-index:var(--eui-zi-highlighted)}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{width:25%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{width:30%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{width:35%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{width:40%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{width:50%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{width:75%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{width:25rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{width:30rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{width:35rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{width:40rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{width:50rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{width:75rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center.eui-overlay--is-active{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center.eui-overlay--is-active{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-19 .eui-overlay{width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-overlay{width:45%!important}}@media screen and (min-width: 1440px) and (max-width: 1919px){.eui-19 .eui-overlay{width:33%!important}}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-overlay', encapsulation: ViewEncapsulation.None, imports: [CdkTrapFocus], template: "<div class=\"eui-overlay-wrapper\"\n   [cdkTrapFocus]=\"isActive\"\n   [cdkTrapFocusAutoCapture]=\"isActive\">\n    <ng-content select=\"eui-overlay-header\"></ng-content>\n    <ng-content select=\"eui-overlay-content\"></ng-content>\n    <ng-content select=\"eui-overlay-body\"></ng-content>\n    <ng-content select=\"eui-overlay-footer\"></ng-content>\n</div>\n", styles: [".eui-19 .eui-overlay{background:var(--eui-c-surface-container);border-left:1px solid var(--eui-c-s-secondary-border-light);border-right:1px solid var(--eui-c-s-secondary-border-light);height:100%;overflow-x:hidden;overflow-y:auto;position:fixed;right:-9999px;top:0;width:30%;z-index:var(--eui-zi-overlay)}.eui-19 .eui-overlay:not(.eui-overlay--slideInRight){transition:var(--eui-base-animation-transition-base)}.eui-19 .eui-overlay-wrapper{color:var(--eui-c-text);display:flex;flex-direction:column;height:100%}.eui-19 .eui-overlay-header{align-items:center;border-bottom:1px solid var(--eui-c-divider);cursor:default;display:flex;flex:0 0 auto;padding:var(--eui-s-m)}.eui-19 .eui-overlay-header:not(.eui-overlay-header--with-title){padding:var(--eui-s-m) var(--eui-s-s) var(--eui-s-m) var(--eui-s-m)}.eui-19 .eui-overlay-header-toolbar{align-items:center;display:flex;margin-left:auto;font:var(--eui-f-m-bold)}.eui-19 .eui-overlay-header__close--inversed{background:transparent;color:var(--eui-c-white)}.eui-19 .eui-overlay-header__close--inversed:hover{color:var(--eui-c-s-danger)}.eui-19 .eui-overlay-header-title{display:flex;width:100%;flex-direction:column}.eui-19 .eui-overlay-header-title__label-wrapper{display:flex;align-items:center;flex-direction:row}.eui-19 .eui-overlay-header-title__label{display:flex;align-items:center;font:var(--eui-f-l-bold)}.eui-19 .eui-overlay-header-title__label-count{margin-left:var(--eui-s-s)}.eui-19 .eui-overlay-header-title__actions{align-items:center;display:flex;margin-left:auto}.eui-19 .eui-overlay-header-title__actions-hide{align-items:center;display:flex}.eui-19 .eui-overlay-header-title__actions-hide-link{display:inline-flex}.eui-19 .eui-overlay-header-title__subactions-bar{display:flex;align-items:center}.eui-19 .eui-overlay-body{cursor:auto;flex:1 1 auto;overflow-y:auto;position:relative}.eui-19 .eui-overlay-body::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-c-s-secondary-surface-light)}.eui-19 .eui-overlay-body::-webkit-scrollbar-thumb{background-color:var(--_eui-scrollbars-foreground-color);border-radius:5rem;background-clip:padding-box;border:2px solid transparent}.eui-19 .eui-overlay-body::-webkit-scrollbar-thumb:hover{background-color:var(--eui-c-s-secondary-surface);border:0;cursor:grab}.eui-19 .eui-overlay-body:focus::-webkit-scrollbar-thumb{background-color:var(--eui-c-s-primary-surface);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important}.eui-19 .eui-overlay-body:focus-visible::-webkit-scrollbar-thumb{background-color:var(--eui-c-s-primary-surface);outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:-2px!important}.eui-19 .eui-overlay-body::-webkit-scrollbar-track{background-color:var(--eui-c-s-secondary-surface-light);border-radius:0}@-moz-document url-prefix(){.eui-19 .eui-overlay-body{scrollbar-color:var(--eui-c-s-secondary-surface) var(--eui-c-s-secondary-surface-light);scrollbar-width:auto}}@-moz-document url-prefix(){.eui-19 .eui-overlay-body:focus,.eui-19 .eui-overlay-body:focus-visible{scrollbar-color:var(--eui-c-focus-visible) var(--eui-c-s-secondary-surface-light)}}.eui-19 .eui-overlay-footer{background-color:var(--eui-c-surface-container);border-top:1px solid var(--eui-c-divider);flex:0 0 auto;padding:var(--eui-s-m);text-align:center}.eui-19 .eui-overlay.eui-overlay--slideInRight{transform:translateZ(0);display:inline-block;vertical-align:middle;animation-name:eui-overlay--slideInRight;animation-duration:var(--eui-base-animation-duration-fast);backface-visibility:visible}.eui-19 .eui-overlay .eui-resizable .eui-resizable-icon__container{top:50%;background-color:var(--eui-c-white);border:1px solid var(--eui-c-divider);padding:var(--eui-s-m) var(--eui-s-xs) var(--eui-s-m) var(--eui-s-xl);display:inline-flex;align-items:center;border-radius:var(--eui-br-max);transform:translate(-1.5rem)}@keyframes eui-overlay--slideInRight{0%{transform:translate3d(50%,0,0);visibility:visible}to{transform:translateZ(0)}}.eui-19 .eui-overlay--size-full-screen{right:-100%;width:100%}.eui-19 .eui-overlay--is-active{right:0!important;box-shadow:var(--eui-sh-8)}.eui-19 .eui-overlay--highlighted{z-index:var(--eui-zi-highlighted)}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-25{width:25%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-30{width:30%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-35{width:35%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-40{width:40%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-50{width:50%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--width-75{width:75%!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-25{width:25rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-30{width:30rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-35{width:35rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-40{width:40rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-50{width:50rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--fixed-width-75{width:75rem!important}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--position-right{position:fixed}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--position-top-center.eui-overlay--is-active{height:auto;left:50%;position:fixed;top:0;transform:translate(-50%)}.eui-19 .eui-overlay.eui-overlay-offset.eui-overlay-offset--position-center.eui-overlay--is-active{height:auto;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%)}@media screen and (max-width: 767px){.eui-19 .eui-overlay{width:75%!important}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-19 .eui-overlay{width:45%!important}}@media screen and (min-width: 1440px) and (max-width: 1919px){.eui-19 .eui-overlay{width:33%!important}}\n"] }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], role: [{
                type: HostBinding,
                args: ['attr.role']
            }], 'aria-label': [{
                type: HostBinding,
                args: ['attr.aria-label']
            }], inert: [{
                type: HostBinding,
                args: ['attr.inert']
            }], isActive: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiHighlighted: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], hasClosedOnClickOutside: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], position: [{
                type: Input
            }], width: [{
                type: Input
            }], fixedWidth: [{
                type: Input
            }], activeState: [{
                type: Output
            }], onKeydown: [{
                type: HostListener,
                args: ['keydown', ['$event']]
            }], onClick: [{
                type: HostListener,
                args: ['document:click', ['$event']]
            }] } });

class EuiOverlayHeaderTitleComponent {
    constructor() {
        this.headerTitleLabel = null;
        this.headerTitleHideLabel = null;
        this.headerTitleCount = null;
        // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
        // eslint-disable-next-line @typescript-eslint/no-explicit-any
        this.hide = new EventEmitter();
    }
    get cssClasses() {
        return 'eui-overlay-header-title';
    }
    onHide() {
        this.hide.emit();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayHeaderTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: EuiOverlayHeaderTitleComponent, isStandalone: true, selector: "eui-overlay-header-title", inputs: { headerTitleLabel: "headerTitleLabel", headerTitleHideLabel: "headerTitleHideLabel", headerTitleCount: "headerTitleCount" }, outputs: { hide: "hide" }, host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: "<div class=\"eui-overlay-header-title\">\n  <div class=\"eui-overlay-header-title__label-wrapper\">\n    <div class=\"eui-overlay-header-title__label\">\n      {{ headerTitleLabel }}\n      @if (headerTitleCount) {\n        <eui-badge euiSizeL class=\"eui-overlay-header-title__label-count\">\n          {{ headerTitleCount }}\n        </eui-badge>\n      }\n    </div>\n\n    <div class=\"eui-overlay-header-title__actions\">\n      @if (headerTitleHideLabel) {\n        <div class=\"eui-overlay-header-title__actions-hide\">\n          <button\n            (click)=\"onHide()\"\n            euiButton\n            euiIconButton\n            euiRounded\n            euiBasicButton\n            aria-label=\"Dialog close icon\">\n            <eui-icon-svg icon=\"close:outline\" fillColor=\"neutral\"></eui-icon-svg>\n          </button>\n        </div>\n      }\n    </div>\n  </div>\n\n  <div class=\"eui-overlay-header-title__subactions-bar\">\n    <ng-content></ng-content>\n  </div>\n</div>\n", dependencies: [{ kind: "component", type: i1.EuiBadgeComponent, selector: "div[euiBadge], span[euiBadge], eui-badge", inputs: ["e2eAttr", "aria-label", "maxCharCount", "charReplacement", "euiIconBadge", "euiDottedBadge"] }, { kind: "component", type: i2.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiCTAButton", "euiBlockButton", "euiIconButton", "euiAvatarButton", "euiLineWrap", "isCompact", "hasNoFocusRing", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i3.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }], encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayHeaderTitleComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-overlay-header-title', encapsulation: ViewEncapsulation.None, imports: [
                        BaseStatesDirective,
                        ...EUI_BADGE,
                        ...EUI_BUTTON,
                        ...EUI_ICON,
                    ], template: "<div class=\"eui-overlay-header-title\">\n  <div class=\"eui-overlay-header-title__label-wrapper\">\n    <div class=\"eui-overlay-header-title__label\">\n      {{ headerTitleLabel }}\n      @if (headerTitleCount) {\n        <eui-badge euiSizeL class=\"eui-overlay-header-title__label-count\">\n          {{ headerTitleCount }}\n        </eui-badge>\n      }\n    </div>\n\n    <div class=\"eui-overlay-header-title__actions\">\n      @if (headerTitleHideLabel) {\n        <div class=\"eui-overlay-header-title__actions-hide\">\n          <button\n            (click)=\"onHide()\"\n            euiButton\n            euiIconButton\n            euiRounded\n            euiBasicButton\n            aria-label=\"Dialog close icon\">\n            <eui-icon-svg icon=\"close:outline\" fillColor=\"neutral\"></eui-icon-svg>\n          </button>\n        </div>\n      }\n    </div>\n  </div>\n\n  <div class=\"eui-overlay-header-title__subactions-bar\">\n    <ng-content></ng-content>\n  </div>\n</div>\n" }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], headerTitleLabel: [{
                type: Input
            }], headerTitleHideLabel: [{
                type: Input
            }], headerTitleCount: [{
                type: Input
            }], hide: [{
                type: Output
            }] } });

class EuiOverlayHeaderComponent {
    get cssClasses() {
        return [
            'eui-overlay-header',
            this.hasHeaderTitle ? 'eui-overlay-header--with-title' : '',
        ].join(' ').trim();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiOverlayHeaderComponent, isStandalone: true, selector: "eui-overlay-header", host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "hasHeaderTitle", first: true, predicate: i0.forwardRef(() => EuiOverlayHeaderTitleComponent), descendants: true }], ngImport: i0, template: "<ng-content select=\"eui-overlay-header-title\" />\n<ng-content />\n", encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayHeaderComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-overlay-header', encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"eui-overlay-header-title\" />\n<ng-content />\n" }]
        }], propDecorators: { hasHeaderTitle: [{
                type: ContentChild,
                args: [forwardRef(() => EuiOverlayHeaderTitleComponent), { static: false }]
            }], cssClasses: [{
                type: HostBinding,
                args: ['class']
            }] } });

class EuiOverlayBodyComponent {
    get cssClasses() {
        return 'eui-overlay-body';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiOverlayBodyComponent, isStandalone: true, selector: "eui-overlay-body", host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content/>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayBodyComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'eui-overlay-body',
                    template: '<ng-content/>',
                    changeDetection: ChangeDetectionStrategy.Default,
                    encapsulation: ViewEncapsulation.None,
                }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }] } });

class EuiOverlayFooterComponent {
    get cssClasses() {
        return 'eui-overlay-footer';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiOverlayFooterComponent, isStandalone: true, selector: "eui-overlay-footer", host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content/>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayFooterComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'eui-overlay-footer',
                    template: '<ng-content/>',
                    changeDetection: ChangeDetectionStrategy.Default,
                    encapsulation: ViewEncapsulation.None,
                }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }] } });

class EuiOverlayContentComponent {
    get cssClasses() {
        return 'eui-overlay-content';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EuiOverlayContentComponent, isStandalone: true, selector: "eui-overlay-content", host: { properties: { "class": "this.cssClasses" } }, ngImport: i0, template: '<ng-content/>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayContentComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'eui-overlay-content',
                    template: '<ng-content/>',
                    changeDetection: ChangeDetectionStrategy.Default,
                    encapsulation: ViewEncapsulation.None,
                }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }] } });

/**
 * Angular module that provides list components for eui-menu
 *
 * @deprecated Use {@link EUI_OVERLAY} instead
 */
class EuiOverlayModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayModule, imports: [EuiOverlayHeaderComponent,
            EuiOverlayBodyComponent,
            EuiOverlayFooterComponent,
            EuiOverlayComponent,
            EuiOverlayHeaderTitleComponent,
            EuiOverlayContentComponent], exports: [EuiOverlayHeaderComponent,
            EuiOverlayBodyComponent,
            EuiOverlayFooterComponent,
            EuiOverlayComponent,
            EuiOverlayHeaderTitleComponent,
            EuiOverlayContentComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayModule, imports: [EuiOverlayHeaderTitleComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiOverlayModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [
                        EuiOverlayHeaderComponent,
                        EuiOverlayBodyComponent,
                        EuiOverlayFooterComponent,
                        EuiOverlayComponent,
                        EuiOverlayHeaderTitleComponent,
                        EuiOverlayContentComponent,
                    ],
                    exports: [
                        EuiOverlayHeaderComponent,
                        EuiOverlayBodyComponent,
                        EuiOverlayFooterComponent,
                        EuiOverlayComponent,
                        EuiOverlayHeaderTitleComponent,
                        EuiOverlayContentComponent,
                    ],
                }]
        }] });

const EUI_OVERLAY = [
    EuiOverlayHeaderComponent,
    EuiOverlayHeaderTitleComponent,
    EuiOverlayBodyComponent,
    EuiOverlayContentComponent,
    EuiOverlayFooterComponent,
    EuiOverlayComponent,
];

/**
 * Generated bundle index. Do not edit.
 */

export { EUI_OVERLAY, EuiOverlayBodyComponent, EuiOverlayComponent, EuiOverlayContentComponent, EuiOverlayFooterComponent, EuiOverlayHeaderComponent, EuiOverlayHeaderTitleComponent, EuiOverlayModule };
//# sourceMappingURL=eui-components-eui-overlay.mjs.map
