IMPR: standard linting

This commit is contained in:
Tony Air 2022-05-03 20:58:33 +02:00
parent 9aca2b359c
commit 745ad254a0
8 changed files with 266 additions and 271 deletions

2
dist/js/app.js vendored
View File

@ -1 +1 @@
!function(){"use strict";var e={826:function(e){e.exports=function makeYoutubeEmbed(e){if("string"===typeof e){var t=function getId(e){var t=e.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);if(t&&11==t[2].length)return t[2]}(e);return t?"//www.youtube.com/embed/"+t:void 0}}}},t={};function __webpack_require__(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,__webpack_require__),r.exports}!function(){var e="ajax-load",t="load-ready";function _toConsumableArray(e){return function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}(e)||function _iterableToArray(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function _unsupportedIterableToArray(e,t){if(!e)return;if("string"===typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _arrayLikeToArray(e,t)}(e)||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(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var a=window,n=function(){function MetaWindow(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shown:!1},n=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 t=e;console.log("".concat(t.name,": show")),t.setState({shown:!0}),a.dispatchEvent(new Event("{ui.name}.show"))})),_defineProperty(this,"hide",(function(){var t=e;console.log("".concat(t.name,": hide")),t.setState({shown:!1}),a.dispatchEvent(new Event("{ui.name}.hide"))})),_defineProperty(this,"next",(function(){var t=e,n=t.state.current.getAttribute("data-gallery"),r=t._currIndex();r<t.state.collections[n].length-1?r++:r=0,t.state.collections[n][r].click(),console.log("".concat(t.name,": next")),a.dispatchEvent(new Event("{ui.name}.next"))})),_defineProperty(this,"prev",(function(){var t=e,n=t.state.current.getAttribute("data-gallery"),r=t._currIndex();r>0?r--:r=t.state.collections[n].length-1,t.state.collections[n][r].click(),console.log("".concat(t.name,": prev")),a.dispatchEvent(new Event("{ui.name}.prev"))})),_defineProperty(this,"reset",(function(){e.setState({content:"",type:["empty"],shown:!1,loading:!1,error:!1,embed:!1})})),_defineProperty(this,"load",(function(t){var n=e;n.reset(),n.setState({loading:!0}),n.show(),fetch(t).then((function(e){var r=e.headers.get("content-type");console.log(e),console.log("".concat(n.name,": response content-type: ").concat(r));switch(r){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":e.arrayBuffer().then((function(e){n.setContent('<img src="data:'.concat(r,";base64,").concat(n._imageEncode(e),'" />'),"meta-".concat(n.name,"--image"))}));break;case"application/json":case"application/ld+json":case"application/json; charset=UTF-8":n.setContent("".concat((!1).Content),["meta-".concat(n.name,"--text"),"meta-".concat(n.name,"--html"),"meta-".concat(n.name,"--json")]);break;case"video/mp4":n.setContent('<video controls autoplay><source src="'.concat(t,'" type="video/mp4">Your browser does not support the video tag.</video>'),["meta-".concat(n.name,"--image"),"meta-".concat(n.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":n.setContent(e.data,["meta-".concat(n.name,"--text"),"meta-".concat(n.name,"--html"),"meta-".concat(n.name,"--pajax")]);break;default:console.warn("".concat(n.name,": Unknown response content-type!"))}a.dispatchEvent(new Event("{ui.name}.loaded"))})).catch((function(e){console.error(e);var t="";if(e.response)switch(e.response.status){case 404:t="Not Found.";break;case 500:t="Server issue, please try again latter.";break;default:t="Something went wrong."}else e.request?t="No response received":console.warn("Error",e.message);n.setState({error:t}),a.dispatchEvent(new Event("{ui.name}.error"))})).then((function(){n.setState({loading:!1}),setTimeout((function(){n.state.current.classList.remove("loading")}),1e3)}))})),_defineProperty(this,"_currIndex",(function(){var t=e,a=t.state.current,n=a.getAttribute("data-gallery");return t.state.collections[n].indexOf(a)})),_defineProperty(this,"embed",(function(t){var a=e;console.log("".concat(a.name,": embed")),a.reset(),a.setState({embed:t,loading:!1,type:["meta-".concat(a.name,"--embed"),"meta-".concat(a.name,"--video")]}),a.show()})),_defineProperty(this,"setCaption",(function(t){var a=e;console.log("".concat(a.name,": setCaption")),a.state.caption=t})),_defineProperty(this,"addExtraClass",(function(t){var a=e;t&&t.length&&(console.log("".concat(a.name,": addExtraClass(").concat(t,")")),a.state.extraClass=t)})),_defineProperty(this,"getCaption",(function(){return e.state.caption})),_defineProperty(this,"_imageEncode",(function(e){var t="";return[].slice.call(new Uint8Array(e)).forEach((function(e){return t+=String.fromCharCode(e)})),window.btoa(t)})),_defineProperty(this,"setContent",(function(t,a){var n=e;console.log("".concat(n.name,": setContent"));var r=a||["meta-".concat(n.name,"--html"),"meta-".concat(n.name,"--text")];Array.isArray(r)||(r=a.split(" ")),n.setState({content:t,type:r})})),_defineProperty(this,"getHtml",(function(){var t=e;if(t.state.embed){var a=__webpack_require__(826)(t.state.embed);t.state.content='<iframe width="600" height="380" src="'.concat(a,'" frameborder="0"></iframe>')}return t.state.content}));var r=this;switch(r.name=r.constructor.name,console.log("".concat(r.name,": init")),r.setState(t),n){case"show":case"hide":r.hide()}a.dispatchEvent(new Event("{ui.name}.init"))}return function _createClass(e,t,a){return t&&_defineProperties(e.prototype,t),a&&_defineProperties(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}(MetaWindow,[{key:"cleanLinks",value:function cleanLinks(){document.querySelectorAll('[data-toggle="lightbox"]').forEach((function(e){e.classList.remove("loading")}))}},{key:"collectGaleries",value:function collectGaleries(e){var t=this;e&&(t.state.collections[e]=[],document.querySelectorAll('[data-toggle="lightbox"][data-gallery="'.concat(e,'"]')).forEach((function(a){t.state.collections[e].push(a)})))}},{key:"toggle",value:function toggle(e){var t=this;t.cleanLinks();var a=e.getAttribute("href")||e.getAttribute("data-href"),n=e.getAttribute("data-embed");e.classList.add("loading"),t.state.current=e;var r=e.getAttribute("data-title");r&&t.setCaption(r),n?t.embed(a):t.load(a),t.addExtraClass(e.getAttribute("data-lightbox-class"))}},{key:"init",value:function init(){var e=this;console.log("MetaWindow: [links] init"),document.querySelectorAll('[data-toggle="lightbox"],[data-gallery]').forEach((function(t){var a=t.getAttribute("data-gallery");e.collectGaleries(a),t.addEventListener("click",(function(t){t.preventDefault(),console.log("MetaWindow: [link] click");var a=t.currentTarget;e.toggle(a)}))}))}},{key:"setState",value:function setState(e){var t=this;t.state=Object.assign({},t.state,e),t.render()}},{key:"render",value:function render(){var e,t=this,a=t.name,n=t.state.current;t.state.target.innerHTML="";var r=document.createElement("div");r.classList.add("meta-".concat(a)),(e=r.classList).add.apply(e,_toConsumableArray(t.state.type)),t.state.target.append(r);var o=document.createElement("div");o.classList.add("meta-".concat(a,"-overlay")),t.state.shown&&o.classList.add("meta-".concat(a,"-overlay--open")),t.state.loading&&o.classList.add("meta-".concat(a,"-overlay--loading")),t.state.error&&o.classList.add("meta-".concat(a,"-overlay--error")),r.append(o);var i=document.createElement("div");i.classList.add("meta-content"),o.append(i);var c=document.createElement("button");if(c.classList.add("meta-nav","meta-close","a"),c.innerHTML='<i class="icon fa fas fa-times"></i> <span class="visually-hidden">Close</span>',c.addEventListener("click",(function(e){e.preventDefault(),t.hide()})),i.append(c),n){var s=n.getAttribute("data-gallery");if(s&&t.state.collections[s].length>1){var l=document.createElement("nav");l.classList.add("meta-navs");var d=document.createElement("button");d.classList.add("meta-nav","meta-nav-arrow","meta-nav-arrow__prev","a"),d.innerHTML='<i class="icon fa fas fa-chevron-left"></i> <span class="visually-hidden">Previous</span>',d.addEventListener("click",(function(e){e.preventDefault(),t.prev()})),l.append(d);var u=document.createElement("button");u.classList.add("meta-nav","meta-nav-arrow","meta-nav-arrow__next","a"),u.innerHTML='<i class="icon fa fas fa-chevron-right"></i> <span class="visually-hidden">Next</span>',u.addEventListener("click",(function(e){e.preventDefault(),t.next()})),l.append(u),i.append(l)}}var m=document.createElement("section");if(m.classList.add("meta-wrap","typography"),t.state.extraClass&&m.classList.add(t.state.extraClass),m.innerHTML=t.getHtml(),i.append(m),t.state.error){var p=document.createElement("div");p.classList.add("meta-error"),p.innerHTML=t.state.error,i.append(p)}else if(t.state.caption){var f=document.createElement("div");f.classList.add("meta-caption"),f.innerHTML=t.getCaption(),i.append(f)}return"undefined"!==typeof window.FontAwesome&&window.FontAwesome.dom.i2svg(),t}}]),MetaWindow}(),r=n,o=document.getElementById("MetaLightboxApp");o||console.log("MetaWindow: missing container #MetaLightboxApp");var i=function init(){var e=window.MetaWindow;"undefined"===typeof e&&(e=new r({target:o}),window.MetaWindow=e),e.init()};window.addEventListener("".concat(t),i),window.addEventListener("".concat(e),i),window.addEventListener("MetaWindow.initLinks",i)}()}();
!function(){"use strict";var e={826:function(e){e.exports=function makeYoutubeEmbed(e){if("string"===typeof e){var t=function getId(e){var t=e.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/);if(t&&11==t[2].length)return t[2]}(e);return t?"//www.youtube.com/embed/"+t:void 0}}}},t={};function __webpack_require__(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,__webpack_require__),r.exports}!function(){var e="ajax-load",t="load-ready";function _toConsumableArray(e){return function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}(e)||function _iterableToArray(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function _unsupportedIterableToArray(e,t){if(!e)return;if("string"===typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return _arrayLikeToArray(e,t)}(e)||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(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var a=window,n=function(){function MetaWindow(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{shown:!1},n=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 t=e;console.log("".concat(t.name,": show")),t.setState({shown:!0}),a.dispatchEvent(new Event("{ui.name}.show"))})),_defineProperty(this,"hide",(function(){var t=e;console.log("".concat(t.name,": hide")),t.setState({shown:!1}),a.dispatchEvent(new Event("{ui.name}.hide"))})),_defineProperty(this,"next",(function(){var t=e,n=t.state.current.getAttribute("data-gallery"),r=t._currIndex();r<t.state.collections[n].length-1?r++:r=0,t.state.collections[n][r].click(),console.log("".concat(t.name,": next")),a.dispatchEvent(new Event("{ui.name}.next"))})),_defineProperty(this,"prev",(function(){var t=e,n=t.state.current.getAttribute("data-gallery"),r=t._currIndex();r>0?r--:r=t.state.collections[n].length-1,t.state.collections[n][r].click(),console.log("".concat(t.name,": prev")),a.dispatchEvent(new Event("{ui.name}.prev"))})),_defineProperty(this,"reset",(function(){e.setState({content:"",type:["empty"],shown:!1,loading:!1,error:!1,embed:!1})})),_defineProperty(this,"load",(function(t){var n=e;n.reset(),n.setState({loading:!0}),n.show(),window.fetch(t).then((function(e){var r=e.headers.get("content-type");console.log(e),console.log("".concat(n.name,": response content-type: ").concat(r));switch(r){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":e.arrayBuffer().then((function(e){n.setContent('<img src="data:'.concat(r,";base64,").concat(n._imageEncode(e),'" />'),"meta-".concat(n.name,"--image"))}));break;case"application/json":case"application/ld+json":case"application/json; charset=UTF-8":n.setContent("".concat((!1).Content),["meta-".concat(n.name,"--text"),"meta-".concat(n.name,"--html"),"meta-".concat(n.name,"--json")]);break;case"video/mp4":n.setContent('<video controls autoplay><source src="'.concat(t,'" type="video/mp4">Your browser does not support the video tag.</video>'),["meta-".concat(n.name,"--image"),"meta-".concat(n.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":n.setContent(e.data,["meta-".concat(n.name,"--text"),"meta-".concat(n.name,"--html"),"meta-".concat(n.name,"--pajax")]);break;default:console.warn("".concat(n.name,": Unknown response content-type!"))}a.dispatchEvent(new Event("{ui.name}.loaded"))})).catch((function(e){console.error(e);var t="";if(e.response)switch(e.response.status){case 404:t="Not Found.";break;case 500:t="Server issue, please try again latter.";break;default:t="Something went wrong."}else e.request?t="No response received":console.warn("Error",e.message);n.setState({error:t}),a.dispatchEvent(new Event("{ui.name}.error"))})).then((function(){n.setState({loading:!1}),setTimeout((function(){n.state.current.classList.remove("loading")}),1e3)}))})),_defineProperty(this,"_currIndex",(function(){var t=e,a=t.state.current,n=a.getAttribute("data-gallery");return t.state.collections[n].indexOf(a)})),_defineProperty(this,"embed",(function(t){var a=e;console.log("".concat(a.name,": embed")),a.reset(),a.setState({embed:t,loading:!1,type:["meta-".concat(a.name,"--embed"),"meta-".concat(a.name,"--video")]}),a.show()})),_defineProperty(this,"setCaption",(function(t){var a=e;console.log("".concat(a.name,": setCaption")),a.state.caption=t})),_defineProperty(this,"addExtraClass",(function(t){var a=e;t&&t.length&&(console.log("".concat(a.name,": addExtraClass(").concat(t,")")),a.state.extraClass=t)})),_defineProperty(this,"getCaption",(function(){return e.state.caption})),_defineProperty(this,"_imageEncode",(function(e){var t="";return[].slice.call(new Uint8Array(e)).forEach((function(e){t+=String.fromCharCode(e)})),window.btoa(t)})),_defineProperty(this,"setContent",(function(t,a){var n=e;console.log("".concat(n.name,": setContent"));var r=a||["meta-".concat(n.name,"--html"),"meta-".concat(n.name,"--text")];Array.isArray(r)||(r=a.split(" ")),n.setState({content:t,type:r})})),_defineProperty(this,"getHtml",(function(){var t=e;if(t.state.embed){var a=__webpack_require__(826)(t.state.embed);t.state.content='<iframe width="600" height="380" src="'.concat(a,'" frameborder="0"></iframe>')}return t.state.content}));var r=this;switch(r.name=r.constructor.name,console.log("".concat(r.name,": init")),r.setState(t),n){case"show":case"hide":r.hide()}a.dispatchEvent(new Event("{ui.name}.init"))}return function _createClass(e,t,a){return t&&_defineProperties(e.prototype,t),a&&_defineProperties(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}(MetaWindow,[{key:"cleanLinks",value:function cleanLinks(){document.querySelectorAll('[data-toggle="lightbox"]').forEach((function(e){e.classList.remove("loading")}))}},{key:"collectGaleries",value:function collectGaleries(e){var t=this;e&&(t.state.collections[e]=[],document.querySelectorAll('[data-toggle="lightbox"][data-gallery="'.concat(e,'"]')).forEach((function(a){t.state.collections[e].push(a)})))}},{key:"toggle",value:function toggle(e){var t=this;t.cleanLinks();var a=e.getAttribute("href")||e.getAttribute("data-href"),n=e.getAttribute("data-embed");e.classList.add("loading"),t.state.current=e;var r=e.getAttribute("data-title");r&&t.setCaption(r),n?t.embed(a):t.load(a),t.addExtraClass(e.getAttribute("data-lightbox-class"))}},{key:"init",value:function init(){var e=this;console.log("MetaWindow: [links] init"),document.querySelectorAll('[data-toggle="lightbox"],[data-gallery]').forEach((function(t){var a=t.getAttribute("data-gallery");e.collectGaleries(a),t.addEventListener("click",(function(t){t.preventDefault(),console.log("MetaWindow: [link] click");var a=t.currentTarget;e.toggle(a)}))}))}},{key:"setState",value:function setState(e){var t=this;t.state=Object.assign({},t.state,e),t.render()}},{key:"render",value:function render(){var e,t=this,a=t.name,n=t.state.current;t.state.target.innerHTML="";var r=document.createElement("div");r.classList.add("meta-".concat(a)),(e=r.classList).add.apply(e,_toConsumableArray(t.state.type)),t.state.target.append(r);var o=document.createElement("div");o.classList.add("meta-".concat(a,"-overlay")),t.state.shown&&o.classList.add("meta-".concat(a,"-overlay--open")),t.state.loading&&o.classList.add("meta-".concat(a,"-overlay--loading")),t.state.error&&o.classList.add("meta-".concat(a,"-overlay--error")),r.append(o);var i=document.createElement("div");i.classList.add("meta-content"),o.append(i);var c=document.createElement("button");if(c.classList.add("meta-nav","meta-close","a"),c.innerHTML='<i class="icon fa fas fa-times"></i> <span class="visually-hidden">Close</span>',c.addEventListener("click",(function(e){e.preventDefault(),t.hide()})),i.append(c),n){var s=n.getAttribute("data-gallery");if(s&&t.state.collections[s].length>1){var l=document.createElement("nav");l.classList.add("meta-navs");var d=document.createElement("button");d.classList.add("meta-nav","meta-nav-arrow","meta-nav-arrow__prev","a"),d.innerHTML='<i class="icon fa fas fa-chevron-left"></i> <span class="visually-hidden">Previous</span>',d.addEventListener("click",(function(e){e.preventDefault(),t.prev()})),l.append(d);var u=document.createElement("button");u.classList.add("meta-nav","meta-nav-arrow","meta-nav-arrow__next","a"),u.innerHTML='<i class="icon fa fas fa-chevron-right"></i> <span class="visually-hidden">Next</span>',u.addEventListener("click",(function(e){e.preventDefault(),t.next()})),l.append(u),i.append(l)}}var m=document.createElement("section");if(m.classList.add("meta-wrap","typography"),t.state.extraClass&&m.classList.add(t.state.extraClass),m.innerHTML=t.getHtml(),i.append(m),t.state.error){var p=document.createElement("div");p.classList.add("meta-error"),p.innerHTML=t.state.error,i.append(p)}else if(t.state.caption){var f=document.createElement("div");f.classList.add("meta-caption"),f.innerHTML=t.getCaption(),i.append(f)}return"undefined"!==typeof window.FontAwesome&&window.FontAwesome.dom.i2svg(),t}}]),MetaWindow}(),r=n,o=document.getElementById("MetaLightboxApp");o||console.log("MetaWindow: missing container #MetaLightboxApp");var i=function init(){var e=window.MetaWindow;"undefined"===typeof e&&(e=new r({target:o}),window.MetaWindow=e),e.init()};window.addEventListener("".concat(t),i),window.addEventListener("".concat(e),i),window.addEventListener("MetaWindow.initLinks",i)}()}();

