UNPKG

3.74 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends2 = require('babel-runtime/helpers/extends');
8
9var _extends3 = _interopRequireDefault(_extends2);
10
11var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
12
13var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _propTypes = require('prop-types');
20
21var _propTypes2 = _interopRequireDefault(_propTypes);
22
23var _withPopover = require('./withPopover');
24
25var _withPopover2 = _interopRequireDefault(_withPopover);
26
27var _RTGTransition = require('./RTGTransition');
28
29var _RTGTransition2 = _interopRequireDefault(_RTGTransition);
30
31var _recompose = require('recompose');
32
33function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
34
35var basePopoverStyle = {
36 position: 'absolute'
37};
38var baseContainerStyle = {
39 position: 'relative'
40};
41
42var CCPopover = function CCPopover(_ref) {
43 var children = _ref.children,
44 isOn = _ref.isOn,
45 switchOff = _ref.switchOff,
46 switchOn = _ref.switchOn;
47
48 var renderPopover = function renderPopover(f) {
49 return _react2.default.createElement(
50 _RTGTransition2.default,
51 { in: isOn, transitionType: 'fade' },
52 function (_ref2) {
53 var transitionStyle = _ref2.style;
54
55 var getPopoverProps = function getPopoverProps() {
56 var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
57
58 var className = _ref3.className,
59 style = _ref3.style,
60 _onClick = _ref3.onClick,
61 props = (0, _objectWithoutProperties3.default)(_ref3, ['className', 'style', 'onClick']);
62 return (0, _extends3.default)({
63 style: (0, _extends3.default)({}, transitionStyle, basePopoverStyle, style),
64 className: className ? className + ' popover-content' : 'popover-content',
65 onClick: function onClick(e) {
66 for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
67 args[_key - 1] = arguments[_key];
68 }
69
70 e.stopPropagation();
71 _onClick && _onClick.apply(undefined, [e].concat(args));
72 }
73 }, props);
74 };
75 return f({ getPopoverProps: getPopoverProps });
76 }
77 );
78 };
79 var getContainerProps = function getContainerProps() {
80 var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
81
82 var className = _ref4.className,
83 style = _ref4.style,
84 _onClick2 = _ref4.onClick,
85 props = (0, _objectWithoutProperties3.default)(_ref4, ['className', 'style', 'onClick']);
86 return (0, _extends3.default)({
87 style: (0, _extends3.default)({}, baseContainerStyle, style),
88 className: className ? className + ' popover-container' : 'popover-container',
89 onClick: function onClick(e) {
90 for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
91 args[_key2 - 1] = arguments[_key2];
92 }
93
94 e.stopPropagation();
95 _onClick2 && _onClick2.apply(undefined, [e].concat(args));
96 },
97 onMouseEnter: function onMouseEnter() {
98 return switchOn();
99 },
100 onMouseLeave: function onMouseLeave() {
101 return switchOff();
102 }
103 }, props);
104 };
105 return children({
106 renderPopover: renderPopover,
107 getContainerProps: getContainerProps
108 });
109};
110
111CCPopover.propTypes = {};
112var enhance = (0, _recompose.compose)(_withPopover2.default, _recompose.pure);
113exports.default = enhance(CCPopover);
\No newline at end of file