import * as i0 from '@angular/core';
import { inject, booleanAttribute, Input, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
import { EUI_CONFIG_TOKEN } from '@eui/core';

/**
 * @description
 * `eui-icon-svg` component for displaying scalable vector graphics from icon sets.
 * Supports multiple icon libraries, customizable sizing, colors, and transformations.
 * Icons can be loaded from configured asset paths or specified URLs.
 * Provides accessibility features including ARIA labels and role attributes.
 * Commonly used throughout the application for consistent iconography in buttons, menus, and UI elements.
 *
 * @usageNotes
 * ### Basic icon
 * ```html
 * <eui-icon-svg icon="check" size="m"></eui-icon-svg>
 * ```
 *
 * ### Icon with color
 * ```html
 * <eui-icon-svg
 *   icon="warning"
 *   fillColor="warning"
 *   size="l"
 *   ariaLabel="Warning indicator">
 * </eui-icon-svg>
 * ```
 *
 * ### Custom icon from URL
 * ```html
 * <eui-icon-svg
 *   [iconUrl]="'/assets/custom-icon.svg'"
 *   size="xl">
 * </eui-icon-svg>
 * ```
 *
 * ### Accessibility
 * - Set `ariaHidden="false"` and provide `ariaLabel` for meaningful icons
 * - Decorative icons should keep `ariaHidden="true"` (default)
 * - Use `focusable="true"` only for interactive icon elements
 *
 * ### Notes
 * - Icon sets are configured via EUI_CONFIG_TOKEN
 * - Use colon notation for specific sets: `icon="check:material"`
 * - Size tokens: 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl
 * - Apply `transform` for rotations (e.g., "rotate-90", "flip-horizontal")
 */
class EuiIconSvgComponent {
    constructor() {
        this.ariaRole = 'img';
        /**
         * Icon set library to load the icon from.
         * Determines the source directory for icon SVG files.
         * @default 'eui'
         */
        this.set = 'eui';
        /**
         * Size variant for the icon using predefined scale or custom value.
         * Predefined sizes: '2xs', 'xs', 's', 'm', 'l', 'xl', '2xl', '3xl', '4xl'.
         * Custom string values can be provided for non-standard sizing.
         * @default 'm'
         */
        this.size = 'm';
        /**
         * Custom inline CSS styles applied directly to the icon element.
         * Allows for additional styling beyond component properties.
         * @default ''
         */
        this.style = '';
        /**
         * CSS transform class modifier applied to the icon.
         * Common values include rotation or flip transformations.
         * Applied as 'eui-icon-svg--{transform}' class.
         * @default ''
         */
        this.transform = '';
        this.assetsBaseUrl = 'assets';
        /**
         * Hides the icon from assistive technologies when purely decorative.
         * Set to false when icon conveys meaningful information requiring announcement.
         * @default true
         */
        this.ariaHidden = true;
        /**
         * Makes the icon focusable via keyboard navigation.
         * Enables tab-stop behavior for interactive icon elements.
         * @default false
         */
        this.focusable = false;
        /**
         * Displays a loading animation or state on the icon.
         * Applies 'eui-icon-svg--loading' class for loading-specific styling.
         * @default false
         */
        this.isLoading = false;
        /**
         * Applies styling specific to icons used within input fields.
         * Adjusts positioning and spacing for input-embedded icons.
         * @default false
         */
        this.isInputIcon = false;
        /**
         * Positions the icon at the start (left in LTR, right in RTL) of its container.
         * Commonly used for leading icons in buttons or list items.
         * @default false
         */
        this.euiStart = false;
        /**
         * Positions the icon at the end (right in LTR, left in RTL) of its container.
         * Commonly used for trailing icons in buttons or list items.
         * @default false
         */
        this.euiEnd = false;
        this.config = inject(EUI_CONFIG_TOKEN, { optional: true });
    }
    get cssClasses() {
        return [
            // Always refer to the baseStatesDirective
            'eui-icon-svg',
            `eui-icon-svg--size-${this.size}`,
            this.transform ? `eui-icon-svg--${this.transform}` : '',
            // own cmp state => reflected with the scss states
            this.euiStart ? 'eui-icon-svg--start' : '',
            this.euiEnd ? 'eui-icon-svg--end' : '',
            this.isInputIcon ? 'eui-icon-svg--input-icon' : '',
            this.isLoading ? 'eui-icon-svg--loading' : '',
        ]
            .join(' ')
            .trim();
    }
    ngOnInit() {
        const assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;
        if (assetsBaseUrl) {
            this.assetsBaseUrl = this.config.appConfig.global.eui.assetsBaseUrl;
        }
        if (!this.size || this.size === '') {
            this.size = 'm';
        }
    }
    ngOnChanges(c) {
        if (c && c.set) {
            if (c.set.currentValue !== c.set.previousValue) {
                this._setIconAndSet();
            }
        }
        if (c && c.icon) {
            if (c.icon.currentValue !== c.icon.previousValue) {
                this._setIconAndSet();
            }
        }
        if (c && c.size) {
            if (c.size.currentValue !== c.size.previousValue) {
                this._setStyle();
            }
        }
        if (c && c.fillColor) {
            if (c.fillColor.currentValue !== c.fillColor.previousValue) {
                this._setStyle();
            }
        }
    }
    ngAfterContentInit() {
        this._setIconAndSet();
        this._setStyle();
    }
    _setIconAndSet() {
        if (this.icon && this.icon.indexOf(':') > -1) {
            const iconSet = this.icon.split(':');
            this.icon = iconSet[0];
            this.set = iconSet[1];
        }
        if (!this.set || this.set === '') {
            this.set = 'eui';
        }
        else {
            this.iconName = this.icon;
        }
        if (this.set === 'ion-filled' || this.set === 'ion-outline') {
            if (this.set === 'ion-filled') {
                this.iconName = `${this.icon}-filled`;
            }
            if (this.set === 'ion-outline') {
                this.iconName = `${this.icon}-outline`;
            }
        }
    }
    _setStyle() {
        let fill = '';
        if (this.fillColor) {
            fill = `fill: var(--eui-c-${this.fillColor}); color: var(--eui-c-${this.fillColor});`;
        }
        // const height = `height: var(--eui-is-${this.size});`;
        // const width = `width: var(--eui-is-${this.size});`;
        // this.iconStyle = `${fill} ${height} ${width}`;
        this.iconStyle = `${fill}`;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: EuiIconSvgComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: EuiIconSvgComponent, isStandalone: true, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: { icon: "icon", fillColor: "fillColor", set: "set", size: "size", style: "style", iconUrl: "iconUrl", transform: "transform", ariaLabel: "ariaLabel", ariaHidden: ["ariaHidden", "ariaHidden", booleanAttribute], focusable: ["focusable", "focusable", booleanAttribute], isLoading: ["isLoading", "isLoading", booleanAttribute], isInputIcon: ["isInputIcon", "isInputIcon", booleanAttribute], euiStart: ["euiStart", "euiStart", booleanAttribute], euiEnd: ["euiEnd", "euiEnd", booleanAttribute] }, host: { properties: { "attr.role": "this.ariaRole", "class": "this.cssClasses", "attr.aria-label": "this.ariaLabel", "ariaHidden": "this.ariaHidden" } }, usesOnChanges: true, ngImport: i0, template: "@if (icon && !iconUrl && !isLoading) {\n    <svg\n        class=\"eui-sprite-{{icon}}\"\n        [class.eui-icon-svg--loading]=\"isLoading\"\n        [attr.aria-hidden]=\"ariaRole === 'button' ? true : ariaHidden\"\n        [attr.role]=\"ariaRole === 'button' ? null : 'img'\"\n        [attr.focusable]=\"focusable\"\n        attr.style=\"{{iconStyle}}\">\n        <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n    </svg>\n    <ng-content />\n}\n\n@if (iconUrl) {\n    <svg class=\"eui-icon-svg\"\n         attr.style=\"{{iconStyle}} {{style}}\"\n         [attr.aria-hidden]=\"ariaHidden\"\n         [attr.role]=\"'img'\"\n         [attr.focusable]=\"focusable\">\n        <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n    </svg>\n}\n", styles: [".eui-21 .eui-icon-svg{display:inline-flex;position:relative}.eui-21 .eui-icon-svg svg{pointer-events:none}.eui-21 .eui-icon-svg .eui-sprite-ecl-facebook{color:#4267b2;fill:#4267b2}.eui-21 .eui-icon-svg .eui-sprite-ecl-flickr{color:#000;fill:#000}.eui-21 .eui-icon-svg .eui-sprite-ecl-foursquare{color:#ff577a;fill:#ff577a}.eui-21 .eui-icon-svg .eui-sprite-ecl-gmail,.eui-21 .eui-icon-svg .eui-sprite-ecl-instagram{color:#000;fill:#000}.eui-21 .eui-icon-svg .eui-sprite-ecl-linkedin{color:#0a66c2;fill:#0a66c2}.eui-21 .eui-icon-svg .eui-sprite-ecl-mastodon{color:#2b90d9;fill:#2b90d9}.eui-21 .eui-icon-svg .eui-sprite-ecl-messenger{color:#00b2ff;fill:#00b2ff}.eui-21 .eui-icon-svg .eui-sprite-ecl-pinterest{color:#e60023;fill:#e60023}.eui-21 .eui-icon-svg .eui-sprite-ecl-qzone{color:#fc0;fill:#fc0}.eui-21 .eui-icon-svg .eui-sprite-ecl-reddit{color:#ff5700;fill:#ff5700}.eui-21 .eui-icon-svg .eui-sprite-ecl-skype{color:#00aff0;fill:#00aff0}.eui-21 .eui-icon-svg .eui-sprite-ecl-spotify{color:#1db954;fill:#1db954}.eui-21 .eui-icon-svg .eui-sprite-ecl-telegram{color:#24a1de;fill:#24a1de}.eui-21 .eui-icon-svg .eui-sprite-ecl-twitter{color:#1da1f2;fill:#1da1f2}.eui-21 .eui-icon-svg .eui-sprite-ecl-typepad{color:#aab652;fill:#aab652}.eui-21 .eui-icon-svg .eui-sprite-ecl-weibo{color:#e6162d;fill:#e6162d}.eui-21 .eui-icon-svg .eui-sprite-ecl-whatasapp{color:#25d366;fill:#25d366}.eui-21 .eui-icon-svg .eui-sprite-ecl-yahoomail{color:#6619df;fill:#6619df}.eui-21 .eui-icon-svg .eui-sprite-ecl-yammer{color:#0078d4;fill:#0078d4}.eui-21 .eui-icon-svg .eui-sprite-ecl-youtube{color:red;fill:red}.eui-21 .eui-icon-svg--start{margin-right:var(--eui-s-s)}.eui-21 .eui-icon-svg--end{margin-left:var(--eui-s-s)}.eui-21 .eui-icon-svg--input-icon{position:absolute}.eui-21 .eui-icon-svg--input-icon.eui-icon-svg--start{left:var(--eui-s-3xl)}.eui-21 .eui-icon-svg--input-icon.eui-icon-svg--end{right:var(--eui-s-m)}.eui-21 .eui-icon-svg--loading{align-items:center;display:inline-flex;color:transparent;fill:transparent}.eui-21 .eui-icon-svg--loading:after,.eui-21 .eui-icon-svg--loading:before{content:\"\";position:absolute;height:100%;width:100%}.eui-21 .eui-icon-svg--loading:before{border:var(--eui-s-3xs) solid rgba(0,0,0,.25);border-radius:var(--eui-br-max)}.eui-21 .eui-icon-svg--loading:after{animation:eui-icon-loading-kf .8s linear;animation-iteration-count:infinite;border-color:rgba(255,255,255,.5) transparent transparent;border-radius:var(--eui-br-max);border-style:solid;border-width:var(--eui-s-3xs);box-shadow:0 0 0 1px transparent}.eui-21 .eui-icon-svg--loading--sm:before,.eui-21 .eui-icon-svg--loading--sm:after{height:var(--eui-s-m);width:var(--eui-s-m)}.eui-21 .eui-icon-svg.eui-icon-svg--spin>svg{animation:eui-icon-svg-spin 1.5s infinite linear}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-45{transform:rotate(45deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-90{transform:rotate(90deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-135{transform:rotate(135deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-180{transform:rotate(180deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-225{transform:rotate(225deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-270{transform:rotate(270deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-315{transform:rotate(315deg)}.eui-21 .eui-icon-svg.eui-icon-svg--flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scaleX(-1)}.eui-21 .eui-icon-svg.eui-icon-svg--flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scaleY(-1)}.eui-21 .eui-icon-svg.eui-icon-svg--flip-both{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1)}.eui-21 .eui-icon-svg.eui-icon-svg--stack{position:absolute;transform:translate(-50%);margin-left:50%}@keyframes eui-icon-loading-kf{to{transform:rotate(360deg)}}@keyframes eui-icon-svg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-s{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-s:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-s:after{min-height:var(--eui-s-s);min-width:var(--eui-s-s)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-m{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-m:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-m:after{min-height:var(--eui-s-m);min-width:var(--eui-s-m)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-l{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-l:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-l:after{min-height:var(--eui-s-l);min-width:var(--eui-s-l)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-xl{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-xl:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-xl:after{min-height:var(--eui-s-xl);min-width:var(--eui-s-xl)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-2xl{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-2xl:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-2xl:after{min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: EuiIconSvgComponent, decorators: [{
            type: Component,
            args: [{ selector: 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (icon && !iconUrl && !isLoading) {\n    <svg\n        class=\"eui-sprite-{{icon}}\"\n        [class.eui-icon-svg--loading]=\"isLoading\"\n        [attr.aria-hidden]=\"ariaRole === 'button' ? true : ariaHidden\"\n        [attr.role]=\"ariaRole === 'button' ? null : 'img'\"\n        [attr.focusable]=\"focusable\"\n        attr.style=\"{{iconStyle}}\">\n        <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n    </svg>\n    <ng-content />\n}\n\n@if (iconUrl) {\n    <svg class=\"eui-icon-svg\"\n         attr.style=\"{{iconStyle}} {{style}}\"\n         [attr.aria-hidden]=\"ariaHidden\"\n         [attr.role]=\"'img'\"\n         [attr.focusable]=\"focusable\">\n        <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n    </svg>\n}\n", styles: [".eui-21 .eui-icon-svg{display:inline-flex;position:relative}.eui-21 .eui-icon-svg svg{pointer-events:none}.eui-21 .eui-icon-svg .eui-sprite-ecl-facebook{color:#4267b2;fill:#4267b2}.eui-21 .eui-icon-svg .eui-sprite-ecl-flickr{color:#000;fill:#000}.eui-21 .eui-icon-svg .eui-sprite-ecl-foursquare{color:#ff577a;fill:#ff577a}.eui-21 .eui-icon-svg .eui-sprite-ecl-gmail,.eui-21 .eui-icon-svg .eui-sprite-ecl-instagram{color:#000;fill:#000}.eui-21 .eui-icon-svg .eui-sprite-ecl-linkedin{color:#0a66c2;fill:#0a66c2}.eui-21 .eui-icon-svg .eui-sprite-ecl-mastodon{color:#2b90d9;fill:#2b90d9}.eui-21 .eui-icon-svg .eui-sprite-ecl-messenger{color:#00b2ff;fill:#00b2ff}.eui-21 .eui-icon-svg .eui-sprite-ecl-pinterest{color:#e60023;fill:#e60023}.eui-21 .eui-icon-svg .eui-sprite-ecl-qzone{color:#fc0;fill:#fc0}.eui-21 .eui-icon-svg .eui-sprite-ecl-reddit{color:#ff5700;fill:#ff5700}.eui-21 .eui-icon-svg .eui-sprite-ecl-skype{color:#00aff0;fill:#00aff0}.eui-21 .eui-icon-svg .eui-sprite-ecl-spotify{color:#1db954;fill:#1db954}.eui-21 .eui-icon-svg .eui-sprite-ecl-telegram{color:#24a1de;fill:#24a1de}.eui-21 .eui-icon-svg .eui-sprite-ecl-twitter{color:#1da1f2;fill:#1da1f2}.eui-21 .eui-icon-svg .eui-sprite-ecl-typepad{color:#aab652;fill:#aab652}.eui-21 .eui-icon-svg .eui-sprite-ecl-weibo{color:#e6162d;fill:#e6162d}.eui-21 .eui-icon-svg .eui-sprite-ecl-whatasapp{color:#25d366;fill:#25d366}.eui-21 .eui-icon-svg .eui-sprite-ecl-yahoomail{color:#6619df;fill:#6619df}.eui-21 .eui-icon-svg .eui-sprite-ecl-yammer{color:#0078d4;fill:#0078d4}.eui-21 .eui-icon-svg .eui-sprite-ecl-youtube{color:red;fill:red}.eui-21 .eui-icon-svg--start{margin-right:var(--eui-s-s)}.eui-21 .eui-icon-svg--end{margin-left:var(--eui-s-s)}.eui-21 .eui-icon-svg--input-icon{position:absolute}.eui-21 .eui-icon-svg--input-icon.eui-icon-svg--start{left:var(--eui-s-3xl)}.eui-21 .eui-icon-svg--input-icon.eui-icon-svg--end{right:var(--eui-s-m)}.eui-21 .eui-icon-svg--loading{align-items:center;display:inline-flex;color:transparent;fill:transparent}.eui-21 .eui-icon-svg--loading:after,.eui-21 .eui-icon-svg--loading:before{content:\"\";position:absolute;height:100%;width:100%}.eui-21 .eui-icon-svg--loading:before{border:var(--eui-s-3xs) solid rgba(0,0,0,.25);border-radius:var(--eui-br-max)}.eui-21 .eui-icon-svg--loading:after{animation:eui-icon-loading-kf .8s linear;animation-iteration-count:infinite;border-color:rgba(255,255,255,.5) transparent transparent;border-radius:var(--eui-br-max);border-style:solid;border-width:var(--eui-s-3xs);box-shadow:0 0 0 1px transparent}.eui-21 .eui-icon-svg--loading--sm:before,.eui-21 .eui-icon-svg--loading--sm:after{height:var(--eui-s-m);width:var(--eui-s-m)}.eui-21 .eui-icon-svg.eui-icon-svg--spin>svg{animation:eui-icon-svg-spin 1.5s infinite linear}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-45{transform:rotate(45deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-90{transform:rotate(90deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-135{transform:rotate(135deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-180{transform:rotate(180deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-225{transform:rotate(225deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-270{transform:rotate(270deg)}.eui-21 .eui-icon-svg.eui-icon-svg--rotate-315{transform:rotate(315deg)}.eui-21 .eui-icon-svg.eui-icon-svg--flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scaleX(-1)}.eui-21 .eui-icon-svg.eui-icon-svg--flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scaleY(-1)}.eui-21 .eui-icon-svg.eui-icon-svg--flip-both{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1)}.eui-21 .eui-icon-svg.eui-icon-svg--stack{position:absolute;transform:translate(-50%);margin-left:50%}@keyframes eui-icon-loading-kf{to{transform:rotate(360deg)}}@keyframes eui-icon-svg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-s{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-s:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-s:after{min-height:var(--eui-s-s);min-width:var(--eui-s-s)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-m{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-m:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-m:after{min-height:var(--eui-s-m);min-width:var(--eui-s-m)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-l{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-l:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-l:after{min-height:var(--eui-s-l);min-width:var(--eui-s-l)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-xl{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-xl:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-xl:after{min-height:var(--eui-s-xl);min-width:var(--eui-s-xl)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-2xl{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-2xl:before,.eui-21 .eui-icon-svg--loading.eui-icon-svg--size-2xl:after{min-height:var(--eui-s-3xl);min-width:var(--eui-s-3xl)}\n"] }]
        }], propDecorators: { ariaRole: [{
                type: HostBinding,
                args: ['attr.role']
            }], icon: [{
                type: Input
            }], fillColor: [{
                type: Input
            }], set: [{
                type: Input
            }], size: [{
                type: Input
            }], style: [{
                type: Input
            }], iconUrl: [{
                type: Input
            }], transform: [{
                type: Input
            }], cssClasses: [{
                type: HostBinding,
                args: ['class']
            }], ariaLabel: [{
                type: HostBinding,
                args: ['attr.aria-label']
            }, {
                type: Input
            }], ariaHidden: [{
                type: HostBinding
            }, {
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], focusable: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isLoading: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], isInputIcon: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiStart: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], euiEnd: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }] } });

const EUI_ICON = [
    EuiIconSvgComponent,
];
// export { EuiIconSvgComponent as EuiIcon } from './eui-icon-svg.component';

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

export { EUI_ICON, EuiIconSvgComponent };
//# sourceMappingURL=eui-components-eui-icon.mjs.map
