{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/gatsby-background-image/index.js","webpack:///./node_modules/gatsby-background-image/HelperUtils.js","webpack:///./node_modules/gatsby-background-image/ImageUtils.js","webpack:///./node_modules/gatsby-background-image/BackgroundUtils.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/gatsby-background-image/StyleUtils.js","webpack:///./node_modules/gatsby-background-image/IntersectionObserverUtils.js"],"names":["__webpack_require__","createHTML","this","$export","fails","defined","quot","string","tag","attribute","value","S","String","p1","replace","module","exports","NAME","exec","O","P","F","test","toLowerCase","split","length","$find","forced","Array","find","callbackfn","arguments","undefined","_interopRequireDefault","require","__esModule","_objectWithoutPropertiesLoose2","_extends2","_assertThisInitialized2","_inheritsLoose2","_defineProperty2","_react","_propTypes","_BackgroundUtils","_HelperUtils","_ImageUtils","_StyleUtils","_IntersectionObserverUtils","BackgroundImage","_React$Component","props","_this","call","imageInCache","inImageCache","state","isVisible","onStartLoad","wasCached","imageRef","activatePictureRef","selfRef","setState","imageState","imgLoaded","imgCached","currentSrc","IOSupported","fadeIn","seenBefore","window","IntersectionObserver","critical","hasNoScript","_fixClassName","fixClassName","currentClassNames","addedClassName","backgroundStyles","presetBackgroundStyles","className","handleImageLoaded","bind","handleRef","createPictureRef","bgImage","initialBgImage","_proto","prototype","componentDidMount","imageReferenceCompleted","_fixClassName2","componentDidUpdate","prevProps","_this2","imagePropsChanged","_fixClassName3","getCurrentFromData","data","propName","returnArray","componentWillUnmount","isArray","forEach","currentImageRef","onload","cleanUpListeners","ref","listenToIntersections","intersectionListener","activateCacheForImage","onLoad","render","image","noScriptImageData","_fixOpacity","fixOpacity","convertProps","preserveStackingContext","_fixOpacity$style","style","fluid","fixed","backgroundColor","durationFadeIn","Tag","children","_fixOpacity$classId","classId","Math","random","toString","substr","remainingProps","stripRemainingProps","bgColor","shouldFadeIn","transitionDelay","divStyle","position","opacity","width","height","display","newImageSettings","switchImageSettings","nextImageArray","nextImage","pseudoStyles","createPseudoStyles","noScriptPseudoStyles","createNoScriptStyles","componentKey","JSON","stringify","srcSet","createElement","key","dangerouslySetInnerHTML","__html","Component","defaultProps","fixedObject","shape","number","isRequired","src","base64","tracedSVG","srcWebp","srcSetWebp","media","fluidObject","aspectRatio","sizes","propTypes","resolutions","oneOfType","arrayOf","bool","object","crossOrigin","array","func","onError","_default","combineArray","filteredJoin","hashString","stringToArray","toKebabCase","toCamelCase","hasImageArray","isString","gbiPropTypes","Object","propTypesKey","hasOwnProperty","convertedProps","str","letter","index","toUpperCase","match","delimiter","includes","reduce","hash","item","charCodeAt","arrayToJoin","filter","join","fromArray","toArray","map","imageLoaded","createDummyImageArray","imageArrayPropsChanged","getUrlString","activateMultiplePictureRefs","createMultiplePictureRefs","hasPictureElement","resetImageCache","activateCacheForMultipleImages","allInImageCache","imageCache","create","every","imageData","prop","HTMLPictureElement","img","Image","complete","addEventListener","pic","document","offsetWidth","offsetHeight","sourcesWebP","type","srcset","appendChild","imageRefs","_ref","currentSources","lastImage","addUrl","dummyArray","afterOpacity","checkLoaded","_ref2","_ref2$addUrl","_ref2$returnArray","_ref2$checkLoaded","imageString","dataElement","_ref3","_ref3$tracedSVG","_ref3$addUrl","_ref3$returnArray","_ref3$hasImageUrls","hasImageUrls","stringArray","currentString","indexOf","imageUrl","currentReturnString","returnString","isPropsFluidArray","isPrevPropsFluidArray","isPropsFixedArray","isPrevPropsFixedArray","withDummies","initialImage","dummyImageURI","fill","singleImageRef","naturalWidth","naturalHeight","getBackgroundStylesForSingleClass","getStyleRules","rulesForCssText","getStyle","styleSheets","i","classes","rules","cssRules","e","foundClass","slice","foundAcc","styleRule","selectorText","resultingStyleText","cssText","styleContent","doc","implementation","createHTMLDocument","styleElement","textContent","body","sheet","cssStyleRules","styles","constructor","name","values","console","error","keys","newData","classObjects","push","assign","apply","$values","it","DESCRIPTORS","getKeys","toIObject","isEnum","f","isEntries","result","toObject","toAbsoluteIndex","toLength","aLen","end","endPos","setTransitionStyles","kebabifyBackgroundStyles","escapeClassNames","createPseudoElement","resetComponentClassCache","activateCacheForComponentClass","inComponentClassCache","componentClassCache","appendix","escapedClassName","pseudoClasses","_ref$addedClassName","elementExists","randomAnswerToLifeTheUniverseAndEverything","round","randomClass","additionalClass","componentClassNames","trim","classNames","specialChars","_gbiSpecialChars","__GBI_SPECIAL_CHARS__","specialCharRegEx","RegExp","resultingStyles","styledProps","isNaN","backgroundPosition","backgroundRepeat","backgroundSize","pseudoBefore","pseudoAfter","allSources","sourcesAsUrl","sourcesAsUrlWithCSS","cssStrings","io","getIO","callbackIO","listeners","WeakMap","entries","entry","has","target","callback","get","isIntersecting","intersectionRatio","unobserve","rootMargin","element","observer","observe","set"],"mappings":"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","file":"1-9e6aaf07a06824dbd763.js","sourcesContent":["'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _BackgroundUtils = _interopRequireDefault(require(\"./BackgroundUtils\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar _StyleUtils = require(\"./StyleUtils\");\n\nvar _IntersectionObserverUtils = require(\"./IntersectionObserverUtils\");\n\n/**\n * Main Lazy-loading React background-image component\n * with optional support for the blur-up effect.\n */\nvar BackgroundImage =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(BackgroundImage, _React$Component);\n\n // IntersectionObserver listeners (if available).\n function BackgroundImage(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // Default settings for browser without Intersection Observer available.\n\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"cleanUpListeners\", void 0);\n (0, _defineProperty2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), \"intersectionListener\", function () {\n var imageInCache = (0, _ImageUtils.inImageCache)(_this.props);\n\n if (!_this.state.isVisible && typeof _this.props.onStartLoad === \"function\") {\n _this.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after the image is activated and\n // isVisible is true. Once it is, imageRef becomes \"accessible\" for imgCached.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes when\n // setting next imageState.\n\n\n _this.imageRef = (0, _ImageUtils.activatePictureRef)(_this.imageRef, _this.props, _this.selfRef);\n\n _this.setState({\n isVisible: true,\n imageState: _this.state.imageState + 1\n }, function () {\n _this.setState({\n imgLoaded: imageInCache,\n imgCached: !!_this.imageRef.currentSrc,\n imageState: _this.state.imageState + 1\n });\n });\n });\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = props.fadeIn; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n var seenBefore = (0, _ImageUtils.inImageCache)(props); // Browser with Intersection Observer available\n\n if (!seenBefore && typeof window !== \"undefined\" && window.IntersectionObserver) {\n isVisible = false;\n IOSupported = true;\n } // Never render image during SSR\n\n\n if (typeof window === \"undefined\") {\n isVisible = false;\n } // Force render for critical images.\n\n\n if (props.critical) {\n isVisible = true;\n IOSupported = false;\n } // Check if a noscript element should be included.\n\n\n var hasNoScript = !(props.critical && !fadeIn); // Set initial image state for transitioning.\n\n var imageState = 0; // Fixed class Name & added one (needed for multiple instances).\n\n var _fixClassName = (0, _StyleUtils.fixClassName)(props),\n currentClassNames = _fixClassName[0],\n addedClassName = _fixClassName[1];\n\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore,\n imageState: imageState,\n currentClassNames: currentClassNames,\n addedClassName: addedClassName // Preset backgroundStyles (e.g. during SSR or gatsby build).\n\n };\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils[\"default\"])(props.className)); // Bind handlers to class.\n\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2[\"default\"])(_this)); // Create reference(s) to an Image loaded via picture element in background.\n\n _this.imageRef = (0, _ImageUtils.createPictureRef)((0, _extends2[\"default\"])({}, props, {\n isVisible: isVisible\n }), _this.handleImageLoaded); // Start with base64, tracedSVG or empty background image(s).\n\n _this.bgImage = (0, _ImageUtils.initialBgImage)(props);\n _this.selfRef = null; // console.log(`-------------------------------------------------------------`)\n\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n // Update background(-*) styles from CSS (e.g. Styled Components).\n this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils[\"default\"])(this.props.className));\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: (0, _ImageUtils.inImageCache)(this.props)\n });\n }\n\n if (this.props.critical) {\n if ((0, _ImageUtils.imageReferenceCompleted)(this.imageRef)) {\n this.handleImageLoaded();\n }\n }\n\n var _fixClassName2 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName2[0],\n addedClassName = _fixClassName2[1];\n\n this.setState({\n currentClassNames: currentClassNames,\n addedClassName: addedClassName\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this2 = this;\n\n // Check if we received a changed fluid / fixed image.\n if ((0, _ImageUtils.imagePropsChanged)(this.props, prevProps)) {\n var imageInCache = (0, _ImageUtils.inImageCache)(this.props);\n\n var _fixClassName3 = (0, _StyleUtils.fixClassName)(this.props),\n currentClassNames = _fixClassName3[0],\n addedClassName = _fixClassName3[1];\n\n this.setState({\n isVisible: imageInCache || this.props.critical,\n imgLoaded: imageInCache,\n currentClassNames: currentClassNames,\n addedClassName: addedClassName // this.state.currentClassNames ||\n // fixClassName(this.props.className, this.randomClass),\n // imageState: (this.state.imageState + 1) % 2,\n\n }, function () {\n // Update bgImage & create new imageRef(s).\n _this2.bgImage = (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"currentSrc\",\n returnArray: true\n }) || (0, _ImageUtils.getCurrentFromData)({\n data: _this2.imageRef,\n propName: \"src\",\n returnArray: true\n });\n _this2.imageRef = (0, _ImageUtils.createPictureRef)((0, _extends2[\"default\"])({}, _this2.props, {\n isVisible: _this2.state.isVisible\n }), _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Prevent calling handleImageLoaded from the imageRef(s) after unmount.\n if (this.imageRef) {\n if (Array.isArray(this.imageRef)) {\n this.imageRef.forEach(function (currentImageRef) {\n return currentImageRef.onload = null;\n });\n } else {\n this.imageRef.onload = null;\n }\n } // Clean up all IntersectionObserver listeners.\n\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n };\n\n _proto.handleRef = function handleRef(ref) {\n this.selfRef = ref;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, this.intersectionListener);\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n (0, _ImageUtils.activateCacheForImage)(this.props);\n this.setState({\n imgLoaded: true,\n imageState: this.state.imageState + 1\n });\n\n if (this.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props), this.props.preserveStackingContext),\n className = _fixOpacity.className,\n _fixOpacity$style = _fixOpacity.style,\n style = _fixOpacity$style === void 0 ? {} : _fixOpacity$style,\n fluid = _fixOpacity.fluid,\n fixed = _fixOpacity.fixed,\n backgroundColor = _fixOpacity.backgroundColor,\n durationFadeIn = _fixOpacity.durationFadeIn,\n Tag = _fixOpacity.Tag,\n children = _fixOpacity.children,\n _fixOpacity$classId = _fixOpacity.classId,\n classId = _fixOpacity$classId === void 0 ? !className ? Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7) + \"_depr\" : \"\" : _fixOpacity$classId,\n props = (0, _objectWithoutPropertiesLoose2[\"default\"])(_fixOpacity, [\"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"durationFadeIn\", \"Tag\", \"children\", \"classId\"]);\n\n var remainingProps = (0, _HelperUtils.stripRemainingProps)(props);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : typeof backgroundColor !== \"undefined\" ? backgroundColor : \"\";\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached || this.props.fadeIn === \"soft\";\n var transitionDelay = this.state.imgLoaded ? durationFadeIn + \"ms\" : \"0.25s\"; // Create base container style and only add opacity hack when\n // preserveStackingContext is falsy.\n\n var divStyle = (0, _extends2[\"default\"])({\n position: \"relative\"\n }, style);\n !this.props.preserveStackingContext && (divStyle.opacity = 0.99); // Choose image object of fluid or fixed, return null if not present.\n\n var image, noScriptImageData;\n\n if (fluid) {\n image = fluid;\n noScriptImageData = Array.isArray(fluid) ? fluid[0] : fluid;\n } else if (fixed) {\n image = fixed;\n divStyle.width = image.width;\n divStyle.height = image.height;\n divStyle.display = \"inline-block\";\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n noScriptImageData = Array.isArray(fixed) ? fixed[0] : fixed;\n } else {\n return null;\n } // Set background-images and visibility according to images available.\n\n\n var newImageSettings = (0, _ImageUtils.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n state: this.state\n }); // Set bgImage to available newImageSettings or fallback.\n\n this.bgImage = newImageSettings.nextImageArray || newImageSettings.nextImage || this.bgImage; // Create styles for the next background image(s).\n\n var pseudoStyles = (0, _StyleUtils.createPseudoStyles)((0, _extends2[\"default\"])({\n classId: classId,\n className: this.state.currentClassNames,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings));\n var noScriptPseudoStyles = (0, _StyleUtils.createNoScriptStyles)({\n image: image,\n bgColor: bgColor,\n classId: classId,\n className: this.state.currentClassNames,\n backgroundStyles: this.backgroundStyles,\n style: style\n }); // console.table(newImageSettings)\n // console.log(pseudoStyles)\n // console.log(image, noScriptPseudoStyles)\n // Switch key between fluid & fixed.\n\n var componentKey = \"\" + (fluid && \"fluid\") + (fixed && \"fixed\") + \"-\" + JSON.stringify(noScriptImageData.srcSet);\n return _react[\"default\"].createElement(Tag, (0, _extends2[\"default\"])({\n className: \"\" + (this.state.currentClassNames || \"\") + (classId && \" gatsby-background-image-\" + classId) + \" gatsby-image-wrapper\",\n style: (0, _extends2[\"default\"])({}, divStyle, {}, this.backgroundStyles),\n ref: this.handleRef,\n key: componentKey\n }, remainingProps), _react[\"default\"].createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react[\"default\"].createElement(\"noscript\", null, _react[\"default\"].createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: noScriptPseudoStyles\n }\n })), children);\n };\n\n return BackgroundImage;\n}(_react[\"default\"].Component);\n\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n durationFadeIn: 500,\n Tag: \"div\",\n preserveStackingContext: false\n};\n\nvar fixedObject = _propTypes[\"default\"].shape({\n width: _propTypes[\"default\"].number.isRequired,\n height: _propTypes[\"default\"].number.isRequired,\n src: _propTypes[\"default\"].string.isRequired,\n srcSet: _propTypes[\"default\"].string.isRequired,\n base64: _propTypes[\"default\"].string,\n tracedSVG: _propTypes[\"default\"].string,\n srcWebp: _propTypes[\"default\"].string,\n srcSetWebp: _propTypes[\"default\"].string,\n media: _propTypes[\"default\"].string\n});\n\nvar fluidObject = _propTypes[\"default\"].shape({\n aspectRatio: _propTypes[\"default\"].number.isRequired,\n src: _propTypes[\"default\"].string.isRequired,\n srcSet: _propTypes[\"default\"].string.isRequired,\n sizes: _propTypes[\"default\"].string.isRequired,\n base64: _propTypes[\"default\"].string,\n tracedSVG: _propTypes[\"default\"].string,\n srcWebp: _propTypes[\"default\"].string,\n srcSetWebp: _propTypes[\"default\"].string,\n media: _propTypes[\"default\"].string\n});\n\nBackgroundImage.propTypes = {\n resolutions: _propTypes[\"default\"].oneOfType([fixedObject, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].oneOfType([fixedObject, _propTypes[\"default\"].string]))]),\n sizes: _propTypes[\"default\"].oneOfType([fluidObject, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].oneOfType([fluidObject, _propTypes[\"default\"].string]))]),\n fixed: _propTypes[\"default\"].oneOfType([fixedObject, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].oneOfType([fixedObject, _propTypes[\"default\"].string]))]),\n fluid: _propTypes[\"default\"].oneOfType([fluidObject, _propTypes[\"default\"].arrayOf(_propTypes[\"default\"].oneOfType([fluidObject, _propTypes[\"default\"].string]))]),\n fadeIn: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].bool]),\n durationFadeIn: _propTypes[\"default\"].number,\n className: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].object]),\n // Support Glamor's css prop.\n critical: _propTypes[\"default\"].bool,\n crossOrigin: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].bool]),\n style: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].object, _propTypes[\"default\"].array]),\n // Using PropTypes from RN.\n backgroundColor: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].string, _propTypes[\"default\"].bool]),\n onLoad: _propTypes[\"default\"].func,\n onError: _propTypes[\"default\"].func,\n onStartLoad: _propTypes[\"default\"].func,\n Tag: _propTypes[\"default\"].string,\n classId: _propTypes[\"default\"].string,\n preserveStackingContext: _propTypes[\"default\"].bool\n};\nvar _default = BackgroundImage;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.combineArray = exports.filteredJoin = exports.hashString = exports.stringToArray = exports.toKebabCase = exports.toCamelCase = exports.hasImageArray = exports.convertProps = exports.stripRemainingProps = exports.isString = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\n/**\n * Mirror of BackgroundImage.propTypes. Keep in SYNC!\n *\n * @type {Object}\n */\nvar gbiPropTypes = [\"resolutions\", \"sizes\", \"fixed\", \"fluid\", \"fadeIn\", \"durationFadeIn\", \"className\", \"critical\", \"crossOrigin\", \"style\", \"backgroundColor\", \"onLoad\", \"onError\", \"onStartLoad\", \"Tag\", \"classId\", \"preserveStackingContext\"];\n/**\n * Tests a given value on being a string.\n *\n * @param value * Value to test\n * @return {boolean}\n */\n\nvar isString = function isString(value) {\n return Object.prototype.toString.call(value) === '[object String]';\n};\n/**\n * Strip BackgroundImage propTypes from remaining props to be passed to \n *\n * @param props\n * @return {Object}\n */\n\n\nexports.isString = isString;\n\nvar stripRemainingProps = function stripRemainingProps(props) {\n var remainingProps = (0, _extends2[\"default\"])({}, props);\n gbiPropTypes.forEach(function (propTypesKey) {\n if (Object.prototype.hasOwnProperty.call(remainingProps, propTypesKey)) {\n delete remainingProps[propTypesKey];\n }\n });\n return remainingProps;\n};\n/**\n * Handle legacy names for image queries\n *\n * @param props\n * @return {Object}\n */\n\n\nexports.stripRemainingProps = stripRemainingProps;\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2[\"default\"])({}, props);\n\n if (convertedProps.resolutions) {\n convertedProps.fixed = convertedProps.resolutions;\n delete convertedProps.resolutions;\n }\n\n if (convertedProps.sizes) {\n convertedProps.fluid = convertedProps.sizes;\n delete convertedProps.sizes;\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are image arrays.\n *\n * @param props\n * @return {boolean}\n */\n\n\nexports.convertProps = convertProps;\n\nvar hasImageArray = function hasImageArray(props) {\n return props.fluid && Array.isArray(props.fluid) || props.fixed && Array.isArray(props.fixed);\n};\n/**\n * Converts CSS kebab-case strings to camel-cased js style rules.\n *\n * @param str string Rule to transform\n * @return {boolean|string}\n */\n\n\nexports.hasImageArray = hasImageArray;\n\nvar toCamelCase = function toCamelCase(str) {\n return isString(str) && str.toLowerCase().replace(/(?:^\\w|-|[A-Z]|\\b\\w)/g, function (letter, index) {\n return index === 0 ? letter.toLowerCase() : letter.toUpperCase();\n }).replace(/\\s|\\W+/g, '');\n};\n/**\n * Converts camel-cased js style rules to CSS kebab-case strings.\n *\n * @param str string Rule to transform\n * @return {boolean|string}\n */\n\n\nexports.toCamelCase = toCamelCase;\n\nvar toKebabCase = function toKebabCase(str) {\n return isString(str) && str.replace(/\\s|\\W+/g, '').replace(/[A-Z]/g, function (match) {\n return \"-\" + match.toLowerCase();\n });\n};\n/**\n * Splits a given string (e.g. from classname) to an array.\n *\n * @param str string|array String to split or return as array\n * @param delimiter string Delimiter on which to split str\n * @return {array|boolean} Returns (split) string as array, false on failure\n */\n\n\nexports.toKebabCase = toKebabCase;\n\nvar stringToArray = function stringToArray(str, delimiter) {\n if (delimiter === void 0) {\n delimiter = \" \";\n }\n\n if (str instanceof Array) {\n return str;\n }\n\n if (isString(str)) {\n if (str.includes(delimiter)) {\n return str.split(delimiter);\n }\n\n return [str];\n }\n\n return false;\n};\n/**\n * Hashes a String to a 32bit integer with the simple Java 8 hashCode() func.\n *\n * @param str string String to hash.\n * @return {number}\n */\n\n\nexports.stringToArray = stringToArray;\n\nvar hashString = function hashString(str) {\n return isString(str) && [].reduce.call(str, function (hash, item) {\n hash = (hash << 5) - hash + item.charCodeAt(0);\n return hash | 0;\n }, 0);\n};\n/**\n * As the name says, it filters out empty strings from an array and joins it.\n *\n * @param arrayToJoin array Array to join after filtering.\n * @return {string}\n */\n\n\nexports.hashString = hashString;\n\nvar filteredJoin = function filteredJoin(arrayToJoin) {\n return arrayToJoin.filter(function (item) {\n return item !== \"\";\n }).join();\n};\n/**\n * Combines two arrays while keeping fromArrays indexes & values.\n *\n * @param fromArray array Array the values shall be taken from.\n * @param toArray array Array to copy values into.\n * @return {array}\n */\n\n\nexports.filteredJoin = filteredJoin;\n\nvar combineArray = function combineArray(fromArray, toArray) {\n return fromArray.map(function (item, index) {\n return item || toArray[index];\n });\n};\n\nexports.combineArray = combineArray;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.imageLoaded = exports.imageReferenceCompleted = exports.createDummyImageArray = exports.initialBgImage = exports.imageArrayPropsChanged = exports.imagePropsChanged = exports.getUrlString = exports.getCurrentFromData = exports.switchImageSettings = exports.activateMultiplePictureRefs = exports.activatePictureRef = exports.createMultiplePictureRefs = exports.createPictureRef = exports.hasPictureElement = exports.resetImageCache = exports.activateCacheForMultipleImages = exports.activateCacheForImage = exports.allInImageCache = exports.inImageCache = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar imageCache = Object.create({});\n/**\n * Cache if we've seen an image before so we don't both with\n * lazy-loading & fading in on subsequent mounts.\n *\n * @param props\n * @return {*|boolean}\n */\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _HelperUtils.hasImageArray)(convertedProps)) {\n return allInImageCache(props);\n } else {\n // Find src\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed ? convertedProps.fixed.src : null;\n return imageCache[src] || false;\n }\n};\n/**\n * Processes an array of cached images for inImageCache.\n *\n * @param props object Component Props (with fluid or fixed as array).\n * @return {*|boolean}\n */\n\n\nexports.inImageCache = inImageCache;\n\nvar allInImageCache = function allInImageCache(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props); // Extract Image Array.\n\n var imageStack = convertedProps.fluid || convertedProps.fixed; // Only return true if every image is in cache.\n\n return imageStack.every(function (imageData) {\n if (convertedProps.fluid) {\n return inImageCache({\n fluid: imageData\n });\n } else {\n return inImageCache({\n fixed: imageData\n });\n }\n });\n};\n/**\n * Adds an Image to imageCache.\n *\n * @param props\n * @param selfRef\n */\n\n\nexports.allInImageCache = allInImageCache;\n\nvar activateCacheForImage = function activateCacheForImage(props, selfRef) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if ((0, _HelperUtils.hasImageArray)(convertedProps)) {\n return activateCacheForMultipleImages(props);\n } else {\n // Find src\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed ? convertedProps.fixed.src : null;\n\n if (src) {\n imageCache[src] = true;\n }\n }\n};\n/**\n * Activates the Cache for multiple Images.\n *\n * @param props\n */\n\n\nexports.activateCacheForImage = activateCacheForImage;\n\nvar activateCacheForMultipleImages = function activateCacheForMultipleImages(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props); // Extract Image Array.\n\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n imageStack.forEach(function (imageData) {\n if (convertedProps.fluid) {\n activateCacheForImage({\n fluid: imageData\n });\n } else {\n activateCacheForImage({\n fixed: imageData\n });\n }\n });\n};\n/**\n * Resets the image cache (especially important for reliable tests).\n */\n\n\nexports.activateCacheForMultipleImages = activateCacheForMultipleImages;\n\nvar resetImageCache = function resetImageCache() {\n for (var prop in imageCache) {\n delete imageCache[prop];\n }\n};\n/**\n * Returns the availability of the HTMLPictureElement unless in SSR mode.\n *\n * @return {boolean}\n */\n\n\nexports.resetImageCache = resetImageCache;\n\nvar hasPictureElement = function hasPictureElement() {\n return typeof HTMLPictureElement !== \"undefined\" || typeof window === \"undefined\";\n};\n/**\n * Creates an image reference to be activated on critical or visibility.\n * @param props\n * @param onLoad\n * @return {HTMLImageElement|null|Array}\n */\n\n\nexports.hasPictureElement = hasPictureElement;\n\nvar createPictureRef = function createPictureRef(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if (typeof window !== \"undefined\" && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n if ((0, _HelperUtils.hasImageArray)(convertedProps)) {\n return createMultiplePictureRefs(props, onLoad);\n } else {\n var img = new Image();\n\n img.onload = function () {\n return onLoad();\n };\n\n if (!img.complete && typeof convertedProps.onLoad === \"function\") {\n img.addEventListener('load', convertedProps.onLoad);\n }\n\n if (typeof convertedProps.onError === \"function\") {\n img.addEventListener('error', convertedProps.onError);\n }\n\n if (convertedProps.crossOrigin) {\n img.crossOrigin = convertedProps.crossOrigin;\n } // Only directly activate the image if critical (preload).\n\n\n if (convertedProps.critical || convertedProps.isVisible) {\n return activatePictureRef(img, convertedProps);\n }\n\n return img;\n }\n }\n\n return null;\n};\n/**\n * Creates multiple image references. Internal function.\n *\n * @param props object Component Props (with fluid or fixed as array).\n * @param onLoad function Callback for load handling.\n */\n\n\nexports.createPictureRef = createPictureRef;\n\nvar createMultiplePictureRefs = function createMultiplePictureRefs(props, onLoad) {\n var convertedProps = (0, _HelperUtils.convertProps)(props); // Extract Image Array.\n\n var imageStack = convertedProps.fluid || convertedProps.fixed;\n return imageStack.map(function (imageData) {\n if (convertedProps.fluid) {\n return createPictureRef((0, _extends2[\"default\"])({}, convertedProps, {\n fluid: imageData\n }), onLoad);\n } else {\n return createPictureRef((0, _extends2[\"default\"])({}, convertedProps, {\n fixed: imageData\n }), onLoad);\n }\n });\n};\n/**\n * Creates a picture element for the browser to decide which image to load.\n *\n * @param imageRef\n * @param props\n * @param selfRef\n * @return {null|Array|*}\n */\n\n\nexports.createMultiplePictureRefs = createMultiplePictureRefs;\n\nvar activatePictureRef = function activatePictureRef(imageRef, props, selfRef) {\n if (selfRef === void 0) {\n selfRef = null;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n\n if (typeof window !== \"undefined\" && (typeof convertedProps.fluid !== \"undefined\" || typeof convertedProps.fixed !== \"undefined\")) {\n if ((0, _HelperUtils.hasImageArray)(convertedProps)) {\n return activateMultiplePictureRefs(imageRef, props, selfRef);\n } else {\n var imageData = convertedProps.fluid ? convertedProps.fluid : convertedProps.fixed; // Prevent adding HTMLPictureElement if it isn't supported (e.g. IE11),\n // but don't prevent it during SSR.\n\n var removableElement = null;\n\n if (hasPictureElement()) {\n var pic = document.createElement('picture');\n\n if (selfRef) {\n pic.width = imageRef.width = selfRef.offsetWidth;\n pic.height = imageRef.height = selfRef.offsetHeight;\n }\n\n if (imageData.srcSetWebp) {\n var sourcesWebP = document.createElement('source'); // Set original component's style.\n\n sourcesWebP.type = \"image/webp\";\n sourcesWebP.srcset = imageData.srcSetWebp;\n sourcesWebP.sizes = imageData.sizes;\n pic.appendChild(sourcesWebP);\n }\n\n pic.appendChild(imageRef);\n removableElement = pic; // document.body.appendChild(removableElement)\n } else {\n if (selfRef) {\n imageRef.width = selfRef.offsetWidth;\n imageRef.height = selfRef.offsetHeight;\n }\n\n removableElement = imageRef; // document.body.appendChild(removableElement)\n }\n\n imageRef.srcset = imageData.srcSet ? imageData.srcSet : \"\";\n imageRef.src = imageData.src ? imageData.src : \"\"; // document.body.removeChild(removableElement)\n\n return imageRef;\n }\n }\n\n return null;\n};\n/**\n * Creates multiple picture elements.\n *\n * @param imageRefs\n * @param props\n * @param selfRef\n * @return {Array||null}\n */\n\n\nexports.activatePictureRef = activatePictureRef;\n\nvar activateMultiplePictureRefs = function activateMultiplePictureRefs(imageRefs, props, selfRef) {\n var convertedProps = (0, _HelperUtils.convertProps)(props); // Extract Image Array.\n\n return imageRefs.map(function (imageRef, index) {\n if (convertedProps.fluid) {\n return activatePictureRef(imageRef, (0, _extends2[\"default\"])({}, convertedProps, {\n fluid: convertedProps.fluid[index]\n }), selfRef);\n } else {\n return activatePictureRef(imageRef, (0, _extends2[\"default\"])({}, convertedProps, {\n fixed: convertedProps.fixed[index]\n }), selfRef);\n }\n });\n};\n/**\n * Compares the old states to the new and changes image settings accordingly.\n *\n * @param image string||array Base data for one or multiple Images.\n * @param bgImage string||array Last background image(s).\n * @param imageRef string||array References to one or multiple Images.\n * @param state object Component state.\n * @return {{afterOpacity: number, bgColor: *, bgImage: *, nextImage: string}}\n */\n\n\nexports.activateMultiplePictureRefs = activateMultiplePictureRefs;\n\nvar switchImageSettings = function switchImageSettings(_ref) {\n var image = _ref.image,\n bgImage = _ref.bgImage,\n imageRef = _ref.imageRef,\n state = _ref.state;\n // Read currentSrc from imageRef (if exists).\n var currentSources = getCurrentFromData({\n data: imageRef,\n propName: \"currentSrc\"\n }); // Backup bgImage to lastImage.\n\n var returnArray = Array.isArray(image);\n var lastImage = Array.isArray(bgImage) ? (0, _HelperUtils.filteredJoin)(bgImage) : bgImage; // Set the backgroundImage according to images available.\n\n var nextImage;\n var nextImageArray;\n\n if (returnArray) {\n // Check for tracedSVG first.\n nextImage = getCurrentFromData({\n data: image,\n propName: \"tracedSVG\",\n returnArray: returnArray\n }); // Now combine with base64 images.\n\n nextImage = (0, _HelperUtils.combineArray)(getCurrentFromData({\n data: image,\n propName: \"base64\",\n returnArray: returnArray\n }), nextImage); // Now add possible `rgba()` or similar CSS string props.\n\n nextImage = (0, _HelperUtils.combineArray)(getCurrentFromData({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n }), nextImage); // Do we have at least one img loaded?\n\n if (state.imgLoaded && state.isVisible) {\n if (currentSources) {\n nextImage = (0, _HelperUtils.combineArray)(getCurrentFromData({\n data: imageRef,\n propName: \"currentSrc\",\n returnArray: returnArray\n }), nextImage);\n } else {\n // No support for HTMLPictureElement or WebP present, get src.\n nextImage = (0, _HelperUtils.combineArray)(getCurrentFromData({\n data: imageRef,\n propName: \"src\",\n returnArray: returnArray\n }), nextImage);\n }\n } // First fill last images from bgImage...\n\n\n nextImage = (0, _HelperUtils.combineArray)(nextImage, bgImage); // ... then fill the rest of the background-images with a transparent dummy\n // pixel, lest the background-* properties can't target the correct image.\n\n var dummyArray = createDummyImageArray(image.length); // Now combine the two arrays and join them.\n\n nextImage = (0, _HelperUtils.combineArray)(nextImage, dummyArray);\n nextImageArray = nextImage;\n nextImage = (0, _HelperUtils.filteredJoin)(nextImage);\n } else {\n nextImage = \"\";\n if (image.tracedSVG) nextImage = getCurrentFromData({\n data: image,\n propName: \"tracedSVG\"\n });\n if (image.base64 && !image.tracedSVG) nextImage = getCurrentFromData({\n data: image,\n propName: \"base64\"\n });\n\n if (state.imgLoaded && state.isVisible) {\n nextImage = currentSources;\n }\n } // Change opacity according to imageState.\n\n\n var afterOpacity = state.imageState % 2;\n\n if (!returnArray && nextImage === \"\" && state.imgLoaded && state.isVisible && imageRef && !imageRef.currentSrc) {\n // Should we still have no nextImage it might be because currentSrc is missing.\n nextImage = getCurrentFromData({\n data: imageRef,\n propName: \"src\",\n checkLoaded: false\n });\n } // Fall back on lastImage (important for prop changes) if all else fails.\n\n\n if (!nextImage) nextImage = lastImage;\n var newImageSettings = {\n lastImage: lastImage,\n nextImage: nextImage,\n afterOpacity: afterOpacity // Add nextImageArray for bgImage to newImageSettings if exists.\n\n };\n if (nextImageArray) newImageSettings.nextImageArray = nextImageArray;\n return newImageSettings;\n};\n/**\n * Extracts a value from an imageRef, image object or an array of them.\n *\n * @param data HTMLImageElement||object||Array Data to extract from.\n * @param propName string Property to extract.\n * @param addUrl boolean Should returned strings be encased in `url()`?\n * @param returnArray boolean Switches between returning an array and a string.\n * @param checkLoaded boolean Turns checking for imageLoaded() on and off.\n * @return {string||array}\n */\n\n\nexports.switchImageSettings = switchImageSettings;\n\nvar getCurrentFromData = function getCurrentFromData(_ref2) {\n var data = _ref2.data,\n propName = _ref2.propName,\n _ref2$addUrl = _ref2.addUrl,\n addUrl = _ref2$addUrl === void 0 ? true : _ref2$addUrl,\n _ref2$returnArray = _ref2.returnArray,\n returnArray = _ref2$returnArray === void 0 ? false : _ref2$returnArray,\n _ref2$checkLoaded = _ref2.checkLoaded,\n checkLoaded = _ref2$checkLoaded === void 0 ? true : _ref2$checkLoaded;\n if (!data || !propName) return \"\"; // Handle tracedSVG with \"special care\".\n\n var tracedSVG = propName === \"tracedSVG\";\n\n if (Array.isArray(data)) {\n // Filter out all elements not having the propName and return remaining.\n var imageString = data // .filter(dataElement => {\n // return propName in dataElement && dataElement[propName]\n // })\n .map(function (dataElement) {\n // If `currentSrc` or `src` is needed, check image load completion first.\n if (propName === \"currentSrc\" || propName === 'src') {\n return checkLoaded ? imageLoaded(dataElement) && dataElement[propName] || \"\" : dataElement[propName];\n } // Check if CSS strings should be parsed.\n\n\n if (propName === \"CSS_STRING\" && (0, _HelperUtils.isString)(dataElement)) {\n return dataElement;\n }\n\n return dataElement[propName] || \"\";\n }); // Encapsulate in URL string and return.\n\n return getUrlString({\n imageString: imageString,\n tracedSVG: tracedSVG,\n addUrl: addUrl,\n returnArray: returnArray\n });\n } else {\n // If `currentSrc` or `src` is needed, check image load completion first.\n if ((propName === \"currentSrc\" || propName === 'src') && propName in data) {\n return getUrlString({\n imageString: checkLoaded ? imageLoaded(data) && data[propName] || \"\" : data[propName],\n addUrl: addUrl\n });\n }\n\n return propName in data ? getUrlString({\n imageString: data[propName],\n tracedSVG: tracedSVG,\n addUrl: addUrl\n }) : \"\";\n }\n};\n/**\n * Encapsulates an imageString with a url if needed.\n *\n * @param imageString string String to encapsulate.\n * @param tracedSVG boolean Special care for SVGs.\n * @param addUrl boolean If the string should be encapsulated or not.\n * @param returnArray boolean Return concatenated string or Array.\n * @param hasImageUrls boolean Force return of quoted string(s) for url().\n * @return {string||array}\n */\n\n\nexports.getCurrentFromData = getCurrentFromData;\n\nvar getUrlString = function getUrlString(_ref3) {\n var imageString = _ref3.imageString,\n _ref3$tracedSVG = _ref3.tracedSVG,\n tracedSVG = _ref3$tracedSVG === void 0 ? false : _ref3$tracedSVG,\n _ref3$addUrl = _ref3.addUrl,\n addUrl = _ref3$addUrl === void 0 ? true : _ref3$addUrl,\n _ref3$returnArray = _ref3.returnArray,\n returnArray = _ref3$returnArray === void 0 ? false : _ref3$returnArray,\n _ref3$hasImageUrls = _ref3.hasImageUrls,\n hasImageUrls = _ref3$hasImageUrls === void 0 ? false : _ref3$hasImageUrls;\n\n if (Array.isArray(imageString)) {\n var stringArray = imageString.map(function (currentString) {\n if (currentString) {\n var base64 = currentString.indexOf(\"base64\") !== -1;\n var imageUrl = hasImageUrls || currentString.substr(0, 4) === \"http\";\n var currentReturnString = currentString && tracedSVG ? \"\\\"\" + currentString + \"\\\"\" : currentString && !base64 && !tracedSVG && imageUrl ? \"'\" + currentString + \"'\" : currentString;\n return addUrl && currentString ? \"url(\" + currentReturnString + \")\" : currentReturnString;\n }\n\n return currentString;\n });\n return returnArray ? stringArray : (0, _HelperUtils.filteredJoin)(stringArray);\n } else {\n var base64 = imageString.indexOf(\"base64\") !== -1;\n var imageUrl = hasImageUrls || imageString.substr(0, 4) === \"http\";\n var returnString = imageString && tracedSVG ? \"\\\"\" + imageString + \"\\\"\" : imageString && !base64 && !tracedSVG && imageUrl ? \"'\" + imageString + \"'\" : imageString;\n return imageString ? addUrl ? \"url(\" + returnString + \")\" : returnString : \"\";\n }\n};\n/**\n * Checks if any image props have changed.\n *\n * @param props\n * @param prevProps\n * @return {*}\n */\n\n\nexports.getUrlString = getUrlString;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return (// Do we have different image types?\n props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || imageArrayPropsChanged(props, prevProps) || // Are single image sources different?\n props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src\n );\n};\n/**\n * Decides if two given props with array images differ.\n *\n * @param props\n * @param prevProps\n * @return {boolean}\n */\n\n\nexports.imagePropsChanged = imagePropsChanged;\n\nvar imageArrayPropsChanged = function imageArrayPropsChanged(props, prevProps) {\n var isPropsFluidArray = Array.isArray(props.fluid);\n var isPrevPropsFluidArray = Array.isArray(prevProps.fluid);\n var isPropsFixedArray = Array.isArray(props.fixed);\n var isPrevPropsFixedArray = Array.isArray(prevProps.fixed);\n\n if ( // Did the props change to a single image?\n isPropsFluidArray && !isPrevPropsFluidArray || isPropsFixedArray && !isPrevPropsFixedArray || // Did the props change to an Array?\n !isPropsFluidArray && isPrevPropsFluidArray || !isPropsFixedArray && isPrevPropsFixedArray) {\n return true;\n } else {\n // Are the lengths or sources in the Arrays different?\n if (isPropsFluidArray && isPrevPropsFluidArray) {\n if (props.fluid.length === prevProps.fluid.length) {\n // Check for individual image or CSS string changes.\n return props.fluid.every(function (image, index) {\n return image.src !== prevProps.fluid[index].src;\n });\n }\n\n return true;\n } else if (isPropsFixedArray && isPrevPropsFixedArray) {\n if (props.fixed.length === prevProps.fixed.length) {\n // Check for individual image or CSS string changes.\n return props.fixed.every(function (image, index) {\n return image.src !== prevProps.fixed[index].src;\n });\n }\n\n return true;\n }\n }\n};\n/**\n * Prepares initial background image(s).\n *\n * @param props object Component properties.\n * @param withDummies boolean If array preserving bg layering should be add.\n * @return {string|(string|Array)}\n */\n\n\nexports.imageArrayPropsChanged = imageArrayPropsChanged;\n\nvar initialBgImage = function initialBgImage(props, withDummies) {\n if (withDummies === void 0) {\n withDummies = true;\n }\n\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var image = convertedProps.fluid || convertedProps.fixed; // Prevent failing if neither fluid nor fixed are present.\n\n if (!image) return \"\";\n var returnArray = (0, _HelperUtils.hasImageArray)(convertedProps);\n var initialImage;\n\n if (returnArray) {\n // Check for tracedSVG first.\n initialImage = getCurrentFromData({\n data: image,\n propName: \"tracedSVG\",\n returnArray: returnArray\n }); // Now combine with base64 images.\n\n initialImage = (0, _HelperUtils.combineArray)(getCurrentFromData({\n data: image,\n propName: \"base64\",\n returnArray: returnArray\n }), initialImage); // Now add possible `rgba()` or similar CSS string props.\n\n initialImage = (0, _HelperUtils.combineArray)(getCurrentFromData({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n }), initialImage);\n\n if (withDummies) {\n var dummyArray = createDummyImageArray(image.length); // Now combine the two arrays and join them.\n\n initialImage = (0, _HelperUtils.combineArray)(initialImage, dummyArray);\n }\n } else {\n initialImage = \"\";\n if (image.tracedSVG) initialImage = getCurrentFromData({\n data: image,\n propName: \"tracedSVG\"\n });\n if (image.base64 && !image.tracedSVG) initialImage = getCurrentFromData({\n data: image,\n propName: \"base64\"\n });\n }\n\n return initialImage;\n};\n/**\n * Creates an array with a transparent dummy pixel for background-* properties.\n *\n * @param length\n * @return {any[]}\n */\n\n\nexports.initialBgImage = initialBgImage;\n\nvar createDummyImageArray = function createDummyImageArray(length) {\n var DUMMY_IMG = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\";\n var dummyImageURI = getUrlString({\n imageString: DUMMY_IMG\n });\n return Array(length).fill(dummyImageURI);\n};\n/**\n * Checks if an image (array) reference is existing and tests for complete.\n *\n * @param imageRef HTMLImageElement||array Image reference(s).\n * @return {boolean}\n */\n\n\nexports.createDummyImageArray = createDummyImageArray;\n\nvar imageReferenceCompleted = function imageReferenceCompleted(imageRef) {\n return imageRef ? Array.isArray(imageRef) ? imageRef.every(function (singleImageRef) {\n return imageLoaded(singleImageRef);\n }) : imageLoaded(imageRef) : false;\n};\n/**\n * Checks if an image really was fully loaded.\n *\n * @param imageRef HTMLImageElement Reference to an image.\n * @return {boolean}\n */\n\n\nexports.imageReferenceCompleted = imageReferenceCompleted;\n\nvar imageLoaded = function imageLoaded(imageRef) {\n return imageRef ? imageRef.complete && imageRef.naturalWidth !== 0 && imageRef.naturalHeight !== 0 : false;\n};\n\nexports.imageLoaded = imageLoaded;","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = exports.getBackgroundStylesForSingleClass = exports.getStyleRules = exports.rulesForCssText = exports.getStyle = void 0;\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\n/**\n * Gets styles by a class name.\n *\n * @notice The className has to exactly match the CSS class\n * @param className string\n */\nvar getStyle = function getStyle(className) {\n var styleSheets = typeof window !== \"undefined\" ? window.document.styleSheets : [];\n\n for (var i = 0; i < styleSheets.length; i++) {\n var classes = void 0;\n\n try {\n classes = typeof styleSheets[i].rules !== 'undefined' ? styleSheets[i].rules : typeof styleSheets[i].cssRules !== 'undefined' ? styleSheets[i].cssRules : '';\n } catch (e) {}\n\n if (!classes) continue;\n var foundClass = Array.prototype.slice.call(classes).reduce(function (foundAcc, styleRule) {\n return styleRule.selectorText === className && foundAcc === \"\" ? styleRule : foundAcc;\n }, \"\");\n\n if (foundClass) {\n var resultingStyleText = foundClass.cssText ? foundClass.cssText : foundClass.style.cssText;\n return resultingStyleText.indexOf(foundClass.selectorText) === -1 ? foundClass.selectorText + \"{\" + resultingStyleText + \"}\" : resultingStyleText;\n }\n }\n};\n/**\n * Creates a temporary style element to read rules from.\n *\n * @param styleContent string CSS-Styles to apply\n * @return {*}\n */\n\n\nexports.getStyle = getStyle;\n\nvar rulesForCssText = function rulesForCssText(styleContent) {\n if (typeof document !== \"undefined\" && styleContent) {\n var doc = document.implementation.createHTMLDocument('');\n var styleElement = document.createElement('style');\n styleElement.textContent = styleContent; // The style element will only be parsed once it is added to a document.\n\n doc.body.appendChild(styleElement);\n return styleElement.sheet.cssRules;\n }\n\n return {};\n};\n/**\n * Fixes non-enumerable style rules in Firefox.\n *\n * @param cssStyleRules CSSStyleRules DOM-StyleRules-Object\n * @return {*}\n */\n\n\nexports.rulesForCssText = rulesForCssText;\n\nvar getStyleRules = function getStyleRules(cssStyleRules) {\n var styles = {};\n\n if (cssStyleRules.length > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n // Fallback for Browsers without constructor.name (IE11).\n var constructorName = cssStyleRules[0].style.constructor.name || cssStyleRules[0].style.constructor.toString();\n\n switch (constructorName) {\n // For Firefox or IE11.\n case 'CSS2Properties':\n case '[object MSStyleCSSProperties]':\n Object.values(cssStyleRules[0].style).forEach(function (prop) {\n styles[(0, _HelperUtils.toCamelCase)(prop)] = cssStyleRules[0].style[prop];\n });\n break;\n\n case 'CSSStyleDeclaration':\n styles = cssStyleRules[0].style;\n break;\n\n default:\n console.error('Unknown style object prototype');\n break;\n }\n }\n\n return styles;\n};\n/**\n * Filters out Background Rules for a given class Name.\n *\n * @param className string The class to filter rules from\n * @return {{}}\n */\n\n\nexports.getStyleRules = getStyleRules;\n\nvar getBackgroundStylesForSingleClass = function getBackgroundStylesForSingleClass(className) {\n if ((0, _HelperUtils.isString)(className)) {\n var style = getStyle(\".\" + className);\n var cssStyleRules = rulesForCssText(style);\n\n if (cssStyleRules.length > 0 && typeof cssStyleRules[0].style !== 'undefined') {\n // Filter out background(-*) rules that contain a definition.\n return Object.keys(getStyleRules(cssStyleRules)).filter(function (key) {\n return key.indexOf('background') === 0 && cssStyleRules[0].style[key] !== '';\n }).reduce(function (newData, key) {\n newData[key] = cssStyleRules[0].style[key];\n return newData;\n }, {});\n }\n }\n\n return {};\n};\n/**\n * Uses the above to get all background(-*) rules from given class(es).\n *\n * @param className string|array className or array of classNames\n * @return {*}\n */\n\n\nexports.getBackgroundStylesForSingleClass = getBackgroundStylesForSingleClass;\n\nvar getBackgroundStyles = function getBackgroundStyles(className) {\n if (typeof window !== \"undefined\") {\n var classes = (0, _HelperUtils.stringToArray)(className);\n\n if (classes instanceof Array) {\n var classObjects = [];\n classes.forEach(function (item) {\n return classObjects.push(getBackgroundStylesForSingleClass(item));\n });\n return Object.assign.apply(Object, classObjects);\n }\n\n return getBackgroundStylesForSingleClass(className);\n }\n\n return {};\n};\n\nvar _default = getBackgroundStyles;\nexports[\"default\"] = _default;","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createNoScriptStyles = exports.createPseudoStyles = exports.presetBackgroundStyles = exports.fixOpacity = exports.setTransitionStyles = exports.kebabifyBackgroundStyles = exports.escapeClassNames = exports.fixClassName = exports.createPseudoElement = exports.resetComponentClassCache = exports.activateCacheForComponentClass = exports.inComponentClassCache = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\n\nvar _ImageUtils = require(\"./ImageUtils\");\n\nvar componentClassCache = Object.create({});\n/**\n * Cache component classes as we never know if a Component wasn't already set.\n * @param className\n * @return {*|boolean}\n */\n\nvar inComponentClassCache = function inComponentClassCache(className) {\n return componentClassCache[className] || false;\n};\n/**\n * Adds a component's classes to componentClassCache.\n * @param className\n */\n\n\nexports.inComponentClassCache = inComponentClassCache;\n\nvar activateCacheForComponentClass = function activateCacheForComponentClass(className) {\n if (className) {\n componentClassCache[className] = true;\n }\n};\n/**\n * Resets the componentClassCache (especially important for reliable tests).\n */\n\n\nexports.activateCacheForComponentClass = activateCacheForComponentClass;\n\nvar resetComponentClassCache = function resetComponentClassCache() {\n for (var className in componentClassCache) {\n delete componentClassCache[className];\n }\n};\n/**\n * Creates pseudo-element(s) for className(s).\n *\n * @param className string className given by props\n * @param classId string Deprecated classId\n * @param appendix string Pseudo-element to create, defaults to `:before`\n * @return {string}\n */\n\n\nexports.resetComponentClassCache = resetComponentClassCache;\n\nvar createPseudoElement = function createPseudoElement(className, classId, appendix) {\n if (classId === void 0) {\n classId = \"\";\n }\n\n if (appendix === void 0) {\n appendix = \":before\";\n }\n\n var escapedClassName = escapeClassNames(className);\n var classes = (0, _HelperUtils.stringToArray)(escapedClassName);\n var pseudoClasses = \"\";\n\n if (classes instanceof Array && classes.length > 0 && classes[0] !== \"\") {\n pseudoClasses = \".\" + classes.join('.') + appendix;\n }\n\n if (classId !== \"\") {\n pseudoClasses += (pseudoClasses && \",\\n\") + \".gatsby-background-image-\" + classId + appendix;\n }\n\n return pseudoClasses;\n};\n/**\n * Checks if an element with given className(s) already exists.\n * @param className string Given className(s) e.g. from styled-components.\n * @param addedClassName string A possible previously added className.\n * @param props\n * @return {*[]}\n */\n\n\nexports.createPseudoElement = createPseudoElement;\n\nvar fixClassName = function fixClassName(_ref) {\n var className = _ref.className,\n _ref$addedClassName = _ref.addedClassName,\n addedClassName = _ref$addedClassName === void 0 ? \"\" : _ref$addedClassName,\n props = (0, _objectWithoutPropertiesLoose2[\"default\"])(_ref, [\"className\", \"addedClassName\"]);\n // const escapedClassName = escapeClassNames(className)\n var convertedProps = (0, _HelperUtils.convertProps)(props);\n var elementExists = inComponentClassCache(className); // Extract imageData.\n\n var imageData = convertedProps.fluid ? Array.isArray(convertedProps.fluid) ? convertedProps.fluid[0] : convertedProps.fluid : Array.isArray(convertedProps.fixed) ? convertedProps.fixed[0] : convertedProps.fixed; // Really just the answer to issue #55 ; ).\n\n var randomAnswerToLifeTheUniverseAndEverything = addedClassName ? addedClassName : Math.round(Math.random() * 42); // Create random \"uniquely hashed\" additionalClass if needed.\n\n var randomClass = \" gbi-\" + (0, _HelperUtils.hashString)(imageData && imageData.srcSet || className) + \"-\" + randomAnswerToLifeTheUniverseAndEverything; // Should an element exist, add randomized class.\n\n var additionalClass = elementExists ? randomClass : \"\";\n var componentClassNames = (\"\" + (className || \"\") + (additionalClass || \"\")).trim(); // Add it to cache if it doesn't exist.\n\n !elementExists && activateCacheForComponentClass(className);\n return [componentClassNames, additionalClass];\n};\n/**\n * Escapes specialChars defined in gatsby-config.js in classNames to make\n * Tailwind CSS or suchlike usable (defaults to: `:/`).\n *\n * @param classNames classNames to escape.\n * @return {void | string|*}\n */\n\n\nexports.fixClassName = fixClassName;\n\nvar escapeClassNames = function escapeClassNames(classNames) {\n if (classNames) {\n var specialChars = typeof window !== \"undefined\" && window._gbiSpecialChars ? window._gbiSpecialChars : typeof __GBI_SPECIAL_CHARS__ !== \"undefined\" ? __GBI_SPECIAL_CHARS__ : ':/';\n var specialCharRegEx = new RegExp(\"[\" + specialChars + \"]\", 'g');\n return classNames.replace(specialCharRegEx, '\\\\$&');\n }\n\n return classNames;\n};\n/**\n * Converts a style object into CSS kebab-cased style rules.\n *\n * @param styles\n * @return {*}\n */\n\n\nexports.escapeClassNames = escapeClassNames;\n\nvar kebabifyBackgroundStyles = function kebabifyBackgroundStyles(styles) {\n if ((0, _HelperUtils.isString)(styles)) {\n return styles;\n }\n\n if (styles instanceof Object) {\n return Object.keys(styles).filter(function (key) {\n return key.indexOf('background') === 0 && styles[key] !== '';\n }).reduce(function (resultingStyles, key) {\n return \"\" + resultingStyles + (0, _HelperUtils.toKebabCase)(key) + \": \" + styles[key] + \";\\n\";\n }, \"\");\n }\n\n return \"\";\n};\n/**\n * Creates vendor prefixed background styles.\n *\n * @param transitionDelay\n * @param fadeIn\n * @return {string}\n */\n\n\nexports.kebabifyBackgroundStyles = kebabifyBackgroundStyles;\n\nvar setTransitionStyles = function setTransitionStyles(transitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n return fadeIn ? \"transition: opacity 0.5s ease \" + transitionDelay + \";\" : \"transition: none;\";\n};\n/**\n * Prevent possible stacking order mismatch with opacity \"hack\".\n *\n * @param props\n * @return {Object}\n */\n\n\nexports.setTransitionStyles = setTransitionStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2[\"default\"])({}, props);\n\n if (!styledProps.preserveStackingContext) {\n try {\n if (styledProps.style && styledProps.style.opacity) {\n if (isNaN(styledProps.style.opacity) || styledProps.style.opacity > 0.99) {\n styledProps.style.opacity = 0.99;\n }\n }\n } catch (e) {// Continue regardless of error\n }\n }\n\n return styledProps;\n};\n/**\n * Set some needed backgroundStyles.\n *\n * @param backgroundStyles\n * @return {Object}\n */\n\n\nexports.fixOpacity = fixOpacity;\n\nvar presetBackgroundStyles = function presetBackgroundStyles(backgroundStyles) {\n var defaultBackgroundStyles = {\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\"\n };\n return (0, _extends2[\"default\"])({}, defaultBackgroundStyles, {}, backgroundStyles);\n};\n/**\n * Creates styles for the changing pseudo-elements' backgrounds.\n *\n * @param classId string Pre 0.3.0 way to create pseudo-elements\n * @param className string One or more className(s)\n * @param transitionDelay string\n * @param lastImage string\n * @param nextImage string\n * @param afterOpacity number\n * @param bgColor string\n * @param fadeIn boolean\n * @param backgroundStyles object\n * @param style object\n * @return {string}\n */\n\n\nexports.presetBackgroundStyles = presetBackgroundStyles;\n\nvar createPseudoStyles = function createPseudoStyles(_ref2) {\n var classId = _ref2.classId,\n className = _ref2.className,\n transitionDelay = _ref2.transitionDelay,\n lastImage = _ref2.lastImage,\n nextImage = _ref2.nextImage,\n afterOpacity = _ref2.afterOpacity,\n bgColor = _ref2.bgColor,\n fadeIn = _ref2.fadeIn,\n backgroundStyles = _ref2.backgroundStyles,\n style = _ref2.style;\n var pseudoBefore = createPseudoElement(className, classId);\n var pseudoAfter = createPseudoElement(className, classId, \":after\");\n return \"\\n \" + pseudoBefore + \",\\n \" + pseudoAfter + \" {\\n content: '';\\n display: block;\\n position: absolute;\\n width: 100%;\\n height: 100%;\\n top: 0;\\n left: 0;\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n \" + setTransitionStyles(transitionDelay, fadeIn) + \"\\n \" + kebabifyBackgroundStyles((0, _extends2[\"default\"])({}, backgroundStyles, {}, style)) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + (afterOpacity && nextImage ? \"background-image: \" + nextImage + \";\" : \"\") + \"\\n \" + (!afterOpacity && lastImage ? \"background-image: \" + lastImage + \";\" : \"\") + \"\\n opacity: \" + afterOpacity + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + (!afterOpacity && nextImage ? \"background-image: \" + nextImage + \";\" : \"\") + \"\\n \" + (afterOpacity && lastImage ? \"background-image: \" + lastImage + \";\" : \"\") + \"\\n }\\n \";\n};\n/**\n * Creates styles for the noscript element.\n *\n * @param classId string Pre 0.3.0 way to create pseudo-elements\n * @param className string One or more className(s)\n * @param image string||array Base data for one or multiple Images.\n * @return {string}\n */\n\n\nexports.createPseudoStyles = createPseudoStyles;\n\nvar createNoScriptStyles = function createNoScriptStyles(_ref3) {\n var classId = _ref3.classId,\n className = _ref3.className,\n image = _ref3.image;\n\n if (image) {\n var returnArray = Array.isArray(image);\n var addUrl = false;\n var allSources = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"src\",\n checkLoaded: false,\n addUrl: addUrl,\n returnArray: returnArray\n });\n var sourcesAsUrl = (0, _ImageUtils.getUrlString)({\n imageString: allSources,\n hasImageUrls: true,\n returnArray: returnArray\n });\n var sourcesAsUrlWithCSS = \"\";\n\n if (returnArray) {\n var cssStrings = (0, _ImageUtils.getCurrentFromData)({\n data: image,\n propName: \"CSS_STRING\",\n addUrl: false,\n returnArray: returnArray\n });\n sourcesAsUrlWithCSS = (0, _HelperUtils.filteredJoin)((0, _HelperUtils.combineArray)(sourcesAsUrl, cssStrings));\n }\n\n var pseudoBefore = createPseudoElement(className, classId);\n return \"\\n \" + pseudoBefore + \" {\\n opacity: 1;\\n background-image: \" + (sourcesAsUrlWithCSS || sourcesAsUrl) + \";\\n }\";\n }\n\n return \"\";\n};\n\nexports.createNoScriptStyles = createNoScriptStyles;","\"use strict\";\n\nexports.__esModule = true;\nexports.listenToIntersections = exports.getIO = exports.callbackIO = void 0;\nvar io;\nvar listeners = new WeakMap();\n/**\n * Executes each IntersectionObserver entries' callback.\n *\n * @param entries\n */\n\nvar callbackIO = function callbackIO(entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var callback = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners[\"delete\"](entry.target);\n callback();\n }\n }\n });\n};\n/**\n * Returns an IntersectionObserver instance if exists.\n *\n * @return {IntersectionObserver|undefined}\n */\n\n\nexports.callbackIO = callbackIO;\n\nvar getIO = function getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(callbackIO, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n};\n/**\n * Registers IntersectionObserver callback on element.\n *\n * @param element\n * @param callback\n * @return {Function}\n */\n\n\nexports.getIO = getIO;\n\nvar listenToIntersections = function listenToIntersections(element, callback) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(element);\n listeners.set(element, callback);\n return function () {\n observer.unobserve(element);\n listeners[\"delete\"](element);\n };\n }\n\n return function () {};\n};\n\nexports.listenToIntersections = listenToIntersections;"],"sourceRoot":""}