mirror of
https://github.com/XiaoDaiGua-Ray/ray-template.git
synced 2025-04-06 03:57:49 +08:00
2 lines
6.0 KiB
JavaScript
2 lines
6.0 KiB
JavaScript
import{t as N,w as j,a as _,i as H,n as I,b as x,c as M,d as B}from"./@vueuse_shared@10.6.1_vue@3.3.8-DJDYauAH.js";function g(e){var r;const t=N(e);return(r=t==null?void 0:t.$el)!=null?r:t}const V=H?window:void 0;function S(...e){let r,t,i,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([t,i,s]=e,r=V):[r,t,i,s]=e,!r)return I;Array.isArray(t)||(t=[t]),Array.isArray(i)||(i=[i]);const c=[],a=()=>{c.forEach(p=>p()),c.length=0},l=(p,f,n,o)=>(p.addEventListener(f,n,o),()=>p.removeEventListener(f,n,o)),m=VueDemi.watch(()=>[g(r),N(s)],([p,f])=>{if(a(),!p)return;const n=x(f)?{...f}:f;c.push(...t.flatMap(o=>i.map(d=>l(p,o,d,n))))},{immediate:!0,flush:"post"}),h=()=>{m(),a()};return M(h),h}let W=!1;function Z(e,r,t={}){const{window:i=V,ignore:s=[],capture:c=!0,detectIframe:a=!1}=t;if(!i)return;B&&!W&&(W=!0,Array.from(i.document.body.children).forEach(n=>n.addEventListener("click",I)),i.document.documentElement.addEventListener("click",I));let l=!0;const m=n=>s.some(o=>{if(typeof o=="string")return Array.from(i.document.querySelectorAll(o)).some(d=>d===n.target||n.composedPath().includes(d));{const d=g(o);return d&&(n.target===d||n.composedPath().includes(d))}}),p=[S(i,"click",n=>{const o=g(e);if(!(!o||o===n.target||n.composedPath().includes(o))){if(n.detail===0&&(l=!m(n)),!l){l=!0;return}r(n)}},{passive:!0,capture:c}),S(i,"pointerdown",n=>{const o=g(e);l=!m(n)&&!!(o&&!n.composedPath().includes(o))},{passive:!0}),a&&S(i,"blur",n=>{setTimeout(()=>{var o;const d=g(e);((o=i.document.activeElement)==null?void 0:o.tagName)==="IFRAME"&&!(d!=null&&d.contains(i.document.activeElement))&&r(n)},0)})].filter(Boolean);return()=>p.forEach(n=>n())}function k(){const e=VueDemi.ref(!1);return VueDemi.getCurrentInstance()&&VueDemi.onMounted(()=>{e.value=!0}),e}function C(e){const r=k();return VueDemi.computed(()=>(r.value,!!e()))}function Q(e,r={}){const{window:t=V}=r,i=C(()=>t&&"matchMedia"in t&&typeof t.matchMedia=="function");let s;const c=VueDemi.ref(!1),a=h=>{c.value=h.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",a):s.removeListener(a))},m=VueDemi.watchEffect(()=>{i.value&&(l(),s=t.matchMedia(N(e)),"addEventListener"in s?s.addEventListener("change",a):s.addListener(a),c.value=s.matches)});return M(()=>{m(),l(),s=void 0}),c}const O=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},A="__vueuse_ssr_handlers__",Y=q();function q(){return A in O||(O[A]=O[A]||{}),O[A]}function K(e,r){return Y[e]||r}function $(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const G={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},T="vueuse-storage";function ee(e,r,t,i={}){var s;const{flush:c="pre",deep:a=!0,listenToStorageChanges:l=!0,writeDefaults:m=!0,mergeDefaults:h=!1,shallow:p,window:f=V,eventFilter:n,onError:o=u=>{console.error(u)},initOnMounted:d}=i,y=(p?VueDemi.shallowRef:VueDemi.ref)(typeof r=="function"?r():r);if(!t)try{t=K("getDefaultStorage",()=>{var u;return(u=V)==null?void 0:u.localStorage})()}catch(u){o(u)}if(!t)return y;const w=N(r),z=$(w),D=(s=i.serializer)!=null?s:G[z],{pause:R,resume:L}=j(y,()=>P(y.value),{flush:c,deep:a,eventFilter:n});return f&&l&&_(()=>{S(f,"storage",E),S(f,T,J),d&&E()}),d||E(),y;function P(u){try{if(u==null)t.removeItem(e);else{const v=D.write(u),b=t.getItem(e);b!==v&&(t.setItem(e,v),f&&f.dispatchEvent(new CustomEvent(T,{detail:{key:e,oldValue:b,newValue:v,storageArea:t}})))}}catch(v){o(v)}}function F(u){const v=u?u.newValue:t.getItem(e);if(v==null)return m&&w!==null&&t.setItem(e,D.write(w)),w;if(!u&&h){const b=D.read(v);return typeof h=="function"?h(b,w):z==="object"&&!Array.isArray(b)?{...w,...b}:b}else return typeof v!="string"?v:D.read(v)}function J(u){E(u.detail)}function E(u){if(!(u&&u.storageArea!==t)){if(u&&u.key==null){y.value=w;return}if(!(u&&u.key!==e)){R();try{(u==null?void 0:u.newValue)!==D.write(y.value)&&(y.value=F(u))}catch(v){o(v)}finally{u?VueDemi.nextTick(L):L()}}}}}function U(e,r,t={}){const{window:i=V,...s}=t;let c;const a=C(()=>i&&"ResizeObserver"in i),l=()=>{c&&(c.disconnect(),c=void 0)},m=VueDemi.computed(()=>Array.isArray(e)?e.map(f=>g(f)):[g(e)]),h=VueDemi.watch(m,f=>{if(l(),a.value&&i){c=new ResizeObserver(r);for(const n of f)n&&c.observe(n,s)}},{immediate:!0,flush:"post",deep:!0}),p=()=>{l(),h()};return M(p),{isSupported:a,stop:p}}function te(e,r={}){const{reset:t=!0,windowResize:i=!0,windowScroll:s=!0,immediate:c=!0}=r,a=VueDemi.ref(0),l=VueDemi.ref(0),m=VueDemi.ref(0),h=VueDemi.ref(0),p=VueDemi.ref(0),f=VueDemi.ref(0),n=VueDemi.ref(0),o=VueDemi.ref(0);function d(){const y=g(e);if(!y){t&&(a.value=0,l.value=0,m.value=0,h.value=0,p.value=0,f.value=0,n.value=0,o.value=0);return}const w=y.getBoundingClientRect();a.value=w.height,l.value=w.bottom,m.value=w.left,h.value=w.right,p.value=w.top,f.value=w.width,n.value=w.x,o.value=w.y}return U(e,d),VueDemi.watch(()=>g(e),y=>!y&&d()),s&&S("scroll",d,{capture:!0,passive:!0}),i&&S("resize",d,{passive:!0}),_(()=>{c&&d()}),{height:a,bottom:l,left:m,right:h,top:p,width:f,x:n,y:o,update:d}}function ne(e={}){const{window:r=V,initialWidth:t=Number.POSITIVE_INFINITY,initialHeight:i=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:c=!0}=e,a=VueDemi.ref(t),l=VueDemi.ref(i),m=()=>{r&&(c?(a.value=r.innerWidth,l.value=r.innerHeight):(a.value=r.document.documentElement.clientWidth,l.value=r.document.documentElement.clientHeight))};if(m(),_(m),S("resize",m,{passive:!0}),s){const h=Q("(orientation: portrait)");VueDemi.watch(h,()=>m())}return{width:a,height:l}}export{U as a,S as b,te as c,ee as d,Z as o,ne as u};
|