meta-lightbox/dist/js/app.js
2022-04-12 13:43:08 +02:00

1 line
12 KiB
JavaScript

!function(){"use strict";var t={758:function(t){t.exports=function makeYoutubeEmbed(t){if("string"===typeof t){var a=function getId(t){var a=t.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);if(a&&11==a[2].length)return a[2]}(t);return a?"//www.youtube.com/embed/"+a:void 0}}}},a={};function __webpack_require__(o){var i=a[o];if(void 0!==i)return i.exports;var c=a[o]={exports:{}};return t[o](c,c.exports,__webpack_require__),c.exports}!function(){var t="ajax-load",a="load-ready";function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}var o=function e(t){function r(t,a,o){var i,c={};if(Array.isArray(t))return t.concat(a);for(i in t)c[o?i.toLowerCase():i]=t[i];for(i in a){var s=o?i.toLowerCase():i,l=a[i];c[s]=s in c&&"object"==_typeof(l)?r(c[s],l,"headers"===s):l}return c}function n(a,o,i,c){"string"!=typeof a&&(a=(o=a).url);var s={config:o},l=r(t,o),d={},u=c||l.data;(l.transformRequest||[]).map((function(t){u=t(u,l.headers)||u})),u&&"object"==_typeof(u)&&"function"!=typeof u.append&&(u=JSON.stringify(u),d["content-type"]="application/json");var p="undefined"!=typeof document&&document.cookie.match(RegExp("(^|; )"+l.xsrfCookieName+"=([^;]*)"));if(p&&(d[l.xsrfHeaderName]=p[2]),l.auth&&(d.authorization=l.auth),l.baseURL&&(a=a.replace(/^(?!.*\/\/)\/?(.*)$/,l.baseURL+"/$1")),l.params){var m=~a.indexOf("?")?"&":"?";a+=m+(l.paramsSerializer?l.paramsSerializer(l.params):new URLSearchParams(l.params))}return(l.fetch||fetch)(a,{method:i||l.method,body:u,headers:r(l.headers,d,!0),credentials:l.withCredentials?"include":"same-origin"}).then((function(t){for(var a in t)"function"!=typeof t[a]&&(s[a]=t[a]);var o=l.validateStatus?l.validateStatus(t.status):t.ok;return"stream"==l.responseType?(s.data=t.body,s):t[l.responseType||"text"]().then((function(t){s.data=t,s.data=JSON.parse(t)})).catch(Object).then((function(){return o?s:Promise.reject(s)}))}))}return t=t||{},n.request=n,n.get=function(t,a){return n(t,a,"get")},n.delete=function(t,a){return n(t,a,"delete")},n.head=function(t,a){return n(t,a,"head")},n.options=function(t,a){return n(t,a,"options")},n.post=function(t,a,o){return n(t,o,"post",a)},n.put=function(t,a,o){return n(t,o,"put",a)},n.patch=function(t,a,o){return n(t,o,"patch",a)},n.all=Promise.all.bind(Promise),n.spread=function(t){return function(a){return t.apply(this,a)}},n.CancelToken="function"==typeof AbortController?AbortController:Object,n.defaults=t,n.create=e,n}();function _toConsumableArray(t){return function _arrayWithoutHoles(t){if(Array.isArray(t))return _arrayLikeToArray(t)}(t)||function _iterableToArray(t){if("undefined"!==typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function _unsupportedIterableToArray(t,a){if(!t)return;if("string"===typeof t)return _arrayLikeToArray(t,a);var o=Object.prototype.toString.call(t).slice(8,-1);"Object"===o&&t.constructor&&(o=t.constructor.name);if("Map"===o||"Set"===o)return Array.from(t);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return _arrayLikeToArray(t,a)}(t)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(t,a){(null==a||a>t.length)&&(a=t.length);for(var o=0,i=new Array(a);o<a;o++)i[o]=t[o];return i}function _classCallCheck(t,a){if(!(t instanceof a))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,a){for(var o=0;o<a.length;o++){var i=a[o];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _defineProperty(t,a,o){return a in t?Object.defineProperty(t,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[a]=o,t}var i=window,c=function(){function MetaWindow(){var t=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shown:!1},c=arguments.length>1?arguments[1]:void 0;_classCallCheck(this,MetaWindow),_defineProperty(this,"state",{content:"",type:["empty"],shown:!1,loading:!1,error:!1,embed:!1,collections:[],current:null,target:null,extraClass:null}),_defineProperty(this,"show",(function(){var a=t;console.log("".concat(a.name,": show")),a.setState({shown:!0}),i.dispatchEvent(new Event("{ui.name}.show"))})),_defineProperty(this,"hide",(function(){var a=t;console.log("".concat(a.name,": hide")),a.setState({shown:!1}),i.dispatchEvent(new Event("{ui.name}.hide"))})),_defineProperty(this,"next",(function(){var a=t,o=a.state.current.getAttribute("data-gallery"),c=a._currIndex();c<a.state.collections[o].length-1?c++:c=0,a.state.collections[o][c].click(),console.log("".concat(a.name,": next")),i.dispatchEvent(new Event("{ui.name}.next"))})),_defineProperty(this,"prev",(function(){var a=t,o=a.state.current.getAttribute("data-gallery"),c=a._currIndex();c>0?c--:c=a.state.collections[o].length-1,a.state.collections[o][c].click(),console.log("".concat(a.name,": prev")),i.dispatchEvent(new Event("{ui.name}.prev"))})),_defineProperty(this,"reset",(function(){t.setState({content:"",type:["empty"],shown:!1,loading:!1,error:!1,embed:!1})})),_defineProperty(this,"load",(function(a){var o=t,c=o.axios;o.reset(),o.setState({loading:!0}),o.show(),c.get(a,{responseType:"arraybuffer"}).then((function(t){console.log("".concat(o.name,": response content-type: ").concat(t.headers["content-type"]));switch(t.headers["content-type"]){case"image/jpeg":case"image/png":case"image/svg+xml":case"image/bmp":case"image/gif":case"image/tiff":case"image/webp":case"image/jpg":case"image/svg":o.setContent('<img src="data:'.concat(t.headers["content-type"],";base64,").concat(o._imageEncode(t.data),'" />'),"meta-".concat(o.name,"--image"));break;case"application/json":case"application/ld+json":case"application/json; charset=UTF-8":o.setContent("".concat((!1).Content),["meta-".concat(o.name,"--text"),"meta-".concat(o.name,"--html"),"meta-".concat(o.name,"--json")]);break;case"video/mp4":o.setContent('<video controls autoplay><source src="'.concat(a,'" type="video/mp4">Your browser does not support the video tag.</video>'),["meta-".concat(o.name,"--image"),"meta-".concat(o.name,"--video")]);break;case"text/html":case"application/xhtml+xml":case"text/plain":case"text/html; charset=UTF-8":case"application/xhtml+xml; charset=UTF-8":case"text/plain; charset=UTF-8":o.setContent(o._abToString(t.data),["meta-".concat(o.name,"--text"),"meta-".concat(o.name,"--html"),"meta-".concat(o.name,"--pajax")]);break;default:console.warn("".concat(o.name,": Unknown response content-type!"))}i.dispatchEvent(new Event("{ui.name}.loaded"))})).catch((function(t){console.error(t);var a="";if(t.response)switch(t.response.status){case 404:a="Not Found.";break;case 500:a="Server issue, please try again latter.";break;default:a="Something went wrong."}else t.request?a="No response received":console.warn("Error",t.message);o.setState({error:a}),i.dispatchEvent(new Event("{ui.name}.error"))})).then((function(){o.setState({loading:!1}),setTimeout((function(){o.state.current.classList.remove("loading")}),3e3)}))})),_defineProperty(this,"_currIndex",(function(){var a=t,o=a.state.current,i=o.getAttribute("data-gallery");return a.state.collections[i].indexOf(o)})),_defineProperty(this,"embed",(function(a){var o=t;console.log("".concat(o.name,": embed")),o.reset(),o.setState({embed:a,loading:!1,type:["meta-".concat(o.name,"--embed"),"meta-".concat(o.name,"--video")]}),o.show()})),_defineProperty(this,"setCaption",(function(a){var o=t;console.log("".concat(o.name,": setCaption")),o.state.caption=a})),_defineProperty(this,"addExtraClass",(function(a){var o=t;a.length&&(console.log("".concat(o.name,": addExtraClass(").concat(a,")")),o.state.extraClass=a)})),_defineProperty(this,"getCaption",(function(){return t.state.caption})),_defineProperty(this,"_abToString",(function(t){return String.fromCharCode.apply(null,new Uint8Array(t))})),_defineProperty(this,"_imageEncode",(function(t){new Uint8Array(t);return btoa([].reduce.call(new Uint8Array(t),(function(t,a){return t+String.fromCharCode(a)}),""))})),_defineProperty(this,"setContent",(function(a,o){var i=t;console.log("".concat(i.name,": setContent"));var c=o||["meta-".concat(i.name,"--html"),"meta-".concat(i.name,"--text")];Array.isArray(c)||(c=o.split(" ")),i.setState({content:a,type:c})})),_defineProperty(this,"getHtml",(function(){var a=t;if(a.state.embed){var o=__webpack_require__(758)(a.state.embed);a.state.content='<iframe width="600" height="380" src="'.concat(o,'" frameborder="0"></iframe>')}return a.state.content}));var s=this;switch(s.name=s.constructor.name,console.log("".concat(s.name,": init")),s.axios=o,s.setState(a),c){case"show":case"hide":s.hide()}i.dispatchEvent(new Event("{ui.name}.init"))}return function _createClass(t,a,o){return a&&_defineProperties(t.prototype,a),o&&_defineProperties(t,o),Object.defineProperty(t,"prototype",{writable:!1}),t}(MetaWindow,[{key:"init",value:function init(){var t=this;console.log("MetaWindow: [links] init"),document.querySelectorAll('[data-toggle="lightbox"],[data-gallery="${gallery}"]').forEach((function(a){var o=a.getAttribute("data-gallery");o&&(t.state.collections[o]=[],document.querySelectorAll('[data-toggle="lightbox"][data-gallery="'.concat(o,'"]')).forEach((function(a){t.state.collections[o].push(a)}))),a.addEventListener("click",(function(a){a.preventDefault(),console.log("MetaWindow: [link] click");var o=a.currentTarget,i=o.getAttribute("href")||o.getAttribute("data-href"),c=o.getAttribute("data-embed");o.classList.add("loading"),t.state.current=o,c?t.embed(i):t.load(i);var s=o.getAttribute("data-title");s&&t.setCaption(s),t.addExtraClass(o.getAttribute("data-lightbox-class"))}))}))}},{key:"setState",value:function setState(t){var a=this;a.state=Object.assign({},a.state,t),a.render()}},{key:"render",value:function render(){var t,a=this,o=a.name,i=a.state.current;a.state.target.innerHTML="";var c=document.createElement("div");c.classList.add("meta-".concat(o)),(t=c.classList).add.apply(t,_toConsumableArray(a.state.type)),a.state.target.append(c);var s=document.createElement("div");s.classList.add("meta-".concat(o,"-overlay")),a.state.shown&&s.classList.add("meta-".concat(o,"-overlay--open")),a.state.loading&&s.classList.add("meta-".concat(o,"-overlay--loading")),a.state.error&&s.classList.add("meta-".concat(o,"-overlay--error")),c.append(s);var l=document.createElement("div");l.classList.add("meta-content"),s.append(l);var d=document.createElement("button");if(d.classList.add("meta-nav","meta-close","a"),d.innerHTML='<i class="icon fa fas fa-times"></i> <span class="visually-hidden">Close</span>',d.addEventListener("click",(function(t){t.preventDefault(),a.hide()})),l.append(d),i){var u=i.getAttribute("data-gallery");if(u&&a.state.collections[u].length>1){var p=document.createElement("nav");p.classList.add("meta-navs");var m=document.createElement("button");m.classList.add("meta-nav","meta-nav-arrow","meta-nav-arrow__prev","a"),m.innerHTML='<i class="icon fa fas fa-chevron-left"></i> <span class="visually-hidden">Previous</span>',m.addEventListener("click",(function(t){t.preventDefault(),a.prev()})),p.append(m);var f=document.createElement("button");f.classList.add("meta-nav","meta-nav-arrow","meta-nav-arrow__next","a"),f.innerHTML='<i class="icon fa fas fa-chevron-right"></i> <span class="visually-hidden">Next</span>',f.addEventListener("click",(function(t){t.preventDefault(),a.next()})),p.append(f),l.append(p)}}var v=document.createElement("section");if(v.classList.add("meta-wrap","typography"),a.state.extraClass&&v.classList.add(a.state.extraClass),v.innerHTML=a.getHtml(),l.append(v),a.state.error){var y=document.createElement("div");y.classList.add("meta-error"),y.innerHTML=a.state.error,l.append(y)}else if(a.state.caption){var h=document.createElement("div");h.classList.add("meta-caption"),h.innerHTML=a.getCaption(),l.append(h)}return"undefined"!==typeof window.FontAwesome&&window.FontAwesome.dom.i2svg(),a}}]),MetaWindow}(),s=c,l=document.getElementById("MetaLightboxApp");l||console.log("MetaWindow: missing container #MetaLightboxApp");var d=function init(){var t=window.MetaWindow;"undefined"===typeof t&&(t=new s({target:l}),window.MetaWindow=t),t.init()};window.addEventListener("".concat(a),d),window.addEventListener("".concat(t),d),window.addEventListener("MetaWindow.initLinks",d)}()}();