ideaz-element
Version:
<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>
3 lines (2 loc) • 2.36 kB
JavaScript
;const e=require("vue");require("../../../shared/index.cjs");require("../../../utils/index.cjs");const S=require("element-plus"),b=require("./text.cjs"),C=require("../../../hooks/useNamespace.cjs"),F=require("../../../hooks/useFormSize.cjs"),H=require("../../../utils/getStyle.cjs"),N=require("../../../utils/string.cjs"),h=require("../../../utils/is.cjs"),z=require("../../../shared/resolveDynamicComponent.cjs"),D=e.defineComponent({name:"ZText",props:b.textProps,setup(t,{slots:f}){const s=C.useNamespace("text",e.ref("el")),V=F.useFormSize(),d=e.ref(),g=e.ref(!1),l=e.ref(!1),v=e.ref(""),o=e.ref(),u=e.ref(),y=e.computed(()=>[s.b(),s.m(t.type),s.m(V.value),s.is("truncated",t.truncated)]),a=()=>{var i;return t.value||t.text||((i=f.default)==null?void 0:i.call(f)[0].children)},T=async()=>{l.value=!1,g.value=!1,await e.nextTick();const i=o.value,r=d.value,x=u.value;let m=1e3,n=a(),c=t.height||0;if(!c&&t.lines&&(c=(Number.parseInt(H.getStyle(r,"lineHeight")||"",10)||24)*t.lines),i){if(t.length)(t.fullWidthRecognition?N.getStrFullLength(n):n.length)>t.length&&(l.value=!0,x.style.display="inline-block",n=t.fullWidthRecognition?N.cutStrByFullLength(n,t.length):n.slice(0,t.length));else if(r.offsetHeight>c)for(l.value=!0,x.style.display="inline-block";r.offsetHeight>c&&m>0;)r.offsetHeight>c*3?i.textContent=n=n.substring(0,Math.floor(n.length/2)):i.textContent=n=n.substring(0,n.length-1),m--}v.value=n,q()};async function q(){g.value=!0,await e.nextTick();const i=o.value;i&&(i.textContent=v.value)}return e.onMounted(()=>{(h.isValid(t.length)||h.isValid(t.lines))&&T()}),()=>{const{tag:i}=t,r=h.isObject(t.tooltip)?t.tooltip:{};return z.resolveDynamicComponent({name:i,attrs:{class:y.value,ref:d},content:g.value?l.value?e.createVNode(S.ElTooltip,e.mergeProps({content:a()},r),{default:()=>[e.createVNode("div",null,[e.createVNode("span",{ref:o},[a()]),e.withDirectives(e.createVNode("span",{ref:u},[e.createTextVNode("...")]),[[e.vShow,l.value]])])]}):e.createVNode(e.Fragment,null,[e.createVNode("span",{ref:o},[a()]),e.withDirectives(e.createVNode("span",{ref:u},[e.createTextVNode("...")]),[[e.vShow,l.value]])]):e.createVNode(e.Fragment,null,[e.createVNode("span",{ref:o},[a()]),e.withDirectives(e.createVNode("span",{ref:u},[e.createTextVNode("...")]),[[e.vShow,l.value]])])})}}});module.exports=D;
//# sourceMappingURL=index.cjs.map