{"version":3,"sources":["webpack:///../node_modules/@paypalcorp/pp-react-modal/dist/@paypalcorp/pp-react-modal.esm.js","webpack:///../node_modules/performance-now/lib/performance-now.js","webpack:///../node_modules/raf/index.js","webpack:///../node_modules/raf/node_modules/performance-now/lib/performance-now.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-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":["styles","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","prototype","valueOf","call","e","_isNativeReflectConstruct","result","Super","NewTarget","this","constructor","Modal","_React$Component","_super","props","_this","scrollCheck","fixedHeight","window","innerHeight","modalEl","modalRef","current","overpanel","style","height","concat","maxHeight","closeButton","createRef","contentRef","idBase","id","Math","random","toFixed","toString","state","isMounted","headerScroll","footerScroll","value","setState","navigator","msMaxTouchPoints","setFixedHeight","addEventListener","removeEventListener","contents","newState","scrollTop","footerContents","offsetHeight","scrollHeight","prevProps","shouldSetFocus","isOpen","setTimeout","focus","_clsx4","_clsx5","_this$props","children","onClose","className","_this$props$closeButt","closeButtonLabel","hideLogo","hideTitle","title","_this$props$closeOnBa","closeOnBackgroundClick","_this$props$action","action","_this$props$footerCon","footerAlign","center","containerRef","headerClassName","contentClassName","footerClassName","rest","classes","ppvx_modal","contentClasses","ppvx_modal__contents","ariaHidden","createElement","svgIconComponent","tabIndex","onClick","ref","titleId","titleElement","ariaProps","role","footer","focusClass","enabled","onEscapeKey","evt","preventDefault","handleEscape","onClickOutside","onScroll","scrollChecker","containerElm","createPortal","document","body","Component","getNanoSeconds","hrtime","loadTime","performance","now","module","exports","process","hr","Date","getTime","root","global","vendors","suffix","raf","caf","last","queue","callback","_now","next","max","cp","slice","cancelled","round","handle","fn","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","moduleLoadTime","nodeLoadTime","upTime","uptime","__esModule","_extends","assign","hasOwnProperty","_createClass","descriptor","configurable","writable","Constructor","protoProps","staticProps","_interopRequireDefault","obj","_mapToZero2","_stripStyle2","_stepper4","_mergeDiff2","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","rehydrateStyles","mergedPropsStyles","unreadPropStyles","plainStyles","cUnreadPropStyles","map","mergedPropsStyle","data","j","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","destStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newCurrentStyles","newCurrentVelocities","newLastIdealStyles","newLastIdealVelocities","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","TransitionMotion","instance","TypeError","_classCallCheck","unmounting","animationID","prevTime","accumulatedTime","clearUnreadPropStyle","_mergeAndSync","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","unreadPropStyle","dirty","styleValue","startAnimationIfNecessary","timestamp","propStyles","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","create","setPrototypeOf","__proto__","_inherits","defaultStyles","arrayOf","shape","string","isRequired","any","objectOf","number","oneOfType","func","styleThatEntered","_props","undefined","defaultStyleCell","s","_mergeAndSync3","componentDidMount","componentWillReceiveProps","componentWillUnmount","render","hydratedStyles","renderedChildren","Children","only","ret","prev","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","self","ReferenceError","_Component","RouteTransition","_ref","_temp","_len","args","Array","_key","getPrototypeOf","atEnter","atLeave","styleThatLeft","renderRoute","mapStyles","wrapperComponent","renderRoutes","interpolatedStyles","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","_ref2"],"mappings":"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","file":"vendors~ppme-shared.bundle.js","sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React from 'react';\nimport { IconButton } from '@paypalcorp/pp-react-icon-button';\nimport { CloseIcon } from '@paypalcorp/pp-react-icons';\nimport ReactDOM from 'react-dom';\nimport { FocusOn } from 'react-focus-on';\nimport clsx from 'clsx';\nimport '../__generated__/styles/modal.css';\n\nvar styles = {\"ppvx_modal--container_middle\":\"ppvx_modal--container_middle___2-7-18\",\"ppvx_modal--container_bottom\":\"ppvx_modal--container_bottom___2-7-18\",\"ppvx_modal\":\"ppvx_modal___2-7-18\",\"ppvx_modal--overpanel\":\"ppvx_modal--overpanel___2-7-18\",\"ppvx_modal--sheet\":\"ppvx_modal--sheet___2-7-18\",\"ppvx_modal-backdrop\":\"ppvx_modal-backdrop___2-7-18\",\"ppvx_modal-backdrop--show\":\"ppvx_modal-backdrop--show___2-7-18\",\"ppvx_scrim\":\"ppvx_scrim___2-7-18\",\"ppvx_scrim--show\":\"ppvx_scrim--show___2-7-18\",\"ppvx_modal__contents\":\"ppvx_modal__contents___2-7-18\",\"ppvx_modal-header\":\"ppvx_modal-header___2-7-18\",\"ppvx_modal__contents--no-padding\":\"ppvx_modal__contents--no-padding___2-7-18\",\"ppvx_modal__contents--center\":\"ppvx_modal__contents--center___2-7-18\",\"ppvx_modal__screenreader\":\"ppvx_modal__screenreader___2-7-18\",\"ppvx_modal-header__close\":\"ppvx_modal-header__close___2-7-18\",\"ppvx_modal-header__action\":\"ppvx_modal-header__action___2-7-18\",\"ppvx_modal-header--gripper\":\"ppvx_modal-header--gripper___2-7-18\",\"ppvx_modal-header--divider\":\"ppvx_modal-header--divider___2-7-18\",\"ppvx_modal-header--scrolled\":\"ppvx_modal-header--scrolled___2-7-18\",\"ppvx_modal-header__title\":\"ppvx_modal-header__title___2-7-18\",\"ppvx_modal-header__work-area\":\"ppvx_modal-header__work-area___2-7-18\",\"ppvx_modal__contents--close\":\"ppvx_modal__contents--close___2-7-18\",\"ppvx_modal-header__close-btn\":\"ppvx_modal-header__close-btn___2-7-18\",\"ppvx_modal-content__title\":\"ppvx_modal-content__title___2-7-18\",\"ppvx_modal-header--no-logo\":\"ppvx_modal-header--no-logo___2-7-18\",\"ppvx_modal-footer\":\"ppvx_modal-footer___2-7-18\",\"ppvx_modal-footer--scrolled\":\"ppvx_modal-footer--scrolled___2-7-18\",\"ppvx_modal-footer--align_center\":\"ppvx_modal-footer--align_center___2-7-18\",\"ppvx_modal-footer--align_right\":\"ppvx_modal-footer--align_right___2-7-18\",\"ppvx_visible-only-in-context\":\"ppvx_visible-only-in-context___2-7-18\",\"ppvx_modal--sheet--height_90\":\"ppvx_modal--sheet--height_90___2-7-18\",\"ppvx_modal-header__close-btn--svg\":\"ppvx_modal-header__close-btn--svg___2-7-18\",\"ppvx--v2\":\"ppvx--v2___2-7-18\",\"ppvx--v1\":\"ppvx--v1___2-7-18\"};\n\nvar _excluded = [\"children\", \"onClose\", \"className\", \"closeButtonLabel\", \"isOpen\", \"hideLogo\", \"hideTitle\", \"title\", \"closeOnBackgroundClick\", \"action\", \"footerContents\", \"footerAlign\", \"overpanel\", \"center\", \"containerRef\", \"headerClassName\", \"contentClassName\", \"footerClassName\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar uniqueId = function () {\n return (Math.random() * 100000000).toFixed(0).toString();\n};\n\nvar Modal = /*#__PURE__*/function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n var _super = _createSuper(Modal);\n\n /* istanbul ignore next */\n function Modal(props) {\n var _this;\n\n _classCallCheck(this, Modal);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"closeButton\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contentRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"modalRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"idBase\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"scrollChecker\", function () {\n return _this.scrollCheck();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setFixedHeight\", function () {\n var fixedHeight = window.innerHeight; //100vh\n\n var modalEl = _this.modalRef.current;\n\n if (modalEl) {\n if (_this.props.overpanel) {\n modalEl.style.height = \"\".concat(fixedHeight, \"px\");\n } else {\n modalEl.style.maxHeight = \"\".concat(fixedHeight, \"px\");\n }\n }\n });\n\n _this.closeButton = React.createRef();\n _this.contentRef = React.createRef();\n _this.modalRef = React.createRef();\n _this.idBase = props.id || uniqueId();\n _this.state = {\n isMounted: false,\n headerScroll: false,\n footerScroll: false\n };\n return _this;\n }\n /* istanbul ignore next */\n\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n isMounted: true\n });\n var isTouchDevice = 'ontouchstart' in window || navigator.msMaxTouchPoints;\n\n if (isTouchDevice && window.innerHeight) {\n this.setFixedHeight();\n window.addEventListener('resize', this.setFixedHeight, false);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('resize', this.setFixedHeight);\n } // jest has no way to test things like scrollTop or scrollHeight --BCC\n\n /* istanbul ignore next */\n\n }, {\n key: \"scrollCheck\",\n value: function scrollCheck() {\n if (this.contentRef && this.contentRef.current) {\n var contents = this.contentRef.current; // let needFocus = false\n\n var newState = null;\n var headerScroll = contents.scrollTop !== 0;\n\n if (headerScroll !== this.state.headerScroll) {\n newState = {\n headerScroll: headerScroll\n };\n } // Footer is optional, may not be one to watch for!\n\n\n if (this.props.footerContents) {\n // Have we scrolled to the bottom\n var footerScroll = contents.scrollTop + contents.offsetHeight !== contents.scrollHeight;\n\n if (footerScroll !== this.state.footerScroll) {\n newState = _objectSpread(_objectSpread({}, newState || {}), {}, {\n footerScroll: footerScroll\n });\n }\n }\n\n if (newState) {\n this.setState(newState);\n }\n }\n }\n /* istanbul ignore next */\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // We need to set the focus ONLY when the next state\n // is open and the current state is not.\n var shouldSetFocus = this.props.isOpen && !prevProps.isOpen;\n\n if (this.props.isOpen) {\n this.scrollCheck();\n }\n\n var isTouchDevice = 'ontouchstart' in window || navigator.msMaxTouchPoints;\n /* istanbul ignore next */\n\n if (isTouchDevice && window.innerHeight) {\n this.setFixedHeight();\n } // Skip this if rendering server-side\n\n /* istanbul ignore next */\n\n\n if (window && window.setTimeout) {\n // HACK ALERT! react-on-focus fails at setting the focus\n // if we are transitioning opacity. This causes the lightbox\n // to set the focus on the close button but NOT indicate\n // that fact to the user either visually or in the screen reader\n // So I had to handle that case on a timeout --love, BCC\n if (shouldSetFocus && this.props.isOpen && this.closeButton.current) {\n // Store the close button as a local for the closure\n var closeButton = this.closeButton.current;\n window.setTimeout(function () {\n /* istanbul ignore next */\n closeButton.focus();\n }, 100);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _clsx4, _clsx5;\n\n var _this$props = this.props,\n children = _this$props.children,\n onClose = _this$props.onClose,\n className = _this$props.className,\n _this$props$closeButt = _this$props.closeButtonLabel,\n closeButtonLabel = _this$props$closeButt === void 0 ? 'close modal' : _this$props$closeButt,\n isOpen = _this$props.isOpen,\n hideLogo = _this$props.hideLogo,\n hideTitle = _this$props.hideTitle,\n title = _this$props.title,\n _this$props$closeOnBa = _this$props.closeOnBackgroundClick,\n closeOnBackgroundClick = _this$props$closeOnBa === void 0 ? true : _this$props$closeOnBa,\n _this$props$action = _this$props.action,\n action = _this$props$action === void 0 ? null : _this$props$action,\n _this$props$footerCon = _this$props.footerContents,\n footerContents = _this$props$footerCon === void 0 ? null : _this$props$footerCon,\n footerAlign = _this$props.footerAlign,\n overpanel = _this$props.overpanel,\n center = _this$props.center,\n containerRef = _this$props.containerRef,\n headerClassName = _this$props.headerClassName,\n contentClassName = _this$props.contentClassName,\n footerClassName = _this$props.footerClassName,\n rest = _objectWithoutProperties(_this$props, _excluded);\n\n var classes = clsx(styles.ppvx_modal, _defineProperty({}, styles['ppvx_modal--overpanel'], overpanel), className);\n var contentClasses = clsx(styles.ppvx_modal__contents, _defineProperty({}, styles['ppvx_modal__contents--center'], center), contentClassName);\n var ariaHidden = isOpen === true ? 'false' : 'true';\n var closeButton = /*#__PURE__*/React.createElement(IconButton, {\n svgIconComponent: CloseIcon,\n \"aria-haspopup\": \"dialog\",\n tabIndex: 0,\n onClick: onClose,\n className: styles['ppvx_modal-header__close-btn--svg'],\n ref: this.closeButton\n }, closeButtonLabel);\n\n var handleEscape = function (evt) {\n evt.preventDefault();\n onClose(evt);\n };\n\n var handleBackdropClick = function (evt) {\n if (closeOnBackgroundClick) {\n onClose(evt);\n }\n };\n\n var titleId = \"header_\".concat(this.idBase);\n var titleElement = null;\n var ariaProps = {\n role: 'dialog',\n className: clsx(styles['ppvx_modal-backdrop'], _defineProperty({}, styles['ppvx_modal-backdrop--show'], isOpen)),\n 'aria-modal': 'true',\n 'aria-hidden': ariaHidden\n };\n\n if (hideTitle) {\n // @ts-ignore\n ariaProps['aria-label'] = title;\n } else {\n // @ts-ignore\n ariaProps['aria-labelledby'] = titleId;\n titleElement = /*#__PURE__*/React.createElement(\"h2\", {\n id: titleId\n }, title);\n }\n\n var footer = footerContents ? /*#__PURE__*/React.createElement(\"footer\", {\n className: clsx(styles['ppvx_modal-footer'], (_clsx4 = {}, _defineProperty(_clsx4, styles['ppvx_modal-footer--scrolled'], this.state.footerScroll), _defineProperty(_clsx4, styles[\"ppvx_modal-footer--align_\".concat(footerAlign)], footerAlign), _clsx4), footerClassName)\n }, footerContents) : null;\n var focusClass = overpanel ? 'ppvx_modal--container_bottom' : 'ppvx_modal--container_middle';\n var contents = /*#__PURE__*/React.createElement(\"div\", ariaProps, isOpen && /*#__PURE__*/React.createElement(FocusOn, {\n enabled: !!isOpen // @ts-ignore: onEscapeKey() wants an Event, but the rest of this code wants SyntheticEvent<>\n ,\n onEscapeKey: function onEscapeKey(evt) {\n return handleEscape(evt);\n },\n onClickOutside: function onClickOutside() {\n return handleBackdropClick();\n },\n className: styles[focusClass]\n }, /*#__PURE__*/React.createElement(\"article\", _extends({\n className: classes\n }, rest, {\n ref: this.modalRef\n }), /*#__PURE__*/React.createElement(\"header\", {\n className: clsx(styles['ppvx_modal-header'], (_clsx5 = {}, _defineProperty(_clsx5, styles['ppvx_modal-header--no-logo'], hideLogo), _defineProperty(_clsx5, styles['ppvx_modal-header--scrolled'], this.state.headerScroll), _clsx5), headerClassName)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: styles['ppvx_modal-header__action']\n }, action), /*#__PURE__*/React.createElement(\"div\", {\n className: styles['ppvx_modal-header__close']\n }, closeButton)), /*#__PURE__*/React.createElement(\"section\", {\n className: contentClasses,\n onScroll: this.scrollChecker,\n ref: this.contentRef\n }, titleElement, children), footer)));\n var containerElm = containerRef && containerRef.current; // Delay createPortal until component is mounted to fix server side rendering\n\n return this.state.isMounted && ReactDOM.createPortal(contents, containerElm || document.body);\n }\n }]);\n\n return Modal;\n}(React.Component);\n\nexport { Modal };\n","// 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","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","// 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","'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'];","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":""}