-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomponent---src-templates-blog-post-js-3b7c53cc0e799724ee02.js.map
1 lines (1 loc) · 89.8 KB
/
component---src-templates-blog-post-js-3b7c53cc0e799724ee02.js.map
1
{"version":3,"sources":["webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/react-share/es/utils/assert.js","webpack:///./node_modules/react-share/es/utils/objectToGetParams.js","webpack:///./node_modules/react-share/es/ShareButton.js","webpack:///./node_modules/react-share/es/hocs/createShareButton.js","webpack:///./node_modules/react-share/es/FacebookShareButton.js","webpack:///./node_modules/react-share/es/hocs/createIcon.js","webpack:///./node_modules/react-share/es/FacebookIcon.js","webpack:///./node_modules/react-share/es/TwitterShareButton.js","webpack:///./node_modules/react-share/es/TwitterIcon.js","webpack:///./node_modules/react-share/es/LinkedinShareButton.js","webpack:///./node_modules/react-share/es/LinkedinIcon.js","webpack:///./node_modules/react-share/es/InstapaperShareButton.js","webpack:///./node_modules/react-share/es/InstapaperIcon.js","webpack:///./node_modules/react-share/es/WhatsappShareButton.js","webpack:///./node_modules/react-share/es/WhatsappIcon.js","webpack:///./node_modules/react-share/es/TelegramShareButton.js","webpack:///./node_modules/react-share/es/TelegramIcon.js","webpack:///./src/components/social.js","webpack:///./src/templates/blog-post.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","props","convertedProps","resolutions","sizes","critical","fixed","fluid","loading","groupByMedia","concat","matchesMedia","_ref","media","isBrowser","window","matchMedia","matches","getImageCacheKey","_ref2","srcData","getCurrentSrcData","src","currentData","Array","isArray","some","image","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","Object","create","inImageCache","cacheKey","hasNativeLazyLoadSupport","HTMLImageElement","prototype","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","srcSet","srcSetWebp","createElement","Fragment","key","type","withMedia","without","forEach","variant","push","generateTracedSVGSources","_ref4","tracedSVG","generateBase64Sources","_ref5","base64","generateNoscriptSource","_ref6","isWebp","listenToIntersections","el","cb","observer","entries","entry","has","target","get","isIntersecting","intersectionRatio","unobserve","delete","rootMargin","observe","set","noscriptImg","title","alt","width","height","crossOrigin","draggable","join","Placeholder","forwardRef","ref","generateSources","spreadProps","ariaHidden","baseImage","Img","length","style","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","isHydrated","imageRef","createRef","placeholderRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","setState","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","currentSrc","render","_convertProps","className","_convertProps$style","_convertProps$imgStyl","imgStyle","_convertProps$placeho","placeholderStyle","placeholderClassName","backgroundColor","durationFadeIn","Tag","itemProp","shouldReveal","shouldFadeIn","imageStyle","opacity","transition","bgColor","delayHideStyle","transitionDelay","imagePlaceholderStyle","placeholderImageProps","overflow","maxWidth","maxHeight","JSON","stringify","paddingBottom","aspectRatio","bottom","right","dangerouslySetInnerHTML","__html","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","requireFixedOrFluid","originalPropTypes","propName","componentName","_PropTypes$checkPropT","Error","checkPropTypes","oneOfType","arrayOf","bool","oneOf","_default","hasOwn","hasOwnProperty","classNames","classes","i","arguments","arg","argType","inner","apply","module","_extendStatics","__extends","d","b","setPrototypeOf","__proto__","p","__","constructor","AssertionError","_super","message","name","assert","value","objectToGetParams","params","filter","_a","encodeURIComponent","String","__assign","assign","t","s","n","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","isPromise","obj","getBoxPositionOnWindowCenter","outerWidth","screenX","screenLeft","outerHeight","screenY","screenTop","getBoxPositionOnScreenCenter","screen","windowOpen","url","onClose","configRest","config","location","toolbar","status","directories","menubar","scrollbars","resizable","centerscreen","chrome","shareDialog","open","keys","interval_1","setInterval","closed","clearInterval","console","error","ShareButton","openShareDialog","link","onShareWindowClose","_b","windowHeight","_c","windowPosition","_d","windowWidth","handleClick","event","beforeOnClick","disabled","networkLink","onClick","openShareDialogOnClick","opts","returnVal","preventDefault","children","disabledStyle","forwardedRef","networkName","resetButtonStyle","rest","newClassName","newStyle","border","padding","font","color","cursor","optsMap","CreatedButton","passedProps","displayName","quote","hashtag","u","createIcon","iconConfig","Icon","bgStyle","borderRadius","iconFillColor","round","size","viewBox","cx","cy","r","fill","rx","ry","path","via","hashtags","related","text","undefined","summary","source","mini","description","separator","test","navigator","userAgent","Social","shareUrl","href","class","BlogPostTemplate","post","data","markdownRemark","pageContext","sharetitle","previous","frontmatter","tags","x","split","toString","site","siteMetadata","keywords","cover","childImageSharp","ConvertDate","date","html","tag","to","React"],"mappings":"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","file":"component---src-templates-blog-post-js-3b7c53cc0e799724ee02.js","sourcesContent":["\"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 logDeprecationNotice(\"resolutions\", \"the gatsby-image v2 prop \\\"fixed\\\"\");\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n logDeprecationNotice(\"sizes\", \"the gatsby-image v2 prop \\\"fluid\\\"\");\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 * Checks if fluid or fixed are art-direction arrays.\n *\n * @param currentData {{media?: string}[]} The props to check for images.\n * @return {boolean}\n */\n\n\nvar hasArtDirectionSupport = function hasArtDirectionSupport(currentData) {\n return !!currentData && Array.isArray(currentData) && currentData.some(function (image) {\n return typeof image.media !== \"undefined\";\n });\n};\n/**\n * Tries to detect if a media query matches the current viewport.\n * @property media {{media?: string}} A media query string.\n * @return {boolean}\n */\n\n\nvar matchesMedia = function matchesMedia(_ref) {\n var media = _ref.media;\n return media ? isBrowser && !!window.matchMedia(media).matches : false;\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, media?: string}[], fixed: {src: string, media?: string}[]}} args\n * @return {string?} Returns image src or undefined it not given.\n */\n\n\nvar getImageCacheKey = function getImageCacheKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var srcData = getCurrentSrcData(fluid || fixed || []);\n return srcData && srcData.src;\n};\n/**\n * Returns the current src - Preferably with art-direction support.\n * @param currentData {{media?: string}[], maxWidth?: Number, maxHeight?: Number} The fluid or fixed image array.\n * @return {{src: string, media?: string, maxWidth?: Number, maxHeight?: Number}}\n */\n\n\nvar getCurrentSrcData = function getCurrentSrcData(currentData) {\n if (isBrowser && hasArtDirectionSupport(currentData)) {\n // Do we have an image for the current Viewport?\n var foundMedia = currentData.findIndex(matchesMedia);\n\n if (foundMedia !== -1) {\n return currentData[foundMedia];\n } // No media matches, select first element without a media condition\n\n\n var noMedia = currentData.findIndex(function (image) {\n return typeof image.media === \"undefined\";\n });\n\n if (noMedia !== -1) {\n return currentData[noMedia];\n }\n } // Else return the first image.\n\n\n return currentData[0];\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);\n var cacheKey = getImageCacheKey(convertedProps);\n return imageCache[cacheKey] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props);\n var cacheKey = getImageCacheKey(convertedProps);\n\n if (cacheKey) {\n imageCache[cacheKey] = true;\n }\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 (_ref3) {\n var src = _ref3.src,\n srcSet = _ref3.srcSet,\n srcSetWebp = _ref3.srcSetWebp,\n media = _ref3.media,\n sizes = _ref3.sizes;\n return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {\n key: src\n }, srcSetWebp && /*#__PURE__*/_react.default.createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), srcSet && /*#__PURE__*/_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 (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return /*#__PURE__*/_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 (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return /*#__PURE__*/_react.default.createElement(\"source\", {\n key: src,\n media: media,\n srcSet: base64\n });\n });\n}\n\nfunction generateNoscriptSource(_ref6, isWebp) {\n var srcSet = _ref6.srcSet,\n srcSetWebp = _ref6.srcSetWebp,\n media = _ref6.media,\n sizes = _ref6.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 \"<source \" + typeAttr + mediaAttr + \"srcset=\\\"\" + src + \"\\\" \" + sizesAttr + \"/>\";\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 \"<picture>\" + sources + \"<img \" + loading + width + height + sizes + srcSet + src + alt + title + crossOrigin + draggable + \"style=\\\"position:absolute;top:0;left:0;opacity:1;width:100%;height:100%;object-fit:cover;object-position:center\\\"/></picture>\";\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 = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {\n var src = props.src,\n imageVariants = props.imageVariants,\n generateSources = props.generateSources,\n spreadProps = props.spreadProps,\n ariaHidden = props.ariaHidden;\n\n var baseImage = /*#__PURE__*/_react.default.createElement(Img, (0, _extends2.default)({\n ref: ref,\n src: src\n }, spreadProps, {\n ariaHidden: ariaHidden\n }));\n\n return imageVariants.length > 1 ? /*#__PURE__*/_react.default.createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n});\n\nvar Img = /*#__PURE__*/_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 ariaHidden = props.ariaHidden,\n otherProps = (0, _objectWithoutPropertiesLoose2.default)(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\", \"ariaHidden\"]);\n return /*#__PURE__*/_react.default.createElement(\"img\", (0, _extends2.default)({\n \"aria-hidden\": ariaHidden,\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 = /*#__PURE__*/function (_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 isHydrated: false\n };\n _this.imageRef = /*#__PURE__*/_react.default.createRef();\n _this.placeholderRef = props.placeholderRef || /*#__PURE__*/_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 this.setState({\n isHydrated: isBrowser\n });\n\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 _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 // for lazyloaded components this might be null\n // TODO fix imgCached behaviour as it's now false when it's lazyloaded\n imgCached: !!(_this2.imageRef.current && _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 imageVariants = fluid || fixed; // Abort early if missing image data (#25371)\n\n if (!imageVariants) {\n return null;\n }\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 itemProp: itemProp\n }; // Initial client render state needs to match SSR until hydration finishes.\n // Once hydration completes, render again to update to the correct image.\n // `imageVariants` is always an Array type at this point due to `convertProps()`\n\n var image = !this.state.isHydrated ? imageVariants[0] : getCurrentSrcData(imageVariants);\n\n if (fluid) {\n return /*#__PURE__*/_react.default.createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2.default)({\n position: \"relative\",\n overflow: \"hidden\",\n maxWidth: image.maxWidth ? image.maxWidth + \"px\" : null,\n maxHeight: image.maxHeight ? image.maxHeight + \"px\" : null\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\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 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_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 && /*#__PURE__*/_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 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 /*#__PURE__*/_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 && /*#__PURE__*/_react.default.createElement(Tag, {\n \"aria-hidden\": true,\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 && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && /*#__PURE__*/_react.default.createElement(Placeholder, {\n ariaHidden: true,\n ref: this.placeholderRef,\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && /*#__PURE__*/_react.default.createElement(\"picture\", null, generateImageSources(imageVariants), /*#__PURE__*/_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 && /*#__PURE__*/_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 maxWidth: _propTypes.default.number,\n maxHeight: _propTypes.default.number\n});\n\nfunction requireFixedOrFluid(originalPropTypes) {\n return function (props, propName, componentName) {\n var _PropTypes$checkPropT;\n\n if (!props.fixed && !props.fluid) {\n throw new Error(\"The prop `fluid` or `fixed` is marked as required in `\" + componentName + \"`, but their values are both `undefined`.\");\n }\n\n _propTypes.default.checkPropTypes((_PropTypes$checkPropT = {}, _PropTypes$checkPropT[propName] = originalPropTypes, _PropTypes$checkPropT), props, \"prop\", componentName);\n };\n} // If you modify these propTypes, please don't forget to update following files as well:\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/index.d.ts\n// https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-image/README.md#gatsby-image-props\n// https://github.com/gatsbyjs/gatsby/blob/master/docs/docs/gatsby-image.md#gatsby-image-props\n\n\nImage.propTypes = {\n resolutions: fixedObject,\n sizes: fluidObject,\n fixed: requireFixedOrFluid(_propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)])),\n fluid: requireFixedOrFluid(_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;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar AssertionError =\n/** @class */\nfunction (_super) {\n __extends(AssertionError, _super);\n\n function AssertionError(message) {\n var _this = _super.call(this, message) || this;\n\n _this.name = 'AssertionError';\n return _this;\n }\n\n return AssertionError;\n}(Error);\n\nexport default function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n}","export default function objectToGetParams(object) {\n var params = Object.entries(object).filter(function (_a) {\n var value = _a[1];\n return value !== undefined && value !== null;\n }).map(function (_a) {\n var key = _a[0],\n value = _a[1];\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(String(value));\n });\n return params.length > 0 ? \"?\" + params.join('&') : '';\n}","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nvar isPromise = function isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n};\n\nvar getBoxPositionOnWindowCenter = function getBoxPositionOnWindowCenter(width, height) {\n return {\n left: window.outerWidth / 2 + (window.screenX || window.screenLeft || 0) - width / 2,\n top: window.outerHeight / 2 + (window.screenY || window.screenTop || 0) - height / 2\n };\n};\n\nvar getBoxPositionOnScreenCenter = function getBoxPositionOnScreenCenter(width, height) {\n return {\n top: (window.screen.height - height) / 2,\n left: (window.screen.width - width) / 2\n };\n};\n\nfunction windowOpen(url, _a, onClose) {\n var height = _a.height,\n width = _a.width,\n configRest = __rest(_a, [\"height\", \"width\"]);\n\n var config = __assign({\n height: height,\n width: width,\n location: 'no',\n toolbar: 'no',\n status: 'no',\n directories: 'no',\n menubar: 'no',\n scrollbars: 'yes',\n resizable: 'no',\n centerscreen: 'yes',\n chrome: 'yes'\n }, configRest);\n\n var shareDialog = window.open(url, '', Object.keys(config).map(function (key) {\n return key + \"=\" + config[key];\n }).join(', '));\n\n if (onClose) {\n var interval_1 = window.setInterval(function () {\n try {\n if (shareDialog === null || shareDialog.closed) {\n window.clearInterval(interval_1);\n onClose(shareDialog);\n }\n } catch (e) {\n /* eslint-disable no-console */\n console.error(e);\n /* eslint-enable no-console */\n }\n }, 1000);\n }\n\n return shareDialog;\n}\n\nvar ShareButton =\n/** @class */\nfunction (_super) {\n __extends(ShareButton, _super);\n\n function ShareButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.openShareDialog = function (link) {\n var _a = _this.props,\n onShareWindowClose = _a.onShareWindowClose,\n _b = _a.windowHeight,\n windowHeight = _b === void 0 ? 400 : _b,\n _c = _a.windowPosition,\n windowPosition = _c === void 0 ? 'windowCenter' : _c,\n _d = _a.windowWidth,\n windowWidth = _d === void 0 ? 550 : _d;\n\n var windowConfig = __assign({\n height: windowHeight,\n width: windowWidth\n }, windowPosition === 'windowCenter' ? getBoxPositionOnWindowCenter(windowWidth, windowHeight) : getBoxPositionOnScreenCenter(windowWidth, windowHeight));\n\n windowOpen(link, windowConfig, onShareWindowClose);\n };\n\n _this.handleClick = function (event) {\n return __awaiter(_this, void 0, void 0, function () {\n var _a, beforeOnClick, disabled, networkLink, onClick, url, openShareDialogOnClick, opts, link, returnVal;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.props, beforeOnClick = _a.beforeOnClick, disabled = _a.disabled, networkLink = _a.networkLink, onClick = _a.onClick, url = _a.url, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts;\n link = networkLink(url, opts);\n\n if (disabled) {\n return [2\n /*return*/\n ];\n }\n\n event.preventDefault();\n if (!beforeOnClick) return [3\n /*break*/\n , 2];\n returnVal = beforeOnClick();\n if (!isPromise(returnVal)) return [3\n /*break*/\n , 2];\n return [4\n /*yield*/\n , returnVal];\n\n case 1:\n _b.sent();\n\n _b.label = 2;\n\n case 2:\n if (openShareDialogOnClick) {\n this.openShareDialog(link);\n }\n\n if (onClick) {\n onClick(event, link);\n }\n\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n return _this;\n }\n\n ShareButton.prototype.render = function () {\n var _a = this.props,\n beforeOnClick = _a.beforeOnClick,\n children = _a.children,\n className = _a.className,\n disabled = _a.disabled,\n disabledStyle = _a.disabledStyle,\n forwardedRef = _a.forwardedRef,\n networkLink = _a.networkLink,\n networkName = _a.networkName,\n onShareWindowClose = _a.onShareWindowClose,\n openShareDialogOnClick = _a.openShareDialogOnClick,\n opts = _a.opts,\n resetButtonStyle = _a.resetButtonStyle,\n style = _a.style,\n url = _a.url,\n windowHeight = _a.windowHeight,\n windowPosition = _a.windowPosition,\n windowWidth = _a.windowWidth,\n rest = __rest(_a, [\"beforeOnClick\", \"children\", \"className\", \"disabled\", \"disabledStyle\", \"forwardedRef\", \"networkLink\", \"networkName\", \"onShareWindowClose\", \"openShareDialogOnClick\", \"opts\", \"resetButtonStyle\", \"style\", \"url\", \"windowHeight\", \"windowPosition\", \"windowWidth\"]);\n\n var newClassName = cx('react-share__ShareButton', {\n 'react-share__ShareButton--disabled': !!disabled,\n disabled: !!disabled\n }, className);\n var newStyle = resetButtonStyle ? __assign(__assign({\n backgroundColor: 'transparent',\n border: 'none',\n padding: 0,\n font: 'inherit',\n color: 'inherit',\n cursor: 'pointer'\n }, style), disabled && disabledStyle) : __assign(__assign({}, style), disabled && disabledStyle);\n return React.createElement(\"button\", __assign({}, rest, {\n \"aria-label\": rest['aria-label'] || networkName,\n className: newClassName,\n onClick: this.handleClick,\n ref: forwardedRef,\n style: newStyle\n }), children);\n };\n\n ShareButton.defaultProps = {\n disabledStyle: {\n opacity: 0.6\n },\n openShareDialogOnClick: true,\n resetButtonStyle: true\n };\n return ShareButton;\n}(Component);\n\nexport default ShareButton;","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport React, { forwardRef } from 'react';\nimport ShareButton from '../ShareButton';\n\nfunction createShareButton(networkName, link, optsMap, defaultProps) {\n function CreatedButton(props, ref) {\n var opts = optsMap(props);\n\n var passedProps = __assign({}, props); // remove keys from passed props that are passed as opts\n\n\n var optsKeys = Object.keys(opts);\n optsKeys.forEach(function (key) {\n delete passedProps[key];\n });\n return React.createElement(ShareButton, __assign({}, defaultProps, passedProps, {\n forwardedRef: ref,\n networkName: networkName,\n networkLink: link,\n opts: optsMap(props)\n }));\n }\n\n CreatedButton.displayName = \"ShareButton-\" + networkName;\n return forwardRef(CreatedButton);\n}\n\nexport default createShareButton;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction facebookLink(url, _a) {\n var quote = _a.quote,\n hashtag = _a.hashtag;\n assert(url, 'facebook.url');\n return 'https://www.facebook.com/sharer/sharer.php' + objectToGetParams({\n u: url,\n quote: quote,\n hashtag: hashtag\n });\n}\n\nvar FacebookShareButton = createShareButton('facebook', facebookLink, function (props) {\n return {\n quote: props.quote,\n hashtag: props.hashtag\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default FacebookShareButton;","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nexport default function createIcon(iconConfig) {\n var Icon = function Icon(_a) {\n var bgStyle = _a.bgStyle,\n borderRadius = _a.borderRadius,\n iconFillColor = _a.iconFillColor,\n round = _a.round,\n size = _a.size,\n rest = __rest(_a, [\"bgStyle\", \"borderRadius\", \"iconFillColor\", \"round\", \"size\"]);\n\n return React.createElement(\"svg\", __assign({\n viewBox: \"0 0 64 64\",\n width: size,\n height: size\n }, rest), round ? React.createElement(\"circle\", {\n cx: \"32\",\n cy: \"32\",\n r: \"31\",\n fill: iconConfig.color,\n style: bgStyle\n }) : React.createElement(\"rect\", {\n width: \"64\",\n height: \"64\",\n rx: borderRadius,\n ry: borderRadius,\n fill: iconConfig.color,\n style: bgStyle\n }), React.createElement(\"path\", {\n d: iconConfig.path,\n fill: iconFillColor\n }));\n };\n\n Icon.defaultProps = {\n bgStyle: {},\n borderRadius: 0,\n iconFillColor: 'white',\n size: 64\n };\n return Icon;\n}","import createIcon from './hocs/createIcon';\nvar FacebookIcon = createIcon({\n color: '#3b5998',\n networkName: 'facebook',\n path: 'M34.1,47V33.3h4.6l0.7-5.3h-5.3v-3.4c0-1.5,0.4-2.6,2.6-2.6l2.8,0v-4.8c-0.5-0.1-2.2-0.2-4.1-0.2 c-4.1,0-6.9,2.5-6.9,7V28H24v5.3h4.6V47H34.1z'\n});\nexport default FacebookIcon;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction twitterLink(url, _a) {\n var title = _a.title,\n via = _a.via,\n _b = _a.hashtags,\n hashtags = _b === void 0 ? [] : _b,\n _c = _a.related,\n related = _c === void 0 ? [] : _c;\n assert(url, 'twitter.url');\n assert(Array.isArray(hashtags), 'twitter.hashtags is not an array');\n assert(Array.isArray(related), 'twitter.related is not an array');\n return 'https://twitter.com/share' + objectToGetParams({\n url: url,\n text: title,\n via: via,\n hashtags: hashtags.length > 0 ? hashtags.join(',') : undefined,\n related: related.length > 0 ? related.join(',') : undefined\n });\n}\n\nvar TwitterShareButton = createShareButton('twitter', twitterLink, function (props) {\n return {\n hashtags: props.hashtags,\n title: props.title,\n via: props.via,\n related: props.related\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default TwitterShareButton;","import createIcon from './hocs/createIcon';\nvar TwitterIcon = createIcon({\n color: '#00aced',\n networkName: 'twitter',\n path: 'M48,22.1c-1.2,0.5-2.4,0.9-3.8,1c1.4-0.8,2.4-2.1,2.9-3.6c-1.3,0.8-2.7,1.3-4.2,1.6 C41.7,19.8,40,19,38.2,19c-3.6,0-6.6,2.9-6.6,6.6c0,0.5,0.1,1,0.2,1.5c-5.5-0.3-10.3-2.9-13.5-6.9c-0.6,1-0.9,2.1-0.9,3.3 c0,2.3,1.2,4.3,2.9,5.5c-1.1,0-2.1-0.3-3-0.8c0,0,0,0.1,0,0.1c0,3.2,2.3,5.8,5.3,6.4c-0.6,0.1-1.1,0.2-1.7,0.2c-0.4,0-0.8,0-1.2-0.1 c0.8,2.6,3.3,4.5,6.1,4.6c-2.2,1.8-5.1,2.8-8.2,2.8c-0.5,0-1.1,0-1.6-0.1c2.9,1.9,6.4,2.9,10.1,2.9c12.1,0,18.7-10,18.7-18.7 c0-0.3,0-0.6,0-0.8C46,24.5,47.1,23.4,48,22.1z'\n});\nexport default TwitterIcon;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction linkedinLink(url, _a) {\n var title = _a.title,\n summary = _a.summary,\n source = _a.source;\n assert(url, 'linkedin.url');\n return 'https://linkedin.com/shareArticle' + objectToGetParams({\n url: url,\n mini: 'true',\n title: title,\n summary: summary,\n source: source\n });\n}\n\nvar LinkedinShareButton = createShareButton('linkedin', linkedinLink, function (_a) {\n var title = _a.title,\n summary = _a.summary,\n source = _a.source;\n return {\n title: title,\n summary: summary,\n source: source\n };\n}, {\n windowWidth: 750,\n windowHeight: 600\n});\nexport default LinkedinShareButton;","import createIcon from './hocs/createIcon';\nvar LinkedinIcon = createIcon({\n color: '#007fb1',\n networkName: 'linkedin',\n path: 'M20.4,44h5.4V26.6h-5.4V44z M23.1,18c-1.7,0-3.1,1.4-3.1,3.1c0,1.7,1.4,3.1,3.1,3.1 c1.7,0,3.1-1.4,3.1-3.1C26.2,19.4,24.8,18,23.1,18z M39.5,26.2c-2.6,0-4.4,1.4-5.1,2.8h-0.1v-2.4h-5.2V44h5.4v-8.6 c0-2.3,0.4-4.5,3.2-4.5c2.8,0,2.8,2.6,2.8,4.6V44H46v-9.5C46,29.8,45,26.2,39.5,26.2z'\n});\nexport default LinkedinIcon;","import assert from './utils/assert';\nimport createShareButton from './hocs/createShareButton';\nimport objectToGetParams from './utils/objectToGetParams';\n\nfunction instapaperLink(url, _a) {\n var title = _a.title,\n description = _a.description;\n assert(url, 'instapaper.url');\n return 'http://www.instapaper.com/hello2' + objectToGetParams({\n url: url,\n title: title,\n description: description\n });\n}\n\nvar InstapaperShareButton = createShareButton('instapaper', instapaperLink, function (props) {\n return {\n title: props.title,\n description: props.description\n };\n}, {\n windowWidth: 500,\n windowHeight: 500,\n windowPosition: 'windowCenter'\n});\nexport default InstapaperShareButton;","import createIcon from './hocs/createIcon';\nvar InstapaperIcon = createIcon({\n color: '#1F1F1F',\n networkName: 'instapaper',\n path: 'M35.688 43.012c0 2.425.361 2.785 3.912 3.056V48H24.401v-1.932c3.555-.27 3.912-.63 3.912-3.056V20.944c0-2.379-.36-2.785-3.912-3.056V16H39.6v1.888c-3.55.27-3.912.675-3.912 3.056v22.068h.001z'\n});\nexport default InstapaperIcon;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction isMobileOrTablet() {\n return /(android|iphone|ipad|mobile)/i.test(navigator.userAgent);\n}\n\nfunction whatsappLink(url, _a) {\n var title = _a.title,\n separator = _a.separator;\n assert(url, 'whatsapp.url');\n return 'https://' + (isMobileOrTablet() ? 'api' : 'web') + '.whatsapp.com/send' + objectToGetParams({\n text: title ? title + separator + url : url\n });\n}\n\nvar WhatsappShareButton = createShareButton('whatsapp', whatsappLink, function (props) {\n return {\n title: props.title,\n separator: props.separator || ' '\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default WhatsappShareButton;","import createIcon from './hocs/createIcon';\nvar WhatsappIcon = createIcon({\n color: '#25D366',\n networkName: 'whatsapp',\n path: 'm42.32286,33.93287c-0.5178,-0.2589 -3.04726,-1.49644 -3.52105,-1.66732c-0.4712,-0.17346 -0.81554,-0.2589 -1.15987,0.2589c-0.34175,0.51004 -1.33075,1.66474 -1.63108,2.00648c-0.30032,0.33658 -0.60064,0.36247 -1.11327,0.12945c-0.5178,-0.2589 -2.17994,-0.80259 -4.14759,-2.56312c-1.53269,-1.37217 -2.56312,-3.05503 -2.86603,-3.57283c-0.30033,-0.5178 -0.03366,-0.80259 0.22524,-1.06149c0.23301,-0.23301 0.5178,-0.59547 0.7767,-0.90616c0.25372,-0.31068 0.33657,-0.5178 0.51262,-0.85437c0.17088,-0.36246 0.08544,-0.64725 -0.04402,-0.90615c-0.12945,-0.2589 -1.15987,-2.79613 -1.58964,-3.80584c-0.41424,-1.00971 -0.84142,-0.88027 -1.15987,-0.88027c-0.29773,-0.02588 -0.64208,-0.02588 -0.98382,-0.02588c-0.34693,0 -0.90616,0.12945 -1.37736,0.62136c-0.4712,0.5178 -1.80194,1.76053 -1.80194,4.27186c0,2.51134 1.84596,4.945 2.10227,5.30747c0.2589,0.33657 3.63497,5.51458 8.80262,7.74113c1.23237,0.5178 2.1903,0.82848 2.94111,1.08738c1.23237,0.38836 2.35599,0.33657 3.24402,0.20712c0.99159,-0.15534 3.04985,-1.24272 3.47963,-2.45956c0.44013,-1.21683 0.44013,-2.22654 0.31068,-2.45955c-0.12945,-0.23301 -0.46601,-0.36247 -0.98382,-0.59548m-9.40068,12.84407l-0.02589,0c-3.05503,0 -6.08417,-0.82849 -8.72495,-2.38189l-0.62136,-0.37023l-6.47252,1.68286l1.73463,-6.29129l-0.41424,-0.64725c-1.70875,-2.71846 -2.6149,-5.85116 -2.6149,-9.07706c0,-9.39809 7.68934,-17.06155 17.15993,-17.06155c4.58253,0 8.88029,1.78642 12.11655,5.02268c3.23625,3.21036 5.02267,7.50812 5.02267,12.06476c-0.0078,9.3981 -7.69712,17.06155 -17.14699,17.06155m14.58906,-31.58846c-3.93529,-3.80584 -9.1133,-5.95471 -14.62789,-5.95471c-11.36055,0 -20.60848,9.2065 -20.61625,20.52564c0,3.61684 0.94757,7.14565 2.75211,10.26282l-2.92557,10.63564l10.93337,-2.85309c3.0136,1.63108 6.4052,2.4958 9.85634,2.49839l0.01037,0c11.36574,0 20.61884,-9.2091 20.62403,-20.53082c0,-5.48093 -2.14111,-10.64081 -6.03239,-14.51915'\n});\nexport default WhatsappIcon;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction telegramLink(url, _a) {\n var title = _a.title;\n assert(url, 'telegram.url');\n return 'https://telegram.me/share/' + objectToGetParams({\n url: url,\n text: title\n });\n}\n\nvar TelegramShareButton = createShareButton('telegram', telegramLink, function (props) {\n return {\n title: props.title\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default TelegramShareButton;","import createIcon from './hocs/createIcon';\nvar TelegramIcon = createIcon({\n color: '#37aee2',\n networkName: 'telegram',\n path: 'm45.90873,15.44335c-0.6901,-0.0281 -1.37668,0.14048 -1.96142,0.41265c-0.84989,0.32661 -8.63939,3.33986 -16.5237,6.39174c-3.9685,1.53296 -7.93349,3.06593 -10.98537,4.24067c-3.05012,1.1765 -5.34694,2.05098 -5.4681,2.09312c-0.80775,0.28096 -1.89996,0.63566 -2.82712,1.72788c-0.23354,0.27218 -0.46884,0.62161 -0.58825,1.10275c-0.11941,0.48114 -0.06673,1.09222 0.16682,1.5716c0.46533,0.96052 1.25376,1.35737 2.18443,1.71383c3.09051,0.99037 6.28638,1.93508 8.93263,2.8236c0.97632,3.44171 1.91401,6.89571 2.84116,10.34268c0.30554,0.69185 0.97105,0.94823 1.65764,0.95525l-0.00351,0.03512c0,0 0.53908,0.05268 1.06412,-0.07375c0.52679,-0.12292 1.18879,-0.42846 1.79109,-0.99212c0.662,-0.62161 2.45836,-2.38812 3.47683,-3.38552l7.6736,5.66477l0.06146,0.03512c0,0 0.84989,0.59703 2.09312,0.68132c0.62161,0.04214 1.4399,-0.07726 2.14229,-0.59176c0.70766,-0.51626 1.1765,-1.34683 1.396,-2.29506c0.65673,-2.86224 5.00979,-23.57745 5.75257,-27.00686l-0.02107,0.08077c0.51977,-1.93157 0.32837,-3.70159 -0.87096,-4.74991c-0.60054,-0.52152 -1.2924,-0.7498 -1.98425,-0.77965l0,0.00176zm-0.2072,3.29069c0.04741,0.0439 0.0439,0.0439 0.00351,0.04741c-0.01229,-0.00351 0.14048,0.2072 -0.15804,1.32576l-0.01229,0.04214l-0.00878,0.03863c-0.75858,3.50668 -5.15554,24.40802 -5.74203,26.96472c-0.08077,0.34417 -0.11414,0.31959 -0.09482,0.29852c-0.1756,-0.02634 -0.50045,-0.16506 -0.52679,-0.1756l-13.13468,-9.70175c4.4988,-4.33199 9.09945,-8.25307 13.744,-12.43229c0.8218,-0.41265 0.68483,-1.68573 -0.29852,-1.70681c-1.04305,0.24584 -1.92279,0.99564 -2.8798,1.47502c-5.49971,3.2626 -11.11882,6.13186 -16.55882,9.49279c-2.792,-0.97105 -5.57873,-1.77704 -8.15298,-2.57601c2.2336,-0.89555 4.00889,-1.55579 5.75608,-2.23009c3.05188,-1.1765 7.01687,-2.7042 10.98537,-4.24067c7.94051,-3.06944 15.92667,-6.16346 16.62028,-6.43037l0.05619,-0.02283l0.05268,-0.02283c0.19316,-0.0878 0.30378,-0.09658 0.35471,-0.10009c0,0 -0.01756,-0.05795 -0.00351,-0.04566l-0.00176,0zm-20.91715,22.0638l2.16687,1.60145c-0.93418,0.91311 -1.81743,1.77353 -2.45485,2.38812l0.28798,-3.98957'\n});\nexport default TelegramIcon;","import React from 'react';\nimport {\n FacebookShareButton,\n LinkedinShareButton,\n TwitterShareButton,\n TelegramShareButton,\n WhatsappShareButton,\n InstapaperShareButton,\n FacebookIcon,\n TwitterIcon,\n LinkedinIcon,\n TelegramIcon,\n WhatsappIcon,\n InstapaperIcon,\n} from \"react-share\";\n\nconst Social = ({ title }) => {\n const shareUrl = typeof window !== 'undefined' ? window.location.href : '';\n return (\n <div class=\"socialButtons\">\n <FacebookShareButton url={shareUrl} title={title}>\n <FacebookIcon round=\"true\" size=\"32\" />\n </FacebookShareButton>\n <TwitterShareButton url={shareUrl} title={title}>\n <TwitterIcon round=\"true\" size=\"32\" />\n </TwitterShareButton>\n <LinkedinShareButton url={shareUrl} title={title}>\n <LinkedinIcon round=\"true\" size=\"32\" />\n </LinkedinShareButton>\n <InstapaperShareButton url={shareUrl} title={title}>\n <InstapaperIcon round=\"true\" size=\"32\" />\n </InstapaperShareButton>\n <WhatsappShareButton url={shareUrl} title={title}>\n <WhatsappIcon round=\"true\" size=\"32\" />\n </WhatsappShareButton>\n <TelegramShareButton url={shareUrl} title={title}>\n <TelegramIcon round=\"true\" size=\"32\" />\n </TelegramShareButton>\n </div>\n );\n}\n\nexport default Social;\n\n\n","import React from 'react'\nimport { Link, graphql } from 'gatsby'\nimport { kebabCase } from 'lodash';\nimport Img from 'gatsby-image'\n\nimport DefaultLayout, { ConvertDate } from '../components/layout'\nimport SEO from '../components/seo'\nimport Bio from '../components/bio'\n\nimport Social from '../components/social'\n\nclass BlogPostTemplate extends React.Component {\n render() {\n const post = this.props.data.markdownRemark\n const { previous, next } = this.props.pageContext\n const sharetitle = post.frontmatter.title + (post.frontmatter.tags.map((x) => {return \" #\" + x.split(' ').join('') })).toString().split(',').join('')\n const siteMetadata = this.props.data.site.siteMetadata\n\n return (\n <DefaultLayout>\n <SEO title={post.frontmatter.title} description={post.frontmatter.description} keywords={[post.frontmatter.tags]} cover={[post.frontmatter.img.childImageSharp.fluid.src]} />\n <article className=\"article-page\">\n <div className=\"page-content\">\n {post.frontmatter.img && (\n <div className=\"page-cover-image\">\n <figure>\n <Img\n className=\"page-image\"\n key={post.frontmatter.img.childImageSharp.fluid.src}\n fluid={post.frontmatter.img.childImageSharp.fluid}\n />\n </figure>\n </div>\n )}\n <div className=\"wrap-content\">\n <header className=\"header-page\">\n <h1 className=\"page-title\">{post.frontmatter.title}</h1>\n <div className=\"page-date\">\n <span>\n {\n ConvertDate(post.frontmatter.date)\n }\n </span>\n </div>\n <Social title={sharetitle} />\n </header>\n <div dangerouslySetInnerHTML={{ __html: post.html }} />\n <div className=\"page-footer\">\n <div className=\"page-tag\">\n {post.frontmatter.tags &&\n post.frontmatter.tags.map(tag => (\n <span key={tag}>\n <Link className=\"tag\" to={`/tags/${kebabCase(tag)}/`}>#{tag}</Link>\n </span>\n ))}\n </div>\n </div>\n {/* <Bio siteMetadata={siteMetadata} showContent={false} /> */}\n <Social title={sharetitle} />\n </div>\n </div>\n </article>\n </DefaultLayout>\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 siteUrl\n description\n social {\n twitter\n facebook\n linkedin\n github\n email\n rss\n }\n }\n }\n markdownRemark(fields: { slug: { eq: $slug } }) {\n id\n excerpt(pruneLength: 160)\n html\n frontmatter {\n title\n date(formatString: \"YYYY, MMM DD\")\n description\n tags\n img {\n childImageSharp {\n fluid(maxWidth: 1940, quality: 90) {\n aspectRatio\n base64\n sizes\n src\n srcSet\n }\n }\n }\n }\n }\n }\n`\n"],"sourceRoot":""}