react-misc-toolbox
Version:
[ ] imageviewer | gradual scroll [ ] imageviewer | cancellable scroll
104 lines (79 loc) • 3.78 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _recompose = require('recompose');
var _helperFunctions = require('./helperFunctions');
var _RTGTransition = require('./RTGTransition');
var _RTGTransition2 = _interopRequireDefault(_RTGTransition);
var _CTCGeneric = require('./CTCGeneric');
var _CTCGeneric2 = _interopRequireDefault(_CTCGeneric);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var basePopoverStyle = {
position: 'absolute'
};
var CCPopover = function CCPopover(_ref) {
var useOCL = _ref.useOCL,
_ref$transitionType = _ref.transitionType,
transitionType = _ref$transitionType === undefined ? 'fade' : _ref$transitionType,
children = _ref.children,
transitionProps = _ref.transitionProps,
debugMode = _ref.debugMode,
renderTrigger = _ref.renderTrigger,
_ref$className = _ref.className,
className = _ref$className === undefined ? '' : _ref$className,
_ref$style = _ref.style,
style = _ref$style === undefined ? {} : _ref$style,
_ref$onClick = _ref.onClick,
onClick = _ref$onClick === undefined ? function () {
return null;
} : _ref$onClick,
props = (0, _objectWithoutProperties3.default)(_ref, ['useOCL', 'transitionType', 'children', 'transitionProps', 'debugMode', 'renderTrigger', 'className', 'style', 'onClick']);
return _react2.default.createElement(
_CTCGeneric2.default,
(0, _extends3.default)({}, props, { useOCL: useOCL }),
function (_ref2) {
var getContainerProps = _ref2.getContainerProps,
getChildrenProps = _ref2.getChildrenProps,
isOn = _ref2.isOn,
genericProps = (0, _objectWithoutProperties3.default)(_ref2, ['getContainerProps', 'getChildrenProps', 'isOn']);
var renderPopover = function renderPopover(func) {
return _react2.default.createElement(
_RTGTransition2.default,
{ in: isOn, transitionProps: transitionProps, transitionType: transitionType },
function (_ref3) {
var transitionStyle = _ref3.style;
var getPopoverProps = function getPopoverProps() {
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var className = _ref4.className,
style = _ref4.style,
props = (0, _objectWithoutProperties3.default)(_ref4, ['className', 'style']);
return getChildrenProps((0, _extends3.default)({
style: (0, _extends3.default)({}, transitionStyle, basePopoverStyle, style),
className: className ? className + ' ccpopover__popover' : 'ccpopover__popover'
}, props));
};
return func({ getPopoverProps: getPopoverProps });
}
);
};
return children((0, _extends3.default)({ getContainerProps: getContainerProps, renderPopover: renderPopover }, genericProps));
}
);
};
CCPopover.propTypes = {
children: _propTypes2.default.oneOfType([_propTypes2.default.node, _propTypes2.default.func]).isRequired
};
CCPopover.defaultProps = {
isOn: false
};
var enhance = (0, _recompose.compose)((0, _recompose.onlyUpdateForKeys)(['children']));
exports.default = enhance(CCPopover);