{"version":3,"file":"504.b0603133ee5afdf46d0d.js","mappings":"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","sources":["webpack://gripped.web/./node_modules/tornis/src/tornis.js","webpack://gripped.web/./wwwroot/app/src/js/keyboard-accessibility-check.js","webpack://gripped.web/./wwwroot/app/src/js/main-navigation.js","webpack://gripped.web/./wwwroot/app/src/js/scrolling.js"],"sourcesContent":["// Check if the module is initialised during server-side rendering\nconst isSSR = typeof window === 'undefined';\n\n/**\n * Simple throttling helper that limits a \n * function to only run once every {delay}ms\n * @param {Number} delay The delay in ms\n * @param {Function} fn the function to throttle\n */\nfunction throttled(delay, fn) {\n let lastCall = 0;\n return function(...args) {\n const now = new Date().getTime();\n if (now - lastCall < delay) {\n return;\n }\n lastCall = now;\n return fn(...args);\n };\n}\n\n/**\n * Calculates the mean value in an array\n * @param {Array} arr The array to average\n */\nfunction getMean(arr) {\n return Math.floor(arr.reduce((acc, curr) => {\n return acc + curr;\n }, 0) / arr.length);\n}\n\n/**\n * Main Tornis singleton class\n */\nclass Tornis {\n // set a whole load of initial values\n constructor() {\n\n // Exit out if this is running server-side\n if (isSSR) return;\n\n this.lastX = 0;\n this.lastY = 0;\n this.lastWidth = window.innerWidth;\n this.lastHeight = window.innerHeight;\n this.lastMouseX = 0;\n this.lastMouseY = 0;\n this.lastWindowX = window.screenX;\n this.lastWindowY = window.screenY;\n\n // device orientation\n this.lastAlpha = 0;\n this.lastBeta = 0;\n this.lastGamma = 0;\n this.currAlpha = 0;\n this.currBeta = 0;\n this.currGamma = 0;\n\n this.scrollHeight = document.body.scrollHeight;\n\n this.scrollChange = false;\n this.sizeChange = false;\n this.mouseChange = false;\n this.positionChange = false;\n this.orientationChange = false;\n this.devicePixelRatioChange = false;\n\n this.currX = 0;\n this.currY = 0;\n this.currWidth = window.innerWidth;\n this.currHeight = window.innerHeight;\n this.currMouseX = 0;\n this.currMouseY = 0;\n this.currWindowX = 0;\n \n // device pixel ratio (where able)\n this.currDevicePixelRatio = this.lastDevicePixelRatio = Math.max( window.devicePixelRatio || 1.0, 1.0 );\n \n // initialise array buffers for mouse velocity\n this.mouseXVelocity = [];\n this.mouseYVelocity = [];\n this.lastMouseXVelocity = 0;\n this.lastMouseYVelocity = 0;\n\n // initialise array buffers for window velocity\n this.windowXVelocity = [];\n this.windowYVelocity = [];\n this.lastWindowXVelocity = 0;\n this.lastWindowYVelocity = 0;\n\n\n // flag to limit rAF renders\n this.updating = false;\n\n // initialise the watched function queue\n this.callbacks = [];\n\n // bind this to ease class methods\n this.update = this.update.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleMouse = this.handleMouse.bind(this);\n this.handleOrientation = this.handleOrientation.bind(this);\n this.recalibrateOrientation = this.recalibrateOrientation.bind(this);\n this.formatData = this.formatData.bind(this);\n this.watch = this.watch.bind(this);\n this.unwatch = this.unwatch.bind(this);\n\n // throttled event handlers\n this.handleResize = throttled(110, this.handleResize); // resize is brutal, so throttle it more\n this.handleMouse = throttled(75, this.handleMouse);\n\n // bind event handlers to the window\n window.addEventListener('resize', this.handleResize);\n window.addEventListener('mousemove', this.handleMouse);\n window.addEventListener('deviceorientation', this.handleOrientation);\n\n // begin the update loop\n requestAnimationFrame(this.update);\n }\n\n /**\n * Event handler to capture screen size\n */\n handleResize(e) {\n this.currWidth = window.innerWidth;\n this.currHeight = window.innerHeight;\n }\n\n /**\n * Event handler to capture mouse position\n */\n handleMouse(e) {\n this.currMouseX = e.clientX;\n this.currMouseY = e.clientY;\n }\n\n /**\n * Event handler to capture device orientation\n */\n handleOrientation(e) {\n // cache initial position for calibration\n if (!this.initialAlpha) { this.initialAlpha = e.alpha; }\n if (!this.initialBeta) { this.initialBeta = e.beta; }\n if (!this.initialGamma) { this.initialGamma = e.gamma; }\n \n this.currAlpha = e.alpha;\n this.currBeta = e.beta;\n this.currGamma = e.gamma;\n }\n\n /** \n * Allow initial orientation to be reset to the last recorded values\n */\n recalibrateOrientation() {\n // cache the old values\n const calibration = {\n prev: {\n alpha: this.initialAlpha,\n beta: this.initialBeta,\n gamma: this.initialGamma,\n }\n };\n\n // reset the values to the last recorded position\n this.initialAlpha = this.lastAlpha;\n this.initialBeta = this.lastBeta;\n this.initialGamma = this.lastGamma;\n \n // add the new values to the cached calibration data\n calibration.current = {\n alpha: this.initialAlpha,\n beta: this.initialBeta,\n gamma: this.initialGamma,\n };\n\n return calibration;\n }\n\n /**\n * Returns a copy of the store data, formatted for public use\n */\n formatData() {\n return {\n scroll: {\n changed: this.scrollChange,\n left: Math.floor(this.lastX),\n right: Math.floor(this.lastX + this.lastWidth),\n top: Math.floor(this.lastY),\n bottom: Math.floor(this.lastY + this.lastHeight),\n velocity: {\n x: Math.floor(this.scrollXVelocity) || 0,\n y: Math.floor(this.scrollYVelocity) || 0\n }\n },\n size: {\n changed: this.sizeChange,\n x: Math.floor(this.lastWidth),\n y: Math.floor(this.lastHeight),\n docY: Math.floor(this.scrollHeight)\n },\n mouse: {\n changed: this.mouseChange,\n x: Math.floor(this.lastMouseX),\n y: Math.floor(this.lastMouseY),\n velocity: {\n x: Math.floor(this.lastMouseXVelocity) || 0,\n y: Math.floor(this.lastMouseYVelocity) || 0\n }\n },\n position: {\n changed: this.positionChange,\n left: Math.floor(this.lastWindowX),\n right: Math.floor(this.lastWindowX + this.lastWidth),\n top: Math.floor(this.lastWindowY),\n bottom: Math.floor(this.lastWindowY + this.lastHeight),\n velocity: {\n x: Math.floor(this.lastWindowXVelocity) || 0,\n y: Math.floor(this.lastWindowYVelocity) || 0\n }\n },\n orientation: {\n changed: this.orientationChange,\n // These values are relative to the first calibrated value\n alpha: Math.floor(this.lastAlpha - this.initialAlpha) || 0,\n beta: Math.floor(this.lastBeta - this.initialBeta) || 0,\n gamma: Math.floor(this.lastGamma - this.initialGamma) || 0\n },\n devicePixelRatio: {\n changed: this.devicePixelRatioChange,\n ratio: this.currDevicePixelRatio\n }\n };\n }\n\n /**\n * Update function to be looped by requestAnimationFrame\n */\n update() {\n const {\n currWidth,\n currHeight,\n currMouseX,\n currMouseY,\n currAlpha,\n currBeta,\n currGamma,\n currDevicePixelRatio\n } = this;\n if (this.updating) return false;\n\n // reset the flags\n this.scrollChange = this.sizeChange = this.mouseChange = this.positionChange = this.orientationChange = this.devicePixelRatioChange = false;\n\n // we need to grab a buffer of the last five values and average them\n if (this.windowXVelocity.length > 5) { this.windowXVelocity.shift(); }\n this.windowXVelocity.push(window.screenX - this.lastWindowX);\n\n // see if the average velocity changed\n if (getMean(this.windowXVelocity) != this.lastWindowXVelocity) {\n this.lastWindowXVelocity = getMean(this.windowXVelocity);\n this.positionChange = true;\n }\n\n // check window X position\n if (window.screenX != this.lastWindowX) {\n this.positionChange = true;\n this.lastWindowX = window.screenX;\n }\n\n // we need to grab a buffer of the last five values and average them\n if (this.windowYVelocity.length > 5) { this.windowYVelocity.shift(); }\n this.windowYVelocity.push(window.screenY - this.lastWindowY);\n\n // see if the average velocity changed\n if (getMean(this.windowYVelocity) != this.lastWindowYVelocity) {\n this.lastWindowYVelocity = getMean(this.windowYVelocity);\n this.positionChange = true;\n }\n\n // check window Y position\n if (window.screenY != this.lastWindowY) {\n this.positionChange = true;\n this.lastWindowY = window.screenY;\n }\n \n\n // reset scroll X velocity\n if (window.pageXOffset == this.lastX && this.scrollXVelocity != 0) {\n this.scrollXVelocity = 0;\n this.scrollChange = true;\n }\n\n // reset scroll Y velocity\n if (window.pageYOffset == this.lastY && this.scrollYVelocity != 0) {\n this.scrollYVelocity = 0;\n this.scrollChange = true;\n }\n \n // check scroll X\n if (window.pageXOffset != this.lastX) {\n this.scrollChange = true;\n this.scrollXVelocity = Math.floor(window.pageXOffset - this.lastX);\n this.lastX = window.pageXOffset;\n }\n \n // check scroll Y\n if (window.pageYOffset != this.lastY) {\n this.scrollChange = true;\n this.scrollYVelocity = Math.floor(window.pageYOffset - this.lastY);\n this.lastY = window.pageYOffset;\n }\n\n // check width\n if (currWidth != this.lastWidth) {\n this.lastWidth = currWidth;\n this.scrollHeight = document.body.scrollHeight;\n this.sizeChange = true;\n }\n\n // check height\n if (currHeight != this.lastHeight) {\n this.lastHeight = currHeight;\n this.sizeChange = true;\n }\n\n // Mouse input is throttled so in order to capture the velocity\n // we need to grab a buffer of the last five values and average them\n if (this.mouseXVelocity.length > 5) { this.mouseXVelocity.shift(); }\n this.mouseXVelocity.push(currMouseX - this.lastMouseX);\n\n // see if the average velocity changed\n if (getMean(this.mouseXVelocity) != this.lastMouseXVelocity) {\n this.lastMouseXVelocity = getMean(this.mouseXVelocity);\n this.mouseChange = true;\n }\n \n // check mouse X\n if (currMouseX != this.lastMouseX) {\n this.lastMouseX = currMouseX;\n this.mouseChange = true;\n }\n\n // grab the mouse Y velocity\n if (this.mouseYVelocity.length > 5) { this.mouseYVelocity.shift(); }\n this.mouseYVelocity.push(currMouseY - this.lastMouseY);\n\n // see if the average velocity changed\n if (getMean(this.mouseYVelocity) != this.lastMouseYVelocity) {\n this.lastMouseYVelocity = getMean(this.mouseYVelocity);\n this.mouseChange = true;\n }\n \n // check mouse y\n if (currMouseY != this.lastMouseY || getMean(this.mouseYVelocity) != 0) {\n this.lastMouseY = currMouseY;\n this.mouseChange = true;\n }\n\n // orientation\n if (currAlpha != this.lastAlpha) {\n this.lastAlpha = currAlpha;\n this.orientationChange = true;\n }\n\n if (currBeta != this.lastBeta) {\n this.lastBeta = currBeta;\n this.orientationChange = true;\n }\n\n if (currGamma != this.lastGamma) {\n this.lastGamma = currGamma;\n this.orientationChange = true;\n }\n \n // device pixel ratio, but only if the window has moved\n if ( this.positionChange || this.sizeChange )\n {\n this.currDevicePixelRatio = Math.max( window.devicePixelRatio || 1, 1 );\n \n if ( this.currDevicePixelRatio !== this.lastDevicePixelRatio )\n {\n this.devicePixelRatioChange = true;\n this.lastDevicePixelRatio = this.currDevicePixelRatio;\n }\n }\n\n // Finally, we can invoke the callbacks, but if something has changed\n if (\n this.scrollChange ||\n this.sizeChange ||\n this.mouseChange ||\n this.positionChange ||\n this.orientationChange ||\n this.devicePixelRatioChange\n ) {\n // pass the formatted data into each watched function\n this.callbacks.forEach(cb => cb(this.formatData()));\n }\n\n // reset and loop this method\n this.updating = false;\n requestAnimationFrame(this.update);\n }\n\n /**\n * Subscribes a function to the 'watched functions' list.\n * Watched functions will be automatically called on update\n * @param {Function} callback The function to call on update\n * @param {Boolean} callOnWatch Call the function on subscribe? defaults to true\n */\n watch(callback, callOnWatch = true) {\n if (typeof callback !== 'function') {\n throw new Error('Value passed to Watch is not a function');\n }\n\n // Exit out if this is running server-side\n if (isSSR) return;\n\n if (callOnWatch) {\n // get a copy of the store\n const firstRunData = this.formatData();\n\n // Most watch functions will have guard clauses that check for change\n // To cicumvent this, we simulate that all values have changed on first run\n firstRunData.scroll.changed = true;\n firstRunData.mouse.changed = true;\n firstRunData.size.changed = true;\n firstRunData.position.changed = true;\n firstRunData.orientation.changed = true;\n firstRunData.devicePixelRatio.changed = true;\n \n // run the callback using the simulated data\n callback(firstRunData);\n }\n\n // push the callback to the queue to ensure it runs on future updates\n this.callbacks.push(callback);\n }\n\n /**\n * Unsubscribe a function from the 'watched functions' list\n * @param {Function} callback The function to be removed\n */\n unwatch(callback) {\n if (typeof callback !== 'function') {\n throw new Error('The value passed to unwatch is not a function');\n }\n\n // Exit out if this is running server-side\n if (isSSR) return;\n\n // remove the callback from the list\n this.callbacks = this.callbacks.filter(cb => cb !== callback);\n }\n\n}\n\n\n// Create a singleton instance of Tornis\nconst TORNIS = new Tornis();\n\nif (!isSSR) {\n // Expose a limited set of functions to a global, in order to allow access for basic script usage with