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