{"version":3,"file":"linker.vue2.cjs","sources":["../../../components/linker/linker.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Icon } from '@/components/icon'\n\nimport { computed } from 'vue'\n\nimport { createIconProp, emitEvent, useNameHelper, useProps } from '@vexip-ui/config'\nimport { linkerProps } from './props'\n\nimport type { LinkerType } from './symbol'\n\nconst linkerTypes = Object.freeze<LinkerType[]>([\n  'default',\n  'primary',\n  'success',\n  'error',\n  'warning',\n  'info',\n])\n\ndefineOptions({ name: 'Linker' })\n\nconst _props = defineProps(linkerProps)\nconst props = useProps('linker', _props, {\n  to: {\n    default: null,\n    static: true,\n  },\n  type: {\n    default: 'default' as LinkerType,\n    validator: (value: LinkerType) => linkerTypes.includes(value),\n  },\n  icon: createIconProp(),\n  underline: false,\n  disabled: false,\n  target: '_blank',\n})\n\nconst nh = useNameHelper('linker')\n\nconst className = computed(() => {\n  return {\n    [nh.b()]: true,\n    [nh.bs('vars')]: true,\n    [nh.bm('inherit')]: props.inherit,\n    [nh.bm(props.type)]: props.type !== 'default',\n    [nh.bm('disabled')]: props.disabled,\n    [nh.bm('underline')]: props.underline,\n  }\n})\n\nfunction handleClick(event: MouseEvent) {\n  if (props.disabled) {\n    event.preventDefault()\n  }\n\n  emitEvent(props.onClick, event)\n}\n</script>\n\n<template>\n  <a\n    :class=\"className\"\n    :href=\"props.to\"\n    tabindex=\"0\"\n    :target=\"props.target\"\n    @click=\"handleClick\"\n  >\n    <slot name=\"icon\">\n      <Icon v-if=\"props.icon\" :class=\"nh.be('icon')\" :icon=\"props.icon\"></Icon>\n    </slot>\n    <slot></slot>\n  </a>\n</template>\n"],"names":["linkerTypes","_props","__props","props","useProps","value","createIconProp","nh","useNameHelper","className","computed","handleClick","event","emitEvent","_createElementBlock","_unref","_renderSlot","_ctx","_createBlock","Icon","_normalizeClass"],"mappings":"gQAUM,MAAAA,EAAc,OAAO,OAAqB,CAC9C,UACA,UACA,UACA,QACA,UACA,MAAA,CACD,EAIKC,EAASC,EACTC,EAAQC,EAAAA,SAAS,SAAUH,EAAQ,CACvC,GAAI,CACF,QAAS,KACT,OAAQ,EACV,EACA,KAAM,CACJ,QAAS,UACT,UAAYI,GAAsBL,EAAY,SAASK,CAAK,CAC9D,EACA,KAAMC,EAAAA,eAAe,EACrB,UAAW,GACX,SAAU,GACV,OAAQ,QAAA,CACT,EAEKC,EAAKC,gBAAc,QAAQ,EAE3BC,EAAYC,EAAAA,SAAS,KAClB,CACL,CAACH,EAAG,EAAE,CAAC,EAAG,GACV,CAACA,EAAG,GAAG,MAAM,CAAC,EAAG,GACjB,CAACA,EAAG,GAAG,SAAS,CAAC,EAAGJ,EAAM,QAC1B,CAACI,EAAG,GAAGJ,EAAM,IAAI,CAAC,EAAGA,EAAM,OAAS,UACpC,CAACI,EAAG,GAAG,UAAU,CAAC,EAAGJ,EAAM,SAC3B,CAACI,EAAG,GAAG,WAAW,CAAC,EAAGJ,EAAM,SAC9B,EACD,EAED,SAASQ,EAAYC,EAAmB,CAClCT,EAAM,UACRS,EAAM,eAAe,EAGbC,YAAAV,EAAM,QAASS,CAAK,CAAA,6BAK9BE,EAAA,mBAWI,IAAA,CAVD,uBAAOL,EAAS,KAAA,EAChB,KAAMM,EAAAA,MAAKZ,CAAA,EAAC,GACb,SAAS,IACR,OAAQY,EAAAA,MAAKZ,CAAA,EAAC,OACd,QAAOQ,CAAA,GAERK,EAAAA,WAEOC,mBAFP,IAEO,CADOF,QAAAZ,CAAA,EAAM,kBAAlB,EAAAe,cAAyEH,EAAAA,MAAAI,CAAA,EAAA,OAAhD,MAAKC,EAAE,eAAAL,EAAA,MAAER,CAAA,EAAC,GAAE,MAAA,CAAA,EAAW,KAAMQ,EAAAA,MAAKZ,CAAA,EAAC,IAAA,0DAE9Da,aAAaC,EAAA,OAAA,SAAA,CAAA"}