claude-session-dashboard 0.4.4 → 0.5.0

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.
Files changed (48) hide show
  1. package/dist/client/assets/_dashboard-ChSI7O-o.js +1 -0
  2. package/dist/client/assets/_sessionId-DxfkocLt.js +12 -0
  3. package/dist/client/assets/app-BAZLXX_G.css +1 -0
  4. package/dist/client/assets/createServerFn-DJjqV8Yc.js +1 -0
  5. package/dist/client/assets/index-BHwOAB5a.js +1 -0
  6. package/dist/client/assets/main-DMwMzWYr.js +69 -0
  7. package/dist/client/assets/sessions.queries-D7WObk5d.js +1 -0
  8. package/dist/client/assets/settings-BM0TBEkW.js +1 -0
  9. package/dist/client/assets/settings.types-BNSfIfFX.js +1 -0
  10. package/dist/client/assets/stats-wLUGXFpZ.js +4 -0
  11. package/dist/client/assets/useSessionCost-BPqnyONZ.js +37 -0
  12. package/dist/server/assets/{_dashboard-smfIqyQC.js → _dashboard-DZJZ9oYy.js} +13 -12
  13. package/dist/server/assets/{_sessionId-DIUMcrWR.js → _sessionId-znGcd1Dj.js} +53 -24
  14. package/dist/server/assets/_tanstack-start-manifest_v-BNorjuP4.js +4 -0
  15. package/dist/server/assets/{app-info.server-CXcS0a5s.js → app-info.api-CrHplh0q.js} +33 -18
  16. package/dist/server/assets/{createServerRpc-Bd3B-Ah9.js → createServerRpc-D_-6bKnO.js} +1 -1
  17. package/dist/server/assets/{createSsrRpc-CVg2UDl0.js → createSsrRpc-OFLSk08e.js} +2 -3
  18. package/dist/server/assets/{index-hFrIPkke.js → index-BnvjnlZM.js} +31 -14
  19. package/dist/server/assets/{project-analytics.server-Bxk8-NnT.js → project-analytics.api-6b5TIBNn.js} +12 -10
  20. package/dist/server/assets/{router-5hznwWqr.js → router-DAepjaOj.js} +80 -12
  21. package/dist/server/assets/{session-detail.server-BIoOQwSE.js → session-detail.api-BQts3iQn.js} +38 -33
  22. package/dist/server/assets/{session-parser-B0pdBvgT.js → session-parser-DKZZMuh6.js} +123 -31
  23. package/dist/server/assets/{session-scanner-CpgOq5m1.js → session-scanner-CECpfGFh.js} +4 -4
  24. package/dist/server/assets/{sessions.server-Biq8gbAJ.js → sessions.api-CQ-Lrk5S.js} +16 -14
  25. package/dist/server/assets/{sessions.queries-B5ZBiVJy.js → sessions.queries-MfPgj6cK.js} +4 -4
  26. package/dist/server/assets/{settings-D0FgLIR5.js → settings-DsLaw8yg.js} +42 -13
  27. package/dist/server/assets/{settings.server-6B2PvLgf.js → settings.api-Cq5KPUxN.js} +12 -11
  28. package/dist/server/assets/{settings.queries-DSQd324O.js → settings.queries-CMWxUDF-.js} +4 -4
  29. package/dist/server/assets/{settings.types-DntadCHo.js → settings.types-CphWe-HW.js} +10 -1
  30. package/dist/server/assets/{stats-Ae6umrPI.js → stats-DKbhSePW.js} +57 -43
  31. package/dist/server/assets/{stats.server-DhzOihwM.js → stats.api-tIZqhk4B.js} +12 -10
  32. package/dist/server/assets/{useSessionCost-CYs5UOX-.js → useSessionCost-iQEg4FRM.js} +2 -2
  33. package/dist/server/server.js +458 -808
  34. package/package.json +6 -2
  35. package/LICENSE +0 -21
  36. package/README.md +0 -194
  37. package/dist/client/assets/_dashboard-DLFGahko.js +0 -1
  38. package/dist/client/assets/_sessionId-xiPzwrlf.js +0 -12
  39. package/dist/client/assets/app-DREGBD44.css +0 -1
  40. package/dist/client/assets/createServerFn-BLR4iNR3.js +0 -1
  41. package/dist/client/assets/index-D_9sS4oJ.js +0 -1
  42. package/dist/client/assets/main-BcKPK-4E.js +0 -56
  43. package/dist/client/assets/sessions.queries-CHKiZnLm.js +0 -1
  44. package/dist/client/assets/settings-B2tG1vy0.js +0 -1
  45. package/dist/client/assets/settings.types-DHC6rkil.js +0 -1
  46. package/dist/client/assets/stats-BlA0NIHc.js +0 -4
  47. package/dist/client/assets/useSessionCost-BikgEmWy.js +0 -37
  48. package/dist/server/assets/_tanstack-start-manifest_v-Dmhlhehg.js +0 -4
