{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/gatsby-image/index.js","webpack:///./src/components/layout.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./src/components/header.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./src/pages/typeshade.js","webpack:///./src/components/footer.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/public-page-renderer-prod.js"],"names":["createHTML","this","_interopRequireDefault","require","exports","__esModule","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","imageCache","Object","create","inImageCache","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","rootMargin","observe","set","noscriptImg","title","alt","width","height","crossOrigin","draggable","join","Placeholder","_ref7","generateSources","spreadProps","baseImage","Img","length","forwardRef","ref","style","onLoad","onError","otherProps","position","top","left","objectFit","objectPosition","propTypes","object","func","Image","_React$Component","_this","call","seenBefore","isCritical","addNoScript","fadeIn","useIOSupport","isVisible","state","imgLoaded","imgCached","imageRef","createRef","handleImageLoaded","bind","handleRef","_proto","componentDidMount","onStartLoad","wasCached","img","current","complete","componentWillUnmount","cleanUpListeners","_this2","imageInCache","setState","currentSrc","render","_convertProps","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","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","Layout","layoutStyles","container","children","$export","$find","KEY","forced","P","F","callbackfn","arguments","undefined","Header","navStyles","navItem","activeClassName","activeNavitem","to","fails","defined","quot","tag","attribute","value","S","String","p1","replace","module","NAME","exec","O","test","toLowerCase","split","TypeShade","data","class","frameBorder","allowFullScreen","href","imageOne","childImageSharp","imageTwo","imageThree","Footer","loader","enqueue","React","createContext","m","default","ProdPageRenderer","location","pageResources","InternalPageRenderer","json"],"mappings":"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","file":"component---src-pages-typeshade-js-c9a40f27597d7161569a.js","sourcesContent":["'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","\"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}[]} The fluid or fixed image array.\n * @return {{src: string, media?: string}}\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 }\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 _react[\"default\"].createElement(_react[\"default\"].Fragment, {\n key: src\n }, srcSetWebp && _react[\"default\"].createElement(\"source\", {\n type: \"image/webp\",\n media: media,\n srcSet: srcSetWebp,\n sizes: sizes\n }), _react[\"default\"].createElement(\"source\", {\n media: media,\n srcSet: srcSet,\n sizes: sizes\n }));\n });\n} // Return an array ordered by elements having a media prop, does not use\n// native sort, as a stable sort is not guaranteed by all browsers/versions\n\n\nfunction groupByMedia(imageVariants) {\n var withMedia = [];\n var without = [];\n imageVariants.forEach(function (variant) {\n return (variant.media ? withMedia : without).push(variant);\n });\n\n if (without.length > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"We've found \" + without.length + \" sources without a media property. They might be ignored by the browser, see: https://www.gatsbyjs.org/packages/gatsby-image/#art-directing-multiple-images\");\n }\n\n return [].concat(withMedia, without);\n}\n\nfunction generateTracedSVGSources(imageVariants) {\n return imageVariants.map(function (_ref4) {\n var src = _ref4.src,\n media = _ref4.media,\n tracedSVG = _ref4.tracedSVG;\n return _react[\"default\"].createElement(\"source\", {\n key: src,\n media: media,\n srcSet: tracedSVG\n });\n });\n}\n\nfunction generateBase64Sources(imageVariants) {\n return imageVariants.map(function (_ref5) {\n var src = _ref5.src,\n media = _ref5.media,\n base64 = _ref5.base64;\n return _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 = function Placeholder(_ref7) {\n var src = _ref7.src,\n imageVariants = _ref7.imageVariants,\n generateSources = _ref7.generateSources,\n spreadProps = _ref7.spreadProps;\n\n var baseImage = _react[\"default\"].createElement(Img, (0, _extends2[\"default\"])({\n src: src\n }, spreadProps));\n\n return imageVariants.length > 1 ? _react[\"default\"].createElement(\"picture\", null, generateSources(imageVariants), baseImage) : baseImage;\n};\n\nvar Img = _react[\"default\"].forwardRef(function (props, ref) {\n var sizes = props.sizes,\n srcSet = props.srcSet,\n src = props.src,\n style = props.style,\n onLoad = props.onLoad,\n onError = props.onError,\n loading = props.loading,\n draggable = props.draggable,\n otherProps = (0, _objectWithoutPropertiesLoose2[\"default\"])(props, [\"sizes\", \"srcSet\", \"src\", \"style\", \"onLoad\", \"onError\", \"loading\", \"draggable\"]);\n return _react[\"default\"].createElement(\"img\", (0, _extends2[\"default\"])({\n sizes: sizes,\n srcSet: srcSet,\n src: src\n }, otherProps, {\n onLoad: onLoad,\n onError: onError,\n ref: ref,\n loading: loading,\n draggable: draggable,\n style: (0, _extends2[\"default\"])({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n objectPosition: \"center\"\n }, style)\n }));\n});\n\nImg.propTypes = {\n style: _propTypes[\"default\"].object,\n onError: _propTypes[\"default\"].func,\n onLoad: _propTypes[\"default\"].func\n};\n\nvar Image =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(Image, _React$Component);\n\n function Image(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this; // If this image has already been loaded before then we can assume it's\n // already in the browser cache so it's cheap to just show directly.\n\n _this.seenBefore = isBrowser && inImageCache(props);\n _this.isCritical = props.loading === \"eager\" || props.critical;\n _this.addNoScript = !(_this.isCritical && !props.fadeIn);\n _this.useIOSupport = !hasNativeLazyLoadSupport && hasIOSupport && !_this.isCritical && !_this.seenBefore;\n var isVisible = _this.isCritical || isBrowser && (hasNativeLazyLoadSupport || !_this.useIOSupport);\n _this.state = {\n isVisible: isVisible,\n imgLoaded: false,\n imgCached: false,\n fadeIn: !_this.seenBefore && props.fadeIn\n };\n _this.imageRef = _react[\"default\"].createRef();\n _this.handleImageLoaded = _this.handleImageLoaded.bind((0, _assertThisInitialized2[\"default\"])(_this));\n _this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2[\"default\"])(_this));\n return _this;\n }\n\n var _proto = Image.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.state.isVisible && typeof this.props.onStartLoad === \"function\") {\n this.props.onStartLoad({\n wasCached: inImageCache(this.props)\n });\n }\n\n if (this.isCritical) {\n var img = this.imageRef.current;\n\n if (img && img.complete) {\n this.handleImageLoaded();\n }\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.cleanUpListeners) {\n this.cleanUpListeners();\n }\n } // Specific to IntersectionObserver based lazy-load support\n ;\n\n _proto.handleRef = function handleRef(ref) {\n var _this2 = this;\n\n if (this.useIOSupport && ref) {\n this.cleanUpListeners = listenToIntersections(ref, function () {\n var imageInCache = inImageCache(_this2.props);\n\n if (!_this2.state.isVisible && typeof _this2.props.onStartLoad === \"function\") {\n _this2.props.onStartLoad({\n wasCached: imageInCache\n });\n } // imgCached and imgLoaded must update after isVisible,\n // Once isVisible is true, imageRef becomes accessible, which imgCached needs access to.\n // imgLoaded and imgCached are in a 2nd setState call to be changed together,\n // avoiding initiating unnecessary animation frames from style changes.\n\n\n _this2.setState({\n isVisible: true\n }, function () {\n return _this2.setState({\n imgLoaded: imageInCache,\n // `currentSrc` should be a string, but can be `undefined` in IE,\n // !! operator validates the value is not undefined/null/\"\"\n imgCached: !!_this2.imageRef.current.currentSrc\n });\n });\n });\n }\n };\n\n _proto.handleImageLoaded = function handleImageLoaded() {\n activateCacheForImage(this.props);\n this.setState({\n imgLoaded: true\n });\n\n if (this.props.onLoad) {\n this.props.onLoad();\n }\n };\n\n _proto.render = function render() {\n var _convertProps = convertProps(this.props),\n title = _convertProps.title,\n alt = _convertProps.alt,\n className = _convertProps.className,\n _convertProps$style = _convertProps.style,\n style = _convertProps$style === void 0 ? {} : _convertProps$style,\n _convertProps$imgStyl = _convertProps.imgStyle,\n imgStyle = _convertProps$imgStyl === void 0 ? {} : _convertProps$imgStyl,\n _convertProps$placeho = _convertProps.placeholderStyle,\n placeholderStyle = _convertProps$placeho === void 0 ? {} : _convertProps$placeho,\n placeholderClassName = _convertProps.placeholderClassName,\n fluid = _convertProps.fluid,\n fixed = _convertProps.fixed,\n backgroundColor = _convertProps.backgroundColor,\n durationFadeIn = _convertProps.durationFadeIn,\n Tag = _convertProps.Tag,\n itemProp = _convertProps.itemProp,\n loading = _convertProps.loading,\n draggable = _convertProps.draggable;\n\n var shouldReveal = this.state.fadeIn === false || this.state.imgLoaded;\n var shouldFadeIn = this.state.fadeIn === true && !this.state.imgCached;\n var imageStyle = (0, _extends2[\"default\"])({\n opacity: shouldReveal ? 1 : 0,\n transition: shouldFadeIn ? \"opacity \" + durationFadeIn + \"ms\" : \"none\"\n }, imgStyle);\n var bgColor = typeof backgroundColor === \"boolean\" ? \"lightgray\" : backgroundColor;\n var delayHideStyle = {\n transitionDelay: durationFadeIn + \"ms\"\n };\n var imagePlaceholderStyle = (0, _extends2[\"default\"])({\n opacity: this.state.imgLoaded ? 0 : 1\n }, shouldFadeIn && delayHideStyle, {}, imgStyle, {}, placeholderStyle);\n var placeholderImageProps = {\n title: title,\n alt: !this.state.isVisible ? alt : \"\",\n style: imagePlaceholderStyle,\n className: placeholderClassName,\n itemProp: itemProp\n };\n\n if (fluid) {\n var imageVariants = fluid;\n var image = getCurrentSrcData(fluid);\n return _react[\"default\"].createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: (0, _extends2[\"default\"])({\n position: \"relative\",\n overflow: \"hidden\"\n }, style),\n ref: this.handleRef,\n key: \"fluid-\" + JSON.stringify(image.srcSet)\n }, _react[\"default\"].createElement(Tag, {\n style: {\n width: \"100%\",\n paddingBottom: 100 / image.aspectRatio + \"%\"\n }\n }), bgColor && _react[\"default\"].createElement(Tag, {\n title: title,\n style: (0, _extends2[\"default\"])({\n backgroundColor: bgColor,\n position: \"absolute\",\n top: 0,\n bottom: 0,\n opacity: !this.state.imgLoaded ? 1 : 0,\n right: 0,\n left: 0\n }, shouldFadeIn && delayHideStyle)\n }), image.base64 && _react[\"default\"].createElement(Placeholder, {\n src: image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateBase64Sources\n }), image.tracedSVG && _react[\"default\"].createElement(Placeholder, {\n src: image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && _react[\"default\"].createElement(\"picture\", null, generateImageSources(imageVariants), _react[\"default\"].createElement(Img, {\n alt: alt,\n title: title,\n sizes: image.sizes,\n src: image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && _react[\"default\"].createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2[\"default\"])({\n alt: alt,\n title: title,\n loading: loading\n }, image, {\n imageVariants: imageVariants\n }))\n }\n }));\n }\n\n if (fixed) {\n var _imageVariants = fixed;\n\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 _react[\"default\"].createElement(Tag, {\n className: (className ? className : \"\") + \" gatsby-image-wrapper\",\n style: divStyle,\n ref: this.handleRef,\n key: \"fixed-\" + JSON.stringify(_image.srcSet)\n }, bgColor && _react[\"default\"].createElement(Tag, {\n title: title,\n style: (0, _extends2[\"default\"])({\n backgroundColor: bgColor,\n width: _image.width,\n opacity: !this.state.imgLoaded ? 1 : 0,\n height: _image.height\n }, shouldFadeIn && delayHideStyle)\n }), _image.base64 && _react[\"default\"].createElement(Placeholder, {\n src: _image.base64,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateBase64Sources\n }), _image.tracedSVG && _react[\"default\"].createElement(Placeholder, {\n src: _image.tracedSVG,\n spreadProps: placeholderImageProps,\n imageVariants: _imageVariants,\n generateSources: generateTracedSVGSources\n }), this.state.isVisible && _react[\"default\"].createElement(\"picture\", null, generateImageSources(_imageVariants), _react[\"default\"].createElement(Img, {\n alt: alt,\n title: title,\n width: _image.width,\n height: _image.height,\n sizes: _image.sizes,\n src: _image.src,\n crossOrigin: this.props.crossOrigin,\n srcSet: _image.srcSet,\n style: imageStyle,\n ref: this.imageRef,\n onLoad: this.handleImageLoaded,\n onError: this.props.onError,\n itemProp: itemProp,\n loading: loading,\n draggable: draggable\n })), this.addNoScript && _react[\"default\"].createElement(\"noscript\", {\n dangerouslySetInnerHTML: {\n __html: noscriptImg((0, _extends2[\"default\"])({\n alt: alt,\n title: title,\n loading: loading\n }, _image, {\n imageVariants: _imageVariants\n }))\n }\n }));\n }\n\n return null;\n };\n\n return Image;\n}(_react[\"default\"].Component);\n\nImage.defaultProps = {\n fadeIn: true,\n durationFadeIn: 500,\n alt: \"\",\n Tag: \"div\",\n // We set it to `lazy` by default because it's best to default to a performant\n // setting and let the user \"opt out\" to `eager`\n loading: \"lazy\"\n};\n\nvar fixedObject = _propTypes[\"default\"].shape({\n width: _propTypes[\"default\"].number.isRequired,\n height: _propTypes[\"default\"].number.isRequired,\n src: _propTypes[\"default\"].string.isRequired,\n srcSet: _propTypes[\"default\"].string.isRequired,\n base64: _propTypes[\"default\"].string,\n tracedSVG: _propTypes[\"default\"].string,\n srcWebp: _propTypes[\"default\"].string,\n srcSetWebp: _propTypes[\"default\"].string,\n media: _propTypes[\"default\"].string\n});\n\nvar fluidObject = _propTypes[\"default\"].shape({\n aspectRatio: _propTypes[\"default\"].number.isRequired,\n src: _propTypes[\"default\"].string.isRequired,\n srcSet: _propTypes[\"default\"].string.isRequired,\n sizes: _propTypes[\"default\"].string.isRequired,\n base64: _propTypes[\"default\"].string,\n tracedSVG: _propTypes[\"default\"].string,\n srcWebp: _propTypes[\"default\"].string,\n srcSetWebp: _propTypes[\"default\"].string,\n media: _propTypes[\"default\"].string\n}); // 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 from \"react\"\nimport Header from \"./header\"\nimport Footer from \"./footer\"\nimport \"../styles/main.scss\"\nimport layoutStyles from \"./layout.module.scss\"\n\nconst Layout = (props) => {\n\n return(\n \n
\n
\n
\n { props.children } \n
\n \n )\n}\n\nexport default Layout","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport navStyles from \"./nav.module.scss\"\n\nconst Header = () => {\n return ( \n \n )\n}\n\nexport default Header\n\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","import React from \"react\"\nimport { Link, graphql, useStaticQuery } from \"gatsby\"\nimport Img from \"gatsby-image\"\nimport Layout from \"../components/layout\"\n\nconst TypeShade = () => {\n const data = useStaticQuery(graphql`\n query {\n imageOne: file(relativePath: { eq: \"projects_05/gallery/img_002.png\" }) {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n imageTwo: file(relativePath: { eq: \"projects_05/gallery/img_003.png\" }) {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n imageThree: file(relativePath: { eq: \"projects_05/gallery/img_004.png\" }) {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n `)\n return (\n \n
\n
\n
\n \n \n \n
\n
\n\n
\n

