import{t as M,w as j,a as _,i as H,n as N,b as k,c as I,d as x}from"./@vueuse_shared@10.7.1_vue@3.4.14-_XOpEtRB.js";function g(e){var n;const t=M(e);return(n=t==null?void 0:t.$el)!=null?n:t}const S=H?window:void 0;function b(...e){let n,t,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([t,r,s]=e,n=S):[n,t,r,s]=e,!n)return N;Array.isArray(t)||(t=[t]),Array.isArray(r)||(r=[r]);const o=[],c=()=>{o.forEach(p=>p()),o.length=0},l=(p,d,i,u)=>(p.addEventListener(d,i,u),()=>p.removeEventListener(d,i,u)),m=VueDemi.watch(()=>[g(n),M(s)],([p,d])=>{if(c(),!p)return;const i=k(d)?{...d}:d;o.push(...t.flatMap(u=>r.map(f=>l(p,u,f,i))))},{immediate:!0,flush:"post"}),w=()=>{m(),c()};return I(w),w}let R=!1;function ee(e,n,t={}){const{window:r=S,ignore:s=[],capture:o=!0,detectIframe:c=!1}=t;if(!r)return N;x&&!R&&(R=!0,Array.from(r.document.body.children).forEach(i=>i.addEventListener("click",N)),r.document.documentElement.addEventListener("click",N));let l=!0;const m=i=>s.some(u=>{if(typeof u=="string")return Array.from(r.document.querySelectorAll(u)).some(f=>f===i.target||i.composedPath().includes(f));{const f=g(u);return f&&(i.target===f||i.composedPath().includes(f))}}),p=[b(r,"click",i=>{const u=g(e);if(!(!u||u===i.target||i.composedPath().includes(u))){if(i.detail===0&&(l=!m(i)),!l){l=!0;return}n(i)}},{passive:!0,capture:o}),b(r,"pointerdown",i=>{const u=g(e);l=!m(i)&&!!(u&&!i.composedPath().includes(u))},{passive:!0}),c&&b(r,"blur",i=>{setTimeout(()=>{var u;const f=g(e);((u=r.document.activeElement)==null?void 0:u.tagName)==="IFRAME"&&!(f!=null&&f.contains(r.document.activeElement))&&n(i)},0)})].filter(Boolean);return()=>p.forEach(i=>i())}function B(){const e=VueDemi.ref(!1);return VueDemi.getCurrentInstance()&&VueDemi.onMounted(()=>{e.value=!0}),e}function z(e){const n=B();return VueDemi.computed(()=>(n.value,!!e()))}function Q(e,n={}){const{window:t=S}=n,r=z(()=>t&&"matchMedia"in t&&typeof t.matchMedia=="function");let s;const o=VueDemi.ref(!1),c=w=>{o.value=w.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",c):s.removeListener(c))},m=VueDemi.watchEffect(()=>{r.value&&(l(),s=t.matchMedia(M(e)),"addEventListener"in s?s.addEventListener("change",c):s.addListener(c),o.value=s.matches)});return I(()=>{m(),l(),s=void 0}),o}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,n){return Y[e]||n}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 te(e,n,t,r={}){var s;const{flush:o="pre",deep:c=!0,listenToStorageChanges:l=!0,writeDefaults:m=!0,mergeDefaults:w=!1,shallow:p,window:d=S,eventFilter:i,onError:u=a=>{console.error(a)},initOnMounted:f}=r,y=(p?VueDemi.shallowRef:VueDemi.ref)(typeof n=="function"?n():n);if(!t)try{t=K("getDefaultStorage",()=>{var a;return(a=S)==null?void 0:a.localStorage})()}catch(a){u(a)}if(!t)return y;const v=M(n),L=$(v),D=(s=r.serializer)!=null?s:G[L],{pause:C,resume:W}=j(y,()=>F(y.value),{flush:o,deep:c,eventFilter:i});return d&&l&&_(()=>{b(d,"storage",E),b(d,T,J),f&&E()}),f||E(),y;function F(a){try{if(a==null)t.removeItem(e);else{const h=D.write(a),V=t.getItem(e);V!==h&&(t.setItem(e,h),d&&d.dispatchEvent(new CustomEvent(T,{detail:{key:e,oldValue:V,newValue:h,storageArea:t}})))}}catch(h){u(h)}}function P(a){const h=a?a.newValue:t.getItem(e);if(h==null)return m&&v!=null&&t.setItem(e,D.write(v)),v;if(!a&&w){const V=D.read(h);return typeof w=="function"?w(V,v):L==="object"&&!Array.isArray(V)?{...v,...V}:V}else return typeof h!="string"?h:D.read(h)}function J(a){E(a.detail)}function E(a){if(!(a&&a.storageArea!==t)){if(a&&a.key==null){y.value=v;return}if(!(a&&a.key!==e)){C();try{(a==null?void 0:a.newValue)!==D.write(y.value)&&(y.value=P(a))}catch(h){u(h)}finally{a?VueDemi.nextTick(W):W()}}}}}function U(e,n,t={}){const{window:r=S,...s}=t;let o;const c=z(()=>r&&"MutationObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},m=VueDemi.watch(()=>g(e),d=>{l(),c.value&&r&&d&&(o=new MutationObserver(n),o.observe(d,s))},{immediate:!0}),w=()=>o==null?void 0:o.takeRecords(),p=()=>{l(),m()};return I(p),{isSupported:c,stop:p,takeRecords:w}}function X(e,n,t={}){const{window:r=S,...s}=t;let o;const c=z(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},m=VueDemi.computed(()=>Array.isArray(e)?e.map(d=>g(d)):[g(e)]),w=VueDemi.watch(m,d=>{if(l(),c.value&&r){o=new ResizeObserver(n);for(const i of d)i&&o.observe(i,s)}},{immediate:!0,flush:"post",deep:!0}),p=()=>{l(),w()};return I(p),{isSupported:c,stop:p}}function ne(e,n={}){const{reset:t=!0,windowResize:r=!0,windowScroll:s=!0,immediate:o=!0}=n,c=VueDemi.ref(0),l=VueDemi.ref(0),m=VueDemi.ref(0),w=VueDemi.ref(0),p=VueDemi.ref(0),d=VueDemi.ref(0),i=VueDemi.ref(0),u=VueDemi.ref(0);function f(){const y=g(e);if(!y){t&&(c.value=0,l.value=0,m.value=0,w.value=0,p.value=0,d.value=0,i.value=0,u.value=0);return}const v=y.getBoundingClientRect();c.value=v.height,l.value=v.bottom,m.value=v.left,w.value=v.right,p.value=v.top,d.value=v.width,i.value=v.x,u.value=v.y}return X(e,f),VueDemi.watch(()=>g(e),y=>!y&&f()),U(e,f,{attributeFilter:["style","class"]}),s&&b("scroll",f,{capture:!0,passive:!0}),r&&b("resize",f,{passive:!0}),_(()=>{o&&f()}),{height:c,bottom:l,left:m,right:w,top:p,width:d,x:i,y:u,update:f}}function re(e={}){const{window:n=S,initialWidth:t=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:o=!0}=e,c=VueDemi.ref(t),l=VueDemi.ref(r),m=()=>{n&&(o?(c.value=n.innerWidth,l.value=n.innerHeight):(c.value=n.document.documentElement.clientWidth,l.value=n.document.documentElement.clientHeight))};if(m(),_(m),b("resize",m,{passive:!0}),s){const w=Q("(orientation: portrait)");VueDemi.watch(w,()=>m())}return{width:c,height:l}}export{X as a,re as b,ne as c,te as d,ee as o,b as u};