import { NgClass } from '@angular/common';
import * as i0 from '@angular/core';
import { input, booleanAttribute, Component, NgModule } from '@angular/core';
import { SiStatusIconComponent } from '@siemens/element-ng/icon';
import { SiLinkDirective } from '@siemens/element-ng/link';
import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';

/**
 * Copyright (c) Siemens 2016 - 2025
 * SPDX-License-Identifier: MIT
 */
class SiInlineNotificationComponent {
    /**
     * Status of inline notification.
     */
    severity = input.required();
    /**
     * Heading of the message.
     */
    heading = input();
    /**
     * Main message of this inline notification.
     */
    message = input.required();
    /**
     * Optional link action for inline notification events.
     */
    action = input();
    /**
     * Params passed to the translation pipe
     *
     * @defaultValue
     * ```
     * {}
     * ```
     */
    translationParams = input({});
    /**
     * Displays in embedded style, w/o radius and indicator bar
     *
     * @defaultValue false
     */
    embedded = input(false, { transform: booleanAttribute });
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiInlineNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiInlineNotificationComponent, isStandalone: true, selector: "si-inline-notification", inputs: { severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: true, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n  class=\"alert d-flex align-items-start\"\n  role=\"alert\"\n  aria-atomic=\"true\"\n  aria-live=\"assertive\"\n  [ngClass]=\"'alert-' + severity()\"\n  [hidden]=\"!severity()\"\n>\n  <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n  <div class=\"d-flex flex-grow-1 flex-wrap mt-1\">\n    @if (heading()) {\n      <strong class=\"pe-2\">{{ heading() | translate: translationParams() }}: </strong>\n    }\n    <span>{{ message() | translate: translationParams() }}</span>\n  </div>\n  @if (action() && action()?.title) {\n    <a class=\"alert-link ms-4 flex-shrink-0 mt-1\" [siLink]=\"action()\">\n      {{ action()?.title | translate: translationParams() }}\n    </a>\n  }\n</div>\n", styles: [":host{display:block;overflow:hidden;flex-shrink:0;border-radius:var(--element-button-radius)}.alert :is(div,a){padding-block-start:1px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "component", type: SiStatusIconComponent, selector: "si-status-icon", inputs: ["status"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiInlineNotificationComponent, decorators: [{
            type: Component,
            args: [{ selector: 'si-inline-notification', imports: [NgClass, SiLinkDirective, SiTranslatePipe, SiStatusIconComponent], template: "<div\n  class=\"alert d-flex align-items-start\"\n  role=\"alert\"\n  aria-atomic=\"true\"\n  aria-live=\"assertive\"\n  [ngClass]=\"'alert-' + severity()\"\n  [hidden]=\"!severity()\"\n>\n  <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n  <div class=\"d-flex flex-grow-1 flex-wrap mt-1\">\n    @if (heading()) {\n      <strong class=\"pe-2\">{{ heading() | translate: translationParams() }}: </strong>\n    }\n    <span>{{ message() | translate: translationParams() }}</span>\n  </div>\n  @if (action() && action()?.title) {\n    <a class=\"alert-link ms-4 flex-shrink-0 mt-1\" [siLink]=\"action()\">\n      {{ action()?.title | translate: translationParams() }}\n    </a>\n  }\n</div>\n", styles: [":host{display:block;overflow:hidden;flex-shrink:0;border-radius:var(--element-button-radius)}.alert :is(div,a){padding-block-start:1px}\n"] }]
        }] });

/**
 * Copyright (c) Siemens 2016 - 2025
 * SPDX-License-Identifier: MIT
 */
class SiInlineNotificationModule {
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiInlineNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
    static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SiInlineNotificationModule, imports: [SiInlineNotificationComponent], exports: [SiInlineNotificationComponent] });
    static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiInlineNotificationModule, imports: [SiInlineNotificationComponent] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiInlineNotificationModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [SiInlineNotificationComponent],
                    exports: [SiInlineNotificationComponent]
                }]
        }] });

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

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

export { SiInlineNotificationComponent, SiInlineNotificationModule };
//# sourceMappingURL=siemens-element-ng-inline-notification.mjs.map
