{"version":3,"sources":["webpack:///./src/components/Bio.js","webpack:///./src/templates/blog-post.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./.cache/public-page-renderer.js","webpack:///./src/utils/typography.js","webpack:///./.cache/public-page-renderer-prod.js","webpack:///./src/components/Layout.js","webpack:///./src/components/seo.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_default","a","createElement","Layout","location","seo","frontmatter","description","excerpt","dangerouslySetInnerHTML","__html","html","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","m","module","exports","require","default","rhythm","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","scale","ProdPageRenderer","_ref","pageResources","loader","getResourcesForPathnameSync","pathname","InternalPageRenderer","Object","assign","json","shape","_this$props","react__WEBPACK_IMPORTED_MODULE_1___default","style","marginLeft","marginRight","maxWidth","padding","SEO","lang","meta","keywords","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","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","fixed","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","alt","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","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","Tag","itemProp","bgColor","imagePlaceholderStyle","transition","imageStyle","placeholderImageProps","image","overflow","key","JSON","stringify","paddingBottom","aspectRatio","base64","tracedSVG","bottom","right","type","_image","divStyle","display","fixedObject","number","srcWebp","fluidObject","bool","oneOfType","_default"],"mappings":"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","file":"component---src-templates-blog-post-js-ad8d62678b7707e55e70.js","sourcesContent":["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 {\n const { author, social } = data.site.siteMetadata\n return (\n \n \n

\n Written by {author} who lives and works in San\n Francisco building useful things.\n {` `}\n \n You should follow him on Twitter\n \n

\n \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","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 \n \n {/*\n

{post.frontmatter.title}

\n \n {post.frontmatter.date}\n

\n */}\n
\n \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(frontmatter: { 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 \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\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","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 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","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\n return (\n \n
{children}
\n
\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 {\n const metaDescription =\n description || data.site.siteMetadata.description\n return (\n 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","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","\"use strict\";\n\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 ? \"\" : \"\";\n var 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 + srcSet + \"\";\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":""}