igniteui-webcomponents
Version:
Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.
86 lines (85 loc) • 3.09 kB
TypeScript
import type { ReactiveController } from 'lit';
import type IgcTooltipComponent from './tooltip.js';
declare class TooltipController implements ReactiveController {
private static readonly _listeners;
private readonly _host;
private readonly _options;
private readonly _hostAbortHandle;
private readonly _anchorAbortHandle;
private _showTriggers;
private _hideTriggers;
private _anchor;
private _initialAnchor;
private _isTransient;
private _open;
/** Whether the tooltip is in shown state. */
get open(): boolean;
/** Sets the shown state of the current tooltip. */
set open(value: boolean);
/**
* Returns the current tooltip anchor target if any.
*/
get anchor(): TooltipAnchor;
/**
* Returns the current set of hide triggers as a comma-separated string.
*/
get hideTriggers(): string;
/**
* Sets a new set of hide triggers from a comma-separated string.
*
* @remarks
* If the tooltip already has an `anchor` bound it will remove the old
* set of triggers from it and rebind it with the new one.
*/
set hideTriggers(value: string);
/**
* Returns the current set of show triggers as a comma-separated string.
*/
get showTriggers(): string;
/**
* Sets a new set of show triggers from a comma-separated string.
*
* @remarks
* If the tooltip already has an `anchor` bound it will remove the old
* set of triggers from it and rebind it with the new one.
*/
set showTriggers(value: string);
constructor(tooltip: IgcTooltipComponent, options: TooltipCallbacks);
private _addAnchorListeners;
private _addTooltipListeners;
private _handleTooltipEvent;
private _handleAnchorEvent;
/** @internal */
handleEvent(event: Event): void;
private _dispose;
/**
* Removes all triggers from the previous `anchor` target and rebinds the current
* sets back to the new value if it exists.
*/
setAnchor(value: TooltipAnchor | string, transient?: boolean): void;
resolveAnchor(value: TooltipAnchor | string): void;
/** @internal */
hostConnected(): void;
/** @internal */
hostDisconnected(): void;
}
export declare const TooltipRegexes: Readonly<{
/** Used for parsing the strings passed in the tooltip `show/hide-trigger` properties. */
triggers: RegExp;
/** Matches horizontal `PopoverPlacement` start positions. */
horizontalStart: RegExp;
/** Matches horizontal `PopoverPlacement` end positions. */
horizontalEnd: RegExp;
/** Matches vertical `PopoverPlacement` start positions. */
start: RegExp;
/** Matches vertical `PopoverPlacement` end positions. */
end: RegExp;
}>;
export declare function addTooltipController(host: IgcTooltipComponent, options: TooltipCallbacks): TooltipController;
type TooltipAnchor = Element | null | undefined;
type TooltipCallbacks = {
onShow: (event?: Event) => unknown;
onHide: (event?: Event) => unknown;
onEscape: (event?: Event) => unknown;
};
export {};