claude-session-dashboard 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/_dashboard-Job6DOd1.js +1 -0
- package/dist/client/assets/_sessionId-CIFXqjVa.js +12 -0
- package/dist/client/assets/app-CkRVT69z.css +1 -0
- package/dist/client/assets/{createServerFn-BLR4iNR3.js → createServerFn-6SJrpRCO.js} +1 -1
- package/dist/client/assets/index-DDr2smLW.js +1 -0
- package/dist/client/assets/main-B6FohBFQ.js +69 -0
- package/dist/client/assets/sessions.queries-ClgzoOt4.js +1 -0
- package/dist/client/assets/settings-DQD2EaIq.js +1 -0
- package/dist/client/assets/{settings.types-DHC6rkil.js → settings.types-LYd9Z8Y1.js} +1 -1
- package/dist/client/assets/stats-CrWQ_y2R.js +4 -0
- package/dist/client/assets/{useSessionCost-BikgEmWy.js → useSessionCost-Drt0v6oj.js} +1 -1
- package/dist/server/assets/{_dashboard-smfIqyQC.js → _dashboard-61fpMMMe.js} +7 -7
- package/dist/server/assets/{_sessionId-DIUMcrWR.js → _sessionId-B_O50OfN.js} +17 -17
- package/dist/server/assets/_tanstack-start-manifest_v-Dva5sIpS.js +4 -0
- package/dist/server/assets/{app-info.server-CXcS0a5s.js → app-info.api-CdaWsxHl.js} +2 -2
- package/dist/server/assets/{index-hFrIPkke.js → index-BYcFI9Ho.js} +6 -6
- package/dist/server/assets/{project-analytics.server-Bxk8-NnT.js → project-analytics.api-QnhRRs7T.js} +4 -4
- package/dist/server/assets/{router-5hznwWqr.js → router-BvYNknMb.js} +80 -12
- package/dist/server/assets/{session-detail.server-BIoOQwSE.js → session-detail.api-8plxSeB0.js} +3 -3
- package/dist/server/assets/{session-parser-B0pdBvgT.js → session-parser-DxLcS8VW.js} +2 -2
- package/dist/server/assets/{session-scanner-CpgOq5m1.js → session-scanner-DRGzVO2T.js} +1 -1
- package/dist/server/assets/{sessions.server-Biq8gbAJ.js → sessions.api-DRmOjipJ.js} +8 -8
- package/dist/server/assets/{sessions.queries-B5ZBiVJy.js → sessions.queries-CvAnVbE8.js} +3 -3
- package/dist/server/assets/{settings-D0FgLIR5.js → settings-Ct2BZGxb.js} +33 -5
- package/dist/server/assets/{settings.server-6B2PvLgf.js → settings.api-C9L2GoIE.js} +4 -4
- package/dist/server/assets/{settings.queries-DSQd324O.js → settings.queries-BVEZA-1G.js} +2 -2
- package/dist/server/assets/{stats-Ae6umrPI.js → stats-CZEpvzmd.js} +51 -37
- package/dist/server/assets/{stats.server-DhzOihwM.js → stats.api-CH-wTCGE.js} +4 -4
- package/dist/server/assets/{useSessionCost-CYs5UOX-.js → useSessionCost-CyWBuljV.js} +1 -1
- package/dist/server/server.js +40 -29
- package/package.json +4 -1
- package/dist/client/assets/_dashboard-DLFGahko.js +0 -1
- package/dist/client/assets/_sessionId-xiPzwrlf.js +0 -12
- package/dist/client/assets/app-DREGBD44.css +0 -1
- package/dist/client/assets/index-D_9sS4oJ.js +0 -1
- package/dist/client/assets/main-BcKPK-4E.js +0 -56
- package/dist/client/assets/sessions.queries-CHKiZnLm.js +0 -1
- package/dist/client/assets/settings-B2tG1vy0.js +0 -1
- package/dist/client/assets/stats-BlA0NIHc.js +0 -4
- 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,B as d}from"./main-B6FohBFQ.js";import{c as a,q as n}from"./createServerFn-6SJrpRCO.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-B6FohBFQ.js";import{u as P}from"./createServerFn-6SJrpRCO.js";import{S,D as y,u as M,a as b,s as w}from"./settings.types-LYd9Z8Y1.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};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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as d,q as T}from"./createServerFn-
|
|
1
|
+
import{c as d,q as T}from"./createServerFn-6SJrpRCO.js";import{S as P,s as k,m as u,n as b,o as h,p as l,r,q as f,t as S,c as p,v as m,x as o,y as c,z as v,_ as O,A as C}from"./main-B6FohBFQ.js";var g=class extends P{#t;#i=void 0;#e;#s;constructor(e,t){super(),this.#t=e,this.setOptions(t),this.bindMethods(),this.#a()}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&&u(t.mutationKey)!==u(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.#a(),this.#r(e)}getCurrentResult(){return this.#i}reset(){this.#e?.removeObserver(this),this.#e=void 0,this.#a(),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)}#a(){const e=this.#e?.state??b();this.#i={...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){h.batch(()=>{if(this.#s&&this.hasListeners()){const t=this.#i.variables,a=this.#i.context,s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#s.onSuccess?.(e.data,t,a,s)}catch(i){Promise.reject(i)}try{this.#s.onSettled?.(e.data,null,t,a,s)}catch(i){Promise.reject(i)}}else if(e?.type==="error"){try{this.#s.onError?.(e.error,t,a,s)}catch(i){Promise.reject(i)}try{this.#s.onSettled?.(void 0,e.error,t,a,s)}catch(i){Promise.reject(i)}}}this.listeners.forEach(t=>{t(this.#i)})})}};function x(e,t){const a=l(),[s]=r.useState(()=>new g(a,e));r.useEffect(()=>{s.setOptions(e)},[s,e]);const i=r.useSyncExternalStore(r.useCallback(n=>s.subscribe(h.batchCalls(n)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),M=r.useCallback((n,y)=>{s.mutate(n,y).catch(f)},[s]);if(i.error&&S(s.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:M,mutateAsync:i.mutate}}const R=d({method:"GET"}).handler(p("72f81ef9e8fa751bab60a8bdabd7e77816e2a6723a5e6e26e03712c01b3a249c")),N=d({method:"POST"}).handler(p("7fe8c2b131c4fc81aa9a2570aec79640ff84603fe0060d13c24928b7329cb236")),D=T({queryKey:["settings"],queryFn:()=>R(),staleTime:3e5,refetchOnWindowFocus:!1});function W(){const e=l();return x({mutationFn:t=>N({data:t}),onSuccess:()=>{e.invalidateQueries({queryKey:["settings"]})}})}const I=m({inputPerMTok:o().min(0),outputPerMTok:o().min(0),cacheReadPerMTok:o().min(0),cacheWritePerMTok:o().min(0)});m({version:C(1),subscriptionTier:O(["free","pro","max-5x","max-20x","teams","enterprise","api"]).default("pro"),pricingOverrides:v(c(),I).default({}),updatedAt:c().datetime().optional()});const q=[{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}],K=[{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}],F={subscriptionTier:"pro",pricingOverrides:{}};function j(e){return e.replace(/-\d{8}$/,"")}export{q as D,K as S,F as a,j as n,D as s,W as u};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{c as xr,r as s,a as Pr,g as ma,i as pa,j as u,b as jr,L as ga,R as Lt}from"./main-B6FohBFQ.js";import{c as Or,q as wr,u as yt}from"./createServerFn-6SJrpRCO.js";import{t as Le,c as Ar,m as kr,a as Sr,f as ie,b as ve,s as ya,d as _e,e as ha,g as ba}from"./format-Bsprb3az.js";import{w as xa,c as Ee,s as it,i as z,a as te,u as Er,r as Z,b as Ue,S as Pa,d as D,e as ja,f as Oa,g as wa,h as Aa,j as Ir,k as Tr,l as oe,m as ka,n as _t,o as Sa,p as I,q as we,t as Ea,v as Ia,x as se,y as Ta,z as Na,A as Nr,B as Ca,C as Da,D as Y,E as Ma,F as La,G as _a,H as $a,I as re,J as Ba,K as Ra,L as za,M as Ka,N as Cr,O as Wa,P as Fa,Q as Ga,R as Ve,T as Dr,U as ht,V as Ua,W as bt,X as be,Y as _,Z as V,_ as Mr,$ as Va,a0 as Ha,a1 as qa,a2 as Ya,a3 as Xa,a4 as He,a5 as Lr,a6 as Za,a7 as ye,a8 as xt,a9 as Ja,aa as he,ab as _r,ac as Qa,ad as fe,ae as en,af as Pt,ag as $r,ah as tn,ai as rn,aj as an,ak as Br,al as nn,am as Q,an as ot,ao as st,ap as on,aq as sn,ar as ln,as as qe,at as lt,au as cn,av as un,aw as Ye,ax as $t,ay as Bt,az as Rr,aA as zr,aB as Kr,aC as Oe,aD as Rt,aE as Wr,aF as dn,aG as le,aH as me,aI as ce,aJ as pe,aK as Fr,aL as Gr,aM as Ur,aN as fn,aO as vn,aP as zt,aQ as mn,aR as Kt,aS as pn,aT as gn,aU as yn,aV as hn,aW as bn,aX as xn,aY as Pn,aZ as jn,a_ as On,a$ as wn,b0 as Wt,b1 as An,b2 as kn,b3 as Sn,b4 as M,b5 as En,b6 as In,b7 as Tn,b8 as Nn,b9 as Cn,ba as Dn,bb as Mn,bc as Ln,bd as _n,be as $n,bf as Bn,bg as Vr,bh as Rn,bi as zn,bj as Kn,bk as Wn,bl as Fn,bm as Gn,bn as jt,bo as Hr,bp as Ot,bq as Un,br as Vn,bs as Hn,bt as qn,bu as Ie,bv as Yn,bw as Xn,bx as Zn,by as Jn}from"./useSessionCost-Drt0v6oj.js";import"./settings.types-LYd9Z8Y1.js";const Qn=Or({method:"GET"}).handler(xr("44af69d3bfcf3ec46fffb3f297d2b12cd7fe4db36c654b8a322df34d549c6493")),ei=wr({queryKey:["stats"],queryFn:()=>Qn(),refetchInterval:6e4}),ti=Or({method:"GET"}).handler(xr("39e65590d2bc41f653f54a9b6a9e0a72f185da275304c0a4a595d811cf185572")),qr=wr({queryKey:["projects","analytics"],queryFn:()=>ti(),refetchInterval:6e4}),Yr=Math.cos,$e=Math.sin,H=Math.sqrt,Be=Math.PI,Xe=2*Be,wt={draw(e,t){const r=H(t/Be);e.moveTo(r,0),e.arc(0,0,r,0,Xe)}},ri={draw(e,t){const r=H(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()}},Xr=H(1/3),ai=Xr*2,ni={draw(e,t){const r=H(t/ai),a=r*Xr;e.moveTo(0,-r),e.lineTo(a,0),e.lineTo(0,r),e.lineTo(-a,0),e.closePath()}},ii={draw(e,t){const r=H(t),a=-r/2;e.rect(a,a,r,r)}},oi=.8908130915292852,Zr=$e(Be/10)/$e(7*Be/10),si=$e(Xe/10)*Zr,li=-Yr(Xe/10)*Zr,ci={draw(e,t){const r=H(t*oi),a=si*r,n=li*r;e.moveTo(0,-r),e.lineTo(a,n);for(let i=1;i<5;++i){const o=Xe*i/5,l=Yr(o),d=$e(o);e.lineTo(d*r,-l*r),e.lineTo(l*a-d*n,d*a+l*n)}e.closePath()}},et=H(3),ui={draw(e,t){const r=-H(t/(et*3));e.moveTo(0,r*2),e.lineTo(-et*r,-r),e.lineTo(et*r,-r),e.closePath()}},F=-.5,G=H(3)/2,ct=1/H(12),di=(ct/2+1)*3,fi={draw(e,t){const r=H(t/di),a=r/2,n=r*ct,i=a,o=r*ct+r,l=-i,d=o;e.moveTo(a,n),e.lineTo(i,o),e.lineTo(l,d),e.lineTo(F*a-G*n,G*a+F*n),e.lineTo(F*i-G*o,G*i+F*o),e.lineTo(F*l-G*d,G*l+F*d),e.lineTo(F*a+G*n,F*n-G*a),e.lineTo(F*i+G*o,F*o-G*i),e.lineTo(F*l+G*d,F*d-G*l),e.closePath()}};function vi(e,t){let r=null,a=xa(n);e=typeof e=="function"?e:Ee(e||wt),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 mi=["type","size","sizeType"];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 Ft(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 Gt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ft(Object(r),!0).forEach(function(a){pi(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ft(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function pi(e,t,r){return(t=gi(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gi(e){var t=yi(e,"string");return typeof t=="symbol"?t:t+""}function yi(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 hi(e,t){if(e==null)return{};var r,a,n=bi(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 bi(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 Jr={symbolCircle:wt,symbolCross:ri,symbolDiamond:ni,symbolSquare:ii,symbolStar:ci,symbolTriangle:ui,symbolWye:fi},xi=Math.PI/180,Pi=e=>{var t="symbol".concat(Er(e));return Jr[t]||wt},ji=(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*xi;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}},Oi=(e,t)=>{Jr["symbol".concat(Er(e))]=t},At=e=>{var{type:t="circle",size:r=64,sizeType:a="area"}=e,n=hi(e,mi),i=Gt(Gt({},n),{},{type:t,size:r,sizeType:a}),o="circle";typeof t=="string"&&(o=t);var l=()=>{var v=Pi(o),y=vi().type(v).size(ji(r,a,o)),b=y();if(b!==null)return b},{className:d,cx:c,cy:f}=i,m=it(i);return z(c)&&z(f)&&z(r)?s.createElement("path",ut({},m,{className:te("recharts-symbols",d),transform:"translate(".concat(c,", ").concat(f,")"),d:l()})):null};At.registerSymbol=Oi;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 Ut(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 wi(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ut(Object(r),!0).forEach(function(a){Ai(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ut(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Ai(e,t,r){return(t=ki(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ki(e){var t=Si(e,"string");return typeof t=="symbol"?t:t+""}function Si(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,Ei={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle"};function Ii(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"){var c;return s.createElement("line",{strokeWidth:4,fill:"none",stroke:l,strokeDasharray:(c=t.payload)===null||c===void 0?void 0:c.strokeDasharray,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 f=wi({},t);return delete f.legendIcon,s.cloneElement(t.legendIcon,f)}return s.createElement(At,{fill:l,cx:n,cy:n,size:U,sizeType:"diameter",type:d})}function Ti(e){var{payload:t,iconSize:r,layout:a,formatter:n,inactiveColor:i,iconType:o}=e,l={x:0,y:0,width:U,height:U},d={display:a==="horizontal"?"inline-block":"block",marginRight:10},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((f,m)=>{var v=f.formatter||n,y=te({"recharts-legend-item":!0,["legend-item-".concat(m)]:!0,inactive:f.inactive});if(f.type==="none")return null;var b=f.inactive?i:f.color,h=v?v(f.value,f,m):f.value;return s.createElement("li",Re({className:y,style:d,key:"legend-item-".concat(m)},Ue(e,f,m)),s.createElement(Pa,{width:r,height:r,viewBox:l,style:c,"aria-label":"".concat(h," legend icon")},s.createElement(Ii,{data:f,iconType:o,inactiveColor:i})),s.createElement("span",{className:"recharts-legend-item-text",style:{color:b}},h))})}var Ni=e=>{var t=Z(e,Ei),{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(Ti,Re({},t,{payload:r})))};function Ci(){return D(ja)}var Di=["contextPayload"];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 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 ge(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){Mi(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 Mi(e,t,r){return(t=Li(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Li(e){var t=_i(e,"string");return typeof t=="symbol"?t:t+""}function _i(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 $i(e,t){if(e==null)return{};var r,a,n=Bi(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 Bi(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 Ri(e){return e.value}function zi(e){var{contextPayload:t}=e,r=$i(e,Di),a=Sa(t,e.payloadUniqBy,Ri),n=ge(ge({},r),{},{payload:a});return s.isValidElement(e.content)?s.cloneElement(e.content,n):typeof e.content=="function"?s.createElement(e.content,n):s.createElement(Ni,n)}function Ki(e,t,r,a,n,i){var{layout:o,align:l,verticalAlign:d}=t,c,f;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"?f={top:((n||0)-i.height)/2}:f=d==="bottom"?{bottom:r&&r.bottom||0}:{top:r&&r.top||0}),ge(ge({},c),f)}function Wi(e){var t=oe();return s.useEffect(()=>{t(ka(e))},[t,e]),null}function Fi(e){var t=oe();return s.useEffect(()=>(t(_t(e)),()=>{t(_t({width:0,height:0}))}),[t,e]),null}function Gi(e,t,r,a){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||a}:null}var Ui={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",layout:"horizontal",verticalAlign:"bottom"};function Qr(e){var t=Z(e,Ui),r=Ci(),a=Oa(),n=wa(),{width:i,height:o,wrapperStyle:l,portal:d}=t,[c,f]=Aa([r]),m=Ir(),v=Tr();if(m==null||v==null)return null;var y=m-(n?.left||0)-(n?.right||0),b=Gi(t.layout,o,i,y),h=d?l:ge(ge({position:"absolute",width:b?.width||i||"auto",height:b?.height||o||"auto"},Ki(l,t,n,m,v,c)),l),g=d??a;if(g==null||r==null)return null;var p=s.createElement("div",{className:"recharts-legend-wrapper",style:h,ref:f},s.createElement(Wi,{layout:t.layout,align:t.align,verticalAlign:t.verticalAlign,itemSorter:t.itemSorter}),!d&&s.createElement(Fi,{width:c.width,height:c.height}),s.createElement(zi,dt({},t,b,{margin:n,chartWidth:m,chartHeight:v,contextPayload:r})));return Pr.createPortal(p,g)}Qr.displayName="Legend";var Ae=e=>null;Ae.displayName="Cell";var ea=e=>e.graphicalItems.polarItems,Vi=I([we,Ea],Ia),Ze=I([ea,se,Vi],Ta),Hi=I([Ze],Na),Je=I([Hi,Nr],Ca),qi=I([Je,se,Ze],Da);I([Je,se,Ze],(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 Ht=()=>{},Yi=I([Je,se,Ze,Ma,we],La),Xi=I([se,_a,$a,Ht,Yi,Ht,re,we],Ba),ta=I([se,re,Je,qi,Ra,we,Xi],za),Zi=I([ta,Ka,Cr],Wa),Ji=I([se,ta,Zi,we],Fa);I([Cr,Ji],Ga);function qt(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 Yt(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?qt(Object(r),!0).forEach(function(a){Qi(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):qt(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Qi(e,t,r){return(t=eo(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function eo(e){var t=to(e,"string");return typeof t=="symbol"?t:t+""}function to(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 ro=(e,t)=>t,kt=I([ea,ro],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),ao=[],St=(e,t,r)=>r?.length===0?ao:r,ra=I([Nr,kt,St],(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=>Yt(Yt({},t.presentationProps),i.props))),n!=null)return n}}),no=I([ra,kt,St],(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:Ve(o,t.dataKey),color:l,payload:a,type:t.legendType}})}),io=I([ra,kt,St,Dr],(e,t,r,a)=>{if(!(t==null||e==null))return Go({offset:a,pieSettings:t,displayedData:e,cells:r})}),tt={},Xt;function oo(){return Xt||(Xt=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})(tt)),tt}var rt,Zt;function so(){return Zt||(Zt=1,rt=oo().isPlainObject),rt}var lo=so();const co=ma(lo);var Jt,Qt,er,tr,rr;function ar(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 nr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ar(Object(r),!0).forEach(function(a){uo(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ar(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function uo(e,t,r){return(t=fo(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fo(e){var t=vo(e,"string");return typeof t=="symbol"?t:t+""}function vo(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 xe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var ir=(e,t,r,a,n)=>{var i=r-a,o;return o=be(Jt||(Jt=xe(["M ",",",""])),e,t),o+=be(Qt||(Qt=xe(["L ",",",""])),e+r,t),o+=be(er||(er=xe(["L ",",",""])),e+r-i/2,t+n),o+=be(tr||(tr=xe(["L ",",",""])),e+r-i/2-a,t+n),o+=be(rr||(rr=xe(["L ",","," Z"])),e,t),o},mo={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},po=e=>{var t=Z(e,mo),{x:r,y:a,upperWidth:n,lowerWidth:i,height:o,className:l}=t,{animationEasing:d,animationDuration:c,animationBegin:f,isUpdateAnimationActive:m}=t,v=s.useRef(null),[y,b]=s.useState(-1),h=s.useRef(n),g=s.useRef(i),p=s.useRef(o),x=s.useRef(r),O=s.useRef(a),P=ht(e,"trapezoid-");if(s.useEffect(()=>{if(v.current&&v.current.getTotalLength)try{var N=v.current.getTotalLength();N&&b(N)}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(!m)return s.createElement("g",null,s.createElement("path",ze({},it(t),{className:k,d:ir(r,a,n,i,o)})));var j=h.current,A=g.current,w=p.current,S=x.current,E=O.current,B="0px ".concat(y===-1?1:y,"px"),K="".concat(y,"px 0px"),C=Ua(["strokeDasharray"],c,d);return s.createElement(bt,{animationId:P,key:P,canBegin:y>0,duration:c,easing:d,isActive:m,begin:f},N=>{var W=_(j,n,N),R=_(A,i,N),q=_(w,o,N),ae=_(S,r,N),ue=_(E,a,N);v.current&&(h.current=W,g.current=R,p.current=q,x.current=ae,O.current=ue);var Se=N>0?{transition:C,strokeDasharray:K}:{strokeDasharray:B};return s.createElement("path",ze({},it(t),{className:k,d:ir(ae,ue,W,R,q),ref:v,style:nr(nr({},Se),t.style)}))})},go=["option","shapeType","activeClassName"];function yo(e,t){if(e==null)return{};var r,a,n=ho(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 ho(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 or(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?or(Object(r),!0).forEach(function(a){bo(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):or(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function bo(e,t,r){return(t=xo(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xo(e){var t=Po(e,"string");return typeof t=="symbol"?t:t+""}function Po(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 jo(e,t){return Ke(Ke({},t),e)}function Oo(e,t){return e==="symbols"}function sr(e){var{shapeType:t,elementProps:r}=e;switch(t){case"rectangle":return s.createElement(Ha,r);case"trapezoid":return s.createElement(po,r);case"sector":return s.createElement(Va,r);case"symbols":if(Oo(t))return s.createElement(At,r);break;case"curve":return s.createElement(Mr,r);default:return null}}function wo(e){return s.isValidElement(e)?e.props:e}function aa(e){var{option:t,shapeType:r,activeClassName:a="recharts-active-shape"}=e,n=yo(e,go),i;if(s.isValidElement(t))i=s.cloneElement(t,Ke(Ke({},n),wo(t)));else if(typeof t=="function")i=t(n,n.index);else if(co(t)&&typeof t!="boolean"){var o=jo(t,n);i=s.createElement(sr,{shapeType:r,elementProps:o})}else{var l=n;i=s.createElement(sr,{shapeType:r,elementProps:l})}return n.isActive?s.createElement(V,{className:a},i):i}var Et=(e,t,r)=>{var a=oe();return(n,i)=>o=>{e?.(n,i,o),a(qa({activeIndex:String(i),activeDataKey:t,activeCoordinate:n.tooltipPosition,activeGraphicalItemId:r}))}},It=e=>{var t=oe();return(r,a)=>n=>{e?.(r,a,n),t(Ya())}},Tt=(e,t,r)=>{var a=oe();return(n,i)=>o=>{e?.(n,i,o),a(Xa({activeIndex:String(i),activeDataKey:t,activeCoordinate:n.tooltipPosition,activeGraphicalItemId:r}))}},Ao=["key"],ko=["onMouseEnter","onClick","onMouseLeave"],So=["id"],Eo=["id"];function lr(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 T(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?lr(Object(r),!0).forEach(function(a){Io(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):lr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Io(e,t,r){return(t=To(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function To(e){var t=No(e,"string");return typeof t=="symbol"?t:t+""}function No(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 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 Qe(e,t){if(e==null)return{};var r,a,n=Co(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 Co(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 Do(e){var t=s.useMemo(()=>xt(e.children,Ae),[e.children]),r=D(a=>no(a,e.id,t));return r==null?null:s.createElement(Ja,{legendPayload:r})}var Mo=s.memo(e=>{var{dataKey:t,nameKey:r,sectors:a,stroke:n,strokeWidth:i,fill:o,name:l,hide:d,tooltipType:c,id:f}=e,m={dataDefinedOnItem:a.map(v=>v.tooltipPayload),getPosition:v=>{var y;return(y=a[Number(v)])===null||y===void 0?void 0:y.tooltipPosition},settings:{stroke:n,strokeWidth:i,fill:o,dataKey:t,nameKey:r,name:Ve(l,t),hide:d,type:c,color:o,unit:"",graphicalItemId:f}};return s.createElement(_r,{tooltipEntrySettings:m})}),Lo=(e,t)=>e>t?"start":e<t?"end":"middle",_o=(e,t,r)=>typeof t=="function"?Q(t(e),r,r*.8):Q(t,r,r*.8),$o=(e,t,r)=>{var{top:a,left:n,width:i,height:o}=t,l=nn(i,o),d=n+Q(e.cx,i,i/2),c=a+Q(e.cy,o,o/2),f=Q(e.innerRadius,l,0),m=_o(r,e.outerRadius,l),v=e.maxRadius||Math.sqrt(i*i+o*o)/2;return{cx:d,cy:c,innerRadius:f,outerRadius:m,maxRadius:v}},Bo=(e,t)=>{var r=fe(t-e),a=Math.min(Math.abs(t-e),360);return r*a},Ro=(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=Qe(t,Ao);return s.createElement(Mr,ee({},n,{type:"linear",className:r}))},zo=(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",on(e));return s.createElement(sn,ee({},t,{alignmentBaseline:"middle",className:n}),a)};function Ko(e){var{sectors:t,props:r,showLabels:a}=e,{label:n,labelLine:i,dataKey:o}=r;if(!a||!n||!t)return null;var l=He(r),d=st(n),c=st(i),f=typeof n=="object"&&"offsetRadius"in n&&typeof n.offsetRadius=="number"&&n.offsetRadius||20,m=t.map((v,y)=>{var b=(v.startAngle+v.endAngle)/2,h=ot(v.cx,v.cy,v.outerRadius+f,b),g=T(T(T(T({},l),v),{},{stroke:"none"},d),{},{index:y,textAnchor:Lo(h.x,v.cx)},h),p=T(T(T(T({},l),v),{},{fill:"none",stroke:v.fill},c),{},{index:y,points:[ot(v.cx,v.cy,v.outerRadius,b),h],key:"line"});return s.createElement(he,{zIndex:ye.label,key:"label-".concat(v.startAngle,"-").concat(v.endAngle,"-").concat(v.midAngle,"-").concat(y)},s.createElement(V,null,i&&Ro(i,p),zo(n,g,Y(v,o))))});return s.createElement(V,{className:"recharts-pie-labels"},m)}function Wo(e){var{sectors:t,props:r,showLabels:a}=e,{label:n}=r;return typeof n=="object"&&n!=null&&"position"in n?s.createElement(Br,{label:n}):s.createElement(Ko,{sectors:t,props:r,showLabels:a})}function Fo(e){var{sectors:t,activeShape:r,inactiveShape:a,allOtherPieProps:n,shape:i,id:o}=e,l=D(Pt),d=D($r),c=D(tn),{onMouseEnter:f,onClick:m,onMouseLeave:v}=n,y=Qe(n,ko),b=Et(f,n.dataKey,o),h=It(v),g=Tt(m,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 O=c==null||c===o,P=String(x)===l&&(d==null||n.dataKey===d)&&O,k=l?a:null,j=r&&P?r:k,A=T(T({},p),{},{stroke:p.stroke,tabIndex:-1,[an]:x,[rn]:o});return s.createElement(V,ee({key:"sector-".concat(p?.startAngle,"-").concat(p?.endAngle,"-").concat(p.midAngle,"-").concat(x),tabIndex:-1,className:"recharts-pie-sector"},Ue(y,p,x),{onMouseEnter:b(p,x),onMouseLeave:h(p,x),onClick:g(p,x)}),s.createElement(aa,ee({option:i??j,index:x,shapeType:"sector",isActive:P},A)))}))}function Go(e){var t,{pieSettings:r,displayedData:a,cells:n,offset:i}=e,{cornerRadius:o,startAngle:l,endAngle:d,dataKey:c,nameKey:f,tooltipType:m}=r,v=Math.abs(r.minAngle),y=Bo(l,d),b=Math.abs(y),h=a.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,g=a.filter(j=>Y(j,c,0)!==0).length,p=(b>=360?g:g-1)*h,x=b-g*v-p,O=a.reduce((j,A)=>{var w=Y(A,c,0);return j+(z(w)?w:0)},0),P;if(O>0){var k;P=a.map((j,A)=>{var w=Y(j,c,0),S=Y(j,f,A),E=$o(r,i,j),B=(z(w)?w:0)/O,K,C=T(T({},j),n&&n[A]&&n[A].props);A?K=k.endAngle+fe(y)*h*(w!==0?1:0):K=l;var N=K+fe(y)*((w!==0?v:0)+B*x),W=(K+N)/2,R=(E.innerRadius+E.outerRadius)/2,q=[{name:S,value:w,payload:C,dataKey:c,type:m,graphicalItemId:r.id}],ae=ot(E.cx,E.cy,R,W);return k=T(T(T(T({},r.presentationProps),{},{percent:B,cornerRadius:typeof o=="string"?parseFloat(o):o,name:S,tooltipPayload:q,midAngle:W,middleRadius:R,tooltipPosition:ae},C),E),{},{value:w,dataKey:c,startAngle:K,endAngle:N,payload:C,paddingAngle:fe(y)*h}),k})}return P}function Uo(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(en,{value:t?n:void 0},a)}function Vo(e){var{props:t,previousSectorsRef:r,id:a}=e,{sectors:n,isAnimationActive:i,animationBegin:o,animationDuration:l,animationEasing:d,activeShape:c,inactiveShape:f,onAnimationStart:m,onAnimationEnd:v}=t,y=ht(t,"recharts-pie-"),b=r.current,[h,g]=s.useState(!1),p=s.useCallback(()=>{typeof v=="function"&&v(),g(!1)},[v]),x=s.useCallback(()=>{typeof m=="function"&&m(),g(!0)},[m]);return s.createElement(Uo,{showLabels:!h,sectors:n},s.createElement(bt,{animationId:y,begin:o,duration:l,isActive:i,easing:d,onAnimationStart:x,onAnimationEnd:p,key:y},O=>{var P,k=[],j=n&&n[0],A=(P=j?.startAngle)!==null&&P!==void 0?P:0;return n?.forEach((w,S)=>{var E=b&&b[S],B=S>0?Qa(w,"paddingAngle",0):0;if(E){var K=_(E.endAngle-E.startAngle,w.endAngle-w.startAngle,O),C=T(T({},w),{},{startAngle:A+B,endAngle:A+K+B});k.push(C),A=C.endAngle}else{var{endAngle:N,startAngle:W}=w,R=_(0,N-W,O),q=T(T({},w),{},{startAngle:A+B,endAngle:A+R+B});k.push(q),A=q.endAngle}}),r.current=k,s.createElement(V,null,s.createElement(Fo,{sectors:k,activeShape:c,inactiveShape:f,allOtherPieProps:t,shape:t.shape,id:a}))}),s.createElement(Wo,{showLabels:!h,sectors:n,props:t}),t.children)}var Ho={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:ye.area};function qo(e){var{id:t}=e,r=Qe(e,So),{hide:a,className:n,rootTabIndex:i}=e,o=s.useMemo(()=>xt(e.children,Ae),[e.children]),l=D(f=>io(f,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(Mo,{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}),s.createElement(V,{tabIndex:i,className:c},s.createElement(Vo,{props:T(T({},r),{},{sectors:l}),previousSectorsRef:d,id:t})))}function na(e){var t=Z(e,Ho),{id:r}=t,a=Qe(t,Eo),n=He(a);return s.createElement(Lr,{id:r,type:"pie"},i=>s.createElement(s.Fragment,null,s.createElement(Za,{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(Do,ee({},a,{id:i})),s.createElement(qo,ee({},a,{id:i}))))}na.displayName="Pie";var cr=(e,t,r)=>{var a=r??e;if(!qe(a))return Q(a,t,0)},Yo=(e,t,r)=>{var a={},n=e.filter(ln),i=e.filter(c=>c.stackId==null),o=n.reduce((c,f)=>{var m=c[f.stackId];return m==null&&(m=[]),m.push(f),c[f.stackId]=m,c},a),l=Object.entries(o).map(c=>{var f,[m,v]=c,y=v.map(h=>h.dataKey),b=cr(t,r,(f=v[0])===null||f===void 0?void 0:f.barSize);return{stackId:m,dataKeys:y,barSize:b}}),d=i.map(c=>{var f=[c.dataKey].filter(v=>v!=null),m=cr(t,r,c.barSize);return{stackId:void 0,dataKeys:f,barSize:m}});return[...l,...d]};function ur(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?ur(Object(r),!0).forEach(function(a){Xo(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ur(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Xo(e,t,r){return(t=Zo(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Zo(e){var t=Jo(e,"string");return typeof t=="symbol"?t:t+""}function Jo(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 Qo(e,t,r,a,n){var i,o=a.length;if(!(o<1)){var l=Q(e,r,0,!0),d,c=[];if(lt((i=a[0])===null||i===void 0?void 0:i.barSize)){var f=!1,m=r/o,v=a.reduce((x,O)=>x+(O.barSize||0),0);v+=(o-1)*l,v>=r&&(v-=(o-1)*l,l=0),v>=r&&m>0&&(f=!0,m*=.9,v=o*m);var y=(r-v)/2>>0,b={offset:y-l,size:0};d=a.reduce((x,O)=>{var P,k={stackId:O.stackId,dataKeys:O.dataKeys,position:{offset:b.offset+b.size+l,size:f?m:(P=O.barSize)!==null&&P!==void 0?P:0}},j=[...x,k];return b=k.position,j},c)}else{var h=Q(t,r,0,!0);r-2*h-(o-1)*l<=0&&(l=0);var g=(r-2*h-(o-1)*l)/o;g>1&&(g>>=0);var p=lt(n)?Math.min(g,n):g;d=a.reduce((x,O,P)=>[...x,{stackId:O.stackId,dataKeys:O.dataKeys,position:{offset:h+(g+l)*P+(g-p)/2,size:p}}],c)}return d}}var es=(e,t,r,a,n,i,o)=>{var l=qe(o)?t:o,d=Qo(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},ts=(e,t)=>{var r=cn(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)}}}},rs=(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 as(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&<(e.zIndex)?e.zIndex:t}var ns=["x1","y1","x2","y2","key"],is=["offset"],os=["xAxisId","yAxisId"],ss=["xAxisId","yAxisId"];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 L(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){ls(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 ls(e,t,r){return(t=cs(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cs(e){var t=us(e,"string");return typeof t=="symbol"?t:t+""}function us(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 ne(){return ne=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},ne.apply(null,arguments)}function We(e,t){if(e==null)return{};var r,a,n=ds(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 ds(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 fs=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 ia(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,f=We(r,ns),m=(n=He(f))!==null&&n!==void 0?n:{},{offset:v}=m,y=We(m,is);a=s.createElement("line",ne({},y,{x1:i,y1:o,x2:l,y2:d,fill:"none",key:c}))}return a}function vs(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=We(e,os),d=n.map((c,f)=>{var m=L(L({},l),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(f),index:f});return s.createElement(ia,{key:"line-".concat(f),option:a,lineItemProps:m})});return s.createElement("g",{className:"recharts-cartesian-grid-horizontal"},d)}function ms(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=We(e,ss),d=n.map((c,f)=>{var m=L(L({},l),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(f),index:f});return s.createElement(ia,{option:a,lineItemProps:m,key:"line-".concat(f)})});return s.createElement("g",{className:"recharts-cartesian-grid-vertical"},d)}function ps(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(m=>Math.round(m+n-n)).sort((m,v)=>m-v);n!==c[0]&&c.unshift(0);var f=c.map((m,v)=>{var y=c[v+1],b=y==null,h=b?n+o-m:y-m;if(h<=0)return null;var g=v%t.length;return s.createElement("rect",{key:"react-".concat(v),y:m,x:a,height:h,width:i,stroke:"none",fill:t[g],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return s.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function gs(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(m=>Math.round(m+n-n)).sort((m,v)=>m-v);n!==c[0]&&c.unshift(0);var f=c.map((m,v)=>{var y=c[v+1],b=y==null,h=b?n+o-m:y-m;if(h<=0)return null;var g=v%r.length;return s.createElement("rect",{key:"react-".concat(v),x:m,y:i,width:h,height:l,stroke:"none",fill:r[g],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return s.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var ys=(e,t)=>{var{xAxis:r,width:a,height:n,offset:i}=e;return Rr(zr(L(L(L({},Oe),r),{},{ticks:Kr(r),viewBox:{x:0,y:0,width:a,height:n}})),i.left,i.left+i.width,t)},hs=(e,t)=>{var{yAxis:r,width:a,height:n,offset:i}=e;return Rr(zr(L(L(L({},Oe),r),{},{ticks:Kr(r),viewBox:{x:0,y:0,width:a,height:n}})),i.top,i.top+i.height,t)},bs={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:ye.grid};function Nt(e){var t=Ir(),r=Tr(),a=un(),n=L(L({},Z(e,bs)),{},{x:z(e.x)?e.x:a.left,y:z(e.y)?e.y:a.top,width:z(e.width)?e.width:a.width,height:z(e.height)?e.height:a.height}),{xAxisId:i,yAxisId:o,x:l,y:d,width:c,height:f,syncWithTicks:m,horizontalValues:v,verticalValues:y}=n,b=Ye(),h=D(S=>Rt(S,"xAxis",i,b)),g=D(S=>Rt(S,"yAxis",o,b));if(!$t(c)||!$t(f)||!z(l)||!z(d))return null;var p=n.verticalCoordinatesGenerator||ys,x=n.horizontalCoordinatesGenerator||hs,{horizontalPoints:O,verticalPoints:P}=n;if((!O||!O.length)&&typeof x=="function"){var k=v&&v.length,j=x({yAxis:g?L(L({},g),{},{ticks:k?v:g.ticks}):void 0,width:t??c,height:r??f,offset:a},k?!0:m);Bt(Array.isArray(j),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof j,"]")),Array.isArray(j)&&(O=j)}if((!P||!P.length)&&typeof p=="function"){var A=y&&y.length,w=p({xAxis:h?L(L({},h),{},{ticks:A?y:h.ticks}):void 0,width:t??c,height:r??f,offset:a},A?!0:m);Bt(Array.isArray(w),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof w,"]")),Array.isArray(w)&&(P=w)}return s.createElement(he,{zIndex:n.zIndex},s.createElement("g",{className:"recharts-cartesian-grid"},s.createElement(fs,{fill:n.fill,fillOpacity:n.fillOpacity,x:n.x,y:n.y,width:n.width,height:n.height,ry:n.ry}),s.createElement(ps,ne({},n,{horizontalPoints:O})),s.createElement(gs,ne({},n,{verticalPoints:P})),s.createElement(vs,ne({},n,{offset:a,horizontalPoints:O,xAxis:h,yAxis:g})),s.createElement(ms,ne({},n,{offset:a,verticalPoints:P,xAxis:h,yAxis:g}))))}Nt.displayName="CartesianGrid";var xs=["children"];function Ps(e,t){if(e==null)return{};var r,a,n=js(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 js(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 Os={data:[],xAxisId:"xAxis-0",yAxisId:"yAxis-0",dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0},ws=s.createContext(Os);function As(e){var{children:t}=e,r=Ps(e,xs);return s.createElement(ws.Provider,{value:r},t)}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 Fe(e){return s.createElement(aa,ft({shapeType:"rectangle",activeClassName:"recharts-active-bar"},e))}var ks=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(a,n)=>{if(z(t))return t;var i=z(a)||qe(a);return i?t(a,n):(i||pa(!1),r)}},Ss=(e,t,r)=>r,Es=(e,t)=>t,ke=I([Gr,Es],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),Is=I([ke],e=>e?.maxBarSize),Ts=(e,t,r,a)=>a,Ns=I([re,Gr,le,ce,Ss],(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")),Cs=(e,t,r)=>{var a=re(e),n=le(e,t),i=ce(e,t);if(!(n==null||i==null))return a==="horizontal"?zt(e,"yAxis",i,r):zt(e,"xAxis",n,r)},Ds=(e,t)=>{var r=re(e),a=le(e,t),n=ce(e,t);if(!(a==null||n==null))return r==="horizontal"?Kt(e,"xAxis",a):Kt(e,"yAxis",n)},Ms=I([Ns,mn,Ds],Yo),Ls=(e,t,r)=>{var a,n,i=ke(e,t);if(i==null)return 0;var o=le(e,t),l=ce(e,t);if(o==null||l==null)return 0;var d=re(e),c=Ur(e),{maxBarSize:f}=i,m=qe(f)?c:f,v,y;return d==="horizontal"?(v=me(e,"xAxis",o,r),y=pe(e,"xAxis",o,r)):(v=me(e,"yAxis",l,r),y=pe(e,"yAxis",l,r)),(a=(n=Fr(v,y,!0))!==null&&n!==void 0?n:m)!==null&&a!==void 0?a:0},oa=(e,t,r)=>{var a=re(e),n=le(e,t),i=ce(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)),Fr(o,l)}},_s=I([Ms,Ur,fn,vn,Ls,oa,Is],es),$s=(e,t,r)=>{var a=le(e,t);if(a!=null)return me(e,"xAxis",a,r)},Bs=(e,t,r)=>{var a=ce(e,t);if(a!=null)return me(e,"yAxis",a,r)},Rs=(e,t,r)=>{var a=le(e,t);if(a!=null)return pe(e,"xAxis",a,r)},zs=(e,t,r)=>{var a=ce(e,t);if(a!=null)return pe(e,"yAxis",a,r)},Ks=I([_s,ke],rs),Ws=I([Cs,ke],ts),Fs=I([Dr,Wr,$s,Bs,Rs,zs,Ks,re,dn,oa,Ws,ke,Ts],(e,t,r,a,n,i,o,l,d,c,f,m,v)=>{var{chartData:y,dataStartIndex:b,dataEndIndex:h}=d;if(!(m==null||o==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||a==null||n==null||i==null||c==null)){var{data:g}=m,p;if(g!=null&&g.length>0?p=g:p=y?.slice(b,h+1),p!=null)return yl({layout:l,barSettings:m,pos:o,parentViewBox:t,bandSize:c,xAxis:r,yAxis:a,xAxisTicks:n,yAxisTicks:i,stackedData:f,displayedData:p,offset:e,cells:v,dataStartIndex:b})}}),Gs=["index"];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 Us(e,t){if(e==null)return{};var r,a,n=Vs(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 Vs(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 sa=s.createContext(void 0),Hs=e=>{var t=s.useContext(sa);if(t!=null)return t.stackId;if(e!=null)return pn(e)},qs=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Ys=e=>{var t=s.useContext(sa);if(t!=null){var{stackId:r}=t;return"url(#".concat(qs(r,e),")")}},la=e=>{var{index:t}=e,r=Us(e,Gs),a=Ys(t);return s.createElement(V,vt({className:"recharts-bar-stack-layer",clipPath:a},r))},Xs=["onMouseEnter","onMouseLeave","onClick"],Zs=["value","background","tooltipPosition"],Js=["id"],Qs=["onMouseEnter","onClick","onMouseLeave"];function X(){return X=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},X.apply(null,arguments)}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 $(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){el(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 el(e,t,r){return(t=tl(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function tl(e){var t=rl(e,"string");return typeof t=="symbol"?t:t+""}function rl(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 Ge(e,t){if(e==null)return{};var r,a,n=al(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 al(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 nl=e=>{var{dataKey:t,name:r,fill:a,legendType:n,hide:i}=e;return[{inactive:i,dataKey:t,type:n,color:a,value:Ve(r,t),payload:e}]},il=s.memo(e=>{var{dataKey:t,stroke:r,strokeWidth:a,fill:n,name:i,hide:o,unit:l,tooltipType:d,id:c}=e,f={dataDefinedOnItem:void 0,getPosition:bn,settings:{stroke:r,strokeWidth:a,fill:n,dataKey:t,nameKey:void 0,name:Ve(i,t),hide:o,type:d,color:n,unit:l,graphicalItemId:c}};return s.createElement(_r,{tooltipEntrySettings:f})});function ol(e){var t=D(Pt),{data:r,dataKey:a,background:n,allOtherBarProps:i}=e,{onMouseEnter:o,onMouseLeave:l,onClick:d}=i,c=Ge(i,Xs),f=Et(o,a,i.id),m=It(l),v=Tt(d,a,i.id);if(!n||r==null)return null;var y=st(n);return s.createElement(he,{zIndex:as(n,ye.barBackground)},r.map((b,h)=>{var{value:g,background:p,tooltipPosition:x}=b,O=Ge(b,Zs);if(!p)return null;var P=f(b,h),k=m(b,h),j=v(b,h),A=$($($($($({option:n,isActive:String(h)===t},O),{},{fill:"#eee"},p),y),Ue(c,b,h)),{},{onMouseEnter:P,onMouseLeave:k,onClick:j,dataKey:a,index:h,className:"recharts-bar-background-rectangle"});return s.createElement(Fe,X({key:"background-bar-".concat(h)},A))}))}function sl(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 $($({},o),{},{value:i.value,payload:i.payload,parentViewBox:i.parentViewBox,viewBox:o,fill:i.fill})});return s.createElement(An,{value:t?n:void 0},r)}function ll(e){var{shape:t,activeBar:r,baseProps:a,entry:n,index:i,dataKey:o}=e,l=D(Pt),d=D($r),c=r&&String(i)===l&&(d==null||o===d),f=c?r:t;return c?s.createElement(he,{zIndex:ye.activeBar},s.createElement(la,{index:i},s.createElement(Fe,X({},a,{name:String(a.name)},n,{isActive:c,option:f,index:i,dataKey:o})))):s.createElement(Fe,X({},a,{name:String(a.name)},n,{isActive:c,option:f,index:i,dataKey:o}))}function cl(e){var{shape:t,baseProps:r,entry:a,index:n,dataKey:i}=e;return s.createElement(Fe,X({},r,{name:String(r.name)},a,{isActive:!1,option:t,index:n,dataKey:i}))}function ul(e){var t,{data:r,props:a}=e,n=(t=He(a))!==null&&t!==void 0?t:{},{id:i}=n,o=Ge(n,Js),{shape:l,dataKey:d,activeBar:c}=a,{onMouseEnter:f,onClick:m,onMouseLeave:v}=a,y=Ge(a,Qs),b=Et(f,d,i),h=It(v),g=Tt(m,d,i);return r?s.createElement(s.Fragment,null,r.map((p,x)=>s.createElement(la,X({index:x,key:"rectangle-".concat(p?.x,"-").concat(p?.y,"-").concat(p?.value,"-").concat(x),className:"recharts-bar-rectangle"},Ue(y,p,x),{onMouseEnter:b(p,x),onMouseLeave:h(p,x),onClick:g(p,x)}),c?s.createElement(ll,{shape:l,activeBar:c,baseProps:o,entry:p,index:x,dataKey:d}):s.createElement(cl,{shape:l,baseProps:o,entry:p,index:x,dataKey:d})))):null}function dl(e){var{props:t,previousRectanglesRef:r}=e,{data:a,layout:n,isAnimationActive:i,animationBegin:o,animationDuration:l,animationEasing:d,onAnimationEnd:c,onAnimationStart:f}=t,m=r.current,v=ht(t,"recharts-bar-"),[y,b]=s.useState(!1),h=!y,g=s.useCallback(()=>{typeof c=="function"&&c(),b(!1)},[c]),p=s.useCallback(()=>{typeof f=="function"&&f(),b(!0)},[f]);return s.createElement(sl,{showLabels:h,rects:a},s.createElement(bt,{animationId:v,begin:o,duration:l,isActive:i,easing:d,onAnimationEnd:g,onAnimationStart:p,key:v},x=>{var O=x===1?a:a?.map((P,k)=>{var j=m&&m[k];if(j)return $($({},P),{},{x:_(j.x,P.x,x),y:_(j.y,P.y,x),width:_(j.width,P.width,x),height:_(j.height,P.height,x)});if(n==="horizontal"){var A=_(0,P.height,x),w=_(P.stackedBarStart,P.y,x);return $($({},P),{},{y:w,height:A})}var S=_(0,P.width,x),E=_(P.stackedBarStart,P.x,x);return $($({},P),{},{width:S,x:E})});return x>0&&(r.current=O??null),O==null?null:s.createElement(V,null,s.createElement(ul,{props:t,data:O}))}),s.createElement(Br,{label:t.label}),t.children)}function fl(e){var t=s.useRef(null);return s.createElement(dl,{previousRectanglesRef:t,props:e})}var ca=0,vl=(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 ml 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 f=te("recharts-bar",n),m=c;return s.createElement(V,{className:f,id:c},l&&s.createElement("defs",null,s.createElement(jn,{clipPathId:m,xAxisId:i,yAxisId:o})),s.createElement(V,{className:"recharts-bar-rectangles",clipPath:l?"url(#clipPath-".concat(m,")"):void 0},s.createElement(ol,{data:r,dataKey:a,background:d,allOtherBarProps:this.props}),s.createElement(fl,this.props)))}}var pl={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:ca,xAxisId:0,yAxisId:0,zIndex:ye.bar};function gl(e){var{xAxisId:t,yAxisId:r,hide:a,legendType:n,minPointSize:i,activeBar:o,animationBegin:l,animationDuration:d,animationEasing:c,isAnimationActive:f}=e,{needClip:m}=xn(t,r),v=Pn(),y=Ye(),b=xt(e.children,Ae),h=D(x=>Fs(x,e.id,y,b));if(v!=="vertical"&&v!=="horizontal")return null;var g,p=h?.[0];return p==null||p.height==null||p.width==null?g=0:g=v==="vertical"?p.height/2:p.width/2,s.createElement(As,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:vl,errorBarOffset:g},s.createElement(ml,X({},e,{layout:v,needClip:m,data:h,xAxisId:t,yAxisId:r,hide:a,legendType:n,minPointSize:i,activeBar:o,animationBegin:l,animationDuration:d,animationEasing:c,isAnimationActive:f})))}function yl(e){var{layout:t,barSettings:{dataKey:r,minPointSize:a},pos:n,bandSize:i,xAxis:o,yAxis:l,xAxisTicks:d,yAxisTicks:c,stackedData:f,displayedData:m,offset:v,cells:y,parentViewBox:b,dataStartIndex:h}=e,g=t==="horizontal"?l:o,p=f?g.scale.domain():null,x=On({numericAxis:g}),O=g.scale.map(x);return m.map((P,k)=>{var j,A,w,S,E,B;if(f){var K=f[k+h];if(K==null)return null;j=wn(K,p)}else j=Y(P,r),Array.isArray(j)||(j=[x,j]);var C=ks(a,ca)(j[1],k);if(t==="horizontal"){var N,W=l.scale.map(j[0]),R=l.scale.map(j[1]);if(W==null||R==null)return null;A=Wt({axis:o,ticks:d,bandSize:i,offset:n.offset,entry:P,index:k}),w=(N=R??W)!==null&&N!==void 0?N:void 0,S=n.size;var q=W-R;if(E=kn(q)?0:q,B={x:A,y:v.top,width:S,height:v.height},Math.abs(C)>0&&Math.abs(E)<Math.abs(C)){var ae=fe(E||C)*(Math.abs(C)-Math.abs(E));w-=ae,E+=ae}}else{var ue=o.scale.map(j[0]),Se=o.scale.map(j[1]);if(ue==null||Se==null)return null;if(A=ue,w=Wt({axis:l,ticks:c,bandSize:i,offset:n.offset,entry:P,index:k}),S=Se-ue,E=n.size,B={x:v.left,y:w,width:v.width,height:E},Math.abs(C)>0&&Math.abs(S)<Math.abs(C)){var fa=fe(S||C)*(Math.abs(C)-Math.abs(S));S+=fa}}if(A==null||w==null||S==null||E==null)return null;var va=$($({},P),{},{stackedBarStart:O,x:A,y:w,width:S,height:E,value:f?j:j[1],payload:P,background:B,tooltipPosition:{x:A+S/2,y:w+E/2},parentViewBox:b},y&&y[k]&&y[k].props);return va}).filter(Boolean)}function hl(e){var t=Z(e,pl),r=Hs(t.stackId),a=Ye();return s.createElement(Lr,{id:t.id,type:"bar"},n=>s.createElement(s.Fragment,null,s.createElement(yn,{legendPayload:nl(t)}),s.createElement(il,{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(hn,{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}),s.createElement(he,{zIndex:t.zIndex},s.createElement(gl,X({},t,{id:n})))))}var Me=s.memo(hl,gn);Me.displayName="Bar";var bl=["type"],xl=["dangerouslySetInnerHTML","ticks","scale"],Pl=["id","scale"];function mt(){return mt=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},mt.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 mr(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){jl(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 jl(e,t,r){return(t=Ol(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ol(e){var t=wl(e,"string");return typeof t=="symbol"?t:t+""}function wl(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 pt(e,t){if(e==null)return{};var r,a,n=Al(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 Al(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 kl(e){var t=oe(),r=s.useRef(null),a=En(),{type:n}=e,i=pt(e,bl),o=$n(a,"xAxis",n),l=s.useMemo(()=>{if(o!=null)return mr(mr({},i),{},{type:o})},[i,o]);return s.useLayoutEffect(()=>{l!=null&&(r.current===null?t(In(l)):r.current!==l&&t(Tn({prev:r.current,next:l})),r.current=l)},[l,t]),s.useLayoutEffect(()=>()=>{r.current&&(t(Nn(r.current)),r.current=null)},[t]),null}var Sl=e=>{var{xAxisId:t,className:r}=e,a=D(Wr),n=Ye(),i="xAxis",o=D(p=>Cn(p,i,t,n)),l=D(p=>Dn(p,t)),d=D(p=>Mn(p,t)),c=D(p=>Ln(p,t));if(l==null||d==null||c==null)return null;var{dangerouslySetInnerHTML:f,ticks:m,scale:v}=e,y=pt(e,xl),{id:b,scale:h}=c,g=pt(c,Pl);return s.createElement(_n,mt({},y,g,{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}))},El={allowDataOverflow:M.allowDataOverflow,allowDecimals:M.allowDecimals,allowDuplicatedCategory:M.allowDuplicatedCategory,angle:M.angle,axisLine:Oe.axisLine,height:M.height,hide:!1,includeHidden:M.includeHidden,interval:M.interval,label:!1,minTickGap:M.minTickGap,mirror:M.mirror,orientation:M.orientation,padding:M.padding,reversed:M.reversed,scale:M.scale,tick:M.tick,tickCount:M.tickCount,tickLine:Oe.tickLine,tickSize:Oe.tickSize,type:M.type,xAxisId:0},Il=e=>{var t=Z(e,El);return s.createElement(s.Fragment,null,s.createElement(kl,{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}),s.createElement(Sl,t))},Ct=s.memo(Il,Sn);Ct.displayName="XAxis";var Tl=["axis","item"],Nl=s.forwardRef((e,t)=>s.createElement(Bn,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Tl,tooltipPayloadSearcher:Vr,categoricalChartProps:e,ref:t}));function Cl(e){var t=oe();return s.useEffect(()=>{t(Rn(e))},[t,e]),null}var Dl=["layout"];function gt(){return gt=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},gt.apply(null,arguments)}function Ml(e,t){if(e==null)return{};var r,a,n=Ll(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 Ll(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 _l={top:5,right:5,bottom:5,left:5},ua={accessibilityLayer:!0,stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:_l,reverseStackOrder:!1,syncMethod:"index",layout:"radial",responsive:!1,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"},$l=s.forwardRef(function(t,r){var a,n=Z(t.categoricalChartProps,ua),{layout:i}=n,o=Ml(n,Dl),{chartName:l,defaultTooltipEventType:d,validateTooltipEventTypes:c,tooltipPayloadSearcher:f}=t,m={chartName:l,defaultTooltipEventType:d,validateTooltipEventTypes:c,tooltipPayloadSearcher:f,eventEmitter:void 0};return s.createElement(zn,{preloadedState:{options:m},reduxStoreName:(a=n.id)!==null&&a!==void 0?a:l},s.createElement(Kn,{chartData:n.data}),s.createElement(Wn,{layout:i,margin:n.margin}),s.createElement(Fn,{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(Cl,{cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius}),s.createElement(Gn,gt({},o,{ref:r})))});function pr(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 gr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?pr(Object(r),!0).forEach(function(a){Bl(e,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):pr(Object(r)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})}return e}function Bl(e,t,r){return(t=Rl(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Rl(e){var t=zl(e,"string");return typeof t=="symbol"?t:t+""}function zl(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 Kl=["item"],Wl=gr(gr({},ua),{},{layout:"centric",startAngle:0,endAngle:360}),Fl=s.forwardRef((e,t)=>{var r=Z(e,Wl);return s.createElement($l,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Kl,tooltipPayloadSearcher:Vr,categoricalChartProps:r,ref:t})});function at(e,t,r){const a=Le(e,r?.in);return isNaN(t)?Ar(e,NaN):(t&&a.setDate(a.getDate()+t),a)}function yr(e,t){return Le(e,t?.in).getDay()}function Dt(e,t){const r=()=>Ar(t?.in,NaN),n=Hl(e);let i;if(n.date){const c=ql(n.date,2);i=Yl(c.restDateString,c.year)}if(!i||isNaN(+i))return r();const o=+i;let l=0,d;if(n.time&&(l=Xl(n.time),isNaN(l)))return r();if(n.timezone){if(d=Zl(n.timezone),isNaN(d))return r()}else{const c=new Date(o+l),f=Le(0,t?.in);return f.setFullYear(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),f.setHours(c.getUTCHours(),c.getUTCMinutes(),c.getUTCSeconds(),c.getUTCMilliseconds()),f}return Le(o+l+d,t?.in)}const Ne={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Gl=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Ul=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Vl=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Hl(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 ql(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 Yl(e,t){if(t===null)return new Date(NaN);const r=e.match(Gl);if(!r)return new Date(NaN);const a=!!r[4],n=Pe(r[1]),i=Pe(r[2])-1,o=Pe(r[3]),l=Pe(r[4]),d=Pe(r[5])-1;if(a)return rc(t,l,d)?Jl(t,l,d):new Date(NaN);{const c=new Date(0);return!ec(t,i,o)||!tc(t,n)?new Date(NaN):(c.setUTCFullYear(t,i,Math.max(n,o)),c)}}function Pe(e){return e?parseInt(e):1}function Xl(e){const t=e.match(Ul);if(!t)return NaN;const r=nt(t[1]),a=nt(t[2]),n=nt(t[3]);return ac(r,a,n)?r*kr+a*Sr+n*1e3:NaN}function nt(e){return e&&parseFloat(e.replace(",","."))||0}function Zl(e){if(e==="Z")return 0;const t=e.match(Vl);if(!t)return 0;const r=t[1]==="+"?-1:1,a=parseInt(t[2]),n=t[3]&&parseInt(t[3])||0;return nc(a,n)?r*(a*kr+n*Sr):NaN}function Jl(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 Ql=[31,null,31,30,31,30,31,31,30,31,30,31];function da(e){return e%400===0||e%4===0&&e%100!==0}function ec(e,t,r){return t>=0&&t<=11&&r>=1&&r<=(Ql[t]||(da(e)?29:28))}function tc(e,t){return t>=1&&t<=(da(e)?366:365)}function rc(e,t,r){return t>=1&&t<=53&&r>=0&&r<=6}function ac(e,t,r){return e===24?t===0&&r===0:r>=0&&r<60&&t>=0&&t<60&&e>=0&&e<25}function nc(e,t){return t>=0&&t<=59}function ic({data:e}){const t=e.map(r=>({...r,dateLabel:ie(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(jt,{width:"100%",height:"100%",children:u.jsxs(Nl,{data:t,children:[u.jsx(Nt,{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(Hr,{tick:{fill:"var(--color-gray-500)",fontSize:10},tickLine:!1,axisLine:!1}),u.jsx(Ot,{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 oc=["var(--color-gray-800)","#3d2a1e","#a8512eb3","#d97757cc","#e09070"],sc=["Mon","","Wed","","Fri","",""],de=10,je=2,lc=28;function cc(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 uc(e,t){return e===0?0:e<=t.p25?1:e<=t.p50?2:e<=t.p75?3:4}function hr(e){return e===0?6:e-1}function dc({dailyActivity:e,dailyModelTokens:t}){const[r,a]=s.useState(null),{days:n,monthLabels:i}=s.useMemo(()=>{const o=new Map;for(const g of e){const p=o.get(g.date)??{sessionCount:0,totalTokens:0};p.sessionCount=g.sessionCount,o.set(g.date,p)}for(const g of t){const p=o.get(g.date)??{sessionCount:0,totalTokens:0};p.totalTokens=Object.values(g.tokensByModel).reduce((x,O)=>x+O,0),o.set(g.date,p)}const l=new Date;l.setHours(0,0,0,0);let d=at(l,-364);const c=hr(yr(d));c!==0&&(d=at(d,-c));const f=[];let m=d;for(;m<=l;){const g=ie(m,"yyyy-MM-dd"),p=hr(yr(m)),x=Math.floor((m.getTime()-d.getTime())/(1e3*60*60*24)),O=Math.floor(x/7),P=o.get(g);f.push({date:g,dateFormatted:ie(m,"MMM d, yyyy"),sessionCount:P?.sessionCount??0,totalTokens:P?.totalTokens??0,intensity:0,weekIndex:O,dayOfWeek:p}),m=at(m,1)}const v=f.filter(g=>g.totalTokens>0).map(g=>g.totalTokens),y=cc(v);for(const g of f)g.intensity=uc(g.totalTokens,y);const b=[];let h=-1;for(const g of f)if(g.dayOfWeek===0){const p=Dt(g.date),x=p.getMonth();x!==h&&(b.push({label:ie(p,"MMM"),weekIndex:g.weekIndex}),h=x)}return{days:f,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:lc},children:[u.jsx("div",{style:{height:16,marginBottom:je}}),sc.map((o,l)=>u.jsx("div",{className:"flex items-center",style:{height:de,marginTop:l>0?je: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:je,height:16,marginBottom:je},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:je},children:n.map(o=>u.jsx("div",{className:"rounded-sm transition-colors",style:{width:de,height:de,backgroundColor:oc[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&&Pr.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 fc(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 vc(e,t,r){return e.map(a=>{const n={dateLabel:ie(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 mc(e,t,r){const a=new Map;for(const n of e){const i=ya(Dt(n.date)),o=ie(i,"yyyy-MM-dd");if(!a.has(o)){const d={dateLabel:`Week of ${ie(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 f=Mt(d);t.includes(f)?l[f]=l[f]+c:r&&(l.Other=l.Other+c)}}return Array.from(a.values()).sort((n,i)=>n.sortKey.localeCompare(i.sortKey))}function pc({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 gc({data:e}){const[t,r]=s.useState("daily"),{topModels:a,hasOther:n}=s.useMemo(()=>fc(e,5),[e]),i=s.useMemo(()=>{const l=[...a];return n&&l.push("Other"),l},[a,n]),o=s.useMemo(()=>t==="weekly"?mc(e,a,n):vc(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(jt,{width:"100%",height:"100%",children:u.jsxs(Un,{data:o,children:[u.jsx(Nt,{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(Hr,{tick:{fill:"var(--color-gray-500)",fontSize:10},tickLine:!1,axisLine:!1,tickFormatter:l=>ve(l)}),u.jsx(Ot,{content:u.jsx(pc,{})}),i.map((l,d)=>u.jsx(Vn,{type:"monotone",dataKey:l,stackId:"1",stroke:Ce[d%Ce.length],fill:Ce[d%Ce.length],fillOpacity:.6},l))]})})})]})}const br=["#d97757","#8b5cf6","#10b981","#f59e0b","#ef4444","#b07cc5"];function yc({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(jt,{width:"100%",height:"100%",children:u.jsxs(Fl,{children:[u.jsx(na,{data:t,cx:"50%",cy:"50%",innerRadius:50,outerRadius:80,dataKey:"totalTokens",nameKey:"name",strokeWidth:0,children:t.map((r,a)=>u.jsx(Ae,{fill:br[a%br.length],opacity:.8},a))}),u.jsx(Ot,{formatter:r=>ve(r),contentStyle:{backgroundColor:"var(--color-gray-900)",border:"1px solid var(--color-gray-700)",borderRadius:"8px",fontSize:"12px"}}),u.jsx(Qr,{wrapperStyle:{fontSize:"11px"}})]})})})]})}function hc({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 bc=[{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 xc({projects:e}){const{anonymizeProjectName:t}=jr(),[r,a]=s.useState("lastSessionAt"),[n,i]=s.useState("desc"),o=s.useMemo(()=>{const c=[...e];return c.sort((f,m)=>{let v=0;switch(r){case"projectName":v=f.projectName.localeCompare(m.projectName);break;case"totalSessions":v=f.totalSessions-m.totalSessions;break;case"totalMessages":v=f.totalMessages-m.totalMessages;break;case"totalDurationMs":v=f.totalDurationMs-m.totalDurationMs;break;case"lastSessionAt":v=f.lastSessionAt.localeCompare(m.lastSessionAt);break}return n==="asc"?v:-v}),c},[e,r,n]);function l(c){c===r?i(f=>f==="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:bc.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(ga,{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:ha(c.lastSessionAt)})]},c.projectPath))})]})})}function Pc(){const{anonymizeProjectName:e}=jr(),{data:t,isLoading:r}=yt(qr);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(xc,{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 jc={};function Ic(){const{tab:e}=Lt.useSearch(),t=Lt.useNavigate(),{data:r,isLoading:a}=yt(ei),n=s.useMemo(()=>{if(!r)return jc;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}=Hn(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(Yn(r),"daily-activity.csv","text/csv")},{label:"Token Usage (CSV)",onClick:()=>Ie(Xn(r),"daily-tokens.csv","text/csv")},{label:"Model Usage (CSV)",onClick:()=>Ie(Zn(r),"model-usage.csv","text/csv")},{label:"Full Stats (JSON)",onClick:()=>Ie(Jn(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(Oc,{stats:r,isLoading:a,cost:i}):u.jsx("div",{className:"mt-6",children:u.jsx(Pc,{})})]})}function Oc({stats:e,isLoading:t,cost:r}){const{data:a}=yt(qr);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(J,{label:"Total Sessions",value:String(e.totalSessions)}),u.jsx(J,{label:"Total Messages",value:e.totalMessages.toLocaleString()}),u.jsx(J,{label:"Total Time",value:_e(o)}),u.jsx(J,{label:"Projects",value:String(l)})]}),u.jsxs("div",{className:"mt-3 grid grid-cols-2 gap-3 md:grid-cols-4",children:[u.jsx(J,{label:"Total Tokens",value:ve(n)}),u.jsx(J,{label:"Estimated Cost",value:r?`~${ba(r.totalUSD)}`:"N/A"}),u.jsx(J,{label:"Tool Calls",value:i.toLocaleString()}),u.jsx(J,{label:"Longest Session",value:_e(e.longestSession.duration),sub:`${e.longestSession.messageCount} messages`})]}),u.jsx("div",{className:"mt-6",children:u.jsx(dc,{dailyActivity:e.dailyActivity,dailyModelTokens:e.dailyModelTokens})}),u.jsx("div",{className:"mt-4",children:u.jsx(ic,{data:e.dailyActivity})}),u.jsx("div",{className:"mt-4",children:u.jsx(gc,{data:e.dailyModelTokens})}),u.jsxs("div",{className:"mt-4 grid grid-cols-1 gap-4 md:grid-cols-2",children:[u.jsx(yc,{data:e.modelUsage}),u.jsx(hc,{hourCounts:e.hourCounts})]})]})}function J({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{Ic as component};
|