From d2c3618805f17cc35c45952f031c32176827c410 Mon Sep 17 00:00:00 2001 From: Pierre Lemieux Date: Tue, 27 Feb 2018 14:38:13 -0500 Subject: [PATCH 1/2] Remove selector restriction when creating group --- lib/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/index.js b/lib/index.js index b998d77..c243b02 100644 --- a/lib/index.js +++ b/lib/index.js @@ -126,7 +126,7 @@ const install = (Vue, options) => { images = [el]; } else { images = [ - ...document.querySelectorAll(`img[data-vue-img-group="${el.dataset.vueImgGroup}"]`), + ...document.querySelectorAll(`[data-vue-img-group="${el.dataset.vueImgGroup}"]`), ]; } Vue.set(vm, 'images', images.map(e => e.dataset.vueImgSrc)); From a3dc0ca02fe54da3e7304a953da0b568778cfe47 Mon Sep 17 00:00:00 2001 From: Pierre Lemieux Date: Tue, 27 Feb 2018 14:51:07 -0500 Subject: [PATCH 2/2] build dist --- dist/v-img.js | 2 +- dist/v-img.js.map | 2 +- dist/v-img.mjs | 2 +- dist/v-img.mjs.map | 2 +- package-lock.json | 175 ++++++++++++++++++++++++++++----------------- 5 files changed, 115 insertions(+), 68 deletions(-) diff --git a/dist/v-img.js b/dist/v-img.js index 5e428fd..38e8f46 100644 --- a/dist/v-img.js +++ b/dist/v-img.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e["vue-img"]=t()}(this,function(){"use strict";!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style"),n=" *[data-v-5928e1c7] { -webkit-box-sizing: border-box; box-sizing: border-box; } .fullscreen-v-img[data-v-5928e1c7] { z-index: 9999; height: 100%; width: 100%; position: fixed; top: 0; left: 0; overflow: hidden; background-color: rgba(0, 0, 0, 0.7); -ms-touch-action: none; touch-action: none; } .content-v-img img[data-v-5928e1c7] { width: auto; height: auto; max-width: 100%; max-height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .header-v-img[data-v-5928e1c7], .footer-v-img[data-v-5928e1c7] { position: absolute; width: 100%; background-color: rgba(0, 0, 0, 0.3); height: 50px; z-index: 9999; display: flex; align-items: center; } .header-v-img[data-v-5928e1c7] { justify-content: space-between; } .footer-v-img[data-v-5928e1c7] { bottom: 0; justify-content: center; height: 70px; /* scrolling thumbnails on mobile */ overflow-x: auto; } .footer-v-img img[data-v-5928e1c7] { width: 60px; height: 60px; cursor: pointer; -webkit-transition: transform 0.2s ease-out; transition: transform 0.2s ease-out; object-fit: cover; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .footer-v-img img.is-selected[data-v-5928e1c7] { transform: scale(1.1); } .footer-v-img img[data-v-5928e1c7]:not(:last-child) { margin-right: 7px; } .title-v-img[data-v-5928e1c7] { font-family: 'Avenir', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; color: white; text-align: center; max-height: 100%; overflow: auto; } .count-v-img[data-v-5928e1c7], .buttons-v-img[data-v-5928e1c7] { width: 80px; font-family: 'Avenir', Helvetica, Arial, sans-serif; } .count-v-img[data-v-5928e1c7] { font-size: 15px; color: white; margin-left: 10px; } .buttons-v-img[data-v-5928e1c7] { margin-right: 10px; text-align: right; } .buttons-v-img span path[data-v-5928e1c7] { fill: #e5e6eb; -webkit-transition: fill 0.4s ease-in-out; transition: fill 0.4s ease-in-out; } .buttons-v-img span[data-v-5928e1c7] { cursor: pointer; color: #e5e6eb; font-size: 30px; -webkit-transition: color 0.4s ease-in-out; transition: color 0.4s ease-in-out; text-decoration: none; text-align: center; } .buttons-v-img span[data-v-5928e1c7]:not(:last-child) { margin-right: 8px; } .buttons-v-img span svg[data-v-5928e1c7] { height: 20px; width: 15px; } .buttons-v-img span:hover svg path[data-v-5928e1c7] { fill: white; } .buttons-v-img span[data-v-5928e1c7]:hover { color: white; } .prev-v-img svg[data-v-5928e1c7], .next-v-img svg[data-v-5928e1c7] { margin: 5px auto; } .prev-v-img[data-v-5928e1c7], .next-v-img[data-v-5928e1c7] { color: white; width: 35px; height: 35px; position: absolute; top: 50%; margin-top: -12.5px; font-size: 15px; font-family: 'Avenir', Helvetica, Arial, sans-serif; text-align: center; background-color: rgba(0, 0, 0, 0.3); z-index: 1000; opacity: 0.3; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; cursor: pointer; } .prev-v-img[data-v-5928e1c7]:hover, .next-v-img[data-v-5928e1c7]:hover { opacity: 1; } .prev-v-img[data-v-5928e1c7] { left: 10px; } .next-v-img[data-v-5928e1c7] { right: 10px; } .v-img-fade-enter[data-v-5928e1c7], .v-img-fade-leave-to[data-v-5928e1c7] { opacity: 0; } .v-img-fade-enter-active[data-v-5928e1c7], .v-img-fade-leave-active[data-v-5928e1c7] { -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; } ";t.type="text/css",t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n)),e.appendChild(t)}}();var e={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.closed?e._e():n("div",{staticClass:"fullscreen-v-img",on:{click:function(t){if(t.target!==t.currentTarget)return null;e.close(t)}}},[n("div",{staticClass:"header-v-img"},[n("span",{staticClass:"count-v-img"},[e.images.length>1?n("span",[e._v(e._s(e.currentImageIndex+1)+"/"+e._s(e.images.length)+" ")]):e._e()]),n("span",{staticClass:"title-v-img"},[e._v(e._s(e.titles[e.currentImageIndex]))]),n("div",{staticClass:"buttons-v-img"},[e.sourceButtons[e.currentImageIndex]?n("span",[n("a",{attrs:{href:e.images[e.currentImageIndex],target:"_blank"}},[n("svg",{staticStyle:{"enable-background":"new 0 0 475.078 475.077"},attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",id:"Capa_1",x:"0px",y:"0px",width:"512px",height:"512px",viewBox:"0 0 475.078 475.077","xml:space":"preserve"}},[n("path",{attrs:{d:"M467.083,318.627c-5.324-5.328-11.8-7.994-19.41-7.994H315.195l-38.828,38.827c-11.04,10.657-23.982,15.988-38.828,15.988 c-14.843,0-27.789-5.324-38.828-15.988l-38.543-38.827H27.408c-7.612,0-14.083,2.669-19.414,7.994 C2.664,323.955,0,330.427,0,338.044v91.358c0,7.614,2.664,14.085,7.994,19.414c5.33,5.328,11.801,7.99,19.414,7.99h420.266 c7.61,0,14.086-2.662,19.41-7.99c5.332-5.329,7.994-11.8,7.994-19.414v-91.358C475.078,330.427,472.416,323.955,467.083,318.627z M360.025,414.841c-3.621,3.617-7.905,5.424-12.854,5.424s-9.227-1.807-12.847-5.424c-3.614-3.617-5.421-7.898-5.421-12.844 c0-4.948,1.807-9.236,5.421-12.847c3.62-3.62,7.898-5.431,12.847-5.431s9.232,1.811,12.854,5.431 c3.613,3.61,5.421,7.898,5.421,12.847C365.446,406.942,363.638,411.224,360.025,414.841z M433.109,414.841 c-3.614,3.617-7.898,5.424-12.848,5.424c-4.948,0-9.229-1.807-12.847-5.424c-3.613-3.617-5.42-7.898-5.42-12.844 c0-4.948,1.807-9.236,5.42-12.847c3.617-3.62,7.898-5.431,12.847-5.431c4.949,0,9.233,1.811,12.848,5.431 c3.617,3.61,5.427,7.898,5.427,12.847C438.536,406.942,436.729,411.224,433.109,414.841z",fill:"#FFFFFF"}}),n("path",{attrs:{d:"M224.692,323.479c3.428,3.613,7.71,5.421,12.847,5.421c5.141,0,9.418-1.808,12.847-5.421l127.907-127.908 c5.899-5.519,7.234-12.182,3.997-19.986c-3.23-7.421-8.847-11.132-16.844-11.136h-73.091V36.543c0-4.948-1.811-9.231-5.421-12.847 c-3.62-3.617-7.901-5.426-12.847-5.426h-73.096c-4.946,0-9.229,1.809-12.847,5.426c-3.615,3.616-5.424,7.898-5.424,12.847V164.45 h-73.089c-7.998,0-13.61,3.715-16.846,11.136c-3.234,7.801-1.903,14.467,3.999,19.986L224.692,323.479z",fill:"#FFFFFF"}})])])]):e._e(),n("span",{on:{click:e.close}},[e._v("×")])])]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"prev-v-img",on:{click:e.prev}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1664 896v128q0 53-32.5 90.5t-84.5 37.5h-704l293 294q38 36 38 90t-38 90l-75 76q-37 37-90 37-52 0-91-37l-651-652q-37-37-37-90 0-52 37-91l651-650q38-38 91-38 52 0 90 38l75 74q38 38 38 91t-38 91l-293 293h704q52 0 84.5 37.5t32.5 90.5z",fill:"#fff"}})])]):e._e()]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"next-v-img",on:{click:e.next}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1600 960q0 54-37 91l-651 651q-39 37-91 37-51 0-90-37l-75-75q-38-38-38-91t38-91l293-293h-704q-52 0-84.5-37.5t-32.5-90.5v-128q0-53 32.5-90.5t84.5-37.5h704l-293-294q-38-36-38-90t38-90l75-75q38-38 90-38 53 0 91 38l651 651q37 35 37 90z",fill:"#fff"}})])]):e._e()]),e.thumbnails&&e.images.length>1?n("div",{staticClass:"footer-v-img"},e._l(e.images,function(t,i){return n("img",{key:i,class:{"is-selected":e.currentImageIndex==i},attrs:{src:t},on:{click:function(t){e.select(i)}}})})):e._e(),n("div",{staticClass:"content-v-img"},[n("img",{attrs:{src:e.images[e.currentImageIndex]},on:{click:e.next}})])],1)])},staticRenderFns:[],_scopeId:"data-v-5928e1c7",data:function(){return{images:[],titles:[],sourceButtons:[],visibleUI:!0,currentImageIndex:0,closed:!0,uiTimeout:null,handlers:{},thumbnails:!1}},watch:{closed:function(e){e&&this.handlers.closed&&this.handlers.closed(),!e&&this.handlers.opened&&this.handlers.opened()}},methods:{fireChangeEvent:function(){this.handlers.changed&&this.handlers.changed(this.currentImageIndex)},close:function(){this.closed||(document.querySelector("body").classList.remove("body-fs-v-img"),this.images=[],this.currentImageIndex=0,this.closed=!0)},next:function(){!this.closed&&this.images.length>1&&(this.currentImageIndex+11&&(this.currentImageIndex>0?this.currentImageIndex--:this.currentImageIndex=this.images.length-1,this.fireChangeEvent())},showUI:function(){var e=this;this.closed||(clearTimeout(this.uiTimeout),this.visibleUI=!0,this.uiTimeout=setTimeout(function(){e.visibleUI=!1},3500))}},created:function(){var e=this;window.addEventListener("keyup",function(t){27!==t.keyCode&&81!==t.keyCode||e.close(),39!==t.keyCode&&76!==t.keyCode||e.next(),37!==t.keyCode&&72!==t.keyCode||e.prev()}),window.addEventListener("scroll",function(){e.close()}),window.addEventListener("mousemove",function(){e.showUI()})}},t=(function(){function e(e){this.value=e}function t(t){function n(a,o){try{var s=t[a](o),r=s.value;r instanceof e?Promise.resolve(r.value).then(function(e){n("next",e)},function(e){n("throw",e)}):i(s.done?"return":"normal",s.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":a.resolve({value:t,done:!0});break;case"throw":a.reject(t);break;default:a.resolve({value:t,done:!1})}(a=a.next)?n(a.key,a.arg):o=null}var a,o;this._invoke=function(e,t){return new Promise(function(i,s){var r={key:e,arg:t,resolve:i,reject:s,next:null};o?o=o.next=r:(a=o=r,n(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),Object.assign||function(e){for(var t=1;t1?n("span",[e._v(e._s(e.currentImageIndex+1)+"/"+e._s(e.images.length)+" ")]):e._e()]),n("span",{staticClass:"title-v-img"},[e._v(e._s(e.titles[e.currentImageIndex]))]),n("div",{staticClass:"buttons-v-img"},[e.sourceButtons[e.currentImageIndex]?n("span",[n("a",{attrs:{href:e.images[e.currentImageIndex],target:"_blank"}},[n("svg",{staticStyle:{"enable-background":"new 0 0 475.078 475.077"},attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",id:"Capa_1",x:"0px",y:"0px",width:"512px",height:"512px",viewBox:"0 0 475.078 475.077","xml:space":"preserve"}},[n("path",{attrs:{d:"M467.083,318.627c-5.324-5.328-11.8-7.994-19.41-7.994H315.195l-38.828,38.827c-11.04,10.657-23.982,15.988-38.828,15.988 c-14.843,0-27.789-5.324-38.828-15.988l-38.543-38.827H27.408c-7.612,0-14.083,2.669-19.414,7.994 C2.664,323.955,0,330.427,0,338.044v91.358c0,7.614,2.664,14.085,7.994,19.414c5.33,5.328,11.801,7.99,19.414,7.99h420.266 c7.61,0,14.086-2.662,19.41-7.99c5.332-5.329,7.994-11.8,7.994-19.414v-91.358C475.078,330.427,472.416,323.955,467.083,318.627z M360.025,414.841c-3.621,3.617-7.905,5.424-12.854,5.424s-9.227-1.807-12.847-5.424c-3.614-3.617-5.421-7.898-5.421-12.844 c0-4.948,1.807-9.236,5.421-12.847c3.62-3.62,7.898-5.431,12.847-5.431s9.232,1.811,12.854,5.431 c3.613,3.61,5.421,7.898,5.421,12.847C365.446,406.942,363.638,411.224,360.025,414.841z M433.109,414.841 c-3.614,3.617-7.898,5.424-12.848,5.424c-4.948,0-9.229-1.807-12.847-5.424c-3.613-3.617-5.42-7.898-5.42-12.844 c0-4.948,1.807-9.236,5.42-12.847c3.617-3.62,7.898-5.431,12.847-5.431c4.949,0,9.233,1.811,12.848,5.431 c3.617,3.61,5.427,7.898,5.427,12.847C438.536,406.942,436.729,411.224,433.109,414.841z",fill:"#FFFFFF"}}),n("path",{attrs:{d:"M224.692,323.479c3.428,3.613,7.71,5.421,12.847,5.421c5.141,0,9.418-1.808,12.847-5.421l127.907-127.908 c5.899-5.519,7.234-12.182,3.997-19.986c-3.23-7.421-8.847-11.132-16.844-11.136h-73.091V36.543c0-4.948-1.811-9.231-5.421-12.847 c-3.62-3.617-7.901-5.426-12.847-5.426h-73.096c-4.946,0-9.229,1.809-12.847,5.426c-3.615,3.616-5.424,7.898-5.424,12.847V164.45 h-73.089c-7.998,0-13.61,3.715-16.846,11.136c-3.234,7.801-1.903,14.467,3.999,19.986L224.692,323.479z",fill:"#FFFFFF"}})])])]):e._e(),n("span",{on:{click:e.close}},[e._v("×")])])]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"prev-v-img",on:{click:e.prev}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1664 896v128q0 53-32.5 90.5t-84.5 37.5h-704l293 294q38 36 38 90t-38 90l-75 76q-37 37-90 37-52 0-91-37l-651-652q-37-37-37-90 0-52 37-91l651-650q38-38 91-38 52 0 90 38l75 74q38 38 38 91t-38 91l-293 293h704q52 0 84.5 37.5t32.5 90.5z",fill:"#fff"}})])]):e._e()]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"next-v-img",on:{click:e.next}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1600 960q0 54-37 91l-651 651q-39 37-91 37-51 0-90-37l-75-75q-38-38-38-91t38-91l293-293h-704q-52 0-84.5-37.5t-32.5-90.5v-128q0-53 32.5-90.5t84.5-37.5h704l-293-294q-38-36-38-90t38-90l75-75q38-38 90-38 53 0 91 38l651 651q37 35 37 90z",fill:"#fff"}})])]):e._e()]),e.thumbnails&&e.images.length>1?n("div",{staticClass:"footer-v-img"},e._l(e.images,function(t,i){return n("img",{key:i,class:{"is-selected":e.currentImageIndex==i},attrs:{src:t},on:{click:function(t){e.select(i)}}})})):e._e(),n("div",{staticClass:"content-v-img"},[n("img",{attrs:{src:e.images[e.currentImageIndex]},on:{click:e.next}})])],1)])},staticRenderFns:[],_scopeId:"data-v-5928e1c7",data:function(){return{images:[],titles:[],sourceButtons:[],visibleUI:!0,currentImageIndex:0,closed:!0,uiTimeout:null,handlers:{},thumbnails:!1}},watch:{closed:function(e){e&&this.handlers.closed&&this.handlers.closed(),!e&&this.handlers.opened&&this.handlers.opened()}},methods:{fireChangeEvent:function(){this.handlers.changed&&this.handlers.changed(this.currentImageIndex)},close:function(){this.closed||(document.querySelector("body").classList.remove("body-fs-v-img"),this.images=[],this.currentImageIndex=0,this.closed=!0)},next:function(){!this.closed&&this.images.length>1&&(this.currentImageIndex+11&&(this.currentImageIndex>0?this.currentImageIndex--:this.currentImageIndex=this.images.length-1,this.fireChangeEvent())},showUI:function(){var e=this;this.closed||(clearTimeout(this.uiTimeout),this.visibleUI=!0,this.uiTimeout=setTimeout(function(){e.visibleUI=!1},3500))}},created:function(){var e=this;window.addEventListener("keyup",function(t){27!==t.keyCode&&81!==t.keyCode||e.close(),39!==t.keyCode&&76!==t.keyCode||e.next(),37!==t.keyCode&&72!==t.keyCode||e.prev()}),window.addEventListener("scroll",function(){e.close()}),window.addEventListener("mousemove",function(){e.showUI()})}},t=(function(){function e(e){this.value=e}function t(t){function n(a,o){try{var s=t[a](o),r=s.value;r instanceof e?Promise.resolve(r.value).then(function(e){n("next",e)},function(e){n("throw",e)}):i(s.done?"return":"normal",s.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":a.resolve({value:t,done:!0});break;case"throw":a.reject(t);break;default:a.resolve({value:t,done:!1})}(a=a.next)?n(a.key,a.arg):o=null}var a,o;this._invoke=function(e,t){return new Promise(function(i,s){var r={key:e,arg:t,resolve:i,reject:s,next:null};o?o=o.next=r:(a=o=r,n(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),Object.assign||function(e){for(var t=1;t\n \n \n \n
\n \n
\n \n 1\">\n {{ currentImageIndex + 1 }}/{{ images.length }}\n \n \n \n {{ titles[currentImageIndex] }}\n \n
\n \n \n \n \n \n \n \n \n \n ×\n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
1\">\n \n
\n\n
\n \n
\n\n
\n
\n\n\n\n\n\n","/* eslint-disable no-undef */\n/* eslint-disable no-console */\n\nimport ImgScreen from './ImgScreen.vue';\n\nconst addPluginAttributes = (el, binding, options) => {\n // Defaults\n let cursor = 'pointer';\n let group = binding.arg || null;\n let openOn;\n let sourceButton;\n let src = el.src; // eslint-disable-line prefer-destructuring\n let title;\n let thumbnails;\n const events = {};\n\n if (options.altAsTitle) title = el.alt;\n\n /* eslint-disable prefer-destructuring */\n // Assigning values from plugin initialization options here\n openOn = options.openOn;\n sourceButton = options.sourceButton;\n thumbnails = options.thumbnails;\n /* eslint-enable prefer-destructuring */\n\n // Overriding options if they're provided in binding.value\n if (typeof binding.value !== 'undefined') {\n cursor = binding.value.cursor || cursor;\n group = binding.value.group || group;\n openOn = binding.value.openOn || openOn;\n src = binding.value.src || src;\n title = binding.value.title || title;\n // Lifecycle functions\n events.opened = binding.value.opened;\n events.closed = binding.value.closed;\n events.changed = binding.value.changed;\n // binding.value.sourceButton could be set to false, (part before || will always be ignored)\n // that's why we're comparing it to undefined but not using approach\n // as in src, group, title, etc.\n if (binding.value.sourceButton !== undefined) {\n sourceButton = binding.value.sourceButton; // eslint-disable-line prefer-destructuring\n }\n // same as above\n if (binding.value.thumbnails !== undefined) {\n thumbnails = binding.value.thumbnails; // eslint-disable-line prefer-destructuring\n }\n }\n\n // Setting up data attributes for dynamic properties\n el.setAttribute('data-vue-img-src', src);\n\n if (group) el.setAttribute('data-vue-img-group', group);\n if (title) el.setAttribute('data-vue-img-title', title);\n if (sourceButton) el.setAttribute('data-vue-img-source-button', sourceButton);\n if (thumbnails) el.setAttribute('data-vue-img-thumbnails', thumbnails);\n\n if (!src) console.error('v-img element missing src parameter.');\n\n // Applying options\n el.style.cursor = cursor; // eslint-disable-line no-param-reassign\n\n return {\n cursor,\n src,\n group,\n title,\n events,\n sourceButton,\n openOn,\n thumbnails,\n };\n};\n\nconst install = (Vue, options) => {\n const Screen = Vue.extend(ImgScreen);\n\n const defaultOptions = {\n altAsTitle: false,\n sourceButton: false,\n thumbnails: false,\n openOn: 'click',\n };\n\n // eslint-disable-next-line no-param-reassign\n options = Object.assign(defaultOptions, options);\n\n Vue.directive('img', {\n update(el, binding, vnode, oldVnode) {\n let altUpdated;\n let srcUpdated;\n\n if (oldVnode.data.attrs && vnode.data.attrs) {\n srcUpdated = oldVnode.data.attrs.src !== vnode.data.attrs.src;\n // handle alt tag change only if option altAsTitle is enabled\n if (options.altAsTitle) {\n altUpdated = oldVnode.data.attrs.alt !== vnode.data.attrs.alt;\n }\n }\n\n const bindingValueUpdated = binding.oldValue !== binding.value;\n\n if (srcUpdated || altUpdated || bindingValueUpdated) {\n addPluginAttributes(el, binding, options);\n }\n },\n\n bind(el, binding) {\n // Don't pass anything that could be dynamic from addedAttributes\n // object to vm.\n const addedAttributes = addPluginAttributes(el, binding, options);\n\n // Finding existing vm, or creating new one\n let vm = window.vueImg;\n if (!vm) {\n const element = document.createElement('div');\n element.setAttribute('id', 'imageScreen');\n document.querySelector('body').appendChild(element);\n // eslint-disable-next-line no-multi-assign\n vm = window.vueImg = new Screen().$mount('#imageScreen');\n }\n\n // Updating vm's data\n el.addEventListener(addedAttributes.openOn, () => {\n let images;\n if (!el.dataset.vueImgGroup) {\n images = [el];\n } else {\n images = [\n ...document.querySelectorAll(`img[data-vue-img-group=\"${el.dataset.vueImgGroup}\"]`),\n ];\n }\n Vue.set(vm, 'images', images.map(e => e.dataset.vueImgSrc));\n Vue.set(vm, 'titles', images.map(e => e.dataset.vueImgTitle));\n Vue.set(vm, 'sourceButtons', images.map(e => e.dataset.vueImgSourceButton === 'true'));\n Vue.set(vm, 'thumbnails', el.dataset.vueImgThumbnails === 'true');\n Vue.set(vm, 'currentImageIndex', images.indexOf(el));\n Vue.set(vm, 'handlers', addedAttributes.events);\n Vue.set(vm, 'closed', false);\n });\n },\n });\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(install);\n}\n\nexport default install;\n"],"names":["render","newVal","this","handlers","closed","opened","changed","currentImageIndex","querySelector","classList","remove","images","length","fireChangeEvent","selectedImage","uiTimeout","visibleUI","setTimeout","addEventListener","e","keyCode","_this2","close","next","prev","showUI","addPluginAttributes","el","binding","options","cursor","group","arg","openOn","sourceButton","src","title","thumbnails","events","altAsTitle","alt","value","undefined","setAttribute","console","error","style","install","Vue","Screen","extend","ImgScreen","babelHelpers.extends","directive","vnode","oldVnode","altUpdated","srcUpdated","data","attrs","bindingValueUpdated","oldValue","addedAttributes","vm","window","vueImg","element","document","createElement","appendChild","$mount","dataset","vueImgGroup","querySelectorAll","set","map","vueImgSrc","vueImgTitle","vueImgSourceButton","vueImgThumbnails","indexOf","use"],"mappings":"uLAAA,koHAAA,GAwEA,OAAgBA,qkIAMC,oBACQ,UACX,YACG,6BAEC,2BAIPC,GACDA,GAAUC,KAAKC,SAASC,aACrBD,SAASC,UAEXH,GAAUC,KAAKC,SAASE,aACtBF,SAASE,+CAUZH,KAAKC,SAASG,cACXH,SAASG,QAAQJ,KAAKK,qCAIxBL,KAAKE,kBACCI,cAAc,QAAQC,UAAUC,OAAO,sBAC3CC,eACAJ,kBAAoB,OACpBH,QAAS,qBAIXF,KAAKE,QAAUF,KAAKS,OAAOC,OAAS,IAEnCV,KAAKK,kBAAoB,EAAIL,KAAKS,OAAOC,YACtCL,yBAEAA,kBAAoB,OAEtBM,oCAGFC,QACAP,kBAAoBO,oBAGpBZ,KAAKE,QAAUF,KAAKS,OAAOC,OAAS,IAEnCV,KAAKK,kBAAoB,OACtBA,yBAEAA,kBAAoBL,KAAKS,OAAOC,OAAS,OAE3CC,iDAIFX,KAAKE,sBAGKF,KAAKa,gBACbC,WAAY,OACZD,UAAYE,WAAW,aACrBD,WAAY,GAChB,8CAKAE,iBAAiB,QAAS,YAEb,KAAdC,EAAEC,SAAgC,KAAdD,EAAEC,SAAgBC,EAAKC,QAE7B,KAAdH,EAAEC,SAAgC,KAAdD,EAAEC,SAAgBC,EAAKE,OAE7B,KAAdJ,EAAEC,SAAgC,KAAdD,EAAEC,SAAgBC,EAAKG,gBAE1CN,iBAAiB,SAAU,aAC3BI,iBAEAJ,iBAAiB,YAAa,aAC9BO,ssCC/JLC,EAAsB,SAACC,EAAIC,EAASC,OAEpCC,EAAS,UACTC,EAAQH,EAAQI,KAAO,KACvBC,SACAC,SACAC,EAAMR,EAAGQ,IACTC,SACAC,SACEC,YAEFT,EAAQU,aAAYH,EAAQT,EAAGa,OAI1BX,EAAQI,SACFJ,EAAQK,eACVL,EAAQQ,gBAIQ,IAAlBT,EAAQa,UACRb,EAAQa,MAAMX,QAAUA,IACzBF,EAAQa,MAAMV,OAASA,IACtBH,EAAQa,MAAMR,QAAUA,IAC3BL,EAAQa,MAAMN,KAAOA,IACnBP,EAAQa,MAAML,OAASA,IAExB/B,OAASuB,EAAQa,MAAMpC,SACvBD,OAASwB,EAAQa,MAAMrC,SACvBE,QAAUsB,EAAQa,MAAMnC,aAIIoC,IAA/Bd,EAAQa,MAAMP,iBACDN,EAAQa,MAAMP,mBAGEQ,IAA7Bd,EAAQa,MAAMJ,eACHT,EAAQa,MAAMJ,eAK5BM,aAAa,mBAAoBR,GAEhCJ,GAAOJ,EAAGgB,aAAa,qBAAsBZ,GAC7CK,GAAOT,EAAGgB,aAAa,qBAAsBP,GAC7CF,GAAcP,EAAGgB,aAAa,6BAA8BT,GAC5DG,GAAYV,EAAGgB,aAAa,0BAA2BN,GAEtDF,GAAKS,QAAQC,MAAM,0CAGrBC,MAAMhB,OAASA,kFAcdiB,EAAU,SAACC,EAAKnB,OACdoB,EAASD,EAAIE,OAAOC,KAUhBC,eAPI,gBACE,cACF,SACJ,SAI8BvB,KAEpCwB,UAAU,uBACL1B,EAAIC,EAAS0B,EAAOC,OACrBC,SACAC,SAEAF,EAASG,KAAKC,OAASL,EAAMI,KAAKC,UACvBJ,EAASG,KAAKC,MAAMxB,MAAQmB,EAAMI,KAAKC,MAAMxB,IAEtDN,EAAQU,eACGgB,EAASG,KAAKC,MAAMnB,MAAQc,EAAMI,KAAKC,MAAMnB,UAIxDoB,EAAsBhC,EAAQiC,WAAajC,EAAQa,OAErDgB,GAAcD,GAAcI,MACVjC,EAAIC,EAASC,kBAIhCF,EAAIC,OAGDkC,EAAkBpC,EAAoBC,EAAIC,EAASC,GAGrDkC,EAAKC,OAAOC,WACXF,EAAI,KACDG,EAAUC,SAASC,cAAc,SAC/BzB,aAAa,KAAM,wBAClBnC,cAAc,QAAQ6D,YAAYH,KAEtCF,OAAOC,QAAS,IAAIhB,GAASqB,OAAO,kBAIxCpD,iBAAiB4C,EAAgB7B,OAAQ,eACtCtB,WACCgB,EAAG4C,QAAQC,wBAITL,SAASM,4CAA4C9C,EAAG4C,QAAQC,qBAH3D7C,KAMR+C,IAAIX,EAAI,SAAUpD,EAAOgE,IAAI,mBAAKxD,EAAEoD,QAAQK,eAC5CF,IAAIX,EAAI,SAAUpD,EAAOgE,IAAI,mBAAKxD,EAAEoD,QAAQM,iBAC5CH,IAAIX,EAAI,gBAAiBpD,EAAOgE,IAAI,kBAAsC,SAAjCxD,EAAEoD,QAAQO,wBACnDJ,IAAIX,EAAI,aAA8C,SAAhCpC,EAAG4C,QAAQQ,oBACjCL,IAAIX,EAAI,oBAAqBpD,EAAOqE,QAAQrD,MAC5C+C,IAAIX,EAAI,WAAYD,EAAgBxB,UACpCoC,IAAIX,EAAI,UAAU,eAMR,oBAAXC,QAA0BA,OAAOhB,YACnCA,IAAIiC,IAAIlC"} \ No newline at end of file +{"version":3,"file":"v-img.js","sources":["../lib/ImgScreen.vue","../lib/index.js"],"sourcesContent":["\n\n\n\n\n","/* eslint-disable no-undef */\n/* eslint-disable no-console */\n\nimport ImgScreen from './ImgScreen.vue';\n\nconst addPluginAttributes = (el, binding, options) => {\n // Defaults\n let cursor = 'pointer';\n let group = binding.arg || null;\n let openOn;\n let sourceButton;\n let src = el.src; // eslint-disable-line prefer-destructuring\n let title;\n let thumbnails;\n const events = {};\n\n if (options.altAsTitle) title = el.alt;\n\n /* eslint-disable prefer-destructuring */\n // Assigning values from plugin initialization options here\n openOn = options.openOn;\n sourceButton = options.sourceButton;\n thumbnails = options.thumbnails;\n /* eslint-enable prefer-destructuring */\n\n // Overriding options if they're provided in binding.value\n if (typeof binding.value !== 'undefined') {\n cursor = binding.value.cursor || cursor;\n group = binding.value.group || group;\n openOn = binding.value.openOn || openOn;\n src = binding.value.src || src;\n title = binding.value.title || title;\n // Lifecycle functions\n events.opened = binding.value.opened;\n events.closed = binding.value.closed;\n events.changed = binding.value.changed;\n // binding.value.sourceButton could be set to false, (part before || will always be ignored)\n // that's why we're comparing it to undefined but not using approach\n // as in src, group, title, etc.\n if (binding.value.sourceButton !== undefined) {\n sourceButton = binding.value.sourceButton; // eslint-disable-line prefer-destructuring\n }\n // same as above\n if (binding.value.thumbnails !== undefined) {\n thumbnails = binding.value.thumbnails; // eslint-disable-line prefer-destructuring\n }\n }\n\n // Setting up data attributes for dynamic properties\n el.setAttribute('data-vue-img-src', src);\n\n if (group) el.setAttribute('data-vue-img-group', group);\n if (title) el.setAttribute('data-vue-img-title', title);\n if (sourceButton) el.setAttribute('data-vue-img-source-button', sourceButton);\n if (thumbnails) el.setAttribute('data-vue-img-thumbnails', thumbnails);\n\n if (!src) console.error('v-img element missing src parameter.');\n\n // Applying options\n el.style.cursor = cursor; // eslint-disable-line no-param-reassign\n\n return {\n cursor,\n src,\n group,\n title,\n events,\n sourceButton,\n openOn,\n thumbnails,\n };\n};\n\nconst install = (Vue, options) => {\n const Screen = Vue.extend(ImgScreen);\n\n const defaultOptions = {\n altAsTitle: false,\n sourceButton: false,\n thumbnails: false,\n openOn: 'click',\n };\n\n // eslint-disable-next-line no-param-reassign\n options = Object.assign(defaultOptions, options);\n\n Vue.directive('img', {\n update(el, binding, vnode, oldVnode) {\n let altUpdated;\n let srcUpdated;\n\n if (oldVnode.data.attrs && vnode.data.attrs) {\n srcUpdated = oldVnode.data.attrs.src !== vnode.data.attrs.src;\n // handle alt tag change only if option altAsTitle is enabled\n if (options.altAsTitle) {\n altUpdated = oldVnode.data.attrs.alt !== vnode.data.attrs.alt;\n }\n }\n\n const bindingValueUpdated = binding.oldValue !== binding.value;\n\n if (srcUpdated || altUpdated || bindingValueUpdated) {\n addPluginAttributes(el, binding, options);\n }\n },\n\n bind(el, binding) {\n // Don't pass anything that could be dynamic from addedAttributes\n // object to vm.\n const addedAttributes = addPluginAttributes(el, binding, options);\n\n // Finding existing vm, or creating new one\n let vm = window.vueImg;\n if (!vm) {\n const element = document.createElement('div');\n element.setAttribute('id', 'imageScreen');\n document.querySelector('body').appendChild(element);\n // eslint-disable-next-line no-multi-assign\n vm = window.vueImg = new Screen().$mount('#imageScreen');\n }\n\n // Updating vm's data\n el.addEventListener(addedAttributes.openOn, () => {\n let images;\n if (!el.dataset.vueImgGroup) {\n images = [el];\n } else {\n images = [\n ...document.querySelectorAll(`[data-vue-img-group=\"${el.dataset.vueImgGroup}\"]`),\n ];\n }\n Vue.set(vm, 'images', images.map(e => e.dataset.vueImgSrc));\n Vue.set(vm, 'titles', images.map(e => e.dataset.vueImgTitle));\n Vue.set(vm, 'sourceButtons', images.map(e => e.dataset.vueImgSourceButton === 'true'));\n Vue.set(vm, 'thumbnails', el.dataset.vueImgThumbnails === 'true');\n Vue.set(vm, 'currentImageIndex', images.indexOf(el));\n Vue.set(vm, 'handlers', addedAttributes.events);\n Vue.set(vm, 'closed', false);\n });\n },\n });\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(install);\n}\n\nexport default install;\n"],"names":["render","newVal","this","handlers","closed","opened","changed","currentImageIndex","querySelector","classList","remove","images","length","fireChangeEvent","selectedImage","uiTimeout","visibleUI","setTimeout","addEventListener","e","keyCode","_this2","close","next","prev","showUI","addPluginAttributes","el","binding","options","cursor","group","arg","openOn","sourceButton","src","title","thumbnails","events","altAsTitle","alt","value","undefined","setAttribute","console","error","style","install","Vue","Screen","extend","ImgScreen","babelHelpers.extends","directive","vnode","oldVnode","altUpdated","srcUpdated","data","attrs","bindingValueUpdated","oldValue","addedAttributes","vm","window","vueImg","element","document","createElement","appendChild","$mount","dataset","vueImgGroup","querySelectorAll","set","map","vueImgSrc","vueImgTitle","vueImgSourceButton","vueImgThumbnails","indexOf","use"],"mappings":"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"} \ No newline at end of file diff --git a/dist/v-img.mjs b/dist/v-img.mjs index ec1b898..12a8d97 100644 --- a/dist/v-img.mjs +++ b/dist/v-img.mjs @@ -1,2 +1,2 @@ -!function(){if("undefined"!=typeof document){var e=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style"),n=" *[data-v-5928e1c7] { -webkit-box-sizing: border-box; box-sizing: border-box; } .fullscreen-v-img[data-v-5928e1c7] { z-index: 9999; height: 100%; width: 100%; position: fixed; top: 0; left: 0; overflow: hidden; background-color: rgba(0, 0, 0, 0.7); -ms-touch-action: none; touch-action: none; } .content-v-img img[data-v-5928e1c7] { width: auto; height: auto; max-width: 100%; max-height: 100%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .header-v-img[data-v-5928e1c7], .footer-v-img[data-v-5928e1c7] { position: absolute; width: 100%; background-color: rgba(0, 0, 0, 0.3); height: 50px; z-index: 9999; display: flex; align-items: center; } .header-v-img[data-v-5928e1c7] { justify-content: space-between; } .footer-v-img[data-v-5928e1c7] { bottom: 0; justify-content: center; height: 70px; /* scrolling thumbnails on mobile */ overflow-x: auto; } .footer-v-img img[data-v-5928e1c7] { width: 60px; height: 60px; cursor: pointer; -webkit-transition: transform 0.2s ease-out; transition: transform 0.2s ease-out; object-fit: cover; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .footer-v-img img.is-selected[data-v-5928e1c7] { transform: scale(1.1); } .footer-v-img img[data-v-5928e1c7]:not(:last-child) { margin-right: 7px; } .title-v-img[data-v-5928e1c7] { font-family: 'Avenir', Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 400; color: white; text-align: center; max-height: 100%; overflow: auto; } .count-v-img[data-v-5928e1c7], .buttons-v-img[data-v-5928e1c7] { width: 80px; font-family: 'Avenir', Helvetica, Arial, sans-serif; } .count-v-img[data-v-5928e1c7] { font-size: 15px; color: white; margin-left: 10px; } .buttons-v-img[data-v-5928e1c7] { margin-right: 10px; text-align: right; } .buttons-v-img span path[data-v-5928e1c7] { fill: #e5e6eb; -webkit-transition: fill 0.4s ease-in-out; transition: fill 0.4s ease-in-out; } .buttons-v-img span[data-v-5928e1c7] { cursor: pointer; color: #e5e6eb; font-size: 30px; -webkit-transition: color 0.4s ease-in-out; transition: color 0.4s ease-in-out; text-decoration: none; text-align: center; } .buttons-v-img span[data-v-5928e1c7]:not(:last-child) { margin-right: 8px; } .buttons-v-img span svg[data-v-5928e1c7] { height: 20px; width: 15px; } .buttons-v-img span:hover svg path[data-v-5928e1c7] { fill: white; } .buttons-v-img span[data-v-5928e1c7]:hover { color: white; } .prev-v-img svg[data-v-5928e1c7], .next-v-img svg[data-v-5928e1c7] { margin: 5px auto; } .prev-v-img[data-v-5928e1c7], .next-v-img[data-v-5928e1c7] { color: white; width: 35px; height: 35px; position: absolute; top: 50%; margin-top: -12.5px; font-size: 15px; font-family: 'Avenir', Helvetica, Arial, sans-serif; text-align: center; background-color: rgba(0, 0, 0, 0.3); z-index: 1000; opacity: 0.3; -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; cursor: pointer; } .prev-v-img[data-v-5928e1c7]:hover, .next-v-img[data-v-5928e1c7]:hover { opacity: 1; } .prev-v-img[data-v-5928e1c7] { left: 10px; } .next-v-img[data-v-5928e1c7] { right: 10px; } .v-img-fade-enter[data-v-5928e1c7], .v-img-fade-leave-to[data-v-5928e1c7] { opacity: 0; } .v-img-fade-enter-active[data-v-5928e1c7], .v-img-fade-leave-active[data-v-5928e1c7] { -webkit-transition: opacity 0.3s ease-in-out; transition: opacity 0.3s ease-in-out; } ";t.type="text/css",t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n)),e.appendChild(t)}}();var ImgScreen={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.closed?e._e():n("div",{staticClass:"fullscreen-v-img",on:{click:function(t){if(t.target!==t.currentTarget)return null;e.close(t)}}},[n("div",{staticClass:"header-v-img"},[n("span",{staticClass:"count-v-img"},[e.images.length>1?n("span",[e._v(e._s(e.currentImageIndex+1)+"/"+e._s(e.images.length)+" ")]):e._e()]),n("span",{staticClass:"title-v-img"},[e._v(e._s(e.titles[e.currentImageIndex]))]),n("div",{staticClass:"buttons-v-img"},[e.sourceButtons[e.currentImageIndex]?n("span",[n("a",{attrs:{href:e.images[e.currentImageIndex],target:"_blank"}},[n("svg",{staticStyle:{"enable-background":"new 0 0 475.078 475.077"},attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",id:"Capa_1",x:"0px",y:"0px",width:"512px",height:"512px",viewBox:"0 0 475.078 475.077","xml:space":"preserve"}},[n("path",{attrs:{d:"M467.083,318.627c-5.324-5.328-11.8-7.994-19.41-7.994H315.195l-38.828,38.827c-11.04,10.657-23.982,15.988-38.828,15.988 c-14.843,0-27.789-5.324-38.828-15.988l-38.543-38.827H27.408c-7.612,0-14.083,2.669-19.414,7.994 C2.664,323.955,0,330.427,0,338.044v91.358c0,7.614,2.664,14.085,7.994,19.414c5.33,5.328,11.801,7.99,19.414,7.99h420.266 c7.61,0,14.086-2.662,19.41-7.99c5.332-5.329,7.994-11.8,7.994-19.414v-91.358C475.078,330.427,472.416,323.955,467.083,318.627z M360.025,414.841c-3.621,3.617-7.905,5.424-12.854,5.424s-9.227-1.807-12.847-5.424c-3.614-3.617-5.421-7.898-5.421-12.844 c0-4.948,1.807-9.236,5.421-12.847c3.62-3.62,7.898-5.431,12.847-5.431s9.232,1.811,12.854,5.431 c3.613,3.61,5.421,7.898,5.421,12.847C365.446,406.942,363.638,411.224,360.025,414.841z M433.109,414.841 c-3.614,3.617-7.898,5.424-12.848,5.424c-4.948,0-9.229-1.807-12.847-5.424c-3.613-3.617-5.42-7.898-5.42-12.844 c0-4.948,1.807-9.236,5.42-12.847c3.617-3.62,7.898-5.431,12.847-5.431c4.949,0,9.233,1.811,12.848,5.431 c3.617,3.61,5.427,7.898,5.427,12.847C438.536,406.942,436.729,411.224,433.109,414.841z",fill:"#FFFFFF"}}),n("path",{attrs:{d:"M224.692,323.479c3.428,3.613,7.71,5.421,12.847,5.421c5.141,0,9.418-1.808,12.847-5.421l127.907-127.908 c5.899-5.519,7.234-12.182,3.997-19.986c-3.23-7.421-8.847-11.132-16.844-11.136h-73.091V36.543c0-4.948-1.811-9.231-5.421-12.847 c-3.62-3.617-7.901-5.426-12.847-5.426h-73.096c-4.946,0-9.229,1.809-12.847,5.426c-3.615,3.616-5.424,7.898-5.424,12.847V164.45 h-73.089c-7.998,0-13.61,3.715-16.846,11.136c-3.234,7.801-1.903,14.467,3.999,19.986L224.692,323.479z",fill:"#FFFFFF"}})])])]):e._e(),n("span",{on:{click:e.close}},[e._v("×")])])]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"prev-v-img",on:{click:e.prev}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1664 896v128q0 53-32.5 90.5t-84.5 37.5h-704l293 294q38 36 38 90t-38 90l-75 76q-37 37-90 37-52 0-91-37l-651-652q-37-37-37-90 0-52 37-91l651-650q38-38 91-38 52 0 90 38l75 74q38 38 38 91t-38 91l-293 293h704q52 0 84.5 37.5t32.5 90.5z",fill:"#fff"}})])]):e._e()]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"next-v-img",on:{click:e.next}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1600 960q0 54-37 91l-651 651q-39 37-91 37-51 0-90-37l-75-75q-38-38-38-91t38-91l293-293h-704q-52 0-84.5-37.5t-32.5-90.5v-128q0-53 32.5-90.5t84.5-37.5h704l-293-294q-38-36-38-90t38-90l75-75q38-38 90-38 53 0 91 38l651 651q37 35 37 90z",fill:"#fff"}})])]):e._e()]),e.thumbnails&&e.images.length>1?n("div",{staticClass:"footer-v-img"},e._l(e.images,function(t,i){return n("img",{key:i,class:{"is-selected":e.currentImageIndex==i},attrs:{src:t},on:{click:function(t){e.select(i)}}})})):e._e(),n("div",{staticClass:"content-v-img"},[n("img",{attrs:{src:e.images[e.currentImageIndex]},on:{click:e.next}})])],1)])},staticRenderFns:[],_scopeId:"data-v-5928e1c7",data:function(){return{images:[],titles:[],sourceButtons:[],visibleUI:!0,currentImageIndex:0,closed:!0,uiTimeout:null,handlers:{},thumbnails:!1}},watch:{closed:function(e){e&&this.handlers.closed&&this.handlers.closed(),!e&&this.handlers.opened&&this.handlers.opened()}},methods:{fireChangeEvent:function(){this.handlers.changed&&this.handlers.changed(this.currentImageIndex)},close:function(){this.closed||(document.querySelector("body").classList.remove("body-fs-v-img"),this.images=[],this.currentImageIndex=0,this.closed=!0)},next:function(){!this.closed&&this.images.length>1&&(this.currentImageIndex+11&&(this.currentImageIndex>0?this.currentImageIndex--:this.currentImageIndex=this.images.length-1,this.fireChangeEvent())},showUI:function(){var e=this;this.closed||(clearTimeout(this.uiTimeout),this.visibleUI=!0,this.uiTimeout=setTimeout(function(){e.visibleUI=!1},3500))}},created:function(){var e=this;window.addEventListener("keyup",function(t){27!==t.keyCode&&81!==t.keyCode||e.close(),39!==t.keyCode&&76!==t.keyCode||e.next(),37!==t.keyCode&&72!==t.keyCode||e.prev()}),window.addEventListener("scroll",function(){e.close()}),window.addEventListener("mousemove",function(){e.showUI()})}},babelHelpers={},asyncGenerator=function(){function e(e){this.value=e}function t(t){function n(a,s){try{var o=t[a](s),r=o.value;r instanceof e?Promise.resolve(r.value).then(function(e){n("next",e)},function(e){n("throw",e)}):i(o.done?"return":"normal",o.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":a.resolve({value:t,done:!0});break;case"throw":a.reject(t);break;default:a.resolve({value:t,done:!1})}(a=a.next)?n(a.key,a.arg):s=null}var a,s;this._invoke=function(e,t){return new Promise(function(i,o){var r={key:e,arg:t,resolve:i,reject:o,next:null};s?s=s.next=r:(a=s=r,n(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)},{wrap:function(e){return function(){return new t(e.apply(this,arguments))}},await:function(t){return new e(t)}}}(),_extends=Object.assign||function(e){for(var t=1;t1?n("span",[e._v(e._s(e.currentImageIndex+1)+"/"+e._s(e.images.length)+" ")]):e._e()]),n("span",{staticClass:"title-v-img"},[e._v(e._s(e.titles[e.currentImageIndex]))]),n("div",{staticClass:"buttons-v-img"},[e.sourceButtons[e.currentImageIndex]?n("span",[n("a",{attrs:{href:e.images[e.currentImageIndex],target:"_blank"}},[n("svg",{staticStyle:{"enable-background":"new 0 0 475.078 475.077"},attrs:{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",id:"Capa_1",x:"0px",y:"0px",width:"512px",height:"512px",viewBox:"0 0 475.078 475.077","xml:space":"preserve"}},[n("path",{attrs:{d:"M467.083,318.627c-5.324-5.328-11.8-7.994-19.41-7.994H315.195l-38.828,38.827c-11.04,10.657-23.982,15.988-38.828,15.988 c-14.843,0-27.789-5.324-38.828-15.988l-38.543-38.827H27.408c-7.612,0-14.083,2.669-19.414,7.994 C2.664,323.955,0,330.427,0,338.044v91.358c0,7.614,2.664,14.085,7.994,19.414c5.33,5.328,11.801,7.99,19.414,7.99h420.266 c7.61,0,14.086-2.662,19.41-7.99c5.332-5.329,7.994-11.8,7.994-19.414v-91.358C475.078,330.427,472.416,323.955,467.083,318.627z M360.025,414.841c-3.621,3.617-7.905,5.424-12.854,5.424s-9.227-1.807-12.847-5.424c-3.614-3.617-5.421-7.898-5.421-12.844 c0-4.948,1.807-9.236,5.421-12.847c3.62-3.62,7.898-5.431,12.847-5.431s9.232,1.811,12.854,5.431 c3.613,3.61,5.421,7.898,5.421,12.847C365.446,406.942,363.638,411.224,360.025,414.841z M433.109,414.841 c-3.614,3.617-7.898,5.424-12.848,5.424c-4.948,0-9.229-1.807-12.847-5.424c-3.613-3.617-5.42-7.898-5.42-12.844 c0-4.948,1.807-9.236,5.42-12.847c3.617-3.62,7.898-5.431,12.847-5.431c4.949,0,9.233,1.811,12.848,5.431 c3.617,3.61,5.427,7.898,5.427,12.847C438.536,406.942,436.729,411.224,433.109,414.841z",fill:"#FFFFFF"}}),n("path",{attrs:{d:"M224.692,323.479c3.428,3.613,7.71,5.421,12.847,5.421c5.141,0,9.418-1.808,12.847-5.421l127.907-127.908 c5.899-5.519,7.234-12.182,3.997-19.986c-3.23-7.421-8.847-11.132-16.844-11.136h-73.091V36.543c0-4.948-1.811-9.231-5.421-12.847 c-3.62-3.617-7.901-5.426-12.847-5.426h-73.096c-4.946,0-9.229,1.809-12.847,5.426c-3.615,3.616-5.424,7.898-5.424,12.847V164.45 h-73.089c-7.998,0-13.61,3.715-16.846,11.136c-3.234,7.801-1.903,14.467,3.999,19.986L224.692,323.479z",fill:"#FFFFFF"}})])])]):e._e(),n("span",{on:{click:e.close}},[e._v("×")])])]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"prev-v-img",on:{click:e.prev}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1664 896v128q0 53-32.5 90.5t-84.5 37.5h-704l293 294q38 36 38 90t-38 90l-75 76q-37 37-90 37-52 0-91-37l-651-652q-37-37-37-90 0-52 37-91l651-650q38-38 91-38 52 0 90 38l75 74q38 38 38 91t-38 91l-293 293h704q52 0 84.5 37.5t32.5 90.5z",fill:"#fff"}})])]):e._e()]),n("transition",{attrs:{appear:"",name:"v-img-fade"}},[e.visibleUI&&1!==e.images.length?n("span",{staticClass:"next-v-img",on:{click:e.next}},[n("svg",{attrs:{width:"25",height:"25",viewBox:"0 0 1792 1915",xmlns:"http://www.w3.org/2000/svg"}},[n("path",{attrs:{d:"M1600 960q0 54-37 91l-651 651q-39 37-91 37-51 0-90-37l-75-75q-38-38-38-91t38-91l293-293h-704q-52 0-84.5-37.5t-32.5-90.5v-128q0-53 32.5-90.5t84.5-37.5h704l-293-294q-38-36-38-90t38-90l75-75q38-38 90-38 53 0 91 38l651 651q37 35 37 90z",fill:"#fff"}})])]):e._e()]),e.thumbnails&&e.images.length>1?n("div",{staticClass:"footer-v-img"},e._l(e.images,function(t,i){return n("img",{key:i,class:{"is-selected":e.currentImageIndex==i},attrs:{src:t},on:{click:function(t){e.select(i)}}})})):e._e(),n("div",{staticClass:"content-v-img"},[n("img",{attrs:{src:e.images[e.currentImageIndex]},on:{click:e.next}})])],1)])},staticRenderFns:[],_scopeId:"data-v-5928e1c7",data:function(){return{images:[],titles:[],sourceButtons:[],visibleUI:!0,currentImageIndex:0,closed:!0,uiTimeout:null,handlers:{},thumbnails:!1}},watch:{closed:function(e){e&&this.handlers.closed&&this.handlers.closed(),!e&&this.handlers.opened&&this.handlers.opened()}},methods:{fireChangeEvent:function(){this.handlers.changed&&this.handlers.changed(this.currentImageIndex)},close:function(){this.closed||(document.querySelector("body").classList.remove("body-fs-v-img"),this.images=[],this.currentImageIndex=0,this.closed=!0)},next:function(){!this.closed&&this.images.length>1&&(this.currentImageIndex+11&&(this.currentImageIndex>0?this.currentImageIndex--:this.currentImageIndex=this.images.length-1,this.fireChangeEvent())},showUI:function(){var e=this;this.closed||(clearTimeout(this.uiTimeout),this.visibleUI=!0,this.uiTimeout=setTimeout(function(){e.visibleUI=!1},3500))}},created:function(){var e=this;window.addEventListener("keyup",function(t){27!==t.keyCode&&81!==t.keyCode||e.close(),39!==t.keyCode&&76!==t.keyCode||e.next(),37!==t.keyCode&&72!==t.keyCode||e.prev()}),window.addEventListener("scroll",function(){e.close()}),window.addEventListener("mousemove",function(){e.showUI()})}},babelHelpers={},asyncGenerator=function(){function e(e){this.value=e}function t(t){function n(a,s){try{var o=t[a](s),r=o.value;r instanceof e?Promise.resolve(r.value).then(function(e){n("next",e)},function(e){n("throw",e)}):i(o.done?"return":"normal",o.value)}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":a.resolve({value:t,done:!0});break;case"throw":a.reject(t);break;default:a.resolve({value:t,done:!1})}(a=a.next)?n(a.key,a.arg):s=null}var a,s;this._invoke=function(e,t){return new Promise(function(i,o){var r={key:e,arg:t,resolve:i,reject:o,next:null};s?s=s.next=r:(a=s=r,n(e,t))})},"function"!=typeof t.return&&(this.return=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)},{wrap:function(e){return function(){return new t(e.apply(this,arguments))}},await:function(t){return new e(t)}}}(),_extends=Object.assign||function(e){for(var t=1;t\n \n \n \n
\n \n
\n \n 1\">\n {{ currentImageIndex + 1 }}/{{ images.length }}\n \n \n \n {{ titles[currentImageIndex] }}\n \n
\n \n \n \n \n \n \n \n \n \n ×\n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n
1\">\n \n
\n\n
\n \n
\n\n
\n
\n\n\n\n\n\n","/* eslint-disable no-undef */\n/* eslint-disable no-console */\n\nimport ImgScreen from './ImgScreen.vue';\n\nconst addPluginAttributes = (el, binding, options) => {\n // Defaults\n let cursor = 'pointer';\n let group = binding.arg || null;\n let openOn;\n let sourceButton;\n let src = el.src; // eslint-disable-line prefer-destructuring\n let title;\n let thumbnails;\n const events = {};\n\n if (options.altAsTitle) title = el.alt;\n\n /* eslint-disable prefer-destructuring */\n // Assigning values from plugin initialization options here\n openOn = options.openOn;\n sourceButton = options.sourceButton;\n thumbnails = options.thumbnails;\n /* eslint-enable prefer-destructuring */\n\n // Overriding options if they're provided in binding.value\n if (typeof binding.value !== 'undefined') {\n cursor = binding.value.cursor || cursor;\n group = binding.value.group || group;\n openOn = binding.value.openOn || openOn;\n src = binding.value.src || src;\n title = binding.value.title || title;\n // Lifecycle functions\n events.opened = binding.value.opened;\n events.closed = binding.value.closed;\n events.changed = binding.value.changed;\n // binding.value.sourceButton could be set to false, (part before || will always be ignored)\n // that's why we're comparing it to undefined but not using approach\n // as in src, group, title, etc.\n if (binding.value.sourceButton !== undefined) {\n sourceButton = binding.value.sourceButton; // eslint-disable-line prefer-destructuring\n }\n // same as above\n if (binding.value.thumbnails !== undefined) {\n thumbnails = binding.value.thumbnails; // eslint-disable-line prefer-destructuring\n }\n }\n\n // Setting up data attributes for dynamic properties\n el.setAttribute('data-vue-img-src', src);\n\n if (group) el.setAttribute('data-vue-img-group', group);\n if (title) el.setAttribute('data-vue-img-title', title);\n if (sourceButton) el.setAttribute('data-vue-img-source-button', sourceButton);\n if (thumbnails) el.setAttribute('data-vue-img-thumbnails', thumbnails);\n\n if (!src) console.error('v-img element missing src parameter.');\n\n // Applying options\n el.style.cursor = cursor; // eslint-disable-line no-param-reassign\n\n return {\n cursor,\n src,\n group,\n title,\n events,\n sourceButton,\n openOn,\n thumbnails,\n };\n};\n\nconst install = (Vue, options) => {\n const Screen = Vue.extend(ImgScreen);\n\n const defaultOptions = {\n altAsTitle: false,\n sourceButton: false,\n thumbnails: false,\n openOn: 'click',\n };\n\n // eslint-disable-next-line no-param-reassign\n options = Object.assign(defaultOptions, options);\n\n Vue.directive('img', {\n update(el, binding, vnode, oldVnode) {\n let altUpdated;\n let srcUpdated;\n\n if (oldVnode.data.attrs && vnode.data.attrs) {\n srcUpdated = oldVnode.data.attrs.src !== vnode.data.attrs.src;\n // handle alt tag change only if option altAsTitle is enabled\n if (options.altAsTitle) {\n altUpdated = oldVnode.data.attrs.alt !== vnode.data.attrs.alt;\n }\n }\n\n const bindingValueUpdated = binding.oldValue !== binding.value;\n\n if (srcUpdated || altUpdated || bindingValueUpdated) {\n addPluginAttributes(el, binding, options);\n }\n },\n\n bind(el, binding) {\n // Don't pass anything that could be dynamic from addedAttributes\n // object to vm.\n const addedAttributes = addPluginAttributes(el, binding, options);\n\n // Finding existing vm, or creating new one\n let vm = window.vueImg;\n if (!vm) {\n const element = document.createElement('div');\n element.setAttribute('id', 'imageScreen');\n document.querySelector('body').appendChild(element);\n // eslint-disable-next-line no-multi-assign\n vm = window.vueImg = new Screen().$mount('#imageScreen');\n }\n\n // Updating vm's data\n el.addEventListener(addedAttributes.openOn, () => {\n let images;\n if (!el.dataset.vueImgGroup) {\n images = [el];\n } else {\n images = [\n ...document.querySelectorAll(`img[data-vue-img-group=\"${el.dataset.vueImgGroup}\"]`),\n ];\n }\n Vue.set(vm, 'images', images.map(e => e.dataset.vueImgSrc));\n Vue.set(vm, 'titles', images.map(e => e.dataset.vueImgTitle));\n Vue.set(vm, 'sourceButtons', images.map(e => e.dataset.vueImgSourceButton === 'true'));\n Vue.set(vm, 'thumbnails', el.dataset.vueImgThumbnails === 'true');\n Vue.set(vm, 'currentImageIndex', images.indexOf(el));\n Vue.set(vm, 'handlers', addedAttributes.events);\n Vue.set(vm, 'closed', false);\n });\n },\n });\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(install);\n}\n\nexport default install;\n"],"names":["render","newVal","this","handlers","closed","opened","changed","currentImageIndex","querySelector","classList","remove","images","length","fireChangeEvent","selectedImage","uiTimeout","visibleUI","setTimeout","addEventListener","e","keyCode","_this2","close","next","prev","showUI","addPluginAttributes","el","binding","options","cursor","group","arg","openOn","sourceButton","src","title","thumbnails","events","altAsTitle","alt","value","undefined","setAttribute","console","error","style","install","Vue","Screen","extend","ImgScreen","babelHelpers.extends","directive","vnode","oldVnode","altUpdated","srcUpdated","data","attrs","bindingValueUpdated","oldValue","addedAttributes","vm","window","vueImg","element","document","createElement","appendChild","$mount","dataset","vueImgGroup","querySelectorAll","set","map","vueImgSrc","vueImgTitle","vueImgSourceButton","vueImgThumbnails","indexOf","use"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"v-img.mjs","sources":["../lib/ImgScreen.vue","../lib/index.js"],"sourcesContent":["\n\n\n\n\n","/* eslint-disable no-undef */\n/* eslint-disable no-console */\n\nimport ImgScreen from './ImgScreen.vue';\n\nconst addPluginAttributes = (el, binding, options) => {\n // Defaults\n let cursor = 'pointer';\n let group = binding.arg || null;\n let openOn;\n let sourceButton;\n let src = el.src; // eslint-disable-line prefer-destructuring\n let title;\n let thumbnails;\n const events = {};\n\n if (options.altAsTitle) title = el.alt;\n\n /* eslint-disable prefer-destructuring */\n // Assigning values from plugin initialization options here\n openOn = options.openOn;\n sourceButton = options.sourceButton;\n thumbnails = options.thumbnails;\n /* eslint-enable prefer-destructuring */\n\n // Overriding options if they're provided in binding.value\n if (typeof binding.value !== 'undefined') {\n cursor = binding.value.cursor || cursor;\n group = binding.value.group || group;\n openOn = binding.value.openOn || openOn;\n src = binding.value.src || src;\n title = binding.value.title || title;\n // Lifecycle functions\n events.opened = binding.value.opened;\n events.closed = binding.value.closed;\n events.changed = binding.value.changed;\n // binding.value.sourceButton could be set to false, (part before || will always be ignored)\n // that's why we're comparing it to undefined but not using approach\n // as in src, group, title, etc.\n if (binding.value.sourceButton !== undefined) {\n sourceButton = binding.value.sourceButton; // eslint-disable-line prefer-destructuring\n }\n // same as above\n if (binding.value.thumbnails !== undefined) {\n thumbnails = binding.value.thumbnails; // eslint-disable-line prefer-destructuring\n }\n }\n\n // Setting up data attributes for dynamic properties\n el.setAttribute('data-vue-img-src', src);\n\n if (group) el.setAttribute('data-vue-img-group', group);\n if (title) el.setAttribute('data-vue-img-title', title);\n if (sourceButton) el.setAttribute('data-vue-img-source-button', sourceButton);\n if (thumbnails) el.setAttribute('data-vue-img-thumbnails', thumbnails);\n\n if (!src) console.error('v-img element missing src parameter.');\n\n // Applying options\n el.style.cursor = cursor; // eslint-disable-line no-param-reassign\n\n return {\n cursor,\n src,\n group,\n title,\n events,\n sourceButton,\n openOn,\n thumbnails,\n };\n};\n\nconst install = (Vue, options) => {\n const Screen = Vue.extend(ImgScreen);\n\n const defaultOptions = {\n altAsTitle: false,\n sourceButton: false,\n thumbnails: false,\n openOn: 'click',\n };\n\n // eslint-disable-next-line no-param-reassign\n options = Object.assign(defaultOptions, options);\n\n Vue.directive('img', {\n update(el, binding, vnode, oldVnode) {\n let altUpdated;\n let srcUpdated;\n\n if (oldVnode.data.attrs && vnode.data.attrs) {\n srcUpdated = oldVnode.data.attrs.src !== vnode.data.attrs.src;\n // handle alt tag change only if option altAsTitle is enabled\n if (options.altAsTitle) {\n altUpdated = oldVnode.data.attrs.alt !== vnode.data.attrs.alt;\n }\n }\n\n const bindingValueUpdated = binding.oldValue !== binding.value;\n\n if (srcUpdated || altUpdated || bindingValueUpdated) {\n addPluginAttributes(el, binding, options);\n }\n },\n\n bind(el, binding) {\n // Don't pass anything that could be dynamic from addedAttributes\n // object to vm.\n const addedAttributes = addPluginAttributes(el, binding, options);\n\n // Finding existing vm, or creating new one\n let vm = window.vueImg;\n if (!vm) {\n const element = document.createElement('div');\n element.setAttribute('id', 'imageScreen');\n document.querySelector('body').appendChild(element);\n // eslint-disable-next-line no-multi-assign\n vm = window.vueImg = new Screen().$mount('#imageScreen');\n }\n\n // Updating vm's data\n el.addEventListener(addedAttributes.openOn, () => {\n let images;\n if (!el.dataset.vueImgGroup) {\n images = [el];\n } else {\n images = [\n ...document.querySelectorAll(`[data-vue-img-group=\"${el.dataset.vueImgGroup}\"]`),\n ];\n }\n Vue.set(vm, 'images', images.map(e => e.dataset.vueImgSrc));\n Vue.set(vm, 'titles', images.map(e => e.dataset.vueImgTitle));\n Vue.set(vm, 'sourceButtons', images.map(e => e.dataset.vueImgSourceButton === 'true'));\n Vue.set(vm, 'thumbnails', el.dataset.vueImgThumbnails === 'true');\n Vue.set(vm, 'currentImageIndex', images.indexOf(el));\n Vue.set(vm, 'handlers', addedAttributes.events);\n Vue.set(vm, 'closed', false);\n });\n },\n });\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(install);\n}\n\nexport default install;\n"],"names":["render","newVal","this","handlers","closed","opened","changed","currentImageIndex","querySelector","classList","remove","images","length","fireChangeEvent","selectedImage","uiTimeout","visibleUI","setTimeout","addEventListener","e","keyCode","_this2","close","next","prev","showUI","addPluginAttributes","el","binding","options","cursor","group","arg","openOn","sourceButton","src","title","thumbnails","events","altAsTitle","alt","value","undefined","setAttribute","console","error","style","install","Vue","Screen","extend","ImgScreen","babelHelpers.extends","directive","vnode","oldVnode","altUpdated","srcUpdated","data","attrs","bindingValueUpdated","oldValue","addedAttributes","vm","window","vueImg","element","document","createElement","appendChild","$mount","dataset","vueImgGroup","querySelectorAll","set","map","vueImgSrc","vueImgTitle","vueImgSourceButton","vueImgThumbnails","indexOf","use"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b450ae7..06084c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "v-img", - "version": "0.0.91", + "version": "0.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -10,12 +10,6 @@ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", "dev": true }, - "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", - "dev": true - }, "acorn-globals": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", @@ -52,18 +46,6 @@ } } }, - "ajv": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.2.tgz", - "integrity": "sha1-R8aNaehvXZUxA7AHSpQw3GPaXjk=", - "dev": true, - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" - } - }, "ajv-keywords": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", @@ -682,6 +664,15 @@ "regexpu-core": "2.0.0" } }, + "babel-plugin-transform-object-assign": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-assign/-/babel-plugin-transform-object-assign-6.22.0.tgz", + "integrity": "sha1-+Z0vZvGgsNSY40bFNZaEdAyqILo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, "babel-plugin-transform-regenerator": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", @@ -1383,16 +1374,6 @@ "integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=", "dev": true }, - "doctrine": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", - "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } - }, "doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", @@ -1528,33 +1509,33 @@ } }, "eslint": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.6.1.tgz", - "integrity": "sha1-3cf8f9cL+TIFsLNEm7FqHp59SVA=", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.1.tgz", + "integrity": "sha512-gPSfpSRCHre1GLxGmO68tZNxOlL2y7xBd95VcLD+Eo4S2js31YoMum3CAQIOaxY24hqYOMksMvW38xuuWKQTgw==", "dev": true, "requires": { - "ajv": "5.2.2", + "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "2.1.0", + "chalk": "2.3.1", "concat-stream": "1.6.0", "cross-spawn": "5.1.0", - "debug": "2.6.8", - "doctrine": "2.0.0", + "debug": "3.1.0", + "doctrine": "2.1.0", "eslint-scope": "3.7.1", - "espree": "3.5.0", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.3", "esquery": "1.0.0", - "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "9.18.0", + "globals": "11.3.0", "ignore": "3.3.5", "imurmurhash": "0.1.4", "inquirer": "3.2.3", "is-resolvable": "1.0.0", "js-yaml": "3.9.1", - "json-stable-stringify": "1.0.1", + "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.4", "minimatch": "3.0.4", @@ -1562,7 +1543,7 @@ "natural-compare": "1.4.0", "optionator": "0.8.2", "path-is-inside": "1.0.2", - "pluralize": "4.0.0", + "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", "semver": "5.4.1", @@ -1572,6 +1553,24 @@ "text-table": "0.2.0" }, "dependencies": { + "acorn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", + "dev": true + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -1588,16 +1587,62 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "5.2.0" } }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "espree": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz", + "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", + "dev": true, + "requires": { + "acorn": "5.5.0", + "acorn-jsx": "3.0.1" + } + }, + "globals": { + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", + "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -1608,12 +1653,12 @@ } }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -1750,15 +1795,11 @@ "estraverse": "4.2.0" } }, - "espree": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.0.tgz", - "integrity": "sha1-mDWGJb3QVYYeon4oZ+pyn69GPY0=", - "dev": true, - "requires": { - "acorn": "5.1.2", - "acorn-jsx": "3.0.1" - } + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true }, "esprima": { "version": "4.0.0", @@ -1859,6 +1900,12 @@ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", "dev": true }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -2861,6 +2908,12 @@ "jsonify": "0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -3722,12 +3775,6 @@ "find-up": "1.1.2" } }, - "pluralize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", - "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=", - "dev": true - }, "postcss": { "version": "5.2.17", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.17.tgz",