UNPKG

4.87 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 _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
16
17var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
18
19var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
20
21var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
22
23var _createClass2 = require('babel-runtime/helpers/createClass');
24
25var _createClass3 = _interopRequireDefault(_createClass2);
26
27var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
28
29var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
30
31var _inherits2 = require('babel-runtime/helpers/inherits');
32
33var _inherits3 = _interopRequireDefault(_inherits2);
34
35var _simpleAssign = require('simple-assign');
36
37var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
38
39var _react = require('react');
40
41var _react2 = _interopRequireDefault(_react);
42
43var _propTypes = require('prop-types');
44
45var _propTypes2 = _interopRequireDefault(_propTypes);
46
47var _TransitionGroup = require('react-transition-group/TransitionGroup');
48
49var _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);
50
51var _ExpandTransitionChild = require('./ExpandTransitionChild');
52
53var _ExpandTransitionChild2 = _interopRequireDefault(_ExpandTransitionChild);
54
55function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
56
57var ExpandTransition = function (_Component) {
58 (0, _inherits3.default)(ExpandTransition, _Component);
59
60 function ExpandTransition() {
61 (0, _classCallCheck3.default)(this, ExpandTransition);
62 return (0, _possibleConstructorReturn3.default)(this, (ExpandTransition.__proto__ || (0, _getPrototypeOf2.default)(ExpandTransition)).apply(this, arguments));
63 }
64
65 (0, _createClass3.default)(ExpandTransition, [{
66 key: 'renderChildren',
67 value: function renderChildren(children) {
68 var _props = this.props,
69 enterDelay = _props.enterDelay,
70 transitionDelay = _props.transitionDelay,
71 transitionDuration = _props.transitionDuration,
72 expandTransitionChildStyle = _props.expandTransitionChildStyle;
73
74 return _react2.default.Children.map(children, function (child) {
75 return _react2.default.createElement(
76 _ExpandTransitionChild2.default,
77 {
78 enterDelay: enterDelay,
79 transitionDelay: transitionDelay,
80 transitionDuration: transitionDuration,
81 key: child.key,
82 style: expandTransitionChildStyle
83 },
84 child
85 );
86 }, this);
87 }
88 }, {
89 key: 'render',
90 value: function render() {
91 var _props2 = this.props,
92 children = _props2.children,
93 enterDelay = _props2.enterDelay,
94 loading = _props2.loading,
95 open = _props2.open,
96 style = _props2.style,
97 transitionDelay = _props2.transitionDelay,
98 transitionDuration = _props2.transitionDuration,
99 expandTransitionChildStyle = _props2.expandTransitionChildStyle,
100 other = (0, _objectWithoutProperties3.default)(_props2, ['children', 'enterDelay', 'loading', 'open', 'style', 'transitionDelay', 'transitionDuration', 'expandTransitionChildStyle']);
101 var prepareStyles = this.context.muiTheme.prepareStyles;
102
103
104 var mergedRootStyles = (0, _simpleAssign2.default)({}, {
105 position: 'relative',
106 overflow: 'hidden',
107 height: 'auto'
108 }, style);
109
110 var newChildren = loading ? [] : this.renderChildren(children);
111
112 return _react2.default.createElement(
113 _TransitionGroup2.default,
114 (0, _extends3.default)({
115 style: prepareStyles(mergedRootStyles),
116 component: 'div'
117 }, other),
118 open && newChildren
119 );
120 }
121 }]);
122 return ExpandTransition;
123}(_react.Component);
124
125ExpandTransition.defaultProps = {
126 enterDelay: 0,
127 transitionDelay: 0,
128 transitionDuration: 450,
129 loading: false,
130 open: false
131};
132ExpandTransition.contextTypes = {
133 muiTheme: _propTypes2.default.object.isRequired
134};
135ExpandTransition.propTypes = process.env.NODE_ENV !== "production" ? {
136 children: _propTypes2.default.node,
137 enterDelay: _propTypes2.default.number,
138 expandTransitionChildStyle: _propTypes2.default.object,
139 loading: _propTypes2.default.bool,
140 open: _propTypes2.default.bool,
141 style: _propTypes2.default.object,
142 transitionDelay: _propTypes2.default.number,
143 transitionDuration: _propTypes2.default.number
144} : {};
145exports.default = ExpandTransition;
\No newline at end of file