UNPKG

@alifd/overlay

Version:
71 lines (70 loc) 1.79 kB
import type { CSSProperties, ReactElement } from 'react'; import { OverlayEvent } from './overlay'; import { placementType } from './placement'; type TriggerType = 'click' | 'hover' | 'focus'; export type TriggerTypes = TriggerType[]; export interface PopupProps { /** * 弹窗内容 */ overlay: ReactElement; triggerType?: TriggerTypes | TriggerType; triggerClickKeyCode?: number | number[]; container?: (ele: Element) => Element; placement?: placementType; /** * 偏离 placement 对其方向像素 */ placementOffset?: number; /** * 是否显示 */ defaultVisible?: boolean; /** * 是否显示 */ visible?: boolean; /** * 弹层显示或隐藏时触发的回调函数 */ onVisibleChange?: (visible: boolean, trigger: string, e: OverlayEvent) => void; cache?: boolean; onOpen?: Function; className?: string; /** * 弹窗内容 */ children?: ReactElement; style?: CSSProperties; delay?: number; /** * 鼠标放置后的延时显示,单位毫秒 ms */ mouseEnterDelay?: number; /** * 鼠标离开后的延时显示,单位毫秒 ms */ mouseLeaveDelay?: number; overlayProps?: any; safeNode?: Array<() => Element>; beforePosition?: Function; onPosition?: Function; /** * 气泡被遮挡时自动调整位置 */ autoAdjust?: boolean; /** * 滚动超出的时候隐藏 */ autoHideScrollOverflow?: boolean; followTrigger?: boolean; canCloseByEsc?: boolean; canCloseByTrigger?: boolean; disabled?: boolean; /** * 和 trigger 互斥使用 */ target?: (() => HTMLElement) | string; } declare const Popup: any; export default Popup;