4
dist/report.html vendored
View File

@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>@a2nt/meta-lightbox-js [2 May 2022 at 23:31]</title>
<title>@a2nt/meta-lightbox-js [3 May 2022 at 20:58]</title>
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
<script>
@ -31,7 +31,7 @@
<body>
<div id="app"></div>
<script>
window.chartData = [{"label":"js/app.js","isAsset":true,"statSize":23026,"parsedSize":10608,"gzipSize":3366,"groups":[{"label":"node_modules/.pnpm/youtube-embed@1.0.0/node_modules/youtube-embed","path":"./node_modules/.pnpm/youtube-embed@1.0.0/node_modules/youtube-embed","statSize":577,"groups":[{"id":826,"label":"index.js","path":"./node_modules/.pnpm/youtube-embed@1.0.0/node_modules/youtube-embed/index.js","statSize":577,"parsedSize":265,"gzipSize":217}],"parsedSize":265,"gzipSize":217},{"label":"src","path":"./src","statSize":22449,"groups":[{"label":"js","path":"./src/js","statSize":18141,"groups":[{"id":348,"label":"test-build.js + 3 modules (concatenated)","path":"./src/js/test-build.js + 3 modules (concatenated)","statSize":18141,"parsedSize":10343,"gzipSize":3232,"concatenated":true,"groups":[{"label":"src/js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js","statSize":18141,"groups":[{"id":null,"label":"test-build.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/test-build.js","statSize":300,"parsedSize":171,"gzipSize":53,"inaccurateSizes":true},{"id":null,"label":"app.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/app.js","statSize":815,"parsedSize":464,"gzipSize":145,"inaccurateSizes":true},{"id":null,"label":"_events.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/_events.js","statSize":1366,"parsedSize":778,"gzipSize":243,"inaccurateSizes":true},{"id":null,"label":"window.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/window.js","statSize":15660,"parsedSize":8928,"gzipSize":2789,"inaccurateSizes":true}],"parsedSize":10343,"gzipSize":3232,"inaccurateSizes":true}]}],"parsedSize":10343,"gzipSize":3232},{"label":"scss","path":"./src/scss","statSize":4308,"groups":[{"id":null,"label":"app.scss","path":"./src/scss/app.scss","statSize":4308}],"parsedSize":0,"gzipSize":0}],"parsedSize":10343,"gzipSize":3232}]}];
window.chartData = [{"label":"js/app.js","isAsset":true,"statSize":22926,"parsedSize":10608,"gzipSize":3367,"groups":[{"label":"node_modules/.pnpm/youtube-embed@1.0.0/node_modules/youtube-embed","path":"./node_modules/.pnpm/youtube-embed@1.0.0/node_modules/youtube-embed","statSize":577,"groups":[{"id":826,"label":"index.js","path":"./node_modules/.pnpm/youtube-embed@1.0.0/node_modules/youtube-embed/index.js","statSize":577,"parsedSize":265,"gzipSize":217}],"parsedSize":265,"gzipSize":217},{"label":"src","path":"./src","statSize":22349,"groups":[{"label":"js","path":"./src/js","statSize":18041,"groups":[{"id":348,"label":"test-build.js + 3 modules (concatenated)","path":"./src/js/test-build.js + 3 modules (concatenated)","statSize":18041,"parsedSize":10343,"gzipSize":3233,"concatenated":true,"groups":[{"label":"src/js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js","statSize":18041,"groups":[{"id":null,"label":"test-build.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/test-build.js","statSize":302,"parsedSize":173,"gzipSize":54,"inaccurateSizes":true},{"id":null,"label":"app.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/app.js","statSize":817,"parsedSize":468,"gzipSize":146,"inaccurateSizes":true},{"id":null,"label":"_events.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/_events.js","statSize":1366,"parsedSize":783,"gzipSize":244,"inaccurateSizes":true},{"id":null,"label":"window.js","path":"./src/js/test-build.js + 3 modules (concatenated)/src/js/window.js","statSize":15556,"parsedSize":8918,"gzipSize":2787,"inaccurateSizes":true}],"parsedSize":10343,"gzipSize":3233,"inaccurateSizes":true}]}],"parsedSize":10343,"gzipSize":3233},{"label":"scss","path":"./src/scss","statSize":4308,"groups":[{"id":null,"label":"app.scss","path":"./src/scss/app.scss","statSize":4308}],"parsedSize":0,"gzipSize":0}],"parsedSize":10343,"gzipSize":3233}]}];
window.defaultSizes = "parsed";
</script>
</body>

