import{d as E,bG as P,bp as R,r as k,b as V,bk as q,N as T,o,c as d,R as A,h as L,f as r,a_ as j,a as f,I as _,t as C,g as h,F as D,C as G,e as H,w as M,y as O,H as U}from"./entry.2eaa703d.js";const W=["id"],J=["id","value","placeholder","readonly","disabled","tabindex","name","rows"],K={key:0,class:"mt-2 text-sm text-danger"},Q={key:1},X={id:"insertable-wrapper",class:"flex gap-2 mt-2 mb-1"},Y=["onClick"],te=E({__name:"FpTextarea",props:{...P,...R,readonly:{type:Boolean,required:!1},modelValue:{type:String,default:null},resize:{type:Boolean,default:!0},rows:{type:[String,Number],default:null},insertableItems:{type:Array}},emits:["update:modelValue","change","input-click","input"],setup(i,{expose:S,emit:I}){const u=I,t=i,s=k(t.modelValue),b=k(),B=(a,n)=>{const e=b.value;if(e.selectionStart||e.selectionStart==0){const p=e.selectionStart,m=e.selectionEnd,w=e.value.substring(0,p),y=e.value.substring(m,e.value.length),z=(w.length?" ":"")+n+(y.length?" ":"");e.value=w+z+y}else e.value+=n;s.value=e.value,c()},g=V({set(a){s.value=a},get(){return s.value}}),{error:l,validate:$,setError:F,clearError:c,handleChange:v,resetField:Z}=q("input",t,s,{initialValue:t.modelValue||"",validateOnValueUpdate:!1}),x=V(()=>t.label?`${t.label}${t.required&&t.showRequired?" *":""}`:void 0);T(()=>t.modelValue,a=>{s.value=a},{immediate:!0});const N=a=>{if(t.disabled)return;c(),u("input",a);const n=a.target;g.value=n.value,u("update:modelValue",s.value),l.value&&v(a)};return S({setError:F,clearError:c,validate:$}),(a,n)=>(o(),d("div",{"data-fp":"textarea",id:`textarea-${a.name.replace(".","_")}`},[A(a.$slots,"label",{label:x.value,hint:t.hint,fieldName:t.name},()=>[L(r(j),{label:x.value,hint:t.hint,for:t.name},null,8,["label","hint","for"])]),f("div",{class:_(["flex items-center border rounded-md overflow-hidden focus:outline-none focus-within:border-primary focus-within:shadow-[0px_0px_0px_4px] focus-within:shadow-primary-lighter",{"border-danger text-dark focus-within:shadow-danger-lighter focus-within:border-danger has-error":r(l),"border-light text-dark":!r(l)}]),"data-fp":"textareaWrapper"},[f("textarea",{id:a.name,ref_key:"fpTextareaInputRef",ref:b,value:g.value,class:_(["focus:ring-none px-4 py-3 flex flex-1 flex-shrink-0 bg-light-lighter focus:outline-none rounded-md",{"border-danger text-danger":r(l),"border-light text-dark":!r(l),"resize-none":!i.resize}]),placeholder:t.placeholder,readonly:t.readonly,disabled:t.disabled,tabindex:t.tabindex,name:a.name,rows:i.rows,onChange:n[0]||(n[0]=e=>u("change",e)),onBlur:n[1]||(n[1]=e=>a.disabled?!1:r(v)(e)),onInput:N,onClick:n[2]||(n[2]=e=>u("input-click",e))},null,42,J)],2),r(l)?(o(),d("div",K,C(r(l)),1)):h("",!0),i.insertableItems?(o(),d("div",Q,[f("div",X,[(o(!0),d(D,null,G(i.insertableItems,(e,p)=>(o(),H(r(U),{key:`insert_${p}`,"tooltip-text":e.description,container:"#insertable-wrapper",placement:"bottom"},{default:M(()=>[e.hidden?h("",!0):(o(),d("div",{key:0,class:"rounded bg-light text-xs p-1 cursor-pointer",onClick:O(m=>B(m,e.value),["prevent"])},C(e.value),9,Y))]),_:2},1032,["tooltip-text"]))),128))])])):h("",!0)],8,W))}});export{te as _};
