{"version":3,"sources":["jsdelivr-header.js","/npm/parallaxis@1.2.1/lib/index.js"],"names":[],"mappings":"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","file":"/npm/parallaxis@1.2.1/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/parallaxis@1.2.1/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _raf = require('raf');\n\nvar _raf2 = _interopRequireDefault(_raf);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar cache = new WeakMap();\n\nvar difference = function difference(a, b) {\n  return Math.abs(a - b);\n};\n\nvar elements = function elements(className) {\n  var els = [].concat(_toConsumableArray(document.querySelectorAll('.' + className)));\n\n  return els.map(function (el) {\n    var relative = el.dataset.relative === 'true';\n    var offset = relative ? elY(el) : 0;\n    var end = parseInt(el.dataset.end, 10);\n    var start = parseInt(el.dataset.start, 10);\n    var opacityStart = parseFloat(el.dataset.opacityStart);\n    var opacityEnd = parseFloat(el.dataset.opacityEnd);\n    var translateXStart = parseInt(el.dataset.translatexStart, 10);\n    var translateXEnd = parseInt(el.dataset.translatexEnd, 10);\n    var translateYStart = parseInt(el.dataset.translateyStart, 10);\n    var translateYEnd = parseInt(el.dataset.translateyEnd, 10);\n    var scaleStart = parseFloat(el.dataset.scaleStart);\n    var scaleEnd = parseFloat(el.dataset.scaleEnd);\n    var updates = {};\n\n    if (!isNaN(opacityStart) && !isNaN(opacityEnd)) {\n      updates.opacity = {\n        end: opacityEnd,\n        start: opacityStart\n      };\n    }\n\n    if (!isNaN(translateXStart) && !isNaN(translateXEnd)) {\n      updates.translateX = {\n        end: translateXEnd,\n        start: translateXStart\n      };\n    }\n\n    if (!isNaN(translateYStart) && !isNaN(translateYEnd)) {\n      updates.translateY = {\n        end: translateYEnd,\n        start: translateYStart\n      };\n    }\n\n    if (!isNaN(scaleStart) && !isNaN(scaleEnd)) {\n      updates.scale = {\n        end: scaleEnd,\n        start: scaleStart\n      };\n    }\n\n    if (typeof end === 'undefined' || typeof start === 'undefined' || Object.keys(updates) === 0) {\n      return null;\n    }\n\n    return { el: el, end: end, offset: offset, relative: relative, start: start, updates: updates };\n  }).filter(function (x) {\n    return x;\n  });\n};\n\nvar elY = function elY(el) {\n  return scrollY() + el.getBoundingClientRect().top;\n};\n\nvar init = function init() {\n  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref$className = _ref.className,\n      className = _ref$className === undefined ? 'js-parallaxis' : _ref$className;\n\n  var els = elements(className);\n\n  if (els.length) {\n    var updateFunc = update(els);\n    updateOffsetsOnResize(els);\n    updateFunc();\n    window.addEventListener('scroll', function () {\n      return (0, _raf2.default)(updateFunc);\n    });\n  }\n};\n\nvar interpolate = function interpolate(start, end, progress) {\n  var p = difference(start, end) * progress;\n  return start > end ? start - p : start + p;\n};\n\nvar interval = function interval(start, end, current) {\n  return difference(start, current) / difference(start, end);\n};\n\nvar limit = function limit(min, max, value) {\n  return Math.max(Math.min(value, max), min);\n};\n\nvar prefixedTransformProp = function prefixedTransformProp() {\n  var el = document.createElement('div');\n  var vendors = ['Webkit', 'webkit', 'Moz', 'moz', 'ms', 'o'];\n\n  if (el.style.transform != null) {\n    return 'transform';\n  }\n\n  for (var v in vendors) {\n    var prop = vendors[v] + 'Transform';\n\n    if (typeof el.style[prop] !== 'undefined') {\n      return prop;\n    }\n  }\n};\n\nvar scrollY = function scrollY() {\n  return parseInt(window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0, 10);\n};\n\nvar update = function update(els) {\n  var transformProp = prefixedTransformProp();\n\n  return function () {\n    var y = scrollY();\n\n    els.map(function (_ref2) {\n      var el = _ref2.el,\n          end = _ref2.end,\n          offset = _ref2.offset,\n          start = _ref2.start,\n          updates = _ref2.updates;\n\n      var s = offset + start;\n      var e = offset + end;\n      var state = cache.get(el);\n\n      if (y >= s && y <= e || state !== 'before' && y < s || state !== 'after' && y > e) {\n        var translateX = 0;\n        var translateY = 0;\n        var scale = 1;\n\n        var current = limit(s, e, y);\n        var i = interval(s, e, current);\n\n        if (updates.opacity) {\n          var _updates$opacity = updates.opacity,\n              _end = _updates$opacity.end,\n              _start = _updates$opacity.start;\n\n          var opacity = interpolate(_start, _end, i).toFixed(2);\n          el.style.opacity = opacity;\n        }\n\n        if (updates.translateX) {\n          var _updates$translateX = updates.translateX,\n              _end2 = _updates$translateX.end,\n              _start2 = _updates$translateX.start;\n\n          translateX = parseInt(interpolate(_start2, _end2, i), 10);\n        }\n\n        if (updates.translateY) {\n          var _updates$translateY = updates.translateY,\n              _end3 = _updates$translateY.end,\n              _start3 = _updates$translateY.start;\n\n          translateY = parseInt(interpolate(_start3, _end3, i), 10);\n        }\n\n        if (updates.scale) {\n          var _updates$scale = updates.scale,\n              _end4 = _updates$scale.end,\n              _start4 = _updates$scale.start;\n\n          scale = interpolate(_start4, _end4, i).toFixed(2);\n        }\n\n        el.style[transformProp] = 'translate3d(' + translateX + 'px, ' + translateY + 'px, 0) scale(' + scale + ')';\n\n        if (y < s) {\n          cache.set(el, 'before');\n        } else if (y > e) {\n          cache.set(el, 'after');\n        } else {\n          cache.set(el, 'during');\n        }\n      }\n    });\n  };\n};\n\nvar updateOffsetsOnResize = function updateOffsetsOnResize(els) {\n  var updateOffsets = function updateOffsets() {\n    return els.map(function (x) {\n      if (x.relative) {\n        x.offset = elY(x.el);\n      }\n    });\n  };\n\n  var d = void 0;\n\n  window.addEventListener('resize', function () {\n    window.clearTimeout(d);\n    d = window.setTimeout(updateOffsets, 50);\n  });\n};\n\nexports.default = init;"]}