UNPKG

react-misc-toolbox

Version:

[ ] imageviewer | gradual scroll [ ] imageviewer | cancellable scroll

113 lines (89 loc) 3.74 kB
'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 _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _withPopover = require('./withPopover'); var _withPopover2 = _interopRequireDefault(_withPopover); var _RTGTransition = require('./RTGTransition'); var _RTGTransition2 = _interopRequireDefault(_RTGTransition); var _recompose = require('recompose'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var basePopoverStyle = { position: 'absolute' }; var baseContainerStyle = { position: 'relative' }; var CCPopover = function CCPopover(_ref) { var children = _ref.children, isOn = _ref.isOn, switchOff = _ref.switchOff, switchOn = _ref.switchOn; var renderPopover = function renderPopover(f) { return _react2.default.createElement( _RTGTransition2.default, { in: isOn, transitionType: 'fade' }, function (_ref2) { var transitionStyle = _ref2.style; var getPopoverProps = function getPopoverProps() { var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var className = _ref3.className, style = _ref3.style, _onClick = _ref3.onClick, props = (0, _objectWithoutProperties3.default)(_ref3, ['className', 'style', 'onClick']); return (0, _extends3.default)({ style: (0, _extends3.default)({}, transitionStyle, basePopoverStyle, style), className: className ? className + ' popover-content' : 'popover-content', onClick: function onClick(e) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } e.stopPropagation(); _onClick && _onClick.apply(undefined, [e].concat(args)); } }, props); }; return f({ getPopoverProps: getPopoverProps }); } ); }; var getContainerProps = function getContainerProps() { var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var className = _ref4.className, style = _ref4.style, _onClick2 = _ref4.onClick, props = (0, _objectWithoutProperties3.default)(_ref4, ['className', 'style', 'onClick']); return (0, _extends3.default)({ style: (0, _extends3.default)({}, baseContainerStyle, style), className: className ? className + ' popover-container' : 'popover-container', onClick: function onClick(e) { for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } e.stopPropagation(); _onClick2 && _onClick2.apply(undefined, [e].concat(args)); }, onMouseEnter: function onMouseEnter() { return switchOn(); }, onMouseLeave: function onMouseLeave() { return switchOff(); } }, props); }; return children({ renderPopover: renderPopover, getContainerProps: getContainerProps }); }; CCPopover.propTypes = {}; var enhance = (0, _recompose.compose)(_withPopover2.default, _recompose.pure); exports.default = enhance(CCPopover);