import * as i0 from '@angular/core';
import { HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, Input, NgModule } from '@angular/core';
import { __decorate, __metadata } from 'tslib';
import { applyCssClass } from '@fundamental-ngx/cdk/utils';
import { FD_DEFAULT_ICON_FONT_FAMILY, IconComponent } from '@fundamental-ngx/core/icon';

class MessagePageActionsComponent {
    constructor() {
        /** @hidden */
        this.fdMessagePageActionsClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MessagePageActionsComponent, isStandalone: true, selector: "fd-message-page-actions", host: { properties: { "class.fd-message-page__actions": "this.fdMessagePageActionsClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageActionsComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-message-page-actions',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdMessagePageActionsClass: [{
                type: HostBinding,
                args: ['class.fd-message-page__actions']
            }] } });

class MessagePageMoreComponent {
    constructor() {
        /** @hidden */
        this.fdMessagePageMoreClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MessagePageMoreComponent, isStandalone: true, selector: "fd-message-page-more", host: { properties: { "class.fd-message-page__more": "this.fdMessagePageMoreClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageMoreComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-message-page-more',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdMessagePageMoreClass: [{
                type: HostBinding,
                args: ['class.fd-message-page__more']
            }] } });

class MessagePageSubtitleComponent {
    constructor() {
        /** @hidden */
        this.fdMessagePageTitleClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageSubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MessagePageSubtitleComponent, isStandalone: true, selector: "fd-message-page-subtitle", host: { properties: { "class.fd-message-page__subtitle": "this.fdMessagePageTitleClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageSubtitleComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-message-page-subtitle',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdMessagePageTitleClass: [{
                type: HostBinding,
                args: ['class.fd-message-page__subtitle']
            }] } });

class MessagePageTitleComponent {
    constructor() {
        /** @hidden */
        this.fdMessagePageTitleClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MessagePageTitleComponent, isStandalone: true, selector: "fd-message-page-title", host: { properties: { "class.fd-message-page__title": "this.fdMessagePageTitleClass" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageTitleComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-message-page-title',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdMessagePageTitleClass: [{
                type: HostBinding,
                args: ['class.fd-message-page__title']
            }] } });

