import * as i0 from '@angular/core';
import { input, ChangeDetectionStrategy, Component, NgModule } 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 - 2025
 * SPDX-License-Identifier: MIT
 */
/**
 * The component shall be use to indicate that an authenticated
 * user does not have the required permissions.
 *
 * @deprecated This component is deprecated and will be removed in the future.
 * Use the `SiInfoPageComponent` component with the `si-info-page` element instead.
 * The `SiInfoPageComponent` is a superset of this component and supports the same use cases
 * and more.
 */
class SiUnauthorizedPageComponent {
    /**
     * The element warning icon.
     *
     * @defaultValue 'element-warning-filled'
     */
    icon = input('element-warning-filled');
    /** The main heading indicating the problem. */
    heading = input();
    /** A sub heading is a sentence summarizing the problem. */
    subHeading = input();
    /** May be a longer description explaining the problem. */
    description = input();
    /**
     * 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();
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiUnauthorizedPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiUnauthorizedPageComponent, isStandalone: true, selector: "si-unauthorized-page", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, subHeading: { classPropertyName: "subHeading", publicName: "subHeading", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", 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  <si-icon class=\"status-warning icon-size\" [icon]=\"icon()\" />\n  @if (heading()) {\n    <h1 class=\"my-9\">{{ heading() | translate }}</h1>\n  }\n  @if (subHeading()) {\n    <h2 class=\"mb-9\">{{ subHeading() | translate }}</h2>\n  }\n  @if (description()) {\n    <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ description() | translate }}</p>\n  }\n  @if (link()?.title) {\n    <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n  }\n  <ng-content />\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: "20.0.6", ngImport: i0, type: SiUnauthorizedPageComponent, decorators: [{
            type: Component,
            args: [{ selector: 'si-unauthorized-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  <si-icon class=\"status-warning icon-size\" [icon]=\"icon()\" />\n  @if (heading()) {\n    <h1 class=\"my-9\">{{ heading() | translate }}</h1>\n  }\n  @if (subHeading()) {\n    <h2 class=\"mb-9\">{{ subHeading() | translate }}</h2>\n  }\n  @if (description()) {\n    <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ description() | translate }}</p>\n  }\n  @if (link()?.title) {\n    <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n  }\n  <ng-content />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"] }]
        }] });

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

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

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

export { SiUnauthorizedPageComponent, SiUnauthorizedPageModule };
//# sourceMappingURL=siemens-element-ng-unauthorized-page.mjs.map
