vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
59 lines (58 loc) • 1.69 kB
JavaScript
import { __exports as f } from "../../../_virtual/events.mjs";
Object.defineProperty(f, "__esModule", {
value: !0
});
f.proxyMouse = g;
f.clone = m;
f.default = {
proxyMouse: g
};
function g(t, e) {
function r(n) {
for (var s = e.length - 1; s >= 0; s--) {
var u = e[s], l = n.clientX, o = n.clientY;
if (n.touches && n.touches.length && (l = n.touches[0].clientX, o = n.touches[0].clientY), !!M(u, t, l, o)) {
u.dispatchEvent(m(n));
break;
}
}
}
if (t.nodeName === "iframe" || t.nodeName === "IFRAME")
try {
this.target = t.contentDocument;
} catch {
this.target = t;
}
else
this.target = t;
for (var a = ["mouseup", "mousedown", "click", "touchstart"], c = 0; c < a.length; c++) {
var i = a[c];
this.target.addEventListener(i, function(n) {
return r(n);
}, !1);
}
}
function m(t) {
var e = Object.assign({}, t, { bubbles: !1 });
try {
return new MouseEvent(t.type, e);
} catch {
var r = document.createEvent("MouseEvents");
return r.initMouseEvent(t.type, !1, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget), r;
}
}
function M(t, e, r, a) {
var c = e.getBoundingClientRect();
function i(o, v, h) {
var d = o.top - c.top, p = o.left - c.left, b = d + o.height, y = p + o.width;
return d <= h && p <= v && b > h && y > v;
}
var n = t.getBoundingClientRect();
if (!i(n, r, a))
return !1;
for (var s = t.getClientRects(), u = 0, l = s.length; u < l; u++)
if (i(s[u], r, a))
return !0;
return !1;
}
//# sourceMappingURL=events.mjs.map