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

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */
/**
 * The component displays application info messages. A message uses an icon and a title, optionally a copy text,
 * instructions and a link. Replace the integrated icon by content projection of another icon or image with the
 * CSS class `.si-info-image`. Use content projection with the CSS class `si-info-actions` to inject more buttons
 * and options to interact with the page.
 */
class SiInfoPageComponent {
    /**
     * The element warning icon.
     *
     * @defaultValue 'element-warning-filled'
     */
    icon = input('element-warning-filled', ...(ngDevMode ? [{ debugName: "icon" }] : []));
    /**
     * Icon color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes}
     *
     * @defaultValue 'status-warning'
     */
    iconColor = input('status-warning', ...(ngDevMode ? [{ debugName: "iconColor" }] : []));
    /** A short and concise title to explain the error. */
    titleText = input.required(...(ngDevMode ? [{ debugName: "titleText" }] : []));
    /** A more detailed explanation of the error, outlining the reasoning for it and how a user can resolve it. */
    copyText = input(...(ngDevMode ? [undefined, { debugName: "copyText" }] : []));
    /** A detailed instruction on how a user can resolve the error. */
    instructions = input(...(ngDevMode ? [undefined, { debugName: "instructions" }] : []));
    /**
     * Use the link object if you have one option to follow. A link object
     * has a title to be displayed and can be configured with an external link,
     * a router link, or a custom action. If you want to provide multiple options,
     * add your own content into the component.
     */
    link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : []));
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInfoPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiInfoPageComponent, isStandalone: true, selector: "si-info-page", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: true, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, instructions: { classPropertyName: "instructions", publicName: "instructions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n  <ng-content select=\".si-info-image\">\n    <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n  </ng-content>\n  <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n  @if (copyText()) {\n    <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n  }\n  @if (instructions()) {\n    <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n  }\n  @if (link()?.title) {\n    <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n  }\n  <ng-content select=\".si-info-actions\" />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInfoPageComponent, decorators: [{
            type: Component,
            args: [{ selector: 'si-info-page', imports: [SiLinkDirective, SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n  <ng-content select=\".si-info-image\">\n    <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n  </ng-content>\n  <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n  @if (copyText()) {\n    <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n  }\n  @if (instructions()) {\n    <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n  }\n  @if (link()?.title) {\n    <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n  }\n  <ng-content select=\".si-info-actions\" />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"] }]
        }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconColor", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: true }] }], copyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyText", required: false }] }], instructions: [{ type: i0.Input, args: [{ isSignal: true, alias: "instructions", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }] } });

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

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

export { SiInfoPageComponent };
//# sourceMappingURL=siemens-element-ng-info-page.mjs.map
