{"version":3,"file":"static/chunks/3824.dee8b638e445894c.js","mappings":"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","sources":["webpack://_N_E/./node_modules/consolidated-events/lib/index.esm.js","webpack://_N_E/./node_modules/react-waypoint/es/index.js","webpack://_N_E/./node_modules/react-waypoint/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/react-waypoint/node_modules/react-is/index.js","webpack://_N_E/"],"sourcesContent":["var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// Adapted from Modernizr\n// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37\nfunction testPassiveEventListeners() {\n if (!CAN_USE_DOM) {\n return false;\n }\n\n if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {\n return false;\n }\n\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get: function () {\n function get() {\n supportsPassiveOption = true;\n }\n\n return get;\n }()\n });\n var noop = function noop() {};\n window.addEventListener('testPassiveEventSupport', noop, opts);\n window.removeEventListener('testPassiveEventSupport', noop, opts);\n } catch (e) {\n // do nothing\n }\n\n return supportsPassiveOption;\n}\n\nvar memoized = void 0;\n\nfunction canUsePassiveEventListeners() {\n if (memoized === undefined) {\n memoized = testPassiveEventListeners();\n }\n return memoized;\n}\n\nfunction normalizeEventOptions(eventOptions) {\n if (!eventOptions) {\n return undefined;\n }\n\n if (!canUsePassiveEventListeners()) {\n // If the browser does not support the passive option, then it is expecting\n // a boolean for the options argument to specify whether it should use\n // capture or not. In more modern browsers, this is passed via the `capture`\n // option, so let's just hoist that value up.\n return !!eventOptions.capture;\n }\n\n return eventOptions;\n}\n\n/* eslint-disable no-bitwise */\n\n/**\n * Generate a unique key for any set of event options\n */\nfunction eventOptionsKey(normalizedEventOptions) {\n if (!normalizedEventOptions) {\n return 0;\n }\n\n // If the browser does not support passive event listeners, the normalized\n // event options will be a boolean.\n if (normalizedEventOptions === true) {\n return 100;\n }\n\n // At this point, the browser supports passive event listeners, so we expect\n // the event options to be an object with possible properties of capture,\n // passive, and once.\n //\n // We want to consistently return the same value, regardless of the order of\n // these properties, so let's use binary maths to assign each property to a\n // bit, and then add those together (with an offset to account for the\n // booleans at the beginning of this function).\n var capture = normalizedEventOptions.capture << 0;\n var passive = normalizedEventOptions.passive << 1;\n var once = normalizedEventOptions.once << 2;\n return capture + passive + once;\n}\n\nfunction ensureCanMutateNextEventHandlers(eventHandlers) {\n if (eventHandlers.handlers === eventHandlers.nextHandlers) {\n // eslint-disable-next-line no-param-reassign\n eventHandlers.nextHandlers = eventHandlers.handlers.slice();\n }\n}\n\nfunction TargetEventHandlers(target) {\n this.target = target;\n this.events = {};\n}\n\nTargetEventHandlers.prototype.getEventHandlers = function () {\n function getEventHandlers(eventName, options) {\n var key = String(eventName) + ' ' + String(eventOptionsKey(options));\n\n if (!this.events[key]) {\n this.events[key] = {\n handlers: [],\n handleEvent: undefined\n };\n this.events[key].nextHandlers = this.events[key].handlers;\n }\n\n return this.events[key];\n }\n\n return getEventHandlers;\n}();\n\nTargetEventHandlers.prototype.handleEvent = function () {\n function handleEvent(eventName, options, event) {\n var eventHandlers = this.getEventHandlers(eventName, options);\n eventHandlers.handlers = eventHandlers.nextHandlers;\n eventHandlers.handlers.forEach(function (handler) {\n if (handler) {\n // We need to check for presence here because a handler function may\n // cause later handlers to get removed. This can happen if you for\n // instance have a waypoint that unmounts another waypoint as part of an\n // onEnter/onLeave handler.\n handler(event);\n }\n });\n }\n\n return handleEvent;\n}();\n\nTargetEventHandlers.prototype.add = function () {\n function add(eventName, listener, options) {\n var _this = this;\n\n // options has already been normalized at this point.\n var eventHandlers = this.getEventHandlers(eventName, options);\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n\n if (eventHandlers.nextHandlers.length === 0) {\n eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);\n\n this.target.addEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.nextHandlers.push(listener);\n\n var isSubscribed = true;\n var unsubscribe = function () {\n function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n var index = eventHandlers.nextHandlers.indexOf(listener);\n eventHandlers.nextHandlers.splice(index, 1);\n\n if (eventHandlers.nextHandlers.length === 0) {\n // All event handlers have been removed, so we want to remove the event\n // listener from the target node.\n\n if (_this.target) {\n // There can be a race condition where the target may no longer exist\n // when this function is called, e.g. when a React component is\n // unmounting. Guarding against this prevents the following error:\n //\n // Cannot read property 'removeEventListener' of undefined\n _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.handleEvent = undefined;\n }\n }\n\n return unsubscribe;\n }();\n return unsubscribe;\n }\n\n return add;\n}();\n\nvar EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';\n\n// eslint-disable-next-line import/prefer-default-export\nfunction addEventListener(target, eventName, listener, options) {\n if (!target[EVENT_HANDLERS_KEY]) {\n // eslint-disable-next-line no-param-reassign\n target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);\n }\n var normalizedEventOptions = normalizeEventOptions(options);\n return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);\n}\n\nexport { addEventListener };\n","import { addEventListener } from 'consolidated-events';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\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 _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\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\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\n/**\n * Attempts to parse the offset provided as a prop as a percentage. For\n * instance, if the component has been provided with the string \"20%\" as\n * a value of one of the offset props. If the value matches, then it returns\n * a numeric version of the prop. For instance, \"20%\" would become `0.2`.\n * If `str` isn't a percentage, then `undefined` will be returned.\n *\n * @param {string} str The value of an offset prop to be converted to a\n * number.\n * @return {number|undefined} The numeric version of `str`. Undefined if `str`\n * was not a percentage.\n */\nfunction parseOffsetAsPercentage(str) {\n if (str.slice(-1) === '%') {\n return parseFloat(str.slice(0, -1)) / 100;\n }\n\n return undefined;\n}\n\n/**\n * Attempts to parse the offset provided as a prop as a pixel value. If\n * parsing fails, then `undefined` is returned. Three examples of values that\n * will be successfully parsed are:\n * `20`\n * \"20px\"\n * \"20\"\n *\n * @param {string|number} str A string of the form \"{number}\" or \"{number}px\",\n * or just a number.\n * @return {number|undefined} The numeric version of `str`. Undefined if `str`\n * was neither a number nor string ending in \"px\".\n */\nfunction parseOffsetAsPixels(str) {\n if (!isNaN(parseFloat(str)) && isFinite(str)) {\n return parseFloat(str);\n }\n\n if (str.slice(-2) === 'px') {\n return parseFloat(str.slice(0, -2));\n }\n\n return undefined;\n}\n\n/**\n * @param {string|number} offset\n * @param {number} contextHeight\n * @return {number} A number representing `offset` converted into pixels.\n */\n\nfunction computeOffsetPixels(offset, contextHeight) {\n var pixelOffset = parseOffsetAsPixels(offset);\n\n if (typeof pixelOffset === 'number') {\n return pixelOffset;\n }\n\n var percentOffset = parseOffsetAsPercentage(offset);\n\n if (typeof percentOffset === 'number') {\n return percentOffset * contextHeight;\n }\n\n return undefined;\n}\n\nvar ABOVE = 'above';\nvar INSIDE = 'inside';\nvar BELOW = 'below';\nvar INVISIBLE = 'invisible';\n\nfunction debugLog() {\n if (process.env.NODE_ENV !== 'production') {\n var _console;\n\n (_console = console).log.apply(_console, arguments); // eslint-disable-line no-console\n\n }\n}\n\n/**\n * When an element's type is a string, it represents a DOM node with that tag name\n * https://facebook.github.io/react/blog/2015/12/18/react-components-elements-and-instances.html#dom-elements\n *\n * @param {React.element} Component\n * @return {bool} Whether the component is a DOM Element\n */\nfunction isDOMElement(Component) {\n return typeof Component.type === 'string';\n}\n\nvar errorMessage = ' needs a DOM element to compute boundaries. The child you passed is neither a ' + 'DOM element (e.g.
) nor does it use the innerRef prop.\\n\\n' + 'See https://goo.gl/LrBNgw for more info.';\n/**\n * Raise an error if \"children\" is not a DOM Element and there is no ref provided to Waypoint\n *\n * @param {?React.element} children\n * @param {?HTMLElement} ref\n * @return {undefined}\n */\n\nfunction ensureRefIsProvidedByChild(children, ref) {\n if (children && !isDOMElement(children) && !ref) {\n throw new Error(errorMessage);\n }\n}\n\n/**\n * @param {object} bounds An object with bounds data for the waypoint and\n * scrollable parent\n * @return {string} The current position of the waypoint in relation to the\n * visible portion of the scrollable parent. One of the constants `ABOVE`,\n * `BELOW`, `INSIDE` or `INVISIBLE`.\n */\n\nfunction getCurrentPosition(bounds) {\n if (bounds.viewportBottom - bounds.viewportTop === 0) {\n return INVISIBLE;\n } // top is within the viewport\n\n\n if (bounds.viewportTop <= bounds.waypointTop && bounds.waypointTop <= bounds.viewportBottom) {\n return INSIDE;\n } // bottom is within the viewport\n\n\n if (bounds.viewportTop <= bounds.waypointBottom && bounds.waypointBottom <= bounds.viewportBottom) {\n return INSIDE;\n } // top is above the viewport and bottom is below the viewport\n\n\n if (bounds.waypointTop <= bounds.viewportTop && bounds.viewportBottom <= bounds.waypointBottom) {\n return INSIDE;\n }\n\n if (bounds.viewportBottom < bounds.waypointTop) {\n return BELOW;\n }\n\n if (bounds.waypointTop < bounds.viewportTop) {\n return ABOVE;\n }\n\n return INVISIBLE;\n}\n\nvar timeout;\nvar timeoutQueue = [];\nfunction onNextTick(cb) {\n timeoutQueue.push(cb);\n\n if (!timeout) {\n timeout = setTimeout(function () {\n timeout = null; // Drain the timeoutQueue\n\n var item; // eslint-disable-next-line no-cond-assign\n\n while (item = timeoutQueue.shift()) {\n item();\n }\n }, 0);\n }\n\n var isSubscribed = true;\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n var index = timeoutQueue.indexOf(cb);\n\n if (index === -1) {\n return;\n }\n\n timeoutQueue.splice(index, 1);\n\n if (!timeoutQueue.length && timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n}\n\nfunction resolveScrollableAncestorProp(scrollableAncestor) {\n // When Waypoint is rendered on the server, `window` is not available.\n // To make Waypoint easier to work with, we allow this to be specified in\n // string form and safely convert to `window` here.\n if (scrollableAncestor === 'window') {\n return global.window;\n }\n\n return scrollableAncestor;\n}\n\nvar defaultProps = {\n debug: false,\n scrollableAncestor: undefined,\n children: undefined,\n topOffset: '0px',\n bottomOffset: '0px',\n horizontal: false,\n onEnter: function onEnter() {},\n onLeave: function onLeave() {},\n onPositionChange: function onPositionChange() {},\n fireOnRapidScroll: true\n}; // Calls a function when you scroll to the element.\n\nvar Waypoint = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Waypoint, _React$PureComponent);\n\n var _super = _createSuper(Waypoint);\n\n function Waypoint(props) {\n var _this;\n\n _classCallCheck(this, Waypoint);\n\n _this = _super.call(this, props);\n\n _this.refElement = function (e) {\n _this._ref = e;\n };\n\n return _this;\n }\n\n _createClass(Waypoint, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (!Waypoint.getWindow()) {\n return;\n } // this._ref may occasionally not be set at this time. To help ensure that\n // this works smoothly and to avoid layout thrashing, we want to delay the\n // initial execution until the next tick.\n\n\n this.cancelOnNextTick = onNextTick(function () {\n _this2.cancelOnNextTick = null;\n var _this2$props = _this2.props,\n children = _this2$props.children,\n debug = _this2$props.debug; // Berofe doing anything, we want to check that this._ref is avaliable in Waypoint\n\n ensureRefIsProvidedByChild(children, _this2._ref);\n _this2._handleScroll = _this2._handleScroll.bind(_this2);\n _this2.scrollableAncestor = _this2._findScrollableAncestor();\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n debugLog('scrollableAncestor', _this2.scrollableAncestor);\n }\n\n _this2.scrollEventListenerUnsubscribe = addEventListener(_this2.scrollableAncestor, 'scroll', _this2._handleScroll, {\n passive: true\n });\n _this2.resizeEventListenerUnsubscribe = addEventListener(window, 'resize', _this2._handleScroll, {\n passive: true\n });\n\n _this2._handleScroll(null);\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var _this3 = this;\n\n if (!Waypoint.getWindow()) {\n return;\n }\n\n if (!this.scrollableAncestor) {\n // The Waypoint has not yet initialized.\n return;\n } // The element may have moved, so we need to recompute its position on the\n // page. This happens via handleScroll in a way that forces layout to be\n // computed.\n //\n // We want this to be deferred to avoid forcing layout during render, which\n // causes layout thrashing. And, if we already have this work enqueued, we\n // can just wait for that to happen instead of enqueueing again.\n\n\n if (this.cancelOnNextTick) {\n return;\n }\n\n this.cancelOnNextTick = onNextTick(function () {\n _this3.cancelOnNextTick = null;\n\n _this3._handleScroll(null);\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!Waypoint.getWindow()) {\n return;\n }\n\n if (this.scrollEventListenerUnsubscribe) {\n this.scrollEventListenerUnsubscribe();\n }\n\n if (this.resizeEventListenerUnsubscribe) {\n this.resizeEventListenerUnsubscribe();\n }\n\n if (this.cancelOnNextTick) {\n this.cancelOnNextTick();\n }\n }\n /**\n * Traverses up the DOM to find an ancestor container which has an overflow\n * style that allows for scrolling.\n *\n * @return {Object} the closest ancestor element with an overflow style that\n * allows for scrolling. If none is found, the `window` object is returned\n * as a fallback.\n */\n\n }, {\n key: \"_findScrollableAncestor\",\n value: function _findScrollableAncestor() {\n var _this$props = this.props,\n horizontal = _this$props.horizontal,\n scrollableAncestor = _this$props.scrollableAncestor;\n\n if (scrollableAncestor) {\n return resolveScrollableAncestorProp(scrollableAncestor);\n }\n\n var node = this._ref;\n\n while (node.parentNode) {\n node = node.parentNode;\n\n if (node === document.body) {\n // We've reached all the way to the root node.\n return window;\n }\n\n var style = window.getComputedStyle(node);\n var overflowDirec = horizontal ? style.getPropertyValue('overflow-x') : style.getPropertyValue('overflow-y');\n var overflow = overflowDirec || style.getPropertyValue('overflow');\n\n if (overflow === 'auto' || overflow === 'scroll' || overflow === 'overlay') {\n return node;\n }\n } // A scrollable ancestor element was not found, which means that we need to\n // do stuff on window.\n\n\n return window;\n }\n /**\n * @param {Object} event the native scroll event coming from the scrollable\n * ancestor, or resize event coming from the window. Will be undefined if\n * called by a React lifecyle method\n */\n\n }, {\n key: \"_handleScroll\",\n value: function _handleScroll(event) {\n if (!this._ref) {\n // There's a chance we end up here after the component has been unmounted.\n return;\n }\n\n var bounds = this._getBounds();\n\n var currentPosition = getCurrentPosition(bounds);\n var previousPosition = this._previousPosition;\n var _this$props2 = this.props,\n debug = _this$props2.debug,\n onPositionChange = _this$props2.onPositionChange,\n onEnter = _this$props2.onEnter,\n onLeave = _this$props2.onLeave,\n fireOnRapidScroll = _this$props2.fireOnRapidScroll;\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n debugLog('currentPosition', currentPosition);\n debugLog('previousPosition', previousPosition);\n } // Save previous position as early as possible to prevent cycles\n\n\n this._previousPosition = currentPosition;\n\n if (previousPosition === currentPosition) {\n // No change since last trigger\n return;\n }\n\n var callbackArg = {\n currentPosition: currentPosition,\n previousPosition: previousPosition,\n event: event,\n waypointTop: bounds.waypointTop,\n waypointBottom: bounds.waypointBottom,\n viewportTop: bounds.viewportTop,\n viewportBottom: bounds.viewportBottom\n };\n onPositionChange.call(this, callbackArg);\n\n if (currentPosition === INSIDE) {\n onEnter.call(this, callbackArg);\n } else if (previousPosition === INSIDE) {\n onLeave.call(this, callbackArg);\n }\n\n var isRapidScrollDown = previousPosition === BELOW && currentPosition === ABOVE;\n var isRapidScrollUp = previousPosition === ABOVE && currentPosition === BELOW;\n\n if (fireOnRapidScroll && (isRapidScrollDown || isRapidScrollUp)) {\n // If the scroll event isn't fired often enough to occur while the\n // waypoint was visible, we trigger both callbacks anyway.\n onEnter.call(this, {\n currentPosition: INSIDE,\n previousPosition: previousPosition,\n event: event,\n waypointTop: bounds.waypointTop,\n waypointBottom: bounds.waypointBottom,\n viewportTop: bounds.viewportTop,\n viewportBottom: bounds.viewportBottom\n });\n onLeave.call(this, {\n currentPosition: currentPosition,\n previousPosition: INSIDE,\n event: event,\n waypointTop: bounds.waypointTop,\n waypointBottom: bounds.waypointBottom,\n viewportTop: bounds.viewportTop,\n viewportBottom: bounds.viewportBottom\n });\n }\n }\n }, {\n key: \"_getBounds\",\n value: function _getBounds() {\n var _this$props3 = this.props,\n horizontal = _this$props3.horizontal,\n debug = _this$props3.debug;\n\n var _this$_ref$getBoundin = this._ref.getBoundingClientRect(),\n left = _this$_ref$getBoundin.left,\n top = _this$_ref$getBoundin.top,\n right = _this$_ref$getBoundin.right,\n bottom = _this$_ref$getBoundin.bottom;\n\n var waypointTop = horizontal ? left : top;\n var waypointBottom = horizontal ? right : bottom;\n var contextHeight;\n var contextScrollTop;\n\n if (this.scrollableAncestor === window) {\n contextHeight = horizontal ? window.innerWidth : window.innerHeight;\n contextScrollTop = 0;\n } else {\n contextHeight = horizontal ? this.scrollableAncestor.offsetWidth : this.scrollableAncestor.offsetHeight;\n contextScrollTop = horizontal ? this.scrollableAncestor.getBoundingClientRect().left : this.scrollableAncestor.getBoundingClientRect().top;\n }\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n debugLog('waypoint top', waypointTop);\n debugLog('waypoint bottom', waypointBottom);\n debugLog('scrollableAncestor height', contextHeight);\n debugLog('scrollableAncestor scrollTop', contextScrollTop);\n }\n\n var _this$props4 = this.props,\n bottomOffset = _this$props4.bottomOffset,\n topOffset = _this$props4.topOffset;\n var topOffsetPx = computeOffsetPixels(topOffset, contextHeight);\n var bottomOffsetPx = computeOffsetPixels(bottomOffset, contextHeight);\n var contextBottom = contextScrollTop + contextHeight;\n return {\n waypointTop: waypointTop,\n waypointBottom: waypointBottom,\n viewportTop: contextScrollTop + topOffsetPx,\n viewportBottom: contextBottom - bottomOffsetPx\n };\n }\n /**\n * @return {Object}\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var children = this.props.children;\n\n if (!children) {\n // We need an element that we can locate in the DOM to determine where it is\n // rendered relative to the top of its context.\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: this.refElement,\n style: {\n fontSize: 0\n }\n });\n }\n\n if (isDOMElement(children) || isForwardRef(children)) {\n var ref = function ref(node) {\n _this4.refElement(node);\n\n if (children.ref) {\n if (typeof children.ref === 'function') {\n children.ref(node);\n } else {\n children.ref.current = node;\n }\n }\n };\n\n return /*#__PURE__*/React.cloneElement(children, {\n ref: ref\n });\n }\n\n return /*#__PURE__*/React.cloneElement(children, {\n innerRef: this.refElement\n });\n }\n }]);\n\n return Waypoint;\n}(React.PureComponent);\n\nif (process.env.NODE_ENV !== 'production') {\n Waypoint.propTypes = {\n children: PropTypes.element,\n debug: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPositionChange: PropTypes.func,\n fireOnRapidScroll: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n scrollableAncestor: PropTypes.any,\n horizontal: PropTypes.bool,\n // `topOffset` can either be a number, in which case its a distance from the\n // top of the container in pixels, or a string value. Valid string values are\n // of the form \"20px\", which is parsed as pixels, or \"20%\", which is parsed\n // as a percentage of the height of the containing element.\n // For instance, if you pass \"-20%\", and the containing element is 100px tall,\n // then the waypoint will be triggered when it has been scrolled 20px beyond\n // the top of the containing element.\n topOffset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n // `bottomOffset` is like `topOffset`, but for the bottom of the container.\n bottomOffset: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n };\n}\n\nWaypoint.above = ABOVE;\nWaypoint.below = BELOW;\nWaypoint.inside = INSIDE;\nWaypoint.invisible = INVISIBLE;\n\nWaypoint.getWindow = function () {\n if (typeof window !== 'undefined') {\n return window;\n }\n\n return undefined;\n};\n\nWaypoint.defaultProps = defaultProps;\nWaypoint.displayName = 'Waypoint';\n\nexport { Waypoint };\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! For license information please see 3824.dee8b638e445894c.js.LICENSE */\n\"use strict\";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3824],{83824:function(e,t,n){n.d(t,{h:function(){return E}});var o=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);var r=void 0;function i(){return void 0===r&&(r=function(){if(!o)return!1;if(!window.addEventListener||!window.removeEventListener||!Object.defineProperty)return!1;var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}}),n=function(){};window.addEventListener(\"testPassiveEventSupport\",n,t),window.removeEventListener(\"testPassiveEventSupport\",n,t)}catch(e){}return e}()),r}function s(e){e.handlers===e.nextHandlers&&(e.nextHandlers=e.handlers.slice())}function a(e){this.target=e,this.events={}}a.prototype.getEventHandlers=function(e,t){var n,o=String(e)+\" \"+String((n=t)?!0===n?100:(n.capture<<0)+(n.passive<<1)+(n.once<<2):0);return this.events[o]||(this.events[o]={handlers:[],handleEvent:void 0},this.events[o].nextHandlers=this.events[o].handlers),this.events[o]},a.prototype.handleEvent=function(e,t,n){var o=this.getEventHandlers(e,t);o.handlers=o.nextHandlers,o.handlers.forEach((function(e){e&&e(n)}))},a.prototype.add=function(e,t,n){var o=this,r=this.getEventHandlers(e,n);s(r),0===r.nextHandlers.length&&(r.handleEvent=this.handleEvent.bind(this,e,n),this.target.addEventListener(e,r.handleEvent,n)),r.nextHandlers.push(t);var i=!0;return function(){if(i){i=!1,s(r);var a=r.nextHandlers.indexOf(t);r.nextHandlers.splice(a,1),0===r.nextHandlers.length&&(o.target&&o.target.removeEventListener(e,r.handleEvent,n),r.handleEvent=void 0)}}};function l(e,t,n,o){e.__consolidated_events_handlers__||(e.__consolidated_events_handlers__=new a(e));var r=function(e){if(e)return i()?e:!!e.capture}(o);return e.__consolidated_events_handlers__.add(t,n,r)}n(45697);var c=n(67294),u=n(35834);function f(e,t){for(var n=0;n needs a DOM element to compute boundaries. The child you passed is neither a DOM element (e.g.
) nor does it use the innerRef prop.\\n\\nSee https://goo.gl/LrBNgw for more info.\")}(n,e._ref),e._handleScroll=e._handleScroll.bind(e),e.scrollableAncestor=e._findScrollableAncestor(),e.scrollEventListenerUnsubscribe=l(e.scrollableAncestor,\"scroll\",e._handleScroll,{passive:!0}),e.resizeEventListenerUnsubscribe=l(window,\"resize\",e._handleScroll,{passive:!0}),e._handleScroll(null)})))}},{key:\"componentDidUpdate\",value:function(){var e=this;s.getWindow()&&this.scrollableAncestor&&(this.cancelOnNextTick||(this.cancelOnNextTick=_((function(){e.cancelOnNextTick=null,e._handleScroll(null)}))))}},{key:\"componentWillUnmount\",value:function(){s.getWindow()&&(this.scrollEventListenerUnsubscribe&&this.scrollEventListenerUnsubscribe(),this.resizeEventListenerUnsubscribe&&this.resizeEventListenerUnsubscribe(),this.cancelOnNextTick&&this.cancelOnNextTick())}},{key:\"_findScrollableAncestor\",value:function(){var e=this.props,t=e.horizontal,o=e.scrollableAncestor;if(o)return function(e){return\"window\"===e?n.g.window:e}(o);for(var r=this._ref;r.parentNode;){if((r=r.parentNode)===document.body)return window;var i=window.getComputedStyle(r),s=(t?i.getPropertyValue(\"overflow-x\"):i.getPropertyValue(\"overflow-y\"))||i.getPropertyValue(\"overflow\");if(\"auto\"===s||\"scroll\"===s||\"overlay\"===s)return r}return window}},{key:\"_handleScroll\",value:function(e){if(this._ref){var t=this._getBounds(),n=function(e){return e.viewportBottom-e.viewportTop==0?\"invisible\":e.viewportTop<=e.waypointTop&&e.waypointTop<=e.viewportBottom||e.viewportTop<=e.waypointBottom&&e.waypointBottom<=e.viewportBottom||e.waypointTop<=e.viewportTop&&e.viewportBottom<=e.waypointBottom?\"inside\":e.viewportBottom