import * as i0 from '@angular/core'; import { AfterContentInit, OnChanges, OnInit, SimpleChanges } from '@angular/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 * * ``` * * ### Icon with color * ```html * * * ``` * * ### Custom icon from URL * ```html * * * ``` * * ### 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") */ declare class EuiIconSvgComponent implements AfterContentInit, OnChanges, OnInit { ariaRole: string; /** * Name of the icon to display, optionally including the icon set using 'iconName:setName' format. * When format includes colon separator, automatically splits into icon and set properties. * Required for icon display unless iconUrl is provided. */ icon: string; /** * Fill color for the SVG icon using EUI color token names. * Applies CSS custom property in format '--eui-c-{fillColor}'. * Affects both fill and color properties for comprehensive icon styling. */ fillColor: string; /** * Icon set library to load the icon from. * Determines the source directory for icon SVG files. * @default 'eui' */ set: string; /** * 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' */ size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | string; /** * Custom inline CSS styles applied directly to the icon element. * Allows for additional styling beyond component properties. * @default '' */ style: string; /** * Direct URL to an SVG icon file, bypassing the icon set resolution. * Useful for loading custom or external icons not in configured icon sets. */ iconUrl: string; /** * CSS transform class modifier applied to the icon. * Common values include rotation or flip transformations. * Applied as 'eui-icon-svg--{transform}' class. * @default '' */ transform: string; get cssClasses(): string; /** * Accessible label for screen readers describing the icon's purpose. * Provides semantic meaning when icon conveys information beyond decoration. * @default 'Icon' */ ariaLabel: string; iconName: string; assetsBaseUrl: string; iconStyle: string; /** * Hides the icon from assistive technologies when purely decorative. * Set to false when icon conveys meaningful information requiring announcement. * @default true */ ariaHidden: boolean; /** * Makes the icon focusable via keyboard navigation. * Enables tab-stop behavior for interactive icon elements. * @default false */ focusable: boolean; /** * Displays a loading animation or state on the icon. * Applies 'eui-icon-svg--loading' class for loading-specific styling. * @default false */ isLoading: boolean; /** * Applies styling specific to icons used within input fields. * Adjusts positioning and spacing for input-embedded icons. * @default false */ isInputIcon: boolean; /** * 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 */ euiStart: boolean; /** * 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 */ euiEnd: boolean; private config; ngOnInit(): void; ngOnChanges(c: SimpleChanges): void; ngAfterContentInit(): void; private _setIconAndSet; private _setStyle; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_ariaHidden: unknown; static ngAcceptInputType_focusable: unknown; static ngAcceptInputType_isLoading: unknown; static ngAcceptInputType_isInputIcon: unknown; static ngAcceptInputType_euiStart: unknown; static ngAcceptInputType_euiEnd: unknown; } declare const EUI_ICON: readonly [typeof EuiIconSvgComponent]; export { EUI_ICON, EuiIconSvgComponent }; //# sourceMappingURL=eui-components-eui-icon.d.ts.map