{"version":3,"sources":["../node_modules/react-waypoint/es/index.js","../node_modules/consolidated-events/lib/index.esm.js","../node_modules/react-waypoint/node_modules/react-is/index.js","../node_modules/react-waypoint/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/RichText.js","../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/Link.js"],"names":["computeOffsetPixels","offset","contextHeight","str","pixelOffset","isNaN","parseFloat","isFinite","slice","percentOffset","parseOffsetAsPercentage","ABOVE","INSIDE","BELOW","INVISIBLE","isDOMElement","Component","type","timeout","timeoutQueue","onNextTick","cb","push","setTimeout","item","shift","isSubscribed","index","indexOf","splice","length","clearTimeout","hasWindow","window","defaultProps","debug","scrollableAncestor","undefined","children","topOffset","bottomOffset","horizontal","onEnter","onLeave","onPositionChange","fireOnRapidScroll","Waypoint","_React$PureComponent","props","_this","call","this","refElement","e","_ref","_inheritsLoose","_proto","prototype","componentDidMount","_this2","cancelOnNextTick","_this2$props","ref","Error","ensureRefIsProvidedByChild","_handleScroll","bind","_findScrollableAncestor","scrollEventListenerUnsubscribe","addEventListener","passive","resizeEventListenerUnsubscribe","componentDidUpdate","_this3","componentWillUnmount","_this$props","global","resolveScrollableAncestorProp","node","parentNode","document","body","style","getComputedStyle","overflow","getPropertyValue","event","bounds","_getBounds","currentPosition","viewportBottom","viewportTop","waypointTop","waypointBottom","getCurrentPosition","previousPosition","_previousPosition","_this$props2","callbackArg","contextScrollTop","_this$props3","_this$_ref$getBoundin","getBoundingClientRect","left","top","right","bottom","innerWidth","innerHeight","offsetWidth","offsetHeight","_this$props4","render","_this4","React","createElement","fontSize","isForwardRef","cloneElement","current","innerRef","PureComponent","above","below","inside","invisible","displayName","CAN_USE_DOM","memoized","canUsePassiveEventListeners","removeEventListener","Object","defineProperty","supportsPassiveOption","opts","get","noop","testPassiveEventListeners","ensureCanMutateNextEventHandlers","eventHandlers","handlers","nextHandlers","TargetEventHandlers","target","events","getEventHandlers","eventName","options","normalizedEventOptions","key","String","capture","once","handleEvent","forEach","handler","add","listener","EVENT_HANDLERS_KEY","eventOptions","normalizeEventOptions","module","exports","require","b","c","d","f","g","h","k","l","m","n","p","q","r","u","v","w","Symbol","x","y","a","t","$$typeof","z","A","B","C","D","E","F","G","H","I","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__rest","s","hasOwnProperty","getOwnPropertySymbols","i","propertyIsEnumerable","RichText","forwardRef","_a","field","tag","editable","otherProps","value","htmlProps","assign","dangerouslySetInnerHTML","__html","RichTextPropTypes","PropTypes","shape","string","bool","propTypes","Link","showLinkTextWithChildrenPresent","dynamicField","editableFirstPart","href","resultTags","markup","editableLastPart","className","link","anchorAttrs","title","rel","linkText","text","LinkPropTypes","oneOfType","object","isRequired"],"mappings":"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","file":"static/js/126.37dfcf2c.chunk.js","sourcesContent":["import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { addEventListener } from 'consolidated-events';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\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 hasWindow = typeof window !== 'undefined';\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 _inheritsLoose(Waypoint, _React$PureComponent);\n\n function Waypoint(props) {\n var _this;\n\n _this = _React$PureComponent.call(this, props) || this;\n\n _this.refElement = function (e) {\n _this._ref = e;\n };\n\n return _this;\n }\n\n var _proto = Waypoint.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n if (!hasWindow) {\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 _proto.componentDidUpdate = function componentDidUpdate() {\n var _this3 = this;\n\n if (!hasWindow) {\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 _proto.componentWillUnmount = function componentWillUnmount() {\n if (!hasWindow) {\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 _proto._findScrollableAncestor = 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 _proto._handleScroll = 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 _proto._getBounds = 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 _proto.render = 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 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` can either be a number, in which case its a distance from the\n // bottom 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 bottom of the containing element.\n // Similar to `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;\nWaypoint.defaultProps = defaultProps;\nWaypoint.displayName = 'Waypoint';\n\nexport { Waypoint };\n","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","'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","/** @license React v17.0.2\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'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nexport const RichText = forwardRef((_a, ref) => {\n var { field, tag, editable } = _a, otherProps = __rest(_a, [\"field\", \"tag\", \"editable\"]);\n if (!field || (!field.editable && !field.value)) {\n return null;\n }\n const htmlProps = Object.assign({ dangerouslySetInnerHTML: {\n __html: field.editable && editable ? field.editable : field.value,\n }, ref }, otherProps);\n return React.createElement(tag || 'div', htmlProps);\n});\nexport const RichTextPropTypes = {\n field: PropTypes.shape({\n value: PropTypes.string,\n editable: PropTypes.string,\n }),\n tag: PropTypes.string,\n editable: PropTypes.bool,\n};\nRichText.propTypes = RichTextPropTypes;\nRichText.defaultProps = {\n tag: 'div',\n editable: true,\n};\nRichText.displayName = 'RichText';\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport PropTypes from 'prop-types';\nexport const Link = (_a) => {\n var { field, editable, children, showLinkTextWithChildrenPresent } = _a, otherProps = __rest(_a, [\"field\", \"editable\", \"children\", \"showLinkTextWithChildrenPresent\"]);\n const dynamicField = field;\n if (!field ||\n (!dynamicField.editableFirstPart &&\n !dynamicField.value &&\n !dynamicField.href)) {\n return null;\n }\n const resultTags = [];\n // EXPERIENCE EDITOR RENDERING\n if (editable && dynamicField.editableFirstPart) {\n const markup = dynamicField.editableFirstPart + dynamicField.editableLastPart;\n // in an ideal world, we'd pre-render React children here and inject them between editableFirstPart and editableLastPart.\n // However, we cannot combine arbitrary unparsed HTML (innerHTML) based components with actual vDOM components (the children)\n // because the innerHTML is not parsed - it'd make a discontinuous vDOM. So, we'll go for the next best compromise of rendering the link field and children separately\n // as siblings. Should be \"good enough\" for most cases - and write your own helper if it isn't. Or bring xEditor out of 2006.\n const htmlProps = Object.assign(Object.assign({ className: 'sc-link-wrapper', dangerouslySetInnerHTML: {\n __html: markup,\n } }, otherProps), { key: 'editable' });\n resultTags.push(React.createElement(\"span\", Object.assign({}, htmlProps)));\n // don't render normal link tag when editing, if no children exist\n // this preserves normal-ish behavior if not using a link body (no hacks required)\n if (!children) {\n return resultTags[0];\n }\n }\n // handle link directly on field for forgetful devs\n const link = dynamicField.href\n ? field\n : dynamicField.value;\n if (!link) {\n return null;\n }\n const anchorAttrs = {\n href: link.href,\n className: link.class,\n title: link.title,\n target: link.target,\n };\n if (anchorAttrs.target === '_blank' && !anchorAttrs.rel) {\n // information disclosure attack prevention keeps target blank site from getting ref to window.opener\n anchorAttrs.rel = 'noopener noreferrer';\n }\n const linkText = showLinkTextWithChildrenPresent || !children ? link.text || link.href : null;\n resultTags.push(React.createElement('a', Object.assign(Object.assign(Object.assign({}, anchorAttrs), otherProps), { key: 'link' }), linkText, children));\n return React.createElement(React.Fragment, null, resultTags);\n};\nexport const LinkPropTypes = {\n field: PropTypes.oneOfType([\n PropTypes.shape({\n href: PropTypes.string,\n }),\n PropTypes.shape({\n value: PropTypes.object,\n editableFirstPart: PropTypes.string,\n editableLastPart: PropTypes.string,\n }),\n ]).isRequired,\n editable: PropTypes.bool,\n children: PropTypes.node,\n showLinkTextWithChildrenPresent: PropTypes.bool,\n};\nLink.propTypes = LinkPropTypes;\nLink.defaultProps = {\n editable: true,\n};\nLink.displayName = 'Link';\n"],"sourceRoot":""}