tokentracker-cli 1.2.2 → 1.3.4

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 (176) hide show
  1. package/README.md +2 -0
  2. package/README.zh-CN.md +2 -0
  3. package/THIRD_PARTY_NOTICES.md +92 -0
  4. package/dashboard/dist/THIRD_PARTY_NOTICES.txt +92 -0
  5. package/dashboard/dist/assets/AchievementBadge-CKjtQp-U.js +1 -0
  6. package/dashboard/dist/assets/AchievementsPage-DpOXrabE.js +2 -0
  7. package/dashboard/dist/assets/{AchievementsSection-BDqKRGyL.js → AchievementsSection-DiXyIoa0.js} +1 -1
  8. package/dashboard/dist/assets/BadgeDetailModal-CILTTkPF.js +1 -0
  9. package/dashboard/dist/assets/{BotAnimated-OQbsVw1O.js → BotAnimated-CrBHWiRi.js} +1 -1
  10. package/dashboard/dist/assets/Card-DUItW3xI.js +1 -0
  11. package/dashboard/dist/assets/CloudCheckoutPage-C_t_PDlG.js +1 -0
  12. package/dashboard/dist/assets/CloudPage-pvJUrhya.js +1 -0
  13. package/dashboard/dist/assets/CloudUsageExport-DQbDwiyk.js +4 -0
  14. package/dashboard/dist/assets/{CommandPalette-8B38qUs0.js → CommandPalette-BvHilrbV.js} +1 -1
  15. package/dashboard/dist/assets/CommunityStatsModal-CizxEYv-.js +1 -0
  16. package/dashboard/dist/assets/{ConfirmModal-Dhu_qmiM.js → ConfirmModal-h9nISVy7.js} +1 -1
  17. package/dashboard/dist/assets/Controls-BjdIonTX.js +1 -0
  18. package/dashboard/dist/assets/DashboardPage-Bxryr4qp.js +1 -0
  19. package/dashboard/dist/assets/DateRangePopover-DpKh-0l8.js +1 -0
  20. package/dashboard/dist/assets/{DevicePage-Bvz7JJwt.js → DevicePage-DUJR9hJC.js} +1 -1
  21. package/dashboard/dist/assets/DialogClose-BmVAmN-o.js +1 -0
  22. package/dashboard/dist/assets/DialogDescription-C0Cgq67g.js +1 -0
  23. package/dashboard/dist/assets/DialogTitle-BsaIbN8k.js +1 -0
  24. package/dashboard/dist/assets/{FadeIn-DDF5PqTX.js → FadeIn-BpSt2P_W.js} +1 -1
  25. package/dashboard/dist/assets/{HeaderGithubStar-CNzQFPol.js → HeaderGithubStar-Cc_VHB0R.js} +1 -1
  26. package/dashboard/dist/assets/{HoverTooltip-BKg9Z6gg.js → HoverTooltip-WFd21iP9.js} +1 -1
  27. package/dashboard/dist/assets/{IpCheckPage-BTdrLt08.js → IpCheckPage-C_mUPSRB.js} +1 -1
  28. package/dashboard/dist/assets/LandingPage-DVR8ClZO.js +2 -0
  29. package/dashboard/dist/assets/LeaderboardPage-D8ydzVpn.js +2 -0
  30. package/dashboard/dist/assets/LeaderboardProBadge-BjX4EFl2.js +1 -0
  31. package/dashboard/dist/assets/LeaderboardProfileModal-vbPMNn7W.js +73 -0
  32. package/dashboard/dist/assets/{LeaderboardProfilePage-CoqcDSTw.js → LeaderboardProfilePage-CqClmuA-.js} +2 -2
  33. package/dashboard/dist/assets/{LimitsPage-3RuSFnn-.js → LimitsPage-DaRggHge.js} +2 -2
  34. package/dashboard/dist/assets/{LocalOnlyNotice-D-OrIXty.js → LocalOnlyNotice-B6nDke_u.js} +1 -1
  35. package/dashboard/dist/assets/LoginCard-C28QVjd7.js +1 -0
  36. package/dashboard/dist/assets/LoginModal-Bx1btNhH.js +1 -0
  37. package/dashboard/dist/assets/LoginPage-DVOGNGYI.js +1 -0
  38. package/dashboard/dist/assets/PetPage-nOKryTde.js +1 -0
  39. package/dashboard/dist/assets/PopoverPopup-Ch6NLnu6.js +1 -0
  40. package/dashboard/dist/assets/{ProviderIcon-BTYVbUti.js → ProviderIcon-BRY2br-g.js} +1 -1
  41. package/dashboard/dist/assets/ResetPasswordPage-ko1OQecQ.js +1 -0
  42. package/dashboard/dist/assets/Select-Q8mS3_od.js +1 -0
  43. package/dashboard/dist/assets/SelectItemText-C1id8GDj.js +1 -0
  44. package/dashboard/dist/assets/SelfHostPage-Dzb2bDiM.js +1 -0
  45. package/dashboard/dist/assets/{ServiceStatusPage-Cb3k_C4g.js → ServiceStatusPage-ewFwz29J.js} +1 -1
  46. package/dashboard/dist/assets/SessionsPage-C6Y8kbnM.js +3 -0
  47. package/dashboard/dist/assets/SessionsPage-GV2fuNmd.css +1 -0
  48. package/dashboard/dist/assets/SettingsPage-nztCXEPs.js +2 -0
  49. package/dashboard/dist/assets/SkillsPage-CcG77tqU.js +1 -0
  50. package/dashboard/dist/assets/{TokenGalaxy-BGRF4I_8.js → TokenGalaxy-D2HDrbQR.js} +2 -2
  51. package/dashboard/dist/assets/TooltipPopup-C_bF2ZwO.js +1 -0
  52. package/dashboard/dist/assets/TrendMonitor-BcyoN5ns.js +19 -0
  53. package/dashboard/dist/assets/WidgetsPage-BirK0U_N.js +1 -0
  54. package/dashboard/dist/assets/{WrappedPage-BqyB7ezg.js → WrappedPage-thsXBuw6.js} +1 -1
  55. package/dashboard/dist/assets/__vite-browser-external-Bq8nj-JV.js +45 -0
  56. package/dashboard/dist/assets/__vite-browser-external-BwmeEfv7.css +1 -0
  57. package/dashboard/dist/assets/{agent-logos-CEcgxIBU.js → agent-logos-CK6SzhI7.js} +1 -1
  58. package/dashboard/dist/assets/arrow-left-c_NOSfoq.js +1 -0
  59. package/dashboard/dist/assets/arrow-right-CP7drKCT.js +1 -0
  60. package/dashboard/dist/assets/{arrow-up-right-CdzAw406.js → arrow-up-right-DQ6QfCpo.js} +1 -1
  61. package/dashboard/dist/assets/calendar-days-D_pxFQvT.js +1 -0
  62. package/dashboard/dist/assets/{check-DhEiHlwq.js → check-HAS31kTT.js} +1 -1
  63. package/dashboard/dist/assets/chevron-down-BIMuk6oN.js +1 -0
  64. package/dashboard/dist/assets/cloud-checkout-COmDwrUT.js +1 -0
  65. package/dashboard/dist/assets/composite-kLwqpqEk.js +1 -0
  66. package/dashboard/dist/assets/download-9RgsZIiH.js +1 -0
  67. package/dashboard/dist/assets/{external-link-SOFbVRrH.js → external-link-C_gYjHGF.js} +1 -1
  68. package/dashboard/dist/assets/{flame-BRdc7HDz.js → flame-BSsCvgT8.js} +1 -1
  69. package/dashboard/dist/assets/{format-tokens-DhIeweGK.js → format-tokens-N22Wqv1X.js} +1 -1
  70. package/dashboard/dist/assets/{host-mode-APftzzvz.js → host-mode-JzrhHX7F.js} +1 -1
  71. package/dashboard/dist/assets/{icons-D-wu8eUg.js → icons-pK99mIMv.js} +1 -1
  72. package/dashboard/dist/assets/{index-CZ3D1Q7c.js → index-BhviBroj.js} +1 -1
  73. package/dashboard/dist/assets/{index-D2g1tPGl.js → index-CmD84EJi.js} +1 -1
  74. package/dashboard/dist/assets/{index-CiWf_0mc.js → index-Dk43KNa6.js} +1 -1
  75. package/dashboard/dist/assets/info-D-RLFnSK.js +1 -0
  76. package/dashboard/dist/assets/{link-2-Cg6bEvjQ.js → link-2-BiKXW9mV.js} +1 -1
  77. package/dashboard/dist/assets/{loader-circle-Cd7h4LcE.js → loader-circle-KVUaEKV2.js} +1 -1
  78. package/dashboard/dist/assets/{modifiers.esm-B7hOvflM.js → modifiers.esm-5NK8j3mT.js} +1 -1
  79. package/dashboard/dist/assets/monitor-smartphone-u9yr-_Es.js +1 -0
  80. package/dashboard/dist/assets/os-DMmhX9tk.js +1 -0
  81. package/dashboard/dist/assets/play-D0MaDCOx.js +1 -0
  82. package/dashboard/dist/assets/plus-DTJVtoAJ.js +1 -0
  83. package/dashboard/dist/assets/provider-display-YhtG0I9Y.js +42 -0
  84. package/dashboard/dist/assets/{react-CfB5zBqR.js → react-gIVxucOB.js} +1 -1
  85. package/dashboard/dist/assets/safePolygon-C_sPnJ1L.js +1 -0
  86. package/dashboard/dist/assets/{search-DMtc6bBy.js → search-DdQRwFYV.js} +1 -1
  87. package/dashboard/dist/assets/server-M0rmbGWy.js +1 -0
  88. package/dashboard/dist/assets/shield-check-9-sqQKdD.js +1 -0
  89. package/dashboard/dist/assets/skills-api-B0qBWnuK.js +1 -0
  90. package/dashboard/dist/assets/{sortable.esm-O7ntEYCi.js → sortable.esm-iqbm7x5D.js} +1 -1
  91. package/dashboard/dist/assets/{store-D-FZbBaC.js → store-DstuWd4a.js} +1 -1
  92. package/dashboard/dist/assets/{terminal-Y3qDL50U.js → terminal-Dz0MxHNG.js} +1 -1
  93. package/dashboard/dist/assets/{trash-D_PaPrXq.js → trash-DBMFOFVz.js} +1 -1
  94. package/dashboard/dist/assets/{use-community-stats-DGTBo_4v.js → use-community-stats-CacbAcUR.js} +1 -1
  95. package/dashboard/dist/assets/{use-latest-request-guard-BpfCferm.js → use-latest-request-guard-nBuQVZOR.js} +1 -1
  96. package/dashboard/dist/assets/use-limits-display-prefs-fqg8hs6b.js +1 -0
  97. package/dashboard/dist/assets/use-native-settings-EAqAFx2x.js +1 -0
  98. package/dashboard/dist/assets/{use-ordered-list-CClTBWi0.js → use-ordered-list-DGLjjU6Q.js} +1 -1
  99. package/dashboard/dist/assets/use-pet-settings-C5MzWHE7.js +2 -0
  100. package/dashboard/dist/assets/use-reduced-motion-DK2oZ2uC.js +1 -0
  101. package/dashboard/dist/assets/{use-transform-CA5mW4u8.js → use-transform-C25eCuz_.js} +1 -1
  102. package/dashboard/dist/assets/use-usage-limits-BhqnEai3.js +1 -0
  103. package/dashboard/dist/assets/{useCurrency-CaOhUMcm.js → useCurrency-t3PYQi1l.js} +1 -1
  104. package/dashboard/dist/assets/usePositioner-C59mj6kG.js +1 -0
  105. package/dashboard/dist/assets/useTokenFormat-C0xQsBGf.js +1 -0
  106. package/dashboard/dist/assets/zap-CyH0tvKM.js +1 -0
  107. package/dashboard/dist/index.html +2 -2
  108. package/dashboard/dist/ip-check.html +2 -2
  109. package/dashboard/dist/leaderboard.html +2 -2
  110. package/dashboard/dist/pricing.html +6 -5
  111. package/dashboard/dist/privacy.html +3 -3
  112. package/dashboard/dist/share.html +2 -2
  113. package/dashboard/dist/terms.html +6 -6
  114. package/package.json +7 -2
  115. package/src/commands/device-login.js +60 -33
  116. package/src/commands/init.js +26 -7
  117. package/src/commands/serve.js +3 -3
  118. package/src/commands/sync.js +43 -22
  119. package/src/lib/atomic-json.js +27 -0
  120. package/src/lib/bearer-token.js +11 -0
  121. package/src/lib/cloud-account.js +4 -1
  122. package/src/lib/local-api.js +282 -69
  123. package/src/lib/openclaw-cli.js +104 -0
  124. package/src/lib/openclaw-hook.js +1 -46
  125. package/src/lib/openclaw-session-plugin.js +1 -59
  126. package/src/lib/pricing/seed-snapshot.json +1 -1
  127. package/src/lib/proxy-env.js +8 -3
  128. package/src/lib/rollout.js +15 -10
  129. package/src/lib/runtime-config.js +84 -14
  130. package/src/lib/skills-manager.js +8 -1
  131. package/src/lib/static-server.js +19 -4
  132. package/src/lib/upload-throttle.js +18 -4
  133. package/dashboard/dist/assets/AchievementBadge-B67_Cp1T.js +0 -1
  134. package/dashboard/dist/assets/AchievementsPage-DNJ5n0Bn.js +0 -2
  135. package/dashboard/dist/assets/BadgeDetailModal-DFL1MPcg.js +0 -1
  136. package/dashboard/dist/assets/Card-dqzakOoX.js +0 -1
  137. package/dashboard/dist/assets/CommunityStatsModal-DnbCiGms.js +0 -1
  138. package/dashboard/dist/assets/Controls-BgQflA-3.js +0 -1
  139. package/dashboard/dist/assets/DashboardPage-DeLRhWU_.js +0 -1
  140. package/dashboard/dist/assets/DialogClose-DUxjaRqf.js +0 -1
  141. package/dashboard/dist/assets/DialogDescription-h6XMtzIU.js +0 -1
  142. package/dashboard/dist/assets/DialogTitle-C8vpXqg8.js +0 -1
  143. package/dashboard/dist/assets/LandingPage-cjoagPAb.js +0 -2
  144. package/dashboard/dist/assets/LeaderboardAvatar-CJdG51hR.js +0 -1
  145. package/dashboard/dist/assets/LeaderboardPage-D-yf2rOQ.js +0 -2
  146. package/dashboard/dist/assets/LeaderboardProfileModal--hrfpUPF.js +0 -73
  147. package/dashboard/dist/assets/LoginCard-BiMyV2Uf.js +0 -1
  148. package/dashboard/dist/assets/LoginModal-D79CMZmf.js +0 -1
  149. package/dashboard/dist/assets/LoginPage-BLyGuPlG.js +0 -1
  150. package/dashboard/dist/assets/PetPage-Bv0K4k2t.js +0 -1
  151. package/dashboard/dist/assets/PopoverPopup-3eucO8QU.js +0 -1
  152. package/dashboard/dist/assets/ResetPasswordPage-VYMl84_-.js +0 -1
  153. package/dashboard/dist/assets/Select-D8N2TJz1.js +0 -1
  154. package/dashboard/dist/assets/SelectItemText-CoTR0Uwm.js +0 -1
  155. package/dashboard/dist/assets/SessionsPage-BngTWN7Q.css +0 -1
  156. package/dashboard/dist/assets/SessionsPage-BtH5iLbi.js +0 -3
  157. package/dashboard/dist/assets/SettingsPage-huGkex5G.js +0 -2
  158. package/dashboard/dist/assets/SkillsPage-B9usVOTU.js +0 -1
  159. package/dashboard/dist/assets/TrendMonitor-B8SKBsWO.js +0 -19
  160. package/dashboard/dist/assets/WidgetsPage-o_91L3Zi.js +0 -1
  161. package/dashboard/dist/assets/__vite-browser-external-Cj9D7QBh.js +0 -45
  162. package/dashboard/dist/assets/__vite-browser-external-gKkiQad5.css +0 -1
  163. package/dashboard/dist/assets/composite-DO7_ilHE.js +0 -1
  164. package/dashboard/dist/assets/download-kGPw24XQ.js +0 -1
  165. package/dashboard/dist/assets/info-Qgc5VctK.js +0 -1
  166. package/dashboard/dist/assets/monitor-smartphone-wFv5VQQf.js +0 -1
  167. package/dashboard/dist/assets/plus-0xHQei42.js +0 -1
  168. package/dashboard/dist/assets/provider-display-DNqVkqfp.js +0 -42
  169. package/dashboard/dist/assets/skills-api-BeN184fz.js +0 -1
  170. package/dashboard/dist/assets/use-limits-display-prefs-Drs82lSi.js +0 -1
  171. package/dashboard/dist/assets/use-pet-settings-DvaQ7XrL.js +0 -2
  172. package/dashboard/dist/assets/use-reduced-motion-Dg10dVuu.js +0 -1
  173. package/dashboard/dist/assets/use-session-efficiency-pref-BiYRXVlN.js +0 -1
  174. package/dashboard/dist/assets/use-usage-limits-B0uafB4O.js +0 -1
  175. package/dashboard/dist/assets/useTokenFormat-JjQCKdIr.js +0 -1
  176. package/dashboard/dist/assets/zap-Cqur2X5s.js +0 -1
