tokentracker-cli 0.57.1 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.ja.md +6 -5
  2. package/README.ko.md +6 -5
  3. package/README.md +7 -6
  4. package/README.zh-CN.md +6 -5
  5. package/dashboard/dist/assets/{ActivityHeatmap-BvbV3_J7.js → ActivityHeatmap--h7iLeSz.js} +1 -1
  6. package/dashboard/dist/assets/{Card-DJZ6ntik.js → Card-KutJI7Kb.js} +1 -1
  7. package/dashboard/dist/assets/DashboardPage-CZS3KR2C.js +19 -0
  8. package/dashboard/dist/assets/{DevicePage-DW6XIKeU.js → DevicePage-Bvf6grjO.js} +1 -1
  9. package/dashboard/dist/assets/{DialogTitle-BsrlMQVP.js → DialogTitle-Cd8SHRAb.js} +1 -1
  10. package/dashboard/dist/assets/{FadeIn-XjqQkcHf.js → FadeIn-D_0IpM7h.js} +1 -1
  11. package/dashboard/dist/assets/{HeaderGithubStar-DcwDZDfU.js → HeaderGithubStar-wllgUDeU.js} +1 -1
  12. package/dashboard/dist/assets/{IpCheckPage-DwWHgam0.js → IpCheckPage-oUeKrhWf.js} +1 -1
  13. package/dashboard/dist/assets/{LandingPage-BqtWjGwE.js → LandingPage-BqzdZPJZ.js} +1 -1
  14. package/dashboard/dist/assets/{LeaderboardAvatar-BeBtwC-_.js → LeaderboardAvatar-Bib0pX-r.js} +1 -1
  15. package/dashboard/dist/assets/{LeaderboardPage-0TwqZOxu.js → LeaderboardPage-BjLZyZb-.js} +3 -3
  16. package/dashboard/dist/assets/{LeaderboardProfileModal-3HwkYdbM.js → LeaderboardProfileModal-GiTmpwyn.js} +1 -1
  17. package/dashboard/dist/assets/{LeaderboardProfilePage-865y5FBU.js → LeaderboardProfilePage-Df_jL82E.js} +1 -1
  18. package/dashboard/dist/assets/LimitsPage-BhPNmv6R.js +2 -0
  19. package/dashboard/dist/assets/{LocalOnlyNotice-CTKip6yZ.js → LocalOnlyNotice-B01hqlKr.js} +1 -1
  20. package/dashboard/dist/assets/{LoginPage-DhfoXUgm.js → LoginPage-BjqX1wZg.js} +1 -1
  21. package/dashboard/dist/assets/{PopoverPopup-3YotW-4M.js → PopoverPopup-CWyN32rM.js} +1 -1
  22. package/dashboard/dist/assets/{ResetPasswordPage-CqEEo2VL.js → ResetPasswordPage-Bw7tWm1t.js} +1 -1
  23. package/dashboard/dist/assets/{Select-BjnA__CB.js → Select-DbBT6mPJ.js} +1 -1
  24. package/dashboard/dist/assets/{SelectItemText-CoQ0e4TL.js → SelectItemText-XGWezP4M.js} +1 -1
  25. package/dashboard/dist/assets/{SettingsPage-ushnnb65.js → SettingsPage-CrA-jBWs.js} +1 -1
  26. package/dashboard/dist/assets/{SkillsPage-CW4mBNzt.js → SkillsPage-CfYTgQMY.js} +1 -1
  27. package/dashboard/dist/assets/{WidgetsPage-BiwEsW3y.js → WidgetsPage-DjE_NMiT.js} +1 -1
  28. package/dashboard/dist/assets/{WrappedPage-vu2gEGcG.js → WrappedPage-MciuOQFt.js} +1 -1
  29. package/dashboard/dist/assets/{agent-logos-CvsRxSzl.js → agent-logos-JyXME_ur.js} +1 -1
  30. package/dashboard/dist/assets/{arrow-up-right-DwYMKA3i.js → arrow-up-right-U8aUNwfl.js} +1 -1
  31. package/dashboard/dist/assets/{download-BpLBXlyg.js → download-CK8DaHH6.js} +1 -1
  32. package/dashboard/dist/assets/{info-D7gs3LAC.js → info-DF9b_Lut.js} +1 -1
  33. package/dashboard/dist/assets/{main-D2iJg7iA.js → main-4M5oNV2-.js} +15 -11
  34. package/dashboard/dist/assets/{main-Bb0Bwbp7.css → main-xFJe2FDa.css} +1 -1
  35. package/dashboard/dist/assets/use-limits-display-prefs--1a77fnk.js +1 -0
  36. package/dashboard/dist/assets/{use-native-settings-C-JvsUqt.js → use-native-settings-PZ_s8TF_.js} +1 -1
  37. package/dashboard/dist/assets/{use-usage-limits-DfKKdPYm.js → use-usage-limits-B11QqFl7.js} +1 -1
  38. package/dashboard/dist/assets/{useCurrency-CAzf_Pmi.js → useCurrency-CzRjastg.js} +1 -1
  39. package/dashboard/dist/assets/{useScrollLock-DNuJyLo9.js → useScrollLock-BXcNDJbM.js} +1 -1
  40. package/dashboard/dist/brand-logos/zcode.svg +1 -0
  41. package/dashboard/dist/index.html +2 -2
  42. package/dashboard/dist/share.html +2 -2
  43. package/package.json +2 -2
  44. package/src/commands/init.js +9 -2
  45. package/src/commands/status.js +11 -0
  46. package/src/commands/sync.js +45 -0
  47. package/src/lib/pricing/curated-overrides.json +2 -0
  48. package/src/lib/pricing/matcher.js +17 -2
  49. package/src/lib/pricing/seed-snapshot.json +1 -1
  50. package/src/lib/rollout.js +31 -0
  51. package/src/lib/usage-limits.js +6 -1
  52. package/src/lib/zcode-limits.js +213 -0
  53. package/dashboard/dist/assets/DashboardPage-Bu3v5Fm2.js +0 -19
  54. package/dashboard/dist/assets/LimitsPage-CfGYwdDz.js +0 -2
  55. package/dashboard/dist/assets/use-limits-display-prefs-BDCL1zsb.js +0 -1
