{"version":3,"file":"fundamental-ngx-core-message-box.mjs","sources":["../../../../libs/core/message-box/utils/message-box-config.class.ts","../../../../libs/core/message-box/message-box-body/message-box-body.component.ts","../../../../libs/core/message-box/message-box-footer/message-box-footer.component.ts","../../../../libs/core/message-box/message-box-footer/message-box-footer.component.html","../../../../libs/core/message-box/message-box-semantic-icon/message-box-semantic-icon.component.ts","../../../../libs/core/message-box/message-box-header/message-box-header.component.ts","../../../../libs/core/message-box/message-box-header/message-box-header.component.html","../../../../libs/core/message-box/utils/const.ts","../../../../libs/core/message-box/utils/message-box-ref.class.ts","../../../../libs/core/message-box/message-box.component.ts","../../../../libs/core/message-box/message-box.component.html","../../../../libs/core/message-box/message-box-default/message-box-default.component.ts","../../../../libs/core/message-box/message-box-default/message-box-default.component.html","../../../../libs/core/message-box/message-box-container/message-box-container.component.ts","../../../../libs/core/message-box/directives/message-box-template.directive.ts","../../../../libs/core/message-box/services/message-box.service.ts","../../../../libs/core/message-box/message-box.module.ts","../../../../libs/core/message-box/utils/message-box-content.class.ts","../../../../libs/core/message-box/fundamental-ngx-core-message-box.ts"],"sourcesContent":["import { Injectable, InjectionToken, Injector } from '@angular/core';\nimport { DialogConfigBase } from '@fundamental-ngx/core/dialog';\n\nexport const MESSAGE_BOX_DEFAULT_CONFIG = new InjectionToken<MessageBoxConfig>('Default MessageBoxConfig');\n\nexport type MessageBoxType = 'error' | 'success' | 'warning' | 'information' | 'confirmation';\n\n/** @hidden */\nexport abstract class MessageBoxHost {\n    /** @hidden */\n    _messageBoxConfig: MessageBoxConfig | undefined;\n}\n\n@Injectable()\nexport class MessageBoxConfig<T = any> extends DialogConfigBase<T> {\n    /** Message box type */\n    type?: MessageBoxType;\n    /** Whether to show the semantic icon */\n    showSemanticIcon?: boolean = false;\n    /** Custom semantic icon name */\n    customSemanticIcon?: string;\n    /** Injector */\n    injector?: Injector;\n}\n","import { ChangeDetectionStrategy, Component, Optional } from '@angular/core';\nimport { MessageBoxConfig, MessageBoxHost } from '../utils/message-box-config.class';\n\n/**\n * Building block of the message box used to create message box body.\n *\n * ```html\n * <fd-message-box-body></fd-message-box-body>\n * ```\n */\n@Component({\n    selector: 'fd-message-box-body',\n    template: `<section>\n        <ng-content></ng-content>\n    </section>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        '[class.fd-message-box__body]': 'true',\n        '[class.fd-message-box__body--no-vertical-padding]': '!messageBoxConfig.verticalPadding'\n    }\n})\nexport class MessageBoxBodyComponent {\n    /** @hidden */\n    get messageBoxConfig(): MessageBoxConfig {\n        return this.messageBox?._messageBoxConfig || {};\n    }\n    /** @hidden */\n    constructor(@Optional() private messageBox?: MessageBoxHost) {}\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { BarComponent, BarRightDirective } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogFooterBase } from '@fundamental-ngx/core/dialog';\nimport { MessageBoxConfig, MessageBoxHost } from '../utils/message-box-config.class';\n\nexport const MessageBoxButtonClass = 'fd-message-box__decisive-button';\n\n/**\n * Building block of the message box used to create message box header.\n *\n * ```html\n * <fd-message-box-footer><!--Content--></fd-message-box-footer>\n *\n * Complex footer:\n * <fd-message-box-footer>\n *     <ng-template fdkTemplate=\"footer\"><!--Content--></ng-template>\n * </fd-message-box-footer>\n * ```\n * */\n@Component({\n    selector: 'fd-message-box-footer',\n    templateUrl: './message-box-footer.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [BarComponent, ContentDensityDirective, NgTemplateOutlet, BarRightDirective]\n})\nexport class MessageBoxFooterComponent extends DialogFooterBase implements AfterViewInit {\n    /** @hidden */\n    get messageBoxConfig(): MessageBoxConfig {\n        return this.messageBox?._messageBoxConfig || {};\n    }\n\n    private readonly messageBox = inject(MessageBoxHost, { optional: true });\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        this._listenForButtonChanges(MessageBoxButtonClass);\n    }\n}\n","<footer fd-bar class=\"fd-message-box__footer\" barDesign=\"footer\" [fdCozy]=\"messageBoxConfig.mobile\">\n    <ng-template [ngTemplateOutlet]=\"footerTemplate() ? footerTemplate() : defaultTemplate\"></ng-template>\n    <ng-template #defaultTemplate>\n        <div fd-bar-right>\n            <ng-content></ng-content>\n        </div>\n    </ng-template>\n</footer>\n","import { ChangeDetectionStrategy, Component, Input, Optional } from '@angular/core';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent, IconFont } from '@fundamental-ngx/core/icon';\nimport { MessageBoxConfig, MessageBoxHost } from '../utils/message-box-config.class';\n\n/**\n * Message box element representing the semantic icon in the message box header.\n *\n * ```html\n * <fd-message-box-semantic-icon></fd-message-box-semantic-icon>\n * ```\n */\n@Component({\n    selector: 'fd-message-box-semantic-icon',\n    template: `<fd-icon [glyph]=\"_getIcon\" [font]=\"glyphFont\" role=\"presentation\"></fd-icon>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [IconComponent],\n    host: {\n        role: 'presentation',\n        '[attr.aria-hidden]': 'true'\n    }\n})\nexport class MessageBoxSemanticIconComponent {\n    /** Custom semantic icon */\n    @Input()\n    glyph: string;\n\n    /** Glyph font family */\n    @Input()\n    glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n    /** @hidden */\n    get messageBoxConfig(): MessageBoxConfig {\n        return this.messageBox?._messageBoxConfig || {};\n    }\n\n    /** @hidden */\n    constructor(@Optional() private messageBox?: MessageBoxHost) {}\n\n    /** @hidden */\n    get _showSemanticIcon(): boolean {\n        return !!this.messageBoxConfig.showSemanticIcon;\n    }\n\n    /** @hidden */\n    get _getIcon(): string {\n        return this.glyph || this.messageBoxConfig.customSemanticIcon || this._semanticIcon;\n    }\n\n    /** @hidden */\n    get _semanticIcon(): string {\n        switch (this.messageBoxConfig.type) {\n            case 'error':\n                return 'error';\n            case 'success':\n                return 'sys-enter-2';\n            case 'warning':\n                return 'alert';\n            case 'information':\n                return 'information';\n            case 'confirmation':\n                return 'sys-help-2';\n            default:\n                return '';\n        }\n    }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ContentChild,\n    ElementRef,\n    ViewChild,\n    inject\n} from '@angular/core';\nimport { BarComponent, BarElementDirective, BarLeftDirective } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { DialogHeaderBase } from '@fundamental-ngx/core/dialog';\nimport { MessageBoxSemanticIconComponent } from '../message-box-semantic-icon/message-box-semantic-icon.component';\nimport { MessageBoxConfig, MessageBoxHost } from '../utils/message-box-config.class';\n\n/**\n * Building block of the message box used to create message box header.\n *\n * ```html\n * <fd-message-box-header>\n *     <fd-message-box-semantic-icon></fd-message-box-semantic-icon>\n *     <h1 fd-title><!-- Content --></h1>\n * </fd-message-box-header>\n *\n * Complex header:\n * <fd-message-box-header>\n *     <ng-template fdkTemplate=\"header\"><!--Content--></ng-template>\n *     <ng-template fdkTemplate=\"subheader\"><!--Content--></ng-template>\n * </fd-message-box-header>\n * ```\n */\n@Component({\n    selector: 'fd-message-box-header',\n    templateUrl: './message-box-header.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        BarComponent,\n        ContentDensityDirective,\n        NgTemplateOutlet,\n        BarLeftDirective,\n        BarElementDirective,\n        MessageBoxSemanticIconComponent\n    ]\n})\nexport class MessageBoxHeaderComponent extends DialogHeaderBase implements AfterViewInit {\n    /** @hidden */\n    @ViewChild('defaultTemplateHeaderBar')\n    defaultTemplateHeaderBar?: ElementRef<Element>;\n\n    /** @hidden */\n    @ContentChild(MessageBoxSemanticIconComponent)\n    _projectedSemanticIcon: MessageBoxSemanticIconComponent;\n\n    /** @hidden */\n    get messageBoxConfig(): MessageBoxConfig {\n        return this._messageBox?._messageBoxConfig || {};\n    }\n\n    /** @hidden */\n    private readonly _cdr = inject(ChangeDetectorRef);\n\n    /** @hidden */\n    private readonly _messageBox = inject(MessageBoxHost, { optional: true });\n\n    /** @hidden */\n    get _showSemanticIcon(): boolean {\n        return (\n            !this._projectedSemanticIcon &&\n            ((this.messageBoxConfig.type && this.messageBoxConfig.showSemanticIcon) ||\n                !!this.messageBoxConfig.customSemanticIcon)\n        );\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        // need to re-check bindings after initialisation in order to reflect the proper state of \"_showSemanticIcon\" getter\n        // running this in next microtask to avoid \"ExpressionChangedAfterItHasBeenCheckedError\"\n        Promise.resolve().then(() => this._cdr.markForCheck());\n    }\n}\n","<header>\n    <div\n        fd-bar\n        role=\"group\"\n        class=\"fd-message-box__header\"\n        [fdCozy]=\"messageBoxConfig.mobile\"\n        [barDesign]=\"subHeaderTemplate() ? 'header-with-subheader' : 'header'\"\n    >\n        <ng-template [ngTemplateOutlet]=\"headerTemplate() ? headerTemplate() : defaultTemplate\"></ng-template>\n        <ng-template #defaultTemplate>\n            <div fd-bar-left>\n                <fd-bar-element #defaultTemplateHeaderBar>\n                    @if (_showSemanticIcon) {\n                        <fd-message-box-semantic-icon\n                            class=\"fd-message-box__internal-semantic-icon\"\n                        ></fd-message-box-semantic-icon>\n                    }\n                    <ng-content select=\"fd-message-box-semantic-icon\"></ng-content>\n                    <ng-content select=\"[fd-title]\"></ng-content>\n                </fd-bar-element>\n            </div>\n        </ng-template>\n    </div>\n    @if (subHeaderTemplate()) {\n        <div fd-bar class=\"fd-message-box__subheader\" barDesign=\"subheader\" [fdCozy]=\"messageBoxConfig.mobile\">\n            <ng-template [ngTemplateOutlet]=\"subHeaderTemplate()\"></ng-template>\n        </div>\n    }\n</header>\n","export const CSS_CLASS_NAME = {\n    messageBox: 'fd-message-box',\n    messageBoxActive: 'fd-message-box--active',\n\n    messageBoxTypeError: 'fd-message-box--error',\n    messageBoxTypeWarning: 'fd-message-box--warning',\n    messageBoxTypeSuccess: 'fd-message-box--success',\n    messageBoxTypeInformation: 'fd-message-box--information',\n    messageBoxTypeConfirmation: 'fd-message-box--confirmation'\n};\n","import { Injectable } from '@angular/core';\nimport { DialogRefBase } from '@fundamental-ngx/core/dialog';\n\n@Injectable()\nexport class MessageBoxRef<T = any> extends DialogRefBase<T> {}\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    ElementRef,\n    Input,\n    OnChanges,\n    OnDestroy,\n    OnInit,\n    Optional,\n    ViewChild,\n    ViewEncapsulation\n} from '@angular/core';\n\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { DialogBase } from '@fundamental-ngx/core/dialog';\n\nimport { CSS_CLASS_NAME } from './utils/const';\nimport { MessageBoxConfig, MessageBoxHost } from './utils/message-box-config.class';\nimport { MessageBoxRef } from './utils/message-box-ref.class';\n\n/**\n * Message box component.\n *\n * ```html\n * <fd-message-box>\n *      <fd-message-box-header></fd-message-box-header>\n *      <fd-message-box-body></fd-message-box-body>\n *      <fd-message-box-footer></fd-message-box-footer>\n * </fd-message-box>\n * ```\n */\n@Component({\n    selector: 'fd-message-box',\n    templateUrl: './message-box.component.html',\n    styleUrl: './message-box.component.scss',\n    host: {\n        tabindex: '-1'\n    },\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [{ provide: MessageBoxHost, useExisting: MessageBoxComponent }]\n})\nexport class MessageBoxComponent\n    extends DialogBase\n    implements AfterViewInit, OnInit, OnChanges, OnDestroy, CssClassBuilder, MessageBoxHost\n{\n    /** Custom classes */\n    @Input()\n    set class(userClass: string) {\n        this._class = userClass;\n    }\n\n    /** MessageBoxRef - should be used for Template based Dialog implementation  */\n    // eslint-disable-next-line @angular-eslint/no-input-rename\n    @Input('messageBoxRef')\n    set embeddedMessageBoxRef(value: MessageBoxRef) {\n        this._messageBoxRef = value;\n    }\n\n    /** MessageBoxConfig - should be used for Template based Dialog implementation  */\n    // eslint-disable-next-line @angular-eslint/no-input-rename\n    @Input('messageBoxConfig')\n    set embeddedMessageBoxConfig(value: MessageBoxConfig) {\n        this._messageBoxConfig = value;\n    }\n\n    /** @hidden */\n    @ViewChild('dialogWindow')\n    dialogWindow: ElementRef;\n\n    /** @hidden */\n    get _config(): MessageBoxConfig {\n        return this._messageBoxConfig;\n    }\n\n    /** @hidden */\n    get _ref(): MessageBoxRef {\n        return this._messageBoxRef;\n    }\n\n    /** @hidden */\n    private _class = '';\n\n    /** @hidden */\n    constructor(\n        @Optional() public _messageBoxConfig: MessageBoxConfig,\n        @Optional() private _messageBoxRef: MessageBoxRef\n    ) {\n        super();\n    }\n\n    /** @hidden */\n    @applyCssClass\n    buildComponentCssClass(): string[] {\n        return [\n            CSS_CLASS_NAME.messageBoxActive,\n            this._messageBoxTypeClass,\n            this._messageBoxConfig.hasBackdrop ? CSS_CLASS_NAME.messageBox : '',\n            this._messageBoxConfig.backdropClass ? this._messageBoxConfig.backdropClass : '',\n            this._class\n        ];\n    }\n\n    /** @hidden */\n    ngOnInit(): void {\n        this.buildComponentCssClass();\n    }\n\n    /** @hidden */\n    ngOnChanges(): void {\n        this.buildComponentCssClass();\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        // Manually call parent setup methods for test environments where afterNextRender may not execute\n        if (this.dialogWindow) {\n            this.setupFocusTrap();\n            this.applyStyles();\n            this.setupResizeObserver();\n            this._ref?.loaded();\n        }\n    }\n\n    /** @hidden */\n    ngOnDestroy(): void {\n        super.ngOnDestroy();\n    }\n\n    /** @hidden */\n    private get _messageBoxTypeClass(): string {\n        switch (this._config.type) {\n            case 'error':\n                return CSS_CLASS_NAME.messageBoxTypeError;\n            case 'success':\n                return CSS_CLASS_NAME.messageBoxTypeSuccess;\n            case 'warning':\n                return CSS_CLASS_NAME.messageBoxTypeWarning;\n            case 'information':\n                return CSS_CLASS_NAME.messageBoxTypeInformation;\n            case 'confirmation':\n                return CSS_CLASS_NAME.messageBoxTypeConfirmation;\n            default:\n                return '';\n        }\n    }\n}\n","<div\n    #dialogWindow\n    role=\"alertdialog\"\n    tabindex=\"-1\"\n    aria-modal=\"true\"\n    [class]=\"_messageBoxConfig.dialogPanelClass\"\n    [class.fd-message-box__content]=\"true\"\n    [class.fd-message-box__content--s]=\"dialogPaddingSize() === 'sm'\"\n    [class.fd-message-box__content--m]=\"dialogPaddingSize() === 'md'\"\n    [class.fd-message-box__content--l]=\"dialogPaddingSize() === 'lg'\"\n    [class.fd-message-box__content--xl]=\"dialogPaddingSize() === 'xl'\"\n    [class.fd-message-box__content--mobile]=\"_messageBoxConfig.mobile\"\n    [class.fd-message-box__content--no-mobile-stretch]=\"_messageBoxConfig.mobileOuterSpacing\"\n    [attr.id]=\"_messageBoxConfig.id\"\n    [attr.aria-label]=\"_messageBoxConfig.ariaLabel\"\n    [attr.aria-labelledby]=\"_messageBoxConfig.ariaLabelledBy\"\n    [attr.aria-describedby]=\"_messageBoxConfig.ariaDescribedBy\"\n>\n    <ng-content select=\"fd-message-box-header\"></ng-content>\n    <ng-content select=\"fd-message-box-body\"></ng-content>\n    <ng-content select=\"fd-message-box-footer\"></ng-content>\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    OnInit,\n    TemplateRef,\n    ViewChild\n} from '@angular/core';\nimport { InitialFocusDirective } from '@fundamental-ngx/cdk/utils';\nimport { ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { MessageBoxBodyComponent } from '../message-box-body/message-box-body.component';\nimport { MessageBoxFooterComponent } from '../message-box-footer/message-box-footer.component';\nimport { MessageBoxHeaderComponent } from '../message-box-header/message-box-header.component';\nimport { MessageBoxComponent } from '../message-box.component';\nimport { MessageBoxConfig } from '../utils/message-box-config.class';\nimport { MessageBoxContent } from '../utils/message-box-content.class';\n\nlet mbTitleId = 0;\nlet mbContentId = 0;\n\n/** Message box component used to create the message box in object based approach */\n@Component({\n    selector: 'fd-message-box-default',\n    templateUrl: './message-box-default.component.html',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        MessageBoxComponent,\n        MessageBoxHeaderComponent,\n        TitleComponent,\n        MessageBoxBodyComponent,\n        NgTemplateOutlet,\n        MessageBoxFooterComponent,\n        ButtonBarComponent,\n        InitialFocusDirective,\n        ContentDensityDirective\n    ]\n})\nexport class MessageBoxDefaultComponent implements OnInit, AfterViewInit {\n    /** @hidden */\n    @ViewChild('textContent')\n    _textContentTemplate: TemplateRef<any>;\n\n    /** @hidden */\n    _contentTemplate: TemplateRef<any>;\n\n    /** @hidden */\n    _messageBoxContent: MessageBoxContent | null;\n\n    /** @hidden */\n    _footerVisible: boolean;\n\n    /**\n     * message box title id\n     * if not set, a default value is provided\n     */\n    messageBoxTitleId = 'fd-message-box-title-id-' + mbTitleId++;\n\n    /**\n     * message box content id\n     * if not set, a default value is provided\n     */\n    messageBoxContentId = 'fd-message-box-content-id-' + mbContentId++;\n\n    /** @hidden */\n    constructor(\n        public _messageBoxConfig: MessageBoxConfig,\n        private _changeDetectorRef: ChangeDetectorRef\n    ) {}\n\n    /** @hidden */\n    ngOnInit(): void {\n        this._footerVisible = !!(this._messageBoxContent?.cancelButton || this._messageBoxContent?.approveButton);\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        this._setContentTemplate();\n\n        /**\n         * If the configuration object doesn't provide values for ariaLabelledBy and/or ariaDescribedBy\n         * use the default generated ids for title and content\n         */\n\n        if (this._messageBoxConfig) {\n            this._messageBoxConfig.ariaLabelledBy ??= this.messageBoxTitleId;\n            this._messageBoxConfig.ariaDescribedBy ??= this.messageBoxContentId;\n        }\n    }\n\n    /** @hidden */\n    _onCloseButton(): void {\n        this._messageBoxContent?.closeButtonCallback?.();\n    }\n\n    /** @hidden */\n    _onApproveButton(): void {\n        this._messageBoxContent?.approveButtonCallback?.();\n    }\n\n    /** @hidden */\n    _onCancelButton(): void {\n        this._messageBoxContent?.cancelButtonCallback?.();\n    }\n\n    /** @hidden */\n    private _setContentTemplate(): void {\n        this._contentTemplate =\n            this._messageBoxContent?.content instanceof TemplateRef\n                ? this._messageBoxContent.content\n                : this._textContentTemplate;\n\n        this._changeDetectorRef.detectChanges();\n    }\n}\n","@if (_messageBoxContent) {\n    <fd-message-box>\n        <fd-message-box-header>\n            <div\n                fd-title\n                role=\"heading\"\n                [ariaLevel]=\"_messageBoxContent.titleHeadingLevel || 2\"\n                [id]=\"_messageBoxContent.titleId || messageBoxTitleId\"\n            >\n                {{ _messageBoxContent.title }}\n            </div>\n        </fd-message-box-header>\n        <fd-message-box-body [id]=\"_messageBoxContent.contentId || messageBoxContentId\">\n            <ng-template [ngTemplateOutlet]=\"_contentTemplate\"></ng-template>\n        </fd-message-box-body>\n        @if (_footerVisible) {\n            <fd-message-box-footer>\n                @if (_messageBoxContent.approveButton) {\n                    <fd-button-bar\n                        fdkInitialFocus\n                        fdType=\"emphasized\"\n                        [label]=\"_messageBoxContent.approveButton\"\n                        [ariaLabel]=\"_messageBoxContent.approveButtonAriaLabel\"\n                        [id]=\"_messageBoxContent.approveButtonId || ''\"\n                        [fdCompact]=\"!_messageBoxConfig.mobile\"\n                        (click)=\"_onApproveButton()\"\n                    >\n                    </fd-button-bar>\n                }\n                @if (_messageBoxContent.cancelButton) {\n                    <fd-button-bar\n                        [label]=\"_messageBoxContent.cancelButton\"\n                        [ariaLabel]=\"_messageBoxContent.closeButtonAriaLabel\"\n                        [id]=\"_messageBoxContent.cancelButtonId || ''\"\n                        [fdCompact]=\"!_messageBoxConfig.mobile\"\n                        (click)=\"_onCancelButton()\"\n                    >\n                    </fd-button-bar>\n                }\n            </fd-message-box-footer>\n        }\n    </fd-message-box>\n}\n<ng-template #textContent>\n    {{ _messageBoxContent?.content }}\n</ng-template>\n","import { CdkPortalOutlet, CdkPortalOutletAttachedRef, PortalModule } from '@angular/cdk/portal';\nimport {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    ChangeDetectorRef,\n    Component,\n    ComponentRef,\n    DestroyRef,\n    ElementRef,\n    EmbeddedViewRef,\n    Injector,\n    Input,\n    TemplateRef,\n    Type,\n    ViewChild,\n    ViewRef,\n    signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { CssClassBuilder, DynamicComponentContainer, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { DialogContainer } from '@fundamental-ngx/core/dialog';\nimport { MessageBoxContentType } from '../message-box-content.type';\nimport { MessageBoxDefaultComponent } from '../message-box-default/message-box-default.component';\nimport { MessageBoxConfig } from '../utils/message-box-config.class';\nimport { MessageBoxContent } from '../utils/message-box-content.class';\nimport { MessageBoxRef } from '../utils/message-box-ref.class';\n\n/** Message box container where the message box content is embedded. */\n@Component({\n    selector: 'fd-message-box-container',\n    template: '<ng-template (attached)=\"_attached($event)\" cdkPortalOutlet></ng-template>',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [PortalModule],\n    host: {\n        style: 'opacity: 0; position: relative; z-index: 999'\n    }\n})\nexport class MessageBoxContainerComponent\n    extends DynamicComponentContainer<MessageBoxContentType>\n    implements DialogContainer<any>, AfterViewInit, CssClassBuilder\n{\n    /** Custom classes */\n    @Input()\n    set class(userClass: string) {\n        this._class = userClass;\n        this.buildComponentCssClass();\n    }\n\n    /** @hidden */\n    @ViewChild(CdkPortalOutlet)\n    portalOutlet: CdkPortalOutlet;\n\n    /** @hidden */\n    private _class = '';\n\n    /** @hidden Tracks the current animation phase for lifecycle management. */\n    private _animationStateSignal = signal('void');\n\n    /** @hidden Reference to the current Web Animation for cleanup. */\n    private _currentAnimation: Animation | null = null;\n\n    /** @hidden */\n    constructor(\n        public messageBoxConfig: MessageBoxConfig,\n        public ref: MessageBoxRef,\n        private _destroyRef: DestroyRef,\n        elementRef: ElementRef,\n        private readonly _cdr: ChangeDetectorRef,\n        injector: Injector\n    ) {\n        super(elementRef, injector);\n\n        this._destroyRef.onDestroy(() => {\n            this._currentAnimation?.cancel();\n            this._currentAnimation = null;\n        });\n    }\n\n    /** @hidden */\n    @applyCssClass\n    buildComponentCssClass(): string[] {\n        return [this.messageBoxConfig.containerClass ? this.messageBoxConfig.containerClass : '', this._class];\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        setTimeout(() => {\n            this._loadContent();\n            this._listenOnClose();\n        });\n    }\n\n    /** @hidden */\n    protected _attached(event: CdkPortalOutletAttachedRef): void {\n        if (event instanceof ComponentRef) {\n            event.changeDetectorRef.markForCheck();\n        } else if (event instanceof EmbeddedViewRef) {\n            event.markForCheck();\n        }\n    }\n\n    /** @hidden Load received content */\n    protected _loadContent(): void {\n        if ((this._cdr as ViewRef).destroyed) {\n            return;\n        }\n        if (this.childContent instanceof Type) {\n            this._createFromComponent(this.childContent);\n        } else if (this.childContent instanceof TemplateRef) {\n            this._createFromTemplate(this.childContent, this._templateContext());\n        } else {\n            this._createFromDefaultMessageBox(this.childContent ?? null);\n        }\n        this._enter();\n        this._cdr.detectChanges();\n    }\n\n    /** @hidden Returns context for embedded template*/\n    private _templateContext(): { $implicit: MessageBoxRef; messageBoxConfig: MessageBoxConfig } {\n        return { $implicit: this.ref, messageBoxConfig: this.messageBoxConfig };\n    }\n\n    /** @hidden Load Dialog component from passed object */\n    private _createFromDefaultMessageBox(content: MessageBoxContent | null): void {\n        this._createFromComponent(MessageBoxDefaultComponent);\n        const instance = (this._componentRef as ComponentRef<MessageBoxDefaultComponent>).instance;\n        instance._messageBoxContent = content;\n    }\n\n    /** @hidden Animate the message box container entrance (opacity 0 → 1). */\n    private _enter(): void {\n        const el: HTMLElement = this.elementRef.nativeElement;\n\n        if (typeof el.animate !== 'function') {\n            el.style.opacity = '1';\n            this._animationStateSignal.set('visible');\n            return;\n        }\n\n        this._currentAnimation = el.animate([{ opacity: 0 }, { opacity: 1 }], {\n            duration: 150,\n            easing: 'cubic-bezier(0, 0, 0.2, 1)',\n            fill: 'forwards'\n        });\n\n        this._currentAnimation.finished\n            .then(() => {\n                el.style.opacity = '1';\n                this._currentAnimation?.cancel();\n                this._currentAnimation = null;\n                this._animationStateSignal.set('visible');\n            })\n            .catch(() => {\n                this._currentAnimation = null;\n            });\n    }\n\n    /** @hidden Animate the message box container exit (opacity 1 → 0). */\n    private _exit(): void {\n        const el: HTMLElement = this.elementRef.nativeElement;\n        this._animationStateSignal.set('hidden');\n        this._cdr.detectChanges();\n\n        if (typeof el.animate !== 'function') {\n            return;\n        }\n\n        this._currentAnimation?.cancel();\n\n        this._currentAnimation = el.animate([{ opacity: 1 }, { opacity: 0 }], {\n            duration: 75,\n            easing: 'cubic-bezier(0.4, 0, 1, 1)',\n            fill: 'forwards'\n        });\n\n        this._currentAnimation.finished\n            .then(() => {\n                this._currentAnimation = null;\n            })\n            .catch(() => {\n                this._currentAnimation = null;\n            });\n    }\n\n    /**\n     * @hidden\n     * Listen for message box close/dismiss and trigger exit animation.\n     */\n    private _listenOnClose(): void {\n        this.ref.afterClosed.pipe(takeUntilDestroyed(this._destroyRef)).subscribe({\n            next: () => this._exit(),\n            error: () => this._exit()\n        });\n    }\n}\n","import { Directive, Input, TemplateRef, inject } from '@angular/core';\nimport { MessageBoxConfig } from '../utils/message-box-config.class';\nimport { MessageBoxRef } from '../utils/message-box-ref.class';\n\nexport interface MessageBoxTemplateDirectiveContext<\n    T = MessageBoxConfig<any>,\n    U = T extends MessageBoxConfig<infer P> ? P : any\n> {\n    $implicit: MessageBoxRef<U>;\n    messageBoxConfig: T;\n}\n@Directive({\n    selector: '[fdMessageBoxTemplate]',\n    standalone: true\n})\nexport class MessageBoxTemplateDirective<T = MessageBoxConfig<any>> {\n    /** Custom dialog config model. */\n    @Input()\n    fdMessageBoxTemplateConfig: T;\n\n    /** @hidden */\n    readonly templateRef = inject(TemplateRef<MessageBoxTemplateDirectiveContext<T>>);\n\n    /** @hidden */\n    static ngTemplateContextGuard<T extends null>(\n        dir: MessageBoxTemplateDirective<T>,\n        ctx: MessageBoxTemplateDirectiveContext<MessageBoxConfig<any>>\n    ): ctx is MessageBoxTemplateDirectiveContext<MessageBoxConfig<any>>;\n    /** @hidden */\n    static ngTemplateContextGuard<T = MessageBoxConfig<any>>(\n        dir: MessageBoxTemplateDirective<T>,\n        ctx: MessageBoxTemplateDirectiveContext<T>\n    ): ctx is MessageBoxTemplateDirectiveContext<T>;\n    /** @hidden */\n    static ngTemplateContextGuard<U extends MessageBoxTemplateDirective<any>>(\n        dir: U,\n        ctx: MessageBoxTemplateDirectiveContext<any>\n    ): ctx is MessageBoxTemplateDirectiveContext<MessageBoxConfig<any>> {\n        return true;\n    }\n}\n","import { Inject, Injectable, Injector, Optional } from '@angular/core';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { DialogBaseService } from '@fundamental-ngx/core/dialog';\n\nimport { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MessageBoxContainerComponent } from '../message-box-container/message-box-container.component';\nimport { MessageBoxContentType } from '../message-box-content.type';\nimport { MESSAGE_BOX_DEFAULT_CONFIG, MessageBoxConfig } from '../utils/message-box-config.class';\nimport { MessageBoxRef } from '../utils/message-box-ref.class';\n\n/** Service used to create a message box. */\n@Injectable()\nexport class MessageBoxService extends DialogBaseService<MessageBoxContainerComponent> {\n    /** @hidden */\n    constructor(\n        @Optional() @Inject(MESSAGE_BOX_DEFAULT_CONFIG) private _defaultConfig: MessageBoxConfig,\n        @Optional() private _rtlService: RtlService,\n        private readonly _overlay: Overlay\n    ) {\n        super();\n    }\n\n    /**\n     * Opens a message box component with provided content.\n     * @param content Content of the message box component.\n     * @param config Configuration of the message box component.\n     */\n    public open<T = any>(content: MessageBoxContentType, config?: MessageBoxConfig<T>): MessageBoxRef<T> {\n        const messageBoxRef = new MessageBoxRef();\n\n        config = this._applyDefaultConfig(config || {}, this._defaultConfig || new MessageBoxConfig());\n        messageBoxRef.data = config.data;\n\n        const injector = Injector.create({\n            providers: [\n                { provide: MessageBoxConfig, useValue: config },\n                { provide: MessageBoxRef, useValue: messageBoxRef },\n                { provide: RtlService, useValue: this._rtlService }\n            ],\n            parent: config.injector\n        });\n\n        const overlayRef = this._overlay.create(new OverlayConfig());\n\n        const portal = new ComponentPortal(MessageBoxContainerComponent, null, injector);\n\n        const componentRef = overlayRef.attach(portal);\n\n        componentRef.instance.childContent = content;\n        componentRef.instance.messageBoxConfig = config;\n\n        // Register dialog for tracking (replaces manual push)\n        this._registerDialog(componentRef);\n\n        messageBoxRef._endClose$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n            this._destroyDialog(componentRef);\n            overlayRef.dispose();\n        });\n\n        return messageBoxRef;\n    }\n}\n","import { NgModule } from '@angular/core';\nimport { DynamicComponentService, InitialFocusModule, TemplateDirective } from '@fundamental-ngx/cdk/utils';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { MessageBoxTemplateDirective } from './directives/message-box-template.directive';\nimport { MessageBoxBodyComponent } from './message-box-body/message-box-body.component';\nimport { MessageBoxContainerComponent } from './message-box-container/message-box-container.component';\nimport { MessageBoxDefaultComponent } from './message-box-default/message-box-default.component';\nimport { MessageBoxFooterComponent } from './message-box-footer/message-box-footer.component';\nimport { MessageBoxHeaderComponent } from './message-box-header/message-box-header.component';\nimport { MessageBoxSemanticIconComponent } from './message-box-semantic-icon/message-box-semantic-icon.component';\nimport { MessageBoxComponent } from './message-box.component';\nimport { MessageBoxService } from './services/message-box.service';\n\nconst declarations = [\n    MessageBoxSemanticIconComponent,\n    MessageBoxContainerComponent,\n    MessageBoxDefaultComponent,\n    MessageBoxFooterComponent,\n    MessageBoxHeaderComponent,\n    MessageBoxBodyComponent,\n    MessageBoxComponent,\n    MessageBoxTemplateDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [TemplateDirective, InitialFocusModule, TitleComponent, declarations],\n    exports: [declarations, TemplateDirective, InitialFocusModule, TitleComponent],\n    providers: [MessageBoxService, DynamicComponentService]\n})\nexport class MessageBoxModule {}\n","import { TemplateRef } from '@angular/core';\nimport { DialogContentBase } from '@fundamental-ngx/core/dialog';\n\nexport class MessageBoxContent extends DialogContentBase<TemplateRef<any> | string> {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MessageBoxHost","i1.MessageBoxConfig","i2.MessageBoxRef"],"mappings":"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"}