myapikey 0.48.0 → 0.48.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/package.json +1 -1
- package/packages/core/src/server/proxy.ts +83 -35
- package/packages/core/src/server/tokens.ts +66 -0
- package/packages/core/src/shared/types.ts +2 -2
- package/packages/web/dist/assets/{index-Bdt_PL4a.js → index-CIGEPkrP.js} +4 -4
- package/packages/web/dist/assets/index-CWGc5RaE.css +1 -0
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/assets/index-COQLT2h4.css +0 -1
|
@@ -34,7 +34,7 @@ var gu=e=>{throw TypeError(e)};var Dm=(e,t,n)=>t.has(e)||gu("Cannot "+n);var Po=
|
|
|
34
34
|
* Released under the MIT License.
|
|
35
35
|
*/const ub="11.4.8";function cb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Is().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Is().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Is().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Is().__INTLIFY_PROD_DEVTOOLS__=!1)}const Ft={UNEXPECTED_RETURN_TYPE:Ey,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function Bt(e,...t){return Fa(e,null,void 0)}const Jl=ys("__translateVNode"),Ql=ys("__datetimeParts"),Zl=ys("__numberParts"),mp=ys("__setPluralRules"),hp=ys("__injectWithOption"),ao=ys("__dispose");function ir(e){if(!Ke(e)||Tn(e))return e;for(const t in e)if(Zt(e,t))if(!t.includes("."))Ke(e[t])&&ir(e[t]);else{const n=t.split("."),s=n.length-1;let o=e,a=!1;for(let l=0;l<s;l++){if(n[l]==="__proto__")throw new Error(`unsafe key: ${n[l]}`);if(n[l]in o||(o[n[l]]=et()),!Ke(o[n[l]])){a=!0;break}o=o[n[l]]}if(a||(Tn(o)?Zf.includes(n[s])||delete e[t]:(o[n[s]]=e[t],delete e[t])),!Tn(o)){const l=o[n[s]];Ke(l)&&ir(l)}}return e}function Bi(e,t){const{messages:n,__i18n:s,messageResolver:o,flatJson:a}=t,l=Ze(n)?n:dt(s)?et():{[e]:et()};if(dt(s)&&s.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:u,resource:c}=i;u?(l[u]=l[u]||et(),jr(c,l[u])):jr(c,l)}else Ce(i)&&jr(JSON.parse(i),l)}),o==null&&a)for(const i in l)Zt(l,i)&&ir(l[i]);return l}function gp(e){return e.type}function vp(e,t,n){let s=Ke(t.messages)?t.messages:et();"__i18nGlobal"in n&&(s=Bi(e.locale.value,{messages:s,__i18n:n.__i18nGlobal}));const o=Object.keys(s);o.length&&o.forEach(a=>{e.mergeLocaleMessage(a,s[a])});{if(Ke(t.datetimeFormats)){const a=Object.keys(t.datetimeFormats);a.length&&a.forEach(l=>{e.mergeDateTimeFormat(l,t.datetimeFormats[l])})}if(Ke(t.numberFormats)){const a=Object.keys(t.numberFormats);a.length&&a.forEach(l=>{e.mergeNumberFormat(l,t.numberFormats[l])})}}}function yc(e){return m(xr,null,e,0)}function ur(){return Ht()}const bc="__INTLIFY_META__",_c=()=>[],db=()=>!1;let xc=0;function wc(e){return(t,n,s,o)=>e(n,s,ur()||void 0,o)}const fb=()=>{const e=ur();let t=null;return e&&(t=gp(e)[bc])?{[bc]:t}:null};function ia(e={}){const{__root:t,__injectWithOption:n}=e,s=t===void 0,o=e.flatJson,a=aa?K:Ia;let l=We(e.inheritLocale)?e.inheritLocale:!0;const i=a(t&&l?t.locale.value:Ce(e.locale)?e.locale:lr),u=a(t&&l?t.fallbackLocale.value:Ce(e.fallbackLocale)||dt(e.fallbackLocale)||Ze(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i.value),c=a(Bi(i.value,e)),d=a(Ze(e.datetimeFormats)?e.datetimeFormats:{[i.value]:{}}),f=a(Ze(e.numberFormats)?e.numberFormats:{[i.value]:{}});let p=t?t.missingWarn:We(e.missingWarn)||bo(e.missingWarn)?e.missingWarn:!0,y=t?t.fallbackWarn:We(e.fallbackWarn)||bo(e.fallbackWarn)?e.fallbackWarn:!0,S=t?t.fallbackRoot:We(e.fallbackRoot)?e.fallbackRoot:!0,$=!!e.fallbackFormat,A=lt(e.missing)?e.missing:null,w=lt(e.missing)?wc(e.missing):null,_=lt(e.postTranslation)?e.postTranslation:null,P=t?t.warnHtmlMessage:We(e.warnHtmlMessage)?e.warnHtmlMessage:!0,x=!!e.escapeParameter;const U=t?t.modifiers:Ze(e.modifiers)?e.modifiers:{};let R=e.pluralRules||t&&t.pluralRules,E;E=(()=>{s&&cc(null);const T={version:ub,locale:i.value,fallbackLocale:u.value,messages:c.value,modifiers:U,pluralRules:R,missing:w===null?void 0:w,missingWarn:p,fallbackWarn:y,fallbackFormat:$,unresolving:!0,postTranslation:_===null?void 0:_,warnHtmlMessage:P,escapeParameter:x,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};T.datetimeFormats=d.value,T.numberFormats=f.value,T.__datetimeFormatters=Ze(E)?E.__datetimeFormatters:void 0,T.__numberFormatters=Ze(E)?E.__numberFormatters:void 0;const W=Yy(T);return s&&cc(W),W})(),Do(E,i.value,u.value);function H(){return[i.value,u.value,c.value,d.value,f.value]}const X=ae({get:()=>i.value,set:T=>{E.locale=T,i.value=T}}),Z=ae({get:()=>u.value,set:T=>{E.fallbackLocale=T,u.value=T,Do(E,i.value,T)}}),Q=ae(()=>c.value),de=ae(()=>d.value),L=ae(()=>f.value);function M(){return lt(_)?_:null}function D(T){_=T,E.postTranslation=T}function J(){return A}function oe(T){T!==null&&(w=wc(T)),A=T,E.missing=w}const pe=(T,W,fe,xe,be,Le)=>{H();let qe;try{__INTLIFY_PROD_DEVTOOLS__,s||(E.fallbackContext=t?Gy():void 0),qe=T(E)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(E.fallbackContext=void 0)}if(fe!=="translate exists"&>(qe)&&qe===qa||fe==="translate exists"&&!qe){const[Yt,sn]=W();return t&&S?xe(t):be(Yt)}else{if(Le(qe))return qe;throw Bt(Ft.UNEXPECTED_RETURN_TYPE)}};function Y(...T){return pe(W=>Reflect.apply(vc,null,[W,...T]),()=>Xl(...T),"translate",W=>Reflect.apply(W.t,W,[...T]),W=>W,W=>Ce(W))}function he(...T){const[W,fe,xe]=T;if(xe&&!Ke(xe))throw Bt(Ft.INVALID_ARGUMENT);return Y(W,fe,yt({resolvedMessage:!0},xe||{}))}function ee(...T){return pe(W=>Reflect.apply(fc,null,[W,...T]),()=>Gl(...T),"datetime format",W=>Reflect.apply(W.d,W,[...T]),()=>la,W=>Ce(W)||dt(W))}function Ye(...T){return pe(W=>Reflect.apply(mc,null,[W,...T]),()=>Yl(...T),"number format",W=>Reflect.apply(W.n,W,[...T]),()=>la,W=>Ce(W)||dt(W))}function Ue(T){return T.map(W=>Ce(W)||gt(W)||We(W)?yc(String(W)):W)}const ye={normalize:Ue,interpolate:T=>T,type:"vnode"};function te(...T){return pe(W=>{let fe;const xe=W;try{xe.processor=ye,fe=Reflect.apply(vc,null,[xe,...T])}finally{xe.processor=null}return fe},()=>Xl(...T),"translate",W=>W[Jl](...T),W=>[yc(W)],W=>dt(W))}function we(...T){return pe(W=>Reflect.apply(mc,null,[W,...T]),()=>Yl(...T),"number format",W=>W[Zl](...T),_c,W=>Ce(W)||dt(W))}function _e(...T){return pe(W=>Reflect.apply(fc,null,[W,...T]),()=>Gl(...T),"datetime format",W=>W[Ql](...T),_c,W=>Ce(W)||dt(W))}function Fe(T){R=T,E.pluralRules=R}function at(T,W){return pe(()=>{if(!T)return!1;const fe=Ce(W)?W:i.value,xe=Ce(W)?[fe]:Kl(E,u.value,fe);for(let be=0;be<xe.length;be++){const Le=ne(xe[be]);let qe=E.messageResolver(Le,T);if(qe===null&&(qe=Le[T]),Tn(qe)||Jt(qe)||Ce(qe))return!0}return!1},()=>[T],"translate exists",fe=>Reflect.apply(fe.te,fe,[T,W]),db,fe=>We(fe))}function V(T){let W=null;const fe=Kl(E,u.value,i.value);for(let xe=0;xe<fe.length;xe++){const be=c.value[fe[xe]]||{},Le=E.messageResolver(be,T);if(Le!=null){W=Le;break}}return W}function G(T){const W=V(T);return W??(t?t.tm(T)||{}:{})}function ne(T){return c.value[T]||{}}function ue(T,W){if(o){const fe={[T]:W};for(const xe in fe)Zt(fe,xe)&&ir(fe[xe]);W=fe[T]}c.value[T]=W,E.messages=c.value}function ie(T,W){c.value[T]=c.value[T]||{};const fe={[T]:W};if(o)for(const xe in fe)Zt(fe,xe)&&ir(fe[xe]);W=fe[T],jr(W,c.value[T]),E.messages=c.value}function le(T){return d.value[T]||{}}function I(T,W){d.value[T]=W,E.datetimeFormats=d.value,pc(E,T,W)}function q(T,W){d.value[T]=yt(d.value[T]||{},W),E.datetimeFormats=d.value,pc(E,T,W)}function N(T){return f.value[T]||{}}function k(T,W){f.value[T]=W,E.numberFormats=f.value,hc(E,T,W)}function C(T,W){f.value[T]=yt(f.value[T]||{},W),E.numberFormats=f.value,hc(E,T,W)}xc++,t&&aa&&(Re(t.locale,T=>{l&&(i.value=T,E.locale=T,Do(E,i.value,u.value))}),Re(t.fallbackLocale,T=>{l&&(u.value=T,E.fallbackLocale=T,Do(E,i.value,u.value))}));const O={id:xc,locale:X,fallbackLocale:Z,get inheritLocale(){return l},set inheritLocale(T){l=T,T&&t&&(i.value=t.locale.value,u.value=t.fallbackLocale.value,Do(E,i.value,u.value))},get availableLocales(){return Object.keys(c.value).sort()},messages:Q,get modifiers(){return U},get pluralRules(){return R||{}},get isGlobal(){return s},get missingWarn(){return p},set missingWarn(T){p=T,E.missingWarn=p},get fallbackWarn(){return y},set fallbackWarn(T){y=T,E.fallbackWarn=y},get fallbackRoot(){return S},set fallbackRoot(T){S=T},get fallbackFormat(){return $},set fallbackFormat(T){$=T,E.fallbackFormat=$},get warnHtmlMessage(){return P},set warnHtmlMessage(T){P=T,E.warnHtmlMessage=T},get escapeParameter(){return x},set escapeParameter(T){x=T,E.escapeParameter=T},t:Y,getLocaleMessage:ne,setLocaleMessage:ue,mergeLocaleMessage:ie,getPostTranslationHandler:M,setPostTranslationHandler:D,getMissingHandler:J,setMissingHandler:oe,[mp]:Fe};return O.datetimeFormats=de,O.numberFormats=L,O.rt=he,O.te=at,O.tm=G,O.d=ee,O.n=Ye,O.getDateTimeFormat=le,O.setDateTimeFormat=I,O.mergeDateTimeFormat=q,O.getNumberFormat=N,O.setNumberFormat=k,O.mergeNumberFormat=C,O[hp]=n,O[Jl]=te,O[Ql]=_e,O[Zl]=we,O}function pb(e){const t=Ce(e.locale)?e.locale:lr,n=Ce(e.fallbackLocale)||dt(e.fallbackLocale)||Ze(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,s=lt(e.missing)?e.missing:void 0,o=We(e.silentTranslationWarn)||bo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,a=We(e.silentFallbackWarn)||bo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,l=We(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,u=Ze(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,d=lt(e.postTranslation)?e.postTranslation:void 0,f=Ce(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,p=!!e.escapeParameterHtml,y=We(e.sync)?e.sync:!0;let S=e.messages;if(Ze(e.sharedMessages)){const U=e.sharedMessages;S=Object.keys(U).reduce((E,F)=>{const H=E[F]||(E[F]={});return yt(H,U[F]),E},S||{})}const{__i18n:$,__root:A,__injectWithOption:w}=e,_=e.datetimeFormats,P=e.numberFormats,x=e.flatJson;return{locale:t,fallbackLocale:n,messages:S,flatJson:x,datetimeFormats:_,numberFormats:P,missing:s,missingWarn:o,fallbackWarn:a,fallbackRoot:l,fallbackFormat:i,modifiers:u,pluralRules:c,postTranslation:d,warnHtmlMessage:f,escapeParameter:p,messageResolver:e.messageResolver,inheritLocale:y,__i18n:$,__root:A,__injectWithOption:w}}function ei(e={}){const t=ia(pb(e)),{__extender:n}=e,s={id:t.id,get locale(){return t.locale.value},set locale(o){t.locale.value=o},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(o){t.fallbackLocale.value=o},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(o){t.setMissingHandler(o)},get silentTranslationWarn(){return We(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(o){t.missingWarn=We(o)?!o:o},get silentFallbackWarn(){return We(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(o){t.fallbackWarn=We(o)?!o:o},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(o){t.fallbackFormat=o},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(o){t.setPostTranslationHandler(o)},get sync(){return t.inheritLocale},set sync(o){t.inheritLocale=o},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(o){t.warnHtmlMessage=o!=="off"},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(o){t.escapeParameter=o},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t(...o){return Reflect.apply(t.t,t,[...o])},rt(...o){return Reflect.apply(t.rt,t,[...o])},te(o,a){return t.te(o,a)},tm(o){return t.tm(o)},getLocaleMessage(o){return t.getLocaleMessage(o)},setLocaleMessage(o,a){t.setLocaleMessage(o,a)},mergeLocaleMessage(o,a){t.mergeLocaleMessage(o,a)},d(...o){return Reflect.apply(t.d,t,[...o])},getDateTimeFormat(o){return t.getDateTimeFormat(o)},setDateTimeFormat(o,a){t.setDateTimeFormat(o,a)},mergeDateTimeFormat(o,a){t.mergeDateTimeFormat(o,a)},n(...o){return Reflect.apply(t.n,t,[...o])},getNumberFormat(o){return t.getNumberFormat(o)},setNumberFormat(o,a){t.setNumberFormat(o,a)},mergeNumberFormat(o,a){t.mergeNumberFormat(o,a)}};return s.__extender=n,s}function mb(e,t,n){return{beforeCreate(){const s=ur();if(!s)throw Bt(Ft.UNEXPECTED_ERROR);const o=this.$options;if(o.i18n){const a=o.i18n;if(o.__i18n&&(a.__i18n=o.__i18n),a.__root=t,this===this.$root)this.$i18n=kc(e,a);else{a.__injectWithOption=!0,a.__extender=n.__vueI18nExtend,this.$i18n=ei(a);const l=this.$i18n;l.__extender&&(l.__disposer=l.__extender(this.$i18n))}}else if(o.__i18n)if(this===this.$root)this.$i18n=kc(e,o);else{this.$i18n=ei({__i18n:o.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}else this.$i18n=e;o.__i18nGlobal&&vp(t,o,o),this.$t=(...a)=>this.$i18n.t(...a),this.$rt=(...a)=>this.$i18n.rt(...a),this.$te=(a,l)=>this.$i18n.te(a,l),this.$d=(...a)=>this.$i18n.d(...a),this.$n=(...a)=>this.$i18n.n(...a),this.$tm=a=>this.$i18n.tm(a),n.__setInstance(s,this.$i18n)},mounted(){},unmounted(){const s=ur();if(!s)throw Bt(Ft.UNEXPECTED_ERROR);const o=this.$i18n;o&&(delete this.$t,delete this.$rt,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,o!=null&&o.__disposer&&(o.__disposer(),delete o.__disposer,delete o.__extender),n.__deleteInstance(s),delete this.$i18n)}}}function kc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[mp](t.pluralizationRules||e.pluralizationRules);const n=Bi(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(s=>e.mergeLocaleMessage(s,n[s])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(s=>e.mergeDateTimeFormat(s,t.datetimeFormats[s])),t.numberFormats&&Object.keys(t.numberFormats).forEach(s=>e.mergeNumberFormat(s,t.numberFormats[s])),e}const Vi={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function hb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((s,o)=>[...s,...o.type===me?o.children:[o]],[]):t.reduce((n,s)=>{const o=e[s];return o&&(n[s]=o()),n},et())}function yp(){return me}const gb=re({name:"i18n-t",props:yt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>gt(e)||!isNaN(e)}},Vi),setup(e,t){const{slots:n,attrs:s}=t,o=e.i18n||pt({useScope:e.scope,__useComponent:!0});return()=>{const a=()=>{const u=Object.keys(n).filter(f=>f[0]!=="_"),c=et();e.locale&&(c.locale=e.locale),e.plural!==void 0&&(c.plural=Ce(e.plural)?+e.plural:e.plural);const d=hb(t,u);return o[Jl](e.keypath,d,c)},l=yt(et(),s),i=Ce(e.tag)||Ke(e.tag)?e.tag:yp();return Ke(i)?Kt(i,l,{default:a}):Kt(i,l,a())}}}),Cc=gb;function vb(e){return dt(e)&&!Ce(e[0])}function bp(e,t,n,s){const{slots:o,attrs:a}=t;return()=>{const l=()=>{const c={part:!0};let d=et();e.locale&&(c.locale=e.locale),Ce(e.format)?c.key=e.format:Ke(e.format)&&(Ce(e.format.key)&&(c.key=e.format.key),d=Object.keys(e.format).reduce((y,S)=>n.includes(S)?yt(et(),y,{[S]:e.format[S]}):y,et()));const f=s(e.value,c,d);let p=[c.key];return dt(f)?p=f.map((y,S)=>{const $=o[y.type],A=$?$({[y.type]:y.value,index:S,parts:f}):[y.value];return vb(A)&&(A[0].key=`${y.type}-${S}`),A}):Ce(f)&&(p=[f]),p},i=yt(et(),a),u=Ce(e.tag)||Ke(e.tag)?e.tag:yp();return Ke(u)?Kt(u,i,{default:l}):Kt(u,i,l())}}const yb=re({name:"i18n-n",props:yt({value:{type:Number,required:!0},format:{type:[String,Object]}},Vi),setup(e,t){const n=e.i18n||pt({useScope:e.scope,__useComponent:!0});return bp(e,t,dp,(...s)=>n[Zl](...s))}}),Sc=yb;function bb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const s=n.__getInstance(t);return s!=null?s.__composer:e.global.__composer}}function _b(e){const t=l=>{const{instance:i,value:u}=l;if(!i||!i.$)throw Bt(Ft.UNEXPECTED_ERROR);const c=bb(e,i.$),d=$c(u);return[Reflect.apply(c.t,c,[...Tc(d)]),c]};return{created:(l,i)=>{const[u,c]=t(i);aa&&(l.__i18nWatcher=Re(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),l.__composer=c,l.textContent=u},unmounted:l=>{aa&&l.__i18nWatcher&&(l.__i18nWatcher(),l.__i18nWatcher=void 0,delete l.__i18nWatcher),l.__composer&&(l.__composer=void 0,delete l.__composer)},beforeUpdate:(l,{value:i})=>{if(l.__composer){const u=l.__composer,c=$c(i);l.textContent=Reflect.apply(u.t,u,[...Tc(c)])}},getSSRProps:l=>{const[i]=t(l);return{textContent:i}}}}function $c(e){if(Ce(e))return{path:e};if(Ze(e)){if(!("path"in e))throw Bt(Ft.REQUIRED_VALUE,"path");return e}else throw Bt(Ft.INVALID_VALUE)}function Tc(e){const{path:t,locale:n,args:s,choice:o,plural:a}=e,l={},i=s||{};return Ce(n)&&(l.locale=n),gt(o)&&(l.plural=o),gt(a)&&(l.plural=a),[t,i,l]}function xb(e,t,...n){const s=Ze(n[0])?n[0]:{};(We(s.globalInstall)?s.globalInstall:!0)&&([Cc.name,"I18nT"].forEach(a=>e.component(a,Cc)),[Sc.name,"I18nN"].forEach(a=>e.component(a,Sc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",_b(t))}const wb=ys("global-vue-i18n");function kb(e={}){const t=__VUE_I18N_LEGACY_API__&&We(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=We(e.globalInjection)?e.globalInjection:!0,s=new Map,[o,a]=Cb(e,t),l=ys("");function i(f){return s.get(f)||null}function u(f,p){s.set(f,p)}function c(f){s.delete(f)}const d={get mode(){return __VUE_I18N_LEGACY_API__&&t?"legacy":"composition"},async install(f,...p){if(f.__VUE_I18N_SYMBOL__=l,f.provide(f.__VUE_I18N_SYMBOL__,d),Ze(p[0])){const $=p[0];d.__composerExtend=$.__composerExtend,d.__vueI18nExtend=$.__vueI18nExtend}let y=null;!t&&n&&(y=Pb(f,d.global)),__VUE_I18N_FULL_INSTALL__&&xb(f,d,...p),__VUE_I18N_LEGACY_API__&&t&&f.mixin(mb(a,a.__composer,d));const S=f.unmount;f.unmount=()=>{y&&y(),d.dispose(),S()}},get global(){return a},dispose(){o.stop()},__instances:s,__getInstance:i,__setInstance:u,__deleteInstance:c};return d}function pt(e={}){const t=ur();if(t==null)throw Bt(Ft.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Bt(Ft.NOT_INSTALLED);const n=Sb(t),s=Tb(n),o=gp(t),a=$b(e,o);if(a==="global")return vp(s,e,o),s;if(a==="parent"){let u=Ac(n,t,e.__useComponent);return u==null&&(u=s),u}if(a==="isolated"){if(n.mode!=="composition")throw Bt(Ft.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const u=n,c=yt({},e),d=Ac(n,t);c.__root=d||s;const f=ia(c);return u.__composerExtend&&(f[ao]=u.__composerExtend(f)),Ta()&&xi(()=>{const y=f[ao];y&&(y(),delete f[ao])}),f}const l=n;let i=l.__getInstance(t);if(i==null){const u=yt({},e);"__i18n"in o&&(u.__i18n=o.__i18n),s&&(u.__root=s),i=ia(u),l.__composerExtend&&(i[ao]=l.__composerExtend(i)),Eb(l,t,i),l.__setInstance(t,i)}return i}function Cb(e,t){const n=_i(),s=__VUE_I18N_LEGACY_API__&&t?n.run(()=>ei(e)):n.run(()=>ia(e));if(s==null)throw Bt(Ft.UNEXPECTED_ERROR);return[n,s]}function Sb(e){const t=Ds(e.isCE?wb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Bt(e.isCE?Ft.NOT_INSTALLED_WITH_PROVIDE:Ft.UNEXPECTED_ERROR);return t}function $b(e,t){return Ii(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Tb(e){return e.mode==="composition"?e.global:e.global.__composer}function Ac(e,t,n=!1){let s=null;const o=t.root;let a=Ab(t,n);for(;a!=null;){const l=e;if(e.mode==="composition")s=l.__getInstance(a);else if(__VUE_I18N_LEGACY_API__){const i=l.__getInstance(a);i!=null&&(s=i.__composer,n&&s&&!s[hp]&&(s=null))}if(s!=null||o===a)break;a=a.parent}return s}function Ab(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Eb(e,t,n){rt(()=>{},t),fn(()=>{const s=n;e.__deleteInstance(t);const o=s[ao];o&&(o(),delete s[ao])},t)}const Ob=["locale","fallbackLocale","availableLocales"],Ec=["t","rt","d","n","tm","te"];function Pb(e,t){const n=Object.create(null);return Ob.forEach(o=>{const a=Object.getOwnPropertyDescriptor(t,o);if(!a)throw Bt(Ft.UNEXPECTED_ERROR);const l=ut(a.value)?{get(){return a.value.value},set(i){a.value.value=i}}:{get(){return a.get&&a.get()}};Object.defineProperty(n,o,l)}),e.config.globalProperties.$i18n=n,Ec.forEach(o=>{const a=Object.getOwnPropertyDescriptor(t,o);if(!a||!a.value)throw Bt(Ft.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${o}`,a)}),()=>{delete e.config.globalProperties.$i18n,Ec.forEach(o=>{delete e.config.globalProperties[`$${o}`]})}}const Mb=re({name:"i18n-d",props:yt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Vi),setup(e,t){const n=e.i18n||pt({useScope:e.scope,__useComponent:!0});return bp(e,t,cp,(...s)=>n[Ql](...s))}}),Oc=Mb;cb();Hy(Cy);jy(By);zy(Kl);if(__INTLIFY_PROD_DEVTOOLS__){const e=Is();e.__INTLIFY__=!0,Sy(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Ui="myapikey.creds";function ua(){const e=localStorage.getItem(Ui);if(!e)return null;try{const t=JSON.parse(e);if(t&&t.user&&t.pass)return{user:t.user,pass:t.pass}}catch{}return null}function _p(e,t){localStorage.setItem(Ui,JSON.stringify({user:e,pass:t}))}function yl(){localStorage.removeItem(Ui)}async function Ve(e,t,n){var i;const s=ua();if(!s)throw new Error("Not authenticated");const o=await fetch(t,{method:e,headers:{authorization:"Basic "+btoa(`${s.user}:${s.pass}`),...n?{"content-type":"application/json"}:{}},body:n?JSON.stringify(n):void 0}),a=await o.text();let l=null;try{l=a?JSON.parse(a):null}catch{}if(!o.ok){const u=((i=l==null?void 0:l.error)==null?void 0:i.message)??a??o.statusText;throw new Error(String(u))}return l}const Ib={common:{loading:"Loading…",dismiss:"Dismiss",confirm:"Confirm",cancel:"Cancel",viewCards:"Card view",viewTable:"Table view"},combobox:{more:"{n} more — keep typing to filter",noMatch:"No matches",toggle:"Toggle options",add:'Add "{q}"'},nav:{connect:"Connect",models:"Models",sources:"Sources",logs:"Calls",stats:"Stats",settings:"Settings"},app:{connecting:"Connecting…",toLight:"Switch to light mode",toDark:"Switch to dark mode",signOut:"Sign out"},login:{subtitle:"Sign in to manage your gateway",username:"Username",password:"Password",signIn:"Sign in",errInvalid:"Invalid username or password",errNetwork:"Cannot reach the gateway — is it running?"},connect:{title:"Connection",desc:"Point any OpenAI- or Anthropic-compatible tool here and paste the API Key below into its api key field.",baseUrlOpenai:"Base URL (OpenAI chat-compatible)",baseUrlResponses:"Base URL (OpenAI Responses)",baseUrlAnthropic:"Base URL (Claude / Anthropic)",apiKey:"API Key",copy:"Copy",copied:"Copied",copyFailed:"Copy failed — please copy manually",reveal:"Reveal",hide:"Hide",openaiTitle:"OpenAI-compatible (Cursor / Cline / OpenAI SDK)",anthropicTitle:"Anthropic / Claude Code",curlTitle:"OpenAI Chat (raw HTTP)",curlAnthropicTitle:"Anthropic (raw HTTP)",responsesTitle:"OpenAI Responses (raw HTTP)",responsesExportTitle:"OpenAI Responses clients (codex / Responses SDK)",note:"The address above is this host's LAN IP; if the agent runs elsewhere (VPN, container, …), use an address reachable from that machine."},settings:{title:"Account",desc:"Manage the web login (username + password).",loginPassword:"Login password",username:"Username",newPassword:"New password",newPasswordPh:"Leave blank to keep the current password",confirmPassword:"Confirm new password",confirmPh:"Repeat the new password",save:"Save",saving:"Saving…",saved:"Account updated",errUserShort:"Username must not be empty",errPassShort:"New password must be at least 8 characters",errPassMismatch:"The two passwords do not match",apikey:{title:"API Key",desc:"Rotating invalidates the old key immediately; re-configure tools with the new one.",rotate:"Rotate key",rotating:"Rotating…",rotated:"API Key rotated",rotateTitle:"Rotate API Key",rotateDesc:"A brand-new key is generated and the current one stops working immediately. Configured agents (Cursor / Claude Code / …) must be reconfigured with the new key.",rotateConfirm:"Rotate"},storage:{title:"Storage",desc:"Where the gateway keeps its config and call logs on disk. To change it, set MYAPIKEY_DATA_DIR or pass --data-dir, then restart.",dataDir:"Data directory",dataFile:"Config file",logsFile:"Call logs"}},sources:{pageTitle:"Sources",pageDesc:"Connect and manage your AI backends.",add:"Add source",editTitle:"Edit source",dialogCreateDesc:"Connect an AI backend.",dialogEditDesc:"Change the name, URLs, key or rate limit.",emptyTitle:"Add your first source",emptyHint:"Enter the backend's address and key, then create your own model names here.",nameLabel:"Name",namePh:"openrouter",urlLabelOpenai:"OpenAI Base URL",urlPhOpenai:"https://api.openai.com/v1",urlHintOpenai:"Includes the version segment (/v1); the gateway appends /chat/completions.",urlLabelResponses:"Responses Base URL",urlPhResponses:"https://api.openai.com/v1",urlHintResponses:"Includes the version segment (/v1); fully independent of the OpenAI URL above (some backends serve /responses elsewhere, or only responses); the gateway appends /responses.",urlLabelAnthropic:"Anthropic Base URL",urlPhAnthropic:"https://api.anthropic.com",urlHintAnthropic:"Without /v1; the gateway appends /v1/messages.",baseHelpToggle:"More details",baseHelpSplit:"A source can serve several formats, and their backend addresses often differ (e.g. Volcengine Ark: OpenAI at /api/v3, Anthropic at /api/plan) — hence one base per format; leave the rest blank for a backend that only speaks one.",baseHelpOpenai:"Includes the version segment. It differs per vendor (OpenAI: /v1, Ark: /api/v3), so paste the Base URL from the backend's docs; the gateway appends /chat/completions.",baseHelpResponses:"Includes the version segment, independent of the OpenAI Base URL (some backends serve /responses at a different address, or only responses); the gateway appends /responses.",baseHelpAnthropic:"Without /v1 — that's the Anthropic ecosystem convention (Claude Code, Ark all append /v1/messages client-side). Enter https://api.anthropic.com or Ark's /api/plan; the gateway appends /v1/messages.",responsesNote:"unimplemented on most backends — only check it when the backend supports it.",keyLabel:"API Key",keyPh:"sk-…",keyPhEdit:"Enter a new key (leave blank to keep the current one)",currentKeyLabel:"Current",rpmLabel:"Rate limit (RPM)",rpmPh:"Unlimited",rpmHint:"Excess requests fail over to the next source; blank = unlimited.",advancedToggle:"Advanced",rpmBadge:"{n} rpm",rpmBadgeHint:"Capped at {n} requests/min; excess requests fail over to the next source. (Source-level: applies to every model routed through it.)",formats:"Formats",responses:"Supports OpenAI Responses",saveBtn:"Save",remove:"Remove source",moreActions:"More actions",refreshModels:"Refresh models",editLabel:"Edit",deleteLabel:"Delete",discoveredCount:"{n} models",notScanned:"Not scanned",notScannedHint:'Click "Refresh models" to scan this source.',noModelsFound:"No models found",noModelsHint:"The scan returned no models — the source may not offer a /models list. Manual upstream names still work.",added:"Source added",updated:"Source updated",removed:'Removed "{name}"',refreshDone:'Refreshed "{name}"',errRequired:"Name and API key are required",errNameRequired:"Name is required",errBaseUrl:"Enter a Base URL for each selected format",errFormat:"Select at least one format",confirmRemove:'Remove source "{name}"? It will be detached from all models.',nextHint:"A model is the name your agents actually call — route it to your sources and the gateway handles the rest.",nextCta:"Create your first model",testBtn:"Test",testTitle:"Test source",testDesc:"Sends a minimal request straight to this source for each selected protocol — no model routing involved, nothing is logged.",testModelLabel:"Upstream model",testModelPh:"e.g. gpt-4o-mini",testModelHint:"The model name sent to the source — pick one from discovery or type any name.",testRun:"Run test",colName:"Name",colFormats:"Formats",colBaseUrl:"Base URL",colRpm:"Rate limit",colDiscovered:"Discovered",colActions:"Actions",modelsOpenHint:"Click to view this source's model list",modelsTitle:"Models",modelsDesc:'Models of "{name}"',modelsSearchPh:"Search models…",modelsAddPh:"Add model names; comma-separate for batch",modelsAddBtn:"Add",modelsAddExists:'"{q}" is already listed',modelCopyTip:"Click to copy",modelTagManual:"manual",modelRemove:"Remove this addition",modelAdded:"Added {n} model(s)",modelRemoved:'Removed "{name}"',modelsEmpty:"No models yet",modelsNoMatch:"No matching models"},models:{searchPh:"Search models…",newModel:"New model",noMatch:"No models match the current search.",emptyNoSources:"Add a source first",emptyNoSourcesHint:"A source is your AI backend (OpenAI / OpenRouter / a local server, …). Once added, you can create your own model names here.",emptyNoModels:"No models yet",emptyNoModelsHint:"Create a custom model name and route it to your sources; agents call that name and the gateway handles forwarding and failover.",unroutedHint:"No routing configured — click to edit and add a source.",chipOn:"Enabled — click to disable",chipOff:"Disabled — click to enable",chipNa:"No route to enable",fmtOpenai:"OpenAI Chat",fmtAnthropic:"Anthropic",fmtResponses:"OpenAI Responses",paceBadge:"{n}/min",paceBadgeHint:"Even pacing: {n} requests/min, one every {s}s; excess requests queue at the gateway (up to 60s, then 429). Applies to all three routes of this model.",debug:"Debug capture",debugTitle:"Debug capture · {name}",debugDesc:"Inspect the actual requests sent upstream and their responses",debugSwitch:"Also capture successful calls (last 50)",debugHint:'Gateway memory only, never written to log files. Failed attempts are ALWAYS recorded (last 50, tagged "auto"); with the switch on, successful calls are recorded too (last 50).',debugOnBadge:"capturing",debugBadgeHint:"Debug capture is on — click to inspect the last 50 upstream requests/responses",debugFailsTitle:"{n} failed attempts auto-kept",debugClearFails:"Clear this model's auto-recorded failures",debugAutoTag:"auto",debugEmptyOff:"Nothing recorded yet — failed calls are always kept; turn the switch on to record successful calls too.",debugEmpty:"Nothing recorded yet — call this model once.",debugRefresh:"Refresh",debugBack:"Back to list",debugReq:"Request (forwarded)",debugResp:"Response (upstream)",debugNetwork:"network error",debugTruncated:"truncated",debugExpand:"Show full",debugCollapse:"Collapse long text",debugModeConv:"Conversations",debugModeFlat:"Requests",debugConvReqs:"{n} requests",debugConvFails:"{n} failed",debugConvNoUser:"no user message",debugOmitted:"[+{n} chars]",debugViewContent:"Content",debugViewRaw:"Raw",debugTools:"Tools",debugThinking:"Thinking",debugImage:"[image]",debugOpen:"Open in new tab",debugTokIn:"in",debugTokOut:"out",debugFinish:"finish",debugMore:"Show all ({n} chars)",debugLess:"Collapse",debugChunks:"{n} chunks",probeTesting:"Testing",probeOk:"OK",probeOkHint:"Last test passed (source: {name})",probeFail:"Failed",probeFailHint:"Last test failed",delisted:"Possibly delisted",delistedHint:`The upstream model name is no longer in any enabled source's model list — it may have been delisted. Use "Test" to confirm.`,moreActions:"More actions",edit:"Edit",testModel:"Test",testSource:"Test this source",testSourceHint:"One loopback call pinned to this slot — no failover; reports this source's real status under this protocol.",routeDisabled:"Disabled",chainListHint:"Last serving source — open the source list and test each source individually",chainActiveHint:"most recently served",chainFailHint:"Recent failure — click for the actual error",chainUseTip:"Use this source — moves it to the front of the chain",chainUseToast:"{name}'s serving source → {provider}",renameModel:"Rename",renameDesc:"Change the model name. The routing config (per-route chains and upstream mappings) is preserved as-is.",renameHint:"The new name is the public call name; sources without an explicit upstream mapping will receive the new name.",renamedToast:'Renamed "{from}" to "{to}"',removeModel:"Remove model",confirmRemove:'Fully remove "{name}"?',removedToast:'Removed "{name}"',enabledToast:'Enabled "{name}"',disabledToast:'Disabled "{name}"',colName:"Model",colFormats:"Protocols",colChain:"Routing chain",colPace:"Pacing",colActions:"Actions",editor:{createTitle:"New model",editTitle:"Edit model",desc:"A custom model name routed to your sources.",nameLabel:"Model name",namePh:"e.g. claude-fast",nameHint:"The name agents call; shared by both protocols.",nameEditHint:"Rename from the model list: More actions → Rename.",errNameRequired:"Model name is required",errNameSlash:"Model name must not contain '/'",errNameExists:'A model named "{name}" already exists',chainTitle:"Routing chain",chainPriority:"Tried top to bottom",addSlot:"Add source",removeSlot:"Remove slot",providerPh:"Pick a source",upstreamPh:"Upstream model",thinkingLabel:"Thinking level",thinkingPh:"Thinking level",thinkingPhBudget:"Budget tokens (e.g. 8192)",thinkingClear:"None (passthrough)",slotDefaults:"More",thinkingTipBase:"A configured level OVERRIDES the request's own thinking parameters (compat switches like enable_thinking included); leave it empty to pass the request through untouched.",samplingLabel:"Sampling params",samplingClear:"Clear all",samplingTipTemp:"Higher ≈ more random, lower ≈ more focused. OpenAI's legal range is (0,2) — the exact boundary values are not accepted.",samplingTipTopP:"Nucleus sampling: keep tokens whose cumulative probability is within top_p. Range [0,1].",samplingTipTopK:"Only the K most likely tokens can be sampled. 0 or blank = off. Not all backends support it.",samplingTipPres:"Penalty for tokens that already appeared: positive reduces, negative encourages repetition. Range [-2,2].",samplingTipFreq:"Penalty scaled by how often a token already appeared: positive reduces, negative encourages repetition. Range [-2,2].",samplingTipSeed:"Integer seed for best-effort deterministic sampling. Not all backends support it.",samplingTipBase:"Each filled field overrides the request's own value of that name; blank fields pass the request through untouched.",errSampling:"Sampling params must be valid numbers (seed an integer).",errSamplingRange:'"{key}" is outside its API-legal range.',moreActions:"More actions",dragAria:"Drag to reorder",errThinkingBudget:"The Anthropic route needs a token budget (e.g. 8192).",helpToggle:"Help",helpUpstream:'The "upstream model" is the name actually sent to that source; leave blank to send the model name as-is.',helpThinking:`Set each slot's default thinking level from the row's "more actions" menu; a configured level overrides the request's own thinking parameters, none passes through.`,helpSampling:"Each slot can also carry default sampling params (temperature, top_p, top_k, penalties, seed) in the same menu: a filled field overrides the request's own value, blank passes through. Not every backend accepts every field.",advancedToggle:"Advanced",fmtSummary:"{n} source(s)",emptyChain:"No sources",paceLabel:"Even pacing (requests/min)",pacePh:"Unlimited",paceHint:"Excess requests queue at the gateway (up to 60s); blank = unlimited.",save:"Save",savedToast:'Saved "{name}"',noProviders:"No sources yet — add one on the Sources page first."}},logs:{title:"Recent calls",desc:"Persisted to disk (logs.jsonl), latest 200, auto-refreshing every 4s by default.",empty:"No calls yet.",noMatch:"No calls match the current filters.",live:"Live",refresh:"Refresh",pause:"Pause",resume:"Resume",col:{time:"Time",model:"Model",provider:"Source",format:"Format",status:"Status",latency:"Latency"},stream:"Stream",filter:{title:"Filters",model:"Model",provider:"Source",status:"Status",all:"All",success:"Success",error:"Error",clear:"Clear filters",remove:"Remove {label}"},searchPh:"Search models or sources…",summary:{window:"Last {n} calls",errorRate:"Error rate {pct}%",avgLatency:"Recent average {ms}"},detail:{time:"Time",latency:"Latency",stream:"Stream",streamYes:"Yes",streamNo:"No",error:"Error",errorNone:"None",tokens:"Tokens",cache:"Cache",estimated:"Estimated",upstreamModel:"Upstream model",thinking:"Thinking",sampling:"Sampling"},thinkingDefault:"Gateway default",thinkingClient:"From request",circuit:{stripTitle:"Cooling-down sources",badge:"Cooling",remaining:"{s}s left",failures:"{n} consecutive failures",cooldown:"Cooldown {s}s",reset:"Reset now",reasonUnknown:"Transient error"},pacing:{stripTitle:"Rate-capped sources",at:"{used}/{cap} rpm",reason:"Rate-capped — excess spills over to the next source"}},stats:{title:"Call stats",desc:"Calls and latency aggregated by period, model, source and format. Data comes from the persisted logs (~90 days retained).",range:"Range",ranges:{h24:"24 hours",d7:"7 days",d30:"30 days",d90:"90 days",all:"All"},totals:{calls:"Calls",success:"Success",error:"Errors",errorRate:"Error rate",avgLatency:"Avg latency",p95:"P95 latency",inputTokens:"Input tokens",outputTokens:"Output tokens",cache:"Cache tokens"},byModel:"By model",byProvider:"By source",byFormat:"By format",cacheBySource:"Cache hit rate by source",byDay:"Calls per day",peak:"Peak",callsAxis:"calls",col:{name:"Name",calls:"Calls",success:"Success",error:"Errors",errorRate:"Error rate",avgLatency:"Avg latency",tokens:"Tokens ↑↓",cacheHit:"Cache hit"},empty:"No calls in the selected range.",loading:"Loading…",refresh:"Refresh"}},Rb={common:{loading:"加载中…",dismiss:"关闭",confirm:"确认",cancel:"取消",viewCards:"卡片视图",viewTable:"表格视图"},combobox:{more:"还有 {n} 个 — 继续输入筛选",noMatch:"无匹配项",toggle:"展开 / 收起选项",add:"添加「{q}」"},nav:{connect:"使用方式",models:"模型",sources:"源",logs:"最近调用",stats:"统计",settings:"设置"},app:{connecting:"连接中…",toLight:"切换到浅色",toDark:"切换到深色",signOut:"退出登录"},login:{subtitle:"登录以管理你的网关",username:"用户名",password:"密码",signIn:"登录",errInvalid:"用户名或密码错误",errNetwork:"无法连接到网关,请确认服务正在运行"},connect:{title:"使用方式",desc:"把任意兼容 OpenAI 或 Anthropic 的工具指向这里,把下面的 API Key 填进它的 api key 字段即可。",baseUrlOpenai:"Base URL(OpenAI chat 兼容)",baseUrlResponses:"Base URL(OpenAI Responses)",baseUrlAnthropic:"Base URL(Claude / Anthropic)",apiKey:"API Key",copy:"复制",copied:"已复制",copyFailed:"复制失败,请手动选中复制",reveal:"显示",hide:"隐藏",openaiTitle:"兼容 OpenAI(Cursor / Cline / OpenAI SDK)",anthropicTitle:"Anthropic / Claude Code",curlTitle:"OpenAI Chat(原始 HTTP)",curlAnthropicTitle:"Anthropic(原始 HTTP)",responsesTitle:"OpenAI Responses(原始 HTTP)",responsesExportTitle:"OpenAI Responses 客户端(codex / Responses SDK)",note:"上面是本机在局域网里的 IP;若 agent 跑在别的网络(VPN、容器等),请换成那台机器能访问到的地址。"},settings:{title:"账号",desc:"管理网页登录账号(用户名 + 登录密码)。",loginPassword:"登录密码",username:"用户名",newPassword:"新密码",newPasswordPh:"留空则保持当前密码",confirmPassword:"确认新密码",confirmPh:"再次输入新密码",save:"保存",saving:"保存中…",saved:"账号已更新",errUserShort:"用户名不能为空",errPassShort:"新密码至少 8 位",errPassMismatch:"两次输入的新密码不一致",apikey:{title:"API Key",desc:"轮换后旧密钥立即失效,已配好的工具需用新密钥重填。",rotate:"轮换密钥",rotating:"轮换中…",rotated:"API Key 已轮换",rotateTitle:"轮换 API Key",rotateDesc:"会生成一把全新密钥,当前密钥立即失效。已配好的 agent(Cursor / Claude Code 等)需要用新密钥重新配置才能继续调用。",rotateConfirm:"确认轮换"},storage:{title:"存储",desc:"网关在磁盘上保存配置与调用日志的位置。修改方式:设置环境变量 MYAPIKEY_DATA_DIR 或传入 --data-dir,然后重启。",dataDir:"数据目录",dataFile:"配置文件",logsFile:"调用日志"}},sources:{pageTitle:"模型来源",pageDesc:"接入并管理你的 AI 服务后端。",add:"添加模型来源",editTitle:"编辑来源",dialogCreateDesc:"接入一个 AI 服务后端。",dialogEditDesc:"修改名称、地址、密钥或限速。",emptyTitle:"添加你的第一个模型来源",emptyHint:"填入后端地址和密钥,之后就可以在这里创建自己的模型名。",nameLabel:"名称",namePh:"openrouter",urlLabelOpenai:"OpenAI Base URL",urlPhOpenai:"https://api.openai.com/v1",urlHintOpenai:"含版本段(/v1);网关自动补 /chat/completions。",urlLabelResponses:"Responses Base URL",urlPhResponses:"https://api.openai.com/v1",urlHintResponses:"含版本段(/v1);与上面的 OpenAI 地址互相独立,可不同;网关自动补 /responses。",urlLabelAnthropic:"Anthropic Base URL",urlPhAnthropic:"https://api.anthropic.com",urlHintAnthropic:"不带 /v1;网关自动补 /v1/messages。",baseHelpToggle:"更多说明",baseHelpSplit:"一个来源可同时接入多种格式,而它们的后端地址常常不同(例如火山 Ark:OpenAI 是 /api/v3、Anthropic 是 /api/plan),所以按格式分开填;只支持某一种格式的后端,其余留空即可。",baseHelpOpenai:"含版本段。各家不同(OpenAI 是 /v1、火山 Ark 是 /api/v3),网关无法替你判断,所以直接粘后端文档的 Base URL;网关在后面补 /chat/completions。",baseHelpResponses:"含版本段,与 OpenAI Base URL 相互独立(有的后端 responses 走不同地址,甚至只提供 responses);网关在后面补 /responses。",baseHelpAnthropic:"不带 /v1。这是 Anthropic 生态的约定(Claude Code、Ark 都由客户端补 /v1/messages),所以填 https://api.anthropic.com 或 Ark 的 /api/plan,网关自动补 /v1/messages。",responsesNote:"多数后端未实现,仅在后端支持时勾选。",keyLabel:"API Key",keyPh:"sk-…",keyPhEdit:"输入新 Key(留空则保持不变)",currentKeyLabel:"当前",rpmLabel:"速率限制 (RPM)",rpmPh:"不限",rpmHint:"超过上限的请求切换到下一个来源;留空 = 不限。",advancedToggle:"高级选项",rpmBadge:"{n} rpm",rpmBadgeHint:"限制为每分钟 {n} 次,超出的请求会切换到下一个来源。(来源级:对该来源的所有模型生效。)",formats:"格式",responses:"支持 OpenAI Responses",saveBtn:"保存",remove:"移除来源",moreActions:"更多操作",refreshModels:"刷新模型",editLabel:"编辑",deleteLabel:"删除",discoveredCount:"{n} 个模型",notScanned:"未扫描",notScannedHint:"点击「刷新模型」扫描该来源。",noModelsFound:"未发现模型",noModelsHint:"扫描未返回模型——该来源可能不提供 /models 列表,不影响手动配置上游模型名。",added:"来源已添加",updated:"来源已更新",removed:"已移除「{name}」",refreshDone:"已刷新「{name}」",errRequired:"名称和密钥为必填",errNameRequired:"名称为必填",errBaseUrl:"请为已选的每种格式填写 Base URL",errFormat:"请至少选择一种格式",confirmRemove:"确定移除来源「{name}」?它将从所有模型中解除关联。",nextHint:"模型才是 agent 实际调用的名字——把它路由到来源,剩下的交给网关。",nextCta:"创建第一个模型",testBtn:"测试",testTitle:"测试来源",testDesc:"对每个勾选的协议向该来源直接发送一条最小请求——不经过模型路由,也不会写入调用记录。",testModelLabel:"上游模型名",testModelPh:"例如 gpt-4o-mini",testModelHint:"发送给该来源的模型名,可从发现列表选择或直接输入。",testRun:"开始测试",colName:"名称",colFormats:"格式",colBaseUrl:"Base URL",colRpm:"限速",colDiscovered:"发现",colActions:"操作",modelsOpenHint:"点击查看该来源的模型列表",modelsTitle:"模型列表",modelsDesc:"「{name}」的模型列表",modelsSearchPh:"搜索模型名…",modelsAddPh:"补充模型名,逗号分隔可批量",modelsAddBtn:"补充",modelsAddExists:"「{q}」已在列表中",modelCopyTip:"点击复制",modelTagManual:"手动",modelRemove:"移除这条补充",modelAdded:"已补充 {n} 个模型",modelRemoved:"已移除补充「{name}」",modelsEmpty:"暂无模型",modelsNoMatch:"没有匹配的模型"},models:{searchPh:"搜索模型…",newModel:"新建模型",noMatch:"没有符合当前搜索的模型。",emptyNoSources:"先添加一个模型来源",emptyNoSourcesHint:"来源是你的 AI 服务后端(OpenAI / OpenRouter / 本地服务等)。添加后即可在这里创建自己的模型名。",emptyNoModels:"还没有模型",emptyNoModelsHint:"创建一个自定义模型名,把它路由到你的来源;agent 用这个名字调用,网关负责转发与故障转移。",unroutedHint:"尚未配置路由——点击编辑,为它添加来源。",chipOn:"已启用 — 点击关闭",chipOff:"已停用 — 点击启用",chipNa:"无路由可启用",fmtOpenai:"OpenAI Chat",fmtAnthropic:"Anthropic",fmtResponses:"OpenAI Responses",paceBadge:"{n}/分钟",paceBadgeHint:"匀速放行:每分钟 {n} 次,即每 {s} 秒放行一个;超出的请求在网关排队(最多等 60 秒,再多的返回 429)。对该模型的三个线路统一生效。",debug:"调试捕获",debugTitle:"调试捕获 · {name}",debugDesc:"查看实际发给上游的请求与响应",debugSwitch:"成功调用也捕获(近 50 次)",debugHint:"仅存于网关内存,不写入日志文件。失败的调用总是被自动记录(最近 50 条,标「自动」);打开开关后,成功调用也会记录(最近 50 次)。",debugOnBadge:"捕获中",debugBadgeHint:"调试捕获中——点击查看近 50 次上游请求/响应",debugFailsTitle:"失败自动保留 {n} 条",debugClearFails:"清除该模型的失败记录",debugAutoTag:"自动",debugEmptyOff:"暂无记录——失败的调用会被自动保留;打开开关后,成功调用也会记录。",debugEmpty:"暂无记录——调用一次该模型试试。",debugRefresh:"刷新",debugBack:"返回列表",debugReq:"请求(实际转发)",debugResp:"响应(上游返回)",debugNetwork:"网络错误",debugTruncated:"已截断",debugExpand:"展开完整",debugCollapse:"折叠长文本",debugModeConv:"对话",debugModeFlat:"逐条",debugConvReqs:"{n} 次请求",debugConvFails:"{n} 次失败",debugConvNoUser:"未识别到用户消息",debugOmitted:"[+{n} 字符]",debugViewContent:"内容",debugViewRaw:"原始",debugTools:"工具",debugThinking:"思考",debugImage:"[图片]",debugOpen:"新标签打开",debugTokIn:"输入",debugTokOut:"输出",debugFinish:"结束",debugMore:"展开全部({n} 字符)",debugLess:"收起",debugChunks:"{n} 个分块",probeTesting:"测试中",probeOk:"可用",probeOkHint:"最近测试通过(源:{name})",probeFail:"不可用",probeFailHint:"最近测试失败",delisted:"可能下架",delistedHint:"上游模型名已不在任何已启用源的模型列表中,可能已下架。可用「测试」确认。",moreActions:"更多操作",edit:"编辑",testModel:"测试",testSource:"测试该来源",testSourceHint:"把一次调用钉在这个槽位上直测,不走故障转移;显示该来源在该协议下的真实状态。",routeDisabled:"已停用",chainListHint:"最近实际路由到的源与模型——点开查看全部来源,可逐源连通测试",chainActiveHint:"最近实际路由",chainFailHint:"最近一次失败——点击查看真实报错",chainUseTip:"设为使用源——移到链首,后续调用优先走它",chainUseToast:"{name} 的使用源已切换 → {provider}",renameModel:"重命名",renameDesc:"修改模型名。路由配置(各线路的来源链和上游映射)原样保留。",renameHint:"新名字就是对外的调用名;未单独映射上游模型名的来源会改发新名字。",renamedToast:"已将「{from}」重命名为「{to}」",removeModel:"移除模型",confirmRemove:"确定完全移除「{name}」?",removedToast:"已移除「{name}」",enabledToast:"已启用「{name}」",disabledToast:"已停用「{name}」",colName:"模型",colFormats:"协议",colChain:"路由链",colPace:"匀速",colActions:"操作",editor:{createTitle:"新建模型",editTitle:"编辑模型",desc:"自定义模型名,并把它路由到你的来源。",nameLabel:"模型名",namePh:"例如 claude-fast",nameHint:"agent 用这个名字调用;两种协议共用。",nameEditHint:"重命名请用模型列表的「更多操作 → 重命名」。",errNameRequired:"模型名必填",errNameSlash:"模型名不能包含 /",errNameExists:"已存在同名模型「{name}」",chainTitle:"路由链",chainPriority:"从上到下依次尝试",addSlot:"添加来源",removeSlot:"移除槽位",providerPh:"选择来源",upstreamPh:"上游模型名",thinkingLabel:"思考等级",thinkingPh:"思考等级",thinkingPhBudget:"预算 tokens(如 8192)",thinkingClear:"不设置(透传)",slotDefaults:"更多",thinkingTipBase:"已设置的档位会覆盖请求自带的思考参数(含 enable_thinking 等兼容开关);不设置则原样透传。",samplingLabel:"采样参数",samplingClear:"清空全部",samplingTipTemp:"越高越随机,越低越确定。OpenAI 合法区间是 (0,2) 开区间——边界值本身不被接受。",samplingTipTopP:"核采样:只保留累计概率落在 top_p 内的 token。区间 [0,1]。",samplingTipTopK:"只在概率最高的 K 个 token 里采样。0 或留空 = 关闭。并非所有后端都支持。",samplingTipPres:"对已出现过的 token 施加惩罚:正值减少重复,负值鼓励重复。区间 [-2,2]。",samplingTipFreq:"按出现次数叠加惩罚:正值减少重复,负值鼓励重复。区间 [-2,2]。",samplingTipSeed:"整数随机种子,尽量做确定性采样。并非所有后端都支持。",samplingTipBase:"每个已填字段会覆盖请求自带的同名参数;留空的字段原样透传。",errSampling:"采样参数必须是有效数字(seed 须为整数)。",errSamplingRange:"「{key}」超出了 API 合法区间。",moreActions:"更多操作",dragAria:"拖动排序",errThinkingBudget:"Anthropic 线路需填 token 预算(如 8192)。",helpToggle:"说明",helpUpstream:"「上游模型名」是实际发给该来源的模型名;留空则原样发送。",helpThinking:"「思考等级」在每行的「更多操作」菜单里设置;已设置则覆盖请求自带的思考参数,不设置则透传。",helpSampling:"每个槽位还可在同一菜单里设置默认采样参数(temperature、top_p、top_k、惩罚系数、seed):已填字段覆盖请求自带的同名参数,留空透传。部分后端不一定支持所有字段。",advancedToggle:"高级选项",fmtSummary:"{n} 个来源",emptyChain:"未配置来源",paceLabel:"匀速限速(次/分钟)",pacePh:"不限",paceHint:"超出的请求在网关排队(最多 60 秒);留空 = 不限。",save:"保存",savedToast:"已保存「{name}」",noProviders:"还没有可用来源——请先到「源」页添加。"}},logs:{title:"最近调用",desc:"落盘存储(logs.jsonl),最近 200 条,默认每 4 秒自动刷新。",empty:"暂无调用记录。",noMatch:"没有符合当前筛选条件的调用。",live:"实时",refresh:"刷新",pause:"暂停",resume:"继续",col:{time:"时间",model:"模型",provider:"来源",format:"格式",status:"状态",latency:"延迟"},stream:"流式",filter:{title:"筛选",model:"模型",provider:"来源",status:"状态",all:"全部",success:"成功",error:"失败",clear:"清除筛选",remove:"移除 {label}"},searchPh:"搜索模型或来源…",summary:{window:"近 {n} 次调用",errorRate:"错误率 {pct}%",avgLatency:"近期均值 {ms}"},detail:{time:"时间",latency:"延迟",stream:"流式",streamYes:"是",streamNo:"否",error:"错误",errorNone:"无",tokens:"Token",cache:"缓存",estimated:"估算",upstreamModel:"实际模型",thinking:"思考等级",sampling:"采样参数"},thinkingDefault:"网关默认",thinkingClient:"请求自带",circuit:{stripTitle:"冷却中的来源",badge:"冷却",remaining:"剩 {s}s",failures:"连续失败 {n} 次",cooldown:"冷却 {s}s",reset:"立即重置",reasonUnknown:"临时错误"},pacing:{stripTitle:"已达速率上限的来源",at:"{used}/{cap} rpm",reason:"限速中 —— 超出部分切换到下一个来源"}},stats:{title:"调用统计",desc:"按时间段、模型、来源、格式汇总调用次数与延迟。数据来自落盘日志(保留约 90 天)。",range:"时间范围",ranges:{h24:"24 小时",d7:"7 天",d30:"30 天",d90:"90 天",all:"全部"},totals:{calls:"总调用",success:"成功",error:"失败",errorRate:"错误率",avgLatency:"平均延迟",p95:"P95 延迟",inputTokens:"输入 token",outputTokens:"输出 token",cache:"缓存 token"},byModel:"按模型",byProvider:"按来源",byFormat:"按格式",cacheBySource:"各来源缓存命中率",byDay:"每日调用",peak:"峰值",callsAxis:"次调用",col:{name:"名称",calls:"调用",success:"成功",error:"失败",errorRate:"错误率",avgLatency:"平均延迟",tokens:"Token ↑↓",cacheHit:"缓存命中"},empty:"所选范围内暂无调用记录。",loading:"加载中…",refresh:"刷新"}},xp="myapikey.locale";function Lb(){const e=localStorage.getItem(xp);return e==="en"||e==="zh"?e:(typeof navigator<"u"?navigator.language:"en").toLowerCase().startsWith("zh")?"zh":"en"}const wp=kb({legacy:!1,locale:Lb(),fallbackLocale:"en",messages:{en:Ib,zh:Rb}});function Db(e){wp.global.locale.value=e,localStorage.setItem(xp,e)}const ct={openai:{solid:"bg-emerald-500",text:"text-emerald-600 dark:text-emerald-400",soft:"bg-emerald-500/5",border:"border-emerald-500/30",chip:"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300",badge:"border-transparent bg-emerald-500/15 text-emerald-600 dark:text-emerald-400"},anthropic:{solid:"bg-amber-500",text:"text-amber-600 dark:text-amber-400",soft:"bg-amber-500/5",border:"border-amber-500/30",chip:"bg-amber-500/15 text-amber-700 dark:text-amber-300",badge:"border-transparent bg-amber-500/15 text-amber-600 dark:text-amber-400"},responses:{solid:"bg-violet-500",text:"text-violet-600 dark:text-violet-400",soft:"bg-violet-500/5",border:"border-violet-500/30",chip:"bg-violet-500/15 text-violet-700 dark:text-violet-300",badge:"border-transparent bg-violet-500/15 text-violet-600 dark:text-violet-400"}},Ps={openai:"OpenAI Chat",anthropic:"Anthropic",responses:"OpenAI Responses"};function Lt(e){return Ps[e]??e}const Pc=[{solid:"bg-sky-500",badge:"border-transparent bg-sky-500/15 text-sky-600 dark:text-sky-400"},{solid:"bg-indigo-500",badge:"border-transparent bg-indigo-500/15 text-indigo-600 dark:text-indigo-400"},{solid:"bg-fuchsia-500",badge:"border-transparent bg-fuchsia-500/15 text-fuchsia-600 dark:text-fuchsia-400"},{solid:"bg-rose-500",badge:"border-transparent bg-rose-500/15 text-rose-600 dark:text-rose-400"},{solid:"bg-teal-500",badge:"border-transparent bg-teal-500/15 text-teal-600 dark:text-teal-400"},{solid:"bg-orange-500",badge:"border-transparent bg-orange-500/15 text-orange-600 dark:text-orange-400"},{solid:"bg-cyan-500",badge:"border-transparent bg-cyan-500/15 text-cyan-600 dark:text-cyan-400"},{solid:"bg-pink-500",badge:"border-transparent bg-pink-500/15 text-pink-600 dark:text-pink-400"}];function ps(e){let t=5381;for(let n=0;n<e.length;n++)t=t*33^e.charCodeAt(n);return Pc[Math.abs(t)%Pc.length]}const xn={openai:{label:"models.fmtOpenai",endpoint:"/chat/completions"},anthropic:{label:"models.fmtAnthropic",endpoint:"/messages"},responses:{label:"models.fmtResponses",endpoint:"/responses"}};function mo(e){const t=new Set,n=[];for(const s of[...(e==null?void 0:e.discoveredModels)??[],...(e==null?void 0:e.extraModels)??[]])s&&!t.has(s)&&(t.add(s),n.push(s));return n.sort((s,o)=>s.toLowerCase().localeCompare(o.toLowerCase()))}const Nb={temperature:"t",top_p:"p",top_k:"k",presence_penalty:"pp",frequency_penalty:"fp",seed:"s"};function an(e){return e?Object.entries(e).map(([t,n])=>`${Nb[t]??t}${n}`).join(" "):""}function Fb(e){return e?Object.entries(e).map(([t,n])=>`${t}=${n}`).join(" "):""}const cr=K([]);let qb=1;function Bb(){return cr}function kp(e){cr.value=cr.value.filter(t=>t.id!==e)}function Be(e,t="default",n=3500){const s=qb++;cr.value=[...cr.value,{id:s,message:e,variant:t}],n>0&&window.setTimeout(()=>kp(s),n)}async function kr(e){if(navigator.clipboard&&window.isSecureContext)try{return await navigator.clipboard.writeText(e),!0}catch{}try{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();const n=document.execCommand("copy");return document.body.removeChild(t),n}catch{return!1}}function Cp(e){var t,n,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Cp(e[t]))&&(s&&(s+=" "),s+=n)}else for(n in e)e[n]&&(s&&(s+=" "),s+=n);return s}function Sp(){for(var e,t,n=0,s="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Cp(e))&&(s&&(s+=" "),s+=t);return s}const Mc=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Ic=Sp,$p=(e,t)=>n=>{var s;if((t==null?void 0:t.variants)==null)return Ic(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:a}=t,l=Object.keys(o).map(c=>{const d=n==null?void 0:n[c],f=a==null?void 0:a[c];if(d===null)return null;const p=Mc(d)||Mc(f);return o[c][p]}),i=n&&Object.entries(n).reduce((c,d)=>{let[f,p]=d;return p===void 0||(c[f]=p),c},{}),u=t==null||(s=t.compoundVariants)===null||s===void 0?void 0:s.reduce((c,d)=>{let{class:f,className:p,...y}=d;return Object.entries(y).every(S=>{let[$,A]=S;return Array.isArray(A)?A.includes({...a,...i}[$]):{...a,...i}[$]===A})?[...c,f,p]:c},[]);return Ic(e,l,u,n==null?void 0:n.class,n==null?void 0:n.className)},Vb=(e,t)=>{const n=new Array(e.length+t.length);for(let s=0;s<e.length;s++)n[s]=e[s];for(let s=0;s<t.length;s++)n[e.length+s]=t[s];return n},Ub=(e,t)=>({classGroupId:e,validator:t}),Tp=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),ca="-",Rc=[],Hb="arbitrary..",jb=e=>{const t=Wb(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:l=>{if(l.startsWith("[")&&l.endsWith("]"))return zb(l);const i=l.split(ca),u=i[0]===""&&i.length>1?1:0;return Ap(i,u,t)},getConflictingClassGroupIds:(l,i)=>{if(i){const u=s[l],c=n[l];return u?c?Vb(c,u):u:c||Rc}return n[l]||Rc}}},Ap=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const o=e[t],a=n.nextPart.get(o);if(a){const c=Ap(e,t+1,a);if(c)return c}const l=n.validators;if(l===null)return;const i=t===0?e.join(ca):e.slice(t).join(ca),u=l.length;for(let c=0;c<u;c++){const d=l[c];if(d.validator(i))return d.classGroupId}},zb=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),s=t.slice(0,n);return s?Hb+s:void 0})(),Wb=e=>{const{theme:t,classGroups:n}=e;return Kb(n,t)},Kb=(e,t)=>{const n=Tp();for(const s in e){const o=e[s];Hi(o,n,s,t)}return n},Hi=(e,t,n,s)=>{const o=e.length;for(let a=0;a<o;a++){const l=e[a];Gb(l,t,n,s)}},Gb=(e,t,n,s)=>{if(typeof e=="string"){Yb(e,t,n);return}if(typeof e=="function"){Xb(e,t,n,s);return}Jb(e,t,n,s)},Yb=(e,t,n)=>{const s=e===""?t:Ep(t,e);s.classGroupId=n},Xb=(e,t,n,s)=>{if(Qb(e)){Hi(e(s),t,n,s);return}t.validators===null&&(t.validators=[]),t.validators.push(Ub(n,e))},Jb=(e,t,n,s)=>{const o=Object.entries(e),a=o.length;for(let l=0;l<a;l++){const[i,u]=o[l];Hi(u,Ep(t,i),n,s)}},Ep=(e,t)=>{let n=e;const s=t.split(ca),o=s.length;for(let a=0;a<o;a++){const l=s[a];let i=n.nextPart.get(l);i||(i=Tp(),n.nextPart.set(l,i)),n=i}return n},Qb=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Zb=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),s=Object.create(null);const o=(a,l)=>{n[a]=l,t++,t>e&&(t=0,s=n,n=Object.create(null))};return{get(a){let l=n[a];if(l!==void 0)return l;if((l=s[a])!==void 0)return o(a,l),l},set(a,l){a in n?n[a]=l:o(a,l)}}},ti="!",Lc=":",e_=[],Dc=(e,t,n,s,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:s,isExternal:o}),t_=e=>{const{prefix:t,experimentalParseClassName:n}=e;let s=o=>{const a=[];let l=0,i=0,u=0,c;const d=o.length;for(let $=0;$<d;$++){const A=o[$];if(l===0&&i===0){if(A===Lc){a.push(o.slice(u,$)),u=$+1;continue}if(A==="/"){c=$;continue}}A==="["?l++:A==="]"?l--:A==="("?i++:A===")"&&i--}const f=a.length===0?o:o.slice(u);let p=f,y=!1;f.endsWith(ti)?(p=f.slice(0,-1),y=!0):f.startsWith(ti)&&(p=f.slice(1),y=!0);const S=c&&c>u?c-u:void 0;return Dc(a,y,p,S)};if(t){const o=t+Lc,a=s;s=l=>l.startsWith(o)?a(l.slice(o.length)):Dc(e_,!1,l,void 0,!0)}if(n){const o=s;s=a=>n({className:a,parseClassName:o})}return s},n_=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,s)=>{t.set(n,1e6+s)}),n=>{const s=[];let o=[];for(let a=0;a<n.length;a++){const l=n[a],i=l[0]==="[",u=t.has(l);i||u?(o.length>0&&(o.sort(),s.push(...o),o=[]),s.push(l)):o.push(l)}return o.length>0&&(o.sort(),s.push(...o)),s}},s_=e=>({cache:Zb(e.cacheSize),parseClassName:t_(e),sortModifiers:n_(e),postfixLookupClassGroupIds:o_(e),...jb(e)}),o_=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let s=0;s<n.length;s++)t[n[s]]=!0;return t},r_=/\s+/,a_=(e,t)=>{const{parseClassName:n,getClassGroupId:s,getConflictingClassGroupIds:o,sortModifiers:a,postfixLookupClassGroupIds:l}=t,i=[],u=e.trim().split(r_);let c="";for(let d=u.length-1;d>=0;d-=1){const f=u[d],{isExternal:p,modifiers:y,hasImportantModifier:S,baseClassName:$,maybePostfixModifierPosition:A}=n(f);if(p){c=f+(c.length>0?" "+c:c);continue}let w=!!A,_;if(w){const E=$.substring(0,A);_=s(E);const F=_&&l[_]?s($):void 0;F&&F!==_&&(_=F,w=!1)}else _=s($);if(!_){if(!w){c=f+(c.length>0?" "+c:c);continue}if(_=s($),!_){c=f+(c.length>0?" "+c:c);continue}w=!1}const P=y.length===0?"":y.length===1?y[0]:a(y).join(":"),x=S?P+ti:P,U=x+_;if(i.indexOf(U)>-1)continue;i.push(U);const R=o(_,w);for(let E=0;E<R.length;++E){const F=R[E];i.push(x+F)}c=f+(c.length>0?" "+c:c)}return c},l_=(...e)=>{let t=0,n,s,o="";for(;t<e.length;)(n=e[t++])&&(s=Op(n))&&(o&&(o+=" "),o+=s);return o},Op=e=>{if(typeof e=="string")return e;let t,n="";for(let s=0;s<e.length;s++)e[s]&&(t=Op(e[s]))&&(n&&(n+=" "),n+=t);return n},i_=(e,...t)=>{let n,s,o,a;const l=u=>{const c=t.reduce((d,f)=>f(d),e());return n=s_(c),s=n.cache.get,o=n.cache.set,a=i,i(u)},i=u=>{const c=s(u);if(c)return c;const d=a_(u,n);return o(u,d),d};return a=l,(...u)=>a(l_(...u))},u_=[],bt=e=>{const t=n=>n[e]||u_;return t.isThemeGetter=!0,t},Pp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Mp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,c_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,d_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,f_=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,p_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,m_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,h_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ls=e=>c_.test(e),Ne=e=>!!e&&!Number.isNaN(Number(e)),vn=e=>!!e&&Number.isInteger(Number(e)),bl=e=>e.endsWith("%")&&Ne(e.slice(0,-1)),Nn=e=>d_.test(e),Ip=()=>!0,g_=e=>f_.test(e)&&!p_.test(e),ji=()=>!1,v_=e=>m_.test(e),y_=e=>h_.test(e),b_=e=>!Se(e)&&!$e(e),__=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),x_=e=>xs(e,Dp,ji),Se=e=>Pp.test(e),As=e=>xs(e,Np,g_),Nc=e=>xs(e,E_,Ne),w_=e=>xs(e,qp,Ip),k_=e=>xs(e,Fp,ji),Fc=e=>xs(e,Rp,ji),C_=e=>xs(e,Lp,y_),Rr=e=>xs(e,Bp,v_),$e=e=>Mp.test(e),No=e=>Hs(e,Np),S_=e=>Hs(e,Fp),qc=e=>Hs(e,Rp),$_=e=>Hs(e,Dp),T_=e=>Hs(e,Lp),Lr=e=>Hs(e,Bp,!0),A_=e=>Hs(e,qp,!0),xs=(e,t,n)=>{const s=Pp.exec(e);return s?s[1]?t(s[1]):n(s[2]):!1},Hs=(e,t,n=!1)=>{const s=Mp.exec(e);return s?s[1]?t(s[1]):n:!1},Rp=e=>e==="position"||e==="percentage",Lp=e=>e==="image"||e==="url",Dp=e=>e==="length"||e==="size"||e==="bg-size",Np=e=>e==="length",E_=e=>e==="number",Fp=e=>e==="family-name",qp=e=>e==="number"||e==="weight",Bp=e=>e==="shadow",O_=()=>{const e=bt("color"),t=bt("font"),n=bt("text"),s=bt("font-weight"),o=bt("tracking"),a=bt("leading"),l=bt("breakpoint"),i=bt("container"),u=bt("spacing"),c=bt("radius"),d=bt("shadow"),f=bt("inset-shadow"),p=bt("text-shadow"),y=bt("drop-shadow"),S=bt("blur"),$=bt("perspective"),A=bt("aspect"),w=bt("ease"),_=bt("animate"),P=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],U=()=>[...x(),$e,Se],R=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],F=()=>[$e,Se,u],H=()=>[ls,"full","auto",...F()],X=()=>[vn,"none","subgrid",$e,Se],Z=()=>["auto",{span:["full",vn,$e,Se]},vn,$e,Se],Q=()=>[vn,"auto",$e,Se],de=()=>["auto","min","max","fr",$e,Se],L=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...F()],J=()=>[ls,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...F()],oe=()=>[ls,"screen","full","dvw","lvw","svw","min","max","fit",...F()],pe=()=>[ls,"screen","full","lh","dvh","lvh","svh","min","max","fit",...F()],Y=()=>[e,$e,Se],he=()=>[...x(),qc,Fc,{position:[$e,Se]}],ee=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ye=()=>["auto","cover","contain",$_,x_,{size:[$e,Se]}],Ue=()=>[bl,No,As],ve=()=>["","none","full",c,$e,Se],ye=()=>["",Ne,No,As],te=()=>["solid","dashed","dotted","double"],we=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_e=()=>[Ne,bl,qc,Fc],Fe=()=>["","none",S,$e,Se],at=()=>["none",Ne,$e,Se],V=()=>["none",Ne,$e,Se],G=()=>[Ne,$e,Se],ne=()=>[ls,"full",...F()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Nn],breakpoint:[Nn],color:[Ip],container:[Nn],"drop-shadow":[Nn],ease:["in","out","in-out"],font:[b_],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Nn],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Nn],shadow:[Nn],spacing:["px",Ne],text:[Nn],"text-shadow":[Nn],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ls,Se,$e,A]}],container:["container"],"container-type":[{"@container":["","normal","size",$e,Se]}],"container-named":[__],columns:[{columns:[Ne,Se,$e,i]}],"break-after":[{"break-after":P()}],"break-before":[{"break-before":P()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:U()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:H()}],"inset-x":[{"inset-x":H()}],"inset-y":[{"inset-y":H()}],start:[{"inset-s":H(),start:H()}],end:[{"inset-e":H(),end:H()}],"inset-bs":[{"inset-bs":H()}],"inset-be":[{"inset-be":H()}],top:[{top:H()}],right:[{right:H()}],bottom:[{bottom:H()}],left:[{left:H()}],visibility:["visible","invisible","collapse"],z:[{z:[vn,"auto",$e,Se]}],basis:[{basis:[ls,"full","auto",i,...F()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Ne,ls,"auto","initial","none",Se]}],grow:[{grow:["",Ne,$e,Se]}],shrink:[{shrink:["",Ne,$e,Se]}],order:[{order:[vn,"first","last","none",$e,Se]}],"grid-cols":[{"grid-cols":X()}],"col-start-end":[{col:Z()}],"col-start":[{"col-start":Q()}],"col-end":[{"col-end":Q()}],"grid-rows":[{"grid-rows":X()}],"row-start-end":[{row:Z()}],"row-start":[{"row-start":Q()}],"row-end":[{"row-end":Q()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":de()}],"auto-rows":[{"auto-rows":de()}],gap:[{gap:F()}],"gap-x":[{"gap-x":F()}],"gap-y":[{"gap-y":F()}],"justify-content":[{justify:[...L(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...L()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":L()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:F()}],px:[{px:F()}],py:[{py:F()}],ps:[{ps:F()}],pe:[{pe:F()}],pbs:[{pbs:F()}],pbe:[{pbe:F()}],pt:[{pt:F()}],pr:[{pr:F()}],pb:[{pb:F()}],pl:[{pl:F()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":F()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":F()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],"inline-size":[{inline:["auto",...oe()]}],"min-inline-size":[{"min-inline":["auto",...oe()]}],"max-inline-size":[{"max-inline":["none",...oe()]}],"block-size":[{block:["auto",...pe()]}],"min-block-size":[{"min-block":["auto",...pe()]}],"max-block-size":[{"max-block":["none",...pe()]}],w:[{w:[i,"screen",...J()]}],"min-w":[{"min-w":[i,"screen","none",...J()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[l]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",n,No,As]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,A_,w_]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",bl,Se]}],"font-family":[{font:[S_,k_,t]}],"font-features":[{"font-features":[Se]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,$e,Se]}],"line-clamp":[{"line-clamp":[Ne,"none",$e,Nc]}],leading:[{leading:[a,...F()]}],"list-image":[{"list-image":["none",$e,Se]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",$e,Se]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Y()}],"text-color":[{text:Y()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...te(),"wavy"]}],"text-decoration-thickness":[{decoration:[Ne,"from-font","auto",$e,As]}],"text-decoration-color":[{decoration:Y()}],"underline-offset":[{"underline-offset":[Ne,"auto",$e,Se]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:F()}],"tab-size":[{tab:[vn,$e,Se]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",$e,Se]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",$e,Se]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:he()}],"bg-repeat":[{bg:ee()}],"bg-size":[{bg:Ye()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},vn,$e,Se],radial:["",$e,Se],conic:[vn,$e,Se]},T_,C_]}],"bg-color":[{bg:Y()}],"gradient-from-pos":[{from:Ue()}],"gradient-via-pos":[{via:Ue()}],"gradient-to-pos":[{to:Ue()}],"gradient-from":[{from:Y()}],"gradient-via":[{via:Y()}],"gradient-to":[{to:Y()}],rounded:[{rounded:ve()}],"rounded-s":[{"rounded-s":ve()}],"rounded-e":[{"rounded-e":ve()}],"rounded-t":[{"rounded-t":ve()}],"rounded-r":[{"rounded-r":ve()}],"rounded-b":[{"rounded-b":ve()}],"rounded-l":[{"rounded-l":ve()}],"rounded-ss":[{"rounded-ss":ve()}],"rounded-se":[{"rounded-se":ve()}],"rounded-ee":[{"rounded-ee":ve()}],"rounded-es":[{"rounded-es":ve()}],"rounded-tl":[{"rounded-tl":ve()}],"rounded-tr":[{"rounded-tr":ve()}],"rounded-br":[{"rounded-br":ve()}],"rounded-bl":[{"rounded-bl":ve()}],"border-w":[{border:ye()}],"border-w-x":[{"border-x":ye()}],"border-w-y":[{"border-y":ye()}],"border-w-s":[{"border-s":ye()}],"border-w-e":[{"border-e":ye()}],"border-w-bs":[{"border-bs":ye()}],"border-w-be":[{"border-be":ye()}],"border-w-t":[{"border-t":ye()}],"border-w-r":[{"border-r":ye()}],"border-w-b":[{"border-b":ye()}],"border-w-l":[{"border-l":ye()}],"divide-x":[{"divide-x":ye()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ye()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...te(),"hidden","none"]}],"divide-style":[{divide:[...te(),"hidden","none"]}],"border-color":[{border:Y()}],"border-color-x":[{"border-x":Y()}],"border-color-y":[{"border-y":Y()}],"border-color-s":[{"border-s":Y()}],"border-color-e":[{"border-e":Y()}],"border-color-bs":[{"border-bs":Y()}],"border-color-be":[{"border-be":Y()}],"border-color-t":[{"border-t":Y()}],"border-color-r":[{"border-r":Y()}],"border-color-b":[{"border-b":Y()}],"border-color-l":[{"border-l":Y()}],"divide-color":[{divide:Y()}],"outline-style":[{outline:[...te(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Ne,$e,Se]}],"outline-w":[{outline:["",Ne,No,As]}],"outline-color":[{outline:Y()}],shadow:[{shadow:["","none",d,Lr,Rr]}],"shadow-color":[{shadow:Y()}],"inset-shadow":[{"inset-shadow":["none",f,Lr,Rr]}],"inset-shadow-color":[{"inset-shadow":Y()}],"ring-w":[{ring:ye()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Y()}],"ring-offset-w":[{"ring-offset":[Ne,As]}],"ring-offset-color":[{"ring-offset":Y()}],"inset-ring-w":[{"inset-ring":ye()}],"inset-ring-color":[{"inset-ring":Y()}],"text-shadow":[{"text-shadow":["none",p,Lr,Rr]}],"text-shadow-color":[{"text-shadow":Y()}],opacity:[{opacity:[Ne,$e,Se]}],"mix-blend":[{"mix-blend":[...we(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":we()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Ne]}],"mask-image-linear-from-pos":[{"mask-linear-from":_e()}],"mask-image-linear-to-pos":[{"mask-linear-to":_e()}],"mask-image-linear-from-color":[{"mask-linear-from":Y()}],"mask-image-linear-to-color":[{"mask-linear-to":Y()}],"mask-image-t-from-pos":[{"mask-t-from":_e()}],"mask-image-t-to-pos":[{"mask-t-to":_e()}],"mask-image-t-from-color":[{"mask-t-from":Y()}],"mask-image-t-to-color":[{"mask-t-to":Y()}],"mask-image-r-from-pos":[{"mask-r-from":_e()}],"mask-image-r-to-pos":[{"mask-r-to":_e()}],"mask-image-r-from-color":[{"mask-r-from":Y()}],"mask-image-r-to-color":[{"mask-r-to":Y()}],"mask-image-b-from-pos":[{"mask-b-from":_e()}],"mask-image-b-to-pos":[{"mask-b-to":_e()}],"mask-image-b-from-color":[{"mask-b-from":Y()}],"mask-image-b-to-color":[{"mask-b-to":Y()}],"mask-image-l-from-pos":[{"mask-l-from":_e()}],"mask-image-l-to-pos":[{"mask-l-to":_e()}],"mask-image-l-from-color":[{"mask-l-from":Y()}],"mask-image-l-to-color":[{"mask-l-to":Y()}],"mask-image-x-from-pos":[{"mask-x-from":_e()}],"mask-image-x-to-pos":[{"mask-x-to":_e()}],"mask-image-x-from-color":[{"mask-x-from":Y()}],"mask-image-x-to-color":[{"mask-x-to":Y()}],"mask-image-y-from-pos":[{"mask-y-from":_e()}],"mask-image-y-to-pos":[{"mask-y-to":_e()}],"mask-image-y-from-color":[{"mask-y-from":Y()}],"mask-image-y-to-color":[{"mask-y-to":Y()}],"mask-image-radial":[{"mask-radial":[$e,Se]}],"mask-image-radial-from-pos":[{"mask-radial-from":_e()}],"mask-image-radial-to-pos":[{"mask-radial-to":_e()}],"mask-image-radial-from-color":[{"mask-radial-from":Y()}],"mask-image-radial-to-color":[{"mask-radial-to":Y()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[Ne]}],"mask-image-conic-from-pos":[{"mask-conic-from":_e()}],"mask-image-conic-to-pos":[{"mask-conic-to":_e()}],"mask-image-conic-from-color":[{"mask-conic-from":Y()}],"mask-image-conic-to-color":[{"mask-conic-to":Y()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:he()}],"mask-repeat":[{mask:ee()}],"mask-size":[{mask:Ye()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",$e,Se]}],filter:[{filter:["","none",$e,Se]}],blur:[{blur:Fe()}],brightness:[{brightness:[Ne,$e,Se]}],contrast:[{contrast:[Ne,$e,Se]}],"drop-shadow":[{"drop-shadow":["","none",y,Lr,Rr]}],"drop-shadow-color":[{"drop-shadow":Y()}],grayscale:[{grayscale:["",Ne,$e,Se]}],"hue-rotate":[{"hue-rotate":[Ne,$e,Se]}],invert:[{invert:["",Ne,$e,Se]}],saturate:[{saturate:[Ne,$e,Se]}],sepia:[{sepia:["",Ne,$e,Se]}],"backdrop-filter":[{"backdrop-filter":["","none",$e,Se]}],"backdrop-blur":[{"backdrop-blur":Fe()}],"backdrop-brightness":[{"backdrop-brightness":[Ne,$e,Se]}],"backdrop-contrast":[{"backdrop-contrast":[Ne,$e,Se]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Ne,$e,Se]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Ne,$e,Se]}],"backdrop-invert":[{"backdrop-invert":["",Ne,$e,Se]}],"backdrop-opacity":[{"backdrop-opacity":[Ne,$e,Se]}],"backdrop-saturate":[{"backdrop-saturate":[Ne,$e,Se]}],"backdrop-sepia":[{"backdrop-sepia":["",Ne,$e,Se]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":F()}],"border-spacing-x":[{"border-spacing-x":F()}],"border-spacing-y":[{"border-spacing-y":F()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",$e,Se]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Ne,"initial",$e,Se]}],ease:[{ease:["linear","initial",w,$e,Se]}],delay:[{delay:[Ne,$e,Se]}],animate:[{animate:["none",_,$e,Se]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[$,$e,Se]}],"perspective-origin":[{"perspective-origin":U()}],rotate:[{rotate:at()}],"rotate-x":[{"rotate-x":at()}],"rotate-y":[{"rotate-y":at()}],"rotate-z":[{"rotate-z":at()}],scale:[{scale:V()}],"scale-x":[{"scale-x":V()}],"scale-y":[{"scale-y":V()}],"scale-z":[{"scale-z":V()}],"scale-3d":["scale-3d"],skew:[{skew:G()}],"skew-x":[{"skew-x":G()}],"skew-y":[{"skew-y":G()}],transform:[{transform:[$e,Se,"","none","gpu","cpu"]}],"transform-origin":[{origin:U()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ne()}],"translate-x":[{"translate-x":ne()}],"translate-y":[{"translate-y":ne()}],"translate-z":[{"translate-z":ne()}],"translate-none":["translate-none"],zoom:[{zoom:[vn,$e,Se]}],accent:[{accent:Y()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Y()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",$e,Se]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":Y()}],"scrollbar-track-color":[{"scrollbar-track":Y()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":F()}],"scroll-mx":[{"scroll-mx":F()}],"scroll-my":[{"scroll-my":F()}],"scroll-ms":[{"scroll-ms":F()}],"scroll-me":[{"scroll-me":F()}],"scroll-mbs":[{"scroll-mbs":F()}],"scroll-mbe":[{"scroll-mbe":F()}],"scroll-mt":[{"scroll-mt":F()}],"scroll-mr":[{"scroll-mr":F()}],"scroll-mb":[{"scroll-mb":F()}],"scroll-ml":[{"scroll-ml":F()}],"scroll-p":[{"scroll-p":F()}],"scroll-px":[{"scroll-px":F()}],"scroll-py":[{"scroll-py":F()}],"scroll-ps":[{"scroll-ps":F()}],"scroll-pe":[{"scroll-pe":F()}],"scroll-pbs":[{"scroll-pbs":F()}],"scroll-pbe":[{"scroll-pbe":F()}],"scroll-pt":[{"scroll-pt":F()}],"scroll-pr":[{"scroll-pr":F()}],"scroll-pb":[{"scroll-pb":F()}],"scroll-pl":[{"scroll-pl":F()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",$e,Se]}],fill:[{fill:["none",...Y()]}],"stroke-w":[{stroke:[Ne,No,As,Nc]}],stroke:[{stroke:["none",...Y()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},P_=i_(O_);function Ge(...e){return P_(Sp(e))}const M_=["type","disabled"],ke=re({__name:"Button",props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},type:{},disabled:{type:Boolean}},setup(e){const t=e;return(n,s)=>(h(),B("button",{type:t.type??"button",disabled:t.disabled,class:ge(r(Ge)(r(I_)({variant:t.variant,size:t.size}),t.class))},[ce(n.$slots,"default")],10,M_))}}),I_=$p("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors duration-150 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),R_=["type","value","placeholder","autocomplete","disabled"],mt=re({__name:"Input",props:{modelValue:{},class:{type:[Boolean,null,String,Object,Array]},type:{},placeholder:{},autocomplete:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t;return(o,a)=>(h(),B("input",{type:n.type??"text",value:n.modelValue,placeholder:n.placeholder,autocomplete:n.autocomplete,disabled:n.disabled,onInput:a[0]||(a[0]=l=>s("update:modelValue",l.target.value)),class:ge(r(Ge)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50",n.class))},null,42,R_))}}),Oe=re({__name:"Badge",props:{variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("span",{class:ge(r(Ge)(r(L_)({variant:t.variant}),t.class))},[ce(n.$slots,"default")],2))}}),L_=$p("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary/15 text-primary",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive/15 text-destructive",outline:"text-foreground",muted:"border-transparent bg-muted text-muted-foreground",success:"border-transparent bg-emerald-500/15 text-emerald-500",warning:"border-transparent bg-amber-500/15 text-amber-600 dark:text-amber-400"}},defaultVariants:{variant:"default"}}),Vt=re({__name:"Card",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("div",{class:ge(r(Ge)("rounded-xl border bg-card text-card-foreground shadow",t.class))},[ce(n.$slots,"default")],2))}}),zn=re({__name:"CardHeader",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("div",{class:ge(r(Ge)("flex flex-col space-y-1.5 p-6",t.class))},[ce(n.$slots,"default")],2))}}),Wn=re({__name:"CardTitle",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("h3",{class:ge(r(Ge)("font-semibold leading-none tracking-tight",t.class))},[ce(n.$slots,"default")],2))}}),Ns=re({__name:"CardDescription",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("p",{class:ge(r(Ge)("text-sm text-muted-foreground",t.class))},[ce(n.$slots,"default")],2))}}),en=re({__name:"CardContent",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("div",{class:ge(r(Ge)("p-6 pt-0",t.class))},[ce(n.$slots,"default")],2))}});function Bc(e){return typeof e=="string"?`'${e}'`:new D_().serialize(e)}const D_=function(){var t;class e{constructor(){vu(this,t,new Map)}compare(s,o){const a=typeof s,l=typeof o;return a==="string"&&l==="string"?s.localeCompare(o):a==="number"&&l==="number"?s-o:String.prototype.localeCompare.call(this.serialize(s,!0),this.serialize(o,!0))}serialize(s,o){if(s===null)return"null";switch(typeof s){case"string":return o?s:`'${s}'`;case"bigint":return`${s}n`;case"object":return this.$object(s);case"function":return this.$function(s)}return String(s)}serializeObject(s){const o=Object.prototype.toString.call(s);if(o!=="[object Object]")return this.serializeBuiltInType(o.length<10?`unknown:${o}`:o.slice(8,-1),s);const a=s.constructor,l=a===Object||a===void 0?"":a.name;if(l!==""&&globalThis[l]===a)return this.serializeBuiltInType(l,s);if(typeof s.toJSON=="function"){const i=s.toJSON();return l+(i!==null&&typeof i=="object"?this.$object(i):`(${this.serialize(i)})`)}return this.serializeObjectEntries(l,Object.entries(s))}serializeBuiltInType(s,o){const a=this["$"+s];if(a)return a.call(this,o);if(typeof(o==null?void 0:o.entries)=="function")return this.serializeObjectEntries(s,o.entries());throw new Error(`Cannot serialize ${s}`)}serializeObjectEntries(s,o){const a=Array.from(o).sort((i,u)=>this.compare(i[0],u[0]));let l=`${s}{`;for(let i=0;i<a.length;i++){const[u,c]=a[i];l+=`${this.serialize(u,!0)}:${this.serialize(c)}`,i<a.length-1&&(l+=",")}return l+"}"}$object(s){let o=Po(this,t).get(s);return o===void 0&&(Po(this,t).set(s,`#${Po(this,t).size}`),o=this.serializeObject(s),Po(this,t).set(s,o)),o}$function(s){const o=Function.prototype.toString.call(s);return o.slice(-15)==="[native code] }"?`${s.name||""}()[native]`:`${s.name}(${s.length})${o.replace(/\s*\n\s*/g,"")}`}$Array(s){let o="[";for(let a=0;a<s.length;a++)o+=this.serialize(s[a]),a<s.length-1&&(o+=",");return o+"]"}$Date(s){try{return`Date(${s.toISOString()})`}catch{return"Date(null)"}}$ArrayBuffer(s){return`ArrayBuffer[${new Uint8Array(s).join(",")}]`}$Set(s){return`Set${this.$Array(Array.from(s).sort((o,a)=>this.compare(o,a)))}`}$Map(s){return this.serializeObjectEntries("Map",s.entries())}}t=new WeakMap;for(const n of["Error","RegExp","URL"])e.prototype["$"+n]=function(s){return`${n}(${s})`};for(const n of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])e.prototype["$"+n]=function(s){return`${n}[${s.join(",")}]`};for(const n of["BigInt64Array","BigUint64Array"])e.prototype["$"+n]=function(s){return`${n}[${s.join("n,")}${s.length>0?"n":""}]`};return e}();function dr(e,t){return e===t||Bc(e)===Bc(t)}function Vc(e,t=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY){return Math.min(n,Math.max(t,e))}function Ct(e,t){const n=typeof e=="string"&&!t?`${e}Context`:t,s=Symbol(n);return[l=>{const i=Ds(s,l);if(i||i===null)return i;throw new Error(`Injection \`${s.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(", ")}`:`\`${e}\``}`)},l=>($i(s,l),l)]}function xt(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function zi(e,t,n){const s=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&s.addEventListener(e,t,{once:!0}),s.dispatchEvent(o)}function xo(e){return e==null}function Uc(e,t){return xo(e)?!1:Array.isArray(e)?e.some(n=>dr(n,t)):dr(e,t)}function Wi(e,t){return Ta()?(xi(e,t),!0):!1}function N_(e){let t=!1,n;const s=_i(!0);return(...o)=>(t||(n=s.run(()=>e(...o)),t=!0),n)}const En=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const F_=e=>typeof e<"u",q_=Object.prototype.toString,B_=e=>q_.call(e)==="[object Object]",Hc=V_();function V_(){var e,t,n;return En&&!!(!((e=window)===null||e===void 0||(e=e.navigator)===null||e===void 0)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)===null||t===void 0||(t=t.navigator)===null||t===void 0?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test((n=window)===null||n===void 0?void 0:n.navigator.userAgent))}function _l(e){return Array.isArray(e)?e:[e]}function U_(e){return Ht()}function Vp(e){if(!En)return e;let t=0,n,s;const o=()=>{t-=1,s&&t<=0&&(s.stop(),n=void 0,s=void 0)};return(...a)=>(t+=1,s||(s=_i(!0),n=s.run(()=>e(...a))),Wi(o),n)}function H_(e){return qs(ut(e)?new Proxy({},{get(t,n,s){return r(Reflect.get(e.value,n,s))},set(t,n,s){return ut(e.value[n])&&!ut(s)?e.value[n].value=s:e.value[n]=s,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function j_(e){return H_(ae(e))}function z_(e,...t){const n=t.flat(),s=n[0];return j_(()=>Object.fromEntries(typeof s=="function"?Object.entries(qt(e)).filter(([o,a])=>!s(Pt(a),o)):Object.entries(qt(e)).filter(o=>!n.includes(o[0]))))}function W_(e,t=1e4){return Xd((n,s)=>{let o=Pt(e),a;const l=()=>setTimeout(()=>{o=Pt(e),s()},Pt(t));return Wi(()=>{clearTimeout(a)}),{get(){return n(),o},set(i){o=i,s(),clearTimeout(a),a=l()}}})}function K_(e,t){U_()&&So(e,t)}function G_(e,t,n){return Re(e,t,{...n,immediate:!0})}const Ba=En?window:void 0;function On(e){var t;const n=Pt(e);return(t=n==null?void 0:n.$el)!==null&&t!==void 0?t:n}function da(...e){const t=(s,o,a,l)=>(s.addEventListener(o,a,l),()=>s.removeEventListener(o,a,l)),n=ae(()=>{const s=_l(Pt(e[0])).filter(o=>o!=null);return s.every(o=>typeof o!="string")?s:void 0});return G_(()=>{var s,o;return[(s=(o=n.value)===null||o===void 0?void 0:o.map(a=>On(a)))!==null&&s!==void 0?s:[Ba].filter(a=>a!=null),_l(Pt(n.value?e[1]:e[0])),_l(r(n.value?e[2]:e[1])),Pt(n.value?e[3]:e[2])]},([s,o,a,l],i,u)=>{if(!(s!=null&&s.length)||!(o!=null&&o.length)||!(a!=null&&a.length))return;const c=B_(l)?{...l}:l,d=s.flatMap(f=>o.flatMap(p=>a.map(y=>t(f,p,y,c))));u(()=>{d.forEach(f=>f())})},{flush:"post"})}function Up(){const e=Ia(!1),t=Ht();return t&&rt(()=>{e.value=!0},t),e}function Y_(e){const t=Up();return ae(()=>(t.value,!!e()))}function X_(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function J_(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:o=Ba,eventName:a="keydown",passive:l=!1,dedupe:i=!1}=s,u=X_(t);return da(o,a,d=>{d.repeat&&Pt(i)||u(d)&&n(d)},l)}function Q_(e){return JSON.parse(JSON.stringify(e))}function Z_(e,t,n={}){const{window:s=Ba,...o}=n;let a;const l=Y_(()=>s&&"ResizeObserver"in s),i=()=>{a&&(a.disconnect(),a=void 0)},u=Re(ae(()=>{const d=Pt(e);return Array.isArray(d)?d.map(f=>On(f)):[On(d)]}),d=>{if(i(),l.value&&s){a=new ResizeObserver(t);for(const f of d)f&&a.observe(f,o)}},{immediate:!0,flush:"post"}),c=()=>{i(),u()};return Wi(c),{isSupported:l,stop:c}}function Pn(e,t,n,s={}){var o,a;const{clone:l=!1,passive:i=!1,eventName:u,deep:c=!1,defaultValue:d,shouldEmit:f}=s,p=Ht(),y=n||(p==null?void 0:p.emit)||(p==null||(o=p.$emit)===null||o===void 0?void 0:o.bind(p))||(p==null||(a=p.proxy)===null||a===void 0||(a=a.$emit)===null||a===void 0?void 0:a.bind(p==null?void 0:p.proxy));let S=u;t||(t="modelValue"),S=S||`update:${t.toString()}`;const $=_=>l?typeof l=="function"?l(_):Q_(_):_,A=()=>F_(e[t])?$(e[t]):d,w=_=>{f?f(_)&&y(S,_):y(S,_)};if(i){const _=K(A());let P=!1;return Re(()=>e[t],x=>{P||(P=!0,_.value=$(x),it(()=>P=!1))}),Re(_,x=>{!P&&(x!==e[t]||c)&&w(x)},{deep:c}),_}else return ae({get(){return A()},set(_){w(_)}})}function Ki(e){return e?e.flatMap(t=>t.type===me?Ki(t.children):[t]):[]}const e1=["INPUT","TEXTAREA"];function jc(e,t,n,s={}){if(!t||s.enableIgnoredElement&&e1.includes(t.nodeName))return null;const{arrowKeyOptions:o="both",attributeName:a="[data-reka-collection-item]",itemsArray:l=[],loop:i=!0,dir:u="ltr",preventScroll:c=!0,focus:d=!1}=s,[f,p,y,S,$,A]=[e.key==="ArrowRight",e.key==="ArrowLeft",e.key==="ArrowUp",e.key==="ArrowDown",e.key==="Home",e.key==="End"],w=y||S,_=f||p;if(!$&&!A&&(!w&&!_||o==="vertical"&&_||o==="horizontal"&&w))return null;const P=n?Array.from(n.querySelectorAll(a)):l;if(!P.length)return null;c&&e.preventDefault();let x=null;return _||w?x=Hp(P,t,{goForward:w?S:u==="ltr"?f:p,loop:i}):$?x=P.at(0)||null:A&&(x=P.at(-1)||null),d&&(x==null||x.focus()),x}function Hp(e,t,n,s=e.includes(t)?e.length:e.length+1){if(--s===0)return null;const o=e.indexOf(t);let a;if(o===-1?a=n.goForward?0:e.length-1:a=n.goForward?o+1:o-1,!n.loop&&(a<0||a>=e.length))return null;const l=(a+e.length)%e.length,i=e[l];return i?i.hasAttribute("disabled")&&i.getAttribute("disabled")!=="false"?Hp(e,i,n,s):i:null}const[Cr]=Ct("ConfigProvider");function xl(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function ni(e,t,n=".",s){if(!xl(t))return ni(e,{},n,s);const o={...t};for(const a of Object.keys(e)){if(a==="__proto__"||a==="constructor")continue;const l=e[a];l!=null&&(s&&s(o,a,l,n)||(Array.isArray(l)&&Array.isArray(o[a])?o[a]=[...l,...o[a]]:xl(l)&&xl(o[a])?o[a]=ni(l,o[a],(n?`${n}.`:"")+a.toString(),s):o[a]=l))}return o}function t1(e){return(...t)=>t.reduce((n,s)=>ni(n,s,"",e),{})}const n1=t1(),s1=Vp(()=>{const e=K(new Map),t=K(),n=ae(()=>{for(const l of e.value.values())if(l)return!0;return!1}),s=Cr({scrollBody:K(!0)});let o=null;const a=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",Hc&&(o==null||o()),t.value=void 0};return Re(n,(l,i)=>{var f;if(!En)return;if(!l){i&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);const u=window.innerWidth-document.documentElement.clientWidth,c={padding:u,margin:0},d=(f=s.scrollBody)!=null&&f.value?typeof s.scrollBody.value=="object"?n1({padding:s.scrollBody.value.padding===!0?u:s.scrollBody.value.padding,margin:s.scrollBody.value.margin===!0?u:s.scrollBody.value.margin},c):c:{padding:0,margin:0};u>0&&(document.body.style.paddingRight=typeof d.padding=="number"?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin=="number"?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty("--scrollbar-width",`${u}px`),document.body.style.overflow="hidden"),Hc&&(o=da(document,"touchmove",p=>o1(p),{passive:!1})),it(()=>{n.value&&(document.body.style.pointerEvents="none",document.body.style.overflow="hidden")})},{immediate:!0,flush:"sync"}),e});function Va(e){const t=Math.random().toString(36).substring(2,7),n=s1();n.value.set(t,e??!1);const s=ae({get:()=>n.value.get(t)??!1,set:o=>n.value.set(t,o)});return K_(()=>{n.value.delete(t)}),s}function jp(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth<e.scrollWidth||t.overflowY==="auto"&&e.clientHeight<e.scrollHeight)return!0;{const n=e.parentNode;return!(n instanceof Element)||n.tagName==="BODY"?!1:jp(n)}}function o1(e){const t=e||window.event,n=t.target;return n instanceof Element&&jp(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function To(e){const t=Cr({dir:K("ltr")});return ae(()=>{var n;return(e==null?void 0:e.value)||((n=t.dir)==null?void 0:n.value)||"ltr"})}function Sr(e){const t=Ht(),n=t==null?void 0:t.type.emits,s={};return n!=null&&n.length||console.warn(`No emitted event found. Please check component: ${t==null?void 0:t.type.__name}`),n==null||n.forEach(o=>{s[Vr(kt(o))]=(...a)=>e(o,...a)}),s}let wl=0;function Gi(){Zn(e=>{if(!En)return;const t=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",t[0]??zc()),document.body.insertAdjacentElement("beforeend",t[1]??zc()),wl++,e(()=>{wl===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),wl--})})}function zc(){const e=document.createElement("span");return e.setAttribute("data-reka-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}function Yi(e){return ae(()=>{var t;return Pt(e)?!!((t=On(e))!=null&&t.closest("form")):!0})}function De(){const e=Ht(),t=K(),n=ae(()=>s());Ti(()=>{n.value!==s()&&gh(t)});function s(){return t.value&&"$el"in t.value&&["#text","#comment"].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:On(t)}const o=Object.assign({},e.exposed),a={};for(const i in e.props)Object.defineProperty(a,i,{enumerable:!0,configurable:!0,get:()=>e.props[i]});if(Object.keys(o).length>0)for(const i in o)Object.defineProperty(a,i,{enumerable:!0,configurable:!0,get:()=>o[i]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=a;function l(i){if(t.value=i,!!i&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>i instanceof Element?i:i.$el}),!(i instanceof Element)&&!Object.hasOwn(i,"$el"))){const u=i.$.exposed,c=Object.assign({},a);for(const d in u)Object.defineProperty(c,d,{enumerable:!0,configurable:!0,get:()=>u[d]});e.exposed=c}}return{forwardRef:l,currentRef:t,currentElement:n}}function Ua(e){const t=Ht(),n=Object.keys((t==null?void 0:t.type.props)??{}).reduce((o,a)=>{const l=(t==null?void 0:t.type.props[a]).default;return l!==void 0&&(o[a]=l),o},{}),s=xh(e);return ae(()=>{const o={},a=(t==null?void 0:t.vnode.props)??{};return Object.keys(a).forEach(l=>{o[kt(l)]=a[l]}),Object.keys({...n,...o}).reduce((l,i)=>(s.value[i]!==void 0&&(l[i]=s.value[i]),l),{})})}function Tt(e,t){const n=Ua(e),s=t?Sr(t):{};return ae(()=>({...n.value,...s}))}function zp(){var t,n;const e=(n=(t=Ht())==null?void 0:t.vnode)==null?void 0:n.scopeId;return e?{[e]:""}:{}}var r1=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Qs=new WeakMap,Dr=new WeakMap,Nr={},kl=0,Wp=function(e){return e&&(e.host||Wp(e.parentNode))},a1=function(e,t){return t.map(function(n){if(e.contains(n))return n;var s=Wp(n);return s&&e.contains(s)?s:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},l1=function(e,t,n,s){var o=a1(t,Array.isArray(e)?e:[e]);Nr[n]||(Nr[n]=new WeakMap);var a=Nr[n],l=[],i=new Set,u=new Set(o),c=function(f){!f||i.has(f)||(i.add(f),c(f.parentNode))};o.forEach(c);var d=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(p){if(i.has(p))d(p);else try{var y=p.getAttribute(s),S=y!==null&&y!=="false",$=(Qs.get(p)||0)+1,A=(a.get(p)||0)+1;Qs.set(p,$),a.set(p,A),l.push(p),$===1&&S&&Dr.set(p,!0),A===1&&p.setAttribute(n,"true"),S||p.setAttribute(s,"true")}catch(w){console.error("aria-hidden: cannot operate on ",p,w)}})};return d(t),i.clear(),kl++,function(){l.forEach(function(f){var p=Qs.get(f)-1,y=a.get(f)-1;Qs.set(f,p),a.set(f,y),p||(Dr.has(f)||f.removeAttribute(s),Dr.delete(f)),y||f.removeAttribute(n)}),kl--,kl||(Qs=new WeakMap,Qs=new WeakMap,Dr=new WeakMap,Nr={})}},i1=function(e,t,n){n===void 0&&(n="data-aria-hidden");var s=Array.from(Array.isArray(e)?e:[e]),o=r1(e);return o?(s.push.apply(s,Array.from(o.querySelectorAll("[aria-live], script"))),l1(s,o,n,"aria-hidden")):function(){return null}};function Ha(e){let t;Re(()=>On(e),n=>{let s=!1;try{s=!!(n!=null&&n.closest("[popover]:not(:popover-open)"))}catch{}n&&!s?t=i1(n):t&&t()}),fn(()=>{t&&t()})}function Mn(e,t="reka"){let n;const s=Cr({useId:void 0});return s.useId?n=s.useId():n=il==null?void 0:il(),t?`${t}-${n}`:n}function u1(e){const t=K(),n=ae(()=>{var a;return((a=t.value)==null?void 0:a.width)??0}),s=ae(()=>{var a;return((a=t.value)==null?void 0:a.height)??0});let o;return rt(()=>{const a=On(e);a?(t.value={width:a.offsetWidth,height:a.offsetHeight},o=new ResizeObserver(l=>{if(!Array.isArray(l)||!l.length)return;const i=l[0];let u,c;if("borderBoxSize"in i){const d=i.borderBoxSize,f=Array.isArray(d)?d[0]:d;u=f.inlineSize,c=f.blockSize}else u=a.offsetWidth,c=a.offsetHeight;t.value={width:u,height:c}}),o.observe(a,{box:"border-box"})):t.value=void 0}),fn(()=>{o==null||o.disconnect(),o=void 0}),{width:n,height:s}}function c1(e,t){const n=K(e);function s(a){return t[n.value][a]??n.value}return{state:n,dispatch:a=>{n.value=s(a)}}}function Xi(e){const t=W_("",1e3);return{search:t,handleTypeaheadSearch:(o,a)=>{t.value=t.value+o;{const l=xt(),i=a.map(p=>{var y,S;return{...p,textValue:((y=p.value)==null?void 0:y.textValue)??((S=p.ref.textContent)==null?void 0:S.trim())??""}}),u=i.find(p=>p.ref===l),c=i.map(p=>p.textValue),d=f1(c,t.value,u==null?void 0:u.textValue),f=i.find(p=>p.textValue===d);return f&&f.ref.focus(),f==null?void 0:f.ref}},resetTypeahead:()=>{t.value=""}}}function d1(e,t){return e.map((n,s)=>e[(t+s)%e.length])}function f1(e,t,n){const o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1;let l=d1(e,Math.max(a,0));o.length===1&&(l=l.filter(c=>c!==n));const u=l.find(c=>c.toLowerCase().startsWith(o.toLowerCase()));return u!==n?u:void 0}function p1(e,t){var A;const n=K({}),s=K("none"),o=K(e),a=e.value?"mounted":"unmounted";let l;const i=((A=t.value)==null?void 0:A.ownerDocument.defaultView)??Ba,{state:u,dispatch:c}=c1(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=w=>{var _;if(En){const P=new CustomEvent(w,{bubbles:!1,cancelable:!1});(_=t.value)==null||_.dispatchEvent(P)}};Re(e,async(w,_)=>{var x;const P=_!==w;if(await it(),P){const U=s.value,R=Fr(t.value);w?(c("MOUNT"),d("enter"),R==="none"&&d("after-enter")):R==="none"||R==="undefined"||((x=n.value)==null?void 0:x.display)==="none"?(c("UNMOUNT"),d("leave"),d("after-leave")):_&&U!==R?(c("ANIMATION_OUT"),d("leave")):(c("UNMOUNT"),d("after-leave"))}},{immediate:!0});const f=w=>{const _=Fr(t.value),P=_.includes(CSS.escape(w.animationName)),x=u.value==="mounted"?"enter":"leave";if(w.target===t.value&&P&&(d(`after-${x}`),c("ANIMATION_END"),!o.value)){const U=t.value.style.animationFillMode;t.value.style.animationFillMode="forwards",l=i==null?void 0:i.setTimeout(()=>{var R;((R=t.value)==null?void 0:R.style.animationFillMode)==="forwards"&&(t.value.style.animationFillMode=U)})}w.target===t.value&&_==="none"&&c("ANIMATION_END")},p=w=>{w.target===t.value&&(s.value=Fr(t.value))},y=Re(t,(w,_)=>{w?(n.value=getComputedStyle(w),w.addEventListener("animationstart",p),w.addEventListener("animationcancel",f),w.addEventListener("animationend",f)):(c("ANIMATION_END"),l!==void 0&&(i==null||i.clearTimeout(l)),_==null||_.removeEventListener("animationstart",p),_==null||_.removeEventListener("animationcancel",f),_==null||_.removeEventListener("animationend",f))},{immediate:!0}),S=Re(u,()=>{const w=Fr(t.value);s.value=u.value==="mounted"?w:"none"});return fn(()=>{y(),S(),t.value&&(t.value.removeEventListener("animationstart",p),t.value.removeEventListener("animationcancel",f),t.value.removeEventListener("animationend",f)),l!==void 0&&(i==null||i.clearTimeout(l))}),{isPresent:ae(()=>["mounted","unmountSuspended"].includes(u.value))}}function Fr(e){return e&&getComputedStyle(e).animationName||"none"}var js=re({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){var c;const{present:s,forceMount:o}=qt(e),a=K(),{isPresent:l}=p1(s,a);n({present:l});let i=t.default({present:l.value});i=Ki(i||[]);const u=Ht();if(i&&(i==null?void 0:i.length)>1){const d=(c=u==null?void 0:u.parent)!=null&&c.type.name?`<${u.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${d}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(f=>` - ${f}`).join(`
|
|
36
36
|
`)].join(`
|
|
37
|
-
`))}return()=>o.value||s.value||l.value?Kt(t.default({present:l.value})[0],{ref:d=>{const f=On(d);return typeof(f==null?void 0:f.hasAttribute)>"u"||(f!=null&&f.hasAttribute("data-reka-popper-content-wrapper")?a.value=f.firstElementChild:a.value=f),f}}):null}});const si=re({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{var u;if(!n.default)return null;const s=Ki(n.default()),o=s.findIndex(c=>c.type!==cn);if(o===-1)return s;const a=s[o];(u=a.props)==null||delete u.ref;const l=a.props?Ee(t,a.props):t,i=ms({...a,props:{}},l);return s.length===1?i:(s[o]=i,s)}}}),m1=["area","img","input"],He=re({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:n}){const s=e.asChild?"template":e.as;return typeof s=="string"&&m1.includes(s)?()=>Kt(s,t):s!=="template"?()=>Kt(e.as,t,{default:n.default}):()=>Kt(si,t,{default:n.default})}});function oi(){const e=K(),t=ae(()=>{var n,s;return["#text","#comment"].includes((n=e.value)==null?void 0:n.$el.nodeName)?(s=e.value)==null?void 0:s.$el.nextElementSibling:On(e)});return{primitiveElement:e,currentElement:t}}const[os,h1]=Ct("DialogRoot");var g1=re({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,o=Pn(n,"open",t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=K(),l=K(),{modal:i,unmountOnHide:u}=qt(n);return h1({open:o,modal:i,unmountOnHide:u,openModal:()=>{o.value=!0},onOpenChange:c=>{o.value=c},onOpenToggle:()=>{o.value=!o.value},contentId:"",titleId:"",descriptionId:"",triggerElement:a,contentElement:l}),(c,d)=>ce(c.$slots,"default",{open:r(o),close:()=>o.value=!1})}}),v1=g1,y1=re({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e;De();const n=os();return(s,o)=>(h(),z(r(He),Ee(t,{type:s.as==="button"?"button":void 0,onClick:o[0]||(o[0]=a=>r(n).onOpenChange(!1))}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["type"]))}}),b1=y1;const _1="dismissableLayer.pointerDownOutside",x1="dismissableLayer.focusOutside";function Kp(e,t){if(!(t instanceof Element))return!1;const n=t.closest("[data-dismissable-layer]"),s=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),o=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(s===n||o.indexOf(s)<o.indexOf(n)))}function w1(e,t,n=!0){var l;const s=((l=t==null?void 0:t.value)==null?void 0:l.ownerDocument)??(globalThis==null?void 0:globalThis.document),o=K(!1),a=K(()=>{});return Zn(i=>{if(!En||!Pt(n))return;const u=async d=>{const f=d.target;if(!(!(t!=null&&t.value)||!f)){if(Kp(t.value,f)){o.value=!1;return}if(d.target&&!o.value){let S=function(){zi(_1,e,y)};var p=S;const y={originalEvent:d};d.pointerType==="touch"?(s.removeEventListener("click",a.value),a.value=S,s.addEventListener("click",a.value,{once:!0})):S()}else s.removeEventListener("click",a.value);o.value=!1}},c=window.setTimeout(()=>{s.addEventListener("pointerdown",u)},0);i(()=>{window.clearTimeout(c),s.removeEventListener("pointerdown",u),s.removeEventListener("click",a.value)})}),{onPointerDownCapture:()=>{Pt(n)&&(o.value=!0)}}}function k1(e,t,n=!0){var a;const s=((a=t==null?void 0:t.value)==null?void 0:a.ownerDocument)??(globalThis==null?void 0:globalThis.document),o=K(!1);return Zn(l=>{if(!En||!Pt(n))return;const i=async u=>{if(!(t!=null&&t.value))return;await it(),await it();const c=u.target;!t.value||!c||Kp(t.value,c)||u.target&&!o.value&&zi(x1,e,{originalEvent:u})};s.addEventListener("focusin",i),l(()=>s.removeEventListener("focusin",i))}),{onFocusCapture:()=>{Pt(n)&&(o.value=!0)},onBlurCapture:()=>{Pt(n)&&(o.value=!1)}}}const zt=qs({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var C1=re({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,s=t,{forwardRef:o,currentElement:a}=De(),l=ae(()=>{var y;return((y=a.value)==null?void 0:y.ownerDocument)??globalThis.document}),i=ae(()=>zt.layersRoot),u=ae(()=>a.value?Array.from(i.value).indexOf(a.value):-1),c=ae(()=>zt.layersWithOutsidePointerEventsDisabled.size>0),d=ae(()=>{const y=Array.from(i.value),[S]=[...zt.layersWithOutsidePointerEventsDisabled].slice(-1),$=y.indexOf(S);return u.value>=$}),f=w1(async y=>{const S=[...zt.branches].some($=>$==null?void 0:$.contains(y.target));!n.present||!d.value||S||(s("pointerDownOutside",y),s("interactOutside",y),await it(),y.defaultPrevented||s("dismiss"))},a),p=k1(y=>{const S=[...zt.branches].some($=>$==null?void 0:$.contains(y.target));!n.present||S||(s("focusOutside",y),s("interactOutside",y),y.defaultPrevented||s("dismiss"))},a);return J_("Escape",y=>{!n.present||!(u.value===i.value.size-1)||(s("escapeKeyDown",y),y.defaultPrevented||s("dismiss"))}),Re([a,()=>n.disableOutsidePointerEvents,()=>n.present],([y,S,$],A,w)=>{!y||!$||S&&(zt.layersWithOutsidePointerEventsDisabled.size===0&&(zt.originalBodyPointerEvents=l.value.body.style.pointerEvents,l.value.body.style.pointerEvents="none"),zt.layersWithOutsidePointerEventsDisabled.add(y),w(()=>{zt.layersWithOutsidePointerEventsDisabled.delete(y),zt.layersWithOutsidePointerEventsDisabled.size===0&&!xo(zt.originalBodyPointerEvents)&&(l.value.body.style.pointerEvents=zt.originalBodyPointerEvents)}))},{immediate:!0}),Re([a,()=>n.present],([y,S],$,A)=>{!y||!S||(i.value.add(y),A(()=>{i.value.delete(y)}))},{immediate:!0}),Zn(y=>{y(()=>{a.value&&(i.value.delete(a.value),zt.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(y,S)=>(h(),z(r(He),{ref:r(o),"as-child":y.asChild,as:y.as,"data-dismissable-layer":"",style:tn({pointerEvents:c.value?d.value?"auto":"none":void 0}),onFocusCapture:r(p).onFocusCapture,onBlurCapture:r(p).onBlurCapture,onPointerdownCapture:r(f).onPointerDownCapture},{default:g(()=>[ce(y.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),ja=C1;const S1=N_(()=>K([]));function $1(){const e=S1();return{add(t){const n=e.value[0];t!==n&&(n==null||n.pause()),e.value=Wc(e.value,t),e.value.unshift(t)},remove(t){var n;e.value=Wc(e.value,t),(n=e.value[0])==null||n.resume()}}}function Wc(e,t){const n=[...e],s=n.indexOf(t);return s!==-1&&n.splice(s,1),n}const Cl="focusScope.autoFocusOnMount",Sl="focusScope.autoFocusOnUnmount",Kc={bubbles:!1,cancelable:!0};function T1(e,{select:t=!1}={}){const n=xt();for(const s of e)if(cs(s,{select:t}),xt()!==n)return!0}function A1(e){const t=Gp(e),n=Gc(t,e),s=Gc(t.reverse(),e);return[n,s]}function Gp(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const o=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||o?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Gc(e,t){for(const n of e)if(!E1(n,{upTo:t}))return n}function E1(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function O1(e){return e instanceof HTMLInputElement&&"select"in e}function cs(e,{select:t=!1}={}){if(e&&e.focus){const n=xt();e.focus({preventScroll:!0}),e!==n&&O1(e)&&t&&e.select()}}var P1=re({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,s=t,{currentRef:o,currentElement:a}=De(),l=K(null),i=$1(),u=qs({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Zn(f=>{if(!En)return;const p=a.value;if(!n.trapped)return;function y(w){if(u.paused||!p)return;const _=w.target;p.contains(_)?l.value=_:cs(l.value,{select:!0})}function S(w){if(u.paused||!p)return;const _=w.relatedTarget;_!==null&&(p.contains(_)||cs(l.value,{select:!0}))}function $(w){const _=l.value;if(_===null||!w.some(U=>U.removedNodes.length>0))return;p.contains(_)||cs(p)}document.addEventListener("focusin",y),document.addEventListener("focusout",S);const A=new MutationObserver($);p&&A.observe(p,{childList:!0,subtree:!0}),f(()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",S),A.disconnect()})});function c(f,p){const y=new CustomEvent(Cl,Kc),S=$=>s("mountAutoFocus",$);f.addEventListener(Cl,S),f.dispatchEvent(y),f.removeEventListener(Cl,S),y.defaultPrevented||(T1(Gp(f),{select:!0}),xt()===p&&cs(f))}Zn(async f=>{const p=a.value;if(await it(),!p)return;n.present!==!1&&i.add(u);const y=xt();!p.contains(y)&&n.present!==!1&&c(p,y),f(()=>{const $=new CustomEvent(Sl,Kc),A=w=>{s("unmountAutoFocus",w)};p.addEventListener(Sl,A),p.dispatchEvent($),p.setAttribute("data-focus-scope-unmounting",""),setTimeout(()=>{$.defaultPrevented||cs(y??document.body,{select:!0}),p.removeEventListener(Sl,A),i.remove(u),p.removeAttribute("data-focus-scope-unmounting")},0)})}),Re(()=>n.present,async(f,p)=>{if(!En)return;if(f===!1&&p===!0){i.remove(u);return}if(f!==!0||p!==!1)return;i.add(u),await it();const y=a.value;if(!y)return;const S=xt();y.contains(S)||c(y,S)});function d(f){if(!n.loop&&!n.trapped||u.paused)return;const p=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,y=xt();if(p&&y){const S=f.currentTarget,[$,A]=A1(S);$&&A?!f.shiftKey&&y===A?(f.preventDefault(),n.loop&&cs($,{select:!0})):f.shiftKey&&y===$&&(f.preventDefault(),n.loop&&cs(A,{select:!0})):y===S&&f.preventDefault()}}return(f,p)=>(h(),z(r(He),{ref_key:"currentRef",ref:o,tabindex:"-1","as-child":f.asChild,as:f.as,onKeydown:d},{default:g(()=>[ce(f.$slots,"default")]),_:3},8,["as-child","as"]))}}),za=P1;const M1="menu.itemSelect",ri=["Enter"," "],I1=["ArrowDown","PageUp","Home"],Yp=["ArrowUp","PageDown","End"],R1=[...I1,...Yp];[...ri],[...ri];function Xp(e){return e?"open":"closed"}function ai(e){const t=xt();for(const n of e)if(n===t||(n.focus(),xt()!==t))return}function L1(e,t){const{x:n,y:s}=e;let o=!1;for(let a=0,l=t.length-1;a<t.length;l=a++){const i=t[a].x,u=t[a].y,c=t[l].x,d=t[l].y;u>s!=d>s&&n<(c-i)*(s-u)/(d-u)+i&&(o=!o)}return o}function D1(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return L1(n,t)}function fa(e){return e.pointerType==="mouse"}var N1=re({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=os(),{forwardRef:a,currentElement:l}=De();return o.titleId||(o.titleId=Mn(void 0,"reka-dialog-title")),o.descriptionId||(o.descriptionId=Mn(void 0,"reka-dialog-description")),rt(()=>{o.contentElement=l,xt()!==document.body&&(o.triggerElement.value=xt())}),(i,u)=>(h(),z(r(za),{"as-child":"",loop:"",trapped:n.trapFocus,present:n.present,onMountAutoFocus:u[5]||(u[5]=c=>s("openAutoFocus",c)),onUnmountAutoFocus:u[6]||(u[6]=c=>s("closeAutoFocus",c))},{default:g(()=>[m(r(ja),Ee({id:r(o).contentId,ref:r(a),as:i.as,"as-child":i.asChild,present:n.present,"disable-outside-pointer-events":i.disableOutsidePointerEvents,role:"dialog","aria-describedby":r(o).descriptionId,"aria-labelledby":r(o).titleId,"data-state":r(Xp)(r(o).open.value)},i.$attrs,{onDismiss:u[0]||(u[0]=c=>r(o).onOpenChange(!1)),onEscapeKeyDown:u[1]||(u[1]=c=>s("escapeKeyDown",c)),onFocusOutside:u[2]||(u[2]=c=>s("focusOutside",c)),onInteractOutside:u[3]||(u[3]=c=>s("interactOutside",c)),onPointerDownOutside:u[4]||(u[4]=c=>s("pointerDownOutside",c))}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16,["id","as","as-child","present","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped","present"]))}}),Jp=N1,F1=re({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=os(),a=Sr(s),{forwardRef:l,currentElement:i}=De(),u=ae(()=>n.present?i.value:void 0);Ha(u);const c=ae(()=>{const{present:d,...f}=n;return f});return Re(()=>n.present,(d,f)=>{var p;!d&&f&&((p=o.triggerElement.value)==null||p.focus())}),(d,f)=>(h(),z(Jp,Ee({...c.value,...r(a)},{ref:r(l),present:d.present,"trap-focus":r(o).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:f[0]||(f[0]=p=>{var y;p.defaultPrevented||(p.preventDefault(),(y=r(o).triggerElement.value)==null||y.focus())}),onPointerDownOutside:f[1]||(f[1]=p=>{const y=p.detail.originalEvent,S=y.button===0&&y.ctrlKey===!0;(y.button===2||S)&&p.preventDefault()}),onFocusOutside:f[2]||(f[2]=p=>{p.preventDefault()})}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16,["present","trap-focus","disable-outside-pointer-events"]))}}),q1=F1,B1=re({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,o=Sr(t);De();const a=os(),l=K(!1),i=K(!1),u=ae(()=>{const{present:c,...d}=n;return d});return Re(()=>n.present,(c,d)=>{var f;!c&&d&&(l.value||(f=a.triggerElement.value)==null||f.focus(),l.value=!1,i.value=!1)}),(c,d)=>(h(),z(Jp,Ee({...u.value,...r(o)},{present:c.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:d[0]||(d[0]=f=>{var p;f.defaultPrevented||(l.value||(p=r(a).triggerElement.value)==null||p.focus(),f.preventDefault()),l.value=!1,i.value=!1}),onInteractOutside:d[1]||(d[1]=f=>{var S;f.defaultPrevented||(l.value=!0,f.detail.originalEvent.type==="pointerdown"&&(i.value=!0));const p=f.target;((S=r(a).triggerElement.value)==null?void 0:S.contains(p))&&f.preventDefault(),f.detail.originalEvent.type==="focusin"&&i.value&&f.preventDefault()})}),{default:g(()=>[ce(c.$slots,"default")]),_:3},16,["present"]))}}),V1=B1,U1=re({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=os(),a=Sr(s),{forwardRef:l}=De();return(i,u)=>(h(),z(r(js),{present:i.forceMount||r(o).open.value,"force-mount":i.forceMount||!r(o).unmountOnHide.value},{default:g(({present:c})=>[r(o).modal.value?Zo((h(),z(q1,Ee({key:0,ref:r(l),present:r(o).unmountOnHide.value||c},{...n,...r(a),...i.$attrs}),{default:g(()=>[ce(i.$slots,"default")]),_:2},1040,["present"])),[[or,r(o).unmountOnHide.value||c]]):Zo((h(),z(V1,Ee({key:1,ref:r(l),present:r(o).unmountOnHide.value||c},{...n,...r(a),...i.$attrs}),{default:g(()=>[ce(i.$slots,"default")]),_:2},1040,["present"])),[[or,r(o).unmountOnHide.value||c]])]),_:3},8,["present","force-mount"]))}}),H1=U1,j1=re({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;De();const n=os();return(s,o)=>(h(),z(r(He),Ee(t,{id:r(n).descriptionId}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["id"]))}}),z1=j1,W1=re({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){const t=e,n=os(),s=Va(t.present);return Re(()=>t.present,o=>s.value=o),De(),(o,a)=>(h(),z(r(He),{as:o.as,"as-child":o.asChild,"data-state":r(n).open.value?"open":"closed",style:{"pointer-events":"auto"},onPointerdown:a[0]||(a[0]=Ie(()=>{},["left","self","prevent"]))},{default:g(()=>[ce(o.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),K1=W1,G1=re({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=os(),{forwardRef:n}=De();return(s,o)=>{var a;return(a=r(t))!=null&&a.modal.value?(h(),z(r(js),{key:0,present:s.forceMount||r(t).open.value,"force-mount":s.forceMount||!r(t).unmountOnHide.value},{default:g(({present:l})=>[Zo(m(K1,Ee(s.$attrs,{ref:r(n),as:s.as,"as-child":s.asChild,present:r(t).unmountOnHide.value||l}),{default:g(()=>[ce(s.$slots,"default")]),_:2},1040,["as","as-child","present"]),[[or,r(t).unmountOnHide.value||l]])]),_:3},8,["present","force-mount"])):se("v-if",!0)}}}),Y1=G1,X1=re({__name:"Teleport",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e,n=Cr({}),s=ae(()=>{var a;return t.to??((a=n.teleportTo)==null?void 0:a.value)??"body"}),o=Up();return(a,l)=>r(o)||a.forceMount?(h(),z(br,{key:0,to:s.value,disabled:a.disabled,defer:a.defer},[ce(a.$slots,"default")],8,["to","disabled","defer"])):se("v-if",!0)}}),Wa=X1,J1=re({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Q1=J1,Z1=re({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e,n=os();return De(),(s,o)=>(h(),z(r(He),Ee(t,{id:r(n).titleId}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["id"]))}}),e0=Z1;const Yc="data-reka-collection-item";function ws(e={}){const{key:t="",isProvider:n=!1}=e,s=`${t}CollectionProvider`;let o;n?(o={collectionRef:K(),itemMap:K(new Map)},$i(s,o)):o=Ds(s);const a=(d=!1)=>{const f=o.collectionRef.value;if(!f)return[];const p=Array.from(f.querySelectorAll(`[${Yc}]`)),y=new Map(p.map((A,w)=>[A,w])),$=Array.from(o.itemMap.value.values()).sort((A,w)=>(y.get(A.ref)??-1)-(y.get(w.ref)??-1));return d?$:$.filter(A=>A.ref.dataset.disabled!=="")},l=re({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:p}){const{primitiveElement:y,currentElement:S}=oi();return Re(S,()=>{o.collectionRef.value=S.value}),()=>Kt(si,{ref:y,...p},f)}}),i=re({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:p}){const{primitiveElement:y,currentElement:S}=oi();return Zn($=>{if(S.value){const A=Kd(S.value);o.itemMap.value.set(A,{ref:S.value,value:d.value}),$(()=>o.itemMap.value.delete(A))}}),()=>Kt(si,{...p,[Yc]:"",ref:y},f)}}),u=ae(()=>Array.from(o.itemMap.value.values())),c=ae(()=>o.itemMap.value.size);return{getItems:a,reactiveItems:u,itemMapSize:c,CollectionSlot:l,CollectionItem:i}}var t0=re({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(h(),z(r(He),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"||t.feature==="fully-hidden"?"true":void 0,"data-hidden":t.feature==="fully-hidden"?"":void 0,tabindex:t.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:g(()=>[ce(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),Qp=t0,n0=re({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,{primitiveElement:n,currentElement:s}=oi(),o=ae(()=>t.checked??t.value);return Re(o,(a,l)=>{if(!s.value)return;const i=s.value,u=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(u,"value").set;if(d&&a!==l){const f=new Event("input",{bubbles:!0}),p=new Event("change",{bubbles:!0});d.call(i,a),i.dispatchEvent(f),i.dispatchEvent(p)}}),(a,l)=>(h(),z(Qp,Ee({ref_key:"primitiveElement",ref:n},{...t,...a.$attrs},{as:"input"}),null,16))}}),Xc=n0,s0=re({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,n=ae(()=>typeof t.value=="object"&&Array.isArray(t.value)&&t.value.length===0&&t.required),s=ae(()=>typeof t.value=="string"||typeof t.value=="number"||typeof t.value=="boolean"||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value=="object"&&Array.isArray(t.value)?t.value.flatMap((o,a)=>typeof o=="object"?Object.entries(o).map(([l,i])=>({name:`${t.name}[${a}][${l}]`,value:i})):{name:`${t.name}[${a}]`,value:o}):t.value!==null&&typeof t.value=="object"&&!Array.isArray(t.value)?Object.entries(t.value).map(([o,a])=>({name:`${t.name}[${o}]`,value:a})):[]);return(o,a)=>(h(),B(me,null,[se(" We render single input if it's required "),n.value?(h(),z(Xc,Ee({key:o.name},{...t,...o.$attrs},{name:o.name,value:o.value}),null,16,["name","value"])):(h(!0),B(me,{key:1},Pe(s.value,l=>(h(),z(Xc,Ee({key:l.name},{ref_for:!0},{...t,...o.$attrs},{name:l.name,value:l.value}),null,16,["name","value"]))),128))],2112))}}),Zp=s0;const o0="rovingFocusGroup.onEntryFocus",r0={bubbles:!1,cancelable:!0},a0={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function l0(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function i0(e,t,n){const s=l0(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(s))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(s)))return a0[s]}function em(e,t=!1){const n=xt();for(const s of e)if(s===n||(s.focus({preventScroll:t}),xt()!==n))return}function u0(e,t){return e.map((n,s)=>e[(t+s)%e.length])}const[tm,c0]=Ct("PopperRoot");var d0=re({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=K();return c0({anchor:t,onAnchorChange:n=>t.value=n}),(n,s)=>ce(n.$slots,"default")}}),Ji=d0,f0=re({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n,currentElement:s}=De(),o=tm();return sf(()=>{o.onAnchorChange(t.reference??s.value)}),(a,l)=>(h(),z(r(He),{ref:r(n),as:a.as,"as-child":a.asChild},{default:g(()=>[ce(a.$slots,"default")]),_:3},8,["as","as-child"]))}}),Qi=f0;function p0(e){return e!==null}function m0(e){return{name:"transformOrigin",options:e,fn(t){var w,_,P;const{placement:n,rects:s,middlewareData:o}=t,l=((w=o.arrow)==null?void 0:w.centerOffset)!==0,i=l?0:e.arrowWidth,u=l?0:e.arrowHeight,[c,d]=li(n),f={start:e.dir==="rtl"?"100%":"0%",center:"50%",end:e.dir==="rtl"?"0%":"100%"}[d],p={start:"0%",center:"50%",end:"100%"}[d],y=(((_=o.arrow)==null?void 0:_.x)??0)+i/2,S=(((P=o.arrow)==null?void 0:P.y)??0)+u/2;let $="",A="";return c==="bottom"?($=l?f:`${y}px`,A=`${-u}px`):c==="top"?($=l?f:`${y}px`,A=`${s.floating.height+u}px`):c==="right"?($=`${-u}px`,A=l?p:`${S}px`):c==="left"&&($=`${s.floating.width+u}px`,A=l?p:`${S}px`),{data:{x:$,y:A}}}}}function li(e){const[t,n="center"]=e.split("-");return[t,n]}const h0=["top","right","bottom","left"],hs=Math.min,Kn=Math.max,pa=Math.round,qr=Math.floor,Gn=e=>({x:e,y:e}),g0={left:"right",right:"left",bottom:"top",top:"bottom"};function nm(e,t,n){return Kn(e,hs(t,n))}function ts(e,t){return typeof e=="function"?e(t):e}function gs(e){return e.split("-")[0]}function Ao(e){return e.split("-")[1]}function Zi(e){return e==="x"?"y":"x"}function eu(e){return e==="y"?"height":"width"}function Cn(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function tu(e){return Zi(Cn(e))}function v0(e,t,n){n===void 0&&(n=!1);const s=Ao(e),o=tu(e),a=eu(o);let l=o==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=ma(l)),[l,ma(l)]}function y0(e){const t=ma(e);return[ii(e),t,ii(t)]}function ii(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Jc=["left","right"],Qc=["right","left"],b0=["top","bottom"],_0=["bottom","top"];function x0(e,t,n){switch(e){case"top":case"bottom":return n?t?Qc:Jc:t?Jc:Qc;case"left":case"right":return t?b0:_0;default:return[]}}function w0(e,t,n,s){const o=Ao(e);let a=x0(gs(e),n==="start",s);return o&&(a=a.map(l=>l+"-"+o),t&&(a=a.concat(a.map(ii)))),a}function ma(e){const t=gs(e);return g0[t]+e.slice(t.length)}function k0(e){var t,n,s,o;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(s=e.bottom)!=null?s:0,left:(o=e.left)!=null?o:0}}function sm(e){return typeof e!="number"?k0(e):{top:e,right:e,bottom:e,left:e}}function ha(e){const{x:t,y:n,width:s,height:o}=e;return{width:s,height:o,top:n,left:t,right:t+s,bottom:n+o,x:t,y:n}}function Zc(e,t,n){let{reference:s,floating:o}=e;const a=Cn(t),l=tu(t),i=eu(l),u=gs(t),c=a==="y",d=s.x+s.width/2-o.width/2,f=s.y+s.height/2-o.height/2,p=s[i]/2-o[i]/2;let y;switch(u){case"top":y={x:d,y:s.y-o.height};break;case"bottom":y={x:d,y:s.y+s.height};break;case"right":y={x:s.x+s.width,y:f};break;case"left":y={x:s.x-o.width,y:f};break;default:y={x:s.x,y:s.y}}const S=Ao(t);return S&&(y[l]+=p*(S==="end"?1:-1)*(n&&c?-1:1)),y}async function C0(e,t){var n;t===void 0&&(t={});const{x:s,y:o,platform:a,rects:l,elements:i,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:y=0}=ts(t,e),S=sm(y),A=i[p?f==="floating"?"reference":"floating":f],w=ha(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(A)))==null||n?A:A.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(i.floating)),boundary:c,rootBoundary:d,strategy:u})),_=f==="floating"?{x:s,y:o,width:l.floating.width,height:l.floating.height}:l.reference,P=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i.floating)),x=await(a.isElement==null?void 0:a.isElement(P))&&await(a.getScale==null?void 0:a.getScale(P))||{x:1,y:1},U=ha(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:_,offsetParent:P,strategy:u}):_);return{top:(w.top-U.top+S.top)/x.y,bottom:(U.bottom-w.bottom+S.bottom)/x.y,left:(w.left-U.left+S.left)/x.x,right:(U.right-w.right+S.right)/x.x}}const S0=50,$0=async(e,t,n)=>{const{placement:s="bottom",strategy:o="absolute",middleware:a=[],platform:l}=n,i=l.detectOverflow?l:{...l,detectOverflow:C0},u=await(l.isRTL==null?void 0:l.isRTL(t));let c=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:f}=Zc(c,s,u),p=s,y=0;const S={};for(let $=0;$<a.length;$++){const A=a[$];if(!A)continue;const{name:w,fn:_}=A,{x:P,y:x,data:U,reset:R}=await _({x:d,y:f,initialPlacement:s,placement:p,strategy:o,middlewareData:S,rects:c,platform:i,elements:{reference:e,floating:t}});d=P??d,f=x??f,S[w]={...S[w],...U},R&&y<S0&&(y++,typeof R=="object"&&(R.placement&&(p=R.placement),R.rects&&(c=R.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:o}):R.rects),{x:d,y:f}=Zc(c,p,u)),$=-1)}return{x:d,y:f,placement:p,strategy:o,middlewareData:S}},T0=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:s,placement:o,rects:a,platform:l,elements:i,middlewareData:u}=t,{element:c,padding:d=0}=ts(e,t)||{};if(c==null)return{};const f=sm(d),p={x:n,y:s},y=tu(o),S=eu(y),$=await l.getDimensions(c),A=y==="y",w=A?"top":"left",_=A?"bottom":"right",P=A?"clientHeight":"clientWidth",x=a.reference[S]+a.reference[y]-p[y]-a.floating[S],U=p[y]-a.reference[y],R=await(l.getOffsetParent==null?void 0:l.getOffsetParent(c));let E=R?R[P]:0;(!E||!await(l.isElement==null?void 0:l.isElement(R)))&&(E=i.floating[P]||a.floating[S]);const F=x/2-U/2,H=E/2-$[S]/2-1,X=hs(f[w],H),Z=hs(f[_],H),Q=E-$[S]-Z,de=E/2-$[S]/2+F,L=nm(X,de,Q),M=!u.arrow&&Ao(o)!=null&&de!==L&&a.reference[S]/2-(de<X?X:Z)-$[S]/2<0,D=M?de<X?de-X:de-Q:0;return{[y]:p[y]+D,data:{[y]:L,centerOffset:de-L-D,...M&&{alignmentOffset:D}},reset:M}}}),A0=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,s;const{placement:o,middlewareData:a,rects:l,initialPlacement:i,platform:u,elements:c}=t,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:$=!0,...A}=ts(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const w=gs(o),_=Cn(i),P=gs(i)===i,x=await(u.isRTL==null?void 0:u.isRTL(c.floating)),U=p||(P||!$?[ma(i)]:y0(i)),R=S!=="none";!p&&R&&U.push(...w0(i,$,S,x));const E=[i,...U],F=await u.detectOverflow(t,A),H=[];let X=((s=a.flip)==null?void 0:s.overflows)||[];if(d&&H.push(F[w]),f){const L=v0(o,l,x);H.push(F[L[0]],F[L[1]])}if(X=[...X,{placement:o,overflows:H}],!H.every(L=>L<=0)){var Z,Q;const L=(((Z=a.flip)==null?void 0:Z.index)||0)+1,M=E[L];if(M&&(!(f==="alignment"?_!==Cn(M):!1)||X.every(oe=>Cn(oe.placement)===_?oe.overflows[0]>0:!0)))return{data:{index:L,overflows:X},reset:{placement:M}};let D=(Q=X.filter(J=>J.overflows[0]<=0).sort((J,oe)=>J.overflows[1]-oe.overflows[1])[0])==null?void 0:Q.placement;if(!D)switch(y){case"bestFit":{var de;const J=(de=X.filter(oe=>{if(R){const pe=Cn(oe.placement);return pe===_||pe==="y"}return!0}).map(oe=>[oe.placement,oe.overflows.filter(pe=>pe>0).reduce((pe,Y)=>pe+Y,0)]).sort((oe,pe)=>oe[1]-pe[1])[0])==null?void 0:de[0];J&&(D=J);break}case"initialPlacement":D=i;break}if(o!==D)return{reset:{placement:D}}}return{}}}};function ed(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function td(e){return h0.some(t=>e[t]>=0)}const E0=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:s}=t,{strategy:o="referenceHidden",...a}=ts(e,t);switch(o){case"referenceHidden":{const l=await s.detectOverflow(t,{...a,elementContext:"reference"}),i=ed(l,n.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:td(i)}}}case"escaped":{const l=await s.detectOverflow(t,{...a,altBoundary:!0}),i=ed(l,n.floating);return{data:{escapedOffsets:i,escaped:td(i)}}}default:return{}}}}},om=new Set(["left","top"]);async function O0(e,t){const{placement:n,platform:s,elements:o}=e,a=await(s.isRTL==null?void 0:s.isRTL(o.floating)),l=gs(n),i=Ao(n),u=Cn(n)==="y",c=om.has(l)?-1:1,d=a&&u?-1:1,f=ts(t,e);let{mainAxis:p,crossAxis:y,alignmentAxis:S}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return i&&typeof S=="number"&&(y=i==="end"?S*-1:S),u?{x:y*d,y:p*c}:{x:p*c,y:y*d}}const P0=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,s;const{x:o,y:a,placement:l,middlewareData:i}=t,u=await O0(t,e);return l===((n=i.offset)==null?void 0:n.placement)&&(s=i.arrow)!=null&&s.alignmentOffset?{}:{x:o+u.x,y:a+u.y,data:{...u,placement:l}}}}},M0=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:o,platform:a}=t,{mainAxis:l=!0,crossAxis:i=!1,limiter:u={fn:_=>{let{x:P,y:x}=_;return{x:P,y:x}}},...c}=ts(e,t),d={x:n,y:s},f=await a.detectOverflow(t,c),p=Cn(o),y=Zi(p);let S=d[y],$=d[p];const A=(_,P)=>nm(P+f[_==="y"?"top":"left"],P,P-f[_==="y"?"bottom":"right"]);l&&(S=A(y,S)),i&&($=A(p,$));const w=u.fn({...t,[y]:S,[p]:$});return{...w,data:{x:w.x-n,y:w.y-s,enabled:{[y]:l,[p]:i}}}}}},I0=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,s;const{x:o,y:a,placement:l,rects:i,middlewareData:u}=t,{offset:c=0,mainAxis:d=!0,crossAxis:f=!0}=ts(e,t),p={x:o,y:a},y=Cn(l),S=Zi(y);let $=p[S],A=p[y];const w=ts(c,t),_=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:(n=w.mainAxis)!=null?n:0,crossAxis:(s=w.crossAxis)!=null?s:0};if(d){const U=S==="y"?"height":"width",R=i.reference[S]-i.floating[U]+_.mainAxis,E=i.reference[S]+i.reference[U]-_.mainAxis;$<R?$=R:$>E&&($=E)}if(f){var P,x;const U=S==="y"?"width":"height",R=om.has(gs(l)),E=i.reference[y]-i.floating[U]+(R&&((P=u.offset)==null?void 0:P[y])||0)+(R?0:_.crossAxis),F=i.reference[y]+i.reference[U]+(R?0:((x=u.offset)==null?void 0:x[y])||0)-(R?_.crossAxis:0);A<E?A=E:A>F&&(A=F)}return{[S]:$,[y]:A}}}},R0=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:s,platform:o,elements:a}=t,{apply:l=()=>{},...i}=ts(e,t),u=await o.detectOverflow(t,i),c=gs(n),d=Ao(n),f=Cn(n)==="y",{width:p,height:y}=s.floating;let S,$;c==="top"||c==="bottom"?(S=c,$=d===(await(o.isRTL==null?void 0:o.isRTL(a.floating))?"start":"end")?"left":"right"):($=c,S=d==="end"?"top":"bottom");const A=y-u.top-u.bottom,w=p-u.left-u.right,_=hs(y-u[S],A),P=hs(p-u[$],w),x=t.middlewareData.shift,U=!x;let R=_,E=P;x!=null&&x.enabled.x&&(E=w),x!=null&&x.enabled.y&&(R=A),U&&!d&&(f?E=p-2*Kn(u.left,u.right):R=y-2*Kn(u.top,u.bottom)),await l({...t,availableWidth:E,availableHeight:R});const F=await o.getDimensions(a.floating);return p!==F.width||y!==F.height?{reset:{rects:!0}}:{}}}};function Ka(){return typeof window<"u"}function zs(e){return nu(e)?(e.nodeName||"").toLowerCase():"#document"}function Ut(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function rs(e){var t;return(t=(nu(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function nu(e){return Ka()?e instanceof Node||e instanceof Ut(e).Node:!1}function In(e){return Ka()?e instanceof Element||e instanceof Ut(e).Element:!1}function ks(e){return Ka()?e instanceof HTMLElement||e instanceof Ut(e).HTMLElement:!1}function nd(e){return!Ka()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ut(e).ShadowRoot}function Ga(e){const{overflow:t,overflowX:n,overflowY:s,display:o}=Rn(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+n)&&o!=="inline"&&o!=="contents"}function L0(e){return/^(table|td|th)$/.test(zs(e))}function Ya(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const D0=/transform|translate|scale|rotate|perspective|filter/,N0=/paint|layout|strict|content/,Es=e=>!!e&&e!=="none";let $l;function su(e){const t=In(e)?Rn(e):e;return Es(t.transform)||Es(t.translate)||Es(t.scale)||Es(t.rotate)||Es(t.perspective)||!ou()&&(Es(t.backdropFilter)||Es(t.filter))||D0.test(t.willChange||"")||N0.test(t.contain||"")}function F0(e){let t=Bs(e);for(;ks(t)&&!fr(t);){if(su(t))return t;if(Ya(t))return null;t=Bs(t)}return null}function ou(){return $l==null&&($l=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),$l}function fr(e){return/^(html|body|#document)$/.test(zs(e))}function Rn(e){return Ut(e).getComputedStyle(e)}function Xa(e){return In(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bs(e){if(zs(e)==="html")return e;const t=e.assignedSlot||e.parentNode||nd(e)&&e.host||rs(e);return nd(t)?t.host:t}function rm(e){const t=Bs(e);return fr(t)?(e.ownerDocument||e).body:ks(t)&&Ga(t)?t:rm(t)}function pr(e,t,n){var s;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=rm(e),a=o===((s=e.ownerDocument)==null?void 0:s.body),l=Ut(o);if(a){const i=ui(l);return t.concat(l,l.visualViewport||[],Ga(o)?o:[],i&&n?pr(i):[])}else return t.concat(o,pr(o,[],n))}function ui(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function am(e){const t=Rn(e);let n=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const o=ks(e),a=o?e.offsetWidth:n,l=o?e.offsetHeight:s,i=pa(n)!==a||pa(s)!==l;return i&&(n=a,s=l),{width:n,height:s,$:i}}function ru(e){return In(e)?e:e.contextElement}function ho(e){const t=ru(e);if(!ks(t))return Gn(1);const n=t.getBoundingClientRect(),{width:s,height:o,$:a}=am(t);let l=(a?pa(n.width):n.width)/s,i=(a?pa(n.height):n.height)/o;return(!l||!Number.isFinite(l))&&(l=1),(!i||!Number.isFinite(i))&&(i=1),{x:l,y:i}}const q0=Gn(0);function lm(e){const t=Ut(e);return!ou()||!t.visualViewport?q0:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function B0(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Ut(e)}function Vs(e,t,n,s){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),a=ru(e);let l=Gn(1);t&&(s?In(s)&&(l=ho(s)):l=ho(e));const i=B0(a,n,s)?lm(a):Gn(0);let u=(o.left+i.x)/l.x,c=(o.top+i.y)/l.y,d=o.width/l.x,f=o.height/l.y;if(a&&s){const p=Ut(a),y=In(s)?Ut(s):s;let S=p,$=ui(S);for(;$&&y!==S;){const A=ho($),w=$.getBoundingClientRect(),_=Rn($),P=w.left+($.clientLeft+parseFloat(_.paddingLeft))*A.x,x=w.top+($.clientTop+parseFloat(_.paddingTop))*A.y;u*=A.x,c*=A.y,d*=A.x,f*=A.y,u+=P,c+=x,S=Ut($),$=ui(S)}}return ha({width:d,height:f,x:u,y:c})}function Ja(e,t){const n=Xa(e).scrollLeft;return t?t.left+n:Vs(rs(e)).left+n}function im(e,t){const n=e.getBoundingClientRect(),s=n.left+t.scrollLeft-Ja(e,n),o=n.top+t.scrollTop;return{x:s,y:o}}function V0(e){let{elements:t,rect:n,offsetParent:s,strategy:o}=e;const a=o==="fixed",l=rs(s),i=t?Ya(t.floating):!1;if(s===l||i&&a)return n;let u={scrollLeft:0,scrollTop:0},c=Gn(1);const d=Gn(0),f=ks(s);if((f||!a)&&((zs(s)!=="body"||Ga(l))&&(u=Xa(s)),f)){const y=Vs(s);c=ho(s),d.x=y.x+s.clientLeft,d.y=y.y+s.clientTop}const p=l&&!f&&!a?im(l,u):Gn(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+p.x,y:n.y*c.y-u.scrollTop*c.y+d.y+p.y}}function U0(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function H0(e){const t=Xa(e),n=e.ownerDocument.body,s=Kn(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),o=Kn(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let a=-t.scrollLeft+Ja(e);const l=-t.scrollTop;return Rn(n).direction==="rtl"&&(a+=Kn(e.clientWidth,n.clientWidth)-s),{width:s,height:o,x:a,y:l}}const j0=25;function z0(e,t,n){n===void 0&&(n="viewport");const s=n==="layoutViewport",o=Ut(e),a=rs(e),l=o.visualViewport;let i=a.clientWidth,u=a.clientHeight,c=0,d=0;if(l){const p=!ou()||t==="fixed";s?p||(c=-l.offsetLeft,d=-l.offsetTop):(i=l.width,u=l.height,p&&(c=l.offsetLeft,d=l.offsetTop))}if(Ja(a)<=0){const p=a.ownerDocument,y=p.body,S=getComputedStyle(y),$=p.compatMode==="CSS1Compat"&&parseFloat(S.marginLeft)+parseFloat(S.marginRight)||0,A=Math.abs(a.clientWidth-y.clientWidth-$),w=getComputedStyle(a).scrollbarGutter==="stable both-edges"?A/2:A;w<=j0&&(i-=w)}return{width:i,height:u,x:c,y:d}}function W0(e,t){const n=Vs(e,!0,t==="fixed"),s=n.top+e.clientTop,o=n.left+e.clientLeft,a=ho(e),l=e.clientWidth*a.x,i=e.clientHeight*a.y,u=o*a.x,c=s*a.y;return{width:l,height:i,x:u,y:c}}function sd(e,t,n){let s;if(t==="viewport"||t==="layoutViewport")s=z0(e,n,t);else if(t==="document")s=H0(rs(e));else if(In(t))s=W0(t,n);else{const o=lm(e);s={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return ha(s)}function K0(e,t){const n=t.get(e);if(n)return n;let s=pr(e,[],!1).filter(i=>In(i)&&zs(i)!=="body"),o=null;const a=Rn(e).position==="fixed";let l=a?Bs(e):e;for(;In(l)&&!fr(l);){const i=Rn(l),u=su(l),c=o?o.position:a?"fixed":"";!u&&(c==="fixed"||c==="absolute"&&i.position==="static")?s=s.filter(f=>f!==l):o=i,l=Bs(l)}return t.set(e,s),s}function G0(e){let{element:t,boundary:n,rootBoundary:s,strategy:o}=e;const l=[...n==="clippingAncestors"?Ya(t)?[]:K0(t,this._c):[].concat(n),s],i=sd(t,l[0],o);let u=i.top,c=i.right,d=i.bottom,f=i.left;for(let p=1;p<l.length;p++){const y=sd(t,l[p],o);u=Kn(y.top,u),c=hs(y.right,c),d=hs(y.bottom,d),f=Kn(y.left,f)}return{width:c-f,height:d-u,x:f,y:u}}function Y0(e){const{width:t,height:n}=am(e);return{width:t,height:n}}function X0(e,t,n){const s=ks(t),o=rs(t),a=n==="fixed",l=Vs(e,!0,a,t);let i={scrollLeft:0,scrollTop:0};const u=Gn(0);if((s||!a)&&((zs(t)!=="body"||Ga(o))&&(i=Xa(t)),s)){const p=Vs(t,!0,a,t);u.x=p.x+t.clientLeft,u.y=p.y+t.clientTop}!s&&o&&(u.x=Ja(o));const c=o&&!s&&!a?im(o,i):Gn(0),d=l.left+i.scrollLeft-u.x-c.x,f=l.top+i.scrollTop-u.y-c.y;return{x:d,y:f,width:l.width,height:l.height}}function Tl(e){return Rn(e).position==="static"}function od(e,t){if(!ks(e)||Rn(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return rs(e)===n&&(n=n.ownerDocument.body),n}function um(e,t){const n=Ut(e);if(Ya(e))return n;if(!ks(e)){let o=Bs(e);for(;o&&!fr(o);){if(In(o)&&!Tl(o))return o;o=Bs(o)}return n}let s=od(e,t);for(;s&&L0(s)&&Tl(s);)s=od(s,t);return s&&fr(s)&&Tl(s)&&!su(s)?n:s||F0(e)||n}const J0=async function(e){const t=this.getOffsetParent||um,n=this.getDimensions,s=await n(e.floating);return{reference:X0(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Q0(e){return Rn(e).direction==="rtl"}const Z0={convertOffsetParentRelativeRectToViewportRelativeRect:V0,getDocumentElement:rs,getClippingRect:G0,getOffsetParent:um,getElementRects:J0,getClientRects:U0,getDimensions:Y0,getScale:ho,isElement:In,isRTL:Q0};function cm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ex(e,t,n){let s=null,o;const a=rs(e);function l(){var d;clearTimeout(o),(d=s)==null||d.disconnect(),s=null}function i(d,f){d===void 0&&(d=!1),f===void 0&&(f=1),l();const p=e.getBoundingClientRect(),{left:y,top:S,width:$,height:A}=p;if(d||t(),!$||!A)return;const w=qr(S),_=qr(a.clientWidth-(y+$)),P=qr(a.clientHeight-(S+A)),x=qr(y),R={rootMargin:-w+"px "+-_+"px "+-P+"px "+-x+"px",threshold:Kn(0,hs(1,f))||1};let E=!0;function F(H){const X=H[0].intersectionRatio;if(!cm(p,e.getBoundingClientRect()))return i();if(X!==f){if(!E)return i();X?i(!1,X):o=setTimeout(()=>{i(!1,1e-7)},1e3)}E=!1}try{s=new IntersectionObserver(F,{...R,root:a.ownerDocument})}catch{s=new IntersectionObserver(F,R)}s.observe(e)}const u=Ut(e),c=()=>i(n);return u.addEventListener("resize",c),i(!0),()=>{u.removeEventListener("resize",c),l()}}function tx(e,t,n,s){s===void 0&&(s={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:u=!1}=s,c=ru(e),d=o||a?[...c?pr(c):[],...t?pr(t):[]]:[];d.forEach(w=>{o&&w.addEventListener("scroll",n),a&&w.addEventListener("resize",n)});const f=c&&i?ex(c,n,a):null;let p=-1,y=null;l&&(y=new ResizeObserver(w=>{let[_]=w;_&&_.target===c&&y&&t&&(y.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var P;(P=y)==null||P.observe(t)})),n()}),c&&!u&&y.observe(c),t&&y.observe(t));let S,$=u?Vs(e):null;u&&A();function A(){const w=Vs(e);$&&!cm($,w)&&n(),$=w,S=requestAnimationFrame(A)}return n(),()=>{var w;d.forEach(_=>{o&&_.removeEventListener("scroll",n),a&&_.removeEventListener("resize",n)}),f==null||f(),(w=y)==null||w.disconnect(),y=null,u&&cancelAnimationFrame(S)}}const nx=P0,sx=M0,rd=A0,ox=R0,rx=E0,ax=T0,lx=I0,ix=(e,t,n)=>{const s=new Map,o=n??{},a={...Z0,...o.platform,_c:s};return $0(e,t,{...o,platform:a})};function ux(e){return e!=null&&typeof e=="object"&&"$el"in e}function ci(e){if(ux(e)){const t=e.$el;return nu(t)&&zs(t)==="#comment"?null:t}return e}function ro(e){return typeof e=="function"?e():r(e)}function cx(e){return{name:"arrow",options:e,fn(t){const n=ci(ro(e.element));return n==null?{}:ax({element:n,padding:e.padding}).fn(t)}}}function dm(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ad(e,t){const n=dm(e);return Math.round(t*n)/n}function dx(e,t,n){n===void 0&&(n={});const s=n.whileElementsMounted,o=ae(()=>{var E;return(E=ro(n.open))!=null?E:!0}),a=ae(()=>ro(n.middleware)),l=ae(()=>{var E;return(E=ro(n.placement))!=null?E:"bottom"}),i=ae(()=>{var E;return(E=ro(n.strategy))!=null?E:"absolute"}),u=ae(()=>{var E;return(E=ro(n.transform))!=null?E:!0}),c=ae(()=>ci(e.value)),d=ae(()=>ci(t.value)),f=K(0),p=K(0),y=K(i.value),S=K(l.value),$=Ia({}),A=K(!1),w=ae(()=>{const E={position:y.value,left:"0",top:"0"};if(!d.value)return E;const F=ad(d.value,f.value),H=ad(d.value,p.value);return u.value?{...E,transform:"translate("+F+"px, "+H+"px)",...dm(d.value)>=1.5&&{willChange:"transform"}}:{position:y.value,left:F+"px",top:H+"px"}});let _;function P(){if(c.value==null||d.value==null)return;const E=o.value;ix(c.value,d.value,{middleware:a.value,placement:l.value,strategy:i.value}).then(F=>{f.value=F.x,p.value=F.y,y.value=F.strategy,S.value=F.placement,$.value=F.middlewareData,A.value=E!==!1})}function x(){typeof _=="function"&&(_(),_=void 0)}function U(){if(x(),s===void 0){P();return}if(c.value!=null&&d.value!=null){_=s(c.value,d.value,P);return}}function R(){o.value||(A.value=!1)}return Re([a,l,i,o],P,{flush:"sync"}),Re([c,d],U,{flush:"sync"}),Re(o,R,{flush:"sync"}),Ta()&&xi(x),{x:Js(f),y:Js(p),strategy:Js(y),placement:Js(S),middlewareData:Js($),isPositioned:Js(A),floatingStyles:w,update:P}}const fx=["dir"],fm={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[S3,px]=Ct("PopperContent");var mx=re({inheritAttrs:!1,__name:"PopperContent",props:pf({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...fm}),emits:["placed"],setup(e,{emit:t}){const n=e,s=t,o=tm(),{forwardRef:a,currentElement:l}=De(),i=To(ae(()=>n.dir)),u=K(),c=K(),{width:d,height:f}=u1(c),p=ae(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),y=ae(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),S=ae(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),$=ae(()=>({padding:y.value,boundary:S.value.filter(p0),altBoundary:S.value.length>0})),A=ae(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),w=ae(()=>[nx({mainAxis:n.sideOffset+f.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&rd({...$.value,...A.value}),n.avoidCollisions&&sx({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?lx():void 0,...$.value}),!n.prioritizePosition&&n.avoidCollisions&&rd({...$.value,...A.value}),ox({...$.value,apply:({elements:de,rects:L,availableWidth:M,availableHeight:D})=>{const{width:J,height:oe}=L.reference,pe=de.floating.style;pe.setProperty("--reka-popper-available-width",`${M}px`),pe.setProperty("--reka-popper-available-height",`${D}px`),pe.setProperty("--reka-popper-anchor-width",`${J}px`),pe.setProperty("--reka-popper-anchor-height",`${oe}px`)}}),c.value&&cx({element:c.value,padding:n.arrowPadding}),m0({arrowWidth:d.value,arrowHeight:f.value,dir:i.value}),n.hideWhenDetached&&rx({strategy:"referenceHidden",...$.value})]),_=ae(()=>n.reference??o.anchor.value),{floatingStyles:P,placement:x,isPositioned:U,middlewareData:R}=dx(_,u,{strategy:n.positionStrategy,placement:p,whileElementsMounted:(...de)=>tx(...de,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:w}),E=ae(()=>li(x.value)[0]),F=ae(()=>li(x.value)[1]);sf(()=>{U.value&&s("placed")});const H=ae(()=>{var L;const de=((L=R.value.arrow)==null?void 0:L.centerOffset)!==0;return n.hideShiftedArrow&&de}),X=K("");Zn(()=>{l.value&&(X.value=window.getComputedStyle(l.value).zIndex)});const Z=ae(()=>{var de;return((de=R.value.arrow)==null?void 0:de.x)??0}),Q=ae(()=>{var de;return((de=R.value.arrow)==null?void 0:de.y)??0});return px({placedSide:E,onArrowChange:de=>c.value=de,arrowX:Z,arrowY:Q,shouldHideArrow:H}),(de,L)=>{var M,D,J;return h(),B("div",{ref_key:"floatingRef",ref:u,"data-reka-popper-content-wrapper":"",dir:r(i),style:tn({...r(P),transform:r(U)?r(P).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:X.value,"--reka-popper-transform-origin":[(M=r(R).transformOrigin)==null?void 0:M.x,(D=r(R).transformOrigin)==null?void 0:D.y].join(" "),...((J=r(R).hide)==null?void 0:J.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}})},[n.memoDependencies?Rg([n.asChild,n.as,E.value,F.value,r(U),...Object.values(de.$attrs),...n.memoDependencies],()=>(h(),z(r(He),Ee({key:0,ref:r(a)},de.$attrs,{"as-child":n.asChild,as:n.as,"data-side":E.value,"data-align":F.value,style:{animation:r(U)?void 0:"none"}}),{default:g(()=>[ce(de.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])),L,0):(h(),z(r(He),Ee({key:1,ref:r(a)},de.$attrs,{"as-child":n.asChild,as:n.as,"data-side":E.value,"data-align":F.value,dir:r(i),style:{animation:r(U)?void 0:"none"}}),{default:g(()=>[ce(de.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","dir","style"]))],12,fx)}}}),au=mx;function hx(e){const t=Cr({nonce:K()});return ae(()=>{var n;return(e==null?void 0:e.value)||((n=t.nonce)==null?void 0:n.value)})}const[gx,vx]=Ct("RovingFocusGroup");var yx=re({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:t,emit:n}){const s=e,o=n,{loop:a,orientation:l,dir:i}=qt(s),u=To(i),c=Pn(s,"currentTabStopId",o,{defaultValue:s.defaultCurrentTabStopId,passive:s.currentTabStopId===void 0}),d=K(!1),f=K(!1),p=K(0),{getItems:y,CollectionSlot:S}=ws({isProvider:!0});function $(w){const _=!f.value;if(w.currentTarget&&w.target===w.currentTarget&&_&&!d.value){const P=new CustomEvent(o0,r0);if(w.currentTarget.dispatchEvent(P),o("entryFocus",P),!P.defaultPrevented){const x=y().map(H=>H.ref).filter(H=>H.dataset.disabled!==""),U=x.find(H=>H.getAttribute("data-active")===""),R=x.find(H=>H.getAttribute("data-highlighted")===""),E=x.find(H=>H.id===c.value),F=[U,R,E,...x].filter(Boolean);em(F,s.preventScrollOnEntryFocus)}}f.value=!1}function A(){setTimeout(()=>{f.value=!1},1)}return t({getItems:y}),vx({loop:a,dir:u,orientation:l,currentTabStopId:c,onItemFocus:w=>{c.value=w},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{p.value++},onFocusableItemRemove:()=>{p.value--}}),(w,_)=>(h(),z(r(S),null,{default:g(()=>[m(r(He),{tabindex:d.value||p.value===0?-1:0,"data-orientation":r(l),as:w.as,"as-child":w.asChild,dir:r(u),style:{outline:"none"},onMousedown:_[0]||(_[0]=P=>f.value=!0),onMouseup:A,onFocus:$,onBlur:_[1]||(_[1]=P=>d.value=!1)},{default:g(()=>[ce(w.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),pm=yx,bx=re({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=gx(),s=Mn(),o=ae(()=>t.tabStopId||s),a=ae(()=>n.currentTabStopId.value===o.value),{getItems:l,CollectionItem:i}=ws();rt(()=>{t.focusable&&n.onFocusableItemAdd()}),fn(()=>{t.focusable&&n.onFocusableItemRemove()}),Re(()=>t.focusable,(c,d)=>{c!==d&&(c?n.onFocusableItemAdd():n.onFocusableItemRemove())});function u(c){if(c.key==="Tab"&&c.shiftKey){n.onItemShiftTab();return}if(c.target!==c.currentTarget)return;const d=i0(c,n.orientation.value,n.dir.value);if(d!==void 0){if(c.metaKey||c.ctrlKey||c.altKey||!t.allowShiftKey&&c.shiftKey)return;c.preventDefault();let f=[...l().map(p=>p.ref).filter(p=>p.dataset.disabled!=="")];if(d==="last")f.reverse();else if(d==="prev"||d==="next"){d==="prev"&&f.reverse();const p=f.indexOf(c.currentTarget);f=n.loop.value?u0(f,p+1):f.slice(p+1)}it(()=>em(f))}}return(c,d)=>(h(),z(r(i),null,{default:g(()=>[m(r(He),{tabindex:a.value?0:-1,"data-orientation":r(n).orientation.value,"data-active":c.active?"":void 0,"data-disabled":c.focusable?void 0:"",as:c.as,"as-child":c.asChild,onMousedown:d[0]||(d[0]=f=>{c.focusable?r(n).onItemFocus(o.value):f.preventDefault()}),onFocus:d[1]||(d[1]=f=>r(n).onItemFocus(o.value)),onKeydown:u},{default:g(()=>[ce(c.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),mm=bx;const[_x]=Ct("CheckboxGroupRoot");function lu(e){return e==="indeterminate"}function hm(e){return lu(e)?"indeterminate":e?"checked":"unchecked"}const[xx,wx]=Ct("CheckboxRoot");var kx=re({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{forwardRef:o,currentElement:a}=De(),l=_x(null),i=Pn(n,"modelValue",s,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),u=ae(()=>(l==null?void 0:l.disabled.value)||n.disabled),c=ae(()=>dr(i.value,n.trueValue)),d=ae(()=>xo(l==null?void 0:l.modelValue.value)?i.value==="indeterminate"?"indeterminate":c.value:Uc(l.modelValue.value,n.value));function f(){if(xo(l==null?void 0:l.modelValue.value))i.value==="indeterminate"?i.value=n.trueValue:i.value=c.value?n.falseValue:n.trueValue;else{const A=[...l.modelValue.value||[]];if(Uc(A,n.value)){const w=A.findIndex(_=>dr(_,n.value));A.splice(w,1)}else A.push(n.value);l.modelValue.value=A}}const p=Yi(a),y=zp(),S=Qh(),$=ae(()=>{var A;if(!S["aria-label"])return n.id&&a.value?(A=document.querySelector(`[for="${n.id}"]`))==null?void 0:A.innerText:void 0});return wx({disabled:u,state:d}),(A,w)=>{var _,P;return h(),B(me,null,[(h(),z(_r((_=r(l))!=null&&_.rovingFocus.value?r(mm):r(He)),Ee({...A.$attrs,...r(y)},{id:A.id,ref:r(o),role:"checkbox","as-child":A.asChild,as:A.as,type:A.as==="button"?"button":void 0,"aria-checked":r(lu)(d.value)?"mixed":d.value,"aria-required":A.required,"aria-label":A.$attrs["aria-label"]||$.value,"data-state":r(hm)(d.value),"data-disabled":u.value?"":void 0,disabled:u.value,focusable:(P=r(l))!=null&&P.rovingFocus.value?!u.value:void 0,onKeydown:An(Ie(()=>{},["prevent"]),["enter"]),onClick:f}),{default:g(()=>[ce(A.$slots,"default",{modelValue:r(i),state:d.value})]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"])),r(p)&&A.name&&!r(l)?(h(),z(r(Zp),Ee({key:0,type:"checkbox",checked:!!d.value,name:A.name,value:A.value,disabled:u.value,required:A.required},r(y)),null,16,["checked","name","value","disabled","required"])):se("v-if",!0)],64)}}}),Cx=kx,Sx=re({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const{forwardRef:t}=De(),n=xx();return(s,o)=>(h(),z(r(js),{present:s.forceMount||r(lu)(r(n).state.value)||r(n).state.value===!0},{default:g(()=>[m(r(He),Ee({ref:r(t),"data-state":r(hm)(r(n).state.value),"data-disabled":r(n).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":s.asChild,as:s.as},s.$attrs),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),$x=Sx,Tx=re({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Qi),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Ax=Tx;function Ex(){const e=K(!1);return rt(()=>{da("keydown",()=>{e.value=!0},{capture:!0,passive:!0}),da(["pointerdown","pointermove"],()=>{e.value=!1},{capture:!0,passive:!0})}),e}const Ox=Vp(Ex),[Qa,Px]=Ct(["MenuRoot","MenuSub"],"MenuContext"),[iu,Mx]=Ct("MenuRoot");var Ix=re({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,s=t,{modal:o,dir:a}=qt(n),l=To(a),i=Pn(n,"open",s),u=K(),c=Ox();return Px({open:i,onOpenChange:d=>{i.value=d},content:u,onContentChange:d=>{u.value=d}}),Mx({onClose:()=>{i.value=!1},isUsingKeyboardRef:c,dir:l,modal:o}),(d,f)=>(h(),z(r(Ji),null,{default:g(()=>[ce(d.$slots,"default")]),_:3}))}}),Rx=Ix;const[gm,Lx]=Ct("MenuContent");var Dx=re({__name:"MenuContentImpl",props:pf({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...fm}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(e,{emit:t}){const n=e,s=t,o=Qa(),a=iu(),{trapFocus:l,disableOutsidePointerEvents:i,loop:u}=qt(n);Gi(),Va(i.value);const c=K(""),d=K(0),f=K(0),p=K(null),y=K("right"),S=K(0),$=K(null),A=K(),{forwardRef:w,currentElement:_}=De(),{handleTypeaheadSearch:P}=Xi(),x=K();function U(M){const D=jc(M,x.value||xt(),_.value,{loop:u.value,arrowKeyOptions:"vertical",dir:a==null?void 0:a.dir.value,focus:!1,attributeName:"[data-reka-collection-item]:not([data-disabled])"});D&&(x.value=D,D.scrollIntoView({block:"nearest"}))}function R(){x.value&&x.value.click()}const E=K(),F=K();Re(x,M=>{if(F.value&&(M===void 0||M!==F.value.trigger.value)){if(M===void 0)return;F.value.onOpenChange(!1),F.value=void 0}}),Re(_,M=>{o.onContentChange(M)}),fn(()=>{window.clearTimeout(d.value)});function H(M){var J,oe;return y.value===((J=p.value)==null?void 0:J.side)&&D1(M,(oe=p.value)==null?void 0:oe.area)}async function X(M){var D;s("openAutoFocus",M),!M.defaultPrevented&&(M.preventDefault(),(D=_.value)==null||D.focus({preventScroll:!0}))}function Z(M){var Ue;if(M.defaultPrevented)return;const D=M.target,J=D.closest("[data-reka-menu-content]")===M.currentTarget,oe=["input","textarea"].includes(D.tagName.toLowerCase()),pe=M.ctrlKey||M.altKey||M.metaKey,Y=M.key.length===1,he=jc(M,xt(),_.value,{loop:u.value,arrowKeyOptions:"vertical",dir:a==null?void 0:a.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(he)return he==null?void 0:he.focus();if(M.code==="Space")return;const ee=((Ue=A.value)==null?void 0:Ue.getItems())??[];if(J&&(M.key==="Tab"&&a.modal.value&&M.preventDefault(),!pe&&Y&&!oe&&P(M.key,ee)),M.target!==_.value||!R1.includes(M.key))return;M.preventDefault();const Ye=[...ee.map(ve=>ve.ref)];Yp.includes(M.key)&&Ye.reverse(),ai(Ye)}function Q(M){var D,J;(J=(D=M==null?void 0:M.currentTarget)==null?void 0:D.contains)!=null&&J.call(D,M.target)||(window.clearTimeout(d.value),c.value="")}function de(M){var oe;if(!fa(M))return;const D=M.target,J=S.value!==M.clientX;if((oe=M==null?void 0:M.currentTarget)!=null&&oe.contains(D)&&J){const pe=M.clientX>S.value?"right":"left";y.value=pe,S.value=M.clientX}}function L(M){fa(M)&&E.value&&E.value.focus()}return Lx({onItemEnter:M=>!!H(M),onItemLeave:M=>{var J,oe;return H(M)?!0:(["INPUT","TEXTAREA"].includes(((J=xt())==null?void 0:J.tagName)||"")||(oe=_.value)==null||oe.focus(),$.value=null,!1)},onTriggerLeave:M=>!!H(M),searchRef:c,highlightedElement:x,onKeydownNavigation:U,onKeydownEnter:R,filterElement:E,onFilterElementChange:M=>{E.value=M},activeSubmenuContext:F,pointerGraceTimerRef:f,onPointerGraceIntentChange:M=>{p.value=M}}),(M,D)=>(h(),z(r(za),{"as-child":"",trapped:r(l),onMountAutoFocus:X,onUnmountAutoFocus:D[7]||(D[7]=J=>s("closeAutoFocus",J))},{default:g(()=>[m(r(ja),{"as-child":"","disable-outside-pointer-events":r(i),onEscapeKeyDown:D[2]||(D[2]=J=>s("escapeKeyDown",J)),onPointerDownOutside:D[3]||(D[3]=J=>s("pointerDownOutside",J)),onFocusOutside:D[4]||(D[4]=J=>s("focusOutside",J)),onInteractOutside:D[5]||(D[5]=J=>s("interactOutside",J)),onDismiss:D[6]||(D[6]=J=>s("dismiss"))},{default:g(()=>[m(r(pm),{ref_key:"rovingFocusGroupRef",ref:A,"current-tab-stop-id":$.value,"onUpdate:currentTabStopId":D[0]||(D[0]=J=>$.value=J),"as-child":"",orientation:"vertical",dir:r(a).dir.value,loop:r(u),onEntryFocus:D[1]||(D[1]=J=>{s("entryFocus",J),r(a).isUsingKeyboardRef.value||J.preventDefault()})},{default:g(()=>[m(r(au),{ref:r(w),role:"menu",as:M.as,"as-child":M.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":r(Xp)(r(o).open.value),dir:r(a).dir.value,side:M.side,"side-offset":M.sideOffset,align:M.align,"align-offset":M.alignOffset,"avoid-collisions":M.avoidCollisions,"collision-boundary":M.collisionBoundary,"collision-padding":M.collisionPadding,"arrow-padding":M.arrowPadding,"prioritize-position":M.prioritizePosition,"position-strategy":M.positionStrategy,"update-position-strategy":M.updatePositionStrategy,sticky:M.sticky,"hide-when-detached":M.hideWhenDetached,reference:M.reference,onKeydown:Z,onBlur:Q,onPointermove:de,onPointerenter:L},{default:g(()=>[ce(M.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),vm=Dx,Nx=re({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=gm(),{forwardRef:s,currentElement:o}=De(),{CollectionItem:a}=ws(),l=K(!1),i=ae(()=>l.value||o.value!=null&&n.highlightedElement.value===o.value);async function u(d){var f;if(!(d.defaultPrevented||!fa(d))){if(t.disabled)n.onItemLeave(d);else if(!n.onItemEnter(d)){const y=d.currentTarget;n.highlightedElement.value=y,["INPUT","TEXTAREA"].includes(((f=xt())==null?void 0:f.tagName)||"")||y.focus({preventScroll:!0})}}}async function c(d){if(await it(),d.defaultPrevented||!fa(d)||n.highlightedElement.value!==o.value)return;!n.onItemLeave(d)&&n.highlightedElement.value===o.value&&(n.highlightedElement.value=void 0)}return(d,f)=>(h(),z(r(a),{value:{textValue:d.textValue}},{default:g(()=>[m(r(He),Ee({ref:r(s),role:"menuitem",tabindex:"-1"},d.$attrs,{as:d.as,"as-child":d.asChild,"aria-disabled":d.disabled||void 0,"data-disabled":d.disabled?"":void 0,"data-highlighted":i.value?"":void 0,onPointermove:u,onPointerleave:c,onFocus:f[0]||(f[0]=async p=>{await it(),!(p.defaultPrevented||d.disabled)&&(l.value=!0,r(n).highlightedElement.value=p.currentTarget)}),onBlur:f[1]||(f[1]=async p=>{await it(),!p.defaultPrevented&&(l.value=!1)})}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),Fx=Nx,qx=re({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,{forwardRef:o,currentElement:a}=De(),l=iu(),i=gm(),u=K(!1);async function c(){const d=a.value;if(!n.disabled&&d){const f=new CustomEvent(M1,{bubbles:!0,cancelable:!0});s("select",f),await it(),f.defaultPrevented?u.value=!1:l.onClose()}}return(d,f)=>(h(),z(Fx,Ee(n,{ref:r(o),onClick:c,onPointerdown:f[0]||(f[0]=()=>{u.value=!0}),onPointerup:f[1]||(f[1]=async p=>{var y;await it(),!p.defaultPrevented&&(u.value||(y=p.currentTarget)==null||y.click())}),onKeydown:f[2]||(f[2]=async p=>{var S;const y=r(i).searchRef.value!=="";d.disabled||y&&p.key===" "||r(ri).includes(p.key)&&((S=p.currentTarget)==null||S.click(),p.preventDefault())})}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16))}}),Bx=qx,Vx=re({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=Tt(n,s),a=Qa(),{forwardRef:l,currentElement:i}=De();return Ha(i),(u,c)=>(h(),z(vm,Ee(r(o),{ref:r(l),"trap-focus":r(a).open.value,"disable-outside-pointer-events":r(a).open.value,"disable-outside-scroll":!0,onDismiss:c[0]||(c[0]=d=>r(a).onOpenChange(!1)),onFocusOutside:c[1]||(c[1]=Ie(d=>s("focusOutside",d),["prevent"]))}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),Ux=Vx,Hx=re({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const o=Tt(e,t),a=Qa();return(l,i)=>(h(),z(vm,Ee(r(o),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:i[0]||(i[0]=u=>r(a).onOpenChange(!1))}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16))}}),jx=Hx,zx=re({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const o=Tt(e,t),a=Qa(),l=iu();return(i,u)=>(h(),z(r(js),{present:i.forceMount||r(a).open.value},{default:g(()=>[r(l).modal.value?(h(),z(Ux,$t(Ee({key:0},{...i.$attrs,...r(o)})),{default:g(()=>[ce(i.$slots,"default")]),_:3},16)):(h(),z(jx,$t(Ee({key:1},{...i.$attrs,...r(o)})),{default:g(()=>[ce(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Wx=zx,Kx=re({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Gx=Kx,Yx=re({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(He),Ee(t,{role:"separator","aria-orientation":"horizontal"}),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Xx=Yx;const[$r,Jx]=Ct("PopoverRoot");var Qx=re({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(e,{emit:t}){const n=e,s=t,{modal:o}=qt(n),a=Pn(n,"open",s,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Jx({contentId:"",triggerId:"",modal:o,open:a,onOpenChange:u=>{a.value=u},onOpenToggle:()=>{a.value=!a.value},triggerElement:K(),hasCustomAnchor:K(!1)}),(u,c)=>(h(),z(r(Ji),null,{default:g(()=>[ce(u.$slots,"default",{open:r(a),close:()=>a.value=!1})]),_:3}))}}),Zx=Qx,ew=re({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=Ua(z_(n,"trapFocus","disableOutsidePointerEvents")),{forwardRef:a}=De(),l=$r();return Gi(),(i,u)=>(h(),z(r(za),{"as-child":"",loop:"",trapped:i.trapFocus,onMountAutoFocus:u[5]||(u[5]=c=>s("openAutoFocus",c)),onUnmountAutoFocus:u[6]||(u[6]=c=>s("closeAutoFocus",c))},{default:g(()=>[m(r(ja),{"as-child":"","disable-outside-pointer-events":i.disableOutsidePointerEvents,onPointerDownOutside:u[0]||(u[0]=c=>s("pointerDownOutside",c)),onInteractOutside:u[1]||(u[1]=c=>s("interactOutside",c)),onEscapeKeyDown:u[2]||(u[2]=c=>s("escapeKeyDown",c)),onFocusOutside:u[3]||(u[3]=c=>s("focusOutside",c)),onDismiss:u[4]||(u[4]=c=>r(l).onOpenChange(!1))},{default:g(()=>[m(r(au),Ee(r(o),{id:r(l).contentId,ref:r(a),"data-state":r(l).open.value?"open":"closed","aria-labelledby":r(l).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),ym=ew,tw=re({__name:"PopoverContentModal",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=$r(),a=K(!1);Va(!0);const l=Tt(n,s),{forwardRef:i,currentElement:u}=De();return Ha(u),(c,d)=>(h(),z(ym,Ee(r(l),{ref:r(i),"trap-focus":r(o).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:d[0]||(d[0]=Ie(f=>{var p;s("closeAutoFocus",f),a.value||(p=r(o).triggerElement.value)==null||p.focus()},["prevent"])),onPointerDownOutside:d[1]||(d[1]=f=>{s("pointerDownOutside",f);const p=f.detail.originalEvent,y=p.button===0&&p.ctrlKey===!0,S=p.button===2||y;a.value=S}),onFocusOutside:d[2]||(d[2]=Ie(()=>{},["prevent"]))}),{default:g(()=>[ce(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),nw=tw,sw=re({__name:"PopoverContentNonModal",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=$r(),a=K(!1),l=K(!1),i=Tt(n,s);return(u,c)=>(h(),z(ym,Ee(r(i),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=d=>{var f;s("closeAutoFocus",d),d.defaultPrevented||(a.value||(f=r(o).triggerElement.value)==null||f.focus(),d.preventDefault()),a.value=!1,l.value=!1}),onInteractOutside:c[1]||(c[1]=async d=>{var y;s("interactOutside",d),d.defaultPrevented||(a.value=!0,d.detail.originalEvent.type==="pointerdown"&&(l.value=!0));const f=d.target;((y=r(o).triggerElement.value)==null?void 0:y.contains(f))&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&l.value&&d.preventDefault()})}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16))}}),ow=sw,rw=re({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=$r(),a=Tt(n,s),{forwardRef:l}=De();return o.contentId||(o.contentId=Mn(void 0,"reka-popover-content")),(i,u)=>(h(),z(r(js),{present:i.forceMount||r(o).open.value},{default:g(()=>[r(o).modal.value?(h(),z(nw,Ee({key:0},r(a),{ref:r(l)}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16)):(h(),z(ow,Ee({key:1},r(a),{ref:r(l)}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),aw=rw,lw=re({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),iw=lw,uw=re({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=$r(),{forwardRef:s,currentElement:o}=De();return n.triggerId||(n.triggerId=Mn(void 0,"reka-popover-trigger")),rt(()=>{n.triggerElement.value=o.value}),(a,l)=>(h(),z(_r(r(n).hasCustomAnchor.value?r(He):r(Qi)),{"as-child":""},{default:g(()=>[m(r(He),{id:r(n).triggerId,ref:r(s),type:a.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":r(n).open.value,"aria-controls":r(n).contentId,"data-state":r(n).open.value?"open":"closed",as:a.as,"as-child":t.asChild,onClick:r(n).onOpenToggle},{default:g(()=>[ce(a.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),cw=uw;const[bm,dw]=Ct("DropdownMenuRoot");var fw=re({__name:"DropdownMenuRoot",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,s=t;De();const o=Pn(n,"open",s,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=K(),{modal:l,dir:i}=qt(n),u=To(i);return dw({open:o,onOpenChange:c=>{o.value=c},onOpenToggle:()=>{o.value=!o.value},triggerId:"",triggerElement:a,contentId:"",modal:l,dir:u}),(c,d)=>(h(),z(r(Rx),{open:r(o),"onUpdate:open":d[0]||(d[0]=f=>ut(o)?o.value=f:null),dir:r(u),modal:r(l)},{default:g(()=>[ce(c.$slots,"default",{open:r(o)})]),_:3},8,["open","dir","modal"]))}}),pw=fw,mw=re({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const o=Tt(e,t);De();const a=bm(),l=K(!1);function i(u){u.defaultPrevented||(l.value||setTimeout(()=>{var c;(c=a.triggerElement.value)==null||c.focus()},0),l.value=!1,u.preventDefault())}return a.contentId||(a.contentId=Mn(void 0,"reka-dropdown-menu-content")),(u,c)=>{var d;return h(),z(r(Wx),Ee(r(o),{id:r(a).contentId,"aria-labelledby":(d=r(a))==null?void 0:d.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-dropdown-menu-content-available-width":"var(--reka-popper-available-width)","--reka-dropdown-menu-content-available-height":"var(--reka-popper-available-height)","--reka-dropdown-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-dropdown-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:i,onInteractOutside:c[0]||(c[0]=f=>{var $;if(f.defaultPrevented)return;const p=f.detail.originalEvent,y=p.button===0&&p.ctrlKey===!0,S=p.button===2||y;(!r(a).modal.value||S)&&(l.value=!0),($=r(a).triggerElement.value)!=null&&$.contains(f.target)&&f.preventDefault()})}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16,["id","aria-labelledby"])}}}),hw=mw,gw=re({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,o=Sr(t);return De(),(a,l)=>(h(),z(r(Bx),$t(Mt({...n,...r(o)})),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}}),vw=gw,yw=re({__name:"DropdownMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Gx),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),bw=yw,_w=re({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return De(),(n,s)=>(h(),z(r(Xx),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),xw=_w,ww=re({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=bm(),{forwardRef:s,currentElement:o}=De();return rt(()=>{n.triggerElement=o}),n.triggerId||(n.triggerId=Mn(void 0,"reka-dropdown-menu-trigger")),(a,l)=>(h(),z(r(Ax),{"as-child":""},{default:g(()=>[m(r(He),{id:r(n).triggerId,ref:r(s),type:a.as==="button"?"button":void 0,"as-child":t.asChild,as:a.as,"aria-haspopup":"menu","aria-expanded":r(n).open.value,"aria-controls":r(n).open.value?r(n).contentId:void 0,"data-disabled":a.disabled?"":void 0,disabled:a.disabled,"data-state":r(n).open.value?"open":"closed",onClick:l[0]||(l[0]=async i=>{var u;!a.disabled&&i.button===0&&i.ctrlKey===!1&&((u=r(n))==null||u.onOpenToggle(),await it(),r(n).open.value&&i.preventDefault())}),onKeydown:l[1]||(l[1]=An(i=>{a.disabled||(["Enter"," "].includes(i.key)&&r(n).onOpenToggle(),i.key==="ArrowDown"&&r(n).onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())},["enter","space","arrow-down"]))},{default:g(()=>[ce(a.$slots,"default")]),_:3},8,["id","type","as-child","as","aria-expanded","aria-controls","data-disabled","disabled","data-state"])]),_:3}))}}),kw=ww;const Cw=[" ","Enter","ArrowUp","ArrowDown"],Sw=[" ","Enter"],on=10;function mr(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(s=>di(s,t,n)):di(e,t,n)}function di(e,t,n){return e===void 0||t===void 0?!1:typeof e=="string"?e===t:typeof n=="function"?n(e,t):typeof n=="string"?(e==null?void 0:e[n])===(t==null?void 0:t[n]):dr(e,t)}function $w(e){return e==null||e===""||Array.isArray(e)&&e.length===0}const Tw=["value"],[Cs,_m]=Ct("SelectRoot");var Aw=re({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:""},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(e,{emit:t}){const n=e,s=t,{required:o,disabled:a,multiple:l,dir:i}=qt(n),u=Pn(n,"modelValue",s,{defaultValue:n.defaultValue??(l.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),c=Pn(n,"open",s,{defaultValue:n.defaultOpen,passive:n.open===void 0}),d=K(),f=K(),p=K({x:0,y:0}),y=ae(()=>{var x;return l.value&&Array.isArray(u.value)?((x=u.value)==null?void 0:x.length)===0:xo(u.value)});ws({isProvider:!0});const S=To(i),$=Yi(d),A=K(new Set),w=ae(()=>Array.from(A.value).map(x=>x.value).join(";"));function _(x){if(l.value){const U=Array.isArray(u.value)?[...u.value]:[],R=U.findIndex(E=>di(E,x,n.by));R===-1?U.push(x):U.splice(R,1),u.value=[...U]}else u.value=x}function P(x){return Array.from(A.value).find(U=>mr(x,U.value,n.by))}return _m({triggerElement:d,onTriggerChange:x=>{d.value=x},valueElement:f,onValueElementChange:x=>{f.value=x},contentId:"",modelValue:u,onValueChange:_,by:n.by,open:c,multiple:l,required:o,onOpenChange:x=>{c.value=x},dir:S,triggerPointerDownPosRef:p,disabled:a,isEmptyModelValue:y,optionsSet:A,onOptionAdd:x=>{const U=P(x.value);U&&A.value.delete(U),A.value.add(x)},onOptionRemove:x=>{const U=P(x.value);U&&A.value.delete(U)}}),(x,U)=>(h(),z(r(Ji),null,{default:g(()=>[ce(x.$slots,"default",{modelValue:r(u),open:r(c)}),r($)&&x.name?(h(),z(Pw,{key:w.value,"aria-hidden":"true",tabindex:"-1",multiple:r(l),required:r(o),name:x.name,autocomplete:x.autocomplete,disabled:r(a),value:r(u)},{default:g(()=>[r(xo)(r(u))?(h(),B("option",{key:0,value:x.nullableValue},null,8,Tw)):se("v-if",!0),(h(!0),B(me,null,Pe(Array.from(A.value),R=>(h(),B("option",Ee({key:R.value??""},{ref_for:!0},R),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):se("v-if",!0)]),_:3}))}}),Ew=Aw,Ow=re({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){const t=e,n=K(),s=Cs();Re(()=>t.value,(a,l)=>{const i=window.HTMLSelectElement.prototype,c=Object.getOwnPropertyDescriptor(i,"value").set;if(a!==l&&c&&n.value){const d=new Event("change",{bubbles:!0});c.call(n.value,a),n.value.dispatchEvent(d)}});function o(a){s.onValueChange(a.target.value)}return(a,l)=>(h(),z(r(Qp),{"as-child":""},{default:g(()=>[b("select",Ee({ref_key:"selectElement",ref:n},t,{onInput:o}),[ce(a.$slots,"default")],16)]),_:3}))}}),Pw=Ow,Mw=re({__name:"SelectPopperPosition",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:on},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const n=Ua(e);return(s,o)=>(h(),z(r(au),Ee(r(n),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16))}}),Iw=Mw;const Rw={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Za,xm]=Ct("SelectContent");var Lw=re({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,s=t,o=Cs();Gi(),Va(n.bodyLock);const{CollectionSlot:a,getItems:l}=ws(),i=K();Ha(i);const{search:u,handleTypeaheadSearch:c}=Xi(),d=K(),f=K(),p=K(),y=K(!1),S=K(!1),$=K(!1);function A(){f.value&&i.value&&ai([f.value,i.value])}Re(y,()=>{A()});const{onOpenChange:w,triggerPointerDownPosRef:_}=o;Zn(R=>{if(!i.value)return;let E={x:0,y:0};const F=X=>{var Z,Q;E={x:Math.abs(Math.round(X.pageX)-(((Z=_.value)==null?void 0:Z.x)??0)),y:Math.abs(Math.round(X.pageY)-(((Q=_.value)==null?void 0:Q.y)??0))}},H=X=>{var Z;X.pointerType!=="touch"&&(E.x<=10&&E.y<=10?X.preventDefault():(Z=i.value)!=null&&Z.contains(X.target)||w(!1),document.removeEventListener("pointermove",F),_.value=null)};_.value!==null&&(document.addEventListener("pointermove",F),document.addEventListener("pointerup",H,{capture:!0,once:!0})),R(()=>{document.removeEventListener("pointermove",F),document.removeEventListener("pointerup",H,{capture:!0})})});function P(R){const E=R.ctrlKey||R.altKey||R.metaKey;if(R.key==="Tab"&&R.preventDefault(),!E&&R.key.length===1&&c(R.key,l()),["ArrowUp","ArrowDown","Home","End"].includes(R.key)){let H=[...l().map(X=>X.ref)];if(["ArrowUp","End"].includes(R.key)&&(H=H.slice().reverse()),["ArrowUp","ArrowDown"].includes(R.key)){const X=R.target,Z=H.indexOf(X);H=H.slice(Z+1)}setTimeout(()=>ai(H)),R.preventDefault()}}const x=ae(()=>n.position==="popper"?n:{}),U=Ua(x.value);return xm({content:i,viewport:d,onViewportChange:R=>{d.value=R},itemRefCallback:(R,E,F)=>{const H=!S.value&&!F,X=mr(o.modelValue.value,E,o.by);if(o.multiple.value){if($.value)return;(X||H)&&(f.value=R,X&&($.value=!0))}else(X||H)&&(f.value=R);H&&(S.value=!0)},selectedItem:f,selectedItemText:p,onItemLeave:()=>{var R;(R=i.value)==null||R.focus()},itemTextRefCallback:(R,E,F)=>{const H=!S.value&&!F;(mr(o.modelValue.value,E,o.by)||H)&&(p.value=R)},focusSelectedItem:A,position:n.position,isPositioned:y,searchRef:u}),(R,E)=>(h(),z(r(a),null,{default:g(()=>[m(r(za),{"as-child":"",onMountAutoFocus:E[6]||(E[6]=Ie(()=>{},["prevent"])),onUnmountAutoFocus:E[7]||(E[7]=F=>{var H;s("closeAutoFocus",F),!F.defaultPrevented&&((H=r(o).triggerElement.value)==null||H.focus({preventScroll:!0}),F.preventDefault())})},{default:g(()=>[m(r(ja),{"as-child":"","disable-outside-pointer-events":R.disableOutsidePointerEvents,onFocusOutside:E[2]||(E[2]=Ie(()=>{},["prevent"])),onDismiss:E[3]||(E[3]=F=>r(o).onOpenChange(!1)),onEscapeKeyDown:E[4]||(E[4]=F=>s("escapeKeyDown",F)),onPointerDownOutside:E[5]||(E[5]=F=>s("pointerDownOutside",F))},{default:g(()=>[(h(),z(_r(R.position==="popper"?Iw:Bw),Ee({...R.$attrs,...r(U)},{id:r(o).contentId,ref:F=>{if(!F)return;const H=r(On)(F);H!=null&&H.hasAttribute("data-reka-popper-content-wrapper")?i.value=H.firstElementChild:i.value=H},role:"listbox","data-state":r(o).open.value?"open":"closed",dir:r(o).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:E[0]||(E[0]=Ie(()=>{},["prevent"])),onPlaced:E[1]||(E[1]=F=>y.value=!0),onKeydown:P}),{default:g(()=>[ce(R.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Dw=Lw;const[Nw,Fw]=Ct("SelectItemAlignedPosition");var qw=re({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(e,{emit:t}){const n=e,s=t,{getItems:o}=ws(),a=Cs(),l=Za(),i=K(!1),u=K(!0),c=K(),{forwardRef:d,currentElement:f}=De(),{viewport:p,selectedItem:y,selectedItemText:S,focusSelectedItem:$}=l;function A(){if(a.triggerElement.value&&a.valueElement.value&&c.value&&f.value&&(p!=null&&p.value)&&(y!=null&&y.value)&&(S!=null&&S.value)){const P=a.triggerElement.value.getBoundingClientRect(),x=f.value.getBoundingClientRect(),U=a.valueElement.value.getBoundingClientRect(),R=S.value.getBoundingClientRect();if(a.dir.value!=="rtl"){const te=R.left-x.left,we=U.left-te,_e=P.left-we,Fe=P.width+_e,at=Math.max(Fe,x.width),V=window.innerWidth-on,G=Vc(we,on,Math.max(on,V-at));c.value.style.minWidth=`${Fe}px`,c.value.style.left=`${G}px`}else{const te=x.right-R.right,we=window.innerWidth-U.right-te,_e=window.innerWidth-P.right-we,Fe=P.width+_e,at=Math.max(Fe,x.width),V=window.innerWidth-on,G=Vc(we,on,Math.max(on,V-at));c.value.style.minWidth=`${Fe}px`,c.value.style.right=`${G}px`}const E=o().map(te=>te.ref),F=window.innerHeight-on*2,H=p.value.scrollHeight,X=window.getComputedStyle(f.value),Z=Number.parseInt(X.borderTopWidth,10),Q=Number.parseInt(X.paddingTop,10),de=Number.parseInt(X.borderBottomWidth,10),L=Number.parseInt(X.paddingBottom,10),M=Z+Q+H+L+de,D=Math.min(y.value.offsetHeight*5,M),J=window.getComputedStyle(p.value),oe=Number.parseInt(J.paddingTop,10),pe=Number.parseInt(J.paddingBottom,10),Y=P.top+P.height/2-on,he=F-Y,ee=y.value.offsetHeight/2,Ye=y.value.offsetTop+ee,Ue=Z+Q+Ye,ve=M-Ue;if(Ue<=Y){const te=y.value===E.at(-1);c.value.style.bottom="0px";const we=f.value.clientHeight-p.value.offsetTop-p.value.offsetHeight,_e=Math.max(he,ee+(te?pe:0)+we+de),Fe=Ue+_e;c.value.style.height=`${Fe}px`}else{const te=y.value===E[0];c.value.style.top="0px";const _e=Math.max(Y,Z+p.value.offsetTop+(te?oe:0)+ee)+ve;c.value.style.height=`${_e}px`,p.value.scrollTop=Ue-Y+p.value.offsetTop}c.value.style.margin=`${on}px 0`,c.value.style.minHeight=`${D}px`,c.value.style.maxHeight=`${F}px`,s("placed"),requestAnimationFrame(()=>i.value=!0)}}const w=K("");rt(async()=>{await it(),A(),f.value&&(w.value=window.getComputedStyle(f.value).zIndex)});function _(P){P&&u.value===!0&&(A(),$==null||$(),u.value=!1)}return Z_(a.triggerElement,()=>{A()}),Fw({contentWrapper:c,shouldExpandOnScrollRef:i,onScrollButtonChange:_}),(P,x)=>(h(),B("div",{ref_key:"contentWrapperElement",ref:c,style:tn({display:"flex",flexDirection:"column",position:"fixed",zIndex:w.value})},[m(r(He),Ee({ref:r(d),style:{boxSizing:"border-box",maxHeight:"100%"}},{...P.$attrs,...n}),{default:g(()=>[ce(P.$slots,"default")]),_:3},16)],4))}}),Bw=qw,Vw=re({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(e){return _m(e.context),xm(Rw),(n,s)=>ce(n.$slots,"default")}}),Uw=Vw;const Hw={key:1};var jw=re({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,o=Tt(n,t),a=Cs(),l=K();rt(()=>{l.value=new DocumentFragment});const i=K(),u=ae(()=>n.forceMount||a.open.value),c=K(u.value);let d;function f(){d&&(clearTimeout(d),d=void 0)}return Re(u,(p,y,S)=>{f(),d=setTimeout(()=>{c.value=u.value,d=void 0}),S(f)}),fn(f),(p,y)=>{var S;return u.value||c.value||(S=i.value)!=null&&S.present?(h(),z(r(js),{key:0,ref_key:"presenceRef",ref:i,present:u.value},{default:g(()=>[m(Dw,$t(Mt({...r(o),...p.$attrs})),{default:g(()=>[ce(p.$slots,"default")]),_:3},16)]),_:3},8,["present"])):l.value?(h(),B("div",Hw,[(h(),z(br,{to:l.value},[m(Uw,{context:r(a)},{default:g(()=>[ce(p.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):se("v-if",!0)}}}),zw=jw,Ww=re({__name:"SelectIcon",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(h(),z(r(He),{"aria-hidden":"true",as:t.as,"as-child":t.asChild},{default:g(()=>[ce(t.$slots,"default",{},()=>[n[0]||(n[0]=j("▼"))])]),_:3},8,["as","as-child"]))}}),Kw=Ww;const[wm,Gw]=Ct("SelectItem");var Yw=re({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,{disabled:o}=qt(n),a=Cs(),l=Za(),{forwardRef:i,currentElement:u}=De(),{CollectionItem:c}=ws(),d=ae(()=>{var x;return mr((x=a.modelValue)==null?void 0:x.value,n.value,a.by)}),f=K(!1),p=K(n.textValue??""),y=Mn(void 0,"reka-select-item-text"),S="select.select";async function $(x){if(x.defaultPrevented)return;const U={originalEvent:x,value:n.value};zi(S,A,U)}async function A(x){await it(),s("select",x),!x.defaultPrevented&&(o.value||(a.onValueChange(n.value),a.multiple.value||a.onOpenChange(!1)))}async function w(x){var U,R;await it(),!x.defaultPrevented&&(o.value?(U=l.onItemLeave)==null||U.call(l):(R=x.currentTarget)==null||R.focus({preventScroll:!0}))}async function _(x){var U;await it(),!x.defaultPrevented&&x.currentTarget===xt()&&((U=l.onItemLeave)==null||U.call(l))}async function P(x){var R;await it(),!(x.defaultPrevented||((R=l.searchRef)==null?void 0:R.value)!==""&&x.key===" ")&&(Sw.includes(x.key)&&$(x),x.key===" "&&x.preventDefault())}if(n.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return rt(()=>{u.value&&l.itemRefCallback(u.value,n.value,n.disabled)}),Gw({value:n.value,disabled:o,textId:y,isSelected:d,onItemTextChange:x=>{p.value=((p.value||(x==null?void 0:x.textContent))??"").trim()}}),(x,U)=>(h(),z(r(c),{value:{textValue:p.value}},{default:g(()=>[m(r(He),{ref:r(i),role:"option","aria-labelledby":r(y),"data-highlighted":f.value?"":void 0,"aria-selected":d.value,"data-state":d.value?"checked":"unchecked","aria-disabled":r(o)||void 0,"data-disabled":r(o)?"":void 0,tabindex:r(o)?void 0:-1,as:x.as,"as-child":x.asChild,onFocus:U[0]||(U[0]=R=>f.value=!0),onBlur:U[1]||(U[1]=R=>f.value=!1),onPointerup:$,onPointerdown:U[2]||(U[2]=R=>{R.currentTarget.focus({preventScroll:!0})}),onTouchend:U[3]||(U[3]=Ie(()=>{},["prevent","stop"])),onPointermove:w,onPointerleave:_,onKeydown:P},{default:g(()=>[ce(x.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),Xw=Yw,Jw=re({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=wm();return(s,o)=>r(n).isSelected.value?(h(),z(r(He),Ee({key:0,"aria-hidden":"true"},t),{default:g(()=>[ce(s.$slots,"default")]),_:3},16)):se("v-if",!0)}}),Qw=Jw,Zw=re({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=Cs(),s=Za(),o=wm(),{forwardRef:a,currentElement:l}=De(),i=ae(()=>{var u,c;return{value:o.value,disabled:o.disabled.value,textContent:((u=l.value)==null?void 0:u.textContent)??((c=o.value)==null?void 0:c.toString())??""}});return rt(()=>{l.value&&(o.onItemTextChange(l.value),s.itemTextRefCallback(l.value,o.value,o.disabled.value),n.onOptionAdd(i.value))}),fn(()=>{n.onOptionRemove(i.value)}),(u,c)=>(h(),z(r(He),Ee({id:r(o).textId,ref:r(a)},{...t,...u.$attrs}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16,["id"]))}}),ek=Zw,tk=re({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),nk=tk,sk=re({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=Cs(),{forwardRef:s,currentElement:o}=De(),a=ae(()=>{var w;return((w=n.disabled)==null?void 0:w.value)||t.disabled});n.contentId||(n.contentId=Mn(void 0,"reka-select-content")),rt(()=>{n.onTriggerChange(o.value)});const{getItems:l}=ws(),{search:i,handleTypeaheadSearch:u,resetTypeahead:c}=Xi();function d(){a.value||(n.onOpenChange(!0),c())}function f(w){d(),n.triggerPointerDownPosRef.value={x:Math.round(w.pageX),y:Math.round(w.pageY)}}function p(w){return w.button===0&&w.ctrlKey===!1}let y=!1;function S(w){if(w.pointerType==="touch")return w.preventDefault();const _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),p(w)&&(f(w),y=!0)}function $(w){p(w)&&w.preventDefault()}function A(w){var _;y||(_=w.currentTarget)==null||_.focus(),y=!1}return(w,_)=>(h(),z(r(Qi),{"as-child":"",reference:w.reference},{default:g(()=>{var P,x,U,R;return[m(r(He),{ref:r(s),role:"combobox",type:w.as==="button"?"button":void 0,"aria-controls":r(n).contentId,"aria-expanded":r(n).open.value||!1,"aria-required":(P=r(n).required)==null?void 0:P.value,"aria-autocomplete":"none",disabled:a.value,dir:(x=r(n))==null?void 0:x.dir.value,"data-state":(U=r(n))!=null&&U.open.value?"open":"closed","data-disabled":a.value?"":void 0,"data-placeholder":r($w)((R=r(n).modelValue)==null?void 0:R.value)?"":void 0,"as-child":w.asChild,as:w.as,onClick:A,onPointerdown:S,onMousedown:$,onPointerup:_[0]||(_[0]=Ie(E=>{E.pointerType==="touch"&&f(E)},["prevent"])),onKeydown:_[1]||(_[1]=E=>{const F=r(i)!=="";!(E.ctrlKey||E.altKey||E.metaKey)&&E.key.length===1&&F&&E.key===" "||(r(u)(E.key,r(l)()),r(Cw).includes(E.key)&&(d(),E.preventDefault()))})},{default:g(()=>[ce(w.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]}),_:3},8,["reference"]))}}),ok=sk,rk=re({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,{forwardRef:n,currentElement:s}=De(),o=Cs();rt(()=>{o.valueElement=s});const a=ae(()=>{var d;let i=[];const u=Array.from(o.optionsSet.value),c=f=>u.find(p=>mr(f,p.value,o.by));return Array.isArray(o.modelValue.value)?i=o.modelValue.value.map(f=>{var p;return((p=c(f))==null?void 0:p.textContent)??""}):i=[((d=c(o.modelValue.value))==null?void 0:d.textContent)??""],i.filter(Boolean)}),l=ae(()=>a.value.length?a.value.join(", "):t.placeholder);return(i,u)=>(h(),z(r(He),{ref:r(n),as:i.as,"as-child":i.asChild,style:{pointerEvents:"none"},"data-placeholder":a.value.length?void 0:t.placeholder},{default:g(()=>[ce(i.$slots,"default",{selectedLabel:a.value,modelValue:r(o).modelValue.value},()=>[j(v(l.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),ak=rk,lk=re({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{nonce:n}=qt(t),s=hx(n),o=Za(),a=o.position==="item-aligned"?Nw():void 0,{forwardRef:l,currentElement:i}=De();rt(()=>{o==null||o.onViewportChange(i.value)});const u=K(0);function c(d){const f=d.currentTarget,{shouldExpandOnScrollRef:p,contentWrapper:y}=a??{};if(p!=null&&p.value&&(y!=null&&y.value)){const S=Math.abs(u.value-f.scrollTop);if(S>0){const $=window.innerHeight-on*2,A=Number.parseFloat(y.value.style.minHeight),w=Number.parseFloat(y.value.style.height),_=Math.max(A,w);if(_<$){const P=_+S,x=Math.min($,P),U=P-x;y.value.style.height=`${x}px`,y.value.style.bottom==="0px"&&(f.scrollTop=U>0?U:0,y.value.style.justifyContent="flex-end")}}}u.value=f.scrollTop}return(d,f)=>(h(),B(me,null,[m(r(He),Ee({ref:r(l),"data-reka-select-viewport":"",role:"presentation"},{...d.$attrs,...t},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:c}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16),m(r(He),{as:"style",nonce:r(s)},{default:g(()=>f[0]||(f[0]=[j(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),ik=lk;const[uk,ck]=Ct("SwitchRoot");var dk=re({inheritAttrs:!1,__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{disabled:o}=qt(n),a=Pn(n,"modelValue",s,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),l=ae(()=>a.value===n.trueValue);function i(){o.value||(a.value=l.value?n.falseValue:n.trueValue)}const{forwardRef:u,currentElement:c}=De(),d=Yi(c),f=zp(),p=ae(()=>{var y;return n.id&&c.value?(y=document.querySelector(`[for="${n.id}"]`))==null?void 0:y.innerText:void 0});return ck({checked:l,toggleCheck:i,disabled:o}),(y,S)=>(h(),B(me,null,[m(r(He),Ee({id:y.id,ref:r(u),role:"switch",type:y.as==="button"?"button":void 0,value:y.value,"aria-label":y.$attrs["aria-label"]||p.value,"aria-checked":l.value,"aria-required":y.required,"data-state":l.value?"checked":"unchecked","data-disabled":r(o)?"":void 0,"as-child":y.asChild,as:y.as,disabled:r(o)},{...r(f),...y.$attrs},{onClick:i,onKeydown:An(Ie(i,["prevent"]),["enter"])}),{default:g(()=>[ce(y.$slots,"default",{modelValue:r(a),checked:l.value})]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]),r(d)&&y.name?(h(),z(r(Zp),Ee({key:0,type:"checkbox",name:y.name,disabled:r(o),required:y.required,value:y.value,checked:l.value},r(f)),null,16,["name","disabled","required","value","checked"])):se("v-if",!0)],64))}}),fk=dk,pk=re({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=uk();return De(),(n,s)=>(h(),z(r(He),{"data-state":r(t).checked.value?"checked":"unchecked","data-disabled":r(t).disabled.value?"":void 0,"as-child":n.asChild,as:n.as},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),mk=pk;const[uu,hk]=Ct("TabsRoot");var gk=re({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{orientation:o,unmountOnHide:a,dir:l}=qt(n),i=To(l);De();const u=Pn(n,"modelValue",s,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),c=K(),d=Ia(new Set);return hk({modelValue:u,changeModelValue:f=>{u.value=f},orientation:o,dir:i,unmountOnHide:a,activationMode:n.activationMode,baseId:Mn(void 0,"reka-tabs"),tabsList:c,contentIds:d,registerContent:f=>{d.value=new Set([...d.value,f])},unregisterContent:f=>{const p=new Set(d.value);p.delete(f),d.value=p}}),(f,p)=>(h(),z(r(He),{dir:r(i),"data-orientation":r(o),"as-child":f.asChild,as:f.as},{default:g(()=>[ce(f.$slots,"default",{modelValue:r(u)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),vk=gk;function km(e,t){return`${e}-trigger-${t}`}function Cm(e,t){return`${e}-content-${t}`}var yk=re({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n}=De(),s=uu(),o=ae(()=>km(s.baseId,t.value)),a=ae(()=>Cm(s.baseId,t.value)),l=ae(()=>t.value===s.modelValue.value),i=K(l.value);return rt(()=>{s.registerContent(t.value),requestAnimationFrame(()=>{i.value=!1})}),So(()=>{s.unregisterContent(t.value)}),(u,c)=>(h(),z(r(js),{present:u.forceMount||l.value,"force-mount":""},{default:g(({present:d})=>[m(r(He),{id:a.value,ref:r(n),"as-child":u.asChild,as:u.as,role:"tabpanel","data-state":l.value?"active":"inactive","data-orientation":r(s).orientation.value,"aria-labelledby":o.value,hidden:!d,tabindex:"0",style:tn({animationDuration:i.value?"0s":void 0})},{default:g(()=>[!r(s).unmountOnHide.value||d?ce(u.$slots,"default",{key:0}):se("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),bk=yk,_k=re({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{loop:n}=qt(t),{forwardRef:s,currentElement:o}=De(),a=uu();return a.tabsList=o,(l,i)=>(h(),z(r(pm),{"as-child":"",orientation:r(a).orientation.value,dir:r(a).dir.value,loop:r(n)},{default:g(()=>[m(r(He),{ref:r(s),role:"tablist","as-child":l.asChild,as:l.as,"aria-orientation":r(a).orientation.value},{default:g(()=>[ce(l.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),xk=_k,wk=re({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,{forwardRef:n}=De(),s=uu(),o=ae(()=>km(s.baseId,t.value)),a=ae(()=>s.contentIds.value.has(t.value)?Cm(s.baseId,t.value):void 0),l=ae(()=>t.value===s.modelValue.value);return(i,u)=>(h(),z(r(mm),{"as-child":"",focusable:!i.disabled,active:l.value},{default:g(()=>[m(r(He),{id:o.value,ref:r(n),role:"tab",type:i.as==="button"?"button":void 0,as:i.as,"as-child":i.asChild,"aria-selected":l.value?"true":"false","aria-controls":a.value,"data-state":l.value?"active":"inactive",disabled:i.disabled,"data-disabled":i.disabled?"":void 0,"data-orientation":r(s).orientation.value,onMousedown:u[0]||(u[0]=Ie(c=>{!i.disabled&&c.ctrlKey===!1?r(s).changeModelValue(i.value):c.preventDefault()},["left"])),onKeydown:u[1]||(u[1]=An(c=>r(s).changeModelValue(i.value),["enter","space"])),onFocus:u[2]||(u[2]=()=>{const c=r(s).activationMode!=="manual";!l.value&&!i.disabled&&c&&r(s).changeModelValue(i.value)})},{default:g(()=>[ce(i.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),kk=wk;const fi=re({__name:"DropdownMenu",props:{defaultOpen:{type:Boolean},open:{type:Boolean},dir:{},modal:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const o=Tt(e,t);return(a,l)=>(h(),z(r(pw),$t(Mt(r(o))),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}}),pi=re({__name:"DropdownMenuTrigger",setup(e){return(t,n)=>(h(),z(r(kw),{"as-child":""},{default:g(()=>[ce(t.$slots,"default")]),_:3}))}}),mi=re({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean},loop:{type:Boolean},memoDependencies:{},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,...i}=n;return i}),a=Tt(o,s);return(l,i)=>(h(),z(r(bw),null,{default:g(()=>[m(r(hw),Ee(r(a),{class:r(Ge)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",n.class)}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),Uo=re({__name:"DropdownMenuItem",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},inset:{type:Boolean}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,inset:i,...u}=n;return u}),a=Tt(o,s);return(l,i)=>(h(),z(r(vw),Ee(r(a),{"data-inset":e.inset?"":void 0,class:r(Ge)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",n.class)}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16,["data-inset","class"]))}}),ld=re({__name:"DropdownMenuSeparator",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(xw),{class:ge(r(Ge)("-mx-1 my-1 h-px bg-muted",t.class))},null,8,["class"]))}}),Ws=re({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean},unmountOnHide:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const o=Tt(e,t);return(a,l)=>(h(),z(r(v1),$t(Mt(r(o))),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}});/**
|
|
37
|
+
`))}return()=>o.value||s.value||l.value?Kt(t.default({present:l.value})[0],{ref:d=>{const f=On(d);return typeof(f==null?void 0:f.hasAttribute)>"u"||(f!=null&&f.hasAttribute("data-reka-popper-content-wrapper")?a.value=f.firstElementChild:a.value=f),f}}):null}});const si=re({name:"PrimitiveSlot",inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{var u;if(!n.default)return null;const s=Ki(n.default()),o=s.findIndex(c=>c.type!==cn);if(o===-1)return s;const a=s[o];(u=a.props)==null||delete u.ref;const l=a.props?Ee(t,a.props):t,i=ms({...a,props:{}},l);return s.length===1?i:(s[o]=i,s)}}}),m1=["area","img","input"],He=re({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(e,{attrs:t,slots:n}){const s=e.asChild?"template":e.as;return typeof s=="string"&&m1.includes(s)?()=>Kt(s,t):s!=="template"?()=>Kt(e.as,t,{default:n.default}):()=>Kt(si,t,{default:n.default})}});function oi(){const e=K(),t=ae(()=>{var n,s;return["#text","#comment"].includes((n=e.value)==null?void 0:n.$el.nodeName)?(s=e.value)==null?void 0:s.$el.nextElementSibling:On(e)});return{primitiveElement:e,currentElement:t}}const[os,h1]=Ct("DialogRoot");var g1=re({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,o=Pn(n,"open",t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=K(),l=K(),{modal:i,unmountOnHide:u}=qt(n);return h1({open:o,modal:i,unmountOnHide:u,openModal:()=>{o.value=!0},onOpenChange:c=>{o.value=c},onOpenToggle:()=>{o.value=!o.value},contentId:"",titleId:"",descriptionId:"",triggerElement:a,contentElement:l}),(c,d)=>ce(c.$slots,"default",{open:r(o),close:()=>o.value=!1})}}),v1=g1,y1=re({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e;De();const n=os();return(s,o)=>(h(),z(r(He),Ee(t,{type:s.as==="button"?"button":void 0,onClick:o[0]||(o[0]=a=>r(n).onOpenChange(!1))}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["type"]))}}),b1=y1;const _1="dismissableLayer.pointerDownOutside",x1="dismissableLayer.focusOutside";function Kp(e,t){if(!(t instanceof Element))return!1;const n=t.closest("[data-dismissable-layer]"),s=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),o=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(s===n||o.indexOf(s)<o.indexOf(n)))}function w1(e,t,n=!0){var l;const s=((l=t==null?void 0:t.value)==null?void 0:l.ownerDocument)??(globalThis==null?void 0:globalThis.document),o=K(!1),a=K(()=>{});return Zn(i=>{if(!En||!Pt(n))return;const u=async d=>{const f=d.target;if(!(!(t!=null&&t.value)||!f)){if(Kp(t.value,f)){o.value=!1;return}if(d.target&&!o.value){let S=function(){zi(_1,e,y)};var p=S;const y={originalEvent:d};d.pointerType==="touch"?(s.removeEventListener("click",a.value),a.value=S,s.addEventListener("click",a.value,{once:!0})):S()}else s.removeEventListener("click",a.value);o.value=!1}},c=window.setTimeout(()=>{s.addEventListener("pointerdown",u)},0);i(()=>{window.clearTimeout(c),s.removeEventListener("pointerdown",u),s.removeEventListener("click",a.value)})}),{onPointerDownCapture:()=>{Pt(n)&&(o.value=!0)}}}function k1(e,t,n=!0){var a;const s=((a=t==null?void 0:t.value)==null?void 0:a.ownerDocument)??(globalThis==null?void 0:globalThis.document),o=K(!1);return Zn(l=>{if(!En||!Pt(n))return;const i=async u=>{if(!(t!=null&&t.value))return;await it(),await it();const c=u.target;!t.value||!c||Kp(t.value,c)||u.target&&!o.value&&zi(x1,e,{originalEvent:u})};s.addEventListener("focusin",i),l(()=>s.removeEventListener("focusin",i))}),{onFocusCapture:()=>{Pt(n)&&(o.value=!0)},onBlurCapture:()=>{Pt(n)&&(o.value=!1)}}}const zt=qs({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var C1=re({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,s=t,{forwardRef:o,currentElement:a}=De(),l=ae(()=>{var y;return((y=a.value)==null?void 0:y.ownerDocument)??globalThis.document}),i=ae(()=>zt.layersRoot),u=ae(()=>a.value?Array.from(i.value).indexOf(a.value):-1),c=ae(()=>zt.layersWithOutsidePointerEventsDisabled.size>0),d=ae(()=>{const y=Array.from(i.value),[S]=[...zt.layersWithOutsidePointerEventsDisabled].slice(-1),$=y.indexOf(S);return u.value>=$}),f=w1(async y=>{const S=[...zt.branches].some($=>$==null?void 0:$.contains(y.target));!n.present||!d.value||S||(s("pointerDownOutside",y),s("interactOutside",y),await it(),y.defaultPrevented||s("dismiss"))},a),p=k1(y=>{const S=[...zt.branches].some($=>$==null?void 0:$.contains(y.target));!n.present||S||(s("focusOutside",y),s("interactOutside",y),y.defaultPrevented||s("dismiss"))},a);return J_("Escape",y=>{!n.present||!(u.value===i.value.size-1)||(s("escapeKeyDown",y),y.defaultPrevented||s("dismiss"))}),Re([a,()=>n.disableOutsidePointerEvents,()=>n.present],([y,S,$],A,w)=>{!y||!$||S&&(zt.layersWithOutsidePointerEventsDisabled.size===0&&(zt.originalBodyPointerEvents=l.value.body.style.pointerEvents,l.value.body.style.pointerEvents="none"),zt.layersWithOutsidePointerEventsDisabled.add(y),w(()=>{zt.layersWithOutsidePointerEventsDisabled.delete(y),zt.layersWithOutsidePointerEventsDisabled.size===0&&!xo(zt.originalBodyPointerEvents)&&(l.value.body.style.pointerEvents=zt.originalBodyPointerEvents)}))},{immediate:!0}),Re([a,()=>n.present],([y,S],$,A)=>{!y||!S||(i.value.add(y),A(()=>{i.value.delete(y)}))},{immediate:!0}),Zn(y=>{y(()=>{a.value&&(i.value.delete(a.value),zt.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(y,S)=>(h(),z(r(He),{ref:r(o),"as-child":y.asChild,as:y.as,"data-dismissable-layer":"",style:tn({pointerEvents:c.value?d.value?"auto":"none":void 0}),onFocusCapture:r(p).onFocusCapture,onBlurCapture:r(p).onBlurCapture,onPointerdownCapture:r(f).onPointerDownCapture},{default:g(()=>[ce(y.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),ja=C1;const S1=N_(()=>K([]));function $1(){const e=S1();return{add(t){const n=e.value[0];t!==n&&(n==null||n.pause()),e.value=Wc(e.value,t),e.value.unshift(t)},remove(t){var n;e.value=Wc(e.value,t),(n=e.value[0])==null||n.resume()}}}function Wc(e,t){const n=[...e],s=n.indexOf(t);return s!==-1&&n.splice(s,1),n}const Cl="focusScope.autoFocusOnMount",Sl="focusScope.autoFocusOnUnmount",Kc={bubbles:!1,cancelable:!0};function T1(e,{select:t=!1}={}){const n=xt();for(const s of e)if(cs(s,{select:t}),xt()!==n)return!0}function A1(e){const t=Gp(e),n=Gc(t,e),s=Gc(t.reverse(),e);return[n,s]}function Gp(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:s=>{const o=s.tagName==="INPUT"&&s.type==="hidden";return s.disabled||s.hidden||o?NodeFilter.FILTER_SKIP:s.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Gc(e,t){for(const n of e)if(!E1(n,{upTo:t}))return n}function E1(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function O1(e){return e instanceof HTMLInputElement&&"select"in e}function cs(e,{select:t=!1}={}){if(e&&e.focus){const n=xt();e.focus({preventScroll:!0}),e!==n&&O1(e)&&t&&e.select()}}var P1=re({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,s=t,{currentRef:o,currentElement:a}=De(),l=K(null),i=$1(),u=qs({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});Zn(f=>{if(!En)return;const p=a.value;if(!n.trapped)return;function y(w){if(u.paused||!p)return;const _=w.target;p.contains(_)?l.value=_:cs(l.value,{select:!0})}function S(w){if(u.paused||!p)return;const _=w.relatedTarget;_!==null&&(p.contains(_)||cs(l.value,{select:!0}))}function $(w){const _=l.value;if(_===null||!w.some(U=>U.removedNodes.length>0))return;p.contains(_)||cs(p)}document.addEventListener("focusin",y),document.addEventListener("focusout",S);const A=new MutationObserver($);p&&A.observe(p,{childList:!0,subtree:!0}),f(()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",S),A.disconnect()})});function c(f,p){const y=new CustomEvent(Cl,Kc),S=$=>s("mountAutoFocus",$);f.addEventListener(Cl,S),f.dispatchEvent(y),f.removeEventListener(Cl,S),y.defaultPrevented||(T1(Gp(f),{select:!0}),xt()===p&&cs(f))}Zn(async f=>{const p=a.value;if(await it(),!p)return;n.present!==!1&&i.add(u);const y=xt();!p.contains(y)&&n.present!==!1&&c(p,y),f(()=>{const $=new CustomEvent(Sl,Kc),A=w=>{s("unmountAutoFocus",w)};p.addEventListener(Sl,A),p.dispatchEvent($),p.setAttribute("data-focus-scope-unmounting",""),setTimeout(()=>{$.defaultPrevented||cs(y??document.body,{select:!0}),p.removeEventListener(Sl,A),i.remove(u),p.removeAttribute("data-focus-scope-unmounting")},0)})}),Re(()=>n.present,async(f,p)=>{if(!En)return;if(f===!1&&p===!0){i.remove(u);return}if(f!==!0||p!==!1)return;i.add(u),await it();const y=a.value;if(!y)return;const S=xt();y.contains(S)||c(y,S)});function d(f){if(!n.loop&&!n.trapped||u.paused)return;const p=f.key==="Tab"&&!f.altKey&&!f.ctrlKey&&!f.metaKey,y=xt();if(p&&y){const S=f.currentTarget,[$,A]=A1(S);$&&A?!f.shiftKey&&y===A?(f.preventDefault(),n.loop&&cs($,{select:!0})):f.shiftKey&&y===$&&(f.preventDefault(),n.loop&&cs(A,{select:!0})):y===S&&f.preventDefault()}}return(f,p)=>(h(),z(r(He),{ref_key:"currentRef",ref:o,tabindex:"-1","as-child":f.asChild,as:f.as,onKeydown:d},{default:g(()=>[ce(f.$slots,"default")]),_:3},8,["as-child","as"]))}}),za=P1;const M1="menu.itemSelect",ri=["Enter"," "],I1=["ArrowDown","PageUp","Home"],Yp=["ArrowUp","PageDown","End"],R1=[...I1,...Yp];[...ri],[...ri];function Xp(e){return e?"open":"closed"}function ai(e){const t=xt();for(const n of e)if(n===t||(n.focus(),xt()!==t))return}function L1(e,t){const{x:n,y:s}=e;let o=!1;for(let a=0,l=t.length-1;a<t.length;l=a++){const i=t[a].x,u=t[a].y,c=t[l].x,d=t[l].y;u>s!=d>s&&n<(c-i)*(s-u)/(d-u)+i&&(o=!o)}return o}function D1(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return L1(n,t)}function fa(e){return e.pointerType==="mouse"}var N1=re({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=os(),{forwardRef:a,currentElement:l}=De();return o.titleId||(o.titleId=Mn(void 0,"reka-dialog-title")),o.descriptionId||(o.descriptionId=Mn(void 0,"reka-dialog-description")),rt(()=>{o.contentElement=l,xt()!==document.body&&(o.triggerElement.value=xt())}),(i,u)=>(h(),z(r(za),{"as-child":"",loop:"",trapped:n.trapFocus,present:n.present,onMountAutoFocus:u[5]||(u[5]=c=>s("openAutoFocus",c)),onUnmountAutoFocus:u[6]||(u[6]=c=>s("closeAutoFocus",c))},{default:g(()=>[m(r(ja),Ee({id:r(o).contentId,ref:r(a),as:i.as,"as-child":i.asChild,present:n.present,"disable-outside-pointer-events":i.disableOutsidePointerEvents,role:"dialog","aria-describedby":r(o).descriptionId,"aria-labelledby":r(o).titleId,"data-state":r(Xp)(r(o).open.value)},i.$attrs,{onDismiss:u[0]||(u[0]=c=>r(o).onOpenChange(!1)),onEscapeKeyDown:u[1]||(u[1]=c=>s("escapeKeyDown",c)),onFocusOutside:u[2]||(u[2]=c=>s("focusOutside",c)),onInteractOutside:u[3]||(u[3]=c=>s("interactOutside",c)),onPointerDownOutside:u[4]||(u[4]=c=>s("pointerDownOutside",c))}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16,["id","as","as-child","present","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped","present"]))}}),Jp=N1,F1=re({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=os(),a=Sr(s),{forwardRef:l,currentElement:i}=De(),u=ae(()=>n.present?i.value:void 0);Ha(u);const c=ae(()=>{const{present:d,...f}=n;return f});return Re(()=>n.present,(d,f)=>{var p;!d&&f&&((p=o.triggerElement.value)==null||p.focus())}),(d,f)=>(h(),z(Jp,Ee({...c.value,...r(a)},{ref:r(l),present:d.present,"trap-focus":r(o).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:f[0]||(f[0]=p=>{var y;p.defaultPrevented||(p.preventDefault(),(y=r(o).triggerElement.value)==null||y.focus())}),onPointerDownOutside:f[1]||(f[1]=p=>{const y=p.detail.originalEvent,S=y.button===0&&y.ctrlKey===!0;(y.button===2||S)&&p.preventDefault()}),onFocusOutside:f[2]||(f[2]=p=>{p.preventDefault()})}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16,["present","trap-focus","disable-outside-pointer-events"]))}}),q1=F1,B1=re({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,o=Sr(t);De();const a=os(),l=K(!1),i=K(!1),u=ae(()=>{const{present:c,...d}=n;return d});return Re(()=>n.present,(c,d)=>{var f;!c&&d&&(l.value||(f=a.triggerElement.value)==null||f.focus(),l.value=!1,i.value=!1)}),(c,d)=>(h(),z(Jp,Ee({...u.value,...r(o)},{present:c.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:d[0]||(d[0]=f=>{var p;f.defaultPrevented||(l.value||(p=r(a).triggerElement.value)==null||p.focus(),f.preventDefault()),l.value=!1,i.value=!1}),onInteractOutside:d[1]||(d[1]=f=>{var S;f.defaultPrevented||(l.value=!0,f.detail.originalEvent.type==="pointerdown"&&(i.value=!0));const p=f.target;((S=r(a).triggerElement.value)==null?void 0:S.contains(p))&&f.preventDefault(),f.detail.originalEvent.type==="focusin"&&i.value&&f.preventDefault()})}),{default:g(()=>[ce(c.$slots,"default")]),_:3},16,["present"]))}}),V1=B1,U1=re({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=os(),a=Sr(s),{forwardRef:l}=De();return(i,u)=>(h(),z(r(js),{present:i.forceMount||r(o).open.value,"force-mount":i.forceMount||!r(o).unmountOnHide.value},{default:g(({present:c})=>[r(o).modal.value?Zo((h(),z(q1,Ee({key:0,ref:r(l),present:r(o).unmountOnHide.value||c},{...n,...r(a),...i.$attrs}),{default:g(()=>[ce(i.$slots,"default")]),_:2},1040,["present"])),[[or,r(o).unmountOnHide.value||c]]):Zo((h(),z(V1,Ee({key:1,ref:r(l),present:r(o).unmountOnHide.value||c},{...n,...r(a),...i.$attrs}),{default:g(()=>[ce(i.$slots,"default")]),_:2},1040,["present"])),[[or,r(o).unmountOnHide.value||c]])]),_:3},8,["present","force-mount"]))}}),H1=U1,j1=re({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(e){const t=e;De();const n=os();return(s,o)=>(h(),z(r(He),Ee(t,{id:r(n).descriptionId}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["id"]))}}),z1=j1,W1=re({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){const t=e,n=os(),s=Va(t.present);return Re(()=>t.present,o=>s.value=o),De(),(o,a)=>(h(),z(r(He),{as:o.as,"as-child":o.asChild,"data-state":r(n).open.value?"open":"closed",style:{"pointer-events":"auto"},onPointerdown:a[0]||(a[0]=Ie(()=>{},["left","self","prevent"]))},{default:g(()=>[ce(o.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),K1=W1,G1=re({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=os(),{forwardRef:n}=De();return(s,o)=>{var a;return(a=r(t))!=null&&a.modal.value?(h(),z(r(js),{key:0,present:s.forceMount||r(t).open.value,"force-mount":s.forceMount||!r(t).unmountOnHide.value},{default:g(({present:l})=>[Zo(m(K1,Ee(s.$attrs,{ref:r(n),as:s.as,"as-child":s.asChild,present:r(t).unmountOnHide.value||l}),{default:g(()=>[ce(s.$slots,"default")]),_:2},1040,["as","as-child","present"]),[[or,r(t).unmountOnHide.value||l]])]),_:3},8,["present","force-mount"])):se("v-if",!0)}}}),Y1=G1,X1=re({__name:"Teleport",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e,n=Cr({}),s=ae(()=>{var a;return t.to??((a=n.teleportTo)==null?void 0:a.value)??"body"}),o=Up();return(a,l)=>r(o)||a.forceMount?(h(),z(br,{key:0,to:s.value,disabled:a.disabled,defer:a.defer},[ce(a.$slots,"default")],8,["to","disabled","defer"])):se("v-if",!0)}}),Wa=X1,J1=re({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Q1=J1,Z1=re({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(e){const t=e,n=os();return De(),(s,o)=>(h(),z(r(He),Ee(t,{id:r(n).titleId}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["id"]))}}),e0=Z1;const Yc="data-reka-collection-item";function ws(e={}){const{key:t="",isProvider:n=!1}=e,s=`${t}CollectionProvider`;let o;n?(o={collectionRef:K(),itemMap:K(new Map)},$i(s,o)):o=Ds(s);const a=(d=!1)=>{const f=o.collectionRef.value;if(!f)return[];const p=Array.from(f.querySelectorAll(`[${Yc}]`)),y=new Map(p.map((A,w)=>[A,w])),$=Array.from(o.itemMap.value.values()).sort((A,w)=>(y.get(A.ref)??-1)-(y.get(w.ref)??-1));return d?$:$.filter(A=>A.ref.dataset.disabled!=="")},l=re({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:p}){const{primitiveElement:y,currentElement:S}=oi();return Re(S,()=>{o.collectionRef.value=S.value}),()=>Kt(si,{ref:y,...p},f)}}),i=re({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:p}){const{primitiveElement:y,currentElement:S}=oi();return Zn($=>{if(S.value){const A=Kd(S.value);o.itemMap.value.set(A,{ref:S.value,value:d.value}),$(()=>o.itemMap.value.delete(A))}}),()=>Kt(si,{...p,[Yc]:"",ref:y},f)}}),u=ae(()=>Array.from(o.itemMap.value.values())),c=ae(()=>o.itemMap.value.size);return{getItems:a,reactiveItems:u,itemMapSize:c,CollectionSlot:l,CollectionItem:i}}var t0=re({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(h(),z(r(He),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"||t.feature==="fully-hidden"?"true":void 0,"data-hidden":t.feature==="fully-hidden"?"":void 0,tabindex:t.feature==="fully-hidden"?"-1":void 0,style:{position:"absolute",border:0,width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",whiteSpace:"nowrap",wordWrap:"normal",top:"-1px",left:"-1px"}},{default:g(()=>[ce(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),Qp=t0,n0=re({inheritAttrs:!1,__name:"VisuallyHiddenInputBubble",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,{primitiveElement:n,currentElement:s}=oi(),o=ae(()=>t.checked??t.value);return Re(o,(a,l)=>{if(!s.value)return;const i=s.value,u=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(u,"value").set;if(d&&a!==l){const f=new Event("input",{bubbles:!0}),p=new Event("change",{bubbles:!0});d.call(i,a),i.dispatchEvent(f),i.dispatchEvent(p)}}),(a,l)=>(h(),z(Qp,Ee({ref_key:"primitiveElement",ref:n},{...t,...a.$attrs},{as:"input"}),null,16))}}),Xc=n0,s0=re({inheritAttrs:!1,__name:"VisuallyHiddenInput",props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:"fully-hidden"}},setup(e){const t=e,n=ae(()=>typeof t.value=="object"&&Array.isArray(t.value)&&t.value.length===0&&t.required),s=ae(()=>typeof t.value=="string"||typeof t.value=="number"||typeof t.value=="boolean"||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value=="object"&&Array.isArray(t.value)?t.value.flatMap((o,a)=>typeof o=="object"?Object.entries(o).map(([l,i])=>({name:`${t.name}[${a}][${l}]`,value:i})):{name:`${t.name}[${a}]`,value:o}):t.value!==null&&typeof t.value=="object"&&!Array.isArray(t.value)?Object.entries(t.value).map(([o,a])=>({name:`${t.name}[${o}]`,value:a})):[]);return(o,a)=>(h(),B(me,null,[se(" We render single input if it's required "),n.value?(h(),z(Xc,Ee({key:o.name},{...t,...o.$attrs},{name:o.name,value:o.value}),null,16,["name","value"])):(h(!0),B(me,{key:1},Pe(s.value,l=>(h(),z(Xc,Ee({key:l.name},{ref_for:!0},{...t,...o.$attrs},{name:l.name,value:l.value}),null,16,["name","value"]))),128))],2112))}}),Zp=s0;const o0="rovingFocusGroup.onEntryFocus",r0={bubbles:!1,cancelable:!0},a0={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function l0(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function i0(e,t,n){const s=l0(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(s))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(s)))return a0[s]}function em(e,t=!1){const n=xt();for(const s of e)if(s===n||(s.focus({preventScroll:t}),xt()!==n))return}function u0(e,t){return e.map((n,s)=>e[(t+s)%e.length])}const[tm,c0]=Ct("PopperRoot");var d0=re({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=K();return c0({anchor:t,onAnchorChange:n=>t.value=n}),(n,s)=>ce(n.$slots,"default")}}),Ji=d0,f0=re({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n,currentElement:s}=De(),o=tm();return sf(()=>{o.onAnchorChange(t.reference??s.value)}),(a,l)=>(h(),z(r(He),{ref:r(n),as:a.as,"as-child":a.asChild},{default:g(()=>[ce(a.$slots,"default")]),_:3},8,["as","as-child"]))}}),Qi=f0;function p0(e){return e!==null}function m0(e){return{name:"transformOrigin",options:e,fn(t){var w,_,P;const{placement:n,rects:s,middlewareData:o}=t,l=((w=o.arrow)==null?void 0:w.centerOffset)!==0,i=l?0:e.arrowWidth,u=l?0:e.arrowHeight,[c,d]=li(n),f={start:e.dir==="rtl"?"100%":"0%",center:"50%",end:e.dir==="rtl"?"0%":"100%"}[d],p={start:"0%",center:"50%",end:"100%"}[d],y=(((_=o.arrow)==null?void 0:_.x)??0)+i/2,S=(((P=o.arrow)==null?void 0:P.y)??0)+u/2;let $="",A="";return c==="bottom"?($=l?f:`${y}px`,A=`${-u}px`):c==="top"?($=l?f:`${y}px`,A=`${s.floating.height+u}px`):c==="right"?($=`${-u}px`,A=l?p:`${S}px`):c==="left"&&($=`${s.floating.width+u}px`,A=l?p:`${S}px`),{data:{x:$,y:A}}}}}function li(e){const[t,n="center"]=e.split("-");return[t,n]}const h0=["top","right","bottom","left"],hs=Math.min,Kn=Math.max,pa=Math.round,qr=Math.floor,Gn=e=>({x:e,y:e}),g0={left:"right",right:"left",bottom:"top",top:"bottom"};function nm(e,t,n){return Kn(e,hs(t,n))}function ts(e,t){return typeof e=="function"?e(t):e}function gs(e){return e.split("-")[0]}function Ao(e){return e.split("-")[1]}function Zi(e){return e==="x"?"y":"x"}function eu(e){return e==="y"?"height":"width"}function Cn(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function tu(e){return Zi(Cn(e))}function v0(e,t,n){n===void 0&&(n=!1);const s=Ao(e),o=tu(e),a=eu(o);let l=o==="x"?s===(n?"end":"start")?"right":"left":s==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=ma(l)),[l,ma(l)]}function y0(e){const t=ma(e);return[ii(e),t,ii(t)]}function ii(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Jc=["left","right"],Qc=["right","left"],b0=["top","bottom"],_0=["bottom","top"];function x0(e,t,n){switch(e){case"top":case"bottom":return n?t?Qc:Jc:t?Jc:Qc;case"left":case"right":return t?b0:_0;default:return[]}}function w0(e,t,n,s){const o=Ao(e);let a=x0(gs(e),n==="start",s);return o&&(a=a.map(l=>l+"-"+o),t&&(a=a.concat(a.map(ii)))),a}function ma(e){const t=gs(e);return g0[t]+e.slice(t.length)}function k0(e){var t,n,s,o;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(s=e.bottom)!=null?s:0,left:(o=e.left)!=null?o:0}}function sm(e){return typeof e!="number"?k0(e):{top:e,right:e,bottom:e,left:e}}function ha(e){const{x:t,y:n,width:s,height:o}=e;return{width:s,height:o,top:n,left:t,right:t+s,bottom:n+o,x:t,y:n}}function Zc(e,t,n){let{reference:s,floating:o}=e;const a=Cn(t),l=tu(t),i=eu(l),u=gs(t),c=a==="y",d=s.x+s.width/2-o.width/2,f=s.y+s.height/2-o.height/2,p=s[i]/2-o[i]/2;let y;switch(u){case"top":y={x:d,y:s.y-o.height};break;case"bottom":y={x:d,y:s.y+s.height};break;case"right":y={x:s.x+s.width,y:f};break;case"left":y={x:s.x-o.width,y:f};break;default:y={x:s.x,y:s.y}}const S=Ao(t);return S&&(y[l]+=p*(S==="end"?1:-1)*(n&&c?-1:1)),y}async function C0(e,t){var n;t===void 0&&(t={});const{x:s,y:o,platform:a,rects:l,elements:i,strategy:u}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=!1,padding:y=0}=ts(t,e),S=sm(y),A=i[p?f==="floating"?"reference":"floating":f],w=ha(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(A)))==null||n?A:A.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(i.floating)),boundary:c,rootBoundary:d,strategy:u})),_=f==="floating"?{x:s,y:o,width:l.floating.width,height:l.floating.height}:l.reference,P=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i.floating)),x=await(a.isElement==null?void 0:a.isElement(P))&&await(a.getScale==null?void 0:a.getScale(P))||{x:1,y:1},U=ha(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:_,offsetParent:P,strategy:u}):_);return{top:(w.top-U.top+S.top)/x.y,bottom:(U.bottom-w.bottom+S.bottom)/x.y,left:(w.left-U.left+S.left)/x.x,right:(U.right-w.right+S.right)/x.x}}const S0=50,$0=async(e,t,n)=>{const{placement:s="bottom",strategy:o="absolute",middleware:a=[],platform:l}=n,i=l.detectOverflow?l:{...l,detectOverflow:C0},u=await(l.isRTL==null?void 0:l.isRTL(t));let c=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:f}=Zc(c,s,u),p=s,y=0;const S={};for(let $=0;$<a.length;$++){const A=a[$];if(!A)continue;const{name:w,fn:_}=A,{x:P,y:x,data:U,reset:R}=await _({x:d,y:f,initialPlacement:s,placement:p,strategy:o,middlewareData:S,rects:c,platform:i,elements:{reference:e,floating:t}});d=P??d,f=x??f,S[w]={...S[w],...U},R&&y<S0&&(y++,typeof R=="object"&&(R.placement&&(p=R.placement),R.rects&&(c=R.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:o}):R.rects),{x:d,y:f}=Zc(c,p,u)),$=-1)}return{x:d,y:f,placement:p,strategy:o,middlewareData:S}},T0=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:s,placement:o,rects:a,platform:l,elements:i,middlewareData:u}=t,{element:c,padding:d=0}=ts(e,t)||{};if(c==null)return{};const f=sm(d),p={x:n,y:s},y=tu(o),S=eu(y),$=await l.getDimensions(c),A=y==="y",w=A?"top":"left",_=A?"bottom":"right",P=A?"clientHeight":"clientWidth",x=a.reference[S]+a.reference[y]-p[y]-a.floating[S],U=p[y]-a.reference[y],R=await(l.getOffsetParent==null?void 0:l.getOffsetParent(c));let E=R?R[P]:0;(!E||!await(l.isElement==null?void 0:l.isElement(R)))&&(E=i.floating[P]||a.floating[S]);const F=x/2-U/2,H=E/2-$[S]/2-1,X=hs(f[w],H),Z=hs(f[_],H),Q=E-$[S]-Z,de=E/2-$[S]/2+F,L=nm(X,de,Q),M=!u.arrow&&Ao(o)!=null&&de!==L&&a.reference[S]/2-(de<X?X:Z)-$[S]/2<0,D=M?de<X?de-X:de-Q:0;return{[y]:p[y]+D,data:{[y]:L,centerOffset:de-L-D,...M&&{alignmentOffset:D}},reset:M}}}),A0=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,s;const{placement:o,middlewareData:a,rects:l,initialPlacement:i,platform:u,elements:c}=t,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:$=!0,...A}=ts(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const w=gs(o),_=Cn(i),P=gs(i)===i,x=await(u.isRTL==null?void 0:u.isRTL(c.floating)),U=p||(P||!$?[ma(i)]:y0(i)),R=S!=="none";!p&&R&&U.push(...w0(i,$,S,x));const E=[i,...U],F=await u.detectOverflow(t,A),H=[];let X=((s=a.flip)==null?void 0:s.overflows)||[];if(d&&H.push(F[w]),f){const L=v0(o,l,x);H.push(F[L[0]],F[L[1]])}if(X=[...X,{placement:o,overflows:H}],!H.every(L=>L<=0)){var Z,Q;const L=(((Z=a.flip)==null?void 0:Z.index)||0)+1,M=E[L];if(M&&(!(f==="alignment"?_!==Cn(M):!1)||X.every(oe=>Cn(oe.placement)===_?oe.overflows[0]>0:!0)))return{data:{index:L,overflows:X},reset:{placement:M}};let D=(Q=X.filter(J=>J.overflows[0]<=0).sort((J,oe)=>J.overflows[1]-oe.overflows[1])[0])==null?void 0:Q.placement;if(!D)switch(y){case"bestFit":{var de;const J=(de=X.filter(oe=>{if(R){const pe=Cn(oe.placement);return pe===_||pe==="y"}return!0}).map(oe=>[oe.placement,oe.overflows.filter(pe=>pe>0).reduce((pe,Y)=>pe+Y,0)]).sort((oe,pe)=>oe[1]-pe[1])[0])==null?void 0:de[0];J&&(D=J);break}case"initialPlacement":D=i;break}if(o!==D)return{reset:{placement:D}}}return{}}}};function ed(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function td(e){return h0.some(t=>e[t]>=0)}const E0=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:s}=t,{strategy:o="referenceHidden",...a}=ts(e,t);switch(o){case"referenceHidden":{const l=await s.detectOverflow(t,{...a,elementContext:"reference"}),i=ed(l,n.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:td(i)}}}case"escaped":{const l=await s.detectOverflow(t,{...a,altBoundary:!0}),i=ed(l,n.floating);return{data:{escapedOffsets:i,escaped:td(i)}}}default:return{}}}}},om=new Set(["left","top"]);async function O0(e,t){const{placement:n,platform:s,elements:o}=e,a=await(s.isRTL==null?void 0:s.isRTL(o.floating)),l=gs(n),i=Ao(n),u=Cn(n)==="y",c=om.has(l)?-1:1,d=a&&u?-1:1,f=ts(t,e);let{mainAxis:p,crossAxis:y,alignmentAxis:S}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return i&&typeof S=="number"&&(y=i==="end"?S*-1:S),u?{x:y*d,y:p*c}:{x:p*c,y:y*d}}const P0=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,s;const{x:o,y:a,placement:l,middlewareData:i}=t,u=await O0(t,e);return l===((n=i.offset)==null?void 0:n.placement)&&(s=i.arrow)!=null&&s.alignmentOffset?{}:{x:o+u.x,y:a+u.y,data:{...u,placement:l}}}}},M0=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:s,placement:o,platform:a}=t,{mainAxis:l=!0,crossAxis:i=!1,limiter:u={fn:_=>{let{x:P,y:x}=_;return{x:P,y:x}}},...c}=ts(e,t),d={x:n,y:s},f=await a.detectOverflow(t,c),p=Cn(o),y=Zi(p);let S=d[y],$=d[p];const A=(_,P)=>nm(P+f[_==="y"?"top":"left"],P,P-f[_==="y"?"bottom":"right"]);l&&(S=A(y,S)),i&&($=A(p,$));const w=u.fn({...t,[y]:S,[p]:$});return{...w,data:{x:w.x-n,y:w.y-s,enabled:{[y]:l,[p]:i}}}}}},I0=function(e){return e===void 0&&(e={}),{options:e,fn(t){var n,s;const{x:o,y:a,placement:l,rects:i,middlewareData:u}=t,{offset:c=0,mainAxis:d=!0,crossAxis:f=!0}=ts(e,t),p={x:o,y:a},y=Cn(l),S=Zi(y);let $=p[S],A=p[y];const w=ts(c,t),_=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:(n=w.mainAxis)!=null?n:0,crossAxis:(s=w.crossAxis)!=null?s:0};if(d){const U=S==="y"?"height":"width",R=i.reference[S]-i.floating[U]+_.mainAxis,E=i.reference[S]+i.reference[U]-_.mainAxis;$<R?$=R:$>E&&($=E)}if(f){var P,x;const U=S==="y"?"width":"height",R=om.has(gs(l)),E=i.reference[y]-i.floating[U]+(R&&((P=u.offset)==null?void 0:P[y])||0)+(R?0:_.crossAxis),F=i.reference[y]+i.reference[U]+(R?0:((x=u.offset)==null?void 0:x[y])||0)-(R?_.crossAxis:0);A<E?A=E:A>F&&(A=F)}return{[S]:$,[y]:A}}}},R0=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:s,platform:o,elements:a}=t,{apply:l=()=>{},...i}=ts(e,t),u=await o.detectOverflow(t,i),c=gs(n),d=Ao(n),f=Cn(n)==="y",{width:p,height:y}=s.floating;let S,$;c==="top"||c==="bottom"?(S=c,$=d===(await(o.isRTL==null?void 0:o.isRTL(a.floating))?"start":"end")?"left":"right"):($=c,S=d==="end"?"top":"bottom");const A=y-u.top-u.bottom,w=p-u.left-u.right,_=hs(y-u[S],A),P=hs(p-u[$],w),x=t.middlewareData.shift,U=!x;let R=_,E=P;x!=null&&x.enabled.x&&(E=w),x!=null&&x.enabled.y&&(R=A),U&&!d&&(f?E=p-2*Kn(u.left,u.right):R=y-2*Kn(u.top,u.bottom)),await l({...t,availableWidth:E,availableHeight:R});const F=await o.getDimensions(a.floating);return p!==F.width||y!==F.height?{reset:{rects:!0}}:{}}}};function Ka(){return typeof window<"u"}function zs(e){return nu(e)?(e.nodeName||"").toLowerCase():"#document"}function Ut(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function rs(e){var t;return(t=(nu(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function nu(e){return Ka()?e instanceof Node||e instanceof Ut(e).Node:!1}function In(e){return Ka()?e instanceof Element||e instanceof Ut(e).Element:!1}function ks(e){return Ka()?e instanceof HTMLElement||e instanceof Ut(e).HTMLElement:!1}function nd(e){return!Ka()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ut(e).ShadowRoot}function Ga(e){const{overflow:t,overflowX:n,overflowY:s,display:o}=Rn(e);return/auto|scroll|overlay|hidden|clip/.test(t+s+n)&&o!=="inline"&&o!=="contents"}function L0(e){return/^(table|td|th)$/.test(zs(e))}function Ya(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const D0=/transform|translate|scale|rotate|perspective|filter/,N0=/paint|layout|strict|content/,Es=e=>!!e&&e!=="none";let $l;function su(e){const t=In(e)?Rn(e):e;return Es(t.transform)||Es(t.translate)||Es(t.scale)||Es(t.rotate)||Es(t.perspective)||!ou()&&(Es(t.backdropFilter)||Es(t.filter))||D0.test(t.willChange||"")||N0.test(t.contain||"")}function F0(e){let t=Bs(e);for(;ks(t)&&!fr(t);){if(su(t))return t;if(Ya(t))return null;t=Bs(t)}return null}function ou(){return $l==null&&($l=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),$l}function fr(e){return/^(html|body|#document)$/.test(zs(e))}function Rn(e){return Ut(e).getComputedStyle(e)}function Xa(e){return In(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Bs(e){if(zs(e)==="html")return e;const t=e.assignedSlot||e.parentNode||nd(e)&&e.host||rs(e);return nd(t)?t.host:t}function rm(e){const t=Bs(e);return fr(t)?(e.ownerDocument||e).body:ks(t)&&Ga(t)?t:rm(t)}function pr(e,t,n){var s;t===void 0&&(t=[]),n===void 0&&(n=!0);const o=rm(e),a=o===((s=e.ownerDocument)==null?void 0:s.body),l=Ut(o);if(a){const i=ui(l);return t.concat(l,l.visualViewport||[],Ga(o)?o:[],i&&n?pr(i):[])}else return t.concat(o,pr(o,[],n))}function ui(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function am(e){const t=Rn(e);let n=parseFloat(t.width)||0,s=parseFloat(t.height)||0;const o=ks(e),a=o?e.offsetWidth:n,l=o?e.offsetHeight:s,i=pa(n)!==a||pa(s)!==l;return i&&(n=a,s=l),{width:n,height:s,$:i}}function ru(e){return In(e)?e:e.contextElement}function ho(e){const t=ru(e);if(!ks(t))return Gn(1);const n=t.getBoundingClientRect(),{width:s,height:o,$:a}=am(t);let l=(a?pa(n.width):n.width)/s,i=(a?pa(n.height):n.height)/o;return(!l||!Number.isFinite(l))&&(l=1),(!i||!Number.isFinite(i))&&(i=1),{x:l,y:i}}const q0=Gn(0);function lm(e){const t=Ut(e);return!ou()||!t.visualViewport?q0:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function B0(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Ut(e)}function Vs(e,t,n,s){t===void 0&&(t=!1),n===void 0&&(n=!1);const o=e.getBoundingClientRect(),a=ru(e);let l=Gn(1);t&&(s?In(s)&&(l=ho(s)):l=ho(e));const i=B0(a,n,s)?lm(a):Gn(0);let u=(o.left+i.x)/l.x,c=(o.top+i.y)/l.y,d=o.width/l.x,f=o.height/l.y;if(a&&s){const p=Ut(a),y=In(s)?Ut(s):s;let S=p,$=ui(S);for(;$&&y!==S;){const A=ho($),w=$.getBoundingClientRect(),_=Rn($),P=w.left+($.clientLeft+parseFloat(_.paddingLeft))*A.x,x=w.top+($.clientTop+parseFloat(_.paddingTop))*A.y;u*=A.x,c*=A.y,d*=A.x,f*=A.y,u+=P,c+=x,S=Ut($),$=ui(S)}}return ha({width:d,height:f,x:u,y:c})}function Ja(e,t){const n=Xa(e).scrollLeft;return t?t.left+n:Vs(rs(e)).left+n}function im(e,t){const n=e.getBoundingClientRect(),s=n.left+t.scrollLeft-Ja(e,n),o=n.top+t.scrollTop;return{x:s,y:o}}function V0(e){let{elements:t,rect:n,offsetParent:s,strategy:o}=e;const a=o==="fixed",l=rs(s),i=t?Ya(t.floating):!1;if(s===l||i&&a)return n;let u={scrollLeft:0,scrollTop:0},c=Gn(1);const d=Gn(0),f=ks(s);if((f||!a)&&((zs(s)!=="body"||Ga(l))&&(u=Xa(s)),f)){const y=Vs(s);c=ho(s),d.x=y.x+s.clientLeft,d.y=y.y+s.clientTop}const p=l&&!f&&!a?im(l,u):Gn(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+p.x,y:n.y*c.y-u.scrollTop*c.y+d.y+p.y}}function U0(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function H0(e){const t=Xa(e),n=e.ownerDocument.body,s=Kn(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),o=Kn(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let a=-t.scrollLeft+Ja(e);const l=-t.scrollTop;return Rn(n).direction==="rtl"&&(a+=Kn(e.clientWidth,n.clientWidth)-s),{width:s,height:o,x:a,y:l}}const j0=25;function z0(e,t,n){n===void 0&&(n="viewport");const s=n==="layoutViewport",o=Ut(e),a=rs(e),l=o.visualViewport;let i=a.clientWidth,u=a.clientHeight,c=0,d=0;if(l){const p=!ou()||t==="fixed";s?p||(c=-l.offsetLeft,d=-l.offsetTop):(i=l.width,u=l.height,p&&(c=l.offsetLeft,d=l.offsetTop))}if(Ja(a)<=0){const p=a.ownerDocument,y=p.body,S=getComputedStyle(y),$=p.compatMode==="CSS1Compat"&&parseFloat(S.marginLeft)+parseFloat(S.marginRight)||0,A=Math.abs(a.clientWidth-y.clientWidth-$),w=getComputedStyle(a).scrollbarGutter==="stable both-edges"?A/2:A;w<=j0&&(i-=w)}return{width:i,height:u,x:c,y:d}}function W0(e,t){const n=Vs(e,!0,t==="fixed"),s=n.top+e.clientTop,o=n.left+e.clientLeft,a=ho(e),l=e.clientWidth*a.x,i=e.clientHeight*a.y,u=o*a.x,c=s*a.y;return{width:l,height:i,x:u,y:c}}function sd(e,t,n){let s;if(t==="viewport"||t==="layoutViewport")s=z0(e,n,t);else if(t==="document")s=H0(rs(e));else if(In(t))s=W0(t,n);else{const o=lm(e);s={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return ha(s)}function K0(e,t){const n=t.get(e);if(n)return n;let s=pr(e,[],!1).filter(i=>In(i)&&zs(i)!=="body"),o=null;const a=Rn(e).position==="fixed";let l=a?Bs(e):e;for(;In(l)&&!fr(l);){const i=Rn(l),u=su(l),c=o?o.position:a?"fixed":"";!u&&(c==="fixed"||c==="absolute"&&i.position==="static")?s=s.filter(f=>f!==l):o=i,l=Bs(l)}return t.set(e,s),s}function G0(e){let{element:t,boundary:n,rootBoundary:s,strategy:o}=e;const l=[...n==="clippingAncestors"?Ya(t)?[]:K0(t,this._c):[].concat(n),s],i=sd(t,l[0],o);let u=i.top,c=i.right,d=i.bottom,f=i.left;for(let p=1;p<l.length;p++){const y=sd(t,l[p],o);u=Kn(y.top,u),c=hs(y.right,c),d=hs(y.bottom,d),f=Kn(y.left,f)}return{width:c-f,height:d-u,x:f,y:u}}function Y0(e){const{width:t,height:n}=am(e);return{width:t,height:n}}function X0(e,t,n){const s=ks(t),o=rs(t),a=n==="fixed",l=Vs(e,!0,a,t);let i={scrollLeft:0,scrollTop:0};const u=Gn(0);if((s||!a)&&((zs(t)!=="body"||Ga(o))&&(i=Xa(t)),s)){const p=Vs(t,!0,a,t);u.x=p.x+t.clientLeft,u.y=p.y+t.clientTop}!s&&o&&(u.x=Ja(o));const c=o&&!s&&!a?im(o,i):Gn(0),d=l.left+i.scrollLeft-u.x-c.x,f=l.top+i.scrollTop-u.y-c.y;return{x:d,y:f,width:l.width,height:l.height}}function Tl(e){return Rn(e).position==="static"}function od(e,t){if(!ks(e)||Rn(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return rs(e)===n&&(n=n.ownerDocument.body),n}function um(e,t){const n=Ut(e);if(Ya(e))return n;if(!ks(e)){let o=Bs(e);for(;o&&!fr(o);){if(In(o)&&!Tl(o))return o;o=Bs(o)}return n}let s=od(e,t);for(;s&&L0(s)&&Tl(s);)s=od(s,t);return s&&fr(s)&&Tl(s)&&!su(s)?n:s||F0(e)||n}const J0=async function(e){const t=this.getOffsetParent||um,n=this.getDimensions,s=await n(e.floating);return{reference:X0(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:s.width,height:s.height}}};function Q0(e){return Rn(e).direction==="rtl"}const Z0={convertOffsetParentRelativeRectToViewportRelativeRect:V0,getDocumentElement:rs,getClippingRect:G0,getOffsetParent:um,getElementRects:J0,getClientRects:U0,getDimensions:Y0,getScale:ho,isElement:In,isRTL:Q0};function cm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ex(e,t,n){let s=null,o;const a=rs(e);function l(){var d;clearTimeout(o),(d=s)==null||d.disconnect(),s=null}function i(d,f){d===void 0&&(d=!1),f===void 0&&(f=1),l();const p=e.getBoundingClientRect(),{left:y,top:S,width:$,height:A}=p;if(d||t(),!$||!A)return;const w=qr(S),_=qr(a.clientWidth-(y+$)),P=qr(a.clientHeight-(S+A)),x=qr(y),R={rootMargin:-w+"px "+-_+"px "+-P+"px "+-x+"px",threshold:Kn(0,hs(1,f))||1};let E=!0;function F(H){const X=H[0].intersectionRatio;if(!cm(p,e.getBoundingClientRect()))return i();if(X!==f){if(!E)return i();X?i(!1,X):o=setTimeout(()=>{i(!1,1e-7)},1e3)}E=!1}try{s=new IntersectionObserver(F,{...R,root:a.ownerDocument})}catch{s=new IntersectionObserver(F,R)}s.observe(e)}const u=Ut(e),c=()=>i(n);return u.addEventListener("resize",c),i(!0),()=>{u.removeEventListener("resize",c),l()}}function tx(e,t,n,s){s===void 0&&(s={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:u=!1}=s,c=ru(e),d=o||a?[...c?pr(c):[],...t?pr(t):[]]:[];d.forEach(w=>{o&&w.addEventListener("scroll",n),a&&w.addEventListener("resize",n)});const f=c&&i?ex(c,n,a):null;let p=-1,y=null;l&&(y=new ResizeObserver(w=>{let[_]=w;_&&_.target===c&&y&&t&&(y.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var P;(P=y)==null||P.observe(t)})),n()}),c&&!u&&y.observe(c),t&&y.observe(t));let S,$=u?Vs(e):null;u&&A();function A(){const w=Vs(e);$&&!cm($,w)&&n(),$=w,S=requestAnimationFrame(A)}return n(),()=>{var w;d.forEach(_=>{o&&_.removeEventListener("scroll",n),a&&_.removeEventListener("resize",n)}),f==null||f(),(w=y)==null||w.disconnect(),y=null,u&&cancelAnimationFrame(S)}}const nx=P0,sx=M0,rd=A0,ox=R0,rx=E0,ax=T0,lx=I0,ix=(e,t,n)=>{const s=new Map,o=n??{},a={...Z0,...o.platform,_c:s};return $0(e,t,{...o,platform:a})};function ux(e){return e!=null&&typeof e=="object"&&"$el"in e}function ci(e){if(ux(e)){const t=e.$el;return nu(t)&&zs(t)==="#comment"?null:t}return e}function ro(e){return typeof e=="function"?e():r(e)}function cx(e){return{name:"arrow",options:e,fn(t){const n=ci(ro(e.element));return n==null?{}:ax({element:n,padding:e.padding}).fn(t)}}}function dm(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ad(e,t){const n=dm(e);return Math.round(t*n)/n}function dx(e,t,n){n===void 0&&(n={});const s=n.whileElementsMounted,o=ae(()=>{var E;return(E=ro(n.open))!=null?E:!0}),a=ae(()=>ro(n.middleware)),l=ae(()=>{var E;return(E=ro(n.placement))!=null?E:"bottom"}),i=ae(()=>{var E;return(E=ro(n.strategy))!=null?E:"absolute"}),u=ae(()=>{var E;return(E=ro(n.transform))!=null?E:!0}),c=ae(()=>ci(e.value)),d=ae(()=>ci(t.value)),f=K(0),p=K(0),y=K(i.value),S=K(l.value),$=Ia({}),A=K(!1),w=ae(()=>{const E={position:y.value,left:"0",top:"0"};if(!d.value)return E;const F=ad(d.value,f.value),H=ad(d.value,p.value);return u.value?{...E,transform:"translate("+F+"px, "+H+"px)",...dm(d.value)>=1.5&&{willChange:"transform"}}:{position:y.value,left:F+"px",top:H+"px"}});let _;function P(){if(c.value==null||d.value==null)return;const E=o.value;ix(c.value,d.value,{middleware:a.value,placement:l.value,strategy:i.value}).then(F=>{f.value=F.x,p.value=F.y,y.value=F.strategy,S.value=F.placement,$.value=F.middlewareData,A.value=E!==!1})}function x(){typeof _=="function"&&(_(),_=void 0)}function U(){if(x(),s===void 0){P();return}if(c.value!=null&&d.value!=null){_=s(c.value,d.value,P);return}}function R(){o.value||(A.value=!1)}return Re([a,l,i,o],P,{flush:"sync"}),Re([c,d],U,{flush:"sync"}),Re(o,R,{flush:"sync"}),Ta()&&xi(x),{x:Js(f),y:Js(p),strategy:Js(y),placement:Js(S),middlewareData:Js($),isPositioned:Js(A),floatingStyles:w,update:P}}const fx=["dir"],fm={side:"bottom",sideOffset:0,sideFlip:!0,align:"center",alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:"partial",hideWhenDetached:!1,positionStrategy:"fixed",updatePositionStrategy:"optimized",prioritizePosition:!1},[$3,px]=Ct("PopperContent");var mx=re({inheritAttrs:!1,__name:"PopperContent",props:pf({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...fm}),emits:["placed"],setup(e,{emit:t}){const n=e,s=t,o=tm(),{forwardRef:a,currentElement:l}=De(),i=To(ae(()=>n.dir)),u=K(),c=K(),{width:d,height:f}=u1(c),p=ae(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),y=ae(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),S=ae(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),$=ae(()=>({padding:y.value,boundary:S.value.filter(p0),altBoundary:S.value.length>0})),A=ae(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),w=ae(()=>[nx({mainAxis:n.sideOffset+f.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&rd({...$.value,...A.value}),n.avoidCollisions&&sx({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?lx():void 0,...$.value}),!n.prioritizePosition&&n.avoidCollisions&&rd({...$.value,...A.value}),ox({...$.value,apply:({elements:de,rects:L,availableWidth:M,availableHeight:D})=>{const{width:J,height:oe}=L.reference,pe=de.floating.style;pe.setProperty("--reka-popper-available-width",`${M}px`),pe.setProperty("--reka-popper-available-height",`${D}px`),pe.setProperty("--reka-popper-anchor-width",`${J}px`),pe.setProperty("--reka-popper-anchor-height",`${oe}px`)}}),c.value&&cx({element:c.value,padding:n.arrowPadding}),m0({arrowWidth:d.value,arrowHeight:f.value,dir:i.value}),n.hideWhenDetached&&rx({strategy:"referenceHidden",...$.value})]),_=ae(()=>n.reference??o.anchor.value),{floatingStyles:P,placement:x,isPositioned:U,middlewareData:R}=dx(_,u,{strategy:n.positionStrategy,placement:p,whileElementsMounted:(...de)=>tx(...de,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:w}),E=ae(()=>li(x.value)[0]),F=ae(()=>li(x.value)[1]);sf(()=>{U.value&&s("placed")});const H=ae(()=>{var L;const de=((L=R.value.arrow)==null?void 0:L.centerOffset)!==0;return n.hideShiftedArrow&&de}),X=K("");Zn(()=>{l.value&&(X.value=window.getComputedStyle(l.value).zIndex)});const Z=ae(()=>{var de;return((de=R.value.arrow)==null?void 0:de.x)??0}),Q=ae(()=>{var de;return((de=R.value.arrow)==null?void 0:de.y)??0});return px({placedSide:E,onArrowChange:de=>c.value=de,arrowX:Z,arrowY:Q,shouldHideArrow:H}),(de,L)=>{var M,D,J;return h(),B("div",{ref_key:"floatingRef",ref:u,"data-reka-popper-content-wrapper":"",dir:r(i),style:tn({...r(P),transform:r(U)?r(P).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:X.value,"--reka-popper-transform-origin":[(M=r(R).transformOrigin)==null?void 0:M.x,(D=r(R).transformOrigin)==null?void 0:D.y].join(" "),...((J=r(R).hide)==null?void 0:J.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}})},[n.memoDependencies?Rg([n.asChild,n.as,E.value,F.value,r(U),...Object.values(de.$attrs),...n.memoDependencies],()=>(h(),z(r(He),Ee({key:0,ref:r(a)},de.$attrs,{"as-child":n.asChild,as:n.as,"data-side":E.value,"data-align":F.value,style:{animation:r(U)?void 0:"none"}}),{default:g(()=>[ce(de.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])),L,0):(h(),z(r(He),Ee({key:1,ref:r(a)},de.$attrs,{"as-child":n.asChild,as:n.as,"data-side":E.value,"data-align":F.value,dir:r(i),style:{animation:r(U)?void 0:"none"}}),{default:g(()=>[ce(de.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","dir","style"]))],12,fx)}}}),au=mx;function hx(e){const t=Cr({nonce:K()});return ae(()=>{var n;return(e==null?void 0:e.value)||((n=t.nonce)==null?void 0:n.value)})}const[gx,vx]=Ct("RovingFocusGroup");var yx=re({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(e,{expose:t,emit:n}){const s=e,o=n,{loop:a,orientation:l,dir:i}=qt(s),u=To(i),c=Pn(s,"currentTabStopId",o,{defaultValue:s.defaultCurrentTabStopId,passive:s.currentTabStopId===void 0}),d=K(!1),f=K(!1),p=K(0),{getItems:y,CollectionSlot:S}=ws({isProvider:!0});function $(w){const _=!f.value;if(w.currentTarget&&w.target===w.currentTarget&&_&&!d.value){const P=new CustomEvent(o0,r0);if(w.currentTarget.dispatchEvent(P),o("entryFocus",P),!P.defaultPrevented){const x=y().map(H=>H.ref).filter(H=>H.dataset.disabled!==""),U=x.find(H=>H.getAttribute("data-active")===""),R=x.find(H=>H.getAttribute("data-highlighted")===""),E=x.find(H=>H.id===c.value),F=[U,R,E,...x].filter(Boolean);em(F,s.preventScrollOnEntryFocus)}}f.value=!1}function A(){setTimeout(()=>{f.value=!1},1)}return t({getItems:y}),vx({loop:a,dir:u,orientation:l,currentTabStopId:c,onItemFocus:w=>{c.value=w},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{p.value++},onFocusableItemRemove:()=>{p.value--}}),(w,_)=>(h(),z(r(S),null,{default:g(()=>[m(r(He),{tabindex:d.value||p.value===0?-1:0,"data-orientation":r(l),as:w.as,"as-child":w.asChild,dir:r(u),style:{outline:"none"},onMousedown:_[0]||(_[0]=P=>f.value=!0),onMouseup:A,onFocus:$,onBlur:_[1]||(_[1]=P=>d.value=!1)},{default:g(()=>[ce(w.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),pm=yx,bx=re({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=gx(),s=Mn(),o=ae(()=>t.tabStopId||s),a=ae(()=>n.currentTabStopId.value===o.value),{getItems:l,CollectionItem:i}=ws();rt(()=>{t.focusable&&n.onFocusableItemAdd()}),fn(()=>{t.focusable&&n.onFocusableItemRemove()}),Re(()=>t.focusable,(c,d)=>{c!==d&&(c?n.onFocusableItemAdd():n.onFocusableItemRemove())});function u(c){if(c.key==="Tab"&&c.shiftKey){n.onItemShiftTab();return}if(c.target!==c.currentTarget)return;const d=i0(c,n.orientation.value,n.dir.value);if(d!==void 0){if(c.metaKey||c.ctrlKey||c.altKey||!t.allowShiftKey&&c.shiftKey)return;c.preventDefault();let f=[...l().map(p=>p.ref).filter(p=>p.dataset.disabled!=="")];if(d==="last")f.reverse();else if(d==="prev"||d==="next"){d==="prev"&&f.reverse();const p=f.indexOf(c.currentTarget);f=n.loop.value?u0(f,p+1):f.slice(p+1)}it(()=>em(f))}}return(c,d)=>(h(),z(r(i),null,{default:g(()=>[m(r(He),{tabindex:a.value?0:-1,"data-orientation":r(n).orientation.value,"data-active":c.active?"":void 0,"data-disabled":c.focusable?void 0:"",as:c.as,"as-child":c.asChild,onMousedown:d[0]||(d[0]=f=>{c.focusable?r(n).onItemFocus(o.value):f.preventDefault()}),onFocus:d[1]||(d[1]=f=>r(n).onItemFocus(o.value)),onKeydown:u},{default:g(()=>[ce(c.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),mm=bx;const[_x]=Ct("CheckboxGroupRoot");function lu(e){return e==="indeterminate"}function hm(e){return lu(e)?"indeterminate":e?"checked":"unchecked"}const[xx,wx]=Ct("CheckboxRoot");var kx=re({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{forwardRef:o,currentElement:a}=De(),l=_x(null),i=Pn(n,"modelValue",s,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),u=ae(()=>(l==null?void 0:l.disabled.value)||n.disabled),c=ae(()=>dr(i.value,n.trueValue)),d=ae(()=>xo(l==null?void 0:l.modelValue.value)?i.value==="indeterminate"?"indeterminate":c.value:Uc(l.modelValue.value,n.value));function f(){if(xo(l==null?void 0:l.modelValue.value))i.value==="indeterminate"?i.value=n.trueValue:i.value=c.value?n.falseValue:n.trueValue;else{const A=[...l.modelValue.value||[]];if(Uc(A,n.value)){const w=A.findIndex(_=>dr(_,n.value));A.splice(w,1)}else A.push(n.value);l.modelValue.value=A}}const p=Yi(a),y=zp(),S=Qh(),$=ae(()=>{var A;if(!S["aria-label"])return n.id&&a.value?(A=document.querySelector(`[for="${n.id}"]`))==null?void 0:A.innerText:void 0});return wx({disabled:u,state:d}),(A,w)=>{var _,P;return h(),B(me,null,[(h(),z(_r((_=r(l))!=null&&_.rovingFocus.value?r(mm):r(He)),Ee({...A.$attrs,...r(y)},{id:A.id,ref:r(o),role:"checkbox","as-child":A.asChild,as:A.as,type:A.as==="button"?"button":void 0,"aria-checked":r(lu)(d.value)?"mixed":d.value,"aria-required":A.required,"aria-label":A.$attrs["aria-label"]||$.value,"data-state":r(hm)(d.value),"data-disabled":u.value?"":void 0,disabled:u.value,focusable:(P=r(l))!=null&&P.rovingFocus.value?!u.value:void 0,onKeydown:An(Ie(()=>{},["prevent"]),["enter"]),onClick:f}),{default:g(()=>[ce(A.$slots,"default",{modelValue:r(i),state:d.value})]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"])),r(p)&&A.name&&!r(l)?(h(),z(r(Zp),Ee({key:0,type:"checkbox",checked:!!d.value,name:A.name,value:A.value,disabled:u.value,required:A.required},r(y)),null,16,["checked","name","value","disabled","required"])):se("v-if",!0)],64)}}}),Cx=kx,Sx=re({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const{forwardRef:t}=De(),n=xx();return(s,o)=>(h(),z(r(js),{present:s.forceMount||r(lu)(r(n).state.value)||r(n).state.value===!0},{default:g(()=>[m(r(He),Ee({ref:r(t),"data-state":r(hm)(r(n).state.value),"data-disabled":r(n).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":s.asChild,as:s.as},s.$attrs),{default:g(()=>[ce(s.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),$x=Sx,Tx=re({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Qi),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Ax=Tx;function Ex(){const e=K(!1);return rt(()=>{da("keydown",()=>{e.value=!0},{capture:!0,passive:!0}),da(["pointerdown","pointermove"],()=>{e.value=!1},{capture:!0,passive:!0})}),e}const Ox=Vp(Ex),[Qa,Px]=Ct(["MenuRoot","MenuSub"],"MenuContext"),[iu,Mx]=Ct("MenuRoot");var Ix=re({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,s=t,{modal:o,dir:a}=qt(n),l=To(a),i=Pn(n,"open",s),u=K(),c=Ox();return Px({open:i,onOpenChange:d=>{i.value=d},content:u,onContentChange:d=>{u.value=d}}),Mx({onClose:()=>{i.value=!1},isUsingKeyboardRef:c,dir:l,modal:o}),(d,f)=>(h(),z(r(Ji),null,{default:g(()=>[ce(d.$slots,"default")]),_:3}))}}),Rx=Ix;const[gm,Lx]=Ct("MenuContent");var Dx=re({__name:"MenuContentImpl",props:pf({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...fm}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(e,{emit:t}){const n=e,s=t,o=Qa(),a=iu(),{trapFocus:l,disableOutsidePointerEvents:i,loop:u}=qt(n);Gi(),Va(i.value);const c=K(""),d=K(0),f=K(0),p=K(null),y=K("right"),S=K(0),$=K(null),A=K(),{forwardRef:w,currentElement:_}=De(),{handleTypeaheadSearch:P}=Xi(),x=K();function U(M){const D=jc(M,x.value||xt(),_.value,{loop:u.value,arrowKeyOptions:"vertical",dir:a==null?void 0:a.dir.value,focus:!1,attributeName:"[data-reka-collection-item]:not([data-disabled])"});D&&(x.value=D,D.scrollIntoView({block:"nearest"}))}function R(){x.value&&x.value.click()}const E=K(),F=K();Re(x,M=>{if(F.value&&(M===void 0||M!==F.value.trigger.value)){if(M===void 0)return;F.value.onOpenChange(!1),F.value=void 0}}),Re(_,M=>{o.onContentChange(M)}),fn(()=>{window.clearTimeout(d.value)});function H(M){var J,oe;return y.value===((J=p.value)==null?void 0:J.side)&&D1(M,(oe=p.value)==null?void 0:oe.area)}async function X(M){var D;s("openAutoFocus",M),!M.defaultPrevented&&(M.preventDefault(),(D=_.value)==null||D.focus({preventScroll:!0}))}function Z(M){var Ue;if(M.defaultPrevented)return;const D=M.target,J=D.closest("[data-reka-menu-content]")===M.currentTarget,oe=["input","textarea"].includes(D.tagName.toLowerCase()),pe=M.ctrlKey||M.altKey||M.metaKey,Y=M.key.length===1,he=jc(M,xt(),_.value,{loop:u.value,arrowKeyOptions:"vertical",dir:a==null?void 0:a.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(he)return he==null?void 0:he.focus();if(M.code==="Space")return;const ee=((Ue=A.value)==null?void 0:Ue.getItems())??[];if(J&&(M.key==="Tab"&&a.modal.value&&M.preventDefault(),!pe&&Y&&!oe&&P(M.key,ee)),M.target!==_.value||!R1.includes(M.key))return;M.preventDefault();const Ye=[...ee.map(ve=>ve.ref)];Yp.includes(M.key)&&Ye.reverse(),ai(Ye)}function Q(M){var D,J;(J=(D=M==null?void 0:M.currentTarget)==null?void 0:D.contains)!=null&&J.call(D,M.target)||(window.clearTimeout(d.value),c.value="")}function de(M){var oe;if(!fa(M))return;const D=M.target,J=S.value!==M.clientX;if((oe=M==null?void 0:M.currentTarget)!=null&&oe.contains(D)&&J){const pe=M.clientX>S.value?"right":"left";y.value=pe,S.value=M.clientX}}function L(M){fa(M)&&E.value&&E.value.focus()}return Lx({onItemEnter:M=>!!H(M),onItemLeave:M=>{var J,oe;return H(M)?!0:(["INPUT","TEXTAREA"].includes(((J=xt())==null?void 0:J.tagName)||"")||(oe=_.value)==null||oe.focus(),$.value=null,!1)},onTriggerLeave:M=>!!H(M),searchRef:c,highlightedElement:x,onKeydownNavigation:U,onKeydownEnter:R,filterElement:E,onFilterElementChange:M=>{E.value=M},activeSubmenuContext:F,pointerGraceTimerRef:f,onPointerGraceIntentChange:M=>{p.value=M}}),(M,D)=>(h(),z(r(za),{"as-child":"",trapped:r(l),onMountAutoFocus:X,onUnmountAutoFocus:D[7]||(D[7]=J=>s("closeAutoFocus",J))},{default:g(()=>[m(r(ja),{"as-child":"","disable-outside-pointer-events":r(i),onEscapeKeyDown:D[2]||(D[2]=J=>s("escapeKeyDown",J)),onPointerDownOutside:D[3]||(D[3]=J=>s("pointerDownOutside",J)),onFocusOutside:D[4]||(D[4]=J=>s("focusOutside",J)),onInteractOutside:D[5]||(D[5]=J=>s("interactOutside",J)),onDismiss:D[6]||(D[6]=J=>s("dismiss"))},{default:g(()=>[m(r(pm),{ref_key:"rovingFocusGroupRef",ref:A,"current-tab-stop-id":$.value,"onUpdate:currentTabStopId":D[0]||(D[0]=J=>$.value=J),"as-child":"",orientation:"vertical",dir:r(a).dir.value,loop:r(u),onEntryFocus:D[1]||(D[1]=J=>{s("entryFocus",J),r(a).isUsingKeyboardRef.value||J.preventDefault()})},{default:g(()=>[m(r(au),{ref:r(w),role:"menu",as:M.as,"as-child":M.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":r(Xp)(r(o).open.value),dir:r(a).dir.value,side:M.side,"side-offset":M.sideOffset,align:M.align,"align-offset":M.alignOffset,"avoid-collisions":M.avoidCollisions,"collision-boundary":M.collisionBoundary,"collision-padding":M.collisionPadding,"arrow-padding":M.arrowPadding,"prioritize-position":M.prioritizePosition,"position-strategy":M.positionStrategy,"update-position-strategy":M.updatePositionStrategy,sticky:M.sticky,"hide-when-detached":M.hideWhenDetached,reference:M.reference,onKeydown:Z,onBlur:Q,onPointermove:de,onPointerenter:L},{default:g(()=>[ce(M.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),vm=Dx,Nx=re({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,n=gm(),{forwardRef:s,currentElement:o}=De(),{CollectionItem:a}=ws(),l=K(!1),i=ae(()=>l.value||o.value!=null&&n.highlightedElement.value===o.value);async function u(d){var f;if(!(d.defaultPrevented||!fa(d))){if(t.disabled)n.onItemLeave(d);else if(!n.onItemEnter(d)){const y=d.currentTarget;n.highlightedElement.value=y,["INPUT","TEXTAREA"].includes(((f=xt())==null?void 0:f.tagName)||"")||y.focus({preventScroll:!0})}}}async function c(d){if(await it(),d.defaultPrevented||!fa(d)||n.highlightedElement.value!==o.value)return;!n.onItemLeave(d)&&n.highlightedElement.value===o.value&&(n.highlightedElement.value=void 0)}return(d,f)=>(h(),z(r(a),{value:{textValue:d.textValue}},{default:g(()=>[m(r(He),Ee({ref:r(s),role:"menuitem",tabindex:"-1"},d.$attrs,{as:d.as,"as-child":d.asChild,"aria-disabled":d.disabled||void 0,"data-disabled":d.disabled?"":void 0,"data-highlighted":i.value?"":void 0,onPointermove:u,onPointerleave:c,onFocus:f[0]||(f[0]=async p=>{await it(),!(p.defaultPrevented||d.disabled)&&(l.value=!0,r(n).highlightedElement.value=p.currentTarget)}),onBlur:f[1]||(f[1]=async p=>{await it(),!p.defaultPrevented&&(l.value=!1)})}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),Fx=Nx,qx=re({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,{forwardRef:o,currentElement:a}=De(),l=iu(),i=gm(),u=K(!1);async function c(){const d=a.value;if(!n.disabled&&d){const f=new CustomEvent(M1,{bubbles:!0,cancelable:!0});s("select",f),await it(),f.defaultPrevented?u.value=!1:l.onClose()}}return(d,f)=>(h(),z(Fx,Ee(n,{ref:r(o),onClick:c,onPointerdown:f[0]||(f[0]=()=>{u.value=!0}),onPointerup:f[1]||(f[1]=async p=>{var y;await it(),!p.defaultPrevented&&(u.value||(y=p.currentTarget)==null||y.click())}),onKeydown:f[2]||(f[2]=async p=>{var S;const y=r(i).searchRef.value!=="";d.disabled||y&&p.key===" "||r(ri).includes(p.key)&&((S=p.currentTarget)==null||S.click(),p.preventDefault())})}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16))}}),Bx=qx,Vx=re({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=Tt(n,s),a=Qa(),{forwardRef:l,currentElement:i}=De();return Ha(i),(u,c)=>(h(),z(vm,Ee(r(o),{ref:r(l),"trap-focus":r(a).open.value,"disable-outside-pointer-events":r(a).open.value,"disable-outside-scroll":!0,onDismiss:c[0]||(c[0]=d=>r(a).onOpenChange(!1)),onFocusOutside:c[1]||(c[1]=Ie(d=>s("focusOutside",d),["prevent"]))}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),Ux=Vx,Hx=re({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const o=Tt(e,t),a=Qa();return(l,i)=>(h(),z(vm,Ee(r(o),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:i[0]||(i[0]=u=>r(a).onOpenChange(!1))}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16))}}),jx=Hx,zx=re({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const o=Tt(e,t),a=Qa(),l=iu();return(i,u)=>(h(),z(r(js),{present:i.forceMount||r(a).open.value},{default:g(()=>[r(l).modal.value?(h(),z(Ux,$t(Ee({key:0},{...i.$attrs,...r(o)})),{default:g(()=>[ce(i.$slots,"default")]),_:3},16)):(h(),z(jx,$t(Ee({key:1},{...i.$attrs,...r(o)})),{default:g(()=>[ce(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Wx=zx,Kx=re({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Gx=Kx,Yx=re({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(He),Ee(t,{role:"separator","aria-orientation":"horizontal"}),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Xx=Yx;const[$r,Jx]=Ct("PopoverRoot");var Qx=re({__name:"PopoverRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:["update:open"],setup(e,{emit:t}){const n=e,s=t,{modal:o}=qt(n),a=Pn(n,"open",s,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Jx({contentId:"",triggerId:"",modal:o,open:a,onOpenChange:u=>{a.value=u},onOpenToggle:()=>{a.value=!a.value},triggerElement:K(),hasCustomAnchor:K(!1)}),(u,c)=>(h(),z(r(Ji),null,{default:g(()=>[ce(u.$slots,"default",{open:r(a),close:()=>a.value=!1})]),_:3}))}}),Zx=Qx,ew=re({__name:"PopoverContentImpl",props:{trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=Ua(z_(n,"trapFocus","disableOutsidePointerEvents")),{forwardRef:a}=De(),l=$r();return Gi(),(i,u)=>(h(),z(r(za),{"as-child":"",loop:"",trapped:i.trapFocus,onMountAutoFocus:u[5]||(u[5]=c=>s("openAutoFocus",c)),onUnmountAutoFocus:u[6]||(u[6]=c=>s("closeAutoFocus",c))},{default:g(()=>[m(r(ja),{"as-child":"","disable-outside-pointer-events":i.disableOutsidePointerEvents,onPointerDownOutside:u[0]||(u[0]=c=>s("pointerDownOutside",c)),onInteractOutside:u[1]||(u[1]=c=>s("interactOutside",c)),onEscapeKeyDown:u[2]||(u[2]=c=>s("escapeKeyDown",c)),onFocusOutside:u[3]||(u[3]=c=>s("focusOutside",c)),onDismiss:u[4]||(u[4]=c=>r(l).onOpenChange(!1))},{default:g(()=>[m(r(au),Ee(r(o),{id:r(l).contentId,ref:r(a),"data-state":r(l).open.value?"open":"closed","aria-labelledby":r(l).triggerId,style:{"--reka-popover-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-popover-content-available-width":"var(--reka-popper-available-width)","--reka-popover-content-available-height":"var(--reka-popper-available-height)","--reka-popover-trigger-width":"var(--reka-popper-anchor-width)","--reka-popover-trigger-height":"var(--reka-popper-anchor-height)"},role:"dialog"}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16,["id","data-state","aria-labelledby"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),ym=ew,tw=re({__name:"PopoverContentModal",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=$r(),a=K(!1);Va(!0);const l=Tt(n,s),{forwardRef:i,currentElement:u}=De();return Ha(u),(c,d)=>(h(),z(ym,Ee(r(l),{ref:r(i),"trap-focus":r(o).open.value,"disable-outside-pointer-events":"",onCloseAutoFocus:d[0]||(d[0]=Ie(f=>{var p;s("closeAutoFocus",f),a.value||(p=r(o).triggerElement.value)==null||p.focus()},["prevent"])),onPointerDownOutside:d[1]||(d[1]=f=>{s("pointerDownOutside",f);const p=f.detail.originalEvent,y=p.button===0&&p.ctrlKey===!0,S=p.button===2||y;a.value=S}),onFocusOutside:d[2]||(d[2]=Ie(()=>{},["prevent"]))}),{default:g(()=>[ce(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),nw=tw,sw=re({__name:"PopoverContentNonModal",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=$r(),a=K(!1),l=K(!1),i=Tt(n,s);return(u,c)=>(h(),z(ym,Ee(r(i),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:c[0]||(c[0]=d=>{var f;s("closeAutoFocus",d),d.defaultPrevented||(a.value||(f=r(o).triggerElement.value)==null||f.focus(),d.preventDefault()),a.value=!1,l.value=!1}),onInteractOutside:c[1]||(c[1]=async d=>{var y;s("interactOutside",d),d.defaultPrevented||(a.value=!0,d.detail.originalEvent.type==="pointerdown"&&(l.value=!0));const f=d.target;((y=r(o).triggerElement.value)==null?void 0:y.contains(f))&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&l.value&&d.preventDefault()})}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16))}}),ow=sw,rw=re({__name:"PopoverContent",props:{forceMount:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=$r(),a=Tt(n,s),{forwardRef:l}=De();return o.contentId||(o.contentId=Mn(void 0,"reka-popover-content")),(i,u)=>(h(),z(r(js),{present:i.forceMount||r(o).open.value},{default:g(()=>[r(o).modal.value?(h(),z(nw,Ee({key:0},r(a),{ref:r(l)}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16)):(h(),z(ow,Ee({key:1},r(a),{ref:r(l)}),{default:g(()=>[ce(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),aw=rw,lw=re({__name:"PopoverPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),iw=lw,uw=re({__name:"PopoverTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=$r(),{forwardRef:s,currentElement:o}=De();return n.triggerId||(n.triggerId=Mn(void 0,"reka-popover-trigger")),rt(()=>{n.triggerElement.value=o.value}),(a,l)=>(h(),z(_r(r(n).hasCustomAnchor.value?r(He):r(Qi)),{"as-child":""},{default:g(()=>[m(r(He),{id:r(n).triggerId,ref:r(s),type:a.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":r(n).open.value,"aria-controls":r(n).contentId,"data-state":r(n).open.value?"open":"closed",as:a.as,"as-child":t.asChild,onClick:r(n).onOpenToggle},{default:g(()=>[ce(a.$slots,"default")]),_:3},8,["id","type","aria-expanded","aria-controls","data-state","as","as-child","onClick"])]),_:3}))}}),cw=uw;const[bm,dw]=Ct("DropdownMenuRoot");var fw=re({__name:"DropdownMenuRoot",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(e,{emit:t}){const n=e,s=t;De();const o=Pn(n,"open",s,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=K(),{modal:l,dir:i}=qt(n),u=To(i);return dw({open:o,onOpenChange:c=>{o.value=c},onOpenToggle:()=>{o.value=!o.value},triggerId:"",triggerElement:a,contentId:"",modal:l,dir:u}),(c,d)=>(h(),z(r(Rx),{open:r(o),"onUpdate:open":d[0]||(d[0]=f=>ut(o)?o.value=f:null),dir:r(u),modal:r(l)},{default:g(()=>[ce(c.$slots,"default",{open:r(o)})]),_:3},8,["open","dir","modal"]))}}),pw=fw,mw=re({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const o=Tt(e,t);De();const a=bm(),l=K(!1);function i(u){u.defaultPrevented||(l.value||setTimeout(()=>{var c;(c=a.triggerElement.value)==null||c.focus()},0),l.value=!1,u.preventDefault())}return a.contentId||(a.contentId=Mn(void 0,"reka-dropdown-menu-content")),(u,c)=>{var d;return h(),z(r(Wx),Ee(r(o),{id:r(a).contentId,"aria-labelledby":(d=r(a))==null?void 0:d.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-dropdown-menu-content-available-width":"var(--reka-popper-available-width)","--reka-dropdown-menu-content-available-height":"var(--reka-popper-available-height)","--reka-dropdown-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-dropdown-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:i,onInteractOutside:c[0]||(c[0]=f=>{var $;if(f.defaultPrevented)return;const p=f.detail.originalEvent,y=p.button===0&&p.ctrlKey===!0,S=p.button===2||y;(!r(a).modal.value||S)&&(l.value=!0),($=r(a).triggerElement.value)!=null&&$.contains(f.target)&&f.preventDefault()})}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16,["id","aria-labelledby"])}}}),hw=mw,gw=re({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,o=Sr(t);return De(),(a,l)=>(h(),z(r(Bx),$t(Mt({...n,...r(o)})),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}}),vw=gw,yw=re({__name:"DropdownMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Gx),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),bw=yw,_w=re({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e;return De(),(n,s)=>(h(),z(r(Xx),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),xw=_w,ww=re({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=bm(),{forwardRef:s,currentElement:o}=De();return rt(()=>{n.triggerElement=o}),n.triggerId||(n.triggerId=Mn(void 0,"reka-dropdown-menu-trigger")),(a,l)=>(h(),z(r(Ax),{"as-child":""},{default:g(()=>[m(r(He),{id:r(n).triggerId,ref:r(s),type:a.as==="button"?"button":void 0,"as-child":t.asChild,as:a.as,"aria-haspopup":"menu","aria-expanded":r(n).open.value,"aria-controls":r(n).open.value?r(n).contentId:void 0,"data-disabled":a.disabled?"":void 0,disabled:a.disabled,"data-state":r(n).open.value?"open":"closed",onClick:l[0]||(l[0]=async i=>{var u;!a.disabled&&i.button===0&&i.ctrlKey===!1&&((u=r(n))==null||u.onOpenToggle(),await it(),r(n).open.value&&i.preventDefault())}),onKeydown:l[1]||(l[1]=An(i=>{a.disabled||(["Enter"," "].includes(i.key)&&r(n).onOpenToggle(),i.key==="ArrowDown"&&r(n).onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())},["enter","space","arrow-down"]))},{default:g(()=>[ce(a.$slots,"default")]),_:3},8,["id","type","as-child","as","aria-expanded","aria-controls","data-disabled","disabled","data-state"])]),_:3}))}}),kw=ww;const Cw=[" ","Enter","ArrowUp","ArrowDown"],Sw=[" ","Enter"],on=10;function mr(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(s=>di(s,t,n)):di(e,t,n)}function di(e,t,n){return e===void 0||t===void 0?!1:typeof e=="string"?e===t:typeof n=="function"?n(e,t):typeof n=="string"?(e==null?void 0:e[n])===(t==null?void 0:t[n]):dr(e,t)}function $w(e){return e==null||e===""||Array.isArray(e)&&e.length===0}const Tw=["value"],[Cs,_m]=Ct("SelectRoot");var Aw=re({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:""},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(e,{emit:t}){const n=e,s=t,{required:o,disabled:a,multiple:l,dir:i}=qt(n),u=Pn(n,"modelValue",s,{defaultValue:n.defaultValue??(l.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),c=Pn(n,"open",s,{defaultValue:n.defaultOpen,passive:n.open===void 0}),d=K(),f=K(),p=K({x:0,y:0}),y=ae(()=>{var x;return l.value&&Array.isArray(u.value)?((x=u.value)==null?void 0:x.length)===0:xo(u.value)});ws({isProvider:!0});const S=To(i),$=Yi(d),A=K(new Set),w=ae(()=>Array.from(A.value).map(x=>x.value).join(";"));function _(x){if(l.value){const U=Array.isArray(u.value)?[...u.value]:[],R=U.findIndex(E=>di(E,x,n.by));R===-1?U.push(x):U.splice(R,1),u.value=[...U]}else u.value=x}function P(x){return Array.from(A.value).find(U=>mr(x,U.value,n.by))}return _m({triggerElement:d,onTriggerChange:x=>{d.value=x},valueElement:f,onValueElementChange:x=>{f.value=x},contentId:"",modelValue:u,onValueChange:_,by:n.by,open:c,multiple:l,required:o,onOpenChange:x=>{c.value=x},dir:S,triggerPointerDownPosRef:p,disabled:a,isEmptyModelValue:y,optionsSet:A,onOptionAdd:x=>{const U=P(x.value);U&&A.value.delete(U),A.value.add(x)},onOptionRemove:x=>{const U=P(x.value);U&&A.value.delete(U)}}),(x,U)=>(h(),z(r(Ji),null,{default:g(()=>[ce(x.$slots,"default",{modelValue:r(u),open:r(c)}),r($)&&x.name?(h(),z(Pw,{key:w.value,"aria-hidden":"true",tabindex:"-1",multiple:r(l),required:r(o),name:x.name,autocomplete:x.autocomplete,disabled:r(a),value:r(u)},{default:g(()=>[r(xo)(r(u))?(h(),B("option",{key:0,value:x.nullableValue},null,8,Tw)):se("v-if",!0),(h(!0),B(me,null,Pe(Array.from(A.value),R=>(h(),B("option",Ee({key:R.value??""},{ref_for:!0},R),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):se("v-if",!0)]),_:3}))}}),Ew=Aw,Ow=re({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){const t=e,n=K(),s=Cs();Re(()=>t.value,(a,l)=>{const i=window.HTMLSelectElement.prototype,c=Object.getOwnPropertyDescriptor(i,"value").set;if(a!==l&&c&&n.value){const d=new Event("change",{bubbles:!0});c.call(n.value,a),n.value.dispatchEvent(d)}});function o(a){s.onValueChange(a.target.value)}return(a,l)=>(h(),z(r(Qp),{"as-child":""},{default:g(()=>[b("select",Ee({ref_key:"selectElement",ref:n},t,{onInput:o}),[ce(a.$slots,"default")],16)]),_:3}))}}),Pw=Ow,Mw=re({__name:"SelectPopperPosition",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:on},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const n=Ua(e);return(s,o)=>(h(),z(r(au),Ee(r(n),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:g(()=>[ce(s.$slots,"default")]),_:3},16))}}),Iw=Mw;const Rw={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Za,xm]=Ct("SelectContent");var Lw=re({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,s=t,o=Cs();Gi(),Va(n.bodyLock);const{CollectionSlot:a,getItems:l}=ws(),i=K();Ha(i);const{search:u,handleTypeaheadSearch:c}=Xi(),d=K(),f=K(),p=K(),y=K(!1),S=K(!1),$=K(!1);function A(){f.value&&i.value&&ai([f.value,i.value])}Re(y,()=>{A()});const{onOpenChange:w,triggerPointerDownPosRef:_}=o;Zn(R=>{if(!i.value)return;let E={x:0,y:0};const F=X=>{var Z,Q;E={x:Math.abs(Math.round(X.pageX)-(((Z=_.value)==null?void 0:Z.x)??0)),y:Math.abs(Math.round(X.pageY)-(((Q=_.value)==null?void 0:Q.y)??0))}},H=X=>{var Z;X.pointerType!=="touch"&&(E.x<=10&&E.y<=10?X.preventDefault():(Z=i.value)!=null&&Z.contains(X.target)||w(!1),document.removeEventListener("pointermove",F),_.value=null)};_.value!==null&&(document.addEventListener("pointermove",F),document.addEventListener("pointerup",H,{capture:!0,once:!0})),R(()=>{document.removeEventListener("pointermove",F),document.removeEventListener("pointerup",H,{capture:!0})})});function P(R){const E=R.ctrlKey||R.altKey||R.metaKey;if(R.key==="Tab"&&R.preventDefault(),!E&&R.key.length===1&&c(R.key,l()),["ArrowUp","ArrowDown","Home","End"].includes(R.key)){let H=[...l().map(X=>X.ref)];if(["ArrowUp","End"].includes(R.key)&&(H=H.slice().reverse()),["ArrowUp","ArrowDown"].includes(R.key)){const X=R.target,Z=H.indexOf(X);H=H.slice(Z+1)}setTimeout(()=>ai(H)),R.preventDefault()}}const x=ae(()=>n.position==="popper"?n:{}),U=Ua(x.value);return xm({content:i,viewport:d,onViewportChange:R=>{d.value=R},itemRefCallback:(R,E,F)=>{const H=!S.value&&!F,X=mr(o.modelValue.value,E,o.by);if(o.multiple.value){if($.value)return;(X||H)&&(f.value=R,X&&($.value=!0))}else(X||H)&&(f.value=R);H&&(S.value=!0)},selectedItem:f,selectedItemText:p,onItemLeave:()=>{var R;(R=i.value)==null||R.focus()},itemTextRefCallback:(R,E,F)=>{const H=!S.value&&!F;(mr(o.modelValue.value,E,o.by)||H)&&(p.value=R)},focusSelectedItem:A,position:n.position,isPositioned:y,searchRef:u}),(R,E)=>(h(),z(r(a),null,{default:g(()=>[m(r(za),{"as-child":"",onMountAutoFocus:E[6]||(E[6]=Ie(()=>{},["prevent"])),onUnmountAutoFocus:E[7]||(E[7]=F=>{var H;s("closeAutoFocus",F),!F.defaultPrevented&&((H=r(o).triggerElement.value)==null||H.focus({preventScroll:!0}),F.preventDefault())})},{default:g(()=>[m(r(ja),{"as-child":"","disable-outside-pointer-events":R.disableOutsidePointerEvents,onFocusOutside:E[2]||(E[2]=Ie(()=>{},["prevent"])),onDismiss:E[3]||(E[3]=F=>r(o).onOpenChange(!1)),onEscapeKeyDown:E[4]||(E[4]=F=>s("escapeKeyDown",F)),onPointerDownOutside:E[5]||(E[5]=F=>s("pointerDownOutside",F))},{default:g(()=>[(h(),z(_r(R.position==="popper"?Iw:Bw),Ee({...R.$attrs,...r(U)},{id:r(o).contentId,ref:F=>{if(!F)return;const H=r(On)(F);H!=null&&H.hasAttribute("data-reka-popper-content-wrapper")?i.value=H.firstElementChild:i.value=H},role:"listbox","data-state":r(o).open.value?"open":"closed",dir:r(o).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:E[0]||(E[0]=Ie(()=>{},["prevent"])),onPlaced:E[1]||(E[1]=F=>y.value=!0),onKeydown:P}),{default:g(()=>[ce(R.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Dw=Lw;const[Nw,Fw]=Ct("SelectItemAlignedPosition");var qw=re({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(e,{emit:t}){const n=e,s=t,{getItems:o}=ws(),a=Cs(),l=Za(),i=K(!1),u=K(!0),c=K(),{forwardRef:d,currentElement:f}=De(),{viewport:p,selectedItem:y,selectedItemText:S,focusSelectedItem:$}=l;function A(){if(a.triggerElement.value&&a.valueElement.value&&c.value&&f.value&&(p!=null&&p.value)&&(y!=null&&y.value)&&(S!=null&&S.value)){const P=a.triggerElement.value.getBoundingClientRect(),x=f.value.getBoundingClientRect(),U=a.valueElement.value.getBoundingClientRect(),R=S.value.getBoundingClientRect();if(a.dir.value!=="rtl"){const te=R.left-x.left,we=U.left-te,_e=P.left-we,Fe=P.width+_e,at=Math.max(Fe,x.width),V=window.innerWidth-on,G=Vc(we,on,Math.max(on,V-at));c.value.style.minWidth=`${Fe}px`,c.value.style.left=`${G}px`}else{const te=x.right-R.right,we=window.innerWidth-U.right-te,_e=window.innerWidth-P.right-we,Fe=P.width+_e,at=Math.max(Fe,x.width),V=window.innerWidth-on,G=Vc(we,on,Math.max(on,V-at));c.value.style.minWidth=`${Fe}px`,c.value.style.right=`${G}px`}const E=o().map(te=>te.ref),F=window.innerHeight-on*2,H=p.value.scrollHeight,X=window.getComputedStyle(f.value),Z=Number.parseInt(X.borderTopWidth,10),Q=Number.parseInt(X.paddingTop,10),de=Number.parseInt(X.borderBottomWidth,10),L=Number.parseInt(X.paddingBottom,10),M=Z+Q+H+L+de,D=Math.min(y.value.offsetHeight*5,M),J=window.getComputedStyle(p.value),oe=Number.parseInt(J.paddingTop,10),pe=Number.parseInt(J.paddingBottom,10),Y=P.top+P.height/2-on,he=F-Y,ee=y.value.offsetHeight/2,Ye=y.value.offsetTop+ee,Ue=Z+Q+Ye,ve=M-Ue;if(Ue<=Y){const te=y.value===E.at(-1);c.value.style.bottom="0px";const we=f.value.clientHeight-p.value.offsetTop-p.value.offsetHeight,_e=Math.max(he,ee+(te?pe:0)+we+de),Fe=Ue+_e;c.value.style.height=`${Fe}px`}else{const te=y.value===E[0];c.value.style.top="0px";const _e=Math.max(Y,Z+p.value.offsetTop+(te?oe:0)+ee)+ve;c.value.style.height=`${_e}px`,p.value.scrollTop=Ue-Y+p.value.offsetTop}c.value.style.margin=`${on}px 0`,c.value.style.minHeight=`${D}px`,c.value.style.maxHeight=`${F}px`,s("placed"),requestAnimationFrame(()=>i.value=!0)}}const w=K("");rt(async()=>{await it(),A(),f.value&&(w.value=window.getComputedStyle(f.value).zIndex)});function _(P){P&&u.value===!0&&(A(),$==null||$(),u.value=!1)}return Z_(a.triggerElement,()=>{A()}),Fw({contentWrapper:c,shouldExpandOnScrollRef:i,onScrollButtonChange:_}),(P,x)=>(h(),B("div",{ref_key:"contentWrapperElement",ref:c,style:tn({display:"flex",flexDirection:"column",position:"fixed",zIndex:w.value})},[m(r(He),Ee({ref:r(d),style:{boxSizing:"border-box",maxHeight:"100%"}},{...P.$attrs,...n}),{default:g(()=>[ce(P.$slots,"default")]),_:3},16)],4))}}),Bw=qw,Vw=re({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(e){return _m(e.context),xm(Rw),(n,s)=>ce(n.$slots,"default")}}),Uw=Vw;const Hw={key:1};var jw=re({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,o=Tt(n,t),a=Cs(),l=K();rt(()=>{l.value=new DocumentFragment});const i=K(),u=ae(()=>n.forceMount||a.open.value),c=K(u.value);let d;function f(){d&&(clearTimeout(d),d=void 0)}return Re(u,(p,y,S)=>{f(),d=setTimeout(()=>{c.value=u.value,d=void 0}),S(f)}),fn(f),(p,y)=>{var S;return u.value||c.value||(S=i.value)!=null&&S.present?(h(),z(r(js),{key:0,ref_key:"presenceRef",ref:i,present:u.value},{default:g(()=>[m(Dw,$t(Mt({...r(o),...p.$attrs})),{default:g(()=>[ce(p.$slots,"default")]),_:3},16)]),_:3},8,["present"])):l.value?(h(),B("div",Hw,[(h(),z(br,{to:l.value},[m(Uw,{context:r(a)},{default:g(()=>[ce(p.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):se("v-if",!0)}}}),zw=jw,Ww=re({__name:"SelectIcon",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(h(),z(r(He),{"aria-hidden":"true",as:t.as,"as-child":t.asChild},{default:g(()=>[ce(t.$slots,"default",{},()=>[n[0]||(n[0]=j("▼"))])]),_:3},8,["as","as-child"]))}}),Kw=Ww;const[wm,Gw]=Ct("SelectItem");var Yw=re({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,{disabled:o}=qt(n),a=Cs(),l=Za(),{forwardRef:i,currentElement:u}=De(),{CollectionItem:c}=ws(),d=ae(()=>{var x;return mr((x=a.modelValue)==null?void 0:x.value,n.value,a.by)}),f=K(!1),p=K(n.textValue??""),y=Mn(void 0,"reka-select-item-text"),S="select.select";async function $(x){if(x.defaultPrevented)return;const U={originalEvent:x,value:n.value};zi(S,A,U)}async function A(x){await it(),s("select",x),!x.defaultPrevented&&(o.value||(a.onValueChange(n.value),a.multiple.value||a.onOpenChange(!1)))}async function w(x){var U,R;await it(),!x.defaultPrevented&&(o.value?(U=l.onItemLeave)==null||U.call(l):(R=x.currentTarget)==null||R.focus({preventScroll:!0}))}async function _(x){var U;await it(),!x.defaultPrevented&&x.currentTarget===xt()&&((U=l.onItemLeave)==null||U.call(l))}async function P(x){var R;await it(),!(x.defaultPrevented||((R=l.searchRef)==null?void 0:R.value)!==""&&x.key===" ")&&(Sw.includes(x.key)&&$(x),x.key===" "&&x.preventDefault())}if(n.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return rt(()=>{u.value&&l.itemRefCallback(u.value,n.value,n.disabled)}),Gw({value:n.value,disabled:o,textId:y,isSelected:d,onItemTextChange:x=>{p.value=((p.value||(x==null?void 0:x.textContent))??"").trim()}}),(x,U)=>(h(),z(r(c),{value:{textValue:p.value}},{default:g(()=>[m(r(He),{ref:r(i),role:"option","aria-labelledby":r(y),"data-highlighted":f.value?"":void 0,"aria-selected":d.value,"data-state":d.value?"checked":"unchecked","aria-disabled":r(o)||void 0,"data-disabled":r(o)?"":void 0,tabindex:r(o)?void 0:-1,as:x.as,"as-child":x.asChild,onFocus:U[0]||(U[0]=R=>f.value=!0),onBlur:U[1]||(U[1]=R=>f.value=!1),onPointerup:$,onPointerdown:U[2]||(U[2]=R=>{R.currentTarget.focus({preventScroll:!0})}),onTouchend:U[3]||(U[3]=Ie(()=>{},["prevent","stop"])),onPointermove:w,onPointerleave:_,onKeydown:P},{default:g(()=>[ce(x.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),Xw=Yw,Jw=re({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=wm();return(s,o)=>r(n).isSelected.value?(h(),z(r(He),Ee({key:0,"aria-hidden":"true"},t),{default:g(()=>[ce(s.$slots,"default")]),_:3},16)):se("v-if",!0)}}),Qw=Jw,Zw=re({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=Cs(),s=Za(),o=wm(),{forwardRef:a,currentElement:l}=De(),i=ae(()=>{var u,c;return{value:o.value,disabled:o.disabled.value,textContent:((u=l.value)==null?void 0:u.textContent)??((c=o.value)==null?void 0:c.toString())??""}});return rt(()=>{l.value&&(o.onItemTextChange(l.value),s.itemTextRefCallback(l.value,o.value,o.disabled.value),n.onOptionAdd(i.value))}),fn(()=>{n.onOptionRemove(i.value)}),(u,c)=>(h(),z(r(He),Ee({id:r(o).textId,ref:r(a)},{...t,...u.$attrs}),{default:g(()=>[ce(u.$slots,"default")]),_:3},16,["id"]))}}),ek=Zw,tk=re({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=e;return(n,s)=>(h(),z(r(Wa),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),nk=tk,sk=re({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,n=Cs(),{forwardRef:s,currentElement:o}=De(),a=ae(()=>{var w;return((w=n.disabled)==null?void 0:w.value)||t.disabled});n.contentId||(n.contentId=Mn(void 0,"reka-select-content")),rt(()=>{n.onTriggerChange(o.value)});const{getItems:l}=ws(),{search:i,handleTypeaheadSearch:u,resetTypeahead:c}=Xi();function d(){a.value||(n.onOpenChange(!0),c())}function f(w){d(),n.triggerPointerDownPosRef.value={x:Math.round(w.pageX),y:Math.round(w.pageY)}}function p(w){return w.button===0&&w.ctrlKey===!1}let y=!1;function S(w){if(w.pointerType==="touch")return w.preventDefault();const _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),p(w)&&(f(w),y=!0)}function $(w){p(w)&&w.preventDefault()}function A(w){var _;y||(_=w.currentTarget)==null||_.focus(),y=!1}return(w,_)=>(h(),z(r(Qi),{"as-child":"",reference:w.reference},{default:g(()=>{var P,x,U,R;return[m(r(He),{ref:r(s),role:"combobox",type:w.as==="button"?"button":void 0,"aria-controls":r(n).contentId,"aria-expanded":r(n).open.value||!1,"aria-required":(P=r(n).required)==null?void 0:P.value,"aria-autocomplete":"none",disabled:a.value,dir:(x=r(n))==null?void 0:x.dir.value,"data-state":(U=r(n))!=null&&U.open.value?"open":"closed","data-disabled":a.value?"":void 0,"data-placeholder":r($w)((R=r(n).modelValue)==null?void 0:R.value)?"":void 0,"as-child":w.asChild,as:w.as,onClick:A,onPointerdown:S,onMousedown:$,onPointerup:_[0]||(_[0]=Ie(E=>{E.pointerType==="touch"&&f(E)},["prevent"])),onKeydown:_[1]||(_[1]=E=>{const F=r(i)!=="";!(E.ctrlKey||E.altKey||E.metaKey)&&E.key.length===1&&F&&E.key===" "||(r(u)(E.key,r(l)()),r(Cw).includes(E.key)&&(d(),E.preventDefault()))})},{default:g(()=>[ce(w.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]}),_:3},8,["reference"]))}}),ok=sk,rk=re({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,{forwardRef:n,currentElement:s}=De(),o=Cs();rt(()=>{o.valueElement=s});const a=ae(()=>{var d;let i=[];const u=Array.from(o.optionsSet.value),c=f=>u.find(p=>mr(f,p.value,o.by));return Array.isArray(o.modelValue.value)?i=o.modelValue.value.map(f=>{var p;return((p=c(f))==null?void 0:p.textContent)??""}):i=[((d=c(o.modelValue.value))==null?void 0:d.textContent)??""],i.filter(Boolean)}),l=ae(()=>a.value.length?a.value.join(", "):t.placeholder);return(i,u)=>(h(),z(r(He),{ref:r(n),as:i.as,"as-child":i.asChild,style:{pointerEvents:"none"},"data-placeholder":a.value.length?void 0:t.placeholder},{default:g(()=>[ce(i.$slots,"default",{selectedLabel:a.value,modelValue:r(o).modelValue.value},()=>[j(v(l.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),ak=rk,lk=re({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{nonce:n}=qt(t),s=hx(n),o=Za(),a=o.position==="item-aligned"?Nw():void 0,{forwardRef:l,currentElement:i}=De();rt(()=>{o==null||o.onViewportChange(i.value)});const u=K(0);function c(d){const f=d.currentTarget,{shouldExpandOnScrollRef:p,contentWrapper:y}=a??{};if(p!=null&&p.value&&(y!=null&&y.value)){const S=Math.abs(u.value-f.scrollTop);if(S>0){const $=window.innerHeight-on*2,A=Number.parseFloat(y.value.style.minHeight),w=Number.parseFloat(y.value.style.height),_=Math.max(A,w);if(_<$){const P=_+S,x=Math.min($,P),U=P-x;y.value.style.height=`${x}px`,y.value.style.bottom==="0px"&&(f.scrollTop=U>0?U:0,y.value.style.justifyContent="flex-end")}}}u.value=f.scrollTop}return(d,f)=>(h(),B(me,null,[m(r(He),Ee({ref:r(l),"data-reka-select-viewport":"",role:"presentation"},{...d.$attrs,...t},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:c}),{default:g(()=>[ce(d.$slots,"default")]),_:3},16),m(r(He),{as:"style",nonce:r(s)},{default:g(()=>f[0]||(f[0]=[j(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),ik=lk;const[uk,ck]=Ct("SwitchRoot");var dk=re({inheritAttrs:!1,__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{disabled:o}=qt(n),a=Pn(n,"modelValue",s,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),l=ae(()=>a.value===n.trueValue);function i(){o.value||(a.value=l.value?n.falseValue:n.trueValue)}const{forwardRef:u,currentElement:c}=De(),d=Yi(c),f=zp(),p=ae(()=>{var y;return n.id&&c.value?(y=document.querySelector(`[for="${n.id}"]`))==null?void 0:y.innerText:void 0});return ck({checked:l,toggleCheck:i,disabled:o}),(y,S)=>(h(),B(me,null,[m(r(He),Ee({id:y.id,ref:r(u),role:"switch",type:y.as==="button"?"button":void 0,value:y.value,"aria-label":y.$attrs["aria-label"]||p.value,"aria-checked":l.value,"aria-required":y.required,"data-state":l.value?"checked":"unchecked","data-disabled":r(o)?"":void 0,"as-child":y.asChild,as:y.as,disabled:r(o)},{...r(f),...y.$attrs},{onClick:i,onKeydown:An(Ie(i,["prevent"]),["enter"])}),{default:g(()=>[ce(y.$slots,"default",{modelValue:r(a),checked:l.value})]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]),r(d)&&y.name?(h(),z(r(Zp),Ee({key:0,type:"checkbox",name:y.name,disabled:r(o),required:y.required,value:y.value,checked:l.value},r(f)),null,16,["name","disabled","required","value","checked"])):se("v-if",!0)],64))}}),fk=dk,pk=re({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=uk();return De(),(n,s)=>(h(),z(r(He),{"data-state":r(t).checked.value?"checked":"unchecked","data-disabled":r(t).disabled.value?"":void 0,"as-child":n.asChild,as:n.as},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),mk=pk;const[uu,hk]=Ct("TabsRoot");var gk=re({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{orientation:o,unmountOnHide:a,dir:l}=qt(n),i=To(l);De();const u=Pn(n,"modelValue",s,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),c=K(),d=Ia(new Set);return hk({modelValue:u,changeModelValue:f=>{u.value=f},orientation:o,dir:i,unmountOnHide:a,activationMode:n.activationMode,baseId:Mn(void 0,"reka-tabs"),tabsList:c,contentIds:d,registerContent:f=>{d.value=new Set([...d.value,f])},unregisterContent:f=>{const p=new Set(d.value);p.delete(f),d.value=p}}),(f,p)=>(h(),z(r(He),{dir:r(i),"data-orientation":r(o),"as-child":f.asChild,as:f.as},{default:g(()=>[ce(f.$slots,"default",{modelValue:r(u)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),vk=gk;function km(e,t){return`${e}-trigger-${t}`}function Cm(e,t){return`${e}-content-${t}`}var yk=re({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{forwardRef:n}=De(),s=uu(),o=ae(()=>km(s.baseId,t.value)),a=ae(()=>Cm(s.baseId,t.value)),l=ae(()=>t.value===s.modelValue.value),i=K(l.value);return rt(()=>{s.registerContent(t.value),requestAnimationFrame(()=>{i.value=!1})}),So(()=>{s.unregisterContent(t.value)}),(u,c)=>(h(),z(r(js),{present:u.forceMount||l.value,"force-mount":""},{default:g(({present:d})=>[m(r(He),{id:a.value,ref:r(n),"as-child":u.asChild,as:u.as,role:"tabpanel","data-state":l.value?"active":"inactive","data-orientation":r(s).orientation.value,"aria-labelledby":o.value,hidden:!d,tabindex:"0",style:tn({animationDuration:i.value?"0s":void 0})},{default:g(()=>[!r(s).unmountOnHide.value||d?ce(u.$slots,"default",{key:0}):se("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),bk=yk,_k=re({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=e,{loop:n}=qt(t),{forwardRef:s,currentElement:o}=De(),a=uu();return a.tabsList=o,(l,i)=>(h(),z(r(pm),{"as-child":"",orientation:r(a).orientation.value,dir:r(a).dir.value,loop:r(n)},{default:g(()=>[m(r(He),{ref:r(s),role:"tablist","as-child":l.asChild,as:l.as,"aria-orientation":r(a).orientation.value},{default:g(()=>[ce(l.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),xk=_k,wk=re({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(e){const t=e,{forwardRef:n}=De(),s=uu(),o=ae(()=>km(s.baseId,t.value)),a=ae(()=>s.contentIds.value.has(t.value)?Cm(s.baseId,t.value):void 0),l=ae(()=>t.value===s.modelValue.value);return(i,u)=>(h(),z(r(mm),{"as-child":"",focusable:!i.disabled,active:l.value},{default:g(()=>[m(r(He),{id:o.value,ref:r(n),role:"tab",type:i.as==="button"?"button":void 0,as:i.as,"as-child":i.asChild,"aria-selected":l.value?"true":"false","aria-controls":a.value,"data-state":l.value?"active":"inactive",disabled:i.disabled,"data-disabled":i.disabled?"":void 0,"data-orientation":r(s).orientation.value,onMousedown:u[0]||(u[0]=Ie(c=>{!i.disabled&&c.ctrlKey===!1?r(s).changeModelValue(i.value):c.preventDefault()},["left"])),onKeydown:u[1]||(u[1]=An(c=>r(s).changeModelValue(i.value),["enter","space"])),onFocus:u[2]||(u[2]=()=>{const c=r(s).activationMode!=="manual";!l.value&&!i.disabled&&c&&r(s).changeModelValue(i.value)})},{default:g(()=>[ce(i.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),kk=wk;const fi=re({__name:"DropdownMenu",props:{defaultOpen:{type:Boolean},open:{type:Boolean},dir:{},modal:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const o=Tt(e,t);return(a,l)=>(h(),z(r(pw),$t(Mt(r(o))),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}}),pi=re({__name:"DropdownMenuTrigger",setup(e){return(t,n)=>(h(),z(r(kw),{"as-child":""},{default:g(()=>[ce(t.$slots,"default")]),_:3}))}}),mi=re({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean},loop:{type:Boolean},memoDependencies:{},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,...i}=n;return i}),a=Tt(o,s);return(l,i)=>(h(),z(r(bw),null,{default:g(()=>[m(r(hw),Ee(r(a),{class:r(Ge)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",n.class)}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),Uo=re({__name:"DropdownMenuItem",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},inset:{type:Boolean}},emits:["select"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,inset:i,...u}=n;return u}),a=Tt(o,s);return(l,i)=>(h(),z(r(vw),Ee(r(a),{"data-inset":e.inset?"":void 0,class:r(Ge)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",n.class)}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16,["data-inset","class"]))}}),ld=re({__name:"DropdownMenuSeparator",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(xw),{class:ge(r(Ge)("-mx-1 my-1 h-px bg-muted",t.class))},null,8,["class"]))}}),Ws=re({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean},unmountOnHide:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const o=Tt(e,t);return(a,l)=>(h(),z(r(v1),$t(Mt(r(o))),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}});/**
|
|
38
38
|
* @license lucide-vue-next v1.0.0 - ISC
|
|
39
39
|
*
|
|
40
40
|
* This source code is licensed under the ISC license.
|
|
@@ -330,8 +330,8 @@ var gu=e=>{throw TypeError(e)};var Dm=(e,t,n)=>t.has(e)||gu("Cannot "+n);var Po=
|
|
|
330
330
|
* This source code is licensed under the ISC license.
|
|
331
331
|
* See the LICENSE file in the root directory of this source tree.
|
|
332
332
|
*/const Fs=Ae("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),Ks=re({__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,...i}=n;return i}),a=Tt(o,s);return(l,i)=>(h(),z(r(Q1),null,{default:g(()=>[m(r(Y1),{class:"fixed inset-0 z-50 bg-black/80"}),m(r(H1),Ee(r(a),{class:r(Ge)("fixed left-[50%] top-[50%] z-50 flex max-h-[90vh] w-full max-w-lg translate-x-[-50%] translate-y-[-50%] flex-col gap-4 overflow-hidden border bg-background p-6 shadow-lg sm:rounded-lg",n.class)}),{default:g(()=>[ce(l.$slots,"default"),m(r(b1),{class:"absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:ring-offset-background"},{default:g(()=>[m(r(Eo),{class:"h-4 w-4"}),i[0]||(i[0]=b("span",{class:"sr-only"},"Close",-1))]),_:1})]),_:3},16,["class"])]),_:3}))}}),Gs=re({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(e0),{class:ge(r(Ge)("text-lg font-semibold leading-none tracking-tight",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["class"]))}}),Ys=re({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(z1),{class:ge(r(Ge)("text-sm text-muted-foreground",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["class"]))}}),Yk=["for"],ht=re({__name:"Label",props:{class:{type:[Boolean,null,String,Object,Array]},for:{}},setup(e){const t=e;return(n,s)=>(h(),B("label",{for:t.for,class:ge(r(Ge)("text-sm font-medium leading-none text-foreground",t.class))},[ce(n.$slots,"default")],10,Yk))}}),ya=re({__name:"Popover",props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const o=Tt(e,t);return(a,l)=>(h(),z(r(Zx),$t(Mt(r(o))),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}}),ba=re({__name:"PopoverTrigger",props:{asChild:{type:Boolean},as:{}},setup(e){const t=e;return(n,s)=>(h(),z(r(cw),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),_a=re({__name:"PopoverContent",props:{forceMount:{type:Boolean},memoDependencies:{},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,...i}=n;return i}),a=Tt(o,s);return(l,i)=>(h(),z(r(iw),null,{default:g(()=>[m(r(aw),Ee(r(a),{class:r(Ge)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",n.class)}),{default:g(()=>[ce(l.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),Xk={class:"relative w-full overflow-auto"},el=re({__name:"Table",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("div",Xk,[b("table",{class:ge(r(Ge)("w-full caption-bottom text-sm",t.class))},[ce(n.$slots,"default")],2)]))}}),tl=re({__name:"TableHeader",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("thead",{class:ge(r(Ge)("[&_tr]:border-b",t.class))},[ce(n.$slots,"default")],2))}}),nl=re({__name:"TableBody",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("tbody",{class:ge(r(Ge)("[&_tr:last-child]:border-0",t.class))},[ce(n.$slots,"default")],2))}}),Sn=re({__name:"TableRow",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("tr",{class:ge(r(Ge)("border-b transition-colors hover:bg-muted/40 data-[state=selected]:bg-muted",t.class))},[ce(n.$slots,"default")],2))}}),ot=re({__name:"TableHead",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("th",{class:ge(r(Ge)("h-10 px-3 text-left align-middle text-xs font-medium uppercase tracking-wide text-muted-foreground [&:has([role=checkbox])]:pr-0",t.class))},[ce(n.$slots,"default")],2))}}),tt=re({__name:"TableCell",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),B("td",{class:ge(r(Ge)("p-3 align-middle [&:has([role=checkbox])]:pr-0",t.class))},[ce(n.$slots,"default")],2))}}),zr=re({__name:"Select",props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},nullableValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:["update:modelValue","update:open"],setup(e,{emit:t}){const o=Tt(e,t);return(a,l)=>(h(),z(r(Ew),$t(Mt(r(o))),{default:g(()=>[ce(a.$slots,"default")]),_:3},16))}}),Wr=re({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=ae(()=>{const{class:s,...o}=t;return o});return(s,o)=>(h(),z(r(ok),Ee(n.value,{class:r(Ge)("flex h-9 w-full items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-1 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t.class)}),{default:g(()=>[ce(s.$slots,"default"),m(r(Kw),{"as-child":""},{default:g(()=>[m(r(dn),{class:"h-4 w-4 opacity-50"})]),_:1})]),_:3},16,["class"]))}}),Kr=re({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){const t=e;return(n,s)=>(h(),z(r(ak),$t(Mt(t)),{default:g(()=>[ce(n.$slots,"default")]),_:3},16))}}),Gr=re({__name:"SelectContent",props:{forceMount:{type:Boolean},position:{default:"popper"},bodyLock:{type:Boolean},memoDependencies:{},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},dir:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,s=t,o=ae(()=>{const{class:l,...i}=n;return i}),a=Tt(o,s);return(l,i)=>(h(),z(r(nk),null,{default:g(()=>[m(r(zw),Ee(r(a),{class:r(Ge)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md",n.position==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:translate-x-1 data-[side=right]:-translate-x-1 data-[side=top]:-translate-y-1",n.class)}),{default:g(()=>[m(r(ik),{class:ge(r(Ge)("p-1",n.position==="popper"&&"w-full min-w-[var(--reka-select-trigger-width)]"))},{default:g(()=>[ce(l.$slots,"default")]),_:3},8,["class"])]),_:3},16,["class"])]),_:3}))}}),Jk={class:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center"},ds=re({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=ae(()=>{const{class:s,...o}=t;return o});return(s,o)=>(h(),z(r(Xw),Ee(n.value,{class:r(Ge)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t.class)}),{default:g(()=>[b("span",Jk,[m(r(Qw),null,{default:g(()=>[m(r(Qt),{class:"h-4 w-4"})]),_:1})]),m(r(ek),null,{default:g(()=>[ce(s.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),Qk={class:"relative"},Zk=["aria-label"],eC={key:0,class:"mt-1.5 flex flex-wrap gap-1"},tC=["aria-label","onClick"],nC={key:0},sC={class:"flex-1 truncate font-mono"},oC=["onMousedown"],rC={key:1,class:"h-3.5 w-3.5 shrink-0","aria-hidden":"true"},aC={class:"flex-1 truncate"},lC={key:1,class:"px-2 py-1 text-xs text-muted-foreground"},iC={key:2,class:"px-2 py-1 text-xs text-muted-foreground"},Mm=re({__name:"Combobox",props:{modelValue:{},options:{},placeholder:{},limit:{default:300},multi:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t,{t:o}=pt(),a=K(null),l=K(null),i=K(!1),u=K("");function c(){var X,Z;i.value=!i.value,i.value&&((Z=(X=l.value)==null?void 0:X.$el)==null||Z.focus())}function d(X){i.value&&(X.stopPropagation(),X.preventDefault(),i.value=!1)}const f=ae(()=>Array.isArray(n.modelValue)?n.modelValue:[]),p=ae(()=>{const X=(n.multi?u.value:String(n.modelValue??"")).trim().toLowerCase();return X?n.options.filter(Z=>Z.toLowerCase().includes(X)):n.options}),y=ae(()=>p.value.slice(0,n.limit)),S=ae(()=>p.value.length-y.value.length);function $(X){n.multi?(u.value=String(X),i.value=!0):(s("update:modelValue",String(X)),i.value=!0)}function A(X){if(n.multi){const Z=f.value.includes(X)?f.value.filter(Q=>Q!==X):[...f.value,X];s("update:modelValue",Z)}else s("update:modelValue",X),i.value=!1}function w(X){s("update:modelValue",f.value.filter(Z=>Z!==X))}function _(X){const Z=X.split(/[\s,;]+/).map(de=>de.trim()).filter(Boolean);if(!Z.length)return;const Q=[...f.value];for(const de of Z)Q.includes(de)||Q.push(de);s("update:modelValue",Q),u.value=""}function P(){n.multi&&_(u.value)}function x(X){var Q;if(!n.multi)return;const Z=((Q=X.clipboardData)==null?void 0:Q.getData("text"))??"";!Z.trim()||!/[\s,;]/.test(Z)||(X.preventDefault(),_(Z))}function U(X){var Q;const Z=X.relatedTarget;Z&&((Q=a.value)!=null&&Q.contains(Z))||(i.value=!1)}const R=K(null),E=ae(()=>Math.min(Math.max(y.value.length*34+8,48),224));function F(){var Q;const X=(Q=a.value)==null?void 0:Q.getBoundingClientRect();if(!X)return;const Z=X.bottom+6+E.value<=window.innerHeight;R.value={top:Z?X.bottom+6:Math.max(X.top-6-E.value,8),left:Math.max(Math.min(X.left,window.innerWidth-X.width-8),8),width:X.width}}function H(){i.value&&F()}return Re(i,async X=>{X?(await it(),F(),window.addEventListener("scroll",H,!0),window.addEventListener("resize",H)):(window.removeEventListener("scroll",H,!0),window.removeEventListener("resize",H))}),Re(E,()=>i.value&&F()),So(()=>{window.removeEventListener("scroll",H,!0),window.removeEventListener("resize",H)}),(X,Z)=>(h(),B("div",{ref_key:"rootRef",ref:a,onFocusin:Z[2]||(Z[2]=Q=>i.value=!0),onFocusout:U},[b("div",Qk,[m(r(mt),{ref_key:"inputRef",ref:l,"model-value":e.multi?u.value:e.modelValue,placeholder:e.placeholder,autocomplete:"off",spellcheck:"false",class:"pr-8","onUpdate:modelValue":$,onKeydown:[An(d,["esc"]),An(Ie(P,["prevent"]),["enter"])],onPaste:x},null,8,["model-value","placeholder","onKeydown"]),b("button",{type:"button",tabindex:"-1",class:"absolute right-2 top-1/2 -translate-y-1/2 rounded-sm text-muted-foreground/70 transition-colors hover:text-foreground","aria-label":r(o)("combobox.toggle"),onMousedown:Ie(c,["prevent"])},[m(r(dn),{class:ge(["h-4 w-4 transition-transform",i.value?"rotate-180":""])},null,8,["class"])],40,Zk)]),e.multi&&f.value.length?(h(),B("div",eC,[(h(!0),B(me,null,Pe(f.value,Q=>(h(),B("span",{key:Q,class:"inline-flex items-center gap-1 rounded-md border-transparent bg-primary text-primary-foreground shadow-sm px-2 py-0.5 font-mono text-xs"},[j(v(Q)+" ",1),b("button",{type:"button",class:"opacity-70 hover:opacity-100","aria-label":r(o)("common.dismiss"),onClick:de=>w(Q)},[m(r(Eo),{class:"h-3 w-3"})],8,tC)]))),128))])):se("",!0),(h(),z(br,{to:"body"},[i.value&&(y.value.length||e.multi&&u.value.trim())?(h(),B("ul",{key:0,class:"pointer-events-auto fixed z-[60] max-h-56 overflow-auto rounded-md border bg-popover p-1 text-sm shadow-md",style:tn(R.value?{top:`${R.value.top}px`,left:`${R.value.left}px`,width:`${R.value.width}px`}:void 0),onPointerdown:Z[1]||(Z[1]=Ie(()=>{},["stop"]))},[e.multi&&u.value.trim()?(h(),B("li",nC,[b("button",{type:"button",class:"flex w-full items-center gap-2 rounded px-2 py-1.5 text-left hover:bg-accent hover:text-accent-foreground",onMousedown:Z[0]||(Z[0]=Ie(Q=>_(u.value),["prevent"]))},[m(r(Yn),{class:"h-3.5 w-3.5 shrink-0"}),b("span",sC,v(r(o)("combobox.add",{q:u.value.trim()})),1)],32)])):se("",!0),(h(!0),B(me,null,Pe(y.value,Q=>(h(),B("li",{key:Q},[b("button",{type:"button",class:ge(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left font-mono hover:bg-accent hover:text-accent-foreground",Q===e.modelValue||f.value.includes(Q)?"text-primary":""]),onMousedown:Ie(de=>A(Q),["prevent"])},[Q===e.modelValue||f.value.includes(Q)?(h(),z(r(Qt),{key:0,class:"h-3.5 w-3.5 shrink-0"})):(h(),B("span",rC)),b("span",aC,v(Q),1)],42,oC)]))),128)),!y.value.length&&!(e.multi&&u.value.trim())?(h(),B("li",lC,v(r(o)("combobox.noMatch")),1)):S.value>0?(h(),B("li",iC,v(r(o)("combobox.more",{n:S.value})),1)):se("",!0)],36)):se("",!0)]))],544))}}),uC={class:"grid gap-y-1.5"},cC=["title"],dC={class:"pt-1.5 text-xs leading-relaxed text-muted-foreground"},fC=re({__name:"SamplingPanel",props:{modelValue:{},format:{}},setup(e){const t=e,{t:n}=pt(),s=[{key:"temperature",helpKey:"models.editor.samplingTipTemp",ph:"0.0 – 2.0"},{key:"top_p",helpKey:"models.editor.samplingTipTopP",ph:"0.0 – 1.0"},{key:"top_k",helpKey:"models.editor.samplingTipTopK",ph:"0 = off"},{key:"presence_penalty",helpKey:"models.editor.samplingTipPres",ph:"-2 – 2"},{key:"frequency_penalty",helpKey:"models.editor.samplingTipFreq",ph:"-2 – 2"},{key:"seed",helpKey:"models.editor.samplingTipSeed",ph:"integer"}],o=new Set(["presence_penalty","frequency_penalty","seed"]),a=t.format==="anthropic"?s.filter(i=>!o.has(i.key)):s;function l(i,u){t.modelValue[i]=String(u??"")}return(i,u)=>(h(),B(me,null,[b("div",uC,[(h(!0),B(me,null,Pe(r(a),c=>(h(),B("div",{key:c.key,class:"flex items-center gap-1.5"},[b("span",{class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-xs text-foreground/80",title:r(n)(c.helpKey)},[j(v(c.key)+" ",1),m(r(Mk),{class:"h-3 w-3 opacity-60","aria-label":`${c.key}: ${r(n)(c.helpKey)}`},null,8,["aria-label"])],8,cC),m(r(mt),{"model-value":t.modelValue[c.key],type:"number",step:"any",class:"ml-auto h-6 w-20 bg-background px-2 text-right font-mono text-xs",placeholder:c.ph,spellcheck:"false","aria-label":c.key,"onUpdate:modelValue":d=>l(c.key,d)},null,8,["model-value","placeholder","aria-label","onUpdate:modelValue"])]))),128))]),b("p",dC,v(r(n)("models.editor.samplingTipBase")),1)],64))}}),pC={class:"flex flex-wrap gap-1"},mC=["aria-pressed","onClick"],hC={class:"pt-1.5 text-xs leading-relaxed text-muted-foreground"},gC=re({__name:"ThinkingPanel",props:es({format:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=$o(e,"modelValue"),n=e,{t:s}=pt(),o=["low","medium","high","xhigh"],a=["1024","4096","8192","16384"],l=n.format==="anthropic"?a:o;return(i,u)=>(h(),B(me,null,[b("div",pC,[(h(!0),B(me,null,Pe(r(l),c=>(h(),B("button",{key:c,type:"button",class:ge(["rounded border px-2 py-0.5 font-mono text-xs transition-colors",t.value===c?"border-primary bg-primary/15 font-medium text-primary":"border-border bg-background text-foreground/80 hover:text-foreground"]),"aria-pressed":t.value===c,onClick:d=>t.value=t.value===c?"":c},v(c),11,mC))),128))]),m(r(mt),{"model-value":t.value,class:"h-7 w-48 bg-background font-mono text-xs",spellcheck:"false",placeholder:n.format==="anthropic"?r(s)("models.editor.thinkingPhBudget"):r(s)("models.editor.thinkingPh"),list:n.format==="anthropic"?"thinking-budgets":"thinking-words","aria-label":r(s)("models.editor.thinkingLabel"),"onUpdate:modelValue":u[0]||(u[0]=c=>t.value=String(c??""))},null,8,["model-value","placeholder","list","aria-label"]),b("p",hC,v(r(s)("models.editor.thinkingTipBase")),1)],64))}}),vC={class:"flex shrink-0 items-center gap-2 pr-8"},yC={class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-primary/15 text-primary"},bC={class:"min-w-0"},_C={class:"min-h-0 flex-1 space-y-3 overflow-y-auto px-1 py-1.5"},xC={class:"space-y-1.5"},wC={key:0,class:"text-xs text-destructive"},kC={key:1,class:"text-xs text-muted-foreground"},CC={key:2,class:"text-xs text-muted-foreground"},SC={key:0,class:"rounded-md border border-dashed p-4 text-center text-sm text-muted-foreground"},$C={class:"space-y-2"},TC={class:"flex items-center justify-between"},AC={class:"text-xs text-muted-foreground"},EC=["aria-expanded","onClick"],OC={class:"text-xs font-semibold"},PC={class:"font-mono text-[11px] text-muted-foreground"},MC={key:1,class:"ml-auto shrink-0 text-[11px] text-muted-foreground"},IC={key:0,class:"px-1 py-0.5 pt-1.5 text-xs text-muted-foreground"},RC=["draggable","onDragstart","onDragover","onDrop"],LC=["aria-label","title","onMousedown"],DC={class:"w-3.5 shrink-0 text-right text-[11px] tabular-nums text-muted-foreground"},NC={class:"flex items-center gap-1.5"},FC={class:"w-44 shrink-0 [&_input]:h-7 [&_input]:text-xs"},qC=["title"],BC={class:"truncate font-mono"},VC={key:1,class:"opacity-40"},UC={class:"truncate font-mono"},HC={class:"space-y-1.5"},jC={class:"flex items-center justify-between"},zC={class:"text-xs font-medium text-foreground"},WC=["onClick"],KC={class:"space-y-1"},GC={class:"flex items-center justify-between"},YC={class:"text-xs font-medium text-foreground"},XC=["onClick"],JC=["onClick"],QC={key:2,class:"inline-flex items-center gap-1 px-1 text-[11px] text-destructive"},ZC={class:"flex items-center"},eS=["aria-expanded"],tS={key:0,class:"space-y-1 rounded-md border bg-muted/30 p-3 text-xs leading-relaxed text-muted-foreground"},nS={class:"space-y-1.5"},sS=["aria-expanded"],oS={key:0,class:"space-y-1.5 rounded-md border bg-muted/30 p-3"},rS={class:"text-xs text-muted-foreground"},aS={class:"flex shrink-0 justify-end gap-2"},lS=re({__name:"ModelEditor",props:es({providers:{},model:{},existingNames:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:es(["saved"],["update:open"]),setup(e,{emit:t}){const n=["openai","anthropic","responses"],s=[{key:"temperature",bounded:!0},{key:"top_p",bounded:!0},{key:"top_k",bounded:!1},{key:"presence_penalty",bounded:!0},{key:"frequency_penalty",bounded:!0},{key:"seed",bounded:!1}];function o(){return Object.fromEntries(s.map(k=>[k.key,""]))}const a=k=>s.some(C=>k.sampling[C.key].trim()!=="");function l(k){for(const C of s)k.sampling[C.key]=""}const i=K(null),u=(k,C)=>`${k}:${C}`,c=(k,C)=>i.value===u(k,C);function d(k,C,O){const T=u(k,C);O?i.value=T:i.value===T&&(i.value=null)}function f(k){const C={};for(const[O,T]of Object.entries(k))T.trim()!==""&&(C[O]=T);return an(Object.keys(C).length?C:void 0)}function p(k){const C=[];return k.thinking.trim()&&C.push(`${_("models.editor.thinkingLabel")}: ${k.thinking.trim()}`),a(k)&&C.push(`${_("models.editor.samplingLabel")}: ${f(k.sampling)}`),C.join(" · ")||_("models.editor.slotDefaults")}let y=0;function S(k){var O;const C=o();for(const T of s){const W=(O=k.sampling)==null?void 0:O[T.key];W!=null&&(C[T.key]=typeof W=="number"?JSON.stringify(W):String(W))}return{uid:++y,pid:k.id,model:k.model??"",thinking:k.thinking??"",sampling:C}}const $=e,A=$o(e,"open"),w=t,{t:_}=pt(),P=K(""),x=K({openai:[],anthropic:[],responses:[]}),U=K({openai:!1,anthropic:!1,responses:!1}),R=K({openai:!1,anthropic:!1,responses:!1}),E=K(""),F=K(!1),H=K(""),X=K({}),Z=K(!1),Q=K(!1),de=encodeURIComponent;function L(k){return $.providers.find(C=>C.id===k)}function M(k,C){const O=L(k);return O?O.formats.includes(C):!1}function D(k){return mo(L(k))}function J(){H.value="",X.value={},E.value="",Z.value=!1,x.value={openai:[],anthropic:[],responses:[]},U.value={openai:!1,anthropic:!1,responses:!1},R.value={openai:!1,anthropic:!1,responses:!1};const k=$.model;if(!k){Q.value=!1;return}P.value=k.name,E.value=k.paceRpm?String(k.paceRpm):"",Q.value=!!k.paceRpm;for(const C of n)x.value[C]=k[C].providers.map(S),U.value[C]=k[C].enabled}Re(A,k=>{k&&J()});function oe(k){var C;x.value[k].push(S({id:((C=$.providers[0])==null?void 0:C.id)??""})),U.value[k]=!0}function pe(k,C){const O=x.value[k].findIndex(T=>T.uid===C);O!==-1&&(x.value[k].splice(O,1),x.value[k].length||(U.value[k]=!1),delete X.value[k])}function Y(k){k.model="",k.thinking="",k.sampling=o()}const he=K(null),ee=K(null),Ye=(k,C)=>he.value===`${k}:${C}`,Ue=(k,C)=>{var O;return((O=ee.value)==null?void 0:O.fmt)===k&&ee.value.from===C};function ve(k,C){return Ue(k,C)?"bg-background/60 opacity-40":"bg-background/60"}function ye(k){const C=x.value[k],O=ee.value&&ee.value.fmt===k?ee.value.to:null,T=[],W=xe=>({key:"ph",ph:!0,slot:C[0],i:xe}),fe=(xe,be)=>({key:xe.uid,ph:!1,slot:xe,i:be});for(let xe=0;xe<C.length;xe++)O===xe&&T.push(W(xe)),T.push(fe(C[xe],xe));return O!==null&&O>=C.length&&T.push(W(C.length)),T}function te(k){he.value=k}function we(){he.value=null}function _e(k,C,O){var T;if(he.value!==`${k}:${C}`){O.preventDefault();return}ee.value={fmt:k,from:C,to:C},(T=O.dataTransfer)==null||T.setData("text/plain",""),O.dataTransfer&&(O.dataTransfer.effectAllowed="move")}function Fe(k,C,O){if(!ee.value||ee.value.fmt!==k)return;O.preventDefault(),O.dataTransfer&&(O.dataTransfer.dropEffect="move");const T=O.currentTarget.getBoundingClientRect();ee.value.to=O.clientY>T.top+T.height/2?C+1:C}function at(k,C){!ee.value||ee.value.fmt!==k||C.target===C.currentTarget&&(C.preventDefault(),ee.value.to=x.value[k].length)}function V(k){const C=ee.value;if(ee.value=null,we(),!C||C.fmt!==k||C.to===C.from||C.to===C.from+1)return;const O=x.value[k],[T]=O.splice(C.from,1);O.splice(C.to>C.from?C.to-1:C.to,0,T)}function G(){ee.value=null,we()}const ne=ae(()=>!F.value&&(!!$.model||!!P.value.trim()));function ue(){var O;H.value="",X.value={};const k=P.value.trim();if(!k)return H.value=_("models.editor.errNameRequired"),!1;if(k.includes("/"))return H.value=_("models.editor.errNameSlash"),!1;if(!$.model&&$.existingNames.includes(k))return H.value=_("models.editor.errNameExists",{name:k}),!1;for(const T of x.value.anthropic)if(T.thinking.trim()&&!/^\d+$/.test(T.thinking.trim()))return X.value.anthropic=_("models.editor.errThinkingBudget"),!1;const C={temperature:[0,2,!0],top_p:[0,1,!1],presence_penalty:[-2,2,!1],frequency_penalty:[-2,2,!1]};for(const T of n)for(const W of x.value[T])for(const{key:fe,bounded:xe}of s){const be=(O=W.sampling[fe])==null?void 0:O.trim();if(!be)continue;const Le=Number(be),qe=C[fe];if(!Number.isFinite(Le)||qe&&(Le<qe[0]||(qe[2]?Le>=qe[1]:Le>qe[1])))return X.value[T]=xe?_("models.editor.errSamplingRange",{key:fe}):_("models.editor.errSampling"),!1;if(fe==="seed"&&!Number.isInteger(Le))return X.value[T]=_("models.editor.errSampling"),!1}return!0}function ie(k){var O;const C={};for(const T of s){const W=(O=k[T.key])==null?void 0:O.trim();W&&(C[T.key]=Number(W))}return Object.keys(C).length?C:void 0}function le(k){return k.map(C=>{const O={id:C.pid};C.model.trim()&&(O.model=C.model.trim()),C.thinking.trim()&&(O.thinking=C.thinking.trim());const T=ie(C.sampling);return T&&(O.sampling=T),O})}async function I(){if(!(!ne.value||!ue())){F.value=!0;try{const k={};for(const O of n)k[O]={enabled:U.value[O],slots:le(x.value[O])};k.paceRpm=Number(E.value)||0;const C=await Ve("PUT",`/admin/models/${de(P.value.trim())}`,k);Be(_("models.editor.savedToast",{name:C.model.name}),"success"),A.value=!1,w("saved",C.model)}catch(k){Be(k.message,"error")}finally{F.value=!1}}}const q=ae(()=>$.providers.length>0),N=ae(()=>n.filter(k=>x.value[k].length>0||$.providers.some(C=>M(C.id,k))));return(k,C)=>(h(),z(r(Ws),{open:A.value,"onUpdate:open":C[5]||(C[5]=O=>A.value=O)},{default:g(()=>[m(r(Ks),{class:"max-w-xl"},{default:g(()=>[C[8]||(C[8]=b("datalist",{id:"thinking-words"},[b("option",{value:"low"}),b("option",{value:"medium"}),b("option",{value:"high"}),b("option",{value:"xhigh"})],-1)),C[9]||(C[9]=b("datalist",{id:"thinking-budgets"},[b("option",{value:"1024"}),b("option",{value:"4096"}),b("option",{value:"8192"}),b("option",{value:"16384"})],-1)),b("div",vC,[b("span",yC,[m(r(ko),{class:"h-4 w-4"})]),b("div",bC,[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(e.model?r(_)("models.editor.editTitle"):r(_)("models.editor.createTitle")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(r(_)("models.editor.desc")),1)]),_:1})])]),b("div",_C,[b("div",xC,[m(r(ht),{for:"m-name"},{default:g(()=>[j(v(r(_)("models.editor.nameLabel")),1)]),_:1}),m(r(mt),{id:"m-name",modelValue:P.value,"onUpdate:modelValue":C[0]||(C[0]=O=>P.value=O),disabled:!!e.model,placeholder:r(_)("models.editor.namePh"),class:"font-mono",spellcheck:"false",autocomplete:"off"},null,8,["modelValue","disabled","placeholder"]),H.value?(h(),B("p",wC,v(H.value),1)):e.model?(h(),B("p",kC,v(r(_)("models.editor.nameEditHint")),1)):(h(),B("p",CC,v(r(_)("models.editor.nameHint")),1))]),q.value?(h(),B(me,{key:1},[b("div",$C,[b("div",TC,[m(r(ht),null,{default:g(()=>[j(v(r(_)("models.editor.chainTitle")),1)]),_:1}),b("span",AC,v(r(_)("models.editor.chainPriority")),1)]),(h(!0),B(me,null,Pe(N.value,O=>(h(),B("div",{key:O,class:"rounded-md border bg-muted/30 p-2"},[b("button",{type:"button",class:"flex w-full cursor-pointer items-center gap-1.5 text-left","aria-expanded":R.value[O],onClick:T=>R.value[O]=!R.value[O]},[b("span",{class:ge(["h-2 w-2 rounded-full",r(ct)[O].solid])},null,2),b("span",OC,v(r(_)(r(xn)[O].label)),1),b("span",PC,v(r(xn)[O].endpoint),1),X.value[O]?(h(),z(r(Co),{key:0,class:"h-3 w-3 shrink-0 text-destructive",title:X.value[O]},null,8,["title"])):se("",!0),x.value[O].length?(h(),B("span",MC,v(r(_)("models.editor.fmtSummary",{n:x.value[O].length})),1)):se("",!0),m(r(dn),{class:ge(["h-3.5 w-3.5 shrink-0 text-muted-foreground/70 transition-transform",{"rotate-180":R.value[O]}])},null,8,["class"])],8,EC),R.value[O]&&!x.value[O].length?(h(),B("div",IC,v(r(_)("models.editor.emptyChain")),1)):Zo((h(),z(Vf,{key:1,tag:"div",name:"slots",class:"space-y-1",onDragover:T=>at(O,T),onDrop:Ie(T=>V(O),["prevent"])},{default:g(()=>[(h(!0),B(me,null,Pe(ye(O),T=>(h(),B("div",{key:T.key,class:ge(["space-y-1",T.ph?"ph h-8 shrink-0 rounded border border-dashed border-primary/50 bg-primary/10":""]),draggable:!T.ph&&Ye(O,T.i),onDragstart:W=>_e(O,T.i,W),onDragover:W=>Fe(O,T.i,W),onDrop:Ie(W=>V(O),["prevent"]),onDragend:G,onMouseup:we},[T.ph?se("",!0):(h(),B("div",{key:0,class:ge(["flex items-center gap-1 rounded px-1 py-0.5",ve(O,T.i)])},[b("button",{type:"button",class:"shrink-0 cursor-grab rounded p-0.5 text-muted-foreground/60 hover:text-foreground active:cursor-grabbing","aria-label":r(_)("models.editor.dragAria"),title:r(_)("models.editor.dragAria"),onMousedown:W=>te(`${O}:${T.i}`)},[m(r(Rk),{class:"h-3.5 w-3.5"})],40,LC),b("span",DC,v(T.i+1),1),m(r(zr),{modelValue:T.slot.pid,"onUpdate:modelValue":[W=>T.slot.pid=W,W=>Y(T.slot)]},{default:g(()=>[m(r(Wr),{class:"h-7 w-28 shrink-0 px-2 text-xs"},{default:g(()=>[m(r(Kr),{placeholder:r(_)("models.editor.providerPh")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[(h(!0),B(me,null,Pe(e.providers.filter(W=>M(W.id,O)),W=>(h(),z(r(ds),{key:W.id,value:W.id,class:"text-xs"},{default:g(()=>[b("span",NC,[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ps)(W.id).solid])},null,2),j(" "+v(W.name),1)])]),_:2},1032,["value"]))),128))]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"]),b("div",FC,[m(Mm,{modelValue:T.slot.model,"onUpdate:modelValue":W=>T.slot.model=W,options:D(T.slot.pid),placeholder:r(_)("models.editor.upstreamPh")},null,8,["modelValue","onUpdate:modelValue","options","placeholder"])]),m(r(ya),{open:c(O,T.slot.uid),"onUpdate:open":W=>d(O,T.slot.uid,W)},{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[b("button",{type:"button",class:ge(["ml-auto inline-flex h-7 max-w-44 min-w-0 shrink-0 cursor-pointer items-center gap-1 rounded-md border px-2 text-[11px] outline-none transition-colors",T.slot.thinking.trim()||a(T.slot)?"border-primary/40 bg-primary/10 text-primary":"border-dashed text-muted-foreground/70 hover:border-foreground/30 hover:text-foreground"]),title:p(T.slot)},[T.slot.thinking.trim()||a(T.slot)?(h(),B(me,{key:0},[T.slot.thinking.trim()?(h(),B(me,{key:0},[m(r(wo),{class:"h-3 w-3 shrink-0"}),b("span",BC,v(T.slot.thinking.trim()),1)],64)):se("",!0),T.slot.thinking.trim()&&a(T.slot)?(h(),B("span",VC,"·")):se("",!0),a(T.slot)?(h(),B(me,{key:2},[m(r(vs),{class:"h-3 w-3 shrink-0"}),b("span",UC,v(f(T.slot.sampling)),1)],64)):se("",!0)],64)):(h(),B(me,{key:1},[m(r(zk),{class:"h-3 w-3 shrink-0"}),j(" "+v(r(_)("models.editor.slotDefaults")),1)],64))],10,qC)]),_:2},1024),m(r(_a),{align:"end",class:"w-96 space-y-2.5 rounded-md border-primary/30 p-3 shadow-lg"},{default:g(()=>[b("div",HC,[b("div",jC,[b("div",zC,v(r(_)("models.editor.thinkingLabel")),1),b("button",{type:"button",class:"cursor-pointer text-xs text-muted-foreground transition-colors hover:text-foreground",onClick:W=>T.slot.thinking=""},v(r(_)("models.editor.thinkingClear")),9,WC)]),m(gC,{modelValue:T.slot.thinking,"onUpdate:modelValue":W=>T.slot.thinking=W,format:O},null,8,["modelValue","onUpdate:modelValue","format"])]),C[6]||(C[6]=b("div",{class:"border-t"},null,-1)),b("div",KC,[b("div",GC,[b("div",YC,v(r(_)("models.editor.samplingLabel")),1),b("button",{type:"button",class:"cursor-pointer text-xs text-muted-foreground transition-colors hover:text-foreground",onClick:W=>l(T.slot)},v(r(_)("models.editor.samplingClear")),9,XC)]),m(fC,{modelValue:T.slot.sampling,"onUpdate:modelValue":W=>T.slot.sampling=W,format:O},null,8,["modelValue","onUpdate:modelValue","format"])]),C[7]||(C[7]=b("div",{class:"border-t"},null,-1)),b("button",{type:"button",class:"-mx-1 flex w-full cursor-pointer items-center gap-1.5 rounded px-1 py-1 text-xs text-destructive transition-colors hover:bg-destructive/10",onClick:W=>{i.value=null,pe(O,T.slot.uid)}},[m(r(hr),{class:"h-3.5 w-3.5"}),j(v(r(_)("models.editor.removeSlot")),1)],8,JC)]),_:2},1024)]),_:2},1032,["open","onUpdate:open"])],2))],42,RC))),128))]),_:2},1032,["onDragover","onDrop"])),[[or,R.value[O]]]),X.value[O]&&R.value[O]?(h(),B("span",QC,[m(r(Co),{class:"h-3 w-3"}),j(v(X.value[O]),1)])):se("",!0),Zo(m(r(ke),{variant:"outline",size:"sm",class:"h-7 w-full border-dashed text-xs",disabled:!e.providers.some(T=>M(T.id,O)),onClick:T=>oe(O)},{default:g(()=>[m(r(Yn),{class:"h-3.5 w-3.5"}),j(v(r(_)("models.editor.addSlot")),1)]),_:1},8,["disabled","onClick"]),[[or,R.value[O]]])]))),128))]),b("div",ZC,[b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground","aria-expanded":Z.value,onClick:C[1]||(C[1]=O=>Z.value=!Z.value)},[m(r(cu),{class:"h-3.5 w-3.5"}),j(" "+v(r(_)("models.editor.helpToggle")),1)],8,eS)]),Z.value?(h(),B("div",tS,[b("p",null,v(r(_)("models.editor.helpUpstream")),1),b("p",null,v(r(_)("models.editor.helpThinking")),1),b("p",null,v(r(_)("models.editor.helpSampling")),1)])):se("",!0),b("div",nS,[b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground","aria-expanded":Q.value,onClick:C[2]||(C[2]=O=>Q.value=!Q.value)},[m(r(vs),{class:"h-3.5 w-3.5"}),j(" "+v(r(_)("models.editor.advancedToggle"))+" ",1),m(r(dn),{class:ge(["h-3.5 w-3.5 transition-transform",{"rotate-180":Q.value}])},null,8,["class"])],8,sS),Q.value?(h(),B("div",oS,[m(r(ht),{for:"m-pace"},{default:g(()=>[j(v(r(_)("models.editor.paceLabel")),1)]),_:1}),m(r(mt),{id:"m-pace",modelValue:E.value,"onUpdate:modelValue":C[3]||(C[3]=O=>E.value=O),type:"number",min:"0",inputmode:"numeric",placeholder:r(_)("models.editor.pacePh"),class:"w-32"},null,8,["modelValue","placeholder"]),b("p",rS,v(r(_)("models.editor.paceHint")),1)])):se("",!0)])],64)):(h(),B("div",SC,v(r(_)("models.editor.noProviders")),1))]),b("div",aS,[m(r(ke),{variant:"outline",disabled:F.value,onClick:C[4]||(C[4]=O=>A.value=!1)},{default:g(()=>[j(v(r(_)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:!ne.value,onClick:I},{default:g(()=>[F.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(r(_)("models.editor.save")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]))}}),Im=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},iS=Im(lS,[["__scopeId","data-v-1f5c7387"]]);function dd(e){let t=5381,n=-2128831035;for(let s=0;s<e.length;s++){const o=e.charCodeAt(s);t=(t<<5)+t+o|0,n=(n^o)*16777619|0}return(t>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")}function gi(e){if(Array.isArray(e))return e.map(gi);if(e&&typeof e=="object"){const t=e,n={};for(const[s,o]of Object.entries(t))s!=="cache_control"&&(n[s]=gi(o));return t.type==="input_text"&&(n.type="text"),n}return e}function uS(e){if(!e||typeof e!="object")return e;const t=gi({...e});return typeof t.content=="string"&&(t.content=[{type:"text",text:t.content}]),t.type==="message"&&delete t.type,t}const fd=80;function Rm(e){const t=e.replace(/\s+/g," ").trim();return t.length>fd?`${t.slice(0,fd)}…`:t}function*Lm(e){if(typeof e=="string"){e.trim()&&(yield e);return}if(Array.isArray(e)){for(const t of e)yield*Lm(t);return}if(e&&typeof e=="object"){const t=e.text;typeof t=="string"&&t.trim()&&(yield t)}}function cS(e){let t=e;for(;;){const n=/^\s*<([a-z][a-z0-9_-]*)((\s[^>]*)?)>/.exec(t);if(!n)return t;const s=t.indexOf(`</${n[1]}>`,n[0].length);if(s===-1)return t;t=t.slice(s+n[1].length+3)}}function dS(e){const t=s=>{const o=[];for(const a of e){if(!a||typeof a!="object")continue;const l=a;s.includes(l.role)&&o.push(...Lm(l.content))}return o},n=[...t(["user"]),...t(["assistant","system"])];for(const s of n){const o=cS(s).trim();if(o)return Rm(o)}return""}function fS(e,t){const n=new RegExp(`"${t}"\\s*:\\s*\\[`).exec(e);if(!n)return[];let s=n.index+n[0].length;const o=e.length,a=[];for(;;){for(;s<o&&/\s/.test(e[s]);)s++;if(s>=o||e[s]==="]")break;const l=s;let i=0,u=!1,c=!1,d=!1;for(;s<o;){const f=e[s++];if(u)c?c=!1:f==="\\"?c=!0:f==='"'&&(u=!1);else if(f==='"')u=!0;else if(f==="{"||f==="[")i++;else if((f==="}"||f==="]")&&(i--,i<=0)){d=!0;break}}if(!d||i!==0)break;for(a.push(e.slice(l,s));s<o&&/\s/.test(e[s]);)s++;if(e[s]===","){s++;continue}break}return a}function pS(e){const t=/"user_id"\s*:\s*"((?:[^"\\]|\\.)*)"/.exec(e);if(!t)return"";try{return JSON.parse(`"${t[1]}"`)}catch{return""}}function mS(e){var l;let t=null;try{t=JSON.parse(e)}catch{t=null}let n=[],s="";if(t&&typeof t=="object"){const i=t;typeof((l=i.metadata)==null?void 0:l.user_id)=="string"&&(s=i.metadata.user_id),Array.isArray(i.messages)?n=i.messages:Array.isArray(i.input)?n=i.input:typeof i.input=="string"&&i.input&&(n=[{role:"user",content:i.input}])}else{const i=/"messages"\s*:\s*\[/.test(e)?"messages":"input";n=fS(e,i).map(u=>{try{return JSON.parse(u)}catch{return null}}).filter(u=>u!==null),s=pS(e)}const o=[];let a="";for(const i of n)a=dd(`${a}|${dd(JSON.stringify(uS(i)))}`),o.push(a);return{hashes:o,uid:s,title:Rm(dS(n))}}function hS(e){const t=e.length,n=Array.from({length:t},(i,u)=>u),s=i=>{let u=i;for(;n[u]!==u;)u=n[u];for(;n[i]!==u;){const c=n[i];n[i]=u,i=c}return u},o=(i,u)=>{const c=s(i),d=s(u);c!==d&&(n[Math.max(c,d)]=Math.min(c,d))},a=new Map,l=new Map;for(let i=0;i<t;i++){const u=e[i];if(u.uid){const c=l.get(u.uid);c!==void 0?o(i,c):l.set(u.uid,i)}for(const c of u.hashes){const d=a.get(c);d!==void 0?o(i,d):a.set(c,i)}}return e.map((i,u)=>s(u))}function gS(e){const t=e.map(mS);return{ids:hS(t),shapes:t}}const vS=re({__name:"Switch",props:es({class:{type:[Boolean,null,String,Object,Array]},id:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=$o(e,"modelValue");return(s,o)=>(h(),z(r(fk),{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=a=>n.value=a),id:t.id,class:ge(r(Ge)("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",t.class))},{default:g(()=>[m(r(mk),{class:"pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"})]),_:1},8,["modelValue","id","class"]))}}),yS={key:0,class:"space-y-2"},bS={key:0,class:"flex flex-wrap gap-x-3 gap-y-0.5 rounded-md border bg-muted/30 px-2.5 py-1.5"},_S={class:"text-foreground"},xS={class:"border-b bg-muted/30 px-2.5 py-1"},wS={class:"space-y-1.5 px-2.5 py-1.5"},kS={key:0,class:"break-all font-mono text-[11px] text-muted-foreground"},CS={key:1,class:"space-y-1"},SS=["src","alt","onClick"],$S={class:"flex flex-wrap items-center gap-x-2 font-mono text-[11px] text-muted-foreground"},TS={class:"break-all"},AS=["href"],ES={key:2,class:"rounded bg-muted/50 px-2 py-1"},OS={class:"flex items-center gap-1 font-mono text-[11px] font-medium"},PS={class:"mt-0.5 whitespace-pre-wrap break-all font-mono text-[11px] text-muted-foreground"},MS=["onClick"],IS={key:3},RS={key:0,class:"mb-0.5 text-[11px] font-medium text-muted-foreground"},LS=["onClick"],DS={key:1,class:"overflow-hidden rounded-md border"},NS={class:"border-b bg-muted/30 px-2.5 py-1 text-[11px] font-medium text-muted-foreground"},FS=["onClick"],qS={class:"font-mono text-[11px] font-medium"},BS={key:0,class:"min-w-0 truncate text-[11px] text-muted-foreground"},VS={key:0,class:"space-y-1 px-2.5 pb-1.5"},US={key:0,class:"whitespace-pre-wrap break-words text-xs text-muted-foreground"},HS={key:1,class:"whitespace-pre-wrap break-all font-mono text-[11px] text-muted-foreground"},jS={key:2,class:"flex flex-wrap items-center gap-x-3 gap-y-0.5 font-mono text-[11px] text-muted-foreground"},zS={key:0},WS={key:1},KS={key:2},GS={key:3},YS={key:1,class:"max-h-96 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/50 p-3 font-mono text-xs"},XS=["src","alt"],Zs=2e3,pd=160,md=re({__name:"DebugContent",props:{body:{},kind:{}},setup(e){const t=e,{t:n}=pt(),s=K(new Set),o=K(null);function a(L){const M=new Set(s.value);M.has(L)?M.delete(L):M.add(L),s.value=M}function l(L,M){return s.value.has(M)||L.length<=Zs?L:L.slice(0,Zs)}const i=L=>typeof L=="string"?L:L==null?"":String(L),u=L=>typeof L=="number"?L:void 0,c=L=>L.length>pd?`${L.slice(0,pd)}…`:L;function d(L){if(typeof L=="string")try{return JSON.stringify(JSON.parse(L),null,2)}catch{return L}try{return JSON.stringify(L,null,2)}catch{return i(L)}}function f(L){if(typeof L!="string")return L;try{return JSON.parse(L)}catch{return L}}function p(L,M=!1){return{t:"text",text:i(L),think:M||void 0}}function y(L){var J;const M=typeof L.image_url=="string"?L.image_url:((J=L.image_url)==null?void 0:J.url)??L.url;if(M)return M;const D=L.source;return(D==null?void 0:D.type)==="base64"&&typeof D.data=="string"?`data:${i(D.media_type)||"image/png"};base64,${D.data}`:(D==null?void 0:D.type)==="url"&&typeof D.url=="string"?D.url:""}function S(L){const M=y(L);if(!M||!/^data:image\//.test(M)&&!/^https?:\/\//.test(M)){const D=M?c(M):"";return{t:"note",text:D?`${n("models.debugImage")} · ${D}`:n("models.debugImage")}}return{t:"img",src:M,note:M.startsWith("data:")?`base64 ${(M.length/1024).toFixed(1)}KB`:c(M)}}function $(L){if(typeof L=="string")return[p(L)];if(!L||typeof L!="object")return L==null?[]:[p(d(L))];const M=L;switch(M.type){case"text":case"input_text":case"output_text":case"refusal":return[p(M.text??M.refusal)];case"thinking":return[p(M.thinking??M.text,!0)];case"redacted_thinking":return[{t:"note",text:n("models.debugThinking")}];case"image_url":case"input_image":case"image":return[S(M)];case"tool_use":case"function_call":return[{t:"call",name:i(M.name),args:d(M.type==="tool_use"?M.input:M.arguments)}];case"tool_result":return[...M.tool_use_id?[{t:"note",text:c(i(M.tool_use_id))}]:[],...A(M.content)];case"function_call_output":return[...M.call_id?[{t:"note",text:c(i(M.call_id))}]:[],...A(M.output)];default:return[p(d(M))]}}function A(L){return L==null?[]:Array.isArray(L)?L.flatMap($):typeof L=="object"?$(L):[p(L)]}function w(L){return Array.isArray(L.tool_calls)?L.tool_calls.flatMap(M=>{const D=M==null?void 0:M.function;return D?[{t:"call",name:i(D.name),args:d(f(D.arguments))}]:[]}):[]}function _(L){if(typeof L=="string")return{role:"user",blocks:[p(L)]};if(!L||typeof L!="object")return null;const M=L,D=[...A(M.content),...w(M)];return D.length?{role:i(M.role)||"—",blocks:D}:null}function P(L){if(!L||typeof L!="object")return null;const M=L,D=M.function??M,J=i(D.name);if(!J)return null;const oe=i(D.description),pe=D.parameters??D.input_schema;return{name:J,desc:oe||void 0,schema:pe!=null?d(pe):void 0}}const x=new Set(["messages","tools","input","system","instructions","tool_choice"]);function U(L){const M=[];for(const[Y,he]of Object.entries(L))x.has(Y)||he==null||M.push({k:Y,v:c(typeof he=="object"?JSON.stringify(he):String(he))});const D=[],J=L.system??L.instructions;J!=null&&D.push({role:"system",blocks:A(J)});const oe=typeof L.input=="string"?[L.input]:L.messages??L.input;if(Array.isArray(oe))for(const Y of oe){const he=_(Y);he&&D.push(he)}const pe=Array.isArray(L.tools)?L.tools.map(P).filter(Y=>Y!==null):[];return{params:M,cards:D,tools:pe}}function R(L){return/^\s*(event|data|id|retry):/m.test(L)}function E(L){const M=[];for(const D of L.split(`
|
|
333
|
-
`)){const J=D.trim();if(!J.startsWith("data:"))continue;const oe=J.slice(5).trim();if(!(!oe||oe==="[DONE]"))try{M.push(JSON.parse(oe))}catch{}}return M}function F(L){var ve,ye;let M="",D="";const J=new Map;let oe,pe,Y;const he=te=>{let we=J.get(te);return we||(we={name:"",args:""},J.set(te,we)),we},ee=te=>{if(!te||typeof te!="object")return;const we=te;oe=u(we.prompt_tokens)??u(we.input_tokens)??oe,pe=u(we.completion_tokens)??u(we.output_tokens)??pe};for(const te of L){if(Array.isArray(te.choices)){const _e=te.choices[0],Fe=_e==null?void 0:_e.delta;if(Fe&&(typeof Fe.content=="string"&&(M+=Fe.content),typeof Fe.reasoning_content=="string"&&(D+=Fe.reasoning_content),Array.isArray(Fe.tool_calls)))for(const at of Fe.tool_calls){const V=he(typeof at.index=="number"?at.index:0),G=at.function;typeof(G==null?void 0:G.name)=="string"&&(V.name+=G.name),typeof(G==null?void 0:G.arguments)=="string"&&(V.args+=G.arguments)}typeof(_e==null?void 0:_e.finish_reason)=="string"&&_e.finish_reason&&(Y=_e.finish_reason)}ee(te.usage);const we=i(te.type);if(we==="message_start"&&ee((ve=te.message)==null?void 0:ve.usage),we==="content_block_delta"){const _e=te.delta;typeof(_e==null?void 0:_e.text)=="string"&&(M+=_e.text),typeof(_e==null?void 0:_e.thinking)=="string"&&(D+=_e.thinking),typeof(_e==null?void 0:_e.partial_json)=="string"&&(he(typeof te.index=="number"?te.index:0).args+=_e.partial_json)}if(we==="content_block_start"){const _e=te.content_block;(_e==null?void 0:_e.type)==="tool_use"&&(he(typeof te.index=="number"?te.index:0).name=i(_e.name))}if(we==="message_delta"){const _e=te.delta;typeof(_e==null?void 0:_e.stop_reason)=="string"&&_e.stop_reason&&(Y=_e.stop_reason),ee(te.usage)}we==="response.output_text.delta"&&typeof te.delta=="string"&&(M+=te.delta),we==="response.completed"&&ee((ye=te.response)==null?void 0:ye.usage)}const Ye=[];D&&Ye.push({role:"assistant",blocks:[p(D,!0)]});const Ue=[...J.values()].filter(te=>te.name||te.args).map(te=>({t:"call",name:te.name,args:te.args?d(te.args):void 0}));return(M||Ue.length)&&Ye.push({role:"assistant",blocks:[...M?[p(M)]:[],...Ue]}),{cards:Ye,inp:oe,out:pe,finish:Y,chunks:L.length}}function H(L){if(Array.isArray(L.choices)){const M=[];let D;for(const oe of L.choices){const pe=oe.message;if(!pe)continue;const Y=[...typeof pe.reasoning_content=="string"&&pe.reasoning_content?[p(pe.reasoning_content,!0)]:[],...A(pe.content),...w(pe)];Y.length&&M.push({role:i(pe.role)||"assistant",blocks:Y}),typeof oe.finish_reason=="string"&&oe.finish_reason&&(D=oe.finish_reason)}const J=L.usage;return!M.length&&!J?null:{cards:M,inp:u(J==null?void 0:J.prompt_tokens),out:u(J==null?void 0:J.completion_tokens),finish:D}}if(Array.isArray(L.content)){const M=A(L.content),D=L.usage;return!M.length&&!D?null:{cards:M.length?[{role:"assistant",blocks:M}]:[],inp:u(D==null?void 0:D.input_tokens),out:u(D==null?void 0:D.output_tokens),finish:typeof L.stop_reason=="string"&&L.stop_reason?L.stop_reason:void 0}}if(Array.isArray(L.output)){const M=[];for(const J of L.output)if(J.type==="function_call")M.push({role:"assistant",blocks:[{t:"call",name:i(J.name),args:d(f(J.arguments))}]});else if(J.type==="message"){const oe=A(J.content);oe.length&&M.push({role:i(J.role)||"assistant",blocks:oe})}const D=L.usage;return!M.length&&!D?null:{cards:M,inp:u(D==null?void 0:D.input_tokens),out:u(D==null?void 0:D.output_tokens),finish:i(L.status)||void 0}}return null}const X=ae(()=>{if(t.kind!=="request"||!t.body)return null;try{return U(JSON.parse(t.body))}catch{return null}}),Z=ae(()=>{if(t.kind!=="response"||!t.body)return null;try{const L=H(JSON.parse(t.body));if(L)return L}catch{if(R(t.body)){const L=E(t.body);if(L.length)return F(L)}}return null}),Q=ae(()=>{var L,M;return((L=X.value)==null?void 0:L.cards)??((M=Z.value)==null?void 0:M.cards)??[]}),de=ae(()=>{if(!t.body)return"";try{return JSON.stringify(JSON.parse(t.body),null,2)}catch{return t.body}});return(L,M)=>(h(),B(me,null,[X.value||Z.value?(h(),B("div",yS,[X.value&&X.value.params.length?(h(),B("div",bS,[(h(!0),B(me,null,Pe(X.value.params,D=>(h(),B("span",{key:D.k,class:"font-mono text-[11px] text-muted-foreground"},[b("span",_S,v(D.k),1),j("="+v(D.v),1)]))),128))])):se("",!0),(h(!0),B(me,null,Pe(Q.value,(D,J)=>(h(),B("div",{key:J,class:"overflow-hidden rounded-md border"},[b("div",xS,[m(r(Oe),{variant:"secondary",class:"font-mono text-[10px]"},{default:g(()=>[j(v(D.role),1)]),_:2},1024)]),b("div",wS,[(h(!0),B(me,null,Pe(D.blocks,(oe,pe)=>(h(),B(me,{key:pe},[oe.t==="note"?(h(),B("p",kS,v(oe.text),1)):oe.t==="img"?(h(),B("div",CS,[b("img",{src:oe.src,alt:r(n)("models.debugImage"),loading:"lazy",class:"max-h-28 max-w-full cursor-zoom-in rounded border bg-muted/30 object-contain",onClick:Y=>o.value=oe.src},null,8,SS),b("p",$S,[b("span",TS,v(oe.note),1),oe.src.startsWith("data:")?se("",!0):(h(),B("a",{key:0,href:oe.src,target:"_blank",rel:"noreferrer",class:"text-primary hover:underline",onClick:M[0]||(M[0]=Ie(()=>{},["stop"]))},v(r(n)("models.debugOpen")),9,AS))])])):oe.t==="call"?(h(),B("div",ES,[b("p",OS,[m(r(cd),{class:"h-3 w-3 shrink-0 text-muted-foreground"}),j(v(oe.name),1)]),oe.args?(h(),B(me,{key:0},[b("pre",PS,v(l(oe.args,`${J}-${pe}`)),1),oe.args.length>Zs?(h(),B("button",{key:0,type:"button",class:"text-[11px] text-primary hover:underline",onClick:Y=>a(`${J}-${pe}`)},v(s.value.has(`${J}-${pe}`)?r(n)("models.debugLess"):r(n)("models.debugMore",{n:oe.args.length-Zs})),9,MS)):se("",!0)],64)):se("",!0)])):(h(),B("div",IS,[oe.think?(h(),B("p",RS,v(r(n)("models.debugThinking")),1)):se("",!0),b("p",{class:ge(["whitespace-pre-wrap break-words text-xs leading-relaxed",oe.think?"italic text-muted-foreground":""])},v(l(oe.text,`${J}-${pe}`)),3),oe.text.length>Zs?(h(),B("button",{key:1,type:"button",class:"mt-0.5 text-[11px] text-primary hover:underline",onClick:Y=>a(`${J}-${pe}`)},v(s.value.has(`${J}-${pe}`)?r(n)("models.debugLess"):r(n)("models.debugMore",{n:oe.text.length-Zs})),9,LS)):se("",!0)]))],64))),128))])]))),128)),X.value&&X.value.tools.length?(h(),B("div",DS,[b("div",NS,v(r(n)("models.debugTools"))+" ("+v(X.value.tools.length)+")",1),(h(!0),B(me,null,Pe(X.value.tools,(D,J)=>(h(),B("div",{key:J,class:"border-b last:border-b-0"},[b("button",{type:"button",class:"flex w-full items-center gap-1.5 px-2.5 py-1 text-left hover:bg-muted/50",onClick:oe=>a(`tool-${J}`)},[m(r(Tm),{class:ge(["h-3 w-3 shrink-0 text-muted-foreground transition-transform",s.value.has(`tool-${J}`)?"rotate-90":""])},null,8,["class"]),m(r(cd),{class:"h-3 w-3 shrink-0 text-muted-foreground"}),b("span",qS,v(D.name),1),D.desc?(h(),B("span",BS,v(D.desc),1)):se("",!0)],8,FS),s.value.has(`tool-${J}`)?(h(),B("div",VS,[D.desc?(h(),B("p",US,v(D.desc),1)):se("",!0),D.schema?(h(),B("pre",HS,v(D.schema),1)):se("",!0)])):se("",!0)]))),128))])):se("",!0),Z.value&&(Z.value.inp!=null||Z.value.out!=null||Z.value.finish||Z.value.chunks)?(h(),B("div",jS,[Z.value.inp!=null?(h(),B("span",zS,v(r(n)("models.debugTokIn"))+" "+v(Z.value.inp),1)):se("",!0),Z.value.out!=null?(h(),B("span",WS,v(r(n)("models.debugTokOut"))+" "+v(Z.value.out),1)):se("",!0),Z.value.finish?(h(),B("span",KS,v(r(n)("models.debugFinish"))+": "+v(Z.value.finish),1)):se("",!0),Z.value.chunks?(h(),B("span",GS,v(r(n)("models.debugChunks",{n:Z.value.chunks})),1)):se("",!0)])):se("",!0)])):(h(),B("pre",YS,v(de.value),1)),(h(),z(br,{to:"body"},[o.value?(h(),B("div",{key:0,class:"fixed inset-0 z-[60] flex cursor-zoom-out items-center justify-center bg-black/80 p-8",onClick:M[1]||(M[1]=D=>o.value=null)},[b("img",{src:o.value,alt:r(n)("models.debugImage"),class:"max-h-full max-w-full rounded object-contain shadow-lg"},null,8,XS)])):se("",!0)]))],64))}}),JS={class:"flex flex-wrap items-center gap-1.5"},QS={class:"font-medium"},ZS={key:0,class:"font-mono text-xs text-muted-foreground"},e2={class:"ml-auto flex items-center gap-2"},t2={class:"flex items-center rounded-md border p-0.5"},n2={class:"font-mono text-xs text-muted-foreground"},s2={key:0,class:"flex items-center gap-1 overflow-x-auto pb-1"},o2=["title","onClick"],r2={key:1,class:"text-xs text-destructive"},a2={class:"space-y-1"},l2={class:"flex items-center justify-between"},i2={class:"text-xs font-medium text-muted-foreground"},u2={class:"flex items-center"},c2={key:0,class:"max-h-[60vh] overflow-y-auto"},d2={key:1,class:"max-h-96 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/50 p-3 font-mono text-xs"},f2={key:2,class:"space-y-1"},p2={class:"flex items-center justify-between"},m2={class:"text-xs font-medium text-muted-foreground"},h2={class:"flex items-center"},g2={key:0,class:"max-h-[60vh] overflow-y-auto"},v2={key:1,class:"max-h-96 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/50 p-3 font-mono text-xs"},y2={class:"flex items-center gap-2"},b2={class:"min-w-0 flex-1 text-sm"},_2={class:"flex items-center rounded-md border p-0.5"},x2={class:"text-xs text-muted-foreground"},w2={key:0,class:"space-y-1"},k2={class:"flex items-center justify-between"},C2={class:"text-xs font-medium text-muted-foreground"},S2={class:"max-h-80 divide-y overflow-y-auto rounded-md border"},$2=["onClick"],T2={class:"w-16 shrink-0 font-mono text-xs text-muted-foreground"},A2=["title"],E2=["onClick"],O2={class:"w-16 shrink-0 font-mono text-xs text-muted-foreground"},P2={class:"min-w-0 max-w-40 truncate font-medium"},M2=["title"],I2=["title"],R2=["title"],L2={class:"ml-auto shrink-0 font-mono text-xs text-muted-foreground"},D2={key:1,class:"flex flex-col items-center gap-2 px-4 py-10 text-center"},N2={class:"flex size-9 items-center justify-center rounded-lg bg-muted text-muted-foreground"},F2={class:"text-sm text-muted-foreground"},q2={key:2,class:"rounded-md border border-dashed px-3 py-6 text-center text-sm text-muted-foreground"},El=300,B2=re({__name:"ModelDebugDialog",props:{open:{type:Boolean},model:{}},emits:["update:open","changed"],setup(e,{emit:t}){const n=e,s=t,{t:o}=pt(),a=K(!1),l=K([]),i=K([]),u=K(!1),c=K(!1),d=K(null);async function f(){if(n.model){u.value=!0;try{const L=await Ve("GET",`/admin/models/${encodeURIComponent(n.model.name)}/debug`);a.value=L.enabled,l.value=L.captures,i.value=L.failures}catch(L){Be(L.message,"error")}finally{u.value=!1}}}Re(()=>n.open,L=>{L&&(d.value=null,w.value=null,f())});async function p(L){if(!(!n.model||c.value)){c.value=!0;try{const M=await Ve("PUT",`/admin/models/${encodeURIComponent(n.model.name)}/debug`,{enabled:L===!0});a.value=M.enabled,M.enabled||(l.value=[]),s("changed")}catch(M){Be(M.message,"error")}finally{c.value=!1}}}async function y(){if(!(!n.model||u.value)){u.value=!0;try{await Ve("DELETE",`/admin/models/${encodeURIComponent(n.model.name)}/debug/fails`),i.value=[]}catch(L){Be(L.message,"error")}finally{u.value=!1}}}const S=L=>L.status>=400||L.status===0,$=ae(()=>{const L=l.value.filter(M=>!S(M));return[...i.value.map(M=>({c:M,auto:!0})),...L.map(M=>({c:M,auto:!1}))].sort((M,D)=>D.c.ts-M.c.ts)}),A=K("conv"),w=K(null),_=ae(()=>{const{ids:L,shapes:M}=gS($.value.map(oe=>oe.c.request)),D=new Map($.value.map((oe,pe)=>[oe,M[pe]])),J=new Map;$.value.forEach((oe,pe)=>{let Y=J.get(L[pe]);Y||(Y={key:`c${L[pe]}`,title:"",items:[],lastTs:0,fails:0},J.set(L[pe],Y)),Y.items.push(oe),oe.c.ts>Y.lastTs&&(Y.lastTs=oe.c.ts),S(oe.c)&&(Y.fails+=1)});for(const oe of J.values())oe.items.sort((pe,Y)=>pe.c.ts-Y.c.ts),oe.title=oe.items.map(pe=>{var Y;return((Y=D.get(pe))==null?void 0:Y.title)??""}).find(Boolean)||o("models.debugConvNoUser");return[...J.values()].sort((oe,pe)=>pe.lastTs-oe.lastTs)});function P(L){w.value=L.items,d.value=L.items[L.items.length-1].c}function x(L){w.value=null,d.value=L.c}function U(L){return new Date(L).toLocaleTimeString([],{hour12:!1})}function R(L){if(!L)return"0B";const M=new TextEncoder().encode(L).length;return M>=1024?`${(M/1024).toFixed(1)}KB`:`${M}B`}const E=K(!1),F=K("content");Re(d,()=>{E.value=!1,F.value="content"});function H(L,M){if(typeof L=="string")return L.length<=El?L:(M.cut=!0,`${L.slice(0,El)}…${o("models.debugOmitted",{n:L.length-El})}`);if(Array.isArray(L))return L.map(D=>H(D,M));if(L&&typeof L=="object"){const D={};for(const[J,oe]of Object.entries(L))D[J]=H(oe,M);return D}return L}function X(L){if(!L)return{text:"",cut:!1};try{const M=JSON.parse(L),D={cut:!1},J=H(M,D);return{text:JSON.stringify(E.value?M:J,null,2),cut:D.cut}}catch{return{text:L,cut:!1}}}const Z=ae(()=>{var L;return X((L=d.value)==null?void 0:L.request)}),Q=ae(()=>{var L;return X((L=d.value)==null?void 0:L.response)});async function de(L){if(!L)return;const M=await kr(L);Be(o(M?"connect.copied":"connect.copyFailed"),M?"success":"error")}return(L,M)=>(h(),z(r(Ws),{open:e.open,"onUpdate:open":M[9]||(M[9]=D=>s("update:open",D))},{default:g(()=>[m(r(Ks),{class:"max-w-3xl"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>{var D;return[j(v(r(o)("models.debugTitle",{name:((D=e.model)==null?void 0:D.name)??""})),1)]}),_:1}),m(r(Ys),{class:"sr-only"},{default:g(()=>[j(v(r(o)("models.debugDesc")),1)]),_:1}),d.value?(h(),B(me,{key:0},[b("div",JS,[m(r(ke),{variant:"ghost",size:"sm",class:"h-7 px-2 text-muted-foreground",onClick:M[0]||(M[0]=D=>d.value=null)},{default:g(()=>[m(r(Ek),{class:"h-3.5 w-3.5"}),j(v(r(o)("models.debugBack")),1)]),_:1}),M[11]||(M[11]=b("span",{class:"h-4 w-px bg-border","aria-hidden":"true"},null,-1)),b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(d.value.providerId).solid])},null,2),b("span",QS,v(d.value.provider),1),d.value.upstreamModel?(h(),B("span",ZS,"› "+v(d.value.upstreamModel),1)):se("",!0),m(r(Oe),{variant:"outline",class:"shrink-0"},{default:g(()=>[j(v(r(Lt)(d.value.format)),1)]),_:1}),d.value.stream?(h(),z(r(Oe),{key:1,variant:"secondary",class:"shrink-0"},{default:g(()=>[...M[10]||(M[10]=[j("SSE",-1)])]),_:1})):se("",!0),d.value.status===0?(h(),z(r(Oe),{key:2,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("models.debugNetwork")),1)]),_:1})):d.value.status<300?(h(),z(r(Oe),{key:3,variant:"success",class:"shrink-0"},{default:g(()=>[j(v(d.value.status),1)]),_:1})):(h(),z(r(Oe),{key:4,variant:"destructive",class:"shrink-0"},{default:g(()=>[j(v(d.value.status),1)]),_:1})),d.value.truncated?(h(),z(r(Oe),{key:5,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("models.debugTruncated")),1)]),_:1})):se("",!0),b("div",e2,[b("div",t2,[b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",F.value==="content"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[1]||(M[1]=D=>F.value="content")},v(r(o)("models.debugViewContent")),3),b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",F.value==="raw"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[2]||(M[2]=D=>F.value="raw")},v(r(o)("models.debugViewRaw")),3)]),b("span",n2,v(U(d.value.ts))+" · "+v(d.value.ms)+"ms",1)])]),w.value&&w.value.length>1?(h(),B("div",s2,[(h(!0),B(me,null,Pe(w.value,(D,J)=>(h(),B("button",{key:`a${D.c.ts}-${J}`,type:"button",class:ge(["flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5 font-mono text-[10px] transition-colors",D.c===d.value?"border-foreground/30 bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/50"]),title:`${D.c.provider}${D.c.upstreamModel?` › ${D.c.upstreamModel}`:""} · ${D.c.ms}ms`,onClick:oe=>d.value=D.c},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ps)(D.c.providerId).solid])},null,2),j(" "+v(U(D.c.ts))+" ",1),b("span",{class:ge(D.c.status===0||D.c.status>=400?"text-destructive":"text-emerald-500")},v(D.c.status||"×"),3)],10,o2))),128))])):se("",!0),d.value.error?(h(),B("p",r2,v(d.value.error),1)):se("",!0),b("div",a2,[b("div",l2,[b("span",i2,v(r(o)("models.debugReq"))+" · "+v(R(d.value.request)),1),b("div",u2,[F.value==="raw"&&Z.value.cut?(h(),z(r(ke),{key:0,variant:"ghost",size:"sm",class:"h-6 px-2 text-[11px] text-muted-foreground",onClick:M[3]||(M[3]=D=>E.value=!E.value)},{default:g(()=>[j(v(E.value?r(o)("models.debugCollapse"):r(o)("models.debugExpand")),1)]),_:1})):se("",!0),m(r(ke),{variant:"ghost",size:"icon",class:"size-6 text-muted-foreground",title:r(o)("connect.copy"),"aria-label":r(o)("connect.copy"),onClick:M[4]||(M[4]=D=>de(d.value.request))},{default:g(()=>[m(r(rn),{class:"h-3 w-3"})]),_:1},8,["title","aria-label"])])]),F.value==="content"?(h(),B("div",c2,[m(md,{body:d.value.request,kind:"request"},null,8,["body"])])):(h(),B("pre",d2,v(Z.value.text),1))]),d.value.response!==void 0?(h(),B("div",f2,[b("div",p2,[b("span",m2,v(r(o)("models.debugResp"))+" · "+v(R(d.value.response)),1),b("div",h2,[F.value==="raw"&&Q.value.cut?(h(),z(r(ke),{key:0,variant:"ghost",size:"sm",class:"h-6 px-2 text-[11px] text-muted-foreground",onClick:M[5]||(M[5]=D=>E.value=!E.value)},{default:g(()=>[j(v(E.value?r(o)("models.debugCollapse"):r(o)("models.debugExpand")),1)]),_:1})):se("",!0),m(r(ke),{variant:"ghost",size:"icon",class:"size-6 text-muted-foreground",title:r(o)("connect.copy"),"aria-label":r(o)("connect.copy"),onClick:M[6]||(M[6]=D=>de(d.value.response))},{default:g(()=>[m(r(rn),{class:"h-3 w-3"})]),_:1},8,["title","aria-label"])])]),F.value==="content"?(h(),B("div",g2,[m(md,{body:d.value.response,kind:"response"},null,8,["body"])])):(h(),B("pre",v2,v(Q.value.text),1))])):se("",!0)],64)):(h(),B(me,{key:1},[b("div",y2,[m(r(vS),{"model-value":a.value,disabled:c.value||u.value,"aria-label":r(o)("models.debugSwitch"),"onUpdate:modelValue":p},null,8,["model-value","disabled","aria-label"]),b("span",b2,v(r(o)("models.debugSwitch")),1),b("div",_2,[b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",A.value==="conv"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[7]||(M[7]=D=>A.value="conv")},v(r(o)("models.debugModeConv")),3),b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",A.value==="flat"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[8]||(M[8]=D=>A.value="flat")},v(r(o)("models.debugModeFlat")),3)]),m(r(ke),{variant:"outline",size:"icon",class:"size-8 shrink-0",disabled:u.value,title:r(o)("models.debugRefresh"),"aria-label":r(o)("models.debugRefresh"),onClick:f},{default:g(()=>[u.value?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"}))]),_:1},8,["disabled","title","aria-label"])]),b("p",x2,v(r(o)("models.debugHint")),1),$.value.length?(h(),B("div",w2,[b("div",k2,[b("span",C2,v(r(o)("models.debugFailsTitle",{n:i.value.length})),1),i.value.length?(h(),z(r(ke),{key:0,variant:"ghost",size:"icon",class:"size-6 text-muted-foreground",disabled:u.value,title:r(o)("models.debugClearFails"),"aria-label":r(o)("models.debugClearFails"),onClick:y},{default:g(()=>[m(r(Eo),{class:"h-3 w-3"})]),_:1},8,["disabled","title","aria-label"])):se("",!0)]),b("div",S2,[A.value==="conv"?(h(!0),B(me,{key:0},Pe(_.value,D=>(h(),B("button",{key:D.key,type:"button",class:"flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-muted/50",onClick:J=>P(D)},[b("span",T2,v(U(D.lastTs)),1),b("span",{class:"min-w-0 flex-1 truncate",title:D.title},v(D.title),9,A2),D.fails?(h(),z(r(Oe),{key:0,variant:"destructive",class:"shrink-0 text-[10px]"},{default:g(()=>[j(v(r(o)("models.debugConvFails",{n:D.fails})),1)]),_:2},1024)):se("",!0),m(r(Oe),{variant:"secondary",class:"shrink-0 text-[10px]"},{default:g(()=>[j(v(r(o)("models.debugConvReqs",{n:D.items.length})),1)]),_:2},1024)],8,$2))),128)):(h(!0),B(me,{key:1},Pe($.value,(D,J)=>(h(),B("button",{key:`${D.c.ts}-${J}`,type:"button",class:"flex w-full cursor-pointer flex-wrap items-center gap-x-2 gap-y-0.5 px-3 py-1.5 text-left transition-colors hover:bg-muted/50",onClick:oe=>x(D)},[b("span",O2,v(U(D.c.ts)),1),b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(D.c.providerId).solid])},null,2),b("span",P2,v(D.c.provider),1),D.c.upstreamModel?(h(),B("span",{key:0,class:"min-w-0 max-w-40 truncate font-mono text-xs text-muted-foreground",title:D.c.upstreamModel},"› "+v(D.c.upstreamModel),9,M2)):se("",!0),D.c.status===0?(h(),z(r(Oe),{key:1,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("models.debugNetwork")),1)]),_:1})):D.c.status<300?(h(),z(r(Oe),{key:2,variant:"success",class:"shrink-0 font-mono"},{default:g(()=>[j(v(D.c.status),1)]),_:2},1024)):(h(),z(r(Oe),{key:3,variant:"destructive",class:"shrink-0 font-mono"},{default:g(()=>[j(v(D.c.status),1)]),_:2},1024)),D.c.thinking?(h(),B("span",{key:4,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(o)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(D.c.thinking.value),1)],8,I2)):se("",!0),r(an)(D.c.sampling)?(h(),B("span",{key:5,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(o)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(D.c.sampling)),1)],8,R2)):se("",!0),D.auto?(h(),z(r(Oe),{key:6,variant:"secondary",class:"shrink-0 text-[10px]"},{default:g(()=>[j(v(r(o)("models.debugAutoTag")),1)]),_:1})):se("",!0),b("span",L2,v(D.c.ms)+"ms · "+v(R(D.c.request))+"/"+v(R(D.c.response)),1)],8,E2))),128))])])):a.value?(h(),B("div",D2,[b("span",N2,[m(r(Ho),{class:"size-4"})]),b("p",F2,v(r(o)("models.debugEmpty")),1)])):(h(),B("div",q2,v(r(o)("models.debugEmptyOff")),1))],64))]),_:1})]),_:1},8,["open"]))}}),V2={class:"space-y-2"},U2={class:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground"},H2={key:0,class:"font-normal"},j2={key:1,class:"font-normal"},z2=["title"],W2={class:"w-3 shrink-0 text-right text-[10px] tabular-nums text-muted-foreground/60"},K2={class:"min-w-0 flex-1 leading-tight"},G2={class:"truncate text-xs font-medium"},Y2={key:0,class:"flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-muted-foreground"},X2=["title"],J2=["title"],Q2=["title"],Z2=["title","aria-label","onClick"],e$={key:1,class:"shrink-0 font-mono text-[11px] font-semibold text-destructive"},t$=["title","aria-label","onClick"],n$=["title","aria-label","onClick"],s$={key:0,class:"rounded-md bg-destructive/10 px-2 py-1.5 font-mono text-[11px] break-all whitespace-pre-wrap text-destructive"},o$={class:"opacity-70"},hd=re({__name:"ChainDetails",props:{model:{},line:{},active:{},fails:{},slotState:{type:Function},slotTitle:{type:Function},slotClass:{type:Function},probeSlot:{type:Function},useSlot:{type:Function}},setup(e){const t=e,{t:n}=pt();function s(l){const i=(t.fails??[]).filter(u=>u.providerId===t.line.slots[l].id);return i.length?i.reduce((u,c)=>c.ts>=u.ts?c:u):void 0}const o=K(null);function a(l){o.value=o.value===l?null:l}return(l,i)=>(h(),B("div",V2,[b("div",U2,[(h(!0),B(me,null,Pe(e.line.fs,u=>(h(),B(me,{key:u},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct)[u].solid])},null,2),j(" "+v(r(n)(r(xn)[u].label)),1)],64))),128)),e.line.enabled?se("",!0):(h(),B("span",H2,"· "+v(r(n)("models.routeDisabled")),1)),e.active!==void 0?(h(),B("span",j2,"· "+v(r(n)("models.chainActiveHint")),1)):se("",!0)]),b("div",{class:ge(["space-y-1",{"opacity-60":!e.line.enabled}])},[(h(!0),B(me,null,Pe(e.line.slots,(u,c)=>{var d,f,p,y;return h(),B(me,{key:c},[b("div",{class:ge(["flex items-center gap-2 rounded-md border px-2 py-1.5 transition-colors",[e.slotClass(e.model,e.line,c),c===e.active?"ring-1 ring-primary/60":""]]),title:e.slotState(e.model,e.line,c)?e.slotTitle(e.model,e.line,c):void 0},[b("span",W2,v(c+1),1),b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(u.id).solid])},null,2),b("div",K2,[b("div",G2,v(u.name),1),u.model||u.thinking||r(an)(u.sampling)?(h(),B("div",Y2,[u.model?(h(),B("span",{key:0,class:"min-w-0 truncate",title:u.model},"› "+v(u.model),9,X2)):se("",!0),u.thinking?(h(),B("span",{key:1,class:"inline-flex shrink-0 items-center gap-0.5",title:r(n)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(u.thinking),1)],8,J2)):se("",!0),r(an)(u.sampling)?(h(),B("span",{key:2,class:"inline-flex shrink-0 items-center gap-0.5",title:r(n)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(u.sampling)),1)],8,Q2)):se("",!0)])):se("",!0)]),c!==0?(h(),B("button",{key:0,type:"button",class:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground/40 transition-colors hover:bg-accent hover:text-accent-foreground",title:r(n)("models.chainUseTip"),"aria-label":`${r(n)("models.chainUseTip")} · ${u.name}`,onClick:Ie(S=>e.useSlot(e.model,e.line,c),["stop"])},[m(r(Uk),{class:"h-3 w-3"})],8,Z2)):se("",!0),e.line.enabled?(h(),B(me,{key:1},[((d=e.slotState(e.model,e.line,c))==null?void 0:d.state)==="ok"?(h(),z(r(Qt),{key:0,class:"h-3.5 w-3.5 shrink-0 text-emerald-600 dark:text-emerald-400"})):((f=e.slotState(e.model,e.line,c))==null?void 0:f.state)==="fail"?(h(),B("span",e$,v(((p=e.slotState(e.model,e.line,c))==null?void 0:p.status)||"✗"),1)):se("",!0),s(c)?(h(),B("button",{key:2,type:"button",class:"inline-flex shrink-0 items-center gap-0.5 rounded px-0.5 font-mono text-[10px] font-semibold text-destructive transition-colors hover:bg-destructive/10",title:r(n)("models.chainFailHint"),"aria-label":r(n)("models.chainFailHint"),onClick:Ie(S=>a(c),["stop"])},[m(r(Co),{class:"h-3 w-3"}),j(v(s(c).status||"?"),1)],8,t$)):se("",!0),((y=e.slotState(e.model,e.line,c))==null?void 0:y.state)!=="testing"?(h(),B("button",{key:3,type:"button",class:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground/40 transition-colors hover:bg-accent hover:text-accent-foreground",title:r(n)("models.testSourceHint"),"aria-label":`${r(n)("models.testSource")} · ${u.name}`,onClick:Ie(S=>e.probeSlot(e.model,e.line,c),["stop"])},[m(r(Fs),{class:"h-3 w-3"})],8,n$)):(h(),z(r(vt),{key:4,class:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}))],64)):se("",!0)],10,z2),o.value===c&&s(c)?(h(),B("div",s$,[b("span",o$,"HTTP "+v(s(c).status)+" · ",1),j(v(s(c).error||r(n)("models.probeFail")),1)])):se("",!0)],64)}),128))],2)]))}}),r$={class:"flex gap-3 pr-8"},a$={key:0,class:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive"},l$={class:"min-w-0 flex-1 space-y-1.5"},i$={class:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"},fu=re({__name:"ConfirmDialog",props:es({title:{},description:{},confirmText:{default:""},cancelText:{default:""},variant:{default:"default"},loading:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:es(["confirm"],["update:open"]),setup(e,{emit:t}){const{t:n}=pt(),s=$o(e,"open"),o=t;return(a,l)=>(h(),z(r(Ws),{open:s.value,"onUpdate:open":l[2]||(l[2]=i=>s.value=i)},{default:g(()=>[m(r(Ks),{class:"max-w-sm"},{default:g(()=>[b("div",r$,[e.variant==="destructive"?(h(),B("span",a$,[m(r(Co),{class:"h-4 w-4"})])):se("",!0),b("div",l$,[m(r(Gs),{class:"text-base leading-tight"},{default:g(()=>[j(v(e.title),1)]),_:1}),e.description?(h(),z(r(Ys),{key:0},{default:g(()=>[j(v(e.description),1)]),_:1})):se("",!0)])]),b("div",i$,[m(r(ke),{variant:"outline",disabled:e.loading,onClick:l[0]||(l[0]=i=>s.value=!1)},{default:g(()=>[j(v(e.cancelText||r(n)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{variant:e.variant,disabled:e.loading,onClick:l[1]||(l[1]=i=>o("confirm"))},{default:g(()=>[e.loading?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(e.confirmText||r(n)("common.confirm")),1)]),_:1},8,["variant","disabled"])])]),_:1})]),_:1},8,["open"]))}}),u$={class:"space-y-4"},c$={class:"flex flex-wrap items-center gap-2"},d$={class:"relative min-w-[180px] flex-1"},f$={class:"flex items-center rounded-md border p-0.5"},p$={key:0,class:"py-8 text-center text-sm text-muted-foreground"},m$={key:1,class:"py-8 text-center text-sm text-destructive"},h$={class:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary/15 text-primary"},g$={class:"space-y-1"},v$={class:"font-medium"},y$={class:"max-w-sm text-sm text-muted-foreground"},b$={class:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary/15 text-primary"},_$={class:"space-y-1"},x$={class:"font-medium"},w$={class:"max-w-sm text-sm text-muted-foreground"},k$={key:4,class:"py-8 text-center text-sm text-muted-foreground"},C$={key:5,class:"grid items-stretch gap-3 md:grid-cols-2"},S$={class:"flex h-full flex-col gap-3 p-4"},$$={class:"flex min-w-0 items-center gap-1.5"},T$={class:"truncate font-mono text-sm font-semibold"},A$=["title","aria-label","onClick"],E$={class:"opacity-0 transition-all focus-within:opacity-100 group-hover:opacity-100"},O$={class:"min-w-0 flex-1 space-y-1.5"},P$=["title","aria-label","onClick"],M$=["title","aria-label"],I$={class:"shrink-0 font-medium"},R$=["title"],L$=["title"],D$=["title"],N$={key:0,class:"text-xs text-muted-foreground"},F$={key:1,class:"rounded-md border border-dashed px-2.5 py-2 text-xs text-muted-foreground"},q$={key:6,class:"overflow-hidden rounded-lg border"},B$={class:"space-y-1"},V$={class:"font-mono text-sm font-medium"},U$={key:0,class:"flex flex-wrap items-center gap-1"},H$={class:"flex flex-wrap items-center gap-1.5"},j$=["title","aria-label","onClick"],z$={key:0,class:"min-w-0 space-y-1"},W$=["title"],K$=["title","aria-label"],G$={class:"shrink-0 font-medium"},Y$=["title"],X$=["title"],J$=["title"],Q$={key:1,class:"text-xs text-muted-foreground"},Z$={key:1,class:"text-xs text-muted-foreground"},eT={key:1,class:"text-xs text-muted-foreground"},tT={class:"flex items-center justify-end gap-0.5"},nT={class:"space-y-1.5"},sT={class:"text-xs text-muted-foreground"},oT={class:"flex justify-end gap-2"},gd="myapikey.view.models",rT=re({__name:"Models",emits:["goto"],setup(e,{emit:t}){const n=t,{t:s}=pt(),o=K(localStorage.getItem(gd)==="table"?"table":"cards");function a(N){o.value=N;try{localStorage.setItem(gd,N)}catch{}}const l=["openai","anthropic","responses"],i=K([]),u=K([]),c=K(!1),d=K(""),f=K(""),p=K(!1),y=K(null),S=K(!1);function $(N){y.value=N,S.value=!1,p.value=!0}function A(){y.value=null,S.value=!0,p.value=!0}function w(){D()}const _=K(!1),P=K(null),x=K(""),U=K(!1),R=K(!1),E=K(null);function F(N){E.value=N,R.value=!0}function H(N){P.value=N,x.value=N.name,_.value=!0}async function X(){const N=P.value,k=x.value.trim();if(!(!N||!k||k===N.name)){U.value=!0;try{await Ve("POST",`/admin/models/${Z(N.name)}/rename`,{name:k}),await D(),Be(s("models.renamedToast",{from:N.name,to:k}),"success"),_.value=!1}catch(C){Be(C.message,"error")}finally{U.value=!1}}}const Z=encodeURIComponent,Q=K(null),de=K(!1),L=K(!1);async function M(){const N=Q.value;if(N){L.value=!0;try{await Ve("DELETE",`/admin/models/${Z(N.name)}`),i.value=i.value.filter(k=>k.name!==N.name),Be(s("models.removedToast",{name:N.name}),"success"),de.value=!1}catch(k){Be(k.message,"error")}finally{L.value=!1}}}async function D(){c.value=!0,d.value="";try{const[N,k]=await Promise.all([Ve("GET","/admin/models"),Ve("GET","/admin/providers")]);i.value=N.models,u.value=k.providers}catch(N){d.value=N.message}finally{c.value=!1}}rt(D);const J=ae(()=>{const N=f.value.trim().toLowerCase();return i.value.filter(k=>!N||k.name.toLowerCase().includes(N))});function oe(N){return l.filter(k=>N[k].enabled)}const pe=N=>{const k=O=>O.map(T=>`${T.id}|${T.model??""}|${T.thinking??""}|${JSON.stringify(T.sampling??{})}`).join(">"),C=[];for(const O of l){if(!N[O].providers.length)continue;const T=`${N[O].enabled}|${k(N[O].providers)}`,W=C.find(fe=>fe.key===T);W?W.fs.push(O):C.push({fs:[O],enabled:N[O].enabled,slots:N[O].providers,key:T})}return C};function Y(N,k){const C=(N.lastRoute??[]).filter(O=>k.fs.includes(O.format));if(C.length){const O=C.reduce((W,fe)=>fe.ts>=W.ts?fe:W),T=k.slots.findIndex(W=>W.id===O.providerId);if(T>=0)return{s:k.slots[T],i:T,actual:!0}}return{s:k.slots[0],i:0,actual:!1}}function he(N,k){return(N.lastFail??[]).filter(C=>k.fs.includes(C.format))}function ee(N,k){return N[k].enabled?"on":N[k].providers.length?"off":"none"}function Ye(N,k){const C=ee(N,k);return C==="on"?`border-transparent ${ct[k].solid} text-white shadow-sm`:C==="off"?"border-dashed border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground":"border-transparent text-muted-foreground/40"}function Ue(N,k){const C=ee(N,k);return C==="on"?`${s(xn[k].label)} · ${s("models.chipOn")}`:C==="off"?`${s(xn[k].label)} · ${s("models.chipOff")}`:`${s(xn[k].label)} · ${s("models.chipNa")}`}async function ve(N,k){if(ee(N,k)==="none")return;const C=N[k].providers.map(O=>({id:O.id,...O.model?{model:O.model}:{},...O.thinking?{thinking:O.thinking}:{},...O.sampling&&Object.keys(O.sampling).length?{sampling:O.sampling}:{}}));try{await Ve("PUT",`/admin/models/${Z(N.name)}`,{[k]:{enabled:!N[k].enabled,slots:C}}),N[k].enabled=!N[k].enabled,Be(s(N[k].enabled?"models.enabledToast":"models.disabledToast",{name:`${N.name} [${k}]`}),"success")}catch(O){Be(O.message,"error")}}async function ye(N,k,C){if(C===0||C>=k.slots.length)return;const O=[k.slots[C],...k.slots.filter((W,fe)=>fe!==C)].map(W=>({id:W.id,...W.model?{model:W.model}:{},...W.thinking?{thinking:W.thinking}:{},...W.sampling&&Object.keys(W.sampling).length?{sampling:W.sampling}:{}})),T={};for(const W of k.fs)T[W]={enabled:N[W].enabled,slots:O};try{await Ve("PUT",`/admin/models/${Z(N.name)}`,T);for(const W of k.fs){const fe=N[W].providers;fe.length===k.slots.length&&(N[W].providers=[fe[C],...fe.filter((xe,be)=>be!==C)])}Be(s("models.chainUseToast",{name:N.name,provider:k.slots[C].name}),"success")}catch(W){Be(W.message,"error")}}function te(N,k){const C=N[k].providers;if(!C.length)return!1;const O=T=>mo(u.value.find(W=>W.id===T));return!C.some(T=>O(T.id).includes(T.model??N.name))&&C.some(T=>O(T.id).length>0)}function we(N){return oe(N).some(k=>te(N,k))}const _e=K({}),Fe=K({});async function at(N){const k=oe(N);if(k.length){for(const C of k)_e.value[`${N.name}:${C}`]=!0;await Promise.all(k.map(async C=>{const O=`${N.name}:${C}`;try{const T=await Ve("POST",`/admin/models/${Z(N.name)}/test?format=${C}`);Fe.value[O]=T.result}catch(T){Fe.value[O]={ok:!1,status:0,format:C,error:T.message}}finally{_e.value[O]=!1}}))}}function V(N){let k=!1,C=null,O=null;for(const T of oe(N)){const W=`${N.name}:${T}`;_e.value[W]&&(k=!0);const fe=Fe.value[W];fe!=null&&fe.ok&&!C?C=fe:fe&&!fe.ok&&!O&&(O=fe)}return k?{state:"testing"}:C?{state:"ok",provider:C.provider}:O?{state:"fail",status:O.status,error:O.error}:null}const G=K({}),ne=K({});async function ue(N,k,C){const O=k.fs.filter(T=>!G.value[`${N.name}:${T}:${C}`]);if(O.length){for(const T of O)G.value[`${N.name}:${T}:${C}`]=!0;await Promise.all(O.map(async T=>{const W=`${N.name}:${T}:${C}`;try{const fe=await Ve("POST",`/admin/models/${Z(N.name)}/providers/test?format=${T}&index=${C}`);ne.value[W]=fe.result}catch(fe){ne.value[W]={ok:!1,status:0,format:T,error:fe.message}}finally{G.value[W]=!1}}))}}function ie(N,k,C){let O=!1,T=null,W=null;for(const fe of k.fs){const xe=`${N.name}:${fe}:${C}`;G.value[xe]&&(O=!0);const be=ne.value[xe];be!=null&&be.ok&&!T?T=be:be&&!be.ok&&!W&&(W=be)}return O?{state:"testing"}:T?{state:"ok",provider:T.provider}:W?{state:"fail",status:W.status,error:W.error}:null}function le(N,k,C){const O=ie(N,k,C);return(O==null?void 0:O.state)==="ok"?"border-emerald-500/40 bg-emerald-500/10":(O==null?void 0:O.state)==="fail"?"border-destructive/40 bg-destructive/10":"border-transparent bg-muted/60"}function I(N,k,C){return k.fs.map(O=>{const T=ne.value[`${N.name}:${O}:${C}`],W=s(xn[O].label);return T?T.ok?`${W} ✓ ${s("models.probeOk")}${T.provider?` (${T.provider})`:""}`:`${W} ✗ ${T.status||"?"}${T.error?` ${T.error}`:""}`:W}).join(`
|
|
334
|
-
`)}async function q(N){const k=await kr(N);Be(s(k?"connect.copied":"connect.copyFailed"),k?"success":"error")}return(N,k)=>(h(),B("div",u$,[b("div",c$,[b("div",d$,[m(r(du),{class:"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=C=>f.value=C),placeholder:r(s)("models.searchPh"),class:"pl-8"},null,8,["modelValue","placeholder"])]),b("div",f$,[m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",o.value==="cards"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(s)("common.viewCards"),"aria-label":r(s)("common.viewCards"),onClick:k[1]||(k[1]=C=>a("cards"))},{default:g(()=>[m(r(Em),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"]),m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",o.value==="table"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(s)("common.viewTable"),"aria-label":r(s)("common.viewTable"),onClick:k[2]||(k[2]=C=>a("table"))},{default:g(()=>[m(r(Pm),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"])]),m(r(ke),{onClick:k[3]||(k[3]=C=>A())},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(s)("models.newModel")),1)]),_:1})]),c.value?(h(),B("p",p$,v(r(s)("common.loading")),1)):d.value?(h(),B("p",m$,v(d.value),1)):!u.value.length&&!i.value.length?(h(),z(r(Vt),{key:2},{default:g(()=>[m(r(en),{class:"flex flex-col items-center gap-3 py-12 text-center"},{default:g(()=>[b("span",h$,[m(r(ko),{class:"h-5 w-5"})]),b("div",g$,[b("div",v$,v(r(s)("models.emptyNoSources")),1),b("p",y$,v(r(s)("models.emptyNoSourcesHint")),1)]),m(r(ke),{onClick:k[4]||(k[4]=C=>n("goto","sources"))},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(s)("sources.add")),1)]),_:1})]),_:1})]),_:1})):!J.value.length&&!f.value?(h(),z(r(Vt),{key:3},{default:g(()=>[m(r(en),{class:"flex flex-col items-center gap-3 py-12 text-center"},{default:g(()=>[b("span",b$,[m(r(Am),{class:"h-5 w-5"})]),b("div",_$,[b("div",x$,v(r(s)("models.emptyNoModels")),1),b("p",w$,v(r(s)("models.emptyNoModelsHint")),1)]),m(r(ke),{onClick:k[5]||(k[5]=C=>A())},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(s)("models.newModel")),1)]),_:1})]),_:1})]),_:1})):J.value.length?o.value==="cards"?(h(),B("div",C$,[(h(!0),B(me,null,Pe(J.value,C=>(h(),z(r(Vt),{key:C.name,class:"group gap-0 py-0 transition-colors hover:bg-muted/30"},{default:g(()=>{var O,T,W,fe,xe;return[b("div",S$,[b("div",$$,[b("span",T$,v(C.name),1),b("button",{type:"button",title:r(s)("connect.copy"),"aria-label":r(s)("connect.copy"),class:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground/50 opacity-0 transition-all hover:bg-accent hover:text-accent-foreground focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",onClick:Ie(be=>q(C.name),["stop"])},[m(r(rn),{class:"h-3 w-3"})],8,A$),C.paceRpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"shrink-0 gap-1",title:r(s)("models.paceBadgeHint",{n:C.paceRpm,s:Math.max(1,Math.round(60/C.paceRpm))})},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(v(r(s)("models.paceBadge",{n:C.paceRpm})),1)]),_:2},1032,["title"])):se("",!0),C.debugCapture?(h(),z(r(Oe),{key:1,variant:"outline",class:"shrink-0 cursor-pointer gap-1",title:r(s)("models.debugBadgeHint"),onClick:Ie(be=>F(C),["stop"])},{default:g(()=>[m(r(Ho),{class:"h-3 w-3"}),j(v(r(s)("models.debugOnBadge")),1)]),_:1},8,["title","onClick"])):se("",!0),((O=V(C))==null?void 0:O.state)==="testing"?(h(),z(r(Oe),{key:2,variant:"muted",class:"shrink-0 gap-1"},{default:g(()=>[m(r(vt),{class:"h-3 w-3 animate-spin"}),j(v(r(s)("models.probeTesting")),1)]),_:1})):((T=V(C))==null?void 0:T.state)==="ok"?(h(),z(r(Oe),{key:3,variant:"success",class:"shrink-0",title:r(s)("models.probeOkHint",{name:((W=V(C))==null?void 0:W.provider)??""})},{default:g(()=>[j(v(r(s)("models.probeOk")),1)]),_:1},8,["title"])):((fe=V(C))==null?void 0:fe.state)==="fail"?(h(),z(r(Oe),{key:4,variant:"destructive",class:"shrink-0",title:((xe=V(C))==null?void 0:xe.error)||r(s)("models.probeFailHint")},{default:g(()=>{var be;return[j(v(r(s)("models.probeFail"))+" · "+v(((be=V(C))==null?void 0:be.status)||"?"),1)]}),_:2},1032,["title"])):we(C)?(h(),z(r(Oe),{key:5,variant:"secondary",class:"shrink-0 gap-1",title:r(s)("models.delistedHint")},{default:g(()=>[m(r(Co),{class:"h-3 w-3"}),j(v(r(s)("models.delisted")),1)]),_:1},8,["title"])):se("",!0),b("div",{class:"ml-auto flex shrink-0 items-center gap-0.5",onClick:k[6]||(k[6]=Ie(()=>{},["stop"]))},[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground opacity-0 transition-all focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",title:r(s)("models.debug"),"aria-label":r(s)("models.debug"),onClick:be=>F(C)},{default:g(()=>[m(r(Ho),{class:"h-4 w-4"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground opacity-0 transition-all focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",disabled:!oe(C).length||!!V(C)&&V(C).state==="testing",title:r(s)("models.testModel"),"aria-label":r(s)("models.testModel"),onClick:be=>at(C)},{default:g(()=>{var be;return[((be=V(C))==null?void 0:be.state)==="testing"?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-4 w-4"}))]}),_:2},1032,["disabled","title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground opacity-0 transition-all focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",title:r(s)("models.edit"),"aria-label":r(s)("models.edit"),onClick:be=>$(C)},{default:g(()=>[m(r(lo),{class:"h-4 w-4"})]),_:1},8,["title","aria-label","onClick"]),b("div",E$,[m(r(fi),null,{default:g(()=>[m(r(pi),null,{default:g(()=>[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground","aria-label":r(s)("models.moreActions")},{default:g(()=>[m(r(hi),{class:"h-4 w-4"})]),_:1},8,["aria-label"])]),_:1}),m(r(mi),{align:"end"},{default:g(()=>[m(r(Uo),{onSelect:be=>H(C)},{default:g(()=>[m(r(lo)),j(" "+v(r(s)("models.renameModel")),1)]),_:1},8,["onSelect"]),m(r(ld)),m(r(Uo),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onSelect:be=>{Q.value=C,de.value=!0}},{default:g(()=>[m(r(hr)),j(" "+v(r(s)("models.removeModel")),1)]),_:1},8,["onSelect"])]),_:2},1024)]),_:2},1024)])])]),b("div",O$,[pe(C).length?(h(!0),B(me,{key:0},Pe(pe(C),be=>(h(),B("div",{key:be.fs.join("|"),class:ge(["flex flex-wrap items-center gap-x-1.5 gap-y-1",{"opacity-60":!be.enabled}])},[(h(!0),B(me,null,Pe(be.fs,Le=>(h(),B("button",{key:Le,type:"button",title:Ue(C,Le),"aria-label":Ue(C,Le),class:ge(["inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-medium transition-colors",Ye(C,Le)]),onClick:Ie(qe=>ve(C,Le),["stop"])},v(r(s)(r(xn)[Le].label)),11,P$))),128)),k[18]||(k[18]=b("span",{class:"h-4 w-px shrink-0 bg-border","aria-hidden":"true"},null,-1)),m(r(ya),null,{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[b("button",{type:"button",class:ge(["inline-flex min-w-0 max-w-full items-center gap-1 rounded-md border px-1.5 py-0.5 text-xs transition-colors hover:bg-accent hover:text-accent-foreground",le(C,be,Y(C,be).i)]),title:r(s)("models.chainListHint"),"aria-label":r(s)("models.chainListHint"),onClick:k[7]||(k[7]=Ie(()=>{},["stop"]))},[b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(Y(C,be).s.id).solid])},null,2),b("span",I$,v(Y(C,be).s.name),1),Y(C,be).s.model?(h(),B("span",{key:0,class:"min-w-0 truncate font-mono text-muted-foreground",title:Y(C,be).s.model},"› "+v(Y(C,be).s.model),9,R$)):se("",!0),Y(C,be).s.thinking?(h(),B("span",{key:1,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(Y(C,be).s.thinking),1)],8,L$)):se("",!0),r(an)(Y(C,be).s.sampling)?(h(),B("span",{key:2,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(Y(C,be).s.sampling)),1)],8,D$)):se("",!0),m(r(dn),{class:"h-3 w-3 shrink-0 text-muted-foreground/60"})],10,M$)]),_:2},1024),m(r(_a),{align:"start",class:"w-80 p-3"},{default:g(()=>[m(hd,{model:C,line:be,active:Y(C,be).actual?Y(C,be).i:void 0,fails:he(C,be),"slot-state":ie,"slot-title":I,"slot-class":le,"probe-slot":ue,"use-slot":ye},null,8,["model","line","active","fails"])]),_:2},1024)]),_:2},1024),be.enabled?se("",!0):(h(),B("span",N$,"· "+v(r(s)("models.routeDisabled")),1))],2))),128)):(h(),B("div",F$,v(r(s)("models.unroutedHint")),1))])])]}),_:2},1024))),128))])):(h(),B("div",q$,[m(r(el),null,{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),{class:"hover:bg-transparent"},{default:g(()=>[m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colName")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colFormats")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colChain")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colPace")),1)]),_:1}),m(r(ot),{class:"w-[128px] text-right"},{default:g(()=>[j(v(r(s)("models.colActions")),1)]),_:1})]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(J.value,C=>(h(),z(r(Sn),{key:C.name,class:"group"},{default:g(()=>[m(r(tt),null,{default:g(()=>{var O,T,W,fe;return[b("div",B$,[b("span",V$,v(C.name),1),C.paceRpm||C.debugCapture||V(C)||we(C)?(h(),B("div",U$,[C.paceRpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"gap-1",title:r(s)("models.paceBadgeHint",{n:C.paceRpm,s:Math.max(1,Math.round(60/C.paceRpm))})},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(v(r(s)("models.paceBadge",{n:C.paceRpm})),1)]),_:2},1032,["title"])):se("",!0),C.debugCapture?(h(),z(r(Oe),{key:1,variant:"outline",class:"cursor-pointer gap-1",title:r(s)("models.debugBadgeHint"),onClick:Ie(xe=>F(C),["stop"])},{default:g(()=>[m(r(Ho),{class:"h-3 w-3"}),j(v(r(s)("models.debugOnBadge")),1)]),_:1},8,["title","onClick"])):se("",!0),((O=V(C))==null?void 0:O.state)==="ok"?(h(),z(r(Oe),{key:2,variant:"success",title:r(s)("models.probeOkHint",{name:((T=V(C))==null?void 0:T.provider)??""})},{default:g(()=>[j(v(r(s)("models.probeOk")),1)]),_:1},8,["title"])):((W=V(C))==null?void 0:W.state)==="fail"?(h(),z(r(Oe),{key:3,variant:"destructive",title:((fe=V(C))==null?void 0:fe.error)||r(s)("models.probeFailHint")},{default:g(()=>{var xe;return[j(v(r(s)("models.probeFail"))+" · "+v(((xe=V(C))==null?void 0:xe.status)||"?"),1)]}),_:2},1032,["title"])):we(C)?(h(),z(r(Oe),{key:4,variant:"secondary",class:"gap-1",title:r(s)("models.delistedHint")},{default:g(()=>[m(r(Co),{class:"h-3 w-3"}),j(v(r(s)("models.delisted")),1)]),_:1},8,["title"])):se("",!0)])):se("",!0)])]}),_:2},1024),m(r(tt),{onClick:k[8]||(k[8]=Ie(()=>{},["stop"]))},{default:g(()=>[b("div",H$,[(h(),B(me,null,Pe(l,O=>(h(),B(me,{key:O},[ee(C,O)!=="none"?(h(),B("button",{key:0,type:"button",title:Ue(C,O),"aria-label":Ue(C,O),class:ge(["inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-medium transition-colors",Ye(C,O)]),onClick:T=>ve(C,O)},v(r(s)(r(xn)[O].label)),11,j$)):se("",!0)],64))),64))])]),_:2},1024),m(r(tt),null,{default:g(()=>[pe(C).length?(h(),B("div",z$,[(h(!0),B(me,null,Pe(pe(C),O=>(h(),B("div",{key:O.fs.join("|"),class:ge(["flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1",{"opacity-60":!O.enabled}])},[pe(C).length>1?(h(!0),B(me,{key:0},Pe(O.fs,T=>(h(),B("span",{key:T,class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ct)[T].solid]),title:r(s)(r(xn)[T].label)},null,10,W$))),128)):se("",!0),m(r(ya),null,{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[b("button",{type:"button",class:ge(["inline-flex min-w-0 max-w-full items-center gap-1 rounded-md border px-1.5 py-0.5 text-xs transition-colors hover:bg-accent hover:text-accent-foreground",le(C,O,Y(C,O).i)]),title:r(s)("models.chainListHint"),"aria-label":r(s)("models.chainListHint"),onClick:k[9]||(k[9]=Ie(()=>{},["stop"]))},[b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(Y(C,O).s.id).solid])},null,2),b("span",G$,v(Y(C,O).s.name),1),Y(C,O).s.model?(h(),B("span",{key:0,class:"min-w-0 truncate font-mono text-muted-foreground",title:Y(C,O).s.model},"› "+v(Y(C,O).s.model),9,Y$)):se("",!0),Y(C,O).s.thinking?(h(),B("span",{key:1,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(Y(C,O).s.thinking),1)],8,X$)):se("",!0),r(an)(Y(C,O).s.sampling)?(h(),B("span",{key:2,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(Y(C,O).s.sampling)),1)],8,J$)):se("",!0),m(r(dn),{class:"h-3 w-3 shrink-0 text-muted-foreground/60"})],10,K$)]),_:2},1024),m(r(_a),{align:"start",class:"w-80 p-3"},{default:g(()=>[m(hd,{model:C,line:O,active:Y(C,O).actual?Y(C,O).i:void 0,fails:he(C,O),"slot-state":ie,"slot-title":I,"slot-class":le,"probe-slot":ue,"use-slot":ye},null,8,["model","line","active","fails"])]),_:2},1024)]),_:2},1024),O.enabled?se("",!0):(h(),B("span",Q$,"· "+v(r(s)("models.routeDisabled")),1))],2))),128))])):(h(),B("span",Z$,v(r(s)("models.unroutedHint")),1))]),_:2},1024),m(r(tt),{class:"whitespace-nowrap"},{default:g(()=>[C.paceRpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"gap-1",title:r(s)("models.paceBadgeHint",{n:C.paceRpm,s:Math.max(1,Math.round(60/C.paceRpm))})},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(v(r(s)("models.paceBadge",{n:C.paceRpm})),1)]),_:2},1032,["title"])):(h(),B("span",eT,"—"))]),_:2},1024),m(r(tt),{onClick:k[10]||(k[10]=Ie(()=>{},["stop"]))},{default:g(()=>[b("div",tT,[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(s)("models.debug"),"aria-label":r(s)("models.debug"),onClick:O=>F(C)},{default:g(()=>[m(r(Ho),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",disabled:!oe(C).length||!!V(C)&&V(C).state==="testing",title:r(s)("models.testModel"),"aria-label":r(s)("models.testModel"),onClick:O=>at(C)},{default:g(()=>{var O;return[((O=V(C))==null?void 0:O.state)==="testing"?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-3.5 w-3.5"}))]}),_:2},1032,["disabled","title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(s)("models.edit"),"aria-label":r(s)("models.edit"),onClick:O=>$(C)},{default:g(()=>[m(r(lo),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(fi),null,{default:g(()=>[m(r(pi),null,{default:g(()=>[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground","aria-label":r(s)("models.moreActions")},{default:g(()=>[m(r(hi),{class:"h-4 w-4"})]),_:1},8,["aria-label"])]),_:1}),m(r(mi),{align:"end"},{default:g(()=>[m(r(Uo),{onSelect:O=>H(C)},{default:g(()=>[m(r(lo)),j(" "+v(r(s)("models.renameModel")),1)]),_:1},8,["onSelect"]),m(r(ld)),m(r(Uo),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onSelect:O=>{Q.value=C,de.value=!0}},{default:g(()=>[m(r(hr)),j(" "+v(r(s)("models.removeModel")),1)]),_:1},8,["onSelect"])]),_:2},1024)]),_:2},1024)])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})])):(h(),B("p",k$,v(r(s)("models.noMatch")),1)),m(iS,{open:p.value,"onUpdate:open":k[11]||(k[11]=C=>p.value=C),model:S.value?null:y.value,providers:u.value,"existing-names":i.value.map(C=>C.name),onSaved:w},null,8,["open","model","providers","existing-names"]),m(B2,{open:R.value,"onUpdate:open":k[12]||(k[12]=C=>R.value=C),model:E.value,onChanged:k[13]||(k[13]=C=>D())},null,8,["open","model"]),m(r(Ws),{open:_.value,"onUpdate:open":k[16]||(k[16]=C=>_.value=C)},{default:g(()=>[m(r(Ks),{class:"max-w-sm"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(r(s)("models.renameModel")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(r(s)("models.renameDesc")),1)]),_:1}),b("div",nT,[m(r(ht),{for:"rename-input"},{default:g(()=>[j(v(r(s)("models.editor.nameLabel")),1)]),_:1}),m(r(mt),{id:"rename-input",modelValue:x.value,"onUpdate:modelValue":k[14]||(k[14]=C=>x.value=C),class:"font-mono",spellcheck:"false",autocomplete:"off",onKeydown:An(X,["enter"])},null,8,["modelValue"]),b("p",sT,v(r(s)("models.renameHint")),1)]),b("div",oT,[m(r(ke),{variant:"outline",disabled:U.value,onClick:k[15]||(k[15]=C=>_.value=!1)},{default:g(()=>[j(v(r(s)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:U.value||!x.value.trim(),onClick:X},{default:g(()=>[U.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(v(r(s)("settings.save")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]),m(fu,{open:de.value,"onUpdate:open":k[17]||(k[17]=C=>de.value=C),variant:"destructive",title:r(s)("models.removeModel"),description:Q.value?r(s)("models.confirmRemove",{name:Q.value.name}):"","confirm-text":r(s)("models.removeModel"),loading:L.value,onConfirm:M},null,8,["open","title","description","confirm-text","loading"])]))}}),Ol=re({__name:"Checkbox",props:es({class:{type:[Boolean,null,String,Object,Array]},id:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=$o(e,"modelValue");return(s,o)=>(h(),z(r(Cx),{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=a=>n.value=a),id:t.id,class:ge(r(Ge)("peer h-4 w-4 shrink-0 cursor-pointer rounded-[4px] border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t.class))},{default:g(()=>[m(r($x),{class:"flex h-full w-full items-center justify-center text-current"},{default:g(()=>[m(r(Qt),{class:"h-3.5 w-3.5"})]),_:1})]),_:1},8,["modelValue","id","class"]))}}),aT={class:"flex shrink-0 items-center gap-2 pr-8"},lT={class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-primary/15 text-primary"},iT={class:"min-w-0"},uT={class:"min-h-0 flex-1 space-y-3.5 overflow-y-auto px-1 py-1"},cT={class:"space-y-1.5"},dT={class:"space-y-1.5"},fT={class:"space-y-2.5 rounded-md border bg-background/50 p-3"},pT={class:"flex items-center gap-2.5"},mT={class:"text-sm font-medium leading-none"},hT={class:"flex items-center gap-2.5"},gT={class:"text-sm font-medium leading-none"},vT={class:"flex items-center gap-2.5"},yT={class:"text-sm font-medium leading-none"},bT={key:0,class:"space-y-1.5"},_T={class:"text-xs text-muted-foreground"},xT={key:1,class:"space-y-1.5"},wT={class:"text-xs text-muted-foreground"},kT={key:2,class:"space-y-1.5"},CT={class:"text-xs text-muted-foreground"},ST=["aria-expanded"],$T={key:3,class:"space-y-1.5 rounded-md border bg-muted/30 p-3 text-xs leading-relaxed text-muted-foreground"},TT={class:"font-medium text-foreground"},AT={class:"font-medium text-foreground"},ET={class:"font-medium text-foreground"},OT={class:"font-medium text-foreground"},PT={class:"space-y-1.5"},MT={class:"flex items-center justify-between"},IT={key:0,class:"text-xs text-muted-foreground"},RT={class:"space-y-1.5"},LT=["aria-expanded"],DT={key:0,class:"space-y-1.5 rounded-md border bg-muted/30 p-3"},NT={class:"text-xs text-muted-foreground"},FT={key:4,class:"text-sm text-destructive"},qT={class:"flex shrink-0 justify-end gap-2"},BT=re({__name:"SourceDialog",props:es({provider:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:es(["saved"],["update:open"]),setup(e,{emit:t}){const n=e,s=$o(e,"open"),o=t,{t:a}=pt(),l=K(""),i=K(""),u=K(""),c=K(""),d=K(""),f=K(""),p=K(!0),y=K(!1),S=K(!1),$=K(!1),A=K(!1),w=K(""),_=K(!1);function P(F){const H=F==="openai"?p:F==="anthropic"?y:S;H.value&&!p.value&&!y.value&&!S.value||(H.value=!H.value)}const x=()=>{const F=[];return p.value&&F.push("openai"),y.value&&F.push("anthropic"),S.value&&F.push("responses"),F};function U(){var H;w.value="",$.value=!1,A.value=!!((H=n.provider)!=null&&H.rpm);const F=n.provider;if(!F){l.value="",i.value="",u.value="",c.value="",d.value="",f.value="",p.value=!0,y.value=!1,S.value=!1;return}l.value=F.name,i.value=F.baseUrlOpenai,u.value=F.baseUrlAnthropic,c.value=F.baseUrlResponses,d.value="",f.value=F.rpm?String(F.rpm):"",p.value=F.formats.includes("openai"),y.value=F.formats.includes("anthropic"),S.value=F.formats.includes("responses")}Re(s,F=>{F&&U()});function R(){if(!x().length)w.value=a("sources.errFormat");else if(!n.provider&&(!l.value.trim()||!d.value))w.value=a("sources.errRequired");else if(n.provider&&!l.value.trim())w.value=a("sources.errNameRequired");else if(p.value&&!i.value.trim()||y.value&&!u.value.trim()||S.value&&!c.value.trim())w.value=a("sources.errBaseUrl");else return w.value="",!0;return!1}async function E(){if(!_.value&&R()){_.value=!0;try{const F={name:l.value.trim(),baseUrlOpenai:i.value.trim(),baseUrlAnthropic:u.value.trim(),baseUrlResponses:c.value.trim(),formats:x(),rpm:Number(f.value)||0};d.value&&(F.apiKey=d.value);const H=n.provider?await Ve("PUT",`/admin/providers/${n.provider.id}`,F):await Ve("POST","/admin/providers",F);Be(a(n.provider?"sources.updated":"sources.added"),"success"),s.value=!1,o("saved",H.provider)}catch(F){Be(F.message,"error")}finally{_.value=!1}}}return(F,H)=>(h(),z(r(Ws),{open:s.value,"onUpdate:open":H[12]||(H[12]=X=>s.value=X)},{default:g(()=>[m(r(Ks),{class:"max-w-lg"},{default:g(()=>{var X;return[b("div",aT,[b("span",lT,[m(r(ko),{class:"h-4 w-4"})]),b("div",iT,[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(e.provider?r(a)("sources.editTitle"):r(a)("sources.add")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(e.provider?r(a)("sources.dialogEditDesc"):r(a)("sources.dialogCreateDesc")),1)]),_:1})])]),b("div",uT,[b("div",cT,[m(r(ht),{for:"s-name"},{default:g(()=>[j(v(r(a)("sources.nameLabel")),1)]),_:1}),m(r(mt),{id:"s-name",modelValue:l.value,"onUpdate:modelValue":H[0]||(H[0]=Z=>l.value=Z),placeholder:r(a)("sources.namePh"),autocomplete:"off","aria-label":"name"},null,8,["modelValue","placeholder"])]),b("div",dT,[m(r(ht),null,{default:g(()=>[j(v(r(a)("sources.formats")),1)]),_:1}),b("div",fT,[b("div",pT,[m(r(Ol),{"model-value":p.value,"aria-label":"openai","onUpdate:modelValue":H[1]||(H[1]=Z=>P("openai"))},null,8,["model-value"]),b("span",mT,v(r(Ps).openai),1),H[13]||(H[13]=b("span",{class:"text-xs text-muted-foreground"},"/chat/completions",-1))]),b("div",hT,[m(r(Ol),{"model-value":S.value,"aria-label":"responses","onUpdate:modelValue":H[2]||(H[2]=Z=>P("responses"))},null,8,["model-value"]),b("span",gT,v(r(Ps).responses),1),H[14]||(H[14]=b("span",{class:"text-xs text-muted-foreground"},"/responses",-1))]),b("div",vT,[m(r(Ol),{"model-value":y.value,"aria-label":"anthropic","onUpdate:modelValue":H[3]||(H[3]=Z=>P("anthropic"))},null,8,["model-value"]),b("span",yT,v(r(Ps).anthropic),1),H[15]||(H[15]=b("span",{class:"text-xs text-muted-foreground"},"/messages",-1))])])]),p.value?(h(),B("div",bT,[m(r(ht),{for:"s-url-openai"},{default:g(()=>[j(v(r(a)("sources.urlLabelOpenai")),1)]),_:1}),m(r(mt),{id:"s-url-openai",modelValue:i.value,"onUpdate:modelValue":H[4]||(H[4]=Z=>i.value=Z),placeholder:r(a)("sources.urlPhOpenai"),autocomplete:"off","aria-label":"openai base url"},null,8,["modelValue","placeholder"]),b("p",_T,v(r(a)("sources.urlHintOpenai")),1)])):se("",!0),S.value?(h(),B("div",xT,[m(r(ht),{for:"s-url-responses"},{default:g(()=>[j(v(r(a)("sources.urlLabelResponses")),1)]),_:1}),m(r(mt),{id:"s-url-responses",modelValue:c.value,"onUpdate:modelValue":H[5]||(H[5]=Z=>c.value=Z),placeholder:r(a)("sources.urlPhResponses"),autocomplete:"off","aria-label":"responses base url"},null,8,["modelValue","placeholder"]),b("p",wT,v(r(a)("sources.urlHintResponses")),1)])):se("",!0),y.value?(h(),B("div",kT,[m(r(ht),{for:"s-url-anthropic"},{default:g(()=>[j(v(r(a)("sources.urlLabelAnthropic")),1)]),_:1}),m(r(mt),{id:"s-url-anthropic",modelValue:u.value,"onUpdate:modelValue":H[6]||(H[6]=Z=>u.value=Z),placeholder:r(a)("sources.urlPhAnthropic"),autocomplete:"off","aria-label":"anthropic base url"},null,8,["modelValue","placeholder"]),b("p",CT,v(r(a)("sources.urlHintAnthropic")),1)])):se("",!0),b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground","aria-expanded":$.value,onClick:H[7]||(H[7]=Z=>$.value=!$.value)},[m(r(cu),{class:"h-3.5 w-3.5"}),j(" "+v(r(a)("sources.baseHelpToggle"))+" ",1),m(r(dn),{class:ge(["h-3.5 w-3.5 transition-transform",{"rotate-180":$.value}])},null,8,["class"])],8,ST),$.value?(h(),B("div",$T,[b("p",null,v(r(a)("sources.baseHelpSplit")),1),b("p",null,[b("span",TT,v(r(Ps).openai),1),j(" — "+v(r(a)("sources.baseHelpOpenai")),1)]),b("p",null,[b("span",AT,v(r(Ps).responses),1),j(" — "+v(r(a)("sources.baseHelpResponses")),1)]),b("p",null,[b("span",ET,v(r(Ps).anthropic),1),j(" — "+v(r(a)("sources.baseHelpAnthropic")),1)]),b("p",null,[b("span",OT,v(r(a)("sources.responses")),1),j(" — "+v(r(a)("sources.responsesNote")),1)])])):se("",!0),b("div",PT,[b("div",MT,[m(r(ht),{for:"s-key"},{default:g(()=>[j(v(r(a)("sources.keyLabel")),1)]),_:1}),(X=e.provider)!=null&&X.apiKey?(h(),B("span",IT,v(r(a)("sources.currentKeyLabel"))+": "+v(e.provider.apiKey),1)):se("",!0)]),m(r(mt),{id:"s-key",modelValue:d.value,"onUpdate:modelValue":H[8]||(H[8]=Z=>d.value=Z),type:"password",placeholder:e.provider?r(a)("sources.keyPhEdit"):r(a)("sources.keyPh"),autocomplete:"new-password","aria-label":"api key"},null,8,["modelValue","placeholder"])]),b("div",RT,[b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground","aria-expanded":A.value,onClick:H[9]||(H[9]=Z=>A.value=!A.value)},[m(r(vs),{class:"h-3.5 w-3.5"}),j(" "+v(r(a)("sources.advancedToggle"))+" ",1),m(r(dn),{class:ge(["h-3.5 w-3.5 transition-transform",{"rotate-180":A.value}])},null,8,["class"])],8,LT),A.value?(h(),B("div",DT,[m(r(ht),{for:"s-rpm"},{default:g(()=>[j(v(r(a)("sources.rpmLabel")),1)]),_:1}),m(r(mt),{id:"s-rpm",modelValue:f.value,"onUpdate:modelValue":H[10]||(H[10]=Z=>f.value=Z),type:"number",min:"0",inputmode:"numeric",placeholder:r(a)("sources.rpmPh"),"aria-label":"rpm"},null,8,["modelValue","placeholder"]),b("p",NT,v(r(a)("sources.rpmHint")),1)])):se("",!0)]),w.value?(h(),B("p",FT,v(w.value),1)):se("",!0)]),b("div",qT,[m(r(ke),{variant:"outline",disabled:_.value,onClick:H[11]||(H[11]=Z=>s.value=!1)},{default:g(()=>[j(v(r(a)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:_.value,onClick:E},{default:g(()=>[_.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(r(a)("sources.saveBtn")),1)]),_:1},8,["disabled"])])]}),_:1})]),_:1},8,["open"]))}}),VT={class:"space-y-2.5"},UT={class:"flex items-center gap-2"},HT={class:"relative min-w-0 flex-1"},jT={class:"flex items-center gap-2"},zT={class:"relative min-w-0 flex-1"},WT={key:0,class:"text-xs text-muted-foreground"},KT={key:0,class:"flex flex-col items-center gap-2 px-4 py-10 text-center"},GT={class:"flex size-9 items-center justify-center rounded-lg bg-muted text-muted-foreground"},YT={class:"text-sm text-muted-foreground"},XT={key:0,class:"px-3 py-6 text-center text-xs text-muted-foreground"},JT=["data-mname","title","onClick"],QT={class:"min-w-0 flex-1 truncate font-mono text-sm"},ZT=["disabled","aria-label","onClick"],eA=["disabled","title","aria-label","onClick"],tA=re({__name:"SourceModelsDialog",props:{open:{type:Boolean},provider:{}},emits:["update:open","saved"],setup(e,{emit:t}){const n=e,s=t,{t:o}=pt(),a=K(""),l=K(""),i=K([]),u=K(""),c=K(null),d=K(null),f=K(null),p=K(new Set);let y;function S(L){p.value=new Set(L),clearTimeout(y),y=setTimeout(()=>p.value.clear(),1600)}So(()=>clearTimeout(y)),Re(()=>n.open,async L=>{var M,D,J;L&&(a.value="",l.value="",i.value=[...((M=n.provider)==null?void 0:M.extraModels)??[]],p.value.clear(),X.value.clear(),Z.value={},await it(),(J=(D=c.value)==null?void 0:D.$el)==null||J.focus())}),Re(()=>n.provider,L=>{n.open&&L&&(i.value=[...L.extraModels??[]])});const $=ae(()=>{var L;return((L=n.provider)==null?void 0:L.discoveredModels)??[]}),A=ae(()=>mo({discoveredModels:$.value,extraModels:i.value}).map(M=>({name:M,manual:i.value.includes(M)&&!$.value.includes(M)}))),w=ae(()=>{const L=a.value.trim().toLowerCase();return L?A.value.filter(M=>M.name.toLowerCase().includes(L)):A.value}),_=ae(()=>{const L=l.value.trim();return!!L&&A.value.some(M=>M.name===L)}),P=ae(()=>!!l.value.trim()&&!_.value);function x(L){i.value=[...L.extraModels??[]],s("saved",L)}async function U(L){const M=await Ve("PUT",`/admin/providers/${n.provider.id}/extra-models`,{models:L});return x(M.provider),M.provider}async function R(){var M,D,J,oe;if(!n.provider||u.value||!P.value)return;const L=[...new Set(l.value.split(/[\s,;]+/).map(pe=>pe.trim()).filter(Boolean))].filter(pe=>!i.value.includes(pe));if(L.length){u.value="add";try{await U([...i.value,...L]),l.value="",S(L),Be(o("sources.modelAdded",{n:L.length}),"success"),await it(),(D=(M=f.value)==null?void 0:M.querySelector(`[data-mname="${CSS.escape(L[0])}"]`))==null||D.scrollIntoView({block:"nearest"}),(oe=(J=d.value)==null?void 0:J.$el)==null||oe.focus()}catch(pe){Be(pe.message,"error")}finally{u.value=""}}}async function E(L){if(!u.value){u.value="remove";try{await U(i.value.filter(M=>M!==L)),Be(o("sources.modelRemoved",{name:L}),"success")}catch(M){Be(M.message,"error")}finally{u.value=""}}}async function F(){if(!(!n.provider||u.value)){u.value="refresh";try{const L=await Ve("POST",`/admin/providers/${n.provider.id}/discover`);x({...n.provider,discoveredModels:L.models}),Be(o("sources.refreshDone",{name:n.provider.name}),L.models.length?"success":"default")}catch(L){Be(L.message,"error")}finally{u.value=""}}}async function H(L){const M=await kr(L);Be(o(M?"connect.copied":"connect.copyFailed"),M?"success":"error")}const X=K(new Set),Z=K({});async function Q(L){if(!(!n.provider||X.value.has(L))){X.value.add(L);try{const M=await Ve("POST",`/admin/providers/${n.provider.id}/test?model=${encodeURIComponent(L)}`);Z.value={...Z.value,[L]:M.results}}catch(M){Be(M.message,"error")}finally{X.value.delete(L)}}}function de(L){a.value&&(L.stopPropagation(),L.preventDefault(),a.value="")}return(L,M)=>(h(),z(r(Ws),{open:e.open,"onUpdate:open":M[2]||(M[2]=D=>s("update:open",D))},{default:g(()=>[m(r(Ks),{class:"max-w-lg"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(r(o)("sources.modelsTitle")),1)]),_:1}),m(r(Ys),{class:"sr-only"},{default:g(()=>{var D;return[j(v(r(o)("sources.modelsDesc",{name:((D=e.provider)==null?void 0:D.name)??""})),1)]}),_:1}),b("div",VT,[b("div",UT,[b("div",HT,[m(r(du),{class:"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{ref_key:"inputRef",ref:c,modelValue:a.value,"onUpdate:modelValue":M[0]||(M[0]=D=>a.value=D),placeholder:r(o)("sources.modelsSearchPh"),autocomplete:"off",spellcheck:"false",class:"pl-8 font-mono",onKeydown:An(de,["esc"])},null,8,["modelValue","placeholder"])]),m(r(ke),{variant:"outline",size:"icon",class:"size-9 shrink-0",disabled:u.value!=="",title:r(o)("sources.refreshModels"),"aria-label":r(o)("sources.refreshModels"),onClick:F},{default:g(()=>[u.value==="refresh"?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-4 w-4"}))]),_:1},8,["disabled","title","aria-label"])]),b("div",jT,[b("div",zT,[m(r(Yn),{class:"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{ref_key:"addRef",ref:d,modelValue:l.value,"onUpdate:modelValue":M[1]||(M[1]=D=>l.value=D),placeholder:r(o)("sources.modelsAddPh"),autocomplete:"off",spellcheck:"false",class:"pl-8 font-mono",onKeydown:An(Ie(R,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"])]),m(r(ke),{variant:"outline",class:"shrink-0",disabled:!P.value||u.value!=="",onClick:R},{default:g(()=>[u.value==="add"?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Yn),{key:1,class:"h-4 w-4"})),j(v(r(o)("sources.modelsAddBtn")),1)]),_:1},8,["disabled"])]),_.value?(h(),B("p",WT,v(r(o)("sources.modelsAddExists",{q:l.value.trim()})),1)):se("",!0),b("div",{ref_key:"listRef",ref:f,class:"max-h-80 divide-y overflow-y-auto rounded-md border"},[A.value.length?(h(),B(me,{key:1},[w.value.length?se("",!0):(h(),B("div",XT,v(r(o)("sources.modelsNoMatch")),1)),(h(!0),B(me,null,Pe(w.value,D=>(h(),B("div",{key:D.name,"data-mname":D.name,class:ge(["flex cursor-pointer items-center gap-2 px-3 py-1.5 transition-colors hover:bg-muted/50",p.value.has(D.name)?"row-flash":""]),title:`${D.name} · ${r(o)("sources.modelCopyTip")}`,onClick:J=>H(D.name)},[b("span",QT,v(D.name),1),Z.value[D.name]?(h(!0),B(me,{key:0},Pe(Z.value[D.name],J=>(h(),z(r(Oe),{key:J.format,variant:J.ok?"success":"destructive",class:"shrink-0 font-mono",title:`${r(Lt)(J.format)} · ${J.status||"?"} · ${J.ms} ms${J.error?" · "+J.error:""}`},{default:g(()=>[j(v(J.ok?"✓":"✗")+" "+v(r(Lt)(J.format))+" "+v(J.ok?`${J.ms}ms`:J.status||"–"),1)]),_:2},1032,["variant","title"]))),128)):se("",!0),D.manual?(h(),z(r(Oe),{key:1,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("sources.modelTagManual")),1)]),_:1})):se("",!0),D.manual?(h(),B("button",{key:2,type:"button",class:"-mr-1 flex size-6 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-destructive",disabled:u.value!=="","aria-label":r(o)("sources.modelRemove"),onClick:Ie(J=>E(D.name),["stop"])},[m(r(Eo),{class:"h-3.5 w-3.5"})],8,ZT)):se("",!0),b("button",{type:"button",class:"-mr-1 flex size-6 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",disabled:X.value.has(D.name),title:r(o)("sources.testBtn"),"aria-label":`${r(o)("sources.testBtn")} ${D.name}`,onClick:Ie(J=>Q(D.name),["stop"])},[X.value.has(D.name)?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-3.5 w-3.5"}))],8,eA)],10,JT))),128))],64)):(h(),B("div",KT,[b("span",GT,[m(r(Bk),{class:"size-4"})]),b("p",YT,v(r(o)("sources.modelsEmpty")),1)]))],512)])]),_:1})]),_:1},8,["open"]))}}),nA=Im(tA,[["__scopeId","data-v-35cb6f16"]]),sA={class:"space-y-4"},oA={class:"flex flex-wrap items-center justify-between gap-2"},rA={class:"flex items-center gap-2"},aA={class:"text-base font-semibold"},lA={class:"text-sm text-muted-foreground"},iA={key:0,class:"flex items-center gap-2"},uA={class:"flex items-center rounded-md border p-0.5"},cA={key:0,class:"py-8 text-center text-sm text-muted-foreground"},dA={key:1,class:"py-8 text-center text-sm text-destructive"},fA={class:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary/15 text-primary"},pA={class:"space-y-1"},mA={class:"font-medium"},hA={class:"max-w-sm text-sm text-muted-foreground"},gA={key:0,class:"flex flex-wrap items-center gap-3 rounded-lg border border-primary/40 bg-primary/5 px-3 py-2.5"},vA={class:"min-w-0 flex-1 text-sm"},yA={key:1,class:"grid items-stretch gap-3 md:grid-cols-2"},bA={class:"flex h-full flex-col gap-3 p-4"},_A={class:"flex min-w-0 flex-wrap items-center gap-1.5"},xA={class:"truncate text-sm font-semibold"},wA=["title","aria-label","onClick"],kA={class:"min-w-0 flex-1 space-y-1"},CA={key:0,class:"truncate font-mono text-xs text-muted-foreground"},SA={class:"opacity-60"},$A={key:1,class:"truncate font-mono text-xs text-muted-foreground"},TA={class:"opacity-60"},AA={key:2,class:"truncate font-mono text-xs text-muted-foreground"},EA={class:"opacity-60"},OA={class:"flex items-center gap-1 border-t pt-3"},PA={key:2,class:"overflow-hidden rounded-lg border"},MA={class:"flex flex-wrap gap-1"},IA={class:"max-w-[300px] space-y-0.5 font-mono text-xs text-muted-foreground"},RA=["title"],LA={class:"opacity-60"},DA=["title"],NA={class:"opacity-60"},FA=["title"],qA={class:"opacity-60"},BA=["title"],VA={key:1},UA=["title","aria-label","onClick"],HA={class:"flex items-center justify-end gap-0.5"},jA={class:"space-y-3"},zA={class:"text-xs text-muted-foreground"},WA={key:0,class:"space-y-1.5"},KA={class:"flex flex-wrap gap-1.5"},GA=["onClick"],YA={key:1,class:"space-y-1.5 rounded-md border bg-muted/30 p-2.5"},XA={class:"shrink-0 tabular-nums text-muted-foreground"},JA=["title"],QA={class:"flex justify-end gap-2"},vd="myapikey.view.sources",ZA=re({__name:"Sources",emits:["goto"],setup(e,{emit:t}){const{t:n}=pt(),s=t,o=K([]),a=K(!0),l=K(!1),i=K(""),u=K(localStorage.getItem(vd)==="table"?"table":"cards");function c(ve){u.value=ve;try{localStorage.setItem(vd,ve)}catch{}}const d=K(!1),f=K(null);function p(){f.value=null,d.value=!0}function y(ve){f.value=ve,d.value=!0}function S(ve){const ye=o.value.some(te=>te.id===ve.id);o.value=ye?o.value.map(te=>te.id===ve.id?ve:te):[...o.value,ve]}const $=K({});async function A(ve){$.value[ve.id]=!0;try{const ye=await Ve("POST",`/admin/providers/${ve.id}/discover`);o.value=o.value.map(te=>te.id===ve.id?{...te,discoveredModels:ye.models}:te),Be(n("sources.refreshDone",{name:ve.name}),ye.models.length?"success":"default")}catch(ye){Be(ye.message,"error")}finally{$.value[ve.id]=!1}}const w=K(null),_=K(!1),P=K(!1),x=K(!1),U=K(null),R=K(""),E=K({}),F=K(!1),H=K(null),X=ae(()=>U.value?mo(U.value):[]);function Z(ve){return[...ve.formats]}function Q(ve){U.value=ve,R.value=mo(ve)[0]??"",E.value=Object.fromEntries(Z(ve).map(ye=>[ye,!0])),H.value=null,x.value=!0}async function de(){const ve=U.value,ye=R.value.trim();if(!ve||!ye||F.value)return;const te=Z(ve),we=te.filter(_e=>E.value[_e]);if(we.length){F.value=!0,H.value=null;try{const _e=we.length<te.length?we.map(at=>`&format=${at}`).join(""):"",Fe=await Ve("POST",`/admin/providers/${ve.id}/test?model=${encodeURIComponent(ye)}${_e}`);H.value=Fe.results}catch(_e){Be(_e.message,"error")}finally{F.value=!1}}}function L(ve,ye){return ve&&ye in ct?`border-transparent ${ct[ye].solid} text-white shadow-sm`:ve?"border-transparent bg-primary text-primary-foreground shadow-sm":"border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground"}async function M(){const ve=w.value;if(!(!ve||P.value)){P.value=!0;try{await Ve("DELETE",`/admin/providers/${ve.id}`),o.value=o.value.filter(ye=>ye.id!==ve.id),Be(n("sources.removed",{name:ve.name}),"success"),_.value=!1}catch(ye){Be(ye.message,"error")}finally{P.value=!1}}}function D(ve){return mo(ve).length}function J(ve){return D(ve)>0?"found":ve.discoveredAt?"empty":"never"}function oe(ve){const ye=J(ve);return ye==="found"?n("sources.discoveredCount",{n:D(ve)}):n(ye==="empty"?"sources.noModelsFound":"sources.notScanned")}function pe(ve){const ye=J(ve);return n(ye==="empty"?"sources.noModelsHint":ye==="never"?"sources.notScannedHint":"sources.modelsOpenHint")}const Y=K(!1),he=K(null);function ee(ve){he.value=ve,Y.value=!0}function Ye(ve){return ve in ct?ct[ve].badge:""}async function Ue(){l.value=!0,i.value="";try{const[ve,ye]=await Promise.all([Ve("GET","/admin/providers"),Ve("GET","/admin/models").catch(()=>null)]);o.value=ve.providers,a.value=!!(ye!=null&&ye.models.length)}catch(ve){i.value=ve.message}finally{l.value=!1}}return rt(Ue),(ve,ye)=>(h(),B("div",sA,[b("div",oA,[b("div",rA,[m(r(ko),{class:"h-4 w-4 text-primary"}),b("span",aA,v(r(n)("sources.pageTitle")),1),b("span",lA,v(r(n)("sources.pageDesc")),1)]),o.value.length?(h(),B("div",iA,[b("div",uA,[m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",u.value==="cards"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(n)("common.viewCards"),"aria-label":r(n)("common.viewCards"),onClick:ye[0]||(ye[0]=te=>c("cards"))},{default:g(()=>[m(r(Em),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"]),m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",u.value==="table"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(n)("common.viewTable"),"aria-label":r(n)("common.viewTable"),onClick:ye[1]||(ye[1]=te=>c("table"))},{default:g(()=>[m(r(Pm),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"])]),m(r(ke),{size:"sm",onClick:p},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(n)("sources.add")),1)]),_:1})])):se("",!0)]),l.value?(h(),B("p",cA,v(r(n)("common.loading")),1)):i.value?(h(),B("p",dA,v(i.value),1)):o.value.length?(h(),B(me,{key:3},[a.value?se("",!0):(h(),B("div",gA,[b("p",vA,v(r(n)("sources.nextHint")),1),m(r(ke),{size:"sm",onClick:ye[2]||(ye[2]=te=>s("goto","models"))},{default:g(()=>[j(v(r(n)("sources.nextCta")),1)]),_:1})])),u.value==="cards"?(h(),B("div",yA,[(h(!0),B(me,null,Pe(o.value,te=>(h(),z(r(Vt),{key:te.id,class:"group cursor-pointer gap-0 py-0 transition-colors hover:bg-muted/30",onClick:we=>y(te)},{default:g(()=>[b("div",bA,[b("div",_A,[b("span",xA,v(te.name),1),(h(!0),B(me,null,Pe(te.formats,we=>(h(),z(r(Oe),{key:we,variant:"outline",class:ge(["shrink-0",Ye(we)])},{default:g(()=>[j(v(r(Lt)(we)),1)]),_:2},1032,["class"]))),128)),te.rpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"shrink-0",title:r(n)("sources.rpmBadgeHint")},{default:g(()=>[j(v(r(n)("sources.rpmBadge",{n:te.rpm})),1)]),_:2},1032,["title"])):se("",!0),b("button",{type:"button",class:"shrink-0 rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring",title:pe(te),"aria-label":r(n)("sources.modelsTitle"),onClick:Ie(we=>ee(te),["stop"])},[m(r(Oe),{variant:"muted",class:"cursor-pointer gap-1 pr-1.5 transition-colors hover:bg-accent hover:text-accent-foreground"},{default:g(()=>[j(v(oe(te))+" ",1),m(r(dn),{class:"size-3 opacity-60"})]),_:2},1024)],8,wA)]),b("div",kA,[te.formats.includes("openai")?(h(),B("div",CA,[b("span",SA,v(r(Lt)("openai"))+" ·",1),j(" "+v(te.baseUrlOpenai),1)])):se("",!0),te.formats.includes("responses")?(h(),B("div",$A,[b("span",TA,v(r(Lt)("responses"))+" ·",1),j(" "+v(te.baseUrlResponses),1)])):se("",!0),te.formats.includes("anthropic")?(h(),B("div",AA,[b("span",EA,v(r(Lt)("anthropic"))+" ·",1),j(" "+v(te.baseUrlAnthropic),1)])):se("",!0)]),b("div",OA,[m(r(ke),{variant:"ghost",size:"sm",class:"h-7 gap-1.5 px-2 text-xs",onClick:Ie(we=>Q(te),["stop"])},{default:g(()=>[m(r(Fs),{class:"h-3.5 w-3.5"}),j(v(r(n)("sources.testBtn")),1)]),_:1},8,["onClick"]),m(r(ke),{variant:"ghost",size:"sm",class:"h-7 gap-1.5 px-2 text-xs",disabled:$.value[te.id],onClick:Ie(we=>A(te),["stop"])},{default:g(()=>[$.value[te.id]?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"})),j(v(r(n)("sources.refreshModels")),1)]),_:2},1032,["disabled","onClick"]),m(r(ke),{variant:"ghost",size:"sm",class:"h-7 gap-1.5 px-2 text-xs",onClick:Ie(we=>y(te),["stop"])},{default:g(()=>[m(r(lo),{class:"h-3.5 w-3.5"}),j(v(r(n)("sources.editLabel")),1)]),_:1},8,["onClick"]),b("div",{class:"ml-auto",onClick:ye[3]||(ye[3]=Ie(()=>{},["stop"]))},[m(r(fi),null,{default:g(()=>[m(r(pi),null,{default:g(()=>[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground","aria-label":r(n)("sources.moreActions")},{default:g(()=>[m(r(hi),{class:"h-4 w-4"})]),_:1},8,["aria-label"])]),_:1}),m(r(mi),{align:"end"},{default:g(()=>[m(r(Uo),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onSelect:we=>{w.value=te,_.value=!0}},{default:g(()=>[m(r(hr)),j(" "+v(r(n)("sources.deleteLabel")),1)]),_:1},8,["onSelect"])]),_:2},1024)]),_:2},1024)])])])]),_:2},1032,["onClick"]))),128))])):(h(),B("div",PA,[m(r(el),null,{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),{class:"hover:bg-transparent"},{default:g(()=>[m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colName")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colFormats")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colBaseUrl")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colRpm")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colDiscovered")),1)]),_:1}),m(r(ot),{class:"w-[168px] text-right"},{default:g(()=>[j(v(r(n)("sources.colActions")),1)]),_:1})]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(o.value,te=>(h(),z(r(Sn),{key:te.id,class:"cursor-pointer",onClick:we=>y(te)},{default:g(()=>[m(r(tt),{class:"max-w-[160px] truncate font-medium",title:te.name},{default:g(()=>[j(v(te.name),1)]),_:2},1032,["title"]),m(r(tt),null,{default:g(()=>[b("div",MA,[(h(!0),B(me,null,Pe(te.formats,we=>(h(),z(r(Oe),{key:we,variant:"outline",class:ge(Ye(we))},{default:g(()=>[j(v(r(Lt)(we)),1)]),_:2},1032,["class"]))),128))])]),_:2},1024),m(r(tt),null,{default:g(()=>[b("div",IA,[te.formats.includes("openai")?(h(),B("div",{key:0,class:"truncate",title:te.baseUrlOpenai},[b("span",LA,v(r(Lt)("openai"))+" · ",1),j(v(te.baseUrlOpenai),1)],8,RA)):se("",!0),te.formats.includes("responses")?(h(),B("div",{key:1,class:"truncate",title:te.baseUrlResponses},[b("span",NA,v(r(Lt)("responses"))+" · ",1),j(v(te.baseUrlResponses),1)],8,DA)):se("",!0),te.formats.includes("anthropic")?(h(),B("div",{key:2,class:"truncate",title:te.baseUrlAnthropic},[b("span",qA,v(r(Lt)("anthropic"))+" · ",1),j(v(te.baseUrlAnthropic),1)],8,FA)):se("",!0)])]),_:2},1024),m(r(tt),{class:"whitespace-nowrap text-xs text-muted-foreground"},{default:g(()=>[te.rpm?(h(),B("span",{key:0,title:r(n)("sources.rpmBadgeHint"),class:"font-mono"},v(r(n)("sources.rpmBadge",{n:te.rpm})),9,BA)):(h(),B("span",VA,"—"))]),_:2},1024),m(r(tt),null,{default:g(()=>[b("button",{type:"button",class:"rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring",title:pe(te),"aria-label":r(n)("sources.modelsTitle"),onClick:Ie(we=>ee(te),["stop"])},[m(r(Oe),{variant:"muted",class:"cursor-pointer gap-1 pr-1.5 transition-colors hover:bg-accent hover:text-accent-foreground"},{default:g(()=>[j(v(oe(te))+" ",1),m(r(dn),{class:"size-3 opacity-60"})]),_:2},1024)],8,UA)]),_:2},1024),m(r(tt),{onClick:ye[4]||(ye[4]=Ie(()=>{},["stop"]))},{default:g(()=>[b("div",HA,[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(n)("sources.testBtn"),"aria-label":r(n)("sources.testBtn"),onClick:we=>Q(te)},{default:g(()=>[m(r(Fs),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",disabled:$.value[te.id],title:r(n)("sources.refreshModels"),"aria-label":r(n)("sources.refreshModels"),onClick:we=>A(te)},{default:g(()=>[$.value[te.id]?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"}))]),_:2},1032,["disabled","title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(n)("sources.editLabel"),"aria-label":r(n)("sources.editLabel"),onClick:we=>y(te)},{default:g(()=>[m(r(lo),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-destructive hover:text-destructive",title:r(n)("sources.deleteLabel"),"aria-label":r(n)("sources.deleteLabel"),onClick:we=>{w.value=te,_.value=!0}},{default:g(()=>[m(r(hr),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"])])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]))],64)):(h(),z(r(Vt),{key:2},{default:g(()=>[m(r(en),{class:"flex flex-col items-center gap-3 py-12 text-center"},{default:g(()=>[b("span",fA,[m(r(ko),{class:"h-5 w-5"})]),b("div",pA,[b("div",mA,v(r(n)("sources.emptyTitle")),1),b("p",hA,v(r(n)("sources.emptyHint")),1)]),m(r(ke),{onClick:p},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(n)("sources.add")),1)]),_:1})]),_:1})]),_:1})),m(BT,{open:d.value,"onUpdate:open":ye[5]||(ye[5]=te=>d.value=te),provider:f.value,onSaved:S},null,8,["open","provider"]),m(nA,{open:Y.value,"onUpdate:open":ye[6]||(ye[6]=te=>Y.value=te),provider:he.value,onSaved:S},null,8,["open","provider"]),m(r(Ws),{open:x.value,"onUpdate:open":ye[9]||(ye[9]=te=>x.value=te)},{default:g(()=>[m(r(Ks),{class:"max-w-md"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(r(n)("sources.testTitle")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(r(n)("sources.testDesc")),1)]),_:1}),b("div",jA,[b("div",{class:"space-y-1.5",onKeydown:An(de,["enter"])},[m(r(ht),null,{default:g(()=>[j(v(r(n)("sources.testModelLabel")),1)]),_:1}),m(Mm,{modelValue:R.value,"onUpdate:modelValue":ye[7]||(ye[7]=te=>R.value=te),options:X.value,placeholder:r(n)("sources.testModelPh")},null,8,["modelValue","options","placeholder"]),b("p",zA,v(r(n)("sources.testModelHint")),1)],32),U.value?(h(),B("div",WA,[m(r(ht),null,{default:g(()=>[j(v(r(n)("sources.formats")),1)]),_:1}),b("div",KA,[(h(!0),B(me,null,Pe(Z(U.value),te=>(h(),B("button",{key:te,type:"button",class:ge(["inline-flex items-center rounded-md border px-2 py-0.5 font-mono text-xs font-medium transition-colors",L(!!E.value[te],te)]),onClick:we=>E.value[te]=!E.value[te]},v(r(Lt)(te)),11,GA))),128))])])):se("",!0),H.value?(h(),B("div",YA,[(h(!0),B(me,null,Pe(H.value,te=>(h(),B("div",{key:te.format,class:"flex min-w-0 items-center gap-2 text-xs"},[m(r(Oe),{variant:"outline",class:ge(Ye(te.format))},{default:g(()=>[j(v(r(Lt)(te.format)),1)]),_:2},1032,["class"]),te.ok?(h(),z(r(Oe),{key:0,variant:"success",class:"shrink-0"},{default:g(()=>[j(v(r(n)("models.probeOk")),1)]),_:1})):(h(),z(r(Oe),{key:1,variant:"destructive",class:"shrink-0"},{default:g(()=>[j(v(r(n)("models.probeFail"))+" · "+v(te.status||"?"),1)]),_:2},1024)),b("span",XA,v(te.ms)+" ms",1),te.error?(h(),B("span",{key:2,class:"min-w-0 truncate text-destructive",title:te.error},v(te.error),9,JA)):se("",!0)]))),128))])):se("",!0)]),b("div",QA,[m(r(ke),{variant:"outline",disabled:F.value,onClick:ye[8]||(ye[8]=te=>x.value=!1)},{default:g(()=>[j(v(r(n)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:F.value||!R.value.trim(),onClick:de},{default:g(()=>[F.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-4 w-4"})),j(v(r(n)("sources.testRun")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]),m(fu,{open:_.value,"onUpdate:open":ye[10]||(ye[10]=te=>_.value=te),variant:"destructive",title:r(n)("sources.remove"),description:w.value?r(n)("sources.confirmRemove",{name:w.value.name}):"","confirm-text":r(n)("sources.remove"),loading:P.value,onConfirm:M},null,8,["open","title","description","confirm-text","loading"])]))}}),eE={class:"flex items-center justify-between gap-2"},tE={class:"flex gap-1"},nE={class:"sr-only"},sE={class:"flex flex-wrap items-center gap-2"},oE={class:"relative flex-1 sm:max-w-sm"},rE={key:0,class:"inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 text-[10px] font-medium text-primary-foreground"},aE={class:"space-y-2.5"},lE={class:"flex items-center justify-between"},iE={class:"text-xs font-medium"},uE={class:"space-y-2"},cE={class:"grid grid-cols-[3.5rem_1fr] items-center gap-2"},dE={class:"text-xs text-muted-foreground"},fE={class:"grid grid-cols-[3.5rem_1fr] items-center gap-2"},pE={class:"text-xs text-muted-foreground"},mE={class:"grid grid-cols-[3.5rem_1fr] items-center gap-2"},hE={class:"text-xs text-muted-foreground"},gE={key:0,class:"flex flex-wrap items-center gap-1.5"},vE={class:"text-muted-foreground"},yE={class:"font-medium"},bE=["aria-label","onClick"],_E={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground"},xE={key:1,class:"space-y-2 rounded-lg border border-amber-500/30 bg-amber-500/5 p-3"},wE={class:"flex items-center gap-1.5 text-xs font-medium text-amber-700 dark:text-amber-400"},kE={class:"space-y-1.5"},CE={class:"font-medium"},SE={class:"break-all text-muted-foreground"},$E={key:2,class:"space-y-2 rounded-lg border border-orange-500/30 bg-orange-500/5 p-3"},TE={class:"flex items-center gap-1.5 text-xs font-medium text-orange-700 dark:text-orange-400"},AE={class:"space-y-1.5"},EE={class:"font-medium"},OE={class:"text-muted-foreground"},PE={key:3,class:"py-6 text-center text-sm text-muted-foreground"},ME={key:4,class:"py-6 text-center text-sm text-muted-foreground"},IE={key:5,class:"overflow-x-auto"},RE={class:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs"},LE={class:"font-mono text-muted-foreground"},DE={class:"font-medium"},NE={class:"text-muted-foreground"},FE={class:"text-muted-foreground"},qE={class:"break-all text-muted-foreground"},BE={key:0,class:"text-muted-foreground/60"},VE={class:"inline-flex items-center gap-1.5"},UE={class:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 px-2 py-2 text-xs sm:grid-cols-[auto_1fr_auto_1fr]"},HE={class:"text-muted-foreground"},jE={class:"font-mono"},zE={class:"text-muted-foreground"},WE={class:"font-mono"},KE={class:"text-muted-foreground"},GE={class:"text-muted-foreground"},YE={class:"break-all font-mono"},XE={class:"text-muted-foreground"},JE={class:"flex items-center gap-1.5 font-mono"},QE={class:"text-muted-foreground"},ZE={class:"break-all font-mono"},eO={class:"text-muted-foreground"},tO={class:"font-mono"},nO={class:"text-foreground/80"},sO={class:"text-foreground/80"},oO={class:"text-amber-600 dark:text-amber-400"},rO={class:"text-muted-foreground"},aO={class:"break-all font-mono"},yd="myapikey.logs.filters",lO=re({__name:"Logs",setup(e){const{t}=pt(),n=K([]),s=K(!0),o=K(!1),a=K([]),l=K([]),i=K("all"),u=K("all"),c=K("all"),d=K(""),f=K(new Set),p=K(!1);try{const Y=JSON.parse(localStorage.getItem(yd)||"null");Y&&(typeof Y.model=="string"&&(i.value=Y.model),typeof Y.provider=="string"&&(u.value=Y.provider),(Y.status==="success"||Y.status==="error")&&(c.value=Y.status),typeof Y.query=="string"&&(d.value=Y.query))}catch{}Re([i,u,c,d],()=>{try{localStorage.setItem(yd,JSON.stringify({model:i.value,provider:u.value,status:c.value,query:d.value}))}catch{}});let y;async function S(){o.value=!0;try{const[Y,he]=await Promise.all([Ve("GET","/admin/logs").catch(()=>null),Ve("GET","/admin/circuit").catch(()=>null)]);Y&&(n.value=Y.logs),he&&(a.value=he.providers.filter(ee=>ee.state==="cooling"),l.value=he.providers.filter(ee=>ee.rpm>0&&ee.rpmUsed>=ee.rpm&&ee.state!=="cooling"))}finally{o.value=!1}}async function $(Y){await Ve("POST",`/admin/circuit/${Y}/reset`).catch(()=>{}),await S()}function A(){w(),y=window.setInterval(S,4e3)}function w(){y&&(clearInterval(y),y=void 0)}function _(){s.value=!s.value,s.value?(S(),A()):w()}function P(Y){return Y>=200&&Y<300?"success":Y>=400?"destructive":"muted"}function x(Y){var he;return((he=ct[Y])==null?void 0:he.badge)??""}function U(Y){return Y<1e3?`${Y}ms`:`${(Y/1e3).toFixed(1)}s`}function R(Y){return Y?Y<1e3?String(Y):Y<1e6?(Y/1e3).toFixed(Y<1e4?1:0).replace(/\.0$/,"")+"k":(Y/1e6).toFixed(1)+"M":"0"}function E(Y){if(Y<=0)return"0";const he=Math.round(Y*1e3)/10;return Number.isInteger(he)?String(he):he.toFixed(1)}function F(Y){return new Date(Y).toLocaleTimeString()}function H(Y){return new Date(Y).toLocaleString()}function X(Y){return`${Y.ts}-${Y.model}-${Y.provider}-${Y.status}-${Y.kind??"call"}`}function Z(Y){return f.value.has(X(Y))}function Q(Y){const he=new Set(f.value),ee=X(Y);he.has(ee)?he.delete(ee):he.add(ee),f.value=he}const de=ae(()=>[...new Set(n.value.map(Y=>Y.model))].sort()),L=ae(()=>[...new Set(n.value.map(Y=>Y.provider))].sort()),M=ae(()=>{const Y=d.value.trim().toLowerCase();return n.value.filter(he=>{var ee;return!(i.value!=="all"&&he.model!==i.value||u.value!=="all"&&he.provider!==u.value||c.value==="success"&&!(he.status>=200&&he.status<300)||c.value==="error"&&he.status<400||Y&&!(he.model.toLowerCase().includes(Y)||(ee=he.upstreamModel)!=null&&ee.toLowerCase().includes(Y)||he.provider.toLowerCase().includes(Y)))})}),D=ae(()=>{const Y=M.value.filter(Ue=>Ue.kind!=="cooldown"),he=Y.length,ee=Y.filter(Ue=>Ue.status>=400).length,Ye=he?Math.round(Y.reduce((Ue,ve)=>Ue+ve.ms,0)/he):0;return{total:he,fail:ee,avgMs:Ye,errorRateStr:E(he?ee/he:0)}}),J=ae(()=>(i.value!=="all"?1:0)+(u.value!=="all"?1:0)+(c.value!=="all"?1:0)),oe=ae(()=>{const Y=[];return i.value!=="all"&&Y.push({key:"model",label:t("logs.filter.model"),value:i.value,clear:()=>i.value="all"}),u.value!=="all"&&Y.push({key:"provider",label:t("logs.filter.provider"),value:u.value,clear:()=>u.value="all"}),c.value!=="all"&&Y.push({key:"status",label:t("logs.filter.status"),value:c.value==="success"?t("logs.filter.success"):t("logs.filter.error"),clear:()=>c.value="all"}),Y});function pe(){i.value="all",u.value="all",c.value="all"}return rt(()=>{S(),A()}),fn(w),(Y,he)=>(h(),z(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[b("div",eE,[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Sm),{class:"h-4 w-4 text-primary"}),j(" "+v(r(t)("logs.title"))+" ",1),s.value?(h(),z(r(Oe),{key:0,variant:"success",class:"gap-1.5"},{default:g(()=>[he[5]||(he[5]=b("span",{class:"relative flex h-1.5 w-1.5"},[b("span",{class:"absolute inline-flex h-full w-full animate-ping rounded-full bg-current opacity-75"}),b("span",{class:"relative inline-flex h-1.5 w-1.5 rounded-full bg-current"})],-1)),j(" "+v(r(t)("logs.live")),1)]),_:1})):se("",!0)]),_:1}),b("div",tE,[m(r(ke),{variant:"outline",size:"sm",disabled:o.value,onClick:S},{default:g(()=>[o.value?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"})),b("span",nE,v(r(t)("logs.refresh")),1)]),_:1},8,["disabled"]),m(r(ke),{variant:"outline",size:"sm","aria-pressed":s.value,onClick:_},{default:g(()=>[s.value?(h(),z(r(Vk),{key:0,class:"h-3.5 w-3.5"})):(h(),z(r(Hk),{key:1,class:"h-3.5 w-3.5"})),j(" "+v(s.value?r(t)("logs.pause"):r(t)("logs.resume")),1)]),_:1},8,["aria-pressed"])])]),m(r(Ns),null,{default:g(()=>[j(v(r(t)("logs.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[b("div",sE,[b("div",oE,[m(r(du),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{modelValue:d.value,"onUpdate:modelValue":he[0]||(he[0]=ee=>d.value=ee),placeholder:r(t)("logs.searchPh"),class:"h-8 pl-8"},null,8,["modelValue","placeholder"])]),m(r(ya),{open:p.value,"onUpdate:open":he[4]||(he[4]=ee=>p.value=ee)},{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[m(r(ke),{variant:"outline",size:"sm",class:"h-8 gap-1.5"},{default:g(()=>[m(r(Ik),{class:"h-3.5 w-3.5"}),j(" "+v(r(t)("logs.filter.title"))+" ",1),J.value?(h(),B("span",rE,v(J.value),1)):se("",!0)]),_:1})]),_:1}),m(r(_a),{align:"start",class:"w-72 p-3"},{default:g(()=>[b("div",aE,[b("div",lE,[b("span",iE,v(r(t)("logs.filter.title")),1),J.value?(h(),B("button",{key:0,type:"button",class:"text-xs text-primary hover:underline",onClick:pe},v(r(t)("logs.filter.clear")),1)):se("",!0)]),b("div",uE,[b("div",cE,[b("span",dE,v(r(t)("logs.filter.model")),1),m(r(zr),{modelValue:i.value,"onUpdate:modelValue":he[1]||(he[1]=ee=>i.value=ee)},{default:g(()=>[m(r(Wr),{class:"h-8 w-full"},{default:g(()=>[m(r(Kr),{placeholder:r(t)("logs.filter.model")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[m(r(ds),{value:"all"},{default:g(()=>[j(v(r(t)("logs.filter.all")),1)]),_:1}),(h(!0),B(me,null,Pe(de.value,ee=>(h(),z(r(ds),{key:ee,value:ee},{default:g(()=>[j(v(ee),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])]),b("div",fE,[b("span",pE,v(r(t)("logs.filter.provider")),1),m(r(zr),{modelValue:u.value,"onUpdate:modelValue":he[2]||(he[2]=ee=>u.value=ee)},{default:g(()=>[m(r(Wr),{class:"h-8 w-full"},{default:g(()=>[m(r(Kr),{placeholder:r(t)("logs.filter.provider")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[m(r(ds),{value:"all"},{default:g(()=>[j(v(r(t)("logs.filter.all")),1)]),_:1}),(h(!0),B(me,null,Pe(L.value,ee=>(h(),z(r(ds),{key:ee,value:ee},{default:g(()=>[j(v(ee),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])]),b("div",mE,[b("span",hE,v(r(t)("logs.filter.status")),1),m(r(zr),{modelValue:c.value,"onUpdate:modelValue":he[3]||(he[3]=ee=>c.value=ee)},{default:g(()=>[m(r(Wr),{class:"h-8 w-full"},{default:g(()=>[m(r(Kr),{placeholder:r(t)("logs.filter.status")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[m(r(ds),{value:"all"},{default:g(()=>[j(v(r(t)("logs.filter.all")),1)]),_:1}),m(r(ds),{value:"success"},{default:g(()=>[j(v(r(t)("logs.filter.success")),1)]),_:1}),m(r(ds),{value:"error"},{default:g(()=>[j(v(r(t)("logs.filter.error")),1)]),_:1})]),_:1})]),_:1},8,["modelValue"])])])])]),_:1})]),_:1},8,["open"])]),oe.value.length?(h(),B("div",gE,[(h(!0),B(me,null,Pe(oe.value,ee=>(h(),B("span",{key:ee.key,class:"inline-flex items-center gap-1 rounded-full border border-input bg-muted/40 py-0.5 pl-2.5 pr-1 text-xs"},[b("span",vE,v(ee.label)+":",1),b("span",yE,v(ee.value),1),b("button",{type:"button",class:"rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":r(t)("logs.filter.remove",{label:ee.label}),onClick:ee.clear},[m(r(Eo),{class:"h-3 w-3"})],8,bE)]))),128)),b("button",{type:"button",class:"text-xs text-muted-foreground hover:text-foreground",onClick:pe},v(r(t)("logs.filter.clear")),1)])):se("",!0),b("div",_E,[b("span",null,v(r(t)("logs.summary.window",{n:D.value.total})),1),b("span",{class:ge({"text-destructive":D.value.fail>0})},v(r(t)("logs.summary.errorRate",{pct:D.value.errorRateStr})),3),b("span",null,v(r(t)("logs.summary.avgLatency",{ms:U(D.value.avgMs)})),1)]),a.value.length?(h(),B("div",xE,[b("div",wE,[m(r(Al),{class:"h-4 w-4"}),j(" "+v(r(t)("logs.circuit.stripTitle")),1)]),b("ul",kE,[(h(!0),B(me,null,Pe(a.value,ee=>(h(),B("li",{key:ee.id,class:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs"},[b("span",CE,v(ee.name),1),m(r(Oe),{variant:"warning",class:"gap-1 whitespace-nowrap"},{default:g(()=>[m(r(Al),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.circuit.remaining",{s:ee.secondsLeft})),1)]),_:2},1024),b("span",SE,v(ee.lastReason||r(t)("logs.circuit.reasonUnknown")),1),m(r(ke),{variant:"outline",size:"sm",class:"ml-auto h-6 gap-1",onClick:Ye=>$(ee.id)},{default:g(()=>[m(r(Us),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.circuit.reset")),1)]),_:1},8,["onClick"])]))),128))])])):se("",!0),l.value.length?(h(),B("div",$E,[b("div",TE,[m(r(Yo),{class:"h-4 w-4"}),j(" "+v(r(t)("logs.pacing.stripTitle")),1)]),b("ul",AE,[(h(!0),B(me,null,Pe(l.value,ee=>(h(),B("li",{key:ee.id,class:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs"},[b("span",EE,v(ee.name),1),m(r(Oe),{variant:"outline",class:"gap-1 whitespace-nowrap"},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.pacing.at",{used:ee.rpmUsed,cap:ee.rpm})),1)]),_:2},1024),b("span",OE,v(r(t)("logs.pacing.reason")),1)]))),128))])])):se("",!0),n.value.length?M.value.length?(h(),B("div",IE,[m(r(el),null,{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),null,{default:g(()=>[m(r(ot),{class:"w-8"}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.time")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.model")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.provider")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.format")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("logs.col.latency")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("logs.col.status")),1)]),_:1})]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(M.value,ee=>(h(),B(me,{key:X(ee)},[ee.kind==="cooldown"?(h(),z(r(Sn),{key:0,class:"bg-amber-500/5 hover:bg-amber-500/10"},{default:g(()=>[m(r(tt),{colspan:"7",class:"py-2"},{default:g(()=>[b("div",RE,[b("span",LE,v(F(ee.ts)),1),m(r(Oe),{variant:"warning",class:"gap-1 whitespace-nowrap"},{default:g(()=>[m(r(Al),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.circuit.badge")),1)]),_:1}),b("span",DE,v(ee.provider),1),b("span",NE,v(r(t)("logs.circuit.failures",{n:ee.fails})),1),b("span",FE,v(r(t)("logs.circuit.cooldown",{s:Math.round((ee.cooldownMs??0)/1e3)})),1),b("span",qE,v(ee.error||r(t)("logs.circuit.reasonUnknown")),1)])]),_:2},1024)]),_:2},1024)):(h(),B(me,{key:1},[m(r(Sn),{class:"cursor-pointer hover:bg-muted/50",onClick:Ye=>Q(ee)},{default:g(()=>[m(r(tt),{class:"w-8 text-muted-foreground"},{default:g(()=>[(h(),z(_r(Z(ee)?r(dn):r(Tm)),{class:"h-3.5 w-3.5"}))]),_:2},1024),m(r(tt),{class:"font-mono text-xs text-muted-foreground",title:H(ee.ts)},{default:g(()=>[j(v(F(ee.ts)),1)]),_:2},1032,["title"]),m(r(tt),{class:"font-mono text-xs"},{default:g(()=>[j(v(ee.model),1),ee.upstreamModel?(h(),B("span",BE," → "+v(ee.upstreamModel),1)):se("",!0)]),_:2},1024),m(r(tt),{class:"text-sm"},{default:g(()=>[j(v(ee.provider),1)]),_:2},1024),m(r(tt),null,{default:g(()=>[b("span",VE,[m(r(Oe),{variant:"outline",class:ge(x(ee.format))},{default:g(()=>[j(v(r(Lt)(ee.format)),1)]),_:2},1032,["class"]),ee.stream?(h(),z(r(Oe),{key:0,variant:"muted",class:"text-[10px]"},{default:g(()=>[j(v(r(t)("logs.stream")),1)]),_:1})):se("",!0),ee.thinking?(h(),z(r(Oe),{key:1,variant:"muted",class:"gap-1 font-mono text-[10px]",title:r(t)("logs.detail.thinking")+" · "+(ee.thinking.from==="default"?r(t)("logs.thinkingDefault"):r(t)("logs.thinkingClient"))},{default:g(()=>[m(r(wo),{class:"h-3 w-3"}),j(v(ee.thinking.value),1)]),_:2},1032,["title"])):se("",!0),ee.sampling?(h(),z(r(Oe),{key:2,variant:"muted",class:"gap-1 font-mono text-[10px]",title:r(t)("logs.detail.sampling")},{default:g(()=>[m(r(vs),{class:"h-3 w-3"}),j(v(r(an)(ee.sampling)),1)]),_:2},1032,["title"])):se("",!0)])]),_:2},1024),m(r(tt),{class:"text-right font-mono text-xs text-muted-foreground"},{default:g(()=>[j(v(U(ee.ms)),1)]),_:2},1024),m(r(tt),{class:"text-right"},{default:g(()=>[m(r(Oe),{variant:P(ee.status),class:"font-mono"},{default:g(()=>[j(v(ee.status),1)]),_:2},1032,["variant"])]),_:2},1024)]),_:2},1032,["onClick"]),Z(ee)?(h(),z(r(Sn),{key:0,class:"hover:bg-transparent"},{default:g(()=>[m(r(tt),{colspan:"7",class:"bg-muted/30"},{default:g(()=>[b("dl",UE,[b("dt",HE,v(r(t)("logs.detail.time")),1),b("dd",jE,v(H(ee.ts)),1),b("dt",zE,v(r(t)("logs.detail.latency")),1),b("dd",WE,v(U(ee.ms)),1),b("dt",KE,v(r(t)("logs.detail.stream")),1),b("dd",null,v(ee.stream?r(t)("logs.detail.streamYes"):r(t)("logs.detail.streamNo")),1),ee.upstreamModel?(h(),B(me,{key:0},[b("dt",GE,v(r(t)("logs.detail.upstreamModel")),1),b("dd",YE,v(ee.upstreamModel),1)],64)):se("",!0),ee.thinking?(h(),B(me,{key:1},[b("dt",XE,v(r(t)("logs.detail.thinking")),1),b("dd",JE,[j(v(ee.thinking.value)+" ",1),m(r(Oe),{variant:"muted",class:"text-[10px]"},{default:g(()=>[j(v(ee.thinking.from==="default"?r(t)("logs.thinkingDefault"):r(t)("logs.thinkingClient")),1)]),_:2},1024)])],64)):se("",!0),ee.sampling?(h(),B(me,{key:2},[b("dt",QE,v(r(t)("logs.detail.sampling")),1),b("dd",ZE,v(r(Fb)(ee.sampling)),1)],64)):se("",!0),ee.usage?(h(),B(me,{key:3},[b("dt",eO,v(r(t)("logs.detail.tokens")),1),b("dd",tO,[b("span",nO,"↑ "+v(R(ee.usage.input)),1),he[7]||(he[7]=b("span",{class:"text-muted-foreground/50"}," · ",-1)),b("span",sO,"↓ "+v(R(ee.usage.output)),1),ee.usage.estimated?(h(),z(r(Oe),{key:0,variant:"muted",class:"ml-1.5 text-[10px]"},{default:g(()=>[j("≈ "+v(r(t)("logs.detail.estimated")),1)]),_:1})):se("",!0),(ee.usage.cacheRead||0)+(ee.usage.cacheCreation||0)?(h(),B(me,{key:1},[he[6]||(he[6]=b("span",{class:"text-muted-foreground/50"}," · ",-1)),b("span",oO,"⚡ "+v(r(t)("logs.detail.cache"))+" "+v(R((ee.usage.cacheRead||0)+(ee.usage.cacheCreation||0))),1)],64)):se("",!0)])],64)):se("",!0),b("dt",rO,v(r(t)("logs.detail.error")),1),b("dd",aO,v(ee.error||r(t)("logs.detail.errorNone")),1)])]),_:2},1024)]),_:2},1024)):se("",!0)],64))],64))),128))]),_:1})]),_:1})])):(h(),B("p",ME,v(r(t)("logs.noMatch")),1)):(h(),B("p",PE,v(r(t)("logs.empty")),1))]),_:1})]),_:1}))}}),iO={key:0,class:"py-4 text-center text-xs text-muted-foreground"},uO={class:"flex items-center gap-1.5"},cO={class:"truncate font-mono text-xs"},dO={class:"flex items-center gap-2"},fO={class:"h-1.5 w-full max-w-[120px] overflow-hidden rounded-full bg-muted"},pO={class:"font-mono text-xs tabular-nums"},mO={key:0},hO={class:"text-foreground/80"},gO={class:"text-foreground/80"},vO={key:1,class:"text-muted-foreground/40"},yO={key:0,class:"inline-flex flex-col items-end leading-tight"},bO={class:"text-amber-600 dark:text-amber-400"},_O={class:"text-[10px] text-muted-foreground/60"},xO={key:1,class:"text-muted-foreground/40"},Br=re({__name:"StatsBreakdown",props:{title:{},buckets:{},max:{},kind:{}},setup(e){const{t}=pt();function n(d){return d<1e3?`${d}ms`:`${(d/1e3).toFixed(1)}s`}function s(d){return d?d<1e3?String(d):d<1e6?(d/1e3).toFixed(d<1e4?1:0).replace(/\.0$/,"")+"k":(d/1e6).toFixed(1)+"M":"0"}function o(d){if(!d)return"0%";const f=Math.round(d*1e3)/10;return(f%1===0?f.toFixed(0):f.toFixed(1))+"%"}const a=e,l=()=>a.buckets.some(d=>d.inputTokens||d.outputTokens),i=()=>a.buckets.some(d=>d.cacheRead||d.cacheCreation);function u(d,f){return f?Math.round(d/f*100):0}function c(d){var f;return(f=ct[d])==null?void 0:f.solid}return(d,f)=>(h(),z(r(Vt),null,{default:g(()=>[m(r(zn),{class:"pb-2"},{default:g(()=>[m(r(Wn),{class:"text-sm"},{default:g(()=>[j(v(e.title),1)]),_:1})]),_:1}),m(r(en),null,{default:g(()=>[e.buckets.length?(h(),z(r(el),{key:1},{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),null,{default:g(()=>[m(r(ot),null,{default:g(()=>[j(v(r(t)("stats.col.name")),1)]),_:1}),m(r(ot),{class:"w-1/3"},{default:g(()=>[j(v(r(t)("stats.col.calls")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.success")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.error")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.avgLatency")),1)]),_:1}),l()?(h(),z(r(ot),{key:0,class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.tokens")),1)]),_:1})):se("",!0),i()?(h(),z(r(ot),{key:1,class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.cacheHit")),1)]),_:1})):se("",!0)]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(e.buckets,p=>(h(),z(r(Sn),{key:p.key},{default:g(()=>[m(r(tt),{class:"py-1.5"},{default:g(()=>[b("div",uO,[e.kind==="format"&&c(p.key)?(h(),B("span",{key:0,class:ge(["h-2 w-2 shrink-0 rounded-full",c(p.key)])},null,2)):e.kind==="provider"&&p.id?(h(),B("span",{key:1,class:ge(["h-2 w-2 shrink-0 rounded-full",r(ps)(p.id).solid])},null,2)):se("",!0),b("span",cO,v(e.kind==="format"?r(Lt)(p.key):p.key),1)])]),_:2},1024),m(r(tt),{class:"py-1.5"},{default:g(()=>[b("div",dO,[b("div",fO,[b("div",{class:"h-full rounded-full bg-primary/50",style:tn({width:u(p.calls,e.max)+"%"})},null,4)]),b("span",pO,v(p.calls),1)])]),_:2},1024),m(r(tt),{class:"py-1.5 text-right font-mono text-xs text-emerald-600 dark:text-emerald-400"},{default:g(()=>[j(v(p.success),1)]),_:2},1024),m(r(tt),{class:ge(["py-1.5 text-right font-mono text-xs",p.error?"text-destructive":"text-muted-foreground"])},{default:g(()=>[j(v(p.error),1)]),_:2},1032,["class"]),m(r(tt),{class:"py-1.5 text-right font-mono text-xs text-muted-foreground"},{default:g(()=>[j(v(n(p.avgMs)),1)]),_:2},1024),l()?(h(),z(r(tt),{key:0,class:"py-1.5 text-right font-mono text-xs tabular-nums"},{default:g(()=>[p.inputTokens||p.outputTokens?(h(),B("span",mO,[b("span",hO,v(s(p.inputTokens)),1),f[0]||(f[0]=b("span",{class:"text-muted-foreground/50"}," / ",-1)),b("span",gO,v(s(p.outputTokens)),1)])):(h(),B("span",vO,"—"))]),_:2},1024)):se("",!0),i()?(h(),z(r(tt),{key:1,class:"py-1.5 text-right font-mono text-xs tabular-nums"},{default:g(()=>[p.cacheRead||p.cacheCreation?(h(),B("span",yO,[b("span",bO,v(o(p.cacheHitRate)),1),b("span",_O,"↑"+v(s(p.cacheRead)),1)])):(h(),B("span",xO,"—"))]),_:2},1024)):se("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):(h(),B("p",iO,v(r(t)("stats.empty")),1))]),_:1})]),_:1}))}}),wO={class:"flex flex-wrap items-center justify-between gap-2"},kO={class:"flex items-center gap-2"},CO={class:"inline-flex rounded-md border bg-muted/30 p-0.5"},SO=["onClick"],$O={class:"sr-only"},TO={key:0,class:"flex items-center justify-center gap-2 py-10 text-sm text-muted-foreground"},AO={key:1,class:"py-10 text-center text-sm text-muted-foreground"},EO={class:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-6"},OO={class:"rounded-lg border bg-muted/20 p-3"},PO={class:"text-xs text-muted-foreground"},MO={class:"mt-1 font-mono text-xl tabular-nums"},IO={class:"rounded-lg border bg-muted/20 p-3"},RO={class:"text-xs text-muted-foreground"},LO={class:"mt-1 font-mono text-xl tabular-nums text-emerald-600 dark:text-emerald-400"},DO={class:"rounded-lg border bg-muted/20 p-3"},NO={class:"text-xs text-muted-foreground"},FO={class:"mt-1 font-mono text-xl tabular-nums text-destructive"},qO={class:"rounded-lg border bg-muted/20 p-3"},BO={class:"text-xs text-muted-foreground"},VO={class:"mt-1 font-mono text-xl tabular-nums"},UO={class:"rounded-lg border bg-muted/20 p-3"},HO={class:"text-xs text-muted-foreground"},jO={class:"mt-1 font-mono text-xl tabular-nums"},zO={class:"rounded-lg border bg-muted/20 p-3"},WO={class:"text-xs text-muted-foreground"},KO={class:"mt-1 font-mono text-xl tabular-nums"},GO={key:0,class:"grid grid-cols-3 gap-2"},YO={class:"rounded-lg border bg-muted/20 p-3"},XO={class:"text-xs text-muted-foreground"},JO={class:"mt-1 font-mono text-lg tabular-nums"},QO={class:"rounded-lg border bg-muted/20 p-3"},ZO={class:"text-xs text-muted-foreground"},eP={class:"mt-1 font-mono text-lg tabular-nums"},tP={class:"rounded-lg border bg-muted/20 p-3"},nP={class:"text-xs text-muted-foreground"},sP={class:"mt-1 font-mono text-lg tabular-nums"},oP={class:"mb-2 flex items-center justify-between gap-2"},rP={class:"text-sm font-medium"},aP={key:0,class:"text-[11px] text-muted-foreground"},lP={class:"font-mono tabular-nums text-foreground"},iP={class:"rounded-lg border p-3"},uP={class:"relative pt-9"},cP={class:"flex h-40 gap-px"},dP={class:"pointer-events-none absolute bottom-full left-1/2 z-20 mb-1 hidden -translate-x-1/2 whitespace-nowrap rounded-md border bg-background px-2 py-1 text-center text-xs shadow-md group-hover:block"},fP={class:"font-medium"},pP={class:"font-mono tabular-nums"},mP={class:"text-[10px]"},hP={class:"text-emerald-600 dark:text-emerald-400"},gP={class:"text-destructive"},vP={class:"mt-1.5 flex justify-between text-[10px] text-muted-foreground"},yP={class:"grid gap-4 lg:grid-cols-2"},bP={class:"lg:col-span-2"},_P={key:1,class:"space-y-3"},xP={class:"text-sm font-medium"},wP={class:"grid gap-4 lg:grid-cols-2"},bd=160,kP=re({__name:"Stats",setup(e){const{t}=pt(),n=[{v:"24h",key:"h24"},{v:"7d",key:"d7"},{v:"30d",key:"d30"},{v:"90d",key:"d90"},{v:"all",key:"all"}],s=K(localStorage.getItem("myapikey.stats.range")||"7d");n.some(P=>P.v===s.value)||(s.value="7d"),Re(s,P=>{try{localStorage.setItem("myapikey.stats.range",P)}catch{}});const o=K(null),a=K(!1);async function l(){a.value=!0;try{o.value=await Ve("GET",`/admin/stats?range=${s.value}`)}catch{o.value=null}finally{a.value=!1}}Re(s,l),rt(l);function i(P){return P<1e3?`${P}ms`:`${(P/1e3).toFixed(1)}s`}function u(P){if(!P)return"0%";const x=Math.round(P*1e3)/10;return(x%1===0?x.toFixed(0):x.toFixed(1))+"%"}function c(P){const[x,U,R]=P.split("-").map(Number);return new Date(x,U-1,R).toLocaleDateString(void 0,{month:"short",day:"numeric"})}const d=ae(()=>{var P;return((P=o.value)==null?void 0:P.byDay.reduce((x,U)=>Math.max(x,U.calls),0))??0});function f(P){const x=d.value||1,U=P.calls/x*bd,R=P.error/x*bd;return{success:Math.max(0,Math.round(U-R)),error:Math.round(R)}}function p(P){return P.reduce((x,U)=>Math.max(x,U.calls),0)||1}const y=ae(()=>!!o.value&&o.value.totals.calls>0),S=ae(()=>{var P,x;return(((P=o.value)==null?void 0:P.totals.cacheRead)??0)+(((x=o.value)==null?void 0:x.totals.cacheCreation)??0)}),$=ae(()=>!!o.value&&!!(o.value.totals.inputTokens||o.value.totals.outputTokens||S.value)),A=ae(()=>{var U;const P=(((U=o.value)==null?void 0:U.byProviderModel)??[]).filter(R=>R.cacheRead||R.cacheCreation),x=new Map;for(const R of P){const E=R.providerId||R.provider;let F=x.get(E);F||(F={providerId:R.providerId,provider:R.provider,models:[],cacheRead:0},x.set(E,F)),F.models.push({key:R.model,calls:R.calls,success:R.success,error:0,avgMs:0,inputTokens:R.inputTokens,outputTokens:R.outputTokens,cacheRead:R.cacheRead,cacheCreation:R.cacheCreation,cacheHitRate:R.cacheHitRate}),F.cacheRead+=R.cacheRead}return[...x.values()].sort((R,E)=>E.cacheRead-R.cacheRead)}),w=ae(()=>A.value.length>0);function _(P){return P?P<1e3?String(P):P<1e6?(P/1e3).toFixed(P<1e4?1:0).replace(/\.0$/,"")+"k":(P/1e6).toFixed(1)+"M":"0"}return(P,x)=>(h(),z(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[b("div",wO,[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r($m),{class:"h-4 w-4 text-primary"}),j(" "+v(r(t)("stats.title")),1)]),_:1}),b("div",kO,[b("div",CO,[(h(),B(me,null,Pe(n,U=>b("button",{key:U.v,type:"button",class:ge(["rounded-sm px-2.5 py-1 text-xs transition-colors",s.value===U.v?"bg-background font-medium shadow-sm":"text-muted-foreground hover:text-foreground"]),onClick:R=>s.value=U.v},v(r(t)(`stats.ranges.${U.key}`)),11,SO)),64))]),m(r(ke),{variant:"outline",size:"sm",disabled:a.value,onClick:l},{default:g(()=>[a.value?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"})),b("span",$O,v(r(t)("stats.refresh")),1)]),_:1},8,["disabled"])])]),m(r(Ns),null,{default:g(()=>[j(v(r(t)("stats.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-5"},{default:g(()=>[a.value&&!o.value?(h(),B("div",TO,[m(r(vt),{class:"h-4 w-4 animate-spin"}),j(" "+v(r(t)("stats.loading")),1)])):y.value?o.value?(h(),B(me,{key:2},[b("div",EO,[b("div",OO,[b("div",PO,v(r(t)("stats.totals.calls")),1),b("div",MO,v(o.value.totals.calls),1)]),b("div",IO,[b("div",RO,v(r(t)("stats.totals.success")),1),b("div",LO,v(o.value.totals.success),1)]),b("div",DO,[b("div",NO,v(r(t)("stats.totals.error")),1),b("div",FO,v(o.value.totals.error),1)]),b("div",qO,[b("div",BO,v(r(t)("stats.totals.errorRate")),1),b("div",VO,v(u(o.value.totals.errorRate)),1)]),b("div",UO,[b("div",HO,v(r(t)("stats.totals.avgLatency")),1),b("div",jO,v(i(o.value.totals.avgMs)),1)]),b("div",zO,[b("div",WO,v(r(t)("stats.totals.p95")),1),b("div",KO,v(i(o.value.totals.p95Ms)),1)])]),$.value?(h(),B("div",GO,[b("div",YO,[b("div",XO,"↑ "+v(r(t)("stats.totals.inputTokens")),1),b("div",JO,v(_(o.value.totals.inputTokens)),1)]),b("div",QO,[b("div",ZO,"↓ "+v(r(t)("stats.totals.outputTokens")),1),b("div",eP,v(_(o.value.totals.outputTokens)),1)]),b("div",tP,[b("div",nP,"⚡ "+v(r(t)("stats.totals.cache")),1),b("div",sP,v(_(S.value)),1)])])):se("",!0),b("div",null,[b("div",oP,[b("div",rP,v(r(t)("stats.byDay")),1),d.value?(h(),B("div",aP,[j(v(r(t)("stats.peak"))+" ",1),b("span",lP,v(d.value),1)])):se("",!0)]),b("div",iP,[b("div",uP,[b("div",cP,[(h(!0),B(me,null,Pe(o.value.byDay,U=>(h(),B("div",{key:U.day,class:"group relative flex min-w-0 flex-1 cursor-default flex-col justify-end"},[b("div",{style:tn({height:f(U).success+"px"}),class:"w-full rounded-t-sm bg-emerald-500/70 transition-colors group-hover:bg-emerald-500"},null,4),b("div",{style:tn({height:f(U).error+"px"}),class:ge(["w-full transition-colors group-hover:bg-destructive",f(U).error?"bg-destructive/70":""])},null,6),b("div",dP,[b("div",fP,v(c(U.day)),1),b("div",pP,v(U.calls)+" "+v(r(t)("stats.callsAxis")),1),b("div",mP,[b("span",hP,v(U.success),1),x[0]||(x[0]=b("span",{class:"text-muted-foreground"}," / ",-1)),b("span",gP,v(U.error),1)])])]))),128))])]),b("div",vP,[b("span",null,v(o.value.byDay.length?c(o.value.byDay[0].day):""),1),b("span",null,v(o.value.byDay.length?c(o.value.byDay[o.value.byDay.length-1].day):""),1)])])]),b("div",yP,[b("div",bP,[m(Br,{title:r(t)("stats.byModel"),buckets:o.value.byModel,max:p(o.value.byModel),kind:"model"},null,8,["title","buckets","max"])]),m(Br,{title:r(t)("stats.byProvider"),buckets:o.value.byProvider,max:p(o.value.byProvider),kind:"provider"},null,8,["title","buckets","max"]),m(Br,{title:r(t)("stats.byFormat"),buckets:o.value.byFormat,max:p(o.value.byFormat),kind:"format"},null,8,["title","buckets","max"])]),w.value?(h(),B("div",_P,[b("div",xP,v(r(t)("stats.cacheBySource")),1),b("div",wP,[(h(!0),B(me,null,Pe(A.value,U=>(h(),z(Br,{key:U.providerId||U.provider,title:U.provider,buckets:U.models,max:p(U.models),kind:"model"},null,8,["title","buckets","max"]))),128))])])):se("",!0)],64)):se("",!0):(h(),B("div",AO,v(r(t)("stats.empty")),1))]),_:1})]),_:1}))}}),CP={class:"space-y-4"},SP={class:"space-y-2"},$P={class:"min-w-0"},TP={class:"mt-0.5 truncate font-mono text-sm"},AP={class:"min-w-0"},EP={class:"mt-0.5 truncate font-mono text-sm"},OP={class:"min-w-0"},PP={class:"mt-0.5 truncate font-mono text-sm"},MP={class:"text-xs text-muted-foreground"},IP={class:"flex items-center justify-between gap-3 rounded-lg border border-primary/40 bg-primary/5 p-3"},RP={class:"min-w-0"},LP={class:"text-xs font-medium text-primary"},DP={class:"truncate font-mono text-sm"},NP={class:"flex items-center gap-1"},FP={class:"overflow-x-auto rounded-md border bg-muted/40 p-3 font-mono text-xs leading-relaxed"},qP=re({__name:"Connect",setup(e){const{t}=pt(),n={openai:"openai",responses:"responses",anthropic:"anthropic",curl:"openai","curl-anthropic":"anthropic","curl-responses":"responses"};function s(w){const _=n[w];return _?ct[_]:null}const o=K(null),a=K(null),l=K(""),i=K(!1),u=K([]),c=ae(()=>{const w=window.location.hostname;if((w==="localhost"||w==="127.0.0.1")&&a.value){const _=window.location.port;return`${window.location.protocol}//${a.value}${_?":"+_:""}`}return window.location.origin}),d=ae(()=>`${c.value}/openai-chat/v1`),f=ae(()=>`${c.value}/openai-responses/v1`),p=ae(()=>`${c.value}/anthropic`);async function y(){o.value=(await Ve("GET","/admin/api-key")).apiKey,a.value=(await Ve("GET","/admin/connection")).lanIp,u.value=(await Ve("GET","/admin/models").catch(()=>({models:[]}))).models}function S(w){var _;return((_=u.value.find(P=>P[w].enabled))==null?void 0:_.name)||"<model>"}async function $(w,_){await kr(_)?(l.value=w,setTimeout(()=>{l.value===w&&(l.value="")},1500)):Be(t("connect.copyFailed"),"error")}const A=ae(()=>[{key:"openai",title:t("connect.openaiTitle"),text:`export OPENAI_BASE_URL=${d.value}
|
|
333
|
+
`)){const J=D.trim();if(!J.startsWith("data:"))continue;const oe=J.slice(5).trim();if(!(!oe||oe==="[DONE]"))try{M.push(JSON.parse(oe))}catch{}}return M}function F(L){var ve,ye;let M="",D="";const J=new Map;let oe,pe,Y;const he=te=>{let we=J.get(te);return we||(we={name:"",args:""},J.set(te,we)),we},ee=te=>{if(!te||typeof te!="object")return;const we=te;oe=u(we.prompt_tokens)??u(we.input_tokens)??oe,pe=u(we.completion_tokens)??u(we.output_tokens)??pe};for(const te of L){if(Array.isArray(te.choices)){const _e=te.choices[0],Fe=_e==null?void 0:_e.delta;if(Fe&&(typeof Fe.content=="string"&&(M+=Fe.content),typeof Fe.reasoning_content=="string"&&(D+=Fe.reasoning_content),Array.isArray(Fe.tool_calls)))for(const at of Fe.tool_calls){const V=he(typeof at.index=="number"?at.index:0),G=at.function;typeof(G==null?void 0:G.name)=="string"&&(V.name+=G.name),typeof(G==null?void 0:G.arguments)=="string"&&(V.args+=G.arguments)}typeof(_e==null?void 0:_e.finish_reason)=="string"&&_e.finish_reason&&(Y=_e.finish_reason)}ee(te.usage);const we=i(te.type);if(we==="message_start"&&ee((ve=te.message)==null?void 0:ve.usage),we==="content_block_delta"){const _e=te.delta;typeof(_e==null?void 0:_e.text)=="string"&&(M+=_e.text),typeof(_e==null?void 0:_e.thinking)=="string"&&(D+=_e.thinking),typeof(_e==null?void 0:_e.partial_json)=="string"&&(he(typeof te.index=="number"?te.index:0).args+=_e.partial_json)}if(we==="content_block_start"){const _e=te.content_block;(_e==null?void 0:_e.type)==="tool_use"&&(he(typeof te.index=="number"?te.index:0).name=i(_e.name))}if(we==="message_delta"){const _e=te.delta;typeof(_e==null?void 0:_e.stop_reason)=="string"&&_e.stop_reason&&(Y=_e.stop_reason),ee(te.usage)}we==="response.output_text.delta"&&typeof te.delta=="string"&&(M+=te.delta),we==="response.completed"&&ee((ye=te.response)==null?void 0:ye.usage)}const Ye=[];D&&Ye.push({role:"assistant",blocks:[p(D,!0)]});const Ue=[...J.values()].filter(te=>te.name||te.args).map(te=>({t:"call",name:te.name,args:te.args?d(te.args):void 0}));return(M||Ue.length)&&Ye.push({role:"assistant",blocks:[...M?[p(M)]:[],...Ue]}),{cards:Ye,inp:oe,out:pe,finish:Y,chunks:L.length}}function H(L){if(Array.isArray(L.choices)){const M=[];let D;for(const oe of L.choices){const pe=oe.message;if(!pe)continue;const Y=[...typeof pe.reasoning_content=="string"&&pe.reasoning_content?[p(pe.reasoning_content,!0)]:[],...A(pe.content),...w(pe)];Y.length&&M.push({role:i(pe.role)||"assistant",blocks:Y}),typeof oe.finish_reason=="string"&&oe.finish_reason&&(D=oe.finish_reason)}const J=L.usage;return!M.length&&!J?null:{cards:M,inp:u(J==null?void 0:J.prompt_tokens),out:u(J==null?void 0:J.completion_tokens),finish:D}}if(Array.isArray(L.content)){const M=A(L.content),D=L.usage;return!M.length&&!D?null:{cards:M.length?[{role:"assistant",blocks:M}]:[],inp:u(D==null?void 0:D.input_tokens),out:u(D==null?void 0:D.output_tokens),finish:typeof L.stop_reason=="string"&&L.stop_reason?L.stop_reason:void 0}}if(Array.isArray(L.output)){const M=[];for(const J of L.output)if(J.type==="function_call")M.push({role:"assistant",blocks:[{t:"call",name:i(J.name),args:d(f(J.arguments))}]});else if(J.type==="message"){const oe=A(J.content);oe.length&&M.push({role:i(J.role)||"assistant",blocks:oe})}const D=L.usage;return!M.length&&!D?null:{cards:M,inp:u(D==null?void 0:D.input_tokens),out:u(D==null?void 0:D.output_tokens),finish:i(L.status)||void 0}}return null}const X=ae(()=>{if(t.kind!=="request"||!t.body)return null;try{return U(JSON.parse(t.body))}catch{return null}}),Z=ae(()=>{if(t.kind!=="response"||!t.body)return null;try{const L=H(JSON.parse(t.body));if(L)return L}catch{if(R(t.body)){const L=E(t.body);if(L.length)return F(L)}}return null}),Q=ae(()=>{var L,M;return((L=X.value)==null?void 0:L.cards)??((M=Z.value)==null?void 0:M.cards)??[]}),de=ae(()=>{if(!t.body)return"";try{return JSON.stringify(JSON.parse(t.body),null,2)}catch{return t.body}});return(L,M)=>(h(),B(me,null,[X.value||Z.value?(h(),B("div",yS,[X.value&&X.value.params.length?(h(),B("div",bS,[(h(!0),B(me,null,Pe(X.value.params,D=>(h(),B("span",{key:D.k,class:"font-mono text-[11px] text-muted-foreground"},[b("span",_S,v(D.k),1),j("="+v(D.v),1)]))),128))])):se("",!0),(h(!0),B(me,null,Pe(Q.value,(D,J)=>(h(),B("div",{key:J,class:"overflow-hidden rounded-md border"},[b("div",xS,[m(r(Oe),{variant:"secondary",class:"font-mono text-[10px]"},{default:g(()=>[j(v(D.role),1)]),_:2},1024)]),b("div",wS,[(h(!0),B(me,null,Pe(D.blocks,(oe,pe)=>(h(),B(me,{key:pe},[oe.t==="note"?(h(),B("p",kS,v(oe.text),1)):oe.t==="img"?(h(),B("div",CS,[b("img",{src:oe.src,alt:r(n)("models.debugImage"),loading:"lazy",class:"max-h-28 max-w-full cursor-zoom-in rounded border bg-muted/30 object-contain",onClick:Y=>o.value=oe.src},null,8,SS),b("p",$S,[b("span",TS,v(oe.note),1),oe.src.startsWith("data:")?se("",!0):(h(),B("a",{key:0,href:oe.src,target:"_blank",rel:"noreferrer",class:"text-primary hover:underline",onClick:M[0]||(M[0]=Ie(()=>{},["stop"]))},v(r(n)("models.debugOpen")),9,AS))])])):oe.t==="call"?(h(),B("div",ES,[b("p",OS,[m(r(cd),{class:"h-3 w-3 shrink-0 text-muted-foreground"}),j(v(oe.name),1)]),oe.args?(h(),B(me,{key:0},[b("pre",PS,v(l(oe.args,`${J}-${pe}`)),1),oe.args.length>Zs?(h(),B("button",{key:0,type:"button",class:"text-[11px] text-primary hover:underline",onClick:Y=>a(`${J}-${pe}`)},v(s.value.has(`${J}-${pe}`)?r(n)("models.debugLess"):r(n)("models.debugMore",{n:oe.args.length-Zs})),9,MS)):se("",!0)],64)):se("",!0)])):(h(),B("div",IS,[oe.think?(h(),B("p",RS,v(r(n)("models.debugThinking")),1)):se("",!0),b("p",{class:ge(["whitespace-pre-wrap break-words text-xs leading-relaxed",oe.think?"italic text-muted-foreground":""])},v(l(oe.text,`${J}-${pe}`)),3),oe.text.length>Zs?(h(),B("button",{key:1,type:"button",class:"mt-0.5 text-[11px] text-primary hover:underline",onClick:Y=>a(`${J}-${pe}`)},v(s.value.has(`${J}-${pe}`)?r(n)("models.debugLess"):r(n)("models.debugMore",{n:oe.text.length-Zs})),9,LS)):se("",!0)]))],64))),128))])]))),128)),X.value&&X.value.tools.length?(h(),B("div",DS,[b("div",NS,v(r(n)("models.debugTools"))+" ("+v(X.value.tools.length)+")",1),(h(!0),B(me,null,Pe(X.value.tools,(D,J)=>(h(),B("div",{key:J,class:"border-b last:border-b-0"},[b("button",{type:"button",class:"flex w-full items-center gap-1.5 px-2.5 py-1 text-left hover:bg-muted/50",onClick:oe=>a(`tool-${J}`)},[m(r(Tm),{class:ge(["h-3 w-3 shrink-0 text-muted-foreground transition-transform",s.value.has(`tool-${J}`)?"rotate-90":""])},null,8,["class"]),m(r(cd),{class:"h-3 w-3 shrink-0 text-muted-foreground"}),b("span",qS,v(D.name),1),D.desc?(h(),B("span",BS,v(D.desc),1)):se("",!0)],8,FS),s.value.has(`tool-${J}`)?(h(),B("div",VS,[D.desc?(h(),B("p",US,v(D.desc),1)):se("",!0),D.schema?(h(),B("pre",HS,v(D.schema),1)):se("",!0)])):se("",!0)]))),128))])):se("",!0),Z.value&&(Z.value.inp!=null||Z.value.out!=null||Z.value.finish||Z.value.chunks)?(h(),B("div",jS,[Z.value.inp!=null?(h(),B("span",zS,v(r(n)("models.debugTokIn"))+" "+v(Z.value.inp),1)):se("",!0),Z.value.out!=null?(h(),B("span",WS,v(r(n)("models.debugTokOut"))+" "+v(Z.value.out),1)):se("",!0),Z.value.finish?(h(),B("span",KS,v(r(n)("models.debugFinish"))+": "+v(Z.value.finish),1)):se("",!0),Z.value.chunks?(h(),B("span",GS,v(r(n)("models.debugChunks",{n:Z.value.chunks})),1)):se("",!0)])):se("",!0)])):(h(),B("pre",YS,v(de.value),1)),(h(),z(br,{to:"body"},[o.value?(h(),B("div",{key:0,class:"fixed inset-0 z-[60] flex cursor-zoom-out items-center justify-center bg-black/80 p-8",onClick:M[1]||(M[1]=D=>o.value=null)},[b("img",{src:o.value,alt:r(n)("models.debugImage"),class:"max-h-full max-w-full rounded object-contain shadow-lg"},null,8,XS)])):se("",!0)]))],64))}}),JS={class:"flex flex-wrap items-center gap-1.5"},QS={class:"font-medium"},ZS={key:0,class:"font-mono text-xs text-muted-foreground"},e2={class:"ml-auto flex items-center gap-2"},t2={class:"flex items-center rounded-md border p-0.5"},n2={class:"font-mono text-xs text-muted-foreground"},s2={key:0,class:"flex items-center gap-1 overflow-x-auto pb-1"},o2=["title","onClick"],r2={key:1,class:"text-xs text-destructive"},a2={class:"space-y-1"},l2={class:"flex items-center justify-between"},i2={class:"text-xs font-medium text-muted-foreground"},u2={class:"flex items-center"},c2={key:0,class:"max-h-[60vh] overflow-y-auto"},d2={key:1,class:"max-h-96 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/50 p-3 font-mono text-xs"},f2={key:2,class:"space-y-1"},p2={class:"flex items-center justify-between"},m2={class:"text-xs font-medium text-muted-foreground"},h2={class:"flex items-center"},g2={key:0,class:"max-h-[60vh] overflow-y-auto"},v2={key:1,class:"max-h-96 overflow-auto whitespace-pre-wrap break-all rounded-md bg-muted/50 p-3 font-mono text-xs"},y2={class:"flex items-center gap-2"},b2={class:"min-w-0 flex-1 text-sm"},_2={class:"flex items-center rounded-md border p-0.5"},x2={class:"text-xs text-muted-foreground"},w2={key:0,class:"space-y-1"},k2={class:"flex items-center justify-between"},C2={class:"text-xs font-medium text-muted-foreground"},S2={class:"max-h-80 divide-y overflow-y-auto rounded-md border"},$2=["onClick"],T2={class:"w-16 shrink-0 font-mono text-xs text-muted-foreground"},A2=["title"],E2=["onClick"],O2={class:"w-16 shrink-0 font-mono text-xs text-muted-foreground"},P2={class:"min-w-0 max-w-40 truncate font-medium"},M2=["title"],I2=["title"],R2=["title"],L2={class:"ml-auto shrink-0 font-mono text-xs text-muted-foreground"},D2={key:1,class:"flex flex-col items-center gap-2 px-4 py-10 text-center"},N2={class:"flex size-9 items-center justify-center rounded-lg bg-muted text-muted-foreground"},F2={class:"text-sm text-muted-foreground"},q2={key:2,class:"rounded-md border border-dashed px-3 py-6 text-center text-sm text-muted-foreground"},El=300,B2=re({__name:"ModelDebugDialog",props:{open:{type:Boolean},model:{}},emits:["update:open","changed"],setup(e,{emit:t}){const n=e,s=t,{t:o}=pt(),a=K(!1),l=K([]),i=K([]),u=K(!1),c=K(!1),d=K(null);async function f(){if(n.model){u.value=!0;try{const L=await Ve("GET",`/admin/models/${encodeURIComponent(n.model.name)}/debug`);a.value=L.enabled,l.value=L.captures,i.value=L.failures}catch(L){Be(L.message,"error")}finally{u.value=!1}}}Re(()=>n.open,L=>{L&&(d.value=null,w.value=null,f())});async function p(L){if(!(!n.model||c.value)){c.value=!0;try{const M=await Ve("PUT",`/admin/models/${encodeURIComponent(n.model.name)}/debug`,{enabled:L===!0});a.value=M.enabled,M.enabled||(l.value=[]),s("changed")}catch(M){Be(M.message,"error")}finally{c.value=!1}}}async function y(){if(!(!n.model||u.value)){u.value=!0;try{await Ve("DELETE",`/admin/models/${encodeURIComponent(n.model.name)}/debug/fails`),i.value=[]}catch(L){Be(L.message,"error")}finally{u.value=!1}}}const S=L=>L.status>=400||L.status===0,$=ae(()=>{const L=l.value.filter(M=>!S(M));return[...i.value.map(M=>({c:M,auto:!0})),...L.map(M=>({c:M,auto:!1}))].sort((M,D)=>D.c.ts-M.c.ts)}),A=K("conv"),w=K(null),_=ae(()=>{const{ids:L,shapes:M}=gS($.value.map(oe=>oe.c.request)),D=new Map($.value.map((oe,pe)=>[oe,M[pe]])),J=new Map;$.value.forEach((oe,pe)=>{let Y=J.get(L[pe]);Y||(Y={key:`c${L[pe]}`,title:"",items:[],lastTs:0,fails:0},J.set(L[pe],Y)),Y.items.push(oe),oe.c.ts>Y.lastTs&&(Y.lastTs=oe.c.ts),S(oe.c)&&(Y.fails+=1)});for(const oe of J.values())oe.items.sort((pe,Y)=>pe.c.ts-Y.c.ts),oe.title=oe.items.map(pe=>{var Y;return((Y=D.get(pe))==null?void 0:Y.title)??""}).find(Boolean)||o("models.debugConvNoUser");return[...J.values()].sort((oe,pe)=>pe.lastTs-oe.lastTs)});function P(L){w.value=L.items,d.value=L.items[L.items.length-1].c}function x(L){w.value=null,d.value=L.c}function U(L){return new Date(L).toLocaleTimeString([],{hour12:!1})}function R(L){if(!L)return"0B";const M=new TextEncoder().encode(L).length;return M>=1024?`${(M/1024).toFixed(1)}KB`:`${M}B`}const E=K(!1),F=K("content");Re(d,()=>{E.value=!1,F.value="content"});function H(L,M){if(typeof L=="string")return L.length<=El?L:(M.cut=!0,`${L.slice(0,El)}…${o("models.debugOmitted",{n:L.length-El})}`);if(Array.isArray(L))return L.map(D=>H(D,M));if(L&&typeof L=="object"){const D={};for(const[J,oe]of Object.entries(L))D[J]=H(oe,M);return D}return L}function X(L){if(!L)return{text:"",cut:!1};try{const M=JSON.parse(L),D={cut:!1},J=H(M,D);return{text:JSON.stringify(E.value?M:J,null,2),cut:D.cut}}catch{return{text:L,cut:!1}}}const Z=ae(()=>{var L;return X((L=d.value)==null?void 0:L.request)}),Q=ae(()=>{var L;return X((L=d.value)==null?void 0:L.response)});async function de(L){if(!L)return;const M=await kr(L);Be(o(M?"connect.copied":"connect.copyFailed"),M?"success":"error")}return(L,M)=>(h(),z(r(Ws),{open:e.open,"onUpdate:open":M[9]||(M[9]=D=>s("update:open",D))},{default:g(()=>[m(r(Ks),{class:"max-w-3xl"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>{var D;return[j(v(r(o)("models.debugTitle",{name:((D=e.model)==null?void 0:D.name)??""})),1)]}),_:1}),m(r(Ys),{class:"sr-only"},{default:g(()=>[j(v(r(o)("models.debugDesc")),1)]),_:1}),d.value?(h(),B(me,{key:0},[b("div",JS,[m(r(ke),{variant:"ghost",size:"sm",class:"h-7 px-2 text-muted-foreground",onClick:M[0]||(M[0]=D=>d.value=null)},{default:g(()=>[m(r(Ek),{class:"h-3.5 w-3.5"}),j(v(r(o)("models.debugBack")),1)]),_:1}),M[11]||(M[11]=b("span",{class:"h-4 w-px bg-border","aria-hidden":"true"},null,-1)),b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(d.value.providerId).solid])},null,2),b("span",QS,v(d.value.provider),1),d.value.upstreamModel?(h(),B("span",ZS,"› "+v(d.value.upstreamModel),1)):se("",!0),m(r(Oe),{variant:"outline",class:"shrink-0"},{default:g(()=>[j(v(r(Lt)(d.value.format)),1)]),_:1}),d.value.stream?(h(),z(r(Oe),{key:1,variant:"secondary",class:"shrink-0"},{default:g(()=>[...M[10]||(M[10]=[j("SSE",-1)])]),_:1})):se("",!0),d.value.status===0?(h(),z(r(Oe),{key:2,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("models.debugNetwork")),1)]),_:1})):d.value.status<300?(h(),z(r(Oe),{key:3,variant:"success",class:"shrink-0"},{default:g(()=>[j(v(d.value.status),1)]),_:1})):(h(),z(r(Oe),{key:4,variant:"destructive",class:"shrink-0"},{default:g(()=>[j(v(d.value.status),1)]),_:1})),d.value.truncated?(h(),z(r(Oe),{key:5,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("models.debugTruncated")),1)]),_:1})):se("",!0),b("div",e2,[b("div",t2,[b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",F.value==="content"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[1]||(M[1]=D=>F.value="content")},v(r(o)("models.debugViewContent")),3),b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",F.value==="raw"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[2]||(M[2]=D=>F.value="raw")},v(r(o)("models.debugViewRaw")),3)]),b("span",n2,v(U(d.value.ts))+" · "+v(d.value.ms)+"ms",1)])]),w.value&&w.value.length>1?(h(),B("div",s2,[(h(!0),B(me,null,Pe(w.value,(D,J)=>(h(),B("button",{key:`a${D.c.ts}-${J}`,type:"button",class:ge(["flex shrink-0 items-center gap-1 rounded-md border px-1.5 py-0.5 font-mono text-[10px] transition-colors",D.c===d.value?"border-foreground/30 bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/50"]),title:`${D.c.provider}${D.c.upstreamModel?` › ${D.c.upstreamModel}`:""} · ${D.c.ms}ms`,onClick:oe=>d.value=D.c},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ps)(D.c.providerId).solid])},null,2),j(" "+v(U(D.c.ts))+" ",1),b("span",{class:ge(D.c.status===0||D.c.status>=400?"text-destructive":"text-emerald-500")},v(D.c.status||"×"),3)],10,o2))),128))])):se("",!0),d.value.error?(h(),B("p",r2,v(d.value.error),1)):se("",!0),b("div",a2,[b("div",l2,[b("span",i2,v(r(o)("models.debugReq"))+" · "+v(R(d.value.request)),1),b("div",u2,[F.value==="raw"&&Z.value.cut?(h(),z(r(ke),{key:0,variant:"ghost",size:"sm",class:"h-6 px-2 text-[11px] text-muted-foreground",onClick:M[3]||(M[3]=D=>E.value=!E.value)},{default:g(()=>[j(v(E.value?r(o)("models.debugCollapse"):r(o)("models.debugExpand")),1)]),_:1})):se("",!0),m(r(ke),{variant:"ghost",size:"icon",class:"size-6 text-muted-foreground",title:r(o)("connect.copy"),"aria-label":r(o)("connect.copy"),onClick:M[4]||(M[4]=D=>de(d.value.request))},{default:g(()=>[m(r(rn),{class:"h-3 w-3"})]),_:1},8,["title","aria-label"])])]),F.value==="content"?(h(),B("div",c2,[m(md,{body:d.value.request,kind:"request"},null,8,["body"])])):(h(),B("pre",d2,v(Z.value.text),1))]),d.value.response!==void 0?(h(),B("div",f2,[b("div",p2,[b("span",m2,v(r(o)("models.debugResp"))+" · "+v(R(d.value.response)),1),b("div",h2,[F.value==="raw"&&Q.value.cut?(h(),z(r(ke),{key:0,variant:"ghost",size:"sm",class:"h-6 px-2 text-[11px] text-muted-foreground",onClick:M[5]||(M[5]=D=>E.value=!E.value)},{default:g(()=>[j(v(E.value?r(o)("models.debugCollapse"):r(o)("models.debugExpand")),1)]),_:1})):se("",!0),m(r(ke),{variant:"ghost",size:"icon",class:"size-6 text-muted-foreground",title:r(o)("connect.copy"),"aria-label":r(o)("connect.copy"),onClick:M[6]||(M[6]=D=>de(d.value.response))},{default:g(()=>[m(r(rn),{class:"h-3 w-3"})]),_:1},8,["title","aria-label"])])]),F.value==="content"?(h(),B("div",g2,[m(md,{body:d.value.response,kind:"response"},null,8,["body"])])):(h(),B("pre",v2,v(Q.value.text),1))])):se("",!0)],64)):(h(),B(me,{key:1},[b("div",y2,[m(r(vS),{"model-value":a.value,disabled:c.value||u.value,"aria-label":r(o)("models.debugSwitch"),"onUpdate:modelValue":p},null,8,["model-value","disabled","aria-label"]),b("span",b2,v(r(o)("models.debugSwitch")),1),b("div",_2,[b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",A.value==="conv"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[7]||(M[7]=D=>A.value="conv")},v(r(o)("models.debugModeConv")),3),b("button",{type:"button",class:ge(["rounded px-1.5 py-0.5 text-[11px]",A.value==="flat"?"bg-muted font-medium text-foreground":"text-muted-foreground hover:text-foreground"]),onClick:M[8]||(M[8]=D=>A.value="flat")},v(r(o)("models.debugModeFlat")),3)]),m(r(ke),{variant:"outline",size:"icon",class:"size-8 shrink-0",disabled:u.value,title:r(o)("models.debugRefresh"),"aria-label":r(o)("models.debugRefresh"),onClick:f},{default:g(()=>[u.value?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"}))]),_:1},8,["disabled","title","aria-label"])]),b("p",x2,v(r(o)("models.debugHint")),1),$.value.length?(h(),B("div",w2,[b("div",k2,[b("span",C2,v(r(o)("models.debugFailsTitle",{n:i.value.length})),1),i.value.length?(h(),z(r(ke),{key:0,variant:"ghost",size:"icon",class:"size-6 text-muted-foreground",disabled:u.value,title:r(o)("models.debugClearFails"),"aria-label":r(o)("models.debugClearFails"),onClick:y},{default:g(()=>[m(r(Eo),{class:"h-3 w-3"})]),_:1},8,["disabled","title","aria-label"])):se("",!0)]),b("div",S2,[A.value==="conv"?(h(!0),B(me,{key:0},Pe(_.value,D=>(h(),B("button",{key:D.key,type:"button",class:"flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left transition-colors hover:bg-muted/50",onClick:J=>P(D)},[b("span",T2,v(U(D.lastTs)),1),b("span",{class:"min-w-0 flex-1 truncate",title:D.title},v(D.title),9,A2),D.fails?(h(),z(r(Oe),{key:0,variant:"destructive",class:"shrink-0 text-[10px]"},{default:g(()=>[j(v(r(o)("models.debugConvFails",{n:D.fails})),1)]),_:2},1024)):se("",!0),m(r(Oe),{variant:"secondary",class:"shrink-0 text-[10px]"},{default:g(()=>[j(v(r(o)("models.debugConvReqs",{n:D.items.length})),1)]),_:2},1024)],8,$2))),128)):(h(!0),B(me,{key:1},Pe($.value,(D,J)=>(h(),B("button",{key:`${D.c.ts}-${J}`,type:"button",class:"flex w-full cursor-pointer flex-wrap items-center gap-x-2 gap-y-0.5 px-3 py-1.5 text-left transition-colors hover:bg-muted/50",onClick:oe=>x(D)},[b("span",O2,v(U(D.c.ts)),1),b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(D.c.providerId).solid])},null,2),b("span",P2,v(D.c.provider),1),D.c.upstreamModel?(h(),B("span",{key:0,class:"min-w-0 max-w-40 truncate font-mono text-xs text-muted-foreground",title:D.c.upstreamModel},"› "+v(D.c.upstreamModel),9,M2)):se("",!0),D.c.status===0?(h(),z(r(Oe),{key:1,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("models.debugNetwork")),1)]),_:1})):D.c.status<300?(h(),z(r(Oe),{key:2,variant:"success",class:"shrink-0 font-mono"},{default:g(()=>[j(v(D.c.status),1)]),_:2},1024)):(h(),z(r(Oe),{key:3,variant:"destructive",class:"shrink-0 font-mono"},{default:g(()=>[j(v(D.c.status),1)]),_:2},1024)),D.c.thinking?(h(),B("span",{key:4,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(o)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(D.c.thinking.value),1)],8,I2)):se("",!0),r(an)(D.c.sampling)?(h(),B("span",{key:5,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(o)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(D.c.sampling)),1)],8,R2)):se("",!0),D.auto?(h(),z(r(Oe),{key:6,variant:"secondary",class:"shrink-0 text-[10px]"},{default:g(()=>[j(v(r(o)("models.debugAutoTag")),1)]),_:1})):se("",!0),b("span",L2,v(D.c.ms)+"ms · "+v(R(D.c.request))+"/"+v(R(D.c.response)),1)],8,E2))),128))])])):a.value?(h(),B("div",D2,[b("span",N2,[m(r(Ho),{class:"size-4"})]),b("p",F2,v(r(o)("models.debugEmpty")),1)])):(h(),B("div",q2,v(r(o)("models.debugEmptyOff")),1))],64))]),_:1})]),_:1},8,["open"]))}}),V2={class:"space-y-2"},U2={class:"flex items-center gap-1.5 text-[11px] font-medium text-muted-foreground"},H2={key:0,class:"font-normal"},j2={key:1,class:"font-normal"},z2=["title"],W2={class:"w-3 shrink-0 text-right text-[10px] tabular-nums text-muted-foreground/60"},K2={class:"min-w-0 flex-1 leading-tight"},G2={class:"truncate text-xs font-medium"},Y2={key:0,class:"flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-muted-foreground"},X2=["title"],J2=["title"],Q2=["title"],Z2=["title","aria-label","onClick"],e$={key:1,class:"shrink-0 font-mono text-[11px] font-semibold text-destructive"},t$=["title","aria-label","onClick"],n$=["title","aria-label","onClick"],s$={key:0,class:"rounded-md bg-destructive/10 px-2 py-1.5 font-mono text-[11px] break-all whitespace-pre-wrap text-destructive"},o$={class:"opacity-70"},hd=re({__name:"ChainDetails",props:{model:{},line:{},active:{},fails:{},slotState:{type:Function},slotTitle:{type:Function},slotClass:{type:Function},probeSlot:{type:Function},useSlot:{type:Function}},setup(e){const t=e,{t:n}=pt();function s(l){const i=(t.fails??[]).filter(u=>u.providerId===t.line.slots[l].id);return i.length?i.reduce((u,c)=>c.ts>=u.ts?c:u):void 0}const o=K(null);function a(l){o.value=o.value===l?null:l}return(l,i)=>(h(),B("div",V2,[b("div",U2,[(h(!0),B(me,null,Pe(e.line.fs,u=>(h(),B(me,{key:u},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct)[u].solid])},null,2),j(" "+v(r(n)(r(xn)[u].label)),1)],64))),128)),e.line.enabled?se("",!0):(h(),B("span",H2,"· "+v(r(n)("models.routeDisabled")),1)),e.active!==void 0?(h(),B("span",j2,"· "+v(r(n)("models.chainActiveHint")),1)):se("",!0)]),b("div",{class:ge(["space-y-1",{"opacity-60":!e.line.enabled}])},[(h(!0),B(me,null,Pe(e.line.slots,(u,c)=>{var d,f,p,y;return h(),B(me,{key:c},[b("div",{class:ge(["flex items-center gap-2 rounded-md border px-2 py-1.5 transition-colors",[e.slotClass(e.model,e.line,c),c===e.active?"ring-1 ring-primary/60":""]]),title:e.slotState(e.model,e.line,c)?e.slotTitle(e.model,e.line,c):void 0},[b("span",W2,v(c+1),1),b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(u.id).solid])},null,2),b("div",K2,[b("div",G2,v(u.name),1),u.model||u.thinking||r(an)(u.sampling)?(h(),B("div",Y2,[u.model?(h(),B("span",{key:0,class:"min-w-0 truncate",title:u.model},"› "+v(u.model),9,X2)):se("",!0),u.thinking?(h(),B("span",{key:1,class:"inline-flex shrink-0 items-center gap-0.5",title:r(n)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(u.thinking),1)],8,J2)):se("",!0),r(an)(u.sampling)?(h(),B("span",{key:2,class:"inline-flex shrink-0 items-center gap-0.5",title:r(n)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(u.sampling)),1)],8,Q2)):se("",!0)])):se("",!0)]),c!==0?(h(),B("button",{key:0,type:"button",class:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground/40 transition-colors hover:bg-accent hover:text-accent-foreground",title:r(n)("models.chainUseTip"),"aria-label":`${r(n)("models.chainUseTip")} · ${u.name}`,onClick:Ie(S=>e.useSlot(e.model,e.line,c),["stop"])},[m(r(Uk),{class:"h-3 w-3"})],8,Z2)):se("",!0),e.line.enabled?(h(),B(me,{key:1},[((d=e.slotState(e.model,e.line,c))==null?void 0:d.state)==="ok"?(h(),z(r(Qt),{key:0,class:"h-3.5 w-3.5 shrink-0 text-emerald-600 dark:text-emerald-400"})):((f=e.slotState(e.model,e.line,c))==null?void 0:f.state)==="fail"?(h(),B("span",e$,v(((p=e.slotState(e.model,e.line,c))==null?void 0:p.status)||"✗"),1)):se("",!0),s(c)?(h(),B("button",{key:2,type:"button",class:"inline-flex shrink-0 items-center gap-0.5 rounded px-0.5 font-mono text-[10px] font-semibold text-destructive transition-colors hover:bg-destructive/10",title:r(n)("models.chainFailHint"),"aria-label":r(n)("models.chainFailHint"),onClick:Ie(S=>a(c),["stop"])},[m(r(Co),{class:"h-3 w-3"}),j(v(s(c).status||"?"),1)],8,t$)):se("",!0),((y=e.slotState(e.model,e.line,c))==null?void 0:y.state)!=="testing"?(h(),B("button",{key:3,type:"button",class:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground/40 transition-colors hover:bg-accent hover:text-accent-foreground",title:r(n)("models.testSourceHint"),"aria-label":`${r(n)("models.testSource")} · ${u.name}`,onClick:Ie(S=>e.probeSlot(e.model,e.line,c),["stop"])},[m(r(Fs),{class:"h-3 w-3"})],8,n$)):(h(),z(r(vt),{key:4,class:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}))],64)):se("",!0)],10,z2),o.value===c&&s(c)?(h(),B("div",s$,[b("span",o$,"HTTP "+v(s(c).status)+" · ",1),j(v(s(c).error||r(n)("models.probeFail")),1)])):se("",!0)],64)}),128))],2)]))}}),r$={class:"flex gap-3 pr-8"},a$={key:0,class:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-destructive/15 text-destructive"},l$={class:"min-w-0 flex-1 space-y-1.5"},i$={class:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"},fu=re({__name:"ConfirmDialog",props:es({title:{},description:{},confirmText:{default:""},cancelText:{default:""},variant:{default:"default"},loading:{type:Boolean,default:!1}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:es(["confirm"],["update:open"]),setup(e,{emit:t}){const{t:n}=pt(),s=$o(e,"open"),o=t;return(a,l)=>(h(),z(r(Ws),{open:s.value,"onUpdate:open":l[2]||(l[2]=i=>s.value=i)},{default:g(()=>[m(r(Ks),{class:"max-w-sm"},{default:g(()=>[b("div",r$,[e.variant==="destructive"?(h(),B("span",a$,[m(r(Co),{class:"h-4 w-4"})])):se("",!0),b("div",l$,[m(r(Gs),{class:"text-base leading-tight"},{default:g(()=>[j(v(e.title),1)]),_:1}),e.description?(h(),z(r(Ys),{key:0},{default:g(()=>[j(v(e.description),1)]),_:1})):se("",!0)])]),b("div",i$,[m(r(ke),{variant:"outline",disabled:e.loading,onClick:l[0]||(l[0]=i=>s.value=!1)},{default:g(()=>[j(v(e.cancelText||r(n)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{variant:e.variant,disabled:e.loading,onClick:l[1]||(l[1]=i=>o("confirm"))},{default:g(()=>[e.loading?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(e.confirmText||r(n)("common.confirm")),1)]),_:1},8,["variant","disabled"])])]),_:1})]),_:1},8,["open"]))}}),u$={class:"space-y-4"},c$={class:"flex flex-wrap items-center gap-2"},d$={class:"relative min-w-[180px] flex-1"},f$={class:"flex items-center rounded-md border p-0.5"},p$={key:0,class:"py-8 text-center text-sm text-muted-foreground"},m$={key:1,class:"py-8 text-center text-sm text-destructive"},h$={class:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary/15 text-primary"},g$={class:"space-y-1"},v$={class:"font-medium"},y$={class:"max-w-sm text-sm text-muted-foreground"},b$={class:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary/15 text-primary"},_$={class:"space-y-1"},x$={class:"font-medium"},w$={class:"max-w-sm text-sm text-muted-foreground"},k$={key:4,class:"py-8 text-center text-sm text-muted-foreground"},C$={key:5,class:"grid items-stretch gap-3 md:grid-cols-2"},S$={class:"flex h-full flex-col gap-3 p-4"},$$={class:"flex min-w-0 items-center gap-1.5"},T$={class:"truncate font-mono text-sm font-semibold"},A$=["title","aria-label","onClick"],E$={class:"opacity-0 transition-all focus-within:opacity-100 group-hover:opacity-100"},O$={class:"min-w-0 flex-1 space-y-1.5"},P$={key:0,class:"grid grid-cols-[minmax(0,max-content)_minmax(0,1fr)] items-center gap-x-2 gap-y-1.5"},M$=["title","aria-label","onClick"],I$=["title","aria-label"],R$={class:"shrink-0 font-medium"},L$=["title"],D$=["title"],N$=["title"],F$={key:0,class:"whitespace-nowrap text-xs text-muted-foreground"},q$={key:1,class:"rounded-md border border-dashed px-2.5 py-2 text-xs text-muted-foreground"},B$={key:6,class:"overflow-hidden rounded-lg border"},V$={class:"space-y-1"},U$={class:"font-mono text-sm font-medium"},H$={key:0,class:"flex flex-wrap items-center gap-1"},j$={class:"flex flex-wrap items-center gap-1.5"},z$=["title","aria-label","onClick"],W$={key:0,class:"min-w-0 space-y-1"},K$=["title"],G$=["title","aria-label"],Y$={class:"shrink-0 font-medium"},X$=["title"],J$=["title"],Q$=["title"],Z$={key:1,class:"text-xs text-muted-foreground"},eT={key:1,class:"text-xs text-muted-foreground"},tT={key:1,class:"text-xs text-muted-foreground"},nT={class:"flex items-center justify-end gap-0.5"},sT={class:"space-y-1.5"},oT={class:"text-xs text-muted-foreground"},rT={class:"flex justify-end gap-2"},gd="myapikey.view.models",aT=re({__name:"Models",emits:["goto"],setup(e,{emit:t}){const n=t,{t:s}=pt(),o=K(localStorage.getItem(gd)==="table"?"table":"cards");function a(N){o.value=N;try{localStorage.setItem(gd,N)}catch{}}const l=["openai","anthropic","responses"],i=K([]),u=K([]),c=K(!1),d=K(""),f=K(""),p=K(!1),y=K(null),S=K(!1);function $(N){y.value=N,S.value=!1,p.value=!0}function A(){y.value=null,S.value=!0,p.value=!0}function w(){D()}const _=K(!1),P=K(null),x=K(""),U=K(!1),R=K(!1),E=K(null);function F(N){E.value=N,R.value=!0}function H(N){P.value=N,x.value=N.name,_.value=!0}async function X(){const N=P.value,k=x.value.trim();if(!(!N||!k||k===N.name)){U.value=!0;try{await Ve("POST",`/admin/models/${Z(N.name)}/rename`,{name:k}),await D(),Be(s("models.renamedToast",{from:N.name,to:k}),"success"),_.value=!1}catch(C){Be(C.message,"error")}finally{U.value=!1}}}const Z=encodeURIComponent,Q=K(null),de=K(!1),L=K(!1);async function M(){const N=Q.value;if(N){L.value=!0;try{await Ve("DELETE",`/admin/models/${Z(N.name)}`),i.value=i.value.filter(k=>k.name!==N.name),Be(s("models.removedToast",{name:N.name}),"success"),de.value=!1}catch(k){Be(k.message,"error")}finally{L.value=!1}}}async function D(){c.value=!0,d.value="";try{const[N,k]=await Promise.all([Ve("GET","/admin/models"),Ve("GET","/admin/providers")]);i.value=N.models,u.value=k.providers}catch(N){d.value=N.message}finally{c.value=!1}}rt(D);const J=ae(()=>{const N=f.value.trim().toLowerCase();return i.value.filter(k=>!N||k.name.toLowerCase().includes(N))});function oe(N){return l.filter(k=>N[k].enabled)}const pe=N=>{const k=O=>O.map(T=>`${T.id}|${T.model??""}|${T.thinking??""}|${JSON.stringify(T.sampling??{})}`).join(">"),C=[];for(const O of l){if(!N[O].providers.length)continue;const T=`${N[O].enabled}|${k(N[O].providers)}`,W=C.find(fe=>fe.key===T);W?W.fs.push(O):C.push({fs:[O],enabled:N[O].enabled,slots:N[O].providers,key:T})}return C};function Y(N,k){const C=(N.lastRoute??[]).filter(O=>k.fs.includes(O.format));if(C.length){const O=C.reduce((W,fe)=>fe.ts>=W.ts?fe:W),T=k.slots.findIndex(W=>W.id===O.providerId);if(T>=0)return{s:k.slots[T],i:T,actual:!0}}return{s:k.slots[0],i:0,actual:!1}}function he(N,k){return(N.lastFail??[]).filter(C=>k.fs.includes(C.format))}function ee(N,k){return N[k].enabled?"on":N[k].providers.length?"off":"none"}function Ye(N,k){const C=ee(N,k);return C==="on"?`border-transparent ${ct[k].solid} text-white shadow-sm`:C==="off"?"border-dashed border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground":"border-transparent text-muted-foreground/40"}function Ue(N,k){const C=ee(N,k);return C==="on"?`${s(xn[k].label)} · ${s("models.chipOn")}`:C==="off"?`${s(xn[k].label)} · ${s("models.chipOff")}`:`${s(xn[k].label)} · ${s("models.chipNa")}`}async function ve(N,k){if(ee(N,k)==="none")return;const C=N[k].providers.map(O=>({id:O.id,...O.model?{model:O.model}:{},...O.thinking?{thinking:O.thinking}:{},...O.sampling&&Object.keys(O.sampling).length?{sampling:O.sampling}:{}}));try{await Ve("PUT",`/admin/models/${Z(N.name)}`,{[k]:{enabled:!N[k].enabled,slots:C}}),N[k].enabled=!N[k].enabled,Be(s(N[k].enabled?"models.enabledToast":"models.disabledToast",{name:`${N.name} [${k}]`}),"success")}catch(O){Be(O.message,"error")}}async function ye(N,k,C){if(C===0||C>=k.slots.length)return;const O=[k.slots[C],...k.slots.filter((W,fe)=>fe!==C)].map(W=>({id:W.id,...W.model?{model:W.model}:{},...W.thinking?{thinking:W.thinking}:{},...W.sampling&&Object.keys(W.sampling).length?{sampling:W.sampling}:{}})),T={};for(const W of k.fs)T[W]={enabled:N[W].enabled,slots:O};try{await Ve("PUT",`/admin/models/${Z(N.name)}`,T);for(const W of k.fs){const fe=N[W].providers;fe.length===k.slots.length&&(N[W].providers=[fe[C],...fe.filter((xe,be)=>be!==C)])}Be(s("models.chainUseToast",{name:N.name,provider:k.slots[C].name}),"success")}catch(W){Be(W.message,"error")}}function te(N,k){const C=N[k].providers;if(!C.length)return!1;const O=T=>mo(u.value.find(W=>W.id===T));return!C.some(T=>O(T.id).includes(T.model??N.name))&&C.some(T=>O(T.id).length>0)}function we(N){return oe(N).some(k=>te(N,k))}const _e=K({}),Fe=K({});async function at(N){const k=oe(N);if(k.length){for(const C of k)_e.value[`${N.name}:${C}`]=!0;await Promise.all(k.map(async C=>{const O=`${N.name}:${C}`;try{const T=await Ve("POST",`/admin/models/${Z(N.name)}/test?format=${C}`);Fe.value[O]=T.result}catch(T){Fe.value[O]={ok:!1,status:0,format:C,error:T.message}}finally{_e.value[O]=!1}}))}}function V(N){let k=!1,C=null,O=null;for(const T of oe(N)){const W=`${N.name}:${T}`;_e.value[W]&&(k=!0);const fe=Fe.value[W];fe!=null&&fe.ok&&!C?C=fe:fe&&!fe.ok&&!O&&(O=fe)}return k?{state:"testing"}:C?{state:"ok",provider:C.provider}:O?{state:"fail",status:O.status,error:O.error}:null}const G=K({}),ne=K({});async function ue(N,k,C){const O=k.fs.filter(T=>!G.value[`${N.name}:${T}:${C}`]);if(O.length){for(const T of O)G.value[`${N.name}:${T}:${C}`]=!0;await Promise.all(O.map(async T=>{const W=`${N.name}:${T}:${C}`;try{const fe=await Ve("POST",`/admin/models/${Z(N.name)}/providers/test?format=${T}&index=${C}`);ne.value[W]=fe.result}catch(fe){ne.value[W]={ok:!1,status:0,format:T,error:fe.message}}finally{G.value[W]=!1}}))}}function ie(N,k,C){let O=!1,T=null,W=null;for(const fe of k.fs){const xe=`${N.name}:${fe}:${C}`;G.value[xe]&&(O=!0);const be=ne.value[xe];be!=null&&be.ok&&!T?T=be:be&&!be.ok&&!W&&(W=be)}return O?{state:"testing"}:T?{state:"ok",provider:T.provider}:W?{state:"fail",status:W.status,error:W.error}:null}function le(N,k,C){const O=ie(N,k,C);return(O==null?void 0:O.state)==="ok"?"border-emerald-500/40 bg-emerald-500/10":(O==null?void 0:O.state)==="fail"?"border-destructive/40 bg-destructive/10":"border-transparent bg-muted/60"}function I(N,k,C){return k.fs.map(O=>{const T=ne.value[`${N.name}:${O}:${C}`],W=s(xn[O].label);return T?T.ok?`${W} ✓ ${s("models.probeOk")}${T.provider?` (${T.provider})`:""}`:`${W} ✗ ${T.status||"?"}${T.error?` ${T.error}`:""}`:W}).join(`
|
|
334
|
+
`)}async function q(N){const k=await kr(N);Be(s(k?"connect.copied":"connect.copyFailed"),k?"success":"error")}return(N,k)=>(h(),B("div",u$,[b("div",c$,[b("div",d$,[m(r(du),{class:"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=C=>f.value=C),placeholder:r(s)("models.searchPh"),class:"pl-8"},null,8,["modelValue","placeholder"])]),b("div",f$,[m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",o.value==="cards"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(s)("common.viewCards"),"aria-label":r(s)("common.viewCards"),onClick:k[1]||(k[1]=C=>a("cards"))},{default:g(()=>[m(r(Em),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"]),m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",o.value==="table"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(s)("common.viewTable"),"aria-label":r(s)("common.viewTable"),onClick:k[2]||(k[2]=C=>a("table"))},{default:g(()=>[m(r(Pm),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"])]),m(r(ke),{onClick:k[3]||(k[3]=C=>A())},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(s)("models.newModel")),1)]),_:1})]),c.value?(h(),B("p",p$,v(r(s)("common.loading")),1)):d.value?(h(),B("p",m$,v(d.value),1)):!u.value.length&&!i.value.length?(h(),z(r(Vt),{key:2},{default:g(()=>[m(r(en),{class:"flex flex-col items-center gap-3 py-12 text-center"},{default:g(()=>[b("span",h$,[m(r(ko),{class:"h-5 w-5"})]),b("div",g$,[b("div",v$,v(r(s)("models.emptyNoSources")),1),b("p",y$,v(r(s)("models.emptyNoSourcesHint")),1)]),m(r(ke),{onClick:k[4]||(k[4]=C=>n("goto","sources"))},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(s)("sources.add")),1)]),_:1})]),_:1})]),_:1})):!J.value.length&&!f.value?(h(),z(r(Vt),{key:3},{default:g(()=>[m(r(en),{class:"flex flex-col items-center gap-3 py-12 text-center"},{default:g(()=>[b("span",b$,[m(r(Am),{class:"h-5 w-5"})]),b("div",_$,[b("div",x$,v(r(s)("models.emptyNoModels")),1),b("p",w$,v(r(s)("models.emptyNoModelsHint")),1)]),m(r(ke),{onClick:k[5]||(k[5]=C=>A())},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(s)("models.newModel")),1)]),_:1})]),_:1})]),_:1})):J.value.length?o.value==="cards"?(h(),B("div",C$,[(h(!0),B(me,null,Pe(J.value,C=>(h(),z(r(Vt),{key:C.name,class:"group gap-0 py-0 transition-colors hover:bg-muted/30"},{default:g(()=>{var O,T,W,fe,xe;return[b("div",S$,[b("div",$$,[b("span",T$,v(C.name),1),b("button",{type:"button",title:r(s)("connect.copy"),"aria-label":r(s)("connect.copy"),class:"inline-flex h-5 w-5 shrink-0 items-center justify-center rounded text-muted-foreground/50 opacity-0 transition-all hover:bg-accent hover:text-accent-foreground focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",onClick:Ie(be=>q(C.name),["stop"])},[m(r(rn),{class:"h-3 w-3"})],8,A$),C.paceRpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"shrink-0 gap-1",title:r(s)("models.paceBadgeHint",{n:C.paceRpm,s:Math.max(1,Math.round(60/C.paceRpm))})},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(v(r(s)("models.paceBadge",{n:C.paceRpm})),1)]),_:2},1032,["title"])):se("",!0),C.debugCapture?(h(),z(r(Oe),{key:1,variant:"outline",class:"shrink-0 cursor-pointer gap-1",title:r(s)("models.debugBadgeHint"),onClick:Ie(be=>F(C),["stop"])},{default:g(()=>[m(r(Ho),{class:"h-3 w-3"}),j(v(r(s)("models.debugOnBadge")),1)]),_:1},8,["title","onClick"])):se("",!0),((O=V(C))==null?void 0:O.state)==="testing"?(h(),z(r(Oe),{key:2,variant:"muted",class:"shrink-0 gap-1"},{default:g(()=>[m(r(vt),{class:"h-3 w-3 animate-spin"}),j(v(r(s)("models.probeTesting")),1)]),_:1})):((T=V(C))==null?void 0:T.state)==="ok"?(h(),z(r(Oe),{key:3,variant:"success",class:"shrink-0",title:r(s)("models.probeOkHint",{name:((W=V(C))==null?void 0:W.provider)??""})},{default:g(()=>[j(v(r(s)("models.probeOk")),1)]),_:1},8,["title"])):((fe=V(C))==null?void 0:fe.state)==="fail"?(h(),z(r(Oe),{key:4,variant:"destructive",class:"shrink-0",title:((xe=V(C))==null?void 0:xe.error)||r(s)("models.probeFailHint")},{default:g(()=>{var be;return[j(v(r(s)("models.probeFail"))+" · "+v(((be=V(C))==null?void 0:be.status)||"?"),1)]}),_:2},1032,["title"])):we(C)?(h(),z(r(Oe),{key:5,variant:"secondary",class:"shrink-0 gap-1",title:r(s)("models.delistedHint")},{default:g(()=>[m(r(Co),{class:"h-3 w-3"}),j(v(r(s)("models.delisted")),1)]),_:1},8,["title"])):se("",!0),b("div",{class:"ml-auto flex shrink-0 items-center gap-0.5",onClick:k[6]||(k[6]=Ie(()=>{},["stop"]))},[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground opacity-0 transition-all focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",title:r(s)("models.debug"),"aria-label":r(s)("models.debug"),onClick:be=>F(C)},{default:g(()=>[m(r(Ho),{class:"h-4 w-4"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground opacity-0 transition-all focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",disabled:!oe(C).length||!!V(C)&&V(C).state==="testing",title:r(s)("models.testModel"),"aria-label":r(s)("models.testModel"),onClick:be=>at(C)},{default:g(()=>{var be;return[((be=V(C))==null?void 0:be.state)==="testing"?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-4 w-4"}))]}),_:2},1032,["disabled","title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground opacity-0 transition-all focus-visible:opacity-100 focus-visible:outline-none group-hover:opacity-100",title:r(s)("models.edit"),"aria-label":r(s)("models.edit"),onClick:be=>$(C)},{default:g(()=>[m(r(lo),{class:"h-4 w-4"})]),_:1},8,["title","aria-label","onClick"]),b("div",E$,[m(r(fi),null,{default:g(()=>[m(r(pi),null,{default:g(()=>[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground","aria-label":r(s)("models.moreActions")},{default:g(()=>[m(r(hi),{class:"h-4 w-4"})]),_:1},8,["aria-label"])]),_:1}),m(r(mi),{align:"end"},{default:g(()=>[m(r(Uo),{onSelect:be=>H(C)},{default:g(()=>[m(r(lo)),j(" "+v(r(s)("models.renameModel")),1)]),_:1},8,["onSelect"]),m(r(ld)),m(r(Uo),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onSelect:be=>{Q.value=C,de.value=!0}},{default:g(()=>[m(r(hr)),j(" "+v(r(s)("models.removeModel")),1)]),_:1},8,["onSelect"])]),_:2},1024)]),_:2},1024)])])]),b("div",O$,[pe(C).length?(h(),B("div",P$,[(h(!0),B(me,null,Pe(pe(C),be=>(h(),B(me,{key:be.fs.join("|")},[b("div",{class:ge(["flex flex-wrap items-center gap-1",{"opacity-60":!be.enabled}])},[(h(!0),B(me,null,Pe(be.fs,Le=>(h(),B("button",{key:Le,type:"button",title:Ue(C,Le),"aria-label":Ue(C,Le),class:ge(["inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-medium transition-colors",Ye(C,Le)]),onClick:Ie(qe=>ve(C,Le),["stop"])},v(r(s)(r(xn)[Le].label)),11,M$))),128))],2),b("div",{class:ge(["flex min-w-0 items-center gap-1.5",{"opacity-60":!be.enabled}])},[k[18]||(k[18]=b("span",{class:"h-4 w-px shrink-0 bg-border","aria-hidden":"true"},null,-1)),m(r(ya),null,{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[b("button",{type:"button",class:ge(["inline-flex min-w-0 max-w-full items-center gap-1 rounded-md border px-1.5 py-0.5 text-xs transition-colors hover:bg-accent hover:text-accent-foreground",le(C,be,Y(C,be).i)]),title:r(s)("models.chainListHint"),"aria-label":r(s)("models.chainListHint"),onClick:k[7]||(k[7]=Ie(()=>{},["stop"]))},[b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(Y(C,be).s.id).solid])},null,2),b("span",R$,v(Y(C,be).s.name),1),Y(C,be).s.model?(h(),B("span",{key:0,class:"min-w-0 truncate font-mono text-muted-foreground",title:Y(C,be).s.model},"› "+v(Y(C,be).s.model),9,L$)):se("",!0),Y(C,be).s.thinking?(h(),B("span",{key:1,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(Y(C,be).s.thinking),1)],8,D$)):se("",!0),r(an)(Y(C,be).s.sampling)?(h(),B("span",{key:2,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(Y(C,be).s.sampling)),1)],8,N$)):se("",!0),m(r(dn),{class:"h-3 w-3 shrink-0 text-muted-foreground/60"})],10,I$)]),_:2},1024),m(r(_a),{align:"start",class:"w-80 p-3"},{default:g(()=>[m(hd,{model:C,line:be,active:Y(C,be).actual?Y(C,be).i:void 0,fails:he(C,be),"slot-state":ie,"slot-title":I,"slot-class":le,"probe-slot":ue,"use-slot":ye},null,8,["model","line","active","fails"])]),_:2},1024)]),_:2},1024),be.enabled?se("",!0):(h(),B("span",F$,"· "+v(r(s)("models.routeDisabled")),1))],2)],64))),128))])):(h(),B("div",q$,v(r(s)("models.unroutedHint")),1))])])]}),_:2},1024))),128))])):(h(),B("div",B$,[m(r(el),null,{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),{class:"hover:bg-transparent"},{default:g(()=>[m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colName")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colFormats")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colChain")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(s)("models.colPace")),1)]),_:1}),m(r(ot),{class:"w-[128px] text-right"},{default:g(()=>[j(v(r(s)("models.colActions")),1)]),_:1})]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(J.value,C=>(h(),z(r(Sn),{key:C.name,class:"group"},{default:g(()=>[m(r(tt),null,{default:g(()=>{var O,T,W,fe;return[b("div",V$,[b("span",U$,v(C.name),1),C.paceRpm||C.debugCapture||V(C)||we(C)?(h(),B("div",H$,[C.paceRpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"gap-1",title:r(s)("models.paceBadgeHint",{n:C.paceRpm,s:Math.max(1,Math.round(60/C.paceRpm))})},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(v(r(s)("models.paceBadge",{n:C.paceRpm})),1)]),_:2},1032,["title"])):se("",!0),C.debugCapture?(h(),z(r(Oe),{key:1,variant:"outline",class:"cursor-pointer gap-1",title:r(s)("models.debugBadgeHint"),onClick:Ie(xe=>F(C),["stop"])},{default:g(()=>[m(r(Ho),{class:"h-3 w-3"}),j(v(r(s)("models.debugOnBadge")),1)]),_:1},8,["title","onClick"])):se("",!0),((O=V(C))==null?void 0:O.state)==="ok"?(h(),z(r(Oe),{key:2,variant:"success",title:r(s)("models.probeOkHint",{name:((T=V(C))==null?void 0:T.provider)??""})},{default:g(()=>[j(v(r(s)("models.probeOk")),1)]),_:1},8,["title"])):((W=V(C))==null?void 0:W.state)==="fail"?(h(),z(r(Oe),{key:3,variant:"destructive",title:((fe=V(C))==null?void 0:fe.error)||r(s)("models.probeFailHint")},{default:g(()=>{var xe;return[j(v(r(s)("models.probeFail"))+" · "+v(((xe=V(C))==null?void 0:xe.status)||"?"),1)]}),_:2},1032,["title"])):we(C)?(h(),z(r(Oe),{key:4,variant:"secondary",class:"gap-1",title:r(s)("models.delistedHint")},{default:g(()=>[m(r(Co),{class:"h-3 w-3"}),j(v(r(s)("models.delisted")),1)]),_:1},8,["title"])):se("",!0)])):se("",!0)])]}),_:2},1024),m(r(tt),{onClick:k[8]||(k[8]=Ie(()=>{},["stop"]))},{default:g(()=>[b("div",j$,[(h(),B(me,null,Pe(l,O=>(h(),B(me,{key:O},[ee(C,O)!=="none"?(h(),B("button",{key:0,type:"button",title:Ue(C,O),"aria-label":Ue(C,O),class:ge(["inline-flex items-center rounded-md border px-2 py-0.5 text-xs font-medium transition-colors",Ye(C,O)]),onClick:T=>ve(C,O)},v(r(s)(r(xn)[O].label)),11,z$)):se("",!0)],64))),64))])]),_:2},1024),m(r(tt),null,{default:g(()=>[pe(C).length?(h(),B("div",W$,[(h(!0),B(me,null,Pe(pe(C),O=>(h(),B("div",{key:O.fs.join("|"),class:ge(["flex min-w-0 flex-wrap items-center gap-x-1.5 gap-y-1",{"opacity-60":!O.enabled}])},[pe(C).length>1?(h(!0),B(me,{key:0},Pe(O.fs,T=>(h(),B("span",{key:T,class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ct)[T].solid]),title:r(s)(r(xn)[T].label)},null,10,K$))),128)):se("",!0),m(r(ya),null,{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[b("button",{type:"button",class:ge(["inline-flex min-w-0 max-w-full items-center gap-1 rounded-md border px-1.5 py-0.5 text-xs transition-colors hover:bg-accent hover:text-accent-foreground",le(C,O,Y(C,O).i)]),title:r(s)("models.chainListHint"),"aria-label":r(s)("models.chainListHint"),onClick:k[9]||(k[9]=Ie(()=>{},["stop"]))},[b("span",{class:ge(["h-1.5 w-1.5 shrink-0 rounded-full",r(ps)(Y(C,O).s.id).solid])},null,2),b("span",Y$,v(Y(C,O).s.name),1),Y(C,O).s.model?(h(),B("span",{key:0,class:"min-w-0 truncate font-mono text-muted-foreground",title:Y(C,O).s.model},"› "+v(Y(C,O).s.model),9,X$)):se("",!0),Y(C,O).s.thinking?(h(),B("span",{key:1,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.thinkingLabel")},[m(r(wo),{class:"h-2.5 w-2.5"}),j(v(Y(C,O).s.thinking),1)],8,J$)):se("",!0),r(an)(Y(C,O).s.sampling)?(h(),B("span",{key:2,class:"inline-flex shrink-0 items-center gap-0.5 font-mono text-[10px] text-muted-foreground",title:r(s)("models.editor.samplingLabel")},[m(r(vs),{class:"h-2.5 w-2.5"}),j(v(r(an)(Y(C,O).s.sampling)),1)],8,Q$)):se("",!0),m(r(dn),{class:"h-3 w-3 shrink-0 text-muted-foreground/60"})],10,G$)]),_:2},1024),m(r(_a),{align:"start",class:"w-80 p-3"},{default:g(()=>[m(hd,{model:C,line:O,active:Y(C,O).actual?Y(C,O).i:void 0,fails:he(C,O),"slot-state":ie,"slot-title":I,"slot-class":le,"probe-slot":ue,"use-slot":ye},null,8,["model","line","active","fails"])]),_:2},1024)]),_:2},1024),O.enabled?se("",!0):(h(),B("span",Z$,"· "+v(r(s)("models.routeDisabled")),1))],2))),128))])):(h(),B("span",eT,v(r(s)("models.unroutedHint")),1))]),_:2},1024),m(r(tt),{class:"whitespace-nowrap"},{default:g(()=>[C.paceRpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"gap-1",title:r(s)("models.paceBadgeHint",{n:C.paceRpm,s:Math.max(1,Math.round(60/C.paceRpm))})},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(v(r(s)("models.paceBadge",{n:C.paceRpm})),1)]),_:2},1032,["title"])):(h(),B("span",tT,"—"))]),_:2},1024),m(r(tt),{onClick:k[10]||(k[10]=Ie(()=>{},["stop"]))},{default:g(()=>[b("div",nT,[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(s)("models.debug"),"aria-label":r(s)("models.debug"),onClick:O=>F(C)},{default:g(()=>[m(r(Ho),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",disabled:!oe(C).length||!!V(C)&&V(C).state==="testing",title:r(s)("models.testModel"),"aria-label":r(s)("models.testModel"),onClick:O=>at(C)},{default:g(()=>{var O;return[((O=V(C))==null?void 0:O.state)==="testing"?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-3.5 w-3.5"}))]}),_:2},1032,["disabled","title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(s)("models.edit"),"aria-label":r(s)("models.edit"),onClick:O=>$(C)},{default:g(()=>[m(r(lo),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(fi),null,{default:g(()=>[m(r(pi),null,{default:g(()=>[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground","aria-label":r(s)("models.moreActions")},{default:g(()=>[m(r(hi),{class:"h-4 w-4"})]),_:1},8,["aria-label"])]),_:1}),m(r(mi),{align:"end"},{default:g(()=>[m(r(Uo),{onSelect:O=>H(C)},{default:g(()=>[m(r(lo)),j(" "+v(r(s)("models.renameModel")),1)]),_:1},8,["onSelect"]),m(r(ld)),m(r(Uo),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onSelect:O=>{Q.value=C,de.value=!0}},{default:g(()=>[m(r(hr)),j(" "+v(r(s)("models.removeModel")),1)]),_:1},8,["onSelect"])]),_:2},1024)]),_:2},1024)])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})])):(h(),B("p",k$,v(r(s)("models.noMatch")),1)),m(iS,{open:p.value,"onUpdate:open":k[11]||(k[11]=C=>p.value=C),model:S.value?null:y.value,providers:u.value,"existing-names":i.value.map(C=>C.name),onSaved:w},null,8,["open","model","providers","existing-names"]),m(B2,{open:R.value,"onUpdate:open":k[12]||(k[12]=C=>R.value=C),model:E.value,onChanged:k[13]||(k[13]=C=>D())},null,8,["open","model"]),m(r(Ws),{open:_.value,"onUpdate:open":k[16]||(k[16]=C=>_.value=C)},{default:g(()=>[m(r(Ks),{class:"max-w-sm"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(r(s)("models.renameModel")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(r(s)("models.renameDesc")),1)]),_:1}),b("div",sT,[m(r(ht),{for:"rename-input"},{default:g(()=>[j(v(r(s)("models.editor.nameLabel")),1)]),_:1}),m(r(mt),{id:"rename-input",modelValue:x.value,"onUpdate:modelValue":k[14]||(k[14]=C=>x.value=C),class:"font-mono",spellcheck:"false",autocomplete:"off",onKeydown:An(X,["enter"])},null,8,["modelValue"]),b("p",oT,v(r(s)("models.renameHint")),1)]),b("div",rT,[m(r(ke),{variant:"outline",disabled:U.value,onClick:k[15]||(k[15]=C=>_.value=!1)},{default:g(()=>[j(v(r(s)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:U.value||!x.value.trim(),onClick:X},{default:g(()=>[U.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(v(r(s)("settings.save")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]),m(fu,{open:de.value,"onUpdate:open":k[17]||(k[17]=C=>de.value=C),variant:"destructive",title:r(s)("models.removeModel"),description:Q.value?r(s)("models.confirmRemove",{name:Q.value.name}):"","confirm-text":r(s)("models.removeModel"),loading:L.value,onConfirm:M},null,8,["open","title","description","confirm-text","loading"])]))}}),Ol=re({__name:"Checkbox",props:es({class:{type:[Boolean,null,String,Object,Array]},id:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=$o(e,"modelValue");return(s,o)=>(h(),z(r(Cx),{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=a=>n.value=a),id:t.id,class:ge(r(Ge)("peer h-4 w-4 shrink-0 cursor-pointer rounded-[4px] border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t.class))},{default:g(()=>[m(r($x),{class:"flex h-full w-full items-center justify-center text-current"},{default:g(()=>[m(r(Qt),{class:"h-3.5 w-3.5"})]),_:1})]),_:1},8,["modelValue","id","class"]))}}),lT={class:"flex shrink-0 items-center gap-2 pr-8"},iT={class:"flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-primary/15 text-primary"},uT={class:"min-w-0"},cT={class:"min-h-0 flex-1 space-y-3.5 overflow-y-auto px-1 py-1"},dT={class:"space-y-1.5"},fT={class:"space-y-1.5"},pT={class:"space-y-2.5 rounded-md border bg-background/50 p-3"},mT={class:"flex items-center gap-2.5"},hT={class:"text-sm font-medium leading-none"},gT={class:"flex items-center gap-2.5"},vT={class:"text-sm font-medium leading-none"},yT={class:"flex items-center gap-2.5"},bT={class:"text-sm font-medium leading-none"},_T={key:0,class:"space-y-1.5"},xT={class:"text-xs text-muted-foreground"},wT={key:1,class:"space-y-1.5"},kT={class:"text-xs text-muted-foreground"},CT={key:2,class:"space-y-1.5"},ST={class:"text-xs text-muted-foreground"},$T=["aria-expanded"],TT={key:3,class:"space-y-1.5 rounded-md border bg-muted/30 p-3 text-xs leading-relaxed text-muted-foreground"},AT={class:"font-medium text-foreground"},ET={class:"font-medium text-foreground"},OT={class:"font-medium text-foreground"},PT={class:"font-medium text-foreground"},MT={class:"space-y-1.5"},IT={class:"flex items-center justify-between"},RT={key:0,class:"text-xs text-muted-foreground"},LT={class:"space-y-1.5"},DT=["aria-expanded"],NT={key:0,class:"space-y-1.5 rounded-md border bg-muted/30 p-3"},FT={class:"text-xs text-muted-foreground"},qT={key:4,class:"text-sm text-destructive"},BT={class:"flex shrink-0 justify-end gap-2"},VT=re({__name:"SourceDialog",props:es({provider:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:es(["saved"],["update:open"]),setup(e,{emit:t}){const n=e,s=$o(e,"open"),o=t,{t:a}=pt(),l=K(""),i=K(""),u=K(""),c=K(""),d=K(""),f=K(""),p=K(!0),y=K(!1),S=K(!1),$=K(!1),A=K(!1),w=K(""),_=K(!1);function P(F){const H=F==="openai"?p:F==="anthropic"?y:S;H.value&&!p.value&&!y.value&&!S.value||(H.value=!H.value)}const x=()=>{const F=[];return p.value&&F.push("openai"),y.value&&F.push("anthropic"),S.value&&F.push("responses"),F};function U(){var H;w.value="",$.value=!1,A.value=!!((H=n.provider)!=null&&H.rpm);const F=n.provider;if(!F){l.value="",i.value="",u.value="",c.value="",d.value="",f.value="",p.value=!0,y.value=!1,S.value=!1;return}l.value=F.name,i.value=F.baseUrlOpenai,u.value=F.baseUrlAnthropic,c.value=F.baseUrlResponses,d.value="",f.value=F.rpm?String(F.rpm):"",p.value=F.formats.includes("openai"),y.value=F.formats.includes("anthropic"),S.value=F.formats.includes("responses")}Re(s,F=>{F&&U()});function R(){if(!x().length)w.value=a("sources.errFormat");else if(!n.provider&&(!l.value.trim()||!d.value))w.value=a("sources.errRequired");else if(n.provider&&!l.value.trim())w.value=a("sources.errNameRequired");else if(p.value&&!i.value.trim()||y.value&&!u.value.trim()||S.value&&!c.value.trim())w.value=a("sources.errBaseUrl");else return w.value="",!0;return!1}async function E(){if(!_.value&&R()){_.value=!0;try{const F={name:l.value.trim(),baseUrlOpenai:i.value.trim(),baseUrlAnthropic:u.value.trim(),baseUrlResponses:c.value.trim(),formats:x(),rpm:Number(f.value)||0};d.value&&(F.apiKey=d.value);const H=n.provider?await Ve("PUT",`/admin/providers/${n.provider.id}`,F):await Ve("POST","/admin/providers",F);Be(a(n.provider?"sources.updated":"sources.added"),"success"),s.value=!1,o("saved",H.provider)}catch(F){Be(F.message,"error")}finally{_.value=!1}}}return(F,H)=>(h(),z(r(Ws),{open:s.value,"onUpdate:open":H[12]||(H[12]=X=>s.value=X)},{default:g(()=>[m(r(Ks),{class:"max-w-lg"},{default:g(()=>{var X;return[b("div",lT,[b("span",iT,[m(r(ko),{class:"h-4 w-4"})]),b("div",uT,[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(e.provider?r(a)("sources.editTitle"):r(a)("sources.add")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(e.provider?r(a)("sources.dialogEditDesc"):r(a)("sources.dialogCreateDesc")),1)]),_:1})])]),b("div",cT,[b("div",dT,[m(r(ht),{for:"s-name"},{default:g(()=>[j(v(r(a)("sources.nameLabel")),1)]),_:1}),m(r(mt),{id:"s-name",modelValue:l.value,"onUpdate:modelValue":H[0]||(H[0]=Z=>l.value=Z),placeholder:r(a)("sources.namePh"),autocomplete:"off","aria-label":"name"},null,8,["modelValue","placeholder"])]),b("div",fT,[m(r(ht),null,{default:g(()=>[j(v(r(a)("sources.formats")),1)]),_:1}),b("div",pT,[b("div",mT,[m(r(Ol),{"model-value":p.value,"aria-label":"openai","onUpdate:modelValue":H[1]||(H[1]=Z=>P("openai"))},null,8,["model-value"]),b("span",hT,v(r(Ps).openai),1),H[13]||(H[13]=b("span",{class:"text-xs text-muted-foreground"},"/chat/completions",-1))]),b("div",gT,[m(r(Ol),{"model-value":S.value,"aria-label":"responses","onUpdate:modelValue":H[2]||(H[2]=Z=>P("responses"))},null,8,["model-value"]),b("span",vT,v(r(Ps).responses),1),H[14]||(H[14]=b("span",{class:"text-xs text-muted-foreground"},"/responses",-1))]),b("div",yT,[m(r(Ol),{"model-value":y.value,"aria-label":"anthropic","onUpdate:modelValue":H[3]||(H[3]=Z=>P("anthropic"))},null,8,["model-value"]),b("span",bT,v(r(Ps).anthropic),1),H[15]||(H[15]=b("span",{class:"text-xs text-muted-foreground"},"/messages",-1))])])]),p.value?(h(),B("div",_T,[m(r(ht),{for:"s-url-openai"},{default:g(()=>[j(v(r(a)("sources.urlLabelOpenai")),1)]),_:1}),m(r(mt),{id:"s-url-openai",modelValue:i.value,"onUpdate:modelValue":H[4]||(H[4]=Z=>i.value=Z),placeholder:r(a)("sources.urlPhOpenai"),autocomplete:"off","aria-label":"openai base url"},null,8,["modelValue","placeholder"]),b("p",xT,v(r(a)("sources.urlHintOpenai")),1)])):se("",!0),S.value?(h(),B("div",wT,[m(r(ht),{for:"s-url-responses"},{default:g(()=>[j(v(r(a)("sources.urlLabelResponses")),1)]),_:1}),m(r(mt),{id:"s-url-responses",modelValue:c.value,"onUpdate:modelValue":H[5]||(H[5]=Z=>c.value=Z),placeholder:r(a)("sources.urlPhResponses"),autocomplete:"off","aria-label":"responses base url"},null,8,["modelValue","placeholder"]),b("p",kT,v(r(a)("sources.urlHintResponses")),1)])):se("",!0),y.value?(h(),B("div",CT,[m(r(ht),{for:"s-url-anthropic"},{default:g(()=>[j(v(r(a)("sources.urlLabelAnthropic")),1)]),_:1}),m(r(mt),{id:"s-url-anthropic",modelValue:u.value,"onUpdate:modelValue":H[6]||(H[6]=Z=>u.value=Z),placeholder:r(a)("sources.urlPhAnthropic"),autocomplete:"off","aria-label":"anthropic base url"},null,8,["modelValue","placeholder"]),b("p",ST,v(r(a)("sources.urlHintAnthropic")),1)])):se("",!0),b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground","aria-expanded":$.value,onClick:H[7]||(H[7]=Z=>$.value=!$.value)},[m(r(cu),{class:"h-3.5 w-3.5"}),j(" "+v(r(a)("sources.baseHelpToggle"))+" ",1),m(r(dn),{class:ge(["h-3.5 w-3.5 transition-transform",{"rotate-180":$.value}])},null,8,["class"])],8,$T),$.value?(h(),B("div",TT,[b("p",null,v(r(a)("sources.baseHelpSplit")),1),b("p",null,[b("span",AT,v(r(Ps).openai),1),j(" — "+v(r(a)("sources.baseHelpOpenai")),1)]),b("p",null,[b("span",ET,v(r(Ps).responses),1),j(" — "+v(r(a)("sources.baseHelpResponses")),1)]),b("p",null,[b("span",OT,v(r(Ps).anthropic),1),j(" — "+v(r(a)("sources.baseHelpAnthropic")),1)]),b("p",null,[b("span",PT,v(r(a)("sources.responses")),1),j(" — "+v(r(a)("sources.responsesNote")),1)])])):se("",!0),b("div",MT,[b("div",IT,[m(r(ht),{for:"s-key"},{default:g(()=>[j(v(r(a)("sources.keyLabel")),1)]),_:1}),(X=e.provider)!=null&&X.apiKey?(h(),B("span",RT,v(r(a)("sources.currentKeyLabel"))+": "+v(e.provider.apiKey),1)):se("",!0)]),m(r(mt),{id:"s-key",modelValue:d.value,"onUpdate:modelValue":H[8]||(H[8]=Z=>d.value=Z),type:"password",placeholder:e.provider?r(a)("sources.keyPhEdit"):r(a)("sources.keyPh"),autocomplete:"new-password","aria-label":"api key"},null,8,["modelValue","placeholder"])]),b("div",LT,[b("button",{type:"button",class:"inline-flex items-center gap-1 text-xs font-medium text-muted-foreground hover:text-foreground","aria-expanded":A.value,onClick:H[9]||(H[9]=Z=>A.value=!A.value)},[m(r(vs),{class:"h-3.5 w-3.5"}),j(" "+v(r(a)("sources.advancedToggle"))+" ",1),m(r(dn),{class:ge(["h-3.5 w-3.5 transition-transform",{"rotate-180":A.value}])},null,8,["class"])],8,DT),A.value?(h(),B("div",NT,[m(r(ht),{for:"s-rpm"},{default:g(()=>[j(v(r(a)("sources.rpmLabel")),1)]),_:1}),m(r(mt),{id:"s-rpm",modelValue:f.value,"onUpdate:modelValue":H[10]||(H[10]=Z=>f.value=Z),type:"number",min:"0",inputmode:"numeric",placeholder:r(a)("sources.rpmPh"),"aria-label":"rpm"},null,8,["modelValue","placeholder"]),b("p",FT,v(r(a)("sources.rpmHint")),1)])):se("",!0)]),w.value?(h(),B("p",qT,v(w.value),1)):se("",!0)]),b("div",BT,[m(r(ke),{variant:"outline",disabled:_.value,onClick:H[11]||(H[11]=Z=>s.value=!1)},{default:g(()=>[j(v(r(a)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:_.value,onClick:E},{default:g(()=>[_.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(r(a)("sources.saveBtn")),1)]),_:1},8,["disabled"])])]}),_:1})]),_:1},8,["open"]))}}),UT={class:"space-y-2.5"},HT={class:"flex items-center gap-2"},jT={class:"relative min-w-0 flex-1"},zT={class:"flex items-center gap-2"},WT={class:"relative min-w-0 flex-1"},KT={key:0,class:"text-xs text-muted-foreground"},GT={key:0,class:"flex flex-col items-center gap-2 px-4 py-10 text-center"},YT={class:"flex size-9 items-center justify-center rounded-lg bg-muted text-muted-foreground"},XT={class:"text-sm text-muted-foreground"},JT={key:0,class:"px-3 py-6 text-center text-xs text-muted-foreground"},QT=["data-mname","title","onClick"],ZT={class:"min-w-0 flex-1 truncate font-mono text-sm"},eA=["disabled","aria-label","onClick"],tA=["disabled","title","aria-label","onClick"],nA=re({__name:"SourceModelsDialog",props:{open:{type:Boolean},provider:{}},emits:["update:open","saved"],setup(e,{emit:t}){const n=e,s=t,{t:o}=pt(),a=K(""),l=K(""),i=K([]),u=K(""),c=K(null),d=K(null),f=K(null),p=K(new Set);let y;function S(L){p.value=new Set(L),clearTimeout(y),y=setTimeout(()=>p.value.clear(),1600)}So(()=>clearTimeout(y)),Re(()=>n.open,async L=>{var M,D,J;L&&(a.value="",l.value="",i.value=[...((M=n.provider)==null?void 0:M.extraModels)??[]],p.value.clear(),X.value.clear(),Z.value={},await it(),(J=(D=c.value)==null?void 0:D.$el)==null||J.focus())}),Re(()=>n.provider,L=>{n.open&&L&&(i.value=[...L.extraModels??[]])});const $=ae(()=>{var L;return((L=n.provider)==null?void 0:L.discoveredModels)??[]}),A=ae(()=>mo({discoveredModels:$.value,extraModels:i.value}).map(M=>({name:M,manual:i.value.includes(M)&&!$.value.includes(M)}))),w=ae(()=>{const L=a.value.trim().toLowerCase();return L?A.value.filter(M=>M.name.toLowerCase().includes(L)):A.value}),_=ae(()=>{const L=l.value.trim();return!!L&&A.value.some(M=>M.name===L)}),P=ae(()=>!!l.value.trim()&&!_.value);function x(L){i.value=[...L.extraModels??[]],s("saved",L)}async function U(L){const M=await Ve("PUT",`/admin/providers/${n.provider.id}/extra-models`,{models:L});return x(M.provider),M.provider}async function R(){var M,D,J,oe;if(!n.provider||u.value||!P.value)return;const L=[...new Set(l.value.split(/[\s,;]+/).map(pe=>pe.trim()).filter(Boolean))].filter(pe=>!i.value.includes(pe));if(L.length){u.value="add";try{await U([...i.value,...L]),l.value="",S(L),Be(o("sources.modelAdded",{n:L.length}),"success"),await it(),(D=(M=f.value)==null?void 0:M.querySelector(`[data-mname="${CSS.escape(L[0])}"]`))==null||D.scrollIntoView({block:"nearest"}),(oe=(J=d.value)==null?void 0:J.$el)==null||oe.focus()}catch(pe){Be(pe.message,"error")}finally{u.value=""}}}async function E(L){if(!u.value){u.value="remove";try{await U(i.value.filter(M=>M!==L)),Be(o("sources.modelRemoved",{name:L}),"success")}catch(M){Be(M.message,"error")}finally{u.value=""}}}async function F(){if(!(!n.provider||u.value)){u.value="refresh";try{const L=await Ve("POST",`/admin/providers/${n.provider.id}/discover`);x({...n.provider,discoveredModels:L.models}),Be(o("sources.refreshDone",{name:n.provider.name}),L.models.length?"success":"default")}catch(L){Be(L.message,"error")}finally{u.value=""}}}async function H(L){const M=await kr(L);Be(o(M?"connect.copied":"connect.copyFailed"),M?"success":"error")}const X=K(new Set),Z=K({});async function Q(L){if(!(!n.provider||X.value.has(L))){X.value.add(L);try{const M=await Ve("POST",`/admin/providers/${n.provider.id}/test?model=${encodeURIComponent(L)}`);Z.value={...Z.value,[L]:M.results}}catch(M){Be(M.message,"error")}finally{X.value.delete(L)}}}function de(L){a.value&&(L.stopPropagation(),L.preventDefault(),a.value="")}return(L,M)=>(h(),z(r(Ws),{open:e.open,"onUpdate:open":M[2]||(M[2]=D=>s("update:open",D))},{default:g(()=>[m(r(Ks),{class:"max-w-lg"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(r(o)("sources.modelsTitle")),1)]),_:1}),m(r(Ys),{class:"sr-only"},{default:g(()=>{var D;return[j(v(r(o)("sources.modelsDesc",{name:((D=e.provider)==null?void 0:D.name)??""})),1)]}),_:1}),b("div",UT,[b("div",HT,[b("div",jT,[m(r(du),{class:"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{ref_key:"inputRef",ref:c,modelValue:a.value,"onUpdate:modelValue":M[0]||(M[0]=D=>a.value=D),placeholder:r(o)("sources.modelsSearchPh"),autocomplete:"off",spellcheck:"false",class:"pl-8 font-mono",onKeydown:An(de,["esc"])},null,8,["modelValue","placeholder"])]),m(r(ke),{variant:"outline",size:"icon",class:"size-9 shrink-0",disabled:u.value!=="",title:r(o)("sources.refreshModels"),"aria-label":r(o)("sources.refreshModels"),onClick:F},{default:g(()=>[u.value==="refresh"?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-4 w-4"}))]),_:1},8,["disabled","title","aria-label"])]),b("div",zT,[b("div",WT,[m(r(Yn),{class:"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{ref_key:"addRef",ref:d,modelValue:l.value,"onUpdate:modelValue":M[1]||(M[1]=D=>l.value=D),placeholder:r(o)("sources.modelsAddPh"),autocomplete:"off",spellcheck:"false",class:"pl-8 font-mono",onKeydown:An(Ie(R,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"])]),m(r(ke),{variant:"outline",class:"shrink-0",disabled:!P.value||u.value!=="",onClick:R},{default:g(()=>[u.value==="add"?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Yn),{key:1,class:"h-4 w-4"})),j(v(r(o)("sources.modelsAddBtn")),1)]),_:1},8,["disabled"])]),_.value?(h(),B("p",KT,v(r(o)("sources.modelsAddExists",{q:l.value.trim()})),1)):se("",!0),b("div",{ref_key:"listRef",ref:f,class:"max-h-80 divide-y overflow-y-auto rounded-md border"},[A.value.length?(h(),B(me,{key:1},[w.value.length?se("",!0):(h(),B("div",JT,v(r(o)("sources.modelsNoMatch")),1)),(h(!0),B(me,null,Pe(w.value,D=>(h(),B("div",{key:D.name,"data-mname":D.name,class:ge(["flex cursor-pointer items-center gap-2 px-3 py-1.5 transition-colors hover:bg-muted/50",p.value.has(D.name)?"row-flash":""]),title:`${D.name} · ${r(o)("sources.modelCopyTip")}`,onClick:J=>H(D.name)},[b("span",ZT,v(D.name),1),Z.value[D.name]?(h(!0),B(me,{key:0},Pe(Z.value[D.name],J=>(h(),z(r(Oe),{key:J.format,variant:J.ok?"success":"destructive",class:"shrink-0 font-mono",title:`${r(Lt)(J.format)} · ${J.status||"?"} · ${J.ms} ms${J.error?" · "+J.error:""}`},{default:g(()=>[j(v(J.ok?"✓":"✗")+" "+v(r(Lt)(J.format))+" "+v(J.ok?`${J.ms}ms`:J.status||"–"),1)]),_:2},1032,["variant","title"]))),128)):se("",!0),D.manual?(h(),z(r(Oe),{key:1,variant:"secondary",class:"shrink-0"},{default:g(()=>[j(v(r(o)("sources.modelTagManual")),1)]),_:1})):se("",!0),D.manual?(h(),B("button",{key:2,type:"button",class:"-mr-1 flex size-6 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-destructive",disabled:u.value!=="","aria-label":r(o)("sources.modelRemove"),onClick:Ie(J=>E(D.name),["stop"])},[m(r(Eo),{class:"h-3.5 w-3.5"})],8,eA)):se("",!0),b("button",{type:"button",class:"-mr-1 flex size-6 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground",disabled:X.value.has(D.name),title:r(o)("sources.testBtn"),"aria-label":`${r(o)("sources.testBtn")} ${D.name}`,onClick:Ie(J=>Q(D.name),["stop"])},[X.value.has(D.name)?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-3.5 w-3.5"}))],8,tA)],10,QT))),128))],64)):(h(),B("div",GT,[b("span",YT,[m(r(Bk),{class:"size-4"})]),b("p",XT,v(r(o)("sources.modelsEmpty")),1)]))],512)])]),_:1})]),_:1},8,["open"]))}}),sA=Im(nA,[["__scopeId","data-v-35cb6f16"]]),oA={class:"space-y-4"},rA={class:"flex flex-wrap items-center justify-between gap-2"},aA={class:"flex items-center gap-2"},lA={class:"text-base font-semibold"},iA={class:"text-sm text-muted-foreground"},uA={key:0,class:"flex items-center gap-2"},cA={class:"flex items-center rounded-md border p-0.5"},dA={key:0,class:"py-8 text-center text-sm text-muted-foreground"},fA={key:1,class:"py-8 text-center text-sm text-destructive"},pA={class:"flex h-11 w-11 items-center justify-center rounded-xl bg-primary/15 text-primary"},mA={class:"space-y-1"},hA={class:"font-medium"},gA={class:"max-w-sm text-sm text-muted-foreground"},vA={key:0,class:"flex flex-wrap items-center gap-3 rounded-lg border border-primary/40 bg-primary/5 px-3 py-2.5"},yA={class:"min-w-0 flex-1 text-sm"},bA={key:1,class:"grid items-stretch gap-3 md:grid-cols-2"},_A={class:"flex h-full flex-col gap-3 p-4"},xA={class:"flex min-w-0 flex-wrap items-center gap-1.5"},wA={class:"truncate text-sm font-semibold"},kA=["title","aria-label","onClick"],CA={class:"min-w-0 flex-1 space-y-1"},SA={key:0,class:"truncate font-mono text-xs text-muted-foreground"},$A={class:"opacity-60"},TA={key:1,class:"truncate font-mono text-xs text-muted-foreground"},AA={class:"opacity-60"},EA={key:2,class:"truncate font-mono text-xs text-muted-foreground"},OA={class:"opacity-60"},PA={class:"flex items-center gap-1 border-t pt-3"},MA={key:2,class:"overflow-hidden rounded-lg border"},IA={class:"flex flex-wrap gap-1"},RA={class:"max-w-[300px] space-y-0.5 font-mono text-xs text-muted-foreground"},LA=["title"],DA={class:"opacity-60"},NA=["title"],FA={class:"opacity-60"},qA=["title"],BA={class:"opacity-60"},VA=["title"],UA={key:1},HA=["title","aria-label","onClick"],jA={class:"flex items-center justify-end gap-0.5"},zA={class:"space-y-3"},WA={class:"text-xs text-muted-foreground"},KA={key:0,class:"space-y-1.5"},GA={class:"flex flex-wrap gap-1.5"},YA=["onClick"],XA={key:1,class:"space-y-1.5 rounded-md border bg-muted/30 p-2.5"},JA={class:"shrink-0 tabular-nums text-muted-foreground"},QA=["title"],ZA={class:"flex justify-end gap-2"},vd="myapikey.view.sources",eE=re({__name:"Sources",emits:["goto"],setup(e,{emit:t}){const{t:n}=pt(),s=t,o=K([]),a=K(!0),l=K(!1),i=K(""),u=K(localStorage.getItem(vd)==="table"?"table":"cards");function c(ve){u.value=ve;try{localStorage.setItem(vd,ve)}catch{}}const d=K(!1),f=K(null);function p(){f.value=null,d.value=!0}function y(ve){f.value=ve,d.value=!0}function S(ve){const ye=o.value.some(te=>te.id===ve.id);o.value=ye?o.value.map(te=>te.id===ve.id?ve:te):[...o.value,ve]}const $=K({});async function A(ve){$.value[ve.id]=!0;try{const ye=await Ve("POST",`/admin/providers/${ve.id}/discover`);o.value=o.value.map(te=>te.id===ve.id?{...te,discoveredModels:ye.models}:te),Be(n("sources.refreshDone",{name:ve.name}),ye.models.length?"success":"default")}catch(ye){Be(ye.message,"error")}finally{$.value[ve.id]=!1}}const w=K(null),_=K(!1),P=K(!1),x=K(!1),U=K(null),R=K(""),E=K({}),F=K(!1),H=K(null),X=ae(()=>U.value?mo(U.value):[]);function Z(ve){return[...ve.formats]}function Q(ve){U.value=ve,R.value=mo(ve)[0]??"",E.value=Object.fromEntries(Z(ve).map(ye=>[ye,!0])),H.value=null,x.value=!0}async function de(){const ve=U.value,ye=R.value.trim();if(!ve||!ye||F.value)return;const te=Z(ve),we=te.filter(_e=>E.value[_e]);if(we.length){F.value=!0,H.value=null;try{const _e=we.length<te.length?we.map(at=>`&format=${at}`).join(""):"",Fe=await Ve("POST",`/admin/providers/${ve.id}/test?model=${encodeURIComponent(ye)}${_e}`);H.value=Fe.results}catch(_e){Be(_e.message,"error")}finally{F.value=!1}}}function L(ve,ye){return ve&&ye in ct?`border-transparent ${ct[ye].solid} text-white shadow-sm`:ve?"border-transparent bg-primary text-primary-foreground shadow-sm":"border-input text-muted-foreground hover:bg-accent hover:text-accent-foreground"}async function M(){const ve=w.value;if(!(!ve||P.value)){P.value=!0;try{await Ve("DELETE",`/admin/providers/${ve.id}`),o.value=o.value.filter(ye=>ye.id!==ve.id),Be(n("sources.removed",{name:ve.name}),"success"),_.value=!1}catch(ye){Be(ye.message,"error")}finally{P.value=!1}}}function D(ve){return mo(ve).length}function J(ve){return D(ve)>0?"found":ve.discoveredAt?"empty":"never"}function oe(ve){const ye=J(ve);return ye==="found"?n("sources.discoveredCount",{n:D(ve)}):n(ye==="empty"?"sources.noModelsFound":"sources.notScanned")}function pe(ve){const ye=J(ve);return n(ye==="empty"?"sources.noModelsHint":ye==="never"?"sources.notScannedHint":"sources.modelsOpenHint")}const Y=K(!1),he=K(null);function ee(ve){he.value=ve,Y.value=!0}function Ye(ve){return ve in ct?ct[ve].badge:""}async function Ue(){l.value=!0,i.value="";try{const[ve,ye]=await Promise.all([Ve("GET","/admin/providers"),Ve("GET","/admin/models").catch(()=>null)]);o.value=ve.providers,a.value=!!(ye!=null&&ye.models.length)}catch(ve){i.value=ve.message}finally{l.value=!1}}return rt(Ue),(ve,ye)=>(h(),B("div",oA,[b("div",rA,[b("div",aA,[m(r(ko),{class:"h-4 w-4 text-primary"}),b("span",lA,v(r(n)("sources.pageTitle")),1),b("span",iA,v(r(n)("sources.pageDesc")),1)]),o.value.length?(h(),B("div",uA,[b("div",cA,[m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",u.value==="cards"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(n)("common.viewCards"),"aria-label":r(n)("common.viewCards"),onClick:ye[0]||(ye[0]=te=>c("cards"))},{default:g(()=>[m(r(Em),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"]),m(r(ke),{variant:"ghost",size:"icon",class:ge(["h-6 w-6",u.value==="table"?"bg-accent text-accent-foreground":"text-muted-foreground"]),title:r(n)("common.viewTable"),"aria-label":r(n)("common.viewTable"),onClick:ye[1]||(ye[1]=te=>c("table"))},{default:g(()=>[m(r(Pm),{class:"h-3.5 w-3.5"})]),_:1},8,["class","title","aria-label"])]),m(r(ke),{size:"sm",onClick:p},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(n)("sources.add")),1)]),_:1})])):se("",!0)]),l.value?(h(),B("p",dA,v(r(n)("common.loading")),1)):i.value?(h(),B("p",fA,v(i.value),1)):o.value.length?(h(),B(me,{key:3},[a.value?se("",!0):(h(),B("div",vA,[b("p",yA,v(r(n)("sources.nextHint")),1),m(r(ke),{size:"sm",onClick:ye[2]||(ye[2]=te=>s("goto","models"))},{default:g(()=>[j(v(r(n)("sources.nextCta")),1)]),_:1})])),u.value==="cards"?(h(),B("div",bA,[(h(!0),B(me,null,Pe(o.value,te=>(h(),z(r(Vt),{key:te.id,class:"group cursor-pointer gap-0 py-0 transition-colors hover:bg-muted/30",onClick:we=>y(te)},{default:g(()=>[b("div",_A,[b("div",xA,[b("span",wA,v(te.name),1),(h(!0),B(me,null,Pe(te.formats,we=>(h(),z(r(Oe),{key:we,variant:"outline",class:ge(["shrink-0",Ye(we)])},{default:g(()=>[j(v(r(Lt)(we)),1)]),_:2},1032,["class"]))),128)),te.rpm?(h(),z(r(Oe),{key:0,variant:"outline",class:"shrink-0",title:r(n)("sources.rpmBadgeHint")},{default:g(()=>[j(v(r(n)("sources.rpmBadge",{n:te.rpm})),1)]),_:2},1032,["title"])):se("",!0),b("button",{type:"button",class:"shrink-0 rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring",title:pe(te),"aria-label":r(n)("sources.modelsTitle"),onClick:Ie(we=>ee(te),["stop"])},[m(r(Oe),{variant:"muted",class:"cursor-pointer gap-1 pr-1.5 transition-colors hover:bg-accent hover:text-accent-foreground"},{default:g(()=>[j(v(oe(te))+" ",1),m(r(dn),{class:"size-3 opacity-60"})]),_:2},1024)],8,kA)]),b("div",CA,[te.formats.includes("openai")?(h(),B("div",SA,[b("span",$A,v(r(Lt)("openai"))+" ·",1),j(" "+v(te.baseUrlOpenai),1)])):se("",!0),te.formats.includes("responses")?(h(),B("div",TA,[b("span",AA,v(r(Lt)("responses"))+" ·",1),j(" "+v(te.baseUrlResponses),1)])):se("",!0),te.formats.includes("anthropic")?(h(),B("div",EA,[b("span",OA,v(r(Lt)("anthropic"))+" ·",1),j(" "+v(te.baseUrlAnthropic),1)])):se("",!0)]),b("div",PA,[m(r(ke),{variant:"ghost",size:"sm",class:"h-7 gap-1.5 px-2 text-xs",onClick:Ie(we=>Q(te),["stop"])},{default:g(()=>[m(r(Fs),{class:"h-3.5 w-3.5"}),j(v(r(n)("sources.testBtn")),1)]),_:1},8,["onClick"]),m(r(ke),{variant:"ghost",size:"sm",class:"h-7 gap-1.5 px-2 text-xs",disabled:$.value[te.id],onClick:Ie(we=>A(te),["stop"])},{default:g(()=>[$.value[te.id]?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"})),j(v(r(n)("sources.refreshModels")),1)]),_:2},1032,["disabled","onClick"]),m(r(ke),{variant:"ghost",size:"sm",class:"h-7 gap-1.5 px-2 text-xs",onClick:Ie(we=>y(te),["stop"])},{default:g(()=>[m(r(lo),{class:"h-3.5 w-3.5"}),j(v(r(n)("sources.editLabel")),1)]),_:1},8,["onClick"]),b("div",{class:"ml-auto",onClick:ye[3]||(ye[3]=Ie(()=>{},["stop"]))},[m(r(fi),null,{default:g(()=>[m(r(pi),null,{default:g(()=>[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground","aria-label":r(n)("sources.moreActions")},{default:g(()=>[m(r(hi),{class:"h-4 w-4"})]),_:1},8,["aria-label"])]),_:1}),m(r(mi),{align:"end"},{default:g(()=>[m(r(Uo),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onSelect:we=>{w.value=te,_.value=!0}},{default:g(()=>[m(r(hr)),j(" "+v(r(n)("sources.deleteLabel")),1)]),_:1},8,["onSelect"])]),_:2},1024)]),_:2},1024)])])])]),_:2},1032,["onClick"]))),128))])):(h(),B("div",MA,[m(r(el),null,{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),{class:"hover:bg-transparent"},{default:g(()=>[m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colName")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colFormats")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colBaseUrl")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colRpm")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(n)("sources.colDiscovered")),1)]),_:1}),m(r(ot),{class:"w-[168px] text-right"},{default:g(()=>[j(v(r(n)("sources.colActions")),1)]),_:1})]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(o.value,te=>(h(),z(r(Sn),{key:te.id,class:"cursor-pointer",onClick:we=>y(te)},{default:g(()=>[m(r(tt),{class:"max-w-[160px] truncate font-medium",title:te.name},{default:g(()=>[j(v(te.name),1)]),_:2},1032,["title"]),m(r(tt),null,{default:g(()=>[b("div",IA,[(h(!0),B(me,null,Pe(te.formats,we=>(h(),z(r(Oe),{key:we,variant:"outline",class:ge(Ye(we))},{default:g(()=>[j(v(r(Lt)(we)),1)]),_:2},1032,["class"]))),128))])]),_:2},1024),m(r(tt),null,{default:g(()=>[b("div",RA,[te.formats.includes("openai")?(h(),B("div",{key:0,class:"truncate",title:te.baseUrlOpenai},[b("span",DA,v(r(Lt)("openai"))+" · ",1),j(v(te.baseUrlOpenai),1)],8,LA)):se("",!0),te.formats.includes("responses")?(h(),B("div",{key:1,class:"truncate",title:te.baseUrlResponses},[b("span",FA,v(r(Lt)("responses"))+" · ",1),j(v(te.baseUrlResponses),1)],8,NA)):se("",!0),te.formats.includes("anthropic")?(h(),B("div",{key:2,class:"truncate",title:te.baseUrlAnthropic},[b("span",BA,v(r(Lt)("anthropic"))+" · ",1),j(v(te.baseUrlAnthropic),1)],8,qA)):se("",!0)])]),_:2},1024),m(r(tt),{class:"whitespace-nowrap text-xs text-muted-foreground"},{default:g(()=>[te.rpm?(h(),B("span",{key:0,title:r(n)("sources.rpmBadgeHint"),class:"font-mono"},v(r(n)("sources.rpmBadge",{n:te.rpm})),9,VA)):(h(),B("span",UA,"—"))]),_:2},1024),m(r(tt),null,{default:g(()=>[b("button",{type:"button",class:"rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring",title:pe(te),"aria-label":r(n)("sources.modelsTitle"),onClick:Ie(we=>ee(te),["stop"])},[m(r(Oe),{variant:"muted",class:"cursor-pointer gap-1 pr-1.5 transition-colors hover:bg-accent hover:text-accent-foreground"},{default:g(()=>[j(v(oe(te))+" ",1),m(r(dn),{class:"size-3 opacity-60"})]),_:2},1024)],8,HA)]),_:2},1024),m(r(tt),{onClick:ye[4]||(ye[4]=Ie(()=>{},["stop"]))},{default:g(()=>[b("div",jA,[m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(n)("sources.testBtn"),"aria-label":r(n)("sources.testBtn"),onClick:we=>Q(te)},{default:g(()=>[m(r(Fs),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",disabled:$.value[te.id],title:r(n)("sources.refreshModels"),"aria-label":r(n)("sources.refreshModels"),onClick:we=>A(te)},{default:g(()=>[$.value[te.id]?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"}))]),_:2},1032,["disabled","title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-muted-foreground",title:r(n)("sources.editLabel"),"aria-label":r(n)("sources.editLabel"),onClick:we=>y(te)},{default:g(()=>[m(r(lo),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"]),m(r(ke),{variant:"ghost",size:"icon",class:"h-7 w-7 text-destructive hover:text-destructive",title:r(n)("sources.deleteLabel"),"aria-label":r(n)("sources.deleteLabel"),onClick:we=>{w.value=te,_.value=!0}},{default:g(()=>[m(r(hr),{class:"h-3.5 w-3.5"})]),_:1},8,["title","aria-label","onClick"])])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]))],64)):(h(),z(r(Vt),{key:2},{default:g(()=>[m(r(en),{class:"flex flex-col items-center gap-3 py-12 text-center"},{default:g(()=>[b("span",pA,[m(r(ko),{class:"h-5 w-5"})]),b("div",mA,[b("div",hA,v(r(n)("sources.emptyTitle")),1),b("p",gA,v(r(n)("sources.emptyHint")),1)]),m(r(ke),{onClick:p},{default:g(()=>[m(r(Yn),{class:"h-4 w-4"}),j(v(r(n)("sources.add")),1)]),_:1})]),_:1})]),_:1})),m(VT,{open:d.value,"onUpdate:open":ye[5]||(ye[5]=te=>d.value=te),provider:f.value,onSaved:S},null,8,["open","provider"]),m(sA,{open:Y.value,"onUpdate:open":ye[6]||(ye[6]=te=>Y.value=te),provider:he.value,onSaved:S},null,8,["open","provider"]),m(r(Ws),{open:x.value,"onUpdate:open":ye[9]||(ye[9]=te=>x.value=te)},{default:g(()=>[m(r(Ks),{class:"max-w-md"},{default:g(()=>[m(r(Gs),{class:"text-base"},{default:g(()=>[j(v(r(n)("sources.testTitle")),1)]),_:1}),m(r(Ys),null,{default:g(()=>[j(v(r(n)("sources.testDesc")),1)]),_:1}),b("div",zA,[b("div",{class:"space-y-1.5",onKeydown:An(de,["enter"])},[m(r(ht),null,{default:g(()=>[j(v(r(n)("sources.testModelLabel")),1)]),_:1}),m(Mm,{modelValue:R.value,"onUpdate:modelValue":ye[7]||(ye[7]=te=>R.value=te),options:X.value,placeholder:r(n)("sources.testModelPh")},null,8,["modelValue","options","placeholder"]),b("p",WA,v(r(n)("sources.testModelHint")),1)],32),U.value?(h(),B("div",KA,[m(r(ht),null,{default:g(()=>[j(v(r(n)("sources.formats")),1)]),_:1}),b("div",GA,[(h(!0),B(me,null,Pe(Z(U.value),te=>(h(),B("button",{key:te,type:"button",class:ge(["inline-flex items-center rounded-md border px-2 py-0.5 font-mono text-xs font-medium transition-colors",L(!!E.value[te],te)]),onClick:we=>E.value[te]=!E.value[te]},v(r(Lt)(te)),11,YA))),128))])])):se("",!0),H.value?(h(),B("div",XA,[(h(!0),B(me,null,Pe(H.value,te=>(h(),B("div",{key:te.format,class:"flex min-w-0 items-center gap-2 text-xs"},[m(r(Oe),{variant:"outline",class:ge(Ye(te.format))},{default:g(()=>[j(v(r(Lt)(te.format)),1)]),_:2},1032,["class"]),te.ok?(h(),z(r(Oe),{key:0,variant:"success",class:"shrink-0"},{default:g(()=>[j(v(r(n)("models.probeOk")),1)]),_:1})):(h(),z(r(Oe),{key:1,variant:"destructive",class:"shrink-0"},{default:g(()=>[j(v(r(n)("models.probeFail"))+" · "+v(te.status||"?"),1)]),_:2},1024)),b("span",JA,v(te.ms)+" ms",1),te.error?(h(),B("span",{key:2,class:"min-w-0 truncate text-destructive",title:te.error},v(te.error),9,QA)):se("",!0)]))),128))])):se("",!0)]),b("div",ZA,[m(r(ke),{variant:"outline",disabled:F.value,onClick:ye[8]||(ye[8]=te=>x.value=!1)},{default:g(()=>[j(v(r(n)("common.cancel")),1)]),_:1},8,["disabled"]),m(r(ke),{disabled:F.value||!R.value.trim(),onClick:de},{default:g(()=>[F.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):(h(),z(r(Fs),{key:1,class:"h-4 w-4"})),j(v(r(n)("sources.testRun")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]),m(fu,{open:_.value,"onUpdate:open":ye[10]||(ye[10]=te=>_.value=te),variant:"destructive",title:r(n)("sources.remove"),description:w.value?r(n)("sources.confirmRemove",{name:w.value.name}):"","confirm-text":r(n)("sources.remove"),loading:P.value,onConfirm:M},null,8,["open","title","description","confirm-text","loading"])]))}}),tE={class:"flex items-center justify-between gap-2"},nE={class:"flex gap-1"},sE={class:"sr-only"},oE={class:"flex flex-wrap items-center gap-2"},rE={class:"relative flex-1 sm:max-w-sm"},aE={key:0,class:"inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 text-[10px] font-medium text-primary-foreground"},lE={class:"space-y-2.5"},iE={class:"flex items-center justify-between"},uE={class:"text-xs font-medium"},cE={class:"space-y-2"},dE={class:"grid grid-cols-[3.5rem_1fr] items-center gap-2"},fE={class:"text-xs text-muted-foreground"},pE={class:"grid grid-cols-[3.5rem_1fr] items-center gap-2"},mE={class:"text-xs text-muted-foreground"},hE={class:"grid grid-cols-[3.5rem_1fr] items-center gap-2"},gE={class:"text-xs text-muted-foreground"},vE={key:0,class:"flex flex-wrap items-center gap-1.5"},yE={class:"text-muted-foreground"},bE={class:"font-medium"},_E=["aria-label","onClick"],xE={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-muted-foreground"},wE={key:1,class:"space-y-2 rounded-lg border border-amber-500/30 bg-amber-500/5 p-3"},kE={class:"flex items-center gap-1.5 text-xs font-medium text-amber-700 dark:text-amber-400"},CE={class:"space-y-1.5"},SE={class:"font-medium"},$E={class:"break-all text-muted-foreground"},TE={key:2,class:"space-y-2 rounded-lg border border-orange-500/30 bg-orange-500/5 p-3"},AE={class:"flex items-center gap-1.5 text-xs font-medium text-orange-700 dark:text-orange-400"},EE={class:"space-y-1.5"},OE={class:"font-medium"},PE={class:"text-muted-foreground"},ME={key:3,class:"py-6 text-center text-sm text-muted-foreground"},IE={key:4,class:"py-6 text-center text-sm text-muted-foreground"},RE={key:5,class:"overflow-x-auto"},LE={class:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs"},DE={class:"font-mono text-muted-foreground"},NE={class:"font-medium"},FE={class:"text-muted-foreground"},qE={class:"text-muted-foreground"},BE={class:"break-all text-muted-foreground"},VE={key:0,class:"text-muted-foreground/60"},UE={class:"inline-flex items-center gap-1.5"},HE={class:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5 px-2 py-2 text-xs sm:grid-cols-[auto_1fr_auto_1fr]"},jE={class:"text-muted-foreground"},zE={class:"font-mono"},WE={class:"text-muted-foreground"},KE={class:"font-mono"},GE={class:"text-muted-foreground"},YE={class:"text-muted-foreground"},XE={class:"break-all font-mono"},JE={class:"text-muted-foreground"},QE={class:"flex items-center gap-1.5 font-mono"},ZE={class:"text-muted-foreground"},eO={class:"break-all font-mono"},tO={class:"text-muted-foreground"},nO={class:"font-mono"},sO={class:"text-foreground/80"},oO={class:"text-foreground/80"},rO={class:"text-amber-600 dark:text-amber-400"},aO={class:"text-muted-foreground"},lO={class:"break-all font-mono"},yd="myapikey.logs.filters",iO=re({__name:"Logs",setup(e){const{t}=pt(),n=K([]),s=K(!0),o=K(!1),a=K([]),l=K([]),i=K("all"),u=K("all"),c=K("all"),d=K(""),f=K(new Set),p=K(!1);try{const Y=JSON.parse(localStorage.getItem(yd)||"null");Y&&(typeof Y.model=="string"&&(i.value=Y.model),typeof Y.provider=="string"&&(u.value=Y.provider),(Y.status==="success"||Y.status==="error")&&(c.value=Y.status),typeof Y.query=="string"&&(d.value=Y.query))}catch{}Re([i,u,c,d],()=>{try{localStorage.setItem(yd,JSON.stringify({model:i.value,provider:u.value,status:c.value,query:d.value}))}catch{}});let y;async function S(){o.value=!0;try{const[Y,he]=await Promise.all([Ve("GET","/admin/logs").catch(()=>null),Ve("GET","/admin/circuit").catch(()=>null)]);Y&&(n.value=Y.logs),he&&(a.value=he.providers.filter(ee=>ee.state==="cooling"),l.value=he.providers.filter(ee=>ee.rpm>0&&ee.rpmUsed>=ee.rpm&&ee.state!=="cooling"))}finally{o.value=!1}}async function $(Y){await Ve("POST",`/admin/circuit/${Y}/reset`).catch(()=>{}),await S()}function A(){w(),y=window.setInterval(S,4e3)}function w(){y&&(clearInterval(y),y=void 0)}function _(){s.value=!s.value,s.value?(S(),A()):w()}function P(Y){return Y>=200&&Y<300?"success":Y>=400?"destructive":"muted"}function x(Y){var he;return((he=ct[Y])==null?void 0:he.badge)??""}function U(Y){return Y<1e3?`${Y}ms`:`${(Y/1e3).toFixed(1)}s`}function R(Y){return Y?Y<1e3?String(Y):Y<1e6?(Y/1e3).toFixed(Y<1e4?1:0).replace(/\.0$/,"")+"k":(Y/1e6).toFixed(1)+"M":"0"}function E(Y){if(Y<=0)return"0";const he=Math.round(Y*1e3)/10;return Number.isInteger(he)?String(he):he.toFixed(1)}function F(Y){return new Date(Y).toLocaleTimeString()}function H(Y){return new Date(Y).toLocaleString()}function X(Y){return`${Y.ts}-${Y.model}-${Y.provider}-${Y.status}-${Y.kind??"call"}`}function Z(Y){return f.value.has(X(Y))}function Q(Y){const he=new Set(f.value),ee=X(Y);he.has(ee)?he.delete(ee):he.add(ee),f.value=he}const de=ae(()=>[...new Set(n.value.map(Y=>Y.model))].sort()),L=ae(()=>[...new Set(n.value.map(Y=>Y.provider))].sort()),M=ae(()=>{const Y=d.value.trim().toLowerCase();return n.value.filter(he=>{var ee;return!(i.value!=="all"&&he.model!==i.value||u.value!=="all"&&he.provider!==u.value||c.value==="success"&&!(he.status>=200&&he.status<300)||c.value==="error"&&he.status<400||Y&&!(he.model.toLowerCase().includes(Y)||(ee=he.upstreamModel)!=null&&ee.toLowerCase().includes(Y)||he.provider.toLowerCase().includes(Y)))})}),D=ae(()=>{const Y=M.value.filter(Ue=>Ue.kind!=="cooldown"),he=Y.length,ee=Y.filter(Ue=>Ue.status>=400).length,Ye=he?Math.round(Y.reduce((Ue,ve)=>Ue+ve.ms,0)/he):0;return{total:he,fail:ee,avgMs:Ye,errorRateStr:E(he?ee/he:0)}}),J=ae(()=>(i.value!=="all"?1:0)+(u.value!=="all"?1:0)+(c.value!=="all"?1:0)),oe=ae(()=>{const Y=[];return i.value!=="all"&&Y.push({key:"model",label:t("logs.filter.model"),value:i.value,clear:()=>i.value="all"}),u.value!=="all"&&Y.push({key:"provider",label:t("logs.filter.provider"),value:u.value,clear:()=>u.value="all"}),c.value!=="all"&&Y.push({key:"status",label:t("logs.filter.status"),value:c.value==="success"?t("logs.filter.success"):t("logs.filter.error"),clear:()=>c.value="all"}),Y});function pe(){i.value="all",u.value="all",c.value="all"}return rt(()=>{S(),A()}),fn(w),(Y,he)=>(h(),z(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[b("div",tE,[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Sm),{class:"h-4 w-4 text-primary"}),j(" "+v(r(t)("logs.title"))+" ",1),s.value?(h(),z(r(Oe),{key:0,variant:"success",class:"gap-1.5"},{default:g(()=>[he[5]||(he[5]=b("span",{class:"relative flex h-1.5 w-1.5"},[b("span",{class:"absolute inline-flex h-full w-full animate-ping rounded-full bg-current opacity-75"}),b("span",{class:"relative inline-flex h-1.5 w-1.5 rounded-full bg-current"})],-1)),j(" "+v(r(t)("logs.live")),1)]),_:1})):se("",!0)]),_:1}),b("div",nE,[m(r(ke),{variant:"outline",size:"sm",disabled:o.value,onClick:S},{default:g(()=>[o.value?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"})),b("span",sE,v(r(t)("logs.refresh")),1)]),_:1},8,["disabled"]),m(r(ke),{variant:"outline",size:"sm","aria-pressed":s.value,onClick:_},{default:g(()=>[s.value?(h(),z(r(Vk),{key:0,class:"h-3.5 w-3.5"})):(h(),z(r(Hk),{key:1,class:"h-3.5 w-3.5"})),j(" "+v(s.value?r(t)("logs.pause"):r(t)("logs.resume")),1)]),_:1},8,["aria-pressed"])])]),m(r(Ns),null,{default:g(()=>[j(v(r(t)("logs.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[b("div",oE,[b("div",rE,[m(r(du),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),m(r(mt),{modelValue:d.value,"onUpdate:modelValue":he[0]||(he[0]=ee=>d.value=ee),placeholder:r(t)("logs.searchPh"),class:"h-8 pl-8"},null,8,["modelValue","placeholder"])]),m(r(ya),{open:p.value,"onUpdate:open":he[4]||(he[4]=ee=>p.value=ee)},{default:g(()=>[m(r(ba),{"as-child":""},{default:g(()=>[m(r(ke),{variant:"outline",size:"sm",class:"h-8 gap-1.5"},{default:g(()=>[m(r(Ik),{class:"h-3.5 w-3.5"}),j(" "+v(r(t)("logs.filter.title"))+" ",1),J.value?(h(),B("span",aE,v(J.value),1)):se("",!0)]),_:1})]),_:1}),m(r(_a),{align:"start",class:"w-72 p-3"},{default:g(()=>[b("div",lE,[b("div",iE,[b("span",uE,v(r(t)("logs.filter.title")),1),J.value?(h(),B("button",{key:0,type:"button",class:"text-xs text-primary hover:underline",onClick:pe},v(r(t)("logs.filter.clear")),1)):se("",!0)]),b("div",cE,[b("div",dE,[b("span",fE,v(r(t)("logs.filter.model")),1),m(r(zr),{modelValue:i.value,"onUpdate:modelValue":he[1]||(he[1]=ee=>i.value=ee)},{default:g(()=>[m(r(Wr),{class:"h-8 w-full"},{default:g(()=>[m(r(Kr),{placeholder:r(t)("logs.filter.model")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[m(r(ds),{value:"all"},{default:g(()=>[j(v(r(t)("logs.filter.all")),1)]),_:1}),(h(!0),B(me,null,Pe(de.value,ee=>(h(),z(r(ds),{key:ee,value:ee},{default:g(()=>[j(v(ee),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])]),b("div",pE,[b("span",mE,v(r(t)("logs.filter.provider")),1),m(r(zr),{modelValue:u.value,"onUpdate:modelValue":he[2]||(he[2]=ee=>u.value=ee)},{default:g(()=>[m(r(Wr),{class:"h-8 w-full"},{default:g(()=>[m(r(Kr),{placeholder:r(t)("logs.filter.provider")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[m(r(ds),{value:"all"},{default:g(()=>[j(v(r(t)("logs.filter.all")),1)]),_:1}),(h(!0),B(me,null,Pe(L.value,ee=>(h(),z(r(ds),{key:ee,value:ee},{default:g(()=>[j(v(ee),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])]),b("div",hE,[b("span",gE,v(r(t)("logs.filter.status")),1),m(r(zr),{modelValue:c.value,"onUpdate:modelValue":he[3]||(he[3]=ee=>c.value=ee)},{default:g(()=>[m(r(Wr),{class:"h-8 w-full"},{default:g(()=>[m(r(Kr),{placeholder:r(t)("logs.filter.status")},null,8,["placeholder"])]),_:1}),m(r(Gr),null,{default:g(()=>[m(r(ds),{value:"all"},{default:g(()=>[j(v(r(t)("logs.filter.all")),1)]),_:1}),m(r(ds),{value:"success"},{default:g(()=>[j(v(r(t)("logs.filter.success")),1)]),_:1}),m(r(ds),{value:"error"},{default:g(()=>[j(v(r(t)("logs.filter.error")),1)]),_:1})]),_:1})]),_:1},8,["modelValue"])])])])]),_:1})]),_:1},8,["open"])]),oe.value.length?(h(),B("div",vE,[(h(!0),B(me,null,Pe(oe.value,ee=>(h(),B("span",{key:ee.key,class:"inline-flex items-center gap-1 rounded-full border border-input bg-muted/40 py-0.5 pl-2.5 pr-1 text-xs"},[b("span",yE,v(ee.label)+":",1),b("span",bE,v(ee.value),1),b("button",{type:"button",class:"rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":r(t)("logs.filter.remove",{label:ee.label}),onClick:ee.clear},[m(r(Eo),{class:"h-3 w-3"})],8,_E)]))),128)),b("button",{type:"button",class:"text-xs text-muted-foreground hover:text-foreground",onClick:pe},v(r(t)("logs.filter.clear")),1)])):se("",!0),b("div",xE,[b("span",null,v(r(t)("logs.summary.window",{n:D.value.total})),1),b("span",{class:ge({"text-destructive":D.value.fail>0})},v(r(t)("logs.summary.errorRate",{pct:D.value.errorRateStr})),3),b("span",null,v(r(t)("logs.summary.avgLatency",{ms:U(D.value.avgMs)})),1)]),a.value.length?(h(),B("div",wE,[b("div",kE,[m(r(Al),{class:"h-4 w-4"}),j(" "+v(r(t)("logs.circuit.stripTitle")),1)]),b("ul",CE,[(h(!0),B(me,null,Pe(a.value,ee=>(h(),B("li",{key:ee.id,class:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs"},[b("span",SE,v(ee.name),1),m(r(Oe),{variant:"warning",class:"gap-1 whitespace-nowrap"},{default:g(()=>[m(r(Al),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.circuit.remaining",{s:ee.secondsLeft})),1)]),_:2},1024),b("span",$E,v(ee.lastReason||r(t)("logs.circuit.reasonUnknown")),1),m(r(ke),{variant:"outline",size:"sm",class:"ml-auto h-6 gap-1",onClick:Ye=>$(ee.id)},{default:g(()=>[m(r(Us),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.circuit.reset")),1)]),_:1},8,["onClick"])]))),128))])])):se("",!0),l.value.length?(h(),B("div",TE,[b("div",AE,[m(r(Yo),{class:"h-4 w-4"}),j(" "+v(r(t)("logs.pacing.stripTitle")),1)]),b("ul",EE,[(h(!0),B(me,null,Pe(l.value,ee=>(h(),B("li",{key:ee.id,class:"flex flex-wrap items-center gap-x-2 gap-y-1 text-xs"},[b("span",OE,v(ee.name),1),m(r(Oe),{variant:"outline",class:"gap-1 whitespace-nowrap"},{default:g(()=>[m(r(Yo),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.pacing.at",{used:ee.rpmUsed,cap:ee.rpm})),1)]),_:2},1024),b("span",PE,v(r(t)("logs.pacing.reason")),1)]))),128))])])):se("",!0),n.value.length?M.value.length?(h(),B("div",RE,[m(r(el),null,{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),null,{default:g(()=>[m(r(ot),{class:"w-8"}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.time")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.model")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.provider")),1)]),_:1}),m(r(ot),null,{default:g(()=>[j(v(r(t)("logs.col.format")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("logs.col.latency")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("logs.col.status")),1)]),_:1})]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(M.value,ee=>(h(),B(me,{key:X(ee)},[ee.kind==="cooldown"?(h(),z(r(Sn),{key:0,class:"bg-amber-500/5 hover:bg-amber-500/10"},{default:g(()=>[m(r(tt),{colspan:"7",class:"py-2"},{default:g(()=>[b("div",LE,[b("span",DE,v(F(ee.ts)),1),m(r(Oe),{variant:"warning",class:"gap-1 whitespace-nowrap"},{default:g(()=>[m(r(Al),{class:"h-3 w-3"}),j(" "+v(r(t)("logs.circuit.badge")),1)]),_:1}),b("span",NE,v(ee.provider),1),b("span",FE,v(r(t)("logs.circuit.failures",{n:ee.fails})),1),b("span",qE,v(r(t)("logs.circuit.cooldown",{s:Math.round((ee.cooldownMs??0)/1e3)})),1),b("span",BE,v(ee.error||r(t)("logs.circuit.reasonUnknown")),1)])]),_:2},1024)]),_:2},1024)):(h(),B(me,{key:1},[m(r(Sn),{class:"cursor-pointer hover:bg-muted/50",onClick:Ye=>Q(ee)},{default:g(()=>[m(r(tt),{class:"w-8 text-muted-foreground"},{default:g(()=>[(h(),z(_r(Z(ee)?r(dn):r(Tm)),{class:"h-3.5 w-3.5"}))]),_:2},1024),m(r(tt),{class:"font-mono text-xs text-muted-foreground",title:H(ee.ts)},{default:g(()=>[j(v(F(ee.ts)),1)]),_:2},1032,["title"]),m(r(tt),{class:"font-mono text-xs"},{default:g(()=>[j(v(ee.model),1),ee.upstreamModel?(h(),B("span",VE," → "+v(ee.upstreamModel),1)):se("",!0)]),_:2},1024),m(r(tt),{class:"text-sm"},{default:g(()=>[j(v(ee.provider),1)]),_:2},1024),m(r(tt),null,{default:g(()=>[b("span",UE,[m(r(Oe),{variant:"outline",class:ge(x(ee.format))},{default:g(()=>[j(v(r(Lt)(ee.format)),1)]),_:2},1032,["class"]),ee.stream?(h(),z(r(Oe),{key:0,variant:"muted",class:"text-[10px]"},{default:g(()=>[j(v(r(t)("logs.stream")),1)]),_:1})):se("",!0),ee.thinking?(h(),z(r(Oe),{key:1,variant:"muted",class:"gap-1 font-mono text-[10px]",title:r(t)("logs.detail.thinking")+" · "+(ee.thinking.from==="default"?r(t)("logs.thinkingDefault"):r(t)("logs.thinkingClient"))},{default:g(()=>[m(r(wo),{class:"h-3 w-3"}),j(v(ee.thinking.value),1)]),_:2},1032,["title"])):se("",!0),ee.sampling?(h(),z(r(Oe),{key:2,variant:"muted",class:"gap-1 font-mono text-[10px]",title:r(t)("logs.detail.sampling")},{default:g(()=>[m(r(vs),{class:"h-3 w-3"}),j(v(r(an)(ee.sampling)),1)]),_:2},1032,["title"])):se("",!0)])]),_:2},1024),m(r(tt),{class:"text-right font-mono text-xs text-muted-foreground"},{default:g(()=>[j(v(U(ee.ms)),1)]),_:2},1024),m(r(tt),{class:"text-right"},{default:g(()=>[m(r(Oe),{variant:P(ee.status),class:"font-mono"},{default:g(()=>[j(v(ee.status),1)]),_:2},1032,["variant"])]),_:2},1024)]),_:2},1032,["onClick"]),Z(ee)?(h(),z(r(Sn),{key:0,class:"hover:bg-transparent"},{default:g(()=>[m(r(tt),{colspan:"7",class:"bg-muted/30"},{default:g(()=>[b("dl",HE,[b("dt",jE,v(r(t)("logs.detail.time")),1),b("dd",zE,v(H(ee.ts)),1),b("dt",WE,v(r(t)("logs.detail.latency")),1),b("dd",KE,v(U(ee.ms)),1),b("dt",GE,v(r(t)("logs.detail.stream")),1),b("dd",null,v(ee.stream?r(t)("logs.detail.streamYes"):r(t)("logs.detail.streamNo")),1),ee.upstreamModel?(h(),B(me,{key:0},[b("dt",YE,v(r(t)("logs.detail.upstreamModel")),1),b("dd",XE,v(ee.upstreamModel),1)],64)):se("",!0),ee.thinking?(h(),B(me,{key:1},[b("dt",JE,v(r(t)("logs.detail.thinking")),1),b("dd",QE,[j(v(ee.thinking.value)+" ",1),m(r(Oe),{variant:"muted",class:"text-[10px]"},{default:g(()=>[j(v(ee.thinking.from==="default"?r(t)("logs.thinkingDefault"):r(t)("logs.thinkingClient")),1)]),_:2},1024)])],64)):se("",!0),ee.sampling?(h(),B(me,{key:2},[b("dt",ZE,v(r(t)("logs.detail.sampling")),1),b("dd",eO,v(r(Fb)(ee.sampling)),1)],64)):se("",!0),ee.usage?(h(),B(me,{key:3},[b("dt",tO,v(r(t)("logs.detail.tokens")),1),b("dd",nO,[b("span",sO,"↑ "+v(R(ee.usage.input)),1),he[7]||(he[7]=b("span",{class:"text-muted-foreground/50"}," · ",-1)),b("span",oO,"↓ "+v(R(ee.usage.output)),1),ee.usage.estimated?(h(),z(r(Oe),{key:0,variant:"muted",class:"ml-1.5 text-[10px]"},{default:g(()=>[j("≈ "+v(r(t)("logs.detail.estimated")),1)]),_:1})):se("",!0),(ee.usage.cacheRead||0)+(ee.usage.cacheCreation||0)?(h(),B(me,{key:1},[he[6]||(he[6]=b("span",{class:"text-muted-foreground/50"}," · ",-1)),b("span",rO,"⚡ "+v(r(t)("logs.detail.cache"))+" "+v(R((ee.usage.cacheRead||0)+(ee.usage.cacheCreation||0))),1)],64)):se("",!0)])],64)):se("",!0),b("dt",aO,v(r(t)("logs.detail.error")),1),b("dd",lO,v(ee.error||r(t)("logs.detail.errorNone")),1)])]),_:2},1024)]),_:2},1024)):se("",!0)],64))],64))),128))]),_:1})]),_:1})])):(h(),B("p",IE,v(r(t)("logs.noMatch")),1)):(h(),B("p",ME,v(r(t)("logs.empty")),1))]),_:1})]),_:1}))}}),uO={key:0,class:"py-4 text-center text-xs text-muted-foreground"},cO={class:"flex items-center gap-1.5"},dO={class:"truncate font-mono text-xs"},fO={class:"flex items-center gap-2"},pO={class:"h-1.5 w-full max-w-[120px] overflow-hidden rounded-full bg-muted"},mO={class:"font-mono text-xs tabular-nums"},hO={key:0},gO={class:"text-foreground/80"},vO={class:"text-foreground/80"},yO={key:1,class:"text-muted-foreground/40"},bO={key:0,class:"inline-flex flex-col items-end leading-tight"},_O={class:"text-amber-600 dark:text-amber-400"},xO={class:"text-[10px] text-muted-foreground/60"},wO={key:1,class:"text-muted-foreground/40"},Br=re({__name:"StatsBreakdown",props:{title:{},buckets:{},max:{},kind:{}},setup(e){const{t}=pt();function n(d){return d<1e3?`${d}ms`:`${(d/1e3).toFixed(1)}s`}function s(d){return d?d<1e3?String(d):d<1e6?(d/1e3).toFixed(d<1e4?1:0).replace(/\.0$/,"")+"k":(d/1e6).toFixed(1)+"M":"0"}function o(d){if(!d)return"0%";const f=Math.round(d*1e3)/10;return(f%1===0?f.toFixed(0):f.toFixed(1))+"%"}const a=e,l=()=>a.buckets.some(d=>d.inputTokens||d.outputTokens),i=()=>a.buckets.some(d=>d.cacheRead||d.cacheCreation);function u(d,f){return f?Math.round(d/f*100):0}function c(d){var f;return(f=ct[d])==null?void 0:f.solid}return(d,f)=>(h(),z(r(Vt),null,{default:g(()=>[m(r(zn),{class:"pb-2"},{default:g(()=>[m(r(Wn),{class:"text-sm"},{default:g(()=>[j(v(e.title),1)]),_:1})]),_:1}),m(r(en),null,{default:g(()=>[e.buckets.length?(h(),z(r(el),{key:1},{default:g(()=>[m(r(tl),null,{default:g(()=>[m(r(Sn),null,{default:g(()=>[m(r(ot),null,{default:g(()=>[j(v(r(t)("stats.col.name")),1)]),_:1}),m(r(ot),{class:"w-1/3"},{default:g(()=>[j(v(r(t)("stats.col.calls")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.success")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.error")),1)]),_:1}),m(r(ot),{class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.avgLatency")),1)]),_:1}),l()?(h(),z(r(ot),{key:0,class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.tokens")),1)]),_:1})):se("",!0),i()?(h(),z(r(ot),{key:1,class:"text-right"},{default:g(()=>[j(v(r(t)("stats.col.cacheHit")),1)]),_:1})):se("",!0)]),_:1})]),_:1}),m(r(nl),null,{default:g(()=>[(h(!0),B(me,null,Pe(e.buckets,p=>(h(),z(r(Sn),{key:p.key},{default:g(()=>[m(r(tt),{class:"py-1.5"},{default:g(()=>[b("div",cO,[e.kind==="format"&&c(p.key)?(h(),B("span",{key:0,class:ge(["h-2 w-2 shrink-0 rounded-full",c(p.key)])},null,2)):e.kind==="provider"&&p.id?(h(),B("span",{key:1,class:ge(["h-2 w-2 shrink-0 rounded-full",r(ps)(p.id).solid])},null,2)):se("",!0),b("span",dO,v(e.kind==="format"?r(Lt)(p.key):p.key),1)])]),_:2},1024),m(r(tt),{class:"py-1.5"},{default:g(()=>[b("div",fO,[b("div",pO,[b("div",{class:"h-full rounded-full bg-primary/50",style:tn({width:u(p.calls,e.max)+"%"})},null,4)]),b("span",mO,v(p.calls),1)])]),_:2},1024),m(r(tt),{class:"py-1.5 text-right font-mono text-xs text-emerald-600 dark:text-emerald-400"},{default:g(()=>[j(v(p.success),1)]),_:2},1024),m(r(tt),{class:ge(["py-1.5 text-right font-mono text-xs",p.error?"text-destructive":"text-muted-foreground"])},{default:g(()=>[j(v(p.error),1)]),_:2},1032,["class"]),m(r(tt),{class:"py-1.5 text-right font-mono text-xs text-muted-foreground"},{default:g(()=>[j(v(n(p.avgMs)),1)]),_:2},1024),l()?(h(),z(r(tt),{key:0,class:"py-1.5 text-right font-mono text-xs tabular-nums"},{default:g(()=>[p.inputTokens||p.outputTokens?(h(),B("span",hO,[b("span",gO,v(s(p.inputTokens)),1),f[0]||(f[0]=b("span",{class:"text-muted-foreground/50"}," / ",-1)),b("span",vO,v(s(p.outputTokens)),1)])):(h(),B("span",yO,"—"))]),_:2},1024)):se("",!0),i()?(h(),z(r(tt),{key:1,class:"py-1.5 text-right font-mono text-xs tabular-nums"},{default:g(()=>[p.cacheRead||p.cacheCreation?(h(),B("span",bO,[b("span",_O,v(o(p.cacheHitRate)),1),b("span",xO,"↑"+v(s(p.cacheRead)),1)])):(h(),B("span",wO,"—"))]),_:2},1024)):se("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):(h(),B("p",uO,v(r(t)("stats.empty")),1))]),_:1})]),_:1}))}}),kO={class:"flex flex-wrap items-center justify-between gap-2"},CO={class:"flex items-center gap-2"},SO={class:"inline-flex rounded-md border bg-muted/30 p-0.5"},$O=["onClick"],TO={class:"sr-only"},AO={key:0,class:"flex items-center justify-center gap-2 py-10 text-sm text-muted-foreground"},EO={key:1,class:"py-10 text-center text-sm text-muted-foreground"},OO={class:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-6"},PO={class:"rounded-lg border bg-muted/20 p-3"},MO={class:"text-xs text-muted-foreground"},IO={class:"mt-1 font-mono text-xl tabular-nums"},RO={class:"rounded-lg border bg-muted/20 p-3"},LO={class:"text-xs text-muted-foreground"},DO={class:"mt-1 font-mono text-xl tabular-nums text-emerald-600 dark:text-emerald-400"},NO={class:"rounded-lg border bg-muted/20 p-3"},FO={class:"text-xs text-muted-foreground"},qO={class:"mt-1 font-mono text-xl tabular-nums text-destructive"},BO={class:"rounded-lg border bg-muted/20 p-3"},VO={class:"text-xs text-muted-foreground"},UO={class:"mt-1 font-mono text-xl tabular-nums"},HO={class:"rounded-lg border bg-muted/20 p-3"},jO={class:"text-xs text-muted-foreground"},zO={class:"mt-1 font-mono text-xl tabular-nums"},WO={class:"rounded-lg border bg-muted/20 p-3"},KO={class:"text-xs text-muted-foreground"},GO={class:"mt-1 font-mono text-xl tabular-nums"},YO={key:0,class:"grid grid-cols-3 gap-2"},XO={class:"rounded-lg border bg-muted/20 p-3"},JO={class:"text-xs text-muted-foreground"},QO={class:"mt-1 font-mono text-lg tabular-nums"},ZO={class:"rounded-lg border bg-muted/20 p-3"},eP={class:"text-xs text-muted-foreground"},tP={class:"mt-1 font-mono text-lg tabular-nums"},nP={class:"rounded-lg border bg-muted/20 p-3"},sP={class:"text-xs text-muted-foreground"},oP={class:"mt-1 font-mono text-lg tabular-nums"},rP={class:"mb-2 flex items-center justify-between gap-2"},aP={class:"text-sm font-medium"},lP={key:0,class:"text-[11px] text-muted-foreground"},iP={class:"font-mono tabular-nums text-foreground"},uP={class:"rounded-lg border p-3"},cP={class:"relative pt-9"},dP={class:"flex h-40 gap-px"},fP={class:"pointer-events-none absolute bottom-full left-1/2 z-20 mb-1 hidden -translate-x-1/2 whitespace-nowrap rounded-md border bg-background px-2 py-1 text-center text-xs shadow-md group-hover:block"},pP={class:"font-medium"},mP={class:"font-mono tabular-nums"},hP={class:"text-[10px]"},gP={class:"text-emerald-600 dark:text-emerald-400"},vP={class:"text-destructive"},yP={class:"mt-1.5 flex justify-between text-[10px] text-muted-foreground"},bP={class:"grid gap-4 lg:grid-cols-2"},_P={class:"lg:col-span-2"},xP={key:1,class:"space-y-3"},wP={class:"text-sm font-medium"},kP={class:"grid gap-4 lg:grid-cols-2"},bd=160,CP=re({__name:"Stats",setup(e){const{t}=pt(),n=[{v:"24h",key:"h24"},{v:"7d",key:"d7"},{v:"30d",key:"d30"},{v:"90d",key:"d90"},{v:"all",key:"all"}],s=K(localStorage.getItem("myapikey.stats.range")||"7d");n.some(P=>P.v===s.value)||(s.value="7d"),Re(s,P=>{try{localStorage.setItem("myapikey.stats.range",P)}catch{}});const o=K(null),a=K(!1);async function l(){a.value=!0;try{o.value=await Ve("GET",`/admin/stats?range=${s.value}`)}catch{o.value=null}finally{a.value=!1}}Re(s,l),rt(l);function i(P){return P<1e3?`${P}ms`:`${(P/1e3).toFixed(1)}s`}function u(P){if(!P)return"0%";const x=Math.round(P*1e3)/10;return(x%1===0?x.toFixed(0):x.toFixed(1))+"%"}function c(P){const[x,U,R]=P.split("-").map(Number);return new Date(x,U-1,R).toLocaleDateString(void 0,{month:"short",day:"numeric"})}const d=ae(()=>{var P;return((P=o.value)==null?void 0:P.byDay.reduce((x,U)=>Math.max(x,U.calls),0))??0});function f(P){const x=d.value||1,U=P.calls/x*bd,R=P.error/x*bd;return{success:Math.max(0,Math.round(U-R)),error:Math.round(R)}}function p(P){return P.reduce((x,U)=>Math.max(x,U.calls),0)||1}const y=ae(()=>!!o.value&&o.value.totals.calls>0),S=ae(()=>{var P,x;return(((P=o.value)==null?void 0:P.totals.cacheRead)??0)+(((x=o.value)==null?void 0:x.totals.cacheCreation)??0)}),$=ae(()=>!!o.value&&!!(o.value.totals.inputTokens||o.value.totals.outputTokens||S.value)),A=ae(()=>{var U;const P=(((U=o.value)==null?void 0:U.byProviderModel)??[]).filter(R=>R.cacheRead||R.cacheCreation),x=new Map;for(const R of P){const E=R.providerId||R.provider;let F=x.get(E);F||(F={providerId:R.providerId,provider:R.provider,models:[],cacheRead:0},x.set(E,F)),F.models.push({key:R.model,calls:R.calls,success:R.success,error:0,avgMs:0,inputTokens:R.inputTokens,outputTokens:R.outputTokens,cacheRead:R.cacheRead,cacheCreation:R.cacheCreation,cacheHitRate:R.cacheHitRate}),F.cacheRead+=R.cacheRead}return[...x.values()].sort((R,E)=>E.cacheRead-R.cacheRead)}),w=ae(()=>A.value.length>0);function _(P){return P?P<1e3?String(P):P<1e6?(P/1e3).toFixed(P<1e4?1:0).replace(/\.0$/,"")+"k":(P/1e6).toFixed(1)+"M":"0"}return(P,x)=>(h(),z(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[b("div",kO,[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r($m),{class:"h-4 w-4 text-primary"}),j(" "+v(r(t)("stats.title")),1)]),_:1}),b("div",CO,[b("div",SO,[(h(),B(me,null,Pe(n,U=>b("button",{key:U.v,type:"button",class:ge(["rounded-sm px-2.5 py-1 text-xs transition-colors",s.value===U.v?"bg-background font-medium shadow-sm":"text-muted-foreground hover:text-foreground"]),onClick:R=>s.value=U.v},v(r(t)(`stats.ranges.${U.key}`)),11,$O)),64))]),m(r(ke),{variant:"outline",size:"sm",disabled:a.value,onClick:l},{default:g(()=>[a.value?(h(),z(r(vt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(h(),z(r(Us),{key:1,class:"h-3.5 w-3.5"})),b("span",TO,v(r(t)("stats.refresh")),1)]),_:1},8,["disabled"])])]),m(r(Ns),null,{default:g(()=>[j(v(r(t)("stats.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-5"},{default:g(()=>[a.value&&!o.value?(h(),B("div",AO,[m(r(vt),{class:"h-4 w-4 animate-spin"}),j(" "+v(r(t)("stats.loading")),1)])):y.value?o.value?(h(),B(me,{key:2},[b("div",OO,[b("div",PO,[b("div",MO,v(r(t)("stats.totals.calls")),1),b("div",IO,v(o.value.totals.calls),1)]),b("div",RO,[b("div",LO,v(r(t)("stats.totals.success")),1),b("div",DO,v(o.value.totals.success),1)]),b("div",NO,[b("div",FO,v(r(t)("stats.totals.error")),1),b("div",qO,v(o.value.totals.error),1)]),b("div",BO,[b("div",VO,v(r(t)("stats.totals.errorRate")),1),b("div",UO,v(u(o.value.totals.errorRate)),1)]),b("div",HO,[b("div",jO,v(r(t)("stats.totals.avgLatency")),1),b("div",zO,v(i(o.value.totals.avgMs)),1)]),b("div",WO,[b("div",KO,v(r(t)("stats.totals.p95")),1),b("div",GO,v(i(o.value.totals.p95Ms)),1)])]),$.value?(h(),B("div",YO,[b("div",XO,[b("div",JO,"↑ "+v(r(t)("stats.totals.inputTokens")),1),b("div",QO,v(_(o.value.totals.inputTokens)),1)]),b("div",ZO,[b("div",eP,"↓ "+v(r(t)("stats.totals.outputTokens")),1),b("div",tP,v(_(o.value.totals.outputTokens)),1)]),b("div",nP,[b("div",sP,"⚡ "+v(r(t)("stats.totals.cache")),1),b("div",oP,v(_(S.value)),1)])])):se("",!0),b("div",null,[b("div",rP,[b("div",aP,v(r(t)("stats.byDay")),1),d.value?(h(),B("div",lP,[j(v(r(t)("stats.peak"))+" ",1),b("span",iP,v(d.value),1)])):se("",!0)]),b("div",uP,[b("div",cP,[b("div",dP,[(h(!0),B(me,null,Pe(o.value.byDay,U=>(h(),B("div",{key:U.day,class:"group relative flex min-w-0 flex-1 cursor-default flex-col justify-end"},[b("div",{style:tn({height:f(U).success+"px"}),class:"w-full rounded-t-sm bg-emerald-500/70 transition-colors group-hover:bg-emerald-500"},null,4),b("div",{style:tn({height:f(U).error+"px"}),class:ge(["w-full transition-colors group-hover:bg-destructive",f(U).error?"bg-destructive/70":""])},null,6),b("div",fP,[b("div",pP,v(c(U.day)),1),b("div",mP,v(U.calls)+" "+v(r(t)("stats.callsAxis")),1),b("div",hP,[b("span",gP,v(U.success),1),x[0]||(x[0]=b("span",{class:"text-muted-foreground"}," / ",-1)),b("span",vP,v(U.error),1)])])]))),128))])]),b("div",yP,[b("span",null,v(o.value.byDay.length?c(o.value.byDay[0].day):""),1),b("span",null,v(o.value.byDay.length?c(o.value.byDay[o.value.byDay.length-1].day):""),1)])])]),b("div",bP,[b("div",_P,[m(Br,{title:r(t)("stats.byModel"),buckets:o.value.byModel,max:p(o.value.byModel),kind:"model"},null,8,["title","buckets","max"])]),m(Br,{title:r(t)("stats.byProvider"),buckets:o.value.byProvider,max:p(o.value.byProvider),kind:"provider"},null,8,["title","buckets","max"]),m(Br,{title:r(t)("stats.byFormat"),buckets:o.value.byFormat,max:p(o.value.byFormat),kind:"format"},null,8,["title","buckets","max"])]),w.value?(h(),B("div",xP,[b("div",wP,v(r(t)("stats.cacheBySource")),1),b("div",kP,[(h(!0),B(me,null,Pe(A.value,U=>(h(),z(Br,{key:U.providerId||U.provider,title:U.provider,buckets:U.models,max:p(U.models),kind:"model"},null,8,["title","buckets","max"]))),128))])])):se("",!0)],64)):se("",!0):(h(),B("div",EO,v(r(t)("stats.empty")),1))]),_:1})]),_:1}))}}),SP={class:"space-y-4"},$P={class:"space-y-2"},TP={class:"min-w-0"},AP={class:"mt-0.5 truncate font-mono text-sm"},EP={class:"min-w-0"},OP={class:"mt-0.5 truncate font-mono text-sm"},PP={class:"min-w-0"},MP={class:"mt-0.5 truncate font-mono text-sm"},IP={class:"text-xs text-muted-foreground"},RP={class:"flex items-center justify-between gap-3 rounded-lg border border-primary/40 bg-primary/5 p-3"},LP={class:"min-w-0"},DP={class:"text-xs font-medium text-primary"},NP={class:"truncate font-mono text-sm"},FP={class:"flex items-center gap-1"},qP={class:"overflow-x-auto rounded-md border bg-muted/40 p-3 font-mono text-xs leading-relaxed"},BP=re({__name:"Connect",setup(e){const{t}=pt(),n={openai:"openai",responses:"responses",anthropic:"anthropic",curl:"openai","curl-anthropic":"anthropic","curl-responses":"responses"};function s(w){const _=n[w];return _?ct[_]:null}const o=K(null),a=K(null),l=K(""),i=K(!1),u=K([]),c=ae(()=>{const w=window.location.hostname;if((w==="localhost"||w==="127.0.0.1")&&a.value){const _=window.location.port;return`${window.location.protocol}//${a.value}${_?":"+_:""}`}return window.location.origin}),d=ae(()=>`${c.value}/openai-chat/v1`),f=ae(()=>`${c.value}/openai-responses/v1`),p=ae(()=>`${c.value}/anthropic`);async function y(){o.value=(await Ve("GET","/admin/api-key")).apiKey,a.value=(await Ve("GET","/admin/connection")).lanIp,u.value=(await Ve("GET","/admin/models").catch(()=>({models:[]}))).models}function S(w){var _;return((_=u.value.find(P=>P[w].enabled))==null?void 0:_.name)||"<model>"}async function $(w,_){await kr(_)?(l.value=w,setTimeout(()=>{l.value===w&&(l.value="")},1500)):Be(t("connect.copyFailed"),"error")}const A=ae(()=>[{key:"openai",title:t("connect.openaiTitle"),text:`export OPENAI_BASE_URL=${d.value}
|
|
335
335
|
export OPENAI_API_KEY=${o.value??""}`},{key:"responses",title:t("connect.responsesExportTitle"),text:`export OPENAI_BASE_URL=${f.value}
|
|
336
336
|
export OPENAI_API_KEY=${o.value??""}`},{key:"anthropic",title:t("connect.anthropicTitle"),text:`export ANTHROPIC_BASE_URL=${p.value}
|
|
337
337
|
export ANTHROPIC_API_KEY=${o.value??""}`},{key:"curl",title:t("connect.curlTitle"),text:`curl ${d.value}/chat/completions \\
|
|
@@ -343,4 +343,4 @@ export ANTHROPIC_API_KEY=${o.value??""}`},{key:"curl",title:t("connect.curlTitle
|
|
|
343
343
|
-d '{"model":"${S("anthropic")}","max_tokens":16,"messages":[{"role":"user","content":"hi"}]}'`},{key:"curl-responses",title:t("connect.responsesTitle"),text:`curl ${f.value}/responses \\
|
|
344
344
|
-H "Authorization: Bearer ${o.value??""}" \\
|
|
345
345
|
-H "Content-Type: application/json" \\
|
|
346
|
-
-d '{"model":"${S("responses")}","input":"hi"}'`}]);return rt(y),(w,_)=>(h(),B("div",CP,[m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Om),{class:"h-4 w-4 text-primary"}),j(" "+v(r(t)("connect.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("connect.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[b("div",SP,[b("div",{class:ge(["flex items-center justify-between gap-3 rounded-lg border p-3",[r(ct).openai.border,r(ct).openai.soft]])},[b("div",$P,[b("div",{class:ge(["flex items-center gap-1.5 text-xs font-medium",r(ct).openai.text])},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct).openai.solid])},null,2),j(" "+v(r(t)("connect.baseUrlOpenai")),1)],2),b("div",TP,v(d.value),1)]),m(r(ke),{variant:"outline",size:"sm",onClick:_[0]||(_[0]=P=>$("url-openai",d.value))},{default:g(()=>[l.value==="url-openai"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="url-openai"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})],2),b("div",{class:ge(["flex items-center justify-between gap-3 rounded-lg border p-3",[r(ct).responses.border,r(ct).responses.soft]])},[b("div",AP,[b("div",{class:ge(["flex items-center gap-1.5 text-xs font-medium",r(ct).responses.text])},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct).responses.solid])},null,2),j(" "+v(r(t)("connect.baseUrlResponses")),1)],2),b("div",EP,v(f.value),1)]),m(r(ke),{variant:"outline",size:"sm",onClick:_[1]||(_[1]=P=>$("url-responses",f.value))},{default:g(()=>[l.value==="url-responses"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="url-responses"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})],2),b("div",{class:ge(["flex items-center justify-between gap-3 rounded-lg border p-3",[r(ct).anthropic.border,r(ct).anthropic.soft]])},[b("div",OP,[b("div",{class:ge(["flex items-center gap-1.5 text-xs font-medium",r(ct).anthropic.text])},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct).anthropic.solid])},null,2),j(" "+v(r(t)("connect.baseUrlAnthropic")),1)],2),b("div",PP,v(p.value),1)]),m(r(ke),{variant:"outline",size:"sm",onClick:_[2]||(_[2]=P=>$("url-anthropic",p.value))},{default:g(()=>[l.value==="url-anthropic"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="url-anthropic"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})],2)]),b("p",MP,v(r(t)("connect.note")),1),b("div",IP,[b("div",RP,[b("div",LP,v(r(t)("connect.apiKey")),1),b("div",DP,v(o.value?i.value?o.value:"•".repeat(Math.min(o.value.length,24)):"…"),1)]),b("div",NP,[m(r(ke),{variant:"ghost",size:"icon",title:i.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":i.value?r(t)("connect.hide"):r(t)("connect.reveal"),onClick:_[3]||(_[3]=P=>i.value=!i.value)},{default:g(()=>[i.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"]),m(r(ke),{variant:"outline",size:"sm",onClick:_[4]||(_[4]=P=>$("key",o.value??""))},{default:g(()=>[l.value==="key"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="key"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})])])]),_:1})]),_:1}),(h(!0),B(me,null,Pe(A.value,P=>(h(),z(r(Vt),{key:P.key},{default:g(()=>[m(r(zn),{class:"flex flex-row items-center justify-between space-y-0"},{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-sm font-medium"},{default:g(()=>{var x;return[s(P.key)?(h(),B("span",{key:0,class:ge(["h-1.5 w-1.5 rounded-full",(x=s(P.key))==null?void 0:x.solid])},null,2)):se("",!0),j(" "+v(P.title),1)]}),_:2},1024),m(r(ke),{variant:"ghost",size:"sm",onClick:x=>$(P.key,P.text)},{default:g(()=>[l.value===P.key?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value===P.key?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:2},1032,["onClick"])]),_:2},1024),m(r(en),null,{default:g(()=>[b("pre",FP,v(P.text),1)]),_:2},1024)]),_:2},1024))),128))]))}}),BP={class:"max-w-xl space-y-4"},VP={class:"space-y-1.5"},UP={class:"flex items-center justify-between gap-3 rounded-lg border p-3"},HP={class:"min-w-0 truncate font-mono text-sm"},jP={class:"flex items-center gap-1"},zP={class:"space-y-3"},WP={class:"space-y-1.5"},KP={class:"space-y-1.5"},GP={class:"space-y-1.5"},YP={key:0,class:"text-sm text-destructive"},XP={class:"flex justify-end"},JP={class:"flex items-center justify-between gap-3 rounded-lg border border-primary/40 bg-primary/5 p-3"},QP={class:"min-w-0 truncate font-mono text-sm"},ZP={class:"flex items-center gap-1"},e3={class:"flex justify-end"},t3={class:"flex items-center justify-between gap-3 rounded-lg border p-3"},n3={class:"min-w-0 truncate font-mono text-sm"},s3=re({__name:"Settings",setup(e){const{t}=pt(),n=K(null),s=K(""),o=K(""),a=K(""),l=K(!1),i=K(!1),u=K(""),c=K(null),d=K(!1),f=K(!1),p=K(!1),y=K(null),S=K(""),$=ae(()=>{var R;return((R=n.value)==null?void 0:R.password)??""}),A=ae(()=>{const R=y.value;return R?[{key:"datadir",label:t("settings.storage.dataDir"),value:R.dataDir},{key:"datafile",label:t("settings.storage.dataFile"),value:R.dataFile},{key:"logsfile",label:t("settings.storage.logsFile"),value:R.logsFile}]:[]});async function w(){try{const[R,E,F]=await Promise.all([Ve("GET","/admin/account"),Ve("GET","/admin/api-key"),Ve("GET","/admin/storage")]);n.value=R,s.value=R.username,c.value=E.apiKey,y.value=F}catch(R){Be(R.message,"error")}}async function _(R,E){await kr(E)?(S.value=R,setTimeout(()=>{S.value===R&&(S.value="")},1500)):Be(t("connect.copyFailed"),"error")}function P(){if(!s.value.trim())return t("settings.errUserShort");if(o.value){if(o.value.length<8)return t("settings.errPassShort");if(o.value!==a.value)return t("settings.errPassMismatch")}return null}async function x(){var F,H;if(i.value)return;u.value="";const R=P();if(R){u.value=R;return}i.value=!0;const E={username:s.value.trim()};o.value&&(E.password=o.value);try{await Ve("PUT","/admin/account",E);const X=o.value||((F=n.value)==null?void 0:F.password)||((H=ua())==null?void 0:H.pass)||"",Z=s.value.trim();_p(Z,X),n.value={username:Z,password:X},o.value="",a.value="",Be(t("settings.saved"),"success")}catch(X){u.value=X.message}finally{i.value=!1}}async function U(){if(!f.value){f.value=!0;try{const R=await Ve("POST","/admin/api-key/rotate");c.value=R.apiKey,Be(t("settings.apikey.rotated"),"success"),p.value=!1}catch(R){Be(R.message,"error")}finally{f.value=!1}}}return rt(w),(R,E)=>(h(),B("div",BP,[m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Gk),{class:"h-4 w-4 text-primary"}),j(v(r(t)("settings.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("settings.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-4"},{default:g(()=>[b("div",VP,[m(r(ht),null,{default:g(()=>[j(v(r(t)("settings.loginPassword")),1)]),_:1}),b("div",UP,[b("div",HP,v(n.value?l.value?$.value:"•".repeat(Math.min($.value.length,24)):"…"),1),b("div",jP,[m(r(ke),{variant:"ghost",size:"icon",title:l.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":l.value?r(t)("connect.hide"):r(t)("connect.reveal"),onClick:E[0]||(E[0]=F=>l.value=!l.value)},{default:g(()=>[l.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"]),m(r(ke),{variant:"outline",size:"sm",onClick:E[1]||(E[1]=F=>_("pass",$.value))},{default:g(()=>[S.value==="pass"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(S.value==="pass"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})])])]),b("div",zP,[b("div",WP,[m(r(ht),{for:"username"},{default:g(()=>[j(v(r(t)("settings.username")),1)]),_:1}),m(r(mt),{id:"username",modelValue:s.value,"onUpdate:modelValue":E[2]||(E[2]=F=>s.value=F),autocomplete:"username"},null,8,["modelValue"])]),b("div",KP,[m(r(ht),{for:"newpass"},{default:g(()=>[j(v(r(t)("settings.newPassword")),1)]),_:1}),m(r(mt),{id:"newpass",modelValue:o.value,"onUpdate:modelValue":E[3]||(E[3]=F=>o.value=F),type:"password",placeholder:r(t)("settings.newPasswordPh"),autocomplete:"new-password"},null,8,["modelValue","placeholder"])]),b("div",GP,[m(r(ht),{for:"confirmpass"},{default:g(()=>[j(v(r(t)("settings.confirmPassword")),1)]),_:1}),m(r(mt),{id:"confirmpass",modelValue:a.value,"onUpdate:modelValue":E[4]||(E[4]=F=>a.value=F),type:"password",placeholder:r(t)("settings.confirmPh"),autocomplete:"new-password"},null,8,["modelValue","placeholder"])]),u.value?(h(),B("p",YP,v(u.value),1)):se("",!0),b("div",XP,[m(r(ke),{disabled:i.value,onClick:x},{default:g(()=>[i.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(i.value?r(t)("settings.saving"):r(t)("settings.save")),1)]),_:1},8,["disabled"])])])]),_:1})]),_:1}),m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Dk),{class:"h-4 w-4 text-primary"}),j(v(r(t)("settings.apikey.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("settings.apikey.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[b("div",JP,[b("div",QP,v(c.value?d.value?c.value:"•".repeat(Math.min(c.value.length,24)):"…"),1),b("div",ZP,[m(r(ke),{variant:"ghost",size:"icon",title:d.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":d.value?r(t)("connect.hide"):r(t)("connect.reveal"),onClick:E[5]||(E[5]=F=>d.value=!d.value)},{default:g(()=>[d.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"]),m(r(ke),{variant:"outline",size:"sm",onClick:E[6]||(E[6]=F=>_("apikey",c.value??""))},{default:g(()=>[S.value==="apikey"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(S.value==="apikey"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})])]),b("div",e3,[m(r(ke),{variant:"outline",disabled:f.value,onClick:E[7]||(E[7]=F=>p.value=!0)},{default:g(()=>[m(r(jk),{class:"h-4 w-4"}),j(" "+v(r(t)("settings.apikey.rotate")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1}),m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Lk),{class:"h-4 w-4 text-primary"}),j(v(r(t)("settings.storage.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("settings.storage.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[(h(!0),B(me,null,Pe(A.value,F=>(h(),B("div",{key:F.key,class:"space-y-1.5"},[m(r(ht),null,{default:g(()=>[j(v(F.label),1)]),_:2},1024),b("div",t3,[b("div",n3,v(F.value),1),m(r(ke),{variant:"outline",size:"sm",onClick:H=>_(F.key,F.value)},{default:g(()=>[S.value===F.key?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(S.value===F.key?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:2},1032,["onClick"])])]))),128))]),_:1})]),_:1}),m(fu,{open:p.value,"onUpdate:open":E[8]||(E[8]=F=>p.value=F),variant:"destructive",title:r(t)("settings.apikey.rotateTitle"),description:r(t)("settings.apikey.rotateDesc"),"confirm-text":r(t)("settings.apikey.rotateConfirm"),loading:f.value,onConfirm:U},null,8,["open","title","description","confirm-text","loading"])]))}}),o3=["width","height"],_d=re({__name:"Logo",props:{size:{default:28}},setup(e){return(t,n)=>(h(),B("svg",{width:e.size,height:e.size,viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"MyAPIKey"},[...n[0]||(n[0]=[Sg('<defs><linearGradient id="myapikey-logo" x1="0" y1="0" x2="40" y2="40" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f59e0b"></stop><stop offset="0.33" stop-color="#f97316"></stop><stop offset="0.67" stop-color="#ef4444"></stop><stop offset="1" stop-color="#ec4899"></stop></linearGradient></defs><rect width="40" height="40" rx="10" fill="url(#myapikey-logo)"></rect><g stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="16.5" r="4.6"></circle><path d="M19.6 16.5 H31.5 M26.5 16.5 V20.8 M31.5 16.5 V19.5"></path></g><path d="M6 28 Q9.5 25 13 28 T20 28 T27 28 T34 28" stroke="#fff" stroke-width="2.8" stroke-linecap="round" opacity="0.9"></path>',4)])],8,o3))}}),r3=re({__name:"Tabs",props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t;return(o,a)=>(h(),z(r(vk),{"default-value":n.defaultValue,"model-value":n.modelValue,"onUpdate:modelValue":a[0]||(a[0]=l=>s("update:modelValue",l)),class:ge(r(Ge)(n.class))},{default:g(()=>[ce(o.$slots,"default")]),_:3},8,["default-value","model-value","class"]))}}),a3=re({__name:"TabsList",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(xk),{class:ge(r(Ge)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["class"]))}}),eo=re({__name:"TabsTrigger",props:{value:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(kk),{value:t.value,class:ge(r(Ge)("inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["value","class"]))}}),to=re({__name:"TabsContent",props:{value:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(bk),{value:t.value,tabindex:"-1",class:ge(r(Ge)("mt-4 ring-offset-background focus-visible:outline-none",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["value","class"]))}}),l3={class:"pointer-events-none fixed inset-x-0 bottom-0 z-50 flex flex-col items-center gap-2 p-4 sm:items-end"},i3={class:"flex-1 text-sm"},u3=["aria-label","onClick"],c3=re({__name:"Toaster",setup(e){const{t}=pt(),n=Bb(),s={success:Pk,error:Ok,default:cu};return(o,a)=>(h(),z(br,{to:"body"},[b("div",l3,[m(Vf,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2","leave-active-class":"transition duration-150 ease-in absolute","leave-to-class":"opacity-0 translate-y-2 sm:translate-y-0 sm:translate-x-2"},{default:g(()=>[(h(!0),B(me,null,Pe(r(n),l=>(h(),B("div",{key:l.id,class:ge(["pointer-events-auto flex w-full max-w-sm items-start gap-2.5 rounded-lg border p-3 shadow-lg backdrop-blur",l.variant==="error"?"border-destructive/40 bg-destructive/10 text-destructive":l.variant==="success"?"border-emerald-500/40 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"border-border bg-popover/95 text-popover-foreground"]),role:"status","aria-live":"polite"},[(h(),z(_r(s[l.variant]),{class:"mt-0.5 h-4 w-4 shrink-0"})),b("p",i3,v(l.message),1),b("button",{class:"shrink-0 rounded-sm opacity-60 transition-opacity hover:opacity-100","aria-label":r(t)("common.dismiss"),onClick:i=>r(kp)(l.id)},[m(r(Eo),{class:"h-4 w-4"})],8,u3)],2))),128))]),_:1})])]))}}),d3={key:0,class:"flex min-h-screen items-center justify-center text-muted-foreground"},f3={key:1,class:"flex min-h-screen items-center justify-center p-4"},p3={class:"space-y-1.5"},m3={class:"space-y-1.5"},h3={class:"relative"},g3={key:0,class:"text-sm text-destructive"},v3={key:2,class:"min-h-screen"},y3={class:"sticky top-0 z-10 border-b bg-background/80 backdrop-blur"},b3={class:"mx-auto flex h-14 max-w-5xl items-center justify-between px-4"},_3={class:"flex items-center gap-2 font-semibold tracking-tight"},x3={class:"flex items-center gap-1"},w3={class:"mx-auto max-w-5xl px-4 py-6"},k3=re({__name:"App",setup(e){const{t,locale:n}=pt(),s=K(!1),o=K(""),a=K(""),l=K(""),i=K(!0),u=K(!1),c=K(!1),d=K(!0),f=K("models");function p(_){d.value=_,document.documentElement.classList.toggle("dark",_),localStorage.setItem("myapikey.theme",_?"dark":"light")}function y(){p(!d.value)}function S(){Db(n.value==="zh"?"en":"zh")}const $=ae(()=>n.value==="zh"?"English":"中文");async function A(){if(!u.value){l.value="",u.value=!0,_p(o.value,a.value);try{await Ve("GET","/admin/providers"),s.value=!0}catch(_){const P=_.message;l.value=/fetch|network/i.test(P)?t("login.errNetwork"):t("login.errInvalid"),yl()}finally{u.value=!1}}}function w(){yl(),s.value=!1,o.value="",a.value=""}return rt(async()=>{const _=localStorage.getItem("myapikey.theme");if(p(_?_==="dark":!0),ua())try{await Ve("GET","/admin/providers"),s.value=!0,o.value=ua().user}catch{yl()}i.value=!1}),(_,P)=>(h(),B(me,null,[i.value?(h(),B("div",d3,v(r(t)("app.connecting")),1)):s.value?(h(),B("div",v3,[b("header",y3,[b("div",b3,[b("div",_3,[m(_d,{size:26}),P[7]||(P[7]=j(" MyAPIKey ",-1))]),b("div",x3,[m(r(ke),{variant:"ghost",size:"sm",title:$.value,onClick:S},{default:g(()=>[m(r(Nk),{class:"h-4 w-4"}),j(v($.value),1)]),_:1},8,["title"]),m(r(ke),{variant:"ghost",size:"icon",title:d.value?r(t)("app.toLight"):r(t)("app.toDark"),onClick:y},{default:g(()=>[d.value?(h(),z(r(Kk),{key:0,class:"h-4 w-4"})):(h(),z(r(qk),{key:1,class:"h-4 w-4"}))]),_:1},8,["title"]),m(r(ke),{variant:"ghost",size:"sm",onClick:w},{default:g(()=>[m(r(Fk),{class:"h-4 w-4"}),j(v(r(t)("app.signOut")),1)]),_:1})])])]),b("main",w3,[m(r(r3),{modelValue:f.value,"onUpdate:modelValue":P[5]||(P[5]=x=>f.value=x)},{default:g(()=>[m(r(a3),{class:"mb-2"},{default:g(()=>[m(r(eo),{value:"models"},{default:g(()=>[m(r(Am),{class:"h-4 w-4"}),j(v(r(t)("nav.models")),1)]),_:1}),m(r(eo),{value:"sources"},{default:g(()=>[m(r(ko),{class:"h-4 w-4"}),j(v(r(t)("nav.sources")),1)]),_:1}),m(r(eo),{value:"connect"},{default:g(()=>[m(r(Om),{class:"h-4 w-4"}),j(v(r(t)("nav.connect")),1)]),_:1}),m(r(eo),{value:"logs"},{default:g(()=>[m(r(Sm),{class:"h-4 w-4"}),j(v(r(t)("nav.logs")),1)]),_:1}),m(r(eo),{value:"stats"},{default:g(()=>[m(r($m),{class:"h-4 w-4"}),j(v(r(t)("nav.stats")),1)]),_:1}),m(r(eo),{value:"settings"},{default:g(()=>[m(r(Wk),{class:"h-4 w-4"}),j(v(r(t)("nav.settings")),1)]),_:1})]),_:1}),m(r(to),{value:"models"},{default:g(()=>[m(rT,{onGoto:P[3]||(P[3]=x=>f.value=x)})]),_:1}),m(r(to),{value:"sources"},{default:g(()=>[m(ZA,{onGoto:P[4]||(P[4]=x=>f.value=x)})]),_:1}),m(r(to),{value:"connect"},{default:g(()=>[m(qP)]),_:1}),m(r(to),{value:"logs"},{default:g(()=>[m(lO)]),_:1}),m(r(to),{value:"stats"},{default:g(()=>[m(kP)]),_:1}),m(r(to),{value:"settings"},{default:g(()=>[m(s3)]),_:1})]),_:1},8,["modelValue"])])])):(h(),B("div",f3,[m(r(Vt),{class:"w-full max-w-sm"},{default:g(()=>[m(r(zn),{class:"space-y-3 text-center"},{default:g(()=>[m(_d,{size:44,class:"mx-auto"}),m(r(Wn),{class:"text-xl"},{default:g(()=>[...P[6]||(P[6]=[j("MyAPIKey",-1)])]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("login.subtitle")),1)]),_:1})]),_:1}),m(r(en),null,{default:g(()=>[b("form",{class:"space-y-3",onSubmit:Ie(A,["prevent"])},[b("div",p3,[m(r(ht),{for:"u"},{default:g(()=>[j(v(r(t)("login.username")),1)]),_:1}),m(r(mt),{id:"u",modelValue:o.value,"onUpdate:modelValue":P[0]||(P[0]=x=>o.value=x),autocomplete:"username",autofocus:""},null,8,["modelValue"])]),b("div",m3,[m(r(ht),{for:"p"},{default:g(()=>[j(v(r(t)("login.password")),1)]),_:1}),b("div",h3,[m(r(mt),{id:"p",modelValue:a.value,"onUpdate:modelValue":P[1]||(P[1]=x=>a.value=x),type:c.value?"text":"password",autocomplete:"current-password",class:"pr-9"},null,8,["modelValue","type"]),m(r(ke),{type:"button",variant:"ghost",size:"icon",class:"absolute right-1 top-1 h-7 w-7 text-muted-foreground",title:c.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":c.value?r(t)("connect.hide"):r(t)("connect.reveal"),tabindex:"-1",onClick:P[2]||(P[2]=x=>c.value=!c.value)},{default:g(()=>[c.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"])])]),m(r(ke),{type:"submit",class:"w-full",disabled:u.value},{default:g(()=>[u.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(u.value?r(t)("common.loading"):r(t)("login.signIn")),1)]),_:1},8,["disabled"]),l.value?(h(),B("p",g3,v(l.value),1)):se("",!0)],32)]),_:1})]),_:1})])),m(c3)],64))}});bv(k3).use(wp).mount("#app");
|
|
346
|
+
-d '{"model":"${S("responses")}","input":"hi"}'`}]);return rt(y),(w,_)=>(h(),B("div",SP,[m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Om),{class:"h-4 w-4 text-primary"}),j(" "+v(r(t)("connect.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("connect.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[b("div",$P,[b("div",{class:ge(["flex items-center justify-between gap-3 rounded-lg border p-3",[r(ct).openai.border,r(ct).openai.soft]])},[b("div",TP,[b("div",{class:ge(["flex items-center gap-1.5 text-xs font-medium",r(ct).openai.text])},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct).openai.solid])},null,2),j(" "+v(r(t)("connect.baseUrlOpenai")),1)],2),b("div",AP,v(d.value),1)]),m(r(ke),{variant:"outline",size:"sm",onClick:_[0]||(_[0]=P=>$("url-openai",d.value))},{default:g(()=>[l.value==="url-openai"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="url-openai"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})],2),b("div",{class:ge(["flex items-center justify-between gap-3 rounded-lg border p-3",[r(ct).responses.border,r(ct).responses.soft]])},[b("div",EP,[b("div",{class:ge(["flex items-center gap-1.5 text-xs font-medium",r(ct).responses.text])},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct).responses.solid])},null,2),j(" "+v(r(t)("connect.baseUrlResponses")),1)],2),b("div",OP,v(f.value),1)]),m(r(ke),{variant:"outline",size:"sm",onClick:_[1]||(_[1]=P=>$("url-responses",f.value))},{default:g(()=>[l.value==="url-responses"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="url-responses"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})],2),b("div",{class:ge(["flex items-center justify-between gap-3 rounded-lg border p-3",[r(ct).anthropic.border,r(ct).anthropic.soft]])},[b("div",PP,[b("div",{class:ge(["flex items-center gap-1.5 text-xs font-medium",r(ct).anthropic.text])},[b("span",{class:ge(["h-1.5 w-1.5 rounded-full",r(ct).anthropic.solid])},null,2),j(" "+v(r(t)("connect.baseUrlAnthropic")),1)],2),b("div",MP,v(p.value),1)]),m(r(ke),{variant:"outline",size:"sm",onClick:_[2]||(_[2]=P=>$("url-anthropic",p.value))},{default:g(()=>[l.value==="url-anthropic"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="url-anthropic"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})],2)]),b("p",IP,v(r(t)("connect.note")),1),b("div",RP,[b("div",LP,[b("div",DP,v(r(t)("connect.apiKey")),1),b("div",NP,v(o.value?i.value?o.value:"•".repeat(Math.min(o.value.length,24)):"…"),1)]),b("div",FP,[m(r(ke),{variant:"ghost",size:"icon",title:i.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":i.value?r(t)("connect.hide"):r(t)("connect.reveal"),onClick:_[3]||(_[3]=P=>i.value=!i.value)},{default:g(()=>[i.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"]),m(r(ke),{variant:"outline",size:"sm",onClick:_[4]||(_[4]=P=>$("key",o.value??""))},{default:g(()=>[l.value==="key"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value==="key"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})])])]),_:1})]),_:1}),(h(!0),B(me,null,Pe(A.value,P=>(h(),z(r(Vt),{key:P.key},{default:g(()=>[m(r(zn),{class:"flex flex-row items-center justify-between space-y-0"},{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-sm font-medium"},{default:g(()=>{var x;return[s(P.key)?(h(),B("span",{key:0,class:ge(["h-1.5 w-1.5 rounded-full",(x=s(P.key))==null?void 0:x.solid])},null,2)):se("",!0),j(" "+v(P.title),1)]}),_:2},1024),m(r(ke),{variant:"ghost",size:"sm",onClick:x=>$(P.key,P.text)},{default:g(()=>[l.value===P.key?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(l.value===P.key?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:2},1032,["onClick"])]),_:2},1024),m(r(en),null,{default:g(()=>[b("pre",qP,v(P.text),1)]),_:2},1024)]),_:2},1024))),128))]))}}),VP={class:"max-w-xl space-y-4"},UP={class:"space-y-1.5"},HP={class:"flex items-center justify-between gap-3 rounded-lg border p-3"},jP={class:"min-w-0 truncate font-mono text-sm"},zP={class:"flex items-center gap-1"},WP={class:"space-y-3"},KP={class:"space-y-1.5"},GP={class:"space-y-1.5"},YP={class:"space-y-1.5"},XP={key:0,class:"text-sm text-destructive"},JP={class:"flex justify-end"},QP={class:"flex items-center justify-between gap-3 rounded-lg border border-primary/40 bg-primary/5 p-3"},ZP={class:"min-w-0 truncate font-mono text-sm"},e3={class:"flex items-center gap-1"},t3={class:"flex justify-end"},n3={class:"flex items-center justify-between gap-3 rounded-lg border p-3"},s3={class:"min-w-0 truncate font-mono text-sm"},o3=re({__name:"Settings",setup(e){const{t}=pt(),n=K(null),s=K(""),o=K(""),a=K(""),l=K(!1),i=K(!1),u=K(""),c=K(null),d=K(!1),f=K(!1),p=K(!1),y=K(null),S=K(""),$=ae(()=>{var R;return((R=n.value)==null?void 0:R.password)??""}),A=ae(()=>{const R=y.value;return R?[{key:"datadir",label:t("settings.storage.dataDir"),value:R.dataDir},{key:"datafile",label:t("settings.storage.dataFile"),value:R.dataFile},{key:"logsfile",label:t("settings.storage.logsFile"),value:R.logsFile}]:[]});async function w(){try{const[R,E,F]=await Promise.all([Ve("GET","/admin/account"),Ve("GET","/admin/api-key"),Ve("GET","/admin/storage")]);n.value=R,s.value=R.username,c.value=E.apiKey,y.value=F}catch(R){Be(R.message,"error")}}async function _(R,E){await kr(E)?(S.value=R,setTimeout(()=>{S.value===R&&(S.value="")},1500)):Be(t("connect.copyFailed"),"error")}function P(){if(!s.value.trim())return t("settings.errUserShort");if(o.value){if(o.value.length<8)return t("settings.errPassShort");if(o.value!==a.value)return t("settings.errPassMismatch")}return null}async function x(){var F,H;if(i.value)return;u.value="";const R=P();if(R){u.value=R;return}i.value=!0;const E={username:s.value.trim()};o.value&&(E.password=o.value);try{await Ve("PUT","/admin/account",E);const X=o.value||((F=n.value)==null?void 0:F.password)||((H=ua())==null?void 0:H.pass)||"",Z=s.value.trim();_p(Z,X),n.value={username:Z,password:X},o.value="",a.value="",Be(t("settings.saved"),"success")}catch(X){u.value=X.message}finally{i.value=!1}}async function U(){if(!f.value){f.value=!0;try{const R=await Ve("POST","/admin/api-key/rotate");c.value=R.apiKey,Be(t("settings.apikey.rotated"),"success"),p.value=!1}catch(R){Be(R.message,"error")}finally{f.value=!1}}}return rt(w),(R,E)=>(h(),B("div",VP,[m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Gk),{class:"h-4 w-4 text-primary"}),j(v(r(t)("settings.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("settings.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-4"},{default:g(()=>[b("div",UP,[m(r(ht),null,{default:g(()=>[j(v(r(t)("settings.loginPassword")),1)]),_:1}),b("div",HP,[b("div",jP,v(n.value?l.value?$.value:"•".repeat(Math.min($.value.length,24)):"…"),1),b("div",zP,[m(r(ke),{variant:"ghost",size:"icon",title:l.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":l.value?r(t)("connect.hide"):r(t)("connect.reveal"),onClick:E[0]||(E[0]=F=>l.value=!l.value)},{default:g(()=>[l.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"]),m(r(ke),{variant:"outline",size:"sm",onClick:E[1]||(E[1]=F=>_("pass",$.value))},{default:g(()=>[S.value==="pass"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(S.value==="pass"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})])])]),b("div",WP,[b("div",KP,[m(r(ht),{for:"username"},{default:g(()=>[j(v(r(t)("settings.username")),1)]),_:1}),m(r(mt),{id:"username",modelValue:s.value,"onUpdate:modelValue":E[2]||(E[2]=F=>s.value=F),autocomplete:"username"},null,8,["modelValue"])]),b("div",GP,[m(r(ht),{for:"newpass"},{default:g(()=>[j(v(r(t)("settings.newPassword")),1)]),_:1}),m(r(mt),{id:"newpass",modelValue:o.value,"onUpdate:modelValue":E[3]||(E[3]=F=>o.value=F),type:"password",placeholder:r(t)("settings.newPasswordPh"),autocomplete:"new-password"},null,8,["modelValue","placeholder"])]),b("div",YP,[m(r(ht),{for:"confirmpass"},{default:g(()=>[j(v(r(t)("settings.confirmPassword")),1)]),_:1}),m(r(mt),{id:"confirmpass",modelValue:a.value,"onUpdate:modelValue":E[4]||(E[4]=F=>a.value=F),type:"password",placeholder:r(t)("settings.confirmPh"),autocomplete:"new-password"},null,8,["modelValue","placeholder"])]),u.value?(h(),B("p",XP,v(u.value),1)):se("",!0),b("div",JP,[m(r(ke),{disabled:i.value,onClick:x},{default:g(()=>[i.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(i.value?r(t)("settings.saving"):r(t)("settings.save")),1)]),_:1},8,["disabled"])])])]),_:1})]),_:1}),m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Dk),{class:"h-4 w-4 text-primary"}),j(v(r(t)("settings.apikey.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("settings.apikey.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[b("div",QP,[b("div",ZP,v(c.value?d.value?c.value:"•".repeat(Math.min(c.value.length,24)):"…"),1),b("div",e3,[m(r(ke),{variant:"ghost",size:"icon",title:d.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":d.value?r(t)("connect.hide"):r(t)("connect.reveal"),onClick:E[5]||(E[5]=F=>d.value=!d.value)},{default:g(()=>[d.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"]),m(r(ke),{variant:"outline",size:"sm",onClick:E[6]||(E[6]=F=>_("apikey",c.value??""))},{default:g(()=>[S.value==="apikey"?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(S.value==="apikey"?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:1})])]),b("div",t3,[m(r(ke),{variant:"outline",disabled:f.value,onClick:E[7]||(E[7]=F=>p.value=!0)},{default:g(()=>[m(r(jk),{class:"h-4 w-4"}),j(" "+v(r(t)("settings.apikey.rotate")),1)]),_:1},8,["disabled"])])]),_:1})]),_:1}),m(r(Vt),null,{default:g(()=>[m(r(zn),null,{default:g(()=>[m(r(Wn),{class:"flex items-center gap-2 text-base"},{default:g(()=>[m(r(Lk),{class:"h-4 w-4 text-primary"}),j(v(r(t)("settings.storage.title")),1)]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("settings.storage.desc")),1)]),_:1})]),_:1}),m(r(en),{class:"space-y-3"},{default:g(()=>[(h(!0),B(me,null,Pe(A.value,F=>(h(),B("div",{key:F.key,class:"space-y-1.5"},[m(r(ht),null,{default:g(()=>[j(v(F.label),1)]),_:2},1024),b("div",n3,[b("div",s3,v(F.value),1),m(r(ke),{variant:"outline",size:"sm",onClick:H=>_(F.key,F.value)},{default:g(()=>[S.value===F.key?(h(),z(r(Qt),{key:0,class:"h-4 w-4"})):(h(),z(r(rn),{key:1,class:"h-4 w-4"})),j(" "+v(S.value===F.key?r(t)("connect.copied"):r(t)("connect.copy")),1)]),_:2},1032,["onClick"])])]))),128))]),_:1})]),_:1}),m(fu,{open:p.value,"onUpdate:open":E[8]||(E[8]=F=>p.value=F),variant:"destructive",title:r(t)("settings.apikey.rotateTitle"),description:r(t)("settings.apikey.rotateDesc"),"confirm-text":r(t)("settings.apikey.rotateConfirm"),loading:f.value,onConfirm:U},null,8,["open","title","description","confirm-text","loading"])]))}}),r3=["width","height"],_d=re({__name:"Logo",props:{size:{default:28}},setup(e){return(t,n)=>(h(),B("svg",{width:e.size,height:e.size,viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",role:"img","aria-label":"MyAPIKey"},[...n[0]||(n[0]=[Sg('<defs><linearGradient id="myapikey-logo" x1="0" y1="0" x2="40" y2="40" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f59e0b"></stop><stop offset="0.33" stop-color="#f97316"></stop><stop offset="0.67" stop-color="#ef4444"></stop><stop offset="1" stop-color="#ec4899"></stop></linearGradient></defs><rect width="40" height="40" rx="10" fill="url(#myapikey-logo)"></rect><g stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><circle cx="14" cy="16.5" r="4.6"></circle><path d="M19.6 16.5 H31.5 M26.5 16.5 V20.8 M31.5 16.5 V19.5"></path></g><path d="M6 28 Q9.5 25 13 28 T20 28 T27 28 T34 28" stroke="#fff" stroke-width="2.8" stroke-linecap="round" opacity="0.9"></path>',4)])],8,r3))}}),a3=re({__name:"Tabs",props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,s=t;return(o,a)=>(h(),z(r(vk),{"default-value":n.defaultValue,"model-value":n.modelValue,"onUpdate:modelValue":a[0]||(a[0]=l=>s("update:modelValue",l)),class:ge(r(Ge)(n.class))},{default:g(()=>[ce(o.$slots,"default")]),_:3},8,["default-value","model-value","class"]))}}),l3=re({__name:"TabsList",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(xk),{class:ge(r(Ge)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["class"]))}}),eo=re({__name:"TabsTrigger",props:{value:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(kk),{value:t.value,class:ge(r(Ge)("inline-flex items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["value","class"]))}}),to=re({__name:"TabsContent",props:{value:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,s)=>(h(),z(r(bk),{value:t.value,tabindex:"-1",class:ge(r(Ge)("mt-4 ring-offset-background focus-visible:outline-none",t.class))},{default:g(()=>[ce(n.$slots,"default")]),_:3},8,["value","class"]))}}),i3={class:"pointer-events-none fixed inset-x-0 bottom-0 z-50 flex flex-col items-center gap-2 p-4 sm:items-end"},u3={class:"flex-1 text-sm"},c3=["aria-label","onClick"],d3=re({__name:"Toaster",setup(e){const{t}=pt(),n=Bb(),s={success:Pk,error:Ok,default:cu};return(o,a)=>(h(),z(br,{to:"body"},[b("div",i3,[m(Vf,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"translate-y-2 opacity-0 sm:translate-y-0 sm:translate-x-2","leave-active-class":"transition duration-150 ease-in absolute","leave-to-class":"opacity-0 translate-y-2 sm:translate-y-0 sm:translate-x-2"},{default:g(()=>[(h(!0),B(me,null,Pe(r(n),l=>(h(),B("div",{key:l.id,class:ge(["pointer-events-auto flex w-full max-w-sm items-start gap-2.5 rounded-lg border p-3 shadow-lg backdrop-blur",l.variant==="error"?"border-destructive/40 bg-destructive/10 text-destructive":l.variant==="success"?"border-emerald-500/40 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"border-border bg-popover/95 text-popover-foreground"]),role:"status","aria-live":"polite"},[(h(),z(_r(s[l.variant]),{class:"mt-0.5 h-4 w-4 shrink-0"})),b("p",u3,v(l.message),1),b("button",{class:"shrink-0 rounded-sm opacity-60 transition-opacity hover:opacity-100","aria-label":r(t)("common.dismiss"),onClick:i=>r(kp)(l.id)},[m(r(Eo),{class:"h-4 w-4"})],8,c3)],2))),128))]),_:1})])]))}}),f3={key:0,class:"flex min-h-screen items-center justify-center text-muted-foreground"},p3={key:1,class:"flex min-h-screen items-center justify-center p-4"},m3={class:"space-y-1.5"},h3={class:"space-y-1.5"},g3={class:"relative"},v3={key:0,class:"text-sm text-destructive"},y3={key:2,class:"min-h-screen"},b3={class:"sticky top-0 z-10 border-b bg-background/80 backdrop-blur"},_3={class:"mx-auto flex h-14 max-w-5xl items-center justify-between px-4"},x3={class:"flex items-center gap-2 font-semibold tracking-tight"},w3={class:"flex items-center gap-1"},k3={class:"mx-auto max-w-5xl px-4 py-6"},C3=re({__name:"App",setup(e){const{t,locale:n}=pt(),s=K(!1),o=K(""),a=K(""),l=K(""),i=K(!0),u=K(!1),c=K(!1),d=K(!0),f=K("models");function p(_){d.value=_,document.documentElement.classList.toggle("dark",_),localStorage.setItem("myapikey.theme",_?"dark":"light")}function y(){p(!d.value)}function S(){Db(n.value==="zh"?"en":"zh")}const $=ae(()=>n.value==="zh"?"English":"中文");async function A(){if(!u.value){l.value="",u.value=!0,_p(o.value,a.value);try{await Ve("GET","/admin/providers"),s.value=!0}catch(_){const P=_.message;l.value=/fetch|network/i.test(P)?t("login.errNetwork"):t("login.errInvalid"),yl()}finally{u.value=!1}}}function w(){yl(),s.value=!1,o.value="",a.value=""}return rt(async()=>{const _=localStorage.getItem("myapikey.theme");if(p(_?_==="dark":!0),ua())try{await Ve("GET","/admin/providers"),s.value=!0,o.value=ua().user}catch{yl()}i.value=!1}),(_,P)=>(h(),B(me,null,[i.value?(h(),B("div",f3,v(r(t)("app.connecting")),1)):s.value?(h(),B("div",y3,[b("header",b3,[b("div",_3,[b("div",x3,[m(_d,{size:26}),P[7]||(P[7]=j(" MyAPIKey ",-1))]),b("div",w3,[m(r(ke),{variant:"ghost",size:"sm",title:$.value,onClick:S},{default:g(()=>[m(r(Nk),{class:"h-4 w-4"}),j(v($.value),1)]),_:1},8,["title"]),m(r(ke),{variant:"ghost",size:"icon",title:d.value?r(t)("app.toLight"):r(t)("app.toDark"),onClick:y},{default:g(()=>[d.value?(h(),z(r(Kk),{key:0,class:"h-4 w-4"})):(h(),z(r(qk),{key:1,class:"h-4 w-4"}))]),_:1},8,["title"]),m(r(ke),{variant:"ghost",size:"sm",onClick:w},{default:g(()=>[m(r(Fk),{class:"h-4 w-4"}),j(v(r(t)("app.signOut")),1)]),_:1})])])]),b("main",k3,[m(r(a3),{modelValue:f.value,"onUpdate:modelValue":P[5]||(P[5]=x=>f.value=x)},{default:g(()=>[m(r(l3),{class:"mb-2"},{default:g(()=>[m(r(eo),{value:"models"},{default:g(()=>[m(r(Am),{class:"h-4 w-4"}),j(v(r(t)("nav.models")),1)]),_:1}),m(r(eo),{value:"sources"},{default:g(()=>[m(r(ko),{class:"h-4 w-4"}),j(v(r(t)("nav.sources")),1)]),_:1}),m(r(eo),{value:"connect"},{default:g(()=>[m(r(Om),{class:"h-4 w-4"}),j(v(r(t)("nav.connect")),1)]),_:1}),m(r(eo),{value:"logs"},{default:g(()=>[m(r(Sm),{class:"h-4 w-4"}),j(v(r(t)("nav.logs")),1)]),_:1}),m(r(eo),{value:"stats"},{default:g(()=>[m(r($m),{class:"h-4 w-4"}),j(v(r(t)("nav.stats")),1)]),_:1}),m(r(eo),{value:"settings"},{default:g(()=>[m(r(Wk),{class:"h-4 w-4"}),j(v(r(t)("nav.settings")),1)]),_:1})]),_:1}),m(r(to),{value:"models"},{default:g(()=>[m(aT,{onGoto:P[3]||(P[3]=x=>f.value=x)})]),_:1}),m(r(to),{value:"sources"},{default:g(()=>[m(eE,{onGoto:P[4]||(P[4]=x=>f.value=x)})]),_:1}),m(r(to),{value:"connect"},{default:g(()=>[m(BP)]),_:1}),m(r(to),{value:"logs"},{default:g(()=>[m(iO)]),_:1}),m(r(to),{value:"stats"},{default:g(()=>[m(CP)]),_:1}),m(r(to),{value:"settings"},{default:g(()=>[m(o3)]),_:1})]),_:1},8,["modelValue"])])])):(h(),B("div",p3,[m(r(Vt),{class:"w-full max-w-sm"},{default:g(()=>[m(r(zn),{class:"space-y-3 text-center"},{default:g(()=>[m(_d,{size:44,class:"mx-auto"}),m(r(Wn),{class:"text-xl"},{default:g(()=>[...P[6]||(P[6]=[j("MyAPIKey",-1)])]),_:1}),m(r(Ns),null,{default:g(()=>[j(v(r(t)("login.subtitle")),1)]),_:1})]),_:1}),m(r(en),null,{default:g(()=>[b("form",{class:"space-y-3",onSubmit:Ie(A,["prevent"])},[b("div",m3,[m(r(ht),{for:"u"},{default:g(()=>[j(v(r(t)("login.username")),1)]),_:1}),m(r(mt),{id:"u",modelValue:o.value,"onUpdate:modelValue":P[0]||(P[0]=x=>o.value=x),autocomplete:"username",autofocus:""},null,8,["modelValue"])]),b("div",h3,[m(r(ht),{for:"p"},{default:g(()=>[j(v(r(t)("login.password")),1)]),_:1}),b("div",g3,[m(r(mt),{id:"p",modelValue:a.value,"onUpdate:modelValue":P[1]||(P[1]=x=>a.value=x),type:c.value?"text":"password",autocomplete:"current-password",class:"pr-9"},null,8,["modelValue","type"]),m(r(ke),{type:"button",variant:"ghost",size:"icon",class:"absolute right-1 top-1 h-7 w-7 text-muted-foreground",title:c.value?r(t)("connect.hide"):r(t)("connect.reveal"),"aria-label":c.value?r(t)("connect.hide"):r(t)("connect.reveal"),tabindex:"-1",onClick:P[2]||(P[2]=x=>c.value=!c.value)},{default:g(()=>[c.value?(h(),z(r(ga),{key:0,class:"h-4 w-4"})):(h(),z(r(va),{key:1,class:"h-4 w-4"}))]),_:1},8,["title","aria-label"])])]),m(r(ke),{type:"submit",class:"w-full",disabled:u.value},{default:g(()=>[u.value?(h(),z(r(vt),{key:0,class:"h-4 w-4 animate-spin"})):se("",!0),j(" "+v(u.value?r(t)("common.loading"):r(t)("login.signIn")),1)]),_:1},8,["disabled"]),l.value?(h(),B("p",v3,v(l.value),1)):se("",!0)],32)]),_:1})]),_:1})])),m(d3)],64))}});bv(C3).use(wp).mount("#app");
|