{"version":3,"sources":["webpack:///./src/pages/services/app-startups.js","webpack:///./src/components/MarTech.js","webpack:///./node_modules/gatsby-image/index.js"],"names":["__webpack_require__","r","__webpack_exports__","d","fluidImage","query","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","_reach_router__WEBPACK_IMPORTED_MODULE_1__","gatsby_image__WEBPACK_IMPORTED_MODULE_2__","gatsby_image__WEBPACK_IMPORTED_MODULE_2___default","_components_layout__WEBPACK_IMPORTED_MODULE_3__","_components_seo__WEBPACK_IMPORTED_MODULE_4__","_components_MarTech__WEBPACK_IMPORTED_MODULE_5__","_components_img_with_overlay__WEBPACK_IMPORTED_MODULE_6__","Startups","props","startupCafe","data","a","createElement","_ref","location","title","pathname","keywords","filename","height","backgroundColor","backgroundPosition","className","alt","fluid","childImageSharp","href","target","rel","style","listStyleType","listStylePosition","react_helmet__WEBPACK_IMPORTED_MODULE_1__","react_helmet__WEBPACK_IMPORTED_MODULE_1___default","MarTech","facebook","google","async","src","defaultProps","_interopRequireDefault","require","exports","__esModule","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","convertedProps","resolutions","sizes","critical","fixed","loading","groupByMedia","concat","getImageSrcKey","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","get","isIntersecting","intersectionRatio","unobserve","rootMargin","observe","set","noscriptImg","width","crossOrigin","draggable","join","Placeholder","_ref6","generateSources","spreadProps","baseImage","Img","length","forwardRef","ref","onLoad","onError","otherProps","position","top","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","this","seenBefore","isCritical","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","render","_convertProps","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","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","display","Component","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","oneOfType","arrayOf","bool","oneOf","_default"],"mappings":"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","file":"component---src-pages-services-app-startups-js-6a7703d8104898dadbf3.js","sourcesContent":["import React from \"react\";\nimport { Location } from \"@reach/router\";\nimport { graphql } from \"gatsby\"\nimport Img from \"gatsby-image\"\n\nimport Layout from \"../../components/layout\";\nimport SEO from \"../../components/seo\";\nimport MarTech from \"../../components/MarTech\";\nimport ImgWithOverlay from \"../../components/img-with-overlay\";\n\nfunction Startups(props) {\n const {\n startupCafe\n } = props.data\n\n return (\n \n \n {({ location }) => (\n \n )}\n \n\n \n\n \n
\n

\n For App Startups\n

\n

\n Gortek is the software development company for startup founders\n

\n
\n \n\n
\n
\n
\n \n
\n
\n

You've got an app idea

\n

\n Gortek is different than most software development firms.\n

\n

\n You may be surprised to learn that we actually don't want\n to develop your software. At least not until we've achieved what's\n known as \"Product - Market Fit\" with the idea first.\n

\n\n

Testing and Validation

\n\n

\n If you're not familiar with the{\" \"}\n \n Lean Startup\n {\" \"}\n approach to launch a business, the premise is that everything is\n an unknown.\n

\n

\n Your product, your target market, and your unique angle. —\n All unknown quantities that must be tested and proven to work in\n your business context.\n

\n

\n Because of this, you need to validate each of them. If any part of\n your business approach doesn't work you want to find out as soon\n as possible and change course.\n

\n\n

Customer Development

\n\n

\n If you're developing an MVP for your startup, or a new product for\n your business, Gortek will work with you to crystalize your app\n idea and test it with your target market. We want to do this{\" \"}\n before charging down the path software development.\n

\n

\n This process of testing the business concept to ensure people want\n to buy what you are building before you build it is often called\n \"Customer Development\".\n

\n\n

A Little Help?

\n\n

\n If you're ready to talk through your idea, drop us a line to set\n up a call.\n {/* —{\" \"} hello@gortek.com. */}\n

\n
\n
\n
\n

\n \n Say hello@gortek.com.\n \n

\n

\n Copy & paste this into your email, along with your brief answers.\n

\n \n
  • \n Tell us about you (including your business ownership experience)\n
  • \n
  • Tell us about the project...
  • \n
  • How far have you progressed with this project?
  • \n
  • Have you already tried developing this app before?
  • \n
  • What is your time frame?
  • \n
  • What is your budget?
  • \n \n
    \n
    \n\n {/*
    */}\n {/* */}\n {/*

    */}\n {/* Check out our recommended reading list for startups */}\n {/*

    */}\n {/* */}\n {/*
    */}\n\n
    \n \n );\n}\n\nexport default Startups;\n\nexport const fluidImage = graphql`\n fragment fluidImage on File {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n`;\n\nexport const query = graphql`\n query {\n startupCafe: file(relativePath: { eq: \"startup.jpg\" }) {\n ...fluidImage\n }\n }\n`\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport Helmet from \"react-helmet\"\n\nfunction MarTech(props) {\n const {\n facebook,\n google\n } = props\n\n return (\n \n {google ? (\n \n ) : null}\n\n {google ? (\n \n ) : null}\n\n {facebook ? (\n \n ) : null}\n\n {facebook ? (\n \n ) : null}\n\n \n );\n}\n\nMarTech.defaultProps = {\n facebook: true,\n google: true\n}\nMarTech.propTypes = {\n facebook: PropTypes.bool,\n google: PropTypes.bool,\n};\n\nexport default MarTech;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2[\"default\"])({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n 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 [].concat(withMedia, 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.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn\n };\n _this.imageRef = _react[\"default\"].createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n 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":""}