groove-dev 0.26.16 → 0.26.17

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.
@@ -26,7 +26,7 @@ Error generating stack: `+c.message+`
26
26
  `),g=p.data.filter(Q=>Q.type==="tool_use").map(Q=>{var w,$,j;return`${Q.name}: ${typeof Q.input=="string"?Q.input.slice(0,80):((w=Q.input)==null?void 0:w.command)||(($=Q.input)==null?void 0:$.path)||((j=Q.input)==null?void 0:j.pattern)||JSON.stringify(Q.input||"").slice(0,80)}`}).join(`
27
27
  `)),p.contextUsage!==void 0||p.tokensUsed!==void 0){const Q=n().agents.map(w=>{if(w.id!==h)return w;const $={};return p.contextUsage!==void 0&&($.contextUsage=p.contextUsage),p.tokensUsed!==void 0&&($.tokensUsed=p.tokensUsed),{...w,...$}});t({agents:Q})}const b=p.subtype==="stream";if(x&&x.trim()&&!b&&(p.subtype==="assistant"||p.subtype==="text"||p.type==="result"||p.type==="activity"&&typeof p.data=="string")){const Q=x.trim(),w={...n().chatHistory};w[h]||(w[h]=[]);const $=[...w[h]],j=$[$.length-1],R=j&&j.from==="agent"&&Date.now()-j.timestamp<8e3;if(!(R&&(j.text===Q||j.text.endsWith(Q)))){if(R){const z=p.subtype==="assistant"?`
28
28
 