View File

@ -1,6 +1,6 @@
{
"name": "@a2nt/meta-lightbox-js",
"version": "4.2.2",
"version": "4.2.3",
"description": "Universal lightbox",
"author": "Tony Air <tony@twma.pro>",
"license": "BSD-2-Clause",

View File

@ -41,4 +41,4 @@ export default {
FORM_STEPPED_FIRST_STEP: 'form-first-step',
FORM_STEPPED_LAST_STEP: 'form-last-step',
FORM_FIELDS: 'input,textarea,select',
};
}

View File

@ -4,38 +4,38 @@
*
*/
import Events from './_events';
import MetaWindow from './window';
import Events from './_events'
import MetaWindow from './window'
const container = document.getElementById('MetaLightboxApp');
const container = document.getElementById('MetaLightboxApp')
if (!container) {
console.log(`MetaWindow: missing container #MetaLightboxApp`);
console.log('MetaWindow: missing container #MetaLightboxApp')
}
const init = () => {
let ui = window.MetaWindow;
let ui = window.MetaWindow
if (typeof ui === 'undefined') {
ui = new MetaWindow({
target: container,
});
})
window.MetaWindow = ui;
window.MetaWindow = ui
}
ui.init();
};
ui.init()
}
window.addEventListener(`${Events.LOADEDANDREADY}`, init);
window.addEventListener(`${Events.AJAX}`, init);
window.addEventListener(`MetaWindow.initLinks`, init);
window.addEventListener(`${Events.LOADEDANDREADY}`, init)
window.addEventListener(`${Events.AJAX}`, init)
window.addEventListener('MetaWindow.initLinks', init)
/*function importAll(r) {
/* function importAll(r) {
return r.keys().map(r);
}
const images = importAll(
require.context('../img/', false, /\.(png|jpe?g|svg)$/),
);*/
); */
export default MetaWindow;
export default MetaWindow

