import * as i0 from '@angular/core';
import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */
/**
 * The system banner component displays a message with specific status as background.
 * Use this component for displaying system level messages on top of the page.
 */
class SiSystemBannerComponent {
    /**
     * Status of the system banner.
     * Possible values are 'info', 'success', 'warning', 'caution', 'danger', 'critical'.
     *
     * @defaultValue 'info'
     */
    status = input('info', ...(ngDevMode ? [{ debugName: "status" }] : []));
    /**
     * Message to be displayed in the system banner.
     */
    message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
    bannerClass = computed(() => `banner-${this.status()}`, ...(ngDevMode ? [{ debugName: "bannerClass" }] : []));
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSystemBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiSystemBannerComponent, isStandalone: true, selector: "si-system-banner", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "bannerClass()" } }, ngImport: i0, template: "<div\n  class=\"text-center text-truncate si-h5 banner\"\n  role=\"alert\"\n  aria-atomic=\"true\"\n  aria-live=\"assertive\"\n>\n  {{ message() | translate }}\n</div>\n", styles: [":host{display:block;inline-size:100%}:host .banner{padding-block:2px;padding-inline:12px}:host.banner-info{background-color:var(--element-status-information);color:var(--element-status-information-contrast)}:host.banner-success{background-color:var(--element-status-success);color:var(--element-status-success-contrast)}:host.banner-warning{background-color:var(--element-status-warning);color:var(--element-status-warning-contrast)}:host.banner-caution{background-color:var(--element-status-caution);color:var(--element-status-caution-contrast)}:host.banner-danger{background-color:var(--element-status-danger);color:var(--element-status-danger-contrast)}:host.banner-critical{background-color:var(--element-status-critical);color:var(--element-status-critical-contrast)}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSystemBannerComponent, decorators: [{
            type: Component,
            args: [{ selector: 'si-system-banner', imports: [SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
                        '[class]': 'bannerClass()'
                    }, template: "<div\n  class=\"text-center text-truncate si-h5 banner\"\n  role=\"alert\"\n  aria-atomic=\"true\"\n  aria-live=\"assertive\"\n>\n  {{ message() | translate }}\n</div>\n", styles: [":host{display:block;inline-size:100%}:host .banner{padding-block:2px;padding-inline:12px}:host.banner-info{background-color:var(--element-status-information);color:var(--element-status-information-contrast)}:host.banner-success{background-color:var(--element-status-success);color:var(--element-status-success-contrast)}:host.banner-warning{background-color:var(--element-status-warning);color:var(--element-status-warning-contrast)}:host.banner-caution{background-color:var(--element-status-caution);color:var(--element-status-caution-contrast)}:host.banner-danger{background-color:var(--element-status-danger);color:var(--element-status-danger-contrast)}:host.banner-critical{background-color:var(--element-status-critical);color:var(--element-status-critical-contrast)}\n"] }]
        }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }] } });

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */

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

export { SiSystemBannerComponent };
//# sourceMappingURL=siemens-element-ng-system-banner.mjs.map
