1import{R as Q,ac as Y,X as b,_ as Z,f as _,c as o,o as d,a as x,k as B,q as A,s as N,t as O,m as ee,H as g,N as j,b as p,y as w,S as ae,T as W,ai as le,g as i,V as ne,U as v,am as q}from"#entry";import{u as te}from"./CYfRGOk9.js";const u=Q(b.ui.strategy,b.ui.select,Y),ie=_({components:{UIcon:w},inheritAttrs:!1,props:{modelValue:{type:[String,Number,Object],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},icon:{type:String,default:null},loadingIcon:{type:String,default:()=>u.default.loadingIcon},leadingIcon:{type:String,default:null},trailingIcon:{type:String,default:()=>u.default.trailingIcon},trailing:{type:Boolean,default:!1},leading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},padded:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},size:{type:String,default:null,validator(e){return Object.keys(u.size).includes(e)}},color:{type:String,default:()=>u.default.color,validator(e){return[...b.ui.colors,...Object.keys(u.color)].includes(e)}},variant:{type:String,default:()=>u.default.variant,validator(e){return[...Object.keys(u.variant),...Object.values(u.color).flatMap(r=>Object.keys(r))].includes(e)}},optionAttribute:{type:String,default:"label"},valueAttribute:{type:String,default:"value"},selectClass:{type:String,default:null},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},emits:["update:modelValue","change"],setup(e,{emit:r,slots:y}){const{ui:a,attrs:C}=ae("select",W(e,"ui"),u,W(e,"class")),{size:z,rounded:m}=le({ui:a,props:e}),{emitFormChange:n,inputId:c,color:t,size:I,name:F}=te(e,u),s=i(()=>z.value??I.value),G=l=>{r("update:modelValue",l.target.value)},T=l=>{r("change",l.target.value),n()},U=l=>q(l,e.valueAttribute,""),L=l=>q(l,e.optionAttribute,""),S=l=>["string","number","boolean"].includes(typeof l)?{[e.valueAttribute]:l,[e.optionAttribute]:l}:{...l,[e.valueAttribute]:U(l),[e.optionAttribute]:L(l)},h=i(()=>e.options.map(l=>S(l))),V=i(()=>e.placeholder?[{[e.valueAttribute]:"",[e.optionAttribute]:e.placeholder,disabled:!0},...h.value]:h.value),M=i(()=>{const l=S(e.modelValue),k=V.value.find(K=>K[e.valueAttribute]===l[e.valueAttribute]);return k?k[e.valueAttribute]:""}),P=i(()=>{const l=a.value.color?.[t.value]?.[e.variant]||a.value.variant[e.variant];return ne(v(a.value.base,a.value.form,m.value,a.value.size[s.value],e.padded?a.value.padding[s.value]:"p-0",l?.replaceAll("{color}",t.value),(f.value||y.leading)&&a.value.leading.padding[s.value],($.value||y.trailing)&&a.value.trailing.padding[s.value]),e.placeholder&&!e.modelValue&&a.value.placeholder,e.selectClass)}),f=i(()=>e.icon&&e.leading||e.icon&&!e.trailing||e.loading&&!e.trailing||e.leadingIcon),$=i(()=>e.icon&&e.trailing||e.loading&&e.trailing||e.trailingIcon),R=i(()=>e.loading?e.loadingIcon:e.leadingIcon||e.icon),D=i(()=>e.loading&&!f.value?e.loadingIcon:e.trailingIcon||e.icon),E=i(()=>v(a.value.icon.leading.wrapper,a.value.icon.leading.pointer,a.value.icon.leading.padding[s.value])),H=i(()=>v(a.value.icon.base,t.value&&b.ui.colors.includes(t.value)&&a.value.icon.color.replaceAll("{color}",t.value),a.value.icon.size[s.value],e.loading&&a.value.icon.loading)),J=i(()=>v(a.value.icon.trailing.wrapper,a.value.icon.trailing.pointer,a.value.icon.trailing.padding[s.value])),X=i(()=>v(a.value.icon.base,t.value&&b.ui.colors.includes(t.value)&&a.value.icon.color.replaceAll("{color}",t.value),a.value.icon.size[s.value],e.loading&&!f.value&&a.value.icon.loading));return{ui:a,attrs:C,name:F,inputId:c,normalizedOptionsWithPlaceholder:V,normalizedValue:M,isLeading:f,isTrailing:$,selectClass:P,leadingIconName:R,leadingIconClass:H,leadingWrapperIconClass:E,trailingIconName:D,trailingIconClass:X,trailingWrapperIconClass:J,onInput:G,onChange:T}}}),ue=["id","name","value","required","disabled"],re=["value","label"],oe=["value","selected","disabled","textContent"],de=["value","selected","disabled","textContent"];function se(e,r,y,a,C,z){const m=w;return d(),o("div",{class:g(e.ui.wrapper)},[x("select",ee({id:e.inputId,name:e.name,value:e.modelValue,required:e.required,disabled:e.disabled,class:e.selectClass},e.attrs,{onInput:r[0]||(r[0]=(...n)=>e.onInput&&e.onInput(...n)),onChange:r[1]||(r[1]=(...n)=>e.onChange&&e.onChange(...n))}),[(d(!0),o(A,null,N(e.normalizedOptionsWithPlaceholder,(n,c)=>(d(),o(A,null,[n.children?(d(),o("optgroup",{key:`${n[e.valueAttribute]}-optgroup-${c}`,value:n[e.valueAttribute],label:n[e.optionAttribute]},[(d(!0),o(A,null,N(n.children,(t,I)=>(d(),o("option",{key:`${t[e.valueAttribute]}-${c}-${I}`,value:t[e.valueAttribute],selected:t[e.valueAttribute]===e.normalizedValue,disabled:t.disabled,textContent:O(t[e.optionAttribute])},null,8,oe))),128))],8,re)):(d(),o("option",{key:`${n[e.valueAttribute]}-${c}`,value:n[e.valueAttribute],selected:n[e.valueAttribute]===e.normalizedValue,disabled:n.disabled,textContent:O(n[e.optionAttribute])},null,8,de))],64))),256))],16,ue),e.isLeading&&e.leadingIconName||e.$slots.leading?(d(),o("span",{key:0,class:g(e.leadingWrapperIconClass)},[j(e.$slots,"leading",{disabled:e.disabled,loading:e.loading},()=>[p(m,{name:e.leadingIconName,class:g(e.leadingIconClass)},null,8,["name","class"])],!0)],2)):B("",!0),e.isTrailing&&e.trailingIconName||e.$slots.trailing?(d(),o("span",{key:1,class:g(e.trailingWrapperIconClass)},[j(e.$slots,"trailing",{disabled:e.disabled,loading:e.loading},()=>[p(m,{name:e.trailingIconName,class:g(e.trailingIconClass),"aria-hidden":"true"},null,8,["name","class"])],!0)],2)):B("",!0)],2)}const ve=Z(ie,[["render",se],["__scopeId","data-v-db8f1118"]]);export{ve 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.