tokentracker-cli 0.30.0 → 0.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.ja.md +3 -1
  2. package/README.ko.md +3 -1
  3. package/README.md +3 -1
  4. package/README.zh-CN.md +3 -1
  5. package/dashboard/dist/assets/{ActivityHeatmap-BzW0rtoR.js → ActivityHeatmap-BjiEMIl2.js} +1 -1
  6. package/dashboard/dist/assets/{Card-wgEcKm5u.js → Card-Nlgzr57Q.js} +1 -1
  7. package/dashboard/dist/assets/DashboardPage-z7rLj1gX.js +19 -0
  8. package/dashboard/dist/assets/{DevicePage-D82cqG-v.js → DevicePage-B1NhBt9Q.js} +1 -1
  9. package/dashboard/dist/assets/DialogTitle-CEBn-oBo.js +12 -0
  10. package/dashboard/dist/assets/FadeIn-Dbk47nhk.js +1 -0
  11. package/dashboard/dist/assets/{HeaderGithubStar-CSBGOKw2.js → HeaderGithubStar-B0OAKXVw.js} +1 -1
  12. package/dashboard/dist/assets/{IpCheckPage-WXEmhuVW.js → IpCheckPage-C0wQLtdK.js} +1 -1
  13. package/dashboard/dist/assets/{LandingPage-ap4xIJva.js → LandingPage-DWSbmVip.js} +2 -2
  14. package/dashboard/dist/assets/{LeaderboardAvatar-CjaHOh8E.js → LeaderboardAvatar-CLMnffKE.js} +1 -1
  15. package/dashboard/dist/assets/LeaderboardPage-CZvefN8H.js +6 -0
  16. package/dashboard/dist/assets/{LeaderboardProfileModal-BX4b5Uqc.js → LeaderboardProfileModal-DasxA8Lo.js} +3 -3
  17. package/dashboard/dist/assets/LeaderboardProfilePage-DJJ7l3Ix.js +1 -0
  18. package/dashboard/dist/assets/LimitsPage-xUmhxOqT.js +2 -0
  19. package/dashboard/dist/assets/{LocalOnlyNotice-D43ZmQJl.js → LocalOnlyNotice-B3uM29rj.js} +1 -1
  20. package/dashboard/dist/assets/{LoginPage-gqSOnPUr.js → LoginPage-BejL6eIO.js} +1 -1
  21. package/dashboard/dist/assets/PopoverPopup-V6vxWbIV.js +1 -0
  22. package/dashboard/dist/assets/SettingsPage-DossFM4s.js +1 -0
  23. package/dashboard/dist/assets/SkillsPage-COwiRUo1.js +1 -0
  24. package/dashboard/dist/assets/WidgetsPage-CtkM_RQn.js +1 -0
  25. package/dashboard/dist/assets/WrappedPage-BpXrsSoG.js +1 -0
  26. package/dashboard/dist/assets/agent-logos-D6Jmq7E1.js +1 -0
  27. package/dashboard/dist/assets/{arrow-up-right-BXWeIpuU.js → arrow-up-right-BS0sCPTz.js} +1 -1
  28. package/dashboard/dist/assets/check-DKwh5hl-.js +1 -0
  29. package/dashboard/dist/assets/{chevron-down-u-JNpncG.js → chevron-down-DyiXbuAL.js} +1 -1
  30. package/dashboard/dist/assets/{download-DvfHniid.js → download-CqDWRO99.js} +1 -1
  31. package/dashboard/dist/assets/{info-BdrJIus6.js → info-DMW1GFmI.js} +1 -1
  32. package/dashboard/dist/assets/main-CjFrTufR.css +1 -0
  33. package/dashboard/dist/assets/main-uqC1VAKB.js +959 -0
  34. package/dashboard/dist/assets/{use-limits-display-prefs-DU4WDeXF.js → use-limits-display-prefs-C04zvO7N.js} +1 -1
  35. package/dashboard/dist/assets/{use-native-settings-CefuRE0t.js → use-native-settings-BvFr6zgZ.js} +1 -1
  36. package/dashboard/dist/assets/{use-usage-limits-BvZsTD3e.js → use-usage-limits-5fwy0xeB.js} +1 -1
  37. package/dashboard/dist/assets/useCurrency-vRzRfd7L.js +1 -0
  38. package/dashboard/dist/index.html +2 -2
  39. package/dashboard/dist/share.html +2 -2
  40. package/package.json +1 -1
  41. package/src/lib/local-api.js +67 -0
  42. package/src/lib/pricing/seed-snapshot.json +1 -1
  43. package/src/lib/skill-usage.js +267 -0
  44. package/src/lib/skills-manager.js +371 -13
  45. package/dashboard/dist/assets/DashboardPage-BH_InuuJ.js +0 -19
  46. package/dashboard/dist/assets/DialogTitle-QumMNQjm.js +0 -12
  47. package/dashboard/dist/assets/FadeIn-B2rj5E5l.js +0 -1
  48. package/dashboard/dist/assets/LeaderboardPage-DN4Sd56j.js +0 -6
  49. package/dashboard/dist/assets/LeaderboardProfilePage-hkIYzooc.js +0 -1
  50. package/dashboard/dist/assets/LimitsPage-BgoAXuwU.js +0 -2
  51. package/dashboard/dist/assets/PopoverPopup-BkMR2-Ij.js +0 -1
  52. package/dashboard/dist/assets/ProviderIcon-No-nxvR1.js +0 -1
  53. package/dashboard/dist/assets/SettingsPage-BVpnWPq9.js +0 -1
  54. package/dashboard/dist/assets/SkillsPage-DnIxIt1d.js +0 -1
  55. package/dashboard/dist/assets/WidgetsPage-DY7qT8jg.js +0 -1
  56. package/dashboard/dist/assets/WrappedPage-BTkoEQPM.js +0 -1
  57. package/dashboard/dist/assets/agent-logos-Dp5LiRgu.js +0 -1
  58. package/dashboard/dist/assets/check-B_JRaxbD.js +0 -1
  59. package/dashboard/dist/assets/main-BojOq9Ae.css +0 -1
  60. package/dashboard/dist/assets/main-DhcQGvkP.js +0 -917
  61. package/dashboard/dist/assets/use-reduced-motion-nzFM1j1r.js +0 -1
  62. package/dashboard/dist/assets/useCurrency-C62kk8HZ.js +0 -1
