react-misc-toolbox
Version:
- [ ] diagramexample | optimize creating from blank slate
67 lines (57 loc) • 1.62 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 transitionStyles = {
entering: {
opacity: '0.01',
cursor: 'pointer',
zIndex: '-1',
transform: 'scale(1, 0.9) translateY(-100%)'
},
entered: {
opacity: '1',
transform: 'scale(1) translateY(0%)'
},
//exiting: {
// opacity: '1',
// transform: 'scale(1) translateY(0%)',
//},
exiting: {
opacity: '0.01',
cursor: 'pointer',
zIndex: '-1',
transform: 'scale(1, 0.9) translateY(-100%)'
}
};
var baseStyles = {
transition: 'all 300ms ease-out'
};
var RTGDropdown = function RTGDropdown(_ref) {
var style = _ref.style,
inProp = _ref.in,
children = _ref.children;
return _react2.default.createElement(
_Transition2.default,
{ 'in': inProp, timeout: { enter: 0, exit: 300 }, unmountOnExit: true },
function (state) {
return children({ style: (0, _extends3.default)({}, baseStyles, style, transitionStyles[state]) });
}
);
};
RTGDropdown.defaultProps = {
handleClick: function handleClick() {
return console.log('RTGDropdown: handleClick');
},
transitionOptions: {
duration: 300
}
};
exports.default = RTGDropdown;
;