{"version":3,"sources":["webpack:///./node_modules/vanilla-lazyload/dist/lazyload.js"],"names":["factory","i","arguments","length","source","key","Object","prototype","hasOwnProperty","call","target","_typeof","Symbol","iterator","obj","constructor","getData","element","attribute","getAttribute","getWasProcessedData","getTopOffset","getBoundingClientRect","top","window","pageYOffset","ownerDocument","documentElement","clientTop","getLeftOffset","left","pageXOffset","clientLeft","isInsideViewport","container","threshold","innerHeight","offsetHeight","isBelowViewport","isAboveViewport","documentWidth","innerWidth","isAtRightOfViewport","offsetWidth","isAtLeftOfViewport","canvas","createInstance","classObj","options","event","instance","CustomEvent","detail","err","document","createEvent","initCustomEvent","dispatchEvent","replaceExtToWebp","value","condition","replace","runningOnBrowser","isBot","test","navigator","userAgent","supportsClassList","createElement","supportsWebp","getContext","toDataURL","indexOf","addClass","className","classList","add","setSourcesInChildren","parentTag","attrName","dataAttrName","toWebpFlag","childTag","children","tagName","attrValue","setAttributeIfValue","setAttribute","setSourcesFunctions","IMG","settings","to_webp","srcsetDataName","data_srcset","parent","parentNode","sizesDataValue","data_sizes","srcsetDataValue","srcDataValue","data_src","IFRAME","VIDEO","srcDataName","load","setSources","elements","elementToPurge","_settings","setSourcesFunction","_updateLoadingCount","_elements","filter","bgDataValue","data_bg","setValue","style","backgroundImage","_setValue","setSourcesBgImage","callbackIfSet","callback","argument","addEventListener","eventName","handler","removeEventListener","removeAllEventListeners","loadHandler","errorHandler","eventHandler","success","class_loaded","class_error","callback_load","callback_error","remove","RegExp","removeClass","class_loading","addOneShotEventListeners","addAllEventListeners","managedTags","LazyLoad","instanceSettings","this","_extends","elements_selector","throttle","class_initial","skip_invisible","callback_set","callback_enter","callback_finish","_loadingCount","_queryOriginNode","_previousLoopTime","_loopTimeout","_boundHandleScroll","handleScroll","bind","_isFirstLoop","update","_loopThroughElements","forceDownload","elementsLength","processedIndexes","isFirstLoop","offsetParent","push","indexes","splice","pop","removeFromArray","_stopScrollHandler","_startScrollHandler","_isHandlingScroll","plusMinus","now","Date","remainingTime","clearTimeout","setTimeout","loadAll","nodeSet","querySelectorAll","purgeProcessedElements","Array","slice","destroy","force","removeAttribute","setData","setWasProcessedData","revealElement","optionsItem","autoInitialize","lazyLoadOptions","exports","module"],"mappings":"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","file":"vendors-pkg-vanilla-lazyload.019d657f.js","sourcesContent":["var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n(function (global, factory) {\n\t(typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.LazyLoad = factory();\n})(this, function () {\n\t'use strict';\n\n\tvar getDefaultSettings = function getDefaultSettings() {\n\t\treturn {\n\t\t\telements_selector: \"img\",\n\t\t\tcontainer: window,\n\t\t\tthreshold: 300,\n\t\t\tthrottle: 150,\n\t\t\tdata_src: \"src\",\n\t\t\tdata_srcset: \"srcset\",\n\t\t\tdata_sizes: \"sizes\",\n\t\t\tdata_bg: \"bg\",\n\t\t\tclass_loading: \"loading\",\n\t\t\tclass_loaded: \"loaded\",\n\t\t\tclass_error: \"error\",\n\t\t\tclass_initial: \"initial\",\n\t\t\tskip_invisible: true,\n\t\t\tcallback_load: null,\n\t\t\tcallback_error: null,\n\t\t\tcallback_set: null,\n\t\t\tcallback_enter: null,\n\t\t\tcallback_finish: null,\n\t\t\tto_webp: false\n\t\t};\n\t};\n\n\tvar dataPrefix = \"data-\";\n\tvar processedDataName = \"was-processed\";\n\tvar processedDataValue = \"true\";\n\n\tvar getData = function getData(element, attribute) {\n\t\treturn element.getAttribute(dataPrefix + attribute);\n\t};\n\n\tvar setData = function setData(element, attribute, value) {\n\t\tvar attrName = dataPrefix + attribute;\n\t\tif (value === null) {\n\t\t\telement.removeAttribute(attrName);\n\t\t\treturn;\n\t\t}\n\t\telement.setAttribute(attrName, value);\n\t};\n\n\tvar setWasProcessedData = function setWasProcessedData(element) {\n\t\treturn setData(element, processedDataName, processedDataValue);\n\t};\n\n\tvar getWasProcessedData = function getWasProcessedData(element) {\n\t\treturn getData(element, processedDataName) === processedDataValue;\n\t};\n\n\tvar purgeProcessedElements = function purgeProcessedElements(elements) {\n\t\treturn elements.filter(function (element) {\n\t\t\treturn !getWasProcessedData(element);\n\t\t});\n\t};\n\n\tvar purgeOneElement = function purgeOneElement(elements, elementToPurge) {\n\t\treturn elements.filter(function (element) {\n\t\t\treturn element !== elementToPurge;\n\t\t});\n\t};\n\n\tvar getTopOffset = function getTopOffset(element) {\n\t\treturn element.getBoundingClientRect().top + window.pageYOffset - element.ownerDocument.documentElement.clientTop;\n\t};\n\n\tvar isBelowViewport = function isBelowViewport(element, container, threshold) {\n\t\tvar fold = container === window ? window.innerHeight + window.pageYOffset : getTopOffset(container) + container.offsetHeight;\n\t\treturn fold <= getTopOffset(element) - threshold;\n\t};\n\n\tvar getLeftOffset = function getLeftOffset(element) {\n\t\treturn element.getBoundingClientRect().left + window.pageXOffset - element.ownerDocument.documentElement.clientLeft;\n\t};\n\n\tvar isAtRightOfViewport = function isAtRightOfViewport(element, container, threshold) {\n\t\tvar documentWidth = window.innerWidth;\n\t\tvar fold = container === window ? documentWidth + window.pageXOffset : getLeftOffset(container) + documentWidth;\n\t\treturn fold <= getLeftOffset(element) - threshold;\n\t};\n\n\tvar isAboveViewport = function isAboveViewport(element, container, threshold) {\n\t\tvar fold = container === window ? window.pageYOffset : getTopOffset(container);\n\t\treturn fold >= getTopOffset(element) + threshold + element.offsetHeight;\n\t};\n\n\tvar isAtLeftOfViewport = function isAtLeftOfViewport(element, container, threshold) {\n\t\tvar fold = container === window ? window.pageXOffset : getLeftOffset(container);\n\t\treturn fold >= getLeftOffset(element) + threshold + element.offsetWidth;\n\t};\n\n\tfunction isInsideViewport(element, container, threshold) {\n\t\treturn !isBelowViewport(element, container, threshold) && !isAboveViewport(element, container, threshold) && !isAtRightOfViewport(element, container, threshold) && !isAtLeftOfViewport(element, container, threshold);\n\t}\n\n\t/* Creates instance and notifies it through the window element */\n\tvar createInstance = function createInstance(classObj, options) {\n\t\tvar event;\n\t\tvar eventString = \"LazyLoad::Initialized\";\n\t\tvar instance = new classObj(options);\n\t\ttry {\n\t\t\t// Works in modern browsers\n\t\t\tevent = new CustomEvent(eventString, { detail: { instance: instance } });\n\t\t} catch (err) {\n\t\t\t// Works in Internet Explorer (all versions)\n\t\t\tevent = document.createEvent(\"CustomEvent\");\n\t\t\tevent.initCustomEvent(eventString, false, false, { instance: instance });\n\t\t}\n\t\twindow.dispatchEvent(event);\n\t};\n\n\t/* Auto initialization of one or more instances of lazyload, depending on the \n options passed in (plain object or an array) */\n\tfunction autoInitialize(classObj, options) {\n\t\tif (!options) {\n\t\t\treturn;\n\t\t}\n\t\tif (!options.length) {\n\t\t\t// Plain object\n\t\t\tcreateInstance(classObj, options);\n\t\t} else {\n\t\t\t// Array of objects\n\t\t\tfor (var i = 0, optionsItem; optionsItem = options[i]; i += 1) {\n\t\t\t\tcreateInstance(classObj, optionsItem);\n\t\t\t}\n\t\t}\n\t}\n\n\tvar replaceExtToWebp = function replaceExtToWebp(value, condition) {\n\t\treturn condition ? value.replace(/\\.(jpe?g|png)/gi, \".webp\") : value;\n\t};\n\n\tvar detectWebp = function detectWebp() {\n\t\tvar webpString = \"image/webp\";\n\t\tvar canvas = document.createElement(\"canvas\");\n\n\t\tif (canvas.getContext && canvas.getContext(\"2d\")) {\n\t\t\treturn canvas.toDataURL(webpString).indexOf('data:' + webpString) === 0;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tvar runningOnBrowser = typeof window !== \"undefined\";\n\n\tvar isBot = runningOnBrowser && !(\"onscroll\" in window) || /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\n\tvar supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\n\n\tvar supportsWebp = runningOnBrowser && detectWebp();\n\n\tvar addClass = function addClass(element, className) {\n\t\tif (supportsClassList) {\n\t\t\telement.classList.add(className);\n\t\t\treturn;\n\t\t}\n\t\telement.className += (element.className ? \" \" : \"\") + className;\n\t};\n\n\tvar removeClass = function removeClass(element, className) {\n\t\tif (supportsClassList) {\n\t\t\telement.classList.remove(className);\n\t\t\treturn;\n\t\t}\n\t\telement.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\n\t};\n\n\tvar setSourcesInChildren = function setSourcesInChildren(parentTag, attrName, dataAttrName, toWebpFlag) {\n\t\tfor (var i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\n\t\t\tif (childTag.tagName === \"SOURCE\") {\n\t\t\t\tvar attrValue = getData(childTag, dataAttrName);\n\t\t\t\tsetAttributeIfValue(childTag, attrName, attrValue, toWebpFlag);\n\t\t\t}\n\t\t}\n\t};\n\n\tvar setAttributeIfValue = function setAttributeIfValue(element, attrName, value, toWebpFlag) {\n\t\tif (!value) {\n\t\t\treturn;\n\t\t}\n\t\telement.setAttribute(attrName, replaceExtToWebp(value, toWebpFlag));\n\t};\n\n\tvar setSourcesImg = function setSourcesImg(element, settings) {\n\t\tvar toWebpFlag = supportsWebp && settings.to_webp;\n\t\tvar srcsetDataName = settings.data_srcset;\n\t\tvar parent = element.parentNode;\n\n\t\tif (parent && parent.tagName === \"PICTURE\") {\n\t\t\tsetSourcesInChildren(parent, \"srcset\", srcsetDataName, toWebpFlag);\n\t\t}\n\t\tvar sizesDataValue = getData(element, settings.data_sizes);\n\t\tsetAttributeIfValue(element, \"sizes\", sizesDataValue);\n\t\tvar srcsetDataValue = getData(element, srcsetDataName);\n\t\tsetAttributeIfValue(element, \"srcset\", srcsetDataValue, toWebpFlag);\n\t\tvar srcDataValue = getData(element, settings.data_src);\n\t\tsetAttributeIfValue(element, \"src\", srcDataValue, toWebpFlag);\n\t};\n\n\tvar setSourcesIframe = function setSourcesIframe(element, settings) {\n\t\tvar srcDataValue = getData(element, settings.data_src);\n\n\t\tsetAttributeIfValue(element, \"src\", srcDataValue);\n\t};\n\n\tvar setSourcesVideo = function setSourcesVideo(element, settings) {\n\t\tvar srcDataName = settings.data_src;\n\t\tvar srcDataValue = getData(element, srcDataName);\n\n\t\tsetSourcesInChildren(element, \"src\", srcDataName);\n\t\tsetAttributeIfValue(element, \"src\", srcDataValue);\n\t\telement.load();\n\t};\n\n\tvar setSourcesBgImage = function setSourcesBgImage(element, settings) {\n\t\tvar toWebpFlag = supportsWebp && settings.to_webp;\n\t\tvar srcDataValue = getData(element, settings.data_src);\n\t\tvar bgDataValue = getData(element, settings.data_bg);\n\n\t\tif (srcDataValue) {\n\t\t\tvar setValue = replaceExtToWebp(srcDataValue, toWebpFlag);\n\t\t\telement.style.backgroundImage = 'url(\"' + setValue + '\")';\n\t\t}\n\n\t\tif (bgDataValue) {\n\t\t\tvar _setValue = replaceExtToWebp(bgDataValue, toWebpFlag);\n\t\t\telement.style.backgroundImage = _setValue;\n\t\t}\n\t};\n\n\tvar setSourcesFunctions = {\n\t\tIMG: setSourcesImg,\n\t\tIFRAME: setSourcesIframe,\n\t\tVIDEO: setSourcesVideo\n\t};\n\n\tvar setSources = function setSources(element, instance) {\n\t\tvar settings = instance._settings;\n\t\tvar tagName = element.tagName;\n\t\tvar setSourcesFunction = setSourcesFunctions[tagName];\n\t\tif (setSourcesFunction) {\n\t\t\tsetSourcesFunction(element, settings);\n\t\t\tinstance._updateLoadingCount(1);\n\t\t\tinstance._elements = purgeOneElement(instance._elements, element);\n\t\t\treturn;\n\t\t}\n\t\tsetSourcesBgImage(element, settings);\n\t};\n\n\tvar callbackIfSet = function callbackIfSet(callback, argument) {\n\t\tif (callback) {\n\t\t\tcallback(argument);\n\t\t}\n\t};\n\n\tvar genericLoadEventName = \"load\";\n\tvar mediaLoadEventName = \"loadeddata\";\n\tvar errorEventName = \"error\";\n\n\tvar addEventListener = function addEventListener(element, eventName, handler) {\n\t\telement.addEventListener(eventName, handler);\n\t};\n\n\tvar removeEventListener = function removeEventListener(element, eventName, handler) {\n\t\telement.removeEventListener(eventName, handler);\n\t};\n\n\tvar addAllEventListeners = function addAllEventListeners(element, loadHandler, errorHandler) {\n\t\taddEventListener(element, genericLoadEventName, loadHandler);\n\t\taddEventListener(element, mediaLoadEventName, loadHandler);\n\t\taddEventListener(element, errorEventName, errorHandler);\n\t};\n\n\tvar removeAllEventListeners = function removeAllEventListeners(element, loadHandler, errorHandler) {\n\t\tremoveEventListener(element, genericLoadEventName, loadHandler);\n\t\tremoveEventListener(element, mediaLoadEventName, loadHandler);\n\t\tremoveEventListener(element, errorEventName, errorHandler);\n\t};\n\n\tvar eventHandler = function eventHandler(event, success, instance) {\n\t\tvar settings = instance._settings;\n\t\tvar className = success ? settings.class_loaded : settings.class_error;\n\t\tvar callback = success ? settings.callback_load : settings.callback_error;\n\t\tvar element = event.target;\n\n\t\tremoveClass(element, settings.class_loading);\n\t\taddClass(element, className);\n\t\tcallbackIfSet(callback, element);\n\n\t\tinstance._updateLoadingCount(-1);\n\t};\n\n\tvar addOneShotEventListeners = function addOneShotEventListeners(element, instance) {\n\t\tvar loadHandler = function loadHandler(event) {\n\t\t\teventHandler(event, true, instance);\n\t\t\tremoveAllEventListeners(element, loadHandler, errorHandler);\n\t\t};\n\t\tvar errorHandler = function errorHandler(event) {\n\t\t\teventHandler(event, false, instance);\n\t\t\tremoveAllEventListeners(element, loadHandler, errorHandler);\n\t\t};\n\t\taddAllEventListeners(element, loadHandler, errorHandler);\n\t};\n\n\tvar managedTags = [\"IMG\", \"IFRAME\", \"VIDEO\"];\n\n\tfunction revealElement(element, instance, force) {\n\t\tvar settings = instance._settings;\n\t\tif (!force && getWasProcessedData(element)) {\n\t\t\treturn; // element has already been processed and force wasn't true\n\t\t}\n\t\tcallbackIfSet(settings.callback_enter, element);\n\t\tif (managedTags.indexOf(element.tagName) > -1) {\n\t\t\taddOneShotEventListeners(element, instance);\n\t\t\taddClass(element, settings.class_loading);\n\t\t}\n\t\tsetSources(element, instance);\n\t\tsetWasProcessedData(element);\n\t\tcallbackIfSet(settings.callback_set, element);\n\t}\n\n\tvar removeFromArray = function removeFromArray(elements, indexes) {\n\t\twhile (indexes.length) {\n\t\t\telements.splice(indexes.pop(), 1);\n\t\t}\n\t};\n\n\t/*\n * Constructor\n */\n\n\tvar LazyLoad = function LazyLoad(instanceSettings) {\n\t\tthis._settings = _extends({}, getDefaultSettings(), instanceSettings);\n\t\tthis._loadingCount = 0;\n\t\tthis._queryOriginNode = this._settings.container === window ? document : this._settings.container;\n\n\t\tthis._previousLoopTime = 0;\n\t\tthis._loopTimeout = null;\n\t\tthis._boundHandleScroll = this.handleScroll.bind(this);\n\n\t\tthis._isFirstLoop = true;\n\t\twindow.addEventListener(\"resize\", this._boundHandleScroll);\n\t\tthis.update();\n\t};\n\n\tLazyLoad.prototype = {\n\t\t_loopThroughElements: function _loopThroughElements(forceDownload) {\n\t\t\tvar settings = this._settings,\n\t\t\t elements = this._elements,\n\t\t\t elementsLength = !elements ? 0 : elements.length;\n\t\t\tvar i = void 0,\n\t\t\t processedIndexes = [],\n\t\t\t isFirstLoop = this._isFirstLoop;\n\n\t\t\tif (isFirstLoop) {\n\t\t\t\tthis._isFirstLoop = false;\n\t\t\t}\n\n\t\t\tif (elementsLength === 0) {\n\t\t\t\tthis._stopScrollHandler();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfor (i = 0; i < elementsLength; i++) {\n\t\t\t\tvar element = elements[i];\n\t\t\t\t/* If must skip_invisible and element is invisible, skip it */\n\t\t\t\tif (settings.skip_invisible && element.offsetParent === null) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (forceDownload || isInsideViewport(element, settings.container, settings.threshold)) {\n\t\t\t\t\tif (isFirstLoop) {\n\t\t\t\t\t\taddClass(element, settings.class_initial);\n\t\t\t\t\t}\n\t\t\t\t\tthis.load(element);\n\t\t\t\t\tprocessedIndexes.push(i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Removing processed elements from this._elements.\n\t\t\tremoveFromArray(elements, processedIndexes);\n\t\t},\n\n\t\t_startScrollHandler: function _startScrollHandler() {\n\t\t\tif (!this._isHandlingScroll) {\n\t\t\t\tthis._isHandlingScroll = true;\n\t\t\t\tthis._settings.container.addEventListener(\"scroll\", this._boundHandleScroll);\n\t\t\t}\n\t\t},\n\n\t\t_stopScrollHandler: function _stopScrollHandler() {\n\t\t\tif (this._isHandlingScroll) {\n\t\t\t\tthis._isHandlingScroll = false;\n\t\t\t\tthis._settings.container.removeEventListener(\"scroll\", this._boundHandleScroll);\n\t\t\t}\n\t\t},\n\n\t\t_updateLoadingCount: function _updateLoadingCount(plusMinus) {\n\t\t\tthis._loadingCount += plusMinus;\n\t\t\tif (this._elements.length === 0 && this._loadingCount === 0) {\n\t\t\t\tcallbackIfSet(this._settings.callback_finish);\n\t\t\t}\n\t\t},\n\n\t\thandleScroll: function handleScroll() {\n\t\t\tvar throttle = this._settings.throttle;\n\n\t\t\tif (throttle !== 0) {\n\t\t\t\tvar now = Date.now();\n\t\t\t\tvar remainingTime = throttle - (now - this._previousLoopTime);\n\t\t\t\tif (remainingTime <= 0 || remainingTime > throttle) {\n\t\t\t\t\tif (this._loopTimeout) {\n\t\t\t\t\t\tclearTimeout(this._loopTimeout);\n\t\t\t\t\t\tthis._loopTimeout = null;\n\t\t\t\t\t}\n\t\t\t\t\tthis._previousLoopTime = now;\n\t\t\t\t\tthis._loopThroughElements();\n\t\t\t\t} else if (!this._loopTimeout) {\n\t\t\t\t\tthis._loopTimeout = setTimeout(function () {\n\t\t\t\t\t\tthis._previousLoopTime = Date.now();\n\t\t\t\t\t\tthis._loopTimeout = null;\n\t\t\t\t\t\tthis._loopThroughElements();\n\t\t\t\t\t}.bind(this), remainingTime);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis._loopThroughElements();\n\t\t\t}\n\t\t},\n\n\t\tloadAll: function loadAll() {\n\t\t\tthis._loopThroughElements(true);\n\t\t},\n\n\t\tupdate: function update(elements) {\n\t\t\tvar settings = this._settings;\n\t\t\tvar nodeSet = elements || this._queryOriginNode.querySelectorAll(settings.elements_selector);\n\n\t\t\tthis._elements = purgeProcessedElements(Array.prototype.slice.call(nodeSet) // NOTE: nodeset to array for IE compatibility\n\t\t\t);\n\n\t\t\tif (isBot) {\n\t\t\t\tthis.loadAll();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._loopThroughElements();\n\t\t\tthis._startScrollHandler();\n\t\t},\n\n\t\tdestroy: function destroy() {\n\t\t\twindow.removeEventListener(\"resize\", this._boundHandleScroll);\n\t\t\tif (this._loopTimeout) {\n\t\t\t\tclearTimeout(this._loopTimeout);\n\t\t\t\tthis._loopTimeout = null;\n\t\t\t}\n\t\t\tthis._stopScrollHandler();\n\t\t\tthis._elements = null;\n\t\t\tthis._queryOriginNode = null;\n\t\t\tthis._settings = null;\n\t\t},\n\n\t\tload: function load(element, force) {\n\t\t\trevealElement(element, this, force);\n\t\t}\n\t};\n\n\t/* Automatic instances creation if required (useful for async script loading) */\n\tif (runningOnBrowser) {\n\t\tautoInitialize(LazyLoad, window.lazyLoadOptions);\n\t}\n\n\treturn LazyLoad;\n});"],"sourceRoot":""}