-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-templates-blog-post-js-f44c2aa389fdcbadcb3e.js.map
1 lines (1 loc) · 44.3 KB
/
component---src-templates-blog-post-js-f44c2aa389fdcbadcb3e.js.map
1
{"version":3,"sources":["webpack:///./src/templates/blog-post.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":["BlogPostTemplate","render","post","this","props","data","markdownRemark","siteTitle","site","siteMetadata","title","_this$props$pageConte","pageContext","previous","next","react__WEBPACK_IMPORTED_MODULE_2___default","a","createElement","_components_Layout__WEBPACK_IMPORTED_MODULE_5__","location","_components_seo__WEBPACK_IMPORTED_MODULE_6__","frontmatter","description","excerpt","style","Object","assign","scale","display","marginBottom","rhythm","marginTop","date","dangerouslySetInnerHTML","__html","html","_components_Bio__WEBPACK_IMPORTED_MODULE_4__","flexWrap","justifyContent","listStyle","padding","gatsby__WEBPACK_IMPORTED_MODULE_3__","to","fields","slug","rel","React","Component","pageQuery","__webpack_require__","r","__webpack_exports__","d","graphql","StaticQueryContext","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","_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","Error","propTypes","PropTypes","object","string","isRequired","func","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","boxShadow","googleFonts","typography","Typography","m","module","exports","require","default","ProdPageRenderer","_ref","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","json","shape","Layout","header","_this$props","textDecoration","color","fontFamily","marginLeft","marginRight","maxWidth","Date","getFullYear","href","SEO","lang","meta","keywords","react__WEBPACK_IMPORTED_MODULE_1___default","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","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","setState","_convertProps","className","_convertProps$style","_convertProps$imgStyl","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","Tag","bgColor","imagePlaceholderStyle","transition","imageStyle","placeholderImageProps","image","overflow","key","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-templates-blog-post-js-f44c2aa389fdcbadcb3e.js","sourcesContent":["import React from 'react'\nimport { Link, graphql } from 'gatsby'\n\nimport Bio from '../components/Bio'\nimport Layout from '../components/Layout'\nimport SEO from '../components/seo'\nimport { rhythm, scale } from '../utils/typography'\n\nclass BlogPostTemplate extends React.Component {\n render() {\n const post = this.props.data.markdownRemark\n const siteTitle = this.props.data.site.siteMetadata.title\n const { previous, next } = this.props.pageContext\n\n return (\n <Layout location={this.props.location} title={siteTitle}>\n <SEO title={post.frontmatter.title} description={post.excerpt} />\n <h1>{post.frontmatter.title}</h1>\n <p\n style={{\n ...scale(-1 / 5),\n display: `block`,\n marginBottom: rhythm(1),\n marginTop: rhythm(-1),\n }}\n >\n {post.frontmatter.date}\n </p>\n <div dangerouslySetInnerHTML={{ __html: post.html }} />\n <hr\n style={{\n marginBottom: rhythm(1),\n }}\n />\n <Bio />\n\n <ul\n style={{\n display: `flex`,\n flexWrap: `wrap`,\n justifyContent: `space-between`,\n listStyle: `none`,\n padding: 0,\n }}\n >\n <li>\n {previous && (\n <Link to={previous.fields.slug} rel=\"prev\">\n ← {previous.frontmatter.title}\n </Link>\n )}\n </li>\n <li>\n {next && (\n <Link to={next.fields.slug} rel=\"next\">\n {next.frontmatter.title} →\n </Link>\n )}\n </li>\n </ul>\n </Layout>\n )\n }\n}\n\nexport default BlogPostTemplate\n\nexport const pageQuery = graphql`\n query BlogPostBySlug($slug: String!) {\n site {\n siteMetadata {\n title\n author\n }\n }\n markdownRemark(fields: { slug: { eq: $slug } }) {\n id\n excerpt(pruneLength: 160)\n html\n frontmatter {\n title\n date(formatString: \"MMMM DD, YYYY\")\n }\n }\n }\n`\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\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}\n","import Typography from 'typography'\nimport Wordpress2016 from 'typography-theme-wordpress-2016'\n\nWordpress2016.overrideThemeStyles = () => {\n return {\n 'a.gatsby-resp-image-link': {\n boxShadow: `none`,\n },\n }\n}\n\ndelete Wordpress2016.googleFonts\n\nconst typography = new Typography(Wordpress2016)\n\n// Hot reload typography in development.\nif (process.env.NODE_ENV !== `production`) {\n typography.injectStyles()\n}\n\nexport default typography\nexport const rhythm = typography.rhythm\nexport const scale = typography.scale\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'\nimport { Link } from 'gatsby'\n\nimport { rhythm, scale } from '../utils/typography'\n\nclass Layout extends React.Component {\n render() {\n const { location, title, children } = this.props\n const rootPath = `${__PATH_PREFIX__}/`\n let header\n\n if (location.pathname === rootPath) {\n header = (\n <h1\n style={{\n ...scale(1.5),\n marginBottom: rhythm(1.5),\n marginTop: 0,\n }}\n >\n <Link\n style={{\n boxShadow: `none`,\n textDecoration: `none`,\n color: `inherit`,\n }}\n to={`/`}\n >\n {title}\n </Link>\n </h1>\n )\n } else {\n header = (\n <h3\n style={{\n fontFamily: `Montserrat, sans-serif`,\n marginTop: 0,\n }}\n >\n <Link\n style={{\n boxShadow: `none`,\n textDecoration: `none`,\n color: `inherit`,\n }}\n to={`/`}\n >\n {title}\n </Link>\n </h3>\n )\n }\n return (\n <div\n style={{\n marginLeft: `auto`,\n marginRight: `auto`,\n maxWidth: rhythm(24),\n padding: `${rhythm(1.5)} ${rhythm(3 / 4)}`,\n }}\n >\n {header}\n {children}\n <footer>\n © {new Date().getFullYear()}, Built with\n {` `}\n <a href=\"https://www.gatsbyjs.org\">Gatsby</a>\n </footer>\n </div>\n )\n }\n}\n\nexport default Layout\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport Helmet from 'react-helmet'\nimport { StaticQuery, graphql } from 'gatsby'\n\nfunction SEO({ description, lang, meta, keywords, title }) {\n return (\n <StaticQuery\n query={detailsQuery}\n render={data => {\n const metaDescription =\n description || data.site.siteMetadata.description\n return (\n <Helmet\n htmlAttributes={{\n lang,\n }}\n title={title}\n titleTemplate={`%s | ${data.site.siteMetadata.title}`}\n meta={[\n {\n name: `description`,\n content: metaDescription,\n },\n {\n property: `og:title`,\n content: title,\n },\n {\n property: `og:description`,\n content: metaDescription,\n },\n {\n property: `og:type`,\n content: `website`,\n },\n {\n name: `twitter:card`,\n content: `summary`,\n },\n {\n name: `twitter:creator`,\n content: data.site.siteMetadata.author,\n },\n {\n name: `twitter:title`,\n content: title,\n },\n {\n name: `twitter:description`,\n content: metaDescription,\n },\n ]\n .concat(\n keywords.length > 0\n ? {\n name: `keywords`,\n content: keywords.join(`, `),\n }\n : []\n )\n .concat(meta)}\n />\n )\n }}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n keywords: [],\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n\nconst detailsQuery = graphql`\n query DefaultSEOQuery {\n site {\n siteMetadata {\n title\n description\n author\n }\n }\n }\n`\n","import React from 'react'\nimport { StaticQuery, graphql } from 'gatsby'\nimport Image from 'gatsby-image'\n\nimport { rhythm } from '../utils/typography'\n\nfunction Bio() {\n return (\n <StaticQuery\n query={bioQuery}\n render={data => {\n const { author, social } = data.site.siteMetadata\n return (\n <div\n style={{\n display: `flex`,\n marginBottom: rhythm(2.5),\n }}\n >\n <Image\n fixed={data.avatar.childImageSharp.fixed}\n alt={author}\n style={{\n marginRight: rhythm(1 / 2),\n marginBottom: 0,\n minWidth: 50,\n borderRadius: `100%`,\n }}\n imgStyle={{\n borderRadius: `50%`,\n }}\n />\n <p>\n Written by <strong>{author}</strong> who lives and works in San\n Francisco building useful things.\n {` `}\n <a href={`https://twitter.com/${social.twitter}`}>\n You should follow him on Twitter\n </a>\n </p>\n </div>\n )\n }}\n />\n )\n}\n\nconst bioQuery = graphql`\n query BioQuery {\n avatar: file(absolutePath: { regex: \"/profile-pic.jpg/\" }) {\n childImageSharp {\n fixed(width: 50, height: 50) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n site {\n siteMetadata {\n author\n social {\n twitter\n }\n }\n }\n }\n`\n\nexport default Bio\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 if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: inImageCache(_this2.props)\n });\n }\n\n _this2.setState({\n isVisible: true,\n imgLoaded: false\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 this.props.onLoad && this.props.onLoad();\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\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 })), 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 })), 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};\nvar _default = Image;\nexports.default = _default;"],"sourceRoot":""}