{"version":3,"file":"eui-components-eui-icon-state.mjs","sources":["../../eui-icon-state/eui-icon-state.component.ts","../../eui-icon-state/eui-icon-state.component.html","../../eui-icon-state/index.ts","../../eui-icon-state/eui-components-eui-icon-state.ts"],"sourcesContent":["import { Component, HostBinding, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\nimport { EUI_ICON } from '@eui/components/eui-icon';\n\n/**\n * Displays an icon with semantic state styling (primary, success, info, warning, danger).\n * Combines icon rendering with state-based color variants for status indicators, alerts, and contextual UI elements.\n * Inherits state inputs from BaseStatesDirective for consistent theming across the application.\n *\n * @usageNotes\n * ### Success state icon\n * ```html\n * <eui-icon-state \n *   euiSuccess \n *   size=\"m\" \n *   ariaLabel=\"Success\">\n * </eui-icon-state>\n * ```\n *\n * ### Warning indicator\n * ```html\n * <eui-icon-state \n *   euiWarning \n *   size=\"l\"\n *   ariaLabel=\"Warning: Action required\">\n * </eui-icon-state>\n * ```\n *\n * ### Accessibility\n * - Always provide descriptive `ariaLabel` for meaningful icons\n * - Color is not the only indicator (icon shape also conveys meaning)\n * - Sufficient contrast maintained in all state variants\n *\n * ### Notes\n * - State variants: euiPrimary, euiSuccess, euiInfo, euiWarning, euiDanger\n * - Icon automatically matches the state color\n * - Use in feedback messages, form validation, and status displays\n * - Combine with text labels for clarity\n */\n@Component({\n    selector: 'eui-icon-state',\n    templateUrl: './eui-icon-state.component.html',\n    styleUrl: './eui-icon-state.component.scss',\n    imports: [\n        ...EUI_ICON,\n    ],\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiPrimary',\n                'euiSuccess',\n                'euiInfo',\n                'euiWarning',\n                'euiDanger',\n                'euiVariant',\n            ],\n        },\n    ],\n})\nexport class EuiIconStateComponent {\n    @HostBinding('class')\n    get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-icon-state'),\n        ].join(' ').trim();\n    }\n\n    /**\n     * Controls the rendered size of the icon.\n     * @default 'm'\n     */\n    @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' = 'm';\n\n    /**\n     * Accessible label for screen readers describing the icon's purpose or meaning.\n     * Required for accessibility when the icon conveys semantic information.\n     */\n    @Input() ariaLabel: string;\n    baseStatesDirective = inject(BaseStatesDirective);\n}\n","@if (baseStatesDirective.euiSuccess) {\n    <eui-icon-svg icon=\"eui-state-success\" aria-label=\"eUI success icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiWarning) {\n    <eui-icon-svg icon=\"eui-state-warning\" aria-label=\"eUI warning icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiDanger) {\n    <eui-icon-svg icon=\"eui-state-danger\" aria-label=\"eUI danger icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiPrimary) {\n    <eui-icon-svg icon=\"eui-state-primary\" aria-label=\"eUI primary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiSecondary) {\n    <eui-icon-svg icon=\"eui-state-primary\" aria-label=\"eUI secondary icon\" size=\"{{size}}\" />\n} @else if (baseStatesDirective.euiInfo) {\n    <eui-icon-svg icon=\"eui-state-info\" aria-label=\"eUI info icon\" size=\"{{size}}\" />\n}\n","import { EuiIconStateComponent } from './eui-icon-state.component';\n\nexport * from './eui-icon-state.component';\n\nexport const EUI_ICON_STATE = [\n    EuiIconStateComponent,\n] as const;\n\n// export { EuiIconStateComponent as EuiIconState } from './eui-icon-state.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;MAsBU,qBAAqB,CAAA;AArBlC,IAAA,WAAA,GAAA;AA6BI;;;AAGG;QACM,IAAA,CAAA,IAAI,GAAkE,GAAG;AAOlF,QAAA,IAAA,CAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACpD,IAAA;AAnBG,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,gBAAgB,CAAC;AAC3D,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;8GANS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,qZC5DlC,k2BAaA,EAAA,MAAA,EAAA,CAAA,+xBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD+Ca,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBArBjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,OAAA,EAGjB;AACL,wBAAA,GAAG,QAAQ;qBACd,EAAA,cAAA,EACe;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,mBAAmB;AAC9B,4BAAA,MAAM,EAAE;gCACJ,YAAY;gCACZ,YAAY;gCACZ,SAAS;gCACT,YAAY;gCACZ,WAAW;gCACX,YAAY;AACf,6BAAA;AACJ,yBAAA;AACJ,qBAAA,EAAA,QAAA,EAAA,k2BAAA,EAAA,MAAA,EAAA,CAAA,+xBAAA,CAAA,EAAA;;sBAGA,WAAW;uBAAC,OAAO;;sBAWnB;;sBAMA;;;AE1EE,MAAM,cAAc,GAAG;IAC1B,qBAAqB;;AAGzB;;ACRA;;AAEG;;;;"}