UNPKG

4.14 kBTypeScriptView Raw
1import React from 'react';
2import PropTypes from 'prop-types';
3import { OverlayProps as BaseOverlayProps } from 'react-overlays/Overlay';
4import { TransitionType } from './helpers';
5export declare type Placement = import('react-overlays/usePopper').Placement;
6export declare type ArrowProps = {
7 ref: React.RefCallback<HTMLElement>;
8 style: React.CSSProperties;
9};
10export interface OverlayInjectedProps {
11 ref: React.RefCallback<HTMLElement>;
12 style: React.CSSProperties;
13 'aria-labelledby'?: string;
14 arrowProps: ArrowProps;
15 show: boolean;
16 placement: Placement;
17 popper: {
18 state: any;
19 outOfBoundaries: boolean;
20 placement: Placement;
21 scheduleUpdate: () => void;
22 };
23 [prop: string]: any;
24}
25export declare type OverlayChildren = React.ReactElement<OverlayInjectedProps> | ((injected: OverlayInjectedProps) => React.ReactNode);
26export interface OverlayProps extends Omit<BaseOverlayProps, 'children' | 'transition'> {
27 children: OverlayChildren;
28 transition?: TransitionType;
29 placement?: Placement;
30}
31declare function Overlay({ children: overlay, transition, popperConfig, ...outerProps }: OverlayProps): JSX.Element;
32declare namespace Overlay {
33 var propTypes: {
34 /**
35 * A component instance, DOM node, or function that returns either.
36 * The `container` element will have the Overlay appended to it via a React portal.
37 */
38 container: PropTypes.Requireable<any>;
39 /**
40 * A component instance, DOM node, or function that returns either.
41 * The overlay will be positioned in relation to the `target`
42 */
43 target: PropTypes.Requireable<any>;
44 /**
45 * Set the visibility of the Overlay
46 */
47 show: PropTypes.Requireable<boolean>;
48 /**
49 * A set of popper options and props passed directly to Popper.
50 */
51 popperConfig: PropTypes.Requireable<object>;
52 /**
53 * Specify whether the overlay should trigger onHide when the user clicks outside the overlay
54 */
55 rootClose: PropTypes.Requireable<boolean>;
56 /**
57 * Specify event for triggering a "root close" toggle.
58 */
59 rootCloseEvent: PropTypes.Requireable<string>;
60 /**
61 * A callback invoked by the overlay when it wishes to be hidden. Required if
62 * `rootClose` is specified.
63 */
64 onHide: PropTypes.Requireable<(...args: any[]) => any>;
65 /**
66 * Animate the entering and exiting of the Overlay. `true` will use the `<Fade>` transition,
67 * or a custom react-transition-group `<Transition>` component can be provided.
68 */
69 transition: PropTypes.Requireable<any>;
70 /**
71 * Callback fired before the Overlay transitions in
72 */
73 onEnter: PropTypes.Requireable<(...args: any[]) => any>;
74 /**
75 * Callback fired as the Overlay begins to transition in
76 */
77 onEntering: PropTypes.Requireable<(...args: any[]) => any>;
78 /**
79 * Callback fired after the Overlay finishes transitioning in
80 */
81 onEntered: PropTypes.Requireable<(...args: any[]) => any>;
82 /**
83 * Callback fired right before the Overlay transitions out
84 */
85 onExit: PropTypes.Requireable<(...args: any[]) => any>;
86 /**
87 * Callback fired as the Overlay begins to transition out
88 */
89 onExiting: PropTypes.Requireable<(...args: any[]) => any>;
90 /**
91 * Callback fired after the Overlay finishes transitioning out
92 */
93 onExited: PropTypes.Requireable<(...args: any[]) => any>;
94 /**
95 * The placement of the Overlay in relation to it's `target`.
96 */
97 placement: PropTypes.Requireable<string>;
98 };
99 var defaultProps: {
100 transition: React.ForwardRefExoticComponent<import("./Fade").FadeProps & React.RefAttributes<import("react-transition-group/Transition").default<any>>>;
101 rootClose: boolean;
102 show: boolean;
103 placement: string;
104 };
105}
106export default Overlay;