29
- `:" ";$[$.length-1]={...j,text:j.text+z+Q,timestamp:Date.now()}}else $.push({from:"agent",text:Q,timestamp:Date.now()});w[h]=$.slice(-100),t({chatHistory:w}),wl("groove:chatHistory",w)}}if(g&&g.trim()){const Q={...n().activityLog};Q[h]||(Q[h]=[]),Q[h]=[...Q[h].slice(-200),{timestamp:Date.now(),text:g.trim(),type:p.type,subtype:"tool"}],t({activityLog:Q}),wl("groove:activityLog",Q)}break}case"agent:exit":{const h=n().agents.find(y=>y.id===o.agentId),p=(h==null?void 0:h.name)||o.agentId,x=o.status==="killed"||o.code===143||o.code===137,g=o.status==="completed"?`${p} completed`:x?`${p} stopped`:`${p} crashed (exit ${o.code})`,b=o.status==="completed"?"success":x?"info":"warning";n().addToast(b,g,o.error?o.error.slice(0,200):void 0),o.error&&o.agentId&&n().addChatMessage(o.agentId,"system",`Crashed: ${o.error}`),(h==null?void 0:h.role)==="planner"&&o.status==="completed"&&setTimeout(()=>n().checkRecommendedTeam(),1e3);break}case"phase2:spawned":n().addToast("info",`QC agent ${o.name} auto-spawned`,"Auditing phase 1 work");break;case"phase2:failed":n().addToast("error","QC agent failed to spawn",o.error||"Unknown error");break;case"rotation:start":n().addToast("info",`Rotating ${o.agentName}...`);break;case"rotation:complete":{n().addToast("success",`Rotated ${o.agentName}`,`Saved ${o.tokensSaved} tokens`);const h=n().detailPanel;(h==null?void 0:h.type)==="agent"&&h.agentId===o.oldAgentId&&o.newAgentId&&t(p=>{var b,y;const x={...p.chatHistory},g={...p.tokenTimeline};return(b=x[o.oldAgentId])!=null&&b.length&&(x[o.newAgentId]=[...x[o.oldAgentId]]),(y=g[o.oldAgentId])!=null&&y.length&&(g[o.newAgentId]=[...g[o.oldAgentId]]),{chatHistory:x,tokenTimeline:g,detailPanel:{type:"agent",agentId:o.newAgentId}}});break}case"rotation:failed":n().addToast("error","Rotation failed",o.error);break;case"file:changed":{const h=n().editorRecentSaves[o.path];if(h&&Date.now()-h<2e3)break;t(p=>({editorChangedFiles:{...p.editorChangedFiles,[o.path]:o.timestamp}}));break}case"team:created":case"team:deleted":case"team:updated":n().fetchTeams();break;case"approval:request":t(h=>({pendingApprovals:[...h.pendingApprovals,o.data]})),n().addToast("warning",`Approval needed: ${((u=o.data)==null?void 0:u.agentName)||"agent"}`,(O=(d=o.data)==null?void 0:d.action)==null?void 0:O.description);break;case"approval:resolved":{const h=o.data;t(p=>({pendingApprovals:p.pendingApprovals.filter(x=>x.id!==h.id),resolvedApprovals:[h,...p.resolvedApprovals].slice(0,200)}));break}case"conflict:detected":n().addToast("error",`Scope conflict: ${o.agentName||"agent"}`,o.filePath?`File: ${o.filePath}`:void 0);break;case"qc:activated":n().addToast("info","QC agent activated",`${o.agentCount||"4+"} agents running`);break;case"journalist:cycle":t({journalistStatus:o.data||null});break;case"schedule:execute":n().addToast("info",`Scheduled agent spawned: ${o.name||o.role||"agent"}`);break;case"gateway:status":t({gateways:o.data||[]});break}},s.onclose=()=>{t({connected:!1,hydrated:!1,ws:null,daemonHost:null,tunneled:!1}),setTimeout(()=>n().connect(),2e3)},s.onerror=()=>s.close()},setActiveView(s){t({activeView:s})},async fetchTeams(){try{const s=await ee.get("/teams"),l=s.teams||[],o=s.defaultTeamId,{activeTeamId:u}=n(),O=l.map(h=>h.id).includes(u)?u:o;t({teams:l,activeTeamId:O}),O&&localStorage.setItem("groove:activeTeamId",O)}catch{}},switchTeam(s){t({activeTeamId:s,detailPanel:null}),localStorage.setItem("groove:activeTeamId",s)},async createTeam(s,l){try{const o={name:s};l&&(o.workingDir=l);const u=await ee.post("/teams",o);return t({activeTeamId:u.id}),localStorage.setItem("groove:activeTeamId",u.id),n().addToast("success",`Team "${s}" created`),u}catch(o){throw n().addToast("error","Failed to create team",o.message),o}},async deleteTeam(s){const l=n().teams.find(o=>o.id===s);if(l!=null&&l.isDefault){n().addToast("warning","Cannot delete the default team");return}try{await ee.delete(`/teams/${s}`),n().addToast("info",`Team "${l==null?void 0:l.name}" deleted`)}catch(o){n().addToast("error","Failed to delete team",o.message)}},async renameTeam(s,l){try{const o=await ee.patch(`/teams/${s}`,{name:l});return t(u=>({teams:u.teams.map(d=>d.id===s?o:d)})),o}catch(o){throw n().addToast("error","Failed to rename team",o.message),o}},openDetail(s){t({detailPanel:s})},closeDetail(){t({detailPanel:null})},selectAgent(s){t({detailPanel:{type:"agent",agentId:s}})},clearSelection(){t({detailPanel:null})},toggleCommandPalette(){t(s=>({commandPaletteOpen:!s.commandPaletteOpen}))},setDetailPanelWidth(s){t({detailPanelWidth:s}),localStorage.setItem("groove:detailWidth",String(s))},setTerminalVisible(s){t({terminalVisible:s}),localStorage.setItem("groove:terminalVisible",String(s))},setTerminalHeight(s){t({terminalHeight:s}),localStorage.setItem("groove:terminalHeight",String(s))},setTerminalFullHeight(s){t({terminalFullHeight:s})},addToast(s,l,o){const u=++cw;t(d=>({toasts:[...d.toasts,{id:u,type:s,message:l,detail:o}]}))},removeToast(s){t(l=>({toasts:l.toasts.filter(o=>o.id!==s)}))},async checkMarketplaceAuth(){try{const s=await ee.get("/auth/status");t({marketplaceAuthenticated:s.authenticated||!1,marketplaceUser:s.user||null})}catch{t({marketplaceAuthenticated:!1,marketplaceUser:null})}},async marketplaceLogin(){try{const s=await ee.get("/auth/login-url");s.url&&window.open(s.url,"_blank");const l=setInterval(async()=>{var o,u;try{const d=await ee.get("/auth/status");d.authenticated&&(clearInterval(l),t({marketplaceAuthenticated:!0,marketplaceUser:d.user}),n().addToast("success",`Signed in as ${((o=d.user)==null?void 0:o.displayName)||((u=d.user)==null?void 0:u.id)||"user"}`))}catch{}},2e3);setTimeout(()=>clearInterval(l),3e5)}catch(s){n().addToast("error","Login failed",s.message)}},async marketplaceLogout(){try{await ee.post("/auth/logout"),t({marketplaceAuthenticated:!1,marketplaceUser:null}),n().addToast("info","Signed out of marketplace")}catch(s){n().addToast("error","Logout failed",s.message)}},async marketplaceCheckout(s){try{const l=await ee.post("/auth/checkout",{skillId:s});return l.url&&window.open(l.url,"_blank"),l}catch(l){throw n().addToast("error","Checkout failed",l.message),l}},async fetchApprovals(){try{const s=await ee.get("/approvals");t({pendingApprovals:s.pending||[],resolvedApprovals:s.resolved||[]})}catch{}},async approveRequest(s){try{await ee.post(`/approvals/${s}/approve`),t(l=>({pendingApprovals:l.pendingApprovals.filter(o=>o.id!==s)})),n().addToast("success","Approved")}catch(l){n().addToast("error","Approve failed",l.message)}},async rejectRequest(s,l=""){try{await ee.post(`/approvals/${s}/reject`,{reason:l}),t(o=>({pendingApprovals:o.pendingApprovals.filter(u=>u.id!==s)})),n().addToast("info","Rejected")}catch(o){n().addToast("error","Reject failed",o.message)}},async checkRecommendedTeam(){var s;try{const l=await ee.get("/recommended-team");l&&((s=l.agents)!=null&&s.length)?t({recommendedTeam:l}):t({recommendedTeam:null})}catch{t({recommendedTeam:null})}},async launchRecommendedTeam(){try{t({recommendedTeam:null}),n().addToast("info","Launching team...");const s=await ee.post("/recommended-team/launch"),l=[s.phase2Pending?`${s.phase2Pending} QC queued`:"",s.projectDir?`→ ${s.projectDir}/`:""].filter(Boolean).join(" · ");return n().addToast("success",`Launched ${s.launched} agents`,l||void 0),ee.post("/cleanup").catch(()=>{}),s}catch(s){throw n().addToast("error","Launch failed",s.message),s}},async fetchJournalist(){try{const s=await ee.get("/journalist");return t({journalistStatus:s}),s}catch{return null}},async triggerJournalistCycle(){try{const s=await ee.post("/journalist/cycle");return n().addToast("success","Synthesis cycle triggered"),t({journalistStatus:s}),s}catch(s){throw n().addToast("error","Synthesis failed",s.message),s}},async spawnAgent(s){try{const l=n().activeTeamId,o=await ee.post("/agents",{...s,teamId:l});return n().addToast("success",`Spawned ${o.name}`),o}catch(l){throw n().addToast("error","Spawn failed",l.message),l}},async killAgent(s,l=!1){try{await ee.delete(`/agents/${s}?purge=${l}`)}catch(o){n().addToast("error","Kill failed",o.message)}},async rotateAgent(s){try{return await ee.post(`/agents/${s}/rotate`)}catch(l){throw n().addToast("error","Rotation failed",l.message),l}},async fetchProviders(){return ee.get("/providers")},addChatMessage(s,l,o,u=!1){t(d=>{const O={...d.chatHistory};return O[s]||(O[s]=[]),O[s]=[...O[s].slice(-100),{from:l,text:o,timestamp:Date.now(),isQuery:u}],wl("groove:chatHistory",O),{chatHistory:O}})},thinkingAgents:new Set,async instructAgent(s,l){var d,O;const o=n().agents.find(h=>h.id===s);if(o&&(o.status==="running"||o.status==="starting")){n().addChatMessage(s,"user",l,!1);try{const h=await ee.post(`/agents/${s}/query`,{message:l});return h.status==="pending"||h.response==="Message sent to agent"?(t(p=>({thinkingAgents:new Set([...p.thinkingAgents,s])})),h):(n().addChatMessage(s,"agent",h.response),h)}catch(h){throw n().addChatMessage(s,"system",`failed: ${h.message}`),h}}n().addChatMessage(s,"user",l,!1),t(h=>({thinkingAgents:new Set([...h.thinkingAgents,s])}));try{const h=await ee.post(`/agents/${s}/instruct`,{message:l});for(const p of["chatHistory","activityLog","tokenTimeline"]){const x=n()[p][s];x!=null&&x.length&&t(g=>({[p]:{...g[p],[h.id]:[...x]}}))}return t(p=>{const x=new Set(p.thinkingAgents);return x.delete(s),x.add(h.id),{thinkingAgents:x}}),(d=n().chatHistory[s])!=null&&d.length&&wl("groove:chatHistory",n().chatHistory),(O=n().activityLog[s])!=null&&O.length&&wl("groove:activityLog",n().activityLog),n().selectAgent(h.id),h}catch(h){throw t(p=>{const x=new Set(p.thinkingAgents);return x.delete(s),{thinkingAgents:x}}),n().addChatMessage(s,"system",`failed: ${h.message}`),h}},async queryAgent(s,l){n().addChatMessage(s,"user",l,!0);try{const o=await ee.post(`/agents/${s}/query`,{message:l});return n().addChatMessage(s,"agent",o.response),o}catch(o){throw n().addChatMessage(s,"system",`query failed: ${o.message}`),o}},async openFile(s){var u;if(n().editorFiles[s]||n().editorOpenTabs.includes(s)){t(d=>({editorActiveFile:s,editorOpenTabs:d.editorOpenTabs.includes(s)?d.editorOpenTabs:[...d.editorOpenTabs,s]}));return}const l=(u=s.split(".").pop())==null?void 0:u.toLowerCase();if(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif","mp4","webm","mov","avi","mkv","ogv"].includes(l)){t(d=>({editorActiveFile:s,editorOpenTabs:[...d.editorOpenTabs,s]}));return}try{const d=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(d.binary){n().addToast("warning","Binary file — cannot open");return}t(h=>({editorFiles:{...h.editorFiles,[s]:{content:d.content,originalContent:d.content,language:d.language,loadedAt:Date.now()}},editorActiveFile:s,editorOpenTabs:h.editorOpenTabs.includes(s)?h.editorOpenTabs:[...h.editorOpenTabs,s]}));const O=n().ws;(O==null?void 0:O.readyState)===1&&O.send(JSON.stringify({type:"editor:watch",path:s}))}catch(d){n().addToast("error","Failed to open file",d.message)}},closeFile(s){t(o=>{const u=o.editorOpenTabs.filter(p=>p!==s),d={...o.editorFiles};delete d[s];const O={...o.editorChangedFiles};delete O[s];let h=o.editorActiveFile;if(h===s){const p=o.editorOpenTabs.indexOf(s);h=u[Math.min(p,u.length-1)]||null}return{editorOpenTabs:u,editorFiles:d,editorChangedFiles:O,editorActiveFile:h}});const l=n().ws;(l==null?void 0:l.readyState)===1&&l.send(JSON.stringify({type:"editor:unwatch",path:s}))},setActiveFile(s){t({editorActiveFile:s})},updateFileContent(s,l){t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],content:l}}}))},async saveFile(s){const l=n().editorFiles[s];if(l)try{await ee.post("/files/write",{path:s,content:l.content}),t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],originalContent:l.content}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})(),editorRecentSaves:{...o.editorRecentSaves,[s]:Date.now()}})),n().addToast("success","File saved")}catch(o){n().addToast("error","Save failed",o.message)}},async reloadFile(s){try{const l=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(l.binary)return;t(o=>({editorFiles:{...o.editorFiles,[s]:{content:l.content,originalContent:l.content,language:l.language,loadedAt:Date.now()}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})()}))}catch{}},dismissFileChange(s){t(l=>{const o={...l.editorChangedFiles};return delete o[s],{editorChangedFiles:o}})},async fetchTreeDir(s){try{const l=await ee.get(`/files/tree?path=${encodeURIComponent(s)}`);t(o=>({editorTreeCache:{...o.editorTreeCache,[s]:l.entries}}))}catch{}},async createFile(s){try{await ee.post("/files/create",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(l),n().addToast("success","File created"),!0}catch(l){return n().addToast("error","Create failed",l.message),!1}},async createDir(s){try{await ee.post("/files/mkdir",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(l),n().addToast("success","Folder created"),!0}catch(l){return n().addToast("error","Create failed",l.message),!1}},async deleteFile(s){try{await ee.delete(`/files/delete?path=${encodeURIComponent(s)}`),n().editorOpenTabs.includes(s)&&n().closeFile(s);const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(l),t(o=>{const u={...o.editorTreeCache};return delete u[s],{editorTreeCache:u}}),n().addToast("success","Deleted"),!0}catch(l){return n().addToast("error","Delete failed",l.message),!1}},async renameFile(s,l){try{await ee.post("/files/rename",{oldPath:s,newPath:l}),t(d=>{const O=d.editorOpenTabs.map(x=>x===s?l:x),h={...d.editorFiles};h[s]&&(h[l]=h[s],delete h[s]);const p=d.editorActiveFile===s?l:d.editorActiveFile;return{editorOpenTabs:O,editorFiles:h,editorActiveFile:p}});const o=s.includes("/")?s.split("/").slice(0,-1).join("/"):"",u=l.includes("/")?l.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(o),u!==o&&await n().fetchTreeDir(u),n().addToast("success","Renamed"),!0}catch(o){return n().addToast("error","Rename failed",o.message),!1}}}));function uw(t){v.useEffect(()=>{function n(s){for(const l of t){const o=l.meta?s.metaKey||s.ctrlKey:!0,u=l.shift?s.shiftKey:!s.shiftKey;if(s.key.toLowerCase()===l.key.toLowerCase()&&o&&u){s.preventDefault(),l.handler();return}}}return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t])}function qe(t,n,{checkForDefaultPrevented:s=!0}={}){return function(o){if(t==null||t(o),s===!1||!o.defaultPrevented)return n==null?void 0:n(o)}}function Cg(t,n){if(typeof t=="function")return t(n);t!=null&&(t.current=n)}function _0(...t){return n=>{let s=!1;const l=t.map(o=>{const u=Cg(o,n);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let o=0;o<l.length;o++){const u=l[o];typeof u=="function"?u():Cg(t[o],null)}}}}function it(...t){return v.useCallback(_0(...t),t)}function dw(t,n){const s=v.createContext(n),l=u=>{const{children:d,...O}=u,h=v.useMemo(()=>O,Object.values(O));return r.jsx(s.Provider,{value:h,children:d})};l.displayName=t+"Provider";function o(u){const d=v.useContext(s);if(d)return d;if(n!==void 0)return n;throw new Error(`\`${u}\` must be used within \`${t}\``)}return[l,o]}function Xs(t,n=[]){let s=[];function l(u,d){const O=v.createContext(d),h=s.length;s=[...s,d];const p=g=>{var j;const{scope:b,children:y,...Q}=g,w=((j=b==null?void 0:b[t])==null?void 0:j[h])||O,$=v.useMemo(()=>Q,Object.values(Q));return r.jsx(w.Provider,{value:$,children:y})};p.displayName=u+"Provider";function x(g,b){var w;const y=((w=b==null?void 0:b[t])==null?void 0:w[h])||O,Q=v.useContext(y);if(Q)return Q;if(d!==void 0)return d;throw new Error(`\`${g}\` must be used within \`${u}\``)}return[p,x]}const o=()=>{const u=s.map(d=>v.createContext(d));return function(O){const h=(O==null?void 0:O[t])||u;return v.useMemo(()=>({[`__scope${t}`]:{...O,[t]:h}}),[O,h])}};return o.scopeName=t,[l,Ow(o,...n)]}function Ow(...t){const n=t[0];if(t.length===1)return n;const s=()=>{const l=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const d=l.reduce((O,{useScope:h,scopeName:p})=>{const g=h(u)[`__scope${p}`];return{...O,...g}},{});return v.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return s.scopeName=n.scopeName,s}function uc(t){const n=fw(t),s=v.forwardRef((l,o)=>{const{children:u,...d}=l,O=v.Children.toArray(u),h=O.find(mw);if(h){const p=h.props.children,x=O.map(g=>g===h?v.Children.count(p)>1?v.Children.only(null):v.isValidElement(p)?p.props.children:null:g);return r.jsx(n,{...d,ref:o,children:v.isValidElement(p)?v.cloneElement(p,void 0,x):null})}return r.jsx(n,{...d,ref:o,children:u})});return s.displayName=`${t}.Slot`,s}function fw(t){const n=v.forwardRef((s,l)=>{const{children:o,...u}=s;if(v.isValidElement(o)){const d=xw(o),O=pw(u,o.props);return o.type!==v.Fragment&&(O.ref=l?_0(l,d):d),v.cloneElement(o,O)}return v.Children.count(o)>1?v.Children.only(null):null});return n.displayName=`${t}.SlotClone`,n}var Z0=Symbol("radix.slottable");function hw(t){const n=({children:s})=>r.jsx(r.Fragment,{children:s});return n.displayName=`${t}.Slottable`,n.__radixId=Z0,n}function mw(t){return v.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===Z0}function pw(t,n){const s={...n};for(const l in n){const o=t[l],u=n[l];/^on[A-Z]/.test(l)?o&&u?s[l]=(...O)=>{const h=u(...O);return o(...O),h}:o&&(s[l]=o):l==="style"?s[l]={...o,...u}:l==="className"&&(s[l]=[o,u].filter(Boolean).join(" "))}return{...t,...s}}function xw(t){var l,o;let n=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=n&&"isReactWarning"in n&&n.isReactWarning;return s?t.ref:(n=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=n&&"isReactWarning"in n&&n.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var gw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Be=gw.reduce((t,n)=>{const s=uc(`Primitive.${n}`),l=v.forwardRef((o,u)=>{const{asChild:d,...O}=o,h=d?s:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),r.jsx(h,{...O,ref:u})});return l.displayName=`Primitive.${n}`,{...t,[n]:l}},{});function bw(t,n){t&&$0.flushSync(()=>t.dispatchEvent(n))}function zt(t){const n=v.useRef(t);return v.useEffect(()=>{n.current=t}),v.useMemo(()=>(...s)=>{var l;return(l=n.current)==null?void 0:l.call(n,...s)},[])}function vw(t,n=globalThis==null?void 0:globalThis.document){const s=zt(t);v.useEffect(()=>{const l=o=>{o.key==="Escape"&&s(o)};return n.addEventListener("keydown",l,{capture:!0}),()=>n.removeEventListener("keydown",l,{capture:!0})},[s,n])}var yw="DismissableLayer",of="dismissableLayer.update",Sw="dismissableLayer.pointerDownOutside",Qw="dismissableLayer.focusOutside",Xg,A0=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_f=v.forwardRef((t,n)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:d,onDismiss:O,...h}=t,p=v.useContext(A0),[x,g]=v.useState(null),b=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,y]=v.useState({}),Q=it(n,C=>g(C)),w=Array.from(p.layers),[$]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),j=w.indexOf($),R=x?w.indexOf(x):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,z=R>=j,Y=kw(C=>{const T=C.target,M=[...p.branches].some(G=>G.contains(T));!z||M||(o==null||o(C),d==null||d(C),C.defaultPrevented||O==null||O())},b),Z=$w(C=>{const T=C.target;[...p.branches].some(G=>G.contains(T))||(u==null||u(C),d==null||d(C),C.defaultPrevented||O==null||O())},b);return vw(C=>{R===p.layers.size-1&&(l==null||l(C),!C.defaultPrevented&&O&&(C.preventDefault(),O()))},b),v.useEffect(()=>{if(x)return s&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(Xg=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),_g(),()=>{s&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=Xg)}},[x,b,s,p]),v.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),_g())},[x,p]),v.useEffect(()=>{const C=()=>y({});return document.addEventListener(of,C),()=>document.removeEventListener(of,C)},[]),r.jsx(Be.div,{...h,ref:Q,style:{pointerEvents:N?z?"auto":"none":void 0,...t.style},onFocusCapture:qe(t.onFocusCapture,Z.onFocusCapture),onBlurCapture:qe(t.onBlurCapture,Z.onBlurCapture),onPointerDownCapture:qe(t.onPointerDownCapture,Y.onPointerDownCapture)})});_f.displayName=yw;var jw="DismissableLayerBranch",ww=v.forwardRef((t,n)=>{const s=v.useContext(A0),l=v.useRef(null),o=it(n,l);return v.useEffect(()=>{const u=l.current;if(u)return s.branches.add(u),()=>{s.branches.delete(u)}},[s.branches]),r.jsx(Be.div,{...t,ref:o})});ww.displayName=jw;function kw(t,n=globalThis==null?void 0:globalThis.document){const s=zt(t),l=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const u=O=>{if(O.target&&!l.current){let h=function(){E0(Sw,s,p,{discrete:!0})};const p={originalEvent:O};O.pointerType==="touch"?(n.removeEventListener("click",o.current),o.current=h,n.addEventListener("click",o.current,{once:!0})):h()}else n.removeEventListener("click",o.current);l.current=!1},d=window.setTimeout(()=>{n.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),n.removeEventListener("pointerdown",u),n.removeEventListener("click",o.current)}},[n,s]),{onPointerDownCapture:()=>l.current=!0}}function $w(t,n=globalThis==null?void 0:globalThis.document){const s=zt(t),l=v.useRef(!1);return v.useEffect(()=>{const o=u=>{u.target&&!l.current&&E0(Qw,s,{originalEvent:u},{discrete:!1})};return n.addEventListener("focusin",o),()=>n.removeEventListener("focusin",o)},[n,s]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function _g(){const t=new CustomEvent(of);document.dispatchEvent(t)}function E0(t,n,s,{discrete:l}){const o=s.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});n&&o.addEventListener(t,n,{once:!0}),l?bw(o,u):o.dispatchEvent(u)}var ln=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},Tw=j0[" useId ".trim().toString()]||(()=>{}),Nw=0;function Tl(t){const[n,s]=v.useState(Tw());return ln(()=>{s(l=>l??String(Nw++))},[t]),t||(n?`radix-${n}`:"")}const Pw=["top","right","bottom","left"],In=Math.min,Lt=Math.max,dc=Math.round,Mo=Math.floor,$a=t=>({x:t,y:t}),zw={left:"right",right:"left",bottom:"top",top:"bottom"};function cf(t,n,s){return Lt(t,In(n,s))}function rn(t,n){return typeof t=="function"?t(n):t}function on(t){return t.split("-")[0]}function Gl(t){return t.split("-")[1]}function Zf(t){return t==="x"?"y":"x"}function Af(t){return t==="y"?"height":"width"}function ka(t){const n=t[0];return n==="t"||n==="b"?"y":"x"}function Ef(t){return Zf(ka(t))}function Rw(t,n,s){s===void 0&&(s=!1);const l=Gl(t),o=Ef(t),u=Af(o);let d=o==="x"?l===(s?"end":"start")?"right":"left":l==="start"?"bottom":"top";return n.reference[u]>n.floating[u]&&(d=Oc(d)),[d,Oc(d)]}function Cw(t){const n=Oc(t);return[uf(t),n,uf(n)]}function uf(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Zg=["left","right"],Ag=["right","left"],Xw=["top","bottom"],_w=["bottom","top"];function Zw(t,n,s){switch(t){case"top":case"bottom":return s?n?Ag:Zg:n?Zg:Ag;case"left":case"right":return n?Xw:_w;default:return[]}}function Aw(t,n,s,l){const o=Gl(t);let u=Zw(on(t),s==="start",l);return o&&(u=u.map(d=>d+"-"+o),n&&(u=u.concat(u.map(uf)))),u}function Oc(t){const n=on(t);return zw[n]+t.slice(n.length)}function Ew(t){return{top:0,right:0,bottom:0,left:0,...t}}function q0(t){return typeof t!="number"?Ew(t):{top:t,right:t,bottom:t,left:t}}function fc(t){const{x:n,y:s,width:l,height:o}=t;return{width:l,height:o,top:s,left:n,right:n+l,bottom:s+o,x:n,y:s}}function Eg(t,n,s){let{reference:l,floating:o}=t;const u=ka(n),d=Ef(n),O=Af(d),h=on(n),p=u==="y",x=l.x+l.width/2-o.width/2,g=l.y+l.height/2-o.height/2,b=l[O]/2-o[O]/2;let y;switch(h){case"top":y={x,y:l.y-o.height};break;case"bottom":y={x,y:l.y+l.height};break;case"right":y={x:l.x+l.width,y:g};break;case"left":y={x:l.x-o.width,y:g};break;default:y={x:l.x,y:l.y}}switch(Gl(n)){case"start":y[d]-=b*(s&&p?-1:1);break;case"end":y[d]+=b*(s&&p?-1:1);break}return y}async function qw(t,n){var s;n===void 0&&(n={});const{x:l,y:o,platform:u,rects:d,elements:O,strategy:h}=t,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:g="floating",altBoundary:b=!1,padding:y=0}=rn(n,t),Q=q0(y),$=O[b?g==="floating"?"reference":"floating":g],j=fc(await u.getClippingRect({element:(s=await(u.isElement==null?void 0:u.isElement($)))==null||s?$:$.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(O.floating)),boundary:p,rootBoundary:x,strategy:h})),R=g==="floating"?{x:l,y:o,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(O.floating)),z=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},Y=fc(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:O,rect:R,offsetParent:N,strategy:h}):R);return{top:(j.top-Y.top+Q.top)/z.y,bottom:(Y.bottom-j.bottom+Q.bottom)/z.y,left:(j.left-Y.left+Q.left)/z.x,right:(Y.right-j.right+Q.right)/z.x}}const Mw=50,Yw=async(t,n,s)=>{const{placement:l="bottom",strategy:o="absolute",middleware:u=[],platform:d}=s,O=d.detectOverflow?d:{...d,detectOverflow:qw},h=await(d.isRTL==null?void 0:d.isRTL(n));let p=await d.getElementRects({reference:t,floating:n,strategy:o}),{x,y:g}=Eg(p,l,h),b=l,y=0;const Q={};for(let w=0;w<u.length;w++){const $=u[w];if(!$)continue;const{name:j,fn:R}=$,{x:N,y:z,data:Y,reset:Z}=await R({x,y:g,initialPlacement:l,placement:b,strategy:o,middlewareData:Q,rects:p,platform:O,elements:{reference:t,floating:n}});x=N??x,g=z??g,Q[j]={...Q[j],...Y},Z&&y<Mw&&(y++,typeof Z=="object"&&(Z.placement&&(b=Z.placement),Z.rects&&(p=Z.rects===!0?await d.getElementRects({reference:t,floating:n,strategy:o}):Z.rects),{x,y:g}=Eg(p,b,h)),w=-1)}return{x,y:g,placement:b,strategy:o,middlewareData:Q}},Uw=t=>({name:"arrow",options:t,async fn(n){const{x:s,y:l,placement:o,rects:u,platform:d,elements:O,middlewareData:h}=n,{element:p,padding:x=0}=rn(t,n)||{};if(p==null)return{};const g=q0(x),b={x:s,y:l},y=Ef(o),Q=Af(y),w=await d.getDimensions(p),$=y==="y",j=$?"top":"left",R=$?"bottom":"right",N=$?"clientHeight":"clientWidth",z=u.reference[Q]+u.reference[y]-b[y]-u.floating[Q],Y=b[y]-u.reference[y],Z=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let C=Z?Z[N]:0;(!C||!await(d.isElement==null?void 0:d.isElement(Z)))&&(C=O.floating[N]||u.floating[Q]);const T=z/2-Y/2,M=C/2-w[Q]/2-1,G=In(g[j],M),ne=In(g[R],M),F=G,ce=C-w[Q]-ne,re=C/2-w[Q]/2+T,I=cf(F,re,ce),P=!h.arrow&&Gl(o)!=null&&re!==I&&u.reference[Q]/2-(re<F?G:ne)-w[Q]/2<0,W=P?re<F?re-F:re-ce:0;return{[y]:b[y]+W,data:{[y]:I,centerOffset:re-I-W,...P&&{alignmentOffset:W}},reset:P}}}),Vw=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(n){var s,l;const{placement:o,middlewareData:u,rects:d,initialPlacement:O,platform:h,elements:p}=n,{mainAxis:x=!0,crossAxis:g=!0,fallbackPlacements:b,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:Q="none",flipAlignment:w=!0,...$}=rn(t,n);if((s=u.arrow)!=null&&s.alignmentOffset)return{};const j=on(o),R=ka(O),N=on(O)===O,z=await(h.isRTL==null?void 0:h.isRTL(p.floating)),Y=b||(N||!w?[Oc(O)]:Cw(O)),Z=Q!=="none";!b&&Z&&Y.push(...Aw(O,w,Q,z));const C=[O,...Y],T=await h.detectOverflow(n,$),M=[];let G=((l=u.flip)==null?void 0:l.overflows)||[];if(x&&M.push(T[j]),g){const re=Rw(o,d,z);M.push(T[re[0]],T[re[1]])}if(G=[...G,{placement:o,overflows:M}],!M.every(re=>re<=0)){var ne,F;const re=(((ne=u.flip)==null?void 0:ne.index)||0)+1,I=C[re];if(I&&(!(g==="alignment"?R!==ka(I):!1)||G.every(E=>ka(E.placement)===R?E.overflows[0]>0:!0)))return{data:{index:re,overflows:G},reset:{placement:I}};let P=(F=G.filter(W=>W.overflows[0]<=0).sort((W,E)=>W.overflows[1]-E.overflows[1])[0])==null?void 0:F.placement;if(!P)switch(y){case"bestFit":{var ce;const W=(ce=G.filter(E=>{if(Z){const oe=ka(E.placement);return oe===R||oe==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(oe=>oe>0).reduce((oe,J)=>oe+J,0)]).sort((E,oe)=>E[1]-oe[1])[0])==null?void 0:ce[0];W&&(P=W);break}case"initialPlacement":P=O;break}if(o!==P)return{reset:{placement:P}}}return{}}}};function qg(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function Mg(t){return Pw.some(n=>t[n]>=0)}const Gw=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(n){const{rects:s,platform:l}=n,{strategy:o="referenceHidden",...u}=rn(t,n);switch(o){case"referenceHidden":{const d=await l.detectOverflow(n,{...u,elementContext:"reference"}),O=qg(d,s.reference);return{data:{referenceHiddenOffsets:O,referenceHidden:Mg(O)}}}case"escaped":{const d=await l.detectOverflow(n,{...u,altBoundary:!0}),O=qg(d,s.floating);return{data:{escapedOffsets:O,escaped:Mg(O)}}}default:return{}}}}},M0=new Set(["left","top"]);async function Lw(t,n){const{placement:s,platform:l,elements:o}=t,u=await(l.isRTL==null?void 0:l.isRTL(o.floating)),d=on(s),O=Gl(s),h=ka(s)==="y",p=M0.has(d)?-1:1,x=u&&h?-1:1,g=rn(n,t);let{mainAxis:b,crossAxis:y,alignmentAxis:Q}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return O&&typeof Q=="number"&&(y=O==="end"?Q*-1:Q),h?{x:y*x,y:b*p}:{x:b*p,y:y*x}}const Dw=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(n){var s,l;const{x:o,y:u,placement:d,middlewareData:O}=n,h=await Lw(n,t);return d===((s=O.offset)==null?void 0:s.placement)&&(l=O.arrow)!=null&&l.alignmentOffset?{}:{x:o+h.x,y:u+h.y,data:{...h,placement:d}}}}},Ww=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(n){const{x:s,y:l,placement:o,platform:u}=n,{mainAxis:d=!0,crossAxis:O=!1,limiter:h={fn:j=>{let{x:R,y:N}=j;return{x:R,y:N}}},...p}=rn(t,n),x={x:s,y:l},g=await u.detectOverflow(n,p),b=ka(on(o)),y=Zf(b);let Q=x[y],w=x[b];if(d){const j=y==="y"?"top":"left",R=y==="y"?"bottom":"right",N=Q+g[j],z=Q-g[R];Q=cf(N,Q,z)}if(O){const j=b==="y"?"top":"left",R=b==="y"?"bottom":"right",N=w+g[j],z=w-g[R];w=cf(N,w,z)}const $=h.fn({...n,[y]:Q,[b]:w});return{...$,data:{x:$.x-s,y:$.y-l,enabled:{[y]:d,[b]:O}}}}}},Bw=function(t){return t===void 0&&(t={}),{options:t,fn(n){const{x:s,y:l,placement:o,rects:u,middlewareData:d}=n,{offset:O=0,mainAxis:h=!0,crossAxis:p=!0}=rn(t,n),x={x:s,y:l},g=ka(o),b=Zf(g);let y=x[b],Q=x[g];const w=rn(O,n),$=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(h){const N=b==="y"?"height":"width",z=u.reference[b]-u.floating[N]+$.mainAxis,Y=u.reference[b]+u.reference[N]-$.mainAxis;y<z?y=z:y>Y&&(y=Y)}if(p){var j,R;const N=b==="y"?"width":"height",z=M0.has(on(o)),Y=u.reference[g]-u.floating[N]+(z&&((j=d.offset)==null?void 0:j[g])||0)+(z?0:$.crossAxis),Z=u.reference[g]+u.reference[N]+(z?0:((R=d.offset)==null?void 0:R[g])||0)-(z?$.crossAxis:0);Q<Y?Q=Y:Q>Z&&(Q=Z)}return{[b]:y,[g]:Q}}}},Hw=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(n){var s,l;const{placement:o,rects:u,platform:d,elements:O}=n,{apply:h=()=>{},...p}=rn(t,n),x=await d.detectOverflow(n,p),g=on(o),b=Gl(o),y=ka(o)==="y",{width:Q,height:w}=u.floating;let $,j;g==="top"||g==="bottom"?($=g,j=b===(await(d.isRTL==null?void 0:d.isRTL(O.floating))?"start":"end")?"left":"right"):(j=g,$=b==="end"?"top":"bottom");const R=w-x.top-x.bottom,N=Q-x.left-x.right,z=In(w-x[$],R),Y=In(Q-x[j],N),Z=!n.middlewareData.shift;let C=z,T=Y;if((s=n.middlewareData.shift)!=null&&s.enabled.x&&(T=N),(l=n.middlewareData.shift)!=null&&l.enabled.y&&(C=R),Z&&!b){const G=Lt(x.left,0),ne=Lt(x.right,0),F=Lt(x.top,0),ce=Lt(x.bottom,0);y?T=Q-2*(G!==0||ne!==0?G+ne:Lt(x.left,x.right)):C=w-2*(F!==0||ce!==0?F+ce:Lt(x.top,x.bottom))}await h({...n,availableWidth:T,availableHeight:C});const M=await d.getDimensions(O.floating);return Q!==M.width||w!==M.height?{reset:{rects:!0}}:{}}}};function Zc(){return typeof window<"u"}function Ll(t){return Y0(t)?(t.nodeName||"").toLowerCase():"#document"}function Wt(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function Na(t){var n;return(n=(Y0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function Y0(t){return Zc()?t instanceof Node||t instanceof Wt(t).Node:!1}function ma(t){return Zc()?t instanceof Element||t instanceof Wt(t).Element:!1}function On(t){return Zc()?t instanceof HTMLElement||t instanceof Wt(t).HTMLElement:!1}function Yg(t){return!Zc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Wt(t).ShadowRoot}function fi(t){const{overflow:n,overflowX:s,overflowY:l,display:o}=pa(t);return/auto|scroll|overlay|hidden|clip/.test(n+l+s)&&o!=="inline"&&o!=="contents"}function Iw(t){return/^(table|td|th)$/.test(Ll(t))}function Ac(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Fw=/transform|translate|scale|rotate|perspective|filter/,Kw=/paint|layout|strict|content/,Ss=t=>!!t&&t!=="none";let gO;function qf(t){const n=ma(t)?pa(t):t;return Ss(n.transform)||Ss(n.translate)||Ss(n.scale)||Ss(n.rotate)||Ss(n.perspective)||!Mf()&&(Ss(n.backdropFilter)||Ss(n.filter))||Fw.test(n.willChange||"")||Kw.test(n.contain||"")}function Jw(t){let n=Fn(t);for(;On(n)&&!Zl(n);){if(qf(n))return n;if(Ac(n))return null;n=Fn(n)}return null}function Mf(){return gO==null&&(gO=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),gO}function Zl(t){return/^(html|body|#document)$/.test(Ll(t))}function pa(t){return Wt(t).getComputedStyle(t)}function Ec(t){return ma(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Fn(t){if(Ll(t)==="html")return t;const n=t.assignedSlot||t.parentNode||Yg(t)&&t.host||Na(t);return Yg(n)?n.host:n}function U0(t){const n=Fn(t);return Zl(n)?t.ownerDocument?t.ownerDocument.body:t.body:On(n)&&fi(n)?n:U0(n)}function ei(t,n,s){var l;n===void 0&&(n=[]),s===void 0&&(s=!0);const o=U0(t),u=o===((l=t.ownerDocument)==null?void 0:l.body),d=Wt(o);if(u){const O=df(d);return n.concat(d,d.visualViewport||[],fi(o)?o:[],O&&s?ei(O):[])}else return n.concat(o,ei(o,[],s))}function df(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function V0(t){const n=pa(t);let s=parseFloat(n.width)||0,l=parseFloat(n.height)||0;const o=On(t),u=o?t.offsetWidth:s,d=o?t.offsetHeight:l,O=dc(s)!==u||dc(l)!==d;return O&&(s=u,l=d),{width:s,height:l,$:O}}function Yf(t){return ma(t)?t:t.contextElement}function Nl(t){const n=Yf(t);if(!On(n))return $a(1);const s=n.getBoundingClientRect(),{width:l,height:o,$:u}=V0(n);let d=(u?dc(s.width):s.width)/l,O=(u?dc(s.height):s.height)/o;return(!d||!Number.isFinite(d))&&(d=1),(!O||!Number.isFinite(O))&&(O=1),{x:d,y:O}}const ek=$a(0);function G0(t){const n=Wt(t);return!Mf()||!n.visualViewport?ek:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function tk(t,n,s){return n===void 0&&(n=!1),!s||n&&s!==Wt(t)?!1:n}function $s(t,n,s,l){n===void 0&&(n=!1),s===void 0&&(s=!1);const o=t.getBoundingClientRect(),u=Yf(t);let d=$a(1);n&&(l?ma(l)&&(d=Nl(l)):d=Nl(t));const O=tk(u,s,l)?G0(u):$a(0);let h=(o.left+O.x)/d.x,p=(o.top+O.y)/d.y,x=o.width/d.x,g=o.height/d.y;if(u){const b=Wt(u),y=l&&ma(l)?Wt(l):l;let Q=b,w=df(Q);for(;w&&l&&y!==Q;){const $=Nl(w),j=w.getBoundingClientRect(),R=pa(w),N=j.left+(w.clientLeft+parseFloat(R.paddingLeft))*$.x,z=j.top+(w.clientTop+parseFloat(R.paddingTop))*$.y;h*=$.x,p*=$.y,x*=$.x,g*=$.y,h+=N,p+=z,Q=Wt(w),w=df(Q)}}return fc({width:x,height:g,x:h,y:p})}function qc(t,n){const s=Ec(t).scrollLeft;return n?n.left+s:$s(Na(t)).left+s}function L0(t,n){const s=t.getBoundingClientRect(),l=s.left+n.scrollLeft-qc(t,s),o=s.top+n.scrollTop;return{x:l,y:o}}function ak(t){let{elements:n,rect:s,offsetParent:l,strategy:o}=t;const u=o==="fixed",d=Na(l),O=n?Ac(n.floating):!1;if(l===d||O&&u)return s;let h={scrollLeft:0,scrollTop:0},p=$a(1);const x=$a(0),g=On(l);if((g||!g&&!u)&&((Ll(l)!=="body"||fi(d))&&(h=Ec(l)),g)){const y=$s(l);p=Nl(l),x.x=y.x+l.clientLeft,x.y=y.y+l.clientTop}const b=d&&!g&&!u?L0(d,h):$a(0);return{width:s.width*p.x,height:s.height*p.y,x:s.x*p.x-h.scrollLeft*p.x+x.x+b.x,y:s.y*p.y-h.scrollTop*p.y+x.y+b.y}}function nk(t){return Array.from(t.getClientRects())}function sk(t){const n=Na(t),s=Ec(t),l=t.ownerDocument.body,o=Lt(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),u=Lt(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight);let d=-s.scrollLeft+qc(t);const O=-s.scrollTop;return pa(l).direction==="rtl"&&(d+=Lt(n.clientWidth,l.clientWidth)-o),{width:o,height:u,x:d,y:O}}const Ug=25;function lk(t,n){const s=Wt(t),l=Na(t),o=s.visualViewport;let u=l.clientWidth,d=l.clientHeight,O=0,h=0;if(o){u=o.width,d=o.height;const x=Mf();(!x||x&&n==="fixed")&&(O=o.offsetLeft,h=o.offsetTop)}const p=qc(l);if(p<=0){const x=l.ownerDocument,g=x.body,b=getComputedStyle(g),y=x.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,Q=Math.abs(l.clientWidth-g.clientWidth-y);Q<=Ug&&(u-=Q)}else p<=Ug&&(u+=p);return{width:u,height:d,x:O,y:h}}function rk(t,n){const s=$s(t,!0,n==="fixed"),l=s.top+t.clientTop,o=s.left+t.clientLeft,u=On(t)?Nl(t):$a(1),d=t.clientWidth*u.x,O=t.clientHeight*u.y,h=o*u.x,p=l*u.y;return{width:d,height:O,x:h,y:p}}function Vg(t,n,s){let l;if(n==="viewport")l=lk(t,s);else if(n==="document")l=sk(Na(t));else if(ma(n))l=rk(n,s);else{const o=G0(t);l={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return fc(l)}function D0(t,n){const s=Fn(t);return s===n||!ma(s)||Zl(s)?!1:pa(s).position==="fixed"||D0(s,n)}function ik(t,n){const s=n.get(t);if(s)return s;let l=ei(t,[],!1).filter(O=>ma(O)&&Ll(O)!=="body"),o=null;const u=pa(t).position==="fixed";let d=u?Fn(t):t;for(;ma(d)&&!Zl(d);){const O=pa(d),h=qf(d);!h&&O.position==="fixed"&&(o=null),(u?!h&&!o:!h&&O.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||fi(d)&&!h&&D0(t,d))?l=l.filter(x=>x!==d):o=O,d=Fn(d)}return n.set(t,l),l}function ok(t){let{element:n,boundary:s,rootBoundary:l,strategy:o}=t;const d=[...s==="clippingAncestors"?Ac(n)?[]:ik(n,this._c):[].concat(s),l],O=Vg(n,d[0],o);let h=O.top,p=O.right,x=O.bottom,g=O.left;for(let b=1;b<d.length;b++){const y=Vg(n,d[b],o);h=Lt(y.top,h),p=In(y.right,p),x=In(y.bottom,x),g=Lt(y.left,g)}return{width:p-g,height:x-h,x:g,y:h}}function ck(t){const{width:n,height:s}=V0(t);return{width:n,height:s}}function uk(t,n,s){const l=On(n),o=Na(n),u=s==="fixed",d=$s(t,!0,u,n);let O={scrollLeft:0,scrollTop:0};const h=$a(0);function p(){h.x=qc(o)}if(l||!l&&!u)if((Ll(n)!=="body"||fi(o))&&(O=Ec(n)),l){const y=$s(n,!0,u,n);h.x=y.x+n.clientLeft,h.y=y.y+n.clientTop}else o&&p();u&&!l&&o&&p();const x=o&&!l&&!u?L0(o,O):$a(0),g=d.left+O.scrollLeft-h.x-x.x,b=d.top+O.scrollTop-h.y-x.y;return{x:g,y:b,width:d.width,height:d.height}}function bO(t){return pa(t).position==="static"}function Gg(t,n){if(!On(t)||pa(t).position==="fixed")return null;if(n)return n(t);let s=t.offsetParent;return Na(t)===s&&(s=s.ownerDocument.body),s}function W0(t,n){const s=Wt(t);if(Ac(t))return s;if(!On(t)){let o=Fn(t);for(;o&&!Zl(o);){if(ma(o)&&!bO(o))return o;o=Fn(o)}return s}let l=Gg(t,n);for(;l&&Iw(l)&&bO(l);)l=Gg(l,n);return l&&Zl(l)&&bO(l)&&!qf(l)?s:l||Jw(t)||s}const dk=async function(t){const n=this.getOffsetParent||W0,s=this.getDimensions,l=await s(t.floating);return{reference:uk(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Ok(t){return pa(t).direction==="rtl"}const fk={convertOffsetParentRelativeRectToViewportRelativeRect:ak,getDocumentElement:Na,getClippingRect:ok,getOffsetParent:W0,getElementRects:dk,getClientRects:nk,getDimensions:ck,getScale:Nl,isElement:ma,isRTL:Ok};function B0(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function hk(t,n){let s=null,l;const o=Na(t);function u(){var O;clearTimeout(l),(O=s)==null||O.disconnect(),s=null}function d(O,h){O===void 0&&(O=!1),h===void 0&&(h=1),u();const p=t.getBoundingClientRect(),{left:x,top:g,width:b,height:y}=p;if(O||n(),!b||!y)return;const Q=Mo(g),w=Mo(o.clientWidth-(x+b)),$=Mo(o.clientHeight-(g+y)),j=Mo(x),N={rootMargin:-Q+"px "+-w+"px "+-$+"px "+-j+"px",threshold:Lt(0,In(1,h))||1};let z=!0;function Y(Z){const C=Z[0].intersectionRatio;if(C!==h){if(!z)return d();C?d(!1,C):l=setTimeout(()=>{d(!1,1e-7)},1e3)}C===1&&!B0(p,t.getBoundingClientRect())&&d(),z=!1}try{s=new IntersectionObserver(Y,{...N,root:o.ownerDocument})}catch{s=new IntersectionObserver(Y,N)}s.observe(t)}return d(!0),u}function mk(t,n,s,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:O=typeof IntersectionObserver=="function",animationFrame:h=!1}=l,p=Yf(t),x=o||u?[...p?ei(p):[],...n?ei(n):[]]:[];x.forEach(j=>{o&&j.addEventListener("scroll",s,{passive:!0}),u&&j.addEventListener("resize",s)});const g=p&&O?hk(p,s):null;let b=-1,y=null;d&&(y=new ResizeObserver(j=>{let[R]=j;R&&R.target===p&&y&&n&&(y.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=y)==null||N.observe(n)})),s()}),p&&!h&&y.observe(p),n&&y.observe(n));let Q,w=h?$s(t):null;h&&$();function $(){const j=$s(t);w&&!B0(w,j)&&s(),w=j,Q=requestAnimationFrame($)}return s(),()=>{var j;x.forEach(R=>{o&&R.removeEventListener("scroll",s),u&&R.removeEventListener("resize",s)}),g==null||g(),(j=y)==null||j.disconnect(),y=null,h&&cancelAnimationFrame(Q)}}const pk=Dw,xk=Ww,gk=Vw,bk=Hw,vk=Gw,Lg=Uw,yk=Bw,Sk=(t,n,s)=>{const l=new Map,o={platform:fk,...s},u={...o.platform,_c:l};return Yw(t,n,{...o,platform:u})};var Qk=typeof document<"u",jk=function(){},ac=Qk?v.useLayoutEffect:jk;function hc(t,n){if(t===n)return!0;if(typeof t!=typeof n)return!1;if(typeof t=="function"&&t.toString()===n.toString())return!0;let s,l,o;if(t&&n&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==n.length)return!1;for(l=s;l--!==0;)if(!hc(t[l],n[l]))return!1;return!0}if(o=Object.keys(t),s=o.length,s!==Object.keys(n).length)return!1;for(l=s;l--!==0;)if(!{}.hasOwnProperty.call(n,o[l]))return!1;for(l=s;l--!==0;){const u=o[l];if(!(u==="_owner"&&t.$$typeof)&&!hc(t[u],n[u]))return!1}return!0}return t!==t&&n!==n}function H0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Dg(t,n){const s=H0(t);return Math.round(n*s)/s}function vO(t){const n=v.useRef(t);return ac(()=>{n.current=t}),n}function wk(t){t===void 0&&(t={});const{placement:n="bottom",strategy:s="absolute",middleware:l=[],platform:o,elements:{reference:u,floating:d}={},transform:O=!0,whileElementsMounted:h,open:p}=t,[x,g]=v.useState({x:0,y:0,strategy:s,placement:n,middlewareData:{},isPositioned:!1}),[b,y]=v.useState(l);hc(b,l)||y(l);const[Q,w]=v.useState(null),[$,j]=v.useState(null),R=v.useCallback(E=>{E!==Z.current&&(Z.current=E,w(E))},[]),N=v.useCallback(E=>{E!==C.current&&(C.current=E,j(E))},[]),z=u||Q,Y=d||$,Z=v.useRef(null),C=v.useRef(null),T=v.useRef(x),M=h!=null,G=vO(h),ne=vO(o),F=vO(p),ce=v.useCallback(()=>{if(!Z.current||!C.current)return;const E={placement:n,strategy:s,middleware:b};ne.current&&(E.platform=ne.current),Sk(Z.current,C.current,E).then(oe=>{const J={...oe,isPositioned:F.current!==!1};re.current&&!hc(T.current,J)&&(T.current=J,$0.flushSync(()=>{g(J)}))})},[b,n,s,ne,F]);ac(()=>{p===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,g(E=>({...E,isPositioned:!1})))},[p]);const re=v.useRef(!1);ac(()=>(re.current=!0,()=>{re.current=!1}),[]),ac(()=>{if(z&&(Z.current=z),Y&&(C.current=Y),z&&Y){if(G.current)return G.current(z,Y,ce);ce()}},[z,Y,ce,G,M]);const I=v.useMemo(()=>({reference:Z,floating:C,setReference:R,setFloating:N}),[R,N]),P=v.useMemo(()=>({reference:z,floating:Y}),[z,Y]),W=v.useMemo(()=>{const E={position:s,left:0,top:0};if(!P.floating)return E;const oe=Dg(P.floating,x.x),J=Dg(P.floating,x.y);return O?{...E,transform:"translate("+oe+"px, "+J+"px)",...H0(P.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:oe,top:J}},[s,O,P.floating,x.x,x.y]);return v.useMemo(()=>({...x,update:ce,refs:I,elements:P,floatingStyles:W}),[x,ce,I,P,W])}const kk=t=>{function n(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:l,padding:o}=typeof t=="function"?t(s):t;return l&&n(l)?l.current!=null?Lg({element:l.current,padding:o}).fn(s):{}:l?Lg({element:l,padding:o}).fn(s):{}}}},$k=(t,n)=>{const s=pk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Tk=(t,n)=>{const s=xk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Nk=(t,n)=>({fn:yk(t).fn,options:[t,n]}),Pk=(t,n)=>{const s=gk(t);return{name:s.name,fn:s.fn,options:[t,n]}},zk=(t,n)=>{const s=bk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Rk=(t,n)=>{const s=vk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Ck=(t,n)=>{const s=kk(t);return{name:s.name,fn:s.fn,options:[t,n]}};var Xk="Arrow",I0=v.forwardRef((t,n)=>{const{children:s,width:l=10,height:o=5,...u}=t;return r.jsx(Be.svg,{...u,ref:n,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:r.jsx("polygon",{points:"0,0 30,0 15,10"})})});I0.displayName=Xk;var _k=I0;function Zk(t){const[n,s]=v.useState(void 0);return ln(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const u=o[0];let d,O;if("borderBoxSize"in u){const h=u.borderBoxSize,p=Array.isArray(h)?h[0]:h;d=p.inlineSize,O=p.blockSize}else d=t.offsetWidth,O=t.offsetHeight;s({width:d,height:O})});return l.observe(t,{box:"border-box"}),()=>l.unobserve(t)}else s(void 0)},[t]),n}var Uf="Popper",[F0,K0]=Xs(Uf),[Ak,J0]=F0(Uf),eb=t=>{const{__scopePopper:n,children:s}=t,[l,o]=v.useState(null);return r.jsx(Ak,{scope:n,anchor:l,onAnchorChange:o,children:s})};eb.displayName=Uf;var tb="PopperAnchor",ab=v.forwardRef((t,n)=>{const{__scopePopper:s,virtualRef:l,...o}=t,u=J0(tb,s),d=v.useRef(null),O=it(n,d),h=v.useRef(null);return v.useEffect(()=>{const p=h.current;h.current=(l==null?void 0:l.current)||d.current,p!==h.current&&u.onAnchorChange(h.current)}),l?null:r.jsx(Be.div,{...o,ref:O})});ab.displayName=tb;var Vf="PopperContent",[Ek,qk]=F0(Vf),nb=v.forwardRef((t,n)=>{var Ce,Ot,Ae,He,bt,ca;const{__scopePopper:s,side:l="bottom",sideOffset:o=0,align:u="center",alignOffset:d=0,arrowPadding:O=0,avoidCollisions:h=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:y="optimized",onPlaced:Q,...w}=t,$=J0(Vf,s),[j,R]=v.useState(null),N=it(n,Bt=>R(Bt)),[z,Y]=v.useState(null),Z=Zk(z),C=(Z==null?void 0:Z.width)??0,T=(Z==null?void 0:Z.height)??0,M=l+(u!=="center"?"-"+u:""),G=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},ne=Array.isArray(p)?p:[p],F=ne.length>0,ce={padding:G,boundary:ne.filter(Yk),altBoundary:F},{refs:re,floatingStyles:I,placement:P,isPositioned:W,middlewareData:E}=wk({strategy:"fixed",placement:M,whileElementsMounted:(...Bt)=>mk(...Bt,{animationFrame:y==="always"}),elements:{reference:$.anchor},middleware:[$k({mainAxis:o+T,alignmentAxis:d}),h&&Tk({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?Nk():void 0,...ce}),h&&Pk({...ce}),zk({...ce,apply:({elements:Bt,rects:yt,availableWidth:Il,availableHeight:Fl})=>{const{width:eu,height:yi}=yt.reference,hn=Bt.floating.style;hn.setProperty("--radix-popper-available-width",`${Il}px`),hn.setProperty("--radix-popper-available-height",`${Fl}px`),hn.setProperty("--radix-popper-anchor-width",`${eu}px`),hn.setProperty("--radix-popper-anchor-height",`${yi}px`)}}),z&&Ck({element:z,padding:O}),Uk({arrowWidth:C,arrowHeight:T}),b&&Rk({strategy:"referenceHidden",...ce})]}),[oe,J]=rb(P),we=zt(Q);ln(()=>{W&&(we==null||we())},[W,we]);const ye=(Ce=E.arrow)==null?void 0:Ce.x,ve=(Ot=E.arrow)==null?void 0:Ot.y,Re=((Ae=E.arrow)==null?void 0:Ae.centerOffset)!==0,[B,ue]=v.useState();return ln(()=>{j&&ue(window.getComputedStyle(j).zIndex)},[j]),r.jsx("div",{ref:re.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:W?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:B,"--radix-popper-transform-origin":[(He=E.transformOrigin)==null?void 0:He.x,(bt=E.transformOrigin)==null?void 0:bt.y].join(" "),...((ca=E.hide)==null?void 0:ca.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:r.jsx(Ek,{scope:s,placedSide:oe,onArrowChange:Y,arrowX:ye,arrowY:ve,shouldHideArrow:Re,children:r.jsx(Be.div,{"data-side":oe,"data-align":J,...w,ref:N,style:{...w.style,animation:W?void 0:"none"}})})})});nb.displayName=Vf;var sb="PopperArrow",Mk={top:"bottom",right:"left",bottom:"top",left:"right"},lb=v.forwardRef(function(n,s){const{__scopePopper:l,...o}=n,u=qk(sb,l),d=Mk[u.placedSide];return r.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:r.jsx(_k,{...o,ref:s,style:{...o.style,display:"block"}})})});lb.displayName=sb;function Yk(t){return t!==null}var Uk=t=>({name:"transformOrigin",options:t,fn(n){var $,j,R;const{placement:s,rects:l,middlewareData:o}=n,d=(($=o.arrow)==null?void 0:$.centerOffset)!==0,O=d?0:t.arrowWidth,h=d?0:t.arrowHeight,[p,x]=rb(s),g={start:"0%",center:"50%",end:"100%"}[x],b=(((j=o.arrow)==null?void 0:j.x)??0)+O/2,y=(((R=o.arrow)==null?void 0:R.y)??0)+h/2;let Q="",w="";return p==="bottom"?(Q=d?g:`${b}px`,w=`${-h}px`):p==="top"?(Q=d?g:`${b}px`,w=`${l.floating.height+h}px`):p==="right"?(Q=`${-h}px`,w=d?g:`${y}px`):p==="left"&&(Q=`${l.floating.width+h}px`,w=d?g:`${y}px`),{data:{x:Q,y:w}}}});function rb(t){const[n,s="center"]=t.split("-");return[n,s]}var Vk=eb,Gk=ab,Lk=nb,Dk=lb,Wk="Portal",Gf=v.forwardRef((t,n)=>{var O;const{container:s,...l}=t,[o,u]=v.useState(!1);ln(()=>u(!0),[]);const d=s||o&&((O=globalThis==null?void 0:globalThis.document)==null?void 0:O.body);return d?Sj.createPortal(r.jsx(Be.div,{...l,ref:n}),d):null});Gf.displayName=Wk;function Bk(t,n){return v.useReducer((s,l)=>n[s][l]??s,t)}var ga=t=>{const{present:n,children:s}=t,l=Hk(n),o=typeof s=="function"?s({present:l.isPresent}):v.Children.only(s),u=it(l.ref,Ik(o));return typeof s=="function"||l.isPresent?v.cloneElement(o,{ref:u}):null};ga.displayName="Presence";function Hk(t){const[n,s]=v.useState(),l=v.useRef(null),o=v.useRef(t),u=v.useRef("none"),d=t?"mounted":"unmounted",[O,h]=Bk(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const p=Yo(l.current);u.current=O==="mounted"?p:"none"},[O]),ln(()=>{const p=l.current,x=o.current;if(x!==t){const b=u.current,y=Yo(p);t?h("MOUNT"):y==="none"||(p==null?void 0:p.display)==="none"?h("UNMOUNT"):h(x&&b!==y?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,h]),ln(()=>{if(n){let p;const x=n.ownerDocument.defaultView??window,g=y=>{const w=Yo(l.current).includes(CSS.escape(y.animationName));if(y.target===n&&w&&(h("ANIMATION_END"),!o.current)){const $=n.style.animationFillMode;n.style.animationFillMode="forwards",p=x.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=$)})}},b=y=>{y.target===n&&(u.current=Yo(l.current))};return n.addEventListener("animationstart",b),n.addEventListener("animationcancel",g),n.addEventListener("animationend",g),()=>{x.clearTimeout(p),n.removeEventListener("animationstart",b),n.removeEventListener("animationcancel",g),n.removeEventListener("animationend",g)}}else h("ANIMATION_END")},[n,h]),{isPresent:["mounted","unmountSuspended"].includes(O),ref:v.useCallback(p=>{l.current=p?getComputedStyle(p):null,s(p)},[])}}function Yo(t){return(t==null?void 0:t.animationName)||"none"}function Ik(t){var l,o;let n=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=n&&"isReactWarning"in n&&n.isReactWarning;return s?t.ref:(n=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=n&&"isReactWarning"in n&&n.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var Fk=j0[" useInsertionEffect ".trim().toString()]||ln;function Mc({prop:t,defaultProp:n,onChange:s=()=>{},caller:l}){const[o,u,d]=Kk({defaultProp:n,onChange:s}),O=t!==void 0,h=O?t:o;{const x=v.useRef(t!==void 0);v.useEffect(()=>{const g=x.current;g!==O&&console.warn(`${l} is changing from ${g?"controlled":"uncontrolled"} to ${O?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=O},[O,l])}const p=v.useCallback(x=>{var g;if(O){const b=Jk(x)?x(t):x;b!==t&&((g=d.current)==null||g.call(d,b))}else u(x)},[O,t,u,d]);return[h,p]}function Kk({defaultProp:t,onChange:n}){const[s,l]=v.useState(t),o=v.useRef(s),u=v.useRef(n);return Fk(()=>{u.current=n},[n]),v.useEffect(()=>{var d;o.current!==s&&((d=u.current)==null||d.call(u,s),o.current=s)},[s,o]),[s,l,u]}function Jk(t){return typeof t=="function"}var e$=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),t$="VisuallyHidden",ib=v.forwardRef((t,n)=>r.jsx(Be.span,{...t,ref:n,style:{...e$,...t.style}}));ib.displayName=t$;var a$=ib,[Yc]=Xs("Tooltip",[K0]),Uc=K0(),ob="TooltipProvider",n$=700,Of="tooltip.open",[s$,Lf]=Yc(ob),cb=t=>{const{__scopeTooltip:n,delayDuration:s=n$,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:u}=t,d=v.useRef(!0),O=v.useRef(!1),h=v.useRef(0);return v.useEffect(()=>{const p=h.current;return()=>window.clearTimeout(p)},[]),r.jsx(s$,{scope:n,isOpenDelayedRef:d,delayDuration:s,onOpen:v.useCallback(()=>{window.clearTimeout(h.current),d.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>d.current=!0,l)},[l]),isPointerInTransitRef:O,onPointerInTransitChange:v.useCallback(p=>{O.current=p},[]),disableHoverableContent:o,children:u})};cb.displayName=ob;var ti="Tooltip",[l$,hi]=Yc(ti),ub=t=>{const{__scopeTooltip:n,children:s,open:l,defaultOpen:o,onOpenChange:u,disableHoverableContent:d,delayDuration:O}=t,h=Lf(ti,t.__scopeTooltip),p=Uc(n),[x,g]=v.useState(null),b=Tl(),y=v.useRef(0),Q=d??h.disableHoverableContent,w=O??h.delayDuration,$=v.useRef(!1),[j,R]=Mc({prop:l,defaultProp:o??!1,onChange:C=>{C?(h.onOpen(),document.dispatchEvent(new CustomEvent(Of))):h.onClose(),u==null||u(C)},caller:ti}),N=v.useMemo(()=>j?$.current?"delayed-open":"instant-open":"closed",[j]),z=v.useCallback(()=>{window.clearTimeout(y.current),y.current=0,$.current=!1,R(!0)},[R]),Y=v.useCallback(()=>{window.clearTimeout(y.current),y.current=0,R(!1)},[R]),Z=v.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{$.current=!0,R(!0),y.current=0},w)},[w,R]);return v.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),r.jsx(Vk,{...p,children:r.jsx(l$,{scope:n,contentId:b,open:j,stateAttribute:N,trigger:x,onTriggerChange:g,onTriggerEnter:v.useCallback(()=>{h.isOpenDelayedRef.current?Z():z()},[h.isOpenDelayedRef,Z,z]),onTriggerLeave:v.useCallback(()=>{Q?Y():(window.clearTimeout(y.current),y.current=0)},[Y,Q]),onOpen:z,onClose:Y,disableHoverableContent:Q,children:s})})};ub.displayName=ti;var ff="TooltipTrigger",db=v.forwardRef((t,n)=>{const{__scopeTooltip:s,...l}=t,o=hi(ff,s),u=Lf(ff,s),d=Uc(s),O=v.useRef(null),h=it(n,O,o.onTriggerChange),p=v.useRef(!1),x=v.useRef(!1),g=v.useCallback(()=>p.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),r.jsx(Gk,{asChild:!0,...d,children:r.jsx(Be.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:h,onPointerMove:qe(t.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!u.isPointerInTransitRef.current&&(o.onTriggerEnter(),x.current=!0)}),onPointerLeave:qe(t.onPointerLeave,()=>{o.onTriggerLeave(),x.current=!1}),onPointerDown:qe(t.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:qe(t.onFocus,()=>{p.current||o.onOpen()}),onBlur:qe(t.onBlur,o.onClose),onClick:qe(t.onClick,o.onClose)})})});db.displayName=ff;var Df="TooltipPortal",[r$,i$]=Yc(Df,{forceMount:void 0}),Ob=t=>{const{__scopeTooltip:n,forceMount:s,children:l,container:o}=t,u=hi(Df,n);return r.jsx(r$,{scope:n,forceMount:s,children:r.jsx(ga,{present:s||u.open,children:r.jsx(Gf,{asChild:!0,container:o,children:l})})})};Ob.displayName=Df;var Al="TooltipContent",fb=v.forwardRef((t,n)=>{const s=i$(Al,t.__scopeTooltip),{forceMount:l=s.forceMount,side:o="top",...u}=t,d=hi(Al,t.__scopeTooltip);return r.jsx(ga,{present:l||d.open,children:d.disableHoverableContent?r.jsx(hb,{side:o,...u,ref:n}):r.jsx(o$,{side:o,...u,ref:n})})}),o$=v.forwardRef((t,n)=>{const s=hi(Al,t.__scopeTooltip),l=Lf(Al,t.__scopeTooltip),o=v.useRef(null),u=it(n,o),[d,O]=v.useState(null),{trigger:h,onClose:p}=s,x=o.current,{onPointerInTransitChange:g}=l,b=v.useCallback(()=>{O(null),g(!1)},[g]),y=v.useCallback((Q,w)=>{const $=Q.currentTarget,j={x:Q.clientX,y:Q.clientY},R=O$(j,$.getBoundingClientRect()),N=f$(j,R),z=h$(w.getBoundingClientRect()),Y=p$([...N,...z]);O(Y),g(!0)},[g]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(h&&x){const Q=$=>y($,x),w=$=>y($,h);return h.addEventListener("pointerleave",Q),x.addEventListener("pointerleave",w),()=>{h.removeEventListener("pointerleave",Q),x.removeEventListener("pointerleave",w)}}},[h,x,y,b]),v.useEffect(()=>{if(d){const Q=w=>{const $=w.target,j={x:w.clientX,y:w.clientY},R=(h==null?void 0:h.contains($))||(x==null?void 0:x.contains($)),N=!m$(j,d);R?b():N&&(b(),p())};return document.addEventListener("pointermove",Q),()=>document.removeEventListener("pointermove",Q)}},[h,x,d,p,b]),r.jsx(hb,{...t,ref:u})}),[c$,u$]=Yc(ti,{isInside:!1}),d$=hw("TooltipContent"),hb=v.forwardRef((t,n)=>{const{__scopeTooltip:s,children:l,"aria-label":o,onEscapeKeyDown:u,onPointerDownOutside:d,...O}=t,h=hi(Al,s),p=Uc(s),{onClose:x}=h;return v.useEffect(()=>(document.addEventListener(Of,x),()=>document.removeEventListener(Of,x)),[x]),v.useEffect(()=>{if(h.trigger){const g=b=>{const y=b.target;y!=null&&y.contains(h.trigger)&&x()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[h.trigger,x]),r.jsx(_f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:g=>g.preventDefault(),onDismiss:x,children:r.jsxs(Lk,{"data-state":h.stateAttribute,...p,...O,ref:n,style:{...O.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[r.jsx(d$,{children:l}),r.jsx(c$,{scope:s,isInside:!0,children:r.jsx(a$,{id:h.contentId,role:"tooltip",children:o||l})})]})})});fb.displayName=Al;var mb="TooltipArrow",pb=v.forwardRef((t,n)=>{const{__scopeTooltip:s,...l}=t,o=Uc(s);return u$(mb,s).isInside?null:r.jsx(Dk,{...o,...l,ref:n})});pb.displayName=mb;function O$(t,n){const s=Math.abs(n.top-t.y),l=Math.abs(n.bottom-t.y),o=Math.abs(n.right-t.x),u=Math.abs(n.left-t.x);switch(Math.min(s,l,o,u)){case u:return"left";case o:return"right";case s:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function f$(t,n,s=5){const l=[];switch(n){case"top":l.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":l.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":l.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":l.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return l}function h$(t){const{top:n,right:s,bottom:l,left:o}=t;return[{x:o,y:n},{x:s,y:n},{x:s,y:l},{x:o,y:l}]}function m$(t,n){const{x:s,y:l}=t;let o=!1;for(let u=0,d=n.length-1;u<n.length;d=u++){const O=n[u],h=n[d],p=O.x,x=O.y,g=h.x,b=h.y;x>l!=b>l&&s<(g-p)*(l-x)/(b-x)+p&&(o=!o)}return o}function p$(t){const n=t.slice();return n.sort((s,l)=>s.x<l.x?-1:s.x>l.x?1:s.y<l.y?-1:s.y>l.y?1:0),x$(n)}function x$(t){if(t.length<=1)return t.slice();const n=[];for(let l=0;l<t.length;l++){const o=t[l];for(;n.length>=2;){const u=n[n.length-1],d=n[n.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))n.pop();else break}n.push(o)}n.pop();const s=[];for(let l=t.length-1;l>=0;l--){const o=t[l];for(;s.length>=2;){const u=s[s.length-1],d=s[s.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))s.pop();else break}s.push(o)}return s.pop(),n.length===1&&s.length===1&&n[0].x===s[0].x&&n[0].y===s[0].y?n:n.concat(s)}var g$=cb,b$=ub,v$=db,y$=Ob,S$=fb,Q$=pb;function xb(t){var n,s,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(n=0;n<o;n++)t[n]&&(s=xb(t[n]))&&(l&&(l+=" "),l+=s)}else for(s in t)t[s]&&(l&&(l+=" "),l+=s);return l}function j$(){for(var t,n,s=0,l="",o=arguments.length;s<o;s++)(t=arguments[s])&&(n=xb(t))&&(l&&(l+=" "),l+=n);return l}const w$=(t,n)=>{const s=new Array(t.length+n.length);for(let l=0;l<t.length;l++)s[l]=t[l];for(let l=0;l<n.length;l++)s[t.length+l]=n[l];return s},k$=(t,n)=>({classGroupId:t,validator:n}),gb=(t=new Map,n=null,s)=>({nextPart:t,validators:n,classGroupId:s}),mc="-",Wg=[],$$="arbitrary..",T$=t=>{const n=P$(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return N$(d);const O=d.split(mc),h=O[0]===""&&O.length>1?1:0;return bb(O,h,n)},getConflictingClassGroupIds:(d,O)=>{if(O){const h=l[d],p=s[d];return h?p?w$(p,h):h:p||Wg}return s[d]||Wg}}},bb=(t,n,s)=>{if(t.length-n===0)return s.classGroupId;const o=t[n],u=s.nextPart.get(o);if(u){const p=bb(t,n+1,u);if(p)return p}const d=s.validators;if(d===null)return;const O=n===0?t.join(mc):t.slice(n).join(mc),h=d.length;for(let p=0;p<h;p++){const x=d[p];if(x.validator(O))return x.classGroupId}},N$=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=t.slice(1,-1),s=n.indexOf(":"),l=n.slice(0,s);return l?$$+l:void 0})(),P$=t=>{const{theme:n,classGroups:s}=t;return z$(s,n)},z$=(t,n)=>{const s=gb();for(const l in t){const o=t[l];Wf(o,s,l,n)}return s},Wf=(t,n,s,l)=>{const o=t.length;for(let u=0;u<o;u++){const d=t[u];R$(d,n,s,l)}},R$=(t,n,s,l)=>{if(typeof t=="string"){C$(t,n,s);return}if(typeof t=="function"){X$(t,n,s,l);return}_$(t,n,s,l)},C$=(t,n,s)=>{const l=t===""?n:vb(n,t);l.classGroupId=s},X$=(t,n,s,l)=>{if(Z$(t)){Wf(t(l),n,s,l);return}n.validators===null&&(n.validators=[]),n.validators.push(k$(s,t))},_$=(t,n,s,l)=>{const o=Object.entries(t),u=o.length;for(let d=0;d<u;d++){const[O,h]=o[d];Wf(h,vb(n,O),s,l)}},vb=(t,n)=>{let s=t;const l=n.split(mc),o=l.length;for(let u=0;u<o;u++){const d=l[u];let O=s.nextPart.get(d);O||(O=gb(),s.nextPart.set(d,O)),s=O}return s},Z$=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,A$=t=>{if(t<1)return{get:()=>{},set:()=>{}};let n=0,s=Object.create(null),l=Object.create(null);const o=(u,d)=>{s[u]=d,n++,n>t&&(n=0,l=s,s=Object.create(null))};return{get(u){let d=s[u];if(d!==void 0)return d;if((d=l[u])!==void 0)return o(u,d),d},set(u,d){u in s?s[u]=d:o(u,d)}}},hf="!",Bg=":",E$=[],Hg=(t,n,s,l,o)=>({modifiers:t,hasImportantModifier:n,baseClassName:s,maybePostfixModifierPosition:l,isExternal:o}),q$=t=>{const{prefix:n,experimentalParseClassName:s}=t;let l=o=>{const u=[];let d=0,O=0,h=0,p;const x=o.length;for(let w=0;w<x;w++){const $=o[w];if(d===0&&O===0){if($===Bg){u.push(o.slice(h,w)),h=w+1;continue}if($==="/"){p=w;continue}}$==="["?d++:$==="]"?d--:$==="("?O++:$===")"&&O--}const g=u.length===0?o:o.slice(h);let b=g,y=!1;g.endsWith(hf)?(b=g.slice(0,-1),y=!0):g.startsWith(hf)&&(b=g.slice(1),y=!0);const Q=p&&p>h?p-h:void 0;return Hg(u,y,b,Q)};if(n){const o=n+Bg,u=l;l=d=>d.startsWith(o)?u(d.slice(o.length)):Hg(E$,!1,d,void 0,!0)}if(s){const o=l;l=u=>s({className:u,parseClassName:o})}return l},M$=t=>{const n=new Map;return t.orderSensitiveModifiers.forEach((s,l)=>{n.set(s,1e6+l)}),s=>{const l=[];let o=[];for(let u=0;u<s.length;u++){const d=s[u],O=d[0]==="[",h=n.has(d);O||h?(o.length>0&&(o.sort(),l.push(...o),o=[]),l.push(d)):o.push(d)}return o.length>0&&(o.sort(),l.push(...o)),l}},Y$=t=>({cache:A$(t.cacheSize),parseClassName:q$(t),sortModifiers:M$(t),...T$(t)}),U$=/\s+/,V$=(t,n)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:u}=n,d=[],O=t.trim().split(U$);let h="";for(let p=O.length-1;p>=0;p-=1){const x=O[p],{isExternal:g,modifiers:b,hasImportantModifier:y,baseClassName:Q,maybePostfixModifierPosition:w}=s(x);if(g){h=x+(h.length>0?" "+h:h);continue}let $=!!w,j=l($?Q.substring(0,w):Q);if(!j){if(!$){h=x+(h.length>0?" "+h:h);continue}if(j=l(Q),!j){h=x+(h.length>0?" "+h:h);continue}$=!1}const R=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=y?R+hf:R,z=N+j;if(d.indexOf(z)>-1)continue;d.push(z);const Y=o(j,$);for(let Z=0;Z<Y.length;++Z){const C=Y[Z];d.push(N+C)}h=x+(h.length>0?" "+h:h)}return h},G$=(...t)=>{let n=0,s,l,o="";for(;n<t.length;)(s=t[n++])&&(l=yb(s))&&(o&&(o+=" "),o+=l);return o},yb=t=>{if(typeof t=="string")return t;let n,s="";for(let l=0;l<t.length;l++)t[l]&&(n=yb(t[l]))&&(s&&(s+=" "),s+=n);return s},L$=(t,...n)=>{let s,l,o,u;const d=h=>{const p=n.reduce((x,g)=>g(x),t());return s=Y$(p),l=s.cache.get,o=s.cache.set,u=O,O(h)},O=h=>{const p=l(h);if(p)return p;const x=V$(h,s);return o(h,x),x};return u=d,(...h)=>u(G$(...h))},D$=[],ct=t=>{const n=s=>s[t]||D$;return n.isThemeGetter=!0,n},Sb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Qb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,W$=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,B$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,H$=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,I$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,K$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mn=t=>W$.test(t),je=t=>!!t&&!Number.isNaN(Number(t)),Yn=t=>!!t&&Number.isInteger(Number(t)),yO=t=>t.endsWith("%")&&je(t.slice(0,-1)),Fa=t=>B$.test(t),jb=()=>!0,J$=t=>H$.test(t)&&!I$.test(t),Bf=()=>!1,e5=t=>F$.test(t),t5=t=>K$.test(t),a5=t=>!Oe(t)&&!fe(t),n5=t=>ts(t,$b,Bf),Oe=t=>Sb.test(t),Qs=t=>ts(t,Tb,J$),Ig=t=>ts(t,d5,je),s5=t=>ts(t,Pb,jb),l5=t=>ts(t,Nb,Bf),Fg=t=>ts(t,wb,Bf),r5=t=>ts(t,kb,t5),Uo=t=>ts(t,zb,e5),fe=t=>Qb.test(t),Dr=t=>_s(t,Tb),i5=t=>_s(t,Nb),Kg=t=>_s(t,wb),o5=t=>_s(t,$b),c5=t=>_s(t,kb),Vo=t=>_s(t,zb,!0),u5=t=>_s(t,Pb,!0),ts=(t,n,s)=>{const l=Sb.exec(t);return l?l[1]?n(l[1]):s(l[2]):!1},_s=(t,n,s=!1)=>{const l=Qb.exec(t);return l?l[1]?n(l[1]):s:!1},wb=t=>t==="position"||t==="percentage",kb=t=>t==="image"||t==="url",$b=t=>t==="length"||t==="size"||t==="bg-size",Tb=t=>t==="length",d5=t=>t==="number",Nb=t=>t==="family-name",Pb=t=>t==="number"||t==="weight",zb=t=>t==="shadow",O5=()=>{const t=ct("color"),n=ct("font"),s=ct("text"),l=ct("font-weight"),o=ct("tracking"),u=ct("leading"),d=ct("breakpoint"),O=ct("container"),h=ct("spacing"),p=ct("radius"),x=ct("shadow"),g=ct("inset-shadow"),b=ct("text-shadow"),y=ct("drop-shadow"),Q=ct("blur"),w=ct("perspective"),$=ct("aspect"),j=ct("ease"),R=ct("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Y=()=>[...z(),fe,Oe],Z=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],T=()=>[fe,Oe,h],M=()=>[Mn,"full","auto",...T()],G=()=>[Yn,"none","subgrid",fe,Oe],ne=()=>["auto",{span:["full",Yn,fe,Oe]},Yn,fe,Oe],F=()=>[Yn,"auto",fe,Oe],ce=()=>["auto","min","max","fr",fe,Oe],re=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],I=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...T()],W=()=>[Mn,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...T()],E=()=>[Mn,"screen","full","dvw","lvw","svw","min","max","fit",...T()],oe=()=>[Mn,"screen","full","lh","dvh","lvh","svh","min","max","fit",...T()],J=()=>[t,fe,Oe],we=()=>[...z(),Kg,Fg,{position:[fe,Oe]}],ye=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ve=()=>["auto","cover","contain",o5,n5,{size:[fe,Oe]}],Re=()=>[yO,Dr,Qs],B=()=>["","none","full",p,fe,Oe],ue=()=>["",je,Dr,Qs],Ce=()=>["solid","dashed","dotted","double"],Ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ae=()=>[je,yO,Kg,Fg],He=()=>["","none",Q,fe,Oe],bt=()=>["none",je,fe,Oe],ca=()=>["none",je,fe,Oe],Bt=()=>[je,fe,Oe],yt=()=>[Mn,"full",...T()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Fa],breakpoint:[Fa],color:[jb],container:[Fa],"drop-shadow":[Fa],ease:["in","out","in-out"],font:[a5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Fa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Fa],shadow:[Fa],spacing:["px",je],text:[Fa],"text-shadow":[Fa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Mn,Oe,fe,$]}],container:["container"],columns:[{columns:[je,Oe,fe,O]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Y()}],overflow:[{overflow:Z()}],"overflow-x":[{"overflow-x":Z()}],"overflow-y":[{"overflow-y":Z()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[Yn,"auto",fe,Oe]}],basis:[{basis:[Mn,"full","auto",O,...T()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[je,Mn,"auto","initial","none",Oe]}],grow:[{grow:["",je,fe,Oe]}],shrink:[{shrink:["",je,fe,Oe]}],order:[{order:[Yn,"first","last","none",fe,Oe]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ce()}],"auto-rows":[{"auto-rows":ce()}],gap:[{gap:T()}],"gap-x":[{"gap-x":T()}],"gap-y":[{"gap-y":T()}],"justify-content":[{justify:[...re(),"normal"]}],"justify-items":[{"justify-items":[...I(),"normal"]}],"justify-self":[{"justify-self":["auto",...I()]}],"align-content":[{content:["normal",...re()]}],"align-items":[{items:[...I(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...I(),{baseline:["","last"]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...I(),"baseline"]}],"place-self":[{"place-self":["auto",...I()]}],p:[{p:T()}],px:[{px:T()}],py:[{py:T()}],ps:[{ps:T()}],pe:[{pe:T()}],pbs:[{pbs:T()}],pbe:[{pbe:T()}],pt:[{pt:T()}],pr:[{pr:T()}],pb:[{pb:T()}],pl:[{pl:T()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":T()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":T()}],"space-y-reverse":["space-y-reverse"],size:[{size:W()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...oe()]}],"min-block-size":[{"min-block":["auto",...oe()]}],"max-block-size":[{"max-block":["none",...oe()]}],w:[{w:[O,"screen",...W()]}],"min-w":[{"min-w":[O,"screen","none",...W()]}],"max-w":[{"max-w":[O,"screen","none","prose",{screen:[d]},...W()]}],h:[{h:["screen","lh",...W()]}],"min-h":[{"min-h":["screen","lh","none",...W()]}],"max-h":[{"max-h":["screen","lh",...W()]}],"font-size":[{text:["base",s,Dr,Qs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,u5,s5]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",yO,Oe]}],"font-family":[{font:[i5,l5,n]}],"font-features":[{"font-features":[Oe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,fe,Oe]}],"line-clamp":[{"line-clamp":[je,"none",fe,Ig]}],leading:[{leading:[u,...T()]}],"list-image":[{"list-image":["none",fe,Oe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",fe,Oe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:J()}],"text-color":[{text:J()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ce(),"wavy"]}],"text-decoration-thickness":[{decoration:[je,"from-font","auto",fe,Qs]}],"text-decoration-color":[{decoration:J()}],"underline-offset":[{"underline-offset":[je,"auto",fe,Oe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:T()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fe,Oe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fe,Oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:we()}],"bg-repeat":[{bg:ye()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Yn,fe,Oe],radial:["",fe,Oe],conic:[Yn,fe,Oe]},c5,r5]}],"bg-color":[{bg:J()}],"gradient-from-pos":[{from:Re()}],"gradient-via-pos":[{via:Re()}],"gradient-to-pos":[{to:Re()}],"gradient-from":[{from:J()}],"gradient-via":[{via:J()}],"gradient-to":[{to:J()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:ue()}],"border-w-x":[{"border-x":ue()}],"border-w-y":[{"border-y":ue()}],"border-w-s":[{"border-s":ue()}],"border-w-e":[{"border-e":ue()}],"border-w-bs":[{"border-bs":ue()}],"border-w-be":[{"border-be":ue()}],"border-w-t":[{"border-t":ue()}],"border-w-r":[{"border-r":ue()}],"border-w-b":[{"border-b":ue()}],"border-w-l":[{"border-l":ue()}],"divide-x":[{"divide-x":ue()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ue()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ce(),"hidden","none"]}],"divide-style":[{divide:[...Ce(),"hidden","none"]}],"border-color":[{border:J()}],"border-color-x":[{"border-x":J()}],"border-color-y":[{"border-y":J()}],"border-color-s":[{"border-s":J()}],"border-color-e":[{"border-e":J()}],"border-color-bs":[{"border-bs":J()}],"border-color-be":[{"border-be":J()}],"border-color-t":[{"border-t":J()}],"border-color-r":[{"border-r":J()}],"border-color-b":[{"border-b":J()}],"border-color-l":[{"border-l":J()}],"divide-color":[{divide:J()}],"outline-style":[{outline:[...Ce(),"none","hidden"]}],"outline-offset":[{"outline-offset":[je,fe,Oe]}],"outline-w":[{outline:["",je,Dr,Qs]}],"outline-color":[{outline:J()}],shadow:[{shadow:["","none",x,Vo,Uo]}],"shadow-color":[{shadow:J()}],"inset-shadow":[{"inset-shadow":["none",g,Vo,Uo]}],"inset-shadow-color":[{"inset-shadow":J()}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:J()}],"ring-offset-w":[{"ring-offset":[je,Qs]}],"ring-offset-color":[{"ring-offset":J()}],"inset-ring-w":[{"inset-ring":ue()}],"inset-ring-color":[{"inset-ring":J()}],"text-shadow":[{"text-shadow":["none",b,Vo,Uo]}],"text-shadow-color":[{"text-shadow":J()}],opacity:[{opacity:[je,fe,Oe]}],"mix-blend":[{"mix-blend":[...Ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[je]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ae()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ae()}],"mask-image-linear-from-color":[{"mask-linear-from":J()}],"mask-image-linear-to-color":[{"mask-linear-to":J()}],"mask-image-t-from-pos":[{"mask-t-from":Ae()}],"mask-image-t-to-pos":[{"mask-t-to":Ae()}],"mask-image-t-from-color":[{"mask-t-from":J()}],"mask-image-t-to-color":[{"mask-t-to":J()}],"mask-image-r-from-pos":[{"mask-r-from":Ae()}],"mask-image-r-to-pos":[{"mask-r-to":Ae()}],"mask-image-r-from-color":[{"mask-r-from":J()}],"mask-image-r-to-color":[{"mask-r-to":J()}],"mask-image-b-from-pos":[{"mask-b-from":Ae()}],"mask-image-b-to-pos":[{"mask-b-to":Ae()}],"mask-image-b-from-color":[{"mask-b-from":J()}],"mask-image-b-to-color":[{"mask-b-to":J()}],"mask-image-l-from-pos":[{"mask-l-from":Ae()}],"mask-image-l-to-pos":[{"mask-l-to":Ae()}],"mask-image-l-from-color":[{"mask-l-from":J()}],"mask-image-l-to-color":[{"mask-l-to":J()}],"mask-image-x-from-pos":[{"mask-x-from":Ae()}],"mask-image-x-to-pos":[{"mask-x-to":Ae()}],"mask-image-x-from-color":[{"mask-x-from":J()}],"mask-image-x-to-color":[{"mask-x-to":J()}],"mask-image-y-from-pos":[{"mask-y-from":Ae()}],"mask-image-y-to-pos":[{"mask-y-to":Ae()}],"mask-image-y-from-color":[{"mask-y-from":J()}],"mask-image-y-to-color":[{"mask-y-to":J()}],"mask-image-radial":[{"mask-radial":[fe,Oe]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ae()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ae()}],"mask-image-radial-from-color":[{"mask-radial-from":J()}],"mask-image-radial-to-color":[{"mask-radial-to":J()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":z()}],"mask-image-conic-pos":[{"mask-conic":[je]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ae()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ae()}],"mask-image-conic-from-color":[{"mask-conic-from":J()}],"mask-image-conic-to-color":[{"mask-conic-to":J()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:we()}],"mask-repeat":[{mask:ye()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",fe,Oe]}],filter:[{filter:["","none",fe,Oe]}],blur:[{blur:He()}],brightness:[{brightness:[je,fe,Oe]}],contrast:[{contrast:[je,fe,Oe]}],"drop-shadow":[{"drop-shadow":["","none",y,Vo,Uo]}],"drop-shadow-color":[{"drop-shadow":J()}],grayscale:[{grayscale:["",je,fe,Oe]}],"hue-rotate":[{"hue-rotate":[je,fe,Oe]}],invert:[{invert:["",je,fe,Oe]}],saturate:[{saturate:[je,fe,Oe]}],sepia:[{sepia:["",je,fe,Oe]}],"backdrop-filter":[{"backdrop-filter":["","none",fe,Oe]}],"backdrop-blur":[{"backdrop-blur":He()}],"backdrop-brightness":[{"backdrop-brightness":[je,fe,Oe]}],"backdrop-contrast":[{"backdrop-contrast":[je,fe,Oe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",je,fe,Oe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[je,fe,Oe]}],"backdrop-invert":[{"backdrop-invert":["",je,fe,Oe]}],"backdrop-opacity":[{"backdrop-opacity":[je,fe,Oe]}],"backdrop-saturate":[{"backdrop-saturate":[je,fe,Oe]}],"backdrop-sepia":[{"backdrop-sepia":["",je,fe,Oe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":T()}],"border-spacing-x":[{"border-spacing-x":T()}],"border-spacing-y":[{"border-spacing-y":T()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",fe,Oe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[je,"initial",fe,Oe]}],ease:[{ease:["linear","initial",j,fe,Oe]}],delay:[{delay:[je,fe,Oe]}],animate:[{animate:["none",R,fe,Oe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,fe,Oe]}],"perspective-origin":[{"perspective-origin":Y()}],rotate:[{rotate:bt()}],"rotate-x":[{"rotate-x":bt()}],"rotate-y":[{"rotate-y":bt()}],"rotate-z":[{"rotate-z":bt()}],scale:[{scale:ca()}],"scale-x":[{"scale-x":ca()}],"scale-y":[{"scale-y":ca()}],"scale-z":[{"scale-z":ca()}],"scale-3d":["scale-3d"],skew:[{skew:Bt()}],"skew-x":[{"skew-x":Bt()}],"skew-y":[{"skew-y":Bt()}],transform:[{transform:[fe,Oe,"","none","gpu","cpu"]}],"transform-origin":[{origin:Y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:yt()}],"translate-x":[{"translate-x":yt()}],"translate-y":[{"translate-y":yt()}],"translate-z":[{"translate-z":yt()}],"translate-none":["translate-none"],accent:[{accent:J()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:J()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",fe,Oe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":T()}],"scroll-mx":[{"scroll-mx":T()}],"scroll-my":[{"scroll-my":T()}],"scroll-ms":[{"scroll-ms":T()}],"scroll-me":[{"scroll-me":T()}],"scroll-mbs":[{"scroll-mbs":T()}],"scroll-mbe":[{"scroll-mbe":T()}],"scroll-mt":[{"scroll-mt":T()}],"scroll-mr":[{"scroll-mr":T()}],"scroll-mb":[{"scroll-mb":T()}],"scroll-ml":[{"scroll-ml":T()}],"scroll-p":[{"scroll-p":T()}],"scroll-px":[{"scroll-px":T()}],"scroll-py":[{"scroll-py":T()}],"scroll-ps":[{"scroll-ps":T()}],"scroll-pe":[{"scroll-pe":T()}],"scroll-pbs":[{"scroll-pbs":T()}],"scroll-pbe":[{"scroll-pbe":T()}],"scroll-pt":[{"scroll-pt":T()}],"scroll-pr":[{"scroll-pr":T()}],"scroll-pb":[{"scroll-pb":T()}],"scroll-pl":[{"scroll-pl":T()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",fe,Oe]}],fill:[{fill:["none",...J()]}],"stroke-w":[{stroke:[je,Dr,Qs,Ig]}],stroke:[{stroke:["none",...J()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},f5=L$(O5);function le(...t){return f5(j$(t))}function h5({children:t}){return r.jsx(g$,{delayDuration:300,children:t})}function Jg({children:t,content:n,side:s="top",className:l}){return n?r.jsxs(b$,{children:[r.jsx(v$,{asChild:!0,children:t}),r.jsx(y$,{children:r.jsxs(S$,{side:s,sideOffset:6,className:le("z-50 px-2.5 py-1.5 text-xs font-sans","bg-surface-4 text-text-0 border border-border rounded-md shadow-lg","animate-in fade-in-0 zoom-in-95",l),children:[n,r.jsx(Q$,{className:"fill-surface-4"})]})})]}):t}/**
29
+ `:" ";$[$.length-1]={...j,text:j.text+z+Q,timestamp:Date.now()}}else $.push({from:"agent",text:Q,timestamp:Date.now()});w[h]=$.slice(-100),t({chatHistory:w}),wl("groove:chatHistory",w)}}if(g&&g.trim()){const Q={...n().activityLog};Q[h]||(Q[h]=[]),Q[h]=[...Q[h].slice(-200),{timestamp:Date.now(),text:g.trim(),type:p.type,subtype:"tool"}],t({activityLog:Q}),wl("groove:activityLog",Q)}break}case"agent:exit":{const h=n().agents.find(y=>y.id===o.agentId),p=(h==null?void 0:h.name)||o.agentId,x=o.status==="killed"||o.code===143||o.code===137,g=o.status==="completed"?`${p} completed`:x?`${p} stopped`:`${p} crashed (exit ${o.code})`,b=o.status==="completed"?"success":x?"info":"warning";n().addToast(b,g,o.error?o.error.slice(0,200):void 0),o.error&&o.agentId&&n().addChatMessage(o.agentId,"system",`Crashed: ${o.error}`),(h==null?void 0:h.role)==="planner"&&o.status==="completed"&&setTimeout(()=>n().checkRecommendedTeam(),1e3);break}case"phase2:spawned":n().addToast("info",`QC agent ${o.name} auto-spawned`,"Auditing phase 1 work");break;case"phase2:failed":n().addToast("error","QC agent failed to spawn",o.error||"Unknown error");break;case"rotation:start":n().addToast("info",`Rotating ${o.agentName}...`);break;case"rotation:complete":{n().addToast("success",`Rotated ${o.agentName}`,`Saved ${o.tokensSaved} tokens`);const h=n().detailPanel;(h==null?void 0:h.type)==="agent"&&h.agentId===o.oldAgentId&&o.newAgentId&&t(p=>{var y,Q,w;const x={...p.chatHistory},g={...p.tokenTimeline},b={...p.activityLog};return(y=x[o.oldAgentId])!=null&&y.length&&(x[o.newAgentId]=[...x[o.oldAgentId]]),(Q=g[o.oldAgentId])!=null&&Q.length&&(g[o.newAgentId]=[...g[o.oldAgentId]]),(w=b[o.oldAgentId])!=null&&w.length&&(b[o.newAgentId]=[...b[o.oldAgentId]]),{chatHistory:x,tokenTimeline:g,activityLog:b,detailPanel:{type:"agent",agentId:o.newAgentId}}});break}case"rotation:failed":n().addToast("error","Rotation failed",o.error);break;case"file:changed":{const h=n().editorRecentSaves[o.path];if(h&&Date.now()-h<2e3)break;t(p=>({editorChangedFiles:{...p.editorChangedFiles,[o.path]:o.timestamp}}));break}case"team:created":case"team:deleted":case"team:updated":n().fetchTeams();break;case"approval:request":t(h=>({pendingApprovals:[...h.pendingApprovals,o.data]})),n().addToast("warning",`Approval needed: ${((u=o.data)==null?void 0:u.agentName)||"agent"}`,(O=(d=o.data)==null?void 0:d.action)==null?void 0:O.description);break;case"approval:resolved":{const h=o.data;t(p=>({pendingApprovals:p.pendingApprovals.filter(x=>x.id!==h.id),resolvedApprovals:[h,...p.resolvedApprovals].slice(0,200)}));break}case"conflict:detected":n().addToast("error",`Scope conflict: ${o.agentName||"agent"}`,o.filePath?`File: ${o.filePath}`:void 0);break;case"qc:activated":n().addToast("info","QC agent activated",`${o.agentCount||"4+"} agents running`);break;case"journalist:cycle":t({journalistStatus:o.data||null});break;case"schedule:execute":n().addToast("info",`Scheduled agent spawned: ${o.name||o.role||"agent"}`);break;case"gateway:status":t({gateways:o.data||[]});break}},s.onclose=()=>{t({connected:!1,hydrated:!1,ws:null,daemonHost:null,tunneled:!1}),setTimeout(()=>n().connect(),2e3)},s.onerror=()=>s.close()},setActiveView(s){t({activeView:s})},async fetchTeams(){try{const s=await ee.get("/teams"),l=s.teams||[],o=s.defaultTeamId,{activeTeamId:u}=n(),O=l.map(h=>h.id).includes(u)?u:o;t({teams:l,activeTeamId:O}),O&&localStorage.setItem("groove:activeTeamId",O)}catch{}},switchTeam(s){t({activeTeamId:s,detailPanel:null}),localStorage.setItem("groove:activeTeamId",s)},async createTeam(s,l){try{const o={name:s};l&&(o.workingDir=l);const u=await ee.post("/teams",o);return t({activeTeamId:u.id}),localStorage.setItem("groove:activeTeamId",u.id),n().addToast("success",`Team "${s}" created`),u}catch(o){throw n().addToast("error","Failed to create team",o.message),o}},async deleteTeam(s){const l=n().teams.find(o=>o.id===s);if(l!=null&&l.isDefault){n().addToast("warning","Cannot delete the default team");return}try{await ee.delete(`/teams/${s}`),n().addToast("info",`Team "${l==null?void 0:l.name}" deleted`)}catch(o){n().addToast("error","Failed to delete team",o.message)}},async renameTeam(s,l){try{const o=await ee.patch(`/teams/${s}`,{name:l});return t(u=>({teams:u.teams.map(d=>d.id===s?o:d)})),o}catch(o){throw n().addToast("error","Failed to rename team",o.message),o}},openDetail(s){t({detailPanel:s})},closeDetail(){t({detailPanel:null})},selectAgent(s){t({detailPanel:{type:"agent",agentId:s}})},clearSelection(){t({detailPanel:null})},toggleCommandPalette(){t(s=>({commandPaletteOpen:!s.commandPaletteOpen}))},setDetailPanelWidth(s){t({detailPanelWidth:s}),localStorage.setItem("groove:detailWidth",String(s))},setTerminalVisible(s){t({terminalVisible:s}),localStorage.setItem("groove:terminalVisible",String(s))},setTerminalHeight(s){t({terminalHeight:s}),localStorage.setItem("groove:terminalHeight",String(s))},setTerminalFullHeight(s){t({terminalFullHeight:s})},addToast(s,l,o){const u=++cw;t(d=>({toasts:[...d.toasts,{id:u,type:s,message:l,detail:o}]}))},removeToast(s){t(l=>({toasts:l.toasts.filter(o=>o.id!==s)}))},async checkMarketplaceAuth(){try{const s=await ee.get("/auth/status");t({marketplaceAuthenticated:s.authenticated||!1,marketplaceUser:s.user||null})}catch{t({marketplaceAuthenticated:!1,marketplaceUser:null})}},async marketplaceLogin(){try{const s=await ee.get("/auth/login-url");s.url&&window.open(s.url,"_blank");const l=setInterval(async()=>{var o,u;try{const d=await ee.get("/auth/status");d.authenticated&&(clearInterval(l),t({marketplaceAuthenticated:!0,marketplaceUser:d.user}),n().addToast("success",`Signed in as ${((o=d.user)==null?void 0:o.displayName)||((u=d.user)==null?void 0:u.id)||"user"}`))}catch{}},2e3);setTimeout(()=>clearInterval(l),3e5)}catch(s){n().addToast("error","Login failed",s.message)}},async marketplaceLogout(){try{await ee.post("/auth/logout"),t({marketplaceAuthenticated:!1,marketplaceUser:null}),n().addToast("info","Signed out of marketplace")}catch(s){n().addToast("error","Logout failed",s.message)}},async marketplaceCheckout(s){try{const l=await ee.post("/auth/checkout",{skillId:s});return l.url&&window.open(l.url,"_blank"),l}catch(l){throw n().addToast("error","Checkout failed",l.message),l}},async fetchApprovals(){try{const s=await ee.get("/approvals");t({pendingApprovals:s.pending||[],resolvedApprovals:s.resolved||[]})}catch{}},async approveRequest(s){try{await ee.post(`/approvals/${s}/approve`),t(l=>({pendingApprovals:l.pendingApprovals.filter(o=>o.id!==s)})),n().addToast("success","Approved")}catch(l){n().addToast("error","Approve failed",l.message)}},async rejectRequest(s,l=""){try{await ee.post(`/approvals/${s}/reject`,{reason:l}),t(o=>({pendingApprovals:o.pendingApprovals.filter(u=>u.id!==s)})),n().addToast("info","Rejected")}catch(o){n().addToast("error","Reject failed",o.message)}},async checkRecommendedTeam(){var s;try{const l=await ee.get("/recommended-team");l&&((s=l.agents)!=null&&s.length)?t({recommendedTeam:l}):t({recommendedTeam:null})}catch{t({recommendedTeam:null})}},async launchRecommendedTeam(){try{t({recommendedTeam:null}),n().addToast("info","Launching team...");const s=await ee.post("/recommended-team/launch"),l=[s.phase2Pending?`${s.phase2Pending} QC queued`:"",s.projectDir?`→ ${s.projectDir}/`:""].filter(Boolean).join(" · ");return n().addToast("success",`Launched ${s.launched} agents`,l||void 0),ee.post("/cleanup").catch(()=>{}),s}catch(s){throw n().addToast("error","Launch failed",s.message),s}},async fetchJournalist(){try{const s=await ee.get("/journalist");return t({journalistStatus:s}),s}catch{return null}},async triggerJournalistCycle(){try{const s=await ee.post("/journalist/cycle");return n().addToast("success","Synthesis cycle triggered"),t({journalistStatus:s}),s}catch(s){throw n().addToast("error","Synthesis failed",s.message),s}},async spawnAgent(s){try{const l=n().activeTeamId,o=await ee.post("/agents",{...s,teamId:l});return n().addToast("success",`Spawned ${o.name}`),o}catch(l){throw n().addToast("error","Spawn failed",l.message),l}},async killAgent(s,l=!1){try{await ee.delete(`/agents/${s}?purge=${l}`)}catch(o){n().addToast("error","Kill failed",o.message)}},async rotateAgent(s){try{return await ee.post(`/agents/${s}/rotate`)}catch(l){throw n().addToast("error","Rotation failed",l.message),l}},async fetchProviders(){return ee.get("/providers")},addChatMessage(s,l,o,u=!1){t(d=>{const O={...d.chatHistory};return O[s]||(O[s]=[]),O[s]=[...O[s].slice(-100),{from:l,text:o,timestamp:Date.now(),isQuery:u}],wl("groove:chatHistory",O),{chatHistory:O}})},thinkingAgents:new Set,async instructAgent(s,l){var d,O;const o=n().agents.find(h=>h.id===s);if(o&&(o.status==="running"||o.status==="starting")){n().addChatMessage(s,"user",l,!1);try{const h=await ee.post(`/agents/${s}/query`,{message:l});return h.status==="pending"||h.response==="Message sent to agent"?(t(p=>({thinkingAgents:new Set([...p.thinkingAgents,s])})),h):(n().addChatMessage(s,"agent",h.response),h)}catch(h){throw n().addChatMessage(s,"system",`failed: ${h.message}`),h}}n().addChatMessage(s,"user",l,!1),t(h=>({thinkingAgents:new Set([...h.thinkingAgents,s])}));try{const h=await ee.post(`/agents/${s}/instruct`,{message:l});for(const p of["chatHistory","activityLog","tokenTimeline"]){const x=n()[p][s];x!=null&&x.length&&t(g=>({[p]:{...g[p],[h.id]:[...x]}}))}return t(p=>{const x=new Set(p.thinkingAgents);return x.delete(s),x.add(h.id),{thinkingAgents:x}}),(d=n().chatHistory[s])!=null&&d.length&&wl("groove:chatHistory",n().chatHistory),(O=n().activityLog[s])!=null&&O.length&&wl("groove:activityLog",n().activityLog),n().selectAgent(h.id),h}catch(h){throw t(p=>{const x=new Set(p.thinkingAgents);return x.delete(s),{thinkingAgents:x}}),n().addChatMessage(s,"system",`failed: ${h.message}`),h}},async queryAgent(s,l){n().addChatMessage(s,"user",l,!0);try{const o=await ee.post(`/agents/${s}/query`,{message:l});return n().addChatMessage(s,"agent",o.response),o}catch(o){throw n().addChatMessage(s,"system",`query failed: ${o.message}`),o}},async openFile(s){var u;if(n().editorFiles[s]||n().editorOpenTabs.includes(s)){t(d=>({editorActiveFile:s,editorOpenTabs:d.editorOpenTabs.includes(s)?d.editorOpenTabs:[...d.editorOpenTabs,s]}));return}const l=(u=s.split(".").pop())==null?void 0:u.toLowerCase();if(["png","jpg","jpeg","gif","svg","webp","ico","bmp","avif","mp4","webm","mov","avi","mkv","ogv"].includes(l)){t(d=>({editorActiveFile:s,editorOpenTabs:[...d.editorOpenTabs,s]}));return}try{const d=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(d.binary){n().addToast("warning","Binary file — cannot open");return}t(h=>({editorFiles:{...h.editorFiles,[s]:{content:d.content,originalContent:d.content,language:d.language,loadedAt:Date.now()}},editorActiveFile:s,editorOpenTabs:h.editorOpenTabs.includes(s)?h.editorOpenTabs:[...h.editorOpenTabs,s]}));const O=n().ws;(O==null?void 0:O.readyState)===1&&O.send(JSON.stringify({type:"editor:watch",path:s}))}catch(d){n().addToast("error","Failed to open file",d.message)}},closeFile(s){t(o=>{const u=o.editorOpenTabs.filter(p=>p!==s),d={...o.editorFiles};delete d[s];const O={...o.editorChangedFiles};delete O[s];let h=o.editorActiveFile;if(h===s){const p=o.editorOpenTabs.indexOf(s);h=u[Math.min(p,u.length-1)]||null}return{editorOpenTabs:u,editorFiles:d,editorChangedFiles:O,editorActiveFile:h}});const l=n().ws;(l==null?void 0:l.readyState)===1&&l.send(JSON.stringify({type:"editor:unwatch",path:s}))},setActiveFile(s){t({editorActiveFile:s})},updateFileContent(s,l){t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],content:l}}}))},async saveFile(s){const l=n().editorFiles[s];if(l)try{await ee.post("/files/write",{path:s,content:l.content}),t(o=>({editorFiles:{...o.editorFiles,[s]:{...o.editorFiles[s],originalContent:l.content}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})(),editorRecentSaves:{...o.editorRecentSaves,[s]:Date.now()}})),n().addToast("success","File saved")}catch(o){n().addToast("error","Save failed",o.message)}},async reloadFile(s){try{const l=await ee.get(`/files/read?path=${encodeURIComponent(s)}`);if(l.binary)return;t(o=>({editorFiles:{...o.editorFiles,[s]:{content:l.content,originalContent:l.content,language:l.language,loadedAt:Date.now()}},editorChangedFiles:(()=>{const u={...o.editorChangedFiles};return delete u[s],u})()}))}catch{}},dismissFileChange(s){t(l=>{const o={...l.editorChangedFiles};return delete o[s],{editorChangedFiles:o}})},async fetchTreeDir(s){try{const l=await ee.get(`/files/tree?path=${encodeURIComponent(s)}`);t(o=>({editorTreeCache:{...o.editorTreeCache,[s]:l.entries}}))}catch{}},async createFile(s){try{await ee.post("/files/create",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(l),n().addToast("success","File created"),!0}catch(l){return n().addToast("error","Create failed",l.message),!1}},async createDir(s){try{await ee.post("/files/mkdir",{path:s});const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(l),n().addToast("success","Folder created"),!0}catch(l){return n().addToast("error","Create failed",l.message),!1}},async deleteFile(s){try{await ee.delete(`/files/delete?path=${encodeURIComponent(s)}`),n().editorOpenTabs.includes(s)&&n().closeFile(s);const l=s.includes("/")?s.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(l),t(o=>{const u={...o.editorTreeCache};return delete u[s],{editorTreeCache:u}}),n().addToast("success","Deleted"),!0}catch(l){return n().addToast("error","Delete failed",l.message),!1}},async renameFile(s,l){try{await ee.post("/files/rename",{oldPath:s,newPath:l}),t(d=>{const O=d.editorOpenTabs.map(x=>x===s?l:x),h={...d.editorFiles};h[s]&&(h[l]=h[s],delete h[s]);const p=d.editorActiveFile===s?l:d.editorActiveFile;return{editorOpenTabs:O,editorFiles:h,editorActiveFile:p}});const o=s.includes("/")?s.split("/").slice(0,-1).join("/"):"",u=l.includes("/")?l.split("/").slice(0,-1).join("/"):"";return await n().fetchTreeDir(o),u!==o&&await n().fetchTreeDir(u),n().addToast("success","Renamed"),!0}catch(o){return n().addToast("error","Rename failed",o.message),!1}}}));function uw(t){v.useEffect(()=>{function n(s){for(const l of t){const o=l.meta?s.metaKey||s.ctrlKey:!0,u=l.shift?s.shiftKey:!s.shiftKey;if(s.key.toLowerCase()===l.key.toLowerCase()&&o&&u){s.preventDefault(),l.handler();return}}}return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t])}function qe(t,n,{checkForDefaultPrevented:s=!0}={}){return function(o){if(t==null||t(o),s===!1||!o.defaultPrevented)return n==null?void 0:n(o)}}function Cg(t,n){if(typeof t=="function")return t(n);t!=null&&(t.current=n)}function _0(...t){return n=>{let s=!1;const l=t.map(o=>{const u=Cg(o,n);return!s&&typeof u=="function"&&(s=!0),u});if(s)return()=>{for(let o=0;o<l.length;o++){const u=l[o];typeof u=="function"?u():Cg(t[o],null)}}}}function it(...t){return v.useCallback(_0(...t),t)}function dw(t,n){const s=v.createContext(n),l=u=>{const{children:d,...O}=u,h=v.useMemo(()=>O,Object.values(O));return r.jsx(s.Provider,{value:h,children:d})};l.displayName=t+"Provider";function o(u){const d=v.useContext(s);if(d)return d;if(n!==void 0)return n;throw new Error(`\`${u}\` must be used within \`${t}\``)}return[l,o]}function Xs(t,n=[]){let s=[];function l(u,d){const O=v.createContext(d),h=s.length;s=[...s,d];const p=g=>{var j;const{scope:b,children:y,...Q}=g,w=((j=b==null?void 0:b[t])==null?void 0:j[h])||O,$=v.useMemo(()=>Q,Object.values(Q));return r.jsx(w.Provider,{value:$,children:y})};p.displayName=u+"Provider";function x(g,b){var w;const y=((w=b==null?void 0:b[t])==null?void 0:w[h])||O,Q=v.useContext(y);if(Q)return Q;if(d!==void 0)return d;throw new Error(`\`${g}\` must be used within \`${u}\``)}return[p,x]}const o=()=>{const u=s.map(d=>v.createContext(d));return function(O){const h=(O==null?void 0:O[t])||u;return v.useMemo(()=>({[`__scope${t}`]:{...O,[t]:h}}),[O,h])}};return o.scopeName=t,[l,Ow(o,...n)]}function Ow(...t){const n=t[0];if(t.length===1)return n;const s=()=>{const l=t.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(u){const d=l.reduce((O,{useScope:h,scopeName:p})=>{const g=h(u)[`__scope${p}`];return{...O,...g}},{});return v.useMemo(()=>({[`__scope${n.scopeName}`]:d}),[d])}};return s.scopeName=n.scopeName,s}function uc(t){const n=fw(t),s=v.forwardRef((l,o)=>{const{children:u,...d}=l,O=v.Children.toArray(u),h=O.find(mw);if(h){const p=h.props.children,x=O.map(g=>g===h?v.Children.count(p)>1?v.Children.only(null):v.isValidElement(p)?p.props.children:null:g);return r.jsx(n,{...d,ref:o,children:v.isValidElement(p)?v.cloneElement(p,void 0,x):null})}return r.jsx(n,{...d,ref:o,children:u})});return s.displayName=`${t}.Slot`,s}function fw(t){const n=v.forwardRef((s,l)=>{const{children:o,...u}=s;if(v.isValidElement(o)){const d=xw(o),O=pw(u,o.props);return o.type!==v.Fragment&&(O.ref=l?_0(l,d):d),v.cloneElement(o,O)}return v.Children.count(o)>1?v.Children.only(null):null});return n.displayName=`${t}.SlotClone`,n}var Z0=Symbol("radix.slottable");function hw(t){const n=({children:s})=>r.jsx(r.Fragment,{children:s});return n.displayName=`${t}.Slottable`,n.__radixId=Z0,n}function mw(t){return v.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===Z0}function pw(t,n){const s={...n};for(const l in n){const o=t[l],u=n[l];/^on[A-Z]/.test(l)?o&&u?s[l]=(...O)=>{const h=u(...O);return o(...O),h}:o&&(s[l]=o):l==="style"?s[l]={...o,...u}:l==="className"&&(s[l]=[o,u].filter(Boolean).join(" "))}return{...t,...s}}function xw(t){var l,o;let n=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=n&&"isReactWarning"in n&&n.isReactWarning;return s?t.ref:(n=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=n&&"isReactWarning"in n&&n.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var gw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Be=gw.reduce((t,n)=>{const s=uc(`Primitive.${n}`),l=v.forwardRef((o,u)=>{const{asChild:d,...O}=o,h=d?s:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),r.jsx(h,{...O,ref:u})});return l.displayName=`Primitive.${n}`,{...t,[n]:l}},{});function bw(t,n){t&&$0.flushSync(()=>t.dispatchEvent(n))}function zt(t){const n=v.useRef(t);return v.useEffect(()=>{n.current=t}),v.useMemo(()=>(...s)=>{var l;return(l=n.current)==null?void 0:l.call(n,...s)},[])}function vw(t,n=globalThis==null?void 0:globalThis.document){const s=zt(t);v.useEffect(()=>{const l=o=>{o.key==="Escape"&&s(o)};return n.addEventListener("keydown",l,{capture:!0}),()=>n.removeEventListener("keydown",l,{capture:!0})},[s,n])}var yw="DismissableLayer",of="dismissableLayer.update",Sw="dismissableLayer.pointerDownOutside",Qw="dismissableLayer.focusOutside",Xg,A0=v.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),_f=v.forwardRef((t,n)=>{const{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:l,onPointerDownOutside:o,onFocusOutside:u,onInteractOutside:d,onDismiss:O,...h}=t,p=v.useContext(A0),[x,g]=v.useState(null),b=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,y]=v.useState({}),Q=it(n,C=>g(C)),w=Array.from(p.layers),[$]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),j=w.indexOf($),R=x?w.indexOf(x):-1,N=p.layersWithOutsidePointerEventsDisabled.size>0,z=R>=j,Y=kw(C=>{const T=C.target,M=[...p.branches].some(G=>G.contains(T));!z||M||(o==null||o(C),d==null||d(C),C.defaultPrevented||O==null||O())},b),Z=$w(C=>{const T=C.target;[...p.branches].some(G=>G.contains(T))||(u==null||u(C),d==null||d(C),C.defaultPrevented||O==null||O())},b);return vw(C=>{R===p.layers.size-1&&(l==null||l(C),!C.defaultPrevented&&O&&(C.preventDefault(),O()))},b),v.useEffect(()=>{if(x)return s&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(Xg=b.body.style.pointerEvents,b.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(x)),p.layers.add(x),_g(),()=>{s&&p.layersWithOutsidePointerEventsDisabled.size===1&&(b.body.style.pointerEvents=Xg)}},[x,b,s,p]),v.useEffect(()=>()=>{x&&(p.layers.delete(x),p.layersWithOutsidePointerEventsDisabled.delete(x),_g())},[x,p]),v.useEffect(()=>{const C=()=>y({});return document.addEventListener(of,C),()=>document.removeEventListener(of,C)},[]),r.jsx(Be.div,{...h,ref:Q,style:{pointerEvents:N?z?"auto":"none":void 0,...t.style},onFocusCapture:qe(t.onFocusCapture,Z.onFocusCapture),onBlurCapture:qe(t.onBlurCapture,Z.onBlurCapture),onPointerDownCapture:qe(t.onPointerDownCapture,Y.onPointerDownCapture)})});_f.displayName=yw;var jw="DismissableLayerBranch",ww=v.forwardRef((t,n)=>{const s=v.useContext(A0),l=v.useRef(null),o=it(n,l);return v.useEffect(()=>{const u=l.current;if(u)return s.branches.add(u),()=>{s.branches.delete(u)}},[s.branches]),r.jsx(Be.div,{...t,ref:o})});ww.displayName=jw;function kw(t,n=globalThis==null?void 0:globalThis.document){const s=zt(t),l=v.useRef(!1),o=v.useRef(()=>{});return v.useEffect(()=>{const u=O=>{if(O.target&&!l.current){let h=function(){E0(Sw,s,p,{discrete:!0})};const p={originalEvent:O};O.pointerType==="touch"?(n.removeEventListener("click",o.current),o.current=h,n.addEventListener("click",o.current,{once:!0})):h()}else n.removeEventListener("click",o.current);l.current=!1},d=window.setTimeout(()=>{n.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(d),n.removeEventListener("pointerdown",u),n.removeEventListener("click",o.current)}},[n,s]),{onPointerDownCapture:()=>l.current=!0}}function $w(t,n=globalThis==null?void 0:globalThis.document){const s=zt(t),l=v.useRef(!1);return v.useEffect(()=>{const o=u=>{u.target&&!l.current&&E0(Qw,s,{originalEvent:u},{discrete:!1})};return n.addEventListener("focusin",o),()=>n.removeEventListener("focusin",o)},[n,s]),{onFocusCapture:()=>l.current=!0,onBlurCapture:()=>l.current=!1}}function _g(){const t=new CustomEvent(of);document.dispatchEvent(t)}function E0(t,n,s,{discrete:l}){const o=s.originalEvent.target,u=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:s});n&&o.addEventListener(t,n,{once:!0}),l?bw(o,u):o.dispatchEvent(u)}var ln=globalThis!=null&&globalThis.document?v.useLayoutEffect:()=>{},Tw=j0[" useId ".trim().toString()]||(()=>{}),Nw=0;function Tl(t){const[n,s]=v.useState(Tw());return ln(()=>{s(l=>l??String(Nw++))},[t]),t||(n?`radix-${n}`:"")}const Pw=["top","right","bottom","left"],In=Math.min,Lt=Math.max,dc=Math.round,Mo=Math.floor,$a=t=>({x:t,y:t}),zw={left:"right",right:"left",bottom:"top",top:"bottom"};function cf(t,n,s){return Lt(t,In(n,s))}function rn(t,n){return typeof t=="function"?t(n):t}function on(t){return t.split("-")[0]}function Gl(t){return t.split("-")[1]}function Zf(t){return t==="x"?"y":"x"}function Af(t){return t==="y"?"height":"width"}function ka(t){const n=t[0];return n==="t"||n==="b"?"y":"x"}function Ef(t){return Zf(ka(t))}function Rw(t,n,s){s===void 0&&(s=!1);const l=Gl(t),o=Ef(t),u=Af(o);let d=o==="x"?l===(s?"end":"start")?"right":"left":l==="start"?"bottom":"top";return n.reference[u]>n.floating[u]&&(d=Oc(d)),[d,Oc(d)]}function Cw(t){const n=Oc(t);return[uf(t),n,uf(n)]}function uf(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Zg=["left","right"],Ag=["right","left"],Xw=["top","bottom"],_w=["bottom","top"];function Zw(t,n,s){switch(t){case"top":case"bottom":return s?n?Ag:Zg:n?Zg:Ag;case"left":case"right":return n?Xw:_w;default:return[]}}function Aw(t,n,s,l){const o=Gl(t);let u=Zw(on(t),s==="start",l);return o&&(u=u.map(d=>d+"-"+o),n&&(u=u.concat(u.map(uf)))),u}function Oc(t){const n=on(t);return zw[n]+t.slice(n.length)}function Ew(t){return{top:0,right:0,bottom:0,left:0,...t}}function q0(t){return typeof t!="number"?Ew(t):{top:t,right:t,bottom:t,left:t}}function fc(t){const{x:n,y:s,width:l,height:o}=t;return{width:l,height:o,top:s,left:n,right:n+l,bottom:s+o,x:n,y:s}}function Eg(t,n,s){let{reference:l,floating:o}=t;const u=ka(n),d=Ef(n),O=Af(d),h=on(n),p=u==="y",x=l.x+l.width/2-o.width/2,g=l.y+l.height/2-o.height/2,b=l[O]/2-o[O]/2;let y;switch(h){case"top":y={x,y:l.y-o.height};break;case"bottom":y={x,y:l.y+l.height};break;case"right":y={x:l.x+l.width,y:g};break;case"left":y={x:l.x-o.width,y:g};break;default:y={x:l.x,y:l.y}}switch(Gl(n)){case"start":y[d]-=b*(s&&p?-1:1);break;case"end":y[d]+=b*(s&&p?-1:1);break}return y}async function qw(t,n){var s;n===void 0&&(n={});const{x:l,y:o,platform:u,rects:d,elements:O,strategy:h}=t,{boundary:p="clippingAncestors",rootBoundary:x="viewport",elementContext:g="floating",altBoundary:b=!1,padding:y=0}=rn(n,t),Q=q0(y),$=O[b?g==="floating"?"reference":"floating":g],j=fc(await u.getClippingRect({element:(s=await(u.isElement==null?void 0:u.isElement($)))==null||s?$:$.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(O.floating)),boundary:p,rootBoundary:x,strategy:h})),R=g==="floating"?{x:l,y:o,width:d.floating.width,height:d.floating.height}:d.reference,N=await(u.getOffsetParent==null?void 0:u.getOffsetParent(O.floating)),z=await(u.isElement==null?void 0:u.isElement(N))?await(u.getScale==null?void 0:u.getScale(N))||{x:1,y:1}:{x:1,y:1},Y=fc(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:O,rect:R,offsetParent:N,strategy:h}):R);return{top:(j.top-Y.top+Q.top)/z.y,bottom:(Y.bottom-j.bottom+Q.bottom)/z.y,left:(j.left-Y.left+Q.left)/z.x,right:(Y.right-j.right+Q.right)/z.x}}const Mw=50,Yw=async(t,n,s)=>{const{placement:l="bottom",strategy:o="absolute",middleware:u=[],platform:d}=s,O=d.detectOverflow?d:{...d,detectOverflow:qw},h=await(d.isRTL==null?void 0:d.isRTL(n));let p=await d.getElementRects({reference:t,floating:n,strategy:o}),{x,y:g}=Eg(p,l,h),b=l,y=0;const Q={};for(let w=0;w<u.length;w++){const $=u[w];if(!$)continue;const{name:j,fn:R}=$,{x:N,y:z,data:Y,reset:Z}=await R({x,y:g,initialPlacement:l,placement:b,strategy:o,middlewareData:Q,rects:p,platform:O,elements:{reference:t,floating:n}});x=N??x,g=z??g,Q[j]={...Q[j],...Y},Z&&y<Mw&&(y++,typeof Z=="object"&&(Z.placement&&(b=Z.placement),Z.rects&&(p=Z.rects===!0?await d.getElementRects({reference:t,floating:n,strategy:o}):Z.rects),{x,y:g}=Eg(p,b,h)),w=-1)}return{x,y:g,placement:b,strategy:o,middlewareData:Q}},Uw=t=>({name:"arrow",options:t,async fn(n){const{x:s,y:l,placement:o,rects:u,platform:d,elements:O,middlewareData:h}=n,{element:p,padding:x=0}=rn(t,n)||{};if(p==null)return{};const g=q0(x),b={x:s,y:l},y=Ef(o),Q=Af(y),w=await d.getDimensions(p),$=y==="y",j=$?"top":"left",R=$?"bottom":"right",N=$?"clientHeight":"clientWidth",z=u.reference[Q]+u.reference[y]-b[y]-u.floating[Q],Y=b[y]-u.reference[y],Z=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let C=Z?Z[N]:0;(!C||!await(d.isElement==null?void 0:d.isElement(Z)))&&(C=O.floating[N]||u.floating[Q]);const T=z/2-Y/2,M=C/2-w[Q]/2-1,G=In(g[j],M),ne=In(g[R],M),F=G,ce=C-w[Q]-ne,re=C/2-w[Q]/2+T,I=cf(F,re,ce),P=!h.arrow&&Gl(o)!=null&&re!==I&&u.reference[Q]/2-(re<F?G:ne)-w[Q]/2<0,W=P?re<F?re-F:re-ce:0;return{[y]:b[y]+W,data:{[y]:I,centerOffset:re-I-W,...P&&{alignmentOffset:W}},reset:P}}}),Vw=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(n){var s,l;const{placement:o,middlewareData:u,rects:d,initialPlacement:O,platform:h,elements:p}=n,{mainAxis:x=!0,crossAxis:g=!0,fallbackPlacements:b,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:Q="none",flipAlignment:w=!0,...$}=rn(t,n);if((s=u.arrow)!=null&&s.alignmentOffset)return{};const j=on(o),R=ka(O),N=on(O)===O,z=await(h.isRTL==null?void 0:h.isRTL(p.floating)),Y=b||(N||!w?[Oc(O)]:Cw(O)),Z=Q!=="none";!b&&Z&&Y.push(...Aw(O,w,Q,z));const C=[O,...Y],T=await h.detectOverflow(n,$),M=[];let G=((l=u.flip)==null?void 0:l.overflows)||[];if(x&&M.push(T[j]),g){const re=Rw(o,d,z);M.push(T[re[0]],T[re[1]])}if(G=[...G,{placement:o,overflows:M}],!M.every(re=>re<=0)){var ne,F;const re=(((ne=u.flip)==null?void 0:ne.index)||0)+1,I=C[re];if(I&&(!(g==="alignment"?R!==ka(I):!1)||G.every(E=>ka(E.placement)===R?E.overflows[0]>0:!0)))return{data:{index:re,overflows:G},reset:{placement:I}};let P=(F=G.filter(W=>W.overflows[0]<=0).sort((W,E)=>W.overflows[1]-E.overflows[1])[0])==null?void 0:F.placement;if(!P)switch(y){case"bestFit":{var ce;const W=(ce=G.filter(E=>{if(Z){const oe=ka(E.placement);return oe===R||oe==="y"}return!0}).map(E=>[E.placement,E.overflows.filter(oe=>oe>0).reduce((oe,J)=>oe+J,0)]).sort((E,oe)=>E[1]-oe[1])[0])==null?void 0:ce[0];W&&(P=W);break}case"initialPlacement":P=O;break}if(o!==P)return{reset:{placement:P}}}return{}}}};function qg(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function Mg(t){return Pw.some(n=>t[n]>=0)}const Gw=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(n){const{rects:s,platform:l}=n,{strategy:o="referenceHidden",...u}=rn(t,n);switch(o){case"referenceHidden":{const d=await l.detectOverflow(n,{...u,elementContext:"reference"}),O=qg(d,s.reference);return{data:{referenceHiddenOffsets:O,referenceHidden:Mg(O)}}}case"escaped":{const d=await l.detectOverflow(n,{...u,altBoundary:!0}),O=qg(d,s.floating);return{data:{escapedOffsets:O,escaped:Mg(O)}}}default:return{}}}}},M0=new Set(["left","top"]);async function Lw(t,n){const{placement:s,platform:l,elements:o}=t,u=await(l.isRTL==null?void 0:l.isRTL(o.floating)),d=on(s),O=Gl(s),h=ka(s)==="y",p=M0.has(d)?-1:1,x=u&&h?-1:1,g=rn(n,t);let{mainAxis:b,crossAxis:y,alignmentAxis:Q}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return O&&typeof Q=="number"&&(y=O==="end"?Q*-1:Q),h?{x:y*x,y:b*p}:{x:b*p,y:y*x}}const Dw=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(n){var s,l;const{x:o,y:u,placement:d,middlewareData:O}=n,h=await Lw(n,t);return d===((s=O.offset)==null?void 0:s.placement)&&(l=O.arrow)!=null&&l.alignmentOffset?{}:{x:o+h.x,y:u+h.y,data:{...h,placement:d}}}}},Ww=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(n){const{x:s,y:l,placement:o,platform:u}=n,{mainAxis:d=!0,crossAxis:O=!1,limiter:h={fn:j=>{let{x:R,y:N}=j;return{x:R,y:N}}},...p}=rn(t,n),x={x:s,y:l},g=await u.detectOverflow(n,p),b=ka(on(o)),y=Zf(b);let Q=x[y],w=x[b];if(d){const j=y==="y"?"top":"left",R=y==="y"?"bottom":"right",N=Q+g[j],z=Q-g[R];Q=cf(N,Q,z)}if(O){const j=b==="y"?"top":"left",R=b==="y"?"bottom":"right",N=w+g[j],z=w-g[R];w=cf(N,w,z)}const $=h.fn({...n,[y]:Q,[b]:w});return{...$,data:{x:$.x-s,y:$.y-l,enabled:{[y]:d,[b]:O}}}}}},Bw=function(t){return t===void 0&&(t={}),{options:t,fn(n){const{x:s,y:l,placement:o,rects:u,middlewareData:d}=n,{offset:O=0,mainAxis:h=!0,crossAxis:p=!0}=rn(t,n),x={x:s,y:l},g=ka(o),b=Zf(g);let y=x[b],Q=x[g];const w=rn(O,n),$=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(h){const N=b==="y"?"height":"width",z=u.reference[b]-u.floating[N]+$.mainAxis,Y=u.reference[b]+u.reference[N]-$.mainAxis;y<z?y=z:y>Y&&(y=Y)}if(p){var j,R;const N=b==="y"?"width":"height",z=M0.has(on(o)),Y=u.reference[g]-u.floating[N]+(z&&((j=d.offset)==null?void 0:j[g])||0)+(z?0:$.crossAxis),Z=u.reference[g]+u.reference[N]+(z?0:((R=d.offset)==null?void 0:R[g])||0)-(z?$.crossAxis:0);Q<Y?Q=Y:Q>Z&&(Q=Z)}return{[b]:y,[g]:Q}}}},Hw=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(n){var s,l;const{placement:o,rects:u,platform:d,elements:O}=n,{apply:h=()=>{},...p}=rn(t,n),x=await d.detectOverflow(n,p),g=on(o),b=Gl(o),y=ka(o)==="y",{width:Q,height:w}=u.floating;let $,j;g==="top"||g==="bottom"?($=g,j=b===(await(d.isRTL==null?void 0:d.isRTL(O.floating))?"start":"end")?"left":"right"):(j=g,$=b==="end"?"top":"bottom");const R=w-x.top-x.bottom,N=Q-x.left-x.right,z=In(w-x[$],R),Y=In(Q-x[j],N),Z=!n.middlewareData.shift;let C=z,T=Y;if((s=n.middlewareData.shift)!=null&&s.enabled.x&&(T=N),(l=n.middlewareData.shift)!=null&&l.enabled.y&&(C=R),Z&&!b){const G=Lt(x.left,0),ne=Lt(x.right,0),F=Lt(x.top,0),ce=Lt(x.bottom,0);y?T=Q-2*(G!==0||ne!==0?G+ne:Lt(x.left,x.right)):C=w-2*(F!==0||ce!==0?F+ce:Lt(x.top,x.bottom))}await h({...n,availableWidth:T,availableHeight:C});const M=await d.getDimensions(O.floating);return Q!==M.width||w!==M.height?{reset:{rects:!0}}:{}}}};function Zc(){return typeof window<"u"}function Ll(t){return Y0(t)?(t.nodeName||"").toLowerCase():"#document"}function Wt(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function Na(t){var n;return(n=(Y0(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function Y0(t){return Zc()?t instanceof Node||t instanceof Wt(t).Node:!1}function ma(t){return Zc()?t instanceof Element||t instanceof Wt(t).Element:!1}function On(t){return Zc()?t instanceof HTMLElement||t instanceof Wt(t).HTMLElement:!1}function Yg(t){return!Zc()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Wt(t).ShadowRoot}function fi(t){const{overflow:n,overflowX:s,overflowY:l,display:o}=pa(t);return/auto|scroll|overlay|hidden|clip/.test(n+l+s)&&o!=="inline"&&o!=="contents"}function Iw(t){return/^(table|td|th)$/.test(Ll(t))}function Ac(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Fw=/transform|translate|scale|rotate|perspective|filter/,Kw=/paint|layout|strict|content/,Ss=t=>!!t&&t!=="none";let gO;function qf(t){const n=ma(t)?pa(t):t;return Ss(n.transform)||Ss(n.translate)||Ss(n.scale)||Ss(n.rotate)||Ss(n.perspective)||!Mf()&&(Ss(n.backdropFilter)||Ss(n.filter))||Fw.test(n.willChange||"")||Kw.test(n.contain||"")}function Jw(t){let n=Fn(t);for(;On(n)&&!Zl(n);){if(qf(n))return n;if(Ac(n))return null;n=Fn(n)}return null}function Mf(){return gO==null&&(gO=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),gO}function Zl(t){return/^(html|body|#document)$/.test(Ll(t))}function pa(t){return Wt(t).getComputedStyle(t)}function Ec(t){return ma(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Fn(t){if(Ll(t)==="html")return t;const n=t.assignedSlot||t.parentNode||Yg(t)&&t.host||Na(t);return Yg(n)?n.host:n}function U0(t){const n=Fn(t);return Zl(n)?t.ownerDocument?t.ownerDocument.body:t.body:On(n)&&fi(n)?n:U0(n)}function ei(t,n,s){var l;n===void 0&&(n=[]),s===void 0&&(s=!0);const o=U0(t),u=o===((l=t.ownerDocument)==null?void 0:l.body),d=Wt(o);if(u){const O=df(d);return n.concat(d,d.visualViewport||[],fi(o)?o:[],O&&s?ei(O):[])}else return n.concat(o,ei(o,[],s))}function df(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function V0(t){const n=pa(t);let s=parseFloat(n.width)||0,l=parseFloat(n.height)||0;const o=On(t),u=o?t.offsetWidth:s,d=o?t.offsetHeight:l,O=dc(s)!==u||dc(l)!==d;return O&&(s=u,l=d),{width:s,height:l,$:O}}function Yf(t){return ma(t)?t:t.contextElement}function Nl(t){const n=Yf(t);if(!On(n))return $a(1);const s=n.getBoundingClientRect(),{width:l,height:o,$:u}=V0(n);let d=(u?dc(s.width):s.width)/l,O=(u?dc(s.height):s.height)/o;return(!d||!Number.isFinite(d))&&(d=1),(!O||!Number.isFinite(O))&&(O=1),{x:d,y:O}}const ek=$a(0);function G0(t){const n=Wt(t);return!Mf()||!n.visualViewport?ek:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function tk(t,n,s){return n===void 0&&(n=!1),!s||n&&s!==Wt(t)?!1:n}function $s(t,n,s,l){n===void 0&&(n=!1),s===void 0&&(s=!1);const o=t.getBoundingClientRect(),u=Yf(t);let d=$a(1);n&&(l?ma(l)&&(d=Nl(l)):d=Nl(t));const O=tk(u,s,l)?G0(u):$a(0);let h=(o.left+O.x)/d.x,p=(o.top+O.y)/d.y,x=o.width/d.x,g=o.height/d.y;if(u){const b=Wt(u),y=l&&ma(l)?Wt(l):l;let Q=b,w=df(Q);for(;w&&l&&y!==Q;){const $=Nl(w),j=w.getBoundingClientRect(),R=pa(w),N=j.left+(w.clientLeft+parseFloat(R.paddingLeft))*$.x,z=j.top+(w.clientTop+parseFloat(R.paddingTop))*$.y;h*=$.x,p*=$.y,x*=$.x,g*=$.y,h+=N,p+=z,Q=Wt(w),w=df(Q)}}return fc({width:x,height:g,x:h,y:p})}function qc(t,n){const s=Ec(t).scrollLeft;return n?n.left+s:$s(Na(t)).left+s}function L0(t,n){const s=t.getBoundingClientRect(),l=s.left+n.scrollLeft-qc(t,s),o=s.top+n.scrollTop;return{x:l,y:o}}function ak(t){let{elements:n,rect:s,offsetParent:l,strategy:o}=t;const u=o==="fixed",d=Na(l),O=n?Ac(n.floating):!1;if(l===d||O&&u)return s;let h={scrollLeft:0,scrollTop:0},p=$a(1);const x=$a(0),g=On(l);if((g||!g&&!u)&&((Ll(l)!=="body"||fi(d))&&(h=Ec(l)),g)){const y=$s(l);p=Nl(l),x.x=y.x+l.clientLeft,x.y=y.y+l.clientTop}const b=d&&!g&&!u?L0(d,h):$a(0);return{width:s.width*p.x,height:s.height*p.y,x:s.x*p.x-h.scrollLeft*p.x+x.x+b.x,y:s.y*p.y-h.scrollTop*p.y+x.y+b.y}}function nk(t){return Array.from(t.getClientRects())}function sk(t){const n=Na(t),s=Ec(t),l=t.ownerDocument.body,o=Lt(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),u=Lt(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight);let d=-s.scrollLeft+qc(t);const O=-s.scrollTop;return pa(l).direction==="rtl"&&(d+=Lt(n.clientWidth,l.clientWidth)-o),{width:o,height:u,x:d,y:O}}const Ug=25;function lk(t,n){const s=Wt(t),l=Na(t),o=s.visualViewport;let u=l.clientWidth,d=l.clientHeight,O=0,h=0;if(o){u=o.width,d=o.height;const x=Mf();(!x||x&&n==="fixed")&&(O=o.offsetLeft,h=o.offsetTop)}const p=qc(l);if(p<=0){const x=l.ownerDocument,g=x.body,b=getComputedStyle(g),y=x.compatMode==="CSS1Compat"&&parseFloat(b.marginLeft)+parseFloat(b.marginRight)||0,Q=Math.abs(l.clientWidth-g.clientWidth-y);Q<=Ug&&(u-=Q)}else p<=Ug&&(u+=p);return{width:u,height:d,x:O,y:h}}function rk(t,n){const s=$s(t,!0,n==="fixed"),l=s.top+t.clientTop,o=s.left+t.clientLeft,u=On(t)?Nl(t):$a(1),d=t.clientWidth*u.x,O=t.clientHeight*u.y,h=o*u.x,p=l*u.y;return{width:d,height:O,x:h,y:p}}function Vg(t,n,s){let l;if(n==="viewport")l=lk(t,s);else if(n==="document")l=sk(Na(t));else if(ma(n))l=rk(n,s);else{const o=G0(t);l={x:n.x-o.x,y:n.y-o.y,width:n.width,height:n.height}}return fc(l)}function D0(t,n){const s=Fn(t);return s===n||!ma(s)||Zl(s)?!1:pa(s).position==="fixed"||D0(s,n)}function ik(t,n){const s=n.get(t);if(s)return s;let l=ei(t,[],!1).filter(O=>ma(O)&&Ll(O)!=="body"),o=null;const u=pa(t).position==="fixed";let d=u?Fn(t):t;for(;ma(d)&&!Zl(d);){const O=pa(d),h=qf(d);!h&&O.position==="fixed"&&(o=null),(u?!h&&!o:!h&&O.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||fi(d)&&!h&&D0(t,d))?l=l.filter(x=>x!==d):o=O,d=Fn(d)}return n.set(t,l),l}function ok(t){let{element:n,boundary:s,rootBoundary:l,strategy:o}=t;const d=[...s==="clippingAncestors"?Ac(n)?[]:ik(n,this._c):[].concat(s),l],O=Vg(n,d[0],o);let h=O.top,p=O.right,x=O.bottom,g=O.left;for(let b=1;b<d.length;b++){const y=Vg(n,d[b],o);h=Lt(y.top,h),p=In(y.right,p),x=In(y.bottom,x),g=Lt(y.left,g)}return{width:p-g,height:x-h,x:g,y:h}}function ck(t){const{width:n,height:s}=V0(t);return{width:n,height:s}}function uk(t,n,s){const l=On(n),o=Na(n),u=s==="fixed",d=$s(t,!0,u,n);let O={scrollLeft:0,scrollTop:0};const h=$a(0);function p(){h.x=qc(o)}if(l||!l&&!u)if((Ll(n)!=="body"||fi(o))&&(O=Ec(n)),l){const y=$s(n,!0,u,n);h.x=y.x+n.clientLeft,h.y=y.y+n.clientTop}else o&&p();u&&!l&&o&&p();const x=o&&!l&&!u?L0(o,O):$a(0),g=d.left+O.scrollLeft-h.x-x.x,b=d.top+O.scrollTop-h.y-x.y;return{x:g,y:b,width:d.width,height:d.height}}function bO(t){return pa(t).position==="static"}function Gg(t,n){if(!On(t)||pa(t).position==="fixed")return null;if(n)return n(t);let s=t.offsetParent;return Na(t)===s&&(s=s.ownerDocument.body),s}function W0(t,n){const s=Wt(t);if(Ac(t))return s;if(!On(t)){let o=Fn(t);for(;o&&!Zl(o);){if(ma(o)&&!bO(o))return o;o=Fn(o)}return s}let l=Gg(t,n);for(;l&&Iw(l)&&bO(l);)l=Gg(l,n);return l&&Zl(l)&&bO(l)&&!qf(l)?s:l||Jw(t)||s}const dk=async function(t){const n=this.getOffsetParent||W0,s=this.getDimensions,l=await s(t.floating);return{reference:uk(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Ok(t){return pa(t).direction==="rtl"}const fk={convertOffsetParentRelativeRectToViewportRelativeRect:ak,getDocumentElement:Na,getClippingRect:ok,getOffsetParent:W0,getElementRects:dk,getClientRects:nk,getDimensions:ck,getScale:Nl,isElement:ma,isRTL:Ok};function B0(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function hk(t,n){let s=null,l;const o=Na(t);function u(){var O;clearTimeout(l),(O=s)==null||O.disconnect(),s=null}function d(O,h){O===void 0&&(O=!1),h===void 0&&(h=1),u();const p=t.getBoundingClientRect(),{left:x,top:g,width:b,height:y}=p;if(O||n(),!b||!y)return;const Q=Mo(g),w=Mo(o.clientWidth-(x+b)),$=Mo(o.clientHeight-(g+y)),j=Mo(x),N={rootMargin:-Q+"px "+-w+"px "+-$+"px "+-j+"px",threshold:Lt(0,In(1,h))||1};let z=!0;function Y(Z){const C=Z[0].intersectionRatio;if(C!==h){if(!z)return d();C?d(!1,C):l=setTimeout(()=>{d(!1,1e-7)},1e3)}C===1&&!B0(p,t.getBoundingClientRect())&&d(),z=!1}try{s=new IntersectionObserver(Y,{...N,root:o.ownerDocument})}catch{s=new IntersectionObserver(Y,N)}s.observe(t)}return d(!0),u}function mk(t,n,s,l){l===void 0&&(l={});const{ancestorScroll:o=!0,ancestorResize:u=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:O=typeof IntersectionObserver=="function",animationFrame:h=!1}=l,p=Yf(t),x=o||u?[...p?ei(p):[],...n?ei(n):[]]:[];x.forEach(j=>{o&&j.addEventListener("scroll",s,{passive:!0}),u&&j.addEventListener("resize",s)});const g=p&&O?hk(p,s):null;let b=-1,y=null;d&&(y=new ResizeObserver(j=>{let[R]=j;R&&R.target===p&&y&&n&&(y.unobserve(n),cancelAnimationFrame(b),b=requestAnimationFrame(()=>{var N;(N=y)==null||N.observe(n)})),s()}),p&&!h&&y.observe(p),n&&y.observe(n));let Q,w=h?$s(t):null;h&&$();function $(){const j=$s(t);w&&!B0(w,j)&&s(),w=j,Q=requestAnimationFrame($)}return s(),()=>{var j;x.forEach(R=>{o&&R.removeEventListener("scroll",s),u&&R.removeEventListener("resize",s)}),g==null||g(),(j=y)==null||j.disconnect(),y=null,h&&cancelAnimationFrame(Q)}}const pk=Dw,xk=Ww,gk=Vw,bk=Hw,vk=Gw,Lg=Uw,yk=Bw,Sk=(t,n,s)=>{const l=new Map,o={platform:fk,...s},u={...o.platform,_c:l};return Yw(t,n,{...o,platform:u})};var Qk=typeof document<"u",jk=function(){},ac=Qk?v.useLayoutEffect:jk;function hc(t,n){if(t===n)return!0;if(typeof t!=typeof n)return!1;if(typeof t=="function"&&t.toString()===n.toString())return!0;let s,l,o;if(t&&n&&typeof t=="object"){if(Array.isArray(t)){if(s=t.length,s!==n.length)return!1;for(l=s;l--!==0;)if(!hc(t[l],n[l]))return!1;return!0}if(o=Object.keys(t),s=o.length,s!==Object.keys(n).length)return!1;for(l=s;l--!==0;)if(!{}.hasOwnProperty.call(n,o[l]))return!1;for(l=s;l--!==0;){const u=o[l];if(!(u==="_owner"&&t.$$typeof)&&!hc(t[u],n[u]))return!1}return!0}return t!==t&&n!==n}function H0(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Dg(t,n){const s=H0(t);return Math.round(n*s)/s}function vO(t){const n=v.useRef(t);return ac(()=>{n.current=t}),n}function wk(t){t===void 0&&(t={});const{placement:n="bottom",strategy:s="absolute",middleware:l=[],platform:o,elements:{reference:u,floating:d}={},transform:O=!0,whileElementsMounted:h,open:p}=t,[x,g]=v.useState({x:0,y:0,strategy:s,placement:n,middlewareData:{},isPositioned:!1}),[b,y]=v.useState(l);hc(b,l)||y(l);const[Q,w]=v.useState(null),[$,j]=v.useState(null),R=v.useCallback(E=>{E!==Z.current&&(Z.current=E,w(E))},[]),N=v.useCallback(E=>{E!==C.current&&(C.current=E,j(E))},[]),z=u||Q,Y=d||$,Z=v.useRef(null),C=v.useRef(null),T=v.useRef(x),M=h!=null,G=vO(h),ne=vO(o),F=vO(p),ce=v.useCallback(()=>{if(!Z.current||!C.current)return;const E={placement:n,strategy:s,middleware:b};ne.current&&(E.platform=ne.current),Sk(Z.current,C.current,E).then(oe=>{const J={...oe,isPositioned:F.current!==!1};re.current&&!hc(T.current,J)&&(T.current=J,$0.flushSync(()=>{g(J)}))})},[b,n,s,ne,F]);ac(()=>{p===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,g(E=>({...E,isPositioned:!1})))},[p]);const re=v.useRef(!1);ac(()=>(re.current=!0,()=>{re.current=!1}),[]),ac(()=>{if(z&&(Z.current=z),Y&&(C.current=Y),z&&Y){if(G.current)return G.current(z,Y,ce);ce()}},[z,Y,ce,G,M]);const I=v.useMemo(()=>({reference:Z,floating:C,setReference:R,setFloating:N}),[R,N]),P=v.useMemo(()=>({reference:z,floating:Y}),[z,Y]),W=v.useMemo(()=>{const E={position:s,left:0,top:0};if(!P.floating)return E;const oe=Dg(P.floating,x.x),J=Dg(P.floating,x.y);return O?{...E,transform:"translate("+oe+"px, "+J+"px)",...H0(P.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:oe,top:J}},[s,O,P.floating,x.x,x.y]);return v.useMemo(()=>({...x,update:ce,refs:I,elements:P,floatingStyles:W}),[x,ce,I,P,W])}const kk=t=>{function n(s){return{}.hasOwnProperty.call(s,"current")}return{name:"arrow",options:t,fn(s){const{element:l,padding:o}=typeof t=="function"?t(s):t;return l&&n(l)?l.current!=null?Lg({element:l.current,padding:o}).fn(s):{}:l?Lg({element:l,padding:o}).fn(s):{}}}},$k=(t,n)=>{const s=pk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Tk=(t,n)=>{const s=xk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Nk=(t,n)=>({fn:yk(t).fn,options:[t,n]}),Pk=(t,n)=>{const s=gk(t);return{name:s.name,fn:s.fn,options:[t,n]}},zk=(t,n)=>{const s=bk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Rk=(t,n)=>{const s=vk(t);return{name:s.name,fn:s.fn,options:[t,n]}},Ck=(t,n)=>{const s=kk(t);return{name:s.name,fn:s.fn,options:[t,n]}};var Xk="Arrow",I0=v.forwardRef((t,n)=>{const{children:s,width:l=10,height:o=5,...u}=t;return r.jsx(Be.svg,{...u,ref:n,width:l,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:t.asChild?s:r.jsx("polygon",{points:"0,0 30,0 15,10"})})});I0.displayName=Xk;var _k=I0;function Zk(t){const[n,s]=v.useState(void 0);return ln(()=>{if(t){s({width:t.offsetWidth,height:t.offsetHeight});const l=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const u=o[0];let d,O;if("borderBoxSize"in u){const h=u.borderBoxSize,p=Array.isArray(h)?h[0]:h;d=p.inlineSize,O=p.blockSize}else d=t.offsetWidth,O=t.offsetHeight;s({width:d,height:O})});return l.observe(t,{box:"border-box"}),()=>l.unobserve(t)}else s(void 0)},[t]),n}var Uf="Popper",[F0,K0]=Xs(Uf),[Ak,J0]=F0(Uf),eb=t=>{const{__scopePopper:n,children:s}=t,[l,o]=v.useState(null);return r.jsx(Ak,{scope:n,anchor:l,onAnchorChange:o,children:s})};eb.displayName=Uf;var tb="PopperAnchor",ab=v.forwardRef((t,n)=>{const{__scopePopper:s,virtualRef:l,...o}=t,u=J0(tb,s),d=v.useRef(null),O=it(n,d),h=v.useRef(null);return v.useEffect(()=>{const p=h.current;h.current=(l==null?void 0:l.current)||d.current,p!==h.current&&u.onAnchorChange(h.current)}),l?null:r.jsx(Be.div,{...o,ref:O})});ab.displayName=tb;var Vf="PopperContent",[Ek,qk]=F0(Vf),nb=v.forwardRef((t,n)=>{var Ce,Ot,Ae,He,bt,ca;const{__scopePopper:s,side:l="bottom",sideOffset:o=0,align:u="center",alignOffset:d=0,arrowPadding:O=0,avoidCollisions:h=!0,collisionBoundary:p=[],collisionPadding:x=0,sticky:g="partial",hideWhenDetached:b=!1,updatePositionStrategy:y="optimized",onPlaced:Q,...w}=t,$=J0(Vf,s),[j,R]=v.useState(null),N=it(n,Bt=>R(Bt)),[z,Y]=v.useState(null),Z=Zk(z),C=(Z==null?void 0:Z.width)??0,T=(Z==null?void 0:Z.height)??0,M=l+(u!=="center"?"-"+u:""),G=typeof x=="number"?x:{top:0,right:0,bottom:0,left:0,...x},ne=Array.isArray(p)?p:[p],F=ne.length>0,ce={padding:G,boundary:ne.filter(Yk),altBoundary:F},{refs:re,floatingStyles:I,placement:P,isPositioned:W,middlewareData:E}=wk({strategy:"fixed",placement:M,whileElementsMounted:(...Bt)=>mk(...Bt,{animationFrame:y==="always"}),elements:{reference:$.anchor},middleware:[$k({mainAxis:o+T,alignmentAxis:d}),h&&Tk({mainAxis:!0,crossAxis:!1,limiter:g==="partial"?Nk():void 0,...ce}),h&&Pk({...ce}),zk({...ce,apply:({elements:Bt,rects:yt,availableWidth:Il,availableHeight:Fl})=>{const{width:eu,height:yi}=yt.reference,hn=Bt.floating.style;hn.setProperty("--radix-popper-available-width",`${Il}px`),hn.setProperty("--radix-popper-available-height",`${Fl}px`),hn.setProperty("--radix-popper-anchor-width",`${eu}px`),hn.setProperty("--radix-popper-anchor-height",`${yi}px`)}}),z&&Ck({element:z,padding:O}),Uk({arrowWidth:C,arrowHeight:T}),b&&Rk({strategy:"referenceHidden",...ce})]}),[oe,J]=rb(P),we=zt(Q);ln(()=>{W&&(we==null||we())},[W,we]);const ye=(Ce=E.arrow)==null?void 0:Ce.x,ve=(Ot=E.arrow)==null?void 0:Ot.y,Re=((Ae=E.arrow)==null?void 0:Ae.centerOffset)!==0,[B,ue]=v.useState();return ln(()=>{j&&ue(window.getComputedStyle(j).zIndex)},[j]),r.jsx("div",{ref:re.setFloating,"data-radix-popper-content-wrapper":"",style:{...I,transform:W?I.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:B,"--radix-popper-transform-origin":[(He=E.transformOrigin)==null?void 0:He.x,(bt=E.transformOrigin)==null?void 0:bt.y].join(" "),...((ca=E.hide)==null?void 0:ca.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:r.jsx(Ek,{scope:s,placedSide:oe,onArrowChange:Y,arrowX:ye,arrowY:ve,shouldHideArrow:Re,children:r.jsx(Be.div,{"data-side":oe,"data-align":J,...w,ref:N,style:{...w.style,animation:W?void 0:"none"}})})})});nb.displayName=Vf;var sb="PopperArrow",Mk={top:"bottom",right:"left",bottom:"top",left:"right"},lb=v.forwardRef(function(n,s){const{__scopePopper:l,...o}=n,u=qk(sb,l),d=Mk[u.placedSide];return r.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:r.jsx(_k,{...o,ref:s,style:{...o.style,display:"block"}})})});lb.displayName=sb;function Yk(t){return t!==null}var Uk=t=>({name:"transformOrigin",options:t,fn(n){var $,j,R;const{placement:s,rects:l,middlewareData:o}=n,d=(($=o.arrow)==null?void 0:$.centerOffset)!==0,O=d?0:t.arrowWidth,h=d?0:t.arrowHeight,[p,x]=rb(s),g={start:"0%",center:"50%",end:"100%"}[x],b=(((j=o.arrow)==null?void 0:j.x)??0)+O/2,y=(((R=o.arrow)==null?void 0:R.y)??0)+h/2;let Q="",w="";return p==="bottom"?(Q=d?g:`${b}px`,w=`${-h}px`):p==="top"?(Q=d?g:`${b}px`,w=`${l.floating.height+h}px`):p==="right"?(Q=`${-h}px`,w=d?g:`${y}px`):p==="left"&&(Q=`${l.floating.width+h}px`,w=d?g:`${y}px`),{data:{x:Q,y:w}}}});function rb(t){const[n,s="center"]=t.split("-");return[n,s]}var Vk=eb,Gk=ab,Lk=nb,Dk=lb,Wk="Portal",Gf=v.forwardRef((t,n)=>{var O;const{container:s,...l}=t,[o,u]=v.useState(!1);ln(()=>u(!0),[]);const d=s||o&&((O=globalThis==null?void 0:globalThis.document)==null?void 0:O.body);return d?Sj.createPortal(r.jsx(Be.div,{...l,ref:n}),d):null});Gf.displayName=Wk;function Bk(t,n){return v.useReducer((s,l)=>n[s][l]??s,t)}var ga=t=>{const{present:n,children:s}=t,l=Hk(n),o=typeof s=="function"?s({present:l.isPresent}):v.Children.only(s),u=it(l.ref,Ik(o));return typeof s=="function"||l.isPresent?v.cloneElement(o,{ref:u}):null};ga.displayName="Presence";function Hk(t){const[n,s]=v.useState(),l=v.useRef(null),o=v.useRef(t),u=v.useRef("none"),d=t?"mounted":"unmounted",[O,h]=Bk(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return v.useEffect(()=>{const p=Yo(l.current);u.current=O==="mounted"?p:"none"},[O]),ln(()=>{const p=l.current,x=o.current;if(x!==t){const b=u.current,y=Yo(p);t?h("MOUNT"):y==="none"||(p==null?void 0:p.display)==="none"?h("UNMOUNT"):h(x&&b!==y?"ANIMATION_OUT":"UNMOUNT"),o.current=t}},[t,h]),ln(()=>{if(n){let p;const x=n.ownerDocument.defaultView??window,g=y=>{const w=Yo(l.current).includes(CSS.escape(y.animationName));if(y.target===n&&w&&(h("ANIMATION_END"),!o.current)){const $=n.style.animationFillMode;n.style.animationFillMode="forwards",p=x.setTimeout(()=>{n.style.animationFillMode==="forwards"&&(n.style.animationFillMode=$)})}},b=y=>{y.target===n&&(u.current=Yo(l.current))};return n.addEventListener("animationstart",b),n.addEventListener("animationcancel",g),n.addEventListener("animationend",g),()=>{x.clearTimeout(p),n.removeEventListener("animationstart",b),n.removeEventListener("animationcancel",g),n.removeEventListener("animationend",g)}}else h("ANIMATION_END")},[n,h]),{isPresent:["mounted","unmountSuspended"].includes(O),ref:v.useCallback(p=>{l.current=p?getComputedStyle(p):null,s(p)},[])}}function Yo(t){return(t==null?void 0:t.animationName)||"none"}function Ik(t){var l,o;let n=(l=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:l.get,s=n&&"isReactWarning"in n&&n.isReactWarning;return s?t.ref:(n=(o=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:o.get,s=n&&"isReactWarning"in n&&n.isReactWarning,s?t.props.ref:t.props.ref||t.ref)}var Fk=j0[" useInsertionEffect ".trim().toString()]||ln;function Mc({prop:t,defaultProp:n,onChange:s=()=>{},caller:l}){const[o,u,d]=Kk({defaultProp:n,onChange:s}),O=t!==void 0,h=O?t:o;{const x=v.useRef(t!==void 0);v.useEffect(()=>{const g=x.current;g!==O&&console.warn(`${l} is changing from ${g?"controlled":"uncontrolled"} to ${O?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=O},[O,l])}const p=v.useCallback(x=>{var g;if(O){const b=Jk(x)?x(t):x;b!==t&&((g=d.current)==null||g.call(d,b))}else u(x)},[O,t,u,d]);return[h,p]}function Kk({defaultProp:t,onChange:n}){const[s,l]=v.useState(t),o=v.useRef(s),u=v.useRef(n);return Fk(()=>{u.current=n},[n]),v.useEffect(()=>{var d;o.current!==s&&((d=u.current)==null||d.call(u,s),o.current=s)},[s,o]),[s,l,u]}function Jk(t){return typeof t=="function"}var e$=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),t$="VisuallyHidden",ib=v.forwardRef((t,n)=>r.jsx(Be.span,{...t,ref:n,style:{...e$,...t.style}}));ib.displayName=t$;var a$=ib,[Yc]=Xs("Tooltip",[K0]),Uc=K0(),ob="TooltipProvider",n$=700,Of="tooltip.open",[s$,Lf]=Yc(ob),cb=t=>{const{__scopeTooltip:n,delayDuration:s=n$,skipDelayDuration:l=300,disableHoverableContent:o=!1,children:u}=t,d=v.useRef(!0),O=v.useRef(!1),h=v.useRef(0);return v.useEffect(()=>{const p=h.current;return()=>window.clearTimeout(p)},[]),r.jsx(s$,{scope:n,isOpenDelayedRef:d,delayDuration:s,onOpen:v.useCallback(()=>{window.clearTimeout(h.current),d.current=!1},[]),onClose:v.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>d.current=!0,l)},[l]),isPointerInTransitRef:O,onPointerInTransitChange:v.useCallback(p=>{O.current=p},[]),disableHoverableContent:o,children:u})};cb.displayName=ob;var ti="Tooltip",[l$,hi]=Yc(ti),ub=t=>{const{__scopeTooltip:n,children:s,open:l,defaultOpen:o,onOpenChange:u,disableHoverableContent:d,delayDuration:O}=t,h=Lf(ti,t.__scopeTooltip),p=Uc(n),[x,g]=v.useState(null),b=Tl(),y=v.useRef(0),Q=d??h.disableHoverableContent,w=O??h.delayDuration,$=v.useRef(!1),[j,R]=Mc({prop:l,defaultProp:o??!1,onChange:C=>{C?(h.onOpen(),document.dispatchEvent(new CustomEvent(Of))):h.onClose(),u==null||u(C)},caller:ti}),N=v.useMemo(()=>j?$.current?"delayed-open":"instant-open":"closed",[j]),z=v.useCallback(()=>{window.clearTimeout(y.current),y.current=0,$.current=!1,R(!0)},[R]),Y=v.useCallback(()=>{window.clearTimeout(y.current),y.current=0,R(!1)},[R]),Z=v.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{$.current=!0,R(!0),y.current=0},w)},[w,R]);return v.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),r.jsx(Vk,{...p,children:r.jsx(l$,{scope:n,contentId:b,open:j,stateAttribute:N,trigger:x,onTriggerChange:g,onTriggerEnter:v.useCallback(()=>{h.isOpenDelayedRef.current?Z():z()},[h.isOpenDelayedRef,Z,z]),onTriggerLeave:v.useCallback(()=>{Q?Y():(window.clearTimeout(y.current),y.current=0)},[Y,Q]),onOpen:z,onClose:Y,disableHoverableContent:Q,children:s})})};ub.displayName=ti;var ff="TooltipTrigger",db=v.forwardRef((t,n)=>{const{__scopeTooltip:s,...l}=t,o=hi(ff,s),u=Lf(ff,s),d=Uc(s),O=v.useRef(null),h=it(n,O,o.onTriggerChange),p=v.useRef(!1),x=v.useRef(!1),g=v.useCallback(()=>p.current=!1,[]);return v.useEffect(()=>()=>document.removeEventListener("pointerup",g),[g]),r.jsx(Gk,{asChild:!0,...d,children:r.jsx(Be.button,{"aria-describedby":o.open?o.contentId:void 0,"data-state":o.stateAttribute,...l,ref:h,onPointerMove:qe(t.onPointerMove,b=>{b.pointerType!=="touch"&&!x.current&&!u.isPointerInTransitRef.current&&(o.onTriggerEnter(),x.current=!0)}),onPointerLeave:qe(t.onPointerLeave,()=>{o.onTriggerLeave(),x.current=!1}),onPointerDown:qe(t.onPointerDown,()=>{o.open&&o.onClose(),p.current=!0,document.addEventListener("pointerup",g,{once:!0})}),onFocus:qe(t.onFocus,()=>{p.current||o.onOpen()}),onBlur:qe(t.onBlur,o.onClose),onClick:qe(t.onClick,o.onClose)})})});db.displayName=ff;var Df="TooltipPortal",[r$,i$]=Yc(Df,{forceMount:void 0}),Ob=t=>{const{__scopeTooltip:n,forceMount:s,children:l,container:o}=t,u=hi(Df,n);return r.jsx(r$,{scope:n,forceMount:s,children:r.jsx(ga,{present:s||u.open,children:r.jsx(Gf,{asChild:!0,container:o,children:l})})})};Ob.displayName=Df;var Al="TooltipContent",fb=v.forwardRef((t,n)=>{const s=i$(Al,t.__scopeTooltip),{forceMount:l=s.forceMount,side:o="top",...u}=t,d=hi(Al,t.__scopeTooltip);return r.jsx(ga,{present:l||d.open,children:d.disableHoverableContent?r.jsx(hb,{side:o,...u,ref:n}):r.jsx(o$,{side:o,...u,ref:n})})}),o$=v.forwardRef((t,n)=>{const s=hi(Al,t.__scopeTooltip),l=Lf(Al,t.__scopeTooltip),o=v.useRef(null),u=it(n,o),[d,O]=v.useState(null),{trigger:h,onClose:p}=s,x=o.current,{onPointerInTransitChange:g}=l,b=v.useCallback(()=>{O(null),g(!1)},[g]),y=v.useCallback((Q,w)=>{const $=Q.currentTarget,j={x:Q.clientX,y:Q.clientY},R=O$(j,$.getBoundingClientRect()),N=f$(j,R),z=h$(w.getBoundingClientRect()),Y=p$([...N,...z]);O(Y),g(!0)},[g]);return v.useEffect(()=>()=>b(),[b]),v.useEffect(()=>{if(h&&x){const Q=$=>y($,x),w=$=>y($,h);return h.addEventListener("pointerleave",Q),x.addEventListener("pointerleave",w),()=>{h.removeEventListener("pointerleave",Q),x.removeEventListener("pointerleave",w)}}},[h,x,y,b]),v.useEffect(()=>{if(d){const Q=w=>{const $=w.target,j={x:w.clientX,y:w.clientY},R=(h==null?void 0:h.contains($))||(x==null?void 0:x.contains($)),N=!m$(j,d);R?b():N&&(b(),p())};return document.addEventListener("pointermove",Q),()=>document.removeEventListener("pointermove",Q)}},[h,x,d,p,b]),r.jsx(hb,{...t,ref:u})}),[c$,u$]=Yc(ti,{isInside:!1}),d$=hw("TooltipContent"),hb=v.forwardRef((t,n)=>{const{__scopeTooltip:s,children:l,"aria-label":o,onEscapeKeyDown:u,onPointerDownOutside:d,...O}=t,h=hi(Al,s),p=Uc(s),{onClose:x}=h;return v.useEffect(()=>(document.addEventListener(Of,x),()=>document.removeEventListener(Of,x)),[x]),v.useEffect(()=>{if(h.trigger){const g=b=>{const y=b.target;y!=null&&y.contains(h.trigger)&&x()};return window.addEventListener("scroll",g,{capture:!0}),()=>window.removeEventListener("scroll",g,{capture:!0})}},[h.trigger,x]),r.jsx(_f,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:g=>g.preventDefault(),onDismiss:x,children:r.jsxs(Lk,{"data-state":h.stateAttribute,...p,...O,ref:n,style:{...O.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[r.jsx(d$,{children:l}),r.jsx(c$,{scope:s,isInside:!0,children:r.jsx(a$,{id:h.contentId,role:"tooltip",children:o||l})})]})})});fb.displayName=Al;var mb="TooltipArrow",pb=v.forwardRef((t,n)=>{const{__scopeTooltip:s,...l}=t,o=Uc(s);return u$(mb,s).isInside?null:r.jsx(Dk,{...o,...l,ref:n})});pb.displayName=mb;function O$(t,n){const s=Math.abs(n.top-t.y),l=Math.abs(n.bottom-t.y),o=Math.abs(n.right-t.x),u=Math.abs(n.left-t.x);switch(Math.min(s,l,o,u)){case u:return"left";case o:return"right";case s:return"top";case l:return"bottom";default:throw new Error("unreachable")}}function f$(t,n,s=5){const l=[];switch(n){case"top":l.push({x:t.x-s,y:t.y+s},{x:t.x+s,y:t.y+s});break;case"bottom":l.push({x:t.x-s,y:t.y-s},{x:t.x+s,y:t.y-s});break;case"left":l.push({x:t.x+s,y:t.y-s},{x:t.x+s,y:t.y+s});break;case"right":l.push({x:t.x-s,y:t.y-s},{x:t.x-s,y:t.y+s});break}return l}function h$(t){const{top:n,right:s,bottom:l,left:o}=t;return[{x:o,y:n},{x:s,y:n},{x:s,y:l},{x:o,y:l}]}function m$(t,n){const{x:s,y:l}=t;let o=!1;for(let u=0,d=n.length-1;u<n.length;d=u++){const O=n[u],h=n[d],p=O.x,x=O.y,g=h.x,b=h.y;x>l!=b>l&&s<(g-p)*(l-x)/(b-x)+p&&(o=!o)}return o}function p$(t){const n=t.slice();return n.sort((s,l)=>s.x<l.x?-1:s.x>l.x?1:s.y<l.y?-1:s.y>l.y?1:0),x$(n)}function x$(t){if(t.length<=1)return t.slice();const n=[];for(let l=0;l<t.length;l++){const o=t[l];for(;n.length>=2;){const u=n[n.length-1],d=n[n.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))n.pop();else break}n.push(o)}n.pop();const s=[];for(let l=t.length-1;l>=0;l--){const o=t[l];for(;s.length>=2;){const u=s[s.length-1],d=s[s.length-2];if((u.x-d.x)*(o.y-d.y)>=(u.y-d.y)*(o.x-d.x))s.pop();else break}s.push(o)}return s.pop(),n.length===1&&s.length===1&&n[0].x===s[0].x&&n[0].y===s[0].y?n:n.concat(s)}var g$=cb,b$=ub,v$=db,y$=Ob,S$=fb,Q$=pb;function xb(t){var n,s,l="";if(typeof t=="string"||typeof t=="number")l+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(n=0;n<o;n++)t[n]&&(s=xb(t[n]))&&(l&&(l+=" "),l+=s)}else for(s in t)t[s]&&(l&&(l+=" "),l+=s);return l}function j$(){for(var t,n,s=0,l="",o=arguments.length;s<o;s++)(t=arguments[s])&&(n=xb(t))&&(l&&(l+=" "),l+=n);return l}const w$=(t,n)=>{const s=new Array(t.length+n.length);for(let l=0;l<t.length;l++)s[l]=t[l];for(let l=0;l<n.length;l++)s[t.length+l]=n[l];return s},k$=(t,n)=>({classGroupId:t,validator:n}),gb=(t=new Map,n=null,s)=>({nextPart:t,validators:n,classGroupId:s}),mc="-",Wg=[],$$="arbitrary..",T$=t=>{const n=P$(t),{conflictingClassGroups:s,conflictingClassGroupModifiers:l}=t;return{getClassGroupId:d=>{if(d.startsWith("[")&&d.endsWith("]"))return N$(d);const O=d.split(mc),h=O[0]===""&&O.length>1?1:0;return bb(O,h,n)},getConflictingClassGroupIds:(d,O)=>{if(O){const h=l[d],p=s[d];return h?p?w$(p,h):h:p||Wg}return s[d]||Wg}}},bb=(t,n,s)=>{if(t.length-n===0)return s.classGroupId;const o=t[n],u=s.nextPart.get(o);if(u){const p=bb(t,n+1,u);if(p)return p}const d=s.validators;if(d===null)return;const O=n===0?t.join(mc):t.slice(n).join(mc),h=d.length;for(let p=0;p<h;p++){const x=d[p];if(x.validator(O))return x.classGroupId}},N$=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=t.slice(1,-1),s=n.indexOf(":"),l=n.slice(0,s);return l?$$+l:void 0})(),P$=t=>{const{theme:n,classGroups:s}=t;return z$(s,n)},z$=(t,n)=>{const s=gb();for(const l in t){const o=t[l];Wf(o,s,l,n)}return s},Wf=(t,n,s,l)=>{const o=t.length;for(let u=0;u<o;u++){const d=t[u];R$(d,n,s,l)}},R$=(t,n,s,l)=>{if(typeof t=="string"){C$(t,n,s);return}if(typeof t=="function"){X$(t,n,s,l);return}_$(t,n,s,l)},C$=(t,n,s)=>{const l=t===""?n:vb(n,t);l.classGroupId=s},X$=(t,n,s,l)=>{if(Z$(t)){Wf(t(l),n,s,l);return}n.validators===null&&(n.validators=[]),n.validators.push(k$(s,t))},_$=(t,n,s,l)=>{const o=Object.entries(t),u=o.length;for(let d=0;d<u;d++){const[O,h]=o[d];Wf(h,vb(n,O),s,l)}},vb=(t,n)=>{let s=t;const l=n.split(mc),o=l.length;for(let u=0;u<o;u++){const d=l[u];let O=s.nextPart.get(d);O||(O=gb(),s.nextPart.set(d,O)),s=O}return s},Z$=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,A$=t=>{if(t<1)return{get:()=>{},set:()=>{}};let n=0,s=Object.create(null),l=Object.create(null);const o=(u,d)=>{s[u]=d,n++,n>t&&(n=0,l=s,s=Object.create(null))};return{get(u){let d=s[u];if(d!==void 0)return d;if((d=l[u])!==void 0)return o(u,d),d},set(u,d){u in s?s[u]=d:o(u,d)}}},hf="!",Bg=":",E$=[],Hg=(t,n,s,l,o)=>({modifiers:t,hasImportantModifier:n,baseClassName:s,maybePostfixModifierPosition:l,isExternal:o}),q$=t=>{const{prefix:n,experimentalParseClassName:s}=t;let l=o=>{const u=[];let d=0,O=0,h=0,p;const x=o.length;for(let w=0;w<x;w++){const $=o[w];if(d===0&&O===0){if($===Bg){u.push(o.slice(h,w)),h=w+1;continue}if($==="/"){p=w;continue}}$==="["?d++:$==="]"?d--:$==="("?O++:$===")"&&O--}const g=u.length===0?o:o.slice(h);let b=g,y=!1;g.endsWith(hf)?(b=g.slice(0,-1),y=!0):g.startsWith(hf)&&(b=g.slice(1),y=!0);const Q=p&&p>h?p-h:void 0;return Hg(u,y,b,Q)};if(n){const o=n+Bg,u=l;l=d=>d.startsWith(o)?u(d.slice(o.length)):Hg(E$,!1,d,void 0,!0)}if(s){const o=l;l=u=>s({className:u,parseClassName:o})}return l},M$=t=>{const n=new Map;return t.orderSensitiveModifiers.forEach((s,l)=>{n.set(s,1e6+l)}),s=>{const l=[];let o=[];for(let u=0;u<s.length;u++){const d=s[u],O=d[0]==="[",h=n.has(d);O||h?(o.length>0&&(o.sort(),l.push(...o),o=[]),l.push(d)):o.push(d)}return o.length>0&&(o.sort(),l.push(...o)),l}},Y$=t=>({cache:A$(t.cacheSize),parseClassName:q$(t),sortModifiers:M$(t),...T$(t)}),U$=/\s+/,V$=(t,n)=>{const{parseClassName:s,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:u}=n,d=[],O=t.trim().split(U$);let h="";for(let p=O.length-1;p>=0;p-=1){const x=O[p],{isExternal:g,modifiers:b,hasImportantModifier:y,baseClassName:Q,maybePostfixModifierPosition:w}=s(x);if(g){h=x+(h.length>0?" "+h:h);continue}let $=!!w,j=l($?Q.substring(0,w):Q);if(!j){if(!$){h=x+(h.length>0?" "+h:h);continue}if(j=l(Q),!j){h=x+(h.length>0?" "+h:h);continue}$=!1}const R=b.length===0?"":b.length===1?b[0]:u(b).join(":"),N=y?R+hf:R,z=N+j;if(d.indexOf(z)>-1)continue;d.push(z);const Y=o(j,$);for(let Z=0;Z<Y.length;++Z){const C=Y[Z];d.push(N+C)}h=x+(h.length>0?" "+h:h)}return h},G$=(...t)=>{let n=0,s,l,o="";for(;n<t.length;)(s=t[n++])&&(l=yb(s))&&(o&&(o+=" "),o+=l);return o},yb=t=>{if(typeof t=="string")return t;let n,s="";for(let l=0;l<t.length;l++)t[l]&&(n=yb(t[l]))&&(s&&(s+=" "),s+=n);return s},L$=(t,...n)=>{let s,l,o,u;const d=h=>{const p=n.reduce((x,g)=>g(x),t());return s=Y$(p),l=s.cache.get,o=s.cache.set,u=O,O(h)},O=h=>{const p=l(h);if(p)return p;const x=V$(h,s);return o(h,x),x};return u=d,(...h)=>u(G$(...h))},D$=[],ct=t=>{const n=s=>s[t]||D$;return n.isThemeGetter=!0,n},Sb=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Qb=/^\((?:(\w[\w-]*):)?(.+)\)$/i,W$=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,B$=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,H$=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,I$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,F$=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,K$=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Mn=t=>W$.test(t),je=t=>!!t&&!Number.isNaN(Number(t)),Yn=t=>!!t&&Number.isInteger(Number(t)),yO=t=>t.endsWith("%")&&je(t.slice(0,-1)),Fa=t=>B$.test(t),jb=()=>!0,J$=t=>H$.test(t)&&!I$.test(t),Bf=()=>!1,e5=t=>F$.test(t),t5=t=>K$.test(t),a5=t=>!Oe(t)&&!fe(t),n5=t=>ts(t,$b,Bf),Oe=t=>Sb.test(t),Qs=t=>ts(t,Tb,J$),Ig=t=>ts(t,d5,je),s5=t=>ts(t,Pb,jb),l5=t=>ts(t,Nb,Bf),Fg=t=>ts(t,wb,Bf),r5=t=>ts(t,kb,t5),Uo=t=>ts(t,zb,e5),fe=t=>Qb.test(t),Dr=t=>_s(t,Tb),i5=t=>_s(t,Nb),Kg=t=>_s(t,wb),o5=t=>_s(t,$b),c5=t=>_s(t,kb),Vo=t=>_s(t,zb,!0),u5=t=>_s(t,Pb,!0),ts=(t,n,s)=>{const l=Sb.exec(t);return l?l[1]?n(l[1]):s(l[2]):!1},_s=(t,n,s=!1)=>{const l=Qb.exec(t);return l?l[1]?n(l[1]):s:!1},wb=t=>t==="position"||t==="percentage",kb=t=>t==="image"||t==="url",$b=t=>t==="length"||t==="size"||t==="bg-size",Tb=t=>t==="length",d5=t=>t==="number",Nb=t=>t==="family-name",Pb=t=>t==="number"||t==="weight",zb=t=>t==="shadow",O5=()=>{const t=ct("color"),n=ct("font"),s=ct("text"),l=ct("font-weight"),o=ct("tracking"),u=ct("leading"),d=ct("breakpoint"),O=ct("container"),h=ct("spacing"),p=ct("radius"),x=ct("shadow"),g=ct("inset-shadow"),b=ct("text-shadow"),y=ct("drop-shadow"),Q=ct("blur"),w=ct("perspective"),$=ct("aspect"),j=ct("ease"),R=ct("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],Y=()=>[...z(),fe,Oe],Z=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],T=()=>[fe,Oe,h],M=()=>[Mn,"full","auto",...T()],G=()=>[Yn,"none","subgrid",fe,Oe],ne=()=>["auto",{span:["full",Yn,fe,Oe]},Yn,fe,Oe],F=()=>[Yn,"auto",fe,Oe],ce=()=>["auto","min","max","fr",fe,Oe],re=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],I=()=>["start","end","center","stretch","center-safe","end-safe"],P=()=>["auto",...T()],W=()=>[Mn,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...T()],E=()=>[Mn,"screen","full","dvw","lvw","svw","min","max","fit",...T()],oe=()=>[Mn,"screen","full","lh","dvh","lvh","svh","min","max","fit",...T()],J=()=>[t,fe,Oe],we=()=>[...z(),Kg,Fg,{position:[fe,Oe]}],ye=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ve=()=>["auto","cover","contain",o5,n5,{size:[fe,Oe]}],Re=()=>[yO,Dr,Qs],B=()=>["","none","full",p,fe,Oe],ue=()=>["",je,Dr,Qs],Ce=()=>["solid","dashed","dotted","double"],Ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Ae=()=>[je,yO,Kg,Fg],He=()=>["","none",Q,fe,Oe],bt=()=>["none",je,fe,Oe],ca=()=>["none",je,fe,Oe],Bt=()=>[je,fe,Oe],yt=()=>[Mn,"full",...T()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Fa],breakpoint:[Fa],color:[jb],container:[Fa],"drop-shadow":[Fa],ease:["in","out","in-out"],font:[a5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Fa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Fa],shadow:[Fa],spacing:["px",je],text:[Fa],"text-shadow":[Fa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Mn,Oe,fe,$]}],container:["container"],columns:[{columns:[je,Oe,fe,O]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:Y()}],overflow:[{overflow:Z()}],"overflow-x":[{"overflow-x":Z()}],"overflow-y":[{"overflow-y":Z()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[Yn,"auto",fe,Oe]}],basis:[{basis:[Mn,"full","auto",O,...T()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[je,Mn,"auto","initial","none",Oe]}],grow:[{grow:["",je,fe,Oe]}],shrink:[{shrink:["",je,fe,Oe]}],order:[{order:[Yn,"first","last","none",fe,Oe]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":ce()}],"auto-rows":[{"auto-rows":ce()}],gap:[{gap:T()}],"gap-x":[{"gap-x":T()}],"gap-y":[{"gap-y":T()}],"justify-content":[{justify:[...re(),"normal"]}],"justify-items":[{"justify-items":[...I(),"normal"]}],"justify-self":[{"justify-self":["auto",...I()]}],"align-content":[{content:["normal",...re()]}],"align-items":[{items:[...I(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...I(),{baseline:["","last"]}]}],"place-content":[{"place-content":re()}],"place-items":[{"place-items":[...I(),"baseline"]}],"place-self":[{"place-self":["auto",...I()]}],p:[{p:T()}],px:[{px:T()}],py:[{py:T()}],ps:[{ps:T()}],pe:[{pe:T()}],pbs:[{pbs:T()}],pbe:[{pbe:T()}],pt:[{pt:T()}],pr:[{pr:T()}],pb:[{pb:T()}],pl:[{pl:T()}],m:[{m:P()}],mx:[{mx:P()}],my:[{my:P()}],ms:[{ms:P()}],me:[{me:P()}],mbs:[{mbs:P()}],mbe:[{mbe:P()}],mt:[{mt:P()}],mr:[{mr:P()}],mb:[{mb:P()}],ml:[{ml:P()}],"space-x":[{"space-x":T()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":T()}],"space-y-reverse":["space-y-reverse"],size:[{size:W()}],"inline-size":[{inline:["auto",...E()]}],"min-inline-size":[{"min-inline":["auto",...E()]}],"max-inline-size":[{"max-inline":["none",...E()]}],"block-size":[{block:["auto",...oe()]}],"min-block-size":[{"min-block":["auto",...oe()]}],"max-block-size":[{"max-block":["none",...oe()]}],w:[{w:[O,"screen",...W()]}],"min-w":[{"min-w":[O,"screen","none",...W()]}],"max-w":[{"max-w":[O,"screen","none","prose",{screen:[d]},...W()]}],h:[{h:["screen","lh",...W()]}],"min-h":[{"min-h":["screen","lh","none",...W()]}],"max-h":[{"max-h":["screen","lh",...W()]}],"font-size":[{text:["base",s,Dr,Qs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,u5,s5]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",yO,Oe]}],"font-family":[{font:[i5,l5,n]}],"font-features":[{"font-features":[Oe]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,fe,Oe]}],"line-clamp":[{"line-clamp":[je,"none",fe,Ig]}],leading:[{leading:[u,...T()]}],"list-image":[{"list-image":["none",fe,Oe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",fe,Oe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:J()}],"text-color":[{text:J()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ce(),"wavy"]}],"text-decoration-thickness":[{decoration:[je,"from-font","auto",fe,Qs]}],"text-decoration-color":[{decoration:J()}],"underline-offset":[{"underline-offset":[je,"auto",fe,Oe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:T()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fe,Oe]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fe,Oe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:we()}],"bg-repeat":[{bg:ye()}],"bg-size":[{bg:ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Yn,fe,Oe],radial:["",fe,Oe],conic:[Yn,fe,Oe]},c5,r5]}],"bg-color":[{bg:J()}],"gradient-from-pos":[{from:Re()}],"gradient-via-pos":[{via:Re()}],"gradient-to-pos":[{to:Re()}],"gradient-from":[{from:J()}],"gradient-via":[{via:J()}],"gradient-to":[{to:J()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:ue()}],"border-w-x":[{"border-x":ue()}],"border-w-y":[{"border-y":ue()}],"border-w-s":[{"border-s":ue()}],"border-w-e":[{"border-e":ue()}],"border-w-bs":[{"border-bs":ue()}],"border-w-be":[{"border-be":ue()}],"border-w-t":[{"border-t":ue()}],"border-w-r":[{"border-r":ue()}],"border-w-b":[{"border-b":ue()}],"border-w-l":[{"border-l":ue()}],"divide-x":[{"divide-x":ue()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ue()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ce(),"hidden","none"]}],"divide-style":[{divide:[...Ce(),"hidden","none"]}],"border-color":[{border:J()}],"border-color-x":[{"border-x":J()}],"border-color-y":[{"border-y":J()}],"border-color-s":[{"border-s":J()}],"border-color-e":[{"border-e":J()}],"border-color-bs":[{"border-bs":J()}],"border-color-be":[{"border-be":J()}],"border-color-t":[{"border-t":J()}],"border-color-r":[{"border-r":J()}],"border-color-b":[{"border-b":J()}],"border-color-l":[{"border-l":J()}],"divide-color":[{divide:J()}],"outline-style":[{outline:[...Ce(),"none","hidden"]}],"outline-offset":[{"outline-offset":[je,fe,Oe]}],"outline-w":[{outline:["",je,Dr,Qs]}],"outline-color":[{outline:J()}],shadow:[{shadow:["","none",x,Vo,Uo]}],"shadow-color":[{shadow:J()}],"inset-shadow":[{"inset-shadow":["none",g,Vo,Uo]}],"inset-shadow-color":[{"inset-shadow":J()}],"ring-w":[{ring:ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:J()}],"ring-offset-w":[{"ring-offset":[je,Qs]}],"ring-offset-color":[{"ring-offset":J()}],"inset-ring-w":[{"inset-ring":ue()}],"inset-ring-color":[{"inset-ring":J()}],"text-shadow":[{"text-shadow":["none",b,Vo,Uo]}],"text-shadow-color":[{"text-shadow":J()}],opacity:[{opacity:[je,fe,Oe]}],"mix-blend":[{"mix-blend":[...Ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[je]}],"mask-image-linear-from-pos":[{"mask-linear-from":Ae()}],"mask-image-linear-to-pos":[{"mask-linear-to":Ae()}],"mask-image-linear-from-color":[{"mask-linear-from":J()}],"mask-image-linear-to-color":[{"mask-linear-to":J()}],"mask-image-t-from-pos":[{"mask-t-from":Ae()}],"mask-image-t-to-pos":[{"mask-t-to":Ae()}],"mask-image-t-from-color":[{"mask-t-from":J()}],"mask-image-t-to-color":[{"mask-t-to":J()}],"mask-image-r-from-pos":[{"mask-r-from":Ae()}],"mask-image-r-to-pos":[{"mask-r-to":Ae()}],"mask-image-r-from-color":[{"mask-r-from":J()}],"mask-image-r-to-color":[{"mask-r-to":J()}],"mask-image-b-from-pos":[{"mask-b-from":Ae()}],"mask-image-b-to-pos":[{"mask-b-to":Ae()}],"mask-image-b-from-color":[{"mask-b-from":J()}],"mask-image-b-to-color":[{"mask-b-to":J()}],"mask-image-l-from-pos":[{"mask-l-from":Ae()}],"mask-image-l-to-pos":[{"mask-l-to":Ae()}],"mask-image-l-from-color":[{"mask-l-from":J()}],"mask-image-l-to-color":[{"mask-l-to":J()}],"mask-image-x-from-pos":[{"mask-x-from":Ae()}],"mask-image-x-to-pos":[{"mask-x-to":Ae()}],"mask-image-x-from-color":[{"mask-x-from":J()}],"mask-image-x-to-color":[{"mask-x-to":J()}],"mask-image-y-from-pos":[{"mask-y-from":Ae()}],"mask-image-y-to-pos":[{"mask-y-to":Ae()}],"mask-image-y-from-color":[{"mask-y-from":J()}],"mask-image-y-to-color":[{"mask-y-to":J()}],"mask-image-radial":[{"mask-radial":[fe,Oe]}],"mask-image-radial-from-pos":[{"mask-radial-from":Ae()}],"mask-image-radial-to-pos":[{"mask-radial-to":Ae()}],"mask-image-radial-from-color":[{"mask-radial-from":J()}],"mask-image-radial-to-color":[{"mask-radial-to":J()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":z()}],"mask-image-conic-pos":[{"mask-conic":[je]}],"mask-image-conic-from-pos":[{"mask-conic-from":Ae()}],"mask-image-conic-to-pos":[{"mask-conic-to":Ae()}],"mask-image-conic-from-color":[{"mask-conic-from":J()}],"mask-image-conic-to-color":[{"mask-conic-to":J()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:we()}],"mask-repeat":[{mask:ye()}],"mask-size":[{mask:ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",fe,Oe]}],filter:[{filter:["","none",fe,Oe]}],blur:[{blur:He()}],brightness:[{brightness:[je,fe,Oe]}],contrast:[{contrast:[je,fe,Oe]}],"drop-shadow":[{"drop-shadow":["","none",y,Vo,Uo]}],"drop-shadow-color":[{"drop-shadow":J()}],grayscale:[{grayscale:["",je,fe,Oe]}],"hue-rotate":[{"hue-rotate":[je,fe,Oe]}],invert:[{invert:["",je,fe,Oe]}],saturate:[{saturate:[je,fe,Oe]}],sepia:[{sepia:["",je,fe,Oe]}],"backdrop-filter":[{"backdrop-filter":["","none",fe,Oe]}],"backdrop-blur":[{"backdrop-blur":He()}],"backdrop-brightness":[{"backdrop-brightness":[je,fe,Oe]}],"backdrop-contrast":[{"backdrop-contrast":[je,fe,Oe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",je,fe,Oe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[je,fe,Oe]}],"backdrop-invert":[{"backdrop-invert":["",je,fe,Oe]}],"backdrop-opacity":[{"backdrop-opacity":[je,fe,Oe]}],"backdrop-saturate":[{"backdrop-saturate":[je,fe,Oe]}],"backdrop-sepia":[{"backdrop-sepia":["",je,fe,Oe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":T()}],"border-spacing-x":[{"border-spacing-x":T()}],"border-spacing-y":[{"border-spacing-y":T()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",fe,Oe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[je,"initial",fe,Oe]}],ease:[{ease:["linear","initial",j,fe,Oe]}],delay:[{delay:[je,fe,Oe]}],animate:[{animate:["none",R,fe,Oe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,fe,Oe]}],"perspective-origin":[{"perspective-origin":Y()}],rotate:[{rotate:bt()}],"rotate-x":[{"rotate-x":bt()}],"rotate-y":[{"rotate-y":bt()}],"rotate-z":[{"rotate-z":bt()}],scale:[{scale:ca()}],"scale-x":[{"scale-x":ca()}],"scale-y":[{"scale-y":ca()}],"scale-z":[{"scale-z":ca()}],"scale-3d":["scale-3d"],skew:[{skew:Bt()}],"skew-x":[{"skew-x":Bt()}],"skew-y":[{"skew-y":Bt()}],transform:[{transform:[fe,Oe,"","none","gpu","cpu"]}],"transform-origin":[{origin:Y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:yt()}],"translate-x":[{"translate-x":yt()}],"translate-y":[{"translate-y":yt()}],"translate-z":[{"translate-z":yt()}],"translate-none":["translate-none"],accent:[{accent:J()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:J()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",fe,Oe]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":T()}],"scroll-mx":[{"scroll-mx":T()}],"scroll-my":[{"scroll-my":T()}],"scroll-ms":[{"scroll-ms":T()}],"scroll-me":[{"scroll-me":T()}],"scroll-mbs":[{"scroll-mbs":T()}],"scroll-mbe":[{"scroll-mbe":T()}],"scroll-mt":[{"scroll-mt":T()}],"scroll-mr":[{"scroll-mr":T()}],"scroll-mb":[{"scroll-mb":T()}],"scroll-ml":[{"scroll-ml":T()}],"scroll-p":[{"scroll-p":T()}],"scroll-px":[{"scroll-px":T()}],"scroll-py":[{"scroll-py":T()}],"scroll-ps":[{"scroll-ps":T()}],"scroll-pe":[{"scroll-pe":T()}],"scroll-pbs":[{"scroll-pbs":T()}],"scroll-pbe":[{"scroll-pbe":T()}],"scroll-pt":[{"scroll-pt":T()}],"scroll-pr":[{"scroll-pr":T()}],"scroll-pb":[{"scroll-pb":T()}],"scroll-pl":[{"scroll-pl":T()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",fe,Oe]}],fill:[{fill:["none",...J()]}],"stroke-w":[{stroke:[je,Dr,Qs,Ig]}],stroke:[{stroke:["none",...J()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},f5=L$(O5);function le(...t){return f5(j$(t))}function h5({children:t}){return r.jsx(g$,{delayDuration:300,children:t})}function Jg({children:t,content:n,side:s="top",className:l}){return n?r.jsxs(b$,{children:[r.jsx(v$,{asChild:!0,children:t}),r.jsx(y$,{children:r.jsxs(S$,{side:s,sideOffset:6,className:le("z-50 px-2.5 py-1.5 text-xs font-sans","bg-surface-4 text-text-0 border border-border rounded-md shadow-lg","animate-in fade-in-0 zoom-in-95",l),children:[n,r.jsx(Q$,{className:"fill-surface-4"})]})})]}):t}/**
30
30
  * @license lucide-react v1.7.0 - ISC
31
31
  *
32
32
  * This source code is licensed under the ISC license.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>Groove GUI</title>
8
- <script type="module" crossorigin src="/assets/index-7eQvV_N9.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-GisjgmsR.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-C0HXlhrU.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/reactflow-BQPfi37R.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/codemirror-BBL3i_JW.js">
@@ -259,9 +259,11 @@ export const useGrooveStore = create((set, get) => ({
259
259
  set((s) => {
260
260
  const chatHistory = { ...s.chatHistory };
261
261
  const tokenTimeline = { ...s.tokenTimeline };
262
+ const activityLog = { ...s.activityLog };
262
263
  if (chatHistory[msg.oldAgentId]?.length) chatHistory[msg.newAgentId] = [...chatHistory[msg.oldAgentId]];
263
264
  if (tokenTimeline[msg.oldAgentId]?.length) tokenTimeline[msg.newAgentId] = [...tokenTimeline[msg.oldAgentId]];
264
- return { chatHistory, tokenTimeline, detailPanel: { type: 'agent', agentId: msg.newAgentId } };
265
+ if (activityLog[msg.oldAgentId]?.length) activityLog[msg.newAgentId] = [...activityLog[msg.oldAgentId]];
266
+ return { chatHistory, tokenTimeline, activityLog, detailPanel: { type: 'agent', agentId: msg.newAgentId } };
265
267
  });
266
268
  }
267
269
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "groove-dev",
3
- "version": "0.26.16",
3
+ "version": "0.26.17",
4
4
  "description": "Open-source agent orchestration layer — the AI company OS. Local model agent engine (GGUF/Ollama/llama-server), HuggingFace model browser, MCP integrations (Slack, Gmail, Stripe, 15+), agent scheduling (cron), business roles (CMO, CFO, EA). GUI dashboard, multi-agent coordination, zero cold-start, infinite sessions. Works with Claude Code, Codex, Gemini CLI, Ollama, any local model.",
5
5
  "license": "FSL-1.1-Apache-2.0",
6
6
  "author": "Groove Dev <hello@groovedev.ai> (https://groovedev.ai)",