import { IconName, IconStyle } from '@fortawesome/fontawesome-svg-core'; import { UUID } from '@genesislcap/foundation-utils'; import { FoundationElement } from '@microsoft/fast-foundation'; export { IconName, IconStyle }; export declare const foundationIconShadowOptions: ShadowRootInit; export declare const defaultIconConfig: {}; export declare enum FaPrefixFromStyle { solid = "fas", regular = "far", brand = "fab" } export declare const faSizeValueDefault: "1x"; export declare const faSizeValues: readonly ["2xs", "xs", "sm", "lg", "xl", "2xl", "1x", "2x", "3x", "4x", "5x", "6x", "7x", "8x", "9x", "10x", "stack-1x", "stack-2x"]; export type FaSize = (typeof faSizeValues)[number]; /** * @tagname %%prefix%%-icon */ export declare class Icon extends FoundationElement { iElement: HTMLElement; uuid: UUID; tooltipId: string; tooltip: string; isError: boolean; /** * The `<%%prefix%%-tooltip>` bubble stays in this component's template and shadow root, * but is promoted to the browser top layer via the Popover API when shown — the top layer * escapes ancestor stacking contexts, transforms and overflow clipping, which is what * lets virtualized grid rows (absolutely-positioned, later-DOM-order siblings) paint over * an in-place bubble. Content rendering stays FASTTooltip's own anchor-hover logic * (`delay="0"` so it is rendered by the time the popover opens and is measured); only * host visibility and placement are managed here, because FASTTooltip's anchored-region * placement does not resolve for the subclassed genesis components * (`tagFor(AnchoredRegion)` misses — compose() without `baseClass`). */ tooltipElement: HTMLElement | undefined; private tooltipShowTimer; name: IconName; nameChanged(oldValue: string, newValue: string): void; size: FaSize; sizeChanged(oldValue: string, newValue: string): void; variant: IconStyle; variantChanged(oldValue: string, newValue: string): void; connectedCallback(): void; disconnectedCallback(): void; private showTooltip; /** * Places the bubble from the anchor's current viewport position (scrolled grid, resized * layout) just before it is shown; top-layer coordinates are viewport-relative. Prefers * the anchor's right edge, flips to its left when the right side would clip at the * viewport, and clamps vertically so bottom rows keep the whole bubble on screen. The * bubble's width is fixed in CSS, so measuring before final placement is safe; height * comes from scroll size because FASTTooltip's host is a zero-height box whose part div * overflows it. */ private positionTooltip; private hideTooltip; getDefaultTooltipConfig(): void; loadIcon(): void; } /** * The Foundation Icon * * @public * @remarks * HTML Element: \ */ export declare const foundationIcon: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition) => import("@microsoft/fast-foundation").FoundationElementRegistry; //# sourceMappingURL=icon.d.ts.map