{"version":3,"file":"js/chunk-vendors-8565b0cf.79c4c344.js","mappings":"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","sources":["webpack://rokk3rfuel/./node_modules/vue-scrollto/vue-scrollto.js"],"sourcesContent":["/*!\n * vue-scrollto v2.20.0\n * (c) 2019 Randjelovic Igor\n * @license MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global['vue-scrollto'] = factory());\n}(this, (function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n /**\n * https://github.com/gre/bezier-easing\n * BezierEasing - use bezier curve for transition easing function\n * by Gaëtan Renaudeau 2014 - 2015 – MIT License\n */\n\n // These values are established by empiricism with tests (tradeoff: performance VS precision)\n var NEWTON_ITERATIONS = 4;\n var NEWTON_MIN_SLOPE = 0.001;\n var SUBDIVISION_PRECISION = 0.0000001;\n var SUBDIVISION_MAX_ITERATIONS = 10;\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n var float32ArraySupported = typeof Float32Array === 'function';\n\n function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; }\n function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; }\n function C (aA1) { return 3.0 * aA1; }\n\n // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; }\n\n // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); }\n\n function binarySubdivide (aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n }\n\n function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function LinearEasing (x) {\n return x;\n }\n\n var src = function bezier (mX1, mY1, mX2, mY2) {\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n if (mX1 === mY1 && mX2 === mY2) {\n return LinearEasing;\n }\n\n // Precompute samples table\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n\n function getTForX (aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n\n return function BezierEasing (x) {\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n };\n\n var easings = {\n ease: [0.25, 0.1, 0.25, 1.0],\n linear: [0.0, 0.0, 1.0, 1.0],\n 'ease-in': [0.42, 0.0, 1.0, 1.0],\n 'ease-out': [0.0, 0.0, 0.58, 1.0],\n 'ease-in-out': [0.42, 0.0, 0.58, 1.0]\n };\n\n // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n\n var _ = {\n $: function $(selector) {\n if (typeof selector !== 'string') {\n return selector;\n }\n\n return document.querySelector(selector);\n },\n on: function on(element, events, handler) {\n var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n passive: false\n };\n\n if (!(events instanceof Array)) {\n events = [events];\n }\n\n for (var i = 0; i < events.length; i++) {\n element.addEventListener(events[i], handler, supportsPassive ? opts : false);\n }\n },\n off: function off(element, events, handler) {\n if (!(events instanceof Array)) {\n events = [events];\n }\n\n for (var i = 0; i < events.length; i++) {\n element.removeEventListener(events[i], handler);\n }\n },\n cumulativeOffset: function cumulativeOffset(element) {\n var top = 0;\n var left = 0;\n\n do {\n top += element.offsetTop || 0;\n left += element.offsetLeft || 0;\n element = element.offsetParent;\n } while (element);\n\n return {\n top: top,\n left: left\n };\n }\n };\n\n var abortEvents = ['mousedown', 'wheel', 'DOMMouseScroll', 'mousewheel', 'keyup', 'touchmove'];\n var defaults = {\n container: 'body',\n duration: 500,\n lazy: true,\n easing: 'ease',\n offset: 0,\n force: true,\n cancelable: true,\n onStart: false,\n onDone: false,\n onCancel: false,\n x: false,\n y: true\n };\n function setDefaults(options) {\n defaults = _extends({}, defaults, options);\n }\n var scroller = function scroller() {\n var element; // element to scroll to\n\n var container; // container to scroll\n\n var duration; // duration of the scrolling\n\n var easing; // easing to be used when scrolling\n\n var lazy; // checks the target position at each step\n\n var offset; // offset to be added (subtracted)\n\n var force; // force scroll, even if element is visible\n\n var cancelable; // indicates if user can cancel the scroll or not.\n\n var onStart; // callback when scrolling is started\n\n var onDone; // callback when scrolling is done\n\n var onCancel; // callback when scrolling is canceled / aborted\n\n var x; // scroll on x axis\n\n var y; // scroll on y axis\n\n var initialX; // initial X of container\n\n var targetX; // target X of container\n\n var initialY; // initial Y of container\n\n var targetY; // target Y of container\n\n var diffX; // difference\n\n var diffY; // difference\n\n var abort; // is scrolling aborted\n\n var cumulativeOffsetContainer;\n var cumulativeOffsetElement;\n var abortEv; // event that aborted scrolling\n\n var abortFn = function abortFn(e) {\n if (!cancelable) return;\n abortEv = e;\n abort = true;\n };\n\n var easingFn;\n var timeStart; // time when scrolling started\n\n var timeElapsed; // time elapsed since scrolling started\n\n var progress; // progress\n\n function scrollTop(container) {\n var scrollTop = container.scrollTop;\n\n if (container.tagName.toLowerCase() === 'body') {\n // in firefox body.scrollTop always returns 0\n // thus if we are trying to get scrollTop on a body tag\n // we need to get it from the documentElement\n scrollTop = scrollTop || document.documentElement.scrollTop;\n }\n\n return scrollTop;\n }\n\n function scrollLeft(container) {\n var scrollLeft = container.scrollLeft;\n\n if (container.tagName.toLowerCase() === 'body') {\n // in firefox body.scrollLeft always returns 0\n // thus if we are trying to get scrollLeft on a body tag\n // we need to get it from the documentElement\n scrollLeft = scrollLeft || document.documentElement.scrollLeft;\n }\n\n return scrollLeft;\n }\n\n function recalculateTargets() {\n cumulativeOffsetContainer = _.cumulativeOffset(container);\n cumulativeOffsetElement = _.cumulativeOffset(element);\n\n if (x) {\n targetX = cumulativeOffsetElement.left - cumulativeOffsetContainer.left + offset;\n diffX = targetX - initialX;\n }\n\n if (y) {\n targetY = cumulativeOffsetElement.top - cumulativeOffsetContainer.top + offset;\n diffY = targetY - initialY;\n }\n }\n\n function step(timestamp) {\n if (abort) return done();\n if (!timeStart) timeStart = timestamp; // When a site has a lot of media that can be loaded asynchronously,\n // the targetY/targetX may end up in the wrong place during scrolling.\n // So we will check this at each step\n\n if (!lazy) {\n recalculateTargets();\n }\n\n timeElapsed = timestamp - timeStart;\n progress = Math.min(timeElapsed / duration, 1);\n progress = easingFn(progress);\n topLeft(container, initialY + diffY * progress, initialX + diffX * progress);\n timeElapsed < duration ? window.requestAnimationFrame(step) : done();\n }\n\n function done() {\n if (!abort) topLeft(container, targetY, targetX);\n timeStart = false;\n\n _.off(container, abortEvents, abortFn);\n\n if (abort && onCancel) onCancel(abortEv, element);\n if (!abort && onDone) onDone(element);\n }\n\n function topLeft(element, top, left) {\n if (y) element.scrollTop = top;\n if (x) element.scrollLeft = left;\n\n if (element.tagName.toLowerCase() === 'body') {\n // in firefox body.scrollTop doesn't scroll the page\n // thus if we are trying to scrollTop on a body tag\n // we need to scroll on the documentElement\n if (y) document.documentElement.scrollTop = top;\n if (x) document.documentElement.scrollLeft = left;\n }\n }\n\n function scrollTo(target, _duration) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (_typeof(_duration) === 'object') {\n options = _duration;\n } else if (typeof _duration === 'number') {\n options.duration = _duration;\n }\n\n element = _.$(target);\n\n if (!element) {\n return console.warn('[vue-scrollto warn]: Trying to scroll to an element that is not on the page: ' + target);\n }\n\n container = _.$(options.container || defaults.container);\n duration = options.hasOwnProperty('duration') ? options.duration : defaults.duration;\n lazy = options.hasOwnProperty('lazy') ? options.lazy : defaults.lazy;\n easing = options.easing || defaults.easing;\n offset = options.hasOwnProperty('offset') ? options.offset : defaults.offset;\n force = options.hasOwnProperty('force') ? options.force !== false : defaults.force;\n cancelable = options.hasOwnProperty('cancelable') ? options.cancelable !== false : defaults.cancelable;\n onStart = options.onStart || defaults.onStart;\n onDone = options.onDone || defaults.onDone;\n onCancel = options.onCancel || defaults.onCancel;\n x = options.x === undefined ? defaults.x : options.x;\n y = options.y === undefined ? defaults.y : options.y;\n\n if (typeof offset === 'function') {\n offset = offset(element, container);\n }\n\n initialX = scrollLeft(container);\n initialY = scrollTop(container); // calculates cumulative offsets and targetX/Y + diffX/Y\n\n recalculateTargets();\n abort = false;\n\n if (!force) {\n // When the container is the default (body) we need to use the viewport\n // height, not the entire body height\n var containerHeight = container.tagName.toLowerCase() === 'body' ? document.documentElement.clientHeight || window.innerHeight : container.offsetHeight;\n var containerTop = initialY;\n var containerBottom = containerTop + containerHeight;\n var elementTop = targetY - offset;\n var elementBottom = elementTop + element.offsetHeight;\n\n if (elementTop >= containerTop && elementBottom <= containerBottom) {\n // make sure to call the onDone callback even if there is no need to\n // scroll the container. Fixes #111 (ref #118)\n if (onDone) onDone(element);\n return;\n }\n }\n\n if (onStart) onStart(element);\n\n if (!diffY && !diffX) {\n if (onDone) onDone(element);\n return;\n }\n\n if (typeof easing === 'string') {\n easing = easings[easing] || easings['ease'];\n }\n\n easingFn = src.apply(src, easing);\n\n _.on(container, abortEvents, abortFn, {\n passive: true\n });\n\n window.requestAnimationFrame(step);\n return function () {\n abortEv = null;\n abort = true;\n };\n }\n\n return scrollTo;\n };\n\n var _scroller = scroller();\n\n var bindings = []; // store binding data\n\n function deleteBinding(el) {\n for (var i = 0; i < bindings.length; ++i) {\n if (bindings[i].el === el) {\n bindings.splice(i, 1);\n return true;\n }\n }\n\n return false;\n }\n\n function findBinding(el) {\n for (var i = 0; i < bindings.length; ++i) {\n if (bindings[i].el === el) {\n return bindings[i];\n }\n }\n }\n\n function getBinding(el) {\n var binding = findBinding(el);\n\n if (binding) {\n return binding;\n }\n\n bindings.push(binding = {\n el: el,\n binding: {}\n });\n return binding;\n }\n\n function handleClick(e) {\n var ctx = getBinding(this).binding;\n if (!ctx.value) return;\n e.preventDefault();\n\n if (typeof ctx.value === 'string') {\n return _scroller(ctx.value);\n }\n\n _scroller(ctx.value.el || ctx.value.element, ctx.value);\n }\n\n var directiveHooks = {\n bind: function bind(el, binding) {\n getBinding(el).binding = binding;\n\n _.on(el, 'click', handleClick);\n },\n unbind: function unbind(el) {\n deleteBinding(el);\n\n _.off(el, 'click', handleClick);\n },\n update: function update(el, binding) {\n getBinding(el).binding = binding;\n }\n };\n var VueScrollTo = {\n bind: directiveHooks.bind,\n unbind: directiveHooks.unbind,\n update: directiveHooks.update,\n beforeMount: directiveHooks.bind,\n unmounted: directiveHooks.unbind,\n updated: directiveHooks.update,\n scrollTo: _scroller,\n bindings: bindings\n };\n\n var install = function install(Vue, options) {\n if (options) setDefaults(options);\n Vue.directive('scroll-to', VueScrollTo);\n var properties = Vue.config.globalProperties || Vue.prototype;\n properties.$scrollTo = VueScrollTo.scrollTo;\n };\n\n if (typeof window !== 'undefined' && window.Vue) {\n window.VueScrollTo = VueScrollTo;\n window.VueScrollTo.setDefaults = setDefaults;\n window.VueScrollTo.scroller = scroller;\n if (window.Vue.use) window.Vue.use(install);\n }\n\n VueScrollTo.install = install;\n\n return VueScrollTo;\n\n})));\n"],"names":["global","factory","module","exports","this","_typeof","obj","Symbol","iterator","constructor","prototype","_extends","Object","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","NEWTON_ITERATIONS","NEWTON_MIN_SLOPE","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSplineTableSize","kSampleStepSize","float32ArraySupported","Float32Array","A","aA1","aA2","B","C","calcBezier","aT","getSlope","binarySubdivide","aX","aA","aB","mX1","mX2","currentX","currentT","Math","abs","newtonRaphsonIterate","aGuessT","currentSlope","LinearEasing","x","src","mY1","mY2","Error","sampleValues","Array","getTForX","intervalStart","currentSample","lastSample","dist","guessForT","initialSlope","easings","ease","linear","supportsPassive","opts","defineProperty","get","window","addEventListener","e","_","$","selector","document","querySelector","on","element","events","handler","undefined","passive","off","removeEventListener","cumulativeOffset","top","left","offsetTop","offsetLeft","offsetParent","abortEvents","defaults","container","duration","lazy","easing","offset","force","cancelable","onStart","onDone","onCancel","y","setDefaults","options","scroller","initialX","targetX","initialY","targetY","diffX","diffY","abort","cumulativeOffsetContainer","cumulativeOffsetElement","abortEv","easingFn","timeStart","timeElapsed","progress","abortFn","scrollTop","tagName","toLowerCase","documentElement","scrollLeft","recalculateTargets","step","timestamp","done","min","topLeft","requestAnimationFrame","scrollTo","_duration","console","warn","containerHeight","clientHeight","innerHeight","offsetHeight","containerTop","containerBottom","elementTop","elementBottom","_scroller","bindings","deleteBinding","el","splice","findBinding","getBinding","binding","push","handleClick","ctx","value","preventDefault","directiveHooks","bind","unbind","update","VueScrollTo","beforeMount","unmounted","updated","install","Vue","directive","properties","config","globalProperties","$scrollTo","use"],"sourceRoot":""}