import { ElementRef, Injector, NgZone, OnDestroy, OnInit } from '@angular/core'; import { CoreBaseComponent } from '../common/base.component'; import { TooltipHost } from './models/tooltip-host'; import { TooltipOptions } from './models/tooltip-options'; import * as i0 from "@angular/core"; export interface TooltipMousePosition { x: number; y: number; } /** * Tooltip host component provides a host for tooltips. */ export declare class TooltipHostComponent extends CoreBaseComponent implements OnInit, OnDestroy, TooltipHost { private zone; /** * The source name to use for logging */ protected get logSourceName(): string; private static readonly SCREEN_EDGE_MARGIN; /** * The element that contains and positions the tooltip */ tooltipContainer: ElementRef; /** * The element that is used to point to the target of the tooltip */ tooltipPointer: ElementRef; /** * The current tooltip options */ options: TooltipOptions; /** * Internal placeholder for the current focused state */ private focused; /** * Internal placeholder for the current hovered state */ private hovered; /** * container for host specific data being passed to the tooltip template context */ hostData: any; /** * The current mouse position relative to this hosting element */ mousePosition: TooltipMousePosition; /** * Mouse move listener event */ private onMouseMoveListener; /** * indicates that the tooltip has focus */ get isFocused(): boolean; /** * indicates that the tooltip is hovered */ get isHovered(): boolean; /** * Gets the role that this tooltip is playing. If the tooltip is text only, * then it is treated as a dialog. * otherwise it is treated as a tooltip */ get ariaRole(): "alertdialog" | "tooltip"; /** * Gets the aria modal attribute value */ get ariaModal(): boolean; /** * Indicates if the tooltip content outside the aria-live region will be shown */ get showNonAriaLiveContent(): boolean; /** * Indicates if the tooltip content inside the aria-live region will be shown */ get showAriaLiveContent(): boolean; /** * Initializes a new instance of the @see TooltipHostComponent class. * @param injector The angular injection service. required by @SmeInjectableBase() decorator in the base @see BaseComponent class */ constructor(injector: Injector, zone: NgZone); ngOnInit(): void; ngOnDestroy(): void; /** * Occurs when the tooltip container is focused or unfocused * @param event the focusin or focusout event */ onFocusChanged(event: Event): void; /** * Occurs when the tooltip container is hovered or un-hovered * @param event the mouseenter or mouseleave event */ onHoverChanged(event: Event): void; /** * Window resize listener */ onWindowResized(event: Event): void; /** * Escape key listener */ onEscape(event: Event): void; /** * Mouse movement listener * We do not use HostListener here to avoid invoking change detection for all mousemove events. */ private onMouseMove; /** * Escape key listener */ onClick(event: PointerEvent): void; /** * Show a tooltip with the given options */ show(options: TooltipOptions): void; /** * Updates the active tooltip with new options * @param id the tooltip id */ update(options: TooltipOptions): void; /** * Hides the tooltip with the given id * @param id the tooltip id */ isShown(id: string): boolean; /** * Hides the tooltip with the given id * @param id the tooltip id */ hide(id: string): void; /** * Repositions the tooltip */ private reposition; /** * Creates the idBag used by this component to store unique element ids. * id values will be assigned be the @see BaseComponent super class. */ protected createIdBag(): MsftSme.StringMap; /** * Gets the initial host classes to be applied to this element */ protected getInitialHostClasses(): string[]; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }