@pluginjs/lightbox
Advanced tools
Comparing version 0.7.31 to 0.8.2
/*! | ||
* @pluginjs/lightbox v0.7.31 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* @pluginjs/lightbox v0.8.2 (https://pluginjs.com) | ||
* Copyright 2020 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
@@ -5,0 +5,0 @@ */ |
/*! | ||
* @pluginjs/lightbox v0.7.31 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* @pluginjs/lightbox v0.8.2 (https://pluginjs.com) | ||
* Copyright 2020 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
*/ | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var Component=_interopDefault(require("@pluginjs/component")),templateEngine=_interopDefault(require("@pluginjs/template")),classes$1=require("@pluginjs/classes"),dom=require("@pluginjs/dom"),events$1=require("@pluginjs/events"),utils=require("@pluginjs/utils"),decorator=require("@pluginjs/decorator"),Fullscreen=_interopDefault(require("@pluginjs/fullscreen")),SLIDER=_interopDefault(require("@pluginjs/slider")),THUMBS=_interopDefault(require("@pluginjs/thumbnails")),Keyboard=_interopDefault(require("@pluginjs/keyboard")),Breakpoints=_interopDefault(require("@pluginjs/breakpoints"));function _defineProperty(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function ownKeys(e,s){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),t.push.apply(t,i)}return t}function _objectSpread2(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{};s%2?ownKeys(Object(t),!0).forEach((function(s){_defineProperty(e,s,t[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))}))}return e}var _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_class,namespace="lightbox",events={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},classes={NAMESPACE:"pj-".concat(namespace),CONTAINER:"{namespace}-container",OVERLAY:"{namespace}-overlay",TOPBAR:"{namespace}-topbar",COUNTER:"{namespace}-counter",PLAY:"{namespace}-play",START:"{namespace}-start",STOP:"{namespace}-stop",FULLSCREEN:"{namespace}-fullscreen",ISFULL:"{namespace}-isfull",FULL:"{namespace}-full",MINI:"{namespace}-mini",DOWNLOAD:"{namespace}-download",CLOSE:"{namespace}-close",FOOTER:"{namespace}-footer",CAPTION:"{namespace}-caption",TITLE:"{namespace}-title",SLIDER:"{namespace}-slider",THUMBS:"{namespace}-thumbs",VERTICAL:"{namespace}-vertical",AUTOPLAY:"{namespace}-autoplay",SHOW:"{namespace}-show",ACTIVE:"{namespace}-active",DISABLED:"{namespace}-disabled",RESPONSIVE:"{namespace}-responsive"},methods=["enable","disable","destroy","show","hide"],defaults={templates:{container:()=>'<div class="{classes.CONTAINER}"></div>',overlay:()=>'<div class="{classes.OVERLAY}"></div>',topbar:()=>'<div class="{classes.TOPBAR}"></div>',counter:()=>'<div class="{classes.COUNTER}"></div>',play:()=>'<span class="{classes.PLAY}"><i class="{classes.START} pj-icon pj-icon-caret-right"></i><i class="{classes.STOP} pj-icon pj-icon-pause"></i></span>',fullScreen:()=>'<span class="{classes.FULLSCREEN}"><i class="{classes.FULL} pj-icon pj-icon-maximize"></i><i class="{classes.MINI} pj-icon pj-icon-minimize"></i></span>',download:()=>'<span class="{classes.DOWNLOAD}"><i class="pj-icon pj-icon-download"></i></span>',close:()=>'<span class="{classes.CLOSE}"><i class="pj-icon pj-icon-remove"></i></span>',footer:()=>'<div class="{classes.FOOTER}"></div>',caption:()=>'<div class="{classes.CAPTION}"></div>',title:()=>'<div class="{classes.TITLE}">{title}</div>',slider:()=>'<div class="{classes.SLIDER}"></div>',box:()=>'<div class="{classes.BOX}"></div>',card:()=>'<div class="{classes.CARD}"><div class="{classes.LOADER}"></div></div>',image:()=>'<img class="{classes.IMAGE} {classes.CONTENT}">',video:()=>'<div class="{classes.VIDEOWRAP} {classes.CONTENT}"><img class="{classes.IMAGE}"><div class="{classes.VIDEO}"></div></div>',iframe:()=>'<iframe class="{classes.IFRAME} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>',map:()=>'<iframe class="{classes.MAP} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>',inline:()=>'<div class="{classes.INLINE} {classes.CONTENT}"></div>',thumbs:()=>'<div class="{classes.THUMBS}"></div>',inner:()=>'<div class="{classes.INNER}"></div>'},theme:null,data:"html",delegate:"a",actions:["play","fullScreen","download","close"],overlayClose:!0,counter:!0,arrows:{},caption:!0,hasThumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"},slider:{},thumb:{}},dependencies=["slider","thumbnails","arrows","anime","hammer"];class Overlay{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("overlay"),dom.append(this.element,this.instance.container),this.bind()}bind(){events$1.bindEvent(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){events$1.removeEvent(this.instance.eventName("click"),this.element)}}class Topbar{constructor(e){this.instance=e,this.classes=e.classes,this.initialize()}initialize(){this.instance.options.counter&&this.instance.options.actions.unshift("counter"),this.element=this.instance.getElement("topbar"),this.instance.options.actions.forEach(e=>{this[e]=this.instance.getElement(e),dom.append(this[e],this.element)}),this.setCounter(this.instance.active),dom.append(this.element,this.instance.container),this.fullscreen=new Fullscreen,this.bind()}bind(){utils.compose(events$1.bindEvent(this.instance.eventName("click"),".".concat(this.classes.PLAY),e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),events$1.bindEvent(this.instance.eventName("click"),".".concat(this.classes.FULLSCREEN),e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),events$1.bindEvent(this.instance.eventName("click"),".".concat(this.classes.DOWNLOAD),e=>{e.preventDefault(),e.stopPropagation();var s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),events$1.bindEvent(this.instance.eventName("click"),".".concat(this.classes.CLOSE),e=>{e.preventDefault(),e.stopPropagation(),this.off()}))(this.element)}autoPlay(){this.instance.is("play")?this.stop():(this.start(),events$1.bindEventOnce(this.instance.eventName("mousedown"),e=>{dom.closest(".".concat(this.classes.PLAY),e.target)!==this.play&&this.stop()},this.instance.container))}start(){this.instance.slider.plugin.intervalToggle(!0),classes$1.addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!1),classes$1.removeClass(this.classes.AUTOPLAY,this.instance.container),this.instance.leave("play")}off(){this.instance.hide(),this.fullscreen.isFullscreen()&&this.mini()}full(){this.fullscreen.request(),classes$1.addClass(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),classes$1.removeClass(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="blob",t.onload=()=>{200===t.status&&s(t.response)},t.send()})}saveAs(e,s){if(window.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(e,s);else{var t=document.createElement("a"),i=document.querySelector("body");t.href=window.URL.createObjectURL(e),t.download=s,t.style.display="none",i.appendChild(t),t.click(),i.removeChild(t),window.URL.revokeObjectURL(t.href)}}down(e,s){this.getBlob(e).then(e=>{this.saveAs(e,s)})}unbind(){events$1.removeEvent(this.instance.eventName("click"),this.close)}setCounter(e){this.instance.options.counter&&(this.counter.innerHTML="".concat(e+1," / ").concat(this.instance.length))}}class Caption{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.caption&&(this.element=this.instance.getElement("caption"),this.setInfo(this.instance.data[this.instance.active]),dom.append(this.element,this.instance.footer))}setInfo(e){if(this.instance.options.caption){var s=this.instance.getElement("title",e);this.element.innerHTML="",dom.append(s,this.element)}}}class Slider{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("slider"),dom.append(this.element,this.instance.container),setTimeout(()=>{this.initSlider()},0)}initSlider(){var e=this.instance;this.plugin=SLIDER.of(this.element,utils.deepMerge(e.options,e.options.slider,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.hasThumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class Thumbs{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.hasThumbs&&(this.element=this.instance.getElement("thumbs"),dom.append(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){var e=this.instance;this.plugin=THUMBS.of(this.element,utils.deepMerge(e.options,e.options.thumb,{data:e.processData(e.data,"thumb"),current:e.active,mode:"center",onChange(){e.slider.plugin.go(this.current,!1),e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current])}}))}}var Lightbox=(_dec=decorator.themeable())(_class=(_dec2=decorator.styleable(classes))(_class=(_dec3=decorator.eventable(events))(_class=(_dec4=decorator.stateable())(_class=(_dec5=decorator.optionable(defaults,!0))(_class=(_dec6=decorator.register(namespace,{methods:methods,dependencies:dependencies}))(_class=class extends Component{constructor(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),this.setupOptions(s),this.setupClasses(),this.setupStates(),this.initialize()}initialize(){!this.options.data||this.options.data.length<0||(classes$1.addClass(this.classes.NAMESPACE,this.element),this.options.theme&&classes$1.addClass(this.getThemeClass(),this.element),this.data="html"===this.options.data?this.parseHtml():this.options.data,this.length=this.data.length,this.bind(),this.options.breakpoint&&this.initBreakpoints(),this.options.keyboard&&(this.keyboard=Keyboard()),this.enter("initialized"),this.trigger(events.READY))}initBreakpoints(){if(Breakpoints.init(),Breakpoints.all().includes(this.options.breakpoint)){var e=this.options.breakpoint,s=this;Breakpoints.is("".concat(e,"-"))&&classes$1.addClass(this.classes.RESPONSIVE,this.element),Breakpoints.to(e,{enter(){classes$1.addClass(s.classes.RESPONSIVE,s.element)},leave(){classes$1.removeClass(s.classes.RESPONSIVE,s.element)}})}}bind(){var e=this;events$1.bindEvent(this.eventName("click"),this.options.delegate,(function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()}),this.element)}unbind(){events$1.removeEvent(this.eventName("click"),this.element)}bindConatiner(){events$1.bindEvent(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();var s=e.target;(classes$1.hasClass(this.slider.plugin.classes.CARD,s)||classes$1.hasClass(this.classes.TOPBAR,s))&&this.hide()},this.container),this.keyboard&&(this.keyboard.on("down","esc",()=>{this.hide()}),this.keyboard.on("down","left",()=>{this.slider.plugin.prev()}),this.keyboard.on("down","right",()=>{this.slider.plugin.next()}))}unbindConatiner(){events$1.removeEvent(this.eventName("click"),this.container),this.keyboard&&this.keyboard.off("down","esc,left, right")}open(){this.is("generate")?this.initShow(this.active):this.generate(),this.show()}show(){classes$1.addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){classes$1.removeClass(this.classes.SHOW,this.container),this.unbindConatiner(),this.topbar.mini(),this.leave("show")}initShow(e){this.slider.plugin.reset(e),this.topbar.setCounter(e),this.caption.setInfo(this.data[e]),this.options.hasThumbs&&this.thumbs.plugin.go(e,!1,!1)}generate(){this.container=this.getElement("container"),this.footer=this.getElement("footer"),this.overlay=new Overlay(this),this.topbar=new Topbar(this),this.slider=new Slider(this),dom.append(this.footer,this.container),this.caption=new Caption(this),this.thumbs=new Thumbs(this),this.options.theme&&classes$1.addClass(this.getThemeClass(),this.container),dom.append(this.container,document.body),this.enter("generate")}getElement(e){for(var s,t=this.options.templates[e],i=arguments.length,n=new Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return s=templateEngine.render(t.call(this),utils.deepMerge({classes:this.classes},...n)),dom.parseHTML(s)}processData(e,s){var t=[];return e.forEach(e=>{var i={src:e[s]};i=utils.deepMerge(i,e),t.push(i)}),t}parseHtml(){var e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;var i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")},n=Object.entries(s.dataset).reduce((e,s)=>{var[t,i]=s;try{return _objectSpread2({},e,{[t]:JSON.parse('{"data": '.concat(i.replace(/'/g,'"'),"}")).data})}catch(s){return _objectSpread2({},e,{[t]:i})}},{});i=utils.deepMerge(i,n),e.push(i)}),e}enable(){this.slider.enable(),this.thumbs.enable()}disable(){this.slider.disable(),this.thumbs.disable()}destroy(){this.slider.destroy(),this.thumbs.destroy()}})||_class)||_class)||_class)||_class)||_class)||_class;module.exports=Lightbox; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var s=e(require("@pluginjs/component")),t=e(require("@pluginjs/template")),i=require("@pluginjs/classes"),n=require("@pluginjs/dom"),a=require("@pluginjs/events"),l=require("@pluginjs/utils"),r=require("@pluginjs/decorator"),c=e(require("@pluginjs/fullscreen")),o=e(require("@pluginjs/slider")),h=e(require("@pluginjs/thumbnails")),p=e(require("@pluginjs/keyboard")),d=e(require("@pluginjs/breakpoints"));function u(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function m(e,s){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),t.push.apply(t,i)}return t}function v(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{};s%2?m(Object(t),!0).forEach((function(s){u(e,s,t[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):m(Object(t)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))}))}return e}var b,g={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},E={NAMESPACE:"pj-".concat("lightbox"),CONTAINER:"{namespace}-container",OVERLAY:"{namespace}-overlay",TOPBAR:"{namespace}-topbar",COUNTER:"{namespace}-counter",PLAY:"{namespace}-play",START:"{namespace}-start",STOP:"{namespace}-stop",FULLSCREEN:"{namespace}-fullscreen",ISFULL:"{namespace}-isfull",FULL:"{namespace}-full",MINI:"{namespace}-mini",DOWNLOAD:"{namespace}-download",CLOSE:"{namespace}-close",FOOTER:"{namespace}-footer",CAPTION:"{namespace}-caption",TITLE:"{namespace}-title",SLIDER:"{namespace}-slider",THUMBS:"{namespace}-thumbs",VERTICAL:"{namespace}-vertical",AUTOPLAY:"{namespace}-autoplay",SHOW:"{namespace}-show",ACTIVE:"{namespace}-active",DISABLED:"{namespace}-disabled",RESPONSIVE:"{namespace}-responsive"},f={templates:{container:()=>'<div class="{classes.CONTAINER}"></div>',overlay:()=>'<div class="{classes.OVERLAY}"></div>',topbar:()=>'<div class="{classes.TOPBAR}"></div>',counter:()=>'<div class="{classes.COUNTER}"></div>',play:()=>'<span class="{classes.PLAY}"><i class="{classes.START} pj-icon pj-icon-caret-right"></i><i class="{classes.STOP} pj-icon pj-icon-pause"></i></span>',fullScreen:()=>'<span class="{classes.FULLSCREEN}"><i class="{classes.FULL} pj-icon pj-icon-maximize"></i><i class="{classes.MINI} pj-icon pj-icon-minimize"></i></span>',download:()=>'<span class="{classes.DOWNLOAD}"><i class="pj-icon pj-icon-download"></i></span>',close:()=>'<span class="{classes.CLOSE}"><i class="pj-icon pj-icon-remove"></i></span>',footer:()=>'<div class="{classes.FOOTER}"></div>',caption:()=>'<div class="{classes.CAPTION}"></div>',title:()=>'<div class="{classes.TITLE}">{title}</div>',slider:()=>'<div class="{classes.SLIDER}"></div>',box:()=>'<div class="{classes.BOX}"></div>',card:()=>'<div class="{classes.CARD}"><div class="{classes.LOADER}"></div></div>',image:()=>'<img class="{classes.IMAGE} {classes.CONTENT}">',video:()=>'<div class="{classes.VIDEOWRAP} {classes.CONTENT}"><img class="{classes.IMAGE}"><div class="{classes.VIDEO}"></div></div>',iframe:()=>'<iframe class="{classes.IFRAME} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>',map:()=>'<iframe class="{classes.MAP} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>',inline:()=>'<div class="{classes.INLINE} {classes.CONTENT}"></div>',thumbs:()=>'<div class="{classes.THUMBS}"></div>',inner:()=>'<div class="{classes.INNER}"></div>'},theme:null,data:"html",delegate:"a",actions:["play","fullScreen","download","close"],overlayClose:!0,counter:!0,arrows:{},caption:!0,hasThumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"},slider:{},thumb:{}};class O{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("overlay"),n.append(this.element,this.instance.container),this.bind()}bind(){a.bindEvent(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){a.removeEvent(this.instance.eventName("click"),this.element)}}class y{constructor(e){this.instance=e,this.classes=e.classes,this.initialize()}initialize(){this.instance.options.counter&&this.instance.options.actions.unshift("counter"),this.element=this.instance.getElement("topbar"),this.instance.options.actions.forEach(e=>{this[e]=this.instance.getElement(e),n.append(this[e],this.element)}),this.setCounter(this.instance.active),n.append(this.element,this.instance.container),this.fullscreen=new c,this.bind()}bind(){l.compose(a.bindEvent(this.instance.eventName("click"),".".concat(this.classes.PLAY),e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),a.bindEvent(this.instance.eventName("click"),".".concat(this.classes.FULLSCREEN),e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),a.bindEvent(this.instance.eventName("click"),".".concat(this.classes.DOWNLOAD),e=>{e.preventDefault(),e.stopPropagation();var s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),a.bindEvent(this.instance.eventName("click"),".".concat(this.classes.CLOSE),e=>{e.preventDefault(),e.stopPropagation(),this.off()}))(this.element)}autoPlay(){this.instance.is("play")?this.stop():(this.start(),a.bindEventOnce(this.instance.eventName("mousedown"),e=>{n.closest(".".concat(this.classes.PLAY),e.target)!==this.play&&this.stop()},this.instance.container))}start(){this.instance.slider.plugin.intervalToggle(!0),i.addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!1),i.removeClass(this.classes.AUTOPLAY,this.instance.container),this.instance.leave("play")}off(){this.instance.hide(),this.fullscreen.isFullscreen()&&this.mini()}full(){this.fullscreen.request(),i.addClass(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),i.removeClass(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="blob",t.onload=()=>{200===t.status&&s(t.response)},t.send()})}saveAs(e,s){if(window.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(e,s);else{var t=document.createElement("a"),i=document.querySelector("body");t.href=window.URL.createObjectURL(e),t.download=s,t.style.display="none",i.appendChild(t),t.click(),i.removeChild(t),window.URL.revokeObjectURL(t.href)}}down(e,s){this.getBlob(e).then(e=>{this.saveAs(e,s)})}unbind(){a.removeEvent(this.instance.eventName("click"),this.close)}setCounter(e){this.instance.options.counter&&(this.counter.innerHTML="".concat(e+1," / ").concat(this.instance.length))}}class T{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.caption&&(this.element=this.instance.getElement("caption"),this.setInfo(this.instance.data[this.instance.active]),n.append(this.element,this.instance.footer))}setInfo(e){if(this.instance.options.caption){var s=this.instance.getElement("title",e);this.element.innerHTML="",n.append(s,this.element)}}}class C{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("slider"),n.append(this.element,this.instance.container),setTimeout(()=>{this.initSlider()},0)}initSlider(){var e=this.instance;this.plugin=o.of(this.element,l.deepMerge(e.options,e.options.slider,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.hasThumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class N{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.hasThumbs&&(this.element=this.instance.getElement("thumbs"),n.append(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){var e=this.instance;this.plugin=h.of(this.element,l.deepMerge(e.options,e.options.thumb,{data:e.processData(e.data,"thumb"),current:e.active,mode:"center",onChange(){e.slider.plugin.go(this.current,!1),e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current])}}))}}var A=r.themeable()(b=r.styleable(E)(b=r.eventable(g)(b=r.stateable()(b=r.optionable(f,!0)(b=r.register("lightbox",{methods:["enable","disable","destroy","show","hide"],dependencies:["slider","thumbnails","arrows","anime","hammer"]})(b=class extends s{constructor(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),this.setupOptions(s),this.setupClasses(),this.setupStates(),this.initialize()}initialize(){!this.options.data||this.options.data.length<0||(i.addClass(this.classes.NAMESPACE,this.element),this.options.theme&&i.addClass(this.getThemeClass(),this.element),this.data="html"===this.options.data?this.parseHtml():this.options.data,this.length=this.data.length,this.bind(),this.options.breakpoint&&this.initBreakpoints(),this.options.keyboard&&(this.keyboard=p()),this.enter("initialized"),this.trigger(g.READY))}initBreakpoints(){if(d.init(),d.all().includes(this.options.breakpoint)){var e=this.options.breakpoint,s=this;d.is("".concat(e,"-"))&&i.addClass(this.classes.RESPONSIVE,this.element),d.to(e,{enter(){i.addClass(s.classes.RESPONSIVE,s.element)},leave(){i.removeClass(s.classes.RESPONSIVE,s.element)}})}}bind(){var e=this;a.bindEvent(this.eventName("click"),this.options.delegate,(function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()}),this.element)}unbind(){a.removeEvent(this.eventName("click"),this.element)}bindConatiner(){a.bindEvent(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();var s=e.target;(i.hasClass(this.slider.plugin.classes.CARD,s)||i.hasClass(this.classes.TOPBAR,s))&&this.hide()},this.container),this.keyboard&&(this.keyboard.on("down","esc",()=>{this.hide()}),this.keyboard.on("down","left",()=>{this.slider.plugin.prev()}),this.keyboard.on("down","right",()=>{this.slider.plugin.next()}))}unbindConatiner(){a.removeEvent(this.eventName("click"),this.container),this.keyboard&&this.keyboard.off("down","esc,left, right")}open(){this.is("generate")?this.initShow(this.active):this.generate(),this.show()}show(){i.addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){i.removeClass(this.classes.SHOW,this.container),this.unbindConatiner(),this.topbar.mini(),this.leave("show")}initShow(e){this.slider.plugin.reset(e),this.topbar.setCounter(e),this.caption.setInfo(this.data[e]),this.options.hasThumbs&&this.thumbs.plugin.go(e,!1,!1)}generate(){this.container=this.getElement("container"),this.footer=this.getElement("footer"),this.overlay=new O(this),this.topbar=new y(this),this.slider=new C(this),n.append(this.footer,this.container),this.caption=new T(this),this.thumbs=new N(this),this.options.theme&&i.addClass(this.getThemeClass(),this.container),n.append(this.container,document.body),this.enter("generate")}getElement(e){for(var s,i=this.options.templates[e],a=arguments.length,r=new Array(a>1?a-1:0),c=1;c<a;c++)r[c-1]=arguments[c];return s=t.render(i.call(this),l.deepMerge({classes:this.classes},...r)),n.parseHTML(s)}processData(e,s){var t=[];return e.forEach(e=>{var i={src:e[s]};i=l.deepMerge(i,e),t.push(i)}),t}parseHtml(){var e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;var i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")},n=Object.entries(s.dataset).reduce((e,s)=>{var[t,i]=s;try{return v({},e,{[t]:JSON.parse('{"data": '.concat(i.replace(/'/g,'"'),"}")).data})}catch(s){return v({},e,{[t]:i})}},{});i=l.deepMerge(i,n),e.push(i)}),e}enable(){this.slider.enable(),this.thumbs.enable()}disable(){this.slider.disable(),this.thumbs.disable()}destroy(){this.slider.destroy(),this.thumbs.destroy()}})||b)||b)||b)||b)||b)||b;module.exports=A; |
/*! | ||
* @pluginjs/lightbox v0.7.31 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* @pluginjs/lightbox v0.8.2 (https://pluginjs.com) | ||
* Copyright 2020 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
@@ -5,0 +5,0 @@ */ |
/*! | ||
* @pluginjs/lightbox v0.7.31 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* @pluginjs/lightbox v0.8.2 (https://pluginjs.com) | ||
* Copyright 2020 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
*/ | ||
import e from"@pluginjs/component";import s from"@pluginjs/template";import{addClass as t,removeClass as i,hasClass as n}from"@pluginjs/classes";import{append as a,closest as o,parseHTML as c}from"@pluginjs/dom";import{bindEvent as l,removeEvent as r,bindEventOnce as h}from"@pluginjs/events";import{compose as p,deepMerge as d}from"@pluginjs/utils";import{themeable as m,styleable as u,eventable as b,stateable as v,optionable as g,register as f}from"@pluginjs/decorator";import E from"@pluginjs/fullscreen";import O from"@pluginjs/slider";import T from"@pluginjs/thumbnails";import y from"@pluginjs/keyboard";import N from"@pluginjs/breakpoints";function A(e,s,t){return s in e?Object.defineProperty(e,s,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[s]=t,e}function L(e,s){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),t.push.apply(t,i)}return t}function S(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{};s%2?L(Object(t),!0).forEach((function(s){A(e,s,t[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):L(Object(t)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(t,s))}))}return e}var w,C={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},j={NAMESPACE:"pj-".concat("lightbox"),CONTAINER:"{namespace}-container",OVERLAY:"{namespace}-overlay",TOPBAR:"{namespace}-topbar",COUNTER:"{namespace}-counter",PLAY:"{namespace}-play",START:"{namespace}-start",STOP:"{namespace}-stop",FULLSCREEN:"{namespace}-fullscreen",ISFULL:"{namespace}-isfull",FULL:"{namespace}-full",MINI:"{namespace}-mini",DOWNLOAD:"{namespace}-download",CLOSE:"{namespace}-close",FOOTER:"{namespace}-footer",CAPTION:"{namespace}-caption",TITLE:"{namespace}-title",SLIDER:"{namespace}-slider",THUMBS:"{namespace}-thumbs",VERTICAL:"{namespace}-vertical",AUTOPLAY:"{namespace}-autoplay",SHOW:"{namespace}-show",ACTIVE:"{namespace}-active",DISABLED:"{namespace}-disabled",RESPONSIVE:"{namespace}-responsive"},P={templates:{container:()=>'<div class="{classes.CONTAINER}"></div>',overlay:()=>'<div class="{classes.OVERLAY}"></div>',topbar:()=>'<div class="{classes.TOPBAR}"></div>',counter:()=>'<div class="{classes.COUNTER}"></div>',play:()=>'<span class="{classes.PLAY}"><i class="{classes.START} pj-icon pj-icon-caret-right"></i><i class="{classes.STOP} pj-icon pj-icon-pause"></i></span>',fullScreen:()=>'<span class="{classes.FULLSCREEN}"><i class="{classes.FULL} pj-icon pj-icon-maximize"></i><i class="{classes.MINI} pj-icon pj-icon-minimize"></i></span>',download:()=>'<span class="{classes.DOWNLOAD}"><i class="pj-icon pj-icon-download"></i></span>',close:()=>'<span class="{classes.CLOSE}"><i class="pj-icon pj-icon-remove"></i></span>',footer:()=>'<div class="{classes.FOOTER}"></div>',caption:()=>'<div class="{classes.CAPTION}"></div>',title:()=>'<div class="{classes.TITLE}">{title}</div>',slider:()=>'<div class="{classes.SLIDER}"></div>',box:()=>'<div class="{classes.BOX}"></div>',card:()=>'<div class="{classes.CARD}"><div class="{classes.LOADER}"></div></div>',image:()=>'<img class="{classes.IMAGE} {classes.CONTENT}">',video:()=>'<div class="{classes.VIDEOWRAP} {classes.CONTENT}"><img class="{classes.IMAGE}"><div class="{classes.VIDEO}"></div></div>',iframe:()=>'<iframe class="{classes.IFRAME} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>',map:()=>'<iframe class="{classes.MAP} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>',inline:()=>'<div class="{classes.INLINE} {classes.CONTENT}"></div>',thumbs:()=>'<div class="{classes.THUMBS}"></div>',inner:()=>'<div class="{classes.INNER}"></div>'},theme:null,data:"html",delegate:"a",actions:["play","fullScreen","download","close"],overlayClose:!0,counter:!0,arrows:{},caption:!0,hasThumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"},slider:{},thumb:{}};class I{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("overlay"),a(this.element,this.instance.container),this.bind()}bind(){l(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){r(this.instance.eventName("click"),this.element)}}class R{constructor(e){this.instance=e,this.classes=e.classes,this.initialize()}initialize(){this.instance.options.counter&&this.instance.options.actions.unshift("counter"),this.element=this.instance.getElement("topbar"),this.instance.options.actions.forEach(e=>{this[e]=this.instance.getElement(e),a(this[e],this.element)}),this.setCounter(this.instance.active),a(this.element,this.instance.container),this.fullscreen=new E,this.bind()}bind(){p(l(this.instance.eventName("click"),".".concat(this.classes.PLAY),e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),l(this.instance.eventName("click"),".".concat(this.classes.FULLSCREEN),e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),l(this.instance.eventName("click"),".".concat(this.classes.DOWNLOAD),e=>{e.preventDefault(),e.stopPropagation();var s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),l(this.instance.eventName("click"),".".concat(this.classes.CLOSE),e=>{e.preventDefault(),e.stopPropagation(),this.off()}))(this.element)}autoPlay(){this.instance.is("play")?this.stop():(this.start(),h(this.instance.eventName("mousedown"),e=>{o(".".concat(this.classes.PLAY),e.target)!==this.play&&this.stop()},this.instance.container))}start(){this.instance.slider.plugin.intervalToggle(!0),t(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!1),i(this.classes.AUTOPLAY,this.instance.container),this.instance.leave("play")}off(){this.instance.hide(),this.fullscreen.isFullscreen()&&this.mini()}full(){this.fullscreen.request(),t(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),i(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="blob",t.onload=()=>{200===t.status&&s(t.response)},t.send()})}saveAs(e,s){if(window.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(e,s);else{var t=document.createElement("a"),i=document.querySelector("body");t.href=window.URL.createObjectURL(e),t.download=s,t.style.display="none",i.appendChild(t),t.click(),i.removeChild(t),window.URL.revokeObjectURL(t.href)}}down(e,s){this.getBlob(e).then(e=>{this.saveAs(e,s)})}unbind(){r(this.instance.eventName("click"),this.close)}setCounter(e){this.instance.options.counter&&(this.counter.innerHTML="".concat(e+1," / ").concat(this.instance.length))}}class k{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.caption&&(this.element=this.instance.getElement("caption"),this.setInfo(this.instance.data[this.instance.active]),a(this.element,this.instance.footer))}setInfo(e){if(this.instance.options.caption){var s=this.instance.getElement("title",e);this.element.innerHTML="",a(s,this.element)}}}class D{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("slider"),a(this.element,this.instance.container),setTimeout(()=>{this.initSlider()},0)}initSlider(){var e=this.instance;this.plugin=O.of(this.element,d(e.options,e.options.slider,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.hasThumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class U{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.hasThumbs&&(this.element=this.instance.getElement("thumbs"),a(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){var e=this.instance;this.plugin=T.of(this.element,d(e.options,e.options.thumb,{data:e.processData(e.data,"thumb"),current:e.active,mode:"center",onChange(){e.slider.plugin.go(this.current,!1),e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current])}}))}}var z=m()(w=u(j)(w=b(C)(w=v()(w=g(P,!0)(w=f("lightbox",{methods:["enable","disable","destroy","show","hide"],dependencies:["slider","thumbnails","arrows","anime","hammer"]})(w=class extends e{constructor(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e),this.setupOptions(s),this.setupClasses(),this.setupStates(),this.initialize()}initialize(){!this.options.data||this.options.data.length<0||(t(this.classes.NAMESPACE,this.element),this.options.theme&&t(this.getThemeClass(),this.element),this.data="html"===this.options.data?this.parseHtml():this.options.data,this.length=this.data.length,this.bind(),this.options.breakpoint&&this.initBreakpoints(),this.options.keyboard&&(this.keyboard=y()),this.enter("initialized"),this.trigger(C.READY))}initBreakpoints(){if(N.init(),N.all().includes(this.options.breakpoint)){var e=this.options.breakpoint,s=this;N.is("".concat(e,"-"))&&t(this.classes.RESPONSIVE,this.element),N.to(e,{enter(){t(s.classes.RESPONSIVE,s.element)},leave(){i(s.classes.RESPONSIVE,s.element)}})}}bind(){var e=this;l(this.eventName("click"),this.options.delegate,(function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()}),this.element)}unbind(){r(this.eventName("click"),this.element)}bindConatiner(){l(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();var s=e.target;(n(this.slider.plugin.classes.CARD,s)||n(this.classes.TOPBAR,s))&&this.hide()},this.container),this.keyboard&&(this.keyboard.on("down","esc",()=>{this.hide()}),this.keyboard.on("down","left",()=>{this.slider.plugin.prev()}),this.keyboard.on("down","right",()=>{this.slider.plugin.next()}))}unbindConatiner(){r(this.eventName("click"),this.container),this.keyboard&&this.keyboard.off("down","esc,left, right")}open(){this.is("generate")?this.initShow(this.active):this.generate(),this.show()}show(){t(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){i(this.classes.SHOW,this.container),this.unbindConatiner(),this.topbar.mini(),this.leave("show")}initShow(e){this.slider.plugin.reset(e),this.topbar.setCounter(e),this.caption.setInfo(this.data[e]),this.options.hasThumbs&&this.thumbs.plugin.go(e,!1,!1)}generate(){this.container=this.getElement("container"),this.footer=this.getElement("footer"),this.overlay=new I(this),this.topbar=new R(this),this.slider=new D(this),a(this.footer,this.container),this.caption=new k(this),this.thumbs=new U(this),this.options.theme&&t(this.getThemeClass(),this.container),a(this.container,document.body),this.enter("generate")}getElement(e){for(var t,i=this.options.templates[e],n=arguments.length,a=new Array(n>1?n-1:0),o=1;o<n;o++)a[o-1]=arguments[o];return t=s.render(i.call(this),d({classes:this.classes},...a)),c(t)}processData(e,s){var t=[];return e.forEach(e=>{var i={src:e[s]};i=d(i,e),t.push(i)}),t}parseHtml(){var e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;var i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")},n=Object.entries(s.dataset).reduce((e,s)=>{var[t,i]=s;try{return S({},e,{[t]:JSON.parse('{"data": '.concat(i.replace(/'/g,'"'),"}")).data})}catch(s){return S({},e,{[t]:i})}},{});i=d(i,n),e.push(i)}),e}enable(){this.slider.enable(),this.thumbs.enable()}disable(){this.slider.disable(),this.thumbs.disable()}destroy(){this.slider.destroy(),this.thumbs.destroy()}})||w)||w)||w)||w)||w)||w;export default z; |
/*! | ||
* @pluginjs/lightbox v0.7.31 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* @pluginjs/lightbox v0.8.2 (https://pluginjs.com) | ||
* Copyright 2020 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
@@ -5,0 +5,0 @@ */ |
/*! | ||
* @pluginjs/lightbox v0.7.31 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* @pluginjs/lightbox v0.8.2 (https://pluginjs.com) | ||
* Copyright 2020 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
*/ | ||
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@pluginjs/component"),require("@pluginjs/template"),require("@pluginjs/classes"),require("@pluginjs/dom"),require("@pluginjs/events"),require("@pluginjs/utils"),require("@pluginjs/decorator"),require("@pluginjs/fullscreen"),require("@pluginjs/slider"),require("@pluginjs/thumbnails"),require("@pluginjs/keyboard"),require("@pluginjs/breakpoints")):"function"==typeof define&&define.amd?define(["@pluginjs/component","@pluginjs/template","@pluginjs/classes","@pluginjs/dom","@pluginjs/events","@pluginjs/utils","@pluginjs/decorator","@pluginjs/fullscreen","@pluginjs/slider","@pluginjs/thumbnails","@pluginjs/keyboard","@pluginjs/breakpoints"],t):(e=e||self)["@pluginjs/lightbox"]=t(e["@pluginjs/component"],e["@pluginjs/template"],e["@pluginjs/classes"],e["@pluginjs/dom"],e["@pluginjs/events"],e["@pluginjs/utils"],e["@pluginjs/decorator"],e["@pluginjs/fullscreen"],e["@pluginjs/slider"],e["@pluginjs/thumbnails"],e["@pluginjs/keyboard"],e["@pluginjs/breakpoints"])}(this,(function(e,t,n,i,s,a,o,r,l,c,u,h){"use strict";function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function f(e,t,n){return t&&d(e.prototype,t),n&&d(e,n),e}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){v(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function g(e){return(g=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function O(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var n=[],i=!0,s=!1,a=void 0;try{for(var o,r=e[Symbol.iterator]();!(i=(o=r.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(s)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}e=e&&e.hasOwnProperty("default")?e.default:e,t=t&&t.hasOwnProperty("default")?t.default:t,r=r&&r.hasOwnProperty("default")?r.default:r,l=l&&l.hasOwnProperty("default")?l.default:l,c=c&&c.hasOwnProperty("default")?c.default:c,u=u&&u.hasOwnProperty("default")?u.default:u,h=h&&h.hasOwnProperty("default")?h.default:h;var k,j={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},w={NAMESPACE:"pj-".concat("lightbox"),CONTAINER:"{namespace}-container",OVERLAY:"{namespace}-overlay",TOPBAR:"{namespace}-topbar",COUNTER:"{namespace}-counter",PLAY:"{namespace}-play",START:"{namespace}-start",STOP:"{namespace}-stop",FULLSCREEN:"{namespace}-fullscreen",ISFULL:"{namespace}-isfull",FULL:"{namespace}-full",MINI:"{namespace}-mini",DOWNLOAD:"{namespace}-download",CLOSE:"{namespace}-close",FOOTER:"{namespace}-footer",CAPTION:"{namespace}-caption",TITLE:"{namespace}-title",SLIDER:"{namespace}-slider",THUMBS:"{namespace}-thumbs",VERTICAL:"{namespace}-vertical",AUTOPLAY:"{namespace}-autoplay",SHOW:"{namespace}-show",ACTIVE:"{namespace}-active",DISABLED:"{namespace}-disabled",RESPONSIVE:"{namespace}-responsive"},T=function(){function e(t){p(this,e),this.instance=t,this.initialize()}return f(e,[{key:"initialize",value:function(){this.element=this.instance.getElement("overlay"),i.append(this.element,this.instance.container),this.bind()}},{key:"bind",value:function(){var e=this;s.bindEvent(this.instance.eventName("click"),(function(t){t.preventDefault(),e.instance.hide()}),this.element)}},{key:"unbind",value:function(){s.removeEvent(this.instance.eventName("click"),this.element)}}]),e}(),C=function(){function e(t){p(this,e),this.instance=t,this.classes=t.classes,this.initialize()}return f(e,[{key:"initialize",value:function(){var e=this;this.instance.options.counter&&this.instance.options.actions.unshift("counter"),this.element=this.instance.getElement("topbar"),this.instance.options.actions.forEach((function(t){e[t]=e.instance.getElement(t),i.append(e[t],e.element)})),this.setCounter(this.instance.active),i.append(this.element,this.instance.container),this.fullscreen=new r,this.bind()}},{key:"bind",value:function(){var e=this;a.compose(s.bindEvent(this.instance.eventName("click"),".".concat(this.classes.PLAY),(function(t){t.preventDefault(),t.stopPropagation(),e.autoPlay()})),s.bindEvent(this.instance.eventName("click"),".".concat(this.classes.FULLSCREEN),(function(t){t.preventDefault(),t.stopPropagation(),e.fullscreen.isFullscreen()?e.mini():e.full()})),s.bindEvent(this.instance.eventName("click"),".".concat(this.classes.DOWNLOAD),(function(t){t.preventDefault(),t.stopPropagation();var n=e.instance.data[e.instance.slider.plugin.current].orig,i=n.substr(n.lastIndexOf("/")+1);e.down(n,i)})),s.bindEvent(this.instance.eventName("click"),".".concat(this.classes.CLOSE),(function(t){t.preventDefault(),t.stopPropagation(),e.off()})))(this.element)}},{key:"autoPlay",value:function(){var e=this;this.instance.is("play")?this.stop():(this.start(),s.bindEventOnce(this.instance.eventName("mousedown"),(function(t){i.closest(".".concat(e.classes.PLAY),t.target)!==e.play&&e.stop()}),this.instance.container))}},{key:"start",value:function(){this.instance.slider.plugin.intervalToggle(!0),n.addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}},{key:"stop",value:function(){this.instance.slider.plugin.intervalToggle(!1),n.removeClass(this.classes.AUTOPLAY,this.instance.container),this.instance.leave("play")}},{key:"off",value:function(){this.instance.hide(),this.fullscreen.isFullscreen()&&this.mini()}},{key:"full",value:function(){this.fullscreen.request(),n.addClass(this.classes.ISFULL,this.instance.container)}},{key:"mini",value:function(){this.fullscreen.exit(),n.removeClass(this.classes.ISFULL,this.instance.container)}},{key:"getBlob",value:function(e){return new Promise((function(t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="blob",n.onload=function(){200===n.status&&t(n.response)},n.send()}))}},{key:"saveAs",value:function(e,t){if(window.navigator.msSaveOrOpenBlob)navigator.msSaveBlob(e,t);else{var n=document.createElement("a"),i=document.querySelector("body");n.href=window.URL.createObjectURL(e),n.download=t,n.style.display="none",i.appendChild(n),n.click(),i.removeChild(n),window.URL.revokeObjectURL(n.href)}}},{key:"down",value:function(e,t){var n=this;this.getBlob(e).then((function(e){n.saveAs(e,t)}))}},{key:"unbind",value:function(){s.removeEvent(this.instance.eventName("click"),this.close)}},{key:"setCounter",value:function(e){this.instance.options.counter&&(this.counter.innerHTML="".concat(e+1," / ").concat(this.instance.length))}}]),e}(),A=function(){function e(t){p(this,e),this.instance=t,this.initialize()}return f(e,[{key:"initialize",value:function(){this.instance.options.caption&&(this.element=this.instance.getElement("caption"),this.setInfo(this.instance.data[this.instance.active]),i.append(this.element,this.instance.footer))}},{key:"setInfo",value:function(e){if(this.instance.options.caption){var t=this.instance.getElement("title",e);this.element.innerHTML="",i.append(t,this.element)}}}]),e}(),N=function(){function e(t){p(this,e),this.instance=t,this.initialize()}return f(e,[{key:"initialize",value:function(){var e=this;this.element=this.instance.getElement("slider"),i.append(this.element,this.instance.container),setTimeout((function(){e.initSlider()}),0)}},{key:"initSlider",value:function(){var e=this.instance;this.plugin=l.of(this.element,a.deepMerge(e.options,e.options.slider,{data:e.processData(e.data,"orig"),current:e.active,onChange:function(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.hasThumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}]),e}(),P=function(){function e(t){p(this,e),this.instance=t,this.initialize()}return f(e,[{key:"initialize",value:function(){var e=this;this.instance.options.hasThumbs&&(this.element=this.instance.getElement("thumbs"),i.append(this.element,this.instance.footer),setTimeout((function(){e.initThumbs()}),0))}},{key:"initThumbs",value:function(){var e=this.instance;this.plugin=c.of(this.element,a.deepMerge(e.options,e.options.thumb,{data:e.processData(e.data,"thumb"),current:e.active,mode:"center",onChange:function(){e.slider.plugin.go(this.current,!1),e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current])}}))}}]),e}();return o.themeable()(k=o.styleable(w)(k=o.eventable(j)(k=o.stateable()(k=o.optionable({templates:{container:function(){return'<div class="{classes.CONTAINER}"></div>'},overlay:function(){return'<div class="{classes.OVERLAY}"></div>'},topbar:function(){return'<div class="{classes.TOPBAR}"></div>'},counter:function(){return'<div class="{classes.COUNTER}"></div>'},play:function(){return'<span class="{classes.PLAY}"><i class="{classes.START} pj-icon pj-icon-caret-right"></i><i class="{classes.STOP} pj-icon pj-icon-pause"></i></span>'},fullScreen:function(){return'<span class="{classes.FULLSCREEN}"><i class="{classes.FULL} pj-icon pj-icon-maximize"></i><i class="{classes.MINI} pj-icon pj-icon-minimize"></i></span>'},download:function(){return'<span class="{classes.DOWNLOAD}"><i class="pj-icon pj-icon-download"></i></span>'},close:function(){return'<span class="{classes.CLOSE}"><i class="pj-icon pj-icon-remove"></i></span>'},footer:function(){return'<div class="{classes.FOOTER}"></div>'},caption:function(){return'<div class="{classes.CAPTION}"></div>'},title:function(){return'<div class="{classes.TITLE}">{title}</div>'},slider:function(){return'<div class="{classes.SLIDER}"></div>'},box:function(){return'<div class="{classes.BOX}"></div>'},card:function(){return'<div class="{classes.CARD}"><div class="{classes.LOADER}"></div></div>'},image:function(){return'<img class="{classes.IMAGE} {classes.CONTENT}">'},video:function(){return'<div class="{classes.VIDEOWRAP} {classes.CONTENT}"><img class="{classes.IMAGE}"><div class="{classes.VIDEO}"></div></div>'},iframe:function(){return'<iframe class="{classes.IFRAME} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>'},map:function(){return'<iframe class="{classes.MAP} {classes.CONTENT}" src="//about:blank" frameborder="0" allowfullscreen></iframe>'},inline:function(){return'<div class="{classes.INLINE} {classes.CONTENT}"></div>'},thumbs:function(){return'<div class="{classes.THUMBS}"></div>'},inner:function(){return'<div class="{classes.INNER}"></div>'}},theme:null,data:"html",delegate:"a",actions:["play","fullScreen","download","close"],overlayClose:!0,counter:!0,arrows:{},caption:!0,hasThumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"},slider:{},thumb:{}},!0)(k=o.register("lightbox",{methods:["enable","disable","destroy","show","hide"],dependencies:["slider","thumbnails","arrows","anime","hammer"]})(k=function(e){function o(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return p(this,o),(t=O(this,g(o).call(this,e))).setupOptions(n),t.setupClasses(),t.setupStates(),t.initialize(),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&y(e,t)}(o,e),f(o,[{key:"initialize",value:function(){!this.options.data||this.options.data.length<0||(n.addClass(this.classes.NAMESPACE,this.element),this.options.theme&&n.addClass(this.getThemeClass(),this.element),this.data="html"===this.options.data?this.parseHtml():this.options.data,this.length=this.data.length,this.bind(),this.options.breakpoint&&this.initBreakpoints(),this.options.keyboard&&(this.keyboard=u()),this.enter("initialized"),this.trigger(j.READY))}},{key:"initBreakpoints",value:function(){if(h.init(),h.all().includes(this.options.breakpoint)){var e=this.options.breakpoint,t=this;h.is("".concat(e,"-"))&&n.addClass(this.classes.RESPONSIVE,this.element),h.to(e,{enter:function(){n.addClass(t.classes.RESPONSIVE,t.element)},leave:function(){n.removeClass(t.classes.RESPONSIVE,t.element)}})}}},{key:"bind",value:function(){var e=this;s.bindEvent(this.eventName("click"),this.options.delegate,(function(t){t.preventDefault(),e.active=Number(this.dataset.index),e.open()}),this.element)}},{key:"unbind",value:function(){s.removeEvent(this.eventName("click"),this.element)}},{key:"bindConatiner",value:function(){var e=this;s.bindEvent(this.eventName("click"),(function(t){t.preventDefault(),t.stopPropagation();var i=t.target;(n.hasClass(e.slider.plugin.classes.CARD,i)||n.hasClass(e.classes.TOPBAR,i))&&e.hide()}),this.container),this.keyboard&&(this.keyboard.on("down","esc",(function(){e.hide()})),this.keyboard.on("down","left",(function(){e.slider.plugin.prev()})),this.keyboard.on("down","right",(function(){e.slider.plugin.next()})))}},{key:"unbindConatiner",value:function(){s.removeEvent(this.eventName("click"),this.container),this.keyboard&&this.keyboard.off("down","esc,left, right")}},{key:"open",value:function(){this.is("generate")?this.initShow(this.active):this.generate(),this.show()}},{key:"show",value:function(){n.addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}},{key:"hide",value:function(){n.removeClass(this.classes.SHOW,this.container),this.unbindConatiner(),this.topbar.mini(),this.leave("show")}},{key:"initShow",value:function(e){this.slider.plugin.reset(e),this.topbar.setCounter(e),this.caption.setInfo(this.data[e]),this.options.hasThumbs&&this.thumbs.plugin.go(e,!1,!1)}},{key:"generate",value:function(){this.container=this.getElement("container"),this.footer=this.getElement("footer"),this.overlay=new T(this),this.topbar=new C(this),this.slider=new N(this),i.append(this.footer,this.container),this.caption=new A(this),this.thumbs=new P(this),this.options.theme&&n.addClass(this.getThemeClass(),this.container),i.append(this.container,document.body),this.enter("generate")}},{key:"getElement",value:function(e){for(var n=this.options.templates[e],s="",o=arguments.length,r=new Array(o>1?o-1:0),l=1;l<o;l++)r[l-1]=arguments[l];return s=t.render(n.call(this),a.deepMerge.apply(void 0,[{classes:this.classes}].concat(r))),i.parseHTML(s)}},{key:"processData",value:function(e,t){var n=[];return e.forEach((function(e){var i={src:e[t]};i=a.deepMerge(i,e),n.push(i)})),n}},{key:"parseHtml",value:function(){var e=[];return this.element.querySelectorAll(this.options.delegate).forEach((function(t,n){t.dataset.index=n;var i={orig:t.getAttribute("href"),thumb:t.children[0].getAttribute("src")},s=Object.entries(t.dataset).reduce((function(e,t){var n=E(t,2),i=n[0],s=n[1];try{return b({},e,v({},i,JSON.parse('{"data": '.concat(s.replace(/'/g,'"'),"}")).data))}catch(t){return b({},e,v({},i,s))}}),{});i=a.deepMerge(i,s),e.push(i)})),e}},{key:"enable",value:function(){this.slider.enable(),this.thumbs.enable()}},{key:"disable",value:function(){this.slider.disable(),this.thumbs.disable()}},{key:"destroy",value:function(){this.slider.destroy(),this.thumbs.destroy()}}]),o}(e))||k)||k)||k)||k)||k)||k})); |
@@ -14,3 +14,3 @@ { | ||
}, | ||
"version": "0.7.31", | ||
"version": "0.8.2", | ||
"category": "media", | ||
@@ -41,23 +41,25 @@ "main": "dist/lightbox.common.js", | ||
"dependencies": { | ||
"@pluginjs/breakpoints": "^0.7.18", | ||
"@pluginjs/classes": "^0.7.19", | ||
"@pluginjs/component": "^0.7.16", | ||
"@pluginjs/decorator": "^0.7.20", | ||
"@pluginjs/dom": "^0.7.19", | ||
"@pluginjs/events": "^0.7.18", | ||
"@pluginjs/factory": "^0.7.18", | ||
"@pluginjs/fullscreen": "^0.7.21", | ||
"@pluginjs/is": "^0.7.17", | ||
"@pluginjs/keyboard": "^0.7.20", | ||
"@pluginjs/slider": "^0.7.28", | ||
"@pluginjs/styled": "^0.7.19", | ||
"@pluginjs/template": "^0.7.18", | ||
"@pluginjs/thumbnails": "^0.7.24", | ||
"@pluginjs/utils": "^0.7.18", | ||
"@pluginjs/video": "^0.7.24" | ||
"@pluginjs/breakpoints": "^0.7.19", | ||
"@pluginjs/classes": "^0.7.20", | ||
"@pluginjs/component": "^0.7.17", | ||
"@pluginjs/decorator": "^0.7.21", | ||
"@pluginjs/dom": "^0.7.20", | ||
"@pluginjs/events": "^0.7.19", | ||
"@pluginjs/factory": "^0.7.19", | ||
"@pluginjs/fullscreen": "^0.7.22", | ||
"@pluginjs/is": "^0.7.18", | ||
"@pluginjs/keyboard": "^0.7.21", | ||
"@pluginjs/slider": "^0.7.29", | ||
"@pluginjs/styled": "^0.7.20", | ||
"@pluginjs/template": "^0.7.19", | ||
"@pluginjs/thumbnails": "^0.7.25", | ||
"@pluginjs/utils": "^0.7.19", | ||
"@pluginjs/video": "^0.7.25" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "^7.7.5", | ||
"@pluginjs/browserslist-config": "^1.2.12", | ||
"@pluginjs/cli": "^0.7.15", | ||
"@babel/core": "^7.8.4", | ||
"@pluginjs/browserslist-config": "^1.3.0", | ||
"@pluginjs/cli": "^0.7.16", | ||
"@rollup/plugin-commonjs": "^11.0.2", | ||
"@rollup/plugin-node-resolve": "^7.1.1", | ||
"babel-jest": "*", | ||
@@ -67,6 +69,4 @@ "jest": "*", | ||
"rename": "^1.0.4", | ||
"rollup": "*", | ||
"rollup": "^1.31.0", | ||
"rollup-plugin-babel": "*", | ||
"rollup-plugin-commonjs": "*", | ||
"rollup-plugin-node-resolve": "*", | ||
"rollup-plugin-terser": "*" | ||
@@ -89,3 +89,3 @@ }, | ||
], | ||
"gitHead": "f0767d4ff57027169d885ad7a3a46dbc4ff5cf7f" | ||
"gitHead": "b723884335c3cdfd997b4f553ec4259fa7013b6f" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
140239
2955
- Removed@pluginjs/arrows@0.7.22(transitive)
- Removed@pluginjs/icons@0.7.3(transitive)
- Removed@pluginjs/image-loader@0.7.21(transitive)
- Removed@pluginjs/loader@0.7.21(transitive)
- Removed@pluginjs/slider@0.7.28(transitive)
- Removed@pluginjs/styles@0.7.11(transitive)
- Removed@pluginjs/swipeable@0.7.23(transitive)
- Removed@pluginjs/thumbnails@0.7.24(transitive)
- Removed@pluginjs/video@0.7.24(transitive)
- Removedanimejs@3.2.2(transitive)
- Removedhammerjs@2.0.8(transitive)
Updated@pluginjs/classes@^0.7.20
Updated@pluginjs/component@^0.7.17
Updated@pluginjs/decorator@^0.7.21
Updated@pluginjs/dom@^0.7.20
Updated@pluginjs/events@^0.7.19
Updated@pluginjs/factory@^0.7.19
Updated@pluginjs/fullscreen@^0.7.22
Updated@pluginjs/is@^0.7.18
Updated@pluginjs/keyboard@^0.7.21
Updated@pluginjs/slider@^0.7.29
Updated@pluginjs/styled@^0.7.20
Updated@pluginjs/template@^0.7.19
Updated@pluginjs/thumbnails@^0.7.25
Updated@pluginjs/utils@^0.7.19
Updated@pluginjs/video@^0.7.25