{"version":3,"sources":["webpack:///./node_modules/lodash/_root.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/react-use/esm/useEffectOnce.js","webpack:///./node_modules/react-use/esm/useUnmount.js","webpack:///./node_modules/react-use/esm/useRafState.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/throttle.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/react-use/esm/useIsomorphicLayoutEffect.js","webpack:///./node_modules/react-use/esm/misc/util.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lodash/_baseTrim.js","webpack:///./node_modules/lodash/_trimmedEndIndex.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/react-use/esm/useWindowScroll.js","webpack:///./node_modules/react-use/esm/usePrevious.js"],"names":["freeGlobal","freeSelf","self","Object","root","Function","module","exports","g","this","e","window","value","type","effect","fn","fnRef","current","initialState","frame","_a","state","setState","setRafState","cancelAnimationFrame","requestAnimationFrame","baseGetTag","isObjectLike","Symbol","getRawTag","objectToString","symToStringTag","toStringTag","undefined","debounce","isObject","func","wait","options","leading","trailing","TypeError","now","toNumber","nativeMax","Math","max","nativeMin","min","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","maxing","invokeFunc","time","args","thisArg","apply","leadingEdge","setTimeout","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","arguments","clearTimeout","cancel","flush","global","useIsomorphicLayoutEffect","noop","on","obj","_i","length","addEventListener","off","removeEventListener","isBrowser","Date","baseTrim","isSymbol","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","test","slice","trimmedEndIndex","reTrimStart","string","replace","reWhitespace","index","charAt","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","isOwn","call","tag","unmasked","x","pageXOffset","y","pageYOffset","handler","capture","passive","usePrevious","ref"],"mappings":"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","file":"57-7bcefbf9a00f6e3c683e.js","sourcesContent":["var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\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 */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","import { useEffect } from 'react';\nvar useEffectOnce = function (effect) {\n useEffect(effect, []);\n};\nexport default useEffectOnce;\n","import { useRef } from 'react';\nimport useEffectOnce from './useEffectOnce';\nvar useUnmount = function (fn) {\n var fnRef = useRef(fn);\n // update the ref each render so if it change the newest callback will be invoked\n fnRef.current = fn;\n useEffectOnce(function () { return function () { return fnRef.current(); }; });\n};\nexport default useUnmount;\n","import { useCallback, useRef, useState } from 'react';\nimport useUnmount from './useUnmount';\nvar useRafState = function (initialState) {\n var frame = useRef(0);\n var _a = useState(initialState), state = _a[0], setState = _a[1];\n var setRafState = useCallback(function (value) {\n cancelAnimationFrame(frame.current);\n frame.current = requestAnimationFrame(function () {\n setState(value);\n });\n }, []);\n useUnmount(function () {\n cancelAnimationFrame(frame.current);\n });\n return [state, setRafState];\n};\nexport default useRafState;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\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 */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\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 */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\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 */\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 if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\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 */\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 wait = toNumber(wait) || 0;\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\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;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // 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 return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\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\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from './misc/util';\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;\n","export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","var root = require('./_root');\n\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 */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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 */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","import { useEffect } from 'react';\nimport { isBrowser, off, on } from './misc/util';\nimport useRafState from './useRafState';\nvar useWindowScroll = function () {\n var _a = useRafState(function () { return ({\n x: isBrowser ? window.pageXOffset : 0,\n y: isBrowser ? window.pageYOffset : 0,\n }); }), state = _a[0], setState = _a[1];\n useEffect(function () {\n var handler = function () {\n setState(function (state) {\n var pageXOffset = window.pageXOffset, pageYOffset = window.pageYOffset;\n //Check state for change, return same state if no change happened to prevent rerender\n //(see useState/setState documentation). useState/setState is used internally in useRafState/setState.\n return state.x !== pageXOffset || state.y !== pageYOffset\n ? {\n x: pageXOffset,\n y: pageYOffset,\n }\n : state;\n });\n };\n //We have to update window scroll at mount, before subscription.\n //Window scroll may be changed between render and effect handler.\n handler();\n on(window, 'scroll', handler, {\n capture: false,\n passive: true,\n });\n return function () {\n off(window, 'scroll', handler);\n };\n }, []);\n return state;\n};\nexport default useWindowScroll;\n","import { useEffect, useRef } from 'react';\nexport default function usePrevious(state) {\n var ref = useRef();\n useEffect(function () {\n ref.current = state;\n });\n return ref.current;\n}\n"],"sourceRoot":""}