PhaseWeb3-Vue/assets/FormControl.4e2a271e.js

2 lines
2.9 KiB
JavaScript

import{o as r,c as w,I as E,f as m,u as V,r as p,Z as F,$ as R,g as s,k as a,d as g,a0 as q,Y as h,L as v,F as C,i as M,a1 as D,a2 as L,j as U,t as I}from"./index.5987daaf.js";const K={__name:"FormControlIcon",props:{icon:{type:String,default:null},h:{type:String,default:null}},setup(e){return(d,n)=>(r(),w(E,{path:e.icon,w:"w-10",h:e.h,class:"absolute top-0 left-0 z-10 pointer-events-none text-gray-500 dark:text-slate-400"},null,8,["path","h"]))}},$={class:"relative"},j=["id","name"],z=["value"],A=["id","name","maxlength","placeholder","required"],H=["id","name","maxlength","inputmode","autocomplete","required","placeholder","type"],T={__name:"FormControl",props:{name:{type:String,default:null},id:{type:String,default:null},autocomplete:{type:String,default:null},maxlength:{type:String,default:null},placeholder:{type:String,default:null},inputmode:{type:String,default:null},icon:{type:String,default:null},options:{type:Array,default:null},type:{type:String,default:"text"},modelValue:{type:[String,Number,Boolean,Array,Object],default:""},required:Boolean,borderless:Boolean,transparent:Boolean,ctrlKFocus:Boolean},emits:["update:modelValue","setRef"],setup(e,{emit:d}){const n=e,o=m({get:()=>n.modelValue,set:u=>{d("update:modelValue",u)}}),f=m(()=>{const u=["px-3 py-2 max-w-full focus:ring focus:outline-none border-gray-700 rounded w-full","dark:placeholder-gray-400",i.value==="textarea"?"h-24":"h-12",n.borderless?"border-0":"border",n.transparent?"bg-transparent":"bg-white dark:bg-slate-800"];return n.icon&&u.push("pl-10"),u}),i=m(()=>n.options?"select":n.type),B=m(()=>n.type==="textarea"?"h-full":"h-12"),y=V(),x=p(null),k=p(null),c=p(null);if(F(()=>{x.value?d("setRef",x.value):k.value?d("setRef",k.value):d("setRef",c.value)}),n.ctrlKFocus){const u=t=>{t.ctrlKey&&t.key==="k"?(t.preventDefault(),c.value.focus()):t.key==="Escape"&&c.value.blur()};F(()=>{y.isFieldFocusRegistered||(window.addEventListener("keydown",u),y.isFieldFocusRegistered=!0)}),R(()=>{window.removeEventListener("keydown",u),y.isFieldFocusRegistered=!1})}return(u,t)=>(r(),s("div",$,[a(i)==="select"?g((r(),s("select",{key:0,id:e.id,"onUpdate:modelValue":t[0]||(t[0]=l=>h(o)?o.value=l:null),name:e.name,class:v(a(f))},[(r(!0),s(C,null,M(e.options,l=>{var S,b;return r(),s("option",{key:(S=l.id)!=null?S:l,value:l},I((b=l.label)!=null?b:l),9,z)}),128))],10,j)),[[q,a(o)]]):a(i)==="textarea"?g((r(),s("textarea",{key:1,id:e.id,"onUpdate:modelValue":t[1]||(t[1]=l=>h(o)?o.value=l:null),class:v(a(f)),name:e.name,maxlength:e.maxlength,placeholder:e.placeholder,required:e.required},null,10,A)),[[D,a(o)]]):g((r(),s("input",{key:2,id:e.id,ref_key:"inputEl",ref:c,"onUpdate:modelValue":t[2]||(t[2]=l=>h(o)?o.value=l:null),name:e.name,maxlength:e.maxlength,inputmode:e.inputmode,autocomplete:e.autocomplete,required:e.required,placeholder:e.placeholder,type:a(i),class:v(a(f))},null,10,H)),[[L,a(o)]]),e.icon?(r(),w(K,{key:3,icon:e.icon,h:a(B)},null,8,["icon","h"])):U("",!0)]))}};export{T as _};