You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

145 lines
4.8 KiB

  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. var _extends2 = require('babel-runtime/helpers/extends');
  6. var _extends3 = _interopRequireDefault(_extends2);
  7. var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
  8. var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
  9. var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
  10. var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
  11. var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
  12. var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
  13. var _createClass2 = require('babel-runtime/helpers/createClass');
  14. var _createClass3 = _interopRequireDefault(_createClass2);
  15. var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
  16. var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
  17. var _inherits2 = require('babel-runtime/helpers/inherits');
  18. var _inherits3 = _interopRequireDefault(_inherits2);
  19. var _simpleAssign = require('simple-assign');
  20. var _simpleAssign2 = _interopRequireDefault(_simpleAssign);
  21. var _react = require('react');
  22. var _react2 = _interopRequireDefault(_react);
  23. var _propTypes = require('prop-types');
  24. var _propTypes2 = _interopRequireDefault(_propTypes);
  25. var _TransitionGroup = require('react-transition-group/TransitionGroup');
  26. var _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);
  27. var _ExpandTransitionChild = require('./ExpandTransitionChild');
  28. var _ExpandTransitionChild2 = _interopRequireDefault(_ExpandTransitionChild);
  29. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  30. var ExpandTransition = function (_Component) {
  31. (0, _inherits3.default)(ExpandTransition, _Component);
  32. function ExpandTransition() {
  33. (0, _classCallCheck3.default)(this, ExpandTransition);
  34. return (0, _possibleConstructorReturn3.default)(this, (ExpandTransition.__proto__ || (0, _getPrototypeOf2.default)(ExpandTransition)).apply(this, arguments));
  35. }
  36. (0, _createClass3.default)(ExpandTransition, [{
  37. key: 'renderChildren',
  38. value: function renderChildren(children) {
  39. var _props = this.props,
  40. enterDelay = _props.enterDelay,
  41. transitionDelay = _props.transitionDelay,
  42. transitionDuration = _props.transitionDuration,
  43. expandTransitionChildStyle = _props.expandTransitionChildStyle;
  44. return _react2.default.Children.map(children, function (child) {
  45. return _react2.default.createElement(
  46. _ExpandTransitionChild2.default,
  47. {
  48. enterDelay: enterDelay,
  49. transitionDelay: transitionDelay,
  50. transitionDuration: transitionDuration,
  51. key: child.key,
  52. style: expandTransitionChildStyle
  53. },
  54. child
  55. );
  56. }, this);
  57. }
  58. }, {
  59. key: 'render',
  60. value: function render() {
  61. var _props2 = this.props,
  62. children = _props2.children,
  63. enterDelay = _props2.enterDelay,
  64. loading = _props2.loading,
  65. open = _props2.open,
  66. style = _props2.style,
  67. transitionDelay = _props2.transitionDelay,
  68. transitionDuration = _props2.transitionDuration,
  69. expandTransitionChildStyle = _props2.expandTransitionChildStyle,
  70. other = (0, _objectWithoutProperties3.default)(_props2, ['children', 'enterDelay', 'loading', 'open', 'style', 'transitionDelay', 'transitionDuration', 'expandTransitionChildStyle']);
  71. var prepareStyles = this.context.muiTheme.prepareStyles;
  72. var mergedRootStyles = (0, _simpleAssign2.default)({}, {
  73. position: 'relative',
  74. overflow: 'hidden',
  75. height: 'auto'
  76. }, style);
  77. var newChildren = loading ? [] : this.renderChildren(children);
  78. return _react2.default.createElement(
  79. _TransitionGroup2.default,
  80. (0, _extends3.default)({
  81. style: prepareStyles(mergedRootStyles),
  82. component: 'div'
  83. }, other),
  84. open && newChildren
  85. );
  86. }
  87. }]);
  88. return ExpandTransition;
  89. }(_react.Component);
  90. ExpandTransition.defaultProps = {
  91. enterDelay: 0,
  92. transitionDelay: 0,
  93. transitionDuration: 450,
  94. loading: false,
  95. open: false
  96. };
  97. ExpandTransition.contextTypes = {
  98. muiTheme: _propTypes2.default.object.isRequired
  99. };
  100. ExpandTransition.propTypes = process.env.NODE_ENV !== "production" ? {
  101. children: _propTypes2.default.node,
  102. enterDelay: _propTypes2.default.number,
  103. expandTransitionChildStyle: _propTypes2.default.object,
  104. loading: _propTypes2.default.bool,
  105. open: _propTypes2.default.bool,
  106. style: _propTypes2.default.object,
  107. transitionDelay: _propTypes2.default.number,
  108. transitionDuration: _propTypes2.default.number
  109. } : {};
  110. exports.default = ExpandTransition;