@@ -1 +0,0 @@
1
- import{q as yt,r as i,w as ha,j as e,e as Y,X as Le,c as r,aL as ua,aE as bt,v as kt,aP as wt,aQ as vt,E as jt,aR as Nt,aS as Ct,aT as St,aU as _t,x as Rt,aV as Lt,aG as It,aF as Pt,aW as Bt,ac as Dt,a as Tt,aX as Et,at as At,H as Ot,B as X,R as $t,d as Ut,aB as Mt,ak as G}from"./__vite-browser-external-Cj9D7QBh.js";import{L as zt,I as xa}from"./LocalOnlyNotice-D-OrIXty.js";import{C as Ft}from"./Card-dqzakOoX.js";import{C as da}from"./ConfirmModal-Dhu_qmiM.js";import{I as Ia}from"./info-Qgc5VctK.js";import{P as ve}from"./ProviderIcon-BTYVbUti.js";import{m as wa}from"./react-CfB5zBqR.js";import{u as Vt}from"./useCurrency-CaOhUMcm.js";import{E as ma}from"./external-link-SOFbVRrH.js";import{L as Z}from"./loader-circle-Cd7h4LcE.js";import{M as Pa}from"./monitor-smartphone-wFv5VQQf.js";import{C as Ie}from"./check-DhEiHlwq.js";import{T as fa}from"./trash-D_PaPrXq.js";import{A as Kt}from"./index-D2g1tPGl.js";import{u as Ht}from"./use-reduced-motion-Dg10dVuu.js";import{u as Wt,k as qt,l as Gt,m as Qt,n as Xt,o as Yt,p as Jt,q as Zt,r as er,S as Ba,c as Da,d as Ta,C as pa,e as Ea,f as Aa,g as Oa,h as ta,j as ra,i as sa}from"./SelectItemText-CoTR0Uwm.js";import{t as ar,u as $a,n as tr}from"./composite-DO7_ilHE.js";import{g as rr,a as sr,p as nr,m as ir,b as or,d as lr,c as dr,e as cr,f as ur,s as mr,i as gr,u as va,h as ja,r as hr,j as Na,k as Ca,l as Sa,n as xr,o as fr}from"./skills-api-BeN184fz.js";import{F as pr}from"./flame-BRdc7HDz.js";import{S as ga}from"./search-DMtc6bBy.js";import{P as Ua}from"./plus-0xHQei42.js";import{D as Ma}from"./download-kGPw24XQ.js";import{P as za,a as Fa,b as Va,c as Ka,d as Ha}from"./PopoverPopup-3eucO8QU.js";import"./arrow-up-right-CdzAw406.js";import"./DialogTitle-C8vpXqg8.js";import"./store-D-FZbBaC.js";import"./DialogDescription-h6XMtzIU.js";const Wa={name:"circle-arrow-up",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]],aliases:["arrow-up-circle"]};Wa.node;const ya=yt(Wa),qa=i.forwardRef(function(s,d){const{render:l,className:p,style:h,...x}=s,w={open:Wt().useState("open")};return ha("span",s,{state:w,ref:d,props:[{"aria-hidden":!0,children:"▼"},x],stateAttributesMapping:ar})});function yr({options:a,value:s,onChange:d,leading:l=null,disabled:p=!1,ariaLabel:h,className:x=""}){const u=i.useRef(null),y=i.useRef(new Map),[w,b]=i.useState(null),S=(k,c)=>{const g=a.filter(_=>!p&&!_.disabled),m=g.findIndex(_=>_.id===c);if(m<0)return;let v=null;k.key==="ArrowRight"||k.key==="ArrowDown"?v=g[(m+1)%g.length]:k.key==="ArrowLeft"||k.key==="ArrowUp"?v=g[(m-1+g.length)%g.length]:k.key==="Home"?v=g[0]:k.key==="End"&&(v=g[g.length-1]),!(!v||v.id===c)&&(k.preventDefault(),d(v.id),y.current.get(v.id)?.focus())};return i.useLayoutEffect(()=>{const k=()=>{const g=y.current.get(s);if(!g||g.offsetWidth===0)return;const m={left:g.offsetLeft,top:g.offsetTop,width:g.offsetWidth,height:g.offsetHeight};b(v=>v&&v.left===m.left&&v.top===m.top&&v.width===m.width&&v.height===m.height?v:m)};if(k(),typeof ResizeObserver>"u"||!u.current)return;const c=new ResizeObserver(k);c.observe(u.current);for(const g of y.current.values())c.observe(g);return()=>c.disconnect()},[s,a]),e.jsxs("div",{ref:u,role:"tablist","aria-label":h,className:Y("relative inline-flex h-8 items-center gap-1 rounded-md border border-oai-gray-200 bg-oai-gray-100 p-[3px] dark:border-oai-gray-700 dark:bg-oai-gray-800",x),children:[l,w?e.jsx("span",{"aria-hidden":!0,className:"pointer-events-none absolute left-0 top-0 rounded-sm bg-white shadow-sm transition-[transform,width] duration-200 ease-out motion-reduce:transition-none dark:bg-oai-gray-700",style:{transform:`translate(${w.left}px, ${w.top}px)`,width:`${w.width}px`,height:`${w.height}px`}}):null,a.map(k=>{const c=k.id===s;return e.jsxs("button",{ref:g=>{g?y.current.set(k.id,g):y.current.delete(k.id)},type:"button",role:"tab","aria-selected":c,tabIndex:c?0:-1,disabled:p||k.disabled,onClick:()=>d(k.id),onKeyDown:g=>S(g,k.id),className:Y("relative z-10 inline-flex h-6 items-center gap-1.5 rounded px-2.5 text-xs font-medium transition-colors disabled:opacity-50",c?"text-oai-black dark:text-white":"text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-white"),children:[k.icon,k.label]},k.id)})]})}const br="tt:hint:dismissed:";function Ga(a){return br+a}function kr(a){if(typeof window>"u")return!1;try{return window.localStorage.getItem(Ga(a))==="1"}catch{return!1}}function wr({id:a,children:s,className:d,ariaLabel:l}){const[p,h]=i.useState(()=>kr(a)),x=i.useCallback(()=>{if(typeof window<"u")try{window.localStorage.setItem(Ga(a),"1")}catch{}h(!0)},[a]);return p?null:e.jsxs("div",{role:"note","aria-label":l||r("hint.dismissible_aria"),className:Y("relative rounded-lg border border-oai-gray-200 bg-oai-gray-50 px-4 py-3 text-sm text-oai-gray-700","dark:border-oai-gray-800 dark:bg-oai-gray-900/40 dark:text-oai-gray-300",d),children:[e.jsx("button",{type:"button",onClick:x,"aria-label":r("hint.dismiss"),className:"absolute top-2 right-2 inline-flex h-7 w-7 items-center justify-center rounded-md text-oai-gray-500 transition-colors hover:bg-oai-gray-200/70 hover:text-oai-gray-700 focus:outline-none focus:ring-2 focus:ring-oai-blue/30 dark:text-oai-gray-400 dark:hover:bg-oai-gray-800/70 dark:hover:text-oai-gray-200",children:e.jsx(Le,{className:"h-4 w-4","aria-hidden":"true"})}),e.jsxs("div",{className:"flex items-start gap-2 pr-8",children:[e.jsx(Ia,{className:"mt-0.5 h-4 w-4 shrink-0 text-oai-gray-500 dark:text-oai-gray-400","aria-hidden":"true"}),e.jsx("div",{className:"min-w-0 flex-1",children:s})]})]})}function vr(a){if(!a)return null;for(const s of a.elements){const d=s.tagName;if(d==="BUTTON"||d==="INPUT"){const l=s;if(l.type==="submit")return l}}return null}const jr="data-checked",Nr="data-unchecked";function Qa(a){return{checked(s){return a.indeterminate?{}:s?{[jr]:""}:{[Nr]:""}},...qt}}const Cr=i.createContext({disabled:!1});function Sr(){return i.useContext(Cr)}function _r(a,s,d,l=!0,p){const[h,x]=i.useState(),u=$a(p?`${p}-label`:void 0),y=a??s??h;return ua(()=>{const w=a||s||!l?void 0:Rr(d.current,u);h!==w&&x(w)}),y}function Rr(a,s){const d=Lr(a);if(d)return!d.id&&s&&(d.id=s),d.id||void 0}function Lr(a){if(!a)return;const s=a.parentElement;if(s&&s.tagName==="LABEL")return s;const d=a.id;if(d){const p=a.nextElementSibling;if(p&&p.htmlFor===d)return p}const l=a.labels;return l&&l[0]}const Ir=i.createContext(void 0);function Pr(){return i.useContext(Ir)}const Xa=i.createContext(void 0);function Br(){const a=i.useContext(Xa);if(a===void 0)throw new Error(bt(14));return a}const Dr="data-parent",Tr=i.forwardRef(function(s,d){const{checked:l,className:p,defaultChecked:h=!1,"aria-labelledby":x,disabled:u=!1,form:y,id:w,indeterminate:b=!1,inputRef:S,name:k,onCheckedChange:c,parent:g=!1,readOnly:m=!1,render:v,required:_=!1,uncheckedValue:$,value:U,nativeButton:K=!1,style:de,...fe}=s,{clearErrors:ne}=Gt(),{disabled:B,name:pe,setDirty:L,setFilled:M,setFocused:H,setTouched:T,state:ee,validationMode:J,validityData:je,validation:ce}=Qt(),Pe=Sr(),{labelId:We,registerControlId:Be,getDescriptionProps:De}=Xt(),R=Pr(),I=R?.allValues===void 0?void 0:R.parent,W=I!==void 0,D=B||Pe.disabled||R?.disabled||u,ae=pe??k,P=U??ae,Ne=$a(),Te=R?.registerControlId!==Be,ie=Yt({id:w||void 0,enabled:Te}),Ee=K?ie:Ne;let ue={};W&&(g?ue=I.getParentProps():P!==void 0&&(ue=I.getChildProps(P)));const{checked:Ae=l,indeterminate:Oe=b,onCheckedChange:qe,...Ce}=ue,$e=R?.value,me=i.useRef(null),{getButtonProps:Ge,buttonRef:Ue}=kt({disabled:D,native:K}),te=R?.validation??ce,[E,Se]=Jt({controlled:P!==void 0&&$e!==void 0&&!g?$e.includes(P):Ae,default:h,name:"Checkbox",state:"checked"}),ge=W?!!Ae:E,q=W&&Oe||b;Zt(me,Ne,E,void 0,!R&&!D,k);const he=I?.registerChildId,A=i.useRef(null),Me=te.registerInput,ye=R?P:void 0,_e=i.useCallback(N=>Me(N,{controlRef:me,value:ye}),[Me,ye]),ia=wt(S,A,g?void 0:_e),Qe=_r(x,We,A,!K,ie);ua(()=>{A.current&&(A.current.indeterminate=q),R||M(E)},[E,q,R,M]),er(E,()=>{R||(ne(ae),L(E!==je.initialValue),te.change(E))});const Xe=vt({checked:E,disabled:D,form:y,name:g?void 0:ae,id:K?void 0:ie,required:_,ref:ia,style:ae?St:_t,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(N){if(N.nativeEvent.defaultPrevented)return;if(m){N.preventDefault();return}const F=N.currentTarget.checked,oe=Rt(Lt,N.nativeEvent);if(c?.(F,oe),!oe.isCanceled&&(qe?.(F,oe),!oe.isCanceled&&(Se(F),P!==void 0&&R!==void 0&&!g&&!W))){const re=F?[...R.value,P]:R.value.filter(Re=>Re!==P);R.setValue(re,oe)}},onClick(N){N.stopPropagation()},onFocus(){me.current?.focus()}},U!==void 0?{value:(R?E&&U:U)||""}:jt,De,N=>te.getValidationProps(D,N));i.useEffect(()=>{if(!I||P===void 0)return;const N=I.disabledStatesRef.current;return N.set(P,D),()=>{N.delete(P)}},[I,D,P]);const z=i.useMemo(()=>({...ee,checked:ge,disabled:D,readOnly:m,required:_,indeterminate:q}),[ee,ge,D,m,_,q]),oa=Qa(z),Ye=ha("span",s,{state:z,ref:[Ue,me,d],props:[{id:Ee,role:"checkbox","aria-checked":q?"mixed":ge,"aria-readonly":m||void 0,"aria-required":_||void 0,"aria-labelledby":Qe,[Dr]:g?"":void 0,onFocus(){D||H(!0)},onBlur(){const N=A.current;N&&(T(!0),H(!1),J==="onBlur"&&te.commit(R?$e:N.checked))},onKeyDown(N){if(N.key!=="Enter"||(N.preventBaseUIHandler(),N.defaultPrevented))return;const F=A.current?.form??null,oe=N.currentTarget,re=N.nativeEvent,Re=N.preventDefault,Fe=re.preventDefault;let Ve=!1;N.preventDefault=()=>{Ve=!0,Re.call(N)},re.preventDefault=()=>{Ve=!0,Fe.call(re)},Fe.call(re),Ct(oe).queueMicrotask(()=>{N.preventDefault=Re,re.preventDefault=Fe,Ve||vr(F)?.click()})},onClick(N){if(m||D)return;N.preventDefault();const F=A.current;F&&Nt(F,N)}},fe,Ce,Ge,De,N=>te.getValidationProps(D,N)],stateAttributesMapping:oa}),ze=Ye.props.id;return ua(()=>{if(!(!he||g||P===void 0||ze===void 0))return he(P,ze)},[he,g,P,ze]),e.jsxs(Xa.Provider,{value:z,children:[Ye,!E&&!R&&ae&&!g&&$!==void 0&&e.jsx("input",{type:"hidden",form:y,name:ae,value:$,disabled:D}),e.jsx("input",{...Xe,suppressHydrationWarning:!0})]})}),Er=i.forwardRef(function(s,d){const{render:l,className:p,style:h,keepMounted:x=!1,...u}=s,y=Br(),w=y.checked||y.indeterminate,{mounted:b,transitionStatus:S,setMounted:k}=tr(w),c=i.useRef(null),g={...y,transitionStatus:S};It({batch:!0,enabled:!w,open:w,ref:c,onComplete(){w||k(!1)}});const v={...Qa(y),...Pt},_=x||b,$=ha("span",s,{ref:[d,c],state:g,stateAttributesMapping:v,props:u});return _?$:null});function Ar(a,s){return`target:${a}:${s}`}function Or(a){return`remove:${a.id||a.directory}`}function Ya(a){if(!a)return null;const s=new Date(a).getTime();return Number.isFinite(s)?Math.floor((Date.now()-s)/864e5):null}function $r(a){const s=Ya(a);if(s==null)return null;if(s<=0)return r("skills.usage.today");if(s<30)return r("skills.usage.days_ago",{days:s});const d=Math.max(1,Math.floor(s/30));return r("skills.usage.months_ago",{months:d})}function Ur(a){const s=Ya(a);return s==null?"bg-oai-gray-300 dark:bg-oai-gray-600":s<=7?"bg-emerald-500":s<=30?"bg-amber-500":"bg-oai-gray-300 dark:bg-oai-gray-600"}function ca({label:a,children:s}){return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-2 text-sm",children:[e.jsx("dt",{className:"flex items-center gap-1 text-oai-gray-500 dark:text-oai-gray-400",children:a}),e.jsx("dd",{className:"text-right font-medium tabular-nums text-oai-black dark:text-white",children:s})]})}function Mr({skill:a,targets:s,busyKey:d,usage:l,hasUpdate:p,updating:h,onUpdate:x,onClose:u,onToggleTarget:y,onRemove:w}){return e.jsx(Kt,{children:a?e.jsx(zr,{skill:a,targets:s,busyKey:d,usage:l,hasUpdate:p,updating:h,onUpdate:x,onClose:u,onToggleTarget:y,onRemove:w},a.id||a.directory):null})}function zr({skill:a,targets:s,busyKey:d,usage:l,hasUpdate:p,updating:h,onUpdate:x,onClose:u,onToggleTarget:y,onRemove:w}){const b=Ht(),{currency:S,rate:k}=Vt(),c=i.useRef(null);i.useEffect(()=>{const L=H=>{H.key==="Escape"&&(H.stopPropagation(),u?.())},M=H=>{const T=H.target;T instanceof Element&&(c.current?.contains(T)||T.closest('[data-skill-row="1"]')||u?.())};return document.addEventListener("keydown",L),document.addEventListener("pointerdown",M),()=>{document.removeEventListener("keydown",L),document.removeEventListener("pointerdown",M)}},[u]);const g=a.name||a.directory,m=!!(a.repoOwner&&a.repoName),v=m?`https://github.com/${a.repoOwner}/${a.repoName}`:null,_=new Set(a.targets||[]),$=!!(a.readOnly||a.remote),U=!!a.remote,K=Array.isArray(a.deviceSources)?a.deviceSources:[],de=!U&&(!$||_.has("claude")),fe=d===Or(a),ne=$r(l?.lastUsedAt),B=!!(l&&l.invocations>0),pe=b?{duration:0}:{type:"spring",stiffness:320,damping:30,mass:.7};return e.jsxs(e.Fragment,{children:[e.jsx(wa.div,{className:"fixed inset-0 z-20 bg-oai-black/30 backdrop-blur-[2px] lg:hidden",initial:b?!1:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:b?0:.15},onClick:u,"aria-hidden":!0}),e.jsxs(wa.aside,{ref:c,role:"complementary","aria-label":g,initial:b?!1:{opacity:0,x:24,scale:.98},animate:{opacity:1,x:0,scale:1},exit:b?{opacity:0}:{opacity:0,x:24,scale:.98},transition:pe,className:"fixed inset-x-3 bottom-3 top-20 z-30 flex flex-col overflow-hidden rounded-2xl border border-white/40 bg-white/75 shadow-[0_24px_60px_-20px_rgba(15,23,42,0.25)] backdrop-blur-xl backdrop-saturate-150 supports-[backdrop-filter]:bg-white/65 dark:border-white/10 dark:bg-oai-gray-950/70 dark:shadow-[0_24px_60px_-20px_rgba(0,0,0,0.7)] dark:supports-[backdrop-filter]:bg-oai-gray-950/55 lg:inset-auto lg:right-6 lg:top-24 lg:bottom-6 lg:w-[22rem] lg:max-h-[calc(100vh-7.5rem)]",children:[e.jsxs("header",{className:"flex items-center gap-3 border-b border-white/40 bg-gradient-to-b from-white/30 to-transparent px-5 pb-4 pt-5 dark:border-white/10 dark:from-white/[0.04]",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h2",{className:"truncate text-base font-semibold text-oai-black dark:text-white",title:g,children:g}),m?e.jsxs("a",{href:v,target:"_blank",rel:"noreferrer noopener",className:"mt-1 inline-flex max-w-full items-center gap-1 truncate text-xs text-oai-gray-500 transition-colors hover:text-oai-black hover:underline dark:text-oai-gray-400 dark:hover:text-white",title:v,children:[e.jsxs("span",{className:"truncate",children:[a.repoOwner,"/",a.repoName]}),e.jsx(ma,{className:"h-3 w-3 shrink-0","aria-hidden":!0})]}):a.directory&&a.directory!==g?e.jsx("div",{className:"mt-1 truncate text-xs text-oai-gray-500 dark:text-oai-gray-400",title:a.directory,children:a.directory}):null]}),e.jsx("button",{type:"button",onClick:u,"aria-label":r("skills.detail.close"),className:"-mr-1 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full text-oai-gray-500 transition hover:bg-oai-gray-100 hover:text-oai-black focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:text-oai-gray-400 dark:hover:bg-oai-gray-800 dark:hover:text-white",children:e.jsx(Le,{className:"h-4 w-4","aria-hidden":!0})})]}),e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-5 py-5",children:[p?e.jsxs("div",{className:"mb-4 flex items-center gap-3 rounded-xl bg-sky-50/80 px-3 py-2.5 ring-1 ring-sky-200 dark:bg-sky-950/30 dark:ring-sky-800/60",children:[e.jsx(ya,{className:"h-4 w-4 shrink-0 text-sky-600 dark:text-sky-300","aria-hidden":!0}),e.jsx("span",{className:"min-w-0 flex-1 text-xs text-sky-800 dark:text-sky-200",children:r("skills.update.available")}),e.jsxs("button",{type:"button",onClick:()=>x?.(a),disabled:h||!!d,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-md bg-sky-600 px-2.5 text-xs font-semibold text-white transition hover:bg-sky-700 focus:outline-none focus:ring-2 focus:ring-sky-400/40 disabled:cursor-not-allowed disabled:opacity-60 dark:bg-sky-500 dark:hover:bg-sky-400",children:[h?e.jsx(Z,{className:"h-3 w-3 animate-spin","aria-hidden":!0}):null,r("skills.update.action")]})]}):null,a.description?e.jsx("p",{className:"text-sm leading-6 text-oai-gray-600 dark:text-oai-gray-300",children:a.description}):null,$?e.jsx("div",{className:"mt-4 rounded-xl bg-oai-gray-50 px-3 py-2.5 text-xs leading-5 text-oai-gray-600 ring-1 ring-oai-gray-200 dark:bg-oai-gray-900/60 dark:text-oai-gray-300 dark:ring-oai-gray-800",children:r(U?"skills.inventory.read_only_remote":"skills.inventory.read_only_managed")}):null,a.sourceName?e.jsx("div",{className:"mt-3 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.inventory.source",{source:a.sourceName})}):null,K.length?e.jsxs("section",{className:"mt-5",children:[e.jsx("h3",{className:"mb-2 text-[11px] font-semibold uppercase tracking-wider text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.inventory.devices_title")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:K.map(L=>e.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1.5 rounded-full bg-oai-gray-100 px-2.5 py-1 text-xs text-oai-gray-700 ring-1 ring-oai-gray-200 dark:bg-oai-gray-800 dark:text-oai-gray-200 dark:ring-oai-gray-700",children:[e.jsx(Pa,{className:"h-3.5 w-3.5 shrink-0","aria-hidden":!0}),e.jsx("span",{className:"max-w-52 truncate",children:L.name})]},L.id))})]}):null,de?e.jsxs("section",{className:"mt-6",children:[e.jsx("h3",{className:"mb-1 text-[11px] font-semibold uppercase tracking-wider text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.usage.section_title")}),e.jsxs("dl",{className:"divide-y divide-oai-gray-200/60 dark:divide-white/[0.06]",children:[e.jsx(ca,{label:r("skills.usage.invocations"),children:Bt(l?.invocations||0)}),e.jsx(ca,{label:r("skills.usage.last_used"),children:e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx("span",{className:Y("h-1.5 w-1.5 rounded-full",Ur(l?.lastUsedAt)),"aria-hidden":!0}),B?ne||r("skills.usage.unknown"):r("skills.usage.never")]})}),e.jsx(ca,{label:e.jsxs(e.Fragment,{children:[r("skills.usage.cost"),e.jsx("span",{title:r("skills.usage.disclaimer"),className:"inline-flex cursor-help text-oai-gray-400 dark:text-oai-gray-500",children:e.jsx(Ia,{className:"h-3 w-3","aria-label":r("skills.usage.disclaimer")})})]}),children:Dt(l?.cost||0,{currency:S,rate:k})})]}),B?null:e.jsx("p",{className:"mt-2 text-[11px] leading-4 text-oai-gray-400 dark:text-oai-gray-500",children:r("skills.usage.unused")})]}):null,$?null:e.jsxs("section",{className:"mt-6",children:[e.jsx("h3",{className:"mb-1 text-[11px] font-semibold uppercase tracking-wider text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.detail.sync_section_title")}),e.jsx("div",{children:(s||[]).filter(L=>L.manageable!==!1).map(L=>{const M=_.has(L.id),H=d===Ar(a.id||a.directory,L.id),T=`skill-detail-sync-${a.id||a.directory}-${L.id}`;return e.jsxs("label",{htmlFor:T,className:"-mx-2 flex cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-sm text-oai-black transition-colors hover:bg-oai-gray-100/70 dark:text-white dark:hover:bg-white/[0.05]",children:[e.jsx(Tr,{id:T,checked:M,disabled:!!d,onCheckedChange:ee=>y?.(a,L.id,!!ee),className:"peer flex h-4 w-4 shrink-0 items-center justify-center rounded-[4px] border border-oai-gray-300/80 bg-white/80 shadow-sm transition-colors hover:border-oai-gray-400 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-gray-400/40 focus-visible:ring-offset-1 focus-visible:ring-offset-transparent disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:border-oai-black data-[checked]:bg-oai-black dark:border-oai-gray-500/60 dark:bg-oai-gray-900/60 dark:hover:border-oai-gray-400 dark:data-[checked]:border-white dark:data-[checked]:bg-white",children:e.jsx(Er,{className:"flex items-center justify-center text-white dark:text-oai-black",children:e.jsx(Ie,{className:"h-3 w-3",strokeWidth:3.5,"aria-hidden":!0})})}),e.jsx("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center","aria-hidden":!0,children:e.jsx(ve,{provider:L.id,size:16})}),e.jsx("span",{className:"flex-1",children:L.label}),H?e.jsx(Z,{className:"h-3.5 w-3.5 animate-spin text-oai-gray-400","aria-hidden":!0}):null]},L.id)})})]})]}),$?null:e.jsxs("footer",{className:"border-t border-white/40 bg-white/30 px-5 py-4 dark:border-white/10 dark:bg-white/[0.02]",children:[e.jsxs("button",{type:"button",onClick:()=>w?.(a),disabled:!!d,className:"inline-flex w-full items-center justify-center gap-2 rounded-lg border border-red-200/70 bg-white px-3 py-2 text-sm font-medium text-red-600 transition hover:border-red-300 hover:bg-red-50 focus:outline-none focus:ring-2 focus:ring-red-400/30 disabled:cursor-not-allowed disabled:opacity-60 dark:border-red-900/60 dark:bg-oai-gray-950 dark:text-red-300 dark:hover:border-red-800 dark:hover:bg-red-950/30",children:[fe?e.jsx(Z,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(fa,{className:"h-3.5 w-3.5","aria-hidden":!0}),r("skills.detail.remove_button")]}),e.jsx("p",{className:"mt-2 text-center text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.detail.remove_confirm_hint")})]})]})]})}const Fr=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),_a=["claude","codex"],Q="popular",Vr={claude:"text-orange-500 dark:text-orange-300",codex:"text-emerald-600 dark:text-emerald-300",grok:"text-zinc-700 dark:text-zinc-200",antigravity:"text-violet-600 dark:text-violet-300",gemini:"text-sky-600 dark:text-sky-300",opencode:"text-amber-600 dark:text-amber-300",hermes:"text-indigo-500 dark:text-indigo-300"},xe="all",V="skillssh";function na(a){return`${a.repoOwner||"local"}/${a.repoName||"local"}:${a.directory}`}function Ja(a){return String(a||"").replace(/\\/g,"/").trim().toLowerCase()}function Kr(a){return Ja(a).split("/").filter(Boolean).pop()||""}function Hr(a){if(a.repoOwner||a.repoName)return"";const s=Ja(a.directory);return!s||s.includes("/")?"":`dir:${s}`}function Ra(a){const s=Kr(a.directory);return s?`dir:${s}`:""}function Za(a){const s=new Set([na(a).toLowerCase()]);a.repoOwner&&a.repoName&&s.add(`${a.repoOwner}/${a.repoName}:${a.sourceDirectory||a.directory}`.toLowerCase());const d=Hr(a);return d&&s.add(d),s}function Wr(a){return!a?.remote&&!a?.inventoryOnly&&!a?.readOnly}function qr(a){const s=new Set;for(const d of Array.isArray(a)?a:[])if(Wr(d))for(const l of Za(d))s.add(l);return s}function aa(a){return`install:${na(a)}`}function La(a){return`remove:${a.id||a.directory}`}function et(a,s){return`target:${a}:${s}`}function we(a){return a.id||a.directory}function ba(a){return a.manageable!==!1}function Gr({target:a,state:s,busy:d,disabled:l,disabledLabel:p,onToggle:h}){const x=s==="synced",u=s==="orphan",y=u?r("skills.dot.orphan_aria",{agent:a.label}):x?r("skills.dot.synced_aria",{agent:a.label}):r("skills.dot.off_aria",{agent:a.label}),w=l&&p?`${y} — ${p}`:y;return e.jsxs("button",{type:"button",title:w,"aria-label":w,"aria-pressed":x,disabled:d||l,onClick:b=>{b.stopPropagation(),h?.(a.id,!x)},className:"relative flex h-7 w-7 items-center justify-center rounded-md transition-colors hover:bg-oai-gray-100 focus:outline-none focus:ring-2 focus:ring-oai-gray-400/40 disabled:cursor-not-allowed dark:hover:bg-oai-gray-800/60",children:[d?e.jsx(Z,{className:"h-4 w-4 animate-spin text-oai-gray-400","aria-hidden":!0}):e.jsx("span",{className:Y("flex h-[18px] w-[18px] items-center justify-center transition",x&&Vr[a.id],!x&&!u&&"opacity-35 grayscale"),"aria-hidden":!0,children:e.jsx(ve,{provider:a.id,size:18})}),u&&!d?e.jsx("span",{className:"absolute -bottom-px -right-px h-2 w-2 rounded-full bg-amber-500 ring-2 ring-oai-white dark:ring-oai-gray-900","aria-hidden":!0}):null]})}function Qr({skill:a,targets:s,onToggleTarget:d,busyKey:l}){const p=new Set(a.targets||[]),h=!!(a.readOnly||a.remote),x=[];for(const u of s)(h?p.has(u.id):ba(u))&&x.push(u);return e.jsx("div",{className:"flex items-center gap-1",onClick:u=>u.stopPropagation(),children:x.map(u=>e.jsx(Gr,{target:u,state:a.targetStates?.[u.id]||"off",busy:l===et(we(a),u.id),disabled:h||u.manageable===!1,disabledLabel:r(a.remote?"skills.inventory.read_only_remote":"skills.inventory.read_only_managed"),onToggle:(y,w)=>d?.(a,y,w)},u.id))})}function Xr({skill:a,targets:s,selected:d,onSelect:l,selectable:p,checked:h,onToggleSelect:x,onToggleTarget:u,hasUpdate:y,busyKey:w}){const b=a.repoOwner&&a.repoName?`${a.repoOwner}/${a.repoName}`:null,S=[a.directory,b,a.sourceName].filter(Boolean).join(" · "),k=Array.isArray(a.deviceSources)?a.deviceSources:[],c=[a.remote?r("skills.inventory.remote"):null,a.scope==="plugin"?r("skills.inventory.plugin"):null].filter(Boolean),g=m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),l?.(a))};return e.jsxs("div",{"data-skill-row":"1",role:"button",tabIndex:0,"aria-pressed":d,"aria-label":r("skills.row.open_details",{name:a.name||a.directory}),onClick:()=>l?.(a),onKeyDown:g,className:Y("cursor-pointer rounded-md py-3 pr-2 transition focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30",d?"bg-oai-gray-100 ring-1 ring-oai-gray-200 dark:bg-oai-gray-800/60 dark:ring-oai-gray-800":h?"bg-oai-gray-50 dark:bg-oai-gray-900/40":"hover:bg-oai-gray-50 dark:hover:bg-oai-gray-900/40"),children:[e.jsxs("div",{className:"flex items-center gap-3",children:[p?e.jsx("label",{className:"flex shrink-0 items-center",onClick:m=>m.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:h,onChange:m=>x?.(a,m.target.checked),"aria-label":r("skills.select.row_aria",{name:a.name||a.directory}),className:"h-4 w-4 rounded border-oai-gray-300 text-oai-black focus:ring-oai-gray-400 dark:border-oai-gray-600 dark:bg-oai-gray-900 dark:text-white"})}):null,e.jsx("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold text-oai-black dark:text-white",title:S,children:a.name||a.directory}),c.map(m=>e.jsx("span",{className:"inline-flex shrink-0 rounded-full bg-oai-gray-100 px-1.5 py-0.5 text-[10px] font-semibold text-oai-gray-600 ring-1 ring-oai-gray-200 dark:bg-oai-gray-800 dark:text-oai-gray-300 dark:ring-oai-gray-700",children:m},m)),y?e.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full bg-sky-50 px-1.5 py-0.5 text-[10px] font-semibold text-sky-700 ring-1 ring-sky-200 dark:bg-sky-950/40 dark:text-sky-300 dark:ring-sky-800/60",children:[e.jsx(ya,{className:"h-2.5 w-2.5","aria-hidden":!0}),r("skills.update.badge")]}):null,e.jsx(Qr,{skill:a,targets:s,onToggleTarget:u,busyKey:w}),e.jsx(Mt,{className:Y("hidden h-4 w-4 shrink-0 text-oai-gray-300 transition-colors dark:text-oai-gray-600 lg:block",d&&"text-oai-gray-500 dark:text-oai-gray-300"),"aria-hidden":!0})]}),a.description?e.jsx("p",{className:Y("mt-1 line-clamp-2 text-xs text-oai-gray-500 dark:text-oai-gray-400",p&&"pl-7"),children:a.description}):null,a.sourceName||k.length?e.jsxs("div",{className:Y("mt-1 flex min-w-0 flex-wrap items-center gap-x-3 gap-y-1 text-[11px] text-oai-gray-400 dark:text-oai-gray-500",p&&"pl-7"),children:[a.sourceName?e.jsx("span",{className:"truncate",children:a.sourceName}):null,k.length?e.jsxs("span",{className:"inline-flex min-w-0 items-center gap-1",title:k.map(m=>m.name).join(", "),children:[e.jsx(Pa,{className:"h-3 w-3 shrink-0","aria-hidden":!0}),e.jsx("span",{className:"truncate",children:r("skills.inventory.on_devices",{devices:k.map(m=>m.name).join(", ")})})]}):null]}):null]})}function Yr({agentFilter:a,agentOptions:s,onAgentFilter:d,filteredCount:l,totalCount:p,anyFilter:h,onClearFilters:x,searchQuery:u,onSearchQuery:y,searchPlaceholder:w}){return e.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-2 pt-1 text-xs text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsxs(Ba,{value:a,onValueChange:d,children:[e.jsxs(Da,{"aria-label":r("skills.filter.agent_label"),className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-oai-gray-200 bg-oai-white px-2.5 text-xs font-medium text-oai-gray-700 transition hover:border-oai-gray-300 focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 data-[popup-open]:border-oai-gray-300 dark:border-oai-gray-800 dark:bg-oai-gray-900 dark:text-oai-gray-200 dark:hover:border-oai-gray-700",children:[e.jsxs("span",{className:"text-oai-gray-500 dark:text-oai-gray-400",children:[r("skills.filter.agent_label"),":"]}),e.jsx(Ta,{children:b=>b==="all"?r("skills.filter.agent_all"):s.find(S=>S.id===b)?.label||b}),e.jsx(qa,{className:"text-oai-gray-400",children:e.jsx(pa,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),e.jsx(Ea,{children:e.jsx(Aa,{sideOffset:4,alignItemWithTrigger:!1,className:"z-[60]",children:e.jsxs(Oa,{className:"min-w-[var(--anchor-width)] overflow-hidden rounded-md border border-oai-gray-200 bg-white p-1 shadow-[0_12px_32px_-12px_rgba(0,0,0,0.18)] outline-none dark:border-oai-gray-800 dark:bg-oai-gray-950 dark:shadow-[0_12px_32px_-12px_rgba(0,0,0,0.6)]",children:[e.jsxs(ta,{value:"all",className:"flex cursor-default select-none items-center justify-between gap-2 rounded px-3 py-1.5 text-sm text-oai-black outline-none data-[highlighted]:bg-oai-gray-100 dark:text-white dark:data-[highlighted]:bg-oai-gray-800",children:[e.jsx(ra,{children:r("skills.filter.agent_all")}),e.jsx(sa,{children:e.jsx(Ie,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),s.map(b=>e.jsxs(ta,{value:b.id,className:"flex cursor-default select-none items-center justify-between gap-2 rounded px-3 py-1.5 text-sm text-oai-black outline-none data-[highlighted]:bg-oai-gray-100 dark:text-white dark:data-[highlighted]:bg-oai-gray-800",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ve,{provider:b.id,size:14}),e.jsx(ra,{children:b.label})]}),e.jsx(sa,{children:e.jsx(Ie,{className:"h-3.5 w-3.5","aria-hidden":!0})})]},b.id))]})})})]}),e.jsxs("div",{className:"relative w-56 max-w-full",children:[e.jsx(ga,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-oai-gray-400","aria-hidden":!0}),e.jsx(xa,{type:"search",value:u,onChange:b=>y(b.target.value),onKeyDown:b=>{b.key==="Escape"&&u&&(b.preventDefault(),y(""))},"aria-label":r("skills.action.search_aria"),placeholder:w,className:"h-8 pl-9 pr-8 !border-oai-gray-200 dark:!border-oai-gray-800 focus:!border-oai-gray-400 focus:!ring-oai-gray-400/20 dark:focus:!border-oai-gray-500 dark:focus:!ring-oai-gray-500/20 [&::-webkit-search-cancel-button]:appearance-none"}),e.jsx("button",{type:"button",onMouseDown:b=>b.preventDefault(),onClick:()=>y(""),"aria-label":r("skills.action.search_clear"),"aria-hidden":!u,tabIndex:u?0:-1,className:Y("absolute right-2 top-1/2 flex h-6 w-6 -translate-y-1/2 items-center justify-center rounded-full text-oai-gray-400 transition duration-150 ease-out before:absolute before:-inset-1.5 before:content-[''] hover:bg-oai-gray-100 hover:text-oai-gray-600 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-oai-gray-400/40 motion-reduce:transition-none dark:hover:bg-oai-gray-800 dark:hover:text-oai-gray-200",u?"scale-100 opacity-100":"pointer-events-none scale-90 opacity-0"),children:e.jsx(Le,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),e.jsx("span",{role:"status","aria-live":"polite",className:"ml-auto shrink-0 tabular-nums text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.filter.result_count",{filtered:l,total:p})}),h?e.jsxs("button",{type:"button",onClick:x,className:"shrink-0 inline-flex h-7 items-center gap-1 rounded-full bg-oai-gray-100 px-2.5 text-[11px] font-medium text-oai-gray-700 transition hover:bg-oai-gray-200 focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:bg-oai-gray-800/70 dark:text-oai-gray-200 dark:hover:bg-oai-gray-700",children:[e.jsx(Le,{className:"h-3 w-3","aria-hidden":!0}),r("skills.filter.clear")]}):null]})}function Jr({count:a,targets:s,busy:d,onBulkSync:l,onBulkRemove:p,onClear:h}){const x=s.filter(ba);return e.jsxs("div",{role:"toolbar","aria-label":r("skills.select.toolbar_aria"),className:"mb-2 flex flex-wrap items-center gap-2 rounded-lg border border-oai-gray-200 bg-oai-gray-50 px-3 py-2 dark:border-oai-gray-800 dark:bg-oai-gray-900/50",children:[e.jsx("span",{className:"text-xs font-medium text-oai-gray-700 dark:text-oai-gray-200","aria-live":"polite",children:r("skills.select.count",{count:a})}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[e.jsxs(za,{children:[e.jsxs(Fa,{disabled:d,className:"inline-flex h-8 items-center gap-1.5 rounded-md border border-oai-gray-200 bg-oai-white px-2.5 text-xs font-medium text-oai-gray-700 transition hover:border-oai-gray-300 focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 disabled:opacity-60 dark:border-oai-gray-800 dark:bg-oai-gray-900 dark:text-oai-gray-200",children:[e.jsx(Ma,{className:"h-3.5 w-3.5","aria-hidden":!0}),r("skills.select.bulk_sync"),e.jsx(pa,{className:"h-3 w-3","aria-hidden":!0})]}),e.jsx(Va,{children:e.jsx(Ka,{sideOffset:6,side:"bottom",align:"end",className:"!z-[80]",children:e.jsxs(Ha,{className:"min-w-[200px] rounded-lg bg-white p-1.5 shadow-lg ring-1 ring-oai-gray-200 dark:bg-oai-gray-950 dark:ring-oai-gray-800",children:[e.jsx("div",{className:"px-2 pb-1 pt-0.5 text-[11px] font-medium uppercase tracking-wide text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.select.bulk_sync_hint")}),x.map(u=>e.jsxs("button",{type:"button",onClick:()=>l(u.id),className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-oai-black hover:bg-oai-gray-100 dark:text-white dark:hover:bg-oai-gray-800",children:[e.jsx(ve,{provider:u.id,size:16}),e.jsx("span",{className:"flex-1",children:u.label})]},u.id))]})})})]}),e.jsxs(X,{type:"button",variant:"ghost",size:"sm",disabled:d,onClick:p,children:[e.jsx(fa,{className:"mr-1.5 h-3.5 w-3.5","aria-hidden":!0}),r("skills.select.bulk_remove")]}),e.jsxs("button",{type:"button",onClick:h,className:"inline-flex h-7 items-center gap-1 rounded-full px-2 text-[11px] font-medium text-oai-gray-500 transition hover:text-oai-black focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:text-oai-gray-400 dark:hover:text-white",children:[e.jsx(Le,{className:"h-3 w-3","aria-hidden":!0}),r("skills.select.clear")]})]})]})}function Zr({items:a,totalCount:s,targets:d,agentOptions:l,agentFilter:p,onAgentFilter:h,anyFilter:x,onClearFilters:u,searchQuery:y,onSearchQuery:w,searchPlaceholder:b,selectedId:S,onSelect:k,onToggleTarget:c,busyKey:g,updates:m,selectedIds:v,onToggleSelect:_,onClearSelection:$,onBulkSync:U,onBulkRemove:K,updateCount:de,onUpdateAll:fe}){const ne=v.size;return e.jsxs("div",{children:[ne>0?e.jsx(Jr,{count:ne,targets:d,busy:g==="batch",onBulkSync:U,onBulkRemove:K,onClear:$}):e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[e.jsx(Yr,{agentFilter:p,agentOptions:l,onAgentFilter:h,filteredCount:a.length,totalCount:s,anyFilter:x,onClearFilters:u,searchQuery:y,onSearchQuery:w,searchPlaceholder:b}),de?e.jsxs(X,{type:"button",variant:"secondary",size:"sm",className:"mb-2 shrink-0",disabled:!!g,onClick:fe,children:[g==="update-all"?e.jsx(Z,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(ya,{className:"h-3.5 w-3.5","aria-hidden":!0}),r("skills.update.all_action",{count:de})]}):null]}),a.length===0?e.jsxs("div",{className:"flex flex-col items-center gap-3 rounded-lg border border-dashed border-oai-gray-200 px-4 py-10 text-center text-sm text-oai-gray-500 dark:border-oai-gray-800 dark:text-oai-gray-400",children:[e.jsx("p",{children:r("skills.empty.no_match")}),e.jsx(X,{type:"button",variant:"secondary",size:"sm",onClick:u,children:r("skills.filter.clear")})]}):e.jsx("div",{className:"divide-y divide-oai-gray-200/70 dark:divide-oai-gray-800/70",children:a.map(B=>e.jsx(Xr,{skill:B,targets:d,selected:S===(B.id||B.directory),onSelect:k,selectable:!B.readOnly&&!B.remote,checked:v.has(we(B)),onToggleSelect:_,onToggleTarget:c,hasUpdate:!!(B.id&&m?.[B.id]),busyKey:g},we(B)))})]})}const es={contentVisibility:"auto",containIntrinsicSize:"0 240px"},as=Ut.memo(function({skill:s,installed:d,installing:l,allTargets:p,defaultTargets:h,onInstall:x,onManage:u}){const[y,w]=i.useState(()=>(h||[]).filter(m=>p.some(v=>v.id===m))),b=m=>{w(v=>v.includes(m)?v.filter(_=>_!==m):[...v,m])},S=s.repoOwner&&s.repoName?`${s.repoOwner}/${s.repoName}`:null,k=S?`https://github.com/${s.repoOwner}/${s.repoName}`:null,c=s.installs!=null?r("skills.card.installs",{count:Number(s.installs||0).toLocaleString()}):null,g=y.length?y.map(m=>p.find(v=>v.id===m)?.label||m).join(", "):r("skills.action.choose_targets");return e.jsxs(Ft,{className:"h-full rounded-lg",bodyClassName:"flex h-full flex-col",children:[e.jsx("div",{className:"flex items-start justify-between gap-3",children:e.jsxs("div",{className:"min-w-0",children:[s.readmeUrl?e.jsxs("a",{href:s.readmeUrl,target:"_blank",rel:"noopener noreferrer",className:"group inline-flex max-w-full items-center gap-1 truncate text-base font-semibold text-oai-black hover:underline dark:text-white",title:s.readmeUrl,children:[e.jsx("span",{className:"truncate",children:s.name||s.directory}),e.jsx(ma,{className:"h-3.5 w-3.5 shrink-0 text-oai-gray-400 opacity-0 transition-opacity group-hover:opacity-100","aria-hidden":!0})]}):e.jsx("h2",{className:"truncate text-base font-semibold text-oai-black dark:text-white",children:s.name||s.directory}),S||c?e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-x-1.5 truncate text-xs text-oai-gray-500 dark:text-oai-gray-400",children:[k?e.jsxs("a",{href:k,target:"_blank",rel:"noopener noreferrer",onClick:m=>m.stopPropagation(),className:"inline-flex items-center gap-1 truncate rounded text-oai-gray-500 hover:text-oai-black hover:underline focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:text-oai-gray-400 dark:hover:text-white",title:k,children:[e.jsx("span",{className:"truncate",children:S}),e.jsx(ma,{className:"h-2.5 w-2.5 shrink-0","aria-hidden":!0})]}):null,S&&c?e.jsx("span",{"aria-hidden":!0,children:"·"}):null,c?e.jsx("span",{className:"truncate",children:c}):null]}):null]})}),s.description?e.jsx("p",{className:"mt-3 line-clamp-3 text-sm leading-6 text-oai-gray-600 dark:text-oai-gray-300",children:s.description}):null,e.jsx("div",{className:"mt-auto pt-5",children:d?e.jsxs(X,{type:"button",variant:"secondary",size:"sm",onClick:()=>u?.(s),className:"w-full",children:[e.jsx(Ie,{className:"mr-1.5 h-3.5 w-3.5 text-emerald-500 dark:text-emerald-400","aria-hidden":!0}),r("skills.card.manage")]}):e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1 text-xs text-oai-gray-600 dark:text-oai-gray-300",children:[e.jsx("span",{className:"text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.card.targets_prefix")}),e.jsx("span",{className:"min-w-0 truncate font-medium text-oai-black dark:text-white",children:y.length?g:r("skills.target.none")}),e.jsxs(za,{children:[e.jsx(Fa,{disabled:l,"aria-label":r("skills.action.choose_targets"),className:"rounded text-xs font-medium text-oai-gray-500 underline decoration-oai-gray-300 decoration-dotted underline-offset-2 transition hover:text-oai-black hover:decoration-oai-gray-500 focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 disabled:cursor-not-allowed disabled:opacity-60 dark:text-oai-gray-400 dark:decoration-oai-gray-600 dark:hover:text-white dark:hover:decoration-oai-gray-400",children:r("skills.card.targets_change")}),e.jsx(Va,{children:e.jsx(Ka,{sideOffset:6,side:"bottom",align:"end",className:"!z-[80]",children:e.jsxs(Ha,{className:"min-w-[220px] rounded-lg bg-white p-1.5 shadow-lg ring-1 ring-oai-gray-200 dark:bg-oai-gray-950 dark:ring-oai-gray-800",children:[e.jsx("div",{className:"px-2 pb-1 pt-0.5 text-[11px] font-medium uppercase tracking-wide text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.target.menu_label")}),p.map(m=>{const v=y.includes(m.id);return e.jsxs("label",{className:"flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm text-oai-black hover:bg-oai-gray-100 dark:text-white dark:hover:bg-oai-gray-800",children:[e.jsx("input",{type:"checkbox",className:"h-4 w-4 shrink-0 rounded border-oai-gray-300 text-oai-black focus:ring-oai-gray-400 dark:border-oai-gray-600 dark:bg-oai-gray-900 dark:text-white",checked:v,onChange:()=>b(m.id)}),e.jsx(ve,{provider:m.id,size:16}),e.jsx("span",{className:"flex-1 text-left",children:m.label})]},m.id)})]})})})]})]}),e.jsxs(X,{type:"button",size:"sm",onClick:()=>x(s,y),disabled:l||y.length===0,className:"w-full",children:[l?e.jsx(Z,{className:"mr-1.5 h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(Ma,{className:"mr-1.5 h-3.5 w-3.5","aria-hidden":!0}),r("skills.action.install")]})]})})]})});function ts({repos:a,repoInput:s,onRepoInput:d,busyKey:l,onAdd:p,onRemove:h}){return e.jsxs("div",{className:"rounded-lg border border-oai-gray-200 bg-white p-4 dark:border-oai-gray-800 dark:bg-oai-gray-950",children:[e.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[e.jsx(xa,{value:s,onChange:x=>d(x.target.value),placeholder:r("skills.repo.placeholder"),className:"min-w-0 flex-1"}),e.jsxs(X,{type:"button",variant:"secondary",size:"md",onClick:p,disabled:l==="repo:add",className:"shrink-0 whitespace-nowrap",children:[l==="repo:add"?e.jsx(Z,{className:"mr-1.5 h-4 w-4 animate-spin","aria-hidden":!0}):e.jsx(Ua,{className:"mr-1.5 h-4 w-4","aria-hidden":!0}),r("skills.repo.add")]})]}),a.length?e.jsx("div",{className:"mt-3 divide-y divide-oai-gray-200/70 dark:divide-oai-gray-800/70",children:a.map(x=>{const u=l===`repo:${x.owner}/${x.name}`;return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"truncate text-sm font-medium text-oai-black dark:text-white",children:[x.owner,"/",x.name]}),e.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:x.branch})]}),e.jsxs(X,{type:"button",variant:"ghost",size:"sm",disabled:u,onClick:()=>h(x),className:"shrink-0",children:[u?e.jsx(Z,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(fa,{className:"h-3.5 w-3.5","aria-hidden":!0}),e.jsx("span",{className:"sr-only",children:r("skills.repo.remove")})]})]},`${x.owner}/${x.name}`)})}):null]})}function rs(){return typeof window>"u"?"my":new URLSearchParams(window.location.search).get("tab")==="browse"?"browse":"my"}function Ps(){const a=Tt()||{},s=!!a.signedIn,d=a.getAccessToken,[l,p]=i.useState(rs),[h,x]=i.useState({skills:[],targets:[]}),[u,y]=i.useState([]),[w,b]=i.useState([]),[S,k]=i.useState([]),[c,g]=i.useState(xe),[m,v]=i.useState(""),[_,$]=i.useState(""),[U,K]=i.useState(""),[de,fe]=i.useState(""),[ne,B]=i.useState(""),[pe,L]=i.useState(!1),[M,H]=i.useState("all"),[T,ee]=i.useState(null),[J,je]=i.useState(""),ce=i.useRef(!1),[Pe,We]=i.useState(!0),[Be,De]=i.useState(!1),[R,I]=i.useState(""),[W,D]=i.useState(null),[ae,P]=i.useState(null),[Ne,Te]=i.useState(null),[ie,Ee]=i.useState(()=>new Set),[ue,Ae]=i.useState({}),[Oe,qe]=i.useState({}),[Ce,$e]=i.useState([]),[me,Ge]=i.useState(!1),Ue=i.useRef(!1),te=i.useRef(0),E=i.useMemo(()=>qr(h.skills),[h.skills]),Se=i.useCallback(async()=>{const t=++te.current,n=await rr();if(te.current!==t)return;const o={skills:n.skills||[],targets:n.targets||[]};x(o);const f=Et();!s||!At()||!f||typeof d!="function"||(async()=>{try{const j=await d();if(!j||te.current!==t)return;const[C]=await Promise.allSettled([sr(j),nr({accessToken:j,deviceId:f,skills:o.skills})]);if(C.status!=="fulfilled")return;const ke=C.value;if(te.current!==t)return;x({targets:o.targets,skills:ir(o.skills,ke,f)})}catch{}})()},[d,s]),ge=i.useCallback(async()=>{const t=await or();k(t.repos||[])},[]),q=i.useCallback(async({force:t=!1}={})=>{De(!0);try{const n=await lr({force:t});y(n.skills||[])}finally{De(!1)}},[]),he=i.useCallback(async({force:t=!1}={})=>{Ge(!0);try{const n=await dr({force:t});$e(n.skills||[])}finally{Ge(!1)}},[]),A=i.useCallback(async()=>{try{const t=await cr();Ae(t?.updates||{})}catch{}},[]),Me=i.useCallback(t=>{const n=new Set((t||[]).filter(Boolean));n.size&&Ae(o=>{if(!Object.keys(o).some(j=>n.has(j)))return o;const f={};for(const[j,C]of Object.entries(o))n.has(j)||(f[j]=C);return f})},[]),ye=i.useCallback(async()=>{try{const t=await ur(),n={};for(const o of t?.skills||[])o.installed&&(o.directory&&(n[String(o.directory).toLowerCase()]=o),n[String(o.skill).toLowerCase()]=o);qe(n)}catch{qe({})}},[]),_e=i.useCallback(async()=>{We(!0),I("");try{await Promise.all([Se(),ge()])}catch(t){I(t?.message||r("skills.error.generic"))}finally{We(!1)}},[Se,ge]),ia=i.useCallback(async()=>{await _e();const t=n=>I(n?.message||r("skills.error.generic"));l==="my"?(A(),ye()):c===Q?he({force:!0}).catch(t):c!==V&&q({force:!0}).catch(t)},[q,_e,he,A,ye,c,l]);i.useEffect(()=>{_e()},[_e]),i.useEffect(()=>{if(Ue.current||typeof window>"u")return;const t=new URLSearchParams(window.location.search),n=t.get("skill");if(!n){Ue.current=!0;return}const o=h.skills||[];if(!o.length)return;const f=o.find(C=>C.directory===n||C.id===n);f&&(p("my"),ee(f.id||f.directory)),Ue.current=!0,t.delete("skill");const j=t.toString();window.history.replaceState({},"",`${window.location.pathname}${j?`?${j}`:""}${window.location.hash}`)},[h.skills]),i.useEffect(()=>{l==="browse"&&(c===V||c===Q||u.length===0&&q().catch(t=>I(t?.message||r("skills.error.generic"))))},[u.length,q,c,l]),i.useEffect(()=>{l!=="browse"||c!==Q||Ce.length===0&&he().catch(t=>I(t?.message||r("skills.error.generic")))},[he,Ce.length,c,l]);const Qe=Object.keys(ue).length>0,Xe=Object.keys(Oe).length>0;if(i.useEffect(()=>{l==="my"&&(Qe||A(),Xe||ye())},[l,Qe,Xe,A,ye]),i.useEffect(()=>{const t=setTimeout(()=>$(m),200);return()=>clearTimeout(t)},[m]),i.useEffect(()=>{const t=setTimeout(()=>fe(U),120);return()=>clearTimeout(t)},[U]),i.useEffect(()=>{if(typeof window>"u")return;const t=new URLSearchParams(window.location.search),n=t.get("tab");if(l==="my"){if(!n)return;t.delete("tab")}else{if(n===l)return;t.set("tab",l)}const o=t.toString(),f=`${window.location.pathname}${o?`?${o}`:""}${window.location.hash}`;window.history.replaceState({},"",f)},[l]),!Fr&&!Ot())return e.jsx("div",{className:"flex flex-col flex-1 text-oai-black dark:text-oai-white font-oai antialiased",children:e.jsx(zt,{})});const z=async(t,n)=>{if(!ce.current){ce.current=!0,je(t),I("");try{await n(),await Se()}catch(o){I(o?.message||r("skills.error.generic"))}finally{ce.current=!1,je("")}}},oa=(t,n)=>{const o=(n&&n.length?n:_a).filter(f=>(h.targets||[]).some(j=>j.id===f));z(aa(t),async()=>{await gr(t,o);const f=o.map(j=>(h.targets||[]).find(C=>C.id===j)?.label||j).join(", ");G({title:r("skills.toast.installed",{name:t.name||t.directory,targets:f||r("skills.target.none")}),timeout:4e3})})},Ye=t=>{t?.readOnly||t?.remote||D(t)},ze=()=>{const t=W;t&&(D(null),z(La(t),async()=>{let n=null;t.managed?n=await va(t.id):await ja(t.directory,t.targets||[]),Me([t.id]);const o=!!(n?.trashed&&t.managed&&t.id);G({title:r("skills.toast.removed",{name:t.name||t.directory}),timeout:6e3,data:o?{onUndo:async()=>{try{await hr(t.id),await Se()}catch(f){I(f?.message||r("skills.error.generic"))}}}:void 0})}))},N=(t,n,o)=>t?.readOnly||t?.remote?Promise.resolve():z(et(we(t),n),async()=>{const f=new Set(t.targets||[]);o?f.add(n):f.delete(n),t.managed?await Na(t.id,Array.from(f)):await Ca(t.directory,Array.from(f));const j={name:t.name||t.directory,agent:re(n)};G({title:o?r("skills.toast.synced_one",j):r("skills.toast.unsynced_one",j),timeout:3e3})}),F=i.useCallback(()=>Ee(new Set),[]),oe=i.useCallback((t,n)=>{if(t?.readOnly||t?.remote)return;const o=we(t);Ee(f=>{const j=new Set(f);return n?j.add(o):j.delete(o),j})},[]),re=t=>(h.targets||[]).find(n=>n.id===t)?.label||t,Re=t=>{const n=(h.skills||[]).filter(o=>ie.has(we(o))&&!o.readOnly&&!o.remote);n.length&&z("batch",async()=>{for(const o of n){const f=new Set(o.targets||[]);f.add(t),o.managed?await Na(o.id,Array.from(f)):await Ca(o.directory,Array.from(f))}F(),G({title:r("skills.toast.bulk_synced",{count:n.length,agent:re(t)}),timeout:4e3})})},Fe=()=>{const t=(h.skills||[]).filter(n=>ie.has(we(n))&&!n.readOnly&&!n.remote);t.length&&P(t)},Ve=()=>{const t=ae;t&&(P(null),z("batch",async()=>{for(const n of t)n.managed?await va(n.id):await ja(n.directory,n.targets||[]);Me(t.map(n=>n.id)),F(),G({title:r("skills.toast.bulk_removed",{count:t.length}),timeout:4e3})}))},at=t=>{!t?.id||!t?.repoOwner||!t?.repoName||z(aa(t),async()=>{const n=await Sa([t.id]);await A();const{results:o=[],rateLimited:f=null,updated:j=0}=n||{};if(f){G({title:r("skills.update.rate_limited",{count:j}),timeout:6e3});return}const C=o[0];if(!C||!C.ok)throw new Error(C?.error||r("skills.error.generic"));G({title:r("skills.toast.updated",{name:t.name||t.directory}),timeout:4e3})})},tt=new Set((h.skills||[]).map(t=>t.id).filter(Boolean)),la=Object.entries(ue).filter(([t,n])=>n&&tt.has(t)).map(([t])=>t),rt=la.length,st=()=>{la.length&&Te(la)},nt=()=>{const t=Ne;Te(null),!(!t||!t.length)&&z("update-all",async()=>{const n=await Sa(t);await A();const{updated:o=0,failed:f=0,rateLimited:j=null,results:C=[]}=n||{},ke=C.length;if(j)G({title:r("skills.update.rate_limited",{count:o}),timeout:6e3});else if(f>0)G({title:r("skills.toast.updated_partial",{count:o,total:ke,failed:f}),timeout:6e3});else if(o===0)G({title:r("skills.toast.updated_none"),timeout:4e3});else if(o===1){const O=C.find(ea=>ea.ok&&!ea.skipped);G({title:r("skills.toast.updated",{name:O?.name||""}),timeout:4e3})}else G({title:r("skills.toast.updated_many",{count:o}),timeout:4e3})})},ka=async()=>{const t=m.trim();if(!(t.length<2||ce.current)){ce.current=!0,je("search"),I("");try{const n=await mr(t);b(n.skills||[])}catch(n){I(n?.message||r("skills.error.generic"))}finally{ce.current=!1,je("")}}},it=async()=>{const t=ne.trim().replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,""),[n,o]=t.split("/");if(!n||!o){I(r("skills.repo.invalid"));return}await z("repo:add",async()=>{await fr({owner:n,name:o,branch:"main",enabled:!0}),B(""),await ge(),await q()})},ot=async t=>{await z(`repo:${t.owner}/${t.name}`,async()=>{await xr(t.owner,t.name),await ge(),await q()})},le=h.targets||[],lt=le.filter(ba),be=h.skills||[],dt=i.useMemo(()=>{const t=M==="all"?be:be.filter(o=>(o.targets||[]).includes(M)),n=de.trim().toLowerCase();return n?t.filter(o=>(o.name||"").toLowerCase().includes(n)||(o.directory||"").toLowerCase().includes(n)||(o.description||"").toLowerCase().includes(n)):t},[be,M,de]),ct=M!=="all",se=i.useMemo(()=>T&&be.find(t=>(t.id||t.directory)===T)||null,[be,T]),ut=i.useCallback(()=>{H("all"),K("")},[]),mt=i.useCallback(t=>{ee(n=>{const o=t?.id||t?.directory||null;return n===o?null:o})},[]),gt=i.useCallback(()=>ee(null),[]),ht=i.useCallback(t=>{const n=na(t).toLowerCase(),o=Ra(t),f=(h.skills||[]).find(j=>{const C=Za(j);return C.has(n)||o&&C.has(o)});f&&ee(f.id||f.directory)},[h.skills]);i.useEffect(()=>{l!=="my"&&ie.size&&Ee(new Set)},[l,ie.size]),i.useEffect(()=>{T&&!se&&ee(null)},[se,T]);const Ke=i.useMemo(()=>{const t=c===V?w:c===Q?Ce:u,o=c===V||c===Q||c===xe?t:t.filter(C=>`${C.repoOwner}/${C.repoName}`===c),f=_.trim().toLowerCase();return(c===V||!f?o:o.filter(C=>(C.name||"").toLowerCase().includes(f)||(C.directory||"").toLowerCase().includes(f)||(C.description||"").toLowerCase().includes(f))).map(C=>{const ke=na(C).toLowerCase(),O=Ra(C);return{...C,installed:E.has(ke)||O&&E.has(O)}})},[_,u,E,Ce,w,c]),xt=e.jsx("div",{className:"flex h-64 items-center justify-center",children:e.jsx(Z,{className:"h-8 w-8 animate-spin text-oai-gray-400","aria-hidden":!0})}),ft=e.jsxs("div",{className:"flex h-64 flex-col items-center justify-center gap-3 px-6 text-center",children:[e.jsx(Z,{className:"h-8 w-8 animate-spin text-oai-gray-400","aria-hidden":!0}),e.jsx("p",{className:"max-w-md text-xs text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.browse.loading_hint")})]}),Je=(t,n=null)=>e.jsxs("div",{className:"flex flex-col items-center gap-4 rounded-lg border border-dashed border-oai-gray-200 px-4 py-10 text-center text-sm text-oai-gray-500 dark:border-oai-gray-800 dark:text-oai-gray-400",children:[e.jsx("p",{children:r(t)}),n]});let Ze;if(Pe)Ze=xt;else if(l==="my")Ze=be.length?e.jsx(Zr,{items:dt,totalCount:be.length,targets:le,agentOptions:le,agentFilter:M,onAgentFilter:H,anyFilter:ct,onClearFilters:ut,searchQuery:U,onSearchQuery:K,searchPlaceholder:r("skills.my.placeholder"),selectedId:T,onSelect:mt,onToggleTarget:N,busyKey:J,updates:ue,selectedIds:ie,onToggleSelect:oe,onClearSelection:F,onBulkSync:Re,onBulkRemove:Fe,updateCount:rt,onUpdateAll:st}):e.jsxs("div",{className:"flex flex-col items-center gap-4 rounded-lg border border-dashed border-oai-gray-200 px-4 py-10 text-center dark:border-oai-gray-800",children:[le.length>0?e.jsxs("div",{className:"relative h-11 w-80 overflow-hidden","aria-hidden":!0,children:[e.jsx("div",{className:"pointer-events-none absolute inset-0",style:{maskImage:"linear-gradient(to right, transparent 8%, black 20%, black 32%, transparent 44%, transparent 56%, black 68%, black 80%, transparent 92%)",WebkitMaskImage:"linear-gradient(to right, transparent 8%, black 20%, black 32%, transparent 44%, transparent 56%, black 68%, black 80%, transparent 92%)"},children:e.jsx("div",{className:"absolute inset-y-0 left-0 flex w-max items-center animate-marquee-x",style:{filter:"blur(2.5px)"},children:[...le,...le].map((t,n)=>e.jsx("span",{className:"shrink-0 px-3",children:e.jsx(ve,{provider:t.id,size:30})},`b-${n}`))})}),e.jsx("div",{className:"pointer-events-none absolute inset-0",style:{maskImage:"linear-gradient(to right, transparent 28%, black 42%, black 58%, transparent 72%)",WebkitMaskImage:"linear-gradient(to right, transparent 28%, black 42%, black 58%, transparent 72%)"},children:e.jsx("div",{className:"absolute inset-y-0 left-0 flex w-max items-center animate-marquee-x",children:[...le,...le].map((t,n)=>e.jsx("span",{className:"shrink-0 px-3",children:e.jsx(ve,{provider:t.id,size:30})},`c-${n}`))})}),e.jsx("div",{className:"pointer-events-none absolute inset-y-0 left-0 w-20 bg-gradient-to-r from-oai-white to-transparent dark:from-oai-gray-900"}),e.jsx("div",{className:"pointer-events-none absolute inset-y-0 right-0 w-20 bg-gradient-to-l from-oai-white to-transparent dark:from-oai-gray-900"})]}):null,e.jsx("p",{className:"text-sm text-oai-gray-500 dark:text-oai-gray-400",children:r("skills.empty.my")}),e.jsx(X,{type:"button",size:"sm",onClick:()=>p("browse"),children:r("skills.empty.my_cta")})]});else{const t=c===V,n=c===Q,o=S.length===0&&!t&&!n,f=Be&&!t&&!n||n&&me,j=!t&&!n&&(_.trim()!==""||c!==xe),C=()=>{v(""),g(xe)},ke=!o&&!f&&(Ke.length>0||j)?e.jsxs("div",{className:"mb-2 flex flex-wrap items-center gap-2 px-1 text-xs text-oai-gray-500 dark:text-oai-gray-400",children:[e.jsx("span",{children:r("skills.filter.result_count_browse",{count:Ke.length})}),j?e.jsxs("button",{type:"button",onClick:C,className:"ml-auto inline-flex h-7 items-center gap-1 rounded-full bg-oai-gray-100 px-2.5 text-[11px] font-medium text-oai-gray-700 transition hover:bg-oai-gray-200 focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:bg-oai-gray-800/70 dark:text-oai-gray-200 dark:hover:bg-oai-gray-700",children:[e.jsx(Le,{className:"h-3 w-3","aria-hidden":!0}),r("skills.filter.clear")]}):null]}):null;let O;o?O=e.jsx("div",{className:"rounded-lg border border-dashed border-oai-gray-200 p-6 text-center dark:border-oai-gray-800",children:e.jsx("p",{className:"text-sm text-oai-gray-600 dark:text-oai-gray-300",children:r("skills.browse.empty_sources")})}):f?O=ft:t&&m.trim().length<2?O=e.jsx("div",{className:"rounded-lg border border-dashed border-oai-gray-200 px-4 py-6 text-center text-sm text-oai-gray-500 dark:border-oai-gray-800 dark:text-oai-gray-400",children:r("skills.browse.hint_skillssh")}):Ke.length?O=e.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:Ke.map(He=>e.jsx("div",{style:es,children:e.jsx(as,{skill:He,installed:!!He.installed,installing:J===aa(He),allTargets:lt,defaultTargets:_a,onInstall:oa,onManage:ht})},He.id||He.key))}):j?O=Je("skills.empty.no_match",e.jsx(X,{type:"button",variant:"secondary",size:"sm",onClick:C,children:r("skills.filter.clear")})):t?O=Je("skills.empty.search"):n?O=Je("skills.empty.popular"):O=Je("skills.empty.browse");const ea=o||pe?e.jsx("div",{className:"mb-5",children:e.jsx(ts,{repos:S,repoInput:ne,onRepoInput:B,busyKey:J,onAdd:it,onRemove:ot})}):null,pt=!pe&&!t&&!n&&S.length<=1&&Ke.length>0?e.jsx(wr,{id:"skills-browse-intro",className:"mt-6",children:e.jsxs("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1",children:[e.jsx("span",{children:r("skills.browse.add_repo_hint")}),e.jsx("button",{type:"button",onClick:()=>L(!0),className:"rounded font-medium text-oai-gray-700 underline decoration-dotted underline-offset-2 transition hover:text-oai-black focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30 dark:text-oai-gray-200 dark:hover:text-white",children:r("skills.browse.manage_sources")})]})}):null;Ze=e.jsxs(e.Fragment,{children:[ea,ke,O,pt]})}return e.jsxs("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-12 pt-8 sm:pb-16 sm:pt-10",children:e.jsxs("div",{className:"mx-auto max-w-6xl px-4 sm:px-6",children:[e.jsxs("div",{className:"mb-6 flex items-end justify-between gap-4",children:[e.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-oai-black dark:text-white sm:text-4xl",children:r("skills.page.title")}),e.jsxs(X,{type:"button",variant:"secondary",size:"sm",onClick:ia,disabled:Pe||Be||me,children:[e.jsx($t,{className:Y("mr-1.5 h-3.5 w-3.5",(Pe||Be||me)&&"animate-spin"),"aria-hidden":!0}),r("skills.action.refresh")]})]}),e.jsx("div",{className:"mb-5 flex gap-6 border-b border-oai-gray-200 dark:border-oai-gray-800",children:[["my",r("skills.tab.my")],["browse",r("skills.tab.browse")]].map(([t,n])=>e.jsx("button",{type:"button","aria-pressed":l===t,onClick:()=>p(t),className:Y("-mb-px border-b-2 pb-2 text-sm font-medium transition-colors",l===t?"border-oai-black text-oai-black dark:border-white dark:text-white":"border-transparent text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-white"),children:n},t))}),R?e.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700 dark:border-red-900/60 dark:bg-red-950/30 dark:text-red-200",children:R}):null,l==="browse"?e.jsxs("div",{className:"mb-5 flex flex-col gap-3 sm:flex-row sm:items-center",children:[e.jsx(yr,{className:"shrink-0",ariaLabel:r("skills.source.label"),options:[{id:"repo",label:r("skills.mode.repo")},{id:"popular",label:r("skills.mode.popular"),icon:e.jsx(pr,{className:"h-3.5 w-3.5","aria-hidden":!0})},{id:"skillssh",label:r("skills.mode.skillssh")}],value:c===V?"skillssh":c===Q?"popular":"repo",onChange:t=>{t==="skillssh"?g(V):t==="popular"?g(Q):(c===V||c===Q)&&g(xe)}}),c!==V&&c!==Q?e.jsxs(Ba,{value:c,onValueChange:g,children:[e.jsxs(Da,{"aria-label":r("skills.source.label"),className:"inline-flex h-8 w-44 shrink-0 items-center justify-between gap-2 rounded-md border border-oai-gray-200 bg-oai-white px-2.5 text-xs text-oai-black focus:outline-none data-[popup-open]:border-oai-gray-300 dark:border-oai-gray-800 dark:bg-oai-gray-900 dark:text-white dark:data-[popup-open]:border-oai-gray-700",children:[e.jsx(Ta,{children:t=>t===xe?r("skills.source.all"):t}),e.jsx(qa,{className:"text-oai-gray-400",children:e.jsx(pa,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),e.jsx(Ea,{children:e.jsx(Aa,{sideOffset:4,alignItemWithTrigger:!1,className:"z-[60]",children:e.jsxs(Oa,{className:"min-w-[var(--anchor-width)] overflow-hidden rounded-md border border-oai-gray-200 bg-white p-1 shadow-[0_12px_32px_-12px_rgba(0,0,0,0.18)] outline-none transition-[opacity,transform] duration-150 ease-out data-[ending-style]:scale-[0.97] data-[ending-style]:opacity-0 data-[starting-style]:scale-[0.97] data-[starting-style]:opacity-0 dark:border-oai-gray-800 dark:bg-oai-gray-950 dark:shadow-[0_12px_32px_-12px_rgba(0,0,0,0.6)]",children:[e.jsxs(ta,{value:xe,className:"flex cursor-default select-none items-center justify-between gap-2 rounded px-3 py-1.5 text-sm text-oai-black outline-none data-[highlighted]:bg-oai-gray-100 dark:text-white dark:data-[highlighted]:bg-oai-gray-800",children:[e.jsx(ra,{children:r("skills.source.all")}),e.jsx(sa,{children:e.jsx(Ie,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),S.map(t=>{const n=`${t.owner}/${t.name}`;return e.jsxs(ta,{value:n,className:"flex cursor-default select-none items-center justify-between gap-2 rounded px-3 py-1.5 text-sm text-oai-black outline-none data-[highlighted]:bg-oai-gray-100 dark:text-white dark:data-[highlighted]:bg-oai-gray-800",children:[e.jsx(ra,{children:n}),e.jsx(sa,{children:e.jsx(Ie,{className:"h-3.5 w-3.5","aria-hidden":!0})})]},n)})]})})})]}):null,e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ga,{className:"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-oai-gray-400","aria-hidden":!0}),e.jsx(xa,{type:"search",value:m,onChange:t=>v(t.target.value),onKeyDown:t=>{t.key==="Enter"&&c===V&&ka()},"aria-label":r("skills.action.search_aria"),placeholder:c===V?r("skills.browse.placeholder_skillssh"):c===Q?r("skills.browse.placeholder_popular"):c===xe?r("skills.browse.placeholder_all"):r("skills.browse.placeholder_repo",{repo:c}),className:"h-8 pl-9 !border-oai-gray-200 dark:!border-oai-gray-800 focus:!border-oai-gray-400 focus:!ring-oai-gray-400/20 dark:focus:!border-oai-gray-500 dark:focus:!ring-oai-gray-500/20"})]}),c===V?e.jsxs(X,{type:"button",size:"sm",onClick:ka,disabled:m.trim().length<2||J==="search",className:"focus:!ring-oai-gray-400/30",children:[J==="search"?e.jsx(Z,{className:"mr-1.5 h-4 w-4 animate-spin","aria-hidden":!0}):e.jsx(ga,{className:"mr-1.5 h-4 w-4","aria-hidden":!0}),r("skills.action.search")]}):c===Q?null:e.jsxs(X,{type:"button",variant:"secondary",size:"sm",onClick:()=>L(t=>!t),"aria-expanded":pe,className:"!h-8 shrink-0 whitespace-nowrap !border-oai-gray-200 dark:!border-oai-gray-800 hover:!border-oai-gray-300 dark:hover:!border-oai-gray-700 hover:!text-oai-black dark:hover:!text-white focus:!ring-oai-gray-400/30",children:[e.jsx(Ua,{className:"mr-1.5 h-3.5 w-3.5","aria-hidden":!0}),r("skills.browse.manage_sources"),e.jsx("span",{className:"ml-1.5 rounded bg-oai-gray-100 px-1.5 py-0.5 text-xs font-medium text-oai-gray-600 dark:bg-oai-gray-800 dark:text-oai-gray-300",children:S.length})]})]}):null,Ze,e.jsx(Mr,{skill:se,targets:le,busyKey:J,usage:se&&(Oe[String(se.directory||"").toLowerCase()]||Oe[String(se.name||"").toLowerCase()])||null,hasUpdate:!!(se?.id&&ue?.[se.id]),updating:se?J===aa(se):!1,onUpdate:at,onClose:gt,onToggleTarget:N,onRemove:Ye})]})}),e.jsx(da,{open:!!W,title:r("skills.confirm.remove_title",{name:W?.name||W?.directory||""}),description:W?W.managed?r("skills.confirm.remove_managed"):r("skills.confirm.remove_local"):"",confirmLabel:r("skills.action.remove"),cancelLabel:r("shared.action.cancel"),destructive:!0,busy:J===La(W||{}),onCancel:()=>D(null),onConfirm:ze}),e.jsx(da,{open:!!ae,title:r("skills.confirm.bulk_remove_title",{count:ae?.length||0}),description:r("skills.confirm.bulk_remove_desc"),confirmLabel:r("skills.action.remove"),cancelLabel:r("shared.action.cancel"),destructive:!0,busy:J==="batch",onCancel:()=>P(null),onConfirm:Ve}),e.jsx(da,{open:!!Ne,title:r("skills.confirm.update_all_title",{count:Ne?.length||0}),description:r("skills.confirm.update_all_desc"),confirmLabel:r("skills.update.action"),cancelLabel:r("shared.action.cancel"),onCancel:()=>Te(null),onConfirm:nt})]})}export{Ps as SkillsPage,qr as buildLocallyInstalledKeys};
@@ -1,19 +0,0 @@
1
- import{r as _,H as pr,as as wr,cf as At,db as kr,dc as xr,dd as vr,de as Mr,cj as Dr,ck as Nr,cl as Sr,cq as Wt,cp as kn,d as h,j as m,B as Bt,c as A,k as xn,ac as vn,X as Wr,e as ve,df as Or,aB as Cr,p as Pr}from"./__vite-browser-external-Cj9D7QBh.js";import{m as Tr}from"./react-CfB5zBqR.js";import{u as Mn}from"./useCurrency-CaOhUMcm.js";import{u as Dn}from"./useTokenFormat-JjQCKdIr.js";import{u as _r}from"./use-latest-request-guard-BpfCferm.js";import{T as $r,M as Er}from"./terminal-Y3qDL50U.js";import{P as It,a as Ht,b as zt,c as Rt,d as qt}from"./PopoverPopup-3eucO8QU.js";import{u as Yr}from"./use-reduced-motion-Dg10dVuu.js";function Ut(e,t,n){if(!(typeof window>"u"))try{const r=window.localStorage.getItem(e),o=r?JSON.parse(r):[],a=Array.isArray(o)?o.filter(l=>typeof l=="string"&&l!==e):[],i=[t,...a.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 Fr=24,Lt="tokentracker.trend-cache-index",Xt=24;function jr({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:o,to:a,months:i=Fr,cacheKey:s,timeZone:l,tzOffsetMinutes:c,now:u,sharedRows:d,sharedRange:f,accountView:y=!1,accountAccessToken:g=null,accountRevision:k=0,accountViewResolving:b=!1,deviceId:N=null}={}){const v=!!(y&&g),x=v?"cloud":"local",[M,w]=_.useState([]),[p,O]=_.useState(()=>({from:o,to:a})),[S,E]=_.useState("edge"),[F,z]=_.useState(null),[q,X]=_.useState(!1),[oe,Q]=_.useState(null),U=pr(),ue=wr(t),ie=!n&&!U,ne=Array.isArray(d),J=f?.from||o,te=f?.to||a,ye=_.useRef({sharedEnabled:ne,sharedRows:d,sharedFrom:J,sharedTo:te});ye.current={sharedEnabled:ne,sharedRows:d,sharedFrom:J,sharedTo:te};const D=_.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),re=(()=>{if(!s)return null;const $=Ar(e)||"default",K=Sr({timeZone:l,offsetMinutes:c}),ae=N||"all";if(D==="hourly")return`tokentracker.trend.${s}.${x}.${$}.hourly.${a||o||"day"}.${K}.${ae}`;if(D==="monthly")return`tokentracker.trend.${s}.${x}.${$}.monthly.${i}.${a||"today"}.${K}.${ae}`;const Pe=`${o||""}.${a||""}`;return`tokentracker.trend.${s}.${x}.${$}.daily.${Pe}.${K}.${ae}`})(),Me=_.useCallback(()=>{if(!re||typeof window>"u")return null;try{const $=window.localStorage.getItem(re);if(!$)return null;const K=JSON.parse($);return!K||!Array.isArray(K.rows)?null:(Ut(Lt,re,Xt),K)}catch{return null}},[re]),je=_.useCallback($=>{if(!(!re||typeof window>"u"))try{window.localStorage.setItem(re,JSON.stringify($)),Ut(Lt,re,Xt)}catch{}},[re]),C=_.useCallback(()=>{if(!(!re||typeof window>"u"))try{window.localStorage.removeItem(re)}catch{}},[re]),T=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),Z=_r([e,D,o,a,i,x,t,g,k,N,l,c,ne,d,J,te,n,U,ie,b,ue,T]),le=_.useRef(x);_.useEffect(()=>{le.current!==x&&(le.current=x,w([]),O({from:o,to:a}),E("edge"),z(null),Q(null),X(!0))},[x]);const ce=_.useCallback(async()=>{const $=Z(),{sharedEnabled:K,sharedRows:ae,sharedFrom:Pe,sharedTo:$e}=ye.current;if(K){w(Array.isArray(ae)?ae:[]),O({from:Pe,to:$e}),E("shared"),z(null),X(!1),Q(null);return}const ze=await At(t),nt=v?await At(g):null;if(!$()||!ze&&!U&&!T&&!v)return;if(v&&!nt){Q("Your session expired. Please sign in again to view account data."),X(!1);return}const Xe=v?nt:ze,ft=v?kr:xr,mt=v?vr:Mr,rt=v?Dr:Nr;X(!0),Q(null);try{let de;D==="hourly"?de=await ft({baseUrl:e,accessToken:Xe,day:a||o,device:N,timeZone:l,tzOffsetMinutes:c}):D==="monthly"?de=await mt({baseUrl:e,accessToken:Xe,months:i,to:a,device:N,timeZone:l,tzOffsetMinutes:c}):de=await rt({baseUrl:e,accessToken:Xe,from:o,to:a,device:N,timeZone:l,tzOffsetMinutes:c});let B=de?.from||o||de?.day||null;const fe=de?.to||a||de?.day||null;D==="monthly"&&!B&&(B=Ge(fe,i));let ke=Array.isArray(de?.data)?de.data:[];D==="daily"?ke=gt(ke,B||o,fe||a,{timeZone:l,offsetMinutes:c,now:u}):D==="hourly"?(ke=bt(ke,B||o||de?.day,{timeZone:l,offsetMinutes:c,now:u}),ke=pt(ke,{timeZone:l,offsetMinutes:c,now:u})):D==="monthly"&&(ke=wt(ke,B||o,fe||a,{timeZone:l,offsetMinutes:c,now:u}));const ot=new Date().toISOString();if(!$())return;w(ke),O({from:B,to:fe}),E("edge"),z(ot),ie?je({rows:ke,from:B,to:fe,mode:D,fetchedAt:ot}):C()}catch(de){if(!$())return;if(ie){const B=Me();if(B?.rows){let fe=D==="daily"?gt(B.rows||[],B.from||o,B.to||a,{timeZone:l,offsetMinutes:c,now:u}):D==="hourly"?bt(B.rows||[],B.from||o||B.day||a,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(B.rows)?B.rows:[];D==="hourly"?fe=pt(fe,{timeZone:l,offsetMinutes:c,now:u}):D==="monthly"&&(fe=wt(fe,B.from||o||Ge(B.to||a,i),B.to||a,{timeZone:l,offsetMinutes:c,now:u})),w(fe),O({from:B.from||o||(D==="monthly"?Ge(B.to||a,i):o),to:B.to||a}),E("cache"),z(B.fetchedAt||null),Q(null)}else{w([]),O({from:o,to:a}),E("edge"),z(null);const fe=de;Q(fe?.message||String(fe))}}else{w([]),O({from:o,to:a}),E("edge"),z(null);const B=de;Q(B?.message||String(B))}}finally{$()&&X(!1)}},[t,e,o,U,n,ie,D,i,Me,ue,l,a,c,u,C,je,T,v,g,k,N,Z]);_.useEffect(()=>{if(b){X(!0);return}if(ne){w(Array.isArray(d)?d:[]),O({from:J,to:te}),E("shared"),z(null),X(!1),Q(null);return}if(!ue&&!n&&!U&&!T&&!v){w([]),O({from:o,to:a}),Q(null),X(!1),E("edge"),z(null);return}if(!ie)C(),w([]),O({from:o,to:a}),Q(null),E("edge"),z(null);else{const $=Me();if($?.rows){let K=D==="daily"?gt($.rows||[],$.from||o,$.to||a,{timeZone:l,offsetMinutes:c,now:u}):D==="hourly"?bt($.rows||[],$.from||o||$.day||a,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray($.rows)?$.rows:[];D==="hourly"?K=pt(K,{timeZone:l,offsetMinutes:c,now:u}):D==="monthly"&&(K=wt(K,$.from||o||Ge($.to||a,i),$.to||a,{timeZone:l,offsetMinutes:c,now:u})),w(K),O({from:$.from||o||(D==="monthly"?Ge($.to||a,i):o),to:$.to||a}),E("cache"),z($.fetchedAt||null),Q(null)}else w([]),O({from:o,to:a}),E("edge"),z(null),Q(null)}X(!0),ce()},[t,U,Me,ce,ne,J,d,te,ue,n,ie,C,T,b]);const ge=U?"mock":S;return{rows:M,from:p.from||o,to:p.to||a,source:ge,fetchedAt:F,loading:q,error:oe,refresh:ce}}function Ar(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]),o=Number(n[1])-1,a=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(o)||!Number.isFinite(a))return null;const i=new Date(Date.UTC(r,o,a));return Number.isFinite(i.getTime())&&Wt(i)===t?i:null}function Nn(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}const Sn=["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:o,now:a}={}){const i=st(t),s=st(n);if(!i||!s||s<i)return Array.isArray(e)?e:[];const l=a instanceof Date&&Number.isFinite(a.getTime())?a:new Date,c=kn({timeZone:r,offsetMinutes:o,date:l}),u=st(c),d=u?u.getTime():l.getTime(),f=new Map;for(const g of e||[])g?.day&&f.set(g.day,g);const y=[];for(let g=i;g<=s;g=Nn(g,1)){const k=Wt(g),b=f.get(k),N=g.getTime()>d;if(b){y.push({...b,missing:!1,future:N});continue}y.push({day:k,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 y}function Br(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 Ir(e){if(!e||typeof e!="object")return!1;const t=e.models;return t&&typeof t=="object"&&Object.keys(t).length>0?!1:Sn.every(n=>e[n]==null)}function Hr(e,t,n){const r={...e,hour:t,missing:!1,future:n};if(!n&&Ir(e))for(const o of Sn)r[o]=0;return r}function zr(e,t){const n=t===30?48:24,r=[];for(let o=0;o<n;o++){const a=Math.floor(o*t/60),i=o*t%60;r.push(`${e}T${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:00`)}return r}function Rr(e,t,{timeZone:n,offsetMinutes:r}={}){const o=zr(e,t);if(!n||typeof Intl>"u"||!Intl.DateTimeFormat)return o;const a=st(e);if(!a)return o;const i=a.getUTCFullYear()*1e4+(a.getUTCMonth()+1)*100+a.getUTCDate(),s=a.getTime()-2160*60*1e3,l=Nn(a,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 y=`${e}T${String(f.hour).padStart(2,"0")}:${String(f.minute).padStart(2,"0")}:00`;u.has(y)||(u.add(y),c.push(y))}return c.length>0?c:o}function bt(e,t,{timeZone:n,offsetMinutes:r,now:o}={}){if(!t)return Array.isArray(e)?e:[];const a=t.trim().slice(0,10),i=ct({timeZone:n,offsetMinutes:r,now:o}),s=i?i.dayNum:void 0;let l=!1;for(const y of e||[]){const g=y?.hour||y?.label||"",k=it(g,s);if(k&&k.slot%2!==0){l=!0;break}}const c=l?30:60,u=new Map;for(const y of e||[]){const g=y?.hour||y?.label||"",k=it(g,s);k&&u.set(k.slot,y)}const d=[],f=Rr(a,c,{timeZone:n,offsetMinutes:r});for(let y=0;y<f.length;y++){const g=f[y],k=it(g,s),b=k?k.slot:l?y:y*2,N=u.get(b);let v=!1;if(i){const x=i.year*1e4+i.month*100+i.day,M=k?.dayNum??Number(a.replace(/-/g,""));if(M>x)v=!0;else if(M===x){const w=i.hour*2+(i.minute>=30?1:0);v=b>w}}N?d.push(Hr(N,g,v)):d.push(Br(g,v))}return d}function pt(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const o=ct({timeZone:t,offsetMinutes:n,now:r});return o?e.map(a=>{const i=a?.hour||a?.label||"",s=it(i,o.dayNum);if(!s)return{...a,future:!1};const l=s.dayNum!==null&&s.dayNum>o.dayNum||(s.dayNum===null||s.dayNum===o.dayNum)&&s.slot>o.slot;return{...a,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 wt(e,t,n,r={}){const o=Dt(String(t||"").slice(0,7)),a=Dt(String(n||"").slice(0,7));if(!o||!a)return Array.isArray(e)?e:[];const i=o.year*12+o.month-1,s=a.year*12+a.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 y=`${Math.floor(f/12)}-${String(f%12+1).padStart(2,"0")}`,g=f>c,k=u.get(y);if(k&&!(k.future&&k.total_tokens==null))d.push({...k,missing:!1,future:g});else{const b=g?null:0;d.push({month:y,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:g})}}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((v,x)=>(x.type&&x.value&&(v[x.type]=x.value),v),{}),y=Number(f.year),g=Number(f.month),k=Number(f.day),b=Number(f.hour),N=Number(f.minute);if(Number.isFinite(y)&&Number.isFinite(g)&&Number.isFinite(k)&&Number.isFinite(b)&&Number.isFinite(N)){const v=b*2+(N>=30?1:0);return{year:y,month:g,day:k,hour:b,minute:N,dayNum:y*1e4+g*100+k,slot:v}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),d=u.getUTCFullYear(),f=u.getUTCMonth()+1,y=u.getUTCDate(),g=u.getUTCHours(),k=u.getUTCMinutes(),b=g*2+(k>=30?1:0);return{year:d,month:f,day:y,hour:g,minute:k,dayNum:d*1e4+f*100+y,slot:b}}const o=r.getFullYear(),a=r.getMonth()+1,i=r.getDate(),s=r.getHours(),l=r.getMinutes(),c=s*2+(l>=30?1:0);return{year:o,month:a,day:i,hour:s,minute:l,dayNum:o*1e4+a*100+i,slot:c}}function it(e,t){if(!e)return null;const n=String(e).trim();if(n.includes("T")){const[r,o]=n.split("T");if(!r||!o)return null;const a=r.split("-");if(a.length!==3)return null;const i=Number(a[0]),s=Number(a[1]),l=Number(a[2]);if(!Number.isFinite(i)||!Number.isFinite(s)||!Number.isFinite(l))return null;const c=o.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,o=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]),o=Number(i[1])}if(!Number.isFinite(r)||r<0||r>23||!Number.isFinite(o)||o<0||o>59)return null;const a=r*2+(o>=30?1:0);return{dayNum:t||null,slot:a}}}function Dt(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const r=Number(n[0]),o=Number(n[1]);return!Number.isFinite(r)||!Number.isFinite(o)||o<1||o>12?null:{year:r,month:o}}function qr(e){return e==="day"?"hourly":e==="total"?"monthly":"daily"}function Ur(e){return!!e&&!e.missing&&!e.future}function Lr(e){const t=e?.billable_total_tokens??e?.total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Xr(e){const t=e?.total_tokens??e?.billable_total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Gr(e){const t=Array.isArray(e)?e.filter(Ur):[];let n=0,r=0,o=0,a=0,i=!1,s=0,l=-1,c=null;for(const u of t){const d=Xr(u),f=Lr(u);n+=d,r+=f;const y=Number(u?.conversation_count);Number.isFinite(y)&&y>0&&(o+=y);const g=Number(u?.total_cost_usd);Number.isFinite(g)&&(i=!0,a+=g),f>0&&(s+=1),f>l&&(l=f,c=u)}return{totalTokens:n,billableTokens:r,conversationCount:o,totalCostUsd:i?a:null,bucketCount:t.length,activeBuckets:s,peak:c&&l>0?{value:l,label:c.hour||c.day||c.month||""}:null}}function Le(e){return String(e).padStart(2,"0")}function Wn(e){return typeof e=="string"&&e.trim()?e:"en-US"}function On(e){const t=String(e||""),n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!n)return null;const[,r,o,a]=n,i=new Date(Date.UTC(Number(r),Number(o)-1,Number(a)));return i.getUTCFullYear()!==Number(r)||i.getUTCMonth()+1!==Number(o)||i.getUTCDate()!==Number(a)?null:i}function Ie(e,t,n=!0){const r=On(e);if(!r||typeof Intl>"u"||!Intl.DateTimeFormat)return String(e||"");try{return new Intl.DateTimeFormat(Wn(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 o=new Date(Date.UTC(Number(r[1]),Number(r[2])-1,1));if(o.getUTCFullYear()!==Number(r[1])||o.getUTCMonth()+1!==Number(r[2]))return n;try{return new Intl.DateTimeFormat(Wn(t),{year:"numeric",month:"short",timeZone:"UTC"}).format(o)}catch{return n}}function Vr(e,t){const n=On(e);return n?(n.setUTCDate(n.getUTCDate()+t),`${n.getUTCFullYear()}-${Le(n.getUTCMonth()+1)}-${Le(n.getUTCDate())}`):e}function Gt(e,t,n){if(!e)return"";if(t==="hourly"){const o=String(e.hour||e.label||""),a=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})/.exec(o);if(!a)return o;const[,i,s,l]=a,u=Number(s)*60+Number(l)+30,d=Math.floor(u/60)%24,f=u%60,y=Ie(i,n);if(u>=1440){const g=Ie(Vr(i,1),n);return`${y} ${s}:${l}–${g} ${Le(d)}:${Le(f)}`}return`${y} ${s}:${l}–${Le(d)}:${Le(f)}`}if(t==="monthly"){const o=String(e.month||e.label||"");return lt(o,n)}const r=String(e.day||e.label||"");return Ie(r,n)}function Qr(e,t,n,r){if(!e||!t)return null;const o=String(e),a=String(t);return n==="hourly"&&o===a?{start:`${Ie(o,r)} · 00:00`,end:"24:00"}:n==="monthly"?{start:lt(o,r),end:lt(a,r)}:{start:Ie(o,r),end:Ie(a,r)}}function Kr(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 Jr(e,t,n){if(!e)return"";if(t==="hourly"){const o=/T(\d{2}:\d{2})/.exec(String(e.hour||e.label||""));return o?o[1]:""}if(t==="monthly")return lt(String(e.month||e.label||""),n);const r=String(e.day||e.label||"");return Ie(r,n,!1)}function Zr(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 eo={},Ve={};function Be(e,t){try{const r=(eo[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in Ve?Ve[r]:Vt(r,r.split(":"))}catch{if(e in Ve)return Ve[e];const n=e?.match(to);return n?Vt(e,n.slice(1)):NaN}}const to=/([+-]\d\d):?(\d\d)?/;function Vt(e,t){const n=+(t[0]||0),r=+(t[1]||0),o=+(t[2]||0)/60;return Ve[e]=n*60+r>0?n*60+r+o:n*60-r-o}class We extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Be(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)),Cn(this),Nt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new We(...n,t):new We(Date.now(),t)}withTimeZone(t){return new We(+this,t)}getTimezoneOffset(){const t=-Be(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 We(+new Date(t),this.timeZone)}}const Qt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Qt.test(e))return;const t=e.replace(Qt,"$1UTC");We.prototype[t]&&(e.startsWith("get")?We.prototype[e]=function(){return this.internal[t]()}:(We.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),no(this),+this},We.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(-Be(e.timeZone,e)*60))}function no(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()),Cn(e)}function Cn(e){const t=Be(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const o=-new Date(+e).getTimezoneOffset(),a=-new Date(+r).getTimezoneOffset(),i=o-a,s=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&s&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);const l=o-n;l&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const c=new Date(+e);c.setUTCSeconds(0);const u=o>0?c.getSeconds():(c.getSeconds()-60)%60,d=Math.round(-(Be(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=Be(e.timeZone,e),y=f>0?Math.floor(f):Math.ceil(f),k=-new Date(+e).getTimezoneOffset()-y,b=y!==n,N=k-l;if(b&&N){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+N);const v=Be(e.timeZone,e),x=v>0?Math.floor(v):Math.ceil(v),M=y-x;M&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+M),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M))}}class me extends We{static tz(t,...n){return n.length?new me(...n,t):new me(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),o=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+o}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,o]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${o}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,o]=this.tzComponents();return`${t} GMT${n}${r}${o} (${Zr(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"),o=String(Math.abs(t)%60).padStart(2,"0");return[n,r,o]}withTimeZone(t){return new me(+this,t)}[Symbol.for("constructDateFrom")](t){return new me(+new Date(t),this.timeZone)}}const Pn=6048e5,ro=864e5,Kt=Symbol.for("constructDateFrom");function se(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Kt in e?e[Kt](t):e instanceof Date?new e.constructor(t):new Date(t)}function L(e,t){return se(t||e,e)}function Tn(e,t,n){const r=L(e,n?.in);return isNaN(t)?se(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function _n(e,t,n){const r=L(e,n?.in);if(isNaN(t))return se(e,NaN);if(!t)return r;const o=r.getDate(),a=se(e,r.getTime());a.setMonth(r.getMonth()+t+1,0);const i=a.getDate();return o>=i?a:(r.setFullYear(a.getFullYear(),a.getMonth(),o),r)}let oo={};function Je(){return oo}function Fe(e,t){const n=Je(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=L(e,t?.in),a=o.getDay(),i=(a<r?7:0)+a-r;return o.setDate(o.getDate()-i),o.setHours(0,0,0,0),o}function Qe(e,t){return Fe(e,{...t,weekStartsOn:1})}function $n(e,t){const n=L(e,t?.in),r=n.getFullYear(),o=se(n,0);o.setFullYear(r+1,0,4),o.setHours(0,0,0,0);const a=Qe(o),i=se(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const s=Qe(i);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Jt(e){const t=L(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 He(e,...t){const n=se.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function Ke(e,t){const n=L(e,t?.in);return n.setHours(0,0,0,0),n}function Ot(e,t,n){const[r,o]=He(n?.in,e,t),a=Ke(r),i=Ke(o),s=+a-Jt(a),l=+i-Jt(i);return Math.round((s-l)/ro)}function ao(e,t){const n=$n(e,t),r=se(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Qe(r)}function so(e,t,n){return Tn(e,t*7,n)}function io(e,t,n){return _n(e,t*12,n)}function lo(e,t){let n,r=t?.in;return e.forEach(o=>{!r&&typeof o=="object"&&(r=se.bind(null,o));const a=L(o,r);(!n||n<a||isNaN(+a))&&(n=a)}),se(r,n||NaN)}function co(e,t){let n,r=t?.in;return e.forEach(o=>{!r&&typeof o=="object"&&(r=se.bind(null,o));const a=L(o,r);(!n||n>a||isNaN(+a))&&(n=a)}),se(r,n||NaN)}function uo(e,t,n){const[r,o]=He(n?.in,e,t);return+Ke(r)==+Ke(o)}function En(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function fo(e){return!(!En(e)&&typeof e!="number"||isNaN(+L(e)))}function Yn(e,t,n){const[r,o]=He(n?.in,e,t),a=r.getFullYear()-o.getFullYear(),i=r.getMonth()-o.getMonth();return a*12+i}function mo(e,t){const n=L(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Fn(e,t){const[n,r]=He(e,t.start,t.end);return{start:n,end:r}}function ho(e,t){const{start:n,end:r}=Fn(t?.in,e);let o=+n>+r;const a=o?+n:+r,i=o?r:n;i.setHours(0,0,0,0),i.setDate(1);let s=1;const l=[];for(;+i<=a;)l.push(se(n,i)),i.setMonth(i.getMonth()+s);return o?l.reverse():l}function yo(e,t){const n=L(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function go(e,t){const n=L(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function jn(e,t){const n=L(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function bo(e,t){const{start:n,end:r}=Fn(t?.in,e);let o=+n>+r;const a=o?+n:+r,i=o?r:n;i.setHours(0,0,0,0),i.setMonth(0,1);let s=1;const l=[];for(;+i<=a;)l.push(se(n,i)),i.setFullYear(i.getFullYear()+s);return o?l.reverse():l}function An(e,t){const n=Je(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=L(e,t?.in),a=o.getDay(),i=(a<r?-7:0)+6-(a-r);return o.setDate(o.getDate()+i),o.setHours(23,59,59,999),o}function po(e,t){return An(e,{...t,weekStartsOn:1})}const wo={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"}},ko=(e,t,n)=>{let r;const o=wo[e];return typeof o=="string"?r=o:t===1?r=o.one:r=o.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function he(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const xo={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},vo={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},Mo={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Do={date:he({formats:xo,defaultWidth:"full"}),time:he({formats:vo,defaultWidth:"full"}),dateTime:he({formats:Mo,defaultWidth:"full"})},No={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},So=(e,t,n,r)=>No[e];function G(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let o;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,s=n?.width?String(n.width):i;o=e.formattingValues[s]||e.formattingValues[i]}else{const i=e.defaultWidth,s=n?.width?String(n.width):e.defaultWidth;o=e.values[s]||e.values[i]}const a=e.argumentCallback?e.argumentCallback(t):t;return o[a]}}const Wo={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Oo={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Co={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"]},Po={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"]},To={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"}},_o={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"}},$o=(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"},Eo={ordinalNumber:$o,era:G({values:Wo,defaultWidth:"wide"}),quarter:G({values:Oo,defaultWidth:"wide",argumentCallback:e=>e-1}),month:G({values:Co,defaultWidth:"wide"}),day:G({values:Po,defaultWidth:"wide"}),dayPeriod:G({values:To,defaultWidth:"wide",formattingValues:_o,defaultFormattingWidth:"wide"})};function V(e){return(t,n={})=>{const r=n.width,o=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(o);if(!a)return null;const i=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?Fo(s,d=>d.test(i)):Yo(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 Yo(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Fo(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Ze(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const o=r[0],a=t.match(e.parsePattern);if(!a)return null;let i=e.valueCallback?e.valueCallback(a[0]):a[0];i=n.valueCallback?n.valueCallback(i):i;const s=t.slice(o.length);return{value:i,rest:s}}}const jo=/^(\d+)(th|st|nd|rd)?/i,Ao=/\d+/i,Bo={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},Io={any:[/^b/i,/^(a|c)/i]},Ho={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},zo={any:[/1/i,/2/i,/3/i,/4/i]},Ro={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},qo={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]},Uo={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},Lo={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]},Xo={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},Go={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}},Vo={ordinalNumber:Ze({matchPattern:jo,parsePattern:Ao,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:Bo,defaultMatchWidth:"wide",parsePatterns:Io,defaultParseWidth:"any"}),quarter:V({matchPatterns:Ho,defaultMatchWidth:"wide",parsePatterns:zo,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Ro,defaultMatchWidth:"wide",parsePatterns:qo,defaultParseWidth:"any"}),day:V({matchPatterns:Uo,defaultMatchWidth:"wide",parsePatterns:Lo,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:Xo,defaultMatchWidth:"any",parsePatterns:Go,defaultParseWidth:"any"})},Ye={code:"en-US",formatDistance:ko,formatLong:Do,formatRelative:So,localize:Eo,match:Vo,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Qo(e,t){const n=L(e,t?.in);return Ot(n,jn(n))+1}function Ct(e,t){const n=L(e,t?.in),r=+Qe(n)-+ao(n);return Math.round(r/Pn)+1}function Bn(e,t){const n=L(e,t?.in),r=n.getFullYear(),o=Je(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,i=se(t?.in||e,0);i.setFullYear(r+1,0,a),i.setHours(0,0,0,0);const s=Fe(i,t),l=se(t?.in||e,0);l.setFullYear(r,0,a),l.setHours(0,0,0,0);const c=Fe(l,t);return+n>=+s?r+1:+n>=+c?r:r-1}function Ko(e,t){const n=Je(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=Bn(e,t),a=se(t?.in||e,0);return a.setFullYear(o,0,r),a.setHours(0,0,0,0),Fe(a,t)}function Pt(e,t){const n=L(e,t?.in),r=+Fe(n,t)-+Ko(n,t);return Math.round(r/Pn)+1}function R(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const Ee={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(),o=Math.trunc(r*Math.pow(10,n-3));return R(o,t.length)}},Re={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Zt={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(),o=r>0?r:1-r;return n.ordinalNumber(o,{unit:"year"})}return Ee.y(e,t)},Y:function(e,t,n,r){const o=Bn(e,r),a=o>0?o:1-o;if(t==="YY"){const i=a%100;return R(i,2)}return t==="Yo"?n.ordinalNumber(a,{unit:"year"}):R(a,t.length)},R:function(e,t){const n=$n(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 Ee.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 o=Pt(e,r);return t==="wo"?n.ordinalNumber(o,{unit:"week"}):R(o,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"}):Ee.d(e,t)},D:function(e,t,n){const r=Qo(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 o=e.getDay(),a=(o-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return R(a,2);case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(o,{width:"short",context:"formatting"});default:return n.day(o,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const o=e.getDay(),a=(o-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return R(a,t.length);case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});case"cccccc":return n.day(o,{width:"short",context:"standalone"});default:return n.day(o,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),o=r===0?7:r;switch(t){case"i":return String(o);case"ii":return R(o,t.length);case"io":return n.ordinalNumber(o,{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 o=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let o;switch(r===12?o=Re.noon:r===0?o=Re.midnight:o=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let o;switch(r>=17?o=Re.evening:r>=12?o=Re.afternoon:r>=4?o=Re.morning:o=Re.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{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 Ee.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):Ee.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"}):Ee.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):Ee.s(e,t)},S:function(e,t){return Ee.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return tn(r);case"XXXX":case"XX":return Ae(r);default:return Ae(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return tn(r);case"xxxx":case"xx":return Ae(r);default:return Ae(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+en(r,":");default:return"GMT"+Ae(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+en(r,":");default:return"GMT"+Ae(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 en(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),o=Math.trunc(r/60),a=r%60;return a===0?n+String(o):n+String(o)+t+R(a,2)}function tn(e,t){return e%60===0?(e>0?"-":"+")+R(Math.abs(e)/60,2):Ae(e,t)}function Ae(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),o=R(Math.trunc(r/60),2),a=R(r%60,2);return n+o+t+a}const nn=(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"})}},In=(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"})}},Jo=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],o=n[2];if(!o)return nn(e,t);let a;switch(r){case"P":a=t.dateTime({width:"short"});break;case"PP":a=t.dateTime({width:"medium"});break;case"PPP":a=t.dateTime({width:"long"});break;default:a=t.dateTime({width:"full"});break}return a.replace("{{date}}",nn(r,t)).replace("{{time}}",In(o,t))},Zo={p:In,P:Jo},ea=/^D+$/,ta=/^Y+$/,na=["D","DD","YY","YYYY"];function ra(e){return ea.test(e)}function oa(e){return ta.test(e)}function aa(e,t,n){const r=sa(e,t,n);if(console.warn(r),na.includes(e))throw new RangeError(r)}function sa(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 ia=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,la=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ca=/^'([^]*?)'?$/,ua=/''/g,da=/[a-zA-Z]/;function Oe(e,t,n){const r=Je(),o=n?.locale??r.locale??Ye,a=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=L(e,n?.in);if(!fo(s))throw new RangeError("Invalid time value");let l=t.match(la).map(u=>{const d=u[0];if(d==="p"||d==="P"){const f=Zo[d];return f(u,o.formatLong)}return u}).join("").match(ia).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const d=u[0];if(d==="'")return{isToken:!1,value:fa(u)};if(Zt[d])return{isToken:!0,value:u};if(d.match(da))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:u}});o.localize.preprocessor&&(l=o.localize.preprocessor(s,l));const c={firstWeekContainsDate:a,weekStartsOn:i,locale:o};return l.map(u=>{if(!u.isToken)return u.value;const d=u.value;(!n?.useAdditionalWeekYearTokens&&oa(d)||!n?.useAdditionalDayOfYearTokens&&ra(d))&&aa(d,t,String(e));const f=Zt[d[0]];return f(s,d,o.localize,c)}).join("")}function fa(e){const t=e.match(ca);return t?t[1].replace(ua,"'"):e}function ma(e,t){const n=L(e,t?.in),r=n.getFullYear(),o=n.getMonth(),a=se(n,0);return a.setFullYear(r,o+1,0),a.setHours(0,0,0,0),a.getDate()}function ha(e,t){return L(e,t?.in).getMonth()}function ya(e,t){return L(e,t?.in).getFullYear()}function ga(e,t){return+L(e)>+L(t)}function ba(e,t){return+L(e)<+L(t)}function pa(e,t,n){const[r,o]=He(n?.in,e,t);return+Fe(r,n)==+Fe(o,n)}function wa(e,t,n){const[r,o]=He(n?.in,e,t);return r.getFullYear()===o.getFullYear()&&r.getMonth()===o.getMonth()}function ka(e,t,n){const[r,o]=He(n?.in,e,t);return r.getFullYear()===o.getFullYear()}function xa(e,t,n){const r=L(e,n?.in),o=r.getFullYear(),a=r.getDate(),i=se(e,0);i.setFullYear(o,t,15),i.setHours(0,0,0,0);const s=ma(i);return r.setMonth(t,Math.min(a,s)),r}function va(e,t,n){const r=L(e,n?.in);return isNaN(+r)?se(e,NaN):(r.setFullYear(t),r)}const rn=5,Ma=4;function Da(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,o=t.addDays(e,-r+1),a=t.addDays(o,rn*7-1);return t.getMonth(e)===t.getMonth(a)?rn:Ma}function Hn(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 Na(e,t){const n=Hn(e,t),r=Da(e,t);return t.addDays(n,r*7-1)}const Sa={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}}年近く"}},Wa=(e,t,n)=>{n=n||{};let r;const o=Sa[e];return typeof o=="string"?r=o:t===1?n.addSuffix&&o.oneWithSuffix?r=o.oneWithSuffix:r=o.one:n.addSuffix&&o.otherWithSuffix?r=o.otherWithSuffix.replace("{{count}}",String(t)):r=o.other.replace("{{count}}",String(t)),n.addSuffix?n.comparison&&n.comparison>0?r+"後":r+"前":r},Oa={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},Ca={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},Pa={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Ta={date:he({formats:Oa,defaultWidth:"full"}),time:he({formats:Ca,defaultWidth:"full"}),dateTime:he({formats:Pa,defaultWidth:"full"})},_a={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},$a=(e,t,n,r)=>_a[e],Ea={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},Ya={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},Fa={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月"]},ja={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},Aa={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:"深夜"}},Ba={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:"深夜"}},Ia=(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}`}},Ha={ordinalNumber:Ia,era:G({values:Ea,defaultWidth:"wide"}),quarter:G({values:Ya,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:G({values:Fa,defaultWidth:"wide"}),day:G({values:ja,defaultWidth:"wide"}),dayPeriod:G({values:Aa,defaultWidth:"wide",formattingValues:Ba,defaultFormattingWidth:"wide"})},za=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,Ra=/\d+/i,qa={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},Ua={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},La={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},Xa={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Ga={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},Va={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Qa={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Ka={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},Ja={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Za={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},es={ordinalNumber:Ze({matchPattern:za,parsePattern:Ra,valueCallback:function(e){return parseInt(e,10)}}),era:V({matchPatterns:qa,defaultMatchWidth:"wide",parsePatterns:Ua,defaultParseWidth:"any"}),quarter:V({matchPatterns:La,defaultMatchWidth:"wide",parsePatterns:Xa,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Ga,defaultMatchWidth:"wide",parsePatterns:Va,defaultParseWidth:"any"}),day:V({matchPatterns:Qa,defaultMatchWidth:"wide",parsePatterns:Ka,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:Ja,defaultMatchWidth:"any",parsePatterns:Za,defaultParseWidth:"any"})},ts={code:"ja",formatDistance:Wa,formatLong:Ta,formatRelative:$a,localize:Ha,match:es,options:{weekStartsOn:0,firstWeekContainsDate:1}},ns={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}}년"}},rs=(e,t,n)=>{let r;const o=ns[e];return typeof o=="string"?r=o:t===1?r=o.one:r=o.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?r+" 후":r+" 전":r},os={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},as={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},ss={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},is={date:he({formats:os,defaultWidth:"full"}),time:he({formats:as,defaultWidth:"full"}),dateTime:he({formats:ss,defaultWidth:"full"})},ls={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},cs=(e,t,n,r)=>ls[e],us={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},ds={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},fs={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월"]},ms={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:"밤"}},ys={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:"밤"}},gs=(e,t)=>{const n=Number(e);switch(String(t?.unit)){case"minute":case"second":return String(n);case"date":return n+"일";default:return n+"번째"}},bs={ordinalNumber:gs,era:G({values:us,defaultWidth:"wide"}),quarter:G({values:ds,defaultWidth:"wide",argumentCallback:e=>e-1}),month:G({values:fs,defaultWidth:"wide"}),day:G({values:ms,defaultWidth:"wide"}),dayPeriod:G({values:hs,defaultWidth:"wide",formattingValues:ys,defaultFormattingWidth:"wide"})},ps=/^(\d+)(일|번째)?/i,ws=/\d+/i,ks={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},xs={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},vs={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},Ms={any:[/1/i,/2/i,/3/i,/4/i]},Ds={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},Ns={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Ss={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},Ws={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},Os={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},Cs={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},Ps={ordinalNumber:Ze({matchPattern:ps,parsePattern:ws,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:ks,defaultMatchWidth:"wide",parsePatterns:xs,defaultParseWidth:"any"}),quarter:V({matchPatterns:vs,defaultMatchWidth:"wide",parsePatterns:Ms,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Ds,defaultMatchWidth:"wide",parsePatterns:Ns,defaultParseWidth:"any"}),day:V({matchPatterns:Ss,defaultMatchWidth:"wide",parsePatterns:Ws,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:Os,defaultMatchWidth:"any",parsePatterns:Cs,defaultParseWidth:"any"})},Ts={code:"ko",formatDistance:rs,formatLong:is,formatRelative:cs,localize:bs,match:Ps,options:{weekStartsOn:0,firstWeekContainsDate:1}},_s={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}} 年"}},$s=(e,t,n)=>{let r;const o=_s[e];return typeof o=="string"?r=o:t===1?r=o.one:r=o.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},Es={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},Ys={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},Fs={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},js={date:he({formats:Es,defaultWidth:"full"}),time:he({formats:Ys,defaultWidth:"full"}),dateTime:he({formats:Fs,defaultWidth:"full"})};function on(e,t,n){const r="eeee p";return pa(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const As={lastWeek:on,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:on,other:"PP p"},Bs=(e,t,n,r)=>{const o=As[e];return typeof o=="function"?o(t,n,r):o},Is={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},Hs={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},zs={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},Rs={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},qs={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Us={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:"夜间"}},Ls=(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()}},Xs={ordinalNumber:Ls,era:G({values:Is,defaultWidth:"wide"}),quarter:G({values:Hs,defaultWidth:"wide",argumentCallback:e=>e-1}),month:G({values:zs,defaultWidth:"wide"}),day:G({values:Rs,defaultWidth:"wide"}),dayPeriod:G({values:qs,defaultWidth:"wide",formattingValues:Us,defaultFormattingWidth:"wide"})},Gs=/^(第\s*)?\d+(日|时|分|秒)?/i,Vs=/\d+/i,Qs={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Ks={any:[/^(前)/i,/^(公元)/i]},Js={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Zs={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},ei={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},ti={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]},ni={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},ri={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},oi={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},ai={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},si={ordinalNumber:Ze({matchPattern:Gs,parsePattern:Vs,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:Qs,defaultMatchWidth:"wide",parsePatterns:Ks,defaultParseWidth:"any"}),quarter:V({matchPatterns:Js,defaultMatchWidth:"wide",parsePatterns:Zs,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:ei,defaultMatchWidth:"wide",parsePatterns:ti,defaultParseWidth:"any"}),day:V({matchPatterns:ni,defaultMatchWidth:"wide",parsePatterns:ri,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:oi,defaultMatchWidth:"any",parsePatterns:ai,defaultParseWidth:"any"})},ii={code:"zh-CN",formatDistance:$s,formatLong:js,formatRelative:Bs,localize:Xs,match:si,options:{weekStartsOn:1,firstWeekContainsDate:4}},li={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}} 年"}},ci=(e,t,n)=>{let r;const o=li[e];return typeof o=="string"?r=o:t===1?r=o.one:r=o.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"內":r+"前":r},ui={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},di={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},fi={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},mi={date:he({formats:ui,defaultWidth:"full"}),time:he({formats:di,defaultWidth:"full"}),dateTime:he({formats:fi,defaultWidth:"full"})},hi={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},yi=(e,t,n,r)=>hi[e],gi={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},bi={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},pi={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},wi={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},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:"夜間"}},xi={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:"夜間"}},vi=(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}},Mi={ordinalNumber:vi,era:G({values:gi,defaultWidth:"wide"}),quarter:G({values:bi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:G({values:pi,defaultWidth:"wide"}),day:G({values:wi,defaultWidth:"wide"}),dayPeriod:G({values:ki,defaultWidth:"wide",formattingValues:xi,defaultFormattingWidth:"wide"})},Di=/^(第\s*)?\d+(日|時|分|秒)?/i,Ni=/\d+/i,Si={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Wi={any:[/^(前)/i,/^(公元)/i]},Oi={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},Ci={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Pi={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Ti={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]},_i={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},$i={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Ei={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},Yi={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Fi={ordinalNumber:Ze({matchPattern:Di,parsePattern:Ni,valueCallback:e=>parseInt(e,10)}),era:V({matchPatterns:Si,defaultMatchWidth:"wide",parsePatterns:Wi,defaultParseWidth:"any"}),quarter:V({matchPatterns:Oi,defaultMatchWidth:"wide",parsePatterns:Ci,defaultParseWidth:"any",valueCallback:e=>e+1}),month:V({matchPatterns:Pi,defaultMatchWidth:"wide",parsePatterns:Ti,defaultParseWidth:"any"}),day:V({matchPatterns:_i,defaultMatchWidth:"wide",parsePatterns:$i,defaultParseWidth:"any"}),dayPeriod:V({matchPatterns:Ei,defaultMatchWidth:"any",parsePatterns:Yi,defaultParseWidth:"any"})},ji={code:"zh-TW",formatDistance:ci,formatLong:mi,formatRelative:yi,localize:Mi,match:Fi,options:{weekStartsOn:1,firstWeekContainsDate:4}},zn={...Ye,labels:{labelDayButton:(e,t,n,r)=>{let o;r&&typeof r.format=="function"?o=r.format.bind(r):o=(i,s)=>Oe(i,s,{locale:Ye,...n});let a=o(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a},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=(o,a)=>Oe(o,a,{locale:Ye,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let o;r&&typeof r.format=="function"?o=r.format.bind(r):o=(i,s)=>Oe(i,s,{locale:Ye,...n});let a=o(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(o,a)=>Oe(o,a,{locale:Ye,...t}),r(e,"cccc")}}};class we{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?me.tz(this.options.timeZone):new this.Date,this.newDate=(r,o,a)=>this.overrides?.newDate?this.overrides.newDate(r,o,a):this.options.timeZone?new me(r,o,a,this.options.timeZone):new Date(r,o,a),this.addDays=(r,o)=>this.overrides?.addDays?this.overrides.addDays(r,o):Tn(r,o),this.addMonths=(r,o)=>this.overrides?.addMonths?this.overrides.addMonths(r,o):_n(r,o),this.addWeeks=(r,o)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,o):so(r,o),this.addYears=(r,o)=>this.overrides?.addYears?this.overrides.addYears(r,o):io(r,o),this.differenceInCalendarDays=(r,o)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,o):Ot(r,o),this.differenceInCalendarMonths=(r,o)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,o):Yn(r,o),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):ho(r),this.eachYearOfInterval=r=>{const o=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):bo(r),a=new Set(o.map(s=>this.getYear(s)));if(a.size===o.length)return o;const i=[];return a.forEach(s=>{i.push(new Date(s,0,1))}),i},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):Na(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):po(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):mo(r),this.endOfWeek=(r,o)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,o):An(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):go(r),this.format=(r,o,a)=>{const i=this.overrides?.format?this.overrides.format(r,o,this.options):Oe(r,o,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,o)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):ha(r,this.options),this.getYear=(r,o)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):ya(r,this.options),this.getWeek=(r,o)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):Pt(r,this.options),this.isAfter=(r,o)=>this.overrides?.isAfter?this.overrides.isAfter(r,o):ga(r,o),this.isBefore=(r,o)=>this.overrides?.isBefore?this.overrides.isBefore(r,o):ba(r,o),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):En(r),this.isSameDay=(r,o)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,o):uo(r,o),this.isSameMonth=(r,o)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,o):wa(r,o),this.isSameYear=(r,o)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,o):ka(r,o),this.max=r=>this.overrides?.max?this.overrides.max(r):lo(r),this.min=r=>this.overrides?.min?this.overrides.min(r):co(r),this.setMonth=(r,o)=>this.overrides?.setMonth?this.overrides.setMonth(r,o):xa(r,o),this.setYear=(r,o)=>this.overrides?.setYear?this.overrides.setYear(r,o):va(r,o),this.startOfBroadcastWeek=(r,o)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):Hn(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Ke(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Qe(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):yo(r),this.startOfWeek=(r,o)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):Fe(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):jn(r),this.options={locale:zn,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let o=0;o<10;o++)r[o.toString()]=n.format(o);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&&we.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:o}=this.options,a=n?.code;if(a&&we.yearFirstLocales.has(a))try{return new Intl.DateTimeFormat(a,{month:"long",year:"numeric",timeZone:r,numberingSystem:o}).format(t)}catch{}const i=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,i)}}we.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 Ce=new we;class Rn{constructor(t,n,r=Ce){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 Ai{constructor(t,n){this.date=t,this.weeks=n}}class Bi{constructor(t,n){this.days=n,this.weekNumber=t}}function Ii(e){return h.createElement("button",{...e})}function Hi(e){return h.createElement("span",{...e})}function zi(e){const{size:t=24,orientation:n="left",className:r}=e;return h.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&h.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&h.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&h.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&h.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Ri(e){const{day:t,modifiers:n,...r}=e;return h.createElement("td",{...r})}function qi(e){const{day:t,modifiers:n,...r}=e,o=h.useRef(null);return h.useEffect(()=>{n.focused&&o.current?.focus()},[n.focused]),h.createElement("button",{ref:o,...r})}var W;(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"})(W||(W={}));var ee;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(ee||(ee={}));var Ne;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(Ne||(Ne={}));var pe;(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"})(pe||(pe={}));function Ui(e){const{options:t,className:n,components:r,classNames:o,...a}=e,i=[o[W.Dropdown],n].join(" "),s=t?.find(({value:l})=>l===a.value);return h.createElement("span",{"data-disabled":a.disabled,className:o[W.DropdownRoot]},h.createElement(r.Select,{className:i,...a},t?.map(({value:l,label:c,disabled:u})=>h.createElement(r.Option,{key:l,value:l,disabled:u},c))),h.createElement("span",{className:o[W.CaptionLabel],"aria-hidden":!0},s?.label,h.createElement(r.Chevron,{orientation:"down",size:18,className:o[W.Chevron]})))}function Li(e){return h.createElement("div",{...e})}function Xi(e){return h.createElement("div",{...e})}function Gi(e){const{calendarMonth:t,displayIndex:n,...r}=e;return h.createElement("div",{...r},e.children)}function Vi(e){const{calendarMonth:t,displayIndex:n,...r}=e;return h.createElement("div",{...r})}function Qi(e){return h.createElement("table",{...e})}function Ki(e){return h.createElement("div",{...e})}const qn=_.createContext(void 0);function et(){const e=_.useContext(qn);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Ji(e){const{components:t}=et();return h.createElement(t.Dropdown,{...e})}function Zi(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:o,...a}=e,{components:i,classNames:s,labels:{labelPrevious:l,labelNext:c}}=et(),u=_.useCallback(f=>{o&&n?.(f)},[o,n]),d=_.useCallback(f=>{r&&t?.(f)},[r,t]);return h.createElement("nav",{...a},h.createElement(i.PreviousMonthButton,{type:"button",className:s[W.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":l(r),onClick:d},h.createElement(i.Chevron,{disabled:r?void 0:!0,className:s[W.Chevron],orientation:"left"})),h.createElement(i.NextMonthButton,{type:"button",className:s[W.NextMonthButton],tabIndex:o?void 0:-1,"aria-disabled":o?void 0:!0,"aria-label":c(o),onClick:u},h.createElement(i.Chevron,{disabled:o?void 0:!0,orientation:"right",className:s[W.Chevron]})))}function el(e){const{components:t}=et();return h.createElement(t.Button,{...e})}function tl(e){return h.createElement("option",{...e})}function nl(e){const{components:t}=et();return h.createElement(t.Button,{...e})}function rl(e){const{rootRef:t,...n}=e;return h.createElement("div",{...n,ref:t})}function ol(e){return h.createElement("select",{...e})}function al(e){const{week:t,...n}=e;return h.createElement("tr",{...n})}function sl(e){return h.createElement("th",{...e})}function il(e){return h.createElement("thead",{"aria-hidden":!0},h.createElement("tr",{...e}))}function ll(e){const{week:t,...n}=e;return h.createElement("th",{...n})}function cl(e){return h.createElement("th",{...e})}function ul(e){return h.createElement("tbody",{...e})}function dl(e){const{components:t}=et();return h.createElement(t.Dropdown,{...e})}const fl=Object.freeze(Object.defineProperty({__proto__:null,Button:Ii,CaptionLabel:Hi,Chevron:zi,Day:Ri,DayButton:qi,Dropdown:Ui,DropdownNav:Li,Footer:Xi,Month:Gi,MonthCaption:Vi,MonthGrid:Qi,Months:Ki,MonthsDropdown:Ji,Nav:Zi,NextMonthButton:el,Option:tl,PreviousMonthButton:nl,Root:rl,Select:ol,Week:al,WeekNumber:ll,WeekNumberHeader:cl,Weekday:sl,Weekdays:il,Weeks:ul,YearsDropdown:dl},Symbol.toStringTag,{value:"Module"}));function Te(e,t,n=!1,r=Ce){let{from:o,to:a}=e;const{differenceInCalendarDays:i,isSameDay:s}=r;return o&&a?(i(a,o)<0&&([o,a]=[a,o]),i(t,o)>=(n?1:0)&&i(a,t)>=(n?1:0)):!n&&a?s(a,t):!n&&o?s(o,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 Un(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Ln(e,t){return Array.isArray(e)&&e.every(t.isDate)}function _e(e,t,n=Ce){const r=Array.isArray(t)?t:[t],{isSameDay:o,differenceInCalendarDays:a,isAfter:i}=n;return r.some(s=>{if(typeof s=="boolean")return s;if(n.isDate(s))return o(e,s);if(Ln(s,n))return s.some(l=>o(e,l));if(ut(s))return Te(s,e,!1,n);if(Un(s))return Array.isArray(s.dayOfWeek)?s.dayOfWeek.includes(e.getDay()):s.dayOfWeek===e.getDay();if(Tt(s)){const l=a(s.before,e),c=a(s.after,e),u=l>0,d=c<0;return i(s.before,s.after)?d&&u:u||d}return _t(s)?a(e,s.after)>0:$t(s)?a(s.before,e)>0:typeof s=="function"?s(e):!1})}function ml(e,t,n,r,o){const{disabled:a,hidden:i,modifiers:s,showOutsideDays:l,broadcastCalendar:c,today:u=o.today()}=t,{isSameDay:d,isSameMonth:f,startOfMonth:y,isBefore:g,endOfMonth:k,isAfter:b}=o,N=n&&y(n),v=r&&k(r),x={[ee.focused]:[],[ee.outside]:[],[ee.disabled]:[],[ee.hidden]:[],[ee.today]:[]},M={};for(const w of e){const{date:p,displayMonth:O}=w,S=!!(O&&!f(p,O)),E=!!(N&&g(p,N)),F=!!(v&&b(p,v)),z=!!(a&&_e(p,a,o)),q=!!(i&&_e(p,i,o))||E||F||!c&&!l&&S||c&&l===!1&&S,X=d(p,u);S&&x.outside.push(w),z&&x.disabled.push(w),q&&x.hidden.push(w),X&&x.today.push(w),s&&Object.keys(s).forEach(oe=>{const Q=s?.[oe];Q&&_e(p,Q,o)&&(M[oe]?M[oe].push(w):M[oe]=[w])})}return w=>{const p={[ee.focused]:!1,[ee.disabled]:!1,[ee.hidden]:!1,[ee.outside]:!1,[ee.today]:!1},O={};for(const S in x){const E=x[S];p[S]=E.some(F=>F===w)}for(const S in M)O[S]=M[S].some(E=>E===w);return{...p,...O}}}function hl(e,t,n={}){return Object.entries(e).filter(([,o])=>o===!0).reduce((o,[a])=>(n[a]?o.push(n[a]):t[ee[a]]?o.push(t[ee[a]]):t[Ne[a]]&&o.push(t[Ne[a]]),o),[t[W.Day]])}function yl(e){return{...fl,...e}}function gl(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 bl(){const e={};for(const t in W)e[W[t]]=`rdp-${W[t]}`;for(const t in ee)e[ee[t]]=`rdp-${ee[t]}`;for(const t in Ne)e[Ne[t]]=`rdp-${Ne[t]}`;for(const t in pe)e[pe[t]]=`rdp-${pe[t]}`;return e}function Xn(e,t,n){return(n??new we(t)).formatMonthYear(e)}const pl=Xn;function wl(e,t,n){return(n??new we(t)).format(e,"d")}function kl(e,t=Ce){return t.format(e,"LLLL")}function xl(e,t,n){return(n??new we(t)).format(e,"cccccc")}function vl(e,t=Ce){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function Ml(){return""}function Gn(e,t=Ce){return t.format(e,"yyyy")}const Dl=Gn,Nl=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Xn,formatDay:wl,formatMonthCaption:pl,formatMonthDropdown:kl,formatWeekNumber:vl,formatWeekNumberHeader:Ml,formatWeekdayName:xl,formatYearCaption:Dl,formatYearDropdown:Gn},Symbol.toStringTag,{value:"Module"}));function Sl(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...Nl,...e}}function Et(e,t,n,r){let o=(r??new we(n)).format(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o}const Wl=Et;function Yt(e,t,n){return(n??new we(t)).formatMonthYear(e)}const Ol=Yt;function Vn(e,t,n,r){let o=(r??new we(n)).format(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o}function Qn(e){return"Choose the Month"}function Kn(){return""}const Cl="Go to the Next Month";function Jn(e,t){return Cl}function Zn(e){return"Go to the Previous Month"}function er(e,t,n){return(n??new we(t)).format(e,"cccc")}function tr(e,t){return`Week ${e}`}function nr(e){return"Week Number"}function rr(e){return"Choose the Year"}const Pl=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Ol,labelDay:Wl,labelDayButton:Et,labelGrid:Yt,labelGridcell:Vn,labelMonthDropdown:Qn,labelNav:Kn,labelNext:Jn,labelPrevious:Zn,labelWeekNumber:tr,labelWeekNumberHeader:nr,labelWeekday:er,labelYearDropdown:rr},Symbol.toStringTag,{value:"Module"})),De=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Tl(e,t){const n=t.locale?.labels??{};return{...Pl,...e??{},labelDayButton:De(Et,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:De(Qn,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:De(Jn,e?.labelNext,n.labelNext),labelPrevious:De(Zn,e?.labelPrevious,n.labelPrevious),labelWeekNumber:De(tr,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:De(rr,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:De(Yt,e?.labelGrid,n.labelGrid),labelGridcell:De(Vn,e?.labelGridcell,n.labelGridcell),labelNav:De(Kn,e?.labelNav,n.labelNav),labelWeekNumberHeader:De(nr,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:De(er,e?.labelWeekday,n.labelWeekday)}}function _l(e,t,n,r,o){const{startOfMonth:a,startOfYear:i,endOfYear:s,eachMonthOfInterval:l,getMonth:c}=o;return l({start:i(e),end:s(e)}).map(f=>{const y=r.formatMonthDropdown(f,o),g=c(f),k=t&&f<a(t)||n&&f>a(n)||!1;return{value:g,label:y,disabled:k}})}function $l(e,t={},n={}){let r={...t?.[W.Day]};return Object.entries(e).filter(([,o])=>o===!0).forEach(([o])=>{r={...r,...n?.[o]}}),r}function El(e,t,n,r){const o=r??e.today(),a=n?e.startOfBroadcastWeek(o,e):t?e.startOfISOWeek(o):e.startOfWeek(o),i=[];for(let s=0;s<7;s++){const l=e.addDays(a,s);i.push(l)}return i}function Yl(e,t,n,r,o=!1){if(!e||!t)return;const{startOfYear:a,endOfYear:i,eachYearOfInterval:s,getYear:l}=r,c=a(e),u=i(t),d=s({start:c,end:u});return o&&d.reverse(),d.map(f=>{const y=n.formatYearDropdown(f,r);return{value:l(f),label:y,disabled:!1}})}function Fl(e,t={}){const{weekStartsOn:n,locale:r}=t,o=n??r?.options?.weekStartsOn??0,a=s=>{const l=typeof s=="number"||typeof s=="string"?new Date(s):s;return new me(l.getFullYear(),l.getMonth(),l.getDate(),12,0,0,e)},i=s=>{const l=a(s);return new Date(l.getFullYear(),l.getMonth(),l.getDate(),0,0,0,0)};return{today:()=>a(me.tz(e)),newDate:(s,l,c)=>new me(s,l,c,12,0,0,e),startOfDay:s=>a(s),startOfWeek:(s,l)=>{const c=a(s),u=l?.weekStartsOn??o,d=(c.getDay()-u+7)%7;return c.setDate(c.getDate()-d),c},startOfISOWeek:s=>{const l=a(s),c=(l.getDay()-1+7)%7;return l.setDate(l.getDate()-c),l},startOfMonth:s=>{const l=a(s);return l.setDate(1),l},startOfYear:s=>{const l=a(s);return l.setMonth(0,1),l},endOfWeek:(s,l)=>{const c=a(s),f=(((l?.weekStartsOn??o)+6)%7-c.getDay()+7)%7;return c.setDate(c.getDate()+f),c},endOfISOWeek:s=>{const l=a(s),c=(7-l.getDay())%7;return l.setDate(l.getDate()+c),l},endOfMonth:s=>{const l=a(s);return l.setMonth(l.getMonth()+1,0),l},endOfYear:s=>{const l=a(s);return l.setMonth(11,31),l},eachMonthOfInterval:s=>{const l=a(s.start),c=a(s.end),u=[],d=new me(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 me(d,e)),d.setMonth(d.getMonth()+1,1);return u},addDays:(s,l)=>{const c=a(s);return c.setDate(c.getDate()+l),c},addWeeks:(s,l)=>{const c=a(s);return c.setDate(c.getDate()+l*7),c},addMonths:(s,l)=>{const c=a(s);return c.setMonth(c.getMonth()+l),c},addYears:(s,l)=>{const c=a(s);return c.setFullYear(c.getFullYear()+l),c},eachYearOfInterval:s=>{const l=a(s.start),c=a(s.end),u=[],d=new me(l.getFullYear(),0,1,12,0,0,e);for(;d.getFullYear()<=c.getFullYear();)u.push(new me(d,e)),d.setFullYear(d.getFullYear()+1,0,1);return u},getWeek:(s,l)=>{const c=i(s);return Pt(c,{weekStartsOn:l?.weekStartsOn??o,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 Yn(c,u)}}}const tt=e=>e instanceof HTMLElement?e:null,kt=e=>[...e.querySelectorAll("[data-animated-month]")??[]],jl=e=>tt(e.querySelector("[data-animated-month]")),xt=e=>tt(e.querySelector("[data-animated-caption]")),vt=e=>tt(e.querySelector("[data-animated-weeks]")),Al=e=>tt(e.querySelector("[data-animated-nav]")),Bl=e=>tt(e.querySelector("[data-animated-weekdays]"));function Il(e,t,{classNames:n,months:r,focused:o,dateLib:a}){const i=_.useRef(null),s=_.useRef(r),l=_.useRef(!1);_.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=a.isSameMonth(r[0].date,c[0].date),d=a.isAfter(r[0].date,c[0].date),f=d?n[pe.caption_after_enter]:n[pe.caption_before_enter],y=d?n[pe.weeks_after_enter]:n[pe.weeks_before_enter],g=i.current,k=e.current.cloneNode(!0);if(k instanceof HTMLElement?(kt(k).forEach(x=>{if(!(x instanceof HTMLElement))return;const M=jl(x);M&&x.contains(M)&&x.removeChild(M);const w=xt(x);w&&w.classList.remove(f);const p=vt(x);p&&p.classList.remove(y)}),i.current=k):i.current=null,l.current||u||o)return;const b=g instanceof HTMLElement?kt(g):[],N=kt(e.current);if(N?.every(v=>v instanceof HTMLElement)&&b&&b.every(v=>v instanceof HTMLElement)){l.current=!0,e.current.style.isolation="isolate";const v=Al(e.current);v&&(v.style.zIndex="1"),N.forEach((x,M)=>{const w=b[M];if(!w)return;x.style.position="relative",x.style.overflow="hidden";const p=xt(x);p&&p.classList.add(f);const O=vt(x);O&&O.classList.add(y);const S=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),v&&(v.style.zIndex=""),p&&p.classList.remove(f),O&&O.classList.remove(y),x.style.position="",x.style.overflow="",x.contains(w)&&x.removeChild(w)};w.style.pointerEvents="none",w.style.position="absolute",w.style.overflow="hidden",w.setAttribute("aria-hidden","true");const E=Bl(w);E&&(E.style.opacity="0");const F=xt(w);F&&(F.classList.add(d?n[pe.caption_before_exit]:n[pe.caption_after_exit]),F.addEventListener("animationend",S));const z=vt(w);z&&z.classList.add(d?n[pe.weeks_before_exit]:n[pe.weeks_after_exit]),x.insertBefore(w,x.firstChild)})}})}function Hl(e,t,n,r){const o=e[0],a=e[e.length-1],{ISOWeek:i,fixedWeeks:s,broadcastCalendar:l}=n??{},{addDays:c,differenceInCalendarDays:u,differenceInCalendarMonths:d,endOfBroadcastWeek:f,endOfISOWeek:y,endOfMonth:g,endOfWeek:k,isAfter:b,startOfBroadcastWeek:N,startOfISOWeek:v,startOfWeek:x}=r,M=l?N(o,r):i?v(o):x(o),w=l?f(a):i?y(g(a)):k(g(a)),p=t&&(l?f(t):i?y(t):k(t)),O=p&&b(w,p)?p:w,S=u(O,M),E=d(a,o)+1,F=[];for(let X=0;X<=S;X++){const oe=c(M,X);F.push(oe)}const q=(l?35:42)*E;if(s&&F.length<q){const X=q-F.length;for(let oe=0;oe<X;oe++){const Q=c(F[F.length-1],1);F.push(Q)}}return F}function zl(e){const t=[];return e.reduce((n,r)=>{const o=r.weeks.reduce((a,i)=>a.concat(i.days.slice()),t.slice());return n.concat(o.slice())},t.slice())}function Rl(e,t,n,r){const{numberOfMonths:o=1}=n,a=[];for(let i=0;i<o;i++){const s=r.addMonths(e,i);if(t&&s>t)break;a.push(s)}return a}function an(e,t,n,r){const{month:o,defaultMonth:a,today:i=r.today(),numberOfMonths:s=1}=e;let l=o||a||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 ql(e,t,n,r){const{addDays:o,endOfBroadcastWeek:a,endOfISOWeek:i,endOfMonth:s,endOfWeek:l,getISOWeek:c,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:f,startOfWeek:y}=r,g=e.reduce((k,b)=>{const N=n.broadcastCalendar?d(b,r):n.ISOWeek?f(b):y(b),v=n.broadcastCalendar?a(b):n.ISOWeek?i(s(b)):l(s(b)),x=t.filter(O=>O>=N&&O<=v),M=n.broadcastCalendar?35:42;if(n.fixedWeeks&&x.length<M){const O=t.filter(S=>{const E=M-x.length;return S>v&&S<=o(v,E)});x.push(...O)}const w=x.reduce((O,S)=>{const E=n.ISOWeek?c(S):u(S),F=O.find(q=>q.weekNumber===E),z=new Rn(S,b,r);return F?F.days.push(z):O.push(new Bi(E,[z])),O},[]),p=new Ai(b,w);return k.push(p),k},[]);return n.reverseMonths?g.reverse():g}function Ul(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:o,startOfDay:a,startOfMonth:i,endOfMonth:s,addYears:l,endOfYear:c,newDate:u,today:d}=t,{fromYear:f,toYear:y,fromMonth:g,toMonth:k}=e;!n&&g&&(n=g),!n&&f&&(n=t.newDate(f,0,1)),!r&&k&&(r=k),!r&&y&&(r=u(y,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=o(l(e.today??d(),-100))),r?r=s(r):y?r=u(y,11,31):!r&&b&&(r=c(e.today??d())),[n&&a(n),r&&a(r)]}function Ll(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:a=1}=n,{startOfMonth:i,addMonths:s,differenceInCalendarMonths:l}=r,c=o?a:1,u=i(e);if(!t)return s(u,c);if(!(l(t,e)<a))return s(u,c)}function Xl(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:o,numberOfMonths:a}=n,{startOfMonth:i,addMonths:s,differenceInCalendarMonths:l}=r,c=o?a??1:1,u=i(e);if(!t)return s(u,-c);if(!(l(u,t)<=0))return s(u,-c)}function Gl(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function dt(e,t){const[n,r]=_.useState(e);return[t===void 0?n:t,r]}function Vl(e,t){const[n,r]=Ul(e,t),{startOfMonth:o,endOfMonth:a}=t,i=an(e,n,r,t),[s,l]=dt(i,e.month?i:void 0);_.useEffect(()=>{const M=an(e,n,r,t);l(M)},[e.timeZone]);const{months:c,weeks:u,days:d,previousMonth:f,nextMonth:y}=_.useMemo(()=>{const M=Rl(s,r,{numberOfMonths:e.numberOfMonths},t),w=Hl(M,e.endMonth?a(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),p=ql(M,w,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),O=Gl(p),S=zl(p),E=Xl(s,n,e,t),F=Ll(s,r,e,t);return{months:p,weeks:O,days:S,previousMonth:E,nextMonth:F}},[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:g,onMonthChange:k}=e,b=M=>u.some(w=>w.days.some(p=>p.isEqualTo(M))),N=M=>{if(g)return;let w=o(M);n&&w<o(n)&&(w=o(n)),r&&w>o(r)&&(w=o(r)),l(w),k?.(w)};return{months:c,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:f,nextMonth:y,goToMonth:N,goToDay:M=>{b(M)||N(M.date)}}}var Se;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(Se||(Se={}));function sn(e){return!e[ee.disabled]&&!e[ee.hidden]&&!e[ee.outside]}function Ql(e,t,n,r){let o,a=-1;for(const i of e){const s=t(i);sn(s)&&(s[ee.focused]&&a<Se.FocusedModifier?(o=i,a=Se.FocusedModifier):r?.isEqualTo(i)&&a<Se.LastFocused?(o=i,a=Se.LastFocused):n(i.date)&&a<Se.Selected?(o=i,a=Se.Selected):s[ee.today]&&a<Se.Today&&(o=i,a=Se.Today))}return o||(o=e.find(i=>sn(t(i)))),o}function Kl(e,t,n,r,o,a,i){const{ISOWeek:s,broadcastCalendar:l}=a,{addDays:c,addMonths:u,addWeeks:d,addYears:f,endOfBroadcastWeek:y,endOfISOWeek:g,endOfWeek:k,max:b,min:N,startOfBroadcastWeek:v,startOfISOWeek:x,startOfWeek:M}=i;let p={day:c,week:d,month:u,year:f,startOfWeek:O=>l?v(O,i):s?x(O):M(O),endOfWeek:O=>l?y(O):s?g(O):k(O)}[e](n,t==="after"?1:-1);return t==="before"&&r?p=b([r,p]):t==="after"&&o&&(p=N([o,p])),p}function or(e,t,n,r,o,a,i,s=0){if(s>365)return;const l=Kl(e,t,n.date,r,o,a,i),c=!!(a.disabled&&_e(l,a.disabled,i)),u=!!(a.hidden&&_e(l,a.hidden,i)),d=l,f=new Rn(l,d,i);return!c&&!u?f:or(e,t,f,r,o,a,i,s+1)}function Jl(e,t,n,r,o){const{autoFocus:a}=e,[i,s]=_.useState(),l=Ql(t.days,n,r||(()=>!1),i),[c,u]=_.useState(a?l:void 0);return{isFocusTarget:k=>!!l?.isEqualTo(k),setFocused:u,focused:c,blur:()=>{s(c),u(void 0)},moveFocus:(k,b)=>{if(!c)return;const N=or(k,b,c,t.navStart,t.navEnd,e,o);N&&(e.disableNavigation&&!t.days.some(x=>x.isEqualTo(N))||(t.goToDay(N),u(N)))}}}function Zl(e,t){const{selected:n,required:r,onSelect:o}=e,[a,i]=dt(n,o?n:void 0),s=o?n:a,{isSameDay:l}=t,c=y=>s?.some(g=>l(g,y))??!1,{min:u,max:d}=e;return{selected:s,select:(y,g,k)=>{let b=[...s??[]];if(c(y)){if(s?.length===u||r&&s?.length===1)return;b=s?.filter(N=>!l(N,y))}else s?.length===d?b=[y]:b=[...b,y];return o||i(b),o?.(b,y,g,k),b},isSelected:c}}function ec(e,t,n=0,r=0,o=!1,a=Ce){const{from:i,to:s}=t||{},{isSameDay:l,isAfter:c,isBefore:u}=a;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}:o?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))o?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=a.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 tc(e,t,n=Ce){const r=Array.isArray(t)?t:[t];let o=e.from;const a=n.differenceInCalendarDays(e.to,e.from),i=Math.min(a,6);for(let s=0;s<=i;s++){if(r.includes(o.getDay()))return!0;o=n.addDays(o,1)}return!1}function ln(e,t,n=Ce){return Te(e,t.from,!1,n)||Te(e,t.to,!1,n)||Te(t,e.from,!1,n)||Te(t,e.to,!1,n)}function nc(e,t,n=Ce){const r=Array.isArray(t)?t:[t];if(r.filter(s=>typeof s!="function").some(s=>typeof s=="boolean"?s:n.isDate(s)?Te(e,s,!1,n):Ln(s,n)?s.some(l=>Te(e,l,!1,n)):ut(s)?s.from&&s.to?ln(e,{from:s.from,to:s.to},n):!1:Un(s)?tc(e,s.dayOfWeek,n):Tt(s)?n.isAfter(s.before,s.after)?ln(e,{from:n.addDays(s.after,1),to:n.addDays(s.before,-1)},n):_e(e.from,s,n)||_e(e.to,s,n):_t(s)||$t(s)?_e(e.from,s,n)||_e(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 rc(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:o,selected:a,required:i,onSelect:s}=e,[l,c]=dt(a,s?a:void 0),u=s?a:l;return{selected:u,select:(y,g,k)=>{const{min:b,max:N}=e;let v;if(y){const x=u?.from,M=u?.to,w=!!x&&!!M,p=!!x&&!!M&&t.isSameDay(x,M)&&t.isSameDay(y,x);o&&(w||!u?.from)?!i&&p?v=void 0:v={from:y,to:void 0}:v=ec(y,u,b,N,i,t)}return r&&n&&v?.from&&v.to&&nc({from:v.from,to:v.to},n,t)&&(v.from=y,v.to=void 0),s||c(v),s?.(v,y,g,k),v},isSelected:y=>u&&Te(u,y,!1,t)}}function oc(e,t){const{selected:n,required:r,onSelect:o}=e,[a,i]=dt(n,o?n:void 0),s=o?n:a,{isSameDay:l}=t;return{selected:s,select:(d,f,y)=>{let g=d;return!r&&s&&s&&l(d,s)&&(g=void 0),o||i(g),o?.(g,d,f,y),g},isSelected:d=>s?l(s,d):!1}}function ac(e,t){const n=oc(e,t),r=Zl(e,t),o=rc(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return o;default:return}}function xe(e,t){return e instanceof me&&e.timeZone===t?e:new me(e,t)}function qe(e,t,n){return xe(e,t)}function cn(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?qe(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?qe(r,t):r):ut(e)?{...e,from:e.from?xe(e.from,t):e.from,to:e.to?xe(e.to,t):e.to}:Tt(e)?{before:qe(e.before,t),after:qe(e.after,t)}:_t(e)?{after:qe(e.after,t)}:$t(e)?{before:qe(e.before,t)}:e}function Mt(e,t,n){return e&&(Array.isArray(e)?e.map(r=>cn(r,t)):cn(e,t))}function sc(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=xe(t.today,n)),t.month&&(t.month=xe(t.month,n)),t.defaultMonth&&(t.defaultMonth=xe(t.defaultMonth,n)),t.startMonth&&(t.startMonth=xe(t.startMonth,n)),t.endMonth&&(t.endMonth=xe(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=xe(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(Y=>xe(Y,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?xe(t.selected.from,n):t.selected.from,to:t.selected.to?xe(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 Y={};Object.keys(t.modifiers).forEach(H=>{Y[H]=Mt(t.modifiers?.[H],n)}),t.modifiers=Y}const{components:r,formatters:o,labels:a,dateLib:i,locale:s,classNames:l}=_.useMemo(()=>{const Y={...zn,...t.locale},H=t.broadcastCalendar?1:t.weekStartsOn,P=t.noonSafe&&t.timeZone?Fl(t.timeZone,{weekStartsOn:H,locale:Y}):void 0,I=t.dateLib&&P?{...P,...t.dateLib}:t.dateLib??P,be=new we({locale:Y,weekStartsOn:H,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},I);return{dateLib:be,components:yl(t.components),formatters:Sl(t.formatters),labels:Tl(t.labels,be.options),locale:Y,classNames:{...bl(),...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:y,onDayClick:g,onDayFocus:k,onDayKeyDown:b,onDayMouseEnter:N,onDayMouseLeave:v,onNextClick:x,onPrevClick:M,showWeekNumber:w,styles:p}=t,{formatCaption:O,formatDay:S,formatMonthDropdown:E,formatWeekNumber:F,formatWeekNumberHeader:z,formatWeekdayName:q,formatYearDropdown:X}=o,oe=Vl(t,i),{days:Q,months:U,navStart:ue,navEnd:ie,previousMonth:ne,nextMonth:J,goToMonth:te}=oe,ye=ml(Q,t,ue,ie,i),{isSelected:D,select:re,selected:Me}=ac(t,i)??{},{blur:je,focused:C,isFocusTarget:T,moveFocus:Z,setFocused:le}=Jl(t,oe,ye,D??(()=>!1),i),{labelDayButton:ce,labelGridcell:ge,labelGrid:$,labelMonthDropdown:K,labelNav:ae,labelPrevious:Pe,labelNext:$e,labelWeekday:ze,labelWeekNumber:nt,labelWeekNumberHeader:Xe,labelYearDropdown:ft}=a,mt=_.useMemo(()=>El(i,t.ISOWeek,t.broadcastCalendar,t.today),[i,t.ISOWeek,t.broadcastCalendar,t.today]),rt=u!==void 0||g!==void 0,de=_.useCallback(()=>{ne&&(te(ne),M?.(ne))},[ne,te,M]),B=_.useCallback(()=>{J&&(te(J),x?.(J))},[te,J,x]),fe=_.useCallback((Y,H)=>P=>{P.preventDefault(),P.stopPropagation(),le(Y),!H.disabled&&(re?.(Y.date,H,P),g?.(Y.date,H,P))},[re,g,le]),ke=_.useCallback((Y,H)=>P=>{le(Y),k?.(Y.date,H,P)},[k,le]),ot=_.useCallback((Y,H)=>P=>{je(),y?.(Y.date,H,P)},[je,y]),Ft=_.useCallback((Y,H)=>P=>{const I={ArrowLeft:[P.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[P.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[P.shiftKey?"year":"week","after"],ArrowUp:[P.shiftKey?"year":"week","before"],PageUp:[P.shiftKey?"year":"month","before"],PageDown:[P.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(I[P.key]){P.preventDefault(),P.stopPropagation();const[be,j]=I[P.key];Z(be,j)}b?.(Y.date,H,P)},[Z,b,t.dir]),ir=_.useCallback((Y,H)=>P=>{N?.(Y.date,H,P)},[N]),lr=_.useCallback((Y,H)=>P=>{v?.(Y.date,H,P)},[v]),cr=_.useCallback(Y=>H=>{const P=Number(H.target.value),I=i.setMonth(i.startOfMonth(Y),P);te(I)},[i,te]),ur=_.useCallback(Y=>H=>{const P=Number(H.target.value),I=i.setYear(i.startOfMonth(Y),P);te(I)},[i,te]),{className:dr,style:fr}=_.useMemo(()=>({className:[l[W.Root],t.className].filter(Boolean).join(" "),style:{...p?.[W.Root],...t.style}}),[l,t.className,t.style,p]),mr=gl(t),jt=_.useRef(null);Il(jt,!!t.animate,{classNames:l,months:U,focused:C,dateLib:i});const hr={dayPickerProps:t,selected:Me,select:re,isSelected:D,months:U,nextMonth:J,previousMonth:ne,goToMonth:te,getModifiers:ye,components:r,classNames:l,styles:p,labels:a,formatters:o};return h.createElement(qn.Provider,{value:hr},h.createElement(r.Root,{rootRef:t.animate?jt:void 0,className:dr,style:fr,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"],...mr},h.createElement(r.Months,{className:l[W.Months],style:p?.[W.Months]},!t.hideNavigation&&!d&&h.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[W.Nav],style:p?.[W.Nav],"aria-label":ae(),onPreviousClick:de,onNextClick:B,previousMonth:ne,nextMonth:J}),U.map((Y,H)=>h.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:l[W.Month],style:p?.[W.Month],key:H,displayIndex:H,calendarMonth:Y},d==="around"&&!t.hideNavigation&&H===0&&h.createElement(r.PreviousMonthButton,{type:"button",className:l[W.PreviousMonthButton],tabIndex:ne?void 0:-1,"aria-disabled":ne?void 0:!0,"aria-label":Pe(ne),onClick:de,"data-animated-button":t.animate?"true":void 0},h.createElement(r.Chevron,{disabled:ne?void 0:!0,className:l[W.Chevron],orientation:t.dir==="rtl"?"right":"left"})),h.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:l[W.MonthCaption],style:p?.[W.MonthCaption],calendarMonth:Y,displayIndex:H},c?.startsWith("dropdown")?h.createElement(r.DropdownNav,{className:l[W.Dropdowns],style:p?.[W.Dropdowns]},(()=>{const P=c==="dropdown"||c==="dropdown-months"?h.createElement(r.MonthsDropdown,{key:"month",className:l[W.MonthsDropdown],"aria-label":K(),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:cr(Y.date),options:_l(Y.date,ue,ie,o,i),style:p?.[W.Dropdown],value:i.getMonth(Y.date)}):h.createElement("span",{key:"month"},E(Y.date,i)),I=c==="dropdown"||c==="dropdown-years"?h.createElement(r.YearsDropdown,{key:"year",className:l[W.YearsDropdown],"aria-label":ft(i.options),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:ur(Y.date),options:Yl(ue,ie,o,i,!!t.reverseYears),style:p?.[W.Dropdown],value:i.getYear(Y.date)}):h.createElement("span",{key:"year"},X(Y.date,i));return i.getMonthYearOrder()==="year-first"?[I,P]:[P,I]})(),h.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(Y.date,i.options,i))):h.createElement(r.CaptionLabel,{className:l[W.CaptionLabel],role:"status","aria-live":"polite"},O(Y.date,i.options,i))),d==="around"&&!t.hideNavigation&&H===f-1&&h.createElement(r.NextMonthButton,{type:"button",className:l[W.NextMonthButton],tabIndex:J?void 0:-1,"aria-disabled":J?void 0:!0,"aria-label":$e(J),onClick:B,"data-animated-button":t.animate?"true":void 0},h.createElement(r.Chevron,{disabled:J?void 0:!0,className:l[W.Chevron],orientation:t.dir==="rtl"?"left":"right"})),H===f-1&&d==="after"&&!t.hideNavigation&&h.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[W.Nav],style:p?.[W.Nav],"aria-label":ae(),onPreviousClick:de,onNextClick:B,previousMonth:ne,nextMonth:J}),h.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":$(Y.date,i.options,i)||void 0,className:l[W.MonthGrid],style:p?.[W.MonthGrid]},!t.hideWeekdays&&h.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:l[W.Weekdays],style:p?.[W.Weekdays]},w&&h.createElement(r.WeekNumberHeader,{"aria-label":Xe(i.options),className:l[W.WeekNumberHeader],style:p?.[W.WeekNumberHeader],scope:"col"},z()),mt.map(P=>h.createElement(r.Weekday,{"aria-label":ze(P,i.options,i),className:l[W.Weekday],key:String(P),style:p?.[W.Weekday],scope:"col"},q(P,i.options,i)))),h.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:l[W.Weeks],style:p?.[W.Weeks]},Y.weeks.map(P=>h.createElement(r.Week,{className:l[W.Week],key:P.weekNumber,style:p?.[W.Week],week:P},w&&h.createElement(r.WeekNumber,{week:P,style:p?.[W.WeekNumber],"aria-label":nt(P.weekNumber,{locale:s}),className:l[W.WeekNumber],scope:"row",role:"rowheader"},F(P.weekNumber,i)),P.days.map(I=>{const{date:be}=I,j=ye(I);if(j[ee.focused]=!j.hidden&&!!C?.isEqualTo(I),j[Ne.selected]=D?.(be)||j.selected,ut(Me)){const{from:ht,to:yt}=Me;j[Ne.range_start]=!!(ht&&yt&&i.isSameDay(be,ht)),j[Ne.range_end]=!!(ht&&yt&&i.isSameDay(be,yt)),j[Ne.range_middle]=Te(Me,be,!0,i)}const yr=$l(j,p,t.modifiersStyles),gr=hl(j,l,t.modifiersClassNames),br=!rt&&!j.hidden?ge(be,j,i.options,i):void 0;return h.createElement(r.Day,{key:`${I.isoDate}_${I.displayMonthId}`,day:I,modifiers:j,className:gr.join(" "),style:yr,role:"gridcell","aria-selected":j.selected||void 0,"aria-label":br,"data-day":I.isoDate,"data-month":I.outside?I.dateMonthId:void 0,"data-selected":j.selected||void 0,"data-disabled":j.disabled||void 0,"data-hidden":j.hidden||void 0,"data-outside":I.outside||void 0,"data-focused":j.focused||void 0,"data-today":j.today||void 0},!j.hidden&&rt?h.createElement(r.DayButton,{className:l[W.DayButton],style:p?.[W.DayButton],type:"button",day:I,modifiers:j,disabled:!j.focused&&j.disabled||void 0,"aria-disabled":j.focused&&j.disabled||void 0,tabIndex:T(I)?0:-1,"aria-label":ce(be,j,i.options,i),onClick:fe(I,j),onBlur:ot(I,j),onFocus:ke(I,j),onKeyDown:Ft(I,j),onMouseEnter:ir(I,j),onMouseLeave:lr(I,j)},S(be,i.options,i)):!j.hidden&&S(I.date,i.options,i))})))))))),t.footer&&h.createElement(r.Footer,{className:l[W.Footer],style:p?.[W.Footer],role:"status","aria-live":"polite"},t.footer)))}const ic={en:Ye,"zh-CN":ii,"zh-TW":ji,ja:ts,ko:Ts};function lc(e){return ic[e]||Ye}function Yc(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())?Oe(r,"MMM d",t?{locale:t}:void 0):e}function un({from:e,to:t,onApply:n,onCancel:r}){const o=_.useMemo(()=>{const u={from:void 0,to:void 0};if(e){const d=e.split("-");u.from=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))}if(t){const d=t.split("-");u.to=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))}return u},[e,t]),[a,i]=_.useState(o),s=lc(xn()),l=()=>{if(!a?.from)return;const u=Oe(a.from,"yyyy-MM-dd"),d=a.to?Oe(a.to,"yyyy-MM-dd"):u;n?.(u,d)},c=!!a?.from;return m.jsxs("div",{className:"p-4",children:[m.jsx(sc,{mode:"range",locale:s,selected:a,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&&a.from&&m.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[Oe(a.from,"MMM d, yyyy",{locale:s}),a.to&&a.to.getTime()!==a.from.getTime()?` — ${Oe(a.to,"MMM d, yyyy",{locale:s})}`:""]}),m.jsx(Bt,{variant:"secondary",size:"sm",onClick:r,children:A("shared.action.cancel")}),m.jsx(Bt,{variant:"primary",size:"sm",onClick:l,disabled:!c,children:A("shared.action.apply")})]})]})}const cc=[{period:"day",labelKey:"trend.zoom.gran.30min"},{period:"month",labelKey:"trend.zoom.gran.day"},{period:"total",labelKey:"trend.zoom.gran.month"}],uc=24,Ue="#10b981";function dn(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 o=r.getUTCFullYear(),a=String(r.getUTCMonth()+1).padStart(2,"0"),i=String(r.getUTCDate()).padStart(2,"0");return`${o}-${a}-${i}`}function dc(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]))),o=r.getUTCFullYear(),a=String(r.getUTCMonth()+1).padStart(2,"0"),i=String(r.getUTCDate()).padStart(2,"0");return`${o}-${a}-${i}`}function fc(e,t){const n=/^(\d{4})-(\d{2})/.exec(String(e||"")),r=/^(\d{4})-(\d{2})/.exec(String(t||""));if(!n||!r)return uc;const o=Number(r[1])*12+Number(r[2])-(Number(n[1])*12+Number(n[2]))+1;return Math.max(1,o)}function fn(e,t){return t?e==="total"?{from:dc(t,-23),to:t}:{from:St(t,-29),to:t}:{from:null,to:null}}function mc(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 at({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 hc({zoomConfig:e,period:t,from:n,to:r,timeZoneLabel:o,onClose:a,renderChart:i}){const{currency:s,rate:l}=Mn(),{formatTokensTooltip:c}=Dn(),u=D=>Pr(D),d=h.useMemo(()=>kn({timeZone:e?.timeZone,offsetMinutes:e?.tzOffsetMinutes,date:e?.now||new Date})||r||n||null,[e?.timeZone,e?.tzOffsetMinutes,e?.now,r,n]),[f,y]=h.useState(()=>dn(t)),[g,k]=h.useState(d),[b,N]=h.useState(()=>fn(dn(t),d)),[v,x]=h.useState(!1),[M,w]=h.useState(!1),[p,O]=h.useState(!1),S=h.useRef(!1),E=d,F=D=>{y(D),D!=="day"&&N(fn(D,d))},z=h.useMemo(()=>f==="day"?{from:g,to:g,months:void 0}:f==="total"?{from:void 0,to:b.to,months:fc(b.from,b.to)}:{from:b.from,to:b.to,months:void 0},[f,g,b]),{rows:q,from:X,to:oe,loading:Q}=jr({...e,period:f,from:z.from,to:z.to,months:z.months}),U=h.useMemo(()=>Gr(q),[q]),ue=h.useCallback(()=>{S.current||(S.current=!0,a())},[a]),ie=h.useCallback(()=>O(!0),[]),ne=D=>{D.target===D.currentTarget&&p&&ue()};if(h.useEffect(()=>{if(!p)return;const D=window.setTimeout(ue,250);return()=>window.clearTimeout(D)},[ue,p]),h.useEffect(()=>{const D=re=>{re.key==="Escape"&&ie()};return window.addEventListener("keydown",D),()=>window.removeEventListener("keydown",D)},[ie]),typeof document>"u")return null;const J=f==="day"&&!!g,te=f==="day"&&!!g&&(!E||g<E),ye=U.totalCostUsd!=null?vn(U.totalCostUsd,{currency:s,rate:l}):null;return m.jsxs("div",{onAnimationEnd:ne,onClick:D=>{D.target===D.currentTarget&&ie()},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",p?"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",p?"animate-tt-modal-exit":"animate-tt-modal"),children:[m.jsx("button",{type:"button",onClick:ie,"aria-label":A("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(Wr,{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:Ue}}),m.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:Ue}})]}),m.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:A("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:A("trend.monitor.label")}),o?m.jsx("p",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 mt-1.5 font-mono select-none",children:o}):null,m.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:A("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(at,{label:A("trend.zoom.stats.tokens"),value:u(U.totalTokens),title:c(U.totalTokens)}),ye?m.jsx(at,{label:A("trend.zoom.stats.cost"),value:ye}):null,m.jsx(at,{label:A("trend.zoom.stats.conversations"),value:U.conversationCount.toLocaleString()}),U.peak?m.jsx(at,{label:A("trend.zoom.stats.peak"),value:u(U.peak.value),title:c(U.peak.value),sub:mc(U.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($r,{size:11,style:{color:Ue}}),m.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:Ue},children:A("trend.zoom.insight_badge")})]}),m.jsxs("div",{className:"pl-3.5 border-l-2 relative",style:{borderColor:Ue},children:[m.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:Ue}}),m.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:A(Kr(U),{active:U.activeBuckets,peak:u(U.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":A("trend.zoom.gran.aria"),className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[11px]",children:cc.map(D=>m.jsx("button",{type:"button",role:"tab","aria-selected":f===D.period,onClick:()=>F(D.period),className:ve("px-2.5 py-1 rounded transition-colors",f===D.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:A(D.labelKey)},D.period))}),f==="day"?m.jsxs("div",{className:"flex items-center gap-1.5",children:[m.jsx("button",{type:"button",onClick:()=>J&&k(D=>St(D,-1)),disabled:!J,"aria-label":A("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(Or,{size:16})}),m.jsxs(It,{open:v,onOpenChange:x,children:[m.jsx(Ht,{"aria-label":A("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:g||"—"}),m.jsx(zt,{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(un,{from:g,to:g,onApply:D=>{D&&k(D),x(!1)},onCancel:()=>x(!1)})})})})]}),m.jsx("button",{type:"button",onClick:()=>te&&k(D=>St(D,1)),disabled:!te,"aria-label":A("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(Cr,{size:16})})]}):m.jsxs(It,{open:M,onOpenChange:w,children:[m.jsx(Ht,{"aria-label":A("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(zt,{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(un,{from:b.from,to:b.to,onApply:(D,re)=>{D&&N({from:D,to:re||D}),w(!1)},onCancel:()=>w(!1)})})})})]})]}),m.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:Q&&(!q||q.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:A("trend.zoom.loading")})}):i({rows:q,from:X,to:oe,period:f,timeZoneLabel:o})})]})]})]})}function mn(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),o=Math.ceil(n);if(r===o)return e[r];const a=n-r;return e[r]+(e[o]-e[r])*a}function yc(e,{clipOutliers:t=!0}={}){const n=Array.isArray(e)?e.filter(a=>Number.isFinite(a)&&a>0).sort((a,i)=>a-i):[];if(n.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const r=n.at(-1)??0;let o=r;if(t&&n.length>=4){const a=mn(n,.25),i=mn(n,.75),s=Math.max(i-a,0),l=i+s*1.5;r>l&&(o=Math.max(l,i,1))}return{rawMax:r,effectiveMax:Math.max(o,1),clippedValues:Array.isArray(e)?e.map(a=>!Number.isFinite(a)||a<=0?0:Math.min(a,Math.max(o,1))):[]}}const hn=["#f472b6","#38bdf8","#34d399","#fbbf24","#a78bfa","#fb7185","#2dd4bf","#f97316","#6366f1","#ec4899","#14b8a6","#f59e0b"],ar={Input:"#38bdf8","Cached Input":"#14b8a6",Output:"#a78bfa","Reasoning Output":"#fb7185"},gc={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 sr(e){const t=e.toLowerCase();for(const[o,a]of Object.entries(gc))if(t.includes(o))return a;let n=0;for(let o=0;o<e.length;o++)n=e.charCodeAt(o)+((n<<5)-n);const r=Math.abs(n)%hn.length;return hn[r]}function bc(e){if(!e||typeof e!="object")return[];const t=new Map;for(const[n,r]of Object.entries(e)){const o=Number(r);if(!Number.isFinite(o)||o<=0)continue;const a=String(n).trim()||"unknown",i=a.toLowerCase(),s=t.get(i);if(!s){t.set(i,{name:a,value:o,displayWeight:o});continue}s.value+=o,o>s.displayWeight&&(s.name=a,s.displayWeight=o)}return Array.from(t.values()).map(({name:n,value:r})=>({type:"model",name:n,value:r})).sort((n,r)=>r.value-n.value)}function pc(e){if(!e)return[];const t=[];if(e.models&&typeof e.models=="object"&&t.push(...bc(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 o=Number(e[r.key]);Number.isFinite(o)&&o>0&&t.push({type:"token_type",name:r.name,value:o})}}return t.sort((n,r)=>r.value-n.value)}function wc(e,t){return e?.future?"predicted":e?.missing?"unsynced":t>0?"real":"real_zero"}const kc=.35,yn=2,gn=4,xc=h.memo(function({value:t,displayValue:n,scale:r,index:o,row:a,totalBars:i,onMouseEnter:s,onMouseLeave:l,onSelect:c,label:u}){const d=Yr(),f=wc(a,t),y=f==="predicted"||f==="unsynced",g=r.effectiveMax>0?n/r.effectiveMax*100:0;let k,b;f==="real"?(k=`${Math.max(g,2)}%`,b=`${gn}px`):y&&g>0?(k=`${g}%`,b=`${gn}px`):(k=`${yn}px`,b=`${yn}px`);const N=f==="real"?pc(a):[],v=N.reduce((M,w)=>M+w.value,0),x=f!=="real"||v<=0;return m.jsxs(Tr.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:d?0:.3,delay:d?0:.4+o*.008,ease:[.16,1,.3,1]},style:{originY:1},onMouseEnter:M=>s(M,a,t,N,f,n),onMouseLeave:l,role:"button",tabIndex:0,"aria-label":u,onClick:M=>c(M,a,t,N,f,n),onKeyDown:M=>{(M.key==="Enter"||M.key===" ")&&(M.preventDefault(),c(M,a,t,N,f,n))},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:k,minHeight:b},children:x?m.jsx("div",{"data-trend-bar":"true","data-trend-kind":f,className:ve("h-full w-full group-hover:brightness-110 transition-all",f==="real"?"":"bg-oai-gray-100 dark:bg-oai-gray-800"),style:{opacity:y?kc:1,background:f==="real"?"#10b981":void 0}}):N.map((M,w)=>{const p=M.type==="token_type"?ar[M.name]:sr(M.name),O=`${M.value/v*100}%`;return m.jsx("div",{"data-trend-bar":w===0?"true":void 0,className:"w-full group-hover:brightness-110 transition-all",style:{height:O,background:p}},w)})})]})});function vc(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 bn=.98;function Mc(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,o=-1;for(let s=n-1;s>=0;s--)if(e[s]!==null){r=e[s],o=s;break}let a=null,i=-1;for(let s=n+1;s<e.length;s++)if(e[s]!==null){a=e[s],i=s;break}if(r!==null&&a!==null){const s=(n-o)/(i-o);t[n]=r+(a-r)*s}else if(r!==null){let s=0,l=0;for(let u=0;u<=o;u++)e[u]!==null&&(s+=e[u],l+=1);const c=l>0?s/l:r;t[n]=c*Math.pow(bn,n-o)}else if(a!==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:a;t[n]=c*Math.pow(bn,i-n)}else t[n]=0}return t}const pn=10,wn=8;function Dc(e){let t=0,n=document.documentElement.clientHeight||window.innerHeight;for(let r=e;r&&r!==document.body;r=r.parentElement){const o=window.getComputedStyle(r).overflowY;if(!o||o==="visible")continue;const a=r.getBoundingClientRect();t=Math.max(t,a.top),n=Math.min(n,a.bottom)}return{top:t+wn,bottom:n-wn}}function Nc({columnTop:e,columnBottom:t,height:n,band:r,prefer:o=null}){const a=n+pn,i=r.bottom-t,s=e-r.top;if(o==="above"&&s>=a)return{side:"above",maxHeight:null};if(i>=a)return{side:"below",maxHeight:null};if(s>=a)return{side:"above",maxHeight:null};const l=i>=s?"below":"above";return{side:l,maxHeight:Math.max(0,Math.floor((l==="below"?i:s)-pn))}}function Sc({rows:e,from:t,to:n,period:r,timeZoneLabel:o,showTimeZoneLabel:a=!0,className:i="",embedded:s=!1,chartHeightClass:l="h-40",isZoom:c=!1,zoomConfig:u=null}){const d=h.useMemo(()=>Array.isArray(e)&&e.length?e:[],[e]),f=h.useMemo(()=>d.some(C=>C?.future),[d]),{rawValues:y,seriesValues:g,scale:k,interpolatedValues:b}=h.useMemo(()=>{const C=d.map(vc),T=C.map(Z=>Z??0);return{rawValues:C,seriesValues:T,scale:yc(T,{clipOutliers:r!=="total"}),interpolatedValues:Mc(C)}},[d,r]),{currency:N,rate:v}=Mn(),{formatTokens:x,formatTokensTooltip:M}=Dn(),w=qr(r),p=xn(),O=h.useMemo(()=>Qr(t,n,w,p),[t,w,p,n]),[S,E]=h.useState(null),[F,z]=h.useState({x:0,y:0,shiftX:0,flipDown:!1,maxHeight:null}),[q,X]=h.useState(!1),oe=h.useRef(null),Q=h.useRef(null),U=h.useRef(null),ue=h.useRef(null),ie=h.useRef(null),[ne,J]=h.useState(!1),te=h.useRef(null),ye=h.useCallback((C,T,Z,le,ce,ge)=>{E({row:T,value:Z,segments:le,timeLabel:Gt(T,w,p),kind:ce,displayValue:ge});const $=C.currentTarget.getBoundingClientRect(),K=te.current;if(!K)return;U.current=C.currentTarget;const ae=K.getBoundingClientRect(),Pe=$.left-ae.left+$.width/2,$e=Math.min(140,ae.width/2),ze=Math.max($e,Math.min(Pe,ae.width-$e))-Pe;z({x:Pe,y:(c?$.top:$.bottom)-ae.top,shiftX:ze,flipDown:!0,maxHeight:null})},[w,p,c]);h.useLayoutEffect(()=>{if(!S||c)return;const C=U.current,T=te.current,Z=Q.current;if(!C||!T||!Z)return;const le=C.getBoundingClientRect(),{side:ce,maxHeight:ge}=Nc({columnTop:le.top,columnBottom:le.bottom,height:Z.offsetHeight,band:Dc(T),prefer:ue.current});ue.current=ce;const $=(ce==="below"?le.bottom:le.top)-T.getBoundingClientRect().top,K=ce==="below";z(ae=>ae.y===$&&ae.flipDown===K&&ae.maxHeight===ge?ae:{...ae,y:$,flipDown:K,maxHeight:ge})},[S,c]);const D=h.useCallback(()=>{ue.current=null},[]),re=h.useCallback((...C)=>{q||ye(...C)},[q,ye]),Me=h.useCallback(()=>{q||E(null)},[q]),je=h.useCallback((C,...T)=>{if(q&&ie.current===C.currentTarget){X(!1),E(null);return}ie.current=C.currentTarget,ye(C,...T),X(!0)},[q,ye]);return h.useEffect(()=>{if(!S||c)return;const C=T=>{T.type==="scroll"&&T.target instanceof Node&&oe.current?.contains(T.target)||(X(!1),E(null),ue.current=null)};return window.addEventListener("resize",C),window.addEventListener("scroll",C,!0),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}},[S,c]),h.useEffect(()=>{if(!q)return;const C=T=>{(T.type==="keydown"?T.key!=="Escape":oe.current?.contains(T.target)||ie.current?.contains(T.target))||(X(!1),E(null))};return document.addEventListener("pointerdown",C),document.addEventListener("keydown",C),()=>{document.removeEventListener("pointerdown",C),document.removeEventListener("keydown",C)}},[q]),h.useEffect(()=>{X(!1),E(null)},[d,w,p]),m.jsxs("div",{ref:te,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:A("trend.monitor.label")}),a&&o&&m.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:o})]}),u&&m.jsx("button",{type:"button",onClick:()=>J(!0),"aria-label":A("trend.zoom.open_aria"),title:A("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(Er,{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(C=>m.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-C}%`}},C))}),m.jsx("div",{className:ve("flex items-end gap-0.5 relative z-0",l),onMouseLeave:D,children:g.length>0?g.map((C,T)=>{const Z=d[T],ce=Z?.missing||Z?.future?Math.min(b[T]??0,k.effectiveMax):k.clippedValues[T]??0;return m.jsx(xc,{value:C,displayValue:ce,scale:k,index:T,row:Z,totalBars:g.length,onMouseEnter:re,onMouseLeave:Me,onSelect:je,label:Gt(Z,w,p)},T)}):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:A("trend.monitor.empty")})})})]}),c&&g.length>0&&m.jsx("div",{className:"flex gap-0.5 select-none",children:d.map((C,T)=>{const Z=g.length-1,le=Math.max(1,Math.ceil(g.length/8)),ce=T%le===0||T===Z,ge=T===0?"justify-start":T===Z?"justify-end":"justify-center";return m.jsx("div",{className:ve("flex-1 min-w-0 flex",ge),children:ce&&m.jsx("span",{className:"text-[9px] text-oai-gray-400 dark:text-oai-gray-500 whitespace-nowrap font-mono",children:Jr(C,w,p)})},T)})}),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:["~ ",A("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})]})]}),S&&m.jsxs("div",{"data-trend-tooltip":"true",ref:oe,"data-pinned":q,className:ve("absolute z-[9999] w-0 h-0",q?"pointer-events-auto":"pointer-events-none"),style:{left:`${F.x}px`,top:`${F.y}px`},children:[m.jsxs("div",{ref:Q,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",F.flipDown?"top-[10px]":"bottom-[10px]",F.maxHeight!=null&&"overflow-y-auto"),style:{transform:`translateX(calc(-50% + ${F.shiftX}px))`,...F.maxHeight!=null&&{maxHeight:`${F.maxHeight}px`}},children:[!q&&m.jsx("p",{className:"text-[10px] text-oai-gray-400",children:A("trend.monitor.pin_hint")}),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:S.timeLabel}),S.kind==="predicted"&&m.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:A("trend.monitor.predicted")}),S.kind==="unsynced"&&m.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:A("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:M(S.kind==="predicted"||S.kind==="unsynced"?S.displayValue:S.value),className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:S.kind==="predicted"||S.kind==="unsynced"?`~${x(Math.round(S.displayValue??0))}`:x(S.value)}),m.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:A("heatmap.unit.tokens")})]}),c&&(S.row?.total_cost_usd!=null||Number(S.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:[S.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:vn(S.row.total_cost_usd,{currency:N,rate:v})})," ",A("trend.zoom.tooltip.cost")]}),Number(S.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(S.row.conversation_count).toLocaleString()})," ",A("trend.zoom.tooltip.conversations")]})]}),S.segments&&S.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:S.segments[0].type==="model"?A("heatmap.tooltip.model_breakdown"):A("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:S.segments.map(({name:C,value:T,type:Z})=>{const le=S.value||1,ce=Math.round(T/le*100),ge=Z==="token_type"?ar[C]:sr(C);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:C,children:C}),m.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[m.jsx("span",{title:M(T),className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:x(T)}),m.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[ce,"%"]})]})]}),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:`${ce}%`,backgroundColor:ge,boxShadow:`0 0 4px ${ge}55`}})})]},C)})})]}):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",F.flipDown?"top-[6px] border-l border-t":"bottom-[6px] border-r border-b"),style:F.flipDown?{marginTop:"1px"}:{marginBottom:"1px"}})]}),ne&&u&&m.jsx(hc,{zoomConfig:u,period:r,from:t,to:n,timeZoneLabel:o,onClose:()=>J(!1),renderChart:C=>m.jsx(Sc,{embedded:!0,isZoom:!0,chartHeightClass:"h-full",...C})})]})}export{un as D,Sc as T,lc as a,Yc as f,sr as g,Ut as t,jr as u};