{"version":3,"sources":["webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/parallax-js/dist/parallax.js","webpack:///./app/javascript/packs/frontpage/header.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","g","this","Function","e","window","module","exports","f","t","n","r","s","o","u","i","Error","code","l","call","length","1","require","getOwnPropertySymbols","Object","hasOwnProperty","propIsEnumerable","propertyIsEnumerable","toObject","val","undefined","TypeError","assign","test1","String","getOwnPropertyNames","test2","fromCharCode","map","join","test3","split","forEach","letter","keys","err","shouldUseNative","target","source","from","symbols","to","arguments","key","2","process","getNanoSeconds","hrtime","loadTime","moduleLoadTime","nodeLoadTime","upTime","performance","now","hr","uptime","Date","getTime","3","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","marker","runClearTimeout","Item","array","noop","nextTick","args","Array","push","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","4","global","root","vendors","suffix","raf","caf","last","id","callback","_now","next","Math","max","cp","slice","cancelled","round","handle","fn","cancel","polyfill","requestAnimationFrame","cancelAnimationFrame","self","5","_createClass","defineProperties","props","descriptor","enumerable","configurable","writable","defineProperty","Constructor","protoProps","staticProps","rqAnFr","objectAssign","helpers","propertyCache","clamp","value","min","data","element","deserialize","getAttribute","isNaN","parseFloat","isFinite","camelCase","replace","match","character","toUpperCase","accelerate","css","transformSupport","document","createElement","propertySupport","propertyValue","featureSupport","cssProperty","jsProperty","style","body","documentElement","documentOverflow","overflow","isCreatedBody","appendChild","background","getComputedStyle","getPropertyValue","removeChild","removeAttribute","parentNode","property","DEFAULTS","relativeInput","clipRelativeInput","inputElement","hoverOnly","calibrationThreshold","calibrationDelay","supportDelay","calibrateX","calibrateY","invertX","invertY","limitX","limitY","scalarX","scalarY","frictionX","frictionY","originX","originY","pointerEvents","precision","onReady","selector","Parallax","options","instance","_classCallCheck","querySelector","calibrationTimer","calibrationFlag","enabled","depthsX","depthsY","bounds","elementPositionX","elementPositionY","elementWidth","elementHeight","elementCenterX","elementCenterY","elementRangeX","elementRangeY","calibrationX","calibrationY","inputX","inputY","motionX","motionY","velocityX","velocityY","onMouseMove","bind","onDeviceOrientation","onDeviceMotion","onOrientationTimer","onMotionTimer","onCalibrationTimer","onAnimationFrame","onWindowResize","windowWidth","windowHeight","windowCenterX","windowCenterY","windowRadiusX","windowRadiusY","portrait","desktop","navigator","userAgent","motionSupport","DeviceMotionEvent","orientationSupport","DeviceOrientationEvent","orientationStatus","motionStatus","initialise","transform2DSupport","transform3DSupport","position","updateLayers","updateDimensions","enable","queueCalibration","layers","querySelectorAll","children","console","warn","index","layer","display","left","top","depth","innerWidth","innerHeight","getBoundingClientRect","width","height","delay","addEventListener","detectionTimer","doReadyCallback","removeEventListener","x","y","toFixed","disable","updateBounds","calibratedInputX","calibratedInputY","abs","depthX","depthY","xOffset","yOffset","setPosition","beta","gamma","event","rotate","rotationRate","clientX","clientY","$","scene","get","paroller","factor","factorXs","type","direction"],"mappings":"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","file":"js/frontpage/header-6906bc3b65d0a0ead437.chunk.js","sourcesContent":["function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n(function (f) {\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === \"object\" && typeof module !== \"undefined\") {\n module.exports = f();\n } else if (typeof define === \"function\" && define.amd) {\n define([], f);\n } else {\n var g;\n\n if (typeof window !== \"undefined\") {\n g = window;\n } else if (typeof global !== \"undefined\") {\n g = global;\n } else if (typeof self !== \"undefined\") {\n g = self;\n } else {\n g = this;\n }\n\n g.Parallax = f();\n }\n})(function () {\n var define, module, exports;\n return function e(t, n, r) {\n function s(o, u) {\n if (!n[o]) {\n if (!t[o]) {\n var a = typeof require == \"function\" && require;\n if (!u && a) return a(o, !0);\n if (i) return i(o, !0);\n var f = new Error(\"Cannot find module '\" + o + \"'\");\n throw f.code = \"MODULE_NOT_FOUND\", f;\n }\n\n var l = n[o] = {\n exports: {}\n };\n t[o][0].call(l.exports, function (e) {\n var n = t[o][1][e];\n return s(n ? n : e);\n }, l, l.exports, e, t, n, r);\n }\n\n return n[o].exports;\n }\n\n var i = typeof require == \"function\" && require;\n\n for (var o = 0; o < r.length; o++) {\n s(r[o]);\n }\n\n return s;\n }({\n 1: [function (require, module, exports) {\n /*\n object-assign\n (c) Sindre Sorhus\n @license MIT\n */\n 'use strict';\n /* eslint-disable no-unused-vars */\n\n var getOwnPropertySymbols = Object.getOwnPropertySymbols;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\n function toObject(val) {\n if (val === null || val === undefined) {\n throw new TypeError('Object.assign cannot be called with null or undefined');\n }\n\n return Object(val);\n }\n\n function shouldUseNative() {\n try {\n if (!Object.assign) {\n return false;\n } // Detect buggy property enumeration order in older V8 versions.\n // https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\n\n var test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\n test1[5] = 'de';\n\n if (Object.getOwnPropertyNames(test1)[0] === '5') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test2 = {};\n\n for (var i = 0; i < 10; i++) {\n test2['_' + String.fromCharCode(i)] = i;\n }\n\n var order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n return test2[n];\n });\n\n if (order2.join('') !== '0123456789') {\n return false;\n } // https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\n\n var test3 = {};\n 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n test3[letter] = letter;\n });\n\n if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') {\n return false;\n }\n\n return true;\n } catch (err) {\n // We don't expect any of the above to throw, but better to be safe.\n return false;\n }\n }\n\n module.exports = shouldUseNative() ? Object.assign : function (target, source) {\n var from;\n var to = toObject(target);\n var symbols;\n\n for (var s = 1; s < arguments.length; s++) {\n from = Object(arguments[s]);\n\n for (var key in from) {\n if (hasOwnProperty.call(from, key)) {\n to[key] = from[key];\n }\n }\n\n if (getOwnPropertySymbols) {\n symbols = getOwnPropertySymbols(from);\n\n for (var i = 0; i < symbols.length; i++) {\n if (propIsEnumerable.call(from, symbols[i])) {\n to[symbols[i]] = from[symbols[i]];\n }\n }\n }\n }\n\n return to;\n };\n }, {}],\n 2: [function (require, module, exports) {\n (function (process) {\n // Generated by CoffeeScript 1.12.2\n (function () {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if (typeof performance !== \"undefined\" && performance !== null && performance.now) {\n module.exports = function () {\n return performance.now();\n };\n } else if (typeof process !== \"undefined\" && process !== null && process.hrtime) {\n module.exports = function () {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n\n hrtime = process.hrtime;\n\n getNanoSeconds = function getNanoSeconds() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function () {\n return Date.now() - loadTime;\n };\n\n loadTime = Date.now();\n } else {\n module.exports = function () {\n return new Date().getTime() - loadTime;\n };\n\n loadTime = new Date().getTime();\n }\n }).call(this);\n }).call(this, require('_process'));\n }, {\n \"_process\": 3\n }],\n 3: [function (require, module, exports) {\n // shim for using process in browser\n var process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n // don't break things. But we need to wrap it in a try catch in case it is\n // wrapped in strict mode code which doesn't define any globals. It's inside a\n // function because try/catches deoptimize in certain engines.\n\n var cachedSetTimeout;\n var cachedClearTimeout;\n\n function defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n }\n\n function defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n }\n\n (function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n })();\n\n function runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n }\n\n function runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n }\n\n var queue = [];\n var draining = false;\n var currentQueue;\n var queueIndex = -1;\n\n function cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n }\n\n function drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n }\n\n process.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n }; // v8 likes predictible objects\n\n\n function Item(fun, array) {\n this.fun = fun;\n this.array = array;\n }\n\n Item.prototype.run = function () {\n this.fun.apply(null, this.array);\n };\n\n process.title = 'browser';\n process.browser = true;\n process.env = {};\n process.argv = [];\n process.version = ''; // empty string to avoid regexp issues\n\n process.versions = {};\n\n function noop() {}\n\n process.on = noop;\n process.addListener = noop;\n process.once = noop;\n process.off = noop;\n process.removeListener = noop;\n process.removeAllListeners = noop;\n process.emit = noop;\n process.prependListener = noop;\n process.prependOnceListener = noop;\n\n process.listeners = function (name) {\n return [];\n };\n\n process.binding = function (name) {\n throw new Error('process.binding is not supported');\n };\n\n process.cwd = function () {\n return '/';\n };\n\n process.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n };\n\n process.umask = function () {\n return 0;\n };\n }, {}],\n 4: [function (require, module, exports) {\n (function (global) {\n var now = require('performance-now'),\n root = typeof window === 'undefined' ? global : window,\n vendors = ['moz', 'webkit'],\n suffix = 'AnimationFrame',\n raf = root['request' + suffix],\n caf = root['cancel' + suffix] || root['cancelRequest' + suffix];\n\n for (var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix];\n caf = root[vendors[i] + 'Cancel' + suffix] || root[vendors[i] + 'CancelRequest' + suffix];\n } // Some versions of FF have rAF but not cAF\n\n\n if (!raf || !caf) {\n var last = 0,\n id = 0,\n queue = [],\n frameDuration = 1000 / 60;\n\n raf = function raf(callback) {\n if (queue.length === 0) {\n var _now = now(),\n next = Math.max(0, frameDuration - (_now - last));\n\n last = next + _now;\n setTimeout(function () {\n var cp = queue.slice(0); // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n\n queue.length = 0;\n\n for (var i = 0; i < cp.length; i++) {\n if (!cp[i].cancelled) {\n try {\n cp[i].callback(last);\n } catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n }, Math.round(next));\n }\n\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n });\n return id;\n };\n\n caf = function caf(handle) {\n for (var i = 0; i < queue.length; i++) {\n if (queue[i].handle === handle) {\n queue[i].cancelled = true;\n }\n }\n };\n }\n\n module.exports = function (fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn);\n };\n\n module.exports.cancel = function () {\n caf.apply(root, arguments);\n };\n\n module.exports.polyfill = function () {\n root.requestAnimationFrame = raf;\n root.cancelAnimationFrame = caf;\n };\n }).call(this, typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n }, {\n \"performance-now\": 2\n }],\n 5: [function (require, module, exports) {\n 'use strict';\n\n var _createClass = function () {\n 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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n /**\n * Parallax.js\n * @author Matthew Wagerfield - @wagerfield, René Roth - mail@reneroth.org\n * @description Creates a parallax effect between an array of layers,\n * driving the motion from the gyroscope output of a smartdevice.\n * If no gyroscope is available, the cursor position is used.\n */\n\n\n var rqAnFr = require('raf');\n\n var objectAssign = require('object-assign');\n\n var helpers = {\n propertyCache: {},\n vendors: [null, ['-webkit-', 'webkit'], ['-moz-', 'Moz'], ['-o-', 'O'], ['-ms-', 'ms']],\n clamp: function clamp(value, min, max) {\n return min < max ? value < min ? min : value > max ? max : value : value < max ? max : value > min ? min : value;\n },\n data: function data(element, name) {\n return helpers.deserialize(element.getAttribute('data-' + name));\n },\n deserialize: function deserialize(value) {\n if (value === 'true') {\n return true;\n } else if (value === 'false') {\n return false;\n } else if (value === 'null') {\n return null;\n } else if (!isNaN(parseFloat(value)) && isFinite(value)) {\n return parseFloat(value);\n } else {\n return value;\n }\n },\n camelCase: function camelCase(value) {\n return value.replace(/-+(.)?/g, function (match, character) {\n return character ? character.toUpperCase() : '';\n });\n },\n accelerate: function accelerate(element) {\n helpers.css(element, 'transform', 'translate3d(0,0,0) rotate(0.0001deg)');\n helpers.css(element, 'transform-style', 'preserve-3d');\n helpers.css(element, 'backface-visibility', 'hidden');\n },\n transformSupport: function transformSupport(value) {\n var element = document.createElement('div'),\n propertySupport = false,\n propertyValue = null,\n featureSupport = false,\n cssProperty = null,\n jsProperty = null;\n\n for (var i = 0, l = helpers.vendors.length; i < l; i++) {\n if (helpers.vendors[i] !== null) {\n cssProperty = helpers.vendors[i][0] + 'transform';\n jsProperty = helpers.vendors[i][1] + 'Transform';\n } else {\n cssProperty = 'transform';\n jsProperty = 'transform';\n }\n\n if (element.style[jsProperty] !== undefined) {\n propertySupport = true;\n break;\n }\n }\n\n switch (value) {\n case '2D':\n featureSupport = propertySupport;\n break;\n\n case '3D':\n if (propertySupport) {\n var body = document.body || document.createElement('body'),\n documentElement = document.documentElement,\n documentOverflow = documentElement.style.overflow,\n isCreatedBody = false;\n\n if (!document.body) {\n isCreatedBody = true;\n documentElement.style.overflow = 'hidden';\n documentElement.appendChild(body);\n body.style.overflow = 'hidden';\n body.style.background = '';\n }\n\n body.appendChild(element);\n element.style[jsProperty] = 'translate3d(1px,1px,1px)';\n propertyValue = window.getComputedStyle(element).getPropertyValue(cssProperty);\n featureSupport = propertyValue !== undefined && propertyValue.length > 0 && propertyValue !== 'none';\n documentElement.style.overflow = documentOverflow;\n body.removeChild(element);\n\n if (isCreatedBody) {\n body.removeAttribute('style');\n body.parentNode.removeChild(body);\n }\n }\n\n break;\n }\n\n return featureSupport;\n },\n css: function css(element, property, value) {\n var jsProperty = helpers.propertyCache[property];\n\n if (!jsProperty) {\n for (var i = 0, l = helpers.vendors.length; i < l; i++) {\n if (helpers.vendors[i] !== null) {\n jsProperty = helpers.camelCase(helpers.vendors[i][1] + '-' + property);\n } else {\n jsProperty = property;\n }\n\n if (element.style[jsProperty] !== undefined) {\n helpers.propertyCache[property] = jsProperty;\n break;\n }\n }\n }\n\n element.style[jsProperty] = value;\n }\n };\n var MAGIC_NUMBER = 30,\n DEFAULTS = {\n relativeInput: false,\n clipRelativeInput: false,\n inputElement: null,\n hoverOnly: false,\n calibrationThreshold: 100,\n calibrationDelay: 500,\n supportDelay: 500,\n calibrateX: false,\n calibrateY: true,\n invertX: true,\n invertY: true,\n limitX: false,\n limitY: false,\n scalarX: 10.0,\n scalarY: 10.0,\n frictionX: 0.1,\n frictionY: 0.1,\n originX: 0.5,\n originY: 0.5,\n pointerEvents: false,\n precision: 1,\n onReady: null,\n selector: null\n };\n\n var Parallax = function () {\n function Parallax(element, options) {\n _classCallCheck(this, Parallax);\n\n this.element = element;\n var data = {\n calibrateX: helpers.data(this.element, 'calibrate-x'),\n calibrateY: helpers.data(this.element, 'calibrate-y'),\n invertX: helpers.data(this.element, 'invert-x'),\n invertY: helpers.data(this.element, 'invert-y'),\n limitX: helpers.data(this.element, 'limit-x'),\n limitY: helpers.data(this.element, 'limit-y'),\n scalarX: helpers.data(this.element, 'scalar-x'),\n scalarY: helpers.data(this.element, 'scalar-y'),\n frictionX: helpers.data(this.element, 'friction-x'),\n frictionY: helpers.data(this.element, 'friction-y'),\n originX: helpers.data(this.element, 'origin-x'),\n originY: helpers.data(this.element, 'origin-y'),\n pointerEvents: helpers.data(this.element, 'pointer-events'),\n precision: helpers.data(this.element, 'precision'),\n relativeInput: helpers.data(this.element, 'relative-input'),\n clipRelativeInput: helpers.data(this.element, 'clip-relative-input'),\n hoverOnly: helpers.data(this.element, 'hover-only'),\n inputElement: document.querySelector(helpers.data(this.element, 'input-element')),\n selector: helpers.data(this.element, 'selector')\n };\n\n for (var key in data) {\n if (data[key] === null) {\n delete data[key];\n }\n }\n\n objectAssign(this, DEFAULTS, data, options);\n\n if (!this.inputElement) {\n this.inputElement = this.element;\n }\n\n this.calibrationTimer = null;\n this.calibrationFlag = true;\n this.enabled = false;\n this.depthsX = [];\n this.depthsY = [];\n this.raf = null;\n this.bounds = null;\n this.elementPositionX = 0;\n this.elementPositionY = 0;\n this.elementWidth = 0;\n this.elementHeight = 0;\n this.elementCenterX = 0;\n this.elementCenterY = 0;\n this.elementRangeX = 0;\n this.elementRangeY = 0;\n this.calibrationX = 0;\n this.calibrationY = 0;\n this.inputX = 0;\n this.inputY = 0;\n this.motionX = 0;\n this.motionY = 0;\n this.velocityX = 0;\n this.velocityY = 0;\n this.onMouseMove = this.onMouseMove.bind(this);\n this.onDeviceOrientation = this.onDeviceOrientation.bind(this);\n this.onDeviceMotion = this.onDeviceMotion.bind(this);\n this.onOrientationTimer = this.onOrientationTimer.bind(this);\n this.onMotionTimer = this.onMotionTimer.bind(this);\n this.onCalibrationTimer = this.onCalibrationTimer.bind(this);\n this.onAnimationFrame = this.onAnimationFrame.bind(this);\n this.onWindowResize = this.onWindowResize.bind(this);\n this.windowWidth = null;\n this.windowHeight = null;\n this.windowCenterX = null;\n this.windowCenterY = null;\n this.windowRadiusX = null;\n this.windowRadiusY = null;\n this.portrait = false;\n this.desktop = !navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i);\n this.motionSupport = !!window.DeviceMotionEvent && !this.desktop;\n this.orientationSupport = !!window.DeviceOrientationEvent && !this.desktop;\n this.orientationStatus = 0;\n this.motionStatus = 0;\n this.initialise();\n }\n\n _createClass(Parallax, [{\n key: 'initialise',\n value: function initialise() {\n if (this.transform2DSupport === undefined) {\n this.transform2DSupport = helpers.transformSupport('2D');\n this.transform3DSupport = helpers.transformSupport('3D');\n } // Configure Context Styles\n\n\n if (this.transform3DSupport) {\n helpers.accelerate(this.element);\n }\n\n var style = window.getComputedStyle(this.element);\n\n if (style.getPropertyValue('position') === 'static') {\n this.element.style.position = 'relative';\n } // Pointer events\n\n\n if (!this.pointerEvents) {\n this.element.style.pointerEvents = 'none';\n } // Setup\n\n\n this.updateLayers();\n this.updateDimensions();\n this.enable();\n this.queueCalibration(this.calibrationDelay);\n }\n }, {\n key: 'doReadyCallback',\n value: function doReadyCallback() {\n if (this.onReady) {\n this.onReady();\n }\n }\n }, {\n key: 'updateLayers',\n value: function updateLayers() {\n if (this.selector) {\n this.layers = this.element.querySelectorAll(this.selector);\n } else {\n this.layers = this.element.children;\n }\n\n if (!this.layers.length) {\n console.warn('ParallaxJS: Your scene does not have any layers.');\n }\n\n this.depthsX = [];\n this.depthsY = [];\n\n for (var index = 0; index < this.layers.length; index++) {\n var layer = this.layers[index];\n\n if (this.transform3DSupport) {\n helpers.accelerate(layer);\n }\n\n layer.style.position = index ? 'absolute' : 'relative';\n layer.style.display = 'block';\n layer.style.left = 0;\n layer.style.top = 0;\n var depth = helpers.data(layer, 'depth') || 0;\n this.depthsX.push(helpers.data(layer, 'depth-x') || depth);\n this.depthsY.push(helpers.data(layer, 'depth-y') || depth);\n }\n }\n }, {\n key: 'updateDimensions',\n value: function updateDimensions() {\n this.windowWidth = window.innerWidth;\n this.windowHeight = window.innerHeight;\n this.windowCenterX = this.windowWidth * this.originX;\n this.windowCenterY = this.windowHeight * this.originY;\n this.windowRadiusX = Math.max(this.windowCenterX, this.windowWidth - this.windowCenterX);\n this.windowRadiusY = Math.max(this.windowCenterY, this.windowHeight - this.windowCenterY);\n }\n }, {\n key: 'updateBounds',\n value: function updateBounds() {\n this.bounds = this.inputElement.getBoundingClientRect();\n this.elementPositionX = this.bounds.left;\n this.elementPositionY = this.bounds.top;\n this.elementWidth = this.bounds.width;\n this.elementHeight = this.bounds.height;\n this.elementCenterX = this.elementWidth * this.originX;\n this.elementCenterY = this.elementHeight * this.originY;\n this.elementRangeX = Math.max(this.elementCenterX, this.elementWidth - this.elementCenterX);\n this.elementRangeY = Math.max(this.elementCenterY, this.elementHeight - this.elementCenterY);\n }\n }, {\n key: 'queueCalibration',\n value: function queueCalibration(delay) {\n clearTimeout(this.calibrationTimer);\n this.calibrationTimer = setTimeout(this.onCalibrationTimer, delay);\n }\n }, {\n key: 'enable',\n value: function enable() {\n if (this.enabled) {\n return;\n }\n\n this.enabled = true;\n\n if (this.orientationSupport) {\n this.portrait = false;\n window.addEventListener('deviceorientation', this.onDeviceOrientation);\n this.detectionTimer = setTimeout(this.onOrientationTimer, this.supportDelay);\n } else if (this.motionSupport) {\n this.portrait = false;\n window.addEventListener('devicemotion', this.onDeviceMotion);\n this.detectionTimer = setTimeout(this.onMotionTimer, this.supportDelay);\n } else {\n this.calibrationX = 0;\n this.calibrationY = 0;\n this.portrait = false;\n window.addEventListener('mousemove', this.onMouseMove);\n this.doReadyCallback();\n }\n\n window.addEventListener('resize', this.onWindowResize);\n this.raf = rqAnFr(this.onAnimationFrame);\n }\n }, {\n key: 'disable',\n value: function disable() {\n if (!this.enabled) {\n return;\n }\n\n this.enabled = false;\n\n if (this.orientationSupport) {\n window.removeEventListener('deviceorientation', this.onDeviceOrientation);\n } else if (this.motionSupport) {\n window.removeEventListener('devicemotion', this.onDeviceMotion);\n } else {\n window.removeEventListener('mousemove', this.onMouseMove);\n }\n\n window.removeEventListener('resize', this.onWindowResize);\n rqAnFr.cancel(this.raf);\n }\n }, {\n key: 'calibrate',\n value: function calibrate(x, y) {\n this.calibrateX = x === undefined ? this.calibrateX : x;\n this.calibrateY = y === undefined ? this.calibrateY : y;\n }\n }, {\n key: 'invert',\n value: function invert(x, y) {\n this.invertX = x === undefined ? this.invertX : x;\n this.invertY = y === undefined ? this.invertY : y;\n }\n }, {\n key: 'friction',\n value: function friction(x, y) {\n this.frictionX = x === undefined ? this.frictionX : x;\n this.frictionY = y === undefined ? this.frictionY : y;\n }\n }, {\n key: 'scalar',\n value: function scalar(x, y) {\n this.scalarX = x === undefined ? this.scalarX : x;\n this.scalarY = y === undefined ? this.scalarY : y;\n }\n }, {\n key: 'limit',\n value: function limit(x, y) {\n this.limitX = x === undefined ? this.limitX : x;\n this.limitY = y === undefined ? this.limitY : y;\n }\n }, {\n key: 'origin',\n value: function origin(x, y) {\n this.originX = x === undefined ? this.originX : x;\n this.originY = y === undefined ? this.originY : y;\n }\n }, {\n key: 'setInputElement',\n value: function setInputElement(element) {\n this.inputElement = element;\n this.updateDimensions();\n }\n }, {\n key: 'setPosition',\n value: function setPosition(element, x, y) {\n x = x.toFixed(this.precision) + 'px';\n y = y.toFixed(this.precision) + 'px';\n\n if (this.transform3DSupport) {\n helpers.css(element, 'transform', 'translate3d(' + x + ',' + y + ',0)');\n } else if (this.transform2DSupport) {\n helpers.css(element, 'transform', 'translate(' + x + ',' + y + ')');\n } else {\n element.style.left = x;\n element.style.top = y;\n }\n }\n }, {\n key: 'onOrientationTimer',\n value: function onOrientationTimer() {\n if (this.orientationSupport && this.orientationStatus === 0) {\n this.disable();\n this.orientationSupport = false;\n this.enable();\n } else {\n this.doReadyCallback();\n }\n }\n }, {\n key: 'onMotionTimer',\n value: function onMotionTimer() {\n if (this.motionSupport && this.motionStatus === 0) {\n this.disable();\n this.motionSupport = false;\n this.enable();\n } else {\n this.doReadyCallback();\n }\n }\n }, {\n key: 'onCalibrationTimer',\n value: function onCalibrationTimer() {\n this.calibrationFlag = true;\n }\n }, {\n key: 'onWindowResize',\n value: function onWindowResize() {\n this.updateDimensions();\n }\n }, {\n key: 'onAnimationFrame',\n value: function onAnimationFrame() {\n this.updateBounds();\n var calibratedInputX = this.inputX - this.calibrationX,\n calibratedInputY = this.inputY - this.calibrationY;\n\n if (Math.abs(calibratedInputX) > this.calibrationThreshold || Math.abs(calibratedInputY) > this.calibrationThreshold) {\n this.queueCalibration(0);\n }\n\n if (this.portrait) {\n this.motionX = this.calibrateX ? calibratedInputY : this.inputY;\n this.motionY = this.calibrateY ? calibratedInputX : this.inputX;\n } else {\n this.motionX = this.calibrateX ? calibratedInputX : this.inputX;\n this.motionY = this.calibrateY ? calibratedInputY : this.inputY;\n }\n\n this.motionX *= this.elementWidth * (this.scalarX / 100);\n this.motionY *= this.elementHeight * (this.scalarY / 100);\n\n if (!isNaN(parseFloat(this.limitX))) {\n this.motionX = helpers.clamp(this.motionX, -this.limitX, this.limitX);\n }\n\n if (!isNaN(parseFloat(this.limitY))) {\n this.motionY = helpers.clamp(this.motionY, -this.limitY, this.limitY);\n }\n\n this.velocityX += (this.motionX - this.velocityX) * this.frictionX;\n this.velocityY += (this.motionY - this.velocityY) * this.frictionY;\n\n for (var index = 0; index < this.layers.length; index++) {\n var layer = this.layers[index],\n depthX = this.depthsX[index],\n depthY = this.depthsY[index],\n xOffset = this.velocityX * (depthX * (this.invertX ? -1 : 1)),\n yOffset = this.velocityY * (depthY * (this.invertY ? -1 : 1));\n this.setPosition(layer, xOffset, yOffset);\n }\n\n this.raf = rqAnFr(this.onAnimationFrame);\n }\n }, {\n key: 'rotate',\n value: function rotate(beta, gamma) {\n // Extract Rotation\n var x = (beta || 0) / MAGIC_NUMBER,\n // -90 :: 90\n y = (gamma || 0) / MAGIC_NUMBER; // -180 :: 180\n // Detect Orientation Change\n\n var portrait = this.windowHeight > this.windowWidth;\n\n if (this.portrait !== portrait) {\n this.portrait = portrait;\n this.calibrationFlag = true;\n }\n\n if (this.calibrationFlag) {\n this.calibrationFlag = false;\n this.calibrationX = x;\n this.calibrationY = y;\n }\n\n this.inputX = x;\n this.inputY = y;\n }\n }, {\n key: 'onDeviceOrientation',\n value: function onDeviceOrientation(event) {\n var beta = event.beta;\n var gamma = event.gamma;\n\n if (beta !== null && gamma !== null) {\n this.orientationStatus = 1;\n this.rotate(beta, gamma);\n }\n }\n }, {\n key: 'onDeviceMotion',\n value: function onDeviceMotion(event) {\n var beta = event.rotationRate.beta;\n var gamma = event.rotationRate.gamma;\n\n if (beta !== null && gamma !== null) {\n this.motionStatus = 1;\n this.rotate(beta, gamma);\n }\n }\n }, {\n key: 'onMouseMove',\n value: function onMouseMove(event) {\n var clientX = event.clientX,\n clientY = event.clientY; // reset input to center if hoverOnly is set and we're not hovering the element\n\n if (this.hoverOnly && (clientX < this.elementPositionX || clientX > this.elementPositionX + this.elementWidth || clientY < this.elementPositionY || clientY > this.elementPositionY + this.elementHeight)) {\n this.inputX = 0;\n this.inputY = 0;\n return;\n }\n\n if (this.relativeInput) {\n // Clip mouse coordinates inside element bounds.\n if (this.clipRelativeInput) {\n clientX = Math.max(clientX, this.elementPositionX);\n clientX = Math.min(clientX, this.elementPositionX + this.elementWidth);\n clientY = Math.max(clientY, this.elementPositionY);\n clientY = Math.min(clientY, this.elementPositionY + this.elementHeight);\n } // Calculate input relative to the element.\n\n\n if (this.elementRangeX && this.elementRangeY) {\n this.inputX = (clientX - this.elementPositionX - this.elementCenterX) / this.elementRangeX;\n this.inputY = (clientY - this.elementPositionY - this.elementCenterY) / this.elementRangeY;\n }\n } else {\n // Calculate input relative to the window.\n if (this.windowRadiusX && this.windowRadiusY) {\n this.inputX = (clientX - this.windowCenterX) / this.windowRadiusX;\n this.inputY = (clientY - this.windowCenterY) / this.windowRadiusY;\n }\n }\n }\n }, {\n key: 'destroy',\n value: function destroy() {\n this.disable();\n clearTimeout(this.calibrationTimer);\n clearTimeout(this.detectionTimer);\n this.element.removeAttribute('style');\n\n for (var index = 0; index < this.layers.length; index++) {\n this.layers[index].removeAttribute('style');\n }\n\n delete this.element;\n delete this.layers;\n }\n }, {\n key: 'version',\n value: function version() {\n return '3.1.0';\n }\n }]);\n\n return Parallax;\n }();\n\n module.exports = Parallax;\n }, {\n \"object-assign\": 1,\n \"raf\": 4\n }]\n }, {}, [5])(5);\n});","import Parallax from \"parallax-js\";\n\n$(document).on(\"turbolinks:load\", function() {\n var scene = $(\"#parallaxScene\").get(0);\n if (!!scene) {\n var parallaxInstance = new Parallax(scene);\n parallaxInstance;\n $(\"#parallaxScene, [data-paroller-factor]\").paroller({\n factor: 0.05, // multiplier for scrolling speed and offset\n factorXs: 0.1, // multiplier for scrolling speed and offset\n type: \"foreground\", // background, foreground\n direction: \"vertical\" // vertical, horizontal\n });\n }\n});\n"],"sourceRoot":""}