@@ -0,0 +1,19 @@
1
+ import{c as So,j as o,L as al,r as m,u as rl,a as ol,b as sl,d as il,e as Ia,m as Oe,g as ll,i as Rt,f as Zt,h as et,k as cl,l as dl,n as Sr,o as Cn,p as La,q as Ra,s as Bn,t as ul,v as fl,w as ml,x as hl,y as gl,z as Yn,A as Qt,B as yl,C as pl,D as bl,E as xl,F as Be,G as y,R as P,X as jo,H as zn,I as en,J as Ae,K as Mo,M as In,N as Do,O as kl,P as Co,Q as To,S as Ba,T as wl,U as Po,V as qe,W as vl,Y as Oo,Z as _l,_ as jr,$ as Wo,a0 as Sa,a1 as Nl,a2 as Sl,a3 as jl,a4 as Ml,a5 as Dl,a6 as Cl,a7 as Tl,a8 as Pl,a9 as Ol,aa as Wl,ab as El,ac as Al,ad as dt,ae as Mr}from"./main-4M5oNV2-.js";import{u as Fl}from"./use-usage-limits-B11QqFl7.js";import{u as tn}from"./useCurrency-CzRjastg.js";import{T as $l,M as Il,A as Ll}from"./ActivityHeatmap--h7iLeSz.js";import{u as Rl,D as Bl,a as Yl,b as zl,c as Hl,d as Ul,e as Vl}from"./DialogTitle-Cd8SHRAb.js";import{C as vt}from"./Card-KutJI7Kb.js";import{S as ql}from"./Select-DbBT6mPJ.js";import{u as Gl,a as Kl,b as Xl,L as Ql,A as Jl}from"./agent-logos-JyXME_ur.js";import{I as Eo}from"./info-DF9b_Lut.js";import{C as Ao,P as ja,a as Ma,b as Da,c as Ca,d as Ta,L as Zl}from"./PopoverPopup-CWyN32rM.js";import{F as qt}from"./FadeIn-D_0IpM7h.js";import"./useScrollLock-BXcNDJbM.js";import"./SelectItemText-XGWezP4M.js";const ec=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],tc=So("chevron-left",ec);const nc=[["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"}]],ac=So("square-arrow-out-up-right",nc);function rc(){return o.jsxs(al,{to:"/landing",className:"flex items-center gap-2.5 no-underline hover:opacity-80 transition-opacity",children:[o.jsx("img",{src:"/app-icon.png",alt:"Token Tracker",width:28,height:28,className:"rounded-md"}),o.jsx("span",{className:"text-base font-semibold text-oai-black dark:text-oai-white leading-tight",children:"Token Tracker"})]})}function oc({children:e,header:t,footer:n,className:a="",hideHeader:r=!1,hideFooter:s=!1,bare:l=!1}){return l?o.jsxs("div",{className:`flex flex-col flex-1 min-h-0 ${a}`,children:[o.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!s&&n&&o.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]}):o.jsxs("div",{className:`min-h-screen bg-oai-white dark:bg-oai-gray-950 text-oai-black dark:text-oai-white font-sans flex flex-col transition-colors duration-200 ${a}`,children:[!r&&o.jsxs("header",{className:"border-b border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 flex items-center justify-between transition-colors duration-200",children:[o.jsx(rc,{}),o.jsx("div",{className:"flex-1 flex justify-center",children:t})]}),o.jsx("main",{className:"flex-1 px-6 py-6",children:e}),!s&&n&&o.jsx("footer",{className:"border-t border-oai-gray-200 dark:border-oai-gray-800 px-6 py-4 mt-auto transition-colors duration-200",children:n})]})}function sc({children:e,variant:t="info",size:n="md",className:a=""}){const r="inline-flex items-center font-medium",s={success:"bg-oai-brand-100 dark:bg-oai-brand-900/30 text-oai-brand-700 dark:text-oai-brand-400 rounded-full",warning:"bg-oai-amber-50 dark:bg-oai-amber-900/30 text-oai-amber-dark dark:text-oai-amber-400 rounded-full",error:"bg-red-50 dark:bg-red-900/30 text-red-600 dark:text-red-400 rounded-full",info:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-600 dark:text-oai-gray-300 rounded-full",secondary:"bg-oai-gray-100 dark:bg-oai-gray-800 text-oai-gray-500 dark:text-oai-gray-300 rounded-md"},l={sm:"px-2 py-0.5 text-xs",md:"px-2.5 py-1 text-sm"},i=`${r} ${s[t]} ${l[n]} ${a}`.trim();return o.jsx("span",{className:i,children:e})}const ic=m.forwardRef(function(t,n){const{render:a,className:r,style:s,disabled:l=!1,nativeButton:i=!0,...c}=t,{store:d}=Rl(),u=d.useState("open"),{getButtonProps:f,buttonRef:h}=rl({disabled:l,native:i}),g={disabled:l};function p(x){u&&d.setOpen(!1,sl(il,x.nativeEvent))}return ol("button",t,{state:g,ref:[n,h],props:[{onClick:p},c,f]})});var lc={};function cc(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 dc({mv:e,digit:t,height:n}){const a=Xl(e,r=>{const s=(r%10+10)%10,l=(10+t-s)%10;let i=l*n;return l>5&&(i-=10*n),i});return o.jsx(Oe.span,{style:{position:"absolute",inset:0,display:"flex",alignItems:"center",justifyContent:"center",y:a},children:t})}function uc(e){const t=Math.round(e),n=1e-9*Math.max(1,Math.abs(e));return Math.abs(e-t)<n?t:e}function fc(e,t){const n=e/t;return Math.floor(uc(n))}function mc(e){const t=String(e??""),n=Array.from(t),a=n.indexOf(".");let r=n.filter((i,c)=>/\d/.test(i)&&(a===-1||c<a)).length,s=0,l=!1;return n.map(i=>{if(!/\d/.test(i))return i==="."&&(l=!0),i;if(!l){const c=10**Math.max(r-1,0);return r-=1,c}return s+=1,10**-s})}function hc({place:e,value:t,height:n,digitStyle:a,shouldReduceMotion:r}){if(typeof e!="number"){const c=cc(e,n),d=e!=="."&&e!==",";return o.jsx("span",{"data-counter-token":"static",className:"relative inline-flex items-center justify-center",style:{height:n,...c,...a,...d?{width:"auto",paddingInline:"0.06ch",justifyContent:"center"}:null},children:e})}const s=fc(t,e),l=Gl(0),i=Kl(l,{stiffness:220,damping:26,mass:.8});return m.useEffect(()=>{l.set(s)},[l,s]),r?o.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex items-center justify-center overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...a},children:Math.abs(s)%10}):o.jsx("span",{"data-counter-token":"digit",className:"relative inline-flex overflow-hidden",style:{height:n,position:"relative",width:"0.9ch",fontVariantNumeric:"tabular-nums",...a},children:Array.from({length:10},(c,d)=>o.jsx(dc,{mv:i,digit:d,height:n},d))})}function gc({value:e,displayValue:t,fontSize:n=72,padding:a=0,places:r,gap:s=6,borderRadius:l=4,horizontalPadding:i=0,textColor:c="inherit",fontWeight:d="inherit",containerStyle:u,counterStyle:f,digitStyle:h,gradientHeight:g=14,gradientFrom:p="rgba(255,255,255,0.95)",gradientTo:x="rgba(255,255,255,0)",topGradientStyle:v,bottomGradientStyle:b}){const w=String(t??e??""),k=m.useMemo(()=>Array.isArray(r)&&r.length?r:mc(w),[r,w]),D=typeof navigator<"u"&&/jsdom/i.test(navigator.userAgent||"")||typeof process<"u"&&lc?.VITEST==="true",_=Ia()||D,S=Number.isFinite(Number(e))?Math.abs(Number(e)):0,A=n+a;return _?o.jsx("span",{"data-counter-root":"true",style:{display:"inline-flex",alignItems:"center",color:c,fontSize:n,fontWeight:d,lineHeight:1,...u,...f},children:w}):o.jsxs("span",{"data-counter-root":"true",style:{position:"relative",display:"inline-block",...u},children:[o.jsx("span",{style:{fontSize:n,display:"flex",gap:s,overflow:"hidden",borderRadius:l,paddingLeft:i,paddingRight:i,lineHeight:1,color:c,fontWeight:d,...f},children:k.map((j,C)=>o.jsx(hc,{place:j,value:S,height:A,digitStyle:h,shouldReduceMotion:_},`${String(j)}-${C}`))}),o.jsxs("span",{style:{pointerEvents:"none",position:"absolute",inset:0,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[o.jsx("span",{style:v??{height:g,background:`linear-gradient(to bottom, ${p}, ${x})`}}),o.jsx("span",{style:b??{height:g,background:`linear-gradient(to top, ${p}, ${x})`}})]})]})}function yc({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:a=52,weekStartsOn:r="sun",cacheKey:s,timeZone:l,tzOffsetMinutes:i,now:c,accountView:d=!1,accountAccessToken:u=null,accountRevision:f=0,accountViewResolving:h=!1}={}){const g=!!(d&&u),p=g?"cloud":"local",x=m.useMemo(()=>ll({weeks:a,weekStartsOn:r,now:c}),[c,a,r]),[v,b]=m.useState([]),[w,k]=m.useState(null),[D,_]=m.useState("edge"),[S,A]=m.useState(!1),[j,C]=m.useState(null),F=Rt(),L=Zt(t),Y=!n,M=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),O=m.useMemo(()=>{if(!s)return null;const I=Bn({timeZone:l,offsetMinutes:i});return`tokentracker.heatmap.${s}.${p}.${a}.${r}.${I}`},[s,p,l,i,a,r]),z=m.useCallback(()=>{if(!O||typeof window>"u")return null;try{const I=window.localStorage.getItem(O);if(!I)return null;const te=JSON.parse(I);return!te||!te.heatmap?null:te}catch{return null}},[O]),T=m.useCallback(I=>{if(!(!O||typeof window>"u"))try{window.localStorage.setItem(O,JSON.stringify(I))}catch{}},[O]),W=m.useCallback(()=>{if(!(!O||typeof window>"u"))try{window.localStorage.removeItem(O)}catch{}},[O]),G=m.useRef(p);m.useEffect(()=>{G.current!==p&&(G.current=p,b([]),k(null),_("edge"),C(null),A(!0))},[p]);const $=m.useCallback(async()=>{const I=await et(t),te=g?await et(u):null;if(!I&&!F&&!M&&!g)return;if(g&&!te){C("Your session expired. Please sign in again to view account data."),A(!1);return}const E=g?te:I,se=g?cl:dl,X=g?La:Ra;A(!0),C(null);try{try{const le=await se({baseUrl:e,accessToken:E,weeks:a,to:x.to,weekStartsOn:r,timeZone:l,tzOffsetMinutes:i}),q=Array.isArray(le?.weeks)?le.weeks:[];if(!q.length&&Y){const Z=z();if(Z?.heatmap){k(Z.heatmap),b(Z.daily||[]),_("cache");return}}if(!q.some(Z=>(Array.isArray(Z)?Z:[]).some(me=>me&&Number.isFinite(Number(me.level))))&&q.length){const Z=[];for(const ve of q)for(const pe of Array.isArray(ve)?ve:[])pe?.day&&Z.push({day:pe.day,total_tokens:pe.total_tokens??pe.value??0,billable_total_tokens:pe.billable_total_tokens??pe.value??pe.total_tokens??0});const me=Sr({dailyRows:Z,weeks:a,to:le?.to||x.to,weekStartsOn:r});b(Z),k({...me,week_starts_on:r,active_days:Z.filter(ve=>Number(ve?.billable_total_tokens??ve?.total_tokens)>0).length,streak_days:Cn({dailyRows:Z,to:le?.to||x.to})}),_("client"),Y?T({heatmap:{...me,week_starts_on:r,active_days:Z.filter(ve=>Number(ve?.billable_total_tokens??ve?.total_tokens)>0).length,streak_days:Cn({dailyRows:Z,to:le?.to||x.to})},daily:Z,fetchedAt:new Date().toISOString()}):W();return}k(le||null),b([]),_("edge"),le&&Y?T({heatmap:le,daily:[],fetchedAt:new Date().toISOString()}):Y||W();return}catch(le){const q=le,ne=q?.status??q?.statusCode;if(ne===401||ne===403)throw le}const H=await X({baseUrl:e,accessToken:E,from:x.from,to:x.to,timeZone:l,tzOffsetMinutes:i}),Q=Array.isArray(H?.data)?H.data:[];b(Q);const ce=Sr({dailyRows:Q,weeks:a,to:x.to,weekStartsOn:r});k({...ce,week_starts_on:r,active_days:Q.filter(le=>Number(le?.billable_total_tokens??le?.total_tokens)>0).length,streak_days:Cn({dailyRows:Q,to:x.to})}),_("client"),Y?T({heatmap:{...ce,week_starts_on:r,active_days:Q.filter(le=>Number(le?.billable_total_tokens??le?.total_tokens)>0).length,streak_days:Cn({dailyRows:Q,to:x.to})},daily:Q,fetchedAt:new Date().toISOString()}):W()}catch(H){if(Y){const Q=z();if(Q?.heatmap)k(Q.heatmap),b(Q.daily||[]),_("cache"),C(null);else{const ce=H;C(ce?.message||String(ce)),b([]),k(null),_("edge")}}else{const Q=H;C(Q?.message||String(Q)),b([]),k(null),_("edge")}}finally{A(!1)}},[t,e,F,n,Y,x.from,x.to,z,L,l,i,r,a,W,T,M,g,u,f]);return m.useEffect(()=>{if(h){A(!0);return}if(!L&&!n&&!F&&!M&&!g){b([]),A(!1),C(null),k(null),_("edge");return}if(!Y)W(),b([]),C(null),k(null),_("edge");else{const I=z();I?.heatmap&&(k(I.heatmap),b(I.daily||[]),_("cache"))}$()},[t,F,z,$,L,n,Y,W,M,h]),{range:x,daily:v,heatmap:w,source:F?"mock":D==="client"?"edge":D,loading:S,error:j,refresh:$}}function pc({baseUrl:e,accessToken:t,limit:n=3,from:a,to:r,source:s,timeZone:l,tzOffsetMinutes:i}={}){const[c,d]=m.useState([]),[u,f]=m.useState(!1),[h,g]=m.useState(null),p=Rt(),x=Zt(t),v=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),b=m.useCallback(async()=>{const w=await et(t);if(!w&&!p&&!v){d([]),g(null),f(!1);return}f(!0),g(null);try{const k=await ul({baseUrl:e,accessToken:w,limit:n,from:a,to:r,source:s,timeZone:l,tzOffsetMinutes:i});d(Array.isArray(k?.entries)?k.entries:[])}catch(k){const D=k?.message||String(k);g(D),d([])}finally{f(!1)}},[t,e,a,n,p,s,l,r,i,v]);return m.useEffect(()=>{if(!x&&!p&&!v){d([]),g(null),f(!1);return}b()},[p,b,x,v]),{entries:c,loading:u,error:h,refresh:b}}const bc=24;function Fo({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:a,from:r,to:s,months:l=bc,cacheKey:i,timeZone:c,tzOffsetMinutes:d,now:u,sharedRows:f,sharedRange:h,accountView:g=!1,accountAccessToken:p=null,accountRevision:x=0,accountViewResolving:v=!1}={}){const b=!!(g&&p),w=b?"cloud":"local",[k,D]=m.useState([]),[_,S]=m.useState(()=>({from:r,to:s})),[A,j]=m.useState("edge"),[C,F]=m.useState(null),[L,Y]=m.useState(!1),[M,O]=m.useState(null),z=Rt(),T=Zt(t),W=!n&&!z,G=Array.isArray(f),$=h?.from||r,re=h?.to||s,I=m.useMemo(()=>a==="day"?"hourly":a==="total"?"monthly":"daily",[a]),te=(()=>{if(!i)return null;const q=xc(e)||"default",ne=Bn({timeZone:c,offsetMinutes:d});if(I==="hourly")return`tokentracker.trend.${i}.${w}.${q}.hourly.${s||r||"day"}.${ne}`;if(I==="monthly")return`tokentracker.trend.${i}.${w}.${q}.monthly.${l}.${s||"today"}.${ne}`;const Z=`${r||""}.${s||""}`;return`tokentracker.trend.${i}.${w}.${q}.daily.${Z}.${ne}`})(),E=m.useCallback(()=>{if(!te||typeof window>"u")return null;try{const q=window.localStorage.getItem(te);if(!q)return null;const ne=JSON.parse(q);return!ne||!Array.isArray(ne.rows)?null:ne}catch{return null}},[te]),se=m.useCallback(q=>{if(!(!te||typeof window>"u"))try{window.localStorage.setItem(te,JSON.stringify(q))}catch{}},[te]),X=m.useCallback(()=>{if(!(!te||typeof window>"u"))try{window.localStorage.removeItem(te)}catch{}},[te]),H=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Q=m.useRef(w);m.useEffect(()=>{Q.current!==w&&(Q.current=w,D([]),S({from:r,to:s}),j("edge"),F(null),O(null),Y(!0))},[w]);const ce=m.useCallback(async()=>{if(G){D(Array.isArray(f)?f:[]),S({from:$,to:re}),j("shared"),F(null),Y(!1),O(null);return}const q=await et(t),ne=b?await et(p):null;if(!q&&!z&&!H&&!b)return;if(b&&!ne){O("Your session expired. Please sign in again to view account data."),Y(!1);return}const Z=b?ne:q,me=b?fl:ml,ve=b?hl:gl,pe=b?La:Ra;Y(!0),O(null);try{let ie;I==="hourly"?ie=await me({baseUrl:e,accessToken:Z,day:s||r,timeZone:c,tzOffsetMinutes:d}):I==="monthly"?ie=await ve({baseUrl:e,accessToken:Z,months:l,to:s,timeZone:c,tzOffsetMinutes:d}):ie=await pe({baseUrl:e,accessToken:Z,from:r,to:s,timeZone:c,tzOffsetMinutes:d});const de=ie?.from||r||ie?.day||null,_e=ie?.to||s||ie?.day||null;let we=Array.isArray(ie?.data)?ie.data:[];I==="daily"?we=sa(we,de||r,_e||s,{timeZone:c,offsetMinutes:d,now:u}):I==="hourly"?(we=ia(we,de||r||ie?.day,{timeZone:c,offsetMinutes:d,now:u}),we=la(we,{timeZone:c,offsetMinutes:d,now:u})):I==="monthly"&&(we=ca(we,{timeZone:c,offsetMinutes:d,now:u}));const ht=new Date().toISOString();D(we),S({from:de,to:_e}),j("edge"),F(ht),W?se({rows:we,from:de,to:_e,mode:I,fetchedAt:ht}):X()}catch(ie){if(W){const de=E();if(de?.rows){let _e=I==="daily"?sa(de.rows||[],de.from||r,de.to||s,{timeZone:c,offsetMinutes:d,now:u}):I==="hourly"?ia(de.rows||[],de.from||r||de.day||s,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(de.rows)?de.rows:[];I==="hourly"?_e=la(_e,{timeZone:c,offsetMinutes:d,now:u}):I==="monthly"&&(_e=ca(_e,{timeZone:c,offsetMinutes:d,now:u})),D(_e),S({from:de.from||r,to:de.to||s}),j("cache"),F(de.fetchedAt||null),O(null)}else{D([]),S({from:r,to:s}),j("edge"),F(null);const _e=ie;O(_e?.message||String(_e))}}else{D([]),S({from:r,to:s}),j("edge"),F(null);const de=ie;O(de?.message||String(de))}}finally{Y(!1)}},[t,e,r,z,n,W,I,l,E,T,G,$,f,re,c,s,d,u,X,se,H,b,p,x]);m.useEffect(()=>{if(v){Y(!0);return}if(G){D(Array.isArray(f)?f:[]),S({from:$,to:re}),j("shared"),F(null),Y(!1),O(null);return}if(!T&&!n&&!z&&!H&&!b){D([]),S({from:r,to:s}),O(null),Y(!1),j("edge"),F(null);return}if(!W)X(),D([]),S({from:r,to:s}),O(null),j("edge"),F(null);else{const q=E();if(q?.rows){let ne=I==="daily"?sa(q.rows||[],q.from||r,q.to||s,{timeZone:c,offsetMinutes:d,now:u}):I==="hourly"?ia(q.rows||[],q.from||r||q.day||s,{timeZone:c,offsetMinutes:d,now:u}):Array.isArray(q.rows)?q.rows:[];I==="hourly"?ne=la(ne,{timeZone:c,offsetMinutes:d,now:u}):I==="monthly"&&(ne=ca(ne,{timeZone:c,offsetMinutes:d,now:u})),D(ne),S({from:q.from||r,to:q.to||s}),j("cache"),F(q.fetchedAt||null)}}ce()},[t,z,E,ce,G,$,f,re,T,n,W,X,H,v]);const le=z?"mock":A;return{rows:k,from:_.from||r,to:_.to||s,source:le,fetchedAt:C,loading:L,error:M,refresh:ce}}function xc(e){try{return new URL(e).host}catch{return null}}function An(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const a=Number(n[0]),r=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r,s));return Number.isFinite(l.getTime())&&Qt(l)===t?l:null}function $o(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}const Io=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","conversation_count"];function sa(e,t,n,{timeZone:a,offsetMinutes:r,now:s}={}){const l=An(t),i=An(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,d=Yn({timeZone:a,offsetMinutes:r,date:c}),u=An(d),f=u?u.getTime():c.getTime(),h=new Map;for(const p of e||[])p?.day&&h.set(p.day,p);const g=[];for(let p=l;p<=i;p=$o(p,1)){const x=Qt(p),v=h.get(x),b=p.getTime()>f;if(v){g.push({...v,missing:!1,future:b});continue}g.push({day:x,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!b,future:b})}return g}function kc(e,t){const n=t?null:0;return{hour:e,total_tokens:n,billable_total_tokens:n,input_tokens:n,cached_input_tokens:n,cache_creation_input_tokens:n,output_tokens:n,reasoning_output_tokens:n,conversation_count:n,missing:!1,future:t}}function wc(e){if(!e||typeof e!="object")return!1;const t=e.models;return t&&typeof t=="object"&&Object.keys(t).length>0?!1:Io.every(n=>e[n]==null)}function vc(e,t,n){const a={...e,hour:t,missing:!1,future:n};if(!n&&wc(e))for(const r of Io)a[r]=0;return a}function _c(e,t){const n=t===30?48:24,a=[];for(let r=0;r<n;r++){const s=Math.floor(r*t/60),l=r*t%60;a.push(`${e}T${String(s).padStart(2,"0")}:${String(l).padStart(2,"0")}:00`)}return a}function Nc(e,t,{timeZone:n,offsetMinutes:a}={}){const r=_c(e,t);if(!n||typeof Intl>"u"||!Intl.DateTimeFormat)return r;const s=An(e);if(!s)return r;const l=s.getUTCFullYear()*1e4+(s.getUTCMonth()+1)*100+s.getUTCDate(),i=s.getTime()-2160*60*1e3,c=$o(s,2).getTime()+2160*60*1e3,d=[],u=new Set;for(let f=i;f<=c;f+=1800*1e3){const h=Hn({timeZone:n,offsetMinutes:a,now:new Date(f)});if(!h||h.dayNum!==l||t===60&&h.minute!==0||t===30&&h.minute!==0&&h.minute!==30)continue;const g=`${e}T${String(h.hour).padStart(2,"0")}:${String(h.minute).padStart(2,"0")}:00`;u.has(g)||(u.add(g),d.push(g))}return d.length>0?d:r}function ia(e,t,{timeZone:n,offsetMinutes:a,now:r}={}){if(!t)return Array.isArray(e)?e:[];const s=t.trim().slice(0,10),l=Hn({timeZone:n,offsetMinutes:a,now:r}),i=l?l.dayNum:void 0;let c=!1;for(const g of e||[]){const p=g?.hour||g?.label||"",x=Fn(p,i);if(x&&x.slot%2!==0){c=!0;break}}const d=c?30:60,u=new Map;for(const g of e||[]){const p=g?.hour||g?.label||"",x=Fn(p,i);x&&u.set(x.slot,g)}const f=[],h=Nc(s,d,{timeZone:n,offsetMinutes:a});for(let g=0;g<h.length;g++){const p=h[g],x=Fn(p,i),v=x?x.slot:c?g:g*2,b=u.get(v);let w=!1;if(l){const k=l.year*1e4+l.month*100+l.day,D=x?.dayNum??Number(s.replace(/-/g,""));if(D>k)w=!0;else if(D===k){const _=l.hour*2+(l.minute>=30?1:0);w=v>_}}b?f.push(vc(b,p,w)):f.push(kc(p,w))}return f}function la(e,{timeZone:t,offsetMinutes:n,now:a}={}){if(!Array.isArray(e))return[];const r=Hn({timeZone:t,offsetMinutes:n,now:a});return r?e.map(s=>{const l=s?.hour||s?.label||"",i=Fn(l,r.dayNum);if(!i)return{...s,future:!1};const c=i.dayNum!==null&&i.dayNum>r.dayNum||(i.dayNum===null||i.dayNum===r.dayNum)&&i.slot>r.slot;return{...s,future:!!c}}):e}function ca(e,{timeZone:t,offsetMinutes:n,now:a}={}){if(!Array.isArray(e))return[];const r=Hn({timeZone:t,offsetMinutes:n,now:a});return r?e.map(s=>{const l=s?.month||s?.label||"",i=Sc(l);if(!i)return{...s,future:!1};const c=i.year>r.year||i.year===r.year&&i.month>r.month;return{...s,future:c}}):e}function Hn({timeZone:e,offsetMinutes:t,now:n}={}){const a=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const h=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(a).reduce((w,k)=>(k.type&&k.value&&(w[k.type]=k.value),w),{}),g=Number(h.year),p=Number(h.month),x=Number(h.day),v=Number(h.hour),b=Number(h.minute);if(Number.isFinite(g)&&Number.isFinite(p)&&Number.isFinite(x)&&Number.isFinite(v)&&Number.isFinite(b)){const w=v*2+(b>=30?1:0);return{year:g,month:p,day:x,hour:v,minute:b,dayNum:g*1e4+p*100+x,slot:w}}}catch{}if(Number.isFinite(t)){const u=new Date(a.getTime()+t*60*1e3),f=u.getUTCFullYear(),h=u.getUTCMonth()+1,g=u.getUTCDate(),p=u.getUTCHours(),x=u.getUTCMinutes(),v=p*2+(x>=30?1:0);return{year:f,month:h,day:g,hour:p,minute:x,dayNum:f*1e4+h*100+g,slot:v}}const r=a.getFullYear(),s=a.getMonth()+1,l=a.getDate(),i=a.getHours(),c=a.getMinutes(),d=i*2+(c>=30?1:0);return{year:r,month:s,day:l,hour:i,minute:c,dayNum:r*1e4+s*100+l,slot:d}}function Fn(e,t){if(!e)return null;const n=String(e).trim();if(n.includes("T")){const[a,r]=n.split("T");if(!a||!r)return null;const s=a.split("-");if(s.length!==3)return null;const l=Number(s[0]),i=Number(s[1]),c=Number(s[2]);if(!Number.isFinite(l)||!Number.isFinite(i)||!Number.isFinite(c))return null;const d=r.split(":"),u=Number(d[0]),f=Number(d[1]);if(!Number.isFinite(u)||u<0||u>23||!Number.isFinite(f)||f<0||f>59)return null;const h=u*2+(f>=30?1:0);return{dayNum:l*1e4+i*100+c,slot:h}}else{let a=NaN,r=0;if(/^\d{1,2}$/.test(n))a=Number(n);else if(/^\d{1,2}:\d{2}(:\d{2})?$/.test(n)){const l=n.split(":");a=Number(l[0]),r=Number(l[1])}if(!Number.isFinite(a)||a<0||a>23||!Number.isFinite(r)||r<0||r>59)return null;const s=a*2+(r>=30?1:0);return{dayNum:t||null,slot:s}}}function Sc(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const a=Number(n[0]),r=Number(n[1]);return!Number.isFinite(a)||!Number.isFinite(r)||r<1||r>12?null:{year:a,month:r}}function Dr({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:a,to:r,includeDaily:s=!0,cacheKey:l,timeZone:i,tzOffsetMinutes:c,now:d,accountView:u=!1,accountAccessToken:f=null,accountRevision:h=0,accountViewResolving:g=!1}={}){const p=!!(u&&f),x=p?"cloud":"local",[v,b]=m.useState([]),[w,k]=m.useState(null),[D,_]=m.useState(null),[S,A]=m.useState("edge"),[j,C]=m.useState(null),[F,L]=m.useState(!1),[Y,M]=m.useState(null),O=Rt(),z=Zt(t),T=!n&&!O,W=(()=>{if(!l)return null;const X=jc(e)||"default",H=s?"daily":"summary",Q=Bn({timeZone:i,offsetMinutes:c});return`tokentracker.usage.${l}.${x}.${X}.${a}.${r}.${H}.${Q}`})(),G=m.useRef(x);m.useEffect(()=>{G.current!==x&&(G.current=x,b([]),k(null),_(null),A("edge"),C(null),M(null),L(!0))},[x]);const $=m.useCallback(()=>{if(!W||typeof window>"u")return null;try{const X=window.localStorage.getItem(W);if(!X)return null;const H=JSON.parse(X);return!H||!H.summary?null:H}catch{return null}},[W]),re=m.useCallback(X=>{if(!(!W||typeof window>"u"))try{window.localStorage.setItem(W,JSON.stringify(X))}catch{}},[W]),I=m.useCallback(()=>{if(!(!W||typeof window>"u"))try{window.localStorage.removeItem(W)}catch{}},[W]),te=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),E=m.useCallback(async()=>{const X=await et(t),H=p?await et(f):null;if(!X&&!O&&!te&&!p)return;if(p&&!H){M("Your session expired. Please sign in again to view account data."),L(!1);return}const Q=p?La:Ra,ce=p?yl:pl,le=p?H:X;L(!0),M(null);try{let q=null,ne=null;if(s){const[ie,de]=await Promise.allSettled([Q({baseUrl:e,accessToken:le,from:a,to:r,timeZone:i,tzOffsetMinutes:c}),ce({baseUrl:e,accessToken:le,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0})]);if(ie.status==="rejected")throw ie.reason;q=ie.value,ne=de.status==="fulfilled"?de.value:null}else ne=await ce({baseUrl:e,accessToken:le,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0});let Z=s&&Array.isArray(q?.data)?q.data:[];s&&(Z=ua(Z,a,r,{timeZone:i,offsetMinutes:c,now:d}));let me=ne?.totals||q?.summary?.totals||null,ve=ne?.rolling||q?.summary?.rolling||null;if(s&&!me&&!ne)try{const ie=await ce({baseUrl:e,accessToken:le,from:a,to:r,timeZone:i,tzOffsetMinutes:c,rolling:!0});me=ie?.totals||null,ve=ie?.rolling||ve}catch{}const pe=new Date().toISOString();b(Z),k(me),_(ve),A("edge"),C(pe),me&&T?re({summary:me,rolling:ve,daily:Z,from:a,to:r,includeDaily:s,fetchedAt:pe}):T||I()}catch(q){if(T){const ne=$();if(ne?.summary){k(ne.summary),_(ne.rolling||null);const Z=Array.isArray(ne.daily)?ne.daily:[],me=s?ua(Z,ne.from||a,ne.to||r,{timeZone:i,offsetMinutes:c,now:d}):Z;b(me),A("cache"),C(ne.fetchedAt||null),M(null)}else{const Z=q;M(Z?.message||String(Z)),b([]),k(null),_(null),A("edge"),C(null)}}else{const ne=q;M(ne?.message||String(ne)),b([]),k(null),_(null),A("edge"),C(null)}}finally{L(!1)}},[t,e,a,s,O,n,T,d,$,z,i,r,c,I,re,te,p,f,h]);return m.useEffect(()=>{if(g){L(!0);return}const X=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!z&&!n&&!O&&!X&&!p){b([]),k(null),_(null),M(null),L(!1),A("edge"),C(null);return}if(!T)I(),b([]),k(null),_(null),M(null),A("edge"),C(null);else{const H=$();if(H?.summary){k(H.summary),_(H.rolling||null);const Q=Array.isArray(H.daily)?H.daily:[],ce=s?ua(Q,H.from||a,H.to||r,{timeZone:i,offsetMinutes:c,now:d}):Q;b(ce),A("cache"),C(H.fetchedAt||null)}}E()},[t,O,$,E,z,n,T,I,te,g]),m.useEffect(()=>{if(typeof window>"u"||typeof document>"u")return;const X=15e3;let H=Date.now();const Q=()=>{if(document.visibilityState!=="visible")return;const ce=Date.now();ce-H<X||(H=ce,E())};return window.addEventListener("focus",Q),document.addEventListener("visibilitychange",Q),()=>{window.removeEventListener("focus",Q),document.removeEventListener("visibilitychange",Q)}},[E]),{daily:v,summary:w,rolling:D,source:O?"mock":S,fetchedAt:j,loading:F,error:Y,refresh:E}}function jc(e){try{return new URL(e).host}catch{return null}}function da(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const a=Number(n[0]),r=Number(n[1])-1,s=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r,s));return Number.isFinite(l.getTime())&&Qt(l)===t?l:null}function Mc(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function ua(e,t,n,{timeZone:a,offsetMinutes:r,now:s}={}){const l=da(t),i=da(n);if(!l||!i||i<l)return Array.isArray(e)?e:[];const c=s instanceof Date&&Number.isFinite(s.getTime())?s:new Date,d=Yn({timeZone:a,offsetMinutes:r,date:c}),u=da(d),f=u?u.getTime():c.getTime(),h=new Map;for(const p of e||[])p?.day&&h.set(p.day,p);const g=[];for(let p=l;p<=i;p=Mc(p,1)){const x=Qt(p),v=h.get(x),b=p.getTime()>f;if(v){g.push({...v,missing:!1,future:b});continue}g.push({day:x,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!b,future:b})}return g}function Dc({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:a,to:r,cacheKey:s,timeZone:l,tzOffsetMinutes:i,accountView:c=!1,accountAccessToken:d=null,accountRevision:u=0,accountViewResolving:f=!1}={}){const h=!!(c&&d),g=h?"cloud":"local",[p,x]=m.useState(null),[v,b]=m.useState("edge"),[w,k]=m.useState(!1),[D,_]=m.useState(null),S=Rt(),A=Zt(t),j=!n,C=m.useMemo(()=>{if(!s)return null;const W=Cc(e)||"default",G=Bn({timeZone:l,offsetMinutes:i});return`tokentracker.modelBreakdown.${s}.${g}.${W}.${a}.${r}.${G}`},[e,s,a,g,l,r,i]),F=m.useCallback(()=>{if(!C||typeof window>"u")return null;try{const W=window.localStorage.getItem(C);if(!W)return null;const G=JSON.parse(W);return!G||!G.breakdown?null:G}catch{return null}},[C]),L=m.useCallback(W=>{if(!(!C||typeof window>"u"))try{window.localStorage.setItem(C,JSON.stringify(W))}catch{}},[C]),Y=m.useCallback(()=>{if(!(!C||typeof window>"u"))try{window.localStorage.removeItem(C)}catch{}},[C]),M=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),O=m.useRef(g);m.useEffect(()=>{O.current!==g&&(O.current=g,x(null),b("edge"),_(null),k(!0))},[g]);const z=m.useCallback(async()=>{const W=await et(t),G=h?await et(d):null;if(!W&&!S&&!M&&!h)return;if(h&&!G){_("Your session expired. Please sign in again to view account data."),k(!1);return}const $=h?G:W,re=h?bl:xl;k(!0),_(null);try{const I=await re({baseUrl:e,accessToken:$,from:a,to:r,timeZone:l,tzOffsetMinutes:i});x(I||null),b("edge"),I&&j?L({breakdown:I,fetchedAt:new Date().toISOString()}):j||Y()}catch(I){if(j){const te=F();if(te?.breakdown)x(te.breakdown),b("cache"),_(null);else{x(null),b("edge");const E=I;_(E?.message||String(E))}}else{x(null),b("edge");const te=I;_(te?.message||String(te))}}finally{k(!1)}},[t,e,a,S,n,j,F,l,r,A,i,Y,L,M,h,d,u]);return m.useEffect(()=>{if(f){k(!0);return}if(!A&&!n&&!S&&!M&&!h){x(null),b("edge"),_(null),k(!1);return}if(!j)Y(),x(null),b("edge"),_(null);else{const W=F();W?.breakdown&&(x(W.breakdown),b("cache"))}z()},[t,S,F,z,A,n,j,Y,M,f]),{breakdown:p,source:S?"mock":v,loading:w,error:D,refresh:z}}function Cc(e){try{return new URL(e).host}catch{return null}}const Lo=new Set(["day","hour","month"]);function Tc(e){return Lo.has(e)}function Cr(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 Pc(e,t){const n=Cr(e),a=Cr(t);if(n&&a)return n.length!==a.length?n.length<a.length?-1:1:n===a?0:n<a?-1:1;const r=Be(e),s=Be(t);return r==null&&s==null?0:r==null?1:s==null?-1:r===s?0:r<s?-1:1}function Oc(e,t){const n=typeof e=="string"?e:String(e||""),a=typeof t=="string"?t:String(t||"");return n===a?0:n<a?-1:1}function Wc(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]),s=Number(n[3]);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s))return null;const l=new Date(Date.UTC(a,r-1,s));return!Number.isFinite(l.getTime())||l.getUTCFullYear()!==a||l.getUTCMonth()+1!==r||l.getUTCDate()!==s?null:l.getTime()}function Ec(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]);if(!Number.isFinite(a)||!Number.isFinite(r)||r<1||r>12)return null;const s=new Date(Date.UTC(a,r-1,1));return Number.isFinite(s.getTime())?s.getTime():null}function Ac(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?Z?$/);if(!n)return null;const a=Number(n[1]),r=Number(n[2]),s=Number(n[3]),l=Number(n[4]),i=Number(n[5]),c=Number(n[6]||0);if(!Number.isFinite(a)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(l)||!Number.isFinite(i)||!Number.isFinite(c)||r<1||r>12||s<1||s>31||l<0||l>23||i<0||i>59||c<0||c>59)return null;const d=new Date(Date.UTC(a,r-1,s,l,i,c));return Number.isFinite(d.getTime())?d.getTime():null}function Fc(e,t,n){const a=n==="hour"?Ac:n==="month"?Ec:Wc,r=a(e),s=a(t);return r!=null&&s!=null?r===s?0:r<s?-1:1:Oc(e,t)}function Ro(e,{key:t,dir:n}){const a=n==="asc"?1:-1,r=Array.isArray(e)?e:[],s=Lo.has(t)?(i,c)=>Fc(i,c,t):Pc,l=i=>t==="total_tokens"&&i?.billable_total_tokens!=null?i.billable_total_tokens:i?.[t];return r.map((i,c)=>({row:i,index:c})).sort((i,c)=>{const d=l(i.row),u=l(c.row),f=d==null,h=u==null;if(f&&h)return i.index-c.index;if(f)return 1;if(h)return-1;const g=s(d,u);return g!==0?g*a:i.index-c.index}).map(i=>i.row)}function $c(){return[{key:"day",label:y("daily.sort.date.label"),title:y("daily.sort.date.title")},{key:"total_tokens",label:y("daily.sort.total.label"),title:y("daily.sort.total.title")},{key:"input_tokens",label:y("daily.sort.input.label"),title:y("daily.sort.input.title")},{key:"output_tokens",label:y("daily.sort.output.label"),title:y("daily.sort.output.title")},{key:"cached_input_tokens",label:y("daily.sort.cached.label"),title:y("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:y("daily.sort.reasoning.label"),title:y("daily.sort.reasoning.title")},{key:"conversation_count",label:y("daily.sort.conversations.label"),title:y("daily.sort.conversations.title")}]}function Tr(e){const t=Tc(e)?e:"day";return $c().map((n,a)=>a===0?{...n,key:t}:n)}function Pr(e,{key:t,dir:n}){return Ro(e,{key:t,dir:n})}const Ln=12,Ic=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens"];function Lc(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 Rc(e){return Ic.some(t=>Lc(e?.[t]))}function Bc(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=Ro(t,{key:"month",dir:"asc"}),a=n.findIndex(r=>r?.month&&Rc(r));return a===-1?t:n.slice(a)}function Yc(e,t,n=Ln){const a=Array.isArray(e)?e:[],r=Number.isFinite(n)&&n>0?n:Ln,l=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*r;return a.slice(l,l+r)}function zc({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:a,heatmapLoading:r,activeDays:s,hasActiveDeviceToken:l}={}){return e||t?!1:n?!0:a&&!r&&s===0&&!l}function Bo(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function Hc(e){const t=Bo(e?.model_id);return t||null}function Yo(e,t){return e?.model?String(e.model):t}function Jt(e,t=0){const n=Be(e?.billable_total_tokens),a=Be(e?.total_tokens);return n!=null&&n>0?n:a!=null&&a>0?a:n??a??t}function Uc(e,{copyFn:t}={}){const n=typeof t=="function"?t:l=>l,r=(Array.isArray(e?.sources)?e.sources:[]).map(l=>{const i=Jt(l?.totals),c=Be(l?.totals?.total_cost_usd)??0;return{source:l?.source,totalTokens:Number.isFinite(i)?i:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(l?.models)?l.models:[]}}).filter(l=>l.totalTokens>0);if(!r.length)return[];const s=r.reduce((l,i)=>l+i.totalTokens,0);return typeof e?.pricing?.pricing_mode=="string"&&e.pricing.pricing_mode.toUpperCase(),r.slice().sort((l,i)=>i.totalTokens-l.totalTokens).map(l=>{const i=l.source?String(l.source).toUpperCase():n("shared.placeholder.short"),c=s>0?l.totalTokens/s*100:0,d=Number.isFinite(c)?c.toFixed(1):"0.0",u=l.models.map(f=>{const h=Jt(f?.totals);if(!Number.isFinite(h)||h<=0)return null;const g=l.totalTokens>0?Math.round(h/l.totalTokens*1e3)/10:0,p=Yo(f,n("shared.placeholder.short")),x=Hc(f),v=Be(f?.totals?.total_cost_usd),b=v??(l.totalCost>0&&l.totalTokens>0?h/l.totalTokens*l.totalCost:null);return{id:x,name:p,share:g,usage:h,cost:b}}).filter(Boolean);return{source:l.source,label:i,totalPercent:String(d),usd:l.totalCost,usage:l.totalTokens,models:u}})}function Vc(e,{limit:t=3,copyFn:n}={}){const a=typeof n=="function"?n:h=>h,r=Array.isArray(e?.sources)?e.sources:[];if(!r.length)return[];const s=new Map,l=new Map,i=new Map;let c=0;for(const h of r){const g=Array.isArray(h?.models)?h.models:[];for(const p of g){const x=Jt(p?.totals);if(!Number.isFinite(x)||x<=0)continue;c+=x;const v=Yo(p,a("shared.placeholder.short")),b=Bo(v);if(!b)continue;s.set(b,(s.get(b)||0)+x);const w=i.get(b)||0;x>=w&&(i.set(b,x),l.set(b,v))}}if(!s.size)return[];const d=Array.from(s.values()).reduce((h,g)=>h+g,0),u=c>0?c:d,f=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(s.entries()).map(([h,g])=>{const p=u>0?(g/u*100).toFixed(1):"0.0";return{id:h,name:l.get(h)||a("shared.placeholder.short"),tokens:g,percent:String(p)}}).sort((h,g)=>g.tokens!==h.tokens?g.tokens-h.tokens:String(h.name).localeCompare(String(g.name))).slice(0,f)}function qc(e,t,n){if(!Number.isFinite(e))return y("shared.placeholder.short");const a=en(e,{decimals:2,currency:t,rate:n});return a==="-"?y("shared.placeholder.short"):a}function Or(e,t,n){if(!Number.isFinite(e)||e<=0)return null;const a=zn(t);return(t===Mo?e:e*n)<.01?`<${a}0.01`:en(e,{decimals:2,currency:t,rate:n})}function Wr(e){const t=Number(e);return!Number.isFinite(t)||t<=0?null:Ae(t,{decimals:1})}const Gc=P.memo(function({isOpen:t,onClose:n,fleetData:a=[]}){const{currency:r,rate:s}=tn(),l=m.useMemo(()=>(Array.isArray(a)?a:[]).map(c=>{const d=Be(c?.usd)??0,u=Be(c?.usage)??0,f=Array.isArray(c?.models)?c.models:[];return{label:c?.label?String(c.label):"",usdValue:d,costLabel:Or(d,r,s),tokensLabel:Wr(u),models:f.map(h=>{const g=Be(h?.usage)??0,p=Be(h?.cost)??0;return{id:h?.id?String(h.id):"",name:h?.name?String(h.name):"",tokensLabel:Wr(g),costLabel:Or(p,r,s),sortCost:p}}).filter(h=>h.costLabel||h.tokensLabel).sort((h,g)=>g.sortCost-h.sortCost)}}).filter(c=>c.usdValue>0||c.models.length>0).sort((c,d)=>d.usdValue-c.usdValue),[a,r,s]),i=m.useMemo(()=>{const c=l.reduce((d,u)=>d+u.usdValue,0);return qc(c,r,s)},[l,r,s]);return o.jsx(Bl,{open:t,onOpenChange:c=>{c||n?.()},children:o.jsxs(Yl,{children:[o.jsx(zl,{className:"cost-modal-backdrop","data-cost-analysis-backdrop":"true"}),o.jsx(Hl,{className:"fixed inset-0 z-[101] flex items-center justify-center p-4",children:o.jsxs(Ul,{className:"cost-modal-popup relative w-full max-w-[460px] max-h-[calc(100vh-2rem)] flex flex-col rounded-2xl bg-white dark:bg-oai-gray-950 shadow-[0_20px_60px_-20px_rgba(0,0,0,0.25)] dark:shadow-[0_20px_60px_-10px_rgba(0,0,0,0.65)] ring-1 ring-oai-gray-200 dark:ring-oai-gray-800 overflow-hidden",children:[o.jsx(Vl,{render:o.jsx("h2",{className:"sr-only"}),children:y("dashboard.cost_breakdown.title")}),o.jsx(ic,{type:"button",className:"absolute top-3 right-3 flex h-9 w-9 items-center justify-center rounded-md text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-800 dark:hover:text-oai-gray-100 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand/50 transition-colors z-10","aria-label":y("dashboard.cost_breakdown.close"),children:o.jsx(jo,{size:16,strokeWidth:2,"aria-hidden":!0})}),o.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto oai-scrollbar",children:o.jsxs("div",{className:"px-3 py-6",children:[o.jsx("p",{className:"text-label uppercase tracking-[0.12em] text-oai-gray-500 dark:text-oai-gray-400 mb-2",children:y("dashboard.cost_breakdown.total_label")}),o.jsx("p",{className:"font-bold text-oai-brand tabular-nums tracking-tight leading-none mb-6",style:{fontSize:"clamp(24px, 6.5vw, 32px)"},children:i}),l.length===0?o.jsx("p",{className:"text-body-sm text-oai-gray-500 dark:text-oai-gray-400",children:"No spend recorded."}):o.jsxs("div",{role:"table","aria-label":y("dashboard.cost_breakdown.title"),children:[o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2 mb-2 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400",children:[o.jsx("span",{role:"columnheader",children:"Model"}),o.jsx("span",{role:"columnheader",children:"Cost"})]}),l.map((c,d)=>{const u=`fleet-${d}`;return o.jsxs("div",{role:"rowgroup","aria-labelledby":u,className:d>0?"mt-5":"mt-2",children:[o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-2",children:[o.jsx("span",{id:u,role:"rowheader",className:"flex-1 min-w-0 text-body-sm font-semibold text-oai-black dark:text-oai-white truncate leading-none",children:c.label}),o.jsx("span",{role:"cell",className:"shrink-0 text-body-sm font-semibold text-oai-black dark:text-oai-white tabular-nums leading-none",children:c.costLabel||"—"})]}),c.models.map((f,h)=>o.jsxs("div",{role:"row",className:"flex items-center justify-between gap-4 py-[5px]",children:[o.jsx("span",{role:"cell",className:"flex-1 min-w-0 text-caption text-oai-gray-500 dark:text-oai-gray-400 truncate leading-none",title:f.name,children:f.name}),o.jsx("span",{role:"cell",className:"shrink-0 text-caption text-oai-gray-700 dark:text-oai-gray-300 tabular-nums leading-none",children:f.costLabel||""})]},f.id||`${f.name}-${h}`))]},`${c.label}-${d}`)})]})]})})]})})]})})});function Kc({projectEntries:e=[],projectLimit:t=3,onProjectLimitChange:n,copy:a,hasDetailsActual:r,dailyEmptyPrefix:s,installSyncCmd:l,dailyEmptySuffix:i,detailsColumns:c,ariaSortFor:d,toggleSort:u,sortIconFor:f,pagedDetails:h,dailyBreakdownRows:g=[],dailyBreakdownColumns:p=[],dailyBreakdownAriaSortFor:x,dailyBreakdownSortIconFor:v,dailyBreakdownDateKey:b="day",detailsDateKey:w,renderDetailDate:k,renderDailyBreakdownDate:D,renderDetailCell:_,DETAILS_PAGED_PERIODS:S,period:A,detailsPageCount:j,detailsPage:C,setDetailsPage:F}){const[L,Y]=m.useState("daily");return o.jsxs(vt,{children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-4",children:[o.jsxs("div",{role:"tablist","aria-label":"Data view",className:"flex gap-1",children:[o.jsx("button",{role:"tab","aria-selected":L==="daily",type:"button",onClick:()=>Y("daily"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${L==="daily"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:a("dashboard.daily.title")}),o.jsx("button",{role:"tab","aria-selected":L==="projects",type:"button",onClick:()=>Y("projects"),className:`text-xs font-medium px-3 py-1.5 rounded transition-colors ${L==="projects"?"text-oai-black dark:text-oai-white bg-oai-gray-100 dark:bg-oai-gray-800":"text-oai-gray-500 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-50 dark:hover:bg-oai-gray-800/50"}`,children:a("dashboard.projects.title")})]}),L==="projects"&&o.jsx(ql,{ariaLabel:a("dashboard.projects.limit_aria"),value:t,onValueChange:M=>n?.(Number(M)),options:[{value:3,label:a("dashboard.projects.limit_top_3")},{value:6,label:a("dashboard.projects.limit_top_6")},{value:10,label:a("dashboard.projects.limit_top_10")}],align:"end",className:"px-2 py-1 text-xs text-oai-gray-600 dark:text-oai-gray-300"})]}),L==="projects"&&o.jsx("div",{className:"space-y-1",children:e.slice(0,t).map((M,O)=>{const z=typeof M?.project_ref=="string"?M.project_ref:"",T=M?.project_key||z||`entry-${O}`,W=M?.billable_total_tokens??M?.total_tokens,G=Number(W),$=Number.isFinite(G)?G.toLocaleString():"—",re=M?.project_key||z.split("/").pop()||"—";return o.jsxs("div",{className:"flex items-center gap-3 p-2 rounded-lg",children:[o.jsx("div",{className:"w-8 h-8 rounded-md oai-bg-elevated flex items-center justify-center oai-text-caption font-medium text-oai-gray-500 dark:text-oai-gray-300",children:(M?.project_key?.[0]||"?").toUpperCase()}),o.jsx("div",{className:"min-w-0 flex-1",children:o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:re})}),o.jsx("div",{className:"oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:$})]},T)})}),L==="daily"&&o.jsxs("div",{children:[g?.length===0?o.jsxs("div",{className:"oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 mb-4",children:[s,o.jsx("code",{className:"mx-1 rounded border border-oai-gray-300 dark:border-oai-gray-700 oai-bg-elevated px-1.5 py-0.5 font-mono oai-text-caption",children:l}),i]}):o.jsx("div",{className:"overflow-auto max-h-[384px] -mx-4 oai-scrollbar",children:o.jsxs("table",{className:"w-full border-collapse",children:[o.jsx("thead",{className:"sticky top-0 z-10",children:o.jsx("tr",{className:"border-b border-oai-gray-200 dark:border-oai-gray-700",children:p.map(M=>o.jsx("th",{"aria-sort":x?.(M.key)||"none",className:"text-left p-0 bg-white dark:bg-oai-gray-900",children:o.jsx("button",{type:"button",onClick:()=>u(M.key),className:"flex w-full items-center justify-start px-2.5 sm:px-4 py-2 text-left oai-text-caption font-semibold text-oai-gray-600 dark:text-oai-gray-300 hover:text-oai-black dark:hover:text-oai-white transition-colors",children:o.jsxs("span",{className:"inline-flex items-center gap-1",children:[o.jsx("span",{children:M.label}),o.jsx("span",{className:"text-oai-gray-400 dark:text-oai-gray-400",children:v?.(M.key)||""})]})})},M.key))})}),o.jsx("tbody",{children:g.map(M=>o.jsxs("tr",{className:`border-b border-oai-gray-100 dark:border-oai-gray-800 last:border-b-0 hover:bg-oai-gray-50/50 dark:hover:bg-oai-gray-800/50 transition-colors ${M.missing?"text-oai-gray-400 dark:text-oai-gray-400":M.future?"text-oai-gray-300 dark:text-oai-gray-600":"text-oai-black dark:text-oai-white"}`,children:[o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-500 dark:text-oai-gray-300 whitespace-nowrap",children:D?D(M):k(M)}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm font-medium text-oai-black dark:text-oai-white tabular-nums",children:_(M,"total_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:_(M,"input_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:_(M,"output_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:_(M,"cached_input_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:_(M,"reasoning_output_tokens")}),o.jsx("td",{className:"px-2.5 sm:px-4 py-2 oai-text-body-sm text-oai-gray-600 dark:text-oai-gray-300 tabular-nums",children:_(M,"conversation_count")})]},String(M?.[b]||M?.day||M?.hour||M?.month||"")))})]})}),L!=="daily"&&S.has(A)&&j>1?o.jsxs("div",{className:"mt-3 flex items-center justify-between oai-text-caption",children:[o.jsx("button",{type:"button",onClick:()=>F(M=>Math.max(0,M-1)),disabled:C===0,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:a("details.pagination.prev")}),o.jsxs("span",{className:"oai-text-muted",children:[C+1," / ",j]}),o.jsx("button",{type:"button",onClick:()=>F(M=>Math.min(j-1,M+1)),disabled:C+1>=j,className:"px-3 py-1.5 text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 rounded-md disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:a("details.pagination.next")})]}):null]})]})}function $n(e){return typeof e!="string"?"":e.trim()}function Er(e){const t=$n(e);return t?t.split(/[_\-\s]+/).filter(Boolean).map(n=>n.slice(0,1).toUpperCase()+n.slice(1).toLowerCase()).join(" "):""}function Xc(e){if(!Array.isArray(e))return[];const t=new Map;for(const n of e){if(!n||typeof n!="object")continue;const a=$n(n.tool),r=$n(n.planType)||$n(n.plan_type);if(!a||!r)continue;const s=Er(a)||a,l=Er(r)||r;t.set(`${a.toLowerCase()}::${r.toLowerCase()}`,{tool:s,plan:l})}return Array.from(t.values())}function Qc({rankLabel:e,streakDays:t,subscriptions:n=[],periodConversations:a,rolling:r,topModels:s=[],className:l=""}){const i=y("shared.placeholder.short"),c=y("shared.unit.percent"),d=e??y("identity_card.rank_placeholder"),u=Number.isFinite(Number(t))?Number(t):0,f=u?y("identity_card.streak_value",{days:u}):y("identity_card.rank_placeholder"),h=Xc(n),g={thousandSuffix:y("shared.unit.thousand_abbrev"),millionSuffix:y("shared.unit.million_abbrev"),billionSuffix:y("shared.unit.billion_abbrev")},p=b=>{if(b==null)return i;const w=Ae(b,g);return w==="-"?i:w},x={last7d:y("stats.period.last_7d"),last30d:y("stats.period.last_30d"),avg:y("stats.period.avg"),convs:y("stats.period.convs")},v=s.slice(0,3);return o.jsxs(vt,{className:`h-full ${l}`,children:[o.jsxs("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-2",children:[o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(r?.last_7d?.totals?.billable_total_tokens)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:x.last7d})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(r?.last_30d?.totals?.billable_total_tokens)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:x.last30d})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(r?.last_30d?.avg_per_active_day)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:x.avg})]}),o.jsxs("div",{className:"flex flex-col items-center justify-center px-2 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 rounded-lg",children:[o.jsx("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums",children:p(a)}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400 mt-0.5 whitespace-nowrap",children:x.convs})]})]}),v.length>0&&o.jsx("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800",children:v.map((b,w)=>{const k=b?.name?String(b.name):i,D=b?.percent?String(b.percent):"",_=w===v.length-1,S=w+1;return o.jsxs("div",{className:`flex items-center py-2 ${_?"":"border-b border-oai-gray-50 dark:border-oai-gray-800"}`,children:[o.jsx("span",{className:"w-5 h-5 flex items-center justify-center rounded-full bg-oai-gray-100 dark:bg-oai-gray-800 text-[10px] font-semibold text-oai-gray-500 dark:text-oai-gray-300 flex-shrink-0",children:S}),o.jsx("span",{className:"flex-1 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate px-2.5",title:k,children:k}),o.jsxs("span",{className:"text-sm font-semibold text-oai-black dark:text-oai-white tabular-nums flex-shrink-0",children:[D,c]})]},b.id||k)})}),h.length>0&&o.jsx("div",{className:"mt-3 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex flex-wrap gap-1.5",children:h.map((b,w)=>o.jsxs(sc,{variant:"secondary",size:"sm",children:[b.tool," ",b.plan]},`${b.tool}:${b.plan}:${w}`))}),o.jsxs("div",{className:"mt-4 pt-3 border-t border-oai-gray-100 dark:border-oai-gray-800 flex items-center justify-between text-xs text-oai-gray-400 dark:text-oai-gray-400",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("span",{children:y("identity_card.rank_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:d})]}),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx("span",{children:y("identity_card.streak_label")}),o.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-300 tabular-nums",children:f})]})]})]})}function Jc(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Zc={},fn={};function $t(e,t){try{const a=(Zc[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return a in fn?fn[a]:Ar(a,a.split(":"))}catch{if(e in fn)return fn[e];const n=e?.match(ed);return n?Ar(e,n.slice(1)):NaN}}const ed=/([+-]\d\d):?(\d\d)?/;function Ar(e,t){const n=+(t[0]||0),a=+(t[1]||0),r=+(t[2]||0)/60;return fn[e]=n*60+a>0?n*60+a+r:n*60-a-r}class ot extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN($t(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)),zo(this),Pa(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new ot(...n,t):new ot(Date.now(),t)}withTimeZone(t){return new ot(+this,t)}getTimezoneOffset(){const t=-$t(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Pa(this),+this}[Symbol.for("constructDateFrom")](t){return new ot(+new Date(t),this.timeZone)}}const Fr=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Fr.test(e))return;const t=e.replace(Fr,"$1UTC");ot.prototype[t]&&(e.startsWith("get")?ot.prototype[e]=function(){return this.internal[t]()}:(ot.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),td(this),+this},ot.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Pa(this),+this}))});function Pa(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-$t(e.timeZone,e)*60))}function td(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()),zo(e)}function zo(e){const t=$t(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);const r=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),l=r-s,i=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();l&&i&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+l);const c=r-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);const d=new Date(+e);d.setUTCSeconds(0);const u=r>0?d.getSeconds():(d.getSeconds()-60)%60,f=Math.round(-($t(e.timeZone,e)*60))%60;(f||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+f),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+f+u));const h=$t(e.timeZone,e),g=h>0?Math.floor(h):Math.ceil(h),x=-new Date(+e).getTimezoneOffset()-g,v=g!==n,b=x-c;if(v&&b){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+b);const w=$t(e.timeZone,e),k=w>0?Math.floor(w):Math.ceil(w),D=g-k;D&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+D),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+D))}}class Pe extends ot{static tz(t,...n){return n.length?new Pe(...n,t):new Pe(Date.now(),t)}toISOString(){const[t,n,a]=this.tzComponents(),r=`${t}${n}:${a}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,a,r]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${a} ${n} ${r}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,a,r]=this.tzComponents();return`${t} GMT${n}${a}${r} (${Jc(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",a=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),r=String(Math.abs(t)%60).padStart(2,"0");return[n,a,r]}withTimeZone(t){return new Pe(+this,t)}[Symbol.for("constructDateFrom")](t){return new Pe(+new Date(t),this.timeZone)}}const Ho=6048e5,nd=864e5,$r=Symbol.for("constructDateFrom");function Se(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&$r in e?e[$r](t):e instanceof Date?new e.constructor(t):new Date(t)}function fe(e,t){return Se(t||e,e)}function Uo(e,t,n){const a=fe(e,n?.in);return isNaN(t)?Se(e,NaN):(t&&a.setDate(a.getDate()+t),a)}function Vo(e,t,n){const a=fe(e,n?.in);if(isNaN(t))return Se(e,NaN);if(!t)return a;const r=a.getDate(),s=Se(e,a.getTime());s.setMonth(a.getMonth()+t+1,0);const l=s.getDate();return r>=l?s:(a.setFullYear(s.getFullYear(),s.getMonth(),r),a)}let ad={};function gn(){return ad}function Nt(e,t){const n=gn(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=fe(e,t?.in),s=r.getDay(),l=(s<a?7:0)+s-a;return r.setDate(r.getDate()-l),r.setHours(0,0,0,0),r}function mn(e,t){return Nt(e,{...t,weekStartsOn:1})}function qo(e,t){const n=fe(e,t?.in),a=n.getFullYear(),r=Se(n,0);r.setFullYear(a+1,0,4),r.setHours(0,0,0,0);const s=mn(r),l=Se(n,0);l.setFullYear(a,0,4),l.setHours(0,0,0,0);const i=mn(l);return n.getTime()>=s.getTime()?a+1:n.getTime()>=i.getTime()?a:a-1}function Ir(e){const t=fe(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 Bt(e,...t){const n=Se.bind(null,e||t.find(a=>typeof a=="object"));return t.map(n)}function hn(e,t){const n=fe(e,t?.in);return n.setHours(0,0,0,0),n}function Ya(e,t,n){const[a,r]=Bt(n?.in,e,t),s=hn(a),l=hn(r),i=+s-Ir(s),c=+l-Ir(l);return Math.round((i-c)/nd)}function rd(e,t){const n=qo(e,t),a=Se(e,0);return a.setFullYear(n,0,4),a.setHours(0,0,0,0),mn(a)}function od(e,t,n){return Uo(e,t*7,n)}function sd(e,t,n){return Vo(e,t*12,n)}function id(e,t){let n,a=t?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=Se.bind(null,r));const s=fe(r,a);(!n||n<s||isNaN(+s))&&(n=s)}),Se(a,n||NaN)}function ld(e,t){let n,a=t?.in;return e.forEach(r=>{!a&&typeof r=="object"&&(a=Se.bind(null,r));const s=fe(r,a);(!n||n>s||isNaN(+s))&&(n=s)}),Se(a,n||NaN)}function cd(e,t,n){const[a,r]=Bt(n?.in,e,t);return+hn(a)==+hn(r)}function Go(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function dd(e){return!(!Go(e)&&typeof e!="number"||isNaN(+fe(e)))}function Ko(e,t,n){const[a,r]=Bt(n?.in,e,t),s=a.getFullYear()-r.getFullYear(),l=a.getMonth()-r.getMonth();return s*12+l}function ud(e,t){const n=fe(e,t?.in),a=n.getMonth();return n.setFullYear(n.getFullYear(),a+1,0),n.setHours(23,59,59,999),n}function Xo(e,t){const[n,a]=Bt(e,t.start,t.end);return{start:n,end:a}}function fd(e,t){const{start:n,end:a}=Xo(t?.in,e);let r=+n>+a;const s=r?+n:+a,l=r?a:n;l.setHours(0,0,0,0),l.setDate(1);let i=1;const c=[];for(;+l<=s;)c.push(Se(n,l)),l.setMonth(l.getMonth()+i);return r?c.reverse():c}function md(e,t){const n=fe(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function hd(e,t){const n=fe(e,t?.in),a=n.getFullYear();return n.setFullYear(a+1,0,0),n.setHours(23,59,59,999),n}function Qo(e,t){const n=fe(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function gd(e,t){const{start:n,end:a}=Xo(t?.in,e);let r=+n>+a;const s=r?+n:+a,l=r?a:n;l.setHours(0,0,0,0),l.setMonth(0,1);let i=1;const c=[];for(;+l<=s;)c.push(Se(n,l)),l.setFullYear(l.getFullYear()+i);return r?c.reverse():c}function Jo(e,t){const n=gn(),a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,r=fe(e,t?.in),s=r.getDay(),l=(s<a?-7:0)+6-(s-a);return r.setDate(r.getDate()+l),r.setHours(23,59,59,999),r}function yd(e,t){return Jo(e,{...t,weekStartsOn:1})}const pd={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"}},bd=(e,t,n)=>{let a;const r=pd[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+a:a+" ago":a};function Fe(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const xd={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},kd={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},wd={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},vd={date:Fe({formats:xd,defaultWidth:"full"}),time:Fe({formats:kd,defaultWidth:"full"}),dateTime:Fe({formats:wd,defaultWidth:"full"})},_d={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Nd=(e,t,n,a)=>_d[e];function be(e){return(t,n)=>{const a=n?.context?String(n.context):"standalone";let r;if(a==="formatting"&&e.formattingValues){const l=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):l;r=e.formattingValues[i]||e.formattingValues[l]}else{const l=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;r=e.values[i]||e.values[l]}const s=e.argumentCallback?e.argumentCallback(t):t;return r[s]}}const Sd={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},jd={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Md={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"]},Dd={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"]},Cd={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"}},Td={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"}},Pd=(e,t)=>{const n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Od={ordinalNumber:Pd,era:be({values:Sd,defaultWidth:"wide"}),quarter:be({values:jd,defaultWidth:"wide",argumentCallback:e=>e-1}),month:be({values:Md,defaultWidth:"wide"}),day:be({values:Dd,defaultWidth:"wide"}),dayPeriod:be({values:Cd,defaultWidth:"wide",formattingValues:Td,defaultFormattingWidth:"wide"})};function xe(e){return(t,n={})=>{const a=n.width,r=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],s=t.match(r);if(!s)return null;const l=s[0],i=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(i)?Ed(i,f=>f.test(l)):Wd(i,f=>f.test(l));let d;d=e.valueCallback?e.valueCallback(c):c,d=n.valueCallback?n.valueCallback(d):d;const u=t.slice(l.length);return{value:d,rest:u}}}function Wd(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Ed(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function yn(e){return(t,n={})=>{const a=t.match(e.matchPattern);if(!a)return null;const r=a[0],s=t.match(e.parsePattern);if(!s)return null;let l=e.valueCallback?e.valueCallback(s[0]):s[0];l=n.valueCallback?n.valueCallback(l):l;const i=t.slice(r.length);return{value:l,rest:i}}}const Ad=/^(\d+)(th|st|nd|rd)?/i,Fd=/\d+/i,$d={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},Id={any:[/^b/i,/^(a|c)/i]},Ld={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Rd={any:[/1/i,/2/i,/3/i,/4/i]},Bd={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},Yd={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]},zd={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},Hd={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]},Ud={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},Vd={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}},qd={ordinalNumber:yn({matchPattern:Ad,parsePattern:Fd,valueCallback:e=>parseInt(e,10)}),era:xe({matchPatterns:$d,defaultMatchWidth:"wide",parsePatterns:Id,defaultParseWidth:"any"}),quarter:xe({matchPatterns:Ld,defaultMatchWidth:"wide",parsePatterns:Rd,defaultParseWidth:"any",valueCallback:e=>e+1}),month:xe({matchPatterns:Bd,defaultMatchWidth:"wide",parsePatterns:Yd,defaultParseWidth:"any"}),day:xe({matchPatterns:zd,defaultMatchWidth:"wide",parsePatterns:Hd,defaultParseWidth:"any"}),dayPeriod:xe({matchPatterns:Ud,defaultMatchWidth:"any",parsePatterns:Vd,defaultParseWidth:"any"})},_t={code:"en-US",formatDistance:bd,formatLong:vd,formatRelative:Nd,localize:Od,match:qd,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Gd(e,t){const n=fe(e,t?.in);return Ya(n,Qo(n))+1}function za(e,t){const n=fe(e,t?.in),a=+mn(n)-+rd(n);return Math.round(a/Ho)+1}function Zo(e,t){const n=fe(e,t?.in),a=n.getFullYear(),r=gn(),s=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,l=Se(t?.in||e,0);l.setFullYear(a+1,0,s),l.setHours(0,0,0,0);const i=Nt(l,t),c=Se(t?.in||e,0);c.setFullYear(a,0,s),c.setHours(0,0,0,0);const d=Nt(c,t);return+n>=+i?a+1:+n>=+d?a:a-1}function Kd(e,t){const n=gn(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,r=Zo(e,t),s=Se(t?.in||e,0);return s.setFullYear(r,0,a),s.setHours(0,0,0,0),Nt(s,t)}function Ha(e,t){const n=fe(e,t?.in),a=+Nt(n,t)-+Kd(n,t);return Math.round(a/Ho)+1}function ue(e,t){const n=e<0?"-":"",a=Math.abs(e).toString().padStart(t,"0");return n+a}const xt={y(e,t){const n=e.getFullYear(),a=n>0?n:1-n;return ue(t==="yy"?a%100:a,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):ue(n+1,2)},d(e,t){return ue(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 ue(e.getHours()%12||12,t.length)},H(e,t){return ue(e.getHours(),t.length)},m(e,t){return ue(e.getMinutes(),t.length)},s(e,t){return ue(e.getSeconds(),t.length)},S(e,t){const n=t.length,a=e.getMilliseconds(),r=Math.trunc(a*Math.pow(10,n-3));return ue(r,t.length)}},Gt={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Lr={G:function(e,t,n){const a=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(a,{width:"abbreviated"});case"GGGGG":return n.era(a,{width:"narrow"});default:return n.era(a,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const a=e.getFullYear(),r=a>0?a:1-a;return n.ordinalNumber(r,{unit:"year"})}return xt.y(e,t)},Y:function(e,t,n,a){const r=Zo(e,a),s=r>0?r:1-r;if(t==="YY"){const l=s%100;return ue(l,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):ue(s,t.length)},R:function(e,t){const n=qo(e);return ue(n,t.length)},u:function(e,t){const n=e.getFullYear();return ue(n,t.length)},Q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(a);case"QQ":return ue(a,2);case"Qo":return n.ordinalNumber(a,{unit:"quarter"});case"QQQ":return n.quarter(a,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(a,{width:"narrow",context:"formatting"});default:return n.quarter(a,{width:"wide",context:"formatting"})}},q:function(e,t,n){const a=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(a);case"qq":return ue(a,2);case"qo":return n.ordinalNumber(a,{unit:"quarter"});case"qqq":return n.quarter(a,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(a,{width:"narrow",context:"standalone"});default:return n.quarter(a,{width:"wide",context:"standalone"})}},M:function(e,t,n){const a=e.getMonth();switch(t){case"M":case"MM":return xt.M(e,t);case"Mo":return n.ordinalNumber(a+1,{unit:"month"});case"MMM":return n.month(a,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(a,{width:"narrow",context:"formatting"});default:return n.month(a,{width:"wide",context:"formatting"})}},L:function(e,t,n){const a=e.getMonth();switch(t){case"L":return String(a+1);case"LL":return ue(a+1,2);case"Lo":return n.ordinalNumber(a+1,{unit:"month"});case"LLL":return n.month(a,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(a,{width:"narrow",context:"standalone"});default:return n.month(a,{width:"wide",context:"standalone"})}},w:function(e,t,n,a){const r=Ha(e,a);return t==="wo"?n.ordinalNumber(r,{unit:"week"}):ue(r,t.length)},I:function(e,t,n){const a=za(e);return t==="Io"?n.ordinalNumber(a,{unit:"week"}):ue(a,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):xt.d(e,t)},D:function(e,t,n){const a=Gd(e);return t==="Do"?n.ordinalNumber(a,{unit:"dayOfYear"}):ue(a,t.length)},E:function(e,t,n){const a=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(a,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(a,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},e:function(e,t,n,a){const r=e.getDay(),s=(r-a.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return ue(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,n,a){const r=e.getDay(),s=(r-a.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return ue(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(r,{width:"narrow",context:"standalone"});case"cccccc":return n.day(r,{width:"short",context:"standalone"});default:return n.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,n){const a=e.getDay(),r=a===0?7:a;switch(t){case"i":return String(r);case"ii":return ue(r,t.length);case"io":return n.ordinalNumber(r,{unit:"day"});case"iii":return n.day(a,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(a,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},a:function(e,t,n){const r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){const a=e.getHours();let r;switch(a===12?r=Gt.noon:a===0?r=Gt.midnight:r=a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){const a=e.getHours();let r;switch(a>=17?r=Gt.evening:a>=12?r=Gt.afternoon:a>=4?r=Gt.morning:r=Gt.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let a=e.getHours()%12;return a===0&&(a=12),n.ordinalNumber(a,{unit:"hour"})}return xt.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):xt.H(e,t)},K:function(e,t,n){const a=e.getHours()%12;return t==="Ko"?n.ordinalNumber(a,{unit:"hour"}):ue(a,t.length)},k:function(e,t,n){let a=e.getHours();return a===0&&(a=24),t==="ko"?n.ordinalNumber(a,{unit:"hour"}):ue(a,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):xt.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):xt.s(e,t)},S:function(e,t){return xt.S(e,t)},X:function(e,t,n){const a=e.getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return Br(a);case"XXXX":case"XX":return At(a);default:return At(a,":")}},x:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"x":return Br(a);case"xxxx":case"xx":return At(a);default:return At(a,":")}},O:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Rr(a,":");default:return"GMT"+At(a,":")}},z:function(e,t,n){const a=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Rr(a,":");default:return"GMT"+At(a,":")}},t:function(e,t,n){const a=Math.trunc(+e/1e3);return ue(a,t.length)},T:function(e,t,n){return ue(+e,t.length)}};function Rr(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=Math.trunc(a/60),s=a%60;return s===0?n+String(r):n+String(r)+t+ue(s,2)}function Br(e,t){return e%60===0?(e>0?"-":"+")+ue(Math.abs(e)/60,2):At(e,t)}function At(e,t=""){const n=e>0?"-":"+",a=Math.abs(e),r=ue(Math.trunc(a/60),2),s=ue(a%60,2);return n+r+t+s}const Yr=(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"})}},es=(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"})}},Xd=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],a=n[1],r=n[2];if(!r)return Yr(e,t);let s;switch(a){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",Yr(a,t)).replace("{{time}}",es(r,t))},Qd={p:es,P:Xd},Jd=/^D+$/,Zd=/^Y+$/,eu=["D","DD","YY","YYYY"];function tu(e){return Jd.test(e)}function nu(e){return Zd.test(e)}function au(e,t,n){const a=ru(e,t,n);if(console.warn(a),eu.includes(e))throw new RangeError(a)}function ru(e,t,n){const a=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const ou=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,su=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,iu=/^'([^]*?)'?$/,lu=/''/g,cu=/[a-zA-Z]/;function st(e,t,n){const a=gn(),r=n?.locale??a.locale??_t,s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,l=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??a.weekStartsOn??a.locale?.options?.weekStartsOn??0,i=fe(e,n?.in);if(!dd(i))throw new RangeError("Invalid time value");let c=t.match(su).map(u=>{const f=u[0];if(f==="p"||f==="P"){const h=Qd[f];return h(u,r.formatLong)}return u}).join("").match(ou).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const f=u[0];if(f==="'")return{isToken:!1,value:du(u)};if(Lr[f])return{isToken:!0,value:u};if(f.match(cu))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");return{isToken:!1,value:u}});r.localize.preprocessor&&(c=r.localize.preprocessor(i,c));const d={firstWeekContainsDate:s,weekStartsOn:l,locale:r};return c.map(u=>{if(!u.isToken)return u.value;const f=u.value;(!n?.useAdditionalWeekYearTokens&&nu(f)||!n?.useAdditionalDayOfYearTokens&&tu(f))&&au(f,t,String(e));const h=Lr[f[0]];return h(i,f,r.localize,d)}).join("")}function du(e){const t=e.match(iu);return t?t[1].replace(lu,"'"):e}function uu(e,t){const n=fe(e,t?.in),a=n.getFullYear(),r=n.getMonth(),s=Se(n,0);return s.setFullYear(a,r+1,0),s.setHours(0,0,0,0),s.getDate()}function fu(e,t){return fe(e,t?.in).getMonth()}function mu(e,t){return fe(e,t?.in).getFullYear()}function hu(e,t){return+fe(e)>+fe(t)}function gu(e,t){return+fe(e)<+fe(t)}function yu(e,t,n){const[a,r]=Bt(n?.in,e,t);return+Nt(a,n)==+Nt(r,n)}function pu(e,t,n){const[a,r]=Bt(n?.in,e,t);return a.getFullYear()===r.getFullYear()&&a.getMonth()===r.getMonth()}function bu(e,t,n){const[a,r]=Bt(n?.in,e,t);return a.getFullYear()===r.getFullYear()}function xu(e,t,n){const a=fe(e,n?.in),r=a.getFullYear(),s=a.getDate(),l=Se(e,0);l.setFullYear(r,t,15),l.setHours(0,0,0,0);const i=uu(l);return a.setMonth(t,Math.min(s,i)),a}function ku(e,t,n){const a=fe(e,n?.in);return isNaN(+a)?Se(e,NaN):(a.setFullYear(t),a)}const zr=5,wu=4;function vu(e,t){const n=t.startOfMonth(e),a=n.getDay()>0?n.getDay():7,r=t.addDays(e,-a+1),s=t.addDays(r,zr*7-1);return t.getMonth(e)===t.getMonth(s)?zr:wu}function ts(e,t){const n=t.startOfMonth(e),a=n.getDay();return a===1?n:a===0?t.addDays(n,-6):t.addDays(n,-1*(a-1))}function _u(e,t){const n=ts(e,t),a=vu(e,t);return t.addDays(n,a*7-1)}const Nu={lessThanXSeconds:{one:"1秒未満",other:"{{count}}秒未満",oneWithSuffix:"約1秒",otherWithSuffix:"約{{count}}秒"},xSeconds:{one:"1秒",other:"{{count}}秒"},halfAMinute:"30秒",lessThanXMinutes:{one:"1分未満",other:"{{count}}分未満",oneWithSuffix:"約1分",otherWithSuffix:"約{{count}}分"},xMinutes:{one:"1分",other:"{{count}}分"},aboutXHours:{one:"約1時間",other:"約{{count}}時間"},xHours:{one:"1時間",other:"{{count}}時間"},xDays:{one:"1日",other:"{{count}}日"},aboutXWeeks:{one:"約1週間",other:"約{{count}}週間"},xWeeks:{one:"1週間",other:"{{count}}週間"},aboutXMonths:{one:"約1か月",other:"約{{count}}か月"},xMonths:{one:"1か月",other:"{{count}}か月"},aboutXYears:{one:"約1年",other:"約{{count}}年"},xYears:{one:"1年",other:"{{count}}年"},overXYears:{one:"1年以上",other:"{{count}}年以上"},almostXYears:{one:"1年近く",other:"{{count}}年近く"}},Su=(e,t,n)=>{n=n||{};let a;const r=Nu[e];return typeof r=="string"?a=r:t===1?n.addSuffix&&r.oneWithSuffix?a=r.oneWithSuffix:a=r.one:n.addSuffix&&r.otherWithSuffix?a=r.otherWithSuffix.replace("{{count}}",String(t)):a=r.other.replace("{{count}}",String(t)),n.addSuffix?n.comparison&&n.comparison>0?a+"後":a+"前":a},ju={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},Mu={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Du={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Cu={date:Fe({formats:ju,defaultWidth:"full"}),time:Fe({formats:Mu,defaultWidth:"full"}),dateTime:Fe({formats:Du,defaultWidth:"full"})},Tu={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},Pu=(e,t,n,a)=>Tu[e],Ou={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},Wu={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},Eu={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"]},Au={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},Fu={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},$u={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},Iu=(e,t)=>{const n=Number(e);switch(String(t?.unit)){case"year":return`${n}年`;case"quarter":return`第${n}四半期`;case"month":return`${n}月`;case"week":return`第${n}週`;case"date":return`${n}日`;case"hour":return`${n}時`;case"minute":return`${n}分`;case"second":return`${n}秒`;default:return`${n}`}},Lu={ordinalNumber:Iu,era:be({values:Ou,defaultWidth:"wide"}),quarter:be({values:Wu,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:be({values:Eu,defaultWidth:"wide"}),day:be({values:Au,defaultWidth:"wide"}),dayPeriod:be({values:Fu,defaultWidth:"wide",formattingValues:$u,defaultFormattingWidth:"wide"})},Ru=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,Bu=/\d+/i,Yu={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},zu={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},Hu={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},Uu={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Vu={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},qu={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Gu={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Ku={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},Xu={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Qu={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Ju={ordinalNumber:yn({matchPattern:Ru,parsePattern:Bu,valueCallback:function(e){return parseInt(e,10)}}),era:xe({matchPatterns:Yu,defaultMatchWidth:"wide",parsePatterns:zu,defaultParseWidth:"any"}),quarter:xe({matchPatterns:Hu,defaultMatchWidth:"wide",parsePatterns:Uu,defaultParseWidth:"any",valueCallback:e=>e+1}),month:xe({matchPatterns:Vu,defaultMatchWidth:"wide",parsePatterns:qu,defaultParseWidth:"any"}),day:xe({matchPatterns:Gu,defaultMatchWidth:"wide",parsePatterns:Ku,defaultParseWidth:"any"}),dayPeriod:xe({matchPatterns:Xu,defaultMatchWidth:"any",parsePatterns:Qu,defaultParseWidth:"any"})},Zu={code:"ja",formatDistance:Su,formatLong:Cu,formatRelative:Pu,localize:Lu,match:Ju,options:{weekStartsOn:0,firstWeekContainsDate:1}},ef={lessThanXSeconds:{one:"1초 미만",other:"{{count}}초 미만"},xSeconds:{one:"1초",other:"{{count}}초"},halfAMinute:"30초",lessThanXMinutes:{one:"1분 미만",other:"{{count}}분 미만"},xMinutes:{one:"1분",other:"{{count}}분"},aboutXHours:{one:"약 1시간",other:"약 {{count}}시간"},xHours:{one:"1시간",other:"{{count}}시간"},xDays:{one:"1일",other:"{{count}}일"},aboutXWeeks:{one:"약 1주",other:"약 {{count}}주"},xWeeks:{one:"1주",other:"{{count}}주"},aboutXMonths:{one:"약 1개월",other:"약 {{count}}개월"},xMonths:{one:"1개월",other:"{{count}}개월"},aboutXYears:{one:"약 1년",other:"약 {{count}}년"},xYears:{one:"1년",other:"{{count}}년"},overXYears:{one:"1년 이상",other:"{{count}}년 이상"},almostXYears:{one:"거의 1년",other:"거의 {{count}}년"}},tf=(e,t,n)=>{let a;const r=ef[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?a+" 후":a+" 전":a},nf={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},af={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},rf={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},of={date:Fe({formats:nf,defaultWidth:"full"}),time:Fe({formats:af,defaultWidth:"full"}),dateTime:Fe({formats:rf,defaultWidth:"full"})},sf={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},lf=(e,t,n,a)=>sf[e],cf={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},df={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},uf={narrow:["1","2","3","4","5","6","7","8","9","10","11","12"],abbreviated:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],wide:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},ff={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},mf={narrow:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},abbreviated:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},wide:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"}},hf={narrow:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},abbreviated:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},wide:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"}},gf=(e,t)=>{const n=Number(e);switch(String(t?.unit)){case"minute":case"second":return String(n);case"date":return n+"일";default:return n+"번째"}},yf={ordinalNumber:gf,era:be({values:cf,defaultWidth:"wide"}),quarter:be({values:df,defaultWidth:"wide",argumentCallback:e=>e-1}),month:be({values:uf,defaultWidth:"wide"}),day:be({values:ff,defaultWidth:"wide"}),dayPeriod:be({values:mf,defaultWidth:"wide",formattingValues:hf,defaultFormattingWidth:"wide"})},pf=/^(\d+)(일|번째)?/i,bf=/\d+/i,xf={narrow:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(기원전|서기)/i},kf={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},wf={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},vf={any:[/1/i,/2/i,/3/i,/4/i]},_f={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},Nf={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Sf={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},jf={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},Mf={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},Df={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},Cf={ordinalNumber:yn({matchPattern:pf,parsePattern:bf,valueCallback:e=>parseInt(e,10)}),era:xe({matchPatterns:xf,defaultMatchWidth:"wide",parsePatterns:kf,defaultParseWidth:"any"}),quarter:xe({matchPatterns:wf,defaultMatchWidth:"wide",parsePatterns:vf,defaultParseWidth:"any",valueCallback:e=>e+1}),month:xe({matchPatterns:_f,defaultMatchWidth:"wide",parsePatterns:Nf,defaultParseWidth:"any"}),day:xe({matchPatterns:Sf,defaultMatchWidth:"wide",parsePatterns:jf,defaultParseWidth:"any"}),dayPeriod:xe({matchPatterns:Mf,defaultMatchWidth:"any",parsePatterns:Df,defaultParseWidth:"any"})},Tf={code:"ko",formatDistance:tf,formatLong:of,formatRelative:lf,localize:yf,match:Cf,options:{weekStartsOn:0,firstWeekContainsDate:1}},Pf={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},Of=(e,t,n)=>{let a;const r=Pf[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?a+"内":a+"前":a},Wf={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},Ef={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},Af={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Ff={date:Fe({formats:Wf,defaultWidth:"full"}),time:Fe({formats:Ef,defaultWidth:"full"}),dateTime:Fe({formats:Af,defaultWidth:"full"})};function Hr(e,t,n){const a="eeee p";return yu(e,t,n)?a:e.getTime()>t.getTime()?"'下个'"+a:"'上个'"+a}const $f={lastWeek:Hr,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:Hr,other:"PP p"},If=(e,t,n,a)=>{const r=$f[e];return typeof r=="function"?r(t,n,a):r},Lf={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},Rf={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},Bf={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},Yf={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zf={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Hf={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Uf=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n.toString()+"日";case"hour":return n.toString()+"时";case"minute":return n.toString()+"分";case"second":return n.toString()+"秒";default:return"第 "+n.toString()}},Vf={ordinalNumber:Uf,era:be({values:Lf,defaultWidth:"wide"}),quarter:be({values:Rf,defaultWidth:"wide",argumentCallback:e=>e-1}),month:be({values:Bf,defaultWidth:"wide"}),day:be({values:Yf,defaultWidth:"wide"}),dayPeriod:be({values:zf,defaultWidth:"wide",formattingValues:Hf,defaultFormattingWidth:"wide"})},qf=/^(第\s*)?\d+(日|时|分|秒)?/i,Gf=/\d+/i,Kf={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Xf={any:[/^(前)/i,/^(公元)/i]},Qf={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Jf={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Zf={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},em={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^(一|1(?!\d))/i,/^(二|2)/i,/^(三|3)/i,/^(四|4)/i,/^(五|5)/i,/^(六|6)/i,/^(七|7)/i,/^(八|8)/i,/^(九|9)/i,/^(十(?!(一|二))|10)/i,/^(十一|11)/i,/^(十二|12)/i]},tm={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},nm={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},am={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},rm={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},om={ordinalNumber:yn({matchPattern:qf,parsePattern:Gf,valueCallback:e=>parseInt(e,10)}),era:xe({matchPatterns:Kf,defaultMatchWidth:"wide",parsePatterns:Xf,defaultParseWidth:"any"}),quarter:xe({matchPatterns:Qf,defaultMatchWidth:"wide",parsePatterns:Jf,defaultParseWidth:"any",valueCallback:e=>e+1}),month:xe({matchPatterns:Zf,defaultMatchWidth:"wide",parsePatterns:em,defaultParseWidth:"any"}),day:xe({matchPatterns:tm,defaultMatchWidth:"wide",parsePatterns:nm,defaultParseWidth:"any"}),dayPeriod:xe({matchPatterns:am,defaultMatchWidth:"any",parsePatterns:rm,defaultParseWidth:"any"})},sm={code:"zh-CN",formatDistance:Of,formatLong:Ff,formatRelative:If,localize:Vf,match:om,options:{weekStartsOn:1,firstWeekContainsDate:4}},im={lessThanXSeconds:{one:"少於 1 秒",other:"少於 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分鐘",lessThanXMinutes:{one:"少於 1 分鐘",other:"少於 {{count}} 分鐘"},xMinutes:{one:"1 分鐘",other:"{{count}} 分鐘"},xHours:{one:"1 小時",other:"{{count}} 小時"},aboutXHours:{one:"大約 1 小時",other:"大約 {{count}} 小時"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大約 1 個星期",other:"大約 {{count}} 個星期"},xWeeks:{one:"1 個星期",other:"{{count}} 個星期"},aboutXMonths:{one:"大約 1 個月",other:"大約 {{count}} 個月"},xMonths:{one:"1 個月",other:"{{count}} 個月"},aboutXYears:{one:"大約 1 年",other:"大約 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超過 1 年",other:"超過 {{count}} 年"},almostXYears:{one:"將近 1 年",other:"將近 {{count}} 年"}},lm=(e,t,n)=>{let a;const r=im[e];return typeof r=="string"?a=r:t===1?a=r.one:a=r.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?a+"內":a+"前":a},cm={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},dm={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},um={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},fm={date:Fe({formats:cm,defaultWidth:"full"}),time:Fe({formats:dm,defaultWidth:"full"}),dateTime:Fe({formats:um,defaultWidth:"full"})},mm={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},hm=(e,t,n,a)=>mm[e],gm={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},ym={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},pm={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},bm={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},xm={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜間"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜間"}},km={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜間"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜間"}},wm=(e,t)=>{const n=Number(e);switch(t?.unit){case"date":return n+"日";case"hour":return n+"時";case"minute":return n+"分";case"second":return n+"秒";default:return"第 "+n}},vm={ordinalNumber:wm,era:be({values:gm,defaultWidth:"wide"}),quarter:be({values:ym,defaultWidth:"wide",argumentCallback:e=>e-1}),month:be({values:pm,defaultWidth:"wide"}),day:be({values:bm,defaultWidth:"wide"}),dayPeriod:be({values:xm,defaultWidth:"wide",formattingValues:km,defaultFormattingWidth:"wide"})},_m=/^(第\s*)?\d+(日|時|分|秒)?/i,Nm=/\d+/i,Sm={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},jm={any:[/^(前)/i,/^(公元)/i]},Mm={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},Dm={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Cm={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Tm={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^(一|1(?!\d))/i,/^(二|2)/i,/^(三|3)/i,/^(四|4)/i,/^(五|5)/i,/^(六|6)/i,/^(七|7)/i,/^(八|8)/i,/^(九|9)/i,/^(十(?!(一|二))|10)/i,/^(十一|11)/i,/^(十二|12)/i]},Pm={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Om={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Wm={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},Em={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Am={ordinalNumber:yn({matchPattern:_m,parsePattern:Nm,valueCallback:e=>parseInt(e,10)}),era:xe({matchPatterns:Sm,defaultMatchWidth:"wide",parsePatterns:jm,defaultParseWidth:"any"}),quarter:xe({matchPatterns:Mm,defaultMatchWidth:"wide",parsePatterns:Dm,defaultParseWidth:"any",valueCallback:e=>e+1}),month:xe({matchPatterns:Cm,defaultMatchWidth:"wide",parsePatterns:Tm,defaultParseWidth:"any"}),day:xe({matchPatterns:Pm,defaultMatchWidth:"wide",parsePatterns:Om,defaultParseWidth:"any"}),dayPeriod:xe({matchPatterns:Wm,defaultMatchWidth:"any",parsePatterns:Em,defaultParseWidth:"any"})},Fm={code:"zh-TW",formatDistance:lm,formatLong:fm,formatRelative:hm,localize:vm,match:Am,options:{weekStartsOn:1,firstWeekContainsDate:4}},ns={..._t,labels:{labelDayButton:(e,t,n,a)=>{let r;a&&typeof a.format=="function"?r=a.format.bind(a):r=(l,i)=>st(l,i,{locale:_t,...n});let s=r(e,"PPPP");return t.today&&(s=`Today, ${s}`),t.selected&&(s=`${s}, selected`),s},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let a;return n&&typeof n.format=="function"?a=n.format.bind(n):a=(r,s)=>st(r,s,{locale:_t,...t}),a(e,"LLLL yyyy")},labelGridcell:(e,t,n,a)=>{let r;a&&typeof a.format=="function"?r=a.format.bind(a):r=(l,i)=>st(l,i,{locale:_t,...n});let s=r(e,"PPPP");return t?.today&&(s=`Today, ${s}`),s},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let a;return n&&typeof n.format=="function"?a=n.format.bind(n):a=(r,s)=>st(r,s,{locale:_t,...t}),a(e,"cccc")}}};class Ye{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?Pe.tz(this.options.timeZone):new this.Date,this.newDate=(a,r,s)=>this.overrides?.newDate?this.overrides.newDate(a,r,s):this.options.timeZone?new Pe(a,r,s,this.options.timeZone):new Date(a,r,s),this.addDays=(a,r)=>this.overrides?.addDays?this.overrides.addDays(a,r):Uo(a,r),this.addMonths=(a,r)=>this.overrides?.addMonths?this.overrides.addMonths(a,r):Vo(a,r),this.addWeeks=(a,r)=>this.overrides?.addWeeks?this.overrides.addWeeks(a,r):od(a,r),this.addYears=(a,r)=>this.overrides?.addYears?this.overrides.addYears(a,r):sd(a,r),this.differenceInCalendarDays=(a,r)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(a,r):Ya(a,r),this.differenceInCalendarMonths=(a,r)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(a,r):Ko(a,r),this.eachMonthOfInterval=a=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(a):fd(a),this.eachYearOfInterval=a=>{const r=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(a):gd(a),s=new Set(r.map(i=>this.getYear(i)));if(s.size===r.length)return r;const l=[];return s.forEach(i=>{l.push(new Date(i,0,1))}),l},this.endOfBroadcastWeek=a=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(a):_u(a,this),this.endOfISOWeek=a=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(a):yd(a),this.endOfMonth=a=>this.overrides?.endOfMonth?this.overrides.endOfMonth(a):ud(a),this.endOfWeek=(a,r)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(a,r):Jo(a,this.options),this.endOfYear=a=>this.overrides?.endOfYear?this.overrides.endOfYear(a):hd(a),this.format=(a,r,s)=>{const l=this.overrides?.format?this.overrides.format(a,r,this.options):st(a,r,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(l):l},this.getISOWeek=a=>this.overrides?.getISOWeek?this.overrides.getISOWeek(a):za(a),this.getMonth=(a,r)=>this.overrides?.getMonth?this.overrides.getMonth(a,this.options):fu(a,this.options),this.getYear=(a,r)=>this.overrides?.getYear?this.overrides.getYear(a,this.options):mu(a,this.options),this.getWeek=(a,r)=>this.overrides?.getWeek?this.overrides.getWeek(a,this.options):Ha(a,this.options),this.isAfter=(a,r)=>this.overrides?.isAfter?this.overrides.isAfter(a,r):hu(a,r),this.isBefore=(a,r)=>this.overrides?.isBefore?this.overrides.isBefore(a,r):gu(a,r),this.isDate=a=>this.overrides?.isDate?this.overrides.isDate(a):Go(a),this.isSameDay=(a,r)=>this.overrides?.isSameDay?this.overrides.isSameDay(a,r):cd(a,r),this.isSameMonth=(a,r)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(a,r):pu(a,r),this.isSameYear=(a,r)=>this.overrides?.isSameYear?this.overrides.isSameYear(a,r):bu(a,r),this.max=a=>this.overrides?.max?this.overrides.max(a):id(a),this.min=a=>this.overrides?.min?this.overrides.min(a):ld(a),this.setMonth=(a,r)=>this.overrides?.setMonth?this.overrides.setMonth(a,r):xu(a,r),this.setYear=(a,r)=>this.overrides?.setYear?this.overrides.setYear(a,r):ku(a,r),this.startOfBroadcastWeek=(a,r)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(a,this):ts(a,this),this.startOfDay=a=>this.overrides?.startOfDay?this.overrides.startOfDay(a):hn(a),this.startOfISOWeek=a=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(a):mn(a),this.startOfMonth=a=>this.overrides?.startOfMonth?this.overrides.startOfMonth(a):md(a),this.startOfWeek=(a,r)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(a,this.options):Nt(a,this.options),this.startOfYear=a=>this.overrides?.startOfYear?this.overrides.startOfYear(a):Qo(a),this.options={locale:ns,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),a={};for(let r=0;r<10;r++)a[r.toString()]=n.format(r);return a}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,a=>n[a]||a)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&Ye.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:a,numerals:r}=this.options,s=n?.code;if(s&&Ye.yearFirstLocales.has(s))try{return new Intl.DateTimeFormat(s,{month:"long",year:"numeric",timeZone:a,numberingSystem:r}).format(t)}catch{}const l=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,l)}}Ye.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const it=new Ye;class as{constructor(t,n,a=it){this.date=t,this.displayMonth=n,this.outside=!!(n&&!a.isSameMonth(t,n)),this.dateLib=a,this.isoDate=a.format(t,"yyyy-MM-dd"),this.displayMonthId=a.format(n,"yyyy-MM"),this.dateMonthId=a.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class $m{constructor(t,n){this.date=t,this.weeks=n}}class Im{constructor(t,n){this.days=n,this.weekNumber=t}}function Lm(e){return P.createElement("button",{...e})}function Rm(e){return P.createElement("span",{...e})}function Bm(e){const{size:t=24,orientation:n="left",className:a}=e;return P.createElement("svg",{className:a,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&P.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&P.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&P.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&P.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Ym(e){const{day:t,modifiers:n,...a}=e;return P.createElement("td",{...a})}function zm(e){const{day:t,modifiers:n,...a}=e,r=P.useRef(null);return P.useEffect(()=>{n.focused&&r.current?.focus()},[n.focused]),P.createElement("button",{ref:r,...a})}var V;(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"})(V||(V={}));var ke;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(ke||(ke={}));var Ze;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Ze||(Ze={}));var Re;(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"})(Re||(Re={}));function Hm(e){const{options:t,className:n,components:a,classNames:r,...s}=e,l=[r[V.Dropdown],n].join(" "),i=t?.find(({value:c})=>c===s.value);return P.createElement("span",{"data-disabled":s.disabled,className:r[V.DropdownRoot]},P.createElement(a.Select,{className:l,...s},t?.map(({value:c,label:d,disabled:u})=>P.createElement(a.Option,{key:c,value:c,disabled:u},d))),P.createElement("span",{className:r[V.CaptionLabel],"aria-hidden":!0},i?.label,P.createElement(a.Chevron,{orientation:"down",size:18,className:r[V.Chevron]})))}function Um(e){return P.createElement("div",{...e})}function Vm(e){return P.createElement("div",{...e})}function qm(e){const{calendarMonth:t,displayIndex:n,...a}=e;return P.createElement("div",{...a},e.children)}function Gm(e){const{calendarMonth:t,displayIndex:n,...a}=e;return P.createElement("div",{...a})}function Km(e){return P.createElement("table",{...e})}function Xm(e){return P.createElement("div",{...e})}const rs=m.createContext(void 0);function pn(){const e=m.useContext(rs);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Qm(e){const{components:t}=pn();return P.createElement(t.Dropdown,{...e})}function Jm(e){const{onPreviousClick:t,onNextClick:n,previousMonth:a,nextMonth:r,...s}=e,{components:l,classNames:i,labels:{labelPrevious:c,labelNext:d}}=pn(),u=m.useCallback(h=>{r&&n?.(h)},[r,n]),f=m.useCallback(h=>{a&&t?.(h)},[a,t]);return P.createElement("nav",{...s},P.createElement(l.PreviousMonthButton,{type:"button",className:i[V.PreviousMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:f},P.createElement(l.Chevron,{disabled:a?void 0:!0,className:i[V.Chevron],orientation:"left"})),P.createElement(l.NextMonthButton,{type:"button",className:i[V.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":d(r),onClick:u},P.createElement(l.Chevron,{disabled:r?void 0:!0,orientation:"right",className:i[V.Chevron]})))}function Zm(e){const{components:t}=pn();return P.createElement(t.Button,{...e})}function eh(e){return P.createElement("option",{...e})}function th(e){const{components:t}=pn();return P.createElement(t.Button,{...e})}function nh(e){const{rootRef:t,...n}=e;return P.createElement("div",{...n,ref:t})}function ah(e){return P.createElement("select",{...e})}function rh(e){const{week:t,...n}=e;return P.createElement("tr",{...n})}function oh(e){return P.createElement("th",{...e})}function sh(e){return P.createElement("thead",{"aria-hidden":!0},P.createElement("tr",{...e}))}function ih(e){const{week:t,...n}=e;return P.createElement("th",{...n})}function lh(e){return P.createElement("th",{...e})}function ch(e){return P.createElement("tbody",{...e})}function dh(e){const{components:t}=pn();return P.createElement(t.Dropdown,{...e})}const uh=Object.freeze(Object.defineProperty({__proto__:null,Button:Lm,CaptionLabel:Rm,Chevron:Bm,Day:Ym,DayButton:zm,Dropdown:Hm,DropdownNav:Um,Footer:Vm,Month:qm,MonthCaption:Gm,MonthGrid:Km,Months:Xm,MonthsDropdown:Qm,Nav:Jm,NextMonthButton:Zm,Option:eh,PreviousMonthButton:th,Root:nh,Select:ah,Week:rh,WeekNumber:ih,WeekNumberHeader:lh,Weekday:oh,Weekdays:sh,Weeks:ch,YearsDropdown:dh},Symbol.toStringTag,{value:"Module"}));function ft(e,t,n=!1,a=it){let{from:r,to:s}=e;const{differenceInCalendarDays:l,isSameDay:i}=a;return r&&s?(l(s,r)<0&&([r,s]=[s,r]),l(t,r)>=(n?1:0)&&l(s,t)>=(n?1:0)):!n&&s?i(s,t):!n&&r?i(r,t):!1}function Ua(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function Un(e){return!!(e&&typeof e=="object"&&"from"in e)}function Va(e){return!!(e&&typeof e=="object"&&"after"in e)}function qa(e){return!!(e&&typeof e=="object"&&"before"in e)}function os(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function ss(e,t){return Array.isArray(e)&&e.every(t.isDate)}function mt(e,t,n=it){const a=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:s,isAfter:l}=n;return a.some(i=>{if(typeof i=="boolean")return i;if(n.isDate(i))return r(e,i);if(ss(i,n))return i.some(c=>r(e,c));if(Un(i))return ft(i,e,!1,n);if(os(i))return Array.isArray(i.dayOfWeek)?i.dayOfWeek.includes(e.getDay()):i.dayOfWeek===e.getDay();if(Ua(i)){const c=s(i.before,e),d=s(i.after,e),u=c>0,f=d<0;return l(i.before,i.after)?f&&u:u||f}return Va(i)?s(e,i.after)>0:qa(i)?s(i.before,e)>0:typeof i=="function"?i(e):!1})}function fh(e,t,n,a,r){const{disabled:s,hidden:l,modifiers:i,showOutsideDays:c,broadcastCalendar:d,today:u=r.today()}=t,{isSameDay:f,isSameMonth:h,startOfMonth:g,isBefore:p,endOfMonth:x,isAfter:v}=r,b=n&&g(n),w=a&&x(a),k={[ke.focused]:[],[ke.outside]:[],[ke.disabled]:[],[ke.hidden]:[],[ke.today]:[]},D={};for(const _ of e){const{date:S,displayMonth:A}=_,j=!!(A&&!h(S,A)),C=!!(b&&p(S,b)),F=!!(w&&v(S,w)),L=!!(s&&mt(S,s,r)),Y=!!(l&&mt(S,l,r))||C||F||!d&&!c&&j||d&&c===!1&&j,M=f(S,u);j&&k.outside.push(_),L&&k.disabled.push(_),Y&&k.hidden.push(_),M&&k.today.push(_),i&&Object.keys(i).forEach(O=>{const z=i?.[O];z&&mt(S,z,r)&&(D[O]?D[O].push(_):D[O]=[_])})}return _=>{const S={[ke.focused]:!1,[ke.disabled]:!1,[ke.hidden]:!1,[ke.outside]:!1,[ke.today]:!1},A={};for(const j in k){const C=k[j];S[j]=C.some(F=>F===_)}for(const j in D)A[j]=D[j].some(C=>C===_);return{...S,...A}}}function mh(e,t,n={}){return Object.entries(e).filter(([,r])=>r===!0).reduce((r,[s])=>(n[s]?r.push(n[s]):t[ke[s]]?r.push(t[ke[s]]):t[Ze[s]]&&r.push(t[Ze[s]]),r),[t[V.Day]])}function hh(e){return{...uh,...e}}function gh(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,a])=>{n.startsWith("data-")&&(t[n]=a)}),t}function yh(){const e={};for(const t in V)e[V[t]]=`rdp-${V[t]}`;for(const t in ke)e[ke[t]]=`rdp-${ke[t]}`;for(const t in Ze)e[Ze[t]]=`rdp-${Ze[t]}`;for(const t in Re)e[Re[t]]=`rdp-${Re[t]}`;return e}function is(e,t,n){return(n??new Ye(t)).formatMonthYear(e)}const ph=is;function bh(e,t,n){return(n??new Ye(t)).format(e,"d")}function xh(e,t=it){return t.format(e,"LLLL")}function kh(e,t,n){return(n??new Ye(t)).format(e,"cccccc")}function wh(e,t=it){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function vh(){return""}function ls(e,t=it){return t.format(e,"yyyy")}const _h=ls,Nh=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:is,formatDay:bh,formatMonthCaption:ph,formatMonthDropdown:xh,formatWeekNumber:wh,formatWeekNumberHeader:vh,formatWeekdayName:kh,formatYearCaption:_h,formatYearDropdown:ls},Symbol.toStringTag,{value:"Module"}));function Sh(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Nh,...e}}function Ga(e,t,n,a){let r=(a??new Ye(n)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}const jh=Ga;function Ka(e,t,n){return(n??new Ye(t)).formatMonthYear(e)}const Mh=Ka;function cs(e,t,n,a){let r=(a??new Ye(n)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function ds(e){return"Choose the Month"}function us(){return""}const Dh="Go to the Next Month";function fs(e,t){return Dh}function ms(e){return"Go to the Previous Month"}function hs(e,t,n){return(n??new Ye(t)).format(e,"cccc")}function gs(e,t){return`Week ${e}`}function ys(e){return"Week Number"}function ps(e){return"Choose the Year"}const Ch=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Mh,labelDay:jh,labelDayButton:Ga,labelGrid:Ka,labelGridcell:cs,labelMonthDropdown:ds,labelNav:us,labelNext:fs,labelPrevious:ms,labelWeekNumber:gs,labelWeekNumberHeader:ys,labelWeekday:hs,labelYearDropdown:ps},Symbol.toStringTag,{value:"Module"})),Je=(e,t,n)=>t||(n?typeof n=="function"?n:(...a)=>n:e);function Th(e,t){const n=t.locale?.labels??{};return{...Ch,...e??{},labelDayButton:Je(Ga,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:Je(ds,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:Je(fs,e?.labelNext,n.labelNext),labelPrevious:Je(ms,e?.labelPrevious,n.labelPrevious),labelWeekNumber:Je(gs,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:Je(ps,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:Je(Ka,e?.labelGrid,n.labelGrid),labelGridcell:Je(cs,e?.labelGridcell,n.labelGridcell),labelNav:Je(us,e?.labelNav,n.labelNav),labelWeekNumberHeader:Je(ys,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:Je(hs,e?.labelWeekday,n.labelWeekday)}}function Ph(e,t,n,a,r){const{startOfMonth:s,startOfYear:l,endOfYear:i,eachMonthOfInterval:c,getMonth:d}=r;return c({start:l(e),end:i(e)}).map(h=>{const g=a.formatMonthDropdown(h,r),p=d(h),x=t&&h<s(t)||n&&h>s(n)||!1;return{value:p,label:g,disabled:x}})}function Oh(e,t={},n={}){let a={...t?.[V.Day]};return Object.entries(e).filter(([,r])=>r===!0).forEach(([r])=>{a={...a,...n?.[r]}}),a}function Wh(e,t,n,a){const r=a??e.today(),s=n?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),l=[];for(let i=0;i<7;i++){const c=e.addDays(s,i);l.push(c)}return l}function Eh(e,t,n,a,r=!1){if(!e||!t)return;const{startOfYear:s,endOfYear:l,eachYearOfInterval:i,getYear:c}=a,d=s(e),u=l(t),f=i({start:d,end:u});return r&&f.reverse(),f.map(h=>{const g=n.formatYearDropdown(h,a);return{value:c(h),label:g,disabled:!1}})}function Ah(e,t={}){const{weekStartsOn:n,locale:a}=t,r=n??a?.options?.weekStartsOn??0,s=i=>{const c=typeof i=="number"||typeof i=="string"?new Date(i):i;return new Pe(c.getFullYear(),c.getMonth(),c.getDate(),12,0,0,e)},l=i=>{const c=s(i);return new Date(c.getFullYear(),c.getMonth(),c.getDate(),0,0,0,0)};return{today:()=>s(Pe.tz(e)),newDate:(i,c,d)=>new Pe(i,c,d,12,0,0,e),startOfDay:i=>s(i),startOfWeek:(i,c)=>{const d=s(i),u=c?.weekStartsOn??r,f=(d.getDay()-u+7)%7;return d.setDate(d.getDate()-f),d},startOfISOWeek:i=>{const c=s(i),d=(c.getDay()-1+7)%7;return c.setDate(c.getDate()-d),c},startOfMonth:i=>{const c=s(i);return c.setDate(1),c},startOfYear:i=>{const c=s(i);return c.setMonth(0,1),c},endOfWeek:(i,c)=>{const d=s(i),h=(((c?.weekStartsOn??r)+6)%7-d.getDay()+7)%7;return d.setDate(d.getDate()+h),d},endOfISOWeek:i=>{const c=s(i),d=(7-c.getDay())%7;return c.setDate(c.getDate()+d),c},endOfMonth:i=>{const c=s(i);return c.setMonth(c.getMonth()+1,0),c},endOfYear:i=>{const c=s(i);return c.setMonth(11,31),c},eachMonthOfInterval:i=>{const c=s(i.start),d=s(i.end),u=[],f=new Pe(c.getFullYear(),c.getMonth(),1,12,0,0,e),h=d.getFullYear()*12+d.getMonth();for(;f.getFullYear()*12+f.getMonth()<=h;)u.push(new Pe(f,e)),f.setMonth(f.getMonth()+1,1);return u},addDays:(i,c)=>{const d=s(i);return d.setDate(d.getDate()+c),d},addWeeks:(i,c)=>{const d=s(i);return d.setDate(d.getDate()+c*7),d},addMonths:(i,c)=>{const d=s(i);return d.setMonth(d.getMonth()+c),d},addYears:(i,c)=>{const d=s(i);return d.setFullYear(d.getFullYear()+c),d},eachYearOfInterval:i=>{const c=s(i.start),d=s(i.end),u=[],f=new Pe(c.getFullYear(),0,1,12,0,0,e);for(;f.getFullYear()<=d.getFullYear();)u.push(new Pe(f,e)),f.setFullYear(f.getFullYear()+1,0,1);return u},getWeek:(i,c)=>{const d=l(i);return Ha(d,{weekStartsOn:c?.weekStartsOn??r,firstWeekContainsDate:c?.firstWeekContainsDate??a?.options?.firstWeekContainsDate??1})},getISOWeek:i=>{const c=l(i);return za(c)},differenceInCalendarDays:(i,c)=>{const d=l(i),u=l(c);return Ya(d,u)},differenceInCalendarMonths:(i,c)=>{const d=l(i),u=l(c);return Ko(d,u)}}}const bn=e=>e instanceof HTMLElement?e:null,fa=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Fh=e=>bn(e.querySelector("[data-animated-month]")),ma=e=>bn(e.querySelector("[data-animated-caption]")),ha=e=>bn(e.querySelector("[data-animated-weeks]")),$h=e=>bn(e.querySelector("[data-animated-nav]")),Ih=e=>bn(e.querySelector("[data-animated-weekdays]"));function Lh(e,t,{classNames:n,months:a,focused:r,dateLib:s}){const l=m.useRef(null),i=m.useRef(a),c=m.useRef(!1);m.useLayoutEffect(()=>{const d=i.current;if(i.current=a,!t||!e.current||!(e.current instanceof HTMLElement)||a.length===0||d.length===0||a.length!==d.length)return;const u=s.isSameMonth(a[0].date,d[0].date),f=s.isAfter(a[0].date,d[0].date),h=f?n[Re.caption_after_enter]:n[Re.caption_before_enter],g=f?n[Re.weeks_after_enter]:n[Re.weeks_before_enter],p=l.current,x=e.current.cloneNode(!0);if(x instanceof HTMLElement?(fa(x).forEach(k=>{if(!(k instanceof HTMLElement))return;const D=Fh(k);D&&k.contains(D)&&k.removeChild(D);const _=ma(k);_&&_.classList.remove(h);const S=ha(k);S&&S.classList.remove(g)}),l.current=x):l.current=null,c.current||u||r)return;const v=p instanceof HTMLElement?fa(p):[],b=fa(e.current);if(b?.every(w=>w instanceof HTMLElement)&&v&&v.every(w=>w instanceof HTMLElement)){c.current=!0,e.current.style.isolation="isolate";const w=$h(e.current);w&&(w.style.zIndex="1"),b.forEach((k,D)=>{const _=v[D];if(!_)return;k.style.position="relative",k.style.overflow="hidden";const S=ma(k);S&&S.classList.add(h);const A=ha(k);A&&A.classList.add(g);const j=()=>{c.current=!1,e.current&&(e.current.style.isolation=""),w&&(w.style.zIndex=""),S&&S.classList.remove(h),A&&A.classList.remove(g),k.style.position="",k.style.overflow="",k.contains(_)&&k.removeChild(_)};_.style.pointerEvents="none",_.style.position="absolute",_.style.overflow="hidden",_.setAttribute("aria-hidden","true");const C=Ih(_);C&&(C.style.opacity="0");const F=ma(_);F&&(F.classList.add(f?n[Re.caption_before_exit]:n[Re.caption_after_exit]),F.addEventListener("animationend",j));const L=ha(_);L&&L.classList.add(f?n[Re.weeks_before_exit]:n[Re.weeks_after_exit]),k.insertBefore(_,k.firstChild)})}})}function Rh(e,t,n,a){const r=e[0],s=e[e.length-1],{ISOWeek:l,fixedWeeks:i,broadcastCalendar:c}=n??{},{addDays:d,differenceInCalendarDays:u,differenceInCalendarMonths:f,endOfBroadcastWeek:h,endOfISOWeek:g,endOfMonth:p,endOfWeek:x,isAfter:v,startOfBroadcastWeek:b,startOfISOWeek:w,startOfWeek:k}=a,D=c?b(r,a):l?w(r):k(r),_=c?h(s):l?g(p(s)):x(p(s)),S=t&&(c?h(t):l?g(t):x(t)),A=S&&v(_,S)?S:_,j=u(A,D),C=f(s,r)+1,F=[];for(let M=0;M<=j;M++){const O=d(D,M);F.push(O)}const Y=(c?35:42)*C;if(i&&F.length<Y){const M=Y-F.length;for(let O=0;O<M;O++){const z=d(F[F.length-1],1);F.push(z)}}return F}function Bh(e){const t=[];return e.reduce((n,a)=>{const r=a.weeks.reduce((s,l)=>s.concat(l.days.slice()),t.slice());return n.concat(r.slice())},t.slice())}function Yh(e,t,n,a){const{numberOfMonths:r=1}=n,s=[];for(let l=0;l<r;l++){const i=a.addMonths(e,l);if(t&&i>t)break;s.push(i)}return s}function Ur(e,t,n,a){const{month:r,defaultMonth:s,today:l=a.today(),numberOfMonths:i=1}=e;let c=r||s||l;const{differenceInCalendarMonths:d,addMonths:u,startOfMonth:f}=a;if(n&&d(n,c)<i-1){const h=-1*(i-1);c=u(n,h)}return t&&d(c,t)<0&&(c=t),f(c)}function zh(e,t,n,a){const{addDays:r,endOfBroadcastWeek:s,endOfISOWeek:l,endOfMonth:i,endOfWeek:c,getISOWeek:d,getWeek:u,startOfBroadcastWeek:f,startOfISOWeek:h,startOfWeek:g}=a,p=e.reduce((x,v)=>{const b=n.broadcastCalendar?f(v,a):n.ISOWeek?h(v):g(v),w=n.broadcastCalendar?s(v):n.ISOWeek?l(i(v)):c(i(v)),k=t.filter(A=>A>=b&&A<=w),D=n.broadcastCalendar?35:42;if(n.fixedWeeks&&k.length<D){const A=t.filter(j=>{const C=D-k.length;return j>w&&j<=r(w,C)});k.push(...A)}const _=k.reduce((A,j)=>{const C=n.ISOWeek?d(j):u(j),F=A.find(Y=>Y.weekNumber===C),L=new as(j,v,a);return F?F.days.push(L):A.push(new Im(C,[L])),A},[]),S=new $m(v,_);return x.push(S),x},[]);return n.reverseMonths?p.reverse():p}function Hh(e,t){let{startMonth:n,endMonth:a}=e;const{startOfYear:r,startOfDay:s,startOfMonth:l,endOfMonth:i,addYears:c,endOfYear:d,newDate:u,today:f}=t,{fromYear:h,toYear:g,fromMonth:p,toMonth:x}=e;!n&&p&&(n=p),!n&&h&&(n=t.newDate(h,0,1)),!a&&x&&(a=x),!a&&g&&(a=u(g,11,31));const v=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=l(n):h?n=u(h,0,1):!n&&v&&(n=r(c(e.today??f(),-100))),a?a=i(a):g?a=u(g,11,31):!a&&v&&(a=d(e.today??f())),[n&&s(n),a&&s(a)]}function Uh(e,t,n,a){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:s=1}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=a,d=r?s:1,u=l(e);if(!t)return i(u,d);if(!(c(t,e)<s))return i(u,d)}function Vh(e,t,n,a){if(n.disableNavigation)return;const{pagedNavigation:r,numberOfMonths:s}=n,{startOfMonth:l,addMonths:i,differenceInCalendarMonths:c}=a,d=r?s??1:1,u=l(e);if(!t)return i(u,-d);if(!(c(u,t)<=0))return i(u,-d)}function qh(e){const t=[];return e.reduce((n,a)=>n.concat(a.weeks.slice()),t.slice())}function Vn(e,t){const[n,a]=m.useState(e);return[t===void 0?n:t,a]}function Gh(e,t){const[n,a]=Hh(e,t),{startOfMonth:r,endOfMonth:s}=t,l=Ur(e,n,a,t),[i,c]=Vn(l,e.month?l:void 0);m.useEffect(()=>{const D=Ur(e,n,a,t);c(D)},[e.timeZone]);const{months:d,weeks:u,days:f,previousMonth:h,nextMonth:g}=m.useMemo(()=>{const D=Yh(i,a,{numberOfMonths:e.numberOfMonths},t),_=Rh(D,e.endMonth?s(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),S=zh(D,_,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),A=qh(S),j=Bh(S),C=Vh(i,n,e,t),F=Uh(i,a,e,t);return{months:S,weeks:A,days:j,previousMonth:C,nextMonth:F}},[t,i.getTime(),a?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:p,onMonthChange:x}=e,v=D=>u.some(_=>_.days.some(S=>S.isEqualTo(D))),b=D=>{if(p)return;let _=r(D);n&&_<r(n)&&(_=r(n)),a&&_>r(a)&&(_=r(a)),c(_),x?.(_)};return{months:d,weeks:u,days:f,navStart:n,navEnd:a,previousMonth:h,nextMonth:g,goToMonth:b,goToDay:D=>{v(D)||b(D.date)}}}var at;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(at||(at={}));function Vr(e){return!e[ke.disabled]&&!e[ke.hidden]&&!e[ke.outside]}function Kh(e,t,n,a){let r,s=-1;for(const l of e){const i=t(l);Vr(i)&&(i[ke.focused]&&s<at.FocusedModifier?(r=l,s=at.FocusedModifier):a?.isEqualTo(l)&&s<at.LastFocused?(r=l,s=at.LastFocused):n(l.date)&&s<at.Selected?(r=l,s=at.Selected):i[ke.today]&&s<at.Today&&(r=l,s=at.Today))}return r||(r=e.find(l=>Vr(t(l)))),r}function Xh(e,t,n,a,r,s,l){const{ISOWeek:i,broadcastCalendar:c}=s,{addDays:d,addMonths:u,addWeeks:f,addYears:h,endOfBroadcastWeek:g,endOfISOWeek:p,endOfWeek:x,max:v,min:b,startOfBroadcastWeek:w,startOfISOWeek:k,startOfWeek:D}=l;let S={day:d,week:f,month:u,year:h,startOfWeek:A=>c?w(A,l):i?k(A):D(A),endOfWeek:A=>c?g(A):i?p(A):x(A)}[e](n,t==="after"?1:-1);return t==="before"&&a?S=v([a,S]):t==="after"&&r&&(S=b([r,S])),S}function bs(e,t,n,a,r,s,l,i=0){if(i>365)return;const c=Xh(e,t,n.date,a,r,s,l),d=!!(s.disabled&&mt(c,s.disabled,l)),u=!!(s.hidden&&mt(c,s.hidden,l)),f=c,h=new as(c,f,l);return!d&&!u?h:bs(e,t,h,a,r,s,l,i+1)}function Qh(e,t,n,a,r){const{autoFocus:s}=e,[l,i]=m.useState(),c=Kh(t.days,n,a||(()=>!1),l),[d,u]=m.useState(s?c:void 0);return{isFocusTarget:x=>!!c?.isEqualTo(x),setFocused:u,focused:d,blur:()=>{i(d),u(void 0)},moveFocus:(x,v)=>{if(!d)return;const b=bs(x,v,d,t.navStart,t.navEnd,e,r);b&&(e.disableNavigation&&!t.days.some(k=>k.isEqualTo(b))||(t.goToDay(b),u(b)))}}}function Jh(e,t){const{selected:n,required:a,onSelect:r}=e,[s,l]=Vn(n,r?n:void 0),i=r?n:s,{isSameDay:c}=t,d=g=>i?.some(p=>c(p,g))??!1,{min:u,max:f}=e;return{selected:i,select:(g,p,x)=>{let v=[...i??[]];if(d(g)){if(i?.length===u||a&&i?.length===1)return;v=i?.filter(b=>!c(b,g))}else i?.length===f?v=[g]:v=[...v,g];return r||l(v),r?.(v,g,p,x),v},isSelected:d}}function Zh(e,t,n=0,a=0,r=!1,s=it){const{from:l,to:i}=t||{},{isSameDay:c,isAfter:d,isBefore:u}=s;let f;if(!l&&!i)f={from:e,to:n>0?void 0:e};else if(l&&!i)c(l,e)?n===0?f={from:l,to:e}:r?f={from:l,to:void 0}:f=void 0:u(e,l)?f={from:e,to:l}:f={from:l,to:e};else if(l&&i)if(c(l,e)&&c(i,e))r?f={from:l,to:i}:f=void 0;else if(c(l,e))f={from:l,to:n>0?void 0:e};else if(c(i,e))f={from:e,to:n>0?void 0:e};else if(u(e,l))f={from:e,to:i};else if(d(e,l))f={from:l,to:e};else if(d(e,i))f={from:l,to:e};else throw new Error("Invalid range");if(f?.from&&f?.to){const h=s.differenceInCalendarDays(f.to,f.from);a>0&&h>a?f={from:e,to:void 0}:n>1&&h<n&&(f={from:e,to:void 0})}return f}function eg(e,t,n=it){const a=Array.isArray(t)?t:[t];let r=e.from;const s=n.differenceInCalendarDays(e.to,e.from),l=Math.min(s,6);for(let i=0;i<=l;i++){if(a.includes(r.getDay()))return!0;r=n.addDays(r,1)}return!1}function qr(e,t,n=it){return ft(e,t.from,!1,n)||ft(e,t.to,!1,n)||ft(t,e.from,!1,n)||ft(t,e.to,!1,n)}function tg(e,t,n=it){const a=Array.isArray(t)?t:[t];if(a.filter(i=>typeof i!="function").some(i=>typeof i=="boolean"?i:n.isDate(i)?ft(e,i,!1,n):ss(i,n)?i.some(c=>ft(e,c,!1,n)):Un(i)?i.from&&i.to?qr(e,{from:i.from,to:i.to},n):!1:os(i)?eg(e,i.dayOfWeek,n):Ua(i)?n.isAfter(i.before,i.after)?qr(e,{from:n.addDays(i.after,1),to:n.addDays(i.before,-1)},n):mt(e.from,i,n)||mt(e.to,i,n):Va(i)||qa(i)?mt(e.from,i,n)||mt(e.to,i,n):!1))return!0;const l=a.filter(i=>typeof i=="function");if(l.length){let i=e.from;const c=n.differenceInCalendarDays(e.to,e.from);for(let d=0;d<=c;d++){if(l.some(u=>u(i)))return!0;i=n.addDays(i,1)}}return!1}function ng(e,t){const{disabled:n,excludeDisabled:a,resetOnSelect:r,selected:s,required:l,onSelect:i}=e,[c,d]=Vn(s,i?s:void 0),u=i?s:c;return{selected:u,select:(g,p,x)=>{const{min:v,max:b}=e;let w;if(g){const k=u?.from,D=u?.to,_=!!k&&!!D,S=!!k&&!!D&&t.isSameDay(k,D)&&t.isSameDay(g,k);r&&(_||!u?.from)?!l&&S?w=void 0:w={from:g,to:void 0}:w=Zh(g,u,v,b,l,t)}return a&&n&&w?.from&&w.to&&tg({from:w.from,to:w.to},n,t)&&(w.from=g,w.to=void 0),i||d(w),i?.(w,g,p,x),w},isSelected:g=>u&&ft(u,g,!1,t)}}function ag(e,t){const{selected:n,required:a,onSelect:r}=e,[s,l]=Vn(n,r?n:void 0),i=r?n:s,{isSameDay:c}=t;return{selected:i,select:(f,h,g)=>{let p=f;return!a&&i&&i&&c(f,i)&&(p=void 0),r||l(p),r?.(p,f,h,g),p},isSelected:f=>i?c(i,f):!1}}function rg(e,t){const n=ag(e,t),a=Jh(e,t),r=ng(e,t);switch(e.mode){case"single":return n;case"multiple":return a;case"range":return r;default:return}}function Ve(e,t){return e instanceof Pe&&e.timeZone===t?e:new Pe(e,t)}function Kt(e,t,n){return Ve(e,t)}function Gr(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Kt(e,t):Array.isArray(e)?e.map(a=>a instanceof Date?Kt(a,t):a):Un(e)?{...e,from:e.from?Ve(e.from,t):e.from,to:e.to?Ve(e.to,t):e.to}:Ua(e)?{before:Kt(e.before,t),after:Kt(e.after,t)}:Va(e)?{after:Kt(e.after,t)}:qa(e)?{before:Kt(e.before,t)}:e}function ga(e,t,n){return e&&(Array.isArray(e)?e.map(a=>Gr(a,t)):Gr(e,t))}function og(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=Ve(t.today,n)),t.month&&(t.month=Ve(t.month,n)),t.defaultMonth&&(t.defaultMonth=Ve(t.defaultMonth,n)),t.startMonth&&(t.startMonth=Ve(t.startMonth,n)),t.endMonth&&(t.endMonth=Ve(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=Ve(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(J=>Ve(J,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?Ve(t.selected.from,n):t.selected.from,to:t.selected.to?Ve(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=ga(t.disabled,n)),t.hidden!==void 0&&(t.hidden=ga(t.hidden,n)),t.modifiers)){const J={};Object.keys(t.modifiers).forEach(B=>{J[B]=ga(t.modifiers?.[B],n)}),t.modifiers=J}const{components:a,formatters:r,labels:s,dateLib:l,locale:i,classNames:c}=m.useMemo(()=>{const J={...ns,...t.locale},B=t.broadcastCalendar?1:t.weekStartsOn,K=t.noonSafe&&t.timeZone?Ah(t.timeZone,{weekStartsOn:B,locale:J}):void 0,ae=t.dateLib&&K?{...K,...t.dateLib}:t.dateLib??K,he=new Ye({locale:J,weekStartsOn:B,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},ae);return{dateLib:he,components:hh(t.components),formatters:Sh(t.formatters),labels:Th(t.labels,he.options),locale:J,classNames:{...yh(),...t.classNames}}},[t.locale,t.broadcastCalendar,t.weekStartsOn,t.firstWeekContainsDate,t.useAdditionalWeekYearTokens,t.useAdditionalDayOfYearTokens,t.timeZone,t.numerals,t.dateLib,t.noonSafe,t.components,t.formatters,t.labels,t.classNames]);t.today||(t={...t,today:l.today()});const{captionLayout:d,mode:u,navLayout:f,numberOfMonths:h=1,onDayBlur:g,onDayClick:p,onDayFocus:x,onDayKeyDown:v,onDayMouseEnter:b,onDayMouseLeave:w,onNextClick:k,onPrevClick:D,showWeekNumber:_,styles:S}=t,{formatCaption:A,formatDay:j,formatMonthDropdown:C,formatWeekNumber:F,formatWeekNumberHeader:L,formatWeekdayName:Y,formatYearDropdown:M}=r,O=Gh(t,l),{days:z,months:T,navStart:W,navEnd:G,previousMonth:$,nextMonth:re,goToMonth:I}=O,te=fh(z,t,W,G,l),{isSelected:E,select:se,selected:X}=rg(t,l)??{},{blur:H,focused:Q,isFocusTarget:ce,moveFocus:le,setFocused:q}=Qh(t,O,te,E??(()=>!1),l),{labelDayButton:ne,labelGridcell:Z,labelGrid:me,labelMonthDropdown:ve,labelNav:pe,labelPrevious:ie,labelNext:de,labelWeekday:_e,labelWeekNumber:we,labelWeekNumberHeader:ht,labelYearDropdown:Ge}=s,nn=m.useMemo(()=>Wh(l,t.ISOWeek,t.broadcastCalendar,t.today),[l,t.ISOWeek,t.broadcastCalendar,t.today]),We=u!==void 0||p!==void 0,$e=m.useCallback(()=>{$&&(I($),D?.($))},[$,I,D]),Ee=m.useCallback(()=>{re&&(I(re),k?.(re))},[I,re,k]),ze=m.useCallback((J,B)=>K=>{K.preventDefault(),K.stopPropagation(),q(J),!B.disabled&&(se?.(J.date,B,K),p?.(J.date,B,K))},[se,p,q]),St=m.useCallback((J,B)=>K=>{q(J),x?.(J.date,B,K)},[x,q]),De=m.useCallback((J,B)=>K=>{H(),g?.(J.date,B,K)},[H,g]),Ce=m.useCallback((J,B)=>K=>{const ae={ArrowLeft:[K.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[K.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[K.shiftKey?"year":"week","after"],ArrowUp:[K.shiftKey?"year":"week","before"],PageUp:[K.shiftKey?"year":"month","before"],PageDown:[K.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(ae[K.key]){K.preventDefault(),K.stopPropagation();const[he,oe]=ae[K.key];le(he,oe)}v?.(J.date,B,K)},[le,v,t.dir]),Ie=m.useCallback((J,B)=>K=>{b?.(J.date,B,K)},[b]),He=m.useCallback((J,B)=>K=>{w?.(J.date,B,K)},[w]),jt=m.useCallback(J=>B=>{const K=Number(B.target.value),ae=l.setMonth(l.startOfMonth(J),K);I(ae)},[l,I]),gt=m.useCallback(J=>B=>{const K=Number(B.target.value),ae=l.setYear(l.startOfMonth(J),K);I(ae)},[l,I]),{className:Ue,style:an}=m.useMemo(()=>({className:[c[V.Root],t.className].filter(Boolean).join(" "),style:{...S?.[V.Root],...t.style}}),[c,t.className,t.style,S]),tt=gh(t),Yt=m.useRef(null);Lh(Yt,!!t.animate,{classNames:c,months:T,focused:Q,dateLib:l});const rn={dayPickerProps:t,selected:X,select:se,isSelected:E,months:T,nextMonth:re,previousMonth:$,goToMonth:I,getModifiers:te,components:a,classNames:c,styles:S,labels:s,formatters:r};return P.createElement(rs.Provider,{value:rn},P.createElement(a.Root,{rootRef:t.animate?Yt:void 0,className:Ue,style:an,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"],...tt},P.createElement(a.Months,{className:c[V.Months],style:S?.[V.Months]},!t.hideNavigation&&!f&&P.createElement(a.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[V.Nav],style:S?.[V.Nav],"aria-label":pe(),onPreviousClick:$e,onNextClick:Ee,previousMonth:$,nextMonth:re}),T.map((J,B)=>P.createElement(a.Month,{"data-animated-month":t.animate?"true":void 0,className:c[V.Month],style:S?.[V.Month],key:B,displayIndex:B,calendarMonth:J},f==="around"&&!t.hideNavigation&&B===0&&P.createElement(a.PreviousMonthButton,{type:"button",className:c[V.PreviousMonthButton],tabIndex:$?void 0:-1,"aria-disabled":$?void 0:!0,"aria-label":ie($),onClick:$e,"data-animated-button":t.animate?"true":void 0},P.createElement(a.Chevron,{disabled:$?void 0:!0,className:c[V.Chevron],orientation:t.dir==="rtl"?"right":"left"})),P.createElement(a.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:c[V.MonthCaption],style:S?.[V.MonthCaption],calendarMonth:J,displayIndex:B},d?.startsWith("dropdown")?P.createElement(a.DropdownNav,{className:c[V.Dropdowns],style:S?.[V.Dropdowns]},(()=>{const K=d==="dropdown"||d==="dropdown-months"?P.createElement(a.MonthsDropdown,{key:"month",className:c[V.MonthsDropdown],"aria-label":ve(),classNames:c,components:a,disabled:!!t.disableNavigation,onChange:jt(J.date),options:Ph(J.date,W,G,r,l),style:S?.[V.Dropdown],value:l.getMonth(J.date)}):P.createElement("span",{key:"month"},C(J.date,l)),ae=d==="dropdown"||d==="dropdown-years"?P.createElement(a.YearsDropdown,{key:"year",className:c[V.YearsDropdown],"aria-label":Ge(l.options),classNames:c,components:a,disabled:!!t.disableNavigation,onChange:gt(J.date),options:Eh(W,G,r,l,!!t.reverseYears),style:S?.[V.Dropdown],value:l.getYear(J.date)}):P.createElement("span",{key:"year"},M(J.date,l));return l.getMonthYearOrder()==="year-first"?[ae,K]:[K,ae]})(),P.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"}},A(J.date,l.options,l))):P.createElement(a.CaptionLabel,{className:c[V.CaptionLabel],role:"status","aria-live":"polite"},A(J.date,l.options,l))),f==="around"&&!t.hideNavigation&&B===h-1&&P.createElement(a.NextMonthButton,{type:"button",className:c[V.NextMonthButton],tabIndex:re?void 0:-1,"aria-disabled":re?void 0:!0,"aria-label":de(re),onClick:Ee,"data-animated-button":t.animate?"true":void 0},P.createElement(a.Chevron,{disabled:re?void 0:!0,className:c[V.Chevron],orientation:t.dir==="rtl"?"left":"right"})),B===h-1&&f==="after"&&!t.hideNavigation&&P.createElement(a.Nav,{"data-animated-nav":t.animate?"true":void 0,className:c[V.Nav],style:S?.[V.Nav],"aria-label":pe(),onPreviousClick:$e,onNextClick:Ee,previousMonth:$,nextMonth:re}),P.createElement(a.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":me(J.date,l.options,l)||void 0,className:c[V.MonthGrid],style:S?.[V.MonthGrid]},!t.hideWeekdays&&P.createElement(a.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:c[V.Weekdays],style:S?.[V.Weekdays]},_&&P.createElement(a.WeekNumberHeader,{"aria-label":ht(l.options),className:c[V.WeekNumberHeader],style:S?.[V.WeekNumberHeader],scope:"col"},L()),nn.map(K=>P.createElement(a.Weekday,{"aria-label":_e(K,l.options,l),className:c[V.Weekday],key:String(K),style:S?.[V.Weekday],scope:"col"},Y(K,l.options,l)))),P.createElement(a.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:c[V.Weeks],style:S?.[V.Weeks]},J.weeks.map(K=>P.createElement(a.Week,{className:c[V.Week],key:K.weekNumber,style:S?.[V.Week],week:K},_&&P.createElement(a.WeekNumber,{week:K,style:S?.[V.WeekNumber],"aria-label":we(K.weekNumber,{locale:i}),className:c[V.WeekNumber],scope:"row",role:"rowheader"},F(K.weekNumber,l)),K.days.map(ae=>{const{date:he}=ae,oe=te(ae);if(oe[ke.focused]=!oe.hidden&&!!Q?.isEqualTo(ae),oe[Ze.selected]=E?.(he)||oe.selected,Un(X)){const{from:lt,to:Ct}=X;oe[Ze.range_start]=!!(lt&&Ct&&l.isSameDay(he,lt)),oe[Ze.range_end]=!!(lt&&Ct&&l.isSameDay(he,Ct)),oe[Ze.range_middle]=ft(X,he,!0,l)}const Mt=Oh(oe,S,t.modifiersStyles),on=mh(oe,c,t.modifiersClassNames),Dt=!We&&!oe.hidden?Z(he,oe,l.options,l):void 0;return P.createElement(a.Day,{key:`${ae.isoDate}_${ae.displayMonthId}`,day:ae,modifiers:oe,className:on.join(" "),style:Mt,role:"gridcell","aria-selected":oe.selected||void 0,"aria-label":Dt,"data-day":ae.isoDate,"data-month":ae.outside?ae.dateMonthId:void 0,"data-selected":oe.selected||void 0,"data-disabled":oe.disabled||void 0,"data-hidden":oe.hidden||void 0,"data-outside":ae.outside||void 0,"data-focused":oe.focused||void 0,"data-today":oe.today||void 0},!oe.hidden&&We?P.createElement(a.DayButton,{className:c[V.DayButton],style:S?.[V.DayButton],type:"button",day:ae,modifiers:oe,disabled:!oe.focused&&oe.disabled||void 0,"aria-disabled":oe.focused&&oe.disabled||void 0,tabIndex:ce(ae)?0:-1,"aria-label":ne(he,oe,l.options,l),onClick:ze(ae,oe),onBlur:De(ae,oe),onFocus:St(ae,oe),onKeyDown:Ce(ae,oe),onMouseEnter:Ie(ae,oe),onMouseLeave:He(ae,oe)},j(he,l.options,l)):!oe.hidden&&j(ae.date,l.options,l))})))))))),t.footer&&P.createElement(a.Footer,{className:c[V.Footer],style:S?.[V.Footer],role:"status","aria-live":"polite"},t.footer)))}const sg={en:_t,"zh-CN":sm,"zh-TW":Fm,ja:Zu,ko:Tf};function xs(e){return sg[e]||_t}function Kr(e,t){if(!e)return"";const n=e.split("-");if(n.length!==3)return e;const a=new Date(Number(n[0]),Number(n[1])-1,Number(n[2]));return Number.isFinite(a.getTime())?st(a,"MMM d",t?{locale:t}:void 0):e}function Oa({from:e,to:t,onApply:n,onCancel:a}){const r=m.useMemo(()=>{const u={from:void 0,to:void 0};if(e){const f=e.split("-");u.from=new Date(Number(f[0]),Number(f[1])-1,Number(f[2]))}if(t){const f=t.split("-");u.to=new Date(Number(f[0]),Number(f[1])-1,Number(f[2]))}return u},[e,t]),[s,l]=m.useState(r),i=xs(Do()),c=()=>{if(!s?.from)return;const u=st(s.from,"yyyy-MM-dd"),f=s.to?st(s.to,"yyyy-MM-dd"):u;n?.(u,f)},d=!!s?.from;return o.jsxs("div",{className:"p-4",children:[o.jsx(og,{mode:"range",locale:i,selected:s,onSelect:l,numberOfMonths:2,showOutsideDays:!1,classNames:{root:"rdp-oai",months:"flex gap-4",month:"space-y-3",month_caption:"flex justify-center items-center h-8",caption_label:"text-sm font-medium text-oai-black dark:text-oai-white",nav:"flex items-center justify-between absolute inset-x-0 top-0 px-2",button_previous:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",button_next:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",chevron:"w-4 h-4 fill-current",month_grid:"border-collapse",weekdays:"flex",weekday:"w-9 text-center text-xs font-medium text-oai-gray-400 dark:text-oai-gray-500 py-1",week:"flex",day:"w-9 h-9 text-center text-sm p-0 relative",day_button:"w-full h-full inline-flex items-center justify-center rounded-md transition-colors hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 text-oai-black dark:text-oai-white cursor-pointer rdp-day-btn",today:"font-bold",selected:"rdp-selected",range_start:"rdp-selected rdp-range-start",range_end:"rdp-selected rdp-range-end",range_middle:"rdp-range-mid",outside:"text-oai-gray-300 dark:text-oai-gray-600",disabled:"text-oai-gray-300 dark:text-oai-gray-600 cursor-not-allowed",hidden:"invisible"},styles:{months:{position:"relative"}}}),o.jsxs("div",{className:"flex items-center justify-end gap-2 mt-4 pt-3 border-t border-oai-gray-200 dark:border-oai-gray-700",children:[d&&s.from&&o.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[st(s.from,"MMM d, yyyy",{locale:i}),s.to&&s.to.getTime()!==s.from.getTime()?` — ${st(s.to,"MMM d, yyyy",{locale:i})}`:""]}),o.jsx(In,{variant:"secondary",size:"sm",onClick:a,children:y("shared.action.cancel")}),o.jsx(In,{variant:"primary",size:"sm",onClick:c,disabled:!d,children:y("shared.action.apply")})]})]})}const Xr={claude:35,codex:250},Qr={system_prompt:{l:.55,c:.05},messages:{l:.65,c:.18},tool_calls:{l:.6,c:.14},custom_agents:{l:.55,c:.1},reasoning:{l:.7,c:.08}};function ig(e,t){const n=Xr[t]??Xr.claude,a=Qr[e]||Qr.system_prompt;return`oklch(${a.l} ${a.c} ${n})`}const lg=[{key:"system_prompt",from:["system_prefix"]},{key:"messages",from:["user_input","conversation_history","assistant_response"]},{key:"tool_calls",from:["tool_calls"]},{key:"custom_agents",from:["subagents"]},{key:"reasoning",from:["reasoning"]}],cg=[["by_type","dashboard.context_breakdown.exec_details.group_by_type"],["by_executable","dashboard.context_breakdown.exec_details.group_by_executable"],["by_command","dashboard.context_breakdown.exec_details.group_by_command"],["by_duration","dashboard.context_breakdown.exec_details.group_by_duration"],["by_output","dashboard.context_breakdown.exec_details.group_by_output"],["by_exit","dashboard.context_breakdown.exec_details.group_by_exit"]],dg={duration:.18,ease:[.4,0,.2,1]},ug={height:0,opacity:0},fg={height:"auto",opacity:1},mg={height:0,opacity:0};function hg(e){const t=Number(e||0);return Number.isFinite(t)&&t>0?t:0}function gg(e,t){const n={};for(const a of["input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","total_tokens"])n[a]=Math.round(Number(e?.[a]||0)*t);return n}function ks(e,t=null){const n=e.reduce((l,i)=>l+Number(i.totals.total_tokens||0),0),a=hg(t),r=a||n,s=a&&n>0?a/n:1;return e.map(l=>{const i=s===1?l.totals:gg(l.totals,s);return{...l,totals:i,percent:r>0?Number((i.total_tokens/r*100).toFixed(2)):0}}).sort((l,i)=>i.totals.total_tokens-l.totals.total_tokens)}function yg(e,t=null){const n=new Map;for(const r of e||[])n.set(r.key,r);const a=lg.map(r=>{const s={input_tokens:0,cached_input_tokens:0,cache_creation_input_tokens:0,output_tokens:0,reasoning_output_tokens:0,total_tokens:0};for(const l of r.from){const i=n.get(l);if(!i)continue;const c=i.totals||{};s.input_tokens+=c.input_tokens||0,s.cached_input_tokens+=c.cached_input_tokens||0,s.cache_creation_input_tokens+=c.cache_creation_input_tokens||0,s.output_tokens+=c.output_tokens||0,s.reasoning_output_tokens+=c.reasoning_output_tokens||0,s.total_tokens+=c.total_tokens||0}return{key:r.key,totals:s}});return ks(a,t)}function pg(e,t=null){const n=e?.totals||{},a=Number(n.reasoning_output_tokens||0),r=(e?.tool_calls_breakdown?.categories||[]).reduce((d,u)=>u?.name==="Text Response"?d:d+Number(u?.totals?.total_tokens||0),0),s=Number(n.total_tokens||0),l=Math.min(Math.max(0,r),Math.max(0,s-a)),c=[{key:"messages",totals:{total_tokens:Math.max(0,s-a-l)}},{key:"tool_calls",totals:{total_tokens:l}},{key:"reasoning",totals:{total_tokens:a}}];return ks(c,t)}const Jr="MCP: ";function bg(e){if(!e?.categories?.length)return{mcpSet:null,residualSet:e,mcpTotalTokens:0};const t=[],n=[];let a=0;for(const r of e.categories){const s=String(r?.name||"");s.startsWith(Jr)?(t.push({...r,name:s.slice(Jr.length)}),a+=Number(r?.totals?.total_tokens||0)):n.push(r)}return t.length===0?{mcpSet:null,residualSet:e,mcpTotalTokens:0}:(t.sort((r,s)=>(s.totals?.total_tokens||0)-(r.totals?.total_tokens||0)),{mcpSet:{...e,categories:t},residualSet:{...e,categories:n},mcpTotalTokens:a})}function Zr(e){return y(`dashboard.context_breakdown.category.${e}`)}function rt(e){return!Number.isFinite(Number(e))||Number(e)<=0?"0":Ae(Number(e),{decimals:1})}function xg(e){return typeof e!="string"?"":e.startsWith("mcp__")?e.split("__").slice(2).join("__")||e:e.includes("/")&&e.split("/").pop()||e}function kg(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||null,a=Number(n?n.input_tokens||0:t?.input_tokens||0),r=Number(n?n.output_tokens||0:t?.output_tokens||0),s=Number(n?n.cached_input_tokens||0:t?.cache_read||0),l=Number(n?n.cache_creation_input_tokens||0:t?.cache_creation||0),i=Number(n?n.total_tokens||a+r:t?.total_tokens||r);return{name:xg(t?.name?String(t.name):""),calls:Number(t?.calls||0),input_tokens:a,output_tokens:r,cache_read:s,cache_creation:l,total_tokens:Number(i||0)}}).filter(t=>t.name).sort((t,n)=>(n.total_tokens||0)-(t.total_tokens||0))}function wg(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Array.isArray(t?.tools)?t.tools:[],r=Number(n.input_tokens||0),s=Number(n.output_tokens||0),l=Number(n.cached_input_tokens||0),i=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),totals:{input_tokens:r,output_tokens:s,cached_input_tokens:l,cache_creation_input_tokens:i,total_tokens:Number(n.total_tokens||r+s)},tools:kg(a),toolCount:a.length}}).filter(t=>t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function vg(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Number(n.input_tokens||0),r=Number(n.output_tokens||0),s=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{key:t?.key?String(t.key):"",name:t?.name?String(t.name):"",totals:{input_tokens:a,output_tokens:r,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+r+s+l)}}}).filter(t=>t.key||t.name).sort((t,n)=>(n.totals.total_tokens||0)-(t.totals.total_tokens||0))}function _g(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{};return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),total_tokens:Number(n.total_tokens||0)}}).filter(t=>t.name).sort((t,n)=>Number(n.total_tokens||0)-Number(t.total_tokens||0))}function Ng(e){if(e?.key){const t=y(`dashboard.context_breakdown.message_details.${e.key}`);if(t&&!t.includes("dashboard.context_breakdown"))return t}return e?.name||""}function Sg(e){return(Array.isArray(e)?e:[]).map(t=>{const n=t?.totals||{},a=Number(n.input_tokens||0),r=Number(n.output_tokens||0),s=Number(n.cached_input_tokens||0),l=Number(n.cache_creation_input_tokens||0);return{name:t?.name?String(t.name):"",calls:Number(t?.calls||0),failures:Number(t?.failures||0),duration_ms:Number(t?.duration_ms||0),max_duration_ms:Number(t?.max_duration_ms||0),output_chars:Number(t?.output_chars||0),output_lines:Number(t?.output_lines||0),totals:{input_tokens:a,output_tokens:r,cached_input_tokens:s,cache_creation_input_tokens:l,total_tokens:Number(n.total_tokens||a+r)}}}).filter(t=>t.name).sort((t,n)=>Number(n.totals.total_tokens||0)-Number(t.totals.total_tokens||0))}function eo(e){const t=Number(e||0);return!Number.isFinite(t)||t<=0?"0ms":t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(1)}s`:`${Math.round(t/1e3)}s`}function jg(e,t){return e?t==="by_executable"?e.by_executable||[]:t==="by_command"?e.by_command||[]:t==="by_duration"?e.by_duration||[]:t==="by_output"?e.by_output||[]:t==="by_exit"?e.by_exit||[]:e.by_type||[]:[]}function to(e){return e==="exec_command"||e==="Bash"}function ws(e){return e==="codex"?"dashboard.context_breakdown.empty_codex":"dashboard.context_breakdown.empty"}function Mg(e){return e==="codex"?"dashboard.context_breakdown.error_codex":"dashboard.context_breakdown.error"}function Dg(e){return e==="codex"?"dashboard.context_breakdown.footnote_codex":"dashboard.context_breakdown.footnote"}const Cg=10;function ut({level:e=0,colorSquare:t=null,label:n,labelSuffix:a=null,labelTone:r="default",hasChevron:s=!1,open:l=!1,onToggle:i,tokens:c,percent:d=null,children:u,share:f=null,fillColor:h=null}){const g=r==="accent"?"text-oai-brand truncate":r==="muted"?"text-oai-gray-500 dark:text-oai-gray-400 truncate":r==="strong"?"font-medium text-oai-black dark:text-oai-white truncate":"text-oai-gray-700 dark:text-oai-gray-300 truncate",p=o.jsx("span",{className:"shrink-0 flex items-center justify-start",style:{width:Cg},"aria-hidden":!t,children:t}),x=o.jsxs(o.Fragment,{children:[p,o.jsx("span",{className:g,children:n}),a,s&&o.jsx(Oe.span,{animate:{rotate:l?90:0},transition:{duration:.15},className:"shrink-0 text-oai-gray-400 dark:text-oai-gray-500 flex items-center","aria-hidden":"true",children:o.jsx(Ao,{size:11})})]}),v=h&&f!=null&&f>0,b=v?Math.max(0,Math.min(100,f)):0;return o.jsxs("li",{className:"min-w-0 group/row",children:[o.jsxs("div",{className:"relative grid grid-cols-[minmax(0,1fr)_64px_48px] items-center gap-2 text-xs py-1 px-1 rounded-sm transition-colors duration-150",style:v?{backgroundImage:`linear-gradient(to right, ${h.replace(/\)\s*$/," / 0.10)")} 0%, ${h.replace(/\)\s*$/," / 0.10)")} ${b}%, transparent ${b}%)`}:void 0,children:[s?o.jsx("button",{type:"button",onClick:i,"aria-expanded":l,className:"relative flex items-center gap-1.5 min-w-0 text-left cursor-pointer focus-visible:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-oai-brand/40 rounded-sm",children:x}):o.jsx("div",{className:"relative flex items-center gap-1.5 min-w-0",children:x}),o.jsx("span",{className:"relative text-right tabular-nums text-oai-gray-500 dark:text-oai-gray-400",children:c||""}),o.jsx("span",{className:"relative text-right tabular-nums text-[10px] text-oai-gray-400 dark:text-oai-gray-500 font-normal",children:d||""})]}),s&&u?o.jsx(Ba,{initial:!1,children:l&&o.jsx(Oe.div,{initial:ug,animate:fg,exit:mg,transition:dg,style:{overflow:"hidden"},children:u},"content")}):null]})}function no({execDetails:e,source:t="claude"}){const[n,a]=m.useState("by_type"),r=Sg(jg(e,n)),s=t==="codex",l=s?"grid-cols-[minmax(0,1fr)_48px_48px_72px_72px_60px_60px]":"grid-cols-[minmax(0,1fr)_56px_60px]";return o.jsxs("div",{className:"mt-2 ml-4",children:[o.jsx("div",{className:"flex flex-wrap items-center gap-1 rounded-md bg-oai-gray-100 dark:bg-oai-gray-900 p-1 w-fit max-w-full",children:cg.map(([i,c])=>o.jsx("button",{type:"button",onClick:()=>a(i),className:"h-7 px-2 rounded-md text-[10px] font-medium transition-colors "+(n===i?"bg-oai-white dark:bg-oai-gray-800 text-oai-black dark:text-oai-white shadow-sm":"text-oai-gray-600 dark:text-oai-gray-300 hover:bg-oai-white/70 dark:hover:bg-oai-gray-800/70"),children:y(c)},i))}),r.length===0?o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:"—"}):o.jsx("div",{className:"mt-2 overflow-x-auto",children:o.jsxs("div",{role:"table","aria-label":y("dashboard.context_breakdown.exec_details.title"),className:s?"min-w-[420px]":"min-w-[260px]",children:[o.jsxs("div",{role:"row",className:`grid ${l} gap-2 py-1.5 mb-1 border-b border-oai-gray-200 dark:border-oai-gray-800 text-label uppercase text-oai-gray-500 dark:text-oai-gray-400`,children:[o.jsx("span",{role:"columnheader",children:y("dashboard.context_breakdown.exec_details.kind_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.calls_column")}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.failures_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.duration_column")}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.max_duration_column")})]}),o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.tool_details.total_column")}),s&&o.jsx("span",{role:"columnheader",className:"text-right",children:y("dashboard.context_breakdown.exec_details.output_column")})]}),r.map((i,c)=>o.jsxs(Oe.div,{role:"row",className:`grid ${l} gap-2 py-1.5`,title:i.name,initial:{opacity:0},animate:{opacity:1},transition:{duration:.18,delay:c*.02},children:[o.jsx("span",{role:"cell",className:"min-w-0 text-body-sm font-medium text-oai-black dark:text-oai-white truncate",children:i.name}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ae(i.calls||0)}),s&&o.jsxs(o.Fragment,{children:[o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ae(i.failures||0)}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:eo(i.duration_ms||0)}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:eo(i.max_duration_ms||0)})]}),o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:rt(i.totals.total_tokens||0)}),s&&o.jsx("span",{role:"cell",className:"text-right text-body-sm tabular-nums text-oai-gray-700 dark:text-oai-gray-300",children:Ae(i.output_lines||0)})]},i.name))]})})]})}function dn({toolSet:e,execDetails:t,source:n,codexQueueFallback:a}){const[r,s]=m.useState({}),[l,i]=m.useState(!1),c=wg(e?.categories||[]);function d(u){s(f=>({...f,[u]:!f[u]}))}return c.length===0?o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:n==="codex"&&a?y("dashboard.context_breakdown.tool_details.unavailable_codex"):y(ws(n))}):o.jsx("ul",{className:"mt-0.5 mb-0.5 space-y-0.5",children:c.map(u=>{const f=u.toolCount>0,h=u.name==="Execution"&&t,g=h&&u.tools.some(x=>to(x.name)),p=!!r[u.name];return o.jsxs(ut,{level:1,label:u.name,labelTone:"strong",hasChevron:f||h&&!g,open:p||h&&!g&&l,onToggle:()=>{f?d(u.name):h&&!g&&i(x=>!x)},tokens:rt(u.totals.total_tokens||0),percent:null,children:[f&&o.jsx("ul",{className:"space-y-0.5",children:u.tools.map(x=>{const v=h&&to(x.name);return o.jsx(ut,{level:2,label:x.name,labelTone:v?"accent":"default",hasChevron:v,open:l,onToggle:()=>i(b=>!b),tokens:rt(x.total_tokens||0),percent:null,children:v&&o.jsx(no,{execDetails:t,source:n})},x.name)})}),h&&!g&&o.jsx(no,{execDetails:t,source:n})]},u.name)})})}function Tg({from:e,to:t,source:n="claude",referenceTotalTokens:a=null,onLoadingChange:r=null}){const[s,l]=m.useState(null),[i,c]=m.useState(!1),[d,u]=m.useState(null),[f,h]=m.useState({});function g(T){h(W=>({...W,[T]:!W[T]}))}if(m.useEffect(()=>{let T=!1;return c(!0),r?.(!0),u(null),kl({from:e,to:t,source:n,timeZone:To(),tzOffsetMinutes:Co()}).then(W=>{T||l(W)}).catch(W=>{T||u(W?.message||String(W))}).finally(()=>{T||(c(!1),r?.(!1))}),()=>{T=!0}},[e,t,n]),i&&!s)return o.jsxs("div",{children:[o.jsx("div",{className:"h-1 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden animate-pulse"}),o.jsx("div",{className:"mt-3 grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-2",children:[0,1,2,3,4].map(T=>o.jsx("div",{className:"h-3 rounded bg-oai-gray-100 dark:bg-oai-gray-800 animate-pulse",style:{animationDelay:`${T*80}ms`}},T))}),o.jsx("p",{className:"mt-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:y("dashboard.context_breakdown.loading_hint")})]});if(d)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:y(Mg(n))});if(!s||s.scope!=="supported"||!s.totals?.total_tokens)return o.jsx("p",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:y(ws(n))});const p=n==="claude"?yg(s.categories||[],a):pg(s,a),x=s.tool_calls_breakdown||null,v=s.skills_breakdown||null,b=s.message_breakdown||null,w=s.configured_resources||null,k=s.exec_command_breakdown||null,D=_g(v?.skills||[]),_=vg(b?.categories||[]),S=n==="codex"&&(s?.breakdown_status==="queue_fallback"||s?.fallback==="queue_totals"),A=n==="claude"?x?.tool_calls||null:x||null,{mcpSet:j,residualSet:C,mcpTotalTokens:F}=bg(A),L=n==="claude"&&x?.subagents||null,Y=L?.categories?.length>0||(w?.custom_agents_count||0)>0,M=n==="claude"?(C?.categories||[]).reduce((T,W)=>T+Number(W?.totals?.total_tokens||0),0):0,O=n==="claude"?(L?.categories||[]).reduce((T,W)=>T+Number(W?.totals?.total_tokens||0),0):0,z=[...p].sort((T,W)=>(W.totals?.total_tokens||0)-(T.totals?.total_tokens||0));return o.jsxs("div",{role:"region","aria-label":y("dashboard.context_breakdown.bar_aria",{summary:p.filter(T=>T.percent>0).filter(T=>!(n==="claude"&&(T.key==="tool_calls"||T.key==="custom_agents"))).map(T=>`${Zr(T.key)} ${T.percent}%`).join(",")}),children:[o.jsxs("ul",{className:"space-y-0.5",children:[z.map(T=>{const W=T.key==="system_prompt",G=T.key==="messages",$=T.key==="tool_calls",re=T.key==="custom_agents";if(T.key,n==="claude"&&($||re))return null;const I=G&&_.length>0||$&&(C?.categories?.length>0||S)||re&&Y&&L,te=!!f[T.key],E=ig(T.key,n),se=o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0",style:{backgroundColor:E},"aria-hidden":"true"}),X=W?o.jsxs("span",{className:"relative inline-flex shrink-0 group",children:[o.jsx(Eo,{size:11,className:"text-oai-gray-400 dark:text-oai-gray-500 cursor-help","aria-hidden":"true"}),o.jsx("span",{role:"tooltip",className:"pointer-events-none absolute left-1/2 bottom-full z-20 mb-1.5 -translate-x-1/2 w-64 rounded-md border border-oai-gray-200 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 px-2.5 py-1.5 text-[11px] leading-snug text-oai-gray-700 dark:text-oai-gray-200 shadow-md opacity-0 group-hover:opacity-100 transition-opacity",children:y("dashboard.context_breakdown.system_prefix_tooltip")})]}):null,H=T.percent>0?`${T.percent.toFixed(T.percent<.1&&T.percent>0?2:1)}%`:"0.0%";return o.jsxs(ut,{level:0,colorSquare:se,label:Zr(T.key),labelSuffix:X,tokens:rt(T.totals?.total_tokens||0),percent:H,hasChevron:I,open:te,onToggle:()=>g(T.key),share:T.percent,fillColor:E,children:[G&&o.jsx("ul",{className:"space-y-0.5",children:_.map(Q=>o.jsx(ut,{level:1,label:Ng(Q),tokens:rt(Q.totals.total_tokens||0),percent:null},Q.key||Q.name))}),$&&C&&o.jsx(dn,{toolSet:C,execDetails:k,source:n,codexQueueFallback:S}),$&&S&&!C&&o.jsx("p",{className:"text-[11px] text-oai-gray-400 dark:text-oai-gray-500 py-0.5",children:y("dashboard.context_breakdown.tool_details.unavailable_codex")}),re&&L&&o.jsx(dn,{toolSet:L,execDetails:null,source:n,codexQueueFallback:!1})]},T.key)}),n==="claude"&&C?.categories?.length>0&&o.jsx(ut,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:y("dashboard.context_breakdown.category.tool_calls"),tokens:rt(M),percent:null,hasChevron:!0,open:!!f.tool_calls_aux,onToggle:()=>g("tool_calls_aux"),children:o.jsx(dn,{toolSet:C,execDetails:k,source:n,codexQueueFallback:!1})}),n==="claude"&&L?.categories?.length>0&&o.jsx(ut,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:y("dashboard.context_breakdown.category.custom_agents"),tokens:rt(O),percent:null,hasChevron:!0,open:!!f.custom_agents_aux,onToggle:()=>g("custom_agents_aux"),children:o.jsx(dn,{toolSet:L,execDetails:null,source:n,codexQueueFallback:!1})}),j?.categories?.length>0&&o.jsx(ut,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:y("dashboard.context_breakdown.category.mcp_servers"),tokens:rt(F),percent:null,hasChevron:!0,open:!!f.mcp_servers,onToggle:()=>g("mcp_servers"),children:o.jsx(dn,{toolSet:j,execDetails:null,source:n,codexQueueFallback:!1})}),D.length>0&&o.jsx(ut,{level:0,colorSquare:o.jsx("span",{className:"h-2 w-2 rounded-sm shrink-0 bg-oai-gray-300 dark:bg-oai-gray-600","aria-hidden":"true"}),label:y("dashboard.context_breakdown.category.skills"),tokens:rt(D.reduce((T,W)=>T+(W.total_tokens||0),0)),percent:null,hasChevron:!0,open:!!f.skills,onToggle:()=>g("skills"),children:o.jsx("ul",{className:"space-y-0.5",children:D.slice(0,12).map(T=>o.jsx(ut,{level:1,label:T.name,tokens:rt(T.total_tokens),percent:null},T.name))})})]}),o.jsx("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:y(Dg(n))}),S?o.jsx("p",{className:"mt-2 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:y("dashboard.context_breakdown.tool_details.unavailable_codex")}):null,w?o.jsxs("p",{className:"mt-2 text-[10px] text-oai-gray-400 dark:text-oai-gray-500",children:[Ae(w.skills_count||0)," skills ·"," ",Ae(w.mcp_servers_count||0)," MCP servers ·"," ",Ae(w.custom_agents_count||0)," agents ·"," ",Ae(w.memory_files_count||0)," memory files"]}):null]})}function vs(e){if(!Number.isFinite(Number(e)))return null;const t=Number(e);return t<=0?null:Ae(t,{decimals:1})}function _s(e,t,n){const a=Number(e);if(!Number.isFinite(a)||a<=0)return null;const r=zn(t);return(t===Mo?a:a*n)<.01?`<${r}0.01`:en(a,{decimals:2,currency:t,rate:n})}function Pg(e){return Array.isArray(e)?e.map(t=>typeof t=="string"?{key:t,label:ao(t)}:{key:t.key,label:t.label||ao(t.key)}):[]}function Og(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 Wg={CODEX:"#3b82f6",CLAUDE:"#d97757",OPENCODE:"#f59e0b",GEMINI:"#2196f3",KIMI:"#a78bfa","KILO-CLI":"#facc15","KILO-CODE":"#facc15",MIMO:"#ff6900",DROID:"#ef4444",ZCODE:"#14b8a6"};function ya(e,t){const n=e?.toUpperCase?.()||"";return Wg[n]||`hsl(${150+t*40}, 60%, 45%)`}function Eg(e){const t=String(e?.source||"").trim().toLowerCase(),n=String(e?.label||"").trim().toLowerCase();return t==="claude"||n==="claude"?"claude":t==="codex"||n==="codex"?"codex":null}const Ag={day:"usage.period.day",week:"usage.period.week",month:"usage.period.month",total:"usage.period.total",custom:"usage.period.custom"};function ao(e){const t=Ag[e];return t?y(t):String(e).toUpperCase()}function Fg({loading:e,onClick:t}){const n=Ia();return o.jsx(In,{variant:"secondary",size:"sm",disabled:e,onClick:t,"aria-label":y("usage.button.refresh"),className:"w-8 p-0",children:o.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 $g({period:e,periods:t,onPeriodChange:n,summaryValue:a,summaryFullValue:r,onToggleSummaryFormat:s,summaryLabel:l,summaryCostValue:i,onCostInfo:c,fleetData:d=[],onRefresh:u,loading:f,className:h="",customFrom:g,customTo:p,onCustomRangeApply:x,customRangeOpen:v,onCustomRangeOpenChange:b,onOpenShare:w,from:k,to:D}){const _=Pg(t),S=xs(Do()),A=Og(String(a??"")),j=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(max-width: 639px)").matches,[C,F]=m.useState(j);m.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const E=window.matchMedia("(max-width: 639px)"),se=X=>F(X.matches);return E.addEventListener("change",se),()=>E.removeEventListener("change",se)},[]);const L=A!=null&&!C,Y=m.useRef(null);m.useEffect(()=>{const E=Y.current?.querySelector('[aria-selected="true"]');E&&typeof E.scrollIntoView=="function"&&E.scrollIntoView({block:"nearest",inline:"center"})},[e]);const[M,O]=m.useState(null),{resolvedTheme:z}=wl(),{currency:T,rate:W}=tn(),G=z==="dark",$=G?"rgba(10,10,10,0.98)":"rgba(255,255,255,0.96)",re=G?"rgba(10,10,10,0)":"rgba(255,255,255,0)",I=L?o.jsx(gc,{value:A,displayValue:a,fontSize:72,padding:6,gap:1,textColor:"var(--oai-black, #111827)",fontWeight:700,gradientHeight:G?0:8,gradientFrom:$,gradientTo:re,counterStyle:{paddingLeft:0,paddingRight:0,gap:0},digitStyle:{width:"0.88ch"}}):a,te=d.filter(E=>E.models?.length>0);return o.jsxs(vt,{className:h,children:[o.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[o.jsx("div",{ref:Y,role:"tablist","aria-label":y("usage.overview.tablist_aria"),className:"flex flex-1 min-w-0 gap-1 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:_.map(E=>{const se=e===E.key,X=`shrink-0 whitespace-nowrap text-xs font-medium px-3 py-1.5 rounded-md transition-colors ${se?"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(E.key==="custom"){const H=se&&g&&p?`${Kr(g,S)} — ${Kr(p,S)}`:E.label;return o.jsxs(ja,{open:v,onOpenChange:Q=>{Q?n?.("custom"):b?.(Q)},children:[o.jsx(Ma,{render:o.jsx("button",{role:"tab","aria-selected":se,type:"button",className:X}),children:H}),o.jsx(Da,{children:o.jsx(Ca,{sideOffset:8,side:"bottom",align:"start",className:"!z-[9999]",children:o.jsx(Ta,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:o.jsx(Oa,{from:g,to:p,onApply:x,onCancel:()=>b?.(!1)})})})})]},"custom")}return o.jsx("button",{role:"tab","aria-selected":se,type:"button",className:X,onClick:()=>n?.(E.key),children:E.label},E.key)})}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[w?o.jsxs("button",{type:"button",onClick:w,"aria-label":y("share.button.aria"),className:"inline-flex items-center justify-center gap-1.5 h-8 px-3 text-xs font-medium rounded-md border border-oai-gray-300 dark:border-oai-gray-700 bg-oai-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-brand hover:text-oai-brand transition-colors duration-200",children:[o.jsx(ac,{className:"h-3.5 w-3.5",strokeWidth:2}),y("share.button.label")]}):null,u&&o.jsx(Fg,{loading:f,onClick:u})]})]}),o.jsxs("div",{className:"text-center mb-8",children:[o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wider mb-3",children:l}),o.jsx("div",{className:"text-5xl sm:text-6xl md:text-7xl font-bold text-oai-black dark:text-oai-white tracking-tight tabular-nums",children:s?o.jsx("button",{type:"button",onClick:s,title:r||void 0,"aria-label":y("usage.summary.toggle_aria"),className:"cursor-pointer rounded-lg leading-none transition-opacity hover:opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-oai-brand",children:I}):I}),i&&o.jsx("div",{className:"flex items-center justify-center gap-2 mt-4",children:c?o.jsxs("button",{type:"button",onClick:c,className:"inline-flex items-center gap-1.5 text-xl font-bold text-oai-brand hover:text-oai-brand-dark dark:hover:text-oai-brand-light transition-colors cursor-pointer","aria-label":y("usage.overview.cost_breakdown_aria"),children:[i,o.jsx(Eo,{size:16,strokeWidth:2,className:"opacity-80"})]}):o.jsx("span",{className:"text-xl font-bold text-oai-brand",children:i})})]}),te.length>0&&o.jsxs("div",{className:"space-y-6",children:[o.jsx("div",{role:"img","aria-label":y("usage.overview.distribution_aria",{items:te.map(E=>y("usage.overview.distribution_item",{label:E.label,percent:E.totalPercent})).join(",")}),className:"h-1.5 w-full bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden flex",children:te.map((E,se)=>{const X=ya(E.label,se);return o.jsx(Oe.div,{initial:{width:0},animate:{width:`${E.totalPercent}%`},transition:{duration:.5,delay:.45+se*.04,ease:[.16,1,.3,1]},className:"h-full",style:{backgroundColor:X},title:`${E.label}: ${E.totalPercent}%`},E.label)})}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:te.map((E,se)=>{const X=ya(E.label,se),H=M===E.label;return o.jsxs("button",{"aria-expanded":H,"aria-controls":`provider-details-${E.label}`,"aria-label":y("usage.overview.provider_card_aria",{provider:E.label,percent:E.totalPercent,tokens:vs(E.usage)||"0",cost:_s(E.usd,T,W)||`${zn(T)}0`,action:y(H?"usage.overview.collapse":"usage.overview.expand")}),onClick:()=>O(H?null:E.label),className:`min-w-0 text-left p-3 rounded-lg border transition-colors duration-200 ${H?"border-oai-gray-300 dark:border-oai-gray-600 bg-oai-gray-50 dark:bg-oai-gray-800":"border-oai-gray-200 dark:border-oai-gray-700 hover:border-oai-gray-300 dark:hover:border-oai-gray-600"}`,children:[o.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[o.jsx(Po,{provider:E.label,size:15,color:X,className:"text-oai-gray-700 dark:text-oai-gray-300 shrink-0"}),o.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:E.label})]}),o.jsxs("div",{className:"text-lg font-semibold text-oai-black dark:text-oai-white tabular-nums",children:[E.totalPercent,"%"]}),o.jsx("div",{className:"mt-0.5 text-[11px] text-oai-gray-400 dark:text-oai-gray-400 tabular-nums",children:y("usage.overview.model_count",{count:E.models.length})})]},E.label)})}),M&&o.jsx("div",{id:`provider-details-${M}`,role:"region","aria-label":y("usage.overview.model_details_aria",{provider:M}),className:"mt-2",children:te.filter(E=>E.label===M).map(E=>{const se=ya(E.label,0),X=Eg(E),H=[...E.models].sort((ce,le)=>(le.share||0)-(ce.share||0)),Q=X?`${X==="claude"?"Claude":"Codex"} Context Breakdown`:E.label;return o.jsx(Ig,{provider:E,color:se,providerHeading:Q,contextSource:X,from:k,to:D,sortedModels:H},E.label)})})]})]})}function Ig({provider:e,color:t,providerHeading:n,contextSource:a,from:r,to:s,sortedModels:l}){const{currency:i,rate:c}=tn(),[d,u]=m.useState(!1),f=String(e?.source||e?.label||"").trim().toLowerCase()==="antigravity";return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 mb-3",children:[o.jsx(Po,{provider:e.label,size:14,color:t,className:"shrink-0"}),o.jsx("span",{className:"text-sm font-medium text-oai-black dark:text-oai-white",children:n}),a&&d&&o.jsx(Zl,{size:12,className:"text-oai-gray-400 dark:text-oai-gray-500 animate-spin shrink-0","aria-label":y("dashboard.context_breakdown.loading_aria")})]}),f&&o.jsxs("p",{className:"mb-3 text-[10px] leading-snug text-oai-gray-400 dark:text-oai-gray-500",children:[o.jsxs("span",{className:"font-medium text-oai-gray-500 dark:text-oai-gray-400",children:[y("usage.overview.antigravity_notice_title"),"."]})," ",y("usage.overview.antigravity_notice_body")]}),a?o.jsx("div",{className:"mb-4 pb-4 border-b border-oai-gray-200 dark:border-oai-gray-700",children:o.jsx(Tg,{from:r,to:s,source:a,referenceTotalTokens:e.usage,onLoadingChange:u})}):null,o.jsx("div",{className:"space-y-3",children:l.map(h=>{const g=vs(h.usage),p=_s(h.cost,i,c),x=Math.max(0,Math.min(100,Number(h.share)||0));return o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-baseline gap-4 mb-1.5",children:[o.jsx("span",{className:"flex-1 min-w-0 text-sm text-oai-gray-700 dark:text-oai-gray-300 truncate",title:h.name,children:h.name}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:g}),o.jsx("span",{className:"shrink-0 w-16 text-right text-sm text-oai-gray-500 dark:text-oai-gray-400 tabular-nums",children:p}),o.jsxs("span",{className:"shrink-0 w-12 text-right text-sm text-oai-black dark:text-oai-white tabular-nums",children:[h.share,"%"]})]}),o.jsx("div",{className:"h-[3px] bg-oai-gray-100 dark:bg-oai-gray-800 rounded-full overflow-hidden",role:"progressbar","aria-valuenow":x,"aria-valuemin":0,"aria-valuemax":100,children:o.jsx("div",{className:"h-full transition-[width] duration-500 ease-out",style:{width:`${x}%`,backgroundColor:t,opacity:.45}})})]},h.id||h.name)})})]})}function Lg(e){return e==="day"?"hourly":e==="total"?"monthly":"daily"}function Rg(e){return!!e&&!e.missing&&!e.future}function Bg(e){const t=e?.billable_total_tokens??e?.total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Yg(e){const t=e?.total_tokens??e?.billable_total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function zg(e){const t=Array.isArray(e)?e.filter(Rg):[];let n=0,a=0,r=0,s=0,l=!1,i=0,c=-1,d=null;for(const u of t){const f=Yg(u),h=Bg(u);n+=f,a+=h;const g=Number(u?.conversation_count);Number.isFinite(g)&&g>0&&(r+=g);const p=Number(u?.total_cost_usd);Number.isFinite(p)&&(l=!0,s+=p),h>0&&(i+=1),h>c&&(c=h,d=u)}return{totalTokens:n,billableTokens:a,conversationCount:r,totalCostUsd:l?s:null,bucketCount:t.length,activeBuckets:i,peak:d&&c>0?{value:c,label:d.hour||d.day||d.month||""}:null}}function ro(e){return String(e).padStart(2,"0")}function Hg(e,t){if(!e)return"";if(t==="hourly"){const n=String(e.hour||e.label||""),a=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})/.exec(n);if(!a)return n;const[,r,s,l]=a,c=Number(s)*60+Number(l)+30,d=Math.floor(c/60)%24,u=c%60;return`${r} ${s}:${l}–${ro(d)}:${ro(u)}`}return String(t==="monthly"?e.month||e.label||"":e.day||e.label||"")}function Ug(e){if(!e||e.activeBuckets===0)return"trend.zoom.insight.empty";const t=e.totalTokens||0;return t<1e7?"trend.zoom.insight.calm":t<5e8?"trend.zoom.insight.steady":t<5e9?"trend.zoom.insight.heavy":"trend.zoom.insight.massive"}function Vg(e,t){if(!e)return"";if(t==="hourly"){const r=/T(\d{2}:\d{2})/.exec(String(e.hour||e.label||""));return r?r[1]:""}if(t==="monthly")return String(e.month||e.label||"");const n=String(e.day||e.label||""),a=/^\d{4}-(\d{2}-\d{2})$/.exec(n);return a?a[1]:n}const qg=[{period:"day",labelKey:"trend.zoom.gran.30min"},{period:"month",labelKey:"trend.zoom.gran.day"},{period:"total",labelKey:"trend.zoom.gran.month"}],Gg=24,Xt="#10b981";function oo(e){return e==="day"?"day":e==="total"?"total":"month"}function Wa(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const a=new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3])));a.setUTCDate(a.getUTCDate()+t);const r=a.getUTCFullYear(),s=String(a.getUTCMonth()+1).padStart(2,"0"),l=String(a.getUTCDate()).padStart(2,"0");return`${r}-${s}-${l}`}function Kg(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const a=new Date(Date.UTC(Number(n[1]),Number(n[2])-1+t,Number(n[3]))),r=a.getUTCFullYear(),s=String(a.getUTCMonth()+1).padStart(2,"0"),l=String(a.getUTCDate()).padStart(2,"0");return`${r}-${s}-${l}`}function Xg(e,t){const n=/^(\d{4})-(\d{2})/.exec(String(e||"")),a=/^(\d{4})-(\d{2})/.exec(String(t||""));if(!n||!a)return Gg;const r=Number(a[1])*12+Number(a[2])-(Number(n[1])*12+Number(n[2]))+1;return Math.max(1,r)}function so(e,t){return t?e==="total"?{from:Kg(t,-23),to:t}:{from:Wa(t,-29),to:t}:{from:null,to:null}}function Qg(e){const t=/^\d{4}-(\d{2}-\d{2})T(\d{2}:\d{2})/.exec(String(e||""));return t?`${t[1]} ${t[2]}`:e||""}function Tn({label:e,value:t,sub:n}){return o.jsxs("div",{className:"flex flex-col gap-1.5 group",children:[o.jsx("span",{className:"text-[9px] font-bold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:e}),o.jsx("span",{className:"text-xl font-black font-mono text-zinc-900 dark:text-zinc-50 tracking-tight leading-none tabular-nums transition-transform duration-200 group-hover:-translate-y-[1px]",children:t}),n?o.jsx("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono tabular-nums",children:n}):null]})}function Jg({zoomConfig:e,period:t,from:n,to:a,timeZoneLabel:r,onClose:s,renderChart:l}){const{currency:i,rate:c}=tn(),d=P.useMemo(()=>Yn({timeZone:e?.timeZone,offsetMinutes:e?.tzOffsetMinutes,date:e?.now||new Date})||a||n||null,[e?.timeZone,e?.tzOffsetMinutes,e?.now,a,n]),[u,f]=P.useState(()=>oo(t)),[h,g]=P.useState(d),[p,x]=P.useState(()=>so(oo(t),d)),[v,b]=P.useState(!1),[w,k]=P.useState(!1),[D,_]=P.useState(!1),S=d,A=$=>{f($),$!=="day"&&x(so($,d))},j=P.useMemo(()=>u==="day"?{from:h,to:h,months:void 0}:u==="total"?{from:void 0,to:p.to,months:Xg(p.from,p.to)}:{from:p.from,to:p.to,months:void 0},[u,h,p]),{rows:C,from:F,to:L,loading:Y}=Fo({...e,period:u,from:j.from,to:j.to,months:j.months}),M=P.useMemo(()=>zg(C),[C]),O=P.useCallback(()=>_(!0),[]),z=$=>{$.target===$.currentTarget&&D&&s()};if(P.useEffect(()=>{const $=re=>{re.key==="Escape"&&O()};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[O]),typeof document>"u")return null;const T=u==="day"&&!!h,W=u==="day"&&!!h&&(!S||h<S),G=M.totalCostUsd!=null?en(M.totalCostUsd,{currency:i,rate:c}):null;return o.jsxs("div",{onAnimationEnd:z,onClick:$=>{$.target===$.currentTarget&&O()},className:qe("fixed inset-0 z-50 flex items-center justify-center p-3 md:p-6 backdrop-blur-md bg-black/15 dark:bg-black/40",D?"animate-tt-fade-out":"animate-tt-fade-in"),children:[o.jsx("style",{children:`
2
+ @keyframes tt-fade-in { from { opacity: 0; } to { opacity: 1; } }
3
+ @keyframes tt-fade-out { from { opacity: 1; } to { opacity: 0; } }
4
+ @keyframes tt-modal-entrance {
5
+ from { opacity: 0; transform: scale(0.96) translateY(10px); }
6
+ to { opacity: 1; transform: scale(1) translateY(0); }
7
+ }
8
+ @keyframes tt-modal-exit {
9
+ from { opacity: 1; transform: scale(1) translateY(0); }
10
+ to { opacity: 0; transform: scale(0.96) translateY(10px); }
11
+ }
12
+ .animate-tt-fade-in { animation: tt-fade-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
13
+ .animate-tt-fade-out { animation: tt-fade-out 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
14
+ .animate-tt-modal { animation: tt-modal-entrance 0.3s cubic-bezier(0.34, 1.3, 0.64, 1) forwards; }
15
+ .animate-tt-modal-exit { animation: tt-modal-exit 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
16
+ @media (prefers-reduced-motion: reduce) {
17
+ .animate-tt-fade-in, .animate-tt-fade-out, .animate-tt-modal, .animate-tt-modal-exit { animation: none; }
18
+ }
19
+ `}),o.jsxs("div",{className:qe("relative w-full max-w-6xl h-[88vh] backdrop-blur-2xl bg-white/90 dark:bg-oai-gray-900/90 border border-oai-gray-200/50 dark:border-white/10 shadow-2xl rounded-2xl flex flex-col md:flex-row overflow-hidden",D?"animate-tt-modal-exit":"animate-tt-modal"),children:[o.jsx("button",{type:"button",onClick:O,"aria-label":y("trend.zoom.close_aria"),className:"absolute top-4 right-4 z-50 p-2 rounded-full border border-oai-gray-200/60 dark:border-oai-gray-800/60 bg-white/50 dark:bg-oai-gray-900/50 text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-900 dark:hover:text-white hover:rotate-90 hover:scale-105 active:scale-95 transition-all duration-300",children:o.jsx(jo,{size:16})}),o.jsxs("div",{className:"w-full md:w-[320px] shrink-0 border-b md:border-b-0 md:border-r border-zinc-200/50 dark:border-zinc-800/40 p-5 md:p-6 flex flex-col gap-6 overflow-y-auto backdrop-blur-md bg-zinc-50/50 dark:bg-zinc-950/50",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[o.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[o.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:Xt}}),o.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:Xt}})]}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:y("trend.zoom.badge")})]}),o.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:y("trend.monitor.label")}),r?o.jsx("p",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 mt-1.5 font-mono select-none",children:r}):null,o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:y("trend.zoom.desc")})]}),o.jsxs("div",{className:"grid grid-cols-2 gap-x-5 gap-y-5 border-y border-zinc-200/50 dark:border-zinc-800/50 py-5 select-none",children:[o.jsx(Tn,{label:y("trend.zoom.stats.tokens"),value:Ae(M.totalTokens)}),G?o.jsx(Tn,{label:y("trend.zoom.stats.cost"),value:G}):null,o.jsx(Tn,{label:y("trend.zoom.stats.conversations"),value:M.conversationCount.toLocaleString()}),M.peak?o.jsx(Tn,{label:y("trend.zoom.stats.peak"),value:Ae(M.peak.value),sub:Qg(M.peak.label)}):null]}),o.jsxs("div",{className:"flex flex-col gap-2 select-none",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx($l,{size:11,style:{color:Xt}}),o.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:Xt},children:y("trend.zoom.insight_badge")})]}),o.jsxs("div",{className:"pl-3.5 border-l-2 relative",style:{borderColor:Xt},children:[o.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:Xt}}),o.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:y(Ug(M),{active:M.activeBuckets,peak:Ae(M.peak?.value||0)})})]})]})]}),o.jsxs("div",{className:"flex-1 min-w-0 flex flex-col p-5 md:p-6 overflow-y-auto",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6 pr-10",children:[o.jsx("div",{role:"tablist","aria-label":y("trend.zoom.gran.aria"),className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[11px]",children:qg.map($=>o.jsx("button",{type:"button",role:"tab","aria-selected":u===$.period,onClick:()=>A($.period),className:qe("px-2.5 py-1 rounded transition-colors",u===$.period?"bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200"),children:y($.labelKey)},$.period))}),u==="day"?o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx("button",{type:"button",onClick:()=>T&&g($=>Wa($,-1)),disabled:!T,"aria-label":y("trend.zoom.prev_day"),className:"p-1 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 disabled:opacity-30 disabled:pointer-events-none transition-colors",children:o.jsx(tc,{size:16})}),o.jsxs(ja,{open:v,onOpenChange:b,children:[o.jsx(Ma,{"aria-label":y("trend.zoom.pick_day"),className:"text-[12px] font-medium text-oai-gray-700 dark:text-oai-gray-200 tabular-nums min-w-[100px] text-center px-2 py-0.5 rounded-md border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:h||"—"}),o.jsx(Da,{children:o.jsx(Ca,{sideOffset:8,side:"bottom",align:"center",className:"!z-[9999]",children:o.jsx(Ta,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:o.jsx(Oa,{from:h,to:h,onApply:$=>{$&&g($),b(!1)},onCancel:()=>b(!1)})})})})]}),o.jsx("button",{type:"button",onClick:()=>W&&g($=>Wa($,1)),disabled:!W,"aria-label":y("trend.zoom.next_day"),className:"p-1 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 disabled:opacity-30 disabled:pointer-events-none transition-colors",children:o.jsx(Ao,{size:16})})]}):o.jsxs(ja,{open:w,onOpenChange:k,children:[o.jsx(Ma,{"aria-label":y("trend.zoom.pick_range"),className:"text-xs font-medium text-oai-gray-600 dark:text-oai-gray-300 tabular-nums px-2.5 py-1 rounded-md border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors select-none",children:p.from&&p.to?p.from===p.to?p.from:`${p.from} → ${p.to}`:"—"}),o.jsx(Da,{children:o.jsx(Ca,{sideOffset:8,side:"bottom",align:"end",className:"!z-[9999]",children:o.jsx(Ta,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:o.jsx(Oa,{from:p.from,to:p.to,onApply:($,re)=>{$&&x({from:$,to:re||$}),k(!1)},onCancel:()=>k(!1)})})})})]})]}),o.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:Y&&(!C||C.length===0)?o.jsx("div",{className:"flex-1 flex items-center justify-center",children:o.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:y("trend.zoom.loading")})}):l({rows:C,from:F,to:L,period:u,timeZoneLabel:r})})]})]})]})}function io(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,a=Math.floor(n),r=Math.ceil(n);if(a===r)return e[a];const s=n-a;return e[a]+(e[r]-e[a])*s}function Zg(e){const t=Array.isArray(e)?e.filter(r=>Number.isFinite(r)&&r>0).sort((r,s)=>r-s):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let a=n;if(t.length>=4){const r=io(t,.25),s=io(t,.75),l=Math.max(s-r,0),i=s+l*1.5;n>i&&(a=Math.max(i,s,1))}return{rawMax:n,effectiveMax:Math.max(a,1),clippedValues:Array.isArray(e)?e.map(r=>!Number.isFinite(r)||r<=0?0:Math.min(r,Math.max(a,1))):[]}}const lo=["#f472b6","#38bdf8","#34d399","#fbbf24","#a78bfa","#fb7185","#2dd4bf","#f97316","#6366f1","#ec4899","#14b8a6","#f59e0b"],Ns={Input:"#38bdf8","Cached Input":"#14b8a6",Output:"#a78bfa","Reasoning Output":"#fb7185"},ey={codex:"#3b82f6",gpt:"#10b981",openai:"#10b981",claude:"#d97757",anthropic:"#d97757",gemini:"#2196f3",google:"#2196f3",kimi:"#a78bfa",moonshot:"#a78bfa",opencode:"#f59e0b",deepseek:"#f59e0b",droid:"#ef4444",kilo:"#facc15"};function Ss(e){const t=e.toLowerCase();for(const[r,s]of Object.entries(ey))if(t.includes(r))return s;let n=0;for(let r=0;r<e.length;r++)n=e.charCodeAt(r)+((n<<5)-n);const a=Math.abs(n)%lo.length;return lo[a]}function ty(e){if(!e)return[];const t=[];if(e.models&&typeof e.models=="object")for(const[n,a]of Object.entries(e.models)){const r=Number(a);Number.isFinite(r)&&r>0&&t.push({type:"model",name:n,value:r})}if(t.length===0){const n=[{name:"Input",key:"input_tokens"},{name:"Cached Input",key:"cached_input_tokens"},{name:"Output",key:"output_tokens"},{name:"Reasoning Output",key:"reasoning_output_tokens"}];for(const a of n){const r=Number(e[a.key]);Number.isFinite(r)&&r>0&&t.push({type:"token_type",name:a.name,value:r})}}return t.sort((n,a)=>a.value-n.value)}function ny(e,t){return e?.future?"predicted":e?.missing?"unsynced":t>0?"real":"real_zero"}const ay=.35,co=2,uo=4;function ry({value:e,displayValue:t,scale:n,index:a,row:r,totalBars:s,onMouseEnter:l,onMouseLeave:i}){const c=Ia(),d=ny(r,e),u=d==="predicted"||d==="unsynced",f=n.effectiveMax>0?t/n.effectiveMax*100:0;let h,g;d==="real"?(h=`${Math.max(f,2)}%`,g=`${uo}px`):u&&f>0?(h=`${f}%`,g=`${uo}px`):(h=`${co}px`,g=`${co}px`);const p=d==="real"?ty(r):[],x=p.reduce((b,w)=>b+w.value,0),v=d!=="real"||x<=0;return o.jsxs(Oe.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:c?0:.3,delay:c?0:.4+a*.008,ease:[.16,1,.3,1]},style:{originY:1},onMouseEnter:b=>l(b,r,e,p,d,t),onMouseLeave:i,children:[o.jsx("div",{className:"absolute inset-x-0 top-0 bottom-0 bg-oai-gray-100/70 dark:bg-white/[0.08] opacity-0 group-hover:opacity-100 transition-opacity duration-150 pointer-events-none"}),o.jsx("div",{className:"absolute inset-x-0 bottom-0 flex flex-col-reverse justify-start overflow-hidden cursor-pointer transition-all duration-200",style:{height:h,minHeight:g},children:v?o.jsx("div",{"data-trend-bar":"true",className:qe("h-full w-full group-hover:brightness-110 transition-all",d==="real"?"":"bg-oai-gray-100 dark:bg-oai-gray-800"),style:{opacity:u?ay:1,background:d==="real"?"#10b981":void 0}}):p.map((b,w)=>{const k=b.type==="token_type"?Ns[b.name]:Ss(b.name),D=`${b.value/x*100}%`;return o.jsx("div",{"data-trend-bar":w===0?"true":void 0,className:"w-full group-hover:brightness-110 transition-all",style:{height:D,background:k}},w)})})]})}function oy(e){if(e?.missing||e?.future)return null;const t=e?.billable_total_tokens??e?.total_tokens??e?.value;if(t==null)return null;const n=Number(t);return Number.isFinite(n)&&n>=0?n:null}const fo=.98;function sy(e){if(!Array.isArray(e))return[];const t=new Array(e.length);for(let n=0;n<e.length;n++){if(e[n]!==null){t[n]=e[n];continue}let a=null,r=-1;for(let i=n-1;i>=0;i--)if(e[i]!==null){a=e[i],r=i;break}let s=null,l=-1;for(let i=n+1;i<e.length;i++)if(e[i]!==null){s=e[i],l=i;break}if(a!==null&&s!==null){const i=(n-r)/(l-r);t[n]=a+(s-a)*i}else if(a!==null){let i=0,c=0;for(let u=0;u<=r;u++)e[u]!==null&&(i+=e[u],c+=1);const d=c>0?i/c:a;t[n]=d*Math.pow(fo,n-r)}else if(s!==null){let i=0,c=0;for(let u=l;u<e.length;u++)e[u]!==null&&(i+=e[u],c+=1);const d=c>0?i/c:s;t[n]=d*Math.pow(fo,l-n)}else t[n]=0}return t}function js({rows:e,from:t,to:n,period:a,timeZoneLabel:r,showTimeZoneLabel:s=!0,className:l="",embedded:i=!1,chartHeightClass:c="h-40",isZoom:d=!1,zoomConfig:u=null}){const f=P.useMemo(()=>Array.isArray(e)&&e.length?e:[],[e]),{rawValues:h,seriesValues:g,scale:p,interpolatedValues:x}=P.useMemo(()=>{const M=f.map(oy),O=M.map(z=>z??0);return{rawValues:M,seriesValues:O,scale:Zg(O),interpolatedValues:sy(M)}},[f]),{currency:v,rate:b}=tn(),w=Lg(a),[k,D]=P.useState(null),[_,S]=P.useState({x:0,y:0,shiftX:0,flipDown:!1}),[A,j]=P.useState(!1),C=P.useRef(null),F=P.useRef(null),L=(M,O,z,T,W,G)=>{F.current&&(clearTimeout(F.current),F.current=null);const $=d?Hg(O,w):O?.day||O?.hour||O?.month||"";D({row:O,value:z,segments:T,timeLabel:$,kind:W,displayValue:G});const re=M.currentTarget.querySelector('[data-trend-bar="true"]'),I=re&&re.parentElement?re.parentElement.getBoundingClientRect():M.currentTarget.getBoundingClientRect(),te=C.current;if(!te)return;const E=te.getBoundingClientRect(),se=I.left-E.left+I.width/2,X=I.top-E.top,H=140;let Q=0;se<H?Q=H-se:se>E.width-H&&(Q=E.width-H-se);const ce=96+(d?22:0)+(T.length?Math.min(T.length*30+24,174):0),le=X<ce+12;S({x:se,y:X,shiftX:Q,flipDown:le})},Y=()=>{F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{D(null)},150)};return o.jsxs("div",{ref:C,className:qe("relative",!i&&"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",d&&"flex h-full flex-col",l),children:[!i&&o.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:y("trend.monitor.label")}),s&&r&&o.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:r})]}),u&&o.jsx("button",{type:"button",onClick:()=>j(!0),"aria-label":y("trend.zoom.open_aria"),title:y("trend.zoom.open_aria"),className:"shrink-0 p-1.5 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:o.jsx(Il,{size:14})})]}),o.jsxs("div",{className:qe("space-y-3",d&&"flex flex-1 flex-col min-h-0 !space-y-0 gap-3"),children:[o.jsxs("div",{className:qe("relative",d&&"flex-1 min-h-0"),children:[o.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(M=>o.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-M}%`}},M))}),o.jsx("div",{className:qe("flex items-end gap-0.5 relative z-0",c),children:g.length>0?g.map((M,O)=>{const z=f[O],W=z?.missing||z?.future?Math.min(x[O]??0,p.effectiveMax):p.clippedValues[O]??0;return o.jsx(ry,{value:M,displayValue:W,scale:p,index:O,row:z,totalBars:g.length,onMouseEnter:L,onMouseLeave:Y},O)}):o.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:o.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),d&&g.length>0&&o.jsx("div",{className:"flex gap-0.5 select-none",children:f.map((M,O)=>{const z=g.length-1,T=Math.max(1,Math.ceil(g.length/8)),W=O%T===0||O===z,G=O===0?"justify-start":O===z?"justify-end":"justify-center";return o.jsx("div",{className:qe("flex-1 min-w-0 flex",G),children:W&&o.jsx("span",{className:"text-[9px] text-oai-gray-400 dark:text-oai-gray-500 whitespace-nowrap font-mono",children:Vg(M,w)})},O)})}),t&&n&&o.jsxs("div",{className:"flex justify-between text-xs text-oai-gray-500 dark:text-oai-gray-300 font-medium pt-2 border-t border-oai-gray-100 dark:border-oai-gray-800",children:[o.jsx("span",{children:t===n?`${t} 00:00`:t}),o.jsx("span",{children:t===n?`${n} 24:00`:n})]})]}),k&&o.jsxs("div",{className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out pointer-events-none",style:{left:`${_.x}px`,top:`${_.y}px`},children:[o.jsxs("div",{className:qe("absolute left-0 backdrop-blur-md bg-white/95 dark:bg-oai-gray-900/95 border border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-xl rounded-xl p-3.5 max-w-[280px] min-w-[220px] flex flex-col gap-2 animate-in fade-in zoom-in-95 duration-100",_.flipDown?"top-[10px]":"bottom-[10px]"),style:{transform:`translateX(calc(-50% + ${_.shiftX}px))`},children:[o.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[o.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:k.timeLabel}),k.kind==="predicted"&&o.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Predicted"}),k.kind==="unsynced"&&o.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Unsynced"})]}),o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsxs("div",{className:"flex items-baseline gap-1",children:[o.jsx("span",{className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:k.kind==="predicted"||k.kind==="unsynced"?`~${Math.round(k.displayValue??0).toLocaleString()}`:k.value.toLocaleString()}),o.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),d&&(k.row?.total_cost_usd!=null||Number(k.row?.conversation_count)>0)&&o.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:[k.row?.total_cost_usd!=null&&o.jsxs("span",{children:[o.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:en(k.row.total_cost_usd,{currency:v,rate:b})})," ",y("trend.zoom.tooltip.cost")]}),Number(k.row?.conversation_count)>0&&o.jsxs("span",{children:[o.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:Number(k.row.conversation_count).toLocaleString()})," ",y("trend.zoom.tooltip.conversations")]})]}),k.segments&&k.segments.length>0?o.jsxs("div",{className:"mt-1.5 border-t border-oai-gray-100 dark:border-oai-gray-800/60 pt-2 flex flex-col gap-1.5",children:[o.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:k.segments[0].type==="model"?"Model Breakdown":"Token Breakdown"}),o.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:k.segments.map(({name:M,value:O,type:z})=>{const T=k.value||1,W=Math.round(O/T*100),G=z==="token_type"?Ns[M]:Ss(M);return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[o.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[130px]",title:M,children:M}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.jsx("span",{className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:O.toLocaleString()}),o.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[W,"%"]})]})]}),o.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:o.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${W}%`,backgroundColor:G,boxShadow:`0 0 4px ${G}55`}})})]},M)})})]}):null]})]}),o.jsx("div",{className:qe("absolute left-0 -translate-x-1/2 w-2.5 h-2.5 rotate-45 bg-white dark:bg-oai-gray-900 border-oai-gray-200/50 dark:border-oai-gray-800/50 shadow-sm",_.flipDown?"top-[6px] border-l border-t":"bottom-[6px] border-r border-b"),style:_.flipDown?{marginTop:"1px"}:{marginBottom:"1px"}})]}),A&&u&&o.jsx(Jg,{zoomConfig:u,period:a,from:t,to:n,timeZoneLabel:r,onClose:()=>j(!1),renderChart:M=>o.jsx(js,{embedded:!0,isZoom:!0,chartHeightClass:"h-full",...M})})]})}const mo={"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"},pa=new Map;async function iy(e){if(pa.has(e))return pa.get(e);const t=await fetch(`/clawd/${e}`);if(!t.ok)return null;const a=(await t.text()).replace(/<svg([^>]*)>/,(r,s)=>`<svg${s.replace(/\s+width="[^"]*"/g,"").replace(/\s+height="[^"]*"/g,"")} width="100%" height="100%">`);return pa.set(e,a),a}function ly({state:e="idle-living",size:t=48,className:n=""}){const[a,r]=m.useState(""),s=m.useRef(null),i=cy()?"static-base":e,c=mo[i]||mo["static-base"];return m.useEffect(()=>{let d=!1;return iy(c).then(u=>{!d&&u&&r(u)}),()=>{d=!0}},[c]),m.useEffect(()=>{const d=s.current?.querySelector("svg");if(d)try{const u=d.getBBox();u.width>0&&u.height>0&&d.setAttribute("viewBox",`${u.x-2} ${u.y-2} ${u.width+4} ${u.height+4}`)}catch{}},[a]),o.jsx("div",{ref:s,className:`clawd-animated ${n}`,style:{width:t,height:t,display:"inline-flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},dangerouslySetInnerHTML:{__html:a}})}function cy(){const[e,t]=m.useState(()=>typeof window>"u"?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches);return m.useEffect(()=>{const n=window.matchMedia("(prefers-reduced-motion: reduce)"),a=r=>t(r.matches);return n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[]),e}function dy({todayTokens:e=0,isSyncing:t=!1,hasError:n=!1,isDisconnected:a=!1}={}){return m.useMemo(()=>n?"error":a?"disconnected":t?"working-typing":e===0?"sleeping":e<5e4?"idle-living":e<2e5?"idle-look":e<5e5?"working-ultrathink":e<2e6?"working-typing":"working-ultrathink",[e,t,n,a])}const ho="macAppBannerDismissed",uy="leaderboardBannerDismissed",fy="https://github.com/mm7894215/TokenTracker/releases/latest",go="tokentracker_native_app",Pn=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(go,"1"),!0):localStorage.getItem(go)==="1"}catch{return!1}})();function my({todayTokens:e=0,isSyncing:t=!1,enterDelay:n=0}){const{openLoginModal:a}=vl(),{signedIn:r}=Oo(),s=dy({todayTokens:e,isSyncing:t}),l=Pn?uy:ho,[i,c]=m.useState(()=>{try{return localStorage.getItem(l)==="1"?!0:!Pn&&new URLSearchParams(window.location.search).get("from")==="menubar"?(localStorage.setItem(ho,"1"),!0):!1}catch{return!1}}),d=m.useCallback(()=>{c(!0);try{localStorage.setItem(l,"1")}catch{}},[l]);if(i)return null;let u,f,h,g,p,x;Pn&&r?(u="View the Leaderboard",f="Compare your usage globally",h="Leaderboard",g=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M2 8.5V10h8V8.5M6 1.5v6m0 0L3.5 5M6 7.5l2.5-2.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round",transform:"rotate(180 6 6)"})}),p=()=>{window.location.pathname="/leaderboard"}):Pn?(u="Join the Leaderboard",f="Log in to compare your usage with others",h="Log In",g=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M6.5 1.5h3a1 1 0 011 1v7a1 1 0 01-1 1h-3M5 8.5L7.5 6 5 3.5M7.5 6H1.5",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),p=a):(u="Try the Menu Bar App",f="Always-on stats with Clawd companion",h="Download",g=o.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",className:"opacity-70",children:o.jsx("path",{d:"M6 2v6m0 0L3.5 5.5M6 8l2.5-2.5M2 10h8",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round",strokeLinejoin:"round"})}),x=fy);const v=x?Oe.a:Oe.button,b=x?{href:x,target:"_blank",rel:"noopener noreferrer"}:{onClick:p};return o.jsx(Oe.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.35,delay:n,ease:[.16,1,.3,1]},className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx("div",{className:"flex-shrink-0",children:o.jsx(ly,{state:s,size:56})}),o.jsxs("div",{className:"flex-1 min-w-0",children:[o.jsx("div",{className:"text-sm font-medium text-oai-gray-900 dark:text-oai-white",children:u}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-0.5",children:f})]}),o.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[o.jsxs(v,{...b,whileHover:{scale:1.03},whileTap:{scale:.97},className:"inline-flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-white bg-oai-gray-900 dark:bg-oai-white dark:text-oai-gray-900 rounded-md hover:opacity-90 transition-opacity",children:[h,g]}),o.jsx("button",{onClick:d,className:"p-1 text-oai-gray-400 hover:text-oai-gray-600 dark:hover:text-oai-gray-300 transition-colors","aria-label":"Dismiss",children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:o.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.2",strokeLinecap:"round"})})})]})]})})}const yo="widgetOnboardingDismissed",po="tokentracker_native_app",hy=(()=>{try{return new URLSearchParams(window.location.search).get("app")==="1"?(localStorage.setItem(po,"1"),!0):localStorage.getItem(po)==="1"}catch{return!1}})();function gy({enterDelay:e=0}){const[t,n]=m.useState(()=>{try{return localStorage.getItem(yo)==="1"}catch{return!1}}),a=m.useCallback(()=>{n(!0);try{localStorage.setItem(yo,"1")}catch{}},[]);return!hy||_l()?null:o.jsx(Ba,{initial:!1,children:!t&&o.jsxs(Oe.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8,transition:{duration:.2,ease:[.4,0,.2,1]}},transition:{duration:.35,delay:e,ease:[.16,1,.3,1]},className:"relative rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-4",children:[o.jsx("button",{type:"button",onClick:a,"aria-label":y("dashboard.widgets.dismiss_aria"),className:"absolute top-2.5 right-2.5 z-10 inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-gray-300 dark:focus-visible:ring-oai-gray-600 transition-colors",children:o.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:o.jsx("path",{d:"M4 4l6 6m0-6L4 10",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}),o.jsx("div",{className:"rounded-lg overflow-hidden ring-1 ring-black/5 dark:ring-white/10 shadow-sm",children:o.jsx("img",{src:"/widgets-overview.png",alt:y("dashboard.widgets.title"),width:734,height:552,className:"w-full h-auto block",loading:"lazy",decoding:"async"})}),o.jsxs("div",{className:"mt-4",children:[o.jsx("div",{className:"text-sm font-medium tracking-tight text-oai-gray-900 dark:text-oai-white",children:y("dashboard.widgets.title")}),o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mt-1 leading-snug",children:y("dashboard.widgets.hint")})]})]},"widget-onboarding-card")})}function ye({className:e}){return o.jsx("div",{className:qe("rounded bg-oai-gray-200/70 dark:bg-oai-gray-800/70 animate-pulse",e)})}function yy(){return o.jsx("div",{className:"flex gap-1 overflow-hidden",children:Array.from({length:20},(e,t)=>o.jsx("div",{className:"flex flex-col gap-1",children:Array.from({length:7},(n,a)=>o.jsx(ye,{className:"h-2.5 w-2.5 rounded-[2px]"},a))},t))})}function py(){return o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-4",children:[o.jsxs("div",{className:"lg:col-span-4 flex flex-col gap-4 min-w-0 order-2 lg:order-1",children:[o.jsxs("div",{className:"flex flex-col gap-2",children:[o.jsx(ye,{className:"h-9 w-40"}),o.jsx(ye,{className:"h-7 w-28"})]}),o.jsx(vt,{children:o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsx(ye,{className:"h-3.5 w-24"}),Array.from({length:4},(e,t)=>o.jsxs("div",{className:"flex items-center justify-between gap-2",children:[o.jsx(ye,{className:"h-3 w-20"}),o.jsx(ye,{className:"h-3 w-12"})]},t))]})}),o.jsx(vt,{children:o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsx(ye,{className:"h-3.5 w-20"}),o.jsx(yy,{})]})}),o.jsx(vt,{children:o.jsxs("div",{className:"flex flex-col gap-3",children:[o.jsx(ye,{className:"h-3.5 w-28"}),o.jsx(ye,{className:"h-32 w-full"})]})})]}),o.jsxs("div",{className:"lg:col-span-8 flex flex-col gap-4 min-w-0 order-1 lg:order-2",children:[o.jsxs(vt,{children:[o.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[o.jsx("div",{className:"flex flex-1 min-w-0 gap-1",children:Array.from({length:5},(e,t)=>o.jsx(ye,{className:"h-7 w-14 rounded-md shrink-0"},t))}),o.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.jsx(ye,{className:"h-8 w-20 rounded-md"}),o.jsx(ye,{className:"h-8 w-8 rounded-md"})]})]}),o.jsxs("div",{className:"flex flex-col items-center gap-4 mb-8",children:[o.jsx(ye,{className:"h-3 w-28"}),o.jsx(ye,{className:"h-14 w-3/5 max-w-xs"}),o.jsx(ye,{className:"h-6 w-24"})]}),o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsx(ye,{className:"h-1.5 w-full rounded-full"}),o.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 xl:grid-cols-5 gap-3",children:Array.from({length:5},(e,t)=>o.jsxs("div",{className:"flex flex-col gap-2 rounded-lg border border-oai-gray-200 dark:border-oai-gray-700 p-3",children:[o.jsxs("div",{className:"flex items-center gap-1.5",children:[o.jsx(ye,{className:"h-[15px] w-[15px] rounded-sm shrink-0"}),o.jsx(ye,{className:"h-3 w-12"})]}),o.jsx(ye,{className:"h-5 w-10"}),o.jsx(ye,{className:"h-2.5 w-14"})]},t))})]})]}),o.jsxs(vt,{children:[o.jsxs("div",{className:"flex items-center gap-1 mb-4",children:[o.jsx(ye,{className:"h-7 w-16 rounded"}),o.jsx(ye,{className:"h-7 w-20 rounded"})]}),o.jsxs("div",{className:"flex items-center gap-3 border-b border-oai-gray-200 dark:border-oai-gray-700 pb-2",children:[o.jsx(ye,{className:"h-3 w-20 shrink-0"}),Array.from({length:5},(e,t)=>o.jsx(ye,{className:"h-3 flex-1"},t))]}),o.jsx("div",{className:"flex flex-col",children:Array.from({length:8},(e,t)=>o.jsxs("div",{className:"flex items-center gap-3 border-b border-oai-gray-100 dark:border-oai-gray-800 py-2.5 last:border-b-0",children:[o.jsx(ye,{className:"h-3.5 w-20 shrink-0"}),Array.from({length:5},(n,a)=>o.jsx(ye,{className:"h-3.5 flex-1"},a))]},t))})]})]})]})}const by=Jl.slice(0,10);function bo({title:e,subtitle:t,desc:n,loginCard:a,copy:r}){return o.jsxs("div",{className:"min-h-[85vh] w-full flex items-center justify-center text-oai-black dark:text-white relative overflow-hidden px-4 md:px-8 py-8 md:py-16 transition-colors duration-200 bg-[linear-gradient(to_right,#80808007_1px,transparent_1px),linear-gradient(to_bottom,#80808007_1px,transparent_1px)] bg-[size:40px_40px]",children:[o.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_50%_0%,rgba(59,130,246,0.03),transparent_50%)] dark:bg-[radial-gradient(circle_at_50%_0%,rgba(99,102,241,0.05),transparent_50%)] pointer-events-none"}),o.jsxs("div",{className:"w-full max-w-5xl grid grid-cols-1 lg:grid-cols-12 gap-8 lg:gap-16 items-start relative z-10",children:[o.jsxs("div",{className:"lg:col-span-7 flex flex-col justify-center space-y-8 text-left pr-0 lg:pr-6",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:32,height:32,className:"rounded-md shadow-md border border-oai-gray-200/50 dark:border-oai-gray-800 shadow-black/10 dark:shadow-black/30"}),o.jsx("span",{className:"text-xl font-bold tracking-tight bg-gradient-to-r from-oai-black to-oai-gray-600 dark:from-white dark:to-oai-gray-400 bg-clip-text text-transparent font-oai",children:r("shared.app_name")})]}),o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-4",children:[o.jsx("h1",{className:"text-3xl md:text-4xl lg:text-4.5xl font-black tracking-tight leading-[1.15] text-oai-black dark:text-white",children:e}),o.jsx("p",{className:"text-oai-gray-500 dark:text-oai-gray-400 text-sm md:text-base max-w-xl leading-relaxed",children:n})]}),o.jsx("div",{className:"w-full max-w-[280px] sm:max-w-md opacity-85 hover:opacity-100 transition-opacity duration-200",children:o.jsx("div",{className:"flex justify-start",children:o.jsx(Ql,{logos:by,columnCount:6})})})]})]}),o.jsx("div",{className:"lg:col-span-5 flex justify-center",children:o.jsxs(Oe.div,{initial:{opacity:0,x:20},animate:{opacity:1,x:0},transition:{duration:.3},className:"w-full max-w-[400px] rounded-2xl border border-oai-gray-200/80 dark:border-oai-gray-800 bg-white/70 dark:bg-oai-gray-950/40 backdrop-blur-md shadow-2xl p-1 relative overflow-hidden",children:[o.jsx("div",{className:"absolute -inset-px bg-gradient-to-b from-white/10 dark:from-white/5 to-transparent pointer-events-none rounded-2xl"}),a]})})]})]})}function xy(e){const{copy:t,onOpenShare:n,screenshotMode:a,showExpiredGate:r,showAuthGate:s,screenshotTitleLine1:l,screenshotTitleLine2:i,identityDisplayName:c,identityStartDate:d,activeDays:u,identitySubscriptions:f,identityScrambleDurationMs:h,projectUsageEntries:g,projectUsageLimit:p,setProjectUsageLimit:x,topModels:v,signedIn:b,publicMode:w,isLocalMode:k,shouldShowInstall:D,installPrompt:_,handleCopyInstall:S,installCopied:A,installInitCmdDisplay:j,trendRowsForDisplay:C,trendFromForDisplay:F,trendToForDisplay:L,trendZoomConfig:Y,usageFrom:M,usageTo:O,period:z,trendTimeZoneLabel:T,activityHeatmapBlock:W,isCapturing:G,handleShareToX:$,screenshotTwitterButton:re,screenshotTwitterHint:I,periodsForDisplay:te,setSelectedPeriod:E,customFrom:se,customTo:X,onCustomRangeApply:H,customRangeOpen:Q,onCustomRangeOpenChange:ce,summaryLabel:le,summaryValue:q,summaryFullValue:ne,onToggleSummaryFormat:Z,summaryTotalTokensRaw:me,summaryCostValue:ve,summaryConversationsValue:pe,rollingUsage:ie,costInfoEnabled:de,openCostModal:_e,costModalOpen:we,closeCostModal:ht,allowBreakdownToggle:Ge,refreshAll:nn,usageLoadingState:We,initialDashboardLoading:$e,fleetData:Ee,hasDetailsActual:ze,dailyEmptyPrefix:St,installSyncCmd:De,dailyEmptySuffix:Ce,detailsColumns:Ie,ariaSortFor:He,toggleSort:jt,sortIconFor:gt,pagedDetails:Ue,dailyBreakdownRows:an,dailyBreakdownColumns:tt,dailyBreakdownAriaSortFor:Yt,dailyBreakdownSortIconFor:rn,dailyBreakdownDateKey:J,detailsDateKey:B,renderDetailDate:K,renderDailyBreakdownDate:ae,renderDetailCell:he,DETAILS_PAGED_PERIODS:oe,detailsPageCount:Mt,detailsPage:on,setDetailsPage:Dt}=e,lt=null,Ct=null,yt=.06,xn=.05,Ke=.11;let Te=0;const pt=()=>Ke+yt*Te++,kn=Ke+yt*5;return o.jsxs(o.Fragment,{children:[o.jsxs(oc,{bare:!a,hideHeader:a,header:lt,footer:a?null:Ct,className:a?"screenshot-mode":"",children:[s&&o.jsx(bo,{title:t("dashboard.auth_gate.hero_title"),desc:t("dashboard.auth_gate.desc"),copy:t,loginCard:o.jsx(jr,{title:t("dashboard.auth_gate.title"),subtitle:t("dashboard.auth_gate.subtitle"),hideLogo:!0,className:"bg-transparent rounded-xl"})}),r&&o.jsx(bo,{title:t("dashboard.expired_gate.hero_title"),desc:t("dashboard.expired_gate.desc"),copy:t,loginCard:o.jsx(jr,{title:t("dashboard.expired_gate.title"),subtitle:t("dashboard.expired_gate.subtitle"),hideLogo:!0,className:"bg-transparent rounded-xl"})}),!s&&!r&&$e&&o.jsx(py,{}),!s&&!r&&!$e&&o.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-12 gap-4",children:[o.jsxs("div",{className:"lg:col-span-4 flex flex-col gap-4 min-w-0 order-2 lg:order-1",children:[a?o.jsx("div",{className:"flex items-start justify-between gap-4",children:o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx("span",{className:"text-3xl md:text-4xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:l}),o.jsx("span",{className:"text-2xl md:text-3xl font-semibold text-oai-black dark:text-oai-white tracking-tight leading-none",children:i})]})}):null,k?o.jsx(my,{todayTokens:me,isSyncing:We,enterDelay:pt()}):null,o.jsx(qt,{delay:pt(),children:o.jsx(Qc,{title:t("dashboard.identity.title"),subtitle:t("dashboard.identity.subtitle"),period:z,rankLabel:d??t("identity_card.rank_placeholder"),streakDays:u,subscriptions:f,periodConversations:pe,rolling:ie,topModels:v})}),k?o.jsx(gy,{enterDelay:pt()}):null,D?o.jsx(qt,{delay:pt(),children:o.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-3",children:[o.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-300 mb-1.5",children:_}),o.jsxs(Oe.button,{onClick:S,whileHover:{scale:1.01},whileTap:{scale:.99},className:"w-full flex items-center justify-between px-3 py-2 bg-oai-gray-50 dark:bg-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-700 rounded-lg transition-colors",children:[o.jsx("code",{className:"text-xs font-mono text-oai-gray-700 dark:text-oai-gray-300",children:j}),o.jsx(Oe.span,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},className:"text-xs text-oai-brand",children:A?"Copied ✓":"Copy"},A?"copied":"copy")]})]})}):null,W&&o.jsx(qt,{delay:pt(),children:W}),a?null:o.jsx(qt,{delay:pt(),children:o.jsx(js,{rows:C,from:F,to:L,period:z,timeZoneLabel:T,showTimeZoneLabel:!1,zoomConfig:Y})}),a?o.jsxs("div",{className:"mt-4 flex flex-col items-center gap-2","data-screenshot-exclude":"true",style:G?{display:"none"}:void 0,children:[o.jsx(In,{type:"button",onClick:$,variant:"primary",size:"lg",disabled:G,children:re}),o.jsx("span",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-300",children:I})]}):null]}),o.jsxs("div",{className:"lg:col-span-8 flex flex-col gap-4 min-w-0 order-1 lg:order-2",children:[o.jsx(qt,{delay:xn,children:o.jsx($g,{period:z,periods:te,onPeriodChange:E,summaryLabel:le,summaryValue:q,summaryFullValue:ne,onToggleSummaryFormat:Z,summaryCostValue:ve,onCostInfo:de?_e:null,fleetData:Ee,onRefresh:a?null:nn,loading:We,onOpenShare:a?null:n,customFrom:se,customTo:X,onCustomRangeApply:H,customRangeOpen:Q,onCustomRangeOpenChange:ce,from:M,to:O})}),a?null:o.jsx(qt,{delay:kn,children:o.jsx(Kc,{projectEntries:g,projectLimit:p,onProjectLimitChange:x,copy:t,hasDetailsActual:ze,dailyEmptyPrefix:St,installSyncCmd:De,dailyEmptySuffix:Ce,detailsColumns:Ie,ariaSortFor:He,toggleSort:jt,sortIconFor:gt,pagedDetails:Ue,dailyBreakdownRows:an,dailyBreakdownColumns:tt,dailyBreakdownAriaSortFor:Yt,dailyBreakdownSortIconFor:rn,dailyBreakdownDateKey:J,detailsDateKey:B,renderDetailDate:K,renderDailyBreakdownDate:ae,renderDetailCell:he,DETAILS_PAGED_PERIODS:oe,period:z,detailsPageCount:Mt,detailsPage:on,setDetailsPage:Dt})})]})]})]}),o.jsx(Gc,{isOpen:we,onClose:ht,fleetData:Ee})]})}function Ms(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const It=new Map,Lt=new Map;function Ds(){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||!It.has(n))return;const a=It.get(n);It.delete(n),a({ok:!!t.ok,path:typeof t.path=="string"?t.path:void 0,error:typeof t.error=="string"?t.error:void 0})}),window.addEventListener("native:copyImageResult",e=>{const t=e?.detail||{},n=typeof t.requestId=="string"?t.requestId:null;if(!n||!Lt.has(n))return;const a=Lt.get(n);Lt.delete(n),a({ok:!!t.ok,error:typeof t.error=="string"?t.error:void 0})}))}async function ky(e){if(!Ms()||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"};Ds();const n=`copy_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(a=>{const r=window.setTimeout(()=>{Lt.has(n)&&(Lt.delete(n),a({ok:!1,error:"timeout"}))},8e3);Lt.set(n,s=>{window.clearTimeout(r),a(s)});try{t.postMessage({type:"action",name:"copyImageToClipboard",requestId:n,dataUrl:e})}catch(s){Lt.delete(n),window.clearTimeout(r),a({ok:!1,error:s?.message||String(s)})}})}async function xo(e,t){if(!Ms()||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"};Ds();const a=`save_${Date.now()}_${Math.random().toString(36).slice(2,8)}`;return new Promise(r=>{const s=window.setTimeout(()=>{It.has(a)&&(It.delete(a),r({ok:!1,error:"timeout"}))},8e3);It.set(a,l=>{window.clearTimeout(s),r(l)});try{n.postMessage({type:"action",name:"saveImageToDownloads",requestId:a,filename:t,dataUrl:e})}catch(l){It.delete(a),window.clearTimeout(s),r({ok:!1,error:l?.message||String(l)})}})}const Cs=1200,Ts=1630,Ps={broadsheet:{width:1200,height:1630},"annual-report":{width:1080,height:1865}},wy="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 ba=!1;function vy(){if(typeof document>"u"||ba)return;if(document.querySelector('link[data-share-card-fonts="true"]')){ba=!0;return}const t=document.createElement("link");t.rel="stylesheet",t.href=wy,t.dataset.shareCardFonts="true",t.crossOrigin="anonymous",document.head.appendChild(t),ba=!0}async function _y(){if(typeof document>"u")return;const e=document.fonts;if(!(!e||typeof e.ready?.then!="function"))try{await e.ready}catch{}}async function Ny(e,t={}){if(typeof window>"u"||!e)return null;vy(),await _y(),await new Promise(c=>requestAnimationFrame(()=>c(null)));const{toBlob:n,toPng:a}=await Wo(async()=>{const{toBlob:c,toPng:d}=await import("./index-BeoRn2gJ.js");return{toBlob:c,toPng:d}},[]),r=t.pixelRatio??2,s=e.offsetWidth||Cs,l=e.offsetHeight||Ts,i={pixelRatio:r,cacheBust:!0,width:s,height:l,style:{width:`${s}px`,height:`${l}px`},skipFonts:!1,filter:c=>!(c instanceof HTMLElement)||c.dataset?.screenshotExclude!=="true"};try{const c=await n(e,i);if(c)return c}catch{}try{const c=await a(e,i);return c?await(await fetch(c)).blob():null}catch{return null}}async function xa(e){return new Promise(t=>{const n=new FileReader;n.onload=()=>{const a=typeof n.result=="string"?n.result:null;t(a)},n.onerror=()=>t(null),n.readAsDataURL(e)})}function ko(e,t){if(typeof window>"u"||!e)return!1;try{const n=URL.createObjectURL(e),a=document.createElement("a");return a.href=n,a.download=t,document.body.appendChild(a),a.click(),a.remove(),setTimeout(()=>URL.revokeObjectURL(n),1e3),!0}catch{return!1}}function Ea(e){const t=Be(e);return Number.isFinite(t)?t:0}function Sy(e){return e?Ea(e.billable_total_tokens??e.total_tokens):0}function jy(e){const t=Array.isArray(e?.weeks)?e.weeks:[];if(!t.length)return{weeks:[],totalDays:0,activeDays:0};let n=0,a=0;return{weeks:t.map(s=>(Array.isArray(s)?s:[]).slice(0,7).map(i=>{const c=!!i?.future,d=Number.isFinite(i?.level)?Math.max(0,Math.min(4,Math.round(i.level))):0;i?.day&&!c&&(n+=1,d>0&&(a+=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:a}}function My(e){const{handle:t,startDate:n,activeDays:a,summary:r,topModels:s,rank:l,period:i,periodFrom:c,periodTo:d,heatmap:u,capturedAt:f,currency:h,exchangeRate:g}=e,p=Sy(r),x=Ea(r?.total_cost_usd),v=Array.isArray(s)?s.slice(0,3).map(w=>({id:w?.id??null,name:typeof w?.name=="string"&&w.name?w.name:"—",tokens:Ea(w?.tokens),percent:typeof w?.percent=="string"&&w.percent?w.percent:"0.0"})):[],b=jy(u);return{handle:t||"—",startDate:n||null,activeDays:Number.isFinite(a)&&a>0?Math.floor(a):0,totalTokens:p,totalCost:x,period:i,periodFrom:c,periodTo:d,topModels:v,rank:typeof l=="number"&&Number.isFinite(l)&&l>0?Math.floor(l):null,heatmapWeeks:b.weeks,heatmapTotalDays:b.totalDays,heatmapActiveDays:b.activeDays,capturedAt:f||new Date().toISOString(),currency:typeof h=="string"&&h.length>0?h.toUpperCase():"USD",exchangeRate:Number.isFinite(g)&&g>0?g:1}}const Dy=["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 Cy(e){const t=Dy[e];return t?y(t):"—"}function Os(e,t){return y("share.date.month_year",{month:Cy(e),year:t})}function Ty(e){if(!e)return"—";const t=e.split("-");if(t.length!==3)return e;const[n,a]=t,r=Number(a)-1;return r<0||r>11?e:Os(r,n)}function Py(e){if(e.period==="total")return y("share.issue.all_time");if(e.period==="day"&&e.periodTo)return e.periodTo.replace(/-/g,".");if(e.period==="custom"&&e.periodFrom&&e.periodTo)return`${e.periodFrom.replace(/-/g,".")} — ${e.periodTo.replace(/-/g,".")}`;if(e.periodTo){const t=new Date(`${e.periodTo}T00:00:00Z`);if(!Number.isNaN(t.getTime()))return Os(t.getUTCMonth(),t.getUTCFullYear())}return y(`usage.period.${e.period}`)}function Aa(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"—"}function Ws(e,t={}){const{currency:n="USD",rate:a=1}=t,r=zn(n);if(!Number.isFinite(e)||e<=0)return`${r}0.00`;const s=n!=="USD"&&Number.isFinite(a)&&a>0?e*a:e;return s>=1e3?`${r}${Math.round(s).toLocaleString("en-US")}`:`${r}${s.toFixed(2)}`}function Oy(e){const t=e.topModels[0];if(t){const n=parseFloat(t.percent);return Number.isFinite(n)&&n>=60?y("share.hook.top_loyal",{percent:Math.round(n),name:t.name}):e.activeDays>=60?y("share.hook.days_record",{days:e.activeDays}):Number.isFinite(n)&&n>=30?y("share.hook.top_led",{name:t.name,percent:Math.round(n)}):e.topModels.length>1?y("share.hook.multi_models",{count:e.topModels.length,days:e.activeDays}):y("share.hook.days_with_model",{days:e.activeDays,name:t.name})}return e.activeDays>0?y("share.hook.days_record",{days:e.activeDays}):y("share.hook.new_chapter")}function Wy(e,t){const n=(e||"").length;if(n<=t.baseChars)return t.baseSize;const a=t.baseSize-(n-t.baseChars)*t.shrinkPerChar;return Math.max(t.minSize,a)}function Ey(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 Ay({weeks:e,palette:t,width:n,gap:a=3,radius:r=2,emptyColor:s}){if(!Array.isArray(e)||e.length===0||!n||n<=0)return null;const l=t||["#eee","#ccc","#999","#666","#333"],i=s||l[0],c=e.length,d=(c-1)*a,u=Math.max(4,(n-d)/c),f=7*u+6*a;return o.jsx("svg",{width:n,height:f,viewBox:`0 0 ${n} ${f}`,xmlns:"http://www.w3.org/2000/svg","aria-hidden":!0,style:{display:"block"},children:e.map((h,g)=>(Array.isArray(h)?h:[]).map((x,v)=>{if(v>=7)return null;const b=Ey(x),w=g*(u+a),k=v*(u+a),D=b===null?i:l[b];return o.jsx("rect",{x:w,y:k,width:u,height:u,rx:r,ry:r,fill:D},`${g}-${v}`)}))})}const Fy="oklch(0.97 0.01 85)",Le="oklch(0.18 0.02 85)",kt="oklch(0.38 0.015 85)",wo="oklch(0.55 0.012 85)",Wt="oklch(0.55 0.22 25)",Et='"Instrument Serif", "Times New Roman", Georgia, serif',$y='"Inter Tight", "Helvetica Neue", Arial, sans-serif',Iy=["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 Es({data:e}){const t=Py(e),n=Aa(e.totalTokens),a=Ws(e.totalCost,{currency:e.currency,rate:e.exchangeRate}),r=Ty(e.startDate),s=Wy(n,{baseSize:188,baseChars:9,shrinkPerChar:14,minSize:104}),l=Oy(e),i=Array.isArray(e.heatmapWeeks)&&e.heatmapWeeks.length>0;return o.jsxs("div",{style:{width:"100%",height:"100%",background:Fy,color:Le,fontFamily:$y,padding:"80px 88px 68px 88px",boxSizing:"border-box",display:"flex",flexDirection:"column",position:"relative"},children:[o.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:24,paddingBottom:14,borderBottom:`1px solid ${wo}`},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:14,fontSize:14,fontWeight:500,letterSpacing:"0.22em",textTransform:"uppercase",color:Le},children:[o.jsx("div",{style:{width:10,height:10,borderRadius:"50%",background:Wt}}),"The Token Tracker"]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:kt,textAlign:"right"},children:[y("share.card.broadsheet.issue")," № ",t]})]}),o.jsxs("div",{style:{marginTop:24,display:"flex",justifyContent:"space-between",alignItems:"flex-end",gap:24},children:[o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.2em",textTransform:"uppercase",color:kt,marginBottom:6},children:y("share.card.broadsheet.by")}),o.jsx("div",{style:{fontFamily:Et,fontSize:52,fontStyle:"italic",lineHeight:1,color:Le,letterSpacing:"-0.01em"},children:e.handle})]}),o.jsxs("div",{style:{fontSize:12,letterSpacing:"0.18em",textTransform:"uppercase",color:kt,textAlign:"right",lineHeight:1.6},children:[y("share.card.broadsheet.tracked_since"),o.jsx("br",{}),o.jsx("span",{style:{color:Le},children:r})]})]}),o.jsxs("div",{style:{marginTop:40,display:"flex",flexDirection:"column"},children:[o.jsx("div",{style:{fontSize:13,letterSpacing:"0.3em",textTransform:"uppercase",color:Wt,marginBottom:10},children:y("share.card.broadsheet.total_tokens")}),o.jsx("div",{style:{fontFamily:Et,fontSize:s,fontWeight:400,lineHeight:.86,letterSpacing:"-0.032em",color:Le,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap",overflow:"hidden"},children:n}),o.jsxs("div",{style:{marginTop:14,fontFamily:Et,fontStyle:"italic",fontSize:34,lineHeight:1.15,color:Le,letterSpacing:"-0.005em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:["“",l,"”"]}),o.jsx("div",{style:{marginTop:14,height:1,background:Wt,width:"100%"}}),o.jsxs("div",{style:{marginTop:10,display:"flex",justifyContent:"space-between",fontSize:13,letterSpacing:"0.16em",textTransform:"uppercase",color:kt},children:[o.jsxs("span",{children:[y("share.card.broadsheet.estimated_spend")," · ",a]}),o.jsx("span",{children:y("share.card.broadsheet.billable_days",{days:e.activeDays})})]})]}),i?o.jsxs("section",{style:{marginTop:40},children:[o.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",marginBottom:12},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Le,fontWeight:600},children:y("share.card.broadsheet.heatmap_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:kt},children:y("share.card.broadsheet.heatmap_days_on_record",{active:e.heatmapActiveDays,total:e.heatmapTotalDays})})]}),o.jsx(Ay,{weeks:e.heatmapWeeks,palette:Iy,width:1024,gap:3,radius:2})]}):null,o.jsxs("section",{style:{marginTop:30,flex:1},children:[o.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",borderBottom:`1px solid ${Le}`,paddingBottom:10,marginBottom:6},children:[o.jsx("div",{style:{fontSize:12,letterSpacing:"0.3em",textTransform:"uppercase",color:Le,fontWeight:600},children:y("share.card.broadsheet.roster_title")}),o.jsx("div",{style:{fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:kt},children:y("share.card.broadsheet.roster_subtitle")})]}),e.topModels.length===0?o.jsx("div",{style:{fontFamily:Et,fontStyle:"italic",fontSize:26,color:kt,paddingTop:14},children:y("share.card.broadsheet.empty")}):e.topModels.map((c,d)=>o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"52px 1fr auto 68px",alignItems:"baseline",gap:16,padding:"13px 0",borderBottom:`1px solid ${wo}`},children:[o.jsx("div",{style:{fontFamily:Et,fontSize:34,fontStyle:"italic",color:Wt,lineHeight:1},children:String(d+1).padStart(2,"0")}),o.jsx("div",{style:{fontFamily:Et,fontSize:32,color:Le,lineHeight:1.1,letterSpacing:"-0.01em",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c.name}),o.jsx("div",{style:{fontFamily:Et,fontSize:28,color:Le,fontFeatureSettings:'"lnum" 1, "tnum" 1',whiteSpace:"nowrap"},children:Aa(c.tokens)}),o.jsxs("div",{style:{fontSize:13,letterSpacing:"0.1em",color:kt,textAlign:"right",fontFeatureSettings:'"tnum" 1'},children:[c.percent,"%"]})]},c.id||c.name))]}),o.jsxs("footer",{style:{marginTop:18,paddingTop:12,borderTop:`1px solid ${Le}`,display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:12,letterSpacing:"0.22em",textTransform:"uppercase",color:Le},children:[o.jsxs("div",{style:{display:"flex",gap:28},children:[o.jsxs("span",{children:[y("share.card.broadsheet.global_rank")," ",o.jsxs("span",{style:{color:Wt},children:["№ ",e.rank!=null?e.rank:"—"]})]}),o.jsxs("span",{children:[y("share.card.broadsheet.active_days")," ",o.jsx("span",{style:{color:Wt},children:y("share.card.broadsheet.days_count",{days:e.activeDays})})]})]}),o.jsxs("div",{children:[y("share.card.broadsheet.track_yours")," ",o.jsx("span",{style:{color:Wt},children:"→ tokentracker.cc"})]})]})]})}const Ly=Ps["annual-report"].width,Ry="#0a0820",wt="#ffffffee",Ft="rgba(255,255,255,0.45)",ka="#a78bfa",By={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(", ")},On={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"},Fa='"Space Grotesk", "Inter Tight", sans-serif',wa='"Inter Tight", sans-serif',Yy="rgba(255,255,255,0.06)",As=[Yy,"#4a3d8f","#6b5cbe","#9060e0","#d946ef"],Fs=48,$s=28,Rn=4,Is=20,zy=Ly-Fs*2-$s*2,Hy=(zy-Is*2)/3,$a=Math.min(Math.floor((Hy-Rn*6)/7),40),Uy=$a*7+Rn*6;function Vy(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))},a=n(.5),r=n(.75),s=n(.9),l=i=>!i||i<=0?0:i<=a?1:i<=r?2:i<=s?3:4;return e.map(i=>Array.isArray(i)?i.map(c=>c?.day&&!c.future&&typeof c.value=="number"?{...c,level:l(c.value)}:c):i)}function qy(e){if(!Array.isArray(e))return[];const t={},n=Vy(e);for(const a of n)if(Array.isArray(a))for(const r of a){if(!r?.day||r.future)continue;const s=r.day.split("-");if(s.length<2)continue;const l=`${s[0]}-${s[1]}`;(t[l]??=[]).push(r)}return Object.entries(t).sort(([a],[r])=>a.localeCompare(r)).slice(-12).map(([a,r])=>({month:parseInt(a.split("-")[1],10),cells:r}))}function Gy(e){if(!e.length)return[];const t=[...e].sort((l,i)=>l.day.localeCompare(i.day));let n=new Date(`${t[0].day}T00:00:00Z`).getUTCDay();const a=Array(n).fill(null).concat(t),r=[];for(let l=0;l<a.length;l+=7)r.push(a.slice(l,l+7));const s=r[r.length-1];for(;s&&s.length<7;)s.push(null);return r.slice(0,6)}const Ky=["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Xy(e){if(!Array.isArray(e))return 0;const t=[];for(const r of e)if(Array.isArray(r))for(const s of r)s?.day&&!s.future&&t.push(s);t.sort((r,s)=>r.day.localeCompare(s.day));let n=0,a=0;for(const r of t)(r.level||0)>0?(a++,a>n&&(n=a)):a=0;return n}function vo(e){const[t,n]=m.useState(null);return m.useEffect(()=>{if(!e){n(null);return}let a=!1;const r=new Image;return r.crossOrigin="anonymous",r.onload=()=>{if(!a)try{const s=document.createElement("canvas");s.width=r.naturalWidth,s.height=r.naturalHeight,s.getContext("2d").drawImage(r,0,0),n(s.toDataURL("image/png"))}catch{n(null)}},r.onerror=()=>{a||n(null)},r.src=e,()=>{a=!0}},[e]),t}function Qy({data:e}){const t=Gy(e.cells);return o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:16,fontWeight:600,color:Ft,fontFamily:Fa,marginBottom:4},children:Ky[e.month]}),o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:Rn},children:t.map((n,a)=>o.jsx("div",{style:{display:"flex",gap:Rn},children:n.map((r,s)=>{const l=r?Math.min(4,Math.max(0,r.level||0)):-1;return o.jsx("div",{style:{width:$a,height:$a,borderRadius:4,background:l<0?"transparent":As[l]}},s)})},a))})]})}function Jy({data:e}){const t=qy(e.heatmapWeeks),n=Xy(e.heatmapWeeks),a=e.topModels[0],r=e.avatarUrl||null,s=vo(r),l=vo("/neon_bg.png"),i=(e.handle||"?")[0].toUpperCase(),c=16;return o.jsxs("div",{style:{width:"100%",height:"100%",background:Ry,fontFamily:Fa,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:[o.jsx("img",{src:l||"/neon_bg.png",alt:"",style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover",pointerEvents:"none"}}),o.jsxs("div",{style:{position:"relative",zIndex:1,display:"flex",flexDirection:"column",height:"100%",padding:Fs,boxSizing:"border-box"},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:c*3},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:16},children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:64,height:64,style:{width:64,height:64,borderRadius:16,display:"block"}}),o.jsxs("div",{children:[o.jsx("div",{style:{fontSize:20,fontWeight:500,color:Ft,lineHeight:1.2},children:"Token Tracker"}),o.jsx("div",{style:{fontSize:36,fontWeight:700,lineHeight:1.15,color:wt},children:y("share.card.annual.report_title")})]})]}),o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsx("div",{style:{width:48,height:48,borderRadius:"50%",background:"linear-gradient(135deg,#4c1d95,#7c3aed)",display:"flex",alignItems:"center",justifyContent:"center",border:"2px solid rgba(255,255,255,0.15)",overflow:"hidden",flexShrink:0},children:s?o.jsx("img",{src:s,alt:"",width:48,height:48,style:{width:48,height:48,objectFit:"cover",display:"block"},crossOrigin:"anonymous",referrerPolicy:"no-referrer"}):o.jsx("span",{style:{fontSize:20,fontWeight:700,color:wt},children:i})}),o.jsx("div",{style:{fontSize:32,fontWeight:700,color:wt},children:e.handle})]})]}),o.jsxs("div",{style:{...By,borderRadius:22,padding:$s,marginBottom:c},children:[o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:6,fontSize:14,color:Ft},children:[o.jsx("span",{children:y("share.card.annual.less")}),As.map((d,u)=>o.jsx("div",{style:{width:16,height:16,borderRadius:3,background:d}},u)),o.jsx("span",{children:y("share.card.annual.more")})]}),o.jsx("div",{style:{fontSize:16,fontWeight:700,letterSpacing:"0.14em",color:"rgba(255,255,255,0.22)",textTransform:"uppercase"},children:y("share.card.annual.heatmap_title")})]}),o.jsx("div",{style:{display:"grid",gridTemplateColumns:`repeat(3,${Uy}px)`,gap:`8px ${Is}px`,justifyContent:"center"},children:t.map(d=>o.jsx(Qy,{data:d},d.month))})]}),o.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:c,marginBottom:c},children:[o.jsxs("div",{style:{...On,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:wa,fontSize:52,fontWeight:700,color:wt,letterSpacing:"-0.02em",lineHeight:1},children:Aa(e.totalTokens)}),o.jsx("div",{style:{fontSize:22,color:Ft,marginTop:12},children:y("share.card.annual.total_tokens")})]}),o.jsxs("div",{style:{...On,borderRadius:22,padding:"28px 16px",textAlign:"center"},children:[o.jsx("div",{style:{fontFamily:wa,fontSize:52,fontWeight:700,color:wt,letterSpacing:"-0.02em",lineHeight:1},children:Ws(e.totalCost,{currency:e.currency,rate:e.exchangeRate})}),o.jsx("div",{style:{fontSize:22,color:Ft,marginTop:12},children:y("share.card.annual.estimated_cost")})]})]}),o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:c},children:[o.jsxs("div",{style:{...On,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:ka,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M12 2v4m0 12v4M4.93 4.93l2.83 2.83m8.48 8.48 2.83 2.83M2 12h4m12 0h4M4.93 19.07l2.83-2.83m8.48-8.48 2.83-2.83"}),o.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),o.jsx("span",{style:{fontSize:20,color:Ft},children:y("share.card.annual.longest_streak")})]}),o.jsx("span",{style:{fontFamily:wa,fontSize:28,fontWeight:700,color:wt},children:y("share.card.annual.days_count",{days:n})})]}),o.jsxs("div",{style:{...On,borderRadius:22,padding:"18px 24px",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsxs("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:ka,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[o.jsx("path",{d:"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"}),o.jsx("circle",{cx:"12",cy:"12",r:"4"})]}),o.jsx("span",{style:{fontSize:20,color:Ft},children:y("share.card.annual.top_model")})]}),o.jsx("span",{style:{fontFamily:Fa,fontSize:28,fontWeight:700,color:wt},children:a?a.name:"—"})]})]}),o.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:"auto"},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10},children:[o.jsx("img",{src:"/app-icon.png",alt:"",width:44,height:44,style:{width:44,height:44,borderRadius:8,display:"block"}}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:wt},children:"Token Tracker"})]}),o.jsx("span",{style:{fontSize:22,fontWeight:600,color:ka},children:"tokentracker.cc"})]})]})]})}const Ls=[{id:"annual-report",labelKey:"share.variant.neon"},{id:"broadsheet",labelKey:"share.variant.broadsheet"}],Zy={broadsheet:Es,"annual-report":Jy};function Rs(e){return Ps[e]||{width:Cs,height:Ts}}function e0(e){const t=Ls.find(n=>n.id===e);return t?.labelKey?y(t.labelKey):e}const _o=m.forwardRef(function({data:t,variant:n},a){const r=Zy[n]||Es,{width:s,height:l}=Rs(n);return o.jsx("div",{ref:a,"data-share-card":"true",style:{width:s,height:l,position:"relative",overflow:"hidden",boxSizing:"border-box"},children:o.jsx(r,{data:t})})});function Wn(){return typeof window>"u"?!1:!!window?.webkit?.messageHandlers?.nativeBridge}const t0=440;function n0(){const[e,t]=m.useState(null),n=m.useRef(null),a=m.useCallback((r,s="info")=>{n.current&&window.clearTimeout(n.current),t({id:Date.now(),kind:s,text:r}),n.current=window.setTimeout(()=>t(null),2800)},[]);return m.useEffect(()=>()=>{n.current&&window.clearTimeout(n.current)},[]),{toast:e,push:a}}function va({onClick:e,disabled:t,children:n,emphasis:a,ariaLabel:r}){return o.jsx("button",{type:"button",onClick:e,disabled:t,"aria-label":r,className:["group relative flex items-center justify-between gap-3 w-full px-4 py-3 text-left","rounded-lg border transition-colors",a?"border-oai-black dark:border-oai-white bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black hover:opacity-90":"border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white hover:border-oai-gray-400 dark:hover:border-oai-gray-600",t?"opacity-60 cursor-not-allowed":"cursor-pointer"].join(" "),children:n})}function a0({open:e,onClose:t,data:n,twitterText:a}){const[r,s]=m.useState(null),[l,i]=m.useState(""),[c,d]=m.useState("annual-report"),u=m.useRef(null),{toast:f,push:h}=n0(),g=Oo(),p=m.useMemo(()=>{const j=g?.user;if(!j||typeof j!="object")return null;const C=j.user_metadata||{},F=j.profile||{},L=C.avatar_url||C.picture||F.avatar_url||j.avatar_url;return typeof L=="string"&&L.trim()?L.trim():null},[g?.user]);m.useEffect(()=>{e&&(s(null),i(n?.handle||""))},[e,n?.handle]);const x=n&&{...n,handle:l||n.handle,avatarUrl:p},{width:v,height:b}=Rs(c),w=t0/v;m.useEffect(()=>{if(!e)return;const j=C=>{C.key==="Escape"&&t?.()};return window.addEventListener("keydown",j),()=>window.removeEventListener("keydown",j)},[e,t]);const k=m.useCallback(async()=>{const j=u.current;if(!j)return null;try{return await Ny(j)}catch(C){return console.warn("[share] capture failed",C),null}},[]),D=m.useCallback(async()=>{if(r)return;s("copy");const j=await k();if(!j){h(y("share.toast.failed"),"error"),s(null);return}let C=!1;if(Wn()){const F=await xa(j);F&&(C=(await ky(F)).ok)}else C=await Sa(j);h(C?y("share.toast.copied"):y("share.toast.failed"),C?"success":"error"),s(null)},[r,k,h]),_=m.useCallback(()=>`tokentracker-share-${Date.now()}.png`,[]),S=m.useCallback(async()=>{if(r)return;s("download");const j=await k();if(!j){h(y("share.toast.failed"),"error"),s(null);return}if(Wn()){const F=await xa(j);if(F&&(await xo(F,_())).ok){h(y("share.toast.downloaded"),"success"),s(null);return}}const C=ko(j,_());h(C?y("share.toast.downloaded"):y("share.toast.failed"),C?"success":"error"),s(null)},[r,k,_,h]),A=m.useCallback(async()=>{if(r)return;s("x");const j=await k();if(!j){h(y("share.toast.failed"),"error"),s(null);return}if(Wn()){const Y=await xa(j);Y&&(await xo(Y,_()),h(y("share.toast.downloaded"),"success"))}else await Sa(j)?h(y("share.toast.copied"),"success"):ko(j,_());const C=new URL("https://twitter.com/intent/tweet");a&&C.searchParams.set("text",a);const F=g?.user?.id,L=typeof F=="string"&&F?`/u/${F}`:"/";if(C.searchParams.set("url",`https://www.tokentracker.cc${L}?ref=share`),Wn())try{window.webkit?.messageHandlers?.nativeBridge?.postMessage({type:"action",name:"openURL",value:C.toString()})}catch{window.open(C.toString(),"_blank","noopener,noreferrer")}else window.open(C.toString(),"_blank","noopener,noreferrer");s(null)},[r,k,h,a,_,g]);return e?o.jsxs("div",{role:"dialog","aria-modal":"true","aria-label":y("share.modal.title"),"data-screenshot-exclude":"true",className:"fixed inset-0 z-[9999] flex items-center justify-center p-4 sm:p-6",style:{background:"rgba(10,10,10,0.72)"},onClick:j=>{j.target===j.currentTarget&&t?.()},children:[o.jsx("div",{"aria-hidden":!0,style:{position:"fixed",left:0,top:0,width:v,height:b,pointerEvents:"none",opacity:0,zIndex:-1,clip:"rect(0,0,0,0)",overflow:"hidden"},children:o.jsx(_o,{ref:u,data:x,variant:c})}),o.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:[o.jsxs("div",{className:"flex flex-col lg:flex-row max-h-[92vh]",children:[o.jsx("div",{className:"flex-1 min-w-0 p-4 sm:p-7 bg-oai-gray-50 dark:bg-oai-gray-950 flex items-center justify-center overflow-auto",children:o.jsxs("div",{style:{width:v*w,height:b*w,flexShrink:0,position:"relative"},className:"rounded-xl overflow-hidden shadow-oai-md ring-1 ring-black/5",children:[r?o.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/70 dark:bg-black/50",children:o.jsxs("svg",{className:"animate-spin h-6 w-6 text-oai-gray-500",viewBox:"0 0 24 24",fill:"none",children:[o.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"3"}),o.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}):null,o.jsx("div",{style:{width:v,height:b,transform:`scale(${w})`,transformOrigin:"top left"},children:o.jsx(_o,{data:x,variant:c})})]})}),o.jsxs("div",{className:"w-full lg:w-[340px] flex-shrink-0 border-t lg:border-t-0 lg:border-l border-oai-gray-200 dark:border-oai-gray-800 p-5 sm:p-6 flex flex-col gap-5 overflow-y-auto",children:[o.jsxs("div",{className:"flex items-start justify-between gap-2",children:[o.jsxs("div",{children:[o.jsx("h2",{className:"text-lg font-semibold text-oai-black dark:text-oai-white",children:y("share.modal.title")}),o.jsx("p",{className:"mt-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:y("share.modal.subtitle")})]}),o.jsx("button",{type:"button",onClick:t,"aria-label":y("share.modal.close"),className:"p-1.5 -mt-1 -mr-1 rounded-md text-oai-gray-500 hover:text-oai-black dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:o.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),o.jsxs("div",{children:[o.jsx("label",{htmlFor:"share-handle",className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:y("share.modal.name_label")}),o.jsx("input",{id:"share-handle",type:"text",value:l,onChange:j=>i(j.target.value),placeholder:y("share.modal.name_placeholder"),className:"w-full px-3 py-2 text-sm rounded-lg border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 text-oai-black dark:text-oai-white placeholder:text-oai-gray-400 dark:placeholder:text-oai-gray-600 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-oai-brand transition-colors"})]}),o.jsxs("div",{children:[o.jsx("label",{className:"text-[11px] tracking-[0.18em] uppercase text-oai-gray-500 dark:text-oai-gray-400 mb-1.5 block",children:y("share.modal.style_label")}),o.jsx("div",{className:"flex gap-2",children:Ls.map(j=>o.jsx("button",{type:"button",onClick:()=>d(j.id),className:["flex-1 px-3 py-2 text-sm rounded-lg border transition-colors",c===j.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:e0(j.id)},j.id))})]}),o.jsxs("div",{className:"grid grid-cols-1 gap-2",children:[o.jsxs(va,{onClick:A,disabled:!!r,emphasis:!0,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0,children:o.jsx("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"})}),o.jsx("span",{className:"font-medium text-sm",children:y("share.modal.action.x")})]}),o.jsx("span",{className:"text-[11px] opacity-70",children:r==="x"?y("share.toast.working"):y("share.modal.hint.x")})]}),o.jsxs(va,{onClick:S,disabled:!!r,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),o.jsx("polyline",{points:"7 10 12 15 17 10"}),o.jsx("line",{x1:"12",y1:"15",x2:"12",y2:"3"})]}),o.jsx("span",{className:"font-medium text-sm",children:y("share.modal.action.download")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:"PNG"})]}),o.jsxs(va,{onClick:D,disabled:!!r,children:[o.jsxs("span",{className:"flex items-center gap-3",children:[o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[o.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),o.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]}),o.jsx("span",{className:"font-medium text-sm",children:y("share.modal.action.copy")})]}),o.jsx("span",{className:"text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:y("share.modal.hint.copy")})]})]}),o.jsx("div",{className:"mt-auto pt-4 border-t border-oai-gray-200 dark:border-oai-gray-800",children:o.jsx("p",{className:"text-[11px] leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:y("share.modal.footer")})})]})]}),o.jsx(Ba,{children:f?o.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:o.jsx("div",{className:["px-4 py-2 rounded-full text-xs font-medium shadow-oai-md",f.kind==="error"?"bg-red-600 text-white":f.kind==="success"?"bg-oai-black dark:bg-oai-white text-oai-white dark:text-oai-black":"bg-oai-gray-800 text-white"].join(" "),children:f.text})},f.id):null})]})]}):null}function r0(e){const{enabled:t,handle:n,startDate:a,activeDays:r,summary:s,topModels:l,period:i,periodFrom:c,periodTo:d,heatmap:u,accessToken:f,userId:h,currency:g,exchangeRate:p}=e,[x,v]=m.useState(null),b=p;return m.useEffect(()=>{if(!t||!h&&!Rt())return;let w=!1;return(async()=>{try{const D=await Nl({accessToken:f,userId:h,period:i==="day"||i==="custom"?"week":i,metric:"all",limit:100,offset:0});if(w)return;const S=(Array.isArray(D?.entries)?D.entries:Array.isArray(D)?D:[]).find(j=>j?.is_me===!0),A=typeof S?.rank=="number"?S.rank:null;v(A)}catch{w||v(null)}})(),()=>{w=!0}},[t,f,h,i]),m.useMemo(()=>My({handle:n,startDate:a,activeDays:r,summary:s,topModels:l,rank:x,period:i,periodFrom:c,periodTo:d,heatmap:u,currency:g,exchangeRate:typeof b=="number"?b:void 0}),[n,a,r,s,l,x,i,c,d,u,g,b])}const o0=["day","week","month","total","custom"],_a=new Set(["day","hour","month"]),un=new Set(["day","total","custom"]),Bs="tt.summaryFormat";function s0(){if(typeof window>"u")return null;try{const e=window.localStorage?.getItem(Bs);return e==="compact"?!0:e==="full"?!1:null}catch{return null}}function i0(e){if(!(typeof window>"u"))try{window.localStorage?.setItem(Bs,e?"compact":"full")}catch{}}function Na(e,t){if(typeof t=="number"&&t>0)return!0;if(typeof e=="bigint")return e>0n;if(typeof e=="number")return Number.isFinite(e)&&e>0;if(typeof e=="string"){const n=e.trim();if(!n)return!1;if(/^[0-9]+$/.test(n))try{return BigInt(n)>0n}catch{return!1}const a=Number(n);return Number.isFinite(a)&&a>0}return!1}function En(e){return e?Jt(e,null):null}function No(e){return e?e?.billable_total_tokens??e?.value??e?.total_tokens:null}function l0(e){if(typeof e!="string"||!e)return null;const t=e.split("-");if(t.length!==3)return null;const n=Number(t[0]),a=Number(t[1])-1,r=Number(t[2]);if(!Number.isFinite(n)||!Number.isFinite(a)||!Number.isFinite(r))return null;const s=new Date(Date.UTC(n,a,r));return Number.isFinite(s.getTime())?s:null}function c0(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function d0(e){return e?e==="www.tokentracker.cc"||e==="tokentracker.cc":!1}function u0(){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:!d0(window.location.hostname)}function M0({baseUrl:e,auth:t,signedIn:n,sessionSoftExpired:a,signOut:r,publicMode:s=!1,publicToken:l=null,signInUrl:i="/sign-in",signUpUrl:c="/sign-up",onMainContentVisible:d}){const{resolvedLocale:u}=Sl(),{currency:f,rate:h}=tn(),[g,p]=m.useState(!1),[x,v]=m.useState(null),[b,w]=m.useState(null),[k,D]=m.useState(!1),[_,S]=m.useState(null),[A,j]=m.useState(0),[C,F]=m.useState(0),[L,Y]=m.useState(null),[M,O]=m.useState(()=>{const N=s0();return N??(typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(max-width: 640px)").matches)}),z=m.useCallback(()=>{O(N=>{const R=!N;return i0(R),R})},[]),T=m.useMemo(()=>typeof window>"u"?!1:jl(window.location.search),[]),W=m.useMemo(()=>u0(),[]),[G,$]=m.useState(!1),[re,I]=m.useState(!1),te=2200,[E,se]=m.useState(!0),[X,H]=m.useState(!1),[Q,ce]=m.useState(!1),[le,q]=m.useState(!1),ne=m.useRef(!1),Z=Rt(),me=n&&!a,ve=m.useMemo(()=>me&&(typeof t=="function"||typeof t=="string"||t&&typeof t=="object")?t:null,[t,me]),pe=me?ve:null,ie=s?Ml(l):pe,de=n||Z||s,_e=me&&Zt(pe),we=n&&a&&!s,{accountView:ht,revision:Ge,resolving:nn}=Dl(),We=ht&&!s,$e=We?pe:null,Ee=nn&&!s;m.useEffect(()=>{if(!n||Z){v(null),w(null),D(!1),S(null);return}if(s)return;if(!_e){v(null),w(null),D(!1),S(null);return}let N=!0;const R=()=>{v(null),w(null),D(!1),S(null)};return D(!0),S(null),(async()=>{let U=null;try{U=await et(pe)}catch{U=null}if(N){if(!U){R();return}try{const ee={link_code:null,expires_at:null};if(!N)return;v(typeof ee?.link_code=="string"?ee.link_code:null),w(typeof ee?.expires_at=="string"?ee.expires_at:null)}catch(ee){if(!N)return;v(null),w(null),S(ee?.message||"Failed to load link code")}finally{if(!N)return;D(!1)}}})(),()=>{N=!1}},[e,Z,n,s,_e,pe,C]);const ze=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");m.useEffect(()=>{if(!ze&&(!n||Z||s)){Y(null);return}if(!ze&&!_e){Y(null);return}let N=!0;return(async()=>{let R=null;try{R=await et(pe)}catch{R=null}if(N){if(!R&&!ze){Y(null);return}try{const U=await Cl({baseUrl:e,accessToken:R});if(!N)return;Y(U&&typeof U=="object"?U:null)}catch{if(!N)return;Y(null)}}})(),()=>{N=!1}},[_e,e,pe,Z,s,n]);const St=m.useMemo(()=>{if(!b)return!1;const N=Date.parse(b);if(!Number.isFinite(N))return!1;const R=A||Date.now();return N<=R},[b,A]);m.useEffect(()=>{!n||Z||s||!b||!St||k||(v(null),w(null),S(null),F(N=>N+1))},[St,b,k,Z,n]),m.useEffect(()=>{if(!b||s)return;const N=Date.parse(b);if(!Number.isFinite(N))return;const R=Date.now();if(j(R),N<=R)return;const U=window.setTimeout(()=>j(Date.now()),N-R),ee=()=>{typeof document>"u"||document.visibilityState==="visible"&&j(Date.now())};return typeof document<"u"&&document.addEventListener("visibilitychange",ee),window.addEventListener("focus",ee),()=>{window.clearTimeout(U),typeof document<"u"&&document.removeEventListener("visibilitychange",ee),window.removeEventListener("focus",ee)}},[b]),m.useEffect(()=>{if(typeof window>"u"||!window.matchMedia)return;const N=window.matchMedia("(max-width: 640px)"),R=()=>O(N.matches);return R(),N.addEventListener?(N.addEventListener("change",R),()=>N.removeEventListener("change",R)):(N.addListener(R),()=>N.removeListener(R))},[]);const De=m.useMemo(()=>To(),[]),Ce=m.useMemo(()=>Co(),[]),Ie=m.useMemo(()=>Tl(),[]),He=s?null:t?.userId||t?.email||"default",[jt,gt]=m.useState("month"),[Ue,an]=m.useState(null),[tt,Yt]=m.useState(null),[rn,J]=m.useState(!1),B=T?"total":jt,K=m.useMemo(()=>B==="custom"&&Ue&&tt?{from:Ue,to:tt}:Pl(B,{timeZone:De,offsetMinutes:Ce,now:Ie}),[Ie,B,De,Ce,Ue,tt]),ae=K.from,he=K.to,oe=m.useMemo(()=>Ol({timeZone:De,offsetMinutes:Ce}),[De,Ce]),Mt=m.useMemo(()=>Wl({timeZone:De,offsetMinutes:Ce}),[De,Ce]),on=m.useMemo(()=>`Local time (${Mt})`,[Mt]),Dt=De,lt=Ce,Ct=oe,yt=m.useMemo(()=>Yn({timeZone:De,offsetMinutes:Ce,date:Ie||new Date}),[Ie,De,Ce]),xn=m.useMemo(()=>{const N=l0(yt)||new Date,R=c0(N,-29);return{from:Qt(R),to:Qt(N)}},[yt]),{daily:Ke,summary:Te,rolling:pt,source:kn,loading:Ys,error:zs,refresh:Xa}=Dr({baseUrl:e,accessToken:ie,guestAllowed:we,from:ae,to:he,includeDaily:B!=="total",cacheKey:He,timeZone:De,tzOffsetMinutes:Ce,now:Ie,accountView:We,accountAccessToken:$e,accountRevision:Ge,accountViewResolving:Ee}),{daily:Qa,loading:Hs,refresh:Ja}=Dr({baseUrl:e,accessToken:ie,guestAllowed:we,from:xn.from,to:xn.to,includeDaily:!0,cacheKey:He?`${He}.daily-breakdown`:"daily-breakdown",timeZone:De,tzOffsetMinutes:Ce,now:Ie,accountView:We,accountAccessToken:$e,accountRevision:Ge,accountViewResolving:Ee}),{breakdown:Tt,loading:Us,refresh:Za}=Dc({baseUrl:e,accessToken:ie,guestAllowed:we,from:ae,to:he,cacheKey:He,timeZone:De,tzOffsetMinutes:Ce,accountView:We,accountAccessToken:$e,accountRevision:Ge,accountViewResolving:Ee}),[er,Vs]=m.useState(3),{entries:qs,loading:Gs,refresh:tr}=pc({baseUrl:e,accessToken:ie,limit:er,from:ae,to:he,timeZone:De,tzOffsetMinutes:Ce}),nr=B==="week"||B==="month",wn=B==="week"||B==="month",ar=m.useMemo(()=>Ke.filter(N=>N?.future?!1:!N?.day||!yt?!0:String(N.day)<=String(yt)),[Ke,yt]),{rows:ct,from:Ks,to:Xs,loading:Qs,refresh:rr}=Fo({baseUrl:e,accessToken:ie,guestAllowed:we,period:B,from:ae,to:he,months:24,cacheKey:He,timeZone:Dt,tzOffsetMinutes:lt,now:Ie,sharedRows:nr?Ke:null,sharedRange:nr?{from:ae,to:he}:null,accountView:We,accountAccessToken:$e,accountRevision:Ge,accountViewResolving:Ee}),Js=m.useMemo(()=>({baseUrl:e,accessToken:ie,guestAllowed:we,cacheKey:He,timeZone:Dt,tzOffsetMinutes:lt,now:Ie,accountView:We,accountAccessToken:$e,accountRevision:Ge,accountViewResolving:Ee}),[e,ie,we,He,Dt,lt,Ie,We,$e,Ge,Ee]),{daily:zt,heatmap:nt,loading:or,refresh:sr}=yc({baseUrl:e,accessToken:ie,guestAllowed:we,weeks:52,cacheKey:He,timeZone:De,tzOffsetMinutes:Ce,now:Ie,accountView:We,accountAccessToken:$e,accountRevision:Ge,accountViewResolving:Ee}),{data:vn,refresh:ir}=Fl();m.useEffect(()=>{vn&&typeof vn=="object"&&El(vn)},[vn]);const Xe=m.useMemo(()=>B==="day"?"hour":B==="total"?"month":"day",[B]),Zs=m.useMemo(()=>Tr(Xe),[Xe]),_n="day",ei=m.useMemo(()=>Tr(_n),[]),[Qe,lr]=m.useState(()=>({key:"day",dir:"desc"}));m.useEffect(()=>{lr(N=>!_a.has(N.key)||N.key===Xe?N:{key:Xe,dir:N.dir})},[Xe]);const Ht=m.useMemo(()=>_a.has(Qe.key)&&Qe.key!==Xe?{...Qe,key:Xe}:Qe,[Xe,Qe]),Nn=m.useMemo(()=>{if(B==="day")return Array.isArray(ct)?ct.filter(U=>U?.hour&&!U?.future):[];if(B==="total"){const U=Array.isArray(ct)?ct.filter(ee=>ee?.month&&!ee?.future):[];return Bc(U)}const N=ar;return!N.some(U=>!U?.missing&&!U?.future)&&Ke.length>0?Ke.filter(U=>!U?.future).slice(-30).filter(U=>U?.day):N},[B,ct,ar,Ke]),sn=m.useMemo(()=>Pr(Nn,Ht),[Nn,Ht]),cr=m.useMemo(()=>Nn.some(N=>!N?.missing&&!N?.future),[Nn]),qn=m.useMemo(()=>{if(!un.has(B))return 1;const N=Math.ceil(sn.length/Ln);return N>0?N:1},[B,sn.length]),[Gn,Sn]=m.useState(0);m.useEffect(()=>{if(!un.has(B)){Sn(0);return}Sn(N=>Math.min(N,qn-1))},[qn,B]),m.useEffect(()=>{un.has(B)&&Sn(0)},[B,Qe.dir,Qe.key]);const ti=m.useMemo(()=>un.has(B)?Yc(sn,Gn,Ln):sn,[Gn,B,sn]),dr=m.useMemo(()=>Qa.filter(N=>!N?.future&&N?.day).slice(-30),[Qa]),Ut=m.useMemo(()=>_a.has(Qe.key)?{...Qe,key:_n}:Qe,[Qe]),ni=m.useMemo(()=>Pr(dr,Ut),[dr,Ut]),ai=m.useMemo(()=>wn?Ke:B==="day"?Array.isArray(ct)?ct.filter(N=>N?.hour):[]:ct,[Ke,B,ct,wn]),ri=wn?ae:Ks,oi=wn?he:Xs;function si(N,R){return N?.future?"—":N?.missing?y("shared.status.unsynced"):R==="total_tokens"?dt(En(N)):dt(N?.[R])}function ii(N){const R=N?.[Xe];if(R==null)return"";const U=String(R);if(Xe==="hour"){const[ee,je]=U.split("T");if(ee&&je)return`${ee} ${je.slice(0,5)}`}return U}function li(N){const R=N?.[_n];return R==null?"":String(R)}function ci(N){lr(R=>R.key===N?{key:N,dir:R.dir==="asc"?"desc":"asc"}:{key:N,dir:"desc"})}function di(N){return Ht.key!==N?"none":Ht.dir==="asc"?"ascending":"descending"}function ui(N){return Ht.key!==N?"":Ht.dir==="asc"?"▲":"▼"}function fi(N){return Ut.key!==N?"none":Ut.dir==="asc"?"ascending":"descending"}function mi(N){return Ut.key!==N?"":Ut.dir==="asc"?"▲":"▼"}const Kn=m.useMemo(()=>{if(!n&&!Z&&!s&&!ze)return 0;const N=Number(nt?.active_days);if(Number.isFinite(N))return N;let R=0;const U=new Set,ee=(ge,Ne,Me)=>{typeof ge!="string"||!ge||U.has(ge)||Na(Ne,Me)&&(U.add(ge),R+=1)};if(Array.isArray(zt))for(const ge of zt)ee(ge?.day,En(ge));const je=Array.isArray(nt?.weeks)?nt.weeks:[];for(const ge of je)for(const Ne of Array.isArray(ge)?ge:[]){const Me=No(Ne);ee(Ne?.day,Me,Ne?.level)}return R},[n,Z,nt?.active_days,nt?.weeks,zt]),[ur,fr]=m.useState("month"),hi=m.useCallback(N=>{N==="custom"?(fr(R=>R==="custom"?"month":R),gt(R=>Ue&&tt?"custom":R),J(!0)):(gt(N),fr(N),J(!1))},[Ue,tt]),gi=m.useCallback((N,R)=>{an(N),Yt(R),gt("custom"),J(!1)},[]),yi=m.useCallback(N=>{J(N),!N&&jt==="custom"&&!Ue&&gt(ur)},[jt,Ue,ur]),mr=m.useCallback(async()=>{await Promise.all([Xa(),sr(),rr(),Za(),tr(),Ja(),ir()])},[Ja,sr,Za,tr,rr,Xa,ir]),pi=m.useCallback(async()=>{q(!0);try{ze&&await Al(),await mr()}catch(N){console.error("[DashboardPage] Refresh failed:",N)}finally{q(!1)}},[ze,mr]),jn=le||Ys||Hs||or||Qs||Us||Gs,bi=Ee||We&&jn&&!cr,xi=m.useMemo(()=>y("shared.data_source",{source:String(kn||"edge").toUpperCase()}),[kn,u]),Mn=m.useMemo(()=>typeof t?.name!="string"?"":t.name.trim(),[t?.name]),ki="",hr=m.useMemo(()=>!Mn||Mn.includes("@")?y("dashboard.identity.fallback"):Mn,[Mn]),gr=m.useMemo(()=>hr.replace(/[^a-zA-Z0-9._-]/g,"_"),[hr]),yr=m.useMemo(()=>s?y("dashboard.identity.fallback"):gr,[gr,ki,s]),pr=m.useMemo(()=>{let N=null;const R=ee=>{typeof ee!="string"||!ee||(!N||ee<N)&&(N=ee)};if(Array.isArray(zt))for(const ee of zt)ee?.day&&Na(En(ee))&&R(ee.day);const U=Array.isArray(nt?.weeks)?nt.weeks:[];for(const ee of U)for(const je of Array.isArray(ee)?ee:[]){if(!je?.day)continue;const ge=No(je),Ne=je?.level;Na(ge,Ne)&&R(je.day)}return N},[nt?.weeks,zt]),wi=m.useMemo(()=>s?[]:(Array.isArray(L?.subscriptions?.items)?L.subscriptions.items:[]).map(U=>{const ee=typeof U?.tool=="string"?U.tool.trim():"",ge=(typeof U?.plan_type=="string"?U.plan_type:typeof U?.planType=="string"?U.planType:"").trim();return!ee||!ge?null:{tool:ee,planType:ge,provider:typeof U?.provider=="string"?U.provider.trim():"",product:typeof U?.product=="string"?U.product.trim():"",rateLimitTier:typeof U?.rate_limit_tier=="string"?U.rate_limit_tier.trim():typeof U?.rateLimitTier=="string"?U.rateLimitTier.trim():""}}).filter(Boolean).slice(0,6),[s,L]),vi=o.jsx(Ll,{heatmap:nt,timeZoneLabel:oe,timeZoneShortLabel:Mt,hideLegend:T,defaultToLatestMonth:T}),_i=m.useMemo(()=>`${ae}..${he}`,[ae,B,he]),Ni=y("usage.summary.total"),Pt=En(Te),br=y("shared.unit.thousand_abbrev"),xr=y("shared.unit.million_abbrev"),kr=y("shared.unit.billion_abbrev"),Dn=Be(Pt),wr=M&&Dn!=null,Si=m.useMemo(()=>wr?Ae(Dn,{thousandSuffix:br,millionSuffix:xr,billionSuffix:kr,decimals:1}):dt(Pt),[kr,xr,Pt,Dn,br,wr]),ji=y("dashboard.core_index.collapse_label"),Mi=y("dashboard.core_index.expand_label"),Di=y("dashboard.core_index.collapse_aria"),Ci=y("dashboard.core_index.expand_aria"),Ti=!T,Pi=y("dashboard.screenshot.title_line1"),Oi=y("dashboard.screenshot.title_line2"),Wi=y("dashboard.screenshot.twitter_label"),Ei=y("dashboard.screenshot.twitter_button"),Ai=y("dashboard.screenshot.twitter_hint"),Vt=y("shared.placeholder.short"),Xn=m.useMemo(()=>{const N=Array.isArray(Tt?.sources)?Tt.sources:[];let R=null,U=0;for(const Ne of N){const Me=Jt(Ne?.totals);!Number.isFinite(Me)||Me<=0||Me>U&&(U=Me,R=Ne)}let ee=Vt,je=Vt,ge="0.0";if(R&&U>0){ee=R?.source?String(R.source).toUpperCase():Vt;const Ne=Array.isArray(R?.models)?R.models:[];let Me=0;for(const bt of Ne){const cn=Jt(bt?.totals);!Number.isFinite(cn)||cn<=0||cn>Me&&(Me=cn,je=bt?.model?String(bt.model):Vt)}Me>0&&(ge=(Me/U*100).toFixed(1))}return{agentName:ee,modelName:je,modelPercent:ge}},[Tt,Vt]),Qn=dt(Pt),Jn=y("dashboard.screenshot.twitter_text",{total_tokens:Qn==="-"?Vt:Qn,agent_name:Xn.agentName,model_name:Xn.modelName,model_percent:Xn.modelPercent}),Zn=m.useMemo(()=>{if(typeof window>"u")return"";const N=new URL("https://twitter.com/intent/tweet");N.searchParams.set("text",Jn);const R=t?.userId?`/u/${t.userId}`:"/";return N.searchParams.set("url",`https://www.tokentracker.cc${R}?ref=share`),N.toString()},[Jn,t?.userId]),vr=m.useCallback(async()=>{if(typeof window>"u")return null;const N=async()=>{const Ne=performance.now();for(;performance.now()-Ne<2e3;){const Me=document.querySelector("[data-heatmap-scroll='true']");if(!Me||Me.dataset.latestMonthReady==="true")return;await new Promise(bt=>requestAnimationFrame(bt))}},R=document.querySelector("#root")||document.body,U=document.documentElement,{scrollWidth:ee,scrollHeight:je}=document.documentElement;U?.classList.add("screenshot-capture"),document.body?.classList.add("screenshot-capture"),await new Promise(ge=>requestAnimationFrame(ge)),await N();try{const{toBlob:ge,toPng:Ne}=await Wo(async()=>{const{toBlob:Ot,toPng:nl}=await import("./index-BeoRn2gJ.js");return{toBlob:Ot,toPng:nl}},[]),Me=await ge(R,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:ee,height:je,style:{width:`${ee}px`,height:`${je}px`},filter:Ot=>!(Ot instanceof HTMLElement)||Ot.dataset?.screenshotExclude!=="true"});if(Me)return Me;const bt=await Ne(R,{backgroundColor:"#050505",pixelRatio:2,cacheBust:!0,width:ee,height:je,style:{width:`${ee}px`,height:`${je}px`},filter:Ot=>!(Ot instanceof HTMLElement)||Ot.dataset?.screenshotExclude!=="true"});return bt?await(await fetch(bt)).blob():null}finally{U?.classList.remove("screenshot-capture"),document.body?.classList.remove("screenshot-capture")}},[]),Fi=m.useCallback(async()=>{if(typeof window>"u"||G)return;$(!0);const N=navigator?.userAgent||"",R=/iP(hone|od|ad)/i.test(N),U=/Safari/i.test(N)&&!/Chrome|Chromium|Edg|OPR|CriOS|FxiOS/i.test(N),ee=typeof navigator<"u"&&!!navigator.clipboard?.write&&typeof window<"u"&&!!window.ClipboardItem;let ge=!ee||R||U;try{const Ne=await vr();Ne&&ee&&(typeof document<"u"&&!document.hasFocus()&&window.focus?.(),ge=await Sa(Ne))}catch(Ne){console.error("Failed to capture screenshot",Ne)}finally{if($(!1),!ge){console.warn("Failed to write screenshot to clipboard.");return}Zn&&(window.location.href=Zn)}},[vr,G,Zn]),$i=m.useMemo(()=>T?[]:o0,[T]),Ii=m.useMemo(()=>[{label:y("usage.metric.total"),value:dt(Pt),valueClassName:"text-white"},{label:y("usage.metric.input"),value:dt(Te?.input_tokens)},{label:y("usage.metric.output"),value:dt(Te?.output_tokens)},{label:y("usage.metric.cached_input"),value:dt(Te?.cached_input_tokens)},{label:y("usage.metric.reasoning_output"),value:dt(Te?.reasoning_output_tokens)}],[Te?.cached_input_tokens,Te?.input_tokens,Te?.output_tokens,Te?.reasoning_output_tokens,Pt]),ea=m.useMemo(()=>en(Te?.total_cost_usd,{currency:f,rate:h}),[Te?.total_cost_usd,f,h]),Li=m.useMemo(()=>Te?.conversation_count??null,[Te?.conversation_count]),_r=m.useMemo(()=>Uc(Tt,{copyFn:y}),[Tt]),Nr=m.useMemo(()=>Vc(Tt,{limit:3,copyFn:y}),[Tt]),Ri=r0({enabled:re,handle:yr,startDate:pr,activeDays:Kn,summary:Te,topModels:Nr,period:B,periodFrom:ae,periodTo:he,heatmap:nt,accessToken:typeof ie=="string"?ie:null,userId:t?.userId||null,currency:f,exchangeRate:h}),Bi=m.useCallback(()=>I(!0),[]),Yi=m.useCallback(()=>I(!1),[]),zi=m.useCallback(()=>p(!0),[]),Hi=m.useCallback(()=>p(!1),[]),Ui=ea&&ea!=="-"&&_r.length>0,ln=y("dashboard.install.cmd.init"),ta=St?null:x,na=ta?y("dashboard.install.cmd.init_link_code",{link_code:ta}):ln,Vi=ln,qi=y("dashboard.install.cmd.sync"),Gi=ta?y("dashboard.install.copy"):y("dashboard.install.copy_base"),Ki=y("dashboard.install.copied");y("dashboard.session_expired.copy_label"),y("dashboard.session_expired.copied");const Xi=!!(L?.install?.has_active_device_token??L?.install?.hasActiveDeviceToken),Qi=zc({publicMode:s,screenshotMode:T,forceInstall:W,accessEnabled:de,heatmapLoading:or,activeDays:Kn,hasActiveDeviceToken:Xi}),Ji=y("dashboard.install.prompt"),Zi=m.useCallback(async()=>{!na||!await Mr(na)||(H(!0),window.setTimeout(()=>H(!1),2e3))},[na]);m.useCallback(async()=>{!ln||!await Mr(ln)||(ce(!0),window.setTimeout(()=>ce(!1),2e3))},[ln]);const aa=m.useMemo(()=>y("dashboard.daily.empty",{cmd:"{{cmd}}"}),[u]),[el,tl]=m.useMemo(()=>{const N=aa.split("{{cmd}}");return N.length===1?[aa,""]:[N[0],N.slice(1).join("{{cmd}}")]},[aa]),ra=a&&!s,oa=!n&&!Z&&!a&&!ze&&!s;return m.useEffect(()=>{ne.current||ra||oa||jn||(ne.current=!0,d?.())},[d,oa,ra,jn]),o.jsxs(o.Fragment,{children:[o.jsx(xy,{copy:y,onOpenShare:Bi,screenshotMode:T,showExpiredGate:ra,showAuthGate:oa,screenshotTitleLine1:Pi,screenshotTitleLine2:Oi,identityDisplayName:yr,identityStartDate:pr,activeDays:Kn,identitySubscriptions:wi,identityScrambleDurationMs:te,projectUsageEntries:qs,projectUsageLimit:er,setProjectUsageLimit:Vs,topModels:Nr,signedIn:n,publicMode:s,isLocalMode:ze,shouldShowInstall:Qi,installPrompt:Ji,handleCopyInstall:Zi,installCopied:X,installCopiedLabel:Ki,installCopyLabel:Gi,installInitCmdDisplay:Vi,linkCodeLoading:k,linkCodeError:_,trendRowsForDisplay:ai,trendFromForDisplay:ri,trendToForDisplay:oi,trendZoomConfig:Js,usageFrom:ae,usageTo:he,period:B,trendTimeZoneLabel:Ct,activityHeatmapBlock:vi,isCapturing:G,handleShareToX:Fi,screenshotTwitterLabel:Wi,screenshotTwitterButton:Ei,screenshotTwitterHint:Ai,periodsForDisplay:$i,setSelectedPeriod:hi,customFrom:Ue,customTo:tt,onCustomRangeApply:gi,customRangeOpen:rn,onCustomRangeOpenChange:yi,metricsRows:Ii,summaryLabel:Ni,summaryValue:Si,summaryFullValue:Qn,onToggleSummaryFormat:!T&&Dn!=null?z:null,summaryTotalTokensRaw:Be(Pt)||0,summaryCostValue:ea,summaryConversationsValue:Li,rollingUsage:pt,costInfoEnabled:Ui,openCostModal:zi,allowBreakdownToggle:Ti,coreIndexCollapsed:E,setCoreIndexCollapsed:se,coreIndexCollapseLabel:ji,coreIndexExpandLabel:Mi,coreIndexCollapseAria:Di,coreIndexExpandAria:Ci,refreshAll:pi,usageLoadingState:jn,initialDashboardLoading:bi,usageError:zs,rangeLabel:_i,timeZoneRangeLabel:on,usageSourceLabel:xi,fleetData:_r,hasDetailsActual:cr,dailyEmptyPrefix:el,installSyncCmd:qi,dailyEmptySuffix:tl,detailsColumns:Zs,ariaSortFor:di,toggleSort:ci,sortIconFor:ui,pagedDetails:ti,dailyBreakdownRows:ni,dailyBreakdownColumns:ei,dailyBreakdownAriaSortFor:fi,dailyBreakdownSortIconFor:mi,dailyBreakdownDateKey:_n,detailsDateKey:Xe,renderDetailDate:ii,renderDailyBreakdownDate:li,renderDetailCell:si,DETAILS_PAGED_PERIODS:un,detailsPageCount:qn,detailsPage:Gn,setDetailsPage:Sn,costModalOpen:g,closeCostModal:Hi}),o.jsx(a0,{open:re,onClose:Yi,data:Ri,twitterText:Jn})]})}export{M0 as DashboardPage};