UNPKG

epic-designer-cjh

Version:

基于vue3的设计器,可视化开发页面表单

221 lines (220 loc) 5.95 kB
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 };