tokentracker-cli 1.1.11 → 1.1.13

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 (118) hide show
  1. package/README.md +2 -1
  2. package/dashboard/dist/assets/{AchievementBadge-DuEuFaXg.js → AchievementBadge-DHCKPAgO.js} +1 -1
  3. package/dashboard/dist/assets/{AchievementsPage-BTTFtk_Z.js → AchievementsPage-BqlGMD7S.js} +2 -2
  4. package/dashboard/dist/assets/{AchievementsSection-BZppKteZ.js → AchievementsSection-CTTTR9CN.js} +1 -1
  5. package/dashboard/dist/assets/{BadgeDetailModal-TzmxXy8k.js → BadgeDetailModal-e0Iz8ct4.js} +1 -1
  6. package/dashboard/dist/assets/BotAnimated-BLYZyT1O.js +1 -0
  7. package/dashboard/dist/assets/{Card-HigkIm_b.js → Card-EHkn9ktD.js} +1 -1
  8. package/dashboard/dist/assets/{CommandPalette-Bx_11gJk.js → CommandPalette-CuSVstX9.js} +1 -1
  9. package/dashboard/dist/assets/{CommunityStatsModal-BjDPCBol.js → CommunityStatsModal-Cb1vefLE.js} +1 -1
  10. package/dashboard/dist/assets/{ConfirmModal-DTo93RpG.js → ConfirmModal-pIUQJ7QM.js} +1 -1
  11. package/dashboard/dist/assets/Controls-CX4Di57j.js +1 -0
  12. package/dashboard/dist/assets/DashboardPage-D1Ox1y3E.js +1 -0
  13. package/dashboard/dist/assets/{DevicePage-BVupGt9K.js → DevicePage-Q57gBE8A.js} +1 -1
  14. package/dashboard/dist/assets/{DialogClose-BlQJpi7n.js → DialogClose-Dn-nxOSp.js} +1 -1
  15. package/dashboard/dist/assets/DialogDescription-GXslTq2z.js +1 -0
  16. package/dashboard/dist/assets/{DialogTitle-CDmxp9ap.js → DialogTitle-DuAY9sfZ.js} +1 -1
  17. package/dashboard/dist/assets/{FadeIn-DPercU5n.js → FadeIn-25jNO9JV.js} +1 -1
  18. package/dashboard/dist/assets/{HeaderGithubStar-DeVzeBIo.js → HeaderGithubStar-0-ne32-S.js} +1 -1
  19. package/dashboard/dist/assets/{HoverTooltip-Duo2Icus.js → HoverTooltip-C2Qop8B3.js} +1 -1
  20. package/dashboard/dist/assets/{IpCheckPage-DgYiaRrT.js → IpCheckPage-Q9lwiFdt.js} +1 -1
  21. package/dashboard/dist/assets/{LandingPage-CYTR4PbQ.js → LandingPage-iX6E8Flr.js} +2 -2
  22. package/dashboard/dist/assets/{LeaderboardAvatar-B67pMaIl.js → LeaderboardAvatar-CiQrgneF.js} +1 -1
  23. package/dashboard/dist/assets/{LeaderboardPage-2wIMkBgq.js → LeaderboardPage-BIhIA28A.js} +2 -2
  24. package/dashboard/dist/assets/{LeaderboardProfileModal-D3VxkFlx.js → LeaderboardProfileModal-CF-MI8rL.js} +4 -4
  25. package/dashboard/dist/assets/{LeaderboardProfilePage-BS01jN5M.js → LeaderboardProfilePage-DRbLb-fO.js} +3 -3
  26. package/dashboard/dist/assets/{LimitsPage-BGRZW-aH.js → LimitsPage-lvYidBkz.js} +2 -2
  27. package/dashboard/dist/assets/{LocalOnlyNotice-Do9KUdi_.js → LocalOnlyNotice-CAQTnlaI.js} +1 -1
  28. package/dashboard/dist/assets/{LoginCard-CzAXLXfZ.js → LoginCard-Ci2Rrsfl.js} +1 -1
  29. package/dashboard/dist/assets/{LoginModal-D1J8zG0C.js → LoginModal-DhyQPl-V.js} +1 -1
  30. package/dashboard/dist/assets/{LoginPage-DeZJNMLe.js → LoginPage-B6q8P6hE.js} +1 -1
  31. package/dashboard/dist/assets/PetPage-82Cldgg6.js +1 -0
  32. package/dashboard/dist/assets/{PopoverPopup-BYzzQJTD.js → PopoverPopup-Btcu7vU0.js} +1 -1
  33. package/dashboard/dist/assets/{ProviderIcon-BfFkS-OF.js → ProviderIcon-aLwclDsD.js} +1 -1
  34. package/dashboard/dist/assets/{ResetPasswordPage-BFyYvG24.js → ResetPasswordPage-BlRl_aJr.js} +1 -1
  35. package/dashboard/dist/assets/{SegmentedControl-D5USR3JT.js → SegmentedControl-2O_XVL8u.js} +1 -1
  36. package/dashboard/dist/assets/{Select-DmFQdVA1.js → Select-D5uuRQwh.js} +1 -1
  37. package/dashboard/dist/assets/{SelectItemText-B5MXGLN-.js → SelectItemText-Bq_ZdWU0.js} +1 -1
  38. package/dashboard/dist/assets/{ServiceStatusPage-Dvm5eUJK.js → ServiceStatusPage-Pd6dgJua.js} +1 -1
  39. package/dashboard/dist/assets/{SessionsPage-DQKezzUW.js → SessionsPage-DjHudcn6.js} +2 -2
  40. package/dashboard/dist/assets/SettingsPage-DOLhZiBE.js +2 -0
  41. package/dashboard/dist/assets/{SkillsPage-DyX_-dcr.js → SkillsPage-D9-ZorB5.js} +1 -1
  42. package/dashboard/dist/assets/{TokenGalaxy-aK3jhWW0.js → TokenGalaxy-BN71jQQ8.js} +1 -1
  43. package/dashboard/dist/assets/{ToolbarRootContext-CY_SULMC.js → ToolbarRootContext-B0cqyD1i.js} +1 -1
  44. package/dashboard/dist/assets/TrendMonitor-DWxtbzyQ.js +19 -0
  45. package/dashboard/dist/assets/{WidgetsPage-D8tzK-7m.js → WidgetsPage-BwmJ2Z9d.js} +1 -1
  46. package/dashboard/dist/assets/{WrappedPage-BjZPa_al.js → WrappedPage-Cq8DrzLm.js} +1 -1
  47. package/dashboard/dist/assets/__vite-browser-external-CPMSmJgP.js +45 -0
  48. package/dashboard/dist/assets/__vite-browser-external-DrXtuPP9.css +1 -0
  49. package/dashboard/dist/assets/{agent-logos-QSoXRwwJ.js → agent-logos-X7FQq7rz.js} +1 -1
  50. package/dashboard/dist/assets/{arrow-up-right-C3WUmTcI.js → arrow-up-right-CPxuidzy.js} +1 -1
  51. package/dashboard/dist/assets/{check-Gz5mnj6f.js → check-D2K19ObI.js} +1 -1
  52. package/dashboard/dist/assets/{composite-DJhoahpv.js → composite-BN1UKLj0.js} +1 -1
  53. package/dashboard/dist/assets/{copy-C5RiL5JQ.js → copy-CSN17qFv.js} +1 -1
  54. package/dashboard/dist/assets/{download-CccMGCc1.js → download-CpW-TB2h.js} +1 -1
  55. package/dashboard/dist/assets/{external-link-fdU7Lj6p.js → external-link-ChBchK6G.js} +1 -1
  56. package/dashboard/dist/assets/{flame-CYEjossP.js → flame-f7119ZMd.js} +1 -1
  57. package/dashboard/dist/assets/{format-tokens-xXCznLkf.js → format-tokens-COrRnk53.js} +1 -1
  58. package/dashboard/dist/assets/{icons-CYNYszil.js → icons-Dn9vA9Qu.js} +1 -1
  59. package/dashboard/dist/assets/{index-CQ5GHXiW.js → index-BCNOKYSO.js} +1 -1
  60. package/dashboard/dist/assets/{index-Czz7x_MZ.js → index-CA-94DFW.js} +1 -1
  61. package/dashboard/dist/assets/{index-Cgfb050k.js → index-CElyhNzh.js} +1 -1
  62. package/dashboard/dist/assets/{info-Zae50fSC.js → info-BHsPBczD.js} +1 -1
  63. package/dashboard/dist/assets/{link-2-DW_mHLzI.js → link-2-BHfEWv22.js} +1 -1
  64. package/dashboard/dist/assets/{loader-circle-Bl7dBXh1.js → loader-circle-DTIT1Uk1.js} +1 -1
  65. package/dashboard/dist/assets/{maximize-2-DTP25Fl_.js → maximize-2-BmtIBzLu.js} +1 -1
  66. package/dashboard/dist/assets/{modifiers.esm-CYXpOF3i.js → modifiers.esm-CPBla3OK.js} +1 -1
  67. package/dashboard/dist/assets/{monitor-smartphone--TLNLuLe.js → monitor-smartphone-CbsYB-S2.js} +1 -1
  68. package/dashboard/dist/assets/{plus-DgeFv3Xc.js → plus-CZiNoMsy.js} +1 -1
  69. package/dashboard/dist/assets/{provider-display-crAVn3qa.js → provider-display-CXKRt9q1.js} +2 -2
  70. package/dashboard/dist/assets/{react-QPulAuJP.js → react-CZdcuJ28.js} +1 -1
  71. package/dashboard/dist/assets/{search-DIUmGfar.js → search-q2ARMGca.js} +1 -1
  72. package/dashboard/dist/assets/{skills-api-09qiTRNb.js → skills-api-CIyqyk-w.js} +1 -1
  73. package/dashboard/dist/assets/skins-Mc0sI20C.js +1 -0
  74. package/dashboard/dist/assets/{sortable.esm-BbsbmOc2.js → sortable.esm-BztIEZTk.js} +1 -1
  75. package/dashboard/dist/assets/{store-DdyzwTsy.js → store-DvdXwk-7.js} +1 -1
  76. package/dashboard/dist/assets/{terminal-JpDnkjVA.js → terminal-CFQOW2Ey.js} +1 -1
  77. package/dashboard/dist/assets/{trash-CRsyysiP.js → trash-D0ptaWPk.js} +1 -1
  78. package/dashboard/dist/assets/{use-community-stats-D3PwUyvR.js → use-community-stats-DYibzhAl.js} +1 -1
  79. package/dashboard/dist/assets/{use-latest-request-guard-DTCniVRw.js → use-latest-request-guard-viIhH7H5.js} +1 -1
  80. package/dashboard/dist/assets/{use-limits-display-prefs-BbYcvoh_.js → use-limits-display-prefs-CbXApWU1.js} +1 -1
  81. package/dashboard/dist/assets/{use-ordered-list-ypqFhcs4.js → use-ordered-list-BBP8hr8y.js} +1 -1
  82. package/dashboard/dist/assets/use-pet-settings-CIrPZ9pB.js +2 -0
  83. package/dashboard/dist/assets/use-reduced-motion-Dpq-cKyM.js +1 -0
  84. package/dashboard/dist/assets/{use-session-efficiency-pref-C5BZmpkY.js → use-session-efficiency-pref-2Vb3tJrw.js} +1 -1
  85. package/dashboard/dist/assets/{use-transform-C3bGaC_U.js → use-transform-CECRFELz.js} +1 -1
  86. package/dashboard/dist/assets/use-usage-limits-DEnbjOVG.js +1 -0
  87. package/dashboard/dist/assets/{useCurrency-BianRgdW.js → useCurrency-Dh9pUzDO.js} +1 -1
  88. package/dashboard/dist/assets/useTokenFormat-CoGcVhPP.js +1 -0
  89. package/dashboard/dist/assets/{zap-BJTChg1t.js → zap-BdeAxq64.js} +1 -1
  90. package/dashboard/dist/index.html +2 -2
  91. package/dashboard/dist/ip-check.html +2 -2
  92. package/dashboard/dist/leaderboard.html +2 -2
  93. package/dashboard/dist/share.html +2 -2
  94. package/package.json +3 -2
  95. package/src/commands/sync.js +57 -29
  96. package/src/lib/claude-categorizer.js +4 -7
  97. package/src/lib/claude-user-identity.js +56 -0
  98. package/src/lib/cursor-store.js +636 -57
  99. package/src/lib/grok-limits.js +17 -4
  100. package/src/lib/kimi-profile.js +61 -0
  101. package/src/lib/multi-install-parser.js +3 -1
  102. package/src/lib/pricing/seed-snapshot.json +1 -1
  103. package/src/lib/rollout.js +91 -39
  104. package/src/lib/usage-limits.js +128 -79
  105. package/dashboard/dist/assets/BotAnimated-4hWTFjwp.js +0 -1
  106. package/dashboard/dist/assets/ClawdAnimated-BRoihVSd.js +0 -2
  107. package/dashboard/dist/assets/Controls-BvWTXyfI.js +0 -1
  108. package/dashboard/dist/assets/DashboardPage--1_GuEr-.js +0 -1
  109. package/dashboard/dist/assets/DialogDescription-DE2BF-HX.js +0 -1
  110. package/dashboard/dist/assets/PetPage-D2oqJ05F.js +0 -1
  111. package/dashboard/dist/assets/SettingsPage-DbUDye5r.js +0 -2
  112. package/dashboard/dist/assets/TrendMonitor-BH6Jx8nS.js +0 -19
  113. package/dashboard/dist/assets/__vite-browser-external-Bg0J-a5P.css +0 -1
  114. package/dashboard/dist/assets/__vite-browser-external-VmN0WaC3.js +0 -45
  115. package/dashboard/dist/assets/skins-C8EyB85e.js +0 -1
  116. package/dashboard/dist/assets/use-reduced-motion-Cdn1VrG0.js +0 -1
  117. package/dashboard/dist/assets/use-usage-limits-BRLNaZEv.js +0 -1
  118. package/dashboard/dist/assets/useTokenFormat-DO4vxqhW.js +0 -1
