import * as i0 from '@angular/core';
import { inject, Input, HostBinding, Component, NgModule } from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i2 from '@eui/components/eui-icon';
import { EUI_ICON } from '@eui/components/eui-icon';

class EuiIconStateComponent {
    constructor() {
        this.size = 'm';
        this.baseStatesDirective = inject(BaseStatesDirective);
    }
    get cssClasses() {
        return [
            this.baseStatesDirective.getCssClasses('eui-icon-state'),
        ].join(' ').trim();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiIconStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.17", type: EuiIconStateComponent, isStandalone: true, selector: "eui-icon-state", inputs: { size: "size", ariaLabel: "ariaLabel" }, host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiVariant", "euiVariant"] }], ngImport: i0, template: "@if (baseStatesDirective.euiSuccess) {\n    <eui-icon-svg icon=\"checkmark-circle:outline\" aria-label=\"eUI success icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiWarning) {\n    <eui-icon-svg icon=\"warning:outline\" aria-label=\"eUI warning icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiDanger) {\n    <eui-icon-svg icon=\"alert-circle:outline\" aria-label=\"eUI danger icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiPrimary) {\n    <eui-icon-svg icon=\"help-circle:outline\" aria-label=\"eUI primary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiSecondary) {\n    <eui-icon-svg icon=\"help-circle:outline\" aria-label=\"eUI secondary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiInfo) {\n    <eui-icon-svg icon=\"information-circle:outline\" aria-label=\"eUI info icon\" size=\"{{size}}\" />\n}\n", styles: [".eui-19 :host.eui-icon-state{display:flex;flex-direction:column;color:var(--eui-c-s-info);fill:var(--eui-c-s-info)}.eui-19 :host.eui-icon-state--primary ::ng-deep .eui-icon-svg{color:var(--eui-c-s-primary);fill:var(--eui-c-s-primary)}.eui-19 :host.eui-icon-state--info ::ng-deep .eui-icon-svg{color:var(--eui-c-s-info);fill:var(--eui-c-s-info)}.eui-19 :host.eui-icon-state--success ::ng-deep .eui-icon-svg{color:var(--eui-c-s-success);fill:var(--eui-c-s-success)}.eui-19 :host.eui-icon-state--warning ::ng-deep .eui-icon-svg{color:var(--eui-c-s-warning);fill:var(--eui-c-s-warning)}.eui-19 :host.eui-icon-state--danger ::ng-deep .eui-icon-svg{color:var(--eui-c-s-danger);fill:var(--eui-c-s-danger)}.eui-19 :host.eui-icon-state--secondary ::ng-deep .eui-icon-svg{color:var(--eui-c-s-secondary);fill:var(--eui-c-s-secondary)}\n"], dependencies: [{ kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiIconStateComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-icon-state', imports: [
                        ...EUI_ICON,
                    ], hostDirectives: [
                        {
                            directive: BaseStatesDirective,
                            inputs: [
                                'euiPrimary',
                                'euiSuccess',
                                'euiInfo',
                                'euiWarning',
                                'euiDanger',
                                'euiVariant',
                            ],
                        },
                    ], template: "@if (baseStatesDirective.euiSuccess) {\n    <eui-icon-svg icon=\"checkmark-circle:outline\" aria-label=\"eUI success icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiWarning) {\n    <eui-icon-svg icon=\"warning:outline\" aria-label=\"eUI warning icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiDanger) {\n    <eui-icon-svg icon=\"alert-circle:outline\" aria-label=\"eUI danger icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiPrimary) {\n    <eui-icon-svg icon=\"help-circle:outline\" aria-label=\"eUI primary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiSecondary) {\n    <eui-icon-svg icon=\"help-circle:outline\" aria-label=\"eUI secondary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiInfo) {\n    <eui-icon-svg icon=\"information-circle:outline\" aria-label=\"eUI info icon\" size=\"{{size}}\" />\n}\n", styles: [".eui-19 :host.eui-icon-state{display:flex;flex-direction:column;color:var(--eui-c-s-info);fill:var(--eui-c-s-info)}.eui-19 :host.eui-icon-state--primary ::ng-deep .eui-icon-svg{color:var(--eui-c-s-primary);fill:var(--eui-c-s-primary)}.eui-19 :host.eui-icon-state--info ::ng-deep .eui-icon-svg{color:var(--eui-c-s-info);fill:var(--eui-c-s-info)}.eui-19 :host.eui-icon-state--success ::ng-deep .eui-icon-svg{color:var(--eui-c-s-success);fill:var(--eui-c-s-success)}.eui-19 :host.eui-icon-state--warning ::ng-deep .eui-icon-svg{color:var(--eui-c-s-warning);fill:var(--eui-c-s-warning)}.eui-19 :host.eui-icon-state--danger ::ng-deep .eui-icon-svg{color:var(--eui-c-s-danger);fill:var(--eui-c-s-danger)}.eui-19 :host.eui-icon-state--secondary ::ng-deep .eui-icon-svg{color:var(--eui-c-s-secondary);fill:var(--eui-c-s-secondary)}\n"] }]
        }], propDecorators: { cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], size: [{
                type: Input
            }], ariaLabel: [{
                type: Input
            }] } });

/**
 * @description
 * Module for the EuiIconState component.
 *
 * This module provides the EuiIconStateComponent which is used to display icons
 * with different states (success, error, warning, etc.) in a consistent manner.
 *
 * @deprecated Use {@link EUI_ICON_STATE} instead
 */
class EuiIconStateModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiIconStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: EuiIconStateModule, imports: [EuiIconStateComponent], exports: [EuiIconStateComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiIconStateModule, imports: [EuiIconStateComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EuiIconStateModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [EuiIconStateComponent],
                    exports: [EuiIconStateComponent],
                }]
        }] });

const EUI_ICON_STATE = [
    EuiIconStateComponent,
];
// export { EuiIconStateComponent as EuiIconState } from './eui-icon-state.component';

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

export { EUI_ICON_STATE, EuiIconStateComponent, EuiIconStateModule };
//# sourceMappingURL=eui-components-eui-icon-state.mjs.map
