{"version":3,"file":"491.e2647b96b69b87eb577c.dist.js","mappings":"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","sources":["webpack://hm/./node_modules/@chenfengyuan/vue-countdown/dist/vue-countdown.esm.js","webpack://hm/./node_modules/vue-scrollto/vue-scrollto.js","webpack://hm/./node_modules/blazy/blazy.js"],"sourcesContent":["/*! vue-countdown v2.1.0 | (c) 2018-present Chen Fengyuan | MIT */\nimport { defineComponent, h } from 'vue';\n\nconst MILLISECONDS_SECOND = 1000;\r\nconst MILLISECONDS_MINUTE = 60 * MILLISECONDS_SECOND;\r\nconst MILLISECONDS_HOUR = 60 * MILLISECONDS_MINUTE;\r\nconst MILLISECONDS_DAY = 24 * MILLISECONDS_HOUR;\r\nconst EVENT_ABORT = 'abort';\r\nconst EVENT_END = 'end';\r\nconst EVENT_PROGRESS = 'progress';\r\nconst EVENT_START = 'start';\r\nconst EVENT_VISIBILITY_CHANGE = 'visibilitychange';\r\nvar index = defineComponent({\r\n name: 'VueCountdown',\r\n props: {\r\n /**\r\n * Starts the countdown automatically when initialized.\r\n */\r\n autoStart: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n /**\r\n * Emits the countdown events.\r\n */\r\n emitEvents: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n /**\r\n * The interval time (in milliseconds) of the countdown progress.\r\n */\r\n interval: {\r\n type: Number,\r\n default: 1000,\r\n validator: (value) => value >= 0,\r\n },\r\n /**\r\n * Generate the current time of a specific time zone.\r\n */\r\n now: {\r\n type: Function,\r\n default: () => Date.now(),\r\n },\r\n /**\r\n * The tag name of the component's root element.\r\n */\r\n tag: {\r\n type: String,\r\n default: 'span',\r\n },\r\n /**\r\n * The time (in milliseconds) to count down from.\r\n */\r\n time: {\r\n type: Number,\r\n default: 0,\r\n validator: (value) => value >= 0,\r\n },\r\n /**\r\n * Transforms the output props before render.\r\n */\r\n transform: {\r\n type: Function,\r\n default: (props) => props,\r\n },\r\n },\r\n emits: [\r\n EVENT_ABORT,\r\n EVENT_END,\r\n EVENT_PROGRESS,\r\n EVENT_START,\r\n ],\r\n data() {\r\n return {\r\n /**\r\n * It is counting down.\r\n * @type {boolean}\r\n */\r\n counting: false,\r\n /**\r\n * The absolute end time.\r\n * @type {number}\r\n */\r\n endTime: 0,\r\n /**\r\n * The remaining milliseconds.\r\n * @type {number}\r\n */\r\n totalMilliseconds: 0,\r\n /**\r\n * The request ID of the requestAnimationFrame.\r\n * @type {number}\r\n */\r\n requestId: 0,\r\n };\r\n },\r\n computed: {\r\n /**\r\n * Remaining days.\r\n * @returns {number} The computed value.\r\n */\r\n days() {\r\n return Math.floor(this.totalMilliseconds / MILLISECONDS_DAY);\r\n },\r\n /**\r\n * Remaining hours.\r\n * @returns {number} The computed value.\r\n */\r\n hours() {\r\n return Math.floor((this.totalMilliseconds % MILLISECONDS_DAY) / MILLISECONDS_HOUR);\r\n },\r\n /**\r\n * Remaining minutes.\r\n * @returns {number} The computed value.\r\n */\r\n minutes() {\r\n return Math.floor((this.totalMilliseconds % MILLISECONDS_HOUR) / MILLISECONDS_MINUTE);\r\n },\r\n /**\r\n * Remaining seconds.\r\n * @returns {number} The computed value.\r\n */\r\n seconds() {\r\n return Math.floor((this.totalMilliseconds % MILLISECONDS_MINUTE) / MILLISECONDS_SECOND);\r\n },\r\n /**\r\n * Remaining milliseconds.\r\n * @returns {number} The computed value.\r\n */\r\n milliseconds() {\r\n return Math.floor(this.totalMilliseconds % MILLISECONDS_SECOND);\r\n },\r\n /**\r\n * Total remaining days.\r\n * @returns {number} The computed value.\r\n */\r\n totalDays() {\r\n return this.days;\r\n },\r\n /**\r\n * Total remaining hours.\r\n * @returns {number} The computed value.\r\n */\r\n totalHours() {\r\n return Math.floor(this.totalMilliseconds / MILLISECONDS_HOUR);\r\n },\r\n /**\r\n * Total remaining minutes.\r\n * @returns {number} The computed value.\r\n */\r\n totalMinutes() {\r\n return Math.floor(this.totalMilliseconds / MILLISECONDS_MINUTE);\r\n },\r\n /**\r\n * Total remaining seconds.\r\n * @returns {number} The computed value.\r\n */\r\n totalSeconds() {\r\n return Math.floor(this.totalMilliseconds / MILLISECONDS_SECOND);\r\n },\r\n },\r\n watch: {\r\n $props: {\r\n deep: true,\r\n immediate: true,\r\n /**\r\n * Update the countdown when props changed.\r\n */\r\n handler() {\r\n this.totalMilliseconds = this.time;\r\n this.endTime = this.now() + this.time;\r\n if (this.autoStart) {\r\n this.start();\r\n }\r\n },\r\n },\r\n },\r\n mounted() {\r\n document.addEventListener(EVENT_VISIBILITY_CHANGE, this.handleVisibilityChange);\r\n },\r\n beforeUnmount() {\r\n document.removeEventListener(EVENT_VISIBILITY_CHANGE, this.handleVisibilityChange);\r\n this.pause();\r\n },\r\n methods: {\r\n /**\r\n * Starts to countdown.\r\n * @public\r\n * @emits Countdown#start\r\n */\r\n start() {\r\n if (this.counting) {\r\n return;\r\n }\r\n this.counting = true;\r\n if (this.emitEvents) {\r\n /**\r\n * Countdown start event.\r\n * @event Countdown#start\r\n */\r\n this.$emit(EVENT_START);\r\n }\r\n if (document.visibilityState === 'visible') {\r\n this.continue();\r\n }\r\n },\r\n /**\r\n * Continues the countdown.\r\n * @private\r\n */\r\n continue() {\r\n if (!this.counting) {\r\n return;\r\n }\r\n const delay = Math.min(this.totalMilliseconds, this.interval);\r\n if (delay > 0) {\r\n let init;\r\n let prev;\r\n const step = (now) => {\r\n if (!init) {\r\n init = now;\r\n }\r\n if (!prev) {\r\n prev = now;\r\n }\r\n const range = now - init;\r\n if (range >= delay\r\n // Avoid losing time about one second per minute (now - prev ≈ 16ms) (#43)\r\n || range + ((now - prev) / 2) >= delay) {\r\n this.progress();\r\n }\r\n else {\r\n this.requestId = requestAnimationFrame(step);\r\n }\r\n prev = now;\r\n };\r\n this.requestId = requestAnimationFrame(step);\r\n }\r\n else {\r\n this.end();\r\n }\r\n },\r\n /**\r\n * Pauses the countdown.\r\n * @private\r\n */\r\n pause() {\r\n cancelAnimationFrame(this.requestId);\r\n },\r\n /**\r\n * Progresses to countdown.\r\n * @private\r\n * @emits Countdown#progress\r\n */\r\n progress() {\r\n if (!this.counting) {\r\n return;\r\n }\r\n this.totalMilliseconds -= this.interval;\r\n if (this.emitEvents && this.totalMilliseconds > 0) {\r\n /**\r\n * Countdown progress event.\r\n * @event Countdown#progress\r\n */\r\n this.$emit(EVENT_PROGRESS, {\r\n days: this.days,\r\n hours: this.hours,\r\n minutes: this.minutes,\r\n seconds: this.seconds,\r\n milliseconds: this.milliseconds,\r\n totalDays: this.totalDays,\r\n totalHours: this.totalHours,\r\n totalMinutes: this.totalMinutes,\r\n totalSeconds: this.totalSeconds,\r\n totalMilliseconds: this.totalMilliseconds,\r\n });\r\n }\r\n this.continue();\r\n },\r\n /**\r\n * Aborts the countdown.\r\n * @public\r\n * @emits Countdown#abort\r\n */\r\n abort() {\r\n if (!this.counting) {\r\n return;\r\n }\r\n this.pause();\r\n this.counting = false;\r\n if (this.emitEvents) {\r\n /**\r\n * Countdown abort event.\r\n * @event Countdown#abort\r\n */\r\n this.$emit(EVENT_ABORT);\r\n }\r\n },\r\n /**\r\n * Ends the countdown.\r\n * @public\r\n * @emits Countdown#end\r\n */\r\n end() {\r\n if (!this.counting) {\r\n return;\r\n }\r\n this.pause();\r\n this.totalMilliseconds = 0;\r\n this.counting = false;\r\n if (this.emitEvents) {\r\n /**\r\n * Countdown end event.\r\n * @event Countdown#end\r\n */\r\n this.$emit(EVENT_END);\r\n }\r\n },\r\n /**\r\n * Updates the count.\r\n * @private\r\n */\r\n update() {\r\n if (this.counting) {\r\n this.totalMilliseconds = Math.max(0, this.endTime - this.now());\r\n }\r\n },\r\n /**\r\n * Restarts the count.\r\n * @public\r\n */\r\n restart() {\r\n this.pause();\r\n this.totalMilliseconds = this.time;\r\n this.endTime = this.now() + this.time;\r\n this.counting = false;\r\n this.start();\r\n },\r\n /**\r\n * visibility change event handler.\r\n * @private\r\n */\r\n handleVisibilityChange() {\r\n switch (document.visibilityState) {\r\n case 'visible':\r\n this.update();\r\n this.continue();\r\n break;\r\n case 'hidden':\r\n this.pause();\r\n break;\r\n }\r\n },\r\n },\r\n render() {\r\n return h(this.tag, this.$slots.default ? [\r\n this.$slots.default(this.transform({\r\n days: this.days,\r\n hours: this.hours,\r\n minutes: this.minutes,\r\n seconds: this.seconds,\r\n milliseconds: this.milliseconds,\r\n totalDays: this.totalDays,\r\n totalHours: this.totalHours,\r\n totalMinutes: this.totalMinutes,\r\n totalSeconds: this.totalSeconds,\r\n totalMilliseconds: this.totalMilliseconds,\r\n })),\r\n ] : undefined);\r\n },\r\n});\n\nexport { index as default };\n","/*!\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","/*!\n hey, [be]Lazy.js - v1.8.2 - 2016.10.25\n A fast, small and dependency free lazy load script (https://github.com/dinbror/blazy)\n (c) Bjoern Klinggaard - @bklinggaard - http://dinbror.dk/blazy\n*/\n;\n(function(root, blazy) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register bLazy as an anonymous module\n define(blazy);\n } else if (typeof exports === 'object') {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = blazy();\n } else {\n // Browser globals. Register bLazy on window\n root.Blazy = blazy();\n }\n})(this, function() {\n 'use strict';\n\n //private vars\n var _source, _viewport, _isRetina, _supportClosest, _attrSrc = 'src', _attrSrcset = 'srcset';\n\n // constructor\n return function Blazy(options) {\n //IE7- fallback for missing querySelectorAll support\n if (!document.querySelectorAll) {\n var s = document.createStyleSheet();\n document.querySelectorAll = function(r, c, i, j, a) {\n a = document.all, c = [], r = r.replace(/\\[for\\b/gi, '[htmlFor').split(',');\n for (i = r.length; i--;) {\n s.addRule(r[i], 'k:v');\n for (j = a.length; j--;) a[j].currentStyle.k && c.push(a[j]);\n s.removeRule(0);\n }\n return c;\n };\n }\n\n //options and helper vars\n var scope = this;\n var util = scope._util = {};\n util.elements = [];\n util.destroyed = true;\n scope.options = options || {};\n scope.options.error = scope.options.error || false;\n scope.options.offset = scope.options.offset || 100;\n scope.options.root = scope.options.root || document;\n scope.options.success = scope.options.success || false;\n scope.options.selector = scope.options.selector || '.b-lazy';\n scope.options.separator = scope.options.separator || '|';\n scope.options.containerClass = scope.options.container;\n scope.options.container = scope.options.containerClass ? document.querySelectorAll(scope.options.containerClass) : false;\n scope.options.errorClass = scope.options.errorClass || 'b-error';\n scope.options.breakpoints = scope.options.breakpoints || false;\n scope.options.loadInvisible = scope.options.loadInvisible || false;\n scope.options.successClass = scope.options.successClass || 'b-loaded';\n scope.options.validateDelay = scope.options.validateDelay || 25;\n scope.options.saveViewportOffsetDelay = scope.options.saveViewportOffsetDelay || 50;\n scope.options.srcset = scope.options.srcset || 'data-srcset';\n scope.options.src = _source = scope.options.src || 'data-src';\n _supportClosest = Element.prototype.closest;\n _isRetina = window.devicePixelRatio > 1;\n _viewport = {};\n _viewport.top = 0 - scope.options.offset;\n _viewport.left = 0 - scope.options.offset;\n\n\n /* public functions\n ************************************/\n scope.revalidate = function() {\n initialize(scope);\n };\n scope.load = function(elements, force) {\n var opt = this.options;\n if (elements && elements.length === undefined) {\n loadElement(elements, force, opt);\n } else {\n each(elements, function(element) {\n loadElement(element, force, opt);\n });\n }\n };\n scope.destroy = function() { \n var util = scope._util;\n if (scope.options.container) {\n each(scope.options.container, function(object) {\n unbindEvent(object, 'scroll', util.validateT);\n });\n }\n unbindEvent(window, 'scroll', util.validateT);\n unbindEvent(window, 'resize', util.validateT);\n unbindEvent(window, 'resize', util.saveViewportOffsetT);\n util.count = 0;\n util.elements.length = 0;\n util.destroyed = true;\n };\n\n //throttle, ensures that we don't call the functions too often\n util.validateT = throttle(function() {\n validate(scope);\n }, scope.options.validateDelay, scope);\n util.saveViewportOffsetT = throttle(function() {\n saveViewportOffset(scope.options.offset);\n }, scope.options.saveViewportOffsetDelay, scope);\n saveViewportOffset(scope.options.offset);\n\n //handle multi-served image src (obsolete)\n each(scope.options.breakpoints, function(object) {\n if (object.width >= window.screen.width) {\n _source = object.src;\n return false;\n }\n });\n\n // start lazy load\n setTimeout(function() {\n initialize(scope);\n }); // \"dom ready\" fix\n\n };\n\n\n /* Private helper functions\n ************************************/\n function initialize(self) {\n var util = self._util;\n // First we create an array of elements to lazy load\n util.elements = toArray(self.options);\n util.count = util.elements.length;\n // Then we bind resize and scroll events if not already binded\n if (util.destroyed) {\n util.destroyed = false;\n if (self.options.container) {\n each(self.options.container, function(object) {\n bindEvent(object, 'scroll', util.validateT);\n });\n }\n bindEvent(window, 'resize', util.saveViewportOffsetT);\n bindEvent(window, 'resize', util.validateT);\n bindEvent(window, 'scroll', util.validateT);\n }\n // And finally, we start to lazy load.\n validate(self);\n }\n\n function validate(self) {\n var util = self._util;\n for (var i = 0; i < util.count; i++) {\n var element = util.elements[i];\n if (elementInView(element, self.options) || hasClass(element, self.options.successClass)) {\n self.load(element);\n util.elements.splice(i, 1);\n util.count--;\n i--;\n }\n }\n if (util.count === 0) {\n self.destroy();\n }\n }\n\n function elementInView(ele, options) {\n var rect = ele.getBoundingClientRect();\n\n if(options.container && _supportClosest){\n // Is element inside a container?\n var elementContainer = ele.closest(options.containerClass);\n if(elementContainer){\n var containerRect = elementContainer.getBoundingClientRect();\n // Is container in view?\n if(inView(containerRect, _viewport)){\n var top = containerRect.top - options.offset;\n var right = containerRect.right + options.offset;\n var bottom = containerRect.bottom + options.offset;\n var left = containerRect.left - options.offset;\n var containerRectWithOffset = {\n top: top > _viewport.top ? top : _viewport.top,\n right: right < _viewport.right ? right : _viewport.right,\n bottom: bottom < _viewport.bottom ? bottom : _viewport.bottom,\n left: left > _viewport.left ? left : _viewport.left\n };\n // Is element in view of container?\n return inView(rect, containerRectWithOffset);\n } else {\n return false;\n }\n }\n } \n return inView(rect, _viewport);\n }\n\n function inView(rect, viewport){\n // Intersection\n return rect.right >= viewport.left &&\n rect.bottom >= viewport.top && \n rect.left <= viewport.right && \n rect.top <= viewport.bottom;\n }\n\n function loadElement(ele, force, options) {\n // if element is visible, not loaded or forced\n if (!hasClass(ele, options.successClass) && (force || options.loadInvisible || (ele.offsetWidth > 0 && ele.offsetHeight > 0))) {\n var dataSrc = getAttr(ele, _source) || getAttr(ele, options.src); // fallback to default 'data-src'\n if (dataSrc) {\n var dataSrcSplitted = dataSrc.split(options.separator);\n var src = dataSrcSplitted[_isRetina && dataSrcSplitted.length > 1 ? 1 : 0];\n var srcset = getAttr(ele, options.srcset);\n var isImage = equal(ele, 'img');\n var parent = ele.parentNode;\n var isPicture = parent && equal(parent, 'picture');\n // Image or background image\n if (isImage || ele.src === undefined) {\n var img = new Image();\n // using EventListener instead of onerror and onload\n // due to bug introduced in chrome v50 \n // (https://productforums.google.com/forum/#!topic/chrome/p51Lk7vnP2o)\n var onErrorHandler = function() {\n if (options.error) options.error(ele, \"invalid\");\n addClass(ele, options.errorClass);\n unbindEvent(img, 'error', onErrorHandler);\n unbindEvent(img, 'load', onLoadHandler);\n };\n var onLoadHandler = function() {\n // Is element an image\n if (isImage) {\n if(!isPicture) {\n handleSources(ele, src, srcset);\n }\n // or background-image\n } else {\n ele.style.backgroundImage = 'url(\"' + src + '\")';\n }\n itemLoaded(ele, options);\n unbindEvent(img, 'load', onLoadHandler);\n unbindEvent(img, 'error', onErrorHandler);\n };\n \n // Picture element\n if (isPicture) {\n img = ele; // Image tag inside picture element wont get preloaded\n each(parent.getElementsByTagName('source'), function(source) {\n handleSource(source, _attrSrcset, options.srcset);\n });\n }\n bindEvent(img, 'error', onErrorHandler);\n bindEvent(img, 'load', onLoadHandler);\n handleSources(img, src, srcset); // Preload\n\n } else { // An item with src like iframe, unity games, simpel video etc\n ele.src = src;\n itemLoaded(ele, options);\n }\n } else {\n // video with child source\n if (equal(ele, 'video')) {\n each(ele.getElementsByTagName('source'), function(source) {\n handleSource(source, _attrSrc, options.src);\n });\n ele.load();\n itemLoaded(ele, options);\n } else {\n if (options.error) options.error(ele, \"missing\");\n addClass(ele, options.errorClass);\n }\n }\n }\n }\n\n function itemLoaded(ele, options) {\n addClass(ele, options.successClass);\n if (options.success) options.success(ele);\n // cleanup markup, remove data source attributes\n removeAttr(ele, options.src);\n removeAttr(ele, options.srcset);\n each(options.breakpoints, function(object) {\n removeAttr(ele, object.src);\n });\n }\n\n function handleSource(ele, attr, dataAttr) {\n var dataSrc = getAttr(ele, dataAttr);\n if (dataSrc) {\n setAttr(ele, attr, dataSrc);\n removeAttr(ele, dataAttr);\n }\n }\n\n function handleSources(ele, src, srcset){\n if(srcset) {\n setAttr(ele, _attrSrcset, srcset); //srcset\n }\n ele.src = src; //src \n }\n\n function setAttr(ele, attr, value){\n ele.setAttribute(attr, value);\n }\n\n function getAttr(ele, attr) {\n return ele.getAttribute(attr);\n }\n\n function removeAttr(ele, attr){\n ele.removeAttribute(attr); \n }\n\n function equal(ele, str) {\n return ele.nodeName.toLowerCase() === str;\n }\n\n function hasClass(ele, className) {\n return (' ' + ele.className + ' ').indexOf(' ' + className + ' ') !== -1;\n }\n\n function addClass(ele, className) {\n if (!hasClass(ele, className)) {\n ele.className += ' ' + className;\n }\n }\n\n function toArray(options) {\n var array = [];\n var nodelist = (options.root).querySelectorAll(options.selector);\n for (var i = nodelist.length; i--; array.unshift(nodelist[i])) {}\n return array;\n }\n\n function saveViewportOffset(offset) {\n _viewport.bottom = (window.innerHeight || document.documentElement.clientHeight) + offset;\n _viewport.right = (window.innerWidth || document.documentElement.clientWidth) + offset;\n }\n\n function bindEvent(ele, type, fn) {\n if (ele.attachEvent) {\n ele.attachEvent && ele.attachEvent('on' + type, fn);\n } else {\n ele.addEventListener(type, fn, { capture: false, passive: true });\n }\n }\n\n function unbindEvent(ele, type, fn) {\n if (ele.detachEvent) {\n ele.detachEvent && ele.detachEvent('on' + type, fn);\n } else {\n ele.removeEventListener(type, fn, { capture: false, passive: true });\n }\n }\n\n function each(object, fn) {\n if (object && fn) {\n var l = object.length;\n for (var i = 0; i < l && fn(object[i], i) !== false; i++) {}\n }\n }\n\n function throttle(fn, minDelay, scope) {\n var lastCall = 0;\n return function() {\n var now = +new Date();\n if (now - lastCall < minDelay) {\n return;\n }\n lastCall = now;\n fn.apply(scope, arguments);\n };\n }\n});\n"],"names":["index","defineComponent","name","props","autoStart","type","Boolean","default","emitEvents","interval","Number","validator","value","now","Function","Date","tag","String","time","transform","emits","data","counting","endTime","totalMilliseconds","requestId","computed","days","Math","floor","this","hours","minutes","seconds","milliseconds","totalDays","totalHours","totalMinutes","totalSeconds","watch","$props","deep","immediate","handler","start","mounted","document","addEventListener","handleVisibilityChange","beforeUnmount","removeEventListener","pause","methods","$emit","visibilityState","continue","delay","min","init","prev","step","range","progress","requestAnimationFrame","end","cancelAnimationFrame","abort","update","max","restart","render","h","$slots","undefined","factory","_typeof","obj","Symbol","_typeof2","iterator","constructor","prototype","_extends","Object","assign","target","i","arguments","length","source","key","hasOwnProperty","call","apply","float32ArraySupported","Float32Array","A","aA1","aA2","B","C","calcBezier","aT","getSlope","LinearEasing","x","src","mX1","mY1","mX2","mY2","Error","sampleValues","Array","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","aGuessT","currentSlope","newtonRaphsonIterate","aA","aB","currentX","currentT","abs","binarySubdivide","easings","ease","linear","supportsPassive","opts","defineProperty","get","window","e","_","selector","querySelector","element","events","passive","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","cumulativeOffsetContainer","cumulativeOffsetElement","abortEv","easingFn","timeStart","timeElapsed","abortFn","scrollTop","tagName","toLowerCase","documentElement","scrollLeft","recalculateTargets","timestamp","done","topLeft","_duration","console","warn","containerHeight","clientHeight","innerHeight","offsetHeight","containerTop","containerBottom","elementTop","elementBottom","_scroller","bindings","getBinding","el","binding","findBinding","push","handleClick","ctx","preventDefault","directiveHooks","bind","unbind","splice","deleteBinding","VueScrollTo","beforeMount","unmounted","updated","scrollTo","install","Vue","directive","config","globalProperties","$scrollTo","use","exports","module","define","_source","_viewport","_isRetina","_supportClosest","_attrSrc","_attrSrcset","querySelectorAll","s","createStyleSheet","r","c","j","a","all","replace","split","addRule","currentStyle","k","removeRule","scope","util","_util","elements","destroyed","error","root","success","separator","containerClass","errorClass","breakpoints","loadInvisible","successClass","validateDelay","saveViewportOffsetDelay","srcset","Element","closest","devicePixelRatio","revalidate","initialize","load","opt","loadElement","each","destroy","object","unbindEvent","validateT","saveViewportOffsetT","count","throttle","validate","saveViewportOffset","width","screen","setTimeout","self","toArray","bindEvent","elementInView","hasClass","ele","rect","getBoundingClientRect","elementContainer","containerRect","inView","right","bottom","viewport","offsetWidth","dataSrc","getAttr","dataSrcSplitted","isImage","equal","parent","parentNode","isPicture","img","Image","onErrorHandler","addClass","onLoadHandler","handleSources","style","backgroundImage","itemLoaded","getElementsByTagName","handleSource","removeAttr","attr","dataAttr","setAttr","setAttribute","getAttribute","removeAttribute","str","nodeName","className","indexOf","array","nodelist","unshift","innerWidth","clientWidth","fn","attachEvent","capture","detachEvent","l","minDelay","lastCall"],"sourceRoot":""}