leafer-x-tooltip
Version:
leafer tooltip plugin
53 lines (50 loc) • 1.59 kB
TypeScript
import { Leafer, App, PointerEvent } from '@leafer-ui/core';
import { ILeaf } from '@leafer-ui/interface';
type IOffset = number | {
x: number;
y: number;
} | [number, number];
type UserConfig = {
className?: string;
includeTypes?: Array<string>;
excludeTypes?: Array<string>;
triggerType?: 'hover' | 'click';
offset?: IOffset;
shouldBegin?: (event: PointerEvent) => boolean;
getContent: (node: ILeaf) => string;
};
declare class TooltipPlugin {
private readonly app;
private readonly domId;
private readonly config;
private activeNode;
private readonly bindEventIds;
private readonly _moveTooltip;
private readonly _hideTooltip;
styleSheetElement: HTMLStyleElement;
constructor(app: Leafer | App, config: UserConfig);
private initEvent;
private shouldShowTooltip;
private leaferPointMove;
private leaferPointClick;
private viewReadyEvent;
private initCssClass;
private initCreateTooltip;
private hideTooltip;
private calculateTooltipPosition;
private getTooltipContent;
private moveTooltip;
getDomId(): string;
getOffset(): {
x: number;
y: number;
};
createStyleRule(selector: string, useRules: string | Record<string, string>): void;
removeStyleRule(selector: string): void;
findStyleRuleIndex(selector: string): number;
addClass(className: string | string[]): void;
removeClass(className: string | string[]): void;
destroy(): void;
setTriggerType(triggerType: 'hover' | 'click'): void;
}
export { TooltipPlugin };