import{d as j,a as R,r as S,u as L,o as B,a5 as T,a6 as E,a7 as q,a8 as U,a9 as I,aa as O,M as A,ab as P,ac as V,ad as D,H as y,ae as _,af as F,ag as H,v as M,ah as z,ai as $}from"./DEDOUQvL.js";const Q=(...t)=>t.find(s=>s!==void 0);function W(t){const s=t.componentName||"NuxtLink";function f(e,a){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return k(e,t.trailingSlash);const m="path"in e&&e.path!==void 0?e.path:a(e).path;return{...e,name:void 0,path:k(m,t.trailingSlash)}}function x(e){const a=R(),m=M(),o=y(()=>!!e.target&&e.target!=="_self"),u=y(()=>{const i=e.to||e.href||"";return typeof i=="string"&&_(i,{acceptRelative:!0})}),b=P("RouterLink"),d=b&&typeof b!="string"?b.useLink:void 0,v=y(()=>{if(e.external)return!0;const i=e.to||e.href||"";return typeof i=="object"?!1:i===""||u.value}),l=y(()=>{const i=e.to||e.href||"";return v.value?i:f(i,a.resolve)}),c=v.value||d==null?void 0:d({...e,to:l}),h=y(()=>{var i;if(!l.value||u.value)return l.value;if(v.value){const n=typeof l.value=="object"&&"path"in l.value?q(l.value):l.value,g=typeof n=="object"?a.resolve(n).href:n;return f(g,a.resolve)}return typeof l.value=="object"?((i=a.resolve(l.value))==null?void 0:i.href)??null:f(F(m.app.baseURL,l.value),a.resolve)});return{to:l,hasTarget:o,isAbsoluteUrl:u,isExternal:v,href:h,isActive:(c==null?void 0:c.isActive)??y(()=>l.value===a.currentRoute.value.path),isExactActive:(c==null?void 0:c.isExactActive)??y(()=>l.value===a.currentRoute.value.path),route:(c==null?void 0:c.route)??y(()=>a.resolve(l.value)),async navigate(){await H(h.value,{replace:e.replace,external:v.value||o.value})}}}return j({name:s,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:x,setup(e,{slots:a}){const m=R(),{to:o,href:u,navigate:b,isExternal:d,hasTarget:v,isAbsoluteUrl:l}=x(e),c=S(!1),h=S(null),i=n=>{var g;h.value=e.custom?(g=n==null?void 0:n.$el)==null?void 0:g.nextElementSibling:n==null?void 0:n.$el};if(e.prefetch!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!J()){const g=L();let p,r=null;B(()=>{const w=G();T(()=>{p=E(()=>{var C;(C=h==null?void 0:h.value)!=null&&C.tagName&&(r=w.observe(h.value,async()=>{r==null||r(),r=null;const N=typeof o.value=="string"?o.value:d.value?q(o.value):m.resolve(o.value).fullPath;await Promise.all([g.hooks.callHook("link:prefetch",N).catch(()=>{}),!d.value&&!v.value&&U(o.value,m).catch(()=>{})]),c.value=!0}))})})}),I(()=>{p&&O(p),r==null||r(),r=null})}return()=>{var p;if(!d.value&&!v.value){const r={ref:i,to:o.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(c.value&&(r.class=e.prefetchedClass||t.prefetchedClass),r.rel=e.rel||void 0),A(P("RouterLink"),r,a.default)}const n=e.target||null,g=Q(e.noRel?"":e.rel,t.externalRelAttribute,l.value||v.value?"noopener noreferrer":"")||null;return e.custom?a.default?a.default({href:u.value,navigate:b,get route(){if(!u.value)return;const r=new URL(u.value,window.location.href);return{path:r.pathname,fullPath:r.pathname,get query(){return V(r.search)},hash:r.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:u.value}},rel:g,target:n,isExternal:d.value||v.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:h,href:u.value||null,rel:g,target:n},(p=a.default)==null?void 0:p.call(a))}}})}const X=W(D);function k(t,s){const f=s==="append"?z:$;return _(t)&&!t.startsWith("http")?t:f(t,!0)}function G(){const t=L();if(t._observer)return t._observer;let s=null;const f=new Map,x=(a,m)=>(s||(s=new IntersectionObserver(o=>{for(const u of o){const b=f.get(u.target);(u.isIntersecting||u.intersectionRatio>0)&&b&&b()}})),f.set(a,m),s.observe(a),()=>{f.delete(a),s.unobserve(a),f.size===0&&(s.disconnect(),s=null)});return t._observer={observe:x}}function J(){const t=navigator.connection;return!!(t&&(t.saveData||/2g/.test(t.effectiveType)))}export{X as _};