vendor: 4,690 bytes, lines 1-99
1/******/ (function(modules) { // webpackBootstrap 2/******/ // The module cache 3/******/ var installedModules = {}; 4/******/ 5/******/ // The require function 6/******/ function __webpack_require__(moduleId) { 7/******/ 8/******/ // Check if module is in cache 9/******/ if(installedModules[moduleId]) { 10/******/ return installedModules[moduleId].exports; 11/******/ } 12/******/ // Create a new module (and put it into the cache) 13/******/ var module = installedModules[moduleId] = { 14/******/ i: moduleId, 15/******/ l: false, 16/******/ exports: {} 17/******/ }; 18/******/ 19/******/ // Execute the module function 20/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 21/******/ 22/******/ // Flag the module as loaded 23/******/ module.l = true; 24/******/ 25/******/ // Return the exports of the module 26/******/ return module.exports; 27/******/ } 28/******/ 29/******/ 30/******/ // expose the modules object (__webpack_modules__) 31/******/ __webpack_require__.m = modules; 32/******/ 33/******/ // expose the module cache 34/******/ __webpack_require__.c = installedModules; 35/******/ 36/******/ // define getter function for harmony exports 37/******/ __webpack_require__.d = function(exports, name, getter) { 38/******/ if(!__webpack_require__.o(exports, name)) { 39/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 40/******/ } 41/******/ }; 42/******/ 43/******/ // define __esModule on exports 44/******/ __webpack_require__.r = function(exports) { 45/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 46/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 47/******/ } 48/******/ Object.defineProperty(exports, '__esModule', { value: true }); 49/******/ }; 50/******/ 51/******/ // create a fake namespace object 52/******/ // mode & 1: value is a module id, require it 53/******/ // mode & 2: merge all properties of value into the ns 54/******/ // mode & 4: return value when already ns object 55/******/ // mode & 8|1: behave like require 56/******/ __webpack_require__.t = function(value, mode) { 57/******/ if(mode & 1) value = __webpack_require__(value); 58/******/ if(mode & 8) return value; 59/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 60/******/ var ns = Object.create(null); 61/******/ __webpack_require__.r(ns); 62/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 63/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 64/******/ return ns; 65/******/ }; 66/******/ 67/******/ // getDefaultExport function for compatibility with non-harmony modules 68/******/ __webpack_require__.n = function(module) { 69/******/ var getter = module && module.__esModule ? 70/******/ function getDefault() { return module['default']; } : 71/******/ function getModuleExports() { return module; }; 72/******/ __webpack_require__.d(getter, 'a', getter); 73/******/ return getter; 74/******/ }; 75/******/ 76/******/ // Object.prototype.hasOwnProperty.call 77/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 78/******/ 79/******/ // __webpack_public_path__ 80/******/ __webpack_require__.p = ""; 81/******/ 82/******/ 83/******/ // Load entry module and return exports 84/******/ return __webpack_require__(__webpack_require__.s = 0); 85/******/ }) 86/************************************************************************/ 87/******/ ({ 88 89/***/ "./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/sass-loader/dist/cjs.js?!./src/assets/sass/app.scss": 90/*!*****************************************************************************************************************************************************************************************!*\ 91 !*** ./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js??ref--2-2!./node_modules/sass-loader/dist/cjs.js??ref--2-3!./src/assets/sass/app.scss ***! 92 \*****************************************************************************************************************************************************************************************/ 93/*! no static exports found */ 94/***/ (function(module, exports, __webpack_require__) { 95 96eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/assets/sass/app.scss?./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js??ref--2-2!./node_modules/sass-loader/dist/cjs.js??ref--2-3"); 97 98/***/ }), 99
vendor: 5,476 bytes, lines 100-110
100/***/ "./node_modules/superfish/dist/js/hoverIntent.js": 101/*!*******************************************************!*\ 102 !*** ./node_modules/superfish/dist/js/hoverIntent.js ***! 103 \*******************************************************/ 104/*! no static exports found */ 105/***/ (function(module, exports) { 106 107eval("/**\n * hoverIntent is similar to jQuery's built-in \"hover\" method except that\n * instead of firing the handlerIn function immediately, hoverIntent checks\n * to see if the user's mouse has slowed down (beneath the sensitivity\n * threshold) before firing the event. The handlerOut function is only\n * called after a matching handlerIn.\n *\n * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+\n * http://cherne.net/brian/resources/jquery.hoverIntent.html\n *\n * You may use hoverIntent under the terms of the MIT license. Basically that\n * means you are free to use hoverIntent as long as this header is left intact.\n * Copyright 2007, 2013 Brian Cherne\n *\n * // basic usage ... just like .hover()\n * .hoverIntent( handlerIn, handlerOut )\n * .hoverIntent( handlerInOut )\n *\n * // basic usage ... with event delegation!\n * .hoverIntent( handlerIn, handlerOut, selector )\n * .hoverIntent( handlerInOut, selector )\n *\n * // using a basic configuration object\n * .hoverIntent( config )\n *\n * @param handlerIn function OR configuration object\n * @param handlerOut function OR selector for delegation OR undefined\n * @param selector selector OR undefined\n * @author Brian Cherne <brian(at)cherne(dot)net>\n **/\n(function($) {\n $.fn.hoverIntent = function(handlerIn,handlerOut,selector) {\n\n // default configuration values\n var cfg = {\n interval: 100,\n sensitivity: 7,\n timeout: 0\n };\n\n if ( typeof handlerIn === \"object\" ) {\n cfg = $.extend(cfg, handlerIn );\n } else if ($.isFunction(handlerOut)) {\n cfg = $.extend(cfg, { over: handlerIn, out: handlerOut, selector: selector } );\n } else {\n cfg = $.extend(cfg, { over: handlerIn, out: handlerIn, selector: handlerOut } );\n }\n\n // instantiate variables\n // cX, cY = current X and Y position of mouse, updated by mousemove event\n // pX, pY = previous X and Y position of mouse, set by mouseover and polling interval\n var cX, cY, pX, pY;\n\n // A private function for getting mouse position\n var track = function(ev) {\n cX = ev.pageX;\n cY = ev.pageY;\n };\n\n // A private function for comparing current and previous mouse position\n var compare = function(ev,ob) {\n ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);\n // compare mouse positions to see if they've crossed the threshold\n if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {\n $(ob).off(\"mousemove.hoverIntent\",track);\n // set hoverIntent state to true (so mouseOut can be called)\n ob.hoverIntent_s = 1;\n return cfg.over.apply(ob,[ev]);\n } else {\n // set previous coordinates for next time\n pX = cX; pY = cY;\n // use self-calling timeout, guarantees intervals are spaced out properly (avoids JavaScript timer bugs)\n ob.hoverIntent_t = setTimeout( function(){compare(ev, ob);} , cfg.interval );\n }\n };\n\n // A private function for delaying the mouseOut function\n var delay = function(ev,ob) {\n ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);\n ob.hoverIntent_s = 0;\n return cfg.out.apply(ob,[ev]);\n };\n\n // A private function for handling mouse 'hovering'\n var handleHover = function(e) {\n // copy objects to be passed into t (required for event object to be passed in IE)\n var ev = jQuery.extend({},e);\n var ob = this;\n\n // cancel hoverIntent timer if it exists\n if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }\n\n // if e.type == \"mouseenter\"\n if (e.type == \"mouseenter\") {\n // set \"previous\" X and Y position based on initial entry point\n pX = ev.pageX; pY = ev.pageY;\n // update \"current\" X and Y position based on mousemove\n $(ob).on(\"mousemove.hoverIntent\",track);\n // start polling interval (self-calling timeout) to compare mouse coordinates over time\n if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}\n\n // else e.type == \"mouseleave\"\n } else {\n // unbind expensive mousemove event\n $(ob).off(\"mousemove.hoverIntent\",track);\n // if hoverIntent state is true, then call the mouseOut function after the specified delay\n if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}\n }\n };\n\n // listen for mouseenter and mouseleave\n return this.on({'mouseenter.hoverIntent':handleHover,'mouseleave.hoverIntent':handleHover}, cfg.selector);\n };\n})(jQuery);\n\n//# sourceURL=webpack:///./node_modules/superfish/dist/js/hoverIntent.js?"); 108 109/***/ }), 110
vendor: 9,298 bytes, lines 111-121
111/***/ "./node_modules/superfish/dist/js/superfish.js": 112/*!*****************************************************!*\ 113 !*** ./node_modules/superfish/dist/js/superfish.js ***! 114 \*****************************************************/ 115/*! no static exports found */ 116/***/ (function(module, exports) { 117 118eval("/*\n * jQuery Superfish Menu Plugin - v1.7.10\n * Copyright (c) 2018 Joel Birch\n *\n * Dual licensed under the MIT and GPL licenses:\n *\thttp://www.opensource.org/licenses/mit-license.php\n *\thttp://www.gnu.org/licenses/gpl.html\n */\n\n;(function ($, w) {\n\t\"use strict\";\n\n\tvar methods = (function () {\n\t\t// private properties and methods go here\n\t\tvar c = {\n\t\t\t\tbcClass: 'sf-breadcrumb',\n\t\t\t\tmenuClass: 'sf-js-enabled',\n\t\t\t\tanchorClass: 'sf-with-ul',\n\t\t\t\tmenuArrowClass: 'sf-arrows'\n\t\t\t},\n\t\t\tios = (function () {\n\t\t\t\tvar ios = /^(?![\\w\\W]*Windows Phone)[\\w\\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);\n\t\t\t\tif (ios) {\n\t\t\t\t\t// tap anywhere on iOS to unfocus a submenu\n\t\t\t\t\t$('html').css('cursor', 'pointer').on('click', $.noop);\n\t\t\t\t}\n\t\t\t\treturn ios;\n\t\t\t})(),\n\t\t\twp7 = (function () {\n\t\t\t\tvar style = document.documentElement.style;\n\t\t\t\treturn ('behavior' in style && 'fill' in style && /iemobile/i.test(navigator.userAgent));\n\t\t\t})(),\n\t\t\tunprefixedPointerEvents = (function () {\n\t\t\t\treturn (!!w.PointerEvent);\n\t\t\t})(),\n\t\t\ttoggleMenuClasses = function ($menu, o, add) {\n\t\t\t\tvar classes = c.menuClass,\n\t\t\t\t\tmethod;\n\t\t\t\tif (o.cssArrows) {\n\t\t\t\t\tclasses += ' ' + c.menuArrowClass;\n\t\t\t\t}\n\t\t\t\tmethod = (add) ? 'addClass' : 'removeClass';\n\t\t\t\t$menu[method](classes);\n\t\t\t},\n\t\t\tsetPathToCurrent = function ($menu, o) {\n\t\t\t\treturn $menu.find('li.' + o.pathClass).slice(0, o.pathLevels)\n\t\t\t\t\t.addClass(o.hoverClass + ' ' + c.bcClass)\n\t\t\t\t\t\t.filter(function () {\n\t\t\t\t\t\t\treturn ($(this).children(o.popUpSelector).hide().show().length);\n\t\t\t\t\t\t}).removeClass(o.pathClass);\n\t\t\t},\n\t\t\ttoggleAnchorClass = function ($li, add) {\n\t\t\t\tvar method = (add) ? 'addClass' : 'removeClass';\n\t\t\t\t$li.children('a')[method](c.anchorClass);\n\t\t\t},\n\t\t\ttoggleTouchAction = function ($menu) {\n\t\t\t\tvar msTouchAction = $menu.css('ms-touch-action');\n\t\t\t\tvar touchAction = $menu.css('touch-action');\n\t\t\t\ttouchAction = touchAction || msTouchAction;\n\t\t\t\ttouchAction = (touchAction === 'pan-y') ? 'auto' : 'pan-y';\n\t\t\t\t$menu.css({\n\t\t\t\t\t'ms-touch-action': touchAction,\n\t\t\t\t\t'touch-action': touchAction\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetMenu = function ($el) {\n\t\t\t\treturn $el.closest('.' + c.menuClass);\n\t\t\t},\n\t\t\tgetOptions = function ($el) {\n\t\t\t\treturn getMenu($el).data('sfOptions');\n\t\t\t},\n\t\t\tover = function () {\n\t\t\t\tvar $this = $(this),\n\t\t\t\t\to = getOptions($this);\n\t\t\t\tclearTimeout(o.sfTimer);\n\t\t\t\t$this.siblings().superfish('hide').end().superfish('show');\n\t\t\t},\n\t\t\tclose = function (o) {\n\t\t\t\to.retainPath = ($.inArray(this[0], o.$path) > -1);\n\t\t\t\tthis.superfish('hide');\n\n\t\t\t\tif (!this.parents('.' + o.hoverClass).length) {\n\t\t\t\t\to.onIdle.call(getMenu(this));\n\t\t\t\t\tif (o.$path.length) {\n\t\t\t\t\t\t$.proxy(over, o.$path)();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tout = function () {\n\t\t\t\tvar $this = $(this),\n\t\t\t\t\to = getOptions($this);\n\t\t\t\tif (ios) {\n\t\t\t\t\t$.proxy(close, $this, o)();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tclearTimeout(o.sfTimer);\n\t\t\t\t\to.sfTimer = setTimeout($.proxy(close, $this, o), o.delay);\n\t\t\t\t}\n\t\t\t},\n\t\t\ttouchHandler = function (e) {\n\t\t\t\tvar $this = $(this),\n\t\t\t\t\to = getOptions($this),\n\t\t\t\t\t$ul = $this.siblings(e.data.popUpSelector);\n\n\t\t\t\tif (o.onHandleTouch.call($ul) === false) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t\tif ($ul.length > 0 && $ul.is(':hidden')) {\n\t\t\t\t\t$this.one('click.superfish', false);\n\t\t\t\t\tif (e.type === 'MSPointerDown' || e.type === 'pointerdown') {\n\t\t\t\t\t\t$this.trigger('focus');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$.proxy(over, $this.parent('li'))();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tapplyHandlers = function ($menu, o) {\n\t\t\t\tvar targets = 'li:has(' + o.popUpSelector + ')';\n\t\t\t\tif ($.fn.hoverIntent && !o.disableHI) {\n\t\t\t\t\t$menu.hoverIntent(over, out, targets);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$menu\n\t\t\t\t\t\t.on('mouseenter.superfish', targets, over)\n\t\t\t\t\t\t.on('mouseleave.superfish', targets, out);\n\t\t\t\t}\n\t\t\t\tvar touchevent = 'MSPointerDown.superfish';\n\t\t\t\tif (unprefixedPointerEvents) {\n\t\t\t\t\ttouchevent = 'pointerdown.superfish';\n\t\t\t\t}\n\t\t\t\tif (!ios) {\n\t\t\t\t\ttouchevent += ' touchend.superfish';\n\t\t\t\t}\n\t\t\t\tif (wp7) {\n\t\t\t\t\ttouchevent += ' mousedown.superfish';\n\t\t\t\t}\n\t\t\t\t$menu\n\t\t\t\t\t.on('focusin.superfish', 'li', over)\n\t\t\t\t\t.on('focusout.superfish', 'li', out)\n\t\t\t\t\t.on(touchevent, 'a', o, touchHandler);\n\t\t\t};\n\n\t\treturn {\n\t\t\t// public methods\n\t\t\thide: function (instant) {\n\t\t\t\tif (this.length) {\n\t\t\t\t\tvar $this = this,\n\t\t\t\t\t\to = getOptions($this);\n\t\t\t\t\tif (!o) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\t\t\t\t\tvar not = (o.retainPath === true) ? o.$path : '',\n\t\t\t\t\t\t$ul = $this.find('li.' + o.hoverClass).add(this).not(not).removeClass(o.hoverClass).children(o.popUpSelector),\n\t\t\t\t\t\tspeed = o.speedOut;\n\n\t\t\t\t\tif (instant) {\n\t\t\t\t\t\t$ul.show();\n\t\t\t\t\t\tspeed = 0;\n\t\t\t\t\t}\n\t\t\t\t\to.retainPath = false;\n\n\t\t\t\t\tif (o.onBeforeHide.call($ul) === false) {\n\t\t\t\t\t\treturn this;\n\t\t\t\t\t}\n\n\t\t\t\t\t$ul.stop(true, true).animate(o.animationOut, speed, function () {\n\t\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\t\to.onHide.call($this);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tshow: function () {\n\t\t\t\tvar o = getOptions(this);\n\t\t\t\tif (!o) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tvar $this = this.addClass(o.hoverClass),\n\t\t\t\t\t$ul = $this.children(o.popUpSelector);\n\n\t\t\t\tif (o.onBeforeShow.call($ul) === false) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t\t$ul.stop(true, true).animate(o.animation, o.speed, function () {\n\t\t\t\t\to.onShow.call($ul);\n\t\t\t\t});\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdestroy: function () {\n\t\t\t\treturn this.each(function () {\n\t\t\t\t\tvar $this = $(this),\n\t\t\t\t\t\to = $this.data('sfOptions'),\n\t\t\t\t\t\t$hasPopUp;\n\t\t\t\t\tif (!o) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t$hasPopUp = $this.find(o.popUpSelector).parent('li');\n\t\t\t\t\tclearTimeout(o.sfTimer);\n\t\t\t\t\ttoggleMenuClasses($this, o);\n\t\t\t\t\ttoggleAnchorClass($hasPopUp);\n\t\t\t\t\ttoggleTouchAction($this);\n\t\t\t\t\t// remove event handlers\n\t\t\t\t\t$this.off('.superfish').off('.hoverIntent');\n\t\t\t\t\t// clear animation's inline display style\n\t\t\t\t\t$hasPopUp.children(o.popUpSelector).attr('style', function (i, style) {\n\t\t\t\t\t\tif (typeof style !== 'undefined') {\n\t\t\t\t\t\t\treturn style.replace(/display[^;]+;?/g, '');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t// reset 'current' path classes\n\t\t\t\t\to.$path.removeClass(o.hoverClass + ' ' + c.bcClass).addClass(o.pathClass);\n\t\t\t\t\t$this.find('.' + o.hoverClass).removeClass(o.hoverClass);\n\t\t\t\t\to.onDestroy.call($this);\n\t\t\t\t\t$this.removeData('sfOptions');\n\t\t\t\t});\n\t\t\t},\n\t\t\tinit: function (op) {\n\t\t\t\treturn this.each(function () {\n\t\t\t\t\tvar $this = $(this);\n\t\t\t\t\tif ($this.data('sfOptions')) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tvar o = $.extend({}, $.fn.superfish.defaults, op),\n\t\t\t\t\t\t$hasPopUp = $this.find(o.popUpSelector).parent('li');\n\t\t\t\t\to.$path = setPathToCurrent($this, o);\n\n\t\t\t\t\t$this.data('sfOptions', o);\n\n\t\t\t\t\ttoggleMenuClasses($this, o, true);\n\t\t\t\t\ttoggleAnchorClass($hasPopUp, true);\n\t\t\t\t\ttoggleTouchAction($this);\n\t\t\t\t\tapplyHandlers($this, o);\n\n\t\t\t\t\t$hasPopUp.not('.' + c.bcClass).superfish('hide', true);\n\n\t\t\t\t\to.onInit.call(this);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t})();\n\n\t$.fn.superfish = function (method, args) {\n\t\tif (methods[method]) {\n\t\t\treturn methods[method].apply(this, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\t\telse if (typeof method === 'object' || ! method) {\n\t\t\treturn methods.init.apply(this, arguments);\n\t\t}\n\t\telse {\n\t\t\treturn $.error('Method ' + method + ' does not exist on jQuery.fn.superfish');\n\t\t}\n\t};\n\n\t$.fn.superfish.defaults = {\n\t\tpopUpSelector: 'ul,.sf-mega', // within menu context\n\t\thoverClass: 'sfHover',\n\t\tpathClass: 'overrideThisToUse',\n\t\tpathLevels: 1,\n\t\tdelay: 800,\n\t\tanimation: {opacity: 'show'},\n\t\tanimationOut: {opacity: 'hide'},\n\t\tspeed: 'normal',\n\t\tspeedOut: 'fast',\n\t\tcssArrows: true,\n\t\tdisableHI: false,\n\t\tonInit: $.noop,\n\t\tonBeforeShow: $.noop,\n\t\tonShow: $.noop,\n\t\tonBeforeHide: $.noop,\n\t\tonHide: $.noop,\n\t\tonIdle: $.noop,\n\t\tonDestroy: $.noop,\n\t\tonHandleTouch: $.noop\n\t};\n\n})(jQuery, window);\n\n\n//# sourceURL=webpack:///./node_modules/superfish/dist/js/superfish.js?"); 119 120/***/ }), 121
vendor: 27,493 bytes, lines 122-132
122/***/ "./node_modules/vanilla-lazyload/dist/lazyload.js": 123/*!********************************************************!*\ 124 !*** ./node_modules/vanilla-lazyload/dist/lazyload.js ***! 125 \********************************************************/ 126/*! no static exports found */ 127/***/ (function(module, exports, __webpack_require__) { 128 129eval("(function (global, factory) {\r\n true ? module.exports = factory() :\r\n undefined;\r\n}(this, (function () { 'use strict';\r\n\r\n function _extends() {\r\n _extends = Object.assign || function (target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n\r\n for (var key in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, key)) {\r\n target[key] = source[key];\r\n }\r\n }\r\n }\r\n\r\n return target;\r\n };\r\n\r\n return _extends.apply(this, arguments);\r\n }\r\n\r\n var runningOnBrowser = typeof window !== \"undefined\";\r\n var isBot = runningOnBrowser && !(\"onscroll\" in window) || typeof navigator !== \"undefined\" && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent);\r\n var supportsIntersectionObserver = runningOnBrowser && \"IntersectionObserver\" in window;\r\n var supportsClassList = runningOnBrowser && \"classList\" in document.createElement(\"p\");\r\n var isHiDpi = runningOnBrowser && window.devicePixelRatio > 1;\r\n\r\n var defaultSettings = {\r\n elements_selector: \"img\",\r\n container: isBot || runningOnBrowser ? document : null,\r\n threshold: 300,\r\n thresholds: null,\r\n data_src: \"src\",\r\n data_srcset: \"srcset\",\r\n data_sizes: \"sizes\",\r\n data_bg: \"bg\",\r\n data_bg_hidpi: \"bg-hidpi\",\r\n data_bg_multi: \"bg-multi\",\r\n data_bg_multi_hidpi: \"bg-multi-hidpi\",\r\n data_poster: \"poster\",\r\n class_applied: \"applied\",\r\n class_loading: \"loading\",\r\n class_loaded: \"loaded\",\r\n class_error: \"error\",\r\n load_delay: 0,\r\n auto_unobserve: true,\r\n cancel_on_exit: false,\r\n callback_enter: null,\r\n callback_exit: null,\r\n callback_applied: null,\r\n callback_loading: null,\r\n callback_loaded: null,\r\n callback_error: null,\r\n callback_finish: null,\r\n callback_cancel: null,\r\n use_native: false\r\n };\r\n var getExtendedSettings = function getExtendedSettings(customSettings) {\r\n return _extends({}, defaultSettings, customSettings);\r\n };\r\n\r\n /* Creates instance and notifies it through the window element */\r\n var createInstance = function createInstance(classObj, options) {\r\n var event;\r\n var eventString = \"LazyLoad::Initialized\";\r\n var instance = new classObj(options);\r\n\r\n try {\r\n // Works in modern browsers\r\n event = new CustomEvent(eventString, {\r\n detail: {\r\n instance: instance\r\n }\r\n });\r\n } catch (err) {\r\n // Works in Internet Explorer (all versions)\r\n event = document.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventString, false, false, {\r\n instance: instance\r\n });\r\n }\r\n\r\n window.dispatchEvent(event);\r\n };\r\n /* Auto initialization of one or more instances of lazyload, depending on the \r\n options passed in (plain object or an array) */\r\n\r\n\r\n var autoInitialize = function autoInitialize(classObj, options) {\r\n if (!options) {\r\n return;\r\n }\r\n\r\n if (!options.length) {\r\n // Plain object\r\n createInstance(classObj, options);\r\n } else {\r\n // Array of objects\r\n for (var i = 0, optionsItem; optionsItem = options[i]; i += 1) {\r\n createInstance(classObj, optionsItem);\r\n }\r\n }\r\n };\r\n\r\n var statusDelayed = \"delayed\";\r\n var statusLoading = \"loading\";\r\n var statusLoaded = \"loaded\";\r\n var statusApplied = \"applied\";\r\n var statusError = \"error\";\r\n var statusNative = \"native\";\r\n\r\n var dataPrefix = \"data-\";\r\n var statusDataName = \"ll-status\";\r\n var timeoutDataName = \"ll-timeout\";\r\n var getData = function getData(element, attribute) {\r\n return element.getAttribute(dataPrefix + attribute);\r\n };\r\n var setData = function setData(element, attribute, value) {\r\n var attrName = dataPrefix + attribute;\r\n\r\n if (value === null) {\r\n element.removeAttribute(attrName);\r\n return;\r\n }\r\n\r\n element.setAttribute(attrName, value);\r\n };\r\n var getStatus = function getStatus(element) {\r\n return getData(element, statusDataName);\r\n };\r\n var setStatus = function setStatus(element, status) {\r\n return setData(element, statusDataName, status);\r\n };\r\n var resetStatus = function resetStatus(element) {\r\n return setStatus(element, null);\r\n };\r\n var hasEmptyStatus = function hasEmptyStatus(element) {\r\n return getStatus(element) === null;\r\n };\r\n var hasStatusLoading = function hasStatusLoading(element) {\r\n return getStatus(element) === statusLoading;\r\n };\r\n var hasStatusError = function hasStatusError(element) {\r\n return getStatus(element) === statusError;\r\n };\r\n var hasStatusDelayed = function hasStatusDelayed(element) {\r\n return getStatus(element) === statusDelayed;\r\n };\r\n var statusesAfterLoading = [statusLoading, statusApplied, statusLoaded, statusError];\r\n var hasStatusAfterLoading = function hasStatusAfterLoading(element) {\r\n return statusesAfterLoading.indexOf(getStatus(element)) > -1;\r\n };\r\n var setTimeoutData = function setTimeoutData(element, value) {\r\n return setData(element, timeoutDataName, value);\r\n };\r\n var getTimeoutData = function getTimeoutData(element) {\r\n return getData(element, timeoutDataName);\r\n };\r\n\r\n var safeCallback = function safeCallback(callback, arg1, arg2, arg3) {\r\n if (!callback) {\r\n return;\r\n }\r\n\r\n if (arg3 !== undefined) {\r\n callback(arg1, arg2, arg3);\r\n return;\r\n }\r\n\r\n if (arg2 !== undefined) {\r\n callback(arg1, arg2);\r\n return;\r\n }\r\n\r\n callback(arg1);\r\n };\r\n\r\n var addClass = function addClass(element, className) {\r\n if (supportsClassList) {\r\n element.classList.add(className);\r\n return;\r\n }\r\n\r\n element.className += (element.className ? \" \" : \"\") + className;\r\n };\r\n var removeClass = function removeClass(element, className) {\r\n if (supportsClassList) {\r\n element.classList.remove(className);\r\n return;\r\n }\r\n\r\n element.className = element.className.replace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").replace(/^\\s+/, \"\").replace(/\\s+$/, \"\");\r\n };\r\n\r\n var addTempImage = function addTempImage(element) {\r\n element.llTempImage = document.createElement(\"img\");\r\n };\r\n var deleteTempImage = function deleteTempImage(element) {\r\n delete element.llTempImage;\r\n };\r\n var getTempImage = function getTempImage(element) {\r\n return element.llTempImage;\r\n };\r\n\r\n var unobserve = function unobserve(element, settings, instance) {\r\n if (!instance) return;\r\n var observer = instance._observer;\r\n if (!observer || !settings.auto_unobserve) return;\r\n observer.unobserve(element);\r\n };\r\n var resetObserver = function resetObserver(observer) {\r\n observer.disconnect();\r\n };\r\n\r\n var _src_ = \"src\";\r\n var _srcset_ = \"srcset\";\r\n var _sizes_ = \"sizes\";\r\n var _poster_ = \"poster\";\r\n var _PICTURE_ = \"PICTURE\";\r\n var increaseLoadingCount = function increaseLoadingCount(instance) {\r\n if (!instance) return;\r\n instance.loadingCount += 1;\r\n };\r\n var getSourceTags = function getSourceTags(parentTag) {\r\n var sourceTags = [];\r\n\r\n for (var i = 0, childTag; childTag = parentTag.children[i]; i += 1) {\r\n if (childTag.tagName === \"SOURCE\") {\r\n sourceTags.push(childTag);\r\n }\r\n }\r\n\r\n return sourceTags;\r\n };\r\n var setAttributeIfValue = function setAttributeIfValue(element, attrName, value) {\r\n if (!value) {\r\n return;\r\n }\r\n\r\n element.setAttribute(attrName, value);\r\n };\r\n var resetAttribute = function resetAttribute(element, attrName) {\r\n element.removeAttribute(attrName);\r\n };\r\n var hasOriginalAttributes = function hasOriginalAttributes(element) {\r\n return !!element.llOriginalAttrs;\r\n };\r\n var saveOriginalImageAttributes = function saveOriginalImageAttributes(element) {\r\n if (hasOriginalAttributes(element)) return;\r\n var originalAttributes = {};\r\n originalAttributes[_src_] = element.getAttribute(_src_);\r\n originalAttributes[_srcset_] = element.getAttribute(_srcset_);\r\n originalAttributes[_sizes_] = element.getAttribute(_sizes_);\r\n element.llOriginalAttrs = originalAttributes;\r\n };\r\n var restoreOriginalImageAttributes = function restoreOriginalImageAttributes(element) {\r\n if (!hasOriginalAttributes(element)) return;\r\n var originalAttributes = element.llOriginalAttrs;\r\n setAttributeIfValue(element, _src_, originalAttributes[_src_]);\r\n setAttributeIfValue(element, _srcset_, originalAttributes[_srcset_]);\r\n setAttributeIfValue(element, _sizes_, originalAttributes[_sizes_]);\r\n };\r\n var setImageAttributes = function setImageAttributes(element, settings) {\r\n setAttributeIfValue(element, _sizes_, getData(element, settings.data_sizes));\r\n setAttributeIfValue(element, _srcset_, getData(element, settings.data_srcset));\r\n setAttributeIfValue(element, _src_, getData(element, settings.data_src));\r\n };\r\n var resetImageAttributes = function resetImageAttributes(element) {\r\n resetAttribute(element, _src_);\r\n resetAttribute(element, _srcset_);\r\n resetAttribute(element, _sizes_);\r\n };\r\n var forEachPictureSource = function forEachPictureSource(element, fn) {\r\n var parent = element.parentNode;\r\n if (!parent || parent.tagName !== _PICTURE_) return;\r\n var sourceTags = getSourceTags(parent);\r\n sourceTags.forEach(fn);\r\n };\r\n var restoreOriginalAttributesImg = function restoreOriginalAttributesImg(element) {\r\n forEachPictureSource(element, function (sourceTag) {\r\n restoreOriginalImageAttributes(sourceTag);\r\n });\r\n restoreOriginalImageAttributes(element);\r\n };\r\n var setSourcesImg = function setSourcesImg(element, settings) {\r\n forEachPictureSource(element, function (sourceTag) {\r\n saveOriginalImageAttributes(sourceTag);\r\n setImageAttributes(sourceTag, settings);\r\n });\r\n saveOriginalImageAttributes(element);\r\n setImageAttributes(element, settings);\r\n };\r\n var resetSourcesImg = function resetSourcesImg(element) {\r\n forEachPictureSource(element, function (sourceTag) {\r\n resetImageAttributes(sourceTag);\r\n });\r\n resetImageAttributes(element);\r\n };\r\n var setSourcesIframe = function setSourcesIframe(element, settings) {\r\n setAttributeIfValue(element, _src_, getData(element, settings.data_src));\r\n };\r\n var setSourcesVideo = function setSourcesVideo(element, settings) {\r\n var sourceTags = getSourceTags(element);\r\n sourceTags.forEach(function (sourceTag) {\r\n setAttributeIfValue(sourceTag, _src_, getData(sourceTag, settings.data_src));\r\n });\r\n setAttributeIfValue(element, _poster_, getData(element, settings.data_poster));\r\n setAttributeIfValue(element, _src_, getData(element, settings.data_src));\r\n element.load();\r\n };\r\n var setSourcesFunctions = {\r\n IMG: setSourcesImg,\r\n IFRAME: setSourcesIframe,\r\n VIDEO: setSourcesVideo\r\n };\r\n var setBackground = function setBackground(element, settings, instance) {\r\n var bg1xValue = getData(element, settings.data_bg);\r\n var bgHiDpiValue = getData(element, settings.data_bg_hidpi);\r\n var bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\r\n if (!bgDataValue) return;\r\n element.style.backgroundImage = \"url(\\\"\".concat(bgDataValue, \"\\\")\");\r\n getTempImage(element).setAttribute(_src_, bgDataValue); // Annotate and notify loading\r\n\r\n increaseLoadingCount(instance);\r\n addClass(element, settings.class_loading);\r\n setStatus(element, statusLoading);\r\n safeCallback(settings.callback_loading, element, instance);\r\n safeCallback(settings.callback_reveal, element, instance); // <== DEPRECATED\r\n }; // NOTE: THE TEMP IMAGE TRICK CANNOT BE DONE WITH data-multi-bg\r\n // BECAUSE INSIDE ITS VALUES MUST BE WRAPPED WITH URL() AND ONE OF THEM\r\n // COULD BE A GRADIENT BACKGROUND IMAGE\r\n\r\n var setMultiBackground = function setMultiBackground(element, settings, instance) {\r\n var bg1xValue = getData(element, settings.data_bg_multi);\r\n var bgHiDpiValue = getData(element, settings.data_bg_multi_hidpi);\r\n var bgDataValue = isHiDpi && bgHiDpiValue ? bgHiDpiValue : bg1xValue;\r\n if (!bgDataValue) return;\r\n element.style.backgroundImage = bgDataValue; // Annotate and notify applied\r\n\r\n addClass(element, settings.class_applied);\r\n setStatus(element, statusApplied);\r\n unobserve(element, settings, instance); // Unobserve here because we can't do it on load\r\n\r\n safeCallback(settings.callback_applied, element, instance);\r\n };\r\n var setSources = function setSources(element, settings, instance) {\r\n var setSourcesFunction = setSourcesFunctions[element.tagName];\r\n if (!setSourcesFunction) return;\r\n setSourcesFunction(element, settings); // Annotate and notify loading\r\n\r\n increaseLoadingCount(instance);\r\n addClass(element, settings.class_loading);\r\n setStatus(element, statusLoading);\r\n safeCallback(settings.callback_loading, element, instance);\r\n safeCallback(settings.callback_reveal, element, instance); // <== DEPRECATED\r\n };\r\n\r\n var genericLoadEventName = \"load\";\r\n var mediaLoadEventName = \"loadeddata\";\r\n var errorEventName = \"error\";\r\n var elementsWithLoadEvent = [\"IMG\", \"IFRAME\", \"VIDEO\"];\r\n var hasLoadEvent = function hasLoadEvent(element) {\r\n return elementsWithLoadEvent.indexOf(element.tagName) > -1;\r\n };\r\n var decreaseLoadingCount = function decreaseLoadingCount(instance) {\r\n if (!instance) return;\r\n instance.loadingCount -= 1;\r\n };\r\n var checkFinish = function checkFinish(settings, instance) {\r\n if (!instance || instance.toLoadCount || instance.loadingCount) return;\r\n safeCallback(settings.callback_finish, instance);\r\n };\r\n var addEventListener = function addEventListener(element, eventName, handler) {\r\n element.addEventListener(eventName, handler);\r\n element.llEvLisnrs[eventName] = handler;\r\n };\r\n var removeEventListener = function removeEventListener(element, eventName, handler) {\r\n element.removeEventListener(eventName, handler);\r\n };\r\n var hasEventListeners = function hasEventListeners(element) {\r\n return !!element.llEvLisnrs;\r\n };\r\n var addEventListeners = function addEventListeners(element, loadHandler, errorHandler) {\r\n if (!hasEventListeners(element)) element.llEvLisnrs = {};\r\n addEventListener(element, genericLoadEventName, loadHandler);\r\n addEventListener(element, errorEventName, errorHandler);\r\n if (element.tagName !== \"VIDEO\") return;\r\n addEventListener(element, mediaLoadEventName, loadHandler);\r\n };\r\n var removeEventListeners = function removeEventListeners(element) {\r\n if (!hasEventListeners(element)) return;\r\n var eventListeners = element.llEvLisnrs;\r\n\r\n for (var eventName in eventListeners) {\r\n var handler = eventListeners[eventName];\r\n removeEventListener(element, eventName, handler);\r\n }\r\n\r\n delete element.llEvLisnrs;\r\n };\r\n var doneHandler = function doneHandler(element, settings, instance) {\r\n deleteTempImage(element);\r\n decreaseLoadingCount(instance);\r\n removeClass(element, settings.class_loading);\r\n unobserve(element, settings, instance);\r\n };\r\n var loadHandler = function loadHandler(event, element, settings, instance) {\r\n doneHandler(element, settings, instance);\r\n addClass(element, settings.class_loaded);\r\n setStatus(element, statusLoaded);\r\n safeCallback(settings.callback_loaded, element, instance);\r\n checkFinish(settings, instance);\r\n };\r\n var errorHandler = function errorHandler(event, element, settings, instance) {\r\n doneHandler(element, settings, instance);\r\n addClass(element, settings.class_error);\r\n setStatus(element, statusError);\r\n safeCallback(settings.callback_error, element, instance);\r\n checkFinish(settings, instance);\r\n };\r\n var addOneShotEventListeners = function addOneShotEventListeners(element, settings, instance) {\r\n var elementToListenTo = getTempImage(element) || element;\r\n if (hasEventListeners(elementToListenTo)) return; // <- when retry loading, e.g. with cancel_on_exit\r\n\r\n var _loadHandler = function _loadHandler(event) {\r\n loadHandler(event, element, settings, instance);\r\n removeEventListeners(elementToListenTo);\r\n };\r\n\r\n var _errorHandler = function _errorHandler(event) {\r\n errorHandler(event, element, settings, instance);\r\n removeEventListeners(elementToListenTo);\r\n };\r\n\r\n addEventListeners(elementToListenTo, _loadHandler, _errorHandler);\r\n };\r\n\r\n var decreaseToLoadCount = function decreaseToLoadCount(instance) {\r\n if (!instance) return;\r\n instance.toLoadCount -= 1;\r\n };\r\n var increaseToLoadCount = function increaseToLoadCount(instance) {\r\n if (!instance) return;\r\n instance.toLoadCount += 1;\r\n };\r\n\r\n var loadBackground = function loadBackground(element, settings, instance) {\r\n addTempImage(element);\r\n addOneShotEventListeners(element, settings, instance);\r\n setBackground(element, settings, instance);\r\n setMultiBackground(element, settings, instance);\r\n };\r\n\r\n var loadRegular = function loadRegular(element, settings, instance) {\r\n addOneShotEventListeners(element, settings, instance);\r\n setSources(element, settings, instance);\r\n };\r\n\r\n var load = function load(element, settings, instance) {\r\n if (hasLoadEvent(element)) {\r\n loadRegular(element, settings, instance);\r\n } else {\r\n loadBackground(element, settings, instance);\r\n }\r\n\r\n decreaseToLoadCount(instance);\r\n checkFinish(settings, instance);\r\n };\r\n var loadNative = function loadNative(element, settings, instance) {\r\n addOneShotEventListeners(element, settings, instance);\r\n setSources(element, settings, instance);\r\n decreaseToLoadCount(instance);\r\n setStatus(element, statusNative);\r\n checkFinish(settings, instance);\r\n };\r\n\r\n var cancelDelayLoad = function cancelDelayLoad(element) {\r\n var timeoutId = getTimeoutData(element);\r\n\r\n if (!timeoutId) {\r\n return; // do nothing if timeout doesn't exist\r\n }\r\n\r\n if (hasStatusDelayed(element)) {\r\n // iffing because status could also be \"loading\"\r\n resetStatus(element);\r\n }\r\n\r\n clearTimeout(timeoutId);\r\n setTimeoutData(element, null);\r\n };\r\n var delayLoad = function delayLoad(element, settings, instance) {\r\n var loadDelay = settings.load_delay;\r\n var timeoutId = getTimeoutData(element);\r\n\r\n if (timeoutId) {\r\n return; // do nothing if timeout already set\r\n }\r\n\r\n timeoutId = setTimeout(function () {\r\n load(element, settings, instance);\r\n cancelDelayLoad(element);\r\n }, loadDelay);\r\n setStatus(element, statusDelayed);\r\n setTimeoutData(element, timeoutId);\r\n };\r\n\r\n var cancelIfLoading = function cancelIfLoading(element, entry, settings, instance) {\r\n if (element.tagName !== \"IMG\") return;\r\n removeEventListeners(element);\r\n resetSourcesImg(element);\r\n restoreOriginalAttributesImg(element);\r\n removeClass(element, settings.class_loading);\r\n decreaseLoadingCount(instance);\r\n safeCallback(settings.callback_cancel, element, entry, instance); // setTimeout is needed because the \"callback_cancel\" implementation\r\n // could be out of the main thread, e.g. `img.setAttribute(\"src\", \"\")`\r\n\r\n setTimeout(function () {\r\n instance.resetElementStatus(element, instance);\r\n }, 0);\r\n };\r\n\r\n var onIntersecting = function onIntersecting(element, entry, settings, instance) {\r\n safeCallback(settings.callback_enter, element, entry, instance);\r\n if (hasStatusAfterLoading(element)) return; //Prevent loading it again, e.g. on !auto_unobserve\r\n\r\n if (settings.load_delay) {\r\n delayLoad(element, settings, instance);\r\n return;\r\n }\r\n\r\n load(element, settings, instance);\r\n };\r\n var onNotIntersecting = function onNotIntersecting(element, entry, settings, instance) {\r\n if (hasEmptyStatus(element)) return; //Ignore the first pass at landing\r\n\r\n if (settings.cancel_on_exit && hasStatusLoading(element)) {\r\n cancelIfLoading(element, entry, settings, instance);\r\n }\r\n\r\n safeCallback(settings.callback_exit, element, entry, instance);\r\n\r\n if (settings.load_delay && hasStatusDelayed(element)) {\r\n cancelDelayLoad(element);\r\n }\r\n };\r\n\r\n var nativeLazyTags = [\"IMG\", \"IFRAME\"];\r\n var loadingString = \"loading\";\r\n var shouldUseNative = function shouldUseNative(settings) {\r\n return settings.use_native && loadingString in HTMLImageElement.prototype;\r\n };\r\n var loadAllNative = function loadAllNative(elements, settings, instance) {\r\n elements.forEach(function (element) {\r\n if (nativeLazyTags.indexOf(element.tagName) === -1) {\r\n return;\r\n }\r\n\r\n element.setAttribute(loadingString, \"lazy\"); //TODO: Move inside the loadNative method\r\n\r\n loadNative(element, settings, instance);\r\n });\r\n instance.toLoadCount = 0;\r\n };\r\n\r\n var isIntersecting = function isIntersecting(entry) {\r\n return entry.isIntersecting || entry.intersectionRatio > 0;\r\n };\r\n\r\n var getObserverSettings = function getObserverSettings(settings) {\r\n return {\r\n root: settings.container === document ? null : settings.container,\r\n rootMargin: settings.thresholds || settings.threshold + \"px\"\r\n };\r\n };\r\n\r\n var intersectionHandler = function intersectionHandler(entries, settings, instance) {\r\n entries.forEach(function (entry) {\r\n return isIntersecting(entry) ? onIntersecting(entry.target, entry, settings, instance) : onNotIntersecting(entry.target, entry, settings, instance);\r\n });\r\n };\r\n\r\n var observeElements = function observeElements(observer, elements) {\r\n elements.forEach(function (element) {\r\n observer.observe(element);\r\n });\r\n };\r\n var updateObserver = function updateObserver(observer, elementsToObserve) {\r\n resetObserver(observer);\r\n observeElements(observer, elementsToObserve);\r\n };\r\n var setObserver = function setObserver(instance) {\r\n var settings = instance._settings;\r\n\r\n if (!supportsIntersectionObserver || shouldUseNative(instance._settings)) {\r\n return;\r\n }\r\n\r\n instance._observer = new IntersectionObserver(function (entries) {\r\n intersectionHandler(entries, settings, instance);\r\n }, getObserverSettings(settings));\r\n };\r\n\r\n var toArray = function toArray(nodeSet) {\r\n return Array.prototype.slice.call(nodeSet);\r\n };\r\n var queryElements = function queryElements(settings) {\r\n return settings.container.querySelectorAll(settings.elements_selector);\r\n };\r\n var excludeManagedElements = function excludeManagedElements(elements) {\r\n return toArray(elements).filter(hasEmptyStatus);\r\n };\r\n var hasError = function hasError(element) {\r\n return hasStatusError(element);\r\n };\r\n var filterErrorElements = function filterErrorElements(elements) {\r\n return toArray(elements).filter(hasError);\r\n };\r\n var getElementsToLoad = function getElementsToLoad(elements, settings) {\r\n return excludeManagedElements(elements || queryElements(settings));\r\n };\r\n\r\n var retryLazyLoad = function retryLazyLoad(instance) {\r\n var settings = instance._settings;\r\n var errorElements = filterErrorElements(queryElements(settings));\r\n errorElements.forEach(function (element) {\r\n removeClass(element, settings.class_error);\r\n resetStatus(element);\r\n });\r\n instance.update();\r\n };\r\n var setOnlineCheck = function setOnlineCheck(instance) {\r\n if (!runningOnBrowser) {\r\n return;\r\n }\r\n\r\n window.addEventListener(\"online\", function (event) {\r\n retryLazyLoad(instance);\r\n });\r\n };\r\n\r\n var resetElementStatus = function resetElementStatus(element, instance) {\r\n if (hasStatusAfterLoading(element)) {\r\n increaseToLoadCount(instance);\r\n }\r\n\r\n setStatus(element, null);\r\n };\r\n\r\n var LazyLoad = function LazyLoad(customSettings, elements) {\r\n this._settings = getExtendedSettings(customSettings);\r\n this.loadingCount = 0;\r\n setObserver(this);\r\n setOnlineCheck(this);\r\n this.update(elements);\r\n };\r\n\r\n LazyLoad.prototype = {\r\n update: function update(givenNodeset) {\r\n var settings = this._settings;\r\n var elementsToLoad = getElementsToLoad(givenNodeset, settings);\r\n this.toLoadCount = elementsToLoad.length;\r\n\r\n if (isBot || !supportsIntersectionObserver) {\r\n this.loadAll(elementsToLoad);\r\n return;\r\n }\r\n\r\n if (shouldUseNative(settings)) {\r\n loadAllNative(elementsToLoad, settings, this);\r\n return;\r\n }\r\n\r\n updateObserver(this._observer, elementsToLoad);\r\n },\r\n destroy: function destroy() {\r\n // Observer\r\n if (this._observer) {\r\n this._observer.disconnect();\r\n }\r\n\r\n delete this._observer;\r\n delete this._settings;\r\n delete this.loadingCount;\r\n delete this.toLoadCount;\r\n },\r\n loadAll: function loadAll(elements) {\r\n var _this = this;\r\n\r\n var settings = this._settings;\r\n var elementsToLoad = getElementsToLoad(elements, settings);\r\n elementsToLoad.forEach(function (element) {\r\n load(element, settings, _this);\r\n });\r\n },\r\n resetElementStatus: function resetElementStatus$1(element) {\r\n resetElementStatus(element, this);\r\n },\r\n // DEPRECATED\r\n load: function load$1(element) {\r\n load(element, this._settings, this);\r\n }\r\n };\r\n\r\n LazyLoad.load = function (element, customSettings) {\r\n var settings = getExtendedSettings(customSettings);\r\n\r\n load(element, settings);\r\n }; // Automatic instances creation if required (useful for async script loading)\r\n\r\n\r\n if (runningOnBrowser) {\r\n autoInitialize(LazyLoad, window.lazyLoadOptions);\r\n }\r\n\r\n return LazyLoad;\r\n\r\n})));\r\n\n\n//# sourceURL=webpack:///./node_modules/vanilla-lazyload/dist/lazyload.js?"); 130 131/***/ }), 132
vendor: 7,342 bytes, lines 133-144
133/***/ "./node_modules/vue-style-loader/lib/addStylesClient.js": 134/*!**************************************************************!*\ 135 !*** ./node_modules/vue-style-loader/lib/addStylesClient.js ***! 136 \**************************************************************/ 137/*! exports provided: default */ 138/***/ (function(module, __webpack_exports__, __webpack_require__) { 139 140"use strict"; 141eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return addStylesClient; });\n/* harmony import */ var _listToStyles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./listToStyles */ \"./node_modules/vue-style-loader/lib/listToStyles.js\");\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\n\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\nvar options = null\nvar ssrIdKey = 'data-vue-ssr-id'\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nfunction addStylesClient (parentId, list, _isProduction, _options) {\n isProduction = _isProduction\n\n options = _options || {}\n\n var styles = Object(_listToStyles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = Object(_listToStyles__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[' + ssrIdKey + '~=\"' + obj.id + '\"]')\n\n if (styleElement) {\n if (isProduction) {\n // has SSR styles and in production mode.\n // simply do nothing.\n return noop\n } else {\n // has SSR styles but in dev mode.\n // for some reason Chrome can't handle source map in server-rendered\n // style tags - source maps in <style> only works if the style tag is\n // created and inserted dynamically. So we remove the server rendered\n // styles and inject new ones.\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n update(obj)\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n if (options.ssrId) {\n styleElement.setAttribute(ssrIdKey, obj.id)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/vue-style-loader/lib/addStylesClient.js?"); 142 143/***/ }), 144
vendor: 1,294 bytes, lines 145-156
145/***/ "./node_modules/vue-style-loader/lib/listToStyles.js": 146/*!***********************************************************!*\ 147 !*** ./node_modules/vue-style-loader/lib/listToStyles.js ***! 148 \***********************************************************/ 149/*! exports provided: default */ 150/***/ (function(module, __webpack_exports__, __webpack_require__) { 151 152"use strict"; 153eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return listToStyles; });\n/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nfunction listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n\n\n//# sourceURL=webpack:///./node_modules/vue-style-loader/lib/listToStyles.js?"); 154 155/***/ }), 156
157/***/ "./src/assets/js/app.js": 158/*!******************************!*\ 159 !*** ./src/assets/js/app.js ***! 160 \******************************/ 161/*! no exports provided */ 162/***/ (function(module, __webpack_exports__, __webpack_require__) { 163 164"use strict"; 165eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sass_app_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../sass/app.scss */ \"./src/assets/sass/app.scss\");\n/* harmony import */ var _sass_app_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_sass_app_scss__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _modules_sitewpgt_app_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/sitewpgt-app.js */ \"./src/assets/js/modules/sitewpgt-app.js\");\n/*--------------------------------------------------------------\r\n# Import Style\r\n--------------------------------------------------------------*/\n\n/*--------------------------------------------------------------\r\n# Import Node Modules\r\n--------------------------------------------------------------*/\n\n/*--------------------------------------------------------------\r\n# Import Custom Modules\r\n--------------------------------------------------------------*/\n\n\n/*--------------------------------------------------------------\r\n# Import Vue Components\r\n--------------------------------------------------------------*/\n\n/*--------------------------------------------------------------\r\n# ES6\r\n--------------------------------------------------------------*/\n\nvar app = new _modules_sitewpgt_app_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\napp.register();\n/*--------------------------------------------------------------\r\n# jQuery\r\n--------------------------------------------------------------*/\n\njQuery(document).ready(function ($) {\n 'use strict';\n});\n\n//# sourceURL=webpack:///./src/assets/js/app.js?"); 166 167/***/ }), 168
169/***/ "./src/assets/js/modules/sitewpgt-app.js": 170/*!***********************************************!*\ 171 !*** ./src/assets/js/modules/sitewpgt-app.js ***! 172 \***********************************************/ 173/*! exports provided: default */ 174/***/ (function(module, __webpack_exports__, __webpack_require__) { 175 176"use strict"; 177eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var vanilla_lazyload_dist_lazyload__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vanilla-lazyload/dist/lazyload */ \"./node_modules/vanilla-lazyload/dist/lazyload.js\");\n/* harmony import */ var vanilla_lazyload_dist_lazyload__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(vanilla_lazyload_dist_lazyload__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var superfish_dist_js_hoverIntent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! superfish/dist/js/hoverIntent */ \"./node_modules/superfish/dist/js/hoverIntent.js\");\n/* harmony import */ var superfish_dist_js_hoverIntent__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(superfish_dist_js_hoverIntent__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var superfish_dist_js_superfish__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! superfish/dist/js/superfish */ \"./node_modules/superfish/dist/js/superfish.js\");\n/* harmony import */ var superfish_dist_js_superfish__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(superfish_dist_js_superfish__WEBPACK_IMPORTED_MODULE_2__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n/**\r\n * Class\r\n */\n\n\n\n\nvar SitewpgtApp = /*#__PURE__*/function () {\n function SitewpgtApp() {\n _classCallCheck(this, SitewpgtApp);\n }\n\n _createClass(SitewpgtApp, [{\n key: \"register\",\n value: function register() {\n this.lazyLoad();\n this.stickyHeader();\n this.mainNav();\n this.mobileMenu();\n this.postsGridLoadMore();\n this.backToTop();\n this.vcAccordion();\n } // VC Accordion\n\n }, {\n key: \"vcAccordion\",\n value: function vcAccordion() {\n jQuery(document).ready(function ($) {\n var accord = $('.vc_tta-panel-title');\n accord.on('click', function () {\n $('.vc_tta-panel').not($(this).parents('.vc_tta-panel')).removeClass('vc_active');\n });\n });\n } // Back to Top\n\n }, {\n key: \"backToTop\",\n value: function backToTop() {\n jQuery(document).ready(function ($) {\n var button = $('.site-back-top .e-icon');\n button.on('click', function () {\n $('html, body').animate({\n scrollTop: 0\n }, 400);\n });\n });\n } // Posts Grid - Load More\n\n }, {\n key: \"postsGridLoadMore\",\n value: function postsGridLoadMore() {\n var self = this;\n jQuery(document).ready(function ($) {\n var button = $('.site-posts-grid-load-more');\n button.on('click', function (e) {\n e.preventDefault();\n var elem = $(this);\n var args = elem.data('args');\n var atts = elem.data('atts');\n args.paged = args.paged + 1;\n elem.data('args', args);\n elem.text('Loading');\n elem.addClass('disabled');\n $.ajax({\n url: sitewpgtajax.ajax_url,\n type: 'get',\n data: {\n action: 'posts_grid_load_more',\n data: {\n args: args\n }\n }\n }).done(function (response) {\n var html = response.data.html;\n var postsContainer = elem.parents('.site-posts-grid').find('.e-posts-row');\n\n if (html) {\n postsContainer.append(html);\n self.sitewpgtLazyLoad.update();\n elem.text('Load More');\n elem.removeClass('disabled');\n } else {\n elem.text('Done');\n setTimeout(function () {\n elem.parent().slideUp(400);\n }, 500);\n }\n }).fail(function (response) {\n console.log(response);\n elem.text('Load More');\n elem.removeClass('disabled');\n });\n });\n });\n } // Mobile Menu\n\n }, {\n key: \"mobileMenu\",\n value: function mobileMenu() {\n jQuery(document).ready(function ($) {\n var button = $('.site-mobile-btn');\n var menu = $('.site-main-navigation-m'); // menu.children().children('.menu').superfish();\n\n menu.find('.menu-item-has-children > a').append('<span class=\"e-arrow\"></span>');\n $('.e-arrow').on('click', function (e) {\n e.preventDefault();\n $(this).parent().parent('.menu-item').toggleClass('o-active_js');\n });\n button.on('click', function () {\n menu.slideToggle(400);\n });\n });\n } // Main Navigation\n\n }, {\n key: \"mainNav\",\n value: function mainNav() {\n jQuery(document).ready(function ($) {\n var menu = $('.site-main-navigation');\n menu.children('.menu').superfish();\n });\n } // Sticky Header\n\n }, {\n key: \"stickyHeader\",\n value: function stickyHeader() {\n jQuery(document).ready(function ($) {\n var headerHeight = $('.site-header').outerHeight();\n $('.site-header-spacer').css('height', headerHeight + 'px');\n\n function sticky_header() {\n var $scroll_amount = 100;\n\n if ($(window).scrollTop() >= $scroll_amount) {\n $('body').addClass('o-header-sticky_js');\n setTimeout(function () {\n var anchorSpacer = $('.site-header').outerHeight();\n $('.site-anchor-spacer').css('height', anchorSpacer + 'px');\n }, 100);\n } else {\n var _headerHeight = $('.site-header').outerHeight();\n\n $('.site-header-spacer').css('height', _headerHeight + 'px');\n $('body').removeClass('o-header-sticky_js');\n }\n }\n\n sticky_header();\n $(window).resize(function () {\n var anchorSpacer = $('body.o-header-sticky_js .site-header').outerHeight();\n $('.site-anchor-spacer').css('height', anchorSpacer + 'px');\n });\n $(window).scroll(function () {\n sticky_header();\n });\n });\n } // LazyLoad\n\n }, {\n key: \"lazyLoad\",\n value: function lazyLoad() {\n this.sitewpgtLazyLoad = new vanilla_lazyload_dist_lazyload__WEBPACK_IMPORTED_MODULE_0___default.a({\n elements_selector: '.sitewpgt-lazy'\n });\n }\n }]);\n\n return SitewpgtApp;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (SitewpgtApp);\n\n//# sourceURL=webpack:///./src/assets/js/modules/sitewpgt-app.js?"); 178 179/***/ }), 180
181/***/ "./src/assets/sass/app.scss": 182/*!**********************************!*\ 183 !*** ./src/assets/sass/app.scss ***! 184 \**********************************/ 185/*! no static exports found */ 186/***/ (function(module, exports, __webpack_require__) { 187 188eval("// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(/*! !../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/dist/cjs.js??ref--2-2!../../../node_modules/sass-loader/dist/cjs.js??ref--2-3!./app.scss */ \"./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js?!./node_modules/sass-loader/dist/cjs.js?!./src/assets/sass/app.scss\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.i, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = __webpack_require__(/*! ../../../node_modules/vue-style-loader/lib/addStylesClient.js */ \"./node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"652cc015\", content, false, {});\n// Hot Module Replacement\nif(false) {}\n\n//# sourceURL=webpack:///./src/assets/sass/app.scss?"); 189 190/***/ })
190, 191 192/***/ 0: 193/*!************************************!*\ 194 !*** multi ./src/assets/js/app.js ***! 195 \************************************/ 196/*! no static exports found */ 197/***/ (function(module, exports, __webpack_require__) { 198 199eval("module.exports = __webpack_require__(/*! ./src/assets/js/app.js */\"./src/assets/js/app.js\");\n\n\n//# sourceURL=webpack:///multi_./src/assets/js/app.js?"); 200 201/***/ }) 202 203/******/ });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.