@aotearoan/neon
Version:
Neon is a lightweight design library of Vue 3 components with minimal dependencies.
3 lines (2 loc) • 1 kB
JavaScript
;const t=require("vue"),m=require("../../../common/enums/NeonOutlineStyle.cjs.js"),y=require("../../presentation/icon/NeonIcon.vue.cjs.js"),l=require("vue-router"),S=t.defineComponent({name:"NeonLink",components:{NeonIcon:y},props:{href:{type:String,default:null},noStyle:{type:Boolean,default:!1},outlineStyle:{type:String,default:m.NeonOutlineStyle.Text},externalIndicator:{type:Boolean,default:!1}},emits:["click"],setup(e,{emit:r}){const s=t.useAttrs(),a=l.useRouter(),o=l.useRoute(),u=t.computed(()=>{var n;return((n=e.href)==null?void 0:n.indexOf("//"))===-1?e.href:void 0}),c=t.computed(()=>e.href&&e.href.indexOf(o.fullPath)===0),f=t.computed(()=>c.value&&e.href===o.fullPath),d=t.computed(()=>{const{onClick:n,...h}=s;return h}),i=()=>{r("click")};return{routerUrl:u,sanitizedAttributes:d,activeRoute:c,exactRoute:f,onClick:i,onSpace:async()=>{i(),u.value?await a.push(e.href):e.href&&window.location.replace(e.href)}}}});module.exports=S;
//# sourceMappingURL=NeonLink.cjs.js.map