PhaseWeb3-Vue/assets/FormControl.f773f283.js

2 lines
2.9 KiB
JavaScript

import{o as r,d as w,H as E,z as m,I as V,J as p,K as F,L as R,c as s,g as a,A as g,M as q,C as h,D as v,F as C,r as M,t as D,N as K,B as L,h as U}from"./index.a3e3dc89.js";const z={__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"]))}},A={class:"relative"},H=["id","name"],I=["value"],N=["id","name","maxlength","placeholder","required"],T=["id","name","maxlength","inputmode","autocomplete","required","placeholder","type"],j={__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 dark:border-gray-500 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,[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 b,S;return r(),s("option",{key:(b=l.id)!=null?b:l,value:l},D((S=l.label)!=null?S:l),9,I)}),128))],10,H)),[[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,N)),[[K,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,T)),[[L,a(o)]]),e.icon?(r(),w(z,{key:3,icon:e.icon,h:a(B)},null,8,["icon","h"])):U("",!0)]))}};export{j as _};