{"version":3,"sources":["webpack:///./src/pages/spring-summer-2021/campaign-progress.js","webpack:///./node_modules/react-scroll-horizontal/dist/index.es.js","webpack:///./src/images/spring-summer-2021/campaign-logo.svg","webpack:///./src/components/spring-summer-2021-stories/text-pdf.js","webpack:///./src/components/spring-summer-2021-stories/more-stories.js","webpack:///./src/images/spring-summer-2021/campaign-update/launch-graph.png","webpack:///./src/images/spring-summer-2021/campaign-update/anniversary-graph.png","webpack:///./src/images/spring-summer-2021/social-banners/campaign-progress.jpg","webpack:///./src/images/icons/scroll-icon.svg"],"names":["Index","props","updateDimensions","setState","width","window","innerWidth","state","isMobile","componentDidMount","this","addEventListener","componentWillUnmount","removeEventListener","render","pageTitle","pageDesc","slug","storylist","date","amount","donor","title","link","image","launchGraph","imageAlt","anniversaryGraph","map","story","index","storyLink","href","className","target","rel","storyImage","src","alt","content","name","reverseScroll","style","height","minHeight","campaignLogo","ScrollIcon","verticalAlign","headerStyle","locationInfo","location","issue","itemprop","socialBanner","property","React","Component","commonjsGlobal","global","self","unwrapExports","x","__esModule","Object","prototype","hasOwnProperty","call","createCommonjsModule","fn","module","exports","mapToZero_1","obj","ret","key","stripStyle_1","val","stepper_1","secondPerFrame","v","destX","k","b","precision","newV","newX","Math","abs","reusedTuple","performanceNow","getNanoSeconds","hrtime","loadTime","performance","now","process","hr","Date","getTime","performanceNow$1","moduleLoadTime","nodeLoadTime","upTime","uptime","root","vendors","suffix","raf","caf","i","length","last","id","queue","callback","_now","next","max","setTimeout","cp","slice","cancelled","e","round","push","handle","raf_1","cancel","apply","arguments","polyfill","object","requestAnimationFrame","cancelAnimationFrame","shouldStopAnimation_1","currentStyle","currentVelocity","styleValue","Motion_1","_extends","assign","source","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","_interopRequireDefault","_mapToZero2","_stripStyle2","_stepper4","_performanceNow2","_raf2","_shouldStopAnimation2","_react2","_propTypes2","Motion","_React$Component","_this","instance","TypeError","_classCallCheck","wasAnimating","animationID","prevTime","accumulatedTime","unreadPropStyle","clearUnreadPropStyle","destStyle","dirty","_state","lastIdealStyle","lastIdealVelocity","startAnimationIfNecessary","timestamp","propsStyle","onRest","currentTime","timeDelta","currentFrameCompletion","floor","framesToCatchUp","newLastIdealStyle","newLastIdealVelocity","newCurrentStyle","newCurrentVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","stiffness","damping","_stepper2","nextIdealX","nextIdealV","defaultState","subClass","superClass","create","constructor","value","setPrototypeOf","__proto__","_inherits","defaultStyle","objectOf","number","oneOfType","isRequired","children","func","_props","componentWillReceiveProps","renderedChildren","Children","only","StaggeredMotion_1","StaggeredMotion","unreadPropStyles","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","someDirty","destStyles","styles","shouldStopAnimationAll","newLastIdealStyles","newLastIdealVelocities","newCurrentStyles","newCurrentVelocities","j","defaultStyles","arrayOf","mergeDiff_1","prev","onRemove","prevKeyIndex","nextKeyIndex","fill","sort","a","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","TransitionMotion_1","_mergeDiff2","rehydrateStyles","mergedPropsStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","data","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","TransitionMotion","unmounting","_mergeAndSync","propStyles","_mergeAndSync2","newMergedPropsStyle","shape","string","any","styleThatEntered","undefined","defaultStyleCell","s","_mergeAndSync3","hydratedStyles","presets","noWobble","gentle","wobbly","stiff","spring_1","config","defaultConfig","_presets2","reorderKeys_1","reactMotion","_interopRequire","spring","stripStyle","reorderKeys","reactMotion_1","reactMotion_4","reactMotion_5","createClass","ScrollHorizontal","_Component","classCallCheck","ReferenceError","possibleConstructorReturn","getPrototypeOf","componentDidUpdate","prevProps","animValues","currentAnimValues","calculate","onScrollStart","bind","resetMin","resetMax","inherits","pageLock","orig","document","firstElementChild","findDOMNode","hScrollParent","passive","replace","_this2","preventDefault","rawData","deltaY","deltaX","mouseY","animationValue","newAnimationValue","newAnimationValueNegative","caniscroll","nextProps","nextState","timer","el","rect","getBoundingClientRect","scroller","offsetLeft","left","offsetWidth","_this3","clearTimeout","lastElementChild","scrollWidth","win","curr","bounds","_this4","springConfig","overflow","position","createElement","ref","r","z","_ref","scrollingElementStyles","transform","display","willChange","defaultProps","textPDF","level","withPrefix","MoreStories","skip","list","spring2021stories","cover","bg","direction","duration","to","thumbnail"],"mappings":"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","file":"component---src-pages-spring-summer-2021-campaign-progress-js-b13d8a6c8ec36da5b637.js","sourcesContent":["import '../../styles/pages/spring-summer-2021/campaign-progress.scss';\nimport React from \"react\";\nimport Layout from '../../components/layout';\nimport { Helmet } from \"react-helmet\"\nimport MoreStories from \"../../components/spring-summer-2021-stories/more-stories\";\nimport HorizontalScroll from 'react-scroll-horizontal'\nimport Icon from '../../components/icons'\nimport TextPDF from '../../components/spring-summer-2021-stories/text-pdf';\n\nimport socialBanner from \"../../images/spring-summer-2021/social-banners/campaign-progress.jpg\";\n\nimport launchGraph from '../../images/spring-summer-2021/campaign-update/launch-graph.png';\nimport anniversaryGraph from '../../images/spring-summer-2021/campaign-update/anniversary-graph.png';\nimport campaignLogo from '../../images/spring-summer-2021/campaign-logo.svg';\n\nimport { isMobile } from \"react-device-detect\";\n\n\nimport ScrollIcon from '../../images/icons/scroll-icon.svg';\n\nexport default class Index extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n width: 0,\n isMobile: false,\n };\n }\n\n componentDidMount() {\n this.updateDimensions();\n window.addEventListener('resize', this.updateDimensions);\n }\n\n componentWillUnmount() {\n this.updateDimensions();\n window.removeEventListener('resize', this.updateDimensions);\n }\n\n updateDimensions = () => {\n this.setState({ width: window.innerWidth });\n if (this.state.width < 768) {\n this.setState({ isMobile: true });\n }\n };\n\n render() {\n var pageTitle = 'Highlights From the First Year of ‘It Takes a Titan’';\n var pageDesc = 'From notable gifts to record-breaking days of giving, Cal State Fullerton celebrates the campaign’s momentum.';\n var slug = 'campaign-progress';\n\n const stories = [\n {\n date: 'February 2020',\n amount: '',\n donor: 'Public launch',\n title: 'University publicly launches campaign',\n link: null,\n image: launchGraph,\n imageAlt: 'Pie chart showing 63% progress $200K goal'\n },\n {\n date: 'February 2020',\n amount: '$25,000 + 40% of estate',\n donor: 'Marc Dickey',\n title: 'Marc Dickey, professor of music: $25,000 + 40% of his estate for School of Music scholarships',\n link: 'http://news.fullerton.edu/2021/03/music-professor-tops-noteworthy-career-with-a-gift-for-future-teachers/',\n image: 'http://news.fullerton.edu/app/uploads/2021/03/Marc-Dickey-S-800x500.jpg',\n imageAlt: 'Marc Dickey, professor of music'\n },\n {\n date: 'February 2020',\n amount: '$10 million',\n donor: 'Begoviches',\n title: 'Nicholas and Lee Begovich: $10 million for gravitational-wave, engineering, computer science research',\n link: 'http://news.fullerton.edu/2020/02/campaign-gift-begovich/',\n image: 'http://news.fullerton.edu/app/uploads/2020/11/GWPAC-gift-group2.jpg',\n imageAlt: 'Joshua Smith, Fram Virjee, Lee Begovich, Geoffrey Lovelace, Nicholas Begovich, Jocelyn Read'\n },\n {\n date: 'March 2020',\n amount: '$239,139',\n donor: '#TitansGive day of giving',\n title: '#TitansGive day of giving: $239,139 raised in 24 hours',\n link: 'http://news.fullerton.edu/2020/03/day-of-giving-csuf/',\n image: 'http://news.fullerton.edu/app/uploads/2020/11/tuffy-banner.gif',\n imageAlt: 'Tuffy running though \"#TitansGive\" banner'\n },\n {\n date: 'June 2020',\n amount: '$400,000',\n donor: 'Hodges Fellowship Endowment',\n title: 'Hodges Fellowship Endowment: $400,000 to support students in English or comparative literature',\n link: 'http://news.fullerton.edu/2020/06/robert-r-hodges-fellowship-endowment/',\n image: 'http://news.fullerton.edu/app/uploads/2020/11/Robert-Hodges2.jpg',\n imageAlt: 'Robert R. Hodges, professor emeritus of English'\n },\n {\n date: 'October 2020',\n amount: '$415,000',\n donor: 'Titan Emergency and Basic Needs Network',\n title: 'Titan Emergency and Basic Needs Network: $415,000 for student basic needs',\n link: null\n },\n {\n date: 'October 2020',\n amount: '$100,000',\n donor: 'Mysun Foundation',\n title: 'Mysun Foundation: $100,000 to help maintain the arboretum grounds and plants',\n link: 'http://news.fullerton.edu/2021/02/fullerton-arboretum-plants-survive-and-thrive-thanks-to-100000-matching-grant/',\n image: 'http://news.fullerton.edu/app/uploads/2021/02/Arboretum-Spring-800x500.jpg',\n imageAlt: 'Fullerton Arboretum trees in spring'\n },\n {\n date: 'November 2020 ',\n amount: '$300,000',\n donor: 'Tarsadia Foundation',\n title: 'Tarsadia Foundation: $300,000 for the Center for Healthy Neighborhoods',\n link: 'http://news.fullerton.edu/2021/02/tarsadia-foundation-gifts-300000-to-center-for-healthy-neighborhoods/',\n image: 'http://news.fullerton.edu/app/uploads/2021/02/Center-Healthy-Neighborhoods-800x500.jpg',\n imageAlt: 'Center for Healthy Neighborhoods mentor an mentee'\n },\n {\n date: 'December 2020',\n amount: '$45,000',\n donor: 'Alumni Association',\n title: 'Alumni Association: $45,000 for students in need due to the pandemic',\n link: 'http://news.fullerton.edu/2021/01/alumni-association-steps-up-with-45000-grant-to-help-current-students/',\n image: 'http://news.fullerton.edu/app/uploads/2021/01/Spring_2020_010-800x500.jpg',\n imageAlt: 'Alumni House, home to the CSUF Alumni Association'\n },\n {\n date: 'December 2020',\n amount: '$1 million',\n donor: 'Terry Giles',\n title: 'Terry Giles ’70, owner and president of Giles Enterprises: $1 million to the Center for Leadership',\n link: 'http://news.fullerton.edu/2021/02/alumnus-commits-1-million-gift-to-center-for-leadership/',\n image: 'http://news.fullerton.edu/app/uploads/2021/02/Terry-Giles-Marina-800x500.jpg',\n imageAlt: 'Terry Giles'\n },\n {\n date: 'January 2021',\n amount: '$500,000',\n donor: 'NBCUniversal',\n title: 'NBCUniversal: $500,000 to advance training of diverse journalists',\n link: 'http://news.fullerton.edu/2021/01/500000-grant-from-nbcuniversal-to-advance-training-of-diverse-journalists/',\n image: 'http://news.fullerton.edu/app/uploads/2021/01/NBC-Grant-800x500.jpg',\n imageAlt: 'Broadcast students learn on set.'\n },\n {\n date: 'February 2021',\n amount: '$800,000',\n donor: 'SchoolsFirst',\n title: 'SchoolsFirst: $800,000 to support future teachers',\n link: 'http://news.fullerton.edu/2021/03/schoolsfirst-fcu-donates-800000-to-enhance-support-for-teachers/',\n image: 'http://news.fullerton.edu/app/uploads/2021/02/CSUF-College-Education-Grant-Schools-First-800x500.jpg',\n imageAlt: 'CSUF College of Education'\n },\n {\n date: 'February 2021',\n amount: '$75,000',\n donor: 'The Cervantes Family',\n title: 'The Cervantes Family: $75,000 to support Titan softball',\n link: 'http://news.fullerton.edu/2021/04/softball-dad-hits-it-out-of-the-park-with-gift-to-championship-program/',\n image: 'http://news.fullerton.edu/app/uploads/2021/04/Softball-Building-Render-800x500.jpg',\n imageAlt: 'Softball clubhouse rendering'\n },\n {\n date: 'March 2021',\n amount: '$650,000',\n donor: 'Northeastern Funded By Pivotal Ventures',\n title: '$650,000 grant to attract, retain and graduate women in computer science',\n link: 'http://news.fullerton.edu/2021/03/650000-grant-to-attract-retain-and-graduate-women-in-computer-science/',\n image: 'http://news.fullerton.edu/app/uploads/2021/03/women-computer-science-800x500.jpg',\n imageAlt: '3 female students looking at computer screen'\n },\n {\n date: 'March 2021',\n amount: '$450,000',\n donor: '#TitansGive day of giving',\n title: '#TitansGive day of giving: more than $450,000 raised in 24 hours',\n link: 'http://news.fullerton.edu/2021/03/universitys-day-of-giving-raises-more-than-450000/',\n image: 'http://news.fullerton.edu/app/uploads/2021/03/It-Takes-A-Titan-Campaign-Update-1-800x500.jpg',\n imageAlt: 'Graduates Celebrating with Camapign text'\n },\n\n {\n date: 'March 2021',\n amount: '',\n donor: 'One-year anniversary',\n title: 'One-year anniversary of campaign launch',\n link: null,\n image: anniversaryGraph,\n imageAlt: 'Pie chart showing 85% progress $200K goal'\n }\n ]\n\n const storylist = stories.map(function(story,index){\n\n var storyLink = '';\n if (story.link) {\n storyLink = Read More\n }\n\n var storyImage = '';\n if (story.image) {\n storyImage = {story.imageAlt}\n }\n\n return (\n
  • \n \n
    \n {story.date}\n {story.donor}\n {story.amount}\n
    \n {storyImage}\n {story.title}\n {storyLink}\n
    \n
    \n
  • \n )\n\n })\n\n // const storylistDots = stories.map(function(story,index){\n\n // return (\n //
  • \n // )\n\n // })\n\n\n if (this.state.width < 1025) {\n // if (isMobile) {\n var content =
    \n
    \n
    \n \n

    {pageTitle}

    \n \n {pageDesc}\n \n

    Titan resilience and generosity were on full display in the first year of Cal State Fullerton’s comprehensive campaign, “It Takes a Titan.”

    \n \n

    Amid a pandemic that swiftly increased student unemployment, food insecurity and even homelessness, the Titan community stepped up to help with basic needs, while continuing to support future student success in the post-pandemic world.

    \n \n

    The university is celebrating that “It Takes a Titan” has raised nearly $170 million and is 85% to its goal of $200 million. To learn more about the campaign and how to make a difference in the life of a Titan, visit campaign.fullerton.edu.

    \n \n
    \n

    Scroll horizontally to view the timeline, tap a story to learn more.

    \n
    \n \n
    \n \n \n {/* */}\n \n
    \n
    \n } else {\n var content = \n
    \n
    \n\n

    {pageTitle}

    \n \n {pageDesc}\n\n

    Titan resilience and generosity were on full display in the first year of Cal State Fullerton’s comprehensive campaign, “It Takes a Titan.”

    \n\n

    Amid a pandemic that swiftly increased student unemployment, food insecurity and even homelessness, the Titan community stepped up to help with basic needs, while continuing to support future student success in the post-pandemic world.

    \n\n

    The university is celebrating that “It Takes a Titan” has raised nearly $170 million and is 85% to its goal of $200 million. To learn more about the campaign and how to make a difference in the life of a Titan, visit campaign.fullerton.edu.

    \n\n \"It\n\n
    \n

    Scroll \"\" to view the timeline, hover over a story to learn more.

    \n
    \n\n
    \n\n \n {/* */}\n\n
    \n
    \n }\n\n\n return (\n \n \n {pageTitle}\n \n\n \n\n {/* Schema.org markup for Google+ */}\n \n \n \n\n {/* Twitter Card data */}\n \n \n \n\n {/* Open Graph data */}\n \n \n \n \n \n\n \n\n\n {content}\n\n \n \n );\n }\n} ","import \"core-js/modules/es.array.sort.js\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport DOM from 'react-dom';\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction unwrapExports(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nfunction createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n}\n\nvar mapToZero_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports['default'] = mapToZero;\n\n function mapToZero(obj) {\n var ret = {};\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n ret[key] = 0;\n }\n }\n\n return ret;\n }\n\n module.exports = exports['default'];\n});\nunwrapExports(mapToZero_1);\nvar stripStyle_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports['default'] = stripStyle;\n\n function stripStyle(style) {\n var ret = {};\n\n for (var key in style) {\n if (!Object.prototype.hasOwnProperty.call(style, key)) {\n continue;\n }\n\n ret[key] = typeof style[key] === 'number' ? style[key] : style[key].val;\n }\n\n return ret;\n }\n\n module.exports = exports['default'];\n});\nunwrapExports(stripStyle_1);\nvar stepper_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports[\"default\"] = stepper;\n var reusedTuple = [0, 0];\n\n function stepper(secondPerFrame, x, v, destX, k, b, precision) {\n // Spring stiffness, in kg / s^2\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); // Damping, in kg / s\n\n var Fdamper = -b * v; // 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\n var a = Fspring + Fdamper;\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\n module.exports = exports[\"default\"]; // array reference around.\n});\nunwrapExports(stepper_1);\nvar performanceNow = createCommonjsModule(function (module) {\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\n hrtime = process.hrtime;\n\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n\n loadTime = getNanoSeconds();\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n\n loadTime = new Date().getTime();\n }\n }).call(commonjsGlobal);\n});\nvar performanceNow$1 = createCommonjsModule(function (module) {\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\n hrtime = process.hrtime;\n\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\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\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n\n loadTime = new Date().getTime();\n }\n }).call(commonjsGlobal);\n});\nvar root = typeof window === 'undefined' ? commonjsGlobal : 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] || root[vendors[i] + 'CancelRequest' + suffix];\n} // Some versions of FF have rAF but not cAF\n\n\nif (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = performanceNow$1(),\n next = Math.max(0, frameDuration - (_now - last));\n\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0); // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n\n queue.length = 0;\n\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 () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function caf(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\nvar raf_1 = function raf_1(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};\n\nvar cancel = function cancel() {\n caf.apply(root, arguments);\n};\n\nvar polyfill = function polyfill(object) {\n if (!object) {\n object = root;\n }\n\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};\n\nraf_1.cancel = cancel;\nraf_1.polyfill = polyfill;\nvar shouldStopAnimation_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports['default'] = shouldStopAnimation;\n\n function 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; // stepper will have already taken care of rounding precision errors, so\n // won't have such thing as 0.9999 !=== 1\n\n if (currentStyle[key] !== styleValue) {\n return false;\n }\n }\n\n return true;\n }\n\n module.exports = exports['default'];\n});\nunwrapExports(shouldStopAnimation_1);\nvar Motion_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var _mapToZero2 = _interopRequireDefault(mapToZero_1);\n\n var _stripStyle2 = _interopRequireDefault(stripStyle_1);\n\n var _stepper4 = _interopRequireDefault(stepper_1);\n\n var _performanceNow2 = _interopRequireDefault(performanceNow);\n\n var _raf2 = _interopRequireDefault(raf_1);\n\n var _shouldStopAnimation2 = _interopRequireDefault(shouldStopAnimation_1);\n\n var _react2 = _interopRequireDefault(React);\n\n var _propTypes2 = _interopRequireDefault(PropTypes);\n\n var msPerFrame = 1000 / 60;\n\n var 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\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\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({\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: lastIdealStyle,\n lastIdealVelocity: lastIdealVelocity\n });\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\n if (_shouldStopAnimation2['default'](_this.state.currentStyle, propsStyle, _this.state.currentVelocity)) {\n if (_this.wasAnimating && _this.props.onRest) {\n _this.props.onRest();\n } // no need to cancel animationID here; shouldn't have any in flight\n\n\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\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta; // more than 10 frames? prolly switched browser tab. Restart\n\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\n _this.startAnimationIfNecessary();\n\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 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\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\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 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; // the amount we're looped over above\n\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\n var currentVelocity = _mapToZero2['default'](currentStyle);\n\n return {\n currentStyle: currentStyle,\n currentVelocity: currentVelocity,\n lastIdealStyle: currentStyle,\n lastIdealVelocity: currentVelocity\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\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\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\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\n exports['default'] = Motion;\n module.exports = exports['default']; // after checking for unreadPropStyle != null, we manually go set the\n // non-interpolating values (those that are a number, without a spring\n // config)\n});\nunwrapExports(Motion_1);\nvar StaggeredMotion_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var _mapToZero2 = _interopRequireDefault(mapToZero_1);\n\n var _stripStyle2 = _interopRequireDefault(stripStyle_1);\n\n var _stepper4 = _interopRequireDefault(stepper_1);\n\n var _performanceNow2 = _interopRequireDefault(performanceNow);\n\n var _raf2 = _interopRequireDefault(raf_1);\n\n var _shouldStopAnimation2 = _interopRequireDefault(shouldStopAnimation_1);\n\n var _react2 = _interopRequireDefault(React);\n\n var _propTypes2 = _interopRequireDefault(PropTypes);\n\n var msPerFrame = 1000 / 60;\n\n function 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\n return true;\n }\n\n var 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\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 var someDirty = false;\n\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\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\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({\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities\n });\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); // check if we need to animate in the first place\n\n\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\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta; // more than 10 frames? prolly switched browser tab. Restart\n\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\n _this.startAnimationIfNecessary();\n\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 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\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\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 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; // the amount we're looped over above\n\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 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\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\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\n exports['default'] = StaggeredMotion;\n module.exports = exports['default']; // 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 // 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});\nunwrapExports(StaggeredMotion_1);\nvar mergeDiff_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports['default'] = mergeDiff;\n\n function 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 var prevKeyIndex = {};\n\n for (var i = 0; i < prev.length; i++) {\n prevKeyIndex[prev[i].key] = i;\n }\n\n var nextKeyIndex = {};\n\n for (var i = 0; i < next.length; i++) {\n nextKeyIndex[next[i].key] = i;\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\n\n var ret = [];\n\n for (var i = 0; i < next.length; i++) {\n ret[i] = next[i];\n }\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\n if (fill != null) {\n ret.push(fill);\n }\n }\n } // now all the items all present. Core sorting logic to have the right order\n\n\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 // 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\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 } // pluggable. default to: next bigger than prev\n\n\n return 1;\n } // prevOrderA, nextOrderB\n\n\n for (var i = 0; i < next.length; i++) {\n var pivot = next[i].key;\n\n if (!Object.prototype.hasOwnProperty.call(prevKeyIndex, pivot)) {\n continue;\n }\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 } // pluggable. default to: next bigger than prev\n\n\n return -1;\n });\n }\n\n module.exports = exports['default']; // to loop through and find a key's index each time), but I no longer care\n});\nunwrapExports(mergeDiff_1);\nvar TransitionMotion_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if ('value' in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n }\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n var _mapToZero2 = _interopRequireDefault(mapToZero_1);\n\n var _stripStyle2 = _interopRequireDefault(stripStyle_1);\n\n var _stepper4 = _interopRequireDefault(stepper_1);\n\n var _mergeDiff2 = _interopRequireDefault(mergeDiff_1);\n\n var _performanceNow2 = _interopRequireDefault(performanceNow);\n\n var _raf2 = _interopRequireDefault(raf_1);\n\n var _shouldStopAnimation2 = _interopRequireDefault(shouldStopAnimation_1);\n\n var _react2 = _interopRequireDefault(React);\n\n var _propTypes2 = _interopRequireDefault(PropTypes);\n\n var msPerFrame = 1000 / 60; // 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\n\n function 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\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\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\n return {\n key: mergedPropsStyle.key,\n data: mergedPropsStyle.data,\n style: plainStyles[i]\n };\n });\n }\n\n function 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 } // 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\n\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 } // core key merging logic\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 // 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\n\n\n function 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\n if (leavingStyle == null) {\n didLeave({\n key: oldMergedPropsStyle.key,\n data: oldMergedPropsStyle.data\n });\n return null;\n }\n\n if (_shouldStopAnimation2['default'](oldCurrentStyles[oldIndex], leavingStyle, oldCurrentVelocities[oldIndex])) {\n didLeave({\n key: oldMergedPropsStyle.key,\n data: oldMergedPropsStyle.data\n });\n return null;\n }\n\n return {\n key: oldMergedPropsStyle.key,\n data: oldMergedPropsStyle.data,\n style: leavingStyle\n };\n });\n\n var newCurrentStyles = [];\n var newCurrentVelocities = [];\n var newLastIdealStyles = [];\n var newLastIdealVelocities = [];\n\n for (var i = 0; i < newMergedPropsStyles.length; i++) {\n var newMergedPropsStyleCell = newMergedPropsStyles[i];\n var foundOldIndex = null;\n\n for (var j = 0; j < oldMergedPropsStyles.length; j++) {\n if (oldMergedPropsStyles[j].key === newMergedPropsStyleCell.key) {\n foundOldIndex = j;\n break;\n }\n } // TODO: key search code\n\n\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\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\n var 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\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\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\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 } // 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\n\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 } // 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\n\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; // check if we need to animate in the first place\n\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\n var timeDelta = currentTime - _this.prevTime;\n _this.prevTime = currentTime;\n _this.accumulatedTime = _this.accumulatedTime + timeDelta; // more than 10 frames? prolly switched browser tab. Restart\n\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\n _this.startAnimationIfNecessary();\n\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\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\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 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; // the amount we're looped over above\n\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 var destStyles = typeof styles === 'function' ? styles(defaultStyles) : styles; // 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\n var oldMergedPropsStyles = undefined;\n\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\n return defaultStyleCell;\n });\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( // 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]; // oldLastIdealVelocities really\n\n return {\n currentStyles: currentStyles,\n currentVelocities: currentVelocities,\n lastIdealStyles: lastIdealStyles,\n lastIdealVelocities: lastIdealVelocities,\n mergedPropsStyles: mergedPropsStyles\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\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\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\n if (this.animationID != null) {\n _raf2['default'].cancel(this.animationID);\n\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\n exports['default'] = TransitionMotion;\n module.exports = exports['default']; // 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 // 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 // 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});\nunwrapExports(TransitionMotion_1);\nvar presets = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports[\"default\"] = {\n noWobble: {\n stiffness: 170,\n damping: 26\n },\n // the default, if nothing provided\n gentle: {\n stiffness: 120,\n damping: 14\n },\n wobbly: {\n stiffness: 180,\n damping: 12\n },\n stiff: {\n stiffness: 210,\n damping: 20\n }\n };\n module.exports = exports[\"default\"];\n});\nunwrapExports(presets);\nvar spring_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n exports['default'] = spring;\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n }\n\n var _presets2 = _interopRequireDefault(presets);\n\n var defaultConfig = _extends({}, _presets2['default'].noWobble, {\n precision: 0.01\n });\n\n function spring(val, config) {\n return _extends({}, defaultConfig, config, {\n val: val\n });\n }\n\n module.exports = exports['default'];\n});\nunwrapExports(spring_1);\nvar reorderKeys_1 = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n exports['default'] = reorderKeys;\n var hasWarned = false;\n\n function 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\n module.exports = exports['default'];\n});\nunwrapExports(reorderKeys_1);\nvar reactMotion = createCommonjsModule(function (module, exports) {\n exports.__esModule = true;\n\n function _interopRequire(obj) {\n return obj && obj.__esModule ? obj['default'] : obj;\n }\n\n exports.Motion = _interopRequire(Motion_1);\n exports.StaggeredMotion = _interopRequire(StaggeredMotion_1);\n exports.TransitionMotion = _interopRequire(TransitionMotion_1);\n exports.spring = _interopRequire(spring_1);\n exports.presets = _interopRequire(presets);\n exports.stripStyle = _interopRequire(stripStyle_1); // deprecated, dummy warning function\n\n exports.reorderKeys = _interopRequire(reorderKeys_1);\n});\nunwrapExports(reactMotion);\nvar reactMotion_1 = reactMotion.Motion;\nvar reactMotion_2 = reactMotion.StaggeredMotion;\nvar reactMotion_3 = reactMotion.TransitionMotion;\nvar reactMotion_4 = reactMotion.spring;\nvar reactMotion_5 = reactMotion.presets;\nvar reactMotion_6 = reactMotion.stripStyle;\nvar reactMotion_7 = reactMotion.reorderKeys;\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar ScrollHorizontal = function (_Component) {\n inherits(ScrollHorizontal, _Component);\n\n function ScrollHorizontal(props) {\n classCallCheck(this, ScrollHorizontal);\n\n var _this = possibleConstructorReturn(this, (ScrollHorizontal.__proto__ || Object.getPrototypeOf(ScrollHorizontal)).call(this, props));\n\n _this.componentDidUpdate = function (prevProps) {\n if (prevProps.animValues !== _this.props.animValues) {\n var currentAnimValues = _this.state.animValues;\n\n _this.setState({\n animValues: currentAnimValues + _this.props.animValues\n }, _this.calculate());\n } else {\n _this.calculate();\n }\n };\n\n _this.state = {\n animValues: 0\n };\n _this.onScrollStart = _this.onScrollStart.bind(_this);\n _this.resetMin = _this.resetMin.bind(_this);\n _this.resetMax = _this.resetMax.bind(_this);\n return _this;\n }\n\n createClass(ScrollHorizontal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // Place the 'lock__' class on the HTML element - if toggled\n if (this.props.pageLock) {\n var orig = document.firstElementChild.className;\n document.firstElementChild.className = orig + (orig ? ' ' : '') + 'locked__';\n }\n\n DOM.findDOMNode(this.hScrollParent).addEventListener('wheel', this.onScrollStart, {\n passive: false\n });\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.pageLock) {\n document.firstElementChild.className = document.firstElementChild.className.replace(/ ?locked__/, '');\n }\n\n DOM.findDOMNode(this.hScrollParent).removeEventListener('wheel', this.onScrollStart);\n }\n }, {\n key: 'onScrollStart',\n value: function onScrollStart(e) {\n var _this2 = this;\n\n e.preventDefault(); // If scrolling on x axis, change to y axis. Otherwise, just get the y deltas.\n // (Basically, this for Apple mice that allow horizontal scrolling by default)\n\n var rawData = e.deltaY ? e.deltaY : e.deltaX;\n var mouseY = Math.floor(rawData); // Bring in the existing animation values\n\n var animationValue = this.state.animValues;\n var newAnimationValue = animationValue + mouseY;\n var newAnimationValueNegative = animationValue - mouseY;\n\n if (!this.caniscroll()) {\n return;\n }\n\n var scrolling = function scrolling() {\n _this2.props.reverseScroll ? _this2.setState({\n animValues: newAnimationValueNegative\n }) : _this2.setState({\n animValues: newAnimationValue\n });\n }; // Begin Scrolling Animation\n\n\n window.requestAnimationFrame(scrolling);\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n if (this.calculate.timer !== void 0 && this.props.children === nextProps.children && this.state.animValues === nextState.animValues && this.props.animValues === nextProps.animValues) {\n return false;\n }\n\n if (this.props.children === nextProps.children && this.caniscroll() === false) {\n return false;\n }\n\n return true;\n }\n }, {\n key: 'caniscroll',\n value: function caniscroll() {\n var el = DOM.findDOMNode(this.hScrollParent);\n var rect = el.getBoundingClientRect();\n var scroller = el.firstElementChild;\n return scroller.offsetLeft < rect.left || scroller.offsetLeft + scroller.offsetWidth > rect.width;\n }\n }, {\n key: 'calculate',\n value: function calculate() {\n var _this3 = this; // Cancel the previous calculate\n\n\n clearTimeout(this.calculate.timer); // Lazy to calculate, prevent max recurse call\n\n this.calculate.timer = setTimeout(function () {\n // Calculate the bounds of the scroll area\n var el = DOM.findDOMNode(_this3.hScrollParent);\n var max = el.lastElementChild.scrollWidth;\n var win = el.offsetWidth; // Get the new animation values\n\n var curr = _this3.state.animValues; // Establish the bounds. We do this every time b/c it might change.\n\n var bounds = -(max - win); // Logic to hold everything in place\n\n if (curr >= 1) {\n _this3.resetMin();\n } else if (curr <= bounds) {\n var x = bounds + 1;\n\n _this3.resetMax(x);\n }\n });\n }\n }, {\n key: 'resetMin',\n value: function resetMin() {\n this.setState({\n animValues: 0\n });\n }\n }, {\n key: 'resetMax',\n value: function resetMax(x) {\n this.setState({\n animValues: x\n });\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n\n var _props = this.props,\n config = _props.config,\n style = _props.style,\n children = _props.children;\n var width = style.width,\n height = style.height;\n var springConfig = config || reactMotion_5.noWobble; // Styles\n\n var styles = _extends({\n height: height || '100%',\n width: width || '100%',\n overflow: 'hidden',\n position: 'relative'\n }, style);\n\n return React.createElement('div', {\n ref: function ref(r) {\n _this4.hScrollParent = r;\n },\n style: styles,\n className: 'scroll-horizontal ' + (this.props.className || '')\n }, React.createElement(reactMotion_1, {\n style: {\n z: reactMotion_4(this.state.animValues, springConfig)\n }\n }, function (_ref) {\n var z = _ref.z;\n var scrollingElementStyles = {\n transform: 'translate3d(' + z + 'px, 0,0)',\n display: 'inline-flex',\n height: '100%',\n position: 'absolute',\n willChange: 'transform'\n };\n return React.createElement('div', {\n style: scrollingElementStyles\n }, children);\n }));\n }\n }]);\n return ScrollHorizontal;\n}(Component);\n\nScrollHorizontal.defaultProps = {\n reverseScroll: false,\n pageLock: false,\n config: null,\n style: {\n width: '100%',\n height: '100%'\n },\n className: null,\n animValues: null\n};\nexport default ScrollHorizontal;","module.exports = __webpack_public_path__ + \"static/campaign-logo-f889cd73f96261bb346e7dc5e7ca3fc2.svg\";","import React from \"react\";\nimport { withPrefix } from \"gatsby\"\nimport { TransitionPortal } from \"gatsby-plugin-transition-link\";\nimport Icon from \"../icons\"\n\nexport default class textPDF extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n \n \n \n Download text alternative PDF\n \n \n );\n }\n} ","import React from \"react\"\nimport {spring2021stories} from './stories';\n// import ScrollAnimation from 'react-animate-on-scroll';\nimport Link from \"gatsby-plugin-transition-link/AniLink\";\n\nexport default class MoreStories extends React.Component {\n\n constructor(props) {\n super(props);\n }\n\n render() {\n\n var skip = this.props.slug;\n // console.log(skip)\n\n const list = spring2021stories.map(function(story){\n if (story.slug != skip) {\n\n var slug = \"/spring-summer-2021/\" + story.slug + \"/\";\n\n return (\n
  • \n \n \"\"\n {story.title}\n \n
  • \n )\n }\n })\n \n\n // console.log(stories);\n\n return (\n \n
    \n {/* */}\n
    \n

    More Stories

    \n
      \n {list}\n
    \n
    \n {/*
    */}\n
    \n \n );\n }\n} ","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/campaign-progress-4d8c889e566d70b626c6413041af092d.jpg\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1OCAxMDQuMTMiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMzMzO308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zNy4xMiwxMy4xOGEyLjI5LDIuMjksMCwwLDEtMS4yNiwyLjExQTEuOTMsMS45MywwLDAsMSwzMy42LDE1Yy0xLjQ4LTEuMTQtMi40Ny0zLjYzLTQuMTQtMy41MS0xLjM5LjEtMi42MSwyLjI0LTMuOTQsMy40NGExLjkyLDEuOTIsMCwwLDEtMi45LS4wNkExLjg4LDEuODgsMCwwLDEsMjIuNSwxMmMxLjg4LTIsMy44MS0zLjg0LDUuNzUtNS43MmExLjYsMS42LDAsMCwxLDIuMjMtLjIxYzIuMTcsMiw0LjI0LDQuMTYsNi4zMSw2LjI4QTIsMiwwLDAsMSwzNy4xMiwxMy4xOFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNC4zLDg5LjMyYzEuNTUuMjIsMi40OCwxLjcsMy40NywyLjg5LDEuMzYsMS42MywyLjMyLDEuNTIsMy41Mi0uMDdhMTUuNSwxNS41LDAsMCwxLDIuMzEtMi4yNywxLjksMS45LDAsMCwxLDIuODguMTYsMS43OSwxLjc5LDAsMCwxLC4xNiwyLjY3Yy0xLjkyLDItMy45LDQtNS45Miw1LjkyYTEuNjgsMS42OCwwLDAsMS0yLjQ1LDBjLTItMS45My00LjA3LTMuODQtNS44OS02QzIxLjI2LDkxLjMzLDIyLjM2LDg5LjM4LDI0LjMsODkuMzJaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNDksNDIuMTRhMTkuNTEsMTkuNTEsMCwwLDAtMzguNTctMy42NmMtMSw0LjU3LS4yLDkuMTktLjQ4LDEzLDAsNC4yNy0uMDUsNy43MSwwLDExLjE0YTE5LjUyLDE5LjUyLDAsMCwwLDM5LC4xOFE0OS4yMSw1Mi40NSw0OSw0Mi4xNFpNNDQuNjksNjIuNjVhMTUuMTgsMTUuMTgsMCwwLDEtMzAuMzQsMGMtLjA4LTMuNDMsMC02Ljg2LDAtMTAuMjlzLS4wNi02LjY4LDAtMTBhMTUuMTcsMTUuMTcsMCwwLDEsMzAuMzQsMFE0NC44Niw1Mi41LDQ0LjY5LDYyLjY1WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTI3LjM2LDQwLjNjMC0xLDAtMiwwLTNhMiwyLDAsMCwxLDIuMjEtMi4yMSwyLDIsMCwwLDEsMi4wOCwyYy4wNywyLjI1LjA5LDQuNTEsMCw2Ljc3YTIsMiwwLDAsMS0yLjE3LDEuOTQsMiwyLDAsMCwxLTIuMDgtMmMtLjA4LTEuMTcsMC0yLjM0LDAtMy41MloiLz48L3N2Zz4=\""],"sourceRoot":""}