/**
 *
 * @ai-apps/angular v2.147.1-next.0 | ai-apps-angular-empty-state.js
 *
 * Copyright 2014, 2022 IBM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */


import { ɵɵelementContainer, ɵɵnextContext, ɵɵproperty, ɵɵelement, ɵɵelementContainerStart, ɵɵtemplate, ɵɵelementContainerEnd, ɵɵadvance, TemplateRef, ɵɵdefineComponent, ɵɵprojectionDef, ɵɵelementStart, ɵɵprojection, ɵɵelementEnd, ɵsetClassMetadata, Component, Input, ɵɵdefineDirective, ɵɵclassMap, Directive, HostBinding, ɵɵdefineNgModule, ɵɵdefineInjector, ɵɵsetNgModuleScope, NgModule } from '@angular/core';
import { NgIf, NgTemplateOutlet, NgSwitch, NgSwitchCase, NgSwitchDefault, CommonModule } from '@angular/common';
import { EmptyStateNoResultsIcon, EmptyState404Icon, EmptyStateNotAuthorizedIcon, EmptyStateSuccessIcon, EmptyStateErrorIcon, EmptyStateDefaultIcon, AIIconsModule } from '@ai-apps/angular/icons';

function EmptyStateComponent_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
    ɵɵelementContainer(0, 5);
} if (rf & 2) {
    const ctx_r1 = ɵɵnextContext(2);
    ɵɵproperty("ngTemplateOutlet", ctx_r1.icon);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_empty_state_no_results_icon_1_Template(rf, ctx) { if (rf & 1) {
    ɵɵelement(0, "empty-state-no-results-icon", 9);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_empty_state_404_icon_2_Template(rf, ctx) { if (rf & 1) {
    ɵɵelement(0, "empty-state-404-icon", 9);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_empty_state_not_authorized_icon_3_Template(rf, ctx) { if (rf & 1) {
    ɵɵelement(0, "empty-state-not-authorized-icon", 9);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_empty_state_success_icon_4_Template(rf, ctx) { if (rf & 1) {
    ɵɵelement(0, "empty-state-success-icon", 9);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_empty_state_error_icon_5_Template(rf, ctx) { if (rf & 1) {
    ɵɵelement(0, "empty-state-error-icon", 9);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_empty_state_default_icon_6_Template(rf, ctx) { if (rf & 1) {
    ɵɵelement(0, "empty-state-default-icon", 9);
} }
function EmptyStateComponent_ng_container_2_ng_container_2_Template(rf, ctx) { if (rf & 1) {
    ɵɵelementContainerStart(0, 6);
    ɵɵtemplate(1, EmptyStateComponent_ng_container_2_ng_container_2_empty_state_no_results_icon_1_Template, 1, 0, "empty-state-no-results-icon", 7);
    ɵɵtemplate(2, EmptyStateComponent_ng_container_2_ng_container_2_empty_state_404_icon_2_Template, 1, 0, "empty-state-404-icon", 7);
    ɵɵtemplate(3, EmptyStateComponent_ng_container_2_ng_container_2_empty_state_not_authorized_icon_3_Template, 1, 0, "empty-state-not-authorized-icon", 7);
    ɵɵtemplate(4, EmptyStateComponent_ng_container_2_ng_container_2_empty_state_success_icon_4_Template, 1, 0, "empty-state-success-icon", 7);
    ɵɵtemplate(5, EmptyStateComponent_ng_container_2_ng_container_2_empty_state_error_icon_5_Template, 1, 0, "empty-state-error-icon", 7);
    ɵɵtemplate(6, EmptyStateComponent_ng_container_2_ng_container_2_empty_state_default_icon_6_Template, 1, 0, "empty-state-default-icon", 8);
    ɵɵelementContainerEnd();
} if (rf & 2) {
    const ctx_r2 = ɵɵnextContext(2);
    ɵɵproperty("ngSwitch", ctx_r2.icon);
    ɵɵadvance(1);
    ɵɵproperty("ngSwitchCase", "no-results");
    ɵɵadvance(1);
    ɵɵproperty("ngSwitchCase", "error404");
    ɵɵadvance(1);
    ɵɵproperty("ngSwitchCase", "not-authorized");
    ɵɵadvance(1);
    ɵɵproperty("ngSwitchCase", "success");
    ɵɵadvance(1);
    ɵɵproperty("ngSwitchCase", "error");
} }
function EmptyStateComponent_ng_container_2_Template(rf, ctx) { if (rf & 1) {
    ɵɵelementContainerStart(0);
    ɵɵtemplate(1, EmptyStateComponent_ng_container_2_ng_container_1_Template, 1, 1, "ng-container", 3);
    ɵɵtemplate(2, EmptyStateComponent_ng_container_2_ng_container_2_Template, 7, 6, "ng-container", 4);
    ɵɵelementContainerEnd();
} if (rf & 2) {
    const ctx_r0 = ɵɵnextContext();
    ɵɵadvance(1);
    ɵɵproperty("ngIf", ctx_r0.isTemplate(ctx_r0.icon));
    ɵɵadvance(1);
    ɵɵproperty("ngIf", !ctx_r0.isTemplate(ctx_r0.icon));
} }
const _c0 = [[["", "aiEmptyStateTitle", ""]], [["", "aiEmptyStateBody", ""]], [["ai-empty-state-action"]], [["ai-empty-state-secondary-action"]]];
const _c1 = ["[aiEmptyStateTitle]", "[aiEmptyStateBody]", "ai-empty-state-action", "ai-empty-state-secondary-action"];
class EmptyStateComponent {
    isTemplate(value) {
        return value instanceof TemplateRef;
    }
}
EmptyStateComponent.ɵfac = function EmptyStateComponent_Factory(t) { return new (t || EmptyStateComponent)(); };
EmptyStateComponent.ɵcmp = ɵɵdefineComponent({ type: EmptyStateComponent, selectors: [["ai-empty-state"]], inputs: { icon: "icon" }, ngContentSelectors: _c1, decls: 7, vars: 1, consts: [[1, "iot--empty-state"], [1, "iot--empty-state--content"], [4, "ngIf"], [3, "ngTemplateOutlet", 4, "ngIf"], [3, "ngSwitch", 4, "ngIf"], [3, "ngTemplateOutlet"], [3, "ngSwitch"], ["iconClass", "iot--empty-state--icon", 4, "ngSwitchCase"], ["iconClass", "iot--empty-state--icon", 4, "ngSwitchDefault"], ["iconClass", "iot--empty-state--icon"]], template: function EmptyStateComponent_Template(rf, ctx) { if (rf & 1) {
        ɵɵprojectionDef(_c0);
        ɵɵelementStart(0, "div", 0);
        ɵɵelementStart(1, "div", 1);
        ɵɵtemplate(2, EmptyStateComponent_ng_container_2_Template, 3, 2, "ng-container", 2);
        ɵɵprojection(3);
        ɵɵprojection(4, 1);
        ɵɵprojection(5, 2);
        ɵɵprojection(6, 3);
        ɵɵelementEnd();
        ɵɵelementEnd();
    } if (rf & 2) {
        ɵɵadvance(2);
        ɵɵproperty("ngIf", ctx.icon !== "no-icon");
    } }, directives: [NgIf, NgTemplateOutlet, NgSwitch, NgSwitchCase, NgSwitchDefault, EmptyStateNoResultsIcon, EmptyState404Icon, EmptyStateNotAuthorizedIcon, EmptyStateSuccessIcon, EmptyStateErrorIcon, EmptyStateDefaultIcon], encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(EmptyStateComponent, [{
        type: Component,
        args: [{
                selector: 'ai-empty-state',
                template: `
    <div class="iot--empty-state">
      <div class="iot--empty-state--content">
        <ng-container *ngIf="icon !== 'no-icon'">
          <ng-container *ngIf="isTemplate(icon)" [ngTemplateOutlet]="$any(icon)"></ng-container>
          <ng-container *ngIf="!isTemplate(icon)" [ngSwitch]="icon">
            <empty-state-no-results-icon
              *ngSwitchCase="'no-results'"
              iconClass="iot--empty-state--icon"
            >
            </empty-state-no-results-icon>
            <empty-state-404-icon *ngSwitchCase="'error404'" iconClass="iot--empty-state--icon">
            </empty-state-404-icon>
            <empty-state-not-authorized-icon
              *ngSwitchCase="'not-authorized'"
              iconClass="iot--empty-state--icon"
            >
            </empty-state-not-authorized-icon>
            <empty-state-success-icon *ngSwitchCase="'success'" iconClass="iot--empty-state--icon">
            </empty-state-success-icon>
            <empty-state-error-icon *ngSwitchCase="'error'" iconClass="iot--empty-state--icon">
            </empty-state-error-icon>
            <empty-state-default-icon *ngSwitchDefault iconClass="iot--empty-state--icon">
            </empty-state-default-icon>
          </ng-container>
        </ng-container>
        <ng-content select="[aiEmptyStateTitle]"></ng-content>
        <ng-content select="[aiEmptyStateBody]"></ng-content>
        <ng-content select="ai-empty-state-action"></ng-content>
        <ng-content select="ai-empty-state-secondary-action"></ng-content>
      </div>
    </div>
  `,
            }]
    }], null, { icon: [{
            type: Input
        }] }); })();

const _c0$1 = ["*"];
class EmptyStateActionComponent {
}
EmptyStateActionComponent.ɵfac = function EmptyStateActionComponent_Factory(t) { return new (t || EmptyStateActionComponent)(); };
EmptyStateActionComponent.ɵcmp = ɵɵdefineComponent({ type: EmptyStateActionComponent, selectors: [["ai-empty-state-action"]], ngContentSelectors: _c0$1, decls: 2, vars: 0, consts: [[1, "iot--empty-state--action"]], template: function EmptyStateActionComponent_Template(rf, ctx) { if (rf & 1) {
        ɵɵprojectionDef();
        ɵɵelementStart(0, "div", 0);
        ɵɵprojection(1);
        ɵɵelementEnd();
    } }, encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(EmptyStateActionComponent, [{
        type: Component,
        args: [{
                selector: 'ai-empty-state-action',
                template: `
    <div class="iot--empty-state--action">
      <ng-content></ng-content>
    </div>
  `,
            }]
    }], null, null); })();

class EmptyStateBodyDirective {
    constructor() {
        this.classList = 'iot--empty-state--text';
    }
}
EmptyStateBodyDirective.ɵfac = function EmptyStateBodyDirective_Factory(t) { return new (t || EmptyStateBodyDirective)(); };
EmptyStateBodyDirective.ɵdir = ɵɵdefineDirective({ type: EmptyStateBodyDirective, selectors: [["", "aiEmptyStateBody", ""]], hostVars: 2, hostBindings: function EmptyStateBodyDirective_HostBindings(rf, ctx) { if (rf & 2) {
        ɵɵclassMap(ctx.classList);
    } } });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(EmptyStateBodyDirective, [{
        type: Directive,
        args: [{
                selector: '[aiEmptyStateBody]',
            }]
    }], null, { classList: [{
            type: HostBinding,
            args: ['class']
        }] }); })();

const _c0$2 = ["*"];
class EmptyStateSecondaryActionComponent {
}
EmptyStateSecondaryActionComponent.ɵfac = function EmptyStateSecondaryActionComponent_Factory(t) { return new (t || EmptyStateSecondaryActionComponent)(); };
EmptyStateSecondaryActionComponent.ɵcmp = ɵɵdefineComponent({ type: EmptyStateSecondaryActionComponent, selectors: [["ai-empty-state-secondary-action"]], ngContentSelectors: _c0$2, decls: 2, vars: 0, consts: [[1, "iot--empty-state--link"]], template: function EmptyStateSecondaryActionComponent_Template(rf, ctx) { if (rf & 1) {
        ɵɵprojectionDef();
        ɵɵelementStart(0, "div", 0);
        ɵɵprojection(1);
        ɵɵelementEnd();
    } }, encapsulation: 2 });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(EmptyStateSecondaryActionComponent, [{
        type: Component,
        args: [{
                selector: 'ai-empty-state-secondary-action',
                template: `
    <div class="iot--empty-state--link">
      <ng-content></ng-content>
    </div>
  `,
            }]
    }], null, null); })();

class EmptyStateTitleDirective {
    constructor() {
        this.classList = 'iot--empty-state--title';
    }
}
EmptyStateTitleDirective.ɵfac = function EmptyStateTitleDirective_Factory(t) { return new (t || EmptyStateTitleDirective)(); };
EmptyStateTitleDirective.ɵdir = ɵɵdefineDirective({ type: EmptyStateTitleDirective, selectors: [["", "aiEmptyStateTitle", ""]], hostVars: 2, hostBindings: function EmptyStateTitleDirective_HostBindings(rf, ctx) { if (rf & 2) {
        ɵɵclassMap(ctx.classList);
    } } });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(EmptyStateTitleDirective, [{
        type: Directive,
        args: [{
                selector: '[aiEmptyStateTitle]',
            }]
    }], null, { classList: [{
            type: HostBinding,
            args: ['class']
        }] }); })();

class EmptyStateModule {
}
EmptyStateModule.ɵmod = ɵɵdefineNgModule({ type: EmptyStateModule });
EmptyStateModule.ɵinj = ɵɵdefineInjector({ factory: function EmptyStateModule_Factory(t) { return new (t || EmptyStateModule)(); }, imports: [[CommonModule, AIIconsModule]] });
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && ɵɵsetNgModuleScope(EmptyStateModule, { declarations: [EmptyStateComponent,
        EmptyStateActionComponent,
        EmptyStateBodyDirective,
        EmptyStateSecondaryActionComponent,
        EmptyStateTitleDirective], imports: [CommonModule, AIIconsModule], exports: [EmptyStateComponent,
        EmptyStateActionComponent,
        EmptyStateBodyDirective,
        EmptyStateSecondaryActionComponent,
        EmptyStateTitleDirective] }); })();
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵsetClassMetadata(EmptyStateModule, [{
        type: NgModule,
        args: [{
                declarations: [
                    EmptyStateComponent,
                    EmptyStateActionComponent,
                    EmptyStateBodyDirective,
                    EmptyStateSecondaryActionComponent,
                    EmptyStateTitleDirective,
                ],
                exports: [
                    EmptyStateComponent,
                    EmptyStateActionComponent,
                    EmptyStateBodyDirective,
                    EmptyStateSecondaryActionComponent,
                    EmptyStateTitleDirective,
                ],
                imports: [CommonModule, AIIconsModule],
            }]
    }], null, null); })();

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

export { EmptyStateActionComponent, EmptyStateBodyDirective, EmptyStateComponent, EmptyStateModule, EmptyStateSecondaryActionComponent, EmptyStateTitleDirective };
//# sourceMappingURL=ai-apps-angular-empty-state.js.map
