@alifd/overlay
Version:
overlay base component
71 lines (70 loc) • 1.79 kB
TypeScript
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;