{"version":3,"sources":["webpack:///../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","webpack:///../node_modules/@babel/runtime/regenerator/index.js","webpack:///../node_modules/performance-now/lib/performance-now.js","webpack:///../node_modules/raf/index.js","webpack:///../node_modules/react-motion/lib/TransitionMotion.js","webpack:///../node_modules/react-motion/lib/mapToZero.js","webpack:///../node_modules/react-motion/lib/mergeDiff.js","webpack:///../node_modules/react-motion/lib/presets.js","webpack:///../node_modules/react-motion/lib/shouldStopAnimation.js","webpack:///../node_modules/react-motion/lib/spring.js","webpack:///../node_modules/react-motion/lib/stepper.js","webpack:///../node_modules/react-motion/lib/stripStyle.js","webpack:///../node_modules/react-motion/node_modules/performance-now/lib/performance-now.js","webpack:///../node_modules/react-router-dom/es/matchPath.js","webpack:///../node_modules/react-router-transition/es/ensureSpring.js","webpack:///../node_modules/react-router-transition/es/RouteTransition.js","webpack:///../node_modules/react-router-transition/es/AnimatedRoute.js","webpack:///../node_modules/react-router-transition/es/AnimatedSwitch.js","webpack:///../node_modules/react-router-transition/es/index.js"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","runtime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","method","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","makeInvokeMethod","obj","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","result","__await","unwrapped","TypeError","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","process","hr","uptime","Date","getTime","root","window","global","vendors","suffix","raf","caf","last","id","queue","callback","_now","Math","max","setTimeout","cp","cancelled","e","round","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","__esModule","_extends","assign","target","source","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_interopRequireDefault","_mapToZero2","_stripStyle2","_stepper4","_mergeDiff2","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","rehydrateStyles","mergedPropsStyles","unreadPropStyles","plainStyles","cUnreadPropStyles","map","mergedPropsStyle","data","style","j","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","destStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newCurrentStyles","newCurrentVelocities","newLastIdealStyles","newLastIdealVelocities","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","TransitionMotion","_React$Component","_this","instance","_classCallCheck","unmounting","animationID","prevTime","accumulatedTime","clearUnreadPropStyle","_mergeAndSync","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","unreadPropStyle","dirty","styleValue","setState","startAnimationIfNecessary","timestamp","propStyles","styles","shouldStopAnimationAll","currentTime","timeDelta","currentFrameCompletion","floor","framesToCatchUp","_mergeAndSync2","newMergedPropsStyle","newCurrentStyle","newCurrentVelocity","newLastIdealStyle","newLastIdealVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","val","stiffness","damping","precision","_stepper2","nextIdealX","nextIdealV","defaultState","subClass","superClass","_inherits","defaultStyles","arrayOf","shape","string","isRequired","any","objectOf","number","oneOfType","func","children","styleThatEntered","_props","defaultStyleCell","s","_mergeAndSync3","componentDidMount","componentWillReceiveProps","componentWillUnmount","render","hydratedStyles","renderedChildren","Children","only","Component","ret","onRemove","prevKeyIndex","nextKeyIndex","fill","sort","a","b","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","noWobble","gentle","wobbly","stiff","currentStyle","currentVelocity","config","defaultConfig","_presets","_presets2","secondPerFrame","x","v","destX","k","newV","newX","abs","reusedTuple","ensureSpring","reduce","acc","_possibleConstructorReturn","ReferenceError","_Component","RouteTransition","_ref","_temp","_len","Array","_key","concat","atEnter","atLeave","styleThatLeft","renderRoute","mapStyles","wrapperComponent","renderRoutes","interpolatedStyles","createElement","className","runOnMount","atActive","getDefaultStyles","getStyles","defaultProps","propTypes","bool","element","NO_MATCH","getLocationKey","location","getMatchedRoute","pathname","toArray","find","child","exact","path","AnimatedSwitch","match","matches","nextProps","nextMatch","routeTransitionProps","indexOf","Switch","Route","_ref2"],"mappings":"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","file":"vendors~ppme-shared.bundle.js","sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\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() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\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//# sourceMappingURL=performance-now.js.map\n","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","'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// 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// 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;\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\"];","\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;\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'];","\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.","\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'];","// 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","// Written in this round about way for babel-transform-imports\nimport matchPath from \"react-router/es/matchPath\";\n\nexport default matchPath;","import spring from './spring';\n\nexport default function ensureSpring(styles) {\n return Object.keys(styles).reduce(function (acc, key) {\n var value = styles[key];\n acc[key] = typeof value === 'number' ? spring(value) : value;\n return acc;\n }, {});\n}","var _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 _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\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\nimport React, { cloneElement, createElement, Component } from 'react';\nimport TransitionMotion from 'react-motion/lib/TransitionMotion';\nimport PropTypes from 'prop-types';\n\nimport ensureSpring from './ensureSpring';\n\nvar identity = function identity(val) {\n return val;\n};\n\nvar RouteTransition = function (_Component) {\n _inherits(RouteTransition, _Component);\n\n function RouteTransition() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, RouteTransition);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = RouteTransition.__proto__ || Object.getPrototypeOf(RouteTransition)).call.apply(_ref, [this].concat(args))), _this), _this.willEnter = function () {\n return _this.props.atEnter;\n }, _this.willLeave = function () {\n return ensureSpring(_this.props.atLeave);\n }, _this.didLeave = function (styleThatLeft) {\n if (_this.props.didLeave) {\n _this.props.didLeave(styleThatLeft);\n }\n }, _this.renderRoute = function (config) {\n var props = {\n style: _this.props.mapStyles(config.style),\n key: config.key\n };\n\n return _this.props.wrapperComponent !== false ? createElement(_this.props.wrapperComponent, props, config.data) : cloneElement(config.data, props);\n }, _this.renderRoutes = function (interpolatedStyles) {\n return React.createElement(\n 'div',\n { className: _this.props.className },\n interpolatedStyles.map(_this.renderRoute)\n );\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(RouteTransition, [{\n key: 'getDefaultStyles',\n value: function getDefaultStyles() {\n if (!this.props.runOnMount) {\n return null;\n }\n\n if (!this.props.children) {\n return [];\n }\n\n return [{\n key: this.props.children.key,\n data: this.props.children,\n style: this.props.atEnter\n }];\n }\n\n // there's only ever one route mounted at a time,\n // so just return the current match\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n if (!this.props.children) {\n return [];\n }\n\n return [{\n key: this.props.children.key,\n data: this.props.children,\n style: ensureSpring(this.props.atActive)\n }];\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(\n TransitionMotion,\n {\n defaultStyles: this.getDefaultStyles(),\n styles: this.getStyles(),\n willEnter: this.willEnter,\n willLeave: this.willLeave,\n didLeave: this.didLeave\n },\n this.renderRoutes\n );\n }\n }]);\n\n return RouteTransition;\n}(Component);\n\nRouteTransition.defaultProps = {\n wrapperComponent: 'div',\n runOnMount: false,\n mapStyles: identity\n};\nRouteTransition.propTypes = {\n className: PropTypes.string,\n wrapperComponent: PropTypes.oneOfType([PropTypes.bool, PropTypes.element, PropTypes.string]),\n atEnter: PropTypes.object.isRequired,\n atActive: PropTypes.object.isRequired,\n atLeave: PropTypes.object.isRequired,\n didLeave: PropTypes.func,\n mapStyles: PropTypes.func.isRequired,\n runOnMount: PropTypes.bool.isRequired\n};\n\n\nexport default RouteTransition;","function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nimport React from 'react';\nimport { Route, matchPath } from 'react-router-dom';\n\nimport RouteTransition from './RouteTransition';\n\n/**\n * Here we only care about whether or not the pathname matches. If so,\n * we'll use the route's path as the key, otherwise we'll default it\n * to a string signifying no match.\n */\nfunction getKey(_ref, path, exact) {\n var pathname = _ref.pathname;\n\n return matchPath(pathname, { exact: exact, path: path }) ? 'match' : 'no-match';\n}\n\nvar AnimatedRoute = function AnimatedRoute(_ref2) {\n var _render = _ref2.render,\n component = _ref2.component,\n path = _ref2.path,\n exact = _ref2.exact,\n routeTransitionProps = _objectWithoutProperties(_ref2, ['render', 'component', 'path', 'exact']);\n\n return React.createElement(Route, {\n render: function render(_ref3) {\n var location = _ref3.location,\n match = _ref3.match;\n return React.createElement(\n RouteTransition,\n routeTransitionProps,\n React.createElement(Route, {\n key: getKey(location, path, exact),\n path: path,\n exact: exact,\n location: location,\n component: component,\n render: _render\n })\n );\n }\n });\n};\n\nexport default AnimatedRoute;","var _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 _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\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\nimport React from 'react';\nimport { Route, Switch, matchPath } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport RouteTransition from './RouteTransition';\n\nvar NO_MATCH = {\n key: 'no-match'\n};\n\n/**\n * Not every location object has a `key` property (e.g. HashHistory).\n */\nfunction getLocationKey(location) {\n return typeof location.key === 'string' ? location.key : '';\n}\n\n/**\n * Some superfluous work, but something we need to do in order\n * to persist matches/allow for nesting/etc.\n */\nfunction getMatchedRoute(children, pathname) {\n return React.Children.toArray(children).find(function (child) {\n return matchPath(pathname, {\n exact: child.props.exact,\n path: child.props.path\n });\n }) || NO_MATCH;\n}\n\nvar AnimatedSwitch = function (_React$Component) {\n _inherits(AnimatedSwitch, _React$Component);\n\n function AnimatedSwitch() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, AnimatedSwitch);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = AnimatedSwitch.__proto__ || Object.getPrototypeOf(AnimatedSwitch)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n key: getLocationKey(_this.props.location),\n match: getMatchedRoute(_this.props.children, _this.props.location.pathname)\n }, _this.matches = 0, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(AnimatedSwitch, [{\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n var nextMatch = getMatchedRoute(nextProps.children, nextProps.location.pathname);\n\n if (this.state.match.key !== nextMatch.key) {\n this.setState({\n match: nextMatch,\n key: getLocationKey(nextProps.location) + ++this.matches\n });\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n location = _props.location,\n match = _props.match,\n routeTransitionProps = _objectWithoutProperties(_props, ['children', 'location', 'match']);\n\n return React.createElement(\n RouteTransition,\n routeTransitionProps,\n React.createElement(\n Switch,\n { key: this.state.key, location: location },\n children\n )\n );\n }\n }]);\n\n return AnimatedSwitch;\n}(React.Component);\n\n// inject location as a prop so we can listen for changes\n\n\nAnimatedSwitch.propTypes = {\n location: PropTypes.shape({\n key: PropTypes.string,\n pathname: PropTypes.string\n })\n};\nvar RouteWrapper = function RouteWrapper(props) {\n return React.createElement(Route, {\n children: function children(_ref2) {\n var location = _ref2.location;\n return React.createElement(AnimatedSwitch, _extends({ location: location }, props));\n }\n });\n};\n\nexport default RouteWrapper;","export { default as AnimatedRoute } from './AnimatedRoute';\nexport { default as AnimatedSwitch } from './AnimatedSwitch';\nexport { default as RouteTransition } from './RouteTransition';\nexport { default as spring } from './spring';"],"sourceRoot":""}