{"version":3,"sources":["webpack://punjab-sweets-montreal/./node_modules/lodash.throttle/index.js","webpack://punjab-sweets-montreal/./node_modules/react-lazyload/lib/index.js","webpack://punjab-sweets-montreal/./node_modules/react-lazyload/lib/utils/debounce.js","webpack://punjab-sweets-montreal/./node_modules/react-lazyload/lib/utils/event.js","webpack://punjab-sweets-montreal/./node_modules/react-lazyload/lib/utils/scrollParent.js","webpack://punjab-sweets-montreal/./node_modules/react-lazyload/lib/utils/throttle.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/components/Button.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/components/Element.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/components/Link.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/index.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/Helpers.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/animate-scroll.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/cancel-events.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/passive-event-listeners.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/scroll-element.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/scroll-events.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/scroll-hash.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/scroll-link.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/scroll-spy.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/scroller.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/smooth.js","webpack://punjab-sweets-montreal/./node_modules/react-scroll/modules/mixins/utils.js","webpack://punjab-sweets-montreal/./src/images/products/sweets/barfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/besanbarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/chocolatebarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/gajar.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/gajarbarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/mangobarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/mangococonutbarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/pistachiobarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/pistachiostrawberrybarfi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/gulabjamunsyrup.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/gulabjamun.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/gulabjamuncoconut.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/kalajamun.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/almondjamun.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/dilbahar.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/punjabsweet.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/petha.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/rasgulla.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/rasgullapink.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/chumchum.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/chumchumpink.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/coconutrasgulla.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/rasmalai.png","webpack://punjab-sweets-montreal/./src/images/image-coming-soon.png","webpack://punjab-sweets-montreal/./src/data/sweets.js","webpack://punjab-sweets-montreal/./src/images/products/sweets/milkcake.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/besanladdoo.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/motichoorladdoo.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/pinni.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/alsipinni.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/jalebi.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/soanpapri.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/khoya.png","webpack://punjab-sweets-montreal/./src/images/products/sweets/kulfi.png","webpack://punjab-sweets-montreal/./src/data/snacks.js","webpack://punjab-sweets-montreal/./src/images/products/snacks/samosa.png","webpack://punjab-sweets-montreal/./src/images/products/snacks/namakpara.png","webpack://punjab-sweets-montreal/./src/images/products/snacks/alootiki.png","webpack://punjab-sweets-montreal/./src/images/products/snacks/pakora.png","webpack://punjab-sweets-montreal/./src/images/products/snacks/vegetableroll.png","webpack://punjab-sweets-montreal/./src/images/products/snacks/pheni.png","webpack://punjab-sweets-montreal/./src/data/drinks.js","webpack://punjab-sweets-montreal/./src/images/products/drinks/juice.png","webpack://punjab-sweets-montreal/./src/images/products/drinks/softdrink.png","webpack://punjab-sweets-montreal/./src/images/products/drinks/water.png","webpack://punjab-sweets-montreal/./src/components/menuItem.js","webpack://punjab-sweets-montreal/./src/pages/menu.js"],"names":["FUNC_ERROR_TEXT","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","arguments","this","toNumber","isObject","cancel","clearTimeout","flush","value","type","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","_createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","defineProperty","key","Constructor","protoProps","staticProps","_react","_react2","_interopRequireDefault","_propTypes2","_event","_scrollParent2","_debounce2","_throttle2","obj","__esModule","default","_classCallCheck","instance","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","create","constructor","setPrototypeOf","__proto__","defaultBoundingClientRect","LISTEN_FLAG","listeners","pending","passiveEventSupported","opts","get","window","addEventListener","e","passiveEvent","capture","passive","checkVisible","component","node","ref","HTMLElement","parent","overflow","ownerDocument","document","documentElement","parentTop","parentLeft","parentHeight","parentWidth","_parent$getBoundingCl","getBoundingClientRect","top","left","height","width","windowInnerHeight","innerHeight","clientHeight","windowInnerWidth","innerWidth","clientWidth","intersectionTop","intersectionLeft","intersectionHeight","intersectionWidth","_node$getBoundingClie","offsetTop","offsetLeft","offsets","Array","isArray","offset","checkOverflowVisible","offsetWidth","offsetHeight","getClientRects","elementHeight","_node$getBoundingClie2","checkNormalVisible","visible","once","push","forceUpdate","unmountIfInvisible","purgePending","forEach","index","indexOf","splice","lazyLoadHandler","listener","delayType","finalLazyLoadHandler","LazyLoad","_Component","_this","getPrototypeOf","setRef","bind","scrollport","scrollContainer","querySelector","needResetFinalLazyLoadHandler","off","throttle","getAttribute","listenerCount","setAttribute","_props","scroll","resize","on","removeEventListener","removeAttribute","element","_props2","children","placeholder","className","classNamePrefix","style","createElement","Component","propTypes","string","bool","oneOfType","number","arrayOf","object","defaultProps","getDisplayName","WrappedComponent","displayName","name","immediate","timeout","context","timestamp","later","last","callNow","el","eventName","callback","attachEvent","event","detachEvent","excludeStaticParent","position","overflowRegex","parentNode","getComputedStyle","overflowX","overflowY","fn","threshhold","scope","deferTimer","_scrollLink2","ButtonElement","_React$Component","_extends","assign","source","hasOwnProperty","_scrollElement2","ElementWrapper","_this2","newProps","parentBindings","domNode","id","LinkElement","_ref","_temp","_len","_key","concat","render","_Link2","_Button2","_Element2","_scroller2","_scrollEvents2","_scrollSpy2","_animateScroll2","_Helpers2","React","scrollSpy","defaultScroller","PropTypes","scrollHash","protoTypes","to","isRequired","containerId","container","activeClass","spy","smooth","delay","isDynamic","onClick","duration","absolute","onSetActive","onSetInactive","ignoreCancelEvents","hashSpy","Helpers","Scroll","customScroller","console","warn","scroller","_initialiseProps","state","active","getElementById","nodeType","scrollSpyContainer","getScrollSpyContainer","isMounted","mount","mapContainer","addStateHandler","stateHandler","addSpyHandler","spyHandler","setState","unmount","trim","prop","handleClick","scrollTo","stopPropagation","preventDefault","getActiveLink","y","isInitialized","elemTopBound","elemBottomBound","containerTop","cords","offsetY","isInside","floor","isOutside","activeLink","setActiveLink","getHash","changeHash","updateStates","Element","_React$Component2","_this3","childBindings","registerElems","prevProps","unregister","register","_smooth2","_cancelEvents2","getAnimationType","defaultEasing","requestAnimationFrameHelper","requestAnimationFrame","webkitRequestAnimationFrame","currentWindowProperties","getTime","currentPositionX","containerElement","data","body","scrollLeft","supportPageOffset","pageXOffset","isCSS1Compat","compatMode","currentPositionY","scrollTop","pageYOffset","animateScroll","easing","delta","round","targetPosition","startPosition","start","progress","percent","currentPosition","ceil","horizontal","easedAnimate","registered","setContainer","animateTopScroll","scrollOffset","delayTimeout","subscribe","isNaN","parseFloat","proceedOptions","scrollToTop","scrollToBottom","scrollWidth","html","scrollContainerWidth","scrollHeight","scrollContainerHeight","toPosition","scrollMore","_passiveEventListeners","events","cancelEvent","addPassiveEventListener","supportsPassiveOption","removePassiveEventListener","Events","scrollEvent","evtName","remove","_utils","_utils2","mountFlag","initialized","containers","handleHashChange","initStateFromHash","hash","isInit","saveHashHistory","updateHash","_scrollHash2","Link","_React$PureComponent","PureComponent","x","elemLeftBound","elemRightBound","containerLeft","offsetX","_cords","_props$saveHashHistor","_props$saveHashHistor2","_saveHashHistory","_lodash","_lodash2","spyCallbacks","spySetState","scrollSpyContainers","eventHandler","eventThrottler","scrollHandler","c","handler","s","update","__mapped","__activeLink","getElementsByName","getElementsByClassName","link","pow","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","historyUpdate","hashVal","substring","hashToUpdate","curLoc","location","urlToPush","pathname","search","history","pushState","replaceState","filterElementInContainer","contains","compareDocumentPosition","t","scrollX","scrollY","en","fr","image","barfi","besanbarfi","chocolatebarfi","gajar","gajarbarfi","mangobarfi","mangococonutbarfi","pistachiobarfi","pistachiostrawberrybarfi","gulabjamunsyrup","gulabjamun","gulabjamuncoconut","kalajamun","almondjamun","dilbahar","punjabsweet","petha","rasgulla","pinkrasgulla","coconutrasgulla","chumchum","pinkchumchum","rasmalai","kalakand","samosachaat","panipuri","chai","cost","src","alt","SmoothMenuLink","title","lowerCaseTitle","toLowerCase","injectIntl","intl","formatMessage","S","sweets","sweet","locale","snacks","snack","drinks","drink"],"mappings":"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","file":"component---src-pages-menu-js-a5831e90e61ad11ca2c7.js","sourcesContent":["/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\nvar now = function now() {\n return root.Date.now();\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n\n\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n\n\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return typeof value == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = throttle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.forceVisible = exports.forceCheck = exports.lazyload = undefined;\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 _event = require('./utils/event');\n\nvar _scrollParent = require('./utils/scrollParent');\n\nvar _scrollParent2 = _interopRequireDefault(_scrollParent);\n\nvar _debounce = require('./utils/debounce');\n\nvar _debounce2 = _interopRequireDefault(_debounce);\n\nvar _throttle = require('./utils/throttle');\n\nvar _throttle2 = _interopRequireDefault(_throttle);\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 _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/**\n * react-lazyload\n */\n\n\nvar defaultBoundingClientRect = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n width: 0,\n height: 0\n};\nvar LISTEN_FLAG = 'data-lazyload-listened';\nvar listeners = [];\nvar pending = []; // try to handle passive events\n\nvar passiveEventSupported = false;\n\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n passiveEventSupported = true;\n }\n });\n window.addEventListener('test', null, opts);\n} catch (e) {} // if they are supported, setup the optional params\n// IMPORTANT: FALSE doubles as the default CAPTURE value!\n\n\nvar passiveEvent = passiveEventSupported ? {\n capture: false,\n passive: true\n} : false;\n/**\n * Check if `component` is visible in overflow container `parent`\n * @param {node} component React component\n * @param {node} parent component's scroll parent\n * @return {bool}\n */\n\nvar checkOverflowVisible = function checkOverflowVisible(component, parent) {\n var node = component.ref;\n var parentTop = void 0;\n var parentLeft = void 0;\n var parentHeight = void 0;\n var parentWidth = void 0;\n\n try {\n var _parent$getBoundingCl = parent.getBoundingClientRect();\n\n parentTop = _parent$getBoundingCl.top;\n parentLeft = _parent$getBoundingCl.left;\n parentHeight = _parent$getBoundingCl.height;\n parentWidth = _parent$getBoundingCl.width;\n } catch (e) {\n parentTop = defaultBoundingClientRect.top;\n parentLeft = defaultBoundingClientRect.left;\n parentHeight = defaultBoundingClientRect.height;\n parentWidth = defaultBoundingClientRect.width;\n }\n\n var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;\n var windowInnerWidth = window.innerWidth || document.documentElement.clientWidth; // calculate top and height of the intersection of the element's scrollParent and viewport\n\n var intersectionTop = Math.max(parentTop, 0); // intersection's top relative to viewport\n\n var intersectionLeft = Math.max(parentLeft, 0); // intersection's left relative to viewport\n\n var intersectionHeight = Math.min(windowInnerHeight, parentTop + parentHeight) - intersectionTop; // height\n\n var intersectionWidth = Math.min(windowInnerWidth, parentLeft + parentWidth) - intersectionLeft; // width\n // check whether the element is visible in the intersection\n\n var top = void 0;\n var left = void 0;\n var height = void 0;\n var width = void 0;\n\n try {\n var _node$getBoundingClie = node.getBoundingClientRect();\n\n top = _node$getBoundingClie.top;\n left = _node$getBoundingClie.left;\n height = _node$getBoundingClie.height;\n width = _node$getBoundingClie.width;\n } catch (e) {\n top = defaultBoundingClientRect.top;\n left = defaultBoundingClientRect.left;\n height = defaultBoundingClientRect.height;\n width = defaultBoundingClientRect.width;\n }\n\n var offsetTop = top - intersectionTop; // element's top relative to intersection\n\n var offsetLeft = left - intersectionLeft; // element's left relative to intersection\n\n var offsets = Array.isArray(component.props.offset) ? component.props.offset : [component.props.offset, component.props.offset]; // Be compatible with previous API\n\n return offsetTop - offsets[0] <= intersectionHeight && offsetTop + height + offsets[1] >= 0 && offsetLeft - offsets[0] <= intersectionWidth && offsetLeft + width + offsets[1] >= 0;\n};\n/**\n * Check if `component` is visible in document\n * @param {node} component React component\n * @return {bool}\n */\n\n\nvar checkNormalVisible = function checkNormalVisible(component) {\n var node = component.ref; // If this element is hidden by css rules somehow, it's definitely invisible\n\n if (!(node.offsetWidth || node.offsetHeight || node.getClientRects().length)) return false;\n var top = void 0;\n var elementHeight = void 0;\n\n try {\n var _node$getBoundingClie2 = node.getBoundingClientRect();\n\n top = _node$getBoundingClie2.top;\n elementHeight = _node$getBoundingClie2.height;\n } catch (e) {\n top = defaultBoundingClientRect.top;\n elementHeight = defaultBoundingClientRect.height;\n }\n\n var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;\n var offsets = Array.isArray(component.props.offset) ? component.props.offset : [component.props.offset, component.props.offset]; // Be compatible with previous API\n\n return top - offsets[0] <= windowInnerHeight && top + elementHeight + offsets[1] >= 0;\n};\n/**\n * Detect if element is visible in viewport, if so, set `visible` state to true.\n * If `once` prop is provided true, remove component as listener after checkVisible\n *\n * @param {React} component React component that respond to scroll and resize\n */\n\n\nvar checkVisible = function checkVisible(component) {\n var node = component.ref;\n\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n var parent = (0, _scrollParent2.default)(node);\n var isOverflow = component.props.overflow && parent !== node.ownerDocument && parent !== document && parent !== document.documentElement;\n var visible = isOverflow ? checkOverflowVisible(component, parent) : checkNormalVisible(component);\n\n if (visible) {\n // Avoid extra render if previously is visible\n if (!component.visible) {\n if (component.props.once) {\n pending.push(component);\n }\n\n component.visible = true;\n component.forceUpdate();\n }\n } else if (!(component.props.once && component.visible)) {\n component.visible = false;\n\n if (component.props.unmountIfInvisible) {\n component.forceUpdate();\n }\n }\n};\n\nvar purgePending = function purgePending() {\n pending.forEach(function (component) {\n var index = listeners.indexOf(component);\n\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n });\n pending = [];\n};\n\nvar lazyLoadHandler = function lazyLoadHandler() {\n for (var i = 0; i < listeners.length; ++i) {\n var listener = listeners[i];\n checkVisible(listener);\n } // Remove `once` component in listeners\n\n\n purgePending();\n};\n/**\n * Forces the component to display regardless of whether the element is visible in the viewport.\n */\n\n\nvar forceVisible = function forceVisible() {\n for (var i = 0; i < listeners.length; ++i) {\n var listener = listeners[i];\n listener.visible = true;\n listener.forceUpdate();\n } // Remove `once` component in listeners\n\n\n purgePending();\n}; // Depending on component's props\n\n\nvar delayType = void 0;\nvar finalLazyLoadHandler = null;\n\nvar isString = function isString(string) {\n return typeof string === 'string';\n};\n\nvar LazyLoad = function (_Component) {\n _inherits(LazyLoad, _Component);\n\n function LazyLoad(props) {\n _classCallCheck(this, LazyLoad);\n\n var _this = _possibleConstructorReturn(this, (LazyLoad.__proto__ || Object.getPrototypeOf(LazyLoad)).call(this, props));\n\n _this.visible = false;\n _this.setRef = _this.setRef.bind(_this);\n return _this;\n }\n\n _createClass(LazyLoad, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n // It's unlikely to change delay type on the fly, this is mainly\n // designed for tests\n var scrollport = window;\n var scrollContainer = this.props.scrollContainer;\n\n if (scrollContainer) {\n if (isString(scrollContainer)) {\n scrollport = scrollport.document.querySelector(scrollContainer);\n }\n }\n\n var needResetFinalLazyLoadHandler = this.props.debounce !== undefined && delayType === 'throttle' || delayType === 'debounce' && this.props.debounce === undefined;\n\n if (needResetFinalLazyLoadHandler) {\n (0, _event.off)(scrollport, 'scroll', finalLazyLoadHandler, passiveEvent);\n (0, _event.off)(window, 'resize', finalLazyLoadHandler, passiveEvent);\n finalLazyLoadHandler = null;\n }\n\n if (!finalLazyLoadHandler) {\n if (this.props.debounce !== undefined) {\n finalLazyLoadHandler = (0, _debounce2.default)(lazyLoadHandler, typeof this.props.debounce === 'number' ? this.props.debounce : 300);\n delayType = 'debounce';\n } else if (this.props.throttle !== undefined) {\n finalLazyLoadHandler = (0, _throttle2.default)(lazyLoadHandler, typeof this.props.throttle === 'number' ? this.props.throttle : 300);\n delayType = 'throttle';\n } else {\n finalLazyLoadHandler = lazyLoadHandler;\n }\n }\n\n if (this.props.overflow) {\n var parent = (0, _scrollParent2.default)(this.ref);\n\n if (parent && typeof parent.getAttribute === 'function') {\n var listenerCount = 1 + +parent.getAttribute(LISTEN_FLAG);\n\n if (listenerCount === 1) {\n parent.addEventListener('scroll', finalLazyLoadHandler, passiveEvent);\n }\n\n parent.setAttribute(LISTEN_FLAG, listenerCount);\n }\n } else if (listeners.length === 0 || needResetFinalLazyLoadHandler) {\n var _props = this.props,\n scroll = _props.scroll,\n resize = _props.resize;\n\n if (scroll) {\n (0, _event.on)(scrollport, 'scroll', finalLazyLoadHandler, passiveEvent);\n }\n\n if (resize) {\n (0, _event.on)(window, 'resize', finalLazyLoadHandler, passiveEvent);\n }\n }\n\n listeners.push(this);\n checkVisible(this);\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate() {\n return this.visible;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.overflow) {\n var parent = (0, _scrollParent2.default)(this.ref);\n\n if (parent && typeof parent.getAttribute === 'function') {\n var listenerCount = +parent.getAttribute(LISTEN_FLAG) - 1;\n\n if (listenerCount === 0) {\n parent.removeEventListener('scroll', finalLazyLoadHandler, passiveEvent);\n parent.removeAttribute(LISTEN_FLAG);\n } else {\n parent.setAttribute(LISTEN_FLAG, listenerCount);\n }\n }\n }\n\n var index = listeners.indexOf(this);\n\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n\n if (listeners.length === 0 && typeof window !== 'undefined') {\n (0, _event.off)(window, 'resize', finalLazyLoadHandler, passiveEvent);\n (0, _event.off)(window, 'scroll', finalLazyLoadHandler, passiveEvent);\n }\n }\n }, {\n key: 'setRef',\n value: function setRef(element) {\n if (element) {\n this.ref = element;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n height = _props2.height,\n children = _props2.children,\n placeholder = _props2.placeholder,\n className = _props2.className,\n classNamePrefix = _props2.classNamePrefix,\n style = _props2.style;\n return _react2.default.createElement('div', {\n className: classNamePrefix + '-wrapper ' + className,\n ref: this.setRef,\n style: style\n }, this.visible ? children : placeholder ? placeholder : _react2.default.createElement('div', {\n style: {\n height: height\n },\n className: classNamePrefix + '-placeholder'\n }));\n }\n }]);\n\n return LazyLoad;\n}(_react.Component);\n\nLazyLoad.propTypes = {\n className: _propTypes2.default.string,\n classNamePrefix: _propTypes2.default.string,\n once: _propTypes2.default.bool,\n height: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]),\n offset: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.arrayOf(_propTypes2.default.number)]),\n overflow: _propTypes2.default.bool,\n resize: _propTypes2.default.bool,\n scroll: _propTypes2.default.bool,\n children: _propTypes2.default.node,\n throttle: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.bool]),\n debounce: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.bool]),\n placeholder: _propTypes2.default.node,\n scrollContainer: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n unmountIfInvisible: _propTypes2.default.bool,\n style: _propTypes2.default.object\n};\nLazyLoad.defaultProps = {\n className: '',\n classNamePrefix: 'lazyload',\n once: false,\n offset: 0,\n overflow: false,\n resize: false,\n scroll: true,\n unmountIfInvisible: false\n};\n\nvar getDisplayName = function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nvar decorator = function decorator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function lazyload(WrappedComponent) {\n return function (_Component2) {\n _inherits(LazyLoadDecorated, _Component2);\n\n function LazyLoadDecorated() {\n _classCallCheck(this, LazyLoadDecorated);\n\n var _this2 = _possibleConstructorReturn(this, (LazyLoadDecorated.__proto__ || Object.getPrototypeOf(LazyLoadDecorated)).call(this));\n\n _this2.displayName = 'LazyLoad' + getDisplayName(WrappedComponent);\n return _this2;\n }\n\n _createClass(LazyLoadDecorated, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement(LazyLoad, options, _react2.default.createElement(WrappedComponent, this.props));\n }\n }]);\n\n return LazyLoadDecorated;\n }(_react.Component);\n };\n};\n\nexports.lazyload = decorator;\nexports.default = LazyLoad;\nexports.forceCheck = lazyLoadHandler;\nexports.forceVisible = forceVisible;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = debounce;\n\nfunction debounce(func, wait, immediate) {\n var timeout = void 0;\n var args = void 0;\n var context = void 0;\n var timestamp = void 0;\n var result = void 0;\n\n var later = function later() {\n var last = +new Date() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n\n if (!immediate) {\n result = func.apply(context, args);\n\n if (!timeout) {\n context = null;\n args = null;\n }\n }\n }\n };\n\n return function debounced() {\n context = this;\n args = arguments;\n timestamp = +new Date();\n var callNow = immediate && !timeout;\n\n if (!timeout) {\n timeout = setTimeout(later, wait);\n }\n\n if (callNow) {\n result = func.apply(context, args);\n context = null;\n args = null;\n }\n\n return result;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.on = on;\nexports.off = off;\n\nfunction on(el, eventName, callback, opts) {\n opts = opts || false;\n\n if (el.addEventListener) {\n el.addEventListener(eventName, callback, opts);\n } else if (el.attachEvent) {\n el.attachEvent(\"on\" + eventName, function (e) {\n callback.call(el, e || window.event);\n });\n }\n}\n\nfunction off(el, eventName, callback, opts) {\n opts = opts || false;\n\n if (el.removeEventListener) {\n el.removeEventListener(eventName, callback, opts);\n } else if (el.detachEvent) {\n el.detachEvent(\"on\" + eventName, callback);\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @fileOverview Find scroll parent\n */\n\nexports.default = function (node) {\n if (!(node instanceof HTMLElement)) {\n return document.documentElement;\n }\n\n var excludeStaticParent = node.style.position === 'absolute';\n var overflowRegex = /(scroll|auto)/;\n var parent = node;\n\n while (parent) {\n if (!parent.parentNode) {\n return node.ownerDocument || document.documentElement;\n }\n\n var style = window.getComputedStyle(parent);\n var position = style.position;\n var overflow = style.overflow;\n var overflowX = style['overflow-x'];\n var overflowY = style['overflow-y'];\n\n if (position === 'static' && excludeStaticParent) {\n parent = parent.parentNode;\n continue;\n }\n\n if (overflowRegex.test(overflow) && overflowRegex.test(overflowX) && overflowRegex.test(overflowY)) {\n return parent;\n }\n\n parent = parent.parentNode;\n }\n\n return node.ownerDocument || node.documentElement || document.documentElement;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = throttle;\n/*eslint-disable */\n\nfunction throttle(fn, threshhold, scope) {\n threshhold || (threshhold = 250);\n var last, deferTimer;\n return function () {\n var context = scope || this;\n var now = +new Date(),\n args = arguments;\n\n if (last && now < last + threshhold) {\n // hold on to it\n clearTimeout(deferTimer);\n deferTimer = setTimeout(function () {\n last = now;\n fn.apply(context, args);\n }, threshhold);\n } else {\n last = now;\n fn.apply(context, args);\n }\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\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 _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 ButtonElement = function (_React$Component) {\n _inherits(ButtonElement, _React$Component);\n\n function ButtonElement() {\n _classCallCheck(this, ButtonElement);\n\n return _possibleConstructorReturn(this, (ButtonElement.__proto__ || Object.getPrototypeOf(ButtonElement)).apply(this, arguments));\n }\n\n _createClass(ButtonElement, [{\n key: 'render',\n value: function render() {\n return _react2.default.createElement('input', this.props, this.props.children);\n }\n }]);\n\n return ButtonElement;\n}(_react2.default.Component);\n\n;\nexports.default = (0, _scrollLink2.default)(ButtonElement);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 _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 _scrollElement = require('../mixins/scroll-element');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\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 _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 ElementWrapper = function (_React$Component) {\n _inherits(ElementWrapper, _React$Component);\n\n function ElementWrapper() {\n _classCallCheck(this, ElementWrapper);\n\n return _possibleConstructorReturn(this, (ElementWrapper.__proto__ || Object.getPrototypeOf(ElementWrapper)).apply(this, arguments));\n }\n\n _createClass(ElementWrapper, [{\n key: 'render',\n value: function render() {\n var _this2 = this; // Remove `parentBindings` from props\n\n\n var newProps = _extends({}, this.props);\n\n if (newProps.parentBindings) {\n delete newProps.parentBindings;\n }\n\n return _react2.default.createElement('div', _extends({}, newProps, {\n ref: function ref(el) {\n _this2.props.parentBindings.domNode = el;\n }\n }), this.props.children);\n }\n }]);\n\n return ElementWrapper;\n}(_react2.default.Component);\n\n;\nElementWrapper.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n};\nexports.default = (0, _scrollElement2.default)(ElementWrapper);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _scrollLink = require('../mixins/scroll-link');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\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 _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 LinkElement = function (_React$Component) {\n _inherits(LinkElement, _React$Component);\n\n function LinkElement() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, LinkElement);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LinkElement.__proto__ || Object.getPrototypeOf(LinkElement)).call.apply(_ref, [this].concat(args))), _this), _this.render = function () {\n return _react2.default.createElement('a', _this.props, _this.props.children);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n return LinkElement;\n}(_react2.default.Component);\n\n;\nexports.default = (0, _scrollLink2.default)(LinkElement);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined;\n\nvar _Link = require('./components/Link.js');\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nvar _Button = require('./components/Button.js');\n\nvar _Button2 = _interopRequireDefault(_Button);\n\nvar _Element = require('./components/Element.js');\n\nvar _Element2 = _interopRequireDefault(_Element);\n\nvar _scroller = require('./mixins/scroller.js');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _scrollEvents = require('./mixins/scroll-events.js');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nvar _scrollSpy = require('./mixins/scroll-spy.js');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _animateScroll = require('./mixins/animate-scroll.js');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollLink = require('./mixins/scroll-link.js');\n\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\n\nvar _scrollElement = require('./mixins/scroll-element.js');\n\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\n\nvar _Helpers = require('./mixins/Helpers.js');\n\nvar _Helpers2 = _interopRequireDefault(_Helpers);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.Link = _Link2.default;\nexports.Button = _Button2.default;\nexports.Element = _Element2.default;\nexports.scroller = _scroller2.default;\nexports.Events = _scrollEvents2.default;\nexports.scrollSpy = _scrollSpy2.default;\nexports.animateScroll = _animateScroll2.default;\nexports.ScrollLink = _scrollLink2.default;\nexports.ScrollElement = _scrollElement2.default;\nexports.Helpers = _Helpers2.default;\nexports.default = {\n Link: _Link2.default,\n Button: _Button2.default,\n Element: _Element2.default,\n scroller: _scroller2.default,\n Events: _scrollEvents2.default,\n scrollSpy: _scrollSpy2.default,\n animateScroll: _animateScroll2.default,\n ScrollLink: _scrollLink2.default,\n ScrollElement: _scrollElement2.default,\n Helpers: _Helpers2.default\n};","\"use strict\";\n/* DEPRECATED */\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 _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 React = require('react');\n\nvar ReactDOM = require('react-dom');\n\nvar utils = require('./utils');\n\nvar scrollSpy = require('./scroll-spy');\n\nvar defaultScroller = require('./scroller');\n\nvar PropTypes = require('prop-types');\n\nvar scrollHash = require('./scroll-hash');\n\nvar protoTypes = {\n to: PropTypes.string.isRequired,\n containerId: PropTypes.string,\n container: PropTypes.object,\n activeClass: PropTypes.string,\n spy: PropTypes.bool,\n smooth: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n offset: PropTypes.number,\n delay: PropTypes.number,\n isDynamic: PropTypes.bool,\n onClick: PropTypes.func,\n duration: PropTypes.oneOfType([PropTypes.number, PropTypes.func]),\n absolute: PropTypes.bool,\n onSetActive: PropTypes.func,\n onSetInactive: PropTypes.func,\n ignoreCancelEvents: PropTypes.bool,\n hashSpy: PropTypes.bool\n};\nvar Helpers = {\n Scroll: function Scroll(Component, customScroller) {\n console.warn(\"Helpers.Scroll is deprecated since v1.7.0\");\n var scroller = customScroller || defaultScroller;\n\n var Scroll = function (_React$Component) {\n _inherits(Scroll, _React$Component);\n\n function Scroll(props) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!scrollSpy.isMounted(scrollSpyContainer)) {\n scrollSpy.mount(scrollSpyContainer);\n }\n\n if (this.props.hashSpy) {\n if (!scrollHash.isMounted()) {\n scrollHash.mount(scroller);\n }\n\n scrollHash.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n if (this.props.spy) {\n scrollSpy.addStateHandler(this.stateHandler);\n }\n\n scrollSpy.addSpyHandler(this.spyHandler, scrollSpyContainer);\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n scrollSpy.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n return React.createElement(Component, props);\n }\n }]);\n\n return Scroll;\n }(React.Component);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n /*\r\n * dont bubble the navigation\r\n */\n\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n /*\r\n * do the magic!\r\n */\n\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.stateHandler = function () {\n if (scroller.getActiveLink() !== _this2.props.to) {\n if (_this2.state !== null && _this2.state.active && _this2.props.onSetInactive) {\n _this2.props.onSetInactive();\n }\n\n _this2.setState({\n active: false\n });\n }\n };\n\n this.spyHandler = function (y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (scrollHash.isMounted() && !scrollHash.isInitialized()) {\n return;\n }\n\n var to = _this2.props.to;\n var element = null;\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemTopBound = cords.top - containerTop + y;\n elemBottomBound = elemTopBound + cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n var isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n var isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && scrollHash.getHash() === to) {\n scrollHash.changeHash();\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n\n _this2.props.onSetInactive && _this2.props.onSetInactive();\n }\n\n return scrollSpy.updateStates();\n }\n\n if (isInside && activeLink !== to) {\n scroller.setActiveLink(to);\n _this2.props.hashSpy && scrollHash.changeHash(to);\n\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n\n _this2.props.onSetActive && _this2.props.onSetActive(to);\n }\n\n return scrollSpy.updateStates();\n }\n };\n };\n\n ;\n Scroll.propTypes = protoTypes;\n Scroll.defaultProps = {\n offset: 0\n };\n return Scroll;\n },\n Element: function Element(Component) {\n console.warn(\"Helpers.Element is deprecated since v1.7.0\");\n\n var Element = function (_React$Component2) {\n _inherits(Element, _React$Component2);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this3 = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this3.childBindings = {\n domNode: null\n };\n return _this3;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n defaultScroller.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n defaultScroller.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n\n return Element;\n }(React.Component);\n\n ;\n Element.propTypes = {\n name: PropTypes.string,\n id: PropTypes.string\n };\n return Element;\n }\n};\nmodule.exports = Helpers;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _smooth = require('./smooth');\n\nvar _smooth2 = _interopRequireDefault(_smooth);\n\nvar _cancelEvents = require('./cancel-events');\n\nvar _cancelEvents2 = _interopRequireDefault(_cancelEvents);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/*\r\n * Gets the easing type from the smooth prop within options.\r\n */\n\n\nvar getAnimationType = function getAnimationType(options) {\n return _smooth2.default[options.smooth] || _smooth2.default.defaultEasing;\n};\n/*\r\n * Function helper\r\n */\n\n\nvar functionWrapper = function functionWrapper(value) {\n return typeof value === 'function' ? value : function () {\n return value;\n };\n};\n/*\r\n * Wraps window properties to allow server side rendering\r\n */\n\n\nvar currentWindowProperties = function currentWindowProperties() {\n if (typeof window !== 'undefined') {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame;\n }\n};\n/*\r\n * Helper function to never extend 60fps on the webpage.\r\n */\n\n\nvar requestAnimationFrameHelper = function () {\n return currentWindowProperties() || function (callback, element, delay) {\n window.setTimeout(callback, delay || 1000 / 60, new Date().getTime());\n };\n}();\n\nvar makeData = function makeData() {\n return {\n currentPosition: 0,\n startPosition: 0,\n targetPosition: 0,\n progress: 0,\n duration: 0,\n cancel: false,\n target: null,\n containerElement: null,\n to: null,\n start: null,\n delta: null,\n percent: null,\n delayTimeout: null\n };\n};\n\nvar currentPositionX = function currentPositionX(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollLeft;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n }\n};\n\nvar currentPositionY = function currentPositionY(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollTop;\n } else {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n }\n};\n\nvar scrollContainerWidth = function scrollContainerWidth(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollWidth - containerElement.offsetWidth;\n } else {\n var body = document.body;\n var html = document.documentElement;\n return Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);\n }\n};\n\nvar scrollContainerHeight = function scrollContainerHeight(options) {\n var containerElement = options.data.containerElement;\n\n if (containerElement && containerElement !== document && containerElement !== document.body) {\n return containerElement.scrollHeight - containerElement.offsetHeight;\n } else {\n var body = document.body;\n var html = document.documentElement;\n return Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);\n }\n};\n\nvar animateScroll = function animateScroll(easing, options, timestamp) {\n var data = options.data; // Cancel on specific events\n\n if (!options.ignoreCancelEvents && data.cancel) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPositionY);\n }\n\n return;\n }\n\n ;\n data.delta = Math.round(data.targetPosition - data.startPosition);\n\n if (data.start === null) {\n data.start = timestamp;\n }\n\n data.progress = timestamp - data.start;\n data.percent = data.progress >= data.duration ? 1 : easing(data.progress / data.duration);\n data.currentPosition = data.startPosition + Math.ceil(data.delta * data.percent);\n\n if (data.containerElement && data.containerElement !== document && data.containerElement !== document.body) {\n if (options.horizontal) {\n data.containerElement.scrollLeft = data.currentPosition;\n } else {\n data.containerElement.scrollTop = data.currentPosition;\n }\n } else {\n if (options.horizontal) {\n window.scrollTo(data.currentPosition, 0);\n } else {\n window.scrollTo(0, data.currentPosition);\n }\n }\n\n if (data.percent < 1) {\n var easedAnimate = animateScroll.bind(null, easing, options);\n requestAnimationFrameHelper.call(window, easedAnimate);\n return;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](data.to, data.target, data.currentPosition);\n }\n};\n\nvar setContainer = function setContainer(options) {\n options.data.containerElement = !options ? null : options.containerId ? document.getElementById(options.containerId) : options.container && options.container.nodeType ? options.container : document;\n};\n\nvar animateTopScroll = function animateTopScroll(scrollOffset, options, to, target) {\n options.data = options.data || makeData();\n window.clearTimeout(options.data.delayTimeout);\n\n _cancelEvents2.default.subscribe(function () {\n options.data.cancel = true;\n });\n\n setContainer(options);\n options.data.start = null;\n options.data.cancel = false;\n options.data.startPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n options.data.targetPosition = options.absolute ? scrollOffset : scrollOffset + options.data.startPosition;\n\n if (options.data.startPosition === options.data.targetPosition) {\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](options.data.to, options.data.target, options.data.currentPosition);\n }\n\n return;\n }\n\n options.data.delta = Math.round(options.data.targetPosition - options.data.startPosition);\n options.data.duration = functionWrapper(options.duration)(options.data.delta);\n options.data.duration = isNaN(parseFloat(options.data.duration)) ? 1000 : parseFloat(options.data.duration);\n options.data.to = to;\n options.data.target = target;\n var easing = getAnimationType(options);\n var easedAnimate = animateScroll.bind(null, easing, options);\n\n if (options && options.delay > 0) {\n options.data.delayTimeout = window.setTimeout(function () {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n\n requestAnimationFrameHelper.call(window, easedAnimate);\n }, options.delay);\n return;\n }\n\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](options.data.to, options.data.target);\n }\n\n requestAnimationFrameHelper.call(window, easedAnimate);\n};\n\nvar proceedOptions = function proceedOptions(options) {\n options = _extends({}, options);\n options.data = options.data || makeData();\n options.absolute = true;\n return options;\n};\n\nvar scrollToTop = function scrollToTop(options) {\n animateTopScroll(0, proceedOptions(options));\n};\n\nvar scrollTo = function scrollTo(toPosition, options) {\n animateTopScroll(toPosition, proceedOptions(options));\n};\n\nvar scrollToBottom = function scrollToBottom(options) {\n options = proceedOptions(options);\n setContainer(options);\n animateTopScroll(options.horizontal ? scrollContainerWidth(options) : scrollContainerHeight(options), options);\n};\n\nvar scrollMore = function scrollMore(toPosition, options) {\n options = proceedOptions(options);\n setContainer(options);\n var currentPosition = options.horizontal ? currentPositionX(options) : currentPositionY(options);\n animateTopScroll(toPosition + currentPosition, options);\n};\n\nexports.default = {\n animateTopScroll: animateTopScroll,\n getAnimationType: getAnimationType,\n scrollToTop: scrollToTop,\n scrollToBottom: scrollToBottom,\n scrollTo: scrollTo,\n scrollMore: scrollMore\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar events = ['mousedown', 'mousewheel', 'touchmove', 'keydown'];\nexports.default = {\n subscribe: function subscribe(cancelEvent) {\n return typeof document !== 'undefined' && events.forEach(function (event) {\n return (0, _passiveEventListeners.addPassiveEventListener)(document, event, cancelEvent);\n });\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\r\n * Tell the browser that the event listener won't prevent a scroll.\r\n * Allowing the browser to continue scrolling without having to\r\n * to wait for the listener to return.\r\n */\n\nvar addPassiveEventListener = exports.addPassiveEventListener = function addPassiveEventListener(target, eventName, listener) {\n var supportsPassiveOption = function () {\n var supportsPassiveOption = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassiveOption = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n\n return supportsPassiveOption;\n }();\n\n target.addEventListener(eventName, listener, supportsPassiveOption ? {\n passive: true\n } : false);\n};\n\nvar removePassiveEventListener = exports.removePassiveEventListener = function removePassiveEventListener(target, eventName, listener) {\n target.removeEventListener(eventName, listener);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 _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 _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\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 _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\nexports.default = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n\n function Element(props) {\n _classCallCheck(this, Element);\n\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n\n _scroller2.default.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2.default.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n\n return Element;\n }(_react2.default.Component);\n\n ;\n Element.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n };\n return Element;\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar Events = {\n registered: {},\n scrollEvent: {\n register: function register(evtName, callback) {\n Events.registered[evtName] = callback;\n },\n remove: function remove(evtName) {\n Events.registered[evtName] = null;\n }\n }\n};\nexports.default = Events;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nvar _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar scrollHash = {\n mountFlag: false,\n initialized: false,\n scroller: null,\n containers: {},\n mount: function mount(scroller) {\n this.scroller = scroller;\n this.handleHashChange = this.handleHashChange.bind(this);\n window.addEventListener('hashchange', this.handleHashChange);\n this.initStateFromHash();\n this.mountFlag = true;\n },\n mapContainer: function mapContainer(to, container) {\n this.containers[to] = container;\n },\n isMounted: function isMounted() {\n return this.mountFlag;\n },\n isInitialized: function isInitialized() {\n return this.initialized;\n },\n initStateFromHash: function initStateFromHash() {\n var _this = this;\n\n var hash = this.getHash();\n\n if (hash) {\n window.setTimeout(function () {\n _this.scrollTo(hash, true);\n\n _this.initialized = true;\n }, 10);\n } else {\n this.initialized = true;\n }\n },\n scrollTo: function scrollTo(to, isInit) {\n var scroller = this.scroller;\n var element = scroller.get(to);\n\n if (element && (isInit || to !== scroller.getActiveLink())) {\n var container = this.containers[to] || document;\n scroller.scrollTo(to, {\n container: container\n });\n }\n },\n getHash: function getHash() {\n return _utils2.default.getHash();\n },\n changeHash: function changeHash(to, saveHashHistory) {\n if (this.isInitialized() && _utils2.default.getHash() !== to) {\n _utils2.default.updateHash(to, saveHashHistory);\n }\n },\n handleHashChange: function handleHashChange() {\n this.scrollTo(this.getHash());\n },\n unmount: function unmount() {\n this.scroller = null;\n this.containers = null;\n window.removeEventListener('hashchange', this.handleHashChange);\n }\n};\nexports.default = scrollHash;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 _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 _scrollSpy = require('./scroll-spy');\n\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\n\nvar _scroller = require('./scroller');\n\nvar _scroller2 = _interopRequireDefault(_scroller);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _scrollHash = require('./scroll-hash');\n\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\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 _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 protoTypes = {\n to: _propTypes2.default.string.isRequired,\n containerId: _propTypes2.default.string,\n container: _propTypes2.default.object,\n activeClass: _propTypes2.default.string,\n spy: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n offset: _propTypes2.default.number,\n delay: _propTypes2.default.number,\n isDynamic: _propTypes2.default.bool,\n onClick: _propTypes2.default.func,\n duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n absolute: _propTypes2.default.bool,\n onSetActive: _propTypes2.default.func,\n onSetInactive: _propTypes2.default.func,\n ignoreCancelEvents: _propTypes2.default.bool,\n hashSpy: _propTypes2.default.bool,\n saveHashHistory: _propTypes2.default.bool\n};\n\nexports.default = function (Component, customScroller) {\n var scroller = customScroller || _scroller2.default;\n\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n\n function Link(props) {\n _classCallCheck(this, Link);\n\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n active: false\n };\n return _this;\n }\n\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n\n if (container && container.nodeType) {\n return container;\n }\n\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n\n if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) {\n _scrollSpy2.default.mount(scrollSpyContainer);\n }\n\n if (this.props.hashSpy) {\n if (!_scrollHash2.default.isMounted()) {\n _scrollHash2.default.mount(scroller);\n }\n\n _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer);\n }\n\n _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer);\n\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n\n var props = _extends({}, this.props);\n\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n\n props.className = className;\n props.onClick = this.handleClick;\n return _react2.default.createElement(Component, props);\n }\n }]);\n\n return Link;\n }(_react2.default.PureComponent);\n\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n /*\r\n * dont bubble the navigation\r\n */\n\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n /*\r\n * do the magic!\r\n */\n\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n\n if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) {\n return;\n }\n\n var horizontal = _this2.props.horizontal;\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n\n containerTop = _containerCords.top;\n }\n\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n\n if (!element) {\n return;\n }\n\n var _cords = element.getBoundingClientRect();\n\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n\n var activeLink = scroller.getActiveLink();\n\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n\n if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) {\n var _props$saveHashHistor = _this2.props.saveHashHistory,\n saveHashHistory = _props$saveHashHistor === undefined ? false : _props$saveHashHistor;\n\n _scrollHash2.default.changeHash(\"\", saveHashHistory);\n }\n\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n\n var _props$saveHashHistor2 = _this2.props.saveHashHistory,\n _saveHashHistory = _props$saveHashHistor2 === undefined ? false : _props$saveHashHistor2;\n\n _this2.props.hashSpy && _scrollHash2.default.changeHash(to, _saveHashHistory);\n\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n\n ;\n Link.propTypes = protoTypes;\n Link.defaultProps = {\n offset: 0\n };\n return Link;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _lodash = require('lodash.throttle');\n\nvar _lodash2 = _interopRequireDefault(_lodash);\n\nvar _passiveEventListeners = require('./passive-event-listeners');\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} // The eventHandler will execute at a rate of 15fps\n\n\nvar eventThrottler = function eventThrottler(eventHandler) {\n return (0, _lodash2.default)(eventHandler, 66);\n};\n\nvar scrollSpy = {\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n mount: function mount(scrollSpyContainer) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n });\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n\n container.spyCallbacks.push(handler);\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n\n if (scrollSpy.spySetState && scrollSpy.spySetState.length) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\nexports.default = scrollSpy;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\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 _utils = require('./utils');\n\nvar _utils2 = _interopRequireDefault(_utils);\n\nvar _animateScroll = require('./animate-scroll');\n\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\n\nvar _scrollEvents = require('./scroll-events');\n\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar __mapped = {};\n\nvar __activeLink = void 0;\n\nexports.default = {\n unmount: function unmount() {\n __mapped = {};\n },\n register: function register(name, element) {\n __mapped[name] = element;\n },\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n scrollTo: function scrollTo(to, props) {\n var target = this.get(to);\n\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n\n props = _extends({}, props, {\n absolute: false\n });\n var containerId = props.containerId;\n var container = props.container;\n var containerElement = void 0;\n\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n\n props.absolute = true;\n var horizontal = props.horizontal;\n var scrollOffset = _utils2.default.scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n\n if (!props.smooth) {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](to, target);\n }\n\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](to, target);\n }\n\n return;\n }\n /*\r\n * Animate scrolling\r\n */\n\n\n _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target);\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n /*\r\n * https://github.com/oblador/angular-scroll (duScrollDefaultEasing)\r\n */\n defaultEasing: function defaultEasing(x) {\n if (x < 0.5) {\n return Math.pow(x * 2, 2) / 2;\n }\n\n return 1 - Math.pow((1 - x) * 2, 2) / 2;\n },\n\n /*\r\n * https://gist.github.com/gre/1650294\r\n */\n // no easing, no acceleration\n linear: function linear(x) {\n return x;\n },\n // accelerating from zero velocity\n easeInQuad: function easeInQuad(x) {\n return x * x;\n },\n // decelerating to zero velocity\n easeOutQuad: function easeOutQuad(x) {\n return x * (2 - x);\n },\n // acceleration until halfway, then deceleration\n easeInOutQuad: function easeInOutQuad(x) {\n return x < .5 ? 2 * x * x : -1 + (4 - 2 * x) * x;\n },\n // accelerating from zero velocity \n easeInCubic: function easeInCubic(x) {\n return x * x * x;\n },\n // decelerating to zero velocity π\n easeOutCubic: function easeOutCubic(x) {\n return --x * x * x + 1;\n },\n // acceleration until halfway, then deceleration \n easeInOutCubic: function easeInOutCubic(x) {\n return x < .5 ? 4 * x * x * x : (x - 1) * (2 * x - 2) * (2 * x - 2) + 1;\n },\n // accelerating from zero velocity \n easeInQuart: function easeInQuart(x) {\n return x * x * x * x;\n },\n // decelerating to zero velocity \n easeOutQuart: function easeOutQuart(x) {\n return 1 - --x * x * x * x;\n },\n // acceleration until halfway, then deceleration\n easeInOutQuart: function easeInOutQuart(x) {\n return x < .5 ? 8 * x * x * x * x : 1 - 8 * --x * x * x * x;\n },\n // accelerating from zero velocity\n easeInQuint: function easeInQuint(x) {\n return x * x * x * x * x;\n },\n // decelerating to zero velocity\n easeOutQuint: function easeOutQuint(x) {\n return 1 + --x * x * x * x * x;\n },\n // acceleration until halfway, then deceleration \n easeInOutQuint: function easeInOutQuint(x) {\n return x < .5 ? 16 * x * x * x * x * x : 1 + 16 * --x * x * x * x * x;\n }\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar updateHash = function updateHash(hash, historyUpdate) {\n var hashVal = hash.indexOf(\"#\") === 0 ? hash.substring(1) : hash;\n var hashToUpdate = hashVal ? \"#\" + hashVal : \"\";\n var curLoc = window && window.location;\n var urlToPush = hashToUpdate ? curLoc.pathname + curLoc.search + hashToUpdate : curLoc.pathname + curLoc.search;\n historyUpdate ? history.pushState(null, \"\", urlToPush) : history.replaceState(null, \"\", urlToPush);\n};\n\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\n\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\n\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n return c === document ? t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetTop : t.offsetTop - c.offsetTop;\n }\n};\n\nexports.default = {\n updateHash: updateHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};","export default __webpack_public_path__ + \"static/barfi-83e63fc56600657fcd570cec600e1749.png\";","export default __webpack_public_path__ + \"static/besanbarfi-580be04b9e42eef4f52d113ff96c6625.png\";","export default __webpack_public_path__ + \"static/chocolatebarfi-54d4bc7e0b5012e4398789e80c914b8a.png\";","export default __webpack_public_path__ + \"static/gajar-c8b2a0ae6422d1aa5990ffc208d726c8.png\";","export default __webpack_public_path__ + \"static/gajarbarfi-49732538aa1c722ef88cf03523204bf3.png\";","export default __webpack_public_path__ + \"static/mangobarfi-70bf80729d98e9986694afd99a7609e2.png\";","export default __webpack_public_path__ + \"static/mangococonutbarfi-5ea4fdf2f0d08d270e54c069b1101cb3.png\";","export default __webpack_public_path__ + \"static/pistachiobarfi-50008ffa822736a0f067e0fa3a42f023.png\";","export default __webpack_public_path__ + \"static/pistachiostrawberrybarfi-bac58abb74549a4e3a6c241028cffe15.png\";","export default __webpack_public_path__ + \"static/gulabjamunsyrup-81cc801f97c2039747d5d53d33d827ea.png\";","export default __webpack_public_path__ + \"static/gulabjamun-4e7ad20209fbbd2fe5759387aed20356.png\";","export default __webpack_public_path__ + \"static/gulabjamuncoconut-e2182d8cde71d5aae75a4433a20e7fff.png\";","export default __webpack_public_path__ + \"static/kalajamun-4769a48d2a105d2fc892f6c73cfa27c1.png\";","export default __webpack_public_path__ + \"static/almondjamun-e192c74f2abfed4d7cd5e2fda70fe934.png\";","export default __webpack_public_path__ + \"static/dilbahar-6f8ec5f4b695c35d72791aa7bcb82f12.png\";","export default __webpack_public_path__ + \"static/punjabsweet-a52a02ffc8f57bb3951111def73fb38e.png\";","export default __webpack_public_path__ + \"static/petha-b8b83b4f5d10291bbf00dbabf8b903ba.png\";","export default __webpack_public_path__ + \"static/rasgulla-2ec850af0af4d40bb818e9d670f7371b.png\";","export default __webpack_public_path__ + \"static/rasgullapink-c1661b835e16959d14b604f19516dd20.png\";","export default __webpack_public_path__ + \"static/chumchum-6ce8dcb4840cc40e51db18a2f5ef5ccc.png\";","export default __webpack_public_path__ + \"static/chumchumpink-69e0d746be527031591c032c14571800.png\";","export default __webpack_public_path__ + \"static/coconutrasgulla-bdf163fed229c0d4965182a33d889126.png\";","export default __webpack_public_path__ + \"static/rasmalai-df0a9d0d451fa6ca60348b51a7502ef9.png\";","export default __webpack_public_path__ + \"static/image-coming-soon-e535a79400f21c361a4ec988d655f0f4.png\";","import barfi from '../images/products/sweets/barfi.png'\r\nimport besanbarfi from '../images/products/sweets/besanbarfi.png'\r\nimport chocolatebarfi from '../images/products/sweets/chocolatebarfi.png'\r\nimport gajar from '../images/products/sweets/gajar.png'\r\nimport gajarbarfi from '../images/products/sweets/gajarbarfi.png'\r\nimport mangobarfi from '../images/products/sweets/mangobarfi.png'\r\nimport mangococonutbarfi from '../images/products/sweets/mangococonutbarfi.png'\r\nimport pistachiobarfi from '../images/products/sweets/pistachiobarfi.png'\r\nimport pistachiostrawberrybarfi from '../images/products/sweets/pistachiostrawberrybarfi.png'\r\nimport gulabjamunsyrup from '../images/products/sweets/gulabjamunsyrup.png'\r\nimport gulabjamun from '../images/products/sweets/gulabjamun.png'\r\nimport gulabjamuncoconut from '../images/products/sweets/gulabjamuncoconut.png'\r\nimport kalajamun from '../images/products/sweets/kalajamun.png'\r\nimport almondjamun from '../images/products/sweets/almondjamun.png'\r\nimport dilbahar from '../images/products/sweets/dilbahar.png'\r\nimport punjabsweet from '../images/products/sweets/punjabsweet.png'\r\nimport petha from '../images/products/sweets/petha.png'\r\nimport rasgulla from '../images/products/sweets/rasgulla.png'\r\nimport pinkrasgulla from '../images/products/sweets/rasgullapink.png'\r\nimport chumchum from '../images/products/sweets/chumchum.png'\r\nimport pinkchumchum from '../images/products/sweets/chumchumpink.png'\r\nimport coconutrasgulla from '../images/products/sweets/coconutrasgulla.png'\r\nimport rasmalai from '../images/products/sweets/rasmalai.png'\r\nimport kalakand from '../images/image-coming-soon.png'\r\nimport milkcake from '../images/products/sweets/milkcake.png'\r\nimport besanladdoo from '../images/products/sweets/besanladdoo.png'\r\nimport motichoorladdoo from '../images/products/sweets/motichoorladdoo.png'\r\nimport pinni from '../images/products/sweets/pinni.png'\r\nimport alsipinni from '../images/products/sweets/alsipinni.png'\r\nimport jalebi from '../images/products/sweets/jalebi.png'\r\nimport soanpapri from '../images/products/sweets/soanpapri.png'\r\nimport khoya from '../images/products/sweets/khoya.png'\r\nimport kulfi from '../images/products/sweets/kulfi.png'\r\n\r\nconst sweets = [\r\n {\r\n name: {\r\n en: 'Barfi',\r\n fr: 'Barfi'\r\n },\r\n image: barfi,\r\n },\r\n {\r\n name: {\r\n en: 'Besan Barfi',\r\n fr: 'Besan Barfi'\r\n },\r\n image: besanbarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Chocolate Barfi',\r\n fr: 'Barfi Chocolat'\r\n },\r\n image: chocolatebarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Gajar',\r\n fr: 'Gajar'\r\n },\r\n image: gajar,\r\n },\r\n {\r\n name: {\r\n en: 'Gajar Barfi',\r\n fr: 'Gajar Barfi'\r\n },\r\n image: gajarbarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Mango Barfi',\r\n fr: 'Barfi Mangue'\r\n },\r\n image: mangobarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Mango Coconut Barfi',\r\n fr: 'Barfi Mangue et Noix de Coco'\r\n },\r\n image: mangococonutbarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Pistachio Barfi',\r\n fr: 'Barfi Pistache'\r\n },\r\n image: pistachiobarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Pistachio Strawberry Barfi',\r\n fr: 'Barfi Pistache et Fraise'\r\n },\r\n image: pistachiostrawberrybarfi,\r\n },\r\n {\r\n name: {\r\n en: 'Gulab Jamun (with Syrup)',\r\n fr: 'Gulab Jamun (avec Sirop)'\r\n },\r\n image: gulabjamunsyrup,\r\n },\r\n {\r\n name: {\r\n en: 'Gulab Jamun',\r\n fr: 'Gulab Jamun'\r\n },\r\n image: gulabjamun,\r\n },\r\n {\r\n name: {\r\n en: 'Coconut Gulab Jamun',\r\n fr: 'Gulab Jamun Noix de Coco'\r\n },\r\n image: gulabjamuncoconut,\r\n },\r\n {\r\n name: {\r\n en: 'Kala Jamun',\r\n fr: 'Kala Jamun'\r\n },\r\n image: kalajamun,\r\n },\r\n {\r\n name: {\r\n en: 'Almond Jamun',\r\n fr: 'Jamun Amande'\r\n },\r\n image: almondjamun,\r\n },\r\n {\r\n name: {\r\n en: 'Dil Bahar',\r\n fr: 'Dil Bahar'\r\n },\r\n image: dilbahar,\r\n },\r\n {\r\n name: {\r\n en: 'Punjab Sweet',\r\n fr: 'Punjab Sweet'\r\n },\r\n image: punjabsweet,\r\n },\r\n {\r\n name: {\r\n en: 'Petha',\r\n fr: 'Petha'\r\n },\r\n image: petha,\r\n },\r\n {\r\n name: {\r\n en: 'Rasgulla',\r\n fr: 'Rasgulla'\r\n },\r\n image: rasgulla,\r\n },\r\n {\r\n name: {\r\n en: 'Pink Rasgulla',\r\n fr: 'Rasgulla Rose'\r\n },\r\n image: pinkrasgulla,\r\n },\r\n {\r\n name: {\r\n en: 'Coconut Rasgulla',\r\n fr: 'Rasgulla Noix de Coco'\r\n },\r\n image: coconutrasgulla,\r\n },\r\n {\r\n name: {\r\n en: 'Chum Chum',\r\n fr: 'Chum Chum'\r\n },\r\n image: chumchum,\r\n },\r\n {\r\n name: {\r\n en: 'Pink Chum Chum',\r\n fr: 'Chum Chum Rose'\r\n },\r\n image: pinkchumchum,\r\n },\r\n {\r\n name: {\r\n en: 'Ras Malai',\r\n fr: 'Ras Malai'\r\n },\r\n image: rasmalai,\r\n },\r\n {\r\n name: {\r\n en: 'Kalakand',\r\n fr: 'Kalakand'\r\n },\r\n image: kalakand,\r\n },\r\n {\r\n name: {\r\n en: 'Milk Cake',\r\n fr: 'Gâteau au Lait'\r\n },\r\n image: milkcake,\r\n },\r\n {\r\n name: {\r\n en: 'Besan Laddoo',\r\n fr: 'Besan Laddoo'\r\n },\r\n image: besanladdoo,\r\n },\r\n {\r\n name: {\r\n en: 'Motichoor Laddoo',\r\n fr: 'Motichoor Laddoo'\r\n },\r\n image: motichoorladdoo,\r\n },\r\n {\r\n name: {\r\n en: 'Pinni',\r\n fr: 'Pinni'\r\n },\r\n image: pinni,\r\n },\r\n {\r\n name: {\r\n en: 'Alsi Pinni',\r\n fr: 'Alsi Pinni'\r\n },\r\n image: alsipinni,\r\n },\r\n {\r\n name: {\r\n en: 'Jalebi',\r\n fr: 'Jalebi'\r\n },\r\n image: jalebi,\r\n },\r\n {\r\n name: {\r\n en: 'Soan Papri',\r\n fr: 'Soan Papri'\r\n },\r\n image: soanpapri,\r\n },\r\n {\r\n name: {\r\n en: 'Khoya',\r\n fr: 'Khoya'\r\n },\r\n image: khoya,\r\n },\r\n {\r\n name: {\r\n en: 'Kulfi',\r\n fr: 'Kulfi'\r\n },\r\n image: kulfi,\r\n },\r\n]\r\n\r\nexport default sweets;\r\n","export default __webpack_public_path__ + \"static/milkcake-544812e68b4b4990a00c08b4ead7656e.png\";","export default __webpack_public_path__ + \"static/besanladdoo-daef511b606884ef76639ff6d5f81aa2.png\";","export default __webpack_public_path__ + \"static/motichoorladdoo-b1b2369f8eff0f67e163bac91d33e04e.png\";","export default __webpack_public_path__ + \"static/pinni-13f385d6f999de16e7cf4d36c741756c.png\";","export default __webpack_public_path__ + \"static/alsipinni-0284acc0c4edb8fdb03b1a8e5a6c971e.png\";","export default __webpack_public_path__ + \"static/jalebi-640c2135373a94edb7c14b170e01154d.png\";","export default __webpack_public_path__ + \"static/soanpapri-9e0313d7e8316bc7e5aec327dcbdccb4.png\";","export default __webpack_public_path__ + \"static/khoya-04b6bd0a89752fbd4c6ad2f2d32f3b73.png\";","export default __webpack_public_path__ + \"static/kulfi-2ad49796a6d0fe9c00050a7146f98c24.png\";","\r\nimport samosa from '../images/products/snacks/samosa.png'\r\nimport namakpara from '../images/products/snacks/namakpara.png'\r\nimport alootiki from '../images/products/snacks/alootiki.png'\r\nimport pakora from '../images/products/snacks/pakora.png'\r\nimport vegetableroll from '../images/products/snacks/vegetableroll.png'\r\nimport samosachaat from '../images/image-coming-soon.png'\r\nimport panipuri from '../images/image-coming-soon.png'\r\nimport pheni from '../images/products/snacks/pheni.png'\r\n\r\nconst snacks = [\r\n {\r\n name: {\r\n en: 'Samosa',\r\n fr: 'Samosa'\r\n },\r\n image: samosa,\r\n },\r\n {\r\n name: {\r\n en: 'Namak Para',\r\n fr: 'Namak Para'\r\n },\r\n image: namakpara,\r\n },\r\n {\r\n name: {\r\n en: 'Aloo tiki',\r\n fr: 'Aloo tiki'\r\n },\r\n image: alootiki,\r\n },\r\n {\r\n name: {\r\n en: 'Pakora',\r\n fr: 'Pakora'\r\n },\r\n image: pakora,\r\n },\r\n {\r\n name: {\r\n en: 'Vegetable Roll',\r\n fr: 'Rouleaux aux légumes'\r\n },\r\n image: vegetableroll,\r\n },\r\n {\r\n name: {\r\n en: 'Samosa Chaat',\r\n fr: 'Samosa Chaat'\r\n },\r\n image: samosachaat,\r\n },\r\n {\r\n name: {\r\n en: 'Pani Puri/Gol Gappay',\r\n fr: 'Pani Puri/Gol Gappay'\r\n },\r\n image: panipuri,\r\n },\r\n {\r\n name: {\r\n en: 'Pheni',\r\n fr: 'Pheni'\r\n },\r\n image: pheni,\r\n },\r\n]\r\n\r\nexport default snacks;\r\n","export default __webpack_public_path__ + \"static/samosa-f08c36849b42f5c3860021918bfcae39.png\";","export default __webpack_public_path__ + \"static/namakpara-312c59dcf04de99e371f0de001b0a774.png\";","export default __webpack_public_path__ + \"static/alootiki-31d73f427b1e71e334ea34773517d874.png\";","export default __webpack_public_path__ + \"static/pakora-2e1f34e71f1d9762e733cf13c33ee21c.png\";","export default __webpack_public_path__ + \"static/vegetableroll-8eaf6b5e0a52e573d82551c4355dc0b5.png\";","export default __webpack_public_path__ + \"static/pheni-6e960132fbcc58573985133a501b40d5.png\";","\r\nimport chai from '../images/image-coming-soon.png'\r\nimport juice from '../images/products/drinks/juice.png'\r\nimport softdrink from '../images/products/drinks/softdrink.png'\r\nimport water from '../images/products/drinks/water.png'\r\n\r\nconst drinks = [\r\n {\r\n name: {\r\n en: 'Chai',\r\n fr: 'Chai'\r\n },\r\n image: chai,\r\n },\r\n {\r\n name: {\r\n en: 'Juice',\r\n fr: 'Jus'\r\n },\r\n image: juice,\r\n },\r\n {\r\n name: {\r\n en: 'Soft Drink',\r\n fr: 'Boisson Gazeuse'\r\n },\r\n image: softdrink,\r\n },\r\n {\r\n name: {\r\n en: 'Water',\r\n fr: 'Eau'\r\n },\r\n image: water,\r\n },\r\n]\r\n\r\nexport default drinks;\r\n","export default __webpack_public_path__ + \"static/juice-e3f934067923eb40f8d69eda5b06b028.png\";","export default __webpack_public_path__ + \"static/softdrink-78879809b5084f800d02e0641e169e98.png\";","export default __webpack_public_path__ + \"static/water-a406013c1e90b932fe5ae54e76f297ac.png\";","import React from \"react\"\nimport LazyLoad from 'react-lazyload';\n\nconst MenuItem = ({ name, image, cost }) => (\n
\n
\n \n {name}/\n \n
\n

{name}

\n
\n
\n
\n)\n\nexport default MenuItem\n","import React from \"react\"\r\nimport { Link } from \"react-scroll\";\r\n\r\nimport Layout from \"../components/layout\"\r\nimport SEO from \"../components/seo\"\r\nimport sweets from '../data/sweets'\r\nimport snacks from '../data/snacks'\r\nimport drinks from '../data/drinks'\r\nimport MenuItem from '../components/menuItem';\r\nimport { injectIntl } from \"gatsby-plugin-react-intl\"\r\nimport { StaticImage } from \"gatsby-plugin-image\"\r\n\r\nconst SmoothMenuLink = ({ title }) => {\r\n const lowerCaseTitle = title.toLowerCase();\r\n return {title}\r\n}\r\n\r\nconst Menu = ({ intl }) => (\r\n \r\n \r\n
\r\n

{intl.formatMessage({ id: \"nav.menu\" })}

\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • {intl.formatMessage({ id: \"menu.categories\" })}
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n

\r\n {intl.formatMessage({ id: \"menu.sweets\" })}\r\n

\r\n
\r\n {sweets.map(sweet => )}\r\n
\r\n
\r\n
\r\n

\r\n {intl.formatMessage({ id: \"menu.snacks\" })}\r\n

\r\n
\r\n {snacks.map(snack => )}\r\n
\r\n
\r\n
\r\n

\r\n {intl.formatMessage({ id: \"menu.drinks\" })}\r\n

\r\n
\r\n {drinks.map(drink => )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n)\r\n\r\nexport default injectIntl(Menu)\r\n"],"sourceRoot":""}