///
declare module 'zent/lib/pop' {
type Position = { getCSSStyle: () => React.CSSProperties; name: string };
type PositionFunction = (
anchorBoundingBox: ClientRect,
containerBoundingBox: ClientRect,
contentDimension: { width: number; height: number },
options: {
cushion: number;
anchor: HTMLElement;
container: HTMLElement;
anchorBoundingBoxViewport: any;
containerBoundingBoxViewport: any;
}
) => Position;
type PopPositions =
| 'left-top'
| 'left-center'
| 'left-bottom'
| 'right-top'
| 'right-center'
| 'right-bottom'
| 'top-left'
| 'top-center'
| 'top-right'
| 'bottom-left'
| 'bottom-center'
| 'bottom-right'
| 'auto-bottom-center'
| 'auto-bottom-left'
| 'auto-bottom-right'
| 'auto-top-center'
| 'auto-top-left'
| 'auto-top-right';
interface IPopProps {
content: React.ReactNode;
trigger?: 'none' | 'click' | 'hover' | 'focus';
position?: PopPositions | PositionFunction;
centerArrow?: boolean;
header?: React.ReactNode;
block?: boolean;
onShow?: () => void;
onClose?: () => void;
onBeforeShow?:
| ((callback: () => void, escape: () => void) => void)
| (() => Promise);
onBeforeClose?:
| ((callback: () => void, escape: () => void) => void)
| (() => Promise);
onConfirm?: ((close: () => void) => void) | (() => Promise);
onCancel?: ((close: () => void) => void) | (() => Promise);
confirmText?: string;
cancelText?: string;
type?: 'primary' | 'default' | 'danger' | 'success';
visible?: boolean;
onVisibleChange?: (visible: boolean) => void;
onPositionUpdated?: () => void;
onPositionReady?: () => void;
className?: string;
wrapperClassName?: string;
containerSelector?: string;
prefix?: string;
isOutside?: (
target: HTMLElement,
node: { contentNode: HTMLElement; triggerNode: HTMLElement }
) => boolean;
// trigger: click
closeOnClickOutside?: boolean;
// trigger: hover
quirk?: boolean;
mouseEnterDelay?: number;
mouseLeaveDelay?: number;
}
class HocPopComponent extends React.Component {
open: () => void;
close: () => void;
}
export default class Pop extends React.Component {
static withPop(component: React.Component): HocPopComponent;
adjustPosition(): void;
getWrappedPopover(): React.Component;
}
}