(function(v,T){typeof exports=="object"&&typeof module!="undefined"?T(exports,require("viewerjs"),require("vue")):typeof define=="function"&&define.amd?define(["exports","viewerjs","vue"],T):(v=typeof globalThis!="undefined"?globalThis:v||self,T(v.VueViewer={},v.Viewer,v.Vue))})(this,function(v,T,be){"use strict";function D(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var w=D(T),W=D(be),he=typeof global=="object"&&global&&global.Object===Object&&global,L=he,me=typeof self=="object"&&self&&self.Object===Object&&self,we=L||me||Function("return this")(),P=we,$e=P.Symbol,I=$e,G=Object.prototype,Te=G.hasOwnProperty,_e=G.toString,_=I?I.toStringTag:void 0;function Oe(e){var r=Te.call(e,_),t=e[_];try{e[_]=void 0;var i=!0}catch{}var n=_e.call(e);return i&&(r?e[_]=t:delete e[_]),n}var je=Object.prototype,Ae=je.toString;function Se(e){return Ae.call(e)}var Pe="[object Null]",Ie="[object Undefined]",K=I?I.toStringTag:void 0;function V(e){return e==null?e===void 0?Ie:Pe:K&&K in Object(e)?Oe(e):Se(e)}function C(e){return e!=null&&typeof e=="object"}var Ve="[object Symbol]";function Ce(e){return typeof e=="symbol"||C(e)&&V(e)==Ve}var Ee=Array.isArray,Me=Ee,Re=/\s/;function xe(e){for(var r=e.length;r--&&Re.test(e.charAt(r)););return r}var Fe=/^\s+/;function Ne(e){return e&&e.slice(0,xe(e)+1).replace(Fe,"")}function $(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}var q=0/0,Ue=/^[-+]0x[0-9a-f]+$/i,Be=/^0b[01]+$/i,De=/^0o[0-7]+$/i,We=parseInt;function z(e){if(typeof e=="number")return e;if(Ce(e))return q;if($(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=$(r)?r+"":r}if(typeof e!="string")return e===0?e:+e;e=Ne(e);var t=Be.test(e);return t||De.test(e)?We(e.slice(2),t?2:8):Ue.test(e)?q:+e}function H(e){return e}var Le="[object AsyncFunction]",Ge="[object Function]",Ke="[object GeneratorFunction]",qe="[object Proxy]";function X(e){if(!$(e))return!1;var r=V(e);return r==Ge||r==Ke||r==Le||r==qe}var ze=P["__core-js_shared__"],R=ze,k=function(){var e=/[^.]+$/.exec(R&&R.keys&&R.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function He(e){return!!k&&k in e}var Xe=Function.prototype,ke=Xe.toString;function Ze(e){if(e!=null){try{return ke.call(e)}catch{}try{return e+""}catch{}}return""}var Je=/[\\^$.*+?()[\]{}|]/g,Qe=/^\[object .+?Constructor\]$/,Ye=Function.prototype,er=Object.prototype,rr=Ye.toString,tr=er.hasOwnProperty,nr=RegExp("^"+rr.call(tr).replace(Je,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ir(e){if(!$(e)||He(e))return!1;var r=X(e)?nr:Qe;return r.test(Ze(e))}function ar(e,r){return e==null?void 0:e[r]}function or(e,r){var t=ar(e,r);return ir(t)?t:void 0}function ur(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)}var sr=800,fr=16,cr=Date.now;function dr(e){var r=0,t=0;return function(){var i=cr(),n=fr-(i-t);if(t=i,n>0){if(++r>=sr)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}function lr(e){return function(){return e}}var vr=function(){try{var e=or(Object,"defineProperty");return e({},"",{}),e}catch{}}(),E=vr,pr=E?function(e,r){return E(e,"toString",{configurable:!0,enumerable:!1,value:lr(r),writable:!0})}:H,gr=pr,yr=dr(gr),br=yr,hr=9007199254740991,mr=/^(?:0|[1-9]\d*)$/;function Z(e,r){var t=typeof e;return r=r==null?hr:r,!!r&&(t=="number"||t!="symbol"&&mr.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=jr}function x(e){return e!=null&&re(e.length)&&!X(e)}function Ar(e,r,t){if(!$(t))return!1;var i=typeof r;return(i=="number"?x(t)&&Z(r,t.length):i=="string"&&r in t)?Q(t[r],e):!1}function Sr(e){return Or(function(r,t){var i=-1,n=t.length,c=n>1?t[n-1]:void 0,d=n>2?t[2]:void 0;for(c=e.length>3&&typeof c=="function"?(n--,c):void 0,d&&Ar(t[0],t[1],d)&&(c=n<3?void 0:c,n=1),r=Object(r);++i=r||b<0||a&&S>=c}function m(){var p=N();if(h(p))return M(p);u=setTimeout(m,A(p))}function M(p){return u=void 0,s&&i?g(p):(i=n=void 0,d)}function U(){u!==void 0&&clearTimeout(u),o=0,i=f=n=u=void 0}function Wt(){return u===void 0?d:M(N())}function B(){var p=N(),b=h(p);if(i=arguments,n=this,f=p,b){if(u===void 0)return y(f);if(a)return clearTimeout(u),u=setTimeout(m,r),g(f)}return u===void 0&&(u=setTimeout(m,r)),d}return B.cancel=U,B.flush=Wt,B}var Rt=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",[e._t("default",null,{images:e.images,options:e.options})],2)},xt=[];function Ft(e,r,t,i,n,c,d,u){var f=typeof e=="function"?e.options:e;r&&(f.render=r,f.staticRenderFns=t,f._compiled=!0),i&&(f.functional=!0),c&&(f._scopeId="data-v-"+c);var o;if(d?(o=function(s){s=s||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!s&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(s=__VUE_SSR_CONTEXT__),n&&n.call(this,s),s&&s._registeredComponents&&s._registeredComponents.add(d)},f._ssrRegister=o):n&&(o=u?function(){n.call(this,(f.functional?this.parent:this).$root.$options.shadowRoot)}:n),o)if(f.functional){f._injectStyles=o;var j=f.render;f.render=function(g,y){return o.call(y),j(g,y)}}else{var a=f.beforeCreate;f.beforeCreate=a?[].concat(a,o):[o]}return{exports:e,options:f}}const Nt={props:{images:{type:Array},rebuild:{type:Boolean,default:!1},trigger:{},options:{type:Object}},data(){return{}},computed:{},watch:{images(){this.$nextTick(()=>{this.onChange()})},trigger:{handler(){this.$nextTick(()=>{this.onChange()})},deep:!0},options:{handler(){this.$nextTick(()=>{this.rebuildViewer()})},deep:!0}},mounted(){this.createViewer()},unmounted(){this.destroyViewer()},methods:{onChange(){this.rebuild?this.rebuildViewer():this.updateViewer()},rebuildViewer(){this.destroyViewer(),this.createViewer()},updateViewer(){this.$viewer?(this.$viewer.update(),this.$emit("inited",this.$viewer)):this.createViewer()},destroyViewer(){this.$viewer&&this.$viewer.destroy()},createViewer(){this.$viewer=new w.default(this.$el,this.options),this.$emit("inited",this.$viewer)}}},le={};var Ut=Ft(Nt,Rt,xt,!1,Bt,null,null,null);function Bt(e){for(let r in le)this[r]=le[r]}var ve=function(){return Ut.exports}();const pe=({name:e="viewer",debug:r=!1}={})=>{function t(a,s,g=!1,y=!1){W.default.nextTick(()=>{y&&!i(a)||(g||!a[`$${e}`]?(d(a),a[`$${e}`]=new w.default(a,s),o("Viewer created")):(a[`$${e}`].update(),o("Viewer updated")))})}function i(a){const s=a.innerHTML.match(//g),g=s?s.join(""):void 0;return a.__viewerImageDiffCache===g?(o("Element change detected, but image(s) has not changed"),!1):(o("Image change detected"),a.__viewerImageDiffCache=g,!0)}function n(a,s,g,y){u(a);const A=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(!A){o("Observer not supported");return}const h=new A(M=>{M.forEach(U=>{o(`Viewer mutation:${U.type}`),g(a,s,y,!0)})}),m={attributes:!0,childList:!0,characterData:!0,subtree:!0};h.observe(a,m),a.__viewerMutationObserver=h,o("Observer created")}function c(a,{expression:s},g,y){if(!s||!/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/.test(s)){o("Only simple dot-delimited paths can create watcher");return}a.__viewerUnwatch=g.context.$watch(s,(h,m)=>{o("Change detected by watcher: ",s),y(a,h,!0)},{deep:!0}),o("Watcher created, expression: ",s)}function d(a){!a[`$${e}`]||(a[`$${e}`].destroy(),delete a[`$${e}`],o("Viewer destroyed"))}function u(a){!a.__viewerMutationObserver||(a.__viewerMutationObserver.disconnect(),delete a.__viewerMutationObserver,o("Observer destroyed"))}function f(a){!a.__viewerUnwatch||(a.__viewerUnwatch(),delete a.__viewerUnwatch,o("Watcher destroyed"))}function o(){r&&console.log(...arguments)}return{bind(a,s,g){o("Viewer bind");const y=Mt(t,50);y(a,s.value),c(a,s,g,y),s.modifiers.static||n(a,s.value,y,s.modifiers.rebuild)},unbind(a,s){o("Viewer unbind"),u(a),f(a),d(a)}}},ge=({images:e=[],options:r={}}={})=>{r=de(r,{inline:!1});const t=W.default.extend({render(d){return d("div",{style:{display:"none"},class:["__viewer-token"]},e.map(u=>d("img",{attrs:typeof u=="string"?{src:u}:u})))}}),i=new t;i.$mount(),document.body.appendChild(i.$el);const n=new w.default(i.$el,r),c=n.destroy.bind(n);return n.destroy=function(){return c(),i.$destroy(),document.body.removeChild(i.$el),n},n.show(),i.$el.addEventListener("hidden",function(){this.viewer===n&&n.destroy()}),n};var Dt={install(e,{name:r="viewer",debug:t=!1,defaultOptions:i}={}){w.default.setDefaults(i),e.component(r,de(ve,{name:r})),e.directive(r,pe({name:r,debug:t})),e.prototype[`$${r}Api`]=ge},setDefaults(e){w.default.setDefaults(e)}};Object.defineProperty(v,"Viewer",{enumerable:!0,get:function(){return w.default}}),v.api=ge,v.component=ve,v.default=Dt,v.directive=pe,Object.defineProperties(v,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});