{"version":3,"file":"/blocks/featured-floater/dist/js/featured-floater.js","mappings":"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","sources":["webpack:///./node_modules/rellax/rellax.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src-core/js/utils/index.js","webpack:///./blocks/featured-floater/src/js/featured-floater.js"],"sourcesContent":["\n// ------------------------------------------\n// Rellax.js\n// Buttery smooth parallax library\n// Copyright (c) 2016 Moe Amaya (@moeamaya)\n// MIT license\n//\n// Thanks to Paraxify.js and Jaime Cabllero\n// for parallax concepts\n// ------------------------------------------\n\n(function (root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    // AMD. Register as an anonymous module.\n    define([], factory);\n  } else if (typeof module === 'object' && module.exports) {\n    // Node. Does not work with strict CommonJS, but\n    // only CommonJS-like environments that support module.exports,\n    // like Node.\n    module.exports = factory();\n  } else {\n    // Browser globals (root is window)\n    root.Rellax = factory();\n  }\n}(typeof window !== \"undefined\" ? window : global, function () {\n  var Rellax = function(el, options){\n    \"use strict\";\n\n    var self = Object.create(Rellax.prototype);\n\n    var posY = 0;\n    var screenY = 0;\n    var posX = 0;\n    var screenX = 0;\n    var blocks = [];\n    var pause = true;\n\n    // check what requestAnimationFrame to use, and if\n    // it's not supported, use the onscroll event\n    var loop = window.requestAnimationFrame ||\n      window.webkitRequestAnimationFrame ||\n      window.mozRequestAnimationFrame ||\n      window.msRequestAnimationFrame ||\n      window.oRequestAnimationFrame ||\n      function(callback){ return setTimeout(callback, 1000 / 60); };\n\n    // store the id for later use\n    var loopId = null;\n\n    // Test via a getter in the options object to see if the passive property is accessed\n    var supportsPassive = false;\n    try {\n      var opts = Object.defineProperty({}, 'passive', {\n        get: function() {\n          supportsPassive = true;\n        }\n      });\n      window.addEventListener(\"testPassive\", null, opts);\n      window.removeEventListener(\"testPassive\", null, opts);\n    } catch (e) {}\n\n    // check what cancelAnimation method to use\n    var clearLoop = window.cancelAnimationFrame || window.mozCancelAnimationFrame || clearTimeout;\n\n    // check which transform property to use\n    var transformProp = window.transformProp || (function(){\n        var testEl = document.createElement('div');\n        if (testEl.style.transform === null) {\n          var vendors = ['Webkit', 'Moz', 'ms'];\n          for (var vendor in vendors) {\n            if (testEl.style[ vendors[vendor] + 'Transform' ] !== undefined) {\n              return vendors[vendor] + 'Transform';\n            }\n          }\n        }\n        return 'transform';\n      })();\n\n    // Default Settings\n    self.options = {\n      speed: -2,\n\t    verticalSpeed: null,\n\t    horizontalSpeed: null,\n      breakpoints: [576, 768, 1201],\n      center: false,\n      wrapper: null,\n      relativeToWrapper: false,\n      round: true,\n      vertical: true,\n      horizontal: false,\n      verticalScrollAxis: \"y\",\n      horizontalScrollAxis: \"x\",\n      callback: function() {},\n    };\n\n    // User defined options (might have more in the future)\n    if (options){\n      Object.keys(options).forEach(function(key){\n        self.options[key] = options[key];\n      });\n    }\n\n    function validateCustomBreakpoints () {\n      if (self.options.breakpoints.length === 3 && Array.isArray(self.options.breakpoints)) {\n        var isAscending = true;\n        var isNumerical = true;\n        var lastVal;\n        self.options.breakpoints.forEach(function (i) {\n          if (typeof i !== 'number') isNumerical = false;\n          if (lastVal !== null) {\n            if (i < lastVal) isAscending = false;\n          }\n          lastVal = i;\n        });\n        if (isAscending && isNumerical) return;\n      }\n      // revert defaults if set incorrectly\n      self.options.breakpoints = [576, 768, 1201];\n      console.warn(\"Rellax: You must pass an array of 3 numbers in ascending order to the breakpoints option. Defaults reverted\");\n    }\n\n    if (options && options.breakpoints) {\n      validateCustomBreakpoints();\n    }\n\n    // By default, rellax class\n    if (!el) {\n      el = '.rellax';\n    }\n\n    // check if el is a className or a node\n    var elements = typeof el === 'string' ? document.querySelectorAll(el) : [el];\n\n    // Now query selector\n    if (elements.length > 0) {\n      self.elems = elements;\n    }\n\n    // The elements don't exist\n    else {\n      console.warn(\"Rellax: The elements you're trying to select don't exist.\");\n      return;\n    }\n\n    // Has a wrapper and it exists\n    if (self.options.wrapper) {\n      if (!self.options.wrapper.nodeType) {\n        var wrapper = document.querySelector(self.options.wrapper);\n\n        if (wrapper) {\n          self.options.wrapper = wrapper;\n        } else {\n          console.warn(\"Rellax: The wrapper you're trying to use doesn't exist.\");\n          return;\n        }\n      }\n    }\n\n    // set a placeholder for the current breakpoint\n    var currentBreakpoint;\n\n    // helper to determine current breakpoint\n    var getCurrentBreakpoint = function (w) {\n      var bp = self.options.breakpoints;\n      if (w < bp[0]) return 'xs';\n      if (w >= bp[0] && w < bp[1]) return 'sm';\n      if (w >= bp[1] && w < bp[2]) return 'md';\n      return 'lg';\n    };\n\n    // Get and cache initial position of all elements\n    var cacheBlocks = function() {\n      for (var i = 0; i < self.elems.length; i++){\n        var block = createBlock(self.elems[i]);\n        blocks.push(block);\n      }\n    };\n\n\n    // Let's kick this script off\n    // Build array for cached element values\n    var init = function() {\n      for (var i = 0; i < blocks.length; i++){\n        self.elems[i].style.cssText = blocks[i].style;\n      }\n\n      blocks = [];\n\n      screenY = window.innerHeight;\n      screenX = window.innerWidth;\n      currentBreakpoint = getCurrentBreakpoint(screenX);\n\n      setPosition();\n\n      cacheBlocks();\n\n      animate();\n\n      // If paused, unpause and set listener for window resizing events\n      if (pause) {\n        window.addEventListener('resize', init);\n        pause = false;\n        // Start the loop\n        update();\n      }\n    };\n\n    // We want to cache the parallax blocks'\n    // values: base, top, height, speed\n    // el: is dom object, return: el cache values\n    var createBlock = function(el) {\n      var dataPercentage = el.getAttribute( 'data-rellax-percentage' );\n      var dataSpeed = el.getAttribute( 'data-rellax-speed' );\n      var dataXsSpeed = el.getAttribute( 'data-rellax-xs-speed' );\n      var dataMobileSpeed = el.getAttribute( 'data-rellax-mobile-speed' );\n      var dataTabletSpeed = el.getAttribute( 'data-rellax-tablet-speed' );\n      var dataDesktopSpeed = el.getAttribute( 'data-rellax-desktop-speed' );\n      var dataVerticalSpeed = el.getAttribute('data-rellax-vertical-speed');\n      var dataHorizontalSpeed = el.getAttribute('data-rellax-horizontal-speed');\n      var dataVericalScrollAxis = el.getAttribute('data-rellax-vertical-scroll-axis');\n      var dataHorizontalScrollAxis = el.getAttribute('data-rellax-horizontal-scroll-axis');\n      var dataZindex = el.getAttribute( 'data-rellax-zindex' ) || 0;\n      var dataMin = el.getAttribute( 'data-rellax-min' );\n      var dataMax = el.getAttribute( 'data-rellax-max' );\n      var dataMinX = el.getAttribute('data-rellax-min-x');\n      var dataMaxX = el.getAttribute('data-rellax-max-x');\n      var dataMinY = el.getAttribute('data-rellax-min-y');\n      var dataMaxY = el.getAttribute('data-rellax-max-y');\n      var mapBreakpoints;\n      var breakpoints = true;\n\n      if (!dataXsSpeed && !dataMobileSpeed && !dataTabletSpeed && !dataDesktopSpeed) {\n        breakpoints = false;\n      } else {\n        mapBreakpoints = {\n          'xs': dataXsSpeed,\n          'sm': dataMobileSpeed,\n          'md': dataTabletSpeed,\n          'lg': dataDesktopSpeed\n        };\n      }\n\n      // initializing at scrollY = 0 (top of browser), scrollX = 0 (left of browser)\n      // ensures elements are positioned based on HTML layout.\n      //\n      // If the element has the percentage attribute, the posY and posX needs to be\n      // the current scroll position's value, so that the elements are still positioned based on HTML layout\n      var wrapperPosY = self.options.wrapper ? self.options.wrapper.scrollTop : (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\n      // If the option relativeToWrapper is true, use the wrappers offset to top, subtracted from the current page scroll.\n      if (self.options.relativeToWrapper) {\n        var scrollPosY = (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);\n        wrapperPosY = scrollPosY - self.options.wrapper.offsetTop;\n      }\n      var posY = self.options.vertical ? ( dataPercentage || self.options.center ? wrapperPosY : 0 ) : 0;\n      var posX = self.options.horizontal ? ( dataPercentage || self.options.center ? self.options.wrapper ? self.options.wrapper.scrollLeft : (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft) : 0 ) : 0;\n\n      var blockTop = posY + el.getBoundingClientRect().top;\n      var blockHeight = el.clientHeight || el.offsetHeight || el.scrollHeight;\n\n      var blockLeft = posX + el.getBoundingClientRect().left;\n      var blockWidth = el.clientWidth || el.offsetWidth || el.scrollWidth;\n\n      // apparently parallax equation everyone uses\n      var percentageY = dataPercentage ? dataPercentage : (posY - blockTop + screenY) / (blockHeight + screenY);\n      var percentageX = dataPercentage ? dataPercentage : (posX - blockLeft + screenX) / (blockWidth + screenX);\n      if(self.options.center){ percentageX = 0.5; percentageY = 0.5; }\n\n      // Optional individual block speed as data attr, otherwise global speed\n      var speed = (breakpoints && mapBreakpoints[currentBreakpoint] !== null) ? Number(mapBreakpoints[currentBreakpoint]) : (dataSpeed ? dataSpeed : self.options.speed);\n      var verticalSpeed = dataVerticalSpeed ? dataVerticalSpeed : self.options.verticalSpeed;\n      var horizontalSpeed = dataHorizontalSpeed ? dataHorizontalSpeed : self.options.horizontalSpeed;\n\n      // Optional individual block movement axis direction as data attr, otherwise gobal movement direction\n      var verticalScrollAxis = dataVericalScrollAxis ? dataVericalScrollAxis : self.options.verticalScrollAxis;\n      var horizontalScrollAxis = dataHorizontalScrollAxis ? dataHorizontalScrollAxis : self.options.horizontalScrollAxis;\n\n      var bases = updatePosition(percentageX, percentageY, speed, verticalSpeed, horizontalSpeed);\n\n      // ~~Store non-translate3d transforms~~\n      // Store inline styles and extract transforms\n      var style = el.style.cssText;\n      var transform = '';\n\n      // Check if there's an inline styled transform\n      var searchResult = /transform\\s*:/i.exec(style);\n      if (searchResult) {\n        // Get the index of the transform\n        var index = searchResult.index;\n\n        // Trim the style to the transform point and get the following semi-colon index\n        var trimmedStyle = style.slice(index);\n        var delimiter = trimmedStyle.indexOf(';');\n\n        // Remove \"transform\" string and save the attribute\n        if (delimiter) {\n          transform = \" \" + trimmedStyle.slice(11, delimiter).replace(/\\s/g,'');\n        } else {\n          transform = \" \" + trimmedStyle.slice(11).replace(/\\s/g,'');\n        }\n      }\n\n      return {\n        baseX: bases.x,\n        baseY: bases.y,\n        top: blockTop,\n        left: blockLeft,\n        height: blockHeight,\n        width: blockWidth,\n        speed: speed,\n        verticalSpeed: verticalSpeed,\n        horizontalSpeed: horizontalSpeed,\n        verticalScrollAxis: verticalScrollAxis,\n        horizontalScrollAxis: horizontalScrollAxis,\n        style: style,\n        transform: transform,\n        zindex: dataZindex,\n        min: dataMin,\n        max: dataMax,\n        minX: dataMinX,\n        maxX: dataMaxX,\n        minY: dataMinY,\n        maxY: dataMaxY\n      };\n    };\n\n    // set scroll position (posY, posX)\n    // side effect method is not ideal, but okay for now\n    // returns true if the scroll changed, false if nothing happened\n    var setPosition = function() {\n      var oldY = posY;\n      var oldX = posX;\n\n      posY = self.options.wrapper ? self.options.wrapper.scrollTop : (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\n      posX = self.options.wrapper ? self.options.wrapper.scrollLeft : (document.documentElement || document.body.parentNode || document.body).scrollLeft || window.pageXOffset;\n      // If option relativeToWrapper is true, use relative wrapper value instead.\n      if (self.options.relativeToWrapper) {\n        var scrollPosY = (document.documentElement || document.body.parentNode || document.body).scrollTop || window.pageYOffset;\n        posY = scrollPosY - self.options.wrapper.offsetTop;\n      }\n\n\n      if (oldY != posY && self.options.vertical) {\n        // scroll changed, return true\n        return true;\n      }\n\n      if (oldX != posX && self.options.horizontal) {\n        // scroll changed, return true\n        return true;\n      }\n\n      // scroll did not change\n      return false;\n    };\n\n    // Ahh a pure function, gets new transform value\n    // based on scrollPosition and speed\n    // Allow for decimal pixel values\n    var updatePosition = function(percentageX, percentageY, speed, verticalSpeed, horizontalSpeed) {\n      var result = {};\n      var valueX = ((horizontalSpeed ? horizontalSpeed : speed) * (100 * (1 - percentageX)));\n      var valueY = ((verticalSpeed ? verticalSpeed : speed) * (100 * (1 - percentageY)));\n\n      result.x = self.options.round ? Math.round(valueX) : Math.round(valueX * 100) / 100;\n      result.y = self.options.round ? Math.round(valueY) : Math.round(valueY * 100) / 100;\n\n      return result;\n    };\n\n    // Remove event listeners and loop again\n    var deferredUpdate = function() {\n      window.removeEventListener('resize', deferredUpdate);\n      window.removeEventListener('orientationchange', deferredUpdate);\n      (self.options.wrapper ? self.options.wrapper : window).removeEventListener('scroll', deferredUpdate);\n      (self.options.wrapper ? self.options.wrapper : document).removeEventListener('touchmove', deferredUpdate);\n\n      // loop again\n      loopId = loop(update);\n    };\n\n    // Loop\n    var update = function() {\n      if (setPosition() && pause === false) {\n        animate();\n\n        // loop again\n        loopId = loop(update);\n      } else {\n        loopId = null;\n\n        // Don't animate until we get a position updating event\n        window.addEventListener('resize', deferredUpdate);\n        window.addEventListener('orientationchange', deferredUpdate);\n        (self.options.wrapper ? self.options.wrapper : window).addEventListener('scroll', deferredUpdate, supportsPassive ? { passive: true } : false);\n        (self.options.wrapper ? self.options.wrapper : document).addEventListener('touchmove', deferredUpdate, supportsPassive ? { passive: true } : false);\n      }\n    };\n\n    // Transform3d on parallax element\n    var animate = function() {\n      var positions;\n      for (var i = 0; i < self.elems.length; i++){\n        // Determine relevant movement directions\n        var verticalScrollAxis = blocks[i].verticalScrollAxis.toLowerCase();\n        var horizontalScrollAxis = blocks[i].horizontalScrollAxis.toLowerCase();\n        var verticalScrollX = verticalScrollAxis.indexOf(\"x\") != -1 ? posY : 0;\n        var verticalScrollY = verticalScrollAxis.indexOf(\"y\") != -1 ? posY : 0;\n        var horizontalScrollX = horizontalScrollAxis.indexOf(\"x\") != -1 ? posX : 0;\n        var horizontalScrollY = horizontalScrollAxis.indexOf(\"y\") != -1 ? posX : 0;\n\n        var percentageY = ((verticalScrollY + horizontalScrollY - blocks[i].top + screenY) / (blocks[i].height + screenY));\n        var percentageX = ((verticalScrollX + horizontalScrollX - blocks[i].left + screenX) / (blocks[i].width + screenX));\n\n        // Subtracting initialize value, so element stays in same spot as HTML\n        positions = updatePosition(percentageX, percentageY, blocks[i].speed, blocks[i].verticalSpeed, blocks[i].horizontalSpeed);\n        var positionY = positions.y - blocks[i].baseY;\n        var positionX = positions.x - blocks[i].baseX;\n\n        // The next two \"if\" blocks go like this:\n        // Check if a limit is defined (first \"min\", then \"max\");\n        // Check if we need to change the Y or the X\n        // (Currently working only if just one of the axes is enabled)\n        // Then, check if the new position is inside the allowed limit\n        // If so, use new position. If not, set position to limit.\n\n        // Check if a min limit is defined\n        if (blocks[i].min !== null) {\n          if (self.options.vertical && !self.options.horizontal) {\n            positionY = positionY <= blocks[i].min ? blocks[i].min : positionY;\n          }\n          if (self.options.horizontal && !self.options.vertical) {\n            positionX = positionX <= blocks[i].min ? blocks[i].min : positionX;\n          }\n        }\n\n        // Check if directional min limits are defined\n        if (blocks[i].minY != null) {\n            positionY = positionY <= blocks[i].minY ? blocks[i].minY : positionY;\n        }\n        if (blocks[i].minX != null) {\n            positionX = positionX <= blocks[i].minX ? blocks[i].minX : positionX;\n        }\n\n        // Check if a max limit is defined\n        if (blocks[i].max !== null) {\n          if (self.options.vertical && !self.options.horizontal) {\n            positionY = positionY >= blocks[i].max ? blocks[i].max : positionY;\n          }\n          if (self.options.horizontal && !self.options.vertical) {\n            positionX = positionX >= blocks[i].max ? blocks[i].max : positionX;\n          }\n        }\n\n        // Check if directional max limits are defined\n        if (blocks[i].maxY != null) {\n            positionY = positionY >= blocks[i].maxY ? blocks[i].maxY : positionY;\n        }\n        if (blocks[i].maxX != null) {\n            positionX = positionX >= blocks[i].maxX ? blocks[i].maxX : positionX;\n        }\n\n        var zindex = blocks[i].zindex;\n\n        // Move that element\n        // (Set the new translation and append initial inline transforms.)\n        var translate = 'translate3d(' + (self.options.horizontal ? positionX : '0') + 'px,' + (self.options.vertical ? positionY : '0') + 'px,' + zindex + 'px) ' + blocks[i].transform;\n        self.elems[i].style[transformProp] = translate;\n      }\n      self.options.callback(positions);\n    };\n\n    self.destroy = function() {\n      for (var i = 0; i < self.elems.length; i++){\n        self.elems[i].style.cssText = blocks[i].style;\n      }\n\n      // Remove resize event listener if not pause, and pause\n      if (!pause) {\n        window.removeEventListener('resize', init);\n        pause = true;\n      }\n\n      // Clear the animation loop to prevent possible memory leak\n      clearLoop(loopId);\n      loopId = null;\n    };\n\n    // Init\n    init();\n\n    // Allow to recalculate the initial values whenever we want\n    self.refresh = init;\n\n    return self;\n  };\n  return Rellax;\n}));\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","/*\n|--------------------------------------------------------------------------\n| Ready Function\n|--------------------------------------------------------------------------\n|\n| import ready from 'Utils/global';\n| ready(() => init());\n|\n*/\n\nexport default Document.prototype.ready = (fn) => {\n  if (fn && typeof fn === 'function') {\n    document.addEventListener('DOMContentLoaded', () => {\n      if (document.readyState === 'interactive' || document.readyState === 'complete') {\n        return fn();\n      }\n    });\n  }\n};\n\n/*\n|--------------------------------------------------------------------------\n| Global Variables\n|--------------------------------------------------------------------------\n*/\n\nexport const HTML = document.documentElement;\nexport const BODY = document.body;","import ready, { HTML } from '../../../../src-core/js/utils';\nimport Rellax from 'rellax';\n\nexport default function initRellax() {\n\n  var rellax = new Rellax('.rellax');\n\n}\n\nready(() => {\n\n  initRellax();\n\n});\n"],"names":["window","g","Rellax","el","options","self","Object","create","prototype","posY","screenY","posX","screenX","blocks","pause","loop","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","callback","setTimeout","loopId","supportsPassive","opts","defineProperty","get","addEventListener","removeEventListener","e","clearLoop","cancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","transformProp","testEl","document","createElement","style","transform","vendors","vendor","undefined","validateCustomBreakpoints","breakpoints","length","Array","isArray","lastVal","isAscending","isNumerical","forEach","i","console","warn","speed","verticalSpeed","horizontalSpeed","center","wrapper","relativeToWrapper","round","vertical","horizontal","verticalScrollAxis","horizontalScrollAxis","keys","key","elements","querySelectorAll","elems","nodeType","querySelector","currentBreakpoint","getCurrentBreakpoint","w","bp","cacheBlocks","block","createBlock","push","init","cssText","innerHeight","innerWidth","setPosition","animate","update","mapBreakpoints","dataPercentage","getAttribute","dataSpeed","dataXsSpeed","dataMobileSpeed","dataTabletSpeed","dataDesktopSpeed","dataVerticalSpeed","dataHorizontalSpeed","dataVericalScrollAxis","dataHorizontalScrollAxis","dataZindex","dataMin","dataMax","dataMinX","dataMaxX","dataMinY","dataMaxY","wrapperPosY","scrollTop","pageYOffset","documentElement","body","offsetTop","scrollLeft","pageXOffset","blockTop","getBoundingClientRect","top","blockHeight","clientHeight","offsetHeight","scrollHeight","blockLeft","left","blockWidth","clientWidth","offsetWidth","scrollWidth","percentageY","percentageX","Number","bases","updatePosition","searchResult","exec","index","trimmedStyle","slice","delimiter","indexOf","replace","baseX","x","baseY","y","height","width","zindex","min","max","minX","maxX","minY","maxY","oldY","oldX","parentNode","scrollPosY","result","valueX","valueY","Math","deferredUpdate","passive","positions","toLowerCase","verticalScrollX","verticalScrollY","horizontalScrollX","positionY","positionX","translate","destroy","refresh","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","globalThis","this","Function","obj","prop","hasOwnProperty","call","Document","ready","fn","readyState"],"sourceRoot":""}