UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 4.13 kB
{"version":3,"file":"text2.mjs","sources":["../../../../../../packages/components/text/src/text.vue"],"sourcesContent":["<template>\n <component\n :is=\"tag\"\n ref=\"textRef\"\n :class=\"textKls\"\n :style=\"{ '-webkit-line-clamp': lineClamp }\"\n >\n <slot />\n </component>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, onMounted, onUpdated, ref, useAttrs } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from '@element-plus/components/form'\nimport { isUndefined } from '@element-plus/utils'\nimport { textProps } from './text'\n\ndefineOptions({\n name: 'ElText',\n})\n\nconst props = defineProps(textProps)\nconst textRef = ref<HTMLElement>()\n\nconst textSize = useFormSize()\nconst ns = useNamespace('text')\n\nconst textKls = computed(() => [\n ns.b(),\n ns.m(props.type),\n ns.m(textSize.value),\n ns.is('truncated', props.truncated),\n ns.is('line-clamp', !isUndefined(props.lineClamp)),\n])\n\nconst bindTitle = () => {\n const inheritTitle = useAttrs().title\n\n if (inheritTitle) return\n let shouldAddTitle = false\n const text = textRef.value?.textContent || ''\n\n if (props.truncated) {\n const width = textRef.value?.offsetWidth\n const scrollWidth = textRef.value?.scrollWidth\n if (width && scrollWidth && scrollWidth > width) {\n shouldAddTitle = true\n }\n } else if (!isUndefined(props.lineClamp)) {\n const height = textRef.value?.offsetHeight\n const scrollHeight = textRef.value?.scrollHeight\n if (height && scrollHeight && scrollHeight > height) {\n shouldAddTitle = true\n }\n }\n\n if (shouldAddTitle) {\n textRef.value?.setAttribute('title', text)\n } else {\n textRef.value?.removeAttribute('title')\n }\n}\n\nonMounted(bindTitle)\nonUpdated(bindTitle)\n</script>\n"],"names":["_openBlock","_createBlock","_resolveDynamicComponent","tag","_normalizeClass","_normalizeStyle","lineClamp","_renderSlot"],"mappings":"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"}