react-misc-toolbox
Version:
[ ] imageviewer | gradual scroll [ ] imageviewer | cancellable scroll
58 lines (46 loc) • 1.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Transition = require('react-transition-group/Transition');
var _Transition2 = _interopRequireDefault(_Transition);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getDefaultStyle = function getDefaultStyle(duration) {
return {
transition: 'all ' + duration + 'ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',
opacity: 0
};
};
var RTGExpandVertically = function RTGExpandVertically(_ref) {
var inProp = _ref.in,
_ref$duration = _ref.duration,
duration = _ref$duration === undefined ? 250 : _ref$duration,
children = _ref.children,
maxHeight = _ref.maxHeight;
var transitionStyles = {
entering: {
opacity: '0.01',
maxHeight: 0.01
},
entered: {
opacity: '1',
maxHeight: maxHeight
},
exiting: {
opacity: '0.01',
maxHeight: 0.01
}
};
return _react2.default.createElement(
_Transition2.default,
{ unmountOnExit: true, 'in': inProp, timeout: { enter: 0, exit: duration } },
function (state) {
return children({ style: (0, _extends3.default)({}, getDefaultStyle(duration), transitionStyles[state]) });
}
);
};
exports.default = RTGExpandVertically;
;