import type { TooltipStyleProps } from '@antv/component';
import type { RuntimeContext } from '../runtime/types';
import type { ElementDatum, ID, IElementEvent } from '../types';
import type { BasePluginOptions } from './base-plugin';
import { BasePlugin } from './base-plugin';
/**
* 提示框插件配置项
*
* Tooltip plugin options
*/
export interface TooltipOptions extends BasePluginOptions, Pick {
/**
* 触发行为,可选 hover | click
* - `'hover'`:鼠标移入元素时触发
* - `'click'`:鼠标点击元素时触发
*
* Trigger behavior, optional hover | click
* - `'hover'`:mouse hover element
* - `'click'`:mouse click element
* @defaultValue 'hover
*/
trigger?: 'hover' | 'click';
/**
* 自定义内容
*
* Function for getting tooltip content
*/
getContent?: (event: IElementEvent, items: ElementDatum[]) => Promise;
/**
* 是否启用
*
* Is enable
* @defaultValue true
*/
enable?: boolean | ((event: IElementEvent, items: ElementDatum[]) => boolean);
/**
* 显示隐藏的回调
*
* Callback executed when visibility of the tooltip card is changed
*/
onOpenChange: (open: boolean) => void;
}
/**
* 提示框插件
*
* Tooltip plugin
*/
export declare class Tooltip extends BasePlugin {
static defaultOptions: Partial;
private currentTarget;
private tooltipElement;
private container;
constructor(context: RuntimeContext, options: TooltipOptions);
/**
* 获取事件及处理事件的方法
*
* Get event and handle event methods
* @returns 事件及处理事件的方法 | Event and handling event methods
*/
private getEvents;
/**
* 更新tooltip配置
*
* Update the tooltip configuration
* @param options - 配置项 | options
* @internal
*/
update(options: Partial): void;
private render;
private unbindEvents;
private bindEvents;
private isEnable;
/**
* 点击事件
*
* Click event
* @param event - 元素 | element
*/
onClick: (event: IElementEvent) => void;
/**
* 在目标元素(node/edge/combo)上移动
*
* Move on target element (node/edge/combo)
* @param event - 目标元素 | target element
*/
onPointerMove: (event: IElementEvent) => void;
/**
* 点击画布/触发拖拽/出现上下文菜单隐藏tooltip
*
* Hide tooltip when clicking canvas/triggering drag/appearing context menu
* @param event - 目标元素 | target element
*/
onPointerLeave: (event: IElementEvent) => void;
/**
* 移动画布
*
* Move canvas
* @param event - 目标元素 | target element
*/
onCanvasMove: (event: IElementEvent) => void;
private onPointerOver;
/**
* 显示目标元素的提示框
*
* Show tooltip of target element
* @param id - 元素 ID | element ID
*/
showById: (id: ID) => Promise;
private getElementData;
/**
* 在目标元素上显示tooltip
*
* Show tooltip on target element
* @param event - 目标元素 | target element
* @internal
*/
show: (event: IElementEvent) => Promise;
/**
* 隐藏tooltip
*
* Hidden tooltip
* @param event - 目标元素,不传则为外部调用 | Target element, not passed in as external call
*/
hide: (event?: IElementEvent) => void;
private get tooltipStyleProps();
private initTooltip;
/**
* 销毁tooltip
*
* Destroy tooltip
* @internal
*/
destroy(): void;
}