@hsupu/copilot-api 0.8.1-beta.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.example.yaml +25 -0
- package/dist/{dist-8vhX0s4a.mjs → dist-B3gFwWti.mjs} +2 -3
- package/dist/{dist-8vhX0s4a.mjs.map → dist-B3gFwWti.mjs.map} +1 -1
- package/dist/main.mjs +7006 -5185
- package/dist/main.mjs.map +1 -1
- package/package.json +53 -23
- package/ui/history-v3/dist/assets/LogsPage-CkzMEjbU.css +1 -0
- package/ui/history-v3/dist/assets/LogsPage-CyM6vZyg.js +1 -0
- package/ui/history-v3/dist/assets/VActivityPage-DGZYvP1d.css +1 -0
- package/ui/history-v3/dist/assets/VActivityPage-qSJRqJGU.js +3 -0
- package/ui/history-v3/dist/assets/VCard-B2q0rBgl.js +1 -0
- package/ui/history-v3/dist/assets/VCard-v_d_q0Rh.css +1 -0
- package/ui/history-v3/dist/assets/VConfigPage-DisddwD3.css +1 -0
- package/ui/history-v3/dist/assets/VConfigPage-zQu5b6tC.js +1 -0
- package/ui/history-v3/dist/assets/VDashboardPage-CsNfE_go.js +1 -0
- package/ui/history-v3/dist/assets/VDashboardPage-oAbMfN9y.css +1 -0
- package/ui/history-v3/dist/assets/VDialog-B5tAv-4d.js +1 -0
- package/ui/history-v3/dist/assets/VDialog-CFhCWS_I.css +1 -0
- package/ui/history-v3/dist/assets/VModelsPage-C1y0gG_S.js +1 -0
- package/ui/history-v3/dist/assets/VModelsPage-DMPq4SEZ.css +1 -0
- package/ui/history-v3/dist/assets/VSelect-CahLC2X3.js +1 -0
- package/ui/history-v3/dist/assets/VSelect-CiSADOyl.css +1 -0
- package/ui/history-v3/dist/assets/VSheet-BhXOOy9y.js +1 -0
- package/ui/history-v3/dist/assets/VSheet-DI_DMcjz.css +1 -0
- package/ui/history-v3/dist/assets/index-Cxye_z0t.js +18 -0
- package/ui/history-v3/dist/assets/index-sVLYkWM6.css +1 -0
- package/ui/history-v3/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- package/ui/history-v3/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- package/ui/history-v3/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- package/ui/history-v3/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- package/ui/history-v3/dist/assets/useLogs-C_hg5wZk.js +1 -0
- package/ui/history-v3/dist/assets/{vendor-BJ2Uq5vY.js → vendor-tLv7SZ-i.js} +15 -15
- package/ui/history-v3/dist/assets/vue-McY99x0M.js +1 -0
- package/ui/history-v3/dist/assets/ws-status-BJ5xglsi.js +1 -0
- package/ui/history-v3/dist/index.html +3 -3
- package/ui/history-v3/dist/assets/DashboardPage-B1uByGH4.js +0 -1
- package/ui/history-v3/dist/assets/DashboardPage-CabImjCg.css +0 -1
- package/ui/history-v3/dist/assets/HistoryPage-CcuFI_7q.js +0 -3
- package/ui/history-v3/dist/assets/HistoryPage-MBmz_wrp.css +0 -1
- package/ui/history-v3/dist/assets/LogsPage-CTboGme2.js +0 -1
- package/ui/history-v3/dist/assets/LogsPage-DnfMvMyI.css +0 -1
- package/ui/history-v3/dist/assets/ModelsPage-BCijEIH1.css +0 -1
- package/ui/history-v3/dist/assets/ModelsPage-B_sjc_hg.js +0 -1
- package/ui/history-v3/dist/assets/ProgressBar-BQxTnwIj.js +0 -1
- package/ui/history-v3/dist/assets/ProgressBar-B_0VSeE9.css +0 -1
- package/ui/history-v3/dist/assets/UsagePage-Nx_clyfV.css +0 -1
- package/ui/history-v3/dist/assets/UsagePage-Nxy64EGo.js +0 -1
- package/ui/history-v3/dist/assets/index-D5HcAJB-.css +0 -1
- package/ui/history-v3/dist/assets/index-DOp9l2lW.js +0 -2
- package/ui/history-v3/dist/assets/vue-CYcm9SLm.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as Xe,V as M,_ as ve,g as Ae,I as De,n as Pe,o as bt,b as Ne,q as Ze,h as Te,r as Qe,s as yt,c as xe,t as Vt,v as ht,w as Be,x as _t,i as Oe,y as xt,S as kt,z as Ee,A as Ct,L as wt,a as et,j as Le,B as St,C as Rt,D as Tt,p as tt,E as $t,u as Pt,F as Ut,G as At,H as lt,J as It,K as zt,M as Bt,N as at,O as Et,P as Ft,m as ot,d as nt,Q as it,R as Mt,T as Nt,U as st,X as Ot,e as qt,f as rt,Y as Dt,Z as Lt,$ as Ht,a0 as jt,a1 as Wt,a2 as Gt,a3 as Jt,a4 as Kt,a5 as Yt}from"./index-Cxye_z0t.js";import{d as ae,Y as p,m as d,U as R,_ as E,c as t,X as _,F as ee,Z as he,W as ue,e as D,a1 as m,f as $,r as N,w as dt,P as ut,a as re,D as Xt,A as ie,n as Se,s as mt,E as He,aa as Zt,q as fe,a7 as Qt,M as el,t as de,o as _e,J as tl,u as k,z as w}from"./vue-McY99x0M.js";import{V as me,u as ct,a as ll,b as Ue,c as je,m as al,d as ft,e as ol,f as nl,g as il,h as sl,i as rl,j as We,k as dl}from"./VSelect-CahLC2X3.js";import{V as vt,a as gt,b as ul}from"./VCard-B2q0rBgl.js";import{V as ml}from"./VSheet-BhXOOy9y.js";const cl={class:"config-field"},fl={class:"field-copy"},vl={class:"text-body-1"},gl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},pl=ae({__name:"ConfigEnum",props:{modelValue:{type:[String,Boolean,null]},label:{},description:{},disabled:{type:Boolean},options:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=n;return(s,i)=>(m(),p("div",cl,[d("div",fl,[d("div",vl,R(e.label),1),e.description?(m(),p("div",gl,R(e.description),1)):E("",!0)]),t(Xe,{"model-value":e.modelValue,disabled:e.disabled,color:"primary",divided:"",mandatory:"","onUpdate:modelValue":i[0]||(i[0]=r=>r!=null&&a("update:modelValue",r))},{default:_(()=>[(m(!0),p(ee,null,he(e.options,r=>(m(),ue(M,{key:String(r.value),value:r.value},{default:_(()=>[D(R(r.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["model-value","disabled"])]))}}),Ge=ve(pl,[["__scopeId","data-v-a4080a23"]]),bl={class:"d-flex flex-column ga-3"},yl={class:"text-body-1"},Vl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},hl={key:0,class:"text-body-2 text-medium-emphasis"},_l={key:0,class:"text-caption text-error"},xl=ae({__name:"ConfigKeyValueList",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n;function i(V,h){s("update:modelValue",a.modelValue.map((v,u)=>u===V?{...v,...h}:v))}function r(V){s("update:modelValue",a.modelValue.filter((h,v)=>v!==V))}function f(){s("update:modelValue",[...a.modelValue,{key:"",value:""}])}function y(V){const h=a.modelValue[V]?.key.trim();return h?a.modelValue.some((v,u)=>u!==V&&v.key.trim()===h):!1}return(V,h)=>(m(),p("div",bl,[d("div",null,[d("div",yl,R(e.label),1),e.description?(m(),p("div",Vl,R(e.description),1)):E("",!0)]),e.modelValue.length===0?(m(),p("div",hl," No overrides configured. ")):E("",!0),(m(!0),p(ee,null,he(e.modelValue,(v,u)=>(m(),p("div",{key:u,class:"d-flex align-start ga-3"},[t(me,{"model-value":v.key,disabled:e.disabled,error:y(u),"error-messages":"",label:"Source model","onUpdate:modelValue":c=>i(u,{key:String(c??"")})},null,8,["model-value","disabled","error","onUpdate:modelValue"]),t(me,{"model-value":v.value,disabled:e.disabled,label:"Target model","onUpdate:modelValue":c=>i(u,{value:String(c??"")})},null,8,["model-value","disabled","onUpdate:modelValue"]),t(M,{disabled:e.disabled,icon:"mdi-close",size:"small",variant:"text","aria-label":`Remove override ${u+1}`,onClick:c=>r(u)},null,8,["disabled","aria-label","onClick"])]))),128)),(m(!0),p(ee,null,he(e.modelValue,(v,u)=>(m(),p(ee,{key:`error-${u}`},[y(u)?(m(),p("div",_l," Duplicate key: "+R(v.key),1)):E("",!0)],64))),128)),d("div",null,[t(M,{disabled:e.disabled,"prepend-icon":"mdi-plus",variant:"outlined",onClick:f},{default:_(()=>[...h[0]||(h[0]=[D(" Add override ",-1)])]),_:1},8,["disabled"])])]))}}),kl={class:"config-field"},Cl={class:"field-copy"},wl={class:"text-body-1"},Sl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},Rl=ae({__name:"ConfigNumber",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean},suffix:{},min:{},max:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=$({get:()=>a.modelValue==null?"":String(a.modelValue),set:r=>{if(r.trim().length===0){s("update:modelValue",null);return}const f=Number(r);s("update:modelValue",Number.isFinite(f)?f:null)}});return(r,f)=>(m(),p("div",kl,[d("div",Cl,[d("div",wl,R(e.label),1),e.description?(m(),p("div",Sl,R(e.description),1)):E("",!0)]),t(me,{modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=y=>i.value=y),disabled:e.disabled,min:e.min,max:e.max,suffix:e.suffix,class:"field-input",type:"number"},null,8,["modelValue","disabled","min","max","suffix"])]))}}),F=ve(Rl,[["__scopeId","data-v-3334d99b"]]),Tl=xe({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...ol(),...Vt(ft(),["direction"]),...al()},"VTextarea"),pt=Ae()({name:"VTextarea",directives:{vIntersect:De},inheritAttrs:!1,props:Tl(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,{attrs:n,emit:a,slots:s}){const i=Pe(e,"modelValue"),{isFocused:r,focus:f,blur:y}=ct(e),{onIntersect:V}=il(e),h=$(()=>typeof e.counterValue=="function"?e.counterValue(i.value):(i.value||"").toString().length),v=$(()=>{if(n.maxlength)return n.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),u=N(),c=N(),O=mt(""),g=N(),x=N(0),{platform:S}=bt(),b=ll(e),A=$(()=>e.persistentPlaceholder||r.value||e.active);function L(){b.isSuppressing.value&&b.update(),g.value!==document.activeElement&&g.value?.focus(),r.value||f()}function J(C){L(),a("click:control",C)}function K(C){a("mousedown:control",C)}function te(C){C.stopPropagation(),L(),Se(()=>{i.value="",ht(e["onClick:clear"],C)})}function Z(C){const P=C.target;if(!e.modelModifiers?.trim){i.value=P.value;return}const B=P.value,Q=P.selectionStart,Y=P.selectionEnd;i.value=B,Se(()=>{let X=0;B.trimStart().length===P.value.length&&(X=B.length-P.value.length),Q!=null&&(P.selectionStart=Q-X),Y!=null&&(P.selectionEnd=Y-X)})}const H=N(),j=N(Number(e.rows)),W=$(()=>["plain","underlined"].includes(e.variant));dt(()=>{e.autoGrow||(j.value=Number(e.rows))});function I(){Se(()=>{if(!g.value)return;if(S.value.firefox){x.value=12;return}const{offsetWidth:C,clientWidth:P}=g.value;x.value=Math.max(0,C-P)}),e.autoGrow&&Se(()=>{if(!H.value||!c.value)return;const C=getComputedStyle(H.value),P=getComputedStyle(c.value.$el),B=parseFloat(C.getPropertyValue("--v-field-padding-top"))+parseFloat(C.getPropertyValue("--v-input-padding-top"))+parseFloat(C.getPropertyValue("--v-field-padding-bottom")),Q=H.value.scrollHeight,Y=parseFloat(C.lineHeight),X=Math.max(parseFloat(e.rows)*Y+B,parseFloat(P.getPropertyValue("--v-input-control-height"))),se=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*Y+B||1/0,q=yt(Q??0,X,se);j.value=Math.floor((q-B)/Y),O.value=Te(q)})}ut(I),re(i,I),re(()=>e.rows,I),re(()=>e.maxHeight,I),re(()=>e.maxRows,I),re(()=>e.density,I),re(j,C=>{a("update:rows",C)});let z;return re(H,C=>{C?(z=new ResizeObserver(I),z.observe(H.value)):z?.disconnect()}),Xt(()=>{z?.disconnect()}),Ne(()=>{const C=!!(s.counter||e.counter||e.counterValue),P=!!(C||s.details),[B,Q]=Ze(n),{modelValue:Y,...X}=Ue.filterProps(e),se={...je.filterProps(e),"onClick:clear":te};return t(Ue,ie({ref:u,modelValue:i.value,"onUpdate:modelValue":q=>i.value=q,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":W.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?Te(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":Te(x.value)},e.style]},B,X,{centerAffix:j.value===1&&!W.value,focused:r.value,indentDetails:e.indentDetails??!W.value}),{...s,default:({id:q,isDisabled:ge,isDirty:pe,isReadonly:ke,isValid:Ce,hasDetails:Ie})=>t(je,ie({ref:c,style:{"--v-textarea-control-height":O.value},onClick:J,onMousedown:K,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},se,{id:q.value,active:A.value||pe.value,labelId:`${q.value}-label`,centerAffix:j.value===1&&!W.value,dirty:pe.value||e.dirty,disabled:ge.value,focused:r.value,details:Ie.value,error:Ce.value===!1}),{...s,default:({props:{class:be,...ce},controlRef:ye})=>d(ee,null,[e.prefix&&d("span",{class:"v-text-field__prefix"},[e.prefix]),He(d("textarea",ie({ref:G=>g.value=ye.value=G,class:be,value:i.value,onInput:Z,autofocus:e.autofocus,readonly:ke.value,disabled:ge.value,placeholder:e.placeholder,rows:e.rows,name:b.fieldName.value,autocomplete:b.fieldAutocomplete.value,onFocus:L,onBlur:y,"aria-labelledby":`${q.value}-label`},ce,Q),null),[[De,{handler:V},null,{once:!0}]]),e.autoGrow&&He(d("textarea",{class:fe([be,"v-textarea__sizer"]),id:`${ce.id}-sizer`,"onUpdate:modelValue":G=>i.value=G,ref:H,readonly:!0,"aria-hidden":"true"},null),[[Zt,i.value]]),e.suffix&&d("span",{class:"v-text-field__suffix"},[e.suffix])])}),details:P?q=>d(ee,null,[s.details?.(q),C&&d(ee,null,[d("span",null,null),t(nl,{active:e.persistentCounter||r.value,value:h.value,max:v.value,disabled:e.disabled},s.counter)])]):void 0})}),Qe({},u,c,g)}}),$l={class:"d-flex flex-column ga-3"},Pl={class:"text-body-1"},Ul={key:0,class:"text-body-2 text-medium-emphasis mt-1"},Al={key:0},Il={key:1,class:"text-body-2 text-medium-emphasis"},zl={class:"d-flex align-center mb-3"},Bl={class:"text-body-2 font-weight-medium"},El={class:"text-caption text-medium-emphasis ml-2","data-testid":"rule-summary"},Fl={key:0,class:"d-flex flex-column ga-3"},Ml={class:"d-flex flex-wrap ga-3"},Nl={key:1,class:"text-body-2 text-medium-emphasis","data-testid":"collapsed-rule-summary"},Ol={key:2,class:"d-flex"},ql=ae({__name:"ConfigRewriteRules",props:{modelValue:{type:[Boolean,Array,null]},label:{},description:{},disabled:{type:Boolean},showModelField:{type:Boolean},allowBooleanModes:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=N({});function r(){return Array.isArray(a.modelValue)?"rules":a.modelValue===!0?"remove-all":"disabled"}function f(g){if(g==="disabled"){s("update:modelValue",!1);return}if(g==="remove-all"){s("update:modelValue",!0);return}s("update:modelValue",Array.isArray(a.modelValue)?a.modelValue:[])}function y(){return Array.isArray(a.modelValue)?a.modelValue:[]}function V(g,x){s("update:modelValue",y().map((S,b)=>b===g?{...S,...x}:S))}function h(){s("update:modelValue",[...y(),{from:"",to:"",method:"regex"}])}function v(g){const x=y().filter((S,b)=>b!==g);s("update:modelValue",a.allowBooleanModes&&x.length===0?!1:x)}function u(g){i.value={...i.value,[g]:!i.value[g]}}function c(g){return i.value[g]??!1}function O(g){const x=g.method??"regex",S="model"in g&&g.model?` · ${g.model}`:"";return`${x}${S}`}return(g,x)=>(m(),p("div",$l,[d("div",null,[d("div",Pl,R(e.label),1),e.description?(m(),p("div",Ul,R(e.description),1)):E("",!0)]),e.allowBooleanModes?(m(),p("div",Al,[t(Xe,{"model-value":r(),color:"primary",divided:"",mandatory:"","onUpdate:modelValue":x[0]||(x[0]=S=>f(S))},{default:_(()=>[t(M,{value:"disabled"},{default:_(()=>[...x[1]||(x[1]=[D("Disabled",-1)])]),_:1}),t(M,{value:"remove-all"},{default:_(()=>[...x[2]||(x[2]=[D("Remove all",-1)])]),_:1}),t(M,{value:"rules"},{default:_(()=>[...x[3]||(x[3]=[D("Rules",-1)])]),_:1})]),_:1},8,["model-value"])])):E("",!0),Array.isArray(e.modelValue)?E("",!0):(m(),p("div",Il,R(e.modelValue===!0?"All matching reminders will be removed.":"Rules are disabled."),1)),(m(!0),p(ee,null,he(y(),(S,b)=>(m(),p("div",{key:b,class:"rule-card"},[t(vt,{variant:"outlined"},{default:_(()=>[t(gt,{class:"pa-4"},{default:_(()=>[d("div",zl,[d("div",Bl,"Rule "+R(b+1),1),d("div",El,R(O(S)),1),t(Be),t(M,{disabled:e.disabled,icon:c(b)?"mdi-chevron-down":"mdi-chevron-up","aria-label":c(b)?`Expand rule ${b+1}`:`Collapse rule ${b+1}`,"data-testid":"toggle-rule",size:"small",variant:"text",onClick:A=>u(b)},null,8,["disabled","icon","aria-label","onClick"]),t(M,{disabled:e.disabled,icon:"mdi-delete-outline","aria-label":`Remove rule ${b+1}`,size:"small",variant:"text",onClick:A=>v(b)},null,8,["disabled","aria-label","onClick"])]),c(b)?(m(),p("div",Nl,R(S.from||"Empty pattern")+" → "+R(S.to||"Empty replacement"),1)):(m(),p("div",Fl,[t(me,{"model-value":S.from,disabled:e.disabled,label:"From","onUpdate:modelValue":A=>V(b,{from:String(A??"")})},null,8,["model-value","disabled","onUpdate:modelValue"]),t(pt,{"model-value":S.to,disabled:e.disabled,"auto-grow":"",label:"To",rows:"2",variant:"outlined","onUpdate:modelValue":A=>V(b,{to:String(A??"")})},null,8,["model-value","disabled","onUpdate:modelValue"]),d("div",Ml,[t(sl,{"model-value":S.method??"regex",disabled:e.disabled,items:[{title:"Regex",value:"regex"},{title:"Line",value:"line"}],class:"method-select",label:"Method","onUpdate:modelValue":A=>V(b,{method:A})},null,8,["model-value","disabled","onUpdate:modelValue"]),e.showModelField?(m(),ue(me,{key:0,"model-value":"model"in S?S.model??"":"",disabled:e.disabled,class:"model-select",label:"Model regex","onUpdate:modelValue":A=>V(b,{model:String(A??"")||void 0})},null,8,["model-value","disabled","onUpdate:modelValue"])):E("",!0)])]))]),_:2},1024)]),_:2},1024)]))),128)),Array.isArray(e.modelValue)?(m(),p("div",Ol,[t(M,{disabled:e.disabled,"prepend-icon":"mdi-plus",variant:"outlined",onClick:h},{default:_(()=>[...x[4]||(x[4]=[D(" Add rule ",-1)])]),_:1},8,["disabled"])])):E("",!0)]))}}),Je=ve(ql,[["__scopeId","data-v-6ec62757"]]),Dl={class:"flex-grow-1"},Ll={class:"text-subtitle-1 font-weight-bold"},Hl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},le=ae({__name:"ConfigSection",props:{title:{},description:{},requiresRestart:{type:Boolean}},setup(e){return(n,a)=>(m(),ue(vt,null,{default:_(()=>[t(ul,{class:"d-flex align-center ga-3"},{default:_(()=>[d("div",Dl,[d("div",Ll,R(e.title),1),e.description?(m(),p("div",Hl,R(e.description),1)):E("",!0)]),e.requiresRestart?(m(),ue(_t,{key:0},{activator:_(({props:s})=>[t(ml,ie({color:"warning",size:"small",variant:"tonal"},s),{default:_(()=>[t(Oe,{start:"",size:"x-small",icon:"mdi-alert-outline"}),a[0]||(a[0]=D(" Requires restart ",-1))]),_:1},16)]),default:_(()=>[a[1]||(a[1]=D(" Requires restart to take effect ",-1))]),_:1})):E("",!0)]),_:1}),t(rl),t(gt,{class:"d-flex flex-column ga-4"},{default:_(()=>[Qt(n.$slots,"default")]),_:3})]),_:3}))}}),jl={class:"d-flex flex-column ga-3"},Wl={class:"text-body-1"},Gl={key:0,class:"text-body-2 text-medium-emphasis mt-1"},Jl={key:0,class:"text-body-2 text-medium-emphasis"},Kl=ae({__name:"ConfigStringList",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean},itemLabel:{},emptyText:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n;function i(y,V){s("update:modelValue",a.modelValue.map((h,v)=>v===y?V:h))}function r(y){s("update:modelValue",a.modelValue.filter((V,h)=>h!==y))}function f(){s("update:modelValue",[...a.modelValue,""])}return(y,V)=>(m(),p("div",jl,[d("div",null,[d("div",Wl,R(e.label),1),e.description?(m(),p("div",Gl,R(e.description),1)):E("",!0)]),e.modelValue.length===0?(m(),p("div",Jl,R(e.emptyText??"No values configured."),1)):E("",!0),(m(!0),p(ee,null,he(e.modelValue,(h,v)=>(m(),p("div",{key:v,class:"d-flex align-start ga-3"},[t(me,{"model-value":h,disabled:e.disabled,label:e.itemLabel??"Value","onUpdate:modelValue":u=>i(v,String(u??""))},null,8,["model-value","disabled","label","onUpdate:modelValue"]),t(M,{disabled:e.disabled,icon:"mdi-close",size:"small",variant:"text","aria-label":`Remove ${e.itemLabel??"item"} ${v+1}`,onClick:u=>r(v)},null,8,["disabled","aria-label","onClick"])]))),128)),d("div",null,[t(M,{disabled:e.disabled,"prepend-icon":"mdi-plus",variant:"outlined",onClick:f},{default:_(()=>[...V[0]||(V[0]=[D(" Add item ",-1)])]),_:1},8,["disabled"])])]))}}),Yl={class:"config-field"},Xl={class:"field-copy"},Zl={class:"text-body-1"},Ql={key:0,class:"text-body-2 text-medium-emphasis mt-1"},ea=ae({__name:"ConfigText",props:{modelValue:{},label:{},description:{},disabled:{type:Boolean},multiline:{type:Boolean},placeholder:{}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=$({get:()=>a.modelValue??"",set:r=>s("update:modelValue",r.length===0?null:r)});return(r,f)=>(m(),p("div",Yl,[d("div",Xl,[d("div",Zl,R(e.label),1),e.description?(m(),p("div",Ql,R(e.description),1)):E("",!0)]),e.multiline?(m(),ue(pt,{key:0,modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=y=>i.value=y),disabled:e.disabled,placeholder:e.placeholder,"auto-grow":"",class:"field-input",rows:"3",variant:"outlined"},null,8,["modelValue","disabled","placeholder"])):(m(),ue(me,{key:1,modelValue:i.value,"onUpdate:modelValue":f[1]||(f[1]=y=>i.value=y),disabled:e.disabled,placeholder:e.placeholder,class:"field-input",clearable:""},null,8,["modelValue","disabled","placeholder"]))]))}}),ze=ve(ea,[["__scopeId","data-v-124817f6"]]),ta=xe({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ft(),...dl()},"VSwitch"),la=Ae()({name:"VSwitch",inheritAttrs:!1,props:ta(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{attrs:n,slots:a}){const s=Pe(e,"indeterminate"),i=Pe(e,"modelValue"),{loaderClasses:r}=xt(e),{isFocused:f,focus:y,blur:V}=ct(e),h=N(),v=N(),u=kt&&window.matchMedia("(forced-colors: active)").matches,c=de(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),O=el(),g=de(()=>e.id||`switch-${O}`);function x(){s.value&&(s.value=!1)}function S(b){b.stopPropagation(),b.preventDefault(),h.value?.input?.click()}return Ne(()=>{const[b,A]=Ze(n),L=Ue.filterProps(e),J=We.filterProps(e);return t(Ue,ie({ref:v,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":s.value},r.value,e.class]},b,L,{modelValue:i.value,"onUpdate:modelValue":K=>i.value=K,id:g.value,focused:f.value,style:e.style}),{...a,default:({id:K,messagesId:te,isDisabled:Z,isReadonly:H,isValid:j})=>{const W={model:i,isValid:j};return t(We,ie({ref:h},J,{modelValue:i.value,"onUpdate:modelValue":[I=>i.value=I,x],id:K.value,"aria-describedby":te.value,type:"checkbox","aria-checked":s.value?"mixed":void 0,disabled:Z.value,readonly:H.value,onFocus:y,onBlur:V},A),{...a,default:({backgroundColorClasses:I,backgroundColorStyles:z})=>d("div",{class:fe(["v-switch__track",u?void 0:I.value]),style:_e(z.value),onClick:S},[a["track-true"]&&d("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](W)]),a["track-false"]&&d("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](W)])]),input:({inputNode:I,icon:z,backgroundColorClasses:C,backgroundColorStyles:P})=>d(ee,null,[I,d("div",{class:fe(["v-switch__thumb",{"v-switch__thumb--filled":z||e.loading},e.inset||u?void 0:C.value]),style:_e(e.inset?void 0:P.value)},[a.thumb?t(Ee,{defaults:{VIcon:{icon:z,size:"x-small"}}},{default:()=>[a.thumb({...W,icon:z})]}):t(Ct,null,{default:()=>[e.loading?t(wt,{name:"v-switch",active:!0,color:j.value===!1?void 0:c.value},{default:B=>a.loader?a.loader(B):t(et,{active:B.isActive,color:B.color,indeterminate:!0,size:"16",width:"2"},null)}):z&&t(Oe,{key:String(z),icon:z,size:"x-small"},null)]})])])})}})}),Qe({},v)}}),aa={class:"config-field"},oa={class:"field-copy"},na={class:"text-body-1"},ia={key:0,class:"text-body-2 text-medium-emphasis mt-1"},sa=ae({__name:"ConfigToggle",props:{modelValue:{type:[Boolean,null]},label:{},description:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,s=n,i=$({get:()=>a.modelValue??!1,set:r=>s("update:modelValue",r)});return(r,f)=>(m(),p("div",aa,[d("div",oa,[d("div",na,R(e.label),1),e.description?(m(),p("div",ia,R(e.description),1)):E("",!0)]),t(la,{modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=y=>i.value=y),disabled:e.disabled,color:"primary","hide-details":"",inset:""},null,8,["modelValue","disabled"])]))}}),ne=ve(sa,[["__scopeId","data-v-a2139cef"]]);function Fe(e){return e?{...e.proxy!==void 0?{proxy:e.proxy}:{},...e.model_overrides!==void 0?{model_overrides:ga(e.model_overrides)}:{},...e.stream_idle_timeout!==void 0?{stream_idle_timeout:e.stream_idle_timeout}:{},...e.fetch_timeout!==void 0?{fetch_timeout:e.fetch_timeout}:{},...e.stale_request_max_age!==void 0?{stale_request_max_age:e.stale_request_max_age}:{},...e.model_refresh_interval!==void 0?{model_refresh_interval:e.model_refresh_interval}:{},...e.shutdown!==void 0?{shutdown:Re(e.shutdown,["graceful_wait","abort_wait"])}:{},...e.history!==void 0?{history:Re(e.history,["limit","min_entries"])}:{},...e.anthropic!==void 0?{anthropic:da(e.anthropic)}:{},...e["openai-responses"]!==void 0?{"openai-responses":Re(e["openai-responses"],["normalize_call_ids","upstream_websocket"])}:{},...e.rate_limiter!==void 0?{rate_limiter:Re(e.rate_limiter,["retry_interval","request_interval","recovery_timeout","consecutive_successes"])}:{},...e.compress_tool_results_before_truncate!==void 0?{compress_tool_results_before_truncate:e.compress_tool_results_before_truncate}:{},...e.system_prompt_overrides!==void 0?{system_prompt_overrides:ma(e.system_prompt_overrides)}:{},...e.system_prompt_prepend!==void 0?{system_prompt_prepend:e.system_prompt_prepend}:{},...e.system_prompt_append!==void 0?{system_prompt_append:e.system_prompt_append}:{}}:{}}function $e(e){return Fe(e)}function Ke(e){return JSON.stringify($e(e))}function Ye(e){if(e instanceof Rt){try{const n=JSON.parse(e.bodyText);if(n.details.length>0)return n.details.map(a=>`${a.field}: ${a.message}`).join("; ");if(n.error)return n.error}catch{return e.message}return e.message}return e instanceof Error?e.message:"Unknown error"}function ra(){const{show:e}=St(),n=N(null),a=N(null),s=N(!1),i=N(!1),r=N(null),f=$(()=>Ke(n.value)!==Ke(a.value)),y=$(()=>{if(!n.value||!a.value)return!1;const u=$e(n.value),c=$e(a.value);return JSON.stringify(u.proxy)!==JSON.stringify(c.proxy)||JSON.stringify(u.rate_limiter)!==JSON.stringify(c.rate_limiter)});async function V(){s.value=!0,r.value=null;try{const u=await Le.fetchConfigYaml(),c=Fe(u);n.value=Ve(c),a.value=Ve(c)}catch(u){r.value=Ye(u),e(r.value,"error")}finally{s.value=!1}}async function h(){if(!n.value||i.value)return!1;i.value=!0,r.value=null;const u=y.value;try{const c=$e(n.value),O=await Le.saveConfigYaml(c),g=Fe(O);return n.value=Ve(g),a.value=Ve(g),e(u?"Config saved. Some changes require a restart.":"Config saved","success"),!0}catch(c){return r.value=Ye(c),e(r.value,"error"),!1}finally{i.value=!1}}function v(){a.value&&(n.value=Ve(a.value),r.value=null)}return{config:n,original:a,loading:s,saving:i,error:r,isDirty:f,hasRestartFields:y,load:V,save:h,discard:v}}function da(e){if(e===null)return null;if(!e)return;const n={...e.strip_server_tools!==void 0?{strip_server_tools:e.strip_server_tools}:{},...e.dedup_tool_calls!==void 0?{dedup_tool_calls:e.dedup_tool_calls}:{},...e.immutable_thinking_messages!==void 0?{immutable_thinking_messages:e.immutable_thinking_messages}:{},...e.strip_read_tool_result_tags!==void 0?{strip_read_tool_result_tags:e.strip_read_tool_result_tags}:{},...e.context_editing!==void 0?{context_editing:e.context_editing}:{},...e.context_editing_trigger!==void 0?{context_editing_trigger:e.context_editing_trigger}:{},...e.context_editing_keep_tools!==void 0?{context_editing_keep_tools:e.context_editing_keep_tools}:{},...e.context_editing_keep_thinking!==void 0?{context_editing_keep_thinking:e.context_editing_keep_thinking}:{},...e.tool_search!==void 0?{tool_search:e.tool_search}:{},...e.auto_cache_control!==void 0?{auto_cache_control:e.auto_cache_control}:{},...e.non_deferred_tools!==void 0?{non_deferred_tools:e.non_deferred_tools===null?null:[...e.non_deferred_tools]}:{},...e.rewrite_system_reminders!==void 0?{rewrite_system_reminders:ua(e.rewrite_system_reminders)}:{}};return va(n)}function ua(e){if(e!==void 0)return e===null?null:typeof e=="boolean"?e:e.length===0?!1:e.map(n=>fa(n))}function ma(e){if(e!==void 0)return e===null?null:e.map(n=>ca(n))}function ca(e){return{from:e.from,to:e.to,...e.method?{method:e.method}:{},...e.model?{model:e.model}:{}}}function fa(e){return{from:e.from,to:e.to,...e.method?{method:e.method}:{}}}function Re(e,n){if(e===null)return null;if(!e)return;const a={};let s=!1,i=!1;for(const r of n){const f=e[r];f!==void 0&&(s=!0,Object.is(f,null)||(i=!0),a[r]=f)}if(s)return i?a:null}function va(e){const n=Object.values(e);if(n.length!==0)return n.every(a=>a===null)?null:e}function ga(e){return e===null?null:Object.fromEntries(Object.entries(e).sort(([n],[a])=>n.localeCompare(a)))}function Ve(e){return structuredClone(Me(e))}function Me(e){if(Array.isArray(e))return e.map(n=>Me(n));if(e&&typeof e=="object"){const n=tl(e);return Object.fromEntries(Object.entries(n).map(([a,s])=>[a,Me(s)]))}return e}const pa=Tt("v-alert-title"),ba=xe({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ya(e,n){return{iconSize:$(()=>{const s=new Map(e.iconSizes),i=e.iconSize??n()??"default";return s.has(i)?s.get(i):i})}}const Va=["success","info","warning","error"],ha=xe({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Et,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>Va.includes(e)},...rt(),...qt(),...Ot(),...st(),...ba(),...Nt(),...Mt(),...it(),...nt(),...ot(),...Ft({variant:"flat"})},"VAlert"),_a=Ae()({name:"VAlert",props:ha(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,{emit:n,slots:a}){const s=Pe(e,"modelValue"),i=de(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:r}=ya(e,()=>e.prominent?44:void 0),{themeClasses:f}=tt(e),{colorClasses:y,colorStyles:V,variantClasses:h}=$t(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:v}=Pt(e),{dimensionStyles:u}=Bt(e),{elevationClasses:c}=at(e),{locationStyles:O}=Ut(e),{positionClasses:g}=At(e),{roundedClasses:x}=lt(e),{textColorClasses:S,textColorStyles:b}=It(()=>e.borderColor),{t:A}=zt(),L=de(()=>({"aria-label":A(e.closeLabel),onClick(J){s.value=!1,n("click:close",J)}}));return()=>{const J=!!(a.prepend||i.value),K=!!(a.title||e.title),te=!!(a.close||e.closable),Z={density:e.density,icon:i.value,size:e.iconSize||e.prominent?r.value:void 0};return s.value&&t(e.tag,{class:fe(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},f.value,y.value,v.value,c.value,g.value,x.value,h.value,e.class]),style:_e([V.value,u.value,O.value,e.style]),role:"alert"},{default:()=>[Dt(!1,"v-alert"),e.border&&d("div",{key:"border",class:fe(["v-alert__border",S.value]),style:_e(b.value)},null),J&&d("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?t(Ee,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...Z}}},a.prepend):t(Oe,ie({key:"prepend-icon"},Z),null)]),d("div",{class:"v-alert__content"},[K&&t(pa,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&d("div",{key:"append",class:"v-alert__append"},[a.append()]),te&&d("div",{key:"close",class:"v-alert__close"},[a.close?t(Ee,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:L.value})]}):t(M,ie({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},L.value),null)])]})}}}),xa=xe({app:Boolean,color:String,height:{type:[Number,String],default:"auto"},...Kt(),...rt(),...st(),...Jt(),...it(),...nt({tag:"footer"}),...ot()},"VFooter"),ka=Ae()({name:"VFooter",props:xa(),setup(e,{slots:n}){const a=N(),{themeClasses:s}=tt(e),{backgroundColorClasses:i,backgroundColorStyles:r}=Lt(()=>e.color),{borderClasses:f}=Ht(e),{elevationClasses:y}=at(e),{roundedClasses:V}=lt(e),h=mt(32),{resizeRef:v}=jt(c=>{c.length&&(h.value=c[0].target.clientHeight)}),u=$(()=>e.height==="auto"?h.value:parseInt(e.height,10));return Wt(()=>e.app,()=>{const c=Gt({id:e.name,order:$(()=>parseInt(e.order,10)),position:de(()=>"bottom"),layoutSize:u,elementSize:$(()=>e.height==="auto"?void 0:u.value),active:de(()=>e.app),absolute:de(()=>e.absolute)});dt(()=>{a.value=c.layoutItemStyles.value})}),Ne(()=>t(e.tag,{ref:v,class:fe(["v-footer",s.value,i.value,f.value,y.value,V.value,e.class]),style:_e([r.value,e.app?a.value:{height:Te(e.height)},e.style])},n)),{}}}),Ca={class:"config-page v-page-root"},wa={key:0,class:"v-page-fill align-center justify-center"},Sa={key:1,class:"v-page-scroll"},Ra={class:"config-shell px-4 py-4 mx-auto"},Ta={class:"d-flex flex-column ga-4"},$a={class:"d-flex align-center ga-3 w-100 py-3"},Pa={class:"text-body-2 text-medium-emphasis"},Ua=ae({__name:"VConfigPage",setup(e){const n=ra(),a=$(()=>n.loading.value),s=$(()=>n.saving.value),i=$(()=>n.isDirty.value),r=$(()=>n.error.value),f=[{value:!1,label:"Off"},{value:"input",label:"Input"},{value:"result",label:"Result"}],y=[{value:"off",label:"Off"},{value:"clear-thinking",label:"Thinking"},{value:"clear-tooluse",label:"Tool use"},{value:"clear-both",label:"Both"}];ut(()=>{n.load()});const V=G("proxy",null),h=G("compress_tool_results_before_truncate",!1),v=G("fetch_timeout",null),u=G("stream_idle_timeout",null),c=G("stale_request_max_age",null),O=G("model_refresh_interval",null),g=G("system_prompt_prepend",null),x=G("system_prompt_append",null),S=U("anthropic","strip_server_tools",!1),b=U("anthropic","immutable_thinking_messages",!1),A=U("anthropic","dedup_tool_calls",!1),L=U("anthropic","strip_read_tool_result_tags",!1),J=U("anthropic","context_editing","off"),K=U("anthropic","context_editing_trigger",1e5),te=U("anthropic","context_editing_keep_tools",3),Z=U("anthropic","context_editing_keep_thinking",1),H=U("anthropic","tool_search",!0),j=U("anthropic","auto_cache_control",!0),W=U("openai-responses","normalize_call_ids",!0),I=U("openai-responses","upstream_websocket",!1),z=U("shutdown","graceful_wait",null),C=U("shutdown","abort_wait",null),P=U("history","limit",null),B=U("history","min_entries",null),Q=U("rate_limiter","retry_interval",null),Y=U("rate_limiter","request_interval",null),X=U("rate_limiter","recovery_timeout",null),se=U("rate_limiter","consecutive_successes",null),q=$({get:()=>Object.entries(n.config.value?.model_overrides??{}).sort(([T],[l])=>T.localeCompare(l)).map(([T,l])=>({key:T,value:l})),set:T=>{const l=Object.fromEntries(T.map(o=>({key:o.key.trim(),value:o.value.trim()})).filter(o=>o.key.length>0&&o.value.length>0).sort((o,oe)=>o.key.localeCompare(oe.key)).map(o=>[o.key,o.value]));ce("model_overrides",l)}}),ge=$({get:()=>n.config.value?.anthropic?.rewrite_system_reminders??!1,set:T=>ye("anthropic","rewrite_system_reminders",T)}),pe=$({get:()=>n.config.value?.system_prompt_overrides??[],set:T=>ce("system_prompt_overrides",T)}),ke=$({get:()=>n.config.value?.anthropic?.non_deferred_tools??[],set:T=>ye("anthropic","non_deferred_tools",T.map(l=>l.trim()).filter((l,o,oe)=>l.length>0&&oe.indexOf(l)===o))});async function Ce(){await n.save()}function Ie(){n.discard()}function be(){return n.config.value||(n.config.value={}),n.config.value}function ce(T,l){const o=be();n.config.value={...o,[T]:l}}function ye(T,l,o){const oe=be(),we=oe[T],qe=we&&typeof we=="object"&&!Array.isArray(we)?{...we}:{};qe[l]=o,n.config.value={...oe,[T]:qe}}function G(T,l){return $({get:()=>n.config.value?.[T]??l,set:o=>ce(T,o)})}function U(T,l,o){return $({get:()=>n.config.value?.[T]?.[l]??o,set:oe=>ye(T,l,oe)})}return(T,l)=>(m(),p("div",Ca,[t(Yt,{class:"page-toolbar px-4",color:"surface",density:"comfortable",flat:""},{default:_(()=>[l[33]||(l[33]=d("div",null,[d("div",{class:"text-h6 font-weight-bold"},"Config"),d("div",{class:"text-body-2 text-medium-emphasis"},"Edit `config.yaml` as structured fields.")],-1)),t(Be),t(M,{color:"primary",disabled:!i.value||s.value||a.value,loading:s.value,variant:"flat",onClick:Ce},{default:_(()=>[...l[32]||(l[32]=[D(" Save ",-1)])]),_:1},8,["disabled","loading"])]),_:1}),a.value&&!k(n).config.value?(m(),p("div",wa,[t(et,{indeterminate:"",color:"primary"})])):(m(),p("div",Sa,[d("div",Ra,[r.value?(m(),ue(_a,{key:0,type:"error",variant:"tonal",class:"mb-4"},{default:_(()=>[D(R(r.value),1)]),_:1})):E("",!0),d("div",Ta,[t(le,{title:"General",description:"Top-level transport and prompt-compression settings.","requires-restart":""},{default:_(()=>[t(ze,{modelValue:k(V),"onUpdate:modelValue":l[0]||(l[0]=o=>w(V)?V.value=o:null),label:"Proxy",description:"Supports http://, https://, socks5://, socks5h://.",placeholder:"http://127.0.0.1:7890"},null,8,["modelValue"]),t(ne,{modelValue:k(h),"onUpdate:modelValue":l[1]||(l[1]=o=>w(h)?h.value=o:null),label:"Compress Tool Results Before Truncate",description:"Compress older tool_result content before dropping messages."},null,8,["modelValue"])]),_:1}),t(le,{title:"Anthropic Pipeline",description:"Server-side request sanitization, deduplication, and reminder rewriting."},{default:_(()=>[t(ne,{modelValue:k(S),"onUpdate:modelValue":l[2]||(l[2]=o=>w(S)?S.value=o:null),label:"Strip Server Tools",description:"Remove server-side tools before forwarding requests upstream."},null,8,["modelValue"]),t(Ge,{modelValue:k(A),"onUpdate:modelValue":l[3]||(l[3]=o=>w(A)?A.value=o:null),label:"Dedup Tool Calls",description:"Choose how repeated tool_use/tool_result pairs are matched.",options:[...f]},null,8,["modelValue","options"]),t(Ge,{modelValue:k(J),"onUpdate:modelValue":l[4]||(l[4]=o=>w(J)?J.value=o:null),label:"Context Editing",description:"Enable server-side context trimming for supported Anthropic models.",options:[...y]},null,8,["modelValue","options"]),t(F,{modelValue:k(K),"onUpdate:modelValue":l[5]||(l[5]=o=>w(K)?K.value=o:null),label:"Context Editing Trigger",description:"Input token threshold that triggers tool-use clearing.",min:0},null,8,["modelValue"]),t(F,{modelValue:k(te),"onUpdate:modelValue":l[6]||(l[6]=o=>w(te)?te.value=o:null),label:"Context Editing Keep Tools",description:"How many recent tool-use pairs to retain after clearing.",min:0},null,8,["modelValue"]),t(F,{modelValue:k(Z),"onUpdate:modelValue":l[7]||(l[7]=o=>w(Z)?Z.value=o:null),label:"Context Editing Keep Thinking",description:"How many recent thinking turns to retain after clearing.",min:0},null,8,["modelValue"]),t(ne,{modelValue:k(b),"onUpdate:modelValue":l[8]||(l[8]=o=>w(b)?b.value=o:null),label:"Immutable Thinking Messages",description:"Preserve assistant thinking/redacted_thinking blocks during rewrites."},null,8,["modelValue"]),t(ne,{modelValue:k(L),"onUpdate:modelValue":l[9]||(l[9]=o=>w(L)?L.value=o:null),label:"Strip Read Tool Result Tags",description:"Remove injected system-reminder tags from Read tool results."},null,8,["modelValue"]),t(ne,{modelValue:k(H),"onUpdate:modelValue":l[10]||(l[10]=o=>w(H)?H.value=o:null),label:"Tool Search",description:"Inject Copilot tool_search helpers when the model supports them."},null,8,["modelValue"]),t(ne,{modelValue:k(j),"onUpdate:modelValue":l[11]||(l[11]=o=>w(j)?j.value=o:null),label:"Auto Cache Control",description:"Inject cache_control breakpoints on stable tools and system blocks."},null,8,["modelValue"]),t(Kl,{modelValue:ke.value,"onUpdate:modelValue":l[12]||(l[12]=o=>ke.value=o),label:"Non-Deferred Tools",description:"Additional tool names that should stay eager when tool search is enabled.","item-label":"Tool name","empty-text":"No extra non-deferred tools configured."},null,8,["modelValue"]),t(Je,{modelValue:ge.value,"onUpdate:modelValue":l[13]||(l[13]=o=>ge.value=o),label:"Rewrite System Reminders",description:"Disable, remove all, or define ordered rewrite rules.","allow-boolean-modes":""},null,8,["modelValue"])]),_:1}),t(le,{title:"System Prompt",description:"Prepend, append, or rewrite prompt text before requests leave the server."},{default:_(()=>[t(ze,{modelValue:k(g),"onUpdate:modelValue":l[14]||(l[14]=o=>w(g)?g.value=o:null),label:"System Prompt Prepend",description:"Inserted before the original system prompt.",multiline:""},null,8,["modelValue"]),t(ze,{modelValue:k(x),"onUpdate:modelValue":l[15]||(l[15]=o=>w(x)?x.value=o:null),label:"System Prompt Append",description:"Inserted after the original system prompt.",multiline:""},null,8,["modelValue"]),t(Je,{modelValue:pe.value,"onUpdate:modelValue":l[16]||(l[16]=o=>pe.value=o),label:"System Prompt Overrides",description:"Ordered rewrite rules with optional model filters.","show-model-field":""},null,8,["modelValue"])]),_:1}),t(le,{title:"OpenAI Responses",description:"Compatibility options for the Responses API endpoint."},{default:_(()=>[t(ne,{modelValue:k(W),"onUpdate:modelValue":l[17]||(l[17]=o=>w(W)?W.value=o:null),label:"Normalize Call IDs",description:"Convert Chat Completions-style tool call IDs to Responses format."},null,8,["modelValue"]),t(ne,{modelValue:k(I),"onUpdate:modelValue":l[18]||(l[18]=o=>w(I)?I.value=o:null),label:"Upstream WebSocket",description:"Use upstream WebSocket transport for streaming /responses when the model supports it."},null,8,["modelValue"])]),_:1}),t(le,{title:"Timeouts",description:"Request, stream, and stale-request timing controls."},{default:_(()=>[t(F,{modelValue:k(v),"onUpdate:modelValue":l[19]||(l[19]=o=>w(v)?v.value=o:null),label:"Fetch Timeout",description:"Max time from request start to response headers.",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(u),"onUpdate:modelValue":l[20]||(l[20]=o=>w(u)?u.value=o:null),label:"Stream Idle Timeout",description:"Max gap between SSE events.",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(c),"onUpdate:modelValue":l[21]||(l[21]=o=>w(c)?c.value=o:null),label:"Stale Request Max Age",description:"Force-fail active requests that outlive this threshold.",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(O),"onUpdate:modelValue":l[22]||(l[22]=o=>w(O)?O.value=o:null),label:"Model Refresh Interval",description:"Refresh the cached model list in the background. Set to 0 to disable.",suffix:"s",min:0},null,8,["modelValue"])]),_:1}),t(le,{title:"Shutdown",description:"Graceful shutdown timings for in-flight request handling."},{default:_(()=>[t(F,{modelValue:k(z),"onUpdate:modelValue":l[23]||(l[23]=o=>w(z)?z.value=o:null),label:"Graceful Wait",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(C),"onUpdate:modelValue":l[24]||(l[24]=o=>w(C)?C.value=o:null),label:"Abort Wait",suffix:"s",min:0},null,8,["modelValue"])]),_:1}),t(le,{title:"History",description:"Retention limits for in-memory request history."},{default:_(()=>[t(F,{modelValue:k(P),"onUpdate:modelValue":l[25]||(l[25]=o=>w(P)?P.value=o:null),label:"History Limit",min:0},null,8,["modelValue"]),t(F,{modelValue:k(B),"onUpdate:modelValue":l[26]||(l[26]=o=>w(B)?B.value=o:null),label:"History Min Entries",min:0},null,8,["modelValue"])]),_:1}),t(le,{title:"Model Overrides",description:"Map requested model names to specific target models."},{default:_(()=>[t(xl,{modelValue:q.value,"onUpdate:modelValue":l[27]||(l[27]=o=>q.value=o),label:"Overrides",description:"Override keys must be unique; empty rows are ignored on save."},null,8,["modelValue"])]),_:1}),t(le,{title:"Rate Limiter",description:"Adaptive limiter parameters used at startup.","requires-restart":""},{default:_(()=>[t(F,{modelValue:k(Q),"onUpdate:modelValue":l[28]||(l[28]=o=>w(Q)?Q.value=o:null),label:"Retry Interval",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(Y),"onUpdate:modelValue":l[29]||(l[29]=o=>w(Y)?Y.value=o:null),label:"Request Interval",suffix:"s",min:0},null,8,["modelValue"]),t(F,{modelValue:k(X),"onUpdate:modelValue":l[30]||(l[30]=o=>w(X)?X.value=o:null),label:"Recovery Timeout",suffix:"min",min:0},null,8,["modelValue"]),t(F,{modelValue:k(se),"onUpdate:modelValue":l[31]||(l[31]=o=>w(se)?se.value=o:null),label:"Consecutive Successes",min:0},null,8,["modelValue"])]),_:1})])])])),t(ka,{class:"page-footer px-4",color:"surface"},{default:_(()=>[d("div",$a,[d("div",Pa,R(i.value?"Unsaved changes":"No pending changes"),1),t(Be),t(M,{disabled:!i.value||s.value||a.value,variant:"outlined",onClick:Ie},{default:_(()=>[...l[34]||(l[34]=[D(" Discard ",-1)])]),_:1},8,["disabled"]),t(M,{color:"primary",disabled:!i.value||s.value||a.value,loading:s.value,variant:"flat",onClick:Ce},{default:_(()=>[...l[35]||(l[35]=[D(" Save ",-1)])]),_:1},8,["disabled","loading"])])]),_:1})]))}}),Fa=ve(Ua,[["__scopeId","data-v-97045d92"]]);export{Fa as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as G,Y as r,o as W,F as T,Z as V,m as e,_ as N,U as o,f as d,a1 as i,W as U,X as y,c,e as $,u as a,r as se}from"./vue-McY99x0M.js";import{_ as K,k as I,a as ye,i as z,l as ae,V as oe}from"./index-Cxye_z0t.js";import{a as w,V as P}from"./VSheet-BhXOOy9y.js";import{u as xe}from"./useFormatters-BBIZmSf2.js";import{u as be,a as _e,f as ke}from"./ws-status-BJ5xglsi.js";const qe={class:"timeline-chart"},Me=["title"],Le={key:1,class:"timeline-axis"},Ce={class:"timeline-tick-label"},Se=G({__name:"CompactTimelineBarChart",props:{data:{},height:{default:88},showAxis:{type:Boolean,default:!0},color:{default:""}},setup(h){const n=h,L=d(()=>Math.max(...n.data.map(x=>x.count),1)),C=d(()=>n.data.map((x,v)=>({...x,index:v,height:x.count>0?Math.max(x.count/L.value*n.height,2):1}))),u=d(()=>n.data.length===0?[]:[0,504,1008,1512,n.data.length-1].filter((v,g,S)=>v>=0&&v<n.data.length&&S.indexOf(v)===g).map(v=>({index:v,label:k(n.data[v].timestamp)})));function k(x){const v=new Date(x),g=String(v.getMonth()+1).padStart(2,"0"),S=String(v.getDate()).padStart(2,"0"),p=String(v.getHours()).padStart(2,"0");return`${g}/${S} ${p}:00`}return(x,v)=>(i(),r("div",qe,[h.data.length>0?(i(),r("div",{key:0,class:"timeline-bars",style:W({height:`${h.height}px`})},[(i(!0),r(T,null,V(C.value,g=>(i(),r("div",{key:g.timestamp,class:"timeline-bar",title:`${k(g.timestamp)} · ${g.count}`},[e("div",{class:"timeline-bar-fill",style:W({height:`${g.height}px`,background:h.color||void 0})},null,4)],8,Me))),128))],4)):N("",!0),h.showAxis&&u.value.length>0?(i(),r("div",Le,[(i(!0),r(T,null,V(u.value,g=>(i(),r("div",{key:g.index,class:"timeline-tick",style:W({left:`${g.index/Math.max(h.data.length-1,1)*100}%`})},[e("span",Ce,o(g.label),1)],4))),128))])):N("",!0)]))}}),le=K(Se,[["__scopeId","data-v-499a0484"]]),$e={class:"panel-head"},we={key:0,class:"limiter-layout"},Te={class:"runtime-column"},Ve={class:"runtime-metric-grid"},Be={class:"runtime-metric-label"},Ne={class:"runtime-metric-value"},De={class:"runtime-metric-foot"},Ee={key:1,class:"progress-foot text-caption text-medium-emphasis"},Re={class:"config-column"},Ae={class:"config-stack"},Ie={class:"config-label"},Pe={class:"config-value"},Fe={key:1,class:"empty-panel text-body-2 text-medium-emphasis"},ze=G({__name:"DashboardRateLimiterPanel",props:{rateLimiter:{},formatDate:{type:Function},formatNumber:{type:Function},rateLimiterColor:{type:Function}},setup(h){const n=h;function L(f){return typeof f=="number"?f:null}function C(f){return f===null?"-":`${f}s`}function u(f){return f===null?"-":`${f} min`}const k=d(()=>n.rateLimiter?.config??null),x=d(()=>L(k.value?.baseRetryIntervalSeconds)),v=d(()=>L(k.value?.maxRetryIntervalSeconds)),g=d(()=>L(k.value?.requestIntervalSeconds)),S=d(()=>L(k.value?.recoveryTimeoutMinutes)),p=d(()=>L(k.value?.consecutiveSuccessesForRecovery)),D=d(()=>{const f=k.value?.gradualRecoverySteps;return Array.isArray(f)?f.filter(M=>typeof M=="number"):[]}),j=d(()=>!n.rateLimiter?.enabled||!p.value||p.value<=0?0:Math.min(n.rateLimiter.consecutiveSuccesses/p.value*100,100)),O=d(()=>!n.rateLimiter?.enabled||!n.rateLimiter.rateLimitedAt?"No recent upstream 429 recorded":n.formatDate(n.rateLimiter.rateLimitedAt)),F=d(()=>n.rateLimiter?.enabled?[{label:"Queue Depth",value:n.formatNumber(n.rateLimiter.queueLength),foot:n.rateLimiter.queueLength>0?"Queued requests are waiting for their next release slot.":"No requests are waiting in the limiter queue."},{label:"Recovery threshold",value:p.value?`${n.formatNumber(n.rateLimiter.consecutiveSuccesses)} / ${n.formatNumber(p.value)}`:n.formatNumber(n.rateLimiter.consecutiveSuccesses),foot:p.value?`${n.formatNumber(p.value)} clean responses are needed to exit recovery pressure.`:"No explicit recovery-success threshold is exposed.",progress:j.value,progressFoot:`Timeout fallback: ${u(S.value)}. Gradual release: ${D.value.length>0?D.value.map(f=>`${f}s`).join(" -> "):"-"}.`},{label:"Last Rate Limit",value:O.value,foot:n.rateLimiter.rateLimitedAt?"Timestamp of the most recent upstream rate-limit transition.":"This process has not recorded a recent rate-limit transition."}]:[]),A=d(()=>n.rateLimiter?.enabled?[{label:"Request Cadence",value:C(g.value)},{label:"Retry Backoff",value:x.value!==null||v.value!==null?`${C(x.value)} -> ${C(v.value)}`:"-"},{label:"Recovery Timeout",value:u(S.value)},{label:"Gradual Recovery",value:D.value.length>0?D.value.map(f=>`${f}s`).join(" -> "):"-"}]:[]);return(f,M)=>(i(),U(w,{class:"panel panel-rate-limiter",color:"surface",border:""},{default:y(()=>[e("div",$e,[M[0]||(M[0]=e("div",null,[e("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Flow Control"),e("div",{class:"panel-title"},"Rate Limiter")],-1)),c(P,{color:h.rateLimiter?.enabled?h.rateLimiterColor(h.rateLimiter.mode):"secondary",variant:"tonal",size:"small"},{default:y(()=>[$(o(h.rateLimiter?.enabled?h.rateLimiter?.mode??"unknown":"disabled"),1)]),_:1},8,["color"])]),h.rateLimiter?.enabled?(i(),r("div",we,[e("div",Te,[e("div",Ve,[(i(!0),r(T,null,V(F.value,b=>(i(),r("div",{key:b.label,class:"runtime-metric-card"},[e("div",Be,o(b.label),1),e("div",Ne,o(b.value),1),"progress"in b?(i(),U(I,{key:0,"model-value":b.progress,color:h.rateLimiterColor(h.rateLimiter.mode),"bg-color":"surface-variant",height:"10",rounded:"",class:"runtime-metric-progress"},null,8,["model-value","color"])):N("",!0),e("div",De,o(b.foot),1),"progressFoot"in b?(i(),r("div",Ee,o(b.progressFoot),1)):N("",!0)]))),128))])]),e("div",Re,[M[1]||(M[1]=e("div",{class:"config-title"},"Limiter policy",-1)),M[2]||(M[2]=e("div",{class:"config-copy text-caption text-medium-emphasis"}," This is the effective limiter configuration for the current process. Config changes only apply here after a restart. ",-1)),e("div",Ae,[(i(!0),r(T,null,V(A.value,b=>(i(),r("div",{key:b.label,class:"config-row"},[e("span",Ie,o(b.label),1),e("span",Pe,o(b.value),1)]))),128))])])])):(i(),r("div",Fe," Adaptive rate limiting is not enabled at startup, so no queue, recovery, or policy telemetry is available here. "))]),_:1}))}}),Ue=K(ze,[["__scopeId","data-v-64765474"]]),je={class:"ops-page v-page-root"},Oe={key:0,class:"v-page-fill align-center justify-center"},He={key:1,class:"v-page-scroll"},Qe={class:"hero-shell px-4 px-md-6 pt-5 pb-4"},We={class:"hero-grid"},Ge={class:"hero-rail"},Ke={class:"metric-band px-4 px-md-6 pb-4"},Xe={class:"metric-grid"},Ye={class:"metric-value font-mono"},Ze={class:"metric-value font-mono"},Je={class:"metric-foot text-caption text-medium-emphasis"},et={class:"metric-value font-mono"},tt={class:"metric-foot text-caption text-medium-emphasis"},st={class:"rate-limiter-shell px-4 px-md-6 pb-4"},at={class:"workspace-grid px-4 px-md-6 pb-6"},ot={key:0,class:"quota-stack"},lt={key:0,class:"quota-plan text-caption text-medium-emphasis"},it={class:"text-high-emphasis font-weight-bold"},rt={class:"quota-meta"},nt={class:"quota-meta-row"},ut={class:"quota-meta-value font-mono"},ct={class:"quota-meta-row"},dt={class:"quota-meta-value"},mt={class:"quota-meta-row"},vt={class:"quota-meta-value font-mono"},pt={class:"d-flex justify-space-between text-caption mb-1"},ft={class:"font-mono"},ht={key:1,class:"empty-panel text-caption text-medium-emphasis"},gt={key:0,class:"memory-stack"},yt={class:"memory-block"},xt={class:"d-flex justify-space-between text-caption mb-1"},bt={class:"font-mono"},_t={class:"memory-block"},kt={class:"d-flex justify-space-between text-caption mb-1"},qt={class:"font-mono"},Mt={class:"text-caption text-medium-emphasis"},Lt={class:"font-mono text-high-emphasis"},Ct={key:1,class:"empty-panel text-caption text-medium-emphasis"},St={class:"panel-head"},$t={class:"text-caption text-medium-emphasis"},wt={key:0,class:"request-volume-stack"},Tt={class:"request-volume-summary"},Vt={class:"request-volume-stat"},Bt={class:"request-volume-value font-mono"},Nt={class:"request-volume-stat"},Dt={class:"request-volume-value font-mono"},Et={class:"request-volume-stat"},Rt={class:"request-volume-value font-mono"},At={key:1,class:"empty-panel text-caption text-medium-emphasis"},It={class:"panel-head"},Pt={class:"traffic-toolbar"},Ft={class:"traffic-toggle-group"},zt={class:"traffic-toggle-group"},Ut={key:0,class:"traffic-stack"},jt={class:"traffic-meta"},Ot=["title"],Ht={class:"text-caption text-medium-emphasis"},Qt={class:"traffic-subline"},Wt={class:"traffic-subline text-disabled"},Gt={key:1,class:"empty-panel text-caption text-medium-emphasis"},ie=72,Kt=G({__name:"VDashboardPage",setup(h){const n=be(),{formatDate:L,formatDuration:C,formatNumber:u}=xe(),{auth:k,copilotExpiresAt:x,memory:v,quotaItems:g,quotaPlan:S,requestTelemetry:p,rateLimiter:D,rateLimiterColor:j,resolvedActiveCount:O,shutdownPhase:F,status:A,statusLoading:f,totalEvictedCount:M,uptime:b,wsConnected:X}=_e(),Y=d(()=>{const l=A.value?.status;return typeof l=="string"?l:"unknown"}),re=d(()=>Y.value==="healthy"?"success":"error"),ne=d(()=>ke("requests + status",X.value)),ue=d(()=>{const l=A.value?.quota?.resetDate;return typeof l=="string"?l:null}),H=d(()=>{const l=n.stats.value;return l?{input:l.totalInputTokens,output:l.totalOutputTokens,total:l.totalInputTokens+l.totalOutputTokens}:null}),q=d(()=>v.value?{heapUsedMB:Number(v.value.heapUsedMB??0),heapLimitMB:Number(v.value.heapLimitMB??0),historyEntryCount:Number(v.value.historyEntryCount??0),historyMaxEntries:Number(v.value.historyMaxEntries??0)}:null),ce=d(()=>q.value?.heapLimitMB?q.value.heapUsedMB/q.value.heapLimitMB*100:0),de=d(()=>q.value?.historyMaxEntries?q.value.historyEntryCount/q.value.historyMaxEntries*100:0),me=d(()=>{const l=p.value?.buckets.map(t=>t.count)??[];return Math.max(...l,0)}),B=se("requests"),E=se("requests"),Z=[{label:"Requests",value:"requests"},{label:"Duration",value:"duration"},{label:"Tokens",value:"tokens"}],Q=d(()=>{const l=p.value?.modelsSinceStart??[],t=p.value?.modelsLast7d??[],s=new Map;for(const m of l)s.set(m.model,{model:m.model,runtime:m,last7d:null,displayCount:m.requestCount});for(const m of t){const _=s.get(m.model);_?(_.last7d=m,_.displayCount=Math.max(_.displayCount,m.requestCount)):s.set(m.model,{model:m.model,runtime:null,last7d:m,displayCount:m.requestCount})}return[...s.values()].sort((m,_)=>R(_.last7d,E.value)-R(m.last7d,E.value)||R(_.runtime,E.value)-R(m.runtime,E.value)||m.model.localeCompare(_.model))}),J=d(()=>Math.max(...Q.value.map(l=>R(l.last7d,B.value)),1));function ve(l){return J.value>0?l/J.value*100:0}function ee(l){const t=l.toLowerCase();return t.includes("claude")||t.includes("anthropic")?"#d299ff":t.includes("gpt")||t.includes("openai")||t.includes("o1")||t.includes("o3")||t.includes("o4")?"#7cc0ff":t.includes("gemini")?"#58d18d":"#7cc0ff"}function pe(l){if(l.length<=ie)return l.map(m=>({timestamp:m.timestamp,count:te(m,B.value)}));const t=Math.ceil(l.length/ie),s=[];for(let m=0;m<l.length;m+=t){const _=l.slice(m,m+t);_.length!==0&&s.push({timestamp:_[0].timestamp,count:_.reduce((he,ge)=>he+te(ge,B.value),0)})}return s}function te(l,t){return t==="duration"?l.totalDurationMs:t==="tokens"?l.usage.totalTokens:l.requestCount}function R(l,t){return l?t==="duration"?l.totalDurationMs:t==="tokens"?l.usage.totalTokens:l.requestCount:0}function fe(l,t){return l?t==="duration"?C(l.totalDurationMs):t==="tokens"?`${u(l.usage.totalTokens)} tok`:`${u(l.requestCount)} req`:"-"}return(l,t)=>(i(),r("div",je,[a(f)&&!a(A)?(i(),r("div",Oe,[c(ye,{indeterminate:"",color:"primary"})])):(i(),r("div",He,[e("section",Qe,[e("div",We,[t[2]||(t[2]=e("div",{class:"hero-copy"},[e("div",{class:"eyebrow text-caption font-weight-bold text-uppercase mb-3"}," Operations Workspace "),e("h1",{class:"hero-title"}," Dashboard and usage are now one surface. "),e("p",{class:"hero-body text-body-2 text-medium-emphasis"}," Monitor service health, rate limiting, quota pressure, memory headroom, model mix, and live requests without switching tabs. ")],-1)),e("div",Ge,[c(P,{color:re.value,variant:"flat",class:"hero-chip"},{default:y(()=>[c(z,{start:"",size:"x-small",icon:"mdi-heart-pulse"}),$(" "+o(Y.value),1)]),_:1},8,["color"]),c(P,{color:a(X)?"success":"error",variant:"tonal",class:"hero-chip"},{default:y(()=>[c(z,{start:"",size:"x-small",icon:"mdi-connection"}),$(" "+o(ne.value),1)]),_:1},8,["color"]),c(P,{color:"secondary",variant:"tonal",class:"hero-chip"},{default:y(()=>[c(z,{start:"",size:"x-small",icon:"mdi-timer-outline"}),$(" "+o(a(b)),1)]),_:1}),a(F)!=="idle"?(i(),U(P,{key:0,color:"warning",variant:"flat",class:"hero-chip"},{default:y(()=>[c(z,{start:"",size:"x-small",icon:"mdi-power"}),$(" "+o(a(F)),1)]),_:1})):N("",!0)])])]),e("section",Ke,[e("div",Xe,[c(w,{class:"metric-tile",color:"surface",border:""},{default:y(()=>[t[3]||(t[3]=e("div",{class:"metric-label text-caption text-medium-emphasis text-uppercase"},"Active Requests",-1)),e("div",Ye,o(a(O)),1),t[4]||(t[4]=e("div",{class:"metric-foot text-caption text-medium-emphasis"},"Current in-flight upstream work.",-1))]),_:1}),c(w,{class:"metric-tile",color:"surface",border:""},{default:y(()=>[t[5]||(t[5]=e("div",{class:"metric-label text-caption text-medium-emphasis text-uppercase"},"Session Tokens",-1)),e("div",Ze,o(a(u)(H.value?.total)),1),e("div",Je,o(a(u)(H.value?.input))+" in / "+o(a(u)(H.value?.output))+" out ",1)]),_:1}),c(w,{class:"metric-tile",color:"surface",border:""},{default:y(()=>[t[6]||(t[6]=e("div",{class:"metric-label text-caption text-medium-emphasis text-uppercase"},"Accepted Requests",-1)),e("div",et,o(a(u)(a(p)?.acceptedSinceStart)),1),e("div",tt,o(a(u)(a(p)?.totalLast7d))+" received in the last 7 days ",1)]),_:1})])]),e("section",st,[c(Ue,{"rate-limiter":a(D),"format-date":a(L),"format-number":a(u),"rate-limiter-color":a(j)},null,8,["rate-limiter","format-date","format-number","rate-limiter-color"])]),e("section",at,[c(w,{class:"panel panel-quota",color:"surface",border:""},{default:y(()=>[t[11]||(t[11]=e("div",{class:"panel-head"},[e("div",null,[e("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Capacity"),e("div",{class:"panel-title"},"Quota")])],-1)),a(g).length>0?(i(),r("div",ot,[a(S)?(i(),r("div",lt,[t[7]||(t[7]=$(" Current plan: ",-1)),e("span",it,o(a(S)),1)])):N("",!0),e("div",rt,[e("div",nt,[t[8]||(t[8]=e("span",{class:"quota-meta-label"},"Quota Reset",-1)),e("span",ut,o(ue.value??"-"),1)]),e("div",ct,[t[9]||(t[9]=e("span",{class:"quota-meta-label"},"Token Source",-1)),e("span",dt,o(a(k)?.tokenSource??"N/A"),1)]),e("div",mt,[t[10]||(t[10]=e("span",{class:"quota-meta-label"},"Token Expires",-1)),e("span",vt,o(a(x)??"-"),1)])]),(i(!0),r(T,null,V(a(g),s=>(i(),r("div",{key:s.label,class:"quota-row"},[e("div",pt,[e("span",null,o(s.label),1),e("span",ft,o(a(u)(s.used))+" / "+o(a(u)(s.total)),1)]),c(I,{"model-value":s.total>0?s.used/s.total*100:0,color:s.total>0&&s.used/s.total>.9?"error":"primary","bg-color":"surface-variant",height:"10"},null,8,["model-value","color"])]))),128))])):(i(),r("div",ht," No quota data available. "))]),_:1}),c(w,{class:"panel panel-memory",color:"surface",border:""},{default:y(()=>[t[15]||(t[15]=e("div",{class:"panel-head"},[e("div",null,[e("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Pressure"),e("div",{class:"panel-title"},"Memory Pressure")])],-1)),q.value?(i(),r("div",gt,[e("div",yt,[e("div",xt,[t[12]||(t[12]=e("span",null,"Heap",-1)),e("span",bt,o(a(u)(q.value.heapUsedMB))+" MB / "+o(a(u)(q.value.heapLimitMB))+" MB ",1)]),c(I,{"model-value":ce.value,color:"primary","bg-color":"surface-variant",height:"10"},null,8,["model-value"])]),e("div",_t,[e("div",kt,[t[13]||(t[13]=e("span",null,"History Cache",-1)),e("span",qt,o(a(u)(q.value.historyEntryCount))+" / "+o(a(u)(q.value.historyMaxEntries)),1)]),c(I,{"model-value":de.value,color:"secondary","bg-color":"surface-variant",height:"10"},null,8,["model-value"])]),e("div",Mt,[t[14]||(t[14]=$(" Evicted entries: ",-1)),e("span",Lt,o(a(u)(a(M))),1)])])):(i(),r("div",Ct," No memory data available. "))]),_:1}),c(w,{class:"panel panel-request-volume",color:"surface",border:""},{default:y(()=>[e("div",St,[t[16]||(t[16]=e("div",null,[e("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Traffic Volume"),e("div",{class:"panel-title"},"Accepted Requests")],-1)),e("div",$t,o(a(p)?.bucketSizeMinutes??5)+" min buckets · "+o(a(p)?.windowDays??7)+" days ",1)]),a(p)&&a(p).buckets.length>0?(i(),r("div",wt,[e("div",Tt,[e("div",Vt,[t[17]||(t[17]=e("span",{class:"request-volume-label"},"Since startup",-1)),e("span",Bt,o(a(u)(a(p).acceptedSinceStart)),1)]),e("div",Nt,[t[18]||(t[18]=e("span",{class:"request-volume-label"},"Last 7d total",-1)),e("span",Dt,o(a(u)(a(p).totalLast7d)),1)]),e("div",Et,[t[19]||(t[19]=e("span",{class:"request-volume-label"},"Peak 5m",-1)),e("span",Rt,o(a(u)(me.value)),1)])]),c(le,{data:a(p).buckets},null,8,["data"])])):(i(),r("div",At," No accepted-request telemetry available yet. "))]),_:1}),c(w,{class:"panel panel-traffic",color:"surface",border:""},{default:y(()=>[e("div",It,[t[23]||(t[23]=e("div",null,[e("div",{class:"panel-eyebrow text-caption text-medium-emphasis text-uppercase"},"Traffic Mix"),e("div",{class:"panel-title"},"Model Telemetry")],-1)),e("div",Pt,[t[22]||(t[22]=e("div",{class:"text-caption text-medium-emphasis"}," 7d persisted + runtime ",-1)),e("div",Ft,[t[20]||(t[20]=e("div",{class:"traffic-toggle-label text-caption text-medium-emphasis"},"Chart",-1)),c(ae,{modelValue:B.value,"onUpdate:modelValue":t[0]||(t[0]=s=>B.value=s),mandatory:"",density:"compact",color:"primary",variant:"outlined",divided:"",class:"traffic-toggle"},{default:y(()=>[(i(),r(T,null,V(Z,s=>c(oe,{key:`chart-${s.value}`,value:s.value,size:"small"},{default:y(()=>[$(o(s.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),e("div",zt,[t[21]||(t[21]=e("div",{class:"traffic-toggle-label text-caption text-medium-emphasis"},"Sort",-1)),c(ae,{modelValue:E.value,"onUpdate:modelValue":t[1]||(t[1]=s=>E.value=s),mandatory:"",density:"compact",color:"secondary",variant:"outlined",divided:"",class:"traffic-toggle"},{default:y(()=>[(i(),r(T,null,V(Z,s=>c(oe,{key:`sort-${s.value}`,value:s.value,size:"small"},{default:y(()=>[$(o(s.label),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])])])]),Q.value.length>0?(i(),r("div",Ut,[(i(!0),r(T,null,V(Q.value,s=>(i(),r("div",{key:s.model,class:"traffic-row"},[e("div",jt,[e("span",{class:"traffic-model text-caption",title:s.model},o(s.model),9,Ot),e("span",Ht,o(fe(s.last7d,B.value))+" / 7d ",1)]),e("div",Qt,[e("span",null,"7d avg "+o(a(C)(s.last7d?.averageDurationMs??null)),1),e("span",null,o(a(u)(s.last7d?.usage.totalTokens))+" tok",1),e("span",null,o(s.last7d?.successCount??0)+" ok / "+o(s.last7d?.failureCount??0)+" fail",1)]),s.last7d?.buckets?.length?(i(),U(le,{key:0,data:pe(s.last7d.buckets),height:34,"show-axis":!1,color:`linear-gradient(180deg, ${ee(s.model)}, rgba(255, 255, 255, 0.18))`,class:"traffic-timeline"},null,8,["data","color"])):N("",!0),c(I,{"model-value":ve(R(s.last7d,B.value)),color:ee(s.model),"bg-color":"surface-variant",height:"14",class:"traffic-bar"},null,8,["model-value","color"]),e("div",Wt,[e("span",null,"Runtime "+o(a(u)(s.runtime?.requestCount))+" req",1),e("span",null,o(a(u)(s.runtime?.usage.totalTokens))+" tok",1),e("span",null,o(a(C)(s.runtime?.totalDurationMs))+" total",1)])]))),128))])):(i(),r("div",Gt," No model telemetry available yet. "))]),_:1})])]))]))}}),ts=K(Kt,[["__scopeId","data-v-15adaa58"]]);export{ts as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.timeline-chart[data-v-499a0484]{display:flex;flex-direction:column;gap:8px}.timeline-bars[data-v-499a0484]{display:flex;align-items:end;gap:1px}.timeline-bar[data-v-499a0484]{flex:1 1 0;display:flex;align-items:end;min-width:0}.timeline-bar-fill[data-v-499a0484]{width:100%;border-radius:999px 999px 0 0;background:linear-gradient(180deg,rgb(var(--v-theme-primary)),rgb(var(--v-theme-info)));opacity:.92}.timeline-axis[data-v-499a0484]{position:relative;height:16px}.timeline-tick[data-v-499a0484]{position:absolute;transform:translate(-50%)}.timeline-tick-label[data-v-499a0484]{font-size:.68rem;line-height:1;color:rgb(var(--v-theme-secondary));white-space:nowrap}.panel[data-v-64765474]{padding:18px;border-color:rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.panel-head[data-v-64765474]{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-eyebrow[data-v-64765474]{letter-spacing:.08em}.panel-title[data-v-64765474]{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.limiter-layout[data-v-64765474]{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.95fr);gap:18px}.runtime-column[data-v-64765474],.config-column[data-v-64765474]{display:flex;flex-direction:column;gap:14px}.runtime-metric-card[data-v-64765474],.config-stack[data-v-64765474]{border:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.runtime-metric-card[data-v-64765474]{padding:14px}.config-title[data-v-64765474]{font-size:.82rem;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--v-theme-secondary))}.runtime-metric-grid[data-v-64765474]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.runtime-metric-card[data-v-64765474]{display:flex;flex-direction:column;gap:8px;min-height:150px}.runtime-metric-progress[data-v-64765474]{margin-top:2px}.runtime-metric-label[data-v-64765474],.config-label[data-v-64765474],.progress-label[data-v-64765474]{font-size:.74rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--v-theme-secondary))}.runtime-metric-value[data-v-64765474]{font-size:1.1rem;line-height:1.2;font-weight:700;letter-spacing:-.02em;overflow-wrap:anywhere}.runtime-metric-foot[data-v-64765474]{margin-top:auto;font-size:.78rem;line-height:1.45;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.progress-head[data-v-64765474],.config-row[data-v-64765474]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.progress-value[data-v-64765474],.config-value[data-v-64765474]{font-size:.92rem;line-height:1.2;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.progress-foot[data-v-64765474]{line-height:1.45}.config-copy[data-v-64765474]{margin-top:-4px}.config-stack[data-v-64765474]{display:flex;flex-direction:column;gap:12px;padding:14px}.config-row[data-v-64765474]{padding-bottom:10px;border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.config-row[data-v-64765474]:last-child{padding-bottom:0;border-bottom:0}.empty-panel[data-v-64765474]{padding-top:4px}@media(max-width:1100px){.limiter-layout[data-v-64765474]{grid-template-columns:1fr}.runtime-metric-grid[data-v-64765474]{grid-template-columns:repeat(2,minmax(0,1fr))}.runtime-metric-card[data-v-64765474]{min-height:0}}@media(max-width:760px){.runtime-metric-grid[data-v-64765474]{grid-template-columns:1fr}}@media(max-width:520px){.progress-head[data-v-64765474],.config-row[data-v-64765474]{flex-direction:column;align-items:start}.progress-value[data-v-64765474],.config-value[data-v-64765474]{text-align:left}}.ops-page[data-v-15adaa58]{background:radial-gradient(circle at top right,rgb(var(--v-theme-primary) / 16%),transparent 28%),linear-gradient(180deg,rgb(var(--v-theme-background)),rgb(var(--v-theme-surface)))}.hero-shell[data-v-15adaa58]{position:relative}.hero-shell[data-v-15adaa58]:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgb(var(--v-theme-surface)),rgb(var(--v-theme-surface-variant)));opacity:.92;pointer-events:none}.hero-grid[data-v-15adaa58]{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);gap:24px;align-items:end}.eyebrow[data-v-15adaa58],.panel-eyebrow[data-v-15adaa58],.metric-label[data-v-15adaa58]{letter-spacing:.08em}.hero-title[data-v-15adaa58]{margin:0;max-width:11ch;font-size:clamp(2.25rem,4vw,3.8rem);line-height:.95;letter-spacing:-.05em}.hero-body[data-v-15adaa58]{max-width:56ch;margin:16px 0 0}.hero-rail[data-v-15adaa58]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.hero-chip[data-v-15adaa58]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.metric-grid[data-v-15adaa58]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.metric-tile[data-v-15adaa58],.panel[data-v-15adaa58]{padding:18px;border-color:rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.metric-tile[data-v-15adaa58]{min-height:126px;display:flex;flex-direction:column;justify-content:space-between}.metric-value[data-v-15adaa58]{font-size:clamp(1.5rem,2vw,2rem);line-height:1;letter-spacing:-.04em}.metric-foot[data-v-15adaa58]{min-height:20px}.workspace-grid[data-v-15adaa58]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.rate-limiter-shell[data-v-15adaa58]{padding-top:2px}.panel-head[data-v-15adaa58]{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-title[data-v-15adaa58]{font-size:1.05rem;font-weight:700;letter-spacing:-.02em}.traffic-toolbar[data-v-15adaa58]{display:flex;flex-direction:column;align-items:end;gap:10px}.traffic-toggle-group[data-v-15adaa58]{display:flex;align-items:center;gap:10px}.traffic-toggle-label[data-v-15adaa58]{min-width:34px;text-align:right;letter-spacing:.05em;text-transform:uppercase}.traffic-toggle[data-v-15adaa58] .v-btn{min-width:0;padding-inline:10px}.quota-stack[data-v-15adaa58],.memory-stack[data-v-15adaa58],.request-volume-stack[data-v-15adaa58],.traffic-stack[data-v-15adaa58]{display:flex;flex-direction:column;gap:14px}.quota-plan[data-v-15adaa58]{margin-bottom:2px}.quota-meta[data-v-15adaa58]{display:flex;flex-direction:column;gap:10px;padding:0 0 2px}.quota-meta-row[data-v-15adaa58]{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.quota-meta-label[data-v-15adaa58]{color:rgb(var(--v-theme-secondary));font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.quota-meta-value[data-v-15adaa58]{text-align:right;font-size:.95rem}.memory-block[data-v-15adaa58],.request-volume-summary[data-v-15adaa58],.traffic-row[data-v-15adaa58]{display:flex;flex-direction:column;gap:8px}.request-volume-summary[data-v-15adaa58]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.request-volume-stat[data-v-15adaa58]{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid rgb(var(--v-theme-surface-variant))}.request-volume-label[data-v-15adaa58]{font-size:.74rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--v-theme-secondary))}.request-volume-value[data-v-15adaa58]{font-size:1.02rem;line-height:1.15;font-weight:700}.traffic-meta[data-v-15adaa58]{display:flex;justify-content:space-between;align-items:center;gap:12px}.traffic-model[data-v-15adaa58]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.traffic-subline[data-v-15adaa58]{display:flex;justify-content:space-between;gap:16px;font-size:.75rem;line-height:1.3;color:rgb(var(--v-theme-secondary))}.traffic-timeline[data-v-15adaa58]{padding:4px 0 2px}.empty-panel[data-v-15adaa58],.empty-state[data-v-15adaa58]{padding:16px 0 6px}.empty-title[data-v-15adaa58]{font-size:1rem;font-weight:600;margin-bottom:6px}@media(max-width:1100px){.metric-grid[data-v-15adaa58],.workspace-grid[data-v-15adaa58],.hero-grid[data-v-15adaa58]{grid-template-columns:1fr}.hero-rail[data-v-15adaa58]{justify-content:flex-start}}@media(max-width:700px){.metric-tile[data-v-15adaa58],.panel[data-v-15adaa58]{padding:16px}.hero-title[data-v-15adaa58]{max-width:none}.request-volume-summary[data-v-15adaa58]{grid-template-columns:1fr}}@media(max-width:520px){.quota-meta-row[data-v-15adaa58],.traffic-meta[data-v-15adaa58],.traffic-subline[data-v-15adaa58]{flex-direction:column;align-items:start}.traffic-toolbar[data-v-15adaa58]{align-items:start}.traffic-toggle-group[data-v-15adaa58]{flex-wrap:wrap}.traffic-toggle-label[data-v-15adaa58],.quota-meta-value[data-v-15adaa58]{text-align:left}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as g,g as V,n as h,ab as y,b as P,r as b,c as x,t as E,ac as w,ad as i,z as D}from"./index-Cxye_z0t.js";import{c as A}from"./VCard-B2q0rBgl.js";import{a as C,n as F,r as T,A as c,c as s}from"./vue-McY99x0M.js";function S(){const{show:e}=g();async function o(r,t="Copied!"){try{await navigator.clipboard.writeText(r),e(t,"success")}catch{e("Copy failed","error")}}return{copy:o}}const k=x({fullscreen:Boolean,scrollable:Boolean,...E(w({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:A},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),B=V()({name:"VDialog",props:k(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,{emit:o,slots:r}){const t=h(e,"modelValue"),{scopeId:u}=y(),a=T();function d(){o("afterEnter"),(e.scrim||e.retainFocus)&&a.value?.contentEl&&!a.value.contentEl.contains(document.activeElement)&&a.value.contentEl.focus({preventScroll:!0})}function f(){o("afterLeave")}return C(t,async n=>{n||(await F(),a.value.activatorEl?.focus({preventScroll:!0}))}),P(()=>{const n=i.filterProps(e),v=c({"aria-haspopup":"dialog"},e.activatorProps),m=c({tabindex:-1},e.contentProps);return s(i,c({ref:a,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},n,{modelValue:t.value,"onUpdate:modelValue":l=>t.value=l,"aria-modal":"true",activatorProps:v,contentProps:m,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:d,onAfterLeave:f},u),{activator:r.activator,default:(...l)=>s(D,{root:"VDialog"},{default:()=>[r.default?.(...l)]})})}),b({},a)}});export{B as V,S as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vjs-tree-brackets{cursor:pointer}.vjs-tree-brackets:hover{color:#1890ff}.vjs-check-controller{position:absolute;left:0}.vjs-check-controller.is-checked .vjs-check-controller-inner{background-color:#1890ff;border-color:#0076e4}.vjs-check-controller.is-checked .vjs-check-controller-inner.is-checkbox:after{transform:rotate(45deg) scaleY(1)}.vjs-check-controller.is-checked .vjs-check-controller-inner.is-radio:after{transform:translate(-50%,-50%) scale(1)}.vjs-check-controller .vjs-check-controller-inner{display:inline-block;position:relative;border:1px solid #bfcbd9;border-radius:2px;vertical-align:middle;box-sizing:border-box;width:16px;height:16px;background-color:#fff;z-index:1;cursor:pointer;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.vjs-check-controller .vjs-check-controller-inner:after{box-sizing:content-box;content:"";border:2px solid #fff;border-left:0;border-top:0;height:8px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:4px;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) .05s;transform-origin:center}.vjs-check-controller .vjs-check-controller-inner.is-radio{border-radius:100%}.vjs-check-controller .vjs-check-controller-inner.is-radio:after{border-radius:100%;height:4px;background-color:#fff;left:50%;top:50%}.vjs-check-controller .vjs-check-controller-original{opacity:0;outline:none;position:absolute;z-index:-1;inset:0;margin:0}.vjs-carets{position:absolute;right:0;cursor:pointer}.vjs-carets svg{transition:transform .3s}.vjs-carets:hover{color:#1890ff}.vjs-carets-close{transform:rotate(-90deg)}.vjs-tree-node{display:flex;position:relative;line-height:20px}.vjs-tree-node.has-carets{padding-left:15px}.vjs-tree-node.has-carets.has-selector,.vjs-tree-node.has-selector{padding-left:30px}.vjs-tree-node.is-highlight,.vjs-tree-node:hover{background-color:#e6f7ff;border-radius:4px}.vjs-tree-node.is-highlight .vjs-tree-node-actions,.vjs-tree-node:hover .vjs-tree-node-actions{display:block}.vjs-tree-node .vjs-indent{display:flex;position:relative}.vjs-tree-node .vjs-indent-unit.has-line{border-left:1px dashed #bfcbd9}.vjs-tree-node .vjs-tree-node-actions{display:none;position:absolute;right:0;top:0;padding:0 4px;background-color:#e6f7ff;border-radius:4px}.vjs-tree-node .vjs-tree-node-actions .vjs-tree-node-actions-item{cursor:pointer}.vjs-tree-node .vjs-tree-node-actions .vjs-tree-node-actions-item:hover{color:#1890ff}.vjs-tree-node.dark.is-highlight,.vjs-tree-node.dark .vjs-tree-node-actions,.vjs-tree-node.dark:hover{background-color:#2e4558}.vjs-node-index{position:absolute;right:100%;margin-right:4px;-webkit-user-select:none;user-select:none}.vjs-colon{white-space:pre}.vjs-comment{color:#bfcbd9}.vjs-key{white-space:nowrap}.vjs-value{word-break:break-word}.vjs-tree-node.dynamic-height .vjs-value{white-space:pre-wrap}.vjs-value-null,.vjs-value-undefined{color:#d55fde}.vjs-value-boolean,.vjs-value-number{color:#1d8ce0}.vjs-value-string{color:#13ce66}.vjs-tree{font-family:Monaco,Menlo,Consolas,Bitstream Vera Sans Mono,monospace;font-size:14px;text-align:left}.vjs-tree.is-virtual{overflow:auto}.vjs-tree.is-virtual .vjs-tree-node{white-space:nowrap}@layer vuetify-components{.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px}.v-dialog>.v-overlay__content,.v-dialog>.v-overlay__content>form{display:flex;flex-direction:column;min-height:0}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:4px;overflow-y:auto;flex:1 1 var(--v-card-height, 100%)}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{box-shadow:0 4px 4px rgba(var(--v-shadow-color),var(--v-shadow-key-opacity, .3)),0 8px 12px 6px rgba(var(--v-shadow-color),var(--v-shadow-ambient-opacity, .15));--v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 10%, transparent)}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:16px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.03125em;line-height:inherit;padding:16px 24px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-actions,.v-dialog>.v-overlay__content>form>.v-card>.v-card-actions{justify-content:flex-end}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 var(--v-card-height, 100%);flex-direction:column}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{H as We,t as G,f as c,r as J,s as ke,n as Ye,p as Xe,k as Ue,a as Ie,m as n,o as de,q,E as Ne,c as h,G as Ze,A as ve,F as Q,d as se,ab as ne,Y as F,X as L,e as Y,U as R,ac as et,a1 as w,ad as tt,W as X,a7 as lt,_ as W,u as C,Z as ee,P as at,z as oe}from"./vue-McY99x0M.js";import{V as ce,a as Me}from"./VSheet-BhXOOy9y.js";import{l as it,u as nt,b as ze,d as ot,n as st,o as rt,V as ut,h as he}from"./VSelect-CahLC2X3.js";import{a6 as $e,s as Se,c as _e,U as dt,Q as ct,a7 as Pe,a8 as vt,g as Te,a9 as Ee,J as mt,Z as Ve,aa as pt,b as Oe,h as te,A as ft,N as bt,f as qe,H as gt,n as yt,q as ht,r as kt,_ as re,V as le,i as Re,x as je,k as _t,j as xt,a as wt}from"./index-Cxye_z0t.js";import{P as St}from"./vendor-tLv7SZ-i.js";import{u as Le,V as De}from"./VDialog-B5tAv-4d.js";import{V as Ke}from"./VCard-B2q0rBgl.js";const Be=Symbol.for("vuetify:v-slider");function Ce(e,l,d){const b=d==="vertical",m=l.getBoundingClientRect(),y="touches"in e?e.touches[0]:e;return b?y.clientY-(m.top+m.height/2):y.clientX-(m.left+m.width/2)}function Vt(e,l){return"touches"in e&&e.touches.length?e.touches[0][l]:"changedTouches"in e&&e.changedTouches.length?e.changedTouches[0][l]:e[l]}const Ct=_e({disabled:{type:Boolean,default:null},error:Boolean,readonly:{type:Boolean,default:null},max:{type:[Number,String],default:100},min:{type:[Number,String],default:0},step:{type:[Number,String],default:0},thumbColor:String,thumbLabel:{type:[Boolean,String],default:void 0,validator:e=>typeof e=="boolean"||e==="always"||e==="hover"},thumbSize:{type:[Number,String],default:20},showTicks:{type:[Boolean,String],default:!1,validator:e=>typeof e=="boolean"||e==="always"},ticks:{type:[Array,Object]},tickSize:{type:[Number,String],default:2},color:String,trackColor:String,trackFillColor:String,trackSize:{type:[Number,String],default:4},direction:{type:String,default:"horizontal",validator:e=>["vertical","horizontal"].includes(e)},reverse:Boolean,noKeyboard:Boolean,...ct(),...dt({elevation:1}),ripple:{type:Boolean,default:!0}},"Slider"),Ft=e=>{const l=c(()=>parseFloat(e.min)),d=c(()=>parseFloat(e.max)),b=c(()=>Number(e.step)>0?parseFloat(e.step):0),m=c(()=>Math.max(Pe(b.value),Pe(l.value)));function y(k){if(k=parseFloat(k),b.value<=0)return k;const S=Se(k,l.value,d.value),O=l.value%b.value;let g=Math.round((S-O)/b.value)*b.value+O;return S>g&&g+b.value>d.value&&(g=d.value),parseFloat(Math.min(g,d.value).toFixed(m.value))}return{min:l,max:d,step:b,decimals:m,roundValue:y}},Mt=({props:e,steps:l,onSliderStart:d,onSliderMove:b,onSliderEnd:m,getActiveThumb:y})=>{const k=it(e),{isRtl:S}=$e(),O=G(()=>e.reverse),g=c(()=>e.direction==="vertical"),s=c(()=>g.value!==O.value),{min:_,max:E,step:B,decimals:P,roundValue:M}=l,j=c(()=>parseInt(e.thumbSize,10)),$=c(()=>parseInt(e.tickSize,10)),U=c(()=>parseInt(e.trackSize,10)),V=c(()=>(E.value-_.value)/B.value),f=c(()=>e.error||k.isDisabled.value?void 0:e.thumbColor??e.color),u=c(()=>e.error||k.isDisabled.value?void 0:e.thumbColor),T=c(()=>e.error||k.isDisabled.value?void 0:e.trackColor??e.color),t=c(()=>e.error||k.isDisabled.value?void 0:e.trackFillColor??e.color),i=ke(!1),v=ke(0),p=J(),a=J();function o(r){const x=p.value?.$el;if(!x)return;const H=e.direction==="vertical",ie=H?"top":"left",be=H?"height":"width",ge=H?"clientY":"clientX",{[ie]:ye,[be]:He}=x.getBoundingClientRect(),Ge=Vt(r,ge);let we=Se((Ge-ye-v.value)/He)||0;return(H?s.value:s.value!==S.value)&&(we=1-we),M(_.value+we*(E.value-_.value))}const N=r=>{const x=o(r);x!=null&&m({value:x}),i.value=!1,v.value=0},D=r=>{const x=o(r);a.value=y(r),a.value&&(i.value=!0,a.value.contains(r.target)?v.value=Ce(r,a.value,e.direction):(v.value=0,x!=null&&b({value:x})),x!=null&&d({value:x}),Ye(()=>a.value?.focus()))},z={passive:!0,capture:!0};function A(r){const x=o(r);x!=null&&b({value:x})}function I(r){r.stopPropagation(),r.preventDefault(),N(r),window.removeEventListener("mousemove",A,z),window.removeEventListener("mouseup",I)}function Z(r){N(r),window.removeEventListener("touchmove",A,z),r.target?.removeEventListener("touchend",Z)}function ae(r){D(r),window.addEventListener("touchmove",A,z),r.target?.addEventListener("touchend",Z,{passive:!1})}function ue(r){r.button===0&&(r.preventDefault(),D(r),window.addEventListener("mousemove",A,z),window.addEventListener("mouseup",I,{passive:!1}))}We(()=>{window.removeEventListener("touchmove",A),window.removeEventListener("mousemove",A),window.removeEventListener("mouseup",I)});const K=r=>{const x=(r-_.value)/(E.value-_.value)*100;return Se(isNaN(x)?0:x,0,100)},me=G(()=>e.showTicks),pe=c(()=>me.value?e.ticks?Array.isArray(e.ticks)?e.ticks.map(r=>({value:r,position:K(r),label:r.toString()})):Object.keys(e.ticks).map(r=>({value:parseFloat(r),position:K(parseFloat(r)),label:e.ticks[r]})):V.value!==1/0?vt(V.value+1).map(r=>{const x=_.value+r*B.value;return{value:x,position:K(x)}}):[]:[]),xe=c(()=>pe.value.some(({label:r})=>!!r)),fe={activeThumbRef:a,color:G(()=>e.color),decimals:P,disabled:k.isDisabled,direction:G(()=>e.direction),elevation:G(()=>e.elevation),hasLabels:xe,isReversed:O,indexFromEnd:s,min:_,max:E,mousePressed:i,noKeyboard:G(()=>e.noKeyboard),numTicks:V,onSliderMousedown:ue,onSliderTouchstart:ae,parsedTicks:pe,parseMouseMove:o,position:K,readonly:k.isReadonly,rounded:G(()=>e.rounded),roundValue:M,showTicks:me,startOffset:v,step:B,thumbSize:j,thumbColor:f,thumbLabelColor:u,thumbLabel:G(()=>e.thumbLabel),ticks:G(()=>e.ticks),tickSize:$,trackColor:T,trackContainerRef:p,trackFillColor:t,trackSize:U,vertical:g};return Xe(Be,fe),fe},$t=_e({focused:Boolean,max:{type:Number,required:!0},min:{type:Number,required:!0},modelValue:{type:Number,required:!0},position:{type:Number,required:!0},ripple:{type:[Boolean,Object],default:!0},name:String,noKeyboard:Boolean,...qe()},"VSliderThumb"),Je=Te()({name:"VSliderThumb",directives:{vRipple:Ee},props:$t(),emits:{"update:modelValue":e=>!0},setup(e,{slots:l,emit:d}){const b=Ue(Be),{isRtl:m,rtlClasses:y}=$e();if(!b)throw new Error("[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider");const{min:k,max:S,thumbColor:O,thumbLabelColor:g,step:s,disabled:_,thumbSize:E,thumbLabel:B,direction:P,isReversed:M,vertical:j,readonly:$,elevation:U,mousePressed:V,decimals:f,indexFromEnd:u}=b,T=ke(!1),t=ke(!1),i=c(()=>_.value?void 0:U.value),{elevationClasses:v}=bt(i),{textColorClasses:p,textColorStyles:a}=mt(O),{backgroundColorClasses:o,backgroundColorStyles:N}=Ve(g),{pageup:D,pagedown:z,end:A,home:I,left:Z,right:ae,down:ue,up:K}=pt,me=[D,z,A,I,Z,ae,ue,K],pe=c(()=>s.value?[1,2,3]:[1,5,10]);function xe(r,x){if(e.noKeyboard||_.value||!me.includes(r.key))return;r.preventDefault();const H=s.value||.1,ie=(S.value-k.value)/H;if([Z,ae,ue,K].includes(r.key)){const ge=(j.value?[m.value?Z:ae,M.value?ue:K]:u.value!==m.value?[Z,K]:[ae,K]).includes(r.key)?1:-1,ye=r.shiftKey?2:r.ctrlKey?1:0;ge===-1&&x===S.value&&!ye&&!Number.isInteger(ie)?x=x-ie%1*H:x=x+ge*H*pe.value[ye]}else if(r.key===I)x=k.value;else if(r.key===A)x=S.value;else{const be=r.key===z?1:-1;x=x-be*H*(ie>100?ie/10:10)}return Math.max(e.min,Math.min(e.max,x))}function fe(r){const x=xe(r,e.modelValue);x!=null&&(t.value=!1,d("update:modelValue",x))}return Ie(()=>e.focused,r=>{r&&(t.value=!1)}),Oe(()=>{const r=te(u.value?100-e.position:e.position,"%"),x=B.value==="always"||B.value===!0&&e.focused||B.value==="hover"&&(T.value||e.focused&&!t.value);return n("div",{class:q(["v-slider-thumb",{"v-slider-thumb--focused":e.focused,"v-slider-thumb--pressed":e.focused&&V.value},e.class,y.value]),style:de([{"--v-slider-thumb-position":r,"--v-slider-thumb-size":te(E.value)},e.style]),role:"slider",tabindex:_.value?-1:0,"aria-label":e.name,"aria-valuemin":k.value,"aria-valuemax":S.value,"aria-valuenow":e.modelValue,"aria-readonly":!!$.value,"aria-orientation":P.value,onKeydown:$.value?void 0:fe,onMouseenter:()=>{T.value=!0},onMouseleave:()=>{T.value=!1,t.value=!0}},[n("div",{class:q(["v-slider-thumb__surface",p.value,v.value]),style:de(a.value)},null),Ne(n("div",{class:q(["v-slider-thumb__ripple",p.value]),style:de(a.value)},null),[[Ee,e.ripple,null,{circle:!0,center:!0}]]),h(ft,{origin:"bottom center"},{default:()=>[Ne(n("div",{class:"v-slider-thumb__label-container"},[n("div",{class:q(["v-slider-thumb__label",o.value]),style:de(N.value)},[n("div",null,[l["thumb-label"]?.({modelValue:e.modelValue})??e.modelValue.toFixed(s.value?f.value:1)]),n("div",{class:"v-slider-thumb__label-wedge"},null)])]),[[Ze,x]])]})])}),{}}}),Tt=_e({start:{type:Number,required:!0},stop:{type:Number,required:!0},...qe()},"VSliderTrack"),Ot=Te()({name:"VSliderTrack",props:Tt(),emits:{},setup(e,{slots:l}){const d=Ue(Be);if(!d)throw new Error("[Vuetify] v-slider-track must be inside v-slider or v-range-slider");const{color:b,parsedTicks:m,rounded:y,showTicks:k,tickSize:S,trackColor:O,trackFillColor:g,trackSize:s,vertical:_,min:E,max:B,indexFromEnd:P}=d,{roundedClasses:M}=gt(y),{backgroundColorClasses:j,backgroundColorStyles:$}=Ve(g),{backgroundColorClasses:U,backgroundColorStyles:V}=Ve(O),f=c(()=>`inset-${_.value?"block":"inline"}-${P.value?"end":"start"}`),u=c(()=>_.value?"height":"width"),T=c(()=>({[f.value]:"0%",[u.value]:"100%"})),t=c(()=>e.stop-e.start),i=c(()=>({[f.value]:te(e.start,"%"),[u.value]:te(t.value,"%")})),v=c(()=>k.value?(_.value?m.value.slice().reverse():m.value).map((a,o)=>{const N=a.value!==E.value&&a.value!==B.value?te(a.position,"%"):void 0;return n("div",{key:a.value,class:q(["v-slider-track__tick",{"v-slider-track__tick--filled":a.position>=e.start&&a.position<=e.stop,"v-slider-track__tick--first":a.value===E.value,"v-slider-track__tick--last":a.value===B.value}]),style:{[f.value]:N}},[(a.label||l["tick-label"])&&n("div",{class:"v-slider-track__tick-label"},[l["tick-label"]?.({tick:a,index:o})??a.label])])}):[]);return Oe(()=>n("div",{class:q(["v-slider-track",M.value,e.class]),style:de([{"--v-slider-track-size":te(s.value),"--v-slider-tick-size":te(S.value)},e.style])},[n("div",{class:q(["v-slider-track__background",U.value,{"v-slider-track__background--opacity":!!b.value||!g.value}]),style:{...T.value,...V.value}},null),n("div",{class:q(["v-slider-track__fill",j.value]),style:{...i.value,...$.value}},null),k.value&&n("div",{class:q(["v-slider-track__ticks",{"v-slider-track__ticks--always-show":k.value==="always"}])},[v.value])])),{}}}),Rt=_e({...st(),...ot(),...Ct(),strict:Boolean,modelValue:{type:Array,default:()=>[0,0]}},"VRangeSlider"),Lt=Te()({name:"VRangeSlider",inheritAttrs:!1,props:Rt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,end:e=>!0,start:e=>!0},setup(e,{slots:l,emit:d,attrs:b}){const m=J(),y=J(),k=J(),{rtlClasses:S}=$e();function O(a){if(!m.value||!y.value)return;const o=Ce(a,m.value.$el,e.direction),N=Ce(a,y.value.$el,e.direction),D=Math.abs(o),z=Math.abs(N);return D<z||D===z&&o<0?m.value.$el:y.value.$el}const g=Ft(e),s=yt(e,"modelValue",void 0,a=>a?.length?a.map(o=>g.roundValue(o)):[0,0]),{activeThumbRef:_,hasLabels:E,max:B,min:P,mousePressed:M,onSliderMousedown:j,onSliderTouchstart:$,position:U,trackContainerRef:V,disabled:f,readonly:u}=Mt({props:e,steps:g,onSliderStart:()=>{if(f.value||u.value){_.value?.blur();return}d("start",s.value)},onSliderEnd:({value:a})=>{if(f.value||u.value)_.value?.blur();else{const o=_.value===m.value?.$el?[a,s.value[1]]:[s.value[0],a];!e.strict&&o[0]<o[1]&&(s.value=o)}d("end",s.value)},onSliderMove:({value:a})=>{const[o,N]=s.value;if(f.value||u.value){_.value?.blur();return}!e.strict&&o===N&&o!==P.value&&(_.value=a>o?y.value?.$el:m.value?.$el,_.value?.focus()),_.value===m.value?.$el?s.value=[Math.min(a,N),N]:s.value=[o,Math.max(o,a)]},getActiveThumb:O}),{isFocused:T,focus:t,blur:i}=nt(e),v=c(()=>U(s.value[0])),p=c(()=>U(s.value[1]));return Oe(()=>{const a=ze.filterProps(e),[o,N]=ht(b),D=!!(e.label||l.label||l.prepend);return h(ze,ve({class:["v-slider","v-range-slider",{"v-slider--has-labels":!!l["tick-label"]||E.value,"v-slider--focused":T.value,"v-slider--pressed":M.value,"v-slider--disabled":f.value},S.value,e.class],style:e.style,ref:k},a,o,{focused:T.value}),{...l,prepend:D?z=>n(Q,null,[l.label?.(z)??(e.label?h(rt,{class:"v-slider__label",text:e.label},null):void 0),l.prepend?.(z)]):void 0,default:({id:z,messagesId:A})=>n("div",{class:"v-slider__container",onMousedown:u.value?void 0:j,onTouchstartPassive:u.value?void 0:$},[n("input",{id:`${z.value}_start`,name:e.name||z.value,disabled:f.value,readonly:u.value,tabindex:"-1",value:s.value[0]},null),n("input",{id:`${z.value}_stop`,name:e.name||z.value,disabled:f.value,readonly:u.value,tabindex:"-1",value:s.value[1]},null),h(Ot,{ref:V,start:v.value,stop:p.value},{"tick-label":l["tick-label"]}),h(Je,ve({ref:m,"aria-describedby":A.value,focused:T&&_.value===m.value?.$el,modelValue:s.value[0],"onUpdate:modelValue":I=>s.value=[I,s.value[1]],onFocus:I=>{t(),_.value=m.value?.$el,B.value!==P.value&&s.value[0]===s.value[1]&&s.value[1]===P.value&&I.relatedTarget!==y.value?.$el&&(m.value?.$el.blur(),y.value?.$el.focus())},onBlur:()=>{i(),_.value=void 0},min:P.value,max:s.value[1],position:v.value,ripple:e.ripple},N),{"thumb-label":l["thumb-label"]}),h(Je,ve({ref:y,"aria-describedby":A.value,focused:T&&_.value===y.value?.$el,modelValue:s.value[1],"onUpdate:modelValue":I=>s.value=[s.value[0],I],onFocus:I=>{t(),_.value=y.value?.$el,B.value!==P.value&&s.value[0]===s.value[1]&&s.value[0]===B.value&&I.relatedTarget!==m.value?.$el&&(y.value?.$el.blur(),m.value?.$el.focus())},onBlur:()=>{i(),_.value=void 0},min:s.value[0],max:B.value,position:p.value,ripple:e.ripple},N),{"thumb-label":l["thumb-label"]})])})}),kt({focus:()=>m.value?.$el.focus()},k)}}),Bt={class:"filter-panel"},Nt={class:"panel-head"},zt={class:"filter-stack"},Pt={class:"billing-field"},Et={class:"billing-head"},jt={class:"billing-value"},Jt=se({__name:"ModelsFilterBar",props:et({vendorOptions:{},endpointOptions:{},featureOptions:{},typeOptions:{},billingBounds:{},activeFilterCount:{}},{searchQuery:{required:!0},searchQueryModifiers:{},vendorFilter:{required:!0},vendorFilterModifiers:{},endpointFilter:{required:!0},endpointFilterModifiers:{},featureFilter:{required:!0},featureFilterModifiers:{},typeFilter:{required:!0},typeFilterModifiers:{},billingRange:{required:!0},billingRangeModifiers:{}}),emits:["update:searchQuery","update:vendorFilter","update:endpointFilter","update:featureFilter","update:typeFilter","update:billingRange"],setup(e){function l(O){return`${Math.round(O)}x`}const d=ne(e,"searchQuery"),b=ne(e,"vendorFilter"),m=ne(e,"endpointFilter"),y=ne(e,"featureFilter"),k=ne(e,"typeFilter"),S=ne(e,"billingRange");return(O,g)=>(w(),F("div",Bt,[n("div",Nt,[g[6]||(g[6]=n("div",null,[n("div",{class:"panel-title"},"Filters")],-1)),h(ce,{size:"x-small",variant:"tonal"},{default:L(()=>[Y(R(e.activeFilterCount)+" active ",1)]),_:1})]),n("div",zt,[h(ut,{modelValue:d.value,"onUpdate:modelValue":g[0]||(g[0]=s=>d.value=s),placeholder:"Search model id or name","prepend-inner-icon":"mdi-magnify",clearable:""},null,8,["modelValue"]),h(he,{modelValue:b.value,"onUpdate:modelValue":g[1]||(g[1]=s=>b.value=s),items:e.vendorOptions,placeholder:"All vendors",clearable:"",label:"Vendor"},null,8,["modelValue","items"]),h(he,{modelValue:m.value,"onUpdate:modelValue":g[2]||(g[2]=s=>m.value=s),items:e.endpointOptions,placeholder:"All endpoints",clearable:"",label:"Endpoint"},null,8,["modelValue","items"]),h(he,{modelValue:y.value,"onUpdate:modelValue":g[3]||(g[3]=s=>y.value=s),items:e.featureOptions,placeholder:"All features",clearable:"",label:"Capability"},null,8,["modelValue","items"]),h(he,{modelValue:k.value,"onUpdate:modelValue":g[4]||(g[4]=s=>k.value=s),items:e.typeOptions,placeholder:"All types",clearable:"",label:"Type"},null,8,["modelValue","items"]),n("div",Pt,[n("div",Et,[g[7]||(g[7]=n("span",{class:"billing-label"},"Billing Rate",-1)),n("span",jt,R(l(S.value[0]))+" - "+R(l(S.value[1])),1)]),h(Lt,{modelValue:S.value,"onUpdate:modelValue":g[5]||(g[5]=s=>S.value=s),min:e.billingBounds.min,max:e.billingBounds.max,step:1,color:"primary",strict:"","hide-details":""},null,8,["modelValue","min","max"])])])]))}}),At=re(Jt,[["__scopeId","data-v-ac75fbaf"]]),Ut={key:0},It={key:0,class:"json-viewer-toolbar-copy"},qt=se({__name:"JsonViewerSurface",props:{data:{},copyMessage:{default:"JSON copied"},copyLabel:{default:"Copy JSON"},deep:{default:5},fillHeight:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0}},setup(e){const l=e,{copy:d}=Le(),b=tt(),m=c(()=>!!b.header),y=c(()=>{try{return JSON.stringify(l.data,null,2)}catch{return String(l.data)}});function k(){d(y.value,l.copyMessage)}return(S,O)=>(w(),X(Me,{class:"json-viewer-shell",color:"surface",border:""},{default:L(()=>[e.showToolbar?(w(),F("div",Ut,[n("div",{class:q(["json-viewer-toolbar",{"json-viewer-toolbar-end":!m.value}])},[m.value?(w(),F("div",It,[lt(S.$slots,"header",{},void 0,!0)])):W("",!0),h(le,{size:"small",variant:"outlined",onClick:k},{default:L(()=>[h(Re,{start:"",size:"x-small",icon:"mdi-content-copy"}),Y(" "+R(e.copyLabel),1)]),_:1})],2)])):W("",!0),n("div",{class:q(["json-viewer-frame",{"json-viewer-frame-fill":e.fillHeight}])},[h(C(St),{data:e.data,deep:e.deep,"show-line-number":!0,"show-icon":!0,"show-length":!0,"collapsed-on-click-brackets":!0},null,8,["data","deep"])],2)]),_:3}))}}),Qe=re(qt,[["__scopeId","data-v-3a3ce538"]]),Ae={chat:["/chat/completions"],completion:["/chat/completions"],embeddings:["/v1/embeddings"]};function Fe(e){const l=e.supported_endpoints;if(l)return l;const d=e.capabilities?.type;return d&&d in Ae?Ae[d]:[]}const Dt={class:"card-header"},Kt={class:"header-top"},Qt={class:"header-copy"},Ht={class:"model-id"},Gt={key:0,class:"display-name"},Wt={class:"header-actions"},Yt={class:"billing-note-value"},Xt={class:"billing-note-number"},Zt={key:0,class:"chip-cluster chip-cluster-header"},el={class:"meta-chip-label"},tl={class:"meta-chip-value"},ll={key:1,class:"primary-metrics"},al={class:"primary-metric-head"},il={class:"primary-metric-label"},nl={class:"primary-metric-value"},ol={class:"card-body"},sl={key:0,class:"card-section"},rl={class:"chip-cluster"},ul={class:"vision-tooltip"},dl={class:"vision-tooltip-key"},cl={class:"vision-tooltip-value font-mono"},vl={key:1,class:"card-section"},ml={class:"chip-cluster"},pl={key:2,class:"card-section"},fl={class:"metadata-list"},bl={class:"metadata-label"},gl={class:"dialog-header"},yl={class:"dialog-title-wrap"},hl={class:"dialog-title"},kl={class:"dialog-actions"},_l={class:"dialog-body"},xl=se({__name:"ModelCard",props:{model:{},vendorColor:{type:Function},getLimits:{type:Function},getPrimaryLimits:{type:Function},getThinkingBudget:{type:Function},getCapabilities:{type:Function},getVision:{type:Function}},setup(e){const l=e,d=J(!1),{copy:b}=Le(),m=c(()=>l.getCapabilities(l.model)),y=c(()=>l.getPrimaryLimits(l.model)),k=c(()=>l.getLimits(l.model)),S=c(()=>l.getThinkingBudget(l.model)),O=c(()=>l.getVision(l.model)),g=c(()=>Fe(l.model)),s=c(()=>k.value.find(([V])=>V==="Non-stream Output")?.[1]??null),_=c(()=>l.model.billing?.multiplier!==void 0?`${l.model.billing.multiplier}x`:null),E=c(()=>{if(!l.model.name)return null;const V=String(l.model.name);return V===String(l.model.id)?null:V}),B=c(()=>JSON.stringify(l.model,null,2)),P=c(()=>[l.model.vendor?{key:"vendor",label:"Vendor",value:String(l.model.vendor),color:l.vendorColor(String(l.model.vendor)),variant:"tonal"}:null,l.model.capabilities?.type?{key:"type",label:"Type",value:String(l.model.capabilities.type),variant:"outlined"}:null,l.model.billing?.is_premium?{key:"premium",label:"Tier",value:"Premium",color:"warning",variant:"tonal"}:null,l.model.preview?{key:"preview",label:"Stage",value:"Preview",color:"secondary",variant:"tonal"}:null].filter(V=>V!==null)),M=c(()=>[l.model.capabilities?.family?{label:"Family",value:String(l.model.capabilities.family),tone:"default"}:null,l.model.model_picker_category?{label:"Category",value:String(l.model.model_picker_category),tone:"default"}:null,S.value?{label:"Thinking Budget",value:S.value,tone:"numeric"}:null,s.value?{label:"Non-stream Output",value:s.value,tone:"numeric"}:null,l.model.capabilities?.tokenizer?{label:"Tokenizer",value:String(l.model.capabilities.tokenizer),tone:"technical"}:null].filter(V=>V!==null)),j=c(()=>String(l.model.id));function $(V){return V==="inputs"?"primary":V==="context"?"info":V==="prompt"?"primary":"success"}function U(){b(B.value,"Model JSON copied")}return(V,f)=>(w(),F(Q,null,[h(Me,{class:"model-card",color:"surface",border:""},{default:L(()=>[n("div",Dt,[n("div",Kt,[n("div",Qt,[n("div",Ht,R(e.model.id),1),E.value?(w(),F("div",Gt,R(E.value),1)):W("",!0)]),n("div",Wt,[h(le,{size:"small",variant:"outlined",class:"json-button",onClick:f[0]||(f[0]=u=>d.value=!0)},{default:L(()=>[...f[3]||(f[3]=[Y(" JSON ",-1)])]),_:1}),_.value?(w(),X(je,{key:0,location:"top"},{activator:L(({props:u})=>[n("div",ve(u,{class:"billing-note"}),[n("span",Yt,[n("span",Xt,R(l.model.billing?.multiplier),1),f[4]||(f[4]=n("span",{class:"billing-note-suffix"},"x",-1))])],16)]),default:L(()=>[f[5]||(f[5]=n("div",{class:"billing-tooltip-copy"},"Billing multiplier (x base rate)",-1))]),_:1})):W("",!0)])]),P.value.length>0?(w(),F("div",Zt,[(w(!0),F(Q,null,ee(P.value,u=>(w(),X(ce,{key:u.key,color:u.color,size:"x-small",variant:u.variant,class:q(["meta-chip",{"meta-chip-accent":u.variant==="tonal"}])},{default:L(()=>[n("span",el,R(u.label),1),n("span",tl,R(u.value),1)]),_:2},1032,["color","variant","class"]))),128))])):W("",!0),y.value.length>0?(w(),F("div",ll,[(w(!0),F(Q,null,ee(y.value,u=>(w(),F("div",{key:u.key,class:"primary-metric"},[n("div",al,[n("span",il,R(u.label),1),n("span",nl,R(u.value),1)]),h(_t,{"model-value":u.progress,color:$(u.key),"bg-color":"surface-variant",height:"7",rounded:""},null,8,["model-value","color"])]))),128))])):W("",!0)]),n("div",ol,[m.value.length>0?(w(),F("div",sl,[f[6]||(f[6]=n("div",{class:"section-title"},"Capabilities",-1)),n("div",rl,[(w(!0),F(Q,null,ee(m.value,u=>(w(),F(Q,{key:u},[u==="vision"&&O.value?(w(),X(je,{key:0,location:"top","open-delay":"80"},{activator:L(({props:T})=>[h(ce,ve({ref_for:!0},T,{color:"primary",size:"small",variant:"tonal",class:"capability-chip"}),{default:L(()=>[Y(R(u.replaceAll("_"," ")),1)]),_:2},1040)]),default:L(()=>[n("div",ul,[(w(!0),F(Q,null,ee(O.value,([T,t])=>(w(),F("div",{key:T,class:"vision-tooltip-row"},[n("span",dl,R(T),1),n("span",cl,R(t),1)]))),128))])]),_:2},1024)):(w(),X(ce,{key:1,color:"primary",size:"small",variant:"tonal",class:"capability-chip"},{default:L(()=>[Y(R(u.replaceAll("_"," ")),1)]),_:2},1024))],64))),128))])])):W("",!0),g.value.length>0?(w(),F("div",vl,[f[7]||(f[7]=n("div",{class:"section-title"},"Endpoints",-1)),n("div",ml,[(w(!0),F(Q,null,ee(g.value,u=>(w(),X(ce,{key:u,variant:"outlined",size:"small",class:"endpoint-chip"},{default:L(()=>[Y(R(u),1)]),_:2},1024))),128))])])):W("",!0),M.value.length>0?(w(),F("div",pl,[f[8]||(f[8]=n("div",{class:"section-title"},"Metadata",-1)),n("div",fl,[(w(!0),F(Q,null,ee(M.value,u=>(w(),F("div",{key:u.label,class:"metadata-row"},[n("span",bl,R(u.label),1),n("span",{class:q(["metadata-value",{"metadata-value-technical":u.tone==="technical","metadata-value-numeric":u.tone==="numeric"}])},R(u.value),3)]))),128))])])):W("",!0)])]),_:1}),h(De,{modelValue:d.value,"onUpdate:modelValue":f[2]||(f[2]=u=>d.value=u),"max-width":"1100"},{default:L(()=>[h(Ke,{class:"json-dialog"},{default:L(()=>[n("div",gl,[n("div",yl,[f[9]||(f[9]=n("div",{class:"dialog-eyebrow"},"Model JSON",-1)),n("div",hl,R(j.value),1)]),n("div",kl,[h(le,{size:"small",variant:"outlined",onClick:U},{default:L(()=>[...f[10]||(f[10]=[Y(" Copy JSON ",-1)])]),_:1}),h(le,{icon:"",variant:"text","aria-label":"Close",onClick:f[1]||(f[1]=u=>d.value=!1)},{default:L(()=>[h(Re,{icon:"mdi-close"})]),_:1})])]),n("div",_l,[h(Qe,{data:e.model,"fill-height":"","show-toolbar":!1,class:"dialog-json-panel"},null,8,["data"])])]),_:1})]),_:1},8,["modelValue"])],64))}}),wl=re(xl,[["__scopeId","data-v-cd20a724"]]),Sl={class:"models-grid"},Vl=se({__name:"ModelsGrid",props:{filteredModels:{},vendorColor:{type:Function},getLimits:{type:Function},getPrimaryLimits:{type:Function},getThinkingBudget:{type:Function},getCapabilities:{type:Function},getVision:{type:Function}},setup(e){return(l,d)=>(w(),F("div",Sl,[(w(!0),F(Q,null,ee(e.filteredModels,b=>(w(),X(wl,{key:b.id,model:b,"vendor-color":e.vendorColor,"get-limits":e.getLimits,"get-primary-limits":e.getPrimaryLimits,"get-thinking-budget":e.getThinkingBudget,"get-capabilities":e.getCapabilities,"get-vision":e.getVision},null,8,["model","vendor-color","get-limits","get-primary-limits","get-thinking-budget","get-capabilities","get-vision"]))),128))]))}}),Cl=re(Vl,[["__scopeId","data-v-0b77a8cd"]]),Fl={class:"toolbar-shell"},Ml={class:"toolbar-copy"},$l={class:"toolbar-meta text-caption text-medium-emphasis"},Tl=se({__name:"ModelsToolbar",props:{filteredCount:{},totalCount:{},vendorCount:{},endpointCount:{}},emits:["openRawJson"],setup(e){return(l,d)=>(w(),F("div",Fl,[n("div",Ml,[d[1]||(d[1]=n("div",{class:"toolbar-title"},"Models",-1)),n("div",$l,R(e.filteredCount)+" visible / "+R(e.totalCount)+" total · "+R(e.vendorCount)+" vendors · "+R(e.endpointCount)+" endpoints ",1)]),h(le,{variant:"outlined",class:"raw-json-button",onClick:d[0]||(d[0]=b=>l.$emit("openRawJson"))},{default:L(()=>[...d[2]||(d[2]=[Y(" Raw JSON ",-1)])]),_:1})]))}}),Ol=re(Tl,[["__scopeId","data-v-39dd0e99"]]);function Rl(){const e=J([]),l=J(!0),d=J(""),b=J(null),m=J(null),y=J(null),k=J(null),S=J([0,0]),O=J(null);at(async()=>{try{const t=await xt.fetchModels();O.value=t,e.value=t.data??[]}catch{}finally{l.value=!1}});const g=c(()=>[...new Set(e.value.map(t=>t.vendor).filter(Boolean))].sort()),s=c(()=>{const t=new Set;for(const i of e.value)for(const v of Fe(i))t.add(v);return[...t].sort()}),_=c(()=>{const t=new Set;for(const i of e.value){const v=i.capabilities?.supports;if(v)for(const[p,a]of Object.entries(v))a===!0&&t.add(p)}return[...t].sort().map(i=>({title:i.replaceAll("_"," "),value:i}))}),E=c(()=>[...new Set(e.value.map(t=>t.capabilities?.type).filter(t=>typeof t=="string"&&t.length>0))].sort()),B=c(()=>{const t=e.value.map(i=>i.billing?.multiplier).filter(i=>typeof i=="number");return t.length===0?{min:0,max:0}:{min:Math.floor(Math.min(...t)),max:Math.ceil(Math.max(...t))}});Ie(B,t=>{const[i,v]=S.value;if(i===0&&v===0&&t.max>0){S.value=[t.min,t.max];return}const a=Math.max(t.min,Math.min(i,t.max)),o=Math.max(a,Math.max(t.min,Math.min(v,t.max)));(a!==i||o!==v)&&(S.value=[a,o])},{immediate:!0});const P=c(()=>{let t=e.value;b.value&&(t=t.filter(p=>p.vendor===b.value)),m.value&&(t=t.filter(p=>Fe(p).includes(m.value))),y.value&&(t=t.filter(p=>p.capabilities?.supports?.[y.value]===!0)),k.value&&(t=t.filter(p=>p.capabilities?.type===k.value));const[i,v]=S.value;if(t=t.filter(p=>{const a=typeof p.billing?.multiplier=="number"?p.billing.multiplier:0;return a>=i&&a<=v}),d.value){const p=d.value.toLowerCase();t=t.filter(a=>a.id.toLowerCase().includes(p)||a.name?.toLowerCase().includes(p))}return t}),M=c(()=>{let t=0,i=0,v=0,p=0;for(const a of e.value){const o=a.capabilities?.limits,N=typeof o?.max_context_window_tokens=="number"?o.max_context_window_tokens:0,D=typeof o?.max_prompt_tokens=="number"?o.max_prompt_tokens:0,z=typeof o?.max_output_tokens=="number"?o.max_output_tokens:0,A=typeof o?.max_inputs=="number"?o.max_inputs:0;N>t&&(t=N),D>i&&(i=D),z>v&&(v=z),A>p&&(p=A)}return{context:t,prompt:i,output:v,inputs:p}});function j(t){if(!t)return"secondary";const i=t.toLowerCase();return i.includes("anthropic")?"purple":i.includes("openai")||i.includes("azure")?"info":i.includes("google")?"success":"pink"}function $(t){return typeof t!="number"||!t?"-":t>=1e6?`${(t/1e6).toFixed(t%1e6===0?0:1)}M`:t>=1e3?`${(t/1e3).toFixed(0)}K`:String(t)}function U(t){const i=t.capabilities?.supports;return i?Object.entries(i).filter(([,v])=>v===!0).map(([v])=>v):[]}function V(t){const i=t.capabilities?.limits,v=t.capabilities?.type,p=typeof i?.max_context_window_tokens=="number"?i.max_context_window_tokens:0,a=typeof i?.max_prompt_tokens=="number"?i.max_prompt_tokens:0,o=typeof i?.max_output_tokens=="number"?i.max_output_tokens:0,N=typeof i?.max_inputs=="number"?i.max_inputs:0;return v==="embeddings"?N<=0?[]:[{key:"inputs",label:"Max Inputs",value:$(N),progress:M.value.inputs>0?N/M.value.inputs*100:0}]:[{key:"context",label:"Context Window",value:p>0?$(p):"-",progress:M.value.context>0?p/M.value.context*100:0},{key:"prompt",label:"Max Prompt",value:a>0?$(a):"-",progress:M.value.prompt>0?a/M.value.prompt*100:0},{key:"output",label:"Max Output",value:o>0?$(o):"-",progress:M.value.output>0?o/M.value.output*100:0}]}function f(t){const i=t.capabilities?.limits;if(!i)return[];const v=[];return i.max_inputs&&v.push(["Max Inputs",$(i.max_inputs)]),i.max_context_window_tokens&&v.push(["Context Window",$(i.max_context_window_tokens)]),i.max_prompt_tokens&&v.push(["Max Prompt",$(i.max_prompt_tokens)]),i.max_output_tokens&&v.push(["Max Output",$(i.max_output_tokens)]),i.max_non_streaming_output_tokens&&v.push(["Non-stream Output",$(i.max_non_streaming_output_tokens)]),v}function u(t){const i=t.capabilities?.supports;return i?.max_thinking_budget?`${$(i.min_thinking_budget)} - ${$(i.max_thinking_budget)}`:null}function T(t){const i=t.capabilities?.limits?.vision;if(!i)return null;const v=[];return i.max_prompt_images&&v.push(["Max images",String(i.max_prompt_images)]),i.max_prompt_image_size&&v.push(["Max size",$(i.max_prompt_image_size)]),i.supported_media_types&&v.push(["Formats",i.supported_media_types.join(", ")]),v.length>0?v:null}return{billingBounds:B,billingRange:S,endpointFilter:m,endpointOptions:s,featureFilter:y,featureOptions:_,filteredModels:P,getCapabilities:U,getLimits:f,getPrimaryLimits:V,getThinkingBudget:u,getVision:T,loading:l,models:e,rawApiResponse:O,searchQuery:d,typeFilter:k,typeOptions:E,vendorColor:j,vendorFilter:b,vendorOptions:g}}const Ll={class:"models-page v-page-root"},Bl={class:"v-page-scroll"},Nl={class:"page-shell px-4 px-md-6 pt-4 pb-6"},zl={class:"results-column"},Pl={key:0,class:"state-shell"},El={key:1,class:"empty-shell"},jl={class:"models-json-header"},Jl={class:"models-json-actions"},Al={class:"models-json-body"},Ul=se({__name:"VModelsPage",setup(e){const{billingBounds:l,billingRange:d,endpointFilter:b,endpointOptions:m,featureFilter:y,featureOptions:k,filteredModels:S,getCapabilities:O,getLimits:g,getPrimaryLimits:s,getThinkingBudget:_,getVision:E,loading:B,rawApiResponse:P,searchQuery:M,typeFilter:j,typeOptions:$,vendorColor:U,vendorFilter:V,vendorOptions:f,models:u}=Rl(),T=J(!1),{copy:t}=Le(),i=c(()=>{let p=0;return M.value.trim()&&(p+=1),V.value&&(p+=1),b.value&&(p+=1),y.value&&(p+=1),j.value&&(p+=1),(d.value[0]>l.value.min||d.value[1]<l.value.max)&&(p+=1),p});function v(){t(JSON.stringify(P.value,null,2),"Models JSON copied")}return(p,a)=>(w(),F("div",Ll,[n("div",Bl,[n("section",Nl,[h(Ol,{"filtered-count":C(S).length,"total-count":C(u).length,"vendor-count":C(f).length,"endpoint-count":C(m).length,onOpenRawJson:a[0]||(a[0]=o=>T.value=!0)},null,8,["filtered-count","total-count","vendor-count","endpoint-count"]),h(Me,{class:"filter-shell",color:"surface",border:""},{default:L(()=>[h(At,{"search-query":C(M),"onUpdate:searchQuery":a[1]||(a[1]=o=>oe(M)?M.value=o:null),"vendor-filter":C(V),"onUpdate:vendorFilter":a[2]||(a[2]=o=>oe(V)?V.value=o:null),"endpoint-filter":C(b),"onUpdate:endpointFilter":a[3]||(a[3]=o=>oe(b)?b.value=o:null),"feature-filter":C(y),"onUpdate:featureFilter":a[4]||(a[4]=o=>oe(y)?y.value=o:null),"type-filter":C(j),"onUpdate:typeFilter":a[5]||(a[5]=o=>oe(j)?j.value=o:null),"billing-range":C(d),"onUpdate:billingRange":a[6]||(a[6]=o=>oe(d)?d.value=o:null),"vendor-options":C(f),"endpoint-options":C(m),"feature-options":C(k),"type-options":C($),"billing-bounds":C(l),"active-filter-count":i.value},null,8,["search-query","vendor-filter","endpoint-filter","feature-filter","type-filter","billing-range","vendor-options","endpoint-options","feature-options","type-options","billing-bounds","active-filter-count"])]),_:1}),n("section",zl,[C(B)?(w(),F("div",Pl,[h(wt,{indeterminate:"",color:"primary"})])):C(S).length===0?(w(),F("div",El,[...a[9]||(a[9]=[n("div",{class:"empty-title"},"No models match the current filters.",-1),n("div",{class:"text-caption text-medium-emphasis"}," Broaden the search or clear one of the vendor, endpoint, type, capability, or billing-rate filters. ",-1)])])):(w(),X(Cl,{key:2,"filtered-models":C(S),"vendor-color":C(U),"get-limits":C(g),"get-primary-limits":C(s),"get-thinking-budget":C(_),"get-capabilities":C(O),"get-vision":C(E)},null,8,["filtered-models","vendor-color","get-limits","get-primary-limits","get-thinking-budget","get-capabilities","get-vision"]))])])]),h(De,{modelValue:T.value,"onUpdate:modelValue":a[8]||(a[8]=o=>T.value=o),"max-width":"1180"},{default:L(()=>[h(Ke,{class:"models-json-dialog"},{default:L(()=>[n("div",jl,[a[11]||(a[11]=n("div",{class:"models-json-title-wrap"},[n("div",{class:"models-json-eyebrow"},"Full Models Raw JSON"),n("div",{class:"models-json-title"},"Models API response")],-1)),n("div",Jl,[h(le,{size:"small",variant:"outlined",onClick:v},{default:L(()=>[...a[10]||(a[10]=[Y(" Copy JSON ",-1)])]),_:1}),h(le,{icon:"",variant:"text","aria-label":"Close",onClick:a[7]||(a[7]=o=>T.value=!1)},{default:L(()=>[h(Re,{icon:"mdi-close"})]),_:1})])]),n("div",Al,[h(Qe,{data:C(P),"fill-height":"","show-toolbar":!1,class:"models-json-panel"},null,8,["data"])])]),_:1})]),_:1},8,["modelValue"])]))}}),Wl=re(Ul,[["__scopeId","data-v-6162ea04"]]);export{Wl as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer vuetify-components{.v-slider .v-slider__container input{cursor:default;padding:0;width:100%;display:none}.v-slider>.v-input__append,.v-slider>.v-input__prepend{padding:0}.v-slider__container{position:relative;min-height:inherit;width:100%;height:100%;display:flex;justify-content:center;align-items:center;cursor:pointer}.v-input--disabled .v-slider__container{opacity:var(--v-disabled-opacity)}.v-input--error:not(.v-input--disabled) .v-slider__container{color:rgb(var(--v-theme-error))}.v-slider.v-input--horizontal{align-items:center}.v-slider.v-input--horizontal>.v-input__prepend{margin-inline-end:8px}.v-slider.v-input--horizontal>.v-input__append{margin-inline-start:8px}.v-slider.v-input--horizontal>.v-input__control{margin-inline:8px 8px;min-height:32px;display:flex;align-items:center}.v-slider.v-input--vertical{justify-content:center;margin-top:12px;margin-bottom:12px}.v-slider.v-input--vertical>.v-input__control{min-height:300px}.v-slider.v-input--disabled{pointer-events:none}.v-slider--has-labels>.v-input__control{margin-bottom:4px}.v-slider__label{margin-inline-end:12px}}@layer vuetify-components{.v-slider-thumb{touch-action:none;color:rgb(var(--v-theme-surface-variant))}.v-input--error:not(.v-input--disabled) .v-slider-thumb{color:inherit}.v-slider-thumb__label{background:color-mix(in srgb,rgb(var(--v-theme-surface-variant)) 70%,transparent);color:rgb(var(--v-theme-on-surface-variant))}.v-slider-thumb__label>.v-slider-thumb__label-wedge{background:inherit}.v-slider-thumb{outline:none;position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1)}.v-slider-thumb__surface{cursor:pointer;width:var(--v-slider-thumb-size);height:var(--v-slider-thumb-size);border-radius:50%;-webkit-user-select:none;user-select:none;background-color:currentColor}@media(forced-colors:active){.v-slider-thumb__surface{background-color:highlight}}.v-slider-thumb__surface:before{transition:.3s cubic-bezier(.4,0,.2,1);content:"";color:inherit;top:0;left:0;width:100%;height:100%;border-radius:50%;background:currentColor;position:absolute;pointer-events:none;opacity:0}.v-slider-thumb__surface:after{content:"";width:42px;height:42px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.v-slider-thumb__label-container{position:absolute;transition:.2s cubic-bezier(.4,0,1,1)}.v-slider-thumb__label{display:flex;align-items:center;justify-content:center;font-size:.6875rem;min-width:35px;height:25px;border-radius:4px;padding:6px;position:absolute;-webkit-user-select:none;user-select:none;transition:.2s cubic-bezier(.4,0,1,1)}.v-slider-thumb__label>.v-slider-thumb__label-wedge{width:12px;height:12px;position:absolute}.v-slider-thumb__ripple{position:absolute;left:calc(var(--v-slider-thumb-size) / -2);top:calc(var(--v-slider-thumb-size) / -2);width:calc(var(--v-slider-thumb-size) * 2);height:calc(var(--v-slider-thumb-size) * 2);background:inherit}.v-slider.v-input--horizontal .v-slider-thumb{top:50%;transform:translateY(-50%);inset-inline-start:calc(var(--v-slider-thumb-position) - var(--v-slider-thumb-size) / 2)}.v-slider.v-input--horizontal .v-slider-thumb__label-container{left:calc(var(--v-slider-thumb-size) / 2);top:0}.v-slider.v-input--horizontal .v-slider-thumb__label{bottom:calc(var(--v-slider-thumb-size) / 2)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-thumb__label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-thumb__label{transform:translate(-50%)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-thumb__label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-thumb__label{transform:translate(50%)}.v-slider.v-input--horizontal .v-slider-thumb__label>.v-slider-thumb__label-wedge{clip-path:polygon(50% 100%,0 50%,100% 50%);bottom:-5.8px}.v-slider.v-input--vertical .v-slider-thumb{top:calc(var(--v-slider-thumb-position) - var(--v-slider-thumb-size) / 2)}.v-slider.v-input--vertical .v-slider-thumb__label-container{top:calc(var(--v-slider-thumb-size) / 2);right:0}.v-slider.v-input--vertical .v-slider-thumb__label{top:-12.5px;left:calc(var(--v-slider-thumb-size) / 2)}.v-slider.v-input--vertical .v-slider-thumb__label>.v-slider-thumb__label-wedge{clip-path:polygon(0 50%,50% 0,50% 100%);left:-5.8px}.v-slider-thumb--focused .v-slider-thumb__surface:before{transform:scale(2);opacity:var(--v-focus-opacity)}.v-slider-thumb--pressed{transition:none}.v-slider-thumb--pressed .v-slider-thumb__surface:before{opacity:var(--v-pressed-opacity)}@media(hover:hover){.v-slider-thumb:hover .v-slider-thumb__surface:before{transform:scale(2)}.v-slider-thumb:hover:not(.v-slider-thumb--focused) .v-slider-thumb__surface:before{opacity:var(--v-hover-opacity)}}}@layer vuetify-components{.v-slider-track__background{background-color:rgb(var(--v-theme-surface-variant))}@media(forced-colors:active){.v-slider-track__background{background-color:highlight}}.v-slider-track__fill{background-color:rgb(var(--v-theme-surface-variant))}@media(forced-colors:active){.v-slider-track__fill{background-color:highlight}}.v-slider-track__tick{background-color:rgb(var(--v-theme-surface-variant))}.v-slider-track__tick--filled{background-color:rgb(var(--v-theme-surface-light))}.v-slider-track{border-radius:6px}@media(forced-colors:active){.v-slider-track{border:thin solid buttontext}}.v-slider-track__background,.v-slider-track__fill{position:absolute;transition:.3s cubic-bezier(.25,.8,.5,1);border-radius:inherit}.v-slider--pressed .v-slider-track__background,.v-slider--pressed .v-slider-track__fill{transition:none}.v-input--error:not(.v-input--disabled) .v-slider-track__background,.v-input--error:not(.v-input--disabled) .v-slider-track__fill{background-color:currentColor}.v-slider-track__ticks{height:100%;width:100%;position:relative}.v-slider-track__tick{position:absolute;opacity:0;transition:.2s opacity cubic-bezier(.4,0,.2,1);border-radius:2px;width:var(--v-slider-tick-size);height:var(--v-slider-tick-size);transform:translate(calc(var(--v-slider-tick-size) / -2),calc(var(--v-slider-tick-size) / -2))}.v-locale--is-ltr.v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-ltr .v-slider-track__tick--first .v-slider-track__tick-label{transform:none}.v-locale--is-rtl.v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-rtl .v-slider-track__tick--first .v-slider-track__tick-label{transform:translate(100%)}.v-locale--is-ltr.v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-ltr .v-slider-track__tick--last .v-slider-track__tick-label{transform:translate(-100%)}.v-locale--is-rtl.v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-rtl .v-slider-track__tick--last .v-slider-track__tick-label{transform:none}.v-slider-track__tick-label{position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.v-slider.v-input--horizontal .v-slider-track{display:flex;align-items:center;width:100%;height:calc(var(--v-slider-track-size) + 2px);touch-action:pan-y}.v-slider.v-input--horizontal .v-slider-track__background{height:var(--v-slider-track-size)}.v-slider.v-input--horizontal .v-slider-track__fill{height:inherit}.v-slider.v-input--horizontal .v-slider-track__tick{margin-top:calc(calc(var(--v-slider-track-size) + 2px) / 2)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick{transform:translate(calc(var(--v-slider-tick-size) / 2),calc(var(--v-slider-tick-size) / -2))}.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label{margin-top:calc(var(--v-slider-track-size) / 2 + 8px)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label{transform:translate(-50%)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick .v-slider-track__tick-label{transform:translate(50%)}.v-slider.v-input--horizontal .v-slider-track__tick--first{margin-inline-start:calc(var(--v-slider-tick-size) + 1px)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--first .v-slider-track__tick-label{transform:translate(0)}.v-slider.v-input--horizontal .v-slider-track__tick--last{margin-inline-start:calc(100% - var(--v-slider-tick-size) - 1px)}.v-locale--is-ltr.v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-ltr .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label{transform:translate(-100%)}.v-locale--is-rtl.v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label,.v-locale--is-rtl .v-slider.v-input--horizontal .v-slider-track__tick--last .v-slider-track__tick-label{transform:translate(100%)}.v-slider.v-input--vertical .v-slider-track{height:100%;display:flex;justify-content:center;width:calc(var(--v-slider-track-size) + 2px);touch-action:pan-x}.v-slider.v-input--vertical .v-slider-track__background{width:var(--v-slider-track-size)}.v-slider.v-input--vertical .v-slider-track__fill{width:inherit}.v-slider.v-input--vertical .v-slider-track__ticks{height:100%}.v-slider.v-input--vertical .v-slider-track__tick{margin-inline-start:calc(calc(var(--v-slider-track-size) + 2px) / 2);transform:translate(calc(var(--v-slider-tick-size) / -2),calc(var(--v-slider-tick-size) / 2))}.v-locale--is-rtl.v-slider.v-input--vertical .v-slider-track__tick,.v-locale--is-rtl .v-slider.v-input--vertical .v-slider-track__tick{transform:translate(calc(var(--v-slider-tick-size) / 2),calc(var(--v-slider-tick-size) / 2))}.v-slider.v-input--vertical .v-slider-track__tick--first{bottom:calc(0% + var(--v-slider-tick-size) + 1px)}.v-slider.v-input--vertical .v-slider-track__tick--last{bottom:calc(100% - var(--v-slider-tick-size) - 1px)}.v-slider.v-input--vertical .v-slider-track__tick .v-slider-track__tick-label{margin-inline-start:calc(var(--v-slider-track-size) / 2 + 12px);transform:translateY(-50%)}.v-slider-track__ticks--always-show .v-slider-track__tick,.v-slider--focused .v-slider-track__tick{opacity:1}.v-slider-track__background--opacity{opacity:.38}}.filter-panel[data-v-ac75fbaf]{display:flex;flex-direction:column;gap:14px}.panel-head[data-v-ac75fbaf]{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title[data-v-ac75fbaf]{font-size:.95rem;font-weight:700;letter-spacing:-.02em}.filter-stack[data-v-ac75fbaf]{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(150px,1fr)) minmax(220px,1.2fr);gap:12px;align-items:start}.billing-field[data-v-ac75fbaf]{display:flex;flex-direction:column;gap:8px;padding:8px 12px 4px;min-height:56px}.billing-head[data-v-ac75fbaf]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.billing-label[data-v-ac75fbaf]{font-size:.74rem;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--v-theme-secondary))}.billing-value[data-v-ac75fbaf]{font-size:.83rem;line-height:1.2;font-weight:600;color:rgb(var(--v-theme-on-surface));font-variant-numeric:tabular-nums}@media(max-width:960px){.filter-stack[data-v-ac75fbaf]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.filter-stack[data-v-ac75fbaf]{grid-template-columns:1fr}}.json-viewer-shell[data-v-3a3ce538]{display:flex;flex-direction:column;min-height:0;border-color:rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface));overflow:hidden}.json-viewer-toolbar[data-v-3a3ce538]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.json-viewer-toolbar-end[data-v-3a3ce538]{justify-content:flex-end}.json-viewer-toolbar-copy[data-v-3a3ce538]{min-width:0}.json-viewer-frame[data-v-3a3ce538]{max-height:68vh;min-height:0;overflow:auto;background:#0d1117}.json-viewer-frame-fill[data-v-3a3ce538]{flex:1;max-height:none}@media(max-width:700px){.json-viewer-toolbar[data-v-3a3ce538]{flex-direction:column;align-items:flex-start}}.model-card[data-v-cd20a724]{display:flex;flex-direction:column;min-height:100%;border-color:rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.card-header[data-v-cd20a724]{padding:16px 16px 14px;border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.header-top[data-v-cd20a724]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.header-copy[data-v-cd20a724]{min-width:0}.header-actions[data-v-cd20a724]{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}.model-id[data-v-cd20a724]{font-size:.95rem;font-weight:700;letter-spacing:-.02em;word-break:break-all;line-height:1.25;color:rgb(var(--v-theme-on-surface))}.display-name[data-v-cd20a724]{margin-top:6px;font-size:.81rem;line-height:1.3;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity))}.json-button[data-v-cd20a724]{flex-shrink:0}.billing-note[data-v-cd20a724]{display:inline-flex;align-items:center;justify-content:flex-end;cursor:help;min-height:24px}.chip-cluster[data-v-cd20a724]{display:flex;flex-wrap:wrap;gap:6px}.chip-cluster-header[data-v-cd20a724]{margin-top:12px}.billing-note-value[data-v-cd20a724]{display:inline-flex;align-items:baseline;gap:1px;line-height:1;color:rgb(var(--v-theme-warning));font-variant-numeric:tabular-nums}.billing-note-number[data-v-cd20a724]{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.billing-note-suffix[data-v-cd20a724]{font-size:.82rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase;opacity:.9}.meta-chip[data-v-cd20a724]{gap:8px;padding-inline:10px;min-height:24px}.meta-chip-label[data-v-cd20a724]{font-size:.73rem;text-transform:uppercase;letter-spacing:.04em;opacity:.72;line-height:1.2;margin-right:4px}.meta-chip-value[data-v-cd20a724]{font-size:.79rem;font-weight:600;line-height:1.2}.meta-chip-accent .meta-chip-value[data-v-cd20a724]{font-weight:700}.primary-metrics[data-v-cd20a724]{display:grid;gap:12px;margin-top:16px}.primary-metric[data-v-cd20a724]{display:grid;gap:8px}.primary-metric-head[data-v-cd20a724]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.primary-metric-label[data-v-cd20a724]{font-size:.83rem;line-height:1.2;color:rgb(var(--v-theme-secondary))}.primary-metric-value[data-v-cd20a724]{font-size:1rem;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}.card-body[data-v-cd20a724]{display:flex;flex-direction:column;gap:16px;padding:16px}.card-section[data-v-cd20a724]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-cd20a724]{display:block;font-size:.73rem;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;color:rgb(var(--v-theme-secondary))}.capability-chip[data-v-cd20a724],.endpoint-chip[data-v-cd20a724]{font-size:.83rem}.metadata-list[data-v-cd20a724]{display:grid;gap:8px}.metadata-row[data-v-cd20a724]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.metadata-label[data-v-cd20a724]{font-size:.76rem;line-height:1.25;color:rgb(var(--v-theme-secondary));flex:1 1 auto;min-width:0}.metadata-value[data-v-cd20a724]{font-size:.8rem;line-height:1.25;font-weight:600;flex:0 0 auto;text-align:right;color:rgb(var(--v-theme-on-surface))}.metadata-value-technical[data-v-cd20a724]{font-family:SF Mono,Monaco,Courier New,monospace;font-size:.78rem}.metadata-value-numeric[data-v-cd20a724]{font-variant-numeric:tabular-nums}.vision-tooltip[data-v-cd20a724]{display:grid;gap:8px;min-width:220px}.vision-tooltip-row[data-v-cd20a724]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.vision-tooltip-key[data-v-cd20a724]{font-size:.76rem;line-height:1.3;color:rgba(var(--v-theme-on-surface-variant),.82)}.vision-tooltip-value[data-v-cd20a724]{font-size:.78rem;line-height:1.3;color:rgb(var(--v-theme-on-surface));font-variant-numeric:tabular-nums}.billing-tooltip-copy[data-v-cd20a724]{font-size:.78rem;line-height:1.3;color:rgb(var(--v-theme-on-surface))}.json-dialog[data-v-cd20a724]{display:flex;flex-direction:column;min-height:min(720px,calc(100vh - 48px));max-height:calc(100vh - 48px);border:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface));overflow:hidden}.dialog-header[data-v-cd20a724]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 12px;border-bottom:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface))}.dialog-title-wrap[data-v-cd20a724]{min-width:0}.dialog-eyebrow[data-v-cd20a724]{font-size:.72rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--v-theme-secondary));margin-bottom:4px}.dialog-title[data-v-cd20a724]{min-width:0;font-size:.96rem;font-weight:700;line-height:1.2;word-break:break-all}.dialog-actions[data-v-cd20a724]{display:flex;align-items:center;gap:8px;flex-shrink:0}.dialog-body[data-v-cd20a724]{display:flex;flex:1;min-height:0;padding:0;background:rgb(var(--v-theme-surface))}.dialog-json-panel[data-v-cd20a724]{flex:1;min-height:0}.dialog-json-panel[data-v-cd20a724] .json-viewer-shell{height:100%;border:0;border-radius:0;background:rgb(var(--v-theme-surface))}.dialog-json-panel[data-v-cd20a724] .json-viewer-frame{max-height:none;border-top:0}@media(max-width:640px){.header-top[data-v-cd20a724],.primary-metric-head[data-v-cd20a724]{flex-direction:column;align-items:flex-start}.header-actions[data-v-cd20a724]{align-items:flex-start}.dialog-header[data-v-cd20a724]{padding-left:14px;padding-right:14px}.dialog-body[data-v-cd20a724]{padding:0}.dialog-actions[data-v-cd20a724]{gap:4px}}.models-grid[data-v-0b77a8cd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}@media(max-width:768px){.models-grid[data-v-0b77a8cd]{grid-template-columns:1fr}}.toolbar-shell[data-v-39dd0e99]{display:flex;justify-content:space-between;gap:16px;align-items:center}.toolbar-copy[data-v-39dd0e99]{min-width:0}.toolbar-title[data-v-39dd0e99]{font-size:1.125rem;line-height:1.2;letter-spacing:-.02em;font-weight:700}.toolbar-meta[data-v-39dd0e99]{margin-top:4px}.raw-json-button[data-v-39dd0e99]{flex-shrink:0}@media(max-width:900px){.toolbar-shell[data-v-39dd0e99]{flex-direction:column;align-items:start}}.models-page[data-v-6162ea04]{background:rgb(var(--v-theme-background))}.page-shell[data-v-6162ea04]{display:flex;flex-direction:column;gap:14px}.filter-shell[data-v-6162ea04]{padding:14px;background:rgb(var(--v-theme-surface));border-color:rgb(var(--v-theme-surface-variant))}.state-shell[data-v-6162ea04],.empty-shell[data-v-6162ea04]{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-title[data-v-6162ea04]{font-size:1.05rem;font-weight:700;margin-bottom:6px}.models-json-dialog[data-v-6162ea04]{display:flex;flex-direction:column;min-height:min(760px,calc(100vh - 40px));max-height:calc(100vh - 40px);border:1px solid rgb(var(--v-theme-surface-variant));background:rgb(var(--v-theme-surface));overflow:hidden}.models-json-header[data-v-6162ea04]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 12px;border-bottom:1px solid rgb(var(--v-theme-surface-variant))}.models-json-title-wrap[data-v-6162ea04]{min-width:0}.models-json-eyebrow[data-v-6162ea04]{font-size:.72rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;color:rgb(var(--v-theme-secondary));margin-bottom:4px}.models-json-title[data-v-6162ea04]{font-size:.96rem;line-height:1.2;font-weight:700}.models-json-actions[data-v-6162ea04]{display:flex;align-items:center;gap:8px;flex-shrink:0}.models-json-body[data-v-6162ea04]{display:flex;flex:1;min-height:0;padding:0}.models-json-panel[data-v-6162ea04]{flex:1;min-height:0}.models-json-panel[data-v-6162ea04] .json-viewer-shell{height:100%;border:0;border-radius:0;background:rgb(var(--v-theme-surface))}.models-json-panel[data-v-6162ea04] .json-viewer-frame{max-height:none}@media(max-width:700px){.models-json-header[data-v-6162ea04]{padding-left:14px;padding-right:14px}.models-json-actions[data-v-6162ea04]{gap:4px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as Y,b as Z,ae as dt,c as D,af as vt,ag as $t,f as oe,m as Be,ah as ye,K as Nt,i as Oe,v as Kt,n as re,ai as jt,p as Ge,y as An,H as ft,a6 as mt,Z as gt,J as Ue,aj as pn,ak as Pn,al as _n,am as Bn,h as fe,L as Tn,an as Fn,O as ue,Q as yt,ao as Mn,ap as Ln,z as Re,aq as he,ar as ht,a1 as ut,u as Je,M as Qe,as as bt,X as Ze,e as et,I as Pt,q as Gt,r as St,t as Te,at as Me,au as Ut,a9 as Xe,av as ot,aw as On,ax as Rn,ay as Dn,d as ze,D as En,az as $n,$ as zt,E as Nn,aA as Kn,Y as jn,N as Ht,P as Wt,aB as Gn,U as Xt,a4 as Yt,aC as ge,aD as rt,aE as We,ab as Un,aF as _t,ad as Bt,aG as zn,aH as qt,ac as Hn,aI as Wn,a0 as Jt,o as Xn,s as at,aJ as Yn,aK as Qt,aL as qn,aM as Tt,aN as Jn,aO as Qn}from"./index-Cxye_z0t.js";import{c as x,E as Ee,G as kt,m as k,o as se,q as Q,t as I,A as N,M as Ve,a as J,F as me,r as $,f as w,k as xe,B as Ct,D as tt,P as Zt,n as Se,s as K,u as je,ae as Zn,p as $e,H as It,J as ie,y as Ie,U as Ft,w as Ye,N as ea,e as ta}from"./vue-McY99x0M.js";import{c as en}from"./VCard-B2q0rBgl.js";import{b as st,a as na,V as Mt}from"./VSheet-BhXOOy9y.js";function aa(e,t,l={leading:!0,trailing:!0}){let n=0,a=0,i=!1,u=0;function o(){clearTimeout(n),i=!1,u=0}const r=(...d)=>{clearTimeout(n);const y=Date.now();u||(u=y);const v=y-Math.max(u,a);function f(){a=Date.now(),n=setTimeout(o,t),e(...d)}i?v>=t?f():l.trailing&&(n=setTimeout(f,t-v)):(i=!0,l.leading&&f())};return r.clear=o,r.immediate=e,r}const la=D({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...oe(),...vt({transition:{component:$t}})},"VCounter"),ia=Y()({name:"VCounter",functional:!0,props:la(),setup(e,{slots:t}){const l=I(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return Z(()=>x(dt,{transition:e.transition},{default:()=>[Ee(k("div",{class:Q(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:se(e.style)},[t.default?t.default({counter:l.value,max:e.max,value:e.value}):l.value]),[[kt,e.active]])]})),{}}}),ua=D({text:String,onClick:ye(),...oe(),...Be()},"VLabel"),tn=Y()({name:"VLabel",props:ua(),setup(e,{slots:t}){return Z(()=>k("label",{class:Q(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:se(e.style),onClick:e.onClick},[e.text,t.default?.()])),{}}}),oa=D({floating:Boolean,...oe()},"VFieldLabel"),He=Y()({name:"VFieldLabel",props:oa(),setup(e,{slots:t}){return Z(()=>x(tn,{class:Q(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:se(e.style)},t)),{}}});function Vt(e){const{t}=Nt();function l({name:n,color:a,...i}){const u={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[n],o=e[`onClick:${n}`];function r(y){y.key!=="Enter"&&y.key!==" "||(y.preventDefault(),y.stopPropagation(),Kt(o,new PointerEvent("click",y)))}const d=o&&u?t(`$vuetify.input.${u}`,e.label??""):void 0;return x(Oe,N({icon:e[`${n}Icon`],"aria-label":d,onClick:o,onKeydown:r,color:a},i),null)}return{InputIcon:l}}const nn=D({focused:Boolean,"onUpdate:focused":ye()},"focus");function an(e,t=jt()){const l=re(e,"focused"),n=I(()=>({[`${t}--focused`]:l.value}));function a(){l.value=!0}function i(){l.value=!1}return{focusClasses:n,isFocused:l,focus:a,blur:i}}const ra=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],ln=D({appendInnerIcon:ue,bgColor:String,clearable:Boolean,clearIcon:{type:ue,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ue,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>ra.includes(e)},"onClick:clear":ye(),"onClick:appendInner":ye(),"onClick:prependInner":ye(),...oe(),...Mn(),...yt(),...Be()},"VField"),Lt=Y()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...nn(),...ln()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:l,slots:n}){const{themeClasses:a}=Ge(e),{loaderClasses:i}=An(e),{focusClasses:u,isFocused:o,focus:r,blur:d}=an(e),{InputIcon:y}=Vt(e),{roundedClasses:v}=ft(e),{rtlClasses:f}=mt(),m=I(()=>e.dirty||e.active),s=I(()=>!!(e.label||n.label)),C=I(()=>!e.singleLine&&s.value),A=Ve(),T=w(()=>e.id||`input-${A}`),L=I(()=>e.details?`${T.value}-messages`:void 0),p=$(),c=$(),S=$(),g=w(()=>["plain","underlined"].includes(e.variant)),h=w(()=>e.error||e.disabled?void 0:m.value&&o.value?e.color:e.baseColor),B=w(()=>{if(!(!e.iconColor||e.glow&&!o.value))return e.iconColor===!0?h.value:e.iconColor}),{backgroundColorClasses:F,backgroundColorStyles:M}=gt(()=>e.bgColor),{textColorClasses:G,textColorStyles:O}=Ue(h);J(m,E=>{if(C.value&&!pn()){const ee=p.value.$el,te=c.value.$el;requestAnimationFrame(()=>{const b=Pn(ee),P=new _n(te),_=P.x-b.x,U=P.y-b.y-(b.height/2-P.height/2),q=P.width/.75,le=Math.abs(q-b.width)>1?{maxWidth:fe(q)}:void 0,we=getComputedStyle(ee),Ae=getComputedStyle(te),Fe=parseFloat(we.transitionDuration)*1e3||150,z=parseFloat(Ae.getPropertyValue("--v-field-label-scale")),Pe=Ae.getPropertyValue("color");ee.style.visibility="visible",te.style.visibility="hidden",Bn(ee,{transform:`translate(${_}px, ${U}px) scale(${z})`,color:Pe,...le},{duration:Fe,easing:Ln,direction:E?"normal":"reverse"}).finished.then(()=>{ee.style.removeProperty("visibility"),te.style.removeProperty("visibility")})})}},{flush:"post"});const j=w(()=>({isActive:m,isFocused:o,controlRef:S,iconColor:B,blur:d,focus:r})),X=I(()=>{const E=!m.value;return{"aria-hidden":E,for:E?void 0:T.value}}),ce=I(()=>{const E=C.value&&m.value;return{"aria-hidden":E,for:E?void 0:T.value}});function ne(E){E.target!==document.activeElement&&E.preventDefault()}return Z(()=>{const E=e.variant==="outlined",ee=!!(n["prepend-inner"]||e.prependInnerIcon),te=!!(e.clearable||n.clear)&&!e.disabled,b=!!(n["append-inner"]||e.appendInnerIcon||te),P=()=>n.label?n.label({...j.value,label:e.label,props:{for:T.value}}):e.label;return k("div",N({class:["v-field",{"v-field--active":m.value,"v-field--appended":b,"v-field--center-affix":e.centerAffix??!g.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":ee,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!P(),[`v-field--variant-${e.variant}`]:!0},a.value,F.value,u.value,i.value,v.value,f.value,e.class],style:[M.value,e.style],onClick:ne},t),[k("div",{class:"v-field__overlay"},null),x(Tn,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:n.loader}),ee&&k("div",{key:"prepend",class:"v-field__prepend-inner"},[n["prepend-inner"]?n["prepend-inner"](j.value):e.prependInnerIcon&&x(y,{key:"prepend-icon",name:"prependInner",color:B.value},null)]),k("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&C.value&&x(He,N({key:"floating-label",ref:c,class:[G.value],floating:!0},X.value,{style:O.value}),{default:()=>[P()]}),s.value&&x(He,N({key:"label",ref:p,id:e.labelId},ce.value),{default:()=>[P()]}),n.default?.({...j.value,props:{id:T.value,class:"v-field__input","aria-describedby":L.value},focus:r,blur:d})??k("div",{id:T.value,class:"v-field__input","aria-describedby":L.value},null)]),te&&x(Fn,{key:"clear"},{default:()=>[Ee(k("div",{class:"v-field__clearable",onMousedown:_=>{_.preventDefault(),_.stopPropagation()}},[x(Re,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[n.clear?n.clear({...j.value,props:{onFocus:r,onBlur:d,onClick:e["onClick:clear"],tabindex:-1}}):x(y,{name:"clear",onFocus:r,onBlur:d,tabindex:-1},null)]})]),[[kt,e.dirty]])]}),b&&k("div",{key:"append",class:"v-field__append-inner"},[n["append-inner"]?n["append-inner"](j.value):e.appendInnerIcon&&x(y,{key:"append-icon",name:"appendInner",color:B.value},null)]),k("div",{class:Q(["v-field__outline",G.value]),style:se(O.value)},[E&&k(me,null,[k("div",{class:"v-field__outline__start"},null),C.value&&k("div",{class:"v-field__outline__notch"},[x(He,N({ref:c,floating:!0},X.value),{default:()=>[P()]})]),k("div",{class:"v-field__outline__end"},null)]),g.value&&C.value&&x(He,N({ref:c,floating:!0},X.value),{default:()=>[P()]})])])}),{controlRef:S,fieldIconColor:B}}}),sa=D({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...oe(),...vt({transition:{component:$t,leaveAbsolute:!0,group:!0}})},"VMessages"),ca=Y()({name:"VMessages",props:sa(),setup(e,{slots:t}){const l=w(()=>he(e.messages)),{textColorClasses:n,textColorStyles:a}=Ue(()=>e.color);return Z(()=>x(dt,{transition:e.transition,tag:"div",class:Q(["v-messages",n.value,e.class]),style:se([a.value,e.style])},{default:()=>[e.active&&l.value.map((i,u)=>k("div",{class:"v-messages__message",key:`${u}-${l.value}`},[t.message?t.message({message:i}):i]))]})),{}}}),da=Symbol.for("vuetify:form");function un(e){const t=xe(da,null);return{...t,isReadonly:w(()=>!!(e?.readonly??t?.isReadonly.value)),isDisabled:w(()=>!!(e?.disabled??t?.isDisabled.value))}}const va=Symbol.for("vuetify:rules");function fa(e){const t=xe(va,null);if(!e){if(!t)throw new Error("Could not find Vuetify rules injection");return t.aliases}return t?.resolve(e)??I(e)}const ma=D({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...nn()},"validation");function ga(e,t=jt(),l=Ve()){const n=re(e,"modelValue"),a=w(()=>e.validationValue===void 0?n.value:e.validationValue),i=un(e),u=fa(()=>e.rules),o=$([]),r=K(!0),d=w(()=>!!(he(n.value===""?null:n.value).length||he(a.value===""?null:a.value).length)),y=w(()=>e.errorMessages?.length?he(e.errorMessages).concat(o.value).slice(0,Math.max(0,Number(e.maxErrors))):o.value),v=w(()=>{let c=(e.validateOn??i.validateOn?.value)||"input";c==="lazy"&&(c="input lazy"),c==="eager"&&(c="input eager");const S=new Set(c?.split(" ")??[]);return{input:S.has("input"),blur:S.has("blur")||S.has("input")||S.has("invalid-input"),invalidInput:S.has("invalid-input"),lazy:S.has("lazy"),eager:S.has("eager")}}),f=w(()=>e.error||e.errorMessages?.length?!1:e.rules.length?r.value?o.value.length||v.value.lazy?null:!0:!o.value.length:!0),m=K(!1),s=w(()=>({[`${t}--error`]:f.value===!1,[`${t}--dirty`]:d.value,[`${t}--disabled`]:i.isDisabled.value,[`${t}--readonly`]:i.isReadonly.value})),C=ht("validation"),A=w(()=>e.name??je(l));Ct(()=>{i.register?.({id:A.value,vm:C,validate:p,reset:T,resetValidation:L})}),tt(()=>{i.unregister?.(A.value)}),Zt(async()=>{v.value.lazy||await p(!v.value.eager),i.update?.(A.value,f.value,y.value)}),ut(()=>v.value.input||v.value.invalidInput&&f.value===!1,()=>{J(a,()=>{if(a.value!=null)p();else if(e.focused){const c=J(()=>e.focused,S=>{S||p(),c()})}})}),ut(()=>v.value.blur,()=>{J(()=>e.focused,c=>{c||p()})}),J([f,y],()=>{i.update?.(A.value,f.value,y.value)});async function T(){n.value=null,await Se(),await L()}async function L(){r.value=!0,v.value.lazy?o.value=[]:await p(!v.value.eager)}async function p(c=!1){const S=[];m.value=!0;for(const g of u.value){if(S.length>=Number(e.maxErrors??1))break;const B=await(typeof g=="function"?g:()=>g)(a.value);if(B!==!0){if(B!==!1&&typeof B!="string"){console.warn(`${B} is not a valid value. Rule functions must return boolean true or a string.`);continue}S.push(B||"")}}return o.value=S,m.value=!1,r.value=c,o.value}return{errorMessages:y,isDirty:d,isDisabled:i.isDisabled,isReadonly:i.isReadonly,isPristine:r,isValid:f,isValidating:m,reset:T,resetValidation:L,validate:p,validationClasses:s}}const on=D({id:String,appendIcon:ue,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:ue,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":ye(),"onClick:append":ye(),...oe(),...et(),...bt(Ze(),["maxWidth","minWidth","width"]),...Be(),...ma()},"VInput"),Ot=Y()({name:"VInput",props:{...on()},emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:l,emit:n}){const{densityClasses:a}=Je(e),{dimensionStyles:i}=Qe(e),{themeClasses:u}=Ge(e),{rtlClasses:o}=mt(),{InputIcon:r}=Vt(e),d=Ve(),y=w(()=>e.id||`input-${d}`),{errorMessages:v,isDirty:f,isDisabled:m,isReadonly:s,isPristine:C,isValid:A,isValidating:T,reset:L,resetValidation:p,validate:c,validationClasses:S}=ga(e,"v-input",y),g=w(()=>e.errorMessages?.length||!C.value&&v.value.length?v.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages),h=I(()=>g.value.length>0),B=I(()=>!e.hideDetails||e.hideDetails==="auto"&&(h.value||!!l.details)),F=w(()=>B.value?`${y.value}-messages`:void 0),M=w(()=>({id:y,messagesId:F,isDirty:f,isDisabled:m,isReadonly:s,isPristine:C,isValid:A,isValidating:T,hasDetails:B,reset:L,resetValidation:p,validate:c})),G=I(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),O=I(()=>{if(e.iconColor)return e.iconColor===!0?G.value:e.iconColor});return Z(()=>{const j=!!(l.prepend||e.prependIcon),X=!!(l.append||e.appendIcon);return k("div",{class:Q(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons,"v-input--indent-details":e.indentDetails},a.value,u.value,o.value,S.value,e.class]),style:se([i.value,e.style])},[j&&k("div",{key:"prepend",class:"v-input__prepend"},[l.prepend?l.prepend(M.value):e.prependIcon&&x(r,{key:"prepend-icon",name:"prepend",color:O.value},null)]),l.default&&k("div",{class:"v-input__control"},[l.default?.(M.value)]),X&&k("div",{key:"append",class:"v-input__append"},[l.append?l.append(M.value):e.appendIcon&&x(r,{key:"append-icon",name:"append",color:O.value},null)]),B.value&&k("div",{id:F.value,class:"v-input__details",role:"alert","aria-live":"polite"},[x(ca,{active:h.value,messages:g.value},{message:l.message}),l.details?.(M.value)])])}),{reset:L,resetValidation:p,validate:c,isValid:A,errorMessages:v}}}),ya=D({autocomplete:String},"autocomplete");function rn(e){const t=Ve(),l=K(0),n=I(()=>e.autocomplete==="suppress"),a=I(()=>{if(e.name)return n.value?`${e.name}-${t}-${l.value}`:e.name}),i=I(()=>n.value?"off":e.autocomplete);return{isSuppressing:n,fieldAutocomplete:i,fieldName:a,update:()=>l.value=new Date().getTime()}}function ha(e){function t(l,n){if(!e.autofocus||!l)return;const a=n[0].target;(a.matches("input,textarea")?a:a.querySelector("input,textarea"))?.focus()}return{onIntersect:t}}const ba=["color","file","time","date","datetime-local","week","month"],sn=D({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...ya(),...Te(on(),["direction"]),...ln()},"VTextField"),Rt=Y()({name:"VTextField",directives:{vIntersect:Pt},inheritAttrs:!1,props:sn(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:l,slots:n}){const a=re(e,"modelValue",void 0,g=>Object.is(g,-0)?"-0":g),{isFocused:i,focus:u,blur:o}=an(e),{onIntersect:r}=ha(e),d=w(()=>typeof e.counterValue=="function"?e.counterValue(a.value):typeof e.counterValue=="number"?e.counterValue:(a.value??"").toString().length),y=w(()=>{if(t.maxlength)return t.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),v=w(()=>["plain","underlined"].includes(e.variant)),f=$(),m=$(),s=$(),C=rn(e),A=w(()=>ba.includes(e.type)||e.persistentPlaceholder||i.value||e.active);function T(){C.isSuppressing.value&&C.update(),i.value||u(),Se(()=>{s.value!==document.activeElement&&s.value?.focus()})}function L(g){l("mousedown:control",g),g.target!==s.value&&(T(),g.preventDefault())}function p(g){l("click:control",g)}function c(g,h){g.stopPropagation(),T(),Se(()=>{h(),Kt(e["onClick:clear"],g)})}function S(g){const h=g.target;if(!(e.modelModifiers?.trim&&["text","search","password","tel","url"].includes(e.type))){a.value=h.value;return}const B=h.value,F=h.selectionStart,M=h.selectionEnd;a.value=B,Se(()=>{let G=0;B.trimStart().length===h.value.length&&(G=B.length-h.value.length),F!=null&&(h.selectionStart=F-G),M!=null&&(h.selectionEnd=M-G)})}return Z(()=>{const g=!!(n.counter||e.counter!==!1&&e.counter!=null),h=!!(g||n.details),[B,F]=Gt(t),{modelValue:M,...G}=Ot.filterProps(e),O=Lt.filterProps(e);return x(Ot,N({ref:f,modelValue:a.value,"onUpdate:modelValue":j=>a.value=j,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":v.value},e.class],style:e.style},B,G,{centerAffix:!v.value,focused:i.value,indentDetails:e.indentDetails??!v.value}),{...n,default:({id:j,isDisabled:X,isDirty:ce,isReadonly:ne,isValid:E,hasDetails:ee,reset:te})=>x(Lt,N({ref:m,onMousedown:L,onClick:p,"onClick:clear":b=>c(b,te),role:e.role},Te(O,["onClick:clear"]),{id:j.value,labelId:`${j.value}-label`,active:A.value||ce.value,dirty:ce.value||e.dirty,disabled:X.value,focused:i.value,details:ee.value,error:E.value===!1}),{...n,default:({props:{class:b,...P},controlRef:_})=>{const U=k("input",N({ref:q=>s.value=_.value=q,value:a.value,onInput:S,autofocus:e.autofocus,readonly:ne.value,disabled:X.value,name:C.fieldName.value,autocomplete:C.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:u,onBlur:o,"aria-labelledby":`${j.value}-label`},P,F),null);return k(me,null,[e.prefix&&k("span",{class:"v-text-field__prefix"},[k("span",{class:"v-text-field__prefix__text"},[e.prefix])]),Ee(n.default?k("div",{class:Q(b),"data-no-activator":""},[n.default({id:j}),U]):Zn(U,{class:b}),[[Pt,r,null,{once:!0}]]),e.suffix&&k("span",{class:"v-text-field__suffix"},[k("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}}),details:h?j=>k(me,null,[n.details?.(j),g&&k(me,null,[k("span",null,null),x(ia,{active:e.persistentCounter||i.value,value:d.value,max:y.value,disabled:e.disabled},n.counter)])]):void 0})}),St({},f,m,s)}}),cn=Symbol.for("vuetify:selection-control-group"),dn=D({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:ue,trueIcon:ue,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:Me},...oe(),...et(),...Be()},"SelectionControlGroup"),Sa=D({...dn({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");Y()({name:"VSelectionControlGroup",props:Sa(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){const l=re(e,"modelValue"),n=Ve(),a=I(()=>e.id||`v-selection-control-group-${n}`),i=I(()=>e.name||a.value),u=new Set;return $e(cn,{modelValue:l,forceUpdate:()=>{u.forEach(o=>o())},onForceUpdate:o=>{u.add(o),It(()=>{u.delete(o)})}}),Ut({[e.defaultsTarget]:{color:I(()=>e.color),disabled:I(()=>e.disabled),density:I(()=>e.density),error:I(()=>e.error),inline:I(()=>e.inline),modelValue:l,multiple:I(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:i,falseIcon:I(()=>e.falseIcon),trueIcon:I(()=>e.trueIcon),readonly:I(()=>e.readonly),ripple:I(()=>e.ripple),type:I(()=>e.type),valueComparator:I(()=>e.valueComparator)}}),Z(()=>k("div",{class:Q(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:se(e.style),role:e.type==="radio"?"radiogroup":void 0},[t.default?.()])),{}}});const vn=D({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...oe(),...dn()},"VSelectionControl");function ka(e){const t=xe(cn,void 0),{densityClasses:l}=Je(e),n=re(e,"modelValue"),a=w(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),i=w(()=>e.falseValue!==void 0?e.falseValue:!1),u=w(()=>!!e.multiple||e.multiple==null&&Array.isArray(n.value)),o=w({get(){const m=t?t.modelValue.value:n.value;return u.value?he(m).some(s=>e.valueComparator(s,a.value)):e.valueComparator(m,a.value)},set(m){if(e.readonly)return;const s=m?a.value:i.value;let C=s;u.value&&(C=m?[...he(n.value),s]:he(n.value).filter(A=>!e.valueComparator(A,a.value))),t?t.modelValue.value=C:n.value=C}}),{textColorClasses:r,textColorStyles:d}=Ue(()=>{if(!(e.error||e.disabled))return o.value?e.color:e.baseColor}),{backgroundColorClasses:y,backgroundColorStyles:v}=gt(()=>o.value&&!e.error&&!e.disabled?e.color:e.baseColor),f=w(()=>o.value?e.trueIcon:e.falseIcon);return{group:t,densityClasses:l,trueValue:a,falseValue:i,model:o,textColorClasses:r,textColorStyles:d,backgroundColorClasses:y,backgroundColorStyles:v,icon:f}}const Dt=Y()({name:"VSelectionControl",directives:{vRipple:Xe},inheritAttrs:!1,props:vn(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:l}){const{group:n,densityClasses:a,icon:i,model:u,textColorClasses:o,textColorStyles:r,backgroundColorClasses:d,backgroundColorStyles:y,trueValue:v}=ka(e),f=Ve(),m=K(!1),s=K(!1),C=$(),A=I(()=>e.id||`input-${f}`),T=I(()=>!e.disabled&&!e.readonly);n?.onForceUpdate(()=>{C.value&&(C.value.checked=u.value)});function L(g){T.value&&(m.value=!0,ot(g.target,":focus-visible")!==!1&&(s.value=!0))}function p(){m.value=!1,s.value=!1}function c(g){g.stopPropagation()}function S(g){if(!T.value){C.value&&(C.value.checked=u.value);return}e.readonly&&n&&Se(()=>n.forceUpdate()),u.value=g.target.checked}return Z(()=>{const g=l.label?l.label({label:e.label,props:{for:A.value}}):e.label,[h,B]=Gt(t),F=k("input",N({ref:C,checked:u.value,disabled:!!e.disabled,id:A.value,onBlur:p,onFocus:L,onInput:S,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:v.value,name:e.name,"aria-checked":e.type==="checkbox"?u.value:void 0},B),null);return k("div",N({class:["v-selection-control",{"v-selection-control--dirty":u.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":m.value,"v-selection-control--focus-visible":s.value,"v-selection-control--inline":e.inline},a.value,e.class]},h,{style:e.style}),[k("div",{class:Q(["v-selection-control__wrapper",o.value]),style:se(r.value)},[l.default?.({backgroundColorClasses:d,backgroundColorStyles:y}),Ee(k("div",{class:Q(["v-selection-control__input"])},[l.input?.({model:u,textColorClasses:o,textColorStyles:r,backgroundColorClasses:d,backgroundColorStyles:y,inputNode:F,icon:i.value,props:{onFocus:L,onBlur:p,id:A.value}})??k(me,null,[i.value&&x(Oe,{key:"icon",icon:i.value},null),F])]),[[Xe,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),g&&x(tn,{for:A.value,onClick:c},{default:()=>[g]})])}),{isFocused:m,input:C}}}),Ca=D({indeterminate:Boolean,indeterminateIcon:{type:ue,default:"$checkboxIndeterminate"},...vn({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),Ia=Y()({name:"VCheckboxBtn",props:Ca(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{slots:t}){const l=re(e,"indeterminate"),n=re(e,"modelValue");function a(o){l.value&&(l.value=!1)}const i=I(()=>l.value?e.indeterminateIcon:e.falseIcon),u=I(()=>l.value?e.indeterminateIcon:e.trueIcon);return Z(()=>{const o=Te(Dt.filterProps(e),["modelValue"]);return x(Dt,N(o,{modelValue:n.value,"onUpdate:modelValue":[r=>n.value=r,a],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:u.value,"aria-checked":l.value?"mixed":void 0}),t)}),{}}}),Va=["dotted","dashed","solid","double"],wa=D({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:"solid",validator:e=>Va.includes(e)},...oe(),...Be()},"VDivider"),fn=Y()({name:"VDivider",props:wa(),setup(e,{attrs:t,slots:l}){const{themeClasses:n}=Ge(e),{textColorClasses:a,textColorStyles:i}=Ue(()=>e.color),u=w(()=>{const r={};return e.length&&(r[e.vertical?"height":"width"]=fe(e.length)),e.thickness&&(r[e.vertical?"borderRightWidth":"borderTopWidth"]=fe(e.thickness)),r}),o=I(()=>{const r=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,d=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&r?fe(r):void 0,marginInline:!e.vertical&&r?fe(r):void 0,transform:d?`translate${e.vertical?"X":"Y"}(${fe(d)})`:void 0}});return Z(()=>{const r=k("hr",{class:Q([{"v-divider":!0,"v-divider--gradient":e.gradient&&!l.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},n.value,a.value,e.class]),style:se([u.value,i.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!t.role||t.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${t.role||"separator"}`},null);return l.default?k("div",{class:Q(["v-divider__wrapper",{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[r,k("div",{class:"v-divider__content",style:se(o.value)},[l.default()]),r]):r}),{}}}),ct=Symbol.for("vuetify:list");function mn(e={filterable:!1}){const t=xe(ct,{filterable:!1,hasPrepend:K(!1),updateHasPrepend:()=>null,trackingIndex:K(-1),navigationStrategy:K("focus"),uid:""}),{filterable:l,trackingIndex:n=t.trackingIndex,navigationStrategy:a=t.navigationStrategy,uid:i=t.uid||Ve()}=e,u={filterable:t.filterable||l,hasPrepend:K(!1),updateHasPrepend:o=>{o&&(u.hasPrepend.value=o)},trackingIndex:n,navigationStrategy:a,uid:i};return $e(ct,u),t}function gn(){return xe(ct,null)}const wt=e=>{const t={activate:({id:l,value:n,activated:a})=>(l=ie(l),e&&!n&&a.size===1&&a.has(l)||(n?a.add(l):a.delete(l)),a),in:(l,n,a)=>{let i=new Set;if(l!=null)for(const u of he(l))i=t.activate({id:u,value:!0,activated:new Set(i),children:n,parents:a});return i},out:l=>Array.from(l)};return t},yn=e=>{const t=wt(e);return{activate:({activated:n,id:a,...i})=>{a=ie(a);const u=n.has(a)?new Set([a]):new Set;return t.activate({...i,id:a,activated:u})},in:(n,a,i)=>{let u=new Set;if(n!=null){const o=he(n);o.length&&(u=t.in(o.slice(0,1),a,i))}return u},out:(n,a,i)=>t.out(n,a,i)}},xa=e=>{const t=wt(e);return{activate:({id:n,activated:a,children:i,...u})=>(n=ie(n),i.has(n)?a:t.activate({id:n,activated:a,children:i,...u})),in:t.in,out:t.out}},Aa=e=>{const t=yn(e);return{activate:({id:n,activated:a,children:i,...u})=>(n=ie(n),i.has(n)?a:t.activate({id:n,activated:a,children:i,...u})),in:t.in,out:t.out}},pa={open:({id:e,value:t,opened:l,parents:n})=>{if(t){const a=new Set;a.add(e);let i=n.get(e);for(;i!=null;)a.add(i),i=n.get(i);return a}else return l.delete(e),l},select:()=>null},hn={open:({id:e,value:t,opened:l,parents:n})=>{if(t){let a=n.get(e);for(l.add(e);a!=null&&a!==e;)l.add(a),a=n.get(a);return l}else l.delete(e);return l},select:()=>null},Pa={open:hn.open,select:({id:e,value:t,opened:l,parents:n})=>{if(!t)return l;const a=[];let i=n.get(e);for(;i!=null;)a.push(i),i=n.get(i);return new Set(a)}},xt=e=>{const t={select:({id:l,value:n,selected:a})=>{if(l=ie(l),e&&!n){const i=Array.from(a.entries()).reduce((u,[o,r])=>(r==="on"&&u.push(o),u),[]);if(i.length===1&&i[0]===l)return a}return a.set(l,n?"on":"off"),a},in:(l,n,a,i)=>{const u=new Map;for(const o of l||[])t.select({id:o,value:!0,selected:u,children:n,parents:a,disabled:i});return u},out:l=>{const n=[];for(const[a,i]of l.entries())i==="on"&&n.push(a);return n}};return t},bn=e=>{const t=xt(e);return{select:({selected:n,id:a,...i})=>{a=ie(a);const u=n.has(a)?new Map([[a,n.get(a)]]):new Map;return t.select({...i,id:a,selected:u})},in:(n,a,i,u)=>n?.length?t.in(n.slice(0,1),a,i,u):new Map,out:(n,a,i)=>t.out(n,a,i)}},_a=e=>{const t=xt(e);return{select:({id:n,selected:a,children:i,...u})=>(n=ie(n),i.has(n)?a:t.select({id:n,selected:a,children:i,...u})),in:t.in,out:t.out}},Ba=e=>{const t=bn(e);return{select:({id:n,selected:a,children:i,...u})=>(n=ie(n),i.has(n)?a:t.select({id:n,selected:a,children:i,...u})),in:t.in,out:t.out}},At=e=>{const t={select:({id:l,value:n,selected:a,children:i,parents:u,disabled:o})=>{l=ie(l);const r=new Map(a),d=[l];for(;d.length;){const v=d.shift();o.has(v)||a.set(ie(v),n?"on":"off"),i.has(v)&&d.push(...i.get(v))}let y=ie(u.get(l));for(;y;){let v=!0,f=!0;for(const m of i.get(y)){const s=ie(m);if(!o.has(s)&&(a.get(s)!=="on"&&(v=!1),a.has(s)&&a.get(s)!=="off"&&(f=!1),!v&&!f))break}a.set(y,v?"on":f?"off":"indeterminate"),y=ie(u.get(y))}return e&&!n&&Array.from(a.entries()).reduce((f,[m,s])=>(s==="on"&&f.push(m),f),[]).length===0?r:a},in:(l,n,a)=>{let i=new Map;for(const u of l||[])i=t.select({id:u,value:!0,selected:i,children:n,parents:a,disabled:new Set});return i},out:(l,n)=>{const a=[];for(const[i,u]of l.entries())u==="on"&&!n.has(i)&&a.push(i);return a}};return t},Ta=e=>{const t=At(e);return{select:t.select,in:t.in,out:(n,a,i)=>{const u=[];for(const[o,r]of n.entries())if(r==="on"){if(i.has(o)){const d=i.get(o);if(n.get(d)==="on")continue}u.push(o)}return u}}},Fa=e=>{const l={select:At(e).select,in:(n,a,i,u)=>{let o=new Map;for(const r of n||[])a.has(r)||(o=l.select({id:r,value:!0,selected:o,children:a,parents:i,disabled:u}));return o},out:n=>{const a=[];for(const[i,u]of n.entries())(u==="on"||u==="indeterminate")&&a.push(i);return a}};return l},De=Symbol.for("vuetify:nested"),Sn={id:K(),root:{itemsRegistration:$("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:$(new Map),parents:$(new Map),disabled:$(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:$(!1),scrollToActive:$(!1),selectable:$(!1),opened:$(new Set),activated:$(new Set),selected:$(new Map),selectedValues:$([]),getPath:()=>[]}},Ma=D({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:"render"}},"nested"),La=(e,{items:t,returnObject:l,scrollToActive:n})=>{let a=!1;const i=K(new Map),u=K(new Map),o=K(new Set),r=re(e,"opened",e.opened,c=>new Set(Array.isArray(c)?c.map(S=>ie(S)):c),c=>[...c.values()]),d=w(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return xa(e.mandatory);case"single-leaf":return Aa(e.mandatory);case"independent":return wt(e.mandatory);default:return yn(e.mandatory)}}),y=w(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return Ba(e.mandatory);case"leaf":return _a(e.mandatory);case"independent":return xt(e.mandatory);case"single-independent":return bn(e.mandatory);case"trunk":return Ta(e.mandatory);case"branch":return Fa(e.mandatory);default:return At(e.mandatory)}}),v=w(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return Pa;case"single":return pa;default:return hn}}),f=re(e,"activated",e.activated,c=>d.value.in(c,i.value,u.value),c=>d.value.out(c,i.value,u.value)),m=re(e,"selected",e.selected,c=>y.value.in(c,i.value,u.value,o.value),c=>y.value.out(c,i.value,u.value));tt(()=>{a=!0});function s(c){const S=[];let g=ie(c);for(;g!==void 0;)S.unshift(g),g=u.value.get(g);return S}const C=ht("nested"),A=new Set,T=aa(()=>{Se(()=>{i.value=new Map(i.value),u.value=new Map(u.value)})},100);J(()=>[t.value,Ie(l)],()=>{e.itemsRegistration==="props"&&L()},{immediate:!0});function L(){const c=new Map,S=new Map,g=new Set,h=Ie(l)?M=>ie(M.raw):M=>M.value,B=[...t.value];let F=0;for(;F<B.length;){const M=B[F++],G=h(M);if(M.children){const O=[];for(const j of M.children){const X=h(j);c.set(X,G),O.push(X),B.push(j)}S.set(G,O)}M.props.disabled&&g.add(G)}i.value=S,u.value=c,o.value=g}const p={id:K(),root:{opened:r,activatable:I(()=>e.activatable),scrollToActive:I(()=>Ie(n)),selectable:I(()=>e.selectable),activated:f,selected:m,selectedValues:w(()=>{const c=[];for(const[S,g]of m.value.entries())g==="on"&&c.push(S);return c}),itemsRegistration:I(()=>e.itemsRegistration),register:(c,S,g,h)=>{if(A.has(c)){s(c).map(String).join(" -> "),s(S).concat(c).map(String).join(" -> ");return}else A.add(c);S&&c!==S&&u.value.set(c,S),g&&o.value.add(c),h&&i.value.set(c,[]),S!=null&&i.value.set(S,[...i.value.get(S)||[],c]),T()},unregister:c=>{if(a)return;A.delete(c),i.value.delete(c),o.value.delete(c);const S=u.value.get(c);if(S){const g=i.value.get(S)??[];i.value.set(S,g.filter(h=>h!==c))}u.value.delete(c),T()},updateDisabled:(c,S)=>{S?o.value.add(c):o.value.delete(c)},open:(c,S,g)=>{C.emit("click:open",{id:c,value:S,path:s(c),event:g});const h=v.value.open({id:c,value:S,opened:new Set(r.value),children:i.value,parents:u.value,event:g});h&&(r.value=h)},openOnSelect:(c,S,g)=>{const h=v.value.select({id:c,value:S,selected:new Map(m.value),opened:new Set(r.value),children:i.value,parents:u.value,event:g});h&&(r.value=h)},select:(c,S,g)=>{C.emit("click:select",{id:c,value:S,path:s(c),event:g});const h=y.value.select({id:c,value:S,selected:new Map(m.value),children:i.value,parents:u.value,disabled:o.value,event:g});h&&(m.value=h),p.root.openOnSelect(c,S,g)},activate:(c,S,g)=>{if(!e.activatable)return p.root.select(c,!0,g);C.emit("click:activate",{id:c,value:S,path:s(c),event:g});const h=d.value.activate({id:c,value:S,activated:new Set(f.value),children:i.value,parents:u.value,event:g});if(h.size!==f.value.size)f.value=h;else{for(const B of h)if(!f.value.has(B)){f.value=h;return}for(const B of f.value)if(!h.has(B)){f.value=h;return}}},children:i,parents:u,disabled:o,getPath:s}};return $e(De,p),p.root},kn=(e,t,l)=>{const n=xe(De,Sn),a=Symbol("nested item"),i=w(()=>{const o=ie(Ie(e));return o!==void 0?o:a}),u={...n,id:i,open:(o,r)=>n.root.open(i.value,o,r),openOnSelect:(o,r)=>n.root.openOnSelect(i.value,o,r),isOpen:w(()=>n.root.opened.value.has(i.value)),parent:w(()=>n.root.parents.value.get(i.value)),activate:(o,r)=>n.root.activate(i.value,o,r),isActivated:w(()=>n.root.activated.value.has(i.value)),scrollToActive:n.root.scrollToActive,select:(o,r)=>n.root.select(i.value,o,r),isSelected:w(()=>n.root.selected.value.get(i.value)==="on"),isIndeterminate:w(()=>n.root.selected.value.get(i.value)==="indeterminate"),isLeaf:w(()=>!n.root.children.value.get(i.value)),isGroupActivator:n.isGroupActivator};return Ct(()=>{n.isGroupActivator||n.root.itemsRegistration.value==="props"||Se(()=>{n.root.register(i.value,n.id.value,Ie(t),l)})}),tt(()=>{n.isGroupActivator||n.root.itemsRegistration.value==="props"||n.root.unregister(i.value)}),J(i,(o,r)=>{n.isGroupActivator||n.root.itemsRegistration.value==="props"||(n.root.unregister(r),Se(()=>{n.root.register(o,n.id.value,Ie(t),l)}))}),J(()=>Ie(t),o=>{n.root.updateDisabled(i.value,o)}),l&&$e(De,u),u},Oa=()=>{const e=xe(De,Sn);$e(De,{...e,isGroupActivator:!0})},Ra=Dn({name:"VListGroupActivator",setup(e,{slots:t}){return Oa(),()=>t.default?.()}}),Da=D({activeColor:String,baseColor:String,color:String,collapseIcon:{type:ue,default:"$collapse"},disabled:Boolean,expandIcon:{type:ue,default:"$expand"},rawId:[String,Number],prependIcon:ue,appendIcon:ue,fluid:Boolean,subgroup:Boolean,title:String,value:null,...oe(),...ze()},"VListGroup"),Et=Y()({name:"VListGroup",props:Da(),setup(e,{slots:t}){const{isOpen:l,open:n,id:a}=kn(()=>e.value,()=>e.disabled,!0),i=w(()=>`v-list-group--id-${String(e.rawId??a.value)}`),u=gn(),{isBooted:o}=On(),r=xe(De),d=I(()=>r?.root?.itemsRegistration.value==="render");function y(s){["INPUT","TEXTAREA"].includes(s.target?.tagName)||n(!l.value,s)}const v=w(()=>({onClick:y,class:"v-list-group__header",id:i.value})),f=w(()=>l.value?e.collapseIcon:e.expandIcon),m=w(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return Z(()=>x(e.tag,{class:Q(["v-list-group",{"v-list-group--prepend":u?.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":l.value},e.class]),style:se(e.style)},{default:()=>[t.activator&&x(Re,{defaults:m.value},{default:()=>[x(Ra,null,{default:()=>[t.activator({props:v.value,isOpen:l.value})]})]}),x(dt,{transition:{component:Rn},disabled:!o.value},{default:()=>[d.value?Ee(k("div",{class:"v-list-group__items",role:"group","aria-labelledby":i.value},[t.default?.()]),[[kt,l.value]]):l.value&&k("div",{class:"v-list-group__items",role:"group","aria-labelledby":i.value},[t.default?.()])]})]})),{isOpen:l}}}),Ea=D({opacity:[Number,String],...oe(),...ze()},"VListItemSubtitle"),$a=Y()({name:"VListItemSubtitle",props:Ea(),setup(e,{slots:t}){return Z(()=>x(e.tag,{class:Q(["v-list-item-subtitle",e.class]),style:se([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},t)),{}}}),Na=En("v-list-item-title"),Ka=D({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:ue,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:ue,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:ye(),onClickOnce:ye(),...Yt(),...oe(),...et(),...Ze(),...Xt(),...yt(),...Gn(),...ze(),...Be(),...Wt({variant:"text"})},"VListItem"),qe=Y()({name:"VListItem",directives:{vRipple:Xe},props:Ka(),emits:{click:e=>!0},setup(e,{attrs:t,slots:l,emit:n}){const a=$n(e,t),i=$(),u=w(()=>e.value===void 0?a.href.value:e.value),{activate:o,isActivated:r,select:d,isOpen:y,isSelected:v,isIndeterminate:f,isGroupActivator:m,root:s,parent:C,openOnSelect:A,scrollToActive:T,id:L}=kn(u,()=>e.disabled,!1),p=gn(),c=w(()=>e.active!==!1&&(e.active||a.isActive?.value||(s.activatable.value?r.value:v.value))),S=I(()=>e.link!==!1&&a.isLink.value),g=w(()=>!!p&&(s.selectable.value||s.activatable.value||e.value!=null)),h=w(()=>!e.disabled&&e.link!==!1&&(e.link||a.isClickable.value||g.value)),B=w(()=>p&&p.navigationStrategy.value==="track"&&e.index!==void 0&&p.trackingIndex.value===e.index),F=w(()=>p?S.value?"link":g.value?"option":"listitem":void 0),M=w(()=>{if(g.value)return s.activatable.value?r.value:s.selectable.value?v.value:c.value}),G=I(()=>e.rounded||e.nav),O=I(()=>e.color??e.activeColor),j=I(()=>({color:c.value?O.value??e.baseColor:e.baseColor,variant:e.variant}));J(()=>a.isActive?.value,z=>{z&&X()}),J(r,z=>{!z||!T||i.value?.scrollIntoView({block:"nearest",behavior:"instant"})}),J(B,z=>{z&&i.value?.scrollIntoView({block:"nearest",behavior:"instant"})}),Ct(()=>{a.isActive?.value&&Se(()=>X())});function X(){C.value!=null&&s.open(C.value,!0),A(!0)}const{themeClasses:ce}=Ge(e),{borderClasses:ne}=zt(e),{colorClasses:E,colorStyles:ee,variantClasses:te}=Nn(j),{densityClasses:b}=Je(e),{dimensionStyles:P}=Qe(e),{elevationClasses:_}=Ht(e),{roundedClasses:U}=ft(G),q=I(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),le=I(()=>e.ripple!==void 0&&e.ripple&&p?.filterable?{keys:["Enter"]}:e.ripple),we=w(()=>({isActive:c.value,select:d,isOpen:y.value,isSelected:v.value,isIndeterminate:f.value,isDisabled:e.disabled}));function Ae(z){n("click",z),!["INPUT","TEXTAREA"].includes(z.target?.tagName)&&h.value&&(a.navigate.value?.(z),!m&&(s.activatable.value?o(!r.value,z):(s.selectable.value||e.value!=null&&!S.value)&&d(!v.value,z)))}function Fe(z){const Pe=z.target;["INPUT","TEXTAREA"].includes(Pe.tagName)||(z.key==="Enter"||z.key===" "&&!p?.filterable)&&(z.preventDefault(),z.stopPropagation(),z.target.dispatchEvent(new MouseEvent("click",z)))}return Z(()=>{const z=S.value?"a":e.tag,Pe=l.title||e.title!=null,nt=l.subtitle||e.subtitle!=null,V=!!(!!(e.appendAvatar||e.appendIcon)||l.append),W=!!(!!(e.prependAvatar||e.prependIcon)||l.prepend);return p?.updateHasPrepend(W),e.activeColor&&Kn("active-color",["color","base-color"]),Ee(x(z,N(a.linkProps,{ref:i,id:e.index!==void 0&&p?`v-list-item-${p.uid}-${e.index}`:void 0,class:["v-list-item",{"v-list-item--active":c.value,"v-list-item--disabled":e.disabled,"v-list-item--link":h.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!W&&p?.hasPrepend.value,"v-list-item--slim":e.slim,"v-list-item--focus-visible":B.value,[`${e.activeClass}`]:e.activeClass&&c.value},ce.value,ne.value,E.value,b.value,_.value,q.value,U.value,te.value,e.class],style:[{"--v-list-prepend-gap":fe(e.prependGap)},ee.value,P.value,e.style],tabindex:e.tabindex??(h.value?p?-2:0:void 0),"aria-selected":M.value,role:F.value,onClick:Ae,onKeydown:h.value&&!S.value&&Fe}),{default:()=>[jn(h.value||c.value,"v-list-item"),W&&k("div",{key:"prepend",class:"v-list-item__prepend"},[l.prepend?x(Re,{key:"prepend-defaults",defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[l.prepend?.(we.value)]}):k(me,null,[e.prependAvatar&&x(st,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&x(Oe,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),k("div",{class:"v-list-item__spacer"},null)]),k("div",{class:"v-list-item__content","data-no-activator":""},[Pe&&x(Na,{key:"title"},{default:()=>[l.title?.({title:e.title})??Ft(e.title)]}),nt&&x($a,{key:"subtitle"},{default:()=>[l.subtitle?.({subtitle:e.subtitle})??Ft(e.subtitle)]}),l.default?.(we.value)]),V&&k("div",{key:"append",class:"v-list-item__append"},[l.append?x(Re,{key:"append-defaults",defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[l.append?.(we.value)]}):k(me,null,[e.appendIcon&&x(Oe,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&x(st,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),k("div",{class:"v-list-item__spacer"},null)])]}),[[Xe,h.value&&le.value]])}),{activate:o,isActivated:r,isGroupActivator:m,isSelected:v,list:p,select:d,root:s,id:L,link:a}}}),ja=D({color:String,inset:Boolean,sticky:Boolean,title:String,...oe(),...ze()},"VListSubheader"),Cn=Y()({name:"VListSubheader",props:ja(),setup(e,{slots:t}){const{textColorClasses:l,textColorStyles:n}=Ue(()=>e.color);return Z(()=>{const a=!!(t.default||e.title);return x(e.tag,{class:Q(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},l.value,e.class]),style:se([{textColorStyles:n},e.style])},{default:()=>[a&&k("div",{class:"v-list-subheader__text"},[t.default?.()??e.title])]})}),{}}}),Ga=D({items:Array,returnObject:Boolean},"VListChildren"),In=Y()({name:"VListChildren",props:Ga(),setup(e,{slots:t}){return mn(),()=>t.default?.()??e.items?.map(({children:l,props:n,type:a,raw:i},u)=>{if(a==="divider")return t.divider?.({props:n})??x(fn,n,null);if(a==="subheader")return t.subheader?.({props:n})??x(Cn,n,null);const o={subtitle:t.subtitle?d=>t.subtitle?.({...d,item:i}):void 0,prepend:t.prepend?d=>t.prepend?.({...d,item:i}):void 0,append:t.append?d=>t.append?.({...d,item:i}):void 0,title:t.title?d=>t.title?.({...d,item:i}):void 0},r=Et.filterProps(n);return l?x(Et,N(r,{value:e.returnObject?i:n?.value,rawId:n?.value}),{activator:({props:d})=>{const y=N(n,d,{value:e.returnObject?i:n.value});return t.header?t.header({props:y}):x(qe,N(y,{index:u}),o)},default:()=>x(In,{items:l,returnObject:e.returnObject},t)}):t.item?t.item({props:{...n,index:u}}):x(qe,N(n,{index:u,value:e.returnObject?i:n.value}),o)})}}),Vn=D({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),Ua=new Set(["item","divider","subheader"]);function Le(e,t){const l=ge(t,e.itemTitle,t),n=ge(t,e.itemValue,l),a=ge(t,e.itemChildren),i=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?Te(t,["children"]):t:void 0:ge(t,e.itemProps);let u=ge(t,e.itemType,"item");Ua.has(u)||(u="item");const o={title:l,value:n,...i};return{type:u,title:String(o.title??""),value:o.value,props:o,children:u==="item"&&Array.isArray(a)?wn(e,a):void 0,raw:t}}Le.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function wn(e,t){const l=bt(e,Le.neededProps),n=[];for(const a of t)n.push(Le(l,a));return n}function za(e){const t=w(()=>wn(e,e.items)),l=w(()=>t.value.some(o=>o.value===null)),n=K(new Map),a=K([]);Ye(()=>{const o=t.value,r=new Map,d=[];for(let y=0;y<o.length;y++){const v=o[y];if(rt(v.value)||v.value===null){let f=r.get(v.value);f||(f=[],r.set(v.value,f)),f.push(v)}else d.push(v)}n.value=r,a.value=d});function i(o){const r=n.value,d=t.value,y=a.value,v=l.value,f=e.returnObject,m=!!e.valueComparator,s=e.valueComparator||Me,C=bt(e,Le.neededProps),A=[];e:for(const T of o){if(!v&&T===null)continue;if(f&&typeof T=="string"){A.push(Le(C,T));continue}const L=r.get(T);if(m||!L){for(const p of m?d:y)if(s(T,p.value)){A.push(p);continue e}A.push(Le(C,T));continue}A.push(...L)}return A}function u(o){return e.returnObject?o.map(({raw:r})=>r):o.map(({value:r})=>r)}return{items:t,transformIn:i,transformOut:u}}const Ha=new Set(["item","divider","subheader"]);function Wa(e,t){const l=rt(t)?t:ge(t,e.itemTitle),n=rt(t)?t:ge(t,e.itemValue,void 0),a=ge(t,e.itemChildren),i=e.itemProps===!0?Te(t,["children"]):ge(t,e.itemProps);let u=ge(t,e.itemType,"item");Ha.has(u)||(u="item");const o={title:l,value:n,...i};return{type:u,title:o.title,value:o.value,props:o,children:u==="item"&&a?xn(e,a):void 0,raw:t}}function xn(e,t){const l=[];for(const n of t)l.push(Wa(e,n));return l}function Xa(e){return{items:w(()=>xn(e,e.items))}}const Ya=D({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:ue,collapseIcon:ue,lines:{type:[Boolean,String],default:"one"},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:"focus"},navigationIndex:Number,"onClick:open":ye(),"onClick:select":ye(),"onUpdate:opened":ye(),...Ma({selectStrategy:"single-leaf",openStrategy:"list"}),...Yt(),...oe(),...et(),...Ze(),...Xt(),...Vn(),...yt(),...ze(),...Be(),...Wt({variant:"text"})},"VList"),qa=Y()({name:"VList",props:Ya(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,{attrs:t,slots:l,emit:n}){const{items:a}=Xa(e),{themeClasses:i}=Ge(e),{backgroundColorClasses:u,backgroundColorStyles:o}=gt(()=>e.bgColor),{borderClasses:r}=zt(e),{densityClasses:d}=Je(e),{dimensionStyles:y}=Qe(e),{elevationClasses:v}=Ht(e),{roundedClasses:f}=ft(e),{children:m,open:s,parents:C,select:A,getPath:T}=La(e,{items:a,returnObject:I(()=>e.returnObject),scrollToActive:I(()=>e.navigationStrategy==="track")}),L=I(()=>e.lines?`v-list--${e.lines}-line`:void 0),p=I(()=>e.activeColor),c=I(()=>e.baseColor),S=I(()=>e.color),g=I(()=>e.selectable||e.activatable),h=re(e,"navigationIndex",-1,b=>b??-1),B=Ve();mn({filterable:e.filterable,trackingIndex:h,navigationStrategy:I(()=>e.navigationStrategy),uid:B}),J(a,()=>{e.navigationStrategy==="track"&&(h.value=-1)}),Ut({VListGroup:{activeColor:p,baseColor:c,color:S,expandIcon:I(()=>e.expandIcon),collapseIcon:I(()=>e.collapseIcon)},VListItem:{activeClass:I(()=>e.activeClass),activeColor:p,baseColor:c,color:S,density:I(()=>e.density),disabled:I(()=>e.disabled),lines:I(()=>e.lines),nav:I(()=>e.nav),slim:I(()=>e.slim),variant:I(()=>e.variant),tabindex:I(()=>e.navigationStrategy==="track"?-1:void 0)}});const F=K(!1),M=$();function G(b){F.value=!0}function O(b){F.value=!1}function j(b){e.navigationStrategy==="track"?~h.value||(h.value=ne("first")):!F.value&&!(b.relatedTarget&&M.value?.contains(b.relatedTarget))&&te()}function X(){e.navigationStrategy==="track"&&(h.value=-1)}function ce(b){switch(b){case"ArrowDown":return"next";case"ArrowUp":return"prev";case"Home":return"first";case"End":return"last";default:return null}}function ne(b){const P=a.value.length;if(P===0)return-1;let _;b==="first"?_=0:b==="last"?_=P-1:(_=h.value+(b==="next"?1:-1),_<0&&(_=P-1),_>=P&&(_=0));const U=_;let q=0;for(;q<P;){const le=a.value[_];if(le&&le.type!=="divider"&&le.type!=="subheader")return _;if(_+=b==="next"||b==="first"?1:-1,_<0&&(_=P-1),_>=P&&(_=0),_===U)return-1;q++}return-1}function E(b){const P=b.target;if(!M.value||P.tagName==="INPUT"&&["Home","End"].includes(b.key)||P.tagName==="TEXTAREA")return;const _=ce(b.key);if(_!==null)if(b.preventDefault(),e.navigationStrategy==="track"){const U=ne(_);U!==-1&&(h.value=U)}else te(_)}function ee(b){F.value=!0}function te(b){if(M.value)return We(M.value,b)}return Z(()=>{const b=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),P=g.value?t.ariaMultiselectable??!String(e.selectStrategy).startsWith("single-"):void 0;return x(e.tag,{ref:M,class:Q(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},i.value,u.value,r.value,d.value,v.value,L.value,f.value,e.class]),style:se([{"--v-list-indent":fe(b),"--v-list-group-prepend":b?"0px":void 0,"--v-list-prepend-gap":fe(e.prependGap)},o.value,y.value,e.style]),tabindex:e.disabled?-1:0,role:g.value?"listbox":"list","aria-activedescendant":e.navigationStrategy==="track"&&h.value>=0?`v-list-item-${B}-${h.value}`:void 0,"aria-multiselectable":P,onFocusin:G,onFocusout:O,onFocus:j,onBlur:X,onKeydown:E,onMousedown:ee},{default:()=>[x(In,{items:a.value,returnObject:e.returnObject},l)]})}),{open:s,select:A,focus:te,children:m,parents:C,getPath:T,navigationIndex:h}}}),Ja=D({id:String,submenu:Boolean,...Te(Hn({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:en}}),["absolute"])},"VMenu"),Qa=Y()({name:"VMenu",props:Ja(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){const l=re(e,"modelValue"),{scopeId:n}=Un(),{isRtl:a}=mt(),i=Ve(),u=I(()=>e.id||`v-menu-${i}`),o=$(),r=xe(_t,null),d=K(new Set);$e(_t,{register(){d.value.add(i)},unregister(){d.value.delete(i)},closeParents(s){setTimeout(()=>{!d.value.size&&!e.persistent&&(s==null||o.value?.contentEl&&!Wn(s,o.value.contentEl))&&(l.value=!1,r?.closeParents())},40)}}),tt(()=>r?.unregister()),ea(()=>l.value=!1),J(l,s=>{s?r?.register():r?.unregister()},{immediate:!0});function y(s){r?.closeParents(s)}function v(s){if(!e.disabled)if(s.key==="Tab"||s.key==="Enter"&&!e.closeOnContentClick){if(s.key==="Enter"&&(s.target instanceof HTMLTextAreaElement||s.target instanceof HTMLInputElement&&s.target.closest("form")))return;s.key==="Enter"&&s.preventDefault(),!zn(qt(o.value?.contentEl,!1),s.shiftKey?"prev":"next",A=>A.tabIndex>=0)&&!e.retainFocus&&(l.value=!1,o.value?.activatorEl?.focus())}else e.submenu&&s.key===(a.value?"ArrowRight":"ArrowLeft")&&(l.value=!1,o.value?.activatorEl?.focus())}function f(s){if(e.disabled)return;const C=o.value?.contentEl;C&&l.value?s.key==="ArrowDown"?(s.preventDefault(),s.stopImmediatePropagation(),We(C,"next")):s.key==="ArrowUp"?(s.preventDefault(),s.stopImmediatePropagation(),We(C,"prev")):e.submenu&&(s.key===(a.value?"ArrowRight":"ArrowLeft")?l.value=!1:s.key===(a.value?"ArrowLeft":"ArrowRight")&&(s.preventDefault(),We(C,"first"))):(e.submenu?s.key===(a.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(s.key))&&(l.value=!0,s.preventDefault(),setTimeout(()=>setTimeout(()=>f(s))))}const m=w(()=>N({"aria-haspopup":"menu","aria-expanded":String(l.value),"aria-controls":u.value,"aria-owns":u.value,onKeydown:f},e.activatorProps));return Z(()=>{const s=Bt.filterProps(e);return x(Bt,N({ref:o,id:u.value,class:["v-menu",e.class],style:e.style},s,{modelValue:l.value,"onUpdate:modelValue":C=>l.value=C,absolute:!0,activatorProps:m.value,location:e.location??(e.submenu?"end":"bottom"),"onClick:outside":y,onKeydown:v},n),{activator:t.activator,default:(...C)=>x(Re,{root:"VMenu"},{default:()=>[t.default?.(...C)]})})}),St({id:u,ΨopenChildren:d},o)}}),Za=D({renderless:Boolean,...oe()},"VVirtualScrollItem"),el=Y()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Za(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:l,slots:n}){const{resizeRef:a,contentRect:i}=Jt(void 0,"border");J(()=>i.value?.height,u=>{u!=null&&l("update:height",u)}),Z(()=>e.renderless?k(me,null,[n.default?.({itemRef:a})]):k("div",N({ref:a,class:["v-virtual-scroll__item",e.class],style:e.style},t),[n.default?.()]))}}),tl=-1,nl=1,lt=100,al=D({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function ll(e,t){const l=Xn(),n=K(0);Ye(()=>{n.value=parseFloat(e.itemHeight||0)});const a=K(0),i=K(Math.ceil((parseInt(e.height)||l.height.value)/(n.value||16))||1),u=K(0),o=K(0),r=$(),d=$();let y=0;const{resizeRef:v,contentRect:f}=Jt();Ye(()=>{v.value=r.value});const m=w(()=>r.value===document.documentElement?l.height.value:f.value?.height||parseInt(e.height)||0),s=w(()=>!!(r.value&&d.value&&m.value&&n.value));let C=Array.from({length:t.value.length}),A=Array.from({length:t.value.length});const T=K(0);let L=-1;function p(b){return C[b]||n.value}const c=Yn(()=>{const b=performance.now();A[0]=0;const P=t.value.length;for(let _=1;_<=P;_++)A[_]=(A[_-1]||0)+p(_-1);T.value=Math.max(T.value,performance.now()-b)},T),S=J(s,b=>{b&&(S(),y=d.value.offsetTop,c.immediate(),ne(),~L&&Se(()=>{Qt&&window.requestAnimationFrame(()=>{ee(L),L=-1})}))});It(()=>{c.clear()});function g(b,P){const _=C[b],U=n.value;n.value=U?Math.min(n.value,P):P,(_!==P||U!==n.value)&&(C[b]=P,c())}function h(b){b=at(b,0,t.value.length);const P=Math.floor(b),_=b%1,U=P+1,q=A[P]||0,le=A[U]||q;return q+(le-q)*_}function B(b){return il(A,b)}let F=0,M=0,G=0;J(m,(b,P)=>{ne(),b<P&&requestAnimationFrame(()=>{M=0,ne()})});let O=-1;function j(){if(!r.value||!d.value)return;const b=r.value.scrollTop,P=performance.now();P-G>500?(M=Math.sign(b-F),y=d.value.offsetTop):M=b-F,F=b,G=P,window.clearTimeout(O),O=window.setTimeout(X,500),ne()}function X(){!r.value||!d.value||(M=0,G=0,window.clearTimeout(O),ne())}let ce=-1;function ne(){cancelAnimationFrame(ce),ce=requestAnimationFrame(E)}function E(){if(!r.value||!m.value||!n.value)return;const b=F-y,P=Math.sign(M),_=Math.max(0,b-lt),U=at(B(_),0,t.value.length),q=b+m.value+lt,le=at(B(q)+1,U+1,t.value.length);if((P!==tl||U<a.value)&&(P!==nl||le>i.value)){const we=h(a.value)-h(U),Ae=h(le)-h(i.value);Math.max(we,Ae)>lt?(a.value=U,i.value=le):(U<=0&&(a.value=U),le>=t.value.length&&(i.value=le))}u.value=h(a.value),o.value=h(t.value.length)-h(i.value)}function ee(b){const P=h(b);!r.value||b&&!P?L=b:r.value.scrollTop=P}const te=w(()=>t.value.slice(a.value,i.value).map((b,P)=>{const _=P+a.value;return{raw:b,index:_,key:ge(b,e.itemKey,_)}}));return J(t,()=>{C=Array.from({length:t.value.length}),A=Array.from({length:t.value.length}),c.immediate(),ne()},{deep:1}),{calculateVisibleItems:ne,containerRef:r,markerRef:d,computedItems:te,paddingTop:u,paddingBottom:o,scrollToIndex:ee,handleScroll:j,handleScrollend:X,handleItemResize:g}}function il(e,t){let l=e.length-1,n=0,a=0,i=null,u=-1;if(e[l]<t)return l;for(;n<=l;)if(a=n+l>>1,i=e[a],i>t)l=a-1;else if(i<t)u=a,n=a+1;else return i===t?a:n;return u}const ul=D({items:{type:Array,default:()=>[]},renderless:Boolean,...al(),...oe(),...Ze()},"VVirtualScroll"),ol=Y()({name:"VVirtualScroll",props:ul(),setup(e,{slots:t}){const l=ht("VVirtualScroll"),{dimensionStyles:n}=Qe(e),{calculateVisibleItems:a,containerRef:i,markerRef:u,handleScroll:o,handleScrollend:r,handleItemResize:d,scrollToIndex:y,paddingTop:v,paddingBottom:f,computedItems:m}=ll(e,I(()=>e.items));return ut(()=>e.renderless,()=>{function s(C=!1){const A=C?"addEventListener":"removeEventListener";i.value===document.documentElement?(document[A]("scroll",o,{passive:!0}),document[A]("scrollend",r)):(i.value?.[A]("scroll",o,{passive:!0}),i.value?.[A]("scrollend",r))}Zt(()=>{i.value=qn(l.vnode.el,!0),s(!0)}),It(s)}),Z(()=>{const s=m.value.map(C=>x(el,{key:C.key,renderless:e.renderless,"onUpdate:height":A=>d(C.index,A)},{default:A=>t.default?.({item:C.raw,index:C.index,...A})}));return e.renderless?k(me,null,[k("div",{ref:u,class:"v-virtual-scroll__spacer",style:{paddingTop:fe(v.value)}},null),s,k("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:fe(f.value)}},null)]):k("div",{ref:i,class:Q(["v-virtual-scroll",e.class]),onScrollPassive:o,onScrollend:r,style:se([n.value,e.style])},[k("div",{ref:u,class:"v-virtual-scroll__container",style:{paddingTop:fe(v.value),paddingBottom:fe(f.value)}},[s])])}),{calculateVisibleItems:a,scrollToIndex:y}}});function rl(e,t){const l=K(!1);let n;function a(o){cancelAnimationFrame(n),l.value=!0,n=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{l.value=!1})})}async function i(){await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>requestAnimationFrame(o)),await new Promise(o=>{if(l.value){const r=J(l,()=>{r(),o()})}else o()})}async function u(o){if(o.key==="Tab"&&t.value?.focus(),!["PageDown","PageUp","Home","End"].includes(o.key))return;const r=e.value?.$el;if(!r)return;(o.key==="Home"||o.key==="End")&&r.scrollTo({top:o.key==="Home"?0:r.scrollHeight,behavior:"smooth"}),await i();const d=r.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(o.key==="PageDown"||o.key==="Home"){const y=r.getBoundingClientRect().top;for(const v of d)if(v.getBoundingClientRect().top>=y){v.focus();break}}else{const y=r.getBoundingClientRect().bottom;for(const v of[...d].reverse())if(v.getBoundingClientRect().bottom<=y){v.focus();break}}}return{onScrollPassive:a,onKeydown:u}}function sl({groups:e,onLeave:t}){function l(u){return u.type==="list"?u.contentRef.value?.$el:u.contentRef.value}function n(u){const o=l(u);return o?qt(o):[]}function a(u){const o=u.target,r=u.shiftKey?"backward":"forward",d=e.map(n),y=e.map(f=>f.type==="list"?f.contentRef.value?.$el:f.contentRef.value).findIndex(f=>f?.contains(o)),v=i(d,y,r,o);if(v===null){const f=e[y],m=d[y];(f.type==="list"||(r==="forward"?m.at(-1)===u.target:m.at(0)===u.target))&&t()}else{u.preventDefault(),u.stopImmediatePropagation();const f=e[v];if(f.type==="list"&&Ie(f.displayItemsCount)>0)f.contentRef.value?.focus(0);else{const m=r==="forward";d[v].at(m?0:-1).focus()}}}function i(u,o,r,d){const y=e[o],v=u[o];if(y.type!=="list"&&!(r==="forward"?v.at(-1)===d:v.at(0)===d))return null;const f=r==="forward"?1:-1;for(let m=o+f;m>=0&&m<e.length;m+=f){const s=e[m];if(u[m].length>0||s.type==="list"&&Ie(s.displayItemsCount)>0)return m}return null}return{onTabKeydown:a}}const cl=(e,t,l)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();const n=[];let a=e.indexOf(t);for(;~a;)n.push([a,a+t.length]),a=e.indexOf(t,a+t.length);return n.length?n:-1};function it(e,t){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}const dl=D({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function vl(e,t,l){const n=[],a=l?.default??cl,i=l?.filterKeys?he(l.filterKeys):!1,u=Object.keys(l?.customKeyFilter??{}).length;if(!e?.length)return n;let o=[];e:for(let r=0;r<e.length;r++){const[d,y=d]=he(e[r]),v={},f={};let m=-1;if((t||u>0)&&!l?.noFilter){let s=!1;if(typeof d=="object"){if(d.type==="divider"||d.type==="subheader"){(o.at(-1)?.type!=="divider"||d.type!=="subheader")&&(o=[]),o.push({index:r,matches:{},type:d.type});continue}const T=i||Object.keys(y);s=T.length===u;for(const L of T){const p=ge(y,L),c=l?.customKeyFilter?.[L];if(m=c?c(p,t,d):a(p,t,d),m!==-1&&m!==!1)c?v[L]=it(m,t):f[L]=it(m,t);else if(l?.filterMode==="every")continue e}}else m=a(d,t,d),m!==-1&&m!==!1&&(f.title=it(m,t));const C=Object.keys(f).length,A=Object.keys(v).length;if(!C&&!A||l?.filterMode==="union"&&A!==u&&!C||l?.filterMode==="intersection"&&(A!==u||!C&&u>0&&!s))continue}o.length&&(n.push(...o),o=[]),n.push({index:r,matches:{...f,...v}})}return n}function fl(e,t,l,n){const a=K([]),i=K(new Map),u=w(()=>je(t));Ye(()=>{const r=typeof l=="function"?l():je(l),d=typeof r!="string"&&typeof r!="number"?"":String(r),y=vl(u.value,d,{customKeyFilter:{...e.customKeyFilter,...je(n?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),v=je(t),f=[],m=new Map;y.forEach(({index:s,matches:C})=>{const A=v[s];f.push(A),m.set(A.value,C)}),a.value=f,i.value=m});function o(r){return i.value.get(r.value)}return{filteredItems:a,filteredMatches:i,getMatches:o}}function ml(e,t,l){return l==null||!l.length?t:l.map((n,a)=>{const i=a===0?0:l[a-1][1],u=[k("span",{class:Q(`${e}__unmask`)},[t.slice(i,n[0])]),k("span",{class:Q(`${e}__mask`)},[t.slice(n[0],n[1])])];return a===l.length-1&&u.push(k("span",{class:Q(`${e}__unmask`)},[t.slice(n[1])])),k(me,null,[u])})}const gl=D({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function yl(e,t){const l=Ve(),n=w(()=>`menu-${l}`),a=I(()=>Ie(t)),i=I(()=>n.value);return{menuId:n,ariaExpanded:a,ariaControls:i}}const hl=D({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:ue,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...gl(),...Vn({itemChildren:!1})},"Select"),bl=D({search:String,...dl({filterKeys:["title"]}),...hl(),...Te(sn({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...vt({transition:{component:en}})},"VSelect"),Vl=Y()({name:"VSelect",props:bl(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(e,{slots:t}){const{t:l}=Nt(),n=$(),a=$(),i=$(),u=$(),o=$(),{items:r,transformIn:d,transformOut:y}=za(e),v=re(e,"search",""),{filteredItems:f,getMatches:m}=fl(e,r,()=>v.value),s=re(e,"modelValue",[],V=>d(V===null?[null]:he(V)),V=>{const H=y(V);return e.multiple?H:H[0]??null}),C=w(()=>typeof e.counterValue=="function"?e.counterValue(s.value):typeof e.counterValue=="number"?e.counterValue:s.value.length),A=un(e),T=rn(e),L=w(()=>s.value.map(V=>V.value)),p=K(!1),c=I(()=>e.closableChips&&!A.isReadonly.value&&!A.isDisabled.value),{InputIcon:S}=Vt(e);let g="",h=0,B;const F=w(()=>{const V=v.value?f.value:r.value;return e.hideSelected?V.filter(H=>!s.value.some(W=>(e.valueComparator||Me)(W,H))):V}),M=w(()=>e.hideNoData&&!F.value.length||A.isReadonly.value||A.isDisabled.value),G=re(e,"menu"),O=w({get:()=>G.value,set:V=>{G.value&&!V&&a.value?.ΨopenChildren.size||V&&M.value||(G.value=V)}}),{menuId:j,ariaExpanded:X,ariaControls:ce}=yl(e,O),ne=w(()=>({...e.menuProps,activatorProps:{...e.menuProps?.activatorProps||{},"aria-haspopup":"listbox"}})),E=$(),ee=rl(E,n),{onTabKeydown:te}=sl({groups:[{type:"element",contentRef:i},{type:"list",contentRef:E,displayItemsCount:()=>F.value.length},{type:"element",contentRef:u}],onLeave:()=>{O.value=!1,n.value?.focus()}});function b(V){e.openOnClear&&(O.value=!0)}function P(){M.value||(O.value=!O.value)}function _(V){V.key==="Tab"&&te(V),E.value?.$el.contains(V.target)&&Tt(V)&&U(V)}function U(V){if(!V.key||A.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(V.key)&&V.preventDefault(),["Enter","ArrowDown"," "].includes(V.key)&&(O.value=!0),["Escape","Tab"].includes(V.key)&&(O.value=!1),e.clearable&&V.key==="Backspace"){V.preventDefault(),s.value=[],b();return}V.key==="Home"?E.value?.focus("first"):V.key==="End"&&E.value?.focus("last");const H=1e3;if(!Tt(V))return;const W=performance.now();W-B>H&&(g="",h=0),g+=V.key.toLowerCase(),B=W;const pe=F.value;function ke(){let ae=_e();return ae||g.at(-1)===g.at(-2)&&(g=g.slice(0,-1),h++,ae=_e(),ae)||(h=0,ae=_e(),ae)?ae:(g=V.key.toLowerCase(),_e())}function _e(){for(let ae=h;ae<pe.length;ae++){const Ce=pe[ae];if(Ce.title.toLowerCase().startsWith(g))return[Ce,ae]}}const be=ke();if(!be)return;const[R,de]=be;h=de,E.value?.focus(de),e.multiple||(s.value=[R])}function q(V,H=!0){if(!V.props.disabled)if(e.multiple){const W=s.value.findIndex(ke=>(e.valueComparator||Me)(ke.value,V.value)),pe=H??!~W;if(~W){const ke=pe?[...s.value,V]:[...s.value];ke.splice(W,1),s.value=ke}else pe&&(s.value=[...s.value,V])}else{const W=H!==!1;s.value=W?[V]:[],Se(()=>{O.value=!1})}}function le(V){const H=V.target;n.value?.$el.contains(H)||(O.value=!1)}function we(){return F.value.findIndex(V=>s.value.some(H=>(e.valueComparator||Me)(H.value,V.value)))}function Ae(){if(!s.value.length)return-1;const V=e.valueComparator||Me;let H=0;for(const W of F.value){if(s.value.some(ke=>V(ke.value,W.value)))return W.props.disabled?-1:H;W.props.disabled||H++}return-1}function Fe(){if(e.eager&&o.value?.calculateVisibleItems(),E.value&&p.value){const V=Ae();E.value.focus(V>=0?V:"first")}}function z(){v.value="",p.value&&n.value?.focus()}function Pe(V){p.value=!0}function nt(V){!n.value?.$el.contains(V.relatedTarget)&&!V.currentTarget.contains(V.relatedTarget)&&(p.value=!1)}function pt(V){if(V==null)s.value=[];else if(ot(n.value,":autofill")||ot(n.value,":-webkit-autofill")){const H=r.value.find(W=>W.title===V);H&&q(H)}else n.value&&(n.value.value="")}return J(O,()=>{if(!e.hideSelected&&O.value&&s.value.length){const V=we();Qt&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{V>=0&&o.value?.scrollToIndex(V)})}}),J(r,(V,H)=>{O.value||p.value&&e.hideNoData&&!H.length&&V.length&&(O.value=!0)}),Z(()=>{const V=!!(e.chips||t.chip),H=!!(!e.hideNoData||F.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),W=s.value.length>0,pe=Rt.filterProps(e),ke=W||!p.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder,_e={search:v,filteredItems:f.value};return x(Rt,N({ref:n},pe,{modelValue:s.value.map(be=>be.props.title).join(", "),name:void 0,"onUpdate:modelValue":pt,focused:p.value,"onUpdate:focused":be=>p.value=be,validationValue:s.externalValue,counterValue:C.value,dirty:W,class:["v-select",{"v-select--active-menu":O.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":s.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:ke,"onClick:clear":b,"onMousedown:control":P,onBlur:le,onKeydown:U,"aria-expanded":X.value,"aria-controls":ce.value}),{...t,default:({id:be})=>k(me,null,[k("select",{hidden:!0,multiple:e.multiple,name:T.fieldName.value},[r.value.map(R=>k("option",{key:R.value,value:R.value,selected:L.value.includes(R.value)},null))]),x(Qa,N({id:j.value,ref:a,modelValue:O.value,"onUpdate:modelValue":R=>O.value=R,activator:"parent",contentClass:"v-select__content",disabled:M.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:Fe,onAfterLeave:z},ne.value),{default:()=>[x(na,{elevation:e.menuElevation,onFocusin:Pe,onFocusout:nt,onKeydown:_},{default:()=>[t["menu-header"]&&k("header",{ref:i},[t["menu-header"](_e)]),H&&x(qa,N({key:"select-list",ref:E,selected:L.value,selectStrategy:e.multiple?"independent":"single-independent",tabindex:"-1",selectable:!!F.value.length,"aria-live":"polite","aria-labelledby":`${be.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},ee,e.listProps),{default:()=>[t["prepend-item"]?.(),!F.value.length&&!e.hideNoData&&(t["no-data"]?.()??x(qe,{key:"no-data",title:l(e.noDataText)},null)),x(ol,{ref:o,renderless:!0,items:F.value,itemKey:"value"},{default:({item:R,index:de,itemRef:ae})=>{const Ce=Jn(R.props),Ne=N(R.props,{ref:ae,key:R.value,onClick:()=>q(R,null),"aria-posinset":de+1,"aria-setsize":F.value.length});return R.type==="divider"?t.divider?.({props:R.raw,index:de})??x(fn,N(R.props,{key:`divider-${de}`}),null):R.type==="subheader"?t.subheader?.({props:R.raw,index:de})??x(Cn,N(R.props,{key:`subheader-${de}`}),null):t.item?.({item:R.raw,internalItem:R,index:de,props:Ne})??x(qe,N(Ne,{role:"option"}),{prepend:({isSelected:Ke})=>k(me,null,[e.multiple&&!e.hideSelected?x(Ia,{key:R.value,modelValue:Ke,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:ve=>ve.preventDefault()},null):void 0,Ce.prependAvatar&&x(st,{image:Ce.prependAvatar},null),Ce.prependIcon&&x(Oe,{icon:Ce.prependIcon},null)]),title:()=>v.value?ml("v-select",R.title,m(R)?.title):R.title})}}),t["append-item"]?.()]}),t["menu-footer"]&&k("footer",{ref:u},[t["menu-footer"](_e)])]})]}),s.value.map((R,de)=>{function ae(ve){ve.stopPropagation(),ve.preventDefault(),q(R,!1)}const Ce=N(Mt.filterProps(R.props),{"onClick:close":ae,onKeydown(ve){ve.key!=="Enter"&&ve.key!==" "||(ve.preventDefault(),ve.stopPropagation(),ae(ve))},onMousedown(ve){ve.preventDefault(),ve.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),Ne=V?!!t.chip:!!t.selection,Ke=Ne?Qn(V?t.chip({item:R.raw,internalItem:R,index:de,props:Ce}):t.selection({item:R.raw,internalItem:R,index:de})):void 0;if(!(Ne&&!Ke))return k("div",{key:R.value,class:"v-select__selection"},[V?t.chip?x(Re,{key:"chip-defaults",defaults:{VChip:{closable:c.value,size:"small",text:R.title}}},{default:()=>[Ke]}):x(Mt,N({key:"chip",closable:c.value,size:"small",text:R.title,disabled:R.props.disabled},Ce),null):Ke??k("span",{class:"v-select__selection-text"},[R.title,e.multiple&&de<s.value.length-1&&k("span",{class:"v-select__selection-comma"},[ta(",")])])])})]),"append-inner":(...be)=>k(me,null,[t["append-inner"]?.(...be),e.menuIcon?x(Oe,{class:"v-select__menu-icon",color:n.value?.fieldIconColor,icon:e.menuIcon,"aria-hidden":!0},null):void 0,e.appendInnerIcon&&x(S,{key:"append-icon",name:"appendInner",color:be[0].iconColor.value},null)])})}),St({isFocused:p,menu:O,search:v,filteredItems:f,select:q},n)}});export{Rt as V,rn as a,Ot as b,Lt as c,on as d,ya as e,ia as f,ha as g,Vl as h,fn as i,Dt as j,vn as k,un as l,ln as m,nn as n,tn as o,an as u};
|