tokentracker-cli 0.24.6 → 0.24.8
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/README.ja.md +1 -0
- package/README.ko.md +1 -0
- package/README.md +1 -0
- package/README.zh-CN.md +1 -0
- package/dashboard/dist/assets/{Card-BfayTmBt.js → Card-Bm2ZOfFA.js} +1 -1
- package/dashboard/dist/assets/{DashboardPage-C_ExwqoB.js → DashboardPage-BCwneqYv.js} +2 -2
- package/dashboard/dist/assets/{DevicePage-Bzc-tOQ7.js → DevicePage-CtqTSoxC.js} +1 -1
- package/dashboard/dist/assets/{FadeIn-C1nCEQAI.js → FadeIn-BGmXw8rD.js} +1 -1
- package/dashboard/dist/assets/{HeaderGithubStar-CalgbIws.js → HeaderGithubStar-7oF7WLZx.js} +1 -1
- package/dashboard/dist/assets/{IpCheckPage-C2_FdWEa.js → IpCheckPage-DLGIFtxp.js} +1 -1
- package/dashboard/dist/assets/{LandingPage-Cab2gSJk.js → LandingPage-DblVIECc.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardPage-BoWSvv8E.js → LeaderboardPage-BSIiXBXB.js} +1 -1
- package/dashboard/dist/assets/{LeaderboardProfilePage-BxvvRB0p.js → LeaderboardProfilePage-rnzMxGm7.js} +1 -1
- package/dashboard/dist/assets/{LimitsPage-JTd7ZYkv.js → LimitsPage-BIIloMLr.js} +1 -1
- package/dashboard/dist/assets/{LoginPage-fU320alu.js → LoginPage-K0pFbm2P.js} +1 -1
- package/dashboard/dist/assets/{PopoverPopup-C76-ba7G.js → PopoverPopup-CdYV60oX.js} +1 -1
- package/dashboard/dist/assets/{ProviderIcon-xv4cUgTy.js → ProviderIcon-CyeZHlvD.js} +1 -1
- package/dashboard/dist/assets/{SettingsPage-UtWH1_mF.js → SettingsPage-CwNF9bwF.js} +1 -1
- package/dashboard/dist/assets/{SkillsPage-9W2jGGps.js → SkillsPage-DJtcsqCs.js} +1 -1
- package/dashboard/dist/assets/{WidgetsPage-BedujTKv.js → WidgetsPage-DnQgY7YQ.js} +1 -1
- package/dashboard/dist/assets/{WrappedPage-Bms62oTH.js → WrappedPage-Ci0XyXL_.js} +1 -1
- package/dashboard/dist/assets/check-CDwpiGWn.js +1 -0
- package/dashboard/dist/assets/{chevron-down-g6db-hJJ.js → chevron-down-BTjZUclo.js} +1 -1
- package/dashboard/dist/assets/{download-UDqrzLfH.js → download-TnEyNsSy.js} +1 -1
- package/dashboard/dist/assets/{info-BB9X3uhm.js → info-8F30IXmF.js} +1 -1
- package/dashboard/dist/assets/{leaderboard-columns-CTGzd-uH.js → leaderboard-columns-C6mnviZx.js} +1 -1
- package/dashboard/dist/assets/{main-QPJFCBQm.js → main-Ch22JpOj.js} +15 -15
- package/dashboard/dist/assets/main-D_iR1XAB.css +1 -0
- package/dashboard/dist/assets/{use-limits-display-prefs-DccYvUNZ.js → use-limits-display-prefs-Rfcf8uOp.js} +1 -1
- package/dashboard/dist/assets/{use-native-settings-DAbSUv-n.js → use-native-settings-7r5luMxr.js} +1 -1
- package/dashboard/dist/assets/{use-reduced-motion-B_GaKtWC.js → use-reduced-motion-lvUJO2cx.js} +1 -1
- package/dashboard/dist/assets/{use-usage-limits-3pTcFcoF.js → use-usage-limits-BDH7ZuiN.js} +1 -1
- package/dashboard/dist/assets/{useCurrency-CLZ2MqvV.js → useCurrency-9qQotA-7.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/share.html +2 -2
- package/package.json +1 -1
- package/src/commands/serve.js +114 -14
- package/src/commands/status.js +13 -0
- package/src/commands/sync.js +35 -2
- package/src/lib/local-api.js +112 -0
- package/src/lib/pricing/matcher.js +54 -3
- package/src/lib/pricing/seed-snapshot.json +1 -1
- package/src/lib/rollout.js +474 -0
- package/dashboard/dist/assets/check-DHKWR9eH.js +0 -1
- package/dashboard/dist/assets/main-C8k06i2w.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as Kt,i as Oi,f as no,a as ao,J as Ei,u as ro,m as Fi,r as f,M as oo,b as Wi,d as Pi,e as Un,g as Ii,h as It,j as Xt,k as Pt,l as Li,n as ga,o as wn,p as va,q as Tn,s as $i,t as Ri,v as Bi,w as _a,x as qt,y as qn,z as Yi,A as He,B as h,C as o,D as so,E as dn,X as io,F as Ue,L as zi,G as Re,R,H as An,I as lo,K as Mn,N as Hi,O as co,P as uo,Q as Na,S as Ui,T as fo,_ as mo,U as ya,V as qi,W as Gi,Y as Vi,Z as Ki,$ as Xi,a0 as Qi,a1 as Ji,a2 as Zi,a3 as el,a4 as tl,a5 as ut,a6 as dr}from"./main-QPJFCBQm.js";import{u as nl}from"./use-usage-limits-3pTcFcoF.js";import{u as un}from"./useCurrency-CLZ2MqvV.js";import{I as ja}from"./info-BB9X3uhm.js";import{u as al,a as rl,b as ol,c as sl,d as il,D as ll,e as cl,f as dl,g as ul,h as fl,i as ml,C as hl,P as gl,j as yl,k as pl,l as xl,m as bl,L as kl}from"./PopoverPopup-C76-ba7G.js";import{C as Sa}from"./Card-BfayTmBt.js";import{u as Ma}from"./use-reduced-motion-B_GaKtWC.js";import{P as ho}from"./ProviderIcon-xv4cUgTy.js";import{F as Yt}from"./FadeIn-C1nCEQAI.js";const wl=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],vl=Kt("maximize-2",wl);const _l=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Nl=Kt("pause",_l);const jl=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Sl=Kt("play",jl);const Ml=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Cl=Kt("rotate-ccw",Ml);const Dl=[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]],Tl=Kt("square-arrow-out-up-right",Dl);const Al=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Ol=Kt("terminal",Al);function El(...e){const t=!Array.isArray(e[0]),n=t?0:-1,a=e[0+n],r=e[1+n],s=e[2+n],l=e[3+n],i=Oi(r,s,l);return t?i(a):i}function Fl(e,t,n={}){const a=e.get();let r=null,s=a,l;const i=typeof a=="string"?a.replace(/[\d.-]/g,""):void 0,c=()=>{r&&(r.stop(),r=null),e.animation=void 0},u=()=>{const d=ur(e.get()),g=ur(s);if(d===g){c();return}const y=r?r.getGeneratorVelocity():e.getVelocity();c(),r=new Ei({keyframes:[d,g],velocity:y,type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:l})},m=()=>{u(),e.animation=r??void 0,e.events.animationStart?.notify(),r?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((d,g)=>{s=d,l=y=>g(Gn(y,i)),no.postRender(m)},c),ao(t)){let d=n.skipInitialAnimation===!0;const g=t.on("change",x=>{d?(d=!1,e.jump(Gn(x,i),!1)):e.set(Gn(x,i))}),y=e.on("destroy",g);return()=>{g(),y()}}return c}function Gn(e,t){return t?e+t:e}function ur(e){return typeof e=="number"?e:parseFloat(e)}function Ca(e){const t=ro(()=>Fi(e)),{isStatic:n}=f.useContext(oo);if(n){const[,a]=f.useState(e);f.useEffect(()=>t.on("change",a),[])}return t}function go(e,t){const n=Ca(t()),a=()=>n.set(t());return a(),Wi(()=>{const r=()=>no.preRender(a,!1,!0),s=e.map(l=>l.on("change",r));return()=>{s.forEach(l=>l()),Pi(a)}}),n}function Wl(e){Un.current=[],e();const t=go(Un.current,e);return Un.current=void 0,t}function yo(e,t,n,a){if(typeof e=="function")return Wl(e);const s=typeof t=="function"?t:El(t,n,a),l=Array.isArray(e)?fr(e,s):fr([e],([c])=>s(c)),i=Array.isArray(e)?void 0:e.accelerate;return i&&!i.isTransformed&&typeof t!="function"&&Array.isArray(n)&&a?.clamp!==!1&&(l.accelerate={...i,times:t,keyframes:n,isTransformed:!0}),l}function fr(e,t){const n=ro(()=>[]);return go(e,()=>{n.length=0;const a=e.length;for(let r=0;r<a;r++)n[r]=e[r].get();return t(n)})}function Pl(e,t={}){const{isStatic:n}=f.useContext(oo),a=()=>ao(e)?e.get():e;if(n)return yo(a);const r=Ca(a());return f.useInsertionEffect(()=>Fl(r,e,t),[r,JSON.stringify(t)]),r}function Il(e,t={}){return Pl(e,{type:"spring",...t})}function Ll({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:a=52,weekStartsOn:r="sun",cacheKey:s,timeZone:l,tzOffsetMinutes:i,now:c}={}){const u=f.useMemo(()=>Ii({weeks:a,weekStartsOn:r,now:c}),[c,a,r]),[m,d]=f.useState([]),[g,y]=f.useState(null),[x,p]=f.useState("edge"),[b,k]=f.useState(!1),[w,v]=f.useState(null),S=It(),C=Xt(t),_=!n,O=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=f.useMemo(()=>{if(!s)return null;const B=Tn({timeZone:l,offsetMinutes:i});return`tokentracker.heatmap.${s}.${a}.${r}.${B}`},[s,l,i,a,r]),W=f.useCallback(()=>{if(!N||typeof window>"u")return null;try{const B=window.localStorage.getItem(N);if(!B)return null;const T=JSON.parse(B);return!T||!T.heatmap?null:T}catch{return null}},[N]),E=f.useCallback(B=>{if(!(!N||typeof window>"u"))try{window.localStorage.setItem(N,JSON.stringify(B))}catch{}},[N]),F=f.useCallback(()=>{if(!(!N||typeof window>"u"))try{window.localStorage.removeItem(N)}catch{}},[N]),ie=f.useCallback(async()=>{const B=await Pt(t);if(!(!B&&!S&&!O)){k(!0),v(null);try{try{const I=await Li({baseUrl:e,accessToken:B,weeks:a,to:u.to,weekStartsOn:r,timeZone:l,tzOffsetMinutes:i}),P=Array.isArray(I?.weeks)?I.weeks:[];if(!P.length&&_){const Q=W();if(Q?.heatmap){y(Q.heatmap),d(Q.daily||[]),p("cache");return}}if(!P.some(Q=>(Array.isArray(Q)?Q:[]).some(fe=>fe&&Number.isFinite(Number(fe.level))))&&P.length){const Q=[];for(const Y of P)for(const H of Array.isArray(Y)?Y:[])H?.day&&Q.push({day:H.day,total_tokens:H.total_tokens??H.value??0,billable_total_tokens:H.billable_total_tokens??H.value??H.total_tokens??0});const fe=ga({dailyRows:Q,weeks:a,to:I?.to||u.to,weekStartsOn:r});d(Q),y({...fe,week_starts_on:r,active_days:Q.filter(Y=>Number(Y?.billable_total_tokens??Y?.total_tokens)>0).length,streak_days:wn({dailyRows:Q,to:I?.to||u.to})}),p("client"),_?E({heatmap:{...fe,week_starts_on:r,active_days:Q.filter(Y=>Number(Y?.billable_total_tokens??Y?.total_tokens)>0).length,streak_days:wn({dailyRows:Q,to:I?.to||u.to})},daily:Q,fetchedAt:new Date().toISOString()}):F();return}y(I||null),d([]),p("edge"),I&&_?E({heatmap:I,daily:[],fetchedAt:new Date().toISOString()}):_||F();return}catch(I){const P=I,z=P?.status??P?.statusCode;if(z===401||z===403)throw I}const T=await va({baseUrl:e,accessToken:B,from:u.from,to:u.to,timeZone:l,tzOffsetMinutes:i}),M=Array.isArray(T?.data)?T.data:[];d(M);const U=ga({dailyRows:M,weeks:a,to:u.to,weekStartsOn:r});y({...U,week_starts_on:r,active_days:M.filter(I=>Number(I?.billable_total_tokens??I?.total_tokens)>0).length,streak_days:wn({dailyRows:M,to:u.to})}),p("client"),_?E({heatmap:{...U,week_starts_on:r,active_days:M.filter(I=>Number(I?.billable_total_tokens??I?.total_tokens)>0).length,streak_days:wn({dailyRows:M,to:u.to})},daily:M,fetchedAt:new Date().toISOString()}):F()}catch(T){if(_){const M=W();if(M?.heatmap)y(M.heatmap),d(M.daily||[]),p("cache"),v(null);else{const U=T;v(U?.message||String(U)),d([]),y(null),p("edge")}}else{const M=T;v(M?.message||String(M)),d([]),y(null),p("edge")}}finally{k(!1)}}},[t,e,S,n,_,u.from,u.to,W,C,l,i,r,a,F,E,O]);return f.useEffect(()=>{if(!C&&!n&&!S&&!O){d([]),k(!1),v(null),y(null),p("edge");return}if(!_)F(),d([]),v(null),y(null),p("edge");else{const B=W();B?.heatmap&&(y(B.heatmap),d(B.daily||[]),p("cache"))}ie()},[t,S,W,ie,C,n,_,F,O]),{range:u,daily:m,heatmap:g,source:S?"mock":x==="client"?"edge":x,loading:b,error:w,refresh:ie}}function $l({baseUrl:e,accessToken:t,limit:n=3,from:a,to:r,source:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,u]=f.useState([]),[m,d]=f.useState(!1),[g,y]=f.useState(null),x=It(),p=Xt(t),b=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),k=f.useCallback(async()=>{const w=await Pt(t);if(!w&&!x&&!b){u([]),y(null),d(!1);return}d(!0),y(null);try{const v=await $i({baseUrl:e,accessToken:w,limit:n,from:a,to:r,source:s,timeZone:l,tzOffsetMinutes:i});u(Array.isArray(v?.entries)?v.entries:[])}catch(v){const S=v?.message||String(v);y(S),u([])}finally{d(!1)}},[t,e,a,n,x,s,l,r,i,b]);return f.useEffect(()=>{if(!p&&!x&&!b){u([]),y(null),d(!1);return}k()},[x,k,p,b]),{entries:c,loading:m,error:g,refresh:k}}const Rl=24;function Bl({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:a,from:r,to:s,months:l=Rl,cacheKey:i,timeZone:c,tzOffsetMinutes:u,now:m,sharedRows:d,sharedRange:g}={}){const[y,x]=f.useState([]),[p,b]=f.useState(()=>({from:r,to:s})),[k,w]=f.useState("edge"),[v,S]=f.useState(null),[C,_]=f.useState(!1),[O,N]=f.useState(null),W=It(),E=Xt(t),F=!n,ie=Array.isArray(d),$=g?.from||r,B=g?.to||s,T=f.useMemo(()=>a==="day"?"hourly":a==="total"?"monthly":"daily",[a]),M=(()=>{if(!i)return null;const Y=Yl(e)||"default",H=Tn({timeZone:c,offsetMinutes:u});if(T==="hourly")return`tokentracker.trend.${i}.${Y}.hourly.${s||r||"day"}.${H}`;if(T==="monthly")return`tokentracker.trend.${i}.${Y}.monthly.${l}.${s||"today"}.${H}`;const te=`${r||""}.${s||""}`;return`tokentracker.trend.${i}.${Y}.daily.${te}.${H}`})(),U=f.useCallback(()=>{if(!M||typeof window>"u")return null;try{const Y=window.localStorage.getItem(M);if(!Y)return null;const H=JSON.parse(Y);return!H||!Array.isArray(H.rows)?null:H}catch{return null}},[M]),I=f.useCallback(Y=>{if(!(!M||typeof window>"u"))try{window.localStorage.setItem(M,JSON.stringify(Y))}catch{}},[M]),P=f.useCallback(()=>{if(!(!M||typeof window>"u"))try{window.localStorage.removeItem(M)}catch{}},[M]),z=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Q=f.useCallback(async()=>{if(ie){x(Array.isArray(d)?d:[]),b({from:$,to:B}),w("shared"),S(null),_(!1),N(null);return}const Y=await Pt(t);if(!(!Y&&!W&&!z)){_(!0),N(null);try{let H;T==="hourly"?H=await Ri({baseUrl:e,accessToken:Y,day:s||r,timeZone:c,tzOffsetMinutes:u}):T==="monthly"?H=await Bi({baseUrl:e,accessToken:Y,months:l,to:s,timeZone:c,tzOffsetMinutes:u}):H=await va({baseUrl:e,accessToken:Y,from:r,to:s,timeZone:c,tzOffsetMinutes:u});const te=H?.from||r||H?.day||null,he=H?.to||s||H?.day||null;let ve=Array.isArray(H?.data)?H.data:[];T==="daily"?ve=Kn(ve,te||r,he||s,{timeZone:c,offsetMinutes:u,now:m}):T==="hourly"?ve=Xn(ve,{timeZone:c,offsetMinutes:u,now:m}):T==="monthly"&&(ve=Qn(ve,{timeZone:c,offsetMinutes:u,now:m}));const Be=new Date().toISOString();x(ve),b({from:te,to:he}),w("edge"),S(Be),F?I({rows:ve,from:te,to:he,mode:T,fetchedAt:Be}):P()}catch(H){if(F){const te=U();if(te?.rows){let he=T==="daily"?Kn(te.rows||[],te.from||r,te.to||s,{timeZone:c,offsetMinutes:u,now:m}):Array.isArray(te.rows)?te.rows:[];T==="hourly"?he=Xn(he,{timeZone:c,offsetMinutes:u,now:m}):T==="monthly"&&(he=Qn(he,{timeZone:c,offsetMinutes:u,now:m})),x(he),b({from:te.from||r,to:te.to||s}),w("cache"),S(te.fetchedAt||null),N(null)}else{x([]),b({from:r,to:s}),w("edge"),S(null);const he=H;N(he?.message||String(he))}}else{x([]),b({from:r,to:s}),w("edge"),S(null);const te=H;N(te?.message||String(te))}}finally{_(!1)}}},[t,e,r,W,n,F,T,l,U,E,ie,$,d,B,c,s,u,m,P,I,z]);f.useEffect(()=>{if(ie){x(Array.isArray(d)?d:[]),b({from:$,to:B}),w("shared"),S(null),_(!1),N(null);return}if(!E&&!n&&!W&&!z){x([]),b({from:r,to:s}),N(null),_(!1),w("edge"),S(null);return}if(!F)P(),x([]),b({from:r,to:s}),N(null),w("edge"),S(null);else{const Y=U();if(Y?.rows){let H=T==="daily"?Kn(Y.rows||[],Y.from||r,Y.to||s,{timeZone:c,offsetMinutes:u,now:m}):Array.isArray(Y.rows)?Y.rows:[];T==="hourly"?H=Xn(H,{timeZone:c,offsetMinutes:u,now:m}):T==="monthly"&&(H=Qn(H,{timeZone:c,offsetMinutes:u,now:m})),x(H),b({from:Y.from||r,to:Y.to||s}),w("cache"),S(Y.fetchedAt||null)}}Q()},[t,W,U,Q,ie,$,d,B,E,n,F,P,z]);const fe=W?"mock":k;return{rows:y,from:p.from||r,to:p.to||s,source:fe,fetchedAt:v,loading:C,error:O,refresh:Q}}function Yl(e){try{return new URL(e).host}catch{return null}}function Vn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const a=Number(n[0]),r=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r,s));return Number.isFinite(l.getTime())&&qt(l)===t?l:null}function zl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Kn(e,t,n,{timeZone:a,offsetMinutes:r,now:s}={}){const l=Vn(t),i=Vn(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,u=_a({timeZone:a,offsetMinutes:r,date:c}),m=Vn(u),d=m?m.getTime():c.getTime(),g=new Map;for(const x of e||[])x?.day&&g.set(x.day,x);const y=[];for(let x=l;x<=i;x=zl(x,1)){const p=qt(x),b=g.get(p),k=x.getTime()>d;if(b){y.push({...b,missing:!1,future:k});continue}y.push({day:p,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!k,future:k})}return y}function Xn(e,{timeZone:t,offsetMinutes:n,now:a}={}){if(!Array.isArray(e))return[];const r=po({timeZone:t,offsetMinutes:n,now:a});return r?e.map(s=>{const l=s?.hour||s?.label||"",i=Hl(l);if(!i)return{...s,future:!1};const c=i.dayNum>r.dayNum||i.dayNum===r.dayNum&&i.slot>r.slot;return{...s,future:c}}):e}function Qn(e,{timeZone:t,offsetMinutes:n,now:a}={}){if(!Array.isArray(e))return[];const r=po({timeZone:t,offsetMinutes:n,now:a});return r?e.map(s=>{const l=s?.month||s?.label||"",i=Ul(l);if(!i)return{...s,future:!1};const c=i.year>r.year||i.year===r.year&&i.month>r.month;return{...s,future:c}}):e}function po({timeZone:e,offsetMinutes:t,now:n}={}){const a=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const g=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(a).reduce((w,v)=>(v.type&&v.value&&(w[v.type]=v.value),w),{}),y=Number(g.year),x=Number(g.month),p=Number(g.day),b=Number(g.hour),k=Number(g.minute);if(Number.isFinite(y)&&Number.isFinite(x)&&Number.isFinite(p)&&Number.isFinite(b)&&Number.isFinite(k)){const w=b*2+(k>=30?1:0);return{year:y,month:x,day:p,hour:b,minute:k,dayNum:y*1e4+x*100+p,slot:w}}}catch{}if(Number.isFinite(t)){const m=new Date(a.getTime()+t*60*1e3),d=m.getUTCFullYear(),g=m.getUTCMonth()+1,y=m.getUTCDate(),x=m.getUTCHours(),p=m.getUTCMinutes(),b=x*2+(p>=30?1:0);return{year:d,month:g,day:y,hour:x,minute:p,dayNum:d*1e4+g*100+y,slot:b}}const r=a.getFullYear(),s=a.getMonth()+1,l=a.getDate(),i=a.getHours(),c=a.getMinutes(),u=i*2+(c>=30?1:0);return{year:r,month:s,day:l,hour:i,minute:c,dayNum:r*1e4+s*100+l,slot:u}}function Hl(e){if(!e)return null;const t=String(e).trim(),[n,a]=t.split("T");if(!n||!a)return null;const r=n.split("-");if(r.length!==3)return null;const s=Number(r[0]),l=Number(r[1]),i=Number(r[2]);if(!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(i))return null;const c=a.split(":"),u=Number(c[0]),m=Number(c[1]);if(!Number.isFinite(u)||u<0||u>23||!Number.isFinite(m)||m<0||m>59)return null;const d=u*2+(m>=30?1:0);return{dayNum:s*1e4+l*100+i,slot:d}}function Ul(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const a=Number(n[0]),r=Number(n[1]);return!Number.isFinite(a)||!Number.isFinite(r)||r<1||r>12?null:{year:a,month:r}}function mr({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:a,to:r,includeDaily:s=!0,cacheKey:l,timeZone:i,tzOffsetMinutes:c,now:u}={}){const[m,d]=f.useState([]),[g,y]=f.useState(null),[x,p]=f.useState(null),[b,k]=f.useState("edge"),[w,v]=f.useState(null),[S,C]=f.useState(!1),[_,O]=f.useState(null),N=It(),W=Xt(t),E=!n,F=(()=>{if(!l)return null;const I=ql(e)||"default",P=s?"daily":"summary",z=Tn({timeZone:i,offsetMinutes:c});return`tokentracker.usage.${l}.${I}.${a}.${r}.${P}.${z}`})(),ie=f.useCallback(()=>{if(!F||typeof window>"u")return null;try{const I=window.localStorage.getItem(F);if(!I)return null;const P=JSON.parse(I);return!P||!P.summary?null:P}catch{return null}},[F]),$=f.useCallback(I=>{if(!(!F||typeof window>"u"))try{window.localStorage.setItem(F,JSON.stringify(I))}catch{}},[F]),B=f.useCallback(()=>{if(!(!F||typeof window>"u"))try{window.localStorage.removeItem(F)}catch{}},[F]),T=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),M=f.useCallback(async()=>{const I=await Pt(t);if(!(!I&&!N&&!T)){C(!0),O(null);try{let P=null,z=null;if(s){const[te,he]=await Promise.allSettled([va({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c}),qn({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0})]);if(te.status==="rejected")throw te.reason;P=te.value,z=he.status==="fulfilled"?he.value:null}else z=await qn({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0});let Q=s&&Array.isArray(P?.data)?P.data:[];s&&(Q=Zn(Q,a,r,{timeZone:i,offsetMinutes:c,now:u}));let fe=z?.totals||P?.summary?.totals||null,Y=z?.rolling||P?.summary?.rolling||null;if(s&&!fe&&!z)try{const te=await qn({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0});fe=te?.totals||null,Y=te?.rolling||Y}catch{}const H=new Date().toISOString();d(Q),y(fe),p(Y),k("edge"),v(H),fe&&E?$({summary:fe,rolling:Y,daily:Q,from:a,to:r,includeDaily:s,fetchedAt:H}):E||B()}catch(P){if(E){const z=ie();if(z?.summary){y(z.summary),p(z.rolling||null);const Q=Array.isArray(z.daily)?z.daily:[],fe=s?Zn(Q,z.from||a,z.to||r,{timeZone:i,offsetMinutes:c,now:u}):Q;d(fe),k("cache"),v(z.fetchedAt||null),O(null)}else{const Q=P;O(Q?.message||String(Q)),d([]),y(null),p(null),k("edge"),v(null)}}else{const z=P;O(z?.message||String(z)),d([]),y(null),p(null),k("edge"),v(null)}}finally{C(!1)}}},[t,e,a,s,N,n,E,u,ie,W,i,r,c,B,$,T]);return f.useEffect(()=>{const I=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!W&&!n&&!N&&!I){d([]),y(null),p(null),O(null),C(!1),k("edge"),v(null);return}if(!E)B(),d([]),y(null),p(null),O(null),k("edge"),v(null);else{const P=ie();if(P?.summary){y(P.summary),p(P.rolling||null);const z=Array.isArray(P.daily)?P.daily:[],Q=s?Zn(z,P.from||a,P.to||r,{timeZone:i,offsetMinutes:c,now:u}):z;d(Q),k("cache"),v(P.fetchedAt||null)}}M()},[t,N,ie,M,W,n,E,B,T]),{daily:m,summary:g,rolling:x,source:N?"mock":b,fetchedAt:w,loading:S,error:_,refresh:M}}function ql(e){try{return new URL(e).host}catch{return null}}function Jn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const a=Number(n[0]),r=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r,s));return Number.isFinite(l.getTime())&&qt(l)===t?l:null}function Gl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Zn(e,t,n,{timeZone:a,offsetMinutes:r,now:s}={}){const l=Jn(t),i=Jn(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,u=_a({timeZone:a,offsetMinutes:r,date:c}),m=Jn(u),d=m?m.getTime():c.getTime(),g=new Map;for(const x of e||[])x?.day&&g.set(x.day,x);const y=[];for(let x=l;x<=i;x=Gl(x,1)){const p=qt(x),b=g.get(p),k=x.getTime()>d;if(b){y.push({...b,missing:!1,future:k});continue}y.push({day:p,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!k,future:k})}return y}function Vl({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:a,to:r,cacheKey:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,u]=f.useState(null),[m,d]=f.useState("edge"),[g,y]=f.useState(!1),[x,p]=f.useState(null),b=It(),k=Xt(t),w=!n,v=f.useMemo(()=>{if(!s)return null;const E=Kl(e)||"default",F=Tn({timeZone:l,offsetMinutes:i});return`tokentracker.modelBreakdown.${s}.${E}.${a}.${r}.${F}`},[e,s,a,l,r,i]),S=f.useCallback(()=>{if(!v||typeof window>"u")return null;try{const E=window.localStorage.getItem(v);if(!E)return null;const F=JSON.parse(E);return!F||!F.breakdown?null:F}catch{return null}},[v]),C=f.useCallback(E=>{if(!(!v||typeof window>"u"))try{window.localStorage.setItem(v,JSON.stringify(E))}catch{}},[v]),_=f.useCallback(()=>{if(!(!v||typeof window>"u"))try{window.localStorage.removeItem(v)}catch{}},[v]),O=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=f.useCallback(async()=>{const E=await Pt(t);if(!(!E&&!b&&!O)){y(!0),p(null);try{const F=await Yi({baseUrl:e,accessToken:E,from:a,to:r,timeZone:l,tzOffsetMinutes:i});u(F||null),d("edge"),F&&w?C({breakdown:F,fetchedAt:new Date().toISOString()}):w||_()}catch(F){if(w){const ie=S();if(ie?.breakdown)u(ie.breakdown),d("cache"),p(null);else{u(null),d("edge");const $=F;p($?.message||String($))}}else{u(null),d("edge");const ie=F;p(ie?.message||String(ie))}}finally{y(!1)}}},[t,e,a,b,n,w,S,l,r,k,i,_,C,O]);return f.useEffect(()=>{if(!k&&!n&&!b&&!O){u(null),d("edge"),p(null),y(!1);return}if(!w)_(),u(null),d("edge"),p(null);else{const E=S();E?.breakdown&&(u(E.breakdown),d("cache"))}N()},[t,b,S,N,k,n,w,_,O]),{breakdown:c,source:b?"mock":m,loading:g,error:x,refresh:N}}function Kl(e){try{return new URL(e).host}catch{return null}}const xo=new Set(["day","hour","month"]);function Xl(e){return xo.has(e)}function hr(e){if(e==null)return null;const t=String(e).trim();if(!/^[0-9]+$/.test(t))return null;const n=t.replace(/^0+/,"");return n.length===0?"0":n}function Ql(e,t){const n=hr(e),a=hr(t);if(n&&a)return n.length!==a.length?n.length<a.length?-1:1:n===a?0:n<a?-1:1;const r=He(e),s=He(t);return r==null&&s==null?0:r==null?1:s==null?-1:r===s?0:r<s?-1:1}function Jl(e,t){const n=typeof e=="string"?e:String(e||""),a=typeof t=="string"?t:String(t||"");return n===a?0:n<a?-1:1}function Zl(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]),s=Number(n[3]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r-1,s));return!Number.isFinite(l.getTime())||l.getUTCFullYear()!==a||l.getUTCMonth()+1!==r||l.getUTCDate()!==s?null:l.getTime()}function ec(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||r<1||r>12)return null;const s=new Date(Date.UTC(a,r-1,1));return Number.isFinite(s.getTime())?s.getTime():null}function tc(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?Z?$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]),s=Number(n[3]),l=Number(n[4]),i=Number(n[5]),c=Number(n[6]||0);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(i)||!Number.isFinite(c)||r<1||r>12||s<1||s>31||l<0||l>23||i<0||i>59||c<0||c>59)return null;const u=new Date(Date.UTC(a,r-1,s,l,i,c));return Number.isFinite(u.getTime())?u.getTime():null}function nc(e,t,n){const a=n==="hour"?tc:n==="month"?ec:Zl,r=a(e),s=a(t);return r!=null&&s!=null?r===s?0:r<s?-1:1:Jl(e,t)}function bo(e,{key:t,dir:n}){const a=n==="asc"?1:-1,r=Array.isArray(e)?e:[],s=xo.has(t)?(i,c)=>nc(i,c,t):Ql,l=i=>t==="total_tokens"&&i?.billable_total_tokens!=null?i.billable_total_tokens:i?.[t];return r.map((i,c)=>({row:i,index:c})).sort((i,c)=>{const u=l(i.row),m=l(c.row),d=u==null,g=m==null;if(d&&g)return i.index-c.index;if(d)return 1;if(g)return-1;const y=s(u,m);return y!==0?y*a:i.index-c.index}).map(i=>i.row)}function ac(){return[{key:"day",label:h("daily.sort.date.label"),title:h("daily.sort.date.title")},{key:"total_tokens",label:h("daily.sort.total.label"),title:h("daily.sort.total.title")},{key:"input_tokens",label:h("daily.sort.input.label"),title:h("daily.sort.input.title")},{key:"output_tokens",label:h("daily.sort.output.label"),title:h("daily.sort.output.title")},{key:"cached_input_tokens",label:h("daily.sort.cached.label"),title:h("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:h("daily.sort.reasoning.label"),title:h("daily.sort.reasoning.title")},{key:"conversation_count",label:h("daily.sort.conversations.label"),title:h("daily.sort.conversations.title")}]}function gr(e){const t=Xl(e)?e:"day";return ac().map((n,a)=>a===0?{...n,key:t}:n)}function yr(e,{key:t,dir:n}){return bo(e,{key:t,dir:n})}const Cn=12,rc=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens"];function oc(e){if(typeof e=="bigint")return e!==0n;if(typeof e=="number")return Number.isFinite(e)&&e!==0;if(e==null)return!1;const t=String(e).trim();if(!t||!/^-?\d+$/.test(t))return!1;const n=t.startsWith("-")?t.slice(1):t;return/[1-9]/.test(n)}function sc(e){return rc.some(t=>oc(e?.[t]))}function ic(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=bo(t,{key:"month",dir:"asc"}),a=n.findIndex(r=>r?.month&&sc(r));return a===-1?t:n.slice(a)}function lc(e,t,n=Cn){const a=Array.isArray(e)?e:[],r=Number.isFinite(n)&&n>0?n:Cn,l=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*r;return a.slice(l,l+r)}function cc({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:a,heatmapLoading:r,activeDays:s,hasActiveDeviceToken:l}={}){return e||t?!1:n?!0:a&&!r&&s===0&&!l}function ko(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function dc(e){const t=ko(e?.model_id);return t||null}function wo(e,t){return e?.model?String(e.model):t}function Gt(e,t=0){const n=He(e?.billable_total_tokens),a=He(e?.total_tokens);return n!=null&&n>0?n:a!=null&&a>0?a:n??a??t}function uc(e,{copyFn:t}={}){const n=typeof t=="function"?t:l=>l,r=(Array.isArray(e?.sources)?e.sources:[]).map(l=>{const i=Gt(l?.totals),c=He(l?.totals?.total_cost_usd)??0;return{source:l?.source,totalTokens:Number.isFinite(i)?i:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(l?.models)?l.models:[]}}).filter(l=>l.totalTokens>0);if(!r.length)return[];const s=r.reduce((l,i)=>l+i.totalTokens,0);return typeof e?.pricing?.pricing_mode=="string"&&e.pricing.pricing_mode.toUpperCase(),r.slice().sort((l,i)=>i.totalTokens-l.totalTokens).map(l=>{const i=l.source?String(l.source).toUpperCase():n("shared.placeholder.short"),c=s>0?l.totalTokens/s*100:0,u=Number.isFinite(c)?c.toFixed(1):"0.0",m=l.models.map(d=>{const g=Gt(d?.totals);if(!Number.isFinite(g)||g<=0)return null;const y=l.totalTokens>0?Math.round(g/l.totalTokens*1e3)/10:0,x=wo(d,n("shared.placeholder.short")),p=dc(d),b=He(d?.totals?.total_cost_usd),k=b??(l.totalCost>0&&l.totalTokens>0?g/l.totalTokens*l.totalCost:null);return{id:p,name:x,share:y,usage:g,cost:k}}).filter(Boolean);return{source:l.source,label:i,totalPercent:String(u),usd:l.totalCost,usage:l.totalTokens,models:m}})}function fc(e,{limit:t=3,copyFn:n}={}){const a=typeof n=="function"?n:g=>g,r=Array.isArray(e?.sources)?e.sources:[];if(!r.length)return[];const s=new Map,l=new Map,i=new Map;let c=0;for(const g of r){const y=Array.isArray(g?.models)?g.models:[];for(const x of y){const p=Gt(x?.totals);if(!Number.isFinite(p)||p<=0)continue;c+=p;const b=wo(x,a("shared.placeholder.short")),k=ko(b);if(!k)continue;s.set(k,(s.get(k)||0)+p);const w=i.get(k)||0;p>=w&&(i.set(k,p),l.set(k,b))}}if(!s.size)return[];const u=Array.from(s.values()).reduce((g,y)=>g+y,0),m=c>0?c:u,d=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(s.entries()).map(([g,y])=>{const x=m>0?(y/m*100).toFixed(1):"0.0";return{id:g,name:l.get(g)||a("shared.placeholder.short"),tokens:y,percent:String(x)}}).sort((g,y)=>y.tokens!==g.tokens?y.tokens-g.tokens:String(g.name).localeCompare(String(y.name))).slice(0,d)}const mt={emerald:{light:["#ebedf0","#a7f3d0","#6ee7b7","#34d399","#10b981"],dark:["#2d333b","#065f46","#059669","#10b981","#34d399"],gridColor:{light:"rgba(16, 185, 129, 0.12)",dark:"rgba(52, 211, 153, 0.08)"}},ocean:{light:["#f1f5f9","#93c5fd","#60a5fa","#3b82f6","#1d4ed8"],dark:["#1e293b","#1e3a8a","#2563eb","#3b82f6","#60a5fa"],gridColor:{light:"rgba(59, 130, 246, 0.12)",dark:"rgba(96, 165, 250, 0.08)"}},neon:{light:["#faf5ff","#ebd5ff","#c084fc","#a855f7","#7e22ce"],dark:["#2e1065","#581c87","#8b5cf6","#a855f7","#c084fc"],gridColor:{light:"rgba(168, 85, 247, 0.12)",dark:"rgba(192, 132, 252, 0.08)"}},amber:{light:["#fffbeb","#fde68a","#f59e0b","#d97706","#b45309"],dark:["#451a03","#78350f","#b45309","#d97706","#f59e0b"],gridColor:{light:"rgba(245, 158, 11, 0.12)",dark:"rgba(245, 158, 11, 0.08)"}}};function mc(e,t){const n=/^#([0-9a-f]{6})$/i.exec(e);if(!n)return e;const a=parseInt(n[1],16),r=a>>16&255,s=a>>8&255,l=a&255,i=c=>Math.max(0,Math.min(255,Math.round(c*t)));return`rgb(${i(r)}, ${i(s)}, ${i(l)})`}function nt(e,t,n,a,r){const s=Math.cos(a),l=Math.sin(a),i=e*s-t*l,c=e*l+t*s,u=n,m=Math.cos(r),d=Math.sin(r),g=i,y=c*m-u*d,x=c*d+u*m;return{x:g,y,z:x}}function hc(e,t,n,a,r){return nt(e,t,n,a,r)}function vo(e,t){const n=Number(t).toLocaleString();if(e>=4){const a=Math.floor(Math.random()*3)+1;return h(`heatmap.3d.voxel.joke.${a}`,{value:n})}else return e===3?h("heatmap.3d.voxel.level3",{value:n}):e===2?h("heatmap.3d.voxel.level2",{value:n}):e===1?h("heatmap.3d.voxel.level1",{value:n}):h("heatmap.3d.voxel.level0")}function pr({weeks:e,palette:t="auto",isDark:n=!1,interactive:a=!1,autoRotateInit:r=!1,onResetViewRef:s=null}){const l=mt[t]||(t==="auto"?mt.emerald:null),i=l?n?l.dark:l.light:Array.isArray(t)?t:n?mt.emerald.dark:mt.emerald.light,c=l?n?l.gridColor.dark:l.gridColor.light:n?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",u=-.2,m=.88,[d,g]=f.useState({yaw:u,pitch:m}),[y,x]=f.useState(r),[p,b]=f.useState(1),k=a?13:10.5,w=f.useMemo(()=>{const D=[],L=e.length;if(L===0||!a)return[];for(let K=0;K<=7;K++){const q=(K-3.5)*k,ne=nt(-L/2*k,q,0,d.yaw,d.pitch),X=nt(L/2*k,q,0,d.yaw,d.pitch);D.push({d:`M${ne.x},${ne.y} L${X.x},${X.y}`,key:`horiz-${K}`})}for(let K=0;K<=L;K+=4){const q=(K-L/2)*k,ne=nt(q,-3.5*k,0,d.yaw,d.pitch),X=nt(q,3.5*k,0,d.yaw,d.pitch);D.push({d:`M${ne.x},${ne.y} L${X.x},${X.y}`,key:`vert-${K}`})}if(L%4!==0){const K=(L-L/2)*k,q=nt(K,-3.5*k,0,d.yaw,d.pitch),ne=nt(K,3.5*k,0,d.yaw,d.pitch);D.push({d:`M${q.x},${q.y} L${ne.x},${ne.y}`,key:"vert-last"})}return D},[e.length,d,k,a]);f.useEffect(()=>{s&&(s.current={reset:()=>{g({yaw:u,pitch:m}),x(!1),b(1),T()},toggleAutoRotate:D=>{x(D)}})},[s]);const v=f.useRef(null),S=f.useRef(null),C=f.useRef(!1),_=f.useRef({x:0,y:0}),O=f.useRef({yaw:u,pitch:m}),N=f.useRef({x:0,y:0}),W=f.useRef({x:0,y:0,time:0}),E=f.useRef(null),[F,ie]=f.useState(0),$=f.useRef(null),B=f.useRef(!0);f.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]);const T=()=>{$.current&&cancelAnimationFrame($.current),ie(0);const D=performance.now(),L=1200,K=q=>{if(!B.current)return;const ne=q-D,X=Math.min(1,ne/L),pe=1-Math.pow(1-X,3);ie(pe),X<1?$.current=requestAnimationFrame(K):$.current=null};$.current=requestAnimationFrame(K)};f.useEffect(()=>(T(),()=>{$.current&&cancelAnimationFrame($.current)}),[a]),f.useEffect(()=>{if(!y||C.current||typeof window>"u"||typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let L;const K=()=>{if(typeof document<"u"&&document.visibilityState==="hidden"){L=requestAnimationFrame(K);return}g(q=>({yaw:q.yaw+.002,pitch:q.pitch})),L=requestAnimationFrame(K)};return L=requestAnimationFrame(K),()=>cancelAnimationFrame(L)},[y]);const M=(D,L)=>{a&&(C.current=!0,_.current={x:D,y:L},O.current={yaw:d.yaw,pitch:d.pitch},N.current={x:0,y:0},W.current={x:D,y:L,time:performance.now()},E.current&&cancelAnimationFrame(E.current))},U=(D,L)=>{if(!C.current)return;const K=D-_.current.x,q=L-_.current.y,ne=performance.now(),X=ne-W.current.time;X>0&&(N.current={x:(D-W.current.x)/X,y:(L-W.current.y)/X}),W.current={x:D,y:L,time:ne};const pe=.005,ge=O.current.yaw-K*pe,Se=Math.PI/2.3,Te=Math.max(-Se,Math.min(Se,O.current.pitch-q*pe));g({yaw:ge,pitch:Te})},I=()=>{if(!C.current)return;C.current=!1;let D=-N.current.x*12,L=-N.current.y*12;const K=.95,q=()=>{C.current||(D*=K,L*=K,!(Math.abs(D)<.01&&Math.abs(L)<.01)&&(g(ne=>{const X=ne.yaw+D*.005,pe=Math.PI/2.3,ge=Math.max(-pe,Math.min(pe,ne.pitch+L*.005));return{yaw:X,pitch:ge}}),E.current=requestAnimationFrame(q)))};E.current=requestAnimationFrame(q)},[P,z]=f.useState(null),[Q,fe]=f.useState({x:0,y:0,shiftX:0}),Y=f.useRef(null);f.useEffect(()=>()=>{Y.current&&clearTimeout(Y.current)},[]),f.useEffect(()=>{if(!a||!S.current)return;const D=K=>{K.preventDefault();const q=-K.deltaY*.0025;b(ne=>{const X=ne+q;return Math.max(.5,Math.min(3,X))})},L=S.current;return L.addEventListener("wheel",D,{passive:!1}),()=>{L.removeEventListener("wheel",D)}},[a]);const H=f.useMemo(()=>{const D=[];return e.forEach((L,K)=>{(Array.isArray(L)?L:[]).forEach((q,ne)=>{q&&D.push({key:q.day||`${K}-${ne}`,col:K,row:ne,level:q.level||0,value:q.value||0,day:q.day,models:q.models||null})})}),D},[e]),he=k-(a?1.8:1.5),ve=a?38:28,Be=D=>Math.max(1.8,Number(D)/4*ve),Me=f.useMemo(()=>{if(H.length===0)return[];const D=e.length;return H.map(L=>{const K=Be(L.level),q=Math.sqrt(Math.pow(L.col-D/2,2)+Math.pow(L.row-3.5,2)),ne=Math.sqrt(Math.pow(D/2,2)+Math.pow(3.5,2)),X=q/ne*.4,pe=Math.min(1,Math.max(0,(F-X)*(1/.6))),ge=K*pe,Se=(L.col-D/2)*k,Te=(L.row-3.5)*k,me=he/2,Ie=[{x:Se-me,y:Te-me,z:0},{x:Se+me,y:Te-me,z:0},{x:Se+me,y:Te+me,z:0},{x:Se-me,y:Te+me,z:0},{x:Se-me,y:Te-me,z:ge},{x:Se+me,y:Te-me,z:ge},{x:Se+me,y:Te+me,z:ge},{x:Se-me,y:Te+me,z:ge}].map(re=>nt(re.x,re.y,re.z,d.yaw,d.pitch)),Ce=nt(Se,Te,ge/2,d.yaw,d.pitch),Le=[{name:"top",indices:[4,5,6,7],scale:1,normal:[0,0,1]},{name:"bottom",indices:[3,2,1,0],scale:.4,normal:[0,0,-1]},{name:"left",indices:[3,0,4,7],scale:.55,normal:[-1,0,0]},{name:"right",indices:[1,2,6,5],scale:.75,normal:[1,0,0]},{name:"front",indices:[0,1,5,4],scale:.85,normal:[0,-1,0]},{name:"back",indices:[2,3,7,6],scale:.65,normal:[0,1,0]}],yt=i[Math.min(4,Math.max(0,Number(L.level)||0))],Je=[],pt=.35,_t=-.4,oe=.83;return Le.forEach(re=>{const G=hc(re.normal[0],re.normal[1],re.normal[2],d.yaw,d.pitch);if(G.z>.001){const de=Ie[re.indices[0]],be=Ie[re.indices[1]],ae=Ie[re.indices[2]],xt=Ie[re.indices[3]],lt=`M${de.x},${de.y} L${be.x},${be.y} L${ae.x},${ae.y} L${xt.x},${xt.y} Z`,Nt=G.x*pt+G.y*_t+G.z*oe,Ze=n?.18:0,et=re.scale*(.82+.28*Math.max(0,Nt))+Ze;Je.push({name:re.name,d:lt,fill:mc(yt,et)})}}),{...L,centerProj:Ce,renderedFaces:Je}})},[H,d,i,e.length,F,k,he,ve]),A=f.useMemo(()=>[...Me].sort((D,L)=>D.centerProj.z-L.centerProj.z),[Me]),J=f.useMemo(()=>{if(A.length===0)return{minX:-100,minY:-100,maxX:100,maxY:100};let D=1/0,L=1/0,K=-1/0,q=-1/0;return A.forEach(ne=>{const X=k*2,pe=ne.centerProj.x,ge=ne.centerProj.y;pe-X<D&&(D=pe-X),pe+X>K&&(K=pe+X),ge-X<L&&(L=ge-X),ge+X>q&&(q=ge+X)}),{minX:D,minY:L,maxX:K,maxY:q}},[A,k]),le=12,ue=J.maxX-J.minX+le*2,Oe=J.maxY-J.minY+le*2,_e=ue/p,We=Oe/p,Ne=J.minX-le+(ue-_e)/2,Pe=J.minY-le+(Oe-We)/2,ke=`${Ne} ${Pe} ${_e} ${We}`;return H.length===0?o.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:h("heatmap.empty")}):o.jsxs("div",{ref:S,className:`relative select-none outline-none ${a?"cursor-grab active:cursor-grabbing w-full h-full flex items-center justify-center":"w-full overflow-hidden flex justify-center"}`,onMouseDown:D=>{if(!a)return;M(D.clientX,D.clientY);const L=q=>U(q.clientX,q.clientY),K=()=>{I(),window.removeEventListener("mousemove",L),window.removeEventListener("mouseup",K)};window.addEventListener("mousemove",L),window.addEventListener("mouseup",K)},onTouchStart:D=>{!a||D.touches.length===0||M(D.touches[0].clientX,D.touches[0].clientY)},onTouchMove:D=>{!a||D.touches.length===0||U(D.touches[0].clientX,D.touches[0].clientY)},onTouchEnd:()=>{a&&I()},children:[o.jsxs("svg",{ref:v,viewBox:ke,width:a?"95%":"100%",height:a?"95%":"auto",role:"img","aria-label":h("heatmap.iso.aria")||"3D interactive activity heatmap",style:{display:"block",width:"100%",height:"auto",maxWidth:a?"none":`${ue}px`,maxHeight:a?"78vh":"none"},className:"transition-transform duration-300 ease-out",children:[a&&w.map(D=>o.jsx("path",{d:D.d,fill:"none",stroke:c,strokeWidth:.25,strokeDasharray:"1.5 2.5",strokeLinecap:"round"},D.key)),A.map(D=>{const L=P&&P.key===D.key;return o.jsxs("g",{onMouseEnter:K=>{if(Y.current&&(clearTimeout(Y.current),Y.current=null),z(D),a&&v.current){const q=nt((D.col-e.length/2)*k,(D.row-3.5)*k,Be(D.level),d.yaw,d.pitch);let ne=0,X=0;const pe=v.current;if(S.current&&typeof pe.createSVGPoint=="function"&&typeof pe.getScreenCTM=="function")try{const me=pe.createSVGPoint();me.x=q.x,me.y=q.y;const ce=pe.getScreenCTM();if(ce){const Ie=me.matrixTransform(ce),Ce=S.current.getBoundingClientRect();ne=Ie.x-Ce.left,X=Ie.y-Ce.top}}catch{const ce=pe.getBoundingClientRect(),Ie=J.maxX-J.minX+le*2,Ce=J.maxY-J.minY+le*2;ne=(q.x-(J.minX-le))/Ie*ce.width,X=(q.y-(J.minY-le))/Ce*ce.height}else{const me=pe.getBoundingClientRect(),ce=J.maxX-J.minX+le*2,Ie=J.maxY-J.minY+le*2;ne=(q.x-(J.minX-le))/ce*me.width,X=(q.y-(J.minY-le))/Ie*me.height}const ge=140;let Se=0;const Te=S.current?S.current.getBoundingClientRect().width:pe.getBoundingClientRect().width;ne<ge?Se=ge-ne:ne>Te-ge&&(Se=Te-ge-ne),fe({x:ne,y:X,shiftX:Se})}},onMouseLeave:()=>{Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{z(null)},150)},className:"transition-all duration-200",style:{filter:L?"brightness(1.15) drop-shadow(0 4px 6px rgba(0,0,0,0.15))":"none",cursor:a?"pointer":"default"},children:[!a&&D.day&&o.jsx("title",{children:`${D.day}: ${Number(D.value).toLocaleString()} tokens`}),D.renderedFaces.map((K,q)=>o.jsx("path",{d:K.d,fill:K.fill,stroke:K.fill,strokeWidth:.25,strokeLinejoin:"round"},q))]},D.key)})]}),a&&P&&o.jsxs("div",{onMouseEnter:()=>{Y.current&&(clearTimeout(Y.current),Y.current=null)},onMouseLeave:()=>{Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{z(null)},150)},className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out",style:{left:`${Q.x}px`,top:`${Q.y}px`},children:[o.jsxs("div",{className:"absolute left-0 bottom-[10px] backdrop-blur-md bg-white/90 dark:bg-oai-gray-900/90 border border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-xl rounded-xl p-3.5 max-w-[280px] min-w-[200px] flex flex-col gap-2 animate-in fade-in zoom-in-95 duration-100",style:{transform:`translateX(calc(-50% + ${Q.shiftX}px))`},children:[o.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[o.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:P.day}),(()=>{const D=P.level===0?n?"#9ca3af":"#6b7280":i[P.level];return o.jsxs("span",{className:"text-[10px] px-2 py-0.5 rounded-full font-medium",style:{backgroundColor:D+"22",color:D,border:`1px solid ${D}44`},children:["Level ",P.level]})})()]}),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-baseline gap-1",children:[o.jsx("span",{className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:Number(P.value).toLocaleString()}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),P.models&&Object.keys(P.models).length>0?o.jsxs("div",{className:"mt-1.5 border-t border-oai-gray-100 dark:border-oai-gray-800/60 pt-2 flex flex-col gap-1.5",children:[o.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:"Model Breakdown"}),o.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 scrollbar-thin",children:Object.entries(P.models).map(([D,L])=>({name:D,val:Number(L)})).sort((D,L)=>L.val-D.val).map(({name:D,val:L})=>{const K=Number(P.value)||1,q=Math.round(L/K*100);return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[o.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[120px]",title:D,children:D}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.jsx("span",{className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:L.toLocaleString()}),o.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[q,"%"]})]})]}),o.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:o.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${q}%`,backgroundColor:i[4],boxShadow:`0 0 4px ${i[4]}55`}})})]},D)})})]}):o.jsx("p",{className:"text-[11px] text-oai-gray-600 dark:text-oai-gray-300 leading-relaxed font-normal mt-1 border-t border-dashed border-oai-gray-100 dark:border-oai-gray-800/60 pt-1.5",children:vo(P.level,P.value)})]})]}),o.jsx("div",{className:"absolute bottom-[6px] left-0 -translate-x-1/2 w-2.5 h-2.5 rotate-45 bg-white dark:bg-oai-gray-900 border-r border-b border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-sm",style:{marginBottom:"1px"}})]})]})}const Ct=12,tn=3,ea=26,gc=["#ebedf0","#a7f3d0","#6ee7b7","#34d399","#10b981"],yc=["#30363d","#065f46","#059669","#10b981","#34d399"];function xr(e){const t=Number(e);return Number.isFinite(t)?t<1e3?t.toLocaleString():Ue(t,{decimals:2}):"0"}function pc(e){if(typeof e!="string")return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const n=new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));return Number.isFinite(n.getTime())?n:null}function _o(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function xc(e,t){return Math.floor((Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))/864e5)}function bc(e,t){const n=t==="mon"?1:0,a=e.getUTCDay();return _o(e,-((a-n+7)%7))}function kc(e,t,n,a){if(!e)return[];const r=pc(t)||new Date,s=[];for(let m=11;m>=0;m-=1)s.push(new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()-m,1)));const l=bc(r,n),i=_o(l,-(e-1)*7),c=[],u=new Set;for(const m of s){const d=Math.floor(xc(i,m)/7);d<0||d>=e||u.has(d)||(u.add(d),c.push({label:a[m.getUTCMonth()],index:d}))}return c}function wc({heatmap:e,timeZoneLabel:t,timeZoneShortLabel:n,hideLegend:a=!1}){const{resolvedTheme:r}=so(),{currency:s,rate:l}=un(),i=r==="dark",c=i?yc:gc,u=f.useRef(null),m=f.useRef(null),[d,g]=f.useState(null),[y,x]=f.useState({x:0,y:0,shiftX:0}),p=f.useRef(null);f.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const[b,k]=f.useState(!1),[w,v]=f.useState(!1),[S,C]=f.useState(!1),_=f.useRef(null),[O,N]=f.useState("emerald"),W=[h("heatmap.month.jan"),h("heatmap.month.feb"),h("heatmap.month.mar"),h("heatmap.month.apr"),h("heatmap.month.may"),h("heatmap.month.jun"),h("heatmap.month.jul"),h("heatmap.month.aug"),h("heatmap.month.sep"),h("heatmap.month.oct"),h("heatmap.month.nov"),h("heatmap.month.dec")],E=(A,J)=>{if(!J||!J.day)return;p.current&&(clearTimeout(p.current),p.current=null),g(J);const le=A.currentTarget.getBoundingClientRect(),ue=m.current;if(!ue)return;const Oe=ue.getBoundingClientRect(),_e=le.left-Oe.left+le.width/2,We=le.top-Oe.top,Ne=140;let Pe=0;_e<Ne?Pe=Ne-_e:_e>Oe.width-Ne&&(Pe=Oe.width-Ne-_e),x({x:_e,y:We,shiftX:Pe})},F=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{g(null)},150)},ie=()=>{p.current&&(clearTimeout(p.current),p.current=null)},$=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{g(null)},150)},B=()=>{v(!1),k(!0)},T=()=>{v(!0)},M=A=>{A.target===A.currentTarget&&w&&(k(!1),v(!1))};f.useEffect(()=>{if(!b||w)return;const A=J=>{J.key==="Escape"&&T()};return window.addEventListener("keydown",A),()=>{window.removeEventListener("keydown",A)}},[b,w]);const U=f.useMemo(()=>({emerald:{accentText:"text-emerald-500 dark:text-emerald-400",accentBg:"bg-emerald-500/10 dark:bg-emerald-400/10",accentBorder:"border-emerald-500/20 dark:border-emerald-400/15",hoverBorder:"hover:border-emerald-500/30 dark:hover:border-emerald-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(16,185,129,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(52,211,153,0.25)]",rawColor:"#10b981"},ocean:{accentText:"text-blue-500 dark:text-blue-400",accentBg:"bg-blue-500/10 dark:bg-blue-400/10",accentBorder:"border-blue-500/20 dark:border-blue-400/15",hoverBorder:"hover:border-blue-500/30 dark:hover:border-blue-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(59,130,246,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(96,165,250,0.25)]",rawColor:"#3b82f6"},neon:{accentText:"text-purple-500 dark:text-purple-400",accentBg:"bg-purple-500/10 dark:bg-purple-400/10",accentBorder:"border-purple-500/20 dark:border-purple-400/15",hoverBorder:"hover:border-purple-500/30 dark:hover:border-purple-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(168,85,247,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(192,132,252,0.25)]",rawColor:"#a855f7"},amber:{accentText:"text-amber-500 dark:text-amber-400",accentBg:"bg-amber-500/10 dark:bg-amber-400/10",accentBorder:"border-amber-500/20 dark:border-amber-400/15",hoverBorder:"hover:border-amber-500/30 dark:hover:border-amber-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(245,158,11,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(245,158,11,0.25)]",rawColor:"#f59e0b"}}),[]),I=U[O]||U.emerald,P=mt[O]?i?mt[O].dark:mt[O].light:i?mt.emerald.dark:mt.emerald.light,[z,Q]=f.useState(()=>{try{return window.localStorage?.getItem("tt:heatmap-view")==="3d"?"3d":"2d"}catch{return"2d"}});f.useEffect(()=>{try{window.localStorage?.setItem("tt:heatmap-view",z)}catch{}},[z]),f.useEffect(()=>{const A=u.current;A&&(A.scrollLeft=A.scrollWidth)},[e?.weeks]),f.useEffect(()=>{const A=u.current;if(!A)return;const J=()=>{p.current&&(clearTimeout(p.current),p.current=null),g(null)};return A.addEventListener("scroll",J),()=>A.removeEventListener("scroll",J)},[]);const fe=e?.week_starts_on==="mon"?"mon":"sun",Y=f.useMemo(()=>{const A=Array.isArray(e?.weeks)?e.weeks:[];if(!A.length)return{weeks:[]};const J=[];for(const le of A)for(const ue of Array.isArray(le)?le:[])ue?.day&&J.push({day:ue.day,total_tokens:ue.total_tokens??ue.value??0,billable_total_tokens:ue.billable_total_tokens??ue.value??ue.total_tokens??0,models:ue.models??null});return ga({dailyRows:J,weeks:Math.max(52,A.length),to:e?.to,weekStartsOn:fe})},[e?.to,e?.weeks,fe]),H=Y?.weeks||[],te=f.useMemo(()=>{let A=0,J=0,le={day:"无数据",value:0},ue=0,Oe=0;const _e=[];H.forEach(ne=>{(Array.isArray(ne)?ne:[]).forEach(X=>{X&&X.day&&_e.push(X)})}),_e.sort((ne,X)=>ne.day.localeCompare(X.day)),_e.forEach(ne=>{const X=Number(ne.value)||0;A+=X,X>0?(J++,ue++,ue>Oe&&(Oe=ue)):ue=0,X>le.value&&(le={day:ne.day,value:X})});const We=_e.length||365,Ne=(J/We*100).toFixed(1);let Pe="heatmap.3d.modal.ai.eval.default",ke="heatmap.3d.modal.ai.title.default";A>=15e6?(ke="heatmap.3d.modal.ai.title.peak",Pe="heatmap.3d.modal.ai.eval.peak"):A>=5e6?(ke="heatmap.3d.modal.ai.title.heavy",Pe="heatmap.3d.modal.ai.eval.heavy"):A>=1e6?(ke="heatmap.3d.modal.ai.title.core",Pe="heatmap.3d.modal.ai.eval.core"):A>=2e4&&(ke="heatmap.3d.modal.ai.title.steady",Pe="heatmap.3d.modal.ai.eval.steady");const D=e?.total_cost_usd,L=Number(D),q=D!=null&&(typeof D!="string"||D.trim()!=="")&&Number.isFinite(L)?L:A/15e5;return{totalTokens:A,activeDays:J,activeRate:Ne,maxSingleDay:le,maxStreak:Oe,aiEvaluationTitleKey:ke,aiEvaluationKey:Pe,totalCostUsd:q}},[H,e?.total_cost_usd]),he=f.useMemo(()=>dn(te.totalCostUsd,{currency:s,rate:l}),[te.totalCostUsd,s,l]),ve=fe==="mon"?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(A=>h(`heatmap.day.${A.toLowerCase()}`)):["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(A=>h(`heatmap.day.${A.toLowerCase()}`)),Be=f.useMemo(()=>kc(H.length,Y?.to,fe,W),[Y?.to,H.length,fe,W]);if(!H.length)return o.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:h("heatmap.empty")});const Me=ea+H.length*Ct+Math.max(0,H.length-1)*tn;return o.jsxs("div",{ref:m,className:"relative rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",children:[o.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[o.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:h("heatmap.title")}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("div",{role:"tablist","aria-label":"Heatmap view",className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[10px]",children:[o.jsx("button",{type:"button",role:"tab","aria-selected":z==="2d",onClick:()=>Q("2d"),className:z==="2d"?"px-2 py-0.5 rounded bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"px-2 py-0.5 rounded text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200",children:h("heatmap.view.2d")}),o.jsx("button",{type:"button",role:"tab","aria-selected":z==="3d",onClick:()=>Q("3d"),className:z==="3d"?"px-2 py-0.5 rounded bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"px-2 py-0.5 rounded text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200",children:h("heatmap.view.3d")})]}),o.jsx("span",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-450",children:n||h("heatmap.legend.utc")})]})]}),z==="3d"&&o.jsxs("div",{onClick:B,className:"cursor-pointer group relative overflow-hidden rounded-lg hover:border-oai-gray-350 dark:hover:border-oai-gray-700 border border-transparent transition-all",title:h("heatmap.3d.hover_tip"),children:[o.jsx(pr,{weeks:H,isDark:i,palette:O}),o.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-oai-gray-900/5 to-transparent pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity flex items-end justify-center pb-2",children:o.jsxs("span",{className:"text-[10px] bg-white/95 dark:bg-oai-gray-900/95 shadow border border-oai-gray-200/60 dark:border-oai-gray-800/80 px-2.5 py-1 rounded-full font-medium text-oai-gray-500 dark:text-oai-gray-400 flex items-center gap-1 transform translate-y-2 group-hover:translate-y-0 transition-transform duration-200",children:[o.jsx(vl,{size:9}),h("heatmap.3d.hover_tip")]})})]}),z==="2d"&&o.jsx("div",{ref:u,className:"overflow-x-auto overflow-y-hidden heatmap-scroll-thin",children:o.jsxs("div",{style:{minWidth:Me},children:[o.jsxs("div",{className:"grid text-[10px] uppercase text-oai-gray-400 dark:text-oai-gray-400 mb-1",style:{gridTemplateColumns:`${ea}px repeat(${H.length}, ${Ct}px)`,columnGap:tn},children:[o.jsx("span",{}),Be.map(A=>o.jsx("span",{style:{gridColumnStart:A.index+2},className:"whitespace-nowrap",children:A.label},`${A.label}-${A.index}`))]}),o.jsxs("div",{className:"grid",style:{gridTemplateColumns:`${ea}px repeat(${H.length}, ${Ct}px)`,columnGap:tn},children:[o.jsx("div",{className:"grid text-[10px] text-oai-gray-400 dark:text-oai-gray-400 sticky left-0 bg-white dark:bg-oai-gray-900 pr-2",style:{gridTemplateRows:`repeat(7, ${Ct}px)`,rowGap:tn},children:ve.map(A=>o.jsx("span",{className:"leading-none",children:A},A))}),o.jsx("div",{className:"grid",style:{gridAutoFlow:"column",gridTemplateRows:`repeat(7, ${Ct}px)`,gap:tn},children:H.map((A,J)=>(Array.isArray(A)?A:[]).map((le,ue)=>{if(!le)return null;const Oe=le.day||`e-${J}-${ue}`,_e=Number(le.level)||0,We=c[_e]||c[0];return o.jsx("span",{onMouseEnter:Ne=>E(Ne,le),onMouseLeave:F,className:"rounded-[2px] transition-transform hover:scale-125 hover:z-10 cursor-pointer",style:{width:Ct,height:Ct,background:We}},Oe)}))})]})]})}),!a&&o.jsxs("div",{className:"flex items-center justify-center gap-2 mt-3",children:[o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:h("heatmap.legend.less")}),o.jsx("div",{className:"flex gap-0.5",children:c.map((A,J)=>o.jsx("span",{className:"rounded-[1px]",style:{width:10,height:10,background:A}},J))}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:h("heatmap.legend.more")})]}),b&&o.jsx("div",{onAnimationEnd:M,onClick:A=>{A.target===A.currentTarget&&T()},className:`fixed inset-0 z-50 flex items-center justify-center p-3 md:p-6 backdrop-blur-md bg-black/15 dark:bg-black/40 ${w?"animate-tt-fade-out":"animate-tt-fade-in"}`,children:o.jsxs("div",{className:`relative w-full max-w-6xl h-[88vh] backdrop-blur-2xl bg-white/90 dark:bg-oai-gray-900/90 border border-oai-gray-200/50 dark:border-white/10 shadow-2xl rounded-2xl flex flex-col md:flex-row overflow-hidden ${w?"animate-tt-modal-exit":"animate-tt-modal"}`,children:[o.jsx("button",{type:"button",onClick:T,className:"absolute top-4 right-4 z-50 p-2 rounded-full border border-oai-gray-200/60 dark:border-oai-gray-800/60 bg-white/50 dark:bg-oai-gray-900/50 text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-900 dark:hover:text-white hover:rotate-90 hover:scale-105 active:scale-95 transition-all duration-300",children:o.jsx(io,{size:16})}),o.jsxs("div",{className:"w-full md:w-[340px] border-b md:border-b-0 md:border-r border-zinc-200/50 dark:border-zinc-800/40 p-5 md:p-6 flex flex-col gap-6 overflow-y-auto backdrop-blur-md bg-zinc-50/50 dark:bg-zinc-950/50",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[o.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[o.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:I.rawColor}}),o.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:I.rawColor}})]}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:"3D Insight"})]}),o.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:h("heatmap.3d.modal.title")}),o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:h("heatmap.3d.modal.desc")})]}),o.jsxs("div",{className:"grid grid-cols-2 gap-x-5 gap-y-5 border-y border-zinc-200/50 dark:border-zinc-800/50 py-5 select-none",children:[o.jsxs("div",{className:"flex flex-col gap-1 relative group cursor-help",children:[o.jsx("div",{className:"absolute left-0 bottom-full mb-2 pointer-events-none opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-200 z-50",children:o.jsxs("div",{className:"bg-white dark:bg-zinc-950 text-zinc-900 dark:text-zinc-50 text-[10px] font-semibold font-mono rounded-lg px-2.5 py-1.5 shadow-xl border border-zinc-200 dark:border-zinc-800/80 whitespace-nowrap flex flex-col",children:[o.jsx("span",{className:"text-[9px] text-zinc-400 dark:text-zinc-500",children:h("heatmap.3d.modal.stats.precision_total_tokens")}),o.jsxs("span",{className:"mt-0.5 font-bold text-zinc-900 dark:text-zinc-50",children:[te.totalTokens.toLocaleString()," Tokens"]})]})}),o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.total_tokens")}),o.jsxs("div",{className:"flex items-baseline gap-1.5",children:[o.jsx("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:xr(te.totalTokens)}),o.jsx("div",{className:"opacity-30 group-hover:opacity-60 transition-opacity",children:o.jsx("svg",{width:"24",height:"10",viewBox:"0 0 24 10",fill:"none",children:o.jsx("path",{d:"M1 9C3 7 5 7 7 4C9 1 11 0 13 2C15 4 17 0 23 0",stroke:I.rawColor,strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),o.jsxs("div",{className:"flex flex-col gap-1 group cursor-default",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.estimated_cost")}),o.jsx("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:he})]}),o.jsxs("div",{className:"flex flex-col gap-1 group cursor-default",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.active_rate_days")}),o.jsxs("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:[te.activeRate,"% ",o.jsxs("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono",children:["(",te.activeDays,"D)"]})]})]}),o.jsxs("div",{className:"flex flex-col gap-1 group cursor-default",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.max_streak")}),o.jsxs("span",{className:"text-xl font-black text-amber-500 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:[te.maxStreak," ",o.jsx("span",{className:"text-[10px] font-bold text-amber-500/80 font-mono",children:h("heatmap.3d.modal.stats.days_suffix")})]})]}),o.jsxs("div",{className:"flex flex-col gap-1 col-span-2 relative group cursor-help",children:[o.jsx("div",{className:"absolute left-0 bottom-full mb-2 pointer-events-none opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-200 z-50",children:o.jsxs("div",{className:"bg-white dark:bg-zinc-950 text-zinc-900 dark:text-zinc-50 text-[10px] font-semibold font-mono rounded-lg px-2.5 py-1.5 shadow-xl border border-zinc-200 dark:border-zinc-800/80 whitespace-nowrap flex flex-col",children:[o.jsx("span",{className:"text-[9px] text-zinc-400 dark:text-zinc-500",children:h("heatmap.3d.modal.stats.precision_peak_value")}),o.jsxs("span",{className:"mt-0.5 font-bold text-zinc-900 dark:text-zinc-50",children:[te.maxSingleDay.value>0?te.maxSingleDay.value.toLocaleString():h("heatmap.3d.modal.stats.no_data")," Tokens"]}),o.jsx("span",{className:"text-[8px] text-zinc-400 dark:text-zinc-500 mt-0.5",children:te.maxSingleDay.day!=="无数据"?te.maxSingleDay.day:h("heatmap.3d.modal.stats.no_data")})]})}),o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.peak_day")}),o.jsxs("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:[te.maxSingleDay.value>0?xr(te.maxSingleDay.value):h("heatmap.3d.modal.stats.no_data")," ",o.jsxs("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono",children:["(",te.maxSingleDay.day!=="无数据"?te.maxSingleDay.day:h("heatmap.3d.modal.stats.no_data"),")"]})]})]})]}),o.jsxs("div",{className:"flex flex-col gap-2.5 py-1",children:[o.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[o.jsx(Ol,{size:11,style:{color:I.rawColor}}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:I.rawColor},children:h(te.aiEvaluationTitleKey)})]}),o.jsxs("div",{className:"pl-3.5 border-l-2 relative transition-all duration-300 group",style:{borderColor:I.rawColor},children:[o.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:I.rawColor}}),o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:h(te.aiEvaluationKey)})]})]}),o.jsx("div",{className:"mt-auto border-t border-zinc-200/50 dark:border-zinc-800/50 pt-4 select-none",children:o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.legend.title")}),o.jsx("span",{className:"text-[10px] font-medium text-zinc-500 dark:text-zinc-400",children:h(`heatmap.3d.modal.palette.${O}`)})]}),o.jsx("div",{className:"flex gap-1",children:P.map((A,J)=>o.jsx("div",{className:"flex-1 h-1 rounded-[2px]",style:{backgroundColor:A},title:`Level ${J}`},J))})]})})]}),o.jsxs("div",{className:"flex-1 h-full relative flex items-center justify-center overflow-hidden p-4",children:[o.jsx("div",{className:"absolute top-1/4 left-1/3 w-96 h-96 rounded-full blur-[130px] pointer-events-none -translate-x-1/2 -translate-y-1/2 transition-all duration-500",style:{backgroundColor:I.rawColor+"15"}}),o.jsx("div",{className:"absolute bottom-1/4 right-1/3 w-80 h-80 rounded-full blur-[120px] pointer-events-none translate-x-1/2 translate-y-1/2 bg-purple-500/[0.04] dark:bg-purple-500/[0.08]"}),o.jsxs("div",{className:"absolute top-4 left-1/2 -translate-x-1/2 flex items-center gap-3 p-1.5 backdrop-blur-md bg-white/70 dark:bg-oai-gray-900/75 border border-oai-gray-200/60 dark:border-oai-gray-800/80 rounded-full shadow-lg z-30 select-none",children:[o.jsx("div",{className:"flex items-center gap-1.5 px-2",children:Object.keys(U).map(A=>{const J=O===A;return o.jsx("button",{type:"button",onClick:()=>N(A),title:h(`heatmap.3d.modal.palette.${A}`),className:`w-3.5 h-3.5 rounded-full transition-all duration-200 relative hover:scale-125 ${A==="emerald"?"bg-[#10b981]":A==="ocean"?"bg-[#3b82f6]":A==="neon"?"bg-[#a855f7]":"bg-[#f59e0b]"}`,children:J&&o.jsx("span",{className:"absolute inset-0 rounded-full ring-2 ring-offset-1 ring-offset-white dark:ring-offset-oai-gray-900 ring-oai-gray-900 dark:ring-white scale-110"})},A)})}),o.jsx("div",{className:"w-[1px] h-4 bg-oai-gray-200 dark:bg-oai-gray-800"}),o.jsxs("div",{className:"flex items-center gap-1 pr-1",children:[o.jsx("button",{type:"button",onClick:()=>{const A=!S;C(A),_.current&&_.current.toggleAutoRotate(A)},title:S?h("heatmap.3d.modal.control.pause"):h("heatmap.3d.modal.control.play"),className:`p-1.5 rounded-full transition-all duration-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 ${S?I.accentText:"text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-250"}`,children:S?o.jsx(Nl,{size:12}):o.jsx(Sl,{size:12})}),o.jsx("button",{type:"button",onClick:()=>{C(!1),_.current&&_.current.reset()},title:h("heatmap.3d.modal.control.reset"),className:"p-1.5 rounded-full text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-250 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-all duration-200",children:o.jsx(Cl,{size:12})})]})]}),o.jsx(pr,{weeks:H,isDark:i,interactive:!0,palette:O,autoRotateInit:S,onResetViewRef:_}),o.jsxs("div",{className:"absolute bottom-4 right-4 flex items-center gap-1.5 text-[9px] font-bold text-oai-gray-400 bg-white/80 dark:bg-oai-gray-900/80 border border-oai-gray-200/50 dark:border-oai-gray-800/80 rounded-md px-2.5 py-1.5 select-none pointer-events-none backdrop-blur-md shadow-sm",children:[o.jsx(ja,{size:10,className:I.accentText}),o.jsx("span",{children:h("heatmap.3d.modal.footer.tip")})]})]})]})}),d&&!b&&o.jsxs("div",{onMouseEnter:ie,onMouseLeave:$,className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out",style:{left:`${y.x}px`,top:`${y.y}px`},children:[o.jsxs("div",{className:"absolute left-0 bottom-[10px] backdrop-blur-md bg-white/95 dark:bg-oai-gray-900/95 border border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-xl rounded-xl p-3.5 max-w-[280px] min-w-[200px] flex flex-col gap-2 animate-in fade-in zoom-in-95 duration-100",style:{transform:`translateX(calc(-50% + ${y.shiftX}px))`},children:[o.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[o.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:d.day}),(()=>{const A=d.level===0?i?"#9ca3af":"#6b7280":c[d.level];return o.jsxs("span",{className:"text-[10px] px-2 py-0.5 rounded-full font-medium",style:{backgroundColor:A+"22",color:A,border:`1px solid ${A}44`},children:["Level ",d.level]})})()]}),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-baseline gap-1",children:[o.jsx("span",{className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:Number(d.total_tokens??d.value).toLocaleString()}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),d.models&&Object.keys(d.models).length>0?o.jsxs("div",{className:"mt-1.5 border-t border-oai-gray-100 dark:border-oai-gray-800/60 pt-2 flex flex-col gap-1.5",children:[o.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:"Model Breakdown"}),o.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:Object.entries(d.models).map(([A,J])=>({name:A,val:Number(J)})).sort((A,J)=>J.val-A.val).map(({name:A,val:J})=>{const le=Number(d.total_tokens??d.value)||1,ue=Math.round(J/le*100);return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[o.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[120px]",title:A,children:A}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.jsx("span",{className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:J.toLocaleString()}),o.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[ue,"%"]})]})]}),o.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:o.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${ue}%`,backgroundColor:c[4],boxShadow:`0 0 4px ${c[4]}55`}})})]},A)})})]}):o.jsx("p",{className:"text-[11px] text-oai-gray-600 dark:text-oai-gray-300 leading-relaxed font-normal mt-1 border-t border-dashed border-oai-gray-100 dark:border-oai-gray-800/60 pt-1.5",children:vo(d.level,d.total_tokens??d.value)})]})]}),o.jsx("div",{className:"absolute bottom-[6px] left-0 -translate-x-1/2 w-2.5 h-2.5 rotate-45 bg-white dark:bg-oai-gray-900 border-r border-b border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-sm",style:{marginBottom:"1px"}})]}),o.jsx("style",{children:`
|
|
1
|
+
import{c as Kt,i as Oi,f as no,a as ao,J as Ei,u as ro,m as Fi,r as f,M as oo,b as Wi,d as Pi,e as Un,g as Ii,h as It,j as Xt,k as Pt,l as Li,n as ga,o as wn,p as va,q as Tn,s as $i,t as Ri,v as Bi,w as _a,x as qt,y as qn,z as Yi,A as He,B as h,C as o,D as so,E as dn,X as io,F as Ue,L as zi,G as Re,R,H as An,I as lo,K as Mn,N as Hi,O as co,P as uo,Q as Na,S as Ui,T as fo,_ as mo,U as ya,V as qi,W as Gi,Y as Vi,Z as Ki,$ as Xi,a0 as Qi,a1 as Ji,a2 as Zi,a3 as el,a4 as tl,a5 as ut,a6 as dr}from"./main-Ch22JpOj.js";import{u as nl}from"./use-usage-limits-BDH7ZuiN.js";import{u as un}from"./useCurrency-9qQotA-7.js";import{I as ja}from"./info-8F30IXmF.js";import{u as al,a as rl,b as ol,c as sl,d as il,D as ll,e as cl,f as dl,g as ul,h as fl,i as ml,C as hl,P as gl,j as yl,k as pl,l as xl,m as bl,L as kl}from"./PopoverPopup-CdYV60oX.js";import{C as Sa}from"./Card-Bm2ZOfFA.js";import{u as Ma}from"./use-reduced-motion-lvUJO2cx.js";import{P as ho}from"./ProviderIcon-CyeZHlvD.js";import{F as Yt}from"./FadeIn-BGmXw8rD.js";const wl=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],vl=Kt("maximize-2",wl);const _l=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],Nl=Kt("pause",_l);const jl=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],Sl=Kt("play",jl);const Ml=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Cl=Kt("rotate-ccw",Ml);const Dl=[["path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6",key:"y09zxi"}],["path",{d:"m21 3-9 9",key:"mpx6sq"}],["path",{d:"M15 3h6v6",key:"1q9fwt"}]],Tl=Kt("square-arrow-out-up-right",Dl);const Al=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],Ol=Kt("terminal",Al);function El(...e){const t=!Array.isArray(e[0]),n=t?0:-1,a=e[0+n],r=e[1+n],s=e[2+n],l=e[3+n],i=Oi(r,s,l);return t?i(a):i}function Fl(e,t,n={}){const a=e.get();let r=null,s=a,l;const i=typeof a=="string"?a.replace(/[\d.-]/g,""):void 0,c=()=>{r&&(r.stop(),r=null),e.animation=void 0},u=()=>{const d=ur(e.get()),g=ur(s);if(d===g){c();return}const y=r?r.getGeneratorVelocity():e.getVelocity();c(),r=new Ei({keyframes:[d,g],velocity:y,type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:l})},m=()=>{u(),e.animation=r??void 0,e.events.animationStart?.notify(),r?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((d,g)=>{s=d,l=y=>g(Gn(y,i)),no.postRender(m)},c),ao(t)){let d=n.skipInitialAnimation===!0;const g=t.on("change",x=>{d?(d=!1,e.jump(Gn(x,i),!1)):e.set(Gn(x,i))}),y=e.on("destroy",g);return()=>{g(),y()}}return c}function Gn(e,t){return t?e+t:e}function ur(e){return typeof e=="number"?e:parseFloat(e)}function Ca(e){const t=ro(()=>Fi(e)),{isStatic:n}=f.useContext(oo);if(n){const[,a]=f.useState(e);f.useEffect(()=>t.on("change",a),[])}return t}function go(e,t){const n=Ca(t()),a=()=>n.set(t());return a(),Wi(()=>{const r=()=>no.preRender(a,!1,!0),s=e.map(l=>l.on("change",r));return()=>{s.forEach(l=>l()),Pi(a)}}),n}function Wl(e){Un.current=[],e();const t=go(Un.current,e);return Un.current=void 0,t}function yo(e,t,n,a){if(typeof e=="function")return Wl(e);const s=typeof t=="function"?t:El(t,n,a),l=Array.isArray(e)?fr(e,s):fr([e],([c])=>s(c)),i=Array.isArray(e)?void 0:e.accelerate;return i&&!i.isTransformed&&typeof t!="function"&&Array.isArray(n)&&a?.clamp!==!1&&(l.accelerate={...i,times:t,keyframes:n,isTransformed:!0}),l}function fr(e,t){const n=ro(()=>[]);return go(e,()=>{n.length=0;const a=e.length;for(let r=0;r<a;r++)n[r]=e[r].get();return t(n)})}function Pl(e,t={}){const{isStatic:n}=f.useContext(oo),a=()=>ao(e)?e.get():e;if(n)return yo(a);const r=Ca(a());return f.useInsertionEffect(()=>Fl(r,e,t),[r,JSON.stringify(t)]),r}function Il(e,t={}){return Pl(e,{type:"spring",...t})}function Ll({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:a=52,weekStartsOn:r="sun",cacheKey:s,timeZone:l,tzOffsetMinutes:i,now:c}={}){const u=f.useMemo(()=>Ii({weeks:a,weekStartsOn:r,now:c}),[c,a,r]),[m,d]=f.useState([]),[g,y]=f.useState(null),[x,p]=f.useState("edge"),[b,k]=f.useState(!1),[w,v]=f.useState(null),S=It(),C=Xt(t),_=!n,O=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=f.useMemo(()=>{if(!s)return null;const B=Tn({timeZone:l,offsetMinutes:i});return`tokentracker.heatmap.${s}.${a}.${r}.${B}`},[s,l,i,a,r]),W=f.useCallback(()=>{if(!N||typeof window>"u")return null;try{const B=window.localStorage.getItem(N);if(!B)return null;const T=JSON.parse(B);return!T||!T.heatmap?null:T}catch{return null}},[N]),E=f.useCallback(B=>{if(!(!N||typeof window>"u"))try{window.localStorage.setItem(N,JSON.stringify(B))}catch{}},[N]),F=f.useCallback(()=>{if(!(!N||typeof window>"u"))try{window.localStorage.removeItem(N)}catch{}},[N]),ie=f.useCallback(async()=>{const B=await Pt(t);if(!(!B&&!S&&!O)){k(!0),v(null);try{try{const I=await Li({baseUrl:e,accessToken:B,weeks:a,to:u.to,weekStartsOn:r,timeZone:l,tzOffsetMinutes:i}),P=Array.isArray(I?.weeks)?I.weeks:[];if(!P.length&&_){const Q=W();if(Q?.heatmap){y(Q.heatmap),d(Q.daily||[]),p("cache");return}}if(!P.some(Q=>(Array.isArray(Q)?Q:[]).some(fe=>fe&&Number.isFinite(Number(fe.level))))&&P.length){const Q=[];for(const Y of P)for(const H of Array.isArray(Y)?Y:[])H?.day&&Q.push({day:H.day,total_tokens:H.total_tokens??H.value??0,billable_total_tokens:H.billable_total_tokens??H.value??H.total_tokens??0});const fe=ga({dailyRows:Q,weeks:a,to:I?.to||u.to,weekStartsOn:r});d(Q),y({...fe,week_starts_on:r,active_days:Q.filter(Y=>Number(Y?.billable_total_tokens??Y?.total_tokens)>0).length,streak_days:wn({dailyRows:Q,to:I?.to||u.to})}),p("client"),_?E({heatmap:{...fe,week_starts_on:r,active_days:Q.filter(Y=>Number(Y?.billable_total_tokens??Y?.total_tokens)>0).length,streak_days:wn({dailyRows:Q,to:I?.to||u.to})},daily:Q,fetchedAt:new Date().toISOString()}):F();return}y(I||null),d([]),p("edge"),I&&_?E({heatmap:I,daily:[],fetchedAt:new Date().toISOString()}):_||F();return}catch(I){const P=I,z=P?.status??P?.statusCode;if(z===401||z===403)throw I}const T=await va({baseUrl:e,accessToken:B,from:u.from,to:u.to,timeZone:l,tzOffsetMinutes:i}),M=Array.isArray(T?.data)?T.data:[];d(M);const U=ga({dailyRows:M,weeks:a,to:u.to,weekStartsOn:r});y({...U,week_starts_on:r,active_days:M.filter(I=>Number(I?.billable_total_tokens??I?.total_tokens)>0).length,streak_days:wn({dailyRows:M,to:u.to})}),p("client"),_?E({heatmap:{...U,week_starts_on:r,active_days:M.filter(I=>Number(I?.billable_total_tokens??I?.total_tokens)>0).length,streak_days:wn({dailyRows:M,to:u.to})},daily:M,fetchedAt:new Date().toISOString()}):F()}catch(T){if(_){const M=W();if(M?.heatmap)y(M.heatmap),d(M.daily||[]),p("cache"),v(null);else{const U=T;v(U?.message||String(U)),d([]),y(null),p("edge")}}else{const M=T;v(M?.message||String(M)),d([]),y(null),p("edge")}}finally{k(!1)}}},[t,e,S,n,_,u.from,u.to,W,C,l,i,r,a,F,E,O]);return f.useEffect(()=>{if(!C&&!n&&!S&&!O){d([]),k(!1),v(null),y(null),p("edge");return}if(!_)F(),d([]),v(null),y(null),p("edge");else{const B=W();B?.heatmap&&(y(B.heatmap),d(B.daily||[]),p("cache"))}ie()},[t,S,W,ie,C,n,_,F,O]),{range:u,daily:m,heatmap:g,source:S?"mock":x==="client"?"edge":x,loading:b,error:w,refresh:ie}}function $l({baseUrl:e,accessToken:t,limit:n=3,from:a,to:r,source:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,u]=f.useState([]),[m,d]=f.useState(!1),[g,y]=f.useState(null),x=It(),p=Xt(t),b=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),k=f.useCallback(async()=>{const w=await Pt(t);if(!w&&!x&&!b){u([]),y(null),d(!1);return}d(!0),y(null);try{const v=await $i({baseUrl:e,accessToken:w,limit:n,from:a,to:r,source:s,timeZone:l,tzOffsetMinutes:i});u(Array.isArray(v?.entries)?v.entries:[])}catch(v){const S=v?.message||String(v);y(S),u([])}finally{d(!1)}},[t,e,a,n,x,s,l,r,i,b]);return f.useEffect(()=>{if(!p&&!x&&!b){u([]),y(null),d(!1);return}k()},[x,k,p,b]),{entries:c,loading:m,error:g,refresh:k}}const Rl=24;function Bl({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:a,from:r,to:s,months:l=Rl,cacheKey:i,timeZone:c,tzOffsetMinutes:u,now:m,sharedRows:d,sharedRange:g}={}){const[y,x]=f.useState([]),[p,b]=f.useState(()=>({from:r,to:s})),[k,w]=f.useState("edge"),[v,S]=f.useState(null),[C,_]=f.useState(!1),[O,N]=f.useState(null),W=It(),E=Xt(t),F=!n,ie=Array.isArray(d),$=g?.from||r,B=g?.to||s,T=f.useMemo(()=>a==="day"?"hourly":a==="total"?"monthly":"daily",[a]),M=(()=>{if(!i)return null;const Y=Yl(e)||"default",H=Tn({timeZone:c,offsetMinutes:u});if(T==="hourly")return`tokentracker.trend.${i}.${Y}.hourly.${s||r||"day"}.${H}`;if(T==="monthly")return`tokentracker.trend.${i}.${Y}.monthly.${l}.${s||"today"}.${H}`;const te=`${r||""}.${s||""}`;return`tokentracker.trend.${i}.${Y}.daily.${te}.${H}`})(),U=f.useCallback(()=>{if(!M||typeof window>"u")return null;try{const Y=window.localStorage.getItem(M);if(!Y)return null;const H=JSON.parse(Y);return!H||!Array.isArray(H.rows)?null:H}catch{return null}},[M]),I=f.useCallback(Y=>{if(!(!M||typeof window>"u"))try{window.localStorage.setItem(M,JSON.stringify(Y))}catch{}},[M]),P=f.useCallback(()=>{if(!(!M||typeof window>"u"))try{window.localStorage.removeItem(M)}catch{}},[M]),z=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Q=f.useCallback(async()=>{if(ie){x(Array.isArray(d)?d:[]),b({from:$,to:B}),w("shared"),S(null),_(!1),N(null);return}const Y=await Pt(t);if(!(!Y&&!W&&!z)){_(!0),N(null);try{let H;T==="hourly"?H=await Ri({baseUrl:e,accessToken:Y,day:s||r,timeZone:c,tzOffsetMinutes:u}):T==="monthly"?H=await Bi({baseUrl:e,accessToken:Y,months:l,to:s,timeZone:c,tzOffsetMinutes:u}):H=await va({baseUrl:e,accessToken:Y,from:r,to:s,timeZone:c,tzOffsetMinutes:u});const te=H?.from||r||H?.day||null,he=H?.to||s||H?.day||null;let ve=Array.isArray(H?.data)?H.data:[];T==="daily"?ve=Kn(ve,te||r,he||s,{timeZone:c,offsetMinutes:u,now:m}):T==="hourly"?ve=Xn(ve,{timeZone:c,offsetMinutes:u,now:m}):T==="monthly"&&(ve=Qn(ve,{timeZone:c,offsetMinutes:u,now:m}));const Be=new Date().toISOString();x(ve),b({from:te,to:he}),w("edge"),S(Be),F?I({rows:ve,from:te,to:he,mode:T,fetchedAt:Be}):P()}catch(H){if(F){const te=U();if(te?.rows){let he=T==="daily"?Kn(te.rows||[],te.from||r,te.to||s,{timeZone:c,offsetMinutes:u,now:m}):Array.isArray(te.rows)?te.rows:[];T==="hourly"?he=Xn(he,{timeZone:c,offsetMinutes:u,now:m}):T==="monthly"&&(he=Qn(he,{timeZone:c,offsetMinutes:u,now:m})),x(he),b({from:te.from||r,to:te.to||s}),w("cache"),S(te.fetchedAt||null),N(null)}else{x([]),b({from:r,to:s}),w("edge"),S(null);const he=H;N(he?.message||String(he))}}else{x([]),b({from:r,to:s}),w("edge"),S(null);const te=H;N(te?.message||String(te))}}finally{_(!1)}}},[t,e,r,W,n,F,T,l,U,E,ie,$,d,B,c,s,u,m,P,I,z]);f.useEffect(()=>{if(ie){x(Array.isArray(d)?d:[]),b({from:$,to:B}),w("shared"),S(null),_(!1),N(null);return}if(!E&&!n&&!W&&!z){x([]),b({from:r,to:s}),N(null),_(!1),w("edge"),S(null);return}if(!F)P(),x([]),b({from:r,to:s}),N(null),w("edge"),S(null);else{const Y=U();if(Y?.rows){let H=T==="daily"?Kn(Y.rows||[],Y.from||r,Y.to||s,{timeZone:c,offsetMinutes:u,now:m}):Array.isArray(Y.rows)?Y.rows:[];T==="hourly"?H=Xn(H,{timeZone:c,offsetMinutes:u,now:m}):T==="monthly"&&(H=Qn(H,{timeZone:c,offsetMinutes:u,now:m})),x(H),b({from:Y.from||r,to:Y.to||s}),w("cache"),S(Y.fetchedAt||null)}}Q()},[t,W,U,Q,ie,$,d,B,E,n,F,P,z]);const fe=W?"mock":k;return{rows:y,from:p.from||r,to:p.to||s,source:fe,fetchedAt:v,loading:C,error:O,refresh:Q}}function Yl(e){try{return new URL(e).host}catch{return null}}function Vn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const a=Number(n[0]),r=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r,s));return Number.isFinite(l.getTime())&&qt(l)===t?l:null}function zl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Kn(e,t,n,{timeZone:a,offsetMinutes:r,now:s}={}){const l=Vn(t),i=Vn(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,u=_a({timeZone:a,offsetMinutes:r,date:c}),m=Vn(u),d=m?m.getTime():c.getTime(),g=new Map;for(const x of e||[])x?.day&&g.set(x.day,x);const y=[];for(let x=l;x<=i;x=zl(x,1)){const p=qt(x),b=g.get(p),k=x.getTime()>d;if(b){y.push({...b,missing:!1,future:k});continue}y.push({day:p,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!k,future:k})}return y}function Xn(e,{timeZone:t,offsetMinutes:n,now:a}={}){if(!Array.isArray(e))return[];const r=po({timeZone:t,offsetMinutes:n,now:a});return r?e.map(s=>{const l=s?.hour||s?.label||"",i=Hl(l);if(!i)return{...s,future:!1};const c=i.dayNum>r.dayNum||i.dayNum===r.dayNum&&i.slot>r.slot;return{...s,future:c}}):e}function Qn(e,{timeZone:t,offsetMinutes:n,now:a}={}){if(!Array.isArray(e))return[];const r=po({timeZone:t,offsetMinutes:n,now:a});return r?e.map(s=>{const l=s?.month||s?.label||"",i=Ul(l);if(!i)return{...s,future:!1};const c=i.year>r.year||i.year===r.year&&i.month>r.month;return{...s,future:c}}):e}function po({timeZone:e,offsetMinutes:t,now:n}={}){const a=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const g=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(a).reduce((w,v)=>(v.type&&v.value&&(w[v.type]=v.value),w),{}),y=Number(g.year),x=Number(g.month),p=Number(g.day),b=Number(g.hour),k=Number(g.minute);if(Number.isFinite(y)&&Number.isFinite(x)&&Number.isFinite(p)&&Number.isFinite(b)&&Number.isFinite(k)){const w=b*2+(k>=30?1:0);return{year:y,month:x,day:p,hour:b,minute:k,dayNum:y*1e4+x*100+p,slot:w}}}catch{}if(Number.isFinite(t)){const m=new Date(a.getTime()+t*60*1e3),d=m.getUTCFullYear(),g=m.getUTCMonth()+1,y=m.getUTCDate(),x=m.getUTCHours(),p=m.getUTCMinutes(),b=x*2+(p>=30?1:0);return{year:d,month:g,day:y,hour:x,minute:p,dayNum:d*1e4+g*100+y,slot:b}}const r=a.getFullYear(),s=a.getMonth()+1,l=a.getDate(),i=a.getHours(),c=a.getMinutes(),u=i*2+(c>=30?1:0);return{year:r,month:s,day:l,hour:i,minute:c,dayNum:r*1e4+s*100+l,slot:u}}function Hl(e){if(!e)return null;const t=String(e).trim(),[n,a]=t.split("T");if(!n||!a)return null;const r=n.split("-");if(r.length!==3)return null;const s=Number(r[0]),l=Number(r[1]),i=Number(r[2]);if(!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(i))return null;const c=a.split(":"),u=Number(c[0]),m=Number(c[1]);if(!Number.isFinite(u)||u<0||u>23||!Number.isFinite(m)||m<0||m>59)return null;const d=u*2+(m>=30?1:0);return{dayNum:s*1e4+l*100+i,slot:d}}function Ul(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const a=Number(n[0]),r=Number(n[1]);return!Number.isFinite(a)||!Number.isFinite(r)||r<1||r>12?null:{year:a,month:r}}function mr({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:a,to:r,includeDaily:s=!0,cacheKey:l,timeZone:i,tzOffsetMinutes:c,now:u}={}){const[m,d]=f.useState([]),[g,y]=f.useState(null),[x,p]=f.useState(null),[b,k]=f.useState("edge"),[w,v]=f.useState(null),[S,C]=f.useState(!1),[_,O]=f.useState(null),N=It(),W=Xt(t),E=!n,F=(()=>{if(!l)return null;const I=ql(e)||"default",P=s?"daily":"summary",z=Tn({timeZone:i,offsetMinutes:c});return`tokentracker.usage.${l}.${I}.${a}.${r}.${P}.${z}`})(),ie=f.useCallback(()=>{if(!F||typeof window>"u")return null;try{const I=window.localStorage.getItem(F);if(!I)return null;const P=JSON.parse(I);return!P||!P.summary?null:P}catch{return null}},[F]),$=f.useCallback(I=>{if(!(!F||typeof window>"u"))try{window.localStorage.setItem(F,JSON.stringify(I))}catch{}},[F]),B=f.useCallback(()=>{if(!(!F||typeof window>"u"))try{window.localStorage.removeItem(F)}catch{}},[F]),T=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),M=f.useCallback(async()=>{const I=await Pt(t);if(!(!I&&!N&&!T)){C(!0),O(null);try{let P=null,z=null;if(s){const[te,he]=await Promise.allSettled([va({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c}),qn({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0})]);if(te.status==="rejected")throw te.reason;P=te.value,z=he.status==="fulfilled"?he.value:null}else z=await qn({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0});let Q=s&&Array.isArray(P?.data)?P.data:[];s&&(Q=Zn(Q,a,r,{timeZone:i,offsetMinutes:c,now:u}));let fe=z?.totals||P?.summary?.totals||null,Y=z?.rolling||P?.summary?.rolling||null;if(s&&!fe&&!z)try{const te=await qn({baseUrl:e,accessToken:I,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0});fe=te?.totals||null,Y=te?.rolling||Y}catch{}const H=new Date().toISOString();d(Q),y(fe),p(Y),k("edge"),v(H),fe&&E?$({summary:fe,rolling:Y,daily:Q,from:a,to:r,includeDaily:s,fetchedAt:H}):E||B()}catch(P){if(E){const z=ie();if(z?.summary){y(z.summary),p(z.rolling||null);const Q=Array.isArray(z.daily)?z.daily:[],fe=s?Zn(Q,z.from||a,z.to||r,{timeZone:i,offsetMinutes:c,now:u}):Q;d(fe),k("cache"),v(z.fetchedAt||null),O(null)}else{const Q=P;O(Q?.message||String(Q)),d([]),y(null),p(null),k("edge"),v(null)}}else{const z=P;O(z?.message||String(z)),d([]),y(null),p(null),k("edge"),v(null)}}finally{C(!1)}}},[t,e,a,s,N,n,E,u,ie,W,i,r,c,B,$,T]);return f.useEffect(()=>{const I=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!W&&!n&&!N&&!I){d([]),y(null),p(null),O(null),C(!1),k("edge"),v(null);return}if(!E)B(),d([]),y(null),p(null),O(null),k("edge"),v(null);else{const P=ie();if(P?.summary){y(P.summary),p(P.rolling||null);const z=Array.isArray(P.daily)?P.daily:[],Q=s?Zn(z,P.from||a,P.to||r,{timeZone:i,offsetMinutes:c,now:u}):z;d(Q),k("cache"),v(P.fetchedAt||null)}}M()},[t,N,ie,M,W,n,E,B,T]),{daily:m,summary:g,rolling:x,source:N?"mock":b,fetchedAt:w,loading:S,error:_,refresh:M}}function ql(e){try{return new URL(e).host}catch{return null}}function Jn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const a=Number(n[0]),r=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r,s));return Number.isFinite(l.getTime())&&qt(l)===t?l:null}function Gl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Zn(e,t,n,{timeZone:a,offsetMinutes:r,now:s}={}){const l=Jn(t),i=Jn(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,u=_a({timeZone:a,offsetMinutes:r,date:c}),m=Jn(u),d=m?m.getTime():c.getTime(),g=new Map;for(const x of e||[])x?.day&&g.set(x.day,x);const y=[];for(let x=l;x<=i;x=Gl(x,1)){const p=qt(x),b=g.get(p),k=x.getTime()>d;if(b){y.push({...b,missing:!1,future:k});continue}y.push({day:p,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!k,future:k})}return y}function Vl({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:a,to:r,cacheKey:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,u]=f.useState(null),[m,d]=f.useState("edge"),[g,y]=f.useState(!1),[x,p]=f.useState(null),b=It(),k=Xt(t),w=!n,v=f.useMemo(()=>{if(!s)return null;const E=Kl(e)||"default",F=Tn({timeZone:l,offsetMinutes:i});return`tokentracker.modelBreakdown.${s}.${E}.${a}.${r}.${F}`},[e,s,a,l,r,i]),S=f.useCallback(()=>{if(!v||typeof window>"u")return null;try{const E=window.localStorage.getItem(v);if(!E)return null;const F=JSON.parse(E);return!F||!F.breakdown?null:F}catch{return null}},[v]),C=f.useCallback(E=>{if(!(!v||typeof window>"u"))try{window.localStorage.setItem(v,JSON.stringify(E))}catch{}},[v]),_=f.useCallback(()=>{if(!(!v||typeof window>"u"))try{window.localStorage.removeItem(v)}catch{}},[v]),O=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=f.useCallback(async()=>{const E=await Pt(t);if(!(!E&&!b&&!O)){y(!0),p(null);try{const F=await Yi({baseUrl:e,accessToken:E,from:a,to:r,timeZone:l,tzOffsetMinutes:i});u(F||null),d("edge"),F&&w?C({breakdown:F,fetchedAt:new Date().toISOString()}):w||_()}catch(F){if(w){const ie=S();if(ie?.breakdown)u(ie.breakdown),d("cache"),p(null);else{u(null),d("edge");const $=F;p($?.message||String($))}}else{u(null),d("edge");const ie=F;p(ie?.message||String(ie))}}finally{y(!1)}}},[t,e,a,b,n,w,S,l,r,k,i,_,C,O]);return f.useEffect(()=>{if(!k&&!n&&!b&&!O){u(null),d("edge"),p(null),y(!1);return}if(!w)_(),u(null),d("edge"),p(null);else{const E=S();E?.breakdown&&(u(E.breakdown),d("cache"))}N()},[t,b,S,N,k,n,w,_,O]),{breakdown:c,source:b?"mock":m,loading:g,error:x,refresh:N}}function Kl(e){try{return new URL(e).host}catch{return null}}const xo=new Set(["day","hour","month"]);function Xl(e){return xo.has(e)}function hr(e){if(e==null)return null;const t=String(e).trim();if(!/^[0-9]+$/.test(t))return null;const n=t.replace(/^0+/,"");return n.length===0?"0":n}function Ql(e,t){const n=hr(e),a=hr(t);if(n&&a)return n.length!==a.length?n.length<a.length?-1:1:n===a?0:n<a?-1:1;const r=He(e),s=He(t);return r==null&&s==null?0:r==null?1:s==null?-1:r===s?0:r<s?-1:1}function Jl(e,t){const n=typeof e=="string"?e:String(e||""),a=typeof t=="string"?t:String(t||"");return n===a?0:n<a?-1:1}function Zl(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]),s=Number(n[3]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r-1,s));return!Number.isFinite(l.getTime())||l.getUTCFullYear()!==a||l.getUTCMonth()+1!==r||l.getUTCDate()!==s?null:l.getTime()}function ec(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||r<1||r>12)return null;const s=new Date(Date.UTC(a,r-1,1));return Number.isFinite(s.getTime())?s.getTime():null}function tc(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?Z?$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]),s=Number(n[3]),l=Number(n[4]),i=Number(n[5]),c=Number(n[6]||0);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(i)||!Number.isFinite(c)||r<1||r>12||s<1||s>31||l<0||l>23||i<0||i>59||c<0||c>59)return null;const u=new Date(Date.UTC(a,r-1,s,l,i,c));return Number.isFinite(u.getTime())?u.getTime():null}function nc(e,t,n){const a=n==="hour"?tc:n==="month"?ec:Zl,r=a(e),s=a(t);return r!=null&&s!=null?r===s?0:r<s?-1:1:Jl(e,t)}function bo(e,{key:t,dir:n}){const a=n==="asc"?1:-1,r=Array.isArray(e)?e:[],s=xo.has(t)?(i,c)=>nc(i,c,t):Ql,l=i=>t==="total_tokens"&&i?.billable_total_tokens!=null?i.billable_total_tokens:i?.[t];return r.map((i,c)=>({row:i,index:c})).sort((i,c)=>{const u=l(i.row),m=l(c.row),d=u==null,g=m==null;if(d&&g)return i.index-c.index;if(d)return 1;if(g)return-1;const y=s(u,m);return y!==0?y*a:i.index-c.index}).map(i=>i.row)}function ac(){return[{key:"day",label:h("daily.sort.date.label"),title:h("daily.sort.date.title")},{key:"total_tokens",label:h("daily.sort.total.label"),title:h("daily.sort.total.title")},{key:"input_tokens",label:h("daily.sort.input.label"),title:h("daily.sort.input.title")},{key:"output_tokens",label:h("daily.sort.output.label"),title:h("daily.sort.output.title")},{key:"cached_input_tokens",label:h("daily.sort.cached.label"),title:h("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:h("daily.sort.reasoning.label"),title:h("daily.sort.reasoning.title")},{key:"conversation_count",label:h("daily.sort.conversations.label"),title:h("daily.sort.conversations.title")}]}function gr(e){const t=Xl(e)?e:"day";return ac().map((n,a)=>a===0?{...n,key:t}:n)}function yr(e,{key:t,dir:n}){return bo(e,{key:t,dir:n})}const Cn=12,rc=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens"];function oc(e){if(typeof e=="bigint")return e!==0n;if(typeof e=="number")return Number.isFinite(e)&&e!==0;if(e==null)return!1;const t=String(e).trim();if(!t||!/^-?\d+$/.test(t))return!1;const n=t.startsWith("-")?t.slice(1):t;return/[1-9]/.test(n)}function sc(e){return rc.some(t=>oc(e?.[t]))}function ic(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=bo(t,{key:"month",dir:"asc"}),a=n.findIndex(r=>r?.month&&sc(r));return a===-1?t:n.slice(a)}function lc(e,t,n=Cn){const a=Array.isArray(e)?e:[],r=Number.isFinite(n)&&n>0?n:Cn,l=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*r;return a.slice(l,l+r)}function cc({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:a,heatmapLoading:r,activeDays:s,hasActiveDeviceToken:l}={}){return e||t?!1:n?!0:a&&!r&&s===0&&!l}function ko(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function dc(e){const t=ko(e?.model_id);return t||null}function wo(e,t){return e?.model?String(e.model):t}function Gt(e,t=0){const n=He(e?.billable_total_tokens),a=He(e?.total_tokens);return n!=null&&n>0?n:a!=null&&a>0?a:n??a??t}function uc(e,{copyFn:t}={}){const n=typeof t=="function"?t:l=>l,r=(Array.isArray(e?.sources)?e.sources:[]).map(l=>{const i=Gt(l?.totals),c=He(l?.totals?.total_cost_usd)??0;return{source:l?.source,totalTokens:Number.isFinite(i)?i:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(l?.models)?l.models:[]}}).filter(l=>l.totalTokens>0);if(!r.length)return[];const s=r.reduce((l,i)=>l+i.totalTokens,0);return typeof e?.pricing?.pricing_mode=="string"&&e.pricing.pricing_mode.toUpperCase(),r.slice().sort((l,i)=>i.totalTokens-l.totalTokens).map(l=>{const i=l.source?String(l.source).toUpperCase():n("shared.placeholder.short"),c=s>0?l.totalTokens/s*100:0,u=Number.isFinite(c)?c.toFixed(1):"0.0",m=l.models.map(d=>{const g=Gt(d?.totals);if(!Number.isFinite(g)||g<=0)return null;const y=l.totalTokens>0?Math.round(g/l.totalTokens*1e3)/10:0,x=wo(d,n("shared.placeholder.short")),p=dc(d),b=He(d?.totals?.total_cost_usd),k=b??(l.totalCost>0&&l.totalTokens>0?g/l.totalTokens*l.totalCost:null);return{id:p,name:x,share:y,usage:g,cost:k}}).filter(Boolean);return{source:l.source,label:i,totalPercent:String(u),usd:l.totalCost,usage:l.totalTokens,models:m}})}function fc(e,{limit:t=3,copyFn:n}={}){const a=typeof n=="function"?n:g=>g,r=Array.isArray(e?.sources)?e.sources:[];if(!r.length)return[];const s=new Map,l=new Map,i=new Map;let c=0;for(const g of r){const y=Array.isArray(g?.models)?g.models:[];for(const x of y){const p=Gt(x?.totals);if(!Number.isFinite(p)||p<=0)continue;c+=p;const b=wo(x,a("shared.placeholder.short")),k=ko(b);if(!k)continue;s.set(k,(s.get(k)||0)+p);const w=i.get(k)||0;p>=w&&(i.set(k,p),l.set(k,b))}}if(!s.size)return[];const u=Array.from(s.values()).reduce((g,y)=>g+y,0),m=c>0?c:u,d=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(s.entries()).map(([g,y])=>{const x=m>0?(y/m*100).toFixed(1):"0.0";return{id:g,name:l.get(g)||a("shared.placeholder.short"),tokens:y,percent:String(x)}}).sort((g,y)=>y.tokens!==g.tokens?y.tokens-g.tokens:String(g.name).localeCompare(String(y.name))).slice(0,d)}const mt={emerald:{light:["#ebedf0","#a7f3d0","#6ee7b7","#34d399","#10b981"],dark:["#2d333b","#065f46","#059669","#10b981","#34d399"],gridColor:{light:"rgba(16, 185, 129, 0.12)",dark:"rgba(52, 211, 153, 0.08)"}},ocean:{light:["#f1f5f9","#93c5fd","#60a5fa","#3b82f6","#1d4ed8"],dark:["#1e293b","#1e3a8a","#2563eb","#3b82f6","#60a5fa"],gridColor:{light:"rgba(59, 130, 246, 0.12)",dark:"rgba(96, 165, 250, 0.08)"}},neon:{light:["#faf5ff","#ebd5ff","#c084fc","#a855f7","#7e22ce"],dark:["#2e1065","#581c87","#8b5cf6","#a855f7","#c084fc"],gridColor:{light:"rgba(168, 85, 247, 0.12)",dark:"rgba(192, 132, 252, 0.08)"}},amber:{light:["#fffbeb","#fde68a","#f59e0b","#d97706","#b45309"],dark:["#451a03","#78350f","#b45309","#d97706","#f59e0b"],gridColor:{light:"rgba(245, 158, 11, 0.12)",dark:"rgba(245, 158, 11, 0.08)"}}};function mc(e,t){const n=/^#([0-9a-f]{6})$/i.exec(e);if(!n)return e;const a=parseInt(n[1],16),r=a>>16&255,s=a>>8&255,l=a&255,i=c=>Math.max(0,Math.min(255,Math.round(c*t)));return`rgb(${i(r)}, ${i(s)}, ${i(l)})`}function nt(e,t,n,a,r){const s=Math.cos(a),l=Math.sin(a),i=e*s-t*l,c=e*l+t*s,u=n,m=Math.cos(r),d=Math.sin(r),g=i,y=c*m-u*d,x=c*d+u*m;return{x:g,y,z:x}}function hc(e,t,n,a,r){return nt(e,t,n,a,r)}function vo(e,t){const n=Number(t).toLocaleString();if(e>=4){const a=Math.floor(Math.random()*3)+1;return h(`heatmap.3d.voxel.joke.${a}`,{value:n})}else return e===3?h("heatmap.3d.voxel.level3",{value:n}):e===2?h("heatmap.3d.voxel.level2",{value:n}):e===1?h("heatmap.3d.voxel.level1",{value:n}):h("heatmap.3d.voxel.level0")}function pr({weeks:e,palette:t="auto",isDark:n=!1,interactive:a=!1,autoRotateInit:r=!1,onResetViewRef:s=null}){const l=mt[t]||(t==="auto"?mt.emerald:null),i=l?n?l.dark:l.light:Array.isArray(t)?t:n?mt.emerald.dark:mt.emerald.light,c=l?n?l.gridColor.dark:l.gridColor.light:n?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)",u=-.2,m=.88,[d,g]=f.useState({yaw:u,pitch:m}),[y,x]=f.useState(r),[p,b]=f.useState(1),k=a?13:10.5,w=f.useMemo(()=>{const D=[],L=e.length;if(L===0||!a)return[];for(let K=0;K<=7;K++){const q=(K-3.5)*k,ne=nt(-L/2*k,q,0,d.yaw,d.pitch),X=nt(L/2*k,q,0,d.yaw,d.pitch);D.push({d:`M${ne.x},${ne.y} L${X.x},${X.y}`,key:`horiz-${K}`})}for(let K=0;K<=L;K+=4){const q=(K-L/2)*k,ne=nt(q,-3.5*k,0,d.yaw,d.pitch),X=nt(q,3.5*k,0,d.yaw,d.pitch);D.push({d:`M${ne.x},${ne.y} L${X.x},${X.y}`,key:`vert-${K}`})}if(L%4!==0){const K=(L-L/2)*k,q=nt(K,-3.5*k,0,d.yaw,d.pitch),ne=nt(K,3.5*k,0,d.yaw,d.pitch);D.push({d:`M${q.x},${q.y} L${ne.x},${ne.y}`,key:"vert-last"})}return D},[e.length,d,k,a]);f.useEffect(()=>{s&&(s.current={reset:()=>{g({yaw:u,pitch:m}),x(!1),b(1),T()},toggleAutoRotate:D=>{x(D)}})},[s]);const v=f.useRef(null),S=f.useRef(null),C=f.useRef(!1),_=f.useRef({x:0,y:0}),O=f.useRef({yaw:u,pitch:m}),N=f.useRef({x:0,y:0}),W=f.useRef({x:0,y:0,time:0}),E=f.useRef(null),[F,ie]=f.useState(0),$=f.useRef(null),B=f.useRef(!0);f.useEffect(()=>(B.current=!0,()=>{B.current=!1}),[]);const T=()=>{$.current&&cancelAnimationFrame($.current),ie(0);const D=performance.now(),L=1200,K=q=>{if(!B.current)return;const ne=q-D,X=Math.min(1,ne/L),pe=1-Math.pow(1-X,3);ie(pe),X<1?$.current=requestAnimationFrame(K):$.current=null};$.current=requestAnimationFrame(K)};f.useEffect(()=>(T(),()=>{$.current&&cancelAnimationFrame($.current)}),[a]),f.useEffect(()=>{if(!y||C.current||typeof window>"u"||typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches)return;let L;const K=()=>{if(typeof document<"u"&&document.visibilityState==="hidden"){L=requestAnimationFrame(K);return}g(q=>({yaw:q.yaw+.002,pitch:q.pitch})),L=requestAnimationFrame(K)};return L=requestAnimationFrame(K),()=>cancelAnimationFrame(L)},[y]);const M=(D,L)=>{a&&(C.current=!0,_.current={x:D,y:L},O.current={yaw:d.yaw,pitch:d.pitch},N.current={x:0,y:0},W.current={x:D,y:L,time:performance.now()},E.current&&cancelAnimationFrame(E.current))},U=(D,L)=>{if(!C.current)return;const K=D-_.current.x,q=L-_.current.y,ne=performance.now(),X=ne-W.current.time;X>0&&(N.current={x:(D-W.current.x)/X,y:(L-W.current.y)/X}),W.current={x:D,y:L,time:ne};const pe=.005,ge=O.current.yaw-K*pe,Se=Math.PI/2.3,Te=Math.max(-Se,Math.min(Se,O.current.pitch-q*pe));g({yaw:ge,pitch:Te})},I=()=>{if(!C.current)return;C.current=!1;let D=-N.current.x*12,L=-N.current.y*12;const K=.95,q=()=>{C.current||(D*=K,L*=K,!(Math.abs(D)<.01&&Math.abs(L)<.01)&&(g(ne=>{const X=ne.yaw+D*.005,pe=Math.PI/2.3,ge=Math.max(-pe,Math.min(pe,ne.pitch+L*.005));return{yaw:X,pitch:ge}}),E.current=requestAnimationFrame(q)))};E.current=requestAnimationFrame(q)},[P,z]=f.useState(null),[Q,fe]=f.useState({x:0,y:0,shiftX:0}),Y=f.useRef(null);f.useEffect(()=>()=>{Y.current&&clearTimeout(Y.current)},[]),f.useEffect(()=>{if(!a||!S.current)return;const D=K=>{K.preventDefault();const q=-K.deltaY*.0025;b(ne=>{const X=ne+q;return Math.max(.5,Math.min(3,X))})},L=S.current;return L.addEventListener("wheel",D,{passive:!1}),()=>{L.removeEventListener("wheel",D)}},[a]);const H=f.useMemo(()=>{const D=[];return e.forEach((L,K)=>{(Array.isArray(L)?L:[]).forEach((q,ne)=>{q&&D.push({key:q.day||`${K}-${ne}`,col:K,row:ne,level:q.level||0,value:q.value||0,day:q.day,models:q.models||null})})}),D},[e]),he=k-(a?1.8:1.5),ve=a?38:28,Be=D=>Math.max(1.8,Number(D)/4*ve),Me=f.useMemo(()=>{if(H.length===0)return[];const D=e.length;return H.map(L=>{const K=Be(L.level),q=Math.sqrt(Math.pow(L.col-D/2,2)+Math.pow(L.row-3.5,2)),ne=Math.sqrt(Math.pow(D/2,2)+Math.pow(3.5,2)),X=q/ne*.4,pe=Math.min(1,Math.max(0,(F-X)*(1/.6))),ge=K*pe,Se=(L.col-D/2)*k,Te=(L.row-3.5)*k,me=he/2,Ie=[{x:Se-me,y:Te-me,z:0},{x:Se+me,y:Te-me,z:0},{x:Se+me,y:Te+me,z:0},{x:Se-me,y:Te+me,z:0},{x:Se-me,y:Te-me,z:ge},{x:Se+me,y:Te-me,z:ge},{x:Se+me,y:Te+me,z:ge},{x:Se-me,y:Te+me,z:ge}].map(re=>nt(re.x,re.y,re.z,d.yaw,d.pitch)),Ce=nt(Se,Te,ge/2,d.yaw,d.pitch),Le=[{name:"top",indices:[4,5,6,7],scale:1,normal:[0,0,1]},{name:"bottom",indices:[3,2,1,0],scale:.4,normal:[0,0,-1]},{name:"left",indices:[3,0,4,7],scale:.55,normal:[-1,0,0]},{name:"right",indices:[1,2,6,5],scale:.75,normal:[1,0,0]},{name:"front",indices:[0,1,5,4],scale:.85,normal:[0,-1,0]},{name:"back",indices:[2,3,7,6],scale:.65,normal:[0,1,0]}],yt=i[Math.min(4,Math.max(0,Number(L.level)||0))],Je=[],pt=.35,_t=-.4,oe=.83;return Le.forEach(re=>{const G=hc(re.normal[0],re.normal[1],re.normal[2],d.yaw,d.pitch);if(G.z>.001){const de=Ie[re.indices[0]],be=Ie[re.indices[1]],ae=Ie[re.indices[2]],xt=Ie[re.indices[3]],lt=`M${de.x},${de.y} L${be.x},${be.y} L${ae.x},${ae.y} L${xt.x},${xt.y} Z`,Nt=G.x*pt+G.y*_t+G.z*oe,Ze=n?.18:0,et=re.scale*(.82+.28*Math.max(0,Nt))+Ze;Je.push({name:re.name,d:lt,fill:mc(yt,et)})}}),{...L,centerProj:Ce,renderedFaces:Je}})},[H,d,i,e.length,F,k,he,ve]),A=f.useMemo(()=>[...Me].sort((D,L)=>D.centerProj.z-L.centerProj.z),[Me]),J=f.useMemo(()=>{if(A.length===0)return{minX:-100,minY:-100,maxX:100,maxY:100};let D=1/0,L=1/0,K=-1/0,q=-1/0;return A.forEach(ne=>{const X=k*2,pe=ne.centerProj.x,ge=ne.centerProj.y;pe-X<D&&(D=pe-X),pe+X>K&&(K=pe+X),ge-X<L&&(L=ge-X),ge+X>q&&(q=ge+X)}),{minX:D,minY:L,maxX:K,maxY:q}},[A,k]),le=12,ue=J.maxX-J.minX+le*2,Oe=J.maxY-J.minY+le*2,_e=ue/p,We=Oe/p,Ne=J.minX-le+(ue-_e)/2,Pe=J.minY-le+(Oe-We)/2,ke=`${Ne} ${Pe} ${_e} ${We}`;return H.length===0?o.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:h("heatmap.empty")}):o.jsxs("div",{ref:S,className:`relative select-none outline-none ${a?"cursor-grab active:cursor-grabbing w-full h-full flex items-center justify-center":"w-full overflow-hidden flex justify-center"}`,onMouseDown:D=>{if(!a)return;M(D.clientX,D.clientY);const L=q=>U(q.clientX,q.clientY),K=()=>{I(),window.removeEventListener("mousemove",L),window.removeEventListener("mouseup",K)};window.addEventListener("mousemove",L),window.addEventListener("mouseup",K)},onTouchStart:D=>{!a||D.touches.length===0||M(D.touches[0].clientX,D.touches[0].clientY)},onTouchMove:D=>{!a||D.touches.length===0||U(D.touches[0].clientX,D.touches[0].clientY)},onTouchEnd:()=>{a&&I()},children:[o.jsxs("svg",{ref:v,viewBox:ke,width:a?"95%":"100%",height:a?"95%":"auto",role:"img","aria-label":h("heatmap.iso.aria")||"3D interactive activity heatmap",style:{display:"block",width:"100%",height:"auto",maxWidth:a?"none":`${ue}px`,maxHeight:a?"78vh":"none"},className:"transition-transform duration-300 ease-out",children:[a&&w.map(D=>o.jsx("path",{d:D.d,fill:"none",stroke:c,strokeWidth:.25,strokeDasharray:"1.5 2.5",strokeLinecap:"round"},D.key)),A.map(D=>{const L=P&&P.key===D.key;return o.jsxs("g",{onMouseEnter:K=>{if(Y.current&&(clearTimeout(Y.current),Y.current=null),z(D),a&&v.current){const q=nt((D.col-e.length/2)*k,(D.row-3.5)*k,Be(D.level),d.yaw,d.pitch);let ne=0,X=0;const pe=v.current;if(S.current&&typeof pe.createSVGPoint=="function"&&typeof pe.getScreenCTM=="function")try{const me=pe.createSVGPoint();me.x=q.x,me.y=q.y;const ce=pe.getScreenCTM();if(ce){const Ie=me.matrixTransform(ce),Ce=S.current.getBoundingClientRect();ne=Ie.x-Ce.left,X=Ie.y-Ce.top}}catch{const ce=pe.getBoundingClientRect(),Ie=J.maxX-J.minX+le*2,Ce=J.maxY-J.minY+le*2;ne=(q.x-(J.minX-le))/Ie*ce.width,X=(q.y-(J.minY-le))/Ce*ce.height}else{const me=pe.getBoundingClientRect(),ce=J.maxX-J.minX+le*2,Ie=J.maxY-J.minY+le*2;ne=(q.x-(J.minX-le))/ce*me.width,X=(q.y-(J.minY-le))/Ie*me.height}const ge=140;let Se=0;const Te=S.current?S.current.getBoundingClientRect().width:pe.getBoundingClientRect().width;ne<ge?Se=ge-ne:ne>Te-ge&&(Se=Te-ge-ne),fe({x:ne,y:X,shiftX:Se})}},onMouseLeave:()=>{Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{z(null)},150)},className:"transition-all duration-200",style:{filter:L?"brightness(1.15) drop-shadow(0 4px 6px rgba(0,0,0,0.15))":"none",cursor:a?"pointer":"default"},children:[!a&&D.day&&o.jsx("title",{children:`${D.day}: ${Number(D.value).toLocaleString()} tokens`}),D.renderedFaces.map((K,q)=>o.jsx("path",{d:K.d,fill:K.fill,stroke:K.fill,strokeWidth:.25,strokeLinejoin:"round"},q))]},D.key)})]}),a&&P&&o.jsxs("div",{onMouseEnter:()=>{Y.current&&(clearTimeout(Y.current),Y.current=null)},onMouseLeave:()=>{Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{z(null)},150)},className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out",style:{left:`${Q.x}px`,top:`${Q.y}px`},children:[o.jsxs("div",{className:"absolute left-0 bottom-[10px] backdrop-blur-md bg-white/90 dark:bg-oai-gray-900/90 border border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-xl rounded-xl p-3.5 max-w-[280px] min-w-[200px] flex flex-col gap-2 animate-in fade-in zoom-in-95 duration-100",style:{transform:`translateX(calc(-50% + ${Q.shiftX}px))`},children:[o.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[o.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:P.day}),(()=>{const D=P.level===0?n?"#9ca3af":"#6b7280":i[P.level];return o.jsxs("span",{className:"text-[10px] px-2 py-0.5 rounded-full font-medium",style:{backgroundColor:D+"22",color:D,border:`1px solid ${D}44`},children:["Level ",P.level]})})()]}),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-baseline gap-1",children:[o.jsx("span",{className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:Number(P.value).toLocaleString()}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),P.models&&Object.keys(P.models).length>0?o.jsxs("div",{className:"mt-1.5 border-t border-oai-gray-100 dark:border-oai-gray-800/60 pt-2 flex flex-col gap-1.5",children:[o.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:"Model Breakdown"}),o.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 scrollbar-thin",children:Object.entries(P.models).map(([D,L])=>({name:D,val:Number(L)})).sort((D,L)=>L.val-D.val).map(({name:D,val:L})=>{const K=Number(P.value)||1,q=Math.round(L/K*100);return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[o.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[120px]",title:D,children:D}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.jsx("span",{className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:L.toLocaleString()}),o.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[q,"%"]})]})]}),o.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:o.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${q}%`,backgroundColor:i[4],boxShadow:`0 0 4px ${i[4]}55`}})})]},D)})})]}):o.jsx("p",{className:"text-[11px] text-oai-gray-600 dark:text-oai-gray-300 leading-relaxed font-normal mt-1 border-t border-dashed border-oai-gray-100 dark:border-oai-gray-800/60 pt-1.5",children:vo(P.level,P.value)})]})]}),o.jsx("div",{className:"absolute bottom-[6px] left-0 -translate-x-1/2 w-2.5 h-2.5 rotate-45 bg-white dark:bg-oai-gray-900 border-r border-b border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-sm",style:{marginBottom:"1px"}})]})]})}const Ct=12,tn=3,ea=26,gc=["#ebedf0","#a7f3d0","#6ee7b7","#34d399","#10b981"],yc=["#30363d","#065f46","#059669","#10b981","#34d399"];function xr(e){const t=Number(e);return Number.isFinite(t)?t<1e3?t.toLocaleString():Ue(t,{decimals:2}):"0"}function pc(e){if(typeof e!="string")return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const n=new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));return Number.isFinite(n.getTime())?n:null}function _o(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function xc(e,t){return Math.floor((Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))/864e5)}function bc(e,t){const n=t==="mon"?1:0,a=e.getUTCDay();return _o(e,-((a-n+7)%7))}function kc(e,t,n,a){if(!e)return[];const r=pc(t)||new Date,s=[];for(let m=11;m>=0;m-=1)s.push(new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()-m,1)));const l=bc(r,n),i=_o(l,-(e-1)*7),c=[],u=new Set;for(const m of s){const d=Math.floor(xc(i,m)/7);d<0||d>=e||u.has(d)||(u.add(d),c.push({label:a[m.getUTCMonth()],index:d}))}return c}function wc({heatmap:e,timeZoneLabel:t,timeZoneShortLabel:n,hideLegend:a=!1}){const{resolvedTheme:r}=so(),{currency:s,rate:l}=un(),i=r==="dark",c=i?yc:gc,u=f.useRef(null),m=f.useRef(null),[d,g]=f.useState(null),[y,x]=f.useState({x:0,y:0,shiftX:0}),p=f.useRef(null);f.useEffect(()=>()=>{p.current&&clearTimeout(p.current)},[]);const[b,k]=f.useState(!1),[w,v]=f.useState(!1),[S,C]=f.useState(!1),_=f.useRef(null),[O,N]=f.useState("emerald"),W=[h("heatmap.month.jan"),h("heatmap.month.feb"),h("heatmap.month.mar"),h("heatmap.month.apr"),h("heatmap.month.may"),h("heatmap.month.jun"),h("heatmap.month.jul"),h("heatmap.month.aug"),h("heatmap.month.sep"),h("heatmap.month.oct"),h("heatmap.month.nov"),h("heatmap.month.dec")],E=(A,J)=>{if(!J||!J.day)return;p.current&&(clearTimeout(p.current),p.current=null),g(J);const le=A.currentTarget.getBoundingClientRect(),ue=m.current;if(!ue)return;const Oe=ue.getBoundingClientRect(),_e=le.left-Oe.left+le.width/2,We=le.top-Oe.top,Ne=140;let Pe=0;_e<Ne?Pe=Ne-_e:_e>Oe.width-Ne&&(Pe=Oe.width-Ne-_e),x({x:_e,y:We,shiftX:Pe})},F=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{g(null)},150)},ie=()=>{p.current&&(clearTimeout(p.current),p.current=null)},$=()=>{p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{g(null)},150)},B=()=>{v(!1),k(!0)},T=()=>{v(!0)},M=A=>{A.target===A.currentTarget&&w&&(k(!1),v(!1))};f.useEffect(()=>{if(!b||w)return;const A=J=>{J.key==="Escape"&&T()};return window.addEventListener("keydown",A),()=>{window.removeEventListener("keydown",A)}},[b,w]);const U=f.useMemo(()=>({emerald:{accentText:"text-emerald-500 dark:text-emerald-400",accentBg:"bg-emerald-500/10 dark:bg-emerald-400/10",accentBorder:"border-emerald-500/20 dark:border-emerald-400/15",hoverBorder:"hover:border-emerald-500/30 dark:hover:border-emerald-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(16,185,129,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(52,211,153,0.25)]",rawColor:"#10b981"},ocean:{accentText:"text-blue-500 dark:text-blue-400",accentBg:"bg-blue-500/10 dark:bg-blue-400/10",accentBorder:"border-blue-500/20 dark:border-blue-400/15",hoverBorder:"hover:border-blue-500/30 dark:hover:border-blue-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(59,130,246,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(96,165,250,0.25)]",rawColor:"#3b82f6"},neon:{accentText:"text-purple-500 dark:text-purple-400",accentBg:"bg-purple-500/10 dark:bg-purple-400/10",accentBorder:"border-purple-500/20 dark:border-purple-400/15",hoverBorder:"hover:border-purple-500/30 dark:hover:border-purple-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(168,85,247,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(192,132,252,0.25)]",rawColor:"#a855f7"},amber:{accentText:"text-amber-500 dark:text-amber-400",accentBg:"bg-amber-500/10 dark:bg-amber-400/10",accentBorder:"border-amber-500/20 dark:border-amber-400/15",hoverBorder:"hover:border-amber-500/30 dark:hover:border-amber-400/30",hoverGlow:"hover:shadow-[0_0_20px_-3px_rgba(245,158,11,0.15)] hover:dark:shadow-[0_0_20px_-3px_rgba(245,158,11,0.25)]",rawColor:"#f59e0b"}}),[]),I=U[O]||U.emerald,P=mt[O]?i?mt[O].dark:mt[O].light:i?mt.emerald.dark:mt.emerald.light,[z,Q]=f.useState(()=>{try{return window.localStorage?.getItem("tt:heatmap-view")==="3d"?"3d":"2d"}catch{return"2d"}});f.useEffect(()=>{try{window.localStorage?.setItem("tt:heatmap-view",z)}catch{}},[z]),f.useEffect(()=>{const A=u.current;A&&(A.scrollLeft=A.scrollWidth)},[e?.weeks]),f.useEffect(()=>{const A=u.current;if(!A)return;const J=()=>{p.current&&(clearTimeout(p.current),p.current=null),g(null)};return A.addEventListener("scroll",J),()=>A.removeEventListener("scroll",J)},[]);const fe=e?.week_starts_on==="mon"?"mon":"sun",Y=f.useMemo(()=>{const A=Array.isArray(e?.weeks)?e.weeks:[];if(!A.length)return{weeks:[]};const J=[];for(const le of A)for(const ue of Array.isArray(le)?le:[])ue?.day&&J.push({day:ue.day,total_tokens:ue.total_tokens??ue.value??0,billable_total_tokens:ue.billable_total_tokens??ue.value??ue.total_tokens??0,models:ue.models??null});return ga({dailyRows:J,weeks:Math.max(52,A.length),to:e?.to,weekStartsOn:fe})},[e?.to,e?.weeks,fe]),H=Y?.weeks||[],te=f.useMemo(()=>{let A=0,J=0,le={day:"无数据",value:0},ue=0,Oe=0;const _e=[];H.forEach(ne=>{(Array.isArray(ne)?ne:[]).forEach(X=>{X&&X.day&&_e.push(X)})}),_e.sort((ne,X)=>ne.day.localeCompare(X.day)),_e.forEach(ne=>{const X=Number(ne.value)||0;A+=X,X>0?(J++,ue++,ue>Oe&&(Oe=ue)):ue=0,X>le.value&&(le={day:ne.day,value:X})});const We=_e.length||365,Ne=(J/We*100).toFixed(1);let Pe="heatmap.3d.modal.ai.eval.default",ke="heatmap.3d.modal.ai.title.default";A>=15e6?(ke="heatmap.3d.modal.ai.title.peak",Pe="heatmap.3d.modal.ai.eval.peak"):A>=5e6?(ke="heatmap.3d.modal.ai.title.heavy",Pe="heatmap.3d.modal.ai.eval.heavy"):A>=1e6?(ke="heatmap.3d.modal.ai.title.core",Pe="heatmap.3d.modal.ai.eval.core"):A>=2e4&&(ke="heatmap.3d.modal.ai.title.steady",Pe="heatmap.3d.modal.ai.eval.steady");const D=e?.total_cost_usd,L=Number(D),q=D!=null&&(typeof D!="string"||D.trim()!=="")&&Number.isFinite(L)?L:A/15e5;return{totalTokens:A,activeDays:J,activeRate:Ne,maxSingleDay:le,maxStreak:Oe,aiEvaluationTitleKey:ke,aiEvaluationKey:Pe,totalCostUsd:q}},[H,e?.total_cost_usd]),he=f.useMemo(()=>dn(te.totalCostUsd,{currency:s,rate:l}),[te.totalCostUsd,s,l]),ve=fe==="mon"?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(A=>h(`heatmap.day.${A.toLowerCase()}`)):["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(A=>h(`heatmap.day.${A.toLowerCase()}`)),Be=f.useMemo(()=>kc(H.length,Y?.to,fe,W),[Y?.to,H.length,fe,W]);if(!H.length)return o.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:h("heatmap.empty")});const Me=ea+H.length*Ct+Math.max(0,H.length-1)*tn;return o.jsxs("div",{ref:m,className:"relative rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",children:[o.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[o.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:h("heatmap.title")}),o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs("div",{role:"tablist","aria-label":"Heatmap view",className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[10px]",children:[o.jsx("button",{type:"button",role:"tab","aria-selected":z==="2d",onClick:()=>Q("2d"),className:z==="2d"?"px-2 py-0.5 rounded bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"px-2 py-0.5 rounded text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200",children:h("heatmap.view.2d")}),o.jsx("button",{type:"button",role:"tab","aria-selected":z==="3d",onClick:()=>Q("3d"),className:z==="3d"?"px-2 py-0.5 rounded bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"px-2 py-0.5 rounded text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200",children:h("heatmap.view.3d")})]}),o.jsx("span",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-450",children:n||h("heatmap.legend.utc")})]})]}),z==="3d"&&o.jsxs("div",{onClick:B,className:"cursor-pointer group relative overflow-hidden rounded-lg hover:border-oai-gray-350 dark:hover:border-oai-gray-700 border border-transparent transition-all",title:h("heatmap.3d.hover_tip"),children:[o.jsx(pr,{weeks:H,isDark:i,palette:O}),o.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-oai-gray-900/5 to-transparent pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity flex items-end justify-center pb-2",children:o.jsxs("span",{className:"text-[10px] bg-white/95 dark:bg-oai-gray-900/95 shadow border border-oai-gray-200/60 dark:border-oai-gray-800/80 px-2.5 py-1 rounded-full font-medium text-oai-gray-500 dark:text-oai-gray-400 flex items-center gap-1 transform translate-y-2 group-hover:translate-y-0 transition-transform duration-200",children:[o.jsx(vl,{size:9}),h("heatmap.3d.hover_tip")]})})]}),z==="2d"&&o.jsx("div",{ref:u,className:"overflow-x-auto overflow-y-hidden heatmap-scroll-thin",children:o.jsxs("div",{style:{minWidth:Me},children:[o.jsxs("div",{className:"grid text-[10px] uppercase text-oai-gray-400 dark:text-oai-gray-400 mb-1",style:{gridTemplateColumns:`${ea}px repeat(${H.length}, ${Ct}px)`,columnGap:tn},children:[o.jsx("span",{}),Be.map(A=>o.jsx("span",{style:{gridColumnStart:A.index+2},className:"whitespace-nowrap",children:A.label},`${A.label}-${A.index}`))]}),o.jsxs("div",{className:"grid",style:{gridTemplateColumns:`${ea}px repeat(${H.length}, ${Ct}px)`,columnGap:tn},children:[o.jsx("div",{className:"grid text-[10px] text-oai-gray-400 dark:text-oai-gray-400 sticky left-0 bg-white dark:bg-oai-gray-900 pr-2",style:{gridTemplateRows:`repeat(7, ${Ct}px)`,rowGap:tn},children:ve.map(A=>o.jsx("span",{className:"leading-none",children:A},A))}),o.jsx("div",{className:"grid",style:{gridAutoFlow:"column",gridTemplateRows:`repeat(7, ${Ct}px)`,gap:tn},children:H.map((A,J)=>(Array.isArray(A)?A:[]).map((le,ue)=>{if(!le)return null;const Oe=le.day||`e-${J}-${ue}`,_e=Number(le.level)||0,We=c[_e]||c[0];return o.jsx("span",{onMouseEnter:Ne=>E(Ne,le),onMouseLeave:F,className:"rounded-[2px] transition-transform hover:scale-125 hover:z-10 cursor-pointer",style:{width:Ct,height:Ct,background:We}},Oe)}))})]})]})}),!a&&o.jsxs("div",{className:"flex items-center justify-center gap-2 mt-3",children:[o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:h("heatmap.legend.less")}),o.jsx("div",{className:"flex gap-0.5",children:c.map((A,J)=>o.jsx("span",{className:"rounded-[1px]",style:{width:10,height:10,background:A}},J))}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:h("heatmap.legend.more")})]}),b&&o.jsx("div",{onAnimationEnd:M,onClick:A=>{A.target===A.currentTarget&&T()},className:`fixed inset-0 z-50 flex items-center justify-center p-3 md:p-6 backdrop-blur-md bg-black/15 dark:bg-black/40 ${w?"animate-tt-fade-out":"animate-tt-fade-in"}`,children:o.jsxs("div",{className:`relative w-full max-w-6xl h-[88vh] backdrop-blur-2xl bg-white/90 dark:bg-oai-gray-900/90 border border-oai-gray-200/50 dark:border-white/10 shadow-2xl rounded-2xl flex flex-col md:flex-row overflow-hidden ${w?"animate-tt-modal-exit":"animate-tt-modal"}`,children:[o.jsx("button",{type:"button",onClick:T,className:"absolute top-4 right-4 z-50 p-2 rounded-full border border-oai-gray-200/60 dark:border-oai-gray-800/60 bg-white/50 dark:bg-oai-gray-900/50 text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-900 dark:hover:text-white hover:rotate-90 hover:scale-105 active:scale-95 transition-all duration-300",children:o.jsx(io,{size:16})}),o.jsxs("div",{className:"w-full md:w-[340px] border-b md:border-b-0 md:border-r border-zinc-200/50 dark:border-zinc-800/40 p-5 md:p-6 flex flex-col gap-6 overflow-y-auto backdrop-blur-md bg-zinc-50/50 dark:bg-zinc-950/50",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[o.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[o.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:I.rawColor}}),o.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:I.rawColor}})]}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:"3D Insight"})]}),o.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:h("heatmap.3d.modal.title")}),o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:h("heatmap.3d.modal.desc")})]}),o.jsxs("div",{className:"grid grid-cols-2 gap-x-5 gap-y-5 border-y border-zinc-200/50 dark:border-zinc-800/50 py-5 select-none",children:[o.jsxs("div",{className:"flex flex-col gap-1 relative group cursor-help",children:[o.jsx("div",{className:"absolute left-0 bottom-full mb-2 pointer-events-none opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-200 z-50",children:o.jsxs("div",{className:"bg-white dark:bg-zinc-950 text-zinc-900 dark:text-zinc-50 text-[10px] font-semibold font-mono rounded-lg px-2.5 py-1.5 shadow-xl border border-zinc-200 dark:border-zinc-800/80 whitespace-nowrap flex flex-col",children:[o.jsx("span",{className:"text-[9px] text-zinc-400 dark:text-zinc-500",children:h("heatmap.3d.modal.stats.precision_total_tokens")}),o.jsxs("span",{className:"mt-0.5 font-bold text-zinc-900 dark:text-zinc-50",children:[te.totalTokens.toLocaleString()," Tokens"]})]})}),o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.total_tokens")}),o.jsxs("div",{className:"flex items-baseline gap-1.5",children:[o.jsx("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:xr(te.totalTokens)}),o.jsx("div",{className:"opacity-30 group-hover:opacity-60 transition-opacity",children:o.jsx("svg",{width:"24",height:"10",viewBox:"0 0 24 10",fill:"none",children:o.jsx("path",{d:"M1 9C3 7 5 7 7 4C9 1 11 0 13 2C15 4 17 0 23 0",stroke:I.rawColor,strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]}),o.jsxs("div",{className:"flex flex-col gap-1 group cursor-default",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.estimated_cost")}),o.jsx("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:he})]}),o.jsxs("div",{className:"flex flex-col gap-1 group cursor-default",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.active_rate_days")}),o.jsxs("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:[te.activeRate,"% ",o.jsxs("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono",children:["(",te.activeDays,"D)"]})]})]}),o.jsxs("div",{className:"flex flex-col gap-1 group cursor-default",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.max_streak")}),o.jsxs("span",{className:"text-xl font-black text-amber-500 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:[te.maxStreak," ",o.jsx("span",{className:"text-[10px] font-bold text-amber-500/80 font-mono",children:h("heatmap.3d.modal.stats.days_suffix")})]})]}),o.jsxs("div",{className:"flex flex-col gap-1 col-span-2 relative group cursor-help",children:[o.jsx("div",{className:"absolute left-0 bottom-full mb-2 pointer-events-none opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0 transition-all duration-200 z-50",children:o.jsxs("div",{className:"bg-white dark:bg-zinc-950 text-zinc-900 dark:text-zinc-50 text-[10px] font-semibold font-mono rounded-lg px-2.5 py-1.5 shadow-xl border border-zinc-200 dark:border-zinc-800/80 whitespace-nowrap flex flex-col",children:[o.jsx("span",{className:"text-[9px] text-zinc-400 dark:text-zinc-500",children:h("heatmap.3d.modal.stats.precision_peak_value")}),o.jsxs("span",{className:"mt-0.5 font-bold text-zinc-900 dark:text-zinc-50",children:[te.maxSingleDay.value>0?te.maxSingleDay.value.toLocaleString():h("heatmap.3d.modal.stats.no_data")," Tokens"]}),o.jsx("span",{className:"text-[8px] text-zinc-400 dark:text-zinc-500 mt-0.5",children:te.maxSingleDay.day!=="无数据"?te.maxSingleDay.day:h("heatmap.3d.modal.stats.no_data")})]})}),o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.stats.peak_day")}),o.jsxs("span",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight font-mono transition-transform duration-200 group-hover:-translate-y-[1px]",children:[te.maxSingleDay.value>0?xr(te.maxSingleDay.value):h("heatmap.3d.modal.stats.no_data")," ",o.jsxs("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono",children:["(",te.maxSingleDay.day!=="无数据"?te.maxSingleDay.day:h("heatmap.3d.modal.stats.no_data"),")"]})]})]})]}),o.jsxs("div",{className:"flex flex-col gap-2.5 py-1",children:[o.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[o.jsx(Ol,{size:11,style:{color:I.rawColor}}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:I.rawColor},children:h(te.aiEvaluationTitleKey)})]}),o.jsxs("div",{className:"pl-3.5 border-l-2 relative transition-all duration-300 group",style:{borderColor:I.rawColor},children:[o.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:I.rawColor}}),o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:h(te.aiEvaluationKey)})]})]}),o.jsx("div",{className:"mt-auto border-t border-zinc-200/50 dark:border-zinc-800/50 pt-4 select-none",children:o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsx("span",{className:"text-[9px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest font-mono",children:h("heatmap.3d.modal.legend.title")}),o.jsx("span",{className:"text-[10px] font-medium text-zinc-500 dark:text-zinc-400",children:h(`heatmap.3d.modal.palette.${O}`)})]}),o.jsx("div",{className:"flex gap-1",children:P.map((A,J)=>o.jsx("div",{className:"flex-1 h-1 rounded-[2px]",style:{backgroundColor:A},title:`Level ${J}`},J))})]})})]}),o.jsxs("div",{className:"flex-1 h-full relative flex items-center justify-center overflow-hidden p-4",children:[o.jsx("div",{className:"absolute top-1/4 left-1/3 w-96 h-96 rounded-full blur-[130px] pointer-events-none -translate-x-1/2 -translate-y-1/2 transition-all duration-500",style:{backgroundColor:I.rawColor+"15"}}),o.jsx("div",{className:"absolute bottom-1/4 right-1/3 w-80 h-80 rounded-full blur-[120px] pointer-events-none translate-x-1/2 translate-y-1/2 bg-purple-500/[0.04] dark:bg-purple-500/[0.08]"}),o.jsxs("div",{className:"absolute top-4 left-1/2 -translate-x-1/2 flex items-center gap-3 p-1.5 backdrop-blur-md bg-white/70 dark:bg-oai-gray-900/75 border border-oai-gray-200/60 dark:border-oai-gray-800/80 rounded-full shadow-lg z-30 select-none",children:[o.jsx("div",{className:"flex items-center gap-1.5 px-2",children:Object.keys(U).map(A=>{const J=O===A;return o.jsx("button",{type:"button",onClick:()=>N(A),title:h(`heatmap.3d.modal.palette.${A}`),className:`w-3.5 h-3.5 rounded-full transition-all duration-200 relative hover:scale-125 ${A==="emerald"?"bg-[#10b981]":A==="ocean"?"bg-[#3b82f6]":A==="neon"?"bg-[#a855f7]":"bg-[#f59e0b]"}`,children:J&&o.jsx("span",{className:"absolute inset-0 rounded-full ring-2 ring-offset-1 ring-offset-white dark:ring-offset-oai-gray-900 ring-oai-gray-900 dark:ring-white scale-110"})},A)})}),o.jsx("div",{className:"w-[1px] h-4 bg-oai-gray-200 dark:bg-oai-gray-800"}),o.jsxs("div",{className:"flex items-center gap-1 pr-1",children:[o.jsx("button",{type:"button",onClick:()=>{const A=!S;C(A),_.current&&_.current.toggleAutoRotate(A)},title:S?h("heatmap.3d.modal.control.pause"):h("heatmap.3d.modal.control.play"),className:`p-1.5 rounded-full transition-all duration-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 ${S?I.accentText:"text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-250"}`,children:S?o.jsx(Nl,{size:12}):o.jsx(Sl,{size:12})}),o.jsx("button",{type:"button",onClick:()=>{C(!1),_.current&&_.current.reset()},title:h("heatmap.3d.modal.control.reset"),className:"p-1.5 rounded-full text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-250 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-all duration-200",children:o.jsx(Cl,{size:12})})]})]}),o.jsx(pr,{weeks:H,isDark:i,interactive:!0,palette:O,autoRotateInit:S,onResetViewRef:_}),o.jsxs("div",{className:"absolute bottom-4 right-4 flex items-center gap-1.5 text-[9px] font-bold text-oai-gray-400 bg-white/80 dark:bg-oai-gray-900/80 border border-oai-gray-200/50 dark:border-oai-gray-800/80 rounded-md px-2.5 py-1.5 select-none pointer-events-none backdrop-blur-md shadow-sm",children:[o.jsx(ja,{size:10,className:I.accentText}),o.jsx("span",{children:h("heatmap.3d.modal.footer.tip")})]})]})]})}),d&&!b&&o.jsxs("div",{onMouseEnter:ie,onMouseLeave:$,className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out",style:{left:`${y.x}px`,top:`${y.y}px`},children:[o.jsxs("div",{className:"absolute left-0 bottom-[10px] backdrop-blur-md bg-white/95 dark:bg-oai-gray-900/95 border border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-xl rounded-xl p-3.5 max-w-[280px] min-w-[200px] flex flex-col gap-2 animate-in fade-in zoom-in-95 duration-100",style:{transform:`translateX(calc(-50% + ${y.shiftX}px))`},children:[o.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[o.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:d.day}),(()=>{const A=d.level===0?i?"#9ca3af":"#6b7280":c[d.level];return o.jsxs("span",{className:"text-[10px] px-2 py-0.5 rounded-full font-medium",style:{backgroundColor:A+"22",color:A,border:`1px solid ${A}44`},children:["Level ",d.level]})})()]}),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-baseline gap-1",children:[o.jsx("span",{className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:Number(d.total_tokens??d.value).toLocaleString()}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),d.models&&Object.keys(d.models).length>0?o.jsxs("div",{className:"mt-1.5 border-t border-oai-gray-100 dark:border-oai-gray-800/60 pt-2 flex flex-col gap-1.5",children:[o.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:"Model Breakdown"}),o.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:Object.entries(d.models).map(([A,J])=>({name:A,val:Number(J)})).sort((A,J)=>J.val-A.val).map(({name:A,val:J})=>{const le=Number(d.total_tokens??d.value)||1,ue=Math.round(J/le*100);return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[o.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[120px]",title:A,children:A}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.jsx("span",{className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:J.toLocaleString()}),o.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[ue,"%"]})]})]}),o.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:o.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${ue}%`,backgroundColor:c[4],boxShadow:`0 0 4px ${c[4]}55`}})})]},A)})})]}):o.jsx("p",{className:"text-[11px] text-oai-gray-600 dark:text-oai-gray-300 leading-relaxed font-normal mt-1 border-t border-dashed border-oai-gray-100 dark:border-oai-gray-800/60 pt-1.5",children:vo(d.level,d.total_tokens??d.value)})]})]}),o.jsx("div",{className:"absolute bottom-[6px] left-0 -translate-x-1/2 w-2.5 h-2.5 rotate-45 bg-white dark:bg-oai-gray-900 border-r border-b border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-sm",style:{marginBottom:"1px"}})]}),o.jsx("style",{children:`
|
|
2
2
|
@keyframes tt-fade-in {
|
|
3
3
|
from { opacity: 0; }
|
|
4
4
|
to { opacity: 1; }
|
|
@@ -39,4 +39,4 @@ import{c as Kt,i as Oi,f as no,a as ao,J as Ei,u as ro,m as Fi,r as f,M as oo,b
|
|
|
39
39
|
.animate-tt-modal-exit {
|
|
40
40
|
animation: tt-modal-exit 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
41
41
|
}
|
|
42
|
-
`})]})}function vc(){return o.jsxs(zi,{to:"/landing",className:"flex items-center gap-2.5 no-underline hover:opacity-80 transition-opacity",children:[o.jsx("img",{src:"/app-icon.png",alt:"Token Tracker",width:28,height:28,className:"rounded-md"}),o.jsx("span",{className:"text-base font-semibold text-oai-black dark:text-oai-white leading-tight",children:"Token Tracker"})]})}function _c({children:e,header:t,footer:n,className:a="",hideHeader:r=!1,hideFooter:s=!1,bare:l=!1}){return l?o.jsxs("div",{className:`flex flex-col flex-1 min-h-0 ${a}`,children:[o.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!s&&n&&o.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]}):o.jsxs("div",{className:`min-h-screen bg-oai-white dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-sans flex flex-col transition-colors duration-200 ${a}`,children:[!r&&o.jsxs("header",{className:"border-b border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 flex items-center justify-between transition-colors duration-200",children:[o.jsx(vc,{}),o.jsx("div",{className:"flex-1 flex justify-center",children:t})]}),o.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!s&&n&&o.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]})}function Nc({children:e,variant:t="info",size:n="md",className:a=""}){const r="inline-flex items-center font-medium",s={success:"bg-oai-brand-100 dark:bg-oai-brand-900/30 text-oai-brand-700 dark:text-oai-brand-400 rounded-full",warning:"bg-oai-amber-50 dark:bg-oai-amber-900/30 text-oai-amber-dark dark:text-oai-amber-400 rounded-full",error:"bg-red-50 dark:bg-red-900/30 text-red-600 dark:text-red-400 rounded-full",info:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-300 rounded-full",secondary:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-500 dark:text-oai-gray-300 rounded-md"},l={sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm"},i=`${r} ${s[t]} ${l[n]} ${a}`.trim();return o.jsx("span",{className:i,children:e})}const jc=f.forwardRef(function(t,n){const{render:a,className:r,disabled:s=!1,nativeButton:l=!0,...i}=t,{store:c}=al(),u=c.useState("open");function m(x){u&&c.setOpen(!1,sl(il,x.nativeEvent))}const{getButtonProps:d,buttonRef:g}=rl({disabled:s,native:l}),y=f.useMemo(()=>({disabled:s}),[s]);return ol("button",t,{state:y,ref:[n,g],props:[{onClick:m},i,d]})});var Sc={};function Mc(e,t){return e==="."?{width:"0.34ch",justifyContent:"center",marginInline:"-0.04ch"}:e===","?{width:"0.08ch",justifyContent:"center",marginInline:"-0.30ch"}:{width:"0.72ch",justifyContent:"flex-start",paddingLeft:"0.04ch",height:t}}function Cc({mv:e,digit:t,height:n}){const a=yo(e,r=>{const s=(r%10+10)%10,l=(10+t-s)%10;let i=l*n;return l>5&&(i-=10*n),i});return o.jsx(Re.span,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",y:a},children:t})}function Dc(e){const t=Math.round(e),n=1e-9*Math.max(1,Math.abs(e));return Math.abs(e-t)<n?t:e}function Tc(e,t){const n=e/t;return Math.floor(Dc(n))}function Ac(e){const t=String(e??""),n=Array.from(t),a=n.indexOf(".");let r=n.filter((i,c)=>/\d/.test(i)&&(a===-1||c<a)).length,s=0,l=!1;return n.map(i=>{if(!/\d/.test(i))return i==="."&&(l=!0),i;if(!l){const c=10**Math.max(r-1,0);return r-=1,c}return s+=1,10**-s})}function Oc({place:e,value:t,height:n,digitStyle:a,shouldReduceMotion:r}){if(typeof e!="number"){const c=Mc(e,n);return o.jsx("span",{"data-counter-token":"static",className:"relative inline-flex items-center justify-center",style:{height:n,...c,...a},children:e})}const s=Tc(t,e),l=Ca(0),i=Il(l,{stiffness:220,damping:26,mass:.8});return f.useEffect(()=>{l.set(s)},[l,s]),r?o.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex items-center justify-center overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...a},children:Math.abs(s)%10}):o.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...a},children:Array.from({length:10},(c,u)=>o.jsx(Cc,{mv:i,digit:u,height:n},u))})}function Ec({value:e,displayValue:t,fontSize:n=72,padding:a=0,places:r,gap:s=6,borderRadius:l=4,horizontalPadding:i=0,textColor:c="inherit",fontWeight:u="inherit",containerStyle:m,counterStyle:d,digitStyle:g,gradientHeight:y=14,gradientFrom:x="rgba(255,255,255,0.95)",gradientTo:p="rgba(255,255,255,0)",topGradientStyle:b,bottomGradientStyle:k}){const w=String(t??e??""),v=f.useMemo(()=>Array.isArray(r)&&r.length?r:Ac(w),[r,w]),S=typeof navigator<"u"&&/jsdom/i.test(navigator.userAgent||"")||typeof process<"u"&&Sc?.VITEST==="true",C=Ma()||S,_=Number.isFinite(Number(e))?Math.abs(Number(e)):0,O=n+a;return C?o.jsx("span",{"data-counter-root":"true",style:{display:"inline-flex",alignItems:"center",color:c,fontSize:n,fontWeight:u,lineHeight:1,...m,...d},children:w}):o.jsxs("span",{"data-counter-root":"true",style:{position:"relative",display:"inline-block",...m},children:[o.jsx("span",{style:{fontSize:n,display:"flex",gap:s,overflow:"hidden",borderRadius:l,paddingLeft:i,paddingRight:i,lineHeight:1,color:c,fontWeight:u,...d},children:v.map((N,W)=>o.jsx(Oc,{place:N,value:_,height:O,digitStyle:g,shouldReduceMotion:C},`${String(N)}-${W}`))}),o.jsxs("span",{style:{pointerEvents:"none",position:"absolute",inset:0,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx("span",{style:b??{height:y,background:`linear-gradient(to bottom, ${x}, ${p})`}}),o.jsx("span",{style:k??{height:y,background:`linear-gradient(to top, ${x}, ${p})`}})]})]})}function Fc(e,t,n){if(!Number.isFinite(e))return h("shared.placeholder.short");const a=dn(e,{decimals:2,currency:t,rate:n});return a==="-"?h("shared.placeholder.short"):a}function br(e,t,n){if(!Number.isFinite(e)||e<=0)return null;const a=An(t);return(t===lo?e:e*n)<.01?`<${a}0.01`:dn(e,{decimals:2,currency:t,rate:n})}function kr(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:Ue(t,{decimals:1})}const Wc=R.memo(function({isOpen:t,onClose:n,fleetData:a=[]}){const{currency:r,rate:s}=un(),l=f.useMemo(()=>(Array.isArray(a)?a:[]).map(c=>{const u=He(c?.usd)??0,m=He(c?.usage)??0,d=Array.isArray(c?.models)?c.models:[];return{label:c?.label?String(c.label):"",usdValue:u,costLabel:br(u,r,s),tokensLabel:kr(m),models:d.map(g=>{const y=He(g?.usage)??0,x=He(g?.cost)??0;return{id:g?.id?String(g.id):"",name:g?.name?String(g.name):"",tokensLabel:kr(y),costLabel:br(x,r,s),sortCost:x}}).filter(g=>g.costLabel||g.tokensLabel).sort((g,y)=>y.sortCost-g.sortCost)}}).filter(c=>c.usdValue>0||c.models.length>0).sort((c,u)=>u.usdValue-c.usdValue),[a,r,s]),i=f.useMemo(()=>{const c=l.reduce((u,m)=>u+m.usdValue,0);return Fc(c,r,s)},[l,r,s]);return o.jsx(ll,{open:t,onOpenChange:c=>{c||n?.()},children:o.jsxs(cl,{children:[o.jsx(dl,{className:"cost-modal-backdrop","data-cost-analysis-backdrop":"true"}),o.jsx(ul,{className:"fixed inset-0 z-[101] flex items-center justify-center p-4",children:o.jsxs(fl,{className:"cost-modal-popup relative w-full max-w-[460px] max-h-[calc(100vh-2rem)] flex flex-col rounded-2xl bg-white dark:bg-oai-gray-950 shadow-[0_20px_60px_-20px_rgba(0,0,0,0.25)] dark:shadow-[0_20px_60px_-10px_rgba(0,0,0,0.65)] ring-1 ring-oai-gray-200 dark:ring-oai-gray-800 overflow-hidden",children:[o.jsx(ml,{render:o.jsx("h2",{className:"sr-only"}),children:h("dashboard.cost_breakdown.title")}),o.jsx(jc,{type:"button",className:"absolute top-3 right-3 flex h-9 w-9 items-center justify-center rounded-md text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-800 dark:hover:text-oai-gray-100 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand/50 transition-colors z-10","aria-label":h("dashboard.cost_breakdown.close"),children:o.jsx(io,{size:16,strokeWidth:2,"aria-hidden":!0})}),o.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto oai-scrollbar",children:o.jsxs("div",{className:"px-3 py-6",children:[o.jsx("p",{className:"text-label uppercase tracking-[0.12em] text-oai-gray-500 dark:text-oai-gray-400 mb-2",children:h("dashboard.cost_breakdown.total_label")}),o.jsx("p",{className:"font-bold text-oai-brand tabular-nums tracking-tight leading-none mb-6",style:{fontSize:"clamp(24px, 6.5vw, 32px)"},children:i}),l.length===0?o.jsx("p",{className:"text-body-sm text-oai-gray-500 dark:text-oai-gray-400",children:"No spend recorded."}):o.jsxs("div",{role:"table","aria-label":h("dashboard.cost_breakdown.title"),children:[o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2 mb-2 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400",children:[o.jsx("span",{role:"columnheader",children:"Model"}),o.jsx("span",{role:"columnheader",children:"Cost"})]}),l.map((c,u)=>{const m=`fleet-${u}`;return o.jsxs("div",{role:"rowgroup","aria-labelledby":m,className:u>0?"mt-5":"mt-2",children:[o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2",children:[o.jsx("span",{id:m,role:"rowheader",className:"flex-1 min-w-0 text-body-sm font-semibold text-oai-black dark:text-oai-white truncate leading-none",children:c.label}),o.jsx("span",{role:"cell",className:"shrink-0 text-body-sm font-semibold text-oai-black dark:text-oai-white tabular-nums leading-none",children:c.costLabel||"—"})]}),c.models.map((d,g)=>o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-[5px]",children:[o.jsx("span",{role:"cell",className:"flex-1 min-w-0 text-caption text-oai-gray-500 dark:text-oai-gray-400 truncate leading-none",title:d.name,children:d.name}),o.jsx("span",{role:"cell",className:"shrink-0 text-caption text-oai-gray-700 dark:text-oai-gray-300 tabular-nums leading-none",children:d.costLabel||""})]},d.id||`${d.name}-${g}`))]},`${c.label}-${u}`)})]})]})})]})})]})})});function Pc({projectEntries:e=[],projectLimit:t=3,onProjectLimitChange:n,copy:a,hasDetailsActual:r,dailyEmptyPrefix:s,installSyncCmd:l,dailyEmptySuffix:i,detailsColumns:c,ariaSortFor:u,toggleSort:m,sortIconFor:d,pagedDetails:g,dailyBreakdownRows:y=[],dailyBreakdownColumns:x=[],dailyBreakdownAriaSortFor:p,dailyBreakdownSortIconFor:b,dailyBreakdownDateKey:k="day",detailsDateKey:w,renderDetailDate:v,renderDailyBreakdownDate:S,renderDetailCell:C,DETAILS_PAGED_PERIODS:_,period:O,detailsPageCount:N,detailsPage:W,setDetailsPage:E}){const[F,ie]=f.useState("daily");return o.jsxs(Sa,{children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[o.jsxs("div",{role:"tablist","aria-label":"Data view",className:"flex gap-1",children:[o.jsx("button",{role:"tab","aria-selected":F==="daily",type:"button",onClick:()=>ie("daily"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${F==="daily"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:a("dashboard.daily.title")}),o.jsx("button",{role:"tab","aria-selected":F==="projects",type:"button",onClick:()=>ie("projects"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${F==="projects"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:a("dashboard.projects.title")})]}),F==="projects"&&o.jsxs("select",{"aria-label":"Number of projects to display",value:t,onChange:$=>n?.(Number($.target.value)),className:"text-xs text-oai-gray-600 dark:text-oai-gray-300 bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded px-2 py-1 hover:border-oai-gray-300 dark:hover:border-oai-gray-600 focus:border-oai-brand dark:focus:border-oai-brand focus:outline-none transition-colors",children:[o.jsx("option",{value:3,children:a("dashboard.projects.limit_top_3")}),o.jsx("option",{value:6,children:a("dashboard.projects.limit_top_6")}),o.jsx("option",{value:10,children:a("dashboard.projects.limit_top_10")})]})]}),F==="projects"&&o.jsx("div",{className:"space-y-1",children:e.slice(0,t).map(($,B)=>{const T=typeof $?.project_ref=="string"?$.project_ref:"",M=$?.project_key||T||`entry-${B}`,U=$?.billable_total_tokens??$?.total_tokens,I=Number(U),P=Number.isFinite(I)?I.toLocaleString():"—",z=$?.project_key||T.split("/").pop()||"—";return o.jsxs("div",{className:"flex items-center gap-3 p-2 rounded-lg",children:[o.jsx("div",{className:"w-8 h-8 rounded-md oai-bg-elevated flex items-center justify-center oai-text-caption font-medium text-oai-gray-500 dark:text-oai-gray-300",children:($?.project_key?.[0]||"?").toUpperCase()}),o.jsx("div",{className:"min-w-0 flex-1",children:o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:z})}),o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:P})]},M)})}),F==="daily"&&o.jsxs("div",{children:[y?.length===0?o.jsxs("div",{className:"oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 mb-4",children:[s,o.jsx("code",{className:"mx-1 rounded border border-oai-gray-300 dark:border-oai-gray-700 oai-bg-elevated px-1.5 py-0.5 font-mono oai-text-caption",children:l}),i]}):o.jsx("div",{className:"overflow-auto max-h-[384px] -mx-4 oai-scrollbar",children:o.jsxs("table",{className:"w-full border-collapse",children:[o.jsx("thead",{className:"sticky top-0 z-10",children:o.jsx("tr",{className:"border-b border-oai-gray-200 dark:border-oai-gray-700",children:x.map($=>o.jsx("th",{"aria-sort":p?.($.key)||"none",className:"text-left p-0 bg-white dark:bg-oai-gray-900",children:o.jsx("button",{type:"button",onClick:()=>m($.key),className:"flex w-full items-center justify-start px-4 py-2 text-left oai-text-caption font-semibold text-oai-gray-600 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white transition-colors",children:o.jsxs("span",{className:"inline-flex items-center gap-1",children:[o.jsx("span",{children:$.label}),o.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-400",children:b?.($.key)||""})]})})},$.key))})}),o.jsx("tbody",{children:y.map($=>o.jsxs("tr",{className:`border-b border-oai-gray-100 dark:border-oai-gray-800 last:border-b-0 hover:bg-oai-gray-50/50 dark:hover:bg-oai-gray-800/50 transition-colors ${$.missing?"text-oai-gray-400 dark:text-oai-gray-400":$.future?"text-oai-gray-300 dark:text-oai-gray-600":"text-oai-black dark:text-oai-white"}`,children:[o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300",children:S?S($):v($)}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:C($,"total_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"input_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"output_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"cached_input_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"reasoning_output_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"conversation_count")})]},String($?.[k]||$?.day||$?.hour||$?.month||"")))})]})}),F!=="daily"&&_.has(O)&&N>1?o.jsxs("div",{className:"mt-3 flex items-center justify-between oai-text-caption",children:[o.jsx("button",{type:"button",onClick:()=>E($=>Math.max(0,$-1)),disabled:W===0,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:a("details.pagination.prev")}),o.jsxs("span",{className:"oai-text-muted",children:[W+1," / ",N]}),o.jsx("button",{type:"button",onClick:()=>E($=>Math.min(N-1,$+1)),disabled:W+1>=N,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:a("details.pagination.next")})]}):null]})]})}function Sn(e){return typeof e!="string"?"":e.trim()}function wr(e){const t=Sn(e);return t?t.split(/[_\-\s]+/).filter(Boolean).map(n=>n.slice(0,1).toUpperCase()+n.slice(1).toLowerCase()).join(" "):""}function Ic(e){if(!Array.isArray(e))return[];const t=new Map;for(const n of e){if(!n||typeof n!="object")continue;const a=Sn(n.tool),r=Sn(n.planType)||Sn(n.plan_type);if(!a||!r)continue;const s=wr(a)||a,l=wr(r)||r;t.set(`${a.toLowerCase()}::${r.toLowerCase()}`,{tool:s,plan:l})}return Array.from(t.values())}function Lc({period:e="month",rankLabel:t,streakDays:n,subscriptions:a=[],periodConversations:r,rolling:s,topModels:l=[],className:i=""}){const c=h("shared.placeholder.short"),u=h("shared.unit.percent"),m=t??h("identity_card.rank_placeholder"),d=Number.isFinite(Number(n))?Number(n):0,g=d?h("identity_card.streak_value",{days:d}):h("identity_card.rank_placeholder"),y=Ic(a),x={thousandSuffix:h("shared.unit.thousand_abbrev"),millionSuffix:h("shared.unit.million_abbrev"),billionSuffix:h("shared.unit.billion_abbrev")},p=w=>{if(w==null)return c;const v=Ue(w,x);return v==="-"?c:v},b=(()=>{switch(e){case"day":return h("stats.period.today");case"week":return h("stats.period.week");case"month":return h("stats.period.month");case"total":return h("stats.period.all");default:return h("stats.period.convs")}})(),k=l.slice(0,3);return o.jsxs(Sa,{className:`h-full ${i}`,children:[o.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(s?.last_7d?.totals?.billable_total_tokens)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"7d"})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(s?.last_30d?.totals?.billable_total_tokens)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"30d"})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(s?.last_30d?.avg_per_active_day)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"avg"})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(r)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:b})]})]}),k.length>0&&o.jsx("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800",children:k.map((w,v)=>{const S=w?.name?String(w.name):c,C=w?.percent?String(w.percent):"",_=v===k.length-1,O=v+1;return o.jsxs("div",{className:`flex items-center py-2 ${_?"":"border-b border-oai-gray-50 dark:border-oai-gray-800"}`,children:[o.jsx("span",{className:"w-5 h-5 flex items-center justify-center rounded-full bg-oai-gray-100 dark:bg-oai-gray-800 text-[10px] font-semibold text-oai-gray-500 dark:text-oai-gray-300 flex-shrink-0",children:O}),o.jsx("span",{className:"flex-1 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate px-2.5",title:S,children:S}),o.jsxs("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums flex-shrink-0",children:[C,u]})]},w.id||S)})}),y.length>0&&o.jsx("div",{className:"mt-3 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex flex-wrap gap-1.5",children:y.map((w,v)=>o.jsxs(Nc,{variant:"secondary",size:"sm",children:[w.tool," ",w.plan]},`${w.tool}:${w.plan}:${v}`))}),o.jsxs("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex items-center justify-between text-xs text-oai-gray-400 dark:text-oai-gray-400",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("span",{children:h("identity_card.rank_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:m})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx("span",{children:h("identity_card.streak_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:g})]})]})]})}function $c(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Rc={},sn={};function Et(e,t){try{const a=(Rc[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in sn?sn[a]:vr(a,a.split(":"))}catch{if(e in sn)return sn[e];const n=e?.match(Bc);return n?vr(e,n.slice(1)):NaN}}const Bc=/([+-]\d\d):?(\d\d)?/;function vr(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return sn[e]=n*60+a>0?n*60+a+r:n*60-a-r}class ot extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Et(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),No(this),pa(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new ot(...n,t):new ot(Date.now(),t)}withTimeZone(t){return new ot(+this,t)}getTimezoneOffset(){const t=-Et(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),pa(this),+this}[Symbol.for("constructDateFrom")](t){return new ot(+new Date(t),this.timeZone)}}const _r=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!_r.test(e))return;const t=e.replace(_r,"$1UTC");ot.prototype[t]&&(e.startsWith("get")?ot.prototype[e]=function(){return this.internal[t]()}:(ot.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Yc(this),+this},ot.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),pa(this),+this}))});function pa(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Et(e.timeZone,e)*60))}function Yc(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),No(e)}function No(e){const t=Et(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),l=r-s,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const c=r-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const u=new Date(+e);u.setUTCSeconds(0);const m=r>0?u.getSeconds():(u.getSeconds()-60)%60,d=Math.round(-(Et(e.timeZone,e)*60))%60;(d||m)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+d),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+d+m));const g=Et(e.timeZone,e),y=g>0?Math.floor(g):Math.ceil(g),p=-new Date(+e).getTimezoneOffset()-y,b=y!==n,k=p-c;if(b&&k){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k);const w=Et(e.timeZone,e),v=w>0?Math.floor(w):Math.ceil(w),S=y-v;S&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+S),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S))}}class $e extends ot{static tz(t,...n){return n.length?new $e(...n,t):new $e(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${$c(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new $e(+this,t)}[Symbol.for("constructDateFrom")](t){return new $e(+new Date(t),this.timeZone)}}const jo=6048e5,zc=864e5,Nr=Symbol.for("constructDateFrom");function Ae(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Nr in e?e[Nr](t):e instanceof Date?new e.constructor(t):new Date(t)}function xe(e,t){return Ae(t||e,e)}function So(e,t,n){const a=xe(e,n?.in);return isNaN(t)?Ae(e,NaN):(t&&a.setDate(a.getDate()+t),a)}function Mo(e,t,n){const a=xe(e,n?.in);if(isNaN(t))return Ae(e,NaN);if(!t)return a;const r=a.getDate(),s=Ae(e,a.getTime());s.setMonth(a.getMonth()+t+1,0);const l=s.getDate();return r>=l?s:(a.setFullYear(s.getFullYear(),s.getMonth(),r),a)}let Hc={};function fn(){return Hc}function Vt(e,t){const n=fn(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=xe(e,t?.in),s=r.getDay(),l=(s<a?7:0)+s-a;return r.setDate(r.getDate()-l),r.setHours(0,0,0,0),r}function ln(e,t){return Vt(e,{...t,weekStartsOn:1})}function Co(e,t){const n=xe(e,t?.in),a=n.getFullYear(),r=Ae(n,0);r.setFullYear(a+1,0,4),r.setHours(0,0,0,0);const s=ln(r),l=Ae(n,0);l.setFullYear(a,0,4),l.setHours(0,0,0,0);const i=ln(l);return n.getTime()>=s.getTime()?a+1:n.getTime()>=i.getTime()?a:a-1}function jr(e){const t=xe(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Qt(e,...t){const n=Ae.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function cn(e,t){const n=xe(e,t?.in);return n.setHours(0,0,0,0),n}function Da(e,t,n){const[a,r]=Qt(n?.in,e,t),s=cn(a),l=cn(r),i=+s-jr(s),c=+l-jr(l);return Math.round((i-c)/zc)}function Uc(e,t){const n=Co(e,t),a=Ae(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),ln(a)}function qc(e,t,n){return So(e,t*7,n)}function Gc(e,t,n){return Mo(e,t*12,n)}function Vc(e,t){let n,a=t?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=Ae.bind(null,r));const s=xe(r,a);(!n||n<s||isNaN(+s))&&(n=s)}),Ae(a,n||NaN)}function Kc(e,t){let n,a=t?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=Ae.bind(null,r));const s=xe(r,a);(!n||n>s||isNaN(+s))&&(n=s)}),Ae(a,n||NaN)}function Xc(e,t,n){const[a,r]=Qt(n?.in,e,t);return+cn(a)==+cn(r)}function Do(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Qc(e){return!(!Do(e)&&typeof e!="number"||isNaN(+xe(e)))}function To(e,t,n){const[a,r]=Qt(n?.in,e,t),s=a.getFullYear()-r.getFullYear(),l=a.getMonth()-r.getMonth();return s*12+l}function Jc(e,t){const n=xe(e,t?.in),a=n.getMonth();return n.setFullYear(n.getFullYear(),a+1,0),n.setHours(23,59,59,999),n}function Ao(e,t){const[n,a]=Qt(e,t.start,t.end);return{start:n,end:a}}function Zc(e,t){const{start:n,end:a}=Ao(t?.in,e);let r=+n>+a;const s=r?+n:+a,l=r?a:n;l.setHours(0,0,0,0),l.setDate(1);let i=1;const c=[];for(;+l<=s;)c.push(Ae(n,l)),l.setMonth(l.getMonth()+i);return r?c.reverse():c}function ed(e,t){const n=xe(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function td(e,t){const n=xe(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function Oo(e,t){const n=xe(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function nd(e,t){const{start:n,end:a}=Ao(t?.in,e);let r=+n>+a;const s=r?+n:+a,l=r?a:n;l.setHours(0,0,0,0),l.setMonth(0,1);let i=1;const c=[];for(;+l<=s;)c.push(Ae(n,l)),l.setFullYear(l.getFullYear()+i);return r?c.reverse():c}function Eo(e,t){const n=fn(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=xe(e,t?.in),s=r.getDay(),l=(s<a?-7:0)+6-(s-a);return r.setDate(r.getDate()+l),r.setHours(23,59,59,999),r}function ad(e,t){return Eo(e,{...t,weekStartsOn:1})}const rd={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},od=(e,t,n)=>{let a;const r=rd[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function ta(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const sd={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},id={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ld={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},cd={date:ta({formats:sd,defaultWidth:"full"}),time:ta({formats:id,defaultWidth:"full"}),dateTime:ta({formats:ld,defaultWidth:"full"})},dd={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ud=(e,t,n,a)=>dd[e];function nn(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):l;r=e.formattingValues[i]||e.formattingValues[l]}else{const l=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;r=e.values[i]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return r[s]}}const fd={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},md={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},hd={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gd={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},yd={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},pd={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},xd=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},bd={ordinalNumber:xd,era:nn({values:fd,defaultWidth:"wide"}),quarter:nn({values:md,defaultWidth:"wide",argumentCallback:e=>e-1}),month:nn({values:hd,defaultWidth:"wide"}),day:nn({values:gd,defaultWidth:"wide"}),dayPeriod:nn({values:yd,defaultWidth:"wide",formattingValues:pd,defaultFormattingWidth:"wide"})};function an(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],s=t.match(r);if(!s)return null;const l=s[0],i=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?wd(i,d=>d.test(l)):kd(i,d=>d.test(l));let u;u=e.valueCallback?e.valueCallback(c):c,u=n.valueCallback?n.valueCallback(u):u;const m=t.slice(l.length);return{value:u,rest:m}}}function kd(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function wd(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function vd(e){return(t,n={})=>{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],s=t.match(e.parsePattern);if(!s)return null;let l=e.valueCallback?e.valueCallback(s[0]):s[0];l=n.valueCallback?n.valueCallback(l):l;const i=t.slice(r.length);return{value:l,rest:i}}}const _d=/^(\d+)(th|st|nd|rd)?/i,Nd=/\d+/i,jd={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Sd={any:[/^b/i,/^(a|c)/i]},Md={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Cd={any:[/1/i,/2/i,/3/i,/4/i]},Dd={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Td={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ad={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Od={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ed={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Fd={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Wd={ordinalNumber:vd({matchPattern:_d,parsePattern:Nd,valueCallback:e=>parseInt(e,10)}),era:an({matchPatterns:jd,defaultMatchWidth:"wide",parsePatterns:Sd,defaultParseWidth:"any"}),quarter:an({matchPatterns:Md,defaultMatchWidth:"wide",parsePatterns:Cd,defaultParseWidth:"any",valueCallback:e=>e+1}),month:an({matchPatterns:Dd,defaultMatchWidth:"wide",parsePatterns:Td,defaultParseWidth:"any"}),day:an({matchPatterns:Ad,defaultMatchWidth:"wide",parsePatterns:Od,defaultParseWidth:"any"}),dayPeriod:an({matchPatterns:Ed,defaultMatchWidth:"any",parsePatterns:Fd,defaultParseWidth:"any"})},Ut={code:"en-US",formatDistance:od,formatLong:cd,formatRelative:ud,localize:bd,match:Wd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Pd(e,t){const n=xe(e,t?.in);return Da(n,Oo(n))+1}function Ta(e,t){const n=xe(e,t?.in),a=+ln(n)-+Uc(n);return Math.round(a/jo)+1}function Fo(e,t){const n=xe(e,t?.in),a=n.getFullYear(),r=fn(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=Ae(t?.in||e,0);l.setFullYear(a+1,0,s),l.setHours(0,0,0,0);const i=Vt(l,t),c=Ae(t?.in||e,0);c.setFullYear(a,0,s),c.setHours(0,0,0,0);const u=Vt(c,t);return+n>=+i?a+1:+n>=+u?a:a-1}function Id(e,t){const n=fn(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=Fo(e,t),s=Ae(t?.in||e,0);return s.setFullYear(r,0,a),s.setHours(0,0,0,0),Vt(s,t)}function Aa(e,t){const n=xe(e,t?.in),a=+Vt(n,t)-+Id(n,t);return Math.round(a/jo)+1}function ye(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const kt={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return ye(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ye(n+1,2)},d(e,t){return ye(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return ye(e.getHours()%12||12,t.length)},H(e,t){return ye(e.getHours(),t.length)},m(e,t){return ye(e.getMinutes(),t.length)},s(e,t){return ye(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return ye(r,t.length)}},zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Sr={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return kt.y(e,t)},Y:function(e,t,n,a){const r=Fo(e,a),s=r>0?r:1-r;if(t==="YY"){const l=s%100;return ye(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):ye(s,t.length)},R:function(e,t){const n=Co(e);return ye(n,t.length)},u:function(e,t){const n=e.getFullYear();return ye(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return ye(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return ye(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return kt.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return ye(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Aa(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):ye(r,t.length)},I:function(e,t,n){const a=Ta(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):ye(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):kt.d(e,t)},D:function(e,t,n){const a=Pd(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):ye(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),s=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return ye(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),s=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return ye(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return ye(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=zt.noon:a===0?r=zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=zt.evening:a>=12?r=zt.afternoon:a>=4?r=zt.morning:r=zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return kt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):kt.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):ye(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):ye(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):kt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):kt.s(e,t)},S:function(e,t){return kt.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return Cr(a);case"XXXX":case"XX":return At(a);default:return At(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return Cr(a);case"xxxx":case"xx":return At(a);default:return At(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Mr(a,":");default:return"GMT"+At(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Mr(a,":");default:return"GMT"+At(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return ye(a,t.length)},T:function(e,t,n){return ye(+e,t.length)}};function Mr(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),s=a%60;return s===0?n+String(r):n+String(r)+t+ye(s,2)}function Cr(e,t){return e%60===0?(e>0?"-":"+")+ye(Math.abs(e)/60,2):At(e,t)}function At(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=ye(Math.trunc(a/60),2),s=ye(a%60,2);return n+r+t+s}const Dr=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Wo=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ld=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return Dr(e,t);let s;switch(a){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",Dr(a,t)).replace("{{time}}",Wo(r,t))},$d={p:Wo,P:Ld},Rd=/^D+$/,Bd=/^Y+$/,Yd=["D","DD","YY","YYYY"];function zd(e){return Rd.test(e)}function Hd(e){return Bd.test(e)}function Ud(e,t,n){const a=qd(e,t,n);if(console.warn(a),Yd.includes(e))throw new RangeError(a)}function qd(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Gd=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Vd=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Kd=/^'([^]*?)'?$/,Xd=/''/g,Qd=/[a-zA-Z]/;function st(e,t,n){const a=fn(),r=n?.locale??a.locale??Ut,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,i=xe(e,n?.in);if(!Qc(i))throw new RangeError("Invalid time value");let c=t.match(Vd).map(m=>{const d=m[0];if(d==="p"||d==="P"){const g=$d[d];return g(m,r.formatLong)}return m}).join("").match(Gd).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const d=m[0];if(d==="'")return{isToken:!1,value:Jd(m)};if(Sr[d])return{isToken:!0,value:m};if(d.match(Qd))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:m}});r.localize.preprocessor&&(c=r.localize.preprocessor(i,c));const u={firstWeekContainsDate:s,weekStartsOn:l,locale:r};return c.map(m=>{if(!m.isToken)return m.value;const d=m.value;(!n?.useAdditionalWeekYearTokens&&Hd(d)||!n?.useAdditionalDayOfYearTokens&&zd(d))&&Ud(d,t,String(e));const g=Sr[d[0]];return g(i,d,r.localize,u)}).join("")}function Jd(e){const t=e.match(Kd);return t?t[1].replace(Xd,"'"):e}function Zd(e,t){const n=xe(e,t?.in),a=n.getFullYear(),r=n.getMonth(),s=Ae(n,0);return s.setFullYear(a,r+1,0),s.setHours(0,0,0,0),s.getDate()}function eu(e,t){return xe(e,t?.in).getMonth()}function tu(e,t){return xe(e,t?.in).getFullYear()}function nu(e,t){return+xe(e)>+xe(t)}function au(e,t){return+xe(e)<+xe(t)}function ru(e,t,n){const[a,r]=Qt(n?.in,e,t);return a.getFullYear()===r.getFullYear()&&a.getMonth()===r.getMonth()}function ou(e,t,n){const[a,r]=Qt(n?.in,e,t);return a.getFullYear()===r.getFullYear()}function su(e,t,n){const a=xe(e,n?.in),r=a.getFullYear(),s=a.getDate(),l=Ae(e,0);l.setFullYear(r,t,15),l.setHours(0,0,0,0);const i=Zd(l);return a.setMonth(t,Math.min(s,i)),a}function iu(e,t,n){const a=xe(e,n?.in);return isNaN(+a)?Ae(e,NaN):(a.setFullYear(t),a)}const Tr=5,lu=4;function cu(e,t){const n=t.startOfMonth(e),a=n.getDay()>0?n.getDay():7,r=t.addDays(e,-a+1),s=t.addDays(r,Tr*7-1);return t.getMonth(e)===t.getMonth(s)?Tr:lu}function Po(e,t){const n=t.startOfMonth(e),a=n.getDay();return a===1?n:a===0?t.addDays(n,-6):t.addDays(n,-1*(a-1))}function du(e,t){const n=Po(e,t),a=cu(e,t);return t.addDays(n,a*7-1)}const Io={...Ut,labels:{labelDayButton:(e,t,n,a)=>{let r;a&&typeof a.format=="function"?r=a.format.bind(a):r=(l,i)=>st(l,i,{locale:Ut,...n});let s=r(e,"PPPP");return t.today&&(s=`Today, ${s}`),t.selected&&(s=`${s}, selected`),s},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let a;return n&&typeof n.format=="function"?a=n.format.bind(n):a=(r,s)=>st(r,s,{locale:Ut,...t}),a(e,"LLLL yyyy")},labelGridcell:(e,t,n,a)=>{let r;a&&typeof a.format=="function"?r=a.format.bind(a):r=(l,i)=>st(l,i,{locale:Ut,...n});let s=r(e,"PPPP");return t?.today&&(s=`Today, ${s}`),s},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let a;return n&&typeof n.format=="function"?a=n.format.bind(n):a=(r,s)=>st(r,s,{locale:Ut,...t}),a(e,"cccc")}}};class qe{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?$e.tz(this.options.timeZone):new this.Date,this.newDate=(a,r,s)=>this.overrides?.newDate?this.overrides.newDate(a,r,s):this.options.timeZone?new $e(a,r,s,this.options.timeZone):new Date(a,r,s),this.addDays=(a,r)=>this.overrides?.addDays?this.overrides.addDays(a,r):So(a,r),this.addMonths=(a,r)=>this.overrides?.addMonths?this.overrides.addMonths(a,r):Mo(a,r),this.addWeeks=(a,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(a,r):qc(a,r),this.addYears=(a,r)=>this.overrides?.addYears?this.overrides.addYears(a,r):Gc(a,r),this.differenceInCalendarDays=(a,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(a,r):Da(a,r),this.differenceInCalendarMonths=(a,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(a,r):To(a,r),this.eachMonthOfInterval=a=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(a):Zc(a),this.eachYearOfInterval=a=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(a):nd(a),s=new Set(r.map(i=>this.getYear(i)));if(s.size===r.length)return r;const l=[];return s.forEach(i=>{l.push(new Date(i,0,1))}),l},this.endOfBroadcastWeek=a=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(a):du(a,this),this.endOfISOWeek=a=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(a):ad(a),this.endOfMonth=a=>this.overrides?.endOfMonth?this.overrides.endOfMonth(a):Jc(a),this.endOfWeek=(a,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(a,r):Eo(a,this.options),this.endOfYear=a=>this.overrides?.endOfYear?this.overrides.endOfYear(a):td(a),this.format=(a,r,s)=>{const l=this.overrides?.format?this.overrides.format(a,r,this.options):st(a,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=a=>this.overrides?.getISOWeek?this.overrides.getISOWeek(a):Ta(a),this.getMonth=(a,r)=>this.overrides?.getMonth?this.overrides.getMonth(a,this.options):eu(a,this.options),this.getYear=(a,r)=>this.overrides?.getYear?this.overrides.getYear(a,this.options):tu(a,this.options),this.getWeek=(a,r)=>this.overrides?.getWeek?this.overrides.getWeek(a,this.options):Aa(a,this.options),this.isAfter=(a,r)=>this.overrides?.isAfter?this.overrides.isAfter(a,r):nu(a,r),this.isBefore=(a,r)=>this.overrides?.isBefore?this.overrides.isBefore(a,r):au(a,r),this.isDate=a=>this.overrides?.isDate?this.overrides.isDate(a):Do(a),this.isSameDay=(a,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(a,r):Xc(a,r),this.isSameMonth=(a,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(a,r):ru(a,r),this.isSameYear=(a,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(a,r):ou(a,r),this.max=a=>this.overrides?.max?this.overrides.max(a):Vc(a),this.min=a=>this.overrides?.min?this.overrides.min(a):Kc(a),this.setMonth=(a,r)=>this.overrides?.setMonth?this.overrides.setMonth(a,r):su(a,r),this.setYear=(a,r)=>this.overrides?.setYear?this.overrides.setYear(a,r):iu(a,r),this.startOfBroadcastWeek=(a,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(a,this):Po(a,this),this.startOfDay=a=>this.overrides?.startOfDay?this.overrides.startOfDay(a):cn(a),this.startOfISOWeek=a=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(a):ln(a),this.startOfMonth=a=>this.overrides?.startOfMonth?this.overrides.startOfMonth(a):ed(a),this.startOfWeek=(a,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(a,this.options):Vt(a,this.options),this.startOfYear=a=>this.overrides?.startOfYear?this.overrides.startOfYear(a):Oo(a),this.options={locale:Io,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),a={};for(let r=0;r<10;r++)a[r.toString()]=n.format(r);return a}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,a=>n[a]||a)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&qe.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:a,numerals:r}=this.options,s=n?.code;if(s&&qe.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:a,numberingSystem:r}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}qe.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const it=new qe;class Lo{constructor(t,n,a=it){this.date=t,this.displayMonth=n,this.outside=!!(n&&!a.isSameMonth(t,n)),this.dateLib=a,this.isoDate=a.format(t,"yyyy-MM-dd"),this.displayMonthId=a.format(n,"yyyy-MM"),this.dateMonthId=a.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class uu{constructor(t,n){this.date=t,this.weeks=n}}class fu{constructor(t,n){this.days=n,this.weekNumber=t}}function mu(e){return R.createElement("button",{...e})}function hu(e){return R.createElement("span",{...e})}function gu(e){const{size:t=24,orientation:n="left",className:a}=e;return R.createElement("svg",{className:a,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&R.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&R.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&R.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&R.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function yu(e){const{day:t,modifiers:n,...a}=e;return R.createElement("td",{...a})}function pu(e){const{day:t,modifiers:n,...a}=e,r=R.useRef(null);return R.useEffect(()=>{n.focused&&r.current?.focus()},[n.focused]),R.createElement("button",{ref:r,...a})}var ee;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(ee||(ee={}));var je;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(je||(je={}));var Qe;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Qe||(Qe={}));var ze;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(ze||(ze={}));function xu(e){const{options:t,className:n,components:a,classNames:r,...s}=e,l=[r[ee.Dropdown],n].join(" "),i=t?.find(({value:c})=>c===s.value);return R.createElement("span",{"data-disabled":s.disabled,className:r[ee.DropdownRoot]},R.createElement(a.Select,{className:l,...s},t?.map(({value:c,label:u,disabled:m})=>R.createElement(a.Option,{key:c,value:c,disabled:m},u))),R.createElement("span",{className:r[ee.CaptionLabel],"aria-hidden":!0},i?.label,R.createElement(a.Chevron,{orientation:"down",size:18,className:r[ee.Chevron]})))}function bu(e){return R.createElement("div",{...e})}function ku(e){return R.createElement("div",{...e})}function wu(e){const{calendarMonth:t,displayIndex:n,...a}=e;return R.createElement("div",{...a},e.children)}function vu(e){const{calendarMonth:t,displayIndex:n,...a}=e;return R.createElement("div",{...a})}function _u(e){return R.createElement("table",{...e})}function Nu(e){return R.createElement("div",{...e})}const $o=f.createContext(void 0);function mn(){const e=f.useContext($o);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function ju(e){const{components:t}=mn();return R.createElement(t.Dropdown,{...e})}function Su(e){const{onPreviousClick:t,onNextClick:n,previousMonth:a,nextMonth:r,...s}=e,{components:l,classNames:i,labels:{labelPrevious:c,labelNext:u}}=mn(),m=f.useCallback(g=>{r&&n?.(g)},[r,n]),d=f.useCallback(g=>{a&&t?.(g)},[a,t]);return R.createElement("nav",{...s},R.createElement(l.PreviousMonthButton,{type:"button",className:i[ee.PreviousMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:d},R.createElement(l.Chevron,{disabled:a?void 0:!0,className:i[ee.Chevron],orientation:"left"})),R.createElement(l.NextMonthButton,{type:"button",className:i[ee.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":u(r),onClick:m},R.createElement(l.Chevron,{disabled:r?void 0:!0,orientation:"right",className:i[ee.Chevron]})))}function Mu(e){const{components:t}=mn();return R.createElement(t.Button,{...e})}function Cu(e){return R.createElement("option",{...e})}function Du(e){const{components:t}=mn();return R.createElement(t.Button,{...e})}function Tu(e){const{rootRef:t,...n}=e;return R.createElement("div",{...n,ref:t})}function Au(e){return R.createElement("select",{...e})}function Ou(e){const{week:t,...n}=e;return R.createElement("tr",{...n})}function Eu(e){return R.createElement("th",{...e})}function Fu(e){return R.createElement("thead",{"aria-hidden":!0},R.createElement("tr",{...e}))}function Wu(e){const{week:t,...n}=e;return R.createElement("th",{...n})}function Pu(e){return R.createElement("th",{...e})}function Iu(e){return R.createElement("tbody",{...e})}function Lu(e){const{components:t}=mn();return R.createElement(t.Dropdown,{...e})}const $u=Object.freeze(Object.defineProperty({__proto__:null,Button:mu,CaptionLabel:hu,Chevron:gu,Day:yu,DayButton:pu,Dropdown:xu,DropdownNav:bu,Footer:ku,Month:wu,MonthCaption:vu,MonthGrid:_u,Months:Nu,MonthsDropdown:ju,Nav:Su,NextMonthButton:Mu,Option:Cu,PreviousMonthButton:Du,Root:Tu,Select:Au,Week:Ou,WeekNumber:Wu,WeekNumberHeader:Pu,Weekday:Eu,Weekdays:Fu,Weeks:Iu,YearsDropdown:Lu},Symbol.toStringTag,{value:"Module"}));function ht(e,t,n=!1,a=it){let{from:r,to:s}=e;const{differenceInCalendarDays:l,isSameDay:i}=a;return r&&s?(l(s,r)<0&&([r,s]=[s,r]),l(t,r)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?i(s,t):!n&&r?i(r,t):!1}function Oa(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function On(e){return!!(e&&typeof e=="object"&&"from"in e)}function Ea(e){return!!(e&&typeof e=="object"&&"after"in e)}function Fa(e){return!!(e&&typeof e=="object"&&"before"in e)}function Ro(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Bo(e,t){return Array.isArray(e)&&e.every(t.isDate)}function gt(e,t,n=it){const a=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:s,isAfter:l}=n;return a.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return r(e,i);if(Bo(i,n))return i.some(c=>r(e,c));if(On(i))return ht(i,e,!1,n);if(Ro(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(Oa(i)){const c=s(i.before,e),u=s(i.after,e),m=c>0,d=u<0;return l(i.before,i.after)?d&&m:m||d}return Ea(i)?s(e,i.after)>0:Fa(i)?s(i.before,e)>0:typeof i=="function"?i(e):!1})}function Ru(e,t,n,a,r){const{disabled:s,hidden:l,modifiers:i,showOutsideDays:c,broadcastCalendar:u,today:m=r.today()}=t,{isSameDay:d,isSameMonth:g,startOfMonth:y,isBefore:x,endOfMonth:p,isAfter:b}=r,k=n&&y(n),w=a&&p(a),v={[je.focused]:[],[je.outside]:[],[je.disabled]:[],[je.hidden]:[],[je.today]:[]},S={};for(const C of e){const{date:_,displayMonth:O}=C,N=!!(O&&!g(_,O)),W=!!(k&&x(_,k)),E=!!(w&&b(_,w)),F=!!(s&>(_,s,r)),ie=!!(l&>(_,l,r))||W||E||!u&&!c&&N||u&&c===!1&&N,$=d(_,m);N&&v.outside.push(C),F&&v.disabled.push(C),ie&&v.hidden.push(C),$&&v.today.push(C),i&&Object.keys(i).forEach(B=>{const T=i?.[B];T&>(_,T,r)&&(S[B]?S[B].push(C):S[B]=[C])})}return C=>{const _={[je.focused]:!1,[je.disabled]:!1,[je.hidden]:!1,[je.outside]:!1,[je.today]:!1},O={};for(const N in v){const W=v[N];_[N]=W.some(E=>E===C)}for(const N in S)O[N]=S[N].some(W=>W===C);return{..._,...O}}}function Bu(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[s])=>(n[s]?r.push(n[s]):t[je[s]]?r.push(t[je[s]]):t[Qe[s]]&&r.push(t[Qe[s]]),r),[t[ee.Day]])}function Yu(e){return{...$u,...e}}function zu(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,a])=>{n.startsWith("data-")&&(t[n]=a)}),t}function Hu(){const e={};for(const t in ee)e[ee[t]]=`rdp-${ee[t]}`;for(const t in je)e[je[t]]=`rdp-${je[t]}`;for(const t in Qe)e[Qe[t]]=`rdp-${Qe[t]}`;for(const t in ze)e[ze[t]]=`rdp-${ze[t]}`;return e}function Yo(e,t,n){return(n??new qe(t)).formatMonthYear(e)}const Uu=Yo;function qu(e,t,n){return(n??new qe(t)).format(e,"d")}function Gu(e,t=it){return t.format(e,"LLLL")}function Vu(e,t,n){return(n??new qe(t)).format(e,"cccccc")}function Ku(e,t=it){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Xu(){return""}function zo(e,t=it){return t.format(e,"yyyy")}const Qu=zo,Ju=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Yo,formatDay:qu,formatMonthCaption:Uu,formatMonthDropdown:Gu,formatWeekNumber:Ku,formatWeekNumberHeader:Xu,formatWeekdayName:Vu,formatYearCaption:Qu,formatYearDropdown:zo},Symbol.toStringTag,{value:"Module"}));function Zu(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Ju,...e}}function Wa(e,t,n,a){let r=(a??new qe(n)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const ef=Wa;function Pa(e,t,n){return(n??new qe(t)).formatMonthYear(e)}const tf=Pa;function Ho(e,t,n,a){let r=(a??new qe(n)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function Uo(e){return"Choose the Month"}function qo(){return""}const nf="Go to the Next Month";function Go(e,t){return nf}function Vo(e){return"Go to the Previous Month"}function Ko(e,t,n){return(n??new qe(t)).format(e,"cccc")}function Xo(e,t){return`Week ${e}`}function Qo(e){return"Week Number"}function Jo(e){return"Choose the Year"}const af=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:tf,labelDay:ef,labelDayButton:Wa,labelGrid:Pa,labelGridcell:Ho,labelMonthDropdown:Uo,labelNav:qo,labelNext:Go,labelPrevious:Vo,labelWeekNumber:Xo,labelWeekNumberHeader:Qo,labelWeekday:Ko,labelYearDropdown:Jo},Symbol.toStringTag,{value:"Module"})),Xe=(e,t,n)=>t||(n?typeof n=="function"?n:(...a)=>n:e);function rf(e,t){const n=t.locale?.labels??{};return{...af,...e??{},labelDayButton:Xe(Wa,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Xe(Uo,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Xe(Go,e?.labelNext,n.labelNext),labelPrevious:Xe(Vo,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Xe(Xo,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Xe(Jo,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Xe(Pa,e?.labelGrid,n.labelGrid),labelGridcell:Xe(Ho,e?.labelGridcell,n.labelGridcell),labelNav:Xe(qo,e?.labelNav,n.labelNav),labelWeekNumberHeader:Xe(Qo,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Xe(Ko,e?.labelWeekday,n.labelWeekday)}}function of(e,t,n,a,r){const{startOfMonth:s,startOfYear:l,endOfYear:i,eachMonthOfInterval:c,getMonth:u}=r;return c({start:l(e),end:i(e)}).map(g=>{const y=a.formatMonthDropdown(g,r),x=u(g),p=t&&g<s(t)||n&&g>s(n)||!1;return{value:x,label:y,disabled:p}})}function sf(e,t={},n={}){let a={...t?.[ee.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{a={...a,...n?.[r]}}),a}function lf(e,t,n,a){const r=a??e.today(),s=n?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),l=[];for(let i=0;i<7;i++){const c=e.addDays(s,i);l.push(c)}return l}function cf(e,t,n,a,r=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:i,getYear:c}=a,u=s(e),m=l(t),d=i({start:u,end:m});return r&&d.reverse(),d.map(g=>{const y=n.formatYearDropdown(g,a);return{value:c(g),label:y,disabled:!1}})}function df(e,t={}){const{weekStartsOn:n,locale:a}=t,r=n??a?.options?.weekStartsOn??0,s=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new $e(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},l=i=>{const c=s(i);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>s($e.tz(e)),newDate:(i,c,u)=>new $e(i,c,u,12,0,0,e),startOfDay:i=>s(i),startOfWeek:(i,c)=>{const u=s(i),m=c?.weekStartsOn??r,d=(u.getDay()-m+7)%7;return u.setDate(u.getDate()-d),u},startOfISOWeek:i=>{const c=s(i),u=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-u),c},startOfMonth:i=>{const c=s(i);return c.setDate(1),c},startOfYear:i=>{const c=s(i);return c.setMonth(0,1),c},endOfWeek:(i,c)=>{const u=s(i),g=(((c?.weekStartsOn??r)+6)%7-u.getDay()+7)%7;return u.setDate(u.getDate()+g),u},endOfISOWeek:i=>{const c=s(i),u=(7-c.getDay())%7;return c.setDate(c.getDate()+u),c},endOfMonth:i=>{const c=s(i);return c.setMonth(c.getMonth()+1,0),c},endOfYear:i=>{const c=s(i);return c.setMonth(11,31),c},eachMonthOfInterval:i=>{const c=s(i.start),u=s(i.end),m=[],d=new $e(c.getFullYear(),c.getMonth(),1,12,0,0,e),g=u.getFullYear()*12+u.getMonth();for(;d.getFullYear()*12+d.getMonth()<=g;)m.push(new $e(d,e)),d.setMonth(d.getMonth()+1,1);return m},addDays:(i,c)=>{const u=s(i);return u.setDate(u.getDate()+c),u},addWeeks:(i,c)=>{const u=s(i);return u.setDate(u.getDate()+c*7),u},addMonths:(i,c)=>{const u=s(i);return u.setMonth(u.getMonth()+c),u},addYears:(i,c)=>{const u=s(i);return u.setFullYear(u.getFullYear()+c),u},eachYearOfInterval:i=>{const c=s(i.start),u=s(i.end),m=[],d=new $e(c.getFullYear(),0,1,12,0,0,e);for(;d.getFullYear()<=u.getFullYear();)m.push(new $e(d,e)),d.setFullYear(d.getFullYear()+1,0,1);return m},getWeek:(i,c)=>{const u=l(i);return Aa(u,{weekStartsOn:c?.weekStartsOn??r,firstWeekContainsDate:c?.firstWeekContainsDate??a?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=l(i);return Ta(c)},differenceInCalendarDays:(i,c)=>{const u=l(i),m=l(c);return Da(u,m)},differenceInCalendarMonths:(i,c)=>{const u=l(i),m=l(c);return To(u,m)}}}const hn=e=>e instanceof HTMLElement?e:null,na=e=>[...e.querySelectorAll("[data-animated-month]")??[]],uf=e=>hn(e.querySelector("[data-animated-month]")),aa=e=>hn(e.querySelector("[data-animated-caption]")),ra=e=>hn(e.querySelector("[data-animated-weeks]")),ff=e=>hn(e.querySelector("[data-animated-nav]")),mf=e=>hn(e.querySelector("[data-animated-weekdays]"));function hf(e,t,{classNames:n,months:a,focused:r,dateLib:s}){const l=f.useRef(null),i=f.useRef(a),c=f.useRef(!1);f.useLayoutEffect(()=>{const u=i.current;if(i.current=a,!t||!e.current||!(e.current instanceof HTMLElement)||a.length===0||u.length===0||a.length!==u.length)return;const m=s.isSameMonth(a[0].date,u[0].date),d=s.isAfter(a[0].date,u[0].date),g=d?n[ze.caption_after_enter]:n[ze.caption_before_enter],y=d?n[ze.weeks_after_enter]:n[ze.weeks_before_enter],x=l.current,p=e.current.cloneNode(!0);if(p instanceof HTMLElement?(na(p).forEach(v=>{if(!(v instanceof HTMLElement))return;const S=uf(v);S&&v.contains(S)&&v.removeChild(S);const C=aa(v);C&&C.classList.remove(g);const _=ra(v);_&&_.classList.remove(y)}),l.current=p):l.current=null,c.current||m||r)return;const b=x instanceof HTMLElement?na(x):[],k=na(e.current);if(k?.every(w=>w instanceof HTMLElement)&&b&&b.every(w=>w instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const w=ff(e.current);w&&(w.style.zIndex="1"),k.forEach((v,S)=>{const C=b[S];if(!C)return;v.style.position="relative",v.style.overflow="hidden";const _=aa(v);_&&_.classList.add(g);const O=ra(v);O&&O.classList.add(y);const N=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),w&&(w.style.zIndex=""),_&&_.classList.remove(g),O&&O.classList.remove(y),v.style.position="",v.style.overflow="",v.contains(C)&&v.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const W=mf(C);W&&(W.style.opacity="0");const E=aa(C);E&&(E.classList.add(d?n[ze.caption_before_exit]:n[ze.caption_after_exit]),E.addEventListener("animationend",N));const F=ra(C);F&&F.classList.add(d?n[ze.weeks_before_exit]:n[ze.weeks_after_exit]),v.insertBefore(C,v.firstChild)})}})}function gf(e,t,n,a){const r=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:u,differenceInCalendarDays:m,differenceInCalendarMonths:d,endOfBroadcastWeek:g,endOfISOWeek:y,endOfMonth:x,endOfWeek:p,isAfter:b,startOfBroadcastWeek:k,startOfISOWeek:w,startOfWeek:v}=a,S=c?k(r,a):l?w(r):v(r),C=c?g(s):l?y(x(s)):p(x(s)),_=t&&(c?g(t):l?y(t):p(t)),O=_&&b(C,_)?_:C,N=m(O,S),W=d(s,r)+1,E=[];for(let $=0;$<=N;$++){const B=u(S,$);E.push(B)}const ie=(c?35:42)*W;if(i&&E.length<ie){const $=ie-E.length;for(let B=0;B<$;B++){const T=u(E[E.length-1],1);E.push(T)}}return E}function yf(e){const t=[];return e.reduce((n,a)=>{const r=a.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(r.slice())},t.slice())}function pf(e,t,n,a){const{numberOfMonths:r=1}=n,s=[];for(let l=0;l<r;l++){const i=a.addMonths(e,l);if(t&&i>t)break;s.push(i)}return s}function Ar(e,t,n,a){const{month:r,defaultMonth:s,today:l=a.today(),numberOfMonths:i=1}=e;let c=r||s||l;const{differenceInCalendarMonths:u,addMonths:m,startOfMonth:d}=a;if(n&&u(n,c)<i-1){const g=-1*(i-1);c=m(n,g)}return t&&u(c,t)<0&&(c=t),d(c)}function xf(e,t,n,a){const{addDays:r,endOfBroadcastWeek:s,endOfISOWeek:l,endOfMonth:i,endOfWeek:c,getISOWeek:u,getWeek:m,startOfBroadcastWeek:d,startOfISOWeek:g,startOfWeek:y}=a,x=e.reduce((p,b)=>{const k=n.broadcastCalendar?d(b,a):n.ISOWeek?g(b):y(b),w=n.broadcastCalendar?s(b):n.ISOWeek?l(i(b)):c(i(b)),v=t.filter(O=>O>=k&&O<=w),S=n.broadcastCalendar?35:42;if(n.fixedWeeks&&v.length<S){const O=t.filter(N=>{const W=S-v.length;return N>w&&N<=r(w,W)});v.push(...O)}const C=v.reduce((O,N)=>{const W=n.ISOWeek?u(N):m(N),E=O.find(ie=>ie.weekNumber===W),F=new Lo(N,b,a);return E?E.days.push(F):O.push(new fu(W,[F])),O},[]),_=new uu(b,C);return p.push(_),p},[]);return n.reverseMonths?x.reverse():x}function bf(e,t){let{startMonth:n,endMonth:a}=e;const{startOfYear:r,startOfDay:s,startOfMonth:l,endOfMonth:i,addYears:c,endOfYear:u,newDate:m,today:d}=t,{fromYear:g,toYear:y,fromMonth:x,toMonth:p}=e;!n&&x&&(n=x),!n&&g&&(n=t.newDate(g,0,1)),!a&&p&&(a=p),!a&&y&&(a=m(y,11,31));const b=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):g?n=m(g,0,1):!n&&b&&(n=r(c(e.today??d(),-100))),a?a=i(a):y?a=m(y,11,31):!a&&b&&(a=u(e.today??d())),[n&&s(n),a&&s(a)]}function kf(e,t,n,a){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=a,u=r?s:1,m=l(e);if(!t)return i(m,u);if(!(c(t,e)<s))return i(m,u)}function wf(e,t,n,a){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:s}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=a,u=r?s??1:1,m=l(e);if(!t)return i(m,-u);if(!(c(m,t)<=0))return i(m,-u)}function vf(e){const t=[];return e.reduce((n,a)=>n.concat(a.weeks.slice()),t.slice())}function En(e,t){const[n,a]=f.useState(e);return[t===void 0?n:t,a]}function _f(e,t){const[n,a]=bf(e,t),{startOfMonth:r,endOfMonth:s}=t,l=Ar(e,n,a,t),[i,c]=En(l,e.month?l:void 0);f.useEffect(()=>{const S=Ar(e,n,a,t);c(S)},[e.timeZone]);const{months:u,weeks:m,days:d,previousMonth:g,nextMonth:y}=f.useMemo(()=>{const S=pf(i,a,{numberOfMonths:e.numberOfMonths},t),C=gf(S,e.endMonth?s(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),_=xf(S,C,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=vf(_),N=yf(_),W=wf(i,n,e,t),E=kf(i,a,e,t);return{months:_,weeks:O,days:N,previousMonth:W,nextMonth:E}},[t,i.getTime(),a?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:x,onMonthChange:p}=e,b=S=>m.some(C=>C.days.some(_=>_.isEqualTo(S))),k=S=>{if(x)return;let C=r(S);n&&C<r(n)&&(C=r(n)),a&&C>r(a)&&(C=r(a)),c(C),p?.(C)};return{months:u,weeks:m,days:d,navStart:n,navEnd:a,previousMonth:g,nextMonth:y,goToMonth:k,goToDay:S=>{b(S)||k(S.date)}}}var at;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(at||(at={}));function Or(e){return!e[je.disabled]&&!e[je.hidden]&&!e[je.outside]}function Nf(e,t,n,a){let r,s=-1;for(const l of e){const i=t(l);Or(i)&&(i[je.focused]&&s<at.FocusedModifier?(r=l,s=at.FocusedModifier):a?.isEqualTo(l)&&s<at.LastFocused?(r=l,s=at.LastFocused):n(l.date)&&s<at.Selected?(r=l,s=at.Selected):i[je.today]&&s<at.Today&&(r=l,s=at.Today))}return r||(r=e.find(l=>Or(t(l)))),r}function jf(e,t,n,a,r,s,l){const{ISOWeek:i,broadcastCalendar:c}=s,{addDays:u,addMonths:m,addWeeks:d,addYears:g,endOfBroadcastWeek:y,endOfISOWeek:x,endOfWeek:p,max:b,min:k,startOfBroadcastWeek:w,startOfISOWeek:v,startOfWeek:S}=l;let _={day:u,week:d,month:m,year:g,startOfWeek:O=>c?w(O,l):i?v(O):S(O),endOfWeek:O=>c?y(O):i?x(O):p(O)}[e](n,t==="after"?1:-1);return t==="before"&&a?_=b([a,_]):t==="after"&&r&&(_=k([r,_])),_}function Zo(e,t,n,a,r,s,l,i=0){if(i>365)return;const c=jf(e,t,n.date,a,r,s,l),u=!!(s.disabled&>(c,s.disabled,l)),m=!!(s.hidden&>(c,s.hidden,l)),d=c,g=new Lo(c,d,l);return!u&&!m?g:Zo(e,t,g,a,r,s,l,i+1)}function Sf(e,t,n,a,r){const{autoFocus:s}=e,[l,i]=f.useState(),c=Nf(t.days,n,a||(()=>!1),l),[u,m]=f.useState(s?c:void 0);return{isFocusTarget:p=>!!c?.isEqualTo(p),setFocused:m,focused:u,blur:()=>{i(u),m(void 0)},moveFocus:(p,b)=>{if(!u)return;const k=Zo(p,b,u,t.navStart,t.navEnd,e,r);k&&(e.disableNavigation&&!t.days.some(v=>v.isEqualTo(k))||(t.goToDay(k),m(k)))}}}function Mf(e,t){const{selected:n,required:a,onSelect:r}=e,[s,l]=En(n,r?n:void 0),i=r?n:s,{isSameDay:c}=t,u=y=>i?.some(x=>c(x,y))??!1,{min:m,max:d}=e;return{selected:i,select:(y,x,p)=>{let b=[...i??[]];if(u(y)){if(i?.length===m||a&&i?.length===1)return;b=i?.filter(k=>!c(k,y))}else i?.length===d?b=[y]:b=[...b,y];return r||l(b),r?.(b,y,x,p),b},isSelected:u}}function Cf(e,t,n=0,a=0,r=!1,s=it){const{from:l,to:i}=t||{},{isSameDay:c,isAfter:u,isBefore:m}=s;let d;if(!l&&!i)d={from:e,to:n>0?void 0:e};else if(l&&!i)c(l,e)?n===0?d={from:l,to:e}:r?d={from:l,to:void 0}:d=void 0:m(e,l)?d={from:e,to:l}:d={from:l,to:e};else if(l&&i)if(c(l,e)&&c(i,e))r?d={from:l,to:i}:d=void 0;else if(c(l,e))d={from:l,to:n>0?void 0:e};else if(c(i,e))d={from:e,to:n>0?void 0:e};else if(m(e,l))d={from:e,to:i};else if(u(e,l))d={from:l,to:e};else if(u(e,i))d={from:l,to:e};else throw new Error("Invalid range");if(d?.from&&d?.to){const g=s.differenceInCalendarDays(d.to,d.from);a>0&&g>a?d={from:e,to:void 0}:n>1&&g<n&&(d={from:e,to:void 0})}return d}function Df(e,t,n=it){const a=Array.isArray(t)?t:[t];let r=e.from;const s=n.differenceInCalendarDays(e.to,e.from),l=Math.min(s,6);for(let i=0;i<=l;i++){if(a.includes(r.getDay()))return!0;r=n.addDays(r,1)}return!1}function Er(e,t,n=it){return ht(e,t.from,!1,n)||ht(e,t.to,!1,n)||ht(t,e.from,!1,n)||ht(t,e.to,!1,n)}function Tf(e,t,n=it){const a=Array.isArray(t)?t:[t];if(a.filter(i=>typeof i!="function").some(i=>typeof i=="boolean"?i:n.isDate(i)?ht(e,i,!1,n):Bo(i,n)?i.some(c=>ht(e,c,!1,n)):On(i)?i.from&&i.to?Er(e,{from:i.from,to:i.to},n):!1:Ro(i)?Df(e,i.dayOfWeek,n):Oa(i)?n.isAfter(i.before,i.after)?Er(e,{from:n.addDays(i.after,1),to:n.addDays(i.before,-1)},n):gt(e.from,i,n)||gt(e.to,i,n):Ea(i)||Fa(i)?gt(e.from,i,n)||gt(e.to,i,n):!1))return!0;const l=a.filter(i=>typeof i=="function");if(l.length){let i=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let u=0;u<=c;u++){if(l.some(m=>m(i)))return!0;i=n.addDays(i,1)}}return!1}function Af(e,t){const{disabled:n,excludeDisabled:a,resetOnSelect:r,selected:s,required:l,onSelect:i}=e,[c,u]=En(s,i?s:void 0),m=i?s:c;return{selected:m,select:(y,x,p)=>{const{min:b,max:k}=e;let w;if(y){const v=m?.from,S=m?.to,C=!!v&&!!S,_=!!v&&!!S&&t.isSameDay(v,S)&&t.isSameDay(y,v);r&&(C||!m?.from)?!l&&_?w=void 0:w={from:y,to:void 0}:w=Cf(y,m,b,k,l,t)}return a&&n&&w?.from&&w.to&&Tf({from:w.from,to:w.to},n,t)&&(w.from=y,w.to=void 0),i||u(w),i?.(w,y,x,p),w},isSelected:y=>m&&ht(m,y,!1,t)}}function Of(e,t){const{selected:n,required:a,onSelect:r}=e,[s,l]=En(n,r?n:void 0),i=r?n:s,{isSameDay:c}=t;return{selected:i,select:(d,g,y)=>{let x=d;return!a&&i&&i&&c(d,i)&&(x=void 0),r||l(x),r?.(x,d,g,y),x},isSelected:d=>i?c(i,d):!1}}function Ef(e,t){const n=Of(e,t),a=Mf(e,t),r=Af(e,t);switch(e.mode){case"single":return n;case"multiple":return a;case"range":return r;default:return}}function Ge(e,t){return e instanceof $e&&e.timeZone===t?e:new $e(e,t)}function Ht(e,t,n){return Ge(e,t)}function Fr(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Ht(e,t):Array.isArray(e)?e.map(a=>a instanceof Date?Ht(a,t):a):On(e)?{...e,from:e.from?Ge(e.from,t):e.from,to:e.to?Ge(e.to,t):e.to}:Oa(e)?{before:Ht(e.before,t),after:Ht(e.after,t)}:Ea(e)?{after:Ht(e.after,t)}:Fa(e)?{before:Ht(e.before,t)}:e}function oa(e,t,n){return e&&(Array.isArray(e)?e.map(a=>Fr(a,t)):Fr(e,t))}function Ff(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Ge(t.today,n)),t.month&&(t.month=Ge(t.month,n)),t.defaultMonth&&(t.defaultMonth=Ge(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Ge(t.startMonth,n)),t.endMonth&&(t.endMonth=Ge(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Ge(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(oe=>Ge(oe,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Ge(t.selected.from,n):t.selected.from,to:t.selected.to?Ge(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=oa(t.disabled,n)),t.hidden!==void 0&&(t.hidden=oa(t.hidden,n)),t.modifiers)){const oe={};Object.keys(t.modifiers).forEach(re=>{oe[re]=oa(t.modifiers?.[re],n)}),t.modifiers=oe}const{components:a,formatters:r,labels:s,dateLib:l,locale:i,classNames:c}=f.useMemo(()=>{const oe={...Io,...t.locale},re=t.broadcastCalendar?1:t.weekStartsOn,G=t.noonSafe&&t.timeZone?df(t.timeZone,{weekStartsOn:re,locale:oe}):void 0,de=t.dateLib&&G?{...G,...t.dateLib}:t.dateLib??G,be=new qe({locale:oe,weekStartsOn:re,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},de);return{dateLib:be,components:Yu(t.components),formatters:Zu(t.formatters),labels:rf(t.labels,be.options),locale:oe,classNames:{...Hu(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:l.today()});const{captionLayout:u,mode:m,navLayout:d,numberOfMonths:g=1,onDayBlur:y,onDayClick:x,onDayFocus:p,onDayKeyDown:b,onDayMouseEnter:k,onDayMouseLeave:w,onNextClick:v,onPrevClick:S,showWeekNumber:C,styles:_}=t,{formatCaption:O,formatDay:N,formatMonthDropdown:W,formatWeekNumber:E,formatWeekNumberHeader:F,formatWeekdayName:ie,formatYearDropdown:$}=r,B=_f(t,l),{days:T,months:M,navStart:U,navEnd:I,previousMonth:P,nextMonth:z,goToMonth:Q}=B,fe=Ru(T,t,U,I,l),{isSelected:Y,select:H,selected:te}=Ef(t,l)??{},{blur:he,focused:ve,isFocusTarget:Be,moveFocus:Me,setFocused:A}=Sf(t,B,fe,Y??(()=>!1),l),{labelDayButton:J,labelGridcell:le,labelGrid:ue,labelMonthDropdown:Oe,labelNav:_e,labelPrevious:We,labelNext:Ne,labelWeekday:Pe,labelWeekNumber:ke,labelWeekNumberHeader:D,labelYearDropdown:L}=s,K=f.useMemo(()=>lf(l,t.ISOWeek,t.broadcastCalendar,t.today),[l,t.ISOWeek,t.broadcastCalendar,t.today]),q=m!==void 0||x!==void 0,ne=f.useCallback(()=>{P&&(Q(P),S?.(P))},[P,Q,S]),X=f.useCallback(()=>{z&&(Q(z),v?.(z))},[Q,z,v]),pe=f.useCallback((oe,re)=>G=>{G.preventDefault(),G.stopPropagation(),A(oe),!re.disabled&&(H?.(oe.date,re,G),x?.(oe.date,re,G))},[H,x,A]),ge=f.useCallback((oe,re)=>G=>{A(oe),p?.(oe.date,re,G)},[p,A]),Se=f.useCallback((oe,re)=>G=>{he(),y?.(oe.date,re,G)},[he,y]),Te=f.useCallback((oe,re)=>G=>{const de={ArrowLeft:[G.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[G.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[G.shiftKey?"year":"week","after"],ArrowUp:[G.shiftKey?"year":"week","before"],PageUp:[G.shiftKey?"year":"month","before"],PageDown:[G.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(de[G.key]){G.preventDefault(),G.stopPropagation();const[be,ae]=de[G.key];Me(be,ae)}b?.(oe.date,re,G)},[Me,b,t.dir]),me=f.useCallback((oe,re)=>G=>{k?.(oe.date,re,G)},[k]),ce=f.useCallback((oe,re)=>G=>{w?.(oe.date,re,G)},[w]),Ie=f.useCallback(oe=>re=>{const G=Number(re.target.value),de=l.setMonth(l.startOfMonth(oe),G);Q(de)},[l,Q]),Ce=f.useCallback(oe=>re=>{const G=Number(re.target.value),de=l.setYear(l.startOfMonth(oe),G);Q(de)},[l,Q]),{className:Le,style:yt}=f.useMemo(()=>({className:[c[ee.Root],t.className].filter(Boolean).join(" "),style:{..._?.[ee.Root],...t.style}}),[c,t.className,t.style,_]),Je=zu(t),pt=f.useRef(null);hf(pt,!!t.animate,{classNames:c,months:M,focused:ve,dateLib:l});const _t={dayPickerProps:t,selected:te,select:H,isSelected:Y,months:M,nextMonth:z,previousMonth:P,goToMonth:Q,getModifiers:fe,components:a,classNames:c,styles:_,labels:s,formatters:r};return R.createElement($o.Provider,{value:_t},R.createElement(a.Root,{rootRef:t.animate?pt:void 0,className:Le,style:yt,dir:t.dir,id:t.id,lang:t.lang??i.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Je},R.createElement(a.Months,{className:c[ee.Months],style:_?.[ee.Months]},!t.hideNavigation&&!d&&R.createElement(a.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[ee.Nav],style:_?.[ee.Nav],"aria-label":_e(),onPreviousClick:ne,onNextClick:X,previousMonth:P,nextMonth:z}),M.map((oe,re)=>R.createElement(a.Month,{"data-animated-month":t.animate?"true":void 0,className:c[ee.Month],style:_?.[ee.Month],key:re,displayIndex:re,calendarMonth:oe},d==="around"&&!t.hideNavigation&&re===0&&R.createElement(a.PreviousMonthButton,{type:"button",className:c[ee.PreviousMonthButton],tabIndex:P?void 0:-1,"aria-disabled":P?void 0:!0,"aria-label":We(P),onClick:ne,"data-animated-button":t.animate?"true":void 0},R.createElement(a.Chevron,{disabled:P?void 0:!0,className:c[ee.Chevron],orientation:t.dir==="rtl"?"right":"left"})),R.createElement(a.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[ee.MonthCaption],style:_?.[ee.MonthCaption],calendarMonth:oe,displayIndex:re},u?.startsWith("dropdown")?R.createElement(a.DropdownNav,{className:c[ee.Dropdowns],style:_?.[ee.Dropdowns]},(()=>{const G=u==="dropdown"||u==="dropdown-months"?R.createElement(a.MonthsDropdown,{key:"month",className:c[ee.MonthsDropdown],"aria-label":Oe(),classNames:c,components:a,disabled:!!t.disableNavigation,onChange:Ie(oe.date),options:of(oe.date,U,I,r,l),style:_?.[ee.Dropdown],value:l.getMonth(oe.date)}):R.createElement("span",{key:"month"},W(oe.date,l)),de=u==="dropdown"||u==="dropdown-years"?R.createElement(a.YearsDropdown,{key:"year",className:c[ee.YearsDropdown],"aria-label":L(l.options),classNames:c,components:a,disabled:!!t.disableNavigation,onChange:Ce(oe.date),options:cf(U,I,r,l,!!t.reverseYears),style:_?.[ee.Dropdown],value:l.getYear(oe.date)}):R.createElement("span",{key:"year"},$(oe.date,l));return l.getMonthYearOrder()==="year-first"?[de,G]:[G,de]})(),R.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},O(oe.date,l.options,l))):R.createElement(a.CaptionLabel,{className:c[ee.CaptionLabel],role:"status","aria-live":"polite"},O(oe.date,l.options,l))),d==="around"&&!t.hideNavigation&&re===g-1&&R.createElement(a.NextMonthButton,{type:"button",className:c[ee.NextMonthButton],tabIndex:z?void 0:-1,"aria-disabled":z?void 0:!0,"aria-label":Ne(z),onClick:X,"data-animated-button":t.animate?"true":void 0},R.createElement(a.Chevron,{disabled:z?void 0:!0,className:c[ee.Chevron],orientation:t.dir==="rtl"?"left":"right"})),re===g-1&&d==="after"&&!t.hideNavigation&&R.createElement(a.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[ee.Nav],style:_?.[ee.Nav],"aria-label":_e(),onPreviousClick:ne,onNextClick:X,previousMonth:P,nextMonth:z}),R.createElement(a.MonthGrid,{role:"grid","aria-multiselectable":m==="multiple"||m==="range","aria-label":ue(oe.date,l.options,l)||void 0,className:c[ee.MonthGrid],style:_?.[ee.MonthGrid]},!t.hideWeekdays&&R.createElement(a.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[ee.Weekdays],style:_?.[ee.Weekdays]},C&&R.createElement(a.WeekNumberHeader,{"aria-label":D(l.options),className:c[ee.WeekNumberHeader],style:_?.[ee.WeekNumberHeader],scope:"col"},F()),K.map(G=>R.createElement(a.Weekday,{"aria-label":Pe(G,l.options,l),className:c[ee.Weekday],key:String(G),style:_?.[ee.Weekday],scope:"col"},ie(G,l.options,l)))),R.createElement(a.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[ee.Weeks],style:_?.[ee.Weeks]},oe.weeks.map(G=>R.createElement(a.Week,{className:c[ee.Week],key:G.weekNumber,style:_?.[ee.Week],week:G},C&&R.createElement(a.WeekNumber,{week:G,style:_?.[ee.WeekNumber],"aria-label":ke(G.weekNumber,{locale:i}),className:c[ee.WeekNumber],scope:"row",role:"rowheader"},E(G.weekNumber,l)),G.days.map(de=>{const{date:be}=de,ae=fe(de);if(ae[je.focused]=!ae.hidden&&!!ve?.isEqualTo(de),ae[Qe.selected]=Y?.(be)||ae.selected,On(te)){const{from:Ze,to:et}=te;ae[Qe.range_start]=!!(Ze&&et&&l.isSameDay(be,Ze)),ae[Qe.range_end]=!!(Ze&&et&&l.isSameDay(be,et)),ae[Qe.range_middle]=ht(te,be,!0,l)}const xt=sf(ae,_,t.modifiersStyles),lt=Bu(ae,c,t.modifiersClassNames),Nt=!q&&!ae.hidden?le(be,ae,l.options,l):void 0;return R.createElement(a.Day,{key:`${de.isoDate}_${de.displayMonthId}`,day:de,modifiers:ae,className:lt.join(" "),style:xt,role:"gridcell","aria-selected":ae.selected||void 0,"aria-label":Nt,"data-day":de.isoDate,"data-month":de.outside?de.dateMonthId:void 0,"data-selected":ae.selected||void 0,"data-disabled":ae.disabled||void 0,"data-hidden":ae.hidden||void 0,"data-outside":de.outside||void 0,"data-focused":ae.focused||void 0,"data-today":ae.today||void 0},!ae.hidden&&q?R.createElement(a.DayButton,{className:c[ee.DayButton],style:_?.[ee.DayButton],type:"button",day:de,modifiers:ae,disabled:!ae.focused&&ae.disabled||void 0,"aria-disabled":ae.focused&&ae.disabled||void 0,tabIndex:Be(de)?0:-1,"aria-label":J(be,ae,l.options,l),onClick:pe(de,ae),onBlur:Se(de,ae),onFocus:ge(de,ae),onKeyDown:Te(de,ae),onMouseEnter:me(de,ae),onMouseLeave:ce(de,ae)},N(be,l.options,l)):!ae.hidden&&N(de.date,l.options,l))})))))))),t.footer&&R.createElement(a.Footer,{className:c[ee.Footer],style:_?.[ee.Footer],role:"status","aria-live":"polite"},t.footer)))}function Wr(e){if(!e)return"";const t=e.split("-");if(t.length!==3)return e;const n=new Date(Number(t[0]),Number(t[1])-1,Number(t[2]));return Number.isFinite(n.getTime())?st(n,"MMM d"):e}function Wf({from:e,to:t,onApply:n,onCancel:a}){const r=f.useMemo(()=>{const u={from:void 0,to:void 0};if(e){const m=e.split("-");u.from=new Date(Number(m[0]),Number(m[1])-1,Number(m[2]))}if(t){const m=t.split("-");u.to=new Date(Number(m[0]),Number(m[1])-1,Number(m[2]))}return u},[e,t]),[s,l]=f.useState(r),i=()=>{if(!s?.from)return;const u=st(s.from,"yyyy-MM-dd"),m=s.to?st(s.to,"yyyy-MM-dd"):u;n?.(u,m)},c=!!s?.from;return o.jsxs("div",{className:"p-4",children:[o.jsx(Ff,{mode:"range",selected:s,onSelect:l,numberOfMonths:2,showOutsideDays:!1,classNames:{root:"rdp-oai",months:"flex gap-4",month:"space-y-3",month_caption:"flex justify-center items-center h-8",caption_label:"text-sm font-medium text-oai-black dark:text-oai-white",nav:"flex items-center justify-between absolute inset-x-0 top-0 px-2",button_previous:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",button_next:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",chevron:"w-4 h-4",month_grid:"border-collapse",weekdays:"flex",weekday:"w-9 text-center text-xs font-medium text-oai-gray-400 dark:text-oai-gray-500 py-1",week:"flex",day:"w-9 h-9 text-center text-sm p-0 relative",day_button:"w-full h-full inline-flex items-center justify-center rounded-md transition-colors hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 text-oai-black dark:text-oai-white cursor-pointer rdp-day-btn",today:"font-bold",selected:"rdp-selected",range_start:"rdp-selected rdp-range-start",range_end:"rdp-selected rdp-range-end",range_middle:"rdp-range-mid",outside:"text-oai-gray-300 dark:text-oai-gray-600",disabled:"text-oai-gray-300 dark:text-oai-gray-600 cursor-not-allowed",hidden:"invisible"},styles:{months:{position:"relative"}}}),o.jsxs("div",{className:"flex items-center justify-end gap-2 mt-4 pt-3 border-t border-oai-gray-200 dark:border-oai-gray-700",children:[c&&s.from&&o.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[st(s.from,"MMM d, yyyy"),s.to&&s.to.getTime()!==s.from.getTime()?` — ${st(s.to,"MMM d, yyyy")}`:""]}),o.jsx(Mn,{variant:"secondary",size:"sm",onClick:a,children:"Cancel"}),o.jsx(Mn,{variant:"primary",size:"sm",onClick:i,disabled:!c,children:"Apply"})]})]})}const Pr={claude:290,codex:165},Ir={system_prompt:{l:.55,c:.05},messages:{l:.65,c:.18},tool_calls:{l:.6,c:.14},custom_agents:{l:.55,c:.1},reasoning:{l:.7,c:.08}};function Pf(e,t){const n=Pr[t]??Pr.claude,a=Ir[e]||Ir.system_prompt;return`oklch(${a.l} ${a.c} ${n})`}const If=[{key:"system_prompt",from:["system_prefix"]},{key:"messages",from:["user_input","conversation_history","assistant_response"]},{key:"tool_calls",from:["tool_calls"]},{key:"custom_agents",from:["subagents"]},{key:"reasoning",from:["reasoning"]}],Lf=[["by_type","dashboard.context_breakdown.exec_details.group_by_type"],["by_executable","dashboard.context_breakdown.exec_details.group_by_executable"],["by_command","dashboard.context_breakdown.exec_details.group_by_command"],["by_duration","dashboard.context_breakdown.exec_details.group_by_duration"],["by_output","dashboard.context_breakdown.exec_details.group_by_output"],["by_exit","dashboard.context_breakdown.exec_details.group_by_exit"]],$f={duration:.18,ease:[.4,0,.2,1]},Rf={height:0,opacity:0},Bf={height:"auto",opacity:1},Yf={height:0,opacity:0};function zf(e){const t=Number(e||0);return Number.isFinite(t)&&t>0?t:0}function Hf(e,t){const n={};for(const a of["input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","total_tokens"])n[a]=Math.round(Number(e?.[a]||0)*t);return n}function es(e,t=null){const n=e.reduce((l,i)=>l+Number(i.totals.total_tokens||0),0),a=zf(t),r=a||n,s=a&&n>0?a/n:1;return e.map(l=>{const i=s===1?l.totals:Hf(l.totals,s);return{...l,totals:i,percent:r>0?Number((i.total_tokens/r*100).toFixed(2)):0}}).sort((l,i)=>i.totals.total_tokens-l.totals.total_tokens)}function Uf(e,t=null){const n=new Map;for(const r of e||[])n.set(r.key,r);const a=If.map(r=>{const s={input_tokens:0,cached_input_tokens:0,cache_creation_input_tokens:0,output_tokens:0,reasoning_output_tokens:0,total_tokens:0};for(const l of r.from){const i=n.get(l);if(!i)continue;const c=i.totals||{};s.input_tokens+=c.input_tokens||0,s.cached_input_tokens+=c.cached_input_tokens||0,s.cache_creation_input_tokens+=c.cache_creation_input_tokens||0,s.output_tokens+=c.output_tokens||0,s.reasoning_output_tokens+=c.reasoning_output_tokens||0,s.total_tokens+=c.total_tokens||0}return{key:r.key,totals:s}});return es(a,t)}function qf(e,t=null){const n=e?.totals||{},a=Number(n.reasoning_output_tokens||0),r=(e?.tool_calls_breakdown?.categories||[]).reduce((u,m)=>m?.name==="Text Response"?u:u+Number(m?.totals?.total_tokens||0),0),s=Number(n.total_tokens||0),l=Math.min(Math.max(0,r),Math.max(0,s-a)),c=[{key:"messages",totals:{total_tokens:Math.max(0,s-a-l)}},{key:"tool_calls",totals:{total_tokens:l}},{key:"reasoning",totals:{total_tokens:a}}];return es(c,t)}const Lr="MCP: ";function Gf(e){if(!e?.categories?.length)return{mcpSet:null,residualSet:e,mcpTotalTokens:0};const t=[],n=[];let a=0;for(const r of e.categories){const s=String(r?.name||"");s.startsWith(Lr)?(t.push({...r,name:s.slice(Lr.length)}),a+=Number(r?.totals?.total_tokens||0)):n.push(r)}return t.length===0?{mcpSet:null,residualSet:e,mcpTotalTokens:0}:(t.sort((r,s)=>(s.totals?.total_tokens||0)-(r.totals?.total_tokens||0)),{mcpSet:{...e,categories:t},residualSet:{...e,categories:n},mcpTotalTokens:a})}function $r(e){return h(`dashboard.context_breakdown.category.${e}`)}function rt(e){return!Number.isFinite(Number(e))||Number(e)<=0?"0":Ue(Number(e),{decimals:1})}function Vf(e){return typeof e!="string"?"":e.startsWith("mcp__")?e.split("__").slice(2).join("__")||e:e.includes("/")&&e.split("/").pop()||e}function Kf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||null,a=Number(n?n.input_tokens||0:t?.input_tokens||0),r=Number(n?n.output_tokens||0:t?.output_tokens||0),s=Number(n?n.cached_input_tokens||0:t?.cache_read||0),l=Number(n?n.cache_creation_input_tokens||0:t?.cache_creation||0),i=Number(n?n.total_tokens||a+r:t?.total_tokens||r);return{name:Vf(t?.name?String(t.name):""),calls:Number(t?.calls||0),input_tokens:a,output_tokens:r,cache_read:s,cache_creation:l,total_tokens:Number(i||0)}}).filter(t=>t.name).sort((t,n)=>(n.total_tokens||0)-(t.total_tokens||0))}function Xf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Array.isArray(t?.tools)?t.tools:[],r=Number(n.input_tokens||0),s=Number(n.output_tokens||0),l=Number(n.cached_input_tokens||0),i=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),totals:{input_tokens:r,output_tokens:s,cached_input_tokens:l,cache_creation_input_tokens:i,total_tokens:Number(n.total_tokens||r+s)},tools:Kf(a),toolCount:a.length}}).filter(t=>t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Qf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Number(n.input_tokens||0),r=Number(n.output_tokens||0),s=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{key:t?.key?String(t.key):"",name:t?.name?String(t.name):"",totals:{input_tokens:a,output_tokens:r,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+r+s+l)}}}).filter(t=>t.key||t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Jf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{};return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),total_tokens:Number(n.total_tokens||0)}}).filter(t=>t.name).sort((t,n)=>Number(n.total_tokens||0)-Number(t.total_tokens||0))}function Zf(e){if(e?.key){const t=h(`dashboard.context_breakdown.message_details.${e.key}`);if(t&&!t.includes("dashboard.context_breakdown"))return t}return e?.name||""}function em(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Number(n.input_tokens||0),r=Number(n.output_tokens||0),s=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),failures:Number(t?.failures||0),duration_ms:Number(t?.duration_ms||0),max_duration_ms:Number(t?.max_duration_ms||0),output_chars:Number(t?.output_chars||0),output_lines:Number(t?.output_lines||0),totals:{input_tokens:a,output_tokens:r,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+r)}}}).filter(t=>t.name).sort((t,n)=>Number(n.totals.total_tokens||0)-Number(t.totals.total_tokens||0))}function Rr(e){const t=Number(e||0);return!Number.isFinite(t)||t<=0?"0ms":t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(1)}s`:`${Math.round(t/1e3)}s`}function tm(e,t){return e?t==="by_executable"?e.by_executable||[]:t==="by_command"?e.by_command||[]:t==="by_duration"?e.by_duration||[]:t==="by_output"?e.by_output||[]:t==="by_exit"?e.by_exit||[]:e.by_type||[]:[]}function Br(e){return e==="exec_command"||e==="Bash"}function ts(e){return e==="codex"?"dashboard.context_breakdown.empty_codex":"dashboard.context_breakdown.empty"}function nm(e){return e==="codex"?"dashboard.context_breakdown.error_codex":"dashboard.context_breakdown.error"}function am(e){return e==="codex"?"dashboard.context_breakdown.footnote_codex":"dashboard.context_breakdown.footnote"}const rm=10;function ft({level:e=0,colorSquare:t=null,label:n,labelSuffix:a=null,labelTone:r="default",hasChevron:s=!1,open:l=!1,onToggle:i,tokens:c,percent:u=null,children:m,share:d=null,fillColor:g=null}){const y=r==="accent"?"text-oai-brand truncate":r==="muted"?"text-oai-gray-500 dark:text-oai-gray-400 truncate":r==="strong"?"font-medium text-oai-black dark:text-oai-white truncate":"text-oai-gray-700 dark:text-oai-gray-300 truncate",x=o.jsx("span",{className:"shrink-0 flex items-center justify-start",style:{width:rm},"aria-hidden":!t,children:t}),p=o.jsxs(o.Fragment,{children:[x,o.jsx("span",{className:y,children:n}),a,s&&o.jsx(Re.span,{animate:{rotate:l?90:0},transition:{duration:.15},className:"shrink-0 text-oai-gray-400 dark:text-oai-gray-500 flex items-center","aria-hidden":"true",children:o.jsx(hl,{size:11})})]}),b=g&&d!=null&&d>0,k=b?Math.max(0,Math.min(100,d)):0;return o.jsxs("li",{className:"min-w-0 group/row",children:[o.jsxs("div",{className:"relative grid grid-cols-[minmax(0,1fr)_64px_48px] items-center gap-2 text-xs py-1 px-1 rounded-sm transition-colors duration-150",style:b?{backgroundImage:`linear-gradient(to right, ${g.replace(/\)\s*$/," / 0.10)")} 0%, ${g.replace(/\)\s*$/," / 0.10)")} ${k}%, transparent ${k}%)`}:void 0,children:[s?o.jsx("button",{type:"button",onClick:i,"aria-expanded":l,className:"relative flex items-center gap-1.5 min-w-0 text-left cursor-pointer focus-visible:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-oai-brand/40 rounded-sm",children:p}):o.jsx("div",{className:"relative flex items-center gap-1.5 min-w-0",children:p}),o.jsx("span",{className:"relative text-right tabular-nums text-oai-gray-500 dark:text-oai-gray-400",children:c||""}),o.jsx("span",{className:"relative text-right tabular-nums text-[10px] text-oai-gray-400 dark:text-oai-gray-500 font-normal",children:u||""})]}),s&&m?o.jsx(Na,{initial:!1,children:l&&o.jsx(Re.div,{initial:Rf,animate:Bf,exit:Yf,transition:$f,style:{overflow:"hidden"},children:m},"content")}):null]})}function Yr({execDetails:e,source:t="claude"}){const[n,a]=f.useState("by_type"),r=em(tm(e,n)),s=t==="codex",l=s?"grid-cols-[minmax(0,1fr)_48px_48px_72px_72px_60px_60px]":"grid-cols-[minmax(0,1fr)_56px_60px]";return o.jsxs("div",{className:"mt-2 ml-4",children:[o.jsx("div",{className:"flex flex-wrap items-center gap-1 rounded-md bg-oai-gray-100 dark:bg-oai-gray-900 p-1 w-fit max-w-full",children:Lf.map(([i,c])=>o.jsx("button",{type:"button",onClick:()=>a(i),className:"h-7 px-2 rounded-md text-[10px] font-medium transition-colors "+(n===i?"bg-oai-white dark:bg-oai-gray-800 text-oai-black dark:text-oai-white shadow-sm":"text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-white/70 dark:hover:bg-oai-gray-800/70"),children:h(c)},i))}),r.length===0?o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:"—"}):o.jsx("div",{className:"mt-2 overflow-x-auto",children:o.jsxs("div",{role:"table","aria-label":h("dashboard.context_breakdown.exec_details.title"),className:s?"min-w-[420px]":"min-w-[260px]",children:[o.jsxs("div",{role:"row",className:`grid ${l} gap-2 py-1.5 mb-1 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400`,children:[o.jsx("span",{role:"columnheader",children:h("dashboard.context_breakdown.exec_details.kind_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.calls_column")}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.failures_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.duration_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.max_duration_column")})]}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.tool_details.total_column")}),s&&o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.output_column")})]}),r.map((i,c)=>o.jsxs(Re.div,{role:"row",className:`grid ${l} gap-2 py-1.5`,title:i.name,initial:{opacity:0},animate:{opacity:1},transition:{duration:.18,delay:c*.02},children:[o.jsx("span",{role:"cell",className:"min-w-0 text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:i.name}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ue(i.calls||0)}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ue(i.failures||0)}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Rr(i.duration_ms||0)}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Rr(i.max_duration_ms||0)})]}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:rt(i.totals.total_tokens||0)}),s&&o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ue(i.output_lines||0)})]},i.name))]})})]})}function rn({toolSet:e,execDetails:t,source:n,codexQueueFallback:a}){const[r,s]=f.useState({}),[l,i]=f.useState(!1),c=Xf(e?.categories||[]);function u(m){s(d=>({...d,[m]:!d[m]}))}return c.length===0?o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:n==="codex"&&a?h("dashboard.context_breakdown.tool_details.unavailable_codex"):h(ts(n))}):o.jsx("ul",{className:"mt-0.5 mb-0.5 space-y-0.5",children:c.map(m=>{const d=m.toolCount>0,g=m.name==="Execution"&&t,y=g&&m.tools.some(p=>Br(p.name)),x=!!r[m.name];return o.jsxs(ft,{level:1,label:m.name,labelTone:"strong",hasChevron:d||g&&!y,open:x||g&&!y&&l,onToggle:()=>{d?u(m.name):g&&!y&&i(p=>!p)},tokens:rt(m.totals.total_tokens||0),percent:null,children:[d&&o.jsx("ul",{className:"space-y-0.5",children:m.tools.map(p=>{const b=g&&Br(p.name);return o.jsx(ft,{level:2,label:p.name,labelTone:b?"accent":"default",hasChevron:b,open:l,onToggle:()=>i(k=>!k),tokens:rt(p.total_tokens||0),percent:null,children:b&&o.jsx(Yr,{execDetails:t,source:n})},p.name)})}),g&&!y&&o.jsx(Yr,{execDetails:t,source:n})]},m.name)})})}function om({from:e,to:t,source:n="claude",referenceTotalTokens:a=null,onLoadingChange:r=null}){const[s,l]=f.useState(null),[i,c]=f.useState(!1),[u,m]=f.useState(null),[d,g]=f.useState({});function y(M){g(U=>({...U,[M]:!U[M]}))}if(f.useEffect(()=>{let M=!1;return c(!0),r?.(!0),m(null),Hi({from:e,to:t,source:n,timeZone:uo(),tzOffsetMinutes:co()}).then(U=>{M||l(U)}).catch(U=>{M||m(U?.message||String(U))}).finally(()=>{M||(c(!1),r?.(!1))}),()=>{M=!0}},[e,t,n]),i&&!s)return o.jsxs("div",{children:[o.jsx("div",{className:"h-1 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden animate-pulse"}),o.jsx("div",{className:"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-2",children:[0,1,2,3,4].map(M=>o.jsx("div",{className:"h-3 rounded bg-oai-gray-100 dark:bg-oai-gray-800 animate-pulse",style:{animationDelay:`${M*80}ms`}},M))}),o.jsx("p",{className:"mt-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:h("dashboard.context_breakdown.loading_hint")})]});if(u)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:h(nm(n))});if(!s||s.scope!=="supported"||!s.totals?.total_tokens)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:h(ts(n))});const x=n==="claude"?Uf(s.categories||[],a):qf(s,a),p=s.tool_calls_breakdown||null,b=s.skills_breakdown||null,k=s.message_breakdown||null,w=s.configured_resources||null,v=s.exec_command_breakdown||null,S=Jf(b?.skills||[]),C=Qf(k?.categories||[]),_=n==="codex"&&(s?.breakdown_status==="queue_fallback"||s?.fallback==="queue_totals"),O=n==="claude"?p?.tool_calls||null:p||null,{mcpSet:N,residualSet:W,mcpTotalTokens:E}=Gf(O),F=n==="claude"&&p?.subagents||null,ie=F?.categories?.length>0||(w?.custom_agents_count||0)>0,$=n==="claude"?(W?.categories||[]).reduce((M,U)=>M+Number(U?.totals?.total_tokens||0),0):0,B=n==="claude"?(F?.categories||[]).reduce((M,U)=>M+Number(U?.totals?.total_tokens||0),0):0,T=[...x].sort((M,U)=>(U.totals?.total_tokens||0)-(M.totals?.total_tokens||0));return o.jsxs("div",{role:"region","aria-label":h("dashboard.context_breakdown.bar_aria",{summary:x.filter(M=>M.percent>0).filter(M=>!(n==="claude"&&(M.key==="tool_calls"||M.key==="custom_agents"))).map(M=>`${$r(M.key)} ${M.percent}%`).join(",")}),children:[o.jsxs("ul",{className:"space-y-0.5",children:[T.map(M=>{const U=M.key==="system_prompt",I=M.key==="messages",P=M.key==="tool_calls",z=M.key==="custom_agents";if(M.key,n==="claude"&&(P||z))return null;const Q=I&&C.length>0||P&&(W?.categories?.length>0||_)||z&&ie&&F,fe=!!d[M.key],Y=Pf(M.key,n),H=o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0",style:{backgroundColor:Y},"aria-hidden":"true"}),te=U?o.jsxs("span",{className:"relative inline-flex shrink-0 group",children:[o.jsx(ja,{size:11,className:"text-oai-gray-400 dark:text-oai-gray-500 cursor-help","aria-hidden":"true"}),o.jsx("span",{role:"tooltip",className:"pointer-events-none absolute left-1/2 bottom-full z-20 mb-1.5 -translate-x-1/2 w-64 rounded-md border border-oai-gray-200 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 px-2.5 py-1.5 text-[11px] leading-snug text-oai-gray-700 dark:text-oai-gray-200 shadow-md opacity-0 group-hover:opacity-100 transition-opacity",children:h("dashboard.context_breakdown.system_prefix_tooltip")})]}):null,he=M.percent>0?`${M.percent.toFixed(M.percent<.1&&M.percent>0?2:1)}%`:"0.0%";return o.jsxs(ft,{level:0,colorSquare:H,label:$r(M.key),labelSuffix:te,tokens:rt(M.totals?.total_tokens||0),percent:he,hasChevron:Q,open:fe,onToggle:()=>y(M.key),share:M.percent,fillColor:Y,children:[I&&o.jsx("ul",{className:"space-y-0.5",children:C.map(ve=>o.jsx(ft,{level:1,label:Zf(ve),tokens:rt(ve.totals.total_tokens||0),percent:null},ve.key||ve.name))}),P&&W&&o.jsx(rn,{toolSet:W,execDetails:v,source:n,codexQueueFallback:_}),P&&_&&!W&&o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:h("dashboard.context_breakdown.tool_details.unavailable_codex")}),z&&F&&o.jsx(rn,{toolSet:F,execDetails:null,source:n,codexQueueFallback:!1})]},M.key)}),n==="claude"&&W?.categories?.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.tool_calls"),tokens:rt($),percent:null,hasChevron:!0,open:!!d.tool_calls_aux,onToggle:()=>y("tool_calls_aux"),children:o.jsx(rn,{toolSet:W,execDetails:v,source:n,codexQueueFallback:!1})}),n==="claude"&&F?.categories?.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.custom_agents"),tokens:rt(B),percent:null,hasChevron:!0,open:!!d.custom_agents_aux,onToggle:()=>y("custom_agents_aux"),children:o.jsx(rn,{toolSet:F,execDetails:null,source:n,codexQueueFallback:!1})}),N?.categories?.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.mcp_servers"),tokens:rt(E),percent:null,hasChevron:!0,open:!!d.mcp_servers,onToggle:()=>y("mcp_servers"),children:o.jsx(rn,{toolSet:N,execDetails:null,source:n,codexQueueFallback:!1})}),S.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.skills"),tokens:rt(S.reduce((M,U)=>M+(U.total_tokens||0),0)),percent:null,hasChevron:!0,open:!!d.skills,onToggle:()=>y("skills"),children:o.jsx("ul",{className:"space-y-0.5",children:S.slice(0,12).map(M=>o.jsx(ft,{level:1,label:M.name,tokens:rt(M.total_tokens),percent:null},M.name))})})]}),o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:h(am(n))}),_?o.jsx("p",{className:"mt-2 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:h("dashboard.context_breakdown.tool_details.unavailable_codex")}):null,w?o.jsxs("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:[Ue(w.skills_count||0)," skills ·"," ",Ue(w.mcp_servers_count||0)," MCP servers ·"," ",Ue(w.custom_agents_count||0)," agents ·"," ",Ue(w.memory_files_count||0)," memory files"]}):null]})}function ns(e){if(!Number.isFinite(Number(e)))return null;const t=Number(e);return t<=0?null:Ue(t,{decimals:1})}function as(e,t,n){const a=Number(e);if(!Number.isFinite(a)||a<=0)return null;const r=An(t);return(t===lo?a:a*n)<.01?`<${r}0.01`:dn(a,{decimals:2,currency:t,rate:n})}function sm(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?{key:t,label:zr(t)}:{key:t.key,label:t.label||zr(t.key)}):[]}function im(e){if(typeof e!="string")return null;const t=e.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!t)return null;const n=Number(t[0]);return Number.isFinite(n)?n:null}const lm={CODEX:"#10b981",CLAUDE:"#8b5cf6",OPENCODE:"#f59e0b",GEMINI:"#3b82f6",KIMI:"#a78bfa","KILO-CLI":"#facc15","KILO-CODE":"#facc15"};function sa(e,t){const n=e?.toUpperCase?.()||"";return lm[n]||`hsl(${150+t*40}, 60%, 45%)`}function cm(e){const t=String(e?.source||"").trim().toLowerCase(),n=String(e?.label||"").trim().toLowerCase();return t==="claude"||n==="claude"?"claude":t==="codex"||n==="codex"?"codex":null}const dm={day:"usage.period.day",week:"usage.period.week",month:"usage.period.month",total:"usage.period.total",custom:"usage.period.custom"};function zr(e){const t=dm[e];return t?h(t):String(e).toUpperCase()}function um({loading:e,onClick:t}){const n=Ma();return o.jsx(Mn,{variant:"secondary",size:"sm",disabled:e,onClick:t,"aria-label":h("usage.button.refresh"),className:"w-8 p-0",children:o.jsx(Re.span,{"aria-hidden":"true",animate:e?{rotate:360}:{rotate:0},transition:e&&!n?{duration:1,repeat:1/0,ease:"linear"}:{duration:.3},style:{display:"inline-block"},children:"↻"})})}function fm({period:e,periods:t,onPeriodChange:n,summaryValue:a,summaryLabel:r,summaryCostValue:s,onCostInfo:l,fleetData:i=[],onRefresh:c,loading:u,className:m="",customFrom:d,customTo:g,onCustomRangeApply:y,customRangeOpen:x,onCustomRangeOpenChange:p,onOpenShare:b,from:k,to:w}){const v=sm(t),S=im(String(a??"")),C=S!=null,[_,O]=f.useState(null),{resolvedTheme:N}=so(),{currency:W,rate:E}=un(),F=N==="dark",ie=F?"rgba(10,10,10,0.98)":"rgba(255,255,255,0.96)",$=F?"rgba(10,10,10,0)":"rgba(255,255,255,0)",B=i.filter(T=>T.models?.length>0);return o.jsxs(Sa,{className:m,children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6",children:[o.jsx("div",{role:"tablist","aria-label":h("usage.overview.tablist_aria"),className:"flex gap-1",children:v.map(T=>{const M=e===T.key,U=`text-xs font-medium px-3 py-1.5 rounded-md transition-colors ${M?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800"}`;if(T.key==="custom"){const I=M&&d&&g?`${Wr(d)} — ${Wr(g)}`:T.label;return o.jsxs(gl,{open:x,onOpenChange:P=>{P?n?.("custom"):p?.(P)},children:[o.jsx(yl,{render:o.jsx("button",{role:"tab","aria-selected":M,type:"button",className:U}),children:I}),o.jsx(pl,{children:o.jsx(xl,{sideOffset:8,side:"bottom",align:"start",className:"!z-[9999]",children:o.jsx(bl,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:o.jsx(Wf,{from:d,to:g,onApply:y,onCancel:()=>p?.(!1)})})})})]},"custom")}return o.jsx("button",{role:"tab","aria-selected":M,type:"button",className:U,onClick:()=>n?.(T.key),children:T.label},T.key)})}),o.jsxs("div",{className:"flex items-center gap-1.5",children:[b?o.jsxs("button",{type:"button",onClick:b,"aria-label":h("share.button.aria"),className:"inline-flex items-center justify-center gap-1.5 h-8 px-3 text-xs font-medium rounded-md border border-oai-gray-300 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-brand hover:text-oai-brand transition-colors duration-200",children:[o.jsx(Tl,{className:"h-3.5 w-3.5",strokeWidth:2}),h("share.button.label")]}):null,c&&o.jsx(um,{loading:u,onClick:c})]})]}),o.jsxs("div",{className:"text-center mb-8",children:[o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wider mb-3",children:r}),o.jsx("div",{className:"text-6xl md:text-7xl font-bold text-oai-black dark:text-oai-white tracking-tight tabular-nums",children:C?o.jsx(Ec,{value:S,displayValue:a,fontSize:72,padding:6,gap:1,textColor:"var(--oai-black, #111827)",fontWeight:700,gradientHeight:F?0:8,gradientFrom:ie,gradientTo:$,counterStyle:{paddingLeft:0,paddingRight:0,gap:0},digitStyle:{width:"0.88ch"}}):a}),s&&o.jsx("div",{className:"flex items-center justify-center gap-2 mt-4",children:l?o.jsxs("button",{type:"button",onClick:l,className:"inline-flex items-center gap-1.5 text-xl font-bold text-oai-brand hover:text-oai-brand-dark dark:hover:text-oai-brand-light transition-colors cursor-pointer","aria-label":h("usage.overview.cost_breakdown_aria"),children:[s,o.jsx(ja,{size:16,strokeWidth:2,className:"opacity-80"})]}):o.jsx("span",{className:"text-xl font-bold text-oai-brand",children:s})})]}),B.length>0&&o.jsxs("div",{className:"space-y-6",children:[o.jsx("div",{role:"img","aria-label":h("usage.overview.distribution_aria",{items:B.map(T=>h("usage.overview.distribution_item",{label:T.label,percent:T.totalPercent})).join(",")}),className:"h-1.5 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden flex",children:B.map((T,M)=>{const U=sa(T.label,M);return o.jsx(Re.div,{initial:{width:0},animate:{width:`${T.totalPercent}%`},transition:{duration:.5,delay:.45+M*.04,ease:[.16,1,.3,1]},className:"h-full",style:{backgroundColor:U},title:`${T.label}: ${T.totalPercent}%`},T.label)})}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:B.map((T,M)=>{const U=sa(T.label,M),I=_===T.label;return o.jsxs("button",{"aria-expanded":I,"aria-controls":`provider-details-${T.label}`,"aria-label":h("usage.overview.provider_card_aria",{provider:T.label,percent:T.totalPercent,tokens:ns(T.usage)||"0",cost:as(T.usd,W,E)||`${An(W)}0`,action:h(I?"usage.overview.collapse":"usage.overview.expand")}),onClick:()=>O(I?null:T.label),className:`min-w-0 text-left p-3 rounded-lg border transition-colors duration-200 ${I?"border-oai-gray-300 dark:border-oai-gray-600 bg-oai-gray-50 dark:bg-oai-gray-800":"border-oai-gray-200 dark:border-oai-gray-700 hover:border-oai-gray-300 dark:hover:border-oai-gray-600"}`,children:[o.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[o.jsx(ho,{provider:T.label,size:15,color:U,className:"text-oai-gray-700 dark:text-oai-gray-300 shrink-0"}),o.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:T.label})]}),o.jsxs("div",{className:"text-lg font-semibold text-oai-black dark:text-oai-white tabular-nums",children:[T.totalPercent,"%"]}),o.jsx("div",{className:"mt-0.5 text-[11px] text-oai-gray-400 dark:text-oai-gray-400 tabular-nums",children:h("usage.overview.model_count",{count:T.models.length})})]},T.label)})}),_&&o.jsx("div",{id:`provider-details-${_}`,role:"region","aria-label":h("usage.overview.model_details_aria",{provider:_}),className:"mt-2",children:B.filter(T=>T.label===_).map(T=>{const M=sa(T.label,0),U=cm(T),I=[...T.models].sort((z,Q)=>(Q.share||0)-(z.share||0)),P=U?`${U==="claude"?"Claude":"Codex"} Context Breakdown`:T.label;return o.jsx(mm,{provider:T,color:M,providerHeading:P,contextSource:U,from:k,to:w,sortedModels:I},T.label)})})]})]})}function mm({provider:e,color:t,providerHeading:n,contextSource:a,from:r,to:s,sortedModels:l}){const{currency:i,rate:c}=un(),[u,m]=f.useState(!1),d=String(e?.source||e?.label||"").trim().toLowerCase()==="antigravity";return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 mb-3",children:[o.jsx(ho,{provider:e.label,size:14,color:t,className:"shrink-0"}),o.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:n}),a&&u&&o.jsx(kl,{size:12,className:"text-oai-gray-400 dark:text-oai-gray-500 animate-spin shrink-0","aria-label":h("dashboard.context_breakdown.loading_aria")})]}),d&&o.jsxs("p",{className:"mb-3 text-[10px] leading-snug text-oai-gray-400 dark:text-oai-gray-500",children:[o.jsxs("span",{className:"font-medium text-oai-gray-500 dark:text-oai-gray-400",children:[h("usage.overview.antigravity_notice_title"),"."]})," ",h("usage.overview.antigravity_notice_body")]}),a?o.jsx("div",{className:"mb-4 pb-4 border-b border-oai-gray-200 dark:border-oai-gray-700",children:o.jsx(om,{from:r,to:s,source:a,referenceTotalTokens:e.usage,onLoadingChange:m})}):null,o.jsx("div",{className:"space-y-3",children:l.map(g=>{const y=ns(g.usage),x=as(g.cost,i,c),p=Math.max(0,Math.min(100,Number(g.share)||0));return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-baseline gap-4 mb-1.5",children:[o.jsx("span",{className:"flex-1 min-w-0 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate",title:g.name,children:g.name}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:y}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:x}),o.jsxs("span",{className:"shrink-0 w-12 text-right text-sm text-oai-black dark:text-oai-white tabular-nums",children:[g.share,"%"]})]}),o.jsx("div",{className:"h-[3px] bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden",role:"progressbar","aria-valuenow":p,"aria-valuemin":0,"aria-valuemax":100,children:o.jsx("div",{className:"h-full transition-[width] duration-500 ease-out",style:{width:`${p}%`,backgroundColor:t,opacity:.45}})})]},g.id||g.name)})})]})}function Hr(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,a=Math.floor(n),r=Math.ceil(n);if(a===r)return e[a];const s=n-a;return e[a]+(e[r]-e[a])*s}function hm(e){const t=Array.isArray(e)?e.filter(r=>Number.isFinite(r)&&r>0).sort((r,s)=>r-s):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let a=n;if(t.length>=4){const r=Hr(t,.25),s=Hr(t,.75),l=Math.max(s-r,0),i=s+l*1.5;n>i&&(a=Math.max(i,s,1))}return{rawMax:n,effectiveMax:Math.max(a,1),clippedValues:Array.isArray(e)?e.map(r=>!Number.isFinite(r)||r<=0?0:Math.min(r,Math.max(a,1))):[]}}function gm({value:e,displayValue:t,scale:n,index:a,row:r,totalBars:s}){const l=Ma(),i=n.effectiveMax>0?t/n.effectiveMax*100:0,c=`${Math.max(i,2)}%`,u=r?.missing,m=r?.future,d=s<=7?"6px":s<=14?"4px":"3px";return o.jsx(Re.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:l?0:.3,delay:l?0:.4+a*.008,ease:[.16,1,.3,1]},style:{originY:1},children:o.jsxs("div",{className:"absolute inset-x-0 bottom-0",style:{height:c},children:[o.jsx("div",{"data-trend-bar":"true",className:"h-full w-full cursor-pointer transition-all duration-200 group-hover:brightness-110",style:{minHeight:e>0?"4px":"2px",opacity:u||m?.2:1,borderRadius:`${d} ${d} 0 0`,background:e>0?"#10b981":"var(--oai-gray-100)"},title:`${e.toLocaleString()}`}),o.jsx("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-oai-black text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-20",children:e.toLocaleString()})]})})}function ym({rows:e,from:t,to:n,period:a,timeZoneLabel:r,showTimeZoneLabel:s=!0,className:l=""}){const i=Array.isArray(e)&&e.length?e:[],c=i.map(m=>{if(m?.missing||m?.future)return 0;const d=m?.billable_total_tokens??m?.total_tokens??m?.value;if(d==null)return 0;const g=Number(d);return Number.isFinite(g)?g:0}),u=hm(c);return o.jsxs("div",{className:`rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5 ${l}`,children:[o.jsxs("div",{className:"mb-3",children:[o.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:h("trend.monitor.label")}),s&&r&&o.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:r})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(m=>o.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-m}%`}},m))}),o.jsx("div",{className:"h-40 flex items-end gap-1 relative z-0",children:c.length>0?c.map((m,d)=>o.jsx(gm,{value:m,displayValue:u.clippedValues[d]??0,scale:u,index:d,row:i[d],totalBars:c.length},d)):o.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:o.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),t&&n&&o.jsxs("div",{className:"flex justify-between text-xs text-oai-gray-500 dark:text-oai-gray-300 font-medium pt-2 border-t border-oai-gray-100 dark:border-oai-gray-800",children:[o.jsx("span",{children:t}),o.jsx("span",{children:n})]})]})]})}const Ur={"idle-living":"idle/living.svg","idle-doze":"idle/doze.svg","idle-follow":"idle/follow.svg","idle-look":"idle/look.svg","idle-yawn":"idle/yawn.svg","idle-collapse":"idle/collapse.svg","working-building":"working/building.svg","working-carrying":"working/carrying.svg","working-conducting":"working/conducting.svg","working-confused":"working/confused.svg","working-debugger":"working/debugger.svg","working-juggling":"working/juggling.svg","working-overheated":"working/overheated.svg","working-pushing":"working/pushing.svg","working-sweeping":"working/sweeping.svg","working-thinking":"working/thinking.svg","working-typing":"working/typing.svg","working-ultrathink":"working/ultrathink.svg","working-wizard":"working/wizard.svg","mini-alert":"mini/alert.svg","mini-crabwalk":"mini/crabwalk.svg","mini-enter":"mini/enter.svg","mini-enter-sleep":"mini/enter-sleep.svg","mini-happy":"mini/happy.svg","mini-idle":"mini/idle.svg","mini-peek":"mini/peek.svg","mini-sleep":"mini/sleep.svg","react-double":"react/double.svg","react-drag":"react/drag.svg","react-left":"react/left.svg","react-right":"react/right.svg","collapse-sleep":"sleep/collapse-sleep.svg",sleeping:"sleep/sleeping.svg",wake:"sleep/wake.svg",disconnected:"status/disconnected.svg",error:"status/error.svg",notification:"status/notification.svg",happy:"happy.svg","static-base":"static-base.svg"},ia=new Map;async function pm(e){if(ia.has(e))return ia.get(e);const t=await fetch(`/clawd/${e}`);if(!t.ok)return null;const a=(await t.text()).replace(/<svg([^>]*)>/,(r,s)=>`<svg${s.replace(/\s+width="[^"]*"/g,"").replace(/\s+height="[^"]*"/g,"")} width="100%" height="100%">`);return ia.set(e,a),a}function xm({state:e="idle-living",size:t=48,className:n=""}){const[a,r]=f.useState(""),s=f.useRef(null),i=bm()?"static-base":e,c=Ur[i]||Ur["static-base"];return f.useEffect(()=>{let u=!1;return pm(c).then(m=>{!u&&m&&r(m)}),()=>{u=!0}},[c]),f.useEffect(()=>{const u=s.current?.querySelector("svg");if(u)try{const m=u.getBBox();m.width>0&&m.height>0&&u.setAttribute("viewBox",`${m.x-2} ${m.y-2} ${m.width+4} ${m.height+4}`)}catch{}},[a]),o.jsx("div",{ref:s,className:`clawd-animated ${n}`,style:{width:t,height:t,display:"inline-flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},dangerouslySetInnerHTML:{__html:a}})}function bm(){const[e,t]=f.useState(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches);return f.useEffect(()=>{const n=window.matchMedia("(prefers-reduced-motion: reduce)"),a=r=>t(r.matches);return n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[]),e}function km({todayTokens:e=0,isSyncing:t=!1,hasError:n=!1,isDisconnected:a=!1}={}){return f.useMemo(()=>n?"error":a?"disconnected":t?"working-typing":e===0?"sleeping":e<5e4?"idle-living":e<2e5?"idle-look":e<5e5?"working-ultrathink":e<2e6?"working-typing":"working-ultrathink",[e,t,n,a])}const qr="macAppBannerDismissed",wm="leaderboardBannerDismissed",vm="https://github.com/mm7894215/TokenTracker/releases/latest",Gr="tokentracker_native_app",vn=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Gr,"1"),!0):localStorage.getItem(Gr)==="1"}catch{return!1}})();function _m({todayTokens:e=0,isSyncing:t=!1,enterDelay:n=0}){const{openLoginModal:a}=Ui(),{signedIn:r}=fo(),s=km({todayTokens:e,isSyncing:t}),l=vn?wm:qr,[i,c]=f.useState(()=>{try{return localStorage.getItem(l)==="1"?!0:!vn&&new URLSearchParams(window.location.search).get("from")==="menubar"?(localStorage.setItem(qr,"1"),!0):!1}catch{return!1}}),u=f.useCallback(()=>{c(!0);try{localStorage.setItem(l,"1")}catch{}},[l]);if(i)return null;let m,d,g,y,x,p;vn&&r?(m="View the Leaderboard",d="Compare your usage globally",g="Leaderboard",y=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M2 8.5V10h8V8.5M6 1.5v6m0 0L3.5 5M6 7.5l2.5-2.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",transform:"rotate(180 6 6)"})}),x=()=>{window.location.pathname="/leaderboard"}):vn?(m="Join the Leaderboard",d="Log in to compare your usage with others",g="Log In",y=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M6.5 1.5h3a1 1 0 011 1v7a1 1 0 01-1 1h-3M5 8.5L7.5 6 5 3.5M7.5 6H1.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),x=a):(m="Try the Menu Bar App",d="Always-on stats with Clawd companion",g="Download",y=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M6 2v6m0 0L3.5 5.5M6 8l2.5-2.5M2 10h8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),p=vm);const b=p?Re.a:Re.button,k=p?{href:p,target:"_blank",rel:"noopener noreferrer"}:{onClick:x};return o.jsx(Re.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.35,delay:n,ease:[.16,1,.3,1]},className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx("div",{className:"flex-shrink-0",children:o.jsx(xm,{state:s,size:56})}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-oai-gray-900 dark:text-oai-white",children:m}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-0.5",children:d})]}),o.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[o.jsxs(b,{...k,whileHover:{scale:1.03},whileTap:{scale:.97},className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-oai-gray-900 dark:bg-oai-white dark:text-oai-gray-900 rounded-md hover:opacity-90 transition-opacity",children:[g,y]}),o.jsx("button",{onClick:u,className:"p-1 text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-300 transition-colors","aria-label":"Dismiss",children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})})})]})]})})}const Vr="widgetOnboardingDismissed",Kr="tokentracker_native_app",Nm=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Kr,"1"),!0):localStorage.getItem(Kr)==="1"}catch{return!1}})();function jm({enterDelay:e=0}){const[t,n]=f.useState(()=>{try{return localStorage.getItem(Vr)==="1"}catch{return!1}}),a=f.useCallback(()=>{n(!0);try{localStorage.setItem(Vr,"1")}catch{}},[]);return Nm?o.jsx(Na,{initial:!1,children:!t&&o.jsxs(Re.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8,transition:{duration:.2,ease:[.4,0,.2,1]}},transition:{duration:.35,delay:e,ease:[.16,1,.3,1]},className:"relative rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:[o.jsx("button",{type:"button",onClick:a,"aria-label":h("dashboard.widgets.dismiss_aria"),className:"absolute top-2.5 right-2.5 z-10 inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-gray-300 dark:focus-visible:ring-oai-gray-600 transition-colors",children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),o.jsx("div",{className:"rounded-lg overflow-hidden ring-1 ring-black/5 dark:ring-white/10 shadow-sm",children:o.jsx("img",{src:"/widgets-overview.png",alt:h("dashboard.widgets.title"),width:734,height:552,className:"w-full h-auto block",loading:"lazy",decoding:"async"})}),o.jsxs("div",{className:"mt-4",children:[o.jsx("div",{className:"text-sm font-medium tracking-tight text-oai-gray-900 dark:text-oai-white",children:h("dashboard.widgets.title")}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-1 leading-snug",children:h("dashboard.widgets.hint")})]})]},"widget-onboarding-card")}):null}function Sm(e){const{copy:t,onOpenShare:n,screenshotMode:a,showExpiredGate:r,showAuthGate:s,screenshotTitleLine1:l,screenshotTitleLine2:i,identityDisplayName:c,identityStartDate:u,activeDays:m,identitySubscriptions:d,identityScrambleDurationMs:g,projectUsageEntries:y,projectUsageLimit:x,setProjectUsageLimit:p,topModels:b,signedIn:k,publicMode:w,isLocalMode:v,shouldShowInstall:S,installPrompt:C,handleCopyInstall:_,installCopied:O,installInitCmdDisplay:N,trendRowsForDisplay:W,trendFromForDisplay:E,trendToForDisplay:F,usageFrom:ie,usageTo:$,period:B,trendTimeZoneLabel:T,activityHeatmapBlock:M,isCapturing:U,handleShareToX:I,screenshotTwitterButton:P,screenshotTwitterHint:z,periodsForDisplay:Q,setSelectedPeriod:fe,customFrom:Y,customTo:H,onCustomRangeApply:te,customRangeOpen:he,onCustomRangeOpenChange:ve,summaryLabel:Be,summaryValue:Me,summaryTotalTokensRaw:A,summaryCostValue:J,summaryConversationsValue:le,rollingUsage:ue,costInfoEnabled:Oe,openCostModal:_e,costModalOpen:We,closeCostModal:Ne,allowBreakdownToggle:Pe,refreshAll:ke,usageLoadingState:D,fleetData:L,hasDetailsActual:K,dailyEmptyPrefix:q,installSyncCmd:ne,dailyEmptySuffix:X,detailsColumns:pe,ariaSortFor:ge,toggleSort:Se,sortIconFor:Te,pagedDetails:me,dailyBreakdownRows:ce,dailyBreakdownColumns:Ie,dailyBreakdownAriaSortFor:Ce,dailyBreakdownSortIconFor:Le,dailyBreakdownDateKey:yt,detailsDateKey:Je,renderDetailDate:pt,renderDailyBreakdownDate:_t,renderDetailCell:oe,DETAILS_PAGED_PERIODS:re,detailsPageCount:G,detailsPage:de,setDetailsPage:be}=e,ae=null,xt=null,lt=.06,Nt=.05,Ze=.11;let et=0;const ct=()=>Ze+lt*et++,Fn=Ze+lt*5;return o.jsxs(o.Fragment,{children:[o.jsx(_c,{bare:!a,hideHeader:a,header:ae,footer:a?null:xt,className:a?"screenshot-mode":"",children:r||s?null:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-4",children:[o.jsxs("div",{className:"lg:col-span-4 flex flex-col gap-4 min-w-0 order-2 lg:order-1",children:[a?o.jsx("div",{className:"flex items-start justify-between gap-4",children:o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("span",{className:"text-3xl md:text-4xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:l}),o.jsx("span",{className:"text-2xl md:text-3xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:i})]})}):null,v?o.jsx(_m,{todayTokens:A,isSyncing:D,enterDelay:ct()}):null,o.jsx(Yt,{delay:ct(),children:o.jsx(Lc,{title:t("dashboard.identity.title"),subtitle:t("dashboard.identity.subtitle"),period:B,rankLabel:u??t("identity_card.rank_placeholder"),streakDays:m,subscriptions:d,periodConversations:le,rolling:ue,topModels:b})}),v?o.jsx(jm,{enterDelay:ct()}):null,S?o.jsx(Yt,{delay:ct(),children:o.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-3",children:[o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 mb-1.5",children:C}),o.jsxs(Re.button,{onClick:_,whileHover:{scale:1.01},whileTap:{scale:.99},className:"w-full flex items-center justify-between px-3 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-700 rounded-lg transition-colors",children:[o.jsx("code",{className:"text-xs font-mono text-oai-gray-700 dark:text-oai-gray-300",children:N}),o.jsx(Re.span,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:"text-xs text-oai-brand",children:O?"Copied ✓":"Copy"},O?"copied":"copy")]})]})}):null,M&&o.jsx(Yt,{delay:ct(),children:M}),a?null:o.jsx(Yt,{delay:ct(),children:o.jsx(ym,{rows:W,from:E,to:F,period:B,timeZoneLabel:T,showTimeZoneLabel:!1})}),a?o.jsxs("div",{className:"mt-4 flex flex-col items-center gap-2","data-screenshot-exclude":"true",style:U?{display:"none"}:void 0,children:[o.jsx(Mn,{type:"button",onClick:I,variant:"primary",size:"lg",disabled:U,children:P}),o.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300",children:z})]}):null]}),o.jsxs("div",{className:"lg:col-span-8 flex flex-col gap-4 min-w-0 order-1 lg:order-2",children:[o.jsx(Yt,{delay:Nt,children:o.jsx(fm,{period:B,periods:Q,onPeriodChange:fe,summaryLabel:Be,summaryValue:Me,summaryCostValue:J,onCostInfo:Oe?_e:null,fleetData:L,onRefresh:a?null:ke,loading:D,onOpenShare:a?null:n,customFrom:Y,customTo:H,onCustomRangeApply:te,customRangeOpen:he,onCustomRangeOpenChange:ve,from:ie,to:$})}),a?null:o.jsx(Yt,{delay:Fn,children:o.jsx(Pc,{projectEntries:y,projectLimit:x,onProjectLimitChange:p,copy:t,hasDetailsActual:K,dailyEmptyPrefix:q,installSyncCmd:ne,dailyEmptySuffix:X,detailsColumns:pe,ariaSortFor:ge,toggleSort:Se,sortIconFor:Te,pagedDetails:me,dailyBreakdownRows:ce,dailyBreakdownColumns:Ie,dailyBreakdownAriaSortFor:Ce,dailyBreakdownSortIconFor:Le,dailyBreakdownDateKey:yt,detailsDateKey:Je,renderDetailDate:pt,renderDailyBreakdownDate:_t,renderDetailCell:oe,DETAILS_PAGED_PERIODS:re,period:B,detailsPageCount:G,detailsPage:de,setDetailsPage:be})})]})]})}),o.jsx(Wc,{isOpen:We,onClose:Ne,fleetData:L})]})}function rs(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const Ft=new Map,Wt=new Map;function os(){typeof window>"u"||window.__tokentrackerNativeSaveListener||(window.__tokentrackerNativeSaveListener=!0,window.addEventListener("native:saveImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!Ft.has(n))return;const a=Ft.get(n);Ft.delete(n),a({ok:!!t.ok,path:typeof t.path=="string"?t.path:void 0,error:typeof t.error=="string"?t.error:void 0})}),window.addEventListener("native:copyImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!Wt.has(n))return;const a=Wt.get(n);Wt.delete(n),a({ok:!!t.ok,error:typeof t.error=="string"?t.error:void 0})}))}async function Mm(e){if(!rs()||typeof window>"u")return{ok:!1,error:"native bridge unavailable"};const t=window?.webkit?.messageHandlers?.nativeBridge;if(!t)return{ok:!1,error:"native bridge unavailable"};os();const n=`copy_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(a=>{const r=window.setTimeout(()=>{Wt.has(n)&&(Wt.delete(n),a({ok:!1,error:"timeout"}))},8e3);Wt.set(n,s=>{window.clearTimeout(r),a(s)});try{t.postMessage({type:"action",name:"copyImageToClipboard",requestId:n,dataUrl:e})}catch(s){Wt.delete(n),window.clearTimeout(r),a({ok:!1,error:s?.message||String(s)})}})}async function Xr(e,t){if(!rs()||typeof window>"u")return{ok:!1,error:"native bridge unavailable"};const n=window?.webkit?.messageHandlers?.nativeBridge;if(!n)return{ok:!1,error:"native bridge unavailable"};os();const a=`save_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(r=>{const s=window.setTimeout(()=>{Ft.has(a)&&(Ft.delete(a),r({ok:!1,error:"timeout"}))},8e3);Ft.set(a,l=>{window.clearTimeout(s),r(l)});try{n.postMessage({type:"action",name:"saveImageToDownloads",requestId:a,filename:t,dataUrl:e})}catch(l){Ft.delete(a),window.clearTimeout(s),r({ok:!1,error:l?.message||String(l)})}})}const ss=1200,is=1630,ls={broadsheet:{width:1200,height:1630},"annual-report":{width:1080,height:1865}},Cm="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter+Tight:wght@400;500;600;700&family=IBM+Plex+Serif:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap";let la=!1;function Dm(){if(typeof document>"u"||la)return;if(document.querySelector('link[data-share-card-fonts="true"]')){la=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=Cm,t.dataset.shareCardFonts="true",t.crossOrigin="anonymous",document.head.appendChild(t),la=!0}async function Tm(){if(typeof document>"u")return;const e=document.fonts;if(!(!e||typeof e.ready?.then!="function"))try{await e.ready}catch{}}async function Am(e,t={}){if(typeof window>"u"||!e)return null;Dm(),await Tm(),await new Promise(c=>requestAnimationFrame(()=>c(null)));const{toBlob:n,toPng:a}=await mo(async()=>{const{toBlob:c,toPng:u}=await import("./index-BeoRn2gJ.js");return{toBlob:c,toPng:u}},[]),r=t.pixelRatio??2,s=e.offsetWidth||ss,l=e.offsetHeight||is,i={pixelRatio:r,cacheBust:!0,width:s,height:l,style:{width:`${s}px`,height:`${l}px`},skipFonts:!1,filter:c=>!(c instanceof HTMLElement)||c.dataset?.screenshotExclude!=="true"};try{const c=await n(e,i);if(c)return c}catch{}try{const c=await a(e,i);return c?await(await fetch(c)).blob():null}catch{return null}}async function ca(e){return new Promise(t=>{const n=new FileReader;n.onload=()=>{const a=typeof n.result=="string"?n.result:null;t(a)},n.onerror=()=>t(null),n.readAsDataURL(e)})}function Qr(e,t){if(typeof window>"u"||!e)return!1;try{const n=URL.createObjectURL(e),a=document.createElement("a");return a.href=n,a.download=t,document.body.appendChild(a),a.click(),a.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3),!0}catch{return!1}}function xa(e){const t=He(e);return Number.isFinite(t)?t:0}function Om(e){return e?xa(e.billable_total_tokens??e.total_tokens):0}function Em(e){const t=Array.isArray(e?.weeks)?e.weeks:[];if(!t.length)return{weeks:[],totalDays:0,activeDays:0};let n=0,a=0;return{weeks:t.map(s=>(Array.isArray(s)?s:[]).slice(0,7).map(i=>{const c=!!i?.future,u=Number.isFinite(i?.level)?Math.max(0,Math.min(4,Math.round(i.level))):0;i?.day&&!c&&(n+=1,u>0&&(a+=1));const m=i?.billable_total_tokens??i?.total_tokens??i?.value??0,d=Number.isFinite(m)?Math.max(0,m):0;return{day:typeof i?.day=="string"?i.day:"",level:u,value:d,future:c}})),totalDays:n,activeDays:a}}function Fm(e){const{handle:t,startDate:n,activeDays:a,summary:r,topModels:s,rank:l,period:i,periodFrom:c,periodTo:u,heatmap:m,capturedAt:d,currency:g,exchangeRate:y}=e,x=Om(r),p=xa(r?.total_cost_usd),b=Array.isArray(s)?s.slice(0,3).map(w=>({id:w?.id??null,name:typeof w?.name=="string"&&w.name?w.name:"—",tokens:xa(w?.tokens),percent:typeof w?.percent=="string"&&w.percent?w.percent:"0.0"})):[],k=Em(m);return{handle:t||"—",startDate:n||null,activeDays:Number.isFinite(a)&&a>0?Math.floor(a):0,totalTokens:x,totalCost:p,period:i,periodFrom:c,periodTo:u,topModels:b,rank:typeof l=="number"&&Number.isFinite(l)&&l>0?Math.floor(l):null,heatmapWeeks:k.weeks,heatmapTotalDays:k.totalDays,heatmapActiveDays:k.activeDays,capturedAt:d||new Date().toISOString(),currency:typeof g=="string"&&g.length>0?g.toUpperCase():"USD",exchangeRate:Number.isFinite(y)&&y>0?y:1}}const Wm=["share.month_short.jan","share.month_short.feb","share.month_short.mar","share.month_short.apr","share.month_short.may","share.month_short.jun","share.month_short.jul","share.month_short.aug","share.month_short.sep","share.month_short.oct","share.month_short.nov","share.month_short.dec"];function Pm(e){const t=Wm[e];return t?h(t):"—"}function cs(e,t){return h("share.date.month_year",{month:Pm(e),year:t})}function Im(e){if(!e)return"—";const t=e.split("-");if(t.length!==3)return e;const[n,a]=t,r=Number(a)-1;return r<0||r>11?e:cs(r,n)}function Lm(e){if(e.period==="total")return h("share.issue.all_time");if(e.period==="day"&&e.periodTo)return e.periodTo.replace(/-/g,".");if(e.period==="custom"&&e.periodFrom&&e.periodTo)return`${e.periodFrom.replace(/-/g,".")} — ${e.periodTo.replace(/-/g,".")}`;if(e.periodTo){const t=new Date(`${e.periodTo}T00:00:00Z`);if(!Number.isNaN(t.getTime()))return cs(t.getUTCMonth(),t.getUTCFullYear())}return h(`usage.period.${e.period}`)}function ba(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"—"}function ds(e,t={}){const{currency:n="USD",rate:a=1}=t,r=An(n);if(!Number.isFinite(e)||e<=0)return`${r}0.00`;const s=n!=="USD"&&Number.isFinite(a)&&a>0?e*a:e;return s>=1e3?`${r}${Math.round(s).toLocaleString("en-US")}`:`${r}${s.toFixed(2)}`}function $m(e){const t=e.topModels[0];if(t){const n=parseFloat(t.percent);return Number.isFinite(n)&&n>=60?h("share.hook.top_loyal",{percent:Math.round(n),name:t.name}):e.activeDays>=60?h("share.hook.days_record",{days:e.activeDays}):Number.isFinite(n)&&n>=30?h("share.hook.top_led",{name:t.name,percent:Math.round(n)}):e.topModels.length>1?h("share.hook.multi_models",{count:e.topModels.length,days:e.activeDays}):h("share.hook.days_with_model",{days:e.activeDays,name:t.name})}return e.activeDays>0?h("share.hook.days_record",{days:e.activeDays}):h("share.hook.new_chapter")}function Rm(e,t){const n=(e||"").length;if(n<=t.baseChars)return t.baseSize;const a=t.baseSize-(n-t.baseChars)*t.shrinkPerChar;return Math.max(t.minSize,a)}function Bm(e){if(!e||e.future)return null;const t=typeof e.level=="number"?e.level:0;return t<0?0:t>4?4:Math.round(t)}function Ym({weeks:e,palette:t,width:n,gap:a=3,radius:r=2,emptyColor:s}){if(!Array.isArray(e)||e.length===0||!n||n<=0)return null;const l=t||["#eee","#ccc","#999","#666","#333"],i=s||l[0],c=e.length,u=(c-1)*a,m=Math.max(4,(n-u)/c),d=7*m+6*a;return o.jsx("svg",{width:n,height:d,viewBox:`0 0 ${n} ${d}`,xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,style:{display:"block"},children:e.map((g,y)=>(Array.isArray(g)?g:[]).map((p,b)=>{if(b>=7)return null;const k=Bm(p),w=y*(m+a),v=b*(m+a),S=k===null?i:l[k];return o.jsx("rect",{x:w,y:v,width:m,height:m,rx:r,ry:r,fill:S},`${y}-${b}`)}))})}const zm="oklch(0.97 0.01 85)",Ye="oklch(0.18 0.02 85)",wt="oklch(0.38 0.015 85)",Jr="oklch(0.55 0.012 85)",Dt="oklch(0.55 0.22 25)",Tt='"Instrument Serif", "Times New Roman", Georgia, serif',Hm='"Inter Tight", "Helvetica Neue", Arial, sans-serif',Um=["oklch(0.93 0.013 80)","oklch(0.87 0.04 55)","oklch(0.78 0.09 45)","oklch(0.67 0.16 35)","oklch(0.55 0.22 25)"];function us({data:e}){const t=Lm(e),n=ba(e.totalTokens),a=ds(e.totalCost,{currency:e.currency,rate:e.exchangeRate}),r=Im(e.startDate),s=Rm(n,{baseSize:188,baseChars:9,shrinkPerChar:14,minSize:104}),l=$m(e),i=Array.isArray(e.heatmapWeeks)&&e.heatmapWeeks.length>0;return o.jsxs("div",{style:{width:"100%",height:"100%",background:zm,color:Ye,fontFamily:Hm,padding:"80px 88px 68px 88px",boxSizing:"border-box",display:"flex",flexDirection:"column",position:"relative"},children:[o.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:24,paddingBottom:14,borderBottom:`1px solid ${Jr}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:14,fontWeight:500,letterSpacing:"0.22em",textTransform:"uppercase",color:Ye},children:[o.jsx("div",{style:{width:10,height:10,borderRadius:"50%",background:Dt}}),"The Token Tracker"]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:wt,textAlign:"right"},children:[h("share.card.broadsheet.issue")," № ",t]})]}),o.jsxs("div",{style:{marginTop:24,display:"flex",justifyContent:"space-between",alignItems:"flex-end",gap:24},children:[o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.2em",textTransform:"uppercase",color:wt,marginBottom:6},children:h("share.card.broadsheet.by")}),o.jsx("div",{style:{fontFamily:Tt,fontSize:52,fontStyle:"italic",lineHeight:1,color:Ye,letterSpacing:"-0.01em"},children:e.handle})]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:wt,textAlign:"right",lineHeight:1.6},children:[h("share.card.broadsheet.tracked_since"),o.jsx("br",{}),o.jsx("span",{style:{color:Ye},children:r})]})]}),o.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:"column"},children:[o.jsx("div",{style:{fontSize:13,letterSpacing:"0.3em",textTransform:"uppercase",color:Dt,marginBottom:10},children:h("share.card.broadsheet.total_tokens")}),o.jsx("div",{style:{fontFamily:Tt,fontSize:s,fontWeight:400,lineHeight:.86,letterSpacing:"-0.032em",color:Ye,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap",overflow:"hidden"},children:n}),o.jsxs("div",{style:{marginTop:14,fontFamily:Tt,fontStyle:"italic",fontSize:34,lineHeight:1.15,color:Ye,letterSpacing:"-0.005em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["“",l,"”"]}),o.jsx("div",{style:{marginTop:14,height:1,background:Dt,width:"100%"}}),o.jsxs("div",{style:{marginTop:10,display:"flex",justifyContent:"space-between",fontSize:13,letterSpacing:"0.16em",textTransform:"uppercase",color:wt},children:[o.jsxs("span",{children:[h("share.card.broadsheet.estimated_spend")," · ",a]}),o.jsx("span",{children:h("share.card.broadsheet.billable_days",{days:e.activeDays})})]})]}),i?o.jsxs("section",{style:{marginTop:40},children:[o.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:12},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Ye,fontWeight:600},children:h("share.card.broadsheet.heatmap_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:wt},children:h("share.card.broadsheet.heatmap_days_on_record",{active:e.heatmapActiveDays,total:e.heatmapTotalDays})})]}),o.jsx(Ym,{weeks:e.heatmapWeeks,palette:Um,width:1024,gap:3,radius:2})]}):null,o.jsxs("section",{style:{marginTop:30,flex:1},children:[o.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",borderBottom:`1px solid ${Ye}`,paddingBottom:10,marginBottom:6},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Ye,fontWeight:600},children:h("share.card.broadsheet.roster_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:wt},children:h("share.card.broadsheet.roster_subtitle")})]}),e.topModels.length===0?o.jsx("div",{style:{fontFamily:Tt,fontStyle:"italic",fontSize:26,color:wt,paddingTop:14},children:h("share.card.broadsheet.empty")}):e.topModels.map((c,u)=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"52px 1fr auto 68px",alignItems:"baseline",gap:16,padding:"13px 0",borderBottom:`1px solid ${Jr}`},children:[o.jsx("div",{style:{fontFamily:Tt,fontSize:34,fontStyle:"italic",color:Dt,lineHeight:1},children:String(u+1).padStart(2,"0")}),o.jsx("div",{style:{fontFamily:Tt,fontSize:32,color:Ye,lineHeight:1.1,letterSpacing:"-0.01em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),o.jsx("div",{style:{fontFamily:Tt,fontSize:28,color:Ye,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap"},children:ba(c.tokens)}),o.jsxs("div",{style:{fontSize:13,letterSpacing:"0.1em",color:wt,textAlign:"right",fontFeatureSettings:'"tnum" 1'},children:[c.percent,"%"]})]},c.id||c.name))]}),o.jsxs("footer",{style:{marginTop:18,paddingTop:12,borderTop:`1px solid ${Ye}`,display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:Ye},children:[o.jsxs("div",{style:{display:"flex",gap:28},children:[o.jsxs("span",{children:[h("share.card.broadsheet.global_rank")," ",o.jsxs("span",{style:{color:Dt},children:["№ ",e.rank!=null?e.rank:"—"]})]}),o.jsxs("span",{children:[h("share.card.broadsheet.active_days")," ",o.jsx("span",{style:{color:Dt},children:h("share.card.broadsheet.days_count",{days:e.activeDays})})]})]}),o.jsxs("div",{children:[h("share.card.broadsheet.track_yours")," ",o.jsx("span",{style:{color:Dt},children:"→ tokentracker.cc"})]})]})]})}const qm=ls["annual-report"].width,Gm="#0a0820",vt="#ffffffee",Ot="rgba(255,255,255,0.45)",da="#a78bfa",Vm={background:"rgba(20,15,50,0.38)",backdropFilter:"blur(40px)",WebkitBackdropFilter:"blur(40px)",border:"1px solid rgba(255,255,255,0.05)",boxShadow:["0 39px 56px -36px rgba(255,255,255,0.10) inset","0 7px 11px -4px rgba(255,255,255,0.06) inset","0 -82px 68px -64px rgba(101,67,149,0.08) inset","0 98px 100px -48px rgba(208,171,255,0.06) inset","0 4px 18px 0 rgba(156,146,215,0.06) inset","0 1px 40px 0 rgba(228,222,255,0.04) inset"].join(", ")},_n={background:"rgba(20,15,50,0.38)",backdropFilter:"blur(32px)",WebkitBackdropFilter:"blur(32px)",border:"1px solid rgba(255,255,255,0.06)",boxShadow:"0 1px 8px 0 rgba(228,222,255,0.06) inset"},ka='"Space Grotesk", "Inter Tight", sans-serif',ua='"Inter Tight", sans-serif',Km="rgba(255,255,255,0.06)",fs=[Km,"#4a3d8f","#6b5cbe","#9060e0","#d946ef"],ms=48,hs=28,Dn=4,gs=20,Xm=qm-ms*2-hs*2,Qm=(Xm-gs*2)/3,wa=Math.min(Math.floor((Qm-Dn*6)/7),40),Jm=wa*7+Dn*6;function Zm(e){if(!Array.isArray(e))return e;const t=[];for(const i of e)if(Array.isArray(i))for(const c of i)c?.day&&!c.future&&c.value>0&&t.push(c.value);if(!t.length)return e;t.sort((i,c)=>i-c);const n=i=>{const c=t.length,u=(c-1)*i,m=Math.floor(u);return Math.round((t[m]??0)+((t[Math.min(c-1,m+1)]??0)-(t[m]??0))*(u-m))},a=n(.5),r=n(.75),s=n(.9),l=i=>!i||i<=0?0:i<=a?1:i<=r?2:i<=s?3:4;return e.map(i=>Array.isArray(i)?i.map(c=>c?.day&&!c.future&&typeof c.value=="number"?{...c,level:l(c.value)}:c):i)}function eh(e){if(!Array.isArray(e))return[];const t={},n=Zm(e);for(const a of n)if(Array.isArray(a))for(const r of a){if(!r?.day||r.future)continue;const s=r.day.split("-");if(s.length<2)continue;const l=`${s[0]}-${s[1]}`;(t[l]??=[]).push(r)}return Object.entries(t).sort(([a],[r])=>a.localeCompare(r)).slice(-12).map(([a,r])=>({month:parseInt(a.split("-")[1],10),cells:r}))}function th(e){if(!e.length)return[];const t=[...e].sort((l,i)=>l.day.localeCompare(i.day));let n=new Date(`${t[0].day}T00:00:00Z`).getUTCDay();const a=Array(n).fill(null).concat(t),r=[];for(let l=0;l<a.length;l+=7)r.push(a.slice(l,l+7));const s=r[r.length-1];for(;s&&s.length<7;)s.push(null);return r.slice(0,6)}const nh=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ah(e){if(!Array.isArray(e))return 0;const t=[];for(const r of e)if(Array.isArray(r))for(const s of r)s?.day&&!s.future&&t.push(s);t.sort((r,s)=>r.day.localeCompare(s.day));let n=0,a=0;for(const r of t)(r.level||0)>0?(a++,a>n&&(n=a)):a=0;return n}function Zr(e){const[t,n]=f.useState(null);return f.useEffect(()=>{if(!e){n(null);return}let a=!1;const r=new Image;return r.crossOrigin="anonymous",r.onload=()=>{if(!a)try{const s=document.createElement("canvas");s.width=r.naturalWidth,s.height=r.naturalHeight,s.getContext("2d").drawImage(r,0,0),n(s.toDataURL("image/png"))}catch{n(null)}},r.onerror=()=>{a||n(null)},r.src=e,()=>{a=!0}},[e]),t}function rh({data:e}){const t=th(e.cells);return o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:16,fontWeight:600,color:Ot,fontFamily:ka,marginBottom:4},children:nh[e.month]}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:Dn},children:t.map((n,a)=>o.jsx("div",{style:{display:"flex",gap:Dn},children:n.map((r,s)=>{const l=r?Math.min(4,Math.max(0,r.level||0)):-1;return o.jsx("div",{style:{width:wa,height:wa,borderRadius:4,background:l<0?"transparent":fs[l]}},s)})},a))})]})}function oh({data:e}){const t=eh(e.heatmapWeeks),n=ah(e.heatmapWeeks),a=e.topModels[0],r=e.avatarUrl||null,s=Zr(r),l=Zr("/neon_bg.png"),i=(e.handle||"?")[0].toUpperCase(),c=16;return o.jsxs("div",{style:{width:"100%",height:"100%",background:Gm,fontFamily:ka,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:[o.jsx("img",{src:l||"/neon_bg.png",alt:"",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",pointerEvents:"none"}}),o.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",height:"100%",padding:ms,boxSizing:"border-box"},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:c*3},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:64,height:64,style:{width:64,height:64,borderRadius:16,display:"block"}}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:20,fontWeight:500,color:Ot,lineHeight:1.2},children:"Token Tracker"}),o.jsx("div",{style:{fontSize:36,fontWeight:700,lineHeight:1.15,color:vt},children:h("share.card.annual.report_title")})]})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsx("div",{style:{width:48,height:48,borderRadius:"50%",background:"linear-gradient(135deg,#4c1d95,#7c3aed)",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid rgba(255,255,255,0.15)",overflow:"hidden",flexShrink:0},children:s?o.jsx("img",{src:s,alt:"",width:48,height:48,style:{width:48,height:48,objectFit:"cover",display:"block"},crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):o.jsx("span",{style:{fontSize:20,fontWeight:700,color:vt},children:i})}),o.jsx("div",{style:{fontSize:32,fontWeight:700,color:vt},children:e.handle})]})]}),o.jsxs("div",{style:{...Vm,borderRadius:22,padding:hs,marginBottom:c},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:14,color:Ot},children:[o.jsx("span",{children:h("share.card.annual.less")}),fs.map((u,m)=>o.jsx("div",{style:{width:16,height:16,borderRadius:3,background:u}},m)),o.jsx("span",{children:h("share.card.annual.more")})]}),o.jsx("div",{style:{fontSize:16,fontWeight:700,letterSpacing:"0.14em",color:"rgba(255,255,255,0.22)",textTransform:"uppercase"},children:h("share.card.annual.heatmap_title")})]}),o.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(3,${Jm}px)`,gap:`8px ${gs}px`,justifyContent:"center"},children:t.map(u=>o.jsx(rh,{data:u},u.month))})]}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:c,marginBottom:c},children:[o.jsxs("div",{style:{..._n,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:ua,fontSize:52,fontWeight:700,color:vt,letterSpacing:"-0.02em",lineHeight:1},children:ba(e.totalTokens)}),o.jsx("div",{style:{fontSize:22,color:Ot,marginTop:12},children:h("share.card.annual.total_tokens")})]}),o.jsxs("div",{style:{..._n,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:ua,fontSize:52,fontWeight:700,color:vt,letterSpacing:"-0.02em",lineHeight:1},children:ds(e.totalCost,{currency:e.currency,rate:e.exchangeRate})}),o.jsx("div",{style:{fontSize:22,color:Ot,marginTop:12},children:h("share.card.annual.estimated_cost")})]})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:c},children:[o.jsxs("div",{style:{..._n,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:da,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48 2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48 2.83-2.83"}),o.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),o.jsx("span",{style:{fontSize:20,color:Ot},children:h("share.card.annual.longest_streak")})]}),o.jsx("span",{style:{fontFamily:ua,fontSize:28,fontWeight:700,color:vt},children:h("share.card.annual.days_count",{days:n})})]}),o.jsxs("div",{style:{..._n,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:da,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),o.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),o.jsx("span",{style:{fontSize:20,color:Ot},children:h("share.card.annual.top_model")})]}),o.jsx("span",{style:{fontFamily:ka,fontSize:28,fontWeight:700,color:vt},children:a?a.name:"—"})]})]}),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"auto"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:44,height:44,style:{width:44,height:44,borderRadius:8,display:"block"}}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:vt},children:"Token Tracker"})]}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:da},children:"tokentracker.cc"})]})]})]})}const ys=[{id:"annual-report",labelKey:"share.variant.neon"},{id:"broadsheet",labelKey:"share.variant.broadsheet"}],sh={broadsheet:us,"annual-report":oh};function ps(e){return ls[e]||{width:ss,height:is}}function ih(e){const t=ys.find(n=>n.id===e);return t?.labelKey?h(t.labelKey):e}const eo=f.forwardRef(function({data:t,variant:n},a){const r=sh[n]||us,{width:s,height:l}=ps(n);return o.jsx("div",{ref:a,"data-share-card":"true",style:{width:s,height:l,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:o.jsx(r,{data:t})})});function Nn(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const lh=440;function ch(){const[e,t]=f.useState(null),n=f.useRef(null),a=f.useCallback((r,s="info")=>{n.current&&window.clearTimeout(n.current),t({id:Date.now(),kind:s,text:r}),n.current=window.setTimeout(()=>t(null),2800)},[]);return f.useEffect(()=>()=>{n.current&&window.clearTimeout(n.current)},[]),{toast:e,push:a}}function fa({onClick:e,disabled:t,children:n,emphasis:a,ariaLabel:r}){return o.jsx("button",{type:"button",onClick:e,disabled:t,"aria-label":r,className:["group relative flex items-center justify-between gap-3 w-full px-4 py-3 text-left","rounded-lg border transition-colors",a?"border-oai-black dark:border-oai-white bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black hover:opacity-90":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-gray-400 dark:hover:border-oai-gray-600",t?"opacity-60 cursor-not-allowed":"cursor-pointer"].join(" "),children:n})}function dh({open:e,onClose:t,data:n,twitterText:a}){const[r,s]=f.useState(null),[l,i]=f.useState(""),[c,u]=f.useState("annual-report"),m=f.useRef(null),{toast:d,push:g}=ch(),y=fo(),x=f.useMemo(()=>{const N=y?.user;if(!N||typeof N!="object")return null;const W=N.user_metadata||{},E=N.profile||{},F=W.avatar_url||W.picture||E.avatar_url||N.avatar_url;return typeof F=="string"&&F.trim()?F.trim():null},[y?.user]);f.useEffect(()=>{e&&(s(null),i(n?.handle||""))},[e,n?.handle]);const p=n&&{...n,handle:l||n.handle,avatarUrl:x},{width:b,height:k}=ps(c),w=lh/b;f.useEffect(()=>{if(!e)return;const N=W=>{W.key==="Escape"&&t?.()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e,t]);const v=f.useCallback(async()=>{const N=m.current;if(!N)return null;try{return await Am(N)}catch(W){return console.warn("[share] capture failed",W),null}},[]),S=f.useCallback(async()=>{if(r)return;s("copy");const N=await v();if(!N){g(h("share.toast.failed"),"error"),s(null);return}let W=!1;if(Nn()){const E=await ca(N);E&&(W=(await Mm(E)).ok)}else W=await ya(N);g(W?h("share.toast.copied"):h("share.toast.failed"),W?"success":"error"),s(null)},[r,v,g]),C=f.useCallback(()=>`tokentracker-share-${Date.now()}.png`,[]),_=f.useCallback(async()=>{if(r)return;s("download");const N=await v();if(!N){g(h("share.toast.failed"),"error"),s(null);return}if(Nn()){const E=await ca(N);if(E&&(await Xr(E,C())).ok){g(h("share.toast.downloaded"),"success"),s(null);return}}const W=Qr(N,C());g(W?h("share.toast.downloaded"):h("share.toast.failed"),W?"success":"error"),s(null)},[r,v,C,g]),O=f.useCallback(async()=>{if(r)return;s("x");const N=await v();if(!N){g(h("share.toast.failed"),"error"),s(null);return}if(Nn()){const E=await ca(N);E&&(await Xr(E,C()),g(h("share.toast.downloaded"),"success"))}else await ya(N)?g(h("share.toast.copied"),"success"):Qr(N,C());const W=new URL("https://twitter.com/intent/tweet");if(a&&W.searchParams.set("text",a),Nn())try{window.webkit?.messageHandlers?.nativeBridge?.postMessage({type:"action",name:"openURL",value:W.toString()})}catch{window.open(W.toString(),"_blank","noopener,noreferrer")}else window.open(W.toString(),"_blank","noopener,noreferrer");s(null)},[r,v,g,a,C]);return e?o.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":h("share.modal.title"),"data-screenshot-exclude":"true",className:"fixed inset-0 z-[9999] flex items-center justify-center p-4 sm:p-6",style:{background:"rgba(10,10,10,0.72)"},onClick:N=>{N.target===N.currentTarget&&t?.()},children:[o.jsx("div",{"aria-hidden":!0,style:{position:"fixed",left:0,top:0,width:b,height:k,pointerEvents:"none",opacity:0,zIndex:-1,clip:"rect(0,0,0,0)",overflow:"hidden"},children:o.jsx(eo,{ref:m,data:p,variant:c})}),o.jsxs(Re.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.18,ease:[.2,.8,.2,1]},className:"relative w-full max-w-[1040px] max-h-[92vh] overflow-hidden rounded-2xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-black shadow-oai-lg",children:[o.jsxs("div",{className:"flex flex-col lg:flex-row max-h-[92vh]",children:[o.jsx("div",{className:"flex-1 min-w-0 p-4 sm:p-7 bg-oai-gray-50 dark:bg-oai-gray-950 flex items-center justify-center overflow-auto",children:o.jsxs("div",{style:{width:b*w,height:k*w,flexShrink:0,position:"relative"},className:"rounded-xl overflow-hidden shadow-oai-md ring-1 ring-black/5",children:[r?o.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/70 dark:bg-black/50",children:o.jsxs("svg",{className:"animate-spin h-6 w-6 text-oai-gray-500",viewBox:"0 0 24 24",fill:"none",children:[o.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),o.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}):null,o.jsx("div",{style:{width:b,height:k,transform:`scale(${w})`,transformOrigin:"top left"},children:o.jsx(eo,{data:p,variant:c})})]})}),o.jsxs("div",{className:"w-full lg:w-[340px] flex-shrink-0 border-t lg:border-t-0 lg:border-l border-oai-gray-200 dark:border-oai-gray-800 p-5 sm:p-6 flex flex-col gap-5 overflow-y-auto",children:[o.jsxs("div",{className:"flex items-start justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"text-lg font-semibold text-oai-black dark:text-oai-white",children:h("share.modal.title")}),o.jsx("p",{className:"mt-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:h("share.modal.subtitle")})]}),o.jsx("button",{type:"button",onClick:t,"aria-label":h("share.modal.close"),className:"p-1.5 -mt-1 -mr-1 rounded-md text-oai-gray-500 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:o.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"share-handle",className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:h("share.modal.name_label")}),o.jsx("input",{id:"share-handle",type:"text",value:l,onChange:N=>i(N.target.value),placeholder:h("share.modal.name_placeholder"),className:"w-full px-3 py-2 text-sm rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white placeholder:text-oai-gray-400 dark:placeholder:text-oai-gray-600 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-oai-brand transition-colors"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:h("share.modal.style_label")}),o.jsx("div",{className:"flex gap-2",children:ys.map(N=>o.jsx("button",{type:"button",onClick:()=>u(N.id),className:["flex-1 px-3 py-2 text-sm rounded-lg border transition-colors",c===N.id?"border-oai-black dark:border-oai-white bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white font-medium":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-gray-500 dark:text-oai-gray-400 hover:border-oai-gray-400 dark:hover:border-oai-gray-600"].join(" "),children:ih(N.id)},N.id))})]}),o.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[o.jsxs(fa,{onClick:O,disabled:!!r,emphasis:!0,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:o.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),o.jsx("span",{className:"font-medium text-sm",children:h("share.modal.action.x")})]}),o.jsx("span",{className:"text-[11px] opacity-70",children:r==="x"?h("share.toast.working"):h("share.modal.hint.x")})]}),o.jsxs(fa,{onClick:_,disabled:!!r,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),o.jsx("polyline",{points:"7 10 12 15 17 10"}),o.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]}),o.jsx("span",{className:"font-medium text-sm",children:h("share.modal.action.download")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:"PNG"})]}),o.jsxs(fa,{onClick:S,disabled:!!r,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),o.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),o.jsx("span",{className:"font-medium text-sm",children:h("share.modal.action.copy")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:h("share.modal.hint.copy")})]})]}),o.jsx("div",{className:"mt-auto pt-4 border-t border-oai-gray-200 dark:border-oai-gray-800",children:o.jsx("p",{className:"text-[11px] leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:h("share.modal.footer")})})]})]}),o.jsx(Na,{children:d?o.jsx(Re.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},className:"pointer-events-none absolute left-1/2 bottom-4 -translate-x-1/2",children:o.jsx("div",{className:["px-4 py-2 rounded-full text-xs font-medium shadow-oai-md",d.kind==="error"?"bg-red-600 text-white":d.kind==="success"?"bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black":"bg-oai-gray-800 text-white"].join(" "),children:d.text})},d.id):null})]})]}):null}function uh(e){const{enabled:t,handle:n,startDate:a,activeDays:r,summary:s,topModels:l,period:i,periodFrom:c,periodTo:u,heatmap:m,accessToken:d,userId:g,currency:y,exchangeRate:x}=e,[p,b]=f.useState(null),k=x;return f.useEffect(()=>{if(!t||!g&&!It())return;let w=!1;return(async()=>{try{const S=await qi({accessToken:d,userId:g,period:i==="day"||i==="custom"?"week":i,metric:"all",limit:100,offset:0});if(w)return;const _=(Array.isArray(S?.entries)?S.entries:Array.isArray(S)?S:[]).find(N=>N?.is_me===!0),O=typeof _?.rank=="number"?_.rank:null;b(O)}catch{w||b(null)}})(),()=>{w=!0}},[t,d,g,i]),f.useMemo(()=>Fm({handle:n,startDate:a,activeDays:r,summary:s,topModels:l,rank:p,period:i,periodFrom:c,periodTo:u,heatmap:m,currency:y,exchangeRate:typeof k=="number"?k:void 0}),[n,a,r,s,l,p,i,c,u,m,y,k])}const fh=["day","week","month","total","custom"],ma=new Set(["day","hour","month"]),on=new Set(["day","total","custom"]);function ha(e,t){if(typeof t=="number"&&t>0)return!0;if(typeof e=="bigint")return e>0n;if(typeof e=="number")return Number.isFinite(e)&&e>0;if(typeof e=="string"){const n=e.trim();if(!n)return!1;if(/^[0-9]+$/.test(n))try{return BigInt(n)>0n}catch{return!1}const a=Number(n);return Number.isFinite(a)&&a>0}return!1}function jn(e){return e?Gt(e,null):null}function to(e){return e?e?.billable_total_tokens??e?.value??e?.total_tokens:null}function mh(e){if(typeof e!="string"||!e)return null;const t=e.split("-");if(t.length!==3)return null;const n=Number(t[0]),a=Number(t[1])-1,r=Number(t[2]);if(!Number.isFinite(n)||!Number.isFinite(a)||!Number.isFinite(r))return null;const s=new Date(Date.UTC(n,a,r));return Number.isFinite(s.getTime())?s:null}function hh(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function gh(e){return e?e==="www.tokentracker.cc"||e==="tokentracker.cc":!1}function yh(){if(typeof window>"u")return!1;const e=new URLSearchParams(window.location.search),t=String(e.get("force_install")||"").toLowerCase();return t!=="1"&&t!=="true"?!1:!gh(window.location.hostname)}function Ch({baseUrl:e,auth:t,signedIn:n,sessionSoftExpired:a,signOut:r,publicMode:s=!1,publicToken:l=null,signInUrl:i="/sign-in",signUpUrl:c="/sign-up"}){const{resolvedLocale:u}=Gi(),{currency:m,rate:d}=un(),[g,y]=f.useState(!1),[x,p]=f.useState(null),[b,k]=f.useState(null),[w,v]=f.useState(!1),[S,C]=f.useState(null),[_,O]=f.useState(0),[N,W]=f.useState(0),[E,F]=f.useState(null),[ie,$]=f.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(max-width: 640px)").matches),B=f.useMemo(()=>typeof window>"u"?!1:Vi(window.location.search),[]),T=f.useMemo(()=>yh(),[]),[M,U]=f.useState(!1),[I,P]=f.useState(!1),z=2200,[Q,fe]=f.useState(!0),[Y,H]=f.useState(!1),[te,he]=f.useState(!1),[ve,Be]=f.useState(!1),Me=It(),A=n&&!a,J=f.useMemo(()=>A&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,A]),le=A?J:null,ue=s?Ki(l):le,Oe=n||Me||s,_e=A&&Xt(le),We=n&&a&&!s;f.useEffect(()=>{if(!n||Me){p(null),k(null),v(!1),C(null);return}if(s)return;if(!_e){p(null),k(null),v(!1),C(null);return}let j=!0;const V=()=>{p(null),k(null),v(!1),C(null)};return v(!0),C(null),(async()=>{let Z=null;try{Z=await Pt(le)}catch{Z=null}if(j){if(!Z){V();return}try{const se={link_code:null,expires_at:null};if(!j)return;p(typeof se?.link_code=="string"?se.link_code:null),k(typeof se?.expires_at=="string"?se.expires_at:null)}catch(se){if(!j)return;p(null),k(null),C(se?.message||"Failed to load link code")}finally{if(!j)return;v(!1)}}})(),()=>{j=!1}},[e,Me,n,s,_e,le,N]);const Ne=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");f.useEffect(()=>{if(!Ne&&(!n||Me||s)){F(null);return}if(!Ne&&!_e){F(null);return}let j=!0;return(async()=>{let V=null;try{V=await Pt(le)}catch{V=null}if(j){if(!V&&!Ne){F(null);return}try{const Z=await Xi({baseUrl:e,accessToken:V});if(!j)return;F(Z&&typeof Z=="object"?Z:null)}catch{if(!j)return;F(null)}}})(),()=>{j=!1}},[_e,e,le,Me,s,n]);const Pe=f.useMemo(()=>{if(!b)return!1;const j=Date.parse(b);if(!Number.isFinite(j))return!1;const V=_||Date.now();return j<=V},[b,_]);f.useEffect(()=>{!n||Me||s||!b||!Pe||w||(p(null),k(null),C(null),W(j=>j+1))},[Pe,b,w,Me,n]),f.useEffect(()=>{if(!b||s)return;const j=Date.parse(b);if(!Number.isFinite(j))return;const V=Date.now();if(O(V),j<=V)return;const Z=window.setTimeout(()=>O(Date.now()),j-V),se=()=>{typeof document>"u"||document.visibilityState==="visible"&&O(Date.now())};return typeof document<"u"&&document.addEventListener("visibilitychange",se),window.addEventListener("focus",se),()=>{window.clearTimeout(Z),typeof document<"u"&&document.removeEventListener("visibilitychange",se),window.removeEventListener("focus",se)}},[b]),f.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const j=window.matchMedia("(max-width: 640px)"),V=()=>$(j.matches);return V(),j.addEventListener?(j.addEventListener("change",V),()=>j.removeEventListener("change",V)):(j.addListener(V),()=>j.removeListener(V))},[]);const ke=f.useMemo(()=>uo(),[]),D=f.useMemo(()=>co(),[]),L=f.useMemo(()=>Qi(),[]),K=s?null:t?.userId||t?.email||"default",[q,ne]=f.useState("month"),[X,pe]=f.useState(null),[ge,Se]=f.useState(null),[Te,me]=f.useState(!1),ce=B?"total":q,Ie=f.useMemo(()=>ce==="custom"&&X&&ge?{from:X,to:ge}:Ji(ce,{timeZone:ke,offsetMinutes:D,now:L}),[L,ce,ke,D,X,ge]),Ce=Ie.from,Le=Ie.to,yt=f.useMemo(()=>Zi({timeZone:ke,offsetMinutes:D}),[ke,D]),Je=f.useMemo(()=>el({timeZone:ke,offsetMinutes:D}),[ke,D]),pt=f.useMemo(()=>`Local time (${Je})`,[Je]),_t=ke,oe=D,re=yt,G=f.useMemo(()=>_a({timeZone:ke,offsetMinutes:D,date:L||new Date}),[L,ke,D]),de=f.useMemo(()=>{const j=mh(G)||new Date,V=hh(j,-29);return{from:qt(V),to:qt(j)}},[G]),{daily:be,summary:ae,rolling:xt,source:lt,loading:Nt,error:Ze,refresh:et}=mr({baseUrl:e,accessToken:ue,guestAllowed:We,from:Ce,to:Le,includeDaily:ce!=="total",cacheKey:K,timeZone:ke,tzOffsetMinutes:D,now:L}),{daily:ct,loading:Fn,refresh:Ia}=mr({baseUrl:e,accessToken:ue,guestAllowed:We,from:de.from,to:de.to,includeDaily:!0,cacheKey:K?`${K}.daily-breakdown`:"daily-breakdown",timeZone:ke,tzOffsetMinutes:D,now:L}),{breakdown:jt,loading:xs,refresh:La}=Vl({baseUrl:e,accessToken:ue,guestAllowed:We,from:Ce,to:Le,cacheKey:K,timeZone:ke,tzOffsetMinutes:D}),[$a,bs]=f.useState(3),{entries:ks,loading:ws,refresh:Ra}=$l({baseUrl:e,accessToken:ue,limit:$a,from:Ce,to:Le,timeZone:ke,tzOffsetMinutes:D}),Ba=ce==="week"||ce==="month",gn=ce==="week"||ce==="month",Ya=f.useMemo(()=>be.filter(j=>j?.future?!1:!j?.day||!G?!0:String(j.day)<=String(G)),[be,G]),{rows:dt,from:vs,to:_s,loading:Ns,refresh:za}=Bl({baseUrl:e,accessToken:ue,guestAllowed:We,period:ce,from:Ce,to:Le,months:24,cacheKey:K,timeZone:_t,tzOffsetMinutes:oe,now:L,sharedRows:Ba?be:null,sharedRange:Ba?{from:Ce,to:Le}:null}),{daily:Lt,heatmap:tt,loading:Ha,refresh:Ua}=Ll({baseUrl:e,accessToken:ue,guestAllowed:We,weeks:52,cacheKey:K,timeZone:ke,tzOffsetMinutes:D,now:L}),{refresh:qa}=nl(),Ve=f.useMemo(()=>ce==="day"?"hour":ce==="total"?"month":"day",[ce]),js=f.useMemo(()=>gr(Ve),[Ve]),yn="day",Ss=f.useMemo(()=>gr(yn),[]),[Ke,Ga]=f.useState(()=>({key:"day",dir:"desc"}));f.useEffect(()=>{Ga(j=>!ma.has(j.key)||j.key===Ve?j:{key:Ve,dir:j.dir})},[Ve]);const $t=f.useMemo(()=>ma.has(Ke.key)&&Ke.key!==Ve?{...Ke,key:Ve}:Ke,[Ve,Ke]),pn=f.useMemo(()=>{if(ce==="day")return Array.isArray(dt)?dt.filter(Z=>Z?.hour&&!Z?.future):[];if(ce==="total"){const Z=Array.isArray(dt)?dt.filter(se=>se?.month&&!se?.future):[];return ic(Z)}const j=Ya;return!j.some(Z=>!Z?.missing&&!Z?.future)&&be.length>0?be.filter(Z=>!Z?.future).slice(-30).filter(Z=>Z?.day):j},[ce,dt,Ya,be]),Jt=f.useMemo(()=>yr(pn,$t),[pn,$t]),Ms=f.useMemo(()=>pn.some(j=>!j?.missing&&!j?.future),[pn]),Wn=f.useMemo(()=>{if(!on.has(ce))return 1;const j=Math.ceil(Jt.length/Cn);return j>0?j:1},[ce,Jt.length]),[Pn,xn]=f.useState(0);f.useEffect(()=>{if(!on.has(ce)){xn(0);return}xn(j=>Math.min(j,Wn-1))},[Wn,ce]),f.useEffect(()=>{on.has(ce)&&xn(0)},[ce,Ke.dir,Ke.key]);const Cs=f.useMemo(()=>on.has(ce)?lc(Jt,Pn,Cn):Jt,[Pn,ce,Jt]),Va=f.useMemo(()=>ct.filter(j=>!j?.future&&j?.day).slice(-30),[ct]),Rt=f.useMemo(()=>ma.has(Ke.key)?{...Ke,key:yn}:Ke,[Ke]),Ds=f.useMemo(()=>yr(Va,Rt),[Va,Rt]),Ts=f.useMemo(()=>gn?be:ce==="day"?Array.isArray(dt)?dt.filter(j=>j?.hour):[]:dt,[be,ce,dt,gn]),As=gn?Ce:vs,Os=gn?Le:_s;function Es(j,V){return j?.future?"—":j?.missing?h("shared.status.unsynced"):V==="total_tokens"?ut(jn(j)):ut(j?.[V])}function Fs(j){const V=j?.[Ve];if(V==null)return"";const Z=String(V);if(Ve==="hour"){const[se,Ee]=Z.split("T");if(se&&Ee)return`${se} ${Ee.slice(0,5)}`}return Z}function Ws(j){const V=j?.[yn];return V==null?"":String(V)}function Ps(j){Ga(V=>V.key===j?{key:j,dir:V.dir==="asc"?"desc":"asc"}:{key:j,dir:"desc"})}function Is(j){return $t.key!==j?"none":$t.dir==="asc"?"ascending":"descending"}function Ls(j){return $t.key!==j?"":$t.dir==="asc"?"▲":"▼"}function $s(j){return Rt.key!==j?"none":Rt.dir==="asc"?"ascending":"descending"}function Rs(j){return Rt.key!==j?"":Rt.dir==="asc"?"▲":"▼"}const In=f.useMemo(()=>{if(!n&&!Me&&!s&&!Ne)return 0;const j=Number(tt?.active_days);if(Number.isFinite(j))return j;let V=0;const Z=new Set,se=(we,De,Fe)=>{typeof we!="string"||!we||Z.has(we)||ha(De,Fe)&&(Z.add(we),V+=1)};if(Array.isArray(Lt))for(const we of Lt)se(we?.day,jn(we));const Ee=Array.isArray(tt?.weeks)?tt.weeks:[];for(const we of Ee)for(const De of Array.isArray(we)?we:[]){const Fe=to(De);se(De?.day,Fe,De?.level)}return V},[n,Me,tt?.active_days,tt?.weeks,Lt]),[Ka,Xa]=f.useState("month"),Bs=f.useCallback(j=>{j==="custom"?(Xa(V=>V==="custom"?"month":V),ne(V=>X&&ge?"custom":V),me(!0)):(ne(j),Xa(j),me(!1))},[X,ge]),Ys=f.useCallback((j,V)=>{pe(j),Se(V),ne("custom"),me(!1)},[]),zs=f.useCallback(j=>{me(j),!j&&q==="custom"&&!X&&ne(Ka)},[q,X,Ka]),Qa=f.useCallback(async()=>{await Promise.all([et(),Ua(),za(),La(),Ra(),Ia(),qa()])},[Ia,Ua,La,Ra,za,et,qa]),Hs=f.useCallback(async()=>{Be(!0);try{Ne&&await tl(),await Qa()}catch(j){console.error("[DashboardPage] Refresh failed:",j)}finally{Be(!1)}},[Ne,Qa]),Us=ve||Nt||Fn||Ha||Ns||xs||ws,qs=f.useMemo(()=>h("shared.data_source",{source:String(lt||"edge").toUpperCase()}),[lt,u]),bn=f.useMemo(()=>typeof t?.name!="string"?"":t.name.trim(),[t?.name]),Gs="",Ja=f.useMemo(()=>!bn||bn.includes("@")?h("dashboard.identity.fallback"):bn,[bn]),Za=f.useMemo(()=>Ja.replace(/[^a-zA-Z0-9._-]/g,"_"),[Ja]),er=f.useMemo(()=>s?h("dashboard.identity.fallback"):Za,[Za,Gs,s]),tr=f.useMemo(()=>{let j=null;const V=se=>{typeof se!="string"||!se||(!j||se<j)&&(j=se)};if(Array.isArray(Lt))for(const se of Lt)se?.day&&ha(jn(se))&&V(se.day);const Z=Array.isArray(tt?.weeks)?tt.weeks:[];for(const se of Z)for(const Ee of Array.isArray(se)?se:[]){if(!Ee?.day)continue;const we=to(Ee),De=Ee?.level;ha(we,De)&&V(Ee.day)}return j},[tt?.weeks,Lt]),Vs=f.useMemo(()=>s?[]:(Array.isArray(E?.subscriptions?.items)?E.subscriptions.items:[]).map(Z=>{const se=typeof Z?.tool=="string"?Z.tool.trim():"",we=(typeof Z?.plan_type=="string"?Z.plan_type:typeof Z?.planType=="string"?Z.planType:"").trim();return!se||!we?null:{tool:se,planType:we,provider:typeof Z?.provider=="string"?Z.provider.trim():"",product:typeof Z?.product=="string"?Z.product.trim():"",rateLimitTier:typeof Z?.rate_limit_tier=="string"?Z.rate_limit_tier.trim():typeof Z?.rateLimitTier=="string"?Z.rateLimitTier.trim():""}}).filter(Boolean).slice(0,6),[s,E]),Ks=o.jsx(wc,{heatmap:tt,timeZoneLabel:yt,timeZoneShortLabel:Je,hideLegend:B,defaultToLatestMonth:B}),Xs=f.useMemo(()=>`${Ce}..${Le}`,[Ce,ce,Le]),Qs=h("usage.summary.total"),St=jn(ae),nr=h("shared.unit.thousand_abbrev"),ar=h("shared.unit.million_abbrev"),rr=h("shared.unit.billion_abbrev"),kn=He(St),or=ie&&kn!=null&&Math.abs(kn)>=1e9,Js=f.useMemo(()=>or?Ue(kn,{thousandSuffix:nr,millionSuffix:ar,billionSuffix:rr,decimals:1}):ut(St),[rr,ar,St,kn,nr,or]),Zs=h("dashboard.core_index.collapse_label"),ei=h("dashboard.core_index.expand_label"),ti=h("dashboard.core_index.collapse_aria"),ni=h("dashboard.core_index.expand_aria"),ai=!B,ri=h("dashboard.screenshot.title_line1"),oi=h("dashboard.screenshot.title_line2"),si=h("dashboard.screenshot.twitter_label"),ii=h("dashboard.screenshot.twitter_button"),li=h("dashboard.screenshot.twitter_hint"),Bt=h("shared.placeholder.short"),Ln=f.useMemo(()=>{const j=Array.isArray(jt?.sources)?jt.sources:[];let V=null,Z=0;for(const De of j){const Fe=Gt(De?.totals);!Number.isFinite(Fe)||Fe<=0||Fe>Z&&(Z=Fe,V=De)}let se=Bt,Ee=Bt,we="0.0";if(V&&Z>0){se=V?.source?String(V.source).toUpperCase():Bt;const De=Array.isArray(V?.models)?V.models:[];let Fe=0;for(const bt of De){const en=Gt(bt?.totals);!Number.isFinite(en)||en<=0||en>Fe&&(Fe=en,Ee=bt?.model?String(bt.model):Bt)}Fe>0&&(we=(Fe/Z*100).toFixed(1))}return{agentName:se,modelName:Ee,modelPercent:we}},[jt,Bt]),sr=ut(St),$n=h("dashboard.screenshot.twitter_text",{total_tokens:sr==="-"?Bt:sr,agent_name:Ln.agentName,model_name:Ln.modelName,model_percent:Ln.modelPercent}),Rn=f.useMemo(()=>{if(typeof window>"u")return"";const j=new URL("https://twitter.com/intent/tweet");return j.searchParams.set("text",$n),j.toString()},[$n]),ir=f.useCallback(async()=>{if(typeof window>"u")return null;const j=async()=>{const De=performance.now();for(;performance.now()-De<2e3;){const Fe=document.querySelector("[data-heatmap-scroll='true']");if(!Fe||Fe.dataset.latestMonthReady==="true")return;await new Promise(bt=>requestAnimationFrame(bt))}},V=document.querySelector("#root")||document.body,Z=document.documentElement,{scrollWidth:se,scrollHeight:Ee}=document.documentElement;Z?.classList.add("screenshot-capture"),document.body?.classList.add("screenshot-capture"),await new Promise(we=>requestAnimationFrame(we)),await j();try{const{toBlob:we,toPng:De}=await mo(async()=>{const{toBlob:Mt,toPng:Ai}=await import("./index-BeoRn2gJ.js");return{toBlob:Mt,toPng:Ai}},[]),Fe=await we(V,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:se,height:Ee,style:{width:`${se}px`,height:`${Ee}px`},filter:Mt=>!(Mt instanceof HTMLElement)||Mt.dataset?.screenshotExclude!=="true"});if(Fe)return Fe;const bt=await De(V,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:se,height:Ee,style:{width:`${se}px`,height:`${Ee}px`},filter:Mt=>!(Mt instanceof HTMLElement)||Mt.dataset?.screenshotExclude!=="true"});return bt?await(await fetch(bt)).blob():null}finally{Z?.classList.remove("screenshot-capture"),document.body?.classList.remove("screenshot-capture")}},[]),ci=f.useCallback(async()=>{if(typeof window>"u"||M)return;U(!0);const j=navigator?.userAgent||"",V=/iP(hone|od|ad)/i.test(j),Z=/Safari/i.test(j)&&!/Chrome|Chromium|Edg|OPR|CriOS|FxiOS/i.test(j),se=typeof navigator<"u"&&!!navigator.clipboard?.write&&typeof window<"u"&&!!window.ClipboardItem;let we=!se||V||Z;try{const De=await ir();De&&se&&(typeof document<"u"&&!document.hasFocus()&&window.focus?.(),we=await ya(De))}catch(De){console.error("Failed to capture screenshot",De)}finally{if(U(!1),!we){console.warn("Failed to write screenshot to clipboard.");return}Rn&&(window.location.href=Rn)}},[ir,M,Rn]),di=f.useMemo(()=>B?[]:fh,[B]),ui=f.useMemo(()=>[{label:h("usage.metric.total"),value:ut(St),valueClassName:"text-white"},{label:h("usage.metric.input"),value:ut(ae?.input_tokens)},{label:h("usage.metric.output"),value:ut(ae?.output_tokens)},{label:h("usage.metric.cached_input"),value:ut(ae?.cached_input_tokens)},{label:h("usage.metric.reasoning_output"),value:ut(ae?.reasoning_output_tokens)}],[ae?.cached_input_tokens,ae?.input_tokens,ae?.output_tokens,ae?.reasoning_output_tokens,St]),Bn=f.useMemo(()=>dn(ae?.total_cost_usd,{currency:m,rate:d}),[ae?.total_cost_usd,m,d]),fi=f.useMemo(()=>ae?.conversation_count??null,[ae?.conversation_count]),lr=f.useMemo(()=>uc(jt,{copyFn:h}),[jt]),cr=f.useMemo(()=>fc(jt,{limit:3,copyFn:h}),[jt]),mi=uh({enabled:I,handle:er,startDate:tr,activeDays:In,summary:ae,topModels:cr,period:ce,periodFrom:Ce,periodTo:Le,heatmap:tt,accessToken:typeof ue=="string"?ue:null,userId:t?.userId||null,currency:m,exchangeRate:d}),hi=f.useCallback(()=>P(!0),[]),gi=f.useCallback(()=>P(!1),[]),yi=f.useCallback(()=>y(!0),[]),pi=f.useCallback(()=>y(!1),[]),xi=Bn&&Bn!=="-"&&lr.length>0,Zt=h("dashboard.install.cmd.init"),Yn=Pe?null:x,zn=Yn?h("dashboard.install.cmd.init_link_code",{link_code:Yn}):Zt,bi=Zt,ki=h("dashboard.install.cmd.sync"),wi=Yn?h("dashboard.install.copy"):h("dashboard.install.copy_base"),vi=h("dashboard.install.copied");h("dashboard.session_expired.copy_label"),h("dashboard.session_expired.copied");const _i=!!(E?.install?.has_active_device_token??E?.install?.hasActiveDeviceToken),Ni=cc({publicMode:s,screenshotMode:B,forceInstall:T,accessEnabled:Oe,heatmapLoading:Ha,activeDays:In,hasActiveDeviceToken:_i}),ji=h("dashboard.install.prompt"),Si=f.useCallback(async()=>{!zn||!await dr(zn)||(H(!0),window.setTimeout(()=>H(!1),2e3))},[zn]);f.useCallback(async()=>{!Zt||!await dr(Zt)||(he(!0),window.setTimeout(()=>he(!1),2e3))},[Zt]);const Hn=f.useMemo(()=>h("dashboard.daily.empty",{cmd:"{{cmd}}"}),[u]),[Mi,Ci]=f.useMemo(()=>{const j=Hn.split("{{cmd}}");return j.length===1?[Hn,""]:[j[0],j.slice(1).join("{{cmd}}")]},[Hn]),Di=a&&!s,Ti=!n&&!Me&&!a&&!Ne&&!s;return o.jsxs(o.Fragment,{children:[o.jsx(Sm,{copy:h,onOpenShare:hi,screenshotMode:B,showExpiredGate:Di,showAuthGate:Ti,screenshotTitleLine1:ri,screenshotTitleLine2:oi,identityDisplayName:er,identityStartDate:tr,activeDays:In,identitySubscriptions:Vs,identityScrambleDurationMs:z,projectUsageEntries:ks,projectUsageLimit:$a,setProjectUsageLimit:bs,topModels:cr,signedIn:n,publicMode:s,isLocalMode:Ne,shouldShowInstall:Ni,installPrompt:ji,handleCopyInstall:Si,installCopied:Y,installCopiedLabel:vi,installCopyLabel:wi,installInitCmdDisplay:bi,linkCodeLoading:w,linkCodeError:S,trendRowsForDisplay:Ts,trendFromForDisplay:As,trendToForDisplay:Os,usageFrom:Ce,usageTo:Le,period:ce,trendTimeZoneLabel:re,activityHeatmapBlock:Ks,isCapturing:M,handleShareToX:ci,screenshotTwitterLabel:si,screenshotTwitterButton:ii,screenshotTwitterHint:li,periodsForDisplay:di,setSelectedPeriod:Bs,customFrom:X,customTo:ge,onCustomRangeApply:Ys,customRangeOpen:Te,onCustomRangeOpenChange:zs,metricsRows:ui,summaryLabel:Qs,summaryValue:Js,summaryTotalTokensRaw:He(St)||0,summaryCostValue:Bn,summaryConversationsValue:fi,rollingUsage:xt,costInfoEnabled:xi,openCostModal:yi,allowBreakdownToggle:ai,coreIndexCollapsed:Q,setCoreIndexCollapsed:fe,coreIndexCollapseLabel:Zs,coreIndexExpandLabel:ei,coreIndexCollapseAria:ti,coreIndexExpandAria:ni,refreshAll:Hs,usageLoadingState:Us,usageError:Ze,rangeLabel:Xs,timeZoneRangeLabel:pt,usageSourceLabel:qs,fleetData:lr,hasDetailsActual:Ms,dailyEmptyPrefix:Mi,installSyncCmd:ki,dailyEmptySuffix:Ci,detailsColumns:js,ariaSortFor:Is,toggleSort:Ps,sortIconFor:Ls,pagedDetails:Cs,dailyBreakdownRows:Ds,dailyBreakdownColumns:Ss,dailyBreakdownAriaSortFor:$s,dailyBreakdownSortIconFor:Rs,dailyBreakdownDateKey:yn,detailsDateKey:Ve,renderDetailDate:Fs,renderDailyBreakdownDate:Ws,renderDetailCell:Es,DETAILS_PAGED_PERIODS:on,detailsPageCount:Wn,detailsPage:Pn,setDetailsPage:xn,costModalOpen:g,closeCostModal:pi}),o.jsx(dh,{open:I,onClose:gi,data:mi,twitterText:$n})]})}export{Ch as DashboardPage};
|
|
42
|
+
`})]})}function vc(){return o.jsxs(zi,{to:"/landing",className:"flex items-center gap-2.5 no-underline hover:opacity-80 transition-opacity",children:[o.jsx("img",{src:"/app-icon.png",alt:"Token Tracker",width:28,height:28,className:"rounded-md"}),o.jsx("span",{className:"text-base font-semibold text-oai-black dark:text-oai-white leading-tight",children:"Token Tracker"})]})}function _c({children:e,header:t,footer:n,className:a="",hideHeader:r=!1,hideFooter:s=!1,bare:l=!1}){return l?o.jsxs("div",{className:`flex flex-col flex-1 min-h-0 ${a}`,children:[o.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!s&&n&&o.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]}):o.jsxs("div",{className:`min-h-screen bg-oai-white dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-sans flex flex-col transition-colors duration-200 ${a}`,children:[!r&&o.jsxs("header",{className:"border-b border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 flex items-center justify-between transition-colors duration-200",children:[o.jsx(vc,{}),o.jsx("div",{className:"flex-1 flex justify-center",children:t})]}),o.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!s&&n&&o.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]})}function Nc({children:e,variant:t="info",size:n="md",className:a=""}){const r="inline-flex items-center font-medium",s={success:"bg-oai-brand-100 dark:bg-oai-brand-900/30 text-oai-brand-700 dark:text-oai-brand-400 rounded-full",warning:"bg-oai-amber-50 dark:bg-oai-amber-900/30 text-oai-amber-dark dark:text-oai-amber-400 rounded-full",error:"bg-red-50 dark:bg-red-900/30 text-red-600 dark:text-red-400 rounded-full",info:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-300 rounded-full",secondary:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-500 dark:text-oai-gray-300 rounded-md"},l={sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm"},i=`${r} ${s[t]} ${l[n]} ${a}`.trim();return o.jsx("span",{className:i,children:e})}const jc=f.forwardRef(function(t,n){const{render:a,className:r,disabled:s=!1,nativeButton:l=!0,...i}=t,{store:c}=al(),u=c.useState("open");function m(x){u&&c.setOpen(!1,sl(il,x.nativeEvent))}const{getButtonProps:d,buttonRef:g}=rl({disabled:s,native:l}),y=f.useMemo(()=>({disabled:s}),[s]);return ol("button",t,{state:y,ref:[n,g],props:[{onClick:m},i,d]})});var Sc={};function Mc(e,t){return e==="."?{width:"0.34ch",justifyContent:"center",marginInline:"-0.04ch"}:e===","?{width:"0.08ch",justifyContent:"center",marginInline:"-0.30ch"}:{width:"0.72ch",justifyContent:"flex-start",paddingLeft:"0.04ch",height:t}}function Cc({mv:e,digit:t,height:n}){const a=yo(e,r=>{const s=(r%10+10)%10,l=(10+t-s)%10;let i=l*n;return l>5&&(i-=10*n),i});return o.jsx(Re.span,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",y:a},children:t})}function Dc(e){const t=Math.round(e),n=1e-9*Math.max(1,Math.abs(e));return Math.abs(e-t)<n?t:e}function Tc(e,t){const n=e/t;return Math.floor(Dc(n))}function Ac(e){const t=String(e??""),n=Array.from(t),a=n.indexOf(".");let r=n.filter((i,c)=>/\d/.test(i)&&(a===-1||c<a)).length,s=0,l=!1;return n.map(i=>{if(!/\d/.test(i))return i==="."&&(l=!0),i;if(!l){const c=10**Math.max(r-1,0);return r-=1,c}return s+=1,10**-s})}function Oc({place:e,value:t,height:n,digitStyle:a,shouldReduceMotion:r}){if(typeof e!="number"){const c=Mc(e,n);return o.jsx("span",{"data-counter-token":"static",className:"relative inline-flex items-center justify-center",style:{height:n,...c,...a},children:e})}const s=Tc(t,e),l=Ca(0),i=Il(l,{stiffness:220,damping:26,mass:.8});return f.useEffect(()=>{l.set(s)},[l,s]),r?o.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex items-center justify-center overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...a},children:Math.abs(s)%10}):o.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...a},children:Array.from({length:10},(c,u)=>o.jsx(Cc,{mv:i,digit:u,height:n},u))})}function Ec({value:e,displayValue:t,fontSize:n=72,padding:a=0,places:r,gap:s=6,borderRadius:l=4,horizontalPadding:i=0,textColor:c="inherit",fontWeight:u="inherit",containerStyle:m,counterStyle:d,digitStyle:g,gradientHeight:y=14,gradientFrom:x="rgba(255,255,255,0.95)",gradientTo:p="rgba(255,255,255,0)",topGradientStyle:b,bottomGradientStyle:k}){const w=String(t??e??""),v=f.useMemo(()=>Array.isArray(r)&&r.length?r:Ac(w),[r,w]),S=typeof navigator<"u"&&/jsdom/i.test(navigator.userAgent||"")||typeof process<"u"&&Sc?.VITEST==="true",C=Ma()||S,_=Number.isFinite(Number(e))?Math.abs(Number(e)):0,O=n+a;return C?o.jsx("span",{"data-counter-root":"true",style:{display:"inline-flex",alignItems:"center",color:c,fontSize:n,fontWeight:u,lineHeight:1,...m,...d},children:w}):o.jsxs("span",{"data-counter-root":"true",style:{position:"relative",display:"inline-block",...m},children:[o.jsx("span",{style:{fontSize:n,display:"flex",gap:s,overflow:"hidden",borderRadius:l,paddingLeft:i,paddingRight:i,lineHeight:1,color:c,fontWeight:u,...d},children:v.map((N,W)=>o.jsx(Oc,{place:N,value:_,height:O,digitStyle:g,shouldReduceMotion:C},`${String(N)}-${W}`))}),o.jsxs("span",{style:{pointerEvents:"none",position:"absolute",inset:0,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx("span",{style:b??{height:y,background:`linear-gradient(to bottom, ${x}, ${p})`}}),o.jsx("span",{style:k??{height:y,background:`linear-gradient(to top, ${x}, ${p})`}})]})]})}function Fc(e,t,n){if(!Number.isFinite(e))return h("shared.placeholder.short");const a=dn(e,{decimals:2,currency:t,rate:n});return a==="-"?h("shared.placeholder.short"):a}function br(e,t,n){if(!Number.isFinite(e)||e<=0)return null;const a=An(t);return(t===lo?e:e*n)<.01?`<${a}0.01`:dn(e,{decimals:2,currency:t,rate:n})}function kr(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:Ue(t,{decimals:1})}const Wc=R.memo(function({isOpen:t,onClose:n,fleetData:a=[]}){const{currency:r,rate:s}=un(),l=f.useMemo(()=>(Array.isArray(a)?a:[]).map(c=>{const u=He(c?.usd)??0,m=He(c?.usage)??0,d=Array.isArray(c?.models)?c.models:[];return{label:c?.label?String(c.label):"",usdValue:u,costLabel:br(u,r,s),tokensLabel:kr(m),models:d.map(g=>{const y=He(g?.usage)??0,x=He(g?.cost)??0;return{id:g?.id?String(g.id):"",name:g?.name?String(g.name):"",tokensLabel:kr(y),costLabel:br(x,r,s),sortCost:x}}).filter(g=>g.costLabel||g.tokensLabel).sort((g,y)=>y.sortCost-g.sortCost)}}).filter(c=>c.usdValue>0||c.models.length>0).sort((c,u)=>u.usdValue-c.usdValue),[a,r,s]),i=f.useMemo(()=>{const c=l.reduce((u,m)=>u+m.usdValue,0);return Fc(c,r,s)},[l,r,s]);return o.jsx(ll,{open:t,onOpenChange:c=>{c||n?.()},children:o.jsxs(cl,{children:[o.jsx(dl,{className:"cost-modal-backdrop","data-cost-analysis-backdrop":"true"}),o.jsx(ul,{className:"fixed inset-0 z-[101] flex items-center justify-center p-4",children:o.jsxs(fl,{className:"cost-modal-popup relative w-full max-w-[460px] max-h-[calc(100vh-2rem)] flex flex-col rounded-2xl bg-white dark:bg-oai-gray-950 shadow-[0_20px_60px_-20px_rgba(0,0,0,0.25)] dark:shadow-[0_20px_60px_-10px_rgba(0,0,0,0.65)] ring-1 ring-oai-gray-200 dark:ring-oai-gray-800 overflow-hidden",children:[o.jsx(ml,{render:o.jsx("h2",{className:"sr-only"}),children:h("dashboard.cost_breakdown.title")}),o.jsx(jc,{type:"button",className:"absolute top-3 right-3 flex h-9 w-9 items-center justify-center rounded-md text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-800 dark:hover:text-oai-gray-100 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand/50 transition-colors z-10","aria-label":h("dashboard.cost_breakdown.close"),children:o.jsx(io,{size:16,strokeWidth:2,"aria-hidden":!0})}),o.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto oai-scrollbar",children:o.jsxs("div",{className:"px-3 py-6",children:[o.jsx("p",{className:"text-label uppercase tracking-[0.12em] text-oai-gray-500 dark:text-oai-gray-400 mb-2",children:h("dashboard.cost_breakdown.total_label")}),o.jsx("p",{className:"font-bold text-oai-brand tabular-nums tracking-tight leading-none mb-6",style:{fontSize:"clamp(24px, 6.5vw, 32px)"},children:i}),l.length===0?o.jsx("p",{className:"text-body-sm text-oai-gray-500 dark:text-oai-gray-400",children:"No spend recorded."}):o.jsxs("div",{role:"table","aria-label":h("dashboard.cost_breakdown.title"),children:[o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2 mb-2 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400",children:[o.jsx("span",{role:"columnheader",children:"Model"}),o.jsx("span",{role:"columnheader",children:"Cost"})]}),l.map((c,u)=>{const m=`fleet-${u}`;return o.jsxs("div",{role:"rowgroup","aria-labelledby":m,className:u>0?"mt-5":"mt-2",children:[o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2",children:[o.jsx("span",{id:m,role:"rowheader",className:"flex-1 min-w-0 text-body-sm font-semibold text-oai-black dark:text-oai-white truncate leading-none",children:c.label}),o.jsx("span",{role:"cell",className:"shrink-0 text-body-sm font-semibold text-oai-black dark:text-oai-white tabular-nums leading-none",children:c.costLabel||"—"})]}),c.models.map((d,g)=>o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-[5px]",children:[o.jsx("span",{role:"cell",className:"flex-1 min-w-0 text-caption text-oai-gray-500 dark:text-oai-gray-400 truncate leading-none",title:d.name,children:d.name}),o.jsx("span",{role:"cell",className:"shrink-0 text-caption text-oai-gray-700 dark:text-oai-gray-300 tabular-nums leading-none",children:d.costLabel||""})]},d.id||`${d.name}-${g}`))]},`${c.label}-${u}`)})]})]})})]})})]})})});function Pc({projectEntries:e=[],projectLimit:t=3,onProjectLimitChange:n,copy:a,hasDetailsActual:r,dailyEmptyPrefix:s,installSyncCmd:l,dailyEmptySuffix:i,detailsColumns:c,ariaSortFor:u,toggleSort:m,sortIconFor:d,pagedDetails:g,dailyBreakdownRows:y=[],dailyBreakdownColumns:x=[],dailyBreakdownAriaSortFor:p,dailyBreakdownSortIconFor:b,dailyBreakdownDateKey:k="day",detailsDateKey:w,renderDetailDate:v,renderDailyBreakdownDate:S,renderDetailCell:C,DETAILS_PAGED_PERIODS:_,period:O,detailsPageCount:N,detailsPage:W,setDetailsPage:E}){const[F,ie]=f.useState("daily");return o.jsxs(Sa,{children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[o.jsxs("div",{role:"tablist","aria-label":"Data view",className:"flex gap-1",children:[o.jsx("button",{role:"tab","aria-selected":F==="daily",type:"button",onClick:()=>ie("daily"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${F==="daily"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:a("dashboard.daily.title")}),o.jsx("button",{role:"tab","aria-selected":F==="projects",type:"button",onClick:()=>ie("projects"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${F==="projects"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:a("dashboard.projects.title")})]}),F==="projects"&&o.jsxs("select",{"aria-label":"Number of projects to display",value:t,onChange:$=>n?.(Number($.target.value)),className:"text-xs text-oai-gray-600 dark:text-oai-gray-300 bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded px-2 py-1 hover:border-oai-gray-300 dark:hover:border-oai-gray-600 focus:border-oai-brand dark:focus:border-oai-brand focus:outline-none transition-colors",children:[o.jsx("option",{value:3,children:a("dashboard.projects.limit_top_3")}),o.jsx("option",{value:6,children:a("dashboard.projects.limit_top_6")}),o.jsx("option",{value:10,children:a("dashboard.projects.limit_top_10")})]})]}),F==="projects"&&o.jsx("div",{className:"space-y-1",children:e.slice(0,t).map(($,B)=>{const T=typeof $?.project_ref=="string"?$.project_ref:"",M=$?.project_key||T||`entry-${B}`,U=$?.billable_total_tokens??$?.total_tokens,I=Number(U),P=Number.isFinite(I)?I.toLocaleString():"—",z=$?.project_key||T.split("/").pop()||"—";return o.jsxs("div",{className:"flex items-center gap-3 p-2 rounded-lg",children:[o.jsx("div",{className:"w-8 h-8 rounded-md oai-bg-elevated flex items-center justify-center oai-text-caption font-medium text-oai-gray-500 dark:text-oai-gray-300",children:($?.project_key?.[0]||"?").toUpperCase()}),o.jsx("div",{className:"min-w-0 flex-1",children:o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:z})}),o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:P})]},M)})}),F==="daily"&&o.jsxs("div",{children:[y?.length===0?o.jsxs("div",{className:"oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 mb-4",children:[s,o.jsx("code",{className:"mx-1 rounded border border-oai-gray-300 dark:border-oai-gray-700 oai-bg-elevated px-1.5 py-0.5 font-mono oai-text-caption",children:l}),i]}):o.jsx("div",{className:"overflow-auto max-h-[384px] -mx-4 oai-scrollbar",children:o.jsxs("table",{className:"w-full border-collapse",children:[o.jsx("thead",{className:"sticky top-0 z-10",children:o.jsx("tr",{className:"border-b border-oai-gray-200 dark:border-oai-gray-700",children:x.map($=>o.jsx("th",{"aria-sort":p?.($.key)||"none",className:"text-left p-0 bg-white dark:bg-oai-gray-900",children:o.jsx("button",{type:"button",onClick:()=>m($.key),className:"flex w-full items-center justify-start px-4 py-2 text-left oai-text-caption font-semibold text-oai-gray-600 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white transition-colors",children:o.jsxs("span",{className:"inline-flex items-center gap-1",children:[o.jsx("span",{children:$.label}),o.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-400",children:b?.($.key)||""})]})})},$.key))})}),o.jsx("tbody",{children:y.map($=>o.jsxs("tr",{className:`border-b border-oai-gray-100 dark:border-oai-gray-800 last:border-b-0 hover:bg-oai-gray-50/50 dark:hover:bg-oai-gray-800/50 transition-colors ${$.missing?"text-oai-gray-400 dark:text-oai-gray-400":$.future?"text-oai-gray-300 dark:text-oai-gray-600":"text-oai-black dark:text-oai-white"}`,children:[o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300",children:S?S($):v($)}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:C($,"total_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"input_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"output_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"cached_input_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"reasoning_output_tokens")}),o.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C($,"conversation_count")})]},String($?.[k]||$?.day||$?.hour||$?.month||"")))})]})}),F!=="daily"&&_.has(O)&&N>1?o.jsxs("div",{className:"mt-3 flex items-center justify-between oai-text-caption",children:[o.jsx("button",{type:"button",onClick:()=>E($=>Math.max(0,$-1)),disabled:W===0,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:a("details.pagination.prev")}),o.jsxs("span",{className:"oai-text-muted",children:[W+1," / ",N]}),o.jsx("button",{type:"button",onClick:()=>E($=>Math.min(N-1,$+1)),disabled:W+1>=N,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:a("details.pagination.next")})]}):null]})]})}function Sn(e){return typeof e!="string"?"":e.trim()}function wr(e){const t=Sn(e);return t?t.split(/[_\-\s]+/).filter(Boolean).map(n=>n.slice(0,1).toUpperCase()+n.slice(1).toLowerCase()).join(" "):""}function Ic(e){if(!Array.isArray(e))return[];const t=new Map;for(const n of e){if(!n||typeof n!="object")continue;const a=Sn(n.tool),r=Sn(n.planType)||Sn(n.plan_type);if(!a||!r)continue;const s=wr(a)||a,l=wr(r)||r;t.set(`${a.toLowerCase()}::${r.toLowerCase()}`,{tool:s,plan:l})}return Array.from(t.values())}function Lc({period:e="month",rankLabel:t,streakDays:n,subscriptions:a=[],periodConversations:r,rolling:s,topModels:l=[],className:i=""}){const c=h("shared.placeholder.short"),u=h("shared.unit.percent"),m=t??h("identity_card.rank_placeholder"),d=Number.isFinite(Number(n))?Number(n):0,g=d?h("identity_card.streak_value",{days:d}):h("identity_card.rank_placeholder"),y=Ic(a),x={thousandSuffix:h("shared.unit.thousand_abbrev"),millionSuffix:h("shared.unit.million_abbrev"),billionSuffix:h("shared.unit.billion_abbrev")},p=w=>{if(w==null)return c;const v=Ue(w,x);return v==="-"?c:v},b=(()=>{switch(e){case"day":return h("stats.period.today");case"week":return h("stats.period.week");case"month":return h("stats.period.month");case"total":return h("stats.period.all");default:return h("stats.period.convs")}})(),k=l.slice(0,3);return o.jsxs(Sa,{className:`h-full ${i}`,children:[o.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(s?.last_7d?.totals?.billable_total_tokens)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"7d"})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(s?.last_30d?.totals?.billable_total_tokens)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"30d"})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(s?.last_30d?.avg_per_active_day)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"avg"})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(r)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:b})]})]}),k.length>0&&o.jsx("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800",children:k.map((w,v)=>{const S=w?.name?String(w.name):c,C=w?.percent?String(w.percent):"",_=v===k.length-1,O=v+1;return o.jsxs("div",{className:`flex items-center py-2 ${_?"":"border-b border-oai-gray-50 dark:border-oai-gray-800"}`,children:[o.jsx("span",{className:"w-5 h-5 flex items-center justify-center rounded-full bg-oai-gray-100 dark:bg-oai-gray-800 text-[10px] font-semibold text-oai-gray-500 dark:text-oai-gray-300 flex-shrink-0",children:O}),o.jsx("span",{className:"flex-1 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate px-2.5",title:S,children:S}),o.jsxs("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums flex-shrink-0",children:[C,u]})]},w.id||S)})}),y.length>0&&o.jsx("div",{className:"mt-3 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex flex-wrap gap-1.5",children:y.map((w,v)=>o.jsxs(Nc,{variant:"secondary",size:"sm",children:[w.tool," ",w.plan]},`${w.tool}:${w.plan}:${v}`))}),o.jsxs("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex items-center justify-between text-xs text-oai-gray-400 dark:text-oai-gray-400",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("span",{children:h("identity_card.rank_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:m})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx("span",{children:h("identity_card.streak_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:g})]})]})]})}function $c(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Rc={},sn={};function Et(e,t){try{const a=(Rc[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in sn?sn[a]:vr(a,a.split(":"))}catch{if(e in sn)return sn[e];const n=e?.match(Bc);return n?vr(e,n.slice(1)):NaN}}const Bc=/([+-]\d\d):?(\d\d)?/;function vr(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return sn[e]=n*60+a>0?n*60+a+r:n*60-a-r}class ot extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Et(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),No(this),pa(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new ot(...n,t):new ot(Date.now(),t)}withTimeZone(t){return new ot(+this,t)}getTimezoneOffset(){const t=-Et(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),pa(this),+this}[Symbol.for("constructDateFrom")](t){return new ot(+new Date(t),this.timeZone)}}const _r=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!_r.test(e))return;const t=e.replace(_r,"$1UTC");ot.prototype[t]&&(e.startsWith("get")?ot.prototype[e]=function(){return this.internal[t]()}:(ot.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Yc(this),+this},ot.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),pa(this),+this}))});function pa(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Et(e.timeZone,e)*60))}function Yc(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),No(e)}function No(e){const t=Et(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),l=r-s,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const c=r-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const u=new Date(+e);u.setUTCSeconds(0);const m=r>0?u.getSeconds():(u.getSeconds()-60)%60,d=Math.round(-(Et(e.timeZone,e)*60))%60;(d||m)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+d),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+d+m));const g=Et(e.timeZone,e),y=g>0?Math.floor(g):Math.ceil(g),p=-new Date(+e).getTimezoneOffset()-y,b=y!==n,k=p-c;if(b&&k){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+k);const w=Et(e.timeZone,e),v=w>0?Math.floor(w):Math.ceil(w),S=y-v;S&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+S),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S))}}class $e extends ot{static tz(t,...n){return n.length?new $e(...n,t):new $e(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${$c(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new $e(+this,t)}[Symbol.for("constructDateFrom")](t){return new $e(+new Date(t),this.timeZone)}}const jo=6048e5,zc=864e5,Nr=Symbol.for("constructDateFrom");function Ae(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Nr in e?e[Nr](t):e instanceof Date?new e.constructor(t):new Date(t)}function xe(e,t){return Ae(t||e,e)}function So(e,t,n){const a=xe(e,n?.in);return isNaN(t)?Ae(e,NaN):(t&&a.setDate(a.getDate()+t),a)}function Mo(e,t,n){const a=xe(e,n?.in);if(isNaN(t))return Ae(e,NaN);if(!t)return a;const r=a.getDate(),s=Ae(e,a.getTime());s.setMonth(a.getMonth()+t+1,0);const l=s.getDate();return r>=l?s:(a.setFullYear(s.getFullYear(),s.getMonth(),r),a)}let Hc={};function fn(){return Hc}function Vt(e,t){const n=fn(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=xe(e,t?.in),s=r.getDay(),l=(s<a?7:0)+s-a;return r.setDate(r.getDate()-l),r.setHours(0,0,0,0),r}function ln(e,t){return Vt(e,{...t,weekStartsOn:1})}function Co(e,t){const n=xe(e,t?.in),a=n.getFullYear(),r=Ae(n,0);r.setFullYear(a+1,0,4),r.setHours(0,0,0,0);const s=ln(r),l=Ae(n,0);l.setFullYear(a,0,4),l.setHours(0,0,0,0);const i=ln(l);return n.getTime()>=s.getTime()?a+1:n.getTime()>=i.getTime()?a:a-1}function jr(e){const t=xe(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function Qt(e,...t){const n=Ae.bind(null,t.find(a=>typeof a=="object"));return t.map(n)}function cn(e,t){const n=xe(e,t?.in);return n.setHours(0,0,0,0),n}function Da(e,t,n){const[a,r]=Qt(n?.in,e,t),s=cn(a),l=cn(r),i=+s-jr(s),c=+l-jr(l);return Math.round((i-c)/zc)}function Uc(e,t){const n=Co(e,t),a=Ae(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),ln(a)}function qc(e,t,n){return So(e,t*7,n)}function Gc(e,t,n){return Mo(e,t*12,n)}function Vc(e,t){let n,a=t?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=Ae.bind(null,r));const s=xe(r,a);(!n||n<s||isNaN(+s))&&(n=s)}),Ae(a,n||NaN)}function Kc(e,t){let n,a=t?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=Ae.bind(null,r));const s=xe(r,a);(!n||n>s||isNaN(+s))&&(n=s)}),Ae(a,n||NaN)}function Xc(e,t,n){const[a,r]=Qt(n?.in,e,t);return+cn(a)==+cn(r)}function Do(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Qc(e){return!(!Do(e)&&typeof e!="number"||isNaN(+xe(e)))}function To(e,t,n){const[a,r]=Qt(n?.in,e,t),s=a.getFullYear()-r.getFullYear(),l=a.getMonth()-r.getMonth();return s*12+l}function Jc(e,t){const n=xe(e,t?.in),a=n.getMonth();return n.setFullYear(n.getFullYear(),a+1,0),n.setHours(23,59,59,999),n}function Ao(e,t){const[n,a]=Qt(e,t.start,t.end);return{start:n,end:a}}function Zc(e,t){const{start:n,end:a}=Ao(t?.in,e);let r=+n>+a;const s=r?+n:+a,l=r?a:n;l.setHours(0,0,0,0),l.setDate(1);let i=1;const c=[];for(;+l<=s;)c.push(Ae(n,l)),l.setMonth(l.getMonth()+i);return r?c.reverse():c}function ed(e,t){const n=xe(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function td(e,t){const n=xe(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function Oo(e,t){const n=xe(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function nd(e,t){const{start:n,end:a}=Ao(t?.in,e);let r=+n>+a;const s=r?+n:+a,l=r?a:n;l.setHours(0,0,0,0),l.setMonth(0,1);let i=1;const c=[];for(;+l<=s;)c.push(Ae(n,l)),l.setFullYear(l.getFullYear()+i);return r?c.reverse():c}function Eo(e,t){const n=fn(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=xe(e,t?.in),s=r.getDay(),l=(s<a?-7:0)+6-(s-a);return r.setDate(r.getDate()+l),r.setHours(23,59,59,999),r}function ad(e,t){return Eo(e,{...t,weekStartsOn:1})}const rd={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},od=(e,t,n)=>{let a;const r=rd[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function ta(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const sd={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},id={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ld={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},cd={date:ta({formats:sd,defaultWidth:"full"}),time:ta({formats:id,defaultWidth:"full"}),dateTime:ta({formats:ld,defaultWidth:"full"})},dd={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ud=(e,t,n,a)=>dd[e];function nn(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):l;r=e.formattingValues[i]||e.formattingValues[l]}else{const l=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;r=e.values[i]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return r[s]}}const fd={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},md={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},hd={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},gd={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},yd={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},pd={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},xd=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},bd={ordinalNumber:xd,era:nn({values:fd,defaultWidth:"wide"}),quarter:nn({values:md,defaultWidth:"wide",argumentCallback:e=>e-1}),month:nn({values:hd,defaultWidth:"wide"}),day:nn({values:gd,defaultWidth:"wide"}),dayPeriod:nn({values:yd,defaultWidth:"wide",formattingValues:pd,defaultFormattingWidth:"wide"})};function an(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],s=t.match(r);if(!s)return null;const l=s[0],i=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?wd(i,d=>d.test(l)):kd(i,d=>d.test(l));let u;u=e.valueCallback?e.valueCallback(c):c,u=n.valueCallback?n.valueCallback(u):u;const m=t.slice(l.length);return{value:u,rest:m}}}function kd(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function wd(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function vd(e){return(t,n={})=>{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],s=t.match(e.parsePattern);if(!s)return null;let l=e.valueCallback?e.valueCallback(s[0]):s[0];l=n.valueCallback?n.valueCallback(l):l;const i=t.slice(r.length);return{value:l,rest:i}}}const _d=/^(\d+)(th|st|nd|rd)?/i,Nd=/\d+/i,jd={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Sd={any:[/^b/i,/^(a|c)/i]},Md={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Cd={any:[/1/i,/2/i,/3/i,/4/i]},Dd={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Td={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Ad={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Od={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Ed={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Fd={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Wd={ordinalNumber:vd({matchPattern:_d,parsePattern:Nd,valueCallback:e=>parseInt(e,10)}),era:an({matchPatterns:jd,defaultMatchWidth:"wide",parsePatterns:Sd,defaultParseWidth:"any"}),quarter:an({matchPatterns:Md,defaultMatchWidth:"wide",parsePatterns:Cd,defaultParseWidth:"any",valueCallback:e=>e+1}),month:an({matchPatterns:Dd,defaultMatchWidth:"wide",parsePatterns:Td,defaultParseWidth:"any"}),day:an({matchPatterns:Ad,defaultMatchWidth:"wide",parsePatterns:Od,defaultParseWidth:"any"}),dayPeriod:an({matchPatterns:Ed,defaultMatchWidth:"any",parsePatterns:Fd,defaultParseWidth:"any"})},Ut={code:"en-US",formatDistance:od,formatLong:cd,formatRelative:ud,localize:bd,match:Wd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Pd(e,t){const n=xe(e,t?.in);return Da(n,Oo(n))+1}function Ta(e,t){const n=xe(e,t?.in),a=+ln(n)-+Uc(n);return Math.round(a/jo)+1}function Fo(e,t){const n=xe(e,t?.in),a=n.getFullYear(),r=fn(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=Ae(t?.in||e,0);l.setFullYear(a+1,0,s),l.setHours(0,0,0,0);const i=Vt(l,t),c=Ae(t?.in||e,0);c.setFullYear(a,0,s),c.setHours(0,0,0,0);const u=Vt(c,t);return+n>=+i?a+1:+n>=+u?a:a-1}function Id(e,t){const n=fn(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=Fo(e,t),s=Ae(t?.in||e,0);return s.setFullYear(r,0,a),s.setHours(0,0,0,0),Vt(s,t)}function Aa(e,t){const n=xe(e,t?.in),a=+Vt(n,t)-+Id(n,t);return Math.round(a/jo)+1}function ye(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const kt={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return ye(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ye(n+1,2)},d(e,t){return ye(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return ye(e.getHours()%12||12,t.length)},H(e,t){return ye(e.getHours(),t.length)},m(e,t){return ye(e.getMinutes(),t.length)},s(e,t){return ye(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return ye(r,t.length)}},zt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Sr={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return kt.y(e,t)},Y:function(e,t,n,a){const r=Fo(e,a),s=r>0?r:1-r;if(t==="YY"){const l=s%100;return ye(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):ye(s,t.length)},R:function(e,t){const n=Co(e);return ye(n,t.length)},u:function(e,t){const n=e.getFullYear();return ye(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return ye(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return ye(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return kt.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return ye(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Aa(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):ye(r,t.length)},I:function(e,t,n){const a=Ta(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):ye(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):kt.d(e,t)},D:function(e,t,n){const a=Pd(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):ye(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),s=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return ye(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),s=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return ye(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return ye(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=zt.noon:a===0?r=zt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=zt.evening:a>=12?r=zt.afternoon:a>=4?r=zt.morning:r=zt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return kt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):kt.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):ye(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):ye(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):kt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):kt.s(e,t)},S:function(e,t){return kt.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return Cr(a);case"XXXX":case"XX":return At(a);default:return At(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return Cr(a);case"xxxx":case"xx":return At(a);default:return At(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Mr(a,":");default:return"GMT"+At(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Mr(a,":");default:return"GMT"+At(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return ye(a,t.length)},T:function(e,t,n){return ye(+e,t.length)}};function Mr(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),s=a%60;return s===0?n+String(r):n+String(r)+t+ye(s,2)}function Cr(e,t){return e%60===0?(e>0?"-":"+")+ye(Math.abs(e)/60,2):At(e,t)}function At(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=ye(Math.trunc(a/60),2),s=ye(a%60,2);return n+r+t+s}const Dr=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},Wo=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},Ld=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return Dr(e,t);let s;switch(a){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",Dr(a,t)).replace("{{time}}",Wo(r,t))},$d={p:Wo,P:Ld},Rd=/^D+$/,Bd=/^Y+$/,Yd=["D","DD","YY","YYYY"];function zd(e){return Rd.test(e)}function Hd(e){return Bd.test(e)}function Ud(e,t,n){const a=qd(e,t,n);if(console.warn(a),Yd.includes(e))throw new RangeError(a)}function qd(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Gd=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Vd=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Kd=/^'([^]*?)'?$/,Xd=/''/g,Qd=/[a-zA-Z]/;function st(e,t,n){const a=fn(),r=n?.locale??a.locale??Ut,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,i=xe(e,n?.in);if(!Qc(i))throw new RangeError("Invalid time value");let c=t.match(Vd).map(m=>{const d=m[0];if(d==="p"||d==="P"){const g=$d[d];return g(m,r.formatLong)}return m}).join("").match(Gd).map(m=>{if(m==="''")return{isToken:!1,value:"'"};const d=m[0];if(d==="'")return{isToken:!1,value:Jd(m)};if(Sr[d])return{isToken:!0,value:m};if(d.match(Qd))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:m}});r.localize.preprocessor&&(c=r.localize.preprocessor(i,c));const u={firstWeekContainsDate:s,weekStartsOn:l,locale:r};return c.map(m=>{if(!m.isToken)return m.value;const d=m.value;(!n?.useAdditionalWeekYearTokens&&Hd(d)||!n?.useAdditionalDayOfYearTokens&&zd(d))&&Ud(d,t,String(e));const g=Sr[d[0]];return g(i,d,r.localize,u)}).join("")}function Jd(e){const t=e.match(Kd);return t?t[1].replace(Xd,"'"):e}function Zd(e,t){const n=xe(e,t?.in),a=n.getFullYear(),r=n.getMonth(),s=Ae(n,0);return s.setFullYear(a,r+1,0),s.setHours(0,0,0,0),s.getDate()}function eu(e,t){return xe(e,t?.in).getMonth()}function tu(e,t){return xe(e,t?.in).getFullYear()}function nu(e,t){return+xe(e)>+xe(t)}function au(e,t){return+xe(e)<+xe(t)}function ru(e,t,n){const[a,r]=Qt(n?.in,e,t);return a.getFullYear()===r.getFullYear()&&a.getMonth()===r.getMonth()}function ou(e,t,n){const[a,r]=Qt(n?.in,e,t);return a.getFullYear()===r.getFullYear()}function su(e,t,n){const a=xe(e,n?.in),r=a.getFullYear(),s=a.getDate(),l=Ae(e,0);l.setFullYear(r,t,15),l.setHours(0,0,0,0);const i=Zd(l);return a.setMonth(t,Math.min(s,i)),a}function iu(e,t,n){const a=xe(e,n?.in);return isNaN(+a)?Ae(e,NaN):(a.setFullYear(t),a)}const Tr=5,lu=4;function cu(e,t){const n=t.startOfMonth(e),a=n.getDay()>0?n.getDay():7,r=t.addDays(e,-a+1),s=t.addDays(r,Tr*7-1);return t.getMonth(e)===t.getMonth(s)?Tr:lu}function Po(e,t){const n=t.startOfMonth(e),a=n.getDay();return a===1?n:a===0?t.addDays(n,-6):t.addDays(n,-1*(a-1))}function du(e,t){const n=Po(e,t),a=cu(e,t);return t.addDays(n,a*7-1)}const Io={...Ut,labels:{labelDayButton:(e,t,n,a)=>{let r;a&&typeof a.format=="function"?r=a.format.bind(a):r=(l,i)=>st(l,i,{locale:Ut,...n});let s=r(e,"PPPP");return t.today&&(s=`Today, ${s}`),t.selected&&(s=`${s}, selected`),s},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let a;return n&&typeof n.format=="function"?a=n.format.bind(n):a=(r,s)=>st(r,s,{locale:Ut,...t}),a(e,"LLLL yyyy")},labelGridcell:(e,t,n,a)=>{let r;a&&typeof a.format=="function"?r=a.format.bind(a):r=(l,i)=>st(l,i,{locale:Ut,...n});let s=r(e,"PPPP");return t?.today&&(s=`Today, ${s}`),s},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let a;return n&&typeof n.format=="function"?a=n.format.bind(n):a=(r,s)=>st(r,s,{locale:Ut,...t}),a(e,"cccc")}}};class qe{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?$e.tz(this.options.timeZone):new this.Date,this.newDate=(a,r,s)=>this.overrides?.newDate?this.overrides.newDate(a,r,s):this.options.timeZone?new $e(a,r,s,this.options.timeZone):new Date(a,r,s),this.addDays=(a,r)=>this.overrides?.addDays?this.overrides.addDays(a,r):So(a,r),this.addMonths=(a,r)=>this.overrides?.addMonths?this.overrides.addMonths(a,r):Mo(a,r),this.addWeeks=(a,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(a,r):qc(a,r),this.addYears=(a,r)=>this.overrides?.addYears?this.overrides.addYears(a,r):Gc(a,r),this.differenceInCalendarDays=(a,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(a,r):Da(a,r),this.differenceInCalendarMonths=(a,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(a,r):To(a,r),this.eachMonthOfInterval=a=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(a):Zc(a),this.eachYearOfInterval=a=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(a):nd(a),s=new Set(r.map(i=>this.getYear(i)));if(s.size===r.length)return r;const l=[];return s.forEach(i=>{l.push(new Date(i,0,1))}),l},this.endOfBroadcastWeek=a=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(a):du(a,this),this.endOfISOWeek=a=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(a):ad(a),this.endOfMonth=a=>this.overrides?.endOfMonth?this.overrides.endOfMonth(a):Jc(a),this.endOfWeek=(a,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(a,r):Eo(a,this.options),this.endOfYear=a=>this.overrides?.endOfYear?this.overrides.endOfYear(a):td(a),this.format=(a,r,s)=>{const l=this.overrides?.format?this.overrides.format(a,r,this.options):st(a,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=a=>this.overrides?.getISOWeek?this.overrides.getISOWeek(a):Ta(a),this.getMonth=(a,r)=>this.overrides?.getMonth?this.overrides.getMonth(a,this.options):eu(a,this.options),this.getYear=(a,r)=>this.overrides?.getYear?this.overrides.getYear(a,this.options):tu(a,this.options),this.getWeek=(a,r)=>this.overrides?.getWeek?this.overrides.getWeek(a,this.options):Aa(a,this.options),this.isAfter=(a,r)=>this.overrides?.isAfter?this.overrides.isAfter(a,r):nu(a,r),this.isBefore=(a,r)=>this.overrides?.isBefore?this.overrides.isBefore(a,r):au(a,r),this.isDate=a=>this.overrides?.isDate?this.overrides.isDate(a):Do(a),this.isSameDay=(a,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(a,r):Xc(a,r),this.isSameMonth=(a,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(a,r):ru(a,r),this.isSameYear=(a,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(a,r):ou(a,r),this.max=a=>this.overrides?.max?this.overrides.max(a):Vc(a),this.min=a=>this.overrides?.min?this.overrides.min(a):Kc(a),this.setMonth=(a,r)=>this.overrides?.setMonth?this.overrides.setMonth(a,r):su(a,r),this.setYear=(a,r)=>this.overrides?.setYear?this.overrides.setYear(a,r):iu(a,r),this.startOfBroadcastWeek=(a,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(a,this):Po(a,this),this.startOfDay=a=>this.overrides?.startOfDay?this.overrides.startOfDay(a):cn(a),this.startOfISOWeek=a=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(a):ln(a),this.startOfMonth=a=>this.overrides?.startOfMonth?this.overrides.startOfMonth(a):ed(a),this.startOfWeek=(a,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(a,this.options):Vt(a,this.options),this.startOfYear=a=>this.overrides?.startOfYear?this.overrides.startOfYear(a):Oo(a),this.options={locale:Io,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),a={};for(let r=0;r<10;r++)a[r.toString()]=n.format(r);return a}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,a=>n[a]||a)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&qe.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:a,numerals:r}=this.options,s=n?.code;if(s&&qe.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:a,numberingSystem:r}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}qe.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const it=new qe;class Lo{constructor(t,n,a=it){this.date=t,this.displayMonth=n,this.outside=!!(n&&!a.isSameMonth(t,n)),this.dateLib=a,this.isoDate=a.format(t,"yyyy-MM-dd"),this.displayMonthId=a.format(n,"yyyy-MM"),this.dateMonthId=a.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class uu{constructor(t,n){this.date=t,this.weeks=n}}class fu{constructor(t,n){this.days=n,this.weekNumber=t}}function mu(e){return R.createElement("button",{...e})}function hu(e){return R.createElement("span",{...e})}function gu(e){const{size:t=24,orientation:n="left",className:a}=e;return R.createElement("svg",{className:a,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&R.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&R.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&R.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&R.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function yu(e){const{day:t,modifiers:n,...a}=e;return R.createElement("td",{...a})}function pu(e){const{day:t,modifiers:n,...a}=e,r=R.useRef(null);return R.useEffect(()=>{n.focused&&r.current?.focus()},[n.focused]),R.createElement("button",{ref:r,...a})}var ee;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(ee||(ee={}));var je;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(je||(je={}));var Qe;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Qe||(Qe={}));var ze;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(ze||(ze={}));function xu(e){const{options:t,className:n,components:a,classNames:r,...s}=e,l=[r[ee.Dropdown],n].join(" "),i=t?.find(({value:c})=>c===s.value);return R.createElement("span",{"data-disabled":s.disabled,className:r[ee.DropdownRoot]},R.createElement(a.Select,{className:l,...s},t?.map(({value:c,label:u,disabled:m})=>R.createElement(a.Option,{key:c,value:c,disabled:m},u))),R.createElement("span",{className:r[ee.CaptionLabel],"aria-hidden":!0},i?.label,R.createElement(a.Chevron,{orientation:"down",size:18,className:r[ee.Chevron]})))}function bu(e){return R.createElement("div",{...e})}function ku(e){return R.createElement("div",{...e})}function wu(e){const{calendarMonth:t,displayIndex:n,...a}=e;return R.createElement("div",{...a},e.children)}function vu(e){const{calendarMonth:t,displayIndex:n,...a}=e;return R.createElement("div",{...a})}function _u(e){return R.createElement("table",{...e})}function Nu(e){return R.createElement("div",{...e})}const $o=f.createContext(void 0);function mn(){const e=f.useContext($o);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function ju(e){const{components:t}=mn();return R.createElement(t.Dropdown,{...e})}function Su(e){const{onPreviousClick:t,onNextClick:n,previousMonth:a,nextMonth:r,...s}=e,{components:l,classNames:i,labels:{labelPrevious:c,labelNext:u}}=mn(),m=f.useCallback(g=>{r&&n?.(g)},[r,n]),d=f.useCallback(g=>{a&&t?.(g)},[a,t]);return R.createElement("nav",{...s},R.createElement(l.PreviousMonthButton,{type:"button",className:i[ee.PreviousMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:d},R.createElement(l.Chevron,{disabled:a?void 0:!0,className:i[ee.Chevron],orientation:"left"})),R.createElement(l.NextMonthButton,{type:"button",className:i[ee.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":u(r),onClick:m},R.createElement(l.Chevron,{disabled:r?void 0:!0,orientation:"right",className:i[ee.Chevron]})))}function Mu(e){const{components:t}=mn();return R.createElement(t.Button,{...e})}function Cu(e){return R.createElement("option",{...e})}function Du(e){const{components:t}=mn();return R.createElement(t.Button,{...e})}function Tu(e){const{rootRef:t,...n}=e;return R.createElement("div",{...n,ref:t})}function Au(e){return R.createElement("select",{...e})}function Ou(e){const{week:t,...n}=e;return R.createElement("tr",{...n})}function Eu(e){return R.createElement("th",{...e})}function Fu(e){return R.createElement("thead",{"aria-hidden":!0},R.createElement("tr",{...e}))}function Wu(e){const{week:t,...n}=e;return R.createElement("th",{...n})}function Pu(e){return R.createElement("th",{...e})}function Iu(e){return R.createElement("tbody",{...e})}function Lu(e){const{components:t}=mn();return R.createElement(t.Dropdown,{...e})}const $u=Object.freeze(Object.defineProperty({__proto__:null,Button:mu,CaptionLabel:hu,Chevron:gu,Day:yu,DayButton:pu,Dropdown:xu,DropdownNav:bu,Footer:ku,Month:wu,MonthCaption:vu,MonthGrid:_u,Months:Nu,MonthsDropdown:ju,Nav:Su,NextMonthButton:Mu,Option:Cu,PreviousMonthButton:Du,Root:Tu,Select:Au,Week:Ou,WeekNumber:Wu,WeekNumberHeader:Pu,Weekday:Eu,Weekdays:Fu,Weeks:Iu,YearsDropdown:Lu},Symbol.toStringTag,{value:"Module"}));function ht(e,t,n=!1,a=it){let{from:r,to:s}=e;const{differenceInCalendarDays:l,isSameDay:i}=a;return r&&s?(l(s,r)<0&&([r,s]=[s,r]),l(t,r)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?i(s,t):!n&&r?i(r,t):!1}function Oa(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function On(e){return!!(e&&typeof e=="object"&&"from"in e)}function Ea(e){return!!(e&&typeof e=="object"&&"after"in e)}function Fa(e){return!!(e&&typeof e=="object"&&"before"in e)}function Ro(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Bo(e,t){return Array.isArray(e)&&e.every(t.isDate)}function gt(e,t,n=it){const a=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:s,isAfter:l}=n;return a.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return r(e,i);if(Bo(i,n))return i.some(c=>r(e,c));if(On(i))return ht(i,e,!1,n);if(Ro(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(Oa(i)){const c=s(i.before,e),u=s(i.after,e),m=c>0,d=u<0;return l(i.before,i.after)?d&&m:m||d}return Ea(i)?s(e,i.after)>0:Fa(i)?s(i.before,e)>0:typeof i=="function"?i(e):!1})}function Ru(e,t,n,a,r){const{disabled:s,hidden:l,modifiers:i,showOutsideDays:c,broadcastCalendar:u,today:m=r.today()}=t,{isSameDay:d,isSameMonth:g,startOfMonth:y,isBefore:x,endOfMonth:p,isAfter:b}=r,k=n&&y(n),w=a&&p(a),v={[je.focused]:[],[je.outside]:[],[je.disabled]:[],[je.hidden]:[],[je.today]:[]},S={};for(const C of e){const{date:_,displayMonth:O}=C,N=!!(O&&!g(_,O)),W=!!(k&&x(_,k)),E=!!(w&&b(_,w)),F=!!(s&>(_,s,r)),ie=!!(l&>(_,l,r))||W||E||!u&&!c&&N||u&&c===!1&&N,$=d(_,m);N&&v.outside.push(C),F&&v.disabled.push(C),ie&&v.hidden.push(C),$&&v.today.push(C),i&&Object.keys(i).forEach(B=>{const T=i?.[B];T&>(_,T,r)&&(S[B]?S[B].push(C):S[B]=[C])})}return C=>{const _={[je.focused]:!1,[je.disabled]:!1,[je.hidden]:!1,[je.outside]:!1,[je.today]:!1},O={};for(const N in v){const W=v[N];_[N]=W.some(E=>E===C)}for(const N in S)O[N]=S[N].some(W=>W===C);return{..._,...O}}}function Bu(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[s])=>(n[s]?r.push(n[s]):t[je[s]]?r.push(t[je[s]]):t[Qe[s]]&&r.push(t[Qe[s]]),r),[t[ee.Day]])}function Yu(e){return{...$u,...e}}function zu(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,a])=>{n.startsWith("data-")&&(t[n]=a)}),t}function Hu(){const e={};for(const t in ee)e[ee[t]]=`rdp-${ee[t]}`;for(const t in je)e[je[t]]=`rdp-${je[t]}`;for(const t in Qe)e[Qe[t]]=`rdp-${Qe[t]}`;for(const t in ze)e[ze[t]]=`rdp-${ze[t]}`;return e}function Yo(e,t,n){return(n??new qe(t)).formatMonthYear(e)}const Uu=Yo;function qu(e,t,n){return(n??new qe(t)).format(e,"d")}function Gu(e,t=it){return t.format(e,"LLLL")}function Vu(e,t,n){return(n??new qe(t)).format(e,"cccccc")}function Ku(e,t=it){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Xu(){return""}function zo(e,t=it){return t.format(e,"yyyy")}const Qu=zo,Ju=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Yo,formatDay:qu,formatMonthCaption:Uu,formatMonthDropdown:Gu,formatWeekNumber:Ku,formatWeekNumberHeader:Xu,formatWeekdayName:Vu,formatYearCaption:Qu,formatYearDropdown:zo},Symbol.toStringTag,{value:"Module"}));function Zu(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Ju,...e}}function Wa(e,t,n,a){let r=(a??new qe(n)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const ef=Wa;function Pa(e,t,n){return(n??new qe(t)).formatMonthYear(e)}const tf=Pa;function Ho(e,t,n,a){let r=(a??new qe(n)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function Uo(e){return"Choose the Month"}function qo(){return""}const nf="Go to the Next Month";function Go(e,t){return nf}function Vo(e){return"Go to the Previous Month"}function Ko(e,t,n){return(n??new qe(t)).format(e,"cccc")}function Xo(e,t){return`Week ${e}`}function Qo(e){return"Week Number"}function Jo(e){return"Choose the Year"}const af=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:tf,labelDay:ef,labelDayButton:Wa,labelGrid:Pa,labelGridcell:Ho,labelMonthDropdown:Uo,labelNav:qo,labelNext:Go,labelPrevious:Vo,labelWeekNumber:Xo,labelWeekNumberHeader:Qo,labelWeekday:Ko,labelYearDropdown:Jo},Symbol.toStringTag,{value:"Module"})),Xe=(e,t,n)=>t||(n?typeof n=="function"?n:(...a)=>n:e);function rf(e,t){const n=t.locale?.labels??{};return{...af,...e??{},labelDayButton:Xe(Wa,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Xe(Uo,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Xe(Go,e?.labelNext,n.labelNext),labelPrevious:Xe(Vo,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Xe(Xo,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Xe(Jo,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Xe(Pa,e?.labelGrid,n.labelGrid),labelGridcell:Xe(Ho,e?.labelGridcell,n.labelGridcell),labelNav:Xe(qo,e?.labelNav,n.labelNav),labelWeekNumberHeader:Xe(Qo,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Xe(Ko,e?.labelWeekday,n.labelWeekday)}}function of(e,t,n,a,r){const{startOfMonth:s,startOfYear:l,endOfYear:i,eachMonthOfInterval:c,getMonth:u}=r;return c({start:l(e),end:i(e)}).map(g=>{const y=a.formatMonthDropdown(g,r),x=u(g),p=t&&g<s(t)||n&&g>s(n)||!1;return{value:x,label:y,disabled:p}})}function sf(e,t={},n={}){let a={...t?.[ee.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{a={...a,...n?.[r]}}),a}function lf(e,t,n,a){const r=a??e.today(),s=n?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),l=[];for(let i=0;i<7;i++){const c=e.addDays(s,i);l.push(c)}return l}function cf(e,t,n,a,r=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:i,getYear:c}=a,u=s(e),m=l(t),d=i({start:u,end:m});return r&&d.reverse(),d.map(g=>{const y=n.formatYearDropdown(g,a);return{value:c(g),label:y,disabled:!1}})}function df(e,t={}){const{weekStartsOn:n,locale:a}=t,r=n??a?.options?.weekStartsOn??0,s=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new $e(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},l=i=>{const c=s(i);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>s($e.tz(e)),newDate:(i,c,u)=>new $e(i,c,u,12,0,0,e),startOfDay:i=>s(i),startOfWeek:(i,c)=>{const u=s(i),m=c?.weekStartsOn??r,d=(u.getDay()-m+7)%7;return u.setDate(u.getDate()-d),u},startOfISOWeek:i=>{const c=s(i),u=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-u),c},startOfMonth:i=>{const c=s(i);return c.setDate(1),c},startOfYear:i=>{const c=s(i);return c.setMonth(0,1),c},endOfWeek:(i,c)=>{const u=s(i),g=(((c?.weekStartsOn??r)+6)%7-u.getDay()+7)%7;return u.setDate(u.getDate()+g),u},endOfISOWeek:i=>{const c=s(i),u=(7-c.getDay())%7;return c.setDate(c.getDate()+u),c},endOfMonth:i=>{const c=s(i);return c.setMonth(c.getMonth()+1,0),c},endOfYear:i=>{const c=s(i);return c.setMonth(11,31),c},eachMonthOfInterval:i=>{const c=s(i.start),u=s(i.end),m=[],d=new $e(c.getFullYear(),c.getMonth(),1,12,0,0,e),g=u.getFullYear()*12+u.getMonth();for(;d.getFullYear()*12+d.getMonth()<=g;)m.push(new $e(d,e)),d.setMonth(d.getMonth()+1,1);return m},addDays:(i,c)=>{const u=s(i);return u.setDate(u.getDate()+c),u},addWeeks:(i,c)=>{const u=s(i);return u.setDate(u.getDate()+c*7),u},addMonths:(i,c)=>{const u=s(i);return u.setMonth(u.getMonth()+c),u},addYears:(i,c)=>{const u=s(i);return u.setFullYear(u.getFullYear()+c),u},eachYearOfInterval:i=>{const c=s(i.start),u=s(i.end),m=[],d=new $e(c.getFullYear(),0,1,12,0,0,e);for(;d.getFullYear()<=u.getFullYear();)m.push(new $e(d,e)),d.setFullYear(d.getFullYear()+1,0,1);return m},getWeek:(i,c)=>{const u=l(i);return Aa(u,{weekStartsOn:c?.weekStartsOn??r,firstWeekContainsDate:c?.firstWeekContainsDate??a?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=l(i);return Ta(c)},differenceInCalendarDays:(i,c)=>{const u=l(i),m=l(c);return Da(u,m)},differenceInCalendarMonths:(i,c)=>{const u=l(i),m=l(c);return To(u,m)}}}const hn=e=>e instanceof HTMLElement?e:null,na=e=>[...e.querySelectorAll("[data-animated-month]")??[]],uf=e=>hn(e.querySelector("[data-animated-month]")),aa=e=>hn(e.querySelector("[data-animated-caption]")),ra=e=>hn(e.querySelector("[data-animated-weeks]")),ff=e=>hn(e.querySelector("[data-animated-nav]")),mf=e=>hn(e.querySelector("[data-animated-weekdays]"));function hf(e,t,{classNames:n,months:a,focused:r,dateLib:s}){const l=f.useRef(null),i=f.useRef(a),c=f.useRef(!1);f.useLayoutEffect(()=>{const u=i.current;if(i.current=a,!t||!e.current||!(e.current instanceof HTMLElement)||a.length===0||u.length===0||a.length!==u.length)return;const m=s.isSameMonth(a[0].date,u[0].date),d=s.isAfter(a[0].date,u[0].date),g=d?n[ze.caption_after_enter]:n[ze.caption_before_enter],y=d?n[ze.weeks_after_enter]:n[ze.weeks_before_enter],x=l.current,p=e.current.cloneNode(!0);if(p instanceof HTMLElement?(na(p).forEach(v=>{if(!(v instanceof HTMLElement))return;const S=uf(v);S&&v.contains(S)&&v.removeChild(S);const C=aa(v);C&&C.classList.remove(g);const _=ra(v);_&&_.classList.remove(y)}),l.current=p):l.current=null,c.current||m||r)return;const b=x instanceof HTMLElement?na(x):[],k=na(e.current);if(k?.every(w=>w instanceof HTMLElement)&&b&&b.every(w=>w instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const w=ff(e.current);w&&(w.style.zIndex="1"),k.forEach((v,S)=>{const C=b[S];if(!C)return;v.style.position="relative",v.style.overflow="hidden";const _=aa(v);_&&_.classList.add(g);const O=ra(v);O&&O.classList.add(y);const N=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),w&&(w.style.zIndex=""),_&&_.classList.remove(g),O&&O.classList.remove(y),v.style.position="",v.style.overflow="",v.contains(C)&&v.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const W=mf(C);W&&(W.style.opacity="0");const E=aa(C);E&&(E.classList.add(d?n[ze.caption_before_exit]:n[ze.caption_after_exit]),E.addEventListener("animationend",N));const F=ra(C);F&&F.classList.add(d?n[ze.weeks_before_exit]:n[ze.weeks_after_exit]),v.insertBefore(C,v.firstChild)})}})}function gf(e,t,n,a){const r=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:u,differenceInCalendarDays:m,differenceInCalendarMonths:d,endOfBroadcastWeek:g,endOfISOWeek:y,endOfMonth:x,endOfWeek:p,isAfter:b,startOfBroadcastWeek:k,startOfISOWeek:w,startOfWeek:v}=a,S=c?k(r,a):l?w(r):v(r),C=c?g(s):l?y(x(s)):p(x(s)),_=t&&(c?g(t):l?y(t):p(t)),O=_&&b(C,_)?_:C,N=m(O,S),W=d(s,r)+1,E=[];for(let $=0;$<=N;$++){const B=u(S,$);E.push(B)}const ie=(c?35:42)*W;if(i&&E.length<ie){const $=ie-E.length;for(let B=0;B<$;B++){const T=u(E[E.length-1],1);E.push(T)}}return E}function yf(e){const t=[];return e.reduce((n,a)=>{const r=a.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(r.slice())},t.slice())}function pf(e,t,n,a){const{numberOfMonths:r=1}=n,s=[];for(let l=0;l<r;l++){const i=a.addMonths(e,l);if(t&&i>t)break;s.push(i)}return s}function Ar(e,t,n,a){const{month:r,defaultMonth:s,today:l=a.today(),numberOfMonths:i=1}=e;let c=r||s||l;const{differenceInCalendarMonths:u,addMonths:m,startOfMonth:d}=a;if(n&&u(n,c)<i-1){const g=-1*(i-1);c=m(n,g)}return t&&u(c,t)<0&&(c=t),d(c)}function xf(e,t,n,a){const{addDays:r,endOfBroadcastWeek:s,endOfISOWeek:l,endOfMonth:i,endOfWeek:c,getISOWeek:u,getWeek:m,startOfBroadcastWeek:d,startOfISOWeek:g,startOfWeek:y}=a,x=e.reduce((p,b)=>{const k=n.broadcastCalendar?d(b,a):n.ISOWeek?g(b):y(b),w=n.broadcastCalendar?s(b):n.ISOWeek?l(i(b)):c(i(b)),v=t.filter(O=>O>=k&&O<=w),S=n.broadcastCalendar?35:42;if(n.fixedWeeks&&v.length<S){const O=t.filter(N=>{const W=S-v.length;return N>w&&N<=r(w,W)});v.push(...O)}const C=v.reduce((O,N)=>{const W=n.ISOWeek?u(N):m(N),E=O.find(ie=>ie.weekNumber===W),F=new Lo(N,b,a);return E?E.days.push(F):O.push(new fu(W,[F])),O},[]),_=new uu(b,C);return p.push(_),p},[]);return n.reverseMonths?x.reverse():x}function bf(e,t){let{startMonth:n,endMonth:a}=e;const{startOfYear:r,startOfDay:s,startOfMonth:l,endOfMonth:i,addYears:c,endOfYear:u,newDate:m,today:d}=t,{fromYear:g,toYear:y,fromMonth:x,toMonth:p}=e;!n&&x&&(n=x),!n&&g&&(n=t.newDate(g,0,1)),!a&&p&&(a=p),!a&&y&&(a=m(y,11,31));const b=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):g?n=m(g,0,1):!n&&b&&(n=r(c(e.today??d(),-100))),a?a=i(a):y?a=m(y,11,31):!a&&b&&(a=u(e.today??d())),[n&&s(n),a&&s(a)]}function kf(e,t,n,a){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=a,u=r?s:1,m=l(e);if(!t)return i(m,u);if(!(c(t,e)<s))return i(m,u)}function wf(e,t,n,a){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:s}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=a,u=r?s??1:1,m=l(e);if(!t)return i(m,-u);if(!(c(m,t)<=0))return i(m,-u)}function vf(e){const t=[];return e.reduce((n,a)=>n.concat(a.weeks.slice()),t.slice())}function En(e,t){const[n,a]=f.useState(e);return[t===void 0?n:t,a]}function _f(e,t){const[n,a]=bf(e,t),{startOfMonth:r,endOfMonth:s}=t,l=Ar(e,n,a,t),[i,c]=En(l,e.month?l:void 0);f.useEffect(()=>{const S=Ar(e,n,a,t);c(S)},[e.timeZone]);const{months:u,weeks:m,days:d,previousMonth:g,nextMonth:y}=f.useMemo(()=>{const S=pf(i,a,{numberOfMonths:e.numberOfMonths},t),C=gf(S,e.endMonth?s(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),_=xf(S,C,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=vf(_),N=yf(_),W=wf(i,n,e,t),E=kf(i,a,e,t);return{months:_,weeks:O,days:N,previousMonth:W,nextMonth:E}},[t,i.getTime(),a?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:x,onMonthChange:p}=e,b=S=>m.some(C=>C.days.some(_=>_.isEqualTo(S))),k=S=>{if(x)return;let C=r(S);n&&C<r(n)&&(C=r(n)),a&&C>r(a)&&(C=r(a)),c(C),p?.(C)};return{months:u,weeks:m,days:d,navStart:n,navEnd:a,previousMonth:g,nextMonth:y,goToMonth:k,goToDay:S=>{b(S)||k(S.date)}}}var at;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(at||(at={}));function Or(e){return!e[je.disabled]&&!e[je.hidden]&&!e[je.outside]}function Nf(e,t,n,a){let r,s=-1;for(const l of e){const i=t(l);Or(i)&&(i[je.focused]&&s<at.FocusedModifier?(r=l,s=at.FocusedModifier):a?.isEqualTo(l)&&s<at.LastFocused?(r=l,s=at.LastFocused):n(l.date)&&s<at.Selected?(r=l,s=at.Selected):i[je.today]&&s<at.Today&&(r=l,s=at.Today))}return r||(r=e.find(l=>Or(t(l)))),r}function jf(e,t,n,a,r,s,l){const{ISOWeek:i,broadcastCalendar:c}=s,{addDays:u,addMonths:m,addWeeks:d,addYears:g,endOfBroadcastWeek:y,endOfISOWeek:x,endOfWeek:p,max:b,min:k,startOfBroadcastWeek:w,startOfISOWeek:v,startOfWeek:S}=l;let _={day:u,week:d,month:m,year:g,startOfWeek:O=>c?w(O,l):i?v(O):S(O),endOfWeek:O=>c?y(O):i?x(O):p(O)}[e](n,t==="after"?1:-1);return t==="before"&&a?_=b([a,_]):t==="after"&&r&&(_=k([r,_])),_}function Zo(e,t,n,a,r,s,l,i=0){if(i>365)return;const c=jf(e,t,n.date,a,r,s,l),u=!!(s.disabled&>(c,s.disabled,l)),m=!!(s.hidden&>(c,s.hidden,l)),d=c,g=new Lo(c,d,l);return!u&&!m?g:Zo(e,t,g,a,r,s,l,i+1)}function Sf(e,t,n,a,r){const{autoFocus:s}=e,[l,i]=f.useState(),c=Nf(t.days,n,a||(()=>!1),l),[u,m]=f.useState(s?c:void 0);return{isFocusTarget:p=>!!c?.isEqualTo(p),setFocused:m,focused:u,blur:()=>{i(u),m(void 0)},moveFocus:(p,b)=>{if(!u)return;const k=Zo(p,b,u,t.navStart,t.navEnd,e,r);k&&(e.disableNavigation&&!t.days.some(v=>v.isEqualTo(k))||(t.goToDay(k),m(k)))}}}function Mf(e,t){const{selected:n,required:a,onSelect:r}=e,[s,l]=En(n,r?n:void 0),i=r?n:s,{isSameDay:c}=t,u=y=>i?.some(x=>c(x,y))??!1,{min:m,max:d}=e;return{selected:i,select:(y,x,p)=>{let b=[...i??[]];if(u(y)){if(i?.length===m||a&&i?.length===1)return;b=i?.filter(k=>!c(k,y))}else i?.length===d?b=[y]:b=[...b,y];return r||l(b),r?.(b,y,x,p),b},isSelected:u}}function Cf(e,t,n=0,a=0,r=!1,s=it){const{from:l,to:i}=t||{},{isSameDay:c,isAfter:u,isBefore:m}=s;let d;if(!l&&!i)d={from:e,to:n>0?void 0:e};else if(l&&!i)c(l,e)?n===0?d={from:l,to:e}:r?d={from:l,to:void 0}:d=void 0:m(e,l)?d={from:e,to:l}:d={from:l,to:e};else if(l&&i)if(c(l,e)&&c(i,e))r?d={from:l,to:i}:d=void 0;else if(c(l,e))d={from:l,to:n>0?void 0:e};else if(c(i,e))d={from:e,to:n>0?void 0:e};else if(m(e,l))d={from:e,to:i};else if(u(e,l))d={from:l,to:e};else if(u(e,i))d={from:l,to:e};else throw new Error("Invalid range");if(d?.from&&d?.to){const g=s.differenceInCalendarDays(d.to,d.from);a>0&&g>a?d={from:e,to:void 0}:n>1&&g<n&&(d={from:e,to:void 0})}return d}function Df(e,t,n=it){const a=Array.isArray(t)?t:[t];let r=e.from;const s=n.differenceInCalendarDays(e.to,e.from),l=Math.min(s,6);for(let i=0;i<=l;i++){if(a.includes(r.getDay()))return!0;r=n.addDays(r,1)}return!1}function Er(e,t,n=it){return ht(e,t.from,!1,n)||ht(e,t.to,!1,n)||ht(t,e.from,!1,n)||ht(t,e.to,!1,n)}function Tf(e,t,n=it){const a=Array.isArray(t)?t:[t];if(a.filter(i=>typeof i!="function").some(i=>typeof i=="boolean"?i:n.isDate(i)?ht(e,i,!1,n):Bo(i,n)?i.some(c=>ht(e,c,!1,n)):On(i)?i.from&&i.to?Er(e,{from:i.from,to:i.to},n):!1:Ro(i)?Df(e,i.dayOfWeek,n):Oa(i)?n.isAfter(i.before,i.after)?Er(e,{from:n.addDays(i.after,1),to:n.addDays(i.before,-1)},n):gt(e.from,i,n)||gt(e.to,i,n):Ea(i)||Fa(i)?gt(e.from,i,n)||gt(e.to,i,n):!1))return!0;const l=a.filter(i=>typeof i=="function");if(l.length){let i=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let u=0;u<=c;u++){if(l.some(m=>m(i)))return!0;i=n.addDays(i,1)}}return!1}function Af(e,t){const{disabled:n,excludeDisabled:a,resetOnSelect:r,selected:s,required:l,onSelect:i}=e,[c,u]=En(s,i?s:void 0),m=i?s:c;return{selected:m,select:(y,x,p)=>{const{min:b,max:k}=e;let w;if(y){const v=m?.from,S=m?.to,C=!!v&&!!S,_=!!v&&!!S&&t.isSameDay(v,S)&&t.isSameDay(y,v);r&&(C||!m?.from)?!l&&_?w=void 0:w={from:y,to:void 0}:w=Cf(y,m,b,k,l,t)}return a&&n&&w?.from&&w.to&&Tf({from:w.from,to:w.to},n,t)&&(w.from=y,w.to=void 0),i||u(w),i?.(w,y,x,p),w},isSelected:y=>m&&ht(m,y,!1,t)}}function Of(e,t){const{selected:n,required:a,onSelect:r}=e,[s,l]=En(n,r?n:void 0),i=r?n:s,{isSameDay:c}=t;return{selected:i,select:(d,g,y)=>{let x=d;return!a&&i&&i&&c(d,i)&&(x=void 0),r||l(x),r?.(x,d,g,y),x},isSelected:d=>i?c(i,d):!1}}function Ef(e,t){const n=Of(e,t),a=Mf(e,t),r=Af(e,t);switch(e.mode){case"single":return n;case"multiple":return a;case"range":return r;default:return}}function Ge(e,t){return e instanceof $e&&e.timeZone===t?e:new $e(e,t)}function Ht(e,t,n){return Ge(e,t)}function Fr(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Ht(e,t):Array.isArray(e)?e.map(a=>a instanceof Date?Ht(a,t):a):On(e)?{...e,from:e.from?Ge(e.from,t):e.from,to:e.to?Ge(e.to,t):e.to}:Oa(e)?{before:Ht(e.before,t),after:Ht(e.after,t)}:Ea(e)?{after:Ht(e.after,t)}:Fa(e)?{before:Ht(e.before,t)}:e}function oa(e,t,n){return e&&(Array.isArray(e)?e.map(a=>Fr(a,t)):Fr(e,t))}function Ff(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Ge(t.today,n)),t.month&&(t.month=Ge(t.month,n)),t.defaultMonth&&(t.defaultMonth=Ge(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Ge(t.startMonth,n)),t.endMonth&&(t.endMonth=Ge(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Ge(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(oe=>Ge(oe,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Ge(t.selected.from,n):t.selected.from,to:t.selected.to?Ge(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=oa(t.disabled,n)),t.hidden!==void 0&&(t.hidden=oa(t.hidden,n)),t.modifiers)){const oe={};Object.keys(t.modifiers).forEach(re=>{oe[re]=oa(t.modifiers?.[re],n)}),t.modifiers=oe}const{components:a,formatters:r,labels:s,dateLib:l,locale:i,classNames:c}=f.useMemo(()=>{const oe={...Io,...t.locale},re=t.broadcastCalendar?1:t.weekStartsOn,G=t.noonSafe&&t.timeZone?df(t.timeZone,{weekStartsOn:re,locale:oe}):void 0,de=t.dateLib&&G?{...G,...t.dateLib}:t.dateLib??G,be=new qe({locale:oe,weekStartsOn:re,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},de);return{dateLib:be,components:Yu(t.components),formatters:Zu(t.formatters),labels:rf(t.labels,be.options),locale:oe,classNames:{...Hu(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:l.today()});const{captionLayout:u,mode:m,navLayout:d,numberOfMonths:g=1,onDayBlur:y,onDayClick:x,onDayFocus:p,onDayKeyDown:b,onDayMouseEnter:k,onDayMouseLeave:w,onNextClick:v,onPrevClick:S,showWeekNumber:C,styles:_}=t,{formatCaption:O,formatDay:N,formatMonthDropdown:W,formatWeekNumber:E,formatWeekNumberHeader:F,formatWeekdayName:ie,formatYearDropdown:$}=r,B=_f(t,l),{days:T,months:M,navStart:U,navEnd:I,previousMonth:P,nextMonth:z,goToMonth:Q}=B,fe=Ru(T,t,U,I,l),{isSelected:Y,select:H,selected:te}=Ef(t,l)??{},{blur:he,focused:ve,isFocusTarget:Be,moveFocus:Me,setFocused:A}=Sf(t,B,fe,Y??(()=>!1),l),{labelDayButton:J,labelGridcell:le,labelGrid:ue,labelMonthDropdown:Oe,labelNav:_e,labelPrevious:We,labelNext:Ne,labelWeekday:Pe,labelWeekNumber:ke,labelWeekNumberHeader:D,labelYearDropdown:L}=s,K=f.useMemo(()=>lf(l,t.ISOWeek,t.broadcastCalendar,t.today),[l,t.ISOWeek,t.broadcastCalendar,t.today]),q=m!==void 0||x!==void 0,ne=f.useCallback(()=>{P&&(Q(P),S?.(P))},[P,Q,S]),X=f.useCallback(()=>{z&&(Q(z),v?.(z))},[Q,z,v]),pe=f.useCallback((oe,re)=>G=>{G.preventDefault(),G.stopPropagation(),A(oe),!re.disabled&&(H?.(oe.date,re,G),x?.(oe.date,re,G))},[H,x,A]),ge=f.useCallback((oe,re)=>G=>{A(oe),p?.(oe.date,re,G)},[p,A]),Se=f.useCallback((oe,re)=>G=>{he(),y?.(oe.date,re,G)},[he,y]),Te=f.useCallback((oe,re)=>G=>{const de={ArrowLeft:[G.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[G.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[G.shiftKey?"year":"week","after"],ArrowUp:[G.shiftKey?"year":"week","before"],PageUp:[G.shiftKey?"year":"month","before"],PageDown:[G.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(de[G.key]){G.preventDefault(),G.stopPropagation();const[be,ae]=de[G.key];Me(be,ae)}b?.(oe.date,re,G)},[Me,b,t.dir]),me=f.useCallback((oe,re)=>G=>{k?.(oe.date,re,G)},[k]),ce=f.useCallback((oe,re)=>G=>{w?.(oe.date,re,G)},[w]),Ie=f.useCallback(oe=>re=>{const G=Number(re.target.value),de=l.setMonth(l.startOfMonth(oe),G);Q(de)},[l,Q]),Ce=f.useCallback(oe=>re=>{const G=Number(re.target.value),de=l.setYear(l.startOfMonth(oe),G);Q(de)},[l,Q]),{className:Le,style:yt}=f.useMemo(()=>({className:[c[ee.Root],t.className].filter(Boolean).join(" "),style:{..._?.[ee.Root],...t.style}}),[c,t.className,t.style,_]),Je=zu(t),pt=f.useRef(null);hf(pt,!!t.animate,{classNames:c,months:M,focused:ve,dateLib:l});const _t={dayPickerProps:t,selected:te,select:H,isSelected:Y,months:M,nextMonth:z,previousMonth:P,goToMonth:Q,getModifiers:fe,components:a,classNames:c,styles:_,labels:s,formatters:r};return R.createElement($o.Provider,{value:_t},R.createElement(a.Root,{rootRef:t.animate?pt:void 0,className:Le,style:yt,dir:t.dir,id:t.id,lang:t.lang??i.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...Je},R.createElement(a.Months,{className:c[ee.Months],style:_?.[ee.Months]},!t.hideNavigation&&!d&&R.createElement(a.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[ee.Nav],style:_?.[ee.Nav],"aria-label":_e(),onPreviousClick:ne,onNextClick:X,previousMonth:P,nextMonth:z}),M.map((oe,re)=>R.createElement(a.Month,{"data-animated-month":t.animate?"true":void 0,className:c[ee.Month],style:_?.[ee.Month],key:re,displayIndex:re,calendarMonth:oe},d==="around"&&!t.hideNavigation&&re===0&&R.createElement(a.PreviousMonthButton,{type:"button",className:c[ee.PreviousMonthButton],tabIndex:P?void 0:-1,"aria-disabled":P?void 0:!0,"aria-label":We(P),onClick:ne,"data-animated-button":t.animate?"true":void 0},R.createElement(a.Chevron,{disabled:P?void 0:!0,className:c[ee.Chevron],orientation:t.dir==="rtl"?"right":"left"})),R.createElement(a.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[ee.MonthCaption],style:_?.[ee.MonthCaption],calendarMonth:oe,displayIndex:re},u?.startsWith("dropdown")?R.createElement(a.DropdownNav,{className:c[ee.Dropdowns],style:_?.[ee.Dropdowns]},(()=>{const G=u==="dropdown"||u==="dropdown-months"?R.createElement(a.MonthsDropdown,{key:"month",className:c[ee.MonthsDropdown],"aria-label":Oe(),classNames:c,components:a,disabled:!!t.disableNavigation,onChange:Ie(oe.date),options:of(oe.date,U,I,r,l),style:_?.[ee.Dropdown],value:l.getMonth(oe.date)}):R.createElement("span",{key:"month"},W(oe.date,l)),de=u==="dropdown"||u==="dropdown-years"?R.createElement(a.YearsDropdown,{key:"year",className:c[ee.YearsDropdown],"aria-label":L(l.options),classNames:c,components:a,disabled:!!t.disableNavigation,onChange:Ce(oe.date),options:cf(U,I,r,l,!!t.reverseYears),style:_?.[ee.Dropdown],value:l.getYear(oe.date)}):R.createElement("span",{key:"year"},$(oe.date,l));return l.getMonthYearOrder()==="year-first"?[de,G]:[G,de]})(),R.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},O(oe.date,l.options,l))):R.createElement(a.CaptionLabel,{className:c[ee.CaptionLabel],role:"status","aria-live":"polite"},O(oe.date,l.options,l))),d==="around"&&!t.hideNavigation&&re===g-1&&R.createElement(a.NextMonthButton,{type:"button",className:c[ee.NextMonthButton],tabIndex:z?void 0:-1,"aria-disabled":z?void 0:!0,"aria-label":Ne(z),onClick:X,"data-animated-button":t.animate?"true":void 0},R.createElement(a.Chevron,{disabled:z?void 0:!0,className:c[ee.Chevron],orientation:t.dir==="rtl"?"left":"right"})),re===g-1&&d==="after"&&!t.hideNavigation&&R.createElement(a.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[ee.Nav],style:_?.[ee.Nav],"aria-label":_e(),onPreviousClick:ne,onNextClick:X,previousMonth:P,nextMonth:z}),R.createElement(a.MonthGrid,{role:"grid","aria-multiselectable":m==="multiple"||m==="range","aria-label":ue(oe.date,l.options,l)||void 0,className:c[ee.MonthGrid],style:_?.[ee.MonthGrid]},!t.hideWeekdays&&R.createElement(a.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[ee.Weekdays],style:_?.[ee.Weekdays]},C&&R.createElement(a.WeekNumberHeader,{"aria-label":D(l.options),className:c[ee.WeekNumberHeader],style:_?.[ee.WeekNumberHeader],scope:"col"},F()),K.map(G=>R.createElement(a.Weekday,{"aria-label":Pe(G,l.options,l),className:c[ee.Weekday],key:String(G),style:_?.[ee.Weekday],scope:"col"},ie(G,l.options,l)))),R.createElement(a.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[ee.Weeks],style:_?.[ee.Weeks]},oe.weeks.map(G=>R.createElement(a.Week,{className:c[ee.Week],key:G.weekNumber,style:_?.[ee.Week],week:G},C&&R.createElement(a.WeekNumber,{week:G,style:_?.[ee.WeekNumber],"aria-label":ke(G.weekNumber,{locale:i}),className:c[ee.WeekNumber],scope:"row",role:"rowheader"},E(G.weekNumber,l)),G.days.map(de=>{const{date:be}=de,ae=fe(de);if(ae[je.focused]=!ae.hidden&&!!ve?.isEqualTo(de),ae[Qe.selected]=Y?.(be)||ae.selected,On(te)){const{from:Ze,to:et}=te;ae[Qe.range_start]=!!(Ze&&et&&l.isSameDay(be,Ze)),ae[Qe.range_end]=!!(Ze&&et&&l.isSameDay(be,et)),ae[Qe.range_middle]=ht(te,be,!0,l)}const xt=sf(ae,_,t.modifiersStyles),lt=Bu(ae,c,t.modifiersClassNames),Nt=!q&&!ae.hidden?le(be,ae,l.options,l):void 0;return R.createElement(a.Day,{key:`${de.isoDate}_${de.displayMonthId}`,day:de,modifiers:ae,className:lt.join(" "),style:xt,role:"gridcell","aria-selected":ae.selected||void 0,"aria-label":Nt,"data-day":de.isoDate,"data-month":de.outside?de.dateMonthId:void 0,"data-selected":ae.selected||void 0,"data-disabled":ae.disabled||void 0,"data-hidden":ae.hidden||void 0,"data-outside":de.outside||void 0,"data-focused":ae.focused||void 0,"data-today":ae.today||void 0},!ae.hidden&&q?R.createElement(a.DayButton,{className:c[ee.DayButton],style:_?.[ee.DayButton],type:"button",day:de,modifiers:ae,disabled:!ae.focused&&ae.disabled||void 0,"aria-disabled":ae.focused&&ae.disabled||void 0,tabIndex:Be(de)?0:-1,"aria-label":J(be,ae,l.options,l),onClick:pe(de,ae),onBlur:Se(de,ae),onFocus:ge(de,ae),onKeyDown:Te(de,ae),onMouseEnter:me(de,ae),onMouseLeave:ce(de,ae)},N(be,l.options,l)):!ae.hidden&&N(de.date,l.options,l))})))))))),t.footer&&R.createElement(a.Footer,{className:c[ee.Footer],style:_?.[ee.Footer],role:"status","aria-live":"polite"},t.footer)))}function Wr(e){if(!e)return"";const t=e.split("-");if(t.length!==3)return e;const n=new Date(Number(t[0]),Number(t[1])-1,Number(t[2]));return Number.isFinite(n.getTime())?st(n,"MMM d"):e}function Wf({from:e,to:t,onApply:n,onCancel:a}){const r=f.useMemo(()=>{const u={from:void 0,to:void 0};if(e){const m=e.split("-");u.from=new Date(Number(m[0]),Number(m[1])-1,Number(m[2]))}if(t){const m=t.split("-");u.to=new Date(Number(m[0]),Number(m[1])-1,Number(m[2]))}return u},[e,t]),[s,l]=f.useState(r),i=()=>{if(!s?.from)return;const u=st(s.from,"yyyy-MM-dd"),m=s.to?st(s.to,"yyyy-MM-dd"):u;n?.(u,m)},c=!!s?.from;return o.jsxs("div",{className:"p-4",children:[o.jsx(Ff,{mode:"range",selected:s,onSelect:l,numberOfMonths:2,showOutsideDays:!1,classNames:{root:"rdp-oai",months:"flex gap-4",month:"space-y-3",month_caption:"flex justify-center items-center h-8",caption_label:"text-sm font-medium text-oai-black dark:text-oai-white",nav:"flex items-center justify-between absolute inset-x-0 top-0 px-2",button_previous:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",button_next:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",chevron:"w-4 h-4",month_grid:"border-collapse",weekdays:"flex",weekday:"w-9 text-center text-xs font-medium text-oai-gray-400 dark:text-oai-gray-500 py-1",week:"flex",day:"w-9 h-9 text-center text-sm p-0 relative",day_button:"w-full h-full inline-flex items-center justify-center rounded-md transition-colors hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 text-oai-black dark:text-oai-white cursor-pointer rdp-day-btn",today:"font-bold",selected:"rdp-selected",range_start:"rdp-selected rdp-range-start",range_end:"rdp-selected rdp-range-end",range_middle:"rdp-range-mid",outside:"text-oai-gray-300 dark:text-oai-gray-600",disabled:"text-oai-gray-300 dark:text-oai-gray-600 cursor-not-allowed",hidden:"invisible"},styles:{months:{position:"relative"}}}),o.jsxs("div",{className:"flex items-center justify-end gap-2 mt-4 pt-3 border-t border-oai-gray-200 dark:border-oai-gray-700",children:[c&&s.from&&o.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[st(s.from,"MMM d, yyyy"),s.to&&s.to.getTime()!==s.from.getTime()?` — ${st(s.to,"MMM d, yyyy")}`:""]}),o.jsx(Mn,{variant:"secondary",size:"sm",onClick:a,children:"Cancel"}),o.jsx(Mn,{variant:"primary",size:"sm",onClick:i,disabled:!c,children:"Apply"})]})]})}const Pr={claude:290,codex:165},Ir={system_prompt:{l:.55,c:.05},messages:{l:.65,c:.18},tool_calls:{l:.6,c:.14},custom_agents:{l:.55,c:.1},reasoning:{l:.7,c:.08}};function Pf(e,t){const n=Pr[t]??Pr.claude,a=Ir[e]||Ir.system_prompt;return`oklch(${a.l} ${a.c} ${n})`}const If=[{key:"system_prompt",from:["system_prefix"]},{key:"messages",from:["user_input","conversation_history","assistant_response"]},{key:"tool_calls",from:["tool_calls"]},{key:"custom_agents",from:["subagents"]},{key:"reasoning",from:["reasoning"]}],Lf=[["by_type","dashboard.context_breakdown.exec_details.group_by_type"],["by_executable","dashboard.context_breakdown.exec_details.group_by_executable"],["by_command","dashboard.context_breakdown.exec_details.group_by_command"],["by_duration","dashboard.context_breakdown.exec_details.group_by_duration"],["by_output","dashboard.context_breakdown.exec_details.group_by_output"],["by_exit","dashboard.context_breakdown.exec_details.group_by_exit"]],$f={duration:.18,ease:[.4,0,.2,1]},Rf={height:0,opacity:0},Bf={height:"auto",opacity:1},Yf={height:0,opacity:0};function zf(e){const t=Number(e||0);return Number.isFinite(t)&&t>0?t:0}function Hf(e,t){const n={};for(const a of["input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","total_tokens"])n[a]=Math.round(Number(e?.[a]||0)*t);return n}function es(e,t=null){const n=e.reduce((l,i)=>l+Number(i.totals.total_tokens||0),0),a=zf(t),r=a||n,s=a&&n>0?a/n:1;return e.map(l=>{const i=s===1?l.totals:Hf(l.totals,s);return{...l,totals:i,percent:r>0?Number((i.total_tokens/r*100).toFixed(2)):0}}).sort((l,i)=>i.totals.total_tokens-l.totals.total_tokens)}function Uf(e,t=null){const n=new Map;for(const r of e||[])n.set(r.key,r);const a=If.map(r=>{const s={input_tokens:0,cached_input_tokens:0,cache_creation_input_tokens:0,output_tokens:0,reasoning_output_tokens:0,total_tokens:0};for(const l of r.from){const i=n.get(l);if(!i)continue;const c=i.totals||{};s.input_tokens+=c.input_tokens||0,s.cached_input_tokens+=c.cached_input_tokens||0,s.cache_creation_input_tokens+=c.cache_creation_input_tokens||0,s.output_tokens+=c.output_tokens||0,s.reasoning_output_tokens+=c.reasoning_output_tokens||0,s.total_tokens+=c.total_tokens||0}return{key:r.key,totals:s}});return es(a,t)}function qf(e,t=null){const n=e?.totals||{},a=Number(n.reasoning_output_tokens||0),r=(e?.tool_calls_breakdown?.categories||[]).reduce((u,m)=>m?.name==="Text Response"?u:u+Number(m?.totals?.total_tokens||0),0),s=Number(n.total_tokens||0),l=Math.min(Math.max(0,r),Math.max(0,s-a)),c=[{key:"messages",totals:{total_tokens:Math.max(0,s-a-l)}},{key:"tool_calls",totals:{total_tokens:l}},{key:"reasoning",totals:{total_tokens:a}}];return es(c,t)}const Lr="MCP: ";function Gf(e){if(!e?.categories?.length)return{mcpSet:null,residualSet:e,mcpTotalTokens:0};const t=[],n=[];let a=0;for(const r of e.categories){const s=String(r?.name||"");s.startsWith(Lr)?(t.push({...r,name:s.slice(Lr.length)}),a+=Number(r?.totals?.total_tokens||0)):n.push(r)}return t.length===0?{mcpSet:null,residualSet:e,mcpTotalTokens:0}:(t.sort((r,s)=>(s.totals?.total_tokens||0)-(r.totals?.total_tokens||0)),{mcpSet:{...e,categories:t},residualSet:{...e,categories:n},mcpTotalTokens:a})}function $r(e){return h(`dashboard.context_breakdown.category.${e}`)}function rt(e){return!Number.isFinite(Number(e))||Number(e)<=0?"0":Ue(Number(e),{decimals:1})}function Vf(e){return typeof e!="string"?"":e.startsWith("mcp__")?e.split("__").slice(2).join("__")||e:e.includes("/")&&e.split("/").pop()||e}function Kf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||null,a=Number(n?n.input_tokens||0:t?.input_tokens||0),r=Number(n?n.output_tokens||0:t?.output_tokens||0),s=Number(n?n.cached_input_tokens||0:t?.cache_read||0),l=Number(n?n.cache_creation_input_tokens||0:t?.cache_creation||0),i=Number(n?n.total_tokens||a+r:t?.total_tokens||r);return{name:Vf(t?.name?String(t.name):""),calls:Number(t?.calls||0),input_tokens:a,output_tokens:r,cache_read:s,cache_creation:l,total_tokens:Number(i||0)}}).filter(t=>t.name).sort((t,n)=>(n.total_tokens||0)-(t.total_tokens||0))}function Xf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Array.isArray(t?.tools)?t.tools:[],r=Number(n.input_tokens||0),s=Number(n.output_tokens||0),l=Number(n.cached_input_tokens||0),i=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),totals:{input_tokens:r,output_tokens:s,cached_input_tokens:l,cache_creation_input_tokens:i,total_tokens:Number(n.total_tokens||r+s)},tools:Kf(a),toolCount:a.length}}).filter(t=>t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Qf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Number(n.input_tokens||0),r=Number(n.output_tokens||0),s=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{key:t?.key?String(t.key):"",name:t?.name?String(t.name):"",totals:{input_tokens:a,output_tokens:r,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+r+s+l)}}}).filter(t=>t.key||t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Jf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{};return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),total_tokens:Number(n.total_tokens||0)}}).filter(t=>t.name).sort((t,n)=>Number(n.total_tokens||0)-Number(t.total_tokens||0))}function Zf(e){if(e?.key){const t=h(`dashboard.context_breakdown.message_details.${e.key}`);if(t&&!t.includes("dashboard.context_breakdown"))return t}return e?.name||""}function em(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Number(n.input_tokens||0),r=Number(n.output_tokens||0),s=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),failures:Number(t?.failures||0),duration_ms:Number(t?.duration_ms||0),max_duration_ms:Number(t?.max_duration_ms||0),output_chars:Number(t?.output_chars||0),output_lines:Number(t?.output_lines||0),totals:{input_tokens:a,output_tokens:r,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+r)}}}).filter(t=>t.name).sort((t,n)=>Number(n.totals.total_tokens||0)-Number(t.totals.total_tokens||0))}function Rr(e){const t=Number(e||0);return!Number.isFinite(t)||t<=0?"0ms":t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(1)}s`:`${Math.round(t/1e3)}s`}function tm(e,t){return e?t==="by_executable"?e.by_executable||[]:t==="by_command"?e.by_command||[]:t==="by_duration"?e.by_duration||[]:t==="by_output"?e.by_output||[]:t==="by_exit"?e.by_exit||[]:e.by_type||[]:[]}function Br(e){return e==="exec_command"||e==="Bash"}function ts(e){return e==="codex"?"dashboard.context_breakdown.empty_codex":"dashboard.context_breakdown.empty"}function nm(e){return e==="codex"?"dashboard.context_breakdown.error_codex":"dashboard.context_breakdown.error"}function am(e){return e==="codex"?"dashboard.context_breakdown.footnote_codex":"dashboard.context_breakdown.footnote"}const rm=10;function ft({level:e=0,colorSquare:t=null,label:n,labelSuffix:a=null,labelTone:r="default",hasChevron:s=!1,open:l=!1,onToggle:i,tokens:c,percent:u=null,children:m,share:d=null,fillColor:g=null}){const y=r==="accent"?"text-oai-brand truncate":r==="muted"?"text-oai-gray-500 dark:text-oai-gray-400 truncate":r==="strong"?"font-medium text-oai-black dark:text-oai-white truncate":"text-oai-gray-700 dark:text-oai-gray-300 truncate",x=o.jsx("span",{className:"shrink-0 flex items-center justify-start",style:{width:rm},"aria-hidden":!t,children:t}),p=o.jsxs(o.Fragment,{children:[x,o.jsx("span",{className:y,children:n}),a,s&&o.jsx(Re.span,{animate:{rotate:l?90:0},transition:{duration:.15},className:"shrink-0 text-oai-gray-400 dark:text-oai-gray-500 flex items-center","aria-hidden":"true",children:o.jsx(hl,{size:11})})]}),b=g&&d!=null&&d>0,k=b?Math.max(0,Math.min(100,d)):0;return o.jsxs("li",{className:"min-w-0 group/row",children:[o.jsxs("div",{className:"relative grid grid-cols-[minmax(0,1fr)_64px_48px] items-center gap-2 text-xs py-1 px-1 rounded-sm transition-colors duration-150",style:b?{backgroundImage:`linear-gradient(to right, ${g.replace(/\)\s*$/," / 0.10)")} 0%, ${g.replace(/\)\s*$/," / 0.10)")} ${k}%, transparent ${k}%)`}:void 0,children:[s?o.jsx("button",{type:"button",onClick:i,"aria-expanded":l,className:"relative flex items-center gap-1.5 min-w-0 text-left cursor-pointer focus-visible:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-oai-brand/40 rounded-sm",children:p}):o.jsx("div",{className:"relative flex items-center gap-1.5 min-w-0",children:p}),o.jsx("span",{className:"relative text-right tabular-nums text-oai-gray-500 dark:text-oai-gray-400",children:c||""}),o.jsx("span",{className:"relative text-right tabular-nums text-[10px] text-oai-gray-400 dark:text-oai-gray-500 font-normal",children:u||""})]}),s&&m?o.jsx(Na,{initial:!1,children:l&&o.jsx(Re.div,{initial:Rf,animate:Bf,exit:Yf,transition:$f,style:{overflow:"hidden"},children:m},"content")}):null]})}function Yr({execDetails:e,source:t="claude"}){const[n,a]=f.useState("by_type"),r=em(tm(e,n)),s=t==="codex",l=s?"grid-cols-[minmax(0,1fr)_48px_48px_72px_72px_60px_60px]":"grid-cols-[minmax(0,1fr)_56px_60px]";return o.jsxs("div",{className:"mt-2 ml-4",children:[o.jsx("div",{className:"flex flex-wrap items-center gap-1 rounded-md bg-oai-gray-100 dark:bg-oai-gray-900 p-1 w-fit max-w-full",children:Lf.map(([i,c])=>o.jsx("button",{type:"button",onClick:()=>a(i),className:"h-7 px-2 rounded-md text-[10px] font-medium transition-colors "+(n===i?"bg-oai-white dark:bg-oai-gray-800 text-oai-black dark:text-oai-white shadow-sm":"text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-white/70 dark:hover:bg-oai-gray-800/70"),children:h(c)},i))}),r.length===0?o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:"—"}):o.jsx("div",{className:"mt-2 overflow-x-auto",children:o.jsxs("div",{role:"table","aria-label":h("dashboard.context_breakdown.exec_details.title"),className:s?"min-w-[420px]":"min-w-[260px]",children:[o.jsxs("div",{role:"row",className:`grid ${l} gap-2 py-1.5 mb-1 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400`,children:[o.jsx("span",{role:"columnheader",children:h("dashboard.context_breakdown.exec_details.kind_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.calls_column")}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.failures_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.duration_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.max_duration_column")})]}),o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.tool_details.total_column")}),s&&o.jsx("span",{role:"columnheader",className:"text-right",children:h("dashboard.context_breakdown.exec_details.output_column")})]}),r.map((i,c)=>o.jsxs(Re.div,{role:"row",className:`grid ${l} gap-2 py-1.5`,title:i.name,initial:{opacity:0},animate:{opacity:1},transition:{duration:.18,delay:c*.02},children:[o.jsx("span",{role:"cell",className:"min-w-0 text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:i.name}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ue(i.calls||0)}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ue(i.failures||0)}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Rr(i.duration_ms||0)}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Rr(i.max_duration_ms||0)})]}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:rt(i.totals.total_tokens||0)}),s&&o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ue(i.output_lines||0)})]},i.name))]})})]})}function rn({toolSet:e,execDetails:t,source:n,codexQueueFallback:a}){const[r,s]=f.useState({}),[l,i]=f.useState(!1),c=Xf(e?.categories||[]);function u(m){s(d=>({...d,[m]:!d[m]}))}return c.length===0?o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:n==="codex"&&a?h("dashboard.context_breakdown.tool_details.unavailable_codex"):h(ts(n))}):o.jsx("ul",{className:"mt-0.5 mb-0.5 space-y-0.5",children:c.map(m=>{const d=m.toolCount>0,g=m.name==="Execution"&&t,y=g&&m.tools.some(p=>Br(p.name)),x=!!r[m.name];return o.jsxs(ft,{level:1,label:m.name,labelTone:"strong",hasChevron:d||g&&!y,open:x||g&&!y&&l,onToggle:()=>{d?u(m.name):g&&!y&&i(p=>!p)},tokens:rt(m.totals.total_tokens||0),percent:null,children:[d&&o.jsx("ul",{className:"space-y-0.5",children:m.tools.map(p=>{const b=g&&Br(p.name);return o.jsx(ft,{level:2,label:p.name,labelTone:b?"accent":"default",hasChevron:b,open:l,onToggle:()=>i(k=>!k),tokens:rt(p.total_tokens||0),percent:null,children:b&&o.jsx(Yr,{execDetails:t,source:n})},p.name)})}),g&&!y&&o.jsx(Yr,{execDetails:t,source:n})]},m.name)})})}function om({from:e,to:t,source:n="claude",referenceTotalTokens:a=null,onLoadingChange:r=null}){const[s,l]=f.useState(null),[i,c]=f.useState(!1),[u,m]=f.useState(null),[d,g]=f.useState({});function y(M){g(U=>({...U,[M]:!U[M]}))}if(f.useEffect(()=>{let M=!1;return c(!0),r?.(!0),m(null),Hi({from:e,to:t,source:n,timeZone:uo(),tzOffsetMinutes:co()}).then(U=>{M||l(U)}).catch(U=>{M||m(U?.message||String(U))}).finally(()=>{M||(c(!1),r?.(!1))}),()=>{M=!0}},[e,t,n]),i&&!s)return o.jsxs("div",{children:[o.jsx("div",{className:"h-1 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden animate-pulse"}),o.jsx("div",{className:"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-2",children:[0,1,2,3,4].map(M=>o.jsx("div",{className:"h-3 rounded bg-oai-gray-100 dark:bg-oai-gray-800 animate-pulse",style:{animationDelay:`${M*80}ms`}},M))}),o.jsx("p",{className:"mt-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:h("dashboard.context_breakdown.loading_hint")})]});if(u)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:h(nm(n))});if(!s||s.scope!=="supported"||!s.totals?.total_tokens)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:h(ts(n))});const x=n==="claude"?Uf(s.categories||[],a):qf(s,a),p=s.tool_calls_breakdown||null,b=s.skills_breakdown||null,k=s.message_breakdown||null,w=s.configured_resources||null,v=s.exec_command_breakdown||null,S=Jf(b?.skills||[]),C=Qf(k?.categories||[]),_=n==="codex"&&(s?.breakdown_status==="queue_fallback"||s?.fallback==="queue_totals"),O=n==="claude"?p?.tool_calls||null:p||null,{mcpSet:N,residualSet:W,mcpTotalTokens:E}=Gf(O),F=n==="claude"&&p?.subagents||null,ie=F?.categories?.length>0||(w?.custom_agents_count||0)>0,$=n==="claude"?(W?.categories||[]).reduce((M,U)=>M+Number(U?.totals?.total_tokens||0),0):0,B=n==="claude"?(F?.categories||[]).reduce((M,U)=>M+Number(U?.totals?.total_tokens||0),0):0,T=[...x].sort((M,U)=>(U.totals?.total_tokens||0)-(M.totals?.total_tokens||0));return o.jsxs("div",{role:"region","aria-label":h("dashboard.context_breakdown.bar_aria",{summary:x.filter(M=>M.percent>0).filter(M=>!(n==="claude"&&(M.key==="tool_calls"||M.key==="custom_agents"))).map(M=>`${$r(M.key)} ${M.percent}%`).join(",")}),children:[o.jsxs("ul",{className:"space-y-0.5",children:[T.map(M=>{const U=M.key==="system_prompt",I=M.key==="messages",P=M.key==="tool_calls",z=M.key==="custom_agents";if(M.key,n==="claude"&&(P||z))return null;const Q=I&&C.length>0||P&&(W?.categories?.length>0||_)||z&&ie&&F,fe=!!d[M.key],Y=Pf(M.key,n),H=o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0",style:{backgroundColor:Y},"aria-hidden":"true"}),te=U?o.jsxs("span",{className:"relative inline-flex shrink-0 group",children:[o.jsx(ja,{size:11,className:"text-oai-gray-400 dark:text-oai-gray-500 cursor-help","aria-hidden":"true"}),o.jsx("span",{role:"tooltip",className:"pointer-events-none absolute left-1/2 bottom-full z-20 mb-1.5 -translate-x-1/2 w-64 rounded-md border border-oai-gray-200 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 px-2.5 py-1.5 text-[11px] leading-snug text-oai-gray-700 dark:text-oai-gray-200 shadow-md opacity-0 group-hover:opacity-100 transition-opacity",children:h("dashboard.context_breakdown.system_prefix_tooltip")})]}):null,he=M.percent>0?`${M.percent.toFixed(M.percent<.1&&M.percent>0?2:1)}%`:"0.0%";return o.jsxs(ft,{level:0,colorSquare:H,label:$r(M.key),labelSuffix:te,tokens:rt(M.totals?.total_tokens||0),percent:he,hasChevron:Q,open:fe,onToggle:()=>y(M.key),share:M.percent,fillColor:Y,children:[I&&o.jsx("ul",{className:"space-y-0.5",children:C.map(ve=>o.jsx(ft,{level:1,label:Zf(ve),tokens:rt(ve.totals.total_tokens||0),percent:null},ve.key||ve.name))}),P&&W&&o.jsx(rn,{toolSet:W,execDetails:v,source:n,codexQueueFallback:_}),P&&_&&!W&&o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:h("dashboard.context_breakdown.tool_details.unavailable_codex")}),z&&F&&o.jsx(rn,{toolSet:F,execDetails:null,source:n,codexQueueFallback:!1})]},M.key)}),n==="claude"&&W?.categories?.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.tool_calls"),tokens:rt($),percent:null,hasChevron:!0,open:!!d.tool_calls_aux,onToggle:()=>y("tool_calls_aux"),children:o.jsx(rn,{toolSet:W,execDetails:v,source:n,codexQueueFallback:!1})}),n==="claude"&&F?.categories?.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.custom_agents"),tokens:rt(B),percent:null,hasChevron:!0,open:!!d.custom_agents_aux,onToggle:()=>y("custom_agents_aux"),children:o.jsx(rn,{toolSet:F,execDetails:null,source:n,codexQueueFallback:!1})}),N?.categories?.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.mcp_servers"),tokens:rt(E),percent:null,hasChevron:!0,open:!!d.mcp_servers,onToggle:()=>y("mcp_servers"),children:o.jsx(rn,{toolSet:N,execDetails:null,source:n,codexQueueFallback:!1})}),S.length>0&&o.jsx(ft,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:h("dashboard.context_breakdown.category.skills"),tokens:rt(S.reduce((M,U)=>M+(U.total_tokens||0),0)),percent:null,hasChevron:!0,open:!!d.skills,onToggle:()=>y("skills"),children:o.jsx("ul",{className:"space-y-0.5",children:S.slice(0,12).map(M=>o.jsx(ft,{level:1,label:M.name,tokens:rt(M.total_tokens),percent:null},M.name))})})]}),o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:h(am(n))}),_?o.jsx("p",{className:"mt-2 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:h("dashboard.context_breakdown.tool_details.unavailable_codex")}):null,w?o.jsxs("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:[Ue(w.skills_count||0)," skills ·"," ",Ue(w.mcp_servers_count||0)," MCP servers ·"," ",Ue(w.custom_agents_count||0)," agents ·"," ",Ue(w.memory_files_count||0)," memory files"]}):null]})}function ns(e){if(!Number.isFinite(Number(e)))return null;const t=Number(e);return t<=0?null:Ue(t,{decimals:1})}function as(e,t,n){const a=Number(e);if(!Number.isFinite(a)||a<=0)return null;const r=An(t);return(t===lo?a:a*n)<.01?`<${r}0.01`:dn(a,{decimals:2,currency:t,rate:n})}function sm(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?{key:t,label:zr(t)}:{key:t.key,label:t.label||zr(t.key)}):[]}function im(e){if(typeof e!="string")return null;const t=e.replace(/,/g,"").match(/-?\d+(?:\.\d+)?/);if(!t)return null;const n=Number(t[0]);return Number.isFinite(n)?n:null}const lm={CODEX:"#10b981",CLAUDE:"#8b5cf6",OPENCODE:"#f59e0b",GEMINI:"#3b82f6",KIMI:"#a78bfa","KILO-CLI":"#facc15","KILO-CODE":"#facc15",DROID:"#ef4444"};function sa(e,t){const n=e?.toUpperCase?.()||"";return lm[n]||`hsl(${150+t*40}, 60%, 45%)`}function cm(e){const t=String(e?.source||"").trim().toLowerCase(),n=String(e?.label||"").trim().toLowerCase();return t==="claude"||n==="claude"?"claude":t==="codex"||n==="codex"?"codex":null}const dm={day:"usage.period.day",week:"usage.period.week",month:"usage.period.month",total:"usage.period.total",custom:"usage.period.custom"};function zr(e){const t=dm[e];return t?h(t):String(e).toUpperCase()}function um({loading:e,onClick:t}){const n=Ma();return o.jsx(Mn,{variant:"secondary",size:"sm",disabled:e,onClick:t,"aria-label":h("usage.button.refresh"),className:"w-8 p-0",children:o.jsx(Re.span,{"aria-hidden":"true",animate:e?{rotate:360}:{rotate:0},transition:e&&!n?{duration:1,repeat:1/0,ease:"linear"}:{duration:.3},style:{display:"inline-block"},children:"↻"})})}function fm({period:e,periods:t,onPeriodChange:n,summaryValue:a,summaryLabel:r,summaryCostValue:s,onCostInfo:l,fleetData:i=[],onRefresh:c,loading:u,className:m="",customFrom:d,customTo:g,onCustomRangeApply:y,customRangeOpen:x,onCustomRangeOpenChange:p,onOpenShare:b,from:k,to:w}){const v=sm(t),S=im(String(a??"")),C=S!=null,[_,O]=f.useState(null),{resolvedTheme:N}=so(),{currency:W,rate:E}=un(),F=N==="dark",ie=F?"rgba(10,10,10,0.98)":"rgba(255,255,255,0.96)",$=F?"rgba(10,10,10,0)":"rgba(255,255,255,0)",B=i.filter(T=>T.models?.length>0);return o.jsxs(Sa,{className:m,children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6",children:[o.jsx("div",{role:"tablist","aria-label":h("usage.overview.tablist_aria"),className:"flex gap-1",children:v.map(T=>{const M=e===T.key,U=`text-xs font-medium px-3 py-1.5 rounded-md transition-colors ${M?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800"}`;if(T.key==="custom"){const I=M&&d&&g?`${Wr(d)} — ${Wr(g)}`:T.label;return o.jsxs(gl,{open:x,onOpenChange:P=>{P?n?.("custom"):p?.(P)},children:[o.jsx(yl,{render:o.jsx("button",{role:"tab","aria-selected":M,type:"button",className:U}),children:I}),o.jsx(pl,{children:o.jsx(xl,{sideOffset:8,side:"bottom",align:"start",className:"!z-[9999]",children:o.jsx(bl,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:o.jsx(Wf,{from:d,to:g,onApply:y,onCancel:()=>p?.(!1)})})})})]},"custom")}return o.jsx("button",{role:"tab","aria-selected":M,type:"button",className:U,onClick:()=>n?.(T.key),children:T.label},T.key)})}),o.jsxs("div",{className:"flex items-center gap-1.5",children:[b?o.jsxs("button",{type:"button",onClick:b,"aria-label":h("share.button.aria"),className:"inline-flex items-center justify-center gap-1.5 h-8 px-3 text-xs font-medium rounded-md border border-oai-gray-300 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-brand hover:text-oai-brand transition-colors duration-200",children:[o.jsx(Tl,{className:"h-3.5 w-3.5",strokeWidth:2}),h("share.button.label")]}):null,c&&o.jsx(um,{loading:u,onClick:c})]})]}),o.jsxs("div",{className:"text-center mb-8",children:[o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wider mb-3",children:r}),o.jsx("div",{className:"text-6xl md:text-7xl font-bold text-oai-black dark:text-oai-white tracking-tight tabular-nums",children:C?o.jsx(Ec,{value:S,displayValue:a,fontSize:72,padding:6,gap:1,textColor:"var(--oai-black, #111827)",fontWeight:700,gradientHeight:F?0:8,gradientFrom:ie,gradientTo:$,counterStyle:{paddingLeft:0,paddingRight:0,gap:0},digitStyle:{width:"0.88ch"}}):a}),s&&o.jsx("div",{className:"flex items-center justify-center gap-2 mt-4",children:l?o.jsxs("button",{type:"button",onClick:l,className:"inline-flex items-center gap-1.5 text-xl font-bold text-oai-brand hover:text-oai-brand-dark dark:hover:text-oai-brand-light transition-colors cursor-pointer","aria-label":h("usage.overview.cost_breakdown_aria"),children:[s,o.jsx(ja,{size:16,strokeWidth:2,className:"opacity-80"})]}):o.jsx("span",{className:"text-xl font-bold text-oai-brand",children:s})})]}),B.length>0&&o.jsxs("div",{className:"space-y-6",children:[o.jsx("div",{role:"img","aria-label":h("usage.overview.distribution_aria",{items:B.map(T=>h("usage.overview.distribution_item",{label:T.label,percent:T.totalPercent})).join(",")}),className:"h-1.5 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden flex",children:B.map((T,M)=>{const U=sa(T.label,M);return o.jsx(Re.div,{initial:{width:0},animate:{width:`${T.totalPercent}%`},transition:{duration:.5,delay:.45+M*.04,ease:[.16,1,.3,1]},className:"h-full",style:{backgroundColor:U},title:`${T.label}: ${T.totalPercent}%`},T.label)})}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:B.map((T,M)=>{const U=sa(T.label,M),I=_===T.label;return o.jsxs("button",{"aria-expanded":I,"aria-controls":`provider-details-${T.label}`,"aria-label":h("usage.overview.provider_card_aria",{provider:T.label,percent:T.totalPercent,tokens:ns(T.usage)||"0",cost:as(T.usd,W,E)||`${An(W)}0`,action:h(I?"usage.overview.collapse":"usage.overview.expand")}),onClick:()=>O(I?null:T.label),className:`min-w-0 text-left p-3 rounded-lg border transition-colors duration-200 ${I?"border-oai-gray-300 dark:border-oai-gray-600 bg-oai-gray-50 dark:bg-oai-gray-800":"border-oai-gray-200 dark:border-oai-gray-700 hover:border-oai-gray-300 dark:hover:border-oai-gray-600"}`,children:[o.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[o.jsx(ho,{provider:T.label,size:15,color:U,className:"text-oai-gray-700 dark:text-oai-gray-300 shrink-0"}),o.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:T.label})]}),o.jsxs("div",{className:"text-lg font-semibold text-oai-black dark:text-oai-white tabular-nums",children:[T.totalPercent,"%"]}),o.jsx("div",{className:"mt-0.5 text-[11px] text-oai-gray-400 dark:text-oai-gray-400 tabular-nums",children:h("usage.overview.model_count",{count:T.models.length})})]},T.label)})}),_&&o.jsx("div",{id:`provider-details-${_}`,role:"region","aria-label":h("usage.overview.model_details_aria",{provider:_}),className:"mt-2",children:B.filter(T=>T.label===_).map(T=>{const M=sa(T.label,0),U=cm(T),I=[...T.models].sort((z,Q)=>(Q.share||0)-(z.share||0)),P=U?`${U==="claude"?"Claude":"Codex"} Context Breakdown`:T.label;return o.jsx(mm,{provider:T,color:M,providerHeading:P,contextSource:U,from:k,to:w,sortedModels:I},T.label)})})]})]})}function mm({provider:e,color:t,providerHeading:n,contextSource:a,from:r,to:s,sortedModels:l}){const{currency:i,rate:c}=un(),[u,m]=f.useState(!1),d=String(e?.source||e?.label||"").trim().toLowerCase()==="antigravity";return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 mb-3",children:[o.jsx(ho,{provider:e.label,size:14,color:t,className:"shrink-0"}),o.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:n}),a&&u&&o.jsx(kl,{size:12,className:"text-oai-gray-400 dark:text-oai-gray-500 animate-spin shrink-0","aria-label":h("dashboard.context_breakdown.loading_aria")})]}),d&&o.jsxs("p",{className:"mb-3 text-[10px] leading-snug text-oai-gray-400 dark:text-oai-gray-500",children:[o.jsxs("span",{className:"font-medium text-oai-gray-500 dark:text-oai-gray-400",children:[h("usage.overview.antigravity_notice_title"),"."]})," ",h("usage.overview.antigravity_notice_body")]}),a?o.jsx("div",{className:"mb-4 pb-4 border-b border-oai-gray-200 dark:border-oai-gray-700",children:o.jsx(om,{from:r,to:s,source:a,referenceTotalTokens:e.usage,onLoadingChange:m})}):null,o.jsx("div",{className:"space-y-3",children:l.map(g=>{const y=ns(g.usage),x=as(g.cost,i,c),p=Math.max(0,Math.min(100,Number(g.share)||0));return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-baseline gap-4 mb-1.5",children:[o.jsx("span",{className:"flex-1 min-w-0 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate",title:g.name,children:g.name}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:y}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:x}),o.jsxs("span",{className:"shrink-0 w-12 text-right text-sm text-oai-black dark:text-oai-white tabular-nums",children:[g.share,"%"]})]}),o.jsx("div",{className:"h-[3px] bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden",role:"progressbar","aria-valuenow":p,"aria-valuemin":0,"aria-valuemax":100,children:o.jsx("div",{className:"h-full transition-[width] duration-500 ease-out",style:{width:`${p}%`,backgroundColor:t,opacity:.45}})})]},g.id||g.name)})})]})}function Hr(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,a=Math.floor(n),r=Math.ceil(n);if(a===r)return e[a];const s=n-a;return e[a]+(e[r]-e[a])*s}function hm(e){const t=Array.isArray(e)?e.filter(r=>Number.isFinite(r)&&r>0).sort((r,s)=>r-s):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let a=n;if(t.length>=4){const r=Hr(t,.25),s=Hr(t,.75),l=Math.max(s-r,0),i=s+l*1.5;n>i&&(a=Math.max(i,s,1))}return{rawMax:n,effectiveMax:Math.max(a,1),clippedValues:Array.isArray(e)?e.map(r=>!Number.isFinite(r)||r<=0?0:Math.min(r,Math.max(a,1))):[]}}function gm({value:e,displayValue:t,scale:n,index:a,row:r,totalBars:s}){const l=Ma(),i=n.effectiveMax>0?t/n.effectiveMax*100:0,c=`${Math.max(i,2)}%`,u=r?.missing,m=r?.future,d=s<=7?"6px":s<=14?"4px":"3px";return o.jsx(Re.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:l?0:.3,delay:l?0:.4+a*.008,ease:[.16,1,.3,1]},style:{originY:1},children:o.jsxs("div",{className:"absolute inset-x-0 bottom-0",style:{height:c},children:[o.jsx("div",{"data-trend-bar":"true",className:"h-full w-full cursor-pointer transition-all duration-200 group-hover:brightness-110",style:{minHeight:e>0?"4px":"2px",opacity:u||m?.2:1,borderRadius:`${d} ${d} 0 0`,background:e>0?"#10b981":"var(--oai-gray-100)"},title:`${e.toLocaleString()}`}),o.jsx("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-oai-black text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-20",children:e.toLocaleString()})]})})}function ym({rows:e,from:t,to:n,period:a,timeZoneLabel:r,showTimeZoneLabel:s=!0,className:l=""}){const i=Array.isArray(e)&&e.length?e:[],c=i.map(m=>{if(m?.missing||m?.future)return 0;const d=m?.billable_total_tokens??m?.total_tokens??m?.value;if(d==null)return 0;const g=Number(d);return Number.isFinite(g)?g:0}),u=hm(c);return o.jsxs("div",{className:`rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5 ${l}`,children:[o.jsxs("div",{className:"mb-3",children:[o.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:h("trend.monitor.label")}),s&&r&&o.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:r})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(m=>o.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-m}%`}},m))}),o.jsx("div",{className:"h-40 flex items-end gap-1 relative z-0",children:c.length>0?c.map((m,d)=>o.jsx(gm,{value:m,displayValue:u.clippedValues[d]??0,scale:u,index:d,row:i[d],totalBars:c.length},d)):o.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:o.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),t&&n&&o.jsxs("div",{className:"flex justify-between text-xs text-oai-gray-500 dark:text-oai-gray-300 font-medium pt-2 border-t border-oai-gray-100 dark:border-oai-gray-800",children:[o.jsx("span",{children:t}),o.jsx("span",{children:n})]})]})]})}const Ur={"idle-living":"idle/living.svg","idle-doze":"idle/doze.svg","idle-follow":"idle/follow.svg","idle-look":"idle/look.svg","idle-yawn":"idle/yawn.svg","idle-collapse":"idle/collapse.svg","working-building":"working/building.svg","working-carrying":"working/carrying.svg","working-conducting":"working/conducting.svg","working-confused":"working/confused.svg","working-debugger":"working/debugger.svg","working-juggling":"working/juggling.svg","working-overheated":"working/overheated.svg","working-pushing":"working/pushing.svg","working-sweeping":"working/sweeping.svg","working-thinking":"working/thinking.svg","working-typing":"working/typing.svg","working-ultrathink":"working/ultrathink.svg","working-wizard":"working/wizard.svg","mini-alert":"mini/alert.svg","mini-crabwalk":"mini/crabwalk.svg","mini-enter":"mini/enter.svg","mini-enter-sleep":"mini/enter-sleep.svg","mini-happy":"mini/happy.svg","mini-idle":"mini/idle.svg","mini-peek":"mini/peek.svg","mini-sleep":"mini/sleep.svg","react-double":"react/double.svg","react-drag":"react/drag.svg","react-left":"react/left.svg","react-right":"react/right.svg","collapse-sleep":"sleep/collapse-sleep.svg",sleeping:"sleep/sleeping.svg",wake:"sleep/wake.svg",disconnected:"status/disconnected.svg",error:"status/error.svg",notification:"status/notification.svg",happy:"happy.svg","static-base":"static-base.svg"},ia=new Map;async function pm(e){if(ia.has(e))return ia.get(e);const t=await fetch(`/clawd/${e}`);if(!t.ok)return null;const a=(await t.text()).replace(/<svg([^>]*)>/,(r,s)=>`<svg${s.replace(/\s+width="[^"]*"/g,"").replace(/\s+height="[^"]*"/g,"")} width="100%" height="100%">`);return ia.set(e,a),a}function xm({state:e="idle-living",size:t=48,className:n=""}){const[a,r]=f.useState(""),s=f.useRef(null),i=bm()?"static-base":e,c=Ur[i]||Ur["static-base"];return f.useEffect(()=>{let u=!1;return pm(c).then(m=>{!u&&m&&r(m)}),()=>{u=!0}},[c]),f.useEffect(()=>{const u=s.current?.querySelector("svg");if(u)try{const m=u.getBBox();m.width>0&&m.height>0&&u.setAttribute("viewBox",`${m.x-2} ${m.y-2} ${m.width+4} ${m.height+4}`)}catch{}},[a]),o.jsx("div",{ref:s,className:`clawd-animated ${n}`,style:{width:t,height:t,display:"inline-flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},dangerouslySetInnerHTML:{__html:a}})}function bm(){const[e,t]=f.useState(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches);return f.useEffect(()=>{const n=window.matchMedia("(prefers-reduced-motion: reduce)"),a=r=>t(r.matches);return n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[]),e}function km({todayTokens:e=0,isSyncing:t=!1,hasError:n=!1,isDisconnected:a=!1}={}){return f.useMemo(()=>n?"error":a?"disconnected":t?"working-typing":e===0?"sleeping":e<5e4?"idle-living":e<2e5?"idle-look":e<5e5?"working-ultrathink":e<2e6?"working-typing":"working-ultrathink",[e,t,n,a])}const qr="macAppBannerDismissed",wm="leaderboardBannerDismissed",vm="https://github.com/mm7894215/TokenTracker/releases/latest",Gr="tokentracker_native_app",vn=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Gr,"1"),!0):localStorage.getItem(Gr)==="1"}catch{return!1}})();function _m({todayTokens:e=0,isSyncing:t=!1,enterDelay:n=0}){const{openLoginModal:a}=Ui(),{signedIn:r}=fo(),s=km({todayTokens:e,isSyncing:t}),l=vn?wm:qr,[i,c]=f.useState(()=>{try{return localStorage.getItem(l)==="1"?!0:!vn&&new URLSearchParams(window.location.search).get("from")==="menubar"?(localStorage.setItem(qr,"1"),!0):!1}catch{return!1}}),u=f.useCallback(()=>{c(!0);try{localStorage.setItem(l,"1")}catch{}},[l]);if(i)return null;let m,d,g,y,x,p;vn&&r?(m="View the Leaderboard",d="Compare your usage globally",g="Leaderboard",y=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M2 8.5V10h8V8.5M6 1.5v6m0 0L3.5 5M6 7.5l2.5-2.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",transform:"rotate(180 6 6)"})}),x=()=>{window.location.pathname="/leaderboard"}):vn?(m="Join the Leaderboard",d="Log in to compare your usage with others",g="Log In",y=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M6.5 1.5h3a1 1 0 011 1v7a1 1 0 01-1 1h-3M5 8.5L7.5 6 5 3.5M7.5 6H1.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),x=a):(m="Try the Menu Bar App",d="Always-on stats with Clawd companion",g="Download",y=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M6 2v6m0 0L3.5 5.5M6 8l2.5-2.5M2 10h8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),p=vm);const b=p?Re.a:Re.button,k=p?{href:p,target:"_blank",rel:"noopener noreferrer"}:{onClick:x};return o.jsx(Re.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.35,delay:n,ease:[.16,1,.3,1]},className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx("div",{className:"flex-shrink-0",children:o.jsx(xm,{state:s,size:56})}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-oai-gray-900 dark:text-oai-white",children:m}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-0.5",children:d})]}),o.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[o.jsxs(b,{...k,whileHover:{scale:1.03},whileTap:{scale:.97},className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-oai-gray-900 dark:bg-oai-white dark:text-oai-gray-900 rounded-md hover:opacity-90 transition-opacity",children:[g,y]}),o.jsx("button",{onClick:u,className:"p-1 text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-300 transition-colors","aria-label":"Dismiss",children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})})})]})]})})}const Vr="widgetOnboardingDismissed",Kr="tokentracker_native_app",Nm=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Kr,"1"),!0):localStorage.getItem(Kr)==="1"}catch{return!1}})();function jm({enterDelay:e=0}){const[t,n]=f.useState(()=>{try{return localStorage.getItem(Vr)==="1"}catch{return!1}}),a=f.useCallback(()=>{n(!0);try{localStorage.setItem(Vr,"1")}catch{}},[]);return Nm?o.jsx(Na,{initial:!1,children:!t&&o.jsxs(Re.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8,transition:{duration:.2,ease:[.4,0,.2,1]}},transition:{duration:.35,delay:e,ease:[.16,1,.3,1]},className:"relative rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:[o.jsx("button",{type:"button",onClick:a,"aria-label":h("dashboard.widgets.dismiss_aria"),className:"absolute top-2.5 right-2.5 z-10 inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-gray-300 dark:focus-visible:ring-oai-gray-600 transition-colors",children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),o.jsx("div",{className:"rounded-lg overflow-hidden ring-1 ring-black/5 dark:ring-white/10 shadow-sm",children:o.jsx("img",{src:"/widgets-overview.png",alt:h("dashboard.widgets.title"),width:734,height:552,className:"w-full h-auto block",loading:"lazy",decoding:"async"})}),o.jsxs("div",{className:"mt-4",children:[o.jsx("div",{className:"text-sm font-medium tracking-tight text-oai-gray-900 dark:text-oai-white",children:h("dashboard.widgets.title")}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-1 leading-snug",children:h("dashboard.widgets.hint")})]})]},"widget-onboarding-card")}):null}function Sm(e){const{copy:t,onOpenShare:n,screenshotMode:a,showExpiredGate:r,showAuthGate:s,screenshotTitleLine1:l,screenshotTitleLine2:i,identityDisplayName:c,identityStartDate:u,activeDays:m,identitySubscriptions:d,identityScrambleDurationMs:g,projectUsageEntries:y,projectUsageLimit:x,setProjectUsageLimit:p,topModels:b,signedIn:k,publicMode:w,isLocalMode:v,shouldShowInstall:S,installPrompt:C,handleCopyInstall:_,installCopied:O,installInitCmdDisplay:N,trendRowsForDisplay:W,trendFromForDisplay:E,trendToForDisplay:F,usageFrom:ie,usageTo:$,period:B,trendTimeZoneLabel:T,activityHeatmapBlock:M,isCapturing:U,handleShareToX:I,screenshotTwitterButton:P,screenshotTwitterHint:z,periodsForDisplay:Q,setSelectedPeriod:fe,customFrom:Y,customTo:H,onCustomRangeApply:te,customRangeOpen:he,onCustomRangeOpenChange:ve,summaryLabel:Be,summaryValue:Me,summaryTotalTokensRaw:A,summaryCostValue:J,summaryConversationsValue:le,rollingUsage:ue,costInfoEnabled:Oe,openCostModal:_e,costModalOpen:We,closeCostModal:Ne,allowBreakdownToggle:Pe,refreshAll:ke,usageLoadingState:D,fleetData:L,hasDetailsActual:K,dailyEmptyPrefix:q,installSyncCmd:ne,dailyEmptySuffix:X,detailsColumns:pe,ariaSortFor:ge,toggleSort:Se,sortIconFor:Te,pagedDetails:me,dailyBreakdownRows:ce,dailyBreakdownColumns:Ie,dailyBreakdownAriaSortFor:Ce,dailyBreakdownSortIconFor:Le,dailyBreakdownDateKey:yt,detailsDateKey:Je,renderDetailDate:pt,renderDailyBreakdownDate:_t,renderDetailCell:oe,DETAILS_PAGED_PERIODS:re,detailsPageCount:G,detailsPage:de,setDetailsPage:be}=e,ae=null,xt=null,lt=.06,Nt=.05,Ze=.11;let et=0;const ct=()=>Ze+lt*et++,Fn=Ze+lt*5;return o.jsxs(o.Fragment,{children:[o.jsx(_c,{bare:!a,hideHeader:a,header:ae,footer:a?null:xt,className:a?"screenshot-mode":"",children:r||s?null:o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-4",children:[o.jsxs("div",{className:"lg:col-span-4 flex flex-col gap-4 min-w-0 order-2 lg:order-1",children:[a?o.jsx("div",{className:"flex items-start justify-between gap-4",children:o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("span",{className:"text-3xl md:text-4xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:l}),o.jsx("span",{className:"text-2xl md:text-3xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:i})]})}):null,v?o.jsx(_m,{todayTokens:A,isSyncing:D,enterDelay:ct()}):null,o.jsx(Yt,{delay:ct(),children:o.jsx(Lc,{title:t("dashboard.identity.title"),subtitle:t("dashboard.identity.subtitle"),period:B,rankLabel:u??t("identity_card.rank_placeholder"),streakDays:m,subscriptions:d,periodConversations:le,rolling:ue,topModels:b})}),v?o.jsx(jm,{enterDelay:ct()}):null,S?o.jsx(Yt,{delay:ct(),children:o.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-3",children:[o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 mb-1.5",children:C}),o.jsxs(Re.button,{onClick:_,whileHover:{scale:1.01},whileTap:{scale:.99},className:"w-full flex items-center justify-between px-3 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-700 rounded-lg transition-colors",children:[o.jsx("code",{className:"text-xs font-mono text-oai-gray-700 dark:text-oai-gray-300",children:N}),o.jsx(Re.span,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:"text-xs text-oai-brand",children:O?"Copied ✓":"Copy"},O?"copied":"copy")]})]})}):null,M&&o.jsx(Yt,{delay:ct(),children:M}),a?null:o.jsx(Yt,{delay:ct(),children:o.jsx(ym,{rows:W,from:E,to:F,period:B,timeZoneLabel:T,showTimeZoneLabel:!1})}),a?o.jsxs("div",{className:"mt-4 flex flex-col items-center gap-2","data-screenshot-exclude":"true",style:U?{display:"none"}:void 0,children:[o.jsx(Mn,{type:"button",onClick:I,variant:"primary",size:"lg",disabled:U,children:P}),o.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300",children:z})]}):null]}),o.jsxs("div",{className:"lg:col-span-8 flex flex-col gap-4 min-w-0 order-1 lg:order-2",children:[o.jsx(Yt,{delay:Nt,children:o.jsx(fm,{period:B,periods:Q,onPeriodChange:fe,summaryLabel:Be,summaryValue:Me,summaryCostValue:J,onCostInfo:Oe?_e:null,fleetData:L,onRefresh:a?null:ke,loading:D,onOpenShare:a?null:n,customFrom:Y,customTo:H,onCustomRangeApply:te,customRangeOpen:he,onCustomRangeOpenChange:ve,from:ie,to:$})}),a?null:o.jsx(Yt,{delay:Fn,children:o.jsx(Pc,{projectEntries:y,projectLimit:x,onProjectLimitChange:p,copy:t,hasDetailsActual:K,dailyEmptyPrefix:q,installSyncCmd:ne,dailyEmptySuffix:X,detailsColumns:pe,ariaSortFor:ge,toggleSort:Se,sortIconFor:Te,pagedDetails:me,dailyBreakdownRows:ce,dailyBreakdownColumns:Ie,dailyBreakdownAriaSortFor:Ce,dailyBreakdownSortIconFor:Le,dailyBreakdownDateKey:yt,detailsDateKey:Je,renderDetailDate:pt,renderDailyBreakdownDate:_t,renderDetailCell:oe,DETAILS_PAGED_PERIODS:re,period:B,detailsPageCount:G,detailsPage:de,setDetailsPage:be})})]})]})}),o.jsx(Wc,{isOpen:We,onClose:Ne,fleetData:L})]})}function rs(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const Ft=new Map,Wt=new Map;function os(){typeof window>"u"||window.__tokentrackerNativeSaveListener||(window.__tokentrackerNativeSaveListener=!0,window.addEventListener("native:saveImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!Ft.has(n))return;const a=Ft.get(n);Ft.delete(n),a({ok:!!t.ok,path:typeof t.path=="string"?t.path:void 0,error:typeof t.error=="string"?t.error:void 0})}),window.addEventListener("native:copyImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!Wt.has(n))return;const a=Wt.get(n);Wt.delete(n),a({ok:!!t.ok,error:typeof t.error=="string"?t.error:void 0})}))}async function Mm(e){if(!rs()||typeof window>"u")return{ok:!1,error:"native bridge unavailable"};const t=window?.webkit?.messageHandlers?.nativeBridge;if(!t)return{ok:!1,error:"native bridge unavailable"};os();const n=`copy_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(a=>{const r=window.setTimeout(()=>{Wt.has(n)&&(Wt.delete(n),a({ok:!1,error:"timeout"}))},8e3);Wt.set(n,s=>{window.clearTimeout(r),a(s)});try{t.postMessage({type:"action",name:"copyImageToClipboard",requestId:n,dataUrl:e})}catch(s){Wt.delete(n),window.clearTimeout(r),a({ok:!1,error:s?.message||String(s)})}})}async function Xr(e,t){if(!rs()||typeof window>"u")return{ok:!1,error:"native bridge unavailable"};const n=window?.webkit?.messageHandlers?.nativeBridge;if(!n)return{ok:!1,error:"native bridge unavailable"};os();const a=`save_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(r=>{const s=window.setTimeout(()=>{Ft.has(a)&&(Ft.delete(a),r({ok:!1,error:"timeout"}))},8e3);Ft.set(a,l=>{window.clearTimeout(s),r(l)});try{n.postMessage({type:"action",name:"saveImageToDownloads",requestId:a,filename:t,dataUrl:e})}catch(l){Ft.delete(a),window.clearTimeout(s),r({ok:!1,error:l?.message||String(l)})}})}const ss=1200,is=1630,ls={broadsheet:{width:1200,height:1630},"annual-report":{width:1080,height:1865}},Cm="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter+Tight:wght@400;500;600;700&family=IBM+Plex+Serif:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&family=Space+Grotesk:wght@500;600;700&display=swap";let la=!1;function Dm(){if(typeof document>"u"||la)return;if(document.querySelector('link[data-share-card-fonts="true"]')){la=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=Cm,t.dataset.shareCardFonts="true",t.crossOrigin="anonymous",document.head.appendChild(t),la=!0}async function Tm(){if(typeof document>"u")return;const e=document.fonts;if(!(!e||typeof e.ready?.then!="function"))try{await e.ready}catch{}}async function Am(e,t={}){if(typeof window>"u"||!e)return null;Dm(),await Tm(),await new Promise(c=>requestAnimationFrame(()=>c(null)));const{toBlob:n,toPng:a}=await mo(async()=>{const{toBlob:c,toPng:u}=await import("./index-BeoRn2gJ.js");return{toBlob:c,toPng:u}},[]),r=t.pixelRatio??2,s=e.offsetWidth||ss,l=e.offsetHeight||is,i={pixelRatio:r,cacheBust:!0,width:s,height:l,style:{width:`${s}px`,height:`${l}px`},skipFonts:!1,filter:c=>!(c instanceof HTMLElement)||c.dataset?.screenshotExclude!=="true"};try{const c=await n(e,i);if(c)return c}catch{}try{const c=await a(e,i);return c?await(await fetch(c)).blob():null}catch{return null}}async function ca(e){return new Promise(t=>{const n=new FileReader;n.onload=()=>{const a=typeof n.result=="string"?n.result:null;t(a)},n.onerror=()=>t(null),n.readAsDataURL(e)})}function Qr(e,t){if(typeof window>"u"||!e)return!1;try{const n=URL.createObjectURL(e),a=document.createElement("a");return a.href=n,a.download=t,document.body.appendChild(a),a.click(),a.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3),!0}catch{return!1}}function xa(e){const t=He(e);return Number.isFinite(t)?t:0}function Om(e){return e?xa(e.billable_total_tokens??e.total_tokens):0}function Em(e){const t=Array.isArray(e?.weeks)?e.weeks:[];if(!t.length)return{weeks:[],totalDays:0,activeDays:0};let n=0,a=0;return{weeks:t.map(s=>(Array.isArray(s)?s:[]).slice(0,7).map(i=>{const c=!!i?.future,u=Number.isFinite(i?.level)?Math.max(0,Math.min(4,Math.round(i.level))):0;i?.day&&!c&&(n+=1,u>0&&(a+=1));const m=i?.billable_total_tokens??i?.total_tokens??i?.value??0,d=Number.isFinite(m)?Math.max(0,m):0;return{day:typeof i?.day=="string"?i.day:"",level:u,value:d,future:c}})),totalDays:n,activeDays:a}}function Fm(e){const{handle:t,startDate:n,activeDays:a,summary:r,topModels:s,rank:l,period:i,periodFrom:c,periodTo:u,heatmap:m,capturedAt:d,currency:g,exchangeRate:y}=e,x=Om(r),p=xa(r?.total_cost_usd),b=Array.isArray(s)?s.slice(0,3).map(w=>({id:w?.id??null,name:typeof w?.name=="string"&&w.name?w.name:"—",tokens:xa(w?.tokens),percent:typeof w?.percent=="string"&&w.percent?w.percent:"0.0"})):[],k=Em(m);return{handle:t||"—",startDate:n||null,activeDays:Number.isFinite(a)&&a>0?Math.floor(a):0,totalTokens:x,totalCost:p,period:i,periodFrom:c,periodTo:u,topModels:b,rank:typeof l=="number"&&Number.isFinite(l)&&l>0?Math.floor(l):null,heatmapWeeks:k.weeks,heatmapTotalDays:k.totalDays,heatmapActiveDays:k.activeDays,capturedAt:d||new Date().toISOString(),currency:typeof g=="string"&&g.length>0?g.toUpperCase():"USD",exchangeRate:Number.isFinite(y)&&y>0?y:1}}const Wm=["share.month_short.jan","share.month_short.feb","share.month_short.mar","share.month_short.apr","share.month_short.may","share.month_short.jun","share.month_short.jul","share.month_short.aug","share.month_short.sep","share.month_short.oct","share.month_short.nov","share.month_short.dec"];function Pm(e){const t=Wm[e];return t?h(t):"—"}function cs(e,t){return h("share.date.month_year",{month:Pm(e),year:t})}function Im(e){if(!e)return"—";const t=e.split("-");if(t.length!==3)return e;const[n,a]=t,r=Number(a)-1;return r<0||r>11?e:cs(r,n)}function Lm(e){if(e.period==="total")return h("share.issue.all_time");if(e.period==="day"&&e.periodTo)return e.periodTo.replace(/-/g,".");if(e.period==="custom"&&e.periodFrom&&e.periodTo)return`${e.periodFrom.replace(/-/g,".")} — ${e.periodTo.replace(/-/g,".")}`;if(e.periodTo){const t=new Date(`${e.periodTo}T00:00:00Z`);if(!Number.isNaN(t.getTime()))return cs(t.getUTCMonth(),t.getUTCFullYear())}return h(`usage.period.${e.period}`)}function ba(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"—"}function ds(e,t={}){const{currency:n="USD",rate:a=1}=t,r=An(n);if(!Number.isFinite(e)||e<=0)return`${r}0.00`;const s=n!=="USD"&&Number.isFinite(a)&&a>0?e*a:e;return s>=1e3?`${r}${Math.round(s).toLocaleString("en-US")}`:`${r}${s.toFixed(2)}`}function $m(e){const t=e.topModels[0];if(t){const n=parseFloat(t.percent);return Number.isFinite(n)&&n>=60?h("share.hook.top_loyal",{percent:Math.round(n),name:t.name}):e.activeDays>=60?h("share.hook.days_record",{days:e.activeDays}):Number.isFinite(n)&&n>=30?h("share.hook.top_led",{name:t.name,percent:Math.round(n)}):e.topModels.length>1?h("share.hook.multi_models",{count:e.topModels.length,days:e.activeDays}):h("share.hook.days_with_model",{days:e.activeDays,name:t.name})}return e.activeDays>0?h("share.hook.days_record",{days:e.activeDays}):h("share.hook.new_chapter")}function Rm(e,t){const n=(e||"").length;if(n<=t.baseChars)return t.baseSize;const a=t.baseSize-(n-t.baseChars)*t.shrinkPerChar;return Math.max(t.minSize,a)}function Bm(e){if(!e||e.future)return null;const t=typeof e.level=="number"?e.level:0;return t<0?0:t>4?4:Math.round(t)}function Ym({weeks:e,palette:t,width:n,gap:a=3,radius:r=2,emptyColor:s}){if(!Array.isArray(e)||e.length===0||!n||n<=0)return null;const l=t||["#eee","#ccc","#999","#666","#333"],i=s||l[0],c=e.length,u=(c-1)*a,m=Math.max(4,(n-u)/c),d=7*m+6*a;return o.jsx("svg",{width:n,height:d,viewBox:`0 0 ${n} ${d}`,xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,style:{display:"block"},children:e.map((g,y)=>(Array.isArray(g)?g:[]).map((p,b)=>{if(b>=7)return null;const k=Bm(p),w=y*(m+a),v=b*(m+a),S=k===null?i:l[k];return o.jsx("rect",{x:w,y:v,width:m,height:m,rx:r,ry:r,fill:S},`${y}-${b}`)}))})}const zm="oklch(0.97 0.01 85)",Ye="oklch(0.18 0.02 85)",wt="oklch(0.38 0.015 85)",Jr="oklch(0.55 0.012 85)",Dt="oklch(0.55 0.22 25)",Tt='"Instrument Serif", "Times New Roman", Georgia, serif',Hm='"Inter Tight", "Helvetica Neue", Arial, sans-serif',Um=["oklch(0.93 0.013 80)","oklch(0.87 0.04 55)","oklch(0.78 0.09 45)","oklch(0.67 0.16 35)","oklch(0.55 0.22 25)"];function us({data:e}){const t=Lm(e),n=ba(e.totalTokens),a=ds(e.totalCost,{currency:e.currency,rate:e.exchangeRate}),r=Im(e.startDate),s=Rm(n,{baseSize:188,baseChars:9,shrinkPerChar:14,minSize:104}),l=$m(e),i=Array.isArray(e.heatmapWeeks)&&e.heatmapWeeks.length>0;return o.jsxs("div",{style:{width:"100%",height:"100%",background:zm,color:Ye,fontFamily:Hm,padding:"80px 88px 68px 88px",boxSizing:"border-box",display:"flex",flexDirection:"column",position:"relative"},children:[o.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:24,paddingBottom:14,borderBottom:`1px solid ${Jr}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:14,fontWeight:500,letterSpacing:"0.22em",textTransform:"uppercase",color:Ye},children:[o.jsx("div",{style:{width:10,height:10,borderRadius:"50%",background:Dt}}),"The Token Tracker"]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:wt,textAlign:"right"},children:[h("share.card.broadsheet.issue")," № ",t]})]}),o.jsxs("div",{style:{marginTop:24,display:"flex",justifyContent:"space-between",alignItems:"flex-end",gap:24},children:[o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.2em",textTransform:"uppercase",color:wt,marginBottom:6},children:h("share.card.broadsheet.by")}),o.jsx("div",{style:{fontFamily:Tt,fontSize:52,fontStyle:"italic",lineHeight:1,color:Ye,letterSpacing:"-0.01em"},children:e.handle})]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:wt,textAlign:"right",lineHeight:1.6},children:[h("share.card.broadsheet.tracked_since"),o.jsx("br",{}),o.jsx("span",{style:{color:Ye},children:r})]})]}),o.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:"column"},children:[o.jsx("div",{style:{fontSize:13,letterSpacing:"0.3em",textTransform:"uppercase",color:Dt,marginBottom:10},children:h("share.card.broadsheet.total_tokens")}),o.jsx("div",{style:{fontFamily:Tt,fontSize:s,fontWeight:400,lineHeight:.86,letterSpacing:"-0.032em",color:Ye,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap",overflow:"hidden"},children:n}),o.jsxs("div",{style:{marginTop:14,fontFamily:Tt,fontStyle:"italic",fontSize:34,lineHeight:1.15,color:Ye,letterSpacing:"-0.005em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["“",l,"”"]}),o.jsx("div",{style:{marginTop:14,height:1,background:Dt,width:"100%"}}),o.jsxs("div",{style:{marginTop:10,display:"flex",justifyContent:"space-between",fontSize:13,letterSpacing:"0.16em",textTransform:"uppercase",color:wt},children:[o.jsxs("span",{children:[h("share.card.broadsheet.estimated_spend")," · ",a]}),o.jsx("span",{children:h("share.card.broadsheet.billable_days",{days:e.activeDays})})]})]}),i?o.jsxs("section",{style:{marginTop:40},children:[o.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:12},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Ye,fontWeight:600},children:h("share.card.broadsheet.heatmap_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:wt},children:h("share.card.broadsheet.heatmap_days_on_record",{active:e.heatmapActiveDays,total:e.heatmapTotalDays})})]}),o.jsx(Ym,{weeks:e.heatmapWeeks,palette:Um,width:1024,gap:3,radius:2})]}):null,o.jsxs("section",{style:{marginTop:30,flex:1},children:[o.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",borderBottom:`1px solid ${Ye}`,paddingBottom:10,marginBottom:6},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Ye,fontWeight:600},children:h("share.card.broadsheet.roster_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:wt},children:h("share.card.broadsheet.roster_subtitle")})]}),e.topModels.length===0?o.jsx("div",{style:{fontFamily:Tt,fontStyle:"italic",fontSize:26,color:wt,paddingTop:14},children:h("share.card.broadsheet.empty")}):e.topModels.map((c,u)=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"52px 1fr auto 68px",alignItems:"baseline",gap:16,padding:"13px 0",borderBottom:`1px solid ${Jr}`},children:[o.jsx("div",{style:{fontFamily:Tt,fontSize:34,fontStyle:"italic",color:Dt,lineHeight:1},children:String(u+1).padStart(2,"0")}),o.jsx("div",{style:{fontFamily:Tt,fontSize:32,color:Ye,lineHeight:1.1,letterSpacing:"-0.01em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),o.jsx("div",{style:{fontFamily:Tt,fontSize:28,color:Ye,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap"},children:ba(c.tokens)}),o.jsxs("div",{style:{fontSize:13,letterSpacing:"0.1em",color:wt,textAlign:"right",fontFeatureSettings:'"tnum" 1'},children:[c.percent,"%"]})]},c.id||c.name))]}),o.jsxs("footer",{style:{marginTop:18,paddingTop:12,borderTop:`1px solid ${Ye}`,display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:Ye},children:[o.jsxs("div",{style:{display:"flex",gap:28},children:[o.jsxs("span",{children:[h("share.card.broadsheet.global_rank")," ",o.jsxs("span",{style:{color:Dt},children:["№ ",e.rank!=null?e.rank:"—"]})]}),o.jsxs("span",{children:[h("share.card.broadsheet.active_days")," ",o.jsx("span",{style:{color:Dt},children:h("share.card.broadsheet.days_count",{days:e.activeDays})})]})]}),o.jsxs("div",{children:[h("share.card.broadsheet.track_yours")," ",o.jsx("span",{style:{color:Dt},children:"→ tokentracker.cc"})]})]})]})}const qm=ls["annual-report"].width,Gm="#0a0820",vt="#ffffffee",Ot="rgba(255,255,255,0.45)",da="#a78bfa",Vm={background:"rgba(20,15,50,0.38)",backdropFilter:"blur(40px)",WebkitBackdropFilter:"blur(40px)",border:"1px solid rgba(255,255,255,0.05)",boxShadow:["0 39px 56px -36px rgba(255,255,255,0.10) inset","0 7px 11px -4px rgba(255,255,255,0.06) inset","0 -82px 68px -64px rgba(101,67,149,0.08) inset","0 98px 100px -48px rgba(208,171,255,0.06) inset","0 4px 18px 0 rgba(156,146,215,0.06) inset","0 1px 40px 0 rgba(228,222,255,0.04) inset"].join(", ")},_n={background:"rgba(20,15,50,0.38)",backdropFilter:"blur(32px)",WebkitBackdropFilter:"blur(32px)",border:"1px solid rgba(255,255,255,0.06)",boxShadow:"0 1px 8px 0 rgba(228,222,255,0.06) inset"},ka='"Space Grotesk", "Inter Tight", sans-serif',ua='"Inter Tight", sans-serif',Km="rgba(255,255,255,0.06)",fs=[Km,"#4a3d8f","#6b5cbe","#9060e0","#d946ef"],ms=48,hs=28,Dn=4,gs=20,Xm=qm-ms*2-hs*2,Qm=(Xm-gs*2)/3,wa=Math.min(Math.floor((Qm-Dn*6)/7),40),Jm=wa*7+Dn*6;function Zm(e){if(!Array.isArray(e))return e;const t=[];for(const i of e)if(Array.isArray(i))for(const c of i)c?.day&&!c.future&&c.value>0&&t.push(c.value);if(!t.length)return e;t.sort((i,c)=>i-c);const n=i=>{const c=t.length,u=(c-1)*i,m=Math.floor(u);return Math.round((t[m]??0)+((t[Math.min(c-1,m+1)]??0)-(t[m]??0))*(u-m))},a=n(.5),r=n(.75),s=n(.9),l=i=>!i||i<=0?0:i<=a?1:i<=r?2:i<=s?3:4;return e.map(i=>Array.isArray(i)?i.map(c=>c?.day&&!c.future&&typeof c.value=="number"?{...c,level:l(c.value)}:c):i)}function eh(e){if(!Array.isArray(e))return[];const t={},n=Zm(e);for(const a of n)if(Array.isArray(a))for(const r of a){if(!r?.day||r.future)continue;const s=r.day.split("-");if(s.length<2)continue;const l=`${s[0]}-${s[1]}`;(t[l]??=[]).push(r)}return Object.entries(t).sort(([a],[r])=>a.localeCompare(r)).slice(-12).map(([a,r])=>({month:parseInt(a.split("-")[1],10),cells:r}))}function th(e){if(!e.length)return[];const t=[...e].sort((l,i)=>l.day.localeCompare(i.day));let n=new Date(`${t[0].day}T00:00:00Z`).getUTCDay();const a=Array(n).fill(null).concat(t),r=[];for(let l=0;l<a.length;l+=7)r.push(a.slice(l,l+7));const s=r[r.length-1];for(;s&&s.length<7;)s.push(null);return r.slice(0,6)}const nh=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ah(e){if(!Array.isArray(e))return 0;const t=[];for(const r of e)if(Array.isArray(r))for(const s of r)s?.day&&!s.future&&t.push(s);t.sort((r,s)=>r.day.localeCompare(s.day));let n=0,a=0;for(const r of t)(r.level||0)>0?(a++,a>n&&(n=a)):a=0;return n}function Zr(e){const[t,n]=f.useState(null);return f.useEffect(()=>{if(!e){n(null);return}let a=!1;const r=new Image;return r.crossOrigin="anonymous",r.onload=()=>{if(!a)try{const s=document.createElement("canvas");s.width=r.naturalWidth,s.height=r.naturalHeight,s.getContext("2d").drawImage(r,0,0),n(s.toDataURL("image/png"))}catch{n(null)}},r.onerror=()=>{a||n(null)},r.src=e,()=>{a=!0}},[e]),t}function rh({data:e}){const t=th(e.cells);return o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:16,fontWeight:600,color:Ot,fontFamily:ka,marginBottom:4},children:nh[e.month]}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:Dn},children:t.map((n,a)=>o.jsx("div",{style:{display:"flex",gap:Dn},children:n.map((r,s)=>{const l=r?Math.min(4,Math.max(0,r.level||0)):-1;return o.jsx("div",{style:{width:wa,height:wa,borderRadius:4,background:l<0?"transparent":fs[l]}},s)})},a))})]})}function oh({data:e}){const t=eh(e.heatmapWeeks),n=ah(e.heatmapWeeks),a=e.topModels[0],r=e.avatarUrl||null,s=Zr(r),l=Zr("/neon_bg.png"),i=(e.handle||"?")[0].toUpperCase(),c=16;return o.jsxs("div",{style:{width:"100%",height:"100%",background:Gm,fontFamily:ka,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:[o.jsx("img",{src:l||"/neon_bg.png",alt:"",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",pointerEvents:"none"}}),o.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",height:"100%",padding:ms,boxSizing:"border-box"},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:c*3},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:64,height:64,style:{width:64,height:64,borderRadius:16,display:"block"}}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:20,fontWeight:500,color:Ot,lineHeight:1.2},children:"Token Tracker"}),o.jsx("div",{style:{fontSize:36,fontWeight:700,lineHeight:1.15,color:vt},children:h("share.card.annual.report_title")})]})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsx("div",{style:{width:48,height:48,borderRadius:"50%",background:"linear-gradient(135deg,#4c1d95,#7c3aed)",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid rgba(255,255,255,0.15)",overflow:"hidden",flexShrink:0},children:s?o.jsx("img",{src:s,alt:"",width:48,height:48,style:{width:48,height:48,objectFit:"cover",display:"block"},crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):o.jsx("span",{style:{fontSize:20,fontWeight:700,color:vt},children:i})}),o.jsx("div",{style:{fontSize:32,fontWeight:700,color:vt},children:e.handle})]})]}),o.jsxs("div",{style:{...Vm,borderRadius:22,padding:hs,marginBottom:c},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:14,color:Ot},children:[o.jsx("span",{children:h("share.card.annual.less")}),fs.map((u,m)=>o.jsx("div",{style:{width:16,height:16,borderRadius:3,background:u}},m)),o.jsx("span",{children:h("share.card.annual.more")})]}),o.jsx("div",{style:{fontSize:16,fontWeight:700,letterSpacing:"0.14em",color:"rgba(255,255,255,0.22)",textTransform:"uppercase"},children:h("share.card.annual.heatmap_title")})]}),o.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(3,${Jm}px)`,gap:`8px ${gs}px`,justifyContent:"center"},children:t.map(u=>o.jsx(rh,{data:u},u.month))})]}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:c,marginBottom:c},children:[o.jsxs("div",{style:{..._n,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:ua,fontSize:52,fontWeight:700,color:vt,letterSpacing:"-0.02em",lineHeight:1},children:ba(e.totalTokens)}),o.jsx("div",{style:{fontSize:22,color:Ot,marginTop:12},children:h("share.card.annual.total_tokens")})]}),o.jsxs("div",{style:{..._n,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:ua,fontSize:52,fontWeight:700,color:vt,letterSpacing:"-0.02em",lineHeight:1},children:ds(e.totalCost,{currency:e.currency,rate:e.exchangeRate})}),o.jsx("div",{style:{fontSize:22,color:Ot,marginTop:12},children:h("share.card.annual.estimated_cost")})]})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:c},children:[o.jsxs("div",{style:{..._n,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:da,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48 2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48 2.83-2.83"}),o.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),o.jsx("span",{style:{fontSize:20,color:Ot},children:h("share.card.annual.longest_streak")})]}),o.jsx("span",{style:{fontFamily:ua,fontSize:28,fontWeight:700,color:vt},children:h("share.card.annual.days_count",{days:n})})]}),o.jsxs("div",{style:{..._n,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:da,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),o.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),o.jsx("span",{style:{fontSize:20,color:Ot},children:h("share.card.annual.top_model")})]}),o.jsx("span",{style:{fontFamily:ka,fontSize:28,fontWeight:700,color:vt},children:a?a.name:"—"})]})]}),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"auto"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:44,height:44,style:{width:44,height:44,borderRadius:8,display:"block"}}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:vt},children:"Token Tracker"})]}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:da},children:"tokentracker.cc"})]})]})]})}const ys=[{id:"annual-report",labelKey:"share.variant.neon"},{id:"broadsheet",labelKey:"share.variant.broadsheet"}],sh={broadsheet:us,"annual-report":oh};function ps(e){return ls[e]||{width:ss,height:is}}function ih(e){const t=ys.find(n=>n.id===e);return t?.labelKey?h(t.labelKey):e}const eo=f.forwardRef(function({data:t,variant:n},a){const r=sh[n]||us,{width:s,height:l}=ps(n);return o.jsx("div",{ref:a,"data-share-card":"true",style:{width:s,height:l,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:o.jsx(r,{data:t})})});function Nn(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const lh=440;function ch(){const[e,t]=f.useState(null),n=f.useRef(null),a=f.useCallback((r,s="info")=>{n.current&&window.clearTimeout(n.current),t({id:Date.now(),kind:s,text:r}),n.current=window.setTimeout(()=>t(null),2800)},[]);return f.useEffect(()=>()=>{n.current&&window.clearTimeout(n.current)},[]),{toast:e,push:a}}function fa({onClick:e,disabled:t,children:n,emphasis:a,ariaLabel:r}){return o.jsx("button",{type:"button",onClick:e,disabled:t,"aria-label":r,className:["group relative flex items-center justify-between gap-3 w-full px-4 py-3 text-left","rounded-lg border transition-colors",a?"border-oai-black dark:border-oai-white bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black hover:opacity-90":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-gray-400 dark:hover:border-oai-gray-600",t?"opacity-60 cursor-not-allowed":"cursor-pointer"].join(" "),children:n})}function dh({open:e,onClose:t,data:n,twitterText:a}){const[r,s]=f.useState(null),[l,i]=f.useState(""),[c,u]=f.useState("annual-report"),m=f.useRef(null),{toast:d,push:g}=ch(),y=fo(),x=f.useMemo(()=>{const N=y?.user;if(!N||typeof N!="object")return null;const W=N.user_metadata||{},E=N.profile||{},F=W.avatar_url||W.picture||E.avatar_url||N.avatar_url;return typeof F=="string"&&F.trim()?F.trim():null},[y?.user]);f.useEffect(()=>{e&&(s(null),i(n?.handle||""))},[e,n?.handle]);const p=n&&{...n,handle:l||n.handle,avatarUrl:x},{width:b,height:k}=ps(c),w=lh/b;f.useEffect(()=>{if(!e)return;const N=W=>{W.key==="Escape"&&t?.()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e,t]);const v=f.useCallback(async()=>{const N=m.current;if(!N)return null;try{return await Am(N)}catch(W){return console.warn("[share] capture failed",W),null}},[]),S=f.useCallback(async()=>{if(r)return;s("copy");const N=await v();if(!N){g(h("share.toast.failed"),"error"),s(null);return}let W=!1;if(Nn()){const E=await ca(N);E&&(W=(await Mm(E)).ok)}else W=await ya(N);g(W?h("share.toast.copied"):h("share.toast.failed"),W?"success":"error"),s(null)},[r,v,g]),C=f.useCallback(()=>`tokentracker-share-${Date.now()}.png`,[]),_=f.useCallback(async()=>{if(r)return;s("download");const N=await v();if(!N){g(h("share.toast.failed"),"error"),s(null);return}if(Nn()){const E=await ca(N);if(E&&(await Xr(E,C())).ok){g(h("share.toast.downloaded"),"success"),s(null);return}}const W=Qr(N,C());g(W?h("share.toast.downloaded"):h("share.toast.failed"),W?"success":"error"),s(null)},[r,v,C,g]),O=f.useCallback(async()=>{if(r)return;s("x");const N=await v();if(!N){g(h("share.toast.failed"),"error"),s(null);return}if(Nn()){const E=await ca(N);E&&(await Xr(E,C()),g(h("share.toast.downloaded"),"success"))}else await ya(N)?g(h("share.toast.copied"),"success"):Qr(N,C());const W=new URL("https://twitter.com/intent/tweet");if(a&&W.searchParams.set("text",a),Nn())try{window.webkit?.messageHandlers?.nativeBridge?.postMessage({type:"action",name:"openURL",value:W.toString()})}catch{window.open(W.toString(),"_blank","noopener,noreferrer")}else window.open(W.toString(),"_blank","noopener,noreferrer");s(null)},[r,v,g,a,C]);return e?o.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":h("share.modal.title"),"data-screenshot-exclude":"true",className:"fixed inset-0 z-[9999] flex items-center justify-center p-4 sm:p-6",style:{background:"rgba(10,10,10,0.72)"},onClick:N=>{N.target===N.currentTarget&&t?.()},children:[o.jsx("div",{"aria-hidden":!0,style:{position:"fixed",left:0,top:0,width:b,height:k,pointerEvents:"none",opacity:0,zIndex:-1,clip:"rect(0,0,0,0)",overflow:"hidden"},children:o.jsx(eo,{ref:m,data:p,variant:c})}),o.jsxs(Re.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:12},transition:{duration:.18,ease:[.2,.8,.2,1]},className:"relative w-full max-w-[1040px] max-h-[92vh] overflow-hidden rounded-2xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-black shadow-oai-lg",children:[o.jsxs("div",{className:"flex flex-col lg:flex-row max-h-[92vh]",children:[o.jsx("div",{className:"flex-1 min-w-0 p-4 sm:p-7 bg-oai-gray-50 dark:bg-oai-gray-950 flex items-center justify-center overflow-auto",children:o.jsxs("div",{style:{width:b*w,height:k*w,flexShrink:0,position:"relative"},className:"rounded-xl overflow-hidden shadow-oai-md ring-1 ring-black/5",children:[r?o.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/70 dark:bg-black/50",children:o.jsxs("svg",{className:"animate-spin h-6 w-6 text-oai-gray-500",viewBox:"0 0 24 24",fill:"none",children:[o.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),o.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}):null,o.jsx("div",{style:{width:b,height:k,transform:`scale(${w})`,transformOrigin:"top left"},children:o.jsx(eo,{data:p,variant:c})})]})}),o.jsxs("div",{className:"w-full lg:w-[340px] flex-shrink-0 border-t lg:border-t-0 lg:border-l border-oai-gray-200 dark:border-oai-gray-800 p-5 sm:p-6 flex flex-col gap-5 overflow-y-auto",children:[o.jsxs("div",{className:"flex items-start justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"text-lg font-semibold text-oai-black dark:text-oai-white",children:h("share.modal.title")}),o.jsx("p",{className:"mt-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:h("share.modal.subtitle")})]}),o.jsx("button",{type:"button",onClick:t,"aria-label":h("share.modal.close"),className:"p-1.5 -mt-1 -mr-1 rounded-md text-oai-gray-500 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:o.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"share-handle",className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:h("share.modal.name_label")}),o.jsx("input",{id:"share-handle",type:"text",value:l,onChange:N=>i(N.target.value),placeholder:h("share.modal.name_placeholder"),className:"w-full px-3 py-2 text-sm rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white placeholder:text-oai-gray-400 dark:placeholder:text-oai-gray-600 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-oai-brand transition-colors"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:h("share.modal.style_label")}),o.jsx("div",{className:"flex gap-2",children:ys.map(N=>o.jsx("button",{type:"button",onClick:()=>u(N.id),className:["flex-1 px-3 py-2 text-sm rounded-lg border transition-colors",c===N.id?"border-oai-black dark:border-oai-white bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white font-medium":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-gray-500 dark:text-oai-gray-400 hover:border-oai-gray-400 dark:hover:border-oai-gray-600"].join(" "),children:ih(N.id)},N.id))})]}),o.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[o.jsxs(fa,{onClick:O,disabled:!!r,emphasis:!0,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:o.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),o.jsx("span",{className:"font-medium text-sm",children:h("share.modal.action.x")})]}),o.jsx("span",{className:"text-[11px] opacity-70",children:r==="x"?h("share.toast.working"):h("share.modal.hint.x")})]}),o.jsxs(fa,{onClick:_,disabled:!!r,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),o.jsx("polyline",{points:"7 10 12 15 17 10"}),o.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]}),o.jsx("span",{className:"font-medium text-sm",children:h("share.modal.action.download")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:"PNG"})]}),o.jsxs(fa,{onClick:S,disabled:!!r,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),o.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),o.jsx("span",{className:"font-medium text-sm",children:h("share.modal.action.copy")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:h("share.modal.hint.copy")})]})]}),o.jsx("div",{className:"mt-auto pt-4 border-t border-oai-gray-200 dark:border-oai-gray-800",children:o.jsx("p",{className:"text-[11px] leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:h("share.modal.footer")})})]})]}),o.jsx(Na,{children:d?o.jsx(Re.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:8},className:"pointer-events-none absolute left-1/2 bottom-4 -translate-x-1/2",children:o.jsx("div",{className:["px-4 py-2 rounded-full text-xs font-medium shadow-oai-md",d.kind==="error"?"bg-red-600 text-white":d.kind==="success"?"bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black":"bg-oai-gray-800 text-white"].join(" "),children:d.text})},d.id):null})]})]}):null}function uh(e){const{enabled:t,handle:n,startDate:a,activeDays:r,summary:s,topModels:l,period:i,periodFrom:c,periodTo:u,heatmap:m,accessToken:d,userId:g,currency:y,exchangeRate:x}=e,[p,b]=f.useState(null),k=x;return f.useEffect(()=>{if(!t||!g&&!It())return;let w=!1;return(async()=>{try{const S=await qi({accessToken:d,userId:g,period:i==="day"||i==="custom"?"week":i,metric:"all",limit:100,offset:0});if(w)return;const _=(Array.isArray(S?.entries)?S.entries:Array.isArray(S)?S:[]).find(N=>N?.is_me===!0),O=typeof _?.rank=="number"?_.rank:null;b(O)}catch{w||b(null)}})(),()=>{w=!0}},[t,d,g,i]),f.useMemo(()=>Fm({handle:n,startDate:a,activeDays:r,summary:s,topModels:l,rank:p,period:i,periodFrom:c,periodTo:u,heatmap:m,currency:y,exchangeRate:typeof k=="number"?k:void 0}),[n,a,r,s,l,p,i,c,u,m,y,k])}const fh=["day","week","month","total","custom"],ma=new Set(["day","hour","month"]),on=new Set(["day","total","custom"]);function ha(e,t){if(typeof t=="number"&&t>0)return!0;if(typeof e=="bigint")return e>0n;if(typeof e=="number")return Number.isFinite(e)&&e>0;if(typeof e=="string"){const n=e.trim();if(!n)return!1;if(/^[0-9]+$/.test(n))try{return BigInt(n)>0n}catch{return!1}const a=Number(n);return Number.isFinite(a)&&a>0}return!1}function jn(e){return e?Gt(e,null):null}function to(e){return e?e?.billable_total_tokens??e?.value??e?.total_tokens:null}function mh(e){if(typeof e!="string"||!e)return null;const t=e.split("-");if(t.length!==3)return null;const n=Number(t[0]),a=Number(t[1])-1,r=Number(t[2]);if(!Number.isFinite(n)||!Number.isFinite(a)||!Number.isFinite(r))return null;const s=new Date(Date.UTC(n,a,r));return Number.isFinite(s.getTime())?s:null}function hh(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function gh(e){return e?e==="www.tokentracker.cc"||e==="tokentracker.cc":!1}function yh(){if(typeof window>"u")return!1;const e=new URLSearchParams(window.location.search),t=String(e.get("force_install")||"").toLowerCase();return t!=="1"&&t!=="true"?!1:!gh(window.location.hostname)}function Ch({baseUrl:e,auth:t,signedIn:n,sessionSoftExpired:a,signOut:r,publicMode:s=!1,publicToken:l=null,signInUrl:i="/sign-in",signUpUrl:c="/sign-up"}){const{resolvedLocale:u}=Gi(),{currency:m,rate:d}=un(),[g,y]=f.useState(!1),[x,p]=f.useState(null),[b,k]=f.useState(null),[w,v]=f.useState(!1),[S,C]=f.useState(null),[_,O]=f.useState(0),[N,W]=f.useState(0),[E,F]=f.useState(null),[ie,$]=f.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(max-width: 640px)").matches),B=f.useMemo(()=>typeof window>"u"?!1:Vi(window.location.search),[]),T=f.useMemo(()=>yh(),[]),[M,U]=f.useState(!1),[I,P]=f.useState(!1),z=2200,[Q,fe]=f.useState(!0),[Y,H]=f.useState(!1),[te,he]=f.useState(!1),[ve,Be]=f.useState(!1),Me=It(),A=n&&!a,J=f.useMemo(()=>A&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,A]),le=A?J:null,ue=s?Ki(l):le,Oe=n||Me||s,_e=A&&Xt(le),We=n&&a&&!s;f.useEffect(()=>{if(!n||Me){p(null),k(null),v(!1),C(null);return}if(s)return;if(!_e){p(null),k(null),v(!1),C(null);return}let j=!0;const V=()=>{p(null),k(null),v(!1),C(null)};return v(!0),C(null),(async()=>{let Z=null;try{Z=await Pt(le)}catch{Z=null}if(j){if(!Z){V();return}try{const se={link_code:null,expires_at:null};if(!j)return;p(typeof se?.link_code=="string"?se.link_code:null),k(typeof se?.expires_at=="string"?se.expires_at:null)}catch(se){if(!j)return;p(null),k(null),C(se?.message||"Failed to load link code")}finally{if(!j)return;v(!1)}}})(),()=>{j=!1}},[e,Me,n,s,_e,le,N]);const Ne=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");f.useEffect(()=>{if(!Ne&&(!n||Me||s)){F(null);return}if(!Ne&&!_e){F(null);return}let j=!0;return(async()=>{let V=null;try{V=await Pt(le)}catch{V=null}if(j){if(!V&&!Ne){F(null);return}try{const Z=await Xi({baseUrl:e,accessToken:V});if(!j)return;F(Z&&typeof Z=="object"?Z:null)}catch{if(!j)return;F(null)}}})(),()=>{j=!1}},[_e,e,le,Me,s,n]);const Pe=f.useMemo(()=>{if(!b)return!1;const j=Date.parse(b);if(!Number.isFinite(j))return!1;const V=_||Date.now();return j<=V},[b,_]);f.useEffect(()=>{!n||Me||s||!b||!Pe||w||(p(null),k(null),C(null),W(j=>j+1))},[Pe,b,w,Me,n]),f.useEffect(()=>{if(!b||s)return;const j=Date.parse(b);if(!Number.isFinite(j))return;const V=Date.now();if(O(V),j<=V)return;const Z=window.setTimeout(()=>O(Date.now()),j-V),se=()=>{typeof document>"u"||document.visibilityState==="visible"&&O(Date.now())};return typeof document<"u"&&document.addEventListener("visibilitychange",se),window.addEventListener("focus",se),()=>{window.clearTimeout(Z),typeof document<"u"&&document.removeEventListener("visibilitychange",se),window.removeEventListener("focus",se)}},[b]),f.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const j=window.matchMedia("(max-width: 640px)"),V=()=>$(j.matches);return V(),j.addEventListener?(j.addEventListener("change",V),()=>j.removeEventListener("change",V)):(j.addListener(V),()=>j.removeListener(V))},[]);const ke=f.useMemo(()=>uo(),[]),D=f.useMemo(()=>co(),[]),L=f.useMemo(()=>Qi(),[]),K=s?null:t?.userId||t?.email||"default",[q,ne]=f.useState("month"),[X,pe]=f.useState(null),[ge,Se]=f.useState(null),[Te,me]=f.useState(!1),ce=B?"total":q,Ie=f.useMemo(()=>ce==="custom"&&X&&ge?{from:X,to:ge}:Ji(ce,{timeZone:ke,offsetMinutes:D,now:L}),[L,ce,ke,D,X,ge]),Ce=Ie.from,Le=Ie.to,yt=f.useMemo(()=>Zi({timeZone:ke,offsetMinutes:D}),[ke,D]),Je=f.useMemo(()=>el({timeZone:ke,offsetMinutes:D}),[ke,D]),pt=f.useMemo(()=>`Local time (${Je})`,[Je]),_t=ke,oe=D,re=yt,G=f.useMemo(()=>_a({timeZone:ke,offsetMinutes:D,date:L||new Date}),[L,ke,D]),de=f.useMemo(()=>{const j=mh(G)||new Date,V=hh(j,-29);return{from:qt(V),to:qt(j)}},[G]),{daily:be,summary:ae,rolling:xt,source:lt,loading:Nt,error:Ze,refresh:et}=mr({baseUrl:e,accessToken:ue,guestAllowed:We,from:Ce,to:Le,includeDaily:ce!=="total",cacheKey:K,timeZone:ke,tzOffsetMinutes:D,now:L}),{daily:ct,loading:Fn,refresh:Ia}=mr({baseUrl:e,accessToken:ue,guestAllowed:We,from:de.from,to:de.to,includeDaily:!0,cacheKey:K?`${K}.daily-breakdown`:"daily-breakdown",timeZone:ke,tzOffsetMinutes:D,now:L}),{breakdown:jt,loading:xs,refresh:La}=Vl({baseUrl:e,accessToken:ue,guestAllowed:We,from:Ce,to:Le,cacheKey:K,timeZone:ke,tzOffsetMinutes:D}),[$a,bs]=f.useState(3),{entries:ks,loading:ws,refresh:Ra}=$l({baseUrl:e,accessToken:ue,limit:$a,from:Ce,to:Le,timeZone:ke,tzOffsetMinutes:D}),Ba=ce==="week"||ce==="month",gn=ce==="week"||ce==="month",Ya=f.useMemo(()=>be.filter(j=>j?.future?!1:!j?.day||!G?!0:String(j.day)<=String(G)),[be,G]),{rows:dt,from:vs,to:_s,loading:Ns,refresh:za}=Bl({baseUrl:e,accessToken:ue,guestAllowed:We,period:ce,from:Ce,to:Le,months:24,cacheKey:K,timeZone:_t,tzOffsetMinutes:oe,now:L,sharedRows:Ba?be:null,sharedRange:Ba?{from:Ce,to:Le}:null}),{daily:Lt,heatmap:tt,loading:Ha,refresh:Ua}=Ll({baseUrl:e,accessToken:ue,guestAllowed:We,weeks:52,cacheKey:K,timeZone:ke,tzOffsetMinutes:D,now:L}),{refresh:qa}=nl(),Ve=f.useMemo(()=>ce==="day"?"hour":ce==="total"?"month":"day",[ce]),js=f.useMemo(()=>gr(Ve),[Ve]),yn="day",Ss=f.useMemo(()=>gr(yn),[]),[Ke,Ga]=f.useState(()=>({key:"day",dir:"desc"}));f.useEffect(()=>{Ga(j=>!ma.has(j.key)||j.key===Ve?j:{key:Ve,dir:j.dir})},[Ve]);const $t=f.useMemo(()=>ma.has(Ke.key)&&Ke.key!==Ve?{...Ke,key:Ve}:Ke,[Ve,Ke]),pn=f.useMemo(()=>{if(ce==="day")return Array.isArray(dt)?dt.filter(Z=>Z?.hour&&!Z?.future):[];if(ce==="total"){const Z=Array.isArray(dt)?dt.filter(se=>se?.month&&!se?.future):[];return ic(Z)}const j=Ya;return!j.some(Z=>!Z?.missing&&!Z?.future)&&be.length>0?be.filter(Z=>!Z?.future).slice(-30).filter(Z=>Z?.day):j},[ce,dt,Ya,be]),Jt=f.useMemo(()=>yr(pn,$t),[pn,$t]),Ms=f.useMemo(()=>pn.some(j=>!j?.missing&&!j?.future),[pn]),Wn=f.useMemo(()=>{if(!on.has(ce))return 1;const j=Math.ceil(Jt.length/Cn);return j>0?j:1},[ce,Jt.length]),[Pn,xn]=f.useState(0);f.useEffect(()=>{if(!on.has(ce)){xn(0);return}xn(j=>Math.min(j,Wn-1))},[Wn,ce]),f.useEffect(()=>{on.has(ce)&&xn(0)},[ce,Ke.dir,Ke.key]);const Cs=f.useMemo(()=>on.has(ce)?lc(Jt,Pn,Cn):Jt,[Pn,ce,Jt]),Va=f.useMemo(()=>ct.filter(j=>!j?.future&&j?.day).slice(-30),[ct]),Rt=f.useMemo(()=>ma.has(Ke.key)?{...Ke,key:yn}:Ke,[Ke]),Ds=f.useMemo(()=>yr(Va,Rt),[Va,Rt]),Ts=f.useMemo(()=>gn?be:ce==="day"?Array.isArray(dt)?dt.filter(j=>j?.hour):[]:dt,[be,ce,dt,gn]),As=gn?Ce:vs,Os=gn?Le:_s;function Es(j,V){return j?.future?"—":j?.missing?h("shared.status.unsynced"):V==="total_tokens"?ut(jn(j)):ut(j?.[V])}function Fs(j){const V=j?.[Ve];if(V==null)return"";const Z=String(V);if(Ve==="hour"){const[se,Ee]=Z.split("T");if(se&&Ee)return`${se} ${Ee.slice(0,5)}`}return Z}function Ws(j){const V=j?.[yn];return V==null?"":String(V)}function Ps(j){Ga(V=>V.key===j?{key:j,dir:V.dir==="asc"?"desc":"asc"}:{key:j,dir:"desc"})}function Is(j){return $t.key!==j?"none":$t.dir==="asc"?"ascending":"descending"}function Ls(j){return $t.key!==j?"":$t.dir==="asc"?"▲":"▼"}function $s(j){return Rt.key!==j?"none":Rt.dir==="asc"?"ascending":"descending"}function Rs(j){return Rt.key!==j?"":Rt.dir==="asc"?"▲":"▼"}const In=f.useMemo(()=>{if(!n&&!Me&&!s&&!Ne)return 0;const j=Number(tt?.active_days);if(Number.isFinite(j))return j;let V=0;const Z=new Set,se=(we,De,Fe)=>{typeof we!="string"||!we||Z.has(we)||ha(De,Fe)&&(Z.add(we),V+=1)};if(Array.isArray(Lt))for(const we of Lt)se(we?.day,jn(we));const Ee=Array.isArray(tt?.weeks)?tt.weeks:[];for(const we of Ee)for(const De of Array.isArray(we)?we:[]){const Fe=to(De);se(De?.day,Fe,De?.level)}return V},[n,Me,tt?.active_days,tt?.weeks,Lt]),[Ka,Xa]=f.useState("month"),Bs=f.useCallback(j=>{j==="custom"?(Xa(V=>V==="custom"?"month":V),ne(V=>X&&ge?"custom":V),me(!0)):(ne(j),Xa(j),me(!1))},[X,ge]),Ys=f.useCallback((j,V)=>{pe(j),Se(V),ne("custom"),me(!1)},[]),zs=f.useCallback(j=>{me(j),!j&&q==="custom"&&!X&&ne(Ka)},[q,X,Ka]),Qa=f.useCallback(async()=>{await Promise.all([et(),Ua(),za(),La(),Ra(),Ia(),qa()])},[Ia,Ua,La,Ra,za,et,qa]),Hs=f.useCallback(async()=>{Be(!0);try{Ne&&await tl(),await Qa()}catch(j){console.error("[DashboardPage] Refresh failed:",j)}finally{Be(!1)}},[Ne,Qa]),Us=ve||Nt||Fn||Ha||Ns||xs||ws,qs=f.useMemo(()=>h("shared.data_source",{source:String(lt||"edge").toUpperCase()}),[lt,u]),bn=f.useMemo(()=>typeof t?.name!="string"?"":t.name.trim(),[t?.name]),Gs="",Ja=f.useMemo(()=>!bn||bn.includes("@")?h("dashboard.identity.fallback"):bn,[bn]),Za=f.useMemo(()=>Ja.replace(/[^a-zA-Z0-9._-]/g,"_"),[Ja]),er=f.useMemo(()=>s?h("dashboard.identity.fallback"):Za,[Za,Gs,s]),tr=f.useMemo(()=>{let j=null;const V=se=>{typeof se!="string"||!se||(!j||se<j)&&(j=se)};if(Array.isArray(Lt))for(const se of Lt)se?.day&&ha(jn(se))&&V(se.day);const Z=Array.isArray(tt?.weeks)?tt.weeks:[];for(const se of Z)for(const Ee of Array.isArray(se)?se:[]){if(!Ee?.day)continue;const we=to(Ee),De=Ee?.level;ha(we,De)&&V(Ee.day)}return j},[tt?.weeks,Lt]),Vs=f.useMemo(()=>s?[]:(Array.isArray(E?.subscriptions?.items)?E.subscriptions.items:[]).map(Z=>{const se=typeof Z?.tool=="string"?Z.tool.trim():"",we=(typeof Z?.plan_type=="string"?Z.plan_type:typeof Z?.planType=="string"?Z.planType:"").trim();return!se||!we?null:{tool:se,planType:we,provider:typeof Z?.provider=="string"?Z.provider.trim():"",product:typeof Z?.product=="string"?Z.product.trim():"",rateLimitTier:typeof Z?.rate_limit_tier=="string"?Z.rate_limit_tier.trim():typeof Z?.rateLimitTier=="string"?Z.rateLimitTier.trim():""}}).filter(Boolean).slice(0,6),[s,E]),Ks=o.jsx(wc,{heatmap:tt,timeZoneLabel:yt,timeZoneShortLabel:Je,hideLegend:B,defaultToLatestMonth:B}),Xs=f.useMemo(()=>`${Ce}..${Le}`,[Ce,ce,Le]),Qs=h("usage.summary.total"),St=jn(ae),nr=h("shared.unit.thousand_abbrev"),ar=h("shared.unit.million_abbrev"),rr=h("shared.unit.billion_abbrev"),kn=He(St),or=ie&&kn!=null&&Math.abs(kn)>=1e9,Js=f.useMemo(()=>or?Ue(kn,{thousandSuffix:nr,millionSuffix:ar,billionSuffix:rr,decimals:1}):ut(St),[rr,ar,St,kn,nr,or]),Zs=h("dashboard.core_index.collapse_label"),ei=h("dashboard.core_index.expand_label"),ti=h("dashboard.core_index.collapse_aria"),ni=h("dashboard.core_index.expand_aria"),ai=!B,ri=h("dashboard.screenshot.title_line1"),oi=h("dashboard.screenshot.title_line2"),si=h("dashboard.screenshot.twitter_label"),ii=h("dashboard.screenshot.twitter_button"),li=h("dashboard.screenshot.twitter_hint"),Bt=h("shared.placeholder.short"),Ln=f.useMemo(()=>{const j=Array.isArray(jt?.sources)?jt.sources:[];let V=null,Z=0;for(const De of j){const Fe=Gt(De?.totals);!Number.isFinite(Fe)||Fe<=0||Fe>Z&&(Z=Fe,V=De)}let se=Bt,Ee=Bt,we="0.0";if(V&&Z>0){se=V?.source?String(V.source).toUpperCase():Bt;const De=Array.isArray(V?.models)?V.models:[];let Fe=0;for(const bt of De){const en=Gt(bt?.totals);!Number.isFinite(en)||en<=0||en>Fe&&(Fe=en,Ee=bt?.model?String(bt.model):Bt)}Fe>0&&(we=(Fe/Z*100).toFixed(1))}return{agentName:se,modelName:Ee,modelPercent:we}},[jt,Bt]),sr=ut(St),$n=h("dashboard.screenshot.twitter_text",{total_tokens:sr==="-"?Bt:sr,agent_name:Ln.agentName,model_name:Ln.modelName,model_percent:Ln.modelPercent}),Rn=f.useMemo(()=>{if(typeof window>"u")return"";const j=new URL("https://twitter.com/intent/tweet");return j.searchParams.set("text",$n),j.toString()},[$n]),ir=f.useCallback(async()=>{if(typeof window>"u")return null;const j=async()=>{const De=performance.now();for(;performance.now()-De<2e3;){const Fe=document.querySelector("[data-heatmap-scroll='true']");if(!Fe||Fe.dataset.latestMonthReady==="true")return;await new Promise(bt=>requestAnimationFrame(bt))}},V=document.querySelector("#root")||document.body,Z=document.documentElement,{scrollWidth:se,scrollHeight:Ee}=document.documentElement;Z?.classList.add("screenshot-capture"),document.body?.classList.add("screenshot-capture"),await new Promise(we=>requestAnimationFrame(we)),await j();try{const{toBlob:we,toPng:De}=await mo(async()=>{const{toBlob:Mt,toPng:Ai}=await import("./index-BeoRn2gJ.js");return{toBlob:Mt,toPng:Ai}},[]),Fe=await we(V,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:se,height:Ee,style:{width:`${se}px`,height:`${Ee}px`},filter:Mt=>!(Mt instanceof HTMLElement)||Mt.dataset?.screenshotExclude!=="true"});if(Fe)return Fe;const bt=await De(V,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:se,height:Ee,style:{width:`${se}px`,height:`${Ee}px`},filter:Mt=>!(Mt instanceof HTMLElement)||Mt.dataset?.screenshotExclude!=="true"});return bt?await(await fetch(bt)).blob():null}finally{Z?.classList.remove("screenshot-capture"),document.body?.classList.remove("screenshot-capture")}},[]),ci=f.useCallback(async()=>{if(typeof window>"u"||M)return;U(!0);const j=navigator?.userAgent||"",V=/iP(hone|od|ad)/i.test(j),Z=/Safari/i.test(j)&&!/Chrome|Chromium|Edg|OPR|CriOS|FxiOS/i.test(j),se=typeof navigator<"u"&&!!navigator.clipboard?.write&&typeof window<"u"&&!!window.ClipboardItem;let we=!se||V||Z;try{const De=await ir();De&&se&&(typeof document<"u"&&!document.hasFocus()&&window.focus?.(),we=await ya(De))}catch(De){console.error("Failed to capture screenshot",De)}finally{if(U(!1),!we){console.warn("Failed to write screenshot to clipboard.");return}Rn&&(window.location.href=Rn)}},[ir,M,Rn]),di=f.useMemo(()=>B?[]:fh,[B]),ui=f.useMemo(()=>[{label:h("usage.metric.total"),value:ut(St),valueClassName:"text-white"},{label:h("usage.metric.input"),value:ut(ae?.input_tokens)},{label:h("usage.metric.output"),value:ut(ae?.output_tokens)},{label:h("usage.metric.cached_input"),value:ut(ae?.cached_input_tokens)},{label:h("usage.metric.reasoning_output"),value:ut(ae?.reasoning_output_tokens)}],[ae?.cached_input_tokens,ae?.input_tokens,ae?.output_tokens,ae?.reasoning_output_tokens,St]),Bn=f.useMemo(()=>dn(ae?.total_cost_usd,{currency:m,rate:d}),[ae?.total_cost_usd,m,d]),fi=f.useMemo(()=>ae?.conversation_count??null,[ae?.conversation_count]),lr=f.useMemo(()=>uc(jt,{copyFn:h}),[jt]),cr=f.useMemo(()=>fc(jt,{limit:3,copyFn:h}),[jt]),mi=uh({enabled:I,handle:er,startDate:tr,activeDays:In,summary:ae,topModels:cr,period:ce,periodFrom:Ce,periodTo:Le,heatmap:tt,accessToken:typeof ue=="string"?ue:null,userId:t?.userId||null,currency:m,exchangeRate:d}),hi=f.useCallback(()=>P(!0),[]),gi=f.useCallback(()=>P(!1),[]),yi=f.useCallback(()=>y(!0),[]),pi=f.useCallback(()=>y(!1),[]),xi=Bn&&Bn!=="-"&&lr.length>0,Zt=h("dashboard.install.cmd.init"),Yn=Pe?null:x,zn=Yn?h("dashboard.install.cmd.init_link_code",{link_code:Yn}):Zt,bi=Zt,ki=h("dashboard.install.cmd.sync"),wi=Yn?h("dashboard.install.copy"):h("dashboard.install.copy_base"),vi=h("dashboard.install.copied");h("dashboard.session_expired.copy_label"),h("dashboard.session_expired.copied");const _i=!!(E?.install?.has_active_device_token??E?.install?.hasActiveDeviceToken),Ni=cc({publicMode:s,screenshotMode:B,forceInstall:T,accessEnabled:Oe,heatmapLoading:Ha,activeDays:In,hasActiveDeviceToken:_i}),ji=h("dashboard.install.prompt"),Si=f.useCallback(async()=>{!zn||!await dr(zn)||(H(!0),window.setTimeout(()=>H(!1),2e3))},[zn]);f.useCallback(async()=>{!Zt||!await dr(Zt)||(he(!0),window.setTimeout(()=>he(!1),2e3))},[Zt]);const Hn=f.useMemo(()=>h("dashboard.daily.empty",{cmd:"{{cmd}}"}),[u]),[Mi,Ci]=f.useMemo(()=>{const j=Hn.split("{{cmd}}");return j.length===1?[Hn,""]:[j[0],j.slice(1).join("{{cmd}}")]},[Hn]),Di=a&&!s,Ti=!n&&!Me&&!a&&!Ne&&!s;return o.jsxs(o.Fragment,{children:[o.jsx(Sm,{copy:h,onOpenShare:hi,screenshotMode:B,showExpiredGate:Di,showAuthGate:Ti,screenshotTitleLine1:ri,screenshotTitleLine2:oi,identityDisplayName:er,identityStartDate:tr,activeDays:In,identitySubscriptions:Vs,identityScrambleDurationMs:z,projectUsageEntries:ks,projectUsageLimit:$a,setProjectUsageLimit:bs,topModels:cr,signedIn:n,publicMode:s,isLocalMode:Ne,shouldShowInstall:Ni,installPrompt:ji,handleCopyInstall:Si,installCopied:Y,installCopiedLabel:vi,installCopyLabel:wi,installInitCmdDisplay:bi,linkCodeLoading:w,linkCodeError:S,trendRowsForDisplay:Ts,trendFromForDisplay:As,trendToForDisplay:Os,usageFrom:Ce,usageTo:Le,period:ce,trendTimeZoneLabel:re,activityHeatmapBlock:Ks,isCapturing:M,handleShareToX:ci,screenshotTwitterLabel:si,screenshotTwitterButton:ii,screenshotTwitterHint:li,periodsForDisplay:di,setSelectedPeriod:Bs,customFrom:X,customTo:ge,onCustomRangeApply:Ys,customRangeOpen:Te,onCustomRangeOpenChange:zs,metricsRows:ui,summaryLabel:Qs,summaryValue:Js,summaryTotalTokensRaw:He(St)||0,summaryCostValue:Bn,summaryConversationsValue:fi,rollingUsage:xt,costInfoEnabled:xi,openCostModal:yi,allowBreakdownToggle:ai,coreIndexCollapsed:Q,setCoreIndexCollapsed:fe,coreIndexCollapseLabel:Zs,coreIndexExpandLabel:ei,coreIndexCollapseAria:ti,coreIndexExpandAria:ni,refreshAll:Hs,usageLoadingState:Us,usageError:Ze,rangeLabel:Xs,timeZoneRangeLabel:pt,usageSourceLabel:qs,fleetData:lr,hasDetailsActual:Ms,dailyEmptyPrefix:Mi,installSyncCmd:ki,dailyEmptySuffix:Ci,detailsColumns:js,ariaSortFor:Is,toggleSort:Ps,sortIconFor:Ls,pagedDetails:Cs,dailyBreakdownRows:Ds,dailyBreakdownColumns:Ss,dailyBreakdownAriaSortFor:$s,dailyBreakdownSortIconFor:Rs,dailyBreakdownDateKey:yn,detailsDateKey:Ve,renderDetailDate:Fs,renderDailyBreakdownDate:Ws,renderDetailCell:Es,DETAILS_PAGED_PERIODS:on,detailsPageCount:Wn,detailsPage:Pn,setDetailsPage:xn,costModalOpen:g,closeCostModal:pi}),o.jsx(dh,{open:I,onClose:gi,data:mi,twitterText:$n})]})}export{Ch as DashboardPage};
|