tokentracker-cli 0.83.2 → 0.83.3

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 (82) hide show
  1. package/dashboard/dist/assets/{AchievementBadge-BrSr5pjk.js → AchievementBadge-BEk-hvfD.js} +1 -1
  2. package/dashboard/dist/assets/{AchievementsPage-za-wqAO2.js → AchievementsPage-kLeXpzIX.js} +2 -2
  3. package/dashboard/dist/assets/{AchievementsSection-CGRVm1uS.js → AchievementsSection-BtDWuZ8m.js} +1 -1
  4. package/dashboard/dist/assets/{BadgeDetailModal-D1XDT2dG.js → BadgeDetailModal-BEgI_98J.js} +1 -1
  5. package/dashboard/dist/assets/{Card-DX2Wwm9U.js → Card-DvOwwAzG.js} +1 -1
  6. package/dashboard/dist/assets/{ClawdAnimated-D6JzFu8y.js → ClawdAnimated-B_T5A9tJ.js} +1 -1
  7. package/dashboard/dist/assets/{CommandPalette-NWiETwtS.js → CommandPalette-BqAHVsZU.js} +1 -1
  8. package/dashboard/dist/assets/{CommunityStatsModal-D4FdxAWd.js → CommunityStatsModal-g6EL03ZU.js} +1 -1
  9. package/dashboard/dist/assets/{ConfirmModal-SAheZUAv.js → ConfirmModal-C7nLLif7.js} +1 -1
  10. package/dashboard/dist/assets/DashboardPage-riwGRfNO.js +1 -0
  11. package/dashboard/dist/assets/{DevicePage-Cf-PHRlL.js → DevicePage-DMs07QPT.js} +1 -1
  12. package/dashboard/dist/assets/{DialogClose-pg5pVOeD.js → DialogClose-Dlh20IoO.js} +1 -1
  13. package/dashboard/dist/assets/DialogDescription-BkWNYqG-.js +1 -0
  14. package/dashboard/dist/assets/{DialogTitle-Im7ESzoS.js → DialogTitle-C6n2pohw.js} +1 -1
  15. package/dashboard/dist/assets/{FadeIn-CGGFraHR.js → FadeIn-9jciDZsH.js} +1 -1
  16. package/dashboard/dist/assets/{HeaderGithubStar-DRTZXRsx.js → HeaderGithubStar-DWOEAlWe.js} +1 -1
  17. package/dashboard/dist/assets/{IpCheckPage-Dn62HUZu.js → IpCheckPage-BrsvUoQe.js} +1 -1
  18. package/dashboard/dist/assets/{LandingPage-CLsljoir.js → LandingPage-rlam9dyu.js} +2 -2
  19. package/dashboard/dist/assets/{LeaderboardAvatar-DktI_89h.js → LeaderboardAvatar-BtMM-6cC.js} +1 -1
  20. package/dashboard/dist/assets/{LeaderboardPage-t87ElnDI.js → LeaderboardPage-AhwAfNL9.js} +2 -2
  21. package/dashboard/dist/assets/{LeaderboardProfileModal-DN7HurS3.js → LeaderboardProfileModal-DBMJkIPl.js} +3 -3
  22. package/dashboard/dist/assets/{LeaderboardProfilePage-CprOXLXX.js → LeaderboardProfilePage-B2S8pmDd.js} +1 -1
  23. package/dashboard/dist/assets/{LimitsPage-DRX3XMYx.js → LimitsPage-iwfTTvqG.js} +1 -1
  24. package/dashboard/dist/assets/{LocalOnlyNotice-B8BtIdAA.js → LocalOnlyNotice-DL72G1p9.js} +1 -1
  25. package/dashboard/dist/assets/{LoginCard-OoduGJmK.js → LoginCard-6lOxJlws.js} +1 -1
  26. package/dashboard/dist/assets/{LoginModal-DoDoCpr6.js → LoginModal-C1ldxgZv.js} +1 -1
  27. package/dashboard/dist/assets/{LoginPage-Dn2KMisI.js → LoginPage-Cz6lrheW.js} +1 -1
  28. package/dashboard/dist/assets/{PetPage-CVaG5H3O.js → PetPage-CfFyzGFY.js} +1 -1
  29. package/dashboard/dist/assets/{PopoverPopup-B2HqJNaq.js → PopoverPopup-qAngi4Xc.js} +1 -1
  30. package/dashboard/dist/assets/{ProviderIcon-BYl1Yyf3.js → ProviderIcon-I5z4CMY3.js} +1 -1
  31. package/dashboard/dist/assets/{ResetPasswordPage-DWfgvuvR.js → ResetPasswordPage-A5bHmTUi.js} +1 -1
  32. package/dashboard/dist/assets/{Select-ClnnGJY1.js → Select-DDInV6Vc.js} +1 -1
  33. package/dashboard/dist/assets/{SelectItemText-iaFWq7GD.js → SelectItemText-DIsD6lWR.js} +1 -1
  34. package/dashboard/dist/assets/{SettingsPage-zwAOWRur.js → SettingsPage-BUCnJfRg.js} +1 -1
  35. package/dashboard/dist/assets/{SkillsPage-BB96nB2i.js → SkillsPage-BhsGmLpr.js} +1 -1
  36. package/dashboard/dist/assets/{TokenGalaxy-9_VJKdPr.js → TokenGalaxy-j5bHVfYv.js} +1 -1
  37. package/dashboard/dist/assets/TrendMonitor-ifxuzprQ.js +19 -0
  38. package/dashboard/dist/assets/{WidgetsPage-CjAT6p0C.js → WidgetsPage-QZS8jTR0.js} +1 -1
  39. package/dashboard/dist/assets/{WrappedPage-ba6teG1N.js → WrappedPage-CzlxH4gJ.js} +1 -1
  40. package/dashboard/dist/assets/__vite-browser-external-C44tPAD-.css +1 -0
  41. package/dashboard/dist/assets/{__vite-browser-external-DWKjPxnU.js → __vite-browser-external-hJyUffEJ.js} +2 -2
  42. package/dashboard/dist/assets/{agent-logos-HCzl7U8i.js → agent-logos-WXnblKNu.js} +1 -1
  43. package/dashboard/dist/assets/{arrow-up-right-TvEj8NTT.js → arrow-up-right-WGuMZ7yP.js} +1 -1
  44. package/dashboard/dist/assets/{check-Cz3lYRiR.js → check-DQswISeD.js} +1 -1
  45. package/dashboard/dist/assets/{copy-CTtF84H9.js → copy-6aPUSNsw.js} +1 -1
  46. package/dashboard/dist/assets/{download-B5WAY6Nh.js → download-DL3wQKU1.js} +1 -1
  47. package/dashboard/dist/assets/{flame-Cja4F8Mj.js → flame-BY3LUnQc.js} +1 -1
  48. package/dashboard/dist/assets/{format-tokens-UavRPN4W.js → format-tokens-DUXqRlZ8.js} +1 -1
  49. package/dashboard/dist/assets/{icons-BW2vjmu_.js → icons-CT3DYBKd.js} +1 -1
  50. package/dashboard/dist/assets/{index-BnzrUY9J.js → index-BcTWurhn.js} +1 -1
  51. package/dashboard/dist/assets/{index-Bfxr6erc.js → index-BsgZcvQd.js} +1 -1
  52. package/dashboard/dist/assets/{index-0w19KMWl.js → index-pza5Zl32.js} +1 -1
  53. package/dashboard/dist/assets/{info-F-75j15K.js → info-CuyReqZo.js} +1 -1
  54. package/dashboard/dist/assets/{limits-providers-8NsMiLNP.js → limits-providers-FnlIwbBy.js} +1 -1
  55. package/dashboard/dist/assets/{link-2-C_eJlLvb.js → link-2-dgMFFrBX.js} +1 -1
  56. package/dashboard/dist/assets/{loader-circle-BjzQhjhO.js → loader-circle-D2Erh-me.js} +1 -1
  57. package/dashboard/dist/assets/{provider-display-D1zp03ID.js → provider-display-DXMQRWSr.js} +1 -1
  58. package/dashboard/dist/assets/{react-Nv3-bJyw.js → react-w-68N3xj.js} +1 -1
  59. package/dashboard/dist/assets/{skills-api-DazKXxME.js → skills-api-CkMNAsEg.js} +1 -1
  60. package/dashboard/dist/assets/{terminal-DBXjwlTm.js → terminal-CJMbTjNB.js} +1 -1
  61. package/dashboard/dist/assets/{trash-2-DLG8hKJm.js → trash-2-VaWsdH7y.js} +1 -1
  62. package/dashboard/dist/assets/{use-community-stats-BQB72xAN.js → use-community-stats-DdAUa2P5.js} +1 -1
  63. package/dashboard/dist/assets/{use-limits-display-prefs-CH8MmjYf.js → use-limits-display-prefs-DJUffL2_.js} +1 -1
  64. package/dashboard/dist/assets/{use-native-settings-__RhxrW5.js → use-native-settings-CiYsT_Ip.js} +1 -1
  65. package/dashboard/dist/assets/{use-ordered-list-AhnqpdnT.js → use-ordered-list-B12VdEap.js} +1 -1
  66. package/dashboard/dist/assets/use-reduced-motion-C6xgTm9r.js +1 -0
  67. package/dashboard/dist/assets/{use-session-efficiency-pref-CCYtJ_cN.js → use-session-efficiency-pref-rHhQnzAS.js} +1 -1
  68. package/dashboard/dist/assets/{use-transform-BhcppNI4.js → use-transform-uFbh6Odm.js} +1 -1
  69. package/dashboard/dist/assets/{use-usage-limits-CbA095lv.js → use-usage-limits-DmT_wC1b.js} +1 -1
  70. package/dashboard/dist/assets/{useCurrency-Dt2GqkDm.js → useCurrency-D3_YrrTw.js} +1 -1
  71. package/dashboard/dist/assets/{useScrollLock-C5d53j7C.js → useScrollLock-JHdC5cyV.js} +1 -1
  72. package/dashboard/dist/assets/{useTokenFormat-dnqZK7Z-.js → useTokenFormat-CMYJB7gb.js} +1 -1
  73. package/dashboard/dist/assets/{zap-Bw5OO91s.js → zap-Cr4tl-1M.js} +1 -1
  74. package/dashboard/dist/index.html +2 -2
  75. package/dashboard/dist/share.html +2 -2
  76. package/package.json +1 -1
  77. package/src/lib/pricing/seed-snapshot.json +1 -1
  78. package/dashboard/dist/assets/DashboardPage-CjnBsm3Q.js +0 -1
  79. package/dashboard/dist/assets/DialogDescription-CVuGFYFU.js +0 -1
  80. package/dashboard/dist/assets/TrendMonitor-D9RHcQgH.js +0 -19
  81. package/dashboard/dist/assets/__vite-browser-external-D_0JUhT7.css +0 -1
  82. package/dashboard/dist/assets/use-reduced-motion-CA2IXeeO.js +0 -1
