element-plus
Version:
A Component Library for Vue 3
1 lines • 5.44 kB
Source Map (JSON)
{"version":3,"file":"tag.vue2.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n <span\n v-if=\"disableTransitions\"\n :class=\"containerKls\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <button\n v-if=\"closable\"\n :aria-label=\"t('el.tag.close')\"\n :class=\"ns.e('close')\"\n type=\"button\"\n @click.stop=\"handleClose\"\n >\n <el-icon>\n <Close />\n </el-icon>\n </button>\n </span>\n <transition\n v-else\n :name=\"`${ns.namespace.value}-zoom-in-center`\"\n appear\n @vue:mounted=\"handleVNodeMounted\"\n >\n <span\n :class=\"containerKls\"\n :style=\"{ backgroundColor: color }\"\n @click=\"handleClick\"\n >\n <span :class=\"ns.e('content')\">\n <slot />\n </span>\n <button\n v-if=\"closable\"\n :aria-label=\"t('el.tag.close')\"\n :class=\"ns.e('close')\"\n type=\"button\"\n @click.stop=\"handleClose\"\n >\n <el-icon>\n <Close />\n </el-icon>\n </button>\n </span>\n </transition>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport ElIcon from '@element-plus/components/icon'\nimport { Close } from '@element-plus/icons-vue'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport { tagEmits } from './tag'\n\nimport type { VNode } from 'vue'\nimport type { TagProps } from './tag'\n\ndefineOptions({\n name: 'ElTag',\n})\nconst props = withDefaults(defineProps<TagProps>(), {\n type: 'primary',\n effect: 'light',\n})\nconst emit = defineEmits(tagEmits)\n\nconst tagSize = useFormSize()\nconst { t } = useLocale()\nconst ns = useNamespace('tag')\nconst containerKls = computed(() => {\n const { type, hit, effect, closable, round } = props\n return [\n ns.b(),\n ns.is('closable', closable),\n ns.m(type || 'primary'),\n ns.m(tagSize.value),\n ns.m(effect),\n ns.is('hit', hit),\n ns.is('round', round),\n ]\n})\n\n// methods\nconst handleClose = (event: MouseEvent) => {\n emit('close', event)\n}\n\nconst handleClick = (event: MouseEvent) => {\n emit('click', event)\n}\n\nconst handleVNodeMounted = (vnode: VNode) => {\n // @ts-ignore\n if (vnode?.component?.subTree?.component?.bum) {\n // @ts-ignore\n vnode.component.subTree.component.bum = null\n }\n}\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_unref","_renderSlot","_createVNode","_createBlock","_Transition"],"mappings":"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"}