{"version":3,"sources":["webpack:///./node_modules/gatsby-image/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./src/components/Hero.js","webpack:///./node_modules/gatsby-image/node_modules/prop-types/index.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./node_modules/gatsby-image/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./src/components/RollingTextList.js","webpack:///./src/components/Arrow.js"],"names":["module","exports","Container","styled","div","GridContainer","gutter","mobile","screenSizes","tablet","desktop","desktopLarge","Body","Arrow","ArrowBase","props","margin","Text","p","uppercase","Blurb","TitleContainer","BackgroundImage","Img","Footer","Hero","animateBack","bfx","bfy","frameId","prevOffsetY","render","this","backgroundImage","titleList","title","arrowText","body","extraPadding","rollTitle","ref","rollingText","textList","map","index","Fragment","key","className","split","text","onClick","window","scrollTo","top","innerHeight","behavior","fluid","childImageSharp","React","PureComponent","require","_interopRequireDefault","__esModule","default","io","_assertThisInitialized2","_inheritsLoose2","_objectWithoutPropertiesLoose2","_extends2","_react","_propTypes","convertProps","convertedProps","resolutions","sizes","critical","fixed","loading","groupByMedia","concat","matchesMedia","_ref","media","isBrowser","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","_ref3","srcSet","srcSetWebp","createElement","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","alt","width","height","crossOrigin","draggable","join","Placeholder","forwardRef","generateSources","spreadProps","ariaHidden","baseImage","length","style","onLoad","onError","otherProps","position","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","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","_convertProps","_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","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","location","propFullName","secret","err","name","getShim","ReactPropTypes","array","bigint","symbol","any","element","elementType","instanceOf","node","objectOf","exact","PropTypes","span","RollingText","activeIndex","currentText","timeout","animateCount","animateText","changeText","stop","start","setTimeout","clearTimeout","wordDelay","letterDelay","targetText","chars","newText","i","charAt","Math","floor","random","substring","newIndex","StrokeAnimation","keyframes","TranslateAnimation","ArrowContainer","ArrowPath","path","colors","primaryText","ArrowSVG","svg","viewBox","d"],"mappings":"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","file":"0bd1a12a4e2a89e1a7f6696efd1076450f68dc86-7b6e78bceb0edece2d3f.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import React from 'react'\nimport styled from 'styled-components'\nimport PropTypes from 'prop-types'\n\nimport RollingTextList from './RollingTextList'\nimport ArrowBase from './Arrow'\nimport { screenSizes, gutter } from '../theme'\nimport Img from 'gatsby-image'\n\nconst Container = styled.div`\n min-height: calc(100vh);\n`\n\nconst GridContainer = styled.div`\n display: grid;\n flex-direction: column;\n grid-template-rows: 1fr;\n grid-row-gap: 30px;\n min-height: calc(100vh);\n width: 100%;\n align-items: center;\n\n padding: 150px ${gutter.mobile}px 0px calc(${gutter.mobile}px);\n\n @media (min-width: ${screenSizes.tablet}px) {\n padding: 210px ${gutter.tablet}px 0px calc(${gutter.tablet}px + 100px);\n }\n\n @media (min-width: ${screenSizes.desktop}px) {\n padding: 0px 20vw 0px calc(${gutter.desktop}px + 200px);\n grid-row-gap: 0px;\n }\n\n @media (min-width: ${screenSizes.desktopLarge}px) {\n padding: 0px 20vw 0px calc(${gutter.desktopLarge}px + 200px);\n }\n\n @media all and (orientation: portrait) and (min-width: ${screenSizes.tablet}px) {\n display: flex;\n justify-content: center;\n padding-top: 0;\n }\n`\n\n// const Header = styled.div`\n// display: flex;\n// align-items: center;\n\n// p {\n// line-height: 15pt;\n// font-size: 7pt;\n// }\n// `\n\nconst Body = styled.div`\n position: relative;\n z-index: 5;\n margin-top: 15px;\n @media all and (orientation: portrait) and (min-width: ${screenSizes.tablet}px) {\n margin-top: 30px;\n }\n`\n\nconst Arrow = styled(ArrowBase)`\n position: relative;\n z-index: 2;\n margin-left: ${props => props.margin && '15px'};\n`\n\nconst Text = styled.p`\n max-width: 500px;\n line-height: 1;\n font-size: 10pt;\n ${props => props.uppercase && `text-transform: uppercase;`}\n`\n\nconst Blurb = styled(Text)`\n max-width: 550px;\n line-height: 1.2;\n font-weight: normal;\n font-family: 'TanMemories';\n font-size: 20pt;\n\n @media (min-width: ${screenSizes.desktop}px) {\n font-size: 40pt;\n }\n`\n\nconst TitleContainer = styled.div`\n font-size: 7.2vw;\n line-height: 8.5vw;\n max-width: 100%;\n width: 100%;\n margin-bottom: 15px;\n margin-left: -0.4vw;\n /* text-transform: uppercase; */\n\n span {\n font-family: 'TanMemories';\n }\n\n @media all and (orientation: portrait) {\n font-size: 13.2vw;\n line-height: 14vw;\n margin-bottom: 10vh;\n }\n`\n\nconst BackgroundImage = styled(Img)`\n position: absolute !important;\n top: 0;\n left: 0;\n grid-area: none;\n width: 100vw;\n height: 100vh;\n object-fit: cover;\n object-position: center center;\n`\n\nconst Footer = styled.div`\n display: flex;\n\n @media (min-width: ${screenSizes.desktop}px) {\n padding-top: 20px;\n &.extra-padding {\n padding-top: 10vh;\n }\n }\n`\n\nclass Hero extends React.PureComponent {\n constructor(props) {\n super(props)\n\n this.animateBack = false\n this.bfx = 0.0002\n this.bfy = 0.0002\n this.frameId = null\n this.prevOffsetY = 0\n }\n\n render() {\n const {\n backgroundImage,\n // renderHead,\n titleList,\n title,\n arrowText,\n body,\n extraPadding,\n rollTitle,\n } = this.props\n\n return (\n <>\n \n \n {/*
{renderHead && renderHead()}
*/}\n \n \n {titleList && rollTitle ? (\n (this.rollingText = ref)}\n textList={titleList}\n />\n ) : titleList ? (\n titleList.map((title, index) => (\n \n {title}\n
\n
\n ))\n ) : (\n {title}\n )}\n
\n\n {body && {body}}\n\n
\n \n {arrowText?.split(' ').map((text, index) => (\n \n {text}\n
\n
\n ))}\n
\n {\n window.scrollTo({\n top: window.innerHeight,\n behavior: 'smooth',\n })\n }}\n margin={arrowText}\n />\n
\n \n
\n {backgroundImage && (\n \n )}\n
\n \n )\n }\n}\nHero.propTypes = {\n title: PropTypes.string,\n body: PropTypes.any,\n arrowText: PropTypes.string,\n titleList: PropTypes.array,\n renderHead: PropTypes.func,\n backgroundImage: PropTypes.object,\n extraPadding: PropTypes.bool,\n rollTitle: PropTypes.bool,\n}\n\nexport default Hero\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\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 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 \"\";\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 = /*#__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) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","import React, { PureComponent } from 'react'\nimport PropTypes from 'prop-types'\nimport styled from 'styled-components'\n\nconst Text = styled.span``\n\nclass RollingText extends PureComponent {\n static propTypes = {\n textList: PropTypes.array.isRequired,\n letterDelay: PropTypes.number.isRequired,\n wordDelay: PropTypes.number.isRequired,\n className: PropTypes.string,\n }\n\n static defaultProps = {\n letterDelay: 100,\n wordDelay: 2500,\n }\n\n constructor(props) {\n super(props)\n\n this.state = {\n textList: props.textList,\n activeIndex: 0,\n currentText: props.textList[0],\n }\n\n this.timeout = null\n this.animateCount = 0\n this.animateText = this.animateText.bind(this)\n this.changeText = this.changeText.bind(this)\n this.stop = this.stop.bind(this)\n this.start = this.start.bind(this)\n }\n\n componentDidMount() {\n this.timeout = window.setTimeout(() => {\n this.animateText()\n }, 1000)\n }\n\n componentWillUnmount() {\n window.clearTimeout(this.timeout)\n }\n\n stop() {\n window.clearTimeout(this.timeout)\n }\n\n start() {\n this.animateText()\n }\n\n animateText() {\n const { wordDelay, letterDelay } = this.props\n const { currentText, activeIndex, textList } = this.state\n const targetText = textList[activeIndex]\n const chars = 'abcdefghijklmnopqrstuvxyz'\n\n if (this.animateCount < 10) {\n let newText = ''\n\n for (var i = 0; i < currentText.length; i++) {\n const randomChar = chars.charAt(\n Math.floor(Math.random() * chars.length)\n )\n newText += randomChar\n }\n\n if (newText.length > targetText.length) {\n newText = newText.substring(0, newText.length - 2)\n } else if (newText.length < targetText.length) {\n const randomChar = chars.charAt(\n Math.floor(Math.random() * chars.length)\n )\n newText += randomChar\n }\n\n this.setState({ currentText: newText }, () => {\n this.timeout = window.setTimeout(() => {\n this.animateCount++\n this.animateText()\n }, letterDelay)\n })\n } else {\n this.setState(\n {\n currentText: targetText,\n },\n () => {\n this.timeout = window.setTimeout(() => {\n this.animateCount = 0\n this.changeText()\n }, wordDelay)\n }\n )\n }\n }\n\n changeText() {\n const { activeIndex, textList } = this.state\n\n let newIndex = activeIndex + 1\n\n if (newIndex + 1 > textList.length) {\n newIndex = 0\n }\n\n this.setState(\n {\n activeIndex: newIndex,\n },\n () => {\n this.animateText()\n }\n )\n }\n\n render() {\n const { className } = this.props\n const { currentText } = this.state\n return {currentText}\n }\n}\n\nexport default RollingText\n","import React from 'react'\nimport styled, { keyframes } from 'styled-components'\nimport PropTypes from 'prop-types'\nimport { colors } from '../theme'\n\nconst StrokeAnimation = keyframes`\n 0% {\n stroke-dashoffset: 30;\n }\n\n 10% {\n stroke-dashoffset: 10;\n }\n\n 20% {\n stroke-dashoffset: 10;\n }\n\n 40% {\n stroke-dashoffset: 0;\n }\n\n 90% {\n stroke-dashoffset: 0;\n }\n\n 100% {\n stroke-dashoffset: -30;\n }\n`\n\nconst TranslateAnimation = keyframes`\n 0% {\n transform: translate3d(0, 0px, 0);\n }\n\n 10% {\n transform: translate3d(0, 0px, 0);\n }\n\n 20% {\n transform: translate3d(0, 10px, 0);\n }\n\n 70% {\n transform: translate3d(0, 10px, 0);\n }\n\n 100% {\n transform: translate3d(0, 10px, 0);\n }\n`\n\nconst ArrowContainer = styled.span``\n\nconst ArrowPath = styled.path`\n stroke: ${colors.primaryText};\n fill: none;\n stroke-width: 1;\n stroke-dasharray: 30;\n stroke-dashoffset: 30;\n animation: ${StrokeAnimation} 3s linear infinite;\n`\n\nconst ArrowSVG = styled.svg`\n transform: translate3d(0, 0, 0);\n animation: ${TranslateAnimation} 3s linear infinite;\n`\n\nconst Arrow = ({ className, onClick }) => (\n \n \n \n \n \n)\nArrow.propTypes = {\n className: PropTypes.string,\n onClick: PropTypes.func,\n}\n\nexport default Arrow\n"],"sourceRoot":""}