{"dependencies":[{"name":"babel-runtime/helpers/extends","loc":{"line":7,"column":24}},{"name":"babel-runtime/helpers/objectWithoutProperties","loc":{"line":11,"column":40}},{"name":"babel-runtime/core-js/object/get-prototype-of","loc":{"line":15,"column":30}},{"name":"babel-runtime/helpers/classCallCheck","loc":{"line":19,"column":31}},{"name":"babel-runtime/helpers/createClass","loc":{"line":23,"column":28}},{"name":"babel-runtime/helpers/possibleConstructorReturn","loc":{"line":27,"column":42}},{"name":"babel-runtime/helpers/inherits","loc":{"line":31,"column":25}},{"name":"simple-assign","loc":{"line":35,"column":28}},{"name":"react","loc":{"line":39,"column":21}},{"name":"prop-types","loc":{"line":43,"column":25}},{"name":"react-dom","loc":{"line":47,"column":24}},{"name":"../utils/autoPrefix","loc":{"line":51,"column":26}},{"name":"../styles/transitions","loc":{"line":55,"column":27}}],"generated":{"js":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');\n\nvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _simpleAssign = require('simple-assign');\n\nvar _simpleAssign2 = _interopRequireDefault(_simpleAssign);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _autoPrefix = require('../utils/autoPrefix');\n\nvar _autoPrefix2 = _interopRequireDefault(_autoPrefix);\n\nvar _transitions = require('../styles/transitions');\n\nvar _transitions2 = _interopRequireDefault(_transitions);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar ScaleInChild = function (_Component) {\n  (0, _inherits3.default)(ScaleInChild, _Component);\n\n  function ScaleInChild() {\n    (0, _classCallCheck3.default)(this, ScaleInChild);\n    return (0, _possibleConstructorReturn3.default)(this, (ScaleInChild.__proto__ || (0, _getPrototypeOf2.default)(ScaleInChild)).apply(this, arguments));\n  }\n\n  (0, _createClass3.default)(ScaleInChild, [{\n    key: 'componentWillUnmount',\n    value: function componentWillUnmount() {\n      clearTimeout(this.enterTimer);\n      clearTimeout(this.leaveTimer);\n    }\n  }, {\n    key: 'componentWillAppear',\n    value: function componentWillAppear(callback) {\n      this.initializeAnimation(callback);\n    }\n  }, {\n    key: 'componentWillEnter',\n    value: function componentWillEnter(callback) {\n      this.initializeAnimation(callback);\n    }\n  }, {\n    key: 'componentDidAppear',\n    value: function componentDidAppear() {\n      this.animate();\n    }\n  }, {\n    key: 'componentDidEnter',\n    value: function componentDidEnter() {\n      this.animate();\n    }\n  }, {\n    key: 'componentWillLeave',\n    value: function componentWillLeave(callback) {\n      var style = _reactDom2.default.findDOMNode(this).style;\n\n      style.opacity = '0';\n      _autoPrefix2.default.set(style, 'transform', 'scale(' + this.props.minScale + ')');\n\n      this.leaveTimer = setTimeout(callback, 450);\n    }\n  }, {\n    key: 'animate',\n    value: function animate() {\n      var style = _reactDom2.default.findDOMNode(this).style;\n\n      style.opacity = '1';\n      _autoPrefix2.default.set(style, 'transform', 'scale(' + this.props.maxScale + ')');\n    }\n  }, {\n    key: 'initializeAnimation',\n    value: function initializeAnimation(callback) {\n      var style = _reactDom2.default.findDOMNode(this).style;\n\n      style.opacity = '0';\n      _autoPrefix2.default.set(style, 'transform', 'scale(0)');\n\n      this.enterTimer = setTimeout(callback, this.props.enterDelay);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          children = _props.children,\n          enterDelay = _props.enterDelay,\n          maxScale = _props.maxScale,\n          minScale = _props.minScale,\n          style = _props.style,\n          other = (0, _objectWithoutProperties3.default)(_props, ['children', 'enterDelay', 'maxScale', 'minScale', 'style']);\n      var prepareStyles = this.context.muiTheme.prepareStyles;\n\n      var mergedRootStyles = (0, _simpleAssign2.default)({}, {\n        position: 'absolute',\n        height: '100%',\n        width: '100%',\n        top: 0,\n        left: 0,\n        transition: _transitions2.default.easeOut(null, ['transform', 'opacity'])\n      }, style);\n\n      return _react2.default.createElement('div', (0, _extends3.default)({}, other, { style: prepareStyles(mergedRootStyles) }), children);\n    }\n  }]);\n  return ScaleInChild;\n}(_react.Component);\n\nScaleInChild.defaultProps = {\n  enterDelay: 0,\n  maxScale: 1,\n  minScale: 0\n};\nScaleInChild.contextTypes = {\n  muiTheme: _propTypes2.default.object.isRequired\n};\nScaleInChild.propTypes = \"development\" !== \"production\" ? {\n  children: _propTypes2.default.node,\n  enterDelay: _propTypes2.default.number,\n  maxScale: _propTypes2.default.number,\n  minScale: _propTypes2.default.number,\n  style: _propTypes2.default.object\n} : {};\nexports.default = ScaleInChild;"},"hash":"a2fa2588fd2262eb33d4990e5abed641"}