{"version":3,"file":"link2.mjs","names":[],"sources":["../../../../../../packages/components/link/src/link.vue"],"sourcesContent":["<template>\n  <a\n    :class=\"linkKls\"\n    :href=\"disabled || !href ? undefined : href\"\n    :target=\"disabled || !href ? undefined : target\"\n    @click=\"handleClick\"\n  >\n    <el-icon v-if=\"icon\"><component :is=\"icon\" /></el-icon>\n    <span v-if=\"$slots.default\" :class=\"ns.e('inner')\">\n      <slot />\n    </span>\n\n    <slot v-if=\"$slots.icon\" name=\"icon\" />\n  </a>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { useGlobalConfig } from '@element-plus/components/config-provider'\nimport { useDeprecated, useNamespace } from '@element-plus/hooks'\nimport { isBoolean } from '@element-plus/utils'\nimport { linkEmits } from './link'\n\nimport type { LinkProps } from './link'\n\ndefineOptions({\n  name: 'ElLink',\n})\nconst props = withDefaults(defineProps<LinkProps>(), {\n  type: undefined,\n  underline: undefined,\n  href: '',\n  target: '_self',\n})\nconst emit = defineEmits(linkEmits)\nconst globalConfig = useGlobalConfig('link')\n\nuseDeprecated(\n  {\n    scope: 'el-link',\n    from: 'The underline option (boolean)',\n    replacement: \"'always' | 'hover' | 'never'\",\n    version: '3.0.0',\n    ref: 'https://element-plus.org/en-US/component/link.html#underline',\n  },\n  computed(() => isBoolean(props.underline))\n)\n\nconst ns = useNamespace('link')\n\nconst linkKls = computed(() => [\n  ns.b(),\n  ns.m(props.type ?? globalConfig.value?.type ?? 'default'),\n  ns.is('disabled', props.disabled),\n  ns.is('underline', underline.value === 'always'),\n  ns.is('hover-underline', underline.value === 'hover' && !props.disabled),\n])\n\n// Boolean compatibility\nconst underline = computed(() => {\n  if (isBoolean(props.underline)) {\n    return props.underline ? 'hover' : 'never'\n  } else return props.underline ?? globalConfig.value?.underline ?? 'hover'\n})\n\nfunction handleClick(event: MouseEvent) {\n  if (!props.disabled) emit('click', event)\n}\n</script>\n"],"mappings":""}