mirror of
https://github.com/PhaseII-eAmusement-Network/PhaseWeb3-Vue.git
synced 2026-10-03 05:57:03 -05:00
2 lines
3.2 KiB
JavaScript
2 lines
3.2 KiB
JavaScript
import{a as i,c as B,I as V,B as m,u as R,r as y,o as w,J as q,i as r,e as n,C as h,K as C,E as x,z as p,F as D,j as M,t as K,L,D as U,k as z}from"./index.3d249920.js";const I={__name:"FormControlIcon",props:{icon:{type:String,default:null},h:{type:String,default:null}},setup(e){return(d,a)=>(i(),B(V,{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"]))}},j={class:"relative"},A=["id","name"],H=["value"],N=["id","name","maxlength","minlength","min","max","placeholder","required"],T=["id","name","maxlength","minlength","min","max","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},minlength:{type:String,default:null},max:{type:String,default:null},min:{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 a=e,u=m({get:()=>a.modelValue,set:o=>{d("update:modelValue",o)}}),f=m(()=>{const o=["px-3 py-2 max-w-full focus:ring focus:outline-none border-blue-700 dark:border-blue-500 rounded w-full","dark:placeholder-gray-400",s.value==="textarea"?"h-24":"h-12",a.borderless?"border-0":"border",a.transparent?"bg-transparent":"bg-white dark:bg-slate-800"];return a.icon&&o.push("pl-10"),o}),s=m(()=>a.options?"select":a.type),E=m(()=>a.type==="textarea"?"h-full":"h-12"),g=R(),v=y(null),k=y(null),c=y(null);if(w(()=>{v.value?d("setRef",v.value):k.value?d("setRef",k.value):d("setRef",c.value)}),a.ctrlKFocus){const o=l=>{l.ctrlKey&&l.key==="k"?(l.preventDefault(),c.value.focus()):l.key==="Escape"&&c.value.blur()};w(()=>{g.isFieldFocusRegistered||(window.addEventListener("keydown",o),g.isFieldFocusRegistered=!0)}),q(()=>{window.removeEventListener("keydown",o),g.isFieldFocusRegistered=!1})}return(o,l)=>(i(),r("div",j,[n(s)==="select"?h((i(),r("select",{key:0,id:e.id,"onUpdate:modelValue":l[0]||(l[0]=t=>x(u)?u.value=t:null),name:e.name,class:p(n(f))},[(i(!0),r(D,null,M(e.options,t=>{var S,b,F;return i(),r("option",{key:(S=t.id)!=null?S:t,value:(b=t.id)!=null?b:t},K((F=t.label)!=null?F:t),9,H)}),128))],10,A)),[[C,n(u)]]):n(s)==="textarea"?h((i(),r("textarea",{key:1,id:e.id,"onUpdate:modelValue":l[1]||(l[1]=t=>x(u)?u.value=t:null),class:p(n(f)),name:e.name,maxlength:e.maxlength,minlength:e.minlength,min:e.min,max:e.max,placeholder:e.placeholder,required:e.required},null,10,N)),[[L,n(u)]]):h((i(),r("input",{key:2,id:e.id,ref_key:"inputEl",ref:c,"onUpdate:modelValue":l[2]||(l[2]=t=>x(u)?u.value=t:null),name:e.name,maxlength:e.maxlength,minlength:e.minlength,min:e.min,max:e.max,inputmode:e.inputmode,autocomplete:e.autocomplete,required:e.required,placeholder:e.placeholder,type:n(s),class:p(n(f))},null,10,T)),[[U,n(u)]]),e.icon?(i(),B(I,{key:3,icon:e.icon,h:n(E)},null,8,["icon","h"])):z("",!0)]))}};export{J as _};
|