UNPKG

3.77 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 _propTypes = require('prop-types');
16
17var _propTypes2 = _interopRequireDefault(_propTypes);
18
19var _react = require('react');
20
21var _react2 = _interopRequireDefault(_react);
22
23var _recompose = require('recompose');
24
25var _helperFunctions = require('./helperFunctions');
26
27var _RTGTransition = require('./RTGTransition');
28
29var _RTGTransition2 = _interopRequireDefault(_RTGTransition);
30
31var _CTCGeneric = require('./CTCGeneric');
32
33var _CTCGeneric2 = _interopRequireDefault(_CTCGeneric);
34
35function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
37var basePopoverStyle = {
38 position: 'absolute'
39};
40var CCPopover = function CCPopover(_ref) {
41 var useOCL = _ref.useOCL,
42 _ref$transitionType = _ref.transitionType,
43 transitionType = _ref$transitionType === undefined ? 'fade' : _ref$transitionType,
44 children = _ref.children,
45 transitionProps = _ref.transitionProps,
46 alwaysOn = _ref.alwaysOn,
47 renderTrigger = _ref.renderTrigger,
48 _ref$className = _ref.className,
49 className = _ref$className === undefined ? '' : _ref$className,
50 _ref$style = _ref.style,
51 style = _ref$style === undefined ? {} : _ref$style,
52 _ref$onClick = _ref.onClick,
53 onClick = _ref$onClick === undefined ? function () {
54 return null;
55 } : _ref$onClick,
56 props = (0, _objectWithoutProperties3.default)(_ref, ['useOCL', 'transitionType', 'children', 'transitionProps', 'alwaysOn', 'renderTrigger', 'className', 'style', 'onClick']);
57
58 return _react2.default.createElement(
59 _CTCGeneric2.default,
60 (0, _extends3.default)({}, props, { useOCL: useOCL }),
61 function (_ref2) {
62 var getContainerProps = _ref2.getContainerProps,
63 getChildrenProps = _ref2.getChildrenProps,
64 isOn = _ref2.isOn,
65 genericProps = (0, _objectWithoutProperties3.default)(_ref2, ['getContainerProps', 'getChildrenProps', 'isOn']);
66
67 var renderPopover = function renderPopover(func) {
68 return _react2.default.createElement(
69 _RTGTransition2.default,
70 { in: isOn, transitionProps: transitionProps, transitionType: transitionType },
71 function (_ref3) {
72 var transitionStyle = _ref3.style;
73
74 var getPopoverProps = function getPopoverProps() {
75 var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
77 var className = _ref4.className,
78 style = _ref4.style,
79 props = (0, _objectWithoutProperties3.default)(_ref4, ['className', 'style']);
80 return getChildrenProps((0, _extends3.default)({
81 style: (0, _extends3.default)({}, transitionStyle, basePopoverStyle, style),
82 className: className ? className + ' ccpopover__popover' : 'ccpopover__popover'
83 }, props));
84 };
85 return func({ getPopoverProps: getPopoverProps });
86 }
87 );
88 };
89 return children((0, _extends3.default)({ getContainerProps: getContainerProps, renderPopover: renderPopover }, genericProps));
90 }
91 );
92};
93
94CCPopover.propTypes = {
95 children: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]).isRequired
96};
97
98CCPopover.defaultProps = {
99 isOn: false
100};
101
102var enhance = (0, _recompose.compose)((0, _recompose.onlyUpdateForKeys)(['children']));
103
104exports.default = enhance(CCPopover);
\No newline at end of file