epic-designer-cjh
Version:
基于vue3的设计器,可视化开发页面表单
221 lines (220 loc) • 5.95 kB
JavaScript
function P(r) {
return r.composedPath()[0];
}
const q = {
mousemoveoutside: /* @__PURE__ */ new WeakMap(),
clickoutside: /* @__PURE__ */ new WeakMap()
};
function A(r, i, c) {
if (r === "mousemoveoutside") {
const d = (s) => {
i.contains(P(s)) || c(s);
};
return {
mousemove: d,
touchstart: d
};
} else if (r === "clickoutside") {
let d = !1;
const s = (b) => {
d = !i.contains(P(b));
}, u = (b) => {
d && (i.contains(P(b)) || c(b));
};
return {
mousedown: s,
mouseup: u,
touchstart: s,
touchend: u
};
}
return console.error(
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
`[evtd/create-trap-handler]: name \`${r}\` is invalid. This could be a bug of evtd.`
), {};
}
function U(r, i, c) {
const d = q[r];
let s = d.get(i);
s === void 0 && d.set(i, s = /* @__PURE__ */ new WeakMap());
let u = s.get(c);
return u === void 0 && s.set(c, u = A(r, i, c)), u;
}
function B(r, i, c, d) {
if (r === "mousemoveoutside" || r === "clickoutside") {
const s = U(r, i, c);
return Object.keys(s).forEach((u) => {
J(u, document, s[u], d);
}), !0;
}
return !1;
}
function F(r, i, c, d) {
if (r === "mousemoveoutside" || r === "clickoutside") {
const s = U(r, i, c);
return Object.keys(s).forEach((u) => {
K(u, document, s[u], d);
}), !0;
}
return !1;
}
function G() {
if (typeof window > "u")
return {
on: () => {
},
off: () => {
}
};
const r = /* @__PURE__ */ new WeakMap(), i = /* @__PURE__ */ new WeakMap();
function c() {
r.set(this, !0);
}
function d() {
r.set(this, !0), i.set(this, !0);
}
function s(n, e, t) {
const o = n[e];
return n[e] = function() {
return t.apply(n, arguments), o.apply(n, arguments);
}, n;
}
function u(n, e) {
n[e] = Event.prototype[e];
}
const b = /* @__PURE__ */ new WeakMap(), W = Object.getOwnPropertyDescriptor(Event.prototype, "currentTarget");
function x() {
var n;
return (n = b.get(this)) !== null && n !== void 0 ? n : null;
}
function O(n, e) {
W !== void 0 && Object.defineProperty(n, "currentTarget", {
configurable: !0,
enumerable: !0,
get: e ?? W.get
});
}
const T = {
bubble: {},
capture: {}
}, H = {};
function z() {
const n = function(e) {
const { type: t, eventPhase: o, bubbles: a } = e, p = P(e);
if (o === 2)
return;
const w = o === 1 ? "capture" : "bubble";
let f = p;
const l = [];
for (; f === null && (f = window), l.push(f), f !== window; )
f = f.parentNode || null;
const h = T.capture[t], v = T.bubble[t];
if (s(e, "stopPropagation", c), s(e, "stopImmediatePropagation", d), O(e, x), w === "capture") {
if (h === void 0)
return;
for (let g = l.length - 1; g >= 0 && !r.has(e); --g) {
const m = l[g], k = h.get(m);
if (k !== void 0) {
b.set(e, m);
for (const E of k) {
if (i.has(e))
break;
E(e);
}
}
if (g === 0 && !a && v !== void 0) {
const E = v.get(m);
if (E !== void 0)
for (const $ of E) {
if (i.has(e))
break;
$(e);
}
}
}
} else if (w === "bubble") {
if (v === void 0)
return;
for (let g = 0; g < l.length && !r.has(e); ++g) {
const m = l[g], k = v.get(m);
if (k !== void 0) {
b.set(e, m);
for (const E of k) {
if (i.has(e))
break;
E(e);
}
}
}
}
u(e, "stopPropagation"), u(e, "stopImmediatePropagation"), O(e);
};
return n.displayName = "evtdUnifiedHandler", n;
}
function I() {
const n = function(e) {
const { type: t, eventPhase: o } = e;
if (o !== 2)
return;
const a = H[t];
a !== void 0 && a.forEach((p) => p(e));
};
return n.displayName = "evtdUnifiedWindowEventHandler", n;
}
const j = z(), M = I();
function D(n, e) {
const t = T[n];
return t[e] === void 0 && (t[e] = /* @__PURE__ */ new Map(), window.addEventListener(e, j, n === "capture")), t[e];
}
function C(n) {
return H[n] === void 0 && (H[n] = /* @__PURE__ */ new Set(), window.addEventListener(n, M)), H[n];
}
function L(n, e) {
let t = n.get(e);
return t === void 0 && n.set(e, t = /* @__PURE__ */ new Set()), t;
}
function y(n, e, t, o) {
const a = T[e][t];
if (a !== void 0) {
const p = a.get(n);
if (p !== void 0 && p.has(o))
return !0;
}
return !1;
}
function N(n, e) {
const t = H[n];
return !!(t !== void 0 && t.has(e));
}
function _(n, e, t, o) {
let a;
if (typeof o == "object" && o.once === !0 ? a = (h) => {
S(n, e, a, o), t(h);
} : a = t, B(n, e, a, o))
return;
const w = o === !0 || typeof o == "object" && o.capture === !0 ? "capture" : "bubble", f = D(w, n), l = L(f, e);
if (l.has(a) || l.add(a), e === window) {
const h = C(n);
h.has(a) || h.add(a);
}
}
function S(n, e, t, o) {
if (F(n, e, t, o))
return;
const p = o === !0 || typeof o == "object" && o.capture === !0, w = p ? "capture" : "bubble", f = D(w, n), l = L(f, e);
if (e === window && !y(e, p ? "bubble" : "capture", n, t) && N(n, t)) {
const v = H[n];
v.delete(t), v.size === 0 && (window.removeEventListener(n, M), H[n] = void 0);
}
l.has(t) && l.delete(t), l.size === 0 && f.delete(e), f.size === 0 && (window.removeEventListener(n, j, w === "capture"), T[w][n] = void 0);
}
return {
on: _,
off: S
};
}
const { on: J, off: K } = G();
export {
J as a,
K as o
};