react-misc-toolbox
Version:
[ ] imageviewer | gradual scroll [ ] imageviewer | cancellable scroll
113 lines (89 loc) • 3.74 kB
JavaScript
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);
;