UNPKG

react-misc-toolbox

Version:

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

145 lines (122 loc) 5.79 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 _helperFunctions = require('./helperFunctions'); var _recompose = require('recompose'); var _CTCGeneric = require('./CTCGeneric'); var _CTCGeneric2 = _interopRequireDefault(_CTCGeneric); var _Button = require('./Button'); var _Button2 = _interopRequireDefault(_Button); var _RTGTransition = require('./RTGTransition'); var _RTGTransition2 = _interopRequireDefault(_RTGTransition); var _defaultStyles = require('./defaultStyles'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var CTCMercury = function CTCMercury(_ref) { var _ref$maxHeight = _ref.maxHeight, maxHeight = _ref$maxHeight === undefined ? '100vh' : _ref$maxHeight, _ref$styleTemplate = _ref.styleTemplate, styleTemplate = _ref$styleTemplate === undefined ? _defaultStyles.CTCMercuryStyleTemplates.default : _ref$styleTemplate, _ref$buttonProps = _ref.buttonProps, buttonProps = _ref$buttonProps === undefined ? {} : _ref$buttonProps, _ref$transitionProps = _ref.transitionProps, transitionProps = _ref$transitionProps === undefined ? {} : _ref$transitionProps, _ref$triggerProps = _ref.triggerProps, triggerProps = _ref$triggerProps === undefined ? {} : _ref$triggerProps, _ref$containerProps = _ref.containerProps, containerProps = _ref$containerProps === undefined ? {} : _ref$containerProps, renderTrigger = _ref.renderTrigger, renderIcon = _ref.renderIcon, shouldRenderIcon = _ref.shouldRenderIcon, children = _ref.children, props = (0, _objectWithoutProperties3.default)(_ref, ['maxHeight', 'styleTemplate', 'buttonProps', 'transitionProps', 'triggerProps', 'containerProps', 'renderTrigger', 'renderIcon', 'shouldRenderIcon', 'children']); var getBarStyle = styleTemplate.getBarStyle, getSideBarsStyle = styleTemplate.getSideBarsStyle, getLeftBarStyle = styleTemplate.getLeftBarStyle, getRightBarStyle = styleTemplate.getRightBarStyle, getCenterBarStyle = styleTemplate.getCenterBarStyle, buttonColors = styleTemplate.buttonColors; return _react2.default.createElement( _CTCGeneric2.default, (0, _extends3.default)({}, props), function (_ref2) { var getChildrenProps = _ref2.getChildrenProps, elClickListenerRef = _ref2.elClickListenerRef, getContainerProps = _ref2.getContainerProps, getTriggerProps = _ref2.getTriggerProps, isOn = _ref2.isOn; var sharedStyle = (0, _extends3.default)({}, getBarStyle(isOn), getSideBarsStyle(isOn)); return _react2.default.createElement( 'div', (0, _extends3.default)({ ref: elClickListenerRef }, getContainerProps((0, _extends3.default)({ className: (0, _helperFunctions.flippyClass)(isOn, 'ctcmercury__container', 'show', 'hide') }, containerProps))), _react2.default.createElement( _Button2.default, { isOn: isOn, type: 'mercurydrop', colors: buttonColors, renderIcon: renderIcon, shouldRenderIcon: shouldRenderIcon }, function (_ref3) { var getButtonProps = _ref3.getButtonProps, buttonRenderIcon = _ref3.renderIcon; return _react2.default.createElement( 'div', (0, _extends3.default)({}, getButtonProps((0, _extends3.default)({ style: { justifyContent: 'center', alignItems: 'center' } }, getTriggerProps((0, _extends3.default)({}, triggerProps))))), _react2.default.createElement('div', { style: (0, _extends3.default)({}, sharedStyle, getLeftBarStyle(isOn)), className: (0, _helperFunctions.flippyClass)(isOn, 'mercurydrop__left', 'collapsed', 'expanded') }), buttonRenderIcon(), _react2.default.createElement( 'div', { style: (0, _extends3.default)({ display: 'flex', alignItems: 'center', justifyContent: 'center' }, getBarStyle(isOn), getCenterBarStyle(isOn)), className: (0, _helperFunctions.flippyClass)(isOn, 'mercurydrop__center', 'collapsed', 'expanded') }, renderTrigger && renderTrigger() ), buttonRenderIcon(), _react2.default.createElement('div', { style: (0, _extends3.default)({}, sharedStyle, getRightBarStyle(isOn)), className: (0, _helperFunctions.flippyClass)(isOn, 'mercurydrop__right', 'collapsed', 'expanded') }) ); } ), _react2.default.createElement( _RTGTransition2.default, (0, _extends3.default)({ in: isOn, duration: 500, transitionType: 'height', maxHeight: maxHeight }, transitionProps), function (_ref4) { var transitionStyle = _ref4.style; return children({ getChildrenProps: getChildrenProps, transitionStyle: transitionStyle, isOn: isOn }); } ) ); } ); }; var enhance = (0, _recompose.compose)(); exports.default = enhance(CTCMercury);