UNPKG

2.38 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _react = _interopRequireDefault(require("react"));
13
14var _reactDom = require("react-dom");
15
16var _classnames = _interopRequireDefault(require("classnames"));
17
18var _Overlay = _interopRequireDefault(require("react-overlays/Overlay"));
19
20var _Fade = _interopRequireDefault(require("./Fade"));
21
22var defaultProps = {
23 transition: _Fade.default,
24 rootClose: false,
25 show: false,
26 placement: 'top'
27};
28
29function wrapRefs(props, arrowProps) {
30 var ref = props.ref;
31 var aRef = arrowProps.ref;
32
33 props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
34 return ref((0, _reactDom.findDOMNode)(r));
35 });
36
37 arrowProps.ref = aRef.__wrapped || (aRef.__wrapped = function (r) {
38 return aRef((0, _reactDom.findDOMNode)(r));
39 });
40}
41
42function Overlay(_ref) {
43 var overlay = _ref.children,
44 transition = _ref.transition,
45 outerProps = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "transition"]);
46 transition = transition === true ? _Fade.default : transition || null;
47 return _react.default.createElement(_Overlay.default, (0, _extends2.default)({}, outerProps, {
48 transition: transition
49 }), function (_ref2) {
50 var overlayProps = _ref2.props,
51 arrowProps = _ref2.arrowProps,
52 show = _ref2.show,
53 props = (0, _objectWithoutPropertiesLoose2.default)(_ref2, ["props", "arrowProps", "show"]);
54 wrapRefs(overlayProps, arrowProps);
55 if (typeof overlay === 'function') return overlay((0, _extends2.default)({}, props, {}, overlayProps, {
56 show: show,
57 arrowProps: arrowProps
58 }));
59 return _react.default.cloneElement(overlay, (0, _extends2.default)({}, props, {}, overlayProps, {
60 arrowProps: arrowProps,
61 className: (0, _classnames.default)(overlay.props.className, !transition && show && 'show'),
62 style: (0, _extends2.default)({}, overlay.props.style, {}, overlayProps.style)
63 }));
64 });
65}
66
67Overlay.defaultProps = defaultProps;
68var _default = Overlay;
69exports.default = _default;
70module.exports = exports["default"];
\No newline at end of file