-
Notifications
You must be signed in to change notification settings - Fork 0
/
b4f28b8dde38944e0d9167a2fa550033034c9e0b-6214e83e8b012c6f235c.js.map
1 lines (1 loc) Β· 38.3 KB
/
b4f28b8dde38944e0d9167a2fa550033034c9e0b-6214e83e8b012c6f235c.js.map
1
{"version":3,"sources":["webpack:///./node_modules/smooth-scroll/dist/smooth-scroll.min.js","webpack:///./src/utils/scroll.js","webpack:///./src/hooks/useScrollEvent.js","webpack:///./src/components/scroll-indicator/scroll-indicator-mini/index.jsx","webpack:///./node_modules/smoothscroll-polyfill/dist/smoothscroll.js","webpack:///./src/components/bio/index.jsx","webpack:///./src/utils/event-manager.js"],"names":["e","global","window","this","C","w","ignore","header","topOnEmptyHash","speed","speedAsDuration","durationMax","durationMin","clip","offset","easing","customEasing","updateURL","popstate","emitEvents","L","n","Array","prototype","forEach","call","arguments","t","hasOwnProperty","r","charAt","substr","String","o","length","a","i","charCodeAt","InvalidCharacterError","toString","H","Math","max","document","body","scrollHeight","documentElement","offsetHeight","clientHeight","x","focus","activeElement","setAttribute","style","outline","scrollTo","Q","CustomEvent","bubbles","detail","anchor","toggle","dispatchEvent","O","I","M","A","cancelAnimationFrame","cancelScroll","s","Object","tagName","c","pageYOffset","querySelector","u","l","d","f","m","h","p","parseInt","getComputedStyle","height","offsetTop","q","g","offsetParent","min","innerHeight","y","v","S","E","abs","history","pushState","smoothScroll","JSON","stringify","id","title","matchMedia","matches","floor","requestAnimationFrame","b","defaultPrevented","button","metaKey","ctrlKey","shiftKey","target","closest","toLowerCase","hostname","location","pathname","test","href","decodeURIComponent","hash","preventDefault","replaceState","state","animateScroll","destroy","removeEventListener","Element","addEventListener","scroll","init","smoothscroll","polyfill","SmoothScroll","Error","go","dest","useScrollEvent","onScroll","useEffect","passive","ScrollIndicatorMini","isOnPage","scrollPercentage","Dom","textContent","EventManager","className","module","exports","__forceSmoothScrollPolyfill__","userAgent","HTMLElement","original","scrollBy","elementScroll","scrollElement","scrollIntoView","now","performance","bind","Date","ROUNDING_TOLERANCE","navigator","RegExp","join","undefined","shouldBailOut","left","scrollX","pageXOffset","top","scrollY","scrollLeft","scrollTop","SyntaxError","behavior","scrollableParent","findScrollableParent","parentRects","getBoundingClientRect","clientRects","position","firstArg","TypeError","hasScrollableSpace","el","axis","clientWidth","scrollWidth","canOverflow","overflowValue","isScrollable","isScrollableY","isScrollableX","parentNode","host","step","context","value","currentX","currentY","k","elapsed","startTime","cos","PI","startX","startY","method","scrollable","Bio","query","bioQuery","render","data","site","siteMetadata","author","social","introduction","fixed","avatar","childImageSharp","alt","borderRadius","to","github","medium","facebook","linkedin","toFit","cb","dismissCondition","triggerCondition","tick"],"mappings":"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","file":"b4f28b8dde38944e0d9167a2fa550033034c9e0b-6214e83e8b012c6f235c.js","sourcesContent":["/*! smooth-scroll v16.1.3 | (c) 2020 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */\n!function (e, t) {\n \"function\" == typeof define && define.amd ? define([], function () {\n return t(e);\n }) : \"object\" == typeof exports ? module.exports = t(e) : e.SmoothScroll = t(e);\n}(\"undefined\" != typeof global ? global : \"undefined\" != typeof window ? window : this, function (C) {\n \"use strict\";\n\n var w = {\n ignore: \"[data-scroll-ignore]\",\n header: null,\n topOnEmptyHash: !0,\n speed: 500,\n speedAsDuration: !1,\n durationMax: null,\n durationMin: null,\n clip: !0,\n offset: 0,\n easing: \"easeInOutCubic\",\n customEasing: null,\n updateURL: !0,\n popstate: !0,\n emitEvents: !0\n },\n L = function L() {\n var n = {};\n return Array.prototype.forEach.call(arguments, function (e) {\n for (var t in e) {\n if (!e.hasOwnProperty(t)) return;\n n[t] = e[t];\n }\n }), n;\n },\n r = function r(e) {\n \"#\" === e.charAt(0) && (e = e.substr(1));\n\n for (var t, n = String(e), o = n.length, a = -1, r = \"\", i = n.charCodeAt(0); ++a < o;) {\n if (0 === (t = n.charCodeAt(a))) throw new InvalidCharacterError(\"Invalid character: the input contains U+0000.\");\n 1 <= t && t <= 31 || 127 == t || 0 === a && 48 <= t && t <= 57 || 1 === a && 48 <= t && t <= 57 && 45 === i ? r += \"\\\\\" + t.toString(16) + \" \" : r += 128 <= t || 45 === t || 95 === t || 48 <= t && t <= 57 || 65 <= t && t <= 90 || 97 <= t && t <= 122 ? n.charAt(a) : \"\\\\\" + n.charAt(a);\n }\n\n return \"#\" + r;\n },\n H = function H() {\n return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n },\n q = function q(e) {\n return e ? (t = e, parseInt(C.getComputedStyle(t).height, 10) + e.offsetTop) : 0;\n var t;\n },\n x = function x(e, t, n) {\n 0 === e && document.body.focus(), n || (e.focus(), document.activeElement !== e && (e.setAttribute(\"tabindex\", \"-1\"), e.focus(), e.style.outline = \"none\"), C.scrollTo(0, t));\n },\n Q = function Q(e, t, n, o) {\n if (t.emitEvents && \"function\" == typeof C.CustomEvent) {\n var a = new CustomEvent(e, {\n bubbles: !0,\n detail: {\n anchor: n,\n toggle: o\n }\n });\n document.dispatchEvent(a);\n }\n };\n\n return function (o, e) {\n var O,\n a,\n I,\n M,\n A = {};\n A.cancelScroll = function (e) {\n cancelAnimationFrame(M), M = null, e || Q(\"scrollCancel\", O);\n }, A.animateScroll = function (a, r, e) {\n A.cancelScroll();\n var i = L(O || w, e || {}),\n s = \"[object Number]\" === Object.prototype.toString.call(a),\n t = s || !a.tagName ? null : a;\n\n if (s || t) {\n var c = C.pageYOffset;\n i.header && !I && (I = document.querySelector(i.header));\n\n var n,\n o,\n u,\n l,\n d,\n f,\n m,\n h,\n p = q(I),\n g = s ? a : function (e, t, n, o) {\n var a = 0;\n if (e.offsetParent) for (; a += e.offsetTop, e = e.offsetParent;) {\n ;\n }\n return a = Math.max(a - t - n, 0), o && (a = Math.min(a, H() - C.innerHeight)), a;\n }(t, p, parseInt(\"function\" == typeof i.offset ? i.offset(a, r) : i.offset, 10), i.clip),\n y = g - c,\n v = H(),\n S = 0,\n E = (n = y, u = (o = i).speedAsDuration ? o.speed : Math.abs(n / 1e3 * o.speed), o.durationMax && u > o.durationMax ? o.durationMax : o.durationMin && u < o.durationMin ? o.durationMin : parseInt(u, 10)),\n b = function b(e) {\n var t, n, o;\n l || (l = e), S += e - l, f = c + y * (n = d = 1 < (d = 0 === E ? 0 : S / E) ? 1 : d, \"easeInQuad\" === (t = i).easing && (o = n * n), \"easeOutQuad\" === t.easing && (o = n * (2 - n)), \"easeInOutQuad\" === t.easing && (o = n < .5 ? 2 * n * n : (4 - 2 * n) * n - 1), \"easeInCubic\" === t.easing && (o = n * n * n), \"easeOutCubic\" === t.easing && (o = --n * n * n + 1), \"easeInOutCubic\" === t.easing && (o = n < .5 ? 4 * n * n * n : (n - 1) * (2 * n - 2) * (2 * n - 2) + 1), \"easeInQuart\" === t.easing && (o = n * n * n * n), \"easeOutQuart\" === t.easing && (o = 1 - --n * n * n * n), \"easeInOutQuart\" === t.easing && (o = n < .5 ? 8 * n * n * n * n : 1 - 8 * --n * n * n * n), \"easeInQuint\" === t.easing && (o = n * n * n * n * n), \"easeOutQuint\" === t.easing && (o = 1 + --n * n * n * n * n), \"easeInOutQuint\" === t.easing && (o = n < .5 ? 16 * n * n * n * n * n : 1 + 16 * --n * n * n * n * n), t.customEasing && (o = t.customEasing(n)), o || n), C.scrollTo(0, Math.floor(f)), function (e, t) {\n var n = C.pageYOffset;\n if (e == t || n == t || (c < t && C.innerHeight + n) >= v) return A.cancelScroll(!0), x(a, t, s), Q(\"scrollStop\", i, a, r), !(M = l = null);\n }(f, g) || (M = C.requestAnimationFrame(b), l = e);\n };\n\n 0 === C.pageYOffset && C.scrollTo(0, 0), m = a, h = i, s || history.pushState && h.updateURL && history.pushState({\n smoothScroll: JSON.stringify(h),\n anchor: m.id\n }, document.title, m === document.documentElement ? \"#top\" : \"#\" + m.id), \"matchMedia\" in C && C.matchMedia(\"(prefers-reduced-motion)\").matches ? x(a, Math.floor(g), !1) : (Q(\"scrollStart\", i, a, r), A.cancelScroll(!0), C.requestAnimationFrame(b));\n }\n };\n\n var t = function t(e) {\n if (!e.defaultPrevented && !(0 !== e.button || e.metaKey || e.ctrlKey || e.shiftKey) && \"closest\" in e.target && (a = e.target.closest(o)) && \"a\" === a.tagName.toLowerCase() && !e.target.closest(O.ignore) && a.hostname === C.location.hostname && a.pathname === C.location.pathname && /#/.test(a.href)) {\n var t, n;\n\n try {\n t = r(decodeURIComponent(a.hash));\n } catch (e) {\n t = r(a.hash);\n }\n\n if (\"#\" === t) {\n if (!O.topOnEmptyHash) return;\n n = document.documentElement;\n } else n = document.querySelector(t);\n\n (n = n || \"#top\" !== t ? n : document.documentElement) && (e.preventDefault(), function (e) {\n if (history.replaceState && e.updateURL && !history.state) {\n var t = C.location.hash;\n t = t || \"\", history.replaceState({\n smoothScroll: JSON.stringify(e),\n anchor: t || C.pageYOffset\n }, document.title, t || C.location.href);\n }\n }(O), A.animateScroll(n, a));\n }\n },\n n = function n(e) {\n if (null !== history.state && history.state.smoothScroll && history.state.smoothScroll === JSON.stringify(O)) {\n var t = history.state.anchor;\n \"string\" == typeof t && t && !(t = document.querySelector(r(history.state.anchor))) || A.animateScroll(t, null, {\n updateURL: !1\n });\n }\n };\n\n A.destroy = function () {\n O && (document.removeEventListener(\"click\", t, !1), C.removeEventListener(\"popstate\", n, !1), A.cancelScroll(), M = I = a = O = null);\n };\n\n return function () {\n if (!(\"querySelector\" in document && \"addEventListener\" in C && \"requestAnimationFrame\" in C && \"closest\" in C.Element.prototype)) throw \"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.\";\n A.destroy(), O = L(w, e || {}), I = O.header ? document.querySelector(O.header) : null, document.addEventListener(\"click\", t, !1), O.updateURL && O.popstate && C.addEventListener(\"popstate\", n, !1);\n }(), A;\n };\n});","import SmoothScroll from 'smooth-scroll/dist/smooth-scroll.min'\nimport smoothscroll from 'smoothscroll-polyfill'\n\nlet scroll\n\nexport function init() {\n smoothscroll.polyfill()\n scroll = new SmoothScroll('a[href*=\"#\"]', {\n speed: 500,\n speedAsDuration: true,\n })\n return scroll\n}\n\nexport function destroy() {\n if (!scroll) throw Error('Not founded SmoothScroll instance')\n\n scroll.destroy()\n scroll = null\n\n return scroll\n}\n\nexport function go(dest) {\n if (!scroll) throw Error('Not founded SmoothScroll instance')\n\n scroll.animateScroll(dest)\n\n return scroll\n}\n","import { useEffect } from 'react'\n\nexport function useScrollEvent(onScroll) {\n useEffect(() => {\n window.addEventListener(`scroll`, onScroll, { passive: false })\n return () => {\n window.removeEventListener(`scroll`, onScroll, { passive: false })\n }\n }, [])\n}\n","import React from 'react'\nimport { useScrollEvent } from '../../../hooks/useScrollEvent'\nimport * as EventManager from '../../../utils/event-manager'\nimport * as Dom from '../../../utils/dom'\n\nimport './index.scss'\n\nexport const ScrollIndicatorMini = ({ isOnPage }) => {\n const onScroll = () => {\n const scrollPercentage = Dom.getScrollPercent()\n\n const displayElement = Dom.getElement('.scroll-indicator-mini')\n displayElement.textContent = `${scrollPercentage}%`\n }\n\n useScrollEvent(() => {\n return EventManager.toFit(onScroll, {})()\n })\n\n return isOnPage ? (\n <div className=\"scroll-indicator-mini on-page\">0%</div>\n ) : (\n <div className=\"scroll-indicator-mini on-content\">0%</div>\n )\n}\n","/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict'; // polyfill\n\n function polyfill() {\n // aliases\n var w = window;\n var d = document; // return if scroll behavior is supported and polyfill is not forced\n\n if ('scrollBehavior' in d.documentElement.style && w.__forceSmoothScrollPolyfill__ !== true) {\n return;\n } // globals\n\n\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468; // object gathering original scroll methods\n\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n }; // define timing method\n\n var now = w.performance && w.performance.now ? w.performance.now.bind(w.performance) : Date.now;\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n\n\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n\n\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n\n\n function shouldBailOut(firstArg) {\n if (firstArg === null || typeof firstArg !== 'object' || firstArg.behavior === undefined || firstArg.behavior === 'auto' || firstArg.behavior === 'instant') {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n } // throw error when behavior is not supported\n\n\n throw new TypeError('behavior member of ScrollOptions ' + firstArg.behavior + ' is not a valid value for enumeration ScrollBehavior.');\n }\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n\n\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n return isScrollableY || isScrollableX;\n }\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n\n\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n\n\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME; // avoid elapsed times higher than one\n\n elapsed = elapsed > 1 ? 1 : elapsed; // apply easing to elapsed time\n\n value = ease(elapsed);\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n context.method.call(context.scrollable, currentX, currentY); // scroll more if we have not reached our destination\n\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n\n\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now(); // define scroll context\n\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n } // scroll looping over a frame\n\n\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n } // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n\n\n w.scroll = w.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : w.scrollX || w.pageXOffset, // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : w.scrollY || w.pageYOffset);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, arguments[0].left !== undefined ? ~~arguments[0].left : w.scrollX || w.pageXOffset, arguments[0].top !== undefined ? ~~arguments[0].top : w.scrollY || w.pageYOffset);\n }; // w.scrollBy\n\n\n w.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(w, arguments[0].left !== undefined ? arguments[0].left : typeof arguments[0] !== 'object' ? arguments[0] : 0, arguments[0].top !== undefined ? arguments[0].top : arguments[1] !== undefined ? arguments[1] : 0);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n smoothScroll.call(w, d.body, ~~arguments[0].left + (w.scrollX || w.pageXOffset), ~~arguments[0].top + (w.scrollY || w.pageYOffset));\n }; // Element.prototype.scroll and Element.prototype.scrollTo\n\n\n Element.prototype.scroll = Element.prototype.scrollTo = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(this, // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined ? ~~arguments[0].left : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft, // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined ? ~~arguments[0].top : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop);\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top; // LET THE SMOOTHNESS BEGIN!\n\n smoothScroll.call(this, this, typeof left === 'undefined' ? this.scrollLeft : ~~left, typeof top === 'undefined' ? this.scrollTop : ~~top);\n }; // Element.prototype.scrollBy\n\n\n Element.prototype.scrollBy = function () {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n } // avoid smooth behavior if not required\n\n\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(this, arguments[0].left !== undefined ? ~~arguments[0].left + this.scrollLeft : ~~arguments[0] + this.scrollLeft, arguments[0].top !== undefined ? ~~arguments[0].top + this.scrollTop : ~~arguments[1] + this.scrollTop);\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n }; // Element.prototype.scrollIntoView\n\n\n Element.prototype.scrollIntoView = function () {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(this, arguments[0] === undefined ? true : arguments[0]);\n return;\n } // LET THE SMOOTHNESS BEGIN!\n\n\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(this, scrollableParent, scrollableParent.scrollLeft + clientRects.left - parentRects.left, scrollableParent.scrollTop + clientRects.top - parentRects.top); // reveal parent in viewport unless is fixed\n\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = {\n polyfill: polyfill\n };\n } else {\n // global\n polyfill();\n }\n})();","import React from 'react'\nimport { StaticQuery, graphql, Link } from 'gatsby'\nimport Image from 'gatsby-image'\n\nimport './index.scss'\n\nexport const Bio = () => (\n <StaticQuery\n query={bioQuery}\n render={data => {\n const { author, social, introduction } = data.site.siteMetadata\n\n return (\n <div className=\"bio\">\n <div className=\"author\">\n <div className=\"author-description\">\n <Image\n className=\"author-image\"\n fixed={data.avatar.childImageSharp.fixed}\n alt={author}\n style={{\n borderRadius: `100%`,\n }}\n />\n <div className=\"author-name\">\n <span className=\"author-name-prefix\">Written by</span>\n <Link to={'/about'} className=\"author-name-content\">\n <span>{author}</span>\n </Link>\n <div className=\"author-introduction\">{introduction}</div>\n <p className=\"author-socials\">\n {social.github && (\n <a href={`https://github.com/${social.github}`}>GitHub</a>\n )}\n {social.medium && (\n <a href={`https://medium.com/${social.medium}`}>Medium</a>\n )}\n {social.facebook && (\n <a href={`https://www.facebook.com/${social.facebook}`}>\n Facebook\n </a>\n )}\n {social.linkedin && (\n <a href={`https://www.linkedin.com/in/${social.linkedin}/`}>\n LinkedIn\n </a>\n )}\n </p>\n </div>\n </div>\n </div>\n </div>\n )\n }}\n />\n)\n\nconst bioQuery = graphql`\n query BioQuery {\n avatar: file(absolutePath: { regex: \"/profile.png/\" }) {\n childImageSharp {\n fixed(width: 72, height: 72) {\n ...GatsbyImageSharpFixed\n }\n }\n }\n site {\n siteMetadata {\n author\n introduction\n social {\n github\n medium\n facebook\n linkedin\n }\n }\n }\n }\n`\n\nexport default Bio\n","export function toFit(\n cb,\n { dismissCondition = () => false, triggerCondition = () => true }\n) {\n if (!cb) {\n throw Error('Invalid required arguments')\n }\n\n let tick = false\n\n return function() {\n if (tick) {\n return\n }\n\n tick = true\n return requestAnimationFrame(() => {\n if (dismissCondition()) {\n tick = false\n return\n }\n\n if (triggerCondition()) {\n tick = false\n return cb()\n }\n })\n }\n}\n"],"sourceRoot":""}