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 _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral');
|
16 |
|
17 | var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);
|
18 |
|
19 | var _templateObject = (0, _taggedTemplateLiteral3.default)([''], ['']);
|
20 |
|
21 | var _propTypes = require('prop-types');
|
22 |
|
23 | var _propTypes2 = _interopRequireDefault(_propTypes);
|
24 |
|
25 | var _react = require('react');
|
26 |
|
27 | var _react2 = _interopRequireDefault(_react);
|
28 |
|
29 | var _recompose = require('recompose');
|
30 |
|
31 | var _helperFunctions = require('./helperFunctions');
|
32 |
|
33 | var _RTGTransition = require('./RTGTransition');
|
34 |
|
35 | var _RTGTransition2 = _interopRequireDefault(_RTGTransition);
|
36 |
|
37 | var _styledComponents = require('styled-components');
|
38 |
|
39 | var _styledComponents2 = _interopRequireDefault(_styledComponents);
|
40 |
|
41 | var _CTCGeneric = require('./CTCGeneric');
|
42 |
|
43 | var _CTCGeneric2 = _interopRequireDefault(_CTCGeneric);
|
44 |
|
45 | var _ = require('.');
|
46 |
|
47 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
48 |
|
49 | var Container = _styledComponents2.default.div(_templateObject);
|
50 |
|
51 | var CTCPopover = function CTCPopover(_ref) {
|
52 | var transitionType = _ref.transitionType,
|
53 | useOCL = _ref.useOCL,
|
54 | children = _ref.children,
|
55 | transitionProps = _ref.transitionProps,
|
56 | alwaysOn = _ref.alwaysOn,
|
57 | renderTrigger = _ref.renderTrigger,
|
58 | className = _ref.className,
|
59 | style = _ref.style,
|
60 | onClick = _ref.onClick,
|
61 | props = (0, _objectWithoutProperties3.default)(_ref, ['transitionType', 'useOCL', 'children', 'transitionProps', 'alwaysOn', 'renderTrigger', 'className', 'style', 'onClick']);
|
62 |
|
63 | return _react2.default.createElement(
|
64 | _CTCGeneric2.default,
|
65 | (0, _extends3.default)({}, props, { useOCL: useOCL }),
|
66 | function (_ref2) {
|
67 | var _getChildrenProps = _ref2.getChildrenProps,
|
68 | elClickListenerRef = _ref2.elClickListenerRef,
|
69 | getContainerProps = _ref2.getContainerProps,
|
70 | _getTriggerProps = _ref2.getTriggerProps,
|
71 | isOn = _ref2.isOn,
|
72 | setIsOnTo = _ref2.setIsOnTo,
|
73 | toggleIsOn = _ref2.toggleIsOn;
|
74 |
|
75 | var defaultContainerClassName = 'ctcpopover__container';
|
76 | return _react2.default.createElement(
|
77 | Container,
|
78 | (0, _extends3.default)({
|
79 | ref: elClickListenerRef
|
80 | }, getContainerProps({
|
81 | className: [defaultContainerClassName, className],
|
82 |
|
83 | style: style
|
84 | })),
|
85 | typeof renderTrigger === 'function' ? renderTrigger({
|
86 | isOn: isOn,
|
87 | setIsOnTo: setIsOnTo,
|
88 | toggleIsOn: toggleIsOn,
|
89 | getTriggerProps: function getTriggerProps() {
|
90 | var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
91 |
|
92 | var className = _ref3.className,
|
93 | props = (0, _objectWithoutProperties3.default)(_ref3, ['className']);
|
94 | return _getTriggerProps((0, _extends3.default)({
|
95 | className: ['ctcpopover__trigger', className]
|
96 | }, props));
|
97 | }
|
98 | }) : _react2.default.createElement(
|
99 | _.Button,
|
100 | (0, _extends3.default)({}, _getTriggerProps({
|
101 | className: (0, _helperFunctions.flippyClass)(isOn, 'ctcpopover__trigger', 'on', 'off'),
|
102 | onClick: onClick
|
103 | }), {
|
104 |
|
105 | isOn: isOn
|
106 | }),
|
107 | renderTrigger
|
108 | ),
|
109 | _react2.default.createElement(
|
110 | _RTGTransition2.default,
|
111 | {
|
112 | transitionType: transitionType,
|
113 | in: alwaysOn ? true : isOn,
|
114 | transitionProps: transitionProps
|
115 | },
|
116 | function (_ref4) {
|
117 | var transitionStyle = _ref4.style;
|
118 |
|
119 | var defaultChildrenClassName = 'ctcpopover__children';
|
120 | return typeof children === 'function' ? children({
|
121 | getChildrenProps: function getChildrenProps() {
|
122 | var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
123 |
|
124 | var className = _ref5.className,
|
125 | style = _ref5.style,
|
126 | props = (0, _objectWithoutProperties3.default)(_ref5, ['className', 'style']);
|
127 | return _getChildrenProps((0, _extends3.default)({
|
128 | className: [defaultChildrenClassName, className],
|
129 | style: (0, _extends3.default)({}, transitionStyle, style)
|
130 | }, props));
|
131 | },
|
132 | isOn: isOn,
|
133 | setIsOnTo: setIsOnTo,
|
134 | toggleIsOn: toggleIsOn
|
135 | }) : _react2.default.createElement(
|
136 | 'div',
|
137 | (0, _extends3.default)({}, _getChildrenProps({
|
138 | className: defaultChildrenClassName,
|
139 | style: transitionStyle
|
140 | })),
|
141 | children
|
142 | );
|
143 | }
|
144 | )
|
145 | );
|
146 | }
|
147 | );
|
148 | };
|
149 |
|
150 | CTCPopover.propTypes = {
|
151 | children: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]).isRequired,
|
152 | renderTrigger: _propTypes2.default.func.isRequired
|
153 | };
|
154 |
|
155 | var enhance = (0, _recompose.compose)((0, _recompose.defaultProps)({
|
156 | isOn: false,
|
157 | transitionType: 'fade',
|
158 | useOCL: true,
|
159 | style: {},
|
160 | onClick: function onClick() {
|
161 | return null;
|
162 | }
|
163 | }), (0, _recompose.onlyUpdateForKeys)(['children']));
|
164 |
|
165 | exports.default = enhance(CTCPopover); |
\ | No newline at end of file |