View File

@ -1,2 +1,2 @@
import styles from "../scss/window.scss";
import "./app.js";
import '../scss/window.scss'
import './app.js'

View File

@ -4,16 +4,16 @@
*
*/
import ui from "./app";
import "../scss/app.scss";
import "../scss/test-build.scss";
import ui from './app'
import '../scss/app.scss'
import '../scss/test-build.scss'
/*function importAll(r) {
/* function importAll(r) {
return r.keys().map(r);
}
const images = importAll(
require.context('../img/', false, /\.(png|jpe?g|svg)$/),
);*/
); */
export default ui;
export default ui

View File

@ -1,8 +1,8 @@
/*
* Lightbox window
*/
import Events from './_events';
const W = window;
// import Events from './_events'
const W = window
class MetaWindow {
state = {
@ -16,160 +16,160 @@ class MetaWindow {
current: null,
target: null,
extraClass: null,
};
cleanLinks() {
document.querySelectorAll(`[data-toggle="lightbox"]`)
.forEach((el) => {
el.classList.remove('loading');
});
}
collectGaleries(gallery) {
const ui = this;
cleanLinks () {
document.querySelectorAll('[data-toggle="lightbox"]')
.forEach((el) => {
el.classList.remove('loading')
})
}
collectGaleries (gallery) {
const ui = this
if (!gallery) {
return;
return
}
ui.state.collections[gallery] = [];
ui.state.collections[gallery] = []
document
.querySelectorAll(
`[data-toggle="lightbox"][data-gallery="${gallery}"]`
)
.forEach((el) => {
ui.state.collections[gallery].push(el);
});
ui.state.collections[gallery].push(el)
})
}
toggle(el) {
const ui = this;
toggle (el) {
const ui = this
ui.cleanLinks();
ui.cleanLinks()
const link = el.getAttribute('href') || el.getAttribute('data-href');
const embed = el.getAttribute('data-embed');
el.classList.add('loading');
ui.state.current = el;
const link = el.getAttribute('href') || el.getAttribute('data-href')
const embed = el.getAttribute('data-embed')
el.classList.add('loading')
ui.state.current = el
const title = el.getAttribute('data-title');
const title = el.getAttribute('data-title')
if (title) {
ui.setCaption(title);
ui.setCaption(title)
}
if (embed) {
ui.embed(link);
ui.embed(link)
} else {
ui.load(link);
ui.load(link)
}
ui.addExtraClass(el.getAttribute('data-lightbox-class'));
ui.addExtraClass(el.getAttribute('data-lightbox-class'))
}
init() {
const ui = this;
console.log(`MetaWindow: [links] init`);
init () {
const ui = this
console.log('MetaWindow: [links] init')
document
.querySelectorAll(`[data-toggle="lightbox"],[data-gallery]`)
.querySelectorAll('[data-toggle="lightbox"],[data-gallery]')
.forEach((el) => {
const gallery = el.getAttribute('data-gallery');
ui.collectGaleries(gallery);
const gallery = el.getAttribute('data-gallery')
ui.collectGaleries(gallery)
// click handler
el.addEventListener('click', (e) => {
e.preventDefault();
console.log(`MetaWindow: [link] click`);
e.preventDefault()
console.log('MetaWindow: [link] click')
const el = e.currentTarget;
ui.toggle(el);
});
});
const el = e.currentTarget
ui.toggle(el)
})
})
}
constructor(
constructor (
state = {
shown: false,
},
action
) {
const ui = this;
const ui = this
ui.name = ui.constructor.name;
console.log(`${ui.name}: init`);
ui.name = ui.constructor.name
console.log(`${ui.name}: init`)
ui.setState(state);
ui.setState(state)
switch (action) {
case 'show':
ui.hide();
break;
ui.hide()
break
case 'hide':
ui.hide();
break;
ui.hide()
break
}
W.dispatchEvent(new Event(`{ui.name}.init`));
W.dispatchEvent(new Event('{ui.name}.init'))
}
show = () => {
const ui = this;
console.log(`${ui.name}: show`);
const ui = this
console.log(`${ui.name}: show`)
ui.setState({
shown: true,
});
})
W.dispatchEvent(new Event(`{ui.name}.show`));
};
W.dispatchEvent(new Event('{ui.name}.show'))
}
hide = () => {
const ui = this;
const ui = this
console.log(`${ui.name}: hide`);
console.log(`${ui.name}: hide`)
ui.setState({
shown: false,
});
W.dispatchEvent(new Event(`{ui.name}.hide`));
};
})
W.dispatchEvent(new Event('{ui.name}.hide'))
}
next = () => {
const ui = this;
const el = ui.state.current;
const gallery = el.getAttribute('data-gallery');
const ui = this
const el = ui.state.current
const gallery = el.getAttribute('data-gallery')
let i = ui._currIndex();
let i = ui._currIndex()
if (i < ui.state.collections[gallery].length - 1) {
i++;
i++
} else {
i = 0;
i = 0
}
ui.state.collections[gallery][i].click();
ui.state.collections[gallery][i].click()
console.log(`${ui.name}: next`);
W.dispatchEvent(new Event(`{ui.name}.next`));
};
console.log(`${ui.name}: next`)
W.dispatchEvent(new Event('{ui.name}.next'))
}
prev = () => {
const ui = this;
const el = ui.state.current;
const gallery = el.getAttribute('data-gallery');
const ui = this
const el = ui.state.current
const gallery = el.getAttribute('data-gallery')
let i = ui._currIndex();
let i = ui._currIndex()
if (i > 0) {
i--;
i--
} else {
i = ui.state.collections[gallery].length - 1;
i = ui.state.collections[gallery].length - 1
}
ui.state.collections[gallery][i].click();
ui.state.collections[gallery][i].click()
console.log(`${ui.name}: prev`);
W.dispatchEvent(new Event(`{ui.name}.prev`));
};
console.log(`${ui.name}: prev`)
W.dispatchEvent(new Event('{ui.name}.prev'))
}
reset = () => {
const ui = this;
const ui = this
ui.setState({
content: '',
@ -178,30 +178,30 @@ class MetaWindow {
loading: false,
error: false,
embed: false,
//collections: [],
//current: null,
//target: null,
});
};
// collections: [],
// current: null,
// target: null,
})
}
load = (link) => {
const ui = this;
const ui = this
ui.reset();
ui.reset()
ui.setState({
loading: true,
});
ui.show();
})
ui.show()
fetch(link).then((resp) => {
window.fetch(link).then((resp) => {
// handle success
const type = resp.headers.get("content-type");
console.log(resp);
const type = resp.headers.get('content-type')
console.log(resp)
console.log(
`${ui.name}: response content-type: ${type}`
);
const json = false;
)
const json = false
switch (type) {
case 'image/jpeg':
@ -211,38 +211,35 @@ class MetaWindow {
case 'image/gif':
case 'image/tiff':
case 'image/webp':
// irregular types:
case 'image/jpg':
case 'image/svg':
//json = JSON.parse(ui._abToString(resp.data));
// json = JSON.parse(ui._abToString(resp.data));
resp.arrayBuffer().then((buffer) => {
ui.setContent(
`<img src="data:${type};base64,${ui._imageEncode(buffer)}" />`,
`meta-${ui.name}--image`
);
});
break;
)
})
break
case 'application/json':
case 'application/ld+json':
// irregular types:
case 'application/json; charset=UTF-8':
ui.setContent(`${json['Content']}`, [
ui.setContent(`${json.Content}`, [
`meta-${ui.name}--text`,
`meta-${ui.name}--html`,
`meta-${ui.name}--json`,
]);
])
break;
break
case 'video/mp4':
ui.setContent(`<video controls autoplay><source src="${link}" type="video/mp4">Your browser does not support the video tag.</video>`, [
`meta-${ui.name}--image`,
`meta-${ui.name}--video`,
]);
break;
])
break
case 'text/html':
case 'application/xhtml+xml':
case 'text/plain':
// irregular types:
case 'text/html; charset=UTF-8':
case 'application/xhtml+xml; charset=UTF-8':
case 'text/plain; charset=UTF-8':
@ -250,260 +247,258 @@ class MetaWindow {
`meta-${ui.name}--text`,
`meta-${ui.name}--html`,
`meta-${ui.name}--pajax`,
]);
break;
])
break
default:
console.warn(`${ui.name}: Unknown response content-type!`);
break;
console.warn(`${ui.name}: Unknown response content-type!`)
break
}
W.dispatchEvent(new Event(`{ui.name}.loaded`));
W.dispatchEvent(new Event('{ui.name}.loaded'))
})
.catch((error) => {
console.error(error);
console.error(error)
let msg = '';
let msg = ''
if (error.response) {
switch (error.response.status) {
case 404:
msg = 'Not Found.';
break;
msg = 'Not Found.'
break
case 500:
msg = 'Server issue, please try again latter.';
break;
msg = 'Server issue, please try again latter.'
break
default:
msg = 'Something went wrong.';
break;
msg = 'Something went wrong.'
break
}
} else if (error.request) {
msg = 'No response received';
msg = 'No response received'
} else {
console.warn('Error', error.message);
console.warn('Error', error.message)
}
ui.setState({
error: msg,
});
})
W.dispatchEvent(new Event(`{ui.name}.error`));
W.dispatchEvent(new Event('{ui.name}.error'))
})
.then(() => {
ui.setState({
loading: false,
});
})
setTimeout(() => {
ui.state.current.classList.remove('loading');
}, 1000);
});
};
ui.state.current.classList.remove('loading')
}, 1000)
})
}
_currIndex = () => {
const ui = this;
const el = ui.state.current;
const gallery = el.getAttribute('data-gallery');
const ui = this
const el = ui.state.current
const gallery = el.getAttribute('data-gallery')
return ui.state.collections[gallery].indexOf(el);
};
return ui.state.collections[gallery].indexOf(el)
}
embed = (link) => {
const ui = this;
console.log(`${ui.name}: embed`);
const ui = this
console.log(`${ui.name}: embed`)
ui.reset();
ui.reset()
ui.setState({
embed: link,
loading: false,
type: [`meta-${ui.name}--embed`, `meta-${ui.name}--video`],
});
})
ui.show();
};
ui.show()
}
setCaption = (title) => {
const ui = this;
console.log(`${ui.name}: setCaption`);
const ui = this
console.log(`${ui.name}: setCaption`)
ui.state.caption = title;
};
ui.state.caption = title
}
addExtraClass = (cls) => {
const ui = this;
const ui = this
if (!cls || !cls.length) {
return;
return
}
console.log(`${ui.name}: addExtraClass(${cls})`);
ui.state.extraClass = cls;
};
console.log(`${ui.name}: addExtraClass(${cls})`)
ui.state.extraClass = cls
}
getCaption = () => {
const ui = this;
return ui.state.caption;
};
const ui = this
return ui.state.caption
}
/*_abToString = (arrayBuffer) => {
/* _abToString = (arrayBuffer) => {
return String.fromCharCode.apply(null, new Uint8Array(arrayBuffer));
};*/
}; */
_imageEncode = (buffer) => {
let binary = '';
const bytes = [].slice.call(new Uint8Array(buffer));
bytes.forEach((b) => binary += String.fromCharCode(b));
return window.btoa(binary);
};
let binary = ''
const bytes = [].slice.call(new Uint8Array(buffer))
bytes.forEach((b) => {
binary += String.fromCharCode(b)
})
return window.btoa(binary)
}
setContent = (html, type) => {
const ui = this;
console.log(`${ui.name}: setContent`);
const ui = this
console.log(`${ui.name}: setContent`)
let typeArr = type
? type
: [`meta-${ui.name}--html`, `meta-${ui.name}--text`];
let typeArr = type || [`meta-${ui.name}--html`, `meta-${ui.name}--text`]
if (!Array.isArray(typeArr)) {
typeArr = type.split(' ');
typeArr = type.split(' ')
}
ui.setState({
content: html,
type: typeArr,
});
};
getHtml = () => {
const ui = this;
if (ui.state.embed) {
const youtubeEmbed = require('youtube-embed');
const embedLink = youtubeEmbed(ui.state.embed);
ui.state.content = `<iframe width="600" height="380" src="${embedLink}" frameborder="0"></iframe>`;
}
return ui.state.content;
};
setState(state) {
const ui = this;
ui.state = Object.assign({}, ui.state, state);
ui.render();
})
}
render() {
const ui = this;
const name = ui.name;
getHtml = () => {
const ui = this
const navs = null;
const el = ui.state.current;
if (ui.state.embed) {
const youtubeEmbed = require('youtube-embed')
const embedLink = youtubeEmbed(ui.state.embed)
ui.state.content = `<iframe width="600" height="380" src="${embedLink}" frameborder="0"></iframe>`
}
ui.state.target.innerHTML = '';
const meta = document.createElement('div');
meta.classList.add(`meta-${name}`);
meta.classList.add(...ui.state.type);
ui.state.target.append(meta);
return ui.state.content
}
const metaOverlay = document.createElement('div');
metaOverlay.classList.add(`meta-${name}-overlay`);
setState (state) {
const ui = this
ui.state = Object.assign({}, ui.state, state)
ui.render()
}
render () {
const ui = this
const name = ui.name
const el = ui.state.current
ui.state.target.innerHTML = ''
const meta = document.createElement('div')
meta.classList.add(`meta-${name}`)
meta.classList.add(...ui.state.type)
ui.state.target.append(meta)
const metaOverlay = document.createElement('div')
metaOverlay.classList.add(`meta-${name}-overlay`)
if (ui.state.shown) {
metaOverlay.classList.add(`meta-${name}-overlay--open`);
metaOverlay.classList.add(`meta-${name}-overlay--open`)
}
if (ui.state.loading) {
metaOverlay.classList.add(`meta-${name}-overlay--loading`);
metaOverlay.classList.add(`meta-${name}-overlay--loading`)
}
if (ui.state.error) {
metaOverlay.classList.add(`meta-${name}-overlay--error`);
metaOverlay.classList.add(`meta-${name}-overlay--error`)
}
meta.append(metaOverlay);
meta.append(metaOverlay)
const metaContent = document.createElement('div');
metaContent.classList.add('meta-content');
metaOverlay.append(metaContent);
const metaContent = document.createElement('div')
metaContent.classList.add('meta-content')
metaOverlay.append(metaContent)
const btnClose = document.createElement('button');
btnClose.classList.add('meta-nav', 'meta-close', 'a');
const btnClose = document.createElement('button')
btnClose.classList.add('meta-nav', 'meta-close', 'a')
btnClose.innerHTML =
'<i class="icon fa fas fa-times"></i>' +
' <span class="visually-hidden">Close</span>';
' <span class="visually-hidden">Close</span>'
btnClose.addEventListener('click', (e) => {
e.preventDefault();
ui.hide();
});
metaContent.append(btnClose);
e.preventDefault()
ui.hide()
})
metaContent.append(btnClose)
if (el) {
const gallery = el.getAttribute('data-gallery');
const gallery = el.getAttribute('data-gallery')
if (gallery && ui.state.collections[gallery].length > 1) {
const navs = document.createElement('nav');
navs.classList.add('meta-navs');
const navs = document.createElement('nav')
navs.classList.add('meta-navs')
const prevBtn = document.createElement('button');
const prevBtn = document.createElement('button')
prevBtn.classList.add(
'meta-nav',
'meta-nav-arrow',
'meta-nav-arrow__prev',
'a'
);
)
prevBtn.innerHTML =
'<i class="icon fa fas fa-chevron-left"></i>' +
' <span class="visually-hidden">Previous</span>';
' <span class="visually-hidden">Previous</span>'
prevBtn.addEventListener('click', (e) => {
e.preventDefault();
ui.prev();
});
navs.append(prevBtn);
e.preventDefault()
ui.prev()
})
navs.append(prevBtn)
const nextBtn = document.createElement('button');
const nextBtn = document.createElement('button')
nextBtn.classList.add(
'meta-nav',
'meta-nav-arrow',
'meta-nav-arrow__next',
'a'
);
)
nextBtn.innerHTML =
'<i class="icon fa fas fa-chevron-right"></i>' +
' <span class="visually-hidden">Next</span>';
' <span class="visually-hidden">Next</span>'
nextBtn.addEventListener('click', (e) => {
e.preventDefault();
ui.next();
});
navs.append(nextBtn);
e.preventDefault()
ui.next()
})
navs.append(nextBtn)
metaContent.append(navs);
metaContent.append(navs)
}
}
const content = document.createElement('section');
content.classList.add('meta-wrap', 'typography');
const content = document.createElement('section')
content.classList.add('meta-wrap', 'typography')
if (ui.state.extraClass) {
content.classList.add(ui.state.extraClass);
content.classList.add(ui.state.extraClass)
}
content.innerHTML = ui.getHtml();
metaContent.append(content);
content.innerHTML = ui.getHtml()
metaContent.append(content)
if (ui.state.error) {
const error = document.createElement('div');
error.classList.add('meta-error');
error.innerHTML = ui.state.error;
metaContent.append(error);
const error = document.createElement('div')
error.classList.add('meta-error')
error.innerHTML = ui.state.error
metaContent.append(error)
} else if (ui.state.caption) {
const caption = document.createElement('div');
caption.classList.add('meta-caption');
caption.innerHTML = ui.getCaption();
metaContent.append(caption);
const caption = document.createElement('div')
caption.classList.add('meta-caption')
caption.innerHTML = ui.getCaption()
metaContent.append(caption)
}
// update fontawesome dome
if (typeof window.FontAwesome !== 'undefined') {
window.FontAwesome.dom.i2svg();
window.FontAwesome.dom.i2svg()
}
return ui;
return ui
}
}
export default MetaWindow;
export default MetaWindow