1import{a as V,d as q,b as $,o as F,e as H,r as A,m as R,n as x,i as D,j as B,s as h,a5 as G,H as z,G as J,k as E,l as P,p as U,q as m,aJ as K,a1 as L}from"./Bcc8-a-q.js";import{u as Q,t as W}from"./CdE3OqS9.js";import{u as X}from"./BZqjWkfA.js";const r=D(m.ui.strategy,m.ui.textarea,W),Y=q({inheritAttrs:!1,props:{modelValue:{type:[String,Number],default:""},id:{type:String,default:null},name:{type:String,default:null},placeholder:{type:String,default:null},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rows:{type:Number,default:3},maxrows:{type:Number,default:0},autoresize:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},autofocusDelay:{type:Number,default:100},resize:{type:Boolean,default:!1},padded:{type:Boolean,default:!0},size:{type:String,default:null,validator(e){return Object.keys(r.size).includes(e)}},color:{type:String,default:()=>r.default.color,validator(e){return[...m.ui.colors,...Object.keys(r.color)].includes(e)}},variant:{type:String,default:()=>r.default.variant,validator(e){return[...Object.keys(r.variant),...Object.values(r.color).flatMap(t=>Object.keys(t))].includes(e)}},textareaClass:{type:String,default:null},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})},modelModifiers:{type:Object,default:()=>({})}},emits:["update:modelValue","blur","change"],setup(e,{emit:t}){const{ui:l,attrs:c}=Q("textarea",B(e,"ui"),r,B(e,"class")),{emitFormBlur:p,emitFormInput:v,inputId:n,color:y,size:g,name:C}=X(e,r),s=h(G({},e.modelModifiers,{trim:!1,lazy:!1,number:!1,nullify:!1})),o=h(null),b=()=>{var a;e.autofocus&&((a=o.value)==null||a.focus())},d=()=>{if(e.autoresize){if(!o.value)return;o.value.rows=e.rows;const a=o.value.style.overflow;o.value.style.overflow="hidden";const u=window.getComputedStyle(o.value),i=Number.parseInt(u.paddingTop),k=Number.parseInt(u.paddingBottom),O=i+k,M=Number.parseInt(u.lineHeight),{scrollHeight:T}=o.value,f=(T-O)/M;f>e.rows&&(o.value.rows=e.maxrows?Math.min(f,e.maxrows):f),o.value.style.overflow=a}},w=a=>{s.value.trim&&(a=a.trim()),s.value.number&&(a=K(a)),s.value.nullify&&(a||(a=null)),t("update:modelValue",a),v()},I=a=>{d(),s.value.lazy||w(a.target.value)},S=a=>{const u=a.target.value;t("change",u),s.value.lazy&&w(u),s.value.trim&&(a.target.value=u.trim())},j=a=>{t("blur",a),p()};z(()=>{setTimeout(()=>{b()},e.autofocusDelay)}),J(()=>e.modelValue,()=>{L(d)}),z(()=>{setTimeout(()=>{b(),d()},100)});const N=E(()=>{var u,i;const a=((i=(u=l.value.color)==null?void 0:u[y.value])==null?void 0:i[e.variant])||l.value.variant[e.variant];return P(U(l.value.base,l.value.form,l.value.rounded,l.value.placeholder,l.value.size[g.value],e.padded?l.value.padding[g.value]:"p-0",a==null?void 0:a.replaceAll("{color}",y.value),!e.resize&&"resize-none"),e.textareaClass)});return{ui:l,attrs:c,name:C,inputId:n,textarea:o,textareaClass:N,onInput:I,onChange:S,onBlur:j}}}),Z=["id","value","name","rows","required","disabled","placeholder"];function _(e,t,l,c,p,v){return F(),$("div",{class:x(e.ui.wrapper)},[H("textarea",R({id:e.inputId,ref:"textarea",value:e.modelValue,name:e.name,rows:e.rows,required:e.required,disabled:e.disabled,placeholder:e.placeholder,class:e.textareaClass},e.attrs,{onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onChange:t[2]||(t[2]=(...n)=>e.onChange&&e.onChange(...n))}),null,16,Z),A(e.$slots,"default")],2)}const le=V(Y,[["render",_]]);export{le as _};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.