UNPKG

2.13 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends2 = require('babel-runtime/helpers/extends');
8
9var _extends3 = _interopRequireDefault(_extends2);
10
11var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
12
13var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _CSSTransition = require('react-transition-group/CSSTransition');
20
21var _CSSTransition2 = _interopRequireDefault(_CSSTransition);
22
23var _helperFunctions = require('./helperFunctions');
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27var transitionStyles = {
28 entering: {
29 opacity: '0.01'
30 },
31 entered: {
32 opacity: '1'
33 },
34
35 exiting: {
36 opacity: '0.01'
37 }
38};
39
40var baseStyles = {
41 transition: 'all 300ms ease-out'
42};
43
44var RTGCSSTransitionFade = function RTGCSSTransitionFade(_ref) {
45 var inProp = _ref.in,
46 onClick = _ref.onClick,
47 className = _ref.className,
48 children = _ref.children,
49 colors = _ref.colors,
50 unmountOnExit = _ref.unmountOnExit,
51 mountOnEnter = _ref.mountOnEnter,
52 style = _ref.style,
53 duration = _ref.transitionOptions.duration,
54 otherProps = (0, _objectWithoutProperties3.default)(_ref, ['in', 'onClick', 'className', 'children', 'colors', 'unmountOnExit', 'mountOnEnter', 'style', 'transitionOptions']);
55 return _react2.default.createElement(
56 _CSSTransition2.default,
57 {
58 'in': inProp,
59 timeout: { enter: 0, exit: 300 },
60 classNames: 'rtgfade',
61 unmountOnExit: unmountOnExit,
62 mountOnEnter: mountOnEnter
63 },
64 function (state) {
65 return children({ style: (0, _extends3.default)({}, baseStyles, style, transitionStyles[state]) });
66 }
67 );
68};
69RTGCSSTransitionFade.defaultProps = {
70 onClick: function onClick() {
71 return console.log('RTGCSSTransitionFade: onClick');
72 },
73 transitionOptions: {
74 duration: 300
75 },
76 unmountOnExit: true,
77 mountOnEnter: false
78};
79
80exports.default = RTGCSSTransitionFade;
\No newline at end of file