import { AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, EventEmitter } from '@angular/core'; import { Subject } from 'rxjs'; import { ElComponentStatus } from '../component-status'; import { ElAdjustment, ElPosition } from '../cdk/overlay/overlay-position'; import { ElTrigger } from '../cdk/overlay/overlay-trigger'; import { ElDynamicOverlay } from '../cdk/overlay/dynamic/dynamic-overlay'; import { ElDynamicOverlayHandler } from '../cdk/overlay/dynamic/dynamic-overlay-handler'; import { ElTooltipComponent } from './tooltip.component'; import { ElIconConfig } from '../icon/icon.component'; /** * * Tooltip directive for small text/icon hints. * * ### Installation * * Import `ElTooltipModule` to your feature module. * ```ts * @NgModule({ * imports: [ * // ... * ElTooltipModule, * ], * }) * export class PageModule { } * ``` * ### Usage * * @stacked-example(Showcase, tooltip/tooltip-showcase.component) * * Tooltip can accept a hint text and/or an icon: * @stacked-example(With Icon, tooltip/tooltip-with-icon.component) * * Same way as Popover, tooltip can accept placement position with `elTooltipPlacement` property: * @stacked-example(Placements, tooltip/tooltip-placements.component) * * It is also possible to specify tooltip color using `elTooltipStatus` property: * @stacked-example(Colored Tooltips, tooltip/tooltip-colors.component) * * Tooltip has a number of triggers which provides an ability to show and hide the component in different ways: * * - Click mode shows the component when a user clicks on the host element and hides when the user clicks * somewhere on the document outside the component. * - Hint provides capability to show the component when the user hovers over the host element * and hide when the user hovers out of the host. * - Hover works like hint mode with one exception - when the user moves mouse from host element to * the container element the component remains open, so that it is possible to interact with it content. * - Focus mode is applied when user focuses the element. * - Noop mode - the component won't react to the user interaction. */ export declare class ElTooltipDirective implements OnInit, OnChanges, AfterViewInit, OnDestroy { protected hostRef: ElementRef; protected dynamicOverlayHandler: ElDynamicOverlayHandler; protected destroy$: Subject; protected tooltipComponent: typeof ElTooltipComponent; protected dynamicOverlay: ElDynamicOverlay; protected offset: number; context: Object; /** * Tooltip message */ content: string; /** * Position will be calculated relatively host element based on the position. * Can be top, right, bottom, left, start or end. */ position: ElPosition; /** * Container position will change automatically based on this strategy if container can't fit view port. * Set this property to `noop` value if you want to disable automatic adjustment. * Available values: `clockwise` (default), `counterclockwise`, `vertical`, `horizontal`, `noop`. */ adjustment: ElAdjustment; protected _adjustment: ElAdjustment; tooltipClass: string; /** * Accepts icon name or icon config object * @param {string | ElIconConfig} icon name or config object */ icon: string | ElIconConfig; /** * * @param {string} status */ status: '' | ElComponentStatus; /** * Describes when the container will be shown. * Available options: `click`, `hover`, `hint`, `focus` and `noop` * */ trigger: ElTrigger; elTooltipShowStateChange: EventEmitter<{ isShown: boolean; }>; readonly isShown: boolean; constructor(hostRef: ElementRef, dynamicOverlayHandler: ElDynamicOverlayHandler); ngOnInit(): void; ngOnChanges(): void; ngAfterViewInit(): void; rebuild(): void; show(): void; hide(): void; toggle(): void; ngOnDestroy(): void; protected configureDynamicOverlay(): ElDynamicOverlayHandler; }