@@ -1 +0,0 @@
1
- import{m as L,Z as ne,aj as de,r as n,ak as ce,al as me,am as pe,V as q,c as r,j as e,e as g,an as xe,a7 as V,X as be}from"./__vite-browser-external-VmN0WaC3.js";import{u as ue,T as F,S as ge}from"./Controls-BvWTXyfI.js";import{P as he}from"./ProviderIcon-BfFkS-OF.js";import{B as Z,C as _,a as fe,b as ye}from"./skins-C8EyB85e.js";import{n as ke,p as ve,C as W}from"./ClawdAnimated-BRoihVSd.js";import{F as $}from"./FadeIn-DPercU5n.js";import{L as je}from"./link-2-DW_mHLzI.js";import{L as X}from"./loader-circle-Bl7dBXh1.js";import{Z as we}from"./zap-BJTChg1t.js";import{T as Ne}from"./trash-CRsyysiP.js";import{D as Ce,a as Se,b as Pe,c as Ie,d as ze,e as De}from"./DialogTitle-CDmxp9ap.js";import{D as Ae}from"./DialogDescription-DE2BF-HX.js";import{D as Te}from"./DialogClose-BlQJpi7n.js";import"./Card-HigkIm_b.js";import"./react-QPulAuJP.js";import"./use-reduced-motion-Cdn1VrG0.js";import"./composite-DJhoahpv.js";import"./store-DdyzwTsy.js";const Y={name:"file-archive",size:24,node:[["path",{d:"M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5",key:"4pqfef"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 12v-1",key:"1ej8lb"}],["path",{d:"M8 18v-2",key:"qcmpov"}],["path",{d:"M8 7V6",key:"1nbb54"}],["circle",{cx:"8",cy:"20",r:"2",key:"ckkr5m"}]]};Y.node;const _e=L(Y);const G={name:"monitor-up",size:24,node:[["path",{d:"m9 10 3-3 3 3",key:"11gsxs"}],["path",{d:"M12 13V7",key:"h0r20n"}],["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}]]};G.node;const Be=L(G);const J={name:"upload",size:24,node:[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]};J.node;const Le=L(J),Ee={visible:!1,character:"clawd",size:"medium",botColor:"auto"};function Oe(){const t=ne()&&de(),[a,o]=n.useState(Ee);n.useEffect(()=>{if(!t)return;const c=ce(l=>{o({visible:!!l.visible,character:ke(l.character),size:["small","medium","large"].includes(l.size)?l.size:"medium",botColor:Z.includes(l.botColor)?l.botColor:"auto"})});return me(),c},[t]);const s=n.useCallback((c,l)=>{o(x=>({...x,[c]:l})),t&&pe(c,l)},[t]);return{available:t,settings:a,setSetting:s}}const v=[{id:"clawd",displayName:"Clawd",nameKey:"pet.character.clawd",spriteVersionNumber:1,custom:!1},{id:"bot",displayName:"Bot",nameKey:"pet.character.bot",spriteVersionNumber:1,custom:!1},{id:"sprout",displayName:"Sprout",nameKey:"pet.character.sprout",spriteVersionNumber:1,custom:!1,assetUrl:"/pets/sprout/spritesheet.webp"},{id:"byte",displayName:"Byte",nameKey:"pet.character.byte",spriteVersionNumber:1,custom:!1,assetUrl:"/pets/byte/spritesheet.webp"},{id:"ember",displayName:"Ember",nameKey:"pet.character.ember",spriteVersionNumber:1,custom:!1,assetUrl:"/pets/ember/spritesheet.webp"}];async function I(t){const a=await t.json().catch(()=>null);if(!t.ok||a?.ok===!1)throw new Error(a?.error||`Pet request failed with HTTP ${t.status}`);return a}async function Me(){const t=await fetch("/functions/tokentracker-pets",{headers:{Accept:"application/json"},cache:"no-store"}),a=await I(t),o=new Set(Array.isArray(a.hiddenBuiltinIds)?a.hiddenBuiltinIds:[]);return[...v.filter(s=>!s.assetUrl||!o.has(s.id)),...Array.isArray(a.pets)?a.pets:[]]}async function E(t){const a=await q();return I(await fetch("/functions/tokentracker-pets",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",...a},cache:"no-store",body:JSON.stringify(t)}))}function Ke(t){return E({action:"install_url",url:t})}async function H(t){const a=await q();return I(await fetch("/api/pets/import",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/zip",...a},cache:"no-store",body:t}))}function Re(t){return E({action:"remove",id:t})}async function Ue(){const t=await fetch("/functions/tokentracker-pets?scope=codex",{headers:{Accept:"application/json"},cache:"no-store"}),a=await I(t);return{importable:Array.isArray(a.importable)?a.importable:[],codexDetected:a.codexDetected===!0}}function Ve(t){return E({action:"import_codex",ids:t})}let B=v;function Fe(){const[t,a]=n.useState(B),[o,s]=n.useState(!0),[c,l]=n.useState(!1),x=n.useCallback(async()=>{s(!0);try{const b=await Me();return B=b,a(b),l(!0),b}catch{return B=v,a(v),l(!1),v}finally{s(!1)}},[]);return n.useEffect(()=>{x()},[x]),{pets:t,loading:o,available:c,refresh:x}}const $e={clawd:"from-oai-amber-50 dark:from-orange-950/70",bot:"from-oai-brand-50 dark:from-teal-950/70",sprout:"from-oai-brand-100 dark:from-emerald-950/70",byte:"from-oai-gray-200 dark:from-slate-800/70",ember:"from-orange-100 dark:from-orange-950/80"};function He(){const t=r("pet.import.subtitle"),a="codex-pets.net",o=t.indexOf(a);return o<0?t:e.jsxs(e.Fragment,{children:[t.slice(0,o),e.jsx("a",{href:"https://codex-pets.net",target:"_blank",rel:"noreferrer",className:"underline decoration-oai-gray-400 underline-offset-2 transition-colors hover:text-oai-black dark:decoration-oai-gray-500 dark:hover:text-white",children:a}),t.slice(o+a.length)]})}const j=[{id:"idle-living",labelKey:"pet.state.calm"},{id:"working-thinking",labelKey:"pet.state.focus"},{id:"working-juggling",labelKey:"pet.state.multitask"},{id:"working-wizard",labelKey:"pet.state.streak"},{id:"happy",labelKey:"pet.state.celebrate"},{id:"sleeping",labelKey:"pet.state.rest"}];function Q({character:t,selected:a,onSelect:o,onRemove:s,removeDisabled:c}){const l=t.nameKey?r(t.nameKey):t.displayName;return e.jsxs("div",{className:"group relative",children:[e.jsxs("button",{type:"button",onClick:o,"aria-pressed":a,className:g("relative w-full overflow-hidden rounded-xl border p-2.5 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",a?"border-oai-brand-500/40 bg-white dark:border-oai-brand-500/25 dark:bg-oai-gray-900/80":"border-oai-gray-200/80 bg-white/55 hover:border-oai-gray-400 dark:border-oai-gray-800 dark:bg-oai-gray-950/55 dark:hover:border-oai-gray-600"),children:[e.jsx("div",{className:g("absolute inset-0 bg-gradient-to-br to-transparent opacity-80 dark:opacity-55",$e[t.id]||"from-oai-gray-200/80 dark:from-oai-gray-800/70")}),e.jsxs("div",{className:"relative flex items-center gap-2.5",children:[e.jsx("div",{className:"flex h-12 w-12 shrink-0 items-center justify-center",children:e.jsx(W,{state:"idle-living",character:t.id,pet:t,size:44})}),e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("span",{className:"truncate text-sm font-semibold text-oai-black dark:text-white",children:l}),t.spriteVersionNumber===2?e.jsx("span",{className:"shrink-0 rounded border border-oai-gray-300/80 px-1 text-[9px] font-semibold text-oai-gray-500 dark:border-oai-gray-600 dark:text-oai-gray-400",children:r("pet.format.v2")}):null,a?e.jsx("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-oai-brand-500","aria-hidden":!0}):null]})]})]}),s?e.jsx("button",{type:"button",disabled:c,onClick:s,"aria-label":`${r("pet.import.remove")} · ${l}`,className:g("absolute right-1.5 top-1.5 flex h-6 w-6 items-center justify-center rounded-md border border-oai-gray-200/90 bg-white/95 text-oai-gray-500 transition-opacity hover:text-red-600 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500 disabled:opacity-40 dark:border-oai-gray-700 dark:bg-oai-gray-900/95 dark:text-oai-gray-400 dark:hover:text-red-400","opacity-0 group-hover:opacity-100"),children:e.jsx(Ne,{className:"h-3 w-3","aria-hidden":!0})}):null]})}function qe({value:t,onChange:a}){const o={auto:r("pet.bot.color.auto"),bleu:r("pet.bot.color.bleu"),turquoise:r("pet.bot.color.turquoise"),vert:r("pet.bot.color.vert"),ambre:r("pet.bot.color.ambre"),rose:r("pet.bot.color.rose"),violet:r("pet.bot.color.violet")};return e.jsx("div",{className:"flex flex-wrap items-center justify-end gap-1.5 rounded-full border border-black/5 bg-white/65 px-2.5 py-1.5 backdrop-blur-md dark:border-white/10 dark:bg-black/20",role:"radiogroup","aria-label":r("pet.bot.color"),children:Z.map(s=>{const c=(t||"auto")===s;return e.jsx("button",{type:"button",role:"radio","aria-checked":c,"aria-label":o[s],title:o[s],onClick:()=>a(s),className:g("h-4 w-4 rounded-full border transition-transform duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",c?"scale-125 border-oai-black shadow-sm dark:border-white":"border-black/15 hover:scale-110 dark:border-white/25"),style:s==="auto"?{background:`linear-gradient(135deg, ${_.get(fe).hex} 0 50%, ${_.get(ye).hex} 50% 100%)`}:{background:_.get(s)?.hex}},s)})})}function Ze({pet:t,state:a,onStateChange:o,botColor:s,onBotColorChange:c}){const[l,x]=n.useState(null),b=n.useRef(null),h=j.find(function(d){return d.id===a}),m=r(h?.labelKey||"pet.state.calm");return e.jsxs("section",{className:"relative flex min-h-[400px] flex-col overflow-hidden bg-oai-gray-50 dark:bg-oai-gray-950 sm:min-h-[440px] lg:min-h-[480px]",onPointerMove:p=>{if(t?.spriteVersionNumber!==2||!b.current)return;const d=b.current.getBoundingClientRect(),w=p.clientX-(d.left+d.width/2),N=p.clientY-(d.top+d.height/2),y=(Math.atan2(w,-N)*180/Math.PI+360)%360;x(Math.round(y/22.5)%16)},onPointerLeave:()=>x(null),children:[e.jsx("div",{className:"absolute inset-0 opacity-[0.16] dark:opacity-[0.12]",style:{backgroundImage:"radial-gradient(currentColor 0.7px, transparent 0.7px)",backgroundSize:"14px 14px"},"aria-hidden":!0}),e.jsxs("div",{className:"relative flex items-center justify-between gap-3 px-5 pt-5",children:[e.jsx("span",{className:"text-xs font-semibold uppercase tracking-[0.14em] text-oai-gray-500 dark:text-oai-gray-400",children:r("pet.preview.states")}),e.jsxs("div",{className:"flex items-center gap-2",children:[ve(t?.id)==="vector"?e.jsx(qe,{value:s,onChange:c}):null,e.jsxs("div",{className:"flex items-center gap-2 rounded-full border border-black/5 bg-white/65 px-3 py-1.5 text-[11px] font-medium text-oai-gray-600 backdrop-blur-md dark:border-white/10 dark:bg-black/20 dark:text-oai-gray-300",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500","aria-hidden":!0}),m]})]})]}),e.jsx("div",{className:"relative flex flex-1 items-center justify-center px-6 py-5",children:e.jsx("div",{ref:b,className:"relative flex h-52 w-52 items-center justify-center sm:h-56 sm:w-56 lg:h-64 lg:w-64",children:e.jsx("div",{className:"origin-bottom lg:scale-[1.18]",children:e.jsx(W,{state:a,character:t?.id||"clawd",pet:t,size:190,lookDirectionIndex:l,botColor:s})})})}),e.jsx("div",{className:"relative border-t border-oai-gray-200/70 bg-white/85 px-3 py-2 dark:border-oai-gray-800 dark:bg-oai-gray-950/85",children:e.jsx("div",{className:"grid grid-cols-3 gap-1","aria-label":r("pet.preview.states"),children:j.map(p=>e.jsxs("button",{type:"button",onClick:()=>o(p.id),"aria-pressed":a===p.id,className:g("flex min-h-10 flex-col items-center justify-center gap-1 rounded-lg px-1.5 text-xs transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-oai-brand-500",a===p.id?"font-semibold text-oai-black dark:text-white":"font-medium text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-white"),children:[e.jsx("span",{children:r(p.labelKey)}),e.jsx("span",{className:g("h-1 w-1 rounded-full transition-colors duration-200",a===p.id?"bg-oai-black dark:bg-white":"bg-transparent"),"aria-hidden":!0})]},p.id))})})]})}function We({pets:t,busy:a,error:o,onImport:s,onClose:c}){const[l,x]=n.useState(()=>new Set),b=m=>x(p=>{const d=new Set(p);return d.has(m)?d.delete(m):d.add(m),d}),h=t.length!==0&&l.size===t.length;return e.jsx(Ce,{open:!0,onOpenChange:m=>{!m&&!a&&c()},children:e.jsxs(Se,{children:[e.jsx(Pe,{className:"fixed inset-0 z-50 bg-black/15 backdrop-blur-md dark:bg-black/40 animate-tt-fade-in"}),e.jsx(Ie,{className:"fixed inset-0 z-50 flex items-center justify-center p-3 md:p-6",children:e.jsxs(ze,{className:"relative flex max-h-[86vh] w-full max-w-2xl flex-col overflow-hidden rounded-2xl border border-oai-gray-200/50 bg-white/95 shadow-2xl backdrop-blur-2xl dark:border-white/10 dark:bg-oai-gray-900/95 animate-tt-modal",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3 border-b border-oai-gray-200/70 px-5 py-4 dark:border-oai-gray-800",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(De,{className:"text-base font-semibold",children:r("pet.codex.title")}),e.jsx(Ae,{className:"mt-0.5 text-xs leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:r("pet.codex.subtitle")})]}),e.jsx(Te,{type:"button",disabled:a,"aria-label":r("pet.codex.close"),className:"shrink-0 rounded-full border border-oai-gray-200/60 p-1.5 text-oai-gray-500 transition-colors hover:text-oai-black disabled:opacity-40 dark:border-oai-gray-800/60 dark:text-oai-gray-400 dark:hover:text-white",children:e.jsx(be,{size:16})})]}),e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 py-4",children:[t.length===0?e.jsx("p",{className:"py-8 text-center text-sm text-oai-gray-400 dark:text-oai-gray-500",children:r("pet.codex.empty")}):e.jsx("div",{className:"grid grid-cols-2 gap-2.5 sm:grid-cols-3",children:t.map(m=>e.jsx(Q,{character:m,selected:l.has(m.id),onSelect:()=>b(m.id)},m.id))}),o?e.jsx("p",{role:"alert",className:"mt-3 text-xs text-red-600 dark:text-red-400",children:o}):null]}),e.jsxs("div",{className:"flex items-center justify-between gap-3 border-t border-oai-gray-200/70 px-5 py-3 dark:border-oai-gray-800",children:[e.jsx("button",{type:"button",disabled:a||t.length===0,onClick:()=>x(h?new Set:new Set(t.map(m=>m.id))),className:"text-xs font-medium text-oai-gray-500 underline-offset-2 hover:underline disabled:opacity-40 dark:text-oai-gray-400",children:r("pet.codex.select_all")}),e.jsxs("button",{type:"button",disabled:a||l.size===0,onClick:()=>s([...l]),className:"flex h-9 items-center gap-1.5 rounded-lg bg-oai-black px-4 text-xs font-semibold text-white transition-colors disabled:bg-oai-gray-200 disabled:text-oai-gray-400 dark:bg-white dark:text-black dark:disabled:bg-oai-gray-800 dark:disabled:text-oai-gray-500",children:[a?e.jsx(X,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):null,l.size>0?`${r("pet.codex.import")} · ${l.size}`:r("pet.codex.import")]})]})]})})]})})}function xt(){const{available:t,settings:a,setSetting:o}=Oe(),{pets:s,loading:c,available:l,refresh:x}=Fe(),[b,h]=n.useState(""),[m,p]=n.useState(""),[d,w]=n.useState(!1),[N,y]=n.useState([]),[ee,z]=n.useState(!1),[C,O]=n.useState(!1),[te,D]=n.useState(""),[ae,M]=n.useState("idle-living"),[K,re]=n.useState(!0),k=a.character||"clawd",A=ue(),R=A.settings?.menuBarIconStyle==="pet",ie=s.find(i=>i.id===k)||s[0],S=d?{kind:"busy",text:r("pet.import.busy")}:m?{kind:"error",text:m}:null,U=N.length!==0;n.useEffect(()=>{!c&&s.length>0&&!s.some(i=>i.id===k)&&o("character","clawd")},[c,s,k,o]);async function P(i,u=r("pet.import.success")){w(!0),p("");try{const f=await i();await x(),xe(),f?.pet?.id&&o("character",f.pet.id),V({title:u,timeout:4e3}),h("")}catch(f){p(f?.message||r("pet.import.failed"))}finally{w(!1)}}const T=n.useCallback(async()=>{if(!l){y([]);return}try{const i=await Ue();y(i.importable)}catch{y([])}},[l]);n.useEffect(()=>{T()},[T]);async function se(i){O(!0),D("");try{return await Ve(i),await x(),await T(),V({title:r("pet.codex.imported"),timeout:4e3}),!0}catch(u){return D(u?.message||r("pet.import.failed")),!1}finally{O(!1)}}n.useEffect(()=>{if(!K)return;const i=window.setInterval(()=>{M(u=>{const f=j.findIndex(le=>le.id===u);return j[(f+1)%j.length].id})},5e3);return()=>window.clearInterval(i)},[K]);const oe=[{value:"small",label:r("pet.size.small")},{value:"medium",label:r("pet.size.medium")},{value:"large",label:r("pet.size.large")}];return e.jsx("div",{className:"flex flex-1 flex-col font-oai text-oai-black antialiased dark:text-oai-white",children:e.jsx("main",{className:"flex-1 pb-14 pt-8 sm:pt-10",children:e.jsxs("div",{className:"mx-auto max-w-5xl px-4 sm:px-6",children:[e.jsx($,{y:12,children:e.jsxs("header",{className:"mb-8",children:[e.jsx("h1",{className:"text-3xl font-semibold tracking-tight sm:text-4xl",children:r("pet.page.title")}),e.jsx("p",{className:"mt-2 max-w-2xl text-sm leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:r("pet.page.subtitle")})]})}),e.jsx($,{y:12,delay:.04,children:e.jsxs("div",{className:"overflow-hidden rounded-[28px] border border-oai-gray-200 bg-white/75 dark:border-oai-gray-800 dark:bg-oai-gray-900/60 lg:grid lg:grid-cols-[1.12fr_0.88fr]",children:[e.jsx(Ze,{pet:ie,state:ae,onStateChange:i=>{re(!1),M(i)},botColor:a.botColor,onBotColorChange:i=>o("botColor",i)}),e.jsxs("aside",{className:"flex flex-col border-t border-oai-gray-200 p-5 dark:border-oai-gray-800 lg:min-h-[480px] lg:border-l lg:border-t-0",children:[e.jsxs("section",{"aria-labelledby":"pet-character-title",children:[e.jsxs("div",{children:[e.jsx("h2",{id:"pet-character-title",className:"text-sm font-semibold",children:r("pet.characters.title")}),e.jsx("p",{className:"mt-1 text-xs leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:r("pet.characters.subtitle")})]}),e.jsx("div",{className:"mt-4 grid max-h-72 grid-cols-2 gap-2 overflow-y-auto pr-1 -mr-1",children:s.map(i=>e.jsx(Q,{character:i,selected:k===i.id,onSelect:()=>o("character",i.id),removeDisabled:d,onRemove:l&&i.id!=="clawd"&&i.id!=="bot"?()=>P(async()=>(await Re(i.id),k===i.id&&o("character","clawd"),null),r("pet.import.removed")):void 0},i.id))}),A.available?e.jsxs("div",{className:"mt-4 flex items-center justify-between gap-3 rounded-xl border border-oai-gray-200/70 bg-oai-gray-50/60 px-3 py-2.5 dark:border-oai-gray-800 dark:bg-oai-gray-900/40",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-xs font-semibold",children:r("pet.menubar.title")}),e.jsx("p",{className:"mt-0.5 text-[11px] leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:r("pet.menubar.hint")})]}),e.jsx(F,{checked:R,onChange:()=>A.setSetting("menuBarIconStyle",R?"clawd":"pet"),ariaLabel:r("pet.menubar.title")})]}):null]}),l?e.jsxs("section",{className:"mt-6 border-t border-oai-gray-200/70 pt-5 dark:border-oai-gray-800","aria-labelledby":"pet-import-title",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Le,{className:"h-4 w-4 shrink-0 text-oai-gray-500","aria-hidden":!0}),e.jsx("h2",{id:"pet-import-title",className:"text-sm font-semibold",children:r("pet.import.title")})]}),e.jsx("p",{className:"mt-1 text-xs leading-relaxed text-oai-gray-500 dark:text-oai-gray-400",children:e.jsx(He,{})}),e.jsxs("form",{className:"mt-3 flex gap-2",onSubmit:i=>{i.preventDefault(),!d&&b.trim()&&P(()=>Ke(b))},children:[e.jsxs("label",{className:"relative flex min-w-0 flex-1 items-center",children:[e.jsx(je,{className:"pointer-events-none absolute left-3 h-3.5 w-3.5 text-oai-gray-400","aria-hidden":!0}),e.jsx("input",{value:b,onChange:i=>h(i.target.value),"aria-label":r("pet.import.url_label"),placeholder:"codex-pets.net/#/pets/…",className:"h-9 w-full rounded-lg border border-oai-gray-200 bg-white pl-9 pr-3 text-xs outline-none focus:border-oai-brand-500 dark:border-oai-gray-700 dark:bg-oai-gray-950"})]}),e.jsxs("button",{type:"submit",disabled:d||!b.trim(),className:"flex h-9 shrink-0 items-center gap-1.5 rounded-lg bg-oai-black px-3.5 text-xs font-semibold text-white transition-colors disabled:bg-oai-gray-200 disabled:text-oai-gray-400 dark:bg-white dark:text-black dark:disabled:bg-oai-gray-800 dark:disabled:text-oai-gray-500",children:[d?e.jsx(X,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):null,r("pet.import.add")]})]}),e.jsxs("div",{className:g("mt-2 grid gap-2",U?"grid-cols-2":"grid-cols-1"),children:[U?e.jsxs("button",{type:"button",disabled:d||C,onClick:()=>{D(""),z(!0)},className:g("flex h-9 cursor-pointer items-center justify-center gap-1.5 rounded-lg border border-dashed border-oai-gray-300 text-xs font-medium text-oai-gray-500 transition-colors hover:border-oai-gray-500 hover:text-oai-black dark:border-oai-gray-600 dark:text-oai-gray-400 dark:hover:border-oai-gray-400 dark:hover:text-white",(d||C)&&"pointer-events-none opacity-40"),children:[e.jsx(he,{provider:"codex",size:14,className:"fill-current"}),r("pet.codex.browse")]}):null,e.jsxs("label",{onDragOver:i=>i.preventDefault(),onDrop:i=>{if(i.preventDefault(),d)return;const u=i.dataTransfer?.files?.[0];u&&P(()=>H(u))},className:g("flex h-9 cursor-pointer items-center justify-center gap-1.5 rounded-lg border border-dashed border-oai-gray-300 text-xs font-medium text-oai-gray-500 transition-colors hover:border-oai-gray-500 hover:text-oai-black dark:border-oai-gray-600 dark:text-oai-gray-400 dark:hover:border-oai-gray-400 dark:hover:text-white",d&&"pointer-events-none opacity-40"),children:[e.jsx(_e,{className:"h-3.5 w-3.5","aria-hidden":!0}),r("pet.import.zip"),e.jsx("input",{type:"file",accept:".zip,.codex-pet.zip,application/zip",className:"sr-only",disabled:d,onChange:i=>{const u=i.target.files?.[0];u&&P(()=>H(u)),i.target.value=""}})]})]}),S?e.jsx("p",{role:S.kind==="error"?"alert":"status",className:g("mt-2 text-xs",S.kind==="error"?"text-red-600 dark:text-red-400":"text-oai-gray-500 dark:text-oai-gray-400"),children:S.text}):null,ee?e.jsx(We,{pets:N,busy:C,error:te,onClose:()=>{C||z(!1)},onImport:async i=>{await se(i)&&z(!1)}}):null]}):null,e.jsxs("section",{className:"mt-6 border-t border-oai-gray-200/70 pt-5 dark:border-oai-gray-800",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Be,{className:"h-4 w-4 text-oai-gray-500 dark:text-oai-gray-400",strokeWidth:1.75,"aria-hidden":!0}),e.jsx("h2",{className:"text-sm font-semibold",children:r("pet.controls.title")})]}),e.jsxs("div",{className:"mt-4 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("div",{className:"text-sm font-medium",children:r("pet.controls.show")}),e.jsx(F,{checked:a.visible,onChange:()=>o("visible",!a.visible),disabled:!t,ariaLabel:r("pet.controls.show")})]}),e.jsxs("div",{className:"flex items-center justify-between gap-4",children:[e.jsx("div",{className:"text-sm font-medium",children:r("pet.controls.size")}),e.jsx("div",{className:"shrink-0",children:e.jsx(ge,{options:oe,value:a.size,onChange:i=>o("size",i),disabled:!t})})]})]})]}),t?null:e.jsxs("div",{className:"mt-6 flex gap-2 rounded-xl bg-oai-gray-100 p-3 text-xs leading-relaxed text-oai-gray-500 dark:bg-oai-gray-800/70 dark:text-oai-gray-400",children:[e.jsx(we,{className:"mt-0.5 h-3.5 w-3.5 shrink-0","aria-hidden":!0}),r("pet.controls.native_only")]})]})]})})]})})})}export{xt as PetPage};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/__vite-browser-external-VmN0WaC3.js","assets/__vite-browser-external-Bg0J-a5P.css"])))=>i.map(i=>d[i]);
2
- import{m as T,j as t,e as _,c as n,a as xe,r as u,ar as ye,ax as ve,ay as ke,aa as X,aW as je,aX as Se,aY as we,u as Ne,d as H,a1 as Ce,I as Q,n as U,aZ as V,a_ as Ee,a$ as Pe,Y as ee,b0 as Ae,q as Oe,b1 as Le,b2 as _e,b3 as Te,b4 as Ie,b5 as Ge,b6 as Re,b7 as De,b8 as te,L as Ue,R as Me,b9 as He,ba as Fe,a7 as B,_ as $e,h as Ve,f as Be,bb as ze,bc as Ke,aA as qe}from"./__vite-browser-external-VmN0WaC3.js";import{a as We,b as z,s as Ye,K as Ze,P as Je,D as Xe,c as Qe,S as et,v as tt,u as nt,C as at}from"./sortable.esm-BbsbmOc2.js";import{a as st}from"./modifiers.esm-CYXpOF3i.js";import{d as K,l as q,u as it,b as W}from"./use-limits-display-prefs-BbYcvoh_.js";import{P as ot}from"./ProviderIcon-BfFkS-OF.js";import{m as ne}from"./react-QPulAuJP.js";import{a as O,T as k,b,S as G,u as R}from"./Controls-BvWTXyfI.js";import{P as rt,u as lt,a as ct}from"./use-session-efficiency-pref-C5BZmpkY.js";import{C as dt}from"./check-Gz5mnj6f.js";import{C as ut}from"./copy-C5RiL5JQ.js";import{A as ae}from"./index-Czz7x_MZ.js";import{u as gt}from"./useCurrency-BianRgdW.js";import{u as pt}from"./useTokenFormat-DO4vxqhW.js";import{S as F}from"./Select-DmFQdVA1.js";import{I as ht}from"./info-Zae50fSC.js";import{C as mt}from"./ConfirmModal-DTo93RpG.js";import{A as bt}from"./arrow-up-right-C3WUmTcI.js";import{D as ft}from"./download-CccMGCc1.js";import{i as xt}from"./host-mode-Bc_iTzHk.js";import"./Card-HigkIm_b.js";import"./ToolbarRootContext-CY_SULMC.js";import"./composite-DJhoahpv.js";import"./SelectItemText-B5MXGLN-.js";import"./DialogTitle-CDmxp9ap.js";import"./store-DdyzwTsy.js";import"./DialogDescription-DE2BF-HX.js";const se={name:"flask-conical",size:24,node:[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]};se.node;const yt=T(se);const ie={name:"grip-vertical",size:24,node:[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]};ie.node;const vt=T(ie);const oe={name:"languages",size:24,node:[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]};oe.node;const kt=T(oe);const re={name:"log-out",size:24,node:[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]};re.node;const jt=T(re);const le={name:"palette",size:24,node:[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]};le.node;const St=T(le);const ce={name:"user-round",size:24,node:[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]],aliases:["user-2"]};ce.node;const wt=T(ce),Nt="shrink-0 text-oai-gray-900 dark:text-oai-gray-200";function Ct({checked:e,onChange:a,ariaLabel:s}){return t.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":s,onClick:a,className:_("relative inline-flex h-5 w-9 shrink-0 items-center rounded-full transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",e?"bg-oai-brand-500":"bg-oai-gray-300 dark:bg-oai-gray-700"),children:t.jsx("span",{className:_("inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform",e?"translate-x-[18px]":"translate-x-[3px]")})})}function Et({id:e,visible:a,onToggle:s}){const{attributes:i,listeners:o,setNodeRef:r,transform:l,transition:c,isDragging:d}=nt({id:e}),h={transform:at.Transform.toString(l)||void 0,transition:c,zIndex:d?20:void 0};return t.jsxs("div",{ref:r,style:h,className:_("flex items-center gap-3 py-2 rounded-md select-none touch-none","cursor-grab active:cursor-grabbing","hover:bg-oai-gray-100/60 dark:hover:bg-oai-gray-800/60","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",d&&"relative bg-oai-gray-100 dark:bg-oai-gray-800"),...i,...o,children:[t.jsx(vt,{className:"h-4 w-4 shrink-0 text-oai-gray-400 dark:text-oai-gray-500",strokeWidth:1.75,"aria-hidden":!0}),K(e)?t.jsx(ot,{provider:K(e),size:18,className:_("pointer-events-none",Nt)}):null,t.jsx("span",{className:"flex-1 text-sm text-oai-gray-900 dark:text-oai-gray-200",children:q(e)}),t.jsx("div",{onPointerDown:p=>p.stopPropagation(),children:t.jsx(Ct,{checked:a,onChange:s,ariaLabel:`${n("limits.settings.toggle_visible")}: ${q(e)}`})})]})}function Pt({prefs:e}){const{order:a,visibility:s,toggle:i,moveToward:o}=e,r=We(z(Je,{activationConstraint:{distance:6}}),z(Ze,{coordinateGetter:Ye})),l=({active:c,over:d})=>{d&&c.id!==d.id&&o(c.id,d.id)};return t.jsx(Xe,{sensors:r,collisionDetection:Qe,modifiers:[st],onDragEnd:l,children:t.jsx(et,{items:a,strategy:tt,children:t.jsx("div",{className:"flex flex-col",children:a.map(c=>t.jsx(Et,{id:c,visible:s[c]!==!1,onToggle:()=>i(c)},c))})})})}function At(e){if(!e||typeof e!="object")return"";const a=e.user_metadata&&typeof e.user_metadata=="object"?e.user_metadata:{},s=e.profile&&typeof e.profile=="object"?e.profile:{},i=a.full_name||a.name||s.name||a.user_name||a.preferred_username;return typeof i=="string"&&i.trim()?i.trim():typeof e.email=="string"&&e.email.includes("@")?e.email.split("@")[0].trim()||e.email.trim():typeof e.email=="string"?e.email.trim():""}function Ot(e){return!e||typeof e!="object"?"":typeof e.email=="string"?e.email.trim():""}function Lt(e){const a=typeof e=="string"?e.trim():"";if(!a)return null;const s=a.match(/^@?([A-Za-z0-9][A-Za-z0-9-]{0,38})$/),i=a.match(/^https:\/\/github\.com\/([A-Za-z0-9][A-Za-z0-9-]{0,38})\/?$/i),o=s?.[1]||i?.[1];return o?`https://github.com/${o}`:null}function $(e,a){console.warn(`[tokentracker] settings ${e}:`,a)}function _t(e,a,s){const[i,o]=u.useState(()=>ye()),r=a&&s&&we(),l=u.useCallback(async()=>{const c=!i;if(ve(c),o(c),!!c)try{await ke(()=>e())}catch(d){$("cloud sync",d)}},[i,e]);return{cloudSyncOn:i,handleCloudSyncToggle:l,showLocalCloudSync:r}}function Tt(e){const[a,s]=u.useState(!1),[i,o]=u.useState(!1),[r,l]=u.useState(!1),[c,d]=u.useState(!1),[h,p]=u.useState(null),[g,m]=u.useState(!1),[v,j]=u.useState(""),[A,y]=u.useState(!1),[w,N]=u.useState(""),[f,S]=u.useState(""),[L,x]=u.useState(!1),[E,D]=u.useState(null),I=u.useMemo(()=>At(e),[e]),me=u.useMemo(()=>Ot(e),[e]),be=u.useMemo(()=>typeof e?.id=="string"?e.id.trim():"",[e]),fe=u.useMemo(()=>({setAnonymousOn:o,setCustomDisplayName:p,setGithubUrl:N,setProfileLoading:l,setPublicProfileOn:s,setShowGithubOn:y}),[]);return{anonymousOn:i,customDisplayName:h,displayName:I,editingGithub:L,editingName:g,email:me,githubError:E,githubInput:f,githubUrl:w,loadSetters:fe,nameInput:v,profileLoading:r,profileSaving:c,publicProfileOn:a,setAnonymousOn:o,setCustomDisplayName:p,setEditingGithub:x,setEditingName:m,setGithubError:D,setGithubInput:S,setGithubUrl:N,setNameInput:j,setProfileLoading:l,setProfileSaving:d,setPublicProfileOn:s,setShowGithubOn:y,showGithubOn:A,userId:be}}function It(e,a,s){u.useEffect(()=>{if(!a)return;let i=!0;return s.setProfileLoading(!0),(async()=>{try{const o=await X({getAccessToken:e});if(!i||!o)return;const r=await je({accessToken:o});if(!i)return;s.setPublicProfileOn(!!r?.enabled),s.setAnonymousOn(!!r?.anonymous),r?.display_name&&s.setCustomDisplayName(r.display_name),s.setShowGithubOn(!!r?.show_github_url),s.setGithubUrl(r?.github_url||"")}catch(o){$("load public profile",o)}finally{i&&s.setProfileLoading(!1)}})(),()=>{i=!1}},[e,a,s])}function Gt(e,a){return u.useCallback(async(s,{label:i,onError:o,onSuccess:r}={})=>{if(a.profileSaving)return!1;a.setProfileSaving(!0);try{const l=await X({getAccessToken:e});if(!l)return!1;const c=await Se({accessToken:l,...s});return r?.(c),!0}catch(l){return o?o(l):$(i||"mutate profile",l),!1}finally{a.setProfileSaving(!1)}},[e,a])}function Rt(e,a){return{anonymousOn:e.anonymousOn,customDisplayName:e.customDisplayName,displayName:e.displayName,editingName:e.editingName,handleAnonymousToggle:a.handleAnonymousToggle,handleSaveName:a.handleSaveName,nameInput:e.nameInput,profileLoading:e.profileLoading,profileSaving:e.profileSaving,setEditingName:e.setEditingName,setNameInput:e.setNameInput,startEditingName:a.startEditingName}}function Dt(e,a){return{editingGithub:e.editingGithub,githubError:e.githubError,githubInput:e.githubInput,githubUrl:e.githubUrl,handleSaveGithub:a.handleSaveGithub,handleShowGithubToggle:a.handleShowGithubToggle,profileLoading:e.profileLoading,profileSaving:e.profileSaving,setEditingGithub:e.setEditingGithub,setGithubError:e.setGithubError,setGithubInput:e.setGithubInput,showGithubOn:e.showGithubOn,startEditingGithub:a.startEditingGithub}}function Ut(e,a){const s=u.useCallback(async()=>{const o=!e.publicProfileOn;await a({enabled:o},{label:"toggle public profile",onSuccess:()=>e.setPublicProfileOn(o)})},[a,e]);return{handleAnonymousToggle:u.useCallback(async()=>{const o=!e.anonymousOn;await a({anonymous:o},{label:"toggle anonymous",onSuccess:()=>e.setAnonymousOn(o)})},[a,e]),handlePublicProfileToggle:s}}function Mt(e,a,s){const i=u.useCallback(async()=>{const r=e.nameInput.trim().slice(0,50);r&&await a({display_name:r},{label:"save display name",onSuccess:()=>{e.setCustomDisplayName(r),e.setEditingName(!1),s?.()}})},[a,e,s]),o=u.useCallback(()=>{e.setNameInput(e.customDisplayName||e.displayName),e.setEditingName(!0)},[e]);return{handleSaveName:i,startEditingName:o}}function Ht(e,a){const s=u.useCallback(async()=>{if(!e.showGithubOn&&!e.githubUrl){e.setEditingGithub(!0),e.setGithubInput(""),e.setGithubError(null);return}const r=!e.showGithubOn;await a({show_github_url:r},{label:"toggle GitHub profile",onSuccess:()=>e.setShowGithubOn(r)})},[a,e]),i=u.useCallback(async()=>{const r=Lt(e.githubInput);if(e.githubInput.trim()&&!r){e.setGithubError(n("settings.account.githubUrlInvalid"));return}e.setGithubError(null),await a({github_url:r,show_github_url:!!r},{label:"save GitHub profile",onError:l=>e.setGithubError(l?.message||n("settings.account.githubUrlInvalid")),onSuccess:l=>{e.setGithubUrl(l?.github_url||r||""),e.setShowGithubOn(!!r),e.setEditingGithub(!1)}})},[a,e]),o=u.useCallback(()=>{e.setGithubInput(e.githubUrl),e.setGithubError(null),e.setEditingGithub(!0)},[e]);return{handleSaveGithub:i,handleShowGithubToggle:s,startEditingGithub:o}}function Ft(){const e=xe(),a=Tt(e.user),s=_t(e.getAccessToken,e.enabled,e.signedIn);It(e.getAccessToken,e.signedIn,a.loadSetters);const i=Gt(e.getAccessToken,a),o=Ut(a,i),r=Mt(a,i,e.refreshDisplayName),l=Ht(a,i);return{...e,...s,email:a.email,handlePublicProfileToggle:o.handlePublicProfileToggle,userId:a.userId,name:Rt(a,{...o,...r}),github:Dt(a,l),profileLoading:a.profileLoading,profileSaving:a.profileSaving,publicProfileOn:a.publicProfileOn}}function de({disabled:e,onCancel:a,onSave:s,saveLabel:i=n("settings.account.save")}){return t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onClick:s,disabled:e,className:"rounded-md bg-oai-brand-500 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-oai-brand-600 disabled:opacity-50",children:i}),t.jsx("button",{type:"button",onClick:a,className:"rounded-md px-2 py-1.5 text-xs text-oai-gray-500 transition-colors hover:text-oai-gray-700 dark:hover:text-oai-gray-300",children:n("settings.account.cancel")})]})}function $t({nameInput:e,setEditingName:a,setNameInput:s,profileSaving:i,handleSaveName:o}){return t.jsxs("div",{className:"mt-2 flex items-center gap-2",children:[t.jsx("input",{type:"text",value:e,onChange:r=>s(r.target.value),onKeyDown:r=>{r.key==="Enter"&&o(),r.key==="Escape"&&a(!1)},maxLength:50,autoFocus:!0,className:"flex-1 rounded-md border border-oai-gray-300 bg-transparent px-2.5 py-1.5 text-sm text-oai-black outline-none focus:border-oai-brand-500 focus:ring-1 focus:ring-inset focus:ring-oai-brand-500 dark:border-oai-gray-700 dark:text-white",placeholder:n("settings.account.displayName")}),t.jsx(de,{disabled:i||!e.trim(),onCancel:()=>a(!1),onSave:o,saveLabel:i?n("settings.account.saving"):void 0})]})}function Vt({githubError:e,githubInput:a,handleSaveGithub:s,profileSaving:i,setEditingGithub:o,setGithubError:r,setGithubInput:l}){return t.jsxs("div",{className:"mt-2",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("input",{type:"text",value:a,onChange:c=>{l(c.target.value),e&&r(null)},onKeyDown:c=>{c.key==="Enter"&&s(),c.key==="Escape"&&(o(!1),r(null))},maxLength:100,autoFocus:!0,className:"flex-1 rounded-md border border-oai-gray-300 bg-transparent px-2.5 py-1.5 text-sm text-oai-black outline-none focus:border-oai-brand-500 focus:ring-1 focus:ring-inset focus:ring-oai-brand-500 dark:border-oai-gray-700 dark:text-white",placeholder:n("settings.account.githubUrlPlaceholder")}),t.jsx(de,{disabled:i,onCancel:()=>{o(!1),r(null)},onSave:s,saveLabel:i?n("settings.account.saving"):void 0})]}),e?t.jsx("div",{className:"mt-1.5 text-xs text-red-600 dark:text-red-400",children:e}):null]})}function ue({disabled:e=!1,label:a,onClick:s,title:i}){return t.jsxs("button",{type:"button",onClick:s,disabled:e,title:i,className:"inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md border border-oai-gray-200 px-3 text-xs font-medium text-oai-gray-700 transition-colors hover:bg-oai-gray-100 disabled:cursor-not-allowed disabled:opacity-40 dark:border-oai-gray-800 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800",children:[t.jsx(rt,{className:"h-3.5 w-3.5","aria-hidden":!0}),a]})}function ge({actions:e,editing:a,editor:s,hint:i,label:o}){return t.jsx("div",{className:"py-3",children:t.jsxs("div",{className:"flex items-start justify-between gap-4",children:[t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("div",{className:"text-sm text-oai-gray-900 dark:text-oai-gray-200",children:o}),a?s:t.jsx("div",{className:"mt-0.5 truncate text-xs text-oai-gray-500 dark:text-oai-gray-400",children:i})]}),a?null:e]})})}function Bt({name:e}){const a=e.anonymousOn?n("settings.account.displayNameDisabledWhileAnon"):void 0;return t.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[t.jsx(ue,{disabled:e.anonymousOn,label:n("settings.account.edit"),onClick:e.startEditingName,title:a}),t.jsx(k,{checked:!e.anonymousOn,onChange:e.handleAnonymousToggle,disabled:e.profileLoading||e.profileSaving,ariaLabel:n("settings.account.displayName")})]})}function zt({name:e}){const{anonymousOn:a,customDisplayName:s,displayName:i,editingName:o,handleAnonymousToggle:r,handleSaveName:l,nameInput:c,profileLoading:d,profileSaving:h,setEditingName:p,setNameInput:g,startEditingName:m}=e,v=a?n("settings.account.displayNameAnonymousHint"):s||i;return t.jsx(ge,{label:n("settings.account.displayName"),editing:o,hint:v,editor:t.jsx($t,{nameInput:c,setEditingName:p,setNameInput:g,profileSaving:h,handleSaveName:l}),actions:t.jsx(Bt,{name:e})})}function Kt({github:e}){const{editingGithub:a,githubError:s,githubInput:i,githubUrl:o,handleSaveGithub:r,handleShowGithubToggle:l,profileLoading:c,profileSaving:d,setEditingGithub:h,setGithubError:p,setGithubInput:g,showGithubOn:m,startEditingGithub:v}=e;return t.jsx(t.Fragment,{children:t.jsx(ge,{label:n("settings.account.githubUrl"),editing:a,hint:o||n("settings.account.githubUrlHint"),editor:t.jsx(Vt,{githubError:s,githubInput:i,handleSaveGithub:r,profileSaving:d,setEditingGithub:h,setGithubError:p,setGithubInput:g}),actions:t.jsxs("div",{className:"flex shrink-0 items-center gap-2",children:[t.jsx(ue,{label:n("settings.account.edit"),onClick:v}),t.jsx(k,{checked:m,onChange:l,disabled:c||d,ariaLabel:n("settings.account.githubUrl")})]})})})}function qt(){const{openLoginModal:e}=Ne();return t.jsx(O,{title:n("settings.section.account"),children:t.jsxs("div",{className:"flex items-center justify-between gap-4 py-3",children:[t.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:n("settings.account.signedOutHint")}),t.jsx("button",{type:"button",onClick:e,className:"inline-flex h-8 shrink-0 items-center justify-center rounded-md bg-oai-gray-900 px-4 text-xs font-medium text-white transition-colors hover:bg-oai-gray-800 dark:bg-white dark:text-oai-gray-900 dark:hover:bg-oai-gray-100",children:n("settings.account.signIn")})]})})}function Wt({name:e,github:a}){return t.jsxs(t.Fragment,{children:[t.jsx(zt,{name:e}),t.jsx(Kt,{github:a})]})}function Yt(){const e=Ft();return e.enabled?e.signedIn?t.jsxs(O,{title:n("settings.section.account"),subtitle:e.email||e.name.customDisplayName||e.name.displayName,action:t.jsx(Jt,{onSignOut:e.signOut}),children:[t.jsx(Zt,{userId:e.userId}),t.jsx(Xt,{settings:e}),t.jsx(Qt,{checked:e.publicProfileOn,disabled:e.profileLoading||e.profileSaving,onChange:e.handlePublicProfileToggle}),t.jsx(en,{visible:e.publicProfileOn,name:e.name,github:e.github})]}):t.jsx(qt,{}):null}function Zt({userId:e}){const[a,s]=H.useState(!1);if(!e)return null;const i=async()=>{try{if(typeof navigator>"u"||!navigator.clipboard?.writeText)return;await navigator.clipboard.writeText(e),s(!0),globalThis.setTimeout(()=>s(!1),1200)}catch{s(!1)}};return t.jsxs("div",{className:"flex items-center justify-between gap-4 py-3",children:[t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("div",{className:"text-sm text-oai-gray-900 dark:text-oai-gray-200",children:n("settings.account.userId")}),t.jsx("div",{className:"mt-0.5 truncate font-mono text-xs text-oai-gray-500 dark:text-oai-gray-400",children:e})]}),t.jsxs("button",{type:"button",onClick:i,className:"inline-flex h-8 shrink-0 items-center gap-1.5 rounded-md border border-oai-gray-200 px-3 text-xs font-medium text-oai-gray-700 transition-colors hover:bg-oai-gray-100 dark:border-oai-gray-800 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800","aria-label":n("settings.account.copyUserId"),children:[a?t.jsx(dt,{className:"h-3.5 w-3.5","aria-hidden":!0}):t.jsx(ut,{className:"h-3.5 w-3.5","aria-hidden":!0}),a?n("settings.account.copied"):n("settings.account.copy")]})]})}function Jt({onSignOut:e}){return t.jsxs("button",{type:"button",onClick:()=>e(),className:"inline-flex h-7 items-center gap-1.5 text-xs font-medium text-oai-gray-500 transition-colors hover:text-oai-gray-700 dark:hover:text-oai-gray-300",children:[t.jsx(jt,{className:"h-3.5 w-3.5","aria-hidden":!0}),n("settings.account.signOut")]})}function Xt({settings:e}){return e.showLocalCloudSync?t.jsx(b,{label:n("settings.account.cloudSync"),hint:n("settings.account.cloudSyncHint"),control:t.jsx(k,{checked:e.cloudSyncOn,onChange:e.handleCloudSyncToggle,ariaLabel:n("settings.account.cloudSync")})}):null}function Qt({checked:e,disabled:a,onChange:s}){return t.jsx(b,{label:n("settings.account.publicProfile"),hint:n("settings.account.publicProfileHint"),control:t.jsx(k,{checked:e,onChange:s,disabled:a,ariaLabel:n("settings.account.publicProfile")})})}function en({visible:e,name:a,github:s}){return t.jsx(ae,{initial:!1,children:e?t.jsx(ne.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{height:{duration:.28,ease:[.22,1,.36,1]},opacity:{duration:.2,ease:[.22,1,.36,1]}},style:{overflow:"hidden"},className:"divide-y divide-oai-gray-200/60 dark:divide-oai-gray-800/60",children:t.jsx(Wt,{name:a,github:s})},"public-profile-fields"):null})}function tn(){return[{value:"light",label:n("settings.appearance.theme.light"),Icon:Ee},{value:"dark",label:n("settings.appearance.theme.dark"),Icon:Pe},{value:"system",label:n("settings.appearance.theme.system"),Icon:ee}]}function nn(){return[{value:Le,label:n("settings.appearance.language.system")},{value:_e,label:n("settings.appearance.language.english")},{value:Te,label:n("settings.appearance.language.chinese")},{value:Ie,label:n("settings.appearance.language.traditional_chinese")},{value:Ge,label:n("settings.appearance.language.japanese")},{value:Re,label:n("settings.appearance.language.korean")},{value:De,label:n("settings.appearance.language.german")}]}function an(e){if(!e)return null;try{const a=new Date(e);return Number.isNaN(a.getTime())?null:a.toLocaleString()}catch{return null}}function sn(e,a){const s=n(`settings.appearance.currency.rate_source.${e}`),i=an(a),o=i?n("settings.appearance.currency.rate_updated",{when:i}):n("settings.appearance.currency.rate_never");return`${s} · ${o}`}function on({locale:e,setLocale:a}){const s=nn();return t.jsx(F,{value:e,onValueChange:a,options:s,ariaLabel:n("settings.appearance.language.label"),className:"px-2.5 py-1.5 text-xs font-medium",leadingIcon:t.jsx(kt,{className:"h-3.5 w-3.5 text-oai-gray-500 dark:text-oai-gray-400","aria-hidden":!0})})}function rn({currency:e,setCurrency:a}){const s=Ae().map(i=>({value:i.code,label:n(i.labelKey)}));return t.jsx(F,{value:e,onValueChange:a,options:s,ariaLabel:n("settings.appearance.currency.label"),className:"px-3 py-1.5 text-xs font-medium"})}function ln({currency:e,rate:a,rateSource:s,rateFetchedAt:i}){if(e===Oe)return t.jsx(t.Fragment,{children:n("settings.appearance.currency.hint")});const o=sn(s,i);return t.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[t.jsx("span",{children:`1 USD = ${a.toFixed(4)} ${e}`}),t.jsx("span",{role:"img","aria-label":o,title:o,className:"inline-flex h-4 w-4 cursor-help items-center justify-center text-oai-gray-400 hover:text-oai-gray-600 dark:text-oai-gray-500 dark:hover:text-oai-gray-300",children:t.jsx(ht,{className:"h-3.5 w-3.5","aria-hidden":!0})})]})}function cn(){const{theme:e,setTheme:a}=Ce(),{locale:s,setLocale:i}=Q(),{currency:o,rate:r,rateSource:l,rateFetchedAt:c,setCurrency:d}=gt(),{mode:h,setMode:p,unitSystem:g,setUnitSystem:m}=pt();return t.jsxs(O,{title:n("settings.section.appearance"),children:[t.jsx(b,{label:n("settings.appearance.theme.label"),hint:n("settings.appearance.theme.hint"),control:t.jsx(G,{options:tn(),value:e,onChange:a})}),t.jsx(b,{label:n("settings.appearance.language.label"),hint:n("settings.appearance.language.hint"),control:t.jsx(on,{locale:s,setLocale:i})}),t.jsx(b,{label:n("settings.appearance.currency.label"),hint:t.jsx(ln,{currency:o,rate:r,rateSource:l,rateFetchedAt:c}),control:t.jsx(rn,{currency:o,setCurrency:d})}),t.jsx(b,{label:n("settings.appearance.token_format.label"),hint:n("settings.appearance.token_format.hint"),control:t.jsx(G,{options:[{value:U.COMPACT,label:n("settings.appearance.token_format.compact")},{value:U.FULL,label:n("settings.appearance.token_format.full")}],value:h,onChange:p})}),t.jsx(b,{label:n("settings.appearance.token_unit.label"),hint:n("settings.appearance.token_unit.hint"),control:t.jsx(G,{disabled:h!==U.COMPACT,options:[{value:V.ENGLISH,label:n("settings.appearance.token_unit.english")},{value:V.CHINESE,label:n("settings.appearance.token_unit.chinese")}],value:g,onChange:m})})]})}function M({labelKey:e}){return t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{children:n(e)}),t.jsx("span",{className:"px-1.5 py-0.5 text-[8px] font-semibold tracking-wider text-oai-gray-500 bg-oai-gray-100 dark:text-oai-gray-400 dark:bg-oai-gray-800/80 rounded uppercase scale-90 origin-left",children:n("qpd.card.badge")})]})}function dn(){const{enabled:e,toggle:a}=lt(),{enabled:s,toggle:i}=ct(),{available:o,settings:r,setSetting:l}=R(),c=o&&!!r?.dynamicIslandSupported,d=!!r?.dynamicIslandEnabled;return t.jsxs(O,{title:n("settings.section.labs"),children:[c&&t.jsxs(t.Fragment,{children:[t.jsx(b,{label:t.jsx(M,{labelKey:"settings.labs.island.label"}),hint:n("settings.labs.island.hint"),control:t.jsx(k,{checked:d,onChange:()=>l("dynamicIslandEnabled",!d),ariaLabel:n("settings.labs.island.aria")})}),d&&t.jsx(b,{label:n("settings.labs.island_hide_menubar.label"),hint:n("settings.labs.island_hide_menubar.hint"),control:t.jsx(k,{checked:!!r?.hideMenuBarIcon,onChange:()=>l("hideMenuBarIcon",!r?.hideMenuBarIcon),ariaLabel:n("settings.labs.island_hide_menubar.aria")})})]}),t.jsx(b,{label:t.jsx(M,{labelKey:"settings.labs.qpd.label"}),hint:n("settings.labs.qpd.hint"),control:t.jsx(k,{checked:e,onChange:a,ariaLabel:n("settings.labs.qpd.aria")})}),t.jsx(b,{label:t.jsx(M,{labelKey:"settings.labs.sessions.label"}),hint:n("settings.labs.sessions.hint"),control:t.jsx(k,{checked:s,onChange:i,ariaLabel:n("settings.labs.sessions.aria")})})]})}function un(){const{available:e,settings:a,setSetting:s,runAction:i}=R();if(!e)return null;const o=te(),r=!!a?.launchAtLogin,l=a?.toastOnReset!==!1,c=a?.confettiOnReset!==!1,d=a?.launchAtLoginSupported!==!1,h=a?.autoUpdateEnabled!==!1,p=a?.updateStatus||null,g=!!a?.updateBusy,m=!!a?.isSyncing;return t.jsxs(O,{title:n("settings.section.menubar"),children:[o?null:t.jsxs(t.Fragment,{children:[t.jsx(b,{label:n("settings.menubar.appearance"),hint:n("settings.menubar.appearanceHint"),control:t.jsxs(Ue,{to:"/widgets",className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-oai-gray-200 px-3 text-xs font-medium text-oai-gray-700 no-underline transition-colors hover:bg-oai-gray-100 dark:border-oai-gray-800 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800",children:[n("settings.menubar.appearanceLink"),t.jsx(bt,{className:"h-3.5 w-3.5","aria-hidden":!0})]})}),t.jsx(b,{label:n("settings.menubar.toastOnReset"),hint:n("settings.menubar.toastOnResetHint"),control:t.jsx(k,{checked:l,onChange:()=>s("toastOnReset",!l),ariaLabel:n("settings.menubar.toastOnReset")})}),t.jsx(b,{label:n("settings.menubar.confettiOnReset"),hint:n("settings.menubar.confettiOnResetHint"),control:t.jsx(k,{checked:c,onChange:()=>s("confettiOnReset",!c),ariaLabel:n("settings.menubar.confettiOnReset")})})]}),d?t.jsx(b,{label:n("settings.menubar.launchAtLogin"),hint:n("settings.menubar.launchAtLoginHint"),control:t.jsx(k,{checked:r,onChange:()=>s("launchAtLogin",!r),ariaLabel:n("settings.menubar.launchAtLogin")})}):null,t.jsx(b,{label:n("settings.menubar.syncNow"),hint:n("settings.menubar.syncNowHint"),control:t.jsxs("button",{type:"button",onClick:()=>i("syncNow"),disabled:m,className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-oai-gray-200 px-3 text-xs font-medium text-oai-gray-700 transition-colors hover:bg-oai-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-oai-gray-800 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800",children:[t.jsx(Me,{className:_("h-3.5 w-3.5",m&&"animate-spin"),"aria-hidden":!0}),m?n("settings.menubar.syncing"):n("settings.menubar.syncNow")]})}),t.jsx(b,{label:n("settings.menubar.autoUpdate"),hint:n("settings.menubar.autoUpdateHint"),control:t.jsx(k,{checked:h,onChange:()=>s("autoUpdateEnabled",!h),ariaLabel:n("settings.menubar.autoUpdate")})}),t.jsx(b,{label:n("settings.menubar.updates"),hint:p||void 0,control:t.jsxs("button",{type:"button",onClick:()=>i("checkForUpdates"),disabled:g,className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-oai-gray-200 px-3 text-xs font-medium text-oai-gray-700 transition-colors hover:bg-oai-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-oai-gray-800 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800",children:[t.jsx(ft,{className:"h-3.5 w-3.5","aria-hidden":!0}),n("settings.menubar.checkUpdates")]})})]})}function gn(e,a){function s(r){return r.replace(/^v/,"").split(".").map(Number)}const i=s(e),o=s(a);for(let r=0;r<Math.max(i.length,o.length);r++){const l=i[r]||0,c=o[r]||0;if(l<c)return!0;if(l>c)return!1}return!1}function pn(){const{available:e,settings:a,runAction:s}=R(),i=e&&a?.version,o=a?.platform||"macos",[r,l]=H.useState(!1),[c,d]=H.useState({open:!1,latestVersion:"",htmlUrl:""}),{resolvedLocale:h}=Q(),p="1.1.11",g=async()=>{l(!0);try{const y=await fetch("https://api.github.com/repos/xiufengsun/TokenTracker/releases/latest");if(!y.ok)throw new Error("Failed to fetch");const w=await y.json(),N=w.tag_name;gn(p,N)?d({open:!0,latestVersion:N,htmlUrl:w.html_url}):B({title:n("settings.menubar.updates.upToDate")})}catch(y){console.error("Check updates failed:",y),B({title:n("settings.menubar.updates.failed")})}finally{l(!1)}},m=n("settings.menubar.updates.modalTitle"),v=n("settings.menubar.updates.modalDescription",{version:c.latestVersion}),j=n("settings.menubar.updates.modalConfirm"),A=n("settings.menubar.updates.modalCancel");return t.jsxs("div",{className:"mt-6 flex flex-col items-center justify-center gap-4 text-xs text-oai-gray-500 dark:text-oai-gray-500",children:[t.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[i?t.jsxs(t.Fragment,{children:[t.jsx("span",{children:o==="windows"?n("settings.menubar.updates.footerCore",{version:a.version}):n("settings.menubar.updates.footerCombined",{barVersion:a.version,coreVersion:p})}),t.jsx("span",{"aria-hidden":!0,children:"·"}),t.jsx("button",{type:"button",onClick:()=>s("openAbout"),className:"underline-offset-2 transition-colors hover:text-oai-gray-700 hover:underline dark:hover:text-oai-gray-300",children:"GitHub"}),t.jsx("span",{"aria-hidden":!0,children:"·"})]}):t.jsxs(t.Fragment,{children:[t.jsx("span",{children:n("settings.menubar.updates.footerCore",{version:p})}),t.jsx("span",{"aria-hidden":!0,children:"·"}),t.jsx("button",{type:"button",onClick:g,disabled:r,className:"underline-offset-2 transition-colors hover:text-oai-gray-700 hover:underline dark:hover:text-oai-gray-300 disabled:opacity-50",children:r?n("settings.menubar.updates.checking"):n("settings.menubar.checkUpdates")}),t.jsx("span",{"aria-hidden":!0,children:"·"})]}),t.jsxs("a",{href:He,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 underline-offset-2 transition-colors hover:text-oai-gray-700 hover:underline dark:hover:text-oai-gray-300",children:[t.jsx(Fe,{className:"h-3.5 w-3.5","aria-hidden":!0}),n("settings.footer.statusPage")]})]}),t.jsx(mt,{open:c.open,title:m,description:v,confirmLabel:j,cancelLabel:A,onConfirm:()=>{window.open(c.htmlUrl,"_blank"),d(y=>({...y,open:!1}))},onCancel:()=>d(y=>({...y,open:!1}))})]})}const hn=()=>[{value:"system",label:n("settings.network.mode.system")},{value:"manual",label:n("settings.network.mode.manual")},{value:"off",label:n("settings.network.mode.off")}],mn=()=>[{value:"http",label:n("settings.network.protocol.http")},{value:"https",label:n("settings.network.protocol.https")},{value:"socks5",label:n("settings.network.protocol.socks5")}],Y="w-full rounded-md border border-oai-gray-300 bg-transparent px-2.5 py-1.5 text-sm text-oai-black outline-none focus:border-oai-brand-500 focus:ring-1 focus:ring-inset focus:ring-oai-brand-500 dark:border-oai-gray-700 dark:text-white";function Z(e){const a={},s=String(e.host||"").trim();(!s||/:\/\//.test(s)||s.includes("/"))&&(a.host=n("settings.network.error.host"));const i=String(e.port??"").trim(),o=Number(i);return(!i||!/^\d+$/.test(i)||!Number.isInteger(o)||o<1||o>65535)&&(a.port=n("settings.network.error.port")),a}function bn({proxySettings:e}){const{config:a,save:s,testConnection:i}=e,[o,r]=u.useState(()=>({mode:a.mode,protocol:a.protocol||"http",host:a.host||"",port:a.port||""})),[l,c]=u.useState({}),[d,h]=u.useState(!1),[p,g]=u.useState(""),[m,v]=u.useState(null),[j,A]=u.useState(!1),[y,w]=u.useState(null);u.useEffect(()=>{r({mode:a.mode,protocol:a.protocol||"http",host:a.host||"",port:a.port||""})},[a.mode,a.protocol,a.host,a.port]);const N=u.useMemo(()=>a.effective==="manual"?n("settings.network.effective.manual"):a.effective==="env"?n("settings.network.effective.env"):a.effective==="system"?n("settings.network.effective.system"):a.effective==="blocked"?n("settings.network.effective.blocked"):n("settings.network.effective.none"),[a.effective]),f=x=>{r(E=>({...E,...x})),c({}),g(""),v(null),w(null)},S=async()=>{if(o.mode==="manual"){const x=Z(o);if(Object.keys(x).length){c(x);return}}h(!0),g(""),v(null);try{await s(o),g("saved")}catch(x){g("error"),v(x)}finally{h(!1)}},L=async()=>{const x=Z(o);if(Object.keys(x).length){c(x);return}A(!0),w(null);try{const E=await i(o);w(E)}catch(E){w({ok:!1,error:E?.message||String(E)})}finally{A(!1)}};return t.jsxs(O,{title:n("settings.section.network"),subtitle:N,children:[a.applyError?t.jsx("p",{role:"alert",className:"mb-3 text-xs text-red-600 dark:text-red-400",children:n("settings.network.apply_error",{error:a.applyError})}):null,t.jsx(b,{label:n("settings.network.mode.label"),hint:n("settings.network.mode.hint"),control:t.jsx(G,{options:hn(),value:o.mode,onChange:x=>f({mode:x})})}),t.jsx(ae,{initial:!1,children:o.mode==="manual"?t.jsxs(ne.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{height:{duration:.28,ease:[.22,1,.36,1]},opacity:{duration:.2,ease:[.22,1,.36,1]}},style:{overflow:"hidden"},className:"divide-y divide-oai-gray-200/60 dark:divide-oai-gray-800/60",children:[t.jsx(b,{label:n("settings.network.protocol.label"),control:t.jsx(F,{value:o.protocol,onValueChange:x=>f({protocol:x}),options:mn(),ariaLabel:n("settings.network.protocol.label"),className:"px-2.5 py-1.5 text-xs font-medium"})}),t.jsx(b,{label:n("settings.network.host.label"),hint:l.host,control:t.jsx("input",{type:"text",value:o.host,onChange:x=>f({host:x.target.value}),placeholder:n("settings.network.host.placeholder"),autoComplete:"off",spellCheck:!1,"aria-invalid":l.host?!0:void 0,"aria-label":n("settings.network.host.label"),className:Y})}),t.jsx(b,{label:n("settings.network.port.label"),hint:l.port,control:t.jsx("input",{type:"text",inputMode:"numeric",value:o.port,onChange:x=>f({port:x.target.value}),placeholder:n("settings.network.port.placeholder"),autoComplete:"off",spellCheck:!1,"aria-invalid":l.port?!0:void 0,"aria-label":n("settings.network.port.label"),className:Y})}),t.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-2 py-3",children:[t.jsx("button",{type:"button",onClick:L,disabled:j||d,className:"rounded-md border border-oai-gray-200 px-3 py-1.5 text-xs font-medium text-oai-gray-700 transition-colors hover:bg-oai-gray-100 disabled:opacity-50 dark:border-oai-gray-800 dark:text-oai-gray-300 dark:hover:bg-oai-gray-800",children:j?n("settings.network.test.testing"):n("settings.network.test")}),t.jsx("button",{type:"button",onClick:S,disabled:d||j,className:"rounded-md bg-oai-brand-500 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-oai-brand-600 disabled:opacity-50",children:d?n("settings.network.saving"):n("settings.network.save")})]}),y?t.jsx("p",{className:"py-2 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:y.ok?n("settings.network.test.ok",{status:String(y.status??"")}):n("settings.network.test.fail",{error:y.error||""})}):null]},"manual-proxy-fields"):t.jsx("div",{className:"flex justify-end py-3",children:t.jsx("button",{type:"button",onClick:S,disabled:d,className:"rounded-md bg-oai-brand-500 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-oai-brand-600 disabled:opacity-50",children:d?n("settings.network.saving"):n("settings.network.save")})},"non-manual-save")}),p==="saved"?t.jsx("p",{className:"py-2 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:n("settings.network.saved")}):null,p==="error"?t.jsx("p",{role:"alert",className:"py-2 text-xs text-red-600 dark:text-red-400",children:m?.unprotected?n("settings.network.save_error_unprotected",{error:m?.message||String(m||"")}):n("settings.network.save_error",{error:m?.message||String(m||"")})}):null]})}const pe="/functions/tokentracker-proxy-config",fn="/functions/tokentracker-proxy-test",xn={mode:"system",protocol:"http",host:"",port:"",effective:"none",applyError:null};function he(e){return!e||typeof e.mode!="string"?null:{mode:e.mode,protocol:typeof e.protocol=="string"?e.protocol:"http",host:typeof e.host=="string"?e.host:"",port:e.port==null||e.port===0?"":String(e.port),effective:typeof e.effective=="string"?e.effective:"none",applyError:typeof e.applyError=="string"&&e.applyError.trim()?e.applyError:null}}async function yn(){const e=await fetch(pe,{method:"GET",headers:{Accept:"application/json"},cache:"no-store"});if(!e.ok)return null;const a=await e.json().catch(()=>null);return he(a)}async function J(){const{getLocalApiAuthHeaders:e}=await $e(async()=>{const{getLocalApiAuthHeaders:a}=await import("./__vite-browser-external-VmN0WaC3.js").then(s=>s.de);return{getLocalApiAuthHeaders:a}},__vite__mapDeps([0,1]));return e()}function vn(){const[e,a]=u.useState(!1),[s,i]=u.useState(!0),[o,r]=u.useState(xn);u.useEffect(()=>{if(!xt()){a(!1),i(!1);return}let d=!1;return(async()=>{try{const h=await yn();if(d)return;if(!h){a(!1),i(!1);return}r(h),a(!0),i(!1)}catch{d||(a(!1),i(!1))}})(),()=>{d=!0}},[]);const l=u.useCallback(async d=>{const h=await J(),p=await fetch(pe,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",...h},cache:"no-store",body:JSON.stringify({mode:d.mode,protocol:d.protocol,host:d.host,port:d.port===""?0:Number(d.port)})}),g=await p.json().catch(()=>null);if(!p.ok){const v=g&&typeof g.error=="string"?g.error:`HTTP ${p.status}`;throw new Error(v)}const m=he(g);if(m&&r(m),g&&g.ok===!1){const v=g&&typeof g.applyError=="string"&&g.applyError||g&&typeof g.error=="string"&&g.error||`HTTP ${p.status}`,j=new Error(v);throw g.unprotected===!0&&(j.unprotected=!0),j}return m||g},[]),c=u.useCallback(async d=>{const h=await J(),p=await fetch(fn,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",...h},cache:"no-store",body:JSON.stringify({protocol:d.protocol,host:d.host,port:d.port===""?0:Number(d.port)})}),g=await p.json().catch(()=>null);if(!g||typeof g.ok!="boolean")throw new Error(g&&typeof g.error=="string"?g.error:`HTTP ${p.status}`);return g},[]);return{available:e,loading:s,config:o,save:l,testConnection:c}}const C={APPEARANCE:"appearance",NATIVE_APP:"native-app",NETWORK:"network",ACCOUNT:"account",LIMITS:"limits",LABS:"labs"},P={PERSONAL:"personal",APP:"app",DEVELOPER:"developer"};function kn({prefs:e}){return t.jsx(G,{options:[{value:W.USED,label:n("limits.settings.display_mode_used")},{value:W.REMAINING,label:n("limits.settings.display_mode_remaining")}],value:e.displayMode,onChange:e.setDisplayMode})}function Wn(){const e=it(),{available:a,settings:s,setSetting:i}=R(),o=vn(),{available:r}=o,l=s?.toastOnReset!==!1,c=s?.confettiOnReset!==!1,d=te()||s?.platform==="windows",[h,p]=Ve(),g=Be(),m=h.get("section"),j=Object.values(C).includes(m)&&(m!==C.NATIVE_APP||a)&&(m!==C.NETWORK||r)?m:C.APPEARANCE,A=f=>{const S=new URLSearchParams(h);f===C.APPEARANCE?S.delete("section"):S.set("section",f),p(S,{replace:!0})},y=[{id:C.APPEARANCE,label:n("settings.section.appearance"),description:n("settings.section.appearance.description"),group:P.PERSONAL,Icon:St,content:t.jsx(cn,{})},...a?[{id:C.NATIVE_APP,label:n("settings.section.menubar"),description:n("settings.section.menubar.description"),group:P.APP,Icon:ee,content:t.jsx(un,{})}]:[],...r?[{id:C.NETWORK,label:n("settings.section.network"),description:n("settings.section.network.description"),group:P.APP,Icon:ze,content:t.jsx(bn,{proxySettings:o})}]:[],{id:C.ACCOUNT,label:n("settings.section.account"),description:n("settings.section.account.description"),group:P.PERSONAL,Icon:wt,content:t.jsx(Yt,{})},{id:C.LIMITS,label:n("settings.section.limits"),description:n("settings.section.limits.description"),group:P.APP,Icon:Ke,content:t.jsxs("div",{className:"space-y-4",children:[t.jsxs(O,{title:n("settings.section.limits"),children:[t.jsx(b,{label:n("limits.settings.display_mode_label"),control:t.jsx(kn,{prefs:e})}),d?null:t.jsxs(t.Fragment,{children:[t.jsx(b,{label:n("settings.menubar.toastOnReset"),hint:n("settings.menubar.toastOnResetHint"),control:t.jsx(k,{checked:l,disabled:!a,onChange:()=>i("toastOnReset",!l),ariaLabel:n("settings.menubar.toastOnReset")})}),t.jsx(b,{label:n("settings.menubar.confettiOnReset"),hint:n("settings.menubar.confettiOnResetHint"),control:t.jsx(k,{checked:c,disabled:!a,onChange:()=>i("confettiOnReset",!c),ariaLabel:n("settings.menubar.confettiOnReset")})})]}),t.jsx(b,{label:n("settings.limits.showSubscriptions"),hint:n("settings.limits.showSubscriptionsHint"),control:t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("button",{type:"button",onClick:()=>g("/limits?openSubscriptions=1"),"aria-label":n("limits.page.openSubscriptions"),title:n("limits.page.openSubscriptions"),className:"inline-flex h-7 w-7 items-center justify-center rounded-md border border-oai-gray-200 dark:border-oai-gray-700 bg-white dark:bg-oai-gray-900 text-oai-gray-500 dark:text-oai-gray-400 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 hover:text-oai-black dark:hover:text-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-brand-500",children:t.jsx(qe,{size:14,"aria-hidden":!0})}),t.jsx(k,{checked:e.showSubscriptions!==!1,onChange:()=>e.setShowSubscriptions(!e.showSubscriptions),ariaLabel:n("settings.limits.showSubscriptions")})]})})]}),t.jsx(O,{title:n("settings.limits.providers"),children:t.jsx(Pt,{prefs:e})})]})},{id:C.LABS,label:n("settings.section.labs"),description:n("settings.section.labs.description"),group:P.DEVELOPER,Icon:yt,content:t.jsx(dn,{})}],w=[{id:P.PERSONAL,label:n("settings.nav.group.personal")},{id:P.APP,label:n("settings.nav.group.app")},{id:P.DEVELOPER,label:n("settings.nav.group.developer")}].map(f=>({...f,sections:y.filter(S=>S.group===f.id)})).filter(f=>f.sections.length>0);let N=y[0];for(const f of y)if(f.id===j){N=f;break}return t.jsx("div",{className:"flex flex-1 flex-col font-oai text-oai-black antialiased dark:text-oai-white",children:t.jsx("main",{className:"flex-1 pb-12 pt-8 sm:pb-16 sm:pt-10",children:t.jsxs("div",{className:"mx-auto w-full max-w-5xl px-4 sm:px-6",children:[t.jsxs("div",{className:"mb-7 max-w-2xl",children:[t.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-oai-black dark:text-white sm:text-4xl",children:n("settings.page.title")}),t.jsx("p",{className:"mt-2 text-sm leading-6 text-oai-gray-500 dark:text-oai-gray-400 sm:text-base",children:n("settings.page.subtitle")})]}),t.jsxs("div",{className:"grid min-w-0 gap-6 md:grid-cols-[14rem_minmax(0,1fr)] md:gap-8 lg:grid-cols-[15rem_minmax(0,1fr)]",children:[t.jsx("aside",{className:"min-w-0 rounded-xl border border-oai-gray-200 bg-oai-gray-50/70 p-2 dark:border-oai-gray-800 dark:bg-oai-gray-900/60 md:border-0 md:bg-transparent md:p-0 md:dark:bg-transparent",children:t.jsx("nav",{"aria-label":n("settings.page.title"),className:"flex gap-1 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden md:sticky md:top-6 md:flex-col md:gap-4 md:overflow-visible",children:w.map(({id:f,label:S,sections:L})=>t.jsxs("div",{className:"flex shrink-0 gap-1 md:block",children:[t.jsx("div",{className:"hidden px-3 pb-1 text-[10px] font-semibold uppercase tracking-[0.16em] text-oai-gray-400 dark:text-oai-gray-500 md:block",children:S}),t.jsx("div",{className:"flex gap-1 md:flex-col",children:L.map(({id:x,label:E,Icon:D})=>{const I=j===x;return t.jsxs("button",{id:`settings-nav-${x}`,type:"button","aria-current":I?"page":void 0,"aria-controls":`settings-panel-${x}`,onClick:()=>A(x),className:_("inline-flex min-h-10 min-w-max shrink-0 items-center gap-1.5 rounded-md px-2 py-2 text-left text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-oai-brand-500 md:w-full md:min-w-0 md:gap-2 md:px-3",I?"bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-white":"text-oai-gray-500 hover:bg-oai-gray-50 hover:text-oai-gray-900 dark:text-oai-gray-400 dark:hover:bg-oai-gray-900 dark:hover:text-oai-gray-200"),children:[t.jsx(D,{className:_("h-4 w-4 shrink-0",I?"text-oai-black dark:text-white":"text-oai-gray-400 dark:text-oai-gray-500"),"aria-hidden":!0}),t.jsx("span",{className:"truncate",children:E})]},x)})})]},f))})}),t.jsxs("div",{className:"min-w-0",children:[t.jsxs("div",{className:"mb-4 border-b border-oai-gray-200 pb-4 dark:border-oai-gray-800",children:[t.jsx("h2",{className:"text-xl font-semibold tracking-tight text-oai-black dark:text-white",children:N.label}),t.jsx("p",{className:"mt-1 text-sm leading-5 text-oai-gray-500 dark:text-oai-gray-400",children:N.description})]}),y.map(({id:f,label:S,content:L})=>t.jsx("section",{id:`settings-panel-${f}`,"aria-labelledby":`settings-nav-${f}`,"aria-label":S,"data-settings-panel":f,hidden:j!==f,children:L},f)),t.jsx(pn,{})]})]})]})})})}export{Wn as SettingsPage};
@@ -1,19 +0,0 @@
1
- import{r as T,G as yr,aq as gr,cC as At,d9 as br,da as pr,db as kr,dc as wr,cG as xr,cH as vr,cI as Mr,cN as Wt,cM as bn,d as g,j as m,B as It,c as z,k as pn,a6 as kn,X as Dr,e as ve,dd as Nr,aO as Sr,p as Wr}from"./__vite-browser-external-VmN0WaC3.js";import{m as Or}from"./react-QPulAuJP.js";import{u as wn}from"./useCurrency-BianRgdW.js";import{u as xn}from"./useTokenFormat-DO4vxqhW.js";import{u as Cr}from"./use-latest-request-guard-DTCniVRw.js";import{T as Pr}from"./terminal-JpDnkjVA.js";import{P as Bt,a as zt,b as Ht,c as Rt,d as qt}from"./PopoverPopup-BYzzQJTD.js";import{M as Tr}from"./maximize-2-DTP25Fl_.js";import{u as _r}from"./use-reduced-motion-Cdn1VrG0.js";function Ut(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 $r=24,Xt="tokentracker.trend-cache-index",Gt=24;function Er({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:a,to:o,months:i=$r,cacheKey:s,timeZone:l,tzOffsetMinutes:c,now:u,sharedRows:d,sharedRange:f,accountView:h=!1,accountAccessToken:y=null,accountRevision:x=0,accountViewResolving:b=!1,deviceId:N=null}={}){const p=!!(h&&y),k=p?"cloud":"local",[S,v]=T.useState([]),[w,O]=T.useState(()=>({from:a,to:o})),[W,Y]=T.useState("edge"),[j,q]=T.useState(null),[re,Q]=T.useState(!1),[ne,A]=T.useState(null),G=yr(),se=gr(t),ae=!n&&!G,ee=Array.isArray(d),P=f?.from||a,$=f?.to||o,K=T.useRef({sharedEnabled:ee,sharedRows:d,sharedFrom:P,sharedTo:$});K.current={sharedEnabled:ee,sharedRows:d,sharedFrom:P,sharedTo:$};const M=T.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),U=(()=>{if(!s)return null;const E=Yr(e)||"default",Z=Mr({timeZone:l,offsetMinutes:c}),we=N||"all";if(M==="hourly")return`tokentracker.trend.${s}.${k}.${E}.hourly.${o||a||"day"}.${Z}.${we}`;if(M==="monthly")return`tokentracker.trend.${s}.${k}.${E}.monthly.${i}.${o||"today"}.${Z}.${we}`;const Ye=`${a||""}.${o||""}`;return`tokentracker.trend.${s}.${k}.${E}.daily.${Ye}.${Z}.${we}`})(),ie=T.useCallback(()=>{if(!U||typeof window>"u")return null;try{const E=window.localStorage.getItem(U);if(!E)return null;const Z=JSON.parse(E);return!Z||!Array.isArray(Z.rows)?null:(Ut(Xt,U,Gt),Z)}catch{return null}},[U]),Ee=T.useCallback(E=>{if(!(!U||typeof window>"u"))try{window.localStorage.setItem(U,JSON.stringify(E)),Ut(Xt,U,Gt)}catch{}},[U]),be=T.useCallback(()=>{if(!(!U||typeof window>"u"))try{window.localStorage.removeItem(U)}catch{}},[U]),pe=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Pe=Cr([e,M,a,o,i,k,t,y,x,N,l,c,ee,d,P,$,n,G,ae,b,se,pe]),he=T.useRef(k);T.useEffect(()=>{he.current!==k&&(he.current=k,v([]),O({from:a,to:o}),Y("edge"),q(null),A(null),Q(!0))},[k]);const ke=T.useCallback(async()=>{const E=Pe(),{sharedEnabled:Z,sharedRows:we,sharedFrom:Ye,sharedTo:Ue}=K.current;if(Z){v(Array.isArray(we)?we:[]),O({from:Ye,to:Ue}),Y("shared"),q(null),Q(!1),A(null);return}const tt=await At(t),nt=p?await At(y):null;if(!E()||!tt&&!G&&!pe&&!p)return;if(p&&!nt){A("Your session expired. Please sign in again to view account data."),Q(!1);return}const Xe=p?nt:tt,ft=p?br:pr,mt=p?kr:wr,rt=p?xr:vr;Q(!0),A(null);try{let oe;M==="hourly"?oe=await ft({baseUrl:e,accessToken:Xe,day:o||a,device:N,timeZone:l,tzOffsetMinutes:c}):M==="monthly"?oe=await mt({baseUrl:e,accessToken:Xe,months:i,to:o,device:N,timeZone:l,tzOffsetMinutes:c}):oe=await rt({baseUrl:e,accessToken:Xe,from:a,to:o,device:N,timeZone:l,tzOffsetMinutes:c});let I=oe?.from||a||oe?.day||null;const le=oe?.to||o||oe?.day||null;M==="monthly"&&!I&&(I=Ge(le,i));let ye=Array.isArray(oe?.data)?oe.data:[];M==="daily"?ye=gt(ye,I||a,le||o,{timeZone:l,offsetMinutes:c,now:u}):M==="hourly"?(ye=bt(ye,I||a||oe?.day,{timeZone:l,offsetMinutes:c,now:u}),ye=pt(ye,{timeZone:l,offsetMinutes:c,now:u})):M==="monthly"&&(ye=kt(ye,I||a,le||o,{timeZone:l,offsetMinutes:c,now:u}));const at=new Date().toISOString();if(!E())return;v(ye),O({from:I,to:le}),Y("edge"),q(at),ae?Ee({rows:ye,from:I,to:le,mode:M,fetchedAt:at}):be()}catch(oe){if(!E())return;if(ae){const I=ie();if(I?.rows){let le=M==="daily"?gt(I.rows||[],I.from||a,I.to||o,{timeZone:l,offsetMinutes:c,now:u}):M==="hourly"?bt(I.rows||[],I.from||a||I.day||o,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(I.rows)?I.rows:[];M==="hourly"?le=pt(le,{timeZone:l,offsetMinutes:c,now:u}):M==="monthly"&&(le=kt(le,I.from||a||Ge(I.to||o,i),I.to||o,{timeZone:l,offsetMinutes:c,now:u})),v(le),O({from:I.from||a||(M==="monthly"?Ge(I.to||o,i):a),to:I.to||o}),Y("cache"),q(I.fetchedAt||null),A(null)}else{v([]),O({from:a,to:o}),Y("edge"),q(null);const le=oe;A(le?.message||String(le))}}else{v([]),O({from:a,to:o}),Y("edge"),q(null);const I=oe;A(I?.message||String(I))}}finally{E()&&Q(!1)}},[t,e,a,G,n,ae,M,i,ie,se,l,o,c,u,be,Ee,pe,p,y,x,N,Pe]);T.useEffect(()=>{if(b){Q(!0);return}if(ee){v(Array.isArray(d)?d:[]),O({from:P,to:$}),Y("shared"),q(null),Q(!1),A(null);return}if(!se&&!n&&!G&&!pe&&!p){v([]),O({from:a,to:o}),A(null),Q(!1),Y("edge"),q(null);return}if(!ae)be(),v([]),O({from:a,to:o}),A(null),Y("edge"),q(null);else{const E=ie();if(E?.rows){let Z=M==="daily"?gt(E.rows||[],E.from||a,E.to||o,{timeZone:l,offsetMinutes:c,now:u}):M==="hourly"?bt(E.rows||[],E.from||a||E.day||o,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(E.rows)?E.rows:[];M==="hourly"?Z=pt(Z,{timeZone:l,offsetMinutes:c,now:u}):M==="monthly"&&(Z=kt(Z,E.from||a||Ge(E.to||o,i),E.to||o,{timeZone:l,offsetMinutes:c,now:u})),v(Z),O({from:E.from||a||(M==="monthly"?Ge(E.to||o,i):a),to:E.to||o}),Y("cache"),q(E.fetchedAt||null),A(null)}else v([]),O({from:a,to:o}),Y("edge"),q(null),A(null)}Q(!0),ke()},[t,G,ie,ke,ee,P,d,$,se,n,ae,be,pe,b]);const Be=G?"mock":W;return{rows:S,from:w.from||a,to:w.to||o,source:Be,fetchedAt:j,loading:re,error:ne,refresh:ke}}function Yr(e){try{return new URL(e).host}catch{return null}}function st(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())&&Wt(i)===t?i:null}function vn(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}const Mn=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","conversation_count"];function gt(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const i=st(t),s=st(n);if(!i||!s||s<i)return Array.isArray(e)?e:[];const l=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,c=bn({timeZone:r,offsetMinutes:a,date:l}),u=st(c),d=u?u.getTime():l.getTime(),f=new Map;for(const y of e||[])y?.day&&f.set(y.day,y);const h=[];for(let y=i;y<=s;y=vn(y,1)){const x=Wt(y),b=f.get(x),N=y.getTime()>d;if(b){h.push({...b,missing:!1,future:N});continue}h.push({day:x,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!N,future:N})}return h}function Fr(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 jr(e){if(!e||typeof e!="object")return!1;const t=e.models;return t&&typeof t=="object"&&Object.keys(t).length>0?!1:Mn.every(n=>e[n]==null)}function Ar(e,t,n){const r={...e,hour:t,missing:!1,future:n};if(!n&&jr(e))for(const a of Mn)r[a]=0;return r}function Ir(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 Br(e,t,{timeZone:n,offsetMinutes:r}={}){const a=Ir(e,t);if(!n||typeof Intl>"u"||!Intl.DateTimeFormat)return a;const o=st(e);if(!o)return a;const i=o.getUTCFullYear()*1e4+(o.getUTCMonth()+1)*100+o.getUTCDate(),s=o.getTime()-2160*60*1e3,l=vn(o,2).getTime()+2160*60*1e3,c=[],u=new Set;for(let d=s;d<=l;d+=1800*1e3){const f=ct({timeZone:n,offsetMinutes:r,now:new Date(d)});if(!f||f.dayNum!==i||t===60&&f.minute!==0||t===30&&f.minute!==0&&f.minute!==30)continue;const h=`${e}T${String(f.hour).padStart(2,"0")}:${String(f.minute).padStart(2,"0")}:00`;u.has(h)||(u.add(h),c.push(h))}return c.length>0?c:a}function bt(e,t,{timeZone:n,offsetMinutes:r,now:a}={}){if(!t)return Array.isArray(e)?e:[];const o=t.trim().slice(0,10),i=ct({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||"",x=it(y,s);if(x&&x.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||"",x=it(y,s);x&&u.set(x.slot,h)}const d=[],f=Br(o,c,{timeZone:n,offsetMinutes:r});for(let h=0;h<f.length;h++){const y=f[h],x=it(y,s),b=x?x.slot:l?h:h*2,N=u.get(b);let p=!1;if(i){const k=i.year*1e4+i.month*100+i.day,S=x?.dayNum??Number(o.replace(/-/g,""));if(S>k)p=!0;else if(S===k){const v=i.hour*2+(i.minute>=30?1:0);p=b>v}}N?d.push(Ar(N,y,p)):d.push(Fr(y,p))}return d}function pt(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=ct({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.hour||o?.label||"",s=it(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 Ge(e,t){const n=Dt(String(e||"").slice(0,7));return n?Wt(new Date(Date.UTC(n.year,n.month-t,1))):null}function kt(e,t,n,r={}){const a=Dt(String(t||"").slice(0,7)),o=Dt(String(n||"").slice(0,7));if(!a||!o)return Array.isArray(e)?e:[];const i=a.year*12+a.month-1,s=o.year*12+o.month-1;if(s<i)return Array.isArray(e)?e:[];const l=ct(r),c=l.year*12+l.month-1,u=new Map((e||[]).map(f=>[f?.month,f])),d=[];for(let f=i;f<=s;f++){const h=`${Math.floor(f/12)}-${String(f%12+1).padStart(2,"0")}`,y=f>c,x=u.get(h);if(x&&!(x.future&&x.total_tokens==null))d.push({...x,missing:!1,future:y});else{const b=y?null:0;d.push({month:h,total_tokens:b,billable_total_tokens:b,input_tokens:b,cached_input_tokens:b,cache_creation_input_tokens:b,output_tokens:b,reasoning_output_tokens:b,conversation_count:b,missing:!1,future:y})}}return d}function ct({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 f=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((p,k)=>(k.type&&k.value&&(p[k.type]=k.value),p),{}),h=Number(f.year),y=Number(f.month),x=Number(f.day),b=Number(f.hour),N=Number(f.minute);if(Number.isFinite(h)&&Number.isFinite(y)&&Number.isFinite(x)&&Number.isFinite(b)&&Number.isFinite(N)){const p=b*2+(N>=30?1:0);return{year:h,month:y,day:x,hour:b,minute:N,dayNum:h*1e4+y*100+x,slot:p}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),d=u.getUTCFullYear(),f=u.getUTCMonth()+1,h=u.getUTCDate(),y=u.getUTCHours(),x=u.getUTCMinutes(),b=y*2+(x>=30?1:0);return{year:d,month:f,day:h,hour:y,minute:x,dayNum:d*1e4+f*100+h,slot:b}}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 it(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 f=u*2+(d>=30?1:0);return{dayNum:i*1e4+s*100+l,slot:f}}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 Dt(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 zr(e){return e==="day"?"hourly":e==="total"?"monthly":"daily"}function Hr(e){return!!e&&!e.missing&&!e.future}function Rr(e){const t=e?.billable_total_tokens??e?.total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function qr(e){const t=e?.total_tokens??e?.billable_total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Ur(e){const t=Array.isArray(e)?e.filter(Hr):[];let n=0,r=0,a=0,o=0,i=!1,s=0,l=-1,c=null;for(const u of t){const d=qr(u),f=Rr(u);n+=d,r+=f;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),f>0&&(s+=1),f>l&&(l=f,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 qe(e){return String(e).padStart(2,"0")}function Dn(e){return typeof e=="string"&&e.trim()?e:"en-US"}function Nn(e){const t=String(e||""),n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!n)return null;const[,r,a,o]=n,i=new Date(Date.UTC(Number(r),Number(a)-1,Number(o)));return i.getUTCFullYear()!==Number(r)||i.getUTCMonth()+1!==Number(a)||i.getUTCDate()!==Number(o)?null:i}function Ae(e,t,n=!0){const r=Nn(e);if(!r||typeof Intl>"u"||!Intl.DateTimeFormat)return String(e||"");try{return new Intl.DateTimeFormat(Dn(t),{...n?{year:"numeric"}:{},month:"short",day:"numeric",timeZone:"UTC"}).format(r)}catch{return String(e||"")}}function lt(e,t){const n=String(e||""),r=/^(\d{4})-(\d{2})(?:-\d{2})?$/.exec(n);if(!r)return n;const a=new Date(Date.UTC(Number(r[1]),Number(r[2])-1,1));if(a.getUTCFullYear()!==Number(r[1])||a.getUTCMonth()+1!==Number(r[2]))return n;try{return new Intl.DateTimeFormat(Dn(t),{year:"numeric",month:"short",timeZone:"UTC"}).format(a)}catch{return n}}function Xr(e,t){const n=Nn(e);return n?(n.setUTCDate(n.getUTCDate()+t),`${n.getUTCFullYear()}-${qe(n.getUTCMonth()+1)}-${qe(n.getUTCDate())}`):e}function Gr(e,t,n){if(!e)return"";if(t==="hourly"){const a=String(e.hour||e.label||""),o=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})/.exec(a);if(!o)return a;const[,i,s,l]=o,u=Number(s)*60+Number(l)+30,d=Math.floor(u/60)%24,f=u%60,h=Ae(i,n);if(u>=1440){const y=Ae(Xr(i,1),n);return`${h} ${s}:${l}–${y} ${qe(d)}:${qe(f)}`}return`${h} ${s}:${l}–${qe(d)}:${qe(f)}`}if(t==="monthly"){const a=String(e.month||e.label||"");return lt(a,n)}const r=String(e.day||e.label||"");return Ae(r,n)}function Lr(e,t,n,r){if(!e||!t)return null;const a=String(e),o=String(t);return n==="hourly"&&a===o?{start:`${Ae(a,r)} · 00:00`,end:"24:00"}:n==="monthly"?{start:lt(a,r),end:lt(o,r)}:{start:Ae(a,r),end:Ae(o,r)}}function Vr(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 Qr(e,t,n){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 lt(String(e.month||e.label||""),n);const r=String(e.day||e.label||"");return Ae(r,n,!1)}function Kr(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 Jr={},Le={};function je(e,t){try{const r=(Jr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in Le?Le[r]:Lt(r,r.split(":"))}catch{if(e in Le)return Le[e];const n=e?.match(Zr);return n?Lt(e,n.slice(1)):NaN}}const Zr=/([+-]\d\d):?(\d\d)?/;function Lt(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return Le[e]=n*60+r>0?n*60+r+a:n*60-r-a}class Ne extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(je(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)),Sn(this),Nt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new Ne(...n,t):new Ne(Date.now(),t)}withTimeZone(t){return new Ne(+this,t)}getTimezoneOffset(){const t=-je(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),Nt(this),+this}[Symbol.for("constructDateFrom")](t){return new Ne(+new Date(t),this.timeZone)}}const Vt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Vt.test(e))return;const t=e.replace(Vt,"$1UTC");Ne.prototype[t]&&(e.startsWith("get")?Ne.prototype[e]=function(){return this.internal[t]()}:(Ne.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),ea(this),+this},Ne.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Nt(this),+this}))});function Nt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-je(e.timeZone,e)*60))}function ea(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()),Sn(e)}function Sn(e){const t=je(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(-(je(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 f=je(e.timeZone,e),h=f>0?Math.floor(f):Math.ceil(f),x=-new Date(+e).getTimezoneOffset()-h,b=h!==n,N=x-l;if(b&&N){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N);const p=je(e.timeZone,e),k=p>0?Math.floor(p):Math.ceil(p),S=h-k;S&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+S),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+S))}}class ce extends Ne{static tz(t,...n){return n.length?new ce(...n,t):new ce(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} (${Kr(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 ce(+this,t)}[Symbol.for("constructDateFrom")](t){return new ce(+new Date(t),this.timeZone)}}const Wn=6048e5,ta=864e5,Qt=Symbol.for("constructDateFrom");function te(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Qt in e?e[Qt](t):e instanceof Date?new e.constructor(t):new Date(t)}function X(e,t){return te(t||e,e)}function On(e,t,n){const r=X(e,n?.in);return isNaN(t)?te(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Cn(e,t,n){const r=X(e,n?.in);if(isNaN(t))return te(e,NaN);if(!t)return r;const a=r.getDate(),o=te(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 na={};function Ke(){return na}function $e(e,t){const n=Ke(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=X(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 Ve(e,t){return $e(e,{...t,weekStartsOn:1})}function Pn(e,t){const n=X(e,t?.in),r=n.getFullYear(),a=te(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const o=Ve(a),i=te(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const s=Ve(i);return n.getTime()>=o.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Kt(e){const t=X(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 Ie(e,...t){const n=te.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function Qe(e,t){const n=X(e,t?.in);return n.setHours(0,0,0,0),n}function Ot(e,t,n){const[r,a]=Ie(n?.in,e,t),o=Qe(r),i=Qe(a),s=+o-Kt(o),l=+i-Kt(i);return Math.round((s-l)/ta)}function ra(e,t){const n=Pn(e,t),r=te(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Ve(r)}function aa(e,t,n){return On(e,t*7,n)}function oa(e,t,n){return Cn(e,t*12,n)}function sa(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=te.bind(null,a));const o=X(a,r);(!n||n<o||isNaN(+o))&&(n=o)}),te(r,n||NaN)}function ia(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=te.bind(null,a));const o=X(a,r);(!n||n>o||isNaN(+o))&&(n=o)}),te(r,n||NaN)}function la(e,t,n){const[r,a]=Ie(n?.in,e,t);return+Qe(r)==+Qe(a)}function Tn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function ca(e){return!(!Tn(e)&&typeof e!="number"||isNaN(+X(e)))}function _n(e,t,n){const[r,a]=Ie(n?.in,e,t),o=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return o*12+i}function ua(e,t){const n=X(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function $n(e,t){const[n,r]=Ie(e,t.start,t.end);return{start:n,end:r}}function da(e,t){const{start:n,end:r}=$n(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(te(n,i)),i.setMonth(i.getMonth()+s);return a?l.reverse():l}function fa(e,t){const n=X(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function ma(e,t){const n=X(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function En(e,t){const n=X(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function ha(e,t){const{start:n,end:r}=$n(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(te(n,i)),i.setFullYear(i.getFullYear()+s);return a?l.reverse():l}function Yn(e,t){const n=Ke(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=X(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 ya(e,t){return Yn(e,{...t,weekStartsOn:1})}const ga={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"}},ba=(e,t,n)=>{let r;const a=ga[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 ue(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const pa={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ka={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},wa={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},xa={date:ue({formats:pa,defaultWidth:"full"}),time:ue({formats:ka,defaultWidth:"full"}),dateTime:ue({formats:wa,defaultWidth:"full"})},va={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Ma=(e,t,n,r)=>va[e];function L(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 Da={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Na={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Sa={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"]},Wa={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"]},Oa={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"}},Ca={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"}},Pa=(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"},Ta={ordinalNumber:Pa,era:L({values:Da,defaultWidth:"wide"}),quarter:L({values:Na,defaultWidth:"wide",argumentCallback:e=>e-1}),month:L({values:Sa,defaultWidth:"wide"}),day:L({values:Wa,defaultWidth:"wide"}),dayPeriod:L({values:Oa,defaultWidth:"wide",formattingValues:Ca,defaultFormattingWidth:"wide"})};function V(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)?$a(s,d=>d.test(i)):_a(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 _a(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function $a(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Je(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 Ea=/^(\d+)(th|st|nd|rd)?/i,Ya=/\d+/i,Fa={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},ja={any:[/^b/i,/^(a|c)/i]},Aa={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Ia={any:[/1/i,/2/i,/3/i,/4/i]},Ba={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},za={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]},Ha={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},Ra={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]},qa={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},Ua={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}},Xa={ordinalNumber:Je({matchPattern:Ea,parsePattern:Ya,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:Fa,defaultMatchWidth:"wide",parsePatterns:ja,defaultParseWidth:"any"}),quarter:V({matchPatterns:Aa,defaultMatchWidth:"wide",parsePatterns:Ia,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Ba,defaultMatchWidth:"wide",parsePatterns:za,defaultParseWidth:"any"}),day:V({matchPatterns:Ha,defaultMatchWidth:"wide",parsePatterns:Ra,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:qa,defaultMatchWidth:"any",parsePatterns:Ua,defaultParseWidth:"any"})},_e={code:"en-US",formatDistance:ba,formatLong:xa,formatRelative:Ma,localize:Ta,match:Xa,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ga(e,t){const n=X(e,t?.in);return Ot(n,En(n))+1}function Ct(e,t){const n=X(e,t?.in),r=+Ve(n)-+ra(n);return Math.round(r/Wn)+1}function Fn(e,t){const n=X(e,t?.in),r=n.getFullYear(),a=Ke(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=te(t?.in||e,0);i.setFullYear(r+1,0,o),i.setHours(0,0,0,0);const s=$e(i,t),l=te(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 La(e,t){const n=Ke(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=Fn(e,t),o=te(t?.in||e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),$e(o,t)}function Pt(e,t){const n=X(e,t?.in),r=+$e(n,t)-+La(n,t);return Math.round(r/Wn)+1}function R(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 R(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):R(n+1,2)},d(e,t){return R(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 R(e.getHours()%12||12,t.length)},H(e,t){return R(e.getHours(),t.length)},m(e,t){return R(e.getMinutes(),t.length)},s(e,t){return R(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return R(a,t.length)}},ze={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Jt={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=Fn(e,r),o=a>0?a:1-a;if(t==="YY"){const i=o%100;return R(i,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):R(o,t.length)},R:function(e,t){const n=Pn(e);return R(n,t.length)},u:function(e,t){const n=e.getFullYear();return R(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 R(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 R(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 R(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=Pt(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):R(a,t.length)},I:function(e,t,n){const r=Ct(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):R(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=Ga(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):R(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 R(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 R(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 R(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=ze.noon:r===0?a=ze.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=ze.evening:r>=12?a=ze.afternoon:r>=4?a=ze.morning:a=ze.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"}):R(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):R(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 en(r);case"XXXX":case"XX":return Fe(r);default:return Fe(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return en(r);case"xxxx":case"xx":return Fe(r);default:return Fe(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+Zt(r,":");default:return"GMT"+Fe(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+Zt(r,":");default:return"GMT"+Fe(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return R(r,t.length)},T:function(e,t,n){return R(+e,t.length)}};function Zt(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+R(o,2)}function en(e,t){return e%60===0?(e>0?"-":"+")+R(Math.abs(e)/60,2):Fe(e,t)}function Fe(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=R(Math.trunc(r/60),2),o=R(r%60,2);return n+a+t+o}const tn=(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"})}},jn=(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"})}},Va=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return tn(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}}",tn(r,t)).replace("{{time}}",jn(a,t))},Qa={p:jn,P:Va},Ka=/^D+$/,Ja=/^Y+$/,Za=["D","DD","YY","YYYY"];function eo(e){return Ka.test(e)}function to(e){return Ja.test(e)}function no(e,t,n){const r=ro(e,t,n);if(console.warn(r),Za.includes(e))throw new RangeError(r)}function ro(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 ao=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,oo=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,so=/^'([^]*?)'?$/,io=/''/g,lo=/[a-zA-Z]/;function Se(e,t,n){const r=Ke(),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=X(e,n?.in);if(!ca(s))throw new RangeError("Invalid time value");let l=t.match(oo).map(u=>{const d=u[0];if(d==="p"||d==="P"){const f=Qa[d];return f(u,a.formatLong)}return u}).join("").match(ao).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const d=u[0];if(d==="'")return{isToken:!1,value:co(u)};if(Jt[d])return{isToken:!0,value:u};if(d.match(lo))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&&to(d)||!n?.useAdditionalDayOfYearTokens&&eo(d))&&no(d,t,String(e));const f=Jt[d[0]];return f(s,d,a.localize,c)}).join("")}function co(e){const t=e.match(so);return t?t[1].replace(io,"'"):e}function uo(e,t){const n=X(e,t?.in),r=n.getFullYear(),a=n.getMonth(),o=te(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function fo(e,t){return X(e,t?.in).getMonth()}function mo(e,t){return X(e,t?.in).getFullYear()}function ho(e,t){return+X(e)>+X(t)}function yo(e,t){return+X(e)<+X(t)}function go(e,t,n){const[r,a]=Ie(n?.in,e,t);return+$e(r,n)==+$e(a,n)}function bo(e,t,n){const[r,a]=Ie(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function po(e,t,n){const[r,a]=Ie(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function ko(e,t,n){const r=X(e,n?.in),a=r.getFullYear(),o=r.getDate(),i=te(e,0);i.setFullYear(a,t,15),i.setHours(0,0,0,0);const s=uo(i);return r.setMonth(t,Math.min(o,s)),r}function wo(e,t,n){const r=X(e,n?.in);return isNaN(+r)?te(e,NaN):(r.setFullYear(t),r)}const nn=5,xo=4;function vo(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),o=t.addDays(a,nn*7-1);return t.getMonth(e)===t.getMonth(o)?nn:xo}function An(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 Mo(e,t){const n=An(e,t),r=vo(e,t);return t.addDays(n,r*7-1)}const Do={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}}年近く"}},No=(e,t,n)=>{n=n||{};let r;const a=Do[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},So={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},Wo={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Oo={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Co={date:ue({formats:So,defaultWidth:"full"}),time:ue({formats:Wo,defaultWidth:"full"}),dateTime:ue({formats:Oo,defaultWidth:"full"})},Po={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},To=(e,t,n,r)=>Po[e],_o={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},$o={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},Eo={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月"]},Yo={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},Fo={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:"深夜"}},jo={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:"深夜"}},Ao=(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}`}},Io={ordinalNumber:Ao,era:L({values:_o,defaultWidth:"wide"}),quarter:L({values:$o,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:L({values:Eo,defaultWidth:"wide"}),day:L({values:Yo,defaultWidth:"wide"}),dayPeriod:L({values:Fo,defaultWidth:"wide",formattingValues:jo,defaultFormattingWidth:"wide"})},Bo=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,zo=/\d+/i,Ho={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},Ro={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},qo={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},Uo={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Xo={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},Go={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Lo={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Vo={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},Qo={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Ko={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Jo={ordinalNumber:Je({matchPattern:Bo,parsePattern:zo,valueCallback:function(e){return parseInt(e,10)}}),era:V({matchPatterns:Ho,defaultMatchWidth:"wide",parsePatterns:Ro,defaultParseWidth:"any"}),quarter:V({matchPatterns:qo,defaultMatchWidth:"wide",parsePatterns:Uo,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Xo,defaultMatchWidth:"wide",parsePatterns:Go,defaultParseWidth:"any"}),day:V({matchPatterns:Lo,defaultMatchWidth:"wide",parsePatterns:Vo,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:Qo,defaultMatchWidth:"any",parsePatterns:Ko,defaultParseWidth:"any"})},Zo={code:"ja",formatDistance:No,formatLong:Co,formatRelative:To,localize:Io,match:Jo,options:{weekStartsOn:0,firstWeekContainsDate:1}},es={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}}년"}},ts=(e,t,n)=>{let r;const a=es[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},ns={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},rs={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},as={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},os={date:ue({formats:ns,defaultWidth:"full"}),time:ue({formats:rs,defaultWidth:"full"}),dateTime:ue({formats:as,defaultWidth:"full"})},ss={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},is=(e,t,n,r)=>ss[e],ls={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},cs={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},us={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월"]},ds={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},fs={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:"밤"}},ms={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:"밤"}},hs=(e,t)=>{const n=Number(e);switch(String(t?.unit)){case"minute":case"second":return String(n);case"date":return n+"일";default:return n+"번째"}},ys={ordinalNumber:hs,era:L({values:ls,defaultWidth:"wide"}),quarter:L({values:cs,defaultWidth:"wide",argumentCallback:e=>e-1}),month:L({values:us,defaultWidth:"wide"}),day:L({values:ds,defaultWidth:"wide"}),dayPeriod:L({values:fs,defaultWidth:"wide",formattingValues:ms,defaultFormattingWidth:"wide"})},gs=/^(\d+)(일|번째)?/i,bs=/\d+/i,ps={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},ks={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},ws={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},xs={any:[/1/i,/2/i,/3/i,/4/i]},vs={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},Ms={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Ds={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},Ns={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},Ss={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},Ws={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},Os={ordinalNumber:Je({matchPattern:gs,parsePattern:bs,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:ps,defaultMatchWidth:"wide",parsePatterns:ks,defaultParseWidth:"any"}),quarter:V({matchPatterns:ws,defaultMatchWidth:"wide",parsePatterns:xs,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:vs,defaultMatchWidth:"wide",parsePatterns:Ms,defaultParseWidth:"any"}),day:V({matchPatterns:Ds,defaultMatchWidth:"wide",parsePatterns:Ns,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:Ss,defaultMatchWidth:"any",parsePatterns:Ws,defaultParseWidth:"any"})},Cs={code:"ko",formatDistance:ts,formatLong:os,formatRelative:is,localize:ys,match:Os,options:{weekStartsOn:0,firstWeekContainsDate:1}},Ps={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}} 年"}},Ts=(e,t,n)=>{let r;const a=Ps[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},_s={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},$s={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},Es={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Ys={date:ue({formats:_s,defaultWidth:"full"}),time:ue({formats:$s,defaultWidth:"full"}),dateTime:ue({formats:Es,defaultWidth:"full"})};function rn(e,t,n){const r="eeee p";return go(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const Fs={lastWeek:rn,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:rn,other:"PP p"},js=(e,t,n,r)=>{const a=Fs[e];return typeof a=="function"?a(t,n,r):a},As={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},Is={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},Bs={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},zs={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},Hs={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:"夜间"}},Rs={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:"夜间"}},qs=(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()}},Us={ordinalNumber:qs,era:L({values:As,defaultWidth:"wide"}),quarter:L({values:Is,defaultWidth:"wide",argumentCallback:e=>e-1}),month:L({values:Bs,defaultWidth:"wide"}),day:L({values:zs,defaultWidth:"wide"}),dayPeriod:L({values:Hs,defaultWidth:"wide",formattingValues:Rs,defaultFormattingWidth:"wide"})},Xs=/^(第\s*)?\d+(日|时|分|秒)?/i,Gs=/\d+/i,Ls={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Vs={any:[/^(前)/i,/^(公元)/i]},Qs={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Ks={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Js={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Zs={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]},ei={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},ti={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},ni={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},ri={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},ai={ordinalNumber:Je({matchPattern:Xs,parsePattern:Gs,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:Ls,defaultMatchWidth:"wide",parsePatterns:Vs,defaultParseWidth:"any"}),quarter:V({matchPatterns:Qs,defaultMatchWidth:"wide",parsePatterns:Ks,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Js,defaultMatchWidth:"wide",parsePatterns:Zs,defaultParseWidth:"any"}),day:V({matchPatterns:ei,defaultMatchWidth:"wide",parsePatterns:ti,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:ni,defaultMatchWidth:"any",parsePatterns:ri,defaultParseWidth:"any"})},oi={code:"zh-CN",formatDistance:Ts,formatLong:Ys,formatRelative:js,localize:Us,match:ai,options:{weekStartsOn:1,firstWeekContainsDate:4}},si={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}} 年"}},ii=(e,t,n)=>{let r;const a=si[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},li={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},ci={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},ui={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},di={date:ue({formats:li,defaultWidth:"full"}),time:ue({formats:ci,defaultWidth:"full"}),dateTime:ue({formats:ui,defaultWidth:"full"})},fi={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},mi=(e,t,n,r)=>fi[e],hi={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},yi={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},gi={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},bi={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},pi={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:"夜間"}},ki={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:"夜間"}},wi=(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}},xi={ordinalNumber:wi,era:L({values:hi,defaultWidth:"wide"}),quarter:L({values:yi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:L({values:gi,defaultWidth:"wide"}),day:L({values:bi,defaultWidth:"wide"}),dayPeriod:L({values:pi,defaultWidth:"wide",formattingValues:ki,defaultFormattingWidth:"wide"})},vi=/^(第\s*)?\d+(日|時|分|秒)?/i,Mi=/\d+/i,Di={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Ni={any:[/^(前)/i,/^(公元)/i]},Si={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},Wi={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Oi={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Ci={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]},Pi={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Ti={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},_i={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},$i={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Ei={ordinalNumber:Je({matchPattern:vi,parsePattern:Mi,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:Di,defaultMatchWidth:"wide",parsePatterns:Ni,defaultParseWidth:"any"}),quarter:V({matchPatterns:Si,defaultMatchWidth:"wide",parsePatterns:Wi,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Oi,defaultMatchWidth:"wide",parsePatterns:Ci,defaultParseWidth:"any"}),day:V({matchPatterns:Pi,defaultMatchWidth:"wide",parsePatterns:Ti,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:_i,defaultMatchWidth:"any",parsePatterns:$i,defaultParseWidth:"any"})},Yi={code:"zh-TW",formatDistance:ii,formatLong:di,formatRelative:mi,localize:xi,match:Ei,options:{weekStartsOn:1,firstWeekContainsDate:4}},In={..._e,labels:{labelDayButton:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,s)=>Se(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)=>Se(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)=>Se(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)=>Se(a,o,{locale:_e,...t}),r(e,"cccc")}}};class me{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?ce.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 ce(r,a,o,this.options.timeZone):new Date(r,a,o),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):On(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):Cn(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):aa(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):oa(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):Ot(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):_n(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):da(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):ha(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):Mo(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):ya(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):ua(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):Yn(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):ma(r),this.format=(r,a,o)=>{const i=this.overrides?.format?this.overrides.format(r,a,this.options):Se(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):Ct(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):fo(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):mo(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Pt(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):ho(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):yo(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):Tn(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):la(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):bo(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):po(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):sa(r),this.min=r=>this.overrides?.min?this.overrides.min(r):ia(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):ko(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):wo(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):An(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Qe(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Ve(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):fa(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):En(r),this.options={locale:In,...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&&me.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,o=n?.code;if(o&&me.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)}}me.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 We=new me;class Bn{constructor(t,n,r=We){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 Fi{constructor(t,n){this.date=t,this.weeks=n}}class ji{constructor(t,n){this.days=n,this.weekNumber=t}}function Ai(e){return g.createElement("button",{...e})}function Ii(e){return g.createElement("span",{...e})}function Bi(e){const{size:t=24,orientation:n="left",className:r}=e;return g.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&g.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&g.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&g.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&g.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function zi(e){const{day:t,modifiers:n,...r}=e;return g.createElement("td",{...r})}function Hi(e){const{day:t,modifiers:n,...r}=e,a=g.useRef(null);return g.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),g.createElement("button",{ref:a,...r})}var D;(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"})(D||(D={}));var J;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(J||(J={}));var Me;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Me||(Me={}));var fe;(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"})(fe||(fe={}));function Ri(e){const{options:t,className:n,components:r,classNames:a,...o}=e,i=[a[D.Dropdown],n].join(" "),s=t?.find(({value:l})=>l===o.value);return g.createElement("span",{"data-disabled":o.disabled,className:a[D.DropdownRoot]},g.createElement(r.Select,{className:i,...o},t?.map(({value:l,label:c,disabled:u})=>g.createElement(r.Option,{key:l,value:l,disabled:u},c))),g.createElement("span",{className:a[D.CaptionLabel],"aria-hidden":!0},s?.label,g.createElement(r.Chevron,{orientation:"down",size:18,className:a[D.Chevron]})))}function qi(e){return g.createElement("div",{...e})}function Ui(e){return g.createElement("div",{...e})}function Xi(e){const{calendarMonth:t,displayIndex:n,...r}=e;return g.createElement("div",{...r},e.children)}function Gi(e){const{calendarMonth:t,displayIndex:n,...r}=e;return g.createElement("div",{...r})}function Li(e){return g.createElement("table",{...e})}function Vi(e){return g.createElement("div",{...e})}const zn=T.createContext(void 0);function Ze(){const e=T.useContext(zn);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Qi(e){const{components:t}=Ze();return g.createElement(t.Dropdown,{...e})}function Ki(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...o}=e,{components:i,classNames:s,labels:{labelPrevious:l,labelNext:c}}=Ze(),u=T.useCallback(f=>{a&&n?.(f)},[a,n]),d=T.useCallback(f=>{r&&t?.(f)},[r,t]);return g.createElement("nav",{...o},g.createElement(i.PreviousMonthButton,{type:"button",className:s[D.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":l(r),onClick:d},g.createElement(i.Chevron,{disabled:r?void 0:!0,className:s[D.Chevron],orientation:"left"})),g.createElement(i.NextMonthButton,{type:"button",className:s[D.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:u},g.createElement(i.Chevron,{disabled:a?void 0:!0,orientation:"right",className:s[D.Chevron]})))}function Ji(e){const{components:t}=Ze();return g.createElement(t.Button,{...e})}function Zi(e){return g.createElement("option",{...e})}function el(e){const{components:t}=Ze();return g.createElement(t.Button,{...e})}function tl(e){const{rootRef:t,...n}=e;return g.createElement("div",{...n,ref:t})}function nl(e){return g.createElement("select",{...e})}function rl(e){const{week:t,...n}=e;return g.createElement("tr",{...n})}function al(e){return g.createElement("th",{...e})}function ol(e){return g.createElement("thead",{"aria-hidden":!0},g.createElement("tr",{...e}))}function sl(e){const{week:t,...n}=e;return g.createElement("th",{...n})}function il(e){return g.createElement("th",{...e})}function ll(e){return g.createElement("tbody",{...e})}function cl(e){const{components:t}=Ze();return g.createElement(t.Dropdown,{...e})}const ul=Object.freeze(Object.defineProperty({__proto__:null,Button:Ai,CaptionLabel:Ii,Chevron:Bi,Day:zi,DayButton:Hi,Dropdown:Ri,DropdownNav:qi,Footer:Ui,Month:Xi,MonthCaption:Gi,MonthGrid:Li,Months:Vi,MonthsDropdown:Qi,Nav:Ki,NextMonthButton:Ji,Option:Zi,PreviousMonthButton:el,Root:tl,Select:nl,Week:rl,WeekNumber:sl,WeekNumberHeader:il,Weekday:al,Weekdays:ol,Weeks:ll,YearsDropdown:cl},Symbol.toStringTag,{value:"Module"}));function Oe(e,t,n=!1,r=We){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 Tt(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function ut(e){return!!(e&&typeof e=="object"&&"from"in e)}function _t(e){return!!(e&&typeof e=="object"&&"after"in e)}function $t(e){return!!(e&&typeof e=="object"&&"before"in e)}function Hn(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Rn(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Ce(e,t,n=We){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(Rn(s,n))return s.some(l=>a(e,l));if(ut(s))return Oe(s,e,!1,n);if(Hn(s))return Array.isArray(s.dayOfWeek)?s.dayOfWeek.includes(e.getDay()):s.dayOfWeek===e.getDay();if(Tt(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 _t(s)?o(e,s.after)>0:$t(s)?o(s.before,e)>0:typeof s=="function"?s(e):!1})}function dl(e,t,n,r,a){const{disabled:o,hidden:i,modifiers:s,showOutsideDays:l,broadcastCalendar:c,today:u=a.today()}=t,{isSameDay:d,isSameMonth:f,startOfMonth:h,isBefore:y,endOfMonth:x,isAfter:b}=a,N=n&&h(n),p=r&&x(r),k={[J.focused]:[],[J.outside]:[],[J.disabled]:[],[J.hidden]:[],[J.today]:[]},S={};for(const v of e){const{date:w,displayMonth:O}=v,W=!!(O&&!f(w,O)),Y=!!(N&&y(w,N)),j=!!(p&&b(w,p)),q=!!(o&&Ce(w,o,a)),re=!!(i&&Ce(w,i,a))||Y||j||!c&&!l&&W||c&&l===!1&&W,Q=d(w,u);W&&k.outside.push(v),q&&k.disabled.push(v),re&&k.hidden.push(v),Q&&k.today.push(v),s&&Object.keys(s).forEach(ne=>{const A=s?.[ne];A&&Ce(w,A,a)&&(S[ne]?S[ne].push(v):S[ne]=[v])})}return v=>{const w={[J.focused]:!1,[J.disabled]:!1,[J.hidden]:!1,[J.outside]:!1,[J.today]:!1},O={};for(const W in k){const Y=k[W];w[W]=Y.some(j=>j===v)}for(const W in S)O[W]=S[W].some(Y=>Y===v);return{...w,...O}}}function fl(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[Me[o]]&&a.push(t[Me[o]]),a),[t[D.Day]])}function ml(e){return{...ul,...e}}function hl(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 yl(){const e={};for(const t in D)e[D[t]]=`rdp-${D[t]}`;for(const t in J)e[J[t]]=`rdp-${J[t]}`;for(const t in Me)e[Me[t]]=`rdp-${Me[t]}`;for(const t in fe)e[fe[t]]=`rdp-${fe[t]}`;return e}function qn(e,t,n){return(n??new me(t)).formatMonthYear(e)}const gl=qn;function bl(e,t,n){return(n??new me(t)).format(e,"d")}function pl(e,t=We){return t.format(e,"LLLL")}function kl(e,t,n){return(n??new me(t)).format(e,"cccccc")}function wl(e,t=We){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function xl(){return""}function Un(e,t=We){return t.format(e,"yyyy")}const vl=Un,Ml=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:qn,formatDay:bl,formatMonthCaption:gl,formatMonthDropdown:pl,formatWeekNumber:wl,formatWeekNumberHeader:xl,formatWeekdayName:kl,formatYearCaption:vl,formatYearDropdown:Un},Symbol.toStringTag,{value:"Module"}));function Dl(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Ml,...e}}function Et(e,t,n,r){let a=(r??new me(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const Nl=Et;function Yt(e,t,n){return(n??new me(t)).formatMonthYear(e)}const Sl=Yt;function Xn(e,t,n,r){let a=(r??new me(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function Gn(e){return"Choose the Month"}function Ln(){return""}const Wl="Go to the Next Month";function Vn(e,t){return Wl}function Qn(e){return"Go to the Previous Month"}function Kn(e,t,n){return(n??new me(t)).format(e,"cccc")}function Jn(e,t){return`Week ${e}`}function Zn(e){return"Week Number"}function er(e){return"Choose the Year"}const Ol=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Sl,labelDay:Nl,labelDayButton:Et,labelGrid:Yt,labelGridcell:Xn,labelMonthDropdown:Gn,labelNav:Ln,labelNext:Vn,labelPrevious:Qn,labelWeekNumber:Jn,labelWeekNumberHeader:Zn,labelWeekday:Kn,labelYearDropdown:er},Symbol.toStringTag,{value:"Module"})),xe=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Cl(e,t){const n=t.locale?.labels??{};return{...Ol,...e??{},labelDayButton:xe(Et,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:xe(Gn,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:xe(Vn,e?.labelNext,n.labelNext),labelPrevious:xe(Qn,e?.labelPrevious,n.labelPrevious),labelWeekNumber:xe(Jn,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:xe(er,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:xe(Yt,e?.labelGrid,n.labelGrid),labelGridcell:xe(Xn,e?.labelGridcell,n.labelGridcell),labelNav:xe(Ln,e?.labelNav,n.labelNav),labelWeekNumberHeader:xe(Zn,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:xe(Kn,e?.labelWeekday,n.labelWeekday)}}function Pl(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(f=>{const h=r.formatMonthDropdown(f,a),y=c(f),x=t&&f<o(t)||n&&f>o(n)||!1;return{value:y,label:h,disabled:x}})}function Tl(e,t={},n={}){let r={...t?.[D.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function _l(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 $l(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(f=>{const h=n.formatYearDropdown(f,r);return{value:l(f),label:h,disabled:!1}})}function El(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 ce(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(ce.tz(e)),newDate:(s,l,c)=>new ce(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),f=(((l?.weekStartsOn??a)+6)%7-c.getDay()+7)%7;return c.setDate(c.getDate()+f),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 ce(l.getFullYear(),l.getMonth(),1,12,0,0,e),f=c.getFullYear()*12+c.getMonth();for(;d.getFullYear()*12+d.getMonth()<=f;)u.push(new ce(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 ce(l.getFullYear(),0,1,12,0,0,e);for(;d.getFullYear()<=c.getFullYear();)u.push(new ce(d,e)),d.setFullYear(d.getFullYear()+1,0,1);return u},getWeek:(s,l)=>{const c=i(s);return Pt(c,{weekStartsOn:l?.weekStartsOn??a,firstWeekContainsDate:l?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:s=>{const l=i(s);return Ct(l)},differenceInCalendarDays:(s,l)=>{const c=i(s),u=i(l);return Ot(c,u)},differenceInCalendarMonths:(s,l)=>{const c=i(s),u=i(l);return _n(c,u)}}}const et=e=>e instanceof HTMLElement?e:null,wt=e=>[...e.querySelectorAll("[data-animated-month]")??[]],Yl=e=>et(e.querySelector("[data-animated-month]")),xt=e=>et(e.querySelector("[data-animated-caption]")),vt=e=>et(e.querySelector("[data-animated-weeks]")),Fl=e=>et(e.querySelector("[data-animated-nav]")),jl=e=>et(e.querySelector("[data-animated-weekdays]"));function Al(e,t,{classNames:n,months:r,focused:a,dateLib:o}){const i=T.useRef(null),s=T.useRef(r),l=T.useRef(!1);T.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),f=d?n[fe.caption_after_enter]:n[fe.caption_before_enter],h=d?n[fe.weeks_after_enter]:n[fe.weeks_before_enter],y=i.current,x=e.current.cloneNode(!0);if(x instanceof HTMLElement?(wt(x).forEach(k=>{if(!(k instanceof HTMLElement))return;const S=Yl(k);S&&k.contains(S)&&k.removeChild(S);const v=xt(k);v&&v.classList.remove(f);const w=vt(k);w&&w.classList.remove(h)}),i.current=x):i.current=null,l.current||u||a)return;const b=y instanceof HTMLElement?wt(y):[],N=wt(e.current);if(N?.every(p=>p instanceof HTMLElement)&&b&&b.every(p=>p instanceof HTMLElement)){l.current=!0,e.current.style.isolation="isolate";const p=Fl(e.current);p&&(p.style.zIndex="1"),N.forEach((k,S)=>{const v=b[S];if(!v)return;k.style.position="relative",k.style.overflow="hidden";const w=xt(k);w&&w.classList.add(f);const O=vt(k);O&&O.classList.add(h);const W=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),p&&(p.style.zIndex=""),w&&w.classList.remove(f),O&&O.classList.remove(h),k.style.position="",k.style.overflow="",k.contains(v)&&k.removeChild(v)};v.style.pointerEvents="none",v.style.position="absolute",v.style.overflow="hidden",v.setAttribute("aria-hidden","true");const Y=jl(v);Y&&(Y.style.opacity="0");const j=xt(v);j&&(j.classList.add(d?n[fe.caption_before_exit]:n[fe.caption_after_exit]),j.addEventListener("animationend",W));const q=vt(v);q&&q.classList.add(d?n[fe.weeks_before_exit]:n[fe.weeks_after_exit]),k.insertBefore(v,k.firstChild)})}})}function Il(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:f,endOfISOWeek:h,endOfMonth:y,endOfWeek:x,isAfter:b,startOfBroadcastWeek:N,startOfISOWeek:p,startOfWeek:k}=r,S=l?N(a,r):i?p(a):k(a),v=l?f(o):i?h(y(o)):x(y(o)),w=t&&(l?f(t):i?h(t):x(t)),O=w&&b(v,w)?w:v,W=u(O,S),Y=d(o,a)+1,j=[];for(let Q=0;Q<=W;Q++){const ne=c(S,Q);j.push(ne)}const re=(l?35:42)*Y;if(s&&j.length<re){const Q=re-j.length;for(let ne=0;ne<Q;ne++){const A=c(j[j.length-1],1);j.push(A)}}return j}function Bl(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 zl(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 an(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 f=-1*(s-1);l=u(n,f)}return t&&c(l,t)<0&&(l=t),d(l)}function Hl(e,t,n,r){const{addDays:a,endOfBroadcastWeek:o,endOfISOWeek:i,endOfMonth:s,endOfWeek:l,getISOWeek:c,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:f,startOfWeek:h}=r,y=e.reduce((x,b)=>{const N=n.broadcastCalendar?d(b,r):n.ISOWeek?f(b):h(b),p=n.broadcastCalendar?o(b):n.ISOWeek?i(s(b)):l(s(b)),k=t.filter(O=>O>=N&&O<=p),S=n.broadcastCalendar?35:42;if(n.fixedWeeks&&k.length<S){const O=t.filter(W=>{const Y=S-k.length;return W>p&&W<=a(p,Y)});k.push(...O)}const v=k.reduce((O,W)=>{const Y=n.ISOWeek?c(W):u(W),j=O.find(re=>re.weekNumber===Y),q=new Bn(W,b,r);return j?j.days.push(q):O.push(new ji(Y,[q])),O},[]),w=new Fi(b,v);return x.push(w),x},[]);return n.reverseMonths?y.reverse():y}function Rl(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:f,toYear:h,fromMonth:y,toMonth:x}=e;!n&&y&&(n=y),!n&&f&&(n=t.newDate(f,0,1)),!r&&x&&(r=x),!r&&h&&(r=u(h,11,31));const b=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=i(n):f?n=u(f,0,1):!n&&b&&(n=a(l(e.today??d(),-100))),r?r=s(r):h?r=u(h,11,31):!r&&b&&(r=c(e.today??d())),[n&&o(n),r&&o(r)]}function ql(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 Ul(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 Xl(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function dt(e,t){const[n,r]=T.useState(e);return[t===void 0?n:t,r]}function Gl(e,t){const[n,r]=Rl(e,t),{startOfMonth:a,endOfMonth:o}=t,i=an(e,n,r,t),[s,l]=dt(i,e.month?i:void 0);T.useEffect(()=>{const S=an(e,n,r,t);l(S)},[e.timeZone]);const{months:c,weeks:u,days:d,previousMonth:f,nextMonth:h}=T.useMemo(()=>{const S=zl(s,r,{numberOfMonths:e.numberOfMonths},t),v=Il(S,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),w=Hl(S,v,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=Xl(w),W=Bl(w),Y=Ul(s,n,e,t),j=ql(s,r,e,t);return{months:w,weeks:O,days:W,previousMonth:Y,nextMonth:j}},[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:x}=e,b=S=>u.some(v=>v.days.some(w=>w.isEqualTo(S))),N=S=>{if(y)return;let v=a(S);n&&v<a(n)&&(v=a(n)),r&&v>a(r)&&(v=a(r)),l(v),x?.(v)};return{months:c,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:f,nextMonth:h,goToMonth:N,goToDay:S=>{b(S)||N(S.date)}}}var De;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(De||(De={}));function on(e){return!e[J.disabled]&&!e[J.hidden]&&!e[J.outside]}function Ll(e,t,n,r){let a,o=-1;for(const i of e){const s=t(i);on(s)&&(s[J.focused]&&o<De.FocusedModifier?(a=i,o=De.FocusedModifier):r?.isEqualTo(i)&&o<De.LastFocused?(a=i,o=De.LastFocused):n(i.date)&&o<De.Selected?(a=i,o=De.Selected):s[J.today]&&o<De.Today&&(a=i,o=De.Today))}return a||(a=e.find(i=>on(t(i)))),a}function Vl(e,t,n,r,a,o,i){const{ISOWeek:s,broadcastCalendar:l}=o,{addDays:c,addMonths:u,addWeeks:d,addYears:f,endOfBroadcastWeek:h,endOfISOWeek:y,endOfWeek:x,max:b,min:N,startOfBroadcastWeek:p,startOfISOWeek:k,startOfWeek:S}=i;let w={day:c,week:d,month:u,year:f,startOfWeek:O=>l?p(O,i):s?k(O):S(O),endOfWeek:O=>l?h(O):s?y(O):x(O)}[e](n,t==="after"?1:-1);return t==="before"&&r?w=b([r,w]):t==="after"&&a&&(w=N([a,w])),w}function tr(e,t,n,r,a,o,i,s=0){if(s>365)return;const l=Vl(e,t,n.date,r,a,o,i),c=!!(o.disabled&&Ce(l,o.disabled,i)),u=!!(o.hidden&&Ce(l,o.hidden,i)),d=l,f=new Bn(l,d,i);return!c&&!u?f:tr(e,t,f,r,a,o,i,s+1)}function Ql(e,t,n,r,a){const{autoFocus:o}=e,[i,s]=T.useState(),l=Ll(t.days,n,r||(()=>!1),i),[c,u]=T.useState(o?l:void 0);return{isFocusTarget:x=>!!l?.isEqualTo(x),setFocused:u,focused:c,blur:()=>{s(c),u(void 0)},moveFocus:(x,b)=>{if(!c)return;const N=tr(x,b,c,t.navStart,t.navEnd,e,a);N&&(e.disableNavigation&&!t.days.some(k=>k.isEqualTo(N))||(t.goToDay(N),u(N)))}}}function Kl(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=dt(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,x)=>{let b=[...s??[]];if(c(h)){if(s?.length===u||r&&s?.length===1)return;b=s?.filter(N=>!l(N,h))}else s?.length===d?b=[h]:b=[...b,h];return a||i(b),a?.(b,h,y,x),b},isSelected:c}}function Jl(e,t,n=0,r=0,a=!1,o=We){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 f=o.differenceInCalendarDays(d.to,d.from);r>0&&f>r?d={from:e,to:void 0}:n>1&&f<n&&(d={from:e,to:void 0})}return d}function Zl(e,t,n=We){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 sn(e,t,n=We){return Oe(e,t.from,!1,n)||Oe(e,t.to,!1,n)||Oe(t,e.from,!1,n)||Oe(t,e.to,!1,n)}function ec(e,t,n=We){const r=Array.isArray(t)?t:[t];if(r.filter(s=>typeof s!="function").some(s=>typeof s=="boolean"?s:n.isDate(s)?Oe(e,s,!1,n):Rn(s,n)?s.some(l=>Oe(e,l,!1,n)):ut(s)?s.from&&s.to?sn(e,{from:s.from,to:s.to},n):!1:Hn(s)?Zl(e,s.dayOfWeek,n):Tt(s)?n.isAfter(s.before,s.after)?sn(e,{from:n.addDays(s.after,1),to:n.addDays(s.before,-1)},n):Ce(e.from,s,n)||Ce(e.to,s,n):_t(s)||$t(s)?Ce(e.from,s,n)||Ce(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 tc(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:a,selected:o,required:i,onSelect:s}=e,[l,c]=dt(o,s?o:void 0),u=s?o:l;return{selected:u,select:(h,y,x)=>{const{min:b,max:N}=e;let p;if(h){const k=u?.from,S=u?.to,v=!!k&&!!S,w=!!k&&!!S&&t.isSameDay(k,S)&&t.isSameDay(h,k);a&&(v||!u?.from)?!i&&w?p=void 0:p={from:h,to:void 0}:p=Jl(h,u,b,N,i,t)}return r&&n&&p?.from&&p.to&&ec({from:p.from,to:p.to},n,t)&&(p.from=h,p.to=void 0),s||c(p),s?.(p,h,y,x),p},isSelected:h=>u&&Oe(u,h,!1,t)}}function nc(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=dt(n,a?n:void 0),s=a?n:o,{isSameDay:l}=t;return{selected:s,select:(d,f,h)=>{let y=d;return!r&&s&&s&&l(d,s)&&(y=void 0),a||i(y),a?.(y,d,f,h),y},isSelected:d=>s?l(s,d):!1}}function rc(e,t){const n=nc(e,t),r=Kl(e,t),a=tc(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function ge(e,t){return e instanceof ce&&e.timeZone===t?e:new ce(e,t)}function He(e,t,n){return ge(e,t)}function ln(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?He(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?He(r,t):r):ut(e)?{...e,from:e.from?ge(e.from,t):e.from,to:e.to?ge(e.to,t):e.to}:Tt(e)?{before:He(e.before,t),after:He(e.after,t)}:_t(e)?{after:He(e.after,t)}:$t(e)?{before:He(e.before,t)}:e}function Mt(e,t,n){return e&&(Array.isArray(e)?e.map(r=>ln(r,t)):ln(e,t))}function ac(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=ge(t.today,n)),t.month&&(t.month=ge(t.month,n)),t.defaultMonth&&(t.defaultMonth=ge(t.defaultMonth,n)),t.startMonth&&(t.startMonth=ge(t.startMonth,n)),t.endMonth&&(t.endMonth=ge(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=ge(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(_=>ge(_,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?ge(t.selected.from,n):t.selected.from,to:t.selected.to?ge(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=Mt(t.disabled,n)),t.hidden!==void 0&&(t.hidden=Mt(t.hidden,n)),t.modifiers)){const _={};Object.keys(t.modifiers).forEach(H=>{_[H]=Mt(t.modifiers?.[H],n)}),t.modifiers=_}const{components:r,formatters:a,labels:o,dateLib:i,locale:s,classNames:l}=T.useMemo(()=>{const _={...In,...t.locale},H=t.broadcastCalendar?1:t.weekStartsOn,C=t.noonSafe&&t.timeZone?El(t.timeZone,{weekStartsOn:H,locale:_}):void 0,B=t.dateLib&&C?{...C,...t.dateLib}:t.dateLib??C,de=new me({locale:_,weekStartsOn:H,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},B);return{dateLib:de,components:ml(t.components),formatters:Dl(t.formatters),labels:Cl(t.labels,de.options),locale:_,classNames:{...yl(),...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:f=1,onDayBlur:h,onDayClick:y,onDayFocus:x,onDayKeyDown:b,onDayMouseEnter:N,onDayMouseLeave:p,onNextClick:k,onPrevClick:S,showWeekNumber:v,styles:w}=t,{formatCaption:O,formatDay:W,formatMonthDropdown:Y,formatWeekNumber:j,formatWeekNumberHeader:q,formatWeekdayName:re,formatYearDropdown:Q}=a,ne=Gl(t,i),{days:A,months:G,navStart:se,navEnd:ae,previousMonth:ee,nextMonth:P,goToMonth:$}=ne,K=dl(A,t,se,ae,i),{isSelected:M,select:U,selected:ie}=rc(t,i)??{},{blur:Ee,focused:be,isFocusTarget:pe,moveFocus:Pe,setFocused:he}=Ql(t,ne,K,M??(()=>!1),i),{labelDayButton:ke,labelGridcell:Be,labelGrid:E,labelMonthDropdown:Z,labelNav:we,labelPrevious:Ye,labelNext:Ue,labelWeekday:tt,labelWeekNumber:nt,labelWeekNumberHeader:Xe,labelYearDropdown:ft}=o,mt=T.useMemo(()=>_l(i,t.ISOWeek,t.broadcastCalendar,t.today),[i,t.ISOWeek,t.broadcastCalendar,t.today]),rt=u!==void 0||y!==void 0,oe=T.useCallback(()=>{ee&&($(ee),S?.(ee))},[ee,$,S]),I=T.useCallback(()=>{P&&($(P),k?.(P))},[$,P,k]),le=T.useCallback((_,H)=>C=>{C.preventDefault(),C.stopPropagation(),he(_),!H.disabled&&(U?.(_.date,H,C),y?.(_.date,H,C))},[U,y,he]),ye=T.useCallback((_,H)=>C=>{he(_),x?.(_.date,H,C)},[x,he]),at=T.useCallback((_,H)=>C=>{Ee(),h?.(_.date,H,C)},[Ee,h]),Ft=T.useCallback((_,H)=>C=>{const B={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(B[C.key]){C.preventDefault(),C.stopPropagation();const[de,F]=B[C.key];Pe(de,F)}b?.(_.date,H,C)},[Pe,b,t.dir]),ar=T.useCallback((_,H)=>C=>{N?.(_.date,H,C)},[N]),or=T.useCallback((_,H)=>C=>{p?.(_.date,H,C)},[p]),sr=T.useCallback(_=>H=>{const C=Number(H.target.value),B=i.setMonth(i.startOfMonth(_),C);$(B)},[i,$]),ir=T.useCallback(_=>H=>{const C=Number(H.target.value),B=i.setYear(i.startOfMonth(_),C);$(B)},[i,$]),{className:lr,style:cr}=T.useMemo(()=>({className:[l[D.Root],t.className].filter(Boolean).join(" "),style:{...w?.[D.Root],...t.style}}),[l,t.className,t.style,w]),ur=hl(t),jt=T.useRef(null);Al(jt,!!t.animate,{classNames:l,months:G,focused:be,dateLib:i});const dr={dayPickerProps:t,selected:ie,select:U,isSelected:M,months:G,nextMonth:P,previousMonth:ee,goToMonth:$,getModifiers:K,components:r,classNames:l,styles:w,labels:o,formatters:a};return g.createElement(zn.Provider,{value:dr},g.createElement(r.Root,{rootRef:t.animate?jt:void 0,className:lr,style:cr,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"],...ur},g.createElement(r.Months,{className:l[D.Months],style:w?.[D.Months]},!t.hideNavigation&&!d&&g.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[D.Nav],style:w?.[D.Nav],"aria-label":we(),onPreviousClick:oe,onNextClick:I,previousMonth:ee,nextMonth:P}),G.map((_,H)=>g.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:l[D.Month],style:w?.[D.Month],key:H,displayIndex:H,calendarMonth:_},d==="around"&&!t.hideNavigation&&H===0&&g.createElement(r.PreviousMonthButton,{type:"button",className:l[D.PreviousMonthButton],tabIndex:ee?void 0:-1,"aria-disabled":ee?void 0:!0,"aria-label":Ye(ee),onClick:oe,"data-animated-button":t.animate?"true":void 0},g.createElement(r.Chevron,{disabled:ee?void 0:!0,className:l[D.Chevron],orientation:t.dir==="rtl"?"right":"left"})),g.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:l[D.MonthCaption],style:w?.[D.MonthCaption],calendarMonth:_,displayIndex:H},c?.startsWith("dropdown")?g.createElement(r.DropdownNav,{className:l[D.Dropdowns],style:w?.[D.Dropdowns]},(()=>{const C=c==="dropdown"||c==="dropdown-months"?g.createElement(r.MonthsDropdown,{key:"month",className:l[D.MonthsDropdown],"aria-label":Z(),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:sr(_.date),options:Pl(_.date,se,ae,a,i),style:w?.[D.Dropdown],value:i.getMonth(_.date)}):g.createElement("span",{key:"month"},Y(_.date,i)),B=c==="dropdown"||c==="dropdown-years"?g.createElement(r.YearsDropdown,{key:"year",className:l[D.YearsDropdown],"aria-label":ft(i.options),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:ir(_.date),options:$l(se,ae,a,i,!!t.reverseYears),style:w?.[D.Dropdown],value:i.getYear(_.date)}):g.createElement("span",{key:"year"},Q(_.date,i));return i.getMonthYearOrder()==="year-first"?[B,C]:[C,B]})(),g.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},O(_.date,i.options,i))):g.createElement(r.CaptionLabel,{className:l[D.CaptionLabel],role:"status","aria-live":"polite"},O(_.date,i.options,i))),d==="around"&&!t.hideNavigation&&H===f-1&&g.createElement(r.NextMonthButton,{type:"button",className:l[D.NextMonthButton],tabIndex:P?void 0:-1,"aria-disabled":P?void 0:!0,"aria-label":Ue(P),onClick:I,"data-animated-button":t.animate?"true":void 0},g.createElement(r.Chevron,{disabled:P?void 0:!0,className:l[D.Chevron],orientation:t.dir==="rtl"?"left":"right"})),H===f-1&&d==="after"&&!t.hideNavigation&&g.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[D.Nav],style:w?.[D.Nav],"aria-label":we(),onPreviousClick:oe,onNextClick:I,previousMonth:ee,nextMonth:P}),g.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":E(_.date,i.options,i)||void 0,className:l[D.MonthGrid],style:w?.[D.MonthGrid]},!t.hideWeekdays&&g.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:l[D.Weekdays],style:w?.[D.Weekdays]},v&&g.createElement(r.WeekNumberHeader,{"aria-label":Xe(i.options),className:l[D.WeekNumberHeader],style:w?.[D.WeekNumberHeader],scope:"col"},q()),mt.map(C=>g.createElement(r.Weekday,{"aria-label":tt(C,i.options,i),className:l[D.Weekday],key:String(C),style:w?.[D.Weekday],scope:"col"},re(C,i.options,i)))),g.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:l[D.Weeks],style:w?.[D.Weeks]},_.weeks.map(C=>g.createElement(r.Week,{className:l[D.Week],key:C.weekNumber,style:w?.[D.Week],week:C},v&&g.createElement(r.WeekNumber,{week:C,style:w?.[D.WeekNumber],"aria-label":nt(C.weekNumber,{locale:s}),className:l[D.WeekNumber],scope:"row",role:"rowheader"},j(C.weekNumber,i)),C.days.map(B=>{const{date:de}=B,F=K(B);if(F[J.focused]=!F.hidden&&!!be?.isEqualTo(B),F[Me.selected]=M?.(de)||F.selected,ut(ie)){const{from:ht,to:yt}=ie;F[Me.range_start]=!!(ht&&yt&&i.isSameDay(de,ht)),F[Me.range_end]=!!(ht&&yt&&i.isSameDay(de,yt)),F[Me.range_middle]=Oe(ie,de,!0,i)}const fr=Tl(F,w,t.modifiersStyles),mr=fl(F,l,t.modifiersClassNames),hr=!rt&&!F.hidden?Be(de,F,i.options,i):void 0;return g.createElement(r.Day,{key:`${B.isoDate}_${B.displayMonthId}`,day:B,modifiers:F,className:mr.join(" "),style:fr,role:"gridcell","aria-selected":F.selected||void 0,"aria-label":hr,"data-day":B.isoDate,"data-month":B.outside?B.dateMonthId:void 0,"data-selected":F.selected||void 0,"data-disabled":F.disabled||void 0,"data-hidden":F.hidden||void 0,"data-outside":B.outside||void 0,"data-focused":F.focused||void 0,"data-today":F.today||void 0},!F.hidden&&rt?g.createElement(r.DayButton,{className:l[D.DayButton],style:w?.[D.DayButton],type:"button",day:B,modifiers:F,disabled:!F.focused&&F.disabled||void 0,"aria-disabled":F.focused&&F.disabled||void 0,tabIndex:pe(B)?0:-1,"aria-label":ke(de,F,i.options,i),onClick:le(B,F),onBlur:at(B,F),onFocus:ye(B,F),onKeyDown:Ft(B,F),onMouseEnter:ar(B,F),onMouseLeave:or(B,F)},W(de,i.options,i)):!F.hidden&&W(B.date,i.options,i))})))))))),t.footer&&g.createElement(r.Footer,{className:l[D.Footer],style:w?.[D.Footer],role:"status","aria-live":"polite"},t.footer)))}const oc={en:_e,"zh-CN":oi,"zh-TW":Yi,ja:Zo,ko:Cs};function sc(e){return oc[e]||_e}function _c(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())?Se(r,"MMM d",t?{locale:t}:void 0):e}function cn({from:e,to:t,onApply:n,onCancel:r}){const a=T.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]=T.useState(a),s=sc(pn()),l=()=>{if(!o?.from)return;const u=Se(o.from,"yyyy-MM-dd"),d=o.to?Se(o.to,"yyyy-MM-dd"):u;n?.(u,d)},c=!!o?.from;return m.jsxs("div",{className:"p-4",children:[m.jsx(ac,{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"}}}),m.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&&m.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[Se(o.from,"MMM d, yyyy",{locale:s}),o.to&&o.to.getTime()!==o.from.getTime()?` — ${Se(o.to,"MMM d, yyyy",{locale:s})}`:""]}),m.jsx(It,{variant:"secondary",size:"sm",onClick:r,children:z("shared.action.cancel")}),m.jsx(It,{variant:"primary",size:"sm",onClick:l,disabled:!c,children:z("shared.action.apply")})]})]})}const ic=[{period:"day",labelKey:"trend.zoom.gran.30min"},{period:"month",labelKey:"trend.zoom.gran.day"},{period:"total",labelKey:"trend.zoom.gran.month"}],lc=24,Re="#10b981";function un(e){return e==="day"?"day":e==="total"?"total":"month"}function St(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 cc(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 uc(e,t){const n=/^(\d{4})-(\d{2})/.exec(String(e||"")),r=/^(\d{4})-(\d{2})/.exec(String(t||""));if(!n||!r)return lc;const a=Number(r[1])*12+Number(r[2])-(Number(n[1])*12+Number(n[2]))+1;return Math.max(1,a)}function dn(e,t){return t?e==="total"?{from:cc(t,-23),to:t}:{from:St(t,-29),to:t}:{from:null,to:null}}function dc(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 ot({label:e,value:t,sub:n,title:r}){return m.jsxs("div",{className:"flex flex-col gap-1.5 group",children:[m.jsx("span",{className:"text-[9px] font-bold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:e}),m.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?m.jsx("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono tabular-nums",children:n}):null]})}function fc({zoomConfig:e,period:t,from:n,to:r,timeZoneLabel:a,onClose:o,renderChart:i}){const{currency:s,rate:l}=wn(),{formatTokensTooltip:c}=xn(),u=M=>Wr(M),d=g.useMemo(()=>bn({timeZone:e?.timeZone,offsetMinutes:e?.tzOffsetMinutes,date:e?.now||new Date})||r||n||null,[e?.timeZone,e?.tzOffsetMinutes,e?.now,r,n]),[f,h]=g.useState(()=>un(t)),[y,x]=g.useState(d),[b,N]=g.useState(()=>dn(un(t),d)),[p,k]=g.useState(!1),[S,v]=g.useState(!1),[w,O]=g.useState(!1),W=g.useRef(!1),Y=d,j=M=>{h(M),M!=="day"&&N(dn(M,d))},q=g.useMemo(()=>f==="day"?{from:y,to:y,months:void 0}:f==="total"?{from:void 0,to:b.to,months:uc(b.from,b.to)}:{from:b.from,to:b.to,months:void 0},[f,y,b]),{rows:re,from:Q,to:ne,loading:A}=Er({...e,period:f,from:q.from,to:q.to,months:q.months}),G=g.useMemo(()=>Ur(re),[re]),se=g.useCallback(()=>{W.current||(W.current=!0,o())},[o]),ae=g.useCallback(()=>O(!0),[]),ee=M=>{M.target===M.currentTarget&&w&&se()};if(g.useEffect(()=>{if(!w)return;const M=window.setTimeout(se,250);return()=>window.clearTimeout(M)},[se,w]),g.useEffect(()=>{const M=U=>{U.key==="Escape"&&ae()};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[ae]),typeof document>"u")return null;const P=f==="day"&&!!y,$=f==="day"&&!!y&&(!Y||y<Y),K=G.totalCostUsd!=null?kn(G.totalCostUsd,{currency:s,rate:l}):null;return m.jsxs("div",{onAnimationEnd:ee,onClick:M=>{M.target===M.currentTarget&&ae()},className:ve("fixed inset-0 z-50 flex items-center justify-center p-3 md:p-6 backdrop-blur-md bg-black/15 dark:bg-black/40",w?"animate-tt-fade-out":"animate-tt-fade-in"),children:[m.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
- `}),m.jsxs("div",{className:ve("relative w-full max-w-6xl h-[88vh] backdrop-blur-2xl bg-white/90 dark:bg-oai-gray-900/90 border border-oai-gray-200/50 dark:border-white/10 shadow-2xl rounded-2xl flex flex-col md:flex-row overflow-hidden",w?"animate-tt-modal-exit":"animate-tt-modal"),children:[m.jsx("button",{type:"button",onClick:ae,"aria-label":z("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:m.jsx(Dr,{size:16})}),m.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:[m.jsxs("div",{children:[m.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[m.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[m.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:Re}}),m.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:Re}})]}),m.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:z("trend.zoom.badge")})]}),m.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:z("trend.monitor.label")}),a?m.jsx("p",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 mt-1.5 font-mono select-none",children:a}):null,m.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:z("trend.zoom.desc")})]}),m.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:[m.jsx(ot,{label:z("trend.zoom.stats.tokens"),value:u(G.totalTokens),title:c(G.totalTokens)}),K?m.jsx(ot,{label:z("trend.zoom.stats.cost"),value:K}):null,m.jsx(ot,{label:z("trend.zoom.stats.conversations"),value:G.conversationCount.toLocaleString()}),G.peak?m.jsx(ot,{label:z("trend.zoom.stats.peak"),value:u(G.peak.value),title:c(G.peak.value),sub:dc(G.peak.label)}):null]}),m.jsxs("div",{className:"flex flex-col gap-2 select-none",children:[m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx(Pr,{size:11,style:{color:Re}}),m.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:Re},children:z("trend.zoom.insight_badge")})]}),m.jsxs("div",{className:"pl-3.5 border-l-2 relative",style:{borderColor:Re},children:[m.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:Re}}),m.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:z(Vr(G),{active:G.activeBuckets,peak:u(G.peak?.value||0)})})]})]})]}),m.jsxs("div",{className:"flex-1 min-w-0 flex flex-col p-5 md:p-6 overflow-y-auto",children:[m.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6 pr-10",children:[m.jsx("div",{role:"tablist","aria-label":z("trend.zoom.gran.aria"),className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[11px]",children:ic.map(M=>m.jsx("button",{type:"button",role:"tab","aria-selected":f===M.period,onClick:()=>j(M.period),className:ve("px-2.5 py-1 rounded transition-colors",f===M.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:z(M.labelKey)},M.period))}),f==="day"?m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("button",{type:"button",onClick:()=>P&&x(M=>St(M,-1)),disabled:!P,"aria-label":z("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:m.jsx(Nr,{size:16})}),m.jsxs(Bt,{open:p,onOpenChange:k,children:[m.jsx(zt,{"aria-label":z("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||"—"}),m.jsx(Ht,{children:m.jsx(Rt,{sideOffset:8,side:"bottom",align:"center",className:"!z-[9999]",children:m.jsx(qt,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:m.jsx(cn,{from:y,to:y,onApply:M=>{M&&x(M),k(!1)},onCancel:()=>k(!1)})})})})]}),m.jsx("button",{type:"button",onClick:()=>$&&x(M=>St(M,1)),disabled:!$,"aria-label":z("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:m.jsx(Sr,{size:16})})]}):m.jsxs(Bt,{open:S,onOpenChange:v,children:[m.jsx(zt,{"aria-label":z("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:b.from&&b.to?b.from===b.to?b.from:`${b.from} → ${b.to}`:"—"}),m.jsx(Ht,{children:m.jsx(Rt,{sideOffset:8,side:"bottom",align:"end",className:"!z-[9999]",children:m.jsx(qt,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:m.jsx(cn,{from:b.from,to:b.to,onApply:(M,U)=>{M&&N({from:M,to:U||M}),v(!1)},onCancel:()=>v(!1)})})})})]})]}),m.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:A&&(!re||re.length===0)?m.jsx("div",{className:"flex-1 flex items-center justify-center",children:m.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:z("trend.zoom.loading")})}):i({rows:re,from:Q,to:ne,period:f,timeZoneLabel:a})})]})]})]})}function fn(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 mc(e,{clipOutliers:t=!0}={}){const n=Array.isArray(e)?e.filter(o=>Number.isFinite(o)&&o>0).sort((o,i)=>o-i):[];if(n.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const r=n.at(-1)??0;let a=r;if(t&&n.length>=4){const o=fn(n,.25),i=fn(n,.75),s=Math.max(i-o,0),l=i+s*1.5;r>l&&(a=Math.max(l,i,1))}return{rawMax:r,effectiveMax:Math.max(a,1),clippedValues:Array.isArray(e)?e.map(o=>!Number.isFinite(o)||o<=0?0:Math.min(o,Math.max(a,1))):[]}}const mn=["#f472b6","#38bdf8","#34d399","#fbbf24","#a78bfa","#fb7185","#2dd4bf","#f97316","#6366f1","#ec4899","#14b8a6","#f59e0b"],nr={Input:"#38bdf8","Cached Input":"#14b8a6",Output:"#a78bfa","Reasoning Output":"#fb7185"},hc={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 rr(e){const t=e.toLowerCase();for(const[a,o]of Object.entries(hc))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)%mn.length;return mn[r]}function yc(e){if(!e||typeof e!="object")return[];const t=new Map;for(const[n,r]of Object.entries(e)){const a=Number(r);if(!Number.isFinite(a)||a<=0)continue;const o=String(n).trim()||"unknown",i=o.toLowerCase(),s=t.get(i);if(!s){t.set(i,{name:o,value:a,displayWeight:a});continue}s.value+=a,a>s.displayWeight&&(s.name=o,s.displayWeight=a)}return Array.from(t.values()).map(({name:n,value:r})=>({type:"model",name:n,value:r})).sort((n,r)=>r.value-n.value)}function gc(e){if(!e)return[];const t=[];if(e.models&&typeof e.models=="object"&&t.push(...yc(e.models)),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 bc(e,t){return e?.future?"predicted":e?.missing?"unsynced":t>0?"real":"real_zero"}const pc=.35,hn=2,yn=4,kc=g.memo(function({value:t,displayValue:n,scale:r,index:a,row:o,totalBars:i,onMouseEnter:s,onMouseLeave:l}){const c=_r(),u=bc(o,t),d=u==="predicted"||u==="unsynced",f=r.effectiveMax>0?n/r.effectiveMax*100:0;let h,y;u==="real"?(h=`${Math.max(f,2)}%`,y=`${yn}px`):d&&f>0?(h=`${f}%`,y=`${yn}px`):(h=`${hn}px`,y=`${hn}px`);const x=u==="real"?gc(o):[],b=x.reduce((p,k)=>p+k.value,0),N=u!=="real"||b<=0;return m.jsxs(Or.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:p=>s(p,o,t,x,u,n),onMouseLeave:l,children:[m.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"}),m.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:N?m.jsx("div",{"data-trend-bar":"true","data-trend-kind":u,className:ve("h-full w-full group-hover:brightness-110 transition-all",u==="real"?"":"bg-oai-gray-100 dark:bg-oai-gray-800"),style:{opacity:d?pc:1,background:u==="real"?"#10b981":void 0}}):x.map((p,k)=>{const S=p.type==="token_type"?nr[p.name]:rr(p.name),v=`${p.value/b*100}%`;return m.jsx("div",{"data-trend-bar":k===0?"true":void 0,className:"w-full group-hover:brightness-110 transition-all",style:{height:v,background:S}},k)})})]})});function wc(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 gn=.98;function xc(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(gn,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(gn,i-n)}else t[n]=0}return t}function vc({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=g.useMemo(()=>Array.isArray(e)&&e.length?e:[],[e]),f=g.useMemo(()=>d.some(P=>P?.future),[d]),{rawValues:h,seriesValues:y,scale:x,interpolatedValues:b}=g.useMemo(()=>{const P=d.map(wc),$=P.map(K=>K??0);return{rawValues:P,seriesValues:$,scale:mc($,{clipOutliers:r!=="total"}),interpolatedValues:xc(P)}},[d,r]),{currency:N,rate:p}=wn(),{formatTokens:k,formatTokensTooltip:S}=xn(),v=zr(r),w=pn(),O=g.useMemo(()=>Lr(t,n,v,w),[t,v,w,n]),[W,Y]=g.useState(null),[j,q]=g.useState({x:0,y:0,shiftX:0,flipDown:!1}),[re,Q]=g.useState(!1),ne=g.useRef(null),A=g.useRef(null),G=g.useCallback((P,$,K,M,U,ie)=>{A.current&&(clearTimeout(A.current),A.current=null);const Ee=Gr($,v,w);Y({row:$,value:K,segments:M,timeLabel:Ee,kind:U,displayValue:ie});const be=P.currentTarget.querySelector('[data-trend-bar="true"]'),pe=be&&be.parentElement?be.parentElement.getBoundingClientRect():P.currentTarget.getBoundingClientRect(),Pe=ne.current;if(!Pe)return;const he=Pe.getBoundingClientRect(),ke=pe.left-he.left+pe.width/2,Be=pe.top-he.top,E=140;let Z=0;ke<E?Z=E-ke:ke>he.width-E&&(Z=he.width-E-ke);const we=96+(c?22:0)+(M.length?Math.min(M.length*30+24,174):0),Ye=Be<we+12;q({x:ke,y:Be,shiftX:Z,flipDown:Ye})},[c,v,w]),se=g.useCallback(()=>{A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{Y(null)},150)},[]),ae=g.useCallback(()=>{A.current&&(clearTimeout(A.current),A.current=null)},[]),ee=g.useCallback(()=>{se()},[se]);return m.jsxs("div",{ref:ne,className:ve("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&&m.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[m.jsxs("div",{children:[m.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:z("trend.monitor.label")}),o&&a&&m.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:a})]}),u&&m.jsx("button",{type:"button",onClick:()=>Q(!0),"aria-label":z("trend.zoom.open_aria"),title:z("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:m.jsx(Tr,{size:14})})]}),m.jsxs("div",{className:ve("space-y-3",c&&"flex flex-1 flex-col min-h-0 !space-y-0 gap-3"),children:[m.jsxs("div",{className:ve("relative",c&&"flex-1 min-h-0"),children:[m.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(P=>m.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-P}%`}},P))}),m.jsx("div",{className:ve("flex items-end gap-0.5 relative z-0",l),children:y.length>0?y.map((P,$)=>{const K=d[$],U=K?.missing||K?.future?Math.min(b[$]??0,x.effectiveMax):x.clippedValues[$]??0;return m.jsx(kc,{value:P,displayValue:U,scale:x,index:$,row:K,totalBars:y.length,onMouseEnter:G,onMouseLeave:se},$)}):m.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:m.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:z("trend.monitor.empty")})})})]}),c&&y.length>0&&m.jsx("div",{className:"flex gap-0.5 select-none",children:d.map((P,$)=>{const K=y.length-1,M=Math.max(1,Math.ceil(y.length/8)),U=$%M===0||$===K,ie=$===0?"justify-start":$===K?"justify-end":"justify-center";return m.jsx("div",{className:ve("flex-1 min-w-0 flex",ie),children:U&&m.jsx("span",{className:"text-[9px] text-oai-gray-400 dark:text-oai-gray-500 whitespace-nowrap font-mono",children:Qr(P,v,w)})},$)})}),f&&m.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:[m.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-3 rounded-[2px] bg-oai-gray-100 dark:bg-oai-gray-800 opacity-50"}),m.jsxs("span",{children:["~ ",z("trend.monitor.predicted")]})]}),O&&m.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:[m.jsx("span",{children:O.start}),m.jsx("span",{children:O.end})]})]}),W&&m.jsxs("div",{"data-trend-tooltip":"true",onMouseEnter:ae,onMouseLeave:ee,className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out",style:{left:`${j.x}px`,top:`${j.y}px`},children:[m.jsxs("div",{className:ve("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",j.flipDown?"top-[10px]":"bottom-[10px]"),style:{transform:`translateX(calc(-50% + ${j.shiftX}px))`},children:[m.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[m.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:W.timeLabel}),W.kind==="predicted"&&m.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:z("trend.monitor.predicted")}),W.kind==="unsynced"&&m.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:z("trend.monitor.unsynced")})]}),m.jsxs("div",{className:"flex flex-col gap-2",children:[m.jsxs("div",{className:"flex items-baseline gap-1",children:[m.jsx("span",{title:S(W.kind==="predicted"||W.kind==="unsynced"?W.displayValue:W.value),className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:W.kind==="predicted"||W.kind==="unsynced"?`~${k(Math.round(W.displayValue??0))}`:k(W.value)}),m.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:z("heatmap.unit.tokens")})]}),c&&(W.row?.total_cost_usd!=null||Number(W.row?.conversation_count)>0)&&m.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:[W.row?.total_cost_usd!=null&&m.jsxs("span",{children:[m.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:kn(W.row.total_cost_usd,{currency:N,rate:p})})," ",z("trend.zoom.tooltip.cost")]}),Number(W.row?.conversation_count)>0&&m.jsxs("span",{children:[m.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:Number(W.row.conversation_count).toLocaleString()})," ",z("trend.zoom.tooltip.conversations")]})]}),W.segments&&W.segments.length>0?m.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:[m.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:W.segments[0].type==="model"?z("heatmap.tooltip.model_breakdown"):z("heatmap.tooltip.token_breakdown")}),m.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:W.segments.map(({name:P,value:$,type:K})=>{const M=W.value||1,U=Math.round($/M*100),ie=K==="token_type"?nr[P]:rr(P);return m.jsxs("div",{className:"flex flex-col gap-1",children:[m.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[m.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[130px]",title:P,children:P}),m.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[m.jsx("span",{title:S($),className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:k($)}),m.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[U,"%"]})]})]}),m.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:m.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${U}%`,backgroundColor:ie,boxShadow:`0 0 4px ${ie}55`}})})]},P)})})]}):null]})]}),m.jsx("div",{className:ve("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",j.flipDown?"top-[6px] border-l border-t":"bottom-[6px] border-r border-b"),style:j.flipDown?{marginTop:"1px"}:{marginBottom:"1px"}})]}),re&&u&&m.jsx(fc,{zoomConfig:u,period:r,from:t,to:n,timeZoneLabel:a,onClose:()=>Q(!1),renderChart:P=>m.jsx(vc,{embedded:!0,isZoom:!0,chartHeightClass:"h-full",...P})})]})}export{cn as D,vc as T,sc as a,_c as f,rr as g,Ut as t,Er as u};