{"version":3,"sources":["webpack:///./node_modules/react-motion/lib/react-motion.js","webpack:///./node_modules/react-motion/lib/stripStyle.js","webpack:///./node_modules/react-motion/lib/mapToZero.js","webpack:///./node_modules/react-motion/lib/stepper.js","webpack:///./node_modules/react-motion/node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/react-motion/lib/shouldStopAnimation.js","webpack:///./node_modules/react-motion/lib/presets.js","webpack:///./node_modules/react-motion/lib/Motion.js","webpack:///./node_modules/react-motion/lib/StaggeredMotion.js","webpack:///./node_modules/react-motion/lib/TransitionMotion.js","webpack:///./node_modules/react-motion/lib/mergeDiff.js","webpack:///./node_modules/react-motion/lib/spring.js","webpack:///./node_modules/react-motion/lib/reorderKeys.js"],"names":["_interopRequire","obj","__esModule","exports","_Motion","__webpack_require__","Motion","_StaggeredMotion","StaggeredMotion","_TransitionMotion","TransitionMotion","_spring","spring","_presets","presets","_stripStyle","stripStyle","_reorderKeys","reorderKeys","style","ret","key","Object","prototype","hasOwnProperty","call","val","module","secondPerFrame","x","v","destX","k","b","precision","newV","newX","Math","abs","reusedTuple","process","getNanoSeconds","hrtime","loadTime","performance","now","hr","Date","getTime","this","currentStyle","currentVelocity","styleValue","noWobble","stiffness","damping","gentle","wobbly","stiff","_extends","assign","target","i","arguments","length","source","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_interopRequireDefault","default","_mapToZero2","_stripStyle2","_stepper4","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","msPerFrame","_React$Component","_this","instance","TypeError","_classCallCheck","wasAnimating","animationID","prevTime","accumulatedTime","unreadPropStyle","clearUnreadPropStyle","destStyle","dirty","_state","state","lastIdealStyle","lastIdealVelocity","setState","startAnimationIfNecessary","timestamp","propsStyle","onRest","currentTime","timeDelta","currentFrameCompletion","floor","framesToCatchUp","newLastIdealStyle","newLastIdealVelocity","newCurrentStyle","newCurrentVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","_stepper2","nextIdealX","nextIdealV","defaultState","subClass","superClass","create","constructor","value","setPrototypeOf","__proto__","_inherits","defaultStyle","objectOf","number","oneOfType","object","isRequired","children","func","_props","componentDidMount","componentWillReceiveProps","componentWillUnmount","cancel","render","renderedChildren","Children","only","Component","unreadPropStyles","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","someDirty","destStyles","styles","shouldStopAnimationAll","newLastIdealStyles","newLastIdealVelocities","newCurrentStyles","newCurrentVelocities","j","defaultStyles","arrayOf","map","_mergeDiff2","rehydrateStyles","mergedPropsStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","data","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","unmounting","_mergeAndSync","propStyles","_mergeAndSync2","newMergedPropsStyle","shape","string","any","styleThatEntered","undefined","defaultStyleCell","s","_mergeAndSync3","hydratedStyles","prev","next","onRemove","prevKeyIndex","nextKeyIndex","fill","push","sort","a","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","config","defaultConfig","_presets2"],"mappings":"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","file":"1-65c7a7580724a6cf7f4a.js","sourcesContent":["'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _Motion = require('./Motion');\n\nexports.Motion = _interopRequire(_Motion);\n\nvar _StaggeredMotion = require('./StaggeredMotion');\n\nexports.StaggeredMotion = _interopRequire(_StaggeredMotion);\n\nvar _TransitionMotion = require('./TransitionMotion');\n\nexports.TransitionMotion = _interopRequire(_TransitionMotion);\n\nvar _spring = require('./spring');\n\nexports.spring = _interopRequire(_spring);\n\nvar _presets = require('./presets');\n\nexports.presets = _interopRequire(_presets);\n\nvar _stripStyle = require('./stripStyle');\n\nexports.stripStyle = _interopRequire(_stripStyle);\n\n// deprecated, dummy warning function\n\nvar _reorderKeys = require('./reorderKeys');\n\nexports.reorderKeys = _interopRequire(_reorderKeys);","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n","\n\n// usage assumption: currentStyle values have already been rendered but it says\n// nothing of whether currentStyle is stale (see unreadPropStyle)\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = shouldStopAnimation;\n\nfunction shouldStopAnimation(currentStyle, style, currentVelocity) {\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n if (currentVelocity[key] !== 0) {\n return false;\n }\n\n var styleValue = typeof style[key] === 'number' ? style[key] : style[key].val;\n // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = exports['default'];","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nvar Motion = (function (_React$Component) {\n _inherits(Motion, _React$Component);\n\n _createClass(Motion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyle: _propTypes2['default'].objectOf(_propTypes2['default'].number),\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired,\n children: _propTypes2['default'].func.isRequired,\n onRest: _propTypes2['default'].func\n },\n enumerable: true\n }]);\n\n function Motion(props) {\n var _this = this;\n\n _classCallCheck(this, Motion);\n\n _React$Component.call(this, props);\n this.wasAnimating = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyle = null;\n\n this.clearUnreadPropStyle = function (destStyle) {\n var dirty = false;\n var _state = _this.state;\n var currentStyle = _state.currentStyle;\n var currentVelocity = _state.currentVelocity;\n var lastIdealStyle = _state.lastIdealStyle;\n var lastIdealVelocity = _state.lastIdealVelocity;\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyle = _extends({}, currentStyle);\n currentVelocity = _extends({}, currentVelocity);\n lastIdealStyle = _extends({}, lastIdealStyle);\n lastIdealVelocity = _extends({}, lastIdealVelocity);\n }\n\n currentStyle[key] = styleValue;\n currentVelocity[key] = 0;\n lastIdealStyle[key] = styleValue;\n lastIdealVelocity[key] = 0;\n }\n }\n\n if (dirty) {\n _this.setState({ currentStyle: currentStyle, currentVelocity: currentVelocity, lastIdealStyle: lastIdealStyle, lastIdealVelocity: lastIdealVelocity });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // check if we need to animate in the first place\n var propsStyle = _this.props.style;\n if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {\n if (_this.wasAnimating && _this.props.onRest) {\n _this.props.onRest();\n }\n\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.wasAnimating = false;\n _this.accumulatedTime = 0;\n return;\n }\n\n _this.wasAnimating = true;\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n\n for (var key in propsStyle) {\n if (!Object.prototype.hasOwnProperty.call(propsStyle, key)) {\n continue;\n }\n\n var styleValue = propsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyle[key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocity[key];\n for (var i = 0; i < framesToCatchUp; i++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyle: newCurrentStyle,\n currentVelocity: newCurrentVelocity,\n lastIdealStyle: newLastIdealStyle,\n lastIdealVelocity: newLastIdealVelocity\n });\n\n _this.unreadPropStyle = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n Motion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyle = _props.defaultStyle;\n var style = _props.style;\n\n var currentStyle = defaultStyle || _stripStyle2['default'](style);\n var currentVelocity = _mapToZero2['default'](currentStyle);\n return {\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: currentStyle,\n lastIdealVelocity: currentVelocity\n };\n };\n\n // it's possible that currentStyle's value is stale: if props is immediately\n // changed from 0 to 400 to spring(0) again, the async currentStyle is still\n // at 0 (didn't have time to tick and interpolate even once). If we naively\n // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n // In reality currentStyle should be 400\n\n Motion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n Motion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyle != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyle);\n }\n\n this.unreadPropStyle = props.style;\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n Motion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n Motion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyle);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return Motion;\n})(_react2['default'].Component);\n\nexports['default'] = Motion;\nmodule.exports = exports['default'];\n\n// after checking for unreadPropStyle != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nfunction shouldStopAnimationAll(currentStyles, styles, currentVelocities) {\n for (var i = 0; i < currentStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], styles[i], currentVelocities[i])) {\n return false;\n }\n }\n return true;\n}\n\nvar StaggeredMotion = (function (_React$Component) {\n _inherits(StaggeredMotion, _React$Component);\n\n _createClass(StaggeredMotion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].objectOf(_propTypes2['default'].number)),\n styles: _propTypes2['default'].func.isRequired,\n children: _propTypes2['default'].func.isRequired\n },\n enumerable: true\n }]);\n\n function StaggeredMotion(props) {\n var _this = this;\n\n _classCallCheck(this, StaggeredMotion);\n\n _React$Component.call(this, props);\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _state = _this.state;\n var currentStyles = _state.currentStyles;\n var currentVelocities = _state.currentVelocities;\n var lastIdealStyles = _state.lastIdealStyles;\n var lastIdealVelocities = _state.lastIdealVelocities;\n\n var someDirty = false;\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i];\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n someDirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n }\n }\n }\n\n if (someDirty) {\n _this.setState({ currentStyles: currentStyles, currentVelocities: currentVelocities, lastIdealStyles: lastIdealStyles, lastIdealVelocities: lastIdealVelocities });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n var destStyles = _this.props.styles(_this.state.lastIdealStyles);\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n\n for (var i = 0; i < destStyles.length; i++) {\n var destStyle = destStyles[i];\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyles[i][key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n StaggeredMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n\n var currentStyles = defaultStyles || styles().map(_stripStyle2['default']);\n var currentVelocities = currentStyles.map(function (currentStyle) {\n return _mapToZero2['default'](currentStyle);\n });\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: currentStyles,\n lastIdealVelocities: currentVelocities\n };\n };\n\n StaggeredMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n StaggeredMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n this.unreadPropStyles = props.styles(this.state.lastIdealStyles);\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n StaggeredMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n StaggeredMotion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return StaggeredMotion;\n})(_react2['default'].Component);\n\nexports['default'] = StaggeredMotion;\nmodule.exports = exports['default'];\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400\n\n// after checking for unreadPropStyles != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _mergeDiff = require('./mergeDiff');\n\nvar _mergeDiff2 = _interopRequireDefault(_mergeDiff);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\n// the children function & (potential) styles function asks as param an\n// Array, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = reorderKeys;\n\nvar hasWarned = false;\n\nfunction reorderKeys() {\n if (process.env.NODE_ENV === 'development') {\n if (!hasWarned) {\n hasWarned = true;\n console.error('`reorderKeys` has been removed, since it is no longer needed for TransitionMotion\\'s new styles array API.');\n }\n }\n}\n\nmodule.exports = exports['default'];"],"sourceRoot":""}