{"version":3,"sources":["webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./src/components/header/header.js","webpack:///./src/components/footer/footer.js","webpack:///./src/components/layout.js","webpack:///./node_modules/react-scrollspy/lib/throttle.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/react-scrollspy/lib/scrollspy.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js"],"names":["module","exports","obj","key","value","Object","defineProperty","enumerable","configurable","writable","_interopRequireDefault","require","__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","getImageSrcKey","_ref2","getCurrentSrcData","src","currentData","Array","isArray","some","image","hasArtDirectionSupport","foundMedia","findIndex","noMedia","imageCache","create","inImageCache","hasNativeLazyLoadSupport","HTMLImageElement","prototype","hasIOSupport","IntersectionObserver","listeners","WeakMap","generateImageSources","imageVariants","map","_ref3","srcSet","srcSetWebp","createElement","Fragment","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","imageRef","createRef","placeholderRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","setState","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","_imageVariants","_image","divStyle","display","Component","defaultProps","fixedObject","shape","number","isRequired","string","srcWebp","fluidObject","oneOfType","arrayOf","bool","oneOf","_default","Header","headerQuery","useStaticQuery","useState","isOverlayOpen","setIsOverlayOpen","useEffect","document","querySelector","classList","remove","onMenuToggleClick","prevState","toggle","arloLogo","file","childImageSharp","to","onClick","items","currentClassName","offset","href","data-text","siteTitle","Footer","showBelow","show","setShow","handleScroll","pageYOffset","addEventListener","removeEventListener","Date","getFullYear","behavior","Layout","children","fn","last","timer","threshold","arguments","undefined","now","clearTimeout","setTimeout","setPrototypeOf","subClass","superClass","TypeError","constructor","_typeof","assertThisInitialized","self","_setPrototypeOf","o","p","__proto__","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","arr","hasOwn","hasOwnProperty","classNames","classes","i","arg","argType","inner","apply","_defineProperty2","_toConsumableArray2","_classCallCheck2","_possibleConstructorReturn2","_getPrototypeOf2","_createClass2","_inherits2","_classnames","_throttle","Scrollspy","targetItems","inViewState","isScrolledPast","_handleSpy","scrolledPastClassName","componentTag","elementType","rootEl","onUpdate","item","getElementById","array","val","newArray","max","_getScrollDimension","scrollTop","doc","documentElement","body","parentNode","scrollHeight","targets","elemsInView","elemsOutView","viewStatusList","hasInViewAlready","currentContent","isInView","_isInView","isLastItem","isScrolled","_isScrolled","_isAtBottom","pop","_fillArray","inView","outView","scrolledPast","_getScrolledPast","rootRect","_this$props","getBoundingClientRect","rect","winH","innerHeight","scrollBottom","elTop","elBottom","offsetHeight","_this$_getScrollDimen2","hasFoundInView","elemensViewState","_getElemsViewState","currentStatuses","_update","prevStatuses","a","b","every","index","indexOf","_spy","_initSpyTarget","_initFromProps","onEvent","offEvent","_this3","_this$props2","counter","Children","child","idx","_classNames","ChildTag","childClass","itemClass","_getPrototypeOf","getPrototypeOf","arrayLikeToArray","minLen","n","toString","slice","name","from","test","iter","Symbol","iterator","len","arr2","_defineProperties","descriptor","Constructor","protoProps","staticProps","instance"],"mappings":"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","file":"commons-daf525832b8ca54004ea.js","sourcesContent":["function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar logDeprecationNotice = function logDeprecationNotice(prop, replacement) {\n if (process.env.NODE_ENV === \"production\") {\n return;\n }\n\n console.log(\"\\n The \\\"\" + prop + \"\\\" prop is now deprecated and will be removed in the next major version\\n of \\\"gatsby-image\\\".\\n \");\n\n if (replacement) {\n console.log(\"Please use \" + replacement + \" instead of \\\"\" + prop + \"\\\".\");\n }\n}; // Handle legacy props during their deprecation phase\n\n\nvar convertProps = function convertProps(props) {\n var convertedProps = (0, _extends2.default)({}, props);\n var resolutions = convertedProps.resolutions,\n sizes = convertedProps.sizes,\n critical = convertedProps.critical;\n\n if (resolutions) {\n convertedProps.fixed = resolutions;\n delete convertedProps.resolutions;\n }\n\n if (sizes) {\n convertedProps.fluid = sizes;\n delete convertedProps.sizes;\n }\n\n if (critical) {\n logDeprecationNotice(\"critical\", \"the native \\\"loading\\\" attribute\");\n convertedProps.loading = \"eager\";\n } // convert fluid & fixed to arrays so we only have to work with arrays\n\n\n if (convertedProps.fluid) {\n convertedProps.fluid = groupByMedia([].concat(convertedProps.fluid));\n }\n\n if (convertedProps.fixed) {\n convertedProps.fixed = groupByMedia([].concat(convertedProps.fixed));\n }\n\n return convertedProps;\n};\n/**\n * 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}\n */\n\n\nvar getImageSrcKey = function getImageSrcKey(_ref2) {\n var fluid = _ref2.fluid,\n fixed = _ref2.fixed;\n var data = fluid ? getCurrentSrcData(fluid) : getCurrentSrcData(fixed);\n return data.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); // Find src\n\n var src = getImageSrcKey(convertedProps);\n return imageCache[src] || false;\n};\n\nvar activateCacheForImage = function activateCacheForImage(props) {\n var convertedProps = convertProps(props); // Find src\n\n var src = getImageSrcKey(convertedProps);\n imageCache[src] = true;\n}; // Native lazy-loading support: https://addyosmani.com/blog/lazy-loading/\n\n\nvar hasNativeLazyLoadSupport = typeof HTMLImageElement !== \"undefined\" && \"loading\" in HTMLImageElement.prototype;\nvar isBrowser = typeof window !== \"undefined\";\nvar hasIOSupport = isBrowser && window.IntersectionObserver;\nvar io;\nvar listeners = new WeakMap();\n\nfunction getIO() {\n if (typeof io === \"undefined\" && typeof window !== \"undefined\" && window.IntersectionObserver) {\n io = new window.IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n if (listeners.has(entry.target)) {\n var cb = listeners.get(entry.target); // Edge doesn't currently support isIntersecting, so also test for an intersectionRatio > 0\n\n if (entry.isIntersecting || entry.intersectionRatio > 0) {\n io.unobserve(entry.target);\n listeners.delete(entry.target);\n cb();\n }\n }\n });\n }, {\n rootMargin: \"200px\"\n });\n }\n\n return io;\n}\n\nfunction generateImageSources(imageVariants) {\n return imageVariants.map(function (_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 }), /*#__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 };\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 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 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 };\n\n if (fluid) {\n var imageVariants = fluid;\n var image = getCurrentSrcData(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 _imageVariants = fixed;\n\n var _image = getCurrentSrcData(fixed);\n\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}); // 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: _propTypes.default.oneOfType([fixedObject, _propTypes.default.arrayOf(fixedObject)]),\n fluid: _propTypes.default.oneOfType([fluidObject, _propTypes.default.arrayOf(fluidObject)]),\n fadeIn: _propTypes.default.bool,\n durationFadeIn: _propTypes.default.number,\n title: _propTypes.default.string,\n alt: _propTypes.default.string,\n className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]),\n // Support Glamor's css prop.\n critical: _propTypes.default.bool,\n crossOrigin: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n style: _propTypes.default.object,\n imgStyle: _propTypes.default.object,\n placeholderStyle: _propTypes.default.object,\n placeholderClassName: _propTypes.default.string,\n backgroundColor: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),\n onLoad: _propTypes.default.func,\n onError: _propTypes.default.func,\n onStartLoad: _propTypes.default.func,\n Tag: _propTypes.default.string,\n itemProp: _propTypes.default.string,\n loading: _propTypes.default.oneOf([\"auto\", \"lazy\", \"eager\"]),\n draggable: _propTypes.default.bool\n};\nvar _default = Image;\nexports.default = _default;","import React, {Fragment, useState, useEffect} from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {useStaticQuery, graphql , Link} from 'gatsby';\r\nimport Img from \"gatsby-image\";\r\nimport Scrollspy from 'react-scrollspy';\r\n\r\n// Start Header Area \r\nconst Header = () => {\r\n const headerQuery = useStaticQuery(graphql`\r\n query headerQuery {\r\n allMenuJson {\r\n nodes {\r\n title\r\n path\r\n }\r\n },\r\n file(relativePath: {eq: \"images/logo/logo.png\"}) {\r\n childImageSharp {\r\n fixed {\r\n ...GatsbyImageSharpFixed\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n const [isOverlayOpen, setIsOverlayOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n if(!isOverlayOpen){\r\n document.querySelector('.trigger-popup-menu').classList.remove('overlay-wrapper-open');\r\n document.querySelector('.hambergur-menu').classList.remove('hambergur-menu-open');\r\n }\r\n });\r\n\r\n const onMenuToggleClick = () => {\r\n setIsOverlayOpen(prevState => !prevState)\r\n document.querySelector('.trigger-popup-menu').classList.toggle('overlay-wrapper-open');\r\n document.querySelector('.hambergur-menu').classList.toggle('hambergur-menu-open');\r\n }\r\n const arloLogo = headerQuery.file.childImageSharp.fixed;\r\n\r\n return (\r\n \r\n
\r\n
\r\n {/* Header Logo */}\r\n
\r\n
\r\n \r\n \r\n {/* */}\r\n \r\n
\r\n
\r\n {/* Main Menu */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* Start Social Area */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
  • \r\n \r\n \r\n Home\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n Services\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n Portfolio\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n Timeline\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n Contact\r\n \r\n \r\n
  • \r\n
    \r\n
    \r\n
    \r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n// End Header Area \r\n\r\nHeader.propTypes = {\r\n siteTitle: PropTypes.string,\r\n}\r\n\r\nHeader.defaultProps = {\r\n siteTitle: ``,\r\n}\r\n\r\nexport default Header;\r\n","import React, {useState , useEffect} from 'react';\r\n\r\n\r\nconst Footer = ({showBelow}) => {\r\n const [show, setShow] = useState(showBelow ? false : true)\r\n\r\n const handleScroll = () => {\r\n if (window.pageYOffset > showBelow) {\r\n if (!show) setShow(true)\r\n }else {\r\n if (show) setShow(false)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (showBelow) {\r\n window.addEventListener(`scroll`, handleScroll)\r\n return () => window.removeEventListener(`scroll`, handleScroll)\r\n }\r\n })\r\n\r\n const handleClick = () => {\r\n window[`scrollTo`]({top: 0, behavior: `smooth`})\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default Footer\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport Header from \"../components/header/header\";\r\nimport Footer from \"../components/footer/footer\";\r\nimport '../scss/style.scss';\r\n\r\n\r\nconst Layout = ({ children }) => {\r\n return (\r\n
    \r\n
    \r\n
    {children}
    \r\n
    \r\n )\r\n}\r\n\r\nLayout.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n}\r\n\r\nexport default Layout\r\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar throttle = function throttle(fn) {\n var threshold = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n var last;\n var timer;\n return function () {\n var now = +new Date();\n var timePassed = !!last && now < last + threshold;\n\n if (timePassed) {\n clearTimeout(timer);\n timer = setTimeout(function () {\n last = now;\n fn();\n }, threshold);\n } else {\n last = now;\n fn();\n }\n };\n};\n\nvar _default = throttle;\nexports.default = _default;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","/*!\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})();","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _throttle = _interopRequireDefault(require(\"./throttle\"));\n\nfunction isEqualArray(a, b) {\n return a.length === b.length && a.every(function (item, index) {\n return item === b[index];\n });\n}\n\nvar Scrollspy = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2.default)(Scrollspy, _React$Component);\n (0, _createClass2.default)(Scrollspy, null, [{\n key: \"propTypes\",\n get: function get() {\n return {\n items: _propTypes.default.arrayOf(_propTypes.default.string).isRequired,\n currentClassName: _propTypes.default.string.isRequired,\n scrolledPastClassName: _propTypes.default.string,\n style: _propTypes.default.object,\n componentTag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.elementType]),\n offset: _propTypes.default.number,\n rootEl: _propTypes.default.string,\n onUpdate: _propTypes.default.func\n };\n }\n }, {\n key: \"defaultProps\",\n get: function get() {\n return {\n items: [],\n currentClassName: '',\n style: {},\n componentTag: 'ul',\n offset: 0,\n onUpdate: function onUpdate() {}\n };\n }\n }]);\n\n function Scrollspy(props) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Scrollspy);\n _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Scrollspy).call(this, props));\n _this.state = {\n targetItems: [],\n inViewState: [],\n isScrolledPast: [] // manually bind as ES6 does not apply this\n // auto binding as React.createClass does\n\n };\n _this._handleSpy = _this._handleSpy.bind((0, _assertThisInitialized2.default)(_this));\n return _this;\n }\n\n (0, _createClass2.default)(Scrollspy, [{\n key: \"_initSpyTarget\",\n value: function _initSpyTarget(items) {\n var targetItems = items.map(function (item) {\n return document.getElementById(item);\n });\n return targetItems;\n } // https://github.com/makotot/react-scrollspy/pull/45\n\n }, {\n key: \"_fillArray\",\n value: function _fillArray(array, val) {\n var newArray = [];\n\n for (var i = 0, max = array.length; i < max; i++) {\n newArray[i] = val;\n }\n\n return newArray;\n }\n }, {\n key: \"_isScrolled\",\n value: function _isScrolled() {\n return this._getScrollDimension().scrollTop > 0;\n }\n }, {\n key: \"_getScrollDimension\",\n value: function _getScrollDimension() {\n var doc = document;\n var rootEl = this.props.rootEl;\n var scrollTop = rootEl ? doc.querySelector(rootEl).scrollTop : doc.documentElement.scrollTop || doc.body.parentNode.scrollTop || doc.body.scrollTop;\n var scrollHeight = rootEl ? doc.querySelector(rootEl).scrollHeight : doc.documentElement.scrollHeight || doc.body.parentNode.scrollHeight || doc.body.scrollHeight;\n return {\n scrollTop: scrollTop,\n scrollHeight: scrollHeight\n };\n }\n }, {\n key: \"_getElemsViewState\",\n value: function _getElemsViewState(targets) {\n var elemsInView = [];\n var elemsOutView = [];\n var viewStatusList = [];\n var targetItems = targets ? targets : this.state.targetItems;\n var hasInViewAlready = false;\n\n for (var i = 0, max = targetItems.length; i < max; i++) {\n var currentContent = targetItems[i];\n var isInView = hasInViewAlready ? false : this._isInView(currentContent);\n\n if (isInView) {\n hasInViewAlready = true;\n elemsInView.push(currentContent);\n } else {\n elemsOutView.push(currentContent);\n }\n\n var isLastItem = i === max - 1;\n\n var isScrolled = this._isScrolled(); // https://github.com/makotot/react-scrollspy/pull/26#issue-167413769\n\n\n var isLastShortItemAtBottom = this._isAtBottom() && this._isInView(currentContent) && !isInView && isLastItem && isScrolled;\n\n if (isLastShortItemAtBottom) {\n elemsOutView.pop();\n elemsOutView.push.apply(elemsOutView, (0, _toConsumableArray2.default)(elemsInView));\n elemsInView = [currentContent];\n viewStatusList = this._fillArray(viewStatusList, false);\n isInView = true;\n }\n\n viewStatusList.push(isInView);\n }\n\n return {\n inView: elemsInView,\n outView: elemsOutView,\n viewStatusList: viewStatusList,\n scrolledPast: this.props.scrolledPastClassName && this._getScrolledPast(viewStatusList)\n };\n }\n }, {\n key: \"_isInView\",\n value: function _isInView(el) {\n if (!el) {\n return false;\n }\n\n var _this$props = this.props,\n rootEl = _this$props.rootEl,\n offset = _this$props.offset;\n var rootRect;\n\n if (rootEl) {\n rootRect = document.querySelector(rootEl).getBoundingClientRect();\n }\n\n var rect = el.getBoundingClientRect();\n var winH = rootEl ? rootRect.height : window.innerHeight;\n\n var _this$_getScrollDimen = this._getScrollDimension(),\n scrollTop = _this$_getScrollDimen.scrollTop;\n\n var scrollBottom = scrollTop + winH;\n var elTop = rootEl ? rect.top + scrollTop - rootRect.top + offset : rect.top + scrollTop + offset;\n var elBottom = elTop + el.offsetHeight;\n return elTop < scrollBottom && elBottom > scrollTop;\n }\n }, {\n key: \"_isAtBottom\",\n value: function _isAtBottom() {\n var rootEl = this.props.rootEl;\n\n var _this$_getScrollDimen2 = this._getScrollDimension(),\n scrollTop = _this$_getScrollDimen2.scrollTop,\n scrollHeight = _this$_getScrollDimen2.scrollHeight;\n\n var winH = rootEl ? document.querySelector(rootEl).getBoundingClientRect().height : window.innerHeight;\n var scrolledToBottom = scrollTop + winH >= scrollHeight;\n return scrolledToBottom;\n }\n }, {\n key: \"_getScrolledPast\",\n value: function _getScrolledPast(viewStatusList) {\n if (!viewStatusList.some(function (item) {\n return item;\n })) {\n return viewStatusList;\n }\n\n var hasFoundInView = false;\n var scrolledPastItems = viewStatusList.map(function (item) {\n if (item && !hasFoundInView) {\n hasFoundInView = true;\n return false;\n }\n\n return !hasFoundInView;\n });\n return scrolledPastItems;\n }\n }, {\n key: \"_spy\",\n value: function _spy(targets) {\n var _this2 = this;\n\n var elemensViewState = this._getElemsViewState(targets);\n\n var currentStatuses = this.state.inViewState;\n this.setState({\n inViewState: elemensViewState.viewStatusList,\n isScrolledPast: elemensViewState.scrolledPast\n }, function () {\n _this2._update(currentStatuses);\n });\n }\n }, {\n key: \"_update\",\n value: function _update(prevStatuses) {\n if (isEqualArray(this.state.inViewState, prevStatuses)) {\n return;\n }\n\n this.props.onUpdate(this.state.targetItems[this.state.inViewState.indexOf(true)]);\n }\n }, {\n key: \"_handleSpy\",\n value: function _handleSpy() {\n (0, _throttle.default)(this._spy(), 100);\n }\n }, {\n key: \"_initFromProps\",\n value: function _initFromProps() {\n var targetItems = this._initSpyTarget(this.props.items);\n\n this.setState({\n targetItems: targetItems\n });\n\n this._spy(targetItems);\n }\n }, {\n key: \"offEvent\",\n value: function offEvent() {\n var el = this.props.rootEl ? document.querySelector(this.props.rootEl) : window;\n el.removeEventListener('scroll', this._handleSpy);\n }\n }, {\n key: \"onEvent\",\n value: function onEvent() {\n var el = this.props.rootEl ? document.querySelector(this.props.rootEl) : window;\n el.addEventListener('scroll', this._handleSpy);\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._initFromProps();\n\n this.onEvent();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.offEvent();\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps() {\n this._initFromProps();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var Tag = this.props.componentTag;\n var _this$props2 = this.props,\n children = _this$props2.children,\n className = _this$props2.className,\n scrolledPastClassName = _this$props2.scrolledPastClassName,\n style = _this$props2.style;\n var counter = 0;\n\n var items = _react.default.Children.map(children, function (child, idx) {\n var _classNames;\n\n if (!child) {\n return null;\n }\n\n var ChildTag = child.type;\n var isScrolledPast = scrolledPastClassName && _this3.state.isScrolledPast[idx];\n var childClass = (0, _classnames.default)((_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(child.props.className), child.props.className), (0, _defineProperty2.default)(_classNames, \"\".concat(_this3.props.currentClassName), _this3.state.inViewState[idx]), (0, _defineProperty2.default)(_classNames, \"\".concat(_this3.props.scrolledPastClassName), isScrolledPast), _classNames));\n return _react.default.createElement(ChildTag, (0, _extends2.default)({}, child.props, {\n className: childClass,\n key: counter++\n }), child.props.children);\n });\n\n var itemClass = (0, _classnames.default)((0, _defineProperty2.default)({}, \"\".concat(className), className));\n return _react.default.createElement(Tag, {\n className: itemClass,\n style: style\n }, items);\n }\n }]);\n return Scrollspy;\n}(_react.default.Component);\n\nexports.default = Scrollspy;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;"],"sourceRoot":""}