{"version":3,"sources":["webpack:///./js/components/init-check-page.ts","webpack:///./js/utils/smoothScroll.ts","webpack:///./node_modules/when-dom-ready/dist/index.es2015.js"],"names":["whenDomReady","then","elements","Array","from","document","querySelectorAll","forEach","element","addEventListener","e","preventDefault","currHref","currentTarget","href","includes","window","location","parts","split","onPage","querySelector","scrollToSmoothly","offsetTop","pos","time","currentPos","scrollY","screenTop","start","requestAnimationFrame","step","currentTime","progress","scrollTo","loadedStates","cb","doc","Promise","resolve","done","setTimeout","indexOf","readyState","resume","val"],"mappings":"2FAAA,4BA2BAA,cAAeC,MAzBf,WACI,IAAMC,EAAWC,MAAMC,KAAKC,SAASC,iBAAiB,mBACjDJ,GAGLA,EAASK,SAAQ,SAAAC,GACbA,EAAQC,iBAAiB,SAAS,SAAAC,GAC9BA,EAAEC,iBACF,IAEMC,EAFMF,EAAEG,cAEOC,KAChBF,EAASG,SAAS,OACnBC,OAAOC,SAASH,KAAOF,GAE3B,IAAMM,EAAQN,EAASO,MAAM,KACvBC,EAASf,SAASgB,cAAT,WAA2BH,EAAM,KAC5CE,EACAE,YAAiBF,EAAOG,UAAW,KAGnCP,OAAOC,SAASH,KAAOF,Y,iCCtBxB,SAASU,EAAiBE,EAAKC,GAC1C,KAAID,EAAM,GAAKC,EAAO,GAAtB,CAGA,IAAMC,EAAaV,OAAOW,SAAWX,OAAOY,UACxCC,EAAQ,KACZb,OAAOc,uBAAsB,SAASC,EAAKC,GAEvC,GADAH,EAASA,GAAQG,EACbN,EAAaF,EAAK,CAClB,IAAMS,EAAWD,EAAcH,EAC/Bb,OAAOkB,SAAS,GAAKV,EAAME,GAAcO,EAAYR,EAAOC,GACxDO,EAAWR,EACXT,OAAOc,sBAAsBC,GAG7Bf,OAAOkB,SAAS,EAAGV,OAGtB,CACD,IAAMS,EAAWD,EAAcH,EAC/Bb,OAAOkB,SAAS,EAAGR,GAAeA,EAAaF,GAAOS,EAAYR,GAC9DQ,EAAWR,EACXT,OAAOc,sBAAsBC,GAG7Bf,OAAOkB,SAAS,EAAGV,QAzBnC,mC,gCCGA,IAAIW,EAAe,CAAC,cAAe,YAG/BnC,EAAe,SAAsBoC,EAAIC,GAC5C,OAAO,IAAIC,SAAQ,SAAUC,GAExBH,GAAoB,mBAAPA,IAChBC,EAAMD,EACNA,EAAK,MAINC,EAAMA,GAAOrB,OAAOX,SAGpB,IAAImC,EAAO,WACV,OAAOD,OAAcH,GAAMK,WAAWL,OAKO,IAA1CD,EAAaO,QAAQL,EAAIM,YAC5BH,IAEAH,EAAI5B,iBAAiB,mBAAoB+B,OAM5CxC,EAAa4C,OAAS,SAAUP,GAC/B,OAAO,SAAUQ,GAChB,OAAO7C,EAAaqC,GAAKpC,MAAK,WAC7B,OAAO4C,OAKK","file":"18-5cea69b78c0826593318.js","sourcesContent":["import scrollToSmoothly from '../utils/smoothScroll';\r\nimport whenDomReady from 'when-dom-ready';\r\nfunction initialise() {\r\n const elements = Array.from(document.querySelectorAll('.js-check-page'));\r\n if (!elements) {\r\n return;\r\n }\r\n elements.forEach(element => {\r\n element.addEventListener('click', e => {\r\n e.preventDefault();\r\n const tag = e.currentTarget;\r\n // Work out link\r\n const currHref = tag.href;\r\n if (!currHref.includes('#')) {\r\n window.location.href = currHref;\r\n }\r\n const parts = currHref.split('#');\r\n const onPage = document.querySelector(`#${parts[1]}`);\r\n if (onPage) {\r\n scrollToSmoothly(onPage.offsetTop, 800);\r\n }\r\n else {\r\n window.location.href = currHref;\r\n }\r\n });\r\n });\r\n}\r\nwhenDomReady().then(initialise);\r\n","export default function scrollToSmoothly(pos, time) {\r\n if (pos < 0 || time < 0) {\r\n return;\r\n }\r\n const currentPos = window.scrollY || window.screenTop;\r\n let start = null;\r\n window.requestAnimationFrame(function step(currentTime) {\r\n start = !start ? currentTime : start;\r\n if (currentPos < pos) {\r\n const progress = currentTime - start;\r\n window.scrollTo(0, ((pos - currentPos) * progress) / time + currentPos);\r\n if (progress < time) {\r\n window.requestAnimationFrame(step);\r\n }\r\n else {\r\n window.scrollTo(0, pos);\r\n }\r\n }\r\n else {\r\n const progress = currentTime - start;\r\n window.scrollTo(0, currentPos - ((currentPos - pos) * progress) / time);\r\n if (progress < time) {\r\n window.requestAnimationFrame(step);\r\n }\r\n else {\r\n window.scrollTo(0, pos);\r\n }\r\n }\r\n });\r\n}\r\n","/* eslint no-void: \"off\" */\n\n// Loaded ready states\nvar loadedStates = ['interactive', 'complete'];\n\n// Return Promise\nvar whenDomReady = function whenDomReady(cb, doc) {\n\treturn new Promise(function (resolve) {\n\t\t// Allow doc to be passed in as the lone first param\n\t\tif (cb && typeof cb !== 'function') {\n\t\t\tdoc = cb;\n\t\t\tcb = null;\n\t\t}\n\n\t\t// Use global document if we don't have one\n\t\tdoc = doc || window.document;\n\n\t\t// Handle DOM load\n\t\tvar done = function done() {\n\t\t\treturn resolve(void (cb && setTimeout(cb)));\n\t\t};\n\n\t\t// Resolve now if DOM has already loaded\n\t\t// Otherwise wait for DOMContentLoaded\n\t\tif (loadedStates.indexOf(doc.readyState) !== -1) {\n\t\t\tdone();\n\t\t} else {\n\t\t\tdoc.addEventListener('DOMContentLoaded', done);\n\t\t}\n\t});\n};\n\n// Promise chain helper\nwhenDomReady.resume = function (doc) {\n\treturn function (val) {\n\t\treturn whenDomReady(doc).then(function () {\n\t\t\treturn val;\n\t\t});\n\t};\n};\n\nexport default whenDomReady;\n//# sourceMappingURL=index.es2015.js.map\n"],"sourceRoot":""}