tokentracker-cli 0.5.87 → 0.5.88

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 (35) hide show
  1. package/README.md +10 -1
  2. package/README.zh-CN.md +3 -1
  3. package/dashboard/dist/assets/{Card-BbXzY-fw.js → Card-Cwz-PEn8.js} +1 -1
  4. package/dashboard/dist/assets/DashboardPage-qwG6gudg.js +1 -0
  5. package/dashboard/dist/assets/FadeIn-CKfrd1Vn.js +1 -0
  6. package/dashboard/dist/assets/{IpCheckPage-FulDeMPC.js → IpCheckPage-D0qJYbXD.js} +1 -1
  7. package/dashboard/dist/assets/{LeaderboardPage-BQSqJVlP.js → LeaderboardPage-Dkpcb_0Q.js} +2 -2
  8. package/dashboard/dist/assets/LeaderboardProfilePage-DHxne8i3.js +1 -0
  9. package/dashboard/dist/assets/LimitsPage-Dvo_YUik.js +2 -0
  10. package/dashboard/dist/assets/PopoverPopup-CAeHe-sn.js +12 -0
  11. package/dashboard/dist/assets/{ProviderIcon-DChRpzX_.js → ProviderIcon-Bz-JlVCc.js} +1 -1
  12. package/dashboard/dist/assets/SettingsPage-M4ONOKBT.js +1 -0
  13. package/dashboard/dist/assets/SkillsPage-QB4a2NKJ.js +1 -0
  14. package/dashboard/dist/assets/{WidgetsPage-D5guzG01.js → WidgetsPage-Dqd4z_tl.js} +1 -1
  15. package/dashboard/dist/assets/chevron-down-Bj2POypL.js +1 -0
  16. package/dashboard/dist/assets/{download-w3j__M5u.js → download-1Kz0otkw.js} +1 -1
  17. package/dashboard/dist/assets/leaderboard-columns-DRc_1zw2.js +1 -0
  18. package/dashboard/dist/assets/main-PEflgXnj.css +1 -0
  19. package/dashboard/dist/assets/{main-CJeNIc4Q.js → main-jua4nv-E.js} +236 -187
  20. package/dashboard/dist/assets/refresh-cw-Dpw9ponb.js +1 -0
  21. package/dashboard/dist/assets/{use-limits-display-prefs-BzI5WJEo.js → use-limits-display-prefs-CtpaNbnl.js} +1 -1
  22. package/dashboard/dist/assets/{use-usage-limits-CuoJnC-V.js → use-usage-limits-B0OYz2eA.js} +1 -1
  23. package/dashboard/dist/brand-logos/hermes.svg +11 -0
  24. package/dashboard/dist/index.html +2 -2
  25. package/dashboard/dist/share.html +2 -2
  26. package/package.json +1 -1
  27. package/src/lib/local-api.js +83 -0
  28. package/src/lib/skills-manager.js +739 -0
  29. package/dashboard/dist/assets/DashboardPage-B_Yvna3-.js +0 -12
  30. package/dashboard/dist/assets/FadeIn-Dz3MVtMG.js +0 -1
  31. package/dashboard/dist/assets/LeaderboardProfilePage-DP8bewz7.js +0 -1
  32. package/dashboard/dist/assets/LimitsPage-BXDoE-jU.js +0 -2
  33. package/dashboard/dist/assets/SettingsPage-XFSmA7VB.js +0 -1
  34. package/dashboard/dist/assets/leaderboard-columns-ChIW6uNZ.js +0 -1
  35. package/dashboard/dist/assets/main-Cyta3wIj.css +0 -1
