{"version":3,"sources":["webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/gatsby-background-image/index.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/gatsby-background-image/ImageUtils.js","webpack:///./node_modules/gatsby-background-image/IntersectionObserverUtils.js","webpack:///./node_modules/gatsby-background-image/BackgroundUtils.js","webpack:///./src/components/Image/Fluid.jsx","webpack:///./src/components/Image/Credits.jsx","webpack:///./src/components/Image/Background.jsx","webpack:///./node_modules/gatsby-background-image/HelperUtils.js","webpack:///./node_modules/gatsby-background-image/StyleUtils.js"],"names":["module","exports","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_interopRequireDefault","require","__esModule","default","_extends2","_objectWithoutPropertiesLoose2","_assertThisInitialized2","_inheritsLoose2","_defineProperty2","_react","_propTypes","_BackgroundUtils","_HelperUtils","_ImageUtils","_StyleUtils","_IntersectionObserverUtils","BackgroundImage","_React$Component","props","_this","call","this","isVisible","IOSupported","fadeIn","seenBefore","inImageCache","window","IntersectionObserver","critical","hasNoScript","state","imgLoaded","backgroundStyles","presetBackgroundStyles","className","bgImage","handleImageLoaded","bind","handleRef","imageRef","createPictureRef","_proto","prototype","componentDidMount","isMounted","onStartLoad","wasCached","img","complete","componentDidUpdate","prevProps","_this2","imagePropsChanged","imageInCache","setState","currentSrc","src","componentWillUnmount","cleanUpListeners","ref","_this3","listenToIntersections","imgCached","activateCacheForImage","onLoad","render","_fixOpacity","fixOpacity","convertProps","title","id","alt","_fixOpacity$style","style","fluid","fixed","backgroundColor","Tag","children","_fixOpacity$classId","classId","Math","random","toString","replace","substr","remainingProps","stripRemainingProps","bgColor","shouldFadeIn","transitionDelay","image","newImageSettings","switchImageSettings","lastImage","pseudoStyles","createPseudoStyles","createElement","position","overflow","opacity","JSON","stringify","srcSet","dangerouslySetInnerHTML","__html","noscriptImg","_image","divStyle","display","width","height","_newImageSettings","_pseudoStyles","Component","fixedObject","shape","number","isRequired","string","base64","tracedSVG","srcWebp","srcSetWebp","fluidObject","aspectRatio","sizes","propTypes","resolutions","oneOfType","bool","object","array","func","onError","defaultProps","_default","io","convertedProps","loading","groupByMedia","concat","matchesMedia","_ref","media","isBrowser","matchMedia","matches","getImageCacheKey","_ref2","srcData","getCurrentSrcData","currentData","Array","isArray","some","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","create","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","hasIOSupport","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","Fragment","type","withMedia","without","forEach","variant","push","generateTracedSVGSources","_ref4","generateBase64Sources","_ref5","generateNoscriptSource","_ref6","isWebp","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","delete","rootMargin","observe","set","crossOrigin","draggable","join","Placeholder","forwardRef","generateSources","spreadProps","ariaHidden","baseImage","Img","length","otherProps","top","left","objectFit","objectPosition","Image","isCritical","addNoScript","useIOSupport","isHydrated","createRef","placeholderRef","current","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","durationFadeIn","itemProp","shouldReveal","imageStyle","transition","delayHideStyle","imagePlaceholderStyle","placeholderImageProps","maxWidth","maxHeight","paddingBottom","bottom","right","requireFixedOrFluid","originalPropTypes","propName","componentName","_PropTypes$checkPropT","Error","checkPropTypes","arrayOf","oneOf","imageData","pic","document","sourcesWebP","srcset","appendChild","onload","addEventListener","noBase64","nextImage","afterOpacity","getIO","callbackIO","callback","element","getBackgroundStylesForSingleClass","getStyleRules","rulesForCssText","getStyle","styleSheets","i","classes","rules","cssRules","e","foundClass","from","find","styleRule","selectorText","resultingStyleText","cssText","indexOf","styleContent","doc","implementation","createHTMLDocument","styleElement","textContent","body","sheet","cssStyleRules","styles","constructor","name","values","prop","toCamelCase","console","error","isString","keys","filter","reduce","newData","stringToArray","classObjects","item","assign","apply","Wrapper","styled","div","minHeight","StyledImage","css","ImageCredits","Fluid","credits","href","url","rel","author","themeGet","Credits","to","Background","toKebabCase","gbiPropTypes","propTypesKey","hasOwnProperty","str","toLowerCase","letter","index","toUpperCase","match","delimiter","includes","split","vendorPrefixBackgroundStyles","kebabifyBackgroundStyles","createPseudoElement","appendix","pseudoClasses","resultingStyles","styledProps","isNaN","backgroundPosition","backgroundRepeat","backgroundSize","pseudoBefore","pseudoAfter"],"mappings":"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","file":"2525ca2b4881fe9911cbb8081340847caf7a19a3-0c29759d0b1535b8a430.js","sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\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 // Needed to prevent handleImageLoaded() firing on gatsby build.\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), \"isMounted\", false);\n (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), \"cleanUpListeners\", void 0);\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);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore // Preset backgroundStyles (e.g. during SSR or gatsby build).\n\n };\n _this.backgroundStyles = (0, _StyleUtils.presetBackgroundStyles)((0, _BackgroundUtils.default)(_this.props.className)); // Start with an empty background image.\n\n _this.bgImage = \"\";\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this)); // \"Fake\" a reference to an Image loaded via picture element in background.\n\n _this.imageRef = (0, _ImageUtils.createPictureRef)(_this.props, _this.handleImageLoaded);\n return _this;\n }\n\n var _proto = BackgroundImage.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.isMounted = true; // Update background(-*) styles from CSS (e.g. Styled Components).\n\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 var img = this.imageRef;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\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 this.setState({\n isVisible: imageInCache || this.props.critical\n }, function () {\n // Update bgImage & create new imageRef.\n _this2.bgImage = _this2.imageRef && _this2.imageRef.currentSrc || _this2.imageRef && _this2.imageRef.src || \"\";\n _this2.imageRef = (0, _ImageUtils.createPictureRef)(_this2.props, _this2.handleImageLoaded);\n });\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.isMounted = false;\n\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // IntersectionObserver listeners (if available).\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this3 = this;\n\n if (this.state.IOSupported && ref) {\n this.cleanUpListeners = (0, _IntersectionObserverUtils.listenToIntersections)(ref, function () {\n var imageInCache = (0, _ImageUtils.inImageCache)(_this3.props);\n\n if (!_this3.state.isVisible && typeof _this3.props.onStartLoad === \"function\") {\n _this3.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this3.setState({\n isVisible: true\n }, function () {\n return _this3.setState({\n imgLoaded: imageInCache,\n imgCached: !!_this3.imageRef.currentSrc\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n if (this.isMounted) {\n (0, _ImageUtils.activateCacheForImage)(this.props);\n this.setState({\n imgLoaded: true\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\n _proto.render = function render() {\n var _fixOpacity = (0, _StyleUtils.fixOpacity)((0, _HelperUtils.convertProps)(this.props)),\n title = _fixOpacity.title,\n id = _fixOpacity.id,\n alt = _fixOpacity.alt,\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 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) : \"\" : _fixOpacity$classId,\n props = (0, _objectWithoutPropertiesLoose2.default)(_fixOpacity, [\"title\", \"id\", \"alt\", \"className\", \"style\", \"fluid\", \"fixed\", \"backgroundColor\", \"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 ? \"0.5s\" : \"0.25s\";\n\n if (fluid) {\n var image = fluid; // Set images and visibility according to images available.\n\n var newImageSettings = (0, _ImageUtils.switchImageSettings)({\n image: image,\n bgImage: this.bgImage,\n imageRef: this.imageRef,\n isVisible: this.state.isVisible\n });\n this.bgImage = newImageSettings.bgImage ? newImageSettings.bgImage : newImageSettings.lastImage;\n var pseudoStyles = (0, _StyleUtils.createPseudoStyles)((0, _extends2.default)({\n classId: classId,\n className: className,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, newImageSettings));\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: \"\" + (className || \"\") + (classId && \"gatsby-background-image-\" + classId) + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n opacity: 0.99\n }, style, this.backgroundStyles),\n id: id,\n title: title,\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: (0, _ImageUtils.noscriptImg)((0, _extends2.default)({\n alt: alt,\n title: title\n }, image))\n }\n }), children);\n }\n\n if (fixed) {\n var _image = fixed;\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: _image.width,\n height: _image.height,\n opacity: 0.99\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n } // Set 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 isVisible: this.state.isVisible\n });\n\n this.bgImage = _newImageSettings.bgImage ? _newImageSettings.bgImage : _newImageSettings.lastImage;\n\n var _pseudoStyles = (0, _StyleUtils.createPseudoStyles)((0, _extends2.default)({\n classId: classId,\n className: className,\n transitionDelay: transitionDelay,\n bgColor: bgColor,\n backgroundStyles: this.backgroundStyles,\n style: style,\n fadeIn: shouldFadeIn\n }, _newImageSettings));\n\n return _react.default.createElement(Tag, (0, _extends2.default)({\n className: \"\" + (className || \"\") + (classId && \"gatsby-background-image-\" + classId) + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({}, divStyle, this.backgroundStyles),\n id: id,\n title: title,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(_image.srcSet)\n }, remainingProps), _react.default.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: _pseudoStyles\n }\n }), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: (0, _ImageUtils.noscriptImg)((0, _extends2.default)({\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height\n }, _image))\n }\n }), children);\n }\n\n return null;\n };\n\n return BackgroundImage;\n}(_react.default.Component);\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});\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});\n\nBackgroundImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: fixedObject,\n fluid: fluidObject,\n fadeIn: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n title: _propTypes.default.string,\n id: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _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};\nBackgroundImage.defaultProps = {\n critical: false,\n fadeIn: true,\n alt: \"\",\n title: \"\",\n id: \"\",\n Tag: \"div\"\n};\nvar _default = BackgroundImage;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\n};\n/**\n * Find the source of an image to use as a key in the image cache.\n * Use `the first image in either `fixed` or `fluid`\n * @param {{fluid: {src: string, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\n}; // Cache if we've seen an image before so we don't bother with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = Object.create({});\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = 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 cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), srcSet && /*#__PURE__*/_react.default.createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.sizes;\n var src = isWebp ? srcSetWebp : srcSet;\n var mediaAttr = media ? \"media=\\\"\" + media + \"\\\" \" : \"\";\n var typeAttr = isWebp ? \"type='image/webp' \" : \"\";\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\" \" : \"\";\n return \"\";\n}\n\nfunction generateNoscriptSources(imageVariants) {\n return imageVariants.map(function (variant) {\n return (variant.srcSetWebp ? generateNoscriptSource(variant, true) : \"\") + generateNoscriptSource(variant);\n }).join(\"\");\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n var observer = getIO();\n\n if (observer) {\n observer.observe(el);\n listeners.set(el, cb);\n }\n\n return function () {\n observer.unobserve(el);\n listeners.delete(el);\n };\n};\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var crossOrigin = props.crossOrigin ? \"crossorigin=\\\"\" + props.crossOrigin + \"\\\" \" : \"\";\n var loading = props.loading ? \"loading=\\\"\" + props.loading + \"\\\" \" : \"\";\n var draggable = props.draggable ? \"draggable=\\\"\" + props.draggable + \"\\\" \" : \"\";\n var sources = generateNoscriptSources(props.imageVariants);\n return \"\" + sources + \"
\";\n}; // Earlier versions of gatsby-image during the 2.x cycle did not wrap\n// the `Img` component in a `picture` element. This maintains compatibility\n// until a breaking change can be introduced in the next major release\n\n\nvar Placeholder = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2.default)({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes.default.object,\n onError: _propTypes.default.func,\n onLoad: _propTypes.default.func\n};\n\nvar Image = /*#__PURE__*/function (_React$Component) {\n (0, _inheritsLoose2.default)(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // 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 _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn,\n isHydrated: false\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.setState({\n isHydrated: isBrowser\n });\n\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _this2.imageRef.current.currentSrc)\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2.default)({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, imgStyle, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (fluid) {\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var divStyle = (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n display: \"inline-block\",\n width: image.width,\n height: image.height\n }, style);\n\n if (style.display === \"inherit\") {\n delete divStyle.display;\n }\n\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(image.srcSet)\n }, bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n title: title,\n style: (0, _extends2.default)({\n backgroundColor: bgColor,\n width: image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: image.height\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: image.width,\n height: image.height,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && /*#__PURE__*/_react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\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 maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\n} // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)])),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\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.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\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 itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.imagePropsChanged = exports.switchImageSettings = exports.noscriptImg = exports.createPictureRef = exports.activateCacheForImage = exports.inImageCache = void 0;\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); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed ? convertedProps.fixed.src : null;\n return imageCache[src] || false;\n};\n/**\n * Adds an Image to imageCache.\n * @param props\n */\n\n\nexports.inImageCache = inImageCache;\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = (0, _HelperUtils.convertProps)(props); // Find src\n\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 * Creates a picture element for the browser to decide which image to load.\n *\n * @param props\n * @param onLoad\n * @return {HTMLImageElement|null}\n */\n\n\nexports.activateCacheForImage = activateCacheForImage;\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 var imageData = props.fluid ? props.fluid : props.fixed;\n var img = new Image();\n var pic = document.createElement('picture');\n\n if (imageData.srcSetWebp) {\n var sourcesWebP = document.createElement('source');\n sourcesWebP.type = \"image/webp\";\n sourcesWebP.srcset = imageData.srcSetWebp;\n sourcesWebP.sizes = imageData.sizes;\n pic.appendChild(sourcesWebP);\n }\n\n pic.appendChild(img);\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 img.srcset = imageData.srcSet ? imageData.srcSet : \"\";\n img.src = imageData.src ? imageData.src : \"\";\n return img;\n }\n\n return null;\n};\n/**\n * Create basic image for a noscript event.\n *\n * @param props\n * @return {string}\n */\n\n\nexports.createPictureRef = createPictureRef;\n\nvar noscriptImg = function noscriptImg(props) {\n // Check if prop exists before adding each attribute to the string output below to prevent\n // HTML validation issues caused by empty values like width=\"\" and height=\"\"\n var src = props.src ? \"src=\\\"\" + props.src + \"\\\" \" : \"src=\\\"\\\" \"; // required attribute\n\n var sizes = props.sizes ? \"sizes=\\\"\" + props.sizes + \"\\\" \" : \"\";\n var srcSetWebp = props.srcSetWebp ? \"\" : \"\";\n var srcSet = props.srcSet ? \"srcset=\\\"\" + props.srcSet + \"\\\" \" : \"\";\n var title = props.title ? \"title=\\\"\" + props.title + \"\\\" \" : \"\";\n var alt = props.alt ? \"alt=\\\"\" + props.alt + \"\\\" \" : \"alt=\\\"\\\" \"; // required attribute\n\n var width = props.width ? \"width=\\\"\" + props.width + \"\\\" \" : \"\";\n var height = props.height ? \"height=\\\"\" + props.height + \"\\\" \" : \"\";\n var opacity = props.opacity ? props.opacity : \"1\";\n var transitionDelay = props.transitionDelay ? props.transitionDelay : \"0.5s\";\n return \"\" + srcSetWebp + \"
\";\n};\n/**\n * Compares the old states to the new and changes image settings accordingly.\n *\n * @param image\n * @param bgImage\n * @param imageRef\n * @param isVisible\n * @return {{noBase64: boolean, afterOpacity: number, bgColor: *, bgImage: *, nextImage: string}}\n */\n\n\nexports.noscriptImg = noscriptImg;\n\nvar switchImageSettings = function switchImageSettings(_ref) {\n var image = _ref.image,\n bgImage = _ref.bgImage,\n imageRef = _ref.imageRef,\n isVisible = _ref.isVisible;\n var noBase64 = !image.base64; // Set the backgroundImage according to images available.\n\n var nextImage = \"\";\n if (image.tracedSVG) nextImage = \"\\\"\" + image.tracedSVG + \"\\\"\";\n if (image.base64 && !image.tracedSVG) nextImage = image.base64;\n if (isVisible) nextImage = imageRef && imageRef.currentSrc || image.src; // Switch bgImage & nextImage and opacity accordingly.\n\n var lastImage = bgImage;\n bgImage = bgImage === \"\" ? nextImage : \"\";\n nextImage = nextImage === bgImage ? \"\" : nextImage;\n var afterOpacity = nextImage !== \"\" || noBase64 && isVisible ? 1 : 0;\n return {\n bgImage: bgImage,\n lastImage: lastImage,\n nextImage: nextImage,\n afterOpacity: afterOpacity,\n noBase64: noBase64\n };\n};\n/**\n * Checks if any image props have changed\n *\n * @param props\n * @param prevProps\n * @return {*}\n */\n\n\nexports.switchImageSettings = switchImageSettings;\n\nvar imagePropsChanged = function imagePropsChanged(props, prevProps) {\n return props.fluid && !prevProps.fluid || props.fixed && !prevProps.fixed || props.fluid && prevProps.fluid && props.fluid.src !== prevProps.fluid.src || props.fixed && prevProps.fixed && props.fixed.src !== prevProps.fixed.src;\n};\n\nexports.imagePropsChanged = imagePropsChanged;","\"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;","\"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.from(classes).find(function (styleRule) {\n return styleRule.selectorText === className;\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 switch (cssStyleRules[0].style.constructor.name) {\n case 'CSS2Properties':\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;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Img from 'gatsby-image'\r\nimport { css } from 'styled-components'\r\n\r\nimport styled from 'util/style'\r\n\r\nconst Wrapper = styled.div`\r\n margin-top: 0;\r\n height: ${({ height }) => height};\r\n min-height: ${({ minHeight }) => minHeight};\r\n width: 100%;\r\n position: relative;\r\n overflow: hidden;\r\n`\r\n\r\nconst StyledImage = styled(Img)`\r\n position: absolute !important;\r\n left: 0;\r\n right: 0;\r\nbottom: 0;\r\ntop: 0;\r\n img {\r\n object-position: center ${({ position }) => position} !important;\r\n }\r\n\r\n/*\r\n ${({ position }) => {\r\n switch (position) {\r\n case 'top': {\r\n return css`\r\n top: 0;\r\n `\r\n }\r\n case 'bottom': {\r\n return css`\r\n bottom: 0;\r\n `\r\n }\r\n default: {\r\n return css`\r\n bottom: 0;\r\n top: 0;\r\n `\r\n }\r\n }\r\n }}*/\r\n`\r\n\r\nconst ImageCredits = styled.div`\r\n font-size: smaller;\r\n text-align: right;\r\n margin-right: 1rem;\r\n`\r\n\r\nconst Fluid = ({ image, height, minHeight, credits, position }) => (\r\n <>\r\n \r\n \r\n \r\n {credits ? (\r\n \r\n Photo: \r\n \r\n {credits.author}\r\n \r\n \r\n ) : null}\r\n >\r\n)\r\n\r\nFluid.propTypes = {\r\n image: PropTypes.any.isRequired,\r\n height: PropTypes.string,\r\n minHeight: PropTypes.string,\r\n credits: PropTypes.shape({\r\n url: PropTypes.string.isRequired,\r\n author: PropTypes.string.isRequired,\r\n }),\r\n position: PropTypes.string,\r\n}\r\n\r\nFluid.defaultProps = {\r\n height: '60vh',\r\n minHeight: '20rem',\r\n credits: null,\r\n position: 'center',\r\n}\r\n\r\nexport default Fluid\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport { OutboundLink } from 'components/Link'\r\nimport styled, { themeGet } from 'util/style'\r\n\r\nconst Wrapper = styled.div`\r\n font-size: smaller;\r\n text-align: right;\r\n position: absolute;\r\n bottom: 0;\r\n right: 0;\r\n color: ${themeGet('colors.white')};\r\n padding: 0.25rem 1rem;\r\n text-shadow: 1px 1px 3px ${themeGet('colors.black')};\r\n background-color: rgba(0, 0, 0, 0.4);\r\n\r\n a {\r\n color: ${themeGet('colors.white')};\r\n text-decoration: none;\r\n }\r\n`\r\n\r\nconst Credits = ({ author, url }) => (\r\n \r\n Photo: \r\n {url ? (\r\n \r\n {author}\r\n \r\n ) : (\r\n author\r\n )}\r\n \r\n)\r\n\r\nCredits.propTypes = {\r\n author: PropTypes.string.isRequired,\r\n url: PropTypes.string,\r\n}\r\n\r\nCredits.defaultProps = {\r\n url: null,\r\n}\r\n\r\nexport default Credits\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport BackgroundImage from 'gatsby-background-image'\r\n\r\nimport Credits from './Credits'\r\n\r\nconst Background = ({ fluid, children, credits, ...props }) => (\r\n \r\n {children}\r\n\r\n {credits && }\r\n \r\n)\r\n\r\nBackground.propTypes = {\r\n fluid: PropTypes.object.isRequired,\r\n children: PropTypes.node.isRequired,\r\n credits: PropTypes.shape({\r\n author: PropTypes.string.isRequired,\r\n url: PropTypes.string,\r\n }),\r\n}\r\n\r\nBackground.defaultProps = {\r\n credits: null,\r\n}\r\n\r\nexport default Background\r\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.stringToArray = exports.toKebabCase = exports.toCamelCase = 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\", \"title\", \"id\", \"alt\", \"className\", \"critical\", \"style\", \"backgroundColor\", \"onLoad\", \"onError\", \"onStartLoad\", \"Tag\", \"classId\"];\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 * 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.convertProps = convertProps;\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\nexports.stringToArray = stringToArray;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.createPseudoStyles = exports.presetBackgroundStyles = exports.fixOpacity = exports.vendorPrefixBackgroundStyles = exports.kebabifyBackgroundStyles = exports.createPseudoElement = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _HelperUtils = require(\"./HelperUtils\");\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 */\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 classes = (0, _HelperUtils.stringToArray)(className);\n var pseudoClasses = \"\";\n\n if (classes instanceof Array) {\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 * Converts a style object into CSS kebab-cased style rules.\n *\n * @param styles\n * @return {*}\n */\n\n\nexports.createPseudoElement = createPseudoElement;\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 vendorPrefixBackgroundStyles = function vendorPrefixBackgroundStyles( // backgroundSize = `cover`,\ntransitionDelay, fadeIn) {\n if (transitionDelay === void 0) {\n transitionDelay = \"0.25s\";\n }\n\n if (fadeIn === void 0) {\n fadeIn = true;\n }\n\n // TODO: Look into vendor-prefixes through autoprefix in Gatsby!\n // const vendorPrefixes = ['-webkit-', '-moz-', '-o-', '-ms-', '']\n // let prefixed = ``\n // if (fadeIn) {\n // prefixed +=\n // vendorPrefixes\n // .join(`transition-delay: ${transitionDelay};\\n`)\n // .concat(`transition-delay: ${transitionDelay};\\n`) +\n // vendorPrefixes\n // .join(`transition: opacity 0.5s;\\n`)\n // .concat(`transition: opacity 0.5s;\\n`)\n // } else {\n // prefixed += vendorPrefixes\n // .join(`transition: none;\\n`)\n // .concat(`transition: none;\\n`)\n // }\n var prefixed = fadeIn ? \"transition-delay: \" + transitionDelay + \";\\n transition: opacity 0.5s;\" : \"transition: none;\";\n return prefixed;\n};\n/**\n * Prevent possible stacking order mismatch with opacity \"hack\".\n *\n * @param props\n * @return {Object}\n */\n\n\nexports.vendorPrefixBackgroundStyles = vendorPrefixBackgroundStyles;\n\nvar fixOpacity = function fixOpacity(props) {\n var styledProps = (0, _extends2.default)({}, props);\n\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 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 bgImage 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(_ref) {\n var classId = _ref.classId,\n className = _ref.className,\n transitionDelay = _ref.transitionDelay,\n bgImage = _ref.bgImage,\n lastImage = _ref.lastImage,\n nextImage = _ref.nextImage,\n afterOpacity = _ref.afterOpacity,\n bgColor = _ref.bgColor,\n fadeIn = _ref.fadeIn,\n backgroundStyles = _ref.backgroundStyles,\n style = _ref.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 \" + vendorPrefixBackgroundStyles(transitionDelay, fadeIn) + \"\\n \" + kebabifyBackgroundStyles((0, _extends2.default)({}, backgroundStyles, style)) + \"\\n }\\n \" + pseudoBefore + \" {\\n z-index: -100;\\n \" + (!afterOpacity && lastImage !== \"\" || afterOpacity && !bgImage && !nextImage && lastImage !== \"\" ? \"background-image: url(\" + lastImage + \");\" : \"\") + \"\\n \" + (afterOpacity && (nextImage || bgImage) ? \"background-image: url(\" + (nextImage || bgImage) + \");\" : \"\") + \"\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n opacity: \" + afterOpacity + \"; \\n }\\n \" + pseudoAfter + \" {\\n z-index: -101;\\n \" + (afterOpacity && lastImage !== \"\" || !afterOpacity && !bgImage && !nextImage && lastImage !== \"\" ? \"background-image: url(\" + lastImage + \");\" : \"\") + \"\\n \" + (!afterOpacity && (bgImage || nextImage) ? \"background-image: url(\" + (bgImage || nextImage) + \");\" : \"\") + \"\\n \" + (bgColor && \"background-color: \" + bgColor + \";\") + \"\\n }\\n \";\n};\n\nexports.createPseudoStyles = createPseudoStyles;"],"sourceRoot":""}