@progress/kendo-angular-tooltip
Version:
Kendo UI Tooltip for Angular - A highly customizable and easily themeable tooltip from the creators developers trust for professional Angular components.
103 lines (102 loc) • 4.38 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ComponentRef, ElementRef, NgZone, Renderer2 } from "@angular/core";
import { PopupRef, PopupService } from "@progress/kendo-angular-popup";
import { PopoverFn } from "../models/functions.model";
import { PopoverShowOption } from "../models/popover-show-option.type";
import { PopoverComponent } from "./popover.component";
import { PopoverService } from "./popover.service";
import { Subscription } from "rxjs";
import * as i0 from "@angular/core";
/**
* @hidden
*/
export declare abstract class PopoverDirectivesBase {
protected ngZone: NgZone;
protected popupService: PopupService;
protected renderer: Renderer2;
/**
* Specifies the popover instance that will be rendered.
* Accepts a [`PopoverComponent`]({% slug api_tooltip_popovercomponent %}) instance or
* a [`PopoverFn`]({% slug api_tooltip_popoverfn %}) callback which returns a [`PopoverComponent`]({% slug api_tooltip_popovercomponent %}) instance
* depending on the current anchor element.
*
* [See example](slug:templates_popover#toc-passing-data-to-templates)
*/
set popover(value: PopoverComponent | PopoverFn);
get popover(): PopoverComponent | PopoverFn;
/**
* The event on which the Popover will be shown
*
* The supported values are:
* - `click` (default) —The Popover will be shown when its `anchor` element is clicked.
* - `hover`—The Popover will be shown when its `anchor` element is hovered.
* - `focus`—The Popover will be shown when its `anchor` element is focused.
* - `none`—The Popover will not be shown on user interaction. It could be rendered via the Popover API methods.
*/
set showOn(value: PopoverShowOption);
get showOn(): PopoverShowOption;
/**
* @hidden
*/
private anchor;
popupRef: PopupRef;
protected disposeHoverOverListener: () => void;
protected disposeHoverOutListener: () => void;
protected disposeClickListener: () => void;
protected disposePopupHoverOutListener: () => void;
protected disposePopupHoverInListener: () => void;
protected disposePopupFocusOutListener: () => void;
protected subs: Subscription;
protected _popoverService: PopoverService;
protected _hideSub: Subscription;
protected _focusInsideSub: Subscription;
private _popover;
private _showOn;
private _popupOpenSub;
private _popupCloseSub;
private _popupSubs;
constructor(ngZone: NgZone, popupService: PopupService, renderer: Renderer2);
ngAfterViewInit(): void;
ngOnDestroy(): void;
/**
* Hides the Popover ([See example]({% slug programmaticcontrol_popover %})).
*/
hide(): void;
/**
* @hidden
*/
protected closePopup(): void;
/**
* @hidden
*/
protected openPopup(anchor: Element | ElementRef): void;
/**
* @hidden
*/
protected isPrevented(anchorElement: Element, show: boolean): boolean;
/**
* @hidden
*/
protected monitorPopup(): void;
protected applySettings(contentComponent: ComponentRef<PopoverComponent>, popover: PopoverComponent): void;
protected abstract subscribeToShowEvents(args?: any): void;
protected abstract subscribeClick(): void;
protected abstract mouseenterHandler(args?: any): void;
protected abstract mouseleaveHandler(args?: any): void;
protected abstract focusHandler(args?: any): void;
protected abstract blurHandler(args?: any): void;
protected manageEvents(): void;
/**
* @hidden
*/
private initializeEvents;
private onKeyDown;
private initializeCompletionEvents;
private shouldEmitEvent;
private shouldEmitCompletionEvents;
static ɵfac: i0.ɵɵFactoryDeclaration<PopoverDirectivesBase, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverDirectivesBase, never, never, { "popover": { "alias": "popover"; "required": false; }; "showOn": { "alias": "showOn"; "required": false; }; }, {}, never, never, false, never>;
}