-
Notifications
You must be signed in to change notification settings - Fork 0
/
component---src-pages-index-js-69b05885e43fe5c16a27.js.map
1 lines (1 loc) · 45.5 KB
/
component---src-pages-index-js-69b05885e43fe5c16a27.js.map
1
{"version":3,"sources":["webpack:///./src/pages/index.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./src/utils/typography.js","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/components/layout.js","webpack:///./src/components/seo.js","webpack:///./src/components/bio.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/gatsby-image/index.js"],"names":["BlogIndex","render","data","this","props","siteTitle","site","siteMetadata","title","posts","allMarkdownRemark","edges","react__WEBPACK_IMPORTED_MODULE_1___default","a","createElement","_components_layout__WEBPACK_IMPORTED_MODULE_4__","location","_components_seo__WEBPACK_IMPORTED_MODULE_5__","keywords","_components_bio__WEBPACK_IMPORTED_MODULE_3__","map","_ref","node","frontmatter","fields","slug","key","style","marginBottom","rhythm","gatsby__WEBPACK_IMPORTED_MODULE_2__","boxShadow","to","date","dangerouslySetInnerHTML","__html","excerpt","React","Component","pageQuery","__webpack_require__","r","__webpack_exports__","d","graphql","StaticQueryContext","StaticQuery","useStaticQuery","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","_public_page_renderer__WEBPACK_IMPORTED_MODULE_3__","_public_page_renderer__WEBPACK_IMPORTED_MODULE_3___default","_parse_path__WEBPACK_IMPORTED_MODULE_4__","createContext","Consumer","staticQueryData","query","children","useContext","context","Error","propTypes","PropTypes","object","string","isRequired","func","scale","typography__WEBPACK_IMPORTED_MODULE_0__","typography__WEBPACK_IMPORTED_MODULE_0___default","typography_theme_wordpress_2016__WEBPACK_IMPORTED_MODULE_1__","typography_theme_wordpress_2016__WEBPACK_IMPORTED_MODULE_1___default","Wordpress2016","overrideThemeStyles","a.gatsby-resp-image-link","googleFonts","typography","Typography","m","module","exports","require","default","ProdPageRenderer","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","Object","assign","json","shape","Layout","header","_this$props","react__WEBPACK_IMPORTED_MODULE_2___default","marginTop","gatsby__WEBPACK_IMPORTED_MODULE_3__","textDecoration","color","fontFamily","marginLeft","marginRight","maxWidth","padding","Date","getFullYear","href","SEO","description","lang","meta","gatsby__WEBPACK_IMPORTED_MODULE_4__","detailsQuery","metaDescription","react_helmet__WEBPACK_IMPORTED_MODULE_3___default","htmlAttributes","titleTemplate","name","content","property","author","concat","length","join","_public_static_d_1025518380_json__WEBPACK_IMPORTED_MODULE_0__","defaultProps","array","arrayOf","bioQuery","Bio","_data$site$siteMetada","social","display","gatsby_image__WEBPACK_IMPORTED_MODULE_4___default","fixed","avatar","childImageSharp","alt","minWidth","borderRadius","imgStyle","twitter","_public_static_d_4007731267_json__WEBPACK_IMPORTED_MODULE_1__","createHTML","$export","fails","defined","quot","tag","attribute","value","S","String","p1","replace","NAME","exec","O","P","F","test","toLowerCase","split","_interopRequireDefault","__esModule","io","_inheritsLoose2","_assertThisInitialized2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","convertedProps","resolutions","sizes","fluid","imageCache","inImageCache","src","listeners","listenToIntersections","el","cb","window","IntersectionObserver","entries","forEach","entry","l","target","isIntersecting","intersectionRatio","unobserve","rootMargin","observe","push","noscriptImg","srcSetWebp","srcSet","width","height","opacity","transitionDelay","Img","forwardRef","ref","onLoad","onError","otherProps","position","top","left","objectFit","objectPosition","Image","_React$Component","_this","call","isVisible","IOSupported","fadeIn","seenBefore","critical","hasNoScript","state","imgLoaded","imageRef","createRef","handleImageLoaded","bind","handleRef","_proto","prototype","componentDidMount","onStartLoad","wasCached","img","current","complete","_this2","imageInCache","setState","_convertProps","className","_convertProps$style","_convertProps$imgStyl","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","Tag","itemProp","bgColor","imagePlaceholderStyle","transition","imageStyle","placeholderImageProps","image","overflow","JSON","stringify","paddingBottom","aspectRatio","base64","tracedSVG","bottom","right","type","_image","divStyle","fixedObject","number","srcWebp","fluidObject","bool","oneOfType","_default"],"mappings":"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","file":"component---src-pages-index-js-69b05885e43fe5c16a27.js","sourcesContent":["import React from \"react\"\r\nimport { Link, graphql } from \"gatsby\"\r\n\r\nimport Bio from \"../components/bio\"\r\nimport Layout from \"../components/layout\"\r\nimport SEO from \"../components/seo\"\r\nimport { rhythm } from \"../utils/typography\"\r\n\r\nclass BlogIndex extends React.Component {\r\n render() {\r\n const { data } = this.props\r\n const siteTitle = data.site.siteMetadata.title\r\n const posts = data.allMarkdownRemark.edges\r\n\r\n return (\r\n <Layout location={this.props.location} title={siteTitle}>\r\n <SEO\r\n title=\"All posts\"\r\n keywords={[`blog`, `gatsby`, `javascript`, `react`]}\r\n />\r\n <Bio />\r\n {posts.map(({ node }) => {\r\n const title = node.frontmatter.title || node.fields.slug\r\n return (\r\n <div key={node.fields.slug}>\r\n <h3\r\n style={{\r\n marginBottom: rhythm(1 / 4),\r\n }}\r\n >\r\n <Link style={{ boxShadow: `none` }} to={node.fields.slug}>\r\n {title}\r\n </Link>\r\n </h3>\r\n <small>{node.frontmatter.date}</small>\r\n <p dangerouslySetInnerHTML={{ __html: node.excerpt }} />\r\n </div>\r\n )\r\n })}\r\n </Layout>\r\n )\r\n }\r\n}\r\n\r\nexport default BlogIndex\r\n\r\nexport const pageQuery = graphql`\r\n query {\r\n site {\r\n siteMetadata {\r\n title\r\n }\r\n }\r\n allMarkdownRemark(sort: { fields: [frontmatter___date], order: DESC }) {\r\n edges {\r\n node {\r\n excerpt\r\n fields {\r\n slug\r\n }\r\n frontmatter {\r\n date(formatString: \"MMMM DD, YYYY\")\r\n title\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`\r\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport parsePath from \"./parse-path\"\n\nconst StaticQueryContext = React.createContext({})\n\nconst StaticQuery = props => (\n <StaticQueryContext.Consumer>\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 <div>Loading (StaticQuery)</div>\n }\n }}\n </StaticQueryContext.Consumer>\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 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 Wordpress2016 from \"typography-theme-wordpress-2016\"\r\n\r\nWordpress2016.overrideThemeStyles = () => {\r\n return {\r\n \"a.gatsby-resp-image-link\": {\r\n boxShadow: `none`,\r\n },\r\n }\r\n}\r\n\r\ndelete Wordpress2016.googleFonts\r\n\r\nconst typography = new Typography(Wordpress2016)\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\"\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 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 { Link } from \"gatsby\"\r\n\r\nimport { rhythm, scale } from \"../utils/typography\"\r\n\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 <h1\r\n style={{\r\n ...scale(1.5),\r\n marginBottom: rhythm(1.5),\r\n marginTop: 0,\r\n }}\r\n >\r\n <Link\r\n style={{\r\n boxShadow: `none`,\r\n textDecoration: `none`,\r\n color: `inherit`,\r\n }}\r\n to={`/`}\r\n >\r\n {title}\r\n </Link>\r\n </h1>\r\n )\r\n } else {\r\n header = (\r\n <h3\r\n style={{\r\n fontFamily: `Montserrat, sans-serif`,\r\n marginTop: 0,\r\n }}\r\n >\r\n <Link\r\n style={{\r\n boxShadow: `none`,\r\n textDecoration: `none`,\r\n color: `inherit`,\r\n }}\r\n to={`/`}\r\n >\r\n {title}\r\n </Link>\r\n </h3>\r\n )\r\n }\r\n return (\r\n <div\r\n style={{\r\n marginLeft: `auto`,\r\n marginRight: `auto`,\r\n maxWidth: rhythm(24),\r\n padding: `${rhythm(1.5)} ${rhythm(3 / 4)}`,\r\n }}\r\n >\r\n <header>{header}</header>\r\n <main>{children}</main>\r\n <footer>\r\n © {new Date().getFullYear()}, Built with\r\n {` `}\r\n <a href=\"https://www.gatsbyjs.org\">Gatsby</a>\r\n </footer>\r\n </div>\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 SEO({ description, lang, meta, keywords, title }) {\r\n return (\r\n <StaticQuery\r\n query={detailsQuery}\r\n render={data => {\r\n const metaDescription =\r\n description || data.site.siteMetadata.description\r\n return (\r\n <Helmet\r\n htmlAttributes={{\r\n lang,\r\n }}\r\n title={title}\r\n titleTemplate={`%s | ${data.site.siteMetadata.title}`}\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\"\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 <StaticQuery\r\n query={bioQuery}\r\n render={data => {\r\n const { author, social } = data.site.siteMetadata\r\n return (\r\n <div\r\n style={{\r\n display: `flex`,\r\n marginBottom: rhythm(2.5),\r\n }}\r\n >\r\n <Image\r\n fixed={data.avatar.childImageSharp.fixed}\r\n alt={author}\r\n style={{\r\n marginRight: rhythm(1 / 2),\r\n marginBottom: 0,\r\n minWidth: 50,\r\n borderRadius: `100%`,\r\n }}\r\n imgStyle={{\r\n borderRadius: `50%`,\r\n }}\r\n />\r\n <p>\r\n Written by <strong>{author}</strong> who lives and works in San\r\n Francisco building useful things.\r\n {` `}\r\n <a href={`https://twitter.com/${social.twitter}`}>\r\n You should follow him on Twitter\r\n </a>\r\n </p>\r\n </div>\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 fixed(width: 50, height: 50) {\r\n ...GatsbyImageSharpFixed\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// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","\"use strict\";\n\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\n// Handle legacy names for image queries.\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}; // Cache if we've seen an image before so we don't both with\n// lazy-loading & fading in on subsequent mounts.\n\n\nvar imageCache = {};\n\nvar inImageCache = function inImageCache(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = convertedProps.fluid ? convertedProps.fluid.src : convertedProps.fixed.src;\n imageCache[src] = true;\n};\n\nvar io;\nvar listeners = [];\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 listeners.forEach(function (l) {\n if (l[0] === entry.target) {\n // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(l[0]);\n l[1]();\n }\n }\n });\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nvar listenToIntersections = function listenToIntersections(el, cb) {\n getIO().observe(el);\n listeners.push([el, cb]);\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 srcSetWebp = props.srcSetWebp ? \"<source type='image/webp' srcSet=\\\"\" + props.srcSetWebp + \"\\\" \" + sizes + \"/>\" : \"\";\n var srcSet = props.srcSet ? \"<source srcSet=\\\"\" + props.srcSet + \"\\\" \" + sizes + \"/>\" : \"\";\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 \"<picture>\" + srcSetWebp + srcSet + \"<img \" + width + height + src + alt + title + \"style=\\\"position:absolute;top:0;left:0;transition:opacity 0.5s;transition-delay:\" + transitionDelay + \";opacity:\" + opacity + \";width:100%;height:100%;object-fit:cover;object-position:center\\\"/></picture>\";\n};\n\nvar Img = _react.default.forwardRef(function (props, ref) {\n var style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"style\", \"onLoad\", \"onError\"]);\n return _react.default.createElement(\"img\", (0, _extends2.default)({}, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\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; // default settings for browser without Intersection Observer available\n\n var isVisible = true;\n var imgLoaded = false;\n var IOSupported = false;\n var fadeIn = props.fadeIn; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n var seenBefore = 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 }\n\n var hasNoScript = !(_this.props.critical && !_this.props.fadeIn);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: imgLoaded,\n IOSupported: IOSupported,\n fadeIn: fadeIn,\n hasNoScript: hasNoScript,\n seenBefore: seenBefore\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.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.state.IOSupported && ref) {\n 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 }\n\n _this2.setState({\n isVisible: true,\n imgLoaded: imageInCache\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.state.seenBefore) {\n this.setState({\n fadeIn: false\n });\n }\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _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 Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp;\n\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var imagePlaceholderStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded ? 0 : 1,\n transition: \"opacity 0.5s\",\n transitionDelay: this.state.imgLoaded ? \"0.5s\" : \"0.25s\"\n }, imgStyle, placeholderStyle);\n var imageStyle = (0, _extends2.default)({\n opacity: this.state.imgLoaded || this.state.fadeIn === false ? 1 : 0,\n transition: this.state.fadeIn === true ? \"opacity 0.5s\" : \"none\"\n }, imgStyle);\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 image = fluid;\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 }), image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.base64\n }, placeholderImageProps)), image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.35s\",\n right: 0,\n left: 0\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: image.srcSetWebp,\n sizes: image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: image.srcSet,\n sizes: image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n src: image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title\n }, image))\n }\n }));\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 }, 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 }, _image.base64 && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.base64\n }, placeholderImageProps)), _image.tracedSVG && _react.default.createElement(Img, (0, _extends2.default)({\n src: _image.tracedSVG\n }, placeholderImageProps)), bgColor && _react.default.createElement(Tag, {\n title: title,\n style: {\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n transitionDelay: \"0.25s\",\n height: _image.height\n }\n }), this.state.isVisible && _react.default.createElement(\"picture\", null, _image.srcSetWebp && _react.default.createElement(\"source\", {\n type: \"image/webp\",\n srcSet: _image.srcSetWebp,\n sizes: _image.sizes\n }), _react.default.createElement(\"source\", {\n srcSet: _image.srcSet,\n sizes: _image.sizes\n }), _react.default.createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n src: _image.src,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp\n })), this.state.hasNoScript && _react.default.createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2.default)({\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height\n }, _image))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react.default.Component);\n\nImage.defaultProps = {\n critical: false,\n fadeIn: true,\n alt: \"\",\n Tag: \"div\"\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});\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\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: fixedObject,\n fluid: fluidObject,\n fadeIn: _propTypes.default.bool,\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 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};\nvar _default = Image;\nexports.default = _default;"],"sourceRoot":""}