TypeMotion_02

\n
\n

\n TypeMotion_02 is a series of experiments that explore proceedural animation of text. Inspired by Tim Rodenbroeker's kinetic typography work and studio DIA's amazing work, I wanted to explore the potential for myself and delve into a little shader treatment too. Here is a humble presentation of tiny experiments which I hope will take on further form in the not so distant future. \n

\n\n

\n Project type : Formal research

\n Tools used : GLSL, Processing, fonts

\n Code Repository :{\" \"}\n \n DitherT Repo\n \n

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

TypeMotion_02 Experiments. 2019

\n
\n\n
\n

\n The above excerpts are all early tests that apply a few basic shader programs - sobel, channels and pixelisation. The static images below come from another program that applies dithering as well as channel manipulation. The idea here was to build on an early experimental program I wrote called DitherType. Again, I believe there is potential for working with students with this, introducing concepts such as proceedural animation, harmonic motion and letter form. Kinetic work like this is visually intriguing and as much as I can enjoy graphics in motion, I also appreciate the possibilities of static images like these which could be used for print. Composing images that express dynamic movement is as much a pleasure as a challenge for me.\n

\n
\n\n
\n \n

TypeMotion_02 Research_003. 2019

\n
\n
\n \n

TypeMotion_02 Research_004. 2019

\n
\n
\n \n

TypeMotion_02 Research_005. 2019

\n
\n\n
\n )\n}\n\nexport default TypeShade","import React from \"react\"\n\nconst Footer = () => {\n\n return (\n \n )\n}\n\nexport default Footer\n\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location, pageResources }) => {\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n"],"sourceRoot":""}