@@ -0,0 +1,19 @@
1
+ import{k as lr,r as O,H as cr,al as ur,b_ as Ot,cV as dr,cW as fr,cX as mr,cY as hr,c2 as yr,c3 as gr,c4 as br,c8 as ln,c9 as cn,R as b,j as f,B as Ct,c as L,a7 as pr,a5 as un,X as kr,d as ke,n as wr}from"./__vite-browser-external-hJyUffEJ.js";import{m as xr}from"./react-w-68N3xj.js";import{u as dn}from"./useCurrency-D3_YrrTw.js";import{u as fn}from"./useTokenFormat-CMYJB7gb.js";import{T as vr,M as Mr}from"./terminal-CJMbTjNB.js";import{P as Pt,a as Tt,b as _t,c as $t,d as Et,C as Dr}from"./PopoverPopup-qAngi4Xc.js";import{u as Nr}from"./use-reduced-motion-C6xgTm9r.js";const Sr=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Wr=lr("chevron-left",Sr);function Or(e,t){return e.length===t.length&&e.every((n,r)=>Object.is(n,t[r]))}function Cr(e){const t=O.useRef(e),n=O.useRef(0),r=O.useRef(!0);return O.useLayoutEffect(()=>{Or(t.current,e)||(t.current=e,n.current+=1)}),O.useEffect(()=>(r.current=!0,()=>{r.current=!1,n.current+=1}),[]),O.useCallback(()=>{const a=++n.current,o=t.current;return()=>r.current&&n.current===a&&t.current===o},[])}function Yt(e,t,n){if(!(typeof window>"u"))try{const r=window.localStorage.getItem(e),a=r?JSON.parse(r):[],o=Array.isArray(a)?a.filter(l=>typeof l=="string"&&l!==e):[],i=[t,...o.filter(l=>l!==t)],s=i.splice(n);for(const l of s)window.localStorage.removeItem(l);window.localStorage.setItem(e,JSON.stringify(i))}catch{}}const Pr=24,Ft="tokentracker.trend-cache-index",jt=24;function Tr({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:a,to:o,months:i=Pr,cacheKey:s,timeZone:l,tzOffsetMinutes:c,now:u,sharedRows:d,sharedRange:m,accountView:h=!1,accountAccessToken:y=null,accountRevision:v=0,accountViewResolving:p=!1,deviceId:D=null}={}){const k=!!(h&&y),w=k?"cloud":"local",[N,x]=O.useState([]),[g,W]=O.useState(()=>({from:a,to:o})),[_,$]=O.useState("edge"),[B,A]=O.useState(null),[oe,X]=O.useState(!1),[re,E]=O.useState(null),T=cr(),Y=ur(t),V=!n&&!T,H=Array.isArray(d),R=m?.from||a,S=m?.to||o,U=O.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),te=(()=>{if(!s)return null;const j=_r(e)||"default",ne=br({timeZone:l,offsetMinutes:c}),Ce=D||"all";if(U==="hourly")return`tokentracker.trend.${s}.${w}.${j}.hourly.${o||a||"day"}.${ne}.${Ce}`;if(U==="monthly")return`tokentracker.trend.${s}.${w}.${j}.monthly.${i}.${o||"today"}.${ne}.${Ce}`;const Pe=`${a||""}.${o||""}`;return`tokentracker.trend.${s}.${w}.${j}.daily.${Pe}.${ne}.${Ce}`})(),me=O.useCallback(()=>{if(!te||typeof window>"u")return null;try{const j=window.localStorage.getItem(te);if(!j)return null;const ne=JSON.parse(j);return!ne||!Array.isArray(ne.rows)?null:(Yt(Ft,te,jt),ne)}catch{return null}},[te]),xe=O.useCallback(j=>{if(!(!te||typeof window>"u"))try{window.localStorage.setItem(te,JSON.stringify(j)),Yt(Ft,te,jt)}catch{}},[te]),he=O.useCallback(()=>{if(!(!te||typeof window>"u"))try{window.localStorage.removeItem(te)}catch{}},[te]),ce=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Ee=Cr([e,U,a,o,i,w,t,y,v,D,l,c,H,d,R,S]),ve=O.useRef(w);O.useEffect(()=>{ve.current!==w&&(ve.current=w,x([]),W({from:a,to:o}),$("edge"),A(null),E(null),X(!0))},[w]);const ye=O.useCallback(async()=>{const j=Ee();if(H){x(Array.isArray(d)?d:[]),W({from:R,to:S}),$("shared"),A(null),X(!1),E(null);return}const ne=await Ot(t),Ce=k?await Ot(y):null;if(!j()||!ne&&!T&&!ce&&!k)return;if(k&&!Ce){E("Your session expired. Please sign in again to view account data."),X(!1);return}const Pe=k?Ce:ne,He=k?dr:fr,at=k?mr:hr,ot=k?yr:gr;X(!0),E(null);try{let se;U==="hourly"?se=await He({baseUrl:e,accessToken:Pe,day:o||a,device:D,timeZone:l,tzOffsetMinutes:c}):U==="monthly"?se=await at({baseUrl:e,accessToken:Pe,months:i,to:o,device:D,timeZone:l,tzOffsetMinutes:c}):se=await ot({baseUrl:e,accessToken:Pe,from:a,to:o,device:D,timeZone:l,tzOffsetMinutes:c});const Z=se?.from||a||se?.day||null,le=se?.to||o||se?.day||null;let ge=Array.isArray(se?.data)?se.data:[];U==="daily"?ge=ct(ge,Z||a,le||o,{timeZone:l,offsetMinutes:c,now:u}):U==="hourly"?(ge=ut(ge,Z||a||se?.day,{timeZone:l,offsetMinutes:c,now:u}),ge=dt(ge,{timeZone:l,offsetMinutes:c,now:u})):U==="monthly"&&(ge=ft(ge,{timeZone:l,offsetMinutes:c,now:u}));const Re=new Date().toISOString();if(!j())return;x(ge),W({from:Z,to:le}),$("edge"),A(Re),V?xe({rows:ge,from:Z,to:le,mode:U,fetchedAt:Re}):he()}catch(se){if(!j())return;if(V){const Z=me();if(Z?.rows){let le=U==="daily"?ct(Z.rows||[],Z.from||a,Z.to||o,{timeZone:l,offsetMinutes:c,now:u}):U==="hourly"?ut(Z.rows||[],Z.from||a||Z.day||o,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(Z.rows)?Z.rows:[];U==="hourly"?le=dt(le,{timeZone:l,offsetMinutes:c,now:u}):U==="monthly"&&(le=ft(le,{timeZone:l,offsetMinutes:c,now:u})),x(le),W({from:Z.from||a,to:Z.to||o}),$("cache"),A(Z.fetchedAt||null),E(null)}else{x([]),W({from:a,to:o}),$("edge"),A(null);const le=se;E(le?.message||String(le))}}else{x([]),W({from:a,to:o}),$("edge"),A(null);const Z=se;E(Z?.message||String(Z))}}finally{j()&&X(!1)}},[t,e,a,T,n,V,U,i,me,Y,H,R,d,S,l,o,c,u,he,xe,ce,k,y,v,D,Ee]);O.useEffect(()=>{if(p){X(!0);return}if(H){x(Array.isArray(d)?d:[]),W({from:R,to:S}),$("shared"),A(null),X(!1),E(null);return}if(!Y&&!n&&!T&&!ce&&!k){x([]),W({from:a,to:o}),E(null),X(!1),$("edge"),A(null);return}if(!V)he(),x([]),W({from:a,to:o}),E(null),$("edge"),A(null);else{const j=me();if(j?.rows){let ne=U==="daily"?ct(j.rows||[],j.from||a,j.to||o,{timeZone:l,offsetMinutes:c,now:u}):U==="hourly"?ut(j.rows||[],j.from||a||j.day||o,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(j.rows)?j.rows:[];U==="hourly"?ne=dt(ne,{timeZone:l,offsetMinutes:c,now:u}):U==="monthly"&&(ne=ft(ne,{timeZone:l,offsetMinutes:c,now:u})),x(ne),W({from:j.from||a,to:j.to||o}),$("cache"),A(j.fetchedAt||null),E(null)}else x([]),W({from:a,to:o}),$("edge"),A(null),E(null)}X(!0),ye()},[t,T,me,ye,H,R,d,S,Y,n,V,he,ce,p]);const ze=T?"mock":_;return{rows:N,from:g.from||a,to:g.to||o,source:ze,fetchedAt:B,loading:oe,error:re,refresh:ye}}function _r(e){try{return new URL(e).host}catch{return null}}function Ze(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const r=Number(n[0]),a=Number(n[1])-1,o=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const i=new Date(Date.UTC(r,a,o));return Number.isFinite(i.getTime())&&cn(i)===t?i:null}function mn(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}const hn=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","conversation_count"];function ct(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const i=Ze(t),s=Ze(n);if(!i||!s||s<i)return Array.isArray(e)?e:[];const l=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,c=ln({timeZone:r,offsetMinutes:a,date:l}),u=Ze(c),d=u?u.getTime():l.getTime(),m=new Map;for(const y of e||[])y?.day&&m.set(y.day,y);const h=[];for(let y=i;y<=s;y=mn(y,1)){const v=cn(y),p=m.get(v),D=y.getTime()>d;if(p){h.push({...p,missing:!1,future:D});continue}h.push({day:v,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!D,future:D})}return h}function $r(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 Er(e){if(!e||typeof e!="object")return!1;const t=e.models;return t&&typeof t=="object"&&Object.keys(t).length>0?!1:hn.every(n=>e[n]==null)}function Yr(e,t,n){const r={...e,hour:t,missing:!1,future:n};if(!n&&Er(e))for(const a of hn)r[a]=0;return r}function Fr(e,t){const n=t===30?48:24,r=[];for(let a=0;a<n;a++){const o=Math.floor(a*t/60),i=a*t%60;r.push(`${e}T${String(o).padStart(2,"0")}:${String(i).padStart(2,"0")}:00`)}return r}function jr(e,t,{timeZone:n,offsetMinutes:r}={}){const a=Fr(e,t);if(!n||typeof Intl>"u"||!Intl.DateTimeFormat)return a;const o=Ze(e);if(!o)return a;const i=o.getUTCFullYear()*1e4+(o.getUTCMonth()+1)*100+o.getUTCDate(),s=o.getTime()-2160*60*1e3,l=mn(o,2).getTime()+2160*60*1e3,c=[],u=new Set;for(let d=s;d<=l;d+=1800*1e3){const m=tt({timeZone:n,offsetMinutes:r,now:new Date(d)});if(!m||m.dayNum!==i||t===60&&m.minute!==0||t===30&&m.minute!==0&&m.minute!==30)continue;const h=`${e}T${String(m.hour).padStart(2,"0")}:${String(m.minute).padStart(2,"0")}:00`;u.has(h)||(u.add(h),c.push(h))}return c.length>0?c:a}function ut(e,t,{timeZone:n,offsetMinutes:r,now:a}={}){if(!t)return Array.isArray(e)?e:[];const o=t.trim().slice(0,10),i=tt({timeZone:n,offsetMinutes:r,now:a}),s=i?i.dayNum:void 0;let l=!1;for(const h of e||[]){const y=h?.hour||h?.label||"",v=et(y,s);if(v&&v.slot%2!==0){l=!0;break}}const c=l?30:60,u=new Map;for(const h of e||[]){const y=h?.hour||h?.label||"",v=et(y,s);v&&u.set(v.slot,h)}const d=[],m=jr(o,c,{timeZone:n,offsetMinutes:r});for(let h=0;h<m.length;h++){const y=m[h],v=et(y,s),p=v?v.slot:l?h:h*2,D=u.get(p);let k=!1;if(i){const w=i.year*1e4+i.month*100+i.day,N=v?.dayNum??Number(o.replace(/-/g,""));if(N>w)k=!0;else if(N===w){const x=i.hour*2+(i.minute>=30?1:0);k=p>x}}D?d.push(Yr(D,y,k)):d.push($r(y,k))}return d}function dt(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=tt({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.hour||o?.label||"",s=et(i,a.dayNum);if(!s)return{...o,future:!1};const l=s.dayNum!==null&&s.dayNum>a.dayNum||(s.dayNum===null||s.dayNum===a.dayNum)&&s.slot>a.slot;return{...o,future:!!l}}):e}function ft(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=tt({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.month||o?.label||"",s=Ar(i);if(!s)return{...o,future:!1};const l=s.year>a.year||s.year===a.year&&s.month>a.month;return{...o,future:l}}):e}function tt({timeZone:e,offsetMinutes:t,now:n}={}){const r=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const m=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(r).reduce((k,w)=>(w.type&&w.value&&(k[w.type]=w.value),k),{}),h=Number(m.year),y=Number(m.month),v=Number(m.day),p=Number(m.hour),D=Number(m.minute);if(Number.isFinite(h)&&Number.isFinite(y)&&Number.isFinite(v)&&Number.isFinite(p)&&Number.isFinite(D)){const k=p*2+(D>=30?1:0);return{year:h,month:y,day:v,hour:p,minute:D,dayNum:h*1e4+y*100+v,slot:k}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),d=u.getUTCFullYear(),m=u.getUTCMonth()+1,h=u.getUTCDate(),y=u.getUTCHours(),v=u.getUTCMinutes(),p=y*2+(v>=30?1:0);return{year:d,month:m,day:h,hour:y,minute:v,dayNum:d*1e4+m*100+h,slot:p}}const a=r.getFullYear(),o=r.getMonth()+1,i=r.getDate(),s=r.getHours(),l=r.getMinutes(),c=s*2+(l>=30?1:0);return{year:a,month:o,day:i,hour:s,minute:l,dayNum:a*1e4+o*100+i,slot:c}}function et(e,t){if(!e)return null;const n=String(e).trim();if(n.includes("T")){const[r,a]=n.split("T");if(!r||!a)return null;const o=r.split("-");if(o.length!==3)return null;const i=Number(o[0]),s=Number(o[1]),l=Number(o[2]);if(!Number.isFinite(i)||!Number.isFinite(s)||!Number.isFinite(l))return null;const c=a.split(":"),u=Number(c[0]),d=Number(c[1]);if(!Number.isFinite(u)||u<0||u>23||!Number.isFinite(d)||d<0||d>59)return null;const m=u*2+(d>=30?1:0);return{dayNum:i*1e4+s*100+l,slot:m}}else{let r=NaN,a=0;if(/^\d{1,2}$/.test(n))r=Number(n);else if(/^\d{1,2}:\d{2}(:\d{2})?$/.test(n)){const i=n.split(":");r=Number(i[0]),a=Number(i[1])}if(!Number.isFinite(r)||r<0||r>23||!Number.isFinite(a)||a<0||a>59)return null;const o=r*2+(a>=30?1:0);return{dayNum:t||null,slot:o}}}function Ar(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const r=Number(n[0]),a=Number(n[1]);return!Number.isFinite(r)||!Number.isFinite(a)||a<1||a>12?null:{year:r,month:a}}function Ir(e){return e==="day"?"hourly":e==="total"?"monthly":"daily"}function Br(e){return!!e&&!e.missing&&!e.future}function zr(e){const t=e?.billable_total_tokens??e?.total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Hr(e){const t=e?.total_tokens??e?.billable_total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Rr(e){const t=Array.isArray(e)?e.filter(Br):[];let n=0,r=0,a=0,o=0,i=!1,s=0,l=-1,c=null;for(const u of t){const d=Hr(u),m=zr(u);n+=d,r+=m;const h=Number(u?.conversation_count);Number.isFinite(h)&&h>0&&(a+=h);const y=Number(u?.total_cost_usd);Number.isFinite(y)&&(i=!0,o+=y),m>0&&(s+=1),m>l&&(l=m,c=u)}return{totalTokens:n,billableTokens:r,conversationCount:a,totalCostUsd:i?o:null,bucketCount:t.length,activeBuckets:s,peak:c&&l>0?{value:l,label:c.hour||c.day||c.month||""}:null}}function At(e){return String(e).padStart(2,"0")}function qr(e,t){if(!e)return"";if(t==="hourly"){const n=String(e.hour||e.label||""),r=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})/.exec(n);if(!r)return n;const[,a,o,i]=r,l=Number(o)*60+Number(i)+30,c=Math.floor(l/60)%24,u=l%60;return`${a} ${o}:${i}–${At(c)}:${At(u)}`}return String(t==="monthly"?e.month||e.label||"":e.day||e.label||"")}function Xr(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 Ur(e,t){if(!e)return"";if(t==="hourly"){const a=/T(\d{2}:\d{2})/.exec(String(e.hour||e.label||""));return a?a[1]:""}if(t==="monthly")return String(e.month||e.label||"");const n=String(e.day||e.label||""),r=/^\d{4}-(\d{2}-\d{2})$/.exec(n);return r?r[1]:n}function Gr(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 Vr={},qe={};function Fe(e,t){try{const r=(Vr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in qe?qe[r]:It(r,r.split(":"))}catch{if(e in qe)return qe[e];const n=e?.match(Lr);return n?It(e,n.slice(1)):NaN}}const Lr=/([+-]\d\d):?(\d\d)?/;function It(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return qe[e]=n*60+r>0?n*60+r+a:n*60-r-a}class De extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Fe(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)),yn(this),bt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new De(...n,t):new De(Date.now(),t)}withTimeZone(t){return new De(+this,t)}getTimezoneOffset(){const t=-Fe(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),bt(this),+this}[Symbol.for("constructDateFrom")](t){return new De(+new Date(t),this.timeZone)}}const Bt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Bt.test(e))return;const t=e.replace(Bt,"$1UTC");De.prototype[t]&&(e.startsWith("get")?De.prototype[e]=function(){return this.internal[t]()}:(De.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Qr(this),+this},De.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),bt(this),+this}))});function bt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Fe(e.timeZone,e)*60))}function Qr(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()),yn(e)}function yn(e){const t=Fe(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),o=-new Date(+r).getTimezoneOffset(),i=a-o,s=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&s&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);const l=a-n;l&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const c=new Date(+e);c.setUTCSeconds(0);const u=a>0?c.getSeconds():(c.getSeconds()-60)%60,d=Math.round(-(Fe(e.timeZone,e)*60))%60;(d||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+d),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+d+u));const m=Fe(e.timeZone,e),h=m>0?Math.floor(m):Math.ceil(m),v=-new Date(+e).getTimezoneOffset()-h,p=h!==n,D=v-l;if(p&&D){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+D);const k=Fe(e.timeZone,e),w=k>0?Math.floor(k):Math.ceil(k),N=h-w;N&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+N),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N))}}class ae extends De{static tz(t,...n){return n.length?new ae(...n,t):new ae(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${Gr(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new ae(+this,t)}[Symbol.for("constructDateFrom")](t){return new ae(+new Date(t),this.timeZone)}}const gn=6048e5,Kr=864e5,zt=Symbol.for("constructDateFrom");function ee(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&zt in e?e[zt](t):e instanceof Date?new e.constructor(t):new Date(t)}function G(e,t){return ee(t||e,e)}function bn(e,t,n){const r=G(e,n?.in);return isNaN(t)?ee(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function pn(e,t,n){const r=G(e,n?.in);if(isNaN(t))return ee(e,NaN);if(!t)return r;const a=r.getDate(),o=ee(e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const i=o.getDate();return a>=i?o:(r.setFullYear(o.getFullYear(),o.getMonth(),a),r)}let Jr={};function Ge(){return Jr}function $e(e,t){const n=Ge(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=G(e,t?.in),o=a.getDay(),i=(o<r?7:0)+o-r;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function Xe(e,t){return $e(e,{...t,weekStartsOn:1})}function kn(e,t){const n=G(e,t?.in),r=n.getFullYear(),a=ee(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const o=Xe(a),i=ee(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const s=Xe(i);return n.getTime()>=o.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Ht(e){const t=G(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 je(e,...t){const n=ee.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function Ue(e,t){const n=G(e,t?.in);return n.setHours(0,0,0,0),n}function kt(e,t,n){const[r,a]=je(n?.in,e,t),o=Ue(r),i=Ue(a),s=+o-Ht(o),l=+i-Ht(i);return Math.round((s-l)/Kr)}function Zr(e,t){const n=kn(e,t),r=ee(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Xe(r)}function ea(e,t,n){return bn(e,t*7,n)}function ta(e,t,n){return pn(e,t*12,n)}function na(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=ee.bind(null,a));const o=G(a,r);(!n||n<o||isNaN(+o))&&(n=o)}),ee(r,n||NaN)}function ra(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=ee.bind(null,a));const o=G(a,r);(!n||n>o||isNaN(+o))&&(n=o)}),ee(r,n||NaN)}function aa(e,t,n){const[r,a]=je(n?.in,e,t);return+Ue(r)==+Ue(a)}function wn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function oa(e){return!(!wn(e)&&typeof e!="number"||isNaN(+G(e)))}function xn(e,t,n){const[r,a]=je(n?.in,e,t),o=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return o*12+i}function sa(e,t){const n=G(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function vn(e,t){const[n,r]=je(e,t.start,t.end);return{start:n,end:r}}function ia(e,t){const{start:n,end:r}=vn(t?.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setDate(1);let s=1;const l=[];for(;+i<=o;)l.push(ee(n,i)),i.setMonth(i.getMonth()+s);return a?l.reverse():l}function la(e,t){const n=G(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function ca(e,t){const n=G(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function Mn(e,t){const n=G(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ua(e,t){const{start:n,end:r}=vn(t?.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setMonth(0,1);let s=1;const l=[];for(;+i<=o;)l.push(ee(n,i)),i.setFullYear(i.getFullYear()+s);return a?l.reverse():l}function Dn(e,t){const n=Ge(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=G(e,t?.in),o=a.getDay(),i=(o<r?-7:0)+6-(o-r);return a.setDate(a.getDate()+i),a.setHours(23,59,59,999),a}function da(e,t){return Dn(e,{...t,weekStartsOn:1})}const fa={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"}},ma=(e,t,n)=>{let r;const a=fa[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function ie(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const ha={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ya={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ga={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ba={date:ie({formats:ha,defaultWidth:"full"}),time:ie({formats:ya,defaultWidth:"full"}),dateTime:ie({formats:ga,defaultWidth:"full"})},pa={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},ka=(e,t,n,r)=>pa[e];function Q(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,s=n?.width?String(n.width):i;a=e.formattingValues[s]||e.formattingValues[i]}else{const i=e.defaultWidth,s=n?.width?String(n.width):e.defaultWidth;a=e.values[s]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}const wa={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},xa={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},va={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"]},Ma={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"]},Da={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"}},Na={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"}},Sa=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Wa={ordinalNumber:Sa,era:Q({values:wa,defaultWidth:"wide"}),quarter:Q({values:xa,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Q({values:va,defaultWidth:"wide"}),day:Q({values:Ma,defaultWidth:"wide"}),dayPeriod:Q({values:Da,defaultWidth:"wide",formattingValues:Na,defaultFormattingWidth:"wide"})};function K(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const i=o[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?Ca(s,d=>d.test(i)):Oa(s,d=>d.test(i));let c;c=e.valueCallback?e.valueCallback(l):l,c=n.valueCallback?n.valueCallback(c):c;const u=t.slice(i.length);return{value:c,rest:u}}}function Oa(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Ca(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Ve(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],o=t.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=n.valueCallback?n.valueCallback(i):i;const s=t.slice(a.length);return{value:i,rest:s}}}const Pa=/^(\d+)(th|st|nd|rd)?/i,Ta=/\d+/i,_a={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},$a={any:[/^b/i,/^(a|c)/i]},Ea={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ya={any:[/1/i,/2/i,/3/i,/4/i]},Fa={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},ja={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]},Aa={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},Ia={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]},Ba={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},za={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}},Ha={ordinalNumber:Ve({matchPattern:Pa,parsePattern:Ta,valueCallback:e=>parseInt(e,10)}),era:K({matchPatterns:_a,defaultMatchWidth:"wide",parsePatterns:$a,defaultParseWidth:"any"}),quarter:K({matchPatterns:Ea,defaultMatchWidth:"wide",parsePatterns:Ya,defaultParseWidth:"any",valueCallback:e=>e+1}),month:K({matchPatterns:Fa,defaultMatchWidth:"wide",parsePatterns:ja,defaultParseWidth:"any"}),day:K({matchPatterns:Aa,defaultMatchWidth:"wide",parsePatterns:Ia,defaultParseWidth:"any"}),dayPeriod:K({matchPatterns:Ba,defaultMatchWidth:"any",parsePatterns:za,defaultParseWidth:"any"})},_e={code:"en-US",formatDistance:ma,formatLong:ba,formatRelative:ka,localize:Wa,match:Ha,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ra(e,t){const n=G(e,t?.in);return kt(n,Mn(n))+1}function wt(e,t){const n=G(e,t?.in),r=+Xe(n)-+Zr(n);return Math.round(r/gn)+1}function Nn(e,t){const n=G(e,t?.in),r=n.getFullYear(),a=Ge(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=ee(t?.in||e,0);i.setFullYear(r+1,0,o),i.setHours(0,0,0,0);const s=$e(i,t),l=ee(t?.in||e,0);l.setFullYear(r,0,o),l.setHours(0,0,0,0);const c=$e(l,t);return+n>=+s?r+1:+n>=+c?r:r-1}function qa(e,t){const n=Ge(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=Nn(e,t),o=ee(t?.in||e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),$e(o,t)}function xt(e,t){const n=G(e,t?.in),r=+$e(n,t)-+qa(n,t);return Math.round(r/gn)+1}function q(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Te={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return q(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):q(n+1,2)},d(e,t){return q(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 q(e.getHours()%12||12,t.length)},H(e,t){return q(e.getHours(),t.length)},m(e,t){return q(e.getMinutes(),t.length)},s(e,t){return q(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return q(a,t.length)}},Ae={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Rt={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return Te.y(e,t)},Y:function(e,t,n,r){const a=Nn(e,r),o=a>0?a:1-a;if(t==="YY"){const i=o%100;return q(i,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):q(o,t.length)},R:function(e,t){const n=kn(e);return q(n,t.length)},u:function(e,t){const n=e.getFullYear();return q(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return q(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return q(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return Te.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return q(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=xt(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):q(a,t.length)},I:function(e,t,n){const r=wt(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):q(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):Te.d(e,t)},D:function(e,t,n){const r=Ra(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):q(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return q(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return q(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return q(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Ae.noon:r===0?a=Ae.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Ae.evening:r>=12?a=Ae.afternoon:r>=4?a=Ae.morning:a=Ae.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return Te.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Te.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):q(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):q(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):Te.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Te.s(e,t)},S:function(e,t){return Te.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return Xt(r);case"XXXX":case"XX":return Ye(r);default:return Ye(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return Xt(r);case"xxxx":case"xx":return Ye(r);default:return Ye(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+qt(r,":");default:return"GMT"+Ye(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+qt(r,":");default:return"GMT"+Ye(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return q(r,t.length)},T:function(e,t,n){return q(+e,t.length)}};function qt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+t+q(o,2)}function Xt(e,t){return e%60===0?(e>0?"-":"+")+q(Math.abs(e)/60,2):Ye(e,t)}function Ye(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=q(Math.trunc(r/60),2),o=q(r%60,2);return n+a+t+o}const Ut=(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"})}},Sn=(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"})}},Xa=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return Ut(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Ut(r,t)).replace("{{time}}",Sn(a,t))},Ua={p:Sn,P:Xa},Ga=/^D+$/,Va=/^Y+$/,La=["D","DD","YY","YYYY"];function Qa(e){return Ga.test(e)}function Ka(e){return Va.test(e)}function Ja(e,t,n){const r=Za(e,t,n);if(console.warn(r),La.includes(e))throw new RangeError(r)}function Za(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const eo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,to=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,no=/^'([^]*?)'?$/,ro=/''/g,ao=/[a-zA-Z]/;function Ne(e,t,n){const r=Ge(),a=n?.locale??r.locale??_e,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=G(e,n?.in);if(!oa(s))throw new RangeError("Invalid time value");let l=t.match(to).map(u=>{const d=u[0];if(d==="p"||d==="P"){const m=Ua[d];return m(u,a.formatLong)}return u}).join("").match(eo).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const d=u[0];if(d==="'")return{isToken:!1,value:oo(u)};if(Rt[d])return{isToken:!0,value:u};if(d.match(ao))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(l=a.localize.preprocessor(s,l));const c={firstWeekContainsDate:o,weekStartsOn:i,locale:a};return l.map(u=>{if(!u.isToken)return u.value;const d=u.value;(!n?.useAdditionalWeekYearTokens&&Ka(d)||!n?.useAdditionalDayOfYearTokens&&Qa(d))&&Ja(d,t,String(e));const m=Rt[d[0]];return m(s,d,a.localize,c)}).join("")}function oo(e){const t=e.match(no);return t?t[1].replace(ro,"'"):e}function so(e,t){const n=G(e,t?.in),r=n.getFullYear(),a=n.getMonth(),o=ee(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function io(e,t){return G(e,t?.in).getMonth()}function lo(e,t){return G(e,t?.in).getFullYear()}function co(e,t){return+G(e)>+G(t)}function uo(e,t){return+G(e)<+G(t)}function fo(e,t,n){const[r,a]=je(n?.in,e,t);return+$e(r,n)==+$e(a,n)}function mo(e,t,n){const[r,a]=je(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function ho(e,t,n){const[r,a]=je(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function yo(e,t,n){const r=G(e,n?.in),a=r.getFullYear(),o=r.getDate(),i=ee(e,0);i.setFullYear(a,t,15),i.setHours(0,0,0,0);const s=so(i);return r.setMonth(t,Math.min(o,s)),r}function go(e,t,n){const r=G(e,n?.in);return isNaN(+r)?ee(e,NaN):(r.setFullYear(t),r)}const Gt=5,bo=4;function po(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),o=t.addDays(a,Gt*7-1);return t.getMonth(e)===t.getMonth(o)?Gt:bo}function Wn(e,t){const n=t.startOfMonth(e),r=n.getDay();return r===1?n:r===0?t.addDays(n,-6):t.addDays(n,-1*(r-1))}function ko(e,t){const n=Wn(e,t),r=po(e,t);return t.addDays(n,r*7-1)}const wo={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}}年近く"}},xo=(e,t,n)=>{n=n||{};let r;const a=wo[e];return typeof a=="string"?r=a:t===1?n.addSuffix&&a.oneWithSuffix?r=a.oneWithSuffix:r=a.one:n.addSuffix&&a.otherWithSuffix?r=a.otherWithSuffix.replace("{{count}}",String(t)):r=a.other.replace("{{count}}",String(t)),n.addSuffix?n.comparison&&n.comparison>0?r+"後":r+"前":r},vo={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},Mo={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Do={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},No={date:ie({formats:vo,defaultWidth:"full"}),time:ie({formats:Mo,defaultWidth:"full"}),dateTime:ie({formats:Do,defaultWidth:"full"})},So={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},Wo=(e,t,n,r)=>So[e],Oo={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},Co={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},Po={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月"]},To={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},_o={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:"深夜"}},$o={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:"深夜"}},Eo=(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}`}},Yo={ordinalNumber:Eo,era:Q({values:Oo,defaultWidth:"wide"}),quarter:Q({values:Co,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:Q({values:Po,defaultWidth:"wide"}),day:Q({values:To,defaultWidth:"wide"}),dayPeriod:Q({values:_o,defaultWidth:"wide",formattingValues:$o,defaultFormattingWidth:"wide"})},Fo=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,jo=/\d+/i,Ao={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},Io={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},Bo={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},zo={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Ho={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},Ro={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},qo={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Xo={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},Uo={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Go={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Vo={ordinalNumber:Ve({matchPattern:Fo,parsePattern:jo,valueCallback:function(e){return parseInt(e,10)}}),era:K({matchPatterns:Ao,defaultMatchWidth:"wide",parsePatterns:Io,defaultParseWidth:"any"}),quarter:K({matchPatterns:Bo,defaultMatchWidth:"wide",parsePatterns:zo,defaultParseWidth:"any",valueCallback:e=>e+1}),month:K({matchPatterns:Ho,defaultMatchWidth:"wide",parsePatterns:Ro,defaultParseWidth:"any"}),day:K({matchPatterns:qo,defaultMatchWidth:"wide",parsePatterns:Xo,defaultParseWidth:"any"}),dayPeriod:K({matchPatterns:Uo,defaultMatchWidth:"any",parsePatterns:Go,defaultParseWidth:"any"})},Lo={code:"ja",formatDistance:xo,formatLong:No,formatRelative:Wo,localize:Yo,match:Vo,options:{weekStartsOn:0,firstWeekContainsDate:1}},Qo={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}}년"}},Ko=(e,t,n)=>{let r;const a=Qo[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?r+" 후":r+" 전":r},Jo={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},Zo={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},es={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},ts={date:ie({formats:Jo,defaultWidth:"full"}),time:ie({formats:Zo,defaultWidth:"full"}),dateTime:ie({formats:es,defaultWidth:"full"})},ns={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},rs=(e,t,n,r)=>ns[e],as={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},os={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},ss={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월"]},is={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},ls={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:"밤"}},cs={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:"밤"}},us=(e,t)=>{const n=Number(e);switch(String(t?.unit)){case"minute":case"second":return String(n);case"date":return n+"일";default:return n+"번째"}},ds={ordinalNumber:us,era:Q({values:as,defaultWidth:"wide"}),quarter:Q({values:os,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Q({values:ss,defaultWidth:"wide"}),day:Q({values:is,defaultWidth:"wide"}),dayPeriod:Q({values:ls,defaultWidth:"wide",formattingValues:cs,defaultFormattingWidth:"wide"})},fs=/^(\d+)(일|번째)?/i,ms=/\d+/i,hs={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},ys={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},gs={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},bs={any:[/1/i,/2/i,/3/i,/4/i]},ps={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},ks={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},ws={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},xs={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},vs={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},Ms={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},Ds={ordinalNumber:Ve({matchPattern:fs,parsePattern:ms,valueCallback:e=>parseInt(e,10)}),era:K({matchPatterns:hs,defaultMatchWidth:"wide",parsePatterns:ys,defaultParseWidth:"any"}),quarter:K({matchPatterns:gs,defaultMatchWidth:"wide",parsePatterns:bs,defaultParseWidth:"any",valueCallback:e=>e+1}),month:K({matchPatterns:ps,defaultMatchWidth:"wide",parsePatterns:ks,defaultParseWidth:"any"}),day:K({matchPatterns:ws,defaultMatchWidth:"wide",parsePatterns:xs,defaultParseWidth:"any"}),dayPeriod:K({matchPatterns:vs,defaultMatchWidth:"any",parsePatterns:Ms,defaultParseWidth:"any"})},Ns={code:"ko",formatDistance:Ko,formatLong:ts,formatRelative:rs,localize:ds,match:Ds,options:{weekStartsOn:0,firstWeekContainsDate:1}},Ss={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}} 年"}},Ws=(e,t,n)=>{let r;const a=Ss[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},Os={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},Cs={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},Ps={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Ts={date:ie({formats:Os,defaultWidth:"full"}),time:ie({formats:Cs,defaultWidth:"full"}),dateTime:ie({formats:Ps,defaultWidth:"full"})};function Vt(e,t,n){const r="eeee p";return fo(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const _s={lastWeek:Vt,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:Vt,other:"PP p"},$s=(e,t,n,r)=>{const a=_s[e];return typeof a=="function"?a(t,n,r):a},Es={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},Ys={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},Fs={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},js={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},As={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:"夜间"}},Is={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:"夜间"}},Bs=(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()}},zs={ordinalNumber:Bs,era:Q({values:Es,defaultWidth:"wide"}),quarter:Q({values:Ys,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Q({values:Fs,defaultWidth:"wide"}),day:Q({values:js,defaultWidth:"wide"}),dayPeriod:Q({values:As,defaultWidth:"wide",formattingValues:Is,defaultFormattingWidth:"wide"})},Hs=/^(第\s*)?\d+(日|时|分|秒)?/i,Rs=/\d+/i,qs={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Xs={any:[/^(前)/i,/^(公元)/i]},Us={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Gs={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Vs={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Ls={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]},Qs={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Ks={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Js={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},Zs={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},ei={ordinalNumber:Ve({matchPattern:Hs,parsePattern:Rs,valueCallback:e=>parseInt(e,10)}),era:K({matchPatterns:qs,defaultMatchWidth:"wide",parsePatterns:Xs,defaultParseWidth:"any"}),quarter:K({matchPatterns:Us,defaultMatchWidth:"wide",parsePatterns:Gs,defaultParseWidth:"any",valueCallback:e=>e+1}),month:K({matchPatterns:Vs,defaultMatchWidth:"wide",parsePatterns:Ls,defaultParseWidth:"any"}),day:K({matchPatterns:Qs,defaultMatchWidth:"wide",parsePatterns:Ks,defaultParseWidth:"any"}),dayPeriod:K({matchPatterns:Js,defaultMatchWidth:"any",parsePatterns:Zs,defaultParseWidth:"any"})},ti={code:"zh-CN",formatDistance:Ws,formatLong:Ts,formatRelative:$s,localize:zs,match:ei,options:{weekStartsOn:1,firstWeekContainsDate:4}},ni={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}} 年"}},ri=(e,t,n)=>{let r;const a=ni[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"內":r+"前":r},ai={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},oi={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},si={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},ii={date:ie({formats:ai,defaultWidth:"full"}),time:ie({formats:oi,defaultWidth:"full"}),dateTime:ie({formats:si,defaultWidth:"full"})},li={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},ci=(e,t,n,r)=>li[e],ui={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},di={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},fi={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},mi={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},hi={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:"夜間"}},yi={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:"夜間"}},gi=(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}},bi={ordinalNumber:gi,era:Q({values:ui,defaultWidth:"wide"}),quarter:Q({values:di,defaultWidth:"wide",argumentCallback:e=>e-1}),month:Q({values:fi,defaultWidth:"wide"}),day:Q({values:mi,defaultWidth:"wide"}),dayPeriod:Q({values:hi,defaultWidth:"wide",formattingValues:yi,defaultFormattingWidth:"wide"})},pi=/^(第\s*)?\d+(日|時|分|秒)?/i,ki=/\d+/i,wi={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},xi={any:[/^(前)/i,/^(公元)/i]},vi={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},Mi={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Di={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Ni={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]},Si={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Wi={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Oi={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},Ci={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Pi={ordinalNumber:Ve({matchPattern:pi,parsePattern:ki,valueCallback:e=>parseInt(e,10)}),era:K({matchPatterns:wi,defaultMatchWidth:"wide",parsePatterns:xi,defaultParseWidth:"any"}),quarter:K({matchPatterns:vi,defaultMatchWidth:"wide",parsePatterns:Mi,defaultParseWidth:"any",valueCallback:e=>e+1}),month:K({matchPatterns:Di,defaultMatchWidth:"wide",parsePatterns:Ni,defaultParseWidth:"any"}),day:K({matchPatterns:Si,defaultMatchWidth:"wide",parsePatterns:Wi,defaultParseWidth:"any"}),dayPeriod:K({matchPatterns:Oi,defaultMatchWidth:"any",parsePatterns:Ci,defaultParseWidth:"any"})},Ti={code:"zh-TW",formatDistance:ri,formatLong:ii,formatRelative:ci,localize:bi,match:Pi,options:{weekStartsOn:1,firstWeekContainsDate:4}},On={..._e,labels:{labelDayButton:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,s)=>Ne(i,s,{locale:_e,...n});let o=a(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Ne(a,o,{locale:_e,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,s)=>Ne(i,s,{locale:_e,...n});let o=a(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>Ne(a,o,{locale:_e,...t}),r(e,"cccc")}}};class fe{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?ae.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,o)=>this.overrides?.newDate?this.overrides.newDate(r,a,o):this.options.timeZone?new ae(r,a,o,this.options.timeZone):new Date(r,a,o),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):bn(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):pn(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):ea(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):ta(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):kt(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):xn(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):ia(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):ua(r),o=new Set(a.map(s=>this.getYear(s)));if(o.size===a.length)return a;const i=[];return o.forEach(s=>{i.push(new Date(s,0,1))}),i},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):ko(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):da(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):sa(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):Dn(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):ca(r),this.format=(r,a,o)=>{const i=this.overrides?.format?this.overrides.format(r,a,this.options):Ne(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(i):i},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):wt(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):io(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):lo(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):xt(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):co(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):uo(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):wn(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):aa(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):mo(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):ho(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):na(r),this.min=r=>this.overrides?.min?this.overrides.min(r):ra(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):yo(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):go(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):Wn(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Ue(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Xe(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):la(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):$e(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):Mn(r),this.options={locale:On,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&fe.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,o=n?.code;if(o&&fe.yearFirstLocales.has(o))try{return new Intl.DateTimeFormat(o,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const i=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,i)}}fe.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 Se=new fe;class Cn{constructor(t,n,r=Se){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r,this.isoDate=r.format(t,"yyyy-MM-dd"),this.displayMonthId=r.format(n,"yyyy-MM"),this.dateMonthId=r.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class _i{constructor(t,n){this.date=t,this.weeks=n}}class $i{constructor(t,n){this.days=n,this.weekNumber=t}}function Ei(e){return b.createElement("button",{...e})}function Yi(e){return b.createElement("span",{...e})}function Fi(e){const{size:t=24,orientation:n="left",className:r}=e;return b.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&b.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&b.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&b.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&b.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function ji(e){const{day:t,modifiers:n,...r}=e;return b.createElement("td",{...r})}function Ai(e){const{day:t,modifiers:n,...r}=e,a=b.useRef(null);return b.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),b.createElement("button",{ref:a,...r})}var M;(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"})(M||(M={}));var J;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(J||(J={}));var we;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(we||(we={}));var de;(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"})(de||(de={}));function Ii(e){const{options:t,className:n,components:r,classNames:a,...o}=e,i=[a[M.Dropdown],n].join(" "),s=t?.find(({value:l})=>l===o.value);return b.createElement("span",{"data-disabled":o.disabled,className:a[M.DropdownRoot]},b.createElement(r.Select,{className:i,...o},t?.map(({value:l,label:c,disabled:u})=>b.createElement(r.Option,{key:l,value:l,disabled:u},c))),b.createElement("span",{className:a[M.CaptionLabel],"aria-hidden":!0},s?.label,b.createElement(r.Chevron,{orientation:"down",size:18,className:a[M.Chevron]})))}function Bi(e){return b.createElement("div",{...e})}function zi(e){return b.createElement("div",{...e})}function Hi(e){const{calendarMonth:t,displayIndex:n,...r}=e;return b.createElement("div",{...r},e.children)}function Ri(e){const{calendarMonth:t,displayIndex:n,...r}=e;return b.createElement("div",{...r})}function qi(e){return b.createElement("table",{...e})}function Xi(e){return b.createElement("div",{...e})}const Pn=O.createContext(void 0);function Le(){const e=O.useContext(Pn);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Ui(e){const{components:t}=Le();return b.createElement(t.Dropdown,{...e})}function Gi(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...o}=e,{components:i,classNames:s,labels:{labelPrevious:l,labelNext:c}}=Le(),u=O.useCallback(m=>{a&&n?.(m)},[a,n]),d=O.useCallback(m=>{r&&t?.(m)},[r,t]);return b.createElement("nav",{...o},b.createElement(i.PreviousMonthButton,{type:"button",className:s[M.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":l(r),onClick:d},b.createElement(i.Chevron,{disabled:r?void 0:!0,className:s[M.Chevron],orientation:"left"})),b.createElement(i.NextMonthButton,{type:"button",className:s[M.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:u},b.createElement(i.Chevron,{disabled:a?void 0:!0,orientation:"right",className:s[M.Chevron]})))}function Vi(e){const{components:t}=Le();return b.createElement(t.Button,{...e})}function Li(e){return b.createElement("option",{...e})}function Qi(e){const{components:t}=Le();return b.createElement(t.Button,{...e})}function Ki(e){const{rootRef:t,...n}=e;return b.createElement("div",{...n,ref:t})}function Ji(e){return b.createElement("select",{...e})}function Zi(e){const{week:t,...n}=e;return b.createElement("tr",{...n})}function el(e){return b.createElement("th",{...e})}function tl(e){return b.createElement("thead",{"aria-hidden":!0},b.createElement("tr",{...e}))}function nl(e){const{week:t,...n}=e;return b.createElement("th",{...n})}function rl(e){return b.createElement("th",{...e})}function al(e){return b.createElement("tbody",{...e})}function ol(e){const{components:t}=Le();return b.createElement(t.Dropdown,{...e})}const sl=Object.freeze(Object.defineProperty({__proto__:null,Button:Ei,CaptionLabel:Yi,Chevron:Fi,Day:ji,DayButton:Ai,Dropdown:Ii,DropdownNav:Bi,Footer:zi,Month:Hi,MonthCaption:Ri,MonthGrid:qi,Months:Xi,MonthsDropdown:Ui,Nav:Gi,NextMonthButton:Vi,Option:Li,PreviousMonthButton:Qi,Root:Ki,Select:Ji,Week:Zi,WeekNumber:nl,WeekNumberHeader:rl,Weekday:el,Weekdays:tl,Weeks:al,YearsDropdown:ol},Symbol.toStringTag,{value:"Module"}));function We(e,t,n=!1,r=Se){let{from:a,to:o}=e;const{differenceInCalendarDays:i,isSameDay:s}=r;return a&&o?(i(o,a)<0&&([a,o]=[o,a]),i(t,a)>=(n?1:0)&&i(o,t)>=(n?1:0)):!n&&o?s(o,t):!n&&a?s(a,t):!1}function vt(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function nt(e){return!!(e&&typeof e=="object"&&"from"in e)}function Mt(e){return!!(e&&typeof e=="object"&&"after"in e)}function Dt(e){return!!(e&&typeof e=="object"&&"before"in e)}function Tn(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function _n(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Oe(e,t,n=Se){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:o,isAfter:i}=n;return r.some(s=>{if(typeof s=="boolean")return s;if(n.isDate(s))return a(e,s);if(_n(s,n))return s.some(l=>a(e,l));if(nt(s))return We(s,e,!1,n);if(Tn(s))return Array.isArray(s.dayOfWeek)?s.dayOfWeek.includes(e.getDay()):s.dayOfWeek===e.getDay();if(vt(s)){const l=o(s.before,e),c=o(s.after,e),u=l>0,d=c<0;return i(s.before,s.after)?d&&u:u||d}return Mt(s)?o(e,s.after)>0:Dt(s)?o(s.before,e)>0:typeof s=="function"?s(e):!1})}function il(e,t,n,r,a){const{disabled:o,hidden:i,modifiers:s,showOutsideDays:l,broadcastCalendar:c,today:u=a.today()}=t,{isSameDay:d,isSameMonth:m,startOfMonth:h,isBefore:y,endOfMonth:v,isAfter:p}=a,D=n&&h(n),k=r&&v(r),w={[J.focused]:[],[J.outside]:[],[J.disabled]:[],[J.hidden]:[],[J.today]:[]},N={};for(const x of e){const{date:g,displayMonth:W}=x,_=!!(W&&!m(g,W)),$=!!(D&&y(g,D)),B=!!(k&&p(g,k)),A=!!(o&&Oe(g,o,a)),oe=!!(i&&Oe(g,i,a))||$||B||!c&&!l&&_||c&&l===!1&&_,X=d(g,u);_&&w.outside.push(x),A&&w.disabled.push(x),oe&&w.hidden.push(x),X&&w.today.push(x),s&&Object.keys(s).forEach(re=>{const E=s?.[re];E&&Oe(g,E,a)&&(N[re]?N[re].push(x):N[re]=[x])})}return x=>{const g={[J.focused]:!1,[J.disabled]:!1,[J.hidden]:!1,[J.outside]:!1,[J.today]:!1},W={};for(const _ in w){const $=w[_];g[_]=$.some(B=>B===x)}for(const _ in N)W[_]=N[_].some($=>$===x);return{...g,...W}}}function ll(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[o])=>(n[o]?a.push(n[o]):t[J[o]]?a.push(t[J[o]]):t[we[o]]&&a.push(t[we[o]]),a),[t[M.Day]])}function cl(e){return{...sl,...e}}function ul(e){const t={"data-mode":e.mode??void 0,"data-required":"required"in e?e.required:void 0,"data-multiple-months":e.numberOfMonths&&e.numberOfMonths>1||void 0,"data-week-numbers":e.showWeekNumber||void 0,"data-broadcast-calendar":e.broadcastCalendar||void 0,"data-nav-layout":e.navLayout||void 0};return Object.entries(e).forEach(([n,r])=>{n.startsWith("data-")&&(t[n]=r)}),t}function dl(){const e={};for(const t in M)e[M[t]]=`rdp-${M[t]}`;for(const t in J)e[J[t]]=`rdp-${J[t]}`;for(const t in we)e[we[t]]=`rdp-${we[t]}`;for(const t in de)e[de[t]]=`rdp-${de[t]}`;return e}function $n(e,t,n){return(n??new fe(t)).formatMonthYear(e)}const fl=$n;function ml(e,t,n){return(n??new fe(t)).format(e,"d")}function hl(e,t=Se){return t.format(e,"LLLL")}function yl(e,t,n){return(n??new fe(t)).format(e,"cccccc")}function gl(e,t=Se){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function bl(){return""}function En(e,t=Se){return t.format(e,"yyyy")}const pl=En,kl=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:$n,formatDay:ml,formatMonthCaption:fl,formatMonthDropdown:hl,formatWeekNumber:gl,formatWeekNumberHeader:bl,formatWeekdayName:yl,formatYearCaption:pl,formatYearDropdown:En},Symbol.toStringTag,{value:"Module"}));function wl(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...kl,...e}}function Nt(e,t,n,r){let a=(r??new fe(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const xl=Nt;function St(e,t,n){return(n??new fe(t)).formatMonthYear(e)}const vl=St;function Yn(e,t,n,r){let a=(r??new fe(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function Fn(e){return"Choose the Month"}function jn(){return""}const Ml="Go to the Next Month";function An(e,t){return Ml}function In(e){return"Go to the Previous Month"}function Bn(e,t,n){return(n??new fe(t)).format(e,"cccc")}function zn(e,t){return`Week ${e}`}function Hn(e){return"Week Number"}function Rn(e){return"Choose the Year"}const Dl=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:vl,labelDay:xl,labelDayButton:Nt,labelGrid:St,labelGridcell:Yn,labelMonthDropdown:Fn,labelNav:jn,labelNext:An,labelPrevious:In,labelWeekNumber:zn,labelWeekNumberHeader:Hn,labelWeekday:Bn,labelYearDropdown:Rn},Symbol.toStringTag,{value:"Module"})),pe=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Nl(e,t){const n=t.locale?.labels??{};return{...Dl,...e??{},labelDayButton:pe(Nt,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:pe(Fn,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:pe(An,e?.labelNext,n.labelNext),labelPrevious:pe(In,e?.labelPrevious,n.labelPrevious),labelWeekNumber:pe(zn,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:pe(Rn,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:pe(St,e?.labelGrid,n.labelGrid),labelGridcell:pe(Yn,e?.labelGridcell,n.labelGridcell),labelNav:pe(jn,e?.labelNav,n.labelNav),labelWeekNumberHeader:pe(Hn,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:pe(Bn,e?.labelWeekday,n.labelWeekday)}}function Sl(e,t,n,r,a){const{startOfMonth:o,startOfYear:i,endOfYear:s,eachMonthOfInterval:l,getMonth:c}=a;return l({start:i(e),end:s(e)}).map(m=>{const h=r.formatMonthDropdown(m,a),y=c(m),v=t&&m<o(t)||n&&m>o(n)||!1;return{value:y,label:h,disabled:v}})}function Wl(e,t={},n={}){let r={...t?.[M.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function Ol(e,t,n,r){const a=r??e.today(),o=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),i=[];for(let s=0;s<7;s++){const l=e.addDays(o,s);i.push(l)}return i}function Cl(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:o,endOfYear:i,eachYearOfInterval:s,getYear:l}=r,c=o(e),u=i(t),d=s({start:c,end:u});return a&&d.reverse(),d.map(m=>{const h=n.formatYearDropdown(m,r);return{value:l(m),label:h,disabled:!1}})}function Pl(e,t={}){const{weekStartsOn:n,locale:r}=t,a=n??r?.options?.weekStartsOn??0,o=s=>{const l=typeof s=="number"||typeof s=="string"?new Date(s):s;return new ae(l.getFullYear(),l.getMonth(),l.getDate(),12,0,0,e)},i=s=>{const l=o(s);return new Date(l.getFullYear(),l.getMonth(),l.getDate(),0,0,0,0)};return{today:()=>o(ae.tz(e)),newDate:(s,l,c)=>new ae(s,l,c,12,0,0,e),startOfDay:s=>o(s),startOfWeek:(s,l)=>{const c=o(s),u=l?.weekStartsOn??a,d=(c.getDay()-u+7)%7;return c.setDate(c.getDate()-d),c},startOfISOWeek:s=>{const l=o(s),c=(l.getDay()-1+7)%7;return l.setDate(l.getDate()-c),l},startOfMonth:s=>{const l=o(s);return l.setDate(1),l},startOfYear:s=>{const l=o(s);return l.setMonth(0,1),l},endOfWeek:(s,l)=>{const c=o(s),m=(((l?.weekStartsOn??a)+6)%7-c.getDay()+7)%7;return c.setDate(c.getDate()+m),c},endOfISOWeek:s=>{const l=o(s),c=(7-l.getDay())%7;return l.setDate(l.getDate()+c),l},endOfMonth:s=>{const l=o(s);return l.setMonth(l.getMonth()+1,0),l},endOfYear:s=>{const l=o(s);return l.setMonth(11,31),l},eachMonthOfInterval:s=>{const l=o(s.start),c=o(s.end),u=[],d=new ae(l.getFullYear(),l.getMonth(),1,12,0,0,e),m=c.getFullYear()*12+c.getMonth();for(;d.getFullYear()*12+d.getMonth()<=m;)u.push(new ae(d,e)),d.setMonth(d.getMonth()+1,1);return u},addDays:(s,l)=>{const c=o(s);return c.setDate(c.getDate()+l),c},addWeeks:(s,l)=>{const c=o(s);return c.setDate(c.getDate()+l*7),c},addMonths:(s,l)=>{const c=o(s);return c.setMonth(c.getMonth()+l),c},addYears:(s,l)=>{const c=o(s);return c.setFullYear(c.getFullYear()+l),c},eachYearOfInterval:s=>{const l=o(s.start),c=o(s.end),u=[],d=new ae(l.getFullYear(),0,1,12,0,0,e);for(;d.getFullYear()<=c.getFullYear();)u.push(new ae(d,e)),d.setFullYear(d.getFullYear()+1,0,1);return u},getWeek:(s,l)=>{const c=i(s);return xt(c,{weekStartsOn:l?.weekStartsOn??a,firstWeekContainsDate:l?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:s=>{const l=i(s);return wt(l)},differenceInCalendarDays:(s,l)=>{const c=i(s),u=i(l);return kt(c,u)},differenceInCalendarMonths:(s,l)=>{const c=i(s),u=i(l);return xn(c,u)}}}const Qe=e=>e instanceof HTMLElement?e:null,mt=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Tl=e=>Qe(e.querySelector("[data-animated-month]")),ht=e=>Qe(e.querySelector("[data-animated-caption]")),yt=e=>Qe(e.querySelector("[data-animated-weeks]")),_l=e=>Qe(e.querySelector("[data-animated-nav]")),$l=e=>Qe(e.querySelector("[data-animated-weekdays]"));function El(e,t,{classNames:n,months:r,focused:a,dateLib:o}){const i=O.useRef(null),s=O.useRef(r),l=O.useRef(!1);O.useLayoutEffect(()=>{const c=s.current;if(s.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||c.length===0||r.length!==c.length)return;const u=o.isSameMonth(r[0].date,c[0].date),d=o.isAfter(r[0].date,c[0].date),m=d?n[de.caption_after_enter]:n[de.caption_before_enter],h=d?n[de.weeks_after_enter]:n[de.weeks_before_enter],y=i.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(mt(v).forEach(w=>{if(!(w instanceof HTMLElement))return;const N=Tl(w);N&&w.contains(N)&&w.removeChild(N);const x=ht(w);x&&x.classList.remove(m);const g=yt(w);g&&g.classList.remove(h)}),i.current=v):i.current=null,l.current||u||a)return;const p=y instanceof HTMLElement?mt(y):[],D=mt(e.current);if(D?.every(k=>k instanceof HTMLElement)&&p&&p.every(k=>k instanceof HTMLElement)){l.current=!0,e.current.style.isolation="isolate";const k=_l(e.current);k&&(k.style.zIndex="1"),D.forEach((w,N)=>{const x=p[N];if(!x)return;w.style.position="relative",w.style.overflow="hidden";const g=ht(w);g&&g.classList.add(m);const W=yt(w);W&&W.classList.add(h);const _=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),k&&(k.style.zIndex=""),g&&g.classList.remove(m),W&&W.classList.remove(h),w.style.position="",w.style.overflow="",w.contains(x)&&w.removeChild(x)};x.style.pointerEvents="none",x.style.position="absolute",x.style.overflow="hidden",x.setAttribute("aria-hidden","true");const $=$l(x);$&&($.style.opacity="0");const B=ht(x);B&&(B.classList.add(d?n[de.caption_before_exit]:n[de.caption_after_exit]),B.addEventListener("animationend",_));const A=yt(x);A&&A.classList.add(d?n[de.weeks_before_exit]:n[de.weeks_after_exit]),w.insertBefore(x,w.firstChild)})}})}function Yl(e,t,n,r){const a=e[0],o=e[e.length-1],{ISOWeek:i,fixedWeeks:s,broadcastCalendar:l}=n??{},{addDays:c,differenceInCalendarDays:u,differenceInCalendarMonths:d,endOfBroadcastWeek:m,endOfISOWeek:h,endOfMonth:y,endOfWeek:v,isAfter:p,startOfBroadcastWeek:D,startOfISOWeek:k,startOfWeek:w}=r,N=l?D(a,r):i?k(a):w(a),x=l?m(o):i?h(y(o)):v(y(o)),g=t&&(l?m(t):i?h(t):v(t)),W=g&&p(x,g)?g:x,_=u(W,N),$=d(o,a)+1,B=[];for(let X=0;X<=_;X++){const re=c(N,X);B.push(re)}const oe=(l?35:42)*$;if(s&&B.length<oe){const X=oe-B.length;for(let re=0;re<X;re++){const E=c(B[B.length-1],1);B.push(E)}}return B}function Fl(e){const t=[];return e.reduce((n,r)=>{const a=r.weeks.reduce((o,i)=>o.concat(i.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function jl(e,t,n,r){const{numberOfMonths:a=1}=n,o=[];for(let i=0;i<a;i++){const s=r.addMonths(e,i);if(t&&s>t)break;o.push(s)}return o}function Lt(e,t,n,r){const{month:a,defaultMonth:o,today:i=r.today(),numberOfMonths:s=1}=e;let l=a||o||i;const{differenceInCalendarMonths:c,addMonths:u,startOfMonth:d}=r;if(n&&c(n,l)<s-1){const m=-1*(s-1);l=u(n,m)}return t&&c(l,t)<0&&(l=t),d(l)}function Al(e,t,n,r){const{addDays:a,endOfBroadcastWeek:o,endOfISOWeek:i,endOfMonth:s,endOfWeek:l,getISOWeek:c,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:m,startOfWeek:h}=r,y=e.reduce((v,p)=>{const D=n.broadcastCalendar?d(p,r):n.ISOWeek?m(p):h(p),k=n.broadcastCalendar?o(p):n.ISOWeek?i(s(p)):l(s(p)),w=t.filter(W=>W>=D&&W<=k),N=n.broadcastCalendar?35:42;if(n.fixedWeeks&&w.length<N){const W=t.filter(_=>{const $=N-w.length;return _>k&&_<=a(k,$)});w.push(...W)}const x=w.reduce((W,_)=>{const $=n.ISOWeek?c(_):u(_),B=W.find(oe=>oe.weekNumber===$),A=new Cn(_,p,r);return B?B.days.push(A):W.push(new $i($,[A])),W},[]),g=new _i(p,x);return v.push(g),v},[]);return n.reverseMonths?y.reverse():y}function Il(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:o,startOfMonth:i,endOfMonth:s,addYears:l,endOfYear:c,newDate:u,today:d}=t,{fromYear:m,toYear:h,fromMonth:y,toMonth:v}=e;!n&&y&&(n=y),!n&&m&&(n=t.newDate(m,0,1)),!r&&v&&(r=v),!r&&h&&(r=u(h,11,31));const p=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=i(n):m?n=u(m,0,1):!n&&p&&(n=a(l(e.today??d(),-100))),r?r=s(r):h?r=u(h,11,31):!r&&p&&(r=c(e.today??d())),[n&&o(n),r&&o(r)]}function Bl(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o=1}=n,{startOfMonth:i,addMonths:s,differenceInCalendarMonths:l}=r,c=a?o:1,u=i(e);if(!t)return s(u,c);if(!(l(t,e)<o))return s(u,c)}function zl(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o}=n,{startOfMonth:i,addMonths:s,differenceInCalendarMonths:l}=r,c=a?o??1:1,u=i(e);if(!t)return s(u,-c);if(!(l(u,t)<=0))return s(u,-c)}function Hl(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function rt(e,t){const[n,r]=O.useState(e);return[t===void 0?n:t,r]}function Rl(e,t){const[n,r]=Il(e,t),{startOfMonth:a,endOfMonth:o}=t,i=Lt(e,n,r,t),[s,l]=rt(i,e.month?i:void 0);O.useEffect(()=>{const N=Lt(e,n,r,t);l(N)},[e.timeZone]);const{months:c,weeks:u,days:d,previousMonth:m,nextMonth:h}=O.useMemo(()=>{const N=jl(s,r,{numberOfMonths:e.numberOfMonths},t),x=Yl(N,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),g=Al(N,x,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),W=Hl(g),_=Fl(g),$=zl(s,n,e,t),B=Bl(s,r,e,t);return{months:g,weeks:W,days:_,previousMonth:$,nextMonth:B}},[t,s.getTime(),r?.getTime(),n?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:y,onMonthChange:v}=e,p=N=>u.some(x=>x.days.some(g=>g.isEqualTo(N))),D=N=>{if(y)return;let x=a(N);n&&x<a(n)&&(x=a(n)),r&&x>a(r)&&(x=a(r)),l(x),v?.(x)};return{months:c,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:m,nextMonth:h,goToMonth:D,goToDay:N=>{p(N)||D(N.date)}}}var Me;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(Me||(Me={}));function Qt(e){return!e[J.disabled]&&!e[J.hidden]&&!e[J.outside]}function ql(e,t,n,r){let a,o=-1;for(const i of e){const s=t(i);Qt(s)&&(s[J.focused]&&o<Me.FocusedModifier?(a=i,o=Me.FocusedModifier):r?.isEqualTo(i)&&o<Me.LastFocused?(a=i,o=Me.LastFocused):n(i.date)&&o<Me.Selected?(a=i,o=Me.Selected):s[J.today]&&o<Me.Today&&(a=i,o=Me.Today))}return a||(a=e.find(i=>Qt(t(i)))),a}function Xl(e,t,n,r,a,o,i){const{ISOWeek:s,broadcastCalendar:l}=o,{addDays:c,addMonths:u,addWeeks:d,addYears:m,endOfBroadcastWeek:h,endOfISOWeek:y,endOfWeek:v,max:p,min:D,startOfBroadcastWeek:k,startOfISOWeek:w,startOfWeek:N}=i;let g={day:c,week:d,month:u,year:m,startOfWeek:W=>l?k(W,i):s?w(W):N(W),endOfWeek:W=>l?h(W):s?y(W):v(W)}[e](n,t==="after"?1:-1);return t==="before"&&r?g=p([r,g]):t==="after"&&a&&(g=D([a,g])),g}function qn(e,t,n,r,a,o,i,s=0){if(s>365)return;const l=Xl(e,t,n.date,r,a,o,i),c=!!(o.disabled&&Oe(l,o.disabled,i)),u=!!(o.hidden&&Oe(l,o.hidden,i)),d=l,m=new Cn(l,d,i);return!c&&!u?m:qn(e,t,m,r,a,o,i,s+1)}function Ul(e,t,n,r,a){const{autoFocus:o}=e,[i,s]=O.useState(),l=ql(t.days,n,r||(()=>!1),i),[c,u]=O.useState(o?l:void 0);return{isFocusTarget:v=>!!l?.isEqualTo(v),setFocused:u,focused:c,blur:()=>{s(c),u(void 0)},moveFocus:(v,p)=>{if(!c)return;const D=qn(v,p,c,t.navStart,t.navEnd,e,a);D&&(e.disableNavigation&&!t.days.some(w=>w.isEqualTo(D))||(t.goToDay(D),u(D)))}}}function Gl(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=rt(n,a?n:void 0),s=a?n:o,{isSameDay:l}=t,c=h=>s?.some(y=>l(y,h))??!1,{min:u,max:d}=e;return{selected:s,select:(h,y,v)=>{let p=[...s??[]];if(c(h)){if(s?.length===u||r&&s?.length===1)return;p=s?.filter(D=>!l(D,h))}else s?.length===d?p=[h]:p=[...p,h];return a||i(p),a?.(p,h,y,v),p},isSelected:c}}function Vl(e,t,n=0,r=0,a=!1,o=Se){const{from:i,to:s}=t||{},{isSameDay:l,isAfter:c,isBefore:u}=o;let d;if(!i&&!s)d={from:e,to:n>0?void 0:e};else if(i&&!s)l(i,e)?n===0?d={from:i,to:e}:a?d={from:i,to:void 0}:d=void 0:u(e,i)?d={from:e,to:i}:d={from:i,to:e};else if(i&&s)if(l(i,e)&&l(s,e))a?d={from:i,to:s}:d=void 0;else if(l(i,e))d={from:i,to:n>0?void 0:e};else if(l(s,e))d={from:e,to:n>0?void 0:e};else if(u(e,i))d={from:e,to:s};else if(c(e,i))d={from:i,to:e};else if(c(e,s))d={from:i,to:e};else throw new Error("Invalid range");if(d?.from&&d?.to){const m=o.differenceInCalendarDays(d.to,d.from);r>0&&m>r?d={from:e,to:void 0}:n>1&&m<n&&(d={from:e,to:void 0})}return d}function Ll(e,t,n=Se){const r=Array.isArray(t)?t:[t];let a=e.from;const o=n.differenceInCalendarDays(e.to,e.from),i=Math.min(o,6);for(let s=0;s<=i;s++){if(r.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function Kt(e,t,n=Se){return We(e,t.from,!1,n)||We(e,t.to,!1,n)||We(t,e.from,!1,n)||We(t,e.to,!1,n)}function Ql(e,t,n=Se){const r=Array.isArray(t)?t:[t];if(r.filter(s=>typeof s!="function").some(s=>typeof s=="boolean"?s:n.isDate(s)?We(e,s,!1,n):_n(s,n)?s.some(l=>We(e,l,!1,n)):nt(s)?s.from&&s.to?Kt(e,{from:s.from,to:s.to},n):!1:Tn(s)?Ll(e,s.dayOfWeek,n):vt(s)?n.isAfter(s.before,s.after)?Kt(e,{from:n.addDays(s.after,1),to:n.addDays(s.before,-1)},n):Oe(e.from,s,n)||Oe(e.to,s,n):Mt(s)||Dt(s)?Oe(e.from,s,n)||Oe(e.to,s,n):!1))return!0;const i=r.filter(s=>typeof s=="function");if(i.length){let s=e.from;const l=n.differenceInCalendarDays(e.to,e.from);for(let c=0;c<=l;c++){if(i.some(u=>u(s)))return!0;s=n.addDays(s,1)}}return!1}function Kl(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:a,selected:o,required:i,onSelect:s}=e,[l,c]=rt(o,s?o:void 0),u=s?o:l;return{selected:u,select:(h,y,v)=>{const{min:p,max:D}=e;let k;if(h){const w=u?.from,N=u?.to,x=!!w&&!!N,g=!!w&&!!N&&t.isSameDay(w,N)&&t.isSameDay(h,w);a&&(x||!u?.from)?!i&&g?k=void 0:k={from:h,to:void 0}:k=Vl(h,u,p,D,i,t)}return r&&n&&k?.from&&k.to&&Ql({from:k.from,to:k.to},n,t)&&(k.from=h,k.to=void 0),s||c(k),s?.(k,h,y,v),k},isSelected:h=>u&&We(u,h,!1,t)}}function Jl(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=rt(n,a?n:void 0),s=a?n:o,{isSameDay:l}=t;return{selected:s,select:(d,m,h)=>{let y=d;return!r&&s&&s&&l(d,s)&&(y=void 0),a||i(y),a?.(y,d,m,h),y},isSelected:d=>s?l(s,d):!1}}function Zl(e,t){const n=Jl(e,t),r=Gl(e,t),a=Kl(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function be(e,t){return e instanceof ae&&e.timeZone===t?e:new ae(e,t)}function Ie(e,t,n){return be(e,t)}function Jt(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Ie(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?Ie(r,t):r):nt(e)?{...e,from:e.from?be(e.from,t):e.from,to:e.to?be(e.to,t):e.to}:vt(e)?{before:Ie(e.before,t),after:Ie(e.after,t)}:Mt(e)?{after:Ie(e.after,t)}:Dt(e)?{before:Ie(e.before,t)}:e}function gt(e,t,n){return e&&(Array.isArray(e)?e.map(r=>Jt(r,t)):Jt(e,t))}function ec(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=be(t.today,n)),t.month&&(t.month=be(t.month,n)),t.defaultMonth&&(t.defaultMonth=be(t.defaultMonth,n)),t.startMonth&&(t.startMonth=be(t.startMonth,n)),t.endMonth&&(t.endMonth=be(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=be(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(P=>be(P,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?be(t.selected.from,n):t.selected.from,to:t.selected.to?be(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=gt(t.disabled,n)),t.hidden!==void 0&&(t.hidden=gt(t.hidden,n)),t.modifiers)){const P={};Object.keys(t.modifiers).forEach(z=>{P[z]=gt(t.modifiers?.[z],n)}),t.modifiers=P}const{components:r,formatters:a,labels:o,dateLib:i,locale:s,classNames:l}=O.useMemo(()=>{const P={...On,...t.locale},z=t.broadcastCalendar?1:t.weekStartsOn,C=t.noonSafe&&t.timeZone?Pl(t.timeZone,{weekStartsOn:z,locale:P}):void 0,I=t.dateLib&&C?{...C,...t.dateLib}:t.dateLib??C,ue=new fe({locale:P,weekStartsOn:z,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},I);return{dateLib:ue,components:cl(t.components),formatters:wl(t.formatters),labels:Nl(t.labels,ue.options),locale:P,classNames:{...dl(),...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:i.today()});const{captionLayout:c,mode:u,navLayout:d,numberOfMonths:m=1,onDayBlur:h,onDayClick:y,onDayFocus:v,onDayKeyDown:p,onDayMouseEnter:D,onDayMouseLeave:k,onNextClick:w,onPrevClick:N,showWeekNumber:x,styles:g}=t,{formatCaption:W,formatDay:_,formatMonthDropdown:$,formatWeekNumber:B,formatWeekNumberHeader:A,formatWeekdayName:oe,formatYearDropdown:X}=a,re=Rl(t,i),{days:E,months:T,navStart:Y,navEnd:V,previousMonth:H,nextMonth:R,goToMonth:S}=re,U=il(E,t,Y,V,i),{isSelected:te,select:me,selected:xe}=Zl(t,i)??{},{blur:he,focused:ce,isFocusTarget:Ee,moveFocus:ve,setFocused:ye}=Ul(t,re,U,te??(()=>!1),i),{labelDayButton:ze,labelGridcell:j,labelGrid:ne,labelMonthDropdown:Ce,labelNav:Pe,labelPrevious:He,labelNext:at,labelWeekday:ot,labelWeekNumber:se,labelWeekNumberHeader:Z,labelYearDropdown:le}=o,ge=O.useMemo(()=>Ol(i,t.ISOWeek,t.broadcastCalendar,t.today),[i,t.ISOWeek,t.broadcastCalendar,t.today]),Re=u!==void 0||y!==void 0,Ke=O.useCallback(()=>{H&&(S(H),N?.(H))},[H,S,N]),st=O.useCallback(()=>{R&&(S(R),w?.(R))},[S,R,w]),Gn=O.useCallback((P,z)=>C=>{C.preventDefault(),C.stopPropagation(),ye(P),!z.disabled&&(me?.(P.date,z,C),y?.(P.date,z,C))},[me,y,ye]),Vn=O.useCallback((P,z)=>C=>{ye(P),v?.(P.date,z,C)},[v,ye]),Ln=O.useCallback((P,z)=>C=>{he(),h?.(P.date,z,C)},[he,h]),Qn=O.useCallback((P,z)=>C=>{const I={ArrowLeft:[C.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[C.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[C.shiftKey?"year":"week","after"],ArrowUp:[C.shiftKey?"year":"week","before"],PageUp:[C.shiftKey?"year":"month","before"],PageDown:[C.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(I[C.key]){C.preventDefault(),C.stopPropagation();const[ue,F]=I[C.key];ve(ue,F)}p?.(P.date,z,C)},[ve,p,t.dir]),Kn=O.useCallback((P,z)=>C=>{D?.(P.date,z,C)},[D]),Jn=O.useCallback((P,z)=>C=>{k?.(P.date,z,C)},[k]),Zn=O.useCallback(P=>z=>{const C=Number(z.target.value),I=i.setMonth(i.startOfMonth(P),C);S(I)},[i,S]),er=O.useCallback(P=>z=>{const C=Number(z.target.value),I=i.setYear(i.startOfMonth(P),C);S(I)},[i,S]),{className:tr,style:nr}=O.useMemo(()=>({className:[l[M.Root],t.className].filter(Boolean).join(" "),style:{...g?.[M.Root],...t.style}}),[l,t.className,t.style,g]),rr=ul(t),Wt=O.useRef(null);El(Wt,!!t.animate,{classNames:l,months:T,focused:ce,dateLib:i});const ar={dayPickerProps:t,selected:xe,select:me,isSelected:te,months:T,nextMonth:R,previousMonth:H,goToMonth:S,getModifiers:U,components:r,classNames:l,styles:g,labels:o,formatters:a};return b.createElement(Pn.Provider,{value:ar},b.createElement(r.Root,{rootRef:t.animate?Wt:void 0,className:tr,style:nr,dir:t.dir,id:t.id,lang:t.lang??s.code,nonce:t.nonce,title:t.title,role:t.role,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"],...rr},b.createElement(r.Months,{className:l[M.Months],style:g?.[M.Months]},!t.hideNavigation&&!d&&b.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[M.Nav],style:g?.[M.Nav],"aria-label":Pe(),onPreviousClick:Ke,onNextClick:st,previousMonth:H,nextMonth:R}),T.map((P,z)=>b.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:l[M.Month],style:g?.[M.Month],key:z,displayIndex:z,calendarMonth:P},d==="around"&&!t.hideNavigation&&z===0&&b.createElement(r.PreviousMonthButton,{type:"button",className:l[M.PreviousMonthButton],tabIndex:H?void 0:-1,"aria-disabled":H?void 0:!0,"aria-label":He(H),onClick:Ke,"data-animated-button":t.animate?"true":void 0},b.createElement(r.Chevron,{disabled:H?void 0:!0,className:l[M.Chevron],orientation:t.dir==="rtl"?"right":"left"})),b.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:l[M.MonthCaption],style:g?.[M.MonthCaption],calendarMonth:P,displayIndex:z},c?.startsWith("dropdown")?b.createElement(r.DropdownNav,{className:l[M.Dropdowns],style:g?.[M.Dropdowns]},(()=>{const C=c==="dropdown"||c==="dropdown-months"?b.createElement(r.MonthsDropdown,{key:"month",className:l[M.MonthsDropdown],"aria-label":Ce(),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:Zn(P.date),options:Sl(P.date,Y,V,a,i),style:g?.[M.Dropdown],value:i.getMonth(P.date)}):b.createElement("span",{key:"month"},$(P.date,i)),I=c==="dropdown"||c==="dropdown-years"?b.createElement(r.YearsDropdown,{key:"year",className:l[M.YearsDropdown],"aria-label":le(i.options),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:er(P.date),options:Cl(Y,V,a,i,!!t.reverseYears),style:g?.[M.Dropdown],value:i.getYear(P.date)}):b.createElement("span",{key:"year"},X(P.date,i));return i.getMonthYearOrder()==="year-first"?[I,C]:[C,I]})(),b.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"}},W(P.date,i.options,i))):b.createElement(r.CaptionLabel,{className:l[M.CaptionLabel],role:"status","aria-live":"polite"},W(P.date,i.options,i))),d==="around"&&!t.hideNavigation&&z===m-1&&b.createElement(r.NextMonthButton,{type:"button",className:l[M.NextMonthButton],tabIndex:R?void 0:-1,"aria-disabled":R?void 0:!0,"aria-label":at(R),onClick:st,"data-animated-button":t.animate?"true":void 0},b.createElement(r.Chevron,{disabled:R?void 0:!0,className:l[M.Chevron],orientation:t.dir==="rtl"?"left":"right"})),z===m-1&&d==="after"&&!t.hideNavigation&&b.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[M.Nav],style:g?.[M.Nav],"aria-label":Pe(),onPreviousClick:Ke,onNextClick:st,previousMonth:H,nextMonth:R}),b.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":ne(P.date,i.options,i)||void 0,className:l[M.MonthGrid],style:g?.[M.MonthGrid]},!t.hideWeekdays&&b.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:l[M.Weekdays],style:g?.[M.Weekdays]},x&&b.createElement(r.WeekNumberHeader,{"aria-label":Z(i.options),className:l[M.WeekNumberHeader],style:g?.[M.WeekNumberHeader],scope:"col"},A()),ge.map(C=>b.createElement(r.Weekday,{"aria-label":ot(C,i.options,i),className:l[M.Weekday],key:String(C),style:g?.[M.Weekday],scope:"col"},oe(C,i.options,i)))),b.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:l[M.Weeks],style:g?.[M.Weeks]},P.weeks.map(C=>b.createElement(r.Week,{className:l[M.Week],key:C.weekNumber,style:g?.[M.Week],week:C},x&&b.createElement(r.WeekNumber,{week:C,style:g?.[M.WeekNumber],"aria-label":se(C.weekNumber,{locale:s}),className:l[M.WeekNumber],scope:"row",role:"rowheader"},B(C.weekNumber,i)),C.days.map(I=>{const{date:ue}=I,F=U(I);if(F[J.focused]=!F.hidden&&!!ce?.isEqualTo(I),F[we.selected]=te?.(ue)||F.selected,nt(xe)){const{from:it,to:lt}=xe;F[we.range_start]=!!(it&&lt&&i.isSameDay(ue,it)),F[we.range_end]=!!(it&&lt&&i.isSameDay(ue,lt)),F[we.range_middle]=We(xe,ue,!0,i)}const or=Wl(F,g,t.modifiersStyles),sr=ll(F,l,t.modifiersClassNames),ir=!Re&&!F.hidden?j(ue,F,i.options,i):void 0;return b.createElement(r.Day,{key:`${I.isoDate}_${I.displayMonthId}`,day:I,modifiers:F,className:sr.join(" "),style:or,role:"gridcell","aria-selected":F.selected||void 0,"aria-label":ir,"data-day":I.isoDate,"data-month":I.outside?I.dateMonthId:void 0,"data-selected":F.selected||void 0,"data-disabled":F.disabled||void 0,"data-hidden":F.hidden||void 0,"data-outside":I.outside||void 0,"data-focused":F.focused||void 0,"data-today":F.today||void 0},!F.hidden&&Re?b.createElement(r.DayButton,{className:l[M.DayButton],style:g?.[M.DayButton],type:"button",day:I,modifiers:F,disabled:!F.focused&&F.disabled||void 0,"aria-disabled":F.focused&&F.disabled||void 0,tabIndex:Ee(I)?0:-1,"aria-label":ze(ue,F,i.options,i),onClick:Gn(I,F),onBlur:Ln(I,F),onFocus:Vn(I,F),onKeyDown:Qn(I,F),onMouseEnter:Kn(I,F),onMouseLeave:Jn(I,F)},_(ue,i.options,i)):!F.hidden&&_(I.date,i.options,i))})))))))),t.footer&&b.createElement(r.Footer,{className:l[M.Footer],style:g?.[M.Footer],role:"status","aria-live":"polite"},t.footer)))}const tc={en:_e,"zh-CN":ti,"zh-TW":Ti,ja:Lo,ko:Ns};function nc(e){return tc[e]||_e}function Nc(e,t){if(!e)return"";const n=e.split("-");if(n.length!==3)return e;const r=new Date(Number(n[0]),Number(n[1])-1,Number(n[2]));return Number.isFinite(r.getTime())?Ne(r,"MMM d",t?{locale:t}:void 0):e}function Zt({from:e,to:t,onApply:n,onCancel:r}){const a=O.useMemo(()=>{const u={from:void 0,to:void 0};if(e){const d=e.split("-");u.from=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))}if(t){const d=t.split("-");u.to=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))}return u},[e,t]),[o,i]=O.useState(a),s=nc(pr()),l=()=>{if(!o?.from)return;const u=Ne(o.from,"yyyy-MM-dd"),d=o.to?Ne(o.to,"yyyy-MM-dd"):u;n?.(u,d)},c=!!o?.from;return f.jsxs("div",{className:"p-4",children:[f.jsx(ec,{mode:"range",locale:s,selected:o,onSelect:i,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"}}}),f.jsxs("div",{className:"flex items-center justify-end gap-2 mt-4 pt-3 border-t border-oai-gray-200 dark:border-oai-gray-700",children:[c&&o.from&&f.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[Ne(o.from,"MMM d, yyyy",{locale:s}),o.to&&o.to.getTime()!==o.from.getTime()?` — ${Ne(o.to,"MMM d, yyyy",{locale:s})}`:""]}),f.jsx(Ct,{variant:"secondary",size:"sm",onClick:r,children:L("shared.action.cancel")}),f.jsx(Ct,{variant:"primary",size:"sm",onClick:l,disabled:!c,children:L("shared.action.apply")})]})]})}const rc=[{period:"day",labelKey:"trend.zoom.gran.30min"},{period:"month",labelKey:"trend.zoom.gran.day"},{period:"total",labelKey:"trend.zoom.gran.month"}],ac=24,Be="#10b981";function en(e){return e==="day"?"day":e==="total"?"total":"month"}function pt(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const r=new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3])));r.setUTCDate(r.getUTCDate()+t);const a=r.getUTCFullYear(),o=String(r.getUTCMonth()+1).padStart(2,"0"),i=String(r.getUTCDate()).padStart(2,"0");return`${a}-${o}-${i}`}function oc(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const r=new Date(Date.UTC(Number(n[1]),Number(n[2])-1+t,Number(n[3]))),a=r.getUTCFullYear(),o=String(r.getUTCMonth()+1).padStart(2,"0"),i=String(r.getUTCDate()).padStart(2,"0");return`${a}-${o}-${i}`}function sc(e,t){const n=/^(\d{4})-(\d{2})/.exec(String(e||"")),r=/^(\d{4})-(\d{2})/.exec(String(t||""));if(!n||!r)return ac;const a=Number(r[1])*12+Number(r[2])-(Number(n[1])*12+Number(n[2]))+1;return Math.max(1,a)}function tn(e,t){return t?e==="total"?{from:oc(t,-23),to:t}:{from:pt(t,-29),to:t}:{from:null,to:null}}function ic(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 Je({label:e,value:t,sub:n,title:r}){return f.jsxs("div",{className:"flex flex-col gap-1.5 group",children:[f.jsx("span",{className:"text-[9px] font-bold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:e}),f.jsx("span",{title:r,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?f.jsx("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono tabular-nums",children:n}):null]})}function lc({zoomConfig:e,period:t,from:n,to:r,timeZoneLabel:a,onClose:o,renderChart:i}){const{currency:s,rate:l}=dn(),{formatTokensTooltip:c}=fn(),u=S=>wr(S),d=b.useMemo(()=>ln({timeZone:e?.timeZone,offsetMinutes:e?.tzOffsetMinutes,date:e?.now||new Date})||r||n||null,[e?.timeZone,e?.tzOffsetMinutes,e?.now,r,n]),[m,h]=b.useState(()=>en(t)),[y,v]=b.useState(d),[p,D]=b.useState(()=>tn(en(t),d)),[k,w]=b.useState(!1),[N,x]=b.useState(!1),[g,W]=b.useState(!1),_=d,$=S=>{h(S),S!=="day"&&D(tn(S,d))},B=b.useMemo(()=>m==="day"?{from:y,to:y,months:void 0}:m==="total"?{from:void 0,to:p.to,months:sc(p.from,p.to)}:{from:p.from,to:p.to,months:void 0},[m,y,p]),{rows:A,from:oe,to:X,loading:re}=Tr({...e,period:m,from:B.from,to:B.to,months:B.months}),E=b.useMemo(()=>Rr(A),[A]),T=b.useCallback(()=>W(!0),[]),Y=S=>{S.target===S.currentTarget&&g&&o()};if(b.useEffect(()=>{const S=U=>{U.key==="Escape"&&T()};return window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)},[T]),typeof document>"u")return null;const V=m==="day"&&!!y,H=m==="day"&&!!y&&(!_||y<_),R=E.totalCostUsd!=null?un(E.totalCostUsd,{currency:s,rate:l}):null;return f.jsxs("div",{onAnimationEnd:Y,onClick:S=>{S.target===S.currentTarget&&T()},className:ke("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",g?"animate-tt-fade-out":"animate-tt-fade-in"),children:[f.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
+ `}),f.jsxs("div",{className:ke("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",g?"animate-tt-modal-exit":"animate-tt-modal"),children:[f.jsx("button",{type:"button",onClick:T,"aria-label":L("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:f.jsx(kr,{size:16})}),f.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:[f.jsxs("div",{children:[f.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[f.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[f.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:Be}}),f.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:Be}})]}),f.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:L("trend.zoom.badge")})]}),f.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:L("trend.monitor.label")}),a?f.jsx("p",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 mt-1.5 font-mono select-none",children:a}):null,f.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:L("trend.zoom.desc")})]}),f.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:[f.jsx(Je,{label:L("trend.zoom.stats.tokens"),value:u(E.totalTokens),title:c(E.totalTokens)}),R?f.jsx(Je,{label:L("trend.zoom.stats.cost"),value:R}):null,f.jsx(Je,{label:L("trend.zoom.stats.conversations"),value:E.conversationCount.toLocaleString()}),E.peak?f.jsx(Je,{label:L("trend.zoom.stats.peak"),value:u(E.peak.value),title:c(E.peak.value),sub:ic(E.peak.label)}):null]}),f.jsxs("div",{className:"flex flex-col gap-2 select-none",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(vr,{size:11,style:{color:Be}}),f.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:Be},children:L("trend.zoom.insight_badge")})]}),f.jsxs("div",{className:"pl-3.5 border-l-2 relative",style:{borderColor:Be},children:[f.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:Be}}),f.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:L(Xr(E),{active:E.activeBuckets,peak:u(E.peak?.value||0)})})]})]})]}),f.jsxs("div",{className:"flex-1 min-w-0 flex flex-col p-5 md:p-6 overflow-y-auto",children:[f.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6 pr-10",children:[f.jsx("div",{role:"tablist","aria-label":L("trend.zoom.gran.aria"),className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[11px]",children:rc.map(S=>f.jsx("button",{type:"button",role:"tab","aria-selected":m===S.period,onClick:()=>$(S.period),className:ke("px-2.5 py-1 rounded transition-colors",m===S.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:L(S.labelKey)},S.period))}),m==="day"?f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx("button",{type:"button",onClick:()=>V&&v(S=>pt(S,-1)),disabled:!V,"aria-label":L("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:f.jsx(Wr,{size:16})}),f.jsxs(Pt,{open:k,onOpenChange:w,children:[f.jsx(Tt,{"aria-label":L("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:y||"—"}),f.jsx(_t,{children:f.jsx($t,{sideOffset:8,side:"bottom",align:"center",className:"!z-[9999]",children:f.jsx(Et,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:f.jsx(Zt,{from:y,to:y,onApply:S=>{S&&v(S),w(!1)},onCancel:()=>w(!1)})})})})]}),f.jsx("button",{type:"button",onClick:()=>H&&v(S=>pt(S,1)),disabled:!H,"aria-label":L("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:f.jsx(Dr,{size:16})})]}):f.jsxs(Pt,{open:N,onOpenChange:x,children:[f.jsx(Tt,{"aria-label":L("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}`:"—"}),f.jsx(_t,{children:f.jsx($t,{sideOffset:8,side:"bottom",align:"end",className:"!z-[9999]",children:f.jsx(Et,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:f.jsx(Zt,{from:p.from,to:p.to,onApply:(S,U)=>{S&&D({from:S,to:U||S}),x(!1)},onCancel:()=>x(!1)})})})})]})]}),f.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:re&&(!A||A.length===0)?f.jsx("div",{className:"flex-1 flex items-center justify-center",children:f.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:L("trend.zoom.loading")})}):i({rows:A,from:oe,to:X,period:m,timeZoneLabel:a})})]})]})]})}function nn(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,r=Math.floor(n),a=Math.ceil(n);if(r===a)return e[r];const o=n-r;return e[r]+(e[a]-e[r])*o}function cc(e){const t=Array.isArray(e)?e.filter(a=>Number.isFinite(a)&&a>0).sort((a,o)=>a-o):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let r=n;if(t.length>=4){const a=nn(t,.25),o=nn(t,.75),i=Math.max(o-a,0),s=o+i*1.5;n>s&&(r=Math.max(s,o,1))}return{rawMax:n,effectiveMax:Math.max(r,1),clippedValues:Array.isArray(e)?e.map(a=>!Number.isFinite(a)||a<=0?0:Math.min(a,Math.max(r,1))):[]}}const rn=["#f472b6","#38bdf8","#34d399","#fbbf24","#a78bfa","#fb7185","#2dd4bf","#f97316","#6366f1","#ec4899","#14b8a6","#f59e0b"],Xn={Input:"#38bdf8","Cached Input":"#14b8a6",Output:"#a78bfa","Reasoning Output":"#fb7185"},uc={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 Un(e){const t=e.toLowerCase();for(const[a,o]of Object.entries(uc))if(t.includes(a))return o;let n=0;for(let a=0;a<e.length;a++)n=e.charCodeAt(a)+((n<<5)-n);const r=Math.abs(n)%rn.length;return rn[r]}function dc(e){if(!e)return[];const t=[];if(e.models&&typeof e.models=="object")for(const[n,r]of Object.entries(e.models)){const a=Number(r);Number.isFinite(a)&&a>0&&t.push({type:"model",name:n,value:a})}if(t.length===0){const n=[{name:"Input",key:"input_tokens"},{name:"Cached Input",key:"cached_input_tokens"},{name:"Output",key:"output_tokens"},{name:"Reasoning Output",key:"reasoning_output_tokens"}];for(const r of n){const a=Number(e[r.key]);Number.isFinite(a)&&a>0&&t.push({type:"token_type",name:r.name,value:a})}}return t.sort((n,r)=>r.value-n.value)}function fc(e,t){return e?.future?"predicted":e?.missing?"unsynced":t>0?"real":"real_zero"}const mc=.35,an=2,on=4,hc=b.memo(function({value:t,displayValue:n,scale:r,index:a,row:o,totalBars:i,onMouseEnter:s,onMouseLeave:l}){const c=Nr(),u=fc(o,t),d=u==="predicted"||u==="unsynced",m=r.effectiveMax>0?n/r.effectiveMax*100:0;let h,y;u==="real"?(h=`${Math.max(m,2)}%`,y=`${on}px`):d&&m>0?(h=`${m}%`,y=`${on}px`):(h=`${an}px`,y=`${an}px`);const v=u==="real"?dc(o):[],p=v.reduce((k,w)=>k+w.value,0),D=u!=="real"||p<=0;return f.jsxs(xr.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:k=>s(k,o,t,v,u,n),onMouseLeave:l,children:[f.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"}),f.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:y},children:D?f.jsx("div",{"data-trend-bar":"true","data-trend-kind":u,className:ke("h-full w-full group-hover:brightness-110 transition-all",u==="real"?"":"bg-oai-gray-100 dark:bg-oai-gray-800"),style:{opacity:d?mc:1,background:u==="real"?"#10b981":void 0}}):v.map((k,w)=>{const N=k.type==="token_type"?Xn[k.name]:Un(k.name),x=`${k.value/p*100}%`;return f.jsx("div",{"data-trend-bar":w===0?"true":void 0,className:"w-full group-hover:brightness-110 transition-all",style:{height:x,background:N}},w)})})]})});function yc(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 sn=.98;function gc(e){if(!Array.isArray(e))return[];const t=new Array(e.length);for(let n=0;n<e.length;n++){if(e[n]!==null){t[n]=e[n];continue}let r=null,a=-1;for(let s=n-1;s>=0;s--)if(e[s]!==null){r=e[s],a=s;break}let o=null,i=-1;for(let s=n+1;s<e.length;s++)if(e[s]!==null){o=e[s],i=s;break}if(r!==null&&o!==null){const s=(n-a)/(i-a);t[n]=r+(o-r)*s}else if(r!==null){let s=0,l=0;for(let u=0;u<=a;u++)e[u]!==null&&(s+=e[u],l+=1);const c=l>0?s/l:r;t[n]=c*Math.pow(sn,n-a)}else if(o!==null){let s=0,l=0;for(let u=i;u<e.length;u++)e[u]!==null&&(s+=e[u],l+=1);const c=l>0?s/l:o;t[n]=c*Math.pow(sn,i-n)}else t[n]=0}return t}function bc({rows:e,from:t,to:n,period:r,timeZoneLabel:a,showTimeZoneLabel:o=!0,className:i="",embedded:s=!1,chartHeightClass:l="h-40",isZoom:c=!1,zoomConfig:u=null}){const d=b.useMemo(()=>Array.isArray(e)&&e.length?e:[],[e]),m=b.useMemo(()=>d.some(T=>T?.future),[d]),{rawValues:h,seriesValues:y,scale:v,interpolatedValues:p}=b.useMemo(()=>{const T=d.map(yc),Y=T.map(V=>V??0);return{rawValues:T,seriesValues:Y,scale:cc(Y),interpolatedValues:gc(T)}},[d]),{currency:D,rate:k}=dn(),{formatTokens:w,formatTokensTooltip:N}=fn(),x=Ir(r),[g,W]=b.useState(null),[_,$]=b.useState({x:0,y:0,shiftX:0,flipDown:!1}),[B,A]=b.useState(!1),oe=b.useRef(null),X=b.useRef(null),re=b.useCallback((T,Y,V,H,R,S)=>{X.current&&(clearTimeout(X.current),X.current=null);const U=c?qr(Y,x):Y?.day||Y?.hour||Y?.month||"";W({row:Y,value:V,segments:H,timeLabel:U,kind:R,displayValue:S});const te=T.currentTarget.querySelector('[data-trend-bar="true"]'),me=te&&te.parentElement?te.parentElement.getBoundingClientRect():T.currentTarget.getBoundingClientRect(),xe=oe.current;if(!xe)return;const he=xe.getBoundingClientRect(),ce=me.left-he.left+me.width/2,Ee=me.top-he.top,ve=140;let ye=0;ce<ve?ye=ve-ce:ce>he.width-ve&&(ye=he.width-ve-ce);const ze=96+(c?22:0)+(H.length?Math.min(H.length*30+24,174):0),j=Ee<ze+12;$({x:ce,y:Ee,shiftX:ye,flipDown:j})},[c,x]),E=b.useCallback(()=>{X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{W(null)},150)},[]);return f.jsxs("div",{ref:oe,className:ke("relative",!s&&"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",c&&"flex h-full flex-col",i),children:[!s&&f.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[f.jsxs("div",{children:[f.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:L("trend.monitor.label")}),o&&a&&f.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:a})]}),u&&f.jsx("button",{type:"button",onClick:()=>A(!0),"aria-label":L("trend.zoom.open_aria"),title:L("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:f.jsx(Mr,{size:14})})]}),f.jsxs("div",{className:ke("space-y-3",c&&"flex flex-1 flex-col min-h-0 !space-y-0 gap-3"),children:[f.jsxs("div",{className:ke("relative",c&&"flex-1 min-h-0"),children:[f.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(T=>f.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-T}%`}},T))}),f.jsx("div",{className:ke("flex items-end gap-0.5 relative z-0",l),children:y.length>0?y.map((T,Y)=>{const V=d[Y],R=V?.missing||V?.future?Math.min(p[Y]??0,v.effectiveMax):v.clippedValues[Y]??0;return f.jsx(hc,{value:T,displayValue:R,scale:v,index:Y,row:V,totalBars:y.length,onMouseEnter:re,onMouseLeave:E},Y)}):f.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:f.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),c&&y.length>0&&f.jsx("div",{className:"flex gap-0.5 select-none",children:d.map((T,Y)=>{const V=y.length-1,H=Math.max(1,Math.ceil(y.length/8)),R=Y%H===0||Y===V,S=Y===0?"justify-start":Y===V?"justify-end":"justify-center";return f.jsx("div",{className:ke("flex-1 min-w-0 flex",S),children:R&&f.jsx("span",{className:"text-[9px] text-oai-gray-400 dark:text-oai-gray-500 whitespace-nowrap font-mono",children:Ur(T,x)})},Y)})}),m&&f.jsxs("div",{className:"flex items-center justify-end gap-1.5 text-[10px] font-medium text-oai-gray-400 dark:text-oai-gray-500","data-trend-prediction-legend":"true",children:[f.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-3 rounded-[2px] bg-oai-gray-100 dark:bg-oai-gray-800 opacity-50"}),f.jsxs("span",{children:["~ ",L("trend.monitor.predicted")]})]}),t&&n&&f.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:[f.jsx("span",{children:t===n?`${t} 00:00`:t}),f.jsx("span",{children:t===n?`${n} 24:00`:n})]})]}),g&&f.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:[f.jsxs("div",{className:ke("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:[f.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[f.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:g.timeLabel}),g.kind==="predicted"&&f.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:L("trend.monitor.predicted")}),g.kind==="unsynced"&&f.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Unsynced"})]}),f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsxs("div",{className:"flex items-baseline gap-1",children:[f.jsx("span",{title:N(g.kind==="predicted"||g.kind==="unsynced"?g.displayValue:g.value),className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:g.kind==="predicted"||g.kind==="unsynced"?`~${w(Math.round(g.displayValue??0))}`:w(g.value)}),f.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),c&&(g.row?.total_cost_usd!=null||Number(g.row?.conversation_count)>0)&&f.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:[g.row?.total_cost_usd!=null&&f.jsxs("span",{children:[f.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:un(g.row.total_cost_usd,{currency:D,rate:k})})," ",L("trend.zoom.tooltip.cost")]}),Number(g.row?.conversation_count)>0&&f.jsxs("span",{children:[f.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:Number(g.row.conversation_count).toLocaleString()})," ",L("trend.zoom.tooltip.conversations")]})]}),g.segments&&g.segments.length>0?f.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:[f.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:g.segments[0].type==="model"?"Model Breakdown":"Token Breakdown"}),f.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:g.segments.map(({name:T,value:Y,type:V})=>{const H=g.value||1,R=Math.round(Y/H*100),S=V==="token_type"?Xn[T]:Un(T);return f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[f.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[130px]",title:T,children:T}),f.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[f.jsx("span",{title:N(Y),className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:w(Y)}),f.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[R,"%"]})]})]}),f.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:f.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${R}%`,backgroundColor:S,boxShadow:`0 0 4px ${S}55`}})})]},T)})})]}):null]})]}),f.jsx("div",{className:ke("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"}})]}),B&&u&&f.jsx(lc,{zoomConfig:u,period:r,from:t,to:n,timeZoneLabel:a,onClose:()=>A(!1),renderChart:T=>f.jsx(bc,{embedded:!0,isZoom:!0,chartHeightClass:"h-full",...T})})]})}export{Zt as D,bc as T,nc as a,Tr as b,Nc as f,Un as g,Yt as t,Cr as u};
@@ -1 +1 @@
1
- import{j as e,c as o,K as P,M as I,r as u,o as K,R as D,d as M}from"./__vite-browser-external-DWKjPxnU.js";import{S as _}from"./Select-ClnnGJY1.js";import{u as E,T as R}from"./use-native-settings-__RhxrW5.js";import{F as j,S as G,a as O}from"./FadeIn-CGGFraHR.js";import{A as $}from"./arrow-up-right-TvEj8NTT.js";import{D as z}from"./download-B5WAY6Nh.js";import"./SelectItemText-iaFWq7GD.js";import"./useScrollLock-C5d53j7C.js";import"./check-Cz3lYRiR.js";import"./Card-DX2Wwm9U.js";import"./react-Nv3-bJyw.js";import"./use-reduced-motion-CA2IXeeO.js";const H=["todayTokens","todayCost"],W=[{id:"todayTokens",label:"Today Tokens",shortLabel:"Tokens",category:"tokens"},{id:"todayCost",label:"Today Cost",shortLabel:"Cost",category:"cost"},{id:"last7dTokens",label:"Last 7 Days",shortLabel:"7d",category:"tokens"},{id:"totalTokens",label:"Total Tokens",shortLabel:"Total",category:"tokens"},{id:"totalCost",label:"Total Cost",shortLabel:"All $",category:"cost"},{id:"claude5h",label:"Claude 5h Limit",shortLabel:"Cl 5h",category:"limits"},{id:"claude7d",label:"Claude 7d Limit",shortLabel:"Cl 7d",category:"limits"},{id:"codex5h",label:"Codex 5h Limit",shortLabel:"Cx 5h",category:"limits"},{id:"codex7d",label:"Codex 7d Limit",shortLabel:"Cx 7d",category:"limits"},{id:"codexCredits",label:"Codex Credit Limit",shortLabel:"Cx Cred",category:"limits"},{id:"codexSpark5h",label:"Codex Spark 5h Limit",shortLabel:"Cx Spark 5h",category:"limits"},{id:"codexSpark7d",label:"Codex Spark 7d Limit",shortLabel:"Cx Spark 7d",category:"limits"},{id:"cursorPlan",label:"Cursor Plan Limit",shortLabel:"Cu Plan",category:"limits"},{id:"cursorAuto",label:"Cursor Auto Limit",shortLabel:"Cu Auto",category:"limits"},{id:"cursorAPI",label:"Cursor API Limit",shortLabel:"Cu API",category:"limits"},{id:"geminiPro",label:"Gemini Pro Limit",shortLabel:"Gm Pro",category:"limits"},{id:"geminiFlash",label:"Gemini Flash Limit",shortLabel:"Gm Flash",category:"limits"},{id:"geminiLite",label:"Gemini Lite Limit",shortLabel:"Gm Lite",category:"limits"},{id:"kimiWeekly",label:"Kimi Weekly Limit",shortLabel:"Km Wk",category:"limits"},{id:"kimi5h",label:"Kimi 5h Limit",shortLabel:"Km 5h",category:"limits"},{id:"kimiTotal",label:"Kimi Total Limit",shortLabel:"Km Tot",category:"limits"},{id:"kiroMonth",label:"Kiro Monthly Limit",shortLabel:"Kr Mo",category:"limits"},{id:"kiroBonus",label:"Kiro Bonus Limit",shortLabel:"Kr Bn",category:"limits"},{id:"copilotPremium",label:"Copilot Premium Limit",shortLabel:"Co Prem",category:"limits"},{id:"copilotChat",label:"Copilot Chat Limit",shortLabel:"Co Chat",category:"limits"},{id:"antigravityClaudeWeekly",label:"Antigravity Claude 7d Limit",shortLabel:"Ag Cl 7d",category:"limits"},{id:"antigravityClaude5h",label:"Antigravity Claude 5h Limit",shortLabel:"Ag Cl 5h",category:"limits"},{id:"antigravityGeminiWeekly",label:"Antigravity Gemini 7d Limit",shortLabel:"Ag Gm 7d",category:"limits"},{id:"antigravityGemini5h",label:"Antigravity Gemini 5h Limit",shortLabel:"Ag Gm 5h",category:"limits"}];function v(t,a=W,r=2){const i=new Set(a.map(n=>n.id)),l=new Set,s=Array.isArray(t)?t.filter(n=>!i.has(n)||l.has(n)?!1:(l.add(n),!0)):[];return(s.length>0?s:H).slice(0,Math.max(1,Number(r)||2))}const U=264,V=124,x="ui-rounded, -apple-system, system-ui",L=["#5A8CF2","#9973E6","#4DB8A6","#E68C59"],X={claude:"#C77DFF",codex:"#34C759",cursor:"#FFCC00",gemini:"#0A84FF"};function Y(t){return t>=.9?"#E64D4D":t>=.7?"#D9A633":"#33B866"}function b({size:t="sm",children:a}){const r=t==="lg",i=r?560:264,l=r?32:22;return e.jsx("div",{className:M("flex w-full items-center justify-center rounded-xl bg-oai-gray-100 dark:bg-oai-gray-950/60",r?"py-10 sm:py-14 px-6":"py-6 px-4"),children:e.jsx("div",{className:"overflow-hidden bg-white dark:bg-oai-gray-800 shadow-oai-md dark:shadow-[0_2px_4px_rgba(0,0,0,0.4),0_8px_24px_rgba(0,0,0,0.5)]",style:{width:"100%",maxWidth:i,aspectRatio:`${U} / ${V}`,borderRadius:l},children:a})})}function Z({size:t="sm"}){const a="M0,104 L14,104 C26,98 34,100 44,96 S58,88 68,92 80,100 90,94 102,80 112,82 126,92 136,88 150,74 162,76 178,88 188,86 204,72 216,74 236,84 250,80 L264,80",r=`${a} L264,124 L0,124 Z`,i=`sparkArea-${t}`;return e.jsx(b,{size:t,children:e.jsxs("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:i,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#0A84FF",stopOpacity:"0.18"}),e.jsx("stop",{offset:"100%",stopColor:"#0A84FF",stopOpacity:"0"})]})}),e.jsx("text",{x:"14",y:"20",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"700",letterSpacing:"0.6",children:"TODAY"}),e.jsx("text",{x:"14",y:"46",className:"fill-oai-black dark:fill-white",fontSize:"22",fontWeight:"700",fontFamily:x,children:"203.2M"}),e.jsx("text",{x:"14",y:"60",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"500",fontFamily:x,children:"$129.56 ±0%"}),e.jsx("text",{x:"134",y:"20",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"700",letterSpacing:"0.6",children:"7 DAYS"}),e.jsx("text",{x:"134",y:"46",className:"fill-oai-black dark:fill-white",fontSize:"22",fontWeight:"700",fontFamily:x,children:"880.9M"}),e.jsx("text",{x:"134",y:"60",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"500",fontFamily:x,children:"$673.61"}),e.jsx("path",{d:r,fill:`url(#${i})`,stroke:"none"}),e.jsx("path",{d:a,fill:"none",stroke:"#0A84FF",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const C=(()=>{const r=[];for(let i=0;i<26;i++)for(let l=0;l<7;l++){const s=Math.sin((i+1)*12.9898+(l+1)*78.233+17)*43758.5453,c=Math.floor(Math.abs(s-Math.floor(s))*100);r.push({w:i,d:l,v:c})}return r})();function S(t,a){return t<18?a?"#262626":"#e5e5e5":t<38?"rgba(10, 132, 255, 0.28)":t<58?"rgba(10, 132, 255, 0.50)":t<80?"rgba(10, 132, 255, 0.75)":"#0A84FF"}function q(){return e.jsx(b,{children:e.jsxs("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:[e.jsx("g",{transform:`translate(${19.5}, 10)`,className:"hidden dark:inline",children:C.map(s=>e.jsx("rect",{x:s.w*(7.5+1.2),y:s.d*(8+1.2),width:7.5,height:8,rx:"1.3",fill:S(s.v,!0)},`d-${s.w}-${s.d}`))}),e.jsx("g",{transform:`translate(${19.5}, 10)`,className:"dark:hidden",children:C.map(s=>e.jsx("rect",{x:s.w*(7.5+1.2),y:s.d*(8+1.2),width:7.5,height:8,rx:"1.3",fill:S(s.v,!1)},`l-${s.w}-${s.d}`))}),e.jsx("text",{x:19.5,y:"102",className:"fill-oai-black dark:fill-white",fontSize:"10",fontWeight:"700",fontFamily:x,children:"10.3B"}),e.jsx("text",{x:19.5+30,y:"102",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"9",fontWeight:"500",children:"tokens · 202 active days"})]})})}function J(){const t=[{name:"claude-opus-4-6",value:"586.4M",pct:59},{name:"claude-sonnet-4-5-20250929",value:"218.7M",pct:22},{name:"gpt-5.4",value:"80.6M",pct:8},{name:"composer-2-fast",value:"52.1M",pct:5}],a=22,r=28,i=14,l=236;return e.jsx(b,{children:e.jsx("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:t.map((s,c)=>{const n=r+c*a,h=L[c%L.length];return e.jsxs("g",{children:[e.jsx("circle",{cx:"18",cy:n-3,r:"2.5",fill:h}),e.jsx("text",{x:"26",y:n,className:"fill-oai-black dark:fill-white",fontSize:"9",fontWeight:"500",children:s.name}),e.jsx("text",{x:"218",y:n,textAnchor:"end",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"9",fontWeight:"600",fontFamily:x,children:s.value}),e.jsxs("text",{x:"250",y:n,textAnchor:"end",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"600",fontFamily:x,children:[s.pct,"%"]}),e.jsx("rect",{x:i,y:n+4,width:l,height:"2.8",rx:"1.4",className:"fill-oai-gray-200 dark:fill-oai-gray-700"}),e.jsx("rect",{x:i,y:n+4,width:Math.max(l*(s.pct/100),4),height:"2.8",rx:"1.4",fill:h})]},s.name)})})})}function Q(){const t=[{label:"Claude · 7d",source:"claude",reset:"in 1d",pct:61},{label:"Claude · 5h",source:"claude",reset:"in 4h 28m",pct:4},{label:"Cursor",source:"cursor",reset:"in 25d",pct:51},{label:"Codex · weekly",source:"codex",reset:"in 1d",pct:32}],a=22,r=28,i=14,l=236;return e.jsx(b,{children:e.jsx("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:t.map((s,c)=>{const n=r+c*a,h=X[s.source],y=Y(s.pct/100);return e.jsxs("g",{children:[e.jsx("circle",{cx:"18",cy:n-3,r:"2.5",fill:h}),e.jsx("text",{x:"26",y:n,className:"fill-oai-black dark:fill-white",fontSize:"9",fontWeight:"500",children:s.label}),e.jsx("text",{x:"218",y:n,textAnchor:"end",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"500",fontFamily:x,children:s.reset}),e.jsxs("text",{x:"250",y:n,textAnchor:"end",className:"fill-oai-black dark:fill-white",fontSize:"9",fontWeight:"700",fontFamily:x,children:[s.pct,"%"]}),e.jsx("rect",{x:i,y:n+4,width:l,height:"2.8",rx:"1.4",className:"fill-oai-gray-200 dark:fill-oai-gray-700"}),e.jsx("rect",{x:i,y:n+4,width:Math.max(l*(s.pct/100),4),height:"2.8",rx:"1.4",fill:y})]},s.label)})})})}function ee(t){switch(t.category){case"cost":return"$8.42";case"limits":return"62%";default:return t.id==="last7dTokens"?"1.8B":"203M"}}function te(t,a){switch(t){case"todayTokens":return o("menubar.metric.today_tokens");case"todayCost":return o("menubar.metric.today_cost");case"last7dTokens":return o("menubar.metric.last_7d_tokens");case"totalTokens":return o("menubar.metric.total_tokens");case"totalCost":return o("menubar.metric.total_cost");case"claude5h":return o("menubar.metric.claude_5h");case"claude7d":return o("menubar.metric.claude_7d");case"codex5h":return o("menubar.metric.codex_5h");case"codex7d":return o("menubar.metric.codex_7d");case"codexCredits":return o("menubar.metric.codex_credits");case"codexSpark5h":return o("menubar.metric.codex_spark_5h");case"codexSpark7d":return o("menubar.metric.codex_spark_7d");default:return a}}function ae(t,a){const r=new Set(a.map(l=>l.id)),i=t.filter(l=>r.has(l));for(const l of a){if(i.length>=2)break;i.includes(l.id)||i.push(l.id)}return i.slice(0,2)}function ie({slotConfigs:t,showStats:a}){return e.jsx("div",{className:"flex justify-center rounded-xl bg-gradient-to-b from-oai-gray-100 to-oai-gray-200 px-6 py-8 dark:from-oai-gray-950/80 dark:to-oai-gray-900/80",children:e.jsxs("div",{className:"inline-flex items-stretch rounded-md shadow-[0_1px_3px_rgba(0,0,0,0.18)] ring-1 ring-black/10 dark:ring-white/10 px-3",style:{background:"linear-gradient(180deg, #2c2c2e 0%, #1c1c1e 100%)"},children:[e.jsx("div",{className:"flex items-center pl-2 pr-1 py-2.5",children:e.jsx("img",{src:"/clawd/mini/idle-tight.svg",alt:"","aria-hidden":"true",className:"block shrink-0",style:{height:22,width:"auto"},draggable:"false"})}),a?t.map(({slot:r,item:i},l)=>e.jsxs(D.Fragment,{children:[l>0?e.jsx("span",{className:"my-1 w-px bg-white/20","aria-hidden":"true"}):null,e.jsxs("div",{className:M("flex min-w-[52px] flex-col items-center justify-center py-1.5",l===0?"pl-1 pr-2":"px-2"),children:[e.jsx("span",{className:"text-[13px] font-semibold leading-none tabular-nums text-white",children:i?.previewValue||"--"}),e.jsx("span",{className:"mt-[2px] text-[6px] font-semibold uppercase leading-none text-white/75",children:i?.shortLabel||"Metric"})]})]},r)):null]})})}function se({slot:t,value:a,options:r,disabled:i,onChange:l}){const s=t===0?o("menubar.slot.primary"):o("menubar.slot.secondary");return e.jsxs("div",{className:"flex min-w-0 flex-col gap-1.5",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-oai-gray-500 dark:text-oai-gray-400",children:s}),e.jsx(_,{value:a,disabled:i,ariaLabel:s,onValueChange:c=>l(t,c),options:r.map(c=>({value:c.id,label:c.displayLabel})),matchTriggerWidth:!0,className:"w-full px-3 py-2 text-sm font-medium"})]})}function N({label:t,hint:a,checked:r,disabled:i,onChange:l}){return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-oai-black dark:text-white",children:t}),a?e.jsx("p",{className:"mt-0.5 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:a}):null]}),e.jsx(R,{checked:r,disabled:i,onChange:l,ariaLabel:t})]})}function re({label:t,hint:a,value:r,options:i,disabled:l,onChange:s}){return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-oai-black dark:text-white",children:t}),a?e.jsx("p",{className:"mt-0.5 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:a}):null]}),e.jsx(_,{value:r,disabled:l,ariaLabel:t,onValueChange:s,options:i,className:"shrink-0 px-3 py-2 text-sm font-medium"})]})}function le(){const{available:t,settings:a,setSetting:r}=E(),i=u.useMemo(()=>(Array.isArray(a?.menuBarAvailableItems)?a.menuBarAvailableItems:W).map(m=>({...m,displayLabel:te(m.id,m.label),previewValue:ee(m)})),[a?.menuBarAvailableItems]),l=Number(a?.menuBarMaxItems)||2,s=u.useMemo(()=>v(a?.menuBarItems,i,l),[i,l,a?.menuBarItems]),c=u.useMemo(()=>ae(s,i),[i,s]),n=a?.showStats!==!1,h=d=>{r("menuBarItems",v(d,i,l))},y=(d,m)=>{const g=[...c];g[d===0?1:0]!==m&&(g[d]=m,h(g))},p=[0,1].map(d=>{const m=c[d]||i[d]?.id||"",w=c[d===0?1:0],F=i.filter(f=>f.id===m||f.id!==w),B=i.find(f=>f.id===m);return{slot:d,currentValue:m,options:F,item:B}}),T=["clawd","cat","pet","static"].includes(a?.menuBarIconStyle)?a.menuBarIconStyle:"clawd",k=a?.confettiOnReset!==!1;return e.jsxs("article",{className:"rounded-xl border border-oai-gray-200 bg-white p-5 transition-colors duration-200 dark:border-oai-gray-800 dark:bg-oai-gray-900 sm:p-6",children:[e.jsx(ie,{slotConfigs:p,showStats:n}),e.jsx("div",{className:"mt-5 grid grid-cols-1 gap-3 sm:grid-cols-2 sm:gap-4",children:p.map(({slot:d,currentValue:m,options:g})=>e.jsx(se,{slot:d,value:m,options:g,disabled:!t||!n,onChange:y},d))}),e.jsxs("div",{className:"mt-5 divide-y divide-oai-gray-100 border-t border-oai-gray-100 dark:divide-oai-gray-800 dark:border-oai-gray-800",children:[e.jsx(N,{label:o("settings.menubar.showStats"),hint:t?o("settings.menubar.showStatsHint"):o("menubar.native_only"),checked:n,disabled:!t,onChange:()=>r("showStats",!n)}),e.jsx(re,{label:o("settings.menubar.iconStyle"),hint:o("settings.menubar.iconStyleHint"),value:T,disabled:!t,options:[{value:"clawd",label:o("settings.menubar.iconStyle.clawd")},{value:"cat",label:o("settings.menubar.iconStyle.cat")},{value:"pet",label:o("settings.menubar.iconStyle.pet")},{value:"static",label:o("settings.menubar.iconStyle.static")}],onChange:d=>r("menuBarIconStyle",d)}),e.jsx(N,{label:o("settings.menubar.confettiOnReset"),hint:o("settings.menubar.confettiOnResetHint"),checked:k,disabled:!t,onChange:()=>r("confettiOnReset",!k)})]})]})}function oe(){const[t,a]=u.useState("loading");return u.useEffect(()=>{if(typeof window>"u")return;if(K()){a("native");return}const r=(navigator.userAgent||"").toLowerCase(),i=/mac/.test(r)&&!/iphone|ipad/.test(r);a(i?"mac-web":"other")},[]),t}function ne(){const t=oe();return t==="loading"?e.jsx("div",{className:"h-10 w-40","aria-hidden":"true"}):t==="native"?e.jsxs("button",{type:"button",onClick:()=>P("openWidgetGallery"),className:"inline-flex h-10 items-center gap-2 rounded-lg bg-oai-black px-4 text-sm font-medium text-white transition-colors hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:bg-white dark:text-oai-black dark:hover:bg-oai-gray-200",children:[o("widgets.cta.open_gallery"),e.jsx($,{className:"h-4 w-4","aria-hidden":"true"})]}):t==="mac-web"?e.jsxs("a",{href:"https://github.com/mm7894215/TokenTracker/releases/latest",target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-10 items-center gap-2 rounded-lg bg-oai-black px-4 text-sm font-medium text-white no-underline transition-colors hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:bg-white dark:text-oai-black dark:hover:bg-oai-gray-200",children:[e.jsx(z,{className:"h-4 w-4","aria-hidden":"true"}),o("widgets.cta.download")]}):e.jsxs("span",{className:"inline-flex h-10 items-center gap-2 rounded-lg border border-oai-gray-200 bg-oai-gray-50 px-4 text-sm font-medium text-oai-gray-500 dark:border-oai-gray-800 dark:bg-oai-gray-900 dark:text-oai-gray-400",children:[e.jsx(I,{className:"h-4 w-4","aria-hidden":"true"}),o("widgets.cta.macos_only")]})}const ce=[{id:"summary",Preview:Z,nameKey:"widgets.summary.name",descKey:"widgets.summary.description"},{id:"heatmap",Preview:q,nameKey:"widgets.heatmap.name",descKey:"widgets.heatmap.description"},{id:"topModels",Preview:J,nameKey:"widgets.topModels.name",descKey:"widgets.topModels.description"},{id:"limits",Preview:Q,nameKey:"widgets.limits.name",descKey:"widgets.limits.description"}];function de({Preview:t,nameKey:a,descKey:r}){return e.jsxs("article",{className:"flex h-full flex-col rounded-xl border border-oai-gray-200 bg-white p-4 transition-colors duration-200 dark:border-oai-gray-800 dark:bg-oai-gray-900 sm:p-5",children:[e.jsx(t,{}),e.jsxs("div",{className:"mt-4",children:[e.jsx("h3",{className:"text-[15px] font-semibold text-oai-black dark:text-white",children:o(a)}),e.jsx("p",{className:"mt-1.5 text-sm leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:o(r)})]})]})}function A({titleKey:t}){return e.jsx("h2",{className:"mb-4 text-xl font-semibold tracking-tight text-oai-black dark:text-white sm:mb-5 sm:text-2xl",children:o(t)})}function Le(){return e.jsx("div",{className:"flex flex-col flex-1 text-oai-black dark:text-oai-white font-oai antialiased",children:e.jsx("main",{className:"flex-1 pt-8 sm:pt-10 pb-12 sm:pb-16",children:e.jsxs("div",{className:"mx-auto max-w-5xl px-4 sm:px-6",children:[e.jsx(j,{y:12,children:e.jsxs("header",{className:"mb-10 flex items-start justify-between gap-4 sm:mb-12",children:[e.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-oai-black dark:text-white sm:text-4xl",children:o("widgets.page.title")}),e.jsx("div",{className:"shrink-0",children:e.jsx(ne,{})})]})}),e.jsx(j,{y:12,delay:.06,children:e.jsxs("section",{"aria-label":o("widgets.menubar.section.title"),className:"mb-12 sm:mb-14",children:[e.jsx(A,{titleKey:"widgets.menubar.section.title"}),e.jsx(le,{})]})}),e.jsxs("section",{"aria-label":o("widgets.gallery.section.title"),children:[e.jsx(A,{titleKey:"widgets.gallery.section.title"}),e.jsx(G,{staggerDelay:.08,initialDelay:.04,children:e.jsx("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-5",children:ce.map(({id:t,Preview:a,nameKey:r,descKey:i})=>e.jsx(O,{children:e.jsx(de,{Preview:a,nameKey:r,descKey:i})},t))})})]})]})})})}export{Le as WidgetsPage};
1
+ import{j as e,c as o,K as P,M as I,r as u,o as K,R as D,d as M}from"./__vite-browser-external-hJyUffEJ.js";import{S as _}from"./Select-DDInV6Vc.js";import{u as E,T as R}from"./use-native-settings-CiYsT_Ip.js";import{F as j,S as G,a as O}from"./FadeIn-9jciDZsH.js";import{A as $}from"./arrow-up-right-WGuMZ7yP.js";import{D as z}from"./download-DL3wQKU1.js";import"./SelectItemText-DIsD6lWR.js";import"./useScrollLock-JHdC5cyV.js";import"./check-DQswISeD.js";import"./Card-DvOwwAzG.js";import"./react-w-68N3xj.js";import"./use-reduced-motion-C6xgTm9r.js";const H=["todayTokens","todayCost"],W=[{id:"todayTokens",label:"Today Tokens",shortLabel:"Tokens",category:"tokens"},{id:"todayCost",label:"Today Cost",shortLabel:"Cost",category:"cost"},{id:"last7dTokens",label:"Last 7 Days",shortLabel:"7d",category:"tokens"},{id:"totalTokens",label:"Total Tokens",shortLabel:"Total",category:"tokens"},{id:"totalCost",label:"Total Cost",shortLabel:"All $",category:"cost"},{id:"claude5h",label:"Claude 5h Limit",shortLabel:"Cl 5h",category:"limits"},{id:"claude7d",label:"Claude 7d Limit",shortLabel:"Cl 7d",category:"limits"},{id:"codex5h",label:"Codex 5h Limit",shortLabel:"Cx 5h",category:"limits"},{id:"codex7d",label:"Codex 7d Limit",shortLabel:"Cx 7d",category:"limits"},{id:"codexCredits",label:"Codex Credit Limit",shortLabel:"Cx Cred",category:"limits"},{id:"codexSpark5h",label:"Codex Spark 5h Limit",shortLabel:"Cx Spark 5h",category:"limits"},{id:"codexSpark7d",label:"Codex Spark 7d Limit",shortLabel:"Cx Spark 7d",category:"limits"},{id:"cursorPlan",label:"Cursor Plan Limit",shortLabel:"Cu Plan",category:"limits"},{id:"cursorAuto",label:"Cursor Auto Limit",shortLabel:"Cu Auto",category:"limits"},{id:"cursorAPI",label:"Cursor API Limit",shortLabel:"Cu API",category:"limits"},{id:"geminiPro",label:"Gemini Pro Limit",shortLabel:"Gm Pro",category:"limits"},{id:"geminiFlash",label:"Gemini Flash Limit",shortLabel:"Gm Flash",category:"limits"},{id:"geminiLite",label:"Gemini Lite Limit",shortLabel:"Gm Lite",category:"limits"},{id:"kimiWeekly",label:"Kimi Weekly Limit",shortLabel:"Km Wk",category:"limits"},{id:"kimi5h",label:"Kimi 5h Limit",shortLabel:"Km 5h",category:"limits"},{id:"kimiTotal",label:"Kimi Total Limit",shortLabel:"Km Tot",category:"limits"},{id:"kiroMonth",label:"Kiro Monthly Limit",shortLabel:"Kr Mo",category:"limits"},{id:"kiroBonus",label:"Kiro Bonus Limit",shortLabel:"Kr Bn",category:"limits"},{id:"copilotPremium",label:"Copilot Premium Limit",shortLabel:"Co Prem",category:"limits"},{id:"copilotChat",label:"Copilot Chat Limit",shortLabel:"Co Chat",category:"limits"},{id:"antigravityClaudeWeekly",label:"Antigravity Claude 7d Limit",shortLabel:"Ag Cl 7d",category:"limits"},{id:"antigravityClaude5h",label:"Antigravity Claude 5h Limit",shortLabel:"Ag Cl 5h",category:"limits"},{id:"antigravityGeminiWeekly",label:"Antigravity Gemini 7d Limit",shortLabel:"Ag Gm 7d",category:"limits"},{id:"antigravityGemini5h",label:"Antigravity Gemini 5h Limit",shortLabel:"Ag Gm 5h",category:"limits"}];function v(t,a=W,r=2){const i=new Set(a.map(n=>n.id)),l=new Set,s=Array.isArray(t)?t.filter(n=>!i.has(n)||l.has(n)?!1:(l.add(n),!0)):[];return(s.length>0?s:H).slice(0,Math.max(1,Number(r)||2))}const U=264,V=124,x="ui-rounded, -apple-system, system-ui",L=["#5A8CF2","#9973E6","#4DB8A6","#E68C59"],X={claude:"#C77DFF",codex:"#34C759",cursor:"#FFCC00",gemini:"#0A84FF"};function Y(t){return t>=.9?"#E64D4D":t>=.7?"#D9A633":"#33B866"}function b({size:t="sm",children:a}){const r=t==="lg",i=r?560:264,l=r?32:22;return e.jsx("div",{className:M("flex w-full items-center justify-center rounded-xl bg-oai-gray-100 dark:bg-oai-gray-950/60",r?"py-10 sm:py-14 px-6":"py-6 px-4"),children:e.jsx("div",{className:"overflow-hidden bg-white dark:bg-oai-gray-800 shadow-oai-md dark:shadow-[0_2px_4px_rgba(0,0,0,0.4),0_8px_24px_rgba(0,0,0,0.5)]",style:{width:"100%",maxWidth:i,aspectRatio:`${U} / ${V}`,borderRadius:l},children:a})})}function Z({size:t="sm"}){const a="M0,104 L14,104 C26,98 34,100 44,96 S58,88 68,92 80,100 90,94 102,80 112,82 126,92 136,88 150,74 162,76 178,88 188,86 204,72 216,74 236,84 250,80 L264,80",r=`${a} L264,124 L0,124 Z`,i=`sparkArea-${t}`;return e.jsx(b,{size:t,children:e.jsxs("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:i,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#0A84FF",stopOpacity:"0.18"}),e.jsx("stop",{offset:"100%",stopColor:"#0A84FF",stopOpacity:"0"})]})}),e.jsx("text",{x:"14",y:"20",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"700",letterSpacing:"0.6",children:"TODAY"}),e.jsx("text",{x:"14",y:"46",className:"fill-oai-black dark:fill-white",fontSize:"22",fontWeight:"700",fontFamily:x,children:"203.2M"}),e.jsx("text",{x:"14",y:"60",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"500",fontFamily:x,children:"$129.56 ±0%"}),e.jsx("text",{x:"134",y:"20",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"700",letterSpacing:"0.6",children:"7 DAYS"}),e.jsx("text",{x:"134",y:"46",className:"fill-oai-black dark:fill-white",fontSize:"22",fontWeight:"700",fontFamily:x,children:"880.9M"}),e.jsx("text",{x:"134",y:"60",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"500",fontFamily:x,children:"$673.61"}),e.jsx("path",{d:r,fill:`url(#${i})`,stroke:"none"}),e.jsx("path",{d:a,fill:"none",stroke:"#0A84FF",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const C=(()=>{const r=[];for(let i=0;i<26;i++)for(let l=0;l<7;l++){const s=Math.sin((i+1)*12.9898+(l+1)*78.233+17)*43758.5453,c=Math.floor(Math.abs(s-Math.floor(s))*100);r.push({w:i,d:l,v:c})}return r})();function S(t,a){return t<18?a?"#262626":"#e5e5e5":t<38?"rgba(10, 132, 255, 0.28)":t<58?"rgba(10, 132, 255, 0.50)":t<80?"rgba(10, 132, 255, 0.75)":"#0A84FF"}function q(){return e.jsx(b,{children:e.jsxs("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:[e.jsx("g",{transform:`translate(${19.5}, 10)`,className:"hidden dark:inline",children:C.map(s=>e.jsx("rect",{x:s.w*(7.5+1.2),y:s.d*(8+1.2),width:7.5,height:8,rx:"1.3",fill:S(s.v,!0)},`d-${s.w}-${s.d}`))}),e.jsx("g",{transform:`translate(${19.5}, 10)`,className:"dark:hidden",children:C.map(s=>e.jsx("rect",{x:s.w*(7.5+1.2),y:s.d*(8+1.2),width:7.5,height:8,rx:"1.3",fill:S(s.v,!1)},`l-${s.w}-${s.d}`))}),e.jsx("text",{x:19.5,y:"102",className:"fill-oai-black dark:fill-white",fontSize:"10",fontWeight:"700",fontFamily:x,children:"10.3B"}),e.jsx("text",{x:19.5+30,y:"102",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"9",fontWeight:"500",children:"tokens · 202 active days"})]})})}function J(){const t=[{name:"claude-opus-4-6",value:"586.4M",pct:59},{name:"claude-sonnet-4-5-20250929",value:"218.7M",pct:22},{name:"gpt-5.4",value:"80.6M",pct:8},{name:"composer-2-fast",value:"52.1M",pct:5}],a=22,r=28,i=14,l=236;return e.jsx(b,{children:e.jsx("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:t.map((s,c)=>{const n=r+c*a,h=L[c%L.length];return e.jsxs("g",{children:[e.jsx("circle",{cx:"18",cy:n-3,r:"2.5",fill:h}),e.jsx("text",{x:"26",y:n,className:"fill-oai-black dark:fill-white",fontSize:"9",fontWeight:"500",children:s.name}),e.jsx("text",{x:"218",y:n,textAnchor:"end",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"9",fontWeight:"600",fontFamily:x,children:s.value}),e.jsxs("text",{x:"250",y:n,textAnchor:"end",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"600",fontFamily:x,children:[s.pct,"%"]}),e.jsx("rect",{x:i,y:n+4,width:l,height:"2.8",rx:"1.4",className:"fill-oai-gray-200 dark:fill-oai-gray-700"}),e.jsx("rect",{x:i,y:n+4,width:Math.max(l*(s.pct/100),4),height:"2.8",rx:"1.4",fill:h})]},s.name)})})})}function Q(){const t=[{label:"Claude · 7d",source:"claude",reset:"in 1d",pct:61},{label:"Claude · 5h",source:"claude",reset:"in 4h 28m",pct:4},{label:"Cursor",source:"cursor",reset:"in 25d",pct:51},{label:"Codex · weekly",source:"codex",reset:"in 1d",pct:32}],a=22,r=28,i=14,l=236;return e.jsx(b,{children:e.jsx("svg",{viewBox:"0 0 264 124",className:"h-full w-full","aria-hidden":"true",children:t.map((s,c)=>{const n=r+c*a,h=X[s.source],y=Y(s.pct/100);return e.jsxs("g",{children:[e.jsx("circle",{cx:"18",cy:n-3,r:"2.5",fill:h}),e.jsx("text",{x:"26",y:n,className:"fill-oai-black dark:fill-white",fontSize:"9",fontWeight:"500",children:s.label}),e.jsx("text",{x:"218",y:n,textAnchor:"end",className:"fill-oai-gray-500 dark:fill-oai-gray-400",fontSize:"8",fontWeight:"500",fontFamily:x,children:s.reset}),e.jsxs("text",{x:"250",y:n,textAnchor:"end",className:"fill-oai-black dark:fill-white",fontSize:"9",fontWeight:"700",fontFamily:x,children:[s.pct,"%"]}),e.jsx("rect",{x:i,y:n+4,width:l,height:"2.8",rx:"1.4",className:"fill-oai-gray-200 dark:fill-oai-gray-700"}),e.jsx("rect",{x:i,y:n+4,width:Math.max(l*(s.pct/100),4),height:"2.8",rx:"1.4",fill:y})]},s.label)})})})}function ee(t){switch(t.category){case"cost":return"$8.42";case"limits":return"62%";default:return t.id==="last7dTokens"?"1.8B":"203M"}}function te(t,a){switch(t){case"todayTokens":return o("menubar.metric.today_tokens");case"todayCost":return o("menubar.metric.today_cost");case"last7dTokens":return o("menubar.metric.last_7d_tokens");case"totalTokens":return o("menubar.metric.total_tokens");case"totalCost":return o("menubar.metric.total_cost");case"claude5h":return o("menubar.metric.claude_5h");case"claude7d":return o("menubar.metric.claude_7d");case"codex5h":return o("menubar.metric.codex_5h");case"codex7d":return o("menubar.metric.codex_7d");case"codexCredits":return o("menubar.metric.codex_credits");case"codexSpark5h":return o("menubar.metric.codex_spark_5h");case"codexSpark7d":return o("menubar.metric.codex_spark_7d");default:return a}}function ae(t,a){const r=new Set(a.map(l=>l.id)),i=t.filter(l=>r.has(l));for(const l of a){if(i.length>=2)break;i.includes(l.id)||i.push(l.id)}return i.slice(0,2)}function ie({slotConfigs:t,showStats:a}){return e.jsx("div",{className:"flex justify-center rounded-xl bg-gradient-to-b from-oai-gray-100 to-oai-gray-200 px-6 py-8 dark:from-oai-gray-950/80 dark:to-oai-gray-900/80",children:e.jsxs("div",{className:"inline-flex items-stretch rounded-md shadow-[0_1px_3px_rgba(0,0,0,0.18)] ring-1 ring-black/10 dark:ring-white/10 px-3",style:{background:"linear-gradient(180deg, #2c2c2e 0%, #1c1c1e 100%)"},children:[e.jsx("div",{className:"flex items-center pl-2 pr-1 py-2.5",children:e.jsx("img",{src:"/clawd/mini/idle-tight.svg",alt:"","aria-hidden":"true",className:"block shrink-0",style:{height:22,width:"auto"},draggable:"false"})}),a?t.map(({slot:r,item:i},l)=>e.jsxs(D.Fragment,{children:[l>0?e.jsx("span",{className:"my-1 w-px bg-white/20","aria-hidden":"true"}):null,e.jsxs("div",{className:M("flex min-w-[52px] flex-col items-center justify-center py-1.5",l===0?"pl-1 pr-2":"px-2"),children:[e.jsx("span",{className:"text-[13px] font-semibold leading-none tabular-nums text-white",children:i?.previewValue||"--"}),e.jsx("span",{className:"mt-[2px] text-[6px] font-semibold uppercase leading-none text-white/75",children:i?.shortLabel||"Metric"})]})]},r)):null]})})}function se({slot:t,value:a,options:r,disabled:i,onChange:l}){const s=t===0?o("menubar.slot.primary"):o("menubar.slot.secondary");return e.jsxs("div",{className:"flex min-w-0 flex-col gap-1.5",children:[e.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-oai-gray-500 dark:text-oai-gray-400",children:s}),e.jsx(_,{value:a,disabled:i,ariaLabel:s,onValueChange:c=>l(t,c),options:r.map(c=>({value:c.id,label:c.displayLabel})),matchTriggerWidth:!0,className:"w-full px-3 py-2 text-sm font-medium"})]})}function N({label:t,hint:a,checked:r,disabled:i,onChange:l}){return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-oai-black dark:text-white",children:t}),a?e.jsx("p",{className:"mt-0.5 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:a}):null]}),e.jsx(R,{checked:r,disabled:i,onChange:l,ariaLabel:t})]})}function re({label:t,hint:a,value:r,options:i,disabled:l,onChange:s}){return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-sm font-medium text-oai-black dark:text-white",children:t}),a?e.jsx("p",{className:"mt-0.5 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:a}):null]}),e.jsx(_,{value:r,disabled:l,ariaLabel:t,onValueChange:s,options:i,className:"shrink-0 px-3 py-2 text-sm font-medium"})]})}function le(){const{available:t,settings:a,setSetting:r}=E(),i=u.useMemo(()=>(Array.isArray(a?.menuBarAvailableItems)?a.menuBarAvailableItems:W).map(m=>({...m,displayLabel:te(m.id,m.label),previewValue:ee(m)})),[a?.menuBarAvailableItems]),l=Number(a?.menuBarMaxItems)||2,s=u.useMemo(()=>v(a?.menuBarItems,i,l),[i,l,a?.menuBarItems]),c=u.useMemo(()=>ae(s,i),[i,s]),n=a?.showStats!==!1,h=d=>{r("menuBarItems",v(d,i,l))},y=(d,m)=>{const g=[...c];g[d===0?1:0]!==m&&(g[d]=m,h(g))},p=[0,1].map(d=>{const m=c[d]||i[d]?.id||"",w=c[d===0?1:0],F=i.filter(f=>f.id===m||f.id!==w),B=i.find(f=>f.id===m);return{slot:d,currentValue:m,options:F,item:B}}),T=["clawd","cat","pet","static"].includes(a?.menuBarIconStyle)?a.menuBarIconStyle:"clawd",k=a?.confettiOnReset!==!1;return e.jsxs("article",{className:"rounded-xl border border-oai-gray-200 bg-white p-5 transition-colors duration-200 dark:border-oai-gray-800 dark:bg-oai-gray-900 sm:p-6",children:[e.jsx(ie,{slotConfigs:p,showStats:n}),e.jsx("div",{className:"mt-5 grid grid-cols-1 gap-3 sm:grid-cols-2 sm:gap-4",children:p.map(({slot:d,currentValue:m,options:g})=>e.jsx(se,{slot:d,value:m,options:g,disabled:!t||!n,onChange:y},d))}),e.jsxs("div",{className:"mt-5 divide-y divide-oai-gray-100 border-t border-oai-gray-100 dark:divide-oai-gray-800 dark:border-oai-gray-800",children:[e.jsx(N,{label:o("settings.menubar.showStats"),hint:t?o("settings.menubar.showStatsHint"):o("menubar.native_only"),checked:n,disabled:!t,onChange:()=>r("showStats",!n)}),e.jsx(re,{label:o("settings.menubar.iconStyle"),hint:o("settings.menubar.iconStyleHint"),value:T,disabled:!t,options:[{value:"clawd",label:o("settings.menubar.iconStyle.clawd")},{value:"cat",label:o("settings.menubar.iconStyle.cat")},{value:"pet",label:o("settings.menubar.iconStyle.pet")},{value:"static",label:o("settings.menubar.iconStyle.static")}],onChange:d=>r("menuBarIconStyle",d)}),e.jsx(N,{label:o("settings.menubar.confettiOnReset"),hint:o("settings.menubar.confettiOnResetHint"),checked:k,disabled:!t,onChange:()=>r("confettiOnReset",!k)})]})]})}function oe(){const[t,a]=u.useState("loading");return u.useEffect(()=>{if(typeof window>"u")return;if(K()){a("native");return}const r=(navigator.userAgent||"").toLowerCase(),i=/mac/.test(r)&&!/iphone|ipad/.test(r);a(i?"mac-web":"other")},[]),t}function ne(){const t=oe();return t==="loading"?e.jsx("div",{className:"h-10 w-40","aria-hidden":"true"}):t==="native"?e.jsxs("button",{type:"button",onClick:()=>P("openWidgetGallery"),className:"inline-flex h-10 items-center gap-2 rounded-lg bg-oai-black px-4 text-sm font-medium text-white transition-colors hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:bg-white dark:text-oai-black dark:hover:bg-oai-gray-200",children:[o("widgets.cta.open_gallery"),e.jsx($,{className:"h-4 w-4","aria-hidden":"true"})]}):t==="mac-web"?e.jsxs("a",{href:"https://github.com/mm7894215/TokenTracker/releases/latest",target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-10 items-center gap-2 rounded-lg bg-oai-black px-4 text-sm font-medium text-white no-underline transition-colors hover:bg-oai-gray-800 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 focus-visible:ring-offset-2 dark:bg-white dark:text-oai-black dark:hover:bg-oai-gray-200",children:[e.jsx(z,{className:"h-4 w-4","aria-hidden":"true"}),o("widgets.cta.download")]}):e.jsxs("span",{className:"inline-flex h-10 items-center gap-2 rounded-lg border border-oai-gray-200 bg-oai-gray-50 px-4 text-sm font-medium text-oai-gray-500 dark:border-oai-gray-800 dark:bg-oai-gray-900 dark:text-oai-gray-400",children:[e.jsx(I,{className:"h-4 w-4","aria-hidden":"true"}),o("widgets.cta.macos_only")]})}const ce=[{id:"summary",Preview:Z,nameKey:"widgets.summary.name",descKey:"widgets.summary.description"},{id:"heatmap",Preview:q,nameKey:"widgets.heatmap.name",descKey:"widgets.heatmap.description"},{id:"topModels",Preview:J,nameKey:"widgets.topModels.name",descKey:"widgets.topModels.description"},{id:"limits",Preview:Q,nameKey:"widgets.limits.name",descKey:"widgets.limits.description"}];function de({Preview:t,nameKey:a,descKey:r}){return e.jsxs("article",{className:"flex h-full flex-col rounded-xl border border-oai-gray-200 bg-white p-4 transition-colors duration-200 dark:border-oai-gray-800 dark:bg-oai-gray-900 sm:p-5",children:[e.jsx(t,{}),e.jsxs("div",{className:"mt-4",children:[e.jsx("h3",{className:"text-[15px] font-semibold text-oai-black dark:text-white",children:o(a)}),e.jsx("p",{className:"mt-1.5 text-sm leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:o(r)})]})]})}function A({titleKey:t}){return e.jsx("h2",{className:"mb-4 text-xl font-semibold tracking-tight text-oai-black dark:text-white sm:mb-5 sm:text-2xl",children:o(t)})}function Le(){return e.jsx("div",{className:"flex flex-col flex-1 text-oai-black dark:text-oai-white font-oai antialiased",children:e.jsx("main",{className:"flex-1 pt-8 sm:pt-10 pb-12 sm:pb-16",children:e.jsxs("div",{className:"mx-auto max-w-5xl px-4 sm:px-6",children:[e.jsx(j,{y:12,children:e.jsxs("header",{className:"mb-10 flex items-start justify-between gap-4 sm:mb-12",children:[e.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-oai-black dark:text-white sm:text-4xl",children:o("widgets.page.title")}),e.jsx("div",{className:"shrink-0",children:e.jsx(ne,{})})]})}),e.jsx(j,{y:12,delay:.06,children:e.jsxs("section",{"aria-label":o("widgets.menubar.section.title"),className:"mb-12 sm:mb-14",children:[e.jsx(A,{titleKey:"widgets.menubar.section.title"}),e.jsx(le,{})]})}),e.jsxs("section",{"aria-label":o("widgets.gallery.section.title"),children:[e.jsx(A,{titleKey:"widgets.gallery.section.title"}),e.jsx(G,{staggerDelay:.08,initialDelay:.04,children:e.jsx("div",{className:"grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-5",children:ce.map(({id:t,Preview:a,nameKey:r,descKey:i})=>e.jsx(O,{children:e.jsx(de,{Preview:a,nameKey:r,descKey:i})},t))})})]})]})})})}export{Le as WidgetsPage};
@@ -1 +1 @@
1
- import{r as l,j as e,i as y}from"./__vite-browser-external-DWKjPxnU.js";function o(a){return Number.isFinite(a)?Math.abs(a)>=1e12?(a/1e12).toFixed(2).replace(/\.?0+$/,"")+"T":y(a,{decimals:2}):"0"}function r({children:a,accent:n=!1,className:i=""}){const c="rounded-2xl border border-oai-gray-200 dark:border-oai-gray-800 p-6 bg-white dark:bg-oai-gray-900",d=n?"bg-gradient-to-br from-emerald-50 to-cyan-50 dark:from-emerald-900/30 dark:to-cyan-900/30 border-transparent":"";return e.jsx("div",{className:`${c} ${d} ${i}`,children:a})}function u(){const[a,n]=l.useState(null),[i,c]=l.useState("loading"),[d,g]=l.useState("");if(l.useEffect(()=>{let t=!1;const h=new URLSearchParams(window.location.search).get("year"),p=h?`/functions/tokentracker-wrapped?year=${encodeURIComponent(h)}`:"/functions/tokentracker-wrapped";return fetch(p).then(async s=>{if(!s.ok)throw new Error(`HTTP ${s.status}`);return s.json()}).then(s=>{t||(n(s),c(s.totals&&s.totals.tokens>0?"ready":"empty"))}).catch(s=>{t||(g(String(s?.message||s)),c("error"))}),()=>{t=!0}},[]),i==="loading")return e.jsx("div",{className:"min-h-screen bg-white dark:bg-oai-gray-950 flex items-center justify-center",children:e.jsx("p",{className:"text-oai-gray-500",children:"Loading…"})});if(i==="error")return e.jsx("div",{className:"min-h-screen bg-white dark:bg-oai-gray-950 flex items-center justify-center px-6",children:e.jsx(r,{children:e.jsxs("p",{className:"text-red-600 dark:text-red-300",children:["Couldn't load Wrapped: ",d]})})});if(i==="empty"||!a)return e.jsx("div",{className:"min-h-screen bg-white dark:bg-oai-gray-950 flex items-center justify-center px-6",children:e.jsx(r,{children:e.jsxs("p",{className:"text-oai-gray-500",children:["No data for that year yet. Run ",e.jsx("code",{children:"tracker sync"})," first."]})})});const x=t=>`${(t*100).toFixed(0)}%`;return e.jsx("div",{className:"min-h-screen bg-gradient-to-b from-white to-oai-gray-50 dark:from-oai-gray-950 dark:to-oai-gray-900 px-6 py-12",children:e.jsxs("div",{className:"max-w-3xl mx-auto space-y-6",children:[e.jsxs("header",{className:"text-center pb-6",children:[e.jsx("p",{className:"text-sm uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400",children:"TokenTracker Wrapped"}),e.jsx("h1",{className:"text-6xl font-bold text-oai-gray-900 dark:text-white mt-2",children:a.year})]}),e.jsxs(r,{accent:!0,className:"text-center",children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-oai-gray-600 dark:text-oai-gray-300",children:"Total tokens"}),e.jsx("p",{className:"text-7xl font-bold text-emerald-700 dark:text-emerald-300 mt-2",children:o(a.totals.tokens)}),e.jsxs("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mt-4",children:["across ",e.jsx("strong",{children:a.totals.conversations.toLocaleString("en-US")})," conversations,"," ",e.jsx("strong",{children:a.totals.active_days})," active days, and"," ",e.jsx("strong",{children:a.totals.sources})," tools"]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs(r,{children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400 mb-4",children:"Top tools"}),e.jsx("ul",{className:"space-y-3",children:a.top.sources.slice(0,5).map(t=>e.jsxs("li",{className:"flex items-baseline justify-between",children:[e.jsx("span",{className:"text-oai-gray-900 dark:text-white",children:t.source}),e.jsxs("span",{className:"text-oai-gray-500 dark:text-oai-gray-400 font-mono text-sm",children:[o(t.tokens)," · ",x(t.share)]})]},t.source))})]}),e.jsxs(r,{children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400 mb-4",children:"Top models"}),e.jsx("ul",{className:"space-y-3",children:a.top.models.slice(0,5).map(t=>e.jsxs("li",{className:"flex items-baseline justify-between",children:[e.jsx("span",{className:"text-oai-gray-900 dark:text-white truncate pr-3",children:t.model}),e.jsxs("span",{className:"text-oai-gray-500 dark:text-oai-gray-400 font-mono text-sm whitespace-nowrap",children:[o(t.tokens)," · ",x(t.share)]})]},t.model))})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.peak_hour&&e.jsxs(r,{children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400",children:"Peak hour"}),e.jsxs("p",{className:"text-4xl font-semibold text-oai-gray-900 dark:text-white mt-2",children:[String(a.peak_hour.hour).padStart(2,"0"),":00 UTC"]}),e.jsxs("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mt-1",children:[o(a.peak_hour.tokens)," tokens"]})]}),a.longest_streak&&a.longest_streak.days>0&&e.jsxs(r,{children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400",children:"Longest streak"}),e.jsxs("p",{className:"text-4xl font-semibold text-oai-gray-900 dark:text-white mt-2",children:[a.longest_streak.days," days"]}),e.jsxs("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mt-1",children:[a.longest_streak.from," → ",a.longest_streak.to]})]})]}),a.top.days.length>0&&e.jsxs(r,{children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400 mb-4",children:"Top days"}),e.jsx("ul",{className:"space-y-2",children:a.top.days.slice(0,5).map(t=>e.jsxs("li",{className:"flex items-baseline justify-between",children:[e.jsx("span",{className:"text-oai-gray-900 dark:text-white font-mono text-sm",children:t.day}),e.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-400 font-mono text-sm",children:o(t.tokens)})]},t.day))})]}),a.highlights.length>0&&e.jsxs(r,{accent:!0,children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-600 dark:text-oai-gray-300 mb-3",children:"Highlights"}),e.jsx("ul",{className:"space-y-2 text-oai-gray-800 dark:text-oai-gray-200",children:a.highlights.map((t,m)=>e.jsxs("li",{className:"text-base",children:["· ",t]},m))})]}),e.jsxs("footer",{className:"text-center text-xs text-oai-gray-400 dark:text-oai-gray-500 pt-6",children:["Generated from local queue.jsonl · share with"," ",e.jsx("code",{className:"font-mono",children:"tracker wrapped --json"})]})]})})}export{u as default};
1
+ import{r as l,j as e,i as y}from"./__vite-browser-external-hJyUffEJ.js";function o(a){return Number.isFinite(a)?Math.abs(a)>=1e12?(a/1e12).toFixed(2).replace(/\.?0+$/,"")+"T":y(a,{decimals:2}):"0"}function r({children:a,accent:n=!1,className:i=""}){const c="rounded-2xl border border-oai-gray-200 dark:border-oai-gray-800 p-6 bg-white dark:bg-oai-gray-900",d=n?"bg-gradient-to-br from-emerald-50 to-cyan-50 dark:from-emerald-900/30 dark:to-cyan-900/30 border-transparent":"";return e.jsx("div",{className:`${c} ${d} ${i}`,children:a})}function u(){const[a,n]=l.useState(null),[i,c]=l.useState("loading"),[d,g]=l.useState("");if(l.useEffect(()=>{let t=!1;const h=new URLSearchParams(window.location.search).get("year"),p=h?`/functions/tokentracker-wrapped?year=${encodeURIComponent(h)}`:"/functions/tokentracker-wrapped";return fetch(p).then(async s=>{if(!s.ok)throw new Error(`HTTP ${s.status}`);return s.json()}).then(s=>{t||(n(s),c(s.totals&&s.totals.tokens>0?"ready":"empty"))}).catch(s=>{t||(g(String(s?.message||s)),c("error"))}),()=>{t=!0}},[]),i==="loading")return e.jsx("div",{className:"min-h-screen bg-white dark:bg-oai-gray-950 flex items-center justify-center",children:e.jsx("p",{className:"text-oai-gray-500",children:"Loading…"})});if(i==="error")return e.jsx("div",{className:"min-h-screen bg-white dark:bg-oai-gray-950 flex items-center justify-center px-6",children:e.jsx(r,{children:e.jsxs("p",{className:"text-red-600 dark:text-red-300",children:["Couldn't load Wrapped: ",d]})})});if(i==="empty"||!a)return e.jsx("div",{className:"min-h-screen bg-white dark:bg-oai-gray-950 flex items-center justify-center px-6",children:e.jsx(r,{children:e.jsxs("p",{className:"text-oai-gray-500",children:["No data for that year yet. Run ",e.jsx("code",{children:"tracker sync"})," first."]})})});const x=t=>`${(t*100).toFixed(0)}%`;return e.jsx("div",{className:"min-h-screen bg-gradient-to-b from-white to-oai-gray-50 dark:from-oai-gray-950 dark:to-oai-gray-900 px-6 py-12",children:e.jsxs("div",{className:"max-w-3xl mx-auto space-y-6",children:[e.jsxs("header",{className:"text-center pb-6",children:[e.jsx("p",{className:"text-sm uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400",children:"TokenTracker Wrapped"}),e.jsx("h1",{className:"text-6xl font-bold text-oai-gray-900 dark:text-white mt-2",children:a.year})]}),e.jsxs(r,{accent:!0,className:"text-center",children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-oai-gray-600 dark:text-oai-gray-300",children:"Total tokens"}),e.jsx("p",{className:"text-7xl font-bold text-emerald-700 dark:text-emerald-300 mt-2",children:o(a.totals.tokens)}),e.jsxs("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mt-4",children:["across ",e.jsx("strong",{children:a.totals.conversations.toLocaleString("en-US")})," conversations,"," ",e.jsx("strong",{children:a.totals.active_days})," active days, and"," ",e.jsx("strong",{children:a.totals.sources})," tools"]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[e.jsxs(r,{children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400 mb-4",children:"Top tools"}),e.jsx("ul",{className:"space-y-3",children:a.top.sources.slice(0,5).map(t=>e.jsxs("li",{className:"flex items-baseline justify-between",children:[e.jsx("span",{className:"text-oai-gray-900 dark:text-white",children:t.source}),e.jsxs("span",{className:"text-oai-gray-500 dark:text-oai-gray-400 font-mono text-sm",children:[o(t.tokens)," · ",x(t.share)]})]},t.source))})]}),e.jsxs(r,{children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400 mb-4",children:"Top models"}),e.jsx("ul",{className:"space-y-3",children:a.top.models.slice(0,5).map(t=>e.jsxs("li",{className:"flex items-baseline justify-between",children:[e.jsx("span",{className:"text-oai-gray-900 dark:text-white truncate pr-3",children:t.model}),e.jsxs("span",{className:"text-oai-gray-500 dark:text-oai-gray-400 font-mono text-sm whitespace-nowrap",children:[o(t.tokens)," · ",x(t.share)]})]},t.model))})]})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[a.peak_hour&&e.jsxs(r,{children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400",children:"Peak hour"}),e.jsxs("p",{className:"text-4xl font-semibold text-oai-gray-900 dark:text-white mt-2",children:[String(a.peak_hour.hour).padStart(2,"0"),":00 UTC"]}),e.jsxs("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mt-1",children:[o(a.peak_hour.tokens)," tokens"]})]}),a.longest_streak&&a.longest_streak.days>0&&e.jsxs(r,{children:[e.jsx("p",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400",children:"Longest streak"}),e.jsxs("p",{className:"text-4xl font-semibold text-oai-gray-900 dark:text-white mt-2",children:[a.longest_streak.days," days"]}),e.jsxs("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400 mt-1",children:[a.longest_streak.from," → ",a.longest_streak.to]})]})]}),a.top.days.length>0&&e.jsxs(r,{children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-500 dark:text-oai-gray-400 mb-4",children:"Top days"}),e.jsx("ul",{className:"space-y-2",children:a.top.days.slice(0,5).map(t=>e.jsxs("li",{className:"flex items-baseline justify-between",children:[e.jsx("span",{className:"text-oai-gray-900 dark:text-white font-mono text-sm",children:t.day}),e.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-400 font-mono text-sm",children:o(t.tokens)})]},t.day))})]}),a.highlights.length>0&&e.jsxs(r,{accent:!0,children:[e.jsx("h3",{className:"text-xs uppercase tracking-widest text-oai-gray-600 dark:text-oai-gray-300 mb-3",children:"Highlights"}),e.jsx("ul",{className:"space-y-2 text-oai-gray-800 dark:text-oai-gray-200",children:a.highlights.map((t,m)=>e.jsxs("li",{className:"text-base",children:["· ",t]},m))})]}),e.jsxs("footer",{className:"text-center text-xs text-oai-gray-400 dark:text-oai-gray-500 pt-6",children:["Generated from local queue.jsonl · share with"," ",e.jsx("code",{className:"font-mono",children:"tracker wrapped --json"})]})]})})}export{u as default};