You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
3.8 KiB
1 line
3.8 KiB
{"ast":null,"code":"import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createBlock, withCtx, resolveDynamicComponent, createCommentVNode, renderSlot } from 'vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { linkProps, linkEmits } from './link.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nconst __default__ = defineComponent({\n name: \"ElLink\"\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: linkProps,\n emits: linkEmits,\n setup(__props, {\n emit\n }) {\n const props = __props;\n const ns = useNamespace(\"link\");\n const linkKls = computed(() => [ns.b(), ns.m(props.type), ns.is(\"disabled\", props.disabled), ns.is(\"underline\", props.underline && !props.disabled)]);\n function handleClick(event) {\n if (!props.disabled) emit(\"click\", event);\n }\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"a\", {\n class: normalizeClass(unref(linkKls)),\n href: _ctx.disabled || !_ctx.href ? void 0 : _ctx.href,\n target: _ctx.disabled || !_ctx.href ? void 0 : _ctx.target,\n onClick: handleClick\n }, [_ctx.icon ? (openBlock(), createBlock(unref(ElIcon), {\n key: 0\n }, {\n default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(_ctx.icon)))]),\n _: 1\n })) : createCommentVNode(\"v-if\", true), _ctx.$slots.default ? (openBlock(), createElementBlock(\"span\", {\n key: 1,\n class: normalizeClass(unref(ns).e(\"inner\"))\n }, [renderSlot(_ctx.$slots, \"default\")], 2)) : createCommentVNode(\"v-if\", true), _ctx.$slots.icon ? renderSlot(_ctx.$slots, \"icon\", {\n key: 2\n }) : createCommentVNode(\"v-if\", true)], 10, [\"href\", \"target\"]);\n };\n }\n});\nvar Link = /* @__PURE__ */_export_sfc(_sfc_main, [[\"__file\", \"link.vue\"]]);\nexport { Link as default };","map":{"version":3,"names":["name","ns","useNamespace","linkKls","computed","b","m","props","type","is","disabled","underline","handleClick","event","emit"],"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 { useNamespace } from '@element-plus/hooks'\nimport { linkEmits, linkProps } from './link'\n\ndefineOptions({\n name: 'ElLink',\n})\nconst props = defineProps(linkProps)\nconst emit = defineEmits(linkEmits)\n\nconst ns = useNamespace('link')\n\nconst linkKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.is('disabled', props.disabled),\n ns.is('underline', props.underline && !props.disabled),\n])\n\nfunction handleClick(event: MouseEvent) {\n if (!props.disabled) emit('click', event)\n}\n</script>\n"],"mappings":";;;;;;mCAsBc;EACZA,IAAM;AACR;;;;;;;;;IAIM,MAAAC,EAAA,GAAKC,YAAA,CAAa,MAAM;IAExB,MAAAC,OAAA,GAAUC,QAAA,CAAS,MAAM,CAC7BH,EAAA,CAAGI,CAAE,IACLJ,EAAA,CAAGK,CAAE,CAAAC,KAAA,CAAMC,IAAI,GACfP,EAAG,CAAAQ,EAAA,CAAG,UAAY,EAAAF,KAAA,CAAMG,QAAQ,GAChCT,EAAA,CAAGQ,EAAG,cAAaF,KAAA,CAAMI,SAAa,KAACJ,KAAA,CAAMG,QAAQ,EACtD;IAED,SAASE,YAAYC,KAAmB;MACtC,IAAI,CAACN,KAAA,CAAMG,QAAU,EACvBI,IAAA,UAAAD,KAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |