tokentracker-cli 0.81.2 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dashboard/dist/assets/AchievementBadge-D6iPEEbz.js +1 -0
  2. package/dashboard/dist/assets/AchievementsPage-Jry355YE.js +2 -0
  3. package/dashboard/dist/assets/AchievementsSection-ah-kG00E.js +1 -0
  4. package/dashboard/dist/assets/BadgeDetailModal-FyvUrVvF.js +1 -0
  5. package/dashboard/dist/assets/Card-C3nLScju.js +1 -0
  6. package/dashboard/dist/assets/ClawdAnimated-CLHhE26z.js +1 -0
  7. package/dashboard/dist/assets/CommunityStatsModal-DA3PHLV5.js +1 -0
  8. package/dashboard/dist/assets/ConfirmModal-CTDarLrD.js +1 -0
  9. package/dashboard/dist/assets/DashboardPage-DZIiWc3Y.js +1 -0
  10. package/dashboard/dist/assets/DevicePage-CyXjUO8W.js +1 -0
  11. package/dashboard/dist/assets/DialogDescription-ahxSNUcB.js +1 -0
  12. package/dashboard/dist/assets/DialogTitle-z86PHHyk.js +1 -0
  13. package/dashboard/dist/assets/FadeIn-BDWtfIsO.js +1 -0
  14. package/dashboard/dist/assets/HeaderGithubStar-DE1USQbb.js +1 -0
  15. package/dashboard/dist/assets/{IpCheckPage-CMf9CHFr.js → IpCheckPage-B2SkgT0P.js} +3 -3
  16. package/dashboard/dist/assets/{LandingPage-BT61_TqT.js → LandingPage-PU5gxsfY.js} +165 -165
  17. package/dashboard/dist/assets/LeaderboardAvatar-CaOV_hFE.js +1 -0
  18. package/dashboard/dist/assets/LeaderboardPage-B0JtEyRP.js +2 -0
  19. package/dashboard/dist/assets/{LeaderboardProfileModal-C_kxqOMn.js → LeaderboardProfileModal-DtNEbVH8.js} +4 -4
  20. package/dashboard/dist/assets/{LeaderboardProfilePage-zgNsE0EQ.js → LeaderboardProfilePage-DRklax3-.js} +3 -3
  21. package/dashboard/dist/assets/LimitsPage-Dg0cJa40.js +4 -0
  22. package/dashboard/dist/assets/LocalOnlyNotice-si9PMKya.js +1 -0
  23. package/dashboard/dist/assets/LoginPage-DgLwhXKo.js +1 -0
  24. package/dashboard/dist/assets/PetPage-DEZbjk99.js +1 -0
  25. package/dashboard/dist/assets/PopoverPopup-DX7v1XfE.js +1 -0
  26. package/dashboard/dist/assets/ResetPasswordPage-C6NvRO-Q.js +1 -0
  27. package/dashboard/dist/assets/Select-CH2xVU8X.js +1 -0
  28. package/dashboard/dist/assets/SelectItemText-CCW6JeeN.js +1 -0
  29. package/dashboard/dist/assets/SettingsPage-Cm3uT11D.js +1 -0
  30. package/dashboard/dist/assets/SkillsPage-CljRL6yF.js +1 -0
  31. package/dashboard/dist/assets/TrendMonitor-DM1_WNfw.js +19 -0
  32. package/dashboard/dist/assets/WidgetsPage-mJ1j6hly.js +1 -0
  33. package/dashboard/dist/assets/WrappedPage-Dz71ln4t.js +1 -0
  34. package/dashboard/dist/assets/__vite-browser-external-C7JwykID.css +1 -0
  35. package/dashboard/dist/assets/__vite-browser-external-Eoyj4eG-.js +1341 -0
  36. package/dashboard/dist/assets/agent-logos-D3K_ZRUj.js +1 -0
  37. package/dashboard/dist/assets/arrow-up-right-CT4-gmOS.js +1 -0
  38. package/dashboard/dist/assets/check-B87_qvAg.js +1 -0
  39. package/dashboard/dist/assets/copy-Dtr68epm.js +1 -0
  40. package/dashboard/dist/assets/download-DaWsA_Gj.js +1 -0
  41. package/dashboard/dist/assets/flame-vLBOq0X0.js +1 -0
  42. package/dashboard/dist/assets/format-tokens-C6Pidz3s.js +1 -0
  43. package/dashboard/dist/assets/icons-BaaYJxUN.js +1 -0
  44. package/dashboard/dist/assets/index-lKnLA6Pd.js +1 -0
  45. package/dashboard/dist/assets/info-B46Qt16h.js +1 -0
  46. package/dashboard/dist/assets/limits-providers-13af4PEg.js +1 -0
  47. package/dashboard/dist/assets/link-2-DeN6MJpT.js +1 -0
  48. package/dashboard/dist/assets/loader-circle-ByEuaaSw.js +1 -0
  49. package/dashboard/dist/assets/provider-display-CKbOKeV4.js +42 -0
  50. package/dashboard/dist/assets/terminal-DyicX7lG.js +1 -0
  51. package/dashboard/dist/assets/trash-2-CVCC3DtQ.js +1 -0
  52. package/dashboard/dist/assets/use-community-stats-CExk3D6G.js +1 -0
  53. package/dashboard/dist/assets/use-limits-display-prefs-CRl4uU95.js +1 -0
  54. package/dashboard/dist/assets/use-native-settings-Bi6E9dsE.js +1 -0
  55. package/dashboard/dist/assets/{use-ordered-list-DPbiKnPc.js → use-ordered-list-Dk0p2otw.js} +2 -2
  56. package/dashboard/dist/assets/use-session-efficiency-pref-YAG-OYIh.js +1 -0
  57. package/dashboard/dist/assets/use-transform-lflyghWN.js +1 -0
  58. package/dashboard/dist/assets/use-usage-limits-DJXvJ25Q.js +1 -0
  59. package/dashboard/dist/assets/useCurrency-BtHtcsO5.js +1 -0
  60. package/dashboard/dist/assets/useScrollLock-C2C-Yazq.js +1 -0
  61. package/dashboard/dist/assets/useTokenFormat-BdD057ih.js +1 -0
  62. package/dashboard/dist/assets/zap-DWWma29E.js +1 -0
  63. package/dashboard/dist/index.html +2 -2
  64. package/dashboard/dist/share.html +2 -2
  65. package/package.json +1 -1
  66. package/src/cli.js +6 -0
  67. package/src/commands/serve.js +8 -6
  68. package/src/commands/sessions.js +29 -0
  69. package/src/commands/status.js +2 -1
  70. package/src/commands/sync.js +164 -36
  71. package/src/lib/codex-context-breakdown.js +330 -13
  72. package/src/lib/codex-rollout-parser.js +323 -42
  73. package/src/lib/context-health.js +124 -0
  74. package/src/lib/cursor-store.js +1289 -0
  75. package/src/lib/diagnostics.js +8 -5
  76. package/src/lib/fs.js +254 -16
  77. package/src/lib/git-outcomes.js +147 -0
  78. package/src/lib/local-api.js +151 -20
  79. package/src/lib/outcomes-engine.js +23 -0
  80. package/src/lib/pricing/index.js +8 -0
  81. package/src/lib/pricing/seed-snapshot.json +1 -1
  82. package/src/lib/rollout.js +101 -9
  83. package/src/lib/session-analytics.js +612 -0
  84. package/src/lib/usage-limits.js +21 -0
  85. package/dashboard/dist/assets/AchievementBadge-DXWHZrAL.js +0 -1
  86. package/dashboard/dist/assets/AchievementsPage-BhrQXniL.js +0 -2
  87. package/dashboard/dist/assets/AchievementsSection-gzP3m1Ml.js +0 -1
  88. package/dashboard/dist/assets/BadgeDetailModal-DGKPuvDU.js +0 -1
  89. package/dashboard/dist/assets/Card-BRtYQ-Ot.js +0 -1
  90. package/dashboard/dist/assets/ClawdAnimated-UsNG-qDv.js +0 -1
  91. package/dashboard/dist/assets/CommunityStatsModal-CJQw-P4t.js +0 -1
  92. package/dashboard/dist/assets/ConfirmModal-ByY4GDsy.js +0 -1
  93. package/dashboard/dist/assets/DashboardPage-CuLVnW98.js +0 -19
  94. package/dashboard/dist/assets/DevicePage-D67CxpmR.js +0 -1
  95. package/dashboard/dist/assets/DialogClose-Ci8hkTw5.js +0 -1
  96. package/dashboard/dist/assets/DialogDescription-C9vXUZU0.js +0 -1
  97. package/dashboard/dist/assets/DialogTitle-sLJxKWjv.js +0 -1
  98. package/dashboard/dist/assets/FadeIn-xVds37w6.js +0 -1
  99. package/dashboard/dist/assets/HeaderGithubStar-kK3omgmB.js +0 -1
  100. package/dashboard/dist/assets/LeaderboardAvatar-DyKz6NdT.js +0 -1
  101. package/dashboard/dist/assets/LeaderboardPage-DJ4zihJJ.js +0 -2
  102. package/dashboard/dist/assets/LimitsPage-BiQpqxj8.js +0 -4
  103. package/dashboard/dist/assets/LocalOnlyNotice-DTrrUVbZ.js +0 -1
  104. package/dashboard/dist/assets/LoginPage-BOM9Q2sI.js +0 -1
  105. package/dashboard/dist/assets/PetPage-BURk7RG-.js +0 -1
  106. package/dashboard/dist/assets/PopoverPopup-BV_aoNBd.js +0 -1
  107. package/dashboard/dist/assets/ResetPasswordPage-SBL2LvXC.js +0 -1
  108. package/dashboard/dist/assets/Select-BsRdHde3.js +0 -1
  109. package/dashboard/dist/assets/SelectItemText-DgkrZxIq.js +0 -1
  110. package/dashboard/dist/assets/SettingsPage-DqxVsfnB.js +0 -1
  111. package/dashboard/dist/assets/SkillsPage-B0VfWkOh.js +0 -1
  112. package/dashboard/dist/assets/WidgetsPage-4QQ8wI_g.js +0 -1
  113. package/dashboard/dist/assets/WrappedPage-BK53khVY.js +0 -1
  114. package/dashboard/dist/assets/agent-logos-DXpW_Wmz.js +0 -1
  115. package/dashboard/dist/assets/arrow-up-right-DCc--V5G.js +0 -1
  116. package/dashboard/dist/assets/check-DqxuosV2.js +0 -1
  117. package/dashboard/dist/assets/copy-qChAT7MY.js +0 -1
  118. package/dashboard/dist/assets/download-W9R3sBph.js +0 -1
  119. package/dashboard/dist/assets/flame-0eyhMnfU.js +0 -1
  120. package/dashboard/dist/assets/format-tokens-CkfBUcoa.js +0 -1
  121. package/dashboard/dist/assets/info-DY1O85-U.js +0 -1
  122. package/dashboard/dist/assets/link-2-B_Z66hFT.js +0 -1
  123. package/dashboard/dist/assets/loader-circle-xH40lon2.js +0 -1
  124. package/dashboard/dist/assets/main-CeaB5N36.js +0 -1259
  125. package/dashboard/dist/assets/main-DAc77vwF.css +0 -1
  126. package/dashboard/dist/assets/provider-display-C_XKZQcF.js +0 -42
  127. package/dashboard/dist/assets/trash-2-DVhNJ74r.js +0 -1
  128. package/dashboard/dist/assets/use-community-stats-CO-nr2Vf.js +0 -1
  129. package/dashboard/dist/assets/use-limits-display-prefs-RRqmyoxt.js +0 -1
  130. package/dashboard/dist/assets/use-native-settings-79piPeET.js +0 -1
  131. package/dashboard/dist/assets/use-quality-per-dollar-pref-DyF49QRF.js +0 -1
  132. package/dashboard/dist/assets/use-transform-BvXyGAtb.js +0 -1
  133. package/dashboard/dist/assets/use-usage-limits-BiZ_I-KE.js +0 -1
  134. package/dashboard/dist/assets/useCurrency-D-C1e7eE.js +0 -1
  135. package/dashboard/dist/assets/useScrollLock-BfU2EMvG.js +0 -1
  136. package/dashboard/dist/assets/useTokenFormat-Cm4EvrQp.js +0 -1
  137. package/dashboard/dist/assets/zap-DlAOTwFs.js +0 -1
@@ -0,0 +1 @@
1
+ import{k as da,r as i,j as e,J as it,y as ca,X as Se,c as r,b as Z,aN as na,aD as _a,aO as ot,aP as lt,aQ as ha,aR as dt,aS as ct,aC as ut,aT as xa,aU as mt,aV as gt,aI as ht,aW as xt,aF as pt,aE as ft,H as yt,w as bt,x as pa,aX as kt,af as wt,P as be,aY as vt,aZ as jt,a_ as Nt,a$ as Ct,b0 as St,b1 as _t,F as Pt,B as W,b2 as Rt,b3 as ia,R as Lt,b4 as It,b5 as fa,ap as Ce,b6 as ya,b7 as ba,b8 as Et,b9 as ka,ba as wa,bb as $t,bc as Bt}from"./__vite-browser-external-Eoyj4eG-.js";import{L as Tt}from"./LocalOnlyNotice-si9PMKya.js";import{C as Dt}from"./Card-C3nLScju.js";import{C as va}from"./ConfirmModal-CTDarLrD.js";import{I as Pa}from"./info-B46Qt16h.js";import{u as Mt}from"./useCurrency-BtHtcsO5.js";import{L as ee}from"./loader-circle-ByEuaaSw.js";import{C as _e}from"./check-B87_qvAg.js";import{T as ua}from"./trash-2-CVCC3DtQ.js";import{u as Ot,s as Ut,k as Ra,l as Ft,m as zt,n as At,o as Kt,p as Vt,q as qt,S as La,c as Ia,d as Ea,C as ma,e as $a,f as Ba,g as Ta,h as We,j as Ge,i as Qe}from"./SelectItemText-CCW6JeeN.js";import{t as Ht,u as oa,m as Wt}from"./useScrollLock-C2C-Yazq.js";import{F as Gt}from"./flame-vLBOq0X0.js";import{D as Da}from"./download-DaWsA_Gj.js";import{P as Ma,a as Oa,b as Ua,c as Fa,d as za,C as Qt}from"./PopoverPopup-DX7v1XfE.js";import"./arrow-up-right-CT4-gmOS.js";import"./DialogTitle-z86PHHyk.js";import"./DialogDescription-ahxSNUcB.js";const Xt=[["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"}]],Aa=da("circle-arrow-up",Xt);const Yt=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],la=da("external-link",Yt);const Jt=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Ka=da("plus",Jt);function ga({id:a,value:s,onChange:l,placeholder:m,disabled:c=!1,type:x="text",label:u,error:g,className:h="",...b}){const o=i.useId(),k=a||o,N=g?`${k}-error`:void 0,C=`w-full bg-oai-white dark:bg-oai-gray-900 border border-oai-gray-300 dark:border-oai-gray-700 rounded-md text-oai-black dark:text-oai-white placeholder-oai-gray-400 dark:placeholder-oai-gray-500 transition-all duration-200 focus:outline-none focus:border-oai-brand dark:focus:border-oai-brand focus:ring-1 focus:ring-oai-brand/30 ${c?"bg-oai-gray-50 dark:bg-oai-gray-800 text-oai-gray-400 dark:text-oai-gray-400 cursor-not-allowed":""} ${g?"border-oai-error focus:border-oai-error focus:ring-oai-error/30":""} h-10 px-3 text-sm ${h}`;return e.jsxs("div",{className:"w-full",children:[u&&e.jsx("label",{htmlFor:k,className:"block text-sm font-medium text-oai-gray-700 dark:text-oai-gray-300 mb-1.5 transition-colors duration-200",children:u}),e.jsx("input",{id:k,type:x,value:s,onChange:l,placeholder:m,disabled:c,"aria-invalid":g?!0:void 0,"aria-describedby":N,className:C,...b}),g&&e.jsx("p",{id:N,className:"mt-1.5 text-sm text-oai-error",children:g})]})}const Va=i.forwardRef(function(s,l){const{render:m,className:c,style:x,...u}=s,{store:g}=Ot(),b={open:it(g,Ut.open)};return ca("span",s,{state:b,ref:l,props:[{"aria-hidden":!0,children:"▼"},u],stateAttributesMapping:Ht})}),Zt="tt:hint:dismissed:";function qa(a){return Zt+a}function er(a){if(typeof window>"u")return!1;try{return window.localStorage.getItem(qa(a))==="1"}catch{return!1}}function ar({id:a,children:s,className:l,ariaLabel:m}){const[c,x]=i.useState(()=>er(a)),u=i.useCallback(()=>{if(typeof window<"u")try{window.localStorage.setItem(qa(a),"1")}catch{}x(!0)},[a]);return c?null:e.jsxs("div",{role:"note","aria-label":m||r("hint.dismissible_aria"),className:Z("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",l),children:[e.jsx("button",{type:"button",onClick:u,"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(Se,{className:"h-4 w-4","aria-hidden":"true"})}),e.jsxs("div",{className:"flex items-start gap-2 pr-8",children:[e.jsx(Pa,{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 tr(a){if(!a)return null;for(const s of a.elements){const l=s.tagName;if(l==="BUTTON"||l==="INPUT"){const m=s;if(m.type==="submit")return m}}return null}let ja=(function(a){return a.checked="data-checked",a.unchecked="data-unchecked",a.indeterminate="data-indeterminate",a.disabled="data-disabled",a.readonly="data-readonly",a.required="data-required",a.valid="data-valid",a.invalid="data-invalid",a.touched="data-touched",a.dirty="data-dirty",a.filled="data-filled",a.focused="data-focused",a})({});function Ha(a){return i.useMemo(()=>({checked(s){return a.indeterminate?{}:s?{[ja.checked]:""}:{[ja.unchecked]:""}},...Ra}),[a.indeterminate])}const rr=i.createContext({disabled:!1});function sr(){return i.useContext(rr)}function nr(a,s,l,m=!0,c){const[x,u]=i.useState(),g=oa(c?`${c}-label`:void 0),h=a??s??x;return na(()=>{const b=a||s||!m?void 0:ir(l.current,g);x!==b&&u(b)}),h}function ir(a,s){const l=or(a);if(l)return!l.id&&s&&(l.id=s),l.id||void 0}function or(a){if(!a)return;const s=a.parentElement;if(s&&s.tagName==="LABEL")return s;const l=a.id;if(l){const c=a.nextElementSibling;if(c&&c.htmlFor===l)return c}const m=a.labels;return m&&m[0]}const lr=i.createContext(void 0);function dr(a=!0){const s=i.useContext(lr);if(s===void 0&&!a)throw new Error(_a(3));return s}const Wa=i.createContext(void 0);function cr(){const a=i.useContext(Wa);if(a===void 0)throw new Error(_a(14));return a}const ur="data-parent",mr=i.forwardRef(function(s,l){const{checked:m,className:c,defaultChecked:x=!1,"aria-labelledby":u,disabled:g=!1,form:h,id:b,indeterminate:o=!1,inputRef:k,name:N,onCheckedChange:w,parent:v=!1,readOnly:y=!1,render:C,required:E=!1,uncheckedValue:U,value:G,nativeButton:F=!1,style:ge,...j}=s,{clearErrors:ae}=Ft(),{disabled:$,name:K,setDirty:Q,setFilled:te,setFocused:z,setTouched:ke,state:we,validationMode:Ue,validityData:Pe,validation:Fe}=zt(),ze=sr(),{labelId:D,controlId:re,registerControlId:X,getDescriptionProps:ve}=At(),P=dr(),V=P?.parent,se=V&&P.allValues,I=$||ze.disabled||P?.disabled||g,ne=K??N,R=G??ne,Re=oa(),je=oa();let ie=re;se?ie=v?je:`${V.id}-${R}`:b&&(ie=b);let pe={};se&&(v?pe=P.parent.getParentProps():R&&(pe=P.parent.getChildProps(R)));const{checked:Le=m,indeterminate:Ie=o,onCheckedChange:Ee,...Ne}=pe,q=P?.value,oe=P?.setValue,fe=P?.defaultValue,le=i.useRef(null),de=ot(()=>Symbol("checkbox-control")),he=i.useRef(!1),{getButtonProps:Ye,buttonRef:Ae}=lt({disabled:I,native:F}),ce=P?.validation??Fe,[_,Je]=Kt({controlled:R&&q&&!v?q.includes(R):Le,default:R&&fe&&!v?fe.includes(R):x,name:"Checkbox",state:"checked"}),$e=se?!!Le:_,ye=se&&Ie||o;na(()=>{X!==ha&&(he.current=!0,X(de.current,ie))},[ie,X,de]),i.useEffect(()=>{const f=de.current;return()=>{!he.current||X===ha||(he.current=!1,X(f,void 0))}},[X,de]),Vt(le,Re,_,void 0,!P&&!I,N);const Y=i.useRef(null),Be=dt(k,Y,ce.inputRef,ce.registerInput),Ze=nr(u,D,Y,!F,ie??void 0);na(()=>{Y.current&&(Y.current.indeterminate=ye,_&&te(!0))},[_,ye,te]),qt(_,()=>{P||(ae(ne),te(_),Q(_!==Pe.initialValue),ce.change(_))});const Ke=ct({checked:_,disabled:I,form:h,name:v?void 0:ne,id:F?void 0:ie??void 0,required:E,ref:Be,style:ne?mt:gt,tabIndex:-1,type:"checkbox","aria-hidden":!0,onChange(f){if(f.nativeEvent.defaultPrevented)return;if(y){f.preventDefault();return}const M=f.currentTarget.checked,ue=ht(xt,f.nativeEvent);if(w?.(M,ue),!ue.isCanceled&&(Ee?.(M,ue),!ue.isCanceled&&(Je(M),R&&q&&oe&&!v&&!se))){const me=M?[...q,R]:q.filter(B=>B!==R);oe(me,ue)}},onFocus(){le.current?.focus()}},G!==void 0?{value:(P?_&&G:G)||""}:ut,ve,f=>ce.getValidationProps(I,f));i.useEffect(()=>{if(!V||!R)return;const f=V.disabledStatesRef.current;return f.set(R,I),()=>{f.delete(R)}},[V,I,R]);const Te=i.useMemo(()=>({...we,checked:$e,disabled:I,readOnly:y,required:E,indeterminate:ye}),[we,$e,I,y,E,ye]),ea=Ha(Te),aa=ca("span",s,{state:Te,ref:[Ae,le,l,P?.registerControlRef],props:[{id:F?ie??void 0:Re,role:"checkbox","aria-checked":ye?"mixed":$e,"aria-readonly":y||void 0,"aria-required":E||void 0,"aria-labelledby":Ze,[ur]:v?"":void 0,onFocus(){I||z(!0)},onBlur(){const f=Y.current;f&&(ke(!0),z(!1),Ue==="onBlur"&&ce.commit(P?q:f.checked))},onKeyDown(f){if(f.key!=="Enter"||(f.preventBaseUIHandler(),f.defaultPrevented))return;const M=Y.current?.form??null,ue=f.currentTarget,me=f.nativeEvent,B=f.preventDefault,H=me.preventDefault;let De=!1;f.preventDefault=()=>{De=!0,B.call(f)},me.preventDefault=()=>{De=!0,H.call(me)},H.call(me),xa(ue).queueMicrotask(()=>{f.preventDefault=B,me.preventDefault=H,De||tr(M)?.click()})},onClick(f){if(y||I)return;f.preventDefault();const M=Y.current;M&&M.dispatchEvent(new(xa(M)).PointerEvent("click",{bubbles:!0,shiftKey:f.shiftKey,ctrlKey:f.ctrlKey,altKey:f.altKey,metaKey:f.metaKey}))}},j,Ne,Ye,ve,f=>ce.getValidationProps(I,f)],stateAttributesMapping:ea});return e.jsxs(Wa.Provider,{value:Te,children:[aa,!_&&!P&&ne&&!v&&U!==void 0&&e.jsx("input",{type:"hidden",form:h,name:ne,value:U,disabled:I}),e.jsx("input",{...Ke,suppressHydrationWarning:!0})]})}),gr=i.forwardRef(function(s,l){const{render:m,className:c,style:x,keepMounted:u=!1,...g}=s,h=cr(),b=h.checked||h.indeterminate,{mounted:o,transitionStatus:k,setMounted:N}=Wt(b),w=i.useRef(null),v={...h,transitionStatus:k};pt({open:b,ref:w,onComplete(){b||N(!1)}});const C={...Ha(h),...ft,...Ra},E=u||o,U=ca("span",s,{ref:[l,w],state:v,stateAttributesMapping:C,props:g});return E?U:null});function hr(a,s){return`target:${a}:${s}`}function xr(a){return`remove:${a.id||a.directory}`}function Ga(a){if(!a)return null;const s=new Date(a).getTime();return Number.isFinite(s)?Math.floor((Date.now()-s)/864e5):null}function pr(a){const s=Ga(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 l=Math.max(1,Math.floor(s/30));return r("skills.usage.months_ago",{months:l})}function fr(a){const s=Ga(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 ra({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 yr({skill:a,targets:s,busyKey:l,usage:m,hasUpdate:c,updating:x,onUpdate:u,onClose:g,onToggleTarget:h,onRemove:b}){return e.jsx(yt,{children:a?e.jsx(br,{skill:a,targets:s,busyKey:l,usage:m,hasUpdate:c,updating:x,onUpdate:u,onClose:g,onToggleTarget:h,onRemove:b},a.id||a.directory):null})}function br({skill:a,targets:s,busyKey:l,usage:m,hasUpdate:c,updating:x,onUpdate:u,onClose:g,onToggleTarget:h,onRemove:b}){const o=bt(),{currency:k,rate:N}=Mt(),w=i.useRef(null);i.useEffect(()=>{const j=$=>{$.key==="Escape"&&($.stopPropagation(),g?.())},ae=$=>{const K=$.target;K instanceof Element&&(w.current?.contains(K)||K.closest('[data-skill-row="1"]')||g?.())};return document.addEventListener("keydown",j),document.addEventListener("mousedown",ae),()=>{document.removeEventListener("keydown",j),document.removeEventListener("mousedown",ae)}},[g]);const v=a.name||a.directory,y=!!(a.repoOwner&&a.repoName),C=y?`https://github.com/${a.repoOwner}/${a.repoName}`:null,E=new Set(a.targets||[]),U=l===xr(a),G=pr(m?.lastUsedAt),F=!!(m&&m.invocations>0),ge=o?{duration:0}:{type:"spring",stiffness:320,damping:30,mass:.7};return e.jsxs(e.Fragment,{children:[e.jsx(pa.div,{className:"fixed inset-0 z-20 bg-oai-black/30 backdrop-blur-[2px] lg:hidden",initial:o?!1:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:o?0:.15},onClick:g,"aria-hidden":!0}),e.jsxs(pa.aside,{ref:w,role:"complementary","aria-label":v,initial:o?!1:{opacity:0,x:24,scale:.98},animate:{opacity:1,x:0,scale:1},exit:o?{opacity:0}:{opacity:0,x:24,scale:.98},transition:ge,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:v,children:v}),y?e.jsxs("a",{href:C,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:C,children:[e.jsxs("span",{className:"truncate",children:[a.repoOwner,"/",a.repoName]}),e.jsx(la,{className:"h-3 w-3 shrink-0","aria-hidden":!0})]}):a.directory&&a.directory!==v?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:g,"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(Se,{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:[c?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(Aa,{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:()=>u?.(a),disabled:x,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:[x?e.jsx(ee,{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.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(ra,{label:r("skills.usage.invocations"),children:kt(m?.invocations||0)}),e.jsx(ra,{label:r("skills.usage.last_used"),children:e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx("span",{className:Z("h-1.5 w-1.5 rounded-full",fr(m?.lastUsedAt)),"aria-hidden":!0}),F?G||r("skills.usage.unknown"):r("skills.usage.never")]})}),e.jsx(ra,{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(Pa,{className:"h-3 w-3","aria-label":r("skills.usage.disclaimer")})})]}),children:wt(m?.cost||0,{currency:k,rate:N})})]}),F?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")})]}),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||[]).map(j=>{const ae=E.has(j.id),$=l===hr(a.id,j.id),K=`skill-detail-sync-${a.id||a.directory}-${j.id}`;return e.jsxs("label",{htmlFor:K,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(mr,{id:K,checked:ae,disabled:$,onCheckedChange:Q=>h?.(a,j.id,!!Q),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(gr,{className:"flex items-center justify-center text-white dark:text-oai-black",children:e.jsx(_e,{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(be,{provider:j.id,size:16})}),e.jsx("span",{className:"flex-1",children:j.label}),$?e.jsx(ee,{className:"h-3.5 w-3.5 animate-spin text-oai-gray-400","aria-hidden":!0}):null]},j.id)})})]})]}),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:()=>b?.(a),disabled:U,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:[U?e.jsx(ee,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(ua,{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 kr=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),sa=["claude","codex"],O="popular",wr={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",T="skillssh";function Xe(a){return`${a.repoOwner||"local"}/${a.repoName||"local"}:${a.directory}`}function Qa(a){return String(a||"").replace(/\\/g,"/").trim().toLowerCase()}function vr(a){return Qa(a).split("/").filter(Boolean).pop()||""}function jr(a){if(a.repoOwner||a.repoName)return"";const s=Qa(a.directory);return!s||s.includes("/")?"":`dir:${s}`}function Na(a){const s=vr(a.directory);return s?`dir:${s}`:""}function Ca(a){const s=new Set([Xe(a).toLowerCase()]);a.repoOwner&&a.repoName&&s.add(`${a.repoOwner}/${a.repoName}:${a.sourceDirectory||a.directory}`.toLowerCase());const l=jr(a);return l&&s.add(l),s}function He(a){return`install:${Xe(a)}`}function Sa(a){return`remove:${a.id||a.directory}`}function Xa(a,s){return`target:${a}:${s}`}function Nr({target:a,state:s,busy:l,onToggle:m}){const c=s==="synced",x=s==="orphan",u=x?r("skills.dot.orphan_aria",{agent:a.label}):c?r("skills.dot.synced_aria",{agent:a.label}):r("skills.dot.off_aria",{agent:a.label});return e.jsxs("button",{type:"button",title:u,"aria-label":u,"aria-pressed":c,disabled:l,onClick:g=>{g.stopPropagation(),m?.(a.id,!c)},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:[l?e.jsx(ee,{className:"h-4 w-4 animate-spin text-oai-gray-400","aria-hidden":!0}):e.jsx("span",{className:Z("flex h-[18px] w-[18px] items-center justify-center transition",c&&wr[a.id],!c&&!x&&"opacity-35 grayscale"),"aria-hidden":!0,children:e.jsx(be,{provider:a.id,size:18})}),x&&!l?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 Cr({skill:a,targets:s,onToggleTarget:l,busyKey:m}){return e.jsx("div",{className:"flex items-center gap-1",onClick:c=>c.stopPropagation(),children:s.map(c=>e.jsx(Nr,{target:c,state:a.targetStates?.[c.id]||"off",busy:m===Xa(a.id,c.id),onToggle:(x,u)=>l?.(a,x,u)},c.id))})}function Sr({skill:a,targets:s,selected:l,onSelect:m,selectable:c,checked:x,onToggleSelect:u,onToggleTarget:g,hasUpdate:h,busyKey:b}){const o=a.repoOwner&&a.repoName?`${a.repoOwner}/${a.repoName}`:null,k=o?`${a.directory} · ${o}`:a.directory,N=w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),m?.(a))};return e.jsxs("div",{"data-skill-row":"1",role:"button",tabIndex:0,"aria-pressed":l,"aria-label":r("skills.row.open_details",{name:a.name||a.directory}),onClick:()=>m?.(a),onKeyDown:N,className:Z("cursor-pointer rounded-md py-3 pr-2 transition focus:outline-none focus:ring-2 focus:ring-oai-gray-400/30",l?"bg-oai-gray-100 ring-1 ring-oai-gray-200 dark:bg-oai-gray-800/60 dark:ring-oai-gray-800":x?"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:[c?e.jsx("label",{className:"flex shrink-0 items-center",onClick:w=>w.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:x,onChange:w=>u?.(a,w.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:k,children:a.name||a.directory}),h?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(Aa,{className:"h-2.5 w-2.5","aria-hidden":!0}),r("skills.update.badge")]}):null,e.jsx(Cr,{skill:a,targets:s,onToggleTarget:g,busyKey:b}),e.jsx(Qt,{className:Z("hidden h-4 w-4 shrink-0 text-oai-gray-300 transition-colors dark:text-oai-gray-600 lg:block",l&&"text-oai-gray-500 dark:text-oai-gray-300"),"aria-hidden":!0})]}),a.description?e.jsx("p",{className:Z("mt-1 line-clamp-2 text-xs text-oai-gray-500 dark:text-oai-gray-400",c&&"pl-7"),children:a.description}):null]})}function _r({agentFilter:a,agentOptions:s,onAgentFilter:l,filteredCount:m,totalCount:c,anyFilter:x,onClearFilters:u,searchQuery:g,onSearchQuery:h,searchPlaceholder:b}){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(La,{value:a,onValueChange:l,children:[e.jsxs(Ia,{"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(Ea,{children:o=>o==="all"?r("skills.filter.agent_all"):s.find(k=>k.id===o)?.label||o}),e.jsx(Va,{className:"text-oai-gray-400",children:e.jsx(ma,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),e.jsx($a,{children:e.jsx(Ba,{sideOffset:4,alignItemWithTrigger:!1,className:"z-[60]",children:e.jsxs(Ta,{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(We,{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(Ge,{children:r("skills.filter.agent_all")}),e.jsx(Qe,{children:e.jsx(_e,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),s.map(o=>e.jsxs(We,{value:o.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(be,{provider:o.id,size:14}),e.jsx(Ge,{children:o.label})]}),e.jsx(Qe,{children:e.jsx(_e,{className:"h-3.5 w-3.5","aria-hidden":!0})})]},o.id))]})})})]}),e.jsxs("div",{className:"relative w-56 max-w-full",children:[e.jsx(ia,{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(ga,{type:"search",value:g,onChange:o=>h(o.target.value),onKeyDown:o=>{o.key==="Escape"&&g&&(o.preventDefault(),h(""))},"aria-label":r("skills.action.search_aria"),placeholder:b,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:o=>o.preventDefault(),onClick:()=>h(""),"aria-label":r("skills.action.search_clear"),"aria-hidden":!g,tabIndex:g?0:-1,className:Z("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",g?"scale-100 opacity-100":"pointer-events-none scale-90 opacity-0"),children:e.jsx(Se,{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:m,total:c})}),x?e.jsxs("button",{type:"button",onClick:u,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(Se,{className:"h-3 w-3","aria-hidden":!0}),r("skills.filter.clear")]}):null]})}function Pr({count:a,targets:s,busy:l,onBulkSync:m,onBulkRemove:c,onClear:x}){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(Ma,{children:[e.jsxs(Oa,{disabled:l,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(Da,{className:"h-3.5 w-3.5","aria-hidden":!0}),r("skills.select.bulk_sync"),e.jsx(ma,{className:"h-3 w-3","aria-hidden":!0})]}),e.jsx(Ua,{children:e.jsx(Fa,{sideOffset:6,side:"bottom",align:"end",className:"!z-[80]",children:e.jsxs(za,{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")}),s.map(u=>e.jsxs("button",{type:"button",onClick:()=>m(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(be,{provider:u.id,size:16}),e.jsx("span",{className:"flex-1",children:u.label})]},u.id))]})})})]}),e.jsxs(W,{type:"button",variant:"ghost",size:"sm",disabled:l,onClick:c,children:[e.jsx(ua,{className:"mr-1.5 h-3.5 w-3.5","aria-hidden":!0}),r("skills.select.bulk_remove")]}),e.jsxs("button",{type:"button",onClick:x,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(Se,{className:"h-3 w-3","aria-hidden":!0}),r("skills.select.clear")]})]})]})}function Rr({items:a,totalCount:s,targets:l,agentOptions:m,agentFilter:c,onAgentFilter:x,anyFilter:u,onClearFilters:g,searchQuery:h,onSearchQuery:b,searchPlaceholder:o,selectedId:k,onSelect:N,onToggleTarget:w,busyKey:v,updates:y,selectedIds:C,onToggleSelect:E,onClearSelection:U,onBulkSync:G,onBulkRemove:F}){const ge=C.size;return e.jsxs("div",{children:[ge>0?e.jsx(Pr,{count:ge,targets:l,busy:v==="batch",onBulkSync:G,onBulkRemove:F,onClear:U}):e.jsx(_r,{agentFilter:c,agentOptions:m,onAgentFilter:x,filteredCount:a.length,totalCount:s,anyFilter:u,onClearFilters:g,searchQuery:h,onSearchQuery:b,searchPlaceholder:o}),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(W,{type:"button",variant:"secondary",size:"sm",onClick:g,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(j=>e.jsx(Sr,{skill:j,targets:l,selected:k===(j.id||j.directory),onSelect:N,selectable:!0,checked:C.has(j.id),onToggleSelect:E,onToggleTarget:w,hasUpdate:!!(j.id&&y?.[j.id]),busyKey:v},j.id||j.key))})]})}const Lr={contentVisibility:"auto",containIntrinsicSize:"0 240px"},Ir=Lt.memo(function({skill:s,installed:l,installing:m,allTargets:c,defaultTargets:x,onInstall:u,onManage:g}){const[h,b]=i.useState(()=>(x||[]).filter(y=>c.some(C=>C.id===y))),o=y=>{b(C=>C.includes(y)?C.filter(E=>E!==y):[...C,y])},k=s.repoOwner&&s.repoName?`${s.repoOwner}/${s.repoName}`:null,N=k?`https://github.com/${s.repoOwner}/${s.repoName}`:null,w=s.installs!=null?r("skills.card.installs",{count:Number(s.installs||0).toLocaleString()}):null,v=h.length?h.map(y=>c.find(C=>C.id===y)?.label||y).join(", "):r("skills.action.choose_targets");return e.jsxs(Dt,{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(la,{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}),k||w?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:[N?e.jsxs("a",{href:N,target:"_blank",rel:"noopener noreferrer",onClick:y=>y.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:N,children:[e.jsx("span",{className:"truncate",children:k}),e.jsx(la,{className:"h-2.5 w-2.5 shrink-0","aria-hidden":!0})]}):null,k&&w?e.jsx("span",{"aria-hidden":!0,children:"·"}):null,w?e.jsx("span",{className:"truncate",children:w}):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:l?e.jsxs(W,{type:"button",variant:"secondary",size:"sm",onClick:()=>g?.(s),className:"w-full",children:[e.jsx(_e,{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:h.length?v:r("skills.target.none")}),e.jsxs(Ma,{children:[e.jsx(Oa,{disabled:m,"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(Ua,{children:e.jsx(Fa,{sideOffset:6,side:"bottom",align:"end",className:"!z-[80]",children:e.jsxs(za,{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")}),c.map(y=>{const C=h.includes(y.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:C,onChange:()=>o(y.id)}),e.jsx(be,{provider:y.id,size:16}),e.jsx("span",{className:"flex-1 text-left",children:y.label})]},y.id)})]})})})]})]}),e.jsxs(W,{type:"button",size:"sm",onClick:()=>u(s,h),disabled:m||h.length===0,className:"w-full",children:[m?e.jsx(ee,{className:"mr-1.5 h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(Da,{className:"mr-1.5 h-3.5 w-3.5","aria-hidden":!0}),r("skills.action.install")]})]})})]})});function Er({repos:a,repoInput:s,onRepoInput:l,busyKey:m,onAdd:c,onRemove:x}){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(ga,{value:s,onChange:u=>l(u.target.value),placeholder:r("skills.repo.placeholder"),className:"min-w-0 flex-1"}),e.jsxs(W,{type:"button",variant:"secondary",size:"md",onClick:c,disabled:m==="repo:add",className:"shrink-0 whitespace-nowrap",children:[m==="repo:add"?e.jsx(ee,{className:"mr-1.5 h-4 w-4 animate-spin","aria-hidden":!0}):e.jsx(Ka,{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(u=>{const g=m===`repo:${u.owner}/${u.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:[u.owner,"/",u.name]}),e.jsx("div",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400",children:u.branch})]}),e.jsxs(W,{type:"button",variant:"ghost",size:"sm",disabled:g,onClick:()=>x(u),className:"shrink-0",children:[g?e.jsx(ee,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":!0}):e.jsx(ua,{className:"h-3.5 w-3.5","aria-hidden":!0}),e.jsx("span",{className:"sr-only",children:r("skills.repo.remove")})]})]},`${u.owner}/${u.name}`)})}):null]})}function $r(){return typeof window>"u"?"my":new URLSearchParams(window.location.search).get("tab")==="browse"?"browse":"my"}function Yr(){const[a,s]=i.useState($r),[l,m]=i.useState({skills:[],targets:[]}),[c,x]=i.useState([]),[u,g]=i.useState([]),[h,b]=i.useState([]),[o,k]=i.useState(xe),[N,w]=i.useState(""),[v,y]=i.useState(""),[C,E]=i.useState(""),[U,G]=i.useState(""),[F,ge]=i.useState(""),[j,ae]=i.useState(!1),[$,K]=i.useState("all"),[Q,te]=i.useState(null),[z,ke]=i.useState(""),[we,Ue]=i.useState(!0),[Pe,Fe]=i.useState(!1),[ze,D]=i.useState(""),[re,X]=i.useState(null),[ve,P]=i.useState(null),[V,se]=i.useState(()=>new Set),[I,ne]=i.useState({}),[R,Re]=i.useState({}),[je,ie]=i.useState([]),[pe,Le]=i.useState(!1),Ie=i.useRef(!1),Ee=i.useMemo(()=>{const t=new Set;for(const n of l.skills||[])for(const d of Ca(n))t.add(d);return t},[l.skills]),Ne=i.useCallback(async()=>{const t=await vt();m({skills:t.skills||[],targets:t.targets||[]})},[]),q=i.useCallback(async()=>{const t=await jt();b(t.repos||[])},[]),oe=i.useCallback(async({force:t=!1}={})=>{Fe(!0);try{const n=await Nt({force:t});x(n.skills||[])}finally{Fe(!1)}},[]),fe=i.useCallback(async({force:t=!1}={})=>{Le(!0);try{const n=await Ct({force:t});ie(n.skills||[])}finally{Le(!1)}},[]),le=i.useCallback(async()=>{try{const t=await St();ne(t?.updates||{})}catch{ne({})}},[]),de=i.useCallback(async()=>{try{const t=await _t(),n={};for(const d of t?.skills||[])d.installed&&(d.directory&&(n[String(d.directory).toLowerCase()]=d),n[String(d.skill).toLowerCase()]=d);Re(n)}catch{Re({})}},[]),he=i.useCallback(async()=>{Ue(!0),D("");try{await Promise.all([Ne(),q()])}catch(t){D(t?.message||r("skills.error.generic"))}finally{Ue(!1)}},[Ne,q]),Ye=i.useCallback(async()=>{await he();const t=n=>D(n?.message||r("skills.error.generic"));a==="my"?(le(),de()):o===O?fe({force:!0}).catch(t):o!==T&&oe({force:!0}).catch(t)},[oe,he,fe,le,de,o,a]);i.useEffect(()=>{he()},[he]),i.useEffect(()=>{if(Ie.current||typeof window>"u")return;const t=new URLSearchParams(window.location.search),n=t.get("skill");if(!n){Ie.current=!0;return}const d=l.skills||[];if(!d.length)return;const p=d.find(S=>S.directory===n||S.id===n);p&&(s("my"),te(p.id||p.directory)),Ie.current=!0,t.delete("skill");const L=t.toString();window.history.replaceState({},"",`${window.location.pathname}${L?`?${L}`:""}${window.location.hash}`)},[l.skills]),i.useEffect(()=>{a==="browse"&&(o===T||o===O||c.length===0&&oe().catch(t=>D(t?.message||r("skills.error.generic"))))},[c.length,oe,o,a]),i.useEffect(()=>{a!=="browse"||o!==O||je.length===0&&fe().catch(t=>D(t?.message||r("skills.error.generic")))},[fe,je.length,o,a]);const Ae=Object.keys(I).length>0,ce=Object.keys(R).length>0;if(i.useEffect(()=>{a==="my"&&(Ae||le(),ce||de())},[a,Ae,ce,le,de]),i.useEffect(()=>{const t=setTimeout(()=>y(N),200);return()=>clearTimeout(t)},[N]),i.useEffect(()=>{const t=setTimeout(()=>G(C),120);return()=>clearTimeout(t)},[C]),i.useEffect(()=>{if(typeof window>"u")return;const t=new URLSearchParams(window.location.search),n=t.get("tab");if(a==="my"){if(!n)return;t.delete("tab")}else{if(n===a)return;t.set("tab",a)}const d=t.toString(),p=`${window.location.pathname}${d?`?${d}`:""}${window.location.hash}`;window.history.replaceState({},"",p)},[a]),!kr&&!Pt())return e.jsx("div",{className:"flex flex-col flex-1 text-oai-black dark:text-oai-white font-oai antialiased",children:e.jsx(Tt,{})});const _=async(t,n)=>{ke(t),D("");try{await n(),await Ne()}catch(d){D(d?.message||r("skills.error.generic"))}finally{ke("")}},Je=(t,n)=>{const d=(n&&n.length?n:sa).filter(p=>(l.targets||[]).some(L=>L.id===p));_(He(t),async()=>{await fa(t,d);const p=d.map(L=>(l.targets||[]).find(S=>S.id===L)?.label||L).join(", ");Ce({title:r("skills.toast.installed",{name:t.name||t.directory,targets:p||r("skills.target.none")}),timeout:4e3})})},$e=t=>{X(t)},ye=()=>{const t=re;t&&(X(null),_(Sa(t),async()=>{let n=null;t.managed?n=await ya(t.id):await ba(t.directory,t.targets||[]);const d=!!(n?.trashed&&t.managed&&t.id);Ce({title:r("skills.toast.removed",{name:t.name||t.directory}),timeout:6e3,data:d?{onUndo:async()=>{try{await Et(t.id),await Ne()}catch(p){D(p?.message||r("skills.error.generic"))}}}:void 0})}))},Y=(t,n,d)=>_(Xa(t.id,n),async()=>{const p=new Set(t.targets||[]);d?p.add(n):p.delete(n),t.managed?await ka(t.id,Array.from(p)):await wa(t.directory,Array.from(p));const L={name:t.name||t.directory,agent:Ke(n)};Ce({title:d?r("skills.toast.synced_one",L):r("skills.toast.unsynced_one",L),timeout:3e3})}),Be=i.useCallback(()=>se(new Set),[]),Ze=i.useCallback((t,n)=>{se(d=>{const p=new Set(d);return n?p.add(t.id):p.delete(t.id),p})},[]),Ke=t=>(l.targets||[]).find(n=>n.id===t)?.label||t,Te=t=>{const n=(l.skills||[]).filter(d=>V.has(d.id));n.length&&_("batch",async()=>{for(const d of n){const p=new Set(d.targets||[]);p.add(t),d.managed?await ka(d.id,Array.from(p)):await wa(d.directory,Array.from(p))}Be(),Ce({title:r("skills.toast.bulk_synced",{count:n.length,agent:Ke(t)}),timeout:4e3})})},ea=()=>{const t=(l.skills||[]).filter(n=>V.has(n.id));t.length&&P(t)},aa=()=>{const t=ve;t&&(P(null),_("batch",async()=>{for(const n of t)n.managed?await ya(n.id):await ba(n.directory,n.targets||[]);Be(),Ce({title:r("skills.toast.bulk_removed",{count:t.length}),timeout:4e3})}))},f=t=>{!t?.repoOwner||!t?.repoName||_(He(t),async()=>{await fa({key:t.key,name:t.name,description:t.description,directory:t.sourceDirectory||t.directory,repoOwner:t.repoOwner,repoName:t.repoName,repoBranch:t.repoBranch,readmeUrl:t.readmeUrl},t.targets&&t.targets.length?t.targets:sa),await le(),Ce({title:r("skills.toast.updated",{name:t.name||t.directory}),timeout:4e3})})},M=async()=>{const t=N.trim();if(!(t.length<2)){ke("search"),D("");try{const n=await It(t);g(n.skills||[])}catch(n){D(n?.message||r("skills.error.generic"))}finally{ke("")}}},ue=async()=>{const t=F.trim().replace(/^https:\/\/github\.com\//,"").replace(/\.git$/,""),[n,d]=t.split("/");if(!n||!d){D(r("skills.repo.invalid"));return}await _("repo:add",async()=>{await Bt({owner:n,name:d,branch:"main",enabled:!0}),ge(""),await q(),await oe()})},me=async t=>{await _(`repo:${t.owner}/${t.name}`,async()=>{await $t(t.owner,t.name),await q(),await oe()})},B=l.targets||[],H=l.skills||[],De=i.useMemo(()=>{const t=$==="all"?H:H.filter(d=>(d.targets||[]).includes($)),n=U.trim().toLowerCase();return n?t.filter(d=>(d.name||"").toLowerCase().includes(n)||(d.directory||"").toLowerCase().includes(n)||(d.description||"").toLowerCase().includes(n)):t},[H,$,U]),Ya=$!=="all",J=i.useMemo(()=>Q&&H.find(t=>(t.id||t.directory)===Q)||null,[H,Q]),Ja=i.useCallback(()=>{K("all"),E("")},[]),Za=i.useCallback(t=>{te(n=>{const d=t?.id||t?.directory||null;return n===d?null:d})},[]),et=i.useCallback(()=>te(null),[]),at=i.useCallback(t=>{const n=Xe(t).toLowerCase(),d=Na(t),p=(l.skills||[]).find(L=>{const S=Ca(L);return S.has(n)||d&&S.has(d)});p&&te(p.id||p.directory)},[l.skills]);i.useEffect(()=>{a!=="my"&&V.size&&se(new Set)},[a,V.size]),i.useEffect(()=>{Q&&!J&&te(null)},[J,Q]);const Me=i.useMemo(()=>{const t=o===T?u:o===O?je:c,d=o===T||o===O||o===xe?t:t.filter(S=>`${S.repoOwner}/${S.repoName}`===o),p=v.trim().toLowerCase();return(o===T||!p?d:d.filter(S=>(S.name||"").toLowerCase().includes(p)||(S.directory||"").toLowerCase().includes(p)||(S.description||"").toLowerCase().includes(p))).map(S=>{const ta=Xe(S).toLowerCase(),A=Na(S);return{...S,installed:Ee.has(ta)||A&&Ee.has(A)}})},[v,c,Ee,je,u,o]),tt=e.jsx("div",{className:"flex h-64 items-center justify-center",children:e.jsx(ee,{className:"h-8 w-8 animate-spin text-oai-gray-400","aria-hidden":!0})}),rt=e.jsxs("div",{className:"flex h-64 flex-col items-center justify-center gap-3 px-6 text-center",children:[e.jsx(ee,{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")})]}),Ve=(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 qe;if(we)qe=tt;else if(a==="my")qe=H.length?e.jsx(Rr,{items:De,totalCount:H.length,targets:B,agentOptions:B,agentFilter:$,onAgentFilter:K,anyFilter:Ya,onClearFilters:Ja,searchQuery:C,onSearchQuery:E,searchPlaceholder:r("skills.my.placeholder"),selectedId:Q,onSelect:Za,onToggleTarget:Y,busyKey:z,updates:I,selectedIds:V,onToggleSelect:Ze,onClearSelection:Be,onBulkSync:Te,onBulkRemove:ea}):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:[B.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:[...B,...B].map((t,n)=>e.jsx("span",{className:"shrink-0 px-3",children:e.jsx(be,{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:[...B,...B].map((t,n)=>e.jsx("span",{className:"shrink-0 px-3",children:e.jsx(be,{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(W,{type:"button",size:"sm",onClick:()=>s("browse"),children:r("skills.empty.my_cta")})]});else{const t=o===T,n=o===O,d=h.length===0&&!t&&!n,p=Pe&&!t&&!n||n&&pe,L=!t&&!n&&(v.trim()!==""||o!==xe),S=()=>{w(""),k(xe)},ta=!d&&!p&&(Me.length>0||L)?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:Me.length})}),L?e.jsxs("button",{type:"button",onClick:S,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(Se,{className:"h-3 w-3","aria-hidden":!0}),r("skills.filter.clear")]}):null]}):null;let A;d?A=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")})}):p?A=rt:t&&N.trim().length<2?A=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")}):Me.length?A=e.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",children:Me.map(Oe=>e.jsx("div",{style:Lr,children:e.jsx(Ir,{skill:Oe,installed:!!Oe.installed,installing:z===He(Oe),allTargets:B,defaultTargets:sa,onInstall:Je,onManage:at})},Oe.id||Oe.key))}):L?A=Ve("skills.empty.no_match",e.jsx(W,{type:"button",variant:"secondary",size:"sm",onClick:S,children:r("skills.filter.clear")})):t?A=Ve("skills.empty.search"):n?A=Ve("skills.empty.popular"):A=Ve("skills.empty.browse");const st=d||j?e.jsx("div",{className:"mb-5",children:e.jsx(Er,{repos:h,repoInput:F,onRepoInput:ge,busyKey:z,onAdd:ue,onRemove:me})}):null,nt=!j&&!t&&!n&&h.length<=1&&Me.length>0?e.jsx(ar,{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:()=>ae(!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;qe=e.jsxs(e.Fragment,{children:[st,ta,A,nt]})}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(W,{type:"button",variant:"secondary",size:"sm",onClick:Ye,disabled:we||Pe||pe,children:[e.jsx(Rt,{className:Z("mr-1.5 h-3.5 w-3.5",(we||Pe||pe)&&"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":a===t,onClick:()=>s(t),className:Z("-mb-px border-b-2 pb-2 text-sm font-medium transition-colors",a===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))}),ze?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:ze}):null,a==="browse"?e.jsxs("div",{className:"mb-5 flex flex-col gap-3 sm:flex-row sm:items-center",children:[e.jsx("div",{role:"tablist","aria-label":r("skills.source.label"),className:"inline-flex h-10 shrink-0 items-center rounded-md border border-oai-gray-200 bg-oai-white p-1 dark:border-oai-gray-800 dark:bg-oai-gray-900",children:[["repo",r("skills.mode.repo"),o!==T&&o!==O],["popular",r("skills.mode.popular"),o===O],["skillssh",r("skills.mode.skillssh"),o===T]].map(([t,n,d])=>e.jsxs("button",{type:"button",role:"tab","aria-selected":d,onClick:()=>{t==="skillssh"?k(T):t==="popular"?k(O):(o===T||o===O)&&k(xe)},className:Z("inline-flex items-center gap-1.5 rounded px-3 py-1 text-sm font-medium transition-colors",d?"bg-oai-gray-100 text-oai-black dark:bg-oai-gray-700 dark:text-white":"text-oai-gray-500 hover:text-oai-gray-800 dark:text-oai-gray-400 dark:hover:text-oai-gray-200"),children:[t==="popular"?e.jsx(Gt,{className:"h-3.5 w-3.5","aria-hidden":!0}):null,n]},t))}),o!==T&&o!==O?e.jsxs(La,{value:o,onValueChange:k,children:[e.jsxs(Ia,{"aria-label":r("skills.source.label"),className:"inline-flex h-10 w-44 shrink-0 items-center justify-between gap-2 rounded-md border border-oai-gray-200 bg-oai-white px-3 text-sm 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(Ea,{children:t=>t===xe?r("skills.source.all"):t}),e.jsx(Va,{className:"text-oai-gray-400",children:e.jsx(ma,{className:"h-4 w-4","aria-hidden":!0})})]}),e.jsx($a,{children:e.jsx(Ba,{sideOffset:4,alignItemWithTrigger:!1,className:"z-[60]",children:e.jsxs(Ta,{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(We,{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(Ge,{children:r("skills.source.all")}),e.jsx(Qe,{children:e.jsx(_e,{className:"h-3.5 w-3.5","aria-hidden":!0})})]}),h.map(t=>{const n=`${t.owner}/${t.name}`;return e.jsxs(We,{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(Ge,{children:n}),e.jsx(Qe,{children:e.jsx(_e,{className:"h-3.5 w-3.5","aria-hidden":!0})})]},n)})]})})})]}):null,e.jsxs("div",{className:"relative flex-1",children:[e.jsx(ia,{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(ga,{type:"search",value:N,onChange:t=>w(t.target.value),onKeyDown:t=>{t.key==="Enter"&&o===T&&M()},"aria-label":r("skills.action.search_aria"),placeholder:o===T?r("skills.browse.placeholder_skillssh"):o===O?r("skills.browse.placeholder_popular"):o===xe?r("skills.browse.placeholder_all"):r("skills.browse.placeholder_repo",{repo:o}),className:"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"})]}),o===T?e.jsxs(W,{type:"button",onClick:M,disabled:N.trim().length<2||z==="search",className:"focus:!ring-oai-gray-400/30",children:[z==="search"?e.jsx(ee,{className:"mr-1.5 h-4 w-4 animate-spin","aria-hidden":!0}):e.jsx(ia,{className:"mr-1.5 h-4 w-4","aria-hidden":!0}),r("skills.action.search")]}):o===O?null:e.jsxs(W,{type:"button",variant:"secondary",size:"sm",onClick:()=>ae(t=>!t),"aria-expanded":j,className:"!h-10 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(Ka,{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:h.length})]})]}):null,qe,e.jsx(yr,{skill:J,targets:B,busyKey:z,usage:J&&(R[String(J.directory||"").toLowerCase()]||R[String(J.name||"").toLowerCase()])||null,hasUpdate:!!(J?.id&&I?.[J.id]),updating:J?z===He(J):!1,onUpdate:f,onClose:et,onToggleTarget:Y,onRemove:$e})]})}),e.jsx(va,{open:!!re,title:r("skills.confirm.remove_title",{name:re?.name||re?.directory||""}),description:re?re.managed?r("skills.confirm.remove_managed"):r("skills.confirm.remove_local"):"",confirmLabel:r("skills.action.remove"),cancelLabel:r("shared.action.cancel"),destructive:!0,busy:z===Sa(re||{}),onCancel:()=>X(null),onConfirm:ye}),e.jsx(va,{open:!!ve,title:r("skills.confirm.bulk_remove_title",{count:ve?.length||0}),description:r("skills.confirm.bulk_remove_desc"),confirmLabel:r("skills.action.remove"),cancelLabel:r("shared.action.cancel"),destructive:!0,busy:z==="batch",onCancel:()=>P(null),onConfirm:aa})]})}export{Yr as SkillsPage};
@@ -0,0 +1,19 @@
1
+ import{k as or,r as O,aP as sr,y as ir,aI as lr,bF as cr,F as ur,as as dr,cN as Ot,dJ as fr,dK as hr,dL as mr,dM as yr,cR as gr,cS as br,cT as pr,cX as an,cY as on,R as b,j as f,B as Pt,c as L,ah as kr,af as sn,X as wr,b as pe,w as xr,x as vr}from"./__vite-browser-external-Eoyj4eG-.js";import{u as Mr}from"./DialogTitle-z86PHHyk.js";import{u as ln}from"./useCurrency-BtHtcsO5.js";import{u as cn}from"./useTokenFormat-BdD057ih.js";import{T as Dr,M as Nr}from"./terminal-DyicX7lG.js";import{P as Ct,a as Tt,b as _t,c as $t,d as Et,C as Wr}from"./PopoverPopup-DX7v1XfE.js";const Sr=[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]],Or=or("chevron-left",Sr),Nc=O.forwardRef(function(t,n){const{render:r,className:a,style:o,disabled:i=!1,nativeButton:s=!0,...l}=t,{store:c}=Mr(),u=c.useState("open"),{getButtonProps:d,buttonRef:h}=sr({disabled:i,native:s}),m={disabled:i};function y(v){u&&c.setOpen(!1,lr(cr,v.nativeEvent))}return ir("button",t,{state:m,ref:[n,h],props:[{onClick:y},l,d]})});function Pr(e,t){return e.length===t.length&&e.every((n,r)=>Object.is(n,t[r]))}function Cr(e){const t=O.useRef(e),n=O.useRef(0),r=O.useRef(!0);return O.useLayoutEffect(()=>{Pr(t.current,e)||(t.current=e,n.current+=1)}),O.useEffect(()=>(r.current=!0,()=>{r.current=!1,n.current+=1}),[]),O.useCallback(()=>{const a=++n.current,o=t.current;return()=>r.current&&n.current===a&&t.current===o},[])}const Tr=24;function _r({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:r,from:a,to:o,months:i=Tr,cacheKey:s,timeZone:l,tzOffsetMinutes:c,now:u,sharedRows:d,sharedRange:h,accountView:m=!1,accountAccessToken:y=null,accountRevision:v=0,accountViewResolving:p=!1,deviceId:M=null}={}){const k=!!(m&&y),w=k?"cloud":"local",[W,g]=O.useState([]),[x,N]=O.useState(()=>({from:a,to:o})),[Y,$]=O.useState("edge"),[F,j]=O.useState(null),[te,V]=O.useState(!1),[re,S]=O.useState(null),T=ur(),Q=dr(t),Z=!n&&!T,H=Array.isArray(d),X=h?.from||a,P=h?.to||o,B=O.useMemo(()=>r==="day"?"hourly":r==="total"?"monthly":"daily",[r]),ae=(()=>{if(!s)return null;const I=$r(e)||"default",ne=pr({timeZone:l,offsetMinutes:c}),Ce=M||"all";if(B==="hourly")return`tokentracker.trend.${s}.${w}.${I}.hourly.${o||a||"day"}.${ne}.${Ce}`;if(B==="monthly")return`tokentracker.trend.${s}.${w}.${I}.monthly.${i}.${o||"today"}.${ne}.${Ce}`;const Te=`${a||""}.${o||""}`;return`tokentracker.trend.${s}.${w}.${I}.daily.${Te}.${ne}.${Ce}`})(),ge=O.useCallback(()=>{if(!ae||typeof window>"u")return null;try{const I=window.localStorage.getItem(ae);if(!I)return null;const ne=JSON.parse(I);return!ne||!Array.isArray(ne.rows)?null:ne}catch{return null}},[ae]),he=O.useCallback(I=>{if(!(!ae||typeof window>"u"))try{window.localStorage.setItem(ae,JSON.stringify(I))}catch{}},[ae]),ce=O.useCallback(()=>{if(!(!ae||typeof window>"u"))try{window.localStorage.removeItem(ae)}catch{}},[ae]),we=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),We=Cr([e,B,a,o,i,w,t,y,v,M,l,c,H,d,X,P]),Se=O.useRef(w);O.useEffect(()=>{Se.current!==w&&(Se.current=w,g([]),N({from:a,to:o}),$("edge"),j(null),S(null),V(!0))},[w]);const xe=O.useCallback(async()=>{const I=We();if(H){g(Array.isArray(d)?d:[]),N({from:X,to:P}),$("shared"),j(null),V(!1),S(null);return}const ne=await Ot(t),Ce=k?await Ot(y):null;if(!I()||!ne&&!T&&!we&&!k)return;if(k&&!Ce){S("Your session expired. Please sign in again to view account data."),V(!1);return}const Te=k?Ce:ne,He=k?fr:hr,at=k?mr:yr,ot=k?gr:br;V(!0),S(null);try{let se;B==="hourly"?se=await He({baseUrl:e,accessToken:Te,day:o||a,device:M,timeZone:l,tzOffsetMinutes:c}):B==="monthly"?se=await at({baseUrl:e,accessToken:Te,months:i,to:o,device:M,timeZone:l,tzOffsetMinutes:c}):se=await ot({baseUrl:e,accessToken:Te,from:a,to:o,device:M,timeZone:l,tzOffsetMinutes:c});const J=se?.from||a||se?.day||null,le=se?.to||o||se?.day||null;let me=Array.isArray(se?.data)?se.data:[];B==="daily"?me=ct(me,J||a,le||o,{timeZone:l,offsetMinutes:c,now:u}):B==="hourly"?(me=ut(me,J||a||se?.day,{timeZone:l,offsetMinutes:c,now:u}),me=dt(me,{timeZone:l,offsetMinutes:c,now:u})):B==="monthly"&&(me=ft(me,{timeZone:l,offsetMinutes:c,now:u}));const Re=new Date().toISOString();if(!I())return;g(me),N({from:J,to:le}),$("edge"),j(Re),Z?he({rows:me,from:J,to:le,mode:B,fetchedAt:Re}):ce()}catch(se){if(!I())return;if(Z){const J=ge();if(J?.rows){let le=B==="daily"?ct(J.rows||[],J.from||a,J.to||o,{timeZone:l,offsetMinutes:c,now:u}):B==="hourly"?ut(J.rows||[],J.from||a||J.day||o,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(J.rows)?J.rows:[];B==="hourly"?le=dt(le,{timeZone:l,offsetMinutes:c,now:u}):B==="monthly"&&(le=ft(le,{timeZone:l,offsetMinutes:c,now:u})),g(le),N({from:J.from||a,to:J.to||o}),$("cache"),j(J.fetchedAt||null),S(null)}else{g([]),N({from:a,to:o}),$("edge"),j(null);const le=se;S(le?.message||String(le))}}else{g([]),N({from:a,to:o}),$("edge"),j(null);const J=se;S(J?.message||String(J))}}finally{I()&&V(!1)}},[t,e,a,T,n,Z,B,i,ge,Q,H,X,d,P,l,o,c,u,ce,he,we,k,y,v,M,We]);O.useEffect(()=>{if(p){V(!0);return}if(H){g(Array.isArray(d)?d:[]),N({from:X,to:P}),$("shared"),j(null),V(!1),S(null);return}if(!Q&&!n&&!T&&!we&&!k){g([]),N({from:a,to:o}),S(null),V(!1),$("edge"),j(null);return}if(!Z)ce(),g([]),N({from:a,to:o}),S(null),$("edge"),j(null);else{const I=ge();if(I?.rows){let ne=B==="daily"?ct(I.rows||[],I.from||a,I.to||o,{timeZone:l,offsetMinutes:c,now:u}):B==="hourly"?ut(I.rows||[],I.from||a||I.day||o,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(I.rows)?I.rows:[];B==="hourly"?ne=dt(ne,{timeZone:l,offsetMinutes:c,now:u}):B==="monthly"&&(ne=ft(ne,{timeZone:l,offsetMinutes:c,now:u})),g(ne),N({from:I.from||a,to:I.to||o}),$("cache"),j(I.fetchedAt||null),S(null)}else g([]),N({from:a,to:o}),$("edge"),j(null),S(null)}V(!0),xe()},[t,T,ge,xe,H,X,d,P,Q,n,Z,ce,we,p]);const ze=T?"mock":Y;return{rows:W,from:x.from||a,to:x.to||o,source:ze,fetchedAt:F,loading:te,error:re,refresh:xe}}function $r(e){try{return new URL(e).host}catch{return null}}function Ze(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const r=Number(n[0]),a=Number(n[1])-1,o=Number(n[2]);if(!Number.isFinite(r)||!Number.isFinite(a)||!Number.isFinite(o))return null;const i=new Date(Date.UTC(r,a,o));return Number.isFinite(i.getTime())&&on(i)===t?i:null}function un(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}const dn=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","cache_creation_input_tokens","output_tokens","reasoning_output_tokens","conversation_count"];function ct(e,t,n,{timeZone:r,offsetMinutes:a,now:o}={}){const i=Ze(t),s=Ze(n);if(!i||!s||s<i)return Array.isArray(e)?e:[];const l=o instanceof Date&&Number.isFinite(o.getTime())?o:new Date,c=an({timeZone:r,offsetMinutes:a,date:l}),u=Ze(c),d=u?u.getTime():l.getTime(),h=new Map;for(const y of e||[])y?.day&&h.set(y.day,y);const m=[];for(let y=i;y<=s;y=un(y,1)){const v=on(y),p=h.get(v),M=y.getTime()>d;if(p){m.push({...p,missing:!1,future:M});continue}m.push({day:v,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!M,future:M})}return m}function Er(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 Yr(e){if(!e||typeof e!="object")return!1;const t=e.models;return t&&typeof t=="object"&&Object.keys(t).length>0?!1:dn.every(n=>e[n]==null)}function Fr(e,t,n){const r={...e,hour:t,missing:!1,future:n};if(!n&&Yr(e))for(const a of dn)r[a]=0;return r}function jr(e,t){const n=t===30?48:24,r=[];for(let a=0;a<n;a++){const o=Math.floor(a*t/60),i=a*t%60;r.push(`${e}T${String(o).padStart(2,"0")}:${String(i).padStart(2,"0")}:00`)}return r}function Ar(e,t,{timeZone:n,offsetMinutes:r}={}){const a=jr(e,t);if(!n||typeof Intl>"u"||!Intl.DateTimeFormat)return a;const o=Ze(e);if(!o)return a;const i=o.getUTCFullYear()*1e4+(o.getUTCMonth()+1)*100+o.getUTCDate(),s=o.getTime()-2160*60*1e3,l=un(o,2).getTime()+2160*60*1e3,c=[],u=new Set;for(let d=s;d<=l;d+=1800*1e3){const h=tt({timeZone:n,offsetMinutes:r,now:new Date(d)});if(!h||h.dayNum!==i||t===60&&h.minute!==0||t===30&&h.minute!==0&&h.minute!==30)continue;const m=`${e}T${String(h.hour).padStart(2,"0")}:${String(h.minute).padStart(2,"0")}:00`;u.has(m)||(u.add(m),c.push(m))}return c.length>0?c:a}function ut(e,t,{timeZone:n,offsetMinutes:r,now:a}={}){if(!t)return Array.isArray(e)?e:[];const o=t.trim().slice(0,10),i=tt({timeZone:n,offsetMinutes:r,now:a}),s=i?i.dayNum:void 0;let l=!1;for(const m of e||[]){const y=m?.hour||m?.label||"",v=et(y,s);if(v&&v.slot%2!==0){l=!0;break}}const c=l?30:60,u=new Map;for(const m of e||[]){const y=m?.hour||m?.label||"",v=et(y,s);v&&u.set(v.slot,m)}const d=[],h=Ar(o,c,{timeZone:n,offsetMinutes:r});for(let m=0;m<h.length;m++){const y=h[m],v=et(y,s),p=v?v.slot:l?m:m*2,M=u.get(p);let k=!1;if(i){const w=i.year*1e4+i.month*100+i.day,W=v?.dayNum??Number(o.replace(/-/g,""));if(W>w)k=!0;else if(W===w){const g=i.hour*2+(i.minute>=30?1:0);k=p>g}}M?d.push(Fr(M,y,k)):d.push(Er(y,k))}return d}function dt(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=tt({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.hour||o?.label||"",s=et(i,a.dayNum);if(!s)return{...o,future:!1};const l=s.dayNum!==null&&s.dayNum>a.dayNum||(s.dayNum===null||s.dayNum===a.dayNum)&&s.slot>a.slot;return{...o,future:!!l}}):e}function ft(e,{timeZone:t,offsetMinutes:n,now:r}={}){if(!Array.isArray(e))return[];const a=tt({timeZone:t,offsetMinutes:n,now:r});return a?e.map(o=>{const i=o?.month||o?.label||"",s=Br(i);if(!s)return{...o,future:!1};const l=s.year>a.year||s.year===a.year&&s.month>a.month;return{...o,future:l}}):e}function tt({timeZone:e,offsetMinutes:t,now:n}={}){const r=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const h=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(r).reduce((k,w)=>(w.type&&w.value&&(k[w.type]=w.value),k),{}),m=Number(h.year),y=Number(h.month),v=Number(h.day),p=Number(h.hour),M=Number(h.minute);if(Number.isFinite(m)&&Number.isFinite(y)&&Number.isFinite(v)&&Number.isFinite(p)&&Number.isFinite(M)){const k=p*2+(M>=30?1:0);return{year:m,month:y,day:v,hour:p,minute:M,dayNum:m*1e4+y*100+v,slot:k}}}catch{}if(Number.isFinite(t)){const u=new Date(r.getTime()+t*60*1e3),d=u.getUTCFullYear(),h=u.getUTCMonth()+1,m=u.getUTCDate(),y=u.getUTCHours(),v=u.getUTCMinutes(),p=y*2+(v>=30?1:0);return{year:d,month:h,day:m,hour:y,minute:v,dayNum:d*1e4+h*100+m,slot:p}}const a=r.getFullYear(),o=r.getMonth()+1,i=r.getDate(),s=r.getHours(),l=r.getMinutes(),c=s*2+(l>=30?1:0);return{year:a,month:o,day:i,hour:s,minute:l,dayNum:a*1e4+o*100+i,slot:c}}function et(e,t){if(!e)return null;const n=String(e).trim();if(n.includes("T")){const[r,a]=n.split("T");if(!r||!a)return null;const o=r.split("-");if(o.length!==3)return null;const i=Number(o[0]),s=Number(o[1]),l=Number(o[2]);if(!Number.isFinite(i)||!Number.isFinite(s)||!Number.isFinite(l))return null;const c=a.split(":"),u=Number(c[0]),d=Number(c[1]);if(!Number.isFinite(u)||u<0||u>23||!Number.isFinite(d)||d<0||d>59)return null;const h=u*2+(d>=30?1:0);return{dayNum:i*1e4+s*100+l,slot:h}}else{let r=NaN,a=0;if(/^\d{1,2}$/.test(n))r=Number(n);else if(/^\d{1,2}:\d{2}(:\d{2})?$/.test(n)){const i=n.split(":");r=Number(i[0]),a=Number(i[1])}if(!Number.isFinite(r)||r<0||r>23||!Number.isFinite(a)||a<0||a>59)return null;const o=r*2+(a>=30?1:0);return{dayNum:t||null,slot:o}}}function Br(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const r=Number(n[0]),a=Number(n[1]);return!Number.isFinite(r)||!Number.isFinite(a)||a<1||a>12?null:{year:r,month:a}}function Ir(e){return e==="day"?"hourly":e==="total"?"monthly":"daily"}function zr(e){return!!e&&!e.missing&&!e.future}function Hr(e){const t=e?.billable_total_tokens??e?.total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function Rr(e){const t=e?.total_tokens??e?.billable_total_tokens??e?.value,n=Number(t);return Number.isFinite(n)&&n>=0?n:0}function qr(e){const t=Array.isArray(e)?e.filter(zr):[];let n=0,r=0,a=0,o=0,i=!1,s=0,l=-1,c=null;for(const u of t){const d=Rr(u),h=Hr(u);n+=d,r+=h;const m=Number(u?.conversation_count);Number.isFinite(m)&&m>0&&(a+=m);const y=Number(u?.total_cost_usd);Number.isFinite(y)&&(i=!0,o+=y),h>0&&(s+=1),h>l&&(l=h,c=u)}return{totalTokens:n,billableTokens:r,conversationCount:a,totalCostUsd:i?o:null,bucketCount:t.length,activeBuckets:s,peak:c&&l>0?{value:l,label:c.hour||c.day||c.month||""}:null}}function Yt(e){return String(e).padStart(2,"0")}function Xr(e,t){if(!e)return"";if(t==="hourly"){const n=String(e.hour||e.label||""),r=/^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2})/.exec(n);if(!r)return n;const[,a,o,i]=r,l=Number(o)*60+Number(i)+30,c=Math.floor(l/60)%24,u=l%60;return`${a} ${o}:${i}–${Yt(c)}:${Yt(u)}`}return String(t==="monthly"?e.month||e.label||"":e.day||e.label||"")}function Ur(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 Gr(e,t){if(!e)return"";if(t==="hourly"){const a=/T(\d{2}:\d{2})/.exec(String(e.hour||e.label||""));return a?a[1]:""}if(t==="monthly")return String(e.month||e.label||"");const n=String(e.day||e.label||""),r=/^\d{4}-(\d{2}-\d{2})$/.exec(n);return r?r[1]:n}function Lr(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const Vr={},qe={};function Fe(e,t){try{const r=(Vr[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];return r in qe?qe[r]:Ft(r,r.split(":"))}catch{if(e in qe)return qe[e];const n=e?.match(Qr);return n?Ft(e,n.slice(1)):NaN}}const Qr=/([+-]\d\d):?(\d\d)?/;function Ft(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return qe[e]=n*60+r>0?n*60+r+a:n*60-r-a}class Me extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(Fe(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),fn(this),bt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new Me(...n,t):new Me(Date.now(),t)}withTimeZone(t){return new Me(+this,t)}getTimezoneOffset(){const t=-Fe(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),bt(this),+this}[Symbol.for("constructDateFrom")](t){return new Me(+new Date(t),this.timeZone)}}const jt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!jt.test(e))return;const t=e.replace(jt,"$1UTC");Me.prototype[t]&&(e.startsWith("get")?Me.prototype[e]=function(){return this.internal[t]()}:(Me.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Kr(this),+this},Me.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),bt(this),+this}))});function bt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Fe(e.timeZone,e)*60))}function Kr(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()),fn(e)}function fn(e){const t=Fe(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),o=-new Date(+r).getTimezoneOffset(),i=a-o,s=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&s&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);const l=a-n;l&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+l);const c=new Date(+e);c.setUTCSeconds(0);const u=a>0?c.getSeconds():(c.getSeconds()-60)%60,d=Math.round(-(Fe(e.timeZone,e)*60))%60;(d||u)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+d),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+d+u));const h=Fe(e.timeZone,e),m=h>0?Math.floor(h):Math.ceil(h),v=-new Date(+e).getTimezoneOffset()-m,p=m!==n,M=v-l;if(p&&M){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+M);const k=Fe(e.timeZone,e),w=k>0?Math.floor(k):Math.ceil(k),W=m-w;W&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+W),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+W))}}class oe extends Me{static tz(t,...n){return n.length?new oe(...n,t):new oe(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t?.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${Lr(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:n?.timeZone||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new oe(+this,t)}[Symbol.for("constructDateFrom")](t){return new oe(+new Date(t),this.timeZone)}}const hn=6048e5,Jr=864e5,At=Symbol.for("constructDateFrom");function ee(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&At in e?e[At](t):e instanceof Date?new e.constructor(t):new Date(t)}function q(e,t){return ee(t||e,e)}function mn(e,t,n){const r=q(e,n?.in);return isNaN(t)?ee(e,NaN):(t&&r.setDate(r.getDate()+t),r)}function yn(e,t,n){const r=q(e,n?.in);if(isNaN(t))return ee(e,NaN);if(!t)return r;const a=r.getDate(),o=ee(e,r.getTime());o.setMonth(r.getMonth()+t+1,0);const i=o.getDate();return a>=i?o:(r.setFullYear(o.getFullYear(),o.getMonth(),a),r)}let Zr={};function Ge(){return Zr}function Ee(e,t){const n=Ge(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=q(e,t?.in),o=a.getDay(),i=(o<r?7:0)+o-r;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function Xe(e,t){return Ee(e,{...t,weekStartsOn:1})}function gn(e,t){const n=q(e,t?.in),r=n.getFullYear(),a=ee(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const o=Xe(a),i=ee(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const s=Xe(i);return n.getTime()>=o.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Bt(e){const t=q(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function je(e,...t){const n=ee.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function Ue(e,t){const n=q(e,t?.in);return n.setHours(0,0,0,0),n}function kt(e,t,n){const[r,a]=je(n?.in,e,t),o=Ue(r),i=Ue(a),s=+o-Bt(o),l=+i-Bt(i);return Math.round((s-l)/Jr)}function ea(e,t){const n=gn(e,t),r=ee(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),Xe(r)}function ta(e,t,n){return mn(e,t*7,n)}function na(e,t,n){return yn(e,t*12,n)}function ra(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=ee.bind(null,a));const o=q(a,r);(!n||n<o||isNaN(+o))&&(n=o)}),ee(r,n||NaN)}function aa(e,t){let n,r=t?.in;return e.forEach(a=>{!r&&typeof a=="object"&&(r=ee.bind(null,a));const o=q(a,r);(!n||n>o||isNaN(+o))&&(n=o)}),ee(r,n||NaN)}function oa(e,t,n){const[r,a]=je(n?.in,e,t);return+Ue(r)==+Ue(a)}function bn(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function sa(e){return!(!bn(e)&&typeof e!="number"||isNaN(+q(e)))}function pn(e,t,n){const[r,a]=je(n?.in,e,t),o=r.getFullYear()-a.getFullYear(),i=r.getMonth()-a.getMonth();return o*12+i}function ia(e,t){const n=q(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function kn(e,t){const[n,r]=je(e,t.start,t.end);return{start:n,end:r}}function la(e,t){const{start:n,end:r}=kn(t?.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setDate(1);let s=1;const l=[];for(;+i<=o;)l.push(ee(n,i)),i.setMonth(i.getMonth()+s);return a?l.reverse():l}function ca(e,t){const n=q(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function ua(e,t){const n=q(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function wn(e,t){const n=q(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function da(e,t){const{start:n,end:r}=kn(t?.in,e);let a=+n>+r;const o=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0),i.setMonth(0,1);let s=1;const l=[];for(;+i<=o;)l.push(ee(n,i)),i.setFullYear(i.getFullYear()+s);return a?l.reverse():l}function xn(e,t){const n=Ge(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,a=q(e,t?.in),o=a.getDay(),i=(o<r?-7:0)+6-(o-r);return a.setDate(a.getDate()+i),a.setHours(23,59,59,999),a}function fa(e,t){return xn(e,{...t,weekStartsOn:1})}const ha={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},ma=(e,t,n)=>{let r;const a=ha[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function ie(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const ya={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},ga={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ba={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},pa={date:ie({formats:ya,defaultWidth:"full"}),time:ie({formats:ga,defaultWidth:"full"}),dateTime:ie({formats:ba,defaultWidth:"full"})},ka={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},wa=(e,t,n,r)=>ka[e];function U(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,s=n?.width?String(n.width):i;a=e.formattingValues[s]||e.formattingValues[i]}else{const i=e.defaultWidth,s=n?.width?String(n.width):e.defaultWidth;a=e.values[s]||e.values[i]}const o=e.argumentCallback?e.argumentCallback(t):t;return a[o]}}const xa={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},va={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Ma={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"]},Da={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"]},Na={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"}},Wa={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Sa=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Oa={ordinalNumber:Sa,era:U({values:xa,defaultWidth:"wide"}),quarter:U({values:va,defaultWidth:"wide",argumentCallback:e=>e-1}),month:U({values:Ma,defaultWidth:"wide"}),day:U({values:Da,defaultWidth:"wide"}),dayPeriod:U({values:Na,defaultWidth:"wide",formattingValues:Wa,defaultFormattingWidth:"wide"})};function G(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(a);if(!o)return null;const i=o[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?Ca(s,d=>d.test(i)):Pa(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 Pa(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Ca(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Le(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],o=t.match(e.parsePattern);if(!o)return null;let i=e.valueCallback?e.valueCallback(o[0]):o[0];i=n.valueCallback?n.valueCallback(i):i;const s=t.slice(a.length);return{value:i,rest:s}}}const Ta=/^(\d+)(th|st|nd|rd)?/i,_a=/\d+/i,$a={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Ea={any:[/^b/i,/^(a|c)/i]},Ya={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Fa={any:[/1/i,/2/i,/3/i,/4/i]},ja={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},Aa={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]},Ba={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Ia={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},za={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},Ha={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}},Ra={ordinalNumber:Le({matchPattern:Ta,parsePattern:_a,valueCallback:e=>parseInt(e,10)}),era:G({matchPatterns:$a,defaultMatchWidth:"wide",parsePatterns:Ea,defaultParseWidth:"any"}),quarter:G({matchPatterns:Ya,defaultMatchWidth:"wide",parsePatterns:Fa,defaultParseWidth:"any",valueCallback:e=>e+1}),month:G({matchPatterns:ja,defaultMatchWidth:"wide",parsePatterns:Aa,defaultParseWidth:"any"}),day:G({matchPatterns:Ba,defaultMatchWidth:"wide",parsePatterns:Ia,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:za,defaultMatchWidth:"any",parsePatterns:Ha,defaultParseWidth:"any"})},$e={code:"en-US",formatDistance:ma,formatLong:pa,formatRelative:wa,localize:Oa,match:Ra,options:{weekStartsOn:0,firstWeekContainsDate:1}};function qa(e,t){const n=q(e,t?.in);return kt(n,wn(n))+1}function wt(e,t){const n=q(e,t?.in),r=+Xe(n)-+ea(n);return Math.round(r/hn)+1}function vn(e,t){const n=q(e,t?.in),r=n.getFullYear(),a=Ge(),o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=ee(t?.in||e,0);i.setFullYear(r+1,0,o),i.setHours(0,0,0,0);const s=Ee(i,t),l=ee(t?.in||e,0);l.setFullYear(r,0,o),l.setHours(0,0,0,0);const c=Ee(l,t);return+n>=+s?r+1:+n>=+c?r:r-1}function Xa(e,t){const n=Ge(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,a=vn(e,t),o=ee(t?.in||e,0);return o.setFullYear(a,0,r),o.setHours(0,0,0,0),Ee(o,t)}function xt(e,t){const n=q(e,t?.in),r=+Ee(n,t)-+Xa(n,t);return Math.round(r/hn)+1}function R(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const _e={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return R(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):R(n+1,2)},d(e,t){return R(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(e,t){return R(e.getHours()%12||12,t.length)},H(e,t){return R(e.getHours(),t.length)},m(e,t){return R(e.getMinutes(),t.length)},s(e,t){return R(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return R(a,t.length)}},Ae={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},It={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return _e.y(e,t)},Y:function(e,t,n,r){const a=vn(e,r),o=a>0?a:1-a;if(t==="YY"){const i=o%100;return R(i,2)}return t==="Yo"?n.ordinalNumber(o,{unit:"year"}):R(o,t.length)},R:function(e,t){const n=gn(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 _e.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return R(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=xt(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):R(a,t.length)},I:function(e,t,n){const r=wt(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"}):_e.d(e,t)},D:function(e,t,n){const r=qa(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):R(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(o);case"ee":return R(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),o=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(o);case"cc":return R(o,t.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return R(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=Ae.noon:r===0?a=Ae.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=Ae.evening:r>=12?a=Ae.afternoon:r>=4?a=Ae.morning:a=Ae.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return _e.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):_e.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"}):_e.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):_e.s(e,t)},S:function(e,t){return _e.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return Ht(r);case"XXXX":case"XX":return Ye(r);default:return Ye(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return Ht(r);case"xxxx":case"xx":return Ye(r);default:return Ye(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+zt(r,":");default:return"GMT"+Ye(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+zt(r,":");default:return"GMT"+Ye(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return R(r,t.length)},T:function(e,t,n){return R(+e,t.length)}};function zt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),o=r%60;return o===0?n+String(a):n+String(a)+t+R(o,2)}function Ht(e,t){return e%60===0?(e>0?"-":"+")+R(Math.abs(e)/60,2):Ye(e,t)}function Ye(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=R(Math.trunc(r/60),2),o=R(r%60,2);return n+a+t+o}const Rt=(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"})}},Mn=(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"})}},Ua=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return Rt(e,t);let o;switch(r){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;default:o=t.dateTime({width:"full"});break}return o.replace("{{date}}",Rt(r,t)).replace("{{time}}",Mn(a,t))},Ga={p:Mn,P:Ua},La=/^D+$/,Va=/^Y+$/,Qa=["D","DD","YY","YYYY"];function Ka(e){return La.test(e)}function Ja(e){return Va.test(e)}function Za(e,t,n){const r=eo(e,t,n);if(console.warn(r),Qa.includes(e))throw new RangeError(r)}function eo(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 to=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,no=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ro=/^'([^]*?)'?$/,ao=/''/g,oo=/[a-zA-Z]/;function De(e,t,n){const r=Ge(),a=n?.locale??r.locale??$e,o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=q(e,n?.in);if(!sa(s))throw new RangeError("Invalid time value");let l=t.match(no).map(u=>{const d=u[0];if(d==="p"||d==="P"){const h=Ga[d];return h(u,a.formatLong)}return u}).join("").match(to).map(u=>{if(u==="''")return{isToken:!1,value:"'"};const d=u[0];if(d==="'")return{isToken:!1,value:so(u)};if(It[d])return{isToken:!0,value:u};if(d.match(oo))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:u}});a.localize.preprocessor&&(l=a.localize.preprocessor(s,l));const c={firstWeekContainsDate:o,weekStartsOn:i,locale:a};return l.map(u=>{if(!u.isToken)return u.value;const d=u.value;(!n?.useAdditionalWeekYearTokens&&Ja(d)||!n?.useAdditionalDayOfYearTokens&&Ka(d))&&Za(d,t,String(e));const h=It[d[0]];return h(s,d,a.localize,c)}).join("")}function so(e){const t=e.match(ro);return t?t[1].replace(ao,"'"):e}function io(e,t){const n=q(e,t?.in),r=n.getFullYear(),a=n.getMonth(),o=ee(n,0);return o.setFullYear(r,a+1,0),o.setHours(0,0,0,0),o.getDate()}function lo(e,t){return q(e,t?.in).getMonth()}function co(e,t){return q(e,t?.in).getFullYear()}function uo(e,t){return+q(e)>+q(t)}function fo(e,t){return+q(e)<+q(t)}function ho(e,t,n){const[r,a]=je(n?.in,e,t);return+Ee(r,n)==+Ee(a,n)}function mo(e,t,n){const[r,a]=je(n?.in,e,t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function yo(e,t,n){const[r,a]=je(n?.in,e,t);return r.getFullYear()===a.getFullYear()}function go(e,t,n){const r=q(e,n?.in),a=r.getFullYear(),o=r.getDate(),i=ee(e,0);i.setFullYear(a,t,15),i.setHours(0,0,0,0);const s=io(i);return r.setMonth(t,Math.min(o,s)),r}function bo(e,t,n){const r=q(e,n?.in);return isNaN(+r)?ee(e,NaN):(r.setFullYear(t),r)}const qt=5,po=4;function ko(e,t){const n=t.startOfMonth(e),r=n.getDay()>0?n.getDay():7,a=t.addDays(e,-r+1),o=t.addDays(a,qt*7-1);return t.getMonth(e)===t.getMonth(o)?qt:po}function Dn(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 wo(e,t){const n=Dn(e,t),r=ko(e,t);return t.addDays(n,r*7-1)}const xo={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}}年近く"}},vo=(e,t,n)=>{n=n||{};let r;const a=xo[e];return typeof a=="string"?r=a:t===1?n.addSuffix&&a.oneWithSuffix?r=a.oneWithSuffix:r=a.one:n.addSuffix&&a.otherWithSuffix?r=a.otherWithSuffix.replace("{{count}}",String(t)):r=a.other.replace("{{count}}",String(t)),n.addSuffix?n.comparison&&n.comparison>0?r+"後":r+"前":r},Mo={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},Do={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},No={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},Wo={date:ie({formats:Mo,defaultWidth:"full"}),time:ie({formats:Do,defaultWidth:"full"}),dateTime:ie({formats:No,defaultWidth:"full"})},So={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},Oo=(e,t,n,r)=>So[e],Po={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},Co={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},To={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月"]},_o={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},$o={narrow:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},abbreviated:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"},wide:{am:"午前",pm:"午後",midnight:"深夜",noon:"正午",morning:"朝",afternoon:"午後",evening:"夜",night:"深夜"}},Eo={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:"深夜"}},Yo=(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}`}},Fo={ordinalNumber:Yo,era:U({values:Po,defaultWidth:"wide"}),quarter:U({values:Co,defaultWidth:"wide",argumentCallback:e=>Number(e)-1}),month:U({values:To,defaultWidth:"wide"}),day:U({values:_o,defaultWidth:"wide"}),dayPeriod:U({values:$o,defaultWidth:"wide",formattingValues:Eo,defaultFormattingWidth:"wide"})},jo=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,Ao=/\d+/i,Bo={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},Io={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},zo={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},Ho={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},Ro={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},qo={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},Xo={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},Uo={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},Go={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},Lo={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},Vo={ordinalNumber:Le({matchPattern:jo,parsePattern:Ao,valueCallback:function(e){return parseInt(e,10)}}),era:G({matchPatterns:Bo,defaultMatchWidth:"wide",parsePatterns:Io,defaultParseWidth:"any"}),quarter:G({matchPatterns:zo,defaultMatchWidth:"wide",parsePatterns:Ho,defaultParseWidth:"any",valueCallback:e=>e+1}),month:G({matchPatterns:Ro,defaultMatchWidth:"wide",parsePatterns:qo,defaultParseWidth:"any"}),day:G({matchPatterns:Xo,defaultMatchWidth:"wide",parsePatterns:Uo,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:Go,defaultMatchWidth:"any",parsePatterns:Lo,defaultParseWidth:"any"})},Qo={code:"ja",formatDistance:vo,formatLong:Wo,formatRelative:Oo,localize:Fo,match:Vo,options:{weekStartsOn:0,firstWeekContainsDate:1}},Ko={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}}년"}},Jo=(e,t,n)=>{let r;const a=Ko[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?r+" 후":r+" 전":r},Zo={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},es={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},ts={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},ns={date:ie({formats:Zo,defaultWidth:"full"}),time:ie({formats:es,defaultWidth:"full"}),dateTime:ie({formats:ts,defaultWidth:"full"})},rs={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},as=(e,t,n,r)=>rs[e],os={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},ss={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},is={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월"]},ls={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},cs={narrow:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},abbreviated:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"},wide:{am:"오전",pm:"오후",midnight:"자정",noon:"정오",morning:"아침",afternoon:"오후",evening:"저녁",night:"밤"}},us={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:"밤"}},ds=(e,t)=>{const n=Number(e);switch(String(t?.unit)){case"minute":case"second":return String(n);case"date":return n+"일";default:return n+"번째"}},fs={ordinalNumber:ds,era:U({values:os,defaultWidth:"wide"}),quarter:U({values:ss,defaultWidth:"wide",argumentCallback:e=>e-1}),month:U({values:is,defaultWidth:"wide"}),day:U({values:ls,defaultWidth:"wide"}),dayPeriod:U({values:cs,defaultWidth:"wide",formattingValues:us,defaultFormattingWidth:"wide"})},hs=/^(\d+)(일|번째)?/i,ms=/\d+/i,ys={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},gs={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},bs={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},ps={any:[/1/i,/2/i,/3/i,/4/i]},ks={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},ws={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},xs={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},vs={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},Ms={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},Ds={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},Ns={ordinalNumber:Le({matchPattern:hs,parsePattern:ms,valueCallback:e=>parseInt(e,10)}),era:G({matchPatterns:ys,defaultMatchWidth:"wide",parsePatterns:gs,defaultParseWidth:"any"}),quarter:G({matchPatterns:bs,defaultMatchWidth:"wide",parsePatterns:ps,defaultParseWidth:"any",valueCallback:e=>e+1}),month:G({matchPatterns:ks,defaultMatchWidth:"wide",parsePatterns:ws,defaultParseWidth:"any"}),day:G({matchPatterns:xs,defaultMatchWidth:"wide",parsePatterns:vs,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:Ms,defaultMatchWidth:"any",parsePatterns:Ds,defaultParseWidth:"any"})},Ws={code:"ko",formatDistance:Jo,formatLong:ns,formatRelative:as,localize:fs,match:Ns,options:{weekStartsOn:0,firstWeekContainsDate:1}},Ss={lessThanXSeconds:{one:"不到 1 秒",other:"不到 {{count}} 秒"},xSeconds:{one:"1 秒",other:"{{count}} 秒"},halfAMinute:"半分钟",lessThanXMinutes:{one:"不到 1 分钟",other:"不到 {{count}} 分钟"},xMinutes:{one:"1 分钟",other:"{{count}} 分钟"},xHours:{one:"1 小时",other:"{{count}} 小时"},aboutXHours:{one:"大约 1 小时",other:"大约 {{count}} 小时"},xDays:{one:"1 天",other:"{{count}} 天"},aboutXWeeks:{one:"大约 1 个星期",other:"大约 {{count}} 个星期"},xWeeks:{one:"1 个星期",other:"{{count}} 个星期"},aboutXMonths:{one:"大约 1 个月",other:"大约 {{count}} 个月"},xMonths:{one:"1 个月",other:"{{count}} 个月"},aboutXYears:{one:"大约 1 年",other:"大约 {{count}} 年"},xYears:{one:"1 年",other:"{{count}} 年"},overXYears:{one:"超过 1 年",other:"超过 {{count}} 年"},almostXYears:{one:"将近 1 年",other:"将近 {{count}} 年"}},Os=(e,t,n)=>{let r;const a=Ss[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"内":r+"前":r},Ps={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},Cs={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},Ts={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},_s={date:ie({formats:Ps,defaultWidth:"full"}),time:ie({formats:Cs,defaultWidth:"full"}),dateTime:ie({formats:Ts,defaultWidth:"full"})};function Xt(e,t,n){const r="eeee p";return ho(e,t,n)?r:e.getTime()>t.getTime()?"'下个'"+r:"'上个'"+r}const $s={lastWeek:Xt,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:Xt,other:"PP p"},Es=(e,t,n,r)=>{const a=$s[e];return typeof a=="function"?a(t,n,r):a},Ys={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},Fs={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},js={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},As={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},Bs={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},Is={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜间"}},zs=(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()}},Hs={ordinalNumber:zs,era:U({values:Ys,defaultWidth:"wide"}),quarter:U({values:Fs,defaultWidth:"wide",argumentCallback:e=>e-1}),month:U({values:js,defaultWidth:"wide"}),day:U({values:As,defaultWidth:"wide"}),dayPeriod:U({values:Bs,defaultWidth:"wide",formattingValues:Is,defaultFormattingWidth:"wide"})},Rs=/^(第\s*)?\d+(日|时|分|秒)?/i,qs=/\d+/i,Xs={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},Us={any:[/^(前)/i,/^(公元)/i]},Gs={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},Ls={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Vs={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Qs={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]},Ks={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Js={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Zs={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},ei={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},ti={ordinalNumber:Le({matchPattern:Rs,parsePattern:qs,valueCallback:e=>parseInt(e,10)}),era:G({matchPatterns:Xs,defaultMatchWidth:"wide",parsePatterns:Us,defaultParseWidth:"any"}),quarter:G({matchPatterns:Gs,defaultMatchWidth:"wide",parsePatterns:Ls,defaultParseWidth:"any",valueCallback:e=>e+1}),month:G({matchPatterns:Vs,defaultMatchWidth:"wide",parsePatterns:Qs,defaultParseWidth:"any"}),day:G({matchPatterns:Ks,defaultMatchWidth:"wide",parsePatterns:Js,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:Zs,defaultMatchWidth:"any",parsePatterns:ei,defaultParseWidth:"any"})},ni={code:"zh-CN",formatDistance:Os,formatLong:_s,formatRelative:Es,localize:Hs,match:ti,options:{weekStartsOn:1,firstWeekContainsDate:4}},ri={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}} 年"}},ai=(e,t,n)=>{let r;const a=ri[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+"內":r+"前":r},oi={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},si={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},ii={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},li={date:ie({formats:oi,defaultWidth:"full"}),time:ie({formats:si,defaultWidth:"full"}),dateTime:ie({formats:ii,defaultWidth:"full"})},ci={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},ui=(e,t,n,r)=>ci[e],di={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},fi={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},hi={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},mi={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},yi={narrow:{am:"上",pm:"下",midnight:"凌晨",noon:"午",morning:"早",afternoon:"下午",evening:"晚",night:"夜"},abbreviated:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜間"},wide:{am:"上午",pm:"下午",midnight:"凌晨",noon:"中午",morning:"早晨",afternoon:"中午",evening:"晚上",night:"夜間"}},gi={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:"夜間"}},bi=(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}},pi={ordinalNumber:bi,era:U({values:di,defaultWidth:"wide"}),quarter:U({values:fi,defaultWidth:"wide",argumentCallback:e=>e-1}),month:U({values:hi,defaultWidth:"wide"}),day:U({values:mi,defaultWidth:"wide"}),dayPeriod:U({values:yi,defaultWidth:"wide",formattingValues:gi,defaultFormattingWidth:"wide"})},ki=/^(第\s*)?\d+(日|時|分|秒)?/i,wi=/\d+/i,xi={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},vi={any:[/^(前)/i,/^(公元)/i]},Mi={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},Di={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},Ni={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一]?)/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i},Wi={narrow:[/^一/i,/^二/i,/^三/i,/^四/i,/^五/i,/^六/i,/^七/i,/^八/i,/^九/i,/^十(?!(一|二))/i,/^十一/i,/^十二/i],any:[/^(一|1(?!\d))/i,/^(二|2)/i,/^(三|3)/i,/^(四|4)/i,/^(五|5)/i,/^(六|6)/i,/^(七|7)/i,/^(八|8)/i,/^(九|9)/i,/^(十(?!(一|二))|10)/i,/^(十一|11)/i,/^(十二|12)/i]},Si={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},Oi={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},Pi={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},Ci={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},Ti={ordinalNumber:Le({matchPattern:ki,parsePattern:wi,valueCallback:e=>parseInt(e,10)}),era:G({matchPatterns:xi,defaultMatchWidth:"wide",parsePatterns:vi,defaultParseWidth:"any"}),quarter:G({matchPatterns:Mi,defaultMatchWidth:"wide",parsePatterns:Di,defaultParseWidth:"any",valueCallback:e=>e+1}),month:G({matchPatterns:Ni,defaultMatchWidth:"wide",parsePatterns:Wi,defaultParseWidth:"any"}),day:G({matchPatterns:Si,defaultMatchWidth:"wide",parsePatterns:Oi,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:Pi,defaultMatchWidth:"any",parsePatterns:Ci,defaultParseWidth:"any"})},_i={code:"zh-TW",formatDistance:ai,formatLong:li,formatRelative:ui,localize:pi,match:Ti,options:{weekStartsOn:1,firstWeekContainsDate:4}},Nn={...$e,labels:{labelDayButton:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,s)=>De(i,s,{locale:$e,...n});let o=a(e,"PPPP");return t.today&&(o=`Today, ${o}`),t.selected&&(o=`${o}, selected`),o},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>De(a,o,{locale:$e,...t}),r(e,"LLLL yyyy")},labelGridcell:(e,t,n,r)=>{let a;r&&typeof r.format=="function"?a=r.format.bind(r):a=(i,s)=>De(i,s,{locale:$e,...n});let o=a(e,"PPPP");return t?.today&&(o=`Today, ${o}`),o},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,n)=>{let r;return n&&typeof n.format=="function"?r=n.format.bind(n):r=(a,o)=>De(a,o,{locale:$e,...t}),r(e,"cccc")}}};class fe{constructor(t,n){this.Date=Date,this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?oe.tz(this.options.timeZone):new this.Date,this.newDate=(r,a,o)=>this.overrides?.newDate?this.overrides.newDate(r,a,o):this.options.timeZone?new oe(r,a,o,this.options.timeZone):new Date(r,a,o),this.addDays=(r,a)=>this.overrides?.addDays?this.overrides.addDays(r,a):mn(r,a),this.addMonths=(r,a)=>this.overrides?.addMonths?this.overrides.addMonths(r,a):yn(r,a),this.addWeeks=(r,a)=>this.overrides?.addWeeks?this.overrides.addWeeks(r,a):ta(r,a),this.addYears=(r,a)=>this.overrides?.addYears?this.overrides.addYears(r,a):na(r,a),this.differenceInCalendarDays=(r,a)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(r,a):kt(r,a),this.differenceInCalendarMonths=(r,a)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(r,a):pn(r,a),this.eachMonthOfInterval=r=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(r):la(r),this.eachYearOfInterval=r=>{const a=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(r):da(r),o=new Set(a.map(s=>this.getYear(s)));if(o.size===a.length)return a;const i=[];return o.forEach(s=>{i.push(new Date(s,0,1))}),i},this.endOfBroadcastWeek=r=>this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(r):wo(r,this),this.endOfISOWeek=r=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(r):fa(r),this.endOfMonth=r=>this.overrides?.endOfMonth?this.overrides.endOfMonth(r):ia(r),this.endOfWeek=(r,a)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(r,a):xn(r,this.options),this.endOfYear=r=>this.overrides?.endOfYear?this.overrides.endOfYear(r):ua(r),this.format=(r,a,o)=>{const i=this.overrides?.format?this.overrides.format(r,a,this.options):De(r,a,this.options);return this.options.numerals&&this.options.numerals!=="latn"?this.replaceDigits(i):i},this.getISOWeek=r=>this.overrides?.getISOWeek?this.overrides.getISOWeek(r):wt(r),this.getMonth=(r,a)=>this.overrides?.getMonth?this.overrides.getMonth(r,this.options):lo(r,this.options),this.getYear=(r,a)=>this.overrides?.getYear?this.overrides.getYear(r,this.options):co(r,this.options),this.getWeek=(r,a)=>this.overrides?.getWeek?this.overrides.getWeek(r,this.options):xt(r,this.options),this.isAfter=(r,a)=>this.overrides?.isAfter?this.overrides.isAfter(r,a):uo(r,a),this.isBefore=(r,a)=>this.overrides?.isBefore?this.overrides.isBefore(r,a):fo(r,a),this.isDate=r=>this.overrides?.isDate?this.overrides.isDate(r):bn(r),this.isSameDay=(r,a)=>this.overrides?.isSameDay?this.overrides.isSameDay(r,a):oa(r,a),this.isSameMonth=(r,a)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(r,a):mo(r,a),this.isSameYear=(r,a)=>this.overrides?.isSameYear?this.overrides.isSameYear(r,a):yo(r,a),this.max=r=>this.overrides?.max?this.overrides.max(r):ra(r),this.min=r=>this.overrides?.min?this.overrides.min(r):aa(r),this.setMonth=(r,a)=>this.overrides?.setMonth?this.overrides.setMonth(r,a):go(r,a),this.setYear=(r,a)=>this.overrides?.setYear?this.overrides.setYear(r,a):bo(r,a),this.startOfBroadcastWeek=(r,a)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(r,this):Dn(r,this),this.startOfDay=r=>this.overrides?.startOfDay?this.overrides.startOfDay(r):Ue(r),this.startOfISOWeek=r=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(r):Xe(r),this.startOfMonth=r=>this.overrides?.startOfMonth?this.overrides.startOfMonth(r):ca(r),this.startOfWeek=(r,a)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(r,this.options):Ee(r,this.options),this.startOfYear=r=>this.overrides?.startOfYear?this.overrides.startOfYear(r):wn(r),this.options={locale:Nn,...t},this.overrides=n}getDigitMap(){const{numerals:t="latn"}=this.options,n=new Intl.NumberFormat("en-US",{numberingSystem:t}),r={};for(let a=0;a<10;a++)r[a.toString()]=n.format(a);return r}replaceDigits(t){const n=this.getDigitMap();return t.replace(/\d/g,r=>n[r]||r)}formatNumber(t){return this.replaceDigits(t.toString())}getMonthYearOrder(){const t=this.options.locale?.code;return t&&fe.yearFirstLocales.has(t)?"year-first":"month-first"}formatMonthYear(t){const{locale:n,timeZone:r,numerals:a}=this.options,o=n?.code;if(o&&fe.yearFirstLocales.has(o))try{return new Intl.DateTimeFormat(o,{month:"long",year:"numeric",timeZone:r,numberingSystem:a}).format(t)}catch{}const i=this.getMonthYearOrder()==="year-first"?"y LLLL":"LLLL y";return this.format(t,i)}}fe.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);const Ne=new fe;class Wn{constructor(t,n,r=Ne){this.date=t,this.displayMonth=n,this.outside=!!(n&&!r.isSameMonth(t,n)),this.dateLib=r,this.isoDate=r.format(t,"yyyy-MM-dd"),this.displayMonthId=r.format(n,"yyyy-MM"),this.dateMonthId=r.format(t,"yyyy-MM")}isEqualTo(t){return this.dateLib.isSameDay(t.date,this.date)&&this.dateLib.isSameMonth(t.displayMonth,this.displayMonth)}}class $i{constructor(t,n){this.date=t,this.weeks=n}}class Ei{constructor(t,n){this.days=n,this.weekNumber=t}}function Yi(e){return b.createElement("button",{...e})}function Fi(e){return b.createElement("span",{...e})}function ji(e){const{size:t=24,orientation:n="left",className:r}=e;return b.createElement("svg",{className:r,width:t,height:t,viewBox:"0 0 24 24"},n==="up"&&b.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),n==="down"&&b.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),n==="left"&&b.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),n==="right"&&b.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function Ai(e){const{day:t,modifiers:n,...r}=e;return b.createElement("td",{...r})}function Bi(e){const{day:t,modifiers:n,...r}=e,a=b.useRef(null);return b.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),b.createElement("button",{ref:a,...r})}var D;(function(e){e.Root="root",e.Chevron="chevron",e.Day="day",e.DayButton="day_button",e.CaptionLabel="caption_label",e.Dropdowns="dropdowns",e.Dropdown="dropdown",e.DropdownRoot="dropdown_root",e.Footer="footer",e.MonthGrid="month_grid",e.MonthCaption="month_caption",e.MonthsDropdown="months_dropdown",e.Month="month",e.Months="months",e.Nav="nav",e.NextMonthButton="button_next",e.PreviousMonthButton="button_previous",e.Week="week",e.Weeks="weeks",e.Weekday="weekday",e.Weekdays="weekdays",e.WeekNumber="week_number",e.WeekNumberHeader="week_number_header",e.YearsDropdown="years_dropdown"})(D||(D={}));var K;(function(e){e.disabled="disabled",e.hidden="hidden",e.outside="outside",e.focused="focused",e.today="today"})(K||(K={}));var ke;(function(e){e.range_end="range_end",e.range_middle="range_middle",e.range_start="range_start",e.selected="selected"})(ke||(ke={}));var de;(function(e){e.weeks_before_enter="weeks_before_enter",e.weeks_before_exit="weeks_before_exit",e.weeks_after_enter="weeks_after_enter",e.weeks_after_exit="weeks_after_exit",e.caption_after_enter="caption_after_enter",e.caption_after_exit="caption_after_exit",e.caption_before_enter="caption_before_enter",e.caption_before_exit="caption_before_exit"})(de||(de={}));function Ii(e){const{options:t,className:n,components:r,classNames:a,...o}=e,i=[a[D.Dropdown],n].join(" "),s=t?.find(({value:l})=>l===o.value);return b.createElement("span",{"data-disabled":o.disabled,className:a[D.DropdownRoot]},b.createElement(r.Select,{className:i,...o},t?.map(({value:l,label:c,disabled:u})=>b.createElement(r.Option,{key:l,value:l,disabled:u},c))),b.createElement("span",{className:a[D.CaptionLabel],"aria-hidden":!0},s?.label,b.createElement(r.Chevron,{orientation:"down",size:18,className:a[D.Chevron]})))}function zi(e){return b.createElement("div",{...e})}function Hi(e){return b.createElement("div",{...e})}function Ri(e){const{calendarMonth:t,displayIndex:n,...r}=e;return b.createElement("div",{...r},e.children)}function qi(e){const{calendarMonth:t,displayIndex:n,...r}=e;return b.createElement("div",{...r})}function Xi(e){return b.createElement("table",{...e})}function Ui(e){return b.createElement("div",{...e})}const Sn=O.createContext(void 0);function Ve(){const e=O.useContext(Sn);if(e===void 0)throw new Error("useDayPicker() must be used within a custom component.");return e}function Gi(e){const{components:t}=Ve();return b.createElement(t.Dropdown,{...e})}function Li(e){const{onPreviousClick:t,onNextClick:n,previousMonth:r,nextMonth:a,...o}=e,{components:i,classNames:s,labels:{labelPrevious:l,labelNext:c}}=Ve(),u=O.useCallback(h=>{a&&n?.(h)},[a,n]),d=O.useCallback(h=>{r&&t?.(h)},[r,t]);return b.createElement("nav",{...o},b.createElement(i.PreviousMonthButton,{type:"button",className:s[D.PreviousMonthButton],tabIndex:r?void 0:-1,"aria-disabled":r?void 0:!0,"aria-label":l(r),onClick:d},b.createElement(i.Chevron,{disabled:r?void 0:!0,className:s[D.Chevron],orientation:"left"})),b.createElement(i.NextMonthButton,{type:"button",className:s[D.NextMonthButton],tabIndex:a?void 0:-1,"aria-disabled":a?void 0:!0,"aria-label":c(a),onClick:u},b.createElement(i.Chevron,{disabled:a?void 0:!0,orientation:"right",className:s[D.Chevron]})))}function Vi(e){const{components:t}=Ve();return b.createElement(t.Button,{...e})}function Qi(e){return b.createElement("option",{...e})}function Ki(e){const{components:t}=Ve();return b.createElement(t.Button,{...e})}function Ji(e){const{rootRef:t,...n}=e;return b.createElement("div",{...n,ref:t})}function Zi(e){return b.createElement("select",{...e})}function el(e){const{week:t,...n}=e;return b.createElement("tr",{...n})}function tl(e){return b.createElement("th",{...e})}function nl(e){return b.createElement("thead",{"aria-hidden":!0},b.createElement("tr",{...e}))}function rl(e){const{week:t,...n}=e;return b.createElement("th",{...n})}function al(e){return b.createElement("th",{...e})}function ol(e){return b.createElement("tbody",{...e})}function sl(e){const{components:t}=Ve();return b.createElement(t.Dropdown,{...e})}const il=Object.freeze(Object.defineProperty({__proto__:null,Button:Yi,CaptionLabel:Fi,Chevron:ji,Day:Ai,DayButton:Bi,Dropdown:Ii,DropdownNav:zi,Footer:Hi,Month:Ri,MonthCaption:qi,MonthGrid:Xi,Months:Ui,MonthsDropdown:Gi,Nav:Li,NextMonthButton:Vi,Option:Qi,PreviousMonthButton:Ki,Root:Ji,Select:Zi,Week:el,WeekNumber:rl,WeekNumberHeader:al,Weekday:tl,Weekdays:nl,Weeks:ol,YearsDropdown:sl},Symbol.toStringTag,{value:"Module"}));function Oe(e,t,n=!1,r=Ne){let{from:a,to:o}=e;const{differenceInCalendarDays:i,isSameDay:s}=r;return a&&o?(i(o,a)<0&&([a,o]=[o,a]),i(t,a)>=(n?1:0)&&i(o,t)>=(n?1:0)):!n&&o?s(o,t):!n&&a?s(a,t):!1}function vt(e){return!!(e&&typeof e=="object"&&"before"in e&&"after"in e)}function nt(e){return!!(e&&typeof e=="object"&&"from"in e)}function Mt(e){return!!(e&&typeof e=="object"&&"after"in e)}function Dt(e){return!!(e&&typeof e=="object"&&"before"in e)}function On(e){return!!(e&&typeof e=="object"&&"dayOfWeek"in e)}function Pn(e,t){return Array.isArray(e)&&e.every(t.isDate)}function Pe(e,t,n=Ne){const r=Array.isArray(t)?t:[t],{isSameDay:a,differenceInCalendarDays:o,isAfter:i}=n;return r.some(s=>{if(typeof s=="boolean")return s;if(n.isDate(s))return a(e,s);if(Pn(s,n))return s.some(l=>a(e,l));if(nt(s))return Oe(s,e,!1,n);if(On(s))return Array.isArray(s.dayOfWeek)?s.dayOfWeek.includes(e.getDay()):s.dayOfWeek===e.getDay();if(vt(s)){const l=o(s.before,e),c=o(s.after,e),u=l>0,d=c<0;return i(s.before,s.after)?d&&u:u||d}return Mt(s)?o(e,s.after)>0:Dt(s)?o(s.before,e)>0:typeof s=="function"?s(e):!1})}function ll(e,t,n,r,a){const{disabled:o,hidden:i,modifiers:s,showOutsideDays:l,broadcastCalendar:c,today:u=a.today()}=t,{isSameDay:d,isSameMonth:h,startOfMonth:m,isBefore:y,endOfMonth:v,isAfter:p}=a,M=n&&m(n),k=r&&v(r),w={[K.focused]:[],[K.outside]:[],[K.disabled]:[],[K.hidden]:[],[K.today]:[]},W={};for(const g of e){const{date:x,displayMonth:N}=g,Y=!!(N&&!h(x,N)),$=!!(M&&y(x,M)),F=!!(k&&p(x,k)),j=!!(o&&Pe(x,o,a)),te=!!(i&&Pe(x,i,a))||$||F||!c&&!l&&Y||c&&l===!1&&Y,V=d(x,u);Y&&w.outside.push(g),j&&w.disabled.push(g),te&&w.hidden.push(g),V&&w.today.push(g),s&&Object.keys(s).forEach(re=>{const S=s?.[re];S&&Pe(x,S,a)&&(W[re]?W[re].push(g):W[re]=[g])})}return g=>{const x={[K.focused]:!1,[K.disabled]:!1,[K.hidden]:!1,[K.outside]:!1,[K.today]:!1},N={};for(const Y in w){const $=w[Y];x[Y]=$.some(F=>F===g)}for(const Y in W)N[Y]=W[Y].some($=>$===g);return{...x,...N}}}function cl(e,t,n={}){return Object.entries(e).filter(([,a])=>a===!0).reduce((a,[o])=>(n[o]?a.push(n[o]):t[K[o]]?a.push(t[K[o]]):t[ke[o]]&&a.push(t[ke[o]]),a),[t[D.Day]])}function ul(e){return{...il,...e}}function dl(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 fl(){const e={};for(const t in D)e[D[t]]=`rdp-${D[t]}`;for(const t in K)e[K[t]]=`rdp-${K[t]}`;for(const t in ke)e[ke[t]]=`rdp-${ke[t]}`;for(const t in de)e[de[t]]=`rdp-${de[t]}`;return e}function Cn(e,t,n){return(n??new fe(t)).formatMonthYear(e)}const hl=Cn;function ml(e,t,n){return(n??new fe(t)).format(e,"d")}function yl(e,t=Ne){return t.format(e,"LLLL")}function gl(e,t,n){return(n??new fe(t)).format(e,"cccccc")}function bl(e,t=Ne){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function pl(){return""}function Tn(e,t=Ne){return t.format(e,"yyyy")}const kl=Tn,wl=Object.freeze(Object.defineProperty({__proto__:null,formatCaption:Cn,formatDay:ml,formatMonthCaption:hl,formatMonthDropdown:yl,formatWeekNumber:bl,formatWeekNumberHeader:pl,formatWeekdayName:gl,formatYearCaption:kl,formatYearDropdown:Tn},Symbol.toStringTag,{value:"Module"}));function xl(e){return e?.formatMonthCaption&&!e.formatCaption&&(e.formatCaption=e.formatMonthCaption),e?.formatYearCaption&&!e.formatYearDropdown&&(e.formatYearDropdown=e.formatYearCaption),{...wl,...e}}function Nt(e,t,n,r){let a=(r??new fe(n)).format(e,"PPPP");return t.today&&(a=`Today, ${a}`),t.selected&&(a=`${a}, selected`),a}const vl=Nt;function Wt(e,t,n){return(n??new fe(t)).formatMonthYear(e)}const Ml=Wt;function _n(e,t,n,r){let a=(r??new fe(n)).format(e,"PPPP");return t?.today&&(a=`Today, ${a}`),a}function $n(e){return"Choose the Month"}function En(){return""}const Dl="Go to the Next Month";function Yn(e,t){return Dl}function Fn(e){return"Go to the Previous Month"}function jn(e,t,n){return(n??new fe(t)).format(e,"cccc")}function An(e,t){return`Week ${e}`}function Bn(e){return"Week Number"}function In(e){return"Choose the Year"}const Nl=Object.freeze(Object.defineProperty({__proto__:null,labelCaption:Ml,labelDay:vl,labelDayButton:Nt,labelGrid:Wt,labelGridcell:_n,labelMonthDropdown:$n,labelNav:En,labelNext:Yn,labelPrevious:Fn,labelWeekNumber:An,labelWeekNumberHeader:Bn,labelWeekday:jn,labelYearDropdown:In},Symbol.toStringTag,{value:"Module"})),be=(e,t,n)=>t||(n?typeof n=="function"?n:(...r)=>n:e);function Wl(e,t){const n=t.locale?.labels??{};return{...Nl,...e??{},labelDayButton:be(Nt,e?.labelDayButton,n.labelDayButton),labelMonthDropdown:be($n,e?.labelMonthDropdown,n.labelMonthDropdown),labelNext:be(Yn,e?.labelNext,n.labelNext),labelPrevious:be(Fn,e?.labelPrevious,n.labelPrevious),labelWeekNumber:be(An,e?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:be(In,e?.labelYearDropdown,n.labelYearDropdown),labelGrid:be(Wt,e?.labelGrid,n.labelGrid),labelGridcell:be(_n,e?.labelGridcell,n.labelGridcell),labelNav:be(En,e?.labelNav,n.labelNav),labelWeekNumberHeader:be(Bn,e?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:be(jn,e?.labelWeekday,n.labelWeekday)}}function Sl(e,t,n,r,a){const{startOfMonth:o,startOfYear:i,endOfYear:s,eachMonthOfInterval:l,getMonth:c}=a;return l({start:i(e),end:s(e)}).map(h=>{const m=r.formatMonthDropdown(h,a),y=c(h),v=t&&h<o(t)||n&&h>o(n)||!1;return{value:y,label:m,disabled:v}})}function Ol(e,t={},n={}){let r={...t?.[D.Day]};return Object.entries(e).filter(([,a])=>a===!0).forEach(([a])=>{r={...r,...n?.[a]}}),r}function Pl(e,t,n,r){const a=r??e.today(),o=n?e.startOfBroadcastWeek(a,e):t?e.startOfISOWeek(a):e.startOfWeek(a),i=[];for(let s=0;s<7;s++){const l=e.addDays(o,s);i.push(l)}return i}function Cl(e,t,n,r,a=!1){if(!e||!t)return;const{startOfYear:o,endOfYear:i,eachYearOfInterval:s,getYear:l}=r,c=o(e),u=i(t),d=s({start:c,end:u});return a&&d.reverse(),d.map(h=>{const m=n.formatYearDropdown(h,r);return{value:l(h),label:m,disabled:!1}})}function Tl(e,t={}){const{weekStartsOn:n,locale:r}=t,a=n??r?.options?.weekStartsOn??0,o=s=>{const l=typeof s=="number"||typeof s=="string"?new Date(s):s;return new oe(l.getFullYear(),l.getMonth(),l.getDate(),12,0,0,e)},i=s=>{const l=o(s);return new Date(l.getFullYear(),l.getMonth(),l.getDate(),0,0,0,0)};return{today:()=>o(oe.tz(e)),newDate:(s,l,c)=>new oe(s,l,c,12,0,0,e),startOfDay:s=>o(s),startOfWeek:(s,l)=>{const c=o(s),u=l?.weekStartsOn??a,d=(c.getDay()-u+7)%7;return c.setDate(c.getDate()-d),c},startOfISOWeek:s=>{const l=o(s),c=(l.getDay()-1+7)%7;return l.setDate(l.getDate()-c),l},startOfMonth:s=>{const l=o(s);return l.setDate(1),l},startOfYear:s=>{const l=o(s);return l.setMonth(0,1),l},endOfWeek:(s,l)=>{const c=o(s),h=(((l?.weekStartsOn??a)+6)%7-c.getDay()+7)%7;return c.setDate(c.getDate()+h),c},endOfISOWeek:s=>{const l=o(s),c=(7-l.getDay())%7;return l.setDate(l.getDate()+c),l},endOfMonth:s=>{const l=o(s);return l.setMonth(l.getMonth()+1,0),l},endOfYear:s=>{const l=o(s);return l.setMonth(11,31),l},eachMonthOfInterval:s=>{const l=o(s.start),c=o(s.end),u=[],d=new oe(l.getFullYear(),l.getMonth(),1,12,0,0,e),h=c.getFullYear()*12+c.getMonth();for(;d.getFullYear()*12+d.getMonth()<=h;)u.push(new oe(d,e)),d.setMonth(d.getMonth()+1,1);return u},addDays:(s,l)=>{const c=o(s);return c.setDate(c.getDate()+l),c},addWeeks:(s,l)=>{const c=o(s);return c.setDate(c.getDate()+l*7),c},addMonths:(s,l)=>{const c=o(s);return c.setMonth(c.getMonth()+l),c},addYears:(s,l)=>{const c=o(s);return c.setFullYear(c.getFullYear()+l),c},eachYearOfInterval:s=>{const l=o(s.start),c=o(s.end),u=[],d=new oe(l.getFullYear(),0,1,12,0,0,e);for(;d.getFullYear()<=c.getFullYear();)u.push(new oe(d,e)),d.setFullYear(d.getFullYear()+1,0,1);return u},getWeek:(s,l)=>{const c=i(s);return xt(c,{weekStartsOn:l?.weekStartsOn??a,firstWeekContainsDate:l?.firstWeekContainsDate??r?.options?.firstWeekContainsDate??1})},getISOWeek:s=>{const l=i(s);return wt(l)},differenceInCalendarDays:(s,l)=>{const c=i(s),u=i(l);return kt(c,u)},differenceInCalendarMonths:(s,l)=>{const c=i(s),u=i(l);return pn(c,u)}}}const Qe=e=>e instanceof HTMLElement?e:null,ht=e=>[...e.querySelectorAll("[data-animated-month]")??[]],_l=e=>Qe(e.querySelector("[data-animated-month]")),mt=e=>Qe(e.querySelector("[data-animated-caption]")),yt=e=>Qe(e.querySelector("[data-animated-weeks]")),$l=e=>Qe(e.querySelector("[data-animated-nav]")),El=e=>Qe(e.querySelector("[data-animated-weekdays]"));function Yl(e,t,{classNames:n,months:r,focused:a,dateLib:o}){const i=O.useRef(null),s=O.useRef(r),l=O.useRef(!1);O.useLayoutEffect(()=>{const c=s.current;if(s.current=r,!t||!e.current||!(e.current instanceof HTMLElement)||r.length===0||c.length===0||r.length!==c.length)return;const u=o.isSameMonth(r[0].date,c[0].date),d=o.isAfter(r[0].date,c[0].date),h=d?n[de.caption_after_enter]:n[de.caption_before_enter],m=d?n[de.weeks_after_enter]:n[de.weeks_before_enter],y=i.current,v=e.current.cloneNode(!0);if(v instanceof HTMLElement?(ht(v).forEach(w=>{if(!(w instanceof HTMLElement))return;const W=_l(w);W&&w.contains(W)&&w.removeChild(W);const g=mt(w);g&&g.classList.remove(h);const x=yt(w);x&&x.classList.remove(m)}),i.current=v):i.current=null,l.current||u||a)return;const p=y instanceof HTMLElement?ht(y):[],M=ht(e.current);if(M?.every(k=>k instanceof HTMLElement)&&p&&p.every(k=>k instanceof HTMLElement)){l.current=!0,e.current.style.isolation="isolate";const k=$l(e.current);k&&(k.style.zIndex="1"),M.forEach((w,W)=>{const g=p[W];if(!g)return;w.style.position="relative",w.style.overflow="hidden";const x=mt(w);x&&x.classList.add(h);const N=yt(w);N&&N.classList.add(m);const Y=()=>{l.current=!1,e.current&&(e.current.style.isolation=""),k&&(k.style.zIndex=""),x&&x.classList.remove(h),N&&N.classList.remove(m),w.style.position="",w.style.overflow="",w.contains(g)&&w.removeChild(g)};g.style.pointerEvents="none",g.style.position="absolute",g.style.overflow="hidden",g.setAttribute("aria-hidden","true");const $=El(g);$&&($.style.opacity="0");const F=mt(g);F&&(F.classList.add(d?n[de.caption_before_exit]:n[de.caption_after_exit]),F.addEventListener("animationend",Y));const j=yt(g);j&&j.classList.add(d?n[de.weeks_before_exit]:n[de.weeks_after_exit]),w.insertBefore(g,w.firstChild)})}})}function Fl(e,t,n,r){const a=e[0],o=e[e.length-1],{ISOWeek:i,fixedWeeks:s,broadcastCalendar:l}=n??{},{addDays:c,differenceInCalendarDays:u,differenceInCalendarMonths:d,endOfBroadcastWeek:h,endOfISOWeek:m,endOfMonth:y,endOfWeek:v,isAfter:p,startOfBroadcastWeek:M,startOfISOWeek:k,startOfWeek:w}=r,W=l?M(a,r):i?k(a):w(a),g=l?h(o):i?m(y(o)):v(y(o)),x=t&&(l?h(t):i?m(t):v(t)),N=x&&p(g,x)?x:g,Y=u(N,W),$=d(o,a)+1,F=[];for(let V=0;V<=Y;V++){const re=c(W,V);F.push(re)}const te=(l?35:42)*$;if(s&&F.length<te){const V=te-F.length;for(let re=0;re<V;re++){const S=c(F[F.length-1],1);F.push(S)}}return F}function jl(e){const t=[];return e.reduce((n,r)=>{const a=r.weeks.reduce((o,i)=>o.concat(i.days.slice()),t.slice());return n.concat(a.slice())},t.slice())}function Al(e,t,n,r){const{numberOfMonths:a=1}=n,o=[];for(let i=0;i<a;i++){const s=r.addMonths(e,i);if(t&&s>t)break;o.push(s)}return o}function Ut(e,t,n,r){const{month:a,defaultMonth:o,today:i=r.today(),numberOfMonths:s=1}=e;let l=a||o||i;const{differenceInCalendarMonths:c,addMonths:u,startOfMonth:d}=r;if(n&&c(n,l)<s-1){const h=-1*(s-1);l=u(n,h)}return t&&c(l,t)<0&&(l=t),d(l)}function Bl(e,t,n,r){const{addDays:a,endOfBroadcastWeek:o,endOfISOWeek:i,endOfMonth:s,endOfWeek:l,getISOWeek:c,getWeek:u,startOfBroadcastWeek:d,startOfISOWeek:h,startOfWeek:m}=r,y=e.reduce((v,p)=>{const M=n.broadcastCalendar?d(p,r):n.ISOWeek?h(p):m(p),k=n.broadcastCalendar?o(p):n.ISOWeek?i(s(p)):l(s(p)),w=t.filter(N=>N>=M&&N<=k),W=n.broadcastCalendar?35:42;if(n.fixedWeeks&&w.length<W){const N=t.filter(Y=>{const $=W-w.length;return Y>k&&Y<=a(k,$)});w.push(...N)}const g=w.reduce((N,Y)=>{const $=n.ISOWeek?c(Y):u(Y),F=N.find(te=>te.weekNumber===$),j=new Wn(Y,p,r);return F?F.days.push(j):N.push(new Ei($,[j])),N},[]),x=new $i(p,g);return v.push(x),v},[]);return n.reverseMonths?y.reverse():y}function Il(e,t){let{startMonth:n,endMonth:r}=e;const{startOfYear:a,startOfDay:o,startOfMonth:i,endOfMonth:s,addYears:l,endOfYear:c,newDate:u,today:d}=t,{fromYear:h,toYear:m,fromMonth:y,toMonth:v}=e;!n&&y&&(n=y),!n&&h&&(n=t.newDate(h,0,1)),!r&&v&&(r=v),!r&&m&&(r=u(m,11,31));const p=e.captionLayout==="dropdown"||e.captionLayout==="dropdown-years";return n?n=i(n):h?n=u(h,0,1):!n&&p&&(n=a(l(e.today??d(),-100))),r?r=s(r):m?r=u(m,11,31):!r&&p&&(r=c(e.today??d())),[n&&o(n),r&&o(r)]}function zl(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o=1}=n,{startOfMonth:i,addMonths:s,differenceInCalendarMonths:l}=r,c=a?o:1,u=i(e);if(!t)return s(u,c);if(!(l(t,e)<o))return s(u,c)}function Hl(e,t,n,r){if(n.disableNavigation)return;const{pagedNavigation:a,numberOfMonths:o}=n,{startOfMonth:i,addMonths:s,differenceInCalendarMonths:l}=r,c=a?o??1:1,u=i(e);if(!t)return s(u,-c);if(!(l(u,t)<=0))return s(u,-c)}function Rl(e){const t=[];return e.reduce((n,r)=>n.concat(r.weeks.slice()),t.slice())}function rt(e,t){const[n,r]=O.useState(e);return[t===void 0?n:t,r]}function ql(e,t){const[n,r]=Il(e,t),{startOfMonth:a,endOfMonth:o}=t,i=Ut(e,n,r,t),[s,l]=rt(i,e.month?i:void 0);O.useEffect(()=>{const W=Ut(e,n,r,t);l(W)},[e.timeZone]);const{months:c,weeks:u,days:d,previousMonth:h,nextMonth:m}=O.useMemo(()=>{const W=Al(s,r,{numberOfMonths:e.numberOfMonths},t),g=Fl(W,e.endMonth?o(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),x=Bl(W,g,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),N=Rl(x),Y=jl(x),$=Hl(s,n,e,t),F=zl(s,r,e,t);return{months:x,weeks:N,days:Y,previousMonth:$,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:y,onMonthChange:v}=e,p=W=>u.some(g=>g.days.some(x=>x.isEqualTo(W))),M=W=>{if(y)return;let g=a(W);n&&g<a(n)&&(g=a(n)),r&&g>a(r)&&(g=a(r)),l(g),v?.(g)};return{months:c,weeks:u,days:d,navStart:n,navEnd:r,previousMonth:h,nextMonth:m,goToMonth:M,goToDay:W=>{p(W)||M(W.date)}}}var ve;(function(e){e[e.Today=0]="Today",e[e.Selected=1]="Selected",e[e.LastFocused=2]="LastFocused",e[e.FocusedModifier=3]="FocusedModifier"})(ve||(ve={}));function Gt(e){return!e[K.disabled]&&!e[K.hidden]&&!e[K.outside]}function Xl(e,t,n,r){let a,o=-1;for(const i of e){const s=t(i);Gt(s)&&(s[K.focused]&&o<ve.FocusedModifier?(a=i,o=ve.FocusedModifier):r?.isEqualTo(i)&&o<ve.LastFocused?(a=i,o=ve.LastFocused):n(i.date)&&o<ve.Selected?(a=i,o=ve.Selected):s[K.today]&&o<ve.Today&&(a=i,o=ve.Today))}return a||(a=e.find(i=>Gt(t(i)))),a}function Ul(e,t,n,r,a,o,i){const{ISOWeek:s,broadcastCalendar:l}=o,{addDays:c,addMonths:u,addWeeks:d,addYears:h,endOfBroadcastWeek:m,endOfISOWeek:y,endOfWeek:v,max:p,min:M,startOfBroadcastWeek:k,startOfISOWeek:w,startOfWeek:W}=i;let x={day:c,week:d,month:u,year:h,startOfWeek:N=>l?k(N,i):s?w(N):W(N),endOfWeek:N=>l?m(N):s?y(N):v(N)}[e](n,t==="after"?1:-1);return t==="before"&&r?x=p([r,x]):t==="after"&&a&&(x=M([a,x])),x}function zn(e,t,n,r,a,o,i,s=0){if(s>365)return;const l=Ul(e,t,n.date,r,a,o,i),c=!!(o.disabled&&Pe(l,o.disabled,i)),u=!!(o.hidden&&Pe(l,o.hidden,i)),d=l,h=new Wn(l,d,i);return!c&&!u?h:zn(e,t,h,r,a,o,i,s+1)}function Gl(e,t,n,r,a){const{autoFocus:o}=e,[i,s]=O.useState(),l=Xl(t.days,n,r||(()=>!1),i),[c,u]=O.useState(o?l:void 0);return{isFocusTarget:v=>!!l?.isEqualTo(v),setFocused:u,focused:c,blur:()=>{s(c),u(void 0)},moveFocus:(v,p)=>{if(!c)return;const M=zn(v,p,c,t.navStart,t.navEnd,e,a);M&&(e.disableNavigation&&!t.days.some(w=>w.isEqualTo(M))||(t.goToDay(M),u(M)))}}}function Ll(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=rt(n,a?n:void 0),s=a?n:o,{isSameDay:l}=t,c=m=>s?.some(y=>l(y,m))??!1,{min:u,max:d}=e;return{selected:s,select:(m,y,v)=>{let p=[...s??[]];if(c(m)){if(s?.length===u||r&&s?.length===1)return;p=s?.filter(M=>!l(M,m))}else s?.length===d?p=[m]:p=[...p,m];return a||i(p),a?.(p,m,y,v),p},isSelected:c}}function Vl(e,t,n=0,r=0,a=!1,o=Ne){const{from:i,to:s}=t||{},{isSameDay:l,isAfter:c,isBefore:u}=o;let d;if(!i&&!s)d={from:e,to:n>0?void 0:e};else if(i&&!s)l(i,e)?n===0?d={from:i,to:e}:a?d={from:i,to:void 0}:d=void 0:u(e,i)?d={from:e,to:i}:d={from:i,to:e};else if(i&&s)if(l(i,e)&&l(s,e))a?d={from:i,to:s}:d=void 0;else if(l(i,e))d={from:i,to:n>0?void 0:e};else if(l(s,e))d={from:e,to:n>0?void 0:e};else if(u(e,i))d={from:e,to:s};else if(c(e,i))d={from:i,to:e};else if(c(e,s))d={from:i,to:e};else throw new Error("Invalid range");if(d?.from&&d?.to){const h=o.differenceInCalendarDays(d.to,d.from);r>0&&h>r?d={from:e,to:void 0}:n>1&&h<n&&(d={from:e,to:void 0})}return d}function Ql(e,t,n=Ne){const r=Array.isArray(t)?t:[t];let a=e.from;const o=n.differenceInCalendarDays(e.to,e.from),i=Math.min(o,6);for(let s=0;s<=i;s++){if(r.includes(a.getDay()))return!0;a=n.addDays(a,1)}return!1}function Lt(e,t,n=Ne){return Oe(e,t.from,!1,n)||Oe(e,t.to,!1,n)||Oe(t,e.from,!1,n)||Oe(t,e.to,!1,n)}function Kl(e,t,n=Ne){const r=Array.isArray(t)?t:[t];if(r.filter(s=>typeof s!="function").some(s=>typeof s=="boolean"?s:n.isDate(s)?Oe(e,s,!1,n):Pn(s,n)?s.some(l=>Oe(e,l,!1,n)):nt(s)?s.from&&s.to?Lt(e,{from:s.from,to:s.to},n):!1:On(s)?Ql(e,s.dayOfWeek,n):vt(s)?n.isAfter(s.before,s.after)?Lt(e,{from:n.addDays(s.after,1),to:n.addDays(s.before,-1)},n):Pe(e.from,s,n)||Pe(e.to,s,n):Mt(s)||Dt(s)?Pe(e.from,s,n)||Pe(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 Jl(e,t){const{disabled:n,excludeDisabled:r,resetOnSelect:a,selected:o,required:i,onSelect:s}=e,[l,c]=rt(o,s?o:void 0),u=s?o:l;return{selected:u,select:(m,y,v)=>{const{min:p,max:M}=e;let k;if(m){const w=u?.from,W=u?.to,g=!!w&&!!W,x=!!w&&!!W&&t.isSameDay(w,W)&&t.isSameDay(m,w);a&&(g||!u?.from)?!i&&x?k=void 0:k={from:m,to:void 0}:k=Vl(m,u,p,M,i,t)}return r&&n&&k?.from&&k.to&&Kl({from:k.from,to:k.to},n,t)&&(k.from=m,k.to=void 0),s||c(k),s?.(k,m,y,v),k},isSelected:m=>u&&Oe(u,m,!1,t)}}function Zl(e,t){const{selected:n,required:r,onSelect:a}=e,[o,i]=rt(n,a?n:void 0),s=a?n:o,{isSameDay:l}=t;return{selected:s,select:(d,h,m)=>{let y=d;return!r&&s&&s&&l(d,s)&&(y=void 0),a||i(y),a?.(y,d,h,m),y},isSelected:d=>s?l(s,d):!1}}function ec(e,t){const n=Zl(e,t),r=Ll(e,t),a=Jl(e,t);switch(e.mode){case"single":return n;case"multiple":return r;case"range":return a;default:return}}function ye(e,t){return e instanceof oe&&e.timeZone===t?e:new oe(e,t)}function Be(e,t,n){return ye(e,t)}function Vt(e,t,n){return typeof e=="boolean"||typeof e=="function"?e:e instanceof Date?Be(e,t):Array.isArray(e)?e.map(r=>r instanceof Date?Be(r,t):r):nt(e)?{...e,from:e.from?ye(e.from,t):e.from,to:e.to?ye(e.to,t):e.to}:vt(e)?{before:Be(e.before,t),after:Be(e.after,t)}:Mt(e)?{after:Be(e.after,t)}:Dt(e)?{before:Be(e.before,t)}:e}function gt(e,t,n){return e&&(Array.isArray(e)?e.map(r=>Vt(r,t)):Vt(e,t))}function tc(e){let t=e;const n=t.timeZone;if(n&&(t={...e,timeZone:n},t.today&&(t.today=ye(t.today,n)),t.month&&(t.month=ye(t.month,n)),t.defaultMonth&&(t.defaultMonth=ye(t.defaultMonth,n)),t.startMonth&&(t.startMonth=ye(t.startMonth,n)),t.endMonth&&(t.endMonth=ye(t.endMonth,n)),t.mode==="single"&&t.selected?t.selected=ye(t.selected,n):t.mode==="multiple"&&t.selected?t.selected=t.selected?.map(_=>ye(_,n)):t.mode==="range"&&t.selected&&(t.selected={from:t.selected.from?ye(t.selected.from,n):t.selected.from,to:t.selected.to?ye(t.selected.to,n):t.selected.to}),t.disabled!==void 0&&(t.disabled=gt(t.disabled,n)),t.hidden!==void 0&&(t.hidden=gt(t.hidden,n)),t.modifiers)){const _={};Object.keys(t.modifiers).forEach(z=>{_[z]=gt(t.modifiers?.[z],n)}),t.modifiers=_}const{components:r,formatters:a,labels:o,dateLib:i,locale:s,classNames:l}=O.useMemo(()=>{const _={...Nn,...t.locale},z=t.broadcastCalendar?1:t.weekStartsOn,C=t.noonSafe&&t.timeZone?Tl(t.timeZone,{weekStartsOn:z,locale:_}):void 0,A=t.dateLib&&C?{...C,...t.dateLib}:t.dateLib??C,ue=new fe({locale:_,weekStartsOn:z,firstWeekContainsDate:t.firstWeekContainsDate,useAdditionalWeekYearTokens:t.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:t.useAdditionalDayOfYearTokens,timeZone:t.timeZone,numerals:t.numerals},A);return{dateLib:ue,components:ul(t.components),formatters:xl(t.formatters),labels:Wl(t.labels,ue.options),locale:_,classNames:{...fl(),...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:h=1,onDayBlur:m,onDayClick:y,onDayFocus:v,onDayKeyDown:p,onDayMouseEnter:M,onDayMouseLeave:k,onNextClick:w,onPrevClick:W,showWeekNumber:g,styles:x}=t,{formatCaption:N,formatDay:Y,formatMonthDropdown:$,formatWeekNumber:F,formatWeekNumberHeader:j,formatWeekdayName:te,formatYearDropdown:V}=a,re=ql(t,i),{days:S,months:T,navStart:Q,navEnd:Z,previousMonth:H,nextMonth:X,goToMonth:P}=re,B=ll(S,t,Q,Z,i),{isSelected:ae,select:ge,selected:he}=ec(t,i)??{},{blur:ce,focused:we,isFocusTarget:We,moveFocus:Se,setFocused:xe}=Gl(t,re,B,ae??(()=>!1),i),{labelDayButton:ze,labelGridcell:I,labelGrid:ne,labelMonthDropdown:Ce,labelNav:Te,labelPrevious:He,labelNext:at,labelWeekday:ot,labelWeekNumber:se,labelWeekNumberHeader:J,labelYearDropdown:le}=o,me=O.useMemo(()=>Pl(i,t.ISOWeek,t.broadcastCalendar,t.today),[i,t.ISOWeek,t.broadcastCalendar,t.today]),Re=u!==void 0||y!==void 0,Ke=O.useCallback(()=>{H&&(P(H),W?.(H))},[H,P,W]),st=O.useCallback(()=>{X&&(P(X),w?.(X))},[P,X,w]),qn=O.useCallback((_,z)=>C=>{C.preventDefault(),C.stopPropagation(),xe(_),!z.disabled&&(ge?.(_.date,z,C),y?.(_.date,z,C))},[ge,y,xe]),Xn=O.useCallback((_,z)=>C=>{xe(_),v?.(_.date,z,C)},[v,xe]),Un=O.useCallback((_,z)=>C=>{ce(),m?.(_.date,z,C)},[ce,m]),Gn=O.useCallback((_,z)=>C=>{const A={ArrowLeft:[C.shiftKey?"month":"day",t.dir==="rtl"?"after":"before"],ArrowRight:[C.shiftKey?"month":"day",t.dir==="rtl"?"before":"after"],ArrowDown:[C.shiftKey?"year":"week","after"],ArrowUp:[C.shiftKey?"year":"week","before"],PageUp:[C.shiftKey?"year":"month","before"],PageDown:[C.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(A[C.key]){C.preventDefault(),C.stopPropagation();const[ue,E]=A[C.key];Se(ue,E)}p?.(_.date,z,C)},[Se,p,t.dir]),Ln=O.useCallback((_,z)=>C=>{M?.(_.date,z,C)},[M]),Vn=O.useCallback((_,z)=>C=>{k?.(_.date,z,C)},[k]),Qn=O.useCallback(_=>z=>{const C=Number(z.target.value),A=i.setMonth(i.startOfMonth(_),C);P(A)},[i,P]),Kn=O.useCallback(_=>z=>{const C=Number(z.target.value),A=i.setYear(i.startOfMonth(_),C);P(A)},[i,P]),{className:Jn,style:Zn}=O.useMemo(()=>({className:[l[D.Root],t.className].filter(Boolean).join(" "),style:{...x?.[D.Root],...t.style}}),[l,t.className,t.style,x]),er=dl(t),St=O.useRef(null);Yl(St,!!t.animate,{classNames:l,months:T,focused:we,dateLib:i});const tr={dayPickerProps:t,selected:he,select:ge,isSelected:ae,months:T,nextMonth:X,previousMonth:H,goToMonth:P,getModifiers:B,components:r,classNames:l,styles:x,labels:o,formatters:a};return b.createElement(Sn.Provider,{value:tr},b.createElement(r.Root,{rootRef:t.animate?St:void 0,className:Jn,style:Zn,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"],...er},b.createElement(r.Months,{className:l[D.Months],style:x?.[D.Months]},!t.hideNavigation&&!d&&b.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[D.Nav],style:x?.[D.Nav],"aria-label":Te(),onPreviousClick:Ke,onNextClick:st,previousMonth:H,nextMonth:X}),T.map((_,z)=>b.createElement(r.Month,{"data-animated-month":t.animate?"true":void 0,className:l[D.Month],style:x?.[D.Month],key:z,displayIndex:z,calendarMonth:_},d==="around"&&!t.hideNavigation&&z===0&&b.createElement(r.PreviousMonthButton,{type:"button",className:l[D.PreviousMonthButton],tabIndex:H?void 0:-1,"aria-disabled":H?void 0:!0,"aria-label":He(H),onClick:Ke,"data-animated-button":t.animate?"true":void 0},b.createElement(r.Chevron,{disabled:H?void 0:!0,className:l[D.Chevron],orientation:t.dir==="rtl"?"right":"left"})),b.createElement(r.MonthCaption,{"data-animated-caption":t.animate?"true":void 0,className:l[D.MonthCaption],style:x?.[D.MonthCaption],calendarMonth:_,displayIndex:z},c?.startsWith("dropdown")?b.createElement(r.DropdownNav,{className:l[D.Dropdowns],style:x?.[D.Dropdowns]},(()=>{const C=c==="dropdown"||c==="dropdown-months"?b.createElement(r.MonthsDropdown,{key:"month",className:l[D.MonthsDropdown],"aria-label":Ce(),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:Qn(_.date),options:Sl(_.date,Q,Z,a,i),style:x?.[D.Dropdown],value:i.getMonth(_.date)}):b.createElement("span",{key:"month"},$(_.date,i)),A=c==="dropdown"||c==="dropdown-years"?b.createElement(r.YearsDropdown,{key:"year",className:l[D.YearsDropdown],"aria-label":le(i.options),classNames:l,components:r,disabled:!!t.disableNavigation,onChange:Kn(_.date),options:Cl(Q,Z,a,i,!!t.reverseYears),style:x?.[D.Dropdown],value:i.getYear(_.date)}):b.createElement("span",{key:"year"},V(_.date,i));return i.getMonthYearOrder()==="year-first"?[A,C]:[C,A]})(),b.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},N(_.date,i.options,i))):b.createElement(r.CaptionLabel,{className:l[D.CaptionLabel],role:"status","aria-live":"polite"},N(_.date,i.options,i))),d==="around"&&!t.hideNavigation&&z===h-1&&b.createElement(r.NextMonthButton,{type:"button",className:l[D.NextMonthButton],tabIndex:X?void 0:-1,"aria-disabled":X?void 0:!0,"aria-label":at(X),onClick:st,"data-animated-button":t.animate?"true":void 0},b.createElement(r.Chevron,{disabled:X?void 0:!0,className:l[D.Chevron],orientation:t.dir==="rtl"?"left":"right"})),z===h-1&&d==="after"&&!t.hideNavigation&&b.createElement(r.Nav,{"data-animated-nav":t.animate?"true":void 0,className:l[D.Nav],style:x?.[D.Nav],"aria-label":Te(),onPreviousClick:Ke,onNextClick:st,previousMonth:H,nextMonth:X}),b.createElement(r.MonthGrid,{role:"grid","aria-multiselectable":u==="multiple"||u==="range","aria-label":ne(_.date,i.options,i)||void 0,className:l[D.MonthGrid],style:x?.[D.MonthGrid]},!t.hideWeekdays&&b.createElement(r.Weekdays,{"data-animated-weekdays":t.animate?"true":void 0,className:l[D.Weekdays],style:x?.[D.Weekdays]},g&&b.createElement(r.WeekNumberHeader,{"aria-label":J(i.options),className:l[D.WeekNumberHeader],style:x?.[D.WeekNumberHeader],scope:"col"},j()),me.map(C=>b.createElement(r.Weekday,{"aria-label":ot(C,i.options,i),className:l[D.Weekday],key:String(C),style:x?.[D.Weekday],scope:"col"},te(C,i.options,i)))),b.createElement(r.Weeks,{"data-animated-weeks":t.animate?"true":void 0,className:l[D.Weeks],style:x?.[D.Weeks]},_.weeks.map(C=>b.createElement(r.Week,{className:l[D.Week],key:C.weekNumber,style:x?.[D.Week],week:C},g&&b.createElement(r.WeekNumber,{week:C,style:x?.[D.WeekNumber],"aria-label":se(C.weekNumber,{locale:s}),className:l[D.WeekNumber],scope:"row",role:"rowheader"},F(C.weekNumber,i)),C.days.map(A=>{const{date:ue}=A,E=B(A);if(E[K.focused]=!E.hidden&&!!we?.isEqualTo(A),E[ke.selected]=ae?.(ue)||E.selected,nt(he)){const{from:it,to:lt}=he;E[ke.range_start]=!!(it&&lt&&i.isSameDay(ue,it)),E[ke.range_end]=!!(it&&lt&&i.isSameDay(ue,lt)),E[ke.range_middle]=Oe(he,ue,!0,i)}const nr=Ol(E,x,t.modifiersStyles),rr=cl(E,l,t.modifiersClassNames),ar=!Re&&!E.hidden?I(ue,E,i.options,i):void 0;return b.createElement(r.Day,{key:`${A.isoDate}_${A.displayMonthId}`,day:A,modifiers:E,className:rr.join(" "),style:nr,role:"gridcell","aria-selected":E.selected||void 0,"aria-label":ar,"data-day":A.isoDate,"data-month":A.outside?A.dateMonthId:void 0,"data-selected":E.selected||void 0,"data-disabled":E.disabled||void 0,"data-hidden":E.hidden||void 0,"data-outside":A.outside||void 0,"data-focused":E.focused||void 0,"data-today":E.today||void 0},!E.hidden&&Re?b.createElement(r.DayButton,{className:l[D.DayButton],style:x?.[D.DayButton],type:"button",day:A,modifiers:E,disabled:!E.focused&&E.disabled||void 0,"aria-disabled":E.focused&&E.disabled||void 0,tabIndex:We(A)?0:-1,"aria-label":ze(ue,E,i.options,i),onClick:qn(A,E),onBlur:Un(A,E),onFocus:Xn(A,E),onKeyDown:Gn(A,E),onMouseEnter:Ln(A,E),onMouseLeave:Vn(A,E)},Y(ue,i.options,i)):!E.hidden&&Y(A.date,i.options,i))})))))))),t.footer&&b.createElement(r.Footer,{className:l[D.Footer],style:x?.[D.Footer],role:"status","aria-live":"polite"},t.footer)))}const nc={en:$e,"zh-CN":ni,"zh-TW":_i,ja:Qo,ko:Ws};function rc(e){return nc[e]||$e}function Wc(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())?De(r,"MMM d",t?{locale:t}:void 0):e}function Qt({from:e,to:t,onApply:n,onCancel:r}){const a=O.useMemo(()=>{const u={from:void 0,to:void 0};if(e){const d=e.split("-");u.from=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))}if(t){const d=t.split("-");u.to=new Date(Number(d[0]),Number(d[1])-1,Number(d[2]))}return u},[e,t]),[o,i]=O.useState(a),s=rc(kr()),l=()=>{if(!o?.from)return;const u=De(o.from,"yyyy-MM-dd"),d=o.to?De(o.to,"yyyy-MM-dd"):u;n?.(u,d)},c=!!o?.from;return f.jsxs("div",{className:"p-4",children:[f.jsx(tc,{mode:"range",locale:s,selected:o,onSelect:i,numberOfMonths:2,showOutsideDays:!1,classNames:{root:"rdp-oai",months:"flex gap-4",month:"space-y-3",month_caption:"flex justify-center items-center h-8",caption_label:"text-sm font-medium text-oai-black dark:text-oai-white",nav:"flex items-center justify-between absolute inset-x-0 top-0 px-2",button_previous:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",button_next:"inline-flex items-center justify-center w-7 h-7 rounded-md text-oai-gray-500 hover:text-oai-black dark:text-oai-gray-400 dark:hover:text-oai-white hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",chevron:"w-4 h-4 fill-current",month_grid:"border-collapse",weekdays:"flex",weekday:"w-9 text-center text-xs font-medium text-oai-gray-400 dark:text-oai-gray-500 py-1",week:"flex",day:"w-9 h-9 text-center text-sm p-0 relative",day_button:"w-full h-full inline-flex items-center justify-center rounded-md transition-colors hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 text-oai-black dark:text-oai-white cursor-pointer rdp-day-btn",today:"font-bold",selected:"rdp-selected",range_start:"rdp-selected rdp-range-start",range_end:"rdp-selected rdp-range-end",range_middle:"rdp-range-mid",outside:"text-oai-gray-300 dark:text-oai-gray-600",disabled:"text-oai-gray-300 dark:text-oai-gray-600 cursor-not-allowed",hidden:"invisible"},styles:{months:{position:"relative"}}}),f.jsxs("div",{className:"flex items-center justify-end gap-2 mt-4 pt-3 border-t border-oai-gray-200 dark:border-oai-gray-700",children:[c&&o.from&&f.jsxs("span",{className:"text-xs text-oai-gray-500 dark:text-oai-gray-400 mr-auto",children:[De(o.from,"MMM d, yyyy",{locale:s}),o.to&&o.to.getTime()!==o.from.getTime()?` — ${De(o.to,"MMM d, yyyy",{locale:s})}`:""]}),f.jsx(Pt,{variant:"secondary",size:"sm",onClick:r,children:L("shared.action.cancel")}),f.jsx(Pt,{variant:"primary",size:"sm",onClick:l,disabled:!c,children:L("shared.action.apply")})]})]})}const ac=[{period:"day",labelKey:"trend.zoom.gran.30min"},{period:"month",labelKey:"trend.zoom.gran.day"},{period:"total",labelKey:"trend.zoom.gran.month"}],oc=24,Ie="#10b981";function Kt(e){return e==="day"?"day":e==="total"?"total":"month"}function pt(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const r=new Date(Date.UTC(Number(n[1]),Number(n[2])-1,Number(n[3])));r.setUTCDate(r.getUTCDate()+t);const a=r.getUTCFullYear(),o=String(r.getUTCMonth()+1).padStart(2,"0"),i=String(r.getUTCDate()).padStart(2,"0");return`${a}-${o}-${i}`}function sc(e,t){const n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(e||""));if(!n)return e;const r=new Date(Date.UTC(Number(n[1]),Number(n[2])-1+t,Number(n[3]))),a=r.getUTCFullYear(),o=String(r.getUTCMonth()+1).padStart(2,"0"),i=String(r.getUTCDate()).padStart(2,"0");return`${a}-${o}-${i}`}function ic(e,t){const n=/^(\d{4})-(\d{2})/.exec(String(e||"")),r=/^(\d{4})-(\d{2})/.exec(String(t||""));if(!n||!r)return oc;const a=Number(r[1])*12+Number(r[2])-(Number(n[1])*12+Number(n[2]))+1;return Math.max(1,a)}function Jt(e,t){return t?e==="total"?{from:sc(t,-23),to:t}:{from:pt(t,-29),to:t}:{from:null,to:null}}function lc(e){const t=/^\d{4}-(\d{2}-\d{2})T(\d{2}:\d{2})/.exec(String(e||""));return t?`${t[1]} ${t[2]}`:e||""}function Je({label:e,value:t,sub:n,title:r}){return f.jsxs("div",{className:"flex flex-col gap-1.5 group",children:[f.jsx("span",{className:"text-[9px] font-bold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:e}),f.jsx("span",{title:r,className:"text-xl font-black font-mono text-zinc-900 dark:text-zinc-50 tracking-tight leading-none tabular-nums transition-transform duration-200 group-hover:-translate-y-[1px]",children:t}),n?f.jsx("span",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 font-mono tabular-nums",children:n}):null]})}function cc({zoomConfig:e,period:t,from:n,to:r,timeZoneLabel:a,onClose:o,renderChart:i}){const{currency:s,rate:l}=ln(),{formatTokens:c,formatTokensTooltip:u}=cn(),d=b.useMemo(()=>an({timeZone:e?.timeZone,offsetMinutes:e?.tzOffsetMinutes,date:e?.now||new Date})||r||n||null,[e?.timeZone,e?.tzOffsetMinutes,e?.now,r,n]),[h,m]=b.useState(()=>Kt(t)),[y,v]=b.useState(d),[p,M]=b.useState(()=>Jt(Kt(t),d)),[k,w]=b.useState(!1),[W,g]=b.useState(!1),[x,N]=b.useState(!1),Y=d,$=P=>{m(P),P!=="day"&&M(Jt(P,d))},F=b.useMemo(()=>h==="day"?{from:y,to:y,months:void 0}:h==="total"?{from:void 0,to:p.to,months:ic(p.from,p.to)}:{from:p.from,to:p.to,months:void 0},[h,y,p]),{rows:j,from:te,to:V,loading:re}=_r({...e,period:h,from:F.from,to:F.to,months:F.months}),S=b.useMemo(()=>qr(j),[j]),T=b.useCallback(()=>N(!0),[]),Q=P=>{P.target===P.currentTarget&&x&&o()};if(b.useEffect(()=>{const P=B=>{B.key==="Escape"&&T()};return window.addEventListener("keydown",P),()=>window.removeEventListener("keydown",P)},[T]),typeof document>"u")return null;const Z=h==="day"&&!!y,H=h==="day"&&!!y&&(!Y||y<Y),X=S.totalCostUsd!=null?sn(S.totalCostUsd,{currency:s,rate:l}):null;return f.jsxs("div",{onAnimationEnd:Q,onClick:P=>{P.target===P.currentTarget&&T()},className:pe("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",x?"animate-tt-fade-out":"animate-tt-fade-in"),children:[f.jsx("style",{children:`
2
+ @keyframes tt-fade-in { from { opacity: 0; } to { opacity: 1; } }
3
+ @keyframes tt-fade-out { from { opacity: 1; } to { opacity: 0; } }
4
+ @keyframes tt-modal-entrance {
5
+ from { opacity: 0; transform: scale(0.96) translateY(10px); }
6
+ to { opacity: 1; transform: scale(1) translateY(0); }
7
+ }
8
+ @keyframes tt-modal-exit {
9
+ from { opacity: 1; transform: scale(1) translateY(0); }
10
+ to { opacity: 0; transform: scale(0.96) translateY(10px); }
11
+ }
12
+ .animate-tt-fade-in { animation: tt-fade-in 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
13
+ .animate-tt-fade-out { animation: tt-fade-out 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
14
+ .animate-tt-modal { animation: tt-modal-entrance 0.3s cubic-bezier(0.34, 1.3, 0.64, 1) forwards; }
15
+ .animate-tt-modal-exit { animation: tt-modal-exit 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
16
+ @media (prefers-reduced-motion: reduce) {
17
+ .animate-tt-fade-in, .animate-tt-fade-out, .animate-tt-modal, .animate-tt-modal-exit { animation: none; }
18
+ }
19
+ `}),f.jsxs("div",{className:pe("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",x?"animate-tt-modal-exit":"animate-tt-modal"),children:[f.jsx("button",{type:"button",onClick:T,"aria-label":L("trend.zoom.close_aria"),className:"absolute top-4 right-4 z-50 p-2 rounded-full border border-oai-gray-200/60 dark:border-oai-gray-800/60 bg-white/50 dark:bg-oai-gray-900/50 text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-900 dark:hover:text-white hover:rotate-90 hover:scale-105 active:scale-95 transition-all duration-300",children:f.jsx(wr,{size:16})}),f.jsxs("div",{className:"w-full md:w-[320px] shrink-0 border-b md:border-b-0 md:border-r border-zinc-200/50 dark:border-zinc-800/40 p-5 md:p-6 flex flex-col gap-6 overflow-y-auto backdrop-blur-md bg-zinc-50/50 dark:bg-zinc-950/50",children:[f.jsxs("div",{children:[f.jsxs("div",{className:"flex items-center gap-1.5 select-none",children:[f.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[f.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:Ie}}),f.jsx("span",{className:"relative inline-flex rounded-full h-1.5 w-1.5",style:{backgroundColor:Ie}})]}),f.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono text-zinc-400 dark:text-zinc-500",children:L("trend.zoom.badge")})]}),f.jsx("h4",{className:"text-xl font-black text-zinc-900 dark:text-zinc-50 tracking-tight leading-none mt-2 select-none",children:L("trend.monitor.label")}),a?f.jsx("p",{className:"text-[10px] text-zinc-400 dark:text-zinc-500 mt-1.5 font-mono select-none",children:a}):null,f.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-400 dark:text-zinc-500 mt-2 font-normal select-none",children:L("trend.zoom.desc")})]}),f.jsxs("div",{className:"grid grid-cols-2 gap-x-5 gap-y-5 border-y border-zinc-200/50 dark:border-zinc-800/50 py-5 select-none",children:[f.jsx(Je,{label:L("trend.zoom.stats.tokens"),value:c(S.totalTokens),title:u(S.totalTokens)}),X?f.jsx(Je,{label:L("trend.zoom.stats.cost"),value:X}):null,f.jsx(Je,{label:L("trend.zoom.stats.conversations"),value:S.conversationCount.toLocaleString()}),S.peak?f.jsx(Je,{label:L("trend.zoom.stats.peak"),value:c(S.peak.value),title:u(S.peak.value),sub:lc(S.peak.label)}):null]}),f.jsxs("div",{className:"flex flex-col gap-2 select-none",children:[f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx(Dr,{size:11,style:{color:Ie}}),f.jsx("span",{className:"text-[9px] font-extrabold uppercase tracking-widest font-mono",style:{color:Ie},children:L("trend.zoom.insight_badge")})]}),f.jsxs("div",{className:"pl-3.5 border-l-2 relative",style:{borderColor:Ie},children:[f.jsx("div",{className:"absolute inset-y-0 left-0 w-[3px] blur-[2px] opacity-15 pointer-events-none rounded-full",style:{backgroundColor:Ie}}),f.jsx("p",{className:"text-[11px] leading-relaxed text-zinc-600 dark:text-zinc-400 font-normal",children:L(Ur(S),{active:S.activeBuckets,peak:c(S.peak?.value||0)})})]})]})]}),f.jsxs("div",{className:"flex-1 min-w-0 flex flex-col p-5 md:p-6 overflow-y-auto",children:[f.jsxs("div",{className:"flex items-center justify-between gap-3 mb-6 pr-10",children:[f.jsx("div",{role:"tablist","aria-label":L("trend.zoom.gran.aria"),className:"flex rounded-md border border-oai-gray-200 dark:border-oai-gray-800 p-0.5 text-[11px]",children:ac.map(P=>f.jsx("button",{type:"button",role:"tab","aria-selected":h===P.period,onClick:()=>$(P.period),className:pe("px-2.5 py-1 rounded transition-colors",h===P.period?"bg-oai-gray-100 text-oai-black dark:bg-oai-gray-800 dark:text-oai-white font-medium":"text-oai-gray-500 dark:text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200"),children:L(P.labelKey)},P.period))}),h==="day"?f.jsxs("div",{className:"flex items-center gap-1.5",children:[f.jsx("button",{type:"button",onClick:()=>Z&&v(P=>pt(P,-1)),disabled:!Z,"aria-label":L("trend.zoom.prev_day"),className:"p-1 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 disabled:opacity-30 disabled:pointer-events-none transition-colors",children:f.jsx(Or,{size:16})}),f.jsxs(Ct,{open:k,onOpenChange:w,children:[f.jsx(Tt,{"aria-label":L("trend.zoom.pick_day"),className:"text-[12px] font-medium text-oai-gray-700 dark:text-oai-gray-200 tabular-nums min-w-[100px] text-center px-2 py-0.5 rounded-md border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:y||"—"}),f.jsx(_t,{children:f.jsx($t,{sideOffset:8,side:"bottom",align:"center",className:"!z-[9999]",children:f.jsx(Et,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:f.jsx(Qt,{from:y,to:y,onApply:P=>{P&&v(P),w(!1)},onCancel:()=>w(!1)})})})})]}),f.jsx("button",{type:"button",onClick:()=>H&&v(P=>pt(P,1)),disabled:!H,"aria-label":L("trend.zoom.next_day"),className:"p-1 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 disabled:opacity-30 disabled:pointer-events-none transition-colors",children:f.jsx(Wr,{size:16})})]}):f.jsxs(Ct,{open:W,onOpenChange:g,children:[f.jsx(Tt,{"aria-label":L("trend.zoom.pick_range"),className:"text-xs font-medium text-oai-gray-600 dark:text-oai-gray-300 tabular-nums px-2.5 py-1 rounded-md border border-oai-gray-200 dark:border-oai-gray-800 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors select-none",children:p.from&&p.to?p.from===p.to?p.from:`${p.from} → ${p.to}`:"—"}),f.jsx(_t,{children:f.jsx($t,{sideOffset:8,side:"bottom",align:"end",className:"!z-[9999]",children:f.jsx(Et,{className:"bg-white dark:bg-oai-gray-900 border border-oai-gray-200 dark:border-oai-gray-700 rounded-xl shadow-lg",children:f.jsx(Qt,{from:p.from,to:p.to,onApply:(P,B)=>{P&&M({from:P,to:B||P}),g(!1)},onCancel:()=>g(!1)})})})})]})]}),f.jsx("div",{className:"flex-1 min-h-0 flex flex-col",children:re&&(!j||j.length===0)?f.jsx("div",{className:"flex-1 flex items-center justify-center",children:f.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:L("trend.zoom.loading")})}):i({rows:j,from:te,to:V,period:h,timeZoneLabel:a})})]})]})]})}function Zt(e,t){if(!Array.isArray(e)||e.length===0)return 0;if(e.length===1)return e[0];const n=(e.length-1)*t,r=Math.floor(n),a=Math.ceil(n);if(r===a)return e[r];const o=n-r;return e[r]+(e[a]-e[r])*o}function uc(e){const t=Array.isArray(e)?e.filter(a=>Number.isFinite(a)&&a>0).sort((a,o)=>a-o):[];if(t.length===0)return{rawMax:0,effectiveMax:1,clippedValues:Array.isArray(e)?e.map(()=>0):[]};const n=t.at(-1)??0;let r=n;if(t.length>=4){const a=Zt(t,.25),o=Zt(t,.75),i=Math.max(o-a,0),s=o+i*1.5;n>s&&(r=Math.max(s,o,1))}return{rawMax:n,effectiveMax:Math.max(r,1),clippedValues:Array.isArray(e)?e.map(a=>!Number.isFinite(a)||a<=0?0:Math.min(a,Math.max(r,1))):[]}}const en=["#f472b6","#38bdf8","#34d399","#fbbf24","#a78bfa","#fb7185","#2dd4bf","#f97316","#6366f1","#ec4899","#14b8a6","#f59e0b"],Hn={Input:"#38bdf8","Cached Input":"#14b8a6",Output:"#a78bfa","Reasoning Output":"#fb7185"},dc={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 Rn(e){const t=e.toLowerCase();for(const[a,o]of Object.entries(dc))if(t.includes(a))return o;let n=0;for(let a=0;a<e.length;a++)n=e.charCodeAt(a)+((n<<5)-n);const r=Math.abs(n)%en.length;return en[r]}function fc(e){if(!e)return[];const t=[];if(e.models&&typeof e.models=="object")for(const[n,r]of Object.entries(e.models)){const a=Number(r);Number.isFinite(a)&&a>0&&t.push({type:"model",name:n,value:a})}if(t.length===0){const n=[{name:"Input",key:"input_tokens"},{name:"Cached Input",key:"cached_input_tokens"},{name:"Output",key:"output_tokens"},{name:"Reasoning Output",key:"reasoning_output_tokens"}];for(const r of n){const a=Number(e[r.key]);Number.isFinite(a)&&a>0&&t.push({type:"token_type",name:r.name,value:a})}}return t.sort((n,r)=>r.value-n.value)}function hc(e,t){return e?.future?"predicted":e?.missing?"unsynced":t>0?"real":"real_zero"}const mc=.35,tn=2,nn=4;function yc({value:e,displayValue:t,scale:n,index:r,row:a,totalBars:o,onMouseEnter:i,onMouseLeave:s}){const l=xr(),c=hc(a,e),u=c==="predicted"||c==="unsynced",d=n.effectiveMax>0?t/n.effectiveMax*100:0;let h,m;c==="real"?(h=`${Math.max(d,2)}%`,m=`${nn}px`):u&&d>0?(h=`${d}%`,m=`${nn}px`):(h=`${tn}px`,m=`${tn}px`);const y=c==="real"?fc(a):[],v=y.reduce((M,k)=>M+k.value,0),p=c!=="real"||v<=0;return f.jsxs(vr.div,{className:"group relative flex-1 self-stretch",initial:{opacity:0,scaleY:0},animate:{opacity:1,scaleY:1},transition:{duration:l?0:.3,delay:l?0:.4+r*.008,ease:[.16,1,.3,1]},style:{originY:1},onMouseEnter:M=>i(M,a,e,y,c,t),onMouseLeave:s,children:[f.jsx("div",{className:"absolute inset-x-0 top-0 bottom-0 bg-oai-gray-100/70 dark:bg-white/[0.08] opacity-0 group-hover:opacity-100 transition-opacity duration-150 pointer-events-none"}),f.jsx("div",{className:"absolute inset-x-0 bottom-0 flex flex-col-reverse justify-start overflow-hidden cursor-pointer transition-all duration-200",style:{height:h,minHeight:m},children:p?f.jsx("div",{"data-trend-bar":"true",className:pe("h-full w-full group-hover:brightness-110 transition-all",c==="real"?"":"bg-oai-gray-100 dark:bg-oai-gray-800"),style:{opacity:u?mc:1,background:c==="real"?"#10b981":void 0}}):y.map((M,k)=>{const w=M.type==="token_type"?Hn[M.name]:Rn(M.name),W=`${M.value/v*100}%`;return f.jsx("div",{"data-trend-bar":k===0?"true":void 0,className:"w-full group-hover:brightness-110 transition-all",style:{height:W,background:w}},k)})})]})}function gc(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 rn=.98;function bc(e){if(!Array.isArray(e))return[];const t=new Array(e.length);for(let n=0;n<e.length;n++){if(e[n]!==null){t[n]=e[n];continue}let r=null,a=-1;for(let s=n-1;s>=0;s--)if(e[s]!==null){r=e[s],a=s;break}let o=null,i=-1;for(let s=n+1;s<e.length;s++)if(e[s]!==null){o=e[s],i=s;break}if(r!==null&&o!==null){const s=(n-a)/(i-a);t[n]=r+(o-r)*s}else if(r!==null){let s=0,l=0;for(let u=0;u<=a;u++)e[u]!==null&&(s+=e[u],l+=1);const c=l>0?s/l:r;t[n]=c*Math.pow(rn,n-a)}else if(o!==null){let s=0,l=0;for(let u=i;u<e.length;u++)e[u]!==null&&(s+=e[u],l+=1);const c=l>0?s/l:o;t[n]=c*Math.pow(rn,i-n)}else t[n]=0}return t}function pc({rows:e,from:t,to:n,period:r,timeZoneLabel:a,showTimeZoneLabel:o=!0,className:i="",embedded:s=!1,chartHeightClass:l="h-40",isZoom:c=!1,zoomConfig:u=null}){const d=b.useMemo(()=>Array.isArray(e)&&e.length?e:[],[e]),{rawValues:h,seriesValues:m,scale:y,interpolatedValues:v}=b.useMemo(()=>{const S=d.map(gc),T=S.map(Q=>Q??0);return{rawValues:S,seriesValues:T,scale:uc(T),interpolatedValues:bc(S)}},[d]),{currency:p,rate:M}=ln(),{formatTokens:k,formatTokensTooltip:w}=cn(),W=Ir(r),[g,x]=b.useState(null),[N,Y]=b.useState({x:0,y:0,shiftX:0,flipDown:!1}),[$,F]=b.useState(!1),j=b.useRef(null),te=b.useRef(null),V=(S,T,Q,Z,H,X)=>{te.current&&(clearTimeout(te.current),te.current=null);const P=c?Xr(T,W):T?.day||T?.hour||T?.month||"";x({row:T,value:Q,segments:Z,timeLabel:P,kind:H,displayValue:X});const B=S.currentTarget.querySelector('[data-trend-bar="true"]'),ae=B&&B.parentElement?B.parentElement.getBoundingClientRect():S.currentTarget.getBoundingClientRect(),ge=j.current;if(!ge)return;const he=ge.getBoundingClientRect(),ce=ae.left-he.left+ae.width/2,we=ae.top-he.top,We=140;let Se=0;ce<We?Se=We-ce:ce>he.width-We&&(Se=he.width-We-ce);const xe=96+(c?22:0)+(Z.length?Math.min(Z.length*30+24,174):0),ze=we<xe+12;Y({x:ce,y:we,shiftX:Se,flipDown:ze})},re=()=>{te.current&&clearTimeout(te.current),te.current=setTimeout(()=>{x(null)},150)};return f.jsxs("div",{ref:j,className:pe("relative",!s&&"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",c&&"flex h-full flex-col",i),children:[!s&&f.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2",children:[f.jsxs("div",{children:[f.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:L("trend.monitor.label")}),o&&a&&f.jsx("p",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400 mt-0.5",children:a})]}),u&&f.jsx("button",{type:"button",onClick:()=>F(!0),"aria-label":L("trend.zoom.open_aria"),title:L("trend.zoom.open_aria"),className:"shrink-0 p-1.5 rounded-md text-oai-gray-400 hover:text-oai-gray-700 dark:hover:text-oai-gray-200 hover:bg-oai-gray-100 dark:hover:bg-oai-gray-800 transition-colors",children:f.jsx(Nr,{size:14})})]}),f.jsxs("div",{className:pe("space-y-3",c&&"flex flex-1 flex-col min-h-0 !space-y-0 gap-3"),children:[f.jsxs("div",{className:pe("relative",c&&"flex-1 min-h-0"),children:[f.jsx("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none",children:[0,25,50,75,100].map(S=>f.jsx("div",{className:"w-full border-t border-oai-gray-100 dark:border-oai-gray-800",style:{top:`${100-S}%`}},S))}),f.jsx("div",{className:pe("flex items-end gap-0.5 relative z-0",l),children:m.length>0?m.map((S,T)=>{const Q=d[T],H=Q?.missing||Q?.future?Math.min(v[T]??0,y.effectiveMax):y.clippedValues[T]??0;return f.jsx(yc,{value:S,displayValue:H,scale:y,index:T,row:Q,totalBars:m.length,onMouseEnter:V,onMouseLeave:re},T)}):f.jsx("div",{className:"flex-1 h-full flex items-center justify-center",children:f.jsx("p",{className:"text-sm text-oai-gray-400 dark:text-oai-gray-400",children:"No data yet"})})})]}),c&&m.length>0&&f.jsx("div",{className:"flex gap-0.5 select-none",children:d.map((S,T)=>{const Q=m.length-1,Z=Math.max(1,Math.ceil(m.length/8)),H=T%Z===0||T===Q,X=T===0?"justify-start":T===Q?"justify-end":"justify-center";return f.jsx("div",{className:pe("flex-1 min-w-0 flex",X),children:H&&f.jsx("span",{className:"text-[9px] text-oai-gray-400 dark:text-oai-gray-500 whitespace-nowrap font-mono",children:Gr(S,W)})},T)})}),t&&n&&f.jsxs("div",{className:"flex justify-between text-xs text-oai-gray-500 dark:text-oai-gray-300 font-medium pt-2 border-t border-oai-gray-100 dark:border-oai-gray-800",children:[f.jsx("span",{children:t===n?`${t} 00:00`:t}),f.jsx("span",{children:t===n?`${n} 24:00`:n})]})]}),g&&f.jsxs("div",{className:"absolute z-[9999] w-0 h-0 transition-all duration-100 ease-out pointer-events-none",style:{left:`${N.x}px`,top:`${N.y}px`},children:[f.jsxs("div",{className:pe("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",N.flipDown?"top-[10px]":"bottom-[10px]"),style:{transform:`translateX(calc(-50% + ${N.shiftX}px))`},children:[f.jsxs("div",{className:"flex items-center justify-between border-b border-oai-gray-100 dark:border-oai-gray-800/80 pb-1.5",children:[f.jsx("span",{className:"text-[11px] font-semibold text-oai-gray-500 dark:text-oai-gray-400",children:g.timeLabel}),g.kind==="predicted"&&f.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Predicted"}),g.kind==="unsynced"&&f.jsx("span",{className:"text-[9px] font-semibold uppercase tracking-wider text-oai-gray-400 dark:text-oai-gray-500",children:"Unsynced"})]}),f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsxs("div",{className:"flex items-baseline gap-1",children:[f.jsx("span",{title:w(g.kind==="predicted"||g.kind==="unsynced"?g.displayValue:g.value),className:"text-lg font-bold text-oai-gray-900 dark:text-white leading-none",children:g.kind==="predicted"||g.kind==="unsynced"?`~${k(Math.round(g.displayValue??0))}`:k(g.value)}),f.jsx("span",{className:"text-[10px] text-oai-gray-400 uppercase tracking-wider font-semibold",children:"Tokens"})]}),c&&(g.row?.total_cost_usd!=null||Number(g.row?.conversation_count)>0)&&f.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-oai-gray-500 dark:text-oai-gray-400",children:[g.row?.total_cost_usd!=null&&f.jsxs("span",{children:[f.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:sn(g.row.total_cost_usd,{currency:p,rate:M})})," ",L("trend.zoom.tooltip.cost")]}),Number(g.row?.conversation_count)>0&&f.jsxs("span",{children:[f.jsx("span",{className:"font-semibold text-oai-gray-700 dark:text-oai-gray-200",children:Number(g.row.conversation_count).toLocaleString()})," ",L("trend.zoom.tooltip.conversations")]})]}),g.segments&&g.segments.length>0?f.jsxs("div",{className:"mt-1.5 border-t border-oai-gray-100 dark:border-oai-gray-800/60 pt-2 flex flex-col gap-1.5",children:[f.jsx("div",{className:"text-[10px] font-semibold text-oai-gray-400 dark:text-oai-gray-500 uppercase tracking-wider",children:g.segments[0].type==="model"?"Model Breakdown":"Token Breakdown"}),f.jsx("div",{className:"flex flex-col gap-2 max-h-[150px] overflow-y-auto pr-1.5 oai-scrollbar",children:g.segments.map(({name:S,value:T,type:Q})=>{const Z=g.value||1,H=Math.round(T/Z*100),X=Q==="token_type"?Hn[S]:Rn(S);return f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsxs("div",{className:"flex items-center justify-between text-[11px] gap-3",children:[f.jsx("span",{className:"font-medium text-oai-gray-750 dark:text-oai-gray-200 truncate max-w-[130px]",title:S,children:S}),f.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[f.jsx("span",{title:w(T),className:"font-mono text-oai-gray-900 dark:text-oai-gray-100 font-semibold",children:k(T)}),f.jsxs("span",{className:"text-[9px] text-oai-gray-450 dark:text-oai-gray-500 min-w-[28px] text-right font-medium",children:[H,"%"]})]})]}),f.jsx("div",{className:"w-full h-1 bg-oai-gray-100 dark:bg-oai-gray-800/85 rounded-full overflow-hidden",children:f.jsx("div",{className:"h-full rounded-full transition-all duration-300",style:{width:`${H}%`,backgroundColor:X,boxShadow:`0 0 4px ${X}55`}})})]},S)})})]}):null]})]}),f.jsx("div",{className:pe("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",N.flipDown?"top-[6px] border-l border-t":"bottom-[6px] border-r border-b"),style:N.flipDown?{marginTop:"1px"}:{marginBottom:"1px"}})]}),$&&u&&f.jsx(cc,{zoomConfig:u,period:r,from:t,to:n,timeZoneLabel:a,onClose:()=>F(!1),renderChart:S=>f.jsx(pc,{embedded:!0,isZoom:!0,chartHeightClass:"h-full",...S})})]})}export{Nc as D,pc as T,Qt as a,rc as b,_r as c,Wc as f,Rn as g,Cr as u};