Files
workspace/code/sllog/Sllog-User-Ui/dist/assets/index-DxZcXRfJ.js
T
2025-06-18 16:30:01 +08:00

3 lines
6.7 KiB
JavaScript

import{_ as we,d as Se,e as A,c as w,o as S,C as E,q as F,u as ze,a as Ve,n as M,G as j,A as ee,f as Ie,m as ae,aI as Le,aJ as $e,t as Be,g as Re,ak as Oe,i as v,b as f,Z as k,j as z,H as Pe,ap as xe,ag as Ne,b2 as te,a4 as le,am as Te,b3 as He,y as Ae,z as Ee}from"./index-C4UKuwCQ.js";import{R as Fe}from"./resize-observer-DsiuURlg.js";import{u as Me,p as je}from"./index-BAOCFoRq.js";const ke=["border-width","box-sizing","font-family","font-weight","font-size","font-variant","letter-spacing","line-height","padding-top","padding-bottom","padding-left","padding-right","text-indent","text-rendering","text-transform","white-space","overflow-wrap","width"],De=e=>{const t={};return ke.forEach(s=>{t[s]=e.getPropertyValue(s)}),t};var We=Object.defineProperty,oe=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ne=(e,t,s)=>t in e?We(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,re=(e,t)=>{for(var s in t||(t={}))Ge.call(t,s)&&ne(e,s,t[s]);if(oe)for(var s of oe(t))Ue.call(t,s)&&ne(e,s,t[s]);return e};const qe=Se({name:"Textarea",components:{ResizeObserver:Fe,IconHover:$e,IconClose:Le},inheritAttrs:!1,props:{modelValue:String,defaultValue:{type:String,default:""},placeholder:String,disabled:{type:Boolean,default:!1},error:{type:Boolean,default:!1},maxLength:{type:[Number,Object],default:0},showWordLimit:{type:Boolean,default:!1},allowClear:{type:Boolean,default:!1},autoSize:{type:[Boolean,Object],default:!1},wordLength:{type:Function},wordSlice:{type:Function},textareaAttrs:{type:Object}},emits:{"update:modelValue":e=>!0,input:(e,t)=>!0,change:(e,t)=>!0,clear:e=>!0,focus:e=>!0,blur:e=>!0},setup(e,{emit:t,attrs:s}){const{disabled:W,error:G,modelValue:g}=Be(e),m=Re("textarea"),{mergedDisabled:c,mergedError:V,eventHandlers:o}=Oe({disabled:W,error:G}),u=v(),U=v(),h=v(),q=v(),I=v(e.defaultValue),d=f(()=>{var a;return(a=g.value)!=null?a:I.value}),[se,ue]=Me(u);k(g,a=>{(Te(a)||He(a))&&(I.value="")});const C=f(()=>z(e.maxLength)&&!!e.maxLength.errorOnly),i=f(()=>z(e.maxLength)?e.maxLength.length:e.maxLength),b=a=>{var l;return Ne(e.wordLength)?e.wordLength(a):(l=a.length)!=null?l:0},J=f(()=>b(d.value)),Z=f(()=>V.value||!!(i.value&&C.value&&J.value>i.value)),p=v(!1),L=v(!1),ie=f(()=>e.allowClear&&!c.value&&d.value),$=v(!1),_=v(""),B=()=>{se(),le(()=>{u.value&&d.value!==u.value.value&&(u.value.value=d.value,ue())})},y=(a,l=!0)=>{var n,r;i.value&&!C.value&&b(a)>i.value&&(a=(r=(n=e.wordSlice)==null?void 0:n.call(e,a,i.value))!=null?r:a.slice(0,i.value)),I.value=a,l&&t("update:modelValue",a),B()};let R=d.value;const K=(a,l)=>{var n,r;a!==R&&(R=a,t("change",a,l),(r=(n=o.value)==null?void 0:n.onChange)==null||r.call(n,l))},de=a=>{var l,n;L.value=!0,R=d.value,t("focus",a),(n=(l=o.value)==null?void 0:l.onFocus)==null||n.call(l,a)},ve=a=>{var l,n;L.value=!1,t("blur",a),(n=(l=o.value)==null?void 0:l.onBlur)==null||n.call(l,a),K(d.value,a)},fe=a=>{var l,n;const{value:r}=a.target;if(a.type==="compositionend"){if($.value=!1,_.value="",i.value&&!C.value&&d.value.length>=i.value&&b(r)>i.value){B();return}t("input",r,a),y(r),(n=(l=o.value)==null?void 0:l.onInput)==null||n.call(l,a)}else $.value=!0},me=a=>{var l,n;const{value:r}=a.target;if($.value)_.value=r;else{if(i.value&&!C.value&&d.value.length>=i.value&&b(r)>i.value&&a.inputType==="insertText"){B();return}t("input",r,a),y(r),(n=(l=o.value)==null?void 0:l.onInput)==null||n.call(l,a)}},ce=a=>{y(""),K("",a),t("clear",a)};k(g,a=>{a!==d.value&&y(a??"",!1)});const pe=a=>xe(s,te),Q=a=>je(s,te),ge=Q(),he=f(()=>{const a=re(re({},ge),e.textareaAttrs);return Z.value&&(a["aria-invalid"]=!0),a}),Ce=f(()=>[`${m}-wrapper`,{[`${m}-focus`]:L.value,[`${m}-disabled`]:c.value,[`${m}-error`]:Z.value,[`${m}-scroll`]:p.value}]);let X;const O=v(0),P=v(0),x=f(()=>!z(e.autoSize)||!e.autoSize.minRows?0:e.autoSize.minRows*O.value+P.value),N=f(()=>!z(e.autoSize)||!e.autoSize.maxRows?0:e.autoSize.maxRows*O.value+P.value),T=()=>{const a=De(X);O.value=Number.parseInt(a["line-height"]||0,10),P.value=Number.parseInt(a["border-width"]||0,10)*2+Number.parseInt(a["padding-top"]||0,10)+Number.parseInt(a["padding-bottom"]||0,10),q.value=a,le(()=>{var l;const n=(l=h.value)==null?void 0:l.offsetHeight;let r=n??0,Y="hidden";x.value&&r<x.value&&(r=x.value),N.value&&r>N.value&&(r=N.value,Y="auto"),U.value={height:`${r}px`,resize:"none",overflow:Y}})};Pe(()=>{u.value&&(X=window.getComputedStyle(u.value),e.autoSize&&T()),H()});const be=()=>{e.autoSize&&h.value&&T(),H()},ye=a=>{u.value&&a.target!==u.value&&(a.preventDefault(),u.value.focus())},H=()=>{u.value&&(u.value.scrollHeight>u.value.offsetHeight?p.value||(p.value=!0):p.value&&(p.value=!1))};return k(d,()=>{e.autoSize&&h.value&&T(),H()}),{prefixCls:m,wrapperCls:Ce,textareaRef:u,textareaStyle:U,mirrorRef:h,mirrorStyle:q,computedValue:d,showClearBtn:ie,valueLength:J,computedMaxLength:i,mergedDisabled:c,mergeTextareaAttrs:he,getWrapperAttrs:pe,getTextareaAttrs:Q,handleInput:me,handleFocus:de,handleBlur:ve,handleComposition:fe,handleClear:ce,handleResize:be,handleMousedown:ye}},methods:{focus(){var e;(e=this.$refs.textareaRef)==null||e.focus()},blur(){var e;(e=this.$refs.textareaRef)==null||e.blur()}}}),Je=["disabled","value","placeholder"];function Ze(e,t,s,W,G,g){const m=A("resize-observer"),c=A("icon-close"),V=A("icon-hover");return S(),w("div",ae(e.getWrapperAttrs(e.$attrs),{class:e.wrapperCls,onMousedown:t[7]||(t[7]=(...o)=>e.handleMousedown&&e.handleMousedown(...o))}),[e.autoSize?(S(),w("div",{key:0,ref:"mirrorRef",class:M(`${e.prefixCls}-mirror`),style:Ve(e.mirrorStyle)},j(`${e.computedValue}
`),7)):E("v-if",!0),F(m,{onResize:e.handleResize},{default:ee(()=>[Ie("textarea",ae({ref:"textareaRef"},e.mergeTextareaAttrs,{disabled:e.mergedDisabled,class:e.prefixCls,style:e.textareaStyle,value:e.computedValue,placeholder:e.placeholder,onInput:t[0]||(t[0]=(...o)=>e.handleInput&&e.handleInput(...o)),onFocus:t[1]||(t[1]=(...o)=>e.handleFocus&&e.handleFocus(...o)),onBlur:t[2]||(t[2]=(...o)=>e.handleBlur&&e.handleBlur(...o)),onCompositionstart:t[3]||(t[3]=(...o)=>e.handleComposition&&e.handleComposition(...o)),onCompositionupdate:t[4]||(t[4]=(...o)=>e.handleComposition&&e.handleComposition(...o)),onCompositionend:t[5]||(t[5]=(...o)=>e.handleComposition&&e.handleComposition(...o))}),null,16,Je)]),_:1},8,["onResize"]),ze(e.$slots,"suffix"),e.computedMaxLength&&e.showWordLimit?(S(),w("div",{key:1,class:M(`${e.prefixCls}-word-limit`)},j(e.valueLength)+"/"+j(e.computedMaxLength),3)):E("v-if",!0),e.showClearBtn?(S(),w("div",{key:2,class:M(`${e.prefixCls}-clear-btn`),onClick:t[6]||(t[6]=(...o)=>e.handleClear&&e.handleClear(...o))},[F(V,null,{default:ee(()=>[F(c)]),_:1})],2)):E("v-if",!0)],16)}var D=we(qe,[["render",Ze]]);const Xe=Object.assign(D,{install:(e,t)=>{Ae(e,t);const s=Ee(t);e.component(s+D.name,D)}});export{Xe as T};