usage-board 2.0.0 → 2.1.1

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.
@@ -1 +0,0 @@
1
- import{w as j,f as $,d as C,l as M,m as A,n as z,o as B,p as I,q as O,c as v,s as H,v as E,t as V,r as F}from"./Bvg0CuDs.js";import{_ as K,a as q,b as G}from"./B-CIibMz.js";import{_ as L,e as X,k as Y}from"./Brp07rVz.js";import{z as U,o as T,B as h,w as s,a as _,t as c,D as a,b as t,d as n,c as J,Y as Q,X as W,H as Z,ab as ee,O as te,h as r,af as se,ag as oe,ah as ae,ai as ne}from"./BFLIXB9O.js";const le={class:"mb-4 grid grid-cols-1 gap-3 sm:grid-cols-3"},re={class:"rounded-md border px-3 py-2"},ue={class:"mt-1 text-lg font-semibold tabular-nums"},de={class:"rounded-md border px-3 py-2"},me={class:"mt-1 text-lg font-semibold tabular-nums"},ie={class:"rounded-md border px-3 py-2"},ce={class:"mt-1 text-lg font-semibold tabular-nums"},pe=U({name:"UsageAnalyticsSessionUsageTable",__name:"SessionUsageTable",props:{items:{},pageSize:{default:10},productName:{default:"Product"}},setup(o){const d=o,m=te(1),f=r(()=>Math.max(1,Math.ceil(d.items.length/d.pageSize))),w=r(()=>{const e=(Math.min(m.value,f.value)-1)*d.pageSize;return d.items.slice(e,e+d.pageSize)}),y=r(()=>d.items.reduce((u,e)=>u+e.costUSD,0)),b=r(()=>d.items.reduce((u,e)=>u+e.tokenTotal,0));function l(u){return new Intl.DateTimeFormat("en-US",{day:"2-digit",hour:"2-digit",minute:"2-digit",month:"short"}).format(new Date(u))}return(u,e)=>{const i=z,x=A,k=M,g=O,R=L,P=B,D=I,S=X,N=j;return T(),h(N,{description:`Each row maps one ${o.productName} session to its session-level token consumption.`,icon:"lucide:file-json-2",title:`${o.productName} Session Statistics`},{default:s(()=>[_("div",le,[_("div",re,[e[1]||(e[1]=_("p",{class:"text-xs text-muted-foreground"}," Sessions ",-1)),_("p",ue,c(o.items.length),1)]),_("div",de,[e[2]||(e[2]=_("p",{class:"text-xs text-muted-foreground"}," Tokens ",-1)),_("p",me,c(("formatCompactNumber"in u?u.formatCompactNumber:a($))(a(b))),1)]),_("div",ie,[e[3]||(e[3]=_("p",{class:"text-xs text-muted-foreground"}," Spend ",-1)),_("p",ce,c(("formatCurrency"in u?u.formatCurrency:a(C))(a(y))),1)])]),t(D,null,{default:s(()=>[t(k,null,{default:s(()=>[t(x,null,{default:s(()=>[t(i,null,{default:s(()=>[...e[4]||(e[4]=[n("Session ID",-1)])]),_:1}),t(i,null,{default:s(()=>[...e[5]||(e[5]=[n("Project",-1)])]),_:1}),t(i,null,{default:s(()=>[...e[6]||(e[6]=[n("Thread",-1)])]),_:1}),t(i,null,{default:s(()=>[...e[7]||(e[7]=[n("Model",-1)])]),_:1}),t(i,null,{default:s(()=>[...e[8]||(e[8]=[n("Started",-1)])]),_:1}),t(i,{class:"text-right"},{default:s(()=>[...e[9]||(e[9]=[n(" Duration ",-1)])]),_:1}),t(i,{class:"text-right"},{default:s(()=>[...e[10]||(e[10]=[n(" Input ",-1)])]),_:1}),t(i,{class:"text-right"},{default:s(()=>[...e[11]||(e[11]=[n(" Output ",-1)])]),_:1}),t(i,{class:"text-right"},{default:s(()=>[...e[12]||(e[12]=[n(" Total Tokens ",-1)])]),_:1}),t(i,{class:"text-right"},{default:s(()=>[...e[13]||(e[13]=[n(" Cost ",-1)])]),_:1})]),_:1})]),_:1}),t(P,null,{default:s(()=>[(T(!0),J(W,null,Q(a(w),p=>(T(),h(x,{key:p.sessionId},{default:s(()=>[t(g,{class:"max-w-80 truncate font-mono text-xs"},{default:s(()=>[n(c(p.sessionId),1)]),_:2},1024),t(g,{class:"font-medium"},{default:s(()=>[n(c(p.project),1)]),_:2},1024),t(g,{class:"max-w-64 truncate"},{default:s(()=>[n(c(p.threadName),1)]),_:2},1024),t(g,null,{default:s(()=>[n(c(p.model),1)]),_:2},1024),t(g,{class:"whitespace-nowrap"},{default:s(()=>[n(c(l(p.startedAt)),1)]),_:2},1024),t(g,{class:"text-right tabular-nums"},{default:s(()=>[n(c(p.duration),1)]),_:2},1024),t(g,{class:"text-right tabular-nums"},{default:s(()=>[n(c(a(v)(p.inputTokens)),1)]),_:2},1024),t(g,{class:"text-right tabular-nums"},{default:s(()=>[n(c(a(v)(p.outputTokens)),1)]),_:2},1024),t(g,{class:"text-right tabular-nums"},{default:s(()=>[n(c(a(v)(p.tokenTotal)),1)]),_:2},1024),t(g,{class:"text-right tabular-nums"},{default:s(()=>[n(c(("formatCurrency"in u?u.formatCurrency:a(C))(p.costUSD)),1)]),_:2},1024)]),_:2},1024))),128)),o.items.length===0?(T(),h(R,{key:0,colspan:10},{default:s(()=>[n(" No "+c(o.productName)+" sessions found. ",1)]),_:1})):Z("",!0)]),_:1})]),_:1}),t(S,{page:a(m),"onUpdate:page":e[0]||(e[0]=p=>ee(m)?m.value=p:null),"page-count":a(f),"page-size":o.pageSize,total:o.items.length},null,8,["page","page-count","page-size","total"])]),_:1},8,["description","title"])}}}),ge=Object.assign(pe,{__name:"UsageAnalyticsSessionUsageTable"}),_e=U({name:"DashboardTokenConsumptionDashboard",__name:"TokenConsumptionDashboard",props:{dailyRows:{},dailyTokenUsage:{},monthlyModelUsage:{},monthlyRows:{},overviewCards:{},productName:{},projectUsage:{},sessionRows:{},sessionUsage:{},weeklyRows:{}},setup(o){const d=o,m=r(()=>F(d.sessionUsage));return(f,w)=>{const y=E,b=K,l=q,u=G,e=Y,i=ge,x=V,k=H;return T(),h(k,null,{default:s(()=>[t(y,{cards:o.overviewCards},null,8,["cards"]),t(x,null,{default:s(()=>[t(b,{"monthly-items":o.monthlyModelUsage,class:"md:col-span-8"},null,8,["monthly-items"]),t(l,{items:o.projectUsage,class:"md:col-span-4"},null,8,["items"]),t(u,{items:o.dailyTokenUsage,class:"md:col-span-12",title:`${o.productName} Token Heatmap`},null,8,["items","title"]),t(e,{"daily-items":a(m),"monthly-items":o.monthlyRows,"product-name":o.productName,"session-items":o.sessionRows,"weekly-items":o.weeklyRows,class:"md:col-span-12"},null,8,["daily-items","monthly-items","product-name","session-items","weekly-items"]),t(i,{items:o.sessionUsage,"product-name":o.productName,class:"md:col-span-12"},null,8,["items","product-name"])]),_:1})]),_:1})}}}),ye=Object.assign(_e,{__name:"DashboardTokenConsumptionDashboard"}),fe={dailyRows:[],dailyTokenUsage:[],monthlyModelUsage:[],monthlyRows:[],overviewCards:[],projectUsage:[],sessionRows:[],sessionUsage:[],todayTopModel:null,todayTopProject:null,todayTotalCost:0,todayTotalTokens:0,weeklyRows:[]};function we(o){const{clear:d,error:m,execute:f,payload:w,refresh:y,status:b}=se(),l=r(()=>w.value?.[o]??fe);return{clear:d,dailyRows:r(()=>l.value.dailyRows),dailyTokenUsage:r(()=>l.value.dailyTokenUsage),dashboard:l,error:m,execute:f,monthlyModelUsage:r(()=>l.value.monthlyModelUsage),monthlyRows:r(()=>l.value.monthlyRows),overviewCards:r(()=>l.value.overviewCards),projectUsage:r(()=>l.value.projectUsage),refresh:y,sessionRows:r(()=>l.value.sessionRows),sessionUsage:r(()=>l.value.sessionUsage),status:b,todayTopModel:r(()=>l.value.todayTopModel),todayTopProject:r(()=>l.value.todayTopProject),todayTotalCost:r(()=>l.value.todayTotalCost),todayTotalTokens:r(()=>l.value.todayTotalTokens),weeklyRows:r(()=>l.value.weeklyRows)}}const be=U({name:"DashboardProductPage",__name:"ProductPage",props:{productKey:{},productName:{}},setup(o){const d=o,{dailyRows:m,dailyTokenUsage:f,monthlyModelUsage:w,monthlyRows:y,overviewCards:b,projectUsage:l,sessionRows:u,sessionUsage:e,weeklyRows:i}=we(d.productKey);return(x,k)=>{const g=ye;return T(),h(g,{"daily-rows":a(m),"daily-token-usage":a(f),"monthly-model-usage":a(w),"monthly-rows":a(y),"overview-cards":a(b),"product-name":o.productName,"project-usage":a(l),"session-rows":a(u),"session-usage":a(e),"weekly-rows":a(i)},null,8,["daily-rows","daily-token-usage","monthly-model-usage","monthly-rows","overview-cards","product-name","project-usage","session-rows","session-usage","weekly-rows"])}}}),Te=Object.assign(be,{__name:"DashboardProductPage"}),ve=U({__name:"[product]",setup(o){const d=oe(),m=ae(d.params.product);if(!m)throw ne({status:404,message:"Page not found"});return(f,w)=>{const y=Te;return T(),h(y,{"product-key":a(m).payloadKey,"product-name":a(m).name},null,8,["product-key","product-name"])}}});export{ve as default};
@@ -1 +0,0 @@
1
- import{z as f,o as s,B as _,w as m,C as k,R as $,D as u,P as L,h,a1 as O,a2 as P,az as q,aA as F,b as l,e as S,ae as w,c as g,t as z,aw as B,a8 as M,a as c,a4 as V,a6 as C,ag as A,aB as R,aC as G,X as N,Y as D,a5 as E,aD as H,aE as K,d as y,_ as U}from"./BFLIXB9O.js";import{a as X,_ as Y}from"./DsWoOjFk.js";var J=f({__name:"BaseSeparator",props:{orientation:{type:String,required:!1,default:"horizontal"},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(r){const t=r,o=["horizontal","vertical"];function e(i){return o.includes(i)}const a=h(()=>e(t.orientation)?t.orientation:"horizontal"),n=h(()=>a.value==="vertical"?t.orientation:void 0),p=h(()=>t.decorative?{role:"none"}:{"aria-orientation":n.value,role:"separator"});return(i,x)=>(s(),_(u(L),$({as:i.as,"as-child":i.asChild,"data-orientation":a.value},p.value),{default:m(()=>[k(i.$slots,"default")]),_:3},16,["as","as-child","data-orientation"]))}}),Q=J,W=f({__name:"Separator",props:{orientation:{type:String,required:!1,default:"horizontal"},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(r){const t=r;return(o,e)=>(s(),_(Q,O(P(t)),{default:m(()=>[k(o.$slots,"default")]),_:3},16))}}),Z=W;const ee={key:1,class:"text-muted-foreground w-8 text-xs tabular-nums"},te=f({__name:"GitHubLink",setup(r){const t=q(),{data:o,pending:e}=F(`https://ungh.cc/repos/${t.github.repo}`,"$5jzG0y0vUx"),a=h(()=>{const n=o.value?.repo?.stars;return n?n>=1e3?`${(n/1e3).toFixed(1)}k`:n.toLocaleString():"∞"});return(n,p)=>{const i=w,x=X,v=S,b=B;return s(),_(b,{"as-child":"",class:"h-8 shadow-none",size:"sm",variant:"ghost"},{default:m(()=>[l(v,{to:u(t).github.link,rel:"noreferrer",target:"_blank"},{default:m(()=>[l(i,{name:"mdi:github"}),u(e)?(s(),_(x,{key:0,class:"h-4 w-8"})):(s(),g("span",ee,z(u(a)),1))]),_:1},8,["to"])]),_:1})}}}),oe=Object.assign(te,{__name:"GitHubLink"}),ne=f({__name:"ModeSwitcher",setup(r){const t=M({selector:"html",attribute:"class",storageKey:"app-color-mode",onChanged(o,e){const a=document,n=window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(!a.startViewTransition||n){e(o);return}a.startViewTransition(()=>{e(o)})}});return(o,e)=>{const a=w,n=B;return s(),_(n,{variant:"ghost",size:"icon",class:"group/toggle extend-touch-target size-8",title:"Toggle theme",onClick:e[0]||(e[0]=p=>t.value=u(t)==="light"?"dark":"light")},{default:m(()=>[u(t)==="dark"?(s(),_(a,{key:0,name:"lucide:moon",mode:"svg"})):(s(),_(a,{key:1,name:"lucide:sun",mode:"svg"})),e[1]||(e[1]=c("span",{class:"sr-only"},"Toggle theme",-1))]),_:1})}}}),ae=Object.assign(ne,{__name:"ModeSwitcher"}),se=f({__name:"Separator",props:{orientation:{default:"horizontal"},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(r){const t=r,o=V(t,"class");return(e,a)=>(s(),_(u(Z),$({"data-slot":"separator"},u(o),{class:u(C)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",t.class)}),null,16,["class"]))}}),re={class:"flex flex-col border-b z-10 mb-5"},ie={class:"container mx-auto flex items-center justify-between gap-3"},ce={class:"flex flex-col h-14"},le={class:"flex items-center gap-4 h-full"},_e={class:"flex items-center"},ue={class:"container mx-auto flex items-center justify-between pt-3 pb-1"},pe={class:"capitalize text-xs font-medium font-mono"},de=f({name:"SiteNavbar",__name:"SiteNavbar",setup(r){const t=[{icon:"solar:home-bold-duotone",iconType:"icon",label:"home",link:"/"},...H,{icon:"ri:apps-ai-line",iconType:"icon",label:"Project",link:"/project"}],o=A(),e=h(()=>o.path);function a(n){const p=e.value===n.link,i=n.iconFillClass??(n.iconType==="ai"?"[&_svg]:fill-foreground/50":"");return C("relative flex flex-col items-center gap-1.5",p?["after:content-[''] after:absolute after:w-full after:h-px after:bg-amber-500","after:-bottom-1 after:rounded-2xl"]:["text-foreground/50",i])}return(n,p)=>{const i=G,x=oe,v=ae,b=se,T=w,j=Y,I=S;return s(),g("header",re,[c("div",ie,[c("div",ce,[c("div",le,[p[0]||(p[0]=c("img",{alt:"",class:"size-8",src:R},null,-1)),l(i,{class:"w-48 fill-foreground"})])]),c("div",_e,[l(x),l(v)])]),l(b),c("div",ue,[(s(),g(N,null,D(t,d=>l(I,{key:d.label,class:E(a(d)),to:d.link},{default:m(()=>[d.iconType==="icon"?(s(),_(T,{key:0,name:d.icon,class:"size-5",mode:"svg"},null,8,["name"])):(s(),_(j,{key:1,name:d.icon},null,8,["name"])),c("span",pe,z(d.label),1)]),_:2},1032,["class","to"])),64))])])}}}),me=Object.assign(de,{__name:"SiteNavbar"}),fe={class:"mt-8 border-t"},he={class:"container mx-auto flex flex-col items-center justify-between gap-2 py-4 text-center text-xs text-muted-foreground sm:flex-row sm:text-left"},ge=f({name:"SiteFooter",__name:"SiteFooter",setup(r){const{public:{appVersion:t}}=K();return(o,e)=>{const a=S;return s(),g("footer",fe,[c("div",he,[c("p",null,[e[1]||(e[1]=y(" Copyright © 2026 ",-1)),l(a,{class:"font-medium text-foreground underline-offset-4 transition-colors hover:text-amber-600 hover:underline",rel:"noreferrer",target:"_blank",to:"https://github.com/lonewolfyx"},{default:m(()=>[...e[0]||(e[0]=[y(" lonewolfyx ",-1)])]),_:1}),e[2]||(e[2]=y(". ",-1))]),c("p",null," Built with Nuxt, extended from ccusage, and released under the MIT License. Version "+z(u(t))+". ",1)])])}}}),xe=Object.assign(ge,{__name:"SiteFooter"}),ve={};function be(r,t){const o=me,e=xe;return s(),g(N,null,[l(o),k(r.$slots,"default"),l(e)],64)}const Se=U(ve,[["render",be]]);export{Se as default};
@@ -1,21 +0,0 @@
1
- import{i as Un,g as _e,u as ye,a as rt,b as Bo,c as it,d as en,P as Io,_ as Hn,e as Kn,f as qo,h as Lo,j as Mo,k as $o,l as Fo}from"./Brp07rVz.js";import{f as jo,g as No,h as T,r as F,i as pe,j as yt,k as Vo,l as gn,m as zo,n as Ce,p as he,q as st,s as Ot,v as Yn,x as Le,y as Wo,z as j,A as Uo,o as x,B as D,w as h,C as N,D as u,E as Ne,P as ie,F as At,G as Ho,T as Xn,H as le,I as Ko,J as ut,K as Gn,L as Yo,M as Zn,N as tt,O as de,Q as Xo,c as W,b as S,R as se,S as Go,U as Zo,V as tn,W as hn,X as ge,Y as we,a as K,Z as mt,$ as Jo,a0 as Qo,a1 as nn,a2 as on,d as M,a3 as es,t as z,a4 as bt,a5 as vt,a6 as Oe,a7 as Ut,a8 as ts,a9 as ns,aa as os,ab as Tt,ac as ss,ad as as,ae as ls}from"./BFLIXB9O.js";import{u as Jn,S as rs,C as is,a as yn,z as us,A as cs,_ as ds,f as Pe,b as fs,c as Te,d as Be,e as bn,g as ps,h as Qn,i as eo,j as to,k as ms,l as no,m as oo,n as so,o as ao,p as lo,q as ro,r as vs,s as gs,t as hs,v as ys,w as bs,x as ws}from"./Bvg0CuDs.js";import{_ as io,a as _s}from"./DsWoOjFk.js";function wn(e,t=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY){return Math.min(n,Math.max(t,e))}function sn(e,t,n){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),o.dispatchEvent(a)}function Ht(e){return e==null}const xs=No(()=>{const e=F(new Map),t=F(),n=T(()=>{for(const s of e.value.values())if(s)return!0;return!1}),o=Un({scrollBody:F(!0)});let a=null;const l=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=t.value??"",gn&&a?.(),t.value=void 0};return pe(n,(s,r)=>{if(!yt)return;if(!s){r&&l();return}t.value===void 0&&(t.value=document.body.style.overflow);const c=window.innerWidth-document.documentElement.clientWidth,f={padding:c,margin:0},i=o.scrollBody?.value?typeof o.scrollBody.value=="object"?Vo({padding:o.scrollBody.value.padding===!0?c:o.scrollBody.value.padding,margin:o.scrollBody.value.margin===!0?c:o.scrollBody.value.margin},f):f:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof i.padding=="number"?`${i.padding}px`:String(i.padding),document.body.style.marginRight=typeof i.margin=="number"?`${i.margin}px`:String(i.margin),document.documentElement.style.setProperty("--scrollbar-width",`${c}px`),document.body.style.overflow="hidden"),gn&&(a=zo(document,"touchmove",d=>ks(d),{passive:!1})),Ce(()=>{n.value&&(document.body.style.pointerEvents="none",document.body.style.overflow="hidden")})},{immediate:!0,flush:"sync"}),e});function Ss(e){const t=Math.random().toString(36).substring(2,7),n=xs();n.value.set(t,e??!1);const o=T({get:()=>n.value.get(t)??!1,set:a=>n.value.set(t,a)});return jo(()=>{n.value.delete(t)}),o}function uo(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:uo(n)}}function ks(e){const t=e||window.event,n=t.target;return n instanceof Element&&uo(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}let $t=0;function Ts(){he(e=>{if(!yt)return;const t=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",t[0]??_n()),document.body.insertAdjacentElement("beforeend",t[1]??_n()),$t++,e(()=>{$t===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),$t--})})}function _n(){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 Cs(e){return T(()=>st(e)?!!Ot(e)?.closest("form"):!0)}var Ps=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},nt=new WeakMap,_t=new WeakMap,xt={},Ft=0,co=function(e){return e&&(e.host||co(e.parentNode))},Es=function(e,t){return t.map(function(n){if(e.contains(n))return n;var o=co(n);return o&&e.contains(o)?o:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},Os=function(e,t,n,o){var a=Es(t,Array.isArray(e)?e:[e]);xt[n]||(xt[n]=new WeakMap);var l=xt[n],s=[],r=new Set,c=new Set(a),f=function(d){!d||r.has(d)||(r.add(d),f(d.parentNode))};a.forEach(f);var i=function(d){!d||c.has(d)||Array.prototype.forEach.call(d.children,function(m){if(r.has(m))i(m);else try{var p=m.getAttribute(o),v=p!==null&&p!=="false",g=(nt.get(m)||0)+1,b=(l.get(m)||0)+1;nt.set(m,g),l.set(m,b),s.push(m),g===1&&v&&_t.set(m,!0),b===1&&m.setAttribute(n,"true"),v||m.setAttribute(o,"true")}catch(O){console.error("aria-hidden: cannot operate on ",m,O)}})};return i(t),r.clear(),Ft++,function(){s.forEach(function(d){var m=nt.get(d)-1,p=l.get(d)-1;nt.set(d,m),l.set(d,p),m||(_t.has(d)||d.removeAttribute(o),_t.delete(d)),p||d.removeAttribute(n)}),Ft--,Ft||(nt=new WeakMap,nt=new WeakMap,_t=new WeakMap,xt={})}},As=function(e,t,n){n===void 0&&(n="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),a=Ps(e);return a?(o.push.apply(o,Array.from(a.querySelectorAll("[aria-live], script"))),Os(o,a,n,"aria-hidden")):function(){return null}};function Ds(e){let t;pe(()=>Ot(e),n=>{let o=!1;try{o=!!n?.closest("[popover]:not(:popover-open)")}catch{}n&&!o?t=As(n):t&&t()}),Yn(()=>{t&&t()})}function Rs(e){const t=F(),n=T(()=>t.value?.width??0),o=T(()=>t.value?.height??0);return Le(()=>{const a=Ot(e);if(a){t.value={width:a.offsetWidth,height:a.offsetHeight};const l=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const r=s[0];let c,f;if("borderBoxSize"in r){const i=r.borderBoxSize,d=Array.isArray(i)?i[0]:i;c=d.inlineSize,f=d.blockSize}else c=a.offsetWidth,f=a.offsetHeight;t.value={width:c,height:f}});return l.observe(a,{box:"border-box"}),()=>l.unobserve(a)}else t.value=void 0}),{width:n,height:o}}function fo(e){const t=Wo("",1e3);return{search:t,handleTypeaheadSearch:(a,l)=>{t.value=t.value+a;{const s=_e(),r=l.map(m=>({...m,textValue:m.value?.textValue??m.ref.textContent?.trim()??""})),c=r.find(m=>m.ref===s),f=r.map(m=>m.textValue),i=Is(f,t.value,c?.textValue),d=r.find(m=>m.textValue===i);return d&&d.ref.focus(),d?.ref}},resetTypeahead:()=>{t.value=""}}}function Bs(e,t){return e.map((n,o)=>e[(t+o)%e.length])}function Is(e,t,n){const a=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,l=n?e.indexOf(n):-1;let s=Bs(e,Math.max(l,0));a.length===1&&(s=s.filter(f=>f!==n));const c=s.find(f=>f.toLowerCase().startsWith(a.toLowerCase()));return c!==n?c:void 0}const qs="dismissableLayer.pointerDownOutside",Ls="dismissableLayer.focusOutside";function po(e,t){if(!(t instanceof Element))return!1;const n=t.closest("[data-dismissable-layer]"),o=e.dataset.dismissableLayer===""?e:e.querySelector("[data-dismissable-layer]"),a=Array.from(e.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(o===n||a.indexOf(o)<a.indexOf(n)))}function Ms(e,t,n=!0){const o=t?.value?.ownerDocument??globalThis?.document,a=F(!1),l=F(()=>{});return he(s=>{if(!yt||!st(n))return;const r=async f=>{const i=f.target;if(!(!t?.value||!i)){if(po(t.value,i)){a.value=!1;return}if(f.target&&!a.value){let m=function(){sn(qs,e,d)};const d={originalEvent:f};f.pointerType==="touch"?(o.removeEventListener("click",l.value),l.value=m,o.addEventListener("click",l.value,{once:!0})):m()}else o.removeEventListener("click",l.value);a.value=!1}},c=window.setTimeout(()=>{o.addEventListener("pointerdown",r)},0);s(()=>{window.clearTimeout(c),o.removeEventListener("pointerdown",r),o.removeEventListener("click",l.value)})}),{onPointerDownCapture:()=>{st(n)&&(a.value=!0)}}}function $s(e,t,n=!0){const o=t?.value?.ownerDocument??globalThis?.document,a=F(!1);return he(l=>{if(!yt||!st(n))return;const s=async r=>{if(!t?.value)return;await Ce(),await Ce();const c=r.target;!t.value||!c||po(t.value,c)||r.target&&!a.value&&sn(Ls,e,{originalEvent:r})};o.addEventListener("focusin",s),l(()=>o.removeEventListener("focusin",s))}),{onFocusCapture:()=>{st(n)&&(a.value=!0)},onBlurCapture:()=>{st(n)&&(a.value=!1)}}}const ve=At({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var Fs=j({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(e,{emit:t}){const n=e,o=t,{forwardRef:a,currentElement:l}=ye(),s=T(()=>l.value?.ownerDocument??globalThis.document),r=T(()=>ve.layersRoot),c=T(()=>l.value?Array.from(r.value).indexOf(l.value):-1),f=T(()=>ve.layersWithOutsidePointerEventsDisabled.size>0),i=T(()=>{const p=Array.from(r.value),[v]=[...ve.layersWithOutsidePointerEventsDisabled].slice(-1),g=p.indexOf(v);return c.value>=g}),d=Ms(async p=>{const v=[...ve.branches].some(g=>g?.contains(p.target));!i.value||v||(o("pointerDownOutside",p),o("interactOutside",p),await Ce(),p.defaultPrevented||o("dismiss"))},l),m=$s(p=>{[...ve.branches].some(g=>g?.contains(p.target))||(o("focusOutside",p),o("interactOutside",p),p.defaultPrevented||o("dismiss"))},l);return Uo("Escape",p=>{c.value===r.value.size-1&&(o("escapeKeyDown",p),p.defaultPrevented||o("dismiss"))}),he(p=>{l.value&&(n.disableOutsidePointerEvents&&(ve.layersWithOutsidePointerEventsDisabled.size===0&&(ve.originalBodyPointerEvents=s.value.body.style.pointerEvents,s.value.body.style.pointerEvents="none"),ve.layersWithOutsidePointerEventsDisabled.add(l.value)),r.value.add(l.value),p(()=>{n.disableOutsidePointerEvents&&ve.layersWithOutsidePointerEventsDisabled.size===1&&!Ht(ve.originalBodyPointerEvents)&&(s.value.body.style.pointerEvents=ve.originalBodyPointerEvents)}))}),he(p=>{p(()=>{l.value&&(r.value.delete(l.value),ve.layersWithOutsidePointerEventsDisabled.delete(l.value))})}),(p,v)=>(x(),D(u(ie),{ref:u(a),"as-child":p.asChild,as:p.as,"data-dismissable-layer":"",style:Ne({pointerEvents:f.value?i.value?"auto":"none":void 0}),onFocusCapture:u(m).onFocusCapture,onBlurCapture:u(m).onBlurCapture,onPointerdownCapture:u(d).onPointerDownCapture},{default:h(()=>[N(p.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),js=Fs;const Ns=Ho(()=>F([]));function Vs(){const e=Ns();return{add(t){const n=e.value[0];t!==n&&n?.pause(),e.value=xn(e.value,t),e.value.unshift(t)},remove(t){e.value=xn(e.value,t),e.value[0]?.resume()}}}function xn(e,t){const n=[...e],o=n.indexOf(t);return o!==-1&&n.splice(o,1),n}const jt="focusScope.autoFocusOnMount",Nt="focusScope.autoFocusOnUnmount",Sn={bubbles:!1,cancelable:!0};function zs(e,{select:t=!1}={}){const n=_e();for(const o of e)if(je(o,{select:t}),_e()!==n)return!0}function Ws(e){const t=mo(e),n=kn(t,e),o=kn(t.reverse(),e);return[n,o]}function mo(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const a=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||a?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function kn(e,t){for(const n of e)if(!Us(n,{upTo:t}))return n}function Us(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 Hs(e){return e instanceof HTMLInputElement&&"select"in e}function je(e,{select:t=!1}={}){if(e&&e.focus){const n=_e();e.focus({preventScroll:!0}),e!==n&&Hs(e)&&t&&e.select()}}var Ks=j({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(e,{emit:t}){const n=e,o=t,{currentRef:a,currentElement:l}=ye(),s=F(null),r=Vs(),c=At({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});he(i=>{if(!yt)return;const d=l.value;if(!n.trapped)return;function m(b){if(c.paused||!d)return;const O=b.target;d.contains(O)?s.value=O:je(s.value,{select:!0})}function p(b){if(c.paused||!d)return;const O=b.relatedTarget;O!==null&&(d.contains(O)||je(s.value,{select:!0}))}function v(b){const O=s.value;if(O===null||!b.some(y=>y.removedNodes.length>0))return;d.contains(O)||je(d)}document.addEventListener("focusin",m),document.addEventListener("focusout",p);const g=new MutationObserver(v);d&&g.observe(d,{childList:!0,subtree:!0}),i(()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",p),g.disconnect()})}),he(async i=>{const d=l.value;if(await Ce(),!d)return;r.add(c);const m=_e();if(!d.contains(m)){const v=new CustomEvent(jt,Sn);d.addEventListener(jt,g=>o("mountAutoFocus",g)),d.dispatchEvent(v),v.defaultPrevented||(zs(mo(d),{select:!0}),_e()===m&&je(d))}i(()=>{d.removeEventListener(jt,b=>o("mountAutoFocus",b));const v=new CustomEvent(Nt,Sn),g=b=>{o("unmountAutoFocus",b)};d.addEventListener(Nt,g),d.dispatchEvent(v),setTimeout(()=>{v.defaultPrevented||je(m??document.body,{select:!0}),d.removeEventListener(Nt,g),r.remove(c)},0)})});function f(i){if(!n.loop&&!n.trapped||c.paused)return;const d=i.key==="Tab"&&!i.altKey&&!i.ctrlKey&&!i.metaKey,m=_e();if(d&&m){const p=i.currentTarget,[v,g]=Ws(p);v&&g?!i.shiftKey&&m===g?(i.preventDefault(),n.loop&&je(v,{select:!0})):i.shiftKey&&m===v&&(i.preventDefault(),n.loop&&je(g,{select:!0})):m===p&&i.preventDefault()}}return(i,d)=>(x(),D(u(ie),{ref_key:"currentRef",ref:a,tabindex:"-1","as-child":i.asChild,as:i.as,onKeydown:f},{default:h(()=>[N(i.$slots,"default")]),_:3},8,["as-child","as"]))}}),Ys=Ks;function Tn(e){const t=_e();for(const n of e)if(n===t||(n.focus(),_e()!==t))return}var Xs=j({__name:"Teleport",props:{to:{type:null,required:!1,default:"body"},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){const t=Ko();return(n,o)=>u(t)||n.forceMount?(x(),D(Xn,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[N(n.$slots,"default")],8,["to","disabled","defer"])):le("v-if",!0)}}),Gs=Xs,Zs=j({__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)=>(x(),D(u(ie),{as:t.as,"as-child":t.asChild,"aria-hidden":t.feature==="focusable"?"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:h(()=>[N(t.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),Js=Zs;const[vo,Qs]=ut("PopperRoot");var ea=j({inheritAttrs:!1,__name:"PopperRoot",setup(e){const t=F();return Qs({anchor:t,onAnchorChange:n=>t.value=n}),(n,o)=>N(n.$slots,"default")}}),ta=ea,na=j({__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:o}=ye(),a=vo();return Gn(()=>{a.onAnchorChange(t.reference??o.value)}),(l,s)=>(x(),D(u(ie),{ref:u(n),as:l.as,"as-child":l.asChild},{default:h(()=>[N(l.$slots,"default")]),_:3},8,["as","as-child"]))}}),oa=na;function sa(e){return e!==null}function aa(e){return{name:"transformOrigin",options:e,fn(t){const{placement:n,rects:o,middlewareData:a}=t,s=a.arrow?.centerOffset!==0,r=s?0:e.arrowWidth,c=s?0:e.arrowHeight,[f,i]=Kt(n),d={start:"0%",center:"50%",end:"100%"}[i],m=(a.arrow?.x??0)+r/2,p=(a.arrow?.y??0)+c/2;let v="",g="";return f==="bottom"?(v=s?d:`${m}px`,g=`${-c}px`):f==="top"?(v=s?d:`${m}px`,g=`${o.floating.height+c}px`):f==="right"?(v=`${-c}px`,g=s?d:`${p}px`):f==="left"&&(v=`${o.floating.width+c}px`,g=s?d:`${p}px`),{data:{x:v,y:g}}}}}function Kt(e){const[t,n="center"]=e.split("-");return[t,n]}const la=["top","right","bottom","left"],Ve=Math.min,fe=Math.max,Ct=Math.round,St=Math.floor,Ae=e=>({x:e,y:e}),ra={left:"right",right:"left",bottom:"top",top:"bottom"};function Yt(e,t,n){return fe(e,Ve(t,n))}function Ie(e,t){return typeof e=="function"?e(t):e}function qe(e){return e.split("-")[0]}function ct(e){return e.split("-")[1]}function an(e){return e==="x"?"y":"x"}function ln(e){return e==="y"?"height":"width"}function Ee(e){const t=e[0];return t==="t"||t==="b"?"y":"x"}function rn(e){return an(Ee(e))}function ia(e,t,n){n===void 0&&(n=!1);const o=ct(e),a=rn(e),l=ln(a);let s=a==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[l]>t.floating[l]&&(s=Pt(s)),[s,Pt(s)]}function ua(e){const t=Pt(e);return[Xt(e),t,Xt(t)]}function Xt(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}const Cn=["left","right"],Pn=["right","left"],ca=["top","bottom"],da=["bottom","top"];function fa(e,t,n){switch(e){case"top":case"bottom":return n?t?Pn:Cn:t?Cn:Pn;case"left":case"right":return t?ca:da;default:return[]}}function pa(e,t,n,o){const a=ct(e);let l=fa(qe(e),n==="start",o);return a&&(l=l.map(s=>s+"-"+a),t&&(l=l.concat(l.map(Xt)))),l}function Pt(e){const t=qe(e);return ra[t]+e.slice(t.length)}function ma(e){return{top:0,right:0,bottom:0,left:0,...e}}function go(e){return typeof e!="number"?ma(e):{top:e,right:e,bottom:e,left:e}}function Et(e){const{x:t,y:n,width:o,height:a}=e;return{width:o,height:a,top:n,left:t,right:t+o,bottom:n+a,x:t,y:n}}function En(e,t,n){let{reference:o,floating:a}=e;const l=Ee(t),s=rn(t),r=ln(s),c=qe(t),f=l==="y",i=o.x+o.width/2-a.width/2,d=o.y+o.height/2-a.height/2,m=o[r]/2-a[r]/2;let p;switch(c){case"top":p={x:i,y:o.y-a.height};break;case"bottom":p={x:i,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:d};break;case"left":p={x:o.x-a.width,y:d};break;default:p={x:o.x,y:o.y}}switch(ct(t)){case"start":p[s]-=m*(n&&f?-1:1);break;case"end":p[s]+=m*(n&&f?-1:1);break}return p}async function va(e,t){var n;t===void 0&&(t={});const{x:o,y:a,platform:l,rects:s,elements:r,strategy:c}=e,{boundary:f="clippingAncestors",rootBoundary:i="viewport",elementContext:d="floating",altBoundary:m=!1,padding:p=0}=Ie(t,e),v=go(p),b=r[m?d==="floating"?"reference":"floating":d],O=Et(await l.getClippingRect({element:(n=await(l.isElement==null?void 0:l.isElement(b)))==null||n?b:b.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(r.floating)),boundary:f,rootBoundary:i,strategy:c})),B=d==="floating"?{x:o,y:a,width:s.floating.width,height:s.floating.height}:s.reference,C=await(l.getOffsetParent==null?void 0:l.getOffsetParent(r.floating)),y=await(l.isElement==null?void 0:l.isElement(C))?await(l.getScale==null?void 0:l.getScale(C))||{x:1,y:1}:{x:1,y:1},A=Et(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:r,rect:B,offsetParent:C,strategy:c}):B);return{top:(O.top-A.top+v.top)/y.y,bottom:(A.bottom-O.bottom+v.bottom)/y.y,left:(O.left-A.left+v.left)/y.x,right:(A.right-O.right+v.right)/y.x}}const ga=50,ha=async(e,t,n)=>{const{placement:o="bottom",strategy:a="absolute",middleware:l=[],platform:s}=n,r=s.detectOverflow?s:{...s,detectOverflow:va},c=await(s.isRTL==null?void 0:s.isRTL(t));let f=await s.getElementRects({reference:e,floating:t,strategy:a}),{x:i,y:d}=En(f,o,c),m=o,p=0;const v={};for(let g=0;g<l.length;g++){const b=l[g];if(!b)continue;const{name:O,fn:B}=b,{x:C,y,data:A,reset:k}=await B({x:i,y:d,initialPlacement:o,placement:m,strategy:a,middlewareData:v,rects:f,platform:r,elements:{reference:e,floating:t}});i=C??i,d=y??d,v[O]={...v[O],...A},k&&p<ga&&(p++,typeof k=="object"&&(k.placement&&(m=k.placement),k.rects&&(f=k.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:a}):k.rects),{x:i,y:d}=En(f,m,c)),g=-1)}return{x:i,y:d,placement:m,strategy:a,middlewareData:v}},ya=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:a,rects:l,platform:s,elements:r,middlewareData:c}=t,{element:f,padding:i=0}=Ie(e,t)||{};if(f==null)return{};const d=go(i),m={x:n,y:o},p=rn(a),v=ln(p),g=await s.getDimensions(f),b=p==="y",O=b?"top":"left",B=b?"bottom":"right",C=b?"clientHeight":"clientWidth",y=l.reference[v]+l.reference[p]-m[p]-l.floating[v],A=m[p]-l.reference[p],k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(f));let E=k?k[C]:0;(!E||!await(s.isElement==null?void 0:s.isElement(k)))&&(E=r.floating[C]||l.floating[v]);const I=y/2-A/2,$=E/2-g[v]/2-1,q=Ve(d[O],$),G=Ve(d[B],$),V=q,J=E-g[v]-G,Y=E/2-g[v]/2+I,U=Yt(V,Y,J),Q=!c.arrow&&ct(a)!=null&&Y!==U&&l.reference[v]/2-(Y<V?q:G)-g[v]/2<0,Z=Q?Y<V?Y-V:Y-J:0;return{[p]:m[p]+Z,data:{[p]:U,centerOffset:Y-U-Z,...Q&&{alignmentOffset:Z}},reset:Q}}}),ba=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;const{placement:a,middlewareData:l,rects:s,initialPlacement:r,platform:c,elements:f}=t,{mainAxis:i=!0,crossAxis:d=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:v="none",flipAlignment:g=!0,...b}=Ie(e,t);if((n=l.arrow)!=null&&n.alignmentOffset)return{};const O=qe(a),B=Ee(r),C=qe(r)===r,y=await(c.isRTL==null?void 0:c.isRTL(f.floating)),A=m||(C||!g?[Pt(r)]:ua(r)),k=v!=="none";!m&&k&&A.push(...pa(r,g,v,y));const E=[r,...A],I=await c.detectOverflow(t,b),$=[];let q=((o=l.flip)==null?void 0:o.overflows)||[];if(i&&$.push(I[O]),d){const Y=ia(a,s,y);$.push(I[Y[0]],I[Y[1]])}if(q=[...q,{placement:a,overflows:$}],!$.every(Y=>Y<=0)){var G,V;const Y=(((G=l.flip)==null?void 0:G.index)||0)+1,U=E[Y];if(U&&(!(d==="alignment"?B!==Ee(U):!1)||q.every(X=>Ee(X.placement)===B?X.overflows[0]>0:!0)))return{data:{index:Y,overflows:q},reset:{placement:U}};let Q=(V=q.filter(Z=>Z.overflows[0]<=0).sort((Z,X)=>Z.overflows[1]-X.overflows[1])[0])==null?void 0:V.placement;if(!Q)switch(p){case"bestFit":{var J;const Z=(J=q.filter(X=>{if(k){const ee=Ee(X.placement);return ee===B||ee==="y"}return!0}).map(X=>[X.placement,X.overflows.filter(ee=>ee>0).reduce((ee,te)=>ee+te,0)]).sort((X,ee)=>X[1]-ee[1])[0])==null?void 0:J[0];Z&&(Q=Z);break}case"initialPlacement":Q=r;break}if(a!==Q)return{reset:{placement:Q}}}return{}}}};function On(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function An(e){return la.some(t=>e[t]>=0)}const wa=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:o}=t,{strategy:a="referenceHidden",...l}=Ie(e,t);switch(a){case"referenceHidden":{const s=await o.detectOverflow(t,{...l,elementContext:"reference"}),r=On(s,n.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:An(r)}}}case"escaped":{const s=await o.detectOverflow(t,{...l,altBoundary:!0}),r=On(s,n.floating);return{data:{escapedOffsets:r,escaped:An(r)}}}default:return{}}}}},ho=new Set(["left","top"]);async function _a(e,t){const{placement:n,platform:o,elements:a}=e,l=await(o.isRTL==null?void 0:o.isRTL(a.floating)),s=qe(n),r=ct(n),c=Ee(n)==="y",f=ho.has(s)?-1:1,i=l&&c?-1:1,d=Ie(t,e);let{mainAxis:m,crossAxis:p,alignmentAxis:v}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return r&&typeof v=="number"&&(p=r==="end"?v*-1:v),c?{x:p*i,y:m*f}:{x:m*f,y:p*i}}const xa=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:a,y:l,placement:s,middlewareData:r}=t,c=await _a(t,e);return s===((n=r.offset)==null?void 0:n.placement)&&(o=r.arrow)!=null&&o.alignmentOffset?{}:{x:a+c.x,y:l+c.y,data:{...c,placement:s}}}}},Sa=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:a,platform:l}=t,{mainAxis:s=!0,crossAxis:r=!1,limiter:c={fn:O=>{let{x:B,y:C}=O;return{x:B,y:C}}},...f}=Ie(e,t),i={x:n,y:o},d=await l.detectOverflow(t,f),m=Ee(qe(a)),p=an(m);let v=i[p],g=i[m];if(s){const O=p==="y"?"top":"left",B=p==="y"?"bottom":"right",C=v+d[O],y=v-d[B];v=Yt(C,v,y)}if(r){const O=m==="y"?"top":"left",B=m==="y"?"bottom":"right",C=g+d[O],y=g-d[B];g=Yt(C,g,y)}const b=c.fn({...t,[p]:v,[m]:g});return{...b,data:{x:b.x-n,y:b.y-o,enabled:{[p]:s,[m]:r}}}}}},ka=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:a,rects:l,middlewareData:s}=t,{offset:r=0,mainAxis:c=!0,crossAxis:f=!0}=Ie(e,t),i={x:n,y:o},d=Ee(a),m=an(d);let p=i[m],v=i[d];const g=Ie(r,t),b=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){const C=m==="y"?"height":"width",y=l.reference[m]-l.floating[C]+b.mainAxis,A=l.reference[m]+l.reference[C]-b.mainAxis;p<y?p=y:p>A&&(p=A)}if(f){var O,B;const C=m==="y"?"width":"height",y=ho.has(qe(a)),A=l.reference[d]-l.floating[C]+(y&&((O=s.offset)==null?void 0:O[d])||0)+(y?0:b.crossAxis),k=l.reference[d]+l.reference[C]+(y?0:((B=s.offset)==null?void 0:B[d])||0)-(y?b.crossAxis:0);v<A?v=A:v>k&&(v=k)}return{[m]:p,[d]:v}}}},Ta=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:a,rects:l,platform:s,elements:r}=t,{apply:c=()=>{},...f}=Ie(e,t),i=await s.detectOverflow(t,f),d=qe(a),m=ct(a),p=Ee(a)==="y",{width:v,height:g}=l.floating;let b,O;d==="top"||d==="bottom"?(b=d,O=m===(await(s.isRTL==null?void 0:s.isRTL(r.floating))?"start":"end")?"left":"right"):(O=d,b=m==="end"?"top":"bottom");const B=g-i.top-i.bottom,C=v-i.left-i.right,y=Ve(g-i[b],B),A=Ve(v-i[O],C),k=!t.middlewareData.shift;let E=y,I=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(I=C),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(E=B),k&&!m){const q=fe(i.left,0),G=fe(i.right,0),V=fe(i.top,0),J=fe(i.bottom,0);p?I=v-2*(q!==0||G!==0?q+G:fe(i.left,i.right)):E=g-2*(V!==0||J!==0?V+J:fe(i.top,i.bottom))}await c({...t,availableWidth:I,availableHeight:E});const $=await s.getDimensions(r.floating);return v!==$.width||g!==$.height?{reset:{rects:!0}}:{}}}};function Dt(){return typeof window<"u"}function Ge(e){return un(e)?(e.nodeName||"").toLowerCase():"#document"}function me(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function De(e){var t;return(t=(un(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function un(e){return Dt()?e instanceof Node||e instanceof me(e).Node:!1}function xe(e){return Dt()?e instanceof Element||e instanceof me(e).Element:!1}function Me(e){return Dt()?e instanceof HTMLElement||e instanceof me(e).HTMLElement:!1}function Dn(e){return!Dt()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof me(e).ShadowRoot}function wt(e){const{overflow:t,overflowX:n,overflowY:o,display:a}=Se(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&a!=="inline"&&a!=="contents"}function Ca(e){return/^(table|td|th)$/.test(Ge(e))}function Rt(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}const Pa=/transform|translate|scale|rotate|perspective|filter/,Ea=/paint|layout|strict|content/,Ye=e=>!!e&&e!=="none";let Vt;function cn(e){const t=xe(e)?Se(e):e;return Ye(t.transform)||Ye(t.translate)||Ye(t.scale)||Ye(t.rotate)||Ye(t.perspective)||!dn()&&(Ye(t.backdropFilter)||Ye(t.filter))||Pa.test(t.willChange||"")||Ea.test(t.contain||"")}function Oa(e){let t=ze(e);for(;Me(t)&&!lt(t);){if(cn(t))return t;if(Rt(t))return null;t=ze(t)}return null}function dn(){return Vt==null&&(Vt=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Vt}function lt(e){return/^(html|body|#document)$/.test(Ge(e))}function Se(e){return me(e).getComputedStyle(e)}function Bt(e){return xe(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ze(e){if(Ge(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Dn(e)&&e.host||De(e);return Dn(t)?t.host:t}function yo(e){const t=ze(e);return lt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Me(t)&&wt(t)?t:yo(t)}function gt(e,t,n){var o;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=yo(e),l=a===((o=e.ownerDocument)==null?void 0:o.body),s=me(a);if(l){const r=Gt(s);return t.concat(s,s.visualViewport||[],wt(a)?a:[],r&&n?gt(r):[])}else return t.concat(a,gt(a,[],n))}function Gt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function bo(e){const t=Se(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const a=Me(e),l=a?e.offsetWidth:n,s=a?e.offsetHeight:o,r=Ct(n)!==l||Ct(o)!==s;return r&&(n=l,o=s),{width:n,height:o,$:r}}function fn(e){return xe(e)?e:e.contextElement}function at(e){const t=fn(e);if(!Me(t))return Ae(1);const n=t.getBoundingClientRect(),{width:o,height:a,$:l}=bo(t);let s=(l?Ct(n.width):n.width)/o,r=(l?Ct(n.height):n.height)/a;return(!s||!Number.isFinite(s))&&(s=1),(!r||!Number.isFinite(r))&&(r=1),{x:s,y:r}}const Aa=Ae(0);function wo(e){const t=me(e);return!dn()||!t.visualViewport?Aa:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Da(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==me(e)?!1:t}function Xe(e,t,n,o){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),l=fn(e);let s=Ae(1);t&&(o?xe(o)&&(s=at(o)):s=at(e));const r=Da(l,n,o)?wo(l):Ae(0);let c=(a.left+r.x)/s.x,f=(a.top+r.y)/s.y,i=a.width/s.x,d=a.height/s.y;if(l){const m=me(l),p=o&&xe(o)?me(o):o;let v=m,g=Gt(v);for(;g&&o&&p!==v;){const b=at(g),O=g.getBoundingClientRect(),B=Se(g),C=O.left+(g.clientLeft+parseFloat(B.paddingLeft))*b.x,y=O.top+(g.clientTop+parseFloat(B.paddingTop))*b.y;c*=b.x,f*=b.y,i*=b.x,d*=b.y,c+=C,f+=y,v=me(g),g=Gt(v)}}return Et({width:i,height:d,x:c,y:f})}function It(e,t){const n=Bt(e).scrollLeft;return t?t.left+n:Xe(De(e)).left+n}function _o(e,t){const n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-It(e,n),a=n.top+t.scrollTop;return{x:o,y:a}}function Ra(e){let{elements:t,rect:n,offsetParent:o,strategy:a}=e;const l=a==="fixed",s=De(o),r=t?Rt(t.floating):!1;if(o===s||r&&l)return n;let c={scrollLeft:0,scrollTop:0},f=Ae(1);const i=Ae(0),d=Me(o);if((d||!d&&!l)&&((Ge(o)!=="body"||wt(s))&&(c=Bt(o)),d)){const p=Xe(o);f=at(o),i.x=p.x+o.clientLeft,i.y=p.y+o.clientTop}const m=s&&!d&&!l?_o(s,c):Ae(0);return{width:n.width*f.x,height:n.height*f.y,x:n.x*f.x-c.scrollLeft*f.x+i.x+m.x,y:n.y*f.y-c.scrollTop*f.y+i.y+m.y}}function Ba(e){return Array.from(e.getClientRects())}function Ia(e){const t=De(e),n=Bt(e),o=e.ownerDocument.body,a=fe(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),l=fe(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let s=-n.scrollLeft+It(e);const r=-n.scrollTop;return Se(o).direction==="rtl"&&(s+=fe(t.clientWidth,o.clientWidth)-a),{width:a,height:l,x:s,y:r}}const Rn=25;function qa(e,t){const n=me(e),o=De(e),a=n.visualViewport;let l=o.clientWidth,s=o.clientHeight,r=0,c=0;if(a){l=a.width,s=a.height;const i=dn();(!i||i&&t==="fixed")&&(r=a.offsetLeft,c=a.offsetTop)}const f=It(o);if(f<=0){const i=o.ownerDocument,d=i.body,m=getComputedStyle(d),p=i.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,v=Math.abs(o.clientWidth-d.clientWidth-p);v<=Rn&&(l-=v)}else f<=Rn&&(l+=f);return{width:l,height:s,x:r,y:c}}function La(e,t){const n=Xe(e,!0,t==="fixed"),o=n.top+e.clientTop,a=n.left+e.clientLeft,l=Me(e)?at(e):Ae(1),s=e.clientWidth*l.x,r=e.clientHeight*l.y,c=a*l.x,f=o*l.y;return{width:s,height:r,x:c,y:f}}function Bn(e,t,n){let o;if(t==="viewport")o=qa(e,n);else if(t==="document")o=Ia(De(e));else if(xe(t))o=La(t,n);else{const a=wo(e);o={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Et(o)}function xo(e,t){const n=ze(e);return n===t||!xe(n)||lt(n)?!1:Se(n).position==="fixed"||xo(n,t)}function Ma(e,t){const n=t.get(e);if(n)return n;let o=gt(e,[],!1).filter(r=>xe(r)&&Ge(r)!=="body"),a=null;const l=Se(e).position==="fixed";let s=l?ze(e):e;for(;xe(s)&&!lt(s);){const r=Se(s),c=cn(s);!c&&r.position==="fixed"&&(a=null),(l?!c&&!a:!c&&r.position==="static"&&!!a&&(a.position==="absolute"||a.position==="fixed")||wt(s)&&!c&&xo(e,s))?o=o.filter(i=>i!==s):a=r,s=ze(s)}return t.set(e,o),o}function $a(e){let{element:t,boundary:n,rootBoundary:o,strategy:a}=e;const s=[...n==="clippingAncestors"?Rt(t)?[]:Ma(t,this._c):[].concat(n),o],r=Bn(t,s[0],a);let c=r.top,f=r.right,i=r.bottom,d=r.left;for(let m=1;m<s.length;m++){const p=Bn(t,s[m],a);c=fe(p.top,c),f=Ve(p.right,f),i=Ve(p.bottom,i),d=fe(p.left,d)}return{width:f-d,height:i-c,x:d,y:c}}function Fa(e){const{width:t,height:n}=bo(e);return{width:t,height:n}}function ja(e,t,n){const o=Me(t),a=De(t),l=n==="fixed",s=Xe(e,!0,l,t);let r={scrollLeft:0,scrollTop:0};const c=Ae(0);function f(){c.x=It(a)}if(o||!o&&!l)if((Ge(t)!=="body"||wt(a))&&(r=Bt(t)),o){const p=Xe(t,!0,l,t);c.x=p.x+t.clientLeft,c.y=p.y+t.clientTop}else a&&f();l&&!o&&a&&f();const i=a&&!o&&!l?_o(a,r):Ae(0),d=s.left+r.scrollLeft-c.x-i.x,m=s.top+r.scrollTop-c.y-i.y;return{x:d,y:m,width:s.width,height:s.height}}function zt(e){return Se(e).position==="static"}function In(e,t){if(!Me(e)||Se(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return De(e)===n&&(n=n.ownerDocument.body),n}function So(e,t){const n=me(e);if(Rt(e))return n;if(!Me(e)){let a=ze(e);for(;a&&!lt(a);){if(xe(a)&&!zt(a))return a;a=ze(a)}return n}let o=In(e,t);for(;o&&Ca(o)&&zt(o);)o=In(o,t);return o&&lt(o)&&zt(o)&&!cn(o)?n:o||Oa(e)||n}const Na=async function(e){const t=this.getOffsetParent||So,n=this.getDimensions,o=await n(e.floating);return{reference:ja(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Va(e){return Se(e).direction==="rtl"}const za={convertOffsetParentRelativeRectToViewportRelativeRect:Ra,getDocumentElement:De,getClippingRect:$a,getOffsetParent:So,getElementRects:Na,getClientRects:Ba,getDimensions:Fa,getScale:at,isElement:xe,isRTL:Va};function ko(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Wa(e,t){let n=null,o;const a=De(e);function l(){var r;clearTimeout(o),(r=n)==null||r.disconnect(),n=null}function s(r,c){r===void 0&&(r=!1),c===void 0&&(c=1),l();const f=e.getBoundingClientRect(),{left:i,top:d,width:m,height:p}=f;if(r||t(),!m||!p)return;const v=St(d),g=St(a.clientWidth-(i+m)),b=St(a.clientHeight-(d+p)),O=St(i),C={rootMargin:-v+"px "+-g+"px "+-b+"px "+-O+"px",threshold:fe(0,Ve(1,c))||1};let y=!0;function A(k){const E=k[0].intersectionRatio;if(E!==c){if(!y)return s();E?s(!1,E):o=setTimeout(()=>{s(!1,1e-7)},1e3)}E===1&&!ko(f,e.getBoundingClientRect())&&s(),y=!1}try{n=new IntersectionObserver(A,{...C,root:a.ownerDocument})}catch{n=new IntersectionObserver(A,C)}n.observe(e)}return s(!0),l}function Ua(e,t,n,o){o===void 0&&(o={});const{ancestorScroll:a=!0,ancestorResize:l=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:r=typeof IntersectionObserver=="function",animationFrame:c=!1}=o,f=fn(e),i=a||l?[...f?gt(f):[],...t?gt(t):[]]:[];i.forEach(O=>{a&&O.addEventListener("scroll",n,{passive:!0}),l&&O.addEventListener("resize",n)});const d=f&&r?Wa(f,n):null;let m=-1,p=null;s&&(p=new ResizeObserver(O=>{let[B]=O;B&&B.target===f&&p&&t&&(p.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var C;(C=p)==null||C.observe(t)})),n()}),f&&!c&&p.observe(f),t&&p.observe(t));let v,g=c?Xe(e):null;c&&b();function b(){const O=Xe(e);g&&!ko(g,O)&&n(),g=O,v=requestAnimationFrame(b)}return n(),()=>{var O;i.forEach(B=>{a&&B.removeEventListener("scroll",n),l&&B.removeEventListener("resize",n)}),d?.(),(O=p)==null||O.disconnect(),p=null,c&&cancelAnimationFrame(v)}}const Ha=xa,Ka=Sa,qn=ba,Ya=Ta,Xa=wa,Ga=ya,Za=ka,Ja=(e,t,n)=>{const o=new Map,a={platform:za,...n},l={...a.platform,_c:o};return ha(e,t,{...a,platform:l})};function Qa(e){return e!=null&&typeof e=="object"&&"$el"in e}function Zt(e){if(Qa(e)){const t=e.$el;return un(t)&&Ge(t)==="#comment"?null:t}return e}function ot(e){return typeof e=="function"?e():u(e)}function el(e){return{name:"arrow",options:e,fn(t){const n=Zt(ot(e.element));return n==null?{}:Ga({element:n,padding:e.padding}).fn(t)}}}function To(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ln(e,t){const n=To(e);return Math.round(t*n)/n}function tl(e,t,n){n===void 0&&(n={});const o=n.whileElementsMounted,a=T(()=>{var E;return(E=ot(n.open))!=null?E:!0}),l=T(()=>ot(n.middleware)),s=T(()=>{var E;return(E=ot(n.placement))!=null?E:"bottom"}),r=T(()=>{var E;return(E=ot(n.strategy))!=null?E:"absolute"}),c=T(()=>{var E;return(E=ot(n.transform))!=null?E:!0}),f=T(()=>Zt(e.value)),i=T(()=>Zt(t.value)),d=F(0),m=F(0),p=F(r.value),v=F(s.value),g=de({}),b=F(!1),O=T(()=>{const E={position:p.value,left:"0",top:"0"};if(!i.value)return E;const I=Ln(i.value,d.value),$=Ln(i.value,m.value);return c.value?{...E,transform:"translate("+I+"px, "+$+"px)",...To(i.value)>=1.5&&{willChange:"transform"}}:{position:p.value,left:I+"px",top:$+"px"}});let B;function C(){if(f.value==null||i.value==null)return;const E=a.value;Ja(f.value,i.value,{middleware:l.value,placement:s.value,strategy:r.value}).then(I=>{d.value=I.x,m.value=I.y,p.value=I.strategy,v.value=I.placement,g.value=I.middlewareData,b.value=E!==!1})}function y(){typeof B=="function"&&(B(),B=void 0)}function A(){if(y(),o===void 0){C();return}if(f.value!=null&&i.value!=null){B=o(f.value,i.value,C);return}}function k(){a.value||(b.value=!1)}return pe([l,s,r,a],C,{flush:"sync"}),pe([f,i],A,{flush:"sync"}),pe(a,k,{flush:"sync"}),Yo()&&Zn(y),{x:tt(d),y:tt(m),strategy:tt(p),placement:tt(v),middlewareData:tt(g),isPositioned:tt(b),floatingStyles:O,update:C}}const nl={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},[gi,ol]=ut("PopperContent");var sl=j({inheritAttrs:!1,__name:"PopperContent",props:Go({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}},{...nl}),emits:["placed"],setup(e,{emit:t}){const n=e,o=t,a=vo(),{forwardRef:l,currentElement:s}=ye(),r=F(),c=F(),{width:f,height:i}=Rs(c),d=T(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),m=T(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),p=T(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),v=T(()=>({padding:m.value,boundary:p.value.filter(sa),altBoundary:p.value.length>0})),g=T(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),b=Xo(()=>[Ha({mainAxis:n.sideOffset+i.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&qn({...v.value,...g.value}),n.avoidCollisions&&Ka({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?Za():void 0,...v.value}),!n.prioritizePosition&&n.avoidCollisions&&qn({...v.value,...g.value}),Ya({...v.value,apply:({elements:V,rects:J,availableWidth:Y,availableHeight:U})=>{const{width:Q,height:Z}=J.reference,X=V.floating.style;X.setProperty("--reka-popper-available-width",`${Y}px`),X.setProperty("--reka-popper-available-height",`${U}px`),X.setProperty("--reka-popper-anchor-width",`${Q}px`),X.setProperty("--reka-popper-anchor-height",`${Z}px`)}}),c.value&&el({element:c.value,padding:n.arrowPadding}),aa({arrowWidth:f.value,arrowHeight:i.value}),n.hideWhenDetached&&Xa({strategy:"referenceHidden",...v.value})]),O=T(()=>n.reference??a.anchor.value),{floatingStyles:B,placement:C,isPositioned:y,middlewareData:A}=tl(O,r,{strategy:n.positionStrategy,placement:d,whileElementsMounted:(...V)=>Ua(...V,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:b}),k=T(()=>Kt(C.value)[0]),E=T(()=>Kt(C.value)[1]);Gn(()=>{y.value&&o("placed")});const I=T(()=>{const V=A.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&V}),$=F("");he(()=>{s.value&&($.value=window.getComputedStyle(s.value).zIndex)});const q=T(()=>A.value.arrow?.x??0),G=T(()=>A.value.arrow?.y??0);return ol({placedSide:k,onArrowChange:V=>c.value=V,arrowX:q,arrowY:G,shouldHideArrow:I}),(V,J)=>(x(),W("div",{ref_key:"floatingRef",ref:r,"data-reka-popper-content-wrapper":"",style:Ne({...u(B),transform:u(y)?u(B).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:$.value,"--reka-popper-transform-origin":[u(A).transformOrigin?.x,u(A).transformOrigin?.y].join(" "),...u(A).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[S(u(ie),se({ref:u(l)},V.$attrs,{"as-child":n.asChild,as:V.as,"data-side":k.value,"data-align":E.value,style:{animation:u(y)?void 0:"none"}}),{default:h(()=>[N(V.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),al=sl;function ll(e){const t=Un({nonce:F()});return T(()=>e?.value||t.nonce?.value)}const rl=[" ","Enter","ArrowUp","ArrowDown"],il=[" ","Enter"],be=10;function ht(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(o=>Jt(o,t,n)):Jt(e,t,n)}function Jt(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?.[n]===t?.[n]:Zo(e,t)}function ul(e){return e==null||e===""||Array.isArray(e)&&e.length===0}const cl={key:0,value:""},[We,Co]=ut("SelectRoot");var dl=j({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},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,o=t,{required:a,disabled:l,multiple:s,dir:r}=tn(n),c=hn(n,"modelValue",o,{defaultValue:n.defaultValue??(s.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),f=hn(n,"open",o,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=F(),d=F(),m=F({x:0,y:0}),p=T(()=>s.value&&Array.isArray(c.value)?c.value?.length===0:Ht(c.value));rt({isProvider:!0});const v=Bo(r),g=Cs(i),b=F(new Set),O=T(()=>Array.from(b.value).map(y=>y.value).join(";"));function B(y){if(s.value){const A=Array.isArray(c.value)?[...c.value]:[],k=A.findIndex(E=>Jt(E,y,n.by));k===-1?A.push(y):A.splice(k,1),c.value=[...A]}else c.value=y}function C(y){return Array.from(b.value).find(A=>ht(y,A.value,n.by))}return Co({triggerElement:i,onTriggerChange:y=>{i.value=y},valueElement:d,onValueElementChange:y=>{d.value=y},contentId:"",modelValue:c,onValueChange:B,by:n.by,open:f,multiple:s,required:a,onOpenChange:y=>{f.value=y},dir:v,triggerPointerDownPosRef:m,disabled:l,isEmptyModelValue:p,optionsSet:b,onOptionAdd:y=>{const A=C(y.value);A&&b.value.delete(A),b.value.add(y)},onOptionRemove:y=>{const A=C(y.value);A&&b.value.delete(A)}}),(y,A)=>(x(),D(u(ta),null,{default:h(()=>[N(y.$slots,"default",{modelValue:u(c),open:u(f)}),u(g)&&y.name?(x(),D(ml,{key:O.value,"aria-hidden":"true",tabindex:"-1",multiple:u(s),required:u(a),name:y.name,autocomplete:y.autocomplete,disabled:u(l),value:u(c)},{default:h(()=>[u(Ht)(u(c))?(x(),W("option",cl)):le("v-if",!0),(x(!0),W(ge,null,we(Array.from(b.value),k=>(x(),W("option",se({key:k.value??""},{ref_for:!0},k),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):le("v-if",!0)]),_:3}))}}),fl=dl,pl=j({__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=F(),o=We();pe(()=>t.value,(l,s)=>{const r=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(r,"value").set;if(l!==s&&f&&n.value){const i=new Event("change",{bubbles:!0});f.call(n.value,l),n.value.dispatchEvent(i)}});function a(l){o.onValueChange(l.target.value)}return(l,s)=>(x(),D(u(Js),{"as-child":""},{default:h(()=>[K("select",se({ref_key:"selectElement",ref:n},t,{onInput:a}),[N(l.$slots,"default")],16)]),_:3}))}}),ml=pl,vl=j({__name:"SelectPopperPosition",props:{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:be},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}},setup(e){const n=it(e);return(o,a)=>(x(),D(u(al),se(u(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:h(()=>[N(o.$slots,"default")]),_:3},16))}}),gl=vl;const hl={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Ze,Po]=ut("SelectContent");var yl=j({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},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},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,o=t,a=We();Ts(),Ss(n.bodyLock);const{CollectionSlot:l,getItems:s}=rt(),r=F();Ds(r);const{search:c,handleTypeaheadSearch:f}=fo(),i=F(),d=F(),m=F(),p=F(!1),v=F(!1),g=F(!1);function b(){d.value&&r.value&&Tn([d.value,r.value])}pe(p,()=>{b()});const{onOpenChange:O,triggerPointerDownPosRef:B}=a;he(k=>{if(!r.value)return;let E={x:0,y:0};const I=q=>{E={x:Math.abs(Math.round(q.pageX)-(B.value?.x??0)),y:Math.abs(Math.round(q.pageY)-(B.value?.y??0))}},$=q=>{q.pointerType!=="touch"&&(E.x<=10&&E.y<=10?q.preventDefault():r.value?.contains(q.target)||O(!1),document.removeEventListener("pointermove",I),B.value=null)};B.value!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",$,{capture:!0,once:!0})),k(()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",$,{capture:!0})})});function C(k){const E=k.ctrlKey||k.altKey||k.metaKey;if(k.key==="Tab"&&k.preventDefault(),!E&&k.key.length===1&&f(k.key,s()),["ArrowUp","ArrowDown","Home","End"].includes(k.key)){let $=[...s().map(q=>q.ref)];if(["ArrowUp","End"].includes(k.key)&&($=$.slice().reverse()),["ArrowUp","ArrowDown"].includes(k.key)){const q=k.target,G=$.indexOf(q);$=$.slice(G+1)}setTimeout(()=>Tn($)),k.preventDefault()}}const y=T(()=>n.position==="popper"?n:{}),A=it(y.value);return Po({content:r,viewport:i,onViewportChange:k=>{i.value=k},itemRefCallback:(k,E,I)=>{const $=!v.value&&!I,q=ht(a.modelValue.value,E,a.by);if(a.multiple.value){if(g.value)return;(q||$)&&(d.value=k,q&&(g.value=!0))}else(q||$)&&(d.value=k);$&&(v.value=!0)},selectedItem:d,selectedItemText:m,onItemLeave:()=>{r.value?.focus()},itemTextRefCallback:(k,E,I)=>{const $=!v.value&&!I;(ht(a.modelValue.value,E,a.by)||$)&&(m.value=k)},focusSelectedItem:b,position:n.position,isPositioned:p,searchRef:c}),(k,E)=>(x(),D(u(l),null,{default:h(()=>[S(u(Ys),{"as-child":"",onMountAutoFocus:E[6]||(E[6]=mt(()=>{},["prevent"])),onUnmountAutoFocus:E[7]||(E[7]=I=>{o("closeAutoFocus",I),!I.defaultPrevented&&(u(a).triggerElement.value?.focus({preventScroll:!0}),I.preventDefault())})},{default:h(()=>[S(u(js),{"as-child":"","disable-outside-pointer-events":k.disableOutsidePointerEvents,onFocusOutside:E[2]||(E[2]=mt(()=>{},["prevent"])),onDismiss:E[3]||(E[3]=I=>u(a).onOpenChange(!1)),onEscapeKeyDown:E[4]||(E[4]=I=>o("escapeKeyDown",I)),onPointerDownOutside:E[5]||(E[5]=I=>o("pointerDownOutside",I))},{default:h(()=>[(x(),D(Jo(k.position==="popper"?gl:xl),se({...k.$attrs,...u(A)},{id:u(a).contentId,ref:I=>{if(!I)return;const $=u(Ot)(I);$?.hasAttribute("data-reka-popper-content-wrapper")?r.value=$.firstElementChild:r.value=$},role:"listbox","data-state":u(a).open.value?"open":"closed",dir:u(a).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:E[0]||(E[0]=mt(()=>{},["prevent"])),onPlaced:E[1]||(E[1]=I=>p.value=!0),onKeydown:C}),{default:h(()=>[N(k.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),bl=yl;const[pn,wl]=ut("SelectItemAlignedPosition");var _l=j({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(e,{emit:t}){const n=e,o=t,{getItems:a}=rt(),l=We(),s=Ze(),r=F(!1),c=F(!0),f=F(),{forwardRef:i,currentElement:d}=ye(),{viewport:m,selectedItem:p,selectedItemText:v,focusSelectedItem:g}=s;function b(){if(l.triggerElement.value&&l.valueElement.value&&f.value&&d.value&&m?.value&&p?.value&&v?.value){const C=l.triggerElement.value.getBoundingClientRect(),y=d.value.getBoundingClientRect(),A=l.valueElement.value.getBoundingClientRect(),k=v.value.getBoundingClientRect();if(l.dir.value!=="rtl"){const oe=k.left-y.left,P=A.left-oe,_=C.left-P,R=C.width+_,H=Math.max(R,y.width),ce=window.innerWidth-be,re=wn(P,be,Math.max(be,ce-H));f.value.style.minWidth=`${R}px`,f.value.style.left=`${re}px`}else{const oe=y.right-k.right,P=window.innerWidth-A.right-oe,_=window.innerWidth-C.right-P,R=C.width+_,H=Math.max(R,y.width),ce=window.innerWidth-be,re=wn(P,be,Math.max(be,ce-H));f.value.style.minWidth=`${R}px`,f.value.style.right=`${re}px`}const E=a().map(oe=>oe.ref),I=window.innerHeight-be*2,$=m.value.scrollHeight,q=window.getComputedStyle(d.value),G=Number.parseInt(q.borderTopWidth,10),V=Number.parseInt(q.paddingTop,10),J=Number.parseInt(q.borderBottomWidth,10),Y=Number.parseInt(q.paddingBottom,10),U=G+V+$+Y+J,Q=Math.min(p.value.offsetHeight*5,U),Z=window.getComputedStyle(m.value),X=Number.parseInt(Z.paddingTop,10),ee=Number.parseInt(Z.paddingBottom,10),te=C.top+C.height/2-be,$e=I-te,ke=p.value.offsetHeight/2,Re=p.value.offsetTop+ke,ue=G+V+Re,Fe=U-ue;if(ue<=te){const oe=p.value===E.at(-1);f.value.style.bottom="0px";const P=d.value.clientHeight-m.value.offsetTop-m.value.offsetHeight,_=Math.max($e,ke+(oe?ee:0)+P+J),R=ue+_;f.value.style.height=`${R}px`}else{const oe=p.value===E[0];f.value.style.top="0px";const _=Math.max(te,G+m.value.offsetTop+(oe?X:0)+ke)+Fe;f.value.style.height=`${_}px`,m.value.scrollTop=ue-te+m.value.offsetTop}f.value.style.margin=`${be}px 0`,f.value.style.minHeight=`${Q}px`,f.value.style.maxHeight=`${I}px`,o("placed"),requestAnimationFrame(()=>r.value=!0)}}const O=F("");Le(async()=>{await Ce(),b(),d.value&&(O.value=window.getComputedStyle(d.value).zIndex)});function B(C){C&&c.value===!0&&(b(),g?.(),c.value=!1)}return Qo(l.triggerElement,()=>{b()}),wl({contentWrapper:f,shouldExpandOnScrollRef:r,onScrollButtonChange:B}),(C,y)=>(x(),W("div",{ref_key:"contentWrapperElement",ref:f,style:Ne({display:"flex",flexDirection:"column",position:"fixed",zIndex:O.value})},[S(u(ie),se({ref:u(i),style:{boxSizing:"border-box",maxHeight:"100%"}},{...C.$attrs,...n}),{default:h(()=>[N(C.$slots,"default")]),_:3},16)],4))}}),xl=_l,Sl=j({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(e){return Co(e.context),Po(hl),(n,o)=>N(n.$slots,"default")}}),kl=Sl;const Tl={key:1};var Cl=j({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,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},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(e,{emit:t}){const n=e,a=en(n,t),l=We(),s=F();Le(()=>{s.value=new DocumentFragment});const r=F(),c=T(()=>n.forceMount||l.open.value),f=F(c.value);return pe(c,()=>{setTimeout(()=>f.value=c.value)}),(i,d)=>c.value||f.value||r.value?.present?(x(),D(u(Io),{key:0,ref_key:"presenceRef",ref:r,present:c.value},{default:h(()=>[S(bl,nn(on({...u(a),...i.$attrs})),{default:h(()=>[N(i.$slots,"default")]),_:3},16)]),_:3},8,["present"])):s.value?(x(),W("div",Tl,[(x(),D(Xn,{to:s.value},[S(kl,{context:u(l)},{default:h(()=>[N(i.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):le("v-if",!0)}}),Pl=Cl,El=j({__name:"SelectIcon",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){return(t,n)=>(x(),D(u(ie),{"aria-hidden":"true",as:t.as,"as-child":t.asChild},{default:h(()=>[N(t.$slots,"default",{},()=>[n[0]||(n[0]=M("▼"))])]),_:3},8,["as","as-child"]))}}),Ol=El;const[Eo,Al]=ut("SelectItem");var Dl=j({__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,o=t,{disabled:a}=tn(n),l=We(),s=Ze(),{forwardRef:r,currentElement:c}=ye(),{CollectionItem:f}=rt(),i=T(()=>ht(l.modelValue?.value,n.value,l.by)),d=F(!1),m=F(n.textValue??""),p=Jn(void 0,"reka-select-item-text"),v="select.select";async function g(y){if(y.defaultPrevented)return;const A={originalEvent:y,value:n.value};sn(v,b,A)}async function b(y){await Ce(),o("select",y),!y.defaultPrevented&&(a.value||(l.onValueChange(n.value),l.multiple.value||l.onOpenChange(!1)))}async function O(y){await Ce(),!y.defaultPrevented&&(a.value?s.onItemLeave?.():y.currentTarget?.focus({preventScroll:!0}))}async function B(y){await Ce(),!y.defaultPrevented&&y.currentTarget===_e()&&s.onItemLeave?.()}async function C(y){await Ce(),!(y.defaultPrevented||s.searchRef?.value!==""&&y.key===" ")&&(il.includes(y.key)&&g(y),y.key===" "&&y.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 Le(()=>{c.value&&s.itemRefCallback(c.value,n.value,n.disabled)}),Al({value:n.value,disabled:a,textId:p,isSelected:i,onItemTextChange:y=>{m.value=((m.value||y?.textContent)??"").trim()}}),(y,A)=>(x(),D(u(f),{value:{textValue:m.value}},{default:h(()=>[S(u(ie),{ref:u(r),role:"option","aria-labelledby":u(p),"data-highlighted":d.value?"":void 0,"aria-selected":i.value,"data-state":i.value?"checked":"unchecked","aria-disabled":u(a)||void 0,"data-disabled":u(a)?"":void 0,tabindex:u(a)?void 0:-1,as:y.as,"as-child":y.asChild,onFocus:A[0]||(A[0]=k=>d.value=!0),onBlur:A[1]||(A[1]=k=>d.value=!1),onPointerup:g,onPointerdown:A[2]||(A[2]=k=>{k.currentTarget.focus({preventScroll:!0})}),onTouchend:A[3]||(A[3]=mt(()=>{},["prevent","stop"])),onPointermove:O,onPointerleave:B,onKeydown:C},{default:h(()=>[N(y.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),Rl=Dl,Bl=j({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=Eo();return(o,a)=>u(n).isSelected.value?(x(),D(u(ie),se({key:0,"aria-hidden":"true"},t),{default:h(()=>[N(o.$slots,"default")]),_:3},16)):le("v-if",!0)}}),Il=Bl,ql=j({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(e){const t=e,n=We(),o=Ze(),a=Eo(),{forwardRef:l,currentElement:s}=ye(),r=T(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??""}));return Le(()=>{s.value&&(a.onItemTextChange(s.value),o.itemTextRefCallback(s.value,a.value,a.disabled.value),n.onOptionAdd(r.value))}),Yn(()=>{n.onOptionRemove(r.value)}),(c,f)=>(x(),D(u(ie),se({id:u(a).textId,ref:u(l)},{...t,...c.$attrs}),{default:h(()=>[N(c.$slots,"default")]),_:3},16,["id"]))}}),Ll=ql,Ml=j({__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,o)=>(x(),D(u(Gs),nn(on(t)),{default:h(()=>[N(n.$slots,"default")]),_:3},16))}}),$l=Ml,Fl=j({__name:"SelectScrollButtonImpl",emits:["autoScroll"],setup(e,{emit:t}){const n=t,{getItems:o}=rt(),a=Ze(),l=F(null);function s(){l.value!==null&&(window.clearInterval(l.value),l.value=null)}he(()=>{o().map(i=>i.ref).find(i=>i===_e())?.scrollIntoView({block:"nearest"})});function r(){l.value===null&&(l.value=window.setInterval(()=>{n("autoScroll")},50))}function c(){a.onItemLeave?.(),l.value===null&&(l.value=window.setInterval(()=>{n("autoScroll")},50))}return es(()=>s()),(f,i)=>(x(),D(u(ie),se({"aria-hidden":"true",style:{flexShrink:0}},f.$parent?.$props,{onPointerdown:r,onPointermove:c,onPointerleave:i[0]||(i[0]=()=>{s()})}),{default:h(()=>[N(f.$slots,"default")]),_:3},16))}}),Oo=Fl,jl=j({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Ze(),n=t.position==="item-aligned"?pn():void 0,{forwardRef:o,currentElement:a}=ye(),l=F(!1);return he(s=>{if(t.viewport?.value&&t.isPositioned?.value){let c=function(){const f=r.scrollHeight-r.clientHeight;l.value=Math.ceil(r.scrollTop)<f};const r=t.viewport.value;c(),r.addEventListener("scroll",c),s(()=>r.removeEventListener("scroll",c))}}),pe(a,()=>{a.value&&n?.onScrollButtonChange(a.value)}),(s,r)=>l.value?(x(),D(Oo,{key:0,ref:u(o),onAutoScroll:r[0]||(r[0]=()=>{const{viewport:c,selectedItem:f}=u(t);c?.value&&f?.value&&(c.value.scrollTop=c.value.scrollTop+f.value.offsetHeight)})},{default:h(()=>[N(s.$slots,"default")]),_:3},512)):le("v-if",!0)}}),Nl=jl,Vl=j({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){const t=Ze(),n=t.position==="item-aligned"?pn():void 0,{forwardRef:o,currentElement:a}=ye(),l=F(!1);return he(s=>{if(t.viewport?.value&&t.isPositioned?.value){let c=function(){l.value=r.scrollTop>0};const r=t.viewport.value;c(),r.addEventListener("scroll",c),s(()=>r.removeEventListener("scroll",c))}}),pe(a,()=>{a.value&&n?.onScrollButtonChange(a.value)}),(s,r)=>l.value?(x(),D(Oo,{key:0,ref:u(o),onAutoScroll:r[0]||(r[0]=()=>{const{viewport:c,selectedItem:f}=u(t);c?.value&&f?.value&&(c.value.scrollTop=c.value.scrollTop-f.value.offsetHeight)})},{default:h(()=>[N(s.$slots,"default")]),_:3},512)):le("v-if",!0)}}),zl=Vl,Wl=j({__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=We(),{forwardRef:o,currentElement:a}=ye(),l=T(()=>n.disabled?.value||t.disabled);n.contentId||=Jn(void 0,"reka-select-content"),Le(()=>{n.onTriggerChange(a.value)});const{getItems:s}=rt(),{search:r,handleTypeaheadSearch:c,resetTypeahead:f}=fo();function i(){l.value||(n.onOpenChange(!0),f())}function d(m){i(),n.triggerPointerDownPosRef.value={x:Math.round(m.pageX),y:Math.round(m.pageY)}}return(m,p)=>(x(),D(u(oa),{"as-child":"",reference:m.reference},{default:h(()=>[S(u(ie),{ref:u(o),role:"combobox",type:m.as==="button"?"button":void 0,"aria-controls":u(n).contentId,"aria-expanded":u(n).open.value||!1,"aria-required":u(n).required?.value,"aria-autocomplete":"none",disabled:l.value,dir:u(n)?.dir.value,"data-state":u(n)?.open.value?"open":"closed","data-disabled":l.value?"":void 0,"data-placeholder":u(ul)(u(n).modelValue?.value)?"":void 0,"as-child":m.asChild,as:m.as,onClick:p[0]||(p[0]=v=>{v?.currentTarget?.focus()}),onPointerdown:p[1]||(p[1]=v=>{if(v.pointerType==="touch")return v.preventDefault();const g=v.target;g.hasPointerCapture(v.pointerId)&&g.releasePointerCapture(v.pointerId),v.button===0&&v.ctrlKey===!1&&(d(v),v.preventDefault())}),onPointerup:p[2]||(p[2]=mt(v=>{v.pointerType==="touch"&&d(v)},["prevent"])),onKeydown:p[3]||(p[3]=v=>{const g=u(r)!=="";!(v.ctrlKey||v.altKey||v.metaKey)&&v.key.length===1&&g&&v.key===" "||(u(c)(v.key,u(s)()),u(rl).includes(v.key)&&(i(),v.preventDefault()))})},{default:h(()=>[N(m.$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"]))}}),Ul=Wl,Hl=j({__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:o}=ye(),a=We();Le(()=>{a.valueElement=o});const l=T(()=>{let r=[];const c=Array.from(a.optionsSet.value),f=i=>c.find(d=>ht(i,d.value,a.by));return Array.isArray(a.modelValue.value)?r=a.modelValue.value.map(i=>f(i)?.textContent??""):r=[f(a.modelValue.value)?.textContent??""],r.filter(Boolean)}),s=T(()=>l.value.length?l.value.join(", "):t.placeholder);return(r,c)=>(x(),D(u(ie),{ref:u(n),as:r.as,"as-child":r.asChild,style:{pointerEvents:"none"},"data-placeholder":l.value.length?void 0:t.placeholder},{default:h(()=>[N(r.$slots,"default",{selectedLabel:l.value,modelValue:u(a).modelValue.value},()=>[M(z(s.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),Kl=Hl,Yl=j({__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}=tn(t),o=ll(n),a=Ze(),l=a.position==="item-aligned"?pn():void 0,{forwardRef:s,currentElement:r}=ye();Le(()=>{a?.onViewportChange(r.value)});const c=F(0);function f(i){const d=i.currentTarget,{shouldExpandOnScrollRef:m,contentWrapper:p}=l??{};if(m?.value&&p?.value){const v=Math.abs(c.value-d.scrollTop);if(v>0){const g=window.innerHeight-be*2,b=Number.parseFloat(p.value.style.minHeight),O=Number.parseFloat(p.value.style.height),B=Math.max(b,O);if(B<g){const C=B+v,y=Math.min(g,C),A=C-y;p.value.style.height=`${y}px`,p.value.style.bottom==="0px"&&(d.scrollTop=A>0?A:0,p.value.style.justifyContent="flex-end")}}}c.value=d.scrollTop}return(i,d)=>(x(),W(ge,null,[S(u(ie),se({ref:u(s),"data-reka-select-viewport":"",role:"presentation"},{...i.$attrs,...t},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:f}),{default:h(()=>[N(i.$slots,"default")]),_:3},16),S(u(ie),{as:"style",nonce:u(o)},{default:h(()=>d[0]||(d[0]=[M(" /* 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))}}),Xl=Yl;const Gl=j({__name:"Select",props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},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 a=en(e,t);return(l,s)=>(x(),D(u(fl),se({"data-slot":"select"},u(a)),{default:h(r=>[N(l.$slots,"default",nn(on(r)))]),_:3},16))}}),Zl=j({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean},position:{default:"popper"},bodyLock:{type:Boolean},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:{},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,o=t,a=bt(n,"class"),l=en(a,o);return(s,r)=>(x(),D(u($l),null,{default:h(()=>[S(u(Pl),se({"data-slot":"select-content"},{...s.$attrs,...u(l)},{class:u(Oe)("bg-popover text-popover-foreground 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=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md",e.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:h(()=>[S(u(ir)),S(u(Xl),{class:vt(u(Oe)("p-1",e.position==="popper"&&"h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1"))},{default:h(()=>[N(s.$slots,"default")]),_:3},8,["class"]),S(u(rr))]),_:3},16,["class"])]),_:3}))}});const Mn=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Jl=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,o)=>o?o.toUpperCase():n.toLowerCase()),Ql=e=>{const t=Jl(e);return t.charAt(0).toUpperCase()+t.slice(1)},er=(...e)=>e.filter((t,n,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===n).join(" ").trim(),$n=e=>e==="";var pt={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const tr=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":o,strokeWidth:a,"stroke-width":l,size:s=pt.width,color:r=pt.stroke,...c},{slots:f})=>Ut("svg",{...pt,...c,width:s,height:s,stroke:r,"stroke-width":$n(n)||$n(o)||n===!0||o===!0?Number(a||l||pt["stroke-width"])*24/Number(s):a||l||pt["stroke-width"],class:er("lucide",c.class,...e?[`lucide-${Mn(Ql(e))}-icon`,`lucide-${Mn(e)}`]:["lucide-icon"])},[...t.map(i=>Ut(...i)),...f.default?[f.default()]:[]]);const qt=(e,t)=>(n,{slots:o,attrs:a})=>Ut(tr,{...a,...n,iconNode:t,name:e},o);const nr=qt("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const Ao=qt("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const or=qt("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const sr=qt("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),ar={class:"absolute right-2 flex size-3.5 items-center justify-center"},lr=j({__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=bt(t,"class"),o=it(n);return(a,l)=>(x(),D(u(Rl),se({"data-slot":"select-item"},u(o),{class:u(Oe)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t.class)}),{default:h(()=>[K("span",ar,[S(u(Il),null,{default:h(()=>[N(a.$slots,"indicator-icon",{},()=>[S(u(nr),{class:"size-4"})])]),_:3})]),S(u(Ll),null,{default:h(()=>[N(a.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),rr=j({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=bt(t,"class"),o=it(n);return(a,l)=>(x(),D(u(Nl),se({"data-slot":"select-scroll-down-button"},u(o),{class:u(Oe)("flex cursor-default items-center justify-center py-1",t.class)}),{default:h(()=>[N(a.$slots,"default",{},()=>[S(u(Ao),{class:"size-4"})])]),_:3},16,["class"]))}}),ir=j({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e,n=bt(t,"class"),o=it(n);return(a,l)=>(x(),D(u(zl),se({"data-slot":"select-scroll-up-button"},u(o),{class:u(Oe)("flex cursor-default items-center justify-center py-1",t.class)}),{default:h(()=>[N(a.$slots,"default",{},()=>[S(u(or),{class:"size-4"})])]),_:3},16,["class"]))}}),ur=j({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:"default"}},setup(e){const t=e,n=bt(t,"class","size"),o=it(n);return(a,l)=>(x(),D(u(Ul),se({"data-slot":"select-trigger","data-size":e.size},u(o),{class:u(Oe)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t.class)}),{default:h(()=>[N(a.$slots,"default"),S(u(Ol),{"as-child":""},{default:h(()=>[S(u(Ao),{class:"size-4 opacity-50"})]),_:1})]),_:3},16,["data-size","class"]))}}),cr=j({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){const t=e;return(n,o)=>(x(),D(u(Kl),se({"data-slot":"select-value"},t),{default:h(()=>[N(n.$slots,"default")]),_:3},16))}}),dr=j({__name:"Spinner",props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){const t=e;return(n,o)=>(x(),D(u(sr),{role:"status","aria-label":"Loading",class:vt(u(Oe)("size-4 animate-spin",t.class))},null,8,["class"]))}}),fr={class:"space-y-4"},pr={key:0,class:"pointer-events-none absolute inset-0 z-10"},mr={class:"flex flex-wrap items-center justify-center gap-3 text-xs text-muted-foreground"},vr={class:"max-w-40 truncate",translate:"no"},gr={class:"font-medium text-foreground tabular-nums"},hr=.24,yr="#94a3b8",br=288,wr=j({__name:"ProjectLineChart",props:{series:{},tooltipLabels:{},tickIndexes:{},xLabels:{}},setup(e){const t=e,n={bottom:32,left:56,right:28,top:8},o={left:8,right:18},a=[0,void 0],l=ts({selector:"html",attribute:"class",storageKey:"app-color-mode"}),s=new Intl.DateTimeFormat("en-US",{day:"numeric",month:"short"}),r=new Intl.DateTimeFormat("en-US",{month:"short"}),c=ns("chartRoot"),{width:f}=os(c),i=At({datumIndex:null,pointerY:null}),d=T(()=>t.xLabels.map((P,_)=>({index:_,label:t.tooltipLabels?.[_]??P,values:Object.fromEntries(t.series.map(R=>[R.label,R.points[_]??0]))}))),m=T(()=>t.xLabels.map((P,_)=>$e(P,_,t.xLabels.length))),p=T(()=>t.series.map(P=>({...P,color:Fe(P.color),total:P.points.reduce((_,R)=>_+R,0)})).sort((P,_)=>_.total-P.total)),v=T(()=>p.value.map(P=>_=>_.values[P.label]??0)),g=T(()=>Object.fromEntries(p.value.map(P=>[P.label,{color:P.color,label:P.label}]))),b=T(()=>p.value.map(P=>`
2
- <linearGradient id="${ke(P.label)}" x1="0" y1="0" x2="0" y2="1">
3
- <stop offset="0%" stop-color="${P.color}" stop-opacity="0.42" />
4
- <stop offset="100%" stop-color="${P.color}" stop-opacity="0.07" />
5
- </linearGradient>
6
- `).join("")),O=T(()=>d.value.length>0&&p.value.length>0),B=T(()=>[0,Math.max(t.xLabels.length-1,0)]),C=T(()=>n.left),y=T(()=>n.top),A=T(()=>Math.max(f.value-n.left-n.right,0)),k=T(()=>Math.max(br-n.top-n.bottom,0)),E=T(()=>y.value+k.value),I=T(()=>Math.max(A.value-o.left-o.right,0)),$=T(()=>Math.max(...d.value.map(P=>Object.values(P.values).reduce((_,R)=>_+R,0)),0)),q=T(()=>{if(i.datumIndex===null||i.pointerY===null)return null;const P=d.value[i.datumIndex];if(!P||A.value<=0||k.value<=0)return null;const _=t.xLabels.length<=1?0:i.datumIndex/(t.xLabels.length-1),R=C.value+o.left+_*I.value,H=Re(i.pointerY,y.value,E.value),re=(k.value<=0?0:1-(H-y.value)/k.value)*$.value;return{x:R,xLabel:P.label,y:H,yLabel:Pe(re)}}),G=T(()=>{if(t.tickIndexes&&t.tickIndexes.length>0)return t.tickIndexes;const P=t.xLabels.length,_=P>12?5:1;return t.xLabels.map((R,H)=>H).filter(R=>R===0||R===P-1||R%_===0)});function V(P){return P?.index??0}function J(P,_){const R=p.value[_];return R?`url(#${ke(R.label)})`:"#2563eb"}function Y(P,_){return p.value[_]?.color??"#2563eb"}function U(P,_){return p.value[_]?.color??"#2563eb"}function Q(P){return P instanceof Date?"":m.value[P]??""}function Z(P){return P instanceof Date?"":Pe(P)}function X(P){if(!P)return"";const _=p.value.map(R=>({...R,value:P.values[R.label]??0})).sort((R,H)=>H.value-R.value);return`
7
- <div class="grid min-w-48 gap-2 rounded-md border bg-background px-3 py-2 text-xs shadow-lg">
8
- <div class="font-medium text-foreground">${ue(P.label)}</div>
9
- <div class="grid gap-1 text-muted-foreground">
10
- ${_.map(R=>`
11
- <div class="flex items-center justify-between gap-4">
12
- <span class="flex min-w-0 items-center gap-2">
13
- <span class="size-2 shrink-0 rounded-sm" style="background-color: ${R.color}"></span>
14
- <span class="truncate">${ue(R.label)}</span>
15
- </span>
16
- <span class="font-mono font-medium text-foreground">${Pe(R.value)}</span>
17
- </div>
18
- `).join("")}
19
- </div>
20
- </div>
21
- `}function ee(P){const _=c.value?.getBoundingClientRect();if(!_)return;const R=P.clientX-_.left,H=P.clientY-_.top,ce=C.value+A.value,re=C.value+o.left,dt=ce-o.right;if(R<C.value||R>ce||H<y.value||H>E.value||I.value<=0||t.xLabels.length===0){te();return}const Qe=Re((R-re)/Math.max(dt-re,1),0,1),Ue=t.xLabels.length<=1?0:Math.round(Qe*(t.xLabels.length-1));i.datumIndex=Ue,i.pointerY=H}function te(){i.datumIndex=null,i.pointerY=null}function $e(P,_,R){const H=new Date(P);if(Number.isNaN(H.getTime()))return P;const ce=_===0||_===R-1;return R>=90&&!ce&&H.getDate()===1?r.format(H):s.format(H)}function ke(P){return`project-line-${P.replace(/[^a-z0-9]+/gi,"-").toLowerCase()}`}function Re(P,_,R){return Math.min(Math.max(P,_),R)}function ue(P){return P.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Fe(P){if(l.value!=="dark")return P;const _=Je(P);return _!==null&&_<hr?yr:P}function Je(P){const _=P.trim().replace(/^#/,""),R=_.length===3?_.split("").map(ft=>`${ft}${ft}`).join(""):_;if(!/^[\da-f]{6}$/i.test(R))return null;const H=Number.parseInt(R.slice(0,2),16)/255,ce=Number.parseInt(R.slice(2,4),16)/255,re=Number.parseInt(R.slice(4,6),16)/255,dt=oe(H),Qe=oe(ce),Ue=oe(re);return .2126*dt+.7152*Qe+.0722*Ue}function oe(P){return P<=.03928?P/12.92:((P+.055)/1.055)**2.4}return(P,_)=>{const R=ds;return x(),W("div",fr,[K("div",{ref_key:"chartRoot",ref:c,class:"relative",onPointerleave:te,onPointermove:ee},[S(R,{class:"h-72 w-full",config:u(g)},{default:h(()=>[S(u(rs),{"auto-margin":!1,data:u(d),height:288,margin:n,padding:o,"svg-defs":u(b),"x-domain":u(B),"y-domain":a},{default:h(()=>[S(u(is),{color:J,"curve-type":"monotoneX",line:!0,"line-color":Y,"line-width":2,opacity:.82,x:V,y:u(v)},null,8,["y"]),S(u(yn),{"grid-line":!1,"tick-format":Q,"tick-padding":10,"tick-text-hide-overlapping":!0,"tick-text-width":56,"tick-values":u(G),type:"x"},null,8,["tick-values"]),S(u(yn),{"num-ticks":4,"tick-format":Z,type:"y"}),u(O)?(x(),D(u(us),{key:0})):le("",!0),u(O)?(x(),D(u(cs),{key:1,color:U,template:X,x:V,"y-stacked":u(v)},null,8,["y-stacked"])):le("",!0)]),_:1},8,["data","svg-defs","x-domain"])]),_:1},8,["config"]),u(q)?(x(),W("div",pr,[K("div",{class:"absolute border-l border-dashed border-border/80",style:Ne({height:`${u(k)}px`,left:`${u(q).x}px`,top:`${u(y)}px`})},null,4),K("div",{class:"absolute border-t border-dashed border-border/80",style:Ne({left:`${u(C)}px`,top:`${u(q).y}px`,width:`${u(A)}px`})},null,4),K("div",{class:"absolute rounded-sm bg-foreground px-2 py-1 text-[11px] font-medium text-background shadow-sm",style:Ne({left:`${u(q).x}px`,top:`${u(E)+6}px`,transform:"translateX(-50%)"})},z(u(q).xLabel),5),K("div",{class:"absolute rounded-sm bg-foreground px-2 py-1 text-[11px] font-medium text-background shadow-sm",style:Ne({left:`${Math.max(u(C)-8,0)}px`,top:`${u(q).y}px`,transform:"translate(-100%, -50%)"})},z(u(q).yLabel),5)])):le("",!0)],544),K("div",mr,[(x(!0),W(ge,null,we(u(p),H=>(x(),W("div",{key:H.label,class:"flex items-center gap-2"},[K("span",{class:"size-2.5 rounded-sm",style:Ne({backgroundColor:H.color})},null,4),K("span",vr,z(H.label),1),K("span",gr,z(u(Pe)(H.total)),1)]))),128))])])}}}),_r=Object.assign(wr,{__name:"DashboardProjectLineChart"}),Fn=["#2563eb","#f97316","#0891b2","#7c3aed","#16a34a","#dc2626","#64748b"],xr=["claudeCode","codex","gemini"],Sr={claudeCode:{aiIcon:"claude_code",color:"#d97757",label:"Claude Code"},codex:{aiIcon:"codex",color:"#111827",label:"Codex"},gemini:{aiIcon:"gemini",color:"#0ea5e9",label:"Gemini"}},mn=xr.map(e=>({...Sr[e],value:e})),kr=Object.fromEntries(mn.map(e=>[e.value,e])),Tr=[{label:"All",value:"all"},...mn];function jn(e){return kr[e]}function Qt(e){const t=new Date;return Array.from({length:e},(n,o)=>{const a=new Date(t);return a.setHours(0,0,0,0),a.setDate(t.getDate()-(e-1-o)),eo(to(a))})}function Cr(e){return e.map((t,n)=>({date:new Date(t),index:n})).filter(({date:t,index:n})=>n===0||n===e.length-1?!0:Number.isFinite(t.getTime())&&t.getUTCDate()===1).map(({index:t})=>t)}function Pr(e){const t=Do(e);return[{icon:"solar:cpu-line-duotone",name:"Total Tokens",trend:"project total",trendTone:"neutral",value:Pe(t.totalTokens)},{icon:"lucide:wallet",name:"Total Spend",trend:"all time",trendTone:"neutral",value:Be(t.costUSD)},{icon:"lucide:messages-square",name:"Sessions",trend:"all tools",trendTone:"neutral",value:String(t.sessions)},{icon:"lucide:database-zap",name:"Cache Hit Rate",trend:`${Pe(t.cachedInputTokens)} cached`,trendTone:"neutral",value:Qn(t.inputTokens>0?t.cachedInputTokens/t.inputTokens:0)},{icon:"lucide:circle-dollar-sign",name:"Avg Session Cost",trend:"per session",trendTone:"neutral",value:Be(t.sessions>0?t.costUSD/t.sessions:0)}]}function Er(e,t){const n=Do(e),[o="",a=""]=Qt(2).slice().reverse(),l=t.find(m=>m.date===o),s=t.find(m=>m.date===a),r=zn(e,o),c=zn(e,a),f=bn(l?.totalTokens??0,s?.totalTokens??0,Pe),i=bn(l?.costUSD??0,s?.costUSD??0,Be),d=ps(r,c);return[{icon:"solar:cpu-line-duotone",name:"Today Tokens",trend:f.trend,trendTone:f.trendTone,value:Pe(l?.totalTokens??0)},{icon:"lucide:wallet",name:"Today Spend",trend:i.trend,trendTone:i.trendTone,value:Be(l?.costUSD??0)},{icon:"lucide:messages-square",name:"Today Sessions",trend:d.label,trendTone:d.tone,value:String(r)},{icon:"lucide:receipt-text",name:"Total Spend",trend:"all time",trendTone:"neutral",value:Be(n.costUSD)},{icon:"lucide:list-checks",name:"Sessions",trend:"project total",trendTone:"neutral",value:String(n.sessions)},{icon:"lucide:database-zap",name:"Cache Hit Rate",trend:`${Pe(n.cachedInputTokens)} cached`,trendTone:"neutral",value:Qn(n.inputTokens>0?n.cachedInputTokens/n.inputTokens:0)},{icon:"lucide:circle-dollar-sign",name:"Avg Session Cost",trend:"per session",trendTone:"neutral",value:Be(n.sessions>0?n.costUSD/n.sessions:0)}]}function Nn(e,t){const n=new Set(t),o=e.filter(s=>n.has(s.date)),l=fs(o.flatMap(s=>Object.keys(s.models))).map(s=>({model:s,totalTokens:o.reduce((r,c)=>r+(c.models[s]?.totalTokens??0),0)})).sort((s,r)=>r.totalTokens-s.totalTokens||s.model.localeCompare(r.model)).map(s=>s.model).map((s,r)=>({color:Fn[r%Fn.length],label:s,points:t.map(c=>e.find(f=>f.date===c)?.models[s]?.totalTokens??0)}));return{labels:t,series:l}}function Or(e,t){const n=Dr(t);return e.map(o=>({cacheTokens:Te(o.cachedInputTokens),cost:Be(o.costUSD),inputTokens:Te(o.inputTokens),label:o.date,models:Object.keys(o.models).sort((a,l)=>a.localeCompare(l)).join(", ")||"-",outputTokens:Te(o.outputTokens),reasoningTokens:Te(o.reasoningOutputTokens),sessions:String(n.get(o.date)??0),tokens:Te(o.totalTokens)}))}function Vn(e,t){return e.map(n=>({cacheTokens:Te(n.cachedInputTokens),cost:Be(n.costUSD),duration:n.duration||"-",id:`${t}:${n.sessionId}`,inputTokens:Te(n.inputTokens),model:n.models?.join(", ")||n.model||"unknown",outputTokens:Te(n.outputTokens),platform:t,reasoningTokens:Te(n.reasoningOutputTokens),sessionId:n.sessionId,startedAt:Rr(n.startedAt),threadName:n.threadName,tokens:Te(n.tokenTotal)}))}function Do(e){return e.reduce((t,n)=>({cachedInputTokens:t.cachedInputTokens+n.cachedInputTokens,costUSD:t.costUSD+n.costUSD,inputTokens:t.inputTokens+n.inputTokens,outputTokens:t.outputTokens+n.outputTokens,reasoningOutputTokens:t.reasoningOutputTokens+n.reasoningOutputTokens,sessions:t.sessions+1,totalTokens:t.totalTokens+n.tokenTotal}),{cachedInputTokens:0,costUSD:0,inputTokens:0,outputTokens:0,reasoningOutputTokens:0,sessions:0,totalTokens:0})}function Ar(e){return e.reduce((t,n)=>({costUSD:t.costUSD+n.costUSD,sessions:t.sessions+1,totalTokens:t.totalTokens+n.tokenTotal}),{costUSD:0,sessions:0,totalTokens:0})}function Dr(e){return e.reduce((t,n)=>{const o=Ro(n.startedAt);return o&&t.set(o,(t.get(o)??0)+1),t},new Map)}function Ro(e){if(!e)return"";const t=new Date(e);return Number.isFinite(t.getTime())?eo(to(t)):""}function Rr(e){if(!e)return"-";const t=new Date(e);return Number.isFinite(t.getTime())?ms(t):"-"}function zn(e,t){return e.filter(n=>Ro(n.startedAt)===t).length}const Br={class:"flex items-center gap-2"},Ir=j({__name:"ProjectSessionTable",props:{items:{},pageSize:{default:10}},setup(e){const t=e,n=de(1),o=T(()=>Math.max(1,Math.ceil(t.items.length/t.pageSize))),a=T(()=>{const s=(Math.min(n.value,o.value)-1)*t.pageSize;return t.items.slice(s,s+t.pageSize)});return pe(()=>t.items,()=>{n.value=1}),(l,s)=>{const r=so,c=oo,f=no,i=ro,d=io,m=Hn,p=ao,v=lo,g=Kn;return x(),W("div",null,[S(v,null,{default:h(()=>[S(f,null,{default:h(()=>[S(c,null,{default:h(()=>[S(r,null,{default:h(()=>[...s[1]||(s[1]=[M("Session ID",-1)])]),_:1}),S(r,null,{default:h(()=>[...s[2]||(s[2]=[M("Tool",-1)])]),_:1}),S(r,null,{default:h(()=>[...s[3]||(s[3]=[M("Model",-1)])]),_:1}),S(r,null,{default:h(()=>[...s[4]||(s[4]=[M("Started",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[5]||(s[5]=[M(" Duration ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[6]||(s[6]=[M(" Input ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[7]||(s[7]=[M(" Output ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[8]||(s[8]=[M(" Reasoning ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[9]||(s[9]=[M(" Cache Read ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[10]||(s[10]=[M(" Tokens ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[11]||(s[11]=[M(" Cost ",-1)])]),_:1})]),_:1})]),_:1}),S(p,null,{default:h(()=>[(x(!0),W(ge,null,we(u(a),b=>(x(),D(c,{key:b.id},{default:h(()=>[S(i,{class:"max-w-72 truncate font-medium font-mono text-xs",title:b.threadName?`${b.sessionId} (${b.threadName})`:b.sessionId,translate:"no"},{default:h(()=>[M(z(b.sessionId),1)]),_:2},1032,["title"]),S(i,null,{default:h(()=>[K("div",Br,[S(d,{name:u(jn)(b.platform).aiIcon},null,8,["name"]),K("span",null,z(u(jn)(b.platform).label),1)])]),_:2},1024),S(i,{class:"max-w-56 truncate",translate:"no"},{default:h(()=>[M(z(b.model),1)]),_:2},1024),S(i,{class:"whitespace-nowrap"},{default:h(()=>[M(z(b.startedAt),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.duration),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.inputTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.outputTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.reasoningTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.cacheTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.tokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(b.cost),1)]),_:2},1024)]),_:2},1024))),128)),e.items.length===0?(x(),D(m,{key:0,colspan:11},{default:h(()=>[...s[12]||(s[12]=[M(" No sessions found. ",-1)])]),_:1})):le("",!0)]),_:1})]),_:1}),e.items.length>e.pageSize?(x(),D(g,{key:0,page:u(n),"onUpdate:page":s[0]||(s[0]=b=>Tt(n)?n.value=b:null),"page-count":u(o),"page-size":e.pageSize,total:e.items.length},null,8,["page","page-count","page-size","total"])):le("",!0)])}}}),qr=Object.assign(Ir,{__name:"DashboardProjectSessionTable"}),Lr=j({__name:"ProjectTokenUsageTable",props:{items:{},pageSize:{default:10}},setup(e){const t=e,n=de(1),o=T(()=>Math.max(1,Math.ceil(t.items.length/t.pageSize))),a=T(()=>{const s=(Math.min(n.value,o.value)-1)*t.pageSize;return t.items.slice(s,s+t.pageSize)});return pe(()=>t.items,()=>{n.value=1}),(l,s)=>{const r=so,c=oo,f=no,i=ro,d=Hn,m=ao,p=lo,v=Kn;return x(),W("div",null,[S(p,null,{default:h(()=>[S(f,null,{default:h(()=>[S(c,null,{default:h(()=>[S(r,null,{default:h(()=>[...s[1]||(s[1]=[M("Period",-1)])]),_:1}),S(r,null,{default:h(()=>[...s[2]||(s[2]=[M("Models",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[3]||(s[3]=[M(" Sessions ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[4]||(s[4]=[M(" Input ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[5]||(s[5]=[M(" Output ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[6]||(s[6]=[M(" Reasoning ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[7]||(s[7]=[M(" Cache Read ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[8]||(s[8]=[M(" Total Tokens ",-1)])]),_:1}),S(r,{class:"text-right"},{default:h(()=>[...s[9]||(s[9]=[M(" Cost ",-1)])]),_:1})]),_:1})]),_:1}),S(m,null,{default:h(()=>[(x(!0),W(ge,null,we(u(a),g=>(x(),D(c,{key:g.label},{default:h(()=>[S(i,{class:"max-w-72 truncate font-medium"},{default:h(()=>[M(z(g.label),1)]),_:2},1024),S(i,{class:"max-w-56 truncate",translate:"no"},{default:h(()=>[M(z(g.models),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.sessions),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.inputTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.outputTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.reasoningTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.cacheTokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.tokens),1)]),_:2},1024),S(i,{class:"text-right tabular-nums"},{default:h(()=>[M(z(g.cost),1)]),_:2},1024)]),_:2},1024))),128)),e.items.length===0?(x(),D(d,{key:0,colspan:9},{default:h(()=>[...s[10]||(s[10]=[M(" No token usage found. ",-1)])]),_:1})):le("",!0)]),_:1})]),_:1}),e.items.length>e.pageSize?(x(),D(v,{key:0,page:u(n),"onUpdate:page":s[0]||(s[0]=g=>Tt(n)?n.value=g:null),"page-count":u(o),"page-size":e.pageSize,total:e.items.length},null,8,["page","page-count","page-size","total"])):le("",!0)])}}}),Mr=Object.assign(Lr,{__name:"DashboardProjectTokenUsageTable"}),Wt=["meta","daily_trend","model_usage","token_usage","session_list"],$r=30,Fr=365,jr=180,Nr=600,Vr=45e3,Wn=Tr,kt=mn,zr={dailyRows:[],dailyTokenUsage:[]},Wr={dailyTokenUsage:[],monthlyModelUsage:[]},Ur={dailyRows:[],monthlyRows:[],sessionRows:[],weeklyRows:[]},Hr={sessionRows:[],sessionUsage:[],sessions:[]};function Kr(){const e=de(""),t=de("all"),n=de(!1),o=de([]),a=de(""),l=de(null),s=de(null),r=de(null),c=de(null),f=de(null),i=At({daily_trend:!1,meta:!1,model_usage:!1,overview_cards:!1,session_interactions:!1,session_list:!1,token_usage:!1});let d=0,m=0,p=Promise.resolve();const v=new Map,g=T(()=>`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`),{open:b,send:O,status:B}=ss(g,{immediate:!1,autoReconnect:{delay:1e3,retries:3},onConnected(){ke()},onDisconnected(){R(new Error("WebSocket connection closed."))},onError(){a.value="WebSocket connection error."},onMessage(w,L){oe(L.data)}}),C=T(()=>o.value.map(w=>({id:w.label,name:w.label,path:w.path,type:w.type}))),y=T(()=>Wt.some(w=>i[w])),A=T(()=>n.value||y.value||C.value.length===0),k=T(()=>Qe("session_list")),E=T(()=>Object.fromEntries(Wn.map(w=>{const L=Ar(He(w.value).sessions);return[w.value,{cost:Be(L.costUSD),label:w.label,sessions:String(L.sessions),tokens:Pe(L.totalTokens)}]}))),I=T(()=>E.value[t.value]),$=T(()=>[{label:"Tokens",value:I.value.tokens},{label:"Spend",value:I.value.cost},{label:"Sessions",value:I.value.sessions}]),q=T(()=>Qt($r)),G=T(()=>Qt(Fr)),V=T(()=>Cr(G.value)),J=T(()=>Pr(He("all").sessions)),Y=T(()=>Or(Ue("all").dailyTokenUsage,He("all").sessions)),U=T(()=>kt.flatMap(w=>Vn(He(w.value).sessions,w.value))),Q=T(()=>q.value),Z=T(()=>Q.value),X=T(()=>kt.map(w=>({color:w.color,label:w.label,points:vn(w.value,Q.value)}))),ee=T(()=>Nn(ft("all").dailyTokenUsage,q.value)),te=T(()=>Object.fromEntries(kt.map(w=>{const L=G.value,ne=Nn(ft(w.value).dailyTokenUsage,L);return[w.value,{modelLabels:ne.labels,modelSeries:ne.series,modelTickIndexes:V.value,dayRows:vs(He(w.value).sessions),monthRows:Lt(w.value).monthlyRows,overviewCards:Er(He(w.value).sessions,Ue(w.value).dailyTokenUsage),sessionRows:Lt(w.value).sessionRows,sessionTableRows:Vn(He(w.value).sessions,w.value),trendLabels:L,trendSeries:[{color:w.color,label:w.label,points:vn(w.value,L)}],trendTickIndexes:V.value,trendTooltipLabels:L,weekRows:Lt(w.value).weeklyRows}]})));Le(()=>{b()}),Zn(()=>{R(new Error("Project dashboard disposed."))}),pe(e,w=>{$e(),w||re()}),as(e,w=>{w&&Re(w)},{debounce:jr,maxWait:Nr});function $e(){d+=1,re(),a.value=""}async function ke(){return n.value=!0,a.value="",Fe({type:"project"}).then(w=>{o.value=w;const L=w.find(ne=>ne.label===e.value);e.value=L?.label??w[0]?.label??""}).catch(w=>{a.value=w.message}).finally(()=>{n.value=!1})}async function Re(w){const L=C.value.find(ae=>ae.id===w);if(!L){re();return}const ne=d+1;d=ne,re(),await ue(L,Wt,0,ne)}async function ue(w,L,ne,ae){if(ne>=L.length||ae!==d)return;const Ke=L[ne];i[Ke]=!0;try{const et=await Fe({module:Ke,path:w.path,project:w.id,type:"project_data"});if(ae!==d||et.label!==w.id)return;dt(et)}catch(et){if(ae!==d)return;a.value=et instanceof Error?et.message:"Failed to load project module."}finally{ae===d&&(i[Ke]=!1)}await ue(w,L,ne+1,ae)}function Fe(w){const L=p.then(()=>Je(w));return p=L.catch(()=>{}),L}function Je(w){if(B.value!=="OPEN")return Promise.reject(new Error("WebSocket is not connected."));const L=_();return new Promise((ne,ae)=>{const Ke=window.setTimeout(()=>{v.delete(L),ae(new Error("WebSocket request timed out."))},Vr);v.set(L,{reject:Mt=>{window.clearTimeout(Ke),ae(Mt)},requestId:L,resolve:Mt=>{window.clearTimeout(Ke),ne(Mt)}}),O(JSON.stringify({...w,requestId:L}))||(window.clearTimeout(Ke),v.delete(L),ae(new Error("Failed to send WebSocket request.")))})}function oe(w){if(typeof w!="string")return;const L=P(w);if(!L)return;if(H(L)){R(new Error(L.message));return}if(!ce(L))return;const ne=v.get(L.requestId);ne&&(v.delete(L.requestId),ne.resolve(L.data))}function P(w){try{return JSON.parse(w)}catch{return null}}function _(){return m+=1,`${Date.now()}-${m}`}function R(w){for(const L of v.values())L.reject(w);v.clear()}function H(w){if(!w||typeof w!="object")return!1;const L=w;return L.type==="error"&&typeof L.message=="string"}function ce(w){if(!w||typeof w!="object")return!1;const L=w;return typeof L.requestId=="string"&&"data"in L}function re(){l.value=null,s.value=null,r.value=null,c.value=null,f.value=null;for(const w of Wt)i[w]=!1}function dt(w){if(w.module==="meta"){l.value=w.data;return}if(w.module==="daily_trend"){s.value=w.data;return}if(w.module==="model_usage"){r.value=w.data;return}if(w.module==="token_usage"){c.value=w.data;return}w.module==="session_list"&&(f.value=w.data)}function Qe(w){return w==="meta"?l.value!==null:w==="daily_trend"?s.value!==null:w==="model_usage"?r.value!==null:w==="token_usage"?c.value!==null:w==="session_list"?f.value!==null:!1}function Ue(w){return s.value?.[w]??zr}function ft(w){return r.value?.[w]??Wr}function Lt(w){return c.value?.[w]??Ur}function He(w){return f.value?.[w]??Hr}function vn(w,L){const ne=new Map(Ue(w).dailyTokenUsage.map(ae=>[ae.date,ae.totalTokens]));return L.map(ae=>ne.get(ae)??0)}return{activeScopeItems:$,activeTab:t,allDailyUsageRows:Y,allModelChart:ee,allOverviewCards:J,allSessionRows:U,catalogLoading:n,dailySeries:X,dailyTooltipLabels:Z,dailyTrendLabels:Q,isModuleLoaded:Qe,isProjectModuleLoading:y,isProjectSelectDisabled:A,isScopeReady:k,loadingModules:i,metaModule:l,platformTabs:kt,platformViews:te,projects:C,selectedProjectId:e,tabSummaries:E,tabs:Wn,websocketError:a}}const Yr={class:"relative flex flex-col border-b z-10 pb-5 mb-5"},Xr={class:"container mx-auto flex flex-col gap-3"},Gr={class:"relative flex justify-between items-stretch"},Zr={key:0,class:"flex items-center gap-2 text-xs text-muted-foreground"},Jr={class:"flex justify-between items-center"},Qr={class:"min-w-0 flex-1"},ei={class:"flex flex-col items-start gap-1.5"},ti={class:"w-full flex justify-between items-center"},ni={class:"truncate text-sm font-medium"},oi={key:1,class:"block truncate text-xs text-muted-foreground tabular-nums"},si={class:"grid grid-cols-3 gap-4"},ai={key:1,class:"truncate text-sm font-semibold tabular-nums"},li={class:"truncate text-xs font-medium uppercase tracking-wide text-muted-foreground"},ri={key:0,class:"text-xs text-destructive"},ii={key:1,class:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-5 md:col-span-12"},ui={class:"md:col-span-12"},ci={key:0,class:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4 xl:grid-cols-7"},di={key:1,class:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4 xl:grid-cols-7"},hi=j({__name:"project",setup(e){const{activeScopeItems:t,activeTab:n,allDailyUsageRows:o,allModelChart:a,allOverviewCards:l,allSessionRows:s,dailySeries:r,dailyTooltipLabels:c,dailyTrendLabels:f,isModuleLoaded:i,isProjectModuleLoading:d,isProjectSelectDisabled:m,isScopeReady:p,platformTabs:v,platformViews:g,projects:b,selectedProjectId:O,tabSummaries:B,tabs:C,websocketError:y}=Kr();return(A,k)=>{const E=cr,I=ur,$=lr,q=Zl,G=Gl,V=dr,J=ls,Y=io,U=_s,Q=Lo,Z=qo,X=ys,ee=_r,te=bs,$e=qr,ke=Mr,Re=hs,ue=Mo,Fe=ws,Je=$o,oe=gs,P=Fo;return x(),D(P,{modelValue:u(n),"onUpdate:modelValue":k[1]||(k[1]=_=>Tt(n)?n.value=_:null)},{default:h(()=>[K("div",Yr,[K("div",Xr,[K("div",Gr,[K("div",{class:vt(u(Oe)("flex items-center gap-4","before:content-[' '] before:absolute","before:w-1 before:h-full","before:rounded-full","before:bg-amber-500"))},[S(G,{modelValue:u(O),"onUpdate:modelValue":k[0]||(k[0]=_=>Tt(O)?O.value=_:null),disabled:u(m)},{default:h(()=>[S(I,{"aria-label":"Select Project",class:vt(u(Oe)("bg-transparent dark:bg-transparent! border-0 px-0 py-0 font-semibold","tracking-tight shadow-none focus-visible:ring-0","ml-4"))},{default:h(()=>[S(E,{placeholder:"Choose project"})]),_:1},8,["class"]),S(q,null,{default:h(()=>[(x(!0),W(ge,null,we(u(b),_=>(x(),D($,{key:_.id,value:_.id},{default:h(()=>[M(z(_.name),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"]),u(d)?(x(),W("div",Zr,[S(V,{class:"size-3.5"}),k[2]||(k[2]=K("span",null,"Switching project...",-1))])):le("",!0)],2)]),K("div",Jr,[S(Z,{"aria-label":"Project platform scope",class:"flex h-auto justify-start bg-transparent gap-5"},{default:h(()=>[(x(!0),W(ge,null,we(u(C),_=>(x(),D(Q,{key:_.value,"aria-label":_.label,value:_.value,class:vt(["flex justify-start gap-3 shadow-none",u(Oe)("data-[state=active]:border","data-[state=active]:border-dashed","data-[state=active]:border-amber-500","data-[state=active]:bg-transparent")])},{default:h(()=>[_.value==="all"?(x(),D(J,{key:0,"aria-hidden":"true",class:"size-4 text-muted-foreground",mode:"svg",name:"lucide:layout-dashboard"})):(x(),D(Y,{key:1,class:"flex items-center [&_svg]:size-5!",name:_.aiIcon},null,8,["name"])),K("div",Qr,[K("div",ei,[K("div",ti,[K("span",ni,z(_.label),1)]),u(p)?(x(),W("span",oi,z(u(B)[_.value].tokens)+" tokens ",1)):(x(),D(U,{key:0,class:"h-3 w-20"}))])])]),_:2},1032,["aria-label","value","class"]))),128))]),_:1}),K("div",si,[(x(!0),W(ge,null,we(u(t),_=>(x(),W("div",{key:_.label,class:"flex flex-col items-start gap-3 rounded-md border border-dotted px-3 py-2"},[u(p)?(x(),W("p",ai,z(_.value),1)):(x(),D(U,{key:0,class:"h-5 w-16"})),K("p",li,z(_.label),1)]))),128))])]),u(y)?(x(),W("p",ri,z(u(y)),1)):le("",!0)])]),S(oe,null,{default:h(()=>[S(ue,{class:"m-0",value:"all"},{default:h(()=>[S(Re,null,{default:h(()=>[u(i)("session_list")?(x(),D(X,{key:0,cards:u(l),class:"md:col-span-12 lg:grid-cols-5"},null,8,["cards"])):(x(),W("div",ii,[(x(),W(ge,null,we(5,_=>S(U,{key:_,class:"h-28 rounded-md"})),64))])),S(te,{class:"md:col-span-12",description:"Recent usage by provider",icon:"lucide:activity",title:"Daily Token Trend"},{default:h(()=>[u(i)("model_usage")?(x(),D(ee,{key:0,series:u(r),"tooltip-labels":u(c),"x-labels":u(f)},null,8,["series","tooltip-labels","x-labels"])):(x(),D(U,{key:1,class:"h-80 w-full rounded-md"}))]),_:1}),S(te,{class:"md:col-span-12",description:"Usage by model",icon:"solar:cpu-line-duotone",title:"Model Usage"},{default:h(()=>[u(i)("model_usage")?(x(),D(ee,{key:0,series:u(a).series,"tooltip-labels":u(a).labels,"x-labels":u(a).labels},null,8,["series","tooltip-labels","x-labels"])):(x(),D(U,{key:1,class:"h-80 w-full rounded-md"}))]),_:1}),S(te,{class:"md:col-span-12",description:"Sessions in this project",icon:"lucide:messages-square",title:"Session Statistics"},{default:h(()=>[u(i)("session_list")?(x(),D($e,{key:0,items:u(s)},null,8,["items"])):(x(),D(U,{key:1,class:"h-72 w-full rounded-md"}))]),_:1}),S(te,{class:"md:col-span-12",description:"Daily model activity by token type, cache reads, total usage, and cost",icon:"lucide:calendar-days",title:"Daily Token Usage"},{default:h(()=>[u(i)("daily_trend")?(x(),D(ke,{key:0,items:u(o)},null,8,["items"])):(x(),D(U,{key:1,class:"h-72 w-full rounded-md"}))]),_:1})]),_:1})]),_:1}),(x(!0),W(ge,null,we(u(v),_=>(x(),D(ue,{key:_.value,value:_.value,class:"m-0"},{default:h(()=>[S(Re,null,{default:h(()=>[K("div",ui,[u(i)("daily_trend")&&u(i)("session_list")?(x(),W("div",ci,[(x(!0),W(ge,null,we(u(g)[_.value].overviewCards,R=>(x(),D(Fe,{key:R.name,icon:R.icon,name:R.name,trend:R.trend,"trend-tone":R.trendTone,value:R.value},null,8,["icon","name","trend","trend-tone","value"]))),128))])):(x(),W("div",di,[(x(),W(ge,null,we(7,R=>S(U,{key:R,class:"h-28 rounded-md"})),64))]))]),S(te,{description:`${_.label} token usage within the current project`,class:"md:col-span-12",icon:"lucide:chart-area",title:"Token Trend"},{default:h(()=>[u(i)("daily_trend")?(x(),D(ee,{key:0,series:u(g)[_.value].trendSeries,"tick-indexes":u(g)[_.value].trendTickIndexes,"tooltip-labels":u(g)[_.value].trendTooltipLabels,"x-labels":u(g)[_.value].trendLabels},null,8,["series","tick-indexes","tooltip-labels","x-labels"])):(x(),D(U,{key:1,class:"h-80 w-full rounded-md"}))]),_:2},1032,["description"]),S(te,{description:`${_.label} model trend within the current project`,class:"md:col-span-12",icon:"solar:cpu-line-duotone",title:"Model Usage Trend"},{default:h(()=>[u(i)("daily_trend")?(x(),D(ee,{key:0,series:u(g)[_.value].modelSeries,"tick-indexes":u(g)[_.value].modelTickIndexes,"tooltip-labels":u(g)[_.value].modelLabels,"x-labels":u(g)[_.value].modelLabels},null,8,["series","tick-indexes","tooltip-labels","x-labels"])):(x(),D(U,{key:1,class:"h-80 w-full rounded-md"}))]),_:2},1032,["description"]),u(i)("token_usage")&&u(i)("session_list")?(x(),D(Je,{key:0,class:"md:col-span-12","daily-items":u(g)[_.value].dayRows,"monthly-items":u(g)[_.value].monthRows,"product-name":_.label,"session-items":u(g)[_.value].sessionRows,"weekly-items":u(g)[_.value].weekRows},null,8,["daily-items","monthly-items","product-name","session-items","weekly-items"])):(x(),D(U,{key:1,class:"h-72 rounded-md md:col-span-12"})),S(te,{description:`${_.label} sessions in the current project`,class:"md:col-span-12",icon:"lucide:list-tree",title:"Session List"},{default:h(()=>[u(i)("session_list")?(x(),D($e,{key:0,items:u(g)[_.value].sessionTableRows},null,8,["items"])):(x(),D(U,{key:1,class:"h-72 w-full rounded-md"}))]),_:2},1032,["description"])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue"])}}});export{hi as default};
@@ -1 +0,0 @@
1
- {"id":"38460625-fa40-4f13-86da-ddec4bfb4ab8","timestamp":1776958003233,"prerendered":[]}