UNPKG

3.64 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime-corejs2/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
7exports.__esModule = true;
8exports.default = void 0;
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose"));
11
12var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inheritsLoose"));
13
14var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
15
16var _classnames = _interopRequireDefault(require("classnames"));
17
18var _react = _interopRequireWildcard(require("react"));
19
20var _propTypes = _interopRequireDefault(require("prop-types"));
21
22var _Overlay = _interopRequireDefault(require("react-overlays/lib/Overlay"));
23
24var _elementType = _interopRequireDefault(require("prop-types-extra/lib/elementType"));
25
26var _Fade = _interopRequireDefault(require("./Fade"));
27
28var propTypes = (0, _extends2.default)({}, _Overlay.default.propTypes, {
29 /**
30 * Set the visibility of the Overlay
31 */
32 show: _propTypes.default.bool,
33
34 /**
35 * Specify whether the overlay should trigger onHide when the user clicks outside the overlay
36 */
37 rootClose: _propTypes.default.bool,
38
39 /**
40 * A callback invoked by the overlay when it wishes to be hidden. Required if
41 * `rootClose` is specified.
42 */
43 onHide: _propTypes.default.func,
44
45 /**
46 * Use animation
47 */
48 animation: _propTypes.default.oneOfType([_propTypes.default.bool, _elementType.default]),
49
50 /**
51 * Callback fired before the Overlay transitions in
52 */
53 onEnter: _propTypes.default.func,
54
55 /**
56 * Callback fired as the Overlay begins to transition in
57 */
58 onEntering: _propTypes.default.func,
59
60 /**
61 * Callback fired after the Overlay finishes transitioning in
62 */
63 onEntered: _propTypes.default.func,
64
65 /**
66 * Callback fired right before the Overlay transitions out
67 */
68 onExit: _propTypes.default.func,
69
70 /**
71 * Callback fired as the Overlay begins to transition out
72 */
73 onExiting: _propTypes.default.func,
74
75 /**
76 * Callback fired after the Overlay finishes transitioning out
77 */
78 onExited: _propTypes.default.func,
79
80 /**
81 * Sets the direction of the Overlay.
82 */
83 placement: _propTypes.default.oneOf(['top', 'right', 'bottom', 'left'])
84});
85var defaultProps = {
86 animation: _Fade.default,
87 rootClose: false,
88 show: false,
89 placement: 'right'
90};
91
92var Overlay =
93/*#__PURE__*/
94function (_React$Component) {
95 (0, _inheritsLoose2.default)(Overlay, _React$Component);
96
97 function Overlay() {
98 return _React$Component.apply(this, arguments) || this;
99 }
100
101 var _proto = Overlay.prototype;
102
103 _proto.render = function render() {
104 var _this$props = this.props,
105 animation = _this$props.animation,
106 children = _this$props.children,
107 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["animation", "children"]);
108 var transition = animation === true ? _Fade.default : animation || null;
109 var child;
110
111 if (!transition) {
112 child = (0, _react.cloneElement)(children, {
113 className: (0, _classnames.default)(children.props.className, 'in')
114 });
115 } else {
116 child = children;
117 }
118
119 return _react.default.createElement(_Overlay.default, (0, _extends2.default)({}, props, {
120 transition: transition
121 }), child);
122 };
123
124 return Overlay;
125}(_react.default.Component);
126
127Overlay.propTypes = propTypes;
128Overlay.defaultProps = defaultProps;
129var _default = Overlay;
130exports.default = _default;
131module.exports = exports["default"];
\No newline at end of file