UNPKG

react-misc-toolbox

Version:

- [ ] diagramexample | optimize creating from blank slate

67 lines (57 loc) 1.62 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 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;