{"version":3,"file":"linker.vue2.mjs","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","useProps","__props","value","createIconProp","nh","useNameHelper","className","computed","handleClick","event","emitEvent"],"mappings":";;;;;;;;;;AAUM,UAAAA,IAAc,OAAO,OAAqB;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,CACD,GAKKC,IAAQC,EAAS,UADRC,GAC0B;AAAA,MACvC,IAAI;AAAA,QACF,SAAS;AAAA,QACT,QAAQ;AAAA,MACV;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,WAAW,CAACC,MAAsBJ,EAAY,SAASI,CAAK;AAAA,MAC9D;AAAA,MACA,MAAMC,EAAe;AAAA,MACrB,WAAW;AAAA,MACX,UAAU;AAAA,MACV,QAAQ;AAAA,IAAA,CACT,GAEKC,IAAKC,EAAc,QAAQ,GAE3BC,IAAYC,EAAS,OAClB;AAAA,MACL,CAACH,EAAG,EAAE,CAAC,GAAG;AAAA,MACV,CAACA,EAAG,GAAG,MAAM,CAAC,GAAG;AAAA,MACjB,CAACA,EAAG,GAAG,SAAS,CAAC,GAAGL,EAAM;AAAA,MAC1B,CAACK,EAAG,GAAGL,EAAM,IAAI,CAAC,GAAGA,EAAM,SAAS;AAAA,MACpC,CAACK,EAAG,GAAG,UAAU,CAAC,GAAGL,EAAM;AAAA,MAC3B,CAACK,EAAG,GAAG,WAAW,CAAC,GAAGL,EAAM;AAAA,IAC9B,EACD;AAED,aAASS,EAAYC,GAAmB;AACtC,MAAIV,EAAM,YACRU,EAAM,eAAe,GAGbC,EAAAX,EAAM,SAASU,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;"}