@@ -0,0 +1,19 @@
1
+ import{c as uo,r as m,g as Bi,i as Nt,a as Yt,b as _t,d as $i,e as fa,f as kn,h as Cr,j as An,k as Yi,l as zi,m as Hi,n as En,o as Rt,p as Kn,q as Ui,t as Ce,s as y,u as o,L as qi,v as Gi,w as Ki,x as Vi,y as Xi,z as Dr,A as be,R as E,X as fo,B as Fn,C as zt,D as ke,E as mo,F as Dn,G as Qi,H as ho,I as go,J as Tr,K as Ji,P as yo,M as Zi,N as Le,O as el,Q as po,S as ma,_ as bo,T as gr,U as tl,V as nl,W as rl,Y as al,Z as ol,$ as sl,a0 as il,a1 as ll,a2 as cl,a3 as dl,a4 as Je,a5 as ha}from"./main-uqC1VAKB.js";import{u as ul}from"./use-usage-limits-5fwy0xeB.js";import{u as Ht}from"./useCurrency-vRzRfd7L.js";import{T as fl,M as ml,A as hl}from"./ActivityHeatmap-BjiEMIl2.js";import{u as gl,D as yl,a as pl,b as bl,c as xl,d as kl,e as wl}from"./DialogTitle-CEBn-oBo.js";import{C as Or}from"./Card-Nlgzr57Q.js";import{u as vl,a as _l,b as Nl,L as Sl,A as jl}from"./agent-logos-D6Jmq7E1.js";import{I as xo}from"./info-DMW1GFmI.js";import{C as ko,P as yr,a as pr,b as br,c as xr,d as kr,L as Ml}from"./PopoverPopup-V6vxWbIV.js";import{F as Ft}from"./FadeIn-Dbk47nhk.js";const Cl=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Dl=uo("chevron-left",Cl);const Tl=[["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"}]],Ol=uo("square-arrow-out-up-right",Tl);function Al({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:r=52,weekStartsOn:a="sun",cacheKey:s,timeZone:l,tzOffsetMinutes:i,now:c}={}){const d=m.useMemo(()=>Bi({weeks:r,weekStartsOn:a,now:c}),[c,r,a]),[u,f]=m.useState([]),[h,g]=m.useState(null),[p,b]=m.useState("edge"),[v,_]=m.useState(!1),[w,x]=m.useState(null),M=Nt(),C=Yt(t),j=!n,I=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=m.useMemo(()=>{if(!s)return null;const W=An({timeZone:l,offsetMinutes:i});return`tokentracker.heatmap.${s}.${r}.${a}.${W}`},[s,l,i,r,a]),A=m.useCallback(()=>{if(!N||typeof window>"u")return null;try{const W=window.localStorage.getItem(N);if(!W)return null;const L=JSON.parse(W);return!L||!L.heatmap?null:L}catch{return null}},[N]),O=m.useCallback(W=>{if(!(!N||typeof window>"u"))try{window.localStorage.setItem(N,JSON.stringify(W))}catch{}},[N]),F=m.useCallback(()=>{if(!(!N||typeof window>"u"))try{window.localStorage.removeItem(N)}catch{}},[N]),V=m.useCallback(async()=>{const W=await _t(t);if(!(!W&&!M&&!I)){_(!0),x(null);try{try{const R=await $i({baseUrl:e,accessToken:W,weeks:r,to:d.to,weekStartsOn:a,timeZone:l,tzOffsetMinutes:i}),k=Array.isArray(R?.weeks)?R.weeks:[];if(!k.length&&j){const B=A();if(B?.heatmap){g(B.heatmap),f(B.daily||[]),b("cache");return}}if(!k.some(B=>(Array.isArray(B)?B:[]).some(Z=>Z&&Number.isFinite(Number(Z.level))))&&k.length){const B=[];for(const $ of k)for(const z of Array.isArray($)?$:[])z?.day&&B.push({day:z.day,total_tokens:z.total_tokens??z.value??0,billable_total_tokens:z.billable_total_tokens??z.value??z.total_tokens??0});const Z=fa({dailyRows:B,weeks:r,to:R?.to||d.to,weekStartsOn:a});f(B),g({...Z,week_starts_on:a,active_days:B.filter($=>Number($?.billable_total_tokens??$?.total_tokens)>0).length,streak_days:kn({dailyRows:B,to:R?.to||d.to})}),b("client"),j?O({heatmap:{...Z,week_starts_on:a,active_days:B.filter($=>Number($?.billable_total_tokens??$?.total_tokens)>0).length,streak_days:kn({dailyRows:B,to:R?.to||d.to})},daily:B,fetchedAt:new Date().toISOString()}):F();return}g(R||null),f([]),b("edge"),R&&j?O({heatmap:R,daily:[],fetchedAt:new Date().toISOString()}):j||F();return}catch(R){const k=R,P=k?.status??k?.statusCode;if(P===401||P===403)throw R}const L=await Cr({baseUrl:e,accessToken:W,from:d.from,to:d.to,timeZone:l,tzOffsetMinutes:i}),D=Array.isArray(L?.data)?L.data:[];f(D);const q=fa({dailyRows:D,weeks:r,to:d.to,weekStartsOn:a});g({...q,week_starts_on:a,active_days:D.filter(R=>Number(R?.billable_total_tokens??R?.total_tokens)>0).length,streak_days:kn({dailyRows:D,to:d.to})}),b("client"),j?O({heatmap:{...q,week_starts_on:a,active_days:D.filter(R=>Number(R?.billable_total_tokens??R?.total_tokens)>0).length,streak_days:kn({dailyRows:D,to:d.to})},daily:D,fetchedAt:new Date().toISOString()}):F()}catch(L){if(j){const D=A();if(D?.heatmap)g(D.heatmap),f(D.daily||[]),b("cache"),x(null);else{const q=L;x(q?.message||String(q)),f([]),g(null),b("edge")}}else{const D=L;x(D?.message||String(D)),f([]),g(null),b("edge")}}finally{_(!1)}}},[t,e,M,n,j,d.from,d.to,A,C,l,i,a,r,F,O,I]);return m.useEffect(()=>{if(!C&&!n&&!M&&!I){f([]),_(!1),x(null),g(null),b("edge");return}if(!j)F(),f([]),x(null),g(null),b("edge");else{const W=A();W?.heatmap&&(g(W.heatmap),f(W.daily||[]),b("cache"))}V()},[t,M,A,V,C,n,j,F,I]),{range:d,daily:u,heatmap:h,source:M?"mock":p==="client"?"edge":p,loading:v,error:w,refresh:V}}function El({baseUrl:e,accessToken:t,limit:n=3,from:r,to:a,source:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,d]=m.useState([]),[u,f]=m.useState(!1),[h,g]=m.useState(null),p=Nt(),b=Yt(t),v=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),_=m.useCallback(async()=>{const w=await _t(t);if(!w&&!p&&!v){d([]),g(null),f(!1);return}f(!0),g(null);try{const x=await Yi({baseUrl:e,accessToken:w,limit:n,from:r,to:a,source:s,timeZone:l,tzOffsetMinutes:i});d(Array.isArray(x?.entries)?x.entries:[])}catch(x){const M=x?.message||String(x);g(M),d([])}finally{f(!1)}},[t,e,r,n,p,s,l,a,i,v]);return m.useEffect(()=>{if(!b&&!p&&!v){d([]),g(null),f(!1);return}_()},[p,_,b,v]),{entries:c,loading:u,error:h,refresh:_}}const Fl=24;function wo({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:a,to:s,months:l=Fl,cacheKey:i,timeZone:c,tzOffsetMinutes:d,now:u,sharedRows:f,sharedRange:h}={}){const[g,p]=m.useState([]),[b,v]=m.useState(()=>({from:a,to:s})),[_,w]=m.useState("edge"),[x,M]=m.useState(null),[C,j]=m.useState(!1),[I,N]=m.useState(null),A=Nt(),O=Yt(t),F=!n&&!A,V=Array.isArray(f),T=h?.from||a,W=h?.to||s,L=m.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),D=(()=>{if(!i)return null;const $=Wl(e)||"default",z=An({timeZone:c,offsetMinutes:d});if(L==="hourly")return`tokentracker.trend.${i}.${$}.hourly.${s||a||"day"}.${z}`;if(L==="monthly")return`tokentracker.trend.${i}.${$}.monthly.${l}.${s||"today"}.${z}`;const J=`${a||""}.${s||""}`;return`tokentracker.trend.${i}.${$}.daily.${J}.${z}`})(),q=m.useCallback(()=>{if(!D||typeof window>"u")return null;try{const $=window.localStorage.getItem(D);if(!$)return null;const z=JSON.parse($);return!z||!Array.isArray(z.rows)?null:z}catch{return null}},[D]),R=m.useCallback($=>{if(!(!D||typeof window>"u"))try{window.localStorage.setItem(D,JSON.stringify($))}catch{}},[D]),k=m.useCallback(()=>{if(!(!D||typeof window>"u"))try{window.localStorage.removeItem(D)}catch{}},[D]),P=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),B=m.useCallback(async()=>{if(V){p(Array.isArray(f)?f:[]),v({from:T,to:W}),w("shared"),M(null),j(!1),N(null);return}const $=await _t(t);if(!(!$&&!A&&!P)){j(!0),N(null);try{let z;L==="hourly"?z=await zi({baseUrl:e,accessToken:$,day:s||a,timeZone:c,tzOffsetMinutes:d}):L==="monthly"?z=await Hi({baseUrl:e,accessToken:$,months:l,to:s,timeZone:c,tzOffsetMinutes:d}):z=await Cr({baseUrl:e,accessToken:$,from:a,to:s,timeZone:c,tzOffsetMinutes:d});const J=z?.from||a||z?.day||null,ne=z?.to||s||z?.day||null;let se=Array.isArray(z?.data)?z.data:[];L==="daily"?se=Vn(se,J||a,ne||s,{timeZone:c,offsetMinutes:d,now:u}):L==="hourly"?(se=Xn(se,J||a||z?.day,{timeZone:c,offsetMinutes:d,now:u}),se=Qn(se,{timeZone:c,offsetMinutes:d,now:u})):L==="monthly"&&(se=Jn(se,{timeZone:c,offsetMinutes:d,now:u}));const Ae=new Date().toISOString();p(se),v({from:J,to:ne}),w("edge"),M(Ae),F?R({rows:se,from:J,to:ne,mode:L,fetchedAt:Ae}):k()}catch(z){if(F){const J=q();if(J?.rows){let ne=L==="daily"?Vn(J.rows||[],J.from||a,J.to||s,{timeZone:c,offsetMinutes:d,now:u}):L==="hourly"?Xn(J.rows||[],J.from||a||J.day||s,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(J.rows)?J.rows:[];L==="hourly"?ne=Qn(ne,{timeZone:c,offsetMinutes:d,now:u}):L==="monthly"&&(ne=Jn(ne,{timeZone:c,offsetMinutes:d,now:u})),p(ne),v({from:J.from||a,to:J.to||s}),w("cache"),M(J.fetchedAt||null),N(null)}else{p([]),v({from:a,to:s}),w("edge"),M(null);const ne=z;N(ne?.message||String(ne))}}else{p([]),v({from:a,to:s}),w("edge"),M(null);const J=z;N(J?.message||String(J))}}finally{j(!1)}}},[t,e,a,A,n,F,L,l,q,O,V,T,f,W,c,s,d,u,k,R,P]);m.useEffect(()=>{if(V){p(Array.isArray(f)?f:[]),v({from:T,to:W}),w("shared"),M(null),j(!1),N(null);return}if(!O&&!n&&!A&&!P){p([]),v({from:a,to:s}),N(null),j(!1),w("edge"),M(null);return}if(!F)k(),p([]),v({from:a,to:s}),N(null),w("edge"),M(null);else{const $=q();if($?.rows){let z=L==="daily"?Vn($.rows||[],$.from||a,$.to||s,{timeZone:c,offsetMinutes:d,now:u}):L==="hourly"?Xn($.rows||[],$.from||a||$.day||s,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray($.rows)?$.rows:[];L==="hourly"?z=Qn(z,{timeZone:c,offsetMinutes:d,now:u}):L==="monthly"&&(z=Jn(z,{timeZone:c,offsetMinutes:d,now:u})),p(z),v({from:$.from||a,to:$.to||s}),w("cache"),M($.fetchedAt||null)}}B()},[t,A,q,B,V,T,f,W,O,n,F,k,P]);const Z=A?"mock":_;return{rows:g,from:b.from||a,to:b.to||s,source:Z,fetchedAt:x,loading:C,error:I,refresh:B}}function Wl(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 r=Number(n[0]),a=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(r,a,s));return Number.isFinite(l.getTime())&&Rt(l)===t?l:null}function vo(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}const _o=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","conversation_count"];function Vn(e,t,n,{timeZone:r,offsetMinutes:a,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,d=En({timeZone:r,offsetMinutes:a,date:c}),u=jn(d),f=u?u.getTime():c.getTime(),h=new Map;for(const p of e||[])p?.day&&h.set(p.day,p);const g=[];for(let p=l;p<=i;p=vo(p,1)){const b=Rt(p),v=h.get(b),_=p.getTime()>f;if(v){g.push({...v,missing:!1,future:_});continue}g.push({day:b,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!_,future:_})}return g}function Il(e,t){const n=t?null:0;return{hour:e,total_tokens:n,billable_total_tokens:n,input_tokens:n,cached_input_tokens:n,cache_creation_input_tokens:n,output_tokens:n,reasoning_output_tokens:n,conversation_count:n,missing:!1,future:t}}function Pl(e){if(!e||typeof e!="object")return!1;const t=e.models;return t&&typeof t=="object"&&Object.keys(t).length>0?!1:_o.every(n=>e[n]==null)}function Ll(e,t,n){const r={...e,hour:t,missing:!1,future:n};if(!n&&Pl(e))for(const a of _o)r[a]=0;return r}function Rl(e,t){const n=t===30?48:24,r=[];for(let a=0;a<n;a++){const s=Math.floor(a*t/60),l=a*t%60;r.push(`${e}T${String(s).padStart(2,"0")}:${String(l).padStart(2,"0")}:00`)}return r}function Bl(e,t,{timeZone:n,offsetMinutes:r}={}){const a=Rl(e,t);if(!n||typeof Intl>"u"||!Intl.DateTimeFormat)return a;const s=jn(e);if(!s)return a;const l=s.getUTCFullYear()*1e4+(s.getUTCMonth()+1)*100+s.getUTCDate(),i=s.getTime()-2160*60*1e3,c=vo(s,2).getTime()+2160*60*1e3,d=[],u=new Set;for(let f=i;f<=c;f+=1800*1e3){const h=Wn({timeZone:n,offsetMinutes:r,now:new Date(f)});if(!h||h.dayNum!==l||t===60&&h.minute!==0||t===30&&h.minute!==0&&h.minute!==30)continue;const g=`${e}T${String(h.hour).padStart(2,"0")}:${String(h.minute).padStart(2,"0")}:00`;u.has(g)||(u.add(g),d.push(g))}return d.length>0?d:a}function Xn(e,t,{timeZone:n,offsetMinutes:r,now:a}={}){if(!t)return Array.isArray(e)?e:[];const s=t.trim().slice(0,10),l=Wn({timeZone:n,offsetMinutes:r,now:a}),i=l?l.dayNum:void 0;let c=!1;for(const g of e||[]){const p=g?.hour||g?.label||"",b=Mn(p,i);if(b&&b.slot%2!==0){c=!0;break}}const d=c?30:60,u=new Map;for(const g of e||[]){const p=g?.hour||g?.label||"",b=Mn(p,i);b&&u.set(b.slot,g)}const f=[],h=Bl(s,d,{timeZone:n,offsetMinutes:r});for(let g=0;g<h.length;g++){const p=h[g],b=Mn(p,i),v=b?b.slot:c?g:g*2,_=u.get(v);let w=!1;if(l){const x=l.year*1e4+l.month*100+l.day,M=b?.dayNum??Number(s.replace(/-/g,""));if(M>x)w=!0;else if(M===x){const C=l.hour*2+(l.minute>=30?1:0);w=v>C}}_?f.push(Ll(_,p,w)):f.push(Il(p,w))}return f}function Qn(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=Wn({timeZone:t,offsetMinutes:n,now:r});return a?e.map(s=>{const l=s?.hour||s?.label||"",i=Mn(l,a.dayNum);if(!i)return{...s,future:!1};const c=i.dayNum!==null&&i.dayNum>a.dayNum||(i.dayNum===null||i.dayNum===a.dayNum)&&i.slot>a.slot;return{...s,future:!!c}}):e}function Jn(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=Wn({timeZone:t,offsetMinutes:n,now:r});return a?e.map(s=>{const l=s?.month||s?.label||"",i=$l(l);if(!i)return{...s,future:!1};const c=i.year>a.year||i.year===a.year&&i.month>a.month;return{...s,future:c}}):e}function Wn({timeZone:e,offsetMinutes:t,now:n}={}){const r=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const h=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(r).reduce((w,x)=>(x.type&&x.value&&(w[x.type]=x.value),w),{}),g=Number(h.year),p=Number(h.month),b=Number(h.day),v=Number(h.hour),_=Number(h.minute);if(Number.isFinite(g)&&Number.isFinite(p)&&Number.isFinite(b)&&Number.isFinite(v)&&Number.isFinite(_)){const w=v*2+(_>=30?1:0);return{year:g,month:p,day:b,hour:v,minute:_,dayNum:g*1e4+p*100+b,slot:w}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),f=u.getUTCFullYear(),h=u.getUTCMonth()+1,g=u.getUTCDate(),p=u.getUTCHours(),b=u.getUTCMinutes(),v=p*2+(b>=30?1:0);return{year:f,month:h,day:g,hour:p,minute:b,dayNum:f*1e4+h*100+g,slot:v}}const a=r.getFullYear(),s=r.getMonth()+1,l=r.getDate(),i=r.getHours(),c=r.getMinutes(),d=i*2+(c>=30?1:0);return{year:a,month:s,day:l,hour:i,minute:c,dayNum:a*1e4+s*100+l,slot:d}}function Mn(e,t){if(!e)return null;const n=String(e).trim();if(n.includes("T")){const[r,a]=n.split("T");if(!r||!a)return null;const s=r.split("-");if(s.length!==3)return null;const l=Number(s[0]),i=Number(s[1]),c=Number(s[2]);if(!Number.isFinite(l)||!Number.isFinite(i)||!Number.isFinite(c))return null;const d=a.split(":"),u=Number(d[0]),f=Number(d[1]);if(!Number.isFinite(u)||u<0||u>23||!Number.isFinite(f)||f<0||f>59)return null;const h=u*2+(f>=30?1:0);return{dayNum:l*1e4+i*100+c,slot:h}}else{let r=NaN,a=0;if(/^\d{1,2}$/.test(n))r=Number(n);else if(/^\d{1,2}:\d{2}(:\d{2})?$/.test(n)){const l=n.split(":");r=Number(l[0]),a=Number(l[1])}if(!Number.isFinite(r)||r<0||r>23||!Number.isFinite(a)||a<0||a>59)return null;const s=r*2+(a>=30?1:0);return{dayNum:t||null,slot:s}}}function $l(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const r=Number(n[0]),a=Number(n[1]);return!Number.isFinite(r)||!Number.isFinite(a)||a<1||a>12?null:{year:r,month:a}}function ga({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:r,to:a,includeDaily:s=!0,cacheKey:l,timeZone:i,tzOffsetMinutes:c,now:d}={}){const[u,f]=m.useState([]),[h,g]=m.useState(null),[p,b]=m.useState(null),[v,_]=m.useState("edge"),[w,x]=m.useState(null),[M,C]=m.useState(!1),[j,I]=m.useState(null),N=Nt(),A=Yt(t),O=!n&&!N,F=(()=>{if(!l)return null;const R=Yl(e)||"default",k=s?"daily":"summary",P=An({timeZone:i,offsetMinutes:c});return`tokentracker.usage.${l}.${R}.${r}.${a}.${k}.${P}`})(),V=m.useCallback(()=>{if(!F||typeof window>"u")return null;try{const R=window.localStorage.getItem(F);if(!R)return null;const k=JSON.parse(R);return!k||!k.summary?null:k}catch{return null}},[F]),T=m.useCallback(R=>{if(!(!F||typeof window>"u"))try{window.localStorage.setItem(F,JSON.stringify(R))}catch{}},[F]),W=m.useCallback(()=>{if(!(!F||typeof window>"u"))try{window.localStorage.removeItem(F)}catch{}},[F]),L=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),D=m.useCallback(async()=>{const R=await _t(t);if(!(!R&&!N&&!L)){C(!0),I(null);try{let k=null,P=null;if(s){const[J,ne]=await Promise.allSettled([Cr({baseUrl:e,accessToken:R,from:r,to:a,timeZone:i,tzOffsetMinutes:c}),Kn({baseUrl:e,accessToken:R,from:r,to:a,timeZone:i,tzOffsetMinutes:c,rolling:!0})]);if(J.status==="rejected")throw J.reason;k=J.value,P=ne.status==="fulfilled"?ne.value:null}else P=await Kn({baseUrl:e,accessToken:R,from:r,to:a,timeZone:i,tzOffsetMinutes:c,rolling:!0});let B=s&&Array.isArray(k?.data)?k.data:[];s&&(B=er(B,r,a,{timeZone:i,offsetMinutes:c,now:d}));let Z=P?.totals||k?.summary?.totals||null,$=P?.rolling||k?.summary?.rolling||null;if(s&&!Z&&!P)try{const J=await Kn({baseUrl:e,accessToken:R,from:r,to:a,timeZone:i,tzOffsetMinutes:c,rolling:!0});Z=J?.totals||null,$=J?.rolling||$}catch{}const z=new Date().toISOString();f(B),g(Z),b($),_("edge"),x(z),Z&&O?T({summary:Z,rolling:$,daily:B,from:r,to:a,includeDaily:s,fetchedAt:z}):O||W()}catch(k){if(O){const P=V();if(P?.summary){g(P.summary),b(P.rolling||null);const B=Array.isArray(P.daily)?P.daily:[],Z=s?er(B,P.from||r,P.to||a,{timeZone:i,offsetMinutes:c,now:d}):B;f(Z),_("cache"),x(P.fetchedAt||null),I(null)}else{const B=k;I(B?.message||String(B)),f([]),g(null),b(null),_("edge"),x(null)}}else{const P=k;I(P?.message||String(P)),f([]),g(null),b(null),_("edge"),x(null)}}finally{C(!1)}}},[t,e,r,s,N,n,O,d,V,A,i,a,c,W,T,L]);return m.useEffect(()=>{const R=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!A&&!n&&!N&&!R){f([]),g(null),b(null),I(null),C(!1),_("edge"),x(null);return}if(!O)W(),f([]),g(null),b(null),I(null),_("edge"),x(null);else{const k=V();if(k?.summary){g(k.summary),b(k.rolling||null);const P=Array.isArray(k.daily)?k.daily:[],B=s?er(P,k.from||r,k.to||a,{timeZone:i,offsetMinutes:c,now:d}):P;f(B),_("cache"),x(k.fetchedAt||null)}}D()},[t,N,V,D,A,n,O,W,L]),{daily:u,summary:h,rolling:p,source:N?"mock":v,fetchedAt:w,loading:M,error:j,refresh:D}}function Yl(e){try{return new URL(e).host}catch{return null}}function Zn(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const r=Number(n[0]),a=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(r,a,s));return Number.isFinite(l.getTime())&&Rt(l)===t?l:null}function zl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function er(e,t,n,{timeZone:r,offsetMinutes:a,now:s}={}){const l=Zn(t),i=Zn(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,d=En({timeZone:r,offsetMinutes:a,date:c}),u=Zn(d),f=u?u.getTime():c.getTime(),h=new Map;for(const p of e||[])p?.day&&h.set(p.day,p);const g=[];for(let p=l;p<=i;p=zl(p,1)){const b=Rt(p),v=h.get(b),_=p.getTime()>f;if(v){g.push({...v,missing:!1,future:_});continue}g.push({day:b,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!_,future:_})}return g}function Hl({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:r,to:a,cacheKey:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,d]=m.useState(null),[u,f]=m.useState("edge"),[h,g]=m.useState(!1),[p,b]=m.useState(null),v=Nt(),_=Yt(t),w=!n,x=m.useMemo(()=>{if(!s)return null;const O=Ul(e)||"default",F=An({timeZone:l,offsetMinutes:i});return`tokentracker.modelBreakdown.${s}.${O}.${r}.${a}.${F}`},[e,s,r,l,a,i]),M=m.useCallback(()=>{if(!x||typeof window>"u")return null;try{const O=window.localStorage.getItem(x);if(!O)return null;const F=JSON.parse(O);return!F||!F.breakdown?null:F}catch{return null}},[x]),C=m.useCallback(O=>{if(!(!x||typeof window>"u"))try{window.localStorage.setItem(x,JSON.stringify(O))}catch{}},[x]),j=m.useCallback(()=>{if(!(!x||typeof window>"u"))try{window.localStorage.removeItem(x)}catch{}},[x]),I=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=m.useCallback(async()=>{const O=await _t(t);if(!(!O&&!v&&!I)){g(!0),b(null);try{const F=await Ui({baseUrl:e,accessToken:O,from:r,to:a,timeZone:l,tzOffsetMinutes:i});d(F||null),f("edge"),F&&w?C({breakdown:F,fetchedAt:new Date().toISOString()}):w||j()}catch(F){if(w){const V=M();if(V?.breakdown)d(V.breakdown),f("cache"),b(null);else{d(null),f("edge");const T=F;b(T?.message||String(T))}}else{d(null),f("edge");const V=F;b(V?.message||String(V))}}finally{g(!1)}}},[t,e,r,v,n,w,M,l,a,_,i,j,C,I]);return m.useEffect(()=>{if(!_&&!n&&!v&&!I){d(null),f("edge"),b(null),g(!1);return}if(!w)j(),d(null),f("edge"),b(null);else{const O=M();O?.breakdown&&(d(O.breakdown),f("cache"))}N()},[t,v,M,N,_,n,w,j,I]),{breakdown:c,source:v?"mock":u,loading:h,error:p,refresh:N}}function Ul(e){try{return new URL(e).host}catch{return null}}const No=new Set(["day","hour","month"]);function ql(e){return No.has(e)}function ya(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 Gl(e,t){const n=ya(e),r=ya(t);if(n&&r)return n.length!==r.length?n.length<r.length?-1:1:n===r?0:n<r?-1:1;const a=Ce(e),s=Ce(t);return a==null&&s==null?0:a==null?1:s==null?-1:a===s?0:a<s?-1:1}function Kl(e,t){const n=typeof e=="string"?e:String(e||""),r=typeof t=="string"?t:String(t||"");return n===r?0:n<r?-1:1}function Vl(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const r=Number(n[1]),a=Number(n[2]),s=Number(n[3]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(r,a-1,s));return!Number.isFinite(l.getTime())||l.getUTCFullYear()!==r||l.getUTCMonth()+1!==a||l.getUTCDate()!==s?null:l.getTime()}function Xl(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const r=Number(n[1]),a=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||a<1||a>12)return null;const s=new Date(Date.UTC(r,a-1,1));return Number.isFinite(s.getTime())?s.getTime():null}function Ql(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 r=Number(n[1]),a=Number(n[2]),s=Number(n[3]),l=Number(n[4]),i=Number(n[5]),c=Number(n[6]||0);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(i)||!Number.isFinite(c)||a<1||a>12||s<1||s>31||l<0||l>23||i<0||i>59||c<0||c>59)return null;const d=new Date(Date.UTC(r,a-1,s,l,i,c));return Number.isFinite(d.getTime())?d.getTime():null}function Jl(e,t,n){const r=n==="hour"?Ql:n==="month"?Xl:Vl,a=r(e),s=r(t);return a!=null&&s!=null?a===s?0:a<s?-1:1:Kl(e,t)}function So(e,{key:t,dir:n}){const r=n==="asc"?1:-1,a=Array.isArray(e)?e:[],s=No.has(t)?(i,c)=>Jl(i,c,t):Gl,l=i=>t==="total_tokens"&&i?.billable_total_tokens!=null?i.billable_total_tokens:i?.[t];return a.map((i,c)=>({row:i,index:c})).sort((i,c)=>{const d=l(i.row),u=l(c.row),f=d==null,h=u==null;if(f&&h)return i.index-c.index;if(f)return 1;if(h)return-1;const g=s(d,u);return g!==0?g*r:i.index-c.index}).map(i=>i.row)}function Zl(){return[{key:"day",label:y("daily.sort.date.label"),title:y("daily.sort.date.title")},{key:"total_tokens",label:y("daily.sort.total.label"),title:y("daily.sort.total.title")},{key:"input_tokens",label:y("daily.sort.input.label"),title:y("daily.sort.input.title")},{key:"output_tokens",label:y("daily.sort.output.label"),title:y("daily.sort.output.title")},{key:"cached_input_tokens",label:y("daily.sort.cached.label"),title:y("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:y("daily.sort.reasoning.label"),title:y("daily.sort.reasoning.title")},{key:"conversation_count",label:y("daily.sort.conversations.label"),title:y("daily.sort.conversations.title")}]}function pa(e){const t=ql(e)?e:"day";return Zl().map((n,r)=>r===0?{...n,key:t}:n)}function ba(e,{key:t,dir:n}){return So(e,{key:t,dir:n})}const Tn=12,ec=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens"];function tc(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 nc(e){return ec.some(t=>tc(e?.[t]))}function rc(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=So(t,{key:"month",dir:"asc"}),r=n.findIndex(a=>a?.month&&nc(a));return r===-1?t:n.slice(r)}function ac(e,t,n=Tn){const r=Array.isArray(e)?e:[],a=Number.isFinite(n)&&n>0?n:Tn,l=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*a;return r.slice(l,l+a)}function oc({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:r,heatmapLoading:a,activeDays:s,hasActiveDeviceToken:l}={}){return e||t?!1:n?!0:r&&!a&&s===0&&!l}function jo(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function sc(e){const t=jo(e?.model_id);return t||null}function Mo(e,t){return e?.model?String(e.model):t}function Bt(e,t=0){const n=Ce(e?.billable_total_tokens),r=Ce(e?.total_tokens);return n!=null&&n>0?n:r!=null&&r>0?r:n??r??t}function ic(e,{copyFn:t}={}){const n=typeof t=="function"?t:l=>l,a=(Array.isArray(e?.sources)?e.sources:[]).map(l=>{const i=Bt(l?.totals),c=Ce(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(!a.length)return[];const s=a.reduce((l,i)=>l+i.totalTokens,0);return typeof e?.pricing?.pricing_mode=="string"&&e.pricing.pricing_mode.toUpperCase(),a.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,d=Number.isFinite(c)?c.toFixed(1):"0.0",u=l.models.map(f=>{const h=Bt(f?.totals);if(!Number.isFinite(h)||h<=0)return null;const g=l.totalTokens>0?Math.round(h/l.totalTokens*1e3)/10:0,p=Mo(f,n("shared.placeholder.short")),b=sc(f),v=Ce(f?.totals?.total_cost_usd),_=v??(l.totalCost>0&&l.totalTokens>0?h/l.totalTokens*l.totalCost:null);return{id:b,name:p,share:g,usage:h,cost:_}}).filter(Boolean);return{source:l.source,label:i,totalPercent:String(d),usd:l.totalCost,usage:l.totalTokens,models:u}})}function lc(e,{limit:t=3,copyFn:n}={}){const r=typeof n=="function"?n:h=>h,a=Array.isArray(e?.sources)?e.sources:[];if(!a.length)return[];const s=new Map,l=new Map,i=new Map;let c=0;for(const h of a){const g=Array.isArray(h?.models)?h.models:[];for(const p of g){const b=Bt(p?.totals);if(!Number.isFinite(b)||b<=0)continue;c+=b;const v=Mo(p,r("shared.placeholder.short")),_=jo(v);if(!_)continue;s.set(_,(s.get(_)||0)+b);const w=i.get(_)||0;b>=w&&(i.set(_,b),l.set(_,v))}}if(!s.size)return[];const d=Array.from(s.values()).reduce((h,g)=>h+g,0),u=c>0?c:d,f=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(s.entries()).map(([h,g])=>{const p=u>0?(g/u*100).toFixed(1):"0.0";return{id:h,name:l.get(h)||r("shared.placeholder.short"),tokens:g,percent:String(p)}}).sort((h,g)=>g.tokens!==h.tokens?g.tokens-h.tokens:String(h.name).localeCompare(String(g.name))).slice(0,f)}function cc(){return o.jsxs(qi,{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 dc({children:e,header:t,footer:n,className:r="",hideHeader:a=!1,hideFooter:s=!1,bare:l=!1}){return l?o.jsxs("div",{className:`flex flex-col flex-1 min-h-0 ${r}`,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 ${r}`,children:[!a&&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(cc,{}),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 uc({children:e,variant:t="info",size:n="md",className:r=""}){const a="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=`${a} ${s[t]} ${l[n]} ${r}`.trim();return o.jsx("span",{className:i,children:e})}const fc=m.forwardRef(function(t,n){const{render:r,className:a,disabled:s=!1,nativeButton:l=!0,...i}=t,{store:c}=gl(),d=c.useState("open");function u(p){d&&c.setOpen(!1,Vi(Xi,p.nativeEvent))}const{getButtonProps:f,buttonRef:h}=Gi({disabled:s,native:l}),g=m.useMemo(()=>({disabled:s}),[s]);return Ki("button",t,{state:g,ref:[n,h],props:[{onClick:u},i,f]})});var mc={};function hc(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 gc({mv:e,digit:t,height:n}){const r=Nl(e,a=>{const s=(a%10+10)%10,l=(10+t-s)%10;let i=l*n;return l>5&&(i-=10*n),i});return o.jsx(be.span,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",y:r},children:t})}function yc(e){const t=Math.round(e),n=1e-9*Math.max(1,Math.abs(e));return Math.abs(e-t)<n?t:e}function pc(e,t){const n=e/t;return Math.floor(yc(n))}function bc(e){const t=String(e??""),n=Array.from(t),r=n.indexOf(".");let a=n.filter((i,c)=>/\d/.test(i)&&(r===-1||c<r)).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(a-1,0);return a-=1,c}return s+=1,10**-s})}function xc({place:e,value:t,height:n,digitStyle:r,shouldReduceMotion:a}){if(typeof e!="number"){const c=hc(e,n);return o.jsx("span",{"data-counter-token":"static",className:"relative inline-flex items-center justify-center",style:{height:n,...c,...r},children:e})}const s=pc(t,e),l=vl(0),i=_l(l,{stiffness:220,damping:26,mass:.8});return m.useEffect(()=>{l.set(s)},[l,s]),a?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",...r},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",...r},children:Array.from({length:10},(c,d)=>o.jsx(gc,{mv:i,digit:d,height:n},d))})}function kc({value:e,displayValue:t,fontSize:n=72,padding:r=0,places:a,gap:s=6,borderRadius:l=4,horizontalPadding:i=0,textColor:c="inherit",fontWeight:d="inherit",containerStyle:u,counterStyle:f,digitStyle:h,gradientHeight:g=14,gradientFrom:p="rgba(255,255,255,0.95)",gradientTo:b="rgba(255,255,255,0)",topGradientStyle:v,bottomGradientStyle:_}){const w=String(t??e??""),x=m.useMemo(()=>Array.isArray(a)&&a.length?a:bc(w),[a,w]),M=typeof navigator<"u"&&/jsdom/i.test(navigator.userAgent||"")||typeof process<"u"&&mc?.VITEST==="true",C=Dr()||M,j=Number.isFinite(Number(e))?Math.abs(Number(e)):0,I=n+r;return C?o.jsx("span",{"data-counter-root":"true",style:{display:"inline-flex",alignItems:"center",color:c,fontSize:n,fontWeight:d,lineHeight:1,...u,...f},children:w}):o.jsxs("span",{"data-counter-root":"true",style:{position:"relative",display:"inline-block",...u},children:[o.jsx("span",{style:{fontSize:n,display:"flex",gap:s,overflow:"hidden",borderRadius:l,paddingLeft:i,paddingRight:i,lineHeight:1,color:c,fontWeight:d,...f},children:x.map((N,A)=>o.jsx(xc,{place:N,value:j,height:I,digitStyle:h,shouldReduceMotion:C},`${String(N)}-${A}`))}),o.jsxs("span",{style:{pointerEvents:"none",position:"absolute",inset:0,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx("span",{style:v??{height:g,background:`linear-gradient(to bottom, ${p}, ${b})`}}),o.jsx("span",{style:_??{height:g,background:`linear-gradient(to top, ${p}, ${b})`}})]})]})}function wc(e,t,n){if(!Number.isFinite(e))return y("shared.placeholder.short");const r=zt(e,{decimals:2,currency:t,rate:n});return r==="-"?y("shared.placeholder.short"):r}function xa(e,t,n){if(!Number.isFinite(e)||e<=0)return null;const r=Fn(t);return(t===mo?e:e*n)<.01?`<${r}0.01`:zt(e,{decimals:2,currency:t,rate:n})}function ka(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:ke(t,{decimals:1})}const vc=E.memo(function({isOpen:t,onClose:n,fleetData:r=[]}){const{currency:a,rate:s}=Ht(),l=m.useMemo(()=>(Array.isArray(r)?r:[]).map(c=>{const d=Ce(c?.usd)??0,u=Ce(c?.usage)??0,f=Array.isArray(c?.models)?c.models:[];return{label:c?.label?String(c.label):"",usdValue:d,costLabel:xa(d,a,s),tokensLabel:ka(u),models:f.map(h=>{const g=Ce(h?.usage)??0,p=Ce(h?.cost)??0;return{id:h?.id?String(h.id):"",name:h?.name?String(h.name):"",tokensLabel:ka(g),costLabel:xa(p,a,s),sortCost:p}}).filter(h=>h.costLabel||h.tokensLabel).sort((h,g)=>g.sortCost-h.sortCost)}}).filter(c=>c.usdValue>0||c.models.length>0).sort((c,d)=>d.usdValue-c.usdValue),[r,a,s]),i=m.useMemo(()=>{const c=l.reduce((d,u)=>d+u.usdValue,0);return wc(c,a,s)},[l,a,s]);return o.jsx(yl,{open:t,onOpenChange:c=>{c||n?.()},children:o.jsxs(pl,{children:[o.jsx(bl,{className:"cost-modal-backdrop","data-cost-analysis-backdrop":"true"}),o.jsx(xl,{className:"fixed inset-0 z-[101] flex items-center justify-center p-4",children:o.jsxs(kl,{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(wl,{render:o.jsx("h2",{className:"sr-only"}),children:y("dashboard.cost_breakdown.title")}),o.jsx(fc,{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":y("dashboard.cost_breakdown.close"),children:o.jsx(fo,{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:y("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":y("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,d)=>{const u=`fleet-${d}`;return o.jsxs("div",{role:"rowgroup","aria-labelledby":u,className:d>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:u,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((f,h)=>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:f.name,children:f.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:f.costLabel||""})]},f.id||`${f.name}-${h}`))]},`${c.label}-${d}`)})]})]})})]})})]})})});function _c({projectEntries:e=[],projectLimit:t=3,onProjectLimitChange:n,copy:r,hasDetailsActual:a,dailyEmptyPrefix:s,installSyncCmd:l,dailyEmptySuffix:i,detailsColumns:c,ariaSortFor:d,toggleSort:u,sortIconFor:f,pagedDetails:h,dailyBreakdownRows:g=[],dailyBreakdownColumns:p=[],dailyBreakdownAriaSortFor:b,dailyBreakdownSortIconFor:v,dailyBreakdownDateKey:_="day",detailsDateKey:w,renderDetailDate:x,renderDailyBreakdownDate:M,renderDetailCell:C,DETAILS_PAGED_PERIODS:j,period:I,detailsPageCount:N,detailsPage:A,setDetailsPage:O}){const[F,V]=m.useState("daily");return o.jsxs(Or,{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:()=>V("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:r("dashboard.daily.title")}),o.jsx("button",{role:"tab","aria-selected":F==="projects",type:"button",onClick:()=>V("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:r("dashboard.projects.title")})]}),F==="projects"&&o.jsxs("select",{"aria-label":"Number of projects to display",value:t,onChange:T=>n?.(Number(T.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:r("dashboard.projects.limit_top_3")}),o.jsx("option",{value:6,children:r("dashboard.projects.limit_top_6")}),o.jsx("option",{value:10,children:r("dashboard.projects.limit_top_10")})]})]}),F==="projects"&&o.jsx("div",{className:"space-y-1",children:e.slice(0,t).map((T,W)=>{const L=typeof T?.project_ref=="string"?T.project_ref:"",D=T?.project_key||L||`entry-${W}`,q=T?.billable_total_tokens??T?.total_tokens,R=Number(q),k=Number.isFinite(R)?R.toLocaleString():"—",P=T?.project_key||L.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:(T?.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:P})}),o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:k})]},D)})}),F==="daily"&&o.jsxs("div",{children:[g?.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:p.map(T=>o.jsx("th",{"aria-sort":b?.(T.key)||"none",className:"text-left p-0 bg-white dark:bg-oai-gray-900",children:o.jsx("button",{type:"button",onClick:()=>u(T.key),className:"flex w-full items-center justify-start px-2.5 sm: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:T.label}),o.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-400",children:v?.(T.key)||""})]})})},T.key))})}),o.jsx("tbody",{children:g.map(T=>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 ${T.missing?"text-oai-gray-400 dark:text-oai-gray-400":T.future?"text-oai-gray-300 dark:text-oai-gray-600":"text-oai-black dark:text-oai-white"}`,children:[o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 whitespace-nowrap",children:M?M(T):x(T)}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:C(T,"total_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(T,"input_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(T,"output_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(T,"cached_input_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(T,"reasoning_output_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:C(T,"conversation_count")})]},String(T?.[_]||T?.day||T?.hour||T?.month||"")))})]})}),F!=="daily"&&j.has(I)&&N>1?o.jsxs("div",{className:"mt-3 flex items-center justify-between oai-text-caption",children:[o.jsx("button",{type:"button",onClick:()=>O(T=>Math.max(0,T-1)),disabled:A===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:r("details.pagination.prev")}),o.jsxs("span",{className:"oai-text-muted",children:[A+1," / ",N]}),o.jsx("button",{type:"button",onClick:()=>O(T=>Math.min(N-1,T+1)),disabled:A+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:r("details.pagination.next")})]}):null]})]})}function Cn(e){return typeof e!="string"?"":e.trim()}function wa(e){const t=Cn(e);return t?t.split(/[_\-\s]+/).filter(Boolean).map(n=>n.slice(0,1).toUpperCase()+n.slice(1).toLowerCase()).join(" "):""}function Nc(e){if(!Array.isArray(e))return[];const t=new Map;for(const n of e){if(!n||typeof n!="object")continue;const r=Cn(n.tool),a=Cn(n.planType)||Cn(n.plan_type);if(!r||!a)continue;const s=wa(r)||r,l=wa(a)||a;t.set(`${r.toLowerCase()}::${a.toLowerCase()}`,{tool:s,plan:l})}return Array.from(t.values())}function Sc({period:e="month",rankLabel:t,streakDays:n,subscriptions:r=[],periodConversations:a,rolling:s,topModels:l=[],className:i=""}){const c=y("shared.placeholder.short"),d=y("shared.unit.percent"),u=t??y("identity_card.rank_placeholder"),f=Number.isFinite(Number(n))?Number(n):0,h=f?y("identity_card.streak_value",{days:f}):y("identity_card.rank_placeholder"),g=Nc(r),p={thousandSuffix:y("shared.unit.thousand_abbrev"),millionSuffix:y("shared.unit.million_abbrev"),billionSuffix:y("shared.unit.billion_abbrev")},b=w=>{if(w==null)return c;const x=ke(w,p);return x==="-"?c:x},v=(()=>{switch(e){case"day":return y("stats.period.today");case"week":return y("stats.period.week");case"month":return y("stats.period.month");case"total":return y("stats.period.all");default:return y("stats.period.convs")}})(),_=l.slice(0,3);return o.jsxs(Or,{className:`h-full ${i}`,children:[o.jsxs("div",{className:"grid grid-cols-2 sm: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:b(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:b(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:b(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:b(a)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:v})]})]}),_.length>0&&o.jsx("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800",children:_.map((w,x)=>{const M=w?.name?String(w.name):c,C=w?.percent?String(w.percent):"",j=x===_.length-1,I=x+1;return o.jsxs("div",{className:`flex items-center py-2 ${j?"":"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:I}),o.jsx("span",{className:"flex-1 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate px-2.5",title:M,children:M}),o.jsxs("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums flex-shrink-0",children:[C,d]})]},w.id||M)})}),g.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:g.map((w,x)=>o.jsxs(uc,{variant:"secondary",size:"sm",children:[w.tool," ",w.plan]},`${w.tool}:${w.plan}:${x}`))}),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:y("identity_card.rank_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:u})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx("span",{children:y("identity_card.streak_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:h})]})]})]})}function jc(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 Mc={},on={};function kt(e,t){try{const r=(Mc[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in on?on[r]:va(r,r.split(":"))}catch{if(e in on)return on[e];const n=e?.match(Cc);return n?va(e,n.slice(1)):NaN}}const Cc=/([+-]\d\d):?(\d\d)?/;function va(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return on[e]=n*60+r>0?n*60+r+a:n*60-r-a}class qe extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(kt(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)),Co(this),wr(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new qe(...n,t):new qe(Date.now(),t)}withTimeZone(t){return new qe(+this,t)}getTimezoneOffset(){const t=-kt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),wr(this),+this}[Symbol.for("constructDateFrom")](t){return new qe(+new Date(t),this.timeZone)}}const _a=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!_a.test(e))return;const t=e.replace(_a,"$1UTC");qe.prototype[t]&&(e.startsWith("get")?qe.prototype[e]=function(){return this.internal[t]()}:(qe.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Dc(this),+this},qe.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),wr(this),+this}))});function wr(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-kt(e.timeZone,e)*60))}function Dc(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()),Co(e)}function Co(e){const t=kt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),s=-new Date(+r).getTimezoneOffset(),l=a-s,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const c=a-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const d=new Date(+e);d.setUTCSeconds(0);const u=a>0?d.getSeconds():(d.getSeconds()-60)%60,f=Math.round(-(kt(e.timeZone,e)*60))%60;(f||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+f),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+f+u));const h=kt(e.timeZone,e),g=h>0?Math.floor(h):Math.ceil(h),b=-new Date(+e).getTimezoneOffset()-g,v=g!==n,_=b-c;if(v&&_){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+_);const w=kt(e.timeZone,e),x=w>0?Math.floor(w):Math.ceil(w),M=g-x;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class pe extends qe{static tz(t,...n){return n.length?new pe(...n,t):new pe(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${jc(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?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new pe(+this,t)}[Symbol.for("constructDateFrom")](t){return new pe(+new Date(t),this.timeZone)}}const Do=6048e5,Tc=864e5,Na=Symbol.for("constructDateFrom");function ue(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Na in e?e[Na](t):e instanceof Date?new e.constructor(t):new Date(t)}function oe(e,t){return ue(t||e,e)}function To(e,t,n){const r=oe(e,n?.in);return isNaN(t)?ue(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Oo(e,t,n){const r=oe(e,n?.in);if(isNaN(t))return ue(e,NaN);if(!t)return r;const a=r.getDate(),s=ue(e,r.getTime());s.setMonth(r.getMonth()+t+1,0);const l=s.getDate();return a>=l?s:(r.setFullYear(s.getFullYear(),s.getMonth(),a),r)}let Oc={};function cn(){return Oc}function $t(e,t){const n=cn(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=oe(e,t?.in),s=a.getDay(),l=(s<r?7:0)+s-r;return a.setDate(a.getDate()-l),a.setHours(0,0,0,0),a}function sn(e,t){return $t(e,{...t,weekStartsOn:1})}function Ao(e,t){const n=oe(e,t?.in),r=n.getFullYear(),a=ue(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const s=sn(a),l=ue(n,0);l.setFullYear(r,0,4),l.setHours(0,0,0,0);const i=sn(l);return n.getTime()>=s.getTime()?r+1:n.getTime()>=i.getTime()?r:r-1}function Sa(e){const t=oe(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 Ut(e,...t){const n=ue.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function ln(e,t){const n=oe(e,t?.in);return n.setHours(0,0,0,0),n}function Ar(e,t,n){const[r,a]=Ut(n?.in,e,t),s=ln(r),l=ln(a),i=+s-Sa(s),c=+l-Sa(l);return Math.round((i-c)/Tc)}function Ac(e,t){const n=Ao(e,t),r=ue(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),sn(r)}function Ec(e,t,n){return To(e,t*7,n)}function Fc(e,t,n){return Oo(e,t*12,n)}function Wc(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=ue.bind(null,a));const s=oe(a,r);(!n||n<s||isNaN(+s))&&(n=s)}),ue(r,n||NaN)}function Ic(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=ue.bind(null,a));const s=oe(a,r);(!n||n>s||isNaN(+s))&&(n=s)}),ue(r,n||NaN)}function Pc(e,t,n){const[r,a]=Ut(n?.in,e,t);return+ln(r)==+ln(a)}function Eo(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Lc(e){return!(!Eo(e)&&typeof e!="number"||isNaN(+oe(e)))}function Fo(e,t,n){const[r,a]=Ut(n?.in,e,t),s=r.getFullYear()-a.getFullYear(),l=r.getMonth()-a.getMonth();return s*12+l}function Rc(e,t){const n=oe(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Wo(e,t){const[n,r]=Ut(e,t.start,t.end);return{start:n,end:r}}function Bc(e,t){const{start:n,end:r}=Wo(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setDate(1);let i=1;const c=[];for(;+l<=s;)c.push(ue(n,l)),l.setMonth(l.getMonth()+i);return a?c.reverse():c}function $c(e,t){const n=oe(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function Yc(e,t){const n=oe(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Io(e,t){const n=oe(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function zc(e,t){const{start:n,end:r}=Wo(t?.in,e);let a=+n>+r;const s=a?+n:+r,l=a?r:n;l.setHours(0,0,0,0),l.setMonth(0,1);let i=1;const c=[];for(;+l<=s;)c.push(ue(n,l)),l.setFullYear(l.getFullYear()+i);return a?c.reverse():c}function Po(e,t){const n=cn(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=oe(e,t?.in),s=a.getDay(),l=(s<r?-7:0)+6-(s-r);return a.setDate(a.getDate()+l),a.setHours(23,59,59,999),a}function Hc(e,t){return Po(e,{...t,weekStartsOn:1})}const Uc={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"}},qc=(e,t,n)=>{let r;const a=Uc[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function tr(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Gc={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Kc={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Vc={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Xc={date:tr({formats:Gc,defaultWidth:"full"}),time:tr({formats:Kc,defaultWidth:"full"}),dateTime:tr({formats:Vc,defaultWidth:"full"})},Qc={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Jc=(e,t,n,r)=>Qc[e];function tn(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):l;a=e.formattingValues[i]||e.formattingValues[l]}else{const l=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return a[s]}}const Zc={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},ed={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},td={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"]},nd={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"]},rd={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"}},ad={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"}},od=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},sd={ordinalNumber:od,era:tn({values:Zc,defaultWidth:"wide"}),quarter:tn({values:ed,defaultWidth:"wide",argumentCallback:e=>e-1}),month:tn({values:td,defaultWidth:"wide"}),day:tn({values:nd,defaultWidth:"wide"}),dayPeriod:tn({values:rd,defaultWidth:"wide",formattingValues:ad,defaultFormattingWidth:"wide"})};function nn(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(a);if(!s)return null;const l=s[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?ld(i,f=>f.test(l)):id(i,f=>f.test(l));let d;d=e.valueCallback?e.valueCallback(c):c,d=n.valueCallback?n.valueCallback(d):d;const u=t.slice(l.length);return{value:d,rest:u}}}function id(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ld(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function cd(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[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(a.length);return{value:l,rest:i}}}const dd=/^(\d+)(th|st|nd|rd)?/i,ud=/\d+/i,fd={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},md={any:[/^b/i,/^(a|c)/i]},hd={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},gd={any:[/1/i,/2/i,/3/i,/4/i]},yd={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},pd={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]},bd={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},xd={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]},kd={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},wd={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}},vd={ordinalNumber:cd({matchPattern:dd,parsePattern:ud,valueCallback:e=>parseInt(e,10)}),era:nn({matchPatterns:fd,defaultMatchWidth:"wide",parsePatterns:md,defaultParseWidth:"any"}),quarter:nn({matchPatterns:hd,defaultMatchWidth:"wide",parsePatterns:gd,defaultParseWidth:"any",valueCallback:e=>e+1}),month:nn({matchPatterns:yd,defaultMatchWidth:"wide",parsePatterns:pd,defaultParseWidth:"any"}),day:nn({matchPatterns:bd,defaultMatchWidth:"wide",parsePatterns:xd,defaultParseWidth:"any"}),dayPeriod:nn({matchPatterns:kd,defaultMatchWidth:"any",parsePatterns:wd,defaultParseWidth:"any"})},Lt={code:"en-US",formatDistance:qc,formatLong:Xc,formatRelative:Jc,localize:sd,match:vd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function _d(e,t){const n=oe(e,t?.in);return Ar(n,Io(n))+1}function Er(e,t){const n=oe(e,t?.in),r=+sn(n)-+Ac(n);return Math.round(r/Do)+1}function Lo(e,t){const n=oe(e,t?.in),r=n.getFullYear(),a=cn(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=ue(t?.in||e,0);l.setFullYear(r+1,0,s),l.setHours(0,0,0,0);const i=$t(l,t),c=ue(t?.in||e,0);c.setFullYear(r,0,s),c.setHours(0,0,0,0);const d=$t(c,t);return+n>=+i?r+1:+n>=+d?r:r-1}function Nd(e,t){const n=cn(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=Lo(e,t),s=ue(t?.in||e,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),$t(s,t)}function Fr(e,t){const n=oe(e,t?.in),r=+$t(n,t)-+Nd(n,t);return Math.round(r/Do)+1}function ae(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const st={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return ae(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ae(n+1,2)},d(e,t){return ae(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 ae(e.getHours()%12||12,t.length)},H(e,t){return ae(e.getHours(),t.length)},m(e,t){return ae(e.getMinutes(),t.length)},s(e,t){return ae(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return ae(a,t.length)}},Wt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ja={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return st.y(e,t)},Y:function(e,t,n,r){const a=Lo(e,r),s=a>0?a:1-a;if(t==="YY"){const l=s%100;return ae(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):ae(s,t.length)},R:function(e,t){const n=Ao(e);return ae(n,t.length)},u:function(e,t){const n=e.getFullYear();return ae(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return ae(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return ae(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return st.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return ae(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=Fr(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):ae(a,t.length)},I:function(e,t,n){const r=Er(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):ae(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):st.d(e,t)},D:function(e,t,n){const r=_d(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):ae(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":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"})}},e:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return ae(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});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"})}},c:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return ae(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return ae(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Wt.noon:r===0?a=Wt.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Wt.evening:r>=12?a=Wt.afternoon:r>=4?a=Wt.morning:a=Wt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return st.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):st.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):ae(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):ae(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):st.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):st.s(e,t)},S:function(e,t){return st.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return Ca(r);case"XXXX":case"XX":return bt(r);default:return bt(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return Ca(r);case"xxxx":case"xx":return bt(r);default:return bt(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Ma(r,":");default:return"GMT"+bt(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Ma(r,":");default:return"GMT"+bt(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return ae(r,t.length)},T:function(e,t,n){return ae(+e,t.length)}};function Ma(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),s=r%60;return s===0?n+String(a):n+String(a)+t+ae(s,2)}function Ca(e,t){return e%60===0?(e>0?"-":"+")+ae(Math.abs(e)/60,2):bt(e,t)}function bt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=ae(Math.trunc(r/60),2),s=ae(r%60,2);return n+a+t+s}const Da=(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"})}},Ro=(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"})}},Sd=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return Da(e,t);let s;switch(r){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}}",Da(r,t)).replace("{{time}}",Ro(a,t))},jd={p:Ro,P:Sd},Md=/^D+$/,Cd=/^Y+$/,Dd=["D","DD","YY","YYYY"];function Td(e){return Md.test(e)}function Od(e){return Cd.test(e)}function Ad(e,t,n){const r=Ed(e,t,n);if(console.warn(r),Dd.includes(e))throw new RangeError(r)}function Ed(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Fd=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Wd=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Id=/^'([^]*?)'?$/,Pd=/''/g,Ld=/[a-zA-Z]/;function Ge(e,t,n){const r=cn(),a=n?.locale??r.locale??Lt,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=oe(e,n?.in);if(!Lc(i))throw new RangeError("Invalid time value");let c=t.match(Wd).map(u=>{const f=u[0];if(f==="p"||f==="P"){const h=jd[f];return h(u,a.formatLong)}return u}).join("").match(Fd).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const f=u[0];if(f==="'")return{isToken:!1,value:Rd(u)};if(ja[f])return{isToken:!0,value:u};if(f.match(Ld))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(c=a.localize.preprocessor(i,c));const d={firstWeekContainsDate:s,weekStartsOn:l,locale:a};return c.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&Od(f)||!n?.useAdditionalDayOfYearTokens&&Td(f))&&Ad(f,t,String(e));const h=ja[f[0]];return h(i,f,a.localize,d)}).join("")}function Rd(e){const t=e.match(Id);return t?t[1].replace(Pd,"'"):e}function Bd(e,t){const n=oe(e,t?.in),r=n.getFullYear(),a=n.getMonth(),s=ue(n,0);return s.setFullYear(r,a+1,0),s.setHours(0,0,0,0),s.getDate()}function $d(e,t){return oe(e,t?.in).getMonth()}function Yd(e,t){return oe(e,t?.in).getFullYear()}function zd(e,t){return+oe(e)>+oe(t)}function Hd(e,t){return+oe(e)<+oe(t)}function Ud(e,t,n){const[r,a]=Ut(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function qd(e,t,n){const[r,a]=Ut(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function Gd(e,t,n){const r=oe(e,n?.in),a=r.getFullYear(),s=r.getDate(),l=ue(e,0);l.setFullYear(a,t,15),l.setHours(0,0,0,0);const i=Bd(l);return r.setMonth(t,Math.min(s,i)),r}function Kd(e,t,n){const r=oe(e,n?.in);return isNaN(+r)?ue(e,NaN):(r.setFullYear(t),r)}const Ta=5,Vd=4;function Xd(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),s=t.addDays(a,Ta*7-1);return t.getMonth(e)===t.getMonth(s)?Ta:Vd}function Bo(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function Qd(e,t){const n=Bo(e,t),r=Xd(e,t);return t.addDays(n,r*7-1)}const $o={...Lt,labels:{labelDayButton:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(l,i)=>Ge(l,i,{locale:Lt,...n});let s=a(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 r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,s)=>Ge(a,s,{locale:Lt,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(l,i)=>Ge(l,i,{locale:Lt,...n});let s=a(e,"PPPP");return t?.today&&(s=`Today, ${s}`),s},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,s)=>Ge(a,s,{locale:Lt,...t}),r(e,"cccc")}}};class De{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?pe.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,s)=>this.overrides?.newDate?this.overrides.newDate(r,a,s):this.options.timeZone?new pe(r,a,s,this.options.timeZone):new Date(r,a,s),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):To(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):Oo(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):Ec(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):Fc(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):Ar(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):Fo(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):Bc(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):zc(r),s=new Set(a.map(i=>this.getYear(i)));if(s.size===a.length)return a;const l=[];return s.forEach(i=>{l.push(new Date(i,0,1))}),l},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):Qd(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):Hc(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):Rc(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):Po(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):Yc(r),this.format=(r,a,s)=>{const l=this.overrides?.format?this.overrides.format(r,a,this.options):Ge(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):Er(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):$d(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):Yd(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Fr(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):zd(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):Hd(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):Eo(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):Pc(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):Ud(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):qd(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):Wc(r),this.min=r=>this.overrides?.min?this.overrides.min(r):Ic(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):Gd(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):Kd(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):Bo(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):ln(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):sn(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):$c(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):$t(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):Io(r),this.options={locale:$o,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&De.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,s=n?.code;if(s&&De.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}De.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 Ke=new De;class Yo{constructor(t,n,r=Ke){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r,this.isoDate=r.format(t,"yyyy-MM-dd"),this.displayMonthId=r.format(n,"yyyy-MM"),this.dateMonthId=r.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class Jd{constructor(t,n){this.date=t,this.weeks=n}}class Zd{constructor(t,n){this.days=n,this.weekNumber=t}}function eu(e){return E.createElement("button",{...e})}function tu(e){return E.createElement("span",{...e})}function nu(e){const{size:t=24,orientation:n="left",className:r}=e;return E.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&E.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&E.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&E.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&E.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function ru(e){const{day:t,modifiers:n,...r}=e;return E.createElement("td",{...r})}function au(e){const{day:t,modifiers:n,...r}=e,a=E.useRef(null);return E.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),E.createElement("button",{ref:a,...r})}var U;(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"})(U||(U={}));var ce;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(ce||(ce={}));var Re;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Re||(Re={}));var Me;(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"})(Me||(Me={}));function ou(e){const{options:t,className:n,components:r,classNames:a,...s}=e,l=[a[U.Dropdown],n].join(" "),i=t?.find(({value:c})=>c===s.value);return E.createElement("span",{"data-disabled":s.disabled,className:a[U.DropdownRoot]},E.createElement(r.Select,{className:l,...s},t?.map(({value:c,label:d,disabled:u})=>E.createElement(r.Option,{key:c,value:c,disabled:u},d))),E.createElement("span",{className:a[U.CaptionLabel],"aria-hidden":!0},i?.label,E.createElement(r.Chevron,{orientation:"down",size:18,className:a[U.Chevron]})))}function su(e){return E.createElement("div",{...e})}function iu(e){return E.createElement("div",{...e})}function lu(e){const{calendarMonth:t,displayIndex:n,...r}=e;return E.createElement("div",{...r},e.children)}function cu(e){const{calendarMonth:t,displayIndex:n,...r}=e;return E.createElement("div",{...r})}function du(e){return E.createElement("table",{...e})}function uu(e){return E.createElement("div",{...e})}const zo=m.createContext(void 0);function dn(){const e=m.useContext(zo);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function fu(e){const{components:t}=dn();return E.createElement(t.Dropdown,{...e})}function mu(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...s}=e,{components:l,classNames:i,labels:{labelPrevious:c,labelNext:d}}=dn(),u=m.useCallback(h=>{a&&n?.(h)},[a,n]),f=m.useCallback(h=>{r&&t?.(h)},[r,t]);return E.createElement("nav",{...s},E.createElement(l.PreviousMonthButton,{type:"button",className:i[U.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":c(r),onClick:f},E.createElement(l.Chevron,{disabled:r?void 0:!0,className:i[U.Chevron],orientation:"left"})),E.createElement(l.NextMonthButton,{type:"button",className:i[U.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":d(a),onClick:u},E.createElement(l.Chevron,{disabled:a?void 0:!0,orientation:"right",className:i[U.Chevron]})))}function hu(e){const{components:t}=dn();return E.createElement(t.Button,{...e})}function gu(e){return E.createElement("option",{...e})}function yu(e){const{components:t}=dn();return E.createElement(t.Button,{...e})}function pu(e){const{rootRef:t,...n}=e;return E.createElement("div",{...n,ref:t})}function bu(e){return E.createElement("select",{...e})}function xu(e){const{week:t,...n}=e;return E.createElement("tr",{...n})}function ku(e){return E.createElement("th",{...e})}function wu(e){return E.createElement("thead",{"aria-hidden":!0},E.createElement("tr",{...e}))}function vu(e){const{week:t,...n}=e;return E.createElement("th",{...n})}function _u(e){return E.createElement("th",{...e})}function Nu(e){return E.createElement("tbody",{...e})}function Su(e){const{components:t}=dn();return E.createElement(t.Dropdown,{...e})}const ju=Object.freeze(Object.defineProperty({__proto__:null,Button:eu,CaptionLabel:tu,Chevron:nu,Day:ru,DayButton:au,Dropdown:ou,DropdownNav:su,Footer:iu,Month:lu,MonthCaption:cu,MonthGrid:du,Months:uu,MonthsDropdown:fu,Nav:mu,NextMonthButton:hu,Option:gu,PreviousMonthButton:yu,Root:pu,Select:bu,Week:xu,WeekNumber:vu,WeekNumberHeader:_u,Weekday:ku,Weekdays:wu,Weeks:Nu,YearsDropdown:Su},Symbol.toStringTag,{value:"Module"}));function et(e,t,n=!1,r=Ke){let{from:a,to:s}=e;const{differenceInCalendarDays:l,isSameDay:i}=r;return a&&s?(l(s,a)<0&&([a,s]=[s,a]),l(t,a)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?i(s,t):!n&&a?i(a,t):!1}function Wr(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function In(e){return!!(e&&typeof e=="object"&&"from"in e)}function Ir(e){return!!(e&&typeof e=="object"&&"after"in e)}function Pr(e){return!!(e&&typeof e=="object"&&"before"in e)}function Ho(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Uo(e,t){return Array.isArray(e)&&e.every(t.isDate)}function tt(e,t,n=Ke){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:s,isAfter:l}=n;return r.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return a(e,i);if(Uo(i,n))return i.some(c=>a(e,c));if(In(i))return et(i,e,!1,n);if(Ho(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(Wr(i)){const c=s(i.before,e),d=s(i.after,e),u=c>0,f=d<0;return l(i.before,i.after)?f&&u:u||f}return Ir(i)?s(e,i.after)>0:Pr(i)?s(i.before,e)>0:typeof i=="function"?i(e):!1})}function Mu(e,t,n,r,a){const{disabled:s,hidden:l,modifiers:i,showOutsideDays:c,broadcastCalendar:d,today:u=a.today()}=t,{isSameDay:f,isSameMonth:h,startOfMonth:g,isBefore:p,endOfMonth:b,isAfter:v}=a,_=n&&g(n),w=r&&b(r),x={[ce.focused]:[],[ce.outside]:[],[ce.disabled]:[],[ce.hidden]:[],[ce.today]:[]},M={};for(const C of e){const{date:j,displayMonth:I}=C,N=!!(I&&!h(j,I)),A=!!(_&&p(j,_)),O=!!(w&&v(j,w)),F=!!(s&&tt(j,s,a)),V=!!(l&&tt(j,l,a))||A||O||!d&&!c&&N||d&&c===!1&&N,T=f(j,u);N&&x.outside.push(C),F&&x.disabled.push(C),V&&x.hidden.push(C),T&&x.today.push(C),i&&Object.keys(i).forEach(W=>{const L=i?.[W];L&&tt(j,L,a)&&(M[W]?M[W].push(C):M[W]=[C])})}return C=>{const j={[ce.focused]:!1,[ce.disabled]:!1,[ce.hidden]:!1,[ce.outside]:!1,[ce.today]:!1},I={};for(const N in x){const A=x[N];j[N]=A.some(O=>O===C)}for(const N in M)I[N]=M[N].some(A=>A===C);return{...j,...I}}}function Cu(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[s])=>(n[s]?a.push(n[s]):t[ce[s]]?a.push(t[ce[s]]):t[Re[s]]&&a.push(t[Re[s]]),a),[t[U.Day]])}function Du(e){return{...ju,...e}}function Tu(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,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function Ou(){const e={};for(const t in U)e[U[t]]=`rdp-${U[t]}`;for(const t in ce)e[ce[t]]=`rdp-${ce[t]}`;for(const t in Re)e[Re[t]]=`rdp-${Re[t]}`;for(const t in Me)e[Me[t]]=`rdp-${Me[t]}`;return e}function qo(e,t,n){return(n??new De(t)).formatMonthYear(e)}const Au=qo;function Eu(e,t,n){return(n??new De(t)).format(e,"d")}function Fu(e,t=Ke){return t.format(e,"LLLL")}function Wu(e,t,n){return(n??new De(t)).format(e,"cccccc")}function Iu(e,t=Ke){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Pu(){return""}function Go(e,t=Ke){return t.format(e,"yyyy")}const Lu=Go,Ru=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:qo,formatDay:Eu,formatMonthCaption:Au,formatMonthDropdown:Fu,formatWeekNumber:Iu,formatWeekNumberHeader:Pu,formatWeekdayName:Wu,formatYearCaption:Lu,formatYearDropdown:Go},Symbol.toStringTag,{value:"Module"}));function Bu(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Ru,...e}}function Lr(e,t,n,r){let a=(r??new De(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const $u=Lr;function Rr(e,t,n){return(n??new De(t)).formatMonthYear(e)}const Yu=Rr;function Ko(e,t,n,r){let a=(r??new De(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function Vo(e){return"Choose the Month"}function Xo(){return""}const zu="Go to the Next Month";function Qo(e,t){return zu}function Jo(e){return"Go to the Previous Month"}function Zo(e,t,n){return(n??new De(t)).format(e,"cccc")}function es(e,t){return`Week ${e}`}function ts(e){return"Week Number"}function ns(e){return"Choose the Year"}const Hu=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Yu,labelDay:$u,labelDayButton:Lr,labelGrid:Rr,labelGridcell:Ko,labelMonthDropdown:Vo,labelNav:Xo,labelNext:Qo,labelPrevious:Jo,labelWeekNumber:es,labelWeekNumberHeader:ts,labelWeekday:Zo,labelYearDropdown:ns},Symbol.toStringTag,{value:"Module"})),Pe=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Uu(e,t){const n=t.locale?.labels??{};return{...Hu,...e??{},labelDayButton:Pe(Lr,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Pe(Vo,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Pe(Qo,e?.labelNext,n.labelNext),labelPrevious:Pe(Jo,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Pe(es,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Pe(ns,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Pe(Rr,e?.labelGrid,n.labelGrid),labelGridcell:Pe(Ko,e?.labelGridcell,n.labelGridcell),labelNav:Pe(Xo,e?.labelNav,n.labelNav),labelWeekNumberHeader:Pe(ts,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Pe(Zo,e?.labelWeekday,n.labelWeekday)}}function qu(e,t,n,r,a){const{startOfMonth:s,startOfYear:l,endOfYear:i,eachMonthOfInterval:c,getMonth:d}=a;return c({start:l(e),end:i(e)}).map(h=>{const g=r.formatMonthDropdown(h,a),p=d(h),b=t&&h<s(t)||n&&h>s(n)||!1;return{value:p,label:g,disabled:b}})}function Gu(e,t={},n={}){let r={...t?.[U.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function Ku(e,t,n,r){const a=r??e.today(),s=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),l=[];for(let i=0;i<7;i++){const c=e.addDays(s,i);l.push(c)}return l}function Vu(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:i,getYear:c}=r,d=s(e),u=l(t),f=i({start:d,end:u});return a&&f.reverse(),f.map(h=>{const g=n.formatYearDropdown(h,r);return{value:c(h),label:g,disabled:!1}})}function Xu(e,t={}){const{weekStartsOn:n,locale:r}=t,a=n??r?.options?.weekStartsOn??0,s=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new pe(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(pe.tz(e)),newDate:(i,c,d)=>new pe(i,c,d,12,0,0,e),startOfDay:i=>s(i),startOfWeek:(i,c)=>{const d=s(i),u=c?.weekStartsOn??a,f=(d.getDay()-u+7)%7;return d.setDate(d.getDate()-f),d},startOfISOWeek:i=>{const c=s(i),d=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-d),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 d=s(i),h=(((c?.weekStartsOn??a)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+h),d},endOfISOWeek:i=>{const c=s(i),d=(7-c.getDay())%7;return c.setDate(c.getDate()+d),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),d=s(i.end),u=[],f=new pe(c.getFullYear(),c.getMonth(),1,12,0,0,e),h=d.getFullYear()*12+d.getMonth();for(;f.getFullYear()*12+f.getMonth()<=h;)u.push(new pe(f,e)),f.setMonth(f.getMonth()+1,1);return u},addDays:(i,c)=>{const d=s(i);return d.setDate(d.getDate()+c),d},addWeeks:(i,c)=>{const d=s(i);return d.setDate(d.getDate()+c*7),d},addMonths:(i,c)=>{const d=s(i);return d.setMonth(d.getMonth()+c),d},addYears:(i,c)=>{const d=s(i);return d.setFullYear(d.getFullYear()+c),d},eachYearOfInterval:i=>{const c=s(i.start),d=s(i.end),u=[],f=new pe(c.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=d.getFullYear();)u.push(new pe(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return u},getWeek:(i,c)=>{const d=l(i);return Fr(d,{weekStartsOn:c?.weekStartsOn??a,firstWeekContainsDate:c?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=l(i);return Er(c)},differenceInCalendarDays:(i,c)=>{const d=l(i),u=l(c);return Ar(d,u)},differenceInCalendarMonths:(i,c)=>{const d=l(i),u=l(c);return Fo(d,u)}}}const un=e=>e instanceof HTMLElement?e:null,nr=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Qu=e=>un(e.querySelector("[data-animated-month]")),rr=e=>un(e.querySelector("[data-animated-caption]")),ar=e=>un(e.querySelector("[data-animated-weeks]")),Ju=e=>un(e.querySelector("[data-animated-nav]")),Zu=e=>un(e.querySelector("[data-animated-weekdays]"));function ef(e,t,{classNames:n,months:r,focused:a,dateLib:s}){const l=m.useRef(null),i=m.useRef(r),c=m.useRef(!1);m.useLayoutEffect(()=>{const d=i.current;if(i.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||d.length===0||r.length!==d.length)return;const u=s.isSameMonth(r[0].date,d[0].date),f=s.isAfter(r[0].date,d[0].date),h=f?n[Me.caption_after_enter]:n[Me.caption_before_enter],g=f?n[Me.weeks_after_enter]:n[Me.weeks_before_enter],p=l.current,b=e.current.cloneNode(!0);if(b instanceof HTMLElement?(nr(b).forEach(x=>{if(!(x instanceof HTMLElement))return;const M=Qu(x);M&&x.contains(M)&&x.removeChild(M);const C=rr(x);C&&C.classList.remove(h);const j=ar(x);j&&j.classList.remove(g)}),l.current=b):l.current=null,c.current||u||a)return;const v=p instanceof HTMLElement?nr(p):[],_=nr(e.current);if(_?.every(w=>w instanceof HTMLElement)&&v&&v.every(w=>w instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const w=Ju(e.current);w&&(w.style.zIndex="1"),_.forEach((x,M)=>{const C=v[M];if(!C)return;x.style.position="relative",x.style.overflow="hidden";const j=rr(x);j&&j.classList.add(h);const I=ar(x);I&&I.classList.add(g);const N=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),w&&(w.style.zIndex=""),j&&j.classList.remove(h),I&&I.classList.remove(g),x.style.position="",x.style.overflow="",x.contains(C)&&x.removeChild(C)};C.style.pointerEvents="none",C.style.position="absolute",C.style.overflow="hidden",C.setAttribute("aria-hidden","true");const A=Zu(C);A&&(A.style.opacity="0");const O=rr(C);O&&(O.classList.add(f?n[Me.caption_before_exit]:n[Me.caption_after_exit]),O.addEventListener("animationend",N));const F=ar(C);F&&F.classList.add(f?n[Me.weeks_before_exit]:n[Me.weeks_after_exit]),x.insertBefore(C,x.firstChild)})}})}function tf(e,t,n,r){const a=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:h,endOfISOWeek:g,endOfMonth:p,endOfWeek:b,isAfter:v,startOfBroadcastWeek:_,startOfISOWeek:w,startOfWeek:x}=r,M=c?_(a,r):l?w(a):x(a),C=c?h(s):l?g(p(s)):b(p(s)),j=t&&(c?h(t):l?g(t):b(t)),I=j&&v(C,j)?j:C,N=u(I,M),A=f(s,a)+1,O=[];for(let T=0;T<=N;T++){const W=d(M,T);O.push(W)}const V=(c?35:42)*A;if(i&&O.length<V){const T=V-O.length;for(let W=0;W<T;W++){const L=d(O[O.length-1],1);O.push(L)}}return O}function nf(e){const t=[];return e.reduce((n,r)=>{const a=r.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function rf(e,t,n,r){const{numberOfMonths:a=1}=n,s=[];for(let l=0;l<a;l++){const i=r.addMonths(e,l);if(t&&i>t)break;s.push(i)}return s}function Oa(e,t,n,r){const{month:a,defaultMonth:s,today:l=r.today(),numberOfMonths:i=1}=e;let c=a||s||l;const{differenceInCalendarMonths:d,addMonths:u,startOfMonth:f}=r;if(n&&d(n,c)<i-1){const h=-1*(i-1);c=u(n,h)}return t&&d(c,t)<0&&(c=t),f(c)}function af(e,t,n,r){const{addDays:a,endOfBroadcastWeek:s,endOfISOWeek:l,endOfMonth:i,endOfWeek:c,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:h,startOfWeek:g}=r,p=e.reduce((b,v)=>{const _=n.broadcastCalendar?f(v,r):n.ISOWeek?h(v):g(v),w=n.broadcastCalendar?s(v):n.ISOWeek?l(i(v)):c(i(v)),x=t.filter(I=>I>=_&&I<=w),M=n.broadcastCalendar?35:42;if(n.fixedWeeks&&x.length<M){const I=t.filter(N=>{const A=M-x.length;return N>w&&N<=a(w,A)});x.push(...I)}const C=x.reduce((I,N)=>{const A=n.ISOWeek?d(N):u(N),O=I.find(V=>V.weekNumber===A),F=new Yo(N,v,r);return O?O.days.push(F):I.push(new Zd(A,[F])),I},[]),j=new Jd(v,C);return b.push(j),b},[]);return n.reverseMonths?p.reverse():p}function of(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:s,startOfMonth:l,endOfMonth:i,addYears:c,endOfYear:d,newDate:u,today:f}=t,{fromYear:h,toYear:g,fromMonth:p,toMonth:b}=e;!n&&p&&(n=p),!n&&h&&(n=t.newDate(h,0,1)),!r&&b&&(r=b),!r&&g&&(r=u(g,11,31));const v=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):h?n=u(h,0,1):!n&&v&&(n=a(c(e.today??f(),-100))),r?r=i(r):g?r=u(g,11,31):!r&&v&&(r=d(e.today??f())),[n&&s(n),r&&s(r)]}function sf(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=r,d=a?s:1,u=l(e);if(!t)return i(u,d);if(!(c(t,e)<s))return i(u,d)}function lf(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:s}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=r,d=a?s??1:1,u=l(e);if(!t)return i(u,-d);if(!(c(u,t)<=0))return i(u,-d)}function cf(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function Pn(e,t){const[n,r]=m.useState(e);return[t===void 0?n:t,r]}function df(e,t){const[n,r]=of(e,t),{startOfMonth:a,endOfMonth:s}=t,l=Oa(e,n,r,t),[i,c]=Pn(l,e.month?l:void 0);m.useEffect(()=>{const M=Oa(e,n,r,t);c(M)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:h,nextMonth:g}=m.useMemo(()=>{const M=rf(i,r,{numberOfMonths:e.numberOfMonths},t),C=tf(M,e.endMonth?s(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),j=af(M,C,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),I=cf(j),N=nf(j),A=lf(i,n,e,t),O=sf(i,r,e,t);return{months:j,weeks:I,days:N,previousMonth:A,nextMonth:O}},[t,i.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:p,onMonthChange:b}=e,v=M=>u.some(C=>C.days.some(j=>j.isEqualTo(M))),_=M=>{if(p)return;let C=a(M);n&&C<a(n)&&(C=a(n)),r&&C>a(r)&&(C=a(r)),c(C),b?.(C)};return{months:d,weeks:u,days:f,navStart:n,navEnd:r,previousMonth:h,nextMonth:g,goToMonth:_,goToDay:M=>{v(M)||_(M.date)}}}var He;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(He||(He={}));function Aa(e){return!e[ce.disabled]&&!e[ce.hidden]&&!e[ce.outside]}function uf(e,t,n,r){let a,s=-1;for(const l of e){const i=t(l);Aa(i)&&(i[ce.focused]&&s<He.FocusedModifier?(a=l,s=He.FocusedModifier):r?.isEqualTo(l)&&s<He.LastFocused?(a=l,s=He.LastFocused):n(l.date)&&s<He.Selected?(a=l,s=He.Selected):i[ce.today]&&s<He.Today&&(a=l,s=He.Today))}return a||(a=e.find(l=>Aa(t(l)))),a}function ff(e,t,n,r,a,s,l){const{ISOWeek:i,broadcastCalendar:c}=s,{addDays:d,addMonths:u,addWeeks:f,addYears:h,endOfBroadcastWeek:g,endOfISOWeek:p,endOfWeek:b,max:v,min:_,startOfBroadcastWeek:w,startOfISOWeek:x,startOfWeek:M}=l;let j={day:d,week:f,month:u,year:h,startOfWeek:I=>c?w(I,l):i?x(I):M(I),endOfWeek:I=>c?g(I):i?p(I):b(I)}[e](n,t==="after"?1:-1);return t==="before"&&r?j=v([r,j]):t==="after"&&a&&(j=_([a,j])),j}function rs(e,t,n,r,a,s,l,i=0){if(i>365)return;const c=ff(e,t,n.date,r,a,s,l),d=!!(s.disabled&&tt(c,s.disabled,l)),u=!!(s.hidden&&tt(c,s.hidden,l)),f=c,h=new Yo(c,f,l);return!d&&!u?h:rs(e,t,h,r,a,s,l,i+1)}function mf(e,t,n,r,a){const{autoFocus:s}=e,[l,i]=m.useState(),c=uf(t.days,n,r||(()=>!1),l),[d,u]=m.useState(s?c:void 0);return{isFocusTarget:b=>!!c?.isEqualTo(b),setFocused:u,focused:d,blur:()=>{i(d),u(void 0)},moveFocus:(b,v)=>{if(!d)return;const _=rs(b,v,d,t.navStart,t.navEnd,e,a);_&&(e.disableNavigation&&!t.days.some(x=>x.isEqualTo(_))||(t.goToDay(_),u(_)))}}}function hf(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=Pn(n,a?n:void 0),i=a?n:s,{isSameDay:c}=t,d=g=>i?.some(p=>c(p,g))??!1,{min:u,max:f}=e;return{selected:i,select:(g,p,b)=>{let v=[...i??[]];if(d(g)){if(i?.length===u||r&&i?.length===1)return;v=i?.filter(_=>!c(_,g))}else i?.length===f?v=[g]:v=[...v,g];return a||l(v),a?.(v,g,p,b),v},isSelected:d}}function gf(e,t,n=0,r=0,a=!1,s=Ke){const{from:l,to:i}=t||{},{isSameDay:c,isAfter:d,isBefore:u}=s;let f;if(!l&&!i)f={from:e,to:n>0?void 0:e};else if(l&&!i)c(l,e)?n===0?f={from:l,to:e}:a?f={from:l,to:void 0}:f=void 0:u(e,l)?f={from:e,to:l}:f={from:l,to:e};else if(l&&i)if(c(l,e)&&c(i,e))a?f={from:l,to:i}:f=void 0;else if(c(l,e))f={from:l,to:n>0?void 0:e};else if(c(i,e))f={from:e,to:n>0?void 0:e};else if(u(e,l))f={from:e,to:i};else if(d(e,l))f={from:l,to:e};else if(d(e,i))f={from:l,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const h=s.differenceInCalendarDays(f.to,f.from);r>0&&h>r?f={from:e,to:void 0}:n>1&&h<n&&(f={from:e,to:void 0})}return f}function yf(e,t,n=Ke){const r=Array.isArray(t)?t:[t];let a=e.from;const s=n.differenceInCalendarDays(e.to,e.from),l=Math.min(s,6);for(let i=0;i<=l;i++){if(r.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function Ea(e,t,n=Ke){return et(e,t.from,!1,n)||et(e,t.to,!1,n)||et(t,e.from,!1,n)||et(t,e.to,!1,n)}function pf(e,t,n=Ke){const r=Array.isArray(t)?t:[t];if(r.filter(i=>typeof i!="function").some(i=>typeof i=="boolean"?i:n.isDate(i)?et(e,i,!1,n):Uo(i,n)?i.some(c=>et(e,c,!1,n)):In(i)?i.from&&i.to?Ea(e,{from:i.from,to:i.to},n):!1:Ho(i)?yf(e,i.dayOfWeek,n):Wr(i)?n.isAfter(i.before,i.after)?Ea(e,{from:n.addDays(i.after,1),to:n.addDays(i.before,-1)},n):tt(e.from,i,n)||tt(e.to,i,n):Ir(i)||Pr(i)?tt(e.from,i,n)||tt(e.to,i,n):!1))return!0;const l=r.filter(i=>typeof i=="function");if(l.length){let i=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=c;d++){if(l.some(u=>u(i)))return!0;i=n.addDays(i,1)}}return!1}function bf(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:a,selected:s,required:l,onSelect:i}=e,[c,d]=Pn(s,i?s:void 0),u=i?s:c;return{selected:u,select:(g,p,b)=>{const{min:v,max:_}=e;let w;if(g){const x=u?.from,M=u?.to,C=!!x&&!!M,j=!!x&&!!M&&t.isSameDay(x,M)&&t.isSameDay(g,x);a&&(C||!u?.from)?!l&&j?w=void 0:w={from:g,to:void 0}:w=gf(g,u,v,_,l,t)}return r&&n&&w?.from&&w.to&&pf({from:w.from,to:w.to},n,t)&&(w.from=g,w.to=void 0),i||d(w),i?.(w,g,p,b),w},isSelected:g=>u&&et(u,g,!1,t)}}function xf(e,t){const{selected:n,required:r,onSelect:a}=e,[s,l]=Pn(n,a?n:void 0),i=a?n:s,{isSameDay:c}=t;return{selected:i,select:(f,h,g)=>{let p=f;return!r&&i&&i&&c(f,i)&&(p=void 0),a||l(p),a?.(p,f,h,g),p},isSelected:f=>i?c(i,f):!1}}function kf(e,t){const n=xf(e,t),r=hf(e,t),a=bf(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function Oe(e,t){return e instanceof pe&&e.timeZone===t?e:new pe(e,t)}function It(e,t,n){return Oe(e,t)}function Fa(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?It(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?It(r,t):r):In(e)?{...e,from:e.from?Oe(e.from,t):e.from,to:e.to?Oe(e.to,t):e.to}:Wr(e)?{before:It(e.before,t),after:It(e.after,t)}:Ir(e)?{after:It(e.after,t)}:Pr(e)?{before:It(e.before,t)}:e}function or(e,t,n){return e&&(Array.isArray(e)?e.map(r=>Fa(r,t)):Fa(e,t))}function wf(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Oe(t.today,n)),t.month&&(t.month=Oe(t.month,n)),t.defaultMonth&&(t.defaultMonth=Oe(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Oe(t.startMonth,n)),t.endMonth&&(t.endMonth=Oe(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Oe(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(X=>Oe(X,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Oe(t.selected.from,n):t.selected.from,to:t.selected.to?Oe(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=or(t.disabled,n)),t.hidden!==void 0&&(t.hidden=or(t.hidden,n)),t.modifiers)){const X={};Object.keys(t.modifiers).forEach(te=>{X[te]=or(t.modifiers?.[te],n)}),t.modifiers=X}const{components:r,formatters:a,labels:s,dateLib:l,locale:i,classNames:c}=m.useMemo(()=>{const X={...$o,...t.locale},te=t.broadcastCalendar?1:t.weekStartsOn,G=t.noonSafe&&t.timeZone?Xu(t.timeZone,{weekStartsOn:te,locale:X}):void 0,ee=t.dateLib&&G?{...G,...t.dateLib}:t.dateLib??G,le=new De({locale:X,weekStartsOn:te,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},ee);return{dateLib:le,components:Du(t.components),formatters:Bu(t.formatters),labels:Uu(t.labels,le.options),locale:X,classNames:{...Ou(),...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:d,mode:u,navLayout:f,numberOfMonths:h=1,onDayBlur:g,onDayClick:p,onDayFocus:b,onDayKeyDown:v,onDayMouseEnter:_,onDayMouseLeave:w,onNextClick:x,onPrevClick:M,showWeekNumber:C,styles:j}=t,{formatCaption:I,formatDay:N,formatMonthDropdown:A,formatWeekNumber:O,formatWeekNumberHeader:F,formatWeekdayName:V,formatYearDropdown:T}=a,W=df(t,l),{days:L,months:D,navStart:q,navEnd:R,previousMonth:k,nextMonth:P,goToMonth:B}=W,Z=Mu(L,t,q,R,l),{isSelected:$,select:z,selected:J}=kf(t,l)??{},{blur:ne,focused:se,isFocusTarget:Ae,moveFocus:he,setFocused:Ee}=mf(t,W,Z,$??(()=>!1),l),{labelDayButton:qt,labelGridcell:Be,labelGrid:we,labelMonthDropdown:Gt,labelNav:Ve,labelPrevious:Fe,labelNext:Te,labelWeekday:ct,labelWeekNumber:ye,labelWeekNumberHeader:ge,labelYearDropdown:xe}=s,Se=m.useMemo(()=>Ku(l,t.ISOWeek,t.broadcastCalendar,t.today),[l,t.ISOWeek,t.broadcastCalendar,t.today]),nt=u!==void 0||p!==void 0,$e=m.useCallback(()=>{k&&(B(k),M?.(k))},[k,B,M]),ve=m.useCallback(()=>{P&&(B(P),x?.(P))},[B,P,x]),Kt=m.useCallback((X,te)=>G=>{G.preventDefault(),G.stopPropagation(),Ee(X),!te.disabled&&(z?.(X.date,te,G),p?.(X.date,te,G))},[z,p,Ee]),Ye=m.useCallback((X,te)=>G=>{Ee(X),b?.(X.date,te,G)},[b,Ee]),Vt=m.useCallback((X,te)=>G=>{ne(),g?.(X.date,te,G)},[ne,g]),Xt=m.useCallback((X,te)=>G=>{const ee={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(ee[G.key]){G.preventDefault(),G.stopPropagation();const[le,K]=ee[G.key];he(le,K)}v?.(X.date,te,G)},[he,v,t.dir]),rt=m.useCallback((X,te)=>G=>{_?.(X.date,te,G)},[_]),re=m.useCallback((X,te)=>G=>{w?.(X.date,te,G)},[w]),St=m.useCallback(X=>te=>{const G=Number(te.target.value),ee=l.setMonth(l.startOfMonth(X),G);B(ee)},[l,B]),_e=m.useCallback(X=>te=>{const G=Number(te.target.value),ee=l.setYear(l.startOfMonth(X),G);B(ee)},[l,B]),{className:Ne,style:jt}=m.useMemo(()=>({className:[c[U.Root],t.className].filter(Boolean).join(" "),style:{...j?.[U.Root],...t.style}}),[c,t.className,t.style,j]),dt=Tu(t),Mt=m.useRef(null);ef(Mt,!!t.animate,{classNames:c,months:D,focused:se,dateLib:l});const ut={dayPickerProps:t,selected:J,select:z,isSelected:$,months:D,nextMonth:P,previousMonth:k,goToMonth:B,getModifiers:Z,components:r,classNames:c,styles:j,labels:s,formatters:a};return E.createElement(zo.Provider,{value:ut},E.createElement(r.Root,{rootRef:t.animate?Mt:void 0,className:Ne,style:jt,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"],...dt},E.createElement(r.Months,{className:c[U.Months],style:j?.[U.Months]},!t.hideNavigation&&!f&&E.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[U.Nav],style:j?.[U.Nav],"aria-label":Ve(),onPreviousClick:$e,onNextClick:ve,previousMonth:k,nextMonth:P}),D.map((X,te)=>E.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:c[U.Month],style:j?.[U.Month],key:te,displayIndex:te,calendarMonth:X},f==="around"&&!t.hideNavigation&&te===0&&E.createElement(r.PreviousMonthButton,{type:"button",className:c[U.PreviousMonthButton],tabIndex:k?void 0:-1,"aria-disabled":k?void 0:!0,"aria-label":Fe(k),onClick:$e,"data-animated-button":t.animate?"true":void 0},E.createElement(r.Chevron,{disabled:k?void 0:!0,className:c[U.Chevron],orientation:t.dir==="rtl"?"right":"left"})),E.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[U.MonthCaption],style:j?.[U.MonthCaption],calendarMonth:X,displayIndex:te},d?.startsWith("dropdown")?E.createElement(r.DropdownNav,{className:c[U.Dropdowns],style:j?.[U.Dropdowns]},(()=>{const G=d==="dropdown"||d==="dropdown-months"?E.createElement(r.MonthsDropdown,{key:"month",className:c[U.MonthsDropdown],"aria-label":Gt(),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:St(X.date),options:qu(X.date,q,R,a,l),style:j?.[U.Dropdown],value:l.getMonth(X.date)}):E.createElement("span",{key:"month"},A(X.date,l)),ee=d==="dropdown"||d==="dropdown-years"?E.createElement(r.YearsDropdown,{key:"year",className:c[U.YearsDropdown],"aria-label":xe(l.options),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:_e(X.date),options:Vu(q,R,a,l,!!t.reverseYears),style:j?.[U.Dropdown],value:l.getYear(X.date)}):E.createElement("span",{key:"year"},T(X.date,l));return l.getMonthYearOrder()==="year-first"?[ee,G]:[G,ee]})(),E.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"}},I(X.date,l.options,l))):E.createElement(r.CaptionLabel,{className:c[U.CaptionLabel],role:"status","aria-live":"polite"},I(X.date,l.options,l))),f==="around"&&!t.hideNavigation&&te===h-1&&E.createElement(r.NextMonthButton,{type:"button",className:c[U.NextMonthButton],tabIndex:P?void 0:-1,"aria-disabled":P?void 0:!0,"aria-label":Te(P),onClick:ve,"data-animated-button":t.animate?"true":void 0},E.createElement(r.Chevron,{disabled:P?void 0:!0,className:c[U.Chevron],orientation:t.dir==="rtl"?"left":"right"})),te===h-1&&f==="after"&&!t.hideNavigation&&E.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[U.Nav],style:j?.[U.Nav],"aria-label":Ve(),onPreviousClick:$e,onNextClick:ve,previousMonth:k,nextMonth:P}),E.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":we(X.date,l.options,l)||void 0,className:c[U.MonthGrid],style:j?.[U.MonthGrid]},!t.hideWeekdays&&E.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[U.Weekdays],style:j?.[U.Weekdays]},C&&E.createElement(r.WeekNumberHeader,{"aria-label":ge(l.options),className:c[U.WeekNumberHeader],style:j?.[U.WeekNumberHeader],scope:"col"},F()),Se.map(G=>E.createElement(r.Weekday,{"aria-label":ct(G,l.options,l),className:c[U.Weekday],key:String(G),style:j?.[U.Weekday],scope:"col"},V(G,l.options,l)))),E.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[U.Weeks],style:j?.[U.Weeks]},X.weeks.map(G=>E.createElement(r.Week,{className:c[U.Week],key:G.weekNumber,style:j?.[U.Week],week:G},C&&E.createElement(r.WeekNumber,{week:G,style:j?.[U.WeekNumber],"aria-label":ye(G.weekNumber,{locale:i}),className:c[U.WeekNumber],scope:"row",role:"rowheader"},O(G.weekNumber,l)),G.days.map(ee=>{const{date:le}=ee,K=Z(ee);if(K[ce.focused]=!K.hidden&&!!se?.isEqualTo(ee),K[Re.selected]=$?.(le)||K.selected,In(J)){const{from:ft,to:Xe}=J;K[Re.range_start]=!!(ft&&Xe&&l.isSameDay(le,ft)),K[Re.range_end]=!!(ft&&Xe&&l.isSameDay(le,Xe)),K[Re.range_middle]=et(J,le,!0,l)}const Qt=Gu(K,j,t.modifiersStyles),Ct=Cu(K,c,t.modifiersClassNames),Dt=!nt&&!K.hidden?Be(le,K,l.options,l):void 0;return E.createElement(r.Day,{key:`${ee.isoDate}_${ee.displayMonthId}`,day:ee,modifiers:K,className:Ct.join(" "),style:Qt,role:"gridcell","aria-selected":K.selected||void 0,"aria-label":Dt,"data-day":ee.isoDate,"data-month":ee.outside?ee.dateMonthId:void 0,"data-selected":K.selected||void 0,"data-disabled":K.disabled||void 0,"data-hidden":K.hidden||void 0,"data-outside":ee.outside||void 0,"data-focused":K.focused||void 0,"data-today":K.today||void 0},!K.hidden&&nt?E.createElement(r.DayButton,{className:c[U.DayButton],style:j?.[U.DayButton],type:"button",day:ee,modifiers:K,disabled:!K.focused&&K.disabled||void 0,"aria-disabled":K.focused&&K.disabled||void 0,tabIndex:Ae(ee)?0:-1,"aria-label":qt(le,K,l.options,l),onClick:Kt(ee,K),onBlur:Vt(ee,K),onFocus:Ye(ee,K),onKeyDown:Xt(ee,K),onMouseEnter:rt(ee,K),onMouseLeave:re(ee,K)},N(le,l.options,l)):!K.hidden&&N(ee.date,l.options,l))})))))))),t.footer&&E.createElement(r.Footer,{className:c[U.Footer],style:j?.[U.Footer],role:"status","aria-live":"polite"},t.footer)))}function Wa(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())?Ge(n,"MMM d"):e}function vr({from:e,to:t,onApply:n,onCancel:r}){const a=m.useMemo(()=>{const d={from:void 0,to:void 0};if(e){const u=e.split("-");d.from=new Date(Number(u[0]),Number(u[1])-1,Number(u[2]))}if(t){const u=t.split("-");d.to=new Date(Number(u[0]),Number(u[1])-1,Number(u[2]))}return d},[e,t]),[s,l]=m.useState(a),i=()=>{if(!s?.from)return;const d=Ge(s.from,"yyyy-MM-dd"),u=s.to?Ge(s.to,"yyyy-MM-dd"):d;n?.(d,u)},c=!!s?.from;return o.jsxs("div",{className:"p-4",children:[o.jsx(wf,{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:[Ge(s.from,"MMM d, yyyy"),s.to&&s.to.getTime()!==s.from.getTime()?` — ${Ge(s.to,"MMM d, yyyy")}`:""]}),o.jsx(Dn,{variant:"secondary",size:"sm",onClick:r,children:"Cancel"}),o.jsx(Dn,{variant:"primary",size:"sm",onClick:i,disabled:!c,children:"Apply"})]})]})}const Ia={claude:35,codex:250},Pa={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 vf(e,t){const n=Ia[t]??Ia.claude,r=Pa[e]||Pa.system_prompt;return`oklch(${r.l} ${r.c} ${n})`}const _f=[{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"]}],Nf=[["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"]],Sf={duration:.18,ease:[.4,0,.2,1]},jf={height:0,opacity:0},Mf={height:"auto",opacity:1},Cf={height:0,opacity:0};function Df(e){const t=Number(e||0);return Number.isFinite(t)&&t>0?t:0}function Tf(e,t){const n={};for(const r of["input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","total_tokens"])n[r]=Math.round(Number(e?.[r]||0)*t);return n}function as(e,t=null){const n=e.reduce((l,i)=>l+Number(i.totals.total_tokens||0),0),r=Df(t),a=r||n,s=r&&n>0?r/n:1;return e.map(l=>{const i=s===1?l.totals:Tf(l.totals,s);return{...l,totals:i,percent:a>0?Number((i.total_tokens/a*100).toFixed(2)):0}}).sort((l,i)=>i.totals.total_tokens-l.totals.total_tokens)}function Of(e,t=null){const n=new Map;for(const a of e||[])n.set(a.key,a);const r=_f.map(a=>{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 a.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:a.key,totals:s}});return as(r,t)}function Af(e,t=null){const n=e?.totals||{},r=Number(n.reasoning_output_tokens||0),a=(e?.tool_calls_breakdown?.categories||[]).reduce((d,u)=>u?.name==="Text Response"?d:d+Number(u?.totals?.total_tokens||0),0),s=Number(n.total_tokens||0),l=Math.min(Math.max(0,a),Math.max(0,s-r)),c=[{key:"messages",totals:{total_tokens:Math.max(0,s-r-l)}},{key:"tool_calls",totals:{total_tokens:l}},{key:"reasoning",totals:{total_tokens:r}}];return as(c,t)}const La="MCP: ";function Ef(e){if(!e?.categories?.length)return{mcpSet:null,residualSet:e,mcpTotalTokens:0};const t=[],n=[];let r=0;for(const a of e.categories){const s=String(a?.name||"");s.startsWith(La)?(t.push({...a,name:s.slice(La.length)}),r+=Number(a?.totals?.total_tokens||0)):n.push(a)}return t.length===0?{mcpSet:null,residualSet:e,mcpTotalTokens:0}:(t.sort((a,s)=>(s.totals?.total_tokens||0)-(a.totals?.total_tokens||0)),{mcpSet:{...e,categories:t},residualSet:{...e,categories:n},mcpTotalTokens:r})}function Ra(e){return y(`dashboard.context_breakdown.category.${e}`)}function Ue(e){return!Number.isFinite(Number(e))||Number(e)<=0?"0":ke(Number(e),{decimals:1})}function Ff(e){return typeof e!="string"?"":e.startsWith("mcp__")?e.split("__").slice(2).join("__")||e:e.includes("/")&&e.split("/").pop()||e}function Wf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||null,r=Number(n?n.input_tokens||0:t?.input_tokens||0),a=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||r+a:t?.total_tokens||a);return{name:Ff(t?.name?String(t.name):""),calls:Number(t?.calls||0),input_tokens:r,output_tokens:a,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 If(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},r=Array.isArray(t?.tools)?t.tools:[],a=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:a,output_tokens:s,cached_input_tokens:l,cache_creation_input_tokens:i,total_tokens:Number(n.total_tokens||a+s)},tools:Wf(r),toolCount:r.length}}).filter(t=>t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Pf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},r=Number(n.input_tokens||0),a=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:r,output_tokens:a,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||r+a+s+l)}}}).filter(t=>t.key||t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function Lf(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 Rf(e){if(e?.key){const t=y(`dashboard.context_breakdown.message_details.${e.key}`);if(t&&!t.includes("dashboard.context_breakdown"))return t}return e?.name||""}function Bf(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},r=Number(n.input_tokens||0),a=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:r,output_tokens:a,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||r+a)}}}).filter(t=>t.name).sort((t,n)=>Number(n.totals.total_tokens||0)-Number(t.totals.total_tokens||0))}function Ba(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 $f(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 $a(e){return e==="exec_command"||e==="Bash"}function os(e){return e==="codex"?"dashboard.context_breakdown.empty_codex":"dashboard.context_breakdown.empty"}function Yf(e){return e==="codex"?"dashboard.context_breakdown.error_codex":"dashboard.context_breakdown.error"}function zf(e){return e==="codex"?"dashboard.context_breakdown.footnote_codex":"dashboard.context_breakdown.footnote"}const Hf=10;function Ze({level:e=0,colorSquare:t=null,label:n,labelSuffix:r=null,labelTone:a="default",hasChevron:s=!1,open:l=!1,onToggle:i,tokens:c,percent:d=null,children:u,share:f=null,fillColor:h=null}){const g=a==="accent"?"text-oai-brand truncate":a==="muted"?"text-oai-gray-500 dark:text-oai-gray-400 truncate":a==="strong"?"font-medium text-oai-black dark:text-oai-white truncate":"text-oai-gray-700 dark:text-oai-gray-300 truncate",p=o.jsx("span",{className:"shrink-0 flex items-center justify-start",style:{width:Hf},"aria-hidden":!t,children:t}),b=o.jsxs(o.Fragment,{children:[p,o.jsx("span",{className:g,children:n}),r,s&&o.jsx(be.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(ko,{size:11})})]}),v=h&&f!=null&&f>0,_=v?Math.max(0,Math.min(100,f)):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:v?{backgroundImage:`linear-gradient(to right, ${h.replace(/\)\s*$/," / 0.10)")} 0%, ${h.replace(/\)\s*$/," / 0.10)")} ${_}%, transparent ${_}%)`}: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:b}):o.jsx("div",{className:"relative flex items-center gap-1.5 min-w-0",children:b}),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:d||""})]}),s&&u?o.jsx(Tr,{initial:!1,children:l&&o.jsx(be.div,{initial:jf,animate:Mf,exit:Cf,transition:Sf,style:{overflow:"hidden"},children:u},"content")}):null]})}function Ya({execDetails:e,source:t="claude"}){const[n,r]=m.useState("by_type"),a=Bf($f(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:Nf.map(([i,c])=>o.jsx("button",{type:"button",onClick:()=>r(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:y(c)},i))}),a.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":y("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:y("dashboard.context_breakdown.exec_details.kind_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.calls_column")}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.failures_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.duration_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.max_duration_column")})]}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.tool_details.total_column")}),s&&o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.output_column")})]}),a.map((i,c)=>o.jsxs(be.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:ke(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:ke(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:Ba(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:Ba(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:Ue(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:ke(i.output_lines||0)})]},i.name))]})})]})}function rn({toolSet:e,execDetails:t,source:n,codexQueueFallback:r}){const[a,s]=m.useState({}),[l,i]=m.useState(!1),c=If(e?.categories||[]);function d(u){s(f=>({...f,[u]:!f[u]}))}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"&&r?y("dashboard.context_breakdown.tool_details.unavailable_codex"):y(os(n))}):o.jsx("ul",{className:"mt-0.5 mb-0.5 space-y-0.5",children:c.map(u=>{const f=u.toolCount>0,h=u.name==="Execution"&&t,g=h&&u.tools.some(b=>$a(b.name)),p=!!a[u.name];return o.jsxs(Ze,{level:1,label:u.name,labelTone:"strong",hasChevron:f||h&&!g,open:p||h&&!g&&l,onToggle:()=>{f?d(u.name):h&&!g&&i(b=>!b)},tokens:Ue(u.totals.total_tokens||0),percent:null,children:[f&&o.jsx("ul",{className:"space-y-0.5",children:u.tools.map(b=>{const v=h&&$a(b.name);return o.jsx(Ze,{level:2,label:b.name,labelTone:v?"accent":"default",hasChevron:v,open:l,onToggle:()=>i(_=>!_),tokens:Ue(b.total_tokens||0),percent:null,children:v&&o.jsx(Ya,{execDetails:t,source:n})},b.name)})}),h&&!g&&o.jsx(Ya,{execDetails:t,source:n})]},u.name)})})}function Uf({from:e,to:t,source:n="claude",referenceTotalTokens:r=null,onLoadingChange:a=null}){const[s,l]=m.useState(null),[i,c]=m.useState(!1),[d,u]=m.useState(null),[f,h]=m.useState({});function g(D){h(q=>({...q,[D]:!q[D]}))}if(m.useEffect(()=>{let D=!1;return c(!0),a?.(!0),u(null),Qi({from:e,to:t,source:n,timeZone:go(),tzOffsetMinutes:ho()}).then(q=>{D||l(q)}).catch(q=>{D||u(q?.message||String(q))}).finally(()=>{D||(c(!1),a?.(!1))}),()=>{D=!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(D=>o.jsx("div",{className:"h-3 rounded bg-oai-gray-100 dark:bg-oai-gray-800 animate-pulse",style:{animationDelay:`${D*80}ms`}},D))}),o.jsx("p",{className:"mt-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:y("dashboard.context_breakdown.loading_hint")})]});if(d)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:y(Yf(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:y(os(n))});const p=n==="claude"?Of(s.categories||[],r):Af(s,r),b=s.tool_calls_breakdown||null,v=s.skills_breakdown||null,_=s.message_breakdown||null,w=s.configured_resources||null,x=s.exec_command_breakdown||null,M=Lf(v?.skills||[]),C=Pf(_?.categories||[]),j=n==="codex"&&(s?.breakdown_status==="queue_fallback"||s?.fallback==="queue_totals"),I=n==="claude"?b?.tool_calls||null:b||null,{mcpSet:N,residualSet:A,mcpTotalTokens:O}=Ef(I),F=n==="claude"&&b?.subagents||null,V=F?.categories?.length>0||(w?.custom_agents_count||0)>0,T=n==="claude"?(A?.categories||[]).reduce((D,q)=>D+Number(q?.totals?.total_tokens||0),0):0,W=n==="claude"?(F?.categories||[]).reduce((D,q)=>D+Number(q?.totals?.total_tokens||0),0):0,L=[...p].sort((D,q)=>(q.totals?.total_tokens||0)-(D.totals?.total_tokens||0));return o.jsxs("div",{role:"region","aria-label":y("dashboard.context_breakdown.bar_aria",{summary:p.filter(D=>D.percent>0).filter(D=>!(n==="claude"&&(D.key==="tool_calls"||D.key==="custom_agents"))).map(D=>`${Ra(D.key)} ${D.percent}%`).join(",")}),children:[o.jsxs("ul",{className:"space-y-0.5",children:[L.map(D=>{const q=D.key==="system_prompt",R=D.key==="messages",k=D.key==="tool_calls",P=D.key==="custom_agents";if(D.key,n==="claude"&&(k||P))return null;const B=R&&C.length>0||k&&(A?.categories?.length>0||j)||P&&V&&F,Z=!!f[D.key],$=vf(D.key,n),z=o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0",style:{backgroundColor:$},"aria-hidden":"true"}),J=q?o.jsxs("span",{className:"relative inline-flex shrink-0 group",children:[o.jsx(xo,{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:y("dashboard.context_breakdown.system_prefix_tooltip")})]}):null,ne=D.percent>0?`${D.percent.toFixed(D.percent<.1&&D.percent>0?2:1)}%`:"0.0%";return o.jsxs(Ze,{level:0,colorSquare:z,label:Ra(D.key),labelSuffix:J,tokens:Ue(D.totals?.total_tokens||0),percent:ne,hasChevron:B,open:Z,onToggle:()=>g(D.key),share:D.percent,fillColor:$,children:[R&&o.jsx("ul",{className:"space-y-0.5",children:C.map(se=>o.jsx(Ze,{level:1,label:Rf(se),tokens:Ue(se.totals.total_tokens||0),percent:null},se.key||se.name))}),k&&A&&o.jsx(rn,{toolSet:A,execDetails:x,source:n,codexQueueFallback:j}),k&&j&&!A&&o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:y("dashboard.context_breakdown.tool_details.unavailable_codex")}),P&&F&&o.jsx(rn,{toolSet:F,execDetails:null,source:n,codexQueueFallback:!1})]},D.key)}),n==="claude"&&A?.categories?.length>0&&o.jsx(Ze,{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:y("dashboard.context_breakdown.category.tool_calls"),tokens:Ue(T),percent:null,hasChevron:!0,open:!!f.tool_calls_aux,onToggle:()=>g("tool_calls_aux"),children:o.jsx(rn,{toolSet:A,execDetails:x,source:n,codexQueueFallback:!1})}),n==="claude"&&F?.categories?.length>0&&o.jsx(Ze,{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:y("dashboard.context_breakdown.category.custom_agents"),tokens:Ue(W),percent:null,hasChevron:!0,open:!!f.custom_agents_aux,onToggle:()=>g("custom_agents_aux"),children:o.jsx(rn,{toolSet:F,execDetails:null,source:n,codexQueueFallback:!1})}),N?.categories?.length>0&&o.jsx(Ze,{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:y("dashboard.context_breakdown.category.mcp_servers"),tokens:Ue(O),percent:null,hasChevron:!0,open:!!f.mcp_servers,onToggle:()=>g("mcp_servers"),children:o.jsx(rn,{toolSet:N,execDetails:null,source:n,codexQueueFallback:!1})}),M.length>0&&o.jsx(Ze,{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:y("dashboard.context_breakdown.category.skills"),tokens:Ue(M.reduce((D,q)=>D+(q.total_tokens||0),0)),percent:null,hasChevron:!0,open:!!f.skills,onToggle:()=>g("skills"),children:o.jsx("ul",{className:"space-y-0.5",children:M.slice(0,12).map(D=>o.jsx(Ze,{level:1,label:D.name,tokens:Ue(D.total_tokens),percent:null},D.name))})})]}),o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:y(zf(n))}),j?o.jsx("p",{className:"mt-2 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:y("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:[ke(w.skills_count||0)," skills ·"," ",ke(w.mcp_servers_count||0)," MCP servers ·"," ",ke(w.custom_agents_count||0)," agents ·"," ",ke(w.memory_files_count||0)," memory files"]}):null]})}function ss(e){if(!Number.isFinite(Number(e)))return null;const t=Number(e);return t<=0?null:ke(t,{decimals:1})}function is(e,t,n){const r=Number(e);if(!Number.isFinite(r)||r<=0)return null;const a=Fn(t);return(t===mo?r:r*n)<.01?`<${a}0.01`:zt(r,{decimals:2,currency:t,rate:n})}function qf(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?{key:t,label:za(t)}:{key:t.key,label:t.label||za(t.key)}):[]}function Gf(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 Kf={CODEX:"#3b82f6",CLAUDE:"#d97757",OPENCODE:"#f59e0b",GEMINI:"#2196f3",KIMI:"#a78bfa","KILO-CLI":"#facc15","KILO-CODE":"#facc15",DROID:"#ef4444"};function sr(e,t){const n=e?.toUpperCase?.()||"";return Kf[n]||`hsl(${150+t*40}, 60%, 45%)`}function Vf(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 Xf={day:"usage.period.day",week:"usage.period.week",month:"usage.period.month",total:"usage.period.total",custom:"usage.period.custom"};function za(e){const t=Xf[e];return t?y(t):String(e).toUpperCase()}function Qf({loading:e,onClick:t}){const n=Dr();return o.jsx(Dn,{variant:"secondary",size:"sm",disabled:e,onClick:t,"aria-label":y("usage.button.refresh"),className:"w-8 p-0",children:o.jsx(be.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 Jf({period:e,periods:t,onPeriodChange:n,summaryValue:r,summaryLabel:a,summaryCostValue:s,onCostInfo:l,fleetData:i=[],onRefresh:c,loading:d,className:u="",customFrom:f,customTo:h,onCustomRangeApply:g,customRangeOpen:p,onCustomRangeOpenChange:b,onOpenShare:v,from:_,to:w}){const x=qf(t),M=Gf(String(r??"")),C=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 639px)").matches,[j,I]=m.useState(C);m.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const k=window.matchMedia("(max-width: 639px)"),P=B=>I(B.matches);return k.addEventListener("change",P),()=>k.removeEventListener("change",P)},[]);const N=M!=null&&!j,A=m.useRef(null);m.useEffect(()=>{const k=A.current?.querySelector('[aria-selected="true"]');k&&typeof k.scrollIntoView=="function"&&k.scrollIntoView({block:"nearest",inline:"center"})},[e]);const[O,F]=m.useState(null),{resolvedTheme:V}=Ji(),{currency:T,rate:W}=Ht(),L=V==="dark",D=L?"rgba(10,10,10,0.98)":"rgba(255,255,255,0.96)",q=L?"rgba(10,10,10,0)":"rgba(255,255,255,0)",R=i.filter(k=>k.models?.length>0);return o.jsxs(Or,{className:u,children:[o.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[o.jsx("div",{ref:A,role:"tablist","aria-label":y("usage.overview.tablist_aria"),className:"flex flex-1 min-w-0 gap-1 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:x.map(k=>{const P=e===k.key,B=`shrink-0 whitespace-nowrap text-xs font-medium px-3 py-1.5 rounded-md transition-colors ${P?"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(k.key==="custom"){const Z=P&&f&&h?`${Wa(f)} — ${Wa(h)}`:k.label;return o.jsxs(yr,{open:p,onOpenChange:$=>{$?n?.("custom"):b?.($)},children:[o.jsx(pr,{render:o.jsx("button",{role:"tab","aria-selected":P,type:"button",className:B}),children:Z}),o.jsx(br,{children:o.jsx(xr,{sideOffset:8,side:"bottom",align:"start",className:"!z-[9999]",children:o.jsx(kr,{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(vr,{from:f,to:h,onApply:g,onCancel:()=>b?.(!1)})})})})]},"custom")}return o.jsx("button",{role:"tab","aria-selected":P,type:"button",className:B,onClick:()=>n?.(k.key),children:k.label},k.key)})}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[v?o.jsxs("button",{type:"button",onClick:v,"aria-label":y("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(Ol,{className:"h-3.5 w-3.5",strokeWidth:2}),y("share.button.label")]}):null,c&&o.jsx(Qf,{loading:d,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:a}),o.jsx("div",{className:"text-5xl sm:text-6xl md:text-7xl font-bold text-oai-black dark:text-oai-white tracking-tight tabular-nums",children:N?o.jsx(kc,{value:M,displayValue:r,fontSize:72,padding:6,gap:1,textColor:"var(--oai-black, #111827)",fontWeight:700,gradientHeight:L?0:8,gradientFrom:D,gradientTo:q,counterStyle:{paddingLeft:0,paddingRight:0,gap:0},digitStyle:{width:"0.88ch"}}):r}),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":y("usage.overview.cost_breakdown_aria"),children:[s,o.jsx(xo,{size:16,strokeWidth:2,className:"opacity-80"})]}):o.jsx("span",{className:"text-xl font-bold text-oai-brand",children:s})})]}),R.length>0&&o.jsxs("div",{className:"space-y-6",children:[o.jsx("div",{role:"img","aria-label":y("usage.overview.distribution_aria",{items:R.map(k=>y("usage.overview.distribution_item",{label:k.label,percent:k.totalPercent})).join(",")}),className:"h-1.5 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden flex",children:R.map((k,P)=>{const B=sr(k.label,P);return o.jsx(be.div,{initial:{width:0},animate:{width:`${k.totalPercent}%`},transition:{duration:.5,delay:.45+P*.04,ease:[.16,1,.3,1]},className:"h-full",style:{backgroundColor:B},title:`${k.label}: ${k.totalPercent}%`},k.label)})}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:R.map((k,P)=>{const B=sr(k.label,P),Z=O===k.label;return o.jsxs("button",{"aria-expanded":Z,"aria-controls":`provider-details-${k.label}`,"aria-label":y("usage.overview.provider_card_aria",{provider:k.label,percent:k.totalPercent,tokens:ss(k.usage)||"0",cost:is(k.usd,T,W)||`${Fn(T)}0`,action:y(Z?"usage.overview.collapse":"usage.overview.expand")}),onClick:()=>F(Z?null:k.label),className:`min-w-0 text-left p-3 rounded-lg border transition-colors duration-200 ${Z?"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(yo,{provider:k.label,size:15,color:B,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:k.label})]}),o.jsxs("div",{className:"text-lg font-semibold text-oai-black dark:text-oai-white tabular-nums",children:[k.totalPercent,"%"]}),o.jsx("div",{className:"mt-0.5 text-[11px] text-oai-gray-400 dark:text-oai-gray-400 tabular-nums",children:y("usage.overview.model_count",{count:k.models.length})})]},k.label)})}),O&&o.jsx("div",{id:`provider-details-${O}`,role:"region","aria-label":y("usage.overview.model_details_aria",{provider:O}),className:"mt-2",children:R.filter(k=>k.label===O).map(k=>{const P=sr(k.label,0),B=Vf(k),Z=[...k.models].sort((z,J)=>(J.share||0)-(z.share||0)),$=B?`${B==="claude"?"Claude":"Codex"} Context Breakdown`:k.label;return o.jsx(Zf,{provider:k,color:P,providerHeading:$,contextSource:B,from:_,to:w,sortedModels:Z},k.label)})})]})]})}function Zf({provider:e,color:t,providerHeading:n,contextSource:r,from:a,to:s,sortedModels:l}){const{currency:i,rate:c}=Ht(),[d,u]=m.useState(!1),f=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(yo,{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}),r&&d&&o.jsx(Ml,{size:12,className:"text-oai-gray-400 dark:text-oai-gray-500 animate-spin shrink-0","aria-label":y("dashboard.context_breakdown.loading_aria")})]}),f&&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:[y("usage.overview.antigravity_notice_title"),"."]})," ",y("usage.overview.antigravity_notice_body")]}),r?o.jsx("div",{className:"mb-4 pb-4 border-b border-oai-gray-200 dark:border-oai-gray-700",children:o.jsx(Uf,{from:a,to:s,source:r,referenceTotalTokens:e.usage,onLoadingChange:u})}):null,o.jsx("div",{className:"space-y-3",children:l.map(h=>{const g=ss(h.usage),p=is(h.cost,i,c),b=Math.max(0,Math.min(100,Number(h.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:h.name,children:h.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:g}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:p}),o.jsxs("span",{className:"shrink-0 w-12 text-right text-sm text-oai-black dark:text-oai-white tabular-nums",children:[h.share,"%"]})]}),o.jsx("div",{className:"h-[3px] bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden",role:"progressbar","aria-valuenow":b,"aria-valuemin":0,"aria-valuemax":100,children:o.jsx("div",{className:"h-full transition-[width] duration-500 ease-out",style:{width:`${b}%`,backgroundColor:t,opacity:.45}})})]},h.id||h.name)})})]})}function em(e){return e==="day"?"hourly":e==="total"?"monthly":"daily"}function tm(e){return!!e&&!e.missing&&!e.future}function nm(e){const t=e?.billable_total_tokens??e?.total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function rm(e){const t=e?.total_tokens??e?.billable_total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function am(e){const t=Array.isArray(e)?e.filter(tm):[];let n=0,r=0,a=0,s=0,l=!1,i=0,c=-1,d=null;for(const u of t){const f=rm(u),h=nm(u);n+=f,r+=h;const g=Number(u?.conversation_count);Number.isFinite(g)&&g>0&&(a+=g);const p=Number(u?.total_cost_usd);Number.isFinite(p)&&(l=!0,s+=p),h>0&&(i+=1),h>c&&(c=h,d=u)}return{totalTokens:n,billableTokens:r,conversationCount:a,totalCostUsd:l?s:null,bucketCount:t.length,activeBuckets:i,peak:d&&c>0?{value:c,label:d.hour||d.day||d.month||""}:null}}function Ha(e){return String(e).padStart(2,"0")}function om(e,t){if(!e)return"";if(t==="hourly"){const n=String(e.hour||e.label||""),r=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})/.exec(n);if(!r)return n;const[,a,s,l]=r,c=Number(s)*60+Number(l)+30,d=Math.floor(c/60)%24,u=c%60;return`${a} ${s}:${l}–${Ha(d)}:${Ha(u)}`}return String(t==="monthly"?e.month||e.label||"":e.day||e.label||"")}function sm(e){if(!e||e.activeBuckets===0)return"trend.zoom.insight.empty";const t=e.totalTokens||0;return t<1e7?"trend.zoom.insight.calm":t<5e8?"trend.zoom.insight.steady":t<5e9?"trend.zoom.insight.heavy":"trend.zoom.insight.massive"}function im(e,t){if(!e)return"";if(t==="hourly"){const a=/T(\d{2}:\d{2})/.exec(String(e.hour||e.label||""));return a?a[1]:""}if(t==="monthly")return String(e.month||e.label||"");const n=String(e.day||e.label||""),r=/^\d{4}-(\d{2}-\d{2})$/.exec(n);return r?r[1]:n}const lm=[{period:"day",labelKey:"trend.zoom.gran.30min"},{period:"month",labelKey:"trend.zoom.gran.day"},{period:"total",labelKey:"trend.zoom.gran.month"}],cm=24,Pt="#10b981";function Ua(e){return e==="day"?"day":e==="total"?"total":"month"}function _r(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const r=new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3])));r.setUTCDate(r.getUTCDate()+t);const a=r.getUTCFullYear(),s=String(r.getUTCMonth()+1).padStart(2,"0"),l=String(r.getUTCDate()).padStart(2,"0");return`${a}-${s}-${l}`}function dm(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const r=new Date(Date.UTC(Number(n[1]),Number(n[2])-1+t,Number(n[3]))),a=r.getUTCFullYear(),s=String(r.getUTCMonth()+1).padStart(2,"0"),l=String(r.getUTCDate()).padStart(2,"0");return`${a}-${s}-${l}`}function um(e,t){const n=/^(\d{4})-(\d{2})/.exec(String(e||"")),r=/^(\d{4})-(\d{2})/.exec(String(t||""));if(!n||!r)return cm;const a=Number(r[1])*12+Number(r[2])-(Number(n[1])*12+Number(n[2]))+1;return Math.max(1,a)}function qa(e,t){return t?e==="total"?{from:dm(t,-23),to:t}:{from:_r(t,-29),to:t}:{from:null,to:null}}function fm(e){const t=/^\d{4}-(\d{2}-\d{2})T(\d{2}:\d{2})/.exec(String(e||""));return t?`${t[1]} ${t[2]}`:e||""}function wn({label:e,value:t,sub:n}){return o.jsxs("div",{className:"flex flex-col gap-1.5 group",children:[o.jsx("span",{className:"text-[9px] font-bold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:e}),o.jsx("span",{className:"text-xl font-black font-mono text-zinc-900 dark:text-zinc-50 tracking-tight leading-none tabular-nums transition-transform duration-200 group-hover:-translate-y-[1px]",children:t}),n?o.jsx("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono tabular-nums",children:n}):null]})}function mm({zoomConfig:e,period:t,from:n,to:r,timeZoneLabel:a,onClose:s,renderChart:l}){const{currency:i,rate:c}=Ht(),d=E.useMemo(()=>En({timeZone:e?.timeZone,offsetMinutes:e?.tzOffsetMinutes,date:e?.now||new Date})||r||n||null,[e?.timeZone,e?.tzOffsetMinutes,e?.now,r,n]),[u,f]=E.useState(()=>Ua(t)),[h,g]=E.useState(d),[p,b]=E.useState(()=>qa(Ua(t),d)),[v,_]=E.useState(!1),[w,x]=E.useState(!1),[M,C]=E.useState(!1),j=d,I=k=>{f(k),k!=="day"&&b(qa(k,d))},N=E.useMemo(()=>u==="day"?{from:h,to:h,months:void 0}:u==="total"?{from:void 0,to:p.to,months:um(p.from,p.to)}:{from:p.from,to:p.to,months:void 0},[u,h,p]),{rows:A,from:O,to:F,loading:V}=wo({...e,period:u,from:N.from,to:N.to,months:N.months}),T=E.useMemo(()=>am(A),[A]),W=E.useCallback(()=>C(!0),[]),L=k=>{k.target===k.currentTarget&&M&&s()};if(E.useEffect(()=>{const k=P=>{P.key==="Escape"&&W()};return window.addEventListener("keydown",k),()=>window.removeEventListener("keydown",k)},[W]),typeof document>"u")return null;const D=u==="day"&&!!h,q=u==="day"&&!!h&&(!j||h<j),R=T.totalCostUsd!=null?zt(T.totalCostUsd,{currency:i,rate:c}):null;return Zi.createPortal(o.jsxs("div",{onAnimationEnd:L,onClick:k=>{k.target===k.currentTarget&&W()},className:Le("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",M?"animate-tt-fade-out":"animate-tt-fade-in"),children:[o.jsx("style",{children:`
2
+ @keyframes tt-fade-in { from { opacity: 0; } to { opacity: 1; } }
3
+ @keyframes tt-fade-out { from { opacity: 1; } to { opacity: 0; } }
4
+ @keyframes tt-modal-entrance {
5
+ from { opacity: 0; transform: scale(0.96) translateY(10px); }
6
+ to { opacity: 1; transform: scale(1) translateY(0); }
7
+ }
8
+ @keyframes tt-modal-exit {
9
+ from { opacity: 1; transform: scale(1) translateY(0); }
10
+ to { opacity: 0; transform: scale(0.96) translateY(10px); }
11
+ }
12
+ .animate-tt-fade-in { animation: tt-fade-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
13
+ .animate-tt-fade-out { animation: tt-fade-out 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
14
+ .animate-tt-modal { animation: tt-modal-entrance 0.3s cubic-bezier(0.34, 1.3, 0.64, 1) forwards; }
15
+ .animate-tt-modal-exit { animation: tt-modal-exit 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
16
+ @media (prefers-reduced-motion: reduce) {
17
+ .animate-tt-fade-in, .animate-tt-fade-out, .animate-tt-modal, .animate-tt-modal-exit { animation: none; }
18
+ }
19
+ `}),o.jsxs("div",{className:Le("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",M?"animate-tt-modal-exit":"animate-tt-modal"),children:[o.jsx("button",{type:"button",onClick:W,"aria-label":y("trend.zoom.close_aria"),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(fo,{size:16})}),o.jsxs("div",{className:"w-full md:w-[320px] shrink-0 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:Pt}}),o.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:Pt}})]}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:y("trend.zoom.badge")})]}),o.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:y("trend.monitor.label")}),a?o.jsx("p",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 mt-1.5 font-mono select-none",children:a}):null,o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:y("trend.zoom.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.jsx(wn,{label:y("trend.zoom.stats.tokens"),value:ke(T.totalTokens)}),R?o.jsx(wn,{label:y("trend.zoom.stats.cost"),value:R}):null,o.jsx(wn,{label:y("trend.zoom.stats.conversations"),value:T.conversationCount.toLocaleString()}),T.peak?o.jsx(wn,{label:y("trend.zoom.stats.peak"),value:ke(T.peak.value),sub:fm(T.peak.label)}):null]}),o.jsxs("div",{className:"flex flex-col gap-2 select-none",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(fl,{size:11,style:{color:Pt}}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:Pt},children:y("trend.zoom.insight_badge")})]}),o.jsxs("div",{className:"pl-3.5 border-l-2 relative",style:{borderColor:Pt},children:[o.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:Pt}}),o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:y(sm(T),{active:T.activeBuckets,peak:ke(T.peak?.value||0)})})]})]})]}),o.jsxs("div",{className:"flex-1 min-w-0 flex flex-col p-5 md:p-6 overflow-y-auto",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6 pr-10",children:[o.jsx("div",{role:"tablist","aria-label":y("trend.zoom.gran.aria"),className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[11px]",children:lm.map(k=>o.jsx("button",{type:"button",role:"tab","aria-selected":u===k.period,onClick:()=>I(k.period),className:Le("px-2.5 py-1 rounded transition-colors",u===k.period?"bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200"),children:y(k.labelKey)},k.period))}),u==="day"?o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("button",{type:"button",onClick:()=>D&&g(k=>_r(k,-1)),disabled:!D,"aria-label":y("trend.zoom.prev_day"),className:"p-1 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 disabled:opacity-30 disabled:pointer-events-none transition-colors",children:o.jsx(Dl,{size:16})}),o.jsxs(yr,{open:v,onOpenChange:_,children:[o.jsx(pr,{"aria-label":y("trend.zoom.pick_day"),className:"text-[12px] font-medium text-oai-gray-700 dark:text-oai-gray-200 tabular-nums min-w-[100px] text-center px-2 py-0.5 rounded-md border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:h||"—"}),o.jsx(br,{children:o.jsx(xr,{sideOffset:8,side:"bottom",align:"center",className:"!z-[9999]",children:o.jsx(kr,{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(vr,{from:h,to:h,onApply:k=>{k&&g(k),_(!1)},onCancel:()=>_(!1)})})})})]}),o.jsx("button",{type:"button",onClick:()=>q&&g(k=>_r(k,1)),disabled:!q,"aria-label":y("trend.zoom.next_day"),className:"p-1 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 disabled:opacity-30 disabled:pointer-events-none transition-colors",children:o.jsx(ko,{size:16})})]}):o.jsxs(yr,{open:w,onOpenChange:x,children:[o.jsx(pr,{"aria-label":y("trend.zoom.pick_range"),className:"text-xs font-medium text-oai-gray-600 dark:text-oai-gray-300 tabular-nums px-2.5 py-1 rounded-md border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors select-none",children:p.from&&p.to?p.from===p.to?p.from:`${p.from} → ${p.to}`:"—"}),o.jsx(br,{children:o.jsx(xr,{sideOffset:8,side:"bottom",align:"end",className:"!z-[9999]",children:o.jsx(kr,{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(vr,{from:p.from,to:p.to,onApply:(k,P)=>{k&&b({from:k,to:P||k}),x(!1)},onCancel:()=>x(!1)})})})})]})]}),o.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:V&&(!A||A.length===0)?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:y("trend.zoom.loading")})}):l({rows:A,from:O,to:F,period:u,timeZoneLabel:a})})]})]})]}),document.body)}function Ga(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,r=Math.floor(n),a=Math.ceil(n);if(r===a)return e[r];const s=n-r;return e[r]+(e[a]-e[r])*s}function hm(e){const t=Array.isArray(e)?e.filter(a=>Number.isFinite(a)&&a>0).sort((a,s)=>a-s):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let r=n;if(t.length>=4){const a=Ga(t,.25),s=Ga(t,.75),l=Math.max(s-a,0),i=s+l*1.5;n>i&&(r=Math.max(i,s,1))}return{rawMax:n,effectiveMax:Math.max(r,1),clippedValues:Array.isArray(e)?e.map(a=>!Number.isFinite(a)||a<=0?0:Math.min(a,Math.max(r,1))):[]}}const Ka=["#f472b6","#38bdf8","#34d399","#fbbf24","#a78bfa","#fb7185","#2dd4bf","#f97316","#6366f1","#ec4899","#14b8a6","#f59e0b"],ls={Input:"#38bdf8","Cached Input":"#14b8a6",Output:"#a78bfa","Reasoning Output":"#fb7185"},gm={codex:"#3b82f6",gpt:"#10b981",openai:"#10b981",claude:"#d97757",anthropic:"#d97757",gemini:"#2196f3",google:"#2196f3",kimi:"#a78bfa",moonshot:"#a78bfa",opencode:"#f59e0b",deepseek:"#f59e0b",droid:"#ef4444",kilo:"#facc15"};function cs(e){const t=e.toLowerCase();for(const[a,s]of Object.entries(gm))if(t.includes(a))return s;let n=0;for(let a=0;a<e.length;a++)n=e.charCodeAt(a)+((n<<5)-n);const r=Math.abs(n)%Ka.length;return Ka[r]}function ym(e){if(!e)return[];const t=[];if(e.models&&typeof e.models=="object")for(const[n,r]of Object.entries(e.models)){const a=Number(r);Number.isFinite(a)&&a>0&&t.push({type:"model",name:n,value:a})}if(t.length===0){const n=[{name:"Input",key:"input_tokens"},{name:"Cached Input",key:"cached_input_tokens"},{name:"Output",key:"output_tokens"},{name:"Reasoning Output",key:"reasoning_output_tokens"}];for(const r of n){const a=Number(e[r.key]);Number.isFinite(a)&&a>0&&t.push({type:"token_type",name:r.name,value:a})}}return t.sort((n,r)=>r.value-n.value)}function pm(e,t){return e?.future?"predicted":e?.missing?"unsynced":t>0?"real":"real_zero"}const bm=.35,Va=2,Xa=4;function xm({value:e,displayValue:t,scale:n,index:r,row:a,totalBars:s,onMouseEnter:l,onMouseLeave:i}){const c=Dr(),d=pm(a,e),u=d==="predicted"||d==="unsynced",f=n.effectiveMax>0?t/n.effectiveMax*100:0;let h,g;d==="real"?(h=`${Math.max(f,2)}%`,g=`${Xa}px`):u&&f>0?(h=`${f}%`,g=`${Xa}px`):(h=`${Va}px`,g=`${Va}px`);const p=d==="real"?ym(a):[],b=p.reduce((_,w)=>_+w.value,0),v=d!=="real"||b<=0;return o.jsxs(be.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:c?0:.3,delay:c?0:.4+r*.008,ease:[.16,1,.3,1]},style:{originY:1},onMouseEnter:_=>l(_,a,e,p,d,t),onMouseLeave:i,children:[o.jsx("div",{className:"absolute inset-x-0 top-0 bottom-0 bg-oai-gray-100/70 dark:bg-white/[0.08] opacity-0 group-hover:opacity-100 transition-opacity duration-150 pointer-events-none"}),o.jsx("div",{className:"absolute inset-x-0 bottom-0 flex flex-col-reverse justify-start overflow-hidden cursor-pointer transition-all duration-200",style:{height:h,minHeight:g},children:v?o.jsx("div",{"data-trend-bar":"true",className:Le("h-full w-full group-hover:brightness-110 transition-all",d==="real"?"":"bg-oai-gray-100 dark:bg-oai-gray-800"),style:{opacity:u?bm:1,background:d==="real"?"#10b981":void 0}}):p.map((_,w)=>{const x=_.type==="token_type"?ls[_.name]:cs(_.name),M=`${_.value/b*100}%`;return o.jsx("div",{"data-trend-bar":w===0?"true":void 0,className:"w-full group-hover:brightness-110 transition-all",style:{height:M,background:x}},w)})})]})}function km(e){if(e?.missing||e?.future)return null;const t=e?.billable_total_tokens??e?.total_tokens??e?.value;if(t==null)return null;const n=Number(t);return Number.isFinite(n)&&n>=0?n:null}const Qa=.98;function wm(e){if(!Array.isArray(e))return[];const t=new Array(e.length);for(let n=0;n<e.length;n++){if(e[n]!==null){t[n]=e[n];continue}let r=null,a=-1;for(let i=n-1;i>=0;i--)if(e[i]!==null){r=e[i],a=i;break}let s=null,l=-1;for(let i=n+1;i<e.length;i++)if(e[i]!==null){s=e[i],l=i;break}if(r!==null&&s!==null){const i=(n-a)/(l-a);t[n]=r+(s-r)*i}else if(r!==null){let i=0,c=0;for(let u=0;u<=a;u++)e[u]!==null&&(i+=e[u],c+=1);const d=c>0?i/c:r;t[n]=d*Math.pow(Qa,n-a)}else if(s!==null){let i=0,c=0;for(let u=l;u<e.length;u++)e[u]!==null&&(i+=e[u],c+=1);const d=c>0?i/c:s;t[n]=d*Math.pow(Qa,l-n)}else t[n]=0}return t}function ds({rows:e,from:t,to:n,period:r,timeZoneLabel:a,showTimeZoneLabel:s=!0,className:l="",embedded:i=!1,chartHeightClass:c="h-40",isZoom:d=!1,zoomConfig:u=null}){const f=E.useMemo(()=>Array.isArray(e)&&e.length?e:[],[e]),{rawValues:h,seriesValues:g,scale:p,interpolatedValues:b}=E.useMemo(()=>{const T=f.map(km),W=T.map(L=>L??0);return{rawValues:T,seriesValues:W,scale:hm(W),interpolatedValues:wm(T)}},[f]),{currency:v,rate:_}=Ht(),w=em(r),[x,M]=E.useState(null),[C,j]=E.useState({x:0,y:0,shiftX:0,flipDown:!1}),[I,N]=E.useState(!1),A=E.useRef(null),O=E.useRef(null),F=(T,W,L,D,q,R)=>{O.current&&(clearTimeout(O.current),O.current=null);const k=d?om(W,w):W?.day||W?.hour||W?.month||"";M({row:W,value:L,segments:D,timeLabel:k,kind:q,displayValue:R});const P=T.currentTarget.querySelector('[data-trend-bar="true"]'),B=P&&P.parentElement?P.parentElement.getBoundingClientRect():T.currentTarget.getBoundingClientRect(),Z=A.current;if(!Z)return;const $=Z.getBoundingClientRect(),z=B.left-$.left+B.width/2,J=B.top-$.top,ne=140;let se=0;z<ne?se=ne-z:z>$.width-ne&&(se=$.width-ne-z);const Ae=96+(d?22:0)+(D.length?Math.min(D.length*30+24,174):0),he=J<Ae+12;j({x:z,y:J,shiftX:se,flipDown:he})},V=()=>{O.current&&clearTimeout(O.current),O.current=setTimeout(()=>{M(null)},150)};return o.jsxs("div",{ref:A,className:Le("relative",!i&&"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",d&&"flex h-full flex-col",l),children:[!i&&o.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:y("trend.monitor.label")}),s&&a&&o.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:a})]}),u&&o.jsx("button",{type:"button",onClick:()=>N(!0),"aria-label":y("trend.zoom.open_aria"),title:y("trend.zoom.open_aria"),className:"shrink-0 p-1.5 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 transition-colors",children:o.jsx(ml,{size:14})})]}),o.jsxs("div",{className:Le("space-y-3",d&&"flex flex-1 flex-col min-h-0 !space-y-0 gap-3"),children:[o.jsxs("div",{className:Le("relative",d&&"flex-1 min-h-0"),children:[o.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(T=>o.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-T}%`}},T))}),o.jsx("div",{className:Le("flex items-end gap-0.5 relative z-0",c),children:g.length>0?g.map((T,W)=>{const L=f[W],q=L?.missing||L?.future?Math.min(b[W]??0,p.effectiveMax):p.clippedValues[W]??0;return o.jsx(xm,{value:T,displayValue:q,scale:p,index:W,row:L,totalBars:g.length,onMouseEnter:F,onMouseLeave:V},W)}):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"})})})]}),d&&g.length>0&&o.jsx("div",{className:"flex gap-0.5 select-none",children:f.map((T,W)=>{const L=g.length-1,D=Math.max(1,Math.ceil(g.length/8)),q=W%D===0||W===L,R=W===0?"justify-start":W===L?"justify-end":"justify-center";return o.jsx("div",{className:Le("flex-1 min-w-0 flex",R),children:q&&o.jsx("span",{className:"text-[9px] text-oai-gray-400 dark:text-oai-gray-500 whitespace-nowrap font-mono",children:im(T,w)})},W)})}),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===n?`${t} 00:00`:t}),o.jsx("span",{children:t===n?`${n} 24:00`:n})]})]}),x&&o.jsxs("div",{className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out pointer-events-none",style:{left:`${C.x}px`,top:`${C.y}px`},children:[o.jsxs("div",{className:Le("absolute left-0 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-[220px] flex flex-col gap-2 animate-in fade-in zoom-in-95 duration-100",C.flipDown?"top-[10px]":"bottom-[10px]"),style:{transform:`translateX(calc(-50% + ${C.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:x.timeLabel}),x.kind==="predicted"&&o.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Predicted"}),x.kind==="unsynced"&&o.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Unsynced"})]}),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:x.kind==="predicted"||x.kind==="unsynced"?`~${Math.round(x.displayValue??0).toLocaleString()}`:x.value.toLocaleString()}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),d&&(x.row?.total_cost_usd!=null||Number(x.row?.conversation_count)>0)&&o.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:[x.row?.total_cost_usd!=null&&o.jsxs("span",{children:[o.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:zt(x.row.total_cost_usd,{currency:v,rate:_})})," ",y("trend.zoom.tooltip.cost")]}),Number(x.row?.conversation_count)>0&&o.jsxs("span",{children:[o.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:Number(x.row.conversation_count).toLocaleString()})," ",y("trend.zoom.tooltip.conversations")]})]}),x.segments&&x.segments.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:x.segments[0].type==="model"?"Model Breakdown":"Token Breakdown"}),o.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:x.segments.map(({name:T,value:W,type:L})=>{const D=x.value||1,q=Math.round(W/D*100),R=L==="token_type"?ls[T]:cs(T);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-[130px]",title:T,children:T}),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:W.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:R,boxShadow:`0 0 4px ${R}55`}})})]},T)})})]}):null]})]}),o.jsx("div",{className:Le("absolute left-0 -translate-x-1/2 w-2.5 h-2.5 rotate-45 bg-white dark:bg-oai-gray-900 border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-sm",C.flipDown?"top-[6px] border-l border-t":"bottom-[6px] border-r border-b"),style:C.flipDown?{marginTop:"1px"}:{marginBottom:"1px"}})]}),I&&u&&o.jsx(mm,{zoomConfig:u,period:r,from:t,to:n,timeZoneLabel:a,onClose:()=>N(!1),renderChart:T=>o.jsx(ds,{embedded:!0,isZoom:!0,chartHeightClass:"h-full",...T})})]})}const Ja={"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"},ir=new Map;async function vm(e){if(ir.has(e))return ir.get(e);const t=await fetch(`/clawd/${e}`);if(!t.ok)return null;const r=(await t.text()).replace(/<svg([^>]*)>/,(a,s)=>`<svg${s.replace(/\s+width="[^"]*"/g,"").replace(/\s+height="[^"]*"/g,"")} width="100%" height="100%">`);return ir.set(e,r),r}function _m({state:e="idle-living",size:t=48,className:n=""}){const[r,a]=m.useState(""),s=m.useRef(null),i=Nm()?"static-base":e,c=Ja[i]||Ja["static-base"];return m.useEffect(()=>{let d=!1;return vm(c).then(u=>{!d&&u&&a(u)}),()=>{d=!0}},[c]),m.useEffect(()=>{const d=s.current?.querySelector("svg");if(d)try{const u=d.getBBox();u.width>0&&u.height>0&&d.setAttribute("viewBox",`${u.x-2} ${u.y-2} ${u.width+4} ${u.height+4}`)}catch{}},[r]),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:r}})}function Nm(){const[e,t]=m.useState(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches);return m.useEffect(()=>{const n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=a=>t(a.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}function Sm({todayTokens:e=0,isSyncing:t=!1,hasError:n=!1,isDisconnected:r=!1}={}){return m.useMemo(()=>n?"error":r?"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,r])}const Za="macAppBannerDismissed",jm="leaderboardBannerDismissed",Mm="https://github.com/mm7894215/TokenTracker/releases/latest",eo="tokentracker_native_app",vn=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(eo,"1"),!0):localStorage.getItem(eo)==="1"}catch{return!1}})();function Cm({todayTokens:e=0,isSyncing:t=!1,enterDelay:n=0}){const{openLoginModal:r}=el(),{signedIn:a}=po(),s=Sm({todayTokens:e,isSyncing:t}),l=vn?jm:Za,[i,c]=m.useState(()=>{try{return localStorage.getItem(l)==="1"?!0:!vn&&new URLSearchParams(window.location.search).get("from")==="menubar"?(localStorage.setItem(Za,"1"),!0):!1}catch{return!1}}),d=m.useCallback(()=>{c(!0);try{localStorage.setItem(l,"1")}catch{}},[l]);if(i)return null;let u,f,h,g,p,b;vn&&a?(u="View the Leaderboard",f="Compare your usage globally",h="Leaderboard",g=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)"})}),p=()=>{window.location.pathname="/leaderboard"}):vn?(u="Join the Leaderboard",f="Log in to compare your usage with others",h="Log In",g=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"})}),p=r):(u="Try the Menu Bar App",f="Always-on stats with Clawd companion",h="Download",g=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"})}),b=Mm);const v=b?be.a:be.button,_=b?{href:b,target:"_blank",rel:"noopener noreferrer"}:{onClick:p};return o.jsx(be.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(_m,{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:u}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-0.5",children:f})]}),o.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[o.jsxs(v,{..._,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:[h,g]}),o.jsx("button",{onClick:d,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 to="widgetOnboardingDismissed",no="tokentracker_native_app",Dm=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(no,"1"),!0):localStorage.getItem(no)==="1"}catch{return!1}})();function Tm({enterDelay:e=0}){const[t,n]=m.useState(()=>{try{return localStorage.getItem(to)==="1"}catch{return!1}}),r=m.useCallback(()=>{n(!0);try{localStorage.setItem(to,"1")}catch{}},[]);return Dm?o.jsx(Tr,{initial:!1,children:!t&&o.jsxs(be.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:r,"aria-label":y("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:y("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:y("dashboard.widgets.title")}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-1 leading-snug",children:y("dashboard.widgets.hint")})]})]},"widget-onboarding-card")}):null}const Om=jl.slice(0,10);function ro({title:e,subtitle:t,desc:n,loginCard:r,copy:a}){return o.jsxs("div",{className:"min-h-[85vh] w-full flex items-center justify-center text-oai-black dark:text-white relative overflow-hidden px-4 md:px-8 py-8 md:py-16 transition-colors duration-200 bg-[linear-gradient(to_right,#80808007_1px,transparent_1px),linear-gradient(to_bottom,#80808007_1px,transparent_1px)] bg-[size:40px_40px]",children:[o.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_50%_0%,rgba(59,130,246,0.03),transparent_50%)] dark:bg-[radial-gradient(circle_at_50%_0%,rgba(99,102,241,0.05),transparent_50%)] pointer-events-none"}),o.jsxs("div",{className:"w-full max-w-5xl grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-16 items-start relative z-10",children:[o.jsxs("div",{className:"lg:col-span-7 flex flex-col justify-center space-y-8 text-left pr-0 lg:pr-6",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:32,height:32,className:"rounded-md shadow-md border border-oai-gray-200/50 dark:border-oai-gray-800 shadow-black/10 dark:shadow-black/30"}),o.jsx("span",{className:"text-xl font-bold tracking-tight bg-gradient-to-r from-oai-black to-oai-gray-600 dark:from-white dark:to-oai-gray-400 bg-clip-text text-transparent font-oai",children:a("shared.app_name")})]}),o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-4",children:[o.jsx("h1",{className:"text-3xl md:text-4xl lg:text-4.5xl font-black tracking-tight leading-[1.15] text-oai-black dark:text-white",children:e}),o.jsx("p",{className:"text-oai-gray-500 dark:text-oai-gray-400 text-sm md:text-base max-w-xl leading-relaxed",children:n})]}),o.jsx("div",{className:"w-full max-w-[280px] sm:max-w-md opacity-85 hover:opacity-100 transition-opacity duration-200",children:o.jsx("div",{className:"flex justify-start",children:o.jsx(Sl,{logos:Om,columnCount:6})})})]})]}),o.jsx("div",{className:"lg:col-span-5 flex justify-center",children:o.jsxs(be.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},transition:{duration:.3},className:"w-full max-w-[400px] rounded-2xl border border-oai-gray-200/80 dark:border-oai-gray-800 bg-white/70 dark:bg-oai-gray-950/40 backdrop-blur-md shadow-2xl p-1 relative overflow-hidden",children:[o.jsx("div",{className:"absolute -inset-px bg-gradient-to-b from-white/10 dark:from-white/5 to-transparent pointer-events-none rounded-2xl"}),r]})})]})]})}function Am(e){const{copy:t,onOpenShare:n,screenshotMode:r,showExpiredGate:a,showAuthGate:s,screenshotTitleLine1:l,screenshotTitleLine2:i,identityDisplayName:c,identityStartDate:d,activeDays:u,identitySubscriptions:f,identityScrambleDurationMs:h,projectUsageEntries:g,projectUsageLimit:p,setProjectUsageLimit:b,topModels:v,signedIn:_,publicMode:w,isLocalMode:x,shouldShowInstall:M,installPrompt:C,handleCopyInstall:j,installCopied:I,installInitCmdDisplay:N,trendRowsForDisplay:A,trendFromForDisplay:O,trendToForDisplay:F,trendZoomConfig:V,usageFrom:T,usageTo:W,period:L,trendTimeZoneLabel:D,activityHeatmapBlock:q,isCapturing:R,handleShareToX:k,screenshotTwitterButton:P,screenshotTwitterHint:B,periodsForDisplay:Z,setSelectedPeriod:$,customFrom:z,customTo:J,onCustomRangeApply:ne,customRangeOpen:se,onCustomRangeOpenChange:Ae,summaryLabel:he,summaryValue:Ee,summaryTotalTokensRaw:qt,summaryCostValue:Be,summaryConversationsValue:we,rollingUsage:Gt,costInfoEnabled:Ve,openCostModal:Fe,costModalOpen:Te,closeCostModal:ct,allowBreakdownToggle:ye,refreshAll:ge,usageLoadingState:xe,fleetData:Se,hasDetailsActual:nt,dailyEmptyPrefix:$e,installSyncCmd:ve,dailyEmptySuffix:Kt,detailsColumns:Ye,ariaSortFor:Vt,toggleSort:Xt,sortIconFor:rt,pagedDetails:re,dailyBreakdownRows:St,dailyBreakdownColumns:_e,dailyBreakdownAriaSortFor:Ne,dailyBreakdownSortIconFor:jt,dailyBreakdownDateKey:dt,detailsDateKey:Mt,renderDetailDate:ut,renderDailyBreakdownDate:X,renderDetailCell:te,DETAILS_PAGED_PERIODS:G,detailsPageCount:ee,detailsPage:le,setDetailsPage:K}=e,Qt=null,Ct=null,Dt=.06,ft=.05,Xe=.11;let fn=0;const at=()=>Xe+Dt*fn++,mn=Xe+Dt*5;return o.jsxs(o.Fragment,{children:[o.jsxs(dc,{bare:!r,hideHeader:r,header:Qt,footer:r?null:Ct,className:r?"screenshot-mode":"",children:[s&&o.jsx(ro,{title:t("dashboard.auth_gate.hero_title"),desc:t("dashboard.auth_gate.desc"),copy:t,loginCard:o.jsx(ma,{title:t("dashboard.auth_gate.title"),subtitle:t("dashboard.auth_gate.subtitle"),hideLogo:!0,className:"bg-transparent rounded-xl"})}),a&&o.jsx(ro,{title:t("dashboard.expired_gate.hero_title"),desc:t("dashboard.expired_gate.desc"),copy:t,loginCard:o.jsx(ma,{title:t("dashboard.expired_gate.title"),subtitle:t("dashboard.expired_gate.subtitle"),hideLogo:!0,className:"bg-transparent rounded-xl"})}),!s&&!a&&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:[r?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,x?o.jsx(Cm,{todayTokens:qt,isSyncing:xe,enterDelay:at()}):null,o.jsx(Ft,{delay:at(),children:o.jsx(Sc,{title:t("dashboard.identity.title"),subtitle:t("dashboard.identity.subtitle"),period:L,rankLabel:d??t("identity_card.rank_placeholder"),streakDays:u,subscriptions:f,periodConversations:we,rolling:Gt,topModels:v})}),x?o.jsx(Tm,{enterDelay:at()}):null,M?o.jsx(Ft,{delay:at(),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(be.button,{onClick:j,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(be.span,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:"text-xs text-oai-brand",children:I?"Copied ✓":"Copy"},I?"copied":"copy")]})]})}):null,q&&o.jsx(Ft,{delay:at(),children:q}),r?null:o.jsx(Ft,{delay:at(),children:o.jsx(ds,{rows:A,from:O,to:F,period:L,timeZoneLabel:D,showTimeZoneLabel:!1,zoomConfig:V})}),r?o.jsxs("div",{className:"mt-4 flex flex-col items-center gap-2","data-screenshot-exclude":"true",style:R?{display:"none"}:void 0,children:[o.jsx(Dn,{type:"button",onClick:k,variant:"primary",size:"lg",disabled:R,children:P}),o.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300",children:B})]}):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(Ft,{delay:ft,children:o.jsx(Jf,{period:L,periods:Z,onPeriodChange:$,summaryLabel:he,summaryValue:Ee,summaryCostValue:Be,onCostInfo:Ve?Fe:null,fleetData:Se,onRefresh:r?null:ge,loading:xe,onOpenShare:r?null:n,customFrom:z,customTo:J,onCustomRangeApply:ne,customRangeOpen:se,onCustomRangeOpenChange:Ae,from:T,to:W})}),r?null:o.jsx(Ft,{delay:mn,children:o.jsx(_c,{projectEntries:g,projectLimit:p,onProjectLimitChange:b,copy:t,hasDetailsActual:nt,dailyEmptyPrefix:$e,installSyncCmd:ve,dailyEmptySuffix:Kt,detailsColumns:Ye,ariaSortFor:Vt,toggleSort:Xt,sortIconFor:rt,pagedDetails:re,dailyBreakdownRows:St,dailyBreakdownColumns:_e,dailyBreakdownAriaSortFor:Ne,dailyBreakdownSortIconFor:jt,dailyBreakdownDateKey:dt,detailsDateKey:Mt,renderDetailDate:ut,renderDailyBreakdownDate:X,renderDetailCell:te,DETAILS_PAGED_PERIODS:G,period:L,detailsPageCount:ee,detailsPage:le,setDetailsPage:K})})]})]})]}),o.jsx(vc,{isOpen:Te,onClose:ct,fleetData:Se})]})}function us(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const wt=new Map,vt=new Map;function fs(){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||!wt.has(n))return;const r=wt.get(n);wt.delete(n),r({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||!vt.has(n))return;const r=vt.get(n);vt.delete(n),r({ok:!!t.ok,error:typeof t.error=="string"?t.error:void 0})}))}async function Em(e){if(!us()||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"};fs();const n=`copy_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(r=>{const a=window.setTimeout(()=>{vt.has(n)&&(vt.delete(n),r({ok:!1,error:"timeout"}))},8e3);vt.set(n,s=>{window.clearTimeout(a),r(s)});try{t.postMessage({type:"action",name:"copyImageToClipboard",requestId:n,dataUrl:e})}catch(s){vt.delete(n),window.clearTimeout(a),r({ok:!1,error:s?.message||String(s)})}})}async function ao(e,t){if(!us()||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"};fs();const r=`save_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(a=>{const s=window.setTimeout(()=>{wt.has(r)&&(wt.delete(r),a({ok:!1,error:"timeout"}))},8e3);wt.set(r,l=>{window.clearTimeout(s),a(l)});try{n.postMessage({type:"action",name:"saveImageToDownloads",requestId:r,filename:t,dataUrl:e})}catch(l){wt.delete(r),window.clearTimeout(s),a({ok:!1,error:l?.message||String(l)})}})}const ms=1200,hs=1630,gs={broadsheet:{width:1200,height:1630},"annual-report":{width:1080,height:1865}},Fm="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 lr=!1;function Wm(){if(typeof document>"u"||lr)return;if(document.querySelector('link[data-share-card-fonts="true"]')){lr=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=Fm,t.dataset.shareCardFonts="true",t.crossOrigin="anonymous",document.head.appendChild(t),lr=!0}async function Im(){if(typeof document>"u")return;const e=document.fonts;if(!(!e||typeof e.ready?.then!="function"))try{await e.ready}catch{}}async function Pm(e,t={}){if(typeof window>"u"||!e)return null;Wm(),await Im(),await new Promise(c=>requestAnimationFrame(()=>c(null)));const{toBlob:n,toPng:r}=await bo(async()=>{const{toBlob:c,toPng:d}=await import("./index-BeoRn2gJ.js");return{toBlob:c,toPng:d}},[]),a=t.pixelRatio??2,s=e.offsetWidth||ms,l=e.offsetHeight||hs,i={pixelRatio:a,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 r(e,i);return c?await(await fetch(c)).blob():null}catch{return null}}async function cr(e){return new Promise(t=>{const n=new FileReader;n.onload=()=>{const r=typeof n.result=="string"?n.result:null;t(r)},n.onerror=()=>t(null),n.readAsDataURL(e)})}function oo(e,t){if(typeof window>"u"||!e)return!1;try{const n=URL.createObjectURL(e),r=document.createElement("a");return r.href=n,r.download=t,document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3),!0}catch{return!1}}function Nr(e){const t=Ce(e);return Number.isFinite(t)?t:0}function Lm(e){return e?Nr(e.billable_total_tokens??e.total_tokens):0}function Rm(e){const t=Array.isArray(e?.weeks)?e.weeks:[];if(!t.length)return{weeks:[],totalDays:0,activeDays:0};let n=0,r=0;return{weeks:t.map(s=>(Array.isArray(s)?s:[]).slice(0,7).map(i=>{const c=!!i?.future,d=Number.isFinite(i?.level)?Math.max(0,Math.min(4,Math.round(i.level))):0;i?.day&&!c&&(n+=1,d>0&&(r+=1));const u=i?.billable_total_tokens??i?.total_tokens??i?.value??0,f=Number.isFinite(u)?Math.max(0,u):0;return{day:typeof i?.day=="string"?i.day:"",level:d,value:f,future:c}})),totalDays:n,activeDays:r}}function Bm(e){const{handle:t,startDate:n,activeDays:r,summary:a,topModels:s,rank:l,period:i,periodFrom:c,periodTo:d,heatmap:u,capturedAt:f,currency:h,exchangeRate:g}=e,p=Lm(a),b=Nr(a?.total_cost_usd),v=Array.isArray(s)?s.slice(0,3).map(w=>({id:w?.id??null,name:typeof w?.name=="string"&&w.name?w.name:"—",tokens:Nr(w?.tokens),percent:typeof w?.percent=="string"&&w.percent?w.percent:"0.0"})):[],_=Rm(u);return{handle:t||"—",startDate:n||null,activeDays:Number.isFinite(r)&&r>0?Math.floor(r):0,totalTokens:p,totalCost:b,period:i,periodFrom:c,periodTo:d,topModels:v,rank:typeof l=="number"&&Number.isFinite(l)&&l>0?Math.floor(l):null,heatmapWeeks:_.weeks,heatmapTotalDays:_.totalDays,heatmapActiveDays:_.activeDays,capturedAt:f||new Date().toISOString(),currency:typeof h=="string"&&h.length>0?h.toUpperCase():"USD",exchangeRate:Number.isFinite(g)&&g>0?g:1}}const $m=["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 Ym(e){const t=$m[e];return t?y(t):"—"}function ys(e,t){return y("share.date.month_year",{month:Ym(e),year:t})}function zm(e){if(!e)return"—";const t=e.split("-");if(t.length!==3)return e;const[n,r]=t,a=Number(r)-1;return a<0||a>11?e:ys(a,n)}function Hm(e){if(e.period==="total")return y("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 ys(t.getUTCMonth(),t.getUTCFullYear())}return y(`usage.period.${e.period}`)}function Sr(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"—"}function ps(e,t={}){const{currency:n="USD",rate:r=1}=t,a=Fn(n);if(!Number.isFinite(e)||e<=0)return`${a}0.00`;const s=n!=="USD"&&Number.isFinite(r)&&r>0?e*r:e;return s>=1e3?`${a}${Math.round(s).toLocaleString("en-US")}`:`${a}${s.toFixed(2)}`}function Um(e){const t=e.topModels[0];if(t){const n=parseFloat(t.percent);return Number.isFinite(n)&&n>=60?y("share.hook.top_loyal",{percent:Math.round(n),name:t.name}):e.activeDays>=60?y("share.hook.days_record",{days:e.activeDays}):Number.isFinite(n)&&n>=30?y("share.hook.top_led",{name:t.name,percent:Math.round(n)}):e.topModels.length>1?y("share.hook.multi_models",{count:e.topModels.length,days:e.activeDays}):y("share.hook.days_with_model",{days:e.activeDays,name:t.name})}return e.activeDays>0?y("share.hook.days_record",{days:e.activeDays}):y("share.hook.new_chapter")}function qm(e,t){const n=(e||"").length;if(n<=t.baseChars)return t.baseSize;const r=t.baseSize-(n-t.baseChars)*t.shrinkPerChar;return Math.max(t.minSize,r)}function Gm(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 Km({weeks:e,palette:t,width:n,gap:r=3,radius:a=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,d=(c-1)*r,u=Math.max(4,(n-d)/c),f=7*u+6*r;return o.jsx("svg",{width:n,height:f,viewBox:`0 0 ${n} ${f}`,xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,style:{display:"block"},children:e.map((h,g)=>(Array.isArray(h)?h:[]).map((b,v)=>{if(v>=7)return null;const _=Gm(b),w=g*(u+r),x=v*(u+r),M=_===null?i:l[_];return o.jsx("rect",{x:w,y:x,width:u,height:u,rx:a,ry:a,fill:M},`${g}-${v}`)}))})}const Vm="oklch(0.97 0.01 85)",je="oklch(0.18 0.02 85)",it="oklch(0.38 0.015 85)",so="oklch(0.55 0.012 85)",yt="oklch(0.55 0.22 25)",pt='"Instrument Serif", "Times New Roman", Georgia, serif',Xm='"Inter Tight", "Helvetica Neue", Arial, sans-serif',Qm=["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 bs({data:e}){const t=Hm(e),n=Sr(e.totalTokens),r=ps(e.totalCost,{currency:e.currency,rate:e.exchangeRate}),a=zm(e.startDate),s=qm(n,{baseSize:188,baseChars:9,shrinkPerChar:14,minSize:104}),l=Um(e),i=Array.isArray(e.heatmapWeeks)&&e.heatmapWeeks.length>0;return o.jsxs("div",{style:{width:"100%",height:"100%",background:Vm,color:je,fontFamily:Xm,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 ${so}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:14,fontWeight:500,letterSpacing:"0.22em",textTransform:"uppercase",color:je},children:[o.jsx("div",{style:{width:10,height:10,borderRadius:"50%",background:yt}}),"The Token Tracker"]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:it,textAlign:"right"},children:[y("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:it,marginBottom:6},children:y("share.card.broadsheet.by")}),o.jsx("div",{style:{fontFamily:pt,fontSize:52,fontStyle:"italic",lineHeight:1,color:je,letterSpacing:"-0.01em"},children:e.handle})]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:it,textAlign:"right",lineHeight:1.6},children:[y("share.card.broadsheet.tracked_since"),o.jsx("br",{}),o.jsx("span",{style:{color:je},children:a})]})]}),o.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:"column"},children:[o.jsx("div",{style:{fontSize:13,letterSpacing:"0.3em",textTransform:"uppercase",color:yt,marginBottom:10},children:y("share.card.broadsheet.total_tokens")}),o.jsx("div",{style:{fontFamily:pt,fontSize:s,fontWeight:400,lineHeight:.86,letterSpacing:"-0.032em",color:je,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap",overflow:"hidden"},children:n}),o.jsxs("div",{style:{marginTop:14,fontFamily:pt,fontStyle:"italic",fontSize:34,lineHeight:1.15,color:je,letterSpacing:"-0.005em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["“",l,"”"]}),o.jsx("div",{style:{marginTop:14,height:1,background:yt,width:"100%"}}),o.jsxs("div",{style:{marginTop:10,display:"flex",justifyContent:"space-between",fontSize:13,letterSpacing:"0.16em",textTransform:"uppercase",color:it},children:[o.jsxs("span",{children:[y("share.card.broadsheet.estimated_spend")," · ",r]}),o.jsx("span",{children:y("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:je,fontWeight:600},children:y("share.card.broadsheet.heatmap_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:it},children:y("share.card.broadsheet.heatmap_days_on_record",{active:e.heatmapActiveDays,total:e.heatmapTotalDays})})]}),o.jsx(Km,{weeks:e.heatmapWeeks,palette:Qm,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 ${je}`,paddingBottom:10,marginBottom:6},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:je,fontWeight:600},children:y("share.card.broadsheet.roster_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:it},children:y("share.card.broadsheet.roster_subtitle")})]}),e.topModels.length===0?o.jsx("div",{style:{fontFamily:pt,fontStyle:"italic",fontSize:26,color:it,paddingTop:14},children:y("share.card.broadsheet.empty")}):e.topModels.map((c,d)=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"52px 1fr auto 68px",alignItems:"baseline",gap:16,padding:"13px 0",borderBottom:`1px solid ${so}`},children:[o.jsx("div",{style:{fontFamily:pt,fontSize:34,fontStyle:"italic",color:yt,lineHeight:1},children:String(d+1).padStart(2,"0")}),o.jsx("div",{style:{fontFamily:pt,fontSize:32,color:je,lineHeight:1.1,letterSpacing:"-0.01em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),o.jsx("div",{style:{fontFamily:pt,fontSize:28,color:je,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap"},children:Sr(c.tokens)}),o.jsxs("div",{style:{fontSize:13,letterSpacing:"0.1em",color:it,textAlign:"right",fontFeatureSettings:'"tnum" 1'},children:[c.percent,"%"]})]},c.id||c.name))]}),o.jsxs("footer",{style:{marginTop:18,paddingTop:12,borderTop:`1px solid ${je}`,display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:je},children:[o.jsxs("div",{style:{display:"flex",gap:28},children:[o.jsxs("span",{children:[y("share.card.broadsheet.global_rank")," ",o.jsxs("span",{style:{color:yt},children:["№ ",e.rank!=null?e.rank:"—"]})]}),o.jsxs("span",{children:[y("share.card.broadsheet.active_days")," ",o.jsx("span",{style:{color:yt},children:y("share.card.broadsheet.days_count",{days:e.activeDays})})]})]}),o.jsxs("div",{children:[y("share.card.broadsheet.track_yours")," ",o.jsx("span",{style:{color:yt},children:"→ tokentracker.cc"})]})]})]})}const Jm=gs["annual-report"].width,Zm="#0a0820",lt="#ffffffee",xt="rgba(255,255,255,0.45)",dr="#a78bfa",eh={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"},jr='"Space Grotesk", "Inter Tight", sans-serif',ur='"Inter Tight", sans-serif',th="rgba(255,255,255,0.06)",xs=[th,"#4a3d8f","#6b5cbe","#9060e0","#d946ef"],ks=48,ws=28,On=4,vs=20,nh=Jm-ks*2-ws*2,rh=(nh-vs*2)/3,Mr=Math.min(Math.floor((rh-On*6)/7),40),ah=Mr*7+On*6;function oh(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,d=(c-1)*i,u=Math.floor(d);return Math.round((t[u]??0)+((t[Math.min(c-1,u+1)]??0)-(t[u]??0))*(d-u))},r=n(.5),a=n(.75),s=n(.9),l=i=>!i||i<=0?0:i<=r?1:i<=a?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 sh(e){if(!Array.isArray(e))return[];const t={},n=oh(e);for(const r of n)if(Array.isArray(r))for(const a of r){if(!a?.day||a.future)continue;const s=a.day.split("-");if(s.length<2)continue;const l=`${s[0]}-${s[1]}`;(t[l]??=[]).push(a)}return Object.entries(t).sort(([r],[a])=>r.localeCompare(a)).slice(-12).map(([r,a])=>({month:parseInt(r.split("-")[1],10),cells:a}))}function ih(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 r=Array(n).fill(null).concat(t),a=[];for(let l=0;l<r.length;l+=7)a.push(r.slice(l,l+7));const s=a[a.length-1];for(;s&&s.length<7;)s.push(null);return a.slice(0,6)}const lh=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ch(e){if(!Array.isArray(e))return 0;const t=[];for(const a of e)if(Array.isArray(a))for(const s of a)s?.day&&!s.future&&t.push(s);t.sort((a,s)=>a.day.localeCompare(s.day));let n=0,r=0;for(const a of t)(a.level||0)>0?(r++,r>n&&(n=r)):r=0;return n}function io(e){const[t,n]=m.useState(null);return m.useEffect(()=>{if(!e){n(null);return}let r=!1;const a=new Image;return a.crossOrigin="anonymous",a.onload=()=>{if(!r)try{const s=document.createElement("canvas");s.width=a.naturalWidth,s.height=a.naturalHeight,s.getContext("2d").drawImage(a,0,0),n(s.toDataURL("image/png"))}catch{n(null)}},a.onerror=()=>{r||n(null)},a.src=e,()=>{r=!0}},[e]),t}function dh({data:e}){const t=ih(e.cells);return o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:16,fontWeight:600,color:xt,fontFamily:jr,marginBottom:4},children:lh[e.month]}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:On},children:t.map((n,r)=>o.jsx("div",{style:{display:"flex",gap:On},children:n.map((a,s)=>{const l=a?Math.min(4,Math.max(0,a.level||0)):-1;return o.jsx("div",{style:{width:Mr,height:Mr,borderRadius:4,background:l<0?"transparent":xs[l]}},s)})},r))})]})}function uh({data:e}){const t=sh(e.heatmapWeeks),n=ch(e.heatmapWeeks),r=e.topModels[0],a=e.avatarUrl||null,s=io(a),l=io("/neon_bg.png"),i=(e.handle||"?")[0].toUpperCase(),c=16;return o.jsxs("div",{style:{width:"100%",height:"100%",background:Zm,fontFamily:jr,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:ks,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:xt,lineHeight:1.2},children:"Token Tracker"}),o.jsx("div",{style:{fontSize:36,fontWeight:700,lineHeight:1.15,color:lt},children:y("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:lt},children:i})}),o.jsx("div",{style:{fontSize:32,fontWeight:700,color:lt},children:e.handle})]})]}),o.jsxs("div",{style:{...eh,borderRadius:22,padding:ws,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:xt},children:[o.jsx("span",{children:y("share.card.annual.less")}),xs.map((d,u)=>o.jsx("div",{style:{width:16,height:16,borderRadius:3,background:d}},u)),o.jsx("span",{children:y("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:y("share.card.annual.heatmap_title")})]}),o.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(3,${ah}px)`,gap:`8px ${vs}px`,justifyContent:"center"},children:t.map(d=>o.jsx(dh,{data:d},d.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:ur,fontSize:52,fontWeight:700,color:lt,letterSpacing:"-0.02em",lineHeight:1},children:Sr(e.totalTokens)}),o.jsx("div",{style:{fontSize:22,color:xt,marginTop:12},children:y("share.card.annual.total_tokens")})]}),o.jsxs("div",{style:{..._n,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:ur,fontSize:52,fontWeight:700,color:lt,letterSpacing:"-0.02em",lineHeight:1},children:ps(e.totalCost,{currency:e.currency,rate:e.exchangeRate})}),o.jsx("div",{style:{fontSize:22,color:xt,marginTop:12},children:y("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:dr,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:xt},children:y("share.card.annual.longest_streak")})]}),o.jsx("span",{style:{fontFamily:ur,fontSize:28,fontWeight:700,color:lt},children:y("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:dr,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:xt},children:y("share.card.annual.top_model")})]}),o.jsx("span",{style:{fontFamily:jr,fontSize:28,fontWeight:700,color:lt},children:r?r.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:lt},children:"Token Tracker"})]}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:dr},children:"tokentracker.cc"})]})]})]})}const _s=[{id:"annual-report",labelKey:"share.variant.neon"},{id:"broadsheet",labelKey:"share.variant.broadsheet"}],fh={broadsheet:bs,"annual-report":uh};function Ns(e){return gs[e]||{width:ms,height:hs}}function mh(e){const t=_s.find(n=>n.id===e);return t?.labelKey?y(t.labelKey):e}const lo=m.forwardRef(function({data:t,variant:n},r){const a=fh[n]||bs,{width:s,height:l}=Ns(n);return o.jsx("div",{ref:r,"data-share-card":"true",style:{width:s,height:l,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:o.jsx(a,{data:t})})});function Nn(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const hh=440;function gh(){const[e,t]=m.useState(null),n=m.useRef(null),r=m.useCallback((a,s="info")=>{n.current&&window.clearTimeout(n.current),t({id:Date.now(),kind:s,text:a}),n.current=window.setTimeout(()=>t(null),2800)},[]);return m.useEffect(()=>()=>{n.current&&window.clearTimeout(n.current)},[]),{toast:e,push:r}}function fr({onClick:e,disabled:t,children:n,emphasis:r,ariaLabel:a}){return o.jsx("button",{type:"button",onClick:e,disabled:t,"aria-label":a,className:["group relative flex items-center justify-between gap-3 w-full px-4 py-3 text-left","rounded-lg border transition-colors",r?"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 yh({open:e,onClose:t,data:n,twitterText:r}){const[a,s]=m.useState(null),[l,i]=m.useState(""),[c,d]=m.useState("annual-report"),u=m.useRef(null),{toast:f,push:h}=gh(),g=po(),p=m.useMemo(()=>{const N=g?.user;if(!N||typeof N!="object")return null;const A=N.user_metadata||{},O=N.profile||{},F=A.avatar_url||A.picture||O.avatar_url||N.avatar_url;return typeof F=="string"&&F.trim()?F.trim():null},[g?.user]);m.useEffect(()=>{e&&(s(null),i(n?.handle||""))},[e,n?.handle]);const b=n&&{...n,handle:l||n.handle,avatarUrl:p},{width:v,height:_}=Ns(c),w=hh/v;m.useEffect(()=>{if(!e)return;const N=A=>{A.key==="Escape"&&t?.()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e,t]);const x=m.useCallback(async()=>{const N=u.current;if(!N)return null;try{return await Pm(N)}catch(A){return console.warn("[share] capture failed",A),null}},[]),M=m.useCallback(async()=>{if(a)return;s("copy");const N=await x();if(!N){h(y("share.toast.failed"),"error"),s(null);return}let A=!1;if(Nn()){const O=await cr(N);O&&(A=(await Em(O)).ok)}else A=await gr(N);h(A?y("share.toast.copied"):y("share.toast.failed"),A?"success":"error"),s(null)},[a,x,h]),C=m.useCallback(()=>`tokentracker-share-${Date.now()}.png`,[]),j=m.useCallback(async()=>{if(a)return;s("download");const N=await x();if(!N){h(y("share.toast.failed"),"error"),s(null);return}if(Nn()){const O=await cr(N);if(O&&(await ao(O,C())).ok){h(y("share.toast.downloaded"),"success"),s(null);return}}const A=oo(N,C());h(A?y("share.toast.downloaded"):y("share.toast.failed"),A?"success":"error"),s(null)},[a,x,C,h]),I=m.useCallback(async()=>{if(a)return;s("x");const N=await x();if(!N){h(y("share.toast.failed"),"error"),s(null);return}if(Nn()){const V=await cr(N);V&&(await ao(V,C()),h(y("share.toast.downloaded"),"success"))}else await gr(N)?h(y("share.toast.copied"),"success"):oo(N,C());const A=new URL("https://twitter.com/intent/tweet");r&&A.searchParams.set("text",r);const O=g?.user?.id,F=typeof O=="string"&&O?`/u/${O}`:"/";if(A.searchParams.set("url",`https://www.tokentracker.cc${F}?ref=share`),Nn())try{window.webkit?.messageHandlers?.nativeBridge?.postMessage({type:"action",name:"openURL",value:A.toString()})}catch{window.open(A.toString(),"_blank","noopener,noreferrer")}else window.open(A.toString(),"_blank","noopener,noreferrer");s(null)},[a,x,h,r,C,g]);return e?o.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":y("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:v,height:_,pointerEvents:"none",opacity:0,zIndex:-1,clip:"rect(0,0,0,0)",overflow:"hidden"},children:o.jsx(lo,{ref:u,data:b,variant:c})}),o.jsxs(be.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:v*w,height:_*w,flexShrink:0,position:"relative"},className:"rounded-xl overflow-hidden shadow-oai-md ring-1 ring-black/5",children:[a?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:v,height:_,transform:`scale(${w})`,transformOrigin:"top left"},children:o.jsx(lo,{data:b,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:y("share.modal.title")}),o.jsx("p",{className:"mt-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:y("share.modal.subtitle")})]}),o.jsx("button",{type:"button",onClick:t,"aria-label":y("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:y("share.modal.name_label")}),o.jsx("input",{id:"share-handle",type:"text",value:l,onChange:N=>i(N.target.value),placeholder:y("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:y("share.modal.style_label")}),o.jsx("div",{className:"flex gap-2",children:_s.map(N=>o.jsx("button",{type:"button",onClick:()=>d(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:mh(N.id)},N.id))})]}),o.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[o.jsxs(fr,{onClick:I,disabled:!!a,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:y("share.modal.action.x")})]}),o.jsx("span",{className:"text-[11px] opacity-70",children:a==="x"?y("share.toast.working"):y("share.modal.hint.x")})]}),o.jsxs(fr,{onClick:j,disabled:!!a,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:y("share.modal.action.download")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:"PNG"})]}),o.jsxs(fr,{onClick:M,disabled:!!a,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:y("share.modal.action.copy")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:y("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:y("share.modal.footer")})})]})]}),o.jsx(Tr,{children:f?o.jsx(be.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",f.kind==="error"?"bg-red-600 text-white":f.kind==="success"?"bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black":"bg-oai-gray-800 text-white"].join(" "),children:f.text})},f.id):null})]})]}):null}function ph(e){const{enabled:t,handle:n,startDate:r,activeDays:a,summary:s,topModels:l,period:i,periodFrom:c,periodTo:d,heatmap:u,accessToken:f,userId:h,currency:g,exchangeRate:p}=e,[b,v]=m.useState(null),_=p;return m.useEffect(()=>{if(!t||!h&&!Nt())return;let w=!1;return(async()=>{try{const M=await tl({accessToken:f,userId:h,period:i==="day"||i==="custom"?"week":i,metric:"all",limit:100,offset:0});if(w)return;const j=(Array.isArray(M?.entries)?M.entries:Array.isArray(M)?M:[]).find(N=>N?.is_me===!0),I=typeof j?.rank=="number"?j.rank:null;v(I)}catch{w||v(null)}})(),()=>{w=!0}},[t,f,h,i]),m.useMemo(()=>Bm({handle:n,startDate:r,activeDays:a,summary:s,topModels:l,rank:b,period:i,periodFrom:c,periodTo:d,heatmap:u,currency:g,exchangeRate:typeof _=="number"?_:void 0}),[n,r,a,s,l,b,i,c,d,u,g,_])}const bh=["day","week","month","total","custom"],mr=new Set(["day","hour","month"]),an=new Set(["day","total","custom"]);function hr(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 r=Number(n);return Number.isFinite(r)&&r>0}return!1}function Sn(e){return e?Bt(e,null):null}function co(e){return e?e?.billable_total_tokens??e?.value??e?.total_tokens:null}function xh(e){if(typeof e!="string"||!e)return null;const t=e.split("-");if(t.length!==3)return null;const n=Number(t[0]),r=Number(t[1])-1,a=Number(t[2]);if(!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(a))return null;const s=new Date(Date.UTC(n,r,a));return Number.isFinite(s.getTime())?s:null}function kh(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function wh(e){return e?e==="www.tokentracker.cc"||e==="tokentracker.cc":!1}function vh(){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:!wh(window.location.hostname)}function Wh({baseUrl:e,auth:t,signedIn:n,sessionSoftExpired:r,signOut:a,publicMode:s=!1,publicToken:l=null,signInUrl:i="/sign-in",signUpUrl:c="/sign-up"}){const{resolvedLocale:d}=nl(),{currency:u,rate:f}=Ht(),[h,g]=m.useState(!1),[p,b]=m.useState(null),[v,_]=m.useState(null),[w,x]=m.useState(!1),[M,C]=m.useState(null),[j,I]=m.useState(0),[N,A]=m.useState(0),[O,F]=m.useState(null),[V,T]=m.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(max-width: 640px)").matches),W=m.useMemo(()=>typeof window>"u"?!1:rl(window.location.search),[]),L=m.useMemo(()=>vh(),[]),[D,q]=m.useState(!1),[R,k]=m.useState(!1),P=2200,[B,Z]=m.useState(!0),[$,z]=m.useState(!1),[J,ne]=m.useState(!1),[se,Ae]=m.useState(!1),he=Nt(),Ee=n&&!r,qt=m.useMemo(()=>Ee&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,Ee]),Be=Ee?qt:null,we=s?al(l):Be,Gt=n||he||s,Ve=Ee&&Yt(Be),Fe=n&&r&&!s;m.useEffect(()=>{if(!n||he){b(null),_(null),x(!1),C(null);return}if(s)return;if(!Ve){b(null),_(null),x(!1),C(null);return}let S=!0;const Y=()=>{b(null),_(null),x(!1),C(null)};return x(!0),C(null),(async()=>{let H=null;try{H=await _t(Be)}catch{H=null}if(S){if(!H){Y();return}try{const Q={link_code:null,expires_at:null};if(!S)return;b(typeof Q?.link_code=="string"?Q.link_code:null),_(typeof Q?.expires_at=="string"?Q.expires_at:null)}catch(Q){if(!S)return;b(null),_(null),C(Q?.message||"Failed to load link code")}finally{if(!S)return;x(!1)}}})(),()=>{S=!1}},[e,he,n,s,Ve,Be,N]);const Te=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");m.useEffect(()=>{if(!Te&&(!n||he||s)){F(null);return}if(!Te&&!Ve){F(null);return}let S=!0;return(async()=>{let Y=null;try{Y=await _t(Be)}catch{Y=null}if(S){if(!Y&&!Te){F(null);return}try{const H=await ol({baseUrl:e,accessToken:Y});if(!S)return;F(H&&typeof H=="object"?H:null)}catch{if(!S)return;F(null)}}})(),()=>{S=!1}},[Ve,e,Be,he,s,n]);const ct=m.useMemo(()=>{if(!v)return!1;const S=Date.parse(v);if(!Number.isFinite(S))return!1;const Y=j||Date.now();return S<=Y},[v,j]);m.useEffect(()=>{!n||he||s||!v||!ct||w||(b(null),_(null),C(null),A(S=>S+1))},[ct,v,w,he,n]),m.useEffect(()=>{if(!v||s)return;const S=Date.parse(v);if(!Number.isFinite(S))return;const Y=Date.now();if(I(Y),S<=Y)return;const H=window.setTimeout(()=>I(Date.now()),S-Y),Q=()=>{typeof document>"u"||document.visibilityState==="visible"&&I(Date.now())};return typeof document<"u"&&document.addEventListener("visibilitychange",Q),window.addEventListener("focus",Q),()=>{window.clearTimeout(H),typeof document<"u"&&document.removeEventListener("visibilitychange",Q),window.removeEventListener("focus",Q)}},[v]),m.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const S=window.matchMedia("(max-width: 640px)"),Y=()=>T(S.matches);return Y(),S.addEventListener?(S.addEventListener("change",Y),()=>S.removeEventListener("change",Y)):(S.addListener(Y),()=>S.removeListener(Y))},[]);const ye=m.useMemo(()=>go(),[]),ge=m.useMemo(()=>ho(),[]),xe=m.useMemo(()=>sl(),[]),Se=s?null:t?.userId||t?.email||"default",[nt,$e]=m.useState("month"),[ve,Kt]=m.useState(null),[Ye,Vt]=m.useState(null),[Xt,rt]=m.useState(!1),re=W?"total":nt,St=m.useMemo(()=>re==="custom"&&ve&&Ye?{from:ve,to:Ye}:il(re,{timeZone:ye,offsetMinutes:ge,now:xe}),[xe,re,ye,ge,ve,Ye]),_e=St.from,Ne=St.to,jt=m.useMemo(()=>ll({timeZone:ye,offsetMinutes:ge}),[ye,ge]),dt=m.useMemo(()=>cl({timeZone:ye,offsetMinutes:ge}),[ye,ge]),Mt=m.useMemo(()=>`Local time (${dt})`,[dt]),ut=ye,X=ge,te=jt,G=m.useMemo(()=>En({timeZone:ye,offsetMinutes:ge,date:xe||new Date}),[xe,ye,ge]),ee=m.useMemo(()=>{const S=xh(G)||new Date,Y=kh(S,-29);return{from:Rt(Y),to:Rt(S)}},[G]),{daily:le,summary:K,rolling:Qt,source:Ct,loading:Dt,error:ft,refresh:Xe}=ga({baseUrl:e,accessToken:we,guestAllowed:Fe,from:_e,to:Ne,includeDaily:re!=="total",cacheKey:Se,timeZone:ye,tzOffsetMinutes:ge,now:xe}),{daily:fn,loading:at,refresh:mn}=ga({baseUrl:e,accessToken:we,guestAllowed:Fe,from:ee.from,to:ee.to,includeDaily:!0,cacheKey:Se?`${Se}.daily-breakdown`:"daily-breakdown",timeZone:ye,tzOffsetMinutes:ge,now:xe}),{breakdown:mt,loading:Ss,refresh:Br}=Hl({baseUrl:e,accessToken:we,guestAllowed:Fe,from:_e,to:Ne,cacheKey:Se,timeZone:ye,tzOffsetMinutes:ge}),[$r,js]=m.useState(3),{entries:Ms,loading:Cs,refresh:Yr}=El({baseUrl:e,accessToken:we,limit:$r,from:_e,to:Ne,timeZone:ye,tzOffsetMinutes:ge}),zr=re==="week"||re==="month",hn=re==="week"||re==="month",Hr=m.useMemo(()=>le.filter(S=>S?.future?!1:!S?.day||!G?!0:String(S.day)<=String(G)),[le,G]),{rows:Qe,from:Ds,to:Ts,loading:Os,refresh:Ur}=wo({baseUrl:e,accessToken:we,guestAllowed:Fe,period:re,from:_e,to:Ne,months:24,cacheKey:Se,timeZone:ut,tzOffsetMinutes:X,now:xe,sharedRows:zr?le:null,sharedRange:zr?{from:_e,to:Ne}:null}),As=m.useMemo(()=>({baseUrl:e,accessToken:we,guestAllowed:Fe,cacheKey:Se,timeZone:ut,tzOffsetMinutes:X,now:xe}),[e,we,Fe,Se,ut,X,xe]),{daily:Tt,heatmap:ze,loading:qr,refresh:Gr}=Al({baseUrl:e,accessToken:we,guestAllowed:Fe,weeks:52,cacheKey:Se,timeZone:ye,tzOffsetMinutes:ge,now:xe}),{refresh:Kr}=ul(),We=m.useMemo(()=>re==="day"?"hour":re==="total"?"month":"day",[re]),Es=m.useMemo(()=>pa(We),[We]),gn="day",Fs=m.useMemo(()=>pa(gn),[]),[Ie,Vr]=m.useState(()=>({key:"day",dir:"desc"}));m.useEffect(()=>{Vr(S=>!mr.has(S.key)||S.key===We?S:{key:We,dir:S.dir})},[We]);const Ot=m.useMemo(()=>mr.has(Ie.key)&&Ie.key!==We?{...Ie,key:We}:Ie,[We,Ie]),yn=m.useMemo(()=>{if(re==="day")return Array.isArray(Qe)?Qe.filter(H=>H?.hour&&!H?.future):[];if(re==="total"){const H=Array.isArray(Qe)?Qe.filter(Q=>Q?.month&&!Q?.future):[];return rc(H)}const S=Hr;return!S.some(H=>!H?.missing&&!H?.future)&&le.length>0?le.filter(H=>!H?.future).slice(-30).filter(H=>H?.day):S},[re,Qe,Hr,le]),Jt=m.useMemo(()=>ba(yn,Ot),[yn,Ot]),Ws=m.useMemo(()=>yn.some(S=>!S?.missing&&!S?.future),[yn]),Ln=m.useMemo(()=>{if(!an.has(re))return 1;const S=Math.ceil(Jt.length/Tn);return S>0?S:1},[re,Jt.length]),[Rn,pn]=m.useState(0);m.useEffect(()=>{if(!an.has(re)){pn(0);return}pn(S=>Math.min(S,Ln-1))},[Ln,re]),m.useEffect(()=>{an.has(re)&&pn(0)},[re,Ie.dir,Ie.key]);const Is=m.useMemo(()=>an.has(re)?ac(Jt,Rn,Tn):Jt,[Rn,re,Jt]),Xr=m.useMemo(()=>fn.filter(S=>!S?.future&&S?.day).slice(-30),[fn]),At=m.useMemo(()=>mr.has(Ie.key)?{...Ie,key:gn}:Ie,[Ie]),Ps=m.useMemo(()=>ba(Xr,At),[Xr,At]),Ls=m.useMemo(()=>hn?le:re==="day"?Array.isArray(Qe)?Qe.filter(S=>S?.hour):[]:Qe,[le,re,Qe,hn]),Rs=hn?_e:Ds,Bs=hn?Ne:Ts;function $s(S,Y){return S?.future?"—":S?.missing?y("shared.status.unsynced"):Y==="total_tokens"?Je(Sn(S)):Je(S?.[Y])}function Ys(S){const Y=S?.[We];if(Y==null)return"";const H=String(Y);if(We==="hour"){const[Q,fe]=H.split("T");if(Q&&fe)return`${Q} ${fe.slice(0,5)}`}return H}function zs(S){const Y=S?.[gn];return Y==null?"":String(Y)}function Hs(S){Vr(Y=>Y.key===S?{key:S,dir:Y.dir==="asc"?"desc":"asc"}:{key:S,dir:"desc"})}function Us(S){return Ot.key!==S?"none":Ot.dir==="asc"?"ascending":"descending"}function qs(S){return Ot.key!==S?"":Ot.dir==="asc"?"▲":"▼"}function Gs(S){return At.key!==S?"none":At.dir==="asc"?"ascending":"descending"}function Ks(S){return At.key!==S?"":At.dir==="asc"?"▲":"▼"}const Bn=m.useMemo(()=>{if(!n&&!he&&!s&&!Te)return 0;const S=Number(ze?.active_days);if(Number.isFinite(S))return S;let Y=0;const H=new Set,Q=(ie,de,me)=>{typeof ie!="string"||!ie||H.has(ie)||hr(de,me)&&(H.add(ie),Y+=1)};if(Array.isArray(Tt))for(const ie of Tt)Q(ie?.day,Sn(ie));const fe=Array.isArray(ze?.weeks)?ze.weeks:[];for(const ie of fe)for(const de of Array.isArray(ie)?ie:[]){const me=co(de);Q(de?.day,me,de?.level)}return Y},[n,he,ze?.active_days,ze?.weeks,Tt]),[Qr,Jr]=m.useState("month"),Vs=m.useCallback(S=>{S==="custom"?(Jr(Y=>Y==="custom"?"month":Y),$e(Y=>ve&&Ye?"custom":Y),rt(!0)):($e(S),Jr(S),rt(!1))},[ve,Ye]),Xs=m.useCallback((S,Y)=>{Kt(S),Vt(Y),$e("custom"),rt(!1)},[]),Qs=m.useCallback(S=>{rt(S),!S&&nt==="custom"&&!ve&&$e(Qr)},[nt,ve,Qr]),Zr=m.useCallback(async()=>{await Promise.all([Xe(),Gr(),Ur(),Br(),Yr(),mn(),Kr()])},[mn,Gr,Br,Yr,Ur,Xe,Kr]),Js=m.useCallback(async()=>{Ae(!0);try{Te&&await dl(),await Zr()}catch(S){console.error("[DashboardPage] Refresh failed:",S)}finally{Ae(!1)}},[Te,Zr]),Zs=se||Dt||at||qr||Os||Ss||Cs,ei=m.useMemo(()=>y("shared.data_source",{source:String(Ct||"edge").toUpperCase()}),[Ct,d]),bn=m.useMemo(()=>typeof t?.name!="string"?"":t.name.trim(),[t?.name]),ti="",ea=m.useMemo(()=>!bn||bn.includes("@")?y("dashboard.identity.fallback"):bn,[bn]),ta=m.useMemo(()=>ea.replace(/[^a-zA-Z0-9._-]/g,"_"),[ea]),na=m.useMemo(()=>s?y("dashboard.identity.fallback"):ta,[ta,ti,s]),ra=m.useMemo(()=>{let S=null;const Y=Q=>{typeof Q!="string"||!Q||(!S||Q<S)&&(S=Q)};if(Array.isArray(Tt))for(const Q of Tt)Q?.day&&hr(Sn(Q))&&Y(Q.day);const H=Array.isArray(ze?.weeks)?ze.weeks:[];for(const Q of H)for(const fe of Array.isArray(Q)?Q:[]){if(!fe?.day)continue;const ie=co(fe),de=fe?.level;hr(ie,de)&&Y(fe.day)}return S},[ze?.weeks,Tt]),ni=m.useMemo(()=>s?[]:(Array.isArray(O?.subscriptions?.items)?O.subscriptions.items:[]).map(H=>{const Q=typeof H?.tool=="string"?H.tool.trim():"",ie=(typeof H?.plan_type=="string"?H.plan_type:typeof H?.planType=="string"?H.planType:"").trim();return!Q||!ie?null:{tool:Q,planType:ie,provider:typeof H?.provider=="string"?H.provider.trim():"",product:typeof H?.product=="string"?H.product.trim():"",rateLimitTier:typeof H?.rate_limit_tier=="string"?H.rate_limit_tier.trim():typeof H?.rateLimitTier=="string"?H.rateLimitTier.trim():""}}).filter(Boolean).slice(0,6),[s,O]),ri=o.jsx(hl,{heatmap:ze,timeZoneLabel:jt,timeZoneShortLabel:dt,hideLegend:W,defaultToLatestMonth:W}),ai=m.useMemo(()=>`${_e}..${Ne}`,[_e,re,Ne]),oi=y("usage.summary.total"),ht=Sn(K),aa=y("shared.unit.thousand_abbrev"),oa=y("shared.unit.million_abbrev"),sa=y("shared.unit.billion_abbrev"),xn=Ce(ht),ia=V&&xn!=null&&Math.abs(xn)>=1e9,si=m.useMemo(()=>ia?ke(xn,{thousandSuffix:aa,millionSuffix:oa,billionSuffix:sa,decimals:1}):Je(ht),[sa,oa,ht,xn,aa,ia]),ii=y("dashboard.core_index.collapse_label"),li=y("dashboard.core_index.expand_label"),ci=y("dashboard.core_index.collapse_aria"),di=y("dashboard.core_index.expand_aria"),ui=!W,fi=y("dashboard.screenshot.title_line1"),mi=y("dashboard.screenshot.title_line2"),hi=y("dashboard.screenshot.twitter_label"),gi=y("dashboard.screenshot.twitter_button"),yi=y("dashboard.screenshot.twitter_hint"),Et=y("shared.placeholder.short"),$n=m.useMemo(()=>{const S=Array.isArray(mt?.sources)?mt.sources:[];let Y=null,H=0;for(const de of S){const me=Bt(de?.totals);!Number.isFinite(me)||me<=0||me>H&&(H=me,Y=de)}let Q=Et,fe=Et,ie="0.0";if(Y&&H>0){Q=Y?.source?String(Y.source).toUpperCase():Et;const de=Array.isArray(Y?.models)?Y.models:[];let me=0;for(const ot of de){const en=Bt(ot?.totals);!Number.isFinite(en)||en<=0||en>me&&(me=en,fe=ot?.model?String(ot.model):Et)}me>0&&(ie=(me/H*100).toFixed(1))}return{agentName:Q,modelName:fe,modelPercent:ie}},[mt,Et]),la=Je(ht),Yn=y("dashboard.screenshot.twitter_text",{total_tokens:la==="-"?Et:la,agent_name:$n.agentName,model_name:$n.modelName,model_percent:$n.modelPercent}),zn=m.useMemo(()=>{if(typeof window>"u")return"";const S=new URL("https://twitter.com/intent/tweet");S.searchParams.set("text",Yn);const Y=t?.userId?`/u/${t.userId}`:"/";return S.searchParams.set("url",`https://www.tokentracker.cc${Y}?ref=share`),S.toString()},[Yn,t?.userId]),ca=m.useCallback(async()=>{if(typeof window>"u")return null;const S=async()=>{const de=performance.now();for(;performance.now()-de<2e3;){const me=document.querySelector("[data-heatmap-scroll='true']");if(!me||me.dataset.latestMonthReady==="true")return;await new Promise(ot=>requestAnimationFrame(ot))}},Y=document.querySelector("#root")||document.body,H=document.documentElement,{scrollWidth:Q,scrollHeight:fe}=document.documentElement;H?.classList.add("screenshot-capture"),document.body?.classList.add("screenshot-capture"),await new Promise(ie=>requestAnimationFrame(ie)),await S();try{const{toBlob:ie,toPng:de}=await bo(async()=>{const{toBlob:gt,toPng:Ri}=await import("./index-BeoRn2gJ.js");return{toBlob:gt,toPng:Ri}},[]),me=await ie(Y,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:Q,height:fe,style:{width:`${Q}px`,height:`${fe}px`},filter:gt=>!(gt instanceof HTMLElement)||gt.dataset?.screenshotExclude!=="true"});if(me)return me;const ot=await de(Y,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:Q,height:fe,style:{width:`${Q}px`,height:`${fe}px`},filter:gt=>!(gt instanceof HTMLElement)||gt.dataset?.screenshotExclude!=="true"});return ot?await(await fetch(ot)).blob():null}finally{H?.classList.remove("screenshot-capture"),document.body?.classList.remove("screenshot-capture")}},[]),pi=m.useCallback(async()=>{if(typeof window>"u"||D)return;q(!0);const S=navigator?.userAgent||"",Y=/iP(hone|od|ad)/i.test(S),H=/Safari/i.test(S)&&!/Chrome|Chromium|Edg|OPR|CriOS|FxiOS/i.test(S),Q=typeof navigator<"u"&&!!navigator.clipboard?.write&&typeof window<"u"&&!!window.ClipboardItem;let ie=!Q||Y||H;try{const de=await ca();de&&Q&&(typeof document<"u"&&!document.hasFocus()&&window.focus?.(),ie=await gr(de))}catch(de){console.error("Failed to capture screenshot",de)}finally{if(q(!1),!ie){console.warn("Failed to write screenshot to clipboard.");return}zn&&(window.location.href=zn)}},[ca,D,zn]),bi=m.useMemo(()=>W?[]:bh,[W]),xi=m.useMemo(()=>[{label:y("usage.metric.total"),value:Je(ht),valueClassName:"text-white"},{label:y("usage.metric.input"),value:Je(K?.input_tokens)},{label:y("usage.metric.output"),value:Je(K?.output_tokens)},{label:y("usage.metric.cached_input"),value:Je(K?.cached_input_tokens)},{label:y("usage.metric.reasoning_output"),value:Je(K?.reasoning_output_tokens)}],[K?.cached_input_tokens,K?.input_tokens,K?.output_tokens,K?.reasoning_output_tokens,ht]),Hn=m.useMemo(()=>zt(K?.total_cost_usd,{currency:u,rate:f}),[K?.total_cost_usd,u,f]),ki=m.useMemo(()=>K?.conversation_count??null,[K?.conversation_count]),da=m.useMemo(()=>ic(mt,{copyFn:y}),[mt]),ua=m.useMemo(()=>lc(mt,{limit:3,copyFn:y}),[mt]),wi=ph({enabled:R,handle:na,startDate:ra,activeDays:Bn,summary:K,topModels:ua,period:re,periodFrom:_e,periodTo:Ne,heatmap:ze,accessToken:typeof we=="string"?we:null,userId:t?.userId||null,currency:u,exchangeRate:f}),vi=m.useCallback(()=>k(!0),[]),_i=m.useCallback(()=>k(!1),[]),Ni=m.useCallback(()=>g(!0),[]),Si=m.useCallback(()=>g(!1),[]),ji=Hn&&Hn!=="-"&&da.length>0,Zt=y("dashboard.install.cmd.init"),Un=ct?null:p,qn=Un?y("dashboard.install.cmd.init_link_code",{link_code:Un}):Zt,Mi=Zt,Ci=y("dashboard.install.cmd.sync"),Di=Un?y("dashboard.install.copy"):y("dashboard.install.copy_base"),Ti=y("dashboard.install.copied");y("dashboard.session_expired.copy_label"),y("dashboard.session_expired.copied");const Oi=!!(O?.install?.has_active_device_token??O?.install?.hasActiveDeviceToken),Ai=oc({publicMode:s,screenshotMode:W,forceInstall:L,accessEnabled:Gt,heatmapLoading:qr,activeDays:Bn,hasActiveDeviceToken:Oi}),Ei=y("dashboard.install.prompt"),Fi=m.useCallback(async()=>{!qn||!await ha(qn)||(z(!0),window.setTimeout(()=>z(!1),2e3))},[qn]);m.useCallback(async()=>{!Zt||!await ha(Zt)||(ne(!0),window.setTimeout(()=>ne(!1),2e3))},[Zt]);const Gn=m.useMemo(()=>y("dashboard.daily.empty",{cmd:"{{cmd}}"}),[d]),[Wi,Ii]=m.useMemo(()=>{const S=Gn.split("{{cmd}}");return S.length===1?[Gn,""]:[S[0],S.slice(1).join("{{cmd}}")]},[Gn]),Pi=r&&!s,Li=!n&&!he&&!r&&!Te&&!s;return o.jsxs(o.Fragment,{children:[o.jsx(Am,{copy:y,onOpenShare:vi,screenshotMode:W,showExpiredGate:Pi,showAuthGate:Li,screenshotTitleLine1:fi,screenshotTitleLine2:mi,identityDisplayName:na,identityStartDate:ra,activeDays:Bn,identitySubscriptions:ni,identityScrambleDurationMs:P,projectUsageEntries:Ms,projectUsageLimit:$r,setProjectUsageLimit:js,topModels:ua,signedIn:n,publicMode:s,isLocalMode:Te,shouldShowInstall:Ai,installPrompt:Ei,handleCopyInstall:Fi,installCopied:$,installCopiedLabel:Ti,installCopyLabel:Di,installInitCmdDisplay:Mi,linkCodeLoading:w,linkCodeError:M,trendRowsForDisplay:Ls,trendFromForDisplay:Rs,trendToForDisplay:Bs,trendZoomConfig:As,usageFrom:_e,usageTo:Ne,period:re,trendTimeZoneLabel:te,activityHeatmapBlock:ri,isCapturing:D,handleShareToX:pi,screenshotTwitterLabel:hi,screenshotTwitterButton:gi,screenshotTwitterHint:yi,periodsForDisplay:bi,setSelectedPeriod:Vs,customFrom:ve,customTo:Ye,onCustomRangeApply:Xs,customRangeOpen:Xt,onCustomRangeOpenChange:Qs,metricsRows:xi,summaryLabel:oi,summaryValue:si,summaryTotalTokensRaw:Ce(ht)||0,summaryCostValue:Hn,summaryConversationsValue:ki,rollingUsage:Qt,costInfoEnabled:ji,openCostModal:Ni,allowBreakdownToggle:ui,coreIndexCollapsed:B,setCoreIndexCollapsed:Z,coreIndexCollapseLabel:ii,coreIndexExpandLabel:li,coreIndexCollapseAria:ci,coreIndexExpandAria:di,refreshAll:Js,usageLoadingState:Zs,usageError:ft,rangeLabel:ai,timeZoneRangeLabel:Mt,usageSourceLabel:ei,fleetData:da,hasDetailsActual:Ws,dailyEmptyPrefix:Wi,installSyncCmd:Ci,dailyEmptySuffix:Ii,detailsColumns:Es,ariaSortFor:Us,toggleSort:Hs,sortIconFor:qs,pagedDetails:Is,dailyBreakdownRows:Ps,dailyBreakdownColumns:Fs,dailyBreakdownAriaSortFor:Gs,dailyBreakdownSortIconFor:Ks,dailyBreakdownDateKey:gn,detailsDateKey:We,renderDetailDate:Ys,renderDailyBreakdownDate:zs,renderDetailCell:$s,DETAILS_PAGED_PERIODS:an,detailsPageCount:Ln,detailsPage:Rn,setDetailsPage:pn,costModalOpen:h,closeCostModal:Si}),o.jsx(yh,{open:R,onClose:_i,data:wi,twitterText:Yn})]})}export{Wh as DashboardPage};