@@ -0,0 +1 @@
1
+ import{c as e,v as r,y as s,_ as i,x as c,D as d}from"./main-DMwMzWYr.js";import{c as a,q as n}from"./createServerFn-DJjqV8Yc.js";a({method:"GET"}).handler(e("8fd6c4e5b4d5590acf1ec73da75f249978e8aced6dd2be23de06ade8431033be"));const o=a({method:"GET"}).handler(e("946cc550946f64ee7985dc35913a690eb13183d7ba83cffe398e424e697b4265"));r({page:c().int().min(1),pageSize:c().int().min(5).max(100),search:s(),status:i(["all","active","completed"]),project:s()});const b=a({method:"GET"}).handler(e("e574977967ea9b3387e72d70704b6ca87230e72becaf69f0b98cbc91c9cd1339")),u=n({queryKey:["sessions","active"],queryFn:()=>o(),refetchInterval:3e3});function m(t){return n({queryKey:["sessions","paginated",t],queryFn:()=>b({data:t}),placeholderData:d,refetchInterval:3e4})}export{u as a,m as p};
@@ -0,0 +1 @@
1
+ import{j as e,b as k,d as T,r as p}from"./main-DMwMzWYr.js";import{u as P}from"./createServerFn-DJjqV8Yc.js";import{S,D as y,u as M,a as b,s as w}from"./settings.types-BNSfIfFX.js";function C({value:a,onChange:n}){return e.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4",children:S.map(i=>{const x=a===i.id;return e.jsxs("button",{type:"button",onClick:()=>n(i.id),className:`rounded-lg border px-3 py-2 text-left transition-colors ${x?"border-brand-500 bg-brand-500/10 text-gray-100":"border-gray-800 bg-gray-900/50 text-gray-400 hover:border-gray-700 hover:text-gray-300"}`,children:[e.jsx("div",{className:"text-sm font-medium",children:i.displayName}),e.jsx("div",{className:"mt-0.5 font-mono text-[10px] text-gray-500",children:i.monthlyUSD!==null?`$${i.monthlyUSD}/mo`:"Custom"})]},i.id)})})}const j=[{key:"inputPerMTok",label:"Input"},{key:"outputPerMTok",label:"Output"},{key:"cacheReadPerMTok",label:"Cache Read"},{key:"cacheWritePerMTok",label:"Cache Write"}];function D({overrides:a,onChange:n}){function i(t,s,o){const c=parseFloat(o);if(!Number.isFinite(c)||c<0||c>1e6)return;const r=y.find(g=>g.modelId===t);if(!r)return;const l=a[t]?{...a[t]}:{inputPerMTok:r.inputPerMTok,outputPerMTok:r.outputPerMTok,cacheReadPerMTok:r.cacheReadPerMTok,cacheWritePerMTok:r.cacheWritePerMTok};l[s]=c;const m=l.inputPerMTok===r.inputPerMTok&&l.outputPerMTok===r.outputPerMTok&&l.cacheReadPerMTok===r.cacheReadPerMTok&&l.cacheWritePerMTok===r.cacheWritePerMTok,d={...a};m?delete d[t]:d[t]=l,n(d)}function x(t,s){const o=a[t.modelId];return o?o[s]:t[s]}function h(t,s){const o=a[t];if(!o)return!1;const c=y.find(r=>r.modelId===t);return c?o[s]!==c[s]:!1}return e.jsxs("div",{className:"overflow-x-auto",children:[e.jsxs("table",{className:"w-full text-left text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-gray-800",children:[e.jsx("th",{className:"pb-2 pr-4 text-gray-400 font-medium",children:"Model"}),j.map(t=>e.jsx("th",{className:"pb-2 px-2 text-right text-gray-400 font-medium",children:t.label},t.key))]})}),e.jsx("tbody",{children:y.map(t=>e.jsxs("tr",{className:"border-b border-gray-800/50",children:[e.jsx("td",{className:"py-2 pr-4 font-mono text-gray-300",children:t.displayName}),j.map(s=>{const o=x(t,s.key),c=h(t.modelId,s.key);return e.jsx("td",{className:"px-1 py-1.5",children:e.jsx("input",{type:"number",step:"0.01",min:"0",value:o,onChange:r=>i(t.modelId,s.key,r.target.value),className:`w-20 rounded border px-2 py-1 text-right font-mono text-xs ${c?"border-brand-500/50 bg-brand-500/10 text-brand-400":"border-gray-700 bg-gray-800 text-gray-300"} focus:border-brand-500 focus:outline-none`})},s.key)})]},t.modelId))})]}),e.jsx("p",{className:"mt-2 text-[10px] text-gray-600",children:"Prices in USD per million tokens. Overridden values are highlighted."})]})}function R(){const{data:a,isLoading:n}=P(w);return n||!a?e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"h-8 w-48 animate-pulse rounded bg-gray-800"}),e.jsx("div",{className:"h-64 animate-pulse rounded-xl bg-gray-900/50"})]}):e.jsx(I,{settings:a})}function I({settings:a}){const n=M(),{privacyMode:i,togglePrivacyMode:x}=k(),{theme:h,toggleTheme:t}=T(),s=h==="dark",[o,c]=p.useState(a.subscriptionTier),[r,l]=p.useState(a.pricingOverrides),[m,d]=p.useState(!1);function g(u){c(u),d(!0)}function f(u){l(u),d(!0)}function N(){c(b.subscriptionTier),l(b.pricingOverrides),d(!0)}function v(){const u={version:1,subscriptionTier:o,pricingOverrides:r,dataSources:[]};n.mutate(u,{onSuccess:()=>{d(!1)}})}return e.jsxs("div",{children:[e.jsx("h1",{className:"text-xl font-bold text-gray-100",children:"Settings"}),e.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Configure your subscription tier and API pricing for cost estimation."}),e.jsxs("div",{className:"mt-6",children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-300",children:"Privacy Mode"}),e.jsx("p",{className:"mt-1 text-[10px] text-gray-500",children:"Hide project names, file paths, and branch names across the dashboard. Useful when screen-sharing or recording demos."}),e.jsxs("div",{className:"mt-3 rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs text-gray-300",children:"Enable privacy mode"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs text-gray-500",children:i?"On":"Off"}),e.jsx("button",{type:"button",role:"switch","aria-checked":i,onClick:x,className:`relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full transition-colors ${i?"bg-brand-600":"bg-gray-800"}`,children:e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${i?"translate-x-[18px]":"translate-x-[3px]"}`})})]})]}),e.jsxs("div",{className:"mt-3 border-t border-gray-800 pt-3",children:[e.jsx("p",{className:"text-[10px] font-medium text-gray-400",children:"What gets hidden:"}),e.jsxs("ul",{className:"mt-1.5 space-y-1 text-[10px] text-gray-500",children:[e.jsxs("li",{children:[e.jsx("span",{className:"text-gray-400",children:"Project names"})," ",e.jsx("span",{className:"font-mono text-gray-600",children:"→ project-1, project-2, ..."})]}),e.jsxs("li",{children:[e.jsx("span",{className:"text-gray-400",children:"File paths"})," ",e.jsx("span",{className:"font-mono text-gray-600",children:"→ .../project-1"})]}),e.jsxs("li",{children:[e.jsx("span",{className:"text-gray-400",children:"Branch names"})," ",e.jsx("span",{className:"font-mono text-gray-600",children:"→ branch-1, branch-2, ..."})]})]})]})]})]}),e.jsxs("div",{className:"mt-6",children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-300",children:"Theme"}),e.jsx("p",{className:"mt-1 text-[10px] text-gray-500",children:"Switch between dark and light mode. Defaults to your system preference."}),e.jsx("div",{className:"mt-3 rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("span",{className:"text-xs text-gray-300",children:s?"Dark mode":"Light mode"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs text-gray-500",children:s?"🌙":"☀️"}),e.jsx("button",{type:"button",role:"switch","aria-checked":!s,onClick:t,className:`relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full transition-colors ${s?"bg-gray-800":"bg-brand-600"}`,children:e.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${s?"translate-x-[3px]":"translate-x-[18px]"}`})})]})]})})]}),e.jsxs("div",{className:"mt-6",children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-300",children:"Subscription Tier"}),e.jsx("p",{className:"mt-1 text-[10px] text-gray-500",children:"Select your Claude subscription plan. This is informational only and does not affect cost calculations."}),e.jsx("div",{className:"mt-3",children:e.jsx(C,{value:o,onChange:g})})]}),e.jsxs("div",{className:"mt-6",children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-300",children:"API Pricing (per million tokens)"}),e.jsx("p",{className:"mt-1 text-[10px] text-gray-500",children:"Default prices from Anthropic. Override any value to match your negotiated rates."}),e.jsx("div",{className:"mt-3 rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:e.jsx(D,{overrides:r,onChange:f})})]}),e.jsxs("div",{className:"mt-6 flex items-center justify-between",children:[e.jsx("button",{type:"button",onClick:N,className:"rounded-lg border border-gray-700 px-3 py-1.5 text-xs text-gray-400 transition-colors hover:border-gray-600 hover:text-gray-300",children:"Reset to Defaults"}),e.jsxs("div",{className:"flex items-center gap-3",children:[n.isSuccess&&!m&&e.jsx("span",{className:"text-xs text-emerald-400",children:"Saved"}),n.isError&&e.jsxs("span",{className:"text-xs text-red-400",children:["Failed to save: ",n.error?.message??"Unknown error"]}),e.jsx("button",{type:"button",onClick:v,disabled:!m||n.isPending,className:`rounded-lg px-4 py-1.5 text-xs font-medium transition-colors ${m&&!n.isPending?"bg-brand-600 text-gray-100 hover:bg-brand-500":"cursor-not-allowed bg-gray-800 text-gray-500"}`,children:n.isPending?"Saving...":"Save"})]})]})]})}function F(){return e.jsx(R,{})}export{F as component};
@@ -0,0 +1 @@
1
+ import{c as h,q as T}from"./createServerFn-DJjqV8Yc.js";import{S as P,s as k,m as d,n as b,o as l,p,r,q as f,t as S,c as m,v as c,x as n,y as o,z as v,A as O,B as C,_ as g,C as x}from"./main-DMwMzWYr.js";var R=class extends P{#t;#a=void 0;#e;#s;constructor(e,t){super(),this.#t=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#t.defaultMutationOptions(e),k(this.options,t)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#e,observer:this}),t?.mutationKey&&this.options.mutationKey&&d(t.mutationKey)!==d(this.options.mutationKey)?this.reset():this.#e?.state.status==="pending"&&this.#e.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#e?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#r(e)}getCurrentResult(){return this.#a}reset(){this.#e?.removeObserver(this),this.#e=void 0,this.#i(),this.#r()}mutate(e,t){return this.#s=t,this.#e?.removeObserver(this),this.#e=this.#t.getMutationCache().build(this.#t,this.options),this.#e.addObserver(this),this.#e.execute(e)}#i(){const e=this.#e?.state??b();this.#a={...e,isPending:e.status==="pending",isSuccess:e.status==="success",isError:e.status==="error",isIdle:e.status==="idle",mutate:this.mutate,reset:this.reset}}#r(e){l.batch(()=>{if(this.#s&&this.hasListeners()){const t=this.#a.variables,i=this.#a.context,s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#s.onSuccess?.(e.data,t,i,s)}catch(a){Promise.reject(a)}try{this.#s.onSettled?.(e.data,null,t,i,s)}catch(a){Promise.reject(a)}}else if(e?.type==="error"){try{this.#s.onError?.(e.error,t,i,s)}catch(a){Promise.reject(a)}try{this.#s.onSettled?.(void 0,e.error,t,i,s)}catch(a){Promise.reject(a)}}}this.listeners.forEach(t=>{t(this.#a)})})}};function N(e,t){const i=p(),[s]=r.useState(()=>new R(i,e));r.useEffect(()=>{s.setOptions(e)},[s,e]);const a=r.useSyncExternalStore(r.useCallback(u=>s.subscribe(l.batchCalls(u)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),M=r.useCallback((u,y)=>{s.mutate(u,y).catch(f)},[s]);if(a.error&&S(s.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:M,mutateAsync:a.mutate}}const I=h({method:"GET"}).handler(m("72f81ef9e8fa751bab60a8bdabd7e77816e2a6723a5e6e26e03712c01b3a249c")),E=h({method:"POST"}).handler(m("7fe8c2b131c4fc81aa9a2570aec79640ff84603fe0060d13c24928b7329cb236")),q=T({queryKey:["settings"],queryFn:()=>I(),staleTime:3e5,refetchOnWindowFocus:!1});function K(){const e=p();return N({mutationFn:t=>E({data:t}),onSuccess:()=>{e.invalidateQueries({queryKey:["settings"]})}})}const U=c({inputPerMTok:n().min(0),outputPerMTok:n().min(0),cacheReadPerMTok:n().min(0),cacheWritePerMTok:n().min(0)});c({version:x(1),subscriptionTier:g(["free","pro","max-5x","max-20x","teams","enterprise","api"]).default("pro"),pricingOverrides:C(o(),U).default({}),dataSources:v(c({id:o(),label:o(),path:o(),enabled:O().default(!0)})).default([]),updatedAt:o().datetime().optional()});const F=[{modelId:"claude-opus-4-6",displayName:"Claude Opus 4.6",inputPerMTok:5,outputPerMTok:25,cacheReadPerMTok:.5,cacheWritePerMTok:6.25},{modelId:"claude-opus-4-5",displayName:"Claude Opus 4.5",inputPerMTok:5,outputPerMTok:25,cacheReadPerMTok:.5,cacheWritePerMTok:6.25},{modelId:"claude-opus-4-1",displayName:"Claude Opus 4.1",inputPerMTok:15,outputPerMTok:75,cacheReadPerMTok:1.5,cacheWritePerMTok:18.75},{modelId:"claude-opus-4",displayName:"Claude Opus 4",inputPerMTok:15,outputPerMTok:75,cacheReadPerMTok:1.5,cacheWritePerMTok:18.75},{modelId:"claude-sonnet-4-5",displayName:"Claude Sonnet 4.5",inputPerMTok:3,outputPerMTok:15,cacheReadPerMTok:.3,cacheWritePerMTok:3.75},{modelId:"claude-sonnet-4",displayName:"Claude Sonnet 4",inputPerMTok:3,outputPerMTok:15,cacheReadPerMTok:.3,cacheWritePerMTok:3.75},{modelId:"claude-haiku-4-5",displayName:"Claude Haiku 4.5",inputPerMTok:1,outputPerMTok:5,cacheReadPerMTok:.1,cacheWritePerMTok:1.25},{modelId:"claude-haiku-3-5",displayName:"Claude Haiku 3.5",inputPerMTok:.8,outputPerMTok:4,cacheReadPerMTok:.08,cacheWritePerMTok:1},{modelId:"claude-haiku-3",displayName:"Claude Haiku 3",inputPerMTok:.25,outputPerMTok:1.25,cacheReadPerMTok:.03,cacheWritePerMTok:.3}],j=[{id:"free",displayName:"Free",monthlyUSD:0},{id:"pro",displayName:"Pro",monthlyUSD:20},{id:"max-5x",displayName:"Max 5x",monthlyUSD:100},{id:"max-20x",displayName:"Max 20x",monthlyUSD:200},{id:"teams",displayName:"Teams",monthlyUSD:150},{id:"enterprise",displayName:"Enterprise",monthlyUSD:null},{id:"api",displayName:"API Only",monthlyUSD:null}],w={subscriptionTier:"pro",pricingOverrides:{}};function A(e){return e.replace(/-\d{8}$/,"")}export{F as D,j as S,w as a,A as n,q as s,K as u};
@@ -0,0 +1,4 @@
1
+ import{c as jr,r as s,a as Or,g as ha,i as ba,j as u,b as wr,L as xa,R as $t}from"./main-DMwMzWYr.js";import{c as Ar,q as kr,u as yt}from"./createServerFn-DJjqV8Yc.js";import{t as Le,c as Sr,m as Er,a as Ir,f as oe,b as ve,s as Pa,d as $e,e as ja,g as Oa}from"./format-Bsprb3az.js";import{w as wa,c as Ee,s as nt,i as K,a as te,u as Tr,r as X,b as Ge,S as Aa,d as M,e as ka,p as Nr,f as Sa,g as Ea,h as Ia,j as Cr,k as Dr,l as se,m as Ta,n as _t,o as Na,q as I,t as Ae,v as Ca,x as Da,y as le,z as Ma,A as La,B as Mr,C as $a,D as _a,E as Y,F as Ba,G as Ra,H as za,I as Ka,J as re,K as Fa,L as Wa,M as Ga,N as Ua,O as Lr,P as Va,Q as Ha,R as qa,T as Ue,U as $r,V as gt,W as Ya,X as ht,Y as xe,Z as _,_ as V,$ as _r,a0 as Xa,a1 as Za,a2 as Ja,a3 as Qa,a4 as en,a5 as Ve,a6 as Br,a7 as tn,a8 as ge,a9 as bt,aa as rn,ab as he,ac as Rr,ad as an,ae as fe,af as nn,ag as xt,ah as zr,ai as on,aj as sn,ak as ln,al as Kr,am as cn,an as J,ao as it,ap as ot,aq as un,ar as dn,as as fn,at as He,au as st,av as vn,aw as mn,ax as qe,ay as Bt,az as Rt,aA as Fr,aB as Wr,aC as Gr,aD as we,aE as zt,aF as Ur,aG as pn,aH as ce,aI as me,aJ as ue,aK as pe,aL as Vr,aM as Hr,aN as qr,aO as yn,aP as gn,aQ as Kt,aR as hn,aS as Ft,aT as bn,aU as xn,aV as Pn,aW as jn,aX as On,aY as wn,aZ as An,a_ as kn,a$ as Sn,b0 as Wt,b1 as En,b2 as In,b3 as Tn,b4 as D,b5 as Nn,b6 as Cn,b7 as Dn,b8 as Mn,b9 as Ln,ba as $n,bb as _n,bc as Bn,bd as Rn,be as zn,bf as Kn,bg as Yr,bh as Fn,bi as Wn,bj as Gn,bk as Un,bl as Vn,bm as Hn,bn as qn,bo as Yn,bp as Pt,bq as Xr,br as jt,bs as Xn,bt as Zn,bu as Jn,bv as Qn,bw as Ie,bx as ei,by as ti,bz as ri,bA as ai}from"./useSessionCost-BPqnyONZ.js";import"./settings.types-BNSfIfFX.js";const ni=Ar({method:"GET"}).handler(jr("44af69d3bfcf3ec46fffb3f297d2b12cd7fe4db36c654b8a322df34d549c6493")),ii=kr({queryKey:["stats"],queryFn:()=>ni(),refetchInterval:6e4}),oi=Ar({method:"GET"}).handler(jr("39e65590d2bc41f653f54a9b6a9e0a72f185da275304c0a4a595d811cf185572")),Zr=kr({queryKey:["projects","analytics"],queryFn:()=>oi(),refetchInterval:6e4}),Jr=Math.cos,_e=Math.sin,q=Math.sqrt,Be=Math.PI,Ye=2*Be,Ot={draw(e,t){const r=q(t/Be);e.moveTo(r,0),e.arc(0,0,r,0,Ye)}},si={draw(e,t){const r=q(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}},Qr=q(1/3),li=Qr*2,ci={draw(e,t){const r=q(t/li),a=r*Qr;e.moveTo(0,-r),e.lineTo(a,0),e.lineTo(0,r),e.lineTo(-a,0),e.closePath()}},ui={draw(e,t){const r=q(t),a=-r/2;e.rect(a,a,r,r)}},di=.8908130915292852,ea=_e(Be/10)/_e(7*Be/10),fi=_e(Ye/10)*ea,vi=-Jr(Ye/10)*ea,mi={draw(e,t){const r=q(t*di),a=fi*r,n=vi*r;e.moveTo(0,-r),e.lineTo(a,n);for(let i=1;i<5;++i){const o=Ye*i/5,l=Jr(o),d=_e(o);e.lineTo(d*r,-l*r),e.lineTo(l*a-d*n,d*a+l*n)}e.closePath()}},Qe=q(3),pi={draw(e,t){const r=-q(t/(Qe*3));e.moveTo(0,r*2),e.lineTo(-Qe*r,-r),e.lineTo(Qe*r,-r),e.closePath()}},W=-.5,G=q(3)/2,lt=1/q(12),yi=(lt/2+1)*3,gi={draw(e,t){const r=q(t/yi),a=r/2,n=r*lt,i=a,o=r*lt+r,l=-i,d=o;e.moveTo(a,n),e.lineTo(i,o),e.lineTo(l,d),e.lineTo(W*a-G*n,G*a+W*n),e.lineTo(W*i-G*o,G*i+W*o),e.lineTo(W*l-G*d,G*l+W*d),e.lineTo(W*a+G*n,W*n-G*a),e.lineTo(W*i+G*o,W*o-G*i),e.lineTo(W*l+G*d,W*d-G*l),e.closePath()}};function hi(e,t){let r=null,a=wa(n);e=typeof e=="function"?e:Ee(e||Ot),t=typeof t=="function"?t:Ee(t===void 0?64:+t);function n(){let i;if(r||(r=i=a()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),i)return r=null,i+""||null}return n.type=function(i){return arguments.length?(e=typeof i=="function"?i:Ee(i),n):e},n.size=function(i){return arguments.length?(t=typeof i=="function"?i:Ee(+i),n):t},n.context=function(i){return arguments.length?(r=i??null,n):r},n}var bi=["type","size","sizeType"];function ct(){return ct=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ct.apply(null,arguments)}function Gt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function Ut(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Gt(Object(r),!0).forEach(function(a){xi(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Gt(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function xi(e,t,r){return(t=Pi(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pi(e){var t=ji(e,"string");return typeof t=="symbol"?t:t+""}function ji(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Oi(e,t){if(e==null)return{};var r,a,n=wi(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wi(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}var ta={symbolCircle:Ot,symbolCross:si,symbolDiamond:ci,symbolSquare:ui,symbolStar:mi,symbolTriangle:pi,symbolWye:gi},Ai=Math.PI/180,ki=e=>{var t="symbol".concat(Tr(e));return ta[t]||Ot},Si=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var a=18*Ai;return 1.25*e*e*(Math.tan(a)-Math.tan(a*2)*Math.tan(a)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},Ei=(e,t)=>{ta["symbol".concat(Tr(e))]=t},wt=e=>{var{type:t="circle",size:r=64,sizeType:a="area"}=e,n=Oi(e,bi),i=Ut(Ut({},n),{},{type:t,size:r,sizeType:a}),o="circle";typeof t=="string"&&(o=t);var l=()=>{var v=ki(o),g=hi().type(v).size(Si(r,a,o)),b=g();if(b!==null)return b},{className:d,cx:c,cy:m}=i,f=nt(i);return K(c)&&K(m)&&K(r)?s.createElement("path",ct({},f,{className:te("recharts-symbols",d),transform:"translate(".concat(c,", ").concat(m,")"),d:l()})):null};wt.registerSymbol=Ei;function Re(){return Re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Re.apply(null,arguments)}function Vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function ra(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Vt(Object(r),!0).forEach(function(a){Ii(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Vt(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Ii(e,t,r){return(t=Ti(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ti(e){var t=Ni(e,"string");return typeof t=="symbol"?t:t+""}function Ni(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var U=32,Ci={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function Di(e){if(typeof e=="object"&&e!==null&&"strokeDasharray"in e)return String(e.strokeDasharray)}function Mi(e){var{data:t,iconType:r,inactiveColor:a}=e,n=U/2,i=U/6,o=U/3,l=t.inactive?a:t.color,d=r??t.type;if(d==="none")return null;if(d==="plainline")return s.createElement("line",{strokeWidth:4,fill:"none",stroke:l,strokeDasharray:Di(t.payload),x1:0,y1:n,x2:U,y2:n,className:"recharts-legend-icon"});if(d==="line")return s.createElement("path",{strokeWidth:4,fill:"none",stroke:l,d:"M0,".concat(n,"h").concat(o,`
2
+ A`).concat(i,",").concat(i,",0,1,1,").concat(2*o,",").concat(n,`
3
+ H`).concat(U,"M").concat(2*o,",").concat(n,`
4
+ A`).concat(i,",").concat(i,",0,1,1,").concat(o,",").concat(n),className:"recharts-legend-icon"});if(d==="rect")return s.createElement("path",{stroke:"none",fill:l,d:"M0,".concat(U/8,"h").concat(U,"v").concat(U*3/4,"h").concat(-U,"z"),className:"recharts-legend-icon"});if(s.isValidElement(t.legendIcon)){var c=ra({},t);return delete c.legendIcon,s.cloneElement(t.legendIcon,c)}return s.createElement(wt,{fill:l,cx:n,cy:n,size:U,sizeType:"diameter",type:d})}function Li(e){var{payload:t,iconSize:r,layout:a,formatter:n,inactiveColor:i,iconType:o,labelStyle:l}=e,d={x:0,y:0,width:U,height:U},c={display:a==="horizontal"?"inline-block":"block",marginRight:10},m={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((f,v)=>{var g=f.formatter||n,b=te({"recharts-legend-item":!0,["legend-item-".concat(v)]:!0,inactive:f.inactive});if(f.type==="none")return null;var h=typeof l=="object"?ra({},l):{};h.color=f.inactive?i:h.color||f.color;var y=g?g(f.value,f,v):f.value;return s.createElement("li",Re({className:b,style:c,key:"legend-item-".concat(v)},Ge(e,f,v)),s.createElement(Aa,{width:r,height:r,viewBox:d,style:m,"aria-label":"".concat(y," legend icon")},s.createElement(Mi,{data:f,iconType:o,inactiveColor:i})),s.createElement("span",{className:"recharts-legend-item-text",style:h},y))})}var $i=e=>{var t=X(e,Ci),{payload:r,layout:a,align:n}=t;if(!r||!r.length)return null;var i={padding:0,margin:0,textAlign:a==="horizontal"?n:"left"};return s.createElement("ul",{className:"recharts-default-legend",style:i},s.createElement(Li,Re({},t,{payload:r})))};function _i(){return M(ka)}var Bi=["contextPayload"];function ut(){return ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ut.apply(null,arguments)}function Ht(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function ye(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ht(Object(r),!0).forEach(function(a){Ri(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ht(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Ri(e,t,r){return(t=zi(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function zi(e){var t=Ki(e,"string");return typeof t=="symbol"?t:t+""}function Ki(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Fi(e,t){if(e==null)return{};var r,a,n=Wi(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Wi(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}function Gi(e){return e.value}function Ui(e){var{contextPayload:t}=e,r=Fi(e,Bi),a=Na(t,e.payloadUniqBy,Gi),n=ye(ye({},r),{},{payload:a});return s.isValidElement(e.content)?s.cloneElement(e.content,n):typeof e.content=="function"?s.createElement(e.content,n):s.createElement($i,n)}function Vi(e,t,r,a,n,i){var{layout:o,align:l,verticalAlign:d}=t,c,m;return(!e||(e.left===void 0||e.left===null)&&(e.right===void 0||e.right===null))&&(l==="center"&&o==="vertical"?c={left:((a||0)-i.width)/2}:c=l==="right"?{right:r&&r.right||0}:{left:r&&r.left||0}),(!e||(e.top===void 0||e.top===null)&&(e.bottom===void 0||e.bottom===null))&&(d==="middle"?m={top:((n||0)-i.height)/2}:m=d==="bottom"?{bottom:r&&r.bottom||0}:{top:r&&r.top||0}),ye(ye({},c),m)}function Hi(e){var t=se();return s.useEffect(()=>{t(Ta(e))},[t,e]),null}function qi(e){var t=se();return s.useEffect(()=>(t(_t(e)),()=>{t(_t({width:0,height:0}))}),[t,e]),null}function Yi(e,t,r,a){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||a}:null}var Xi={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",layout:"horizontal",verticalAlign:"bottom"};function Zi(e){var t=X(e,Xi),r=_i(),a=Sa(),n=Ea(),{width:i,height:o,wrapperStyle:l,portal:d}=t,[c,m]=Ia([r]),f=Cr(),v=Dr();if(f==null||v==null)return null;var g=f-(n?.left||0)-(n?.right||0),b=Yi(t.layout,o,i,g),h=d?l:ye(ye({position:"absolute",width:b?.width||i||"auto",height:b?.height||o||"auto"},Vi(l,t,n,f,v,c)),l),y=d??a;if(y==null||r==null)return null;var p=s.createElement("div",{className:"recharts-legend-wrapper",style:h,ref:m},s.createElement(Hi,{layout:t.layout,align:t.align,verticalAlign:t.verticalAlign,itemSorter:t.itemSorter}),!d&&s.createElement(qi,{width:c.width,height:c.height}),s.createElement(Ui,ut({},t,b,{margin:n,chartWidth:f,chartHeight:v,contextPayload:r})));return Or.createPortal(p,y)}var aa=s.memo(Zi,Nr);aa.displayName="Legend";var ke=e=>null;ke.displayName="Cell";var na=e=>e.graphicalItems.polarItems,Ji=I([Ae,Ca],Da),Xe=I([na,le,Ji],Ma),Qi=I([Xe],La),Ze=I([Qi,Mr],$a),eo=I([Ze,le,Xe],_a);I([Ze,le,Xe],(e,t,r)=>r.length>0?e.flatMap(a=>r.flatMap(n=>{var i,o=Y(a,(i=t.dataKey)!==null&&i!==void 0?i:n.dataKey);return{value:o,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(a=>({value:Y(a,t.dataKey),errorDomain:[]})):e.map(a=>({value:a,errorDomain:[]})));var qt=()=>{},to=I([Ze,le,Xe,Ba,Ae],Ra),ro=I([le,za,Ka,qt,to,qt,re,Ae],Fa),ia=I([le,re,Ze,eo,Wa,Ae,ro],Ga),ao=I([ia,Ua,Lr],Va),no=I([le,ia,ao,Ae],Ha);I([Lr,no],qa);function Yt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function Xt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Yt(Object(r),!0).forEach(function(a){io(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Yt(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function io(e,t,r){return(t=oo(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function oo(e){var t=so(e,"string");return typeof t=="symbol"?t:t+""}function so(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var lo=(e,t)=>t,At=I([na,lo],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),co=[],kt=(e,t,r)=>r?.length===0?co:r,oa=I([Mr,At,kt],(e,t,r)=>{var{chartData:a}=e;if(t!=null){var n;if(t?.data!=null&&t.data.length>0?n=t.data:n=a,(!n||!n.length)&&r!=null&&(n=r.map(i=>Xt(Xt({},t.presentationProps),i.props))),n!=null)return n}}),uo=I([oa,At,kt],(e,t,r)=>{if(!(e==null||t==null))return e.map((a,n)=>{var i,o=Y(a,t.nameKey,t.name),l;return r!=null&&(i=r[n])!==null&&i!==void 0&&(i=i.props)!==null&&i!==void 0&&i.fill?l=r[n].props.fill:typeof a=="object"&&a!=null&&"fill"in a?l=a.fill:l=t.fill,{value:Ue(o,t.dataKey),color:l,payload:a,type:t.legendType}})}),fo=I([oa,At,kt,$r],(e,t,r,a)=>{if(!(t==null||e==null))return Zo({offset:a,pieSettings:t,displayedData:e,cells:r})}),et={},Zt;function vo(){return Zt||(Zt=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){if(typeof r!="object"||r==null)return!1;if(Object.getPrototypeOf(r)===null)return!0;if(Object.prototype.toString.call(r)!=="[object Object]"){const n=r[Symbol.toStringTag];return n==null||!Object.getOwnPropertyDescriptor(r,Symbol.toStringTag)?.writable?!1:r.toString()===`[object ${n}]`}let a=r;for(;Object.getPrototypeOf(a)!==null;)a=Object.getPrototypeOf(a);return Object.getPrototypeOf(r)===a}e.isPlainObject=t})(et)),et}var tt,Jt;function mo(){return Jt||(Jt=1,tt=vo().isPlainObject),tt}var po=mo();const yo=ha(po);var Qt,er,tr,rr,ar;function nr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function ir(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?nr(Object(r),!0).forEach(function(a){go(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):nr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function go(e,t,r){return(t=ho(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ho(e){var t=bo(e,"string");return typeof t=="symbol"?t:t+""}function bo(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ze(){return ze=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ze.apply(null,arguments)}function Pe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var or=(e,t,r,a,n)=>{var i=r-a,o;return o=xe(Qt||(Qt=Pe(["M ",",",""])),e,t),o+=xe(er||(er=Pe(["L ",",",""])),e+r,t),o+=xe(tr||(tr=Pe(["L ",",",""])),e+r-i/2,t+n),o+=xe(rr||(rr=Pe(["L ",",",""])),e+r-i/2-a,t+n),o+=xe(ar||(ar=Pe(["L ",","," Z"])),e,t),o},xo={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},Po=e=>{var t=X(e,xo),{x:r,y:a,upperWidth:n,lowerWidth:i,height:o,className:l}=t,{animationEasing:d,animationDuration:c,animationBegin:m,isUpdateAnimationActive:f}=t,v=s.useRef(null),[g,b]=s.useState(-1),h=s.useRef(n),y=s.useRef(i),p=s.useRef(o),x=s.useRef(r),j=s.useRef(a),P=gt(e,"trapezoid-");if(s.useEffect(()=>{if(v.current&&v.current.getTotalLength)try{var T=v.current.getTotalLength();T&&b(T)}catch{}},[]),r!==+r||a!==+a||n!==+n||i!==+i||o!==+o||n===0&&i===0||o===0)return null;var k=te("recharts-trapezoid",l);if(!f)return s.createElement("g",null,s.createElement("path",ze({},nt(t),{className:k,d:or(r,a,n,i,o)})));var O=h.current,w=y.current,A=p.current,N=x.current,S=j.current,C="0px ".concat(g===-1?1:g,"px"),z="".concat(g,"px ").concat(g,"px"),$=Ya(["strokeDasharray"],c,d);return s.createElement(ht,{animationId:P,key:P,canBegin:g>0,duration:c,easing:d,isActive:f,begin:m},T=>{var F=_(O,n,T),H=_(w,i,T),R=_(A,o,T),ae=_(N,r,T),ne=_(S,a,T);v.current&&(h.current=F,y.current=H,p.current=R,x.current=ae,j.current=ne);var be=T>0?{transition:$,strokeDasharray:z}:{strokeDasharray:C};return s.createElement("path",ze({},nt(t),{className:k,d:or(ae,ne,F,H,R),ref:v,style:ir(ir({},be),t.style)}))})},jo=["option","shapeType","activeClassName","inActiveClassName"];function Oo(e,t){if(e==null)return{};var r,a,n=wo(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wo(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}function sr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function Ke(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?sr(Object(r),!0).forEach(function(a){Ao(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):sr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Ao(e,t,r){return(t=ko(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ko(e){var t=So(e,"string");return typeof t=="symbol"?t:t+""}function So(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Eo(e,t){return Ke(Ke({},t),e)}function Io(e,t){return e==="symbols"}function lr(e){var{shapeType:t,elementProps:r}=e;switch(t){case"rectangle":return s.createElement(Za,r);case"trapezoid":return s.createElement(Po,r);case"sector":return s.createElement(Xa,r);case"symbols":if(Io(t))return s.createElement(wt,r);break;case"curve":return s.createElement(_r,r);default:return null}}function To(e){return s.isValidElement(e)?e.props:e}function sa(e){var{option:t,shapeType:r,activeClassName:a="recharts-active-shape",inActiveClassName:n="recharts-shape"}=e,i=Oo(e,jo),o;if(s.isValidElement(t))o=s.cloneElement(t,Ke(Ke({},i),To(t)));else if(typeof t=="function")o=t(i,i.index);else if(yo(t)&&typeof t!="boolean"){var l=Eo(t,i);o=s.createElement(lr,{shapeType:r,elementProps:l})}else{var d=i;o=s.createElement(lr,{shapeType:r,elementProps:d})}return i.isActive?s.createElement(V,{className:a},o):s.createElement(V,{className:n},o)}var St=(e,t,r)=>{var a=se();return(n,i)=>o=>{e?.(n,i,o),a(Ja({activeIndex:String(i),activeDataKey:t,activeCoordinate:n.tooltipPosition,activeGraphicalItemId:r}))}},Et=e=>{var t=se();return(r,a)=>n=>{e?.(r,a,n),t(Qa())}},It=(e,t,r)=>{var a=se();return(n,i)=>o=>{e?.(n,i,o),a(en({activeIndex:String(i),activeDataKey:t,activeCoordinate:n.tooltipPosition,activeGraphicalItemId:r}))}},No=["key"],Co=["onMouseEnter","onClick","onMouseLeave"],Do=["id"],Mo=["id"];function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},Q.apply(null,arguments)}function Je(e,t){if(e==null)return{};var r,a,n=Lo(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Lo(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}function cr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function E(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?cr(Object(r),!0).forEach(function(a){$o(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function $o(e,t,r){return(t=_o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _o(e){var t=Bo(e,"string");return typeof t=="symbol"?t:t+""}function Bo(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ro(e){var t=s.useMemo(()=>bt(e.children,ke),[e.children]),r=M(a=>uo(a,e.id,t));return r==null?null:s.createElement(rn,{legendPayload:r})}function zo(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(s.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var{fill:a}=e;return typeof a=="string"?a:void 0}}var Ko=s.memo(e=>{var{dataKey:t,nameKey:r,sectors:a,stroke:n,strokeWidth:i,fill:o,name:l,hide:d,tooltipType:c,id:m,activeShape:f}=e,v=zo(f),g=a.map(h=>{var y=h.tooltipPayload;return v==null||y==null?y:y.map(p=>E(E({},p),{},{color:v,fill:v}))}),b={dataDefinedOnItem:g,getPosition:h=>{var y;return(y=a[Number(h)])===null||y===void 0?void 0:y.tooltipPosition},settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:r,name:Ue(l,t),hide:d,type:c,color:o,unit:"",graphicalItemId:m}};return s.createElement(Rr,{tooltipEntrySettings:b})}),Fo=(e,t)=>e>t?"start":e<t?"end":"middle",Wo=(e,t,r)=>typeof t=="function"?J(t(e),r,r*.8):J(t,r,r*.8),Go=(e,t,r)=>{var{top:a,left:n,width:i,height:o}=t,l=cn(i,o),d=n+J(e.cx,i,i/2),c=a+J(e.cy,o,o/2),m=J(e.innerRadius,l,0),f=Wo(r,e.outerRadius,l),v=e.maxRadius||Math.sqrt(i*i+o*o)/2;return{cx:d,cy:c,innerRadius:m,outerRadius:f,maxRadius:v}},Uo=(e,t)=>{var r=fe(t-e),a=Math.min(Math.abs(t-e),360);return r*a},Vo=(e,t)=>{if(s.isValidElement(e))return s.cloneElement(e,t);if(typeof e=="function")return e(t);var r=te("recharts-pie-label-line",typeof e!="boolean"?e.className:""),{key:a}=t,n=Je(t,No);return s.createElement(_r,Q({},n,{type:"linear",className:r}))},Ho=(e,t,r)=>{if(s.isValidElement(e))return s.cloneElement(e,t);var a=r;if(typeof e=="function"&&(a=e(t),s.isValidElement(a)))return a;var n=te("recharts-pie-label-text",un(e));return s.createElement(dn,Q({},t,{alignmentBaseline:"middle",className:n}),a)};function qo(e){var{sectors:t,props:r,showLabels:a}=e,{label:n,labelLine:i,dataKey:o}=r;if(!a||!n||!t)return null;var l=Ve(r),d=ot(n),c=ot(i),m=typeof n=="object"&&"offsetRadius"in n&&typeof n.offsetRadius=="number"&&n.offsetRadius||20,f=t.map((v,g)=>{var b=(v.startAngle+v.endAngle)/2,h=it(v.cx,v.cy,v.outerRadius+m,b),y=E(E(E(E({},l),v),{},{stroke:"none"},d),{},{index:g,textAnchor:Fo(h.x,v.cx)},h),p=E(E(E(E({},l),v),{},{fill:"none",stroke:v.fill},c),{},{index:g,points:[it(v.cx,v.cy,v.outerRadius,b),h],key:"line"});return s.createElement(he,{zIndex:ge.label,key:"label-".concat(v.startAngle,"-").concat(v.endAngle,"-").concat(v.midAngle,"-").concat(g)},s.createElement(V,null,i&&Vo(i,p),Ho(n,y,Y(v,o))))});return s.createElement(V,{className:"recharts-pie-labels"},f)}function Yo(e){var{sectors:t,props:r,showLabels:a}=e,{label:n}=r;return typeof n=="object"&&n!=null&&"position"in n?s.createElement(Kr,{label:n}):s.createElement(qo,{sectors:t,props:r,showLabels:a})}function Xo(e){var{sectors:t,activeShape:r,inactiveShape:a,allOtherPieProps:n,shape:i,id:o}=e,l=M(xt),d=M(zr),c=M(on),{onMouseEnter:m,onClick:f,onMouseLeave:v}=n,g=Je(n,Co),b=St(m,n.dataKey,o),h=Et(v),y=It(f,n.dataKey,o);return t==null||t.length===0?null:s.createElement(s.Fragment,null,t.map((p,x)=>{if(p?.startAngle===0&&p?.endAngle===0&&t.length!==1)return null;var j=c==null||c===o,P=String(x)===l&&(d==null||n.dataKey===d)&&j,k=l?a:null,O=r&&P?r:k,w=E(E({},p),{},{stroke:p.stroke,tabIndex:-1,[ln]:x,[sn]:o});return s.createElement(V,Q({key:"sector-".concat(p?.startAngle,"-").concat(p?.endAngle,"-").concat(p.midAngle,"-").concat(x),tabIndex:-1,className:"recharts-pie-sector"},Ge(g,p,x),{onMouseEnter:b(p,x),onMouseLeave:h(p,x),onClick:y(p,x)}),s.createElement(sa,Q({option:i??O,index:x,shapeType:"sector",isActive:P},w)))}))}function Zo(e){var t,{pieSettings:r,displayedData:a,cells:n,offset:i}=e,{cornerRadius:o,startAngle:l,endAngle:d,dataKey:c,nameKey:m,tooltipType:f}=r,v=Math.abs(r.minAngle),g=Uo(l,d),b=Math.abs(g),h=a.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,y=a.filter(O=>Y(O,c,0)!==0).length,p=(b>=360?y:y-1)*h,x=b-y*v-p,j=a.reduce((O,w)=>{var A=Y(w,c,0);return O+(K(A)?A:0)},0),P;if(j>0){var k;P=a.map((O,w)=>{var A=Y(O,c,0),N=Y(O,m,w),S=Go(r,i,O),C=(K(A)?A:0)/j,z,$=E(E({},O),n&&n[w]&&n[w].props),T=$!=null&&"fill"in $&&typeof $.fill=="string"?$.fill:r.fill;w?z=k.endAngle+fe(g)*h*(A!==0?1:0):z=l;var F=z+fe(g)*((A!==0?v:0)+C*x),H=(z+F)/2,R=(S.innerRadius+S.outerRadius)/2,ae=[{name:N,value:A,payload:$,dataKey:c,type:f,color:T,fill:T,graphicalItemId:r.id}],ne=it(S.cx,S.cy,R,H);return k=E(E(E(E({},r.presentationProps),{},{percent:C,cornerRadius:typeof o=="string"?parseFloat(o):o,name:N,tooltipPayload:ae,midAngle:H,middleRadius:R,tooltipPosition:ne},$),S),{},{value:A,dataKey:c,startAngle:z,endAngle:F,payload:$,paddingAngle:fe(g)*h}),k})}return P}function Jo(e){var{showLabels:t,sectors:r,children:a}=e,n=s.useMemo(()=>!t||!r?[]:r.map(i=>({value:i.value,payload:i.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:i.cx,cy:i.cy,innerRadius:i.innerRadius,outerRadius:i.outerRadius,startAngle:i.startAngle,endAngle:i.endAngle,clockWise:!1},fill:i.fill})),[r,t]);return s.createElement(nn,{value:t?n:void 0},a)}function Qo(e){var{props:t,previousSectorsRef:r,id:a}=e,{sectors:n,isAnimationActive:i,animationBegin:o,animationDuration:l,animationEasing:d,activeShape:c,inactiveShape:m,onAnimationStart:f,onAnimationEnd:v}=t,g=gt(t,"recharts-pie-"),b=r.current,[h,y]=s.useState(!1),p=s.useCallback(()=>{typeof v=="function"&&v(),y(!1)},[v]),x=s.useCallback(()=>{typeof f=="function"&&f(),y(!0)},[f]);return s.createElement(Jo,{showLabels:!h,sectors:n},s.createElement(ht,{animationId:g,begin:o,duration:l,isActive:i,easing:d,onAnimationStart:x,onAnimationEnd:p,key:g},j=>{var P,k=[],O=n&&n[0],w=(P=O?.startAngle)!==null&&P!==void 0?P:0;return n?.forEach((A,N)=>{var S=b&&b[N],C=N>0?an(A,"paddingAngle",0):0;if(S){var z=_(S.endAngle-S.startAngle,A.endAngle-A.startAngle,j),$=E(E({},A),{},{startAngle:w+C,endAngle:w+z+C});k.push($),w=$.endAngle}else{var{endAngle:T,startAngle:F}=A,H=_(0,T-F,j),R=E(E({},A),{},{startAngle:w+C,endAngle:w+H+C});k.push(R),w=R.endAngle}}),r.current=k,s.createElement(V,null,s.createElement(Xo,{sectors:k,activeShape:c,inactiveShape:m,allOtherPieProps:t,shape:t.shape,id:a}))}),s.createElement(Yo,{showLabels:!h,sectors:n,props:t}),t.children)}var es={animationBegin:400,animationDuration:1500,animationEasing:"ease",cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,startAngle:0,stroke:"#fff",zIndex:ge.area};function ts(e){var{id:t}=e,r=Je(e,Do),{hide:a,className:n,rootTabIndex:i}=e,o=s.useMemo(()=>bt(e.children,ke),[e.children]),l=M(m=>fo(m,t,o)),d=s.useRef(null),c=te("recharts-pie",n);return a||l==null?(d.current=null,s.createElement(V,{tabIndex:i,className:c})):s.createElement(he,{zIndex:e.zIndex},s.createElement(Ko,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,id:t,activeShape:e.activeShape}),s.createElement(V,{tabIndex:i,className:c},s.createElement(Qo,{props:E(E({},r),{},{sectors:l}),previousSectorsRef:d,id:t})))}function rs(e){var t=X(e,es),{id:r}=t,a=Je(t,Mo),n=Ve(a);return s.createElement(Br,{id:r,type:"pie"},i=>s.createElement(s.Fragment,null,s.createElement(tn,{type:"pie",id:i,data:a.data,dataKey:a.dataKey,hide:a.hide,angleAxisId:0,radiusAxisId:0,name:a.name,nameKey:a.nameKey,tooltipType:a.tooltipType,legendType:a.legendType,fill:a.fill,cx:a.cx,cy:a.cy,startAngle:a.startAngle,endAngle:a.endAngle,paddingAngle:a.paddingAngle,minAngle:a.minAngle,innerRadius:a.innerRadius,outerRadius:a.outerRadius,cornerRadius:a.cornerRadius,presentationProps:n,maxRadius:t.maxRadius}),s.createElement(Ro,Q({},a,{id:i})),s.createElement(ts,Q({},a,{id:i}))))}var la=rs;la.displayName="Pie";var ur=(e,t,r)=>{var a=r??e;if(!He(a))return J(a,t,0)},as=(e,t,r)=>{var a={},n=e.filter(fn),i=e.filter(c=>c.stackId==null),o=n.reduce((c,m)=>{var f=c[m.stackId];return f==null&&(f=[]),f.push(m),c[m.stackId]=f,c},a),l=Object.entries(o).map(c=>{var m,[f,v]=c,g=v.map(h=>h.dataKey),b=ur(t,r,(m=v[0])===null||m===void 0?void 0:m.barSize);return{stackId:f,dataKeys:g,barSize:b}}),d=i.map(c=>{var m=[c.dataKey].filter(v=>v!=null),f=ur(t,r,c.barSize);return{stackId:void 0,dataKeys:m,barSize:f}});return[...l,...d]};function dr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function Te(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?dr(Object(r),!0).forEach(function(a){ns(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):dr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ns(e,t,r){return(t=is(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function is(e){var t=os(e,"string");return typeof t=="symbol"?t:t+""}function os(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ss(e,t,r,a,n){var i,o=a.length;if(!(o<1)){var l=J(e,r,0,!0),d,c=[];if(st((i=a[0])===null||i===void 0?void 0:i.barSize)){var m=!1,f=r/o,v=a.reduce((x,j)=>x+(j.barSize||0),0);v+=(o-1)*l,v>=r&&(v-=(o-1)*l,l=0),v>=r&&f>0&&(m=!0,f*=.9,v=o*f);var g=(r-v)/2>>0,b={offset:g-l,size:0};d=a.reduce((x,j)=>{var P,k={stackId:j.stackId,dataKeys:j.dataKeys,position:{offset:b.offset+b.size+l,size:m?f:(P=j.barSize)!==null&&P!==void 0?P:0}},O=[...x,k];return b=k.position,O},c)}else{var h=J(t,r,0,!0);r-2*h-(o-1)*l<=0&&(l=0);var y=(r-2*h-(o-1)*l)/o;y>1&&(y>>=0);var p=st(n)?Math.min(y,n):y;d=a.reduce((x,j,P)=>[...x,{stackId:j.stackId,dataKeys:j.dataKeys,position:{offset:h+(y+l)*P+(y-p)/2,size:p}}],c)}return d}}var ls=(e,t,r,a,n,i,o)=>{var l=He(o)?t:o,d=ss(r,a,n!==i?n:i,e,l);return n!==i&&d!=null&&(d=d.map(c=>Te(Te({},c),{},{position:Te(Te({},c.position),{},{offset:c.position.offset-n/2})}))),d},cs=(e,t)=>{var r=vn(t);if(!(!e||r==null||t==null)){var{stackId:a}=t;if(a!=null){var n=e[a];if(n){var{stackedData:i}=n;if(i)return i.find(o=>o.key===r)}}}},us=(e,t)=>{if(!(e==null||t==null)){var r=e.find(a=>a.stackId===t.stackId&&t.dataKey!=null&&a.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function ds(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&st(e.zIndex)?e.zIndex:t}var fs=["x1","y1","x2","y2","key"],vs=["offset"],ms=["xAxisId","yAxisId"],ps=["xAxisId","yAxisId"];function fr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function L(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?fr(Object(r),!0).forEach(function(a){ys(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):fr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ys(e,t,r){return(t=gs(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gs(e){var t=hs(e,"string");return typeof t=="symbol"?t:t+""}function hs(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ie(){return ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ie.apply(null,arguments)}function Fe(e,t){if(e==null)return{};var r,a,n=bs(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function bs(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}var xs=e=>{var{fill:t}=e;if(!t||t==="none")return null;var{fillOpacity:r,x:a,y:n,width:i,height:o,ry:l}=e;return s.createElement("rect",{x:a,y:n,ry:l,width:i,height:o,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function ca(e){var{option:t,lineItemProps:r}=e,a;if(s.isValidElement(t))a=s.cloneElement(t,r);else if(typeof t=="function")a=t(r);else{var n,{x1:i,y1:o,x2:l,y2:d,key:c}=r,m=Fe(r,fs),f=(n=Ve(m))!==null&&n!==void 0?n:{},{offset:v}=f,g=Fe(f,vs);a=s.createElement("line",ie({},g,{x1:i,y1:o,x2:l,y2:d,fill:"none",key:c}))}return a}function Ps(e){var{x:t,width:r,horizontal:a=!0,horizontalPoints:n}=e;if(!a||!n||!n.length)return null;var{xAxisId:i,yAxisId:o}=e,l=Fe(e,ms),d=n.map((c,m)=>{var f=L(L({},l),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(m),index:m});return s.createElement(ca,{key:"line-".concat(m),option:a,lineItemProps:f})});return s.createElement("g",{className:"recharts-cartesian-grid-horizontal"},d)}function js(e){var{y:t,height:r,vertical:a=!0,verticalPoints:n}=e;if(!a||!n||!n.length)return null;var{xAxisId:i,yAxisId:o}=e,l=Fe(e,ps),d=n.map((c,m)=>{var f=L(L({},l),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(m),index:m});return s.createElement(ca,{option:a,lineItemProps:f,key:"line-".concat(m)})});return s.createElement("g",{className:"recharts-cartesian-grid-vertical"},d)}function Os(e){var{horizontalFill:t,fillOpacity:r,x:a,y:n,width:i,height:o,horizontalPoints:l,horizontal:d=!0}=e;if(!d||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+n-n)).sort((f,v)=>f-v);n!==c[0]&&c.unshift(0);var m=c.map((f,v)=>{var g=c[v+1],b=g==null,h=b?n+o-f:g-f;if(h<=0)return null;var y=v%t.length;return s.createElement("rect",{key:"react-".concat(v),y:f,x:a,height:h,width:i,stroke:"none",fill:t[y],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return s.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},m)}function ws(e){var{vertical:t=!0,verticalFill:r,fillOpacity:a,x:n,y:i,width:o,height:l,verticalPoints:d}=e;if(!t||!r||!r.length)return null;var c=d.map(f=>Math.round(f+n-n)).sort((f,v)=>f-v);n!==c[0]&&c.unshift(0);var m=c.map((f,v)=>{var g=c[v+1],b=g==null,h=b?n+o-f:g-f;if(h<=0)return null;var y=v%r.length;return s.createElement("rect",{key:"react-".concat(v),x:f,y:i,width:h,height:l,stroke:"none",fill:r[y],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return s.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},m)}var As=(e,t)=>{var{xAxis:r,width:a,height:n,offset:i}=e;return Fr(Wr(L(L(L({},we),r),{},{ticks:Gr(r),viewBox:{x:0,y:0,width:a,height:n}})),i.left,i.left+i.width,t)},ks=(e,t)=>{var{yAxis:r,width:a,height:n,offset:i}=e;return Fr(Wr(L(L(L({},we),r),{},{ticks:Gr(r),viewBox:{x:0,y:0,width:a,height:n}})),i.top,i.top+i.height,t)},Ss={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:ge.grid};function Tt(e){var t=Cr(),r=Dr(),a=mn(),n=L(L({},X(e,Ss)),{},{x:K(e.x)?e.x:a.left,y:K(e.y)?e.y:a.top,width:K(e.width)?e.width:a.width,height:K(e.height)?e.height:a.height}),{xAxisId:i,yAxisId:o,x:l,y:d,width:c,height:m,syncWithTicks:f,horizontalValues:v,verticalValues:g}=n,b=qe(),h=M(N=>zt(N,"xAxis",i,b)),y=M(N=>zt(N,"yAxis",o,b));if(!Bt(c)||!Bt(m)||!K(l)||!K(d))return null;var p=n.verticalCoordinatesGenerator||As,x=n.horizontalCoordinatesGenerator||ks,{horizontalPoints:j,verticalPoints:P}=n;if((!j||!j.length)&&typeof x=="function"){var k=v&&v.length,O=x({yAxis:y?L(L({},y),{},{ticks:k?v:y.ticks}):void 0,width:t??c,height:r??m,offset:a},k?!0:f);Rt(Array.isArray(O),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof O,"]")),Array.isArray(O)&&(j=O)}if((!P||!P.length)&&typeof p=="function"){var w=g&&g.length,A=p({xAxis:h?L(L({},h),{},{ticks:w?g:h.ticks}):void 0,width:t??c,height:r??m,offset:a},w?!0:f);Rt(Array.isArray(A),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof A,"]")),Array.isArray(A)&&(P=A)}return s.createElement(he,{zIndex:n.zIndex},s.createElement("g",{className:"recharts-cartesian-grid"},s.createElement(xs,{fill:n.fill,fillOpacity:n.fillOpacity,x:n.x,y:n.y,width:n.width,height:n.height,ry:n.ry}),s.createElement(Os,ie({},n,{horizontalPoints:j})),s.createElement(ws,ie({},n,{verticalPoints:P})),s.createElement(Ps,ie({},n,{offset:a,horizontalPoints:j,xAxis:h,yAxis:y})),s.createElement(js,ie({},n,{offset:a,verticalPoints:P,xAxis:h,yAxis:y}))))}Tt.displayName="CartesianGrid";var Es=["children"];function Is(e,t){if(e==null)return{};var r,a,n=Ts(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ts(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}var Ns={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},Cs=s.createContext(Ns);function Ds(e){var{children:t}=e,r=Is(e,Es);return s.createElement(Cs.Provider,{value:r},t)}function dt(){return dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},dt.apply(null,arguments)}function Nt(e){return s.createElement(sa,dt({shapeType:"rectangle",activeClassName:"recharts-active-bar",inActiveClassName:"recharts-inactive-bar"},e))}var Ms=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(a,n)=>{if(K(t))return t;var i=K(a)||He(a);return i?t(a,n):(i||ba(!1),r)}},Ls=(e,t,r)=>r,$s=(e,t)=>t,Se=I([Hr,$s],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),_s=I([Se],e=>e?.maxBarSize),Bs=(e,t,r,a)=>a,Rs=I([re,Hr,ce,ue,Ls],(e,t,r,a,n)=>t.filter(i=>e==="horizontal"?i.xAxisId===r:i.yAxisId===a).filter(i=>i.isPanorama===n).filter(i=>i.hide===!1).filter(i=>i.type==="bar")),zs=(e,t,r)=>{var a=re(e),n=ce(e,t),i=ue(e,t);if(!(n==null||i==null))return a==="horizontal"?Kt(e,"yAxis",i,r):Kt(e,"xAxis",n,r)},Ks=(e,t)=>{var r=re(e),a=ce(e,t),n=ue(e,t);if(!(a==null||n==null))return r==="horizontal"?Ft(e,"xAxis",a):Ft(e,"yAxis",n)},Fs=I([Rs,hn,Ks],as),Ws=(e,t,r)=>{var a,n,i=Se(e,t);if(i==null)return 0;var o=ce(e,t),l=ue(e,t);if(o==null||l==null)return 0;var d=re(e),c=qr(e),{maxBarSize:m}=i,f=He(m)?c:m,v,g;return d==="horizontal"?(v=me(e,"xAxis",o,r),g=pe(e,"xAxis",o,r)):(v=me(e,"yAxis",l,r),g=pe(e,"yAxis",l,r)),(a=(n=Vr(v,g,!0))!==null&&n!==void 0?n:f)!==null&&a!==void 0?a:0},ua=(e,t,r)=>{var a=re(e),n=ce(e,t),i=ue(e,t);if(!(n==null||i==null)){var o,l;return a==="horizontal"?(o=me(e,"xAxis",n,r),l=pe(e,"xAxis",n,r)):(o=me(e,"yAxis",i,r),l=pe(e,"yAxis",i,r)),Vr(o,l)}},Gs=I([Fs,qr,yn,gn,Ws,ua,_s],ls),Us=(e,t,r)=>{var a=ce(e,t);if(a!=null)return me(e,"xAxis",a,r)},Vs=(e,t,r)=>{var a=ue(e,t);if(a!=null)return me(e,"yAxis",a,r)},Hs=(e,t,r)=>{var a=ce(e,t);if(a!=null)return pe(e,"xAxis",a,r)},qs=(e,t,r)=>{var a=ue(e,t);if(a!=null)return pe(e,"yAxis",a,r)},Ys=I([Gs,Se],us),Xs=I([zs,Se],cs),Zs=I([$r,Ur,Us,Vs,Hs,qs,Ys,re,pn,ua,Xs,Se,Bs],(e,t,r,a,n,i,o,l,d,c,m,f,v)=>{var{chartData:g,dataStartIndex:b,dataEndIndex:h}=d;if(!(f==null||o==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||a==null||n==null||i==null||c==null)){var{data:y}=f,p;if(y!=null&&y.length>0?p=y:p=g?.slice(b,h+1),p!=null)return Al({layout:l,barSettings:f,pos:o,parentViewBox:t,bandSize:c,xAxis:r,yAxis:a,xAxisTicks:n,yAxisTicks:i,stackedData:m,displayedData:p,offset:e,cells:v,dataStartIndex:b})}}),Js=["index"];function ft(){return ft=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ft.apply(null,arguments)}function Qs(e,t){if(e==null)return{};var r,a,n=el(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function el(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}var da=s.createContext(void 0),tl=e=>{var t=s.useContext(da);if(t!=null)return t.stackId;if(e!=null)return bn(e)},rl=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),al=e=>{var t=s.useContext(da);if(t!=null){var{stackId:r}=t;return"url(#".concat(rl(r,e),")")}},fa=e=>{var{index:t}=e,r=Qs(e,Js),a=al(t);return s.createElement(V,ft({className:"recharts-bar-stack-layer",clipPath:a},r))},nl=["onMouseEnter","onMouseLeave","onClick"],il=["value","background","tooltipPosition"],ol=["id"],sl=["onMouseEnter","onClick","onMouseLeave"];function ee(){return ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},ee.apply(null,arguments)}function vr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function B(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?vr(Object(r),!0).forEach(function(a){ll(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):vr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function ll(e,t,r){return(t=cl(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cl(e){var t=ul(e,"string");return typeof t=="symbol"?t:t+""}function ul(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function We(e,t){if(e==null)return{};var r,a,n=dl(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function dl(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}var fl=e=>{var{dataKey:t,name:r,fill:a,legendType:n,hide:i}=e;return[{inactive:i,dataKey:t,type:n,color:a,value:Ue(r,t),payload:e}]},vl=s.memo(e=>{var{dataKey:t,stroke:r,strokeWidth:a,fill:n,name:i,hide:o,unit:l,tooltipType:d,id:c}=e,m={dataDefinedOnItem:void 0,getPosition:jn,settings:{stroke:r,strokeWidth:a,fill:n,dataKey:t,nameKey:void 0,name:Ue(i,t),hide:o,type:d,color:n,unit:l,graphicalItemId:c}};return s.createElement(Rr,{tooltipEntrySettings:m})});function ml(e){var t=M(xt),{data:r,dataKey:a,background:n,allOtherBarProps:i}=e,{onMouseEnter:o,onMouseLeave:l,onClick:d}=i,c=We(i,nl),m=St(o,a,i.id),f=Et(l),v=It(d,a,i.id);if(!n||r==null)return null;var g=ot(n);return s.createElement(he,{zIndex:ds(n,ge.barBackground)},r.map((b,h)=>{var{value:y,background:p,tooltipPosition:x}=b,j=We(b,il);if(!p)return null;var P=m(b,h),k=f(b,h),O=v(b,h),w=B(B(B(B(B({option:n,isActive:String(h)===t},j),{},{fill:"#eee"},p),g),Ge(c,b,h)),{},{onMouseEnter:P,onMouseLeave:k,onClick:O,dataKey:a,index:h,className:"recharts-bar-background-rectangle"});return s.createElement(Nt,ee({key:"background-bar-".concat(h)},w))}))}function pl(e){var{showLabels:t,children:r,rects:a}=e,n=a?.map(i=>{var o={x:i.x,y:i.y,width:i.width,lowerWidth:i.width,upperWidth:i.width,height:i.height};return B(B({},o),{},{value:i.value,payload:i.payload,parentViewBox:i.parentViewBox,viewBox:o,fill:i.fill})});return s.createElement(En,{value:t?n:void 0},r)}function yl(e){var{shape:t,activeBar:r,baseProps:a,entry:n,index:i,dataKey:o}=e,l=M(xt),d=M(zr),c=r&&String(n.originalDataIndex)===l&&(d==null||o===d),[m,f]=s.useState(!1),[v,g]=s.useState(!1);s.useEffect(()=>{var j;return c?(f(!0),j=requestAnimationFrame(()=>{g(!0)})):g(!1),()=>{cancelAnimationFrame(j)}},[c]);var b=s.useCallback(()=>{c||f(!1)},[c]),h=c&&v,y=c||m,p;c?r===!0?p=t:p=r:p=t;var x=s.createElement(Nt,ee({},a,{name:String(a.name)},n,{isActive:h,option:p,index:i,dataKey:o,onTransitionEnd:b}));return y?s.createElement(he,{zIndex:ge.activeBar},s.createElement(fa,{index:n.originalDataIndex},x)):x}function gl(e){var{shape:t,baseProps:r,entry:a,index:n,dataKey:i}=e;return s.createElement(Nt,ee({},r,{name:String(r.name)},a,{isActive:!1,option:t,index:n,dataKey:i}))}function hl(e){var t,{data:r,props:a}=e,n=(t=Ve(a))!==null&&t!==void 0?t:{},{id:i}=n,o=We(n,ol),{shape:l,dataKey:d,activeBar:c}=a,{onMouseEnter:m,onClick:f,onMouseLeave:v}=a,g=We(a,sl),b=St(m,d,i),h=Et(v),y=It(f,d,i);return r?s.createElement(s.Fragment,null,r.map((p,x)=>s.createElement(fa,ee({index:p.originalDataIndex,key:"rectangle-".concat(p?.x,"-").concat(p?.y,"-").concat(p?.value,"-").concat(x),className:"recharts-bar-rectangle"},Ge(g,p,x),{onMouseEnter:b(p,x),onMouseLeave:h(p,x),onClick:y(p,x)}),c?s.createElement(yl,{shape:l,activeBar:c,baseProps:o,entry:p,index:x,dataKey:d}):s.createElement(gl,{shape:l,baseProps:o,entry:p,index:x,dataKey:d})))):null}function bl(e){var{props:t,previousRectanglesRef:r}=e,{data:a,layout:n,isAnimationActive:i,animationBegin:o,animationDuration:l,animationEasing:d,onAnimationEnd:c,onAnimationStart:m}=t,f=r.current,v=gt(t,"recharts-bar-"),[g,b]=s.useState(!1),h=!g,y=s.useCallback(()=>{typeof c=="function"&&c(),b(!1)},[c]),p=s.useCallback(()=>{typeof m=="function"&&m(),b(!0)},[m]);return s.createElement(pl,{showLabels:h,rects:a},s.createElement(ht,{animationId:v,begin:o,duration:l,isActive:i,easing:d,onAnimationEnd:y,onAnimationStart:p,key:v},x=>{var j=x===1?a:a?.map((P,k)=>{var O=f&&f[k];if(O)return B(B({},P),{},{x:_(O.x,P.x,x),y:_(O.y,P.y,x),width:_(O.width,P.width,x),height:_(O.height,P.height,x)});if(n==="horizontal"){var w=_(0,P.height,x),A=_(P.stackedBarStart,P.y,x);return B(B({},P),{},{y:A,height:w})}var N=_(0,P.width,x),S=_(P.stackedBarStart,P.x,x);return B(B({},P),{},{width:N,x:S})});return x>0&&(r.current=j??null),j==null?null:s.createElement(V,null,s.createElement(hl,{props:t,data:j}))}),s.createElement(Kr,{label:t.label}),t.children)}function xl(e){var t=s.useRef(null);return s.createElement(bl,{previousRectanglesRef:t,props:e})}var va=0,Pl=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Y(e,t)}};class jl extends s.PureComponent{render(){var{hide:t,data:r,dataKey:a,className:n,xAxisId:i,yAxisId:o,needClip:l,background:d,id:c}=this.props;if(t||r==null)return null;var m=te("recharts-bar",n),f=c;return s.createElement(V,{className:m,id:c},l&&s.createElement("defs",null,s.createElement(An,{clipPathId:f,xAxisId:i,yAxisId:o})),s.createElement(V,{className:"recharts-bar-rectangles",clipPath:l?"url(#clipPath-".concat(f,")"):void 0},s.createElement(ml,{data:r,dataKey:a,background:d,allOtherBarProps:this.props}),s.createElement(xl,this.props)))}}var Ol={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:va,xAxisId:0,yAxisId:0,zIndex:ge.bar};function wl(e){var{xAxisId:t,yAxisId:r,hide:a,legendType:n,minPointSize:i,activeBar:o,animationBegin:l,animationDuration:d,animationEasing:c,isAnimationActive:m}=e,{needClip:f}=On(t,r),v=wn(),g=qe(),b=bt(e.children,ke),h=M(x=>Zs(x,e.id,g,b));if(v!=="vertical"&&v!=="horizontal")return null;var y,p=h?.[0];return p==null||p.height==null||p.width==null?y=0:y=v==="vertical"?p.height/2:p.width/2,s.createElement(Ds,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:Pl,errorBarOffset:y},s.createElement(jl,ee({},e,{layout:v,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:a,legendType:n,minPointSize:i,activeBar:o,animationBegin:l,animationDuration:d,animationEasing:c,isAnimationActive:m})))}function Al(e){var{layout:t,barSettings:{dataKey:r,minPointSize:a,hasCustomShape:n},pos:i,bandSize:o,xAxis:l,yAxis:d,xAxisTicks:c,yAxisTicks:m,stackedData:f,displayedData:v,offset:g,cells:b,parentViewBox:h,dataStartIndex:y}=e,p=t==="horizontal"?d:l,x=f?p.scale.domain():null,j=kn({numericAxis:p}),P=p.scale.map(j);return v.map((k,O)=>{var w,A,N,S,C,z;if(f){var $=f[O+y];if($==null)return null;w=Sn($,x)}else w=Y(k,r),Array.isArray(w)||(w=[j,w]);var T=Ms(a,va)(w[1],O);if(t==="horizontal"){var F,H=d.scale.map(w[0]),R=d.scale.map(w[1]);if(H==null||R==null)return null;A=Wt({axis:l,ticks:c,bandSize:o,offset:i.offset,entry:k,index:O}),N=(F=R??H)!==null&&F!==void 0?F:void 0,S=i.size;var ae=H-R;if(C=In(ae)?0:ae,z={x:A,y:g.top,width:S,height:g.height},Math.abs(T)>0&&Math.abs(C)<Math.abs(T)){var ne=fe(C||T)*(Math.abs(T)-Math.abs(C));N-=ne,C+=ne}}else{var be=l.scale.map(w[0]),Lt=l.scale.map(w[1]);if(be==null||Lt==null)return null;if(A=be,N=Wt({axis:d,ticks:m,bandSize:o,offset:i.offset,entry:k,index:O}),S=Lt-be,C=i.size,z={x:g.left,y:N,width:g.width,height:C},Math.abs(T)>0&&Math.abs(S)<Math.abs(T)){var ya=fe(S||T)*(Math.abs(T)-Math.abs(S));S+=ya}}if(A==null||N==null||S==null||C==null||!n&&(S===0||C===0))return null;var ga=B(B({},k),{},{stackedBarStart:P,x:A,y:N,width:S,height:C,value:f?w:w[1],payload:k,background:z,tooltipPosition:{x:A+S/2,y:N+C/2},parentViewBox:h,originalDataIndex:O},b&&b[O]&&b[O].props);return ga}).filter(Boolean)}function kl(e){var t=X(e,Ol),r=tl(t.stackId),a=qe();return s.createElement(Br,{id:t.id,type:"bar"},n=>s.createElement(s.Fragment,null,s.createElement(xn,{legendPayload:fl(t)}),s.createElement(vl,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,tooltipType:t.tooltipType,id:n}),s.createElement(Pn,{type:"bar",id:n,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:a,hasCustomShape:t.shape!=null}),s.createElement(he,{zIndex:t.zIndex},s.createElement(wl,ee({},t,{id:n})))))}var Me=s.memo(kl,Nr);Me.displayName="Bar";var Sl=["type"],El=["dangerouslySetInnerHTML","ticks","scale"],Il=["id","scale"];function vt(){return vt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},vt.apply(null,arguments)}function mr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function pr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?mr(Object(r),!0).forEach(function(a){Tl(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Tl(e,t,r){return(t=Nl(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Nl(e){var t=Cl(e,"string");return typeof t=="symbol"?t:t+""}function Cl(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mt(e,t){if(e==null)return{};var r,a,n=Dl(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dl(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}function Ml(e){var t=se(),r=s.useRef(null),a=Nn(),{type:n}=e,i=mt(e,Sl),o=zn(a,"xAxis",n),l=s.useMemo(()=>{if(o!=null)return pr(pr({},i),{},{type:o})},[i,o]);return s.useLayoutEffect(()=>{l!=null&&(r.current===null?t(Cn(l)):r.current!==l&&t(Dn({prev:r.current,next:l})),r.current=l)},[l,t]),s.useLayoutEffect(()=>()=>{r.current&&(t(Mn(r.current)),r.current=null)},[t]),null}var Ll=e=>{var{xAxisId:t,className:r}=e,a=M(Ur),n=qe(),i="xAxis",o=M(p=>Ln(p,i,t,n)),l=M(p=>$n(p,t)),d=M(p=>_n(p,t)),c=M(p=>Bn(p,t));if(l==null||d==null||c==null)return null;var{dangerouslySetInnerHTML:m,ticks:f,scale:v}=e,g=mt(e,El),{id:b,scale:h}=c,y=mt(c,Il);return s.createElement(Rn,vt({},g,y,{x:d.x,y:d.y,width:l.width,height:l.height,className:te("recharts-".concat(i," ").concat(i),r),viewBox:a,ticks:o,axisType:i,axisId:t}))},$l={allowDataOverflow:D.allowDataOverflow,allowDecimals:D.allowDecimals,allowDuplicatedCategory:D.allowDuplicatedCategory,angle:D.angle,axisLine:we.axisLine,height:D.height,hide:!1,includeHidden:D.includeHidden,interval:D.interval,label:!1,minTickGap:D.minTickGap,mirror:D.mirror,orientation:D.orientation,padding:D.padding,reversed:D.reversed,scale:D.scale,tick:D.tick,tickCount:D.tickCount,tickLine:we.tickLine,tickSize:we.tickSize,type:D.type,niceTicks:D.niceTicks,xAxisId:0},_l=e=>{var t=X(e,$l);return s.createElement(s.Fragment,null,s.createElement(Ml,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),s.createElement(Ll,t))},Ct=s.memo(_l,Tn);Ct.displayName="XAxis";var Bl=["axis","item"],Rl=s.forwardRef((e,t)=>s.createElement(Kn,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Bl,tooltipPayloadSearcher:Yr,categoricalChartProps:e,ref:t}));function zl(e){var t=se();return s.useEffect(()=>{t(Fn(e))},[t,e]),null}var Kl=["layout"];function pt(){return pt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},pt.apply(null,arguments)}function Fl(e,t){if(e==null)return{};var r,a,n=Wl(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Wl(e,t){if(e==null)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)!==-1)continue;r[a]=e[a]}return r}function yr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function Gl(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?yr(Object(r),!0).forEach(function(a){Ul(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):yr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Ul(e,t,r){return(t=Vl(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Vl(e){var t=Hl(e,"string");return typeof t=="symbol"?t:t+""}function Hl(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var ql={top:5,right:5,bottom:5,left:5},ma=Gl({accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:ql,reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},Yn),Yl=s.forwardRef(function(t,r){var a,n=X(t.categoricalChartProps,ma),{layout:i}=n,o=Fl(n,Kl),{chartName:l,defaultTooltipEventType:d,validateTooltipEventTypes:c,tooltipPayloadSearcher:m}=t,f={chartName:l,defaultTooltipEventType:d,validateTooltipEventTypes:c,tooltipPayloadSearcher:m,eventEmitter:void 0};return s.createElement(Wn,{preloadedState:{options:f},reduxStoreName:(a=n.id)!==null&&a!==void 0?a:l},s.createElement(Gn,{chartData:n.data}),s.createElement(Un,{layout:i,margin:n.margin}),s.createElement(Vn,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),s.createElement(Hn,{baseValue:void 0,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),s.createElement(zl,{cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius}),s.createElement(qn,pt({},o,{ref:r})))});function gr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),r.push.apply(r,a)}return r}function hr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?gr(Object(r),!0).forEach(function(a){Xl(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):gr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Xl(e,t,r){return(t=Zl(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zl(e){var t=Jl(e,"string");return typeof t=="symbol"?t:t+""}function Jl(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var a=r.call(e,t);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ql=["item"],ec=hr(hr({},ma),{},{layout:"centric",startAngle:0,endAngle:360}),tc=s.forwardRef((e,t)=>{var r=X(e,ec);return s.createElement(Yl,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Ql,tooltipPayloadSearcher:Yr,categoricalChartProps:r,ref:t})});function rt(e,t,r){const a=Le(e,r?.in);return isNaN(t)?Sr(e,NaN):(t&&a.setDate(a.getDate()+t),a)}function br(e,t){return Le(e,t?.in).getDay()}function Dt(e,t){const r=()=>Sr(t?.in,NaN),n=ic(e);let i;if(n.date){const c=oc(n.date,2);i=sc(c.restDateString,c.year)}if(!i||isNaN(+i))return r();const o=+i;let l=0,d;if(n.time&&(l=lc(n.time),isNaN(l)))return r();if(n.timezone){if(d=cc(n.timezone),isNaN(d))return r()}else{const c=new Date(o+l),m=Le(0,t?.in);return m.setFullYear(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),m.setHours(c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),c.getUTCMilliseconds()),m}return Le(o+l+d,t?.in)}const Ne={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},rc=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,ac=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,nc=/^([+-])(\d{2})(?::?(\d{2}))?$/;function ic(e){const t={},r=e.split(Ne.dateTimeDelimiter);let a;if(r.length>2)return t;if(/:/.test(r[0])?a=r[0]:(t.date=r[0],a=r[1],Ne.timeZoneDelimiter.test(t.date)&&(t.date=e.split(Ne.timeZoneDelimiter)[0],a=e.substr(t.date.length,e.length))),a){const n=Ne.timezone.exec(a);n?(t.time=a.replace(n[1],""),t.timezone=n[1]):t.time=a}return t}function oc(e,t){const r=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),a=e.match(r);if(!a)return{year:NaN,restDateString:""};const n=a[1]?parseInt(a[1]):null,i=a[2]?parseInt(a[2]):null;return{year:i===null?n:i*100,restDateString:e.slice((a[1]||a[2]).length)}}function sc(e,t){if(t===null)return new Date(NaN);const r=e.match(rc);if(!r)return new Date(NaN);const a=!!r[4],n=je(r[1]),i=je(r[2])-1,o=je(r[3]),l=je(r[4]),d=je(r[5])-1;if(a)return mc(t,l,d)?uc(t,l,d):new Date(NaN);{const c=new Date(0);return!fc(t,i,o)||!vc(t,n)?new Date(NaN):(c.setUTCFullYear(t,i,Math.max(n,o)),c)}}function je(e){return e?parseInt(e):1}function lc(e){const t=e.match(ac);if(!t)return NaN;const r=at(t[1]),a=at(t[2]),n=at(t[3]);return pc(r,a,n)?r*Er+a*Ir+n*1e3:NaN}function at(e){return e&&parseFloat(e.replace(",","."))||0}function cc(e){if(e==="Z")return 0;const t=e.match(nc);if(!t)return 0;const r=t[1]==="+"?-1:1,a=parseInt(t[2]),n=t[3]&&parseInt(t[3])||0;return yc(a,n)?r*(a*Er+n*Ir):NaN}function uc(e,t,r){const a=new Date(0);a.setUTCFullYear(e,0,4);const n=a.getUTCDay()||7,i=(t-1)*7+r+1-n;return a.setUTCDate(a.getUTCDate()+i),a}const dc=[31,null,31,30,31,30,31,31,30,31,30,31];function pa(e){return e%400===0||e%4===0&&e%100!==0}function fc(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(dc[t]||(pa(e)?29:28))}function vc(e,t){return t>=1&&t<=(pa(e)?366:365)}function mc(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function pc(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function yc(e,t){return t>=0&&t<=59}function gc({data:e}){const t=e.map(r=>({...r,dateLabel:oe(new Date(r.date),"MMM d")}));return u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Daily Activity"}),u.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Messages, sessions, and tool calls per day"}),u.jsx("div",{className:"mt-4 h-64",children:u.jsx(Pt,{width:"100%",height:"100%",children:u.jsxs(Rl,{data:t,children:[u.jsx(Tt,{strokeDasharray:"3 3",stroke:"var(--color-gray-800)"}),u.jsx(Ct,{dataKey:"dateLabel",tick:{fill:"var(--color-gray-500)",fontSize:10},tickLine:!1}),u.jsx(Xr,{tick:{fill:"var(--color-gray-500)",fontSize:10},tickLine:!1,axisLine:!1}),u.jsx(jt,{contentStyle:{backgroundColor:"var(--color-gray-900)",border:"1px solid var(--color-gray-700)",borderRadius:"8px",fontSize:"12px"}}),u.jsx(Me,{dataKey:"messageCount",name:"Messages",fill:"#d97757",radius:[2,2,0,0]}),u.jsx(Me,{dataKey:"toolCallCount",name:"Tool Calls",fill:"#8b5cf6",radius:[2,2,0,0]}),u.jsx(Me,{dataKey:"sessionCount",name:"Sessions",fill:"#10b981",radius:[2,2,0,0]})]})})})]})}const hc=["var(--color-gray-800)","#3d2a1e","#a8512eb3","#d97757cc","#e09070"],bc=["Mon","","Wed","","Fri","",""],de=10,Oe=2,xc=28;function Pc(e){if(e.length===0)return{p25:0,p50:0,p75:0};const t=[...e].sort((a,n)=>a-n),r=a=>{const n=a/100*(t.length-1),i=Math.floor(n),o=Math.ceil(n);return i===o?t[i]:t[i]+(t[o]-t[i])*(n-i)};return{p25:r(25),p50:r(50),p75:r(75)}}function jc(e,t){return e===0?0:e<=t.p25?1:e<=t.p50?2:e<=t.p75?3:4}function xr(e){return e===0?6:e-1}function Oc({dailyActivity:e,dailyModelTokens:t}){const[r,a]=s.useState(null),{days:n,monthLabels:i}=s.useMemo(()=>{const o=new Map;for(const y of e){const p=o.get(y.date)??{sessionCount:0,totalTokens:0};p.sessionCount=y.sessionCount,o.set(y.date,p)}for(const y of t){const p=o.get(y.date)??{sessionCount:0,totalTokens:0};p.totalTokens=Object.values(y.tokensByModel).reduce((x,j)=>x+j,0),o.set(y.date,p)}const l=new Date;l.setHours(0,0,0,0);let d=rt(l,-364);const c=xr(br(d));c!==0&&(d=rt(d,-c));const m=[];let f=d;for(;f<=l;){const y=oe(f,"yyyy-MM-dd"),p=xr(br(f)),x=Math.floor((f.getTime()-d.getTime())/(1e3*60*60*24)),j=Math.floor(x/7),P=o.get(y);m.push({date:y,dateFormatted:oe(f,"MMM d, yyyy"),sessionCount:P?.sessionCount??0,totalTokens:P?.totalTokens??0,intensity:0,weekIndex:j,dayOfWeek:p}),f=rt(f,1)}const v=m.filter(y=>y.totalTokens>0).map(y=>y.totalTokens),g=Pc(v);for(const y of m)y.intensity=jc(y.totalTokens,g);const b=[];let h=-1;for(const y of m)if(y.dayOfWeek===0){const p=Dt(y.date),x=p.getMonth();x!==h&&(b.push({label:oe(p,"MMM"),weekIndex:y.weekIndex}),h=x)}return{days:m,monthLabels:b}},[e,t]);return n.length===0?u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Activity"}),u.jsx("div",{className:"flex h-32 items-center justify-center",children:u.jsx("p",{className:"text-sm text-gray-500",children:"No activity data available"})})]}):u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Activity"}),u.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Token usage intensity over the past year"}),u.jsx("div",{className:"mt-4 overflow-x-auto",children:u.jsx("div",{className:"relative w-full",children:u.jsxs("div",{className:"flex",children:[u.jsxs("div",{className:"flex flex-col text-[10px] text-gray-500",style:{width:xc},children:[u.jsx("div",{style:{height:16,marginBottom:Oe}}),bc.map((o,l)=>u.jsx("div",{className:"flex items-center",style:{height:de,marginTop:l>0?Oe:0},children:o},l))]}),u.jsxs("div",{className:"flex flex-1 flex-col",children:[u.jsx("div",{className:"grid text-[10px] text-gray-500",style:{gridAutoFlow:"column",gridAutoColumns:`minmax(${de}px, 1fr)`,gap:Oe,height:16,marginBottom:Oe},children:i.map((o,l)=>u.jsx("div",{className:"flex items-end",style:{gridColumn:o.weekIndex+1},children:o.label},`${o.label}-${l}`))}),u.jsx("div",{className:"relative grid",style:{gridTemplateRows:`repeat(7, ${de}px)`,gridAutoFlow:"column",gridAutoColumns:`minmax(${de}px, 1fr)`,gap:Oe},children:n.map(o=>u.jsx("div",{className:"rounded-sm transition-colors",style:{width:de,height:de,backgroundColor:hc[o.intensity],gridRow:o.dayOfWeek+1,gridColumn:o.weekIndex+1},onMouseEnter:l=>{const d=l.target.getBoundingClientRect();a({date:o.date,dateFormatted:o.dateFormatted,sessionCount:o.sessionCount,totalTokens:o.totalTokens,x:d.left+d.width/2,y:d.top-8})},onMouseLeave:()=>a(null)},o.date))})]})]})})}),r&&Or.createPortal(u.jsxs("div",{className:"pointer-events-none fixed z-50 rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-xs shadow-lg",style:{left:r.x,top:r.y,transform:"translate(-50%, -100%)",whiteSpace:"nowrap"},children:[u.jsx("p",{className:"font-medium text-gray-300",children:r.dateFormatted}),r.totalTokens>0||r.sessionCount>0?u.jsxs("div",{className:"mt-1 space-y-0.5 text-gray-400",children:[u.jsxs("p",{children:[r.sessionCount," ",r.sessionCount===1?"session":"sessions"]}),u.jsxs("p",{children:[ve(r.totalTokens)," tokens"]})]}):u.jsx("p",{className:"mt-1 text-gray-500",children:"No activity"})]}),document.body)]})}const Ce=["#d97757","#8b5cf6","#10b981","#f59e0b","#ef4444","#b07cc5"];function Mt(e){return e.replace(/^claude-/,"").split("-202")[0]}function wc(e,t){const r={};for(const o of e)for(const[l,d]of Object.entries(o.tokensByModel)){const c=Mt(l);r[c]=(r[c]??0)+d}const a=Object.entries(r).sort((o,l)=>l[1]-o[1]),n=a.slice(0,t).map(([o])=>o),i=a.length>t;return{topModels:n,hasOther:i}}function Ac(e,t,r){return e.map(a=>{const n={dateLabel:oe(Dt(a.date),"MMM d"),sortKey:a.date};for(const i of t)n[i]=0;r&&(n.Other=0);for(const[i,o]of Object.entries(a.tokensByModel)){const l=Mt(i);t.includes(l)?n[l]=n[l]+o:r&&(n.Other=n.Other+o)}return n})}function kc(e,t,r){const a=new Map;for(const n of e){const i=Pa(Dt(n.date)),o=oe(i,"yyyy-MM-dd");if(!a.has(o)){const d={dateLabel:`Week of ${oe(i,"MMM d")}`,sortKey:o};for(const c of t)d[c]=0;r&&(d.Other=0),a.set(o,d)}const l=a.get(o);for(const[d,c]of Object.entries(n.tokensByModel)){const m=Mt(d);t.includes(m)?l[m]=l[m]+c:r&&(l.Other=l.Other+c)}}return Array.from(a.values()).sort((n,i)=>n.sortKey.localeCompare(i.sortKey))}function Sc({active:e,payload:t,label:r}){if(!e||!t||t.length===0)return null;const a=t.reduce((n,i)=>n+i.value,0);return u.jsxs("div",{className:"rounded-lg border border-gray-700 bg-gray-800 p-3 text-xs shadow-lg",children:[u.jsx("p",{className:"mb-2 font-medium text-gray-300",children:r}),t.filter(n=>n.value>0).sort((n,i)=>i.value-n.value).map(n=>u.jsxs("div",{className:"flex items-center justify-between gap-4",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("div",{className:"h-2 w-2 rounded-full",style:{backgroundColor:n.color}}),u.jsx("span",{className:"text-gray-400",children:n.name})]}),u.jsx("span",{className:"font-mono text-gray-300",children:ve(n.value)})]},n.name)),u.jsxs("div",{className:"mt-1.5 border-t border-gray-700 pt-1.5 flex justify-between",children:[u.jsx("span",{className:"text-gray-400",children:"Total"}),u.jsx("span",{className:"font-mono font-medium text-gray-100",children:ve(a)})]})]})}function Ec({data:e}){const[t,r]=s.useState("daily"),{topModels:a,hasOther:n}=s.useMemo(()=>wc(e,5),[e]),i=s.useMemo(()=>{const l=[...a];return n&&l.push("Other"),l},[a,n]),o=s.useMemo(()=>t==="weekly"?kc(e,a,n):Ac(e,a,n),[e,a,n,t]);return e.length===0?u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Token Usage Over Time"}),u.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Total tokens by model per day"}),u.jsx("div",{className:"flex h-64 items-center justify-center",children:u.jsx("p",{className:"text-sm text-gray-500",children:"No data available"})})]}):u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsxs("div",{children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Token Usage Over Time"}),u.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Total tokens by model per day"})]}),u.jsxs("div",{className:"flex rounded-lg border border-gray-700 text-xs",children:[u.jsx("button",{type:"button",onClick:()=>r("daily"),className:`rounded-l-lg px-3 py-1 ${t==="daily"?"bg-gray-700 text-gray-100":"text-gray-400 hover:text-gray-300"}`,children:"Daily"}),u.jsx("button",{type:"button",onClick:()=>r("weekly"),className:`rounded-r-lg px-3 py-1 ${t==="weekly"?"bg-gray-700 text-gray-100":"text-gray-400 hover:text-gray-300"}`,children:"Weekly"})]})]}),u.jsx("div",{className:"mt-4 h-72",children:u.jsx(Pt,{width:"100%",height:"100%",children:u.jsxs(Xn,{data:o,children:[u.jsx(Tt,{strokeDasharray:"3 3",stroke:"var(--color-gray-800)"}),u.jsx(Ct,{dataKey:"dateLabel",tick:{fill:"var(--color-gray-500)",fontSize:10},tickLine:!1}),u.jsx(Xr,{tick:{fill:"var(--color-gray-500)",fontSize:10},tickLine:!1,axisLine:!1,tickFormatter:l=>ve(l)}),u.jsx(jt,{content:u.jsx(Sc,{})}),i.map((l,d)=>u.jsx(Zn,{type:"monotone",dataKey:l,stackId:"1",stroke:Ce[d%Ce.length],fill:Ce[d%Ce.length],fillOpacity:.6},l))]})})})]})}const Pr=["#d97757","#8b5cf6","#10b981","#f59e0b","#ef4444","#b07cc5"];function Ic({data:e}){const t=Object.entries(e).map(([r,a])=>({name:r.replace(/^claude-/,"").split("-202")[0],fullName:r,totalTokens:a.inputTokens+a.outputTokens,outputTokens:a.outputTokens}));return t.sort((r,a)=>a.totalTokens-r.totalTokens),u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Model Usage"}),u.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Token usage by model"}),u.jsx("div",{className:"mt-4 h-64",children:u.jsx(Pt,{width:"100%",height:"100%",children:u.jsxs(tc,{children:[u.jsx(la,{data:t,cx:"50%",cy:"50%",innerRadius:50,outerRadius:80,dataKey:"totalTokens",nameKey:"name",strokeWidth:0,children:t.map((r,a)=>u.jsx(ke,{fill:Pr[a%Pr.length],opacity:.8},a))}),u.jsx(jt,{formatter:r=>ve(r),contentStyle:{backgroundColor:"var(--color-gray-900)",border:"1px solid var(--color-gray-700)",borderRadius:"8px",fontSize:"12px"}}),u.jsx(aa,{wrapperStyle:{fontSize:"11px"}})]})})})]})}function Tc({hourCounts:e}){const t=Array.from({length:24},(a,n)=>({hour:n,label:`${n.toString().padStart(2,"0")}:00`,count:e[String(n)]??0})),r=Math.max(...t.map(a=>a.count),1);return u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("h3",{className:"text-sm font-semibold text-gray-300",children:"Hourly Distribution"}),u.jsx("p",{className:"mt-1 text-xs text-gray-500",children:"Session starts by hour of day"}),u.jsx("div",{className:"mt-4 flex items-end gap-0.5",style:{height:"120px"},children:t.map(a=>{const n=a.count>0?Math.max(a.count/r*100,4):0,i=a.count/r;return u.jsxs("div",{className:"group relative flex-1",style:{height:"100%"},children:[u.jsx("div",{className:"absolute bottom-0 w-full rounded-t transition-colors",style:{height:`${n}%`,backgroundColor:`rgba(217, 119, 87, ${.2+i*.6})`}}),u.jsxs("div",{className:"absolute -top-8 left-1/2 hidden -translate-x-1/2 whitespace-nowrap rounded bg-gray-800 px-1.5 py-0.5 text-[10px] text-gray-300 group-hover:block",children:[a.label,": ",a.count]})]},a.hour)})}),u.jsxs("div",{className:"mt-1 flex justify-between text-[10px] text-gray-600",children:[u.jsx("span",{children:"00:00"}),u.jsx("span",{children:"06:00"}),u.jsx("span",{children:"12:00"}),u.jsx("span",{children:"18:00"}),u.jsx("span",{children:"23:00"})]})]})}const Nc=[{key:"projectName",label:"Project"},{key:"totalSessions",label:"Sessions",align:"right"},{key:"totalMessages",label:"Messages",align:"right"},{key:"totalDurationMs",label:"Duration",align:"right"},{key:"lastSessionAt",label:"Last Active",align:"right"}];function Cc({projects:e}){const{anonymizeProjectName:t}=wr(),[r,a]=s.useState("lastSessionAt"),[n,i]=s.useState("desc"),o=s.useMemo(()=>{const c=[...e];return c.sort((m,f)=>{let v=0;switch(r){case"projectName":v=m.projectName.localeCompare(f.projectName);break;case"totalSessions":v=m.totalSessions-f.totalSessions;break;case"totalMessages":v=m.totalMessages-f.totalMessages;break;case"totalDurationMs":v=m.totalDurationMs-f.totalDurationMs;break;case"lastSessionAt":v=m.lastSessionAt.localeCompare(f.lastSessionAt);break}return n==="asc"?v:-v}),c},[e,r,n]);function l(c){c===r?i(m=>m==="asc"?"desc":"asc"):(a(c),i("desc"))}function d(c){return c!==r?null:u.jsx("span",{className:"ml-1",children:n==="asc"?"▲":"▼"})}return u.jsx("div",{className:"overflow-x-auto rounded-xl border border-gray-800 bg-gray-900/50",children:u.jsxs("table",{className:"w-full",children:[u.jsx("thead",{children:u.jsx("tr",{className:"border-b border-gray-800",children:Nc.map(c=>u.jsxs("th",{onClick:()=>l(c.key),className:`cursor-pointer px-4 py-3 text-xs font-medium text-gray-400 hover:text-gray-200 ${c.align==="right"?"text-right":"text-left"}`,children:[c.label,d(c.key)]},c.key))})}),u.jsx("tbody",{children:o.map(c=>u.jsxs("tr",{className:"border-b border-gray-800/50 transition-colors hover:bg-gray-800/30",children:[u.jsxs("td",{className:"px-4 py-3",children:[u.jsx(xa,{to:"/sessions",search:{project:c.projectName},className:"text-sm text-brand-500 hover:underline",children:t(c.projectName)}),c.activeSessions>0&&u.jsxs("span",{className:"ml-2 rounded-full bg-emerald-500/20 px-1.5 py-0.5 text-[10px] font-medium text-emerald-400",children:[c.activeSessions," active"]})]}),u.jsx("td",{className:"px-4 py-3 text-right font-mono text-sm text-gray-300",children:c.totalSessions}),u.jsx("td",{className:"px-4 py-3 text-right font-mono text-sm text-gray-300",children:c.totalMessages.toLocaleString()}),u.jsx("td",{className:"px-4 py-3 text-right font-mono text-sm text-gray-300",children:$e(c.totalDurationMs)}),u.jsx("td",{className:"px-4 py-3 text-right text-sm text-gray-400",children:ja(c.lastSessionAt)})]},c.projectPath))})]})})}function Dc(){const{anonymizeProjectName:e}=wr(),{data:t,isLoading:r}=yt(Zr);if(r)return u.jsxs("div",{className:"space-y-4",children:[u.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-3",children:Array.from({length:3}).map((l,d)=>u.jsx("div",{className:"h-20 animate-pulse rounded-xl bg-gray-900/50"},d))}),u.jsx("div",{className:"h-64 animate-pulse rounded-xl bg-gray-900/50"})]});const a=t?.projects??[];if(a.length===0)return u.jsx("div",{className:"py-12 text-center text-sm text-gray-500",children:"No projects found. Sessions will appear here once scanned."});const n=a.reduce((l,d)=>l+d.totalSessions,0),i=a.reduce((l,d)=>l+d.totalDurationMs,0),o=a.reduce((l,d)=>d.totalSessions>l.totalSessions?d:l);return u.jsxs("div",{className:"space-y-6",children:[u.jsxs("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:[u.jsx(De,{label:"Total Projects",value:String(a.length)}),u.jsx(De,{label:"Total Sessions",value:n.toLocaleString()}),u.jsx(De,{label:"Total Duration",value:$e(i)}),u.jsx(De,{label:"Most Active",value:e(o.projectName),sub:`${o.totalSessions} sessions`})]}),u.jsx(Cc,{projects:a})]})}function De({label:e,value:t,sub:r}){return u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("p",{className:"text-xs text-gray-400",children:e}),u.jsx("p",{className:"mt-1 truncate text-xl font-bold text-gray-100",children:t}),r&&u.jsx("p",{className:"mt-0.5 text-xs text-gray-500",children:r})]})}const Mc={};function Kc(){const{tab:e}=$t.useSearch(),t=$t.useNavigate(),{data:r,isLoading:a}=yt(ii),n=s.useMemo(()=>{if(!r)return Mc;const o={};for(const[l,d]of Object.entries(r.modelUsage))o[l]={inputTokens:d.inputTokens,outputTokens:d.outputTokens,cacheReadInputTokens:d.cacheReadInputTokens,cacheCreationInputTokens:d.cacheCreationInputTokens};return o},[r]),{cost:i}=Jn(n);return u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center justify-between",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-2xl font-bold text-gray-100",children:"Stats"}),u.jsx("p",{className:"mt-1 text-sm text-gray-400",children:"Usage analytics and project insights"})]}),e==="overview"&&r&&u.jsx(Qn,{options:[{label:"Daily Activity (CSV)",onClick:()=>Ie(ei(r),"daily-activity.csv","text/csv")},{label:"Token Usage (CSV)",onClick:()=>Ie(ti(r),"daily-tokens.csv","text/csv")},{label:"Model Usage (CSV)",onClick:()=>Ie(ri(r),"model-usage.csv","text/csv")},{label:"Full Stats (JSON)",onClick:()=>Ie(ai(r),"stats.json","application/json")}]})]}),u.jsxs("div",{className:"mt-4 flex gap-1 border-b border-gray-800",children:[u.jsx("button",{onClick:()=>t({search:{tab:"overview"}}),className:`px-4 py-2 text-sm border-b-2 transition-colors ${e==="overview"?"border-brand-500 text-gray-100":"border-transparent text-gray-400 hover:text-gray-200"}`,children:"Overview"}),u.jsx("button",{onClick:()=>t({search:{tab:"projects"}}),className:`px-4 py-2 text-sm border-b-2 transition-colors ${e==="projects"?"border-brand-500 text-gray-100":"border-transparent text-gray-400 hover:text-gray-200"}`,children:"Projects"})]}),e==="overview"?u.jsx(Lc,{stats:r,isLoading:a,cost:i}):u.jsx("div",{className:"mt-6",children:u.jsx(Dc,{})})]})}function Lc({stats:e,isLoading:t,cost:r}){const{data:a}=yt(Zr);if(t)return u.jsxs("div",{className:"mt-6 space-y-4",children:[u.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:Array.from({length:4}).map((d,c)=>u.jsx("div",{className:"h-20 animate-pulse rounded-xl bg-gray-900/50"},c))}),u.jsx("div",{className:"grid grid-cols-2 gap-3 md:grid-cols-4",children:Array.from({length:4}).map((d,c)=>u.jsx("div",{className:"h-20 animate-pulse rounded-xl bg-gray-900/50"},c))}),Array.from({length:3}).map((d,c)=>u.jsx("div",{className:"h-64 animate-pulse rounded-xl bg-gray-900/50"},c))]});if(!e)return u.jsx("div",{className:"py-12 text-center text-sm text-gray-500",children:"No stats data found. Check ~/.claude/stats-cache.json"});const n=Object.values(e.modelUsage).reduce((d,c)=>d+c.inputTokens+c.outputTokens,0),i=e.dailyActivity.reduce((d,c)=>d+c.toolCallCount,0),o=a?.projects.reduce((d,c)=>d+c.totalDurationMs,0)??0,l=a?.projects.length??0;return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"mt-6 grid grid-cols-2 gap-3 md:grid-cols-4",children:[u.jsx(Z,{label:"Total Sessions",value:String(e.totalSessions)}),u.jsx(Z,{label:"Total Messages",value:e.totalMessages.toLocaleString()}),u.jsx(Z,{label:"Total Time",value:$e(o)}),u.jsx(Z,{label:"Projects",value:String(l)})]}),u.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-3 md:grid-cols-4",children:[u.jsx(Z,{label:"Total Tokens",value:ve(n)}),u.jsx(Z,{label:"Estimated Cost",value:r?`~${Oa(r.totalUSD)}`:"N/A"}),u.jsx(Z,{label:"Tool Calls",value:i.toLocaleString()}),u.jsx(Z,{label:"Longest Session",value:$e(e.longestSession.duration),sub:`${e.longestSession.messageCount} messages`})]}),u.jsx("div",{className:"mt-6",children:u.jsx(Oc,{dailyActivity:e.dailyActivity,dailyModelTokens:e.dailyModelTokens})}),u.jsx("div",{className:"mt-4",children:u.jsx(gc,{data:e.dailyActivity})}),u.jsx("div",{className:"mt-4",children:u.jsx(Ec,{data:e.dailyModelTokens})}),u.jsxs("div",{className:"mt-4 grid grid-cols-1 gap-4 md:grid-cols-2",children:[u.jsx(Ic,{data:e.modelUsage}),u.jsx(Tc,{hourCounts:e.hourCounts})]})]})}function Z({label:e,value:t,sub:r}){return u.jsxs("div",{className:"rounded-xl border border-gray-800 bg-gray-900/50 p-4",children:[u.jsx("p",{className:"text-xs text-gray-400",children:e}),u.jsx("p",{className:"mt-1 text-xl font-bold text-gray-100",children:t}),r&&u.jsx("p",{className:"mt-0.5 text-xs text-gray-500",children:r})]})}export{Kc as component};