You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
paopao-ce/web/dist/assets/evtd-b614532e.js

2 lines
3.7 KiB

function P(r){return r.composedPath()[0]}const q={mousemoveoutside:new WeakMap,clickoutside: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(`[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=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=new WeakMap,i=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=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]=new Map,window.addEventListener(e,j,n==="capture")),t[e]}function C(n){return H[n]===void 0&&(H[n]=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=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{K as a,J as o};