{"version":3,"sources":["webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/utils/typography.js","webpack:///./.cache/public-page-renderer.js","webpack:///./src/components/Layout.js","webpack:///./src/components/seo.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/components/Bio.js","webpack:///./node_modules/gatsby-image/index.js"],"names":["__webpack_require__","d","__webpack_exports__","StaticQuery","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","prop_types__WEBPACK_IMPORTED_MODULE_1__","prop_types__WEBPACK_IMPORTED_MODULE_1___default","gatsby_link__WEBPACK_IMPORTED_MODULE_2__","gatsby_link__WEBPACK_IMPORTED_MODULE_2___default","a","StaticQueryContext","React","createContext","props","createElement","Consumer","staticQueryData","data","query","render","children","propTypes","PropTypes","object","string","isRequired","func","rhythm","scale","typography__WEBPACK_IMPORTED_MODULE_0__","typography__WEBPACK_IMPORTED_MODULE_0___default","typography_theme_github__WEBPACK_IMPORTED_MODULE_1__","typography_theme_github__WEBPACK_IMPORTED_MODULE_1___default","github_theme","overrideThemeStyles","a.gatsby-resp-image-link","boxShadow","body","color","googleFonts","typography","Typography","m","module","exports","require","default","Layout","header","_this$props","this","location","title","pathname","react__WEBPACK_IMPORTED_MODULE_2___default","style","_babel_runtime_helpers_objectSpread__WEBPACK_IMPORTED_MODULE_0___default","marginBottom","marginTop","gatsby__WEBPACK_IMPORTED_MODULE_3__","textDecoration","to","fontFamily","marginLeft","marginRight","maxWidth","padding","Component","SEO","_ref","description","lang","meta","keywords","react__WEBPACK_IMPORTED_MODULE_1___default","gatsby__WEBPACK_IMPORTED_MODULE_4__","detailsQuery","metaDescription","site","siteMetadata","setTitel","react_helmet__WEBPACK_IMPORTED_MODULE_3___default","htmlAttributes","name","content","property","author","concat","length","join","_public_static_d_1025518380_json__WEBPACK_IMPORTED_MODULE_0__","defaultProps","array","arrayOf","ProdPageRenderer","pageResources","loader","getResourcesForPathnameSync","InternalPageRenderer","json","shape","bioQuery","Bio","gatsby__WEBPACK_IMPORTED_MODULE_2__","_data$site$siteMetada","social","display","gatsby_image__WEBPACK_IMPORTED_MODULE_3___default","fluid","avatar","childImageSharp","alt","minWidth","borderRadius","_public_static_d_1385342204_json__WEBPACK_IMPORTED_MODULE_0__","_interopRequireDefault","__esModule","io","_inheritsLoose2","_assertThisInitialized2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","convertedProps","resolutions","sizes","critical","fixed","loading","groupByMedia","getImageSrcKey","src","imageCache","Object","create","inImageCache","hasNativeLazyLoadSupport","HTMLImageElement","prototype","isBrowser","window","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref2","srcSet","srcSetWebp","media","Fragment","key","type","withMedia","without","forEach","variant","push","generateTracedSVGSources","_ref3","tracedSVG","generateBase64Sources","_ref4","base64","generateNoscriptSource","_ref5","isWebp","listenToIntersections","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","delete","rootMargin","observe","set","noscriptImg","width","height","crossOrigin","draggable","Placeholder","_ref6","generateSources","spreadProps","baseImage","Img","forwardRef","ref","onLoad","onError","otherProps","position","top","left","objectFit","objectPosition","Image","_React$Component","_this","call","seenBefore","addNoScript","fadeIn","useIOSupport","isVisible","state","imgLoaded","imgCached","imageRef","createRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","setState","currentSrc","_convertProps","className","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","durationFadeIn","Tag","itemProp","shouldReveal","shouldFadeIn","imageStyle","opacity","transition","bgColor","delayHideStyle","transitionDelay","imagePlaceholderStyle","placeholderImageProps","image","overflow","JSON","stringify","paddingBottom","aspectRatio","bottom","right","dangerouslySetInnerHTML","__html","_imageVariants","_image","divStyle","fixedObject","number","srcWebp","fluidObject","oneOfType","bool","oneOf","_default"],"mappings":"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","file":"1-7163981af4a99858738c.js","sourcesContent":["import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\n\nconst StaticQueryContext = React.createContext({})\n\nconst StaticQuery = props => (\n \n {staticQueryData => {\n if (\n props.data ||\n (staticQueryData[props.query] && staticQueryData[props.query].data)\n ) {\n return (props.render || props.children)(\n props.data ? props.data.data : staticQueryData[props.query].data\n )\n } else {\n return
Loading (StaticQuery)
\n }\n }}\n
\n)\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n}\n","import Typography from 'typography'\r\nimport github_theme from 'typography-theme-github'\r\n\r\ngithub_theme.overrideThemeStyles = () => {\r\n return {\r\n 'a.gatsby-resp-image-link': {\r\n boxShadow: `none`,\r\n },\r\n body: {\r\n color: `rgb(0,0,0)`,\r\n },\r\n }\r\n}\r\n\r\ndelete github_theme.googleFonts\r\n\r\nconst typography = new Typography(github_theme)\r\n\r\n// Segoe UI, SegoeUI, Segoe WP, Helvetica Neue, Helvetica, Tahoma, Arial, sans-serif\r\n\r\n// Hot reload typography in development.\r\nif (process.env.NODE_ENV !== `production`) {\r\n typography.injectStyles()\r\n}\r\n\r\nexport default typography\r\nexport const rhythm = typography.rhythm\r\nexport const scale = typography.scale\r\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","import React from 'react'\r\nimport { Link } from 'gatsby'\r\n\r\nimport { rhythm, scale } from '../utils/typography'\r\n// require('prismjs/plugins/line-numbers/prism-line-numbers.css')\r\n// require('prismjs/plugins/line-highlight/prism-line-highlight.css')\r\nclass Layout extends React.Component {\r\n render() {\r\n const { location, title, children } = this.props\r\n const rootPath = `${__PATH_PREFIX__}/`\r\n let header\r\n\r\n if (location.pathname === rootPath) {\r\n header = (\r\n \r\n \r\n {title}\r\n \r\n \r\n )\r\n } else {\r\n header = (\r\n \r\n \r\n {title}\r\n \r\n \r\n )\r\n }\r\n return (\r\n \r\n {header}\r\n {children}\r\n {/*
\r\n © {new Date().getFullYear()}, Built with\r\n {` `}\r\n Gatsby\r\n
*/}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Layout\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Helmet from 'react-helmet'\r\nimport { StaticQuery, graphql } from 'gatsby'\r\n\r\nfunction setTitel(title) {\r\n if (title === 'All posts') {\r\n return 'slect - by Wadson Guimatsa'\r\n } else {\r\n return 'slect ->' + title\r\n }\r\n}\r\n\r\nfunction SEO({ description, lang, meta, keywords, title }) {\r\n return (\r\n {\r\n const metaDescription =\r\n description || data.site.siteMetadata.description\r\n title = setTitel(title)\r\n return (\r\n ${\r\n // data.site.siteMetadata.description\r\n // }`}\r\n meta={[\r\n {\r\n name: `description`,\r\n content: metaDescription,\r\n },\r\n {\r\n property: `og:title`,\r\n content: title,\r\n },\r\n {\r\n property: `og:description`,\r\n content: metaDescription,\r\n },\r\n {\r\n property: `og:type`,\r\n content: `website`,\r\n },\r\n {\r\n name: `twitter:card`,\r\n content: `summary`,\r\n },\r\n {\r\n name: `twitter:creator`,\r\n content: data.site.siteMetadata.author,\r\n },\r\n {\r\n name: `twitter:title`,\r\n content: title,\r\n },\r\n {\r\n name: `twitter:description`,\r\n content: metaDescription,\r\n },\r\n ]\r\n .concat(\r\n keywords.length > 0\r\n ? {\r\n name: `keywords`,\r\n content: keywords.join(`, `),\r\n }\r\n : []\r\n )\r\n .concat(meta)}\r\n />\r\n )\r\n }}\r\n />\r\n )\r\n}\r\n\r\nSEO.defaultProps = {\r\n lang: `en`,\r\n meta: [],\r\n keywords: [],\r\n}\r\n\r\nSEO.propTypes = {\r\n description: PropTypes.string,\r\n lang: PropTypes.string,\r\n meta: PropTypes.array,\r\n keywords: PropTypes.arrayOf(PropTypes.string),\r\n title: PropTypes.string.isRequired,\r\n}\r\n\r\nexport default SEO\r\n\r\nconst detailsQuery = graphql`\r\n query DefaultSEOQuery {\r\n site {\r\n siteMetadata {\r\n title\r\n description\r\n author\r\n }\r\n }\r\n }\r\n`\r\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\nimport loader from \"./loader\"\n\nconst ProdPageRenderer = ({ location }) => {\n const pageResources = loader.getResourcesForPathnameSync(location.pathname)\n if (!pageResources) {\n return null\n }\n\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n","import React from 'react'\r\nimport { StaticQuery, graphql } from 'gatsby'\r\nimport Image from 'gatsby-image'\r\n\r\nimport { rhythm } from '../utils/typography'\r\n\r\nfunction Bio() {\r\n return (\r\n {\r\n const { author, social } = data.site.siteMetadata\r\n return (\r\n \r\n \r\n \r\n A blog about Data-Intensive Applications\r\n
\r\n Written by {author}\r\n

\r\n \r\n )\r\n }}\r\n />\r\n )\r\n}\r\n\r\nconst bioQuery = graphql`\r\n query BioQuery {\r\n avatar: file(absolutePath: { regex: \"/profile-pic.jpg/\" }) {\r\n childImageSharp {\r\n fluid(maxWidth: 161, maxHeight: 248) {\r\n ...GatsbyImageSharpFluid\r\n }\r\n }\r\n }\r\n site {\r\n siteMetadata {\r\n author\r\n social {\r\n twitter\r\n }\r\n }\r\n }\r\n }\r\n`\r\n\r\nexport default Bio\r\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\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 delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\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 * 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}[], fixed: {src: string}[]}} args\n * @return {string}\n */\n\n\nvar getImageSrcKey = function getImageSrcKey(_ref) {\n var fluid = _ref.fluid,\n fixed = _ref.fixed;\n var data = fluid && fluid[0] || fixed && fixed[0];\n return data.src;\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); // Find src\n\n var src = getImageSrcKey(convertedProps);\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = getImageSrcKey(convertedProps);\n imageCache[src] = true;\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 (_ref2) {\n var src = _ref2.src,\n srcSet = _ref2.srcSet,\n srcSetWebp = _ref2.srcSetWebp,\n media = _ref2.media,\n sizes = _ref2.sizes;\n return _react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), _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 withMedia.concat(without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref3) {\n var src = _ref3.src,\n media = _ref3.media,\n tracedSVG = _ref3.tracedSVG;\n return _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 (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n base64 = _ref4.base64;\n return _react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref5, isWebp) {\n var srcSet = _ref5.srcSet,\n srcSetWebp = _ref5.srcSetWebp,\n media = _ref5.media,\n sizes = _ref5.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 = function Placeholder(_ref6) {\n var src = _ref6.src,\n imageVariants = _ref6.imageVariants,\n generateSources = _ref6.generateSources,\n spreadProps = _ref6.spreadProps;\n\n var baseImage = _react.default.createElement(Img, (0, _extends2.default)({\n src: src\n }, spreadProps));\n\n return imageVariants.length > 1 ? _react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n};\n\nvar Img = _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 otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\"]);\n return _react.default.createElement(\"img\", (0, _extends2.default)({\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 =\n/*#__PURE__*/\nfunction (_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.addNoScript = !(props.critical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !props.critical && !_this.seenBefore;\n var isVisible = props.critical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn\n };\n _this.imageRef = _react.default.createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\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.props.critical) {\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 return _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 imgCached: !!_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 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 };\n\n if (fluid) {\n var imageVariants = fluid;\n var image = imageVariants[0];\n return _react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\"\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, _react.default.createElement(Tag, {\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && _react.default.createElement(Tag, {\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 && _react.default.createElement(Placeholder, {\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && _react.default.createElement(Placeholder, {\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, generateImageSources(imageVariants), _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 && _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 _imageVariants = fixed;\n var _image = _imageVariants[0];\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 _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 && _react.default.createElement(Tag, {\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 && _react.default.createElement(Placeholder, {\n src: _image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateBase64Sources\n }), _image.tracedSVG && _react.default.createElement(Placeholder, {\n src: _image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, generateImageSources(_imageVariants), _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 && _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});\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)]),\n fluid: _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;"],"sourceRoot":""}