import { ReferenceObject } from "popper.js"; import { RefObject, HTMLProps } from "react"; export declare type Trigger = (props: TriggerProps) => JSX.Element; export declare type TriggerWithProps

= [(triggerProps: P & TriggerProps) => JSX.Element, P]; export interface TriggerProps { overlayElementRef: RefObject; childrenElementRef: RefObject; visible: boolean; setVisible: (visible: boolean, delay?: number) => Promise; openDelay: number; closeDelay: number; render: (renderProps: TriggerRenderProps) => JSX.Element; } export interface TriggerRenderProps { overlayProps: HTMLProps; childrenProps: HTMLProps; referenceElement?: ReferenceObject; } export declare const buildinTriggers: { click: Trigger; hover: Trigger; focus: Trigger; empty: Trigger; contextMenu: Trigger; }; /** * 点击的时候打开 * * - children 上绑定 onClick 事件,点击时打开 * - children 上添加 useClickOutside Hook,外部点击时关闭,并排除 overlayElement */ export declare function ClickTrigger({ childrenElementRef, overlayElementRef, visible, setVisible, openDelay, closeDelay, render, }: TriggerProps): JSX.Element; export declare namespace ClickTrigger { var displayName: string; } /** * 右键点击的时候打开 * * - children 上绑定 onContextMenu 事件,点击时打开 * - children 上添加 useClickOutside Hook,外部点击时关闭,并排除 overlayElement */ export declare function ContextMenuTrigger({ childrenElementRef, overlayElementRef, visible, setVisible, openDelay, closeDelay, render, }: TriggerProps): JSX.Element; export declare namespace ContextMenuTrigger { var displayName: string; } /** * 鼠标经过的时候打开 */ export declare function HoverTrigger(props: TriggerProps): JSX.Element; export declare namespace HoverTrigger { var displayName: string; } export declare function FocusTrigger({ setVisible, openDelay, closeDelay, render, }: TriggerProps): JSX.Element; export declare namespace FocusTrigger { var displayName: string; } /** * 表示空的触发交互 */ export declare function EmptyTrigger(props: TriggerProps): JSX.Element; export declare namespace EmptyTrigger { var displayName: string; }