{"version":3,"sources":["webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/gvue/src/assets/js/directives/vue-parallax-js.js"],"names":["toInteger","requireObjectCoercible","module","exports","repeat","count","str","String","this","result","n","Infinity","RangeError","classof","value","TypeError","$","thisNumberValue","fails","nativeToFixed","toFixed","floor","Math","pow","x","acc","log","x2","FORCED","call","target","proto","forced","fractionDigits","e","z","j","k","number","fractDigits","data","sign","multiply","c","index","c2","divide","dataToString","s","t","length","slice","Parallax","minWidth","items","itemsInVp","active","getActive","iom","IntersectionObserverManager","isLandscape","rootMargin","isPortrait","scrollEvent","move","resizeEvent","debounce","reset","window","innerWidth","el","modifiers","style","transition","willChange","currentStyle","getComputedStyle","height","absY","innerHeight","clientHeight","offsetHeight","scrollHeight","offsetTopParent","offsetParent","offsetTop","push","initialOffsetTop","parseInt","marginTop","addItem","element","onViewportEnter","parallaxItem","onViewportOut","unparallaxItem","find","item","filter","requestAnimationFrame","windowHeight","windowSize","scrollY","pageYOffset","map","elH","offset","pos","setTransform","enableParallax","disableParallax","unobserveItems","disableEvent","observeItems","enableEvent","removeEventListener","addEventListener","passive","centerX","prop","install","Vue","p","prototype","$parallaxjs","directive","inserted","binding","add","enable"],"mappings":"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","file":"js/VueParallaxJs.js","sourcesContent":["'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n  var str = String(requireObjectCoercible(this));\n  var result = '';\n  var n = toInteger(count);\n  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n  return result;\n};\n","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n  if (typeof value != 'number' && classof(value) != 'Number') {\n    throw TypeError('Incorrect invocation');\n  }\n  return +value;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\nvar FORCED = nativeToFixed && (\n  0.00008.toFixed(3) !== '0.000' ||\n  0.9.toFixed(0) !== '1' ||\n  1.255.toFixed(2) !== '1.25' ||\n  1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n  // V8 ~ Android 4.3-\n  nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n  // eslint-disable-next-line max-statements\n  toFixed: function toFixed(fractionDigits) {\n    var number = thisNumberValue(this);\n    var fractDigits = toInteger(fractionDigits);\n    var data = [0, 0, 0, 0, 0, 0];\n    var sign = '';\n    var result = '0';\n    var e, z, j, k;\n\n    var multiply = function (n, c) {\n      var index = -1;\n      var c2 = c;\n      while (++index < 6) {\n        c2 += n * data[index];\n        data[index] = c2 % 1e7;\n        c2 = floor(c2 / 1e7);\n      }\n    };\n\n    var divide = function (n) {\n      var index = 6;\n      var c = 0;\n      while (--index >= 0) {\n        c += data[index];\n        data[index] = floor(c / n);\n        c = (c % n) * 1e7;\n      }\n    };\n\n    var dataToString = function () {\n      var index = 6;\n      var s = '';\n      while (--index >= 0) {\n        if (s !== '' || index === 0 || data[index] !== 0) {\n          var t = String(data[index]);\n          s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n        }\n      } return s;\n    };\n\n    if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n    // eslint-disable-next-line no-self-compare\n    if (number != number) return 'NaN';\n    if (number <= -1e21 || number >= 1e21) return String(number);\n    if (number < 0) {\n      sign = '-';\n      number = -number;\n    }\n    if (number > 1e-21) {\n      e = log(number * pow(2, 69, 1)) - 69;\n      z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(0, z);\n        j = fractDigits;\n        while (j >= 7) {\n          multiply(1e7, 0);\n          j -= 7;\n        }\n        multiply(pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(1 << 23);\n          j -= 23;\n        }\n        divide(1 << j);\n        multiply(1, 1);\n        divide(2);\n        result = dataToString();\n      } else {\n        multiply(0, z);\n        multiply(1 << -e, 0);\n        result = dataToString() + repeat.call('0', fractDigits);\n      }\n    }\n    if (fractDigits > 0) {\n      k = result.length;\n      result = sign + (k <= fractDigits\n        ? '0.' + repeat.call('0', fractDigits - k) + result\n        : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n    } else {\n      result = sign + result;\n    } return result;\n  }\n});\n","import IntersectionObserverManager from 'nespresso-library/src/utils/IntersectionObserverManager'\nimport debounce from 'nespresso-library/src/utils/debounce'\n\nclass Parallax {\n    constructor (minWidth = 767) {\n        this.items = [] // Items to apply parallax\n        this.itemsInVp = [] // Items in viewport to parallax\n        this.minWidth = minWidth // Screen width to activate the parallax\n        this.active = this.getActive() // Enable/Disable parallax\n        this.iom = new IntersectionObserverManager({\n            isLandscape: {\n                rootMargin: '200% 0px'\n            },\n            isPortrait: {\n                rootMargin: '200% 0px'\n            }\n        })\n\n        this.scrollEvent = () => {\n            this.move()\n        }\n        this.resizeEvent = debounce(() => {\n            this.reset()\n            this.move()\n        }, 500)\n    }\n\n    getActive () {\n        return this.minWidth <= window.innerWidth\n    }\n\n    add (el, { modifiers, value }) {\n        // Exclude element with no speed\n        if (!this.getActive() || value === 0) {\n            return\n        }\n        el.style.transition = 'none'\n        el.style.willChange = 'transform'\n        const style = el.currentStyle || window.getComputedStyle(el)\n        const height = modifiers.absY ? window.innerHeight : el.clientHeight || el.offsetHeight || el.scrollHeight\n        const offsetTopParent = el.offsetParent ? el.offsetParent.offsetTop : 0\n\n        // Add element in general array with all calcul\n        this.items.push({\n            el: el,\n            initialOffsetTop: el.offsetTop + offsetTopParent - parseInt(style.marginTop, 10),\n            style: style,\n            modifiers: modifiers,\n            value: value,\n            clientHeight: height\n        })\n\n        // Observe element\n        this.iom.addItem({\n            element: el,\n            onViewportEnter: () => {\n                this.parallaxItem(el)\n            },\n            onViewportOut: () => {\n                this.unparallaxItem(el)\n            }\n        })\n    }\n\n    parallaxItem (el) {\n        this.itemsInVp.push(this.items.find(item => item.el === el))\n    }\n\n    unparallaxItem (el) {\n        this.itemsInVp = this.itemsInVp.filter(item => item.el !== el)\n    }\n\n    move () {\n        requestAnimationFrame(() => {\n            const windowHeight = window.innerHeight\n            const windowSize = (window.scrollY || window.pageYOffset) + windowHeight\n\n            this.itemsInVp.map((item) => {\n                const elH = item.clientHeight\n                let offset = item.initialOffsetTop\n                let pos = windowSize\n                pos = pos - elH / 2\n                pos = pos - windowHeight / 2\n                pos = pos * item.value\n\n                offset = item.initialOffsetTop\n                offset = offset * -1\n                offset = offset * item.value\n                pos = pos + offset\n\n                pos = pos.toFixed(2)\n\n                this.setTransform(item, `translateY(${pos}px)`)\n            })\n        })\n    }\n\n    // Remove all transformations\n    reset () {\n        this.active = this.getActive()\n        if (!this.active) {\n            this.disableParallax()\n        } else {\n            this.enableParallax()\n        }\n        requestAnimationFrame(() => {\n            this.items.map(item => {\n                item.el.style = item.style\n            })\n        })\n    }\n\n    enable () {\n        if (this.items.length === 0) {\n            return\n        }\n\n        this.enableParallax()\n    }\n\n    disableParallax () {\n        this.itemsInVp = []\n        this.iom.unobserveItems()\n        this.disableEvent()\n    }\n\n    enableParallax () {\n        this.iom.observeItems()\n        this.enableEvent()\n    }\n\n    disableEvent () {\n        window.removeEventListener('scroll', this.scrollEvent)\n        window.removeEventListener('resize', this.resizeEvent)\n    }\n\n    enableEvent () {\n        window.addEventListener('scroll', this.scrollEvent, { passive: true })\n        window.addEventListener('resize', this.resizeEvent, { passive: true })\n    }\n\n    // Apply style on item\n    setTransform (item, value) {\n        if (item.modifiers.centerX) {\n            value += ' translateX(-50%)'\n        }\n\n        const el = item.el\n        const prop = 'Transform'\n        el.style[`webkit${prop}`] = value\n        el.style[`moz${prop}`] = value\n        el.style[`ms${prop}`] = value\n    }\n}\n\nexport default {\n    install: (Vue, { minWidth }) => {\n        const p = new Parallax(minWidth)\n\n        Vue.prototype.$parallaxjs = p\n        Vue.directive('parallax', {\n            inserted (el, binding) {\n                p.add(el, binding)\n                p.move()\n                p.enable()\n            }\n        })\n    }\n}\n"],"sourceRoot":""}