1import{_ as s}from"./nuxt-link.Dmp1iV9N.js";import{_ as p}from"./entry.2ehg4ZD6.js";import{d as a,G as n,H as k,P as u,_ as o,X as r,N as l,L as h}from"./swiper-vue.iPC35nDh.js";const m=a({name:"EntireLink",props:s.props,emits:s.props.emits,data:()=>({clicked:!1,timeout:null,clickTimeout:null}),computed:{link(){return this.to!=null?this.addHttps(this.to):this.to},externalLink(){return this.$props.external!=null?this.$props.external:this.link!=null&&typeof this.link=="string"&&this.link.match&&this.isExternal(this.link)}},methods:{interceptClick(){this.clicked=!0,clearTimeout(this.timeout),clearTimeout(this.clickTimeout),this.timeout=setTimeout(()=>{this.clicked=!1},100)},click(t){clearTimeout(this.clickTimeout),this.clicked||(this.clickTimeout=setTimeout(()=>{this.clicked||this.$emit("click",t)},500))},addHttps(t){try{if(t&&typeof t=="string"&&!t.includes(":")&&!t.startsWith("/"))return`https://${t}`}catch{return t}return t},isExternal(t){try{const e=t.match(/^([^:\/?#]+:)?(?:\/\/([^\/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/);if(typeof e[1]=="string"&&e[1].length>0&&e[1].toLowerCase()!==(this.$config.public.protocol||"https:")&&e[1].toLowerCase()!==(this.$config.public.protocol||"http:")||typeof e[2]=="string"&&e[2].length>0&&e[2].replace(new RegExp(":("+{"http:":80,"https:":443}[this.$config.public.protocol||"https:"]+")?$"),"")!==(this.$config.public.baseURL||"").replace("https://","").replace("http://",""))return!0}catch{return!1}return!1}}});function f(t,e,d,$,g,C){const c=s;return t.link?(n(),k(c,l({key:"link"},{...t.$props,to:t.link,external:t.externalLink,target:t.externalLink?"_blank":t.$props.target},{class:"entire-link",onClick:t.interceptClick}),{default:u(()=>[o("div",{class:"ios-clicker",onMouseover:e[0]||(e[0]=(...i)=>t.click&&t.click(...i))},null,32),r(t.$slots,"default")]),_:3},16,["onClick"])):(n(),h("button",l({key:"button"},{...t.$props},{class:"entire-link",onClick:e[2]||(e[2]=(...i)=>t.interceptClick&&t.interceptClick(...i))}),[o("div",{class:"ios-clicker",onMouseover:e[1]||(e[1]=(...i)=>t.click&&t.click(...i))},null,32),r(t.$slots,"default")],16))}const y=p(m,[["render",f]]);export{y as _};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.