UNPKG

maz-ui

Version:

A standalone components library for Vue.Js 3 & Nuxt.Js 3

1 lines 3.15 kB
import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper.ChmETRGw.js";import{useInstanceUniqId}from"../composables/useInstanceUniqId.js";import{t as getColor}from"./types.CpBj759L.js";import{t as resolveLinkComponent}from"./resolveLinkComponent.BkamYM5e.js";import{computed,createBlock,createCommentVNode,createVNode,defineAsyncComponent,defineComponent,mergeProps,openBlock,renderSlot,resolveDynamicComponent,unref,withCtx}from"vue";import{MazArrowTopRightOnSquare}from"@maz-ui/icons/lazy/MazArrowTopRightOnSquare";import '../assets/MazLink.Djx1cH__.css';var MazLink_default=_plugin_vue_export_helper_default(defineComponent({inheritAttrs:!1,__name:`MazLink`,props:{class:{type:[Boolean,null,String,Object,Array]},style:{type:[Boolean,null,String,Object,Array]},as:{},id:{},title:{},href:{},to:{},color:{default:`primary`},target:{default:`_self`},download:{},rel:{},ariaLabel:{},underline:{type:Boolean,default:!1},underlineHover:{type:Boolean,default:!0},autoExternal:{type:Boolean,default:!0},leftIcon:{type:[String,Function,Object]},rightIcon:{type:[String,Function,Object]},disabled:{type:Boolean}},setup(__props){let MazIcon=defineAsyncComponent(()=>import(`../components/MazIcon.js`));let instanceId=useInstanceUniqId({componentName:`MazLink`,providedId:__props.id});let component=computed(()=>__props.as?__props.as:__props.to?resolveLinkComponent():__props.href?`a`:`button`);let isButton=computed(()=>component.value===`button`);return(_ctx,_cache)=>(openBlock(),createBlock(resolveDynamicComponent(component.value),mergeProps({id:unref(instanceId),class:[`m-link m-reset-css`,[{"--underline":__props.underline,"--underline-hover":!__props.underline&&__props.underlineHover},__props.color!==`inherit`&&`--${unref(getColor)(__props.color)}`,__props.class]],to:__props.to,href:__props.href,title:__props.title,target:isButton.value?void 0:__props.target,rel:isButton.value?void 0:__props.rel,download:isButton.value?void 0:__props.download,"aria-label":isButton.value?void 0:__props.ariaLabel,type:isButton.value?`button`:void 0,disabled:isButton.value?__props.disabled:void 0,style:__props.style},_ctx.$attrs),{default:withCtx(()=>[renderSlot(_ctx.$slots,`left-icon`,{},()=>[typeof __props.leftIcon==`string`?(openBlock(),createBlock(unref(MazIcon),{key:0,name:__props.leftIcon},null,8,[`name`])):__props.leftIcon?(openBlock(),createBlock(resolveDynamicComponent(__props.leftIcon),{key:1})):createCommentVNode(``,!0)],!0),renderSlot(_ctx.$slots,`default`,{},void 0,!0),renderSlot(_ctx.$slots,`right-icon`,{},()=>[typeof __props.rightIcon==`string`?(openBlock(),createBlock(unref(MazIcon),{key:0,name:__props.rightIcon},null,8,[`name`])):__props.rightIcon?(openBlock(),createBlock(resolveDynamicComponent(__props.rightIcon),{key:1})):createCommentVNode(``,!0)],!0),__props.autoExternal&&__props.target===`_blank`?renderSlot(_ctx.$slots,`external-icon`,{key:0},()=>[createVNode(unref(MazArrowTopRightOnSquare))],!0):createCommentVNode(``,!0)]),_:3},16,[`id`,`class`,`to`,`href`,`title`,`target`,`rel`,`download`,`aria-label`,`type`,`disabled`,`style`]))}}),[[`__scopeId`,`data-v-5e8addd2`]]);export{MazLink_default as t};