UNPKG

1.39 kBTypeScriptView Raw
1import React from 'react';
2export declare type EventType = 'hover' | 'click' | 'focus' | 'right-click';
3export declare type PopupPosition = 'top left' | 'top center' | 'top right' | 'right top' | 'right center' | 'right bottom' | 'bottom left' | 'bottom center' | 'bottom right' | 'left top' | 'left center' | 'left bottom' | 'center center';
4export declare type PopupActions = {
5 open: () => void;
6 close: () => void;
7 toggle: () => void;
8};
9export interface PopupProps {
10 trigger?: JSX.Element | ((isOpen: boolean) => JSX.Element);
11 open?: boolean;
12 disabled?: boolean;
13 nested?: boolean;
14 defaultOpen?: boolean;
15 on?: EventType | EventType[];
16 children: React.ReactNode;
17 position?: PopupPosition | PopupPosition[];
18 offsetX?: number;
19 offsetY?: number;
20 arrow?: boolean;
21 modal?: boolean;
22 lockScroll?: boolean;
23 closeOnDocumentClick?: boolean;
24 closeOnEscape?: boolean;
25 repositionOnResize?: boolean;
26 mouseEnterDelay?: number;
27 mouseLeaveDelay?: number;
28 onOpen?: (event?: React.SyntheticEvent) => void;
29 onClose?: (event?: React.SyntheticEvent | KeyboardEvent | TouchEvent | MouseEvent) => void;
30 contentStyle?: React.CSSProperties;
31 overlayStyle?: React.CSSProperties;
32 arrowStyle?: React.CSSProperties;
33 className?: string;
34 keepTooltipInside?: boolean | string;
35}