1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _extends2 = require('babel-runtime/helpers/extends');
|
8 |
|
9 | var _extends3 = _interopRequireDefault(_extends2);
|
10 |
|
11 | var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
|
12 |
|
13 | var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
|
14 |
|
15 | var _propTypes = require('prop-types');
|
16 |
|
17 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
18 |
|
19 | var _react = require('react');
|
20 |
|
21 | var _react2 = _interopRequireDefault(_react);
|
22 |
|
23 | var _recompose = require('recompose');
|
24 |
|
25 | var _helperFunctions = require('./helperFunctions');
|
26 |
|
27 | var _RTGTransition = require('./RTGTransition');
|
28 |
|
29 | var _RTGTransition2 = _interopRequireDefault(_RTGTransition);
|
30 |
|
31 | var _CTCGeneric = require('./CTCGeneric');
|
32 |
|
33 | var _CTCGeneric2 = _interopRequireDefault(_CTCGeneric);
|
34 |
|
35 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
36 |
|
37 | var basePopoverStyle = {
|
38 | position: 'absolute'
|
39 | };
|
40 | var 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 |
|
94 | CCPopover.propTypes = {
|
95 | children: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]).isRequired
|
96 | };
|
97 |
|
98 | CCPopover.defaultProps = {
|
99 | isOn: false
|
100 | };
|
101 |
|
102 | var enhance = (0, _recompose.compose)((0, _recompose.onlyUpdateForKeys)(['children']));
|
103 |
|
104 | exports.default = enhance(CCPopover); |
\ | No newline at end of file |