import{b as O,h as P,j,e as B,f as T}from"./B6orRp05.js";import{p as N}from"./B1XR2t8f.js";import{o as E,r as U,c as H}from"./BQHGoGbE.js";import{a as q,r as w,n as I}from"./76RNkh61.js";import{a as k,n as D,u as F}from"./DlDklb_P.js";import{d as V,G as z,H as M,m as A,aw as L,K as W,r as G,i as m}from"./CGuWR5z3.js";import"./B-XSawTn.js";const $=(...t)=>t.find(s=>s!==void 0);function K(t){const s=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function S(e,i,f){const r=f??t.trailingSlash;if(!e||r!=="append"&&r!=="remove")return e;if(typeof e=="string")return C(e,r);const l="path"in e&&e.path!==void 0?e.path:i(e).path;return{...e,name:void 0,path:C(l,r)}}function R(e){const i=q(),f=F(),r=m(()=>!!e.target&&e.target!=="_self"),l=m(()=>{const u=e.to||e.href||"";return typeof u=="string"&&P(u,{acceptRelative:!0})}),b=L("RouterLink"),h=b&&typeof b!="string"?b.useLink:void 0,c=m(()=>{if(e.external)return!0;const u=e.to||e.href||"";return typeof u=="object"?!1:u===""||l.value}),n=m(()=>{const u=e.to||e.href||"";return c.value?u:S(u,i.resolve,e.trailingSlash)}),g=c.value?void 0:h?.({...e,to:n}),p=m(()=>{const u=e.trailingSlash??t.trailingSlash;if(!n.value||l.value||v(n.value))return n.value;if(c.value){const y=typeof n.value=="object"&&"path"in n.value?w(n.value):n.value,x=typeof y=="object"?i.resolve(y).href:y;return C(x,u)}return typeof n.value=="object"?i.resolve(n.value)?.href??null:C(j(f.app.baseURL,n.value),u)});return{to:n,hasTarget:r,isAbsoluteUrl:l,isExternal:c,href:p,isActive:g?.isActive??m(()=>n.value===i.currentRoute.value.path),isExactActive:g?.isExactActive??m(()=>n.value===i.currentRoute.value.path),route:g?.route??m(()=>i.resolve(n.value)),async navigate(u){await I(p.value,{replace:e.replace,external:c.value||r.value})}}}return V({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},prefetchOn:{type:[String,Object],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},trailingSlash:{type:String,default:void 0,required:!1}},useLink:R,setup(e,{slots:i}){const f=q(),{to:r,href:l,navigate:b,isExternal:h,hasTarget:c,isAbsoluteUrl:n}=R(e),g=W(!1),p=G(null),u=o=>{p.value=e.custom?o?.$el?.nextElementSibling:o?.$el};function y(o){return!g.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===o:e.prefetchOn?.[o]??t.prefetchOn?.[o])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function x(o=k()){if(g.value)return;g.value=!0;const d=typeof r.value=="string"?r.value:h.value?w(r.value):f.resolve(r.value).fullPath,a=h.value?new URL(d,window.location.href).href:d;await Promise.all([o.hooks.callHook("link:prefetch",a).catch(()=>{}),!h.value&&!c.value&&N(r.value,f).catch(()=>{})])}if(y("visibility")){const o=k();let d,a=null;z(()=>{const _=Q();E(()=>{d=U(()=>{p?.value?.tagName&&(a=_.observe(p.value,async()=>{a?.(),a=null,await x(o)}))})})}),M(()=>{d&&H(d),a?.(),a=null})}return()=>{if(!h.value&&!c.value&&!v(r.value)){const a={ref:u,to:r.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(y("interaction")&&(a.onPointerenter=x.bind(null,void 0),a.onFocus=x.bind(null,void 0)),g.value&&(a.class=e.prefetchedClass||t.prefetchedClass),a.rel=e.rel||void 0),A(L("RouterLink"),a,i.default)}const o=e.target||null,d=$(e.noRel?"":e.rel,t.externalRelAttribute,n.value||c.value?"noopener noreferrer":"")||null;return e.custom?i.default?i.default({href:l.value,navigate:b,prefetch:x,get route(){if(!l.value)return;const a=new URL(l.value,window.location.href);return{path:a.pathname,fullPath:a.pathname,get query(){return O(a.search)},hash:a.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:d,target:o,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:p,href:l.value||null,rel:d,target:o,onClick:a=>{if(!(h.value||c.value))return a.preventDefault(),e.replace?f.replace(l.value):f.push(l.value)}},i.default?.())}}})}const le=K(D);function C(t,s){const v=s==="append"?B:T;return P(t)&&!t.startsWith("http")?t:v(t,!0)}function Q(){const t=k();if(t._observer)return t._observer;let s=null;const v=new Map,S=(e,i)=>(s||=new IntersectionObserver(f=>{for(const r of f){const l=v.get(r.target);(r.isIntersecting||r.intersectionRatio>0)&&l&&l()}}),v.set(e,i),s.observe(e),()=>{v.delete(e),s?.unobserve(e),v.size===0&&(s?.disconnect(),s=null)});return t._observer={observe:S}}const J=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||J.test(t.effectiveType)))}export{le as default,K as defineNuxtLink};

AltStyle によって変換されたページ (->オリジナル) /