UNPKG

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