{"version":3,"sources":["webpack:///./src/components/common/ProductHighlight.js","webpack:///./node_modules/react-motion/lib/react-motion.js","webpack:///./src/components/common/Modal.module.css","webpack:///./src/components/common/FlexRow.tsx","webpack:///./src/components/common/JumbotronFluid.js","webpack:///./src/components/common/Modal.tsx","webpack:///./node_modules/react-motion/lib/presets.js","webpack:///./src/components/common/Jumbotron.js","webpack:///./node_modules/react-motion/lib/reorderKeys.js","webpack:///./node_modules/react-collapse/lib/index.js","webpack:///./node_modules/react-collapse/lib/UnmountClosed.js","webpack:///./node_modules/react-motion/node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/react-motion/lib/mapToZero.js","webpack:///./src/components/common/OptInForm.tsx","webpack:///./node_modules/performance-now/lib/performance-now.js","webpack:///./node_modules/react-motion/lib/stepper.js","webpack:///./src/components/common/FlexCell.tsx","webpack:///./node_modules/react-motion/lib/shouldStopAnimation.js","webpack:///./node_modules/react-motion/lib/TransitionMotion.js","webpack:///./node_modules/react-motion/lib/mergeDiff.js","webpack:///./node_modules/react-collapse/lib/Collapse.js","webpack:///./node_modules/react-motion/lib/spring.js","webpack:///./node_modules/react-motion/lib/stripStyle.js","webpack:///./node_modules/react-motion/lib/StaggeredMotion.js","webpack:///./src/views/MainPage/FAQ.js","webpack:///./node_modules/react-motion/lib/Motion.js","webpack:///./node_modules/raf/index.js"],"names":["Step","onClick","props","index","render","this","highlight","title","text","children","className","xs12","s","align","Component","Highlight","state","toNext","toPrev","componentWillReceiveProps","nextProps","fromNext","fromPrev","nextToPrev","prevToNext","setState","VideoHighlight","videoRef","React","createRef","playing","current","play","pause","ref","playsInline","muted","loop","ImageHighlight","animateSmall","steps","positions","cn","map","step","idx","Content","component","key","indexOf","active","StepTimer","nextHighlight","slots","slice","concat","stepTimer","setTimeout","timeout","onHighlight","number","previousIdx","clearTimeout","undefined","componentDidMount","window","innerWidth","componentWillUnmount","ProductHighlight","onRender","translate","_interopRequire","obj","__esModule","exports","_Motion","Motion","_StaggeredMotion","StaggeredMotion","_TransitionMotion","TransitionMotion","_spring","spring","_presets","presets","_stripStyle","stripStyle","_reorderKeys","reorderKeys","module","FlexRow","style","Object","assign","display","column","flexDirection","justify","justifyContent","val","label","value","find","v","alignItems","nowrap","wrap","flexWrap","JumbotronFluid","color","backgroundColor","containerClassName","ReactModal","require","Modal","contentLabel","isOpen","onClose","image","closeBtnColor","contentClassName","onRequestClose","styles","modal","closeTimeoutMS","body","modalImg","src","alt","content","closeBtn","icon","noWobble","stiffness","damping","gentle","wobbly","stiff","Jumbotron","Collapse","UnmountClosed","defineProperty","_extends","target","i","arguments","length","source","prototype","hasOwnProperty","call","_createClass","defineProperties","descriptor","enumerable","configurable","writable","Constructor","protoProps","staticProps","_react2","_interopRequireDefault","_propTypes2","_Collapse","default","_React$PureComponent","instance","TypeError","_classCallCheck","_this","self","ReferenceError","_possibleConstructorReturn","__proto__","getPrototypeOf","_ref","isOpened","forceInitialAnimation","shouldUnmount","onRest","_this$props","apply","subClass","superClass","create","constructor","setPrototypeOf","_inherits","_props","keys","_objectWithoutProperties","_state","createElement","PureComponent","propTypes","bool","isRequired","func","getNanoSeconds","hrtime","loadTime","performance","now","process","hr","Date","getTime","ret","defaultOptInContext","values","sending","onChange","OptInContext","TextField","renderWithContext","context","fieldName","name","error","required","placeholder","Consumer","CompanyField","NameField","EmailField","SubmitButton","actionText","loadingText","submit","disabled","ErrorLabel","signup","OptInForm","update","onSubmit","ev","preventDefault","trim","email","toLowerCase","companyName","company","replace","companyRequired","validateEmail","botSignup","gtag","signupFrom","signupData","getSignupData","axios","post","signUpUrl","then","res","status","onSubscribe","data","catch","err","response","getError","Provider","moduleLoadTime","nodeLoadTime","upTime","uptime","secondPerFrame","x","destX","k","b","precision","newV","newX","Math","abs","reusedTuple","FlexCell","grow","flexGrow","p","padding","pt","paddingTop","pr","paddingRight","pb","paddingBottom","pl","paddingLeft","ph","ps","width","currentStyle","currentVelocity","styleValue","_mapToZero2","_stripStyle2","_stepper4","_mergeDiff2","_performanceNow2","_raf2","_shouldStopAnimation2","rehydrateStyles","mergedPropsStyles","unreadPropStyles","plainStyles","cUnreadPropStyles","mergedPropsStyle","j","mergeAndSync","willEnter","willLeave","didLeave","oldMergedPropsStyles","destStyles","oldCurrentStyles","oldCurrentVelocities","oldLastIdealStyles","oldLastIdealVelocities","newMergedPropsStyles","oldIndex","oldMergedPropsStyle","leavingStyle","newCurrentStyles","newCurrentVelocities","newLastIdealStyles","newLastIdealVelocities","newMergedPropsStyleCell","foundOldIndex","plainStyle","velocity","_React$Component","unmounting","animationID","prevTime","accumulatedTime","clearUnreadPropStyle","_mergeAndSync","currentStyles","currentVelocities","lastIdealStyles","lastIdealVelocities","unreadPropStyle","dirty","startAnimationIfNecessary","timestamp","propStyles","shouldStopAnimationAll","currentTime","timeDelta","currentFrameCompletion","floor","framesToCatchUp","_mergeAndSync2","newMergedPropsStyle","newCurrentStyle","newCurrentVelocity","newLastIdealStyle","newLastIdealVelocity","newLastIdealStyleValue","newLastIdealVelocityValue","_stepper","_stepper2","nextIdealX","nextIdealV","defaultState","defaultStyles","arrayOf","shape","string","any","objectOf","oneOfType","object","styleThatEntered","defaultStyleCell","_mergeAndSync3","cancel","hydratedStyles","renderedChildren","Children","only","prev","next","onRemove","prevKeyIndex","nextKeyIndex","fill","push","sort","a","nextOrderA","nextOrderB","prevOrderA","prevOrderB","pivot","_reactMotion","noop","_initialiseProps","currentState","from","to","getTo","wrapper","clientHeight","hasNestedCollapse","_","prevState","_props2","onMeasure","height","clientWidth","cancelAnimationFrame","raf","getMotionProps","renderContent","springConfig","fixedHeight","theme","node","defaultProps","collapse","_this2","onContentRef","onWrapperRef","requestAnimationFrame","setResting","getWrapperStyle","overflow","max","defaultStyle","_props3","config","defaultConfig","_presets2","someDirty","destStyle","FAQ","questions","points","qa","Array","isArray","q","piece","href","opened","md-offset-2","md-8","subtitle","id","item","o","wasAnimating","lastIdealStyle","lastIdealVelocity","propsStyle","root","global","vendors","suffix","caf","last","queue","callback","_now","cp","cancelled","e","round","handle","fn","polyfill"],"mappings":"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","file":"0f83f2ef04481ccb482661d20fcd11f526f64ebb-a1aed64918cab985216b.js","sourcesContent":["import React, { Component } from \"react\";\n\nimport Row from '../../components/common/Row';\nimport Col from '../../components/common/Col';\n\nimport \"./ProductHighlight.css\";\nimport { cn } from \"../../util\";\n\nclass Step extends Component {\n onClick = () => {\n this.props.onClick(this.props.index);\n }\n render() {\n const { index, highlight, title, text, children } = this.props;\n return (\n \n \n
{index + 1}
\n
\n

{title}

\n {text}\n
\n \n \n {children}\n \n
\n );\n }\n}\n\nclass Highlight extends Component {\n constructor(props) {\n super(props);\n this.state = {\n toNext: false,\n toPrev: false,\n };\n }\n componentWillReceiveProps(nextProps) {\n let state = {\n toNext: this.props.index === 1 && nextProps.index > this.props.index,\n toPrev: this.props.index === 1 && nextProps.index < this.props.index,\n fromNext: nextProps.index === 1 && this.props.index > 1,\n fromPrev: nextProps.index === 1 && this.props.index < 1,\n nextToPrev: this.props.index === 2 && nextProps.index === 0,\n prevToNext: this.props.index === 0 && nextProps.index === 2,\n };\n this.setState(state);\n }\n render() {\n let className = \"img\";\n if (this.state.fromNext) {\n className += \" from-next\";\n } else if (this.state.fromPrev) {\n className += \" from-prev\";\n } else if (this.state.toNext) {\n className += \" to-next\";\n } else if (this.state.toPrev) {\n className += \" to-prev\";\n } else if (this.state.nextToPrev) {\n className += \" next-to-prev\";\n } else if (this.state.prevToNext) {\n className += \" prev-to-next\";\n }\n switch (this.props.index) {\n case 0:\n className += \" prev\";\n break;\n case 1:\n className += \" highlight\";\n break;\n case 2:\n className += \" next\";\n break;\n }\n return (\n
\n {this.props.children}\n
\n );\n }\n}\n\nexport class VideoHighlight extends Component {\n constructor(props) {\n super(props);\n this.videoRef = React.createRef();\n }\n componentWillReceiveProps(nextProps) {\n if (nextProps.playing) {\n if (!this.props.playing) {\n this.videoRef.current.play();\n }\n } else {\n this.videoRef.current.pause();\n }\n }\n render() {\n return (\n \n );\n }\n}\n\nexport const ImageHighlight = function ({ animateSmall, steps, positions }) {\n return (\n
\n {steps.map((step, idx) => {\n const Content = step.component;\n return (\n \n \n \n );\n })}\n
\n );\n}\n\nexport class StepTimer extends Component {\n constructor(props) {\n super(props);\n this.state = {\n slots: [ 2, 0, 1 ],\n };\n }\n nextHighlight = () => {\n let slots = this.state.slots.slice(1, 3).concat(this.state.slots.slice(0, 1));\n this.setState({\n slots,\n });\n this.stepTimer = setTimeout(this.nextHighlight, this.props.steps[this.state.slots[1]].timeout || 8000);\n }\n componentDidMount() {\n if (window.innerWidth > 992) {\n this.stepTimer = setTimeout(this.nextHighlight, this.props.steps[this.state.slots[1]].timeout || 8000);\n }\n }\n componentWillUnmount() {\n if (this.stepTimer) {\n clearTimeout(this.stepTimer);\n this.stepTimer = undefined;\n }\n }\n onHighlight = (number) => {\n let previousIdx = this.state.slots.indexOf(number);\n if (previousIdx < 1) { // Prev to current\n let slots = this.state.slots.slice(2, 3).concat(number).concat(this.state.slots.slice(1, 2));\n if (this.stepTimer) {\n clearTimeout(this.stepTimer);\n this.stepTimer = undefined;\n }\n this.setState({\n slots,\n });\n } else if (previousIdx > 1) { // Next to current\n let slots = this.state.slots.slice(1, 3).concat(this.state.slots.slice(0, 1));\n if (this.stepTimer) {\n clearTimeout(this.stepTimer);\n this.stepTimer = undefined;\n }\n this.setState({\n slots,\n });\n }\n }\n render() { \n return this.props.render({ slots: this.state.slots, onHighlight: this.onHighlight });\n }\n}\n\nclass ProductHighlight extends Component {\n onRender = ({ slots, onHighlight }) => {\n return (\n \n \n
\n {this.props.steps.map((step, idx) => {\n const Content = step.component;\n return (\n \n \n \n )\n })}\n
\n \n \n \n \n
\n );\n }\n\n render() {\n return (\n \n );\n }\n}\n\nexport default ProductHighlight;\n","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequire(obj) {\n return obj && obj.__esModule ? obj['default'] : obj;\n}\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); // deprecated, dummy warning function\n\nvar _reorderKeys = require('./reorderKeys');\n\nexports.reorderKeys = _interopRequire(_reorderKeys);","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"Modal-module--modal--2lC8W\",\"modalOpen\":\"Modal-module--modal-open--5EzV-\",\"body\":\"Modal-module--body--2_AOH\",\"modalImg\":\"Modal-module--modalImg--3VUPt\",\"closeBtn\":\"Modal-module--closeBtn--22-SV\",\"content\":\"Modal-module--content--2q8pE\"};","import React, { CSSProperties } from \"react\";\n\nexport interface FlexRowProps {\n align?: \"center\" | \"top\" | \"bottom\" | \"stretch\" | \"baseline\",\n justify?: React.CSSProperties[\"justifyContent\"],\n nowrap?: boolean,\n wrap?: boolean | string,\n column?: boolean,\n \n style?: CSSProperties,\n className?: string,\n onClick?: () => void,\n}\n\nconst FlexRow: React.FunctionComponent = function (props) {\n let style: React.CSSProperties = Object.assign({ display: \"flex\" }, props.style);\n if (props.column) {\n style.flexDirection = \"column\";\n }\n if (typeof props.justify === \"string\") {\n style.justifyContent = props.justify;\n }\n if (typeof props.align === \"string\") {\n let val = [\n { label: \"center\", value: \"center\" },\n { label: \"top\", value: \"flex-start\" },\n { label: \"bottom\", value: \"flex-end\" },\n { label: \"stretch\", value: \"stretch\" },\n { label: \"baseline\", value: \"baseline\" }\n ].find((v) => (v.label === props.align));\n if (val) {\n style.alignItems = val.value;\n }\n }\n if (props.nowrap || typeof props.wrap === \"boolean\") {\n style.flexWrap = !props.nowrap && props.wrap ? \"wrap\" : \"nowrap\";\n }\n return (\n
\n {props.children}\n
\n )\n}\n\nexport default FlexRow;\n","import React from \"react\";\n\nconst JumbotronFluid = function (props) {\n let style = {}\n if (props.color) {\n style.backgroundColor = props.color;\n }\n let className = \"jumbotron jumbotron-fluid\";\n if (props.className) {\n className += \" \" + props.className;\n }\n return (\n
\n
\n {props.children}\n
\n
\n );\n};\n\nexport default JumbotronFluid;\n","import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport Button from './Button';\n\nimport { cn } from '../../util';\n\nimport styles from \"./Modal.module.css\";\n\nconst ReactModal = require('react-modal');\n\nexport interface ModalProps {\n contentLabel: string,\n isOpen: boolean,\n onClose: () => void,\n image?: {\n src: string,\n alt: string,\n },\n closeBtnColor?: string,\n className?: string,\n contentClassName?: string,\n}\n\nconst Modal: React.SFC = ({ contentLabel, isOpen, onClose, image, closeBtnColor, className, contentClassName, children }) => {\n return (\n \n
\n {image &&\n {image.alt}/\n }\n
\n {children}\n
\n \n
\n \n );\n}\n\nexport default Modal;\n","\"use strict\";\n\nexports.__esModule = true;\nexports[\"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};\nmodule.exports = exports[\"default\"];","import React from \"react\";\nimport { cn } from \"../../util\";\n\nconst Jumbotron = function (props) {\n let style = { ...props.style }\n if (props.color) {\n style.backgroundColor = props.color;\n }\n let className = \"jumbotron\";\n if (props.className) {\n className += \" \" + props.className;\n }\n return (\n
\n
\n {props.children}\n
\n
\n );\n};\n\nexport default Jumbotron;\n","'use strict';\n\nexports.__esModule = true;\nexports['default'] = reorderKeys;\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'];","'use strict';\n\nvar _require = require('./Collapse'),\n Collapse = _require.Collapse;\n\nvar _require2 = require('./UnmountClosed'),\n UnmountClosed = _require2.UnmountClosed;\n\nUnmountClosed.Collapse = Collapse;\nUnmountClosed.UnmountClosed = UnmountClosed;\nmodule.exports = UnmountClosed;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UnmountClosed = undefined;\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 _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _Collapse = require('./Collapse');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _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 UnmountClosed = exports.UnmountClosed = function (_React$PureComponent) {\n _inherits(UnmountClosed, _React$PureComponent);\n\n function UnmountClosed(props) {\n _classCallCheck(this, UnmountClosed);\n\n var _this = _possibleConstructorReturn(this, (UnmountClosed.__proto__ || Object.getPrototypeOf(UnmountClosed)).call(this, props));\n\n _this.componentWillReceiveProps = function (_ref) {\n var isOpened = _ref.isOpened;\n\n if (!_this.props.isOpened && isOpened) {\n _this.setState({\n forceInitialAnimation: true,\n shouldUnmount: false\n });\n }\n };\n\n _this.onRest = function () {\n var _this$props = _this.props,\n isOpened = _this$props.isOpened,\n onRest = _this$props.onRest;\n\n if (!isOpened) {\n _this.setState({\n shouldUnmount: true\n });\n }\n\n if (onRest) {\n onRest.apply(undefined, arguments);\n }\n };\n\n _this.state = {\n shouldUnmount: !_this.props.isOpened,\n forceInitialAnimation: !_this.props.isOpened\n };\n return _this;\n }\n\n _createClass(UnmountClosed, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n isOpened = _props.isOpened,\n _onRest = _props.onRest,\n props = _objectWithoutProperties(_props, ['isOpened', 'onRest']);\n\n var _state = this.state,\n forceInitialAnimation = _state.forceInitialAnimation,\n shouldUnmount = _state.shouldUnmount;\n return shouldUnmount ? null : _react2.default.createElement(_Collapse.Collapse, _extends({\n forceInitialAnimation: forceInitialAnimation,\n isOpened: isOpened,\n onRest: this.onRest\n }, props));\n }\n }]);\n\n return UnmountClosed;\n}(_react2.default.PureComponent);\n\nUnmountClosed.propTypes = {\n isOpened: _propTypes2.default.bool.isRequired,\n onRest: _propTypes2.default.func\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(this);","// 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\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\nmodule.exports = exports['default'];","import * as React from 'react';\nimport axios from \"axios\";\n\nimport EditText from './EditText';\nimport Button from './Button';\n\nimport { validateEmail } from \"../../views/SignUpPage/SignUpForm\";\n\nconst MIN_COMPANY_LENGTH = 3;\n\nexport interface SignupData {\n company: string,\n companyName: string,\n name: string,\n email: string,\n}\n\nexport interface OptInFormProps {\n companyRequired?: boolean,\n translate: (key: string) => string,\n onSubscribe?: (responseBody: any) => void,\n signUpUrl: string,\n signupFrom?: string,\n getSignupData?: (data: SignupData) => any,\n error?: {\n [key: string]: string | undefined,\n company?: string,\n name?: string,\n email?: string,\n signup?: string,\n },\n}\n\nexport interface OptInFormState {\n company: string,\n name: string,\n email: string,\n sending: boolean,\n error?: {\n [key: string]: string | undefined,\n company?: string,\n name?: string,\n email?: string,\n signup?: string,\n },\n botSignup: boolean,\n}\n\ninterface OptInContextProps {\n values: {\n [field: string]: string,\n },\n error?: {\n [key: string]: string | undefined,\n },\n sending: boolean,\n onChange: (update: object) => void,\n translate: (key: string) => string,\n}\nconst defaultOptInContext: OptInContextProps = {\n values: {},\n sending: false,\n onChange: () => {},\n translate: (key) => key\n};\nconst OptInContext = React.createContext(defaultOptInContext);\n\nexport interface FieldProps {\n fieldName: \"company\" | \"name\" | \"email\",\n className?: string,\n style?: React.CSSProperties,\n}\nexport type NamedFieldProps = Omit;\n\nexport class TextField extends React.Component {\n renderWithContext = (context: OptInContextProps) => {\n const { fieldName, style, className } = this.props;\n const title = context.translate(`common.forms.placeholder.${fieldName}`);\n return (\n { context.onChange({ [fieldName]: value }); }}\n />\n );\n }\n render() {\n return (\n \n {this.renderWithContext}\n \n );\n }\n}\n\nexport const CompanyField: React.SFC = (props) => {\n return (\n \n );\n}\n\nexport const NameField: React.SFC = (props) => {\n return (\n \n );\n}\n\nexport const EmailField: React.SFC = (props) => {\n return (\n \n );\n}\n\nexport interface SubmitButtonProps {\n className?: string,\n style?: React.CSSProperties,\n actionText: string,\n loadingText: string,\n}\n\nexport const SubmitButton: React.SFC = ({ className, style, actionText, loadingText }) => {\n return (\n \n {(context) => (\n \n )}\n \n );\n}\n\nexport const ErrorLabel: React.SFC = () => {\n return (\n \n {(context) => {\n let err = context.error && context.error.signup ? context.error.signup : undefined;\n if (err) {\n return (\n
\n {context.error && context.error.signup}\n
\n );\n }\n return null;\n }}\n
\n );\n}\n\nclass OptInForm extends React.Component {\n constructor(props: OptInFormProps) {\n super(props);\n this.state = {\n company: \"\",\n name: \"\",\n email: \"\",\n sending: false,\n botSignup: false,\n }\n }\n\n onChange = (update: object) => {\n this.setState({ error: undefined, ...update });\n }\n\n onSubmit = (ev: any) => {\n ev.preventDefault();\n if (this.state.sending) return;\n\n let error;\n const name = this.state.name.trim();\n const email = this.state.email.trim().toLowerCase();\n const companyName = this.state.company.trim();\n const company = companyName.toLowerCase().replace(/[^a-z]/g, \"\");\n if (this.props.companyRequired) {\n if (!companyName) {\n error = Object.assign({}, error, { company: this.props.translate(\"common.forms.error.companyRequired\") });\n } else if (company.length < MIN_COMPANY_LENGTH) {\n error = Object.assign({}, error, { company: this.props.translate(\"common.forms.error.companyNameTooShort\") });\n }\n }\n if (!name) {\n error = Object.assign({}, error, { name: this.props.translate(\"common.forms.error.nameRequired\") });\n }\n if (!email) {\n error = Object.assign({}, error, { email: this.props.translate(\"common.forms.error.emailRequired\") });\n } else if (!validateEmail(email)) {\n error = Object.assign({}, error, { email: this.props.translate(\"common.forms.error.emailInvalid\") });\n }\n if (this.state.botSignup) {\n error = Object.assign({}, error, { signup: this.props.translate(\"common.forms.error.internal\") });\n }\n\n if (error) {\n this.setState({ error });\n } else {\n if ((window as any).gtag) {\n (window as any).gtag('event', \"optin-signup-accept\", {\n 'event_category' : 'optin-signup-form',\n 'event_label' : `Accept opt-in and sign up ${this.props.signupFrom || \"\"}`\n });\n }\n let signupData = {\n company,\n companyName,\n name,\n email,\n };\n if (this.props.getSignupData) {\n signupData = this.props.getSignupData(signupData);\n }\n this.setState({ sending: true });\n axios.post(this.props.signUpUrl, signupData)\n .then((res) => {\n if (res.status >= 200 && res.status < 300) {\n if (this.props.onSubscribe) {\n this.props.onSubscribe(res.data);\n }\n this.setState({ sending: false });\n } else {\n if ((window as any).gtag) {\n (window as any).gtag('event', \"optin-signup-error\", {\n 'event_category' : 'optin-signup-form',\n 'event_label' : \"Signup failed with response \" + res.status,\n });\n }\n this.setState({\n sending: false,\n error: Object.assign({}, this.state.error, { signup: this.props.translate(\"common.forms.error.internal\") }),\n });\n }\n })\n .catch((err) => {\n if ((window as any).gtag) {\n (window as any).gtag('event', \"optin-signup-error\", {\n 'event_category' : 'optin-signup-form',\n 'event_label' : \"Signup failed\" + (err.response ? ` with response ${err.response.status}` : \"\"),\n });\n }\n this.setState({\n sending: false,\n error: Object.assign({}, this.state.error, { signup: this.props.translate(\"common.forms.error.connection\") }),\n });\n });\n }\n }\n\n getError = (name: string) => {\n if (this.state.error && this.state.error[name]) {\n return this.state.error[name];\n } else if (this.props.error && this.props.error[name]) {\n return this.props.error[name];\n }\n return undefined;\n }\n\n render() {\n const { translate } = this.props;\n return (\n
\n \n {this.props.children}\n \n
\n );\n }\n}\n\nexport default OptInForm;\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(this);","// 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;\nvar reusedTuple = [0, 0];\n\nfunction 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\nmodule.exports = exports[\"default\"]; // array reference around.","import React, { CSSProperties } from \"react\";\n\nexport interface FlexCellProps {\n grow?: number,\n p?: string, // Padding string\n pt?: number, // Padding top\n pr?: number, // Padding right\n pb?: number, // Padding bottom\n pl?: number, // Padding left\n ph?: number, // Padding top & bottom\n ps?: number, // Padding sides\n width?: string | number, // Width\n className?: string,\n style?: CSSProperties,\n}\n\nconst FlexCell: React.FunctionComponent = function (props) {\n let style: React.CSSProperties = props.style || {};\n if (typeof props.grow === \"number\") {\n style.flexGrow = props.grow;\n }\n if (typeof props.p === \"string\" && props.p) { style.padding = props.p; }\n if (typeof props.pt === \"number\") { style.paddingTop = props.pt + \"px\"; }\n if (typeof props.pr === \"number\") { style.paddingRight = props.pr + \"px\"; }\n if (typeof props.pb === \"number\") { style.paddingBottom = props.pb + \"px\"; }\n if (typeof props.pl === \"number\") { style.paddingLeft = props.pl + \"px\"; }\n if (typeof props.ph === \"number\") { style.paddingTop = props.ph + \"px\"; style.paddingBottom = props.ph + \"px\"; }\n if (typeof props.ps === \"number\") { style.paddingRight = props.ps + \"px\"; style.paddingLeft = props.ps + \"px\"; }\n if (typeof props.width === \"number\") {\n style.width = props.width + \"px\";\n } else if (typeof props.width === \"string\" && props.width) {\n style.width = props.width;\n }\n return (\n
\n {props.children}\n
\n );\n}\n\nexport default FlexCell;\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; // 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\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\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 _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\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\n\nfunction _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 _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; // 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\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\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\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 } // 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\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\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\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\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\nexports['default'] = TransitionMotion;\nmodule.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","// 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// - c and a must both be before b\n// - b before d\n// - ordering between a and c ambiguous\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// 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 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\nmodule.exports = exports['default']; // to loop through and find a key's index each time), but I no longer care","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Collapse = undefined;\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 _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactMotion = require('react-motion');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _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 SPRING_PRECISION = 1;\nvar WAITING = 'WAITING';\nvar RESIZING = 'RESIZING';\nvar RESTING = 'RESTING';\nvar IDLING = 'IDLING';\n\nvar noop = function noop() {\n return null;\n};\n\nvar css = {\n collapse: 'ReactCollapse--collapse',\n content: 'ReactCollapse--content'\n};\n\nvar Collapse = exports.Collapse = function (_React$PureComponent) {\n _inherits(Collapse, _React$PureComponent);\n\n function Collapse(props) {\n _classCallCheck(this, Collapse);\n\n var _this = _possibleConstructorReturn(this, (Collapse.__proto__ || Object.getPrototypeOf(Collapse)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n currentState: IDLING,\n from: 0,\n to: 0\n };\n return _this;\n }\n\n _createClass(Collapse, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var _props = this.props,\n isOpened = _props.isOpened,\n forceInitialAnimation = _props.forceInitialAnimation,\n onRest = _props.onRest;\n\n if (isOpened) {\n var to = this.getTo();\n\n if (forceInitialAnimation) {\n var from = this.wrapper.clientHeight;\n this.setState({\n currentState: RESIZING,\n from: from,\n to: to\n });\n } else {\n this.setState({\n currentState: IDLING,\n from: to,\n to: to\n });\n }\n }\n\n onRest();\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.hasNestedCollapse) {\n // For nested collapses we do not need to change to waiting state\n // and should keep `height:auto`\n // Because children will be animated and height will not jump anyway\n // See https://github.com/nkbt/react-collapse/issues/76 for more details\n if (nextProps.isOpened !== this.props.isOpened) {\n // Still go to WAITING state if own isOpened was changed\n this.setState({\n currentState: WAITING\n });\n }\n } else if (this.state.currentState === IDLING && (nextProps.isOpened || this.props.isOpened)) {\n this.setState({\n currentState: WAITING\n });\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(_, prevState) {\n var _props2 = this.props,\n isOpened = _props2.isOpened,\n onRest = _props2.onRest,\n onMeasure = _props2.onMeasure;\n\n if (this.state.currentState === IDLING) {\n onRest();\n return;\n }\n\n if (prevState.to !== this.state.to) {\n onMeasure({\n height: this.state.to,\n width: this.content.clientWidth\n });\n }\n\n var from = this.wrapper.clientHeight;\n var to = isOpened ? this.getTo() : 0;\n\n if (from !== to) {\n this.setState({\n currentState: RESIZING,\n from: from,\n to: to\n });\n return;\n }\n\n if (this.state.currentState === RESTING || this.state.currentState === WAITING) {\n this.setState({\n currentState: IDLING,\n from: from,\n to: to\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n cancelAnimationFrame(this.raf);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(_reactMotion.Motion, _extends({}, this.getMotionProps(), {\n onRest: this.onRest,\n children: this.renderContent\n }));\n }\n }]);\n\n return Collapse;\n}(_react2.default.PureComponent);\n\nCollapse.propTypes = {\n isOpened: _propTypes2.default.bool.isRequired,\n springConfig: _propTypes2.default.objectOf(_propTypes2.default.number),\n forceInitialAnimation: _propTypes2.default.bool,\n hasNestedCollapse: _propTypes2.default.bool,\n fixedHeight: _propTypes2.default.number,\n theme: _propTypes2.default.objectOf(_propTypes2.default.string),\n style: _propTypes2.default.object,\n onRender: _propTypes2.default.func,\n onRest: _propTypes2.default.func,\n onMeasure: _propTypes2.default.func,\n children: _propTypes2.default.node.isRequired\n};\nCollapse.defaultProps = {\n forceInitialAnimation: false,\n hasNestedCollapse: false,\n fixedHeight: -1,\n style: {},\n theme: css,\n onRender: noop,\n onRest: noop,\n onMeasure: noop\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.onContentRef = function (content) {\n _this2.content = content;\n };\n\n this.onWrapperRef = function (wrapper) {\n _this2.wrapper = wrapper;\n };\n\n this.onRest = function () {\n _this2.raf = requestAnimationFrame(_this2.setResting);\n };\n\n this.setResting = function () {\n _this2.setState({\n currentState: RESTING\n });\n };\n\n this.getTo = function () {\n var fixedHeight = _this2.props.fixedHeight;\n return fixedHeight > -1 ? fixedHeight : _this2.content.clientHeight;\n };\n\n this.getWrapperStyle = function (height) {\n if (_this2.state.currentState === IDLING && _this2.state.to) {\n var fixedHeight = _this2.props.fixedHeight;\n\n if (fixedHeight > -1) {\n return {\n overflow: 'hidden',\n height: fixedHeight\n };\n }\n\n return {\n height: 'auto'\n };\n }\n\n if (_this2.state.currentState === WAITING && !_this2.state.to) {\n return {\n overflow: 'hidden',\n height: 0\n };\n }\n\n return {\n overflow: 'hidden',\n height: Math.max(0, height)\n };\n };\n\n this.getMotionProps = function () {\n var springConfig = _this2.props.springConfig;\n return _this2.state.currentState === IDLING ? {\n // When completely stable, instantly jump to the position\n defaultStyle: {\n height: _this2.state.to\n },\n style: {\n height: _this2.state.to\n }\n } : {\n // Otherwise, animate\n defaultStyle: {\n height: _this2.state.from\n },\n style: {\n height: (0, _reactMotion.spring)(_this2.state.to, _extends({\n precision: SPRING_PRECISION\n }, springConfig))\n }\n };\n };\n\n this.renderContent = function (_ref) {\n var height = _ref.height; // eslint-disable-line\n\n var _props3 = _this2.props,\n _isOpened = _props3.isOpened,\n _springConfig = _props3.springConfig,\n _forceInitialAnimation = _props3.forceInitialAnimation,\n _hasNestedCollapse = _props3.hasNestedCollapse,\n _fixedHeight = _props3.fixedHeight,\n theme = _props3.theme,\n style = _props3.style,\n onRender = _props3.onRender,\n _onRest = _props3.onRest,\n _onMeasure = _props3.onMeasure,\n children = _props3.children,\n props = _objectWithoutProperties(_props3, ['isOpened', 'springConfig', 'forceInitialAnimation', 'hasNestedCollapse', 'fixedHeight', 'theme', 'style', 'onRender', 'onRest', 'onMeasure', 'children']);\n\n var _state = _this2.state,\n from = _state.from,\n to = _state.to; // DANGEROUS, use with caution, never do setState with it\n\n onRender({\n current: height,\n from: from,\n to: to\n });\n return _react2.default.createElement('div', _extends({\n ref: _this2.onWrapperRef,\n className: theme.collapse,\n style: _extends({}, _this2.getWrapperStyle(Math.max(0, height)), style)\n }, props), _react2.default.createElement('div', {\n ref: _this2.onContentRef,\n className: theme.content\n }, children));\n };\n};","'use strict';\n\nexports.__esModule = true;\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\nexports['default'] = spring;\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\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, {\n val: val\n });\n}\n\nmodule.exports = exports['default'];","// 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'use strict';\n\nexports.__esModule = true;\nexports['default'] = stripStyle;\n\nfunction 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\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\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 _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\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\n\nfunction _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 _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\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\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\nexports['default'] = StaggeredMotion;\nmodule.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)","import React, { Component, Fragment } from \"react\";\nimport { Collapse } from 'react-collapse';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport Row from '../../components/common/Row';\nimport Col from '../../components/common/Col';\nimport FlexRow from '../../components/common/FlexRow';\nimport FlexCell from '../../components/common/FlexCell';\n\n\nclass FAQ extends Component {\n constructor(props) {\n super(props);\n let questions = props.points.map((qa) => {\n if (Array.isArray(qa.a)) {\n return {\n q: qa.q,\n a: \n {qa.a.map((piece) => (typeof piece === \"string\" ? piece : (\n {piece.text} \n )))}\n \n };\n }\n return qa;\n });\n this.state = {\n questions,\n opened: new Array(questions.length).fill(false),\n };\n }\n render() {\n return (\n \n \n {this.props.title || this.props.subtitle &&\n
\n

\n {this.props.title}\n

\n {this.props.subtitle &&

\n {this.props.subtitle}\n

}\n
\n }\n
    \n {this.state.questions.map((item, i) => (\n
  • {\n if (window.gtag) {\n window.gtag('event', `view-faq-${i}`, {\n 'event_category' : 'view-faq',\n 'event_label' : `View FAQ ${item.q}`,\n });\n }\n this.setState({ opened: this.state.opened.map((o, idx) => (i === idx ? !o : o)) });\n }}>\n \n \n
    {item.q}
    \n
    \n \n \n \n
    \n \n
      \n
    • {item.a}
    • \n
    \n
    \n
  • \n ))}\n
\n \n
\n )\n }\n}\n\nexport default FAQ;\n","'use strict';\n\nexports.__esModule = true;\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 _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\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\n\nfunction _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 _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\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\nexports['default'] = Motion;\nmodule.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)","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] || 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 = now(),\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\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};\n\nmodule.exports.cancel = function () {\n caf.apply(root, arguments);\n};\n\nmodule.exports.polyfill = function (object) {\n if (!object) {\n object = root;\n }\n\n object.requestAnimationFrame = raf;\n object.cancelAnimationFrame = caf;\n};"],"sourceRoot":""}