class MessagePageComponent {
    /**
     * The icon of the Message Page.
     * The default icon is .sap-icon--documents.
     */
    set glyph(messagePageGlyph) {
        if (messagePageGlyph) {
            this._glyph = messagePageGlyph;
            this._getMessagePageIcon();
        }
    }
    /**
     * Getter method for the glyph property
     */
    get glyph() {
        return this._glyph;
    }
    /** @hidden */
    constructor(elementRef) {
        this.elementRef = elementRef;
        /**
         * Whether the Message Page has an icon.
         * Set to true by default.
         * It's recommended to always show an icon with the Message Page.
         */
        this.hasIcon = true;
        /** Glyph font family */
        this.glyphFont = FD_DEFAULT_ICON_FONT_FAMILY;
        /**
         * @hidden
         * The icon of the Message Page.
         */
        this._glyph = 'documents';
    }
    /** @hidden
     * CssClassBuilder interface implementation
     * function is responsible for order which css classes are applied
     */
    buildComponentCssClass() {
        return ['fd-message-page', this.class];
    }
    /** @hidden */
    ngOnChanges() {
        this.buildComponentCssClass();
    }
    /** @hidden */
    ngOnInit() {
        this.buildComponentCssClass();
        this._getMessagePageIcon();
    }
    /**
     * @hidden
     * Determine the icon based on the Message Page type
     * If no type is specified, the default icon is 'documents'
     */
    _getMessagePageIcon() {
        if (this.type) {
            switch (this.type) {
                case 'filter':
                    this._glyph = 'filter';
                    break;
                case 'search':
                    this._glyph = 'search';
                    break;
                case 'no-items':
                    this._glyph = 'product';
                    break;
                case 'error':
                    this._glyph = 'document';
                    break;
                default:
                    this._glyph = 'documents';
            }
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: MessagePageComponent, isStandalone: true, selector: "fd-message-page", inputs: { class: "class", type: "type", hasIcon: "hasIcon", glyphFont: "glyphFont", glyph: "glyph" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-message-page__container\">\n    @if (hasIcon) {\n        <div class=\"fd-message-page__icon-container\">\n            <fd-icon role=\"presentation\" class=\"fd-message-page__icon\" [glyph]=\"glyph\" [font]=\"glyphFont\"></fd-icon>\n        </div>\n    }\n    <div role=\"status\" aria-live=\"polite\" class=\"fd-message-page__content\">\n        <ng-content select=\"fd-message-page-title\"></ng-content>\n        <ng-content select=\"fd-message-page-subtitle\"></ng-content>\n        <ng-content select=\"fd-message-page-actions\"></ng-content>\n        <ng-content select=\"fd-message-page-more\"></ng-content>\n        <ng-content></ng-content>\n    </div>\n</div>\n", styles: [".fd-message-page{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--sapBackgroundColor);height:100%;width:100%}.fd-message-page:after,.fd-message-page:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__actions,.fd-message-page__container,.fd-message-page__content,.fd-message-page__more,.fd-message-page__subtitle,.fd-message-page__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:30rem;padding-block:0;padding-inline:0}.fd-message-page__actions:after,.fd-message-page__actions:before,.fd-message-page__container:after,.fd-message-page__container:before,.fd-message-page__content:after,.fd-message-page__content:before,.fd-message-page__more:after,.fd-message-page__more:before,.fd-message-page__subtitle:after,.fd-message-page__subtitle:before,.fd-message-page__title:after,.fd-message-page__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMessage_Page_Container_Background);border-radius:var(--fdMessage_Page_Container_Corner_Radius);padding-block:1rem;padding-inline:1rem}.fd-message-page__illustration-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-height:15rem;max-width:20rem;padding-block:0;padding-inline:0}.fd-message-page__illustration-container:after,.fd-message-page__illustration-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__icon-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:8rem;width:100%}.fd-message-page__icon-container:after,.fd-message-page__icon-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__icon [class*=sap-icon],.fd-message-page__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_NonInteractiveIconColor);font-size:inherit;font-size:6rem;line-height:1;max-width:30rem;opacity:.5}.fd-message-page__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-padding-after:2rem;padding-block-end:2rem}.fd-message-page__title{margin-top:var(--fdMessage_Page_Title_Margin_Top);-webkit-margin-after:var(--fdMessage_Page_Title_Margin_Bottom);color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader2Size);margin-block-end:var(--fdMessage_Page_Title_Margin_Bottom);text-align:center}.fd-message-page__subtitle{-webkit-margin-after:2rem;color:var(--sapContent_LabelColor);font-size:var(--sapFontHeader5Size);margin-block-end:2rem}.fd-message-page__subtitle--center{text-align:center}.fd-message-page__actions{-ms-flex-wrap:wrap;flex-wrap:wrap}.fd-message-page__actions,.fd-message-page__more{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:2rem}.fd-message-page__more{margin-top:.5rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/message-page.css:\n  (*!\n   * Fundamental Library Styles v0.41.7\n   * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n   * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n   *)\n*/\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
__decorate([
    applyCssClass,
    __metadata("design:type", Function),
    __metadata("design:paramtypes", []),
    __metadata("design:returntype", Array)
], MessagePageComponent.prototype, "buildComponentCssClass", null);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-message-page', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponent], template: "<div class=\"fd-message-page__container\">\n    @if (hasIcon) {\n        <div class=\"fd-message-page__icon-container\">\n            <fd-icon role=\"presentation\" class=\"fd-message-page__icon\" [glyph]=\"glyph\" [font]=\"glyphFont\"></fd-icon>\n        </div>\n    }\n    <div role=\"status\" aria-live=\"polite\" class=\"fd-message-page__content\">\n        <ng-content select=\"fd-message-page-title\"></ng-content>\n        <ng-content select=\"fd-message-page-subtitle\"></ng-content>\n        <ng-content select=\"fd-message-page-actions\"></ng-content>\n        <ng-content select=\"fd-message-page-more\"></ng-content>\n        <ng-content></ng-content>\n    </div>\n</div>\n", styles: [".fd-message-page{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--sapBackgroundColor);height:100%;width:100%}.fd-message-page:after,.fd-message-page:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__actions,.fd-message-page__container,.fd-message-page__content,.fd-message-page__more,.fd-message-page__subtitle,.fd-message-page__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-width:30rem;padding-block:0;padding-inline:0}.fd-message-page__actions:after,.fd-message-page__actions:before,.fd-message-page__container:after,.fd-message-page__container:before,.fd-message-page__content:after,.fd-message-page__content:before,.fd-message-page__more:after,.fd-message-page__more:before,.fd-message-page__subtitle:after,.fd-message-page__subtitle:before,.fd-message-page__title:after,.fd-message-page__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:var(--fdMessage_Page_Container_Background);border-radius:var(--fdMessage_Page_Container_Corner_Radius);padding-block:1rem;padding-inline:1rem}.fd-message-page__illustration-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;max-height:15rem;max-width:20rem;padding-block:0;padding-inline:0}.fd-message-page__illustration-container:after,.fd-message-page__illustration-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__icon-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:8rem;width:100%}.fd-message-page__icon-container:after,.fd-message-page__icon-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-message-page__icon [class*=sap-icon],.fd-message-page__icon[class*=sap-icon]{background:inherit;border-radius:inherit;color:inherit;color:var(--sapContent_NonInteractiveIconColor);font-size:inherit;font-size:6rem;line-height:1;max-width:30rem;opacity:.5}.fd-message-page__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-padding-after:2rem;padding-block-end:2rem}.fd-message-page__title{margin-top:var(--fdMessage_Page_Title_Margin_Top);-webkit-margin-after:var(--fdMessage_Page_Title_Margin_Bottom);color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader2Size);margin-block-end:var(--fdMessage_Page_Title_Margin_Bottom);text-align:center}.fd-message-page__subtitle{-webkit-margin-after:2rem;color:var(--sapContent_LabelColor);font-size:var(--sapFontHeader5Size);margin-block-end:2rem}.fd-message-page__subtitle--center{text-align:center}.fd-message-page__actions{-ms-flex-wrap:wrap;flex-wrap:wrap}.fd-message-page__actions,.fd-message-page__more{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:2rem}.fd-message-page__more{margin-top:.5rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/message-page.css:\n  (*!\n   * Fundamental Library Styles v0.41.7\n   * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n   * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n   *)\n*/\n"] }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
                type: Input
            }], type: [{
                type: Input
            }], hasIcon: [{
                type: Input
            }], glyphFont: [{
                type: Input
            }], glyph: [{
                type: Input
            }], buildComponentCssClass: [] } });

const components = [
    MessagePageComponent,
    MessagePageActionsComponent,
    MessagePageMoreComponent,
    MessagePageTitleComponent,
    MessagePageSubtitleComponent
];
/**
 * @deprecated
 * Use direct imports of components and directives.
 */
class MessagePageModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: MessagePageModule, imports: [MessagePageComponent,
            MessagePageActionsComponent,
            MessagePageMoreComponent,
            MessagePageTitleComponent,
            MessagePageSubtitleComponent], exports: [MessagePageComponent,
            MessagePageActionsComponent,
            MessagePageMoreComponent,
            MessagePageTitleComponent,
            MessagePageSubtitleComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageModule, imports: [MessagePageComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MessagePageModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [...components],
                    exports: [...components]
                }]
        }] });

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

export { MessagePageActionsComponent, MessagePageComponent, MessagePageModule, MessagePageMoreComponent, MessagePageSubtitleComponent, MessagePageTitleComponent };
//# sourceMappingURL=fundamental-ngx-core-message-page.mjs.map
