{"version":3,"file":"./modules/gallery.bundle.js","mappings":"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","sources":["webpack://erfgoedhuis-zuid-holland-frontend/./scripts/libraries/lightgallery/js/lg-utils.js","webpack://erfgoedhuis-zuid-holland-frontend/./scripts/libraries/lightgallery/js/lightgallery.js"],"sourcesContent":["\nvar utils = {\n getAttribute: function(el, label) {\n return el[label];\n },\n\n setAttribute: function(el, label, value) {\n el[label] = value;\n },\n wrap: function(el, className) {\n if (!el) {\n return;\n }\n\n var wrapper = document.createElement('div');\n wrapper.className = className;\n el.parentNode.insertBefore(wrapper, el);\n el.parentNode.removeChild(el);\n wrapper.appendChild(el);\n },\n\n addClass: function(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n el.classList.add(className);\n } else {\n el.className += ' ' + className;\n }\n },\n\n removeClass: function(el, className) {\n if (!el) {\n return;\n }\n\n if (el.classList) {\n el.classList.remove(className);\n } else {\n el.className = el.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n },\n\n hasClass: function(el, className) {\n if (el.classList) {\n return el.classList.contains(className);\n } else {\n return new RegExp('(^| )' + className + '( |$)', 'gi').test(el.className);\n }\n },\n\n // ex Transform\n // ex TransitionTimingFunction\n setVendor: function(el, property, value) {\n if (!el) {\n return;\n }\n\n el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value;\n el.style['webkit' + property] = value;\n el.style['moz' + property] = value;\n el.style['ms' + property] = value;\n el.style['o' + property] = value;\n },\n\n trigger: function(el, event, detail = null) {\n if (!el) {\n return;\n }\n\n let customEvent = new CustomEvent(event, {\n detail: detail\n });\n el.dispatchEvent(customEvent);\n },\n\n Listener: {\n uid: 0\n },\n on: function(el, events, fn) {\n if (!el) {\n return;\n }\n\n events.split(' ').forEach(event => {\n var _id = this.getAttribute(el, 'lg-event-uid') || '';\n utils.Listener.uid++;\n _id += '&' + utils.Listener.uid;\n this.setAttribute(el, 'lg-event-uid', _id);\n utils.Listener[event + utils.Listener.uid] = fn;\n el.addEventListener(event.split('.')[0], fn, false);\n });\n },\n\n off: function(el, event) {\n if (!el) {\n return;\n }\n\n var _id = this.getAttribute(el, 'lg-event-uid');\n if (_id) {\n _id = _id.split('&');\n for (var i = 0; i < _id.length; i++) {\n if (_id[i]) {\n var _event = event + _id[i];\n if (_event.substring(0, 1) === '.') {\n for (var key in utils.Listener) {\n if (utils.Listener.hasOwnProperty(key)) {\n if (key.split('.').indexOf(_event.split('.')[1]) > -1) {\n el.removeEventListener(key.split('.')[0], utils.Listener[key]);\n this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], ''));\n delete utils.Listener[key];\n }\n }\n }\n } else {\n el.removeEventListener(_event.split('.')[0], utils.Listener[_event]);\n this.setAttribute(el, 'lg-event-uid', this.getAttribute(el, 'lg-event-uid').replace('&' + _id[i], ''));\n delete utils.Listener[_event];\n }\n }\n }\n }\n },\n\n param: function(obj) {\n return Object.keys(obj).map(function(k) {\n return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]);\n }).join('&');\n }\n};\n\nexport\ndefault utils;\n","/** Polyfill the CustomEvent() constructor functionality in Internet Explorer 9 and higher */\n(function() {\n\n if (typeof window.CustomEvent === 'function') {\n return false;\n }\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n CustomEvent.prototype = window.Event.prototype;\n\n window.CustomEvent = CustomEvent;\n})();\n\nimport utils from './lg-utils';\nwindow.utils = utils;\nwindow.lgData = {\n uid: 0\n};\n\nwindow.lgModules = {};\nvar defaults = {\n\n mode: 'lg-slide',\n\n // Ex : 'ease'\n cssEasing: 'ease',\n\n //'for jquery animation'\n easing: 'linear',\n speed: 600,\n height: '100%',\n width: '100%',\n addClass: '',\n startClass: 'lg-start-zoom',\n backdropDuration: 150,\n\n // Set 0, if u don't want to hide the controls \n hideBarsDelay: 6000,\n\n useLeft: false,\n\n // aria-labelledby attribute fot gallery\n ariaLabelledby: '',\n\n //aria-describedby attribute for gallery\n ariaDescribedby: '',\n\n closable: true,\n loop: true,\n escKey: true,\n keyPress: true,\n controls: true,\n slideEndAnimatoin: true,\n hideControlOnEnd: false,\n mousewheel: false,\n\n getCaptionFromTitleOrAlt: true,\n\n // .lg-item || '.lg-sub-html'\n appendSubHtmlTo: '.lg-sub-html',\n\n subHtmlSelectorRelative: false,\n\n /**\n * @desc number of preload slides\n * will exicute only after the current slide is fully loaded.\n *\n * @ex you clicked on 4th image and if preload = 1 then 3rd slide and 5th\n * slide will be loaded in the background after the 4th slide is fully loaded..\n * if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ...\n *\n */\n preload: 1,\n showAfterLoad: true,\n selector: '',\n selectWithin: '',\n nextHtml: '',\n prevHtml: '',\n\n // 0, 1\n index: false,\n\n iframeMaxWidth: '100%',\n\n download: true,\n counter: true,\n appendCounterTo: '.lg-toolbar',\n\n swipeThreshold: 50,\n enableSwipe: true,\n enableDrag: true,\n\n dynamic: false,\n dynamicEl: [],\n galleryId: 1,\n supportLegacyBrowser: true\n};\n\nfunction Plugin(element, options) {\n\n // Current lightGallery element\n this.el = element;\n\n // lightGallery settings\n this.s = Object.assign({}, defaults, options);\n\n // When using dynamic mode, ensure dynamicEl is an array\n if (this.s.dynamic && this.s.dynamicEl !== 'undefined' && this.s.dynamicEl.constructor === Array && !this.s.dynamicEl.length) {\n throw ('When using dynamic mode, you must also define dynamicEl as an Array.');\n }\n\n // lightGallery modules\n this.modules = {};\n\n // false when lightgallery complete first slide;\n this.lGalleryOn = false;\n\n this.lgBusy = false;\n\n // Timeout function for hiding controls;\n this.hideBartimeout = false;\n\n // To determine browser supports for touch events;\n this.isTouch = ('ontouchstart' in document.documentElement);\n\n // Disable hideControlOnEnd if sildeEndAnimation is true\n if (this.s.slideEndAnimatoin) {\n this.s.hideControlOnEnd = false;\n }\n\n this.items = [];\n\n // Gallery items\n if (this.s.dynamic) {\n this.items = this.s.dynamicEl;\n } else {\n if (this.s.selector === 'this') {\n this.items.push(this.el);\n } else if (this.s.selector !== '') {\n if (this.s.selectWithin) {\n this.items = document.querySelector(this.s.selectWithin).querySelectorAll(this.s.selector);\n } else {\n this.items = this.el.querySelectorAll(this.s.selector);\n }\n } else {\n this.items = this.el.children;\n }\n }\n\n // .lg-item\n\n this.___slide = '';\n\n // .lg-outer\n this.outer = '';\n\n this.init();\n\n return this;\n}\n\nPlugin.prototype.init = function() {\n\n var _this = this;\n\n // s.preload should not be more than $item.length\n if (_this.s.preload > _this.items.length) {\n _this.s.preload = _this.items.length;\n }\n\n // if dynamic option is enabled execute immediately\n var _hash = window.location.hash;\n if (_hash.indexOf('lg=' + this.s.galleryId) > 0) {\n\n _this.index = parseInt(_hash.split('&slide=')[1], 10);\n\n utils.addClass(document.body, 'lg-from-hash');\n if (!utils.hasClass(document.body, 'lg-on')) {\n utils.addClass(document.body, 'lg-on');\n setTimeout(function() {\n _this.build(_this.index);\n });\n }\n }\n\n if (_this.s.dynamic) {\n\n utils.trigger(this.el, 'onBeforeOpen');\n\n _this.index = _this.s.index || 0;\n\n // prevent accidental double execution\n if (!utils.hasClass(document.body, 'lg-on')) {\n utils.addClass(document.body, 'lg-on');\n setTimeout(function() {\n _this.build(_this.index);\n });\n }\n } else {\n\n for (var i = 0; i < _this.items.length; i++) {\n\n /*jshint loopfunc: true */\n (function(index) {\n\n // Using different namespace for click because click event should not unbind if selector is same object('this')\n utils.on(_this.items[index], 'click.lgcustom', (e) => {\n\n e.preventDefault();\n\n utils.trigger(_this.el, 'onBeforeOpen');\n\n _this.index = _this.s.index || index;\n\n if (!utils.hasClass(document.body, 'lg-on')) {\n _this.build(_this.index);\n utils.addClass(document.body, 'lg-on');\n }\n });\n\n })(i);\n\n }\n\n }\n\n};\n\nPlugin.prototype.build = function(index) {\n\n var _this = this;\n\n _this.structure();\n\n for (var key in window.lgModules) {\n _this.modules[key] = new window.lgModules[key](_this.el);\n }\n\n // initiate slide function\n _this.slide(index, false, false);\n\n if (_this.s.keyPress) {\n _this.keyPress();\n }\n\n if (_this.items.length > 1) {\n\n _this.arrow();\n\n setTimeout(function() {\n _this.enableDrag();\n _this.enableSwipe();\n }, 50);\n\n if (_this.s.mousewheel) {\n _this.mousewheel();\n }\n }\n\n _this.counter();\n\n _this.closeGallery();\n\n utils.trigger(_this.el, 'onAfterOpen');\n\n // Hide controllers if mouse doesn't move for some period\n if(_this.s.hideBarsDelay > 0) {\n\n // Hide controls if user doesn't use mouse or touch after opening gallery\n const initialHideBarTimeout = setTimeout(function() {\n utils.addClass(_this.outer, 'lg-hide-items');\n }, _this.s.hideBarsDelay);\n utils.on(_this.outer, 'mousemove.lg click.lg touchstart.lg', function() {\n \n // Cancel initalHideBarTimout if user uses mouse or touch events\n // Before it fires\n clearTimeout(initialHideBarTimeout);\n \n utils.removeClass(_this.outer, 'lg-hide-items');\n \n clearTimeout(_this.hideBartimeout);\n \n // Timeout will be cleared on each slide movement also\n _this.hideBartimeout = setTimeout(function() {\n utils.addClass(_this.outer, 'lg-hide-items');\n }, _this.s.hideBarsDelay);\n \n });\n }\n\n};\n\nPlugin.prototype.structure = function() {\n var list = '';\n var controls = '';\n var i = 0;\n var subHtmlCont = '';\n var template;\n var _this = this;\n\n document.body.insertAdjacentHTML('beforeend', '
');\n utils.setVendor(document.querySelector('.lg-backdrop'), 'TransitionDuration', this.s.backdropDuration + 'ms');\n\n // Create gallery items\n for (i = 0; i < this.items.length; i++) {\n list += '
';\n }\n\n // Create controls\n if (this.s.controls && this.items.length > 1) {\n controls = '
' +\n '' +\n '' +\n '
';\n }\n\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n subHtmlCont = '
';\n }\n\n var ariaLabelledby = this.s.ariaLabelledby ?\n 'aria-labelledby=\"' + this.s.ariaLabelledby + '\"' : '';\n var ariaDescribedby = this.s.ariaDescribedby ?\n 'aria-describedby=\"' + this.s.ariaDescribedby + '\"' : '';\n\n template = '
' +\n '
' +\n '
' + list + '
' +\n '
' +\n '' +\n '
' +\n controls +\n subHtmlCont +\n '
' +\n '
';\n\n document.body.insertAdjacentHTML('beforeend', template);\n this.outer = document.querySelector('.lg-outer');\n this.outer.focus();\n this.___slide = this.outer.querySelectorAll('.lg-item');\n\n if (this.s.useLeft) {\n utils.addClass(this.outer, 'lg-use-left');\n\n // Set mode lg-slide if use left is true;\n this.s.mode = 'lg-slide';\n } else {\n utils.addClass(this.outer, 'lg-use-css3');\n }\n\n // For fixed height gallery\n _this.setTop();\n utils.on(window, 'resize.lg orientationchange.lg', function() {\n setTimeout(function() {\n _this.setTop();\n }, 100);\n });\n\n // add class lg-current to remove initial transition\n utils.addClass(this.___slide[this.index], 'lg-current');\n\n // add Class for css support and transition mode\n if (this.doCss()) {\n utils.addClass(this.outer, 'lg-css3');\n } else {\n utils.addClass(this.outer, 'lg-css');\n\n // Set speed 0 because no animation will happen if browser doesn't support css3\n this.s.speed = 0;\n }\n\n utils.addClass(this.outer, this.s.mode);\n\n if (this.s.enableDrag && this.items.length > 1) {\n utils.addClass(this.outer, 'lg-grab');\n }\n\n if (this.s.showAfterLoad) {\n utils.addClass(this.outer, 'lg-show-after-load');\n }\n\n if (this.doCss()) {\n let inner = this.outer.querySelector('.lg-inner');\n utils.setVendor(inner, 'TransitionTimingFunction', this.s.cssEasing);\n utils.setVendor(inner, 'TransitionDuration', this.s.speed + 'ms');\n }\n\n setTimeout(function() {\n utils.addClass(document.querySelector('.lg-backdrop'), 'in');\n });\n\n\n setTimeout(function() {\n utils.addClass(_this.outer, 'lg-visible');\n }, this.s.backdropDuration);\n\n if (this.s.download) {\n this.outer.querySelector('.lg-toolbar').insertAdjacentHTML('beforeend', '');\n }\n\n // Store the current scroll top value to scroll back after closing the gallery..\n this.prevScrollTop = (document.documentElement.scrollTop || document.body.scrollTop)\n\n};\n\n// For fixed height gallery\nPlugin.prototype.setTop = function() {\n if (this.s.height !== '100%') {\n let wH = window.innerHeight;\n let top = (wH - parseInt(this.s.height, 10)) / 2;\n let lGallery = this.outer.querySelector('.lg');\n if (wH >= parseInt(this.s.height, 10)) {\n lGallery.style.top = top + 'px';\n } else {\n lGallery.style.top = '0px';\n }\n }\n};\n\n// Find css3 support\nPlugin.prototype.doCss = function() {\n // check for css animation support\n var support = function() {\n var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition'];\n var root = document.documentElement;\n var i = 0;\n for (i = 0; i < transition.length; i++) {\n if (transition[i] in root.style) {\n return true;\n }\n }\n };\n\n if (support()) {\n return true;\n }\n\n return false;\n};\n\n/**\n * @desc Check the given src is video\n * @param {String} src\n * @return {Object} video type\n * Ex:{ youtube : [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\n */\nPlugin.prototype.isVideo = function(src, index) {\n\n var html;\n if (this.s.dynamic) {\n html = this.s.dynamicEl[index].html;\n } else {\n html = this.items[index].getAttribute('data-html');\n }\n\n if (!src && html) {\n return {\n html5: true\n };\n }\n\n var youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)/i);\n var vimeo = src.match(/\\/\\/(?:www\\.)?vimeo.com\\/([0-9a-z\\-_]+)/i);\n var dailymotion = src.match(/\\/\\/(?:www\\.)?dai.ly\\/([0-9a-z\\-_]+)/i);\n var vk = src.match(/\\/\\/(?:www\\.)?(?:vk\\.com|vkontakte\\.ru)\\/(?:video_ext\\.php\\?)(.*)/i);\n\n if (youtube) {\n return {\n youtube: youtube\n };\n } else if (vimeo) {\n return {\n vimeo: vimeo\n };\n } else if (dailymotion) {\n return {\n dailymotion: dailymotion\n };\n } else if (vk) {\n return {\n vk: vk\n };\n }\n};\n\n/**\n * @desc Create image counter\n * Ex: 1/10\n */\nPlugin.prototype.counter = function() {\n if (this.s.counter) {\n this.outer.querySelector(this.s.appendCounterTo).insertAdjacentHTML('beforeend', '
' + (parseInt(this.index, 10) + 1) + ' / ' + this.items.length + '
');\n }\n};\n\n/**\n * @desc add sub-html into the slide\n * @param {Number} index - index of the slide\n */\nPlugin.prototype.addHtml = function(index) {\n var subHtml = null;\n var currentEle;\n if (this.s.dynamic) {\n subHtml = this.s.dynamicEl[index].subHtml;\n } else {\n currentEle = this.items[index];\n subHtml = currentEle.getAttribute('data-sub-html');\n if (this.s.getCaptionFromTitleOrAlt && !subHtml) {\n subHtml = currentEle.getAttribute('title');\n if (subHtml && currentEle.querySelector('img')) {\n subHtml = currentEle.querySelector('img').getAttribute('alt');\n }\n }\n }\n\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\n\n // get first letter of subhtml\n // if first letter starts with . or # get the html form the jQuery object\n var fL = subHtml.substring(0, 1);\n if (fL === '.' || fL === '#') {\n if (this.s.subHtmlSelectorRelative && !this.s.dynamic) {\n subHtml = currentEle.querySelector(subHtml).innerHTML;\n } else {\n subHtml = document.querySelector(subHtml).innerHTML;\n }\n }\n } else {\n subHtml = '';\n }\n\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n this.outer.querySelector(this.s.appendSubHtmlTo).innerHTML = subHtml;\n } else {\n this.___slide[index].insertAdjacentHTML('beforeend', subHtml);\n }\n\n // Add lg-empty-html class if title doesn't exist\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\n if (subHtml === '') {\n utils.addClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html');\n } else {\n utils.removeClass(this.outer.querySelector(this.s.appendSubHtmlTo), 'lg-empty-html');\n }\n }\n\n utils.trigger(this.el, 'onAfterAppendSubHtml', {\n index: index\n });\n};\n\n/**\n * @desc Preload slides\n * @param {Number} index - index of the slide\n */\nPlugin.prototype.preload = function(index) {\n var i = 1;\n var j = 1;\n for (i = 1; i <= this.s.preload; i++) {\n if (i >= this.items.length - index) {\n break;\n }\n\n this.loadContent(index + i, false, 0);\n }\n\n for (j = 1; j <= this.s.preload; j++) {\n if (index - j < 0) {\n break;\n }\n\n this.loadContent(index - j, false, 0);\n }\n};\n\n/**\n * @desc Load slide content into slide.\n * @param {Number} index - index of the slide.\n * @param {Boolean} rec - if true call loadcontent() function again.\n * @param {Boolean} delay - delay for adding complete class. it is 0 except first time.\n */\nPlugin.prototype.loadContent = function(index, rec, delay) {\n\n var _this = this;\n var _hasPoster = false;\n var _img;\n var _src;\n var _poster;\n var _srcset;\n var _sizes;\n var _html;\n var _alt;\n var getResponsiveSrc = function(srcItms) {\n var rsWidth = [];\n var rsSrc = [];\n for (var i = 0; i < srcItms.length; i++) {\n var __src = srcItms[i].split(' ');\n\n // Manage empty space\n if (__src[0] === '') {\n __src.splice(0, 1);\n }\n\n rsSrc.push(__src[0]);\n rsWidth.push(__src[1]);\n }\n\n var wWidth = window.innerWidth;\n for (var j = 0; j < rsWidth.length; j++) {\n if (parseInt(rsWidth[j], 10) > wWidth) {\n _src = rsSrc[j];\n break;\n }\n }\n };\n\n if (_this.s.dynamic) {\n\n if (_this.s.dynamicEl[index].poster) {\n _hasPoster = true;\n _poster = _this.s.dynamicEl[index].poster;\n }\n\n _html = _this.s.dynamicEl[index].html;\n _src = _this.s.dynamicEl[index].src;\n _alt = _this.s.dynamicEl[index].alt;\n\n if (_this.s.dynamicEl[index].responsive) {\n var srcDyItms = _this.s.dynamicEl[index].responsive.split(',');\n getResponsiveSrc(srcDyItms);\n }\n\n _srcset = _this.s.dynamicEl[index].srcset;\n _sizes = _this.s.dynamicEl[index].sizes;\n\n } else {\n\n if (_this.items[index].getAttribute('data-poster')) {\n _hasPoster = true;\n _poster = _this.items[index].getAttribute('data-poster');\n }\n\n _html = _this.items[index].getAttribute('data-html');\n _src = _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src');\n _alt = _this.items[index].getAttribute('title');\n\n if (_this.items[index].querySelector('img')) {\n _alt = _alt || _this.items[index].querySelector('img').getAttribute('alt');\n }\n\n if (_this.items[index].getAttribute('data-responsive')) {\n var srcItms = _this.items[index].getAttribute('data-responsive').split(',');\n getResponsiveSrc(srcItms);\n }\n\n _srcset = _this.items[index].getAttribute('data-srcset');\n _sizes = _this.items[index].getAttribute('data-sizes');\n\n }\n\n //if (_src || _srcset || _sizes || _poster) {\n\n var iframe = false;\n if (_this.s.dynamic) {\n if (_this.s.dynamicEl[index].iframe) {\n iframe = true;\n }\n } else {\n if (_this.items[index].getAttribute('data-iframe') === 'true') {\n iframe = true;\n }\n }\n\n var _isVideo = _this.isVideo(_src, index);\n if (!utils.hasClass(_this.___slide[index], 'lg-loaded')) {\n if (iframe) {\n _this.___slide[index].insertAdjacentHTML('afterbegin', '
');\n } else if (_hasPoster) {\n var videoClass = '';\n if (_isVideo && _isVideo.youtube) {\n videoClass = 'lg-has-youtube';\n } else if (_isVideo && _isVideo.vimeo) {\n videoClass = 'lg-has-vimeo';\n } else {\n videoClass = 'lg-has-html5';\n }\n\n _this.___slide[index].insertAdjacentHTML('beforeend', '
');\n\n } else if (_isVideo) {\n _this.___slide[index].insertAdjacentHTML('beforeend', '
');\n utils.trigger(_this.el, 'hasVideo', {\n index: index,\n src: _src,\n html: _html\n });\n } else {\n _alt = _alt ? 'alt=\"' + _alt + '\"' : '';\n _this.___slide[index].insertAdjacentHTML('beforeend', '
');\n }\n\n utils.trigger(_this.el, 'onAferAppendSlide', {\n index: index\n });\n\n _img = _this.___slide[index].querySelector('.lg-object');\n if (_sizes) {\n _img.setAttribute('sizes', _sizes);\n }\n\n if (_srcset) {\n _img.setAttribute('srcset', _srcset);\n\n if (this.s.supportLegacyBrowser) {\n try {\n picturefill({\n elements: [_img[0]]\n });\n } catch (e) {\n console.warn('If you want srcset to be supported for older browsers, ' +\n 'please include picturefil javascript library in your document.');\n }\n }\n }\n\n if (this.s.appendSubHtmlTo !== '.lg-sub-html') {\n _this.addHtml(index);\n }\n\n utils.addClass(_this.___slide[index], 'lg-loaded');\n }\n\n utils.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function() {\n\n // For first time add some delay for displaying the start animation.\n var _speed = 0;\n\n // Do not change the delay value because it is required for zoom plugin.\n // If gallery opened from direct url (hash) speed value should be 0\n if (delay && !utils.hasClass(document.body, 'lg-from-hash')) {\n _speed = delay;\n }\n\n setTimeout(function() {\n utils.addClass(_this.___slide[index], 'lg-complete');\n\n utils.trigger(_this.el, 'onSlideItemLoad', {\n index: index,\n delay: delay || 0\n });\n }, _speed);\n\n });\n\n // @todo check load state for html5 videos\n if (_isVideo && _isVideo.html5 && !_hasPoster) {\n utils.addClass(_this.___slide[index], 'lg-complete');\n }\n\n if (rec === true) {\n if (!utils.hasClass(_this.___slide[index], 'lg-complete')) {\n utils.on(_this.___slide[index].querySelector('.lg-object'), 'load.lg error.lg', function() {\n _this.preload(index);\n });\n } else {\n _this.preload(index);\n }\n }\n\n //}\n};\n\n/**\n* @desc slide function for lightgallery\n ** Slide() gets call on start\n ** ** Set lg.on true once slide() function gets called.\n ** Call loadContent() on slide() function inside setTimeout\n ** ** On first slide we do not want any animation like slide of fade\n ** ** So on first slide( if lg.on if false that is first slide) loadContent() should start loading immediately\n ** ** Else loadContent() should wait for the transition to complete.\n ** ** So set timeout s.speed + 50\n<=> ** loadContent() will load slide content in to the particular slide\n ** ** It has recursion (rec) parameter. if rec === true loadContent() will call preload() function.\n ** ** preload will execute only when the previous slide is fully loaded (images iframe)\n ** ** avoid simultaneous image load\n<=> ** Preload() will check for s.preload value and call loadContent() again accoring to preload value\n ** loadContent() <====> Preload();\n\n* @param {Number} index - index of the slide\n* @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\n* @param {Boolean} fromThumb - true if slide function called via thumbnail click\n*/\nPlugin.prototype.slide = function(index, fromTouch, fromThumb) {\n\n var _prevIndex = 0;\n for (var i = 0; i < this.___slide.length; i++) {\n if (utils.hasClass(this.___slide[i], 'lg-current')) {\n _prevIndex = i;\n break;\n }\n }\n\n var _this = this;\n\n // Prevent if multiple call\n // Required for hsh plugin\n if (_this.lGalleryOn && (_prevIndex === index)) {\n return;\n }\n\n var _length = this.___slide.length;\n var _time = _this.lGalleryOn ? this.s.speed : 0;\n var _next = false;\n var _prev = false;\n\n if (!_this.lgBusy) {\n\n if (this.s.download) {\n var _src;\n if (_this.s.dynamic) {\n _src = _this.s.dynamicEl[index].downloadUrl !== false && (_this.s.dynamicEl[index].downloadUrl || _this.s.dynamicEl[index].src);\n } else {\n _src = _this.items[index].getAttribute('data-download-url') !== 'false' && (_this.items[index].getAttribute('data-download-url') || _this.items[index].getAttribute('href') || _this.items[index].getAttribute('data-src'));\n\n }\n\n if (_src) {\n document.getElementById('lg-download').setAttribute('href', _src);\n utils.removeClass(_this.outer, 'lg-hide-download');\n } else {\n utils.addClass(_this.outer, 'lg-hide-download');\n }\n }\n\n utils.trigger(_this.el, 'onBeforeSlide', {\n prevIndex: _prevIndex,\n index: index,\n fromTouch: fromTouch,\n fromThumb: fromThumb\n });\n\n _this.lgBusy = true;\n\n clearTimeout(_this.hideBartimeout);\n\n // Add title if this.s.appendSubHtmlTo === lg-sub-html\n if (this.s.appendSubHtmlTo === '.lg-sub-html') {\n\n // wait for slide animation to complete\n setTimeout(function() {\n _this.addHtml(index);\n }, _time);\n }\n\n this.arrowDisable(index);\n\n if (!fromTouch) {\n\n // remove all transitions\n utils.addClass(_this.outer, 'lg-no-trans');\n\n for (var j = 0; j < this.___slide.length; j++) {\n utils.removeClass(this.___slide[j], 'lg-prev-slide');\n utils.removeClass(this.___slide[j], 'lg-next-slide');\n }\n\n if (index < _prevIndex) {\n _prev = true;\n if ((index === 0) && (_prevIndex === _length - 1) && !fromThumb) {\n _prev = false;\n _next = true;\n }\n } else if (index > _prevIndex) {\n _next = true;\n if ((index === _length - 1) && (_prevIndex === 0) && !fromThumb) {\n _prev = true;\n _next = false;\n }\n }\n\n if (_prev) {\n\n //prevslide\n utils.addClass(this.___slide[index], 'lg-prev-slide');\n utils.addClass(this.___slide[_prevIndex], 'lg-next-slide');\n } else if (_next) {\n\n // next slide\n utils.addClass(this.___slide[index], 'lg-next-slide');\n utils.addClass(this.___slide[_prevIndex], 'lg-prev-slide');\n }\n\n // give 50 ms for browser to add/remove class\n setTimeout(function() {\n utils.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current');\n\n //_this.$slide.eq(_prevIndex).removeClass('lg-current');\n utils.addClass(_this.___slide[index], 'lg-current');\n\n // reset all transitions\n utils.removeClass(_this.outer, 'lg-no-trans');\n }, 50);\n } else {\n\n var touchPrev = index - 1;\n var touchNext = index + 1;\n\n if ((index === 0) && (_prevIndex === _length - 1)) {\n\n // next slide\n touchNext = 0;\n touchPrev = _length - 1;\n } else if ((index === _length - 1) && (_prevIndex === 0)) {\n\n // prev slide\n touchNext = 0;\n touchPrev = _length - 1;\n }\n\n utils.removeClass(_this.outer.querySelector('.lg-prev-slide'), 'lg-prev-slide');\n utils.removeClass(_this.outer.querySelector('.lg-current'), 'lg-current');\n utils.removeClass(_this.outer.querySelector('.lg-next-slide'), 'lg-next-slide');\n utils.addClass(_this.___slide[touchPrev], 'lg-prev-slide');\n utils.addClass(_this.___slide[touchNext], 'lg-next-slide');\n utils.addClass(_this.___slide[index], 'lg-current');\n }\n\n if (_this.lGalleryOn) {\n setTimeout(function() {\n _this.loadContent(index, true, 0);\n }, this.s.speed + 50);\n\n setTimeout(function() {\n _this.lgBusy = false;\n utils.trigger(_this.el, 'onAfterSlide', {\n prevIndex: _prevIndex,\n index: index,\n fromTouch: fromTouch,\n fromThumb: fromThumb\n });\n }, this.s.speed);\n\n } else {\n _this.loadContent(index, true, _this.s.backdropDuration);\n\n _this.lgBusy = false;\n utils.trigger(_this.el, 'onAfterSlide', {\n prevIndex: _prevIndex,\n index: index,\n fromTouch: fromTouch,\n fromThumb: fromThumb\n });\n }\n\n _this.lGalleryOn = true;\n\n if (this.s.counter) {\n if (document.getElementById('lg-counter-current')) {\n document.getElementById('lg-counter-current').innerHTML = index + 1;\n }\n }\n\n }\n\n};\n\n/**\n * @desc Go to next slide\n * @param {Boolean} fromTouch - true if slide function called via touch event\n */\nPlugin.prototype.goToNextSlide = function(fromTouch) {\n var _this = this;\n if (!_this.lgBusy) {\n if ((_this.index + 1) < _this.___slide.length) {\n _this.index++;\n utils.trigger(_this.el, 'onBeforeNextSlide', {\n index: _this.index\n });\n _this.slide(_this.index, fromTouch, false);\n } else {\n if (_this.s.loop) {\n _this.index = 0;\n utils.trigger(_this.el, 'onBeforeNextSlide', {\n index: _this.index\n });\n _this.slide(_this.index, fromTouch, false);\n } else if (_this.s.slideEndAnimatoin) {\n utils.addClass(_this.outer, 'lg-right-end');\n setTimeout(function() {\n utils.removeClass(_this.outer, 'lg-right-end');\n }, 400);\n }\n }\n }\n};\n\n/**\n * @desc Go to previous slide\n * @param {Boolean} fromTouch - true if slide function called via touch event\n */\nPlugin.prototype.goToPrevSlide = function(fromTouch) {\n var _this = this;\n if (!_this.lgBusy) {\n if (_this.index > 0) {\n _this.index--;\n utils.trigger(_this.el, 'onBeforePrevSlide', {\n index: _this.index,\n fromTouch: fromTouch\n });\n _this.slide(_this.index, fromTouch, false);\n } else {\n if (_this.s.loop) {\n _this.index = _this.items.length - 1;\n utils.trigger(_this.el, 'onBeforePrevSlide', {\n index: _this.index,\n fromTouch: fromTouch\n });\n _this.slide(_this.index, fromTouch, false);\n } else if (_this.s.slideEndAnimatoin) {\n utils.addClass(_this.outer, 'lg-left-end');\n setTimeout(function() {\n utils.removeClass(_this.outer, 'lg-left-end');\n }, 400);\n }\n }\n }\n};\n\nPlugin.prototype.keyPress = function() {\n var _this = this;\n if (this.items.length > 1) {\n utils.on(window, 'keyup.lg', function(e) {\n if (_this.items.length > 1) {\n if (e.keyCode === 37) {\n e.preventDefault();\n _this.goToPrevSlide();\n }\n\n if (e.keyCode === 39) {\n e.preventDefault();\n _this.goToNextSlide();\n }\n }\n });\n }\n\n utils.on(window, 'keydown.lg', function(e) {\n if (_this.s.escKey === true && e.keyCode === 27) {\n e.preventDefault();\n if (!utils.hasClass(_this.outer, 'lg-thumb-open')) {\n _this.destroy();\n } else {\n utils.removeClass(_this.outer, 'lg-thumb-open');\n }\n }\n });\n};\n\nPlugin.prototype.arrow = function() {\n var _this = this;\n utils.on(this.outer.querySelector('.lg-prev'), 'click.lg', function() {\n _this.goToPrevSlide();\n });\n\n utils.on(this.outer.querySelector('.lg-next'), 'click.lg', function() {\n _this.goToNextSlide();\n });\n};\n\nPlugin.prototype.arrowDisable = function(index) {\n\n // Disable arrows if s.hideControlOnEnd is true\n if (!this.s.loop && this.s.hideControlOnEnd) {\n let next = this.outer.querySelector('.lg-next');\n let prev = this.outer.querySelector('.lg-prev');\n if ((index + 1) < this.___slide.length) {\n next.removeAttribute('disabled');\n utils.removeClass(next, 'disabled');\n } else {\n next.setAttribute('disabled', 'disabled');\n utils.addClass(next, 'disabled');\n }\n\n if (index > 0) {\n prev.removeAttribute('disabled');\n utils.removeClass(prev, 'disabled');\n } else {\n prev.setAttribute('disabled', 'disabled');\n utils.addClass(prev, 'disabled');\n }\n }\n};\n\nPlugin.prototype.setTranslate = function(el, xValue, yValue) {\n // jQuery supports Automatic CSS prefixing since jQuery 1.8.0\n if (this.s.useLeft) {\n el.style.left = xValue;\n } else {\n utils.setVendor(el, 'Transform', 'translate3d(' + (xValue) + 'px, ' + yValue + 'px, 0px)');\n }\n};\n\nPlugin.prototype.touchMove = function(startCoords, endCoords) {\n\n var distance = endCoords - startCoords;\n\n if (Math.abs(distance) > 15) {\n // reset opacity and transition duration\n utils.addClass(this.outer, 'lg-dragging');\n\n // move current slide\n this.setTranslate(this.___slide[this.index], distance, 0);\n\n // move next and prev slide with current slide\n this.setTranslate(document.querySelector('.lg-prev-slide'), -this.___slide[this.index].clientWidth + distance, 0);\n this.setTranslate(document.querySelector('.lg-next-slide'), this.___slide[this.index].clientWidth + distance, 0);\n }\n};\n\nPlugin.prototype.touchEnd = function(distance) {\n var _this = this;\n\n // keep slide animation for any mode while dragg/swipe\n if (_this.s.mode !== 'lg-slide') {\n utils.addClass(_this.outer, 'lg-slide');\n }\n\n for (var i = 0; i < this.___slide.length; i++) {\n if (!utils.hasClass(this.___slide[i], 'lg-current') && !utils.hasClass(this.___slide[i], 'lg-prev-slide') && !utils.hasClass(this.___slide[i], 'lg-next-slide')) {\n this.___slide[i].style.opacity = '0';\n }\n }\n\n // set transition duration\n setTimeout(function() {\n utils.removeClass(_this.outer, 'lg-dragging');\n if ((distance < 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\n _this.goToNextSlide(true);\n } else if ((distance > 0) && (Math.abs(distance) > _this.s.swipeThreshold)) {\n _this.goToPrevSlide(true);\n } else if (Math.abs(distance) < 5) {\n\n // Trigger click if distance is less than 5 pix\n utils.trigger(_this.el, 'onSlideClick');\n }\n\n for (var i = 0; i < _this.___slide.length; i++) {\n _this.___slide[i].removeAttribute('style');\n }\n });\n\n // remove slide class once drag/swipe is completed if mode is not slide\n setTimeout(function() {\n if (!utils.hasClass(_this.outer, 'lg-dragging') && _this.s.mode !== 'lg-slide') {\n utils.removeClass(_this.outer, 'lg-slide');\n }\n }, _this.s.speed + 100);\n\n};\n\nPlugin.prototype.enableSwipe = function() {\n var _this = this;\n var startCoords = 0;\n var endCoords = 0;\n var isMoved = false;\n\n if (_this.s.enableSwipe && _this.isTouch && _this.doCss()) {\n\n for (var i = 0; i < _this.___slide.length; i++) {\n /*jshint loopfunc: true */\n utils.on(_this.___slide[i], 'touchstart.lg', function(e) {\n if (!utils.hasClass(_this.outer, 'lg-zoomed') && !_this.lgBusy) {\n e.preventDefault();\n _this.manageSwipeClass();\n startCoords = e.targetTouches[0].pageX;\n }\n });\n }\n\n for (var j = 0; j < _this.___slide.length; j++) {\n /*jshint loopfunc: true */\n utils.on(_this.___slide[j], 'touchmove.lg', function(e) {\n if (!utils.hasClass(_this.outer, 'lg-zoomed')) {\n e.preventDefault();\n endCoords = e.targetTouches[0].pageX;\n _this.touchMove(startCoords, endCoords);\n isMoved = true;\n }\n });\n }\n\n for (var k = 0; k < _this.___slide.length; k++) {\n /*jshint loopfunc: true */\n utils.on(_this.___slide[k], 'touchend.lg', function() {\n if (!utils.hasClass(_this.outer, 'lg-zoomed')) {\n if (isMoved) {\n isMoved = false;\n _this.touchEnd(endCoords - startCoords);\n } else {\n utils.trigger(_this.el, 'onSlideClick');\n }\n }\n });\n }\n }\n\n};\n\nPlugin.prototype.enableDrag = function() {\n var _this = this;\n var startCoords = 0;\n var endCoords = 0;\n var isDraging = false;\n var isMoved = false;\n if (_this.s.enableDrag && !_this.isTouch && _this.doCss()) {\n for (var i = 0; i < _this.___slide.length; i++) {\n /*jshint loopfunc: true */\n utils.on(_this.___slide[i], 'mousedown.lg', function(e) {\n // execute only on .lg-object\n if (!utils.hasClass(_this.outer, 'lg-zoomed')) {\n if (utils.hasClass(e.target, 'lg-object') || utils.hasClass(e.target, 'lg-video-play')) {\n e.preventDefault();\n\n if (!_this.lgBusy) {\n _this.manageSwipeClass();\n startCoords = e.pageX;\n isDraging = true;\n\n // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\n _this.outer.scrollLeft += 1;\n _this.outer.scrollLeft -= 1;\n\n // *\n\n utils.removeClass(_this.outer, 'lg-grab');\n utils.addClass(_this.outer, 'lg-grabbing');\n\n utils.trigger(_this.el, 'onDragstart');\n }\n\n }\n }\n });\n }\n\n utils.on(window, 'mousemove.lg', function(e) {\n if (isDraging) {\n isMoved = true;\n endCoords = e.pageX;\n _this.touchMove(startCoords, endCoords);\n utils.trigger(_this.el, 'onDragmove');\n }\n });\n\n utils.on(window, 'mouseup.lg', function(e) {\n if (isMoved) {\n isMoved = false;\n _this.touchEnd(endCoords - startCoords);\n utils.trigger(_this.el, 'onDragend');\n } else if (utils.hasClass(e.target, 'lg-object') || utils.hasClass(e.target, 'lg-video-play')) {\n utils.trigger(_this.el, 'onSlideClick');\n }\n\n // Prevent execution on click\n if (isDraging) {\n isDraging = false;\n utils.removeClass(_this.outer, 'lg-grabbing');\n utils.addClass(_this.outer, 'lg-grab');\n }\n });\n\n }\n};\n\nPlugin.prototype.manageSwipeClass = function() {\n var touchNext = this.index + 1;\n var touchPrev = this.index - 1;\n var length = this.___slide.length;\n if (this.s.loop) {\n if (this.index === 0) {\n touchPrev = length - 1;\n } else if (this.index === length - 1) {\n touchNext = 0;\n }\n }\n\n for (var i = 0; i < this.___slide.length; i++) {\n utils.removeClass(this.___slide[i], 'lg-next-slide');\n utils.removeClass(this.___slide[i], 'lg-prev-slide');\n }\n\n if (touchPrev > -1) {\n utils.addClass(this.___slide[touchPrev], 'lg-prev-slide');\n }\n\n utils.addClass(this.___slide[touchNext], 'lg-next-slide');\n};\n\nPlugin.prototype.mousewheel = function() {\n var _this = this;\n utils.on(_this.outer, 'mousewheel.lg', function(e) {\n\n if (!e.deltaY) {\n return;\n }\n\n if (e.deltaY > 0) {\n _this.goToPrevSlide();\n } else {\n _this.goToNextSlide();\n }\n\n e.preventDefault();\n });\n\n};\n\nPlugin.prototype.closeGallery = function() {\n\n var _this = this;\n var mousedown = false;\n utils.on(this.outer.querySelector('.lg-close'), 'click.lg', function() {\n _this.destroy();\n });\n\n if (_this.s.closable) {\n\n // If you drag the slide and release outside gallery gets close on chrome\n // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\n utils.on(_this.outer, 'mousedown.lg', function(e) {\n\n if (utils.hasClass(e.target, 'lg-outer') || utils.hasClass(e.target, 'lg-item') || utils.hasClass(e.target, 'lg-img-wrap')) {\n mousedown = true;\n } else {\n mousedown = false;\n }\n\n });\n\n utils.on(_this.outer, 'mouseup.lg', function(e) {\n\n if (utils.hasClass(e.target, 'lg-outer') || utils.hasClass(e.target, 'lg-item') || utils.hasClass(e.target, 'lg-img-wrap') && mousedown) {\n if (!utils.hasClass(_this.outer, 'lg-dragging')) {\n _this.destroy();\n }\n }\n\n });\n\n }\n\n};\n\nPlugin.prototype.destroy = function(d) {\n\n var _this = this;\n\n if (!d) {\n utils.trigger(_this.el, 'onBeforeClose');\n }\n\n document.body.scrollTop = _this.prevScrollTop;\n document.documentElement.scrollTop = _this.prevScrollTop;\n\n /**\n * if d is false or undefined destroy will only close the gallery\n * plugins instance remains with the element\n *\n * if d is true destroy will completely remove the plugin\n */\n\n if (d) {\n if (!_this.s.dynamic) {\n // only when not using dynamic mode is $items a jquery collection\n\n for (var i = 0; i < this.items.length; i++) {\n utils.off(this.items[i], '.lg');\n utils.off(this.items[i], '.lgcustom');\n }\n }\n\n let lguid = _this.el.getAttribute('lg-uid');\n delete window.lgData[lguid];\n _this.el.removeAttribute('lg-uid');\n }\n\n // Unbind all events added by lightGallery\n utils.off(this.el, '.lgtm');\n\n // Distroy all lightGallery modules\n for (var key in window.lgModules) {\n if (_this.modules[key]) {\n _this.modules[key].destroy(d);\n }\n }\n\n this.lGalleryOn = false;\n\n clearTimeout(_this.hideBartimeout);\n this.hideBartimeout = false;\n utils.off(window, '.lg');\n utils.removeClass(document.body, 'lg-on');\n utils.removeClass(document.body, 'lg-from-hash');\n\n if (_this.outer) {\n utils.removeClass(_this.outer, 'lg-visible');\n }\n\n utils.removeClass(document.querySelector('.lg-backdrop'), 'in');\n setTimeout(function() {\n try {\n if (_this.outer) {\n _this.outer.parentNode.removeChild(_this.outer);\n }\n\n if (document.querySelector('.lg-backdrop')) {\n document.querySelector('.lg-backdrop').parentNode.removeChild(document.querySelector('.lg-backdrop'));\n }\n\n if (!d) {\n utils.trigger(_this.el, 'onCloseAfter');\n }\n _this.el.focus();\n } catch (err) {}\n\n }, _this.s.backdropDuration + 50);\n};\n\nwindow.lightGallery = function(el, options) {\n if (!el) {\n return;\n }\n\n try {\n if (!el.getAttribute('lg-uid')) {\n let uid = 'lg' + window.lgData.uid++;\n window.lgData[uid] = new Plugin(el, options);\n el.setAttribute('lg-uid', uid);\n } else {\n window.lgData[el.getAttribute('lg-uid')].init();\n }\n } catch (err) {\n console.error('lightGallery has not initiated properly', err);\n }\n};\n"],"names":["utils","getAttribute","el","label","setAttribute","value","wrap","className","wrapper","document","createElement","parentNode","insertBefore","removeChild","appendChild","addClass","classList","add","removeClass","remove","replace","RegExp","split","join","hasClass","contains","test","setVendor","property","style","charAt","toLowerCase","slice","trigger","event","detail","arguments","length","undefined","customEvent","CustomEvent","dispatchEvent","Listener","uid","on","events","fn","_this","forEach","_id","addEventListener","off","i","_event","substring","key","hasOwnProperty","indexOf","removeEventListener","param","obj","Object","keys","map","k","encodeURIComponent","window","params","bubbles","cancelable","evt","createEvent","initCustomEvent","prototype","Event","lgData","lgModules","defaults","mode","cssEasing","easing","speed","height","width","startClass","backdropDuration","hideBarsDelay","useLeft","ariaLabelledby","ariaDescribedby","closable","loop","escKey","keyPress","controls","slideEndAnimatoin","hideControlOnEnd","mousewheel","getCaptionFromTitleOrAlt","appendSubHtmlTo","subHtmlSelectorRelative","preload","showAfterLoad","selector","selectWithin","nextHtml","prevHtml","index","iframeMaxWidth","download","counter","appendCounterTo","swipeThreshold","enableSwipe","enableDrag","dynamic","dynamicEl","galleryId","supportLegacyBrowser","Plugin","element","options","s","assign","constructor","Array","modules","lGalleryOn","lgBusy","hideBartimeout","isTouch","documentElement","items","push","querySelector","querySelectorAll","children","___slide","outer","init","_hash","location","hash","parseInt","body","setTimeout","build","e","preventDefault","structure","slide","arrow","closeGallery","initialHideBarTimeout","clearTimeout","list","subHtmlCont","template","insertAdjacentHTML","focus","setTop","doCss","inner","prevScrollTop","scrollTop","wH","innerHeight","top","lGallery","support","transition","root","isVideo","src","html","html5","youtube","match","vimeo","dailymotion","vk","addHtml","subHtml","currentEle","fL","innerHTML","j","loadContent","rec","delay","_hasPoster","_img","_src","_poster","_srcset","_sizes","_html","_alt","getResponsiveSrc","srcItms","rsWidth","rsSrc","__src","splice","wWidth","innerWidth","poster","alt","responsive","srcDyItms","srcset","sizes","iframe","_isVideo","videoClass","picturefill","elements","console","warn","_speed","fromTouch","fromThumb","_prevIndex","_length","_time","_next","_prev","downloadUrl","getElementById","prevIndex","arrowDisable","touchPrev","touchNext","goToNextSlide","goToPrevSlide","keyCode","destroy","next","prev","removeAttribute","setTranslate","xValue","yValue","left","touchMove","startCoords","endCoords","distance","Math","abs","clientWidth","touchEnd","opacity","isMoved","manageSwipeClass","targetTouches","pageX","isDraging","target","scrollLeft","deltaY","mousedown","d","lguid","err","lightGallery","error"],"sourceRoot":""}