@pluginjs/lightbox
Advanced tools
Comparing version 0.7.15 to 0.7.16
/*! | ||
* @pluginjs/lightbox v0.7.15 (https://pluginjs.com) | ||
* @pluginjs/lightbox v0.7.16 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
@@ -103,3 +103,3 @@ * Released under the GPL-3.0 License. | ||
const classes$1 = { | ||
NAMESPACE: `pj-${namespace}`, | ||
NAMESPACE: "pj-".concat(namespace), | ||
CONTAINER: '{namespace}-container', | ||
@@ -293,7 +293,7 @@ OVERLAY: '{namespace}-overlay', | ||
bind() { | ||
utils.compose(events.bindEvent(this.instance.eventName('click'), `.${this.classes.PLAY}`, event => { | ||
utils.compose(events.bindEvent(this.instance.eventName('click'), ".".concat(this.classes.PLAY), event => { | ||
event.preventDefault(); | ||
event.stopPropagation(); | ||
this.autoPlay(); | ||
}), events.bindEvent(this.instance.eventName('click'), `.${this.classes.FULLSCREEN}`, event => { | ||
}), events.bindEvent(this.instance.eventName('click'), ".".concat(this.classes.FULLSCREEN), event => { | ||
event.preventDefault(); | ||
@@ -307,3 +307,3 @@ event.stopPropagation(); | ||
} | ||
}), events.bindEvent(this.instance.eventName('click'), `.${this.classes.DOWNLOAD}`, event => { | ||
}), events.bindEvent(this.instance.eventName('click'), ".".concat(this.classes.DOWNLOAD), event => { | ||
event.preventDefault(); | ||
@@ -314,3 +314,3 @@ event.stopPropagation(); | ||
this.down(url, filename); | ||
}), events.bindEvent(this.instance.eventName('click'), `.${this.classes.CLOSE}`, event => { | ||
}), events.bindEvent(this.instance.eventName('click'), ".".concat(this.classes.CLOSE), event => { | ||
event.preventDefault(); | ||
@@ -328,3 +328,3 @@ event.stopPropagation(); | ||
events.bindEventOnce(this.instance.eventName('mousedown'), event => { | ||
if (dom.closest(`.${this.classes.PLAY}`, event.target) === this.play) { | ||
if (dom.closest(".".concat(this.classes.PLAY), event.target) === this.play) { | ||
return; | ||
@@ -416,3 +416,3 @@ } | ||
this.counter.innerHTML = `${index + 1} / ${this.instance.length}`; | ||
this.counter.innerHTML = "".concat(index + 1, " / ").concat(this.instance.length); | ||
} | ||
@@ -568,3 +568,3 @@ | ||
if (Breakpoints.is(`${breakpoint}-`)) { | ||
if (Breakpoints.is("".concat(breakpoint, "-"))) { | ||
classes.addClass(this.classes.RESPONSIVE, this.element); | ||
@@ -725,3 +725,3 @@ } | ||
try { | ||
const content = JSON.parse(`{"data": ${v.replace(/'/g, '"')}}`).data; | ||
const content = JSON.parse("{\"data\": ".concat(v.replace(/'/g, '"'), "}")).data; | ||
return _objectSpread({}, result, { | ||
@@ -728,0 +728,0 @@ [k]: content |
/*! | ||
* @pluginjs/lightbox v0.7.15 (https://pluginjs.com) | ||
* @pluginjs/lightbox v0.7.16 (https://pluginjs.com) | ||
* Copyright 2019 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 dom=require("@pluginjs/dom"),events=require("@pluginjs/events"),utils=require("@pluginjs/utils"),classes=require("@pluginjs/classes"),Fullscreen=_interopDefault(require("@pluginjs/fullscreen")),SLIDER=_interopDefault(require("@pluginjs/slider")),THUMBS=_interopDefault(require("@pluginjs/thumbnails")),Component=_interopDefault(require("@pluginjs/component")),templateEngine=_interopDefault(require("@pluginjs/template")),decorator=require("@pluginjs/decorator"),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 _objectSpread(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.forEach(function(s){_defineProperty(e,s,t[s])})}return e}function _slicedToArray(e,s){return _arrayWithHoles(e)||_iterableToArrayLimit(e,s)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,s){var t=[],i=!0,n=!1,a=void 0;try{for(var l,o=e[Symbol.iterator]();!(i=(l=o.next()).done)&&(t.push(l.value),!s||t.length!==s);i=!0);}catch(e){n=!0,a=e}finally{try{i||null==o.return||o.return()}finally{if(n)throw a}}return t}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}const namespace="lightbox",events$1={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},classes$1={NAMESPACE:"pj-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"},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:{},swipe:!0,caption:!0,thumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"}},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.bindEvent(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){events.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.bindEvent(this.instance.eventName("click"),`.${this.classes.PLAY}`,e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),events.bindEvent(this.instance.eventName("click"),`.${this.classes.FULLSCREEN}`,e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),events.bindEvent(this.instance.eventName("click"),`.${this.classes.DOWNLOAD}`,e=>{e.preventDefault(),e.stopPropagation();const s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),events.bindEvent(this.instance.eventName("click"),`.${this.classes.CLOSE}`,e=>{e.preventDefault(),e.stopPropagation(),this.off()}))(this.element)}autoPlay(){this.instance.is("play")?this.stop():(this.start(),events.bindEventOnce(this.instance.eventName("mousedown"),e=>{dom.closest(`.${this.classes.PLAY}`,e.target)!==this.play&&this.stop()},this.instance.container))}start(){this.instance.slider.plugin.intervalToggle(!0),classes.addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!1),classes.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.addClass(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),classes.removeClass(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{const 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{const 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.removeEvent(this.instance.eventName("click"),this.close)}setCounter(e){this.instance.options.counter&&(this.counter.innerHTML=`${e+1} / ${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)return;const 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(){const e=this.instance;this.plugin=SLIDER.of(this.element,utils.deepMerge(e.options,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.thumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class Thumbs{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.thumbs&&(this.element=this.instance.getElement("thumbs"),dom.append(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){const e=this.instance;this.plugin=THUMBS.of(this.element,utils.deepMerge(e.options,{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 _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_class;let Gallery=(_dec=decorator.themeable())(_class=(_dec2=decorator.styleable(classes$1))(_class=(_dec3=decorator.eventable(events$1))(_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){let 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.addClass(this.classes.NAMESPACE,this.element),this.options.theme&&classes.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$1.READY))}initBreakpoints(){if(Breakpoints.init(),Breakpoints.all().includes(this.options.breakpoint)){const e=this.options.breakpoint,s=this;Breakpoints.is(`${e}-`)&&classes.addClass(this.classes.RESPONSIVE,this.element),Breakpoints.to(e,{enter(){classes.addClass(s.classes.RESPONSIVE,s.element)},leave(){classes.removeClass(s.classes.RESPONSIVE,s.element)}})}}bind(){const e=this;events.bindEvent(this.eventName("click"),this.options.delegate,function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()},this.element)}unbind(){events.removeEvent(this.eventName("click"),this.element)}bindConatiner(){events.bindEvent(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();const s=e.target;(classes.hasClass(this.slider.plugin.classes.CARD,s)||classes.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.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.addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){classes.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.thumbs&&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.addClass(this.getThemeClass(),this.container),dom.append(this.container,document.body),this.enter("generate")}getElement(e){const s=this.options.templates[e];let t="";for(var i=arguments.length,n=new Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return t=templateEngine.render(s.call(this),utils.deepMerge({classes:this.classes},...n)),dom.parseHTML(t)}processData(e,s){const t=[];return e.forEach(e=>{let i={src:e[s]};i=utils.deepMerge(i,e),t.push(i)}),t}parseHtml(){const e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;let i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")};const n=Object.entries(s.dataset).reduce((e,s)=>{let t=_slicedToArray(s,2),i=t[0],n=t[1];try{return _objectSpread({},e,{[i]:JSON.parse(`{"data": ${n.replace(/'/g,'"')}}`).data})}catch(s){return _objectSpread({},e,{[i]:n})}},{});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=Gallery; | ||
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var dom=require("@pluginjs/dom"),events=require("@pluginjs/events"),utils=require("@pluginjs/utils"),classes=require("@pluginjs/classes"),Fullscreen=_interopDefault(require("@pluginjs/fullscreen")),SLIDER=_interopDefault(require("@pluginjs/slider")),THUMBS=_interopDefault(require("@pluginjs/thumbnails")),Component=_interopDefault(require("@pluginjs/component")),templateEngine=_interopDefault(require("@pluginjs/template")),decorator=require("@pluginjs/decorator"),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 _objectSpread(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.forEach(function(s){_defineProperty(e,s,t[s])})}return e}function _slicedToArray(e,s){return _arrayWithHoles(e)||_iterableToArrayLimit(e,s)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,s){var t=[],i=!0,n=!1,a=void 0;try{for(var l,c=e[Symbol.iterator]();!(i=(l=c.next()).done)&&(t.push(l.value),!s||t.length!==s);i=!0);}catch(e){n=!0,a=e}finally{try{i||null==c.return||c.return()}finally{if(n)throw a}}return t}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}const namespace="lightbox",events$1={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},classes$1={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:{},swipe:!0,caption:!0,thumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"}},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.bindEvent(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){events.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.bindEvent(this.instance.eventName("click"),".".concat(this.classes.PLAY),e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),events.bindEvent(this.instance.eventName("click"),".".concat(this.classes.FULLSCREEN),e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),events.bindEvent(this.instance.eventName("click"),".".concat(this.classes.DOWNLOAD),e=>{e.preventDefault(),e.stopPropagation();const s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),events.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.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.addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!1),classes.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.addClass(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),classes.removeClass(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{const 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{const 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.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)return;const 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(){const e=this.instance;this.plugin=SLIDER.of(this.element,utils.deepMerge(e.options,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.thumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class Thumbs{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.thumbs&&(this.element=this.instance.getElement("thumbs"),dom.append(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){const e=this.instance;this.plugin=THUMBS.of(this.element,utils.deepMerge(e.options,{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 _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_class;let Gallery=(_dec=decorator.themeable())(_class=(_dec2=decorator.styleable(classes$1))(_class=(_dec3=decorator.eventable(events$1))(_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){let 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.addClass(this.classes.NAMESPACE,this.element),this.options.theme&&classes.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$1.READY))}initBreakpoints(){if(Breakpoints.init(),Breakpoints.all().includes(this.options.breakpoint)){const e=this.options.breakpoint,s=this;Breakpoints.is("".concat(e,"-"))&&classes.addClass(this.classes.RESPONSIVE,this.element),Breakpoints.to(e,{enter(){classes.addClass(s.classes.RESPONSIVE,s.element)},leave(){classes.removeClass(s.classes.RESPONSIVE,s.element)}})}}bind(){const e=this;events.bindEvent(this.eventName("click"),this.options.delegate,function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()},this.element)}unbind(){events.removeEvent(this.eventName("click"),this.element)}bindConatiner(){events.bindEvent(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();const s=e.target;(classes.hasClass(this.slider.plugin.classes.CARD,s)||classes.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.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.addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){classes.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.thumbs&&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.addClass(this.getThemeClass(),this.container),dom.append(this.container,document.body),this.enter("generate")}getElement(e){const s=this.options.templates[e];let t="";for(var i=arguments.length,n=new Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return t=templateEngine.render(s.call(this),utils.deepMerge({classes:this.classes},...n)),dom.parseHTML(t)}processData(e,s){const t=[];return e.forEach(e=>{let i={src:e[s]};i=utils.deepMerge(i,e),t.push(i)}),t}parseHtml(){const e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;let i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")};const n=Object.entries(s.dataset).reduce((e,s)=>{let t=_slicedToArray(s,2),i=t[0],n=t[1];try{return _objectSpread({},e,{[i]:JSON.parse('{"data": '.concat(n.replace(/'/g,'"'),"}")).data})}catch(s){return _objectSpread({},e,{[i]:n})}},{});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=Gallery; |
/*! | ||
* @pluginjs/lightbox v0.7.15 (https://pluginjs.com) | ||
* @pluginjs/lightbox v0.7.16 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
@@ -99,3 +99,3 @@ * Released under the GPL-3.0 License. | ||
const classes = { | ||
NAMESPACE: `pj-${namespace}`, | ||
NAMESPACE: "pj-".concat(namespace), | ||
CONTAINER: '{namespace}-container', | ||
@@ -289,7 +289,7 @@ OVERLAY: '{namespace}-overlay', | ||
bind() { | ||
compose(bindEvent(this.instance.eventName('click'), `.${this.classes.PLAY}`, event => { | ||
compose(bindEvent(this.instance.eventName('click'), ".".concat(this.classes.PLAY), event => { | ||
event.preventDefault(); | ||
event.stopPropagation(); | ||
this.autoPlay(); | ||
}), bindEvent(this.instance.eventName('click'), `.${this.classes.FULLSCREEN}`, event => { | ||
}), bindEvent(this.instance.eventName('click'), ".".concat(this.classes.FULLSCREEN), event => { | ||
event.preventDefault(); | ||
@@ -303,3 +303,3 @@ event.stopPropagation(); | ||
} | ||
}), bindEvent(this.instance.eventName('click'), `.${this.classes.DOWNLOAD}`, event => { | ||
}), bindEvent(this.instance.eventName('click'), ".".concat(this.classes.DOWNLOAD), event => { | ||
event.preventDefault(); | ||
@@ -310,3 +310,3 @@ event.stopPropagation(); | ||
this.down(url, filename); | ||
}), bindEvent(this.instance.eventName('click'), `.${this.classes.CLOSE}`, event => { | ||
}), bindEvent(this.instance.eventName('click'), ".".concat(this.classes.CLOSE), event => { | ||
event.preventDefault(); | ||
@@ -324,3 +324,3 @@ event.stopPropagation(); | ||
bindEventOnce(this.instance.eventName('mousedown'), event => { | ||
if (closest(`.${this.classes.PLAY}`, event.target) === this.play) { | ||
if (closest(".".concat(this.classes.PLAY), event.target) === this.play) { | ||
return; | ||
@@ -412,3 +412,3 @@ } | ||
this.counter.innerHTML = `${index + 1} / ${this.instance.length}`; | ||
this.counter.innerHTML = "".concat(index + 1, " / ").concat(this.instance.length); | ||
} | ||
@@ -564,3 +564,3 @@ | ||
if (Breakpoints.is(`${breakpoint}-`)) { | ||
if (Breakpoints.is("".concat(breakpoint, "-"))) { | ||
addClass(this.classes.RESPONSIVE, this.element); | ||
@@ -721,3 +721,3 @@ } | ||
try { | ||
const content = JSON.parse(`{"data": ${v.replace(/'/g, '"')}}`).data; | ||
const content = JSON.parse("{\"data\": ".concat(v.replace(/'/g, '"'), "}")).data; | ||
return _objectSpread({}, result, { | ||
@@ -724,0 +724,0 @@ [k]: content |
/*! | ||
* @pluginjs/lightbox v0.7.15 (https://pluginjs.com) | ||
* @pluginjs/lightbox v0.7.16 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
* Released under the GPL-3.0 License. | ||
*/ | ||
import{append,closest,parseHTML}from"@pluginjs/dom";import{bindEvent,removeEvent,bindEventOnce}from"@pluginjs/events";import{compose,deepMerge}from"@pluginjs/utils";import{addClass,removeClass,hasClass}from"@pluginjs/classes";import Fullscreen from"@pluginjs/fullscreen";import SLIDER from"@pluginjs/slider";import THUMBS from"@pluginjs/thumbnails";import Component from"@pluginjs/component";import templateEngine from"@pluginjs/template";import{eventable,register,stateable,styleable,themeable,optionable}from"@pluginjs/decorator";import Keyboard from"@pluginjs/keyboard";import Breakpoints from"@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 _objectSpread(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.forEach(function(s){_defineProperty(e,s,t[s])})}return e}function _slicedToArray(e,s){return _arrayWithHoles(e)||_iterableToArrayLimit(e,s)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,s){var t=[],i=!0,n=!1,a=void 0;try{for(var l,o=e[Symbol.iterator]();!(i=(l=o.next()).done)&&(t.push(l.value),!s||t.length!==s);i=!0);}catch(e){n=!0,a=e}finally{try{i||null==o.return||o.return()}finally{if(n)throw a}}return t}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}const namespace="lightbox",events={READY:"ready",ENABLE:"enable",DISABLE:"disable",DESTROY:"destroy"},classes={NAMESPACE:"pj-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"},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:{},swipe:!0,caption:!0,thumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"}},dependencies=["slider","thumbnails","arrows","anime","hammer"];class Overlay{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("overlay"),append(this.element,this.instance.container),this.bind()}bind(){bindEvent(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){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),append(this[e],this.element)}),this.setCounter(this.instance.active),append(this.element,this.instance.container),this.fullscreen=new Fullscreen,this.bind()}bind(){compose(bindEvent(this.instance.eventName("click"),`.${this.classes.PLAY}`,e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),bindEvent(this.instance.eventName("click"),`.${this.classes.FULLSCREEN}`,e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),bindEvent(this.instance.eventName("click"),`.${this.classes.DOWNLOAD}`,e=>{e.preventDefault(),e.stopPropagation();const s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),bindEvent(this.instance.eventName("click"),`.${this.classes.CLOSE}`,e=>{e.preventDefault(),e.stopPropagation(),this.off()}))(this.element)}autoPlay(){this.instance.is("play")?this.stop():(this.start(),bindEventOnce(this.instance.eventName("mousedown"),e=>{closest(`.${this.classes.PLAY}`,e.target)!==this.play&&this.stop()},this.instance.container))}start(){this.instance.slider.plugin.intervalToggle(!0),addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!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(),addClass(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),removeClass(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{const 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{const 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(){removeEvent(this.instance.eventName("click"),this.close)}setCounter(e){this.instance.options.counter&&(this.counter.innerHTML=`${e+1} / ${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]),append(this.element,this.instance.footer))}setInfo(e){if(!this.instance.options.caption)return;const s=this.instance.getElement("title",e);this.element.innerHTML="",append(s,this.element)}}class Slider{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("slider"),append(this.element,this.instance.container),setTimeout(()=>{this.initSlider()},0)}initSlider(){const e=this.instance;this.plugin=SLIDER.of(this.element,deepMerge(e.options,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.thumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class Thumbs{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.thumbs&&(this.element=this.instance.getElement("thumbs"),append(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){const e=this.instance;this.plugin=THUMBS.of(this.element,deepMerge(e.options,{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 _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_class;let Gallery=(_dec=themeable())(_class=(_dec2=styleable(classes))(_class=(_dec3=eventable(events))(_class=(_dec4=stateable())(_class=(_dec5=optionable(defaults,!0))(_class=(_dec6=register(namespace,{methods:methods,dependencies:dependencies}))(_class=class extends Component{constructor(e){let 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||(addClass(this.classes.NAMESPACE,this.element),this.options.theme&&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)){const e=this.options.breakpoint,s=this;Breakpoints.is(`${e}-`)&&addClass(this.classes.RESPONSIVE,this.element),Breakpoints.to(e,{enter(){addClass(s.classes.RESPONSIVE,s.element)},leave(){removeClass(s.classes.RESPONSIVE,s.element)}})}}bind(){const e=this;bindEvent(this.eventName("click"),this.options.delegate,function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()},this.element)}unbind(){removeEvent(this.eventName("click"),this.element)}bindConatiner(){bindEvent(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();const s=e.target;(hasClass(this.slider.plugin.classes.CARD,s)||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(){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(){addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){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.thumbs&&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),append(this.footer,this.container),this.caption=new Caption(this),this.thumbs=new Thumbs(this),this.options.theme&&addClass(this.getThemeClass(),this.container),append(this.container,document.body),this.enter("generate")}getElement(e){const s=this.options.templates[e];let t="";for(var i=arguments.length,n=new Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return t=templateEngine.render(s.call(this),deepMerge({classes:this.classes},...n)),parseHTML(t)}processData(e,s){const t=[];return e.forEach(e=>{let i={src:e[s]};i=deepMerge(i,e),t.push(i)}),t}parseHtml(){const e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;let i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")};const n=Object.entries(s.dataset).reduce((e,s)=>{let t=_slicedToArray(s,2),i=t[0],n=t[1];try{return _objectSpread({},e,{[i]:JSON.parse(`{"data": ${n.replace(/'/g,'"')}}`).data})}catch(s){return _objectSpread({},e,{[i]:n})}},{});i=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;export default Gallery; | ||
import{append,closest,parseHTML}from"@pluginjs/dom";import{bindEvent,removeEvent,bindEventOnce}from"@pluginjs/events";import{compose,deepMerge}from"@pluginjs/utils";import{addClass,removeClass,hasClass}from"@pluginjs/classes";import Fullscreen from"@pluginjs/fullscreen";import SLIDER from"@pluginjs/slider";import THUMBS from"@pluginjs/thumbnails";import Component from"@pluginjs/component";import templateEngine from"@pluginjs/template";import{eventable,register,stateable,styleable,themeable,optionable}from"@pluginjs/decorator";import Keyboard from"@pluginjs/keyboard";import Breakpoints from"@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 _objectSpread(e){for(var s=1;s<arguments.length;s++){var t=null!=arguments[s]?arguments[s]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.forEach(function(s){_defineProperty(e,s,t[s])})}return e}function _slicedToArray(e,s){return _arrayWithHoles(e)||_iterableToArrayLimit(e,s)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,s){var t=[],i=!0,n=!1,a=void 0;try{for(var l,o=e[Symbol.iterator]();!(i=(l=o.next()).done)&&(t.push(l.value),!s||t.length!==s);i=!0);}catch(e){n=!0,a=e}finally{try{i||null==o.return||o.return()}finally{if(n)throw a}}return t}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}const 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:{},swipe:!0,caption:!0,thumbs:!0,vertical:!1,keyboard:!0,duration:300,playCycle:4e3,breakpoint:null,loader:{theme:"ring",size:"lg"}},dependencies=["slider","thumbnails","arrows","anime","hammer"];class Overlay{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("overlay"),append(this.element,this.instance.container),this.bind()}bind(){bindEvent(this.instance.eventName("click"),e=>{e.preventDefault(),this.instance.hide()},this.element)}unbind(){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),append(this[e],this.element)}),this.setCounter(this.instance.active),append(this.element,this.instance.container),this.fullscreen=new Fullscreen,this.bind()}bind(){compose(bindEvent(this.instance.eventName("click"),".".concat(this.classes.PLAY),e=>{e.preventDefault(),e.stopPropagation(),this.autoPlay()}),bindEvent(this.instance.eventName("click"),".".concat(this.classes.FULLSCREEN),e=>{e.preventDefault(),e.stopPropagation(),this.fullscreen.isFullscreen()?this.mini():this.full()}),bindEvent(this.instance.eventName("click"),".".concat(this.classes.DOWNLOAD),e=>{e.preventDefault(),e.stopPropagation();const s=this.instance.data[this.instance.slider.plugin.current].orig,t=s.substr(s.lastIndexOf("/")+1);this.down(s,t)}),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(),bindEventOnce(this.instance.eventName("mousedown"),e=>{closest(".".concat(this.classes.PLAY),e.target)!==this.play&&this.stop()},this.instance.container))}start(){this.instance.slider.plugin.intervalToggle(!0),addClass(this.classes.AUTOPLAY,this.instance.container),this.instance.enter("play")}stop(){this.instance.slider.plugin.intervalToggle(!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(),addClass(this.classes.ISFULL,this.instance.container)}mini(){this.fullscreen.exit(),removeClass(this.classes.ISFULL,this.instance.container)}getBlob(e){return new Promise(s=>{const 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{const 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(){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]),append(this.element,this.instance.footer))}setInfo(e){if(!this.instance.options.caption)return;const s=this.instance.getElement("title",e);this.element.innerHTML="",append(s,this.element)}}class Slider{constructor(e){this.instance=e,this.initialize()}initialize(){this.element=this.instance.getElement("slider"),append(this.element,this.instance.container),setTimeout(()=>{this.initSlider()},0)}initSlider(){const e=this.instance;this.plugin=SLIDER.of(this.element,deepMerge(e.options,{data:e.processData(e.data,"orig"),current:e.active,onChange(){e.topbar.setCounter(this.current),e.caption.setInfo(e.data[this.current]),e.options.thumbs&&e.thumbs.plugin.go(this.current,!1)}}))}}class Thumbs{constructor(e){this.instance=e,this.initialize()}initialize(){this.instance.options.thumbs&&(this.element=this.instance.getElement("thumbs"),append(this.element,this.instance.footer),setTimeout(()=>{this.initThumbs()},0))}initThumbs(){const e=this.instance;this.plugin=THUMBS.of(this.element,deepMerge(e.options,{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 _dec,_dec2,_dec3,_dec4,_dec5,_dec6,_class;let Gallery=(_dec=themeable())(_class=(_dec2=styleable(classes))(_class=(_dec3=eventable(events))(_class=(_dec4=stateable())(_class=(_dec5=optionable(defaults,!0))(_class=(_dec6=register(namespace,{methods:methods,dependencies:dependencies}))(_class=class extends Component{constructor(e){let 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||(addClass(this.classes.NAMESPACE,this.element),this.options.theme&&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)){const e=this.options.breakpoint,s=this;Breakpoints.is("".concat(e,"-"))&&addClass(this.classes.RESPONSIVE,this.element),Breakpoints.to(e,{enter(){addClass(s.classes.RESPONSIVE,s.element)},leave(){removeClass(s.classes.RESPONSIVE,s.element)}})}}bind(){const e=this;bindEvent(this.eventName("click"),this.options.delegate,function(s){s.preventDefault(),e.active=Number(this.dataset.index),e.open()},this.element)}unbind(){removeEvent(this.eventName("click"),this.element)}bindConatiner(){bindEvent(this.eventName("click"),e=>{e.preventDefault(),e.stopPropagation();const s=e.target;(hasClass(this.slider.plugin.classes.CARD,s)||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(){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(){addClass(this.classes.SHOW,this.container),this.bindConatiner(),this.enter("show")}hide(){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.thumbs&&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),append(this.footer,this.container),this.caption=new Caption(this),this.thumbs=new Thumbs(this),this.options.theme&&addClass(this.getThemeClass(),this.container),append(this.container,document.body),this.enter("generate")}getElement(e){const s=this.options.templates[e];let t="";for(var i=arguments.length,n=new Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return t=templateEngine.render(s.call(this),deepMerge({classes:this.classes},...n)),parseHTML(t)}processData(e,s){const t=[];return e.forEach(e=>{let i={src:e[s]};i=deepMerge(i,e),t.push(i)}),t}parseHtml(){const e=[];return this.element.querySelectorAll(this.options.delegate).forEach((s,t)=>{s.dataset.index=t;let i={orig:s.getAttribute("href"),thumb:s.children[0].getAttribute("src")};const n=Object.entries(s.dataset).reduce((e,s)=>{let t=_slicedToArray(s,2),i=t[0],n=t[1];try{return _objectSpread({},e,{[i]:JSON.parse('{"data": '.concat(n.replace(/'/g,'"'),"}")).data})}catch(s){return _objectSpread({},e,{[i]:n})}},{});i=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;export default Gallery; |
/*! | ||
* @pluginjs/lightbox v0.7.15 (https://pluginjs.com) | ||
* @pluginjs/lightbox v0.7.16 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
@@ -4,0 +4,0 @@ * Released under the GPL-3.0 License. |
/*! | ||
* @pluginjs/lightbox v0.7.15 (https://pluginjs.com) | ||
* @pluginjs/lightbox v0.7.16 (https://pluginjs.com) | ||
* Copyright 2019 Creation Studio Limited | ||
@@ -4,0 +4,0 @@ * Released under the GPL-3.0 License. |
@@ -14,3 +14,3 @@ { | ||
}, | ||
"version": "0.7.15", | ||
"version": "0.7.16", | ||
"category": "media", | ||
@@ -51,6 +51,6 @@ "main": "dist/lightbox.common.js", | ||
"@pluginjs/keyboard": "^0.7.8", | ||
"@pluginjs/slider": "^0.7.14", | ||
"@pluginjs/slider": "^0.7.15", | ||
"@pluginjs/styled": "^0.7.8", | ||
"@pluginjs/template": "^0.7.8", | ||
"@pluginjs/thumbnails": "^0.7.11", | ||
"@pluginjs/thumbnails": "^0.7.12", | ||
"@pluginjs/utils": "^0.7.8", | ||
@@ -87,4 +87,3 @@ "@pluginjs/video": "^0.7.12" | ||
"extends @pluginjs/browserslist-config" | ||
], | ||
"gitHead": "290fd3939aca081ceab305e0d4157ee0d52b45bf" | ||
] | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
141770
18
2972
Updated@pluginjs/slider@^0.7.15
Updated@pluginjs/thumbnails@^0.7.12