{"version":3,"file":"lity.min.js","sources":["vendor/lity.min.js"],"sourcesContent":["\"use strict\";\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n/*! Lity - v2.3.1 - 2018-04-20\n* http://sorgalla.com/lity/\n* Copyright (c) 2015-2018 Jan Sorgalla; Licensed MIT */\n(function (window, factory) {\n if (typeof define === 'function' && define.amd) {\n define(['jquery'], function (jQuery) {\n return factory(window, jQuery);\n });\n } else if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === 'object' && _typeof(module.exports) === 'object') {\n module.exports = factory(window, require('jquery'));\n } else {\n window.lity = factory(window, window.jQuery || window.Zepto);\n }\n})(typeof window !== \"undefined\" ? window : void 0, function (window, jQuery) {\n 'use strict';\n\n var document = window.document;\n var _win = jQuery(window);\n var _deferred = jQuery.Deferred;\n var _html = jQuery('html');\n var _instances = [];\n var _attrAriaHidden = 'aria-hidden';\n var _dataAriaHidden = 'lity-' + _attrAriaHidden;\n var _focusableElementsSelector = 'a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not([tabindex^=\"-\"])';\n var _defaultOptions = {\n esc: true,\n handler: null,\n handlers: {\n image: imageHandler,\n inline: inlineHandler,\n youtube: youtubeHandler,\n vimeo: vimeoHandler,\n googlemaps: googlemapsHandler,\n facebookvideo: facebookvideoHandler,\n iframe: iframeHandler\n },\n template: '
Loading...
'\n };\n var _imageRegexp = /(^data:image\\/)|(\\.(png|jpe?g|gif|svg|webp|bmp|ico|tiff?)(\\?\\S*)?jQuery)/i;\n var _youtubeRegex = /(youtube(-nocookie)?\\.com|youtu\\.be)\\/(watch\\?v=|v\\/|u\\/|embed\\/?)?([\\w-]{11})(.*)?/i;\n var _vimeoRegex = /(vimeo(pro)?.com)\\/(?:[^\\d]+)?(\\d+)\\??(.*)?jQuery/;\n var _googlemapsRegex = /((maps|www)\\.)?google\\.([^\\/\\?]+)\\/?((maps\\/?)?\\?)(.*)/i;\n var _facebookvideoRegex = /(facebook\\.com)\\/([a-z0-9_-]*)\\/videos\\/([0-9]*)(.*)?jQuery/i;\n var _transitionEndEvent = function () {\n var el = document.createElement('div');\n var transEndEventNames = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n for (var name in transEndEventNames) {\n if (el.style[name] !== undefined) {\n return transEndEventNames[name];\n }\n }\n return false;\n }();\n function transitionEnd(element) {\n var deferred = _deferred();\n if (!_transitionEndEvent || !element.length) {\n deferred.resolve();\n } else {\n element.one(_transitionEndEvent, deferred.resolve);\n setTimeout(deferred.resolve, 500);\n }\n return deferred.promise();\n }\n function settings(currSettings, key, value) {\n if (arguments.length === 1) {\n return jQuery.extend({}, currSettings);\n }\n if (typeof key === 'string') {\n if (typeof value === 'undefined') {\n return typeof currSettings[key] === 'undefined' ? null : currSettings[key];\n }\n currSettings[key] = value;\n } else {\n jQuery.extend(currSettings, key);\n }\n return this;\n }\n function parseQueryParams(params) {\n var pairs = decodeURI(params.split('#')[0]).split('&');\n var obj = {},\n p;\n for (var i = 0, n = pairs.length; i < n; i++) {\n if (!pairs[i]) {\n continue;\n }\n p = pairs[i].split('=');\n obj[p[0]] = p[1];\n }\n return obj;\n }\n function appendQueryParams(url, params) {\n return url + (url.indexOf('?') > -1 ? '&' : '?') + jQuery.param(params);\n }\n function transferHash(originalUrl, newUrl) {\n var pos = originalUrl.indexOf('#');\n if (-1 === pos) {\n return newUrl;\n }\n if (pos > 0) {\n originalUrl = originalUrl.substr(pos);\n }\n return newUrl + originalUrl;\n }\n function error(msg) {\n return jQuery('').append(msg);\n }\n function imageHandler(target, instance) {\n var desc = instance.opener() && instance.opener().data('lity-desc') || 'Image with no description';\n var img = jQuery('\"'');\n var deferred = _deferred();\n var failed = function failed() {\n deferred.reject(error('Failed loading image'));\n };\n img.on('load', function () {\n if (this.naturalWidth === 0) {\n return failed();\n }\n deferred.resolve(img);\n }).on('error', failed);\n return deferred.promise();\n }\n imageHandler.test = function (target) {\n return _imageRegexp.test(target);\n };\n function inlineHandler(target, instance) {\n var el, placeholder, hasHideClass;\n try {\n el = jQuery(target);\n } catch (e) {\n return false;\n }\n if (!el.length) {\n return false;\n }\n placeholder = jQuery('');\n hasHideClass = el.hasClass('lity-hide');\n instance.element().one('lity:remove', function () {\n placeholder.before(el).remove();\n if (hasHideClass && !el.closest('.lity-content').length) {\n el.addClass('lity-hide');\n }\n });\n return el.removeClass('lity-hide').after(placeholder);\n }\n function youtubeHandler(target) {\n var matches = _youtubeRegex.exec(target);\n if (!matches) {\n return false;\n }\n return iframeHandler(transferHash(target, appendQueryParams('https://www.youtube' + (matches[2] || '') + '.com/embed/' + matches[4], jQuery.extend({\n autoplay: 1\n }, parseQueryParams(matches[5] || '')))));\n }\n function vimeoHandler(target) {\n var matches = _vimeoRegex.exec(target);\n if (!matches) {\n return false;\n }\n return iframeHandler(transferHash(target, appendQueryParams('https://player.vimeo.com/video/' + matches[3], jQuery.extend({\n autoplay: 1\n }, parseQueryParams(matches[4] || '')))));\n }\n function facebookvideoHandler(target) {\n var matches = _facebookvideoRegex.exec(target);\n if (!matches) {\n return false;\n }\n if (0 !== target.indexOf('http')) {\n target = 'https:' + target;\n }\n return iframeHandler(transferHash(target, appendQueryParams('https://www.facebook.com/plugins/video.php?href=' + target, jQuery.extend({\n autoplay: 1\n }, parseQueryParams(matches[4] || '')))));\n }\n function googlemapsHandler(target) {\n var matches = _googlemapsRegex.exec(target);\n if (!matches) {\n return false;\n }\n return iframeHandler(transferHash(target, appendQueryParams('https://www.google.' + matches[3] + '/maps?' + matches[6], {\n output: matches[6].indexOf('layer=c') > 0 ? 'svembed' : 'embed'\n })));\n }\n function iframeHandler(target) {\n return '