tokentracker-cli 0.2.25 → 0.2.26

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.
@@ -1 +1 @@
1
- import{b as k,ad as Z,d as ue,ae as z,af as L,ag as le,ah as de,ai as fe,aj as me,ak as pe,al as ge,am as ke,_ as ye,an as he,ao as Te,ap as we,m}from"./main-DepLUlUX.js";const xe="Backend runtime unavailable (InsForge). Please retry later.",p={usageSummary:"vibeusage-usage-summary",usageDaily:"vibeusage-usage-daily",usageHourly:"vibeusage-usage-hourly",usageMonthly:"vibeusage-usage-monthly",usageHeatmap:"vibeusage-usage-heatmap",usageModelBreakdown:"vibeusage-usage-model-breakdown",projectUsageSummary:"vibeusage-project-usage-summary",leaderboard:"vibeusage-leaderboard",leaderboardProfile:"vibeusage-leaderboard-profile",userStatus:"vibeusage-user-status",linkCodeInit:"vibeusage-link-code-init",publicViewProfile:"vibeusage-public-view-profile",publicVisibility:"vibeusage-public-visibility"},J="/functions",be="/api/functions",h={business:"business",probe:"probe"};let D=null;async function f(e){return await ue(e)}async function Ee({baseUrl:e,accessToken:s,signal:t}={}){const a=await f(s),n=we(new Date);return await y({baseUrl:e,accessToken:a,slug:p.usageSummary,params:{from:n,to:n},fetchOptions:{cache:"no-store",signal:t},retry:!1,requestKind:h.probe}),{status:200}}async function Ce({baseUrl:e,accessToken:s,from:t,to:a,source:n,model:r,timeZone:l,tzOffsetMinutes:i,rolling:c=!1}={}){const u=await f(s);if(k())return de({from:t,to:a,seed:u,rolling:c});const o=M({timeZone:l,tzOffsetMinutes:i}),d=P({source:n,model:r}),v=c?{rolling:"1"}:{};return y({baseUrl:e,accessToken:u,slug:p.usageSummary,params:{from:t,to:a,...d,...o,...v}})}async function je({baseUrl:e,accessToken:s,from:t,to:a,source:n,limit:r,timeZone:l,tzOffsetMinutes:i}={}){const c=await f(s);if(k())return me({seed:c,limit:r});const u=M({timeZone:l,tzOffsetMinutes:i}),d={...P({source:n}),...u};return t&&(d.from=t),a&&(d.to=a),r!=null&&(d.limit=String(r)),y({baseUrl:e,accessToken:c,slug:p.projectUsageSummary,params:d})}async function Ie({baseUrl:e,accessToken:s,period:t,metric:a,limit:n,offset:r}={}){const l=await f(s);if(k())return Z({seed:l,period:t,metric:a,limit:n,offset:r});const c=(typeof t=="string"?t:"week").trim().toLowerCase(),o={period:c==="month"||c==="total"||c==="week"?c:"week"};return a&&(o.metric=String(a)),n!=null&&(o.limit=String(n)),r!=null&&(o.offset=String(r)),y({baseUrl:e,accessToken:l,slug:p.leaderboard,params:o})}async function Ne({baseUrl:e,accessToken:s}={}){const t=await f(s);return k()?{enabled:!1,updated_at:null,share_token:null}:y({baseUrl:e,accessToken:t,slug:p.publicVisibility})}async function De({baseUrl:e,accessToken:s,enabled:t}={}){const a=await f(s);return k()?{enabled:!!t,updated_at:new Date().toISOString(),share_token:t?"pv1-mock-token":null}:X({baseUrl:e,accessToken:a,slug:p.publicVisibility,body:{enabled:!!t}})}async function Le({baseUrl:e,accessToken:s,userId:t,period:a}={}){const n=await f(s);if(k()){const r=Z({seed:n,period:a,metric:"all",limit:250,offset:0}),i=(Array.isArray(r?.entries)?r.entries:[]).find(c=>c?.user_id===t)||null;return{period:r?.period??"week",from:r?.from??null,to:r?.to??null,generated_at:r?.generated_at??new Date().toISOString(),entry:i?{user_id:i.user_id??null,display_name:i.display_name??null,avatar_url:i.avatar_url??null,rank:i.rank??null,gpt_tokens:i.gpt_tokens??"0",claude_tokens:i.claude_tokens??"0",other_tokens:i.other_tokens??"0",total_tokens:i.total_tokens??"0"}:null}}return y({baseUrl:e,accessToken:n,slug:p.leaderboardProfile,params:{user_id:String(t||""),period:String(a||"")}})}async function He({baseUrl:e,accessToken:s}={}){const t=await f(s);if(k()){const a=new Date().toISOString();return{user_id:"mock-user",created_at:a,pro:{active:!0,sources:["mock"],expires_at:null,partial:!1,as_of:a},subscriptions:{partial:!1,as_of:a,items:[{tool:"codex",provider:"openai",product:"chatgpt",plan_type:"pro",updated_at:a},{tool:"claude",provider:"anthropic",product:"subscription",plan_type:"max",rate_limit_tier:"default_claude_max_5x",updated_at:a}]},install:{partial:!1,as_of:a,has_active_device_token:!1,has_active_device:!1,active_device_tokens:0,active_devices:0,latest_token_activity_at:null,latest_device_seen_at:null}}}return y({baseUrl:e,accessToken:t,slug:p.userStatus})}async function ze({signal:e}={}){const s=await fetch("/functions/vibeusage-local-sync",{method:"POST",headers:{Accept:"application/json"},cache:"no-store",signal:e}),t=await s.json().catch(()=>({ok:!1,error:`Local sync request failed with HTTP ${s.status}`}));if(!s.ok||t?.ok===!1){const a=t?.error||t?.message||`Local sync request failed with HTTP ${s.status}`,n=new Error(a);throw n.status=s.status,n.statusCode=s.status,n.payload=t,n}return t}async function Ue({baseUrl:e,accessToken:s,from:t,to:a,source:n,timeZone:r,tzOffsetMinutes:l}={}){const i=await f(s);if(k())return fe({from:t,to:a,seed:i});const c=M({timeZone:r,tzOffsetMinutes:l}),u=P({source:n});return y({baseUrl:e,accessToken:i,slug:p.usageModelBreakdown,params:{from:t,to:a,...u,...c}})}async function Be({baseUrl:e,accessToken:s,from:t,to:a,source:n,model:r,timeZone:l,tzOffsetMinutes:i}={}){const c=await f(s);if(k())return le({from:t,to:a,seed:c});const u=M({timeZone:l,tzOffsetMinutes:i}),o=P({source:n,model:r});return y({baseUrl:e,accessToken:c,slug:p.usageDaily,params:{from:t,to:a,...o,...u}})}async function Oe({baseUrl:e,accessToken:s,day:t,source:a,model:n,timeZone:r,tzOffsetMinutes:l}={}){const i=await f(s);if(k())return pe({day:t,seed:i});const c=M({timeZone:r,tzOffsetMinutes:l}),u=P({source:a,model:n});return y({baseUrl:e,accessToken:i,slug:p.usageHourly,params:t?{day:t,...u,...c}:{...u,...c}})}async function Fe({baseUrl:e,accessToken:s,months:t,to:a,source:n,model:r,timeZone:l,tzOffsetMinutes:i}={}){const c=await f(s);if(k())return ge({months:t,to:a,seed:c});const u=M({timeZone:l,tzOffsetMinutes:i}),o=P({source:n,model:r});return y({baseUrl:e,accessToken:c,slug:p.usageMonthly,params:{...t?{months:String(t)}:{},...a?{to:a}:{},...o,...u}})}async function qe({baseUrl:e,accessToken:s,weeks:t,to:a,weekStartsOn:n,source:r,model:l,timeZone:i,tzOffsetMinutes:c}={}){const u=await f(s);if(k())return ke({weeks:t,to:a,weekStartsOn:n,seed:u});const o=M({timeZone:i,tzOffsetMinutes:c}),d=P({source:r,model:l});return y({baseUrl:e,accessToken:u,slug:p.usageHeatmap,params:{weeks:String(t),to:a,week_starts_on:n,...d,...o}})}async function Ve({baseUrl:e,accessToken:s}={}){const t=await f(s);return k()?{link_code:"mock_link_code",expires_at:new Date(Date.now()+10*6e4).toISOString()}:X({baseUrl:e,accessToken:t,slug:p.linkCodeInit,body:{}})}async function $e({baseUrl:e,accessToken:s}={}){const t=await f(s);return y({baseUrl:e,accessToken:t,slug:p.publicViewProfile})}function M({timeZone:e,tzOffsetMinutes:s}={}){const t={},a=typeof e=="string"?e.trim():"";return a&&(t.tz=a),Number.isFinite(s)&&(t.tz_offset_minutes=String(Math.trunc(s))),t}function P({source:e,model:s}={}){const t={},a=typeof e=="string"?e.trim().toLowerCase():"";a&&(t.source=a);const n=typeof s=="string"?s.trim():"";return n&&(t.model=n),t}async function y({baseUrl:e,accessToken:s,slug:t,params:a,fetchOptions:n,errorPrefix:r,retry:l,requestKind:i=h.business,skipSessionExpiry:c=!1,allowRefresh:u=!0}={}){let o=await f(s),d=E(o),v=z({baseUrl:e,accessToken:o??void 0}).getHttpClient();const C=ae(l,"GET"),b=c?h.probe:i;let A=0;const{primaryPath:j,fallbackPath:I}=Q(t);for(;;)try{const S=await G({http:v,primaryPath:j,fallbackPath:I,params:a,fetchOptions:n});return U({hadAccessToken:d,accessToken:o}),S}catch(S){const T=S;if(T?.name==="AbortError")throw S;let w=null;const B=T?.statusCode??T?.status;if(u&&se({status:B,requestKind:b,hadAccessToken:d,accessToken:o})){const g=(await te())?.accessToken??null;if(E(g)){const N=z({baseUrl:e,accessToken:g}).getHttpClient();o=g,d=!0,v=N;try{const x=await G({http:N,primaryPath:j,fallbackPath:I,params:a,fetchOptions:n});return U({hadAccessToken:!0,accessToken:g}),x}catch(x){const F=x?.statusCode??x?.status;$({status:F,hadAccessToken:!0,accessToken:g,skipSessionExpiry:b===h.probe})&&L(),w=R(x,{errorPrefix:r,hadAccessToken:!0,accessToken:g,skipSessionExpiry:!0})}}else H({hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe})&&L();w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:!0})}if(w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe}),!ne({err:w,attempt:A,retryOptions:C}))throw w;const O=re({retryOptions:C,attempt:A});await ie(O),A+=1}}async function X({baseUrl:e,accessToken:s,slug:t,body:a,fetchOptions:n,errorPrefix:r,retry:l,requestKind:i=h.business,skipSessionExpiry:c=!1,allowRefresh:u=!0}={}){let o=await f(s),d=E(o),v=z({baseUrl:e,accessToken:o??void 0}).getHttpClient();const C=ae(l,"POST"),b=c?h.probe:i;let A=0;const{primaryPath:j,fallbackPath:I}=Q(t);for(;;)try{const S=await K({http:v,primaryPath:j,fallbackPath:I,body:a,fetchOptions:n});return U({hadAccessToken:d,accessToken:o}),S}catch(S){const T=S;if(T?.name==="AbortError")throw S;let w=null;const B=T?.statusCode??T?.status;if(u&&se({status:B,requestKind:b,hadAccessToken:d,accessToken:o})){const g=(await te())?.accessToken??null;if(E(g)){const N=z({baseUrl:e,accessToken:g}).getHttpClient();o=g,d=!0,v=N;try{const x=await K({http:N,primaryPath:j,fallbackPath:I,body:a,fetchOptions:n});return U({hadAccessToken:!0,accessToken:g}),x}catch(x){const F=x?.statusCode??x?.status;$({status:F,hadAccessToken:!0,accessToken:g,skipSessionExpiry:b===h.probe})&&L(),w=R(x,{errorPrefix:r,hadAccessToken:!0,accessToken:g,skipSessionExpiry:!0})}}else H({hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe})&&L();w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:!0})}if(w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe}),!ne({err:w,attempt:A,retryOptions:C}))throw w;const O=re({retryOptions:C,attempt:A});await ie(O),A+=1}}function Q(e){const s=Se(e),t=`${V(J)}/${s}`,a=`${V(be)}/${s}`;return{primaryPath:t,fallbackPath:a}}function Se(e){return(typeof e=="string"?e.trim():"").replace(/^\/+/,"")}function V(e){const s=typeof e=="string"?e.trim():"";return s.endsWith("/")?s.slice(0,-1):s}async function G({http:e,primaryPath:s,fallbackPath:t,params:a,fetchOptions:n}={}){try{return await e.get(s,{params:a,...n||{}})}catch(r){if(!Y(r,s))throw r;return await e.get(t,{params:a,...n||{}})}}async function K({http:e,primaryPath:s,fallbackPath:t,body:a,fetchOptions:n}={}){try{return await W({http:e,path:s,body:a,fetchOptions:n})}catch(r){if(!Y(r,s))throw r;return await W({http:e,path:t,body:a,fetchOptions:n})}}async function W({http:e,path:s,body:t,fetchOptions:a}={}){return await e.post(s,t,{...a||{}})}function Y(e,s){return!s||!s.startsWith(`${V(J)}/`)?!1:(e?.statusCode??e?.status)===404}function R(e,{errorPrefix:s,hadAccessToken:t,accessToken:a,skipSessionExpiry:n}={}){const r=typeof e?.message=="string"?e.message.trim():"",l=typeof e?.error=="string"?e.error.trim():"",i=r||l||String(e||"Unknown error"),c=ve(i),u=new Error(s?`${s}: ${c}`:c);u.cause=e;const o=e?.statusCode??e?.status;return $({status:o,hadAccessToken:t,accessToken:a,skipSessionExpiry:n})&&L(),typeof o=="number"&&(u.status=o,u.statusCode=o),u.retryable=Ae(o)||Me(i),c!==i&&(u.originalMessage=i),e?.nextActions&&(u.nextActions=e.nextActions),e?.error&&(u.error=e.error),u}function H({hadAccessToken:e,accessToken:s,skipSessionExpiry:t}={}){return t||!e||!E(s)?!1:Pe(s)}function $({status:e,hadAccessToken:s,accessToken:t,skipSessionExpiry:a}={}){return e!==401?!1:H({hadAccessToken:s,accessToken:t,skipSessionExpiry:a})}function _e({hadAccessToken:e,accessToken:s}={}){return H({hadAccessToken:e,accessToken:s})}function U({hadAccessToken:e,accessToken:s}={}){_e({hadAccessToken:e,accessToken:s})&&he()}function ve(e){return ee(e)?xe:String(e||"Unknown error")}function ee(e){const s=String(e||"").toLowerCase();return s?!!(s.includes("deno:")||s.includes("deno")||s.includes("econnreset")||s.includes("econnrefused")||s.includes("etimedout")||s.includes("timeout")&&s.includes("request")||s.includes("upstream")&&(s.includes("deno")||s.includes("connect"))):!1}function se({status:e,requestKind:s,hadAccessToken:t,accessToken:a}={}){return e!==401||s!==h.business?!1:H({hadAccessToken:t,accessToken:a})}async function te(){return D||(D=Te.auth.getCurrentSession().then(({data:e})=>e?.session??null).catch(()=>null).finally(()=>{D=null}),D)}function Ae(e){return e===502||e===503||e===504}function Me(e){const s=String(e||"").toLowerCase();return s?!!(ee(s)||s.includes("econnreset")||s.includes("econnrefused")||s.includes("etimedout")||s.includes("timeout")||s.includes("networkerror")||s.includes("failed to fetch")||s.includes("socket hang up")||s.includes("connection reset")):!1}function ae(e,s){const a=(s||"GET").toUpperCase()==="GET"?{maxRetries:2,baseDelayMs:300,maxDelayMs:1500,jitterRatio:.2}:{maxRetries:0,baseDelayMs:0,maxDelayMs:0,jitterRatio:0};if(e==null)return a;if(e===!1)return{maxRetries:0,baseDelayMs:0,maxDelayMs:0,jitterRatio:0};const n=q(e.maxRetries??a.maxRetries,0,10),r=q(e.baseDelayMs??a.baseDelayMs,50,6e4),l=q(e.maxDelayMs??a.maxDelayMs,r,12e4),i=typeof e.jitterRatio=="number"?Math.max(0,Math.min(.5,e.jitterRatio)):a.jitterRatio;return{maxRetries:n,baseDelayMs:r,maxDelayMs:l,jitterRatio:i}}function E(e){return!!ye(e)}function Pe(e){if(!E(e))return!1;const s=e.split(".");return s.length!==3?!1:s.every(t=>/^[A-Za-z0-9_-]+$/.test(t))}function ne({err:e,attempt:s,retryOptions:t}={}){return!t||t.maxRetries<=0||s>=t.maxRetries?!1:!!(e&&e.retryable)}function re({retryOptions:e,attempt:s}={}){if(!e||e.maxRetries<=0)return 0;const t=e.baseDelayMs*Math.pow(2,s),a=Math.min(e.maxDelayMs,t),n=a*e.jitterRatio*Math.random();return Math.round(a+n)}function q(e,s,t){const a=Number(e);return Number.isFinite(a)?Math.min(t,Math.max(s,Math.floor(a))):s}function ie(e){return!e||e<=0?Promise.resolve():new Promise(s=>setTimeout(s,e))}const _={TOP_LEFT:"┌",TOP_RIGHT:"┐",BOTTOM_LEFT:"└",BOTTOM_RIGHT:"┘",HORIZONTAL:"─",VERTICAL:"│"};function Ge({title:e,subtitle:s,children:t,className:a="",bodyClassName:n=""}){return m.jsxs("div",{className:`relative flex flex-col matrix-panel ${a}`,children:[m.jsxs("div",{className:"flex items-center leading-none",children:[m.jsx("span",{className:"shrink-0 text-matrix-dim",children:_.TOP_LEFT}),m.jsx("span",{className:"mx-3 shrink-0 text-heading uppercase text-matrix-primary px-2 py-1 bg-matrix-panelStrong border border-matrix-ghost",children:e}),s?m.jsxs("span",{className:"text-caption text-matrix-muted mr-2 uppercase",children:["[",s,"]"]}):null,m.jsx("span",{className:"flex-1 overflow-hidden whitespace-nowrap text-matrix-ghost",children:_.HORIZONTAL.repeat(100)}),m.jsx("span",{className:"shrink-0 text-matrix-dim",children:_.TOP_RIGHT})]}),m.jsxs("div",{className:"flex flex-1",children:[m.jsx("div",{className:"shrink-0 w-3 flex justify-center text-matrix-ghost",children:_.VERTICAL}),m.jsx("div",{className:`flex-1 min-w-0 py-5 px-4 relative z-10 ${n}`,children:t}),m.jsx("div",{className:"shrink-0 w-3 flex justify-center text-matrix-ghost",children:_.VERTICAL})]}),m.jsxs("div",{className:"flex items-center leading-none text-matrix-ghost",children:[m.jsx("span",{className:"shrink-0",children:_.BOTTOM_LEFT}),m.jsx("span",{className:"flex-1 overflow-hidden whitespace-nowrap",children:_.HORIZONTAL.repeat(100)}),m.jsx("span",{className:"shrink-0",children:_.BOTTOM_RIGHT})]})]})}export{Ge as A,Be as a,je as b,Oe as c,Fe as d,Ce as e,Ue as f,qe as g,Ne as h,$e as i,He as j,Ie as k,Le as l,Ee as p,Ve as r,De as s,ze as t};
1
+ import{b as k,ad as Z,d as ue,ae as z,af as L,ag as le,ah as de,ai as fe,aj as me,ak as pe,al as ge,am as ke,_ as ye,an as he,ao as Te,ap as we,m}from"./main-B206gspN.js";const xe="Backend runtime unavailable (InsForge). Please retry later.",p={usageSummary:"vibeusage-usage-summary",usageDaily:"vibeusage-usage-daily",usageHourly:"vibeusage-usage-hourly",usageMonthly:"vibeusage-usage-monthly",usageHeatmap:"vibeusage-usage-heatmap",usageModelBreakdown:"vibeusage-usage-model-breakdown",projectUsageSummary:"vibeusage-project-usage-summary",leaderboard:"vibeusage-leaderboard",leaderboardProfile:"vibeusage-leaderboard-profile",userStatus:"vibeusage-user-status",linkCodeInit:"vibeusage-link-code-init",publicViewProfile:"vibeusage-public-view-profile",publicVisibility:"vibeusage-public-visibility"},J="/functions",be="/api/functions",h={business:"business",probe:"probe"};let D=null;async function f(e){return await ue(e)}async function Ee({baseUrl:e,accessToken:s,signal:t}={}){const a=await f(s),n=we(new Date);return await y({baseUrl:e,accessToken:a,slug:p.usageSummary,params:{from:n,to:n},fetchOptions:{cache:"no-store",signal:t},retry:!1,requestKind:h.probe}),{status:200}}async function Ce({baseUrl:e,accessToken:s,from:t,to:a,source:n,model:r,timeZone:l,tzOffsetMinutes:i,rolling:c=!1}={}){const u=await f(s);if(k())return de({from:t,to:a,seed:u,rolling:c});const o=M({timeZone:l,tzOffsetMinutes:i}),d=P({source:n,model:r}),v=c?{rolling:"1"}:{};return y({baseUrl:e,accessToken:u,slug:p.usageSummary,params:{from:t,to:a,...d,...o,...v}})}async function je({baseUrl:e,accessToken:s,from:t,to:a,source:n,limit:r,timeZone:l,tzOffsetMinutes:i}={}){const c=await f(s);if(k())return me({seed:c,limit:r});const u=M({timeZone:l,tzOffsetMinutes:i}),d={...P({source:n}),...u};return t&&(d.from=t),a&&(d.to=a),r!=null&&(d.limit=String(r)),y({baseUrl:e,accessToken:c,slug:p.projectUsageSummary,params:d})}async function Ie({baseUrl:e,accessToken:s,period:t,metric:a,limit:n,offset:r}={}){const l=await f(s);if(k())return Z({seed:l,period:t,metric:a,limit:n,offset:r});const c=(typeof t=="string"?t:"week").trim().toLowerCase(),o={period:c==="month"||c==="total"||c==="week"?c:"week"};return a&&(o.metric=String(a)),n!=null&&(o.limit=String(n)),r!=null&&(o.offset=String(r)),y({baseUrl:e,accessToken:l,slug:p.leaderboard,params:o})}async function Ne({baseUrl:e,accessToken:s}={}){const t=await f(s);return k()?{enabled:!1,updated_at:null,share_token:null}:y({baseUrl:e,accessToken:t,slug:p.publicVisibility})}async function De({baseUrl:e,accessToken:s,enabled:t}={}){const a=await f(s);return k()?{enabled:!!t,updated_at:new Date().toISOString(),share_token:t?"pv1-mock-token":null}:X({baseUrl:e,accessToken:a,slug:p.publicVisibility,body:{enabled:!!t}})}async function Le({baseUrl:e,accessToken:s,userId:t,period:a}={}){const n=await f(s);if(k()){const r=Z({seed:n,period:a,metric:"all",limit:250,offset:0}),i=(Array.isArray(r?.entries)?r.entries:[]).find(c=>c?.user_id===t)||null;return{period:r?.period??"week",from:r?.from??null,to:r?.to??null,generated_at:r?.generated_at??new Date().toISOString(),entry:i?{user_id:i.user_id??null,display_name:i.display_name??null,avatar_url:i.avatar_url??null,rank:i.rank??null,gpt_tokens:i.gpt_tokens??"0",claude_tokens:i.claude_tokens??"0",other_tokens:i.other_tokens??"0",total_tokens:i.total_tokens??"0"}:null}}return y({baseUrl:e,accessToken:n,slug:p.leaderboardProfile,params:{user_id:String(t||""),period:String(a||"")}})}async function He({baseUrl:e,accessToken:s}={}){const t=await f(s);if(k()){const a=new Date().toISOString();return{user_id:"mock-user",created_at:a,pro:{active:!0,sources:["mock"],expires_at:null,partial:!1,as_of:a},subscriptions:{partial:!1,as_of:a,items:[{tool:"codex",provider:"openai",product:"chatgpt",plan_type:"pro",updated_at:a},{tool:"claude",provider:"anthropic",product:"subscription",plan_type:"max",rate_limit_tier:"default_claude_max_5x",updated_at:a}]},install:{partial:!1,as_of:a,has_active_device_token:!1,has_active_device:!1,active_device_tokens:0,active_devices:0,latest_token_activity_at:null,latest_device_seen_at:null}}}return y({baseUrl:e,accessToken:t,slug:p.userStatus})}async function ze({signal:e}={}){const s=await fetch("/functions/vibeusage-local-sync",{method:"POST",headers:{Accept:"application/json"},cache:"no-store",signal:e}),t=await s.json().catch(()=>({ok:!1,error:`Local sync request failed with HTTP ${s.status}`}));if(!s.ok||t?.ok===!1){const a=t?.error||t?.message||`Local sync request failed with HTTP ${s.status}`,n=new Error(a);throw n.status=s.status,n.statusCode=s.status,n.payload=t,n}return t}async function Ue({baseUrl:e,accessToken:s,from:t,to:a,source:n,timeZone:r,tzOffsetMinutes:l}={}){const i=await f(s);if(k())return fe({from:t,to:a,seed:i});const c=M({timeZone:r,tzOffsetMinutes:l}),u=P({source:n});return y({baseUrl:e,accessToken:i,slug:p.usageModelBreakdown,params:{from:t,to:a,...u,...c}})}async function Be({baseUrl:e,accessToken:s,from:t,to:a,source:n,model:r,timeZone:l,tzOffsetMinutes:i}={}){const c=await f(s);if(k())return le({from:t,to:a,seed:c});const u=M({timeZone:l,tzOffsetMinutes:i}),o=P({source:n,model:r});return y({baseUrl:e,accessToken:c,slug:p.usageDaily,params:{from:t,to:a,...o,...u}})}async function Oe({baseUrl:e,accessToken:s,day:t,source:a,model:n,timeZone:r,tzOffsetMinutes:l}={}){const i=await f(s);if(k())return pe({day:t,seed:i});const c=M({timeZone:r,tzOffsetMinutes:l}),u=P({source:a,model:n});return y({baseUrl:e,accessToken:i,slug:p.usageHourly,params:t?{day:t,...u,...c}:{...u,...c}})}async function Fe({baseUrl:e,accessToken:s,months:t,to:a,source:n,model:r,timeZone:l,tzOffsetMinutes:i}={}){const c=await f(s);if(k())return ge({months:t,to:a,seed:c});const u=M({timeZone:l,tzOffsetMinutes:i}),o=P({source:n,model:r});return y({baseUrl:e,accessToken:c,slug:p.usageMonthly,params:{...t?{months:String(t)}:{},...a?{to:a}:{},...o,...u}})}async function qe({baseUrl:e,accessToken:s,weeks:t,to:a,weekStartsOn:n,source:r,model:l,timeZone:i,tzOffsetMinutes:c}={}){const u=await f(s);if(k())return ke({weeks:t,to:a,weekStartsOn:n,seed:u});const o=M({timeZone:i,tzOffsetMinutes:c}),d=P({source:r,model:l});return y({baseUrl:e,accessToken:u,slug:p.usageHeatmap,params:{weeks:String(t),to:a,week_starts_on:n,...d,...o}})}async function Ve({baseUrl:e,accessToken:s}={}){const t=await f(s);return k()?{link_code:"mock_link_code",expires_at:new Date(Date.now()+10*6e4).toISOString()}:X({baseUrl:e,accessToken:t,slug:p.linkCodeInit,body:{}})}async function $e({baseUrl:e,accessToken:s}={}){const t=await f(s);return y({baseUrl:e,accessToken:t,slug:p.publicViewProfile})}function M({timeZone:e,tzOffsetMinutes:s}={}){const t={},a=typeof e=="string"?e.trim():"";return a&&(t.tz=a),Number.isFinite(s)&&(t.tz_offset_minutes=String(Math.trunc(s))),t}function P({source:e,model:s}={}){const t={},a=typeof e=="string"?e.trim().toLowerCase():"";a&&(t.source=a);const n=typeof s=="string"?s.trim():"";return n&&(t.model=n),t}async function y({baseUrl:e,accessToken:s,slug:t,params:a,fetchOptions:n,errorPrefix:r,retry:l,requestKind:i=h.business,skipSessionExpiry:c=!1,allowRefresh:u=!0}={}){let o=await f(s),d=E(o),v=z({baseUrl:e,accessToken:o??void 0}).getHttpClient();const C=ae(l,"GET"),b=c?h.probe:i;let A=0;const{primaryPath:j,fallbackPath:I}=Q(t);for(;;)try{const S=await G({http:v,primaryPath:j,fallbackPath:I,params:a,fetchOptions:n});return U({hadAccessToken:d,accessToken:o}),S}catch(S){const T=S;if(T?.name==="AbortError")throw S;let w=null;const B=T?.statusCode??T?.status;if(u&&se({status:B,requestKind:b,hadAccessToken:d,accessToken:o})){const g=(await te())?.accessToken??null;if(E(g)){const N=z({baseUrl:e,accessToken:g}).getHttpClient();o=g,d=!0,v=N;try{const x=await G({http:N,primaryPath:j,fallbackPath:I,params:a,fetchOptions:n});return U({hadAccessToken:!0,accessToken:g}),x}catch(x){const F=x?.statusCode??x?.status;$({status:F,hadAccessToken:!0,accessToken:g,skipSessionExpiry:b===h.probe})&&L(),w=R(x,{errorPrefix:r,hadAccessToken:!0,accessToken:g,skipSessionExpiry:!0})}}else H({hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe})&&L();w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:!0})}if(w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe}),!ne({err:w,attempt:A,retryOptions:C}))throw w;const O=re({retryOptions:C,attempt:A});await ie(O),A+=1}}async function X({baseUrl:e,accessToken:s,slug:t,body:a,fetchOptions:n,errorPrefix:r,retry:l,requestKind:i=h.business,skipSessionExpiry:c=!1,allowRefresh:u=!0}={}){let o=await f(s),d=E(o),v=z({baseUrl:e,accessToken:o??void 0}).getHttpClient();const C=ae(l,"POST"),b=c?h.probe:i;let A=0;const{primaryPath:j,fallbackPath:I}=Q(t);for(;;)try{const S=await K({http:v,primaryPath:j,fallbackPath:I,body:a,fetchOptions:n});return U({hadAccessToken:d,accessToken:o}),S}catch(S){const T=S;if(T?.name==="AbortError")throw S;let w=null;const B=T?.statusCode??T?.status;if(u&&se({status:B,requestKind:b,hadAccessToken:d,accessToken:o})){const g=(await te())?.accessToken??null;if(E(g)){const N=z({baseUrl:e,accessToken:g}).getHttpClient();o=g,d=!0,v=N;try{const x=await K({http:N,primaryPath:j,fallbackPath:I,body:a,fetchOptions:n});return U({hadAccessToken:!0,accessToken:g}),x}catch(x){const F=x?.statusCode??x?.status;$({status:F,hadAccessToken:!0,accessToken:g,skipSessionExpiry:b===h.probe})&&L(),w=R(x,{errorPrefix:r,hadAccessToken:!0,accessToken:g,skipSessionExpiry:!0})}}else H({hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe})&&L();w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:!0})}if(w??=R(T,{errorPrefix:r,hadAccessToken:d,accessToken:o,skipSessionExpiry:b===h.probe}),!ne({err:w,attempt:A,retryOptions:C}))throw w;const O=re({retryOptions:C,attempt:A});await ie(O),A+=1}}function Q(e){const s=Se(e),t=`${V(J)}/${s}`,a=`${V(be)}/${s}`;return{primaryPath:t,fallbackPath:a}}function Se(e){return(typeof e=="string"?e.trim():"").replace(/^\/+/,"")}function V(e){const s=typeof e=="string"?e.trim():"";return s.endsWith("/")?s.slice(0,-1):s}async function G({http:e,primaryPath:s,fallbackPath:t,params:a,fetchOptions:n}={}){try{return await e.get(s,{params:a,...n||{}})}catch(r){if(!Y(r,s))throw r;return await e.get(t,{params:a,...n||{}})}}async function K({http:e,primaryPath:s,fallbackPath:t,body:a,fetchOptions:n}={}){try{return await W({http:e,path:s,body:a,fetchOptions:n})}catch(r){if(!Y(r,s))throw r;return await W({http:e,path:t,body:a,fetchOptions:n})}}async function W({http:e,path:s,body:t,fetchOptions:a}={}){return await e.post(s,t,{...a||{}})}function Y(e,s){return!s||!s.startsWith(`${V(J)}/`)?!1:(e?.statusCode??e?.status)===404}function R(e,{errorPrefix:s,hadAccessToken:t,accessToken:a,skipSessionExpiry:n}={}){const r=typeof e?.message=="string"?e.message.trim():"",l=typeof e?.error=="string"?e.error.trim():"",i=r||l||String(e||"Unknown error"),c=ve(i),u=new Error(s?`${s}: ${c}`:c);u.cause=e;const o=e?.statusCode??e?.status;return $({status:o,hadAccessToken:t,accessToken:a,skipSessionExpiry:n})&&L(),typeof o=="number"&&(u.status=o,u.statusCode=o),u.retryable=Ae(o)||Me(i),c!==i&&(u.originalMessage=i),e?.nextActions&&(u.nextActions=e.nextActions),e?.error&&(u.error=e.error),u}function H({hadAccessToken:e,accessToken:s,skipSessionExpiry:t}={}){return t||!e||!E(s)?!1:Pe(s)}function $({status:e,hadAccessToken:s,accessToken:t,skipSessionExpiry:a}={}){return e!==401?!1:H({hadAccessToken:s,accessToken:t,skipSessionExpiry:a})}function _e({hadAccessToken:e,accessToken:s}={}){return H({hadAccessToken:e,accessToken:s})}function U({hadAccessToken:e,accessToken:s}={}){_e({hadAccessToken:e,accessToken:s})&&he()}function ve(e){return ee(e)?xe:String(e||"Unknown error")}function ee(e){const s=String(e||"").toLowerCase();return s?!!(s.includes("deno:")||s.includes("deno")||s.includes("econnreset")||s.includes("econnrefused")||s.includes("etimedout")||s.includes("timeout")&&s.includes("request")||s.includes("upstream")&&(s.includes("deno")||s.includes("connect"))):!1}function se({status:e,requestKind:s,hadAccessToken:t,accessToken:a}={}){return e!==401||s!==h.business?!1:H({hadAccessToken:t,accessToken:a})}async function te(){return D||(D=Te.auth.getCurrentSession().then(({data:e})=>e?.session??null).catch(()=>null).finally(()=>{D=null}),D)}function Ae(e){return e===502||e===503||e===504}function Me(e){const s=String(e||"").toLowerCase();return s?!!(ee(s)||s.includes("econnreset")||s.includes("econnrefused")||s.includes("etimedout")||s.includes("timeout")||s.includes("networkerror")||s.includes("failed to fetch")||s.includes("socket hang up")||s.includes("connection reset")):!1}function ae(e,s){const a=(s||"GET").toUpperCase()==="GET"?{maxRetries:2,baseDelayMs:300,maxDelayMs:1500,jitterRatio:.2}:{maxRetries:0,baseDelayMs:0,maxDelayMs:0,jitterRatio:0};if(e==null)return a;if(e===!1)return{maxRetries:0,baseDelayMs:0,maxDelayMs:0,jitterRatio:0};const n=q(e.maxRetries??a.maxRetries,0,10),r=q(e.baseDelayMs??a.baseDelayMs,50,6e4),l=q(e.maxDelayMs??a.maxDelayMs,r,12e4),i=typeof e.jitterRatio=="number"?Math.max(0,Math.min(.5,e.jitterRatio)):a.jitterRatio;return{maxRetries:n,baseDelayMs:r,maxDelayMs:l,jitterRatio:i}}function E(e){return!!ye(e)}function Pe(e){if(!E(e))return!1;const s=e.split(".");return s.length!==3?!1:s.every(t=>/^[A-Za-z0-9_-]+$/.test(t))}function ne({err:e,attempt:s,retryOptions:t}={}){return!t||t.maxRetries<=0||s>=t.maxRetries?!1:!!(e&&e.retryable)}function re({retryOptions:e,attempt:s}={}){if(!e||e.maxRetries<=0)return 0;const t=e.baseDelayMs*Math.pow(2,s),a=Math.min(e.maxDelayMs,t),n=a*e.jitterRatio*Math.random();return Math.round(a+n)}function q(e,s,t){const a=Number(e);return Number.isFinite(a)?Math.min(t,Math.max(s,Math.floor(a))):s}function ie(e){return!e||e<=0?Promise.resolve():new Promise(s=>setTimeout(s,e))}const _={TOP_LEFT:"┌",TOP_RIGHT:"┐",BOTTOM_LEFT:"└",BOTTOM_RIGHT:"┘",HORIZONTAL:"─",VERTICAL:"│"};function Ge({title:e,subtitle:s,children:t,className:a="",bodyClassName:n=""}){return m.jsxs("div",{className:`relative flex flex-col matrix-panel ${a}`,children:[m.jsxs("div",{className:"flex items-center leading-none",children:[m.jsx("span",{className:"shrink-0 text-matrix-dim",children:_.TOP_LEFT}),m.jsx("span",{className:"mx-3 shrink-0 text-heading uppercase text-matrix-primary px-2 py-1 bg-matrix-panelStrong border border-matrix-ghost",children:e}),s?m.jsxs("span",{className:"text-caption text-matrix-muted mr-2 uppercase",children:["[",s,"]"]}):null,m.jsx("span",{className:"flex-1 overflow-hidden whitespace-nowrap text-matrix-ghost",children:_.HORIZONTAL.repeat(100)}),m.jsx("span",{className:"shrink-0 text-matrix-dim",children:_.TOP_RIGHT})]}),m.jsxs("div",{className:"flex flex-1",children:[m.jsx("div",{className:"shrink-0 w-3 flex justify-center text-matrix-ghost",children:_.VERTICAL}),m.jsx("div",{className:`flex-1 min-w-0 py-5 px-4 relative z-10 ${n}`,children:t}),m.jsx("div",{className:"shrink-0 w-3 flex justify-center text-matrix-ghost",children:_.VERTICAL})]}),m.jsxs("div",{className:"flex items-center leading-none text-matrix-ghost",children:[m.jsx("span",{className:"shrink-0",children:_.BOTTOM_LEFT}),m.jsx("span",{className:"flex-1 overflow-hidden whitespace-nowrap",children:_.HORIZONTAL.repeat(100)}),m.jsx("span",{className:"shrink-0",children:_.BOTTOM_RIGHT})]})]})}export{Ge as A,Be as a,je as b,Oe as c,Fe as d,Ce as e,Ue as f,qe as g,Ne as h,$e as i,He as j,Ie as k,Le as l,Ee as p,Ve as r,De as s,ze as t};
@@ -1,4 +1,4 @@
1
- import{r as h,u as Mn,i as Wf,a as Rt,g as Kf,b as Jt,c as Qt,d as ot,e as Or,f as Yn,h as js,j as mi,k as zt,t as Ze,l as P,T as Hf,m as g,n as Pe,o as pi,p as Tl,q as kl,s as ie,N as Cl,v as El,w as gi,x as pt,y as Al,E as gn,z as yi,A as Gf,B as Dn,C as Do,D as Yf,F as Pl,G as Vs,H as Rl,I as zf,J as At,K as er,L as qf,M as tr,O as No,P as Xf,Q as Zf,R as Ml,S as Jf,U as Qf,V as eh,W as th,X as Dl,Y as Nl,Z as nh,_ as sh,$ as rh,a0 as ih,a1 as oh,a2 as ah,a3 as lh,a4 as ch,a5 as ht,a6 as uh,a7 as dh,a8 as nr}from"./main-DepLUlUX.js";import{g as fh,a as bi,b as hh,c as mh,d as ph,e as sr,f as gh,A as yh,r as bh,h as jo,i as xh,j as vh,t as wh,s as Sh}from"./AsciiBox-BTY8AuX7.js";const Th="data-base-ui-click-trigger",kh={clipPath:"inset(50%)",position:"fixed",top:0,left:0},Ch=[];function jl(e){h.useEffect(e,Ch)}const dn=0;class qt{static create(){return new qt}currentId=dn;start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=dn,n()},t)}isStarted(){return this.currentId!==dn}clear=()=>{this.currentId!==dn&&(clearTimeout(this.currentId),this.currentId=dn)};disposeEffect=()=>this.clear}function ps(){const e=Mn(qt.create).current;return jl(e.disposeEffect),e}function Nn(e){return e?.ownerDocument||document}const en=typeof navigator<"u",rr=Rh(),Vl=Dh(),Ll=Mh(),Eh=typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter:none"),Il=rr.platform==="MacIntel"&&rr.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(rr.platform),Ah=en&&/apple/i.test(navigator.vendor),Br=en&&/android/i.test(Vl)||/android/i.test(Ll);en&&Vl.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;const Ph=Ll.includes("jsdom/");function Rh(){if(!en)return{platform:"",maxTouchPoints:-1};const e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}function Mh(){if(!en)return"";const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:t,version:n})=>`${t}/${n}`).join(" "):navigator.userAgent}function Dh(){if(!en)return"";const e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}const $r="data-base-ui-focusable",Fl="active",_l="selected",Nh="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function Bt(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function we(e,t){if(!e||!t)return!1;const n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&Wf(n)){let s=t;for(;s;){if(e===s)return!0;s=s.parentNode||s.host}}return!1}function qe(e){return"composedPath"in e?e.composedPath()[0]:e.target}function Ge(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const n=e;return n.target!=null&&t.contains(n.target)}function jh(e){return e.matches("html,body")}function Le(e){return e?.ownerDocument||document}function Vh(e){return Rt(e)&&e.matches(Nh)}function Vo(e){return e?e.getAttribute("role")==="combobox"&&Vh(e):!1}function Ur(e){return e?e.hasAttribute($r)?e:e.querySelector(`[${$r}]`)||e:null}function Gt(e,t,n=!0){return e.filter(r=>r.parentId===t&&(!n||r.context?.open)).flatMap(r=>[r,...Gt(e,r.id,n)])}function Lo(e,t){let n=[],s=e.find(r=>r.id===t)?.parentId;for(;s;){const r=e.find(i=>i.id===s);s=r?.parentId,r&&(n=n.concat(r))}return n}function Lh(e){e.preventDefault(),e.stopPropagation()}function Ih(e){return"nativeEvent"in e}function Fh(e){return e.mozInputSource===0&&e.isTrusted?!0:Br&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function _h(e){return Ph?!1:!Br&&e.width===0&&e.height===0||Br&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function Oh(e){const t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}var Bh=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],gs=Bh.join(","),Ol=typeof Element>"u",Xt=Ol?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ys=!Ol&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},bs=function(t,n){var s;n===void 0&&(n=!0);var r=t==null||(s=t.getAttribute)===null||s===void 0?void 0:s.call(t,"inert"),i=r===""||r==="true",o=i||n&&t&&(typeof t.closest=="function"?t.closest("[inert]"):bs(t.parentNode));return o},$h=function(t){var n,s=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return s===""||s==="true"},Bl=function(t,n,s){if(bs(t))return[];var r=Array.prototype.slice.apply(t.querySelectorAll(gs));return n&&Xt.call(t,gs)&&r.unshift(t),r=r.filter(s),r},xs=function(t,n,s){for(var r=[],i=Array.from(t);i.length;){var o=i.shift();if(!bs(o,!1))if(o.tagName==="SLOT"){var a=o.assignedElements(),l=a.length?a:o.children,c=xs(l,!0,s);s.flatten?r.push.apply(r,c):r.push({scopeParent:o,candidates:c})}else{var u=Xt.call(o,gs);u&&s.filter(o)&&(n||!t.includes(o))&&r.push(o);var d=o.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(o),f=!bs(d,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(o));if(d&&f){var p=xs(d===!0?o.children:d.children,!0,s);s.flatten?r.push.apply(r,p):r.push({scopeParent:o,candidates:p})}else i.unshift.apply(i,o.children)}}return r},$l=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},Ul=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||$h(t))&&!$l(t)?0:t.tabIndex},Uh=function(t,n){var s=Ul(t);return s<0&&n&&!$l(t)?0:s},Wh=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},Wl=function(t){return t.tagName==="INPUT"},Kh=function(t){return Wl(t)&&t.type==="hidden"},Hh=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(s){return s.tagName==="SUMMARY"});return n},Gh=function(t,n){for(var s=0;s<t.length;s++)if(t[s].checked&&t[s].form===n)return t[s]},Yh=function(t){if(!t.name)return!0;var n=t.form||ys(t),s=function(a){return n.querySelectorAll('input[type="radio"][name="'+a+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=s(window.CSS.escape(t.name));else try{r=s(t.name)}catch(o){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",o.message),!1}var i=Gh(r,t.form);return!i||i===t},zh=function(t){return Wl(t)&&t.type==="radio"},qh=function(t){return zh(t)&&!Yh(t)},Xh=function(t){var n,s=t&&ys(t),r=(n=s)===null||n===void 0?void 0:n.host,i=!1;if(s&&s!==t){var o,a,l;for(i=!!((o=r)!==null&&o!==void 0&&(a=o.ownerDocument)!==null&&a!==void 0&&a.contains(r)||t!=null&&(l=t.ownerDocument)!==null&&l!==void 0&&l.contains(t));!i&&r;){var c,u,d;s=ys(r),r=(c=s)===null||c===void 0?void 0:c.host,i=!!((u=r)!==null&&u!==void 0&&(d=u.ownerDocument)!==null&&d!==void 0&&d.contains(r))}}return i},Io=function(t){var n=t.getBoundingClientRect(),s=n.width,r=n.height;return s===0&&r===0},Zh=function(t,n){var s=n.displayCheck,r=n.getShadowRoot;if(s==="full-native"&&"checkVisibility"in t){var i=t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!i}if(getComputedStyle(t).visibility==="hidden")return!0;var o=Xt.call(t,"details>summary:first-of-type"),a=o?t.parentElement:t;if(Xt.call(a,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="full-native"||s==="legacy-full"){if(typeof r=="function"){for(var l=t;t;){var c=t.parentElement,u=ys(t);if(c&&!c.shadowRoot&&r(c)===!0)return Io(t);t.assignedSlot?t=t.assignedSlot:!c&&u!==t.ownerDocument?t=u.host:t=c}t=l}if(Xh(t))return!t.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return Io(t);return!1},Jh=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var s=0;s<n.children.length;s++){var r=n.children.item(s);if(r.tagName==="LEGEND")return Xt.call(n,"fieldset[disabled] *")?!0:!r.contains(t)}return!0}n=n.parentElement}return!1},Wr=function(t,n){return!(n.disabled||Kh(n)||Zh(n,t)||Hh(n)||Jh(n))},Kr=function(t,n){return!(qh(n)||Ul(n)<0||!Wr(t,n))},Qh=function(t){var n=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(n)||n>=0)},Kl=function(t){var n=[],s=[];return t.forEach(function(r,i){var o=!!r.scopeParent,a=o?r.scopeParent:r,l=Uh(a,o),c=o?Kl(r.candidates):a;l===0?o?n.push.apply(n,c):n.push(a):s.push({documentOrder:i,tabIndex:l,item:r,isScope:o,content:c})}),s.sort(Wh).reduce(function(r,i){return i.isScope?r.push.apply(r,i.content):r.push(i.content),r},[]).concat(n)},Ls=function(t,n){n=n||{};var s;return n.getShadowRoot?s=xs([t],n.includeContainer,{filter:Kr.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:Qh}):s=Bl(t,n.includeContainer,Kr.bind(null,n)),Kl(s)},em=function(t,n){n=n||{};var s;return n.getShadowRoot?s=xs([t],n.includeContainer,{filter:Wr.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):s=Bl(t,n.includeContainer,Wr.bind(null,n)),s},Hl=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return Xt.call(t,gs)===!1?!1:Kr(n,t)};const jn=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function Gl(e,t){const n=Ls(e,jn()),s=n.length;if(s===0)return;const r=Bt(Le(e)),i=n.indexOf(r),o=i===-1?t===1?0:s-1:i+t;return n[o]}function Yl(e){return Gl(Le(e).body,1)||e}function zl(e){return Gl(Le(e).body,-1)||e}function yn(e,t){const n=t||e.currentTarget,s=e.relatedTarget;return!s||!we(n,s)}function tm(e){Ls(e,jn()).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function Fo(e){e.querySelectorAll("[data-tabindex]").forEach(n=>{const s=n.dataset.tabindex;delete n.dataset.tabindex,s?n.setAttribute("tabindex",s):n.removeAttribute("tabindex")})}function nm({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:s=52,weekStartsOn:r="sun",cacheKey:i,timeZone:o,tzOffsetMinutes:a,now:l}={}){const c=h.useMemo(()=>Kf({weeks:s,weekStartsOn:r,now:l}),[l,s,r]),[u,d]=h.useState([]),[f,p]=h.useState(null),[m,y]=h.useState("edge"),[b,x]=h.useState(!1),[w,v]=h.useState(null),k=Jt(),S=Qt(t),R=!n,N=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),C=h.useMemo(()=>{if(!i)return null;const $=js({timeZone:o,offsetMinutes:a});return`vibeusage.heatmap.${i}.${s}.${r}.${$}`},[i,o,a,s,r]),I=h.useCallback(()=>{if(!C||typeof window>"u")return null;try{const $=window.localStorage.getItem(C);if(!$)return null;const j=JSON.parse($);return!j||!j.heatmap?null:j}catch{return null}},[C]),A=h.useCallback($=>{if(!(!C||typeof window>"u"))try{window.localStorage.setItem(C,JSON.stringify($))}catch{}},[C]),M=h.useCallback(()=>{if(!(!C||typeof window>"u"))try{window.localStorage.removeItem(C)}catch{}},[C]),U=h.useCallback(async()=>{const $=await ot(t);if(!(!$&&!k&&!N)){x(!0),v(null);try{try{const D=await fh({baseUrl:e,accessToken:$,weeks:s,to:c.to,weekStartsOn:r,timeZone:o,tzOffsetMinutes:a}),_=Array.isArray(D?.weeks)?D.weeks:[];if(!_.length&&R){const X=I();if(X?.heatmap){p(X.heatmap),d(X.daily||[]),y("cache");return}}if(!_.some(X=>(Array.isArray(X)?X:[]).some(se=>se&&Number.isFinite(Number(se.level))))&&_.length){const X=[];for(const H of _)for(const Q of Array.isArray(H)?H:[])Q?.day&&X.push({day:Q.day,total_tokens:Q.total_tokens??Q.value??0,billable_total_tokens:Q.billable_total_tokens??Q.value??Q.total_tokens??0});const se=Or({dailyRows:X,weeks:s,to:D?.to||c.to,weekStartsOn:r});d(X),p({...se,week_starts_on:r,active_days:X.filter(H=>Number(H?.billable_total_tokens??H?.total_tokens)>0).length,streak_days:Yn({dailyRows:X,to:D?.to||c.to})}),y("client"),R?A({heatmap:{...se,week_starts_on:r,active_days:X.filter(H=>Number(H?.billable_total_tokens??H?.total_tokens)>0).length,streak_days:Yn({dailyRows:X,to:D?.to||c.to})},daily:X,fetchedAt:new Date().toISOString()}):M();return}p(D||null),d([]),y("edge"),D&&R?A({heatmap:D,daily:[],fetchedAt:new Date().toISOString()}):R||M();return}catch(D){const _=D,z=_?.status??_?.statusCode;if(z===401||z===403)throw D}const j=await bi({baseUrl:e,accessToken:$,from:c.from,to:c.to,timeZone:o,tzOffsetMinutes:a}),W=Array.isArray(j?.data)?j.data:[];d(W);const pe=Or({dailyRows:W,weeks:s,to:c.to,weekStartsOn:r});p({...pe,week_starts_on:r,active_days:W.filter(D=>Number(D?.billable_total_tokens??D?.total_tokens)>0).length,streak_days:Yn({dailyRows:W,to:c.to})}),y("client"),R?A({heatmap:{...pe,week_starts_on:r,active_days:W.filter(D=>Number(D?.billable_total_tokens??D?.total_tokens)>0).length,streak_days:Yn({dailyRows:W,to:c.to})},daily:W,fetchedAt:new Date().toISOString()}):M()}catch(j){if(R){const W=I();if(W?.heatmap)p(W.heatmap),d(W.daily||[]),y("cache"),v(null);else{const pe=j;v(pe?.message||String(pe)),d([]),p(null),y("edge")}}else{const W=j;v(W?.message||String(W)),d([]),p(null),y("edge")}}finally{x(!1)}}},[t,e,k,n,R,c.from,c.to,I,S,o,a,r,s,M,A,N]);return h.useEffect(()=>{if(!S&&!n&&!k&&!N){d([]),x(!1),v(null),p(null),y("edge");return}if(!R)M(),d([]),v(null),p(null),y("edge");else{const $=I();$?.heatmap&&(p($.heatmap),d($.daily||[]),y("cache"))}U()},[t,k,I,U,S,n,R,M,N]),{range:c,daily:u,heatmap:f,source:k?"mock":m==="client"?"edge":m,loading:b,error:w,refresh:U}}function sm({baseUrl:e,accessToken:t,limit:n=3,from:s,to:r,source:i,timeZone:o,tzOffsetMinutes:a}={}){const[l,c]=h.useState([]),[u,d]=h.useState(!1),[f,p]=h.useState(null),m=Jt(),y=Qt(t),b=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),x=h.useCallback(async()=>{const w=await ot(t);if(!w&&!m&&!b){c([]),p(null),d(!1);return}d(!0),p(null);try{const v=await hh({baseUrl:e,accessToken:w,limit:n,from:s,to:r,source:i,timeZone:o,tzOffsetMinutes:a});c(Array.isArray(v?.entries)?v.entries:[])}catch(v){const k=v?.message||String(v);p(k),c([])}finally{d(!1)}},[t,e,s,n,m,i,o,r,a,b]);return h.useEffect(()=>{if(!y&&!m&&!b){c([]),p(null),d(!1);return}x()},[m,x,y,b]),{entries:l,loading:u,error:f,refresh:x}}const rm=24;function im({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:s,from:r,to:i,months:o=rm,cacheKey:a,timeZone:l,tzOffsetMinutes:c,now:u,sharedRows:d,sharedRange:f}={}){const[p,m]=h.useState([]),[y,b]=h.useState(()=>({from:r,to:i})),[x,w]=h.useState("edge"),[v,k]=h.useState(null),[S,R]=h.useState(!1),[N,C]=h.useState(null),I=Jt(),A=Qt(t),M=!n,U=Array.isArray(d),V=f?.from||r,$=f?.to||i,j=h.useMemo(()=>s==="day"?"hourly":s==="total"?"monthly":"daily",[s]),W=(()=>{if(!a)return null;const H=om(e)||"default",Q=js({timeZone:l,offsetMinutes:c});if(j==="hourly")return`vibeusage.trend.${a}.${H}.hourly.${i||r||"day"}.${Q}`;if(j==="monthly")return`vibeusage.trend.${a}.${H}.monthly.${o}.${i||"today"}.${Q}`;const ee=`${r||""}.${i||""}`;return`vibeusage.trend.${a}.${H}.daily.${ee}.${Q}`})(),pe=h.useCallback(()=>{if(!W||typeof window>"u")return null;try{const H=window.localStorage.getItem(W);if(!H)return null;const Q=JSON.parse(H);return!Q||!Array.isArray(Q.rows)?null:Q}catch{return null}},[W]),D=h.useCallback(H=>{if(!(!W||typeof window>"u"))try{window.localStorage.setItem(W,JSON.stringify(H))}catch{}},[W]),_=h.useCallback(()=>{if(!(!W||typeof window>"u"))try{window.localStorage.removeItem(W)}catch{}},[W]),z=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),X=h.useCallback(async()=>{if(U){m(Array.isArray(d)?d:[]),b({from:V,to:$}),w("shared"),k(null),R(!1),C(null);return}const H=await ot(t);if(!(!H&&!I&&!z)){R(!0),C(null);try{let Q;j==="hourly"?Q=await mh({baseUrl:e,accessToken:H,day:i||r,timeZone:l,tzOffsetMinutes:c}):j==="monthly"?Q=await ph({baseUrl:e,accessToken:H,months:o,to:i,timeZone:l,tzOffsetMinutes:c}):Q=await bi({baseUrl:e,accessToken:H,from:r,to:i,timeZone:l,tzOffsetMinutes:c});const ee=Q?.from||r||Q?.day||null,de=Q?.to||i||Q?.day||null;let be=Array.isArray(Q?.data)?Q.data:[];j==="daily"?be=or(be,ee||r,de||i,{timeZone:l,offsetMinutes:c,now:u}):j==="hourly"?be=ar(be,{timeZone:l,offsetMinutes:c,now:u}):j==="monthly"&&(be=lr(be,{timeZone:l,offsetMinutes:c,now:u}));const Ne=new Date().toISOString();m(be),b({from:ee,to:de}),w("edge"),k(Ne),M?D({rows:be,from:ee,to:de,mode:j,fetchedAt:Ne}):_()}catch(Q){if(M){const ee=pe();if(ee?.rows){let de=j==="daily"?or(ee.rows||[],ee.from||r,ee.to||i,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(ee.rows)?ee.rows:[];j==="hourly"?de=ar(de,{timeZone:l,offsetMinutes:c,now:u}):j==="monthly"&&(de=lr(de,{timeZone:l,offsetMinutes:c,now:u})),m(de),b({from:ee.from||r,to:ee.to||i}),w("cache"),k(ee.fetchedAt||null),C(null)}else{m([]),b({from:r,to:i}),w("edge"),k(null);const de=Q;C(de?.message||String(de))}}else{m([]),b({from:r,to:i}),w("edge"),k(null);const ee=Q;C(ee?.message||String(ee))}}finally{R(!1)}}},[t,e,r,I,n,M,j,o,pe,A,U,V,d,$,l,i,c,u,_,D,z]);h.useEffect(()=>{if(U){m(Array.isArray(d)?d:[]),b({from:V,to:$}),w("shared"),k(null),R(!1),C(null);return}if(!A&&!n&&!I&&!z){m([]),b({from:r,to:i}),C(null),R(!1),w("edge"),k(null);return}if(!M)_(),m([]),b({from:r,to:i}),C(null),w("edge"),k(null);else{const H=pe();if(H?.rows){let Q=j==="daily"?or(H.rows||[],H.from||r,H.to||i,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(H.rows)?H.rows:[];j==="hourly"?Q=ar(Q,{timeZone:l,offsetMinutes:c,now:u}):j==="monthly"&&(Q=lr(Q,{timeZone:l,offsetMinutes:c,now:u})),m(Q),b({from:H.from||r,to:H.to||i}),w("cache"),k(H.fetchedAt||null)}}X()},[t,I,pe,X,U,V,d,$,A,n,M,_,z]);const se=I?"mock":x;return{rows:p,from:y.from||r,to:y.to||i,source:se,fetchedAt:v,loading:S,error:N,refresh:X}}function om(e){try{return new URL(e).host}catch{return null}}function ir(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const s=Number(n[0]),r=Number(n[1])-1,i=Number(n[2]);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i))return null;const o=new Date(Date.UTC(s,r,i));return Number.isFinite(o.getTime())&&zt(o)===t?o:null}function am(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function or(e,t,n,{timeZone:s,offsetMinutes:r,now:i}={}){const o=ir(t),a=ir(n);if(!o||!a||a<o)return Array.isArray(e)?e:[];const l=i instanceof Date&&Number.isFinite(i.getTime())?i:new Date,c=mi({timeZone:s,offsetMinutes:r,date:l}),u=ir(c),d=u?u.getTime():l.getTime(),f=new Map;for(const m of e||[])m?.day&&f.set(m.day,m);const p=[];for(let m=o;m<=a;m=am(m,1)){const y=zt(m),b=f.get(y),x=m.getTime()>d;if(b){p.push({...b,missing:!1,future:x});continue}p.push({day:y,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!x,future:x})}return p}function ar(e,{timeZone:t,offsetMinutes:n,now:s}={}){if(!Array.isArray(e))return[];const r=ql({timeZone:t,offsetMinutes:n,now:s});return r?e.map(i=>{const o=i?.hour||i?.label||"",a=lm(o);if(!a)return{...i,future:!1};const l=a.dayNum>r.dayNum||a.dayNum===r.dayNum&&a.slot>r.slot;return{...i,future:l}}):e}function lr(e,{timeZone:t,offsetMinutes:n,now:s}={}){if(!Array.isArray(e))return[];const r=ql({timeZone:t,offsetMinutes:n,now:s});return r?e.map(i=>{const o=i?.month||i?.label||"",a=cm(o);if(!a)return{...i,future:!1};const l=a.year>r.year||a.year===r.year&&a.month>r.month;return{...i,future:l}}):e}function ql({timeZone:e,offsetMinutes:t,now:n}={}){const s=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const f=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(s).reduce((w,v)=>(v.type&&v.value&&(w[v.type]=v.value),w),{}),p=Number(f.year),m=Number(f.month),y=Number(f.day),b=Number(f.hour),x=Number(f.minute);if(Number.isFinite(p)&&Number.isFinite(m)&&Number.isFinite(y)&&Number.isFinite(b)&&Number.isFinite(x)){const w=b*2+(x>=30?1:0);return{year:p,month:m,day:y,hour:b,minute:x,dayNum:p*1e4+m*100+y,slot:w}}}catch{}if(Number.isFinite(t)){const u=new Date(s.getTime()+t*60*1e3),d=u.getUTCFullYear(),f=u.getUTCMonth()+1,p=u.getUTCDate(),m=u.getUTCHours(),y=u.getUTCMinutes(),b=m*2+(y>=30?1:0);return{year:d,month:f,day:p,hour:m,minute:y,dayNum:d*1e4+f*100+p,slot:b}}const r=s.getFullYear(),i=s.getMonth()+1,o=s.getDate(),a=s.getHours(),l=s.getMinutes(),c=a*2+(l>=30?1:0);return{year:r,month:i,day:o,hour:a,minute:l,dayNum:r*1e4+i*100+o,slot:c}}function lm(e){if(!e)return null;const t=String(e).trim(),[n,s]=t.split("T");if(!n||!s)return null;const r=n.split("-");if(r.length!==3)return null;const i=Number(r[0]),o=Number(r[1]),a=Number(r[2]);if(!Number.isFinite(i)||!Number.isFinite(o)||!Number.isFinite(a))return null;const l=s.split(":"),c=Number(l[0]),u=Number(l[1]);if(!Number.isFinite(c)||c<0||c>23||!Number.isFinite(u)||u<0||u>59)return null;const d=c*2+(u>=30?1:0);return{dayNum:i*1e4+o*100+a,slot:d}}function cm(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const s=Number(n[0]),r=Number(n[1]);return!Number.isFinite(s)||!Number.isFinite(r)||r<1||r>12?null:{year:s,month:r}}function _o({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:s,to:r,includeDaily:i=!0,cacheKey:o,timeZone:a,tzOffsetMinutes:l,now:c}={}){const[u,d]=h.useState([]),[f,p]=h.useState(null),[m,y]=h.useState(null),[b,x]=h.useState("edge"),[w,v]=h.useState(null),[k,S]=h.useState(!1),[R,N]=h.useState(null),C=Jt(),I=Qt(t),A=!n,M=(()=>{if(!o)return null;const D=um(e)||"default",_=i?"daily":"summary",z=js({timeZone:a,offsetMinutes:l});return`vibeusage.usage.${o}.${D}.${s}.${r}.${_}.${z}`})(),U=h.useCallback(()=>{if(!M||typeof window>"u")return null;try{const D=window.localStorage.getItem(M);if(!D)return null;const _=JSON.parse(D);return!_||!_.summary?null:_}catch{return null}},[M]),V=h.useCallback(D=>{if(!(!M||typeof window>"u"))try{window.localStorage.setItem(M,JSON.stringify(D))}catch{}},[M]),$=h.useCallback(()=>{if(!(!M||typeof window>"u"))try{window.localStorage.removeItem(M)}catch{}},[M]),j=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),W=h.useCallback(async()=>{const D=await ot(t);if(!(!D&&!C&&!j)){S(!0),N(null);try{let _=null,z=null;if(i){const[ee,de]=await Promise.allSettled([bi({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l}),sr({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l,rolling:!0})]);if(ee.status==="rejected")throw ee.reason;_=ee.value,z=de.status==="fulfilled"?de.value:null}else z=await sr({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l,rolling:!0});let X=i&&Array.isArray(_?.data)?_.data:[];i&&(X=ur(X,s,r,{timeZone:a,offsetMinutes:l,now:c}));let se=z?.totals||_?.summary?.totals||null,H=z?.rolling||_?.summary?.rolling||null;if(i&&!se&&!z)try{const ee=await sr({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l,rolling:!0});se=ee?.totals||null,H=ee?.rolling||H}catch{}const Q=new Date().toISOString();d(X),p(se),y(H),x("edge"),v(Q),se&&A?V({summary:se,rolling:H,daily:X,from:s,to:r,includeDaily:i,fetchedAt:Q}):A||$()}catch(_){if(A){const z=U();if(z?.summary){p(z.summary),y(z.rolling||null);const X=Array.isArray(z.daily)?z.daily:[],se=i?ur(X,z.from||s,z.to||r,{timeZone:a,offsetMinutes:l,now:c}):X;d(se),x("cache"),v(z.fetchedAt||null),N(null)}else{const X=_;N(X?.message||String(X)),d([]),p(null),y(null),x("edge"),v(null)}}else{const z=_;N(z?.message||String(z)),d([]),p(null),y(null),x("edge"),v(null)}}finally{S(!1)}}},[t,e,s,i,C,n,A,c,U,I,a,r,l,$,V,j]);return h.useEffect(()=>{const D=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!I&&!n&&!C&&!D){d([]),p(null),y(null),N(null),S(!1),x("edge"),v(null);return}if(!A)$(),d([]),p(null),y(null),N(null),x("edge"),v(null);else{const _=U();if(_?.summary){p(_.summary),y(_.rolling||null);const z=Array.isArray(_.daily)?_.daily:[],X=i?ur(z,_.from||s,_.to||r,{timeZone:a,offsetMinutes:l,now:c}):z;d(X),x("cache"),v(_.fetchedAt||null)}}W()},[t,C,U,W,I,n,A,$,j]),{daily:u,summary:f,rolling:m,source:C?"mock":b,fetchedAt:w,loading:k,error:R,refresh:W}}function um(e){try{return new URL(e).host}catch{return null}}function cr(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const s=Number(n[0]),r=Number(n[1])-1,i=Number(n[2]);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i))return null;const o=new Date(Date.UTC(s,r,i));return Number.isFinite(o.getTime())&&zt(o)===t?o:null}function dm(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function ur(e,t,n,{timeZone:s,offsetMinutes:r,now:i}={}){const o=cr(t),a=cr(n);if(!o||!a||a<o)return Array.isArray(e)?e:[];const l=i instanceof Date&&Number.isFinite(i.getTime())?i:new Date,c=mi({timeZone:s,offsetMinutes:r,date:l}),u=cr(c),d=u?u.getTime():l.getTime(),f=new Map;for(const m of e||[])m?.day&&f.set(m.day,m);const p=[];for(let m=o;m<=a;m=dm(m,1)){const y=zt(m),b=f.get(y),x=m.getTime()>d;if(b){p.push({...b,missing:!1,future:x});continue}p.push({day:y,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!x,future:x})}return p}function fm({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:s,to:r,cacheKey:i,timeZone:o,tzOffsetMinutes:a}={}){const[l,c]=h.useState(null),[u,d]=h.useState("edge"),[f,p]=h.useState(!1),[m,y]=h.useState(null),b=Jt(),x=Qt(t),w=!n,v=h.useMemo(()=>{if(!i)return null;const A=hm(e)||"default",M=js({timeZone:o,offsetMinutes:a});return`vibeusage.modelBreakdown.${i}.${A}.${s}.${r}.${M}`},[e,i,s,o,r,a]),k=h.useCallback(()=>{if(!v||typeof window>"u")return null;try{const A=window.localStorage.getItem(v);if(!A)return null;const M=JSON.parse(A);return!M||!M.breakdown?null:M}catch{return null}},[v]),S=h.useCallback(A=>{if(!(!v||typeof window>"u"))try{window.localStorage.setItem(v,JSON.stringify(A))}catch{}},[v]),R=h.useCallback(()=>{if(!(!v||typeof window>"u"))try{window.localStorage.removeItem(v)}catch{}},[v]),N=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),C=h.useCallback(async()=>{const A=await ot(t);if(!(!A&&!b&&!N)){p(!0),y(null);try{const M=await gh({baseUrl:e,accessToken:A,from:s,to:r,timeZone:o,tzOffsetMinutes:a});c(M||null),d("edge"),M&&w?S({breakdown:M,fetchedAt:new Date().toISOString()}):w||R()}catch(M){if(w){const U=k();if(U?.breakdown)c(U.breakdown),d("cache"),y(null);else{c(null),d("edge");const V=M;y(V?.message||String(V))}}else{c(null),d("edge");const U=M;y(U?.message||String(U))}}finally{p(!1)}}},[t,e,s,b,n,w,k,o,r,x,a,R,S,N]);return h.useEffect(()=>{if(!x&&!n&&!b&&!N){c(null),d("edge"),y(null),p(!1);return}if(!w)R(),c(null),d("edge"),y(null);else{const A=k();A?.breakdown&&(c(A.breakdown),d("cache"))}C()},[t,b,k,C,x,n,w,R,N]),{breakdown:l,source:b?"mock":u,loading:f,error:m,refresh:C}}function hm(e){try{return new URL(e).host}catch{return null}}const Xl=new Set(["day","hour","month"]);function mm(e){return Xl.has(e)}function Oo(e){if(e==null)return null;const t=String(e).trim();if(!/^[0-9]+$/.test(t))return null;const n=t.replace(/^0+/,"");return n.length===0?"0":n}function pm(e,t){const n=Oo(e),s=Oo(t);if(n&&s)return n.length!==s.length?n.length<s.length?-1:1:n===s?0:n<s?-1:1;const r=Ze(e),i=Ze(t);return r==null&&i==null?0:r==null?1:i==null?-1:r===i?0:r<i?-1:1}function gm(e,t){const n=typeof e=="string"?e:String(e||""),s=typeof t=="string"?t:String(t||"");return n===s?0:n<s?-1:1}function ym(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const s=Number(n[1]),r=Number(n[2]),i=Number(n[3]);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i))return null;const o=new Date(Date.UTC(s,r-1,i));return!Number.isFinite(o.getTime())||o.getUTCFullYear()!==s||o.getUTCMonth()+1!==r||o.getUTCDate()!==i?null:o.getTime()}function bm(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const s=Number(n[1]),r=Number(n[2]);if(!Number.isFinite(s)||!Number.isFinite(r)||r<1||r>12)return null;const i=new Date(Date.UTC(s,r-1,1));return Number.isFinite(i.getTime())?i.getTime():null}function xm(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?Z?$/);if(!n)return null;const s=Number(n[1]),r=Number(n[2]),i=Number(n[3]),o=Number(n[4]),a=Number(n[5]),l=Number(n[6]||0);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(o)||!Number.isFinite(a)||!Number.isFinite(l)||r<1||r>12||i<1||i>31||o<0||o>23||a<0||a>59||l<0||l>59)return null;const c=new Date(Date.UTC(s,r-1,i,o,a,l));return Number.isFinite(c.getTime())?c.getTime():null}function vm(e,t,n){const s=n==="hour"?xm:n==="month"?bm:ym,r=s(e),i=s(t);return r!=null&&i!=null?r===i?0:r<i?-1:1:gm(e,t)}function Zl(e,{key:t,dir:n}){const s=n==="asc"?1:-1,r=Array.isArray(e)?e:[],i=Xl.has(t)?(a,l)=>vm(a,l,t):pm,o=a=>t==="total_tokens"&&a?.billable_total_tokens!=null?a.billable_total_tokens:a?.[t];return r.map((a,l)=>({row:a,index:l})).sort((a,l)=>{const c=o(a.row),u=o(l.row),d=c==null,f=u==null;if(d&&f)return a.index-l.index;if(d)return 1;if(f)return-1;const p=i(c,u);return p!==0?p*s:a.index-l.index}).map(a=>a.row)}const wm=[{key:"day",label:P("daily.sort.date.label"),title:P("daily.sort.date.title")},{key:"total_tokens",label:P("daily.sort.total.label"),title:P("daily.sort.total.title")},{key:"input_tokens",label:P("daily.sort.input.label"),title:P("daily.sort.input.title")},{key:"output_tokens",label:P("daily.sort.output.label"),title:P("daily.sort.output.title")},{key:"cached_input_tokens",label:P("daily.sort.cached.label"),title:P("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:P("daily.sort.reasoning.label"),title:P("daily.sort.reasoning.title")}];function Bo(e){const t=mm(e)?e:"day";return wm.map((n,s)=>s===0?{...n,key:t}:n)}function $o(e,{key:t,dir:n}){return Zl(e,{key:t,dir:n})}const vs=12,Sm=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","output_tokens","reasoning_output_tokens"];function Tm(e){if(typeof e=="bigint")return e!==0n;if(typeof e=="number")return Number.isFinite(e)&&e!==0;if(e==null)return!1;const t=String(e).trim();if(!t||!/^-?\d+$/.test(t))return!1;const n=t.startsWith("-")?t.slice(1):t;return/[1-9]/.test(n)}function km(e){return Sm.some(t=>Tm(e?.[t]))}function Cm(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=Zl(t,{key:"month",dir:"asc"}),s=n.findIndex(r=>r?.month&&km(r));return s===-1?t:n.slice(s)}function Em(e,t,n=vs){const s=Array.isArray(e)?e:[],r=Number.isFinite(n)&&n>0?n:vs,o=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*r;return s.slice(o,o+r)}function Am({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:s,heatmapLoading:r,activeDays:i,hasActiveDeviceToken:o}={}){return e||t?!1:n?!0:s&&!r&&i===0&&!o}function Jl(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function Pm(e){const t=Jl(e?.model_id);return t||null}function Ql(e,t){return e?.model?String(e.model):t}function Rm(e,{copyFn:t}={}){const n=typeof t=="function"?t:a=>a,r=(Array.isArray(e?.sources)?e.sources:[]).map(a=>{const l=Ze(a?.totals?.billable_total_tokens??a?.totals?.total_tokens)??0,c=Ze(a?.totals?.total_cost_usd)??0;return{source:a?.source,totalTokens:Number.isFinite(l)?l:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(a?.models)?a.models:[]}}).filter(a=>a.totalTokens>0);if(!r.length)return[];const i=r.reduce((a,l)=>a+l.totalTokens,0),o=typeof e?.pricing?.pricing_mode=="string"?e.pricing.pricing_mode.toUpperCase():null;return r.slice().sort((a,l)=>l.totalTokens-a.totalTokens).map(a=>{const l=a.source?String(a.source).toUpperCase():n("shared.placeholder.short"),c=i>0?a.totalTokens/i*100:0,u=Number.isFinite(c)?c.toFixed(1):"0.0",d=a.models.map(f=>{const p=Ze(f?.totals?.billable_total_tokens??f?.totals?.total_tokens)??0;if(!Number.isFinite(p)||p<=0)return null;const m=a.totalTokens>0?Math.round(p/a.totalTokens*1e3)/10:0,y=Ql(f,n("shared.placeholder.short"));return{id:Pm(f),name:y,share:m,usage:p,calc:o}}).filter(Boolean);return{label:l,totalPercent:String(u),usd:a.totalCost,usage:a.totalTokens,models:d}})}function Mm(e,{limit:t=3,copyFn:n}={}){const s=typeof n=="function"?n:f=>f,r=Array.isArray(e?.sources)?e.sources:[];if(!r.length)return[];const i=new Map,o=new Map,a=new Map;let l=0;for(const f of r){const p=Array.isArray(f?.models)?f.models:[];for(const m of p){const y=Ze(m?.totals?.billable_total_tokens)??0;if(!Number.isFinite(y)||y<=0)continue;l+=y;const b=Ql(m,s("shared.placeholder.short")),x=Jl(b);if(!x)continue;i.set(x,(i.get(x)||0)+y);const w=a.get(x)||0;y>=w&&(a.set(x,y),o.set(x,b))}}if(!i.size)return[];const c=Array.from(i.values()).reduce((f,p)=>f+p,0),u=l>0?l:c,d=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(i.entries()).map(([f,p])=>{const m=u>0?(p/u*100).toFixed(1):"0.0";return{id:f,name:o.get(f)||s("shared.placeholder.short"),tokens:p,percent:String(m)}}).sort((f,p)=>p.tokens!==f.tokens?p.tokens-f.tokens:String(f.name).localeCompare(String(p.name))).slice(0,d)}function xi(){const e=h.useContext(Hf);if(e===null)throw new Error("useTheme must be used within a ThemeProvider");return e}const Ct=12,fn=3,dr=26,Dm=["#ecfdf5","#a7f3d0","#6ee7b7","#34d399","#10b981"],Nm=["#064e3b","#065f46","#059669","#10b981","#34d399"],jm=[P("heatmap.month.jan"),P("heatmap.month.feb"),P("heatmap.month.mar"),P("heatmap.month.apr"),P("heatmap.month.may"),P("heatmap.month.jun"),P("heatmap.month.jul"),P("heatmap.month.aug"),P("heatmap.month.sep"),P("heatmap.month.oct"),P("heatmap.month.nov"),P("heatmap.month.dec")];function Vm(e){if(typeof e=="bigint")return e.toLocaleString();if(typeof e=="number")return Number.isFinite(e)?Math.round(e).toLocaleString():"0";if(typeof e=="string"){const t=Number(e);return Number.isFinite(t)?Math.round(t).toLocaleString():e}return"0"}function Lm(e){if(typeof e!="string")return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const n=new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));return Number.isFinite(n.getTime())?n:null}function ec(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Im(e,t){return Math.floor((Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))/864e5)}function Fm(e,t){const n=t==="mon"?1:0,s=e.getUTCDay();return ec(e,-((s-n+7)%7))}function _m(e,t,n){if(!e)return[];const s=Lm(t)||new Date,r=[];for(let c=11;c>=0;c-=1)r.push(new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth()-c,1)));const i=Fm(s,n),o=ec(i,-(e-1)*7),a=[],l=new Set;for(const c of r){const u=Math.floor(Im(o,c)/7);u<0||u>=e||l.has(u)||(l.add(u),a.push({label:jm[c.getUTCMonth()],index:u}))}return a}function Om({heatmap:e,timeZoneLabel:t,timeZoneShortLabel:n,hideLegend:s=!1}){const{resolvedTheme:r}=xi(),o=r==="dark"?Nm:Dm,a=h.useRef(null);h.useEffect(()=>{const m=a.current;m&&(m.scrollLeft=m.scrollWidth)},[e?.weeks]);const l=e?.week_starts_on==="mon"?"mon":"sun",c=h.useMemo(()=>{const m=Array.isArray(e?.weeks)?e.weeks:[];if(!m.length)return{weeks:[]};const y=[];for(const b of m)for(const x of Array.isArray(b)?b:[])x?.day&&y.push({day:x.day,total_tokens:x.total_tokens??x.value??0,billable_total_tokens:x.billable_total_tokens??x.value??x.total_tokens??0});return Or({dailyRows:y,weeks:Math.max(52,m.length),to:e?.to,weekStartsOn:l})},[e?.to,e?.weeks,l]),u=c?.weeks||[],d=l==="mon"?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(m=>P(`heatmap.day.${m.toLowerCase()}`)):["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(m=>P(`heatmap.day.${m.toLowerCase()}`)),f=h.useMemo(()=>_m(u.length,c?.to,l),[c?.to,u.length,l]);if(!u.length)return g.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:P("heatmap.empty")});const p=dr+u.length*Ct+Math.max(0,u.length-1)*fn;return g.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",children:[g.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[g.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:P("heatmap.title")}),g.jsx("span",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400",children:n||P("heatmap.legend.utc")})]}),g.jsx("div",{ref:a,className:"overflow-x-auto overflow-y-hidden heatmap-scroll-thin",children:g.jsxs("div",{style:{minWidth:p},children:[g.jsxs("div",{className:"grid text-[10px] uppercase text-oai-gray-400 dark:text-oai-gray-400 mb-1",style:{gridTemplateColumns:`${dr}px repeat(${u.length}, ${Ct}px)`,columnGap:fn},children:[g.jsx("span",{}),f.map(m=>g.jsx("span",{style:{gridColumnStart:m.index+2},className:"whitespace-nowrap",children:m.label},`${m.label}-${m.index}`))]}),g.jsxs("div",{className:"grid",style:{gridTemplateColumns:`${dr}px repeat(${u.length}, ${Ct}px)`,columnGap:fn},children:[g.jsx("div",{className:"grid text-[10px] text-oai-gray-400 dark:text-oai-gray-400 sticky left-0 bg-white dark:bg-oai-gray-900 pr-2",style:{gridTemplateRows:`repeat(7, ${Ct}px)`,rowGap:fn},children:d.map(m=>g.jsx("span",{className:"leading-none",children:m},m))}),g.jsx("div",{className:"grid",style:{gridAutoFlow:"column",gridTemplateRows:`repeat(7, ${Ct}px)`,gap:fn},children:u.map((m,y)=>(Array.isArray(m)?m:[]).map((b,x)=>{if(!b)return null;const w=b.day||`e-${y}-${x}`,v=Number(b.level)||0,k=o[v]||o[0],S=t||n||P("heatmap.legend.utc");return g.jsx("span",{title:P("heatmap.tooltip",{day:b.day,value:Vm(b.value),unit:P("heatmap.unit.tokens"),tz:S}),className:"rounded-[2px] transition-transform hover:scale-125 hover:z-10",style:{width:Ct,height:Ct,background:k}},w)}))})]})]})}),!s&&g.jsxs("div",{className:"flex items-center justify-center gap-2 mt-3",children:[g.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:P("heatmap.legend.less")}),g.jsx("div",{className:"flex gap-0.5",children:o.map((m,y)=>g.jsx("span",{className:"rounded-[1px]",style:{width:10,height:10,background:m}},y))}),g.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:P("heatmap.legend.more")})]})]})}const Bm={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},tc={...Bm,position:"fixed",top:0,left:0};function zn(e){const t=Mn($m,e).current;return t.next=e,Pe(t.effect),t}function $m(e){const t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var ws=Symbol("NOT_FOUND");function Um(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function Wm(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function Km(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(s=>typeof s=="function"?`function ${s.name||"unnamed"}()`:typeof s).join(", ");throw new TypeError(`${t}[${n}]`)}}var Uo=e=>Array.isArray(e)?e:[e];function Hm(e){const t=Array.isArray(e[0])?e[0]:e;return Km(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function Gm(e,t){const n=[],{length:s}=e;for(let r=0;r<s;r++)n.push(e[r].apply(null,t));return n}function Ym(e){let t;return{get(n){return t&&e(t.key,n)?t.value:ws},put(n,s){t={key:n,value:s}},getEntries(){return t?[t]:[]},clear(){t=void 0}}}function zm(e,t){let n=[];function s(a){const l=n.findIndex(c=>t(a,c.key));if(l>-1){const c=n[l];return l>0&&(n.splice(l,1),n.unshift(c)),c.value}return ws}function r(a,l){s(a)===ws&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function i(){return n}function o(){n=[]}return{get:s,put:r,getEntries:i,clear:o}}var qm=(e,t)=>e===t;function Xm(e){return function(n,s){if(n===null||s===null||n.length!==s.length)return!1;const{length:r}=n;for(let i=0;i<r;i++)if(!e(n[i],s[i]))return!1;return!0}}function Zm(e,t){const n=typeof t=="object"?t:{equalityCheck:t},{equalityCheck:s=qm,maxSize:r=1,resultEqualityCheck:i}=n,o=Xm(s);let a=0;const l=r<=1?Ym(o):zm(r,o);function c(){let u=l.get(arguments);if(u===ws){if(u=e.apply(null,arguments),a++,i){const f=l.getEntries().find(p=>i(p.value,u));f&&(u=f.value,a!==0&&a--)}l.put(arguments,u)}return u}return c.clearCache=()=>{l.clear(),c.resetResultsCount()},c.resultsCount=()=>a,c.resetResultsCount=()=>{a=0},c}var Jm=class{constructor(e){this.value=e}deref(){return this.value}},Qm=typeof WeakRef<"u"?WeakRef:Jm,ep=0,Wo=1;function qn(){return{s:ep,v:void 0,o:null,p:null}}function nc(e,t={}){let n=qn();const{resultEqualityCheck:s}=t;let r,i=0;function o(){let a=n;const{length:l}=arguments;for(let d=0,f=l;d<f;d++){const p=arguments[d];if(typeof p=="function"||typeof p=="object"&&p!==null){let m=a.o;m===null&&(a.o=m=new WeakMap);const y=m.get(p);y===void 0?(a=qn(),m.set(p,a)):a=y}else{let m=a.p;m===null&&(a.p=m=new Map);const y=m.get(p);y===void 0?(a=qn(),m.set(p,a)):a=y}}const c=a;let u;if(a.s===Wo)u=a.v;else if(u=e.apply(null,arguments),i++,s){const d=r?.deref?.()??r;d!=null&&s(d,u)&&(u=d,i!==0&&i--),r=typeof u=="object"&&u!==null||typeof u=="function"?new Qm(u):u}return c.s=Wo,c.v=u,u}return o.clearCache=()=>{n=qn(),o.resetResultsCount()},o.resultsCount=()=>i,o.resetResultsCount=()=>{i=0},o}function sc(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,s=(...r)=>{let i=0,o=0,a,l={},c=r.pop();typeof c=="object"&&(l=c,c=r.pop()),Um(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const u={...n,...l},{memoize:d,memoizeOptions:f=[],argsMemoize:p=nc,argsMemoizeOptions:m=[]}=u,y=Uo(f),b=Uo(m),x=Hm(r),w=d(function(){return i++,c.apply(null,arguments)},...y),v=p(function(){o++;const S=Gm(x,arguments);return a=w.apply(null,S),a},...b);return Object.assign(v,{resultFunc:c,memoizedResultFunc:w,dependencies:x,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>a,recomputations:()=>i,resetRecomputations:()=>{i=0},memoize:d,argsMemoize:p})};return Object.assign(s,{withTypes:()=>s}),s}var tp=sc(nc),np=Object.assign((e,t=tp)=>{Wm(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),s=n.map(i=>e[i]);return t(s,(...i)=>i.reduce((o,a,l)=>(o[n[l]]=a,o),{}))},{withTypes:()=>np});sc({memoize:Zm,memoizeOptions:{maxSize:1,equalityCheck:Object.is}});const oe=(e,t,n,s,r,i,...o)=>{if(o.length>0)throw new Error(pi(1));let a;if(e)a=e;else throw new Error("Missing arguments");return a};var fr={exports:{}},hr={};var Ko;function sp(){if(Ko)return hr;Ko=1;var e=Tl();function t(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var n=typeof Object.is=="function"?Object.is:t,s=e.useState,r=e.useEffect,i=e.useLayoutEffect,o=e.useDebugValue;function a(d,f){var p=f(),m=s({inst:{value:p,getSnapshot:f}}),y=m[0].inst,b=m[1];return i(function(){y.value=p,y.getSnapshot=f,l(y)&&b({inst:y})},[d,p,f]),r(function(){return l(y)&&b({inst:y}),d(function(){l(y)&&b({inst:y})})},[d]),o(p),p}function l(d){var f=d.getSnapshot;d=d.value;try{var p=f();return!n(d,p)}catch{return!0}}function c(d,f){return f()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:a;return hr.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:u,hr}var Ho;function rc(){return Ho||(Ho=1,fr.exports=sp()),fr.exports}var rp=rc(),mr={exports:{}},pr={};var Go;function ip(){if(Go)return pr;Go=1;var e=Tl(),t=rc();function n(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var s=typeof Object.is=="function"?Object.is:n,r=t.useSyncExternalStore,i=e.useRef,o=e.useEffect,a=e.useMemo,l=e.useDebugValue;return pr.useSyncExternalStoreWithSelector=function(c,u,d,f,p){var m=i(null);if(m.current===null){var y={hasValue:!1,value:null};m.current=y}else y=m.current;m=a(function(){function x(R){if(!w){if(w=!0,v=R,R=f(R),p!==void 0&&y.hasValue){var N=y.value;if(p(N,R))return k=N}return k=R}if(N=k,s(v,R))return N;var C=f(R);return p!==void 0&&p(N,C)?(v=R,N):(v=R,k=C)}var w=!1,v,k,S=d===void 0?null:d;return[function(){return x(u())},S===null?void 0:function(){return x(S())}]},[u,d,f,p]);var b=r(c,m[0],m[1]);return o(function(){y.hasValue=!0,y.value=b},[b]),l(b),b},pr}var Yo;function op(){return Yo||(Yo=1,mr.exports=ip()),mr.exports}var ap=op();const lp=kl(19),cp=lp?dp:fp;function up(e,t,n,s,r){return cp(e,t,n,s,r)}function dp(e,t,n,s,r){const i=h.useCallback(()=>t(e.getSnapshot(),n,s,r),[e,t,n,s,r]);return rp.useSyncExternalStore(e.subscribe,i,i)}function fp(e,t,n,s,r){return ap.useSyncExternalStoreWithSelector(e.subscribe,e.getSnapshot,e.getSnapshot,i=>t(i,n,s,r))}class bn{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;const n=this.updateTick;for(const s of this.listeners){if(n!==this.updateTick)return;s(t)}}update(t){for(const n in t)if(!Object.is(this.state[n],t[n])){bn.prototype.setState.call(this,{...this.state,...t});return}}set(t,n){Object.is(this.state[t],n)||bn.prototype.setState.call(this,{...this.state,[t]:n})}notifyAll(){const t={...this.state};bn.prototype.setState.call(this,t)}}class ic extends bn{constructor(t,n={},s){super(t),this.context=n,this.selectors=s}controlledValues=new Map;useSyncedValue(t,n){h.useDebugValue(t),Pe(()=>{this.state[t]!==n&&this.set(t,n)},[t,n])}useSyncedValueWithCleanup(t,n){const s=this;Pe(()=>(s.state[t]!==n&&s.set(t,n),()=>{s.set(t,void 0)}),[s,t,n])}useSyncedValues(t){const n=this,s=Object.values(t);Pe(()=>{n.update(t)},[n,...s])}useControlledProp(t,n,s){h.useDebugValue(t);const r=this,i=n!==void 0;this.controlledValues.has(t)||(this.controlledValues.set(t,i),!i&&!Object.is(this.state[t],s)&&super.setState({...this.state,[t]:s})),Pe(()=>{i&&!Object.is(r.state[t],n)&&super.setState({...r.state,[t]:n})},[r,t,n,s,i])}set(t,n){this.controlledValues.get(t)!==!0&&super.set(t,n)}update(t){const n={...t};for(const s in n)if(Object.hasOwn(n,s)&&this.controlledValues.get(s)===!0){delete n[s];continue}super.update(n)}setState(t){const n={...t};for(const s in n)if(Object.hasOwn(n,s)&&this.controlledValues.get(s)===!0){delete n[s];continue}super.setState({...this.state,...n})}select=(t,n,s,r)=>{const i=this.selectors[t];return i(this.state,n,s,r)};useState=(t,n,s,r)=>{h.useDebugValue(t);const i=this.selectors[t];return up(this,i,n,s,r)};useContextCallback(t,n){h.useDebugValue(t);const s=ie(n??Cl);this.context[t]=s}useStateSetter(t){const n=h.useRef(void 0);return n.current===void 0&&(n.current=s=>{this.set(t,s)}),n.current}observe(t,n){let s;typeof t=="function"?s=t:s=this.selectors[t];let r=s(this.state);return n(r,r,this),this.subscribe(i=>{const o=s(i);if(!Object.is(r,o)){const a=r;r=o,n(o,a,this)}})}}const Xn=null;class hp{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;const n=this.callbacks,s=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,s>0)for(let r=0;r<n.length;r+=1)n[r]?.(t)};request(t){const n=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),n}cancel(t){const n=t-this.startId;n<0||n>=this.callbacks.length||(this.callbacks[n]=null,this.callbacksCount-=1)}}const Zn=new hp;class rt{static create(){return new rt}static request(t){return Zn.request(t)}static cancel(t){return Zn.cancel(t)}currentId=Xn;request(t){this.cancel(),this.currentId=Zn.request(()=>{this.currentId=Xn,t()})}cancel=()=>{this.currentId!==Xn&&(Zn.cancel(this.currentId),this.currentId=Xn)};disposeEffect=()=>this.cancel}function oc(){const e=Mn(rt.create).current;return jl(e.disposeEffect),e}function mp(){const e=new Map;return{emit(t,n){e.get(t)?.forEach(s=>s(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}const pp=h.createContext(null),gp=h.createContext(null),ac=()=>h.useContext(pp)?.id||null,lc=e=>{const t=h.useContext(gp);return e??t};function Ss(e){return`data-base-ui-${e}`}const Ts=h.forwardRef(function(t,n){const[s,r]=h.useState();Pe(()=>{Ah&&r("button")},[]);const i={tabIndex:0,role:s};return g.jsx("span",{...t,ref:n,style:tc,"aria-hidden":s?void 0:!0,...i,"data-base-ui-focus-guard":""})});let zo=0;function gr(e,t={}){const{preventScroll:n=!1,cancelPrevious:s=!0,sync:r=!1}=t;s&&cancelAnimationFrame(zo);const i=()=>e?.focus({preventScroll:n});r?i():zo=requestAnimationFrame(i)}const Yt={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function qo(e){return e==="inert"?Yt.inert:e==="aria-hidden"?Yt["aria-hidden"]:Yt.none}let Jn=new WeakSet,Qn={},yr=0;const cc=e=>e&&(e.host||cc(e.parentNode)),yp=(e,t)=>t.map(n=>{if(e.contains(n))return n;const s=cc(n);return e.contains(s)?s:null}).filter(n=>n!=null);function bp(e,t,n,s){const r="data-base-ui-inert",i=s?"inert":n?"aria-hidden":null,o=yp(t,e),a=new Set,l=new Set(o),c=[];Qn[r]||(Qn[r]=new WeakMap);const u=Qn[r];o.forEach(d),f(t),a.clear();function d(p){!p||a.has(p)||(a.add(p),p.parentNode&&d(p.parentNode))}function f(p){!p||l.has(p)||[].forEach.call(p.children,m=>{if(El(m)!=="script")if(a.has(m))f(m);else{const y=i?m.getAttribute(i):null,b=y!==null&&y!=="false",x=qo(i),w=(x.get(m)||0)+1,v=(u.get(m)||0)+1;x.set(m,w),u.set(m,v),c.push(m),w===1&&b&&Jn.add(m),v===1&&m.setAttribute(r,""),!b&&i&&m.setAttribute(i,i==="inert"?"":"true")}})}return yr+=1,()=>{c.forEach(p=>{const m=qo(i),b=(m.get(p)||0)-1,x=(u.get(p)||0)-1;m.set(p,b),u.set(p,x),b||(!Jn.has(p)&&i&&p.removeAttribute(i),Jn.delete(p)),x||p.removeAttribute(r)}),yr-=1,yr||(Yt.inert=new WeakMap,Yt["aria-hidden"]=new WeakMap,Yt.none=new WeakMap,Jn=new WeakSet,Qn={})}}function xp(e,t=!1,n=!1){const s=Le(e[0]).body;return bp(e.concat(Array.from(s.querySelectorAll("[aria-live]"))),s,t,n)}const uc=h.createContext(null),dc=()=>h.useContext(uc),vp=Ss("portal");function wp(e={}){const{ref:t,container:n,componentProps:s=gn,elementProps:r,elementState:i}=e,o=yi(),l=dc()?.portalNode,[c,u]=h.useState(null),[d,f]=h.useState(null),p=ie(x=>{x!==null&&f(x)}),m=h.useRef(null);Pe(()=>{if(n===null){m.current&&(m.current=null,f(null),u(null));return}if(o==null)return;const x=(n&&(Gf(n)?n:n.current))??l??document.body;if(x==null){m.current&&(m.current=null,f(null),u(null));return}m.current!==x&&(m.current=x,f(null),u(x))},[n,l,o]);const y=Dn("div",s,{ref:[t,p],state:i,props:[{id:o,[vp]:""},r]});return{portalNode:d,portalSubtree:c&&y?gi.createPortal(y,c):null}}const Sp=h.forwardRef(function(t,n){const{children:s,container:r,className:i,render:o,renderGuards:a,...l}=t,{portalNode:c,portalSubtree:u}=wp({container:r,ref:n,componentProps:t,elementProps:l}),d=h.useRef(null),f=h.useRef(null),p=h.useRef(null),m=h.useRef(null),[y,b]=h.useState(null),x=y?.modal,w=y?.open,v=typeof a=="boolean"?a:!!y&&!y.modal&&y.open&&!!c;h.useEffect(()=>{if(!c||x)return;function S(R){c&&R.relatedTarget&&yn(R)&&(R.type==="focusin"?Fo:tm)(c)}return c.addEventListener("focusin",S,!0),c.addEventListener("focusout",S,!0),()=>{c.removeEventListener("focusin",S,!0),c.removeEventListener("focusout",S,!0)}},[c,x]),h.useEffect(()=>{!c||w||Fo(c)},[w,c]);const k=h.useMemo(()=>({beforeOutsideRef:d,afterOutsideRef:f,beforeInsideRef:p,afterInsideRef:m,portalNode:c,setFocusManagerState:b}),[c]);return g.jsxs(h.Fragment,{children:[u,g.jsxs(uc.Provider,{value:k,children:[v&&c&&g.jsx(Ts,{"data-type":"outside",ref:d,onFocus:S=>{if(yn(S,c))p.current?.focus();else{const R=y?y.domReference:null;zl(R)?.focus()}}}),v&&c&&g.jsx("span",{"aria-owns":c.id,style:kh}),c&&gi.createPortal(s,c),v&&c&&g.jsx(Ts,{"data-type":"outside",ref:f,onFocus:S=>{if(yn(S,c))m.current?.focus();else{const R=y?y.domReference:null;Yl(R)?.focus(),y?.closeOnFocusOut&&y?.onOpenChange(!1,pt(Al,S.nativeEvent))}}})]})]})});function mt(e){return e==null?e:"current"in e?e.current:e}function Tp(e,t){const n=Vs(e.target);return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}const Xo=20;let xt=[];function vi(){xt=xt.filter(e=>e.isConnected)}function kp(e){vi(),e&&El(e)!=="body"&&(xt.push(e),xt.length>Xo&&(xt=xt.slice(-Xo)))}function br(){return vi(),xt[xt.length-1]}function Cp(e){if(!e)return null;const t=jn();return Hl(e,t)?e:Ls(e,t)[0]||e}function Ep(e){return!e||!e.isConnected?!1:typeof e.checkVisibility=="function"?e.checkVisibility():Rl(e).display!=="none"}function Zo(e,t){if(!t.current.includes("floating")&&!e.getAttribute("role")?.includes("dialog"))return;const n=jn(),r=em(e,n).filter(o=>{const a=o.getAttribute("data-tabindex")||"";return Hl(o,n)||o.hasAttribute("data-tabindex")&&!a.startsWith("-")}),i=e.getAttribute("tabindex");t.current.includes("floating")||r.length===0?i!=="0"&&e.setAttribute("tabindex","0"):(i!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function Ap(e){const{context:t,children:n,disabled:s=!1,order:r=["content"],initialFocus:i=!0,returnFocus:o=!0,restoreFocus:a=!1,modal:l=!0,closeOnFocusOut:c=!0,openInteractionType:u="",getInsideElements:d=()=>[],nextFocusableElement:f,previousFocusableElement:p,beforeContentFocusGuardRef:m,externalTree:y}=e,b="rootStore"in t?t.rootStore:t,x=b.useState("open"),w=b.useState("domReferenceElement"),v=b.useState("floatingElement"),{events:k,dataRef:S}=b.context,R=ie(()=>S.current.floatingContext?.nodeId),N=ie(d),C=i===!1,I=Vo(w)&&C,A=zn(r),M=zn(i),U=zn(o),V=zn(u),$=lc(y),j=dc(),W=h.useRef(null),pe=h.useRef(null),D=h.useRef(!1),_=h.useRef(!1),z=h.useRef(!1),X=h.useRef(-1),se=h.useRef(""),H=h.useRef(""),Q=h.useRef(null),ee=h.useRef(null),de=Do(Q,m,j?.beforeInsideRef),be=Do(ee,j?.afterInsideRef),Ne=ps(),Oe=ps(),Qe=oc(),et=j!=null,E=Ur(v),te=ie((L=E)=>L?Ls(L,jn()):[]),G=ie(L=>{const J=te(L);return A.current.map(()=>J).filter(Boolean).flat()});h.useEffect(()=>{if(s||!l)return;function L(Z){Z.key==="Tab"&&we(E,Bt(Le(E)))&&te().length===0&&!I&&Lh(Z)}const J=Le(E);return J.addEventListener("keydown",L),()=>{J.removeEventListener("keydown",L)}},[s,w,E,l,A,I,te,G]),h.useEffect(()=>{if(s||!v)return;function L(J){const Z=qe(J),ue=te().indexOf(Z);ue!==-1&&(X.current=ue)}return v.addEventListener("focusin",L),()=>{v.removeEventListener("focusin",L)}},[s,v,te]),h.useEffect(()=>{if(s||!x)return;const L=Le(E);function J(){z.current=!1}function Z(ue){const K=qe(ue),Y=we(v,K)||we(w,K)||we(j?.portalNode,K);z.current=!Y,H.current=ue.pointerType||"keyboard"}function ne(){H.current="keyboard"}return L.addEventListener("pointerdown",Z,!0),L.addEventListener("pointerup",J,!0),L.addEventListener("pointercancel",J,!0),L.addEventListener("keydown",ne,!0),()=>{L.removeEventListener("pointerdown",Z,!0),L.removeEventListener("pointerup",J,!0),L.removeEventListener("pointercancel",J,!0),L.removeEventListener("keydown",ne,!0)}},[s,v,w,E,x,j]),h.useEffect(()=>{if(s||!c)return;function L(){_.current=!0,Oe.start(0,()=>{_.current=!1})}function J(K){const Y=K.relatedTarget,Ee=K.currentTarget,he=qe(K);queueMicrotask(()=>{const je=R(),Ve=b.context.triggerElements,ct=Y?.hasAttribute(Ss("focus-guard"))&&[Q.current,ee.current,j?.beforeInsideRef.current,j?.afterInsideRef.current,j?.beforeOutsideRef.current,j?.afterOutsideRef.current,mt(p),mt(f)].includes(Y),ve=!(we(w,Y)||we(v,Y)||we(Y,v)||we(j?.portalNode,Y)||Y!=null&&Ve.hasElement(Y)||Ve.hasMatchingElement(re=>we(re,Y))||ct||$&&(Gt($.nodesRef.current,je).find(re=>we(re.context?.elements.floating,Y)||we(re.context?.elements.domReference,Y))||Lo($.nodesRef.current,je).find(re=>[re.context?.elements.floating,Ur(re.context?.elements.floating)].includes(Y)||re.context?.elements.domReference===Y)));if(Ee===w&&E&&Zo(E,A),a&&Ee!==w&&!Ep(he)&&Bt(Le(E))===Le(E).body){if(Rt(E)&&(E.focus(),a==="popup")){Qe.request(()=>{E.focus()});return}const re=X.current,Re=te(),Ie=Re[re]||Re[Re.length-1]||E;Rt(Ie)&&Ie.focus()}if(S.current.insideReactTree){S.current.insideReactTree=!1;return}(I||!l)&&Y&&ve&&!_.current&&(I||Y!==br())&&(D.current=!0,b.setOpen(!1,pt(Al,K)))})}function Z(){z.current||(S.current.insideReactTree=!0,Ne.start(0,()=>{S.current.insideReactTree=!1}))}const ne=Rt(w)?w:null,ue=[];if(!(!v&&!ne))return ne&&(ne.addEventListener("focusout",J),ne.addEventListener("pointerdown",L),ue.push(()=>{ne.removeEventListener("focusout",J),ne.removeEventListener("pointerdown",L)})),v&&(v.addEventListener("focusout",J),j&&(v.addEventListener("focusout",Z,!0),ue.push(()=>{v.removeEventListener("focusout",Z,!0)})),ue.push(()=>{v.removeEventListener("focusout",J)})),()=>{ue.forEach(K=>{K()})}},[s,w,v,E,l,$,j,b,c,a,te,I,R,A,S,Ne,Oe,Qe,f,p]),h.useEffect(()=>{if(s||!v||!x)return;const L=Array.from(j?.portalNode?.querySelectorAll(`[${Ss("portal")}]`)||[]),Z=($?Lo($.nodesRef.current,R()):[]).find(K=>Vo(K.context?.elements.domReference||null))?.context?.elements.domReference,ne=[v,Z,...L,...N(),W.current,pe.current,Q.current,ee.current,j?.beforeOutsideRef.current,j?.afterOutsideRef.current,mt(p),mt(f),I?w:null].filter(K=>K!=null),ue=xp(ne,l||I);return()=>{ue()}},[x,s,w,v,l,A,j,I,$,R,N,f,p]),Pe(()=>{if(!x||s||!Rt(E))return;const L=Le(E),J=Bt(L);queueMicrotask(()=>{const Z=G(E),ne=M.current,ue=typeof ne=="function"?ne(V.current||""):ne;if(ue===void 0||ue===!1)return;let K;ue===!0||ue===null?K=Z[0]||E:K=mt(ue),K=K||Z[0]||E,!we(E,J)&&gr(K,{preventScroll:K===E})})},[s,x,E,C,G,M,V]),Pe(()=>{if(s||!E)return;const L=Le(E),J=Bt(L);kp(J);function Z(K){if(K.open||(se.current=Tp(K.nativeEvent,H.current)),K.reason===Yf&&K.nativeEvent.type==="mouseleave"&&(D.current=!0),K.reason===Pl)if(K.nested)D.current=!1;else if(Fh(K.nativeEvent)||_h(K.nativeEvent))D.current=!1;else{let Y=!1;document.createElement("div").focus({get preventScroll(){return Y=!0,!1}}),Y?D.current=!1:D.current=!0}}k.on("openchange",Z);const ne=L.createElement("span");ne.setAttribute("tabindex","-1"),ne.setAttribute("aria-hidden","true"),Object.assign(ne.style,tc),et&&w&&w.insertAdjacentElement("afterend",ne);function ue(){const K=U.current;let Y=typeof K=="function"?K(se.current):K;if(Y===void 0||Y===!1)return null;if(Y===null&&(Y=!0),typeof Y=="boolean"){const he=w||br();return he&&he.isConnected?he:ne}const Ee=w||br()||ne;return mt(Y)||Ee}return()=>{k.off("openchange",Z);const K=Bt(L),Y=we(v,K)||$&&Gt($.nodesRef.current,R(),!1).some(he=>we(he.context?.elements.floating,K)),Ee=ue();queueMicrotask(()=>{const he=Cp(Ee),je=typeof U.current!="boolean";U.current&&!D.current&&Rt(he)&&(!(!je&&he!==K&&K!==L.body)||Y)&&he.focus({preventScroll:!0}),ne.remove()})}},[s,v,E,U,S,k,$,et,w,R]),h.useEffect(()=>{queueMicrotask(()=>{D.current=!1})},[s]),h.useEffect(()=>{if(s||!x)return;function L(Z){qe(Z)?.closest(`[${Th}]`)&&(_.current=!0)}const J=Le(E);return J.addEventListener("pointerdown",L,!0),()=>{J.removeEventListener("pointerdown",L,!0)}},[s,x,E]),Pe(()=>{if(!s&&j)return j.setFocusManagerState({modal:l,closeOnFocusOut:c,open:x,onOpenChange:b.setOpen,domReference:w}),()=>{j.setFocusManagerState(null)}},[s,j,l,x,b,c,w]),Pe(()=>{if(!(s||!E))return Zo(E,A),()=>{queueMicrotask(vi)}},[s,E,A]);const xe=!s&&(l?!I:!0)&&(et||l);return g.jsxs(h.Fragment,{children:[xe&&g.jsx(Ts,{"data-type":"inside",ref:de,onFocus:L=>{if(l){const J=G();gr(J[J.length-1])}else j?.portalNode&&(D.current=!1,yn(L,j.portalNode)?Yl(w)?.focus():mt(p??j.beforeOutsideRef)?.focus())}}),n,xe&&g.jsx(Ts,{"data-type":"inside",ref:be,onFocus:L=>{l?gr(G()[0]):j?.portalNode&&(c&&(D.current=!0),yn(L,j.portalNode)?zl(w)?.focus():mt(f??j.afterOutsideRef)?.focus())}})]})}const Pp={intentional:"onClick",sloppy:"onPointerDown"};function Rp(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function Mp(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingElement"),i=n.useState("referenceElement"),o=n.useState("domReferenceElement"),{onOpenChange:a,dataRef:l}=n.context,{enabled:c=!0,escapeKey:u=!0,outsidePress:d=!0,outsidePressEvent:f="sloppy",referencePress:p=!1,referencePressEvent:m="sloppy",ancestorScroll:y=!1,bubbles:b,externalTree:x}=t,w=lc(x),v=ie(typeof d=="function"?d:()=>!1),k=typeof d=="function"?v:d,S=h.useRef(!1),{escapeKey:R,outsidePress:N}=Rp(b),C=h.useRef(null),I=ps(),A=ps(),M=ie(()=>{A.clear(),l.current.insideReactTree=!1}),U=h.useRef(!1),V=h.useRef(""),$=ie(E=>{V.current=E.pointerType}),j=ie(()=>{const E=V.current,te=E==="pen"||!E?"mouse":E,G=typeof f=="function"?f():f;return typeof G=="string"?G:G[te]}),W=ie(E=>{if(!s||!c||!u||E.key!=="Escape"||U.current)return;const te=l.current.floatingContext?.nodeId,G=w?Gt(w.nodesRef.current,te):[];if(!R&&G.length>0){let J=!0;if(G.forEach(Z=>{Z.context?.open&&!Z.context.dataRef.current.__escapeKeyBubbles&&(J=!1)}),!J)return}const xe=Ih(E)?E.nativeEvent:E,L=pt(zf,xe);n.setOpen(!1,L),!R&&!L.isPropagationAllowed&&E.stopPropagation()}),pe=ie(E=>{const te=j();return te==="intentional"&&E.type!=="click"||te==="sloppy"&&E.type==="click"}),D=ie(()=>{l.current.insideReactTree=!0,A.start(0,M)}),_=ie((E,te=!1)=>{if(pe(E)){M();return}if(l.current.insideReactTree){M();return}if(j()==="intentional"&&te||typeof k=="function"&&!k(E))return;const G=qe(E),xe=`[${Ss("inert")}]`,L=Le(n.select("floatingElement")).querySelectorAll(xe),J=n.context.triggerElements;if(G&&(J.hasElement(G)||J.hasMatchingElement(Y=>we(Y,G))))return;let Z=At(G)?G:null;for(;Z&&!er(Z);){const Y=qf(Z);if(er(Y)||!At(Y))break;Z=Y}if(L.length&&At(G)&&!jh(G)&&!we(G,n.select("floatingElement"))&&Array.from(L).every(Y=>!we(Z,Y)))return;if(Rt(G)&&!("touches"in E)){const Y=er(G),Ee=Rl(G),he=/auto|scroll/,je=Y||he.test(Ee.overflowX),Ve=Y||he.test(Ee.overflowY),ct=je&&G.clientWidth>0&&G.scrollWidth>G.clientWidth,ve=Ve&&G.clientHeight>0&&G.scrollHeight>G.clientHeight,re=Ee.direction==="rtl",Re=ve&&(re?E.offsetX<=G.offsetWidth-G.clientWidth:E.offsetX>G.clientWidth),Ie=ct&&E.offsetY>G.clientHeight;if(Re||Ie)return}const ne=l.current.floatingContext?.nodeId,ue=w&&Gt(w.nodesRef.current,ne).some(Y=>Ge(E,Y.context?.elements.floating));if(Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement"))||ue)return;const K=w?Gt(w.nodesRef.current,ne):[];if(K.length>0){let Y=!0;if(K.forEach(Ee=>{Ee.context?.open&&!Ee.context.dataRef.current.__outsidePressBubbles&&(Y=!1)}),!Y)return}n.setOpen(!1,pt(Pl,E)),M()}),z=ie(E=>{j()!=="sloppy"||E.pointerType==="touch"||!n.select("open")||!c||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement"))||_(E)}),X=ie(E=>{if(j()!=="sloppy"||!n.select("open")||!c||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement")))return;const te=E.touches[0];te&&(C.current={startTime:Date.now(),startX:te.clientX,startY:te.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},I.start(1e3,()=>{C.current&&(C.current.dismissOnTouchEnd=!1,C.current.dismissOnMouseDown=!1)}))}),se=ie(E=>{const te=qe(E);function G(){X(E),te?.removeEventListener(E.type,G)}te?.addEventListener(E.type,G)}),H=ie(E=>{const te=S.current;if(S.current=!1,I.clear(),E.type==="mousedown"&&C.current&&!C.current.dismissOnMouseDown)return;const G=qe(E);function xe(){E.type==="pointerdown"?z(E):_(E,te),G?.removeEventListener(E.type,xe)}G?.addEventListener(E.type,xe)}),Q=ie(E=>{if(j()!=="sloppy"||!C.current||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement")))return;const te=E.touches[0];if(!te)return;const G=Math.abs(te.clientX-C.current.startX),xe=Math.abs(te.clientY-C.current.startY),L=Math.sqrt(G*G+xe*xe);L>5&&(C.current.dismissOnTouchEnd=!0),L>10&&(_(E),I.clear(),C.current=null)}),ee=ie(E=>{const te=qe(E);function G(){Q(E),te?.removeEventListener(E.type,G)}te?.addEventListener(E.type,G)}),de=ie(E=>{j()!=="sloppy"||!C.current||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement"))||(C.current.dismissOnTouchEnd&&_(E),I.clear(),C.current=null)}),be=ie(E=>{const te=qe(E);function G(){de(E),te?.removeEventListener(E.type,G)}te?.addEventListener(E.type,G)});h.useEffect(()=>{if(!s||!c)return;l.current.__escapeKeyBubbles=R,l.current.__outsidePressBubbles=N;const E=new qt;function te(Z){n.setOpen(!1,pt(Zf,Z))}function G(){E.clear(),U.current=!0}function xe(){E.start(Xf()?5:0,()=>{U.current=!1})}const L=Le(r);L.addEventListener("pointerdown",$,!0),u&&(L.addEventListener("keydown",W),L.addEventListener("compositionstart",G),L.addEventListener("compositionend",xe)),k&&(L.addEventListener("click",H,!0),L.addEventListener("pointerdown",H,!0),L.addEventListener("touchstart",se,!0),L.addEventListener("touchmove",ee,!0),L.addEventListener("touchend",be,!0),L.addEventListener("mousedown",H,!0));let J=[];return y&&(At(o)&&(J=tr(o)),At(r)&&(J=J.concat(tr(r))),!At(i)&&i&&i.contextElement&&(J=J.concat(tr(i.contextElement)))),J=J.filter(Z=>Z!==L.defaultView?.visualViewport),J.forEach(Z=>{Z.addEventListener("scroll",te,{passive:!0})}),()=>{L.removeEventListener("pointerdown",$,!0),u&&(L.removeEventListener("keydown",W),L.removeEventListener("compositionstart",G),L.removeEventListener("compositionend",xe)),k&&(L.removeEventListener("click",H,!0),L.removeEventListener("pointerdown",H,!0),L.removeEventListener("touchstart",se,!0),L.removeEventListener("touchmove",ee,!0),L.removeEventListener("touchend",be,!0),L.removeEventListener("mousedown",H,!0)),J.forEach(Z=>{Z.removeEventListener("scroll",te)}),E.clear(),S.current=!1}},[l,r,i,o,u,k,s,a,y,c,R,N,W,_,H,z,se,ee,be,$,n]),h.useEffect(M,[k,M]);const Ne=h.useMemo(()=>({onKeyDown:W,...p&&{[Pp[m]]:E=>{n.setOpen(!1,pt(No,E.nativeEvent))},...m!=="intentional"&&{onClick(E){n.setOpen(!1,pt(No,E.nativeEvent))}}}}),[W,n,p,m]),Oe=ie(E=>{const te=qe(E.nativeEvent);!we(n.select("floatingElement"),te)||E.button!==0||(S.current=!0)}),Qe=ie(E=>{!s||!c||E.button!==0||(S.current=!0)}),et=h.useMemo(()=>({onKeyDown:W,onPointerDown:Oe,onMouseDown:Oe,onMouseUp:Oe,onClickCapture:D,onMouseDownCapture(E){D(),Qe(E)},onPointerDownCapture(E){D(),Qe(E)},onMouseUpCapture:D,onTouchEndCapture:D,onTouchMoveCapture:D}),[W,Oe,D,Qe]);return h.useMemo(()=>c?{reference:Ne,floating:et,trigger:Ne}:{},[c,Ne,et])}const Dp={open:oe(e=>e.open),domReferenceElement:oe(e=>e.domReferenceElement),referenceElement:oe(e=>e.positionReference??e.referenceElement),floatingElement:oe(e=>e.floatingElement),floatingId:oe(e=>e.floatingId)};class fc extends ic{constructor(t){const{nested:n,noEmit:s,onOpenChange:r,triggerElements:i,...o}=t;super({...o,positionReference:o.referenceElement,domReferenceElement:o.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:mp(),nested:n,noEmit:s,triggerElements:i},Dp)}setOpen=(t,n)=>{if((!t||!this.state.open||Oh(n.event))&&(this.context.dataRef.current.openEvent=t?n.event:void 0),!this.context.noEmit){const s={open:t,reason:n.reason,nativeEvent:n.event,nested:this.context.nested,triggerElement:n.trigger};this.context.events.emit("openchange",s)}this.context.onOpenChange?.(t,n)}}function Np(e,t=!1,n=!1){const[s,r]=h.useState(e&&t?"idle":void 0),[i,o]=h.useState(e);return e&&!i&&(o(!0),r("starting")),!e&&i&&s!=="ending"&&!n&&r("ending"),!e&&!i&&s==="ending"&&r(void 0),Pe(()=>{if(!e&&i&&s!=="ending"&&n){const a=rt.request(()=>{r("ending")});return()=>{rt.cancel(a)}}},[e,i,s,n]),Pe(()=>{if(!e||t)return;const a=rt.request(()=>{r(void 0)});return()=>{rt.cancel(a)}},[t,e]),Pe(()=>{if(!e||!t)return;e&&i&&s!=="idle"&&r("starting");const a=rt.request(()=>{r("idle")});return()=>{rt.cancel(a)}},[t,e,i,r,s]),h.useMemo(()=>({mounted:i,setMounted:o,transitionStatus:s}),[i,s])}let kn=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({});const jp={[kn.startingStyle]:""},Vp={[kn.endingStyle]:""},wi={transitionStatus(e){return e==="starting"?jp:e==="ending"?Vp:null}};function Lp(e,t=!1,n=!0){const s=oc();return ie((r,i=null)=>{s.cancel();function o(){gi.flushSync(r)}const a=mt(e);if(a==null)return;const l=a;if(typeof l.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED)r();else{let c=function(){const d=kn.startingStyle;if(!l.hasAttribute(d)){s.request(u);return}const f=new MutationObserver(()=>{l.hasAttribute(d)||(f.disconnect(),u())});f.observe(l,{attributes:!0,attributeFilter:[d]}),i?.addEventListener("abort",()=>f.disconnect(),{once:!0})},u=function(){Promise.all(l.getAnimations().map(d=>d.finished)).then(()=>{i?.aborted||o()}).catch(()=>{const d=l.getAnimations();if(n){if(i?.aborted)return;o()}else d.length>0&&d.some(f=>f.pending||f.playState!=="finished")&&u()})};if(t){c();return}s.request(u)}})}function hc(e){const{enabled:t=!0,open:n,ref:s,onComplete:r}=e,i=ie(r),o=Lp(s,n,!1);h.useEffect(()=>{if(!t)return;const a=new AbortController;return o(i,a.signal),()=>{a.abort()}},[t,n,i,o])}function Ip(e){const t=e.useState("open");Pe(()=>{if(t&&!e.select("activeTriggerId")&&e.context.triggerElements.size===1){const n=e.context.triggerElements.entries().next();if(!n.done){const[s,r]=n.value;e.update({activeTriggerId:s,activeTriggerElement:r})}}},[t,e])}function Fp(e,t,n){const{mounted:s,setMounted:r,transitionStatus:i}=Np(e);t.useSyncedValues({mounted:s,transitionStatus:i});const o=ie(()=>{r(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)}),a=t.useState("preventUnmountingOnClose");return hc({enabled:!a,open:e,ref:t.context.popupRef,onComplete(){e||o()}}),{forceUnmount:o,transitionStatus:i}}class mc{constructor(){this.elements=new Set,this.idMap=new Map}add(t,n){const s=this.idMap.get(t);s!==n&&(s!==void 0&&this.elements.delete(s),this.elements.add(n),this.idMap.set(t,n))}delete(t){const n=this.idMap.get(t);n&&(this.elements.delete(n),this.idMap.delete(t))}hasElement(t){return this.elements.has(t)}hasMatchingElement(t){for(const n of this.elements)if(t(n))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}get size(){return this.idMap.size}}function _p(){return new fc({open:!1,floatingElement:null,referenceElement:null,triggerElements:new mc,floatingId:"",nested:!1,noEmit:!1,onOpenChange:void 0})}function Op(){return{open:!1,mounted:!1,transitionStatus:"idle",floatingRootContext:_p(),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,popupElement:null,positionerElement:null,activeTriggerProps:gn,inactiveTriggerProps:gn,popupProps:gn}}const Bp={open:oe(e=>e.open),mounted:oe(e=>e.mounted),transitionStatus:oe(e=>e.transitionStatus),floatingRootContext:oe(e=>e.floatingRootContext),preventUnmountingOnClose:oe(e=>e.preventUnmountingOnClose),payload:oe(e=>e.payload),activeTriggerId:oe(e=>e.activeTriggerId),activeTriggerElement:oe(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:oe((e,t)=>t!==void 0&&e.activeTriggerId===t),isOpenedByTrigger:oe((e,t)=>t!==void 0&&e.activeTriggerId===t&&e.open),isMountedByTrigger:oe((e,t)=>t!==void 0&&e.activeTriggerId===t&&e.mounted),triggerProps:oe((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:oe(e=>e.popupProps),popupElement:oe(e=>e.popupElement),positionerElement:oe(e=>e.positionerElement)};function $p(e){const{popupStore:t,noEmit:n=!1,treatPopupAsFloatingElement:s=!1,onOpenChange:r}=e,i=yi(),o=ac()!=null,a=t.useState("open"),l=t.useState("activeTriggerElement"),c=t.useState(s?"popupElement":"positionerElement"),u=t.context.triggerElements,d=Mn(()=>new fc({open:a,referenceElement:l,floatingElement:c,triggerElements:u,onOpenChange:r,floatingId:i,nested:o,noEmit:n})).current;return Pe(()=>{const f={open:a,floatingId:i,referenceElement:l,floatingElement:c};At(l)&&(f.domReferenceElement=l),d.state.positionReference===d.state.referenceElement&&(f.positionReference=l),d.update(f)},[a,i,l,c,d]),d.context.onOpenChange=r,d.context.nested=o,d.context.noEmit=n,d}function Up(e=[]){const t=e.map(c=>c?.reference),n=e.map(c=>c?.floating),s=e.map(c=>c?.item),r=e.map(c=>c?.trigger),i=h.useCallback(c=>es(c,e,"reference"),t),o=h.useCallback(c=>es(c,e,"floating"),n),a=h.useCallback(c=>es(c,e,"item"),s),l=h.useCallback(c=>es(c,e,"trigger"),r);return h.useMemo(()=>({getReferenceProps:i,getFloatingProps:o,getItemProps:a,getTriggerProps:l}),[i,o,a,l])}function es(e,t,n){const s=new Map,r=n==="item",i={};n==="floating"&&(i.tabIndex=-1,i[$r]="");for(const o in e)r&&e&&(o===Fl||o===_l)||(i[o]=e[o]);for(let o=0;o<t.length;o+=1){let a;const l=t[o]?.[n];typeof l=="function"?a=e?l(e):null:a=l,a&&Jo(i,a,r,s)}return Jo(i,e,r,s),i}function Jo(e,t,n,s){for(const r in t){const i=t[r];n&&(r===Fl||r===_l)||(r.startsWith("on")?(s.has(r)||s.set(r,[]),typeof i=="function"&&(s.get(r)?.push(i),e[r]=(...o)=>s.get(r)?.map(a=>a(...o)).find(a=>a!==void 0))):e[r]=i)}}const Wp=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Kp(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingId"),i=n.useState("domReferenceElement"),o=n.useState("floatingElement"),{enabled:a=!0,role:l="dialog"}=t,c=yi(),u=i?.id||c,d=h.useMemo(()=>Ur(o)?.id||r,[o,r]),f=Wp.get(l)??l,m=ac()!=null,y=h.useMemo(()=>f==="tooltip"||l==="label"?gn:{"aria-haspopup":f==="alertdialog"?"dialog":f,"aria-expanded":"false",...f==="listbox"&&{role:"combobox"},...f==="menu"&&m&&{role:"menuitem"},...l==="select"&&{"aria-autocomplete":"none"},...l==="combobox"&&{"aria-autocomplete":"list"}},[f,m,l]),b=h.useMemo(()=>f==="tooltip"||l==="label"?{[`aria-${l==="label"?"labelledby":"describedby"}`]:s?d:void 0}:{...y,"aria-expanded":s?"true":"false","aria-controls":s?d:void 0,...f==="menu"&&{id:u}},[f,d,s,u,l,y]),x=h.useMemo(()=>{const v={id:d,...f&&{role:f}};return f==="tooltip"||l==="label"?v:{...v,...f==="menu"&&{"aria-labelledby":u}}},[f,d,u,l]),w=h.useCallback(({active:v,selected:k})=>{const S={role:"option",...v&&{id:`${d}-fui-option`}};switch(l){case"select":case"combobox":return{...S,"aria-selected":k}}return{}},[d,l]);return h.useMemo(()=>a?{reference:b,floating:x,item:w,trigger:y}:{},[a,b,x,y,w])}function Hp(e){const t=h.useRef(""),n=h.useCallback(r=>{r.defaultPrevented||(t.current=r.pointerType,e(r,r.pointerType))},[e]);return{onClick:h.useCallback(r=>{if(r.detail===0){e(r,"keyboard");return}"pointerType"in r&&e(r,r.pointerType),e(r,t.current),t.current=""},[e]),onPointerDown:n}}function Gp(e){const[t,n]=h.useState(null),s=ie((a,l)=>{e||n(l||(Il?"touch":""))}),r=h.useCallback(()=>{n(null)},[]),{onClick:i,onPointerDown:o}=Hp(s);return h.useMemo(()=>({openMethod:t,reset:r,triggerProps:{onClick:i,onPointerDown:o}}),[t,r,i,o])}let Xe=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=kn.startingStyle]="startingStyle",e[e.endingStyle=kn.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e})({});const Yp={[Xe.open]:""},zp={[Xe.closed]:""},qp={[Xe.anchorHidden]:""},Si={open(e){return e?Yp:zp},anchorHidden(e){return e?qp:null}};function Xp(e){return kl(19)?e:e?"true":void 0}let Qo={},ea={},ta="";function Zp(e){if(typeof document>"u")return!1;const t=Nn(e);return Vs(t).innerWidth-t.documentElement.clientWidth>0}function Jp(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const s=Nn(e).documentElement,r={scrollbarGutter:s.style.scrollbarGutter,overflowY:s.style.overflowY};s.style.scrollbarGutter="stable",s.style.overflowY="scroll";const i=s.offsetWidth;s.style.overflowY="hidden";const o=s.offsetWidth;return Object.assign(s.style,r),i===o}function Qp(e){const t=Nn(e),n=t.documentElement,s=t.body,r=Ml(n)?n:s,i=r.style.overflow;return r.style.overflow="hidden",()=>{r.style.overflow=i}}function eg(e){const t=Nn(e),n=t.documentElement,s=t.body,r=Vs(n);let i=0,o=0,a=!1;const l=rt.create();if(Eh&&(r.visualViewport?.scale??1)!==1)return()=>{};function c(){const f=r.getComputedStyle(n),p=r.getComputedStyle(s),b=(f.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";i=n.scrollTop,o=n.scrollLeft,Qo={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},ta=n.style.scrollBehavior,ea={position:s.style.position,height:s.style.height,width:s.style.width,boxSizing:s.style.boxSizing,overflowY:s.style.overflowY,overflowX:s.style.overflowX,scrollBehavior:s.style.scrollBehavior};const x=n.scrollHeight>n.clientHeight,w=n.scrollWidth>n.clientWidth,v=f.overflowY==="scroll"||p.overflowY==="scroll",k=f.overflowX==="scroll"||p.overflowX==="scroll",S=Math.max(0,r.innerWidth-s.clientWidth),R=Math.max(0,r.innerHeight-s.clientHeight),N=parseFloat(p.marginTop)+parseFloat(p.marginBottom),C=parseFloat(p.marginLeft)+parseFloat(p.marginRight),I=Ml(n)?n:s;if(a=Jp(e),a){n.style.scrollbarGutter=b,I.style.overflowY="hidden",I.style.overflowX="hidden";return}Object.assign(n.style,{scrollbarGutter:b,overflowY:"hidden",overflowX:"hidden"}),(x||v)&&(n.style.overflowY="scroll"),(w||k)&&(n.style.overflowX="scroll"),Object.assign(s.style,{position:"relative",height:N||R?`calc(100dvh - ${N+R}px)`:"100dvh",width:C||S?`calc(100vw - ${C+S}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),s.scrollTop=i,s.scrollLeft=o,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}function u(){Object.assign(n.style,Qo),Object.assign(s.style,ea),a||(n.scrollTop=i,n.scrollLeft=o,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=ta)}function d(){u(),l.request(c)}return c(),r.addEventListener("resize",d),()=>{l.cancel(),u(),typeof r.removeEventListener=="function"&&r.removeEventListener("resize",d)}}class tg{lockCount=0;restore=null;timeoutLock=qt.create();timeoutUnlock=qt.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(t){if(this.lockCount===0||this.restore!==null)return;const s=Nn(t).documentElement,r=Vs(s).getComputedStyle(s).overflowY;if(r==="hidden"||r==="clip"){this.restore=Cl;return}const i=Il||!Zp(t);this.restore=i?Qp(t):eg(t)}}const ng=new tg;function sg(e=!0,t=null){Pe(()=>{if(e)return ng.acquire(t)},[e,t])}const rg=h.forwardRef(function(t,n){const{cutout:s,...r}=t;let i;if(s){const o=s?.getBoundingClientRect();i=`polygon(
1
+ import{r as h,u as Mn,i as Wf,a as Rt,g as Kf,b as Jt,c as Qt,d as ot,e as Or,f as Yn,h as js,j as mi,k as zt,t as Ze,l as P,T as Hf,m as g,n as Pe,o as pi,p as Tl,q as kl,s as ie,N as Cl,v as El,w as gi,x as pt,y as Al,E as gn,z as yi,A as Gf,B as Dn,C as Do,D as Yf,F as Pl,G as Vs,H as Rl,I as zf,J as At,K as er,L as qf,M as tr,O as No,P as Xf,Q as Zf,R as Ml,S as Jf,U as Qf,V as eh,W as th,X as Dl,Y as Nl,Z as nh,_ as sh,$ as rh,a0 as ih,a1 as oh,a2 as ah,a3 as lh,a4 as ch,a5 as ht,a6 as uh,a7 as dh,a8 as nr}from"./main-B206gspN.js";import{g as fh,a as bi,b as hh,c as mh,d as ph,e as sr,f as gh,A as yh,r as bh,h as jo,i as xh,j as vh,t as wh,s as Sh}from"./AsciiBox-fxqdUErY.js";const Th="data-base-ui-click-trigger",kh={clipPath:"inset(50%)",position:"fixed",top:0,left:0},Ch=[];function jl(e){h.useEffect(e,Ch)}const dn=0;class qt{static create(){return new qt}currentId=dn;start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=dn,n()},t)}isStarted(){return this.currentId!==dn}clear=()=>{this.currentId!==dn&&(clearTimeout(this.currentId),this.currentId=dn)};disposeEffect=()=>this.clear}function ps(){const e=Mn(qt.create).current;return jl(e.disposeEffect),e}function Nn(e){return e?.ownerDocument||document}const en=typeof navigator<"u",rr=Rh(),Vl=Dh(),Ll=Mh(),Eh=typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter:none"),Il=rr.platform==="MacIntel"&&rr.maxTouchPoints>1?!0:/iP(hone|ad|od)|iOS/.test(rr.platform),Ah=en&&/apple/i.test(navigator.vendor),Br=en&&/android/i.test(Vl)||/android/i.test(Ll);en&&Vl.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;const Ph=Ll.includes("jsdom/");function Rh(){if(!en)return{platform:"",maxTouchPoints:-1};const e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}function Mh(){if(!en)return"";const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:t,version:n})=>`${t}/${n}`).join(" "):navigator.userAgent}function Dh(){if(!en)return"";const e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}const $r="data-base-ui-focusable",Fl="active",_l="selected",Nh="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function Bt(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function we(e,t){if(!e||!t)return!1;const n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&Wf(n)){let s=t;for(;s;){if(e===s)return!0;s=s.parentNode||s.host}}return!1}function qe(e){return"composedPath"in e?e.composedPath()[0]:e.target}function Ge(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const n=e;return n.target!=null&&t.contains(n.target)}function jh(e){return e.matches("html,body")}function Le(e){return e?.ownerDocument||document}function Vh(e){return Rt(e)&&e.matches(Nh)}function Vo(e){return e?e.getAttribute("role")==="combobox"&&Vh(e):!1}function Ur(e){return e?e.hasAttribute($r)?e:e.querySelector(`[${$r}]`)||e:null}function Gt(e,t,n=!0){return e.filter(r=>r.parentId===t&&(!n||r.context?.open)).flatMap(r=>[r,...Gt(e,r.id,n)])}function Lo(e,t){let n=[],s=e.find(r=>r.id===t)?.parentId;for(;s;){const r=e.find(i=>i.id===s);s=r?.parentId,r&&(n=n.concat(r))}return n}function Lh(e){e.preventDefault(),e.stopPropagation()}function Ih(e){return"nativeEvent"in e}function Fh(e){return e.mozInputSource===0&&e.isTrusted?!0:Br&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function _h(e){return Ph?!1:!Br&&e.width===0&&e.height===0||Br&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function Oh(e){const t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}var Bh=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],gs=Bh.join(","),Ol=typeof Element>"u",Xt=Ol?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ys=!Ol&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},bs=function(t,n){var s;n===void 0&&(n=!0);var r=t==null||(s=t.getAttribute)===null||s===void 0?void 0:s.call(t,"inert"),i=r===""||r==="true",o=i||n&&t&&(typeof t.closest=="function"?t.closest("[inert]"):bs(t.parentNode));return o},$h=function(t){var n,s=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return s===""||s==="true"},Bl=function(t,n,s){if(bs(t))return[];var r=Array.prototype.slice.apply(t.querySelectorAll(gs));return n&&Xt.call(t,gs)&&r.unshift(t),r=r.filter(s),r},xs=function(t,n,s){for(var r=[],i=Array.from(t);i.length;){var o=i.shift();if(!bs(o,!1))if(o.tagName==="SLOT"){var a=o.assignedElements(),l=a.length?a:o.children,c=xs(l,!0,s);s.flatten?r.push.apply(r,c):r.push({scopeParent:o,candidates:c})}else{var u=Xt.call(o,gs);u&&s.filter(o)&&(n||!t.includes(o))&&r.push(o);var d=o.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(o),f=!bs(d,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(o));if(d&&f){var p=xs(d===!0?o.children:d.children,!0,s);s.flatten?r.push.apply(r,p):r.push({scopeParent:o,candidates:p})}else i.unshift.apply(i,o.children)}}return r},$l=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},Ul=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||$h(t))&&!$l(t)?0:t.tabIndex},Uh=function(t,n){var s=Ul(t);return s<0&&n&&!$l(t)?0:s},Wh=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},Wl=function(t){return t.tagName==="INPUT"},Kh=function(t){return Wl(t)&&t.type==="hidden"},Hh=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(s){return s.tagName==="SUMMARY"});return n},Gh=function(t,n){for(var s=0;s<t.length;s++)if(t[s].checked&&t[s].form===n)return t[s]},Yh=function(t){if(!t.name)return!0;var n=t.form||ys(t),s=function(a){return n.querySelectorAll('input[type="radio"][name="'+a+'"]')},r;if(typeof window<"u"&&typeof window.CSS<"u"&&typeof window.CSS.escape=="function")r=s(window.CSS.escape(t.name));else try{r=s(t.name)}catch(o){return console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s",o.message),!1}var i=Gh(r,t.form);return!i||i===t},zh=function(t){return Wl(t)&&t.type==="radio"},qh=function(t){return zh(t)&&!Yh(t)},Xh=function(t){var n,s=t&&ys(t),r=(n=s)===null||n===void 0?void 0:n.host,i=!1;if(s&&s!==t){var o,a,l;for(i=!!((o=r)!==null&&o!==void 0&&(a=o.ownerDocument)!==null&&a!==void 0&&a.contains(r)||t!=null&&(l=t.ownerDocument)!==null&&l!==void 0&&l.contains(t));!i&&r;){var c,u,d;s=ys(r),r=(c=s)===null||c===void 0?void 0:c.host,i=!!((u=r)!==null&&u!==void 0&&(d=u.ownerDocument)!==null&&d!==void 0&&d.contains(r))}}return i},Io=function(t){var n=t.getBoundingClientRect(),s=n.width,r=n.height;return s===0&&r===0},Zh=function(t,n){var s=n.displayCheck,r=n.getShadowRoot;if(s==="full-native"&&"checkVisibility"in t){var i=t.checkVisibility({checkOpacity:!1,opacityProperty:!1,contentVisibilityAuto:!0,visibilityProperty:!0,checkVisibilityCSS:!0});return!i}if(getComputedStyle(t).visibility==="hidden")return!0;var o=Xt.call(t,"details>summary:first-of-type"),a=o?t.parentElement:t;if(Xt.call(a,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="full-native"||s==="legacy-full"){if(typeof r=="function"){for(var l=t;t;){var c=t.parentElement,u=ys(t);if(c&&!c.shadowRoot&&r(c)===!0)return Io(t);t.assignedSlot?t=t.assignedSlot:!c&&u!==t.ownerDocument?t=u.host:t=c}t=l}if(Xh(t))return!t.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return Io(t);return!1},Jh=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var s=0;s<n.children.length;s++){var r=n.children.item(s);if(r.tagName==="LEGEND")return Xt.call(n,"fieldset[disabled] *")?!0:!r.contains(t)}return!0}n=n.parentElement}return!1},Wr=function(t,n){return!(n.disabled||Kh(n)||Zh(n,t)||Hh(n)||Jh(n))},Kr=function(t,n){return!(qh(n)||Ul(n)<0||!Wr(t,n))},Qh=function(t){var n=parseInt(t.getAttribute("tabindex"),10);return!!(isNaN(n)||n>=0)},Kl=function(t){var n=[],s=[];return t.forEach(function(r,i){var o=!!r.scopeParent,a=o?r.scopeParent:r,l=Uh(a,o),c=o?Kl(r.candidates):a;l===0?o?n.push.apply(n,c):n.push(a):s.push({documentOrder:i,tabIndex:l,item:r,isScope:o,content:c})}),s.sort(Wh).reduce(function(r,i){return i.isScope?r.push.apply(r,i.content):r.push(i.content),r},[]).concat(n)},Ls=function(t,n){n=n||{};var s;return n.getShadowRoot?s=xs([t],n.includeContainer,{filter:Kr.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:Qh}):s=Bl(t,n.includeContainer,Kr.bind(null,n)),Kl(s)},em=function(t,n){n=n||{};var s;return n.getShadowRoot?s=xs([t],n.includeContainer,{filter:Wr.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):s=Bl(t,n.includeContainer,Wr.bind(null,n)),s},Hl=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return Xt.call(t,gs)===!1?!1:Kr(n,t)};const jn=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function Gl(e,t){const n=Ls(e,jn()),s=n.length;if(s===0)return;const r=Bt(Le(e)),i=n.indexOf(r),o=i===-1?t===1?0:s-1:i+t;return n[o]}function Yl(e){return Gl(Le(e).body,1)||e}function zl(e){return Gl(Le(e).body,-1)||e}function yn(e,t){const n=t||e.currentTarget,s=e.relatedTarget;return!s||!we(n,s)}function tm(e){Ls(e,jn()).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function Fo(e){e.querySelectorAll("[data-tabindex]").forEach(n=>{const s=n.dataset.tabindex;delete n.dataset.tabindex,s?n.setAttribute("tabindex",s):n.removeAttribute("tabindex")})}function nm({baseUrl:e,accessToken:t,guestAllowed:n=!1,weeks:s=52,weekStartsOn:r="sun",cacheKey:i,timeZone:o,tzOffsetMinutes:a,now:l}={}){const c=h.useMemo(()=>Kf({weeks:s,weekStartsOn:r,now:l}),[l,s,r]),[u,d]=h.useState([]),[f,p]=h.useState(null),[m,y]=h.useState("edge"),[b,x]=h.useState(!1),[w,v]=h.useState(null),k=Jt(),S=Qt(t),R=!n,N=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),C=h.useMemo(()=>{if(!i)return null;const $=js({timeZone:o,offsetMinutes:a});return`vibeusage.heatmap.${i}.${s}.${r}.${$}`},[i,o,a,s,r]),I=h.useCallback(()=>{if(!C||typeof window>"u")return null;try{const $=window.localStorage.getItem(C);if(!$)return null;const j=JSON.parse($);return!j||!j.heatmap?null:j}catch{return null}},[C]),A=h.useCallback($=>{if(!(!C||typeof window>"u"))try{window.localStorage.setItem(C,JSON.stringify($))}catch{}},[C]),M=h.useCallback(()=>{if(!(!C||typeof window>"u"))try{window.localStorage.removeItem(C)}catch{}},[C]),U=h.useCallback(async()=>{const $=await ot(t);if(!(!$&&!k&&!N)){x(!0),v(null);try{try{const D=await fh({baseUrl:e,accessToken:$,weeks:s,to:c.to,weekStartsOn:r,timeZone:o,tzOffsetMinutes:a}),_=Array.isArray(D?.weeks)?D.weeks:[];if(!_.length&&R){const X=I();if(X?.heatmap){p(X.heatmap),d(X.daily||[]),y("cache");return}}if(!_.some(X=>(Array.isArray(X)?X:[]).some(se=>se&&Number.isFinite(Number(se.level))))&&_.length){const X=[];for(const H of _)for(const Q of Array.isArray(H)?H:[])Q?.day&&X.push({day:Q.day,total_tokens:Q.total_tokens??Q.value??0,billable_total_tokens:Q.billable_total_tokens??Q.value??Q.total_tokens??0});const se=Or({dailyRows:X,weeks:s,to:D?.to||c.to,weekStartsOn:r});d(X),p({...se,week_starts_on:r,active_days:X.filter(H=>Number(H?.billable_total_tokens??H?.total_tokens)>0).length,streak_days:Yn({dailyRows:X,to:D?.to||c.to})}),y("client"),R?A({heatmap:{...se,week_starts_on:r,active_days:X.filter(H=>Number(H?.billable_total_tokens??H?.total_tokens)>0).length,streak_days:Yn({dailyRows:X,to:D?.to||c.to})},daily:X,fetchedAt:new Date().toISOString()}):M();return}p(D||null),d([]),y("edge"),D&&R?A({heatmap:D,daily:[],fetchedAt:new Date().toISOString()}):R||M();return}catch(D){const _=D,z=_?.status??_?.statusCode;if(z===401||z===403)throw D}const j=await bi({baseUrl:e,accessToken:$,from:c.from,to:c.to,timeZone:o,tzOffsetMinutes:a}),W=Array.isArray(j?.data)?j.data:[];d(W);const pe=Or({dailyRows:W,weeks:s,to:c.to,weekStartsOn:r});p({...pe,week_starts_on:r,active_days:W.filter(D=>Number(D?.billable_total_tokens??D?.total_tokens)>0).length,streak_days:Yn({dailyRows:W,to:c.to})}),y("client"),R?A({heatmap:{...pe,week_starts_on:r,active_days:W.filter(D=>Number(D?.billable_total_tokens??D?.total_tokens)>0).length,streak_days:Yn({dailyRows:W,to:c.to})},daily:W,fetchedAt:new Date().toISOString()}):M()}catch(j){if(R){const W=I();if(W?.heatmap)p(W.heatmap),d(W.daily||[]),y("cache"),v(null);else{const pe=j;v(pe?.message||String(pe)),d([]),p(null),y("edge")}}else{const W=j;v(W?.message||String(W)),d([]),p(null),y("edge")}}finally{x(!1)}}},[t,e,k,n,R,c.from,c.to,I,S,o,a,r,s,M,A,N]);return h.useEffect(()=>{if(!S&&!n&&!k&&!N){d([]),x(!1),v(null),p(null),y("edge");return}if(!R)M(),d([]),v(null),p(null),y("edge");else{const $=I();$?.heatmap&&(p($.heatmap),d($.daily||[]),y("cache"))}U()},[t,k,I,U,S,n,R,M,N]),{range:c,daily:u,heatmap:f,source:k?"mock":m==="client"?"edge":m,loading:b,error:w,refresh:U}}function sm({baseUrl:e,accessToken:t,limit:n=3,from:s,to:r,source:i,timeZone:o,tzOffsetMinutes:a}={}){const[l,c]=h.useState([]),[u,d]=h.useState(!1),[f,p]=h.useState(null),m=Jt(),y=Qt(t),b=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),x=h.useCallback(async()=>{const w=await ot(t);if(!w&&!m&&!b){c([]),p(null),d(!1);return}d(!0),p(null);try{const v=await hh({baseUrl:e,accessToken:w,limit:n,from:s,to:r,source:i,timeZone:o,tzOffsetMinutes:a});c(Array.isArray(v?.entries)?v.entries:[])}catch(v){const k=v?.message||String(v);p(k),c([])}finally{d(!1)}},[t,e,s,n,m,i,o,r,a,b]);return h.useEffect(()=>{if(!y&&!m&&!b){c([]),p(null),d(!1);return}x()},[m,x,y,b]),{entries:l,loading:u,error:f,refresh:x}}const rm=24;function im({baseUrl:e,accessToken:t,guestAllowed:n=!1,period:s,from:r,to:i,months:o=rm,cacheKey:a,timeZone:l,tzOffsetMinutes:c,now:u,sharedRows:d,sharedRange:f}={}){const[p,m]=h.useState([]),[y,b]=h.useState(()=>({from:r,to:i})),[x,w]=h.useState("edge"),[v,k]=h.useState(null),[S,R]=h.useState(!1),[N,C]=h.useState(null),I=Jt(),A=Qt(t),M=!n,U=Array.isArray(d),V=f?.from||r,$=f?.to||i,j=h.useMemo(()=>s==="day"?"hourly":s==="total"?"monthly":"daily",[s]),W=(()=>{if(!a)return null;const H=om(e)||"default",Q=js({timeZone:l,offsetMinutes:c});if(j==="hourly")return`vibeusage.trend.${a}.${H}.hourly.${i||r||"day"}.${Q}`;if(j==="monthly")return`vibeusage.trend.${a}.${H}.monthly.${o}.${i||"today"}.${Q}`;const ee=`${r||""}.${i||""}`;return`vibeusage.trend.${a}.${H}.daily.${ee}.${Q}`})(),pe=h.useCallback(()=>{if(!W||typeof window>"u")return null;try{const H=window.localStorage.getItem(W);if(!H)return null;const Q=JSON.parse(H);return!Q||!Array.isArray(Q.rows)?null:Q}catch{return null}},[W]),D=h.useCallback(H=>{if(!(!W||typeof window>"u"))try{window.localStorage.setItem(W,JSON.stringify(H))}catch{}},[W]),_=h.useCallback(()=>{if(!(!W||typeof window>"u"))try{window.localStorage.removeItem(W)}catch{}},[W]),z=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),X=h.useCallback(async()=>{if(U){m(Array.isArray(d)?d:[]),b({from:V,to:$}),w("shared"),k(null),R(!1),C(null);return}const H=await ot(t);if(!(!H&&!I&&!z)){R(!0),C(null);try{let Q;j==="hourly"?Q=await mh({baseUrl:e,accessToken:H,day:i||r,timeZone:l,tzOffsetMinutes:c}):j==="monthly"?Q=await ph({baseUrl:e,accessToken:H,months:o,to:i,timeZone:l,tzOffsetMinutes:c}):Q=await bi({baseUrl:e,accessToken:H,from:r,to:i,timeZone:l,tzOffsetMinutes:c});const ee=Q?.from||r||Q?.day||null,de=Q?.to||i||Q?.day||null;let be=Array.isArray(Q?.data)?Q.data:[];j==="daily"?be=or(be,ee||r,de||i,{timeZone:l,offsetMinutes:c,now:u}):j==="hourly"?be=ar(be,{timeZone:l,offsetMinutes:c,now:u}):j==="monthly"&&(be=lr(be,{timeZone:l,offsetMinutes:c,now:u}));const Ne=new Date().toISOString();m(be),b({from:ee,to:de}),w("edge"),k(Ne),M?D({rows:be,from:ee,to:de,mode:j,fetchedAt:Ne}):_()}catch(Q){if(M){const ee=pe();if(ee?.rows){let de=j==="daily"?or(ee.rows||[],ee.from||r,ee.to||i,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(ee.rows)?ee.rows:[];j==="hourly"?de=ar(de,{timeZone:l,offsetMinutes:c,now:u}):j==="monthly"&&(de=lr(de,{timeZone:l,offsetMinutes:c,now:u})),m(de),b({from:ee.from||r,to:ee.to||i}),w("cache"),k(ee.fetchedAt||null),C(null)}else{m([]),b({from:r,to:i}),w("edge"),k(null);const de=Q;C(de?.message||String(de))}}else{m([]),b({from:r,to:i}),w("edge"),k(null);const ee=Q;C(ee?.message||String(ee))}}finally{R(!1)}}},[t,e,r,I,n,M,j,o,pe,A,U,V,d,$,l,i,c,u,_,D,z]);h.useEffect(()=>{if(U){m(Array.isArray(d)?d:[]),b({from:V,to:$}),w("shared"),k(null),R(!1),C(null);return}if(!A&&!n&&!I&&!z){m([]),b({from:r,to:i}),C(null),R(!1),w("edge"),k(null);return}if(!M)_(),m([]),b({from:r,to:i}),C(null),w("edge"),k(null);else{const H=pe();if(H?.rows){let Q=j==="daily"?or(H.rows||[],H.from||r,H.to||i,{timeZone:l,offsetMinutes:c,now:u}):Array.isArray(H.rows)?H.rows:[];j==="hourly"?Q=ar(Q,{timeZone:l,offsetMinutes:c,now:u}):j==="monthly"&&(Q=lr(Q,{timeZone:l,offsetMinutes:c,now:u})),m(Q),b({from:H.from||r,to:H.to||i}),w("cache"),k(H.fetchedAt||null)}}X()},[t,I,pe,X,U,V,d,$,A,n,M,_,z]);const se=I?"mock":x;return{rows:p,from:y.from||r,to:y.to||i,source:se,fetchedAt:v,loading:S,error:N,refresh:X}}function om(e){try{return new URL(e).host}catch{return null}}function ir(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const s=Number(n[0]),r=Number(n[1])-1,i=Number(n[2]);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i))return null;const o=new Date(Date.UTC(s,r,i));return Number.isFinite(o.getTime())&&zt(o)===t?o:null}function am(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function or(e,t,n,{timeZone:s,offsetMinutes:r,now:i}={}){const o=ir(t),a=ir(n);if(!o||!a||a<o)return Array.isArray(e)?e:[];const l=i instanceof Date&&Number.isFinite(i.getTime())?i:new Date,c=mi({timeZone:s,offsetMinutes:r,date:l}),u=ir(c),d=u?u.getTime():l.getTime(),f=new Map;for(const m of e||[])m?.day&&f.set(m.day,m);const p=[];for(let m=o;m<=a;m=am(m,1)){const y=zt(m),b=f.get(y),x=m.getTime()>d;if(b){p.push({...b,missing:!1,future:x});continue}p.push({day:y,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!x,future:x})}return p}function ar(e,{timeZone:t,offsetMinutes:n,now:s}={}){if(!Array.isArray(e))return[];const r=ql({timeZone:t,offsetMinutes:n,now:s});return r?e.map(i=>{const o=i?.hour||i?.label||"",a=lm(o);if(!a)return{...i,future:!1};const l=a.dayNum>r.dayNum||a.dayNum===r.dayNum&&a.slot>r.slot;return{...i,future:l}}):e}function lr(e,{timeZone:t,offsetMinutes:n,now:s}={}){if(!Array.isArray(e))return[];const r=ql({timeZone:t,offsetMinutes:n,now:s});return r?e.map(i=>{const o=i?.month||i?.label||"",a=cm(o);if(!a)return{...i,future:!1};const l=a.year>r.year||a.year===r.year&&a.month>r.month;return{...i,future:l}}):e}function ql({timeZone:e,offsetMinutes:t,now:n}={}){const s=n instanceof Date&&Number.isFinite(n.getTime())?n:new Date;if(e&&typeof Intl<"u"&&Intl.DateTimeFormat)try{const f=new Intl.DateTimeFormat("en-CA",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(s).reduce((w,v)=>(v.type&&v.value&&(w[v.type]=v.value),w),{}),p=Number(f.year),m=Number(f.month),y=Number(f.day),b=Number(f.hour),x=Number(f.minute);if(Number.isFinite(p)&&Number.isFinite(m)&&Number.isFinite(y)&&Number.isFinite(b)&&Number.isFinite(x)){const w=b*2+(x>=30?1:0);return{year:p,month:m,day:y,hour:b,minute:x,dayNum:p*1e4+m*100+y,slot:w}}}catch{}if(Number.isFinite(t)){const u=new Date(s.getTime()+t*60*1e3),d=u.getUTCFullYear(),f=u.getUTCMonth()+1,p=u.getUTCDate(),m=u.getUTCHours(),y=u.getUTCMinutes(),b=m*2+(y>=30?1:0);return{year:d,month:f,day:p,hour:m,minute:y,dayNum:d*1e4+f*100+p,slot:b}}const r=s.getFullYear(),i=s.getMonth()+1,o=s.getDate(),a=s.getHours(),l=s.getMinutes(),c=a*2+(l>=30?1:0);return{year:r,month:i,day:o,hour:a,minute:l,dayNum:r*1e4+i*100+o,slot:c}}function lm(e){if(!e)return null;const t=String(e).trim(),[n,s]=t.split("T");if(!n||!s)return null;const r=n.split("-");if(r.length!==3)return null;const i=Number(r[0]),o=Number(r[1]),a=Number(r[2]);if(!Number.isFinite(i)||!Number.isFinite(o)||!Number.isFinite(a))return null;const l=s.split(":"),c=Number(l[0]),u=Number(l[1]);if(!Number.isFinite(c)||c<0||c>23||!Number.isFinite(u)||u<0||u>59)return null;const d=c*2+(u>=30?1:0);return{dayNum:i*1e4+o*100+a,slot:d}}function cm(e){if(!e)return null;const n=String(e).trim().split("-");if(n.length!==2)return null;const s=Number(n[0]),r=Number(n[1]);return!Number.isFinite(s)||!Number.isFinite(r)||r<1||r>12?null:{year:s,month:r}}function _o({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:s,to:r,includeDaily:i=!0,cacheKey:o,timeZone:a,tzOffsetMinutes:l,now:c}={}){const[u,d]=h.useState([]),[f,p]=h.useState(null),[m,y]=h.useState(null),[b,x]=h.useState("edge"),[w,v]=h.useState(null),[k,S]=h.useState(!1),[R,N]=h.useState(null),C=Jt(),I=Qt(t),A=!n,M=(()=>{if(!o)return null;const D=um(e)||"default",_=i?"daily":"summary",z=js({timeZone:a,offsetMinutes:l});return`vibeusage.usage.${o}.${D}.${s}.${r}.${_}.${z}`})(),U=h.useCallback(()=>{if(!M||typeof window>"u")return null;try{const D=window.localStorage.getItem(M);if(!D)return null;const _=JSON.parse(D);return!_||!_.summary?null:_}catch{return null}},[M]),V=h.useCallback(D=>{if(!(!M||typeof window>"u"))try{window.localStorage.setItem(M,JSON.stringify(D))}catch{}},[M]),$=h.useCallback(()=>{if(!(!M||typeof window>"u"))try{window.localStorage.removeItem(M)}catch{}},[M]),j=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),W=h.useCallback(async()=>{const D=await ot(t);if(!(!D&&!C&&!j)){S(!0),N(null);try{let _=null,z=null;if(i){const[ee,de]=await Promise.allSettled([bi({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l}),sr({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l,rolling:!0})]);if(ee.status==="rejected")throw ee.reason;_=ee.value,z=de.status==="fulfilled"?de.value:null}else z=await sr({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l,rolling:!0});let X=i&&Array.isArray(_?.data)?_.data:[];i&&(X=ur(X,s,r,{timeZone:a,offsetMinutes:l,now:c}));let se=z?.totals||_?.summary?.totals||null,H=z?.rolling||_?.summary?.rolling||null;if(i&&!se&&!z)try{const ee=await sr({baseUrl:e,accessToken:D,from:s,to:r,timeZone:a,tzOffsetMinutes:l,rolling:!0});se=ee?.totals||null,H=ee?.rolling||H}catch{}const Q=new Date().toISOString();d(X),p(se),y(H),x("edge"),v(Q),se&&A?V({summary:se,rolling:H,daily:X,from:s,to:r,includeDaily:i,fetchedAt:Q}):A||$()}catch(_){if(A){const z=U();if(z?.summary){p(z.summary),y(z.rolling||null);const X=Array.isArray(z.daily)?z.daily:[],se=i?ur(X,z.from||s,z.to||r,{timeZone:a,offsetMinutes:l,now:c}):X;d(se),x("cache"),v(z.fetchedAt||null),N(null)}else{const X=_;N(X?.message||String(X)),d([]),p(null),y(null),x("edge"),v(null)}}else{const z=_;N(z?.message||String(z)),d([]),p(null),y(null),x("edge"),v(null)}}finally{S(!1)}}},[t,e,s,i,C,n,A,c,U,I,a,r,l,$,V,j]);return h.useEffect(()=>{const D=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1");if(!I&&!n&&!C&&!D){d([]),p(null),y(null),N(null),S(!1),x("edge"),v(null);return}if(!A)$(),d([]),p(null),y(null),N(null),x("edge"),v(null);else{const _=U();if(_?.summary){p(_.summary),y(_.rolling||null);const z=Array.isArray(_.daily)?_.daily:[],X=i?ur(z,_.from||s,_.to||r,{timeZone:a,offsetMinutes:l,now:c}):z;d(X),x("cache"),v(_.fetchedAt||null)}}W()},[t,C,U,W,I,n,A,$,j]),{daily:u,summary:f,rolling:m,source:C?"mock":b,fetchedAt:w,loading:k,error:R,refresh:W}}function um(e){try{return new URL(e).host}catch{return null}}function cr(e){if(!e)return null;const t=String(e).trim(),n=t.split("-");if(n.length!==3)return null;const s=Number(n[0]),r=Number(n[1])-1,i=Number(n[2]);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i))return null;const o=new Date(Date.UTC(s,r,i));return Number.isFinite(o.getTime())&&zt(o)===t?o:null}function dm(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function ur(e,t,n,{timeZone:s,offsetMinutes:r,now:i}={}){const o=cr(t),a=cr(n);if(!o||!a||a<o)return Array.isArray(e)?e:[];const l=i instanceof Date&&Number.isFinite(i.getTime())?i:new Date,c=mi({timeZone:s,offsetMinutes:r,date:l}),u=cr(c),d=u?u.getTime():l.getTime(),f=new Map;for(const m of e||[])m?.day&&f.set(m.day,m);const p=[];for(let m=o;m<=a;m=dm(m,1)){const y=zt(m),b=f.get(y),x=m.getTime()>d;if(b){p.push({...b,missing:!1,future:x});continue}p.push({day:y,total_tokens:null,billable_total_tokens:null,input_tokens:null,cached_input_tokens:null,output_tokens:null,reasoning_output_tokens:null,missing:!x,future:x})}return p}function fm({baseUrl:e,accessToken:t,guestAllowed:n=!1,from:s,to:r,cacheKey:i,timeZone:o,tzOffsetMinutes:a}={}){const[l,c]=h.useState(null),[u,d]=h.useState("edge"),[f,p]=h.useState(!1),[m,y]=h.useState(null),b=Jt(),x=Qt(t),w=!n,v=h.useMemo(()=>{if(!i)return null;const A=hm(e)||"default",M=js({timeZone:o,offsetMinutes:a});return`vibeusage.modelBreakdown.${i}.${A}.${s}.${r}.${M}`},[e,i,s,o,r,a]),k=h.useCallback(()=>{if(!v||typeof window>"u")return null;try{const A=window.localStorage.getItem(v);if(!A)return null;const M=JSON.parse(A);return!M||!M.breakdown?null:M}catch{return null}},[v]),S=h.useCallback(A=>{if(!(!v||typeof window>"u"))try{window.localStorage.setItem(v,JSON.stringify(A))}catch{}},[v]),R=h.useCallback(()=>{if(!(!v||typeof window>"u"))try{window.localStorage.removeItem(v)}catch{}},[v]),N=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),C=h.useCallback(async()=>{const A=await ot(t);if(!(!A&&!b&&!N)){p(!0),y(null);try{const M=await gh({baseUrl:e,accessToken:A,from:s,to:r,timeZone:o,tzOffsetMinutes:a});c(M||null),d("edge"),M&&w?S({breakdown:M,fetchedAt:new Date().toISOString()}):w||R()}catch(M){if(w){const U=k();if(U?.breakdown)c(U.breakdown),d("cache"),y(null);else{c(null),d("edge");const V=M;y(V?.message||String(V))}}else{c(null),d("edge");const U=M;y(U?.message||String(U))}}finally{p(!1)}}},[t,e,s,b,n,w,k,o,r,x,a,R,S,N]);return h.useEffect(()=>{if(!x&&!n&&!b&&!N){c(null),d("edge"),y(null),p(!1);return}if(!w)R(),c(null),d("edge"),y(null);else{const A=k();A?.breakdown&&(c(A.breakdown),d("cache"))}C()},[t,b,k,C,x,n,w,R,N]),{breakdown:l,source:b?"mock":u,loading:f,error:m,refresh:C}}function hm(e){try{return new URL(e).host}catch{return null}}const Xl=new Set(["day","hour","month"]);function mm(e){return Xl.has(e)}function Oo(e){if(e==null)return null;const t=String(e).trim();if(!/^[0-9]+$/.test(t))return null;const n=t.replace(/^0+/,"");return n.length===0?"0":n}function pm(e,t){const n=Oo(e),s=Oo(t);if(n&&s)return n.length!==s.length?n.length<s.length?-1:1:n===s?0:n<s?-1:1;const r=Ze(e),i=Ze(t);return r==null&&i==null?0:r==null?1:i==null?-1:r===i?0:r<i?-1:1}function gm(e,t){const n=typeof e=="string"?e:String(e||""),s=typeof t=="string"?t:String(t||"");return n===s?0:n<s?-1:1}function ym(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!n)return null;const s=Number(n[1]),r=Number(n[2]),i=Number(n[3]);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i))return null;const o=new Date(Date.UTC(s,r-1,i));return!Number.isFinite(o.getTime())||o.getUTCFullYear()!==s||o.getUTCMonth()+1!==r||o.getUTCDate()!==i?null:o.getTime()}function bm(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})$/);if(!n)return null;const s=Number(n[1]),r=Number(n[2]);if(!Number.isFinite(s)||!Number.isFinite(r)||r<1||r>12)return null;const i=new Date(Date.UTC(s,r-1,1));return Number.isFinite(i.getTime())?i.getTime():null}function xm(e){if(!e)return null;const n=String(e).trim().match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?Z?$/);if(!n)return null;const s=Number(n[1]),r=Number(n[2]),i=Number(n[3]),o=Number(n[4]),a=Number(n[5]),l=Number(n[6]||0);if(!Number.isFinite(s)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(o)||!Number.isFinite(a)||!Number.isFinite(l)||r<1||r>12||i<1||i>31||o<0||o>23||a<0||a>59||l<0||l>59)return null;const c=new Date(Date.UTC(s,r-1,i,o,a,l));return Number.isFinite(c.getTime())?c.getTime():null}function vm(e,t,n){const s=n==="hour"?xm:n==="month"?bm:ym,r=s(e),i=s(t);return r!=null&&i!=null?r===i?0:r<i?-1:1:gm(e,t)}function Zl(e,{key:t,dir:n}){const s=n==="asc"?1:-1,r=Array.isArray(e)?e:[],i=Xl.has(t)?(a,l)=>vm(a,l,t):pm,o=a=>t==="total_tokens"&&a?.billable_total_tokens!=null?a.billable_total_tokens:a?.[t];return r.map((a,l)=>({row:a,index:l})).sort((a,l)=>{const c=o(a.row),u=o(l.row),d=c==null,f=u==null;if(d&&f)return a.index-l.index;if(d)return 1;if(f)return-1;const p=i(c,u);return p!==0?p*s:a.index-l.index}).map(a=>a.row)}const wm=[{key:"day",label:P("daily.sort.date.label"),title:P("daily.sort.date.title")},{key:"total_tokens",label:P("daily.sort.total.label"),title:P("daily.sort.total.title")},{key:"input_tokens",label:P("daily.sort.input.label"),title:P("daily.sort.input.title")},{key:"output_tokens",label:P("daily.sort.output.label"),title:P("daily.sort.output.title")},{key:"cached_input_tokens",label:P("daily.sort.cached.label"),title:P("daily.sort.cached.title")},{key:"reasoning_output_tokens",label:P("daily.sort.reasoning.label"),title:P("daily.sort.reasoning.title")}];function Bo(e){const t=mm(e)?e:"day";return wm.map((n,s)=>s===0?{...n,key:t}:n)}function $o(e,{key:t,dir:n}){return Zl(e,{key:t,dir:n})}const vs=12,Sm=["total_tokens","billable_total_tokens","input_tokens","cached_input_tokens","output_tokens","reasoning_output_tokens"];function Tm(e){if(typeof e=="bigint")return e!==0n;if(typeof e=="number")return Number.isFinite(e)&&e!==0;if(e==null)return!1;const t=String(e).trim();if(!t||!/^-?\d+$/.test(t))return!1;const n=t.startsWith("-")?t.slice(1):t;return/[1-9]/.test(n)}function km(e){return Sm.some(t=>Tm(e?.[t]))}function Cm(e){const t=Array.isArray(e)?e:[];if(!t.length)return[];const n=Zl(t,{key:"month",dir:"asc"}),s=n.findIndex(r=>r?.month&&km(r));return s===-1?t:n.slice(s)}function Em(e,t,n=vs){const s=Array.isArray(e)?e:[],r=Number.isFinite(n)&&n>0?n:vs,o=(Number.isFinite(t)&&t>=0?Math.floor(t):0)*r;return s.slice(o,o+r)}function Am({publicMode:e,screenshotMode:t,forceInstall:n,accessEnabled:s,heatmapLoading:r,activeDays:i,hasActiveDeviceToken:o}={}){return e||t?!1:n?!0:s&&!r&&i===0&&!o}function Jl(e){if(typeof e!="string")return null;const t=e.trim();return t?t.toLowerCase():null}function Pm(e){const t=Jl(e?.model_id);return t||null}function Ql(e,t){return e?.model?String(e.model):t}function Rm(e,{copyFn:t}={}){const n=typeof t=="function"?t:a=>a,r=(Array.isArray(e?.sources)?e.sources:[]).map(a=>{const l=Ze(a?.totals?.billable_total_tokens??a?.totals?.total_tokens)??0,c=Ze(a?.totals?.total_cost_usd)??0;return{source:a?.source,totalTokens:Number.isFinite(l)?l:0,totalCost:Number.isFinite(c)?c:0,models:Array.isArray(a?.models)?a.models:[]}}).filter(a=>a.totalTokens>0);if(!r.length)return[];const i=r.reduce((a,l)=>a+l.totalTokens,0),o=typeof e?.pricing?.pricing_mode=="string"?e.pricing.pricing_mode.toUpperCase():null;return r.slice().sort((a,l)=>l.totalTokens-a.totalTokens).map(a=>{const l=a.source?String(a.source).toUpperCase():n("shared.placeholder.short"),c=i>0?a.totalTokens/i*100:0,u=Number.isFinite(c)?c.toFixed(1):"0.0",d=a.models.map(f=>{const p=Ze(f?.totals?.billable_total_tokens??f?.totals?.total_tokens)??0;if(!Number.isFinite(p)||p<=0)return null;const m=a.totalTokens>0?Math.round(p/a.totalTokens*1e3)/10:0,y=Ql(f,n("shared.placeholder.short"));return{id:Pm(f),name:y,share:m,usage:p,calc:o}}).filter(Boolean);return{label:l,totalPercent:String(u),usd:a.totalCost,usage:a.totalTokens,models:d}})}function Mm(e,{limit:t=3,copyFn:n}={}){const s=typeof n=="function"?n:f=>f,r=Array.isArray(e?.sources)?e.sources:[];if(!r.length)return[];const i=new Map,o=new Map,a=new Map;let l=0;for(const f of r){const p=Array.isArray(f?.models)?f.models:[];for(const m of p){const y=Ze(m?.totals?.billable_total_tokens)??0;if(!Number.isFinite(y)||y<=0)continue;l+=y;const b=Ql(m,s("shared.placeholder.short")),x=Jl(b);if(!x)continue;i.set(x,(i.get(x)||0)+y);const w=a.get(x)||0;y>=w&&(a.set(x,y),o.set(x,b))}}if(!i.size)return[];const c=Array.from(i.values()).reduce((f,p)=>f+p,0),u=l>0?l:c,d=Number.isFinite(t)?Math.max(0,Math.floor(t)):3;return Array.from(i.entries()).map(([f,p])=>{const m=u>0?(p/u*100).toFixed(1):"0.0";return{id:f,name:o.get(f)||s("shared.placeholder.short"),tokens:p,percent:String(m)}}).sort((f,p)=>p.tokens!==f.tokens?p.tokens-f.tokens:String(f.name).localeCompare(String(p.name))).slice(0,d)}function xi(){const e=h.useContext(Hf);if(e===null)throw new Error("useTheme must be used within a ThemeProvider");return e}const Ct=12,fn=3,dr=26,Dm=["#ecfdf5","#a7f3d0","#6ee7b7","#34d399","#10b981"],Nm=["#064e3b","#065f46","#059669","#10b981","#34d399"],jm=[P("heatmap.month.jan"),P("heatmap.month.feb"),P("heatmap.month.mar"),P("heatmap.month.apr"),P("heatmap.month.may"),P("heatmap.month.jun"),P("heatmap.month.jul"),P("heatmap.month.aug"),P("heatmap.month.sep"),P("heatmap.month.oct"),P("heatmap.month.nov"),P("heatmap.month.dec")];function Vm(e){if(typeof e=="bigint")return e.toLocaleString();if(typeof e=="number")return Number.isFinite(e)?Math.round(e).toLocaleString():"0";if(typeof e=="string"){const t=Number(e);return Number.isFinite(t)?Math.round(t).toLocaleString():e}return"0"}function Lm(e){if(typeof e!="string")return null;const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e.trim());if(!t)return null;const n=new Date(Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3])));return Number.isFinite(n.getTime())?n:null}function ec(e,t){return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()+t))}function Im(e,t){return Math.floor((Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))/864e5)}function Fm(e,t){const n=t==="mon"?1:0,s=e.getUTCDay();return ec(e,-((s-n+7)%7))}function _m(e,t,n){if(!e)return[];const s=Lm(t)||new Date,r=[];for(let c=11;c>=0;c-=1)r.push(new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth()-c,1)));const i=Fm(s,n),o=ec(i,-(e-1)*7),a=[],l=new Set;for(const c of r){const u=Math.floor(Im(o,c)/7);u<0||u>=e||l.has(u)||(l.add(u),a.push({label:jm[c.getUTCMonth()],index:u}))}return a}function Om({heatmap:e,timeZoneLabel:t,timeZoneShortLabel:n,hideLegend:s=!1}){const{resolvedTheme:r}=xi(),o=r==="dark"?Nm:Dm,a=h.useRef(null);h.useEffect(()=>{const m=a.current;m&&(m.scrollLeft=m.scrollWidth)},[e?.weeks]);const l=e?.week_starts_on==="mon"?"mon":"sun",c=h.useMemo(()=>{const m=Array.isArray(e?.weeks)?e.weeks:[];if(!m.length)return{weeks:[]};const y=[];for(const b of m)for(const x of Array.isArray(b)?b:[])x?.day&&y.push({day:x.day,total_tokens:x.total_tokens??x.value??0,billable_total_tokens:x.billable_total_tokens??x.value??x.total_tokens??0});return Or({dailyRows:y,weeks:Math.max(52,m.length),to:e?.to,weekStartsOn:l})},[e?.to,e?.weeks,l]),u=c?.weeks||[],d=l==="mon"?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(m=>P(`heatmap.day.${m.toLowerCase()}`)):["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].map(m=>P(`heatmap.day.${m.toLowerCase()}`)),f=h.useMemo(()=>_m(u.length,c?.to,l),[c?.to,u.length,l]);if(!u.length)return g.jsx("div",{className:"py-8 text-center text-sm text-oai-gray-500",children:P("heatmap.empty")});const p=dr+u.length*Ct+Math.max(0,u.length-1)*fn;return g.jsxs("div",{className:"rounded-xl border border-oai-gray-200 dark:border-oai-gray-800 bg-white dark:bg-oai-gray-900 p-5",children:[g.jsxs("div",{className:"flex items-baseline justify-between mb-3",children:[g.jsx("h3",{className:"text-sm font-medium text-oai-gray-500 dark:text-oai-gray-300 uppercase tracking-wide",children:P("heatmap.title")}),g.jsx("span",{className:"text-xs text-oai-gray-400 dark:text-oai-gray-400",children:n||P("heatmap.legend.utc")})]}),g.jsx("div",{ref:a,className:"overflow-x-auto overflow-y-hidden heatmap-scroll-thin",children:g.jsxs("div",{style:{minWidth:p},children:[g.jsxs("div",{className:"grid text-[10px] uppercase text-oai-gray-400 dark:text-oai-gray-400 mb-1",style:{gridTemplateColumns:`${dr}px repeat(${u.length}, ${Ct}px)`,columnGap:fn},children:[g.jsx("span",{}),f.map(m=>g.jsx("span",{style:{gridColumnStart:m.index+2},className:"whitespace-nowrap",children:m.label},`${m.label}-${m.index}`))]}),g.jsxs("div",{className:"grid",style:{gridTemplateColumns:`${dr}px repeat(${u.length}, ${Ct}px)`,columnGap:fn},children:[g.jsx("div",{className:"grid text-[10px] text-oai-gray-400 dark:text-oai-gray-400 sticky left-0 bg-white dark:bg-oai-gray-900 pr-2",style:{gridTemplateRows:`repeat(7, ${Ct}px)`,rowGap:fn},children:d.map(m=>g.jsx("span",{className:"leading-none",children:m},m))}),g.jsx("div",{className:"grid",style:{gridAutoFlow:"column",gridTemplateRows:`repeat(7, ${Ct}px)`,gap:fn},children:u.map((m,y)=>(Array.isArray(m)?m:[]).map((b,x)=>{if(!b)return null;const w=b.day||`e-${y}-${x}`,v=Number(b.level)||0,k=o[v]||o[0],S=t||n||P("heatmap.legend.utc");return g.jsx("span",{title:P("heatmap.tooltip",{day:b.day,value:Vm(b.value),unit:P("heatmap.unit.tokens"),tz:S}),className:"rounded-[2px] transition-transform hover:scale-125 hover:z-10",style:{width:Ct,height:Ct,background:k}},w)}))})]})]})}),!s&&g.jsxs("div",{className:"flex items-center justify-center gap-2 mt-3",children:[g.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:P("heatmap.legend.less")}),g.jsx("div",{className:"flex gap-0.5",children:o.map((m,y)=>g.jsx("span",{className:"rounded-[1px]",style:{width:10,height:10,background:m}},y))}),g.jsx("span",{className:"text-[10px] text-oai-gray-400 dark:text-oai-gray-400",children:P("heatmap.legend.more")})]})]})}const Bm={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},tc={...Bm,position:"fixed",top:0,left:0};function zn(e){const t=Mn($m,e).current;return t.next=e,Pe(t.effect),t}function $m(e){const t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var ws=Symbol("NOT_FOUND");function Um(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function Wm(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function Km(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(s=>typeof s=="function"?`function ${s.name||"unnamed"}()`:typeof s).join(", ");throw new TypeError(`${t}[${n}]`)}}var Uo=e=>Array.isArray(e)?e:[e];function Hm(e){const t=Array.isArray(e[0])?e[0]:e;return Km(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function Gm(e,t){const n=[],{length:s}=e;for(let r=0;r<s;r++)n.push(e[r].apply(null,t));return n}function Ym(e){let t;return{get(n){return t&&e(t.key,n)?t.value:ws},put(n,s){t={key:n,value:s}},getEntries(){return t?[t]:[]},clear(){t=void 0}}}function zm(e,t){let n=[];function s(a){const l=n.findIndex(c=>t(a,c.key));if(l>-1){const c=n[l];return l>0&&(n.splice(l,1),n.unshift(c)),c.value}return ws}function r(a,l){s(a)===ws&&(n.unshift({key:a,value:l}),n.length>e&&n.pop())}function i(){return n}function o(){n=[]}return{get:s,put:r,getEntries:i,clear:o}}var qm=(e,t)=>e===t;function Xm(e){return function(n,s){if(n===null||s===null||n.length!==s.length)return!1;const{length:r}=n;for(let i=0;i<r;i++)if(!e(n[i],s[i]))return!1;return!0}}function Zm(e,t){const n=typeof t=="object"?t:{equalityCheck:t},{equalityCheck:s=qm,maxSize:r=1,resultEqualityCheck:i}=n,o=Xm(s);let a=0;const l=r<=1?Ym(o):zm(r,o);function c(){let u=l.get(arguments);if(u===ws){if(u=e.apply(null,arguments),a++,i){const f=l.getEntries().find(p=>i(p.value,u));f&&(u=f.value,a!==0&&a--)}l.put(arguments,u)}return u}return c.clearCache=()=>{l.clear(),c.resetResultsCount()},c.resultsCount=()=>a,c.resetResultsCount=()=>{a=0},c}var Jm=class{constructor(e){this.value=e}deref(){return this.value}},Qm=typeof WeakRef<"u"?WeakRef:Jm,ep=0,Wo=1;function qn(){return{s:ep,v:void 0,o:null,p:null}}function nc(e,t={}){let n=qn();const{resultEqualityCheck:s}=t;let r,i=0;function o(){let a=n;const{length:l}=arguments;for(let d=0,f=l;d<f;d++){const p=arguments[d];if(typeof p=="function"||typeof p=="object"&&p!==null){let m=a.o;m===null&&(a.o=m=new WeakMap);const y=m.get(p);y===void 0?(a=qn(),m.set(p,a)):a=y}else{let m=a.p;m===null&&(a.p=m=new Map);const y=m.get(p);y===void 0?(a=qn(),m.set(p,a)):a=y}}const c=a;let u;if(a.s===Wo)u=a.v;else if(u=e.apply(null,arguments),i++,s){const d=r?.deref?.()??r;d!=null&&s(d,u)&&(u=d,i!==0&&i--),r=typeof u=="object"&&u!==null||typeof u=="function"?new Qm(u):u}return c.s=Wo,c.v=u,u}return o.clearCache=()=>{n=qn(),o.resetResultsCount()},o.resultsCount=()=>i,o.resetResultsCount=()=>{i=0},o}function sc(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,s=(...r)=>{let i=0,o=0,a,l={},c=r.pop();typeof c=="object"&&(l=c,c=r.pop()),Um(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const u={...n,...l},{memoize:d,memoizeOptions:f=[],argsMemoize:p=nc,argsMemoizeOptions:m=[]}=u,y=Uo(f),b=Uo(m),x=Hm(r),w=d(function(){return i++,c.apply(null,arguments)},...y),v=p(function(){o++;const S=Gm(x,arguments);return a=w.apply(null,S),a},...b);return Object.assign(v,{resultFunc:c,memoizedResultFunc:w,dependencies:x,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>a,recomputations:()=>i,resetRecomputations:()=>{i=0},memoize:d,argsMemoize:p})};return Object.assign(s,{withTypes:()=>s}),s}var tp=sc(nc),np=Object.assign((e,t=tp)=>{Wm(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),s=n.map(i=>e[i]);return t(s,(...i)=>i.reduce((o,a,l)=>(o[n[l]]=a,o),{}))},{withTypes:()=>np});sc({memoize:Zm,memoizeOptions:{maxSize:1,equalityCheck:Object.is}});const oe=(e,t,n,s,r,i,...o)=>{if(o.length>0)throw new Error(pi(1));let a;if(e)a=e;else throw new Error("Missing arguments");return a};var fr={exports:{}},hr={};var Ko;function sp(){if(Ko)return hr;Ko=1;var e=Tl();function t(d,f){return d===f&&(d!==0||1/d===1/f)||d!==d&&f!==f}var n=typeof Object.is=="function"?Object.is:t,s=e.useState,r=e.useEffect,i=e.useLayoutEffect,o=e.useDebugValue;function a(d,f){var p=f(),m=s({inst:{value:p,getSnapshot:f}}),y=m[0].inst,b=m[1];return i(function(){y.value=p,y.getSnapshot=f,l(y)&&b({inst:y})},[d,p,f]),r(function(){return l(y)&&b({inst:y}),d(function(){l(y)&&b({inst:y})})},[d]),o(p),p}function l(d){var f=d.getSnapshot;d=d.value;try{var p=f();return!n(d,p)}catch{return!0}}function c(d,f){return f()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:a;return hr.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:u,hr}var Ho;function rc(){return Ho||(Ho=1,fr.exports=sp()),fr.exports}var rp=rc(),mr={exports:{}},pr={};var Go;function ip(){if(Go)return pr;Go=1;var e=Tl(),t=rc();function n(c,u){return c===u&&(c!==0||1/c===1/u)||c!==c&&u!==u}var s=typeof Object.is=="function"?Object.is:n,r=t.useSyncExternalStore,i=e.useRef,o=e.useEffect,a=e.useMemo,l=e.useDebugValue;return pr.useSyncExternalStoreWithSelector=function(c,u,d,f,p){var m=i(null);if(m.current===null){var y={hasValue:!1,value:null};m.current=y}else y=m.current;m=a(function(){function x(R){if(!w){if(w=!0,v=R,R=f(R),p!==void 0&&y.hasValue){var N=y.value;if(p(N,R))return k=N}return k=R}if(N=k,s(v,R))return N;var C=f(R);return p!==void 0&&p(N,C)?(v=R,N):(v=R,k=C)}var w=!1,v,k,S=d===void 0?null:d;return[function(){return x(u())},S===null?void 0:function(){return x(S())}]},[u,d,f,p]);var b=r(c,m[0],m[1]);return o(function(){y.hasValue=!0,y.value=b},[b]),l(b),b},pr}var Yo;function op(){return Yo||(Yo=1,mr.exports=ip()),mr.exports}var ap=op();const lp=kl(19),cp=lp?dp:fp;function up(e,t,n,s,r){return cp(e,t,n,s,r)}function dp(e,t,n,s,r){const i=h.useCallback(()=>t(e.getSnapshot(),n,s,r),[e,t,n,s,r]);return rp.useSyncExternalStore(e.subscribe,i,i)}function fp(e,t,n,s,r){return ap.useSyncExternalStoreWithSelector(e.subscribe,e.getSnapshot,e.getSnapshot,i=>t(i,n,s,r))}class bn{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;const n=this.updateTick;for(const s of this.listeners){if(n!==this.updateTick)return;s(t)}}update(t){for(const n in t)if(!Object.is(this.state[n],t[n])){bn.prototype.setState.call(this,{...this.state,...t});return}}set(t,n){Object.is(this.state[t],n)||bn.prototype.setState.call(this,{...this.state,[t]:n})}notifyAll(){const t={...this.state};bn.prototype.setState.call(this,t)}}class ic extends bn{constructor(t,n={},s){super(t),this.context=n,this.selectors=s}controlledValues=new Map;useSyncedValue(t,n){h.useDebugValue(t),Pe(()=>{this.state[t]!==n&&this.set(t,n)},[t,n])}useSyncedValueWithCleanup(t,n){const s=this;Pe(()=>(s.state[t]!==n&&s.set(t,n),()=>{s.set(t,void 0)}),[s,t,n])}useSyncedValues(t){const n=this,s=Object.values(t);Pe(()=>{n.update(t)},[n,...s])}useControlledProp(t,n,s){h.useDebugValue(t);const r=this,i=n!==void 0;this.controlledValues.has(t)||(this.controlledValues.set(t,i),!i&&!Object.is(this.state[t],s)&&super.setState({...this.state,[t]:s})),Pe(()=>{i&&!Object.is(r.state[t],n)&&super.setState({...r.state,[t]:n})},[r,t,n,s,i])}set(t,n){this.controlledValues.get(t)!==!0&&super.set(t,n)}update(t){const n={...t};for(const s in n)if(Object.hasOwn(n,s)&&this.controlledValues.get(s)===!0){delete n[s];continue}super.update(n)}setState(t){const n={...t};for(const s in n)if(Object.hasOwn(n,s)&&this.controlledValues.get(s)===!0){delete n[s];continue}super.setState({...this.state,...n})}select=(t,n,s,r)=>{const i=this.selectors[t];return i(this.state,n,s,r)};useState=(t,n,s,r)=>{h.useDebugValue(t);const i=this.selectors[t];return up(this,i,n,s,r)};useContextCallback(t,n){h.useDebugValue(t);const s=ie(n??Cl);this.context[t]=s}useStateSetter(t){const n=h.useRef(void 0);return n.current===void 0&&(n.current=s=>{this.set(t,s)}),n.current}observe(t,n){let s;typeof t=="function"?s=t:s=this.selectors[t];let r=s(this.state);return n(r,r,this),this.subscribe(i=>{const o=s(i);if(!Object.is(r,o)){const a=r;r=o,n(o,a,this)}})}}const Xn=null;class hp{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;const n=this.callbacks,s=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,s>0)for(let r=0;r<n.length;r+=1)n[r]?.(t)};request(t){const n=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),n}cancel(t){const n=t-this.startId;n<0||n>=this.callbacks.length||(this.callbacks[n]=null,this.callbacksCount-=1)}}const Zn=new hp;class rt{static create(){return new rt}static request(t){return Zn.request(t)}static cancel(t){return Zn.cancel(t)}currentId=Xn;request(t){this.cancel(),this.currentId=Zn.request(()=>{this.currentId=Xn,t()})}cancel=()=>{this.currentId!==Xn&&(Zn.cancel(this.currentId),this.currentId=Xn)};disposeEffect=()=>this.cancel}function oc(){const e=Mn(rt.create).current;return jl(e.disposeEffect),e}function mp(){const e=new Map;return{emit(t,n){e.get(t)?.forEach(s=>s(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}const pp=h.createContext(null),gp=h.createContext(null),ac=()=>h.useContext(pp)?.id||null,lc=e=>{const t=h.useContext(gp);return e??t};function Ss(e){return`data-base-ui-${e}`}const Ts=h.forwardRef(function(t,n){const[s,r]=h.useState();Pe(()=>{Ah&&r("button")},[]);const i={tabIndex:0,role:s};return g.jsx("span",{...t,ref:n,style:tc,"aria-hidden":s?void 0:!0,...i,"data-base-ui-focus-guard":""})});let zo=0;function gr(e,t={}){const{preventScroll:n=!1,cancelPrevious:s=!0,sync:r=!1}=t;s&&cancelAnimationFrame(zo);const i=()=>e?.focus({preventScroll:n});r?i():zo=requestAnimationFrame(i)}const Yt={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function qo(e){return e==="inert"?Yt.inert:e==="aria-hidden"?Yt["aria-hidden"]:Yt.none}let Jn=new WeakSet,Qn={},yr=0;const cc=e=>e&&(e.host||cc(e.parentNode)),yp=(e,t)=>t.map(n=>{if(e.contains(n))return n;const s=cc(n);return e.contains(s)?s:null}).filter(n=>n!=null);function bp(e,t,n,s){const r="data-base-ui-inert",i=s?"inert":n?"aria-hidden":null,o=yp(t,e),a=new Set,l=new Set(o),c=[];Qn[r]||(Qn[r]=new WeakMap);const u=Qn[r];o.forEach(d),f(t),a.clear();function d(p){!p||a.has(p)||(a.add(p),p.parentNode&&d(p.parentNode))}function f(p){!p||l.has(p)||[].forEach.call(p.children,m=>{if(El(m)!=="script")if(a.has(m))f(m);else{const y=i?m.getAttribute(i):null,b=y!==null&&y!=="false",x=qo(i),w=(x.get(m)||0)+1,v=(u.get(m)||0)+1;x.set(m,w),u.set(m,v),c.push(m),w===1&&b&&Jn.add(m),v===1&&m.setAttribute(r,""),!b&&i&&m.setAttribute(i,i==="inert"?"":"true")}})}return yr+=1,()=>{c.forEach(p=>{const m=qo(i),b=(m.get(p)||0)-1,x=(u.get(p)||0)-1;m.set(p,b),u.set(p,x),b||(!Jn.has(p)&&i&&p.removeAttribute(i),Jn.delete(p)),x||p.removeAttribute(r)}),yr-=1,yr||(Yt.inert=new WeakMap,Yt["aria-hidden"]=new WeakMap,Yt.none=new WeakMap,Jn=new WeakSet,Qn={})}}function xp(e,t=!1,n=!1){const s=Le(e[0]).body;return bp(e.concat(Array.from(s.querySelectorAll("[aria-live]"))),s,t,n)}const uc=h.createContext(null),dc=()=>h.useContext(uc),vp=Ss("portal");function wp(e={}){const{ref:t,container:n,componentProps:s=gn,elementProps:r,elementState:i}=e,o=yi(),l=dc()?.portalNode,[c,u]=h.useState(null),[d,f]=h.useState(null),p=ie(x=>{x!==null&&f(x)}),m=h.useRef(null);Pe(()=>{if(n===null){m.current&&(m.current=null,f(null),u(null));return}if(o==null)return;const x=(n&&(Gf(n)?n:n.current))??l??document.body;if(x==null){m.current&&(m.current=null,f(null),u(null));return}m.current!==x&&(m.current=x,f(null),u(x))},[n,l,o]);const y=Dn("div",s,{ref:[t,p],state:i,props:[{id:o,[vp]:""},r]});return{portalNode:d,portalSubtree:c&&y?gi.createPortal(y,c):null}}const Sp=h.forwardRef(function(t,n){const{children:s,container:r,className:i,render:o,renderGuards:a,...l}=t,{portalNode:c,portalSubtree:u}=wp({container:r,ref:n,componentProps:t,elementProps:l}),d=h.useRef(null),f=h.useRef(null),p=h.useRef(null),m=h.useRef(null),[y,b]=h.useState(null),x=y?.modal,w=y?.open,v=typeof a=="boolean"?a:!!y&&!y.modal&&y.open&&!!c;h.useEffect(()=>{if(!c||x)return;function S(R){c&&R.relatedTarget&&yn(R)&&(R.type==="focusin"?Fo:tm)(c)}return c.addEventListener("focusin",S,!0),c.addEventListener("focusout",S,!0),()=>{c.removeEventListener("focusin",S,!0),c.removeEventListener("focusout",S,!0)}},[c,x]),h.useEffect(()=>{!c||w||Fo(c)},[w,c]);const k=h.useMemo(()=>({beforeOutsideRef:d,afterOutsideRef:f,beforeInsideRef:p,afterInsideRef:m,portalNode:c,setFocusManagerState:b}),[c]);return g.jsxs(h.Fragment,{children:[u,g.jsxs(uc.Provider,{value:k,children:[v&&c&&g.jsx(Ts,{"data-type":"outside",ref:d,onFocus:S=>{if(yn(S,c))p.current?.focus();else{const R=y?y.domReference:null;zl(R)?.focus()}}}),v&&c&&g.jsx("span",{"aria-owns":c.id,style:kh}),c&&gi.createPortal(s,c),v&&c&&g.jsx(Ts,{"data-type":"outside",ref:f,onFocus:S=>{if(yn(S,c))m.current?.focus();else{const R=y?y.domReference:null;Yl(R)?.focus(),y?.closeOnFocusOut&&y?.onOpenChange(!1,pt(Al,S.nativeEvent))}}})]})]})});function mt(e){return e==null?e:"current"in e?e.current:e}function Tp(e,t){const n=Vs(e.target);return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}const Xo=20;let xt=[];function vi(){xt=xt.filter(e=>e.isConnected)}function kp(e){vi(),e&&El(e)!=="body"&&(xt.push(e),xt.length>Xo&&(xt=xt.slice(-Xo)))}function br(){return vi(),xt[xt.length-1]}function Cp(e){if(!e)return null;const t=jn();return Hl(e,t)?e:Ls(e,t)[0]||e}function Ep(e){return!e||!e.isConnected?!1:typeof e.checkVisibility=="function"?e.checkVisibility():Rl(e).display!=="none"}function Zo(e,t){if(!t.current.includes("floating")&&!e.getAttribute("role")?.includes("dialog"))return;const n=jn(),r=em(e,n).filter(o=>{const a=o.getAttribute("data-tabindex")||"";return Hl(o,n)||o.hasAttribute("data-tabindex")&&!a.startsWith("-")}),i=e.getAttribute("tabindex");t.current.includes("floating")||r.length===0?i!=="0"&&e.setAttribute("tabindex","0"):(i!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function Ap(e){const{context:t,children:n,disabled:s=!1,order:r=["content"],initialFocus:i=!0,returnFocus:o=!0,restoreFocus:a=!1,modal:l=!0,closeOnFocusOut:c=!0,openInteractionType:u="",getInsideElements:d=()=>[],nextFocusableElement:f,previousFocusableElement:p,beforeContentFocusGuardRef:m,externalTree:y}=e,b="rootStore"in t?t.rootStore:t,x=b.useState("open"),w=b.useState("domReferenceElement"),v=b.useState("floatingElement"),{events:k,dataRef:S}=b.context,R=ie(()=>S.current.floatingContext?.nodeId),N=ie(d),C=i===!1,I=Vo(w)&&C,A=zn(r),M=zn(i),U=zn(o),V=zn(u),$=lc(y),j=dc(),W=h.useRef(null),pe=h.useRef(null),D=h.useRef(!1),_=h.useRef(!1),z=h.useRef(!1),X=h.useRef(-1),se=h.useRef(""),H=h.useRef(""),Q=h.useRef(null),ee=h.useRef(null),de=Do(Q,m,j?.beforeInsideRef),be=Do(ee,j?.afterInsideRef),Ne=ps(),Oe=ps(),Qe=oc(),et=j!=null,E=Ur(v),te=ie((L=E)=>L?Ls(L,jn()):[]),G=ie(L=>{const J=te(L);return A.current.map(()=>J).filter(Boolean).flat()});h.useEffect(()=>{if(s||!l)return;function L(Z){Z.key==="Tab"&&we(E,Bt(Le(E)))&&te().length===0&&!I&&Lh(Z)}const J=Le(E);return J.addEventListener("keydown",L),()=>{J.removeEventListener("keydown",L)}},[s,w,E,l,A,I,te,G]),h.useEffect(()=>{if(s||!v)return;function L(J){const Z=qe(J),ue=te().indexOf(Z);ue!==-1&&(X.current=ue)}return v.addEventListener("focusin",L),()=>{v.removeEventListener("focusin",L)}},[s,v,te]),h.useEffect(()=>{if(s||!x)return;const L=Le(E);function J(){z.current=!1}function Z(ue){const K=qe(ue),Y=we(v,K)||we(w,K)||we(j?.portalNode,K);z.current=!Y,H.current=ue.pointerType||"keyboard"}function ne(){H.current="keyboard"}return L.addEventListener("pointerdown",Z,!0),L.addEventListener("pointerup",J,!0),L.addEventListener("pointercancel",J,!0),L.addEventListener("keydown",ne,!0),()=>{L.removeEventListener("pointerdown",Z,!0),L.removeEventListener("pointerup",J,!0),L.removeEventListener("pointercancel",J,!0),L.removeEventListener("keydown",ne,!0)}},[s,v,w,E,x,j]),h.useEffect(()=>{if(s||!c)return;function L(){_.current=!0,Oe.start(0,()=>{_.current=!1})}function J(K){const Y=K.relatedTarget,Ee=K.currentTarget,he=qe(K);queueMicrotask(()=>{const je=R(),Ve=b.context.triggerElements,ct=Y?.hasAttribute(Ss("focus-guard"))&&[Q.current,ee.current,j?.beforeInsideRef.current,j?.afterInsideRef.current,j?.beforeOutsideRef.current,j?.afterOutsideRef.current,mt(p),mt(f)].includes(Y),ve=!(we(w,Y)||we(v,Y)||we(Y,v)||we(j?.portalNode,Y)||Y!=null&&Ve.hasElement(Y)||Ve.hasMatchingElement(re=>we(re,Y))||ct||$&&(Gt($.nodesRef.current,je).find(re=>we(re.context?.elements.floating,Y)||we(re.context?.elements.domReference,Y))||Lo($.nodesRef.current,je).find(re=>[re.context?.elements.floating,Ur(re.context?.elements.floating)].includes(Y)||re.context?.elements.domReference===Y)));if(Ee===w&&E&&Zo(E,A),a&&Ee!==w&&!Ep(he)&&Bt(Le(E))===Le(E).body){if(Rt(E)&&(E.focus(),a==="popup")){Qe.request(()=>{E.focus()});return}const re=X.current,Re=te(),Ie=Re[re]||Re[Re.length-1]||E;Rt(Ie)&&Ie.focus()}if(S.current.insideReactTree){S.current.insideReactTree=!1;return}(I||!l)&&Y&&ve&&!_.current&&(I||Y!==br())&&(D.current=!0,b.setOpen(!1,pt(Al,K)))})}function Z(){z.current||(S.current.insideReactTree=!0,Ne.start(0,()=>{S.current.insideReactTree=!1}))}const ne=Rt(w)?w:null,ue=[];if(!(!v&&!ne))return ne&&(ne.addEventListener("focusout",J),ne.addEventListener("pointerdown",L),ue.push(()=>{ne.removeEventListener("focusout",J),ne.removeEventListener("pointerdown",L)})),v&&(v.addEventListener("focusout",J),j&&(v.addEventListener("focusout",Z,!0),ue.push(()=>{v.removeEventListener("focusout",Z,!0)})),ue.push(()=>{v.removeEventListener("focusout",J)})),()=>{ue.forEach(K=>{K()})}},[s,w,v,E,l,$,j,b,c,a,te,I,R,A,S,Ne,Oe,Qe,f,p]),h.useEffect(()=>{if(s||!v||!x)return;const L=Array.from(j?.portalNode?.querySelectorAll(`[${Ss("portal")}]`)||[]),Z=($?Lo($.nodesRef.current,R()):[]).find(K=>Vo(K.context?.elements.domReference||null))?.context?.elements.domReference,ne=[v,Z,...L,...N(),W.current,pe.current,Q.current,ee.current,j?.beforeOutsideRef.current,j?.afterOutsideRef.current,mt(p),mt(f),I?w:null].filter(K=>K!=null),ue=xp(ne,l||I);return()=>{ue()}},[x,s,w,v,l,A,j,I,$,R,N,f,p]),Pe(()=>{if(!x||s||!Rt(E))return;const L=Le(E),J=Bt(L);queueMicrotask(()=>{const Z=G(E),ne=M.current,ue=typeof ne=="function"?ne(V.current||""):ne;if(ue===void 0||ue===!1)return;let K;ue===!0||ue===null?K=Z[0]||E:K=mt(ue),K=K||Z[0]||E,!we(E,J)&&gr(K,{preventScroll:K===E})})},[s,x,E,C,G,M,V]),Pe(()=>{if(s||!E)return;const L=Le(E),J=Bt(L);kp(J);function Z(K){if(K.open||(se.current=Tp(K.nativeEvent,H.current)),K.reason===Yf&&K.nativeEvent.type==="mouseleave"&&(D.current=!0),K.reason===Pl)if(K.nested)D.current=!1;else if(Fh(K.nativeEvent)||_h(K.nativeEvent))D.current=!1;else{let Y=!1;document.createElement("div").focus({get preventScroll(){return Y=!0,!1}}),Y?D.current=!1:D.current=!0}}k.on("openchange",Z);const ne=L.createElement("span");ne.setAttribute("tabindex","-1"),ne.setAttribute("aria-hidden","true"),Object.assign(ne.style,tc),et&&w&&w.insertAdjacentElement("afterend",ne);function ue(){const K=U.current;let Y=typeof K=="function"?K(se.current):K;if(Y===void 0||Y===!1)return null;if(Y===null&&(Y=!0),typeof Y=="boolean"){const he=w||br();return he&&he.isConnected?he:ne}const Ee=w||br()||ne;return mt(Y)||Ee}return()=>{k.off("openchange",Z);const K=Bt(L),Y=we(v,K)||$&&Gt($.nodesRef.current,R(),!1).some(he=>we(he.context?.elements.floating,K)),Ee=ue();queueMicrotask(()=>{const he=Cp(Ee),je=typeof U.current!="boolean";U.current&&!D.current&&Rt(he)&&(!(!je&&he!==K&&K!==L.body)||Y)&&he.focus({preventScroll:!0}),ne.remove()})}},[s,v,E,U,S,k,$,et,w,R]),h.useEffect(()=>{queueMicrotask(()=>{D.current=!1})},[s]),h.useEffect(()=>{if(s||!x)return;function L(Z){qe(Z)?.closest(`[${Th}]`)&&(_.current=!0)}const J=Le(E);return J.addEventListener("pointerdown",L,!0),()=>{J.removeEventListener("pointerdown",L,!0)}},[s,x,E]),Pe(()=>{if(!s&&j)return j.setFocusManagerState({modal:l,closeOnFocusOut:c,open:x,onOpenChange:b.setOpen,domReference:w}),()=>{j.setFocusManagerState(null)}},[s,j,l,x,b,c,w]),Pe(()=>{if(!(s||!E))return Zo(E,A),()=>{queueMicrotask(vi)}},[s,E,A]);const xe=!s&&(l?!I:!0)&&(et||l);return g.jsxs(h.Fragment,{children:[xe&&g.jsx(Ts,{"data-type":"inside",ref:de,onFocus:L=>{if(l){const J=G();gr(J[J.length-1])}else j?.portalNode&&(D.current=!1,yn(L,j.portalNode)?Yl(w)?.focus():mt(p??j.beforeOutsideRef)?.focus())}}),n,xe&&g.jsx(Ts,{"data-type":"inside",ref:be,onFocus:L=>{l?gr(G()[0]):j?.portalNode&&(c&&(D.current=!0),yn(L,j.portalNode)?zl(w)?.focus():mt(f??j.afterOutsideRef)?.focus())}})]})}const Pp={intentional:"onClick",sloppy:"onPointerDown"};function Rp(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function Mp(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingElement"),i=n.useState("referenceElement"),o=n.useState("domReferenceElement"),{onOpenChange:a,dataRef:l}=n.context,{enabled:c=!0,escapeKey:u=!0,outsidePress:d=!0,outsidePressEvent:f="sloppy",referencePress:p=!1,referencePressEvent:m="sloppy",ancestorScroll:y=!1,bubbles:b,externalTree:x}=t,w=lc(x),v=ie(typeof d=="function"?d:()=>!1),k=typeof d=="function"?v:d,S=h.useRef(!1),{escapeKey:R,outsidePress:N}=Rp(b),C=h.useRef(null),I=ps(),A=ps(),M=ie(()=>{A.clear(),l.current.insideReactTree=!1}),U=h.useRef(!1),V=h.useRef(""),$=ie(E=>{V.current=E.pointerType}),j=ie(()=>{const E=V.current,te=E==="pen"||!E?"mouse":E,G=typeof f=="function"?f():f;return typeof G=="string"?G:G[te]}),W=ie(E=>{if(!s||!c||!u||E.key!=="Escape"||U.current)return;const te=l.current.floatingContext?.nodeId,G=w?Gt(w.nodesRef.current,te):[];if(!R&&G.length>0){let J=!0;if(G.forEach(Z=>{Z.context?.open&&!Z.context.dataRef.current.__escapeKeyBubbles&&(J=!1)}),!J)return}const xe=Ih(E)?E.nativeEvent:E,L=pt(zf,xe);n.setOpen(!1,L),!R&&!L.isPropagationAllowed&&E.stopPropagation()}),pe=ie(E=>{const te=j();return te==="intentional"&&E.type!=="click"||te==="sloppy"&&E.type==="click"}),D=ie(()=>{l.current.insideReactTree=!0,A.start(0,M)}),_=ie((E,te=!1)=>{if(pe(E)){M();return}if(l.current.insideReactTree){M();return}if(j()==="intentional"&&te||typeof k=="function"&&!k(E))return;const G=qe(E),xe=`[${Ss("inert")}]`,L=Le(n.select("floatingElement")).querySelectorAll(xe),J=n.context.triggerElements;if(G&&(J.hasElement(G)||J.hasMatchingElement(Y=>we(Y,G))))return;let Z=At(G)?G:null;for(;Z&&!er(Z);){const Y=qf(Z);if(er(Y)||!At(Y))break;Z=Y}if(L.length&&At(G)&&!jh(G)&&!we(G,n.select("floatingElement"))&&Array.from(L).every(Y=>!we(Z,Y)))return;if(Rt(G)&&!("touches"in E)){const Y=er(G),Ee=Rl(G),he=/auto|scroll/,je=Y||he.test(Ee.overflowX),Ve=Y||he.test(Ee.overflowY),ct=je&&G.clientWidth>0&&G.scrollWidth>G.clientWidth,ve=Ve&&G.clientHeight>0&&G.scrollHeight>G.clientHeight,re=Ee.direction==="rtl",Re=ve&&(re?E.offsetX<=G.offsetWidth-G.clientWidth:E.offsetX>G.clientWidth),Ie=ct&&E.offsetY>G.clientHeight;if(Re||Ie)return}const ne=l.current.floatingContext?.nodeId,ue=w&&Gt(w.nodesRef.current,ne).some(Y=>Ge(E,Y.context?.elements.floating));if(Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement"))||ue)return;const K=w?Gt(w.nodesRef.current,ne):[];if(K.length>0){let Y=!0;if(K.forEach(Ee=>{Ee.context?.open&&!Ee.context.dataRef.current.__outsidePressBubbles&&(Y=!1)}),!Y)return}n.setOpen(!1,pt(Pl,E)),M()}),z=ie(E=>{j()!=="sloppy"||E.pointerType==="touch"||!n.select("open")||!c||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement"))||_(E)}),X=ie(E=>{if(j()!=="sloppy"||!n.select("open")||!c||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement")))return;const te=E.touches[0];te&&(C.current={startTime:Date.now(),startX:te.clientX,startY:te.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},I.start(1e3,()=>{C.current&&(C.current.dismissOnTouchEnd=!1,C.current.dismissOnMouseDown=!1)}))}),se=ie(E=>{const te=qe(E);function G(){X(E),te?.removeEventListener(E.type,G)}te?.addEventListener(E.type,G)}),H=ie(E=>{const te=S.current;if(S.current=!1,I.clear(),E.type==="mousedown"&&C.current&&!C.current.dismissOnMouseDown)return;const G=qe(E);function xe(){E.type==="pointerdown"?z(E):_(E,te),G?.removeEventListener(E.type,xe)}G?.addEventListener(E.type,xe)}),Q=ie(E=>{if(j()!=="sloppy"||!C.current||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement")))return;const te=E.touches[0];if(!te)return;const G=Math.abs(te.clientX-C.current.startX),xe=Math.abs(te.clientY-C.current.startY),L=Math.sqrt(G*G+xe*xe);L>5&&(C.current.dismissOnTouchEnd=!0),L>10&&(_(E),I.clear(),C.current=null)}),ee=ie(E=>{const te=qe(E);function G(){Q(E),te?.removeEventListener(E.type,G)}te?.addEventListener(E.type,G)}),de=ie(E=>{j()!=="sloppy"||!C.current||Ge(E,n.select("floatingElement"))||Ge(E,n.select("domReferenceElement"))||(C.current.dismissOnTouchEnd&&_(E),I.clear(),C.current=null)}),be=ie(E=>{const te=qe(E);function G(){de(E),te?.removeEventListener(E.type,G)}te?.addEventListener(E.type,G)});h.useEffect(()=>{if(!s||!c)return;l.current.__escapeKeyBubbles=R,l.current.__outsidePressBubbles=N;const E=new qt;function te(Z){n.setOpen(!1,pt(Zf,Z))}function G(){E.clear(),U.current=!0}function xe(){E.start(Xf()?5:0,()=>{U.current=!1})}const L=Le(r);L.addEventListener("pointerdown",$,!0),u&&(L.addEventListener("keydown",W),L.addEventListener("compositionstart",G),L.addEventListener("compositionend",xe)),k&&(L.addEventListener("click",H,!0),L.addEventListener("pointerdown",H,!0),L.addEventListener("touchstart",se,!0),L.addEventListener("touchmove",ee,!0),L.addEventListener("touchend",be,!0),L.addEventListener("mousedown",H,!0));let J=[];return y&&(At(o)&&(J=tr(o)),At(r)&&(J=J.concat(tr(r))),!At(i)&&i&&i.contextElement&&(J=J.concat(tr(i.contextElement)))),J=J.filter(Z=>Z!==L.defaultView?.visualViewport),J.forEach(Z=>{Z.addEventListener("scroll",te,{passive:!0})}),()=>{L.removeEventListener("pointerdown",$,!0),u&&(L.removeEventListener("keydown",W),L.removeEventListener("compositionstart",G),L.removeEventListener("compositionend",xe)),k&&(L.removeEventListener("click",H,!0),L.removeEventListener("pointerdown",H,!0),L.removeEventListener("touchstart",se,!0),L.removeEventListener("touchmove",ee,!0),L.removeEventListener("touchend",be,!0),L.removeEventListener("mousedown",H,!0)),J.forEach(Z=>{Z.removeEventListener("scroll",te)}),E.clear(),S.current=!1}},[l,r,i,o,u,k,s,a,y,c,R,N,W,_,H,z,se,ee,be,$,n]),h.useEffect(M,[k,M]);const Ne=h.useMemo(()=>({onKeyDown:W,...p&&{[Pp[m]]:E=>{n.setOpen(!1,pt(No,E.nativeEvent))},...m!=="intentional"&&{onClick(E){n.setOpen(!1,pt(No,E.nativeEvent))}}}}),[W,n,p,m]),Oe=ie(E=>{const te=qe(E.nativeEvent);!we(n.select("floatingElement"),te)||E.button!==0||(S.current=!0)}),Qe=ie(E=>{!s||!c||E.button!==0||(S.current=!0)}),et=h.useMemo(()=>({onKeyDown:W,onPointerDown:Oe,onMouseDown:Oe,onMouseUp:Oe,onClickCapture:D,onMouseDownCapture(E){D(),Qe(E)},onPointerDownCapture(E){D(),Qe(E)},onMouseUpCapture:D,onTouchEndCapture:D,onTouchMoveCapture:D}),[W,Oe,D,Qe]);return h.useMemo(()=>c?{reference:Ne,floating:et,trigger:Ne}:{},[c,Ne,et])}const Dp={open:oe(e=>e.open),domReferenceElement:oe(e=>e.domReferenceElement),referenceElement:oe(e=>e.positionReference??e.referenceElement),floatingElement:oe(e=>e.floatingElement),floatingId:oe(e=>e.floatingId)};class fc extends ic{constructor(t){const{nested:n,noEmit:s,onOpenChange:r,triggerElements:i,...o}=t;super({...o,positionReference:o.referenceElement,domReferenceElement:o.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:mp(),nested:n,noEmit:s,triggerElements:i},Dp)}setOpen=(t,n)=>{if((!t||!this.state.open||Oh(n.event))&&(this.context.dataRef.current.openEvent=t?n.event:void 0),!this.context.noEmit){const s={open:t,reason:n.reason,nativeEvent:n.event,nested:this.context.nested,triggerElement:n.trigger};this.context.events.emit("openchange",s)}this.context.onOpenChange?.(t,n)}}function Np(e,t=!1,n=!1){const[s,r]=h.useState(e&&t?"idle":void 0),[i,o]=h.useState(e);return e&&!i&&(o(!0),r("starting")),!e&&i&&s!=="ending"&&!n&&r("ending"),!e&&!i&&s==="ending"&&r(void 0),Pe(()=>{if(!e&&i&&s!=="ending"&&n){const a=rt.request(()=>{r("ending")});return()=>{rt.cancel(a)}}},[e,i,s,n]),Pe(()=>{if(!e||t)return;const a=rt.request(()=>{r(void 0)});return()=>{rt.cancel(a)}},[t,e]),Pe(()=>{if(!e||!t)return;e&&i&&s!=="idle"&&r("starting");const a=rt.request(()=>{r("idle")});return()=>{rt.cancel(a)}},[t,e,i,r,s]),h.useMemo(()=>({mounted:i,setMounted:o,transitionStatus:s}),[i,s])}let kn=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({});const jp={[kn.startingStyle]:""},Vp={[kn.endingStyle]:""},wi={transitionStatus(e){return e==="starting"?jp:e==="ending"?Vp:null}};function Lp(e,t=!1,n=!0){const s=oc();return ie((r,i=null)=>{s.cancel();function o(){gi.flushSync(r)}const a=mt(e);if(a==null)return;const l=a;if(typeof l.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED)r();else{let c=function(){const d=kn.startingStyle;if(!l.hasAttribute(d)){s.request(u);return}const f=new MutationObserver(()=>{l.hasAttribute(d)||(f.disconnect(),u())});f.observe(l,{attributes:!0,attributeFilter:[d]}),i?.addEventListener("abort",()=>f.disconnect(),{once:!0})},u=function(){Promise.all(l.getAnimations().map(d=>d.finished)).then(()=>{i?.aborted||o()}).catch(()=>{const d=l.getAnimations();if(n){if(i?.aborted)return;o()}else d.length>0&&d.some(f=>f.pending||f.playState!=="finished")&&u()})};if(t){c();return}s.request(u)}})}function hc(e){const{enabled:t=!0,open:n,ref:s,onComplete:r}=e,i=ie(r),o=Lp(s,n,!1);h.useEffect(()=>{if(!t)return;const a=new AbortController;return o(i,a.signal),()=>{a.abort()}},[t,n,i,o])}function Ip(e){const t=e.useState("open");Pe(()=>{if(t&&!e.select("activeTriggerId")&&e.context.triggerElements.size===1){const n=e.context.triggerElements.entries().next();if(!n.done){const[s,r]=n.value;e.update({activeTriggerId:s,activeTriggerElement:r})}}},[t,e])}function Fp(e,t,n){const{mounted:s,setMounted:r,transitionStatus:i}=Np(e);t.useSyncedValues({mounted:s,transitionStatus:i});const o=ie(()=>{r(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)}),a=t.useState("preventUnmountingOnClose");return hc({enabled:!a,open:e,ref:t.context.popupRef,onComplete(){e||o()}}),{forceUnmount:o,transitionStatus:i}}class mc{constructor(){this.elements=new Set,this.idMap=new Map}add(t,n){const s=this.idMap.get(t);s!==n&&(s!==void 0&&this.elements.delete(s),this.elements.add(n),this.idMap.set(t,n))}delete(t){const n=this.idMap.get(t);n&&(this.elements.delete(n),this.idMap.delete(t))}hasElement(t){return this.elements.has(t)}hasMatchingElement(t){for(const n of this.elements)if(t(n))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}get size(){return this.idMap.size}}function _p(){return new fc({open:!1,floatingElement:null,referenceElement:null,triggerElements:new mc,floatingId:"",nested:!1,noEmit:!1,onOpenChange:void 0})}function Op(){return{open:!1,mounted:!1,transitionStatus:"idle",floatingRootContext:_p(),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,popupElement:null,positionerElement:null,activeTriggerProps:gn,inactiveTriggerProps:gn,popupProps:gn}}const Bp={open:oe(e=>e.open),mounted:oe(e=>e.mounted),transitionStatus:oe(e=>e.transitionStatus),floatingRootContext:oe(e=>e.floatingRootContext),preventUnmountingOnClose:oe(e=>e.preventUnmountingOnClose),payload:oe(e=>e.payload),activeTriggerId:oe(e=>e.activeTriggerId),activeTriggerElement:oe(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:oe((e,t)=>t!==void 0&&e.activeTriggerId===t),isOpenedByTrigger:oe((e,t)=>t!==void 0&&e.activeTriggerId===t&&e.open),isMountedByTrigger:oe((e,t)=>t!==void 0&&e.activeTriggerId===t&&e.mounted),triggerProps:oe((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:oe(e=>e.popupProps),popupElement:oe(e=>e.popupElement),positionerElement:oe(e=>e.positionerElement)};function $p(e){const{popupStore:t,noEmit:n=!1,treatPopupAsFloatingElement:s=!1,onOpenChange:r}=e,i=yi(),o=ac()!=null,a=t.useState("open"),l=t.useState("activeTriggerElement"),c=t.useState(s?"popupElement":"positionerElement"),u=t.context.triggerElements,d=Mn(()=>new fc({open:a,referenceElement:l,floatingElement:c,triggerElements:u,onOpenChange:r,floatingId:i,nested:o,noEmit:n})).current;return Pe(()=>{const f={open:a,floatingId:i,referenceElement:l,floatingElement:c};At(l)&&(f.domReferenceElement=l),d.state.positionReference===d.state.referenceElement&&(f.positionReference=l),d.update(f)},[a,i,l,c,d]),d.context.onOpenChange=r,d.context.nested=o,d.context.noEmit=n,d}function Up(e=[]){const t=e.map(c=>c?.reference),n=e.map(c=>c?.floating),s=e.map(c=>c?.item),r=e.map(c=>c?.trigger),i=h.useCallback(c=>es(c,e,"reference"),t),o=h.useCallback(c=>es(c,e,"floating"),n),a=h.useCallback(c=>es(c,e,"item"),s),l=h.useCallback(c=>es(c,e,"trigger"),r);return h.useMemo(()=>({getReferenceProps:i,getFloatingProps:o,getItemProps:a,getTriggerProps:l}),[i,o,a,l])}function es(e,t,n){const s=new Map,r=n==="item",i={};n==="floating"&&(i.tabIndex=-1,i[$r]="");for(const o in e)r&&e&&(o===Fl||o===_l)||(i[o]=e[o]);for(let o=0;o<t.length;o+=1){let a;const l=t[o]?.[n];typeof l=="function"?a=e?l(e):null:a=l,a&&Jo(i,a,r,s)}return Jo(i,e,r,s),i}function Jo(e,t,n,s){for(const r in t){const i=t[r];n&&(r===Fl||r===_l)||(r.startsWith("on")?(s.has(r)||s.set(r,[]),typeof i=="function"&&(s.get(r)?.push(i),e[r]=(...o)=>s.get(r)?.map(a=>a(...o)).find(a=>a!==void 0))):e[r]=i)}}const Wp=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Kp(e,t={}){const n="rootStore"in e?e.rootStore:e,s=n.useState("open"),r=n.useState("floatingId"),i=n.useState("domReferenceElement"),o=n.useState("floatingElement"),{enabled:a=!0,role:l="dialog"}=t,c=yi(),u=i?.id||c,d=h.useMemo(()=>Ur(o)?.id||r,[o,r]),f=Wp.get(l)??l,m=ac()!=null,y=h.useMemo(()=>f==="tooltip"||l==="label"?gn:{"aria-haspopup":f==="alertdialog"?"dialog":f,"aria-expanded":"false",...f==="listbox"&&{role:"combobox"},...f==="menu"&&m&&{role:"menuitem"},...l==="select"&&{"aria-autocomplete":"none"},...l==="combobox"&&{"aria-autocomplete":"list"}},[f,m,l]),b=h.useMemo(()=>f==="tooltip"||l==="label"?{[`aria-${l==="label"?"labelledby":"describedby"}`]:s?d:void 0}:{...y,"aria-expanded":s?"true":"false","aria-controls":s?d:void 0,...f==="menu"&&{id:u}},[f,d,s,u,l,y]),x=h.useMemo(()=>{const v={id:d,...f&&{role:f}};return f==="tooltip"||l==="label"?v:{...v,...f==="menu"&&{"aria-labelledby":u}}},[f,d,u,l]),w=h.useCallback(({active:v,selected:k})=>{const S={role:"option",...v&&{id:`${d}-fui-option`}};switch(l){case"select":case"combobox":return{...S,"aria-selected":k}}return{}},[d,l]);return h.useMemo(()=>a?{reference:b,floating:x,item:w,trigger:y}:{},[a,b,x,y,w])}function Hp(e){const t=h.useRef(""),n=h.useCallback(r=>{r.defaultPrevented||(t.current=r.pointerType,e(r,r.pointerType))},[e]);return{onClick:h.useCallback(r=>{if(r.detail===0){e(r,"keyboard");return}"pointerType"in r&&e(r,r.pointerType),e(r,t.current),t.current=""},[e]),onPointerDown:n}}function Gp(e){const[t,n]=h.useState(null),s=ie((a,l)=>{e||n(l||(Il?"touch":""))}),r=h.useCallback(()=>{n(null)},[]),{onClick:i,onPointerDown:o}=Hp(s);return h.useMemo(()=>({openMethod:t,reset:r,triggerProps:{onClick:i,onPointerDown:o}}),[t,r,i,o])}let Xe=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=kn.startingStyle]="startingStyle",e[e.endingStyle=kn.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e})({});const Yp={[Xe.open]:""},zp={[Xe.closed]:""},qp={[Xe.anchorHidden]:""},Si={open(e){return e?Yp:zp},anchorHidden(e){return e?qp:null}};function Xp(e){return kl(19)?e:e?"true":void 0}let Qo={},ea={},ta="";function Zp(e){if(typeof document>"u")return!1;const t=Nn(e);return Vs(t).innerWidth-t.documentElement.clientWidth>0}function Jp(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const s=Nn(e).documentElement,r={scrollbarGutter:s.style.scrollbarGutter,overflowY:s.style.overflowY};s.style.scrollbarGutter="stable",s.style.overflowY="scroll";const i=s.offsetWidth;s.style.overflowY="hidden";const o=s.offsetWidth;return Object.assign(s.style,r),i===o}function Qp(e){const t=Nn(e),n=t.documentElement,s=t.body,r=Ml(n)?n:s,i=r.style.overflow;return r.style.overflow="hidden",()=>{r.style.overflow=i}}function eg(e){const t=Nn(e),n=t.documentElement,s=t.body,r=Vs(n);let i=0,o=0,a=!1;const l=rt.create();if(Eh&&(r.visualViewport?.scale??1)!==1)return()=>{};function c(){const f=r.getComputedStyle(n),p=r.getComputedStyle(s),b=(f.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";i=n.scrollTop,o=n.scrollLeft,Qo={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},ta=n.style.scrollBehavior,ea={position:s.style.position,height:s.style.height,width:s.style.width,boxSizing:s.style.boxSizing,overflowY:s.style.overflowY,overflowX:s.style.overflowX,scrollBehavior:s.style.scrollBehavior};const x=n.scrollHeight>n.clientHeight,w=n.scrollWidth>n.clientWidth,v=f.overflowY==="scroll"||p.overflowY==="scroll",k=f.overflowX==="scroll"||p.overflowX==="scroll",S=Math.max(0,r.innerWidth-s.clientWidth),R=Math.max(0,r.innerHeight-s.clientHeight),N=parseFloat(p.marginTop)+parseFloat(p.marginBottom),C=parseFloat(p.marginLeft)+parseFloat(p.marginRight),I=Ml(n)?n:s;if(a=Jp(e),a){n.style.scrollbarGutter=b,I.style.overflowY="hidden",I.style.overflowX="hidden";return}Object.assign(n.style,{scrollbarGutter:b,overflowY:"hidden",overflowX:"hidden"}),(x||v)&&(n.style.overflowY="scroll"),(w||k)&&(n.style.overflowX="scroll"),Object.assign(s.style,{position:"relative",height:N||R?`calc(100dvh - ${N+R}px)`:"100dvh",width:C||S?`calc(100vw - ${C+S}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),s.scrollTop=i,s.scrollLeft=o,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}function u(){Object.assign(n.style,Qo),Object.assign(s.style,ea),a||(n.scrollTop=i,n.scrollLeft=o,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=ta)}function d(){u(),l.request(c)}return c(),r.addEventListener("resize",d),()=>{l.cancel(),u(),typeof r.removeEventListener=="function"&&r.removeEventListener("resize",d)}}class tg{lockCount=0;restore=null;timeoutLock=qt.create();timeoutUnlock=qt.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(t){if(this.lockCount===0||this.restore!==null)return;const s=Nn(t).documentElement,r=Vs(s).getComputedStyle(s).overflowY;if(r==="hidden"||r==="clip"){this.restore=Cl;return}const i=Il||!Zp(t);this.restore=i?Qp(t):eg(t)}}const ng=new tg;function sg(e=!0,t=null){Pe(()=>{if(e)return ng.acquire(t)},[e,t])}const rg=h.forwardRef(function(t,n){const{cutout:s,...r}=t;let i;if(s){const o=s?.getBoundingClientRect();i=`polygon(
2
2
  0% 0%,
3
3
  100% 0%,
4
4
  100% 100%,
@@ -1 +1 @@
1
- import{r as d,m as e,l as n,W as g,aq as v,Z as b,ar as j}from"./main-DepLUlUX.js";function w(r){let t=0;for(let s=0;s<r.length;s+=1)t=r.charCodeAt(s)+((t<<5)-t);return t}function y({name:r="unknown",isAnon:t=!1,isTheOne:s=!1,size:i=64,className:l=""}){const a=d.useMemo(()=>w(String(r||"unknown")),[r]),c=d.useMemo(()=>{const f=[];for(let o=0;o<15;o+=1)f.push((a>>o&1)===1);return f},[a]),x=t?"#333":s?"#FFD700":"#00FF41",u=t?"none":s?"drop-shadow(0 0 8px rgba(255, 215, 0, 0.8)) drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))":"drop-shadow(0 0 4px rgba(0, 255, 65, 0.6))";return t?e.jsx("div",{style:{width:i,height:i},className:`bg-matrix-panel border border-matrix-ghost flex items-center justify-center overflow-hidden ${l}`,children:e.jsx("span",{className:"text-matrix-primary font-black text-body opacity-60",children:n("shared.placeholder.anon_mark")})}):e.jsxs("div",{style:{width:i,height:i},className:`relative p-1 transition-transform duration-300 hover:scale-105 ${s?"bg-yellow-900/20 border border-yellow-500/50":"bg-matrix-panelStrong border border-matrix-dim"} ${l}`,children:[s?e.jsx("div",{className:"absolute inset-0 bg-white opacity-10 animate-pulse mix-blend-overlay"}):null,e.jsx("svg",{viewBox:"0 0 5 5",className:"w-full h-full",style:{filter:u},children:c.map((f,o)=>{if(!f)return null;const m=Math.floor(o/3),h=o%3;return e.jsxs(g.Fragment,{children:[e.jsx("rect",{x:h,y:m,width:"1",height:"1",fill:x}),h<2?e.jsx("rect",{x:4-h,y:m,width:"1",height:"1",fill:x}):null]},o)})})]})}const p=({title:r=n("signalbox.title_default"),children:t,className:s=""})=>e.jsxs("section",{className:`relative flex flex-col overflow-hidden border border-[#00FF41]/45 bg-[#04130b]/72 ${s}`,children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(rgba(0,255,65,0)_50%,rgba(0,255,65,0.16)_50%)] bg-[length:100%_4px] opacity-25"}),e.jsx("header",{className:"relative z-10 border-b border-[#00FF41]/25 px-5 py-3",children:e.jsx("span",{className:"font-mono text-[11px] uppercase tracking-[0.16em] text-[#00FF41]/78",children:e.jsx(v,{text:r})})}),e.jsx("div",{className:"relative z-10 flex-1 min-h-0 p-4",children:t})]});function N({prefersReducedMotion:r,screenshotMode:t}){return!(t||r)}function _(){return d.useMemo(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches,[])}const M=()=>{const[r,t]=d.useState([n("live_sniffer.log.system"),n("live_sniffer.log.socket")]),s=_(),i=d.useMemo(()=>typeof window>"u"?!1:b(window.location.search),[]),l=N({prefersReducedMotion:s,screenshotMode:i});return d.useEffect(()=>{if(!l)return;const a=[n("live_sniffer.event.intercepted"),n("live_sniffer.event.quantifying"),n("live_sniffer.event.analysis"),n("live_sniffer.event.sync"),n("live_sniffer.event.batch"),n("live_sniffer.event.hooking"),n("live_sniffer.event.capture")];let c=0;const x=setInterval(()=>{t(u=>[...u.slice(-4),a[c%a.length]]),c++},1500);return()=>clearInterval(x)},[l]),e.jsx("div",{className:"font-matrix text-caption text-matrix-muted space-y-2 h-full flex flex-col justify-end",children:r.map((a,c)=>e.jsx("div",{className:"animate-pulse border-l-2 border-matrix-ghost pl-2 truncate",children:a},c))})};function k({handle:r,onHandleChange:t,specialHandle:s,handlePlaceholder:i,rankLabel:l}){return e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 w-full max-w-3xl",children:[e.jsx(p,{title:n("landing.signal.identity_probe"),className:"h-44",children:e.jsxs("div",{className:"flex items-center space-x-6 h-full",children:[e.jsx(y,{name:r,size:80,isTheOne:r===s}),e.jsxs("div",{className:"flex-1 text-left space-y-3",children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{className:"text-caption text-matrix-muted uppercase mb-2 font-bold",children:n("landing.handle.label")}),e.jsx(j,{type:"text",value:r,onChange:t,className:"w-full bg-transparent border-b border-matrix-dim text-matrix-bright font-black text-2xl md:text-3xl p-1 focus:outline-none focus:border-matrix-primary transition-colors",maxLength:10,placeholder:i})]}),e.jsx("div",{className:"text-caption text-matrix-muted",children:l})]})]})}),e.jsx(p,{title:n("landing.signal.live_sniffer"),className:"h-44",children:e.jsx(M,{})})]})}export{k as LandingExtras};
1
+ import{r as d,m as e,l as n,W as g,aq as v,Z as b,ar as j}from"./main-B206gspN.js";function w(r){let t=0;for(let s=0;s<r.length;s+=1)t=r.charCodeAt(s)+((t<<5)-t);return t}function y({name:r="unknown",isAnon:t=!1,isTheOne:s=!1,size:i=64,className:l=""}){const a=d.useMemo(()=>w(String(r||"unknown")),[r]),c=d.useMemo(()=>{const f=[];for(let o=0;o<15;o+=1)f.push((a>>o&1)===1);return f},[a]),x=t?"#333":s?"#FFD700":"#00FF41",u=t?"none":s?"drop-shadow(0 0 8px rgba(255, 215, 0, 0.8)) drop-shadow(0 0 15px rgba(255, 255, 255, 0.5))":"drop-shadow(0 0 4px rgba(0, 255, 65, 0.6))";return t?e.jsx("div",{style:{width:i,height:i},className:`bg-matrix-panel border border-matrix-ghost flex items-center justify-center overflow-hidden ${l}`,children:e.jsx("span",{className:"text-matrix-primary font-black text-body opacity-60",children:n("shared.placeholder.anon_mark")})}):e.jsxs("div",{style:{width:i,height:i},className:`relative p-1 transition-transform duration-300 hover:scale-105 ${s?"bg-yellow-900/20 border border-yellow-500/50":"bg-matrix-panelStrong border border-matrix-dim"} ${l}`,children:[s?e.jsx("div",{className:"absolute inset-0 bg-white opacity-10 animate-pulse mix-blend-overlay"}):null,e.jsx("svg",{viewBox:"0 0 5 5",className:"w-full h-full",style:{filter:u},children:c.map((f,o)=>{if(!f)return null;const m=Math.floor(o/3),h=o%3;return e.jsxs(g.Fragment,{children:[e.jsx("rect",{x:h,y:m,width:"1",height:"1",fill:x}),h<2?e.jsx("rect",{x:4-h,y:m,width:"1",height:"1",fill:x}):null]},o)})})]})}const p=({title:r=n("signalbox.title_default"),children:t,className:s=""})=>e.jsxs("section",{className:`relative flex flex-col overflow-hidden border border-[#00FF41]/45 bg-[#04130b]/72 ${s}`,children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 bg-[linear-gradient(rgba(0,255,65,0)_50%,rgba(0,255,65,0.16)_50%)] bg-[length:100%_4px] opacity-25"}),e.jsx("header",{className:"relative z-10 border-b border-[#00FF41]/25 px-5 py-3",children:e.jsx("span",{className:"font-mono text-[11px] uppercase tracking-[0.16em] text-[#00FF41]/78",children:e.jsx(v,{text:r})})}),e.jsx("div",{className:"relative z-10 flex-1 min-h-0 p-4",children:t})]});function N({prefersReducedMotion:r,screenshotMode:t}){return!(t||r)}function _(){return d.useMemo(()=>typeof window>"u"||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches,[])}const M=()=>{const[r,t]=d.useState([n("live_sniffer.log.system"),n("live_sniffer.log.socket")]),s=_(),i=d.useMemo(()=>typeof window>"u"?!1:b(window.location.search),[]),l=N({prefersReducedMotion:s,screenshotMode:i});return d.useEffect(()=>{if(!l)return;const a=[n("live_sniffer.event.intercepted"),n("live_sniffer.event.quantifying"),n("live_sniffer.event.analysis"),n("live_sniffer.event.sync"),n("live_sniffer.event.batch"),n("live_sniffer.event.hooking"),n("live_sniffer.event.capture")];let c=0;const x=setInterval(()=>{t(u=>[...u.slice(-4),a[c%a.length]]),c++},1500);return()=>clearInterval(x)},[l]),e.jsx("div",{className:"font-matrix text-caption text-matrix-muted space-y-2 h-full flex flex-col justify-end",children:r.map((a,c)=>e.jsx("div",{className:"animate-pulse border-l-2 border-matrix-ghost pl-2 truncate",children:a},c))})};function k({handle:r,onHandleChange:t,specialHandle:s,handlePlaceholder:i,rankLabel:l}){return e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 w-full max-w-3xl",children:[e.jsx(p,{title:n("landing.signal.identity_probe"),className:"h-44",children:e.jsxs("div",{className:"flex items-center space-x-6 h-full",children:[e.jsx(y,{name:r,size:80,isTheOne:r===s}),e.jsxs("div",{className:"flex-1 text-left space-y-3",children:[e.jsxs("div",{className:"flex flex-col",children:[e.jsx("label",{className:"text-caption text-matrix-muted uppercase mb-2 font-bold",children:n("landing.handle.label")}),e.jsx(j,{type:"text",value:r,onChange:t,className:"w-full bg-transparent border-b border-matrix-dim text-matrix-bright font-black text-2xl md:text-3xl p-1 focus:outline-none focus:border-matrix-primary transition-colors",maxLength:10,placeholder:i})]}),e.jsx("div",{className:"text-caption text-matrix-muted",children:l})]})]})}),e.jsx(p,{title:n("landing.signal.live_sniffer"),className:"h-44",children:e.jsx(M,{})})]})}export{k as LandingExtras};