{"version":3,"sources":["webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/react-motion.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/process/browser.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/presets.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/Motion.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/performance-now/lib/performance-now.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/StaggeredMotion.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/TransitionMotion.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/mergeDiff.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/spring.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/reorderKeys.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/stripStyle.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/mapToZero.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/stepper.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/node_modules/performance-now/lib/performance-now.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/raf/index.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/react-motion/lib/shouldStopAnimation.js","webpack:///./transfer/components/theme-card.styles.js","webpack:///./transfer/components/theme-card.js"],"names":["_interopRequire","obj","__esModule","exports","_Motion","Motion","_StaggeredMotion","StaggeredMotion","_TransitionMotion","TransitionMotion","_spring","spring","_presets","presets","_stripStyle","stripStyle","_reorderKeys","reorderKeys","cachedSetTimeout","cachedClearTimeout","process","module","defaultSetTimout","Error","defaultClearTimeout","runTimeout","fun","setTimeout","e","call","this","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","length","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","arguments","i","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","noWobble","stiffness","damping","gentle","wobbly","stiff","_extends","Object","assign","target","source","key","hasOwnProperty","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_interopRequireDefault","_mapToZero2","_stripStyle2","_stepper4","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","_React$Component","_this","instance","TypeError","_classCallCheck","wasAnimating","animationID","prevTime","accumulatedTime","unreadPropStyle","clearUnreadPropStyle","destStyle","dirty","_state","state","currentStyle","currentVelocity","lastIdealStyle","lastIdealVelocity","styleValue","setState","startAnimationIfNecessary","timestamp","propsStyle","style","onRest","currentTime","timeDelta","currentFrameCompletion","Math","floor","framesToCatchUp","newLastIdealStyle","newLastIdealVelocity","newCurrentStyle","newCurrentVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","val","precision","_stepper2","nextIdealX","nextIdealV","defaultState","subClass","superClass","create","constructor","value","setPrototypeOf","__proto__","_inherits","defaultStyle","objectOf","number","oneOfType","object","isRequired","children","func","_props","componentDidMount","componentWillReceiveProps","componentWillUnmount","cancel","render","renderedChildren","Children","only","Component","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","hr","uptime","Date","getTime","unreadPropStyles","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","someDirty","destStyles","styles","shouldStopAnimationAll","newLastIdealStyles","newLastIdealVelocities","newCurrentStyles","newCurrentVelocities","j","defaultStyles","arrayOf","map","_mergeDiff2","rehydrateStyles","mergedPropsStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","data","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","unmounting","_mergeAndSync","propStyles","_mergeAndSync2","newMergedPropsStyle","shape","string","any","styleThatEntered","undefined","defaultStyleCell","s","_mergeAndSync3","hydratedStyles","prev","next","onRemove","prevKeyIndex","nextKeyIndex","ret","fill","sort","a","b","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","config","defaultConfig","_presets2","secondPerFrame","x","v","destX","k","newV","newX","abs","reusedTuple","root","window","global","vendors","suffix","raf","caf","last","id","callback","_now","max","cp","slice","cancelled","round","handle","fn","polyfill","requestAnimationFrame","cancelAnimationFrame","StyleSheet","cardWrapper","position","willChange","marginTop","width","height","margin","borderRadius","perspective","transformStyle","float","cardFront","padding","top","right","bottom","left","zIndex","backgroundColor","backfaceVisibility","cursor","backgroundSize","backgroundPosition","backgroundRepeat","cardBack","background","color","newCardBack","footerThemeImage","transactionDetails","textAlign","fontSize","transactionAmount","fontWeight","newTransactionDetails","transactionDetailsSmallerSize","textArea","border","outline","transition","resize","newTextArea","staticMessage","overflow","overflowWrap","wordWrap","messageLargeHeight","newMessageLargeHeight","messageSmallHeight","contactClassName","i18n","content","ThemeCard","React","_defineProperty","editableMessage","handleChangeNote","note","thumbnailUrl","isNewDesign","shouldUseLargeHeight","textAreaClassNames","css","staticMessageClassNames","createElement","tabIndex","isNoteFieldTabEnabled","onChange","_ref","placeholder","className","classNames","data-test-id","displayName","formattedAmount","shouldUseSmallerSize","transactionDetailsClassNames","Media","query","match","ContactThumbnail","diameter","cardWrapperStyle","cardFrontStyle","cardBackStyle","handleCardFrontHover","handleCardFrontBlur","handleCardFrontClick","footerThemeImageUrl","frontStyles","aria-label","role","data-theme-id","themeId","onClick","onKeyUp","event","keyCode","onMouseEnter","onMouseLeave","renderContactThumbnail","renderTransactionDetails","renderMessageBox","backgroundImage"],"mappings":"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","file":"default~guest~reveal~universal-preview.esm.js","sourcesContent":["'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) { return obj && obj.__esModule ? obj['default'] : obj; }\n\nvar _Motion = require('./Motion');\n\nexports.Motion = _interopRequire(_Motion);\n\nvar _StaggeredMotion = require('./StaggeredMotion');\n\nexports.StaggeredMotion = _interopRequire(_StaggeredMotion);\n\nvar _TransitionMotion = require('./TransitionMotion');\n\nexports.TransitionMotion = _interopRequire(_TransitionMotion);\n\nvar _spring = require('./spring');\n\nexports.spring = _interopRequire(_spring);\n\nvar _presets = require('./presets');\n\nexports.presets = _interopRequire(_presets);\n\nvar _stripStyle = require('./stripStyle');\n\nexports.stripStyle = _interopRequire(_stripStyle);\n\n// deprecated, dummy warning function\n\nvar _reorderKeys = require('./reorderKeys');\n\nexports.reorderKeys = _interopRequire(_reorderKeys);","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = {\n noWobble: { stiffness: 170, damping: 26 }, // the default, if nothing provided\n gentle: { stiffness: 120, damping: 14 },\n wobbly: { stiffness: 180, damping: 12 },\n stiff: { stiffness: 210, damping: 20 }\n};\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nvar Motion = (function (_React$Component) {\n _inherits(Motion, _React$Component);\n\n _createClass(Motion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyle: _propTypes2['default'].objectOf(_propTypes2['default'].number),\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired,\n children: _propTypes2['default'].func.isRequired,\n onRest: _propTypes2['default'].func\n },\n enumerable: true\n }]);\n\n function Motion(props) {\n var _this = this;\n\n _classCallCheck(this, Motion);\n\n _React$Component.call(this, props);\n this.wasAnimating = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyle = null;\n\n this.clearUnreadPropStyle = function (destStyle) {\n var dirty = false;\n var _state = _this.state;\n var currentStyle = _state.currentStyle;\n var currentVelocity = _state.currentVelocity;\n var lastIdealStyle = _state.lastIdealStyle;\n var lastIdealVelocity = _state.lastIdealVelocity;\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyle = _extends({}, currentStyle);\n currentVelocity = _extends({}, currentVelocity);\n lastIdealStyle = _extends({}, lastIdealStyle);\n lastIdealVelocity = _extends({}, lastIdealVelocity);\n }\n\n currentStyle[key] = styleValue;\n currentVelocity[key] = 0;\n lastIdealStyle[key] = styleValue;\n lastIdealVelocity[key] = 0;\n }\n }\n\n if (dirty) {\n _this.setState({ currentStyle: currentStyle, currentVelocity: currentVelocity, lastIdealStyle: lastIdealStyle, lastIdealVelocity: lastIdealVelocity });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // check if we need to animate in the first place\n var propsStyle = _this.props.style;\n if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {\n if (_this.wasAnimating && _this.props.onRest) {\n _this.props.onRest();\n }\n\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.wasAnimating = false;\n _this.accumulatedTime = 0;\n return;\n }\n\n _this.wasAnimating = true;\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n\n for (var key in propsStyle) {\n if (!Object.prototype.hasOwnProperty.call(propsStyle, key)) {\n continue;\n }\n\n var styleValue = propsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyle[key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocity[key];\n for (var i = 0; i < framesToCatchUp; i++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyle: newCurrentStyle,\n currentVelocity: newCurrentVelocity,\n lastIdealStyle: newLastIdealStyle,\n lastIdealVelocity: newLastIdealVelocity\n });\n\n _this.unreadPropStyle = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n Motion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyle = _props.defaultStyle;\n var style = _props.style;\n\n var currentStyle = defaultStyle || _stripStyle2['default'](style);\n var currentVelocity = _mapToZero2['default'](currentStyle);\n return {\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: currentStyle,\n lastIdealVelocity: currentVelocity\n };\n };\n\n // it's possible that currentStyle's value is stale: if props is immediately\n // changed from 0 to 400 to spring(0) again, the async currentStyle is still\n // at 0 (didn't have time to tick and interpolate even once). If we naively\n // compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n // In reality currentStyle should be 400\n\n Motion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n Motion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyle != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyle);\n }\n\n this.unreadPropStyle = props.style;\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n Motion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n Motion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyle);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return Motion;\n})(_react2['default'].Component);\n\nexports['default'] = Motion;\nmodule.exports = exports['default'];\n\n// after checking for unreadPropStyle != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)","// 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 _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\nfunction shouldStopAnimationAll(currentStyles, styles, currentVelocities) {\n for (var i = 0; i < currentStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], styles[i], currentVelocities[i])) {\n return false;\n }\n }\n return true;\n}\n\nvar StaggeredMotion = (function (_React$Component) {\n _inherits(StaggeredMotion, _React$Component);\n\n _createClass(StaggeredMotion, null, [{\n key: 'propTypes',\n value: {\n // TOOD: warn against putting a config in here\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].objectOf(_propTypes2['default'].number)),\n styles: _propTypes2['default'].func.isRequired,\n children: _propTypes2['default'].func.isRequired\n },\n enumerable: true\n }]);\n\n function StaggeredMotion(props) {\n var _this = this;\n\n _classCallCheck(this, StaggeredMotion);\n\n _React$Component.call(this, props);\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _state = _this.state;\n var currentStyles = _state.currentStyles;\n var currentVelocities = _state.currentVelocities;\n var lastIdealStyles = _state.lastIdealStyles;\n var lastIdealVelocities = _state.lastIdealVelocities;\n\n var someDirty = false;\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i];\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n someDirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n }\n }\n }\n\n if (someDirty) {\n _this.setState({ currentStyles: currentStyles, currentVelocities: currentVelocities, lastIdealStyles: lastIdealStyles, lastIdealVelocities: lastIdealVelocities });\n }\n };\n\n this.startAnimationIfNecessary = function () {\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n var destStyles = _this.props.styles(_this.state.lastIdealStyles);\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n\n for (var i = 0; i < destStyles.length; i++) {\n var destStyle = destStyles[i];\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in destStyle) {\n if (!Object.prototype.hasOwnProperty.call(destStyle, key)) {\n continue;\n }\n\n var styleValue = destStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = _this.state.lastIdealStyles[i][key];\n var newLastIdealVelocityValue = _this.state.lastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n StaggeredMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n\n var currentStyles = defaultStyles || styles().map(_stripStyle2['default']);\n var currentVelocities = currentStyles.map(function (currentStyle) {\n return _mapToZero2['default'](currentStyle);\n });\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: currentStyles,\n lastIdealVelocities: currentVelocities\n };\n };\n\n StaggeredMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n StaggeredMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles != null) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n this.unreadPropStyles = props.styles(this.state.lastIdealStyles);\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n StaggeredMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n StaggeredMotion.prototype.render = function render() {\n var renderedChildren = this.props.children(this.state.currentStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return StaggeredMotion;\n})(_react2['default'].Component);\n\nexports['default'] = StaggeredMotion;\nmodule.exports = exports['default'];\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400\n\n// after checking for unreadPropStyles != null, we manually go set the\n// non-interpolating values (those that are a number, without a spring\n// config)","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _mapToZero = require('./mapToZero');\n\nvar _mapToZero2 = _interopRequireDefault(_mapToZero);\n\nvar _stripStyle = require('./stripStyle');\n\nvar _stripStyle2 = _interopRequireDefault(_stripStyle);\n\nvar _stepper3 = require('./stepper');\n\nvar _stepper4 = _interopRequireDefault(_stepper3);\n\nvar _mergeDiff = require('./mergeDiff');\n\nvar _mergeDiff2 = _interopRequireDefault(_mergeDiff);\n\nvar _performanceNow = require('performance-now');\n\nvar _performanceNow2 = _interopRequireDefault(_performanceNow);\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nvar _shouldStopAnimation = require('./shouldStopAnimation');\n\nvar _shouldStopAnimation2 = _interopRequireDefault(_shouldStopAnimation);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar msPerFrame = 1000 / 60;\n\n// the children function & (potential) styles function asks as param an\n// Array, where each TransitionPlainStyle is of the format\n// {key: string, data?: any, style: PlainStyle}. However, the way we keep\n// internal states doesn't contain such a data structure (check the state and\n// TransitionMotionState). So when children function and others ask for such\n// data we need to generate them on the fly by combining mergedPropsStyles and\n// currentStyles/lastIdealStyles\nfunction rehydrateStyles(mergedPropsStyles, unreadPropStyles, plainStyles) {\n // Copy the value to a `const` so that Flow understands that the const won't\n // change and will be non-nullable in the callback below.\n var cUnreadPropStyles = unreadPropStyles;\n if (cUnreadPropStyles == null) {\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n return mergedPropsStyles.map(function (mergedPropsStyle, i) {\n for (var j = 0; j < cUnreadPropStyles.length; j++) {\n if (cUnreadPropStyles[j].key === mergedPropsStyle.key) {\n return {\n key: cUnreadPropStyles[j].key,\n data: cUnreadPropStyles[j].data,\n style: plainStyles[i]\n };\n }\n }\n return { key: mergedPropsStyle.key, data: mergedPropsStyle.data, style: plainStyles[i] };\n });\n}\n\nfunction shouldStopAnimationAll(currentStyles, destStyles, currentVelocities, mergedPropsStyles) {\n if (mergedPropsStyles.length !== destStyles.length) {\n return false;\n }\n\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (mergedPropsStyles[i].key !== destStyles[i].key) {\n return false;\n }\n }\n\n // we have the invariant that mergedPropsStyles and\n // currentStyles/currentVelocities/last* are synced in terms of cells, see\n // mergeAndSync comment for more info\n for (var i = 0; i < mergedPropsStyles.length; i++) {\n if (!_shouldStopAnimation2['default'](currentStyles[i], destStyles[i].style, currentVelocities[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n// core key merging logic\n\n// things to do: say previously merged style is {a, b}, dest style (prop) is {b,\n// c}, previous current (interpolating) style is {a, b}\n// **invariant**: current[i] corresponds to merged[i] in terms of key\n\n// steps:\n// turn merged style into {a?, b, c}\n// add c, value of c is destStyles.c\n// maybe remove a, aka call willLeave(a), then merged is either {b, c} or {a, b, c}\n// turn current (interpolating) style from {a, b} into {a?, b, c}\n// maybe remove a\n// certainly add c, value of c is willEnter(c)\n// loop over merged and construct new current\n// dest doesn't change, that's owner's\nfunction mergeAndSync(willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldLastIdealStyles, oldLastIdealVelocities) {\n var newMergedPropsStyles = _mergeDiff2['default'](oldMergedPropsStyles, destStyles, function (oldIndex, oldMergedPropsStyle) {\n var leavingStyle = willLeave(oldMergedPropsStyle);\n if (leavingStyle == null) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({ key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data });\n return null;\n }\n return { key: oldMergedPropsStyle.key, data: oldMergedPropsStyle.data, style: leavingStyle };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n }\n // TODO: key search code\n if (foundOldIndex == null) {\n var plainStyle = willEnter(newMergedPropsStyleCell);\n newCurrentStyles[i] = plainStyle;\n newLastIdealStyles[i] = plainStyle;\n\n var velocity = _mapToZero2['default'](newMergedPropsStyleCell.style);\n newCurrentVelocities[i] = velocity;\n newLastIdealVelocities[i] = velocity;\n } else {\n newCurrentStyles[i] = oldCurrentStyles[foundOldIndex];\n newLastIdealStyles[i] = oldLastIdealStyles[foundOldIndex];\n newCurrentVelocities[i] = oldCurrentVelocities[foundOldIndex];\n newLastIdealVelocities[i] = oldLastIdealVelocities[foundOldIndex];\n }\n }\n\n return [newMergedPropsStyles, newCurrentStyles, newCurrentVelocities, newLastIdealStyles, newLastIdealVelocities];\n}\n\nvar TransitionMotion = (function (_React$Component) {\n _inherits(TransitionMotion, _React$Component);\n\n _createClass(TransitionMotion, null, [{\n key: 'propTypes',\n value: {\n defaultStyles: _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].number).isRequired\n })),\n styles: _propTypes2['default'].oneOfType([_propTypes2['default'].func, _propTypes2['default'].arrayOf(_propTypes2['default'].shape({\n key: _propTypes2['default'].string.isRequired,\n data: _propTypes2['default'].any,\n style: _propTypes2['default'].objectOf(_propTypes2['default'].oneOfType([_propTypes2['default'].number, _propTypes2['default'].object])).isRequired\n }))]).isRequired,\n children: _propTypes2['default'].func.isRequired,\n willEnter: _propTypes2['default'].func,\n willLeave: _propTypes2['default'].func,\n didLeave: _propTypes2['default'].func\n },\n enumerable: true\n }, {\n key: 'defaultProps',\n value: {\n willEnter: function willEnter(styleThatEntered) {\n return _stripStyle2['default'](styleThatEntered.style);\n },\n // recall: returning null makes the current unmounting TransitionStyle\n // disappear immediately\n willLeave: function willLeave() {\n return null;\n },\n didLeave: function didLeave() {}\n },\n enumerable: true\n }]);\n\n function TransitionMotion(props) {\n var _this = this;\n\n _classCallCheck(this, TransitionMotion);\n\n _React$Component.call(this, props);\n this.unmounting = false;\n this.animationID = null;\n this.prevTime = 0;\n this.accumulatedTime = 0;\n this.unreadPropStyles = null;\n\n this.clearUnreadPropStyle = function (unreadPropStyles) {\n var _mergeAndSync = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, unreadPropStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var mergedPropsStyles = _mergeAndSync[0];\n var currentStyles = _mergeAndSync[1];\n var currentVelocities = _mergeAndSync[2];\n var lastIdealStyles = _mergeAndSync[3];\n var lastIdealVelocities = _mergeAndSync[4];\n\n for (var i = 0; i < unreadPropStyles.length; i++) {\n var unreadPropStyle = unreadPropStyles[i].style;\n var dirty = false;\n\n for (var key in unreadPropStyle) {\n if (!Object.prototype.hasOwnProperty.call(unreadPropStyle, key)) {\n continue;\n }\n\n var styleValue = unreadPropStyle[key];\n if (typeof styleValue === 'number') {\n if (!dirty) {\n dirty = true;\n currentStyles[i] = _extends({}, currentStyles[i]);\n currentVelocities[i] = _extends({}, currentVelocities[i]);\n lastIdealStyles[i] = _extends({}, lastIdealStyles[i]);\n lastIdealVelocities[i] = _extends({}, lastIdealVelocities[i]);\n mergedPropsStyles[i] = {\n key: mergedPropsStyles[i].key,\n data: mergedPropsStyles[i].data,\n style: _extends({}, mergedPropsStyles[i].style)\n };\n }\n currentStyles[i][key] = styleValue;\n currentVelocities[i][key] = 0;\n lastIdealStyles[i][key] = styleValue;\n lastIdealVelocities[i][key] = 0;\n mergedPropsStyles[i].style[key] = styleValue;\n }\n }\n }\n\n // unlike the other 2 components, we can't detect staleness and optionally\n // opt out of setState here. each style object's data might contain new\n // stuff we're not/cannot compare\n _this.setState({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n mergedPropsStyles: mergedPropsStyles,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\n };\n\n this.startAnimationIfNecessary = function () {\n if (_this.unmounting) {\n return;\n }\n\n // TODO: when config is {a: 10} and dest is {a: 10} do we raf once and\n // call cb? No, otherwise accidental parent rerender causes cb trigger\n _this.animationID = _raf2['default'](function (timestamp) {\n // https://github.com/chenglou/react-motion/pull/420\n // > if execution passes the conditional if (this.unmounting), then\n // executes async defaultRaf and after that component unmounts and after\n // that the callback of defaultRaf is called, then setState will be called\n // on unmounted component.\n if (_this.unmounting) {\n return;\n }\n\n var propStyles = _this.props.styles;\n var destStyles = typeof propStyles === 'function' ? propStyles(rehydrateStyles(_this.state.mergedPropsStyles, _this.unreadPropStyles, _this.state.lastIdealStyles)) : propStyles;\n\n // check if we need to animate in the first place\n if (shouldStopAnimationAll(_this.state.currentStyles, destStyles, _this.state.currentVelocities, _this.state.mergedPropsStyles)) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.accumulatedTime = 0;\n return;\n }\n\n var currentTime = timestamp || _performanceNow2['default']();\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta;\n // more than 10 frames? prolly switched browser tab. Restart\n if (_this.accumulatedTime > msPerFrame * 10) {\n _this.accumulatedTime = 0;\n }\n\n if (_this.accumulatedTime === 0) {\n // no need to cancel animationID here; shouldn't have any in flight\n _this.animationID = null;\n _this.startAnimationIfNecessary();\n return;\n }\n\n var currentFrameCompletion = (_this.accumulatedTime - Math.floor(_this.accumulatedTime / msPerFrame) * msPerFrame) / msPerFrame;\n var framesToCatchUp = Math.floor(_this.accumulatedTime / msPerFrame);\n\n var _mergeAndSync2 = mergeAndSync(_this.props.willEnter, _this.props.willLeave, _this.props.didLeave, _this.state.mergedPropsStyles, destStyles, _this.state.currentStyles, _this.state.currentVelocities, _this.state.lastIdealStyles, _this.state.lastIdealVelocities);\n\n var newMergedPropsStyles = _mergeAndSync2[0];\n var newCurrentStyles = _mergeAndSync2[1];\n var newCurrentVelocities = _mergeAndSync2[2];\n var newLastIdealStyles = _mergeAndSync2[3];\n var newLastIdealVelocities = _mergeAndSync2[4];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyle = newMergedPropsStyles[i].style;\n var newCurrentStyle = {};\n var newCurrentVelocity = {};\n var newLastIdealStyle = {};\n var newLastIdealVelocity = {};\n\n for (var key in newMergedPropsStyle) {\n if (!Object.prototype.hasOwnProperty.call(newMergedPropsStyle, key)) {\n continue;\n }\n\n var styleValue = newMergedPropsStyle[key];\n if (typeof styleValue === 'number') {\n newCurrentStyle[key] = styleValue;\n newCurrentVelocity[key] = 0;\n newLastIdealStyle[key] = styleValue;\n newLastIdealVelocity[key] = 0;\n } else {\n var newLastIdealStyleValue = newLastIdealStyles[i][key];\n var newLastIdealVelocityValue = newLastIdealVelocities[i][key];\n for (var j = 0; j < framesToCatchUp; j++) {\n var _stepper = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n newLastIdealStyleValue = _stepper[0];\n newLastIdealVelocityValue = _stepper[1];\n }\n\n var _stepper2 = _stepper4['default'](msPerFrame / 1000, newLastIdealStyleValue, newLastIdealVelocityValue, styleValue.val, styleValue.stiffness, styleValue.damping, styleValue.precision);\n\n var nextIdealX = _stepper2[0];\n var nextIdealV = _stepper2[1];\n\n newCurrentStyle[key] = newLastIdealStyleValue + (nextIdealX - newLastIdealStyleValue) * currentFrameCompletion;\n newCurrentVelocity[key] = newLastIdealVelocityValue + (nextIdealV - newLastIdealVelocityValue) * currentFrameCompletion;\n newLastIdealStyle[key] = newLastIdealStyleValue;\n newLastIdealVelocity[key] = newLastIdealVelocityValue;\n }\n }\n\n newLastIdealStyles[i] = newLastIdealStyle;\n newLastIdealVelocities[i] = newLastIdealVelocity;\n newCurrentStyles[i] = newCurrentStyle;\n newCurrentVelocities[i] = newCurrentVelocity;\n }\n\n _this.animationID = null;\n // the amount we're looped over above\n _this.accumulatedTime -= framesToCatchUp * msPerFrame;\n\n _this.setState({\n currentStyles: newCurrentStyles,\n currentVelocities: newCurrentVelocities,\n lastIdealStyles: newLastIdealStyles,\n lastIdealVelocities: newLastIdealVelocities,\n mergedPropsStyles: newMergedPropsStyles\n });\n\n _this.unreadPropStyles = null;\n\n _this.startAnimationIfNecessary();\n });\n };\n\n this.state = this.defaultState();\n }\n\n TransitionMotion.prototype.defaultState = function defaultState() {\n var _props = this.props;\n var defaultStyles = _props.defaultStyles;\n var styles = _props.styles;\n var willEnter = _props.willEnter;\n var willLeave = _props.willLeave;\n var didLeave = _props.didLeave;\n\n var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles;\n\n // this is special. for the first time around, we don't have a comparison\n // between last (no last) and current merged props. we'll compute last so:\n // say default is {a, b} and styles (dest style) is {b, c}, we'll\n // fabricate last as {a, b}\n var oldMergedPropsStyles = undefined;\n if (defaultStyles == null) {\n oldMergedPropsStyles = destStyles;\n } else {\n oldMergedPropsStyles = defaultStyles.map(function (defaultStyleCell) {\n // TODO: key search code\n for (var i = 0; i < destStyles.length; i++) {\n if (destStyles[i].key === defaultStyleCell.key) {\n return destStyles[i];\n }\n }\n return defaultStyleCell;\n });\n }\n var oldCurrentStyles = defaultStyles == null ? destStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _stripStyle2['default'](s.style);\n });\n var oldCurrentVelocities = defaultStyles == null ? destStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n }) : defaultStyles.map(function (s) {\n return _mapToZero2['default'](s.style);\n });\n\n var _mergeAndSync3 = mergeAndSync(\n // Because this is an old-style createReactClass component, Flow doesn't\n // understand that the willEnter and willLeave props have default values\n // and will always be present.\n willEnter, willLeave, didLeave, oldMergedPropsStyles, destStyles, oldCurrentStyles, oldCurrentVelocities, oldCurrentStyles, // oldLastIdealStyles really\n oldCurrentVelocities);\n\n var mergedPropsStyles = _mergeAndSync3[0];\n var currentStyles = _mergeAndSync3[1];\n var currentVelocities = _mergeAndSync3[2];\n var lastIdealStyles = _mergeAndSync3[3];\n var lastIdealVelocities = _mergeAndSync3[4];\n // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\n };\n };\n\n // after checking for unreadPropStyles != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n\n TransitionMotion.prototype.componentDidMount = function componentDidMount() {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n };\n\n TransitionMotion.prototype.componentWillReceiveProps = function componentWillReceiveProps(props) {\n if (this.unreadPropStyles) {\n // previous props haven't had the chance to be set yet; set them here\n this.clearUnreadPropStyle(this.unreadPropStyles);\n }\n\n var styles = props.styles;\n if (typeof styles === 'function') {\n this.unreadPropStyles = styles(rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.lastIdealStyles));\n } else {\n this.unreadPropStyles = styles;\n }\n\n if (this.animationID == null) {\n this.prevTime = _performanceNow2['default']();\n this.startAnimationIfNecessary();\n }\n };\n\n TransitionMotion.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounting = true;\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n this.animationID = null;\n }\n };\n\n TransitionMotion.prototype.render = function render() {\n var hydratedStyles = rehydrateStyles(this.state.mergedPropsStyles, this.unreadPropStyles, this.state.currentStyles);\n var renderedChildren = this.props.children(hydratedStyles);\n return renderedChildren && _react2['default'].Children.only(renderedChildren);\n };\n\n return TransitionMotion;\n})(_react2['default'].Component);\n\nexports['default'] = TransitionMotion;\nmodule.exports = exports['default'];\n\n// list of styles, each containing interpolating values. Part of what's passed\n// to children function. Notice that this is\n// Array, without the wrapper that is {key: ...,\n// data: ... style: ActualInterpolatingStyleObject}. Only mergedPropsStyles\n// contains the key & data info (so that we only have a single source of truth\n// for these, and to save space). Check the comment for `rehydrateStyles` to\n// see how we regenerate the entirety of what's passed to children function\n\n// the array that keeps track of currently rendered stuff! Including stuff\n// that you've unmounted but that's still animating. This is where it lives\n\n// it's possible that currentStyle's value is stale: if props is immediately\n// changed from 0 to 400 to spring(0) again, the async currentStyle is still\n// at 0 (didn't have time to tick and interpolate even once). If we naively\n// compare currentStyle with destVal it'll be 0 === 0 (no animation, stop).\n// In reality currentStyle should be 400","\n\n// core keys merging algorithm. If previous render's keys are [a, b], and the\n// next render's [c, b, d], what's the final merged keys and ordering?\n\n// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\n\n// this reduces to merging two partially ordered lists (e.g. lists where not\n// every item has a definite ordering, like comparing a and c above). For the\n// ambiguous ordering we deterministically choose to place the next render's\n// item after the previous'; so c after a\n\n// this is called a topological sorting. Except the existing algorithms don't\n// work well with js bc of the amount of allocation, and isn't optimized for our\n// current use-case bc the runtime is linear in terms of edges (see wiki for\n// meaning), which is huge when two lists have many common elements\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mergeDiff;\n\nfunction mergeDiff(prev, next, onRemove) {\n // bookkeeping for easier access of a key's index below. This is 2 allocations +\n // potentially triggering chrome hash map mode for objs (so it might be faster\n\n var prevKeyIndex = {};\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n var nextKeyIndex = {};\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\n }\n\n // first, an overly elaborate way of merging prev and next, eliminating\n // duplicates (in terms of keys). If there's dupe, keep the item in next).\n // This way of writing it saves allocations\n var ret = [];\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\n for (var i = 0; i < prev.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(nextKeyIndex, prev[i].key)) {\n // this is called my TM's `mergeAndSync`, which calls willLeave. We don't\n // merge in keys that the user desires to kill\n var fill = onRemove(i, prev[i]);\n if (fill != null) {\n ret.push(fill);\n }\n }\n }\n\n // now all the items all present. Core sorting logic to have the right order\n return ret.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a.key];\n var nextOrderB = nextKeyIndex[b.key];\n var prevOrderA = prevKeyIndex[a.key];\n var prevOrderB = prevKeyIndex[b.key];\n\n if (nextOrderA != null && nextOrderB != null) {\n // both keys in next\n return nextKeyIndex[a.key] - nextKeyIndex[b.key];\n } else if (prevOrderA != null && prevOrderB != null) {\n // both keys in prev\n return prevKeyIndex[a.key] - prevKeyIndex[b.key];\n } else if (nextOrderA != null) {\n // key a in next, key b in prev\n\n // how to determine the order between a and b? We find a \"pivot\" (term\n // abuse), a key present in both prev and next, that is sandwiched between\n // a and b. In the context of our above example, if we're comparing a and\n // d, b's (the only) pivot\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n\n if (nextOrderA < nextKeyIndex[pivot] && prevOrderB > prevKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && prevOrderB < prevKeyIndex[pivot]) {\n return 1;\n }\n }\n // pluggable. default to: next bigger than prev\n return 1;\n }\n // prevOrderA, nextOrderB\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[pivot] && prevOrderA > prevKeyIndex[pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[pivot] && prevOrderA < prevKeyIndex[pivot]) {\n return -1;\n }\n }\n // pluggable. default to: next bigger than prev\n return -1;\n });\n}\n\nmodule.exports = exports['default'];\n// to loop through and find a key's index each time), but I no longer care","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _presets = require('./presets');\n\nvar _presets2 = _interopRequireDefault(_presets);\n\nvar defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n});\n\nfunction spring(val, config) {\n return _extends({}, defaultConfig, config, { val: val });\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = reorderKeys;\n\nvar hasWarned = false;\n\nfunction reorderKeys() {\n if (process.env.NODE_ENV === 'development') {\n if (!hasWarned) {\n hasWarned = true;\n console.error('`reorderKeys` has been removed, since it is no longer needed for TransitionMotion\\'s new styles array API.');\n }\n }\n}\n\nmodule.exports = exports['default'];","\n// turn {x: {val: 1, stiffness: 1, damping: 2}, y: 2} generated by\n// `{x: spring(1, {stiffness: 1, damping: 2}), y: 2}` into {x: 1, y: 2}\n\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction stripStyle(style) {\n var ret = {};\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// currently used to initiate the velocity style object to 0\n'use strict';\n\nexports.__esModule = true;\nexports['default'] = mapToZero;\n\nfunction mapToZero(obj) {\n var ret = {};\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n return ret;\n}\n\nmodule.exports = exports['default'];","\n\n// stepper is used a lot. Saves allocation to return the same array wrapper.\n// This is fine and danger-free against mutations because the callsite\n// immediately destructures it and gets the numbers inside without passing the\n\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = stepper;\n\nvar reusedTuple = [0, 0];\n\nfunction stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\n\n // for animations, destX is really spring length (spring at rest). initial\n // position is considered as the stretched/compressed position of a spring\n var Fspring = -k * (x - destX);\n\n // Damping, in kg / s\n var Fdamper = -b * v;\n\n // usually we put mass here, but for animation purposes, specifying mass is a\n // bit redundant. you could simply adjust k and b accordingly\n // let a = (Fspring + Fdamper) / mass;\n var a = Fspring + Fdamper;\n\n var newV = v + a * secondPerFrame;\n var newX = x + newV * secondPerFrame;\n\n if (Math.abs(newV) < precision && Math.abs(newX - destX) < precision) {\n reusedTuple[0] = destX;\n reusedTuple[1] = 0;\n return reusedTuple;\n }\n\n reusedTuple[0] = newX;\n reusedTuple[1] = newV;\n return reusedTuple;\n}\n\nmodule.exports = exports[\"default\"];\n// array reference around.","// Generated by CoffeeScript 1.7.1\n(function() {\n var getNanoSeconds, hrtime, loadTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - loadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n","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","\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'];","import { StyleSheet } from 'lib/paypalphrodite'\n\nexport default StyleSheet.create({\n cardWrapper: {\n position: 'absolute',\n willChange: 'transform', // theoretically should improve animation performance\n marginTop: 50,\n width: 357,\n height: 500,\n margin: '0 auto',\n borderRadius: 5,\n perspective: 1000, // 3D perspective, otherwise it flips in a more 2D sort of way\n transformStyle: 'preserve-3d',\n '@media (max-width: 450px)': {\n float: 'none',\n margin: 0,\n width: 260,\n height: 375,\n },\n },\n cardFront: {\n padding: '20px',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 2,\n backgroundColor: 'white',\n borderRadius: 5,\n backfaceVisibility: 'hidden',\n cursor: 'pointer',\n backgroundSize: '102%',\n backgroundPosition: 'center',\n\n '@media (max-width: 450px)': {\n backgroundRepeat: 'no-repeat',\n backgroundSize: '105%',\n },\n },\n cardBack: {\n padding: '60px 20px 0',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n background: 'white',\n color: 'black',\n borderRadius: 5,\n backfaceVisibility: 'hidden',\n '@media (max-width: 450px)': {\n padding: '40px 20px',\n },\n },\n newCardBack: {\n background: '#4064AC',\n padding: '0 20px 0',\n '@media (max-width: 450px)': {\n padding: 0,\n },\n },\n footerThemeImage: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 40,\n height: 65,\n backgroundSize: 'cover',\n '@media (max-width: 450px)': {\n height: 48,\n bottom: 20,\n },\n },\n transactionDetails: {\n padding: '4px 40px',\n textAlign: 'center',\n '@media (max-width: 450px)': {\n padding: '0 40px',\n fontSize: 18,\n },\n },\n transactionAmount: {\n fontWeight: 800,\n },\n newTransactionDetails: {\n color: 'white',\n },\n transactionDetailsSmallerSize: {\n fontSize: '1.1em',\n },\n textArea: {\n background: 'none',\n border: 'none',\n width: 300,\n outline: 'none',\n textAlign: 'center',\n color: '#6c7378',\n padding: '10px 15px',\n borderRadius: 5,\n transition: 'background 500ms ease',\n resize: 'none',\n ':hover': {\n background: 'rgba(0, 0, 0, .04)',\n },\n ':focus': {\n background: 'rgba(0, 0, 0, .04)',\n outline: 'auto',\n },\n '@media (max-width: 450px)': {\n width: 205,\n height: 90,\n },\n },\n newTextArea: {\n background: '#F5FBFE',\n textAlign: 'left',\n color: '#687173',\n ':hover': {\n background: 'white',\n },\n ':focus': {\n background: 'white',\n outline: 'auto',\n },\n '@media (max-width: 450px)': {\n width: 205,\n },\n },\n staticMessage: {\n textAlign: 'center',\n color: '#6c7378',\n overflow: 'auto',\n padding: '10px 40px',\n overflowWrap: 'break-word',\n wordWrap: 'break-word',\n '@media (max-width: 450px)': {\n padding: '0 10px 10px',\n },\n },\n messageLargeHeight: {\n height: 155,\n '@media (max-width: 450px)': {\n height: 100,\n },\n },\n newMessageLargeHeight: {\n height: 370,\n '@media (max-width: 450px)': {\n height: 256,\n },\n },\n messageSmallHeight: {\n height: 130,\n '@media (max-width: 450px)': {\n height: 70,\n },\n },\n contactClassName: {\n margin: '0 auto',\n },\n})\n","/**\n * These are the cards... They're a front and back div (back-side flipped in 3D space, with some backface-visibility stuff),\n * sitting inside another div to contain it all. Rather than flipping this wrapper div (desired), to support IE we must\n * flip the front and back faces individually in a way that creates the illusion that the wrapper is being flipped.\n */\n\nimport PropTypes from 'prop-types'\n\nimport React from 'react'\nimport { css } from 'lib/paypalphrodite'\nimport ContactThumbnail from './new-contact-thumbnail'\nimport classNames from 'classnames'\nimport styles from './theme-card.styles'\nimport Media from 'react-media'\nimport content from 'pp-react-l10n'\nconst i18n = content('transfer/themes')\n\nclass ThemeCard extends React.Component {\n // TODO: when we move to the new i18n technique this can be converted into a stateless component\n static propTypes = {\n editableMessage: PropTypes.bool.isRequired, // sender experience is editable, recipient should just display\n displayName: PropTypes.string.isRequired,\n formattedAmount: PropTypes.string.isRequired,\n cardWrapperStyle: PropTypes.object, // this is the react-ready style object built from the parent \n cardFrontStyle: PropTypes.object, // this is the react-ready style object built from the parent \n cardBackStyle: PropTypes.object, // this is the react-ready style object built from the parent \n note: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n footerThemeImageUrl: PropTypes.string,\n isNoteFieldTabEnabled: PropTypes.bool,\n handleChangeNote: PropTypes.func,\n handleCardFrontHover: PropTypes.func,\n handleCardFrontBlur: PropTypes.func,\n handleCardFrontClick: PropTypes.func,\n themeId: PropTypes.string,\n isNewDesign: PropTypes.bool,\n }\n\n static defaultProps = {\n cardWrapperStyle: {},\n note: '',\n thumbnailUrl: '',\n handleChangeNote: () => {},\n isNoteFieldTabEnabled: true,\n isNewDesign: false,\n }\n\n /**\n * Helper to render an editable textarea, or a non-editable

\n */\n renderMessageBox = () => {\n const {\n editableMessage,\n handleChangeNote,\n note,\n thumbnailUrl,\n isNewDesign,\n } = this.props\n\n // for either editable message or static message, if there is not thumbnail, we can make the message space larger to show more text\n const shouldUseLargeHeight = !thumbnailUrl\n const textAreaClassNames = {\n [css(styles.textArea)]: true,\n [css(styles.newTextArea)]: isNewDesign,\n [css(styles.messageLargeHeight)]: shouldUseLargeHeight && !isNewDesign,\n [css(styles.newMessageLargeHeight)]: shouldUseLargeHeight && isNewDesign,\n [css(styles.messageSmallHeight)]: !shouldUseLargeHeight,\n }\n const staticMessageClassNames = {\n [css(styles.staticMessage)]: true,\n [css(styles.messageLargeHeight)]: shouldUseLargeHeight,\n [css(styles.messageSmallHeight)]: !shouldUseLargeHeight,\n }\n\n if (editableMessage) {\n return (\n handleChangeNote(value)}\n placeholder={\n isNewDesign\n ? i18n('card.notePlaceholder')\n : i18n('card.placeholder')\n }\n className={classNames(textAreaClassNames)}\n />\n )\n }\n\n return (\n \n {note}\n

\n )\n }\n\n /**\n * Renders a smaller-sized transactionDetails depending on if there is a thumbnailUrl\n */\n renderTransactionDetails = () => {\n const {\n thumbnailUrl,\n displayName,\n formattedAmount,\n isNewDesign,\n } = this.props\n const shouldUseSmallerSize = !!thumbnailUrl\n\n const transactionDetailsClassNames = {\n [css(styles.transactionDetails)]: true,\n [css(styles.transactionDetailsSmallerSize)]: shouldUseSmallerSize,\n [css(styles.newTransactionDetails)]: isNewDesign,\n }\n\n return (\n

\n {isNewDesign\n ? i18n('card.transactionMessage', { displayName })\n : i18n('card.transactionDetails', { displayName, formattedAmount })}\n {isNewDesign && (\n \n {' '}\n {formattedAmount}\n \n )}\n

\n )\n }\n\n renderContactThumbnail = () => {\n return (\n \n {match =>\n match ? (\n \n ) : (\n \n )\n }\n \n )\n }\n\n render() {\n const {\n cardWrapperStyle,\n cardFrontStyle,\n cardBackStyle,\n handleCardFrontHover,\n handleCardFrontBlur,\n thumbnailUrl,\n handleCardFrontClick,\n footerThemeImageUrl,\n isNewDesign,\n } = this.props\n\n const frontStyles = styles.cardFront\n\n return (\n
\n {\n if (event.keyCode === 32) {\n // if it's the space key\n handleCardFrontClick()\n }\n }}\n onMouseEnter={handleCardFrontHover}\n onMouseLeave={handleCardFrontBlur}\n style={cardFrontStyle}\n className={`${css(frontStyles)} unit-test-card-front`}\n />\n {isNewDesign ? (\n \n {thumbnailUrl && this.renderContactThumbnail()}\n {this.renderTransactionDetails()}\n {this.renderMessageBox()}\n
\n
\n ) : (\n
\n {thumbnailUrl && this.renderContactThumbnail()}\n {this.renderTransactionDetails()}\n {this.renderMessageBox()}\n \n
\n )}\n
\n )\n }\n}\n\nexport default ThemeCard\n"],"sourceRoot":""}