1import{d as Q,u as ce,o as n,q as r,n as b,k as f,T as de,x as m,R as Me,v as x,p as l,f as u,m as i,r as R,j as $e,g as Se,aM as ze,h as J,a0 as Ne,b7 as Fe,ad as Ee,l as z,bj as Ge,z as N,bJ as A,aN as ae,F as C,s as F,y as Ie,H as K,t as Le,_ as pe,aV as Re}from"./BQvInRgY.js";import Te from"./2Y3BD69q.js";const O=Q({__name:"ModelSelectorTag",props:{type:{}},setup(_){const o=_,{t:h}=ce();return(d,w)=>{const y=de;return n(),r("strong",{class:b(["inline-flex min-h-4.5 shrink-0 items-center justify-center rounded-sm py-0.5 font-[Poppins] text-[10px] font-semibold leading-none",[o.type==="hot"?"bg-[linear-gradient(265.21deg,#E414A9_21.05%,#E6272B_87.53%)] text-white":o.type==="new"?"bg-[linear-gradient(265.21deg,#CAFF33_21.05%,#33FF78_87.53%)] text-black":"bg-[linear-gradient(265.21deg,#785CFF_21.05%,#4F7CFF_87.53%)] text-white",o.type==="sound"?"gap-0.5 px-1":"px-1.5"]])},[o.type==="sound"?(n(),f(y,{key:0,name:"i-common-model-sound",class:"size-3 shrink-0"})):m("",!0),Me(" "+x(l(h)(`app.modelSelector.${o.type}`)),1)],2)}}}),je={class:"flex min-w-0 flex-1 items-center gap-3"},Be={class:"grid size-12.5 shrink-0 place-content-center overflow-hidden rounded-[11px]"},Ve=["src","alt"],Pe={key:1,class:"text-sm font-semibold text-white/75"},Oe={class:"min-w-0 flex-1 text-left"},We={class:"truncate"},Ue={key:0,class:"inline-flex shrink-0 items-center gap-1"},T=Q({__name:"ModelSelectorRow",props:{model:{},size:{default:"default"},descriptionMode:{default:"compact"}},setup(_){const o=_,h=u(()=>o.size==="large"?"text-base":"text-sm"),d=u(()=>o.descriptionMode==="expanded"?"mt-1 whitespace-normal break-words text-xs leading-4 text-white/70":"mt-1 truncate text-xs text-white/70"),w=u(()=>o.model.name.trim().slice(0,1).toUpperCase()),y=u(()=>new Set(o.model.tags??[])),M=u(()=>y.value.has("hot")),E=u(()=>y.value.has("new")),j=u(()=>y.value.has("sound"));return(H,p)=>(n(),r("div",je,[i("div",Be,[o.model.icon?(n(),r("img",{key:0,src:o.model.icon,alt:o.model.name,class:"size-full object-cover object-center"},null,8,Ve)):(n(),r("span",Pe,x(l(w)),1))]),i("div",Oe,[i("div",{class:b(["flex min-w-0 items-center gap-2.5 font-semibold text-white",l(h)])},[i("span",We,x(o.model.name),1),l(M)||l(E)||l(j)?(n(),r("div",Ue,[l(M)?(n(),f(O,{key:0,type:"hot"})):m("",!0),l(E)?(n(),f(O,{key:1,type:"new"})):m("",!0),l(j)?(n(),f(O,{key:2,type:"sound"})):m("",!0)])):m("",!0)],2),i("div",{class:b(l(d))},x(o.model.desc),3)])]))}}),Ae=pe+"#icon-chevron-down",ue=pe+"#icon-arrow-right",He=["aria-expanded","disabled"],De={key:1,class:"h-12.5 flex-1 rounded-lg bg-white/5"},qe=["onMouseenter","onFocus","onClick"],Je={class:"flex size-12.5 shrink-0 items-center justify-center overflow-hidden rounded-[11px]"},Ke=["src","alt"],Qe={key:1,class:"size-9"},Ye=["href"],Xe={key:3,class:"text-sm font-semibold text-white/75"},Ze={class:"ml-3 min-w-0 flex-1"},et={class:"flex items-center gap-2.5 text-sm font-semibold text-white"},tt={class:"truncate"},ot={key:0,class:"inline-flex shrink-0 items-center gap-1"},nt={class:"mt-1 whitespace-normal break-words text-xs leading-4 text-white/70"},st={key:0,class:"group-inline-panel mt-1 grid origin-top pl-4"},rt={class:"min-h-0 overflow-hidden"},lt={class:"grid gap-1"},it=["onClick"],at=["onClick"],ut={class:"grid gap-2.5 px-2.5"},ct=["onClick"],dt={class:"flex size-12.5 shrink-0 items-center justify-center overflow-hidden rounded-[11px]"},pt=["src","alt"],ft={key:1,class:"size-9"},gt=["href"],mt={key:3,class:"text-sm font-semibold text-white/75"},ht={class:"ml-3 min-w-0 flex-1"},_t={class:"flex min-w-0 items-center gap-2.5 text-base font-semibold text-white"},yt={class:"truncate"},vt={key:0,class:"inline-flex shrink-0 items-center gap-1"},bt={class:"mt-1 whitespace-normal break-words text-sm leading-5 text-white/66"},xt={key:0,class:"group-inline-panel mt-3 grid origin-top"},wt={class:"min-h-0 overflow-hidden"},kt={class:"grid gap-2.5 pl-4"},Ct=["onClick"],Mt=Q({__name:"ModelSelector",props:{modelValue:{},models:{},groups:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(_,{emit:o}){const h=["hot","new","sound"],d=_,w=o,{t:y}=ce(),M=R(),E=R(),j=R(),H=R(),p=R(!1),$=R(null),v=$e("(min-width: 1024px)"),g=Se({left:0,top:0,width:0,flyoutLeft:0,flyoutWidth:0}),G=u(()=>d.models??[]),Y=u(()=>{const e=new Set;return(d.groups??[]).flatMap(s=>
1{const a=s.code.trim();return!a||e.has(a)?[]:(e.add(a),[{...s,code:a}])})}),fe=u(()=>new Set(Y.value.map(e=>e.code))),B=u(()=>{const e=new Map;for(const s of G.value){const a=s.selectorGroupCode?.trim();if(!a||!fe.value.has(a))continue;const k=e.get(a)??[];k.push(s),e.set(a,k)}return Y.value.flatMap(s=>{const a=e.get(s.code)??[];return we(s,a)?[{type:"group",key:`group:${s.code}`,group:s,models:a}]:[]})}),ge=u(()=>new Set(B.value.flatMap(e=>e.type==="group"?e.models.map(s=>s.id):[]))),me=u(()=>G.value.filter(e=>!ge.value.has(e.id))),X=u(()=>[...B.value,...me.value.map(e=>({type:"model",key:e.id,model:e}))]),I=u(()=>G.value.find(s=>s.id===d.modelValue)||G.value[0]),Z=u(()=>B.value.find(e=>e.type==="group"&&e.models.some(s=>s.id===I.value?.id))),D=u(()=>Z.value?.type==="group"?Z.value.group.code:""),ee=u(()=>B.value.find(e=>e.type==="group"&&e.group.code===$.value)),q=u(()=>ee.value?.type==="group"?ee.value.models:[]),L=u(()=>G.value.length<=1||d.disabled),he=u(()=>({left:`${g.left}px`,top:`${g.top}px`,width:`${g.width}px`,maxHeight:`calc(100vh - ${g.top+12}px)`})),_e=u(()=>({left:`${g.flyoutLeft}px`,top:`${g.top}px`,width:`${g.flyoutWidth}px`,maxHeight:`calc(100vh - ${g.top+12}px)`})),ye=u(()=>p.value&&!L.value&&q.value.length>0&&v.value),ve=u(()=>p.value&&!L.value&&q.value.length>0&&!v.value);ze(M,()=>{v.value&&(p.value=!1)},{ignore:[j,H]}),J([()=>d.modelValue,G],([e,s])=>{if(s.length===0)return;const a=s[0].id;(!e||!s.some(k=>k.id===e))&&w("update:modelValue",a)},{immediate:!0}),J(p,e=>{e&&($.value=v.value&&D.value||null,v.value&&K(S))}),J(v,e=>{!p.value||B.value.length===0||($.value=e&&D.value||null,K(S))}),Ne(()=>{window.addEventListener("resize",S),window.addEventListener("scroll",S,!0),window.addEventListener("keydown",te)}),Fe(()=>{window.removeEventListener("resize",S),window.removeEventListener("scroll",S,!0),window.removeEventListener("keydown",te)});function be(e,s,a){return Math.min(Math.max(e,s),a)}function S(){if(!p.value||!E.value)return;const e=E.value.getBoundingClientRect(),s=window.innerWidth,a=12,k=8,t=e.width,c=be(e.left,a,Math.max(a,s-t-a)),P=Math.min(480,Math.max(280,s-a*2)),ie=c+t+k,ke=c-P-k,Ce=ie+P<=s-a?ie:Math.max(a,ke);g.left=c,g.top=e.bottom+4,g.width=t,g.flyoutLeft=Ce,g.flyoutWidth=P}function xe(){L.value||(p.value=!p.value,p.value&&K(S))}function te(e){e.key==="Escape"&&(p.value=!1)}function V(e){w("update:modelValue",e.id),Le({event:"click_interaction",action_name:`model_selector_select_${e.id}`,module:"common_model_selector"}),p.value=!1}function oe(e){v.value&&($.value=e.type==="group"?e.group.code:null)}function ne(e){if(e.type==="group"){if(v.value){$.value=e.group.code;return}$.value=$.value===e.group.code?null:e.group.code}}function we(e,s){return s.length>=2||s.length===1&&e.presentation?.collapseSingle===!1}function se(e){return e.type==="group"&&$.value===e.group.code}function W(e){return e.type==="group"&&ve.value&&se(e)}function re(e){return e.startsWith("icon-")}function le(e){return e.name.trim().slice(0,1).toUpperCase()}function U(e){const s=new Set(e??[]);return h.filter(a=>s.has(a))}return(e,s)=>{const a=de,k=Ee;return n(),f(k,null,{fallback:z(()=>[...s[4]||(s[4]=[i("div",{class:"h-16.5 w-full animate-pulse rounded-xl border border-white/10 bg-[#2C2E30]"},null,-1)])]),default:z(()=>[i("div",{ref_key:"rootRef",ref:M,class:"relative"},[i("button",{ref_key:"triggerRef",ref:E,type:"button",class:b(["flex w-full origin-center items-center justify-between rounded-xl border border-white/10 bg-[#2C2E30] px-3 py-2 font-['Poppins'] transition-[background-color,border-color,transform] duration-200 ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-white/20",l(L)?"cursor-default hover:bg-[#2C2E30]":"cursor-pointer hover:border-white/18 hover:bg-[#4E5053] active:scale-[0.995]"]),"aria-expanded":l(p),disabled:d.disabled,onClick:xe},[l(I)?(n(),f(T,{key:0,model:l(I),size:"large"},null,8,["model"])):(n(),r("div",De)),l(L)?m("",!0):(n(),r("svg",{key:2,class:b(["size-5 shrink-0 text-white/70 transition-transform duration-200 ease-out",{"rotate-180":l(p)}])},[...s[1]||(s[1]=[i("use",{href:Ae},null,-1)])],2))],10,He)],512),(n(),f(Ge,{to:"body"},[N(A,{name:"model-menu"},{default:z(()=>[l(p)&&!l(L)&&l(v)?(n(),r("div",{key:0,ref_key:"menuRef",ref:j,style:ae(l(he)),class:"model-menu-panel scrollbar-hide fixed z-[1000] overflow-y-auto rounded-xl border border-white/40 bg-[rgba(44,46,48,0.72)] p-3 shadow-xl backdrop-blur-[60px]"},[(n(!0),r(C,null,F(l(X),t=>(n(),r("div",{key:t.key,class:"mb-1.5 last:mb-0"},[i("button",{type:"button",class:b(["flex w-full cursor-pointer items-center rounded-lg p-2 text-left font-['Poppins'] transition-[background-color,transform] duration-200 ease-out hover:translate-x-0.5 active:scale-[0.99]",[t.type==="group"?l(D)===t.group.code||se(t)?"bg-black/45":"bg-black/20 hover:bg-black/35":t.model.id===l(I)?.id?"bg-black/40":"bg-transparent hover:bg-black/20"]]),onMouseenter:c=>oe(t),onFocus:c=>oe(t),onClick:c=>t.type==="group"?ne(t):V(t.model)},[t.type==="group"?(n(),r(C,{key:0},[i("div",Je,[t.group.icon?(n(),r("img",{key:0,src:t.group.icon,alt:t.group.name,class:"size-full object-cover object-center"},null,8,Ke)):t.group.iconName&&re(t.group.iconName)?(n(),r("svg",Qe,[i("use",{href:`#${t.group.iconName}`},null,8,Ye)])):t.group.iconName?(n(),f(a,{key:2,name:t.group.iconName,class:"size-8 text-white/85"},null,8,["name"])):(n(),r("span",Xe,x(le(t.group)),1))]),i("div",Ze,[i("div",et,[i("span",tt,x(t.group.name),1),U(t.group.tags).length>0?(n(),r("div",ot,[(n(!0),r(C,null,F(U(t.group.tags),c=>(n(),f(O,{key:c,type:c},null,8,["type"]))),128))])):m("",!0)]),i("div",nt,x(t.group.desc),1)]),(n(),r("svg",{class:b(["ml-3 size-5 shrink-0 text-white/60 transition-transform duration-200 ease-out",W(t)?"rotate-90":""])},[...s[2]||(s[2]=[i("use",{href:ue}
1,null,-1)])],2))],64)):(n(),f(T,{key:1,model:t.model,"description-mode":"expanded"},null,8,["model"]))],42,qe),N(A,{name:"group-inline"},{default:z(()=>[W(t)?(n(),r("div",st,[i("div",rt,[i("div",lt,[(n(!0),r(C,null,F(t.type==="group"?t.models:[],c=>(n(),r("button",{key:c.id,type:"button",class:b(["flex w-full cursor-pointer items-center rounded-lg p-2 text-left font-['Poppins'] transition-[background-color,transform] duration-200 ease-out hover:translate-x-0.5 active:scale-[0.99]",c.id===l(I)?.id?"bg-white/15":"bg-transparent hover:bg-white/10"]),onClick:P=>V(c)},[N(T,{model:c,"description-mode":"expanded"},null,8,["model"])],10,it))),128))])])])):m("",!0)]),_:2},1024)]))),128))],4)):m("",!0)]),_:1}),N(A,{name:"model-flyout"},{default:z(()=>[l(ye)?(n(),r("div",{key:0,ref_key:"flyoutRef",ref:H,style:ae(l(_e)),class:"model-flyout-panel scrollbar-hide fixed z-[1001] overflow-y-auto rounded-xl border border-white/40 bg-[rgba(19,21,23,0.86)] p-3 shadow-xl backdrop-blur-[60px]"},[(n(!0),r(C,null,F(l(q),t=>(n(),r("button",{key:t.id,type:"button",class:b(["mb-1.5 flex w-full cursor-pointer items-center rounded-lg p-2 text-left font-['Poppins'] transition-[background-color,transform] duration-200 ease-out hover:translate-x-0.5 active:scale-[0.99] last:mb-0",t.id===l(I)?.id?"bg-black/45":"bg-transparent hover:bg-black/25"]),onClick:c=>V(t)},[N(T,{model:t,"description-mode":"expanded"},null,8,["model"])],10,at))),128))],4)):m("",!0)]),_:1})])),l(v)?m("",!0):(n(),f(Te,{key:0,open:l(p),"onUpdate:open":s[0]||(s[0]=t=>Ie(p)?p.value=t:null),title:l(y)("app.modelSelector.title"),"body-class":"px-0 pb-6 pt-3"},{default:z(()=>[i("div",ut,[(n(!0),r(C,null,F(l(X),t=>(n(),r("div",{key:t.key,class:"min-w-0"},[i("button",{type:"button",class:"flex w-full min-w-0 cursor-pointer items-center rounded-[14px] bg-transparent py-1.5 text-left transition-transform duration-200 ease-out active:scale-[0.985]",onClick:c=>t.type==="group"?ne(t):V(t.model)},[t.type==="group"?(n(),r(C,{key:0},[i("div",dt,[t.group.icon?(n(),r("img",{key:0,src:t.group.icon,alt:t.group.name,class:"size-full object-cover object-center"},null,8,pt)):t.group.iconName&&re(t.group.iconName)?(n(),r("svg",ft,[i("use",{href:`#${t.group.iconName}`},null,8,gt)])):t.group.iconName?(n(),f(a,{key:2,name:t.group.iconName,class:"size-8 text-white/85"},null,8,["name"])):(n(),r("span",mt,x(le(t.group)),1))]),i("div",ht,[i("div",_t,[i("span",yt,x(t.group.name),1),U(t.group.tags).length>0?(n(),r("div",vt,[(n(!0),r(C,null,F(U(t.group.tags),c=>(n(),f(O,{key:c,type:c},null,8,["type"]))),128))])):m("",!0)]),i("div",bt,x(t.group.desc),1)]),(n(),r("svg",{class:b(["ml-3 size-5 shrink-0 text-white/60 transition-transform duration-200 ease-out",W(t)?"rotate-90":""])},[...s[3]||(s[3]=[i("use",{href:ue},null,-1)])],2))],64)):(n(),f(T,{key:1,model:t.model,"description-mode":"expanded"},null,8,["model"]))],8,ct),N(A,{name:"group-inline"},{default:z(()=>[W(t)?(n(),r("div",xt,[i("div",wt,[i("div",kt,[(n(!0),r(C,null,F(t.type==="group"?t.models:[],c=>(n(),r("button",{key:c.id,type:"button",class:"flex w-full cursor-pointer items-center rounded-[14px] bg-transparent py-1.5 text-left transition-transform duration-200 ease-out active:scale-[0.985]",onClick:P=>V(c)},[N(T,{model:c,"description-mode":"expanded"},null,8,["model"])],8,Ct))),128))])])])):m("",!0)]),_:2},1024)]))),128))])]),_:1},8,["open","title"]))]),_:1})}}}),Nt=Re(Mt,[["__scopeId","data-v-f0a83987"]]);function Ft(_,o){const h=_?.properties;if(!h)return o;const d={};for(const[w,y]of Object.entries(o)){const M=h[w];if(!M){d[w]=y;continue}d[w]=$t(M,y)}return d}function $t(_,o){const h=typeof _.type=="string"?_.type:null;if(!h)return o;switch(h){case"integer":{if(typeof o=="number"&&Number.isInteger(o))return o;if(typeof o=="string"&&o.trim()!==""){const d=Number.parseInt(o,10);if(Number.isFinite(d)&&String(d)===o.trim())return d}return o}case"number":{if(typeof o=="number"&&Number.isFinite(o))return o;if(typeof o=="string"&&o.trim()!==""){const d=Number(o);if(Number.isFinite(d))return d}return o}case"boolean":return typeof o=="boolean"?o:o==="true"?!0:o==="false"?!1:o;
1case"string":return typeof o=="string"?o:typeof o=="number"||typeof o=="boolean"?String(o):o;default:return o}}export{Nt as M,Ft as n};
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.