@@ -0,0 +1 @@
1
+ import{i as oi,f as La,a as Ba,J as si,u as Ya,m as ii,r as h,M as $a,b as li,c as ci,d as En,e as Ra,g as di,h as xt,j as Et,k as bt,l as ui,n as or,o as un,p as fr,q as kn,s as fi,t as hi,v as mi,w as hr,x as Ft,y as Pn,z as yi,A as pe,B as m,C as Ha,D as l,L as gi,E as pi,F as bi,G as mr,H as Oe,R as F,X as xi,I as wn,K as vn,N as ki,O as Ua,P as yr,_ as za,Q as sr,S as wi,T as vi,U as Si,V as Ni,W as Mi,Y as Di,Z as Ci,$ as ji,a0 as _i,a1 as Ti,a2 as Oi,a3 as Ai,a4 as Ge,a5 as Qr}from"./main-jua4nv-E.js";import{u as Fi}from"./use-usage-limits-B0OYz2eA.js";import{u as Wi,c as Ei,a as Pi,D as Ii,b as Li,d as Bi,e as Yi,f as $i,g as Ri,B as pn,P as Hi,h as Ui,i as zi,j as qi,k as Vi}from"./PopoverPopup-CAeHe-sn.js";import{C as gr}from"./Card-Cwz-PEn8.js";import{F as Qt}from"./FadeIn-CKfrd1Vn.js";import{P as Zr}from"./ProviderIcon-Bz-JlVCc.js";function Gi(...e){const t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],a=e[1+n],o=e[2+n],s=e[3+n],i=oi(a,o,s);return t?i(r):i}function Ki(e,t,n={}){const r=e.get();let a=null,o=r,s;const i=typeof r=="string"?r.replace(/[\d.-]/g,""):void 0,c=()=>{a&&(a.stop(),a=null),e.animation=void 0},d=()=>{const f=ea(e.get()),y=ea(o);if(f===y){c();return}const g=a?a.getGeneratorVelocity():e.getVelocity();c(),a=new si({keyframes:[f,y],velocity:g,type:"spring",restDelta:.001,restSpeed:.01,...n,onUpdate:s})},u=()=>{d(),e.animation=a??void 0,e.events.animationStart?.notify(),a?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((f,y)=>{o=f,s=g=>y(In(g,i)),La.postRender(u)},c),Ba(t)){let f=n.skipInitialAnimation===!0;const y=t.on("change",p=>{f?(f=!1,e.jump(In(p,i),!1)):e.set(In(p,i))}),g=e.on("destroy",y);return()=>{y(),g()}}return c}function In(e,t){return t?e+t:e}function ea(e){return typeof e=="number"?e:parseFloat(e)}function pr(e){const t=Ya(()=>ii(e)),{isStatic:n}=h.useContext($a);if(n){const[,r]=h.useState(e);h.useEffect(()=>t.on("change",r),[])}return t}function qa(e,t){const n=pr(t()),r=()=>n.set(t());return r(),li(()=>{const a=()=>La.preRender(r,!1,!0),o=e.map(s=>s.on("change",a));return()=>{o.forEach(s=>s()),ci(r)}}),n}function Xi(e){En.current=[],e();const t=qa(En.current,e);return En.current=void 0,t}function Va(e,t,n,r){if(typeof e=="function")return Xi(e);const o=typeof t=="function"?t:Gi(t,n,r),s=Array.isArray(e)?ta(e,o):ta([e],([c])=>o(c)),i=Array.isArray(e)?void 0:e.accelerate;return i&&!i.isTransformed&&typeof t!="function"&&Array.isArray(n)&&r?.clamp!==!1&&(s.accelerate={...i,times:t,keyframes:n,isTransformed:!0}),s}function ta(e,t){const n=Ya(()=>[]);return qa(e,()=>{n.length=0;const r=e.length;for(let a=0;a<r;a++)n[a]=e[a].get();return t(n)})}function Ji(e,t={}){const{isStatic:n}=h.useContext($a),r=()=>Ba(e)?e.get():e;if(n)return Va(r);const a=pr(r());return h.useInsertionEffect(()=>Ki(a,e,t),[a,JSON.stringify(t)]),a}function Qi(e,t={}){return Ji(e,{type:"spring",...t})}const Zi=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],el=Ra("info",Zi);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"}]],nl=Ra("square-arrow-out-up-right",tl);function rl({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:r=52,weekStartsOn:a="sun",cacheKey:o,timeZone:s,tzOffsetMinutes:i,now:c}={}){const d=h.useMemo(()=>di({weeks:r,weekStartsOn:a,now:c}),[c,r,a]),[u,f]=h.useState([]),[y,g]=h.useState(null),[p,b]=h.useState("edge"),[x,v]=h.useState(!1),[S,k]=h.useState(null),C=xt(),j=Et(t),D=!n,O=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=h.useMemo(()=>{if(!o)return null;const W=kn({timeZone:s,offsetMinutes:i});return`tokentracker.heatmap.${o}.${r}.${a}.${W}`},[o,s,i,r,a]),T=h.useCallback(()=>{if(!N||typeof window>"u")return null;try{const W=window.localStorage.getItem(N);if(!W)return null;const $=JSON.parse(W);return!$||!$.heatmap?null:$}catch{return null}},[N]),_=h.useCallback(W=>{if(!(!N||typeof window>"u"))try{window.localStorage.setItem(N,JSON.stringify(W))}catch{}},[N]),M=h.useCallback(()=>{if(!(!N||typeof window>"u"))try{window.localStorage.removeItem(N)}catch{}},[N]),P=h.useCallback(async()=>{const W=await bt(t);if(!(!W&&!C&&!O)){v(!0),k(null);try{try{const K=await ui({baseUrl:e,accessToken:W,weeks:r,to:d.to,weekStartsOn:a,timeZone:s,tzOffsetMinutes:i}),Y=Array.isArray(K?.weeks)?K.weeks:[];if(!Y.length&&D){const V=T();if(V?.heatmap){g(V.heatmap),f(V.daily||[]),b("cache");return}}if(!Y.some(V=>(Array.isArray(V)?V:[]).some(oe=>oe&&Number.isFinite(Number(oe.level))))&&Y.length){const V=[];for(const G of Y)for(const z of Array.isArray(G)?G:[])z?.day&&V.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 oe=or({dailyRows:V,weeks:r,to:K?.to||d.to,weekStartsOn:a});f(V),g({...oe,week_starts_on:a,active_days:V.filter(G=>Number(G?.billable_total_tokens??G?.total_tokens)>0).length,streak_days:un({dailyRows:V,to:K?.to||d.to})}),b("client"),D?_({heatmap:{...oe,week_starts_on:a,active_days:V.filter(G=>Number(G?.billable_total_tokens??G?.total_tokens)>0).length,streak_days:un({dailyRows:V,to:K?.to||d.to})},daily:V,fetchedAt:new Date().toISOString()}):M();return}g(K||null),f([]),b("edge"),K&&D?_({heatmap:K,daily:[],fetchedAt:new Date().toISOString()}):D||M();return}catch(K){const Y=K,U=Y?.status??Y?.statusCode;if(U===401||U===403)throw K}const $=await fr({baseUrl:e,accessToken:W,from:d.from,to:d.to,timeZone:s,tzOffsetMinutes:i}),X=Array.isArray($?.data)?$.data:[];f(X);const ie=or({dailyRows:X,weeks:r,to:d.to,weekStartsOn:a});g({...ie,week_starts_on:a,active_days:X.filter(K=>Number(K?.billable_total_tokens??K?.total_tokens)>0).length,streak_days:un({dailyRows:X,to:d.to})}),b("client"),D?_({heatmap:{...ie,week_starts_on:a,active_days:X.filter(K=>Number(K?.billable_total_tokens??K?.total_tokens)>0).length,streak_days:un({dailyRows:X,to:d.to})},daily:X,fetchedAt:new Date().toISOString()}):M()}catch($){if(D){const X=T();if(X?.heatmap)g(X.heatmap),f(X.daily||[]),b("cache"),k(null);else{const ie=$;k(ie?.message||String(ie)),f([]),g(null),b("edge")}}else{const X=$;k(X?.message||String(X)),f([]),g(null),b("edge")}}finally{v(!1)}}},[t,e,C,n,D,d.from,d.to,T,j,s,i,a,r,M,_,O]);return h.useEffect(()=>{if(!j&&!n&&!C&&!O){f([]),v(!1),k(null),g(null),b("edge");return}if(!D)M(),f([]),k(null),g(null),b("edge");else{const W=T();W?.heatmap&&(g(W.heatmap),f(W.daily||[]),b("cache"))}P()},[t,C,T,P,j,n,D,M,O]),{range:d,daily:u,heatmap:y,source:C?"mock":p==="client"?"edge":p,loading:x,error:S,refresh:P}}function al({baseUrl:e,accessToken:t,limit:n=3,from:r,to:a,source:o,timeZone:s,tzOffsetMinutes:i}={}){const[c,d]=h.useState([]),[u,f]=h.useState(!1),[y,g]=h.useState(null),p=xt(),b=Et(t),x=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),v=h.useCallback(async()=>{const S=await bt(t);if(!S&&!p&&!x){d([]),g(null),f(!1);return}f(!0),g(null);try{const k=await fi({baseUrl:e,accessToken:S,limit:n,from:r,to:a,source:o,timeZone:s,tzOffsetMinutes:i});d(Array.isArray(k?.entries)?k.entries:[])}catch(k){const C=k?.message||String(k);g(C),d([])}finally{f(!1)}},[t,e,r,n,p,o,s,a,i,x]);return h.useEffect(()=>{if(!b&&!p&&!x){d([]),g(null),f(!1);return}v()},[p,v,b,x]),{entries:c,loading:u,error:y,refresh:v}}const ol=24;function sl({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:a,to:o,months:s=ol,cacheKey:i,timeZone:c,tzOffsetMinutes:d,now:u,sharedRows:f,sharedRange:y}={}){const[g,p]=h.useState([]),[b,x]=h.useState(()=>({from:a,to:o})),[v,S]=h.useState("edge"),[k,C]=h.useState(null),[j,D]=h.useState(!1),[O,N]=h.useState(null),T=xt(),_=Et(t),M=!n,P=Array.isArray(f),A=y?.from||a,W=y?.to||o,$=h.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),X=(()=>{if(!i)return null;const G=il(e)||"default",z=kn({timeZone:c,offsetMinutes:d});if($==="hourly")return`tokentracker.trend.${i}.${G}.hourly.${o||a||"day"}.${z}`;if($==="monthly")return`tokentracker.trend.${i}.${G}.monthly.${s}.${o||"today"}.${z}`;const Q=`${a||""}.${o||""}`;return`tokentracker.trend.${i}.${G}.daily.${Q}.${z}`})(),ie=h.useCallback(()=>{if(!X||typeof window>"u")return null;try{const G=window.localStorage.getItem(X);if(!G)return null;const z=JSON.parse(G);return!z||!Array.isArray(z.rows)?null:z}catch{return null}},[X]),K=h.useCallback(G=>{if(!(!X||typeof window>"u"))try{window.localStorage.setItem(X,JSON.stringify(G))}catch{}},[X]),Y=h.useCallback(()=>{if(!(!X||typeof window>"u"))try{window.localStorage.removeItem(X)}catch{}},[X]),U=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),V=h.useCallback(async()=>{if(P){p(Array.isArray(f)?f:[]),x({from:A,to:W}),S("shared"),C(null),D(!1),N(null);return}const G=await bt(t);if(!(!G&&!T&&!U)){D(!0),N(null);try{let z;$==="hourly"?z=await hi({baseUrl:e,accessToken:G,day:o||a,timeZone:c,tzOffsetMinutes:d}):$==="monthly"?z=await mi({baseUrl:e,accessToken:G,months:s,to:o,timeZone:c,tzOffsetMinutes:d}):z=await fr({baseUrl:e,accessToken:G,from:a,to:o,timeZone:c,tzOffsetMinutes:d});const Q=z?.from||a||z?.day||null,ae=z?.to||o||z?.day||null;let se=Array.isArray(z?.data)?z.data:[];$==="daily"?se=Bn(se,Q||a,ae||o,{timeZone:c,offsetMinutes:d,now:u}):$==="hourly"?se=Yn(se,{timeZone:c,offsetMinutes:d,now:u}):$==="monthly"&&(se=$n(se,{timeZone:c,offsetMinutes:d,now:u}));const Ae=new Date().toISOString();p(se),x({from:Q,to:ae}),S("edge"),C(Ae),M?K({rows:se,from:Q,to:ae,mode:$,fetchedAt:Ae}):Y()}catch(z){if(M){const Q=ie();if(Q?.rows){let ae=$==="daily"?Bn(Q.rows||[],Q.from||a,Q.to||o,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(Q.rows)?Q.rows:[];$==="hourly"?ae=Yn(ae,{timeZone:c,offsetMinutes:d,now:u}):$==="monthly"&&(ae=$n(ae,{timeZone:c,offsetMinutes:d,now:u})),p(ae),x({from:Q.from||a,to:Q.to||o}),S("cache"),C(Q.fetchedAt||null),N(null)}else{p([]),x({from:a,to:o}),S("edge"),C(null);const ae=z;N(ae?.message||String(ae))}}else{p([]),x({from:a,to:o}),S("edge"),C(null);const Q=z;N(Q?.message||String(Q))}}finally{D(!1)}}},[t,e,a,T,n,M,$,s,ie,_,P,A,f,W,c,o,d,u,Y,K,U]);h.useEffect(()=>{if(P){p(Array.isArray(f)?f:[]),x({from:A,to:W}),S("shared"),C(null),D(!1),N(null);return}if(!_&&!n&&!T&&!U){p([]),x({from:a,to:o}),N(null),D(!1),S("edge"),C(null);return}if(!M)Y(),p([]),x({from:a,to:o}),N(null),S("edge"),C(null);else{const G=ie();if(G?.rows){let z=$==="daily"?Bn(G.rows||[],G.from||a,G.to||o,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(G.rows)?G.rows:[];$==="hourly"?z=Yn(z,{timeZone:c,offsetMinutes:d,now:u}):$==="monthly"&&(z=$n(z,{timeZone:c,offsetMinutes:d,now:u})),p(z),x({from:G.from||a,to:G.to||o}),S("cache"),C(G.fetchedAt||null)}}V()},[t,T,ie,V,P,A,f,W,_,n,M,Y,U]);const oe=T?"mock":v;return{rows:g,from:b.from||a,to:b.to||o,source:oe,fetchedAt:k,loading:j,error:O,refresh:V}}function il(e){try{return new URL(e).host}catch{return null}}function Ln(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,o=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const s=new Date(Date.UTC(r,a,o));return Number.isFinite(s.getTime())&&Ft(s)===t?s:null}function ll(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Bn(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const s=Ln(t),i=Ln(n);if(!s||!i||i<s)return Array.isArray(e)?e:[];const c=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,d=hr({timeZone:r,offsetMinutes:a,date:c}),u=Ln(d),f=u?u.getTime():c.getTime(),y=new Map;for(const p of e||[])p?.day&&y.set(p.day,p);const g=[];for(let p=s;p<=i;p=ll(p,1)){const b=Ft(p),x=y.get(b),v=p.getTime()>f;if(x){g.push({...x,missing:!1,future:v});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:!v,future:v})}return g}function Yn(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=Ga({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const s=o?.hour||o?.label||"",i=cl(s);if(!i)return{...o,future:!1};const c=i.dayNum>a.dayNum||i.dayNum===a.dayNum&&i.slot>a.slot;return{...o,future:c}}):e}function $n(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=Ga({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const s=o?.month||o?.label||"",i=dl(s);if(!i)return{...o,future:!1};const c=i.year>a.year||i.year===a.year&&i.month>a.month;return{...o,future:c}}):e}function Ga({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 y=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((S,k)=>(k.type&&k.value&&(S[k.type]=k.value),S),{}),g=Number(y.year),p=Number(y.month),b=Number(y.day),x=Number(y.hour),v=Number(y.minute);if(Number.isFinite(g)&&Number.isFinite(p)&&Number.isFinite(b)&&Number.isFinite(x)&&Number.isFinite(v)){const S=x*2+(v>=30?1:0);return{year:g,month:p,day:b,hour:x,minute:v,dayNum:g*1e4+p*100+b,slot:S}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),f=u.getUTCFullYear(),y=u.getUTCMonth()+1,g=u.getUTCDate(),p=u.getUTCHours(),b=u.getUTCMinutes(),x=p*2+(b>=30?1:0);return{year:f,month:y,day:g,hour:p,minute:b,dayNum:f*1e4+y*100+g,slot:x}}const a=r.getFullYear(),o=r.getMonth()+1,s=r.getDate(),i=r.getHours(),c=r.getMinutes(),d=i*2+(c>=30?1:0);return{year:a,month:o,day:s,hour:i,minute:c,dayNum:a*1e4+o*100+s,slot:d}}function cl(e){if(!e)return null;const t=String(e).trim(),[n,r]=t.split("T");if(!n||!r)return null;const a=n.split("-");if(a.length!==3)return null;const o=Number(a[0]),s=Number(a[1]),i=Number(a[2]);if(!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(i))return null;const c=r.split(":"),d=Number(c[0]),u=Number(c[1]);if(!Number.isFinite(d)||d<0||d>23||!Number.isFinite(u)||u<0||u>59)return null;const f=d*2+(u>=30?1:0);return{dayNum:o*1e4+s*100+i,slot:f}}function dl(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 na({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:r,to:a,includeDaily:o=!0,cacheKey:s,timeZone:i,tzOffsetMinutes:c,now:d}={}){const[u,f]=h.useState([]),[y,g]=h.useState(null),[p,b]=h.useState(null),[x,v]=h.useState("edge"),[S,k]=h.useState(null),[C,j]=h.useState(!1),[D,O]=h.useState(null),N=xt(),T=Et(t),_=!n,M=(()=>{if(!s)return null;const K=ul(e)||"default",Y=o?"daily":"summary",U=kn({timeZone:i,offsetMinutes:c});return`tokentracker.usage.${s}.${K}.${r}.${a}.${Y}.${U}`})(),P=h.useCallback(()=>{if(!M||typeof window>"u")return null;try{const K=window.localStorage.getItem(M);if(!K)return null;const Y=JSON.parse(K);return!Y||!Y.summary?null:Y}catch{return null}},[M]),A=h.useCallback(K=>{if(!(!M||typeof window>"u"))try{window.localStorage.setItem(M,JSON.stringify(K))}catch{}},[M]),W=h.useCallback(()=>{if(!(!M||typeof window>"u"))try{window.localStorage.removeItem(M)}catch{}},[M]),$=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),X=h.useCallback(async()=>{const K=await bt(t);if(!(!K&&!N&&!$)){j(!0),O(null);try{let Y=null,U=null;if(o){const[Q,ae]=await Promise.allSettled([fr({baseUrl:e,accessToken:K,from:r,to:a,timeZone:i,tzOffsetMinutes:c}),Pn({baseUrl:e,accessToken:K,from:r,to:a,timeZone:i,tzOffsetMinutes:c,rolling:!0})]);if(Q.status==="rejected")throw Q.reason;Y=Q.value,U=ae.status==="fulfilled"?ae.value:null}else U=await Pn({baseUrl:e,accessToken:K,from:r,to:a,timeZone:i,tzOffsetMinutes:c,rolling:!0});let V=o&&Array.isArray(Y?.data)?Y.data:[];o&&(V=Hn(V,r,a,{timeZone:i,offsetMinutes:c,now:d}));let oe=U?.totals||Y?.summary?.totals||null,G=U?.rolling||Y?.summary?.rolling||null;if(o&&!oe&&!U)try{const Q=await Pn({baseUrl:e,accessToken:K,from:r,to:a,timeZone:i,tzOffsetMinutes:c,rolling:!0});oe=Q?.totals||null,G=Q?.rolling||G}catch{}const z=new Date().toISOString();f(V),g(oe),b(G),v("edge"),k(z),oe&&_?A({summary:oe,rolling:G,daily:V,from:r,to:a,includeDaily:o,fetchedAt:z}):_||W()}catch(Y){if(_){const U=P();if(U?.summary){g(U.summary),b(U.rolling||null);const V=Array.isArray(U.daily)?U.daily:[],oe=o?Hn(V,U.from||r,U.to||a,{timeZone:i,offsetMinutes:c,now:d}):V;f(oe),v("cache"),k(U.fetchedAt||null),O(null)}else{const V=Y;O(V?.message||String(V)),f([]),g(null),b(null),v("edge"),k(null)}}else{const U=Y;O(U?.message||String(U)),f([]),g(null),b(null),v("edge"),k(null)}}finally{j(!1)}}},[t,e,r,o,N,n,_,d,P,T,i,a,c,W,A,$]);return h.useEffect(()=>{const K=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!T&&!n&&!N&&!K){f([]),g(null),b(null),O(null),j(!1),v("edge"),k(null);return}if(!_)W(),f([]),g(null),b(null),O(null),v("edge"),k(null);else{const Y=P();if(Y?.summary){g(Y.summary),b(Y.rolling||null);const U=Array.isArray(Y.daily)?Y.daily:[],V=o?Hn(U,Y.from||r,Y.to||a,{timeZone:i,offsetMinutes:c,now:d}):U;f(V),v("cache"),k(Y.fetchedAt||null)}}X()},[t,N,P,X,T,n,_,W,$]),{daily:u,summary:y,rolling:p,source:N?"mock":x,fetchedAt:S,loading:C,error:D,refresh:X}}function ul(e){try{return new URL(e).host}catch{return null}}function Rn(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,o=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const s=new Date(Date.UTC(r,a,o));return Number.isFinite(s.getTime())&&Ft(s)===t?s:null}function fl(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Hn(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const s=Rn(t),i=Rn(n);if(!s||!i||i<s)return Array.isArray(e)?e:[];const c=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,d=hr({timeZone:r,offsetMinutes:a,date:c}),u=Rn(d),f=u?u.getTime():c.getTime(),y=new Map;for(const p of e||[])p?.day&&y.set(p.day,p);const g=[];for(let p=s;p<=i;p=fl(p,1)){const b=Ft(p),x=y.get(b),v=p.getTime()>f;if(x){g.push({...x,missing:!1,future:v});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:!v,future:v})}return g}function hl({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:r,to:a,cacheKey:o,timeZone:s,tzOffsetMinutes:i}={}){const[c,d]=h.useState(null),[u,f]=h.useState("edge"),[y,g]=h.useState(!1),[p,b]=h.useState(null),x=xt(),v=Et(t),S=!n,k=h.useMemo(()=>{if(!o)return null;const _=ml(e)||"default",M=kn({timeZone:s,offsetMinutes:i});return`tokentracker.modelBreakdown.${o}.${_}.${r}.${a}.${M}`},[e,o,r,s,a,i]),C=h.useCallback(()=>{if(!k||typeof window>"u")return null;try{const _=window.localStorage.getItem(k);if(!_)return null;const M=JSON.parse(_);return!M||!M.breakdown?null:M}catch{return null}},[k]),j=h.useCallback(_=>{if(!(!k||typeof window>"u"))try{window.localStorage.setItem(k,JSON.stringify(_))}catch{}},[k]),D=h.useCallback(()=>{if(!(!k||typeof window>"u"))try{window.localStorage.removeItem(k)}catch{}},[k]),O=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),N=h.useCallback(async()=>{const _=await bt(t);if(!(!_&&!x&&!O)){g(!0),b(null);try{const M=await yi({baseUrl:e,accessToken:_,from:r,to:a,timeZone:s,tzOffsetMinutes:i});d(M||null),f("edge"),M&&S?j({breakdown:M,fetchedAt:new Date().toISOString()}):S||D()}catch(M){if(S){const P=C();if(P?.breakdown)d(P.breakdown),f("cache"),b(null);else{d(null),f("edge");const A=M;b(A?.message||String(A))}}else{d(null),f("edge");const P=M;b(P?.message||String(P))}}finally{g(!1)}}},[t,e,r,x,n,S,C,s,a,v,i,D,j,O]);return h.useEffect(()=>{if(!v&&!n&&!x&&!O){d(null),f("edge"),b(null),g(!1);return}if(!S)D(),d(null),f("edge"),b(null);else{const _=C();_?.breakdown&&(d(_.breakdown),f("cache"))}N()},[t,x,C,N,v,n,S,D,O]),{breakdown:c,source:x?"mock":u,loading:y,error:p,refresh:N}}function ml(e){try{return new URL(e).host}catch{return null}}const Ka=new Set(["day","hour","month"]);function yl(e){return Ka.has(e)}function ra(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=ra(e),r=ra(t);if(n&&r)return n.length!==r.length?n.length<r.length?-1:1:n===r?0:n<r?-1:1;const a=pe(e),o=pe(t);return a==null&&o==null?0:a==null?1:o==null?-1:a===o?0:a<o?-1:1}function pl(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 bl(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]),o=Number(n[3]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const s=new Date(Date.UTC(r,a-1,o));return!Number.isFinite(s.getTime())||s.getUTCFullYear()!==r||s.getUTCMonth()+1!==a||s.getUTCDate()!==o?null:s.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 o=new Date(Date.UTC(r,a-1,1));return Number.isFinite(o.getTime())?o.getTime():null}function kl(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]),o=Number(n[3]),s=Number(n[4]),i=Number(n[5]),c=Number(n[6]||0);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o)||!Number.isFinite(s)||!Number.isFinite(i)||!Number.isFinite(c)||a<1||a>12||o<1||o>31||s<0||s>23||i<0||i>59||c<0||c>59)return null;const d=new Date(Date.UTC(r,a-1,o,s,i,c));return Number.isFinite(d.getTime())?d.getTime():null}function wl(e,t,n){const r=n==="hour"?kl:n==="month"?xl:bl,a=r(e),o=r(t);return a!=null&&o!=null?a===o?0:a<o?-1:1:pl(e,t)}function Xa(e,{key:t,dir:n}){const r=n==="asc"?1:-1,a=Array.isArray(e)?e:[],o=Ka.has(t)?(i,c)=>wl(i,c,t):gl,s=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=s(i.row),u=s(c.row),f=d==null,y=u==null;if(f&&y)return i.index-c.index;if(f)return 1;if(y)return-1;const g=o(d,u);return g!==0?g*r:i.index-c.index}).map(i=>i.row)}function vl(){return[{key:"day",label:m("daily.sort.date.label"),title:m("daily.sort.date.title")},{key:"total_tokens",label:m("daily.sort.total.label"),title:m("daily.sort.total.title")},{key:"input_tokens",label:m("daily.sort.input.label"),title:m("daily.sort.input.title")},{key:"output_tokens",label:m("daily.sort.output.label"),title:m("daily.sort.output.title")},{key:"cached_input_tokens",label:m("daily.sort.cached.label"),title:m("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:m("daily.sort.reasoning.label"),title:m("daily.sort.reasoning.title")},{key:"conversation_count",label:m("daily.sort.conversations.label"),title:m("daily.sort.conversations.title")}]}function aa(e){const t=yl(e)?e:"day";return vl().map((n,r)=>r===0?{...n,key:t}:n)}function oa(e,{key:t,dir:n}){return Xa(e,{key:t,dir:n})}const bn=12,Sl=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens"];function Nl(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 Ml(e){return Sl.some(t=>Nl(e?.[t]))}function Dl(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=Xa(t,{key:"month",dir:"asc"}),r=n.findIndex(a=>a?.month&&Ml(a));return r===-1?t:n.slice(r)}function Cl(e,t,n=bn){const r=Array.isArray(e)?e:[],a=Number.isFinite(n)&&n>0?n:bn,s=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*a;return r.slice(s,s+a)}function jl({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:r,heatmapLoading:a,activeDays:o,hasActiveDeviceToken:s}={}){return e||t?!1:n?!0:r&&!a&&o===0&&!s}function Ja(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function _l(e){const t=Ja(e?.model_id);return t||null}function Qa(e,t){return e?.model?String(e.model):t}function Tl(e,{copyFn:t}={}){const n=typeof t=="function"?t:s=>s,a=(Array.isArray(e?.sources)?e.sources:[]).map(s=>{const i=pe(s?.totals?.billable_total_tokens??s?.totals?.total_tokens)??0,c=pe(s?.totals?.total_cost_usd)??0;return{source:s?.source,totalTokens:Number.isFinite(i)?i:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(s?.models)?s.models:[]}}).filter(s=>s.totalTokens>0);if(!a.length)return[];const o=a.reduce((s,i)=>s+i.totalTokens,0);return typeof e?.pricing?.pricing_mode=="string"&&e.pricing.pricing_mode.toUpperCase(),a.slice().sort((s,i)=>i.totalTokens-s.totalTokens).map(s=>{const i=s.source?String(s.source).toUpperCase():n("shared.placeholder.short"),c=o>0?s.totalTokens/o*100:0,d=Number.isFinite(c)?c.toFixed(1):"0.0",u=s.models.map(f=>{const y=pe(f?.totals?.billable_total_tokens??f?.totals?.total_tokens)??0;if(!Number.isFinite(y)||y<=0)return null;const g=s.totalTokens>0?Math.round(y/s.totalTokens*1e3)/10:0,p=Qa(f,n("shared.placeholder.short")),b=_l(f),x=s.totalCost>0&&s.totalTokens>0?y/s.totalTokens*s.totalCost:null;return{id:b,name:p,share:g,usage:y,cost:x}}).filter(Boolean);return{label:i,totalPercent:String(d),usd:s.totalCost,usage:s.totalTokens,models:u}})}function Ol(e,{limit:t=3,copyFn:n}={}){const r=typeof n=="function"?n:y=>y,a=Array.isArray(e?.sources)?e.sources:[];if(!a.length)return[];const o=new Map,s=new Map,i=new Map;let c=0;for(const y of a){const g=Array.isArray(y?.models)?y.models:[];for(const p of g){const b=pe(p?.totals?.billable_total_tokens)??0;if(!Number.isFinite(b)||b<=0)continue;c+=b;const x=Qa(p,r("shared.placeholder.short")),v=Ja(x);if(!v)continue;o.set(v,(o.get(v)||0)+b);const S=i.get(v)||0;b>=S&&(i.set(v,b),s.set(v,x))}}if(!o.size)return[];const d=Array.from(o.values()).reduce((y,g)=>y+g,0),u=c>0?c:d,f=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(o.entries()).map(([y,g])=>{const p=u>0?(g/u*100).toFixed(1):"0.0";return{id:y,name:s.get(y)||r("shared.placeholder.short"),tokens:g,percent:String(p)}}).sort((y,g)=>g.tokens!==y.tokens?g.tokens-y.tokens:String(y.name).localeCompare(String(g.name))).slice(0,f)}const dt=12,Vt=3,Un=26,Al=["#ecfdf5","#a7f3d0","#6ee7b7","#34d399","#10b981"],Fl=["#064e3b","#065f46","#059669","#10b981","#34d399"],Wl=[m("heatmap.month.jan"),m("heatmap.month.feb"),m("heatmap.month.mar"),m("heatmap.month.apr"),m("heatmap.month.may"),m("heatmap.month.jun"),m("heatmap.month.jul"),m("heatmap.month.aug"),m("heatmap.month.sep"),m("heatmap.month.oct"),m("heatmap.month.nov"),m("heatmap.month.dec")];function El(e){if(typeof e=="bigint")return e.toLocaleString();if(typeof e=="number")return Number.isFinite(e)?Math.round(e).toLocaleString():"0";if(typeof e=="string"){const t=Number(e);return Number.isFinite(t)?Math.round(t).toLocaleString():e}return"0"}function Pl(e){if(typeof e!="string")return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const n=new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));return Number.isFinite(n.getTime())?n:null}function Za(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Il(e,t){return Math.floor((Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))/864e5)}function Ll(e,t){const n=t==="mon"?1:0,r=e.getUTCDay();return Za(e,-((r-n+7)%7))}function Bl(e,t,n){if(!e)return[];const r=Pl(t)||new Date,a=[];for(let d=11;d>=0;d-=1)a.push(new Date(Date.UTC(r.getUTCFullYear(),r.getUTCMonth()-d,1)));const o=Ll(r,n),s=Za(o,-(e-1)*7),i=[],c=new Set;for(const d of a){const u=Math.floor(Il(s,d)/7);u<0||u>=e||c.has(u)||(c.add(u),i.push({label:Wl[d.getUTCMonth()],index:u}))}return i}function Yl({heatmap:e,timeZoneLabel:t,timeZoneShortLabel:n,hideLegend:r=!1}){const{resolvedTheme:a}=Ha(),s=a==="dark"?Fl:Al,i=h.useRef(null);h.useEffect(()=>{const p=i.current;p&&(p.scrollLeft=p.scrollWidth)},[e?.weeks]);const c=e?.week_starts_on==="mon"?"mon":"sun",d=h.useMemo(()=>{const p=Array.isArray(e?.weeks)?e.weeks:[];if(!p.length)return{weeks:[]};const b=[];for(const x of p)for(const v of Array.isArray(x)?x:[])v?.day&&b.push({day:v.day,total_tokens:v.total_tokens??v.value??0,billable_total_tokens:v.billable_total_tokens??v.value??v.total_tokens??0});return or({dailyRows:b,weeks:Math.max(52,p.length),to:e?.to,weekStartsOn:c})},[e?.to,e?.weeks,c]),u=d?.weeks||[],f=c==="mon"?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(p=>m(`heatmap.day.${p.toLowerCase()}`)):["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(p=>m(`heatmap.day.${p.toLowerCase()}`)),y=h.useMemo(()=>Bl(u.length,d?.to,c),[d?.to,u.length,c]);if(!u.length)return l.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:m("heatmap.empty")});const g=Un+u.length*dt+Math.max(0,u.length-1)*Vt;return l.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",children:[l.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[l.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:m("heatmap.title")}),l.jsx("span",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400",children:n||m("heatmap.legend.utc")})]}),l.jsx("div",{ref:i,className:"overflow-x-auto overflow-y-hidden heatmap-scroll-thin",children:l.jsxs("div",{style:{minWidth:g},children:[l.jsxs("div",{className:"grid text-[10px] uppercase text-oai-gray-400 dark:text-oai-gray-400 mb-1",style:{gridTemplateColumns:`${Un}px repeat(${u.length}, ${dt}px)`,columnGap:Vt},children:[l.jsx("span",{}),y.map(p=>l.jsx("span",{style:{gridColumnStart:p.index+2},className:"whitespace-nowrap",children:p.label},`${p.label}-${p.index}`))]}),l.jsxs("div",{className:"grid",style:{gridTemplateColumns:`${Un}px repeat(${u.length}, ${dt}px)`,columnGap:Vt},children:[l.jsx("div",{className:"grid text-[10px] text-oai-gray-400 dark:text-oai-gray-400 sticky left-0 bg-white dark:bg-oai-gray-900 pr-2",style:{gridTemplateRows:`repeat(7, ${dt}px)`,rowGap:Vt},children:f.map(p=>l.jsx("span",{className:"leading-none",children:p},p))}),l.jsx("div",{className:"grid",style:{gridAutoFlow:"column",gridTemplateRows:`repeat(7, ${dt}px)`,gap:Vt},children:u.map((p,b)=>(Array.isArray(p)?p:[]).map((x,v)=>{if(!x)return null;const S=x.day||`e-${b}-${v}`,k=Number(x.level)||0,C=s[k]||s[0],j=t||n||m("heatmap.legend.utc");return l.jsx("span",{title:m("heatmap.tooltip",{day:x.day,value:El(x.value),unit:m("heatmap.unit.tokens"),tz:j}),className:"rounded-[2px] transition-transform hover:scale-125 hover:z-10",style:{width:dt,height:dt,background:C}},S)}))})]})]})}),!r&&l.jsxs("div",{className:"flex items-center justify-center gap-2 mt-3",children:[l.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:m("heatmap.legend.less")}),l.jsx("div",{className:"flex gap-0.5",children:s.map((p,b)=>l.jsx("span",{className:"rounded-[1px]",style:{width:10,height:10,background:p}},b))}),l.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:m("heatmap.legend.more")})]})]})}function $l(){return l.jsxs(gi,{to:"/landing",className:"flex items-center gap-2.5 no-underline hover:opacity-80 transition-opacity",children:[l.jsx("img",{src:"/app-icon.png",alt:"Token Tracker",width:28,height:28,className:"rounded-md"}),l.jsx("span",{className:"text-base font-semibold text-oai-black dark:text-oai-white leading-tight",children:"Token Tracker"})]})}function Rl({children:e,header:t,footer:n,className:r="",hideHeader:a=!1,hideFooter:o=!1,bare:s=!1}){return s?l.jsxs("div",{className:`flex flex-col flex-1 min-h-0 ${r}`,children:[l.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!o&&n&&l.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})]}):l.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&&l.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:[l.jsx($l,{}),l.jsx("div",{className:"flex-1 flex justify-center",children:t})]}),l.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!o&&n&&l.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 Hl({children:e,variant:t="info",size:n="md",className:r=""}){const a="inline-flex items-center font-medium",o={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"},s={sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm"},i=`${a} ${o[t]} ${s[n]} ${r}`.trim();return l.jsx("span",{className:i,children:e})}const Ul=h.forwardRef(function(t,n){const{render:r,className:a,disabled:o=!1,nativeButton:s=!0,...i}=t,{store:c}=Wi(),d=c.useState("open");function u(p){d&&c.setOpen(!1,Ei(Pi,p.nativeEvent))}const{getButtonProps:f,buttonRef:y}=pi({disabled:o,native:s}),g=h.useMemo(()=>({disabled:o}),[o]);return bi("button",t,{state:g,ref:[n,y],props:[{onClick:u},i,f]})});var zl={};function ql(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 Vl({mv:e,digit:t,height:n}){const r=Va(e,a=>{const o=(a%10+10)%10,s=(10+t-o)%10;let i=s*n;return s>5&&(i-=10*n),i});return l.jsx(Oe.span,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",y:r},children:t})}function Gl(e){const t=Math.round(e),n=1e-9*Math.max(1,Math.abs(e));return Math.abs(e-t)<n?t:e}function Kl(e,t){const n=e/t;return Math.floor(Gl(n))}function Xl(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,o=0,s=!1;return n.map(i=>{if(!/\d/.test(i))return i==="."&&(s=!0),i;if(!s){const c=10**Math.max(a-1,0);return a-=1,c}return o+=1,10**-o})}function Jl({place:e,value:t,height:n,digitStyle:r,shouldReduceMotion:a}){if(typeof e!="number"){const c=ql(e,n);return l.jsx("span",{"data-counter-token":"static",className:"relative inline-flex items-center justify-center",style:{height:n,...c,...r},children:e})}const o=Kl(t,e),s=pr(0),i=Qi(s,{stiffness:220,damping:26,mass:.8});return h.useEffect(()=>{s.set(o)},[s,o]),a?l.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(o)%10}):l.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)=>l.jsx(Vl,{mv:i,digit:d,height:n},d))})}function Ql({value:e,displayValue:t,fontSize:n=72,padding:r=0,places:a,gap:o=6,borderRadius:s=4,horizontalPadding:i=0,textColor:c="inherit",fontWeight:d="inherit",containerStyle:u,counterStyle:f,digitStyle:y,gradientHeight:g=14,gradientFrom:p="rgba(255,255,255,0.95)",gradientTo:b="rgba(255,255,255,0)",topGradientStyle:x,bottomGradientStyle:v}){const S=String(t??e??""),k=h.useMemo(()=>Array.isArray(a)&&a.length?a:Xl(S),[a,S]),C=typeof navigator<"u"&&/jsdom/i.test(navigator.userAgent||"")||typeof process<"u"&&zl?.VITEST==="true",j=mr()||C,D=Number.isFinite(Number(e))?Math.abs(Number(e)):0,O=n+r;return j?l.jsx("span",{"data-counter-root":"true",style:{display:"inline-flex",alignItems:"center",color:c,fontSize:n,fontWeight:d,lineHeight:1,...u,...f},children:S}):l.jsxs("span",{"data-counter-root":"true",style:{position:"relative",display:"inline-block",...u},children:[l.jsx("span",{style:{fontSize:n,display:"flex",gap:o,overflow:"hidden",borderRadius:s,paddingLeft:i,paddingRight:i,lineHeight:1,color:c,fontWeight:d,...f},children:k.map((N,T)=>l.jsx(Jl,{place:N,value:D,height:O,digitStyle:y,shouldReduceMotion:j},`${String(N)}-${T}`))}),l.jsxs("span",{style:{pointerEvents:"none",position:"absolute",inset:0,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[l.jsx("span",{style:x??{height:g,background:`linear-gradient(to bottom, ${p}, ${b})`}}),l.jsx("span",{style:v??{height:g,background:`linear-gradient(to top, ${p}, ${b})`}})]})]})}function Zl(e){if(!Number.isFinite(e))return m("shared.placeholder.short");const t=wn(e.toFixed(2),{decimals:2});return t==="-"?m("shared.placeholder.short"):t}function sa(e){return!Number.isFinite(e)||e<=0?null:e<.01?"<$0.01":wn(e.toFixed(2),{decimals:2})}function ia(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:vn(t,{decimals:1})}const ec=F.memo(function({isOpen:t,onClose:n,fleetData:r=[]}){const a=h.useMemo(()=>(Array.isArray(r)?r:[]).map(s=>{const i=pe(s?.usd)??0,c=pe(s?.usage)??0,d=Array.isArray(s?.models)?s.models:[];return{label:s?.label?String(s.label):"",usdValue:i,usdLabel:sa(i),tokensLabel:ia(c),models:d.map(u=>{const f=pe(u?.usage)??0,y=pe(u?.cost)??0;return{id:u?.id?String(u.id):"",name:u?.name?String(u.name):"",tokensLabel:ia(f),costLabel:sa(y),sortCost:y}}).filter(u=>u.costLabel||u.tokensLabel).sort((u,f)=>f.sortCost-u.sortCost)}}).filter(s=>s.usdValue>0||s.models.length>0).sort((s,i)=>i.usdValue-s.usdValue),[r]),o=h.useMemo(()=>{const s=a.reduce((i,c)=>i+c.usdValue,0);return Zl(s)},[a]);return l.jsx(Ii,{open:t,onOpenChange:s=>{s||n?.()},children:l.jsxs(Li,{children:[l.jsx(Bi,{className:"cost-modal-backdrop","data-cost-analysis-backdrop":"true"}),l.jsx(Yi,{className:"fixed inset-0 z-[101] flex items-center justify-center p-4",children:l.jsxs($i,{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:[l.jsx(Ri,{render:l.jsx("h2",{className:"sr-only"}),children:m("dashboard.cost_breakdown.title")}),l.jsx(Ul,{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":m("dashboard.cost_breakdown.close"),children:l.jsx(xi,{size:16,strokeWidth:2,"aria-hidden":!0})}),l.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto oai-scrollbar",children:l.jsxs("div",{className:"px-3 py-6",children:[l.jsx("p",{className:"text-label uppercase tracking-[0.12em] text-oai-gray-500 dark:text-oai-gray-400 mb-2",children:m("dashboard.cost_breakdown.total_label")}),l.jsx("p",{className:"font-bold text-oai-brand tabular-nums tracking-tight leading-none mb-6",style:{fontSize:"clamp(24px, 6.5vw, 32px)"},children:o}),a.length===0?l.jsx("p",{className:"text-body-sm text-oai-gray-500 dark:text-oai-gray-400",children:"No spend recorded."}):l.jsxs("div",{role:"table","aria-label":m("dashboard.cost_breakdown.title"),children:[l.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:[l.jsx("span",{role:"columnheader",children:"Model"}),l.jsx("span",{role:"columnheader",children:"Cost"})]}),a.map((s,i)=>{const c=`fleet-${i}`;return l.jsxs("div",{role:"rowgroup","aria-labelledby":c,className:i>0?"mt-5":"mt-2",children:[l.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2",children:[l.jsx("span",{id:c,role:"rowheader",className:"flex-1 min-w-0 text-body-sm font-semibold text-oai-black dark:text-oai-white truncate leading-none",children:s.label}),l.jsx("span",{role:"cell",className:"shrink-0 text-body-sm font-semibold text-oai-black dark:text-oai-white tabular-nums leading-none",children:s.usdLabel||"—"})]}),s.models.map((d,u)=>l.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-[5px]",children:[l.jsx("span",{role:"cell",className:"flex-1 min-w-0 text-caption text-oai-gray-500 dark:text-oai-gray-400 truncate leading-none",title:d.name,children:d.name}),l.jsx("span",{role:"cell",className:"shrink-0 text-caption text-oai-gray-700 dark:text-oai-gray-300 tabular-nums leading-none",children:d.costLabel||""})]},d.id||`${d.name}-${u}`))]},`${s.label}-${i}`)})]})]})})]})})]})})});function tc({projectEntries:e=[],projectLimit:t=3,onProjectLimitChange:n,copy:r,hasDetailsActual:a,dailyEmptyPrefix:o,installSyncCmd:s,dailyEmptySuffix:i,detailsColumns:c,ariaSortFor:d,toggleSort:u,sortIconFor:f,pagedDetails:y,dailyBreakdownRows:g=[],dailyBreakdownColumns:p=[],dailyBreakdownAriaSortFor:b,dailyBreakdownSortIconFor:x,dailyBreakdownDateKey:v="day",detailsDateKey:S,renderDetailDate:k,renderDailyBreakdownDate:C,renderDetailCell:j,DETAILS_PAGED_PERIODS:D,period:O,detailsPageCount:N,detailsPage:T,setDetailsPage:_}){const[M,P]=h.useState("daily");return l.jsxs(gr,{className:"flex-1 flex flex-col min-h-0 overflow-hidden",bodyClassName:"flex-1 flex flex-col min-h-0",children:[l.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[l.jsxs("div",{role:"tablist","aria-label":"Data view",className:"flex gap-1",children:[l.jsx("button",{role:"tab","aria-selected":M==="daily",type:"button",onClick:()=>P("daily"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${M==="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")}),l.jsx("button",{role:"tab","aria-selected":M==="projects",type:"button",onClick:()=>P("projects"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${M==="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")})]}),M==="projects"&&l.jsxs("select",{"aria-label":"Number of projects to display",value:t,onChange:A=>n?.(Number(A.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:[l.jsx("option",{value:3,children:r("dashboard.projects.limit_top_3")}),l.jsx("option",{value:6,children:r("dashboard.projects.limit_top_6")}),l.jsx("option",{value:10,children:r("dashboard.projects.limit_top_10")})]})]}),M==="projects"&&l.jsx("div",{className:"space-y-1",children:e.slice(0,t).map(A=>l.jsxs("a",{href:A?.project_ref||"#",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-3 p-2 rounded-lg hover:oai-bg-elevated transition-colors",children:[l.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:(A?.project_key?.[0]||"?").toUpperCase()}),l.jsx("div",{className:"min-w-0 flex-1",children:l.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:A?.project_key||A?.project_ref?.split("/")?.pop()||"—"})}),l.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:A?.billable_total_tokens?.toLocaleString?.()||A?.total_tokens?.toLocaleString?.()||"—"})]},A?.project_key||A?.project_ref))}),M==="daily"&&l.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[g?.length===0?l.jsxs("div",{className:"oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 mb-4",children:[o,l.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:s}),i]}):l.jsx("div",{className:"overflow-auto flex-1 min-h-0 -mx-4 oai-scrollbar",children:l.jsxs("table",{className:"w-full border-collapse",children:[l.jsx("thead",{className:"sticky top-0 z-10",children:l.jsx("tr",{className:"border-b border-oai-gray-200 dark:border-oai-gray-700",children:p.map(A=>l.jsx("th",{"aria-sort":b?.(A.key)||"none",className:"text-left p-0 bg-white dark:bg-oai-gray-900",children:l.jsx("button",{type:"button",onClick:()=>u(A.key),className:"flex w-full items-center justify-start px-4 py-2 text-left oai-text-caption font-semibold text-oai-gray-600 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white transition-colors",children:l.jsxs("span",{className:"inline-flex items-center gap-1",children:[l.jsx("span",{children:A.label}),l.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-400",children:x?.(A.key)||""})]})})},A.key))})}),l.jsx("tbody",{children:g.map(A=>l.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 ${A.missing?"text-oai-gray-400 dark:text-oai-gray-400":A.future?"text-oai-gray-300 dark:text-oai-gray-600":"text-oai-black dark:text-oai-white"}`,children:[l.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300",children:C?C(A):k(A)}),l.jsx("td",{className:"px-4 py-2 oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:j(A,"total_tokens")}),l.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:j(A,"input_tokens")}),l.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:j(A,"output_tokens")}),l.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:j(A,"cached_input_tokens")}),l.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:j(A,"reasoning_output_tokens")}),l.jsx("td",{className:"px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:j(A,"conversation_count")})]},String(A?.[v]||A?.day||A?.hour||A?.month||"")))})]})}),M!=="daily"&&D.has(O)&&N>1?l.jsxs("div",{className:"mt-3 flex items-center justify-between oai-text-caption",children:[l.jsx("button",{type:"button",onClick:()=>_(A=>Math.max(0,A-1)),disabled:T===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")}),l.jsxs("span",{className:"oai-text-muted",children:[T+1," / ",N]}),l.jsx("button",{type:"button",onClick:()=>_(A=>Math.min(N-1,A+1)),disabled:T+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 gn(e){return typeof e!="string"?"":e.trim()}function la(e){const t=gn(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=gn(n.tool),a=gn(n.planType)||gn(n.plan_type);if(!r||!a)continue;const o=la(r)||r,s=la(a)||a;t.set(`${r.toLowerCase()}::${a.toLowerCase()}`,{tool:o,plan:s})}return Array.from(t.values())}function rc({period:e="month",rankLabel:t,streakDays:n,subscriptions:r=[],periodConversations:a,rolling:o,topModels:s=[],className:i=""}){const c=m("shared.placeholder.short"),d=m("shared.unit.percent"),u=t??m("identity_card.rank_placeholder"),f=Number.isFinite(Number(n))?Number(n):0,y=f?m("identity_card.streak_value",{days:f}):m("identity_card.rank_placeholder"),g=nc(r),p={thousandSuffix:m("shared.unit.thousand_abbrev"),millionSuffix:m("shared.unit.million_abbrev"),billionSuffix:m("shared.unit.billion_abbrev")},b=S=>{if(S==null)return c;const k=vn(S,p);return k==="-"?c:k},x=(()=>{switch(e){case"day":return m("stats.period.today");case"week":return m("stats.period.week");case"month":return m("stats.period.month");case"total":return m("stats.period.all");default:return m("stats.period.convs")}})(),v=s.slice(0,3);return l.jsx(Qt,{delay:.1,children:l.jsxs(gr,{className:`h-full ${i}`,children:[l.jsxs("div",{className:"grid grid-cols-4 gap-2",children:[l.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:[l.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(o?.last_7d?.totals?.billable_total_tokens)}),l.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"7d"})]}),l.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:[l.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(o?.last_30d?.totals?.billable_total_tokens)}),l.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"30d"})]}),l.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:[l.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(o?.last_30d?.avg_per_active_day)}),l.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:"avg"})]}),l.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:[l.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:b(a)}),l.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:x})]})]}),v.length>0&&l.jsx("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800",children:v.map((S,k)=>{const C=S?.name?String(S.name):c,j=S?.percent?String(S.percent):"",D=k===v.length-1,O=k+1;return l.jsxs("div",{className:`flex items-center py-2 ${D?"":"border-b border-oai-gray-50 dark:border-oai-gray-800"}`,children:[l.jsx("span",{className:"w-5 h-5 flex items-center justify-center rounded-full bg-oai-gray-100 dark:bg-oai-gray-800 text-[10px] font-semibold text-oai-gray-500 dark:text-oai-gray-300 flex-shrink-0",children:O}),l.jsx("span",{className:"flex-1 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate px-2.5",title:C,children:C}),l.jsxs("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums flex-shrink-0",children:[j,d]})]},S.id||C)})}),g.length>0&&l.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((S,k)=>l.jsxs(Hl,{variant:"secondary",size:"sm",children:[S.tool," ",S.plan]},`${S.tool}:${S.plan}:${k}`))}),l.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:[l.jsxs("div",{className:"flex items-center gap-1.5",children:[l.jsx("span",{children:m("identity_card.rank_label")}),l.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:u})]}),l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx("span",{children:m("identity_card.streak_label")}),l.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:y})]})]})]})})}function ac(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 oc={},Jt={};function yt(e,t){try{const r=(oc[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in Jt?Jt[r]:ca(r,r.split(":"))}catch{if(e in Jt)return Jt[e];const n=e?.match(sc);return n?ca(e,n.slice(1)):NaN}}const sc=/([+-]\d\d):?(\d\d)?/;function ca(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return Jt[e]=n*60+r>0?n*60+r+a:n*60-r-a}class Ye extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(yt(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)),eo(this),ir(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new Ye(...n,t):new Ye(Date.now(),t)}withTimeZone(t){return new Ye(+this,t)}getTimezoneOffset(){const t=-yt(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),ir(this),+this}[Symbol.for("constructDateFrom")](t){return new Ye(+new Date(t),this.timeZone)}}const da=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!da.test(e))return;const t=e.replace(da,"$1UTC");Ye.prototype[t]&&(e.startsWith("get")?Ye.prototype[e]=function(){return this.internal[t]()}:(Ye.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),ic(this),+this},Ye.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),ir(this),+this}))});function ir(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-yt(e.timeZone,e)*60))}function ic(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()),eo(e)}function eo(e){const t=yt(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(),o=-new Date(+r).getTimezoneOffset(),s=a-o,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();s&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+s);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(-(yt(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 y=yt(e.timeZone,e),g=y>0?Math.floor(y):Math.ceil(y),b=-new Date(+e).getTimezoneOffset()-g,x=g!==n,v=b-c;if(x&&v){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+v);const S=yt(e.timeZone,e),k=S>0?Math.floor(S):Math.ceil(S),C=g-k;C&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+C),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+C))}}class ge extends Ye{static tz(t,...n){return n.length?new ge(...n,t):new ge(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} (${ac(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 ge(+this,t)}[Symbol.for("constructDateFrom")](t){return new ge(+new Date(t),this.timeZone)}}const to=6048e5,lc=864e5,ua=Symbol.for("constructDateFrom");function de(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&ua in e?e[ua](t):e instanceof Date?new e.constructor(t):new Date(t)}function ne(e,t){return de(t||e,e)}function no(e,t,n){const r=ne(e,n?.in);return isNaN(t)?de(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function ro(e,t,n){const r=ne(e,n?.in);if(isNaN(t))return de(e,NaN);if(!t)return r;const a=r.getDate(),o=de(e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const s=o.getDate();return a>=s?o:(r.setFullYear(o.getFullYear(),o.getMonth(),a),r)}let cc={};function tn(){return cc}function Wt(e,t){const n=tn(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=ne(e,t?.in),o=a.getDay(),s=(o<r?7:0)+o-r;return a.setDate(a.getDate()-s),a.setHours(0,0,0,0),a}function Zt(e,t){return Wt(e,{...t,weekStartsOn:1})}function ao(e,t){const n=ne(e,t?.in),r=n.getFullYear(),a=de(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const o=Zt(a),s=de(n,0);s.setFullYear(r,0,4),s.setHours(0,0,0,0);const i=Zt(s);return n.getTime()>=o.getTime()?r+1:n.getTime()>=i.getTime()?r:r-1}function fa(e){const t=ne(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 Pt(e,...t){const n=de.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function en(e,t){const n=ne(e,t?.in);return n.setHours(0,0,0,0),n}function br(e,t,n){const[r,a]=Pt(n?.in,e,t),o=en(r),s=en(a),i=+o-fa(o),c=+s-fa(s);return Math.round((i-c)/lc)}function dc(e,t){const n=ao(e,t),r=de(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Zt(r)}function uc(e,t,n){return no(e,t*7,n)}function fc(e,t,n){return ro(e,t*12,n)}function hc(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=de.bind(null,a));const o=ne(a,r);(!n||n<o||isNaN(+o))&&(n=o)}),de(r,n||NaN)}function mc(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=de.bind(null,a));const o=ne(a,r);(!n||n>o||isNaN(+o))&&(n=o)}),de(r,n||NaN)}function yc(e,t,n){const[r,a]=Pt(n?.in,e,t);return+en(r)==+en(a)}function oo(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function gc(e){return!(!oo(e)&&typeof e!="number"||isNaN(+ne(e)))}function so(e,t,n){const[r,a]=Pt(n?.in,e,t),o=r.getFullYear()-a.getFullYear(),s=r.getMonth()-a.getMonth();return o*12+s}function pc(e,t){const n=ne(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function io(e,t){const[n,r]=Pt(e,t.start,t.end);return{start:n,end:r}}function bc(e,t){const{start:n,end:r}=io(t?.in,e);let a=+n>+r;const o=a?+n:+r,s=a?r:n;s.setHours(0,0,0,0),s.setDate(1);let i=1;const c=[];for(;+s<=o;)c.push(de(n,s)),s.setMonth(s.getMonth()+i);return a?c.reverse():c}function xc(e,t){const n=ne(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function kc(e,t){const n=ne(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function lo(e,t){const n=ne(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function wc(e,t){const{start:n,end:r}=io(t?.in,e);let a=+n>+r;const o=a?+n:+r,s=a?r:n;s.setHours(0,0,0,0),s.setMonth(0,1);let i=1;const c=[];for(;+s<=o;)c.push(de(n,s)),s.setFullYear(s.getFullYear()+i);return a?c.reverse():c}function co(e,t){const n=tn(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=ne(e,t?.in),o=a.getDay(),s=(o<r?-7:0)+6-(o-r);return a.setDate(a.getDate()+s),a.setHours(23,59,59,999),a}function vc(e,t){return co(e,{...t,weekStartsOn:1})}const Sc={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"}},Nc=(e,t,n)=>{let r;const a=Sc[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 zn(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Mc={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Dc={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Cc={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},jc={date:zn({formats:Mc,defaultWidth:"full"}),time:zn({formats:Dc,defaultWidth:"full"}),dateTime:zn({formats:Cc,defaultWidth:"full"})},_c={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Tc=(e,t,n,r)=>_c[e];function Gt(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const s=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):s;a=e.formattingValues[i]||e.formattingValues[s]}else{const s=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[s]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}const Oc={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ac={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Fc={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"]},Wc={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"]},Ec={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"}},Pc={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"}},Ic=(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"},Lc={ordinalNumber:Ic,era:Gt({values:Oc,defaultWidth:"wide"}),quarter:Gt({values:Ac,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Gt({values:Fc,defaultWidth:"wide"}),day:Gt({values:Wc,defaultWidth:"wide"}),dayPeriod:Gt({values:Ec,defaultWidth:"wide",formattingValues:Pc,defaultFormattingWidth:"wide"})};function Kt(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const s=o[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?Yc(i,f=>f.test(s)):Bc(i,f=>f.test(s));let d;d=e.valueCallback?e.valueCallback(c):c,d=n.valueCallback?n.valueCallback(d):d;const u=t.slice(s.length);return{value:d,rest:u}}}function Bc(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Yc(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function $c(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],o=t.match(e.parsePattern);if(!o)return null;let s=e.valueCallback?e.valueCallback(o[0]):o[0];s=n.valueCallback?n.valueCallback(s):s;const i=t.slice(a.length);return{value:s,rest:i}}}const Rc=/^(\d+)(th|st|nd|rd)?/i,Hc=/\d+/i,Uc={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},zc={any:[/^b/i,/^(a|c)/i]},qc={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Vc={any:[/1/i,/2/i,/3/i,/4/i]},Gc={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},Kc={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]},Xc={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},Jc={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]},Qc={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},Zc={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}},ed={ordinalNumber:$c({matchPattern:Rc,parsePattern:Hc,valueCallback:e=>parseInt(e,10)}),era:Kt({matchPatterns:Uc,defaultMatchWidth:"wide",parsePatterns:zc,defaultParseWidth:"any"}),quarter:Kt({matchPatterns:qc,defaultMatchWidth:"wide",parsePatterns:Vc,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Kt({matchPatterns:Gc,defaultMatchWidth:"wide",parsePatterns:Kc,defaultParseWidth:"any"}),day:Kt({matchPatterns:Xc,defaultMatchWidth:"wide",parsePatterns:Jc,defaultParseWidth:"any"}),dayPeriod:Kt({matchPatterns:Qc,defaultMatchWidth:"any",parsePatterns:Zc,defaultParseWidth:"any"})},At={code:"en-US",formatDistance:Nc,formatLong:jc,formatRelative:Tc,localize:Lc,match:ed,options:{weekStartsOn:0,firstWeekContainsDate:1}};function td(e,t){const n=ne(e,t?.in);return br(n,lo(n))+1}function xr(e,t){const n=ne(e,t?.in),r=+Zt(n)-+dc(n);return Math.round(r/to)+1}function uo(e,t){const n=ne(e,t?.in),r=n.getFullYear(),a=tn(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,s=de(t?.in||e,0);s.setFullYear(r+1,0,o),s.setHours(0,0,0,0);const i=Wt(s,t),c=de(t?.in||e,0);c.setFullYear(r,0,o),c.setHours(0,0,0,0);const d=Wt(c,t);return+n>=+i?r+1:+n>=+d?r:r-1}function nd(e,t){const n=tn(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=uo(e,t),o=de(t?.in||e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),Wt(o,t)}function kr(e,t){const n=ne(e,t?.in),r=+Wt(n,t)-+nd(n,t);return Math.round(r/to)+1}function te(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const tt={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return te(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):te(n+1,2)},d(e,t){return te(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 te(e.getHours()%12||12,t.length)},H(e,t){return te(e.getHours(),t.length)},m(e,t){return te(e.getMinutes(),t.length)},s(e,t){return te(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return te(a,t.length)}},Tt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ha={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 tt.y(e,t)},Y:function(e,t,n,r){const a=uo(e,r),o=a>0?a:1-a;if(t==="YY"){const s=o%100;return te(s,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):te(o,t.length)},R:function(e,t){const n=ao(e);return te(n,t.length)},u:function(e,t){const n=e.getFullYear();return te(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 te(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 te(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 tt.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 te(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=kr(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):te(a,t.length)},I:function(e,t,n){const r=xr(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):te(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):tt.d(e,t)},D:function(e,t,n){const r=td(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):te(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(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return te(o,2);case"eo":return n.ordinalNumber(o,{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(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return te(o,t.length);case"co":return n.ordinalNumber(o,{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 te(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=Tt.noon:r===0?a=Tt.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=Tt.evening:r>=12?a=Tt.afternoon:r>=4?a=Tt.morning:a=Tt.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 tt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):tt.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):te(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):te(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):tt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):tt.s(e,t)},S:function(e,t){return tt.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return ya(r);case"XXXX":case"XX":return ht(r);default:return ht(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return ya(r);case"xxxx":case"xx":return ht(r);default:return ht(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"+ht(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"+ht(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return te(r,t.length)},T:function(e,t,n){return te(+e,t.length)}};function ma(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+t+te(o,2)}function ya(e,t){return e%60===0?(e>0?"-":"+")+te(Math.abs(e)/60,2):ht(e,t)}function ht(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=te(Math.trunc(r/60),2),o=te(r%60,2);return n+a+t+o}const ga=(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"})}},fo=(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"})}},rd=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return ga(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",ga(r,t)).replace("{{time}}",fo(a,t))},ad={p:fo,P:rd},od=/^D+$/,sd=/^Y+$/,id=["D","DD","YY","YYYY"];function ld(e){return od.test(e)}function cd(e){return sd.test(e)}function dd(e,t,n){const r=ud(e,t,n);if(console.warn(r),id.includes(e))throw new RangeError(r)}function ud(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,hd=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,md=/^'([^]*?)'?$/,yd=/''/g,gd=/[a-zA-Z]/;function $e(e,t,n){const r=tn(),a=n?.locale??r.locale??At,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,i=ne(e,n?.in);if(!gc(i))throw new RangeError("Invalid time value");let c=t.match(hd).map(u=>{const f=u[0];if(f==="p"||f==="P"){const y=ad[f];return y(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:pd(u)};if(ha[f])return{isToken:!0,value:u};if(f.match(gd))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:o,weekStartsOn:s,locale:a};return c.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&cd(f)||!n?.useAdditionalDayOfYearTokens&&ld(f))&&dd(f,t,String(e));const y=ha[f[0]];return y(i,f,a.localize,d)}).join("")}function pd(e){const t=e.match(md);return t?t[1].replace(yd,"'"):e}function bd(e,t){const n=ne(e,t?.in),r=n.getFullYear(),a=n.getMonth(),o=de(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function xd(e,t){return ne(e,t?.in).getMonth()}function kd(e,t){return ne(e,t?.in).getFullYear()}function wd(e,t){return+ne(e)>+ne(t)}function vd(e,t){return+ne(e)<+ne(t)}function Sd(e,t,n){const[r,a]=Pt(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function Nd(e,t,n){const[r,a]=Pt(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function Md(e,t,n){const r=ne(e,n?.in),a=r.getFullYear(),o=r.getDate(),s=de(e,0);s.setFullYear(a,t,15),s.setHours(0,0,0,0);const i=bd(s);return r.setMonth(t,Math.min(o,i)),r}function Dd(e,t,n){const r=ne(e,n?.in);return isNaN(+r)?de(e,NaN):(r.setFullYear(t),r)}const pa=5,Cd=4;function jd(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),o=t.addDays(a,pa*7-1);return t.getMonth(e)===t.getMonth(o)?pa:Cd}function ho(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 _d(e,t){const n=ho(e,t),r=jd(e,t);return t.addDays(n,r*7-1)}const mo={...At,labels:{labelDayButton:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(s,i)=>$e(s,i,{locale:At,...n});let o=a(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o},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,o)=>$e(a,o,{locale:At,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(s,i)=>$e(s,i,{locale:At,...n});let o=a(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o},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,o)=>$e(a,o,{locale:At,...t}),r(e,"cccc")}}};class De{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?ge.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,o)=>this.overrides?.newDate?this.overrides.newDate(r,a,o):this.options.timeZone?new ge(r,a,o,this.options.timeZone):new Date(r,a,o),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):no(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):ro(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):uc(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):br(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):so(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):wc(r),o=new Set(a.map(i=>this.getYear(i)));if(o.size===a.length)return a;const s=[];return o.forEach(i=>{s.push(new Date(i,0,1))}),s},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):_d(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):vc(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):pc(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):co(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):kc(r),this.format=(r,a,o)=>{const s=this.overrides?.format?this.overrides.format(r,a,this.options):$e(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(s):s},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):xr(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):xd(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):kd(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):kr(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):wd(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):vd(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):oo(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):yc(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):Sd(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):Nd(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):hc(r),this.min=r=>this.overrides?.min?this.overrides.min(r):mc(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):Md(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):Dd(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):ho(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):en(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Zt(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):xc(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):Wt(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):lo(r),this.options={locale:mo,...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,o=n?.code;if(o&&De.yearFirstLocales.has(o))try{return new Intl.DateTimeFormat(o,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const s=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,s)}}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 Re=new De;class yo{constructor(t,n,r=Re){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 Td{constructor(t,n){this.date=t,this.weeks=n}}class Od{constructor(t,n){this.days=n,this.weekNumber=t}}function Ad(e){return F.createElement("button",{...e})}function Fd(e){return F.createElement("span",{...e})}function Wd(e){const{size:t=24,orientation:n="left",className:r}=e;return F.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&F.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&F.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&F.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&F.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Ed(e){const{day:t,modifiers:n,...r}=e;return F.createElement("td",{...r})}function Pd(e){const{day:t,modifiers:n,...r}=e,a=F.useRef(null);return F.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),F.createElement("button",{ref:a,...r})}var B;(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"})(B||(B={}));var le;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(le||(le={}));var Pe;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Pe||(Pe={}));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 Id(e){const{options:t,className:n,components:r,classNames:a,...o}=e,s=[a[B.Dropdown],n].join(" "),i=t?.find(({value:c})=>c===o.value);return F.createElement("span",{"data-disabled":o.disabled,className:a[B.DropdownRoot]},F.createElement(r.Select,{className:s,...o},t?.map(({value:c,label:d,disabled:u})=>F.createElement(r.Option,{key:c,value:c,disabled:u},d))),F.createElement("span",{className:a[B.CaptionLabel],"aria-hidden":!0},i?.label,F.createElement(r.Chevron,{orientation:"down",size:18,className:a[B.Chevron]})))}function Ld(e){return F.createElement("div",{...e})}function Bd(e){return F.createElement("div",{...e})}function Yd(e){const{calendarMonth:t,displayIndex:n,...r}=e;return F.createElement("div",{...r},e.children)}function $d(e){const{calendarMonth:t,displayIndex:n,...r}=e;return F.createElement("div",{...r})}function Rd(e){return F.createElement("table",{...e})}function Hd(e){return F.createElement("div",{...e})}const go=h.createContext(void 0);function nn(){const e=h.useContext(go);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Ud(e){const{components:t}=nn();return F.createElement(t.Dropdown,{...e})}function zd(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...o}=e,{components:s,classNames:i,labels:{labelPrevious:c,labelNext:d}}=nn(),u=h.useCallback(y=>{a&&n?.(y)},[a,n]),f=h.useCallback(y=>{r&&t?.(y)},[r,t]);return F.createElement("nav",{...o},F.createElement(s.PreviousMonthButton,{type:"button",className:i[B.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":c(r),onClick:f},F.createElement(s.Chevron,{disabled:r?void 0:!0,className:i[B.Chevron],orientation:"left"})),F.createElement(s.NextMonthButton,{type:"button",className:i[B.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":d(a),onClick:u},F.createElement(s.Chevron,{disabled:a?void 0:!0,orientation:"right",className:i[B.Chevron]})))}function qd(e){const{components:t}=nn();return F.createElement(t.Button,{...e})}function Vd(e){return F.createElement("option",{...e})}function Gd(e){const{components:t}=nn();return F.createElement(t.Button,{...e})}function Kd(e){const{rootRef:t,...n}=e;return F.createElement("div",{...n,ref:t})}function Xd(e){return F.createElement("select",{...e})}function Jd(e){const{week:t,...n}=e;return F.createElement("tr",{...n})}function Qd(e){return F.createElement("th",{...e})}function Zd(e){return F.createElement("thead",{"aria-hidden":!0},F.createElement("tr",{...e}))}function eu(e){const{week:t,...n}=e;return F.createElement("th",{...n})}function tu(e){return F.createElement("th",{...e})}function nu(e){return F.createElement("tbody",{...e})}function ru(e){const{components:t}=nn();return F.createElement(t.Dropdown,{...e})}const au=Object.freeze(Object.defineProperty({__proto__:null,Button:Ad,CaptionLabel:Fd,Chevron:Wd,Day:Ed,DayButton:Pd,Dropdown:Id,DropdownNav:Ld,Footer:Bd,Month:Yd,MonthCaption:$d,MonthGrid:Rd,Months:Hd,MonthsDropdown:Ud,Nav:zd,NextMonthButton:qd,Option:Vd,PreviousMonthButton:Gd,Root:Kd,Select:Xd,Week:Jd,WeekNumber:eu,WeekNumberHeader:tu,Weekday:Qd,Weekdays:Zd,Weeks:nu,YearsDropdown:ru},Symbol.toStringTag,{value:"Module"}));function Ke(e,t,n=!1,r=Re){let{from:a,to:o}=e;const{differenceInCalendarDays:s,isSameDay:i}=r;return a&&o?(s(o,a)<0&&([a,o]=[o,a]),s(t,a)>=(n?1:0)&&s(o,t)>=(n?1:0)):!n&&o?i(o,t):!n&&a?i(a,t):!1}function wr(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Sn(e){return!!(e&&typeof e=="object"&&"from"in e)}function vr(e){return!!(e&&typeof e=="object"&&"after"in e)}function Sr(e){return!!(e&&typeof e=="object"&&"before"in e)}function po(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function bo(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Xe(e,t,n=Re){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:o,isAfter:s}=n;return r.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return a(e,i);if(bo(i,n))return i.some(c=>a(e,c));if(Sn(i))return Ke(i,e,!1,n);if(po(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(wr(i)){const c=o(i.before,e),d=o(i.after,e),u=c>0,f=d<0;return s(i.before,i.after)?f&&u:u||f}return vr(i)?o(e,i.after)>0:Sr(i)?o(i.before,e)>0:typeof i=="function"?i(e):!1})}function ou(e,t,n,r,a){const{disabled:o,hidden:s,modifiers:i,showOutsideDays:c,broadcastCalendar:d,today:u=a.today()}=t,{isSameDay:f,isSameMonth:y,startOfMonth:g,isBefore:p,endOfMonth:b,isAfter:x}=a,v=n&&g(n),S=r&&b(r),k={[le.focused]:[],[le.outside]:[],[le.disabled]:[],[le.hidden]:[],[le.today]:[]},C={};for(const j of e){const{date:D,displayMonth:O}=j,N=!!(O&&!y(D,O)),T=!!(v&&p(D,v)),_=!!(S&&x(D,S)),M=!!(o&&Xe(D,o,a)),P=!!(s&&Xe(D,s,a))||T||_||!d&&!c&&N||d&&c===!1&&N,A=f(D,u);N&&k.outside.push(j),M&&k.disabled.push(j),P&&k.hidden.push(j),A&&k.today.push(j),i&&Object.keys(i).forEach(W=>{const $=i?.[W];$&&Xe(D,$,a)&&(C[W]?C[W].push(j):C[W]=[j])})}return j=>{const D={[le.focused]:!1,[le.disabled]:!1,[le.hidden]:!1,[le.outside]:!1,[le.today]:!1},O={};for(const N in k){const T=k[N];D[N]=T.some(_=>_===j)}for(const N in C)O[N]=C[N].some(T=>T===j);return{...D,...O}}}function su(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[o])=>(n[o]?a.push(n[o]):t[le[o]]?a.push(t[le[o]]):t[Pe[o]]&&a.push(t[Pe[o]]),a),[t[B.Day]])}function iu(e){return{...au,...e}}function lu(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 cu(){const e={};for(const t in B)e[B[t]]=`rdp-${B[t]}`;for(const t in le)e[le[t]]=`rdp-${le[t]}`;for(const t in Pe)e[Pe[t]]=`rdp-${Pe[t]}`;for(const t in Me)e[Me[t]]=`rdp-${Me[t]}`;return e}function xo(e,t,n){return(n??new De(t)).formatMonthYear(e)}const du=xo;function uu(e,t,n){return(n??new De(t)).format(e,"d")}function fu(e,t=Re){return t.format(e,"LLLL")}function hu(e,t,n){return(n??new De(t)).format(e,"cccccc")}function mu(e,t=Re){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function yu(){return""}function ko(e,t=Re){return t.format(e,"yyyy")}const gu=ko,pu=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:xo,formatDay:uu,formatMonthCaption:du,formatMonthDropdown:fu,formatWeekNumber:mu,formatWeekNumberHeader:yu,formatWeekdayName:hu,formatYearCaption:gu,formatYearDropdown:ko},Symbol.toStringTag,{value:"Module"}));function bu(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...pu,...e}}function Nr(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 xu=Nr;function Mr(e,t,n){return(n??new De(t)).formatMonthYear(e)}const ku=Mr;function wo(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 So(){return""}const wu="Go to the Next Month";function No(e,t){return wu}function Mo(e){return"Go to the Previous Month"}function Do(e,t,n){return(n??new De(t)).format(e,"cccc")}function Co(e,t){return`Week ${e}`}function jo(e){return"Week Number"}function _o(e){return"Choose the Year"}const vu=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:ku,labelDay:xu,labelDayButton:Nr,labelGrid:Mr,labelGridcell:wo,labelMonthDropdown:vo,labelNav:So,labelNext:No,labelPrevious:Mo,labelWeekNumber:Co,labelWeekNumberHeader:jo,labelWeekday:Do,labelYearDropdown:_o},Symbol.toStringTag,{value:"Module"})),Ee=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Su(e,t){const n=t.locale?.labels??{};return{...vu,...e??{},labelDayButton:Ee(Nr,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Ee(vo,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Ee(No,e?.labelNext,n.labelNext),labelPrevious:Ee(Mo,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Ee(Co,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Ee(_o,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Ee(Mr,e?.labelGrid,n.labelGrid),labelGridcell:Ee(wo,e?.labelGridcell,n.labelGridcell),labelNav:Ee(So,e?.labelNav,n.labelNav),labelWeekNumberHeader:Ee(jo,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Ee(Do,e?.labelWeekday,n.labelWeekday)}}function Nu(e,t,n,r,a){const{startOfMonth:o,startOfYear:s,endOfYear:i,eachMonthOfInterval:c,getMonth:d}=a;return c({start:s(e),end:i(e)}).map(y=>{const g=r.formatMonthDropdown(y,a),p=d(y),b=t&&y<o(t)||n&&y>o(n)||!1;return{value:p,label:g,disabled:b}})}function Mu(e,t={},n={}){let r={...t?.[B.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function Du(e,t,n,r){const a=r??e.today(),o=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),s=[];for(let i=0;i<7;i++){const c=e.addDays(o,i);s.push(c)}return s}function Cu(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:o,endOfYear:s,eachYearOfInterval:i,getYear:c}=r,d=o(e),u=s(t),f=i({start:d,end:u});return a&&f.reverse(),f.map(y=>{const g=n.formatYearDropdown(y,r);return{value:c(y),label:g,disabled:!1}})}function ju(e,t={}){const{weekStartsOn:n,locale:r}=t,a=n??r?.options?.weekStartsOn??0,o=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new ge(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},s=i=>{const c=o(i);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>o(ge.tz(e)),newDate:(i,c,d)=>new ge(i,c,d,12,0,0,e),startOfDay:i=>o(i),startOfWeek:(i,c)=>{const d=o(i),u=c?.weekStartsOn??a,f=(d.getDay()-u+7)%7;return d.setDate(d.getDate()-f),d},startOfISOWeek:i=>{const c=o(i),d=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-d),c},startOfMonth:i=>{const c=o(i);return c.setDate(1),c},startOfYear:i=>{const c=o(i);return c.setMonth(0,1),c},endOfWeek:(i,c)=>{const d=o(i),y=(((c?.weekStartsOn??a)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+y),d},endOfISOWeek:i=>{const c=o(i),d=(7-c.getDay())%7;return c.setDate(c.getDate()+d),c},endOfMonth:i=>{const c=o(i);return c.setMonth(c.getMonth()+1,0),c},endOfYear:i=>{const c=o(i);return c.setMonth(11,31),c},eachMonthOfInterval:i=>{const c=o(i.start),d=o(i.end),u=[],f=new ge(c.getFullYear(),c.getMonth(),1,12,0,0,e),y=d.getFullYear()*12+d.getMonth();for(;f.getFullYear()*12+f.getMonth()<=y;)u.push(new ge(f,e)),f.setMonth(f.getMonth()+1,1);return u},addDays:(i,c)=>{const d=o(i);return d.setDate(d.getDate()+c),d},addWeeks:(i,c)=>{const d=o(i);return d.setDate(d.getDate()+c*7),d},addMonths:(i,c)=>{const d=o(i);return d.setMonth(d.getMonth()+c),d},addYears:(i,c)=>{const d=o(i);return d.setFullYear(d.getFullYear()+c),d},eachYearOfInterval:i=>{const c=o(i.start),d=o(i.end),u=[],f=new ge(c.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=d.getFullYear();)u.push(new ge(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return u},getWeek:(i,c)=>{const d=s(i);return kr(d,{weekStartsOn:c?.weekStartsOn??a,firstWeekContainsDate:c?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=s(i);return xr(c)},differenceInCalendarDays:(i,c)=>{const d=s(i),u=s(c);return br(d,u)},differenceInCalendarMonths:(i,c)=>{const d=s(i),u=s(c);return so(d,u)}}}const rn=e=>e instanceof HTMLElement?e:null,qn=e=>[...e.querySelectorAll("[data-animated-month]")??[]],_u=e=>rn(e.querySelector("[data-animated-month]")),Vn=e=>rn(e.querySelector("[data-animated-caption]")),Gn=e=>rn(e.querySelector("[data-animated-weeks]")),Tu=e=>rn(e.querySelector("[data-animated-nav]")),Ou=e=>rn(e.querySelector("[data-animated-weekdays]"));function Au(e,t,{classNames:n,months:r,focused:a,dateLib:o}){const s=h.useRef(null),i=h.useRef(r),c=h.useRef(!1);h.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=o.isSameMonth(r[0].date,d[0].date),f=o.isAfter(r[0].date,d[0].date),y=f?n[Me.caption_after_enter]:n[Me.caption_before_enter],g=f?n[Me.weeks_after_enter]:n[Me.weeks_before_enter],p=s.current,b=e.current.cloneNode(!0);if(b instanceof HTMLElement?(qn(b).forEach(k=>{if(!(k instanceof HTMLElement))return;const C=_u(k);C&&k.contains(C)&&k.removeChild(C);const j=Vn(k);j&&j.classList.remove(y);const D=Gn(k);D&&D.classList.remove(g)}),s.current=b):s.current=null,c.current||u||a)return;const x=p instanceof HTMLElement?qn(p):[],v=qn(e.current);if(v?.every(S=>S instanceof HTMLElement)&&x&&x.every(S=>S instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const S=Tu(e.current);S&&(S.style.zIndex="1"),v.forEach((k,C)=>{const j=x[C];if(!j)return;k.style.position="relative",k.style.overflow="hidden";const D=Vn(k);D&&D.classList.add(y);const O=Gn(k);O&&O.classList.add(g);const N=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),S&&(S.style.zIndex=""),D&&D.classList.remove(y),O&&O.classList.remove(g),k.style.position="",k.style.overflow="",k.contains(j)&&k.removeChild(j)};j.style.pointerEvents="none",j.style.position="absolute",j.style.overflow="hidden",j.setAttribute("aria-hidden","true");const T=Ou(j);T&&(T.style.opacity="0");const _=Vn(j);_&&(_.classList.add(f?n[Me.caption_before_exit]:n[Me.caption_after_exit]),_.addEventListener("animationend",N));const M=Gn(j);M&&M.classList.add(f?n[Me.weeks_before_exit]:n[Me.weeks_after_exit]),k.insertBefore(j,k.firstChild)})}})}function Fu(e,t,n,r){const a=e[0],o=e[e.length-1],{ISOWeek:s,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:y,endOfISOWeek:g,endOfMonth:p,endOfWeek:b,isAfter:x,startOfBroadcastWeek:v,startOfISOWeek:S,startOfWeek:k}=r,C=c?v(a,r):s?S(a):k(a),j=c?y(o):s?g(p(o)):b(p(o)),D=t&&(c?y(t):s?g(t):b(t)),O=D&&x(j,D)?D:j,N=u(O,C),T=f(o,a)+1,_=[];for(let A=0;A<=N;A++){const W=d(C,A);_.push(W)}const P=(c?35:42)*T;if(i&&_.length<P){const A=P-_.length;for(let W=0;W<A;W++){const $=d(_[_.length-1],1);_.push($)}}return _}function Wu(e){const t=[];return e.reduce((n,r)=>{const a=r.weeks.reduce((o,s)=>o.concat(s.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function Eu(e,t,n,r){const{numberOfMonths:a=1}=n,o=[];for(let s=0;s<a;s++){const i=r.addMonths(e,s);if(t&&i>t)break;o.push(i)}return o}function ba(e,t,n,r){const{month:a,defaultMonth:o,today:s=r.today(),numberOfMonths:i=1}=e;let c=a||o||s;const{differenceInCalendarMonths:d,addMonths:u,startOfMonth:f}=r;if(n&&d(n,c)<i-1){const y=-1*(i-1);c=u(n,y)}return t&&d(c,t)<0&&(c=t),f(c)}function Pu(e,t,n,r){const{addDays:a,endOfBroadcastWeek:o,endOfISOWeek:s,endOfMonth:i,endOfWeek:c,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:y,startOfWeek:g}=r,p=e.reduce((b,x)=>{const v=n.broadcastCalendar?f(x,r):n.ISOWeek?y(x):g(x),S=n.broadcastCalendar?o(x):n.ISOWeek?s(i(x)):c(i(x)),k=t.filter(O=>O>=v&&O<=S),C=n.broadcastCalendar?35:42;if(n.fixedWeeks&&k.length<C){const O=t.filter(N=>{const T=C-k.length;return N>S&&N<=a(S,T)});k.push(...O)}const j=k.reduce((O,N)=>{const T=n.ISOWeek?d(N):u(N),_=O.find(P=>P.weekNumber===T),M=new yo(N,x,r);return _?_.days.push(M):O.push(new Od(T,[M])),O},[]),D=new Td(x,j);return b.push(D),b},[]);return n.reverseMonths?p.reverse():p}function Iu(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:o,startOfMonth:s,endOfMonth:i,addYears:c,endOfYear:d,newDate:u,today:f}=t,{fromYear:y,toYear:g,fromMonth:p,toMonth:b}=e;!n&&p&&(n=p),!n&&y&&(n=t.newDate(y,0,1)),!r&&b&&(r=b),!r&&g&&(r=u(g,11,31));const x=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=s(n):y?n=u(y,0,1):!n&&x&&(n=a(c(e.today??f(),-100))),r?r=i(r):g?r=u(g,11,31):!r&&x&&(r=d(e.today??f())),[n&&o(n),r&&o(r)]}function Lu(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o=1}=n,{startOfMonth:s,addMonths:i,differenceInCalendarMonths:c}=r,d=a?o:1,u=s(e);if(!t)return i(u,d);if(!(c(t,e)<o))return i(u,d)}function Bu(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o}=n,{startOfMonth:s,addMonths:i,differenceInCalendarMonths:c}=r,d=a?o??1:1,u=s(e);if(!t)return i(u,-d);if(!(c(u,t)<=0))return i(u,-d)}function Yu(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function Nn(e,t){const[n,r]=h.useState(e);return[t===void 0?n:t,r]}function $u(e,t){const[n,r]=Iu(e,t),{startOfMonth:a,endOfMonth:o}=t,s=ba(e,n,r,t),[i,c]=Nn(s,e.month?s:void 0);h.useEffect(()=>{const C=ba(e,n,r,t);c(C)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:y,nextMonth:g}=h.useMemo(()=>{const C=Eu(i,r,{numberOfMonths:e.numberOfMonths},t),j=Fu(C,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),D=Pu(C,j,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=Yu(D),N=Wu(D),T=Bu(i,n,e,t),_=Lu(i,r,e,t);return{months:D,weeks:O,days:N,previousMonth:T,nextMonth:_}},[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,x=C=>u.some(j=>j.days.some(D=>D.isEqualTo(C))),v=C=>{if(p)return;let j=a(C);n&&j<a(n)&&(j=a(n)),r&&j>a(r)&&(j=a(r)),c(j),b?.(j)};return{months:d,weeks:u,days:f,navStart:n,navEnd:r,previousMonth:y,nextMonth:g,goToMonth:v,goToDay:C=>{x(C)||v(C.date)}}}var Be;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(Be||(Be={}));function xa(e){return!e[le.disabled]&&!e[le.hidden]&&!e[le.outside]}function Ru(e,t,n,r){let a,o=-1;for(const s of e){const i=t(s);xa(i)&&(i[le.focused]&&o<Be.FocusedModifier?(a=s,o=Be.FocusedModifier):r?.isEqualTo(s)&&o<Be.LastFocused?(a=s,o=Be.LastFocused):n(s.date)&&o<Be.Selected?(a=s,o=Be.Selected):i[le.today]&&o<Be.Today&&(a=s,o=Be.Today))}return a||(a=e.find(s=>xa(t(s)))),a}function Hu(e,t,n,r,a,o,s){const{ISOWeek:i,broadcastCalendar:c}=o,{addDays:d,addMonths:u,addWeeks:f,addYears:y,endOfBroadcastWeek:g,endOfISOWeek:p,endOfWeek:b,max:x,min:v,startOfBroadcastWeek:S,startOfISOWeek:k,startOfWeek:C}=s;let D={day:d,week:f,month:u,year:y,startOfWeek:O=>c?S(O,s):i?k(O):C(O),endOfWeek:O=>c?g(O):i?p(O):b(O)}[e](n,t==="after"?1:-1);return t==="before"&&r?D=x([r,D]):t==="after"&&a&&(D=v([a,D])),D}function To(e,t,n,r,a,o,s,i=0){if(i>365)return;const c=Hu(e,t,n.date,r,a,o,s),d=!!(o.disabled&&Xe(c,o.disabled,s)),u=!!(o.hidden&&Xe(c,o.hidden,s)),f=c,y=new yo(c,f,s);return!d&&!u?y:To(e,t,y,r,a,o,s,i+1)}function Uu(e,t,n,r,a){const{autoFocus:o}=e,[s,i]=h.useState(),c=Ru(t.days,n,r||(()=>!1),s),[d,u]=h.useState(o?c:void 0);return{isFocusTarget:b=>!!c?.isEqualTo(b),setFocused:u,focused:d,blur:()=>{i(d),u(void 0)},moveFocus:(b,x)=>{if(!d)return;const v=To(b,x,d,t.navStart,t.navEnd,e,a);v&&(e.disableNavigation&&!t.days.some(k=>k.isEqualTo(v))||(t.goToDay(v),u(v)))}}}function zu(e,t){const{selected:n,required:r,onSelect:a}=e,[o,s]=Nn(n,a?n:void 0),i=a?n:o,{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 x=[...i??[]];if(d(g)){if(i?.length===u||r&&i?.length===1)return;x=i?.filter(v=>!c(v,g))}else i?.length===f?x=[g]:x=[...x,g];return a||s(x),a?.(x,g,p,b),x},isSelected:d}}function qu(e,t,n=0,r=0,a=!1,o=Re){const{from:s,to:i}=t||{},{isSameDay:c,isAfter:d,isBefore:u}=o;let f;if(!s&&!i)f={from:e,to:n>0?void 0:e};else if(s&&!i)c(s,e)?n===0?f={from:s,to:e}:a?f={from:s,to:void 0}:f=void 0:u(e,s)?f={from:e,to:s}:f={from:s,to:e};else if(s&&i)if(c(s,e)&&c(i,e))a?f={from:s,to:i}:f=void 0;else if(c(s,e))f={from:s,to:n>0?void 0:e};else if(c(i,e))f={from:e,to:n>0?void 0:e};else if(u(e,s))f={from:e,to:i};else if(d(e,s))f={from:s,to:e};else if(d(e,i))f={from:s,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const y=o.differenceInCalendarDays(f.to,f.from);r>0&&y>r?f={from:e,to:void 0}:n>1&&y<n&&(f={from:e,to:void 0})}return f}function Vu(e,t,n=Re){const r=Array.isArray(t)?t:[t];let a=e.from;const o=n.differenceInCalendarDays(e.to,e.from),s=Math.min(o,6);for(let i=0;i<=s;i++){if(r.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function ka(e,t,n=Re){return Ke(e,t.from,!1,n)||Ke(e,t.to,!1,n)||Ke(t,e.from,!1,n)||Ke(t,e.to,!1,n)}function Gu(e,t,n=Re){const r=Array.isArray(t)?t:[t];if(r.filter(i=>typeof i!="function").some(i=>typeof i=="boolean"?i:n.isDate(i)?Ke(e,i,!1,n):bo(i,n)?i.some(c=>Ke(e,c,!1,n)):Sn(i)?i.from&&i.to?ka(e,{from:i.from,to:i.to},n):!1:po(i)?Vu(e,i.dayOfWeek,n):wr(i)?n.isAfter(i.before,i.after)?ka(e,{from:n.addDays(i.after,1),to:n.addDays(i.before,-1)},n):Xe(e.from,i,n)||Xe(e.to,i,n):vr(i)||Sr(i)?Xe(e.from,i,n)||Xe(e.to,i,n):!1))return!0;const s=r.filter(i=>typeof i=="function");if(s.length){let i=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=c;d++){if(s.some(u=>u(i)))return!0;i=n.addDays(i,1)}}return!1}function Ku(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:a,selected:o,required:s,onSelect:i}=e,[c,d]=Nn(o,i?o:void 0),u=i?o:c;return{selected:u,select:(g,p,b)=>{const{min:x,max:v}=e;let S;if(g){const k=u?.from,C=u?.to,j=!!k&&!!C,D=!!k&&!!C&&t.isSameDay(k,C)&&t.isSameDay(g,k);a&&(j||!u?.from)?!s&&D?S=void 0:S={from:g,to:void 0}:S=qu(g,u,x,v,s,t)}return r&&n&&S?.from&&S.to&&Gu({from:S.from,to:S.to},n,t)&&(S.from=g,S.to=void 0),i||d(S),i?.(S,g,p,b),S},isSelected:g=>u&&Ke(u,g,!1,t)}}function Xu(e,t){const{selected:n,required:r,onSelect:a}=e,[o,s]=Nn(n,a?n:void 0),i=a?n:o,{isSameDay:c}=t;return{selected:i,select:(f,y,g)=>{let p=f;return!r&&i&&i&&c(f,i)&&(p=void 0),a||s(p),a?.(p,f,y,g),p},isSelected:f=>i?c(i,f):!1}}function Ju(e,t){const n=Xu(e,t),r=zu(e,t),a=Ku(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function Te(e,t){return e instanceof ge&&e.timeZone===t?e:new ge(e,t)}function Ot(e,t,n){return Te(e,t)}function wa(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Ot(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?Ot(r,t):r):Sn(e)?{...e,from:e.from?Te(e.from,t):e.from,to:e.to?Te(e.to,t):e.to}:wr(e)?{before:Ot(e.before,t),after:Ot(e.after,t)}:vr(e)?{after:Ot(e.after,t)}:Sr(e)?{before:Ot(e.before,t)}:e}function Kn(e,t,n){return e&&(Array.isArray(e)?e.map(r=>wa(r,t)):wa(e,t))}function Qu(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Te(t.today,n)),t.month&&(t.month=Te(t.month,n)),t.defaultMonth&&(t.defaultMonth=Te(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Te(t.startMonth,n)),t.endMonth&&(t.endMonth=Te(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Te(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(R=>Te(R,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Te(t.selected.from,n):t.selected.from,to:t.selected.to?Te(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=Kn(t.disabled,n)),t.hidden!==void 0&&(t.hidden=Kn(t.hidden,n)),t.modifiers)){const R={};Object.keys(t.modifiers).forEach(Z=>{R[Z]=Kn(t.modifiers?.[Z],n)}),t.modifiers=R}const{components:r,formatters:a,labels:o,dateLib:s,locale:i,classNames:c}=h.useMemo(()=>{const R={...mo,...t.locale},Z=t.broadcastCalendar?1:t.weekStartsOn,I=t.noonSafe&&t.timeZone?ju(t.timeZone,{weekStartsOn:Z,locale:R}):void 0,H=t.dateLib&&I?{...I,...t.dateLib}:t.dateLib??I,ye=new De({locale:R,weekStartsOn:Z,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},H);return{dateLib:ye,components:iu(t.components),formatters:bu(t.formatters),labels:Su(t.labels,ye.options),locale:R,classNames:{...cu(),...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:s.today()});const{captionLayout:d,mode:u,navLayout:f,numberOfMonths:y=1,onDayBlur:g,onDayClick:p,onDayFocus:b,onDayKeyDown:x,onDayMouseEnter:v,onDayMouseLeave:S,onNextClick:k,onPrevClick:C,showWeekNumber:j,styles:D}=t,{formatCaption:O,formatDay:N,formatMonthDropdown:T,formatWeekNumber:_,formatWeekNumberHeader:M,formatWeekdayName:P,formatYearDropdown:A}=a,W=$u(t,s),{days:$,months:X,navStart:ie,navEnd:K,previousMonth:Y,nextMonth:U,goToMonth:V}=W,oe=ou($,t,ie,K,s),{isSelected:G,select:z,selected:Q}=Ju(t,s)??{},{blur:ae,focused:se,isFocusTarget:Ae,moveFocus:at,setFocused:be}=Uu(t,W,oe,G??(()=>!1),s),{labelDayButton:Ce,labelGridcell:It,labelGrid:Je,labelMonthDropdown:He,labelNav:xe,labelPrevious:kt,labelNext:me,labelWeekday:ue,labelWeekNumber:ke,labelWeekNumberHeader:Ie,labelYearDropdown:ot}=o,Qe=h.useMemo(()=>Du(s,t.ISOWeek,t.broadcastCalendar,t.today),[s,t.ISOWeek,t.broadcastCalendar,t.today]),we=u!==void 0||p!==void 0,st=h.useCallback(()=>{Y&&(V(Y),C?.(Y))},[Y,V,C]),je=h.useCallback(()=>{U&&(V(U),k?.(U))},[V,U,k]),Lt=h.useCallback((R,Z)=>I=>{I.preventDefault(),I.stopPropagation(),be(R),!Z.disabled&&(z?.(R.date,Z,I),p?.(R.date,Z,I))},[z,p,be]),Bt=h.useCallback((R,Z)=>I=>{be(R),b?.(R.date,Z,I)},[b,be]),Ze=h.useCallback((R,Z)=>I=>{ae(),g?.(R.date,Z,I)},[ae,g]),ee=h.useCallback((R,Z)=>I=>{const H={ArrowLeft:[I.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[I.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[I.shiftKey?"year":"week","after"],ArrowUp:[I.shiftKey?"year":"week","before"],PageUp:[I.shiftKey?"year":"month","before"],PageDown:[I.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(H[I.key]){I.preventDefault(),I.stopPropagation();const[ye,J]=H[I.key];at(ye,J)}x?.(R.date,Z,I)},[at,x,t.dir]),wt=h.useCallback((R,Z)=>I=>{v?.(R.date,Z,I)},[v]),ve=h.useCallback((R,Z)=>I=>{S?.(R.date,Z,I)},[S]),Se=h.useCallback(R=>Z=>{const I=Number(Z.target.value),H=s.setMonth(s.startOfMonth(R),I);V(H)},[s,V]),vt=h.useCallback(R=>Z=>{const I=Number(Z.target.value),H=s.setYear(s.startOfMonth(R),I);V(H)},[s,V]),{className:it,style:Yt}=h.useMemo(()=>({className:[c[B.Root],t.className].filter(Boolean).join(" "),style:{...D?.[B.Root],...t.style}}),[c,t.className,t.style,D]),$t=lu(t),St=h.useRef(null);Au(St,!!t.animate,{classNames:c,months:X,focused:se,dateLib:s});const Rt={dayPickerProps:t,selected:Q,select:z,isSelected:G,months:X,nextMonth:U,previousMonth:Y,goToMonth:V,getModifiers:oe,components:r,classNames:c,styles:D,labels:o,formatters:a};return F.createElement(go.Provider,{value:Rt},F.createElement(r.Root,{rootRef:t.animate?St:void 0,className:it,style:Yt,dir:t.dir,id:t.id,lang:t.lang??i.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...$t},F.createElement(r.Months,{className:c[B.Months],style:D?.[B.Months]},!t.hideNavigation&&!f&&F.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[B.Nav],style:D?.[B.Nav],"aria-label":xe(),onPreviousClick:st,onNextClick:je,previousMonth:Y,nextMonth:U}),X.map((R,Z)=>F.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:c[B.Month],style:D?.[B.Month],key:Z,displayIndex:Z,calendarMonth:R},f==="around"&&!t.hideNavigation&&Z===0&&F.createElement(r.PreviousMonthButton,{type:"button",className:c[B.PreviousMonthButton],tabIndex:Y?void 0:-1,"aria-disabled":Y?void 0:!0,"aria-label":kt(Y),onClick:st,"data-animated-button":t.animate?"true":void 0},F.createElement(r.Chevron,{disabled:Y?void 0:!0,className:c[B.Chevron],orientation:t.dir==="rtl"?"right":"left"})),F.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[B.MonthCaption],style:D?.[B.MonthCaption],calendarMonth:R,displayIndex:Z},d?.startsWith("dropdown")?F.createElement(r.DropdownNav,{className:c[B.Dropdowns],style:D?.[B.Dropdowns]},(()=>{const I=d==="dropdown"||d==="dropdown-months"?F.createElement(r.MonthsDropdown,{key:"month",className:c[B.MonthsDropdown],"aria-label":He(),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:Se(R.date),options:Nu(R.date,ie,K,a,s),style:D?.[B.Dropdown],value:s.getMonth(R.date)}):F.createElement("span",{key:"month"},T(R.date,s)),H=d==="dropdown"||d==="dropdown-years"?F.createElement(r.YearsDropdown,{key:"year",className:c[B.YearsDropdown],"aria-label":ot(s.options),classNames:c,components:r,disabled:!!t.disableNavigation,onChange:vt(R.date),options:Cu(ie,K,a,s,!!t.reverseYears),style:D?.[B.Dropdown],value:s.getYear(R.date)}):F.createElement("span",{key:"year"},A(R.date,s));return s.getMonthYearOrder()==="year-first"?[H,I]:[I,H]})(),F.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},O(R.date,s.options,s))):F.createElement(r.CaptionLabel,{className:c[B.CaptionLabel],role:"status","aria-live":"polite"},O(R.date,s.options,s))),f==="around"&&!t.hideNavigation&&Z===y-1&&F.createElement(r.NextMonthButton,{type:"button",className:c[B.NextMonthButton],tabIndex:U?void 0:-1,"aria-disabled":U?void 0:!0,"aria-label":me(U),onClick:je,"data-animated-button":t.animate?"true":void 0},F.createElement(r.Chevron,{disabled:U?void 0:!0,className:c[B.Chevron],orientation:t.dir==="rtl"?"left":"right"})),Z===y-1&&f==="after"&&!t.hideNavigation&&F.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[B.Nav],style:D?.[B.Nav],"aria-label":xe(),onPreviousClick:st,onNextClick:je,previousMonth:Y,nextMonth:U}),F.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":Je(R.date,s.options,s)||void 0,className:c[B.MonthGrid],style:D?.[B.MonthGrid]},!t.hideWeekdays&&F.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[B.Weekdays],style:D?.[B.Weekdays]},j&&F.createElement(r.WeekNumberHeader,{"aria-label":Ie(s.options),className:c[B.WeekNumberHeader],style:D?.[B.WeekNumberHeader],scope:"col"},M()),Qe.map(I=>F.createElement(r.Weekday,{"aria-label":ue(I,s.options,s),className:c[B.Weekday],key:String(I),style:D?.[B.Weekday],scope:"col"},P(I,s.options,s)))),F.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[B.Weeks],style:D?.[B.Weeks]},R.weeks.map(I=>F.createElement(r.Week,{className:c[B.Week],key:I.weekNumber,style:D?.[B.Week],week:I},j&&F.createElement(r.WeekNumber,{week:I,style:D?.[B.WeekNumber],"aria-label":ke(I.weekNumber,{locale:i}),className:c[B.WeekNumber],scope:"row",role:"rowheader"},_(I.weekNumber,s)),I.days.map(H=>{const{date:ye}=H,J=oe(H);if(J[le.focused]=!J.hidden&&!!se?.isEqualTo(H),J[Pe.selected]=G?.(ye)||J.selected,Sn(Q)){const{from:et,to:_e}=Q;J[Pe.range_start]=!!(et&&_e&&s.isSameDay(ye,et)),J[Pe.range_end]=!!(et&&_e&&s.isSameDay(ye,_e)),J[Pe.range_middle]=Ke(Q,ye,!0,s)}const Nt=Mu(J,D,t.modifiersStyles),Ht=su(J,c,t.modifiersClassNames),Mt=!we&&!J.hidden?It(ye,J,s.options,s):void 0;return F.createElement(r.Day,{key:`${H.isoDate}_${H.displayMonthId}`,day:H,modifiers:J,className:Ht.join(" "),style:Nt,role:"gridcell","aria-selected":J.selected||void 0,"aria-label":Mt,"data-day":H.isoDate,"data-month":H.outside?H.dateMonthId:void 0,"data-selected":J.selected||void 0,"data-disabled":J.disabled||void 0,"data-hidden":J.hidden||void 0,"data-outside":H.outside||void 0,"data-focused":J.focused||void 0,"data-today":J.today||void 0},!J.hidden&&we?F.createElement(r.DayButton,{className:c[B.DayButton],style:D?.[B.DayButton],type:"button",day:H,modifiers:J,disabled:!J.focused&&J.disabled||void 0,"aria-disabled":J.focused&&J.disabled||void 0,tabIndex:Ae(H)?0:-1,"aria-label":Ce(ye,J,s.options,s),onClick:Lt(H,J),onBlur:Ze(H,J),onFocus:Bt(H,J),onKeyDown:ee(H,J),onMouseEnter:wt(H,J),onMouseLeave:ve(H,J)},N(ye,s.options,s)):!J.hidden&&N(H.date,s.options,s))})))))))),t.footer&&F.createElement(r.Footer,{className:c[B.Footer],style:D?.[B.Footer],role:"status","aria-live":"polite"},t.footer)))}function va(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())?$e(n,"MMM d"):e}function Zu({from:e,to:t,onApply:n,onCancel:r}){const a=h.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]),[o,s]=h.useState(a),i=()=>{if(!o?.from)return;const d=$e(o.from,"yyyy-MM-dd"),u=o.to?$e(o.to,"yyyy-MM-dd"):d;n?.(d,u)},c=!!o?.from;return l.jsxs("div",{className:"p-4",children:[l.jsx(Qu,{mode:"range",selected:o,onSelect:s,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"}}}),l.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&&o.from&&l.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[$e(o.from,"MMM d, yyyy"),o.to&&o.to.getTime()!==o.from.getTime()?` — ${$e(o.to,"MMM d, yyyy")}`:""]}),l.jsx(pn,{variant:"secondary",size:"sm",onClick:r,children:"Cancel"}),l.jsx(pn,{variant:"primary",size:"sm",onClick:i,disabled:!c,children:"Apply"})]})]})}function Sa(e){if(!Number.isFinite(Number(e)))return null;const t=Number(e);return t<=0?null:vn(t,{decimals:1})}function Na(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:t<.01?"<$0.01":wn(t.toFixed(2),{decimals:2})}function ef(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?{key:t,label:Ma(t)}:{key:t.key,label:t.label||Ma(t.key)}):[]}function tf(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 nf={CODEX:"#10b981",CLAUDE:"#8b5cf6",OPENCODE:"#f59e0b",GEMINI:"#3b82f6",KIMI:"#a78bfa"};function Xn(e,t){const n=e?.toUpperCase?.()||"";return nf[n]||`hsl(${150+t*40}, 60%, 45%)`}const rf={day:"usage.period.day",week:"usage.period.week",month:"usage.period.month",total:"usage.period.total",custom:"usage.period.custom"};function Ma(e){const t=rf[e];return t?m(t):String(e).toUpperCase()}function af({loading:e,onClick:t}){const n=mr();return l.jsx(pn,{variant:"secondary",size:"sm",disabled:e,onClick:t,"aria-label":m("usage.button.refresh"),className:"w-8 p-0",children:l.jsx(Oe.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 of({period:e,periods:t,onPeriodChange:n,summaryValue:r,summaryLabel:a,summaryCostValue:o,onCostInfo:s,fleetData:i=[],onRefresh:c,loading:d,className:u="",customFrom:f,customTo:y,onCustomRangeApply:g,customRangeOpen:p,onCustomRangeOpenChange:b,onOpenShare:x}){const v=ef(t),S=tf(String(r??"")),k=S!=null,[C,j]=h.useState(null),{resolvedTheme:D}=Ha(),O=D==="dark",N=O?"rgba(10,10,10,0.98)":"rgba(255,255,255,0.96)",T=O?"rgba(10,10,10,0)":"rgba(255,255,255,0)",_=i.filter(M=>M.models?.length>0);return l.jsx(Qt,{delay:.2,children:l.jsxs(gr,{className:u,children:[l.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6",children:[l.jsx("div",{role:"tablist","aria-label":m("usage.overview.tablist_aria"),className:"flex gap-1",children:v.map(M=>{const P=e===M.key,A=`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(M.key==="custom"){const W=P&&f&&y?`${va(f)} — ${va(y)}`:M.label;return l.jsxs(Hi,{open:p,onOpenChange:$=>{$?n?.("custom"):b?.($)},children:[l.jsx(Ui,{render:l.jsx("button",{role:"tab","aria-selected":P,type:"button",className:A}),children:W}),l.jsx(zi,{children:l.jsx(qi,{sideOffset:8,side:"bottom",align:"start",className:"!z-[9999]",children:l.jsx(Vi,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:l.jsx(Zu,{from:f,to:y,onApply:g,onCancel:()=>b?.(!1)})})})})]},"custom")}return l.jsx("button",{role:"tab","aria-selected":P,type:"button",className:A,onClick:()=>n?.(M.key),children:M.label},M.key)})}),l.jsxs("div",{className:"flex items-center gap-1.5",children:[x?l.jsxs("button",{type:"button",onClick:x,"aria-label":m("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:[l.jsx(nl,{className:"h-3.5 w-3.5",strokeWidth:2}),m("share.button.label")]}):null,c&&l.jsx(af,{loading:d,onClick:c})]})]}),l.jsxs("div",{className:"text-center mb-8",children:[l.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wider mb-3",children:a}),l.jsx("div",{className:"text-6xl md:text-7xl font-bold text-oai-black dark:text-oai-white tracking-tight tabular-nums",children:k?l.jsx(Ql,{value:S,displayValue:r,fontSize:72,padding:6,gap:1,textColor:"var(--oai-black, #111827)",fontWeight:700,gradientHeight:O?0:8,gradientFrom:N,gradientTo:T,counterStyle:{paddingLeft:0,paddingRight:0,gap:0},digitStyle:{width:"0.88ch"}}):r}),o&&l.jsx("div",{className:"flex items-center justify-center gap-2 mt-4",children:s?l.jsxs("button",{type:"button",onClick:s,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":m("usage.overview.cost_breakdown_aria"),children:[o,l.jsx(el,{size:16,strokeWidth:2,className:"opacity-80"})]}):l.jsx("span",{className:"text-xl font-bold text-oai-brand",children:o})})]}),_.length>0&&l.jsxs("div",{className:"space-y-6",children:[l.jsx("div",{role:"img","aria-label":m("usage.overview.distribution_aria",{items:_.map(M=>m("usage.overview.distribution_item",{label:M.label,percent:M.totalPercent})).join(",")}),className:"h-1.5 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden flex",children:_.map((M,P)=>{const A=Xn(M.label,P);return l.jsx(Oe.div,{initial:{width:0},animate:{width:`${M.totalPercent}%`},transition:{duration:.6,delay:.3+P*.1},className:"h-full",style:{backgroundColor:A},title:`${M.label}: ${M.totalPercent}%`},M.label)})}),l.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:_.map((M,P)=>{const A=Xn(M.label,P),W=C===M.label;return l.jsxs("button",{"aria-expanded":W,"aria-controls":`provider-details-${M.label}`,"aria-label":m("usage.overview.provider_card_aria",{provider:M.label,percent:M.totalPercent,tokens:Sa(M.usage)||"0",cost:Na(M.usd)||"$0",action:m(W?"usage.overview.collapse":"usage.overview.expand")}),onClick:()=>j(W?null:M.label),className:`min-w-0 text-left p-3 rounded-lg border transition-colors duration-200 ${W?"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:[l.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[l.jsx(Zr,{provider:M.label,size:15,color:A,className:"text-oai-gray-700 dark:text-oai-gray-300 shrink-0"}),l.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:M.label})]}),l.jsxs("div",{className:"text-lg font-semibold text-oai-black dark:text-oai-white tabular-nums",children:[M.totalPercent,"%"]}),l.jsx("div",{className:"mt-0.5 text-[11px] text-oai-gray-400 dark:text-oai-gray-400 tabular-nums",children:m("usage.overview.model_count",{count:M.models.length})})]},M.label)})}),C&&l.jsx("div",{id:`provider-details-${C}`,role:"region","aria-label":m("usage.overview.model_details_aria",{provider:C}),className:"mt-2",children:_.filter(M=>M.label===C).map(M=>{const P=Xn(M.label,0),A=[...M.models].sort((W,$)=>($.share||0)-(W.share||0));return l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-center gap-1.5 mb-3",children:[l.jsx(Zr,{provider:M.label,size:14,color:P,className:"shrink-0"}),l.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:M.label})]}),l.jsx("div",{className:"space-y-3",children:A.map(W=>{const $=Sa(W.usage),X=Na(W.cost),ie=Math.max(0,Math.min(100,Number(W.share)||0));return l.jsxs("div",{children:[l.jsxs("div",{className:"flex items-baseline gap-4 mb-1.5",children:[l.jsx("span",{className:"flex-1 min-w-0 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate",title:W.name,children:W.name}),l.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:$}),l.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:X}),l.jsxs("span",{className:"shrink-0 w-12 text-right text-sm text-oai-black dark:text-oai-white tabular-nums",children:[W.share,"%"]})]}),l.jsx("div",{className:"h-[3px] bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden",role:"progressbar","aria-valuenow":ie,"aria-valuemin":0,"aria-valuemax":100,children:l.jsx("div",{className:"h-full transition-[width] duration-500 ease-out",style:{width:`${ie}%`,backgroundColor:P,opacity:.45}})})]},W.id||W.name)})})]},M.label)})})]})]})})}function Da(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 o=n-r;return e[r]+(e[a]-e[r])*o}function sf(e){const t=Array.isArray(e)?e.filter(a=>Number.isFinite(a)&&a>0).sort((a,o)=>a-o):[];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=Da(t,.25),o=Da(t,.75),s=Math.max(o-a,0),i=o+s*1.5;n>i&&(r=Math.max(i,o,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))):[]}}function lf({value:e,displayValue:t,scale:n,index:r,row:a,totalBars:o}){const s=mr(),i=n.effectiveMax>0?t/n.effectiveMax*100:0,c=`${Math.max(i,2)}%`,d=a?.missing,u=a?.future,f=o<=7?"6px":o<=14?"4px":"3px";return l.jsx(Oe.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:s?0:.3,delay:s?0:r*.02,ease:[.25,.1,.25,1]},style:{originY:1},children:l.jsxs("div",{className:"absolute inset-x-0 bottom-0",style:{height:c},children:[l.jsx("div",{"data-trend-bar":"true",className:"h-full w-full cursor-pointer transition-all duration-200 group-hover:brightness-110",style:{minHeight:e>0?"4px":"2px",opacity:d||u?.2:1,borderRadius:`${f} ${f} 0 0`,background:e>0?"#10b981":"var(--oai-gray-100)"},title:`${e.toLocaleString()}`}),l.jsx("div",{className:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-oai-black text-white text-xs rounded opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap z-20",children:e.toLocaleString()})]})})}function cf({rows:e,from:t,to:n,period:r,timeZoneLabel:a,showTimeZoneLabel:o=!0,className:s=""}){const i=Array.isArray(e)&&e.length?e:[],c=i.map(u=>{if(u?.missing||u?.future)return 0;const f=u?.billable_total_tokens??u?.total_tokens??u?.value;if(f==null)return 0;const y=Number(f);return Number.isFinite(y)?y:0}),d=sf(c);return l.jsxs("div",{className:`rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5 ${s}`,children:[l.jsxs("div",{className:"mb-3",children:[l.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:m("trend.monitor.label")}),o&&a&&l.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:a})]}),l.jsxs("div",{className:"space-y-3",children:[l.jsxs("div",{className:"relative",children:[l.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(u=>l.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-u}%`}},u))}),l.jsx("div",{className:"h-40 flex items-end gap-1 relative z-0",children:c.length>0?c.map((u,f)=>l.jsx(lf,{value:u,displayValue:d.clippedValues[f]??0,scale:d,index:f,row:i[f],totalBars:c.length},f)):l.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:l.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),t&&n&&l.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:[l.jsx("span",{children:t}),l.jsx("span",{children:n})]})]})]})}const Ca={"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"},Jn=new Map;async function df(e){if(Jn.has(e))return Jn.get(e);const t=await fetch(`/clawd/${e}`);if(!t.ok)return null;const r=(await t.text()).replace(/<svg([^>]*)>/,(a,o)=>`<svg${o.replace(/\s+width="[^"]*"/g,"").replace(/\s+height="[^"]*"/g,"")} width="100%" height="100%">`);return Jn.set(e,r),r}function uf({state:e="idle-living",size:t=48,className:n=""}){const[r,a]=h.useState(""),o=h.useRef(null),i=ff()?"static-base":e,c=Ca[i]||Ca["static-base"];return h.useEffect(()=>{let d=!1;return df(c).then(u=>{!d&&u&&a(u)}),()=>{d=!0}},[c]),h.useEffect(()=>{const d=o.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]),l.jsx("div",{ref:o,className:`clawd-animated ${n}`,style:{width:t,height:t,display:"inline-flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},dangerouslySetInnerHTML:{__html:r}})}function ff(){const[e,t]=h.useState(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches);return h.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 hf({todayTokens:e=0,isSyncing:t=!1,hasError:n=!1,isDisconnected:r=!1}={}){return h.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 ja="macAppBannerDismissed",mf="leaderboardBannerDismissed",yf="https://github.com/mm7894215/TokenTracker/releases/latest",_a="tokentracker_native_app",fn=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(_a,"1"),!0):localStorage.getItem(_a)==="1"}catch{return!1}})();function gf({todayTokens:e=0,isSyncing:t=!1}){const{openLoginModal:n}=ki(),{signedIn:r}=Ua(),a=hf({todayTokens:e,isSyncing:t}),o=fn?mf:ja,[s,i]=h.useState(()=>{try{return localStorage.getItem(o)==="1"?!0:!fn&&new URLSearchParams(window.location.search).get("from")==="menubar"?(localStorage.setItem(ja,"1"),!0):!1}catch{return!1}}),c=h.useCallback(()=>{i(!0);try{localStorage.setItem(o,"1")}catch{}},[o]);if(s)return null;let d,u,f,y,g,p;fn&&r?(d="View the Leaderboard",u="Compare your usage globally",f="Leaderboard",y=l.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:l.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)"})}),g=()=>{window.location.pathname="/leaderboard"}):fn?(d="Join the Leaderboard",u="Log in to compare your usage with others",f="Log In",y=l.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:l.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"})}),g=n):(d="Try the Menu Bar App",u="Always-on stats with Clawd companion",f="Download",y=l.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:l.jsx("path",{d:"M6 2v6m0 0L3.5 5.5M6 8l2.5-2.5M2 10h8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),p=yf);const b=p?Oe.a:Oe.button,x=p?{href:p,target:"_blank",rel:"noopener noreferrer"}:{onClick:g};return l.jsx(yr,{children:l.jsx(Oe.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.3},className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:l.jsxs("div",{className:"flex items-center gap-3",children:[l.jsx("div",{className:"flex-shrink-0",children:l.jsx(uf,{state:a,size:56})}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-sm font-medium text-oai-gray-900 dark:text-oai-white",children:d}),l.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-0.5",children:u})]}),l.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[l.jsxs(b,{...x,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:[f,y]}),l.jsx("button",{onClick:c,className:"p-1 text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-300 transition-colors","aria-label":"Dismiss",children:l.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:l.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})})})]})]})})})}const Ta="widgetOnboardingDismissed",Oa="tokentracker_native_app",pf=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(Oa,"1"),!0):localStorage.getItem(Oa)==="1"}catch{return!1}})();function bf(){const[e,t]=h.useState(()=>{try{return localStorage.getItem(Ta)==="1"}catch{return!1}}),n=h.useCallback(()=>{t(!0);try{localStorage.setItem(Ta,"1")}catch{}},[]);return pf?l.jsx(yr,{initial:!1,children:!e&&l.jsxs(Oe.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8,transition:{duration:.2,ease:[.4,0,.2,1]}},transition:{duration:.3,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:[l.jsx("button",{type:"button",onClick:n,"aria-label":m("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:l.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:l.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),l.jsx("div",{className:"rounded-lg overflow-hidden ring-1 ring-black/5 dark:ring-white/10 shadow-sm",children:l.jsx("img",{src:"/widgets-overview.png",alt:m("dashboard.widgets.title"),width:734,height:552,className:"w-full h-auto block",loading:"lazy",decoding:"async"})}),l.jsxs("div",{className:"mt-4",children:[l.jsx("div",{className:"text-sm font-medium tracking-tight text-oai-gray-900 dark:text-oai-white",children:m("dashboard.widgets.title")}),l.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-1 leading-snug",children:m("dashboard.widgets.hint")})]})]},"widget-onboarding-card")}):null}function xf(e){const{copy:t,onOpenShare:n,screenshotMode:r,showExpiredGate:a,showAuthGate:o,screenshotTitleLine1:s,screenshotTitleLine2:i,identityDisplayName:c,identityStartDate:d,activeDays:u,identitySubscriptions:f,identityScrambleDurationMs:y,projectUsageEntries:g,projectUsageLimit:p,setProjectUsageLimit:b,topModels:x,signedIn:v,publicMode:S,isLocalMode:k,shouldShowInstall:C,installPrompt:j,handleCopyInstall:D,installCopied:O,installInitCmdDisplay:N,trendRowsForDisplay:T,trendFromForDisplay:_,trendToForDisplay:M,period:P,trendTimeZoneLabel:A,activityHeatmapBlock:W,isCapturing:$,handleShareToX:X,screenshotTwitterButton:ie,screenshotTwitterHint:K,periodsForDisplay:Y,setSelectedPeriod:U,customFrom:V,customTo:oe,onCustomRangeApply:G,customRangeOpen:z,onCustomRangeOpenChange:Q,summaryLabel:ae,summaryValue:se,summaryTotalTokensRaw:Ae,summaryCostValue:at,summaryConversationsValue:be,rollingUsage:Ce,costInfoEnabled:It,openCostModal:Je,costModalOpen:He,closeCostModal:xe,allowBreakdownToggle:kt,refreshAll:me,usageLoadingState:ue,fleetData:ke,hasDetailsActual:Ie,dailyEmptyPrefix:ot,installSyncCmd:Qe,dailyEmptySuffix:we,detailsColumns:st,ariaSortFor:je,toggleSort:Lt,sortIconFor:Bt,pagedDetails:Ze,dailyBreakdownRows:ee,dailyBreakdownColumns:wt,dailyBreakdownAriaSortFor:ve,dailyBreakdownSortIconFor:Se,dailyBreakdownDateKey:vt,detailsDateKey:it,renderDetailDate:Yt,renderDailyBreakdownDate:$t,renderDetailCell:St,DETAILS_PAGED_PERIODS:Rt,detailsPageCount:R,detailsPage:Z,setDetailsPage:I}=e,H=null,ye=null,J=h.useRef(null),[Nt,Ht]=h.useState(0),[Mt,et]=h.useState(!1);return h.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const _e=window.matchMedia("(min-width: 1024px)"),Ue=()=>et(_e.matches);return Ue(),_e.addEventListener?.("change",Ue),()=>_e.removeEventListener?.("change",Ue)},[]),h.useEffect(()=>{const _e=J.current;if(!_e)return;const Ue=new ResizeObserver(([ze])=>{Ht(ze.contentRect.height)});return Ue.observe(_e),()=>Ue.disconnect()},[]),l.jsxs(l.Fragment,{children:[l.jsx(Rl,{bare:!r,hideHeader:r,header:H,footer:r?null:ye,className:r?"screenshot-mode":"",children:a||o?null:l.jsx(l.Fragment,{children:l.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-4",children:[l.jsxs("div",{ref:J,className:"lg:col-span-4 flex flex-col gap-4 min-w-0 order-2 lg:order-1",children:[r?l.jsx("div",{className:"flex items-start justify-between gap-4",children:l.jsxs("div",{className:"flex flex-col gap-1",children:[l.jsx("span",{className:"text-3xl md:text-4xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:s}),l.jsx("span",{className:"text-2xl md:text-3xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:i})]})}):null,k?l.jsx(gf,{todayTokens:Ae,isSyncing:ue}):null,l.jsx(rc,{title:t("dashboard.identity.title"),subtitle:t("dashboard.identity.subtitle"),period:P,rankLabel:d??t("identity_card.rank_placeholder"),streakDays:u,subscriptions:f,periodConversations:be,rolling:Ce,topModels:x}),k?l.jsx(bf,{}):null,C?l.jsx(Qt,{delay:.25,children:l.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:[l.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 mb-1.5",children:j}),l.jsxs(Oe.button,{onClick:D,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:[l.jsx("code",{className:"text-xs font-mono text-oai-gray-700 dark:text-oai-gray-300",children:N}),l.jsx(Oe.span,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:"text-xs text-oai-brand",children:O?"Copied ✓":"Copy"},O?"copied":"copy")]})]})}):null,W&&l.jsx(Qt,{delay:.4,children:W}),r?null:l.jsx(cf,{rows:T,from:_,to:M,period:P,timeZoneLabel:A,showTimeZoneLabel:!1}),r?l.jsxs("div",{className:"mt-4 flex flex-col items-center gap-2","data-screenshot-exclude":"true",style:$?{display:"none"}:void 0,children:[l.jsx(pn,{type:"button",onClick:X,variant:"primary",size:"lg",disabled:$,children:ie}),l.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300",children:K})]}):null]}),l.jsxs("div",{className:"lg:col-span-8 flex flex-col gap-4 min-w-0 order-1 lg:order-2",style:Mt&&Nt?{maxHeight:Nt}:void 0,children:[l.jsx(of,{period:P,periods:Y,onPeriodChange:U,summaryLabel:ae,summaryValue:se,summaryCostValue:at,onCostInfo:It?Je:null,fleetData:ke,onRefresh:r?null:me,loading:ue,onOpenShare:r?null:n,customFrom:V,customTo:oe,onCustomRangeApply:G,customRangeOpen:z,onCustomRangeOpenChange:Q}),r?null:l.jsx(Qt,{delay:.5,className:"flex-1 flex flex-col min-h-0",children:l.jsx(tc,{projectEntries:g,projectLimit:p,onProjectLimitChange:b,copy:t,hasDetailsActual:Ie,dailyEmptyPrefix:ot,installSyncCmd:Qe,dailyEmptySuffix:we,detailsColumns:st,ariaSortFor:je,toggleSort:Lt,sortIconFor:Bt,pagedDetails:Ze,dailyBreakdownRows:ee,dailyBreakdownColumns:wt,dailyBreakdownAriaSortFor:ve,dailyBreakdownSortIconFor:Se,dailyBreakdownDateKey:vt,detailsDateKey:it,renderDetailDate:Yt,renderDailyBreakdownDate:$t,renderDetailCell:St,DETAILS_PAGED_PERIODS:Rt,period:P,detailsPageCount:R,detailsPage:Z,setDetailsPage:I})})]})]})})}),l.jsx(ec,{isOpen:He,onClose:xe,fleetData:ke})]})}function Oo(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const gt=new Map,pt=new Map;function Ao(){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||!gt.has(n))return;const r=gt.get(n);gt.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||!pt.has(n))return;const r=pt.get(n);pt.delete(n),r({ok:!!t.ok,error:typeof t.error=="string"?t.error:void 0})}))}async function kf(e){if(!Oo()||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"};Ao();const n=`copy_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(r=>{const a=window.setTimeout(()=>{pt.has(n)&&(pt.delete(n),r({ok:!1,error:"timeout"}))},8e3);pt.set(n,o=>{window.clearTimeout(a),r(o)});try{t.postMessage({type:"action",name:"copyImageToClipboard",requestId:n,dataUrl:e})}catch(o){pt.delete(n),window.clearTimeout(a),r({ok:!1,error:o?.message||String(o)})}})}async function Aa(e,t){if(!Oo()||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"};Ao();const r=`save_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(a=>{const o=window.setTimeout(()=>{gt.has(r)&&(gt.delete(r),a({ok:!1,error:"timeout"}))},8e3);gt.set(r,s=>{window.clearTimeout(o),a(s)});try{n.postMessage({type:"action",name:"saveImageToDownloads",requestId:r,filename:t,dataUrl:e})}catch(s){gt.delete(r),window.clearTimeout(o),a({ok:!1,error:s?.message||String(s)})}})}const Fo=1200,Wo=1630,Eo={broadsheet:{width:1200,height:1630},"annual-report":{width:1080,height:1865}},wf="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 Qn=!1;function vf(){if(typeof document>"u"||Qn)return;if(document.querySelector('link[data-share-card-fonts="true"]')){Qn=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=wf,t.dataset.shareCardFonts="true",t.crossOrigin="anonymous",document.head.appendChild(t),Qn=!0}async function Sf(){if(typeof document>"u")return;const e=document.fonts;if(!(!e||typeof e.ready?.then!="function"))try{await e.ready}catch{}}async function Nf(e,t={}){if(typeof window>"u"||!e)return null;vf(),await Sf(),await new Promise(c=>requestAnimationFrame(()=>c(null)));const{toBlob:n,toPng:r}=await za(async()=>{const{toBlob:c,toPng:d}=await import("./index-BeoRn2gJ.js");return{toBlob:c,toPng:d}},[]),a=t.pixelRatio??2,o=e.offsetWidth||Fo,s=e.offsetHeight||Wo,i={pixelRatio:a,cacheBust:!0,width:o,height:s,style:{width:`${o}px`,height:`${s}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 Zn(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 Fa(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 lr(e){const t=pe(e);return Number.isFinite(t)?t:0}function Mf(e){return e?lr(e.billable_total_tokens??e.total_tokens):0}function Df(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(o=>(Array.isArray(o)?o:[]).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 Cf(e){const{handle:t,startDate:n,activeDays:r,summary:a,topModels:o,rank:s,period:i,periodFrom:c,periodTo:d,heatmap:u,capturedAt:f}=e,y=Mf(a),g=lr(a?.total_cost_usd),p=Array.isArray(o)?o.slice(0,3).map(x=>({id:x?.id??null,name:typeof x?.name=="string"&&x.name?x.name:"—",tokens:lr(x?.tokens),percent:typeof x?.percent=="string"&&x.percent?x.percent:"0.0"})):[],b=Df(u);return{handle:t||"—",startDate:n||null,activeDays:Number.isFinite(r)&&r>0?Math.floor(r):0,totalTokens:y,totalCost:g,period:i,periodFrom:c,periodTo:d,topModels:p,rank:typeof s=="number"&&Number.isFinite(s)&&s>0?Math.floor(s):null,heatmapWeeks:b.weeks,heatmapTotalDays:b.totalDays,heatmapActiveDays:b.activeDays,capturedAt:f||new Date().toISOString()}}const jf=["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 _f(e){const t=jf[e];return t?m(t):"—"}function Po(e,t){return m("share.date.month_year",{month:_f(e),year:t})}function Tf(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:Po(a,n)}function Of(e){if(e.period==="total")return m("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 Po(t.getUTCMonth(),t.getUTCFullYear())}return m(`usage.period.${e.period}`)}function cr(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"—"}function Io(e){return!Number.isFinite(e)||e<=0?"$0.00":e>=1e3?`$${Math.round(e).toLocaleString("en-US")}`:`$${e.toFixed(2)}`}function Af(e){const t=e.topModels[0];if(t){const n=parseFloat(t.percent);return Number.isFinite(n)&&n>=60?m("share.hook.top_loyal",{percent:Math.round(n),name:t.name}):e.activeDays>=60?m("share.hook.days_record",{days:e.activeDays}):Number.isFinite(n)&&n>=30?m("share.hook.top_led",{name:t.name,percent:Math.round(n)}):e.topModels.length>1?m("share.hook.multi_models",{count:e.topModels.length,days:e.activeDays}):m("share.hook.days_with_model",{days:e.activeDays,name:t.name})}return e.activeDays>0?m("share.hook.days_record",{days:e.activeDays}):m("share.hook.new_chapter")}function Ff(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 Wf(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 Ef({weeks:e,palette:t,width:n,gap:r=3,radius:a=2,emptyColor:o}){if(!Array.isArray(e)||e.length===0||!n||n<=0)return null;const s=t||["#eee","#ccc","#999","#666","#333"],i=o||s[0],c=e.length,d=(c-1)*r,u=Math.max(4,(n-d)/c),f=7*u+6*r;return l.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((y,g)=>(Array.isArray(y)?y:[]).map((b,x)=>{if(x>=7)return null;const v=Wf(b),S=g*(u+r),k=x*(u+r),C=v===null?i:s[v];return l.jsx("rect",{x:S,y:k,width:u,height:u,rx:a,ry:a,fill:C},`${g}-${x}`)}))})}const Pf="oklch(0.97 0.01 85)",Ne="oklch(0.18 0.02 85)",nt="oklch(0.38 0.015 85)",Wa="oklch(0.55 0.012 85)",ut="oklch(0.55 0.22 25)",ft='"Instrument Serif", "Times New Roman", Georgia, serif',If='"Inter Tight", "Helvetica Neue", Arial, sans-serif',Lf=["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 Lo({data:e}){const t=Of(e),n=cr(e.totalTokens),r=Io(e.totalCost),a=Tf(e.startDate),o=Ff(n,{baseSize:188,baseChars:9,shrinkPerChar:14,minSize:104}),s=Af(e),i=Array.isArray(e.heatmapWeeks)&&e.heatmapWeeks.length>0;return l.jsxs("div",{style:{width:"100%",height:"100%",background:Pf,color:Ne,fontFamily:If,padding:"80px 88px 68px 88px",boxSizing:"border-box",display:"flex",flexDirection:"column",position:"relative"},children:[l.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:24,paddingBottom:14,borderBottom:`1px solid ${Wa}`},children:[l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:14,fontWeight:500,letterSpacing:"0.22em",textTransform:"uppercase",color:Ne},children:[l.jsx("div",{style:{width:10,height:10,borderRadius:"50%",background:ut}}),"The Token Tracker"]}),l.jsxs("div",{style:{fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:nt,textAlign:"right"},children:[m("share.card.broadsheet.issue")," № ",t]})]}),l.jsxs("div",{style:{marginTop:24,display:"flex",justifyContent:"space-between",alignItems:"flex-end",gap:24},children:[l.jsxs("div",{children:[l.jsx("div",{style:{fontSize:12,letterSpacing:"0.2em",textTransform:"uppercase",color:nt,marginBottom:6},children:m("share.card.broadsheet.by")}),l.jsx("div",{style:{fontFamily:ft,fontSize:52,fontStyle:"italic",lineHeight:1,color:Ne,letterSpacing:"-0.01em"},children:e.handle})]}),l.jsxs("div",{style:{fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:nt,textAlign:"right",lineHeight:1.6},children:[m("share.card.broadsheet.tracked_since"),l.jsx("br",{}),l.jsx("span",{style:{color:Ne},children:a})]})]}),l.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:"column"},children:[l.jsx("div",{style:{fontSize:13,letterSpacing:"0.3em",textTransform:"uppercase",color:ut,marginBottom:10},children:m("share.card.broadsheet.total_tokens")}),l.jsx("div",{style:{fontFamily:ft,fontSize:o,fontWeight:400,lineHeight:.86,letterSpacing:"-0.032em",color:Ne,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap",overflow:"hidden"},children:n}),l.jsxs("div",{style:{marginTop:14,fontFamily:ft,fontStyle:"italic",fontSize:34,lineHeight:1.15,color:Ne,letterSpacing:"-0.005em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["“",s,"”"]}),l.jsx("div",{style:{marginTop:14,height:1,background:ut,width:"100%"}}),l.jsxs("div",{style:{marginTop:10,display:"flex",justifyContent:"space-between",fontSize:13,letterSpacing:"0.16em",textTransform:"uppercase",color:nt},children:[l.jsxs("span",{children:[m("share.card.broadsheet.estimated_spend")," · ",r]}),l.jsx("span",{children:m("share.card.broadsheet.billable_days",{days:e.activeDays})})]})]}),i?l.jsxs("section",{style:{marginTop:40},children:[l.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:12},children:[l.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Ne,fontWeight:600},children:m("share.card.broadsheet.heatmap_title")}),l.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:nt},children:m("share.card.broadsheet.heatmap_days_on_record",{active:e.heatmapActiveDays,total:e.heatmapTotalDays})})]}),l.jsx(Ef,{weeks:e.heatmapWeeks,palette:Lf,width:1024,gap:3,radius:2})]}):null,l.jsxs("section",{style:{marginTop:30,flex:1},children:[l.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",borderBottom:`1px solid ${Ne}`,paddingBottom:10,marginBottom:6},children:[l.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Ne,fontWeight:600},children:m("share.card.broadsheet.roster_title")}),l.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:nt},children:m("share.card.broadsheet.roster_subtitle")})]}),e.topModels.length===0?l.jsx("div",{style:{fontFamily:ft,fontStyle:"italic",fontSize:26,color:nt,paddingTop:14},children:m("share.card.broadsheet.empty")}):e.topModels.map((c,d)=>l.jsxs("div",{style:{display:"grid",gridTemplateColumns:"52px 1fr auto 68px",alignItems:"baseline",gap:16,padding:"13px 0",borderBottom:`1px solid ${Wa}`},children:[l.jsx("div",{style:{fontFamily:ft,fontSize:34,fontStyle:"italic",color:ut,lineHeight:1},children:String(d+1).padStart(2,"0")}),l.jsx("div",{style:{fontFamily:ft,fontSize:32,color:Ne,lineHeight:1.1,letterSpacing:"-0.01em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),l.jsx("div",{style:{fontFamily:ft,fontSize:28,color:Ne,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap"},children:cr(c.tokens)}),l.jsxs("div",{style:{fontSize:13,letterSpacing:"0.1em",color:nt,textAlign:"right",fontFeatureSettings:'"tnum" 1'},children:[c.percent,"%"]})]},c.id||c.name))]}),l.jsxs("footer",{style:{marginTop:18,paddingTop:12,borderTop:`1px solid ${Ne}`,display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:Ne},children:[l.jsxs("div",{style:{display:"flex",gap:28},children:[l.jsxs("span",{children:[m("share.card.broadsheet.global_rank")," ",l.jsxs("span",{style:{color:ut},children:["№ ",e.rank!=null?e.rank:"—"]})]}),l.jsxs("span",{children:[m("share.card.broadsheet.active_days")," ",l.jsx("span",{style:{color:ut},children:m("share.card.broadsheet.days_count",{days:e.activeDays})})]})]}),l.jsxs("div",{children:[m("share.card.broadsheet.track_yours")," ",l.jsx("span",{style:{color:ut},children:"→ token.rynn.me"})]})]})]})}const Bf=Eo["annual-report"].width,Yf="#0a0820",rt="#ffffffee",mt="rgba(255,255,255,0.45)",er="#a78bfa",$f={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(", ")},hn={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"},dr='"Space Grotesk", "Inter Tight", sans-serif',tr='"Inter Tight", sans-serif',Rf="rgba(255,255,255,0.06)",Bo=[Rf,"#4a3d8f","#6b5cbe","#9060e0","#d946ef"],Yo=48,$o=28,xn=4,Ro=20,Hf=Bf-Yo*2-$o*2,Uf=(Hf-Ro*2)/3,ur=Math.min(Math.floor((Uf-xn*6)/7),40),zf=ur*7+xn*6;function qf(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),o=n(.9),s=i=>!i||i<=0?0:i<=r?1:i<=a?2:i<=o?3:4;return e.map(i=>Array.isArray(i)?i.map(c=>c?.day&&!c.future&&typeof c.value=="number"?{...c,level:s(c.value)}:c):i)}function Vf(e){if(!Array.isArray(e))return[];const t={},n=qf(e);for(const r of n)if(Array.isArray(r))for(const a of r){if(!a?.day||a.future)continue;const o=a.day.split("-");if(o.length<2)continue;const s=`${o[0]}-${o[1]}`;(t[s]??=[]).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 Gf(e){if(!e.length)return[];const t=[...e].sort((s,i)=>s.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 s=0;s<r.length;s+=7)a.push(r.slice(s,s+7));const o=a[a.length-1];for(;o&&o.length<7;)o.push(null);return a.slice(0,6)}const Kf=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Xf(e){if(!Array.isArray(e))return 0;const t=[];for(const a of e)if(Array.isArray(a))for(const o of a)o?.day&&!o.future&&t.push(o);t.sort((a,o)=>a.day.localeCompare(o.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 Ea(e){const[t,n]=h.useState(null);return h.useEffect(()=>{if(!e){n(null);return}let r=!1;const a=new Image;return a.crossOrigin="anonymous",a.onload=()=>{if(!r)try{const o=document.createElement("canvas");o.width=a.naturalWidth,o.height=a.naturalHeight,o.getContext("2d").drawImage(a,0,0),n(o.toDataURL("image/png"))}catch{n(null)}},a.onerror=()=>{r||n(null)},a.src=e,()=>{r=!0}},[e]),t}function Jf({data:e}){const t=Gf(e.cells);return l.jsxs("div",{children:[l.jsx("div",{style:{fontSize:16,fontWeight:600,color:mt,fontFamily:dr,marginBottom:4},children:Kf[e.month]}),l.jsx("div",{style:{display:"flex",flexDirection:"column",gap:xn},children:t.map((n,r)=>l.jsx("div",{style:{display:"flex",gap:xn},children:n.map((a,o)=>{const s=a?Math.min(4,Math.max(0,a.level||0)):-1;return l.jsx("div",{style:{width:ur,height:ur,borderRadius:4,background:s<0?"transparent":Bo[s]}},o)})},r))})]})}function Qf({data:e}){const t=Vf(e.heatmapWeeks),n=Xf(e.heatmapWeeks),r=e.topModels[0],a=e.avatarUrl||null,o=Ea(a),s=Ea("/neon_bg.png"),i=(e.handle||"?")[0].toUpperCase(),c=16;return l.jsxs("div",{style:{width:"100%",height:"100%",background:Yf,fontFamily:dr,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:[l.jsx("img",{src:s||"/neon_bg.png",alt:"",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",pointerEvents:"none"}}),l.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",height:"100%",padding:Yo,boxSizing:"border-box"},children:[l.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:c*3},children:[l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[l.jsx("img",{src:"/app-icon.png",alt:"",width:64,height:64,style:{width:64,height:64,borderRadius:16,display:"block"}}),l.jsxs("div",{children:[l.jsx("div",{style:{fontSize:20,fontWeight:500,color:mt,lineHeight:1.2},children:"Token Tracker"}),l.jsx("div",{style:{fontSize:36,fontWeight:700,lineHeight:1.15,color:rt},children:m("share.card.annual.report_title")})]})]}),l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[l.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:o?l.jsx("img",{src:o,alt:"",width:48,height:48,style:{width:48,height:48,objectFit:"cover",display:"block"},crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):l.jsx("span",{style:{fontSize:20,fontWeight:700,color:rt},children:i})}),l.jsx("div",{style:{fontSize:32,fontWeight:700,color:rt},children:e.handle})]})]}),l.jsxs("div",{style:{...$f,borderRadius:22,padding:$o,marginBottom:c},children:[l.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:14,color:mt},children:[l.jsx("span",{children:m("share.card.annual.less")}),Bo.map((d,u)=>l.jsx("div",{style:{width:16,height:16,borderRadius:3,background:d}},u)),l.jsx("span",{children:m("share.card.annual.more")})]}),l.jsx("div",{style:{fontSize:16,fontWeight:700,letterSpacing:"0.14em",color:"rgba(255,255,255,0.22)",textTransform:"uppercase"},children:m("share.card.annual.heatmap_title")})]}),l.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(3,${zf}px)`,gap:`8px ${Ro}px`,justifyContent:"center"},children:t.map(d=>l.jsx(Jf,{data:d},d.month))})]}),l.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:c,marginBottom:c},children:[l.jsxs("div",{style:{...hn,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[l.jsx("div",{style:{fontFamily:tr,fontSize:52,fontWeight:700,color:rt,letterSpacing:"-0.02em",lineHeight:1},children:cr(e.totalTokens)}),l.jsx("div",{style:{fontSize:22,color:mt,marginTop:12},children:m("share.card.annual.total_tokens")})]}),l.jsxs("div",{style:{...hn,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[l.jsx("div",{style:{fontFamily:tr,fontSize:52,fontWeight:700,color:rt,letterSpacing:"-0.02em",lineHeight:1},children:Io(e.totalCost)}),l.jsx("div",{style:{fontSize:22,color:mt,marginTop:12},children:m("share.card.annual.estimated_cost")})]})]}),l.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:c},children:[l.jsxs("div",{style:{...hn,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[l.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:er,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[l.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"}),l.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),l.jsx("span",{style:{fontSize:20,color:mt},children:m("share.card.annual.longest_streak")})]}),l.jsx("span",{style:{fontFamily:tr,fontSize:28,fontWeight:700,color:rt},children:m("share.card.annual.days_count",{days:n})})]}),l.jsxs("div",{style:{...hn,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[l.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:er,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[l.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"}),l.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),l.jsx("span",{style:{fontSize:20,color:mt},children:m("share.card.annual.top_model")})]}),l.jsx("span",{style:{fontFamily:dr,fontSize:28,fontWeight:700,color:rt},children:r?r.name:"—"})]})]}),l.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"auto"},children:[l.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[l.jsx("img",{src:"/app-icon.png",alt:"",width:44,height:44,style:{width:44,height:44,borderRadius:8,display:"block"}}),l.jsx("span",{style:{fontSize:22,fontWeight:600,color:rt},children:"Token Tracker"})]}),l.jsx("span",{style:{fontSize:22,fontWeight:600,color:er},children:"token.rynn.me"})]})]})]})}const Ho=[{id:"annual-report",labelKey:"share.variant.neon"},{id:"broadsheet",labelKey:"share.variant.broadsheet"}],Zf={broadsheet:Lo,"annual-report":Qf};function Uo(e){return Eo[e]||{width:Fo,height:Wo}}function eh(e){const t=Ho.find(n=>n.id===e);return t?.labelKey?m(t.labelKey):e}const Pa=h.forwardRef(function({data:t,variant:n},r){const a=Zf[n]||Lo,{width:o,height:s}=Uo(n);return l.jsx("div",{ref:r,"data-share-card":"true",style:{width:o,height:s,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:l.jsx(a,{data:t})})});function mn(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const th=440;function nh(){const[e,t]=h.useState(null),n=h.useRef(null),r=h.useCallback((a,o="info")=>{n.current&&window.clearTimeout(n.current),t({id:Date.now(),kind:o,text:a}),n.current=window.setTimeout(()=>t(null),2800)},[]);return h.useEffect(()=>()=>{n.current&&window.clearTimeout(n.current)},[]),{toast:e,push:r}}function nr({onClick:e,disabled:t,children:n,emphasis:r,ariaLabel:a}){return l.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 rh({open:e,onClose:t,data:n,twitterText:r}){const[a,o]=h.useState(null),[s,i]=h.useState(""),[c,d]=h.useState("annual-report"),u=h.useRef(null),{toast:f,push:y}=nh(),g=Ua(),p=h.useMemo(()=>{const N=g?.user;if(!N||typeof N!="object")return null;const T=N.user_metadata||{},_=N.profile||{},M=T.avatar_url||T.picture||_.avatar_url||N.avatar_url;return typeof M=="string"&&M.trim()?M.trim():null},[g?.user]);h.useEffect(()=>{e&&(o(null),i(n?.handle||""))},[e,n?.handle]);const b=n&&{...n,handle:s||n.handle,avatarUrl:p},{width:x,height:v}=Uo(c),S=th/x;h.useEffect(()=>{if(!e)return;const N=T=>{T.key==="Escape"&&t?.()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e,t]);const k=h.useCallback(async()=>{const N=u.current;if(!N)return null;try{return await Nf(N)}catch(T){return console.warn("[share] capture failed",T),null}},[]),C=h.useCallback(async()=>{if(a)return;o("copy");const N=await k();if(!N){y(m("share.toast.failed"),"error"),o(null);return}let T=!1;if(mn()){const _=await Zn(N);_&&(T=(await kf(_)).ok)}else T=await sr(N);y(T?m("share.toast.copied"):m("share.toast.failed"),T?"success":"error"),o(null)},[a,k,y]),j=h.useCallback(()=>`tokentracker-share-${Date.now()}.png`,[]),D=h.useCallback(async()=>{if(a)return;o("download");const N=await k();if(!N){y(m("share.toast.failed"),"error"),o(null);return}if(mn()){const _=await Zn(N);if(_&&(await Aa(_,j())).ok){y(m("share.toast.downloaded"),"success"),o(null);return}}const T=Fa(N,j());y(T?m("share.toast.downloaded"):m("share.toast.failed"),T?"success":"error"),o(null)},[a,k,j,y]),O=h.useCallback(async()=>{if(a)return;o("x");const N=await k();if(!N){y(m("share.toast.failed"),"error"),o(null);return}if(mn()){const _=await Zn(N);_&&(await Aa(_,j()),y(m("share.toast.downloaded"),"success"))}else await sr(N)?y(m("share.toast.copied"),"success"):Fa(N,j());const T=new URL("https://twitter.com/intent/tweet");if(r&&T.searchParams.set("text",r),mn())try{window.webkit?.messageHandlers?.nativeBridge?.postMessage({type:"action",name:"openURL",value:T.toString()})}catch{window.open(T.toString(),"_blank","noopener,noreferrer")}else window.open(T.toString(),"_blank","noopener,noreferrer");o(null)},[a,k,y,r,j]);return e?l.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":m("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:[l.jsx("div",{"aria-hidden":!0,style:{position:"fixed",left:0,top:0,width:x,height:v,pointerEvents:"none",opacity:0,zIndex:-1,clip:"rect(0,0,0,0)",overflow:"hidden"},children:l.jsx(Pa,{ref:u,data:b,variant:c})}),l.jsxs(Oe.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:[l.jsxs("div",{className:"flex flex-col lg:flex-row max-h-[92vh]",children:[l.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:l.jsxs("div",{style:{width:x*S,height:v*S,flexShrink:0,position:"relative"},className:"rounded-xl overflow-hidden shadow-oai-md ring-1 ring-black/5",children:[a?l.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/70 dark:bg-black/50",children:l.jsxs("svg",{className:"animate-spin h-6 w-6 text-oai-gray-500",viewBox:"0 0 24 24",fill:"none",children:[l.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),l.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}):null,l.jsx("div",{style:{width:x,height:v,transform:`scale(${S})`,transformOrigin:"top left"},children:l.jsx(Pa,{data:b,variant:c})})]})}),l.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:[l.jsxs("div",{className:"flex items-start justify-between gap-2",children:[l.jsxs("div",{children:[l.jsx("h2",{className:"text-lg font-semibold text-oai-black dark:text-oai-white",children:m("share.modal.title")}),l.jsx("p",{className:"mt-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:m("share.modal.subtitle")})]}),l.jsx("button",{type:"button",onClick:t,"aria-label":m("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:l.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:l.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),l.jsxs("div",{children:[l.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:m("share.modal.name_label")}),l.jsx("input",{id:"share-handle",type:"text",value:s,onChange:N=>i(N.target.value),placeholder:m("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"})]}),l.jsxs("div",{children:[l.jsx("label",{className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:m("share.modal.style_label")}),l.jsx("div",{className:"flex gap-2",children:Ho.map(N=>l.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:eh(N.id)},N.id))})]}),l.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[l.jsxs(nr,{onClick:O,disabled:!!a,emphasis:!0,children:[l.jsxs("span",{className:"flex items-center gap-3",children:[l.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:l.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"})}),l.jsx("span",{className:"font-medium text-sm",children:m("share.modal.action.x")})]}),l.jsx("span",{className:"text-[11px] opacity-70",children:a==="x"?m("share.toast.working"):m("share.modal.hint.x")})]}),l.jsxs(nr,{onClick:D,disabled:!!a,children:[l.jsxs("span",{className:"flex items-center gap-3",children:[l.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:[l.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),l.jsx("polyline",{points:"7 10 12 15 17 10"}),l.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]}),l.jsx("span",{className:"font-medium text-sm",children:m("share.modal.action.download")})]}),l.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:"PNG"})]}),l.jsxs(nr,{onClick:C,disabled:!!a,children:[l.jsxs("span",{className:"flex items-center gap-3",children:[l.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:[l.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),l.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),l.jsx("span",{className:"font-medium text-sm",children:m("share.modal.action.copy")})]}),l.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:m("share.modal.hint.copy")})]})]}),l.jsx("div",{className:"mt-auto pt-4 border-t border-oai-gray-200 dark:border-oai-gray-800",children:l.jsx("p",{className:"text-[11px] leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:m("share.modal.footer")})})]})]}),l.jsx(yr,{children:f?l.jsx(Oe.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:l.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 ah(e){const{enabled:t,handle:n,startDate:r,activeDays:a,summary:o,topModels:s,period:i,periodFrom:c,periodTo:d,heatmap:u,accessToken:f,userId:y}=e,[g,p]=h.useState(null);return h.useEffect(()=>{if(!t||!y&&!xt())return;let b=!1;return(async()=>{try{const v=await wi({accessToken:f,userId:y,period:i==="day"||i==="custom"?"week":i,metric:"all",limit:100,offset:0});if(b)return;const k=(Array.isArray(v?.entries)?v.entries:Array.isArray(v)?v:[]).find(j=>j?.is_me===!0),C=typeof k?.rank=="number"?k.rank:null;p(C)}catch{b||p(null)}})(),()=>{b=!0}},[t,f,y,i]),h.useMemo(()=>Cf({handle:n,startDate:r,activeDays:a,summary:o,topModels:s,rank:g,period:i,periodFrom:c,periodTo:d,heatmap:u}),[n,r,a,o,s,g,i,c,d,u])}const oh=["day","week","month","total","custom"],rr=new Set(["day","hour","month"]),Xt=new Set(["day","total","custom"]);function ar(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 yn(e){return e?e?.billable_total_tokens??e?.total_tokens:null}function Ia(e){return e?e?.billable_total_tokens??e?.value??e?.total_tokens:null}function sh(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 o=new Date(Date.UTC(n,r,a));return Number.isFinite(o.getTime())?o:null}function ih(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function lh(e){return e?e==="token.rynn.me":!1}function ch(){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:!lh(window.location.hostname)}function bh({baseUrl:e,auth:t,signedIn:n,sessionSoftExpired:r,signOut:a,publicMode:o=!1,publicToken:s=null,signInUrl:i="/sign-in",signUpUrl:c="/sign-up"}){const{resolvedLocale:d}=vi(),[u,f]=h.useState(!1),[y,g]=h.useState(null),[p,b]=h.useState(null),[x,v]=h.useState(!1),[S,k]=h.useState(null),[C,j]=h.useState(0),[D,O]=h.useState(0),[N,T]=h.useState(null),[_,M]=h.useState(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(max-width: 640px)").matches),P=h.useMemo(()=>typeof window>"u"?!1:Si(window.location.search),[]),A=h.useMemo(()=>ch(),[]),[W,$]=h.useState(!1),[X,ie]=h.useState(!1),K=2200,[Y,U]=h.useState(!0),[V,oe]=h.useState(!1),[G,z]=h.useState(!1),[Q,ae]=h.useState(!1),se=xt(),Ae=n&&!r,at=h.useMemo(()=>Ae&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,Ae]),be=Ae?at:null,Ce=o?Ni(s):be,It=n||se||o,Je=Ae&&Et(be),He=n&&r&&!o;h.useEffect(()=>{if(!n||se){g(null),b(null),v(!1),k(null);return}if(o)return;if(!Je){g(null),b(null),v(!1),k(null);return}let w=!0;const E=()=>{g(null),b(null),v(!1),k(null)};return v(!0),k(null),(async()=>{let L=null;try{L=await bt(be)}catch{L=null}if(w){if(!L){E();return}try{const q={link_code:null,expires_at:null};if(!w)return;g(typeof q?.link_code=="string"?q.link_code:null),b(typeof q?.expires_at=="string"?q.expires_at:null)}catch(q){if(!w)return;g(null),b(null),k(q?.message||"Failed to load link code")}finally{if(!w)return;v(!1)}}})(),()=>{w=!1}},[e,se,n,o,Je,be,D]);const xe=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");h.useEffect(()=>{if(!xe&&(!n||se||o)){T(null);return}if(!xe&&!Je){T(null);return}let w=!0;return(async()=>{let E=null;try{E=await bt(be)}catch{E=null}if(w){if(!E&&!xe){T(null);return}try{const L=await Mi({baseUrl:e,accessToken:E});if(!w)return;T(L&&typeof L=="object"?L:null)}catch{if(!w)return;T(null)}}})(),()=>{w=!1}},[Je,e,be,se,o,n]);const kt=h.useMemo(()=>{if(!p)return!1;const w=Date.parse(p);if(!Number.isFinite(w))return!1;const E=C||Date.now();return w<=E},[p,C]);h.useEffect(()=>{!n||se||o||!p||!kt||x||(g(null),b(null),k(null),O(w=>w+1))},[kt,p,x,se,n]),h.useEffect(()=>{if(!p||o)return;const w=Date.parse(p);if(!Number.isFinite(w))return;const E=Date.now();if(j(E),w<=E)return;const L=window.setTimeout(()=>j(Date.now()),w-E),q=()=>{typeof document>"u"||document.visibilityState==="visible"&&j(Date.now())};return typeof document<"u"&&document.addEventListener("visibilitychange",q),window.addEventListener("focus",q),()=>{window.clearTimeout(L),typeof document<"u"&&document.removeEventListener("visibilitychange",q),window.removeEventListener("focus",q)}},[p]),h.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const w=window.matchMedia("(max-width: 640px)"),E=()=>M(w.matches);return E(),w.addEventListener?(w.addEventListener("change",E),()=>w.removeEventListener("change",E)):(w.addListener(E),()=>w.removeListener(E))},[]);const me=h.useMemo(()=>Di(),[]),ue=h.useMemo(()=>Ci(),[]),ke=h.useMemo(()=>ji(),[]),Ie=o?null:t?.userId||t?.email||"default",[ot,Qe]=h.useState("month"),[we,st]=h.useState(null),[je,Lt]=h.useState(null),[Bt,Ze]=h.useState(!1),ee=P?"total":ot,wt=h.useMemo(()=>ee==="custom"&&we&&je?{from:we,to:je}:_i(ee,{timeZone:me,offsetMinutes:ue,now:ke}),[ke,ee,me,ue,we,je]),ve=wt.from,Se=wt.to,vt=h.useMemo(()=>Ti({timeZone:me,offsetMinutes:ue}),[me,ue]),it=h.useMemo(()=>Oi({timeZone:me,offsetMinutes:ue}),[me,ue]),Yt=h.useMemo(()=>`Local time (${it})`,[it]),$t=me,St=ue,Rt=vt,R=h.useMemo(()=>hr({timeZone:me,offsetMinutes:ue,date:ke||new Date}),[ke,me,ue]),Z=h.useMemo(()=>{const w=sh(R)||new Date,E=ih(w,-29);return{from:Ft(E),to:Ft(w)}},[R]),{daily:I,summary:H,rolling:ye,source:J,loading:Nt,error:Ht,refresh:Mt}=na({baseUrl:e,accessToken:Ce,guestAllowed:He,from:ve,to:Se,includeDaily:ee!=="total",cacheKey:Ie,timeZone:me,tzOffsetMinutes:ue,now:ke}),{daily:et,loading:_e,refresh:Ue}=na({baseUrl:e,accessToken:Ce,guestAllowed:He,from:Z.from,to:Z.to,includeDaily:!0,cacheKey:Ie?`${Ie}.daily-breakdown`:"daily-breakdown",timeZone:me,tzOffsetMinutes:ue,now:ke}),{breakdown:ze,loading:zo,refresh:Dr}=hl({baseUrl:e,accessToken:Ce,guestAllowed:He,from:ve,to:Se,cacheKey:Ie,timeZone:me,tzOffsetMinutes:ue}),[Cr,qo]=h.useState(3),{entries:Vo,loading:Go,refresh:jr}=al({baseUrl:e,accessToken:Ce,limit:Cr,from:ve,to:Se,timeZone:me,tzOffsetMinutes:ue}),_r=ee==="week"||ee==="month",an=ee==="week"||ee==="month",Tr=h.useMemo(()=>I.filter(w=>w?.future?!1:!w?.day||!R?!0:String(w.day)<=String(R)),[I,R]),{rows:qe,from:Ko,to:Xo,loading:Jo,refresh:Or}=sl({baseUrl:e,accessToken:Ce,guestAllowed:He,period:ee,from:ve,to:Se,months:24,cacheKey:Ie,timeZone:$t,tzOffsetMinutes:St,now:ke,sharedRows:_r?I:null,sharedRange:_r?{from:ve,to:Se}:null}),{daily:Dt,heatmap:Le,loading:Ar,refresh:Fr}=rl({baseUrl:e,accessToken:Ce,guestAllowed:He,weeks:52,cacheKey:Ie,timeZone:me,tzOffsetMinutes:ue,now:ke}),{refresh:Wr}=Fi(),Fe=h.useMemo(()=>ee==="day"?"hour":ee==="total"?"month":"day",[ee]),Qo=h.useMemo(()=>aa(Fe),[Fe]),on="day",Zo=h.useMemo(()=>aa(on),[]),[We,Er]=h.useState(()=>({key:"day",dir:"desc"}));h.useEffect(()=>{Er(w=>!rr.has(w.key)||w.key===Fe?w:{key:Fe,dir:w.dir})},[Fe]);const Ct=h.useMemo(()=>rr.has(We.key)&&We.key!==Fe?{...We,key:Fe}:We,[Fe,We]),sn=h.useMemo(()=>{if(ee==="day")return Array.isArray(qe)?qe.filter(L=>L?.hour&&!L?.future):[];if(ee==="total"){const L=Array.isArray(qe)?qe.filter(q=>q?.month&&!q?.future):[];return Dl(L)}const w=Tr;return!w.some(L=>!L?.missing&&!L?.future)&&I.length>0?I.filter(L=>!L?.future).slice(-30).filter(L=>L?.day):w},[ee,qe,Tr,I]),Ut=h.useMemo(()=>oa(sn,Ct),[sn,Ct]),es=h.useMemo(()=>sn.some(w=>!w?.missing&&!w?.future),[sn]),Mn=h.useMemo(()=>{if(!Xt.has(ee))return 1;const w=Math.ceil(Ut.length/bn);return w>0?w:1},[ee,Ut.length]),[Dn,ln]=h.useState(0);h.useEffect(()=>{if(!Xt.has(ee)){ln(0);return}ln(w=>Math.min(w,Mn-1))},[Mn,ee]),h.useEffect(()=>{Xt.has(ee)&&ln(0)},[ee,We.dir,We.key]);const ts=h.useMemo(()=>Xt.has(ee)?Cl(Ut,Dn,bn):Ut,[Dn,ee,Ut]),Pr=h.useMemo(()=>et.filter(w=>!w?.future&&w?.day).slice(-30),[et]),jt=h.useMemo(()=>rr.has(We.key)?{...We,key:on}:We,[We]),ns=h.useMemo(()=>oa(Pr,jt),[Pr,jt]),rs=h.useMemo(()=>an?I:ee==="day"?Array.isArray(qe)?qe.filter(w=>w?.hour):[]:qe,[I,ee,qe,an]),as=an?ve:Ko,os=an?Se:Xo;function ss(w,E){return w?.future?"—":w?.missing?m("shared.status.unsynced"):E==="total_tokens"?Ge(yn(w)):Ge(w?.[E])}function is(w){const E=w?.[Fe];if(E==null)return"";const L=String(E);if(Fe==="hour"){const[q,fe]=L.split("T");if(q&&fe)return`${q} ${fe.slice(0,5)}`}return L}function ls(w){const E=w?.[on];return E==null?"":String(E)}function cs(w){Er(E=>E.key===w?{key:w,dir:E.dir==="asc"?"desc":"asc"}:{key:w,dir:"desc"})}function ds(w){return Ct.key!==w?"none":Ct.dir==="asc"?"ascending":"descending"}function us(w){return Ct.key!==w?"":Ct.dir==="asc"?"▲":"▼"}function fs(w){return jt.key!==w?"none":jt.dir==="asc"?"ascending":"descending"}function hs(w){return jt.key!==w?"":jt.dir==="asc"?"▲":"▼"}const Cn=h.useMemo(()=>{if(!n&&!se&&!o&&!xe)return 0;const w=Number(Le?.active_days);if(Number.isFinite(w))return w;let E=0;const L=new Set,q=(re,ce,he)=>{typeof re!="string"||!re||L.has(re)||ar(ce,he)&&(L.add(re),E+=1)};if(Array.isArray(Dt))for(const re of Dt)q(re?.day,yn(re));const fe=Array.isArray(Le?.weeks)?Le.weeks:[];for(const re of fe)for(const ce of Array.isArray(re)?re:[]){const he=Ia(ce);q(ce?.day,he,ce?.level)}return E},[n,se,Le?.active_days,Le?.weeks,Dt]),[Ir,Lr]=h.useState("month"),ms=h.useCallback(w=>{w==="custom"?(Lr(E=>E==="custom"?"month":E),Qe(E=>we&&je?"custom":E),Ze(!0)):(Qe(w),Lr(w),Ze(!1))},[we,je]),ys=h.useCallback((w,E)=>{st(w),Lt(E),Qe("custom"),Ze(!1)},[]),gs=h.useCallback(w=>{Ze(w),!w&&ot==="custom"&&!we&&Qe(Ir)},[ot,we,Ir]),Br=h.useCallback(async()=>{await Promise.all([Mt(),Fr(),Or(),Dr(),jr(),Ue(),Wr()])},[Ue,Fr,Dr,jr,Or,Mt,Wr]),ps=h.useCallback(async()=>{ae(!0);try{xe&&await Ai(),await Br()}catch(w){console.error("[DashboardPage] Refresh failed:",w)}finally{ae(!1)}},[xe,Br]),bs=Q||Nt||_e||Ar||Jo||zo||Go,xs=h.useMemo(()=>m("shared.data_source",{source:String(J||"edge").toUpperCase()}),[J,d]),cn=h.useMemo(()=>typeof t?.name!="string"?"":t.name.trim(),[t?.name]),ks="",Yr=h.useMemo(()=>!cn||cn.includes("@")?m("dashboard.identity.fallback"):cn,[cn]),$r=h.useMemo(()=>Yr.replace(/[^a-zA-Z0-9._-]/g,"_"),[Yr]),Rr=h.useMemo(()=>o?m("dashboard.identity.fallback"):$r,[$r,ks,o]),Hr=h.useMemo(()=>{let w=null;const E=q=>{typeof q!="string"||!q||(!w||q<w)&&(w=q)};if(Array.isArray(Dt))for(const q of Dt)q?.day&&ar(yn(q))&&E(q.day);const L=Array.isArray(Le?.weeks)?Le.weeks:[];for(const q of L)for(const fe of Array.isArray(q)?q:[]){if(!fe?.day)continue;const re=Ia(fe),ce=fe?.level;ar(re,ce)&&E(fe.day)}return w},[Le?.weeks,Dt]),ws=h.useMemo(()=>o?[]:(Array.isArray(N?.subscriptions?.items)?N.subscriptions.items:[]).map(L=>{const q=typeof L?.tool=="string"?L.tool.trim():"",re=(typeof L?.plan_type=="string"?L.plan_type:typeof L?.planType=="string"?L.planType:"").trim();return!q||!re?null:{tool:q,planType:re,provider:typeof L?.provider=="string"?L.provider.trim():"",product:typeof L?.product=="string"?L.product.trim():"",rateLimitTier:typeof L?.rate_limit_tier=="string"?L.rate_limit_tier.trim():typeof L?.rateLimitTier=="string"?L.rateLimitTier.trim():""}}).filter(Boolean).slice(0,6),[o,N]),vs=l.jsx(Yl,{heatmap:Le,timeZoneLabel:vt,timeZoneShortLabel:it,hideLegend:P,defaultToLatestMonth:P}),Ss=h.useMemo(()=>`${ve}..${Se}`,[ve,ee,Se]),Ns=m("usage.summary.total"),lt=yn(H),Ur=m("shared.unit.thousand_abbrev"),zr=m("shared.unit.million_abbrev"),qr=m("shared.unit.billion_abbrev"),dn=pe(lt),Vr=_&&dn!=null&&Math.abs(dn)>=1e9,Ms=h.useMemo(()=>Vr?vn(dn,{thousandSuffix:Ur,millionSuffix:zr,billionSuffix:qr,decimals:1}):Ge(lt),[qr,zr,lt,dn,Ur,Vr]),Ds=m("dashboard.core_index.collapse_label"),Cs=m("dashboard.core_index.expand_label"),js=m("dashboard.core_index.collapse_aria"),_s=m("dashboard.core_index.expand_aria"),Ts=!P,Os=m("dashboard.screenshot.title_line1"),As=m("dashboard.screenshot.title_line2"),Fs=m("dashboard.screenshot.twitter_label"),Ws=m("dashboard.screenshot.twitter_button"),Es=m("dashboard.screenshot.twitter_hint"),_t=m("shared.placeholder.short"),jn=h.useMemo(()=>{const w=Array.isArray(ze?.sources)?ze.sources:[];let E=null,L=0;for(const ce of w){const he=pe(ce?.totals?.billable_total_tokens??ce?.totals?.total_tokens);!Number.isFinite(he)||he<=0||he>L&&(L=he,E=ce)}let q=_t,fe=_t,re="0.0";if(E&&L>0){q=E?.source?String(E.source).toUpperCase():_t;const ce=Array.isArray(E?.models)?E.models:[];let he=0;for(const Ve of ce){const qt=pe(Ve?.totals?.billable_total_tokens??Ve?.totals?.total_tokens);!Number.isFinite(qt)||qt<=0||qt>he&&(he=qt,fe=Ve?.model?String(Ve.model):_t)}he>0&&(re=(he/L*100).toFixed(1))}return{agentName:q,modelName:fe,modelPercent:re}},[ze,_t]),Gr=Ge(lt),_n=m("dashboard.screenshot.twitter_text",{total_tokens:Gr==="-"?_t:Gr,agent_name:jn.agentName,model_name:jn.modelName,model_percent:jn.modelPercent}),Tn=h.useMemo(()=>{if(typeof window>"u")return"";const w=new URL("https://twitter.com/intent/tweet");return w.searchParams.set("text",_n),w.toString()},[_n]),Kr=h.useCallback(async()=>{if(typeof window>"u")return null;const w=async()=>{const ce=performance.now();for(;performance.now()-ce<2e3;){const he=document.querySelector("[data-heatmap-scroll='true']");if(!he||he.dataset.latestMonthReady==="true")return;await new Promise(Ve=>requestAnimationFrame(Ve))}},E=document.querySelector("#root")||document.body,L=document.documentElement,{scrollWidth:q,scrollHeight:fe}=document.documentElement;L?.classList.add("screenshot-capture"),document.body?.classList.add("screenshot-capture"),await new Promise(re=>requestAnimationFrame(re)),await w();try{const{toBlob:re,toPng:ce}=await za(async()=>{const{toBlob:ct,toPng:ai}=await import("./index-BeoRn2gJ.js");return{toBlob:ct,toPng:ai}},[]),he=await re(E,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:q,height:fe,style:{width:`${q}px`,height:`${fe}px`},filter:ct=>!(ct instanceof HTMLElement)||ct.dataset?.screenshotExclude!=="true"});if(he)return he;const Ve=await ce(E,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:q,height:fe,style:{width:`${q}px`,height:`${fe}px`},filter:ct=>!(ct instanceof HTMLElement)||ct.dataset?.screenshotExclude!=="true"});return Ve?await(await fetch(Ve)).blob():null}finally{L?.classList.remove("screenshot-capture"),document.body?.classList.remove("screenshot-capture")}},[]),Ps=h.useCallback(async()=>{if(typeof window>"u"||W)return;$(!0);const w=navigator?.userAgent||"",E=/iP(hone|od|ad)/i.test(w),L=/Safari/i.test(w)&&!/Chrome|Chromium|Edg|OPR|CriOS|FxiOS/i.test(w),q=typeof navigator<"u"&&!!navigator.clipboard?.write&&typeof window<"u"&&!!window.ClipboardItem;let re=!q||E||L;try{const ce=await Kr();ce&&q&&(typeof document<"u"&&!document.hasFocus()&&window.focus?.(),re=await sr(ce))}catch(ce){console.error("Failed to capture screenshot",ce)}finally{if($(!1),!re){console.warn("Failed to write screenshot to clipboard.");return}Tn&&(window.location.href=Tn)}},[Kr,W,Tn]),Is=h.useMemo(()=>P?[]:oh,[P]),Ls=h.useMemo(()=>[{label:m("usage.metric.total"),value:Ge(lt),valueClassName:"text-white"},{label:m("usage.metric.input"),value:Ge(H?.input_tokens)},{label:m("usage.metric.output"),value:Ge(H?.output_tokens)},{label:m("usage.metric.cached_input"),value:Ge(H?.cached_input_tokens)},{label:m("usage.metric.reasoning_output"),value:Ge(H?.reasoning_output_tokens)}],[H?.cached_input_tokens,H?.input_tokens,H?.output_tokens,H?.reasoning_output_tokens,lt]),On=h.useMemo(()=>{const w=wn(H?.total_cost_usd);return!w||w==="-"||w.startsWith("$")?w:`$${w}`},[H?.total_cost_usd]),Bs=h.useMemo(()=>H?.conversation_count??null,[H?.conversation_count]),Xr=h.useMemo(()=>Tl(ze,{copyFn:m}),[ze]),Jr=h.useMemo(()=>Ol(ze,{limit:3,copyFn:m}),[ze]),Ys=ah({enabled:X,handle:Rr,startDate:Hr,activeDays:Cn,summary:H,topModels:Jr,period:ee,periodFrom:ve,periodTo:Se,heatmap:Le,accessToken:typeof Ce=="string"?Ce:null,userId:t?.userId||null}),$s=h.useCallback(()=>ie(!0),[]),Rs=h.useCallback(()=>ie(!1),[]),Hs=h.useCallback(()=>f(!0),[]),Us=h.useCallback(()=>f(!1),[]),zs=On&&On!=="-"&&Xr.length>0,zt=m("dashboard.install.cmd.init"),An=kt?null:y,Fn=An?m("dashboard.install.cmd.init_link_code",{link_code:An}):zt,qs=zt,Vs=m("dashboard.install.cmd.sync"),Gs=An?m("dashboard.install.copy"):m("dashboard.install.copy_base"),Ks=m("dashboard.install.copied");m("dashboard.session_expired.copy_label"),m("dashboard.session_expired.copied");const Xs=!!(N?.install?.has_active_device_token??N?.install?.hasActiveDeviceToken),Js=jl({publicMode:o,screenshotMode:P,forceInstall:A,accessEnabled:It,heatmapLoading:Ar,activeDays:Cn,hasActiveDeviceToken:Xs}),Qs=m("dashboard.install.prompt"),Zs=h.useCallback(async()=>{!Fn||!await Qr(Fn)||(oe(!0),window.setTimeout(()=>oe(!1),2e3))},[Fn]);h.useCallback(async()=>{!zt||!await Qr(zt)||(z(!0),window.setTimeout(()=>z(!1),2e3))},[zt]);const Wn=h.useMemo(()=>m("dashboard.daily.empty",{cmd:"{{cmd}}"}),[d]),[ei,ti]=h.useMemo(()=>{const w=Wn.split("{{cmd}}");return w.length===1?[Wn,""]:[w[0],w.slice(1).join("{{cmd}}")]},[Wn]),ni=r&&!o,ri=!n&&!se&&!r&&!xe&&!o;return l.jsxs(l.Fragment,{children:[l.jsx(xf,{copy:m,onOpenShare:$s,screenshotMode:P,showExpiredGate:ni,showAuthGate:ri,screenshotTitleLine1:Os,screenshotTitleLine2:As,identityDisplayName:Rr,identityStartDate:Hr,activeDays:Cn,identitySubscriptions:ws,identityScrambleDurationMs:K,projectUsageEntries:Vo,projectUsageLimit:Cr,setProjectUsageLimit:qo,topModels:Jr,signedIn:n,publicMode:o,isLocalMode:xe,shouldShowInstall:Js,installPrompt:Qs,handleCopyInstall:Zs,installCopied:V,installCopiedLabel:Ks,installCopyLabel:Gs,installInitCmdDisplay:qs,linkCodeLoading:x,linkCodeError:S,trendRowsForDisplay:rs,trendFromForDisplay:as,trendToForDisplay:os,period:ee,trendTimeZoneLabel:Rt,activityHeatmapBlock:vs,isCapturing:W,handleShareToX:Ps,screenshotTwitterLabel:Fs,screenshotTwitterButton:Ws,screenshotTwitterHint:Es,periodsForDisplay:Is,setSelectedPeriod:ms,customFrom:we,customTo:je,onCustomRangeApply:ys,customRangeOpen:Bt,onCustomRangeOpenChange:gs,metricsRows:Ls,summaryLabel:Ns,summaryValue:Ms,summaryTotalTokensRaw:pe(lt)||0,summaryCostValue:On,summaryConversationsValue:Bs,rollingUsage:ye,costInfoEnabled:zs,openCostModal:Hs,allowBreakdownToggle:Ts,coreIndexCollapsed:Y,setCoreIndexCollapsed:U,coreIndexCollapseLabel:Ds,coreIndexExpandLabel:Cs,coreIndexCollapseAria:js,coreIndexExpandAria:_s,refreshAll:ps,usageLoadingState:bs,usageError:Ht,rangeLabel:Ss,timeZoneRangeLabel:Yt,usageSourceLabel:xs,fleetData:Xr,hasDetailsActual:es,dailyEmptyPrefix:ei,installSyncCmd:Vs,dailyEmptySuffix:ti,detailsColumns:Qo,ariaSortFor:ds,toggleSort:cs,sortIconFor:us,pagedDetails:ts,dailyBreakdownRows:ns,dailyBreakdownColumns:Zo,dailyBreakdownAriaSortFor:fs,dailyBreakdownSortIconFor:hs,dailyBreakdownDateKey:on,detailsDateKey:Fe,renderDetailDate:is,renderDailyBreakdownDate:ls,renderDetailCell:ss,DETAILS_PAGED_PERIODS:Xt,detailsPageCount:Mn,detailsPage:Dn,setDetailsPage:ln,costModalOpen:u,closeCostModal:Us}),l.jsx(rh,{open:X,onClose:Rs,data:Ys,twitterText:_n})]})}export{bh as DashboardPage};
@@ -0,0 +1 @@
1
+ import{G as d,D as n,H as a}from"./main-jua4nv-E.js";function v({children:i,delay:t=0,duration:o=.4,y:e=20,className:s="",once:r=!0}){return d()?n.jsx("div",{className:s,children:i}):n.jsx(a.div,{initial:{opacity:0,y:e},animate:{opacity:1,y:0},transition:{duration:o,delay:t,ease:[.25,.1,.25,1]},className:s,children:i})}function x({children:i,staggerDelay:t=.1,initialDelay:o=0,className:e=""}){return d()?n.jsx("div",{className:e,children:i}):n.jsx(a.div,{initial:"hidden",animate:"visible",variants:{hidden:{},visible:{transition:{staggerChildren:t,delayChildren:o}}},className:e,children:i})}function h({children:i,className:t="",y:o=20}){return d()?n.jsx("div",{className:t,children:i}):n.jsx(a.div,{variants:{hidden:{opacity:0,y:o},visible:{opacity:1,y:0,transition:{duration:.4,ease:[.25,.1,.25,1]}}},className:t,children:i})}export{v as F,x as S,h as a};
@@ -1 +1 @@
1
- import{r as i,D as a}from"./main-CJeNIc4Q.js";function o(){const[s,d]=i.useState(!1);return a.jsxs("div",{className:"h-full relative dark:bg-[#050505]",children:[!s&&a.jsxs("div",{className:"absolute inset-0 p-6 space-y-5 animate-pulse",children:[a.jsx("div",{className:"flex gap-4 justify-center",children:Array.from({length:6}).map((e,r)=>a.jsx("div",{className:"h-4 w-20 rounded bg-oai-gray-200 dark:bg-oai-gray-800"},r))}),a.jsxs("div",{className:"space-y-2 pt-2",children:[a.jsx("div",{className:"h-7 w-72 rounded bg-oai-gray-200 dark:bg-oai-gray-800"}),a.jsx("div",{className:"h-4 w-96 rounded bg-oai-gray-200 dark:bg-oai-gray-800"})]}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:Array.from({length:3}).map((e,r)=>a.jsx("div",{className:"h-24 rounded-xl bg-oai-gray-200 dark:bg-oai-gray-800"},r))}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:Array.from({length:3}).map((e,r)=>a.jsx("div",{className:"h-40 rounded-xl bg-oai-gray-200 dark:bg-oai-gray-800"},r))}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:Array.from({length:3}).map((e,r)=>a.jsx("div",{className:"h-32 rounded-xl bg-oai-gray-200 dark:bg-oai-gray-800"},r))})]}),a.jsx("iframe",{src:"https://ip.net.coffee/claude/",title:"Cloud AI IP Check",className:`w-full h-full dark:invert dark:hue-rotate-180 transition-opacity duration-300 ${s?"opacity-100":"opacity-0"}`,style:{border:"none"},onLoad:()=>d(!0)})]})}export{o as default};
1
+ import{r as i,D as a}from"./main-jua4nv-E.js";function o(){const[s,d]=i.useState(!1);return a.jsxs("div",{className:"h-full relative dark:bg-[#050505]",children:[!s&&a.jsxs("div",{className:"absolute inset-0 p-6 space-y-5 animate-pulse",children:[a.jsx("div",{className:"flex gap-4 justify-center",children:Array.from({length:6}).map((e,r)=>a.jsx("div",{className:"h-4 w-20 rounded bg-oai-gray-200 dark:bg-oai-gray-800"},r))}),a.jsxs("div",{className:"space-y-2 pt-2",children:[a.jsx("div",{className:"h-7 w-72 rounded bg-oai-gray-200 dark:bg-oai-gray-800"}),a.jsx("div",{className:"h-4 w-96 rounded bg-oai-gray-200 dark:bg-oai-gray-800"})]}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:Array.from({length:3}).map((e,r)=>a.jsx("div",{className:"h-24 rounded-xl bg-oai-gray-200 dark:bg-oai-gray-800"},r))}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:Array.from({length:3}).map((e,r)=>a.jsx("div",{className:"h-40 rounded-xl bg-oai-gray-200 dark:bg-oai-gray-800"},r))}),a.jsx("div",{className:"grid grid-cols-3 gap-4",children:Array.from({length:3}).map((e,r)=>a.jsx("div",{className:"h-32 rounded-xl bg-oai-gray-200 dark:bg-oai-gray-800"},r))})]}),a.jsx("iframe",{src:"https://ip.net.coffee/claude/",title:"Cloud AI IP Check",className:`w-full h-full dark:invert dark:hue-rotate-180 transition-opacity duration-300 ${s?"opacity-100":"opacity-0"}`,style:{border:"none"},onLoad:()=>d(!0)})]})}export{o as default};