images-viewer-vue3
Version:
A lightweight image viewer for Vue3
102 lines (101 loc) • 3.31 kB
JavaScript
import { o as c, a } from "./npm-evtd-Bc7Iy9dF.js";
const i = "@@mmoContext", I = {
mounted(n, { value: e }) {
n[i] = {
handler: void 0
}, typeof e == "function" && (n[i].handler = e, c("mousemoveoutside", n, e));
},
updated(n, { value: e }) {
const t = n[i];
typeof e == "function" ? t.handler ? t.handler !== e && (a("mousemoveoutside", n, t.handler), t.handler = e, c("mousemoveoutside", n, e)) : (n[i].handler = e, c("mousemoveoutside", n, e)) : t.handler && (a("mousemoveoutside", n, t.handler), t.handler = void 0);
},
unmounted(n) {
const { handler: e } = n[i];
e && a("mousemoveoutside", n, e), n[i].handler = void 0;
}
}, o = "@@coContext", l = {
mounted(n, { value: e, modifiers: t }) {
n[o] = {
handler: void 0
}, typeof e == "function" && (n[o].handler = e, c("clickoutside", n, e, {
capture: t.capture
}));
},
updated(n, { value: e, modifiers: t }) {
const d = n[o];
typeof e == "function" ? d.handler ? d.handler !== e && (a("clickoutside", n, d.handler, {
capture: t.capture
}), d.handler = e, c("clickoutside", n, e, {
capture: t.capture
})) : (n[o].handler = e, c("clickoutside", n, e, {
capture: t.capture
})) : d.handler && (a("clickoutside", n, d.handler, {
capture: t.capture
}), d.handler = void 0);
},
unmounted(n, { modifiers: e }) {
const { handler: t } = n[o];
t && a("clickoutside", n, t, {
capture: e.capture
}), n[o].handler = void 0;
}
};
function x(n, e) {
console.error(`[vdirs/${n}]: ${e}`);
}
class f {
constructor() {
this.elementZIndex = /* @__PURE__ */ new Map(), this.nextZIndex = 2e3;
}
get elementCount() {
return this.elementZIndex.size;
}
ensureZIndex(e, t) {
const { elementZIndex: d } = this;
if (t !== void 0) {
e.style.zIndex = `${t}`, d.delete(e);
return;
}
const { nextZIndex: s } = this;
d.has(e) && d.get(e) + 1 === this.nextZIndex || (e.style.zIndex = `${s}`, d.set(e, s), this.nextZIndex = s + 1, this.squashState());
}
unregister(e, t) {
const { elementZIndex: d } = this;
d.has(e) ? d.delete(e) : t === void 0 && x("z-index-manager/unregister-element", "Element not found when unregistering."), this.squashState();
}
squashState() {
const { elementCount: e } = this;
e || (this.nextZIndex = 2e3), this.nextZIndex - e > 2500 && this.rearrange();
}
rearrange() {
const e = Array.from(this.elementZIndex.entries());
e.sort((t, d) => t[1] - d[1]), this.nextZIndex = 2e3, e.forEach((t) => {
const d = t[0], s = this.nextZIndex++;
`${s}` !== d.style.zIndex && (d.style.zIndex = `${s}`);
});
}
}
const u = new f(), r = "@@ziContext", p = {
mounted(n, e) {
const { value: t = {} } = e, { zIndex: d, enabled: s } = t;
n[r] = {
enabled: !!s,
initialized: !1
}, s && (u.ensureZIndex(n, d), n[r].initialized = !0);
},
updated(n, e) {
const { value: t = {} } = e, { zIndex: d, enabled: s } = t, h = n[r].enabled;
s && !h && (u.ensureZIndex(n, d), n[r].initialized = !0), n[r].enabled = !!s;
},
unmounted(n, e) {
if (!n[r].initialized)
return;
const { value: t = {} } = e, { zIndex: d } = t;
u.unregister(n, d);
}
};
export {
l as c,
I as m,
p as z
};