UNPKG

react-misc-toolbox

Version:

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

58 lines (46 loc) 1.49 kB
'use strict'; 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;