{"version":3,"sources":["node_modules/lazyload/lazyload.js"],"names":["root","global","this","window","module","exports","defaults","src","srcset","selector","rootMargin","threshold","extend","extended","deep","i","length","arguments","Object","prototype","toString","call","merge","obj","prop","hasOwnProperty","LazyLoad","images","options","settings","document","querySelectorAll","observer","init","IntersectionObserver","loadImages","self","observerConfig","entries","Array","forEach","entry","isIntersecting","unobserve","target","getAttribute","tagName","toLowerCase","style","backgroundImage","image","observe","loadAndDestroy","destroy","disconnect","lazyload","jQuery","$","fn","attribute","makeArray","factory"],"mappings":"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","file":"hashed/21.0bde6df5.chunk.js","sourcesContent":["/*!\n * Lazy Load - JavaScript plugin for lazy loading images\n *\n * Copyright (c) 2007-2019 Mika Tuupola\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Project home:\n * https://appelsiini.net/projects/lazyload\n *\n * Version: 2.0.0-rc.2\n *\n */\n\n(function (root, factory) {\n if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else if (typeof define === \"function\" && define.amd) {\n define([], factory);\n } else {\n root.LazyLoad = factory(root);\n }\n}) (typeof global !== \"undefined\" ? global : this.window || this.global, function (root) {\n\n \"use strict\";\n\n if (typeof define === \"function\" && define.amd){\n root = window;\n }\n\n const defaults = {\n src: \"data-src\",\n srcset: \"data-srcset\",\n selector: \".lazyload\",\n root: null,\n rootMargin: \"0px\",\n threshold: 0\n };\n\n /**\n * Merge two or more objects. Returns a new object.\n * @private\n * @param {Boolean} deep If true, do a deep (or recursive) merge [optional]\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n const extend = function () {\n\n let extended = {};\n let deep = false;\n let i = 0;\n let length = arguments.length;\n\n /* Check if a deep merge */\n if (Object.prototype.toString.call(arguments[0]) === \"[object Boolean]\") {\n deep = arguments[0];\n i++;\n }\n\n /* Merge the object into the extended object */\n let merge = function (obj) {\n for (let prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n /* If deep merge and property is an object, merge properties */\n if (deep && Object.prototype.toString.call(obj[prop]) === \"[object Object]\") {\n extended[prop] = extend(true, extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n\n /* Loop through each object and conduct a merge */\n for (; i < length; i++) {\n let obj = arguments[i];\n merge(obj);\n }\n\n return extended;\n };\n\n function LazyLoad(images, options) {\n this.settings = extend(defaults, options || {});\n this.images = images || document.querySelectorAll(this.settings.selector);\n this.observer = null;\n this.init();\n }\n\n LazyLoad.prototype = {\n init: function() {\n\n /* Without observers load everything and bail out early. */\n if (!root.IntersectionObserver) {\n this.loadImages();\n return;\n }\n\n let self = this;\n let observerConfig = {\n root: this.settings.root,\n rootMargin: this.settings.rootMargin,\n threshold: [this.settings.threshold]\n };\n\n this.observer = new IntersectionObserver(function(entries) {\n Array.prototype.forEach.call(entries, function (entry) {\n if (entry.isIntersecting) {\n self.observer.unobserve(entry.target);\n let src = entry.target.getAttribute(self.settings.src);\n let srcset = entry.target.getAttribute(self.settings.srcset);\n if (\"img\" === entry.target.tagName.toLowerCase()) {\n if (src) {\n entry.target.src = src;\n }\n if (srcset) {\n entry.target.srcset = srcset;\n }\n } else {\n entry.target.style.backgroundImage = \"url(\" + src + \")\";\n }\n }\n });\n }, observerConfig);\n\n Array.prototype.forEach.call(this.images, function (image) {\n self.observer.observe(image);\n });\n },\n\n loadAndDestroy: function () {\n if (!this.settings) { return; }\n this.loadImages();\n this.destroy();\n },\n\n loadImages: function () {\n if (!this.settings) { return; }\n\n let self = this;\n Array.prototype.forEach.call(this.images, function (image) {\n let src = image.getAttribute(self.settings.src);\n let srcset = image.getAttribute(self.settings.srcset);\n if (\"img\" === image.tagName.toLowerCase()) {\n if (src) {\n image.src = src;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n } else {\n image.style.backgroundImage = \"url('\" + src + \"')\";\n }\n });\n },\n\n destroy: function () {\n if (!this.settings) { return; }\n this.observer.disconnect();\n this.settings = null;\n }\n };\n\n root.lazyload = function(images, options) {\n return new LazyLoad(images, options);\n };\n\n if (root.jQuery) {\n const $ = root.jQuery;\n $.fn.lazyload = function (options) {\n options = options || {};\n options.attribute = options.attribute || \"data-src\";\n new LazyLoad($.makeArray(this), options);\n return this;\n };\n }\n\n return LazyLoad;\n});\n"],"sourceRoot":""}