grab 0.1.0-beta.11 → 0.1.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,106 @@
1
+ import {t,u,N,M,P,c,g,f,j,d,l,Aa,va,h,s,n,r,D,R,Q,S,wa,xa,ra as ra$1,L,ua as ua$1,T,O,pa as pa$1,sa as sa$1,C,z,K,J,e,p,q,za,Ca,ma as ma$1,na as na$1,U,qa,oa as oa$1,k,fa as fa$1,Y,ca as ca$1,x,B,Da,ya as ya$1,Ba,Ea,w,ta as ta$1,a,i,ha as ha$1,X,_,Z,aa as aa$1,ba as ba$1,V,b,m,ja,ia as ia$1,ea as ea$1,da as da$1,W,ka,$,A,la as la$1,ga as ga$1,E,H,I,F,G}from'./chunk-O7JC46TI.js';/**
2
+ * @license MIT
3
+ *
4
+ * Copyright (c) 2025 Aiden Bai
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ var Kn=Symbol("store-raw"),Xt=Symbol("store-node"),rt=Symbol("store-has"),Ls=Symbol("store-self");function Bs(e){let t=e[a];if(!t&&(Object.defineProperty(e,a,{value:t=new Proxy(e,ul)}),!Array.isArray(e))){let n=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let a=0,l=n.length;a<l;a++){let s=n[a];o[s].get&&Object.defineProperty(e,s,{enumerable:o[s].enumerable,get:o[s].get.bind(t)});}}return t}function Yt(e){let t;return e!=null&&typeof e=="object"&&(e[a]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function qt(e,t=new Set){let n,o,a,l;if(n=e!=null&&e[Kn])return n;if(!Yt(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let s=0,f=e.length;s<f;s++)a=e[s],(o=qt(a,t))!==a&&(e[s]=o);}else {Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let s=Object.keys(e),f=Object.getOwnPropertyDescriptors(e);for(let i=0,u=s.length;i<u;i++)l=s[i],!f[l].get&&(a=e[l],(o=qt(a,t))!==a&&(e[l]=o));}return e}function Un(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function hn(e,t,n){if(e[t])return e[t];let[o,a]=d(n,{equals:false,internal:true});return o.$=a,e[t]=o}function ll(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return !n||n.get||!n.configurable||t===a||t===Xt||(delete n.value,delete n.writable,n.get=()=>e[a][t]),n}function Hs(e){m()&&hn(Un(e,Xt),Ls)();}function cl(e){return Hs(e),Reflect.ownKeys(e)}var ul={get(e,t,n){if(t===Kn)return e;if(t===a)return n;if(t===b)return Hs(e),n;let o=Un(e,Xt),a$1=o[t],l=a$1?a$1():e[t];if(t===Xt||t===rt||t==="__proto__")return l;if(!a$1){let s=Object.getOwnPropertyDescriptor(e,t);m()&&(typeof l!="function"||e.hasOwnProperty(t))&&!(s&&s.get)&&(l=hn(o,t,l)());}return Yt(l)?Bs(l):l},has(e,t){return t===Kn||t===a||t===b||t===Xt||t===rt||t==="__proto__"?true:(m()&&hn(Un(e,rt),t)(),t in e)},set(){return true},deleteProperty(){return true},ownKeys:cl,getOwnPropertyDescriptor:ll};function Zt(e,t,n,o=false){if(!o&&e[t]===n)return;let a=e[t],l=e.length;n===void 0?(delete e[t],e[rt]&&e[rt][t]&&a!==void 0&&e[rt][t].$()):(e[t]=n,e[rt]&&e[rt][t]&&a===void 0&&e[rt][t].$());let s=Un(e,Xt),f;if((f=hn(s,t,a))&&f.$(()=>n),Array.isArray(e)&&e.length!==l){for(let i=e.length;i<l;i++)(f=s[i])&&f.$();(f=hn(s,"length",l))&&f.$(e.length);}(f=s[Ls])&&f.$();}function $s(e,t){let n=Object.keys(t);for(let o=0;o<n.length;o+=1){let a=n[o];Zt(e,a,t[a]);}}function dl(e,t){if(typeof t=="function"&&(t=t(e)),t=qt(t),Array.isArray(t)){if(e===t)return;let n=0,o=t.length;for(;n<o;n++){let a=t[n];e[n]!==a&&Zt(e,n,a);}Zt(e,"length",o);}else $s(e,t);}function gn(e,t,n=[]){let o,a=e;if(t.length>1){o=t.shift();let s=typeof o,f=Array.isArray(e);if(Array.isArray(o)){for(let i=0;i<o.length;i++)gn(e,[o[i]].concat(t),n);return}else if(f&&s==="function"){for(let i=0;i<e.length;i++)o(e[i],i)&&gn(e,[i].concat(t),n);return}else if(f&&s==="object"){let{from:i=0,to:u=e.length-1,by:g=1}=o;for(let T=i;T<=u;T+=g)gn(e,[T].concat(t),n);return}else if(t.length>1){gn(e[o],t,[o].concat(n));return}a=e[o],n=[o].concat(n);}let l=t[0];typeof l=="function"&&(l=l(a,n),l===a)||o===void 0&&l==null||(l=qt(l),o===void 0||Yt(a)&&Yt(l)&&!Array.isArray(l)?$s(a,l):Zt(e,o,l));}function Gn(...[e,t]){let n=qt(e||{}),o=Array.isArray(n),a=Bs(n);function l(...s){i(()=>{o&&s.length===1?dl(n,s[0]):gn(n,s);});}return [a,l]}var jn=new WeakMap,zs={get(e,t){if(t===Kn)return e;let n=e[t],o;return Yt(n)?jn.get(n)||(jn.set(n,o=new Proxy(n,zs)),o):n},set(e,t,n){return Zt(e,t,qt(n)),true},deleteProperty(e,t){return Zt(e,t,void 0,true),true}};function We(e){return t=>{if(Yt(t)){let n;(n=jn.get(t))||jn.set(t,n=new Proxy(t,zs)),e(n);}return t}}var fl=e=>typeof e=="number"&&!Number.isNaN(e)&&Number.isFinite(e),ml=e=>{let t=e.trim();if(!t)return null;let n=parseFloat(t);return fl(n)?n:null},Vs=(e,t)=>{let n=e.split(",");if(n.length!==t)return null;let o=[];for(let a of n){let l=ml(a);if(l===null)return null;o.push(l);}return o},Ks=(e,t,n,o)=>e===1&&t===0&&n===0&&o===1,pl=e=>e[0]===1&&e[1]===0&&e[2]===0&&e[3]===0&&e[4]===0&&e[5]===1&&e[6]===0&&e[7]===0&&e[8]===0&&e[9]===0&&e[10]===1&&e[11]===0&&e[15]===1,Us=e=>{if(!e||e==="none")return "none";if(e.charCodeAt(0)===109)if(e.charCodeAt(6)===51){let n=e.length-1,o=Vs(e.slice(9,n),16);if(o)return o[12]=0,o[13]=0,o[14]=0,pl(o)?"none":`matrix3d(${o[0]}, ${o[1]}, ${o[2]}, ${o[3]}, ${o[4]}, ${o[5]}, ${o[6]}, ${o[7]}, ${o[8]}, ${o[9]}, ${o[10]}, ${o[11]}, 0, 0, 0, ${o[15]})`}else {let n=e.length-1,o=Vs(e.slice(7,n),6);if(o){let a=o[0],l=o[1],s=o[2],f=o[3];return Ks(a,l,s,f)?"none":`matrix(${a}, ${l}, ${s}, ${f}, 0, 0)`}}return "none"},js=e=>e.isIdentity?"none":e.is2D?Ks(e.a,e.b,e.c,e.d)?"none":`matrix(${e.a}, ${e.b}, ${e.c}, ${e.d}, 0, 0)`:e.m11===1&&e.m12===0&&e.m13===0&&e.m14===0&&e.m21===0&&e.m22===1&&e.m23===0&&e.m24===0&&e.m31===0&&e.m32===0&&e.m33===1&&e.m34===0&&e.m44===1?"none":`matrix3d(${e.m11}, ${e.m12}, ${e.m13}, ${e.m14}, ${e.m21}, ${e.m22}, ${e.m23}, ${e.m24}, ${e.m31}, ${e.m32}, ${e.m33}, ${e.m34}, 0, 0, 0, ${e.m44})`;var sr=new WeakMap,Gs=()=>{sr=new WeakMap;},hl=(e,t)=>{let n=t&&t!=="none",o=null,a=e.parentElement,l=0;for(;a&&a!==document.documentElement&&l<ma$1;){let s=window.getComputedStyle(a).transform;if(s&&s!=="none")o=o?new DOMMatrix(s).multiply(o):new DOMMatrix(s);else if(!n&&!o&&l>=na$1)return "none";a=a.parentElement,l++;}return o?(n&&(o=o.multiply(new DOMMatrix(t))),js(o)):n?Us(t):"none"},me=e=>{let t=performance.now(),n=sr.get(e);if(n&&t-n.timestamp<16)return n.bounds;let o=e.getBoundingClientRect(),a=window.getComputedStyle(e),l=hl(e,a.transform),s;if(l!=="none"&&e instanceof HTMLElement){let f=e.offsetWidth,i=e.offsetHeight;if(f>0&&i>0){let u=o.left+o.width*.5,g=o.top+o.height*.5;s={borderRadius:a.borderRadius||"0px",height:i,transform:l,width:f,x:u-f*.5,y:g-i*.5};}else s={borderRadius:a.borderRadius||"0px",height:o.height,transform:l,width:o.width,x:o.left,y:o.top};}else s={borderRadius:a.borderRadius||"0px",height:o.height,transform:l,width:o.width,x:o.left,y:o.top};return sr.set(e,{bounds:s,timestamp:t}),s};var bl=e=>({current:{state:"idle"},wasActivatedByToggle:false,hasAgentProvider:e.hasAgentProvider,keyHoldDuration:e.keyHoldDuration,pointer:{x:-1e3,y:-1e3},dragStart:{x:-1e3,y:-1e3},copyStart:{x:-1e3,y:-1e3},copyOffsetFromCenterX:0,detectedElement:null,frozenElement:null,frozenElements:[],frozenDragRect:null,lastGrabbedElement:null,lastCopiedElement:null,selectionFilePath:null,selectionLineNumber:null,inputText:"",pendingClickData:null,replySessionId:null,viewportVersion:0,grabbedBoxes:[],labelInstances:[],agentSessions:new Map,sessionElements:new Map,isTouchMode:false,theme:e.theme,activationTimestamp:null,previouslyFocusedElement:null,canUndo:false,canRedo:false,isAgentConnected:false,supportsUndo:false,supportsFollowUp:false,dismissButtonText:void 0,pendingAbortSessionId:null,contextMenuPosition:null,contextMenuElement:null,contextMenuClickOffset:null,selectedAgent:null}),Ws=e=>{let[t,n]=Gn(bl(e)),o=()=>t.current.state==="active",a=()=>t.current.state==="holding",l={startHold:s=>{s!==void 0&&n("keyHoldDuration",s),n("current",{state:"holding",startedAt:Date.now()});},release:()=>{t.current.state==="holding"&&n("current",{state:"idle"});},activate:()=>{n("current",{state:"active",phase:"hovering",isPromptMode:false,isPendingDismiss:false}),n("activationTimestamp",Date.now()),n("previouslyFocusedElement",document.activeElement);},deactivate:()=>{n("current",{state:"idle"}),n("wasActivatedByToggle",false),n("inputText",""),n("frozenElement",null),n("frozenElements",[]),n("frozenDragRect",null),n("pendingClickData",null),n("replySessionId",null),n("pendingAbortSessionId",null),n("activationTimestamp",null),n("previouslyFocusedElement",null),n("contextMenuPosition",null),n("contextMenuElement",null),n("contextMenuClickOffset",null),n("selectedAgent",null);},toggle:()=>{t.activationTimestamp!==null?l.deactivate():(n("wasActivatedByToggle",true),l.activate());},freeze:()=>{if(t.current.state==="active"){let s=t.frozenElement??t.detectedElement;s&&n("frozenElement",s),n("current",We(f=>{f.state==="active"&&(f.phase="frozen");}));}},unfreeze:()=>{t.current.state==="active"&&(n("frozenElement",null),n("frozenElements",[]),n("frozenDragRect",null),n("current",We(s=>{s.state==="active"&&(s.phase="hovering");})));},startDrag:s=>{t.current.state==="active"&&(l.clearFrozenElement(),n("dragStart",{x:s.x+window.scrollX,y:s.y+window.scrollY}),n("current",We(f=>{f.state==="active"&&(f.phase="dragging");})));},endDrag:()=>{t.current.state==="active"&&t.current.phase==="dragging"&&(n("dragStart",{x:-1e3,y:-1e3}),n("current",We(s=>{s.state==="active"&&(s.phase="justDragged");})));},cancelDrag:()=>{t.current.state==="active"&&t.current.phase==="dragging"&&(n("dragStart",{x:-1e3,y:-1e3}),n("current",We(s=>{s.state==="active"&&(s.phase="hovering");})));},finishJustDragged:()=>{t.current.state==="active"&&t.current.phase==="justDragged"&&n("current",We(s=>{s.state==="active"&&(s.phase="hovering");}));},startCopy:()=>{let s=t.current.state==="active";n("current",{state:"copying",startedAt:Date.now(),wasActive:s});},completeCopy:s=>{n("pendingClickData",null),s&&n("lastCopiedElement",s);let f=t.current.state==="copying"?t.current.wasActive:false;n("current",{state:"justCopied",copiedAt:Date.now(),wasActive:f});},finishJustCopied:()=>{t.current.state==="justCopied"&&(t.current.wasActive&&!t.wasActivatedByToggle?n("current",{state:"active",phase:"hovering",isPromptMode:false,isPendingDismiss:false}):l.deactivate());},enterPromptMode:(s,f)=>{let i=me(f),u=i.x+i.width/2;n("copyStart",s),n("copyOffsetFromCenterX",s.x-u),n("pointer",s),n("frozenElement",f),n("wasActivatedByToggle",true),t.current.state!=="active"?(n("current",{state:"active",phase:"frozen",isPromptMode:true,isPendingDismiss:false}),n("activationTimestamp",Date.now()),n("previouslyFocusedElement",document.activeElement)):n("current",We(g=>{g.state==="active"&&(g.isPromptMode=true,g.phase="frozen");}));},exitPromptMode:()=>{t.current.state==="active"&&n("current",We(s=>{s.state==="active"&&(s.isPromptMode=false,s.isPendingDismiss=false);}));},setInputText:s=>{n("inputText",s);},clearInputText:()=>{n("inputText","");},setPendingDismiss:s=>{t.current.state==="active"&&n("current",We(f=>{f.state==="active"&&(f.isPendingDismiss=s);}));},setPointer:s=>{n("pointer",s);},setDetectedElement:s=>{n("detectedElement",s);},setFrozenElement:s=>{n("frozenElement",s),n("frozenElements",[s]),n("frozenDragRect",null);},setFrozenElements:s=>{n("frozenElements",s),n("frozenElement",s.length>0?s[0]:null),n("frozenDragRect",null);},setFrozenDragRect:s=>{n("frozenDragRect",s);},clearFrozenElement:()=>{n("frozenElement",null),n("frozenElements",[]),n("frozenDragRect",null);},setCopyStart:(s,f)=>{let i=me(f),u=i.x+i.width/2;n("copyStart",s),n("copyOffsetFromCenterX",s.x-u);},setLastGrabbed:s=>{n("lastGrabbedElement",s);},setLastCopied:s=>{n("lastCopiedElement",s);},clearLastCopied:()=>{n("lastCopiedElement",null);},setWasActivatedByToggle:s=>{n("wasActivatedByToggle",s);},setTouchMode:s=>{n("isTouchMode",s);},setSelectionSource:(s,f)=>{n("selectionFilePath",s),n("selectionLineNumber",f);},clearSelectionSource:()=>{n("selectionFilePath",null),n("selectionLineNumber",null);},setPendingClickData:s=>{n("pendingClickData",s);},clearPendingClickData:()=>{n("pendingClickData",null);},setReplySessionId:s=>{n("replySessionId",s);},clearReplySessionId:()=>{n("replySessionId",null);},incrementViewportVersion:()=>{n("viewportVersion",s=>s+1);},addGrabbedBox:s=>{n("grabbedBoxes",f=>[...f,s]);},removeGrabbedBox:s=>{n("grabbedBoxes",f=>f.filter(i=>i.id!==s));},clearGrabbedBoxes:()=>{n("grabbedBoxes",[]);},addLabelInstance:s=>{n("labelInstances",f=>[...f,s]);},updateLabelInstance:(s,f,i)=>{let u=t.labelInstances.findIndex(g=>g.id===s);u!==-1&&n("labelInstances",u,We(g=>{g.status=f,i!==void 0&&(g.errorMessage=i);}));},removeLabelInstance:s=>{n("labelInstances",f=>f.filter(i=>i.id!==s));},removeLabelsForElement:s=>{n("labelInstances",f=>f.filter(i=>i.element!==s));},clearLabelInstances:()=>{n("labelInstances",[]);},setHasAgentProvider:s=>{n("hasAgentProvider",s);},setUndoRedoState:(s,f)=>{n("canUndo",s),n("canRedo",f);},setAgentCapabilities:s=>{n("supportsUndo",s.supportsUndo),n("supportsFollowUp",s.supportsFollowUp),n("dismissButtonText",s.dismissButtonText),n("isAgentConnected",s.isAgentConnected);},setPendingAbortSessionId:s=>{n("pendingAbortSessionId",s);},updateSessionBounds:()=>{let s=t.agentSessions;if(s.size===0)return;let f=new Map(s),i=false;for(let[u,g]of s){let T=t.sessionElements.get(u);if(T&&document.contains(T)){let N=me(T),v=g.selectionBounds[0],V=g.position;if(v){let B=v.x+v.width/2,b=v.width/2,h=g.position.x-B,I=b>0?h/b:0,G=N.x+N.width/2,te=N.width/2;V={...g.position,x:G+I*te};}f.set(u,{...g,selectionBounds:[N],position:V}),i=true;}}i&&n("agentSessions",f);},addAgentSession:(s,f,i)=>{let u=new Map(t.agentSessions);u.set(s,f),n("agentSessions",u);let g=new Map(t.sessionElements);g.set(s,i),n("sessionElements",g);},updateAgentSessionStatus:(s,f)=>{let i=t.agentSessions.get(s);if(!i)return;let u=new Map(t.agentSessions);u.set(s,{...i,lastStatus:f}),n("agentSessions",u);},completeAgentSession:(s,f)=>{let i=t.agentSessions.get(s);if(!i)return;let u=new Map(t.agentSessions);u.set(s,{...i,isStreaming:false,lastStatus:f??i.lastStatus}),n("agentSessions",u);},setAgentSessionError:(s,f)=>{let i=t.agentSessions.get(s);if(!i)return;let u=new Map(t.agentSessions);u.set(s,{...i,isStreaming:false,error:f}),n("agentSessions",u);},removeAgentSession:s=>{let f=new Map(t.agentSessions);f.delete(s),n("agentSessions",f);let i=new Map(t.sessionElements);i.delete(s),n("sessionElements",i);},showContextMenu:(s,f)=>{let i=me(f),u=i.x+i.width/2,g=i.y+i.height/2;n("contextMenuPosition",s),n("contextMenuElement",f),n("contextMenuClickOffset",{x:s.x-u,y:s.y-g});},hideContextMenu:()=>{n("contextMenuPosition",null),n("contextMenuElement",null),n("contextMenuClickOffset",null);},updateContextMenuPosition:()=>{let s=t.contextMenuElement,f=t.contextMenuClickOffset;if(!s||!f||!document.contains(s))return;let i=me(s),u=i.x+i.width/2,g=i.y+i.height/2;n("contextMenuPosition",{x:u+f.x,y:g+f.y});},setSelectedAgent:s=>{n("selectedAgent",s);},clearSelectedAgent:()=>{n("selectedAgent",null);}};return {store:t,setStore:n,actions:l,isActive:o,isHolding:a}};var Jt="data-react-grab",Xs="react-grab-fonts",yl="https://fonts.googleapis.com/css2?family=Geist:wght@500&display=swap",Sl=()=>{if(document.getElementById(Xs)||!document.head)return;let e=document.createElement("link");e.id=Xs,e.rel="stylesheet",e.href=yl,document.head.appendChild(e);},Ys=e=>{Sl();let t=document.querySelector(`[${Jt}]`);if(t){let s=t.shadowRoot?.querySelector(`[${Jt}]`);if(s instanceof HTMLDivElement&&t.shadowRoot)return s}let n=document.createElement("div");n.setAttribute(Jt,"true"),n.style.zIndex="2147483646",n.style.position="fixed",n.style.top="0",n.style.left="0";let o=n.attachShadow({mode:"open"});if(e){let s=document.createElement("style");s.textContent=e,o.appendChild(s);}let a=document.createElement("div");a.setAttribute(Jt,"true"),o.appendChild(a);let l=document.body??document.documentElement;return l.appendChild(n),setTimeout(()=>{l.contains(n)||l.appendChild(n);},sa$1),a};var wl="https://react-grab.com",Qt=(e,t)=>{let n=t?`&line=${t}`:"";return `${wl}/open-file?url=${encodeURIComponent(e)}${n}`};var en=(e,t,n)=>e+(t-e)*n;var vl=t("<canvas data-react-grab-overlay-canvas style=position:fixed;top:0;left:0;pointer-events:none>"),ht={drag:{borderColor:F,fillColor:G,lerpFactor:.7},selection:{borderColor:H,fillColor:I,lerpFactor:.95},grabbed:{borderColor:H,fillColor:I,lerpFactor:.95},processing:{borderColor:H,fillColor:I,lerpFactor:.95}},Js=e$1=>{let t,n=null,o=0,a=0,l$1=1,s=null,f$1={crosshair:{canvas:null,context:null},drag:{canvas:null,context:null},selection:{canvas:null,context:null},grabbed:{canvas:null,context:null},processing:{canvas:null,context:null}},i={x:0,y:0},u=[],g=null,T=[],N=[],v=(m,y,E)=>{let M=new OffscreenCanvas(m*E,y*E),p=M.getContext("2d");return p&&p.scale(E,E),{canvas:M,context:p}},V=()=>{if(t){l$1=Math.max(window.devicePixelRatio||1,2),o=window.innerWidth,a=window.innerHeight,t.width=o*l$1,t.height=a*l$1,t.style.width=`${o}px`,t.style.height=`${a}px`,n=t.getContext("2d"),n&&n.scale(l$1,l$1);for(let m of Object.keys(f$1))f$1[m]=v(o,a,l$1);}},B=m=>{if(!m)return 0;let y=m.match(/^(\d+(?:\.\d+)?)/);return y?parseFloat(y[1]):0},b=(m,y,E)=>({id:m,current:{x:y.x,y:y.y,width:y.width,height:y.height},target:{x:y.x,y:y.y,width:y.width,height:y.height},borderRadius:B(y.borderRadius),opacity:E?.opacity??1,targetOpacity:E?.targetOpacity??E?.opacity??1,createdAt:E?.createdAt,isInitialized:true}),h=(m,y,E)=>{m.target={x:y.x,y:y.y,width:y.width,height:y.height},m.borderRadius=B(y.borderRadius),E!==void 0&&(m.targetOpacity=E);},I=m=>m.boundsMultiple??[m.bounds],G=(m,y,E,M,p,P,k,C,_=1)=>{if(M<=0||p<=0)return;let O=Math.min(M/2,p/2),D=Math.min(P,O);m.globalAlpha=_,m.beginPath(),D>0?m.roundRect(y,E,M,p,D):m.rect(y,E,M,p),m.fillStyle=k,m.fill(),m.strokeStyle=C,m.lineWidth=1,m.stroke(),m.globalAlpha=1;},te=()=>{let m=f$1.crosshair;if(!m.context)return;let y=m.context;y.clearRect(0,0,o,a),e$1.crosshairVisible&&(y.strokeStyle=E,y.lineWidth=1,y.beginPath(),y.moveTo(i.x,0),y.lineTo(i.x,a),y.moveTo(0,i.y),y.lineTo(o,i.y),y.stroke());},pe=()=>{let m=f$1.drag;if(!m.context)return;let y=m.context;if(y.clearRect(0,0,o,a),!e$1.dragVisible||!g)return;let E=ht.drag;G(y,g.current.x,g.current.y,g.current.width,g.current.height,g.borderRadius,E.fillColor,E.borderColor);},Ne=()=>{let m=f$1.selection;if(!m.context)return;let y=m.context;if(y.clearRect(0,0,o,a),!e$1.selectionVisible)return;let E=ht.selection;for(let M of u){let p=e$1.selectionIsFading?0:M.opacity;G(y,M.current.x,M.current.y,M.current.width,M.current.height,M.borderRadius,E.fillColor,E.borderColor,p);}},Xe=()=>{let m=f$1.grabbed;if(!m.context)return;let y=m.context;y.clearRect(0,0,o,a);let E=ht.grabbed;for(let M of T)G(y,M.current.x,M.current.y,M.current.width,M.current.height,M.borderRadius,E.fillColor,E.borderColor,M.opacity);},Ue=()=>{let m=f$1.processing;if(!m.context)return;let y=m.context;y.clearRect(0,0,o,a);let E=ht.processing;for(let M of N)G(y,M.current.x,M.current.y,M.current.width,M.current.height,M.borderRadius,E.fillColor,E.borderColor,M.opacity);},ke=()=>{if(!n||!t)return;n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.width,t.height),n.setTransform(l$1,0,0,l$1,0,0),te(),pe(),Ne(),Xe(),Ue();let m=["crosshair","drag","selection","grabbed","processing"];for(let y of m){let E=f$1[y];E.canvas&&n.drawImage(E.canvas,0,0,o,a);}},$e=(m,y,E)=>{let M=en(m.current.x,m.target.x,y),p=en(m.current.y,m.target.y,y),P=en(m.current.width,m.target.width,y),k=en(m.current.height,m.target.height,y),C=Math.abs(M-m.target.x)<.5&&Math.abs(p-m.target.y)<.5&&Math.abs(P-m.target.width)<.5&&Math.abs(k-m.target.height)<.5;m.current.x=C?m.target.x:M,m.current.y=C?m.target.y:p,m.current.width=C?m.target.width:P,m.current.height=C?m.target.height:k;let _=true;if(E?.interpolateOpacity){let O=en(m.opacity,m.targetOpacity,y);_=Math.abs(O-m.targetOpacity)<.01,m.opacity=_?m.targetOpacity:O;}return !C||!_},H=()=>{let m=false;g?.isInitialized&&$e(g,ht.drag.lerpFactor)&&(m=true);for(let E of u)E.isInitialized&&$e(E,ht.selection.lerpFactor)&&(m=true);let y=Date.now();T=T.filter(E=>{let M=E.id.startsWith("label-");if(E.isInitialized&&$e(E,ht.grabbed.lerpFactor,{interpolateOpacity:M})&&(m=true),E.createdAt){let p=y-E.createdAt,P=1600;if(p>=P)return false;if(p>1500){let k=(p-1500)/100;E.opacity=1-k,m=true;}return true}return M?!(Math.abs(E.opacity-E.targetOpacity)<.01&&E.targetOpacity===0):E.opacity>0});for(let E of N)E.isInitialized&&$e(E,ht.processing.lerpFactor)&&(m=true);ke(),m?s=requestAnimationFrame(H):s=null;},A$1=()=>{s===null&&(s=requestAnimationFrame(H));},S=()=>{V(),A$1();};return f(j(()=>[e$1.mouseX,e$1.mouseY],([m,y])=>{let E=m??0,M=y??0;i.x=E,i.y=M,A$1();})),f(j(()=>e$1.crosshairVisible,()=>{A$1();})),f(j(()=>[e$1.selectionVisible,e$1.selectionBounds,e$1.selectionBoundsMultiple,e$1.selectionIsFading,e$1.selectionShouldSnap],([m,y,E,,M])=>{if(!m||!y&&(!E||E.length===0)){u=[],A$1();return}u=(E&&E.length>0?E:y?[y]:[]).map((P,k)=>{let C=`selection-${k}`,_=u.find(O=>O.id===C);return _?(h(_,P),M&&(_.current={..._.target}),_):b(C,P)}),A$1();})),f(j(()=>[e$1.dragVisible,e$1.dragBounds],([m,y])=>{if(!m||!y){g=null,A$1();return}g?h(g,y):g=b("drag",y),A$1();})),f(j(()=>e$1.grabbedBoxes,m=>{let y=m??[],E=new Set(y.map(p=>p.id)),M=new Set(T.map(p=>p.id));for(let p of y)M.has(p.id)||T.push(b(p.id,p.bounds,{createdAt:p.createdAt}));for(let p of T){let P=y.find(k=>k.id===p.id);P&&h(p,P.bounds);}T=T.filter(p=>p.id.startsWith("label-")?true:E.has(p.id)),A$1();})),f(j(()=>e$1.agentSessions,m=>{if(!m||m.size===0){N=[],A$1();return}let y=[];for(let[E,M]of m)for(let p=0;p<M.selectionBounds.length;p++){let P=M.selectionBounds[p],k=`processing-${E}-${p}`,C=N.find(_=>_.id===k);C?(h(C,P),y.push(C)):y.push(b(k,P));}N=y,A$1();})),f(j(()=>e$1.labelInstances,m=>{let y=m??[];for(let M of y){let p=I(M),P=M.status==="fading"?0:1;for(let k=0;k<p.length;k++){let C=p[k],_=`label-${M.id}-${k}`,O=T.find(D=>D.id===_);O?h(O,C,P):T.push(b(_,C,{opacity:1,targetOpacity:P}));}}let E=new Set;for(let M of y){let p=I(M);for(let P=0;P<p.length;P++)E.add(`label-${M.id}-${P}`);}T=T.filter(M=>M.id.startsWith("label-")?E.has(M.id):true),A$1();})),k(()=>{V(),A$1(),window.addEventListener("resize",S);let m=null,y=()=>{Math.max(window.devicePixelRatio||1,2)!==l$1&&(S(),E());},E=()=>{m&&m.removeEventListener("change",y),m=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),m.addEventListener("change",y);};E(),l(()=>{window.removeEventListener("resize",S),m&&m.removeEventListener("change",y),s!==null&&cancelAnimationFrame(s);});}),(()=>{var m=vl(),y=t;return typeof y=="function"?A(y,m):t=m,e(E=>z(m,"z-index",String(2147483645))),m})()};var Qs="react-grab-toolbar-state",Nt=()=>{try{let e=localStorage.getItem(Qs);if(!e)return null;let t=JSON.parse(e);return {edge:t.edge??"bottom",ratio:t.ratio??.5,collapsed:t.collapsed??!1,enabled:t.enabled??!0}}catch(e){console.warn("[react-grab] Failed to load toolbar state from localStorage:",e);}return null},bn=e=>{try{localStorage.setItem(Qs,JSON.stringify(e));}catch(t){console.warn("[react-grab] Failed to save toolbar state to localStorage:",t);}};var ni="0.5.28",qn=`bippy-${ni}`,ei=Object.defineProperty,xl=Object.prototype.hasOwnProperty,yn=()=>{},oi=e=>{try{Function.prototype.toString.call(e).indexOf("^_^")>-1&&setTimeout(()=>{throw Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")});}catch{}},Zn=(e=Ke())=>"getFiberRoots"in e,ri=false,ti,Sn=(e=Ke())=>ri?true:(typeof e.inject=="function"&&(ti=e.inject.toString()),!!ti?.includes("(injected)")),Xn=new Set,kt=new Set,si=e=>{let t=new Map,n=0,o={_instrumentationIsActive:false,_instrumentationSource:qn,checkDCE:oi,hasUnsupportedRendererAttached:false,inject(a){let l=++n;return t.set(l,a),kt.add(a),o._instrumentationIsActive||(o._instrumentationIsActive=true,Xn.forEach(s=>s())),l},on:yn,onCommitFiberRoot:yn,onCommitFiberUnmount:yn,onPostCommitFiberRoot:yn,renderers:t,supportsFiber:true,supportsFlight:true};try{ei(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!0,enumerable:!0,get(){return o},set(s){if(s&&typeof s=="object"){let f=o.renderers;o=s,f.size>0&&(f.forEach((i,u)=>{kt.add(i),s.renderers.set(u,i);}),Yn(e));}}});let a=window.hasOwnProperty,l=!1;ei(window,"hasOwnProperty",{configurable:!0,value:function(...s){try{if(!l&&s[0]==="__REACT_DEVTOOLS_GLOBAL_HOOK__")return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,l=!0,-0}catch{}return a.apply(this,s)},writable:!0});}catch{Yn(e);}return o},Yn=e=>{try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){t.checkDCE=oi,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=qn,t._instrumentationIsActive=!1;let n=Zn(t);if(n||(t.on=yn),t.renderers.size){t._instrumentationIsActive=!0,Xn.forEach(l=>l());return}let o=t.inject,a=Sn(t);a&&!n&&(ri=!0,t.inject({scheduleRefresh(){}})&&(t._instrumentationIsActive=!0)),t.inject=l=>{let s=o(l);return kt.add(l),a&&t.renderers.set(s,l),t._instrumentationIsActive=!0,Xn.forEach(f=>f()),s};}(t.renderers.size||t._instrumentationIsActive||Sn())&&e?.();}catch{}},lr=()=>xl.call(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__"),Ke=e=>lr()?(Yn(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):si(e),ii=()=>!!(typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")),cr=()=>{try{ii()&&Ke();}catch{}};cr();var Jn=0,Qn=1;var ur=5;var eo=11,dr=13,ai=14,to=15,fr=16;var mr=19;var pr=26,gr=27,hr=28,br=30;var tn=e=>{switch(e.tag){case Qn:case eo:case Jn:case ai:case to:return true;default:return false}};function wn(e,t,n=false){if(!e)return null;let o=t(e);if(o instanceof Promise)return (async()=>{if(await o===true)return e;let l=n?e.return:e.child;for(;l;){let s=await Sr(l,t,n);if(s)return s;l=n?null:l.sibling;}return null})();if(o===true)return e;let a=n?e.return:e.child;for(;a;){let l=yr(a,t,n);if(l)return l;a=n?null:a.sibling;}return null}var yr=(e,t,n=false)=>{if(!e)return null;if(t(e)===true)return e;let o=n?e.return:e.child;for(;o;){let a=yr(o,t,n);if(a)return a;o=n?null:o.sibling;}return null},Sr=async(e,t,n=false)=>{if(!e)return null;if(await t(e)===true)return e;let o=n?e.return:e.child;for(;o;){let a=await Sr(o,t,n);if(a)return a;o=n?null:o.sibling;}return null};var wr=e=>{let t=e;return typeof t=="function"?t:typeof t=="object"&&t?wr(t.type||t.render):null},bt=e=>{let t=e;if(typeof t=="string")return t;if(typeof t!="function"&&!(typeof t=="object"&&t))return null;let n=t.displayName||t.name||null;if(n)return n;let o=wr(t);return o&&(o.displayName||o.name)||null};var It=()=>!!Ke()._instrumentationIsActive||Zn()||Sn();var Ft=e=>{let t=Ke();for(let n of t.renderers.values())try{let o=n.findFiberByHostInstance?.(e);if(o)return o}catch{}if(typeof e=="object"&&e){if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(let n in e)if(n.startsWith("__reactContainer$")||n.startsWith("__reactInternalInstance$")||n.startsWith("__reactFiber"))return e[n]||null}return null},Er=new Set;var Re=false,vr=(e,t,n)=>{let o=e.get(t);if(o)return o;let a=n();return e.set(t,a),a},li=new WeakMap,ci=new WeakMap,Dl=new WeakMap,Cr=new Set,Tr=[],no=[],oo=new WeakMap,ro=new WeakMap,ui=new WeakSet,di=Er,Nl=e=>{let t=e;for(;t.return;)t=t.return;return t.stateNode??null},fi=()=>{if(di.size>0)return di;let e=new Set,t=n=>{let o=Ft(n);if(o){let a=Nl(o);a&&e.add(a);return}for(let a of Array.from(n.children))if(t(a),e.size>0)return};return t(document.body),e},kl=(e,t)=>{if(!e)return t;if(!t)return e;if(!e.next||!t.next)return t;let n=e.next,o=t.next,a=e===n,l=t===o;return a&&l?(e.next=t,t.next=e):a?(e.next=o,t.next=e):l?(t.next=n,e.next=t):(e.next=o,t.next=n),t},Il=e=>{if(!e||oo.has(e))return;let t={originalPendingDescriptor:Object.getOwnPropertyDescriptor(e,"pending"),pendingValueAtPause:e.pending,bufferedPending:null};typeof e.getSnapshot=="function"&&(t.originalGetSnapshot=e.getSnapshot,t.snapshotValueAtPause=e.getSnapshot(),e.getSnapshot=()=>Re?t.snapshotValueAtPause:t.originalGetSnapshot());let n=t.pendingValueAtPause;Object.defineProperty(e,"pending",{configurable:true,enumerable:true,get:()=>Re?t.bufferedPending:n,set:o=>{Re&&(t.bufferedPending=o),n=o;}}),oo.set(e,t);},Fl=e=>{let t=oo.get(e);if(!t)return;t.originalGetSnapshot&&(e.getSnapshot=t.originalGetSnapshot);let n=kl(t.pendingValueAtPause??null,t.bufferedPending??null);t.originalPendingDescriptor?Object.defineProperty(e,"pending",t.originalPendingDescriptor):delete e.pending,e.pending=n,oo.delete(e);},Ll=e=>{if(ro.has(e))return;let t={originalDescriptor:Object.getOwnPropertyDescriptor(e,"memoizedValue"),frozenValue:e.memoizedValue};Object.defineProperty(e,"memoizedValue",{configurable:true,enumerable:true,get(){return Re?t.frozenValue:t.originalDescriptor?.get?t.originalDescriptor.get.call(this):this._memoizedValue},set(n){if(Re){t.pendingValue=n,t.didReceivePendingValue=true;return}t.originalDescriptor?.set?t.originalDescriptor.set.call(this,n):this._memoizedValue=n;}}),t.originalDescriptor?.get||(e._memoizedValue=t.frozenValue),ro.set(e,t);},Bl=e=>{let t=ro.get(e);t&&(t.originalDescriptor?Object.defineProperty(e,"memoizedValue",t.originalDescriptor):delete e.memoizedValue,t.didReceivePendingValue&&(e.memoizedValue=t.pendingValue),ro.delete(e));},mi=(e,t)=>{let n=e.memoizedState;for(;n;)n.queue&&typeof n.queue=="object"&&t(n.queue),n=n.next;},pi=(e,t)=>{let n=e.dependencies?.firstContext;for(;n&&typeof n=="object"&&"memoizedValue"in n;)t(n),n=n.next;},so=(e,t)=>{e&&(tn(e)&&t(e),so(e.child,t),so(e.sibling,t));},Hl=e=>{mi(e,Il),pi(e,Ll);},$l=e=>{mi(e,Fl),pi(e,Bl);},zl=e=>{if(li.has(e))return;let t=e,n={useState:t.useState,useReducer:t.useReducer,useTransition:t.useTransition,useSyncExternalStore:t.useSyncExternalStore};li.set(e,n),t.useState=(...o)=>{let a=n.useState.apply(e,o);if(!Re||!Array.isArray(a)||typeof a[1]!="function")return a;let[l,s]=a,f=vr(ci,s,()=>(...i)=>{Re?no.push(()=>s(...i)):s(...i);});return [l,f]},t.useReducer=(...o)=>{let a=n.useReducer.apply(e,o);if(!Re||!Array.isArray(a)||typeof a[1]!="function")return a;let[l,s]=a,f=vr(ci,s,()=>(...i)=>{Re?no.push(()=>s(...i)):s(...i);});return [l,f]},t.useTransition=(...o)=>{let a=n.useTransition.apply(e,o);if(!Re||!Array.isArray(a)||typeof a[1]!="function")return a;let[l,s]=a,f=vr(Dl,s,()=>i=>{Re?Tr.push(()=>s(i)):s(i);});return [l,f]},t.useSyncExternalStore=(o,a,l)=>{if(!Re)return n.useSyncExternalStore(o,a,l);let s=f=>o(()=>{Re?Cr.add(f):f();});return n.useSyncExternalStore(s,a,l)};},Vl=e=>{let t=e.currentDispatcherRef;if(!t||typeof t!="object")return;let n="H"in t?"H":"current",o=t[n];Object.defineProperty(t,n,{configurable:true,enumerable:true,get:()=>(o&&typeof o=="object"&&zl(o),o),set:a=>{o=a;}});},Kl=e=>{queueMicrotask(()=>{try{for(let t of Ke().renderers.values())if(typeof t.scheduleUpdate=="function"){for(let n of e)if(n.current)try{t.scheduleUpdate(n.current);}catch{}}}catch{}});},xr=e=>{for(let t of e)try{t();}catch{}},Ul=()=>{for(let e of Ke().renderers.values())ui.has(e)||(Vl(e),ui.add(e));},io=()=>{if(Re)return ()=>{};Ul(),Re=true;let e=fi();for(let t of e)so(t.current,Hl);return ()=>{if(Re)try{let t=fi();for(let l of t)so(l.current,$l);let n=Array.from(Cr),o=Tr.slice(),a=no.slice();Re=!1,xr(n),xr(o),xr(a),Kl(t);}finally{Cr.clear(),Tr.length=0,no.length=0;}}};var Lt=(e,t)=>{let n=document.createElement("style");return n.setAttribute(e,""),n.textContent=t,document.head.appendChild(n),n};var jl=`
10
+ [${T}],
11
+ [${T}] * {
12
+ animation-play-state: paused !important;
13
+ transition: none !important;
14
+ }
15
+ `,Gl=`
16
+ *, *::before, *::after {
17
+ animation-play-state: paused !important;
18
+ transition: none !important;
19
+ }
20
+ `,gi=null,En=[],Ar=[],ao=null,Wl=()=>{gi||(gi=Lt("data-react-grab-frozen-styles",jl));},Xl=(e,t)=>e.length===t.length&&e.every((n,o)=>n===t[o]),vn=e=>{if(e.length!==0&&!Xl(e,Ar)){Ar=[...e],Pr(),Wl(),En=e;for(let t of En)t.setAttribute(T,"");}},Pr=()=>{if(En.length!==0){for(let e of En)e.removeAttribute(T);En=[],Ar=[];}},hi=e=>e.length===0?(Pr(),()=>{}):(vn(e),Pr),lo=()=>{ao||(ao=Lt("data-react-grab-global-freeze",Gl));},co=()=>{ao?.remove(),ao=null;};var bi=(e,t=window.getComputedStyle(e))=>t.display!=="none"&&t.visibility!=="hidden"&&t.opacity!=="0";var Yl=`[${Jt}], [${U}]`,Or=new WeakMap,yi=()=>{Or=new WeakMap;},yt=e=>{if(e.closest(Yl))return false;let t=performance.now(),n=Or.get(e);if(n&&t-n.timestamp<qa)return n.isVisible;let o=window.getComputedStyle(e),a=bi(e,o);return Or.set(e,{isVisible:a,timestamp:t}),a};var Bt=null,ql=(e,t,n,o)=>{let a=Math.abs(e-n),l=Math.abs(t-o);return a<=oa$1&&l<=oa$1},Rr=(e,t)=>document.elementsFromPoint(e,t),xn=(e,t)=>{let n=performance.now();if(Bt){let l=ql(e,t,Bt.clientX,Bt.clientY),s=n-Bt.timestamp<pa$1;if(l||s)return Bt.element}let o=Rr(e,t),a=null;for(let l of o)if(yt(l)){a=l;break}return Bt={clientX:e,clientY:t,element:a,timestamp:n},a},uo=()=>{Bt=null;};var fo=null,mo=()=>{fo||(fo=Lt("data-react-grab-pointer-override","* { pointer-events: auto !important; }"));},po=()=>{fo?.remove(),fo=null;};var Zl="* { pointer-events: none !important; }",Ei=["mouseenter","mouseleave","mouseover","mouseout","pointerenter","pointerleave","pointerover","pointerout"],vi=["focus","blur","focusin","focusout"],xi=["background-color","color","border-color","box-shadow","transform","opacity","outline","filter","scale","visibility"],Ci=["background-color","color","border-color","box-shadow","outline","outline-offset","outline-width","outline-color","outline-style","filter","opacity","ring-color","ring-width"],Jl=["opacity","transform","scale","translate","rotate"],Ti=new Map,Mr=new Map,go=null,Ai=e=>{e.stopPropagation(),e.stopImmediatePropagation();},Pi=e=>{e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();},Ql=e=>{let t=e.toLowerCase();return Jl.some(n=>t.includes(n))},ec=()=>{let e=[];for(let t of document.querySelectorAll(":hover")){if(!(t instanceof HTMLElement))continue;let n=t.style.cssText,o=getComputedStyle(t),a=n;for(let l of xi){let s=o.getPropertyValue(l);s&&(a+=`${l}: ${s} !important; `);}e.push({element:t,originalCssText:n,frozenStyles:a});}return e},tc=()=>{let e=[];for(let t of document.querySelectorAll(":focus, :focus-visible")){if(!(t instanceof HTMLElement)||Mr.has(t))continue;let n=t.style.cssText,o=getComputedStyle(t),a=n;for(let l of Ci){let s=o.getPropertyValue(l);s&&(a+=`${l}: ${s} !important; `);}e.push({element:t,originalCssText:n,frozenStyles:a});}return e},Si=(e,t)=>{for(let{element:n,originalCssText:o,frozenStyles:a}of e)t.set(n,o),n.style.cssText=a;},wi=(e,t)=>{for(let[n,o]of e)if(Ql(o))for(let a of t)n.style.removeProperty(a);else n.style.cssText=o;e.clear();},ho=()=>{if(go)return;for(let n of Ei)document.addEventListener(n,Ai,true);for(let n of vi)document.addEventListener(n,Pi,true);let e=ec(),t=tc();Si(e,Ti),Si(t,Mr),go=Lt("data-react-grab-frozen-pseudo",Zl),mo();},bo=()=>{po(),uo();for(let e of Ei)document.removeEventListener(e,Ai,true);for(let e of vi)document.removeEventListener(e,Pi,true);wi(Ti,xi),wi(Mr,Ci),go?.remove(),go=null;};var nc=t("<div style=z-index:2147483647>"),_r=0,oc=()=>Date.now()-_r<W,Dr=e$1=>{let[t,n$1]=d(false),[o,a]=d(true),l$1;return f(j(()=>e$1.visible,s=>{l$1!==void 0&&(clearTimeout(l$1),l$1=void 0),s?oc()?(a(false),n$1(true)):(a(true),l$1=setTimeout(()=>{n$1(true);},V)):(t()&&(_r=Date.now()),n$1(false));})),l(()=>{l$1!==void 0&&clearTimeout(l$1),t()&&(_r=Date.now());}),n(q,{get when(){return t()},get children(){var s=nc();return B(s,()=>e$1.children),e(()=>w(s,ya$1("absolute left-1/2 -translate-x-1/2 whitespace-nowrap px-1.5 py-0.5 rounded-[10px] text-[10px] text-black/60 pointer-events-none [corner-shape:superellipse(1.25)]",ta$1,e$1.position==="top"?"bottom-full mb-2.5":"top-full mt-2.5",o()&&"animate-tooltip-fade-in"))),s}})};var rc=t("<div style=z-index:2147483647>Enable to continue"),sc=t('<div data-react-grab-ignore-events data-react-grab-toolbar style=z-index:2147483647><div><div><div class="flex items-center min-w-0"><div><div class="relative overflow-hidden min-w-0"><button data-react-grab-ignore-events data-react-grab-toolbar-toggle class="contain-layout flex items-center justify-center cursor-pointer interactive-scale touch-hitbox mr-1.5"></button></div></div><div class="relative shrink-0 overflow-visible"><button data-react-grab-ignore-events data-react-grab-toolbar-enabled class="contain-layout flex items-center justify-center cursor-pointer interactive-scale outline-none mx-0.5"><div><div></div></div></button></div></div></div><button data-react-grab-ignore-events data-react-grab-toolbar-collapse class="contain-layout shrink-0 flex items-center justify-center cursor-pointer interactive-scale">'),Oi=e$1=>{let t,n$1=null,[o,a]=d(false),[l$1,s]=d(false),[f$1,i]=d(false),[u,g]=d(false),[T,N]=d(false),[v,V]=d("bottom"),[B$1,b]=d(.5),[h,I]=d({x:0,y:0}),[G,te]=d({x:0,y:0}),[pe,Ne]=d({x:0,y:0}),[Xe,Ue]=d(false),[ke,$e]=d(false),[H,A$1]=d(false),[S,m]=d(false),[y,E]=d(false),[M,p]=d(false),P=()=>v()==="top"?"bottom":"top",k$1=()=>{if(!l$1())return "";let R=v();return `${{top:"rounded-t-none rounded-b-[10px]",bottom:"rounded-b-none rounded-t-[10px]",left:"rounded-l-none rounded-r-[10px]",right:"rounded-r-none rounded-l-[10px]"}[R]} ${R==="top"||R==="bottom"?"px-2 py-0.25":"px-0.25 py-2"}`},C;f(j(()=>e$1.shakeCount,R=>{R&&!e$1.enabled&&($e(true),p(true),C&&clearTimeout(C),C=setTimeout(()=>{p(false);},fa$1));})),f(j(()=>e$1.enabled,R=>{R&&M()&&(p(false),C&&clearTimeout(C));})),f(j(()=>[e$1.isActive,e$1.isContextMenuOpen],([R,L])=>{!R&&!L&&n$1&&(n$1(),n$1=null);}));let _$1={x:0,y:0,time:0},O={x:0,y:0},D={width:da$1,height:ea$1},z$1={width:aa$1,height:ba$1},$$1=(R,L,j)=>Math.max(L,Math.min(R,j)),X$1=()=>{let R=window.visualViewport;return R?{width:R.width,height:R.height,offsetLeft:R.offsetLeft,offsetTop:R.offsetTop}:{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0}},Y$1=(R,L)=>{let j=X$1(),q=j.width,J=j.height,{width:Q,height:K}=D,Z=t?.getBoundingClientRect(),le=Z?.width??aa$1,be=Z?.height??ba$1,ve;if(L==="top"||L==="bottom"){let Le=(Q-le)/2,W=R.x-Le,De=$$1(W,j.offsetLeft+X,j.offsetLeft+q-Q-X),Ae=L==="top"?j.offsetTop+X:j.offsetTop+J-K-X;ve={x:De,y:Ae};}else {let Le=(K-be)/2,W=R.y-Le,De=$$1(W,j.offsetTop+X,j.offsetTop+J-K-X);ve={x:L==="left"?j.offsetLeft+X:j.offsetLeft+q-Q-X,y:De};}let Fe=we(L,ve.x,ve.y,Q,K);return {position:ve,ratio:Fe}},ue=(R,L,j,q)=>{let J=X$1(),Q=J.width,K=J.height,Z=J.offsetLeft+X,le=Math.max(Z,J.offsetLeft+Q-j-X),be=J.offsetTop+X,ve=Math.max(be,J.offsetTop+K-q-X);if(R==="top"||R==="bottom"){let De=Math.max(0,Q-j-X*2);return {x:Math.min(le,Math.max(Z,J.offsetLeft+X+De*L)),y:R==="top"?be:ve}}let Fe=Math.max(0,K-q-X*2),Le=Math.min(ve,Math.max(be,J.offsetTop+X+Fe*L));return {x:R==="left"?Z:le,y:Le}},we=(R,L,j,q,J)=>{let Q=X$1(),K=Q.width,Z=Q.height;if(R==="top"||R==="bottom"){let be=K-q-X*2;return be<=0?.5:Math.max(0,Math.min(1,(L-Q.offsetLeft-X)/be))}let le=Z-J-X*2;return le<=0?.5:Math.max(0,Math.min(1,(j-Q.offsetTop-X)/le))},ye=()=>{let R=t?.getBoundingClientRect();if(!R)return;let L=ue(v(),B$1(),R.width,R.height);I(L);},ee=false,se=R=>L=>{if(L.stopPropagation(),L.stopImmediatePropagation(),ee){ee=false;return}R();},Te=se(()=>e$1.onToggle?.()),Ie=se(()=>{let R=t?.getBoundingClientRect(),L=l$1(),j=B$1();if(L){let{position:q,ratio:J}=Y$1(tt(),v());j=J,I(q),b(j);}else R&&(D={width:R.width,height:R.height});A$1(true),s(q=>!q),Vt({edge:v(),ratio:j,collapsed:!L,enabled:e$1.enabled??true}),xe&&clearTimeout(xe),xe=setTimeout(()=>{if(A$1(false),l$1()){let q=t?.getBoundingClientRect();q&&(z$1={width:q.width,height:q.height});}},ca$1);}),Be=se(()=>e$1.onToggleEnabled?.()),Me=(R,L,j,q,J,Q)=>{let K=X$1(),Z=K.width,le=K.height,be=R+J*$,ve=L+Q*$,Fe=ve-K.offsetTop+q/2,Le=K.offsetTop+le-ve-q/2,W=be-K.offsetLeft+j/2,De=K.offsetLeft+Z-be-j/2,Ae=Math.min(Fe,Le,W,De);return Ae===Fe?{edge:"top",x:Math.max(K.offsetLeft+X,Math.min(be,K.offsetLeft+Z-j-X)),y:K.offsetTop+X}:Ae===W?{edge:"left",x:K.offsetLeft+X,y:Math.max(K.offsetTop+X,Math.min(ve,K.offsetTop+le-q-X))}:Ae===De?{edge:"right",x:K.offsetLeft+Z-j-X,y:Math.max(K.offsetTop+X,Math.min(ve,K.offsetTop+le-q-X))}:{edge:"bottom",x:Math.max(K.offsetLeft+X,Math.min(be,K.offsetLeft+Z-j-X)),y:K.offsetTop+le-q-X}},Ye=R=>{if(!f$1()||(Math.sqrt(Math.pow(R.clientX-O.x,2)+Math.pow(R.clientY-O.y,2))>_&&Ue(true),!Xe()))return;let j=performance.now(),q=j-_$1.time;if(q>0){let K=(R.clientX-_$1.x)/q,Z=(R.clientY-_$1.y)/q;Ne({x:K,y:Z});}_$1={x:R.clientX,y:R.clientY,time:j};let J=R.clientX-G().x,Q=R.clientY-G().y;I({x:J,y:Q});},at=()=>{if(!f$1())return;window.removeEventListener("pointermove",Ye),window.removeEventListener("pointerup",at);let R=Xe();if(i(false),!R)return;ee=true;let L=t?.getBoundingClientRect();if(!L)return;let j=pe(),q=Me(h().x,h().y,L.width,L.height,j.x,j.y),J=we(q.edge,q.x,q.y,L.width,L.height);V(q.edge),b(J),g(true),requestAnimationFrame(()=>{requestAnimationFrame(()=>{I({x:q.x,y:q.y}),Vt({edge:q.edge,ratio:J,collapsed:l$1(),enabled:e$1.enabled??true}),lt=setTimeout(()=>{g(false);},Z);});});},At=R=>{if(l$1())return;let L=t?.getBoundingClientRect();L&&(O={x:R.clientX,y:R.clientY},te({x:R.clientX-L.left,y:R.clientY-L.top}),i(true),Ue(false),Ne({x:0,y:0}),_$1={x:R.clientX,y:R.clientY,time:performance.now()},window.addEventListener("pointermove",Ye),window.addEventListener("pointerup",at));},an=()=>{let R=v(),L=h(),{width:j,height:q}=D,{width:J,height:Q}=z$1,K=X$1();switch(R){case "top":case "bottom":{let Z=(j-J)/2,le=L.x+Z;return {x:$$1(le,K.offsetLeft,K.offsetLeft+K.width-J),y:R==="top"?K.offsetTop:K.offsetTop+K.height-Q}}case "left":case "right":{let Z=(q-Q)/2,le=L.y+Z,be=$$1(le,K.offsetTop,K.offsetTop+K.height-Q);return {x:R==="left"?K.offsetLeft:K.offsetLeft+K.width-J,y:be}}default:return L}},qe=()=>{let R=v(),L=l$1();switch(R){case "top":return L?"rotate-180":"rotate-0";case "bottom":return L?"rotate-0":"rotate-180";case "left":return L?"rotate-90":"-rotate-90";case "right":return L?"-rotate-90":"rotate-90";default:return "rotate-0"}},_e,xe,lt,ct=()=>{f$1()||(N(true),ye(),_e&&clearTimeout(_e),_e=setTimeout(()=>{N(false);let R=t?.getBoundingClientRect();if(R){let L=we(v(),h().x,h().y,R.width,R.height);b(L),Vt({edge:v(),ratio:L,collapsed:l$1(),enabled:e$1.enabled??true});}},Y));},Vt=R=>{bn(R),e$1.onStateChange?.(R);};k(()=>{let R=Nt(),L=t?.getBoundingClientRect(),j=X$1();if(R){V(R.edge),b(R.ratio),s(R.collapsed),L&&(D={width:L.width,height:L.height});let J=ue(R.edge,R.ratio,D.width,D.height);I(J),R.collapsed&&requestAnimationFrame(()=>{let Q=t?.getBoundingClientRect();Q&&(z$1={width:Q.width,height:Q.height});});}else if(L)D={width:L.width,height:L.height},I({x:j.offsetLeft+(j.width-L.width)/2,y:j.offsetTop+j.height-L.height-X}),b(.5);else {let J=ue("bottom",.5,D.width,D.height);I(J);}if(e$1.onSubscribeToStateChanges){let J=e$1.onSubscribeToStateChanges(Q=>{if(H()||!t?.getBoundingClientRect())return;let Z=l$1()!==Q.collapsed;if(V(Q.edge),Z&&!Q.collapsed){let le=tt();A$1(true),s(Q.collapsed);let{position:be,ratio:ve}=Y$1(le,Q.edge);I(be),b(ve),xe&&clearTimeout(xe),xe=setTimeout(()=>{A$1(false);},ca$1);}else {Z&&(A$1(true),xe&&clearTimeout(xe),xe=setTimeout(()=>{A$1(false);},ca$1)),s(Q.collapsed);let le=ue(Q.edge,Q.ratio,D.width,D.height);I(le),b(Q.ratio);}});l(J);}window.addEventListener("resize",ct),window.visualViewport?.addEventListener("resize",ct),window.visualViewport?.addEventListener("scroll",ct);let q=setTimeout(()=>{a(true);},Y);l(()=>{clearTimeout(q);});}),l(()=>{window.removeEventListener("resize",ct),window.visualViewport?.removeEventListener("resize",ct),window.visualViewport?.removeEventListener("scroll",ct),window.removeEventListener("pointermove",Ye),window.removeEventListener("pointerup",at),_e&&clearTimeout(_e),xe&&clearTimeout(xe),C&&clearTimeout(C),lt&&clearTimeout(lt),n$1?.();});let tt=()=>l$1()?an():h(),Kt=()=>l$1()?"cursor-pointer":f$1()?"cursor-grabbing":"cursor-grab",Fo=()=>T()?"":u()?"transition-[transform,opacity] duration-300 ease-out":H()?"transition-[transform,opacity] duration-150 ease-out":"transition-opacity duration-300 ease-out",ut=()=>{switch(v()){case "top":return "center top";case "bottom":return "center bottom";case "left":return "left center";case "right":return "right center";default:return "center center"}};return (()=>{var R=sc(),L=R.firstChild,j=L.firstChild,q$1=j.firstChild,J=q$1.firstChild,Q=J.firstChild,K=Q.firstChild,Z=J.nextSibling,le=Z.firstChild,be=le.firstChild,ve=be.firstChild,Fe=j.nextSibling;R.$$pointerdown=At;var Le=t;return typeof Le=="function"?A(Le,R):t=R,L.$$click=W=>{if(l$1()){W.stopPropagation();let{position:De,ratio:Ae}=Y$1(tt(),v());I(De),b(Ae),A$1(true),s(false),Vt({edge:v(),ratio:Ae,collapsed:false,enabled:e$1.enabled??true}),xe&&clearTimeout(xe),xe=setTimeout(()=>{A$1(false);},ca$1);}},L.addEventListener("animationend",()=>$e(false)),K.addEventListener("mouseleave",()=>{m(false),e$1.onSelectHoverChange?.(false),!e$1.isActive&&!e$1.isContextMenuOpen&&(n$1?.(),n$1=null,co(),bo());}),K.addEventListener("mouseenter",()=>{m(true),e$1.onSelectHoverChange?.(true),n$1||(n$1=io(),lo(),ho());}),K.$$click=W=>{m(false),Te(W);},x(K,"mousedown",W=>{W.stopPropagation(),W.stopImmediatePropagation();}),x(K,"pointerdown",W=>{W.stopPropagation(),W.stopImmediatePropagation();}),B(K,n(Da,{size:14,get class(){return ya$1("transition-colors",e$1.isActive?"text-black":"text-black/70")}})),B(Q,n(Dr,{get visible(){return r(()=>!!S())()&&!l$1()},get position(){return P()},get children(){return ["Select element (",r(()=>Ba("C")),")"]}}),null),le.addEventListener("mouseleave",()=>E(false)),le.addEventListener("mouseenter",()=>E(true)),le.$$click=W=>{E(false),Be(W);},B(Z,n(Dr,{get visible(){return r(()=>!!y())()&&!l$1()},get position(){return P()},get children(){return e$1.enabled?"Disable":"Enable"}}),null),x(Fe,"click",Ie,true),B(Fe,n(Ea,{get class(){return ya$1("text-[#B3B3B3] transition-transform duration-150",qe())}})),B(L,n(q,{get when(){return M()},get children(){var W=rc();return e(()=>w(W,ya$1("absolute left-1/2 -translate-x-1/2 whitespace-nowrap px-1.5 py-0.5 rounded-[10px] text-[10px] text-black/60 pointer-events-none animate-tooltip-fade-in [corner-shape:superellipse(1.25)]",ta$1,P()==="top"?"bottom-full mb-0.5":"top-full mt-0.5"))),W}}),null),e(W=>{var De=ya$1("fixed left-0 top-0 font-sans text-[13px] antialiased filter-[drop-shadow(0px_1px_2px_#51515140)] select-none",Kt(),Fo(),o()?"opacity-100":"opacity-0 pointer-events-none"),Ae=`translate(${tt().x}px, ${tt().y}px)`,Pt=ut(),Ot=ya$1("flex items-center justify-center rounded-[10px] antialiased transition-all duration-150 ease-out relative overflow-visible [font-synthesis:none] [corner-shape:superellipse(1.25)]",ta$1,!l$1()&&"py-1.5 gap-1.5 px-2",k$1(),ke()&&"animate-shake"),Ut=ut(),_n=ya$1("grid transition-all duration-150 ease-out",l$1()?"grid-cols-[0fr] opacity-0 pointer-events-none":"grid-cols-[1fr] opacity-100"),jt=ya$1("grid transition-all duration-150 ease-out overflow-hidden",e$1.enabled?"grid-cols-[1fr] opacity-100":"grid-cols-[0fr] opacity-0"),je=ya$1("relative w-5 h-3 rounded-full transition-colors",e$1.enabled?"bg-black":"bg-black/25"),Rt=ya$1("absolute top-0.5 w-2 h-2 rounded-full bg-white transition-transform",e$1.enabled?"left-2.5":"left-0.5");return De!==W.e&&w(R,W.e=De),Ae!==W.t&&z(R,"transform",W.t=Ae),Pt!==W.a&&z(R,"transform-origin",W.a=Pt),Ot!==W.o&&w(L,W.o=Ot),Ut!==W.i&&z(L,"transform-origin",W.i=Ut),_n!==W.n&&w(j,W.n=_n),jt!==W.s&&w(J,W.s=jt),je!==W.h&&w(be,W.h=je),Rt!==W.r&&w(ve,W.r=Rt),W},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),R})()};u(["pointerdown","click"]);var ic=t('<div style="position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity 100ms ease-out;will-change:opacity;contain:strict;transform:translateZ(0)">'),Ri=e$1=>[n(Js,{get crosshairVisible(){return e$1.crosshairVisible},get mouseX(){return e$1.mouseX},get mouseY(){return e$1.mouseY},get selectionVisible(){return e$1.selectionVisible},get selectionBounds(){return e$1.selectionBounds},get selectionBoundsMultiple(){return e$1.selectionBoundsMultiple},get selectionShouldSnap(){return e$1.selectionShouldSnap},get selectionIsFading(){return e$1.selectionLabelStatus==="fading"},get dragVisible(){return e$1.dragVisible},get dragBounds(){return e$1.dragBounds},get grabbedBoxes(){return e$1.grabbedBoxes},get agentSessions(){return e$1.agentSessions},get labelInstances(){return e$1.labelInstances}}),(()=>{var t=ic();return z(t,"z-index",2147483645),z(t,"box-shadow",`inset 0 0 ${K}px ${J}`),e(n=>z(t,"opacity",e$1.isFrozen?1:0)),t})(),n(p,{get each(){return r(()=>!!e$1.agentSessions)()?Array.from(e$1.agentSessions.values()):[]},children:t=>n(q,{get when(){return t().selectionBounds.length>0},get children(){return n(za,{get tagName(){return t().tagName},get componentName(){return t().componentName},get selectionBounds(){return t().selectionBounds[0]},get mouseX(){return t().position.x},visible:true,hasAgent:true,isAgentConnected:true,get status(){return t().isFading?"fading":t().isStreaming?"copying":"copied"},get statusText(){return t().lastStatus||"Thinking\u2026"},get inputValue(){return t().context.prompt},get previousPrompt(){return t().context.prompt},get supportsUndo(){return e$1.supportsUndo},get supportsFollowUp(){return e$1.supportsFollowUp},get dismissButtonText(){return e$1.dismissButtonText},onAbort:()=>e$1.onRequestAbortSession?.(t().id),get onDismiss(){return t().isStreaming?void 0:()=>e$1.onDismissSession?.(t().id)},get onUndo(){return t().isStreaming?void 0:()=>e$1.onUndoSession?.(t().id)},get onFollowUpSubmit(){return t().isStreaming?void 0:n=>e$1.onFollowUpSubmitSession?.(t().id,n)},get error(){return t().error},onAcknowledgeError:()=>e$1.onAcknowledgeSessionError?.(t().id),onRetry:()=>e$1.onRetrySession?.(t().id),get isPendingAbort(){return r(()=>!!t().isStreaming)()&&e$1.pendingAbortSessionId===t().id},onConfirmAbort:()=>e$1.onAbortSession?.(t().id,true),onCancelAbort:()=>e$1.onAbortSession?.(t().id,false),onShowContextMenu:void 0})}})}),n(q,{get when(){return r(()=>!!e$1.selectionLabelVisible)()&&e$1.selectionBounds},get children(){return n(za,{get tagName(){return e$1.selectionTagName},get componentName(){return e$1.selectionComponentName},get elementsCount(){return e$1.selectionElementsCount},get selectionBounds(){return e$1.selectionBounds},get mouseX(){return e$1.mouseX},get visible(){return e$1.selectionLabelVisible},get isPromptMode(){return e$1.isPromptMode},get inputValue(){return e$1.inputValue},get replyToPrompt(){return e$1.replyToPrompt},get hasAgent(){return e$1.hasAgent},get isAgentConnected(){return e$1.isAgentConnected},get status(){return e$1.selectionLabelStatus},get filePath(){return e$1.selectionFilePath},get lineNumber(){return e$1.selectionLineNumber},get onInputChange(){return e$1.onInputChange},get onSubmit(){return e$1.onInputSubmit},get onCancel(){return e$1.onInputCancel},get onToggleExpand(){return e$1.onToggleExpand},get isPendingDismiss(){return e$1.isPendingDismiss},get onConfirmDismiss(){return e$1.onConfirmDismiss},get onCancelDismiss(){return e$1.onCancelDismiss},onOpen:()=>{if(e$1.selectionFilePath){let t=Qt(e$1.selectionFilePath,e$1.selectionLineNumber);window.open(t,"_blank");}},get isContextMenuOpen(){return e$1.contextMenuPosition!==null}})}}),n(p,{get each(){return e$1.labelInstances??[]},children:t=>n(za,{get tagName(){return t().tagName},get componentName(){return t().componentName},get selectionBounds(){return t().bounds},get mouseX(){return t().mouseX},visible:true,get status(){return t().status},get error(){return t().errorMessage},get onShowContextMenu(){return (t().status==="copied"||t().status==="fading")&&t().element&&(document.body??document.documentElement).contains(t().element)?()=>e$1.onShowContextMenuInstance?.(t().id):void 0},onHoverChange:n=>e$1.onLabelInstanceHoverChange?.(t().id,n)})}),n(q,{get when(){return e$1.toolbarVisible!==false},get children(){return n(Oi,{get isActive(){return e$1.isActive},get isContextMenuOpen(){return e$1.contextMenuPosition!==null},get onToggle(){return e$1.onToggleActive},get enabled(){return e$1.enabled},get onToggleEnabled(){return e$1.onToggleEnabled},get shakeCount(){return e$1.shakeCount},get onStateChange(){return e$1.onToolbarStateChange},get onSubscribeToStateChanges(){return e$1.onSubscribeToToolbarStateChanges},get onSelectHoverChange(){return e$1.onToolbarSelectHoverChange}})}}),n(Ca,{get position(){return e$1.contextMenuPosition??null},get selectionBounds(){return e$1.contextMenuBounds??null},get tagName(){return e$1.contextMenuTagName},get componentName(){return e$1.contextMenuComponentName},get hasFilePath(){return e$1.contextMenuHasFilePath??false},get actions(){return e$1.actions},get actionContext(){return e$1.actionContext},get onDismiss(){return e$1.onContextMenuDismiss??(()=>{})},get onHide(){return e$1.onContextMenuHide??(()=>{})}})];var ac=Object.create,Li=Object.defineProperty,lc=Object.getOwnPropertyDescriptor,cc=Object.getOwnPropertyNames,uc=Object.getPrototypeOf,dc=Object.prototype.hasOwnProperty,fc=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),mc=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(var a=cc(t),l=0,s=a.length,f;l<s;l++)f=a[l],!dc.call(e,f)&&f!==n&&Li(e,f,{get:(i=>t[i]).bind(null,f),enumerable:!(o=lc(t,f))||o.enumerable});return e},pc=(e,t,n)=>(n=e==null?{}:ac(uc(e)),mc(Li(n,"default",{value:e,enumerable:true}),e)),Mi=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,gc=["rsc://","file:///","webpack://","webpack-internal://","node:","turbopack://","metro://","/app-pages-browser/"],_i="about://React/",hc=["<anonymous>","eval",""],bc=/\.(jsx|tsx|ts|js)$/,yc=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,Sc=/^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/,Bi="(at Server)",wc=/(^|@)\S+:\d+/,Hi=/^\s*at .*(\S+:\d+|\(native\))/m,Ec=/^(eval@)?(\[native code\])?$/;var $i=(e,t)=>{{let n=e.split(`
21
+ `),o=[];for(let a of n)if(/^\s*at\s+/.test(a)){let l=Di(a,void 0)[0];l&&o.push(l);}else if(/^\s*in\s+/.test(a)){let l=a.replace(/^\s*in\s+/,"").replace(/\s*\(at .*\)$/,"");o.push({functionName:l,source:a});}else if(a.match(wc)){let l=Ni(a,void 0)[0];l&&o.push(l);}return Ir(o,t)}},zi=e=>{if(!e.includes(":"))return [e,void 0,void 0];let t=e.startsWith("(")&&/:\d+\)$/.test(e),n=t?e.slice(1,-1):e,o=/(.+?)(?::(\d+))?(?::(\d+))?$/,a=o.exec(n);return a?[a[1],a[2]||void 0,a[3]||void 0]:[n,void 0,void 0]},Ir=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e;var Di=(e,t)=>Ir(e.split(`
22
+ `).filter(o=>!!o.match(Hi)),t).map(o=>{let a=o;a.includes("(eval ")&&(a=a.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let l=a.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),s=l.match(/ (\(.+\)$)/);l=s?l.replace(s[0],""):l;let f=zi(s?s[1]:l),i=s&&l||void 0,u=["eval","<anonymous>"].includes(f[0])?void 0:f[0];return {functionName:i,fileName:u,lineNumber:f[1]?+f[1]:void 0,columnNumber:f[2]?+f[2]:void 0,source:a}});var Ni=(e,t)=>Ir(e.split(`
23
+ `).filter(o=>!o.match(Ec)),t).map(o=>{let a=o;if(a.includes(" > eval")&&(a=a.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!a.includes("@")&&!a.includes(":"))return {functionName:a};{let l=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,s=a.match(l),f=s&&s[1]?s[1]:void 0,i=zi(a.replace(l,""));return {functionName:f,fileName:i[0],lineNumber:i[1]?+i[1]:void 0,columnNumber:i[2]?+i[2]:void 0,source:a}}});var vc=fc((e,t)=>{(function(n,o){typeof e=="object"&&t!==void 0?o(e):typeof define=="function"&&define.amd?define(["exports"],o):(n=typeof globalThis<"u"?globalThis:n||self,o(n.sourcemapCodec={}));})(void 0,function(n){let o=44,a=59,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=new Uint8Array(64),f=new Uint8Array(128);for(let H=0;H<l.length;H++){let A=l.charCodeAt(H);s[H]=A,f[A]=H;}function i(H,A){let S=0,m=0,y=0;do{let M=H.next();y=f[M],S|=(y&31)<<m,m+=5;}while(y&32);let E=S&1;return S>>>=1,E&&(S=-2147483648|-S),A+S}function u(H,A,S){let m=A-S;m=m<0?-m<<1|1:m<<1;do{let y=m&31;m>>>=5,m>0&&(y|=32),H.write(s[y]);}while(m>0);return A}function g(H,A){return H.pos>=A?false:H.peek()!==o}let T=1024*16,N=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(H){return Buffer.from(H.buffer,H.byteOffset,H.byteLength).toString()}}:{decode(H){let A="";for(let S=0;S<H.length;S++)A+=String.fromCharCode(H[S]);return A}};class v{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(T);}write(A){let{buffer:S}=this;S[this.pos++]=A,this.pos===T&&(this.out+=N.decode(S),this.pos=0);}flush(){let{buffer:A,out:S,pos:m}=this;return m>0?S+N.decode(A.subarray(0,m)):S}}class V{constructor(A){this.pos=0,this.buffer=A;}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(A){let{buffer:S,pos:m}=this,y=S.indexOf(A,m);return y===-1?S.length:y}}let B=[];function b(H){let{length:A}=H,S=new V(H),m=[],y=[],E=0;for(;S.pos<A;S.pos++){E=i(S,E);let M=i(S,0);if(!g(S,A)){let O=y.pop();O[2]=E,O[3]=M;continue}let p=i(S,0),P=i(S,0),k=P&1,C=k?[E,M,0,0,p,i(S,0)]:[E,M,0,0,p],_=B;if(g(S,A)){_=[];do{let O=i(S,0);_.push(O);}while(g(S,A))}C.vars=_,m.push(C),y.push(C);}return m}function h(H){let A=new v;for(let S=0;S<H.length;)S=I(H,S,A,[0]);return A.flush()}function I(H,A,S,m){let y=H[A],{0:E,1:M,2:p,3:P,4:k,vars:C}=y;A>0&&S.write(o),m[0]=u(S,E,m[0]),u(S,M,0),u(S,k,0);let _=y.length===6?1:0;u(S,_,0),y.length===6&&u(S,y[5],0);for(let O of C)u(S,O,0);for(A++;A<H.length;){let O=H[A],{0:D,1:z}=O;if(D>p||D===p&&z>=P)break;A=I(H,A,S,m);}return S.write(o),m[0]=u(S,p,m[0]),u(S,P,0),A}function G(H){let{length:A}=H,S=new V(H),m=[],y=[],E=0,M=0,p=0,P=0,k=0,C=0,_=0,O=0;do{let D=S.indexOf(";"),z=0;for(;S.pos<D;S.pos++){if(z=i(S,z),!g(S,D)){let se=y.pop();se[2]=E,se[3]=z;continue}let $=i(S,0),X=$&1,Y=$&2,ue=$&4,we=null,ye=B,ee;if(X){let se=i(S,M);p=i(S,M===se?p:0),M=se,ee=[E,z,0,0,se,p];}else ee=[E,z,0,0];if(ee.isScope=!!ue,Y){let se=P,Te=k;P=i(S,P);let Ie=se===P;k=i(S,Ie?k:0),C=i(S,Ie&&Te===k?C:0),we=[P,k,C];}if(ee.callsite=we,g(S,D)){ye=[];do{_=E,O=z;let se=i(S,0),Te;if(se<-1){Te=[[i(S,0)]];for(let Ie=-1;Ie>se;Ie--){let Be=_;_=i(S,_),O=i(S,_===Be?O:0);let Me=i(S,0);Te.push([Me,_,O]);}}else Te=[[se]];ye.push(Te);}while(g(S,D))}ee.bindings=ye,m.push(ee),y.push(ee);}E++,S.pos=D+1;}while(S.pos<A);return m}function te(H){if(H.length===0)return "";let A=new v;for(let S=0;S<H.length;)S=pe(H,S,A,[0,0,0,0,0,0,0]);return A.flush()}function pe(H,A,S,m){let y=H[A],{0:E,1:M,2:p,3:P,isScope:k,callsite:C,bindings:_}=y;m[0]<E?(Ne(S,m[0],E),m[0]=E,m[1]=0):A>0&&S.write(o),m[1]=u(S,y[1],m[1]);let O=(y.length===6?1:0)|(C?2:0)|(k?4:0);if(u(S,O,0),y.length===6){let{4:D,5:z}=y;D!==m[2]&&(m[3]=0),m[2]=u(S,D,m[2]),m[3]=u(S,z,m[3]);}if(C){let{0:D,1:z,2:$}=y.callsite;D===m[4]?z!==m[5]&&(m[6]=0):(m[5]=0,m[6]=0),m[4]=u(S,D,m[4]),m[5]=u(S,z,m[5]),m[6]=u(S,$,m[6]);}if(_)for(let D of _){D.length>1&&u(S,-D.length,0);let z=D[0][0];u(S,z,0);let $=E,X=M;for(let Y=1;Y<D.length;Y++){let ue=D[Y];$=u(S,ue[1],$),X=u(S,ue[2],X),u(S,ue[0],0);}}for(A++;A<H.length;){let D=H[A],{0:z,1:$}=D;if(z>p||z===p&&$>=P)break;A=pe(H,A,S,m);}return m[0]<p?(Ne(S,m[0],p),m[0]=p,m[1]=0):S.write(o),m[1]=u(S,P,m[1]),A}function Ne(H,A,S){do H.write(a);while(++A<S)}function Xe(H){let{length:A}=H,S=new V(H),m=[],y=0,E=0,M=0,p=0,P=0;do{let k=S.indexOf(";"),C=[],_=true,O=0;for(y=0;S.pos<k;){let D;y=i(S,y),y<O&&(_=false),O=y,g(S,k)?(E=i(S,E),M=i(S,M),p=i(S,p),g(S,k)?(P=i(S,P),D=[y,E,M,p,P]):D=[y,E,M,p]):D=[y],C.push(D),S.pos++;}_||Ue(C),m.push(C),S.pos=k+1;}while(S.pos<=A);return m}function Ue(H){H.sort(ke);}function ke(H,A){return H[0]-A[0]}function $e(H){let A=new v,S=0,m=0,y=0,E=0;for(let M=0;M<H.length;M++){let p=H[M];if(M>0&&A.write(a),p.length===0)continue;let P=0;for(let k=0;k<p.length;k++){let C=p[k];k>0&&A.write(o),P=u(A,C[0],P),C.length!==1&&(S=u(A,C[1],S),m=u(A,C[2],m),y=u(A,C[3],y),C.length!==4&&(E=u(A,C[4],E)));}}return A.flush()}n.decode=Xe,n.decodeGeneratedRanges=G,n.decodeOriginalScopes=b,n.encode=$e,n.encodeGeneratedRanges=te,n.encodeOriginalScopes=h,Object.defineProperty(n,"__esModule",{value:true});});}),Vi=pc(vc()),Ki=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,xc=/^data:application\/json[^,]+base64,/,Cc=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,Ui=typeof WeakRef<"u",Cn=new Map,yo=new Map,Tc=e=>Ui&&e instanceof WeakRef,ki=(e,t,n,o)=>{if(n<0||n>=e.length)return null;let a=e[n];if(!a||a.length===0)return null;let l=null;for(let g of a)if(g[0]<=o)l=g;else break;if(!l||l.length<4)return null;let[,s,f,i]=l;if(s===void 0||f===void 0||i===void 0)return null;let u=t[s];return u?{columnNumber:i,fileName:u,lineNumber:f+1}:null},Ac=(e,t,n)=>{if(e.sections){let o=null;for(let s of e.sections)if(t>s.offset.line||t===s.offset.line&&n>=s.offset.column)o=s;else break;if(!o)return null;let a=t-o.offset.line,l=t===o.offset.line?n-o.offset.column:n;return ki(o.map.mappings,o.map.sources,a,l)}return ki(e.mappings,e.sources,t-1,n)},Pc=(e,t)=>{let n=t.split(`
24
+ `),o;for(let l=n.length-1;l>=0&&!o;l--){let s=n[l].match(Cc);s&&(o=s[1]||s[2]);}if(!o)return null;let a=Ki.test(o);if(!(xc.test(o)||a||o.startsWith("/"))){let l=e.split("/");l[l.length-1]=o,o=l.join("/");}return o},Oc=e=>({file:e.file,mappings:(0, Vi.decode)(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),Rc=e=>{let t=e.sections.map(({map:o,offset:a})=>({map:{...o,mappings:(0, Vi.decode)(o.mappings)},offset:a})),n=new Set;for(let o of t)for(let a of o.map.sources)n.add(a);return {file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},Ii=e=>{if(!e)return false;let t=e.trim();if(!t)return false;let n=t.match(Ki);if(!n)return true;let o=n[0].toLowerCase();return o==="http:"||o==="https:"},Mc=async(e,t=fetch)=>{if(!Ii(e))return null;let n;try{let a=await t(e);if(!a.ok)return null;n=await a.text();}catch{return null}if(!n)return null;let o=Pc(e,n);if(!o||!Ii(o))return null;try{let a=await t(o);if(!a.ok)return null;let l=await a.json();return "sections"in l?Rc(l):Oc(l)}catch{return null}},_c=async(e,t=true,n)=>{if(t&&Cn.has(e)){let l=Cn.get(e);if(l==null)return null;if(Tc(l)){let s=l.deref();if(s)return s;Cn.delete(e);}else return l}if(t&&yo.has(e))return yo.get(e);let o=Mc(e,n);t&&yo.set(e,o);let a=await o;return t&&yo.delete(e),t&&(a===null?Cn.set(e,null):Cn.set(e,Ui?new WeakRef(a):a)),a},Dc=async(e,t=true,n)=>await Promise.all(e.map(async o=>{if(!o.fileName)return o;let a=await _c(o.fileName,t,n);if(!a||typeof o.lineNumber!="number"||typeof o.columnNumber!="number")return o;let l=Ac(a,o.lineNumber,o.columnNumber);return l?{...o,source:l.fileName&&o.source?o.source.replace(o.fileName,l.fileName):o.source,fileName:l.fileName,lineNumber:l.lineNumber,columnNumber:l.columnNumber,isSymbolicated:true}:o})),Nc=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack=="string",kc=()=>{let e=Ke();for(let t of [...Array.from(kt),...Array.from(e.renderers.values())]){let n=t.currentDispatcherRef;if(n&&typeof n=="object")return "H"in n?n.H:n.current}return null},Fi=e=>{for(let t of kt){let n=t.currentDispatcherRef;n&&typeof n=="object"&&("H"in n?n.H=e:n.current=e);}},it=e=>`
25
+ in ${e}`,Ic=(e,t)=>{let n=it(e);return t&&(n+=` (at ${t})`),n},Nr=false,kr=(e,t)=>{if(!e||Nr)return "";let n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,Nr=true;let o=kc();Fi(null);let a=console.error,l=console.warn;console.error=()=>{},console.warn=()=>{};try{let i={DetermineComponentFrameRoot(){let N;try{if(t){let v=function(){throw Error()};if(Object.defineProperty(v.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(v,[]);}catch(V){N=V;}Reflect.construct(e,[],v);}else {try{v.call();}catch(V){N=V;}e.call(v.prototype);}}else {try{throw Error()}catch(V){N=V;}let v=e();v&&typeof v.catch=="function"&&v.catch(()=>{});}}catch(v){if(v instanceof Error&&N instanceof Error&&typeof v.stack=="string")return [v.stack,N.stack]}return [null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot",Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name")?.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});let[g,T]=i.DetermineComponentFrameRoot();if(g&&T){let N=g.split(`
26
+ `),v=T.split(`
27
+ `),V=0,B=0;for(;V<N.length&&!N[V].includes("DetermineComponentFrameRoot");)V++;for(;B<v.length&&!v[B].includes("DetermineComponentFrameRoot");)B++;if(V===N.length||B===v.length)for(V=N.length-1,B=v.length-1;V>=1&&B>=0&&N[V]!==v[B];)B--;for(;V>=1&&B>=0;V--,B--)if(N[V]!==v[B]){if(V!==1||B!==1)do if(V--,B--,B<0||N[V]!==v[B]){let b=`
28
+ ${N[V].replace(" at new "," at ")}`,h=bt(e);return h&&b.includes("<anonymous>")&&(b=b.replace("<anonymous>",h)),b}while(V>=1&&B>=0);break}}}finally{Nr=false,Error.prepareStackTrace=n,Fi(o),console.error=a,console.warn=l;}let s=e?bt(e):"";return s?it(s):""},Fc=(e,t)=>{let n=e.tag,o="";switch(n){case hr:o=it("Activity");break;case Qn:o=kr(e.type,true);break;case eo:o=kr(e.type.render,false);break;case Jn:case to:o=kr(e.type,false);break;case ur:case pr:case gr:o=it(e.type);break;case fr:o=it("Lazy");break;case dr:o=e.child!==t&&t!==null?it("Suspense Fallback"):it("Suspense");break;case mr:o=it("SuspenseList");break;case br:o=it("ViewTransition");break;default:return ""}return o},Lc=e=>{try{let t="",n=e,o=null;do{t+=Fc(n,o);let a=n._debugInfo;if(a&&Array.isArray(a))for(let l=a.length-1;l>=0;l--){let s=a[l];typeof s.name=="string"&&(t+=Ic(s.name,s.env));}o=n,n=n.return;}while(n);return t}catch(t){return t instanceof Error?`
29
+ Error generating stack: ${t.message}
30
+ ${t.stack}`:""}},Bc=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return "";Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
31
+ `)&&(n=n.slice(29));let o=n.indexOf(`
32
+ `);if(o!==-1&&(n=n.slice(o+1)),o=Math.max(n.indexOf("react_stack_bottom_frame"),n.indexOf("react-stack-bottom-frame")),o!==-1&&(o=n.lastIndexOf(`
33
+ `,o)),o!==-1)n=n.slice(0,o);else return "";return n},Hc=e=>!!(e.fileName?.startsWith("rsc://")&&e.functionName),$c=(e,t)=>e.fileName===t.fileName&&e.lineNumber===t.lineNumber&&e.columnNumber===t.columnNumber,zc=e=>{let t=new Map;for(let n of e)for(let o of n.stackFrames){if(!Hc(o))continue;let a=o.functionName,l=t.get(a)??[];l.some(f=>$c(f,o))||(l.push(o),t.set(a,l));}return t},Vc=(e,t,n)=>{if(!e.functionName)return {...e,isServer:true};let o=t.get(e.functionName);if(!o||o.length===0)return {...e,isServer:true};let a=n.get(e.functionName)??0,l=o[a%o.length];return n.set(e.functionName,a+1),{...e,isServer:true,fileName:l.fileName,lineNumber:l.lineNumber,columnNumber:l.columnNumber,source:e.source?.replace(Bi,`(${l.fileName}:${l.lineNumber}:${l.columnNumber})`)}},Kc=e=>{let t=[];return wn(e,n=>{if(!Nc(n))return;let o=typeof n.type=="string"?n.type:bt(n.type)||"<anonymous>";t.push({componentName:o,stackFrames:$i(Bc(n._debugStack?.stack))});},true),t},ji=async(e,t=true,n)=>{let o=Kc(e),a=$i(Lc(e)),l=zc(o),s=new Map,f=a.map(u=>u.source?.includes(Bi)??false?Vc(u,l,s):u),i=f.filter((u,g,T)=>{if(g===0)return true;let N=T[g-1];return u.functionName!==N.functionName});return Dc(i,t,n)};var St=e=>{if(!e||hc.some(a=>a===e))return "";let t=e;if(t.startsWith("http://")||t.startsWith("https://"))try{t=new URL(t).pathname;}catch{}if(t.startsWith(_i)){let a=t.slice(_i.length),l=a.indexOf("/"),s=a.indexOf(":");t=l!==-1&&(s===-1||l<s)?a.slice(l+1):a;}let n=true;for(;n;){n=false;for(let a of gc)if(t.startsWith(a)){t=t.slice(a.length),a==="file:///"&&(t=`/${t.replace(/^\/+/,"")}`),n=true;break}}if(Mi.test(t)){let a=t.match(Mi);a&&(t=t.slice(a[0].length));}if(t.startsWith("//")){let a=t.indexOf("/",2);t=a===-1?"":t.slice(a);}let o=t.indexOf("?");if(o!==-1){let a=t.slice(o);Sc.test(a)&&(t=t.slice(0,o));}return t},wt=e=>{let t=St(e);return !(!t||!bc.test(t)||yc.test(t))};var Gi=e=>e.length>0&&/^[A-Z]/.test(e);var Uc=new Set(["InnerLayoutRouter","RedirectErrorBoundary","RedirectBoundary","HTTPAccessFallbackErrorBoundary","HTTPAccessFallbackBoundary","LoadingBoundary","ErrorBoundary","InnerScrollAndFocusHandler","ScrollAndFocusHandler","RenderFromTemplateContext","OuterLayoutRouter","body","html","DevRootHTTPAccessFallbackBoundary","AppDevOverlayErrorBoundary","AppDevOverlay","HotReload","Router","ErrorBoundaryHandler","AppRouter","ServerRoot","SegmentStateProvider","RootErrorBoundary","LoadableComponent","MotionDOMComponent"]),jc=new Set(["Suspense","Fragment","StrictMode","Profiler","SuspenseList"]),Gc=()=>typeof document>"u"?false:!!(document.getElementById("__NEXT_DATA__")||document.querySelector("nextjs-portal")),Xi=e=>!!(e.startsWith("_")||Uc.has(e)||jc.has(e)),nn=e=>!(e.length<=1||Xi(e)||!Gi(e)||e.startsWith("Primitive.")||e.includes("Provider")&&e.includes("Context")),Wi=new WeakMap,Wc=async e=>{try{let t=Ft(e);return t?await ji(t):null}catch{return null}},Et=e=>{if(!It())return Promise.resolve([]);let t=Wi.get(e);if(t)return t;let n=Wc(e);return Wi.set(e,n),n},on=async e=>{if(!It())return null;let t=await Et(e);if(!t)return null;for(let n of t)if(n.functionName&&nn(n.functionName))return n.functionName;return null},Yi=e=>!(!e||Xi(e)||e.startsWith("Primitive.")||e==="SlotClone"||e==="Slot"),So=e=>{if(!It())return null;let t=Ft(e);if(!t)return null;let n=t.return;for(;n;){if(tn(n)){let o=bt(n.type);if(o&&Yi(o))return o}n=n.return;}return null},Xc=e=>e?e.some(t=>t.isServer||t.fileName&&wt(t.fileName)):false,Yc=(e,t)=>{if(!It())return [];let n=Ft(e);if(!n)return [];let o=[];return wn(n,a=>{if(o.length>=t)return true;if(tn(a)){let l=bt(a.type);l&&Yi(l)&&o.push(l);}return false},true),o},Fr=async(e,t={})=>{let{maxLines:n=3}=t,o=await Et(e),a=Zc(e);if(Xc(o)){let s=Gc(),f=[];if(o)for(let i of o){if(f.length>=n)break;if(i.isServer&&(!i.functionName||nn(i.functionName))){f.push(`
34
+ in ${i.functionName||"<anonymous>"} (at Server)`);continue}if(i.fileName&&wt(i.fileName)){let u=`
35
+ in `,g=i.functionName&&nn(i.functionName);g&&(u+=`${i.functionName} (at `),u+=St(i.fileName),s&&i.lineNumber&&i.columnNumber&&(u+=`:${i.lineNumber}:${i.columnNumber}`),g&&(u+=")"),f.push(u);}}return `${a}${f.join("")}`}let l=Yc(e,n);if(l.length>0){let s=l.map(f=>`
36
+ in ${f}`).join("");return `${a}${s}`}return qc(e)},qc=e=>{let t=e.tagName.toLowerCase();if(!(e instanceof HTMLElement)){let l=Zi(e,{truncate:false,maxAttrs:N.length});return `<${t}${l} />`}let n=e.innerText?.trim()??e.textContent?.trim()??"",o="";for(let{name:l,value:s}of e.attributes)o+=` ${l}="${s}"`;let a=n.length>100?`${n.slice(0,100)}...`:n;return a.length>0?`<${t}${o}>
37
+ ${a}
38
+ </${t}>`:`<${t}${o} />`},qi=e=>e.length>L?`${e.slice(0,L)}...`:e,Zi=(e,t={})=>{let{truncate:n=true,maxAttrs:o=M}=t,a=[];for(let l of N){if(a.length>=o)break;let s=e.getAttribute(l);if(s){let f=n?qi(s):s;a.push(`${l}="${f}"`);}}return a.length>0?` ${a.join(" ")}`:""},Zc=e=>{let t=e.tagName.toLowerCase();if(!(e instanceof HTMLElement)){let N=Zi(e);return `<${t}${N} />`}let n=e.innerText?.trim()??e.textContent?.trim()??"",o="";for(let{name:N,value:v}of e.attributes)o+=` ${N}="${qi(v)}"`;let a=[],l=[],s=false,f=Array.from(e.childNodes);for(let N of f)N.nodeType!==Node.COMMENT_NODE&&(N.nodeType===Node.TEXT_NODE?N.textContent&&N.textContent.trim().length>0&&(s=true):N instanceof Element&&(s?l.push(N):a.push(N)));let i=N=>N.length===0?"":N.length<=2?N.map(v=>`<${v.tagName.toLowerCase()} ...>`).join(`
39
+ `):`(${N.length} elements)`,u="",g=i(a);if(g&&(u+=`
40
+ ${g}`),n.length>0){let N=n.length>100?`${n.slice(0,100)}...`:n;u+=`
41
+ ${N}`;}let T=i(l);return T&&(u+=`
42
+ ${T}`),u.length>0?`<${t}${o}>${u}
43
+ </${t}>`:`<${t}${o} />`};var Lr=()=>({activate:()=>{},deactivate:()=>{},toggle:()=>{},isActive:()=>false,isEnabled:()=>false,setEnabled:()=>{},getToolbarState:()=>null,setToolbarState:()=>{},onToolbarStateChange:()=>()=>{},dispose:()=>{},copyElement:()=>Promise.resolve(false),getSource:()=>Promise.resolve(null),getState:()=>({isActive:false,isDragging:false,isCopying:false,isPromptMode:false,isCrosshairVisible:false,isSelectionBoxVisible:false,isDragBoxVisible:false,targetElement:null,dragBounds:null,grabbedBoxes:[],selectionFilePath:null,toolbarState:null}),setOptions:()=>{},registerPlugin:()=>{},unregisterPlugin:()=>{},getPlugins:()=>[],getDisplayName:()=>null});var Ji=()=>{let e=new AbortController,t=(o,a,l={})=>{window.addEventListener(o,a,{...l,signal:e.signal});},n=(o,a,l={})=>{document.addEventListener(o,a,{...l,signal:e.signal});};return {signal:e.signal,abort:()=>e.abort(),addWindowListener:t,addDocumentListener:n}};var Jc="application/x-lexical-editor",Qc="application/x-react-grab",Qi=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return (e==="x"?t:t&3|8).toString(16)}),eu=(e,t,n,o)=>({detail:1,format:0,mode:"segmented",style:"",text:`@${e}`,type:"mention",version:1,mentionName:e,typeaheadType:n,storedKey:t,metadata:o,source:"chat"}),tu=e=>({detail:0,format:0,mode:"normal",style:"",text:e,type:"text",version:1}),nu=(e,t)=>{let n=String(Math.floor(Math.random()*1e4)),o=Qi(),a=`<${t}>`,l={case:"file",path:`${a}.tsx`,content:e},s={key:a,type:l,payload:{file:{path:`${a}.tsx`,content:e}},id:Qi(),name:a,_score:20,isSlash:false,labelMatch:[{start:0,end:2}]},f={selection:{type:0},selectedOption:s},i=JSON.stringify(f).replace(/"/g,"&quot;");return {plainText:`@${a}
44
+
45
+ ${e}
46
+ `,htmlContent:`<meta charset='utf-8'><span data-mention-key="${n}" data-lexical-mention="true" data-mention-name="${a}" data-typeahead-type="[object Object]" data-mention-metadata="${i}">@${a}</span><pre><code>${e}</code></pre>`,lexicalData:JSON.stringify({namespace:`chat-input${o}-pane`,nodes:[eu(a,n,l,f),tu(`
47
+
48
+ ${e}`)]})}},Br=(e,t)=>{let n=t?.name??"div",{plainText:o,htmlContent:a,lexicalData:l}=nu(e,n),s={version:D,content:e,timestamp:Date.now()},f=u=>{u.preventDefault(),u.clipboardData?.setData("text/plain",o),u.clipboardData?.setData("text/html",a),u.clipboardData?.setData(Jc,l),u.clipboardData?.setData(Qc,JSON.stringify(s));};document.addEventListener("copy",f);let i=document.createElement("textarea");i.value=e,i.style.position="fixed",i.style.left="-9999px",i.ariaHidden="true",document.body.appendChild(i),i.select();try{let u=document.execCommand("copy");return u&&t?.onSuccess?.(),u}finally{document.removeEventListener("copy",f),i.remove();}};var Tn=async(e,t={})=>(await Promise.allSettled(e.map(a=>Fr(a,t)))).map(a=>a.status==="fulfilled"?a.value:"");var ea=async(e,t,n,o)=>{let a=false,l="";await t.onBeforeCopy(n);try{let s;if(e.getContent)s=await e.getContent(n);else {let f=await Tn(n,{maxLines:e.maxContextLines});s=(await Promise.all(f.map((u,g)=>u.trim()?t.transformSnippet(u,n[g]):Promise.resolve("")))).filter(u=>u.trim()).join(`
49
+
50
+ `);}if(s.trim()){let f=await t.transformCopyContent(s,n);l=o?`${o}
51
+
52
+ ${f}`:f,a=Br(l,{name:e.componentName});}}catch(s){let f=s instanceof Error?s:new Error(String(s));t.onCopyError(f);}return a&&t.onCopySuccess(n,l),t.onAfterCopy(n,a),a};var An=e=>{let t=e.tagName.toUpperCase();return t==="HTML"||t==="BODY"};var ou=(e,t)=>{let n=Math.max(e.left,t.left),o=Math.max(e.top,t.top),a=Math.min(e.right,t.right),l=Math.min(e.bottom,t.bottom),s=Math.max(0,a-n),f=Math.max(0,l-o);return s*f},ru=(e,t)=>e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top,rn=(e,t,n)=>Math.min(n,Math.max(t,e)),su=e=>e.sort((t,n)=>{if(t===n)return 0;let o=t.compareDocumentPosition(n);return o&Node.DOCUMENT_POSITION_FOLLOWING?-1:o&Node.DOCUMENT_POSITION_PRECEDING?1:0}),iu=e=>{if(e.width<=0||e.height<=0)return [];let t=window.innerWidth,n=window.innerHeight,o=e.x,a=e.y,l=e.x+e.width,s=e.y+e.height,f=o+e.width/2,i=a+e.height/2,u=rn(Math.ceil(e.width/ha$1),ia$1,ja),g=rn(Math.ceil(e.height/ha$1),ia$1,ja),T=u*g,N=T>ka?Math.sqrt(ka/T):1,v=rn(Math.floor(u*N),ia$1,ja),V=rn(Math.floor(g*N),ia$1,ja),B=new Set,b=[],h=(I,G)=>{let te=rn(Math.round(I),0,t-1),pe=rn(Math.round(G),0,n-1),Ne=`${te}:${pe}`;B.has(Ne)||(B.add(Ne),b.push({x:te,y:pe}));};h(o+la$1,a+la$1),h(l-la$1,a+la$1),h(o+la$1,s-la$1),h(l-la$1,s-la$1),h(f,a+la$1),h(f,s-la$1),h(o+la$1,i),h(l-la$1,i),h(f,i);for(let I=0;I<v;I+=1){let G=o+(I+.5)/v*e.width;for(let te=0;te<V;te+=1){let pe=a+(te+.5)/V*e.height;h(G,pe);}}return b},au=(e,t,n)=>{let o={left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height},a=new Set,l=iu(e);mo();try{for(let f of l){let i=document.elementsFromPoint(f.x,f.y);for(let u of i)a.add(u);}}finally{po();}let s=[];for(let f of a){if(!n){let g=(f.tagName||"").toUpperCase();if(g==="HTML"||g==="BODY")continue}if(!t(f))continue;let i=f.getBoundingClientRect();if(i.width<=0||i.height<=0)continue;let u={left:i.left,top:i.top,right:i.left+i.width,bottom:i.top+i.height};if(n){let g=ou(o,u),T=i.width*i.height;T>0&&g/T>=ga$1&&s.push(f);}else ru(u,o)&&s.push(f);}return su(s)},lu=e=>e.filter(t=>!e.some(n=>n!==t&&n.contains(t))),Pn=(e,t,n=true)=>{let o=au(e,t,n);return lu(o)};var wo=e=>({x:e.pageX-window.scrollX,y:e.pageY-window.scrollY,width:e.width,height:e.height,borderRadius:"0px",transform:"none"}),Hr=e=>({pageX:e.x+window.scrollX,pageY:e.y+window.scrollY,width:e.width,height:e.height}),On=e=>({...e,borderRadius:"0px",transform:"none"});var vt=e=>(e.tagName||"").toLowerCase();var Rn=e=>({x:e.x+e.width/2,y:e.y+e.height/2});var cu=new Set(["c","C","\u0441","\u0421","\u023C","\u023B","\u2184","\u2183","\u1D04","\u1D9C","\u2C7C","\u217D","\u216D","\xE7","\xC7","\u0107","\u0106","\u010D","\u010C","\u0109","\u0108","\u010B","\u010A"]),Eo=(e,t)=>t==="KeyC"?true:!e||e.length!==1?false:cu.has(e);var ta=(e,t)=>{let n=e.toLowerCase();return t==="Space"?n==="space"||n===" ":t.startsWith("Key")?t.slice(3).toLowerCase()===n:t.startsWith("Digit")?t.slice(5)===n:false};var uu={meta:"metaKey",cmd:"metaKey",command:"metaKey",win:"metaKey",windows:"metaKey",ctrl:"ctrlKey",control:"ctrlKey",shift:"shiftKey",alt:"altKey",option:"altKey",opt:"altKey"},na=e=>{let t=e.split("+").map(o=>o.trim().toLowerCase()),n={metaKey:false,ctrlKey:false,shiftKey:false,altKey:false,key:null};for(let o of t){let a=uu[o];a?n[a]=true:n.key=o;}return n},vo=e=>{if(typeof e=="function")return e;let t=na(e),n=t.key;return o=>{if(n===null){let f=t.metaKey?o.metaKey||o.key==="Meta":true,i=t.ctrlKey?o.ctrlKey||o.key==="Control":true,u=t.shiftKey?o.shiftKey||o.key==="Shift":true,g=t.altKey?o.altKey||o.key==="Alt":true,T=f&&i&&u&&g,N=[t.metaKey,t.ctrlKey,t.shiftKey,t.altKey].filter(Boolean).length,v=[o.metaKey||o.key==="Meta",o.ctrlKey||o.key==="Control",o.shiftKey||o.key==="Shift",o.altKey||o.key==="Alt"].filter(Boolean).length;return T&&v>=N}let a=o.key?.toLowerCase()===n||ta(n,o.code),s=t.metaKey||t.ctrlKey||t.shiftKey||t.altKey?(t.metaKey?o.metaKey:true)&&(t.ctrlKey?o.ctrlKey:true)&&(t.shiftKey?o.shiftKey:true)&&(t.altKey?o.altKey:true):!o.metaKey&&!o.ctrlKey&&!o.shiftKey&&!o.altKey;return a&&s}},oa=e=>!e||typeof e=="function"?{metaKey:Aa(),ctrlKey:!Aa(),shiftKey:false,altKey:false,key:null}:na(e);var xo=(e,t)=>{if(t.activationKey)return vo(t.activationKey)(e);let o=(Aa()?e.metaKey:e.ctrlKey)&&!e.shiftKey&&!e.altKey;return !!(e.key&&o&&Eo(e.key,e.code))};var xt=(e,t)=>{try{return e.composedPath().some(n=>n instanceof HTMLElement&&n.hasAttribute(t))}catch{return false}};var sn=e=>{if(e.length===0)return {x:0,y:0,width:0,height:0};if(e.length===1)return e[0];let t=1/0,n=1/0,o=-1/0,a=-1/0;for(let l of e)t=Math.min(t,l.x),n=Math.min(n,l.y),o=Math.max(o,l.x+l.width),a=Math.max(a,l.y+l.height);return {x:t,y:n,width:o-t,height:a-n}},du=(e,t)=>new Promise((n,o)=>{let a=document.createElement("canvas"),l=a.getContext("2d");if(!l){o(new Error("Failed to get canvas context"));return}let s=e.videoWidth/window.innerWidth,f=e.videoHeight/window.innerHeight,i={x:t.x*s,y:t.y*f,width:t.width*s,height:t.height*f};a.width=i.width,a.height=i.height,l.drawImage(e,i.x,i.y,i.width,i.height,0,0,i.width,i.height),a.toBlob(u=>{u?n(u):o(new Error("Failed to create image blob"));},"image/png",1);}),Co=async e=>{let t=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:"browser"},preferCurrentTab:true}),n=document.createElement("video");n.srcObject=t,n.autoplay=true,n.playsInline=true,await new Promise((o,a)=>{let l=setTimeout(()=>{a(new Error("Video metadata loading timed out"));},P);n.onerror=()=>{clearTimeout(l),a(new Error("Video failed to load"));},n.onloadedmetadata=()=>{clearTimeout(l),n.play(),o();};}),await new Promise((o,a)=>{let l=Date.now(),s=()=>{if(n.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA){o();return}if(Date.now()-l>=R){a(new Error("Video frame not ready within timeout"));return}setTimeout(s,Q);};s();});try{return await du(n,e)}finally{t.getTracks().forEach(o=>o.stop()),n.srcObject=null;}},To=async e=>{try{return await navigator.clipboard.write([new ClipboardItem({[e.type]:e})]),!0}catch{return false}};var Ao=()=>{if(typeof window>"u"||typeof navigator>"u")return false;let e=typeof navigator.mediaDevices?.getDisplayMedia=="function",t=typeof navigator.clipboard?.write=="function"&&typeof ClipboardItem<"u";return e&&t};var Po=e=>new Promise(t=>setTimeout(t,e));var Ht={enabled:true,hue:0,selectionBox:{enabled:true},dragBox:{enabled:true},grabbedBoxes:{enabled:true},elementLabel:{enabled:true},crosshair:{enabled:true},toolbar:{enabled:true}},fu=(e,t)=>({enabled:t.enabled??e.enabled,hue:t.hue??e.hue,selectionBox:{enabled:t.selectionBox?.enabled??e.selectionBox.enabled},dragBox:{enabled:t.dragBox?.enabled??e.dragBox.enabled},grabbedBoxes:{enabled:t.grabbedBoxes?.enabled??e.grabbedBoxes.enabled},elementLabel:{enabled:t.elementLabel?.enabled??e.elementLabel.enabled},crosshair:{enabled:t.crosshair?.enabled??e.crosshair.enabled},toolbar:{enabled:t.toolbar?.enabled??e.toolbar.enabled}}),Oo=fu;var ra={activationMode:"toggle",keyHoldDuration:75,allowActivationInsideInput:true,maxContextLines:3,activationKey:void 0,getContent:void 0,freezeReactUpdates:true},sa=(e={})=>{let t=new Map,n={},[o,a]=Gn({theme:Ht,options:{...ra,...e},actions:[]}),l=()=>{let b=Ht,h={...ra,...e},I=[];for(let{config:G}of t.values())G.theme&&(b=Oo(b,G.theme)),G.options&&(h={...h,...G.options}),G.actions&&I.push(...G.actions);h={...h,...n},a("theme",b),a("options",h),a("actions",I);},s=b=>{for(let[h,I]of Object.entries(b))I!==void 0&&(n[h]=I,a("options",h,I));},f=(b,h)=>{t.has(b.name)&&i(b.name);let I;return b.setup?I=b.setup(h)??{}:I={},b.theme&&(I.theme=I.theme?Oo(Oo(Ht,b.theme),I.theme):b.theme),b.actions&&(I.actions=[...b.actions,...I.actions??[]]),b.hooks&&(I.hooks=I.hooks?{...b.hooks,...I.hooks}:b.hooks),b.options&&(I.options=I.options?{...b.options,...I.options}:b.options),t.set(b.name,{plugin:b,config:I}),l(),I},i=b=>{let h=t.get(b);h&&(h.config.cleanup&&h.config.cleanup(),t.delete(b),l());},u=()=>Array.from(t.keys()),g=(b,...h)=>{for(let{config:I}of t.values()){let G=I.hooks?.[b];G&&G(...h);}},T=(b,...h)=>{let I=false;for(let{config:G}of t.values()){let te=G.hooks?.[b];te&&te(...h)===true&&(I=true);}return I},N=async(b,...h)=>{for(let{config:I}of t.values()){let G=I.hooks?.[b];G&&await G(...h);}},v=async(b,h,...I)=>{let G=h;for(let{config:te}of t.values()){let pe=te.hooks?.[b];pe&&(G=await pe(G,...I));}return G},V=(b,h,...I)=>{let G=h;for(let{config:te}of t.values()){let pe=te.hooks?.[b];pe&&(G=pe(G,...I));}return G};return {register:f,unregister:i,getPluginNames:u,setOptions:s,store:o,hooks:{onActivate:()=>g("onActivate"),onDeactivate:()=>g("onDeactivate"),onElementHover:b=>g("onElementHover",b),onElementSelect:b=>g("onElementSelect",b),onDragStart:(b,h)=>g("onDragStart",b,h),onDragEnd:(b,h)=>g("onDragEnd",b,h),onBeforeCopy:async b=>N("onBeforeCopy",b),transformCopyContent:async(b,h)=>v("transformCopyContent",b,h),onAfterCopy:(b,h)=>g("onAfterCopy",b,h),onCopySuccess:(b,h)=>g("onCopySuccess",b,h),onCopyError:b=>g("onCopyError",b),onStateChange:b=>g("onStateChange",b),onPromptModeChange:(b,h)=>g("onPromptModeChange",b,h),onSelectionBox:(b,h,I)=>g("onSelectionBox",b,h,I),onDragBox:(b,h)=>g("onDragBox",b,h),onGrabbedBox:(b,h)=>g("onGrabbedBox",b,h),onElementLabel:(b,h,I)=>g("onElementLabel",b,h,I),onCrosshair:(b,h)=>g("onCrosshair",b,h),onContextMenu:(b,h)=>g("onContextMenu",b,h),onOpenFile:(b,h)=>T("onOpenFile",b,h),transformHtmlContent:async(b,h)=>v("transformHtmlContent",b,h),transformScreenshot:async(b,h,I)=>v("transformScreenshot",b,h,I),transformAgentContext:async(b,h)=>v("transformAgentContext",b,h),transformActionContext:b=>V("transformActionContext",b),transformOpenFileUrl:(b,h,I)=>V("transformOpenFileUrl",b,h,I),transformSnippet:async(b,h)=>v("transformSnippet",b,h)}}};var $r="react-grab:agent-sessions",mu=()=>`session-${Date.now()}-${Math.random().toString(36).slice(2,9)}`,ia=(e,t,n,o,a)=>{let l=Date.now();return {id:mu(),context:e,lastStatus:"",isStreaming:true,createdAt:l,lastUpdatedAt:l,position:t,selectionBounds:n,tagName:o,componentName:a}},$t=new Map,Ro=(e,t)=>{if(!t){$t.clear(),e.forEach((n,o)=>$t.set(o,n));return}try{let n=Object.fromEntries(e);t.setItem($r,JSON.stringify(n));}catch{$t.clear(),e.forEach((n,o)=>$t.set(o,n));}},Mo=(e,t)=>{let n=_o(t);n.set(e.id,e),Ro(n,t);},_o=e=>{if(!e)return new Map($t);try{let t=e.getItem($r);if(!t)return new Map;let n=JSON.parse(t);return new Map(Object.entries(n))}catch{return new Map}},Do=e=>{if(!e){$t.clear();return}try{e.removeItem($r);}catch{$t.clear();}},zr=(e,t)=>{let n=_o(t);n.delete(e),Ro(n,t);},Ct=(e,t,n)=>{let o={...e,...t,lastUpdatedAt:Date.now()};return Mo(o,n),o};var Vr=(e,t)=>{let[n,o]=d(new Map),[a,l]=d(false),[s,f]=d(false),i=new Map,u=new Map,g=new Map,T=[],N=[],v=e,V=p=>g.get(p)?.agent??v,B=p=>g.get(p)?.elements??[],b=p=>{let P=p??v,k=P?.provider?.canUndo?.()??false,C=P?.provider?.canRedo?.()??false;l(k),f(C);},h=p=>{v=p,b();},I=()=>v,G=()=>Array.from(n().values()).some(p=>p.isStreaming),te=async(p,P,k)=>{let C=k??v,_=C?.storage,O=false;try{for await(let $ of P){let Y=n().get(p.id);if(!Y)break;let ue=Ct(Y,{lastStatus:$},_);o(we=>new Map(we).set(p.id,ue)),C?.onStatus?.($,ue);}let z=n().get(p.id);if(z){let $=C?.provider?.getCompletionMessage?.(),X=Ct(z,{isStreaming:!1,...$?{lastStatus:$}:{}},_);o(ye=>new Map(ye).set(p.id,X));let Y=B(p.id),ue=await C?.onComplete?.(X,Y),we=N.findIndex(ye=>ye.session.id===p.id);if(we!==-1&&N.splice(we,1),N.push({session:X,elements:Y,agent:C}),b(C),T.length=0,ue?.error){let ye=Ct(X,{error:ue.error},_);o(ee=>new Map(ee).set(p.id,ye));}}}catch(D){let $=n().get(p.id);if(D instanceof Error&&D.name==="AbortError"){if(O=true,$){let X=B(p.id);C?.onAbort?.($,X);}}else {let X=D instanceof Error?D.message:"Unknown error";if($){let Y=Ct($,{error:X,isStreaming:false},_);o(ue=>new Map(ue).set(p.id,Y)),D instanceof Error&&C?.onError?.(D,Y);}}}finally{i.delete(p.id),O&&(g.delete(p.id),zr(p.id,_),o(D=>{let z=new Map(D);return z.delete(p.id),z}));}},pe=p=>{let{selectionBounds:P,tagName:k}=p,C=P[0];if(!C)return;let _=C.x+C.width/2,O=C.y+C.height/2,D=document.elementFromPoint(_,O);if(!(!D||k&&!k.includes(" ")&&D.tagName.toLowerCase()!==k))return D},Ne=()=>{let p=v?.storage;if(!p)return;let P=_o(p);if(P.size===0)return;let k=Date.now(),C=Array.from(P.values()).filter(O=>{if(O.isStreaming)return true;let D=O.lastUpdatedAt??O.createdAt;return k-D<1e4&&!!O.error});if(C.length===0){Do(p);return}if(!v?.provider?.supportsResume||!v.provider.resume){Do(p);return}let _=new Map(C.map(O=>[O.id,O]));o(_),Ro(_,p);for(let O of C){let D=pe(O);D&&v&&g.set(O.id,{elements:[D],agent:v});let z={...O,isStreaming:true,error:void 0,lastStatus:O.lastStatus||"Resuming...",position:O.position??{x:window.innerWidth/2,y:window.innerHeight/2}};o(Y=>new Map(Y).set(O.id,z)),v?.onResume?.(z);let $=new AbortController;i.set(O.id,$);let X=v.provider.resume(O.id,$.signal,p);te(O,X);}},Xe=async p=>{let{elements:P,prompt:k,position:C,selectionBounds:_,sessionId:O,agent:D}=p,z=D??(O?V(O):v),$=z?.storage;if(!z?.provider||P.length===0)return;let X=P[0],Y=O?n().get(O):void 0,ue=!!O,ye={content:Y?Y.context.content:(await Tn(P,{maxLines:1/0})).filter(Me=>Me.trim()),prompt:k,options:z?.getOptions?.(),sessionId:ue?O:void 0},ee;if(Y)ee=Ct(Y,{context:ye,isStreaming:true,lastStatus:"Thinking\u2026"},$);else {let Me=P.length>1?`${P.length} elements`:(X.tagName||"").toLowerCase()||void 0,Ye=P.length>1?void 0:await on(X)||void 0;ee=ia(ye,C,_,Me,Ye),ee.lastStatus="Thinking\u2026";}g.set(ee.id,{elements:P,agent:z}),o(Me=>new Map(Me).set(ee.id,ee)),Mo(ee,$),z.onStart?.(ee,P);let se=new AbortController;i.set(ee.id,se);let Te={...ye,sessionId:O??ee.id},Ie;try{Ie=t?.transformAgentContext?await t.transformAgentContext(Te,P):Te;}catch(Me){let Ye=Me instanceof Error?Me.message:"Context transformation failed",at=Ct(ee,{error:Ye,isStreaming:false},$);o(At=>new Map(At).set(ee.id,at)),i.delete(ee.id),Me instanceof Error&&z.onError?.(Me,at);return}let Be=z.provider.send(Ie,se.signal);te(ee,Be,z);},Ue=p=>{if(p){let P=i.get(p);P&&P.abort();}else i.forEach(P=>P.abort()),i.clear(),u.forEach(P=>clearTimeout(P)),u.clear(),g.clear(),N.length=0,T.length=0,o(new Map),Do(v?.storage),b();},ke=(p,P,k)=>{let _=n().get(p),O=P??V(p),D=k??B(p);if(_?.isFading)return;_&&D.length>0&&O?.onDismiss?.(_,D),o(X=>{let Y=new Map(X),ue=Y.get(p);return ue&&Y.set(p,{...ue,isFading:true}),Y});let z=u.get(p);z&&clearTimeout(z);let $=setTimeout(()=>{u.delete(p),g.delete(p),zr(p,O?.storage),o(X=>{let Y=new Map(X);return Y.delete(p),Y});},150);u.set(p,$);};return {sessions:n,isProcessing:G,canUndo:a,canRedo:s,session:{start:Xe,abort:Ue,dismiss:ke,retry:p=>{let k=n().get(p),C=V(p);if(!k||!C?.provider)return;let _=C.storage,O=B(p),D=Ct(k,{error:void 0,isStreaming:true,lastStatus:"Retrying\u2026"},_);o(Y=>new Map(Y).set(p,D)),Mo(D,_),O.length>0&&C.onStart?.(D,O);let z=new AbortController;i.set(p,z);let $={...D.context,sessionId:p},X=C.provider.send($,z.signal);te(D,X,C);},undo:p=>{let k=n().get(p),C=V(p),_=B(p);if(k){T.push({session:k,elements:_,agent:C});let O=N.findIndex(D=>D.session.id===p);O!==-1&&N.splice(O,1),C?.onUndo?.(k,_),C?.provider?.undo?.();}ke(p,C,_),b(C);},getElement:p=>B(p)[0],getElements:p=>B(p),tryResume:Ne,acknowledgeError:p=>{let C=n().get(p)?.context.prompt;return ke(p),C}},history:{undo:()=>{let p=N.pop();if(!p)return;let{session:P,elements:k,agent:C}=p,_=C??v;T.push(p),_?.onUndo?.(P,k),_?.provider?.undo?.(),ke(P.id,_,k),b(_);},redo:()=>{let p=T.pop();if(!p)return;let P=p.agent??v,{session:k,elements:C}=p;P?.provider?.redo?.();let _=C.filter(O=>document.contains(O));if(_.length===0){let O=pe(k);O&&(_=[O]);}if(_.length>0&&P){N.push(p);let O=_.map(z=>me(z)),D={...k,selectionBounds:O};g.set(k.id,{elements:_,agent:P}),o(z=>new Map(z).set(k.id,D));}b(P);}},_internal:{updateBoundsOnViewportChange:()=>{let p=n();if(p.size===0)return;let P=new Map(p),k=false;for(let[C,_]of p){let O=B(C),D=O[0];if(D&&document.contains(D)){let z=O.filter($=>document.contains($)).map($=>me($));if(z.length>0){let $=_.selectionBounds[0],X=z[0],Y=_.position;if($&&X){let ue=$.x+$.width/2,we=$.width/2,ye=_.position.x-ue,ee=we>0?ye/we:0,se=X.x+X.width/2,Te=X.width/2;Y={..._.position,x:se+ee*Te};}P.set(C,{..._,selectionBounds:z,position:Y}),k=true;}}}k&&o(P);},setOptions:h,getOptions:I}}};var aa=(e,t)=>{let n=[],o=(u,g)=>{let T=t(u),N=Rr(T.x+T.width/2,T.y+T.height/2).filter(e),v=N.indexOf(u);return v===-1?null:N[v+g]??null},a=u=>{let g=o(u,1);return g&&n.push(u),g},l=u=>{if(n.length>0){let g=n.pop();if(document.contains(g))return g}return o(u,-1)},s=(u,g)=>{let T=V=>{let B=Array.from(V.children),b=g?B:B.reverse();for(let h of b)if(g){if(e(h))return h;let I=T(h);if(I)return I}else {let I=T(h);if(I)return I;if(e(h))return h}return null},N=V=>g?V.nextElementSibling:V.previousElementSibling,v=null;if(g&&(v=T(u)),!v){let V=u;for(;V;){let B=N(V);for(;B;){let h=T(B);if(h){v=h;break}if(e(B)){v=B;break}B=N(B);}if(v)break;let b=V.parentElement;if(!g&&b&&e(b)){v=b;break}V=b;}}return v};return {findNext:(u,g)=>{switch(u){case "ArrowUp":return a(g);case "ArrowDown":return l(g);case "ArrowRight":return s(g,true);case "ArrowLeft":return s(g,false);default:return null}},clearHistory:()=>{n=[];}}};var la=e=>{let t=oa(e.activationKey);return {metaKey:t.metaKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey}},ca=()=>{let e=new WeakSet,t=Object.getOwnPropertyDescriptor(KeyboardEvent.prototype,"key"),n=false;if(t?.get&&!t.get.__reactGrabPatched){n=true;let a=t.get,l=function(){return e.has(this)?"":a.call(this)};l.__reactGrabPatched=true,Object.defineProperty(KeyboardEvent.prototype,"key",{get:l,configurable:true});}return {claimedEvents:e,originalKeyDescriptor:t,didPatch:n,restore:()=>{n&&t&&Object.defineProperty(KeyboardEvent.prototype,"key",t);}}};var Kr=(e,t)=>({top:t<25,bottom:t>window.innerHeight-25,left:e<25,right:e>window.innerWidth-25}),ua=(e,t)=>{let n=null,o=()=>{if(!t()){l();return}let f=e(),i=Kr(f.x,f.y);i.top&&window.scrollBy(0,-10),i.bottom&&window.scrollBy(0,10),i.left&&window.scrollBy(-10,0),i.right&&window.scrollBy(10,0),i.top||i.bottom||i.left||i.right?n=requestAnimationFrame(o):n=null;},a=()=>{o();},l=()=>{n!==null&&(cancelAnimationFrame(n),n=null);};return {start:a,stop:l,isActive:()=>n!==null}};var da=()=>{let e=globalThis;return !!(e.chrome?.runtime?.id||e.browser?.runtime?.id)};var fa=()=>{try{let e="0.1.0-beta.12",t=`data:image/svg+xml;base64,${btoa(ua$1)}`;console.log(`%cReact Grab${e?` v${e}`:""}%c
53
+ https://react-grab.com`,`background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${t}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`,""),navigator.onLine&&e&&!da()&&fetch(`https://www.react-grab.com/api/version?source=browser&t=${Date.now()}`,{referrerPolicy:"origin",keepalive:!0,priority:"low",cache:"no-store"}).then(n=>n.text()).then(n=>{n&&n!==e&&console.warn(`[React Grab] v${e} is outdated (latest: v${n})`);}).catch(()=>null);}catch{}};var ma=e=>{if("scheduler"in globalThis){globalThis.scheduler.postTask(e,{priority:"background"});return}if(typeof window<"u"&&"requestIdleCallback"in window){requestIdleCallback(e);return}setTimeout(e,0);};var pa=()=>{if(typeof window>"u")return null;try{let e=document.currentScript?.getAttribute("data-options");return e?JSON.parse(e):null}catch{return null}};var zt=e=>e==="Enter"||e==="NumpadEnter";var ga={name:"copy",actions:[{id:"copy",label:"Copy",shortcut:"C",onAction:e=>{e.copy?.();}}]};var ha={name:"screenshot",actions:[{id:"screenshot",label:"Screenshot",shortcut:"S",enabled:()=>Ao(),onAction:async e=>{let t=e.elements.map(o=>{let a=o.getBoundingClientRect();return {x:a.x+window.scrollX,y:a.y+window.scrollY,width:a.width,height:a.height}}),n=sn(t);n.width===0||n.height===0||await e.performWithFeedback(async()=>{e.hideOverlay(),await Po(O);try{let o=await Co(n),a=await e.hooks.transformScreenshot(o,e.elements,n);return await To(a)}finally{e.showOverlay();}});}}]};var ba={name:"copy-html",actions:[{id:"copy-html",label:"Copy HTML",onAction:async e=>{await e.performWithFeedback(async()=>{let n=e.elements.filter(a=>a instanceof HTMLElement).map(a=>a.outerHTML).join(`
54
+
55
+ `),o=await e.hooks.transformHtmlContent(n,e.elements);return o?(await navigator.clipboard.writeText(o),true):false});}}]};var ya={name:"open",actions:[{id:"open",label:"Open",shortcut:"O",enabled:e=>!!e.filePath,onAction:e=>{if(!e.filePath)return;if(!e.hooks.onOpenFile(e.filePath,e.lineNumber)){let n=Qt(e.filePath,e.lineNumber),o=e.hooks.transformOpenFileUrl(n,e.filePath,e.lineNumber);window.open(o,"_blank","noopener,noreferrer");}e.hideContextMenu(),e.cleanup();}}]};var Sa={name:"comment",actions:[{id:"comment",label:"Comment",shortcut:"Enter",onAction:e=>{e.enterPromptMode?.();}}]};var Tu=[ga,Sa,ha,ba,ya],Ur=false,Tt=new Set,Og=e=>{if(typeof window>"u")return Lr();let t=pa(),n$1={enabled:true,activationMode:"toggle",keyHoldDuration:75,allowActivationInsideInput:true,maxContextLines:3,...t,...e};if(n$1.enabled===false||Ur)return Lr();Ur=true,fa();let{enabled:o,...a}=n$1;return c(l$1=>{let s$1=sa(a),f$1=()=>{for(let r of s$1.store.actions)if(r.agent?.provider)return r.agent},{store:i,actions:u}=Ws({theme:Ht,hasAgentProvider:!!f$1()?.provider,keyHoldDuration:s$1.store.options.keyHoldDuration??75}),g$1=g(()=>i.current.state==="holding"),T=g(()=>i.current.state==="active");f(j(T,(r,c)=>{r&&!c?(ho(),lo(),document.body.style.touchAction="none"):!r&&c&&(bo(),co(),document.body.style.touchAction="");}));let N=g(()=>i.current.state==="active"&&i.current.phase==="frozen"),v=g(()=>i.current.state==="active"&&i.current.phase==="dragging"),V=g(()=>i.current.state==="active"&&i.current.phase==="justDragged"),B=g(()=>i.current.state==="copying"),b=g(()=>i.current.state==="justCopied"),h$1=g(()=>i.current.state==="active"&&i.current.isPromptMode),I=g(()=>i.current.state==="active"&&i.current.isPromptMode&&i.current.isPendingDismiss),G=Nt(),[te,pe]=d(G?.enabled??true),[Ne,Xe]=d(0),[Ue,ke]=d(G),[$e,H]=d(false),A=g(()=>i.pendingAbortSessionId),S$1=g(()=>i.hasAgentProvider),m=()=>{X!==null&&(clearTimeout(X),X=null);},y=()=>{ue=false,we=false,Y=null;};f(()=>{if(i.current.state!=="holding"){m();return}Y=Date.now(),X=window.setTimeout(()=>{if(X=null,ue){we=true;return}u.activate();},i.keyHoldDuration),l(m);}),f(()=>{if(i.current.state!=="active"||i.current.phase!=="justDragged")return;let r=setTimeout(()=>{u.finishJustDragged();},1500);l(()=>clearTimeout(r));}),f(()=>{if(i.current.state!=="justCopied")return;let r=setTimeout(()=>{u.finishJustCopied();},1500);l(()=>clearTimeout(r));});let E=false;f(()=>{let r=g$1(),c=T();E&&!r&&c&&(s$1.store.options.activationMode!=="hold"&&u.setWasActivatedByToggle(true),s$1.hooks.onActivate()),E=r;});let M=new WeakMap,p=r=>{let c=M.get(r);u.setInputText(c??"");},P=(r,c,d)=>{C$1(r,c,d),p(r);},k=()=>{let r=i.frozenElement||Z();r&&u.enterPromptMode({x:i.pointer.x,y:i.pointer.y},r);},C$1=(r,c,d)=>(u.setCopyStart({x:c,y:d},r),me(r)),_=0,O$1=null,[D,z]=d(null),$=null,X=null,Y=null,ue=false,we=false,ye=false,ee=false,se=null,Te=0,Ie=0,Be=null,[Me,Ye]=d(null),[at,At]=d(void 0),an=aa(yt,me),qe=ua(()=>i.pointer,()=>v()),_e=g(()=>T()&&!B()),xe=g(()=>s$1.store.theme.enabled&&s$1.store.theme.crosshair.enabled&&_e()&&!v()&&!i.isTouchMode&&!N()&&!h$1()&&i.contextMenuPosition===null),lt=new Map,ct=(r,c)=>{let d=`grabbed-${Date.now()}-${Math.random()}`,w=Date.now(),x={id:d,bounds:r,createdAt:w,element:c};u.addGrabbedBox(x),s$1.hooks.onGrabbedBox(r,c);let F=window.setTimeout(()=>{lt.delete(d),u.removeGrabbedBox(d);},1500);lt.set(d,F);},Vt=async r=>{let c=await Promise.all(r.map(async d=>{let w=await Et(d),x=null,F,U,ce;if(w&&w.length>0)for(let oe of w){let Ee=oe.functionName&&nn(oe.functionName),Ce=oe.fileName&&wt(oe.fileName);if(Ee&&!x&&(x=oe.functionName),Ce&&!F&&(F=St(oe.fileName),U=oe.lineNumber||void 0,ce=oe.columnNumber||void 0),x&&F)break}x||(x=So(d));let fe=d instanceof HTMLElement?d.innerText?.slice(0,100):void 0;return {tagName:vt(d),id:d.id||void 0,className:d.getAttribute("class")||void 0,textContent:fe,componentName:x??void 0,filePath:F,lineNumber:U,columnNumber:ce}}));window.dispatchEvent(new CustomEvent("react-grab:element-selected",{detail:{elements:c}}));},tt=(r,c,d,w,x,F,U,ce)=>{u.clearLabelInstances();let fe=`label-${Date.now()}-${Math.random().toString(36).slice(2)}`,oe=r.x+r.width/2,Ee=r.width/2,Ce=F!==void 0?F-oe:void 0,Ge={id:fe,bounds:r,boundsMultiple:ce,tagName:c,componentName:d,status:w,createdAt:Date.now(),element:x,elements:U,mouseX:F,mouseXOffsetFromCenter:Ce,mouseXOffsetRatio:Ce!==void 0&&Ee>0?Ce/Ee:void 0};return u.addLabelInstance(Ge),fe},Kt=(r,c,d)=>{u.updateLabelInstance(r,c,d);},Fo=r=>{ut.delete(r),u.removeLabelInstance(r);},ut=new Map,R=r=>{let c=ut.get(r);c!==void 0&&(window.clearTimeout(c),ut.delete(r));},L=r=>{R(r);let c=window.setTimeout(()=>{ut.delete(r),Kt(r,"fading"),setTimeout(()=>{Fo(r);},150);},1500);ut.set(r,c);},j$1=(r,c)=>{if(c)R(r);else {let d=i.labelInstances.find(w=>w.id===r);d&&d.status==="copied"&&L(r);}},q=async(r,c,d,w,x,F,U,ce,fe)=>{ee=false,u.startCopy();let oe=w&&x?tt(w,x,F,"copying",U,r,fe):null;await d().finally(()=>{u.completeCopy(U),oe&&(Kt(oe,"copied"),L(oe)),ce?ge():(u.activate(),ee=true,se!==null&&window.clearTimeout(se),se=window.setTimeout(()=>{ee=false,se=null;},1500));});},J=(r,c)=>{let d=r[0],w=d?So(d):null,x=d?vt(d):null,F=w??x??void 0;return ea({maxContextLines:s$1.store.options.maxContextLines,getContent:s$1.store.options.getContent,componentName:F},{onBeforeCopy:s$1.hooks.onBeforeCopy,transformSnippet:s$1.hooks.transformSnippet,transformCopyContent:s$1.hooks.transformCopyContent,onAfterCopy:s$1.hooks.onAfterCopy,onCopySuccess:s$1.hooks.onCopySuccess,onCopyError:s$1.hooks.onCopyError},r,c)},Q=async(r,c)=>{if(r.length!==0){for(let d of r)s$1.hooks.onElementSelect(d),s$1.store.theme.grabbedBoxes.enabled&&ct(me(d),d);await new Promise(d=>requestAnimationFrame(d)),await J(r,c),Vt(r);}},K=({element:r,positionX:c,positionY:d,elements:w,extraPrompt:x,shouldDeactivateAfter:F,onComplete:U,dragRect:ce})=>{let fe=w??[r],oe=ce??i.frozenDragRect,Ee;oe&&fe.length>1?Ee=wo(oe):Ee=On(me(r));let Ce=fe.length>1?Ee.x+Ee.width/2:c,Ge=vt(r);on(r).then(ze=>{q(Ce,d,()=>Q(fe,x),Ee,Ge,ze??void 0,r,F,w).then(()=>{U?.();});});},Z=g(()=>{if(!_e()||v())return null;let r=i.detectedElement;return r&&!document.contains(r)?null:r}),le=g(()=>i.frozenElement||(N()?null:Z()));f(()=>{let r=i.detectedElement;if(!r)return;let c=setInterval(()=>{document.contains(r)||u.setDetectedElement(null);},100);l(()=>clearInterval(c));}),f(j(()=>le(),r=>{if(Be!==null&&clearTimeout(Be),!r){Ye(null);return}Be=window.setTimeout(()=>{Be=null,Ye(r);},100),l(()=>{Be!==null&&(clearTimeout(Be),Be=null);});})),f(()=>{let r=i.frozenElements,c=hi(r);l(c);}),f(j(T,r=>{if(!r||!s$1.store.options.freezeReactUpdates)return;let c=io();l(c);}));let be=()=>{if(i.isTouchMode&&v()){let c=i.detectedElement;return !c||An(c)?void 0:c}let r=le();if(!(!r||An(r)))return r},ve=()=>{if(i.isTouchMode&&v()){let c=i.detectedElement;return !c||An(c)?false:_e()}let r=le();return !r||An(r)?false:_e()&&!v()},Fe=g(()=>{i.viewportVersion;let r=i.frozenElements;if(r.length>0){let d=r[0];if(r.length===1&&d)return me(d);let w=i.frozenDragRect;if(w)return wo(w);let x=r.filter(F=>F!==null).map(F=>me(F));return On(sn(x))}let c=be();if(c)return me(c)}),Le=g(()=>{i.viewportVersion;let r=i.frozenElements;if(r.length===0)return [];let c=i.frozenDragRect;return c&&r.length>1?[wo(c)]:r.filter(d=>d!==null).map(d=>me(d))}),W=g(()=>i.frozenElements.length),De=(r,c)=>{let d=r+window.scrollX,w=c+window.scrollY;return {x:Math.abs(d-i.dragStart.x),y:Math.abs(w-i.dragStart.y)}},Ae=g(()=>{if(!v())return false;let r=De(i.pointer.x,i.pointer.y);return r.x>2||r.y>2}),Pt=(r,c)=>{let d=r+window.scrollX,w=c+window.scrollY,x=Math.min(i.dragStart.x,d),F=Math.min(i.dragStart.y,w),U=Math.abs(d-i.dragStart.x),ce=Math.abs(w-i.dragStart.y);return {x:x-window.scrollX,y:F-window.scrollY,width:U,height:ce}},Ot=g(()=>{if(i.viewportVersion,!Ae())return;let r=Pt(i.pointer.x,i.pointer.y);return {borderRadius:"0px",height:r.height,transform:"none",width:r.width,x:r.x,y:r.y}}),Ut=g(()=>{if(i.viewportVersion,!Ae())return [];let r=D();if(!r)return [];let c=Pt(r.x,r.y),d=Pn(c,yt);return (d.length>0?d:Pn(c,yt,false)).map(x=>me(x))}),_n=g(()=>{let r=Ut();return r.length>0?r:Le()}),jt=g(()=>{if(B()||h$1()){i.viewportVersion;let r=i.frozenElement||Z();if(r){let c=me(r);return {x:Rn(c).x+i.copyOffsetFromCenterX,y:i.copyStart.y}}return {x:i.copyStart.x,y:i.copyStart.y}}return {x:i.pointer.x,y:i.pointer.y}});f(j(()=>[Z(),i.lastGrabbedElement],([r,c])=>{c&&r&&c!==r&&u.setLastGrabbed(null),r&&s$1.hooks.onElementHover(r);})),f(j(()=>Z(),r=>{let c=++Te,d=()=>{Te===c&&u.setSelectionSource(null,null);};if(!r){d();return}Et(r).then(w=>{if(Te===c&&w){for(let x of w)if(x.fileName&&wt(x.fileName)){u.setSelectionSource(St(x.fileName),x.lineNumber??null);return}d();}}).catch(()=>{Te===c&&u.setSelectionSource(null,null);});})),f(j(()=>i.viewportVersion,()=>he._internal.updateBoundsOnViewportChange())),f(j(()=>[T(),v(),B(),h$1(),xe(),Z(),Ot(),i.grabbedBoxes,s$1.store.theme.enabled,s$1.store.theme.selectionBox.enabled,s$1.store.theme.dragBox.enabled,Ae(),le(),b(),Ue()],([r,c,d,w,x,F,U,ce,fe,oe,Ee,Ce,Ge,ze,ft])=>{let ln=!!(fe&&oe&&r&&!d&&!ze&&!c&&Ge!=null),cn=!!(fe&&Ee&&r&&!d&&Ce);s$1.hooks.onStateChange({isActive:r,isDragging:c,isCopying:d,isPromptMode:w,isCrosshairVisible:x??false,isSelectionBoxVisible:ln,isDragBoxVisible:cn,targetElement:F,dragBounds:U?{x:U.x,y:U.y,width:U.width,height:U.height}:null,grabbedBoxes:ce.map(jo=>({id:jo.id,bounds:jo.bounds,createdAt:jo.createdAt})),selectionFilePath:i.selectionFilePath,toolbarState:ft});})),f(j(()=>[h$1(),i.pointer.x,i.pointer.y,Z()],([r,c,d,w])=>{s$1.hooks.onPromptModeChange(r,{x:c,y:d,targetElement:w});})),f(j(()=>[Vo(),Fe(),Z()],([r,c,d])=>{s$1.hooks.onSelectionBox(!!r,c??null,d);})),f(j(()=>[Ko(),Ot()],([r,c])=>{s$1.hooks.onDragBox(!!r,c??null);})),f(j(()=>[xe(),i.pointer.x,i.pointer.y],([r,c,d])=>{s$1.hooks.onCrosshair(!!r,{x:c,y:d});})),f(j(()=>[Za(),qa(),jt(),Z(),i.selectionFilePath,i.selectionLineNumber],([r,c,d,w,x,F])=>{s$1.hooks.onElementLabel(!!r,c,{x:d.x,y:d.y,content:"",element:w??void 0,tagName:w&&vt(w)||void 0,filePath:x??void 0,lineNumber:F??void 0});}));let je=null,Rt=r=>{r?(je||(je=document.createElement("style"),je.setAttribute("data-react-grab-cursor",""),document.head.appendChild(je)),je.textContent=`* { cursor: ${r} !important; }`):je&&(je.remove(),je=null);};f(j(()=>[T(),B(),h$1()],([r,c,d])=>{Rt(c?"progress":r&&!d?"crosshair":null);}));let Gt=()=>{let r=g$1();u.activate(),r||s$1.hooks.onActivate();},ge=()=>{let r=v(),c=i.previouslyFocusedElement;u.deactivate(),an.clearHistory(),r&&(document.body.style.userSelect=""),$&&window.clearTimeout($),qe.stop(),c instanceof HTMLElement&&document.contains(c)&&c.focus(),s$1.hooks.onDeactivate();},Lo=()=>{u.setWasActivatedByToggle(true),Gt();},jr=(r,c,d)=>{let w=c[0];if(w&&document.contains(w)){let x=w.getBoundingClientRect(),F=x.top+x.height/2;u.setPointer({x:r.position.x,y:F}),u.setFrozenElements(c),u.setInputText(r.context.prompt),u.setWasActivatedByToggle(true),d&&u.setSelectedAgent(d),T()||Gt();}},Gr=r=>({...r,onAbort:(c,d)=>{r.onAbort?.(c,d),jr(c,d,r);},onUndo:(c,d)=>{r.onUndo?.(c,d),jr(c,d,r);}}),Bo=()=>{let r=f$1();if(r)return Gr(r)},he=Vr(Bo(),{transformAgentContext:s$1.hooks.transformAgentContext}),xa$1=r=>{u.setInputText(r);},Wr=()=>{u.setLastCopied(null);let r=[...i.frozenElements],c=i.frozenElement||Z(),d=h$1()?i.inputText.trim():"";if(!c){ge();return}let w=r.length>0?r:c?[c]:[],x=w.map(oe=>me(oe)),F=x[0],U=F.x+F.width/2,ce=F.y+F.height/2,fe=U+i.copyOffsetFromCenterX;if((i.selectedAgent||S$1())&&d){M.delete(c);let oe=i.replySessionId,Ee=i.selectedAgent;ge(),u.setReplySessionId(null),u.clearSelectedAgent(),he.session.start({elements:w,prompt:d,position:{x:fe,y:ce},selectionBounds:x,sessionId:oe??void 0,agent:Ee?Gr(Ee):void 0});return}u.setPointer({x:U,y:ce}),u.exitPromptMode(),u.clearInputText(),u.clearReplySessionId(),d?M.set(c,d):M.delete(c),K({element:c,positionX:fe,positionY:ce,elements:w,extraPrompt:d||void 0,onComplete:ge});},Ho=()=>{if(u.setLastCopied(null),!h$1())return;let r=i.inputText.trim();if(r&&!I()){u.setPendingDismiss(true);return}let c=i.frozenElement||Z();c&&r&&M.set(c,r),u.clearInputText(),u.clearReplySessionId(),ge();},Ca=()=>{u.clearInputText(),u.clearReplySessionId(),ge();},Ta=()=>{u.setPendingDismiss(false);},Aa$1=(r,c)=>{u.setPendingAbortSessionId(null),c&&he.session.abort(r);},Pa=()=>{let r=i.frozenElement||Z();r&&P(r,i.pointer.x,i.pointer.y),k();},Oa=(r,c)=>{let d=he.sessions().get(r),w=he.session.getElements(r),x=d?.selectionBounds??[],F=x[0];if(d&&w.length>0&&F){let U=d.position.x,ce=d.context.sessionId??r;he.session.dismiss(r),he.session.start({elements:w,prompt:c,position:{x:U,y:F.y+F.height/2},selectionBounds:x,sessionId:ce});}},Ra=r=>{let c=he.session.acknowledgeError(r);c&&u.setInputText(c);},Ma=()=>{T()?ge():te()&&Lo();},_a=()=>{let r=!te();pe(r);let c=Nt(),d={edge:c?.edge??"bottom",ratio:c?.ratio??.5,collapsed:c?.collapsed??false,enabled:r};bn(d),ke(d),Tt.forEach(w=>w(d)),r||(g$1()&&u.release(),T()&&ge(),se!==null&&(window.clearTimeout(se),se=null),ee=false);},Da=(r,c)=>{if(!te()||h$1()||N()||i.contextMenuPosition!==null)return;u.setPointer({x:r,y:c});let d=performance.now();if(d-_>=32&&(_=d,ma(()=>{let w=xn(r,c);u.setDetectedElement(w);})),v()){O$1!==null&&clearTimeout(O$1),z(null),O$1=window.setTimeout(()=>{z({x:r,y:c}),O$1=null;},32);let w=Kr(r,c),x=w.top||w.bottom||w.left||w.right;x&&!qe.isActive()?qe.start():!x&&qe.isActive()&&qe.stop();}},Na=(r,c)=>!_e()||B()?false:(u.startDrag({x:r,y:c}),u.setPointer({x:r,y:c}),document.body.style.userSelect="none",O$1!==null&&clearTimeout(O$1),z(null),O$1=window.setTimeout(()=>{z({x:r,y:c}),O$1=null;},32),s$1.hooks.onDragStart(r+window.scrollX,c+window.scrollY),true),ka=(r,c)=>{let d=Pn(r,yt),w=d.length>0?d:Pn(r,yt,false);if(w.length===0)return;vn(w),s$1.hooks.onDragEnd(w,r);let x=w[0],F=Rn(me(x));u.setPointer(F),u.setFrozenElements(w);let U=Hr(r);u.setFrozenDragRect(U),u.freeze(),u.setLastGrabbed(x);let ce=i.wasActivatedByToggle&&!c;K({element:x,positionX:F.x,positionY:F.y,elements:w,shouldDeactivateAfter:ce,dragRect:U});},Ia=(r,c,d)=>{let w=i.frozenElement&&document.contains(i.frozenElement)?i.frozenElement:null,x=w??xn(r,c)??(i.detectedElement&&document.contains(i.detectedElement)?i.detectedElement:null);if(!x)return;let F=w?i.pointer.x:r,U=w?i.pointer.y:c,ce=i.wasActivatedByToggle&&!d;u.setLastGrabbed(x),K({element:x,positionX:F,positionY:U,shouldDeactivateAfter:ce});},Fa=(r,c,d)=>{if(!v())return;O$1!==null&&(clearTimeout(O$1),O$1=null),z(null);let w=De(r,c),x=w.x>2||w.y>2,F=x?Pt(r,c):null;x?u.endDrag():u.cancelDrag(),qe.stop(),document.body.style.userSelect="",F?ka(F,d):Ia(r,c,d);},Pe=Ji(),Dn=ca(),Wt=r=>{let c;try{c=Dn.originalKeyDescriptor?.get?Dn.originalKeyDescriptor.get.call(r):r.key;}catch{return false}let d=c==="Enter"||zt(r.code),w=T()||g$1();return d&&w&&!h$1()&&!i.wasActivatedByToggle?(Dn.claimedEvents.add(r),r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),true):false};Pe.addDocumentListener("keydown",Wt,{capture:true}),Pe.addDocumentListener("keyup",Wt,{capture:true}),Pe.addDocumentListener("keypress",Wt,{capture:true});let La=r=>{if(!(r.code==="KeyZ"&&(r.metaKey||r.ctrlKey))||Array.from(he.sessions().values()).some(x=>!x.isStreaming&&!x.error))return false;let w=r.shiftKey;return w&&he.canRedo()?(r.preventDefault(),r.stopPropagation(),he.history.redo(),true):!w&&he.canUndo()?(r.preventDefault(),r.stopPropagation(),he.history.undo(),true):false},Ba=r=>{if(!T()||h$1())return false;let c=le();if(!c)return false;let d=an.findNext(r.key,c);if(!d)return false;r.preventDefault(),r.stopPropagation(),u.setFrozenElement(d),u.freeze();let w=me(d),x=Rn(w);return u.setPointer(x),i.contextMenuPosition!==null&&u.showContextMenu(x,d),true},Ha=r=>{if(!zt(r.code))return false;let c=i.lastCopiedElement;if(!g$1()&&!h$1()&&!T()&&c&&document.contains(c)&&!i.labelInstances.some(x=>x.status==="copied"||x.status==="fading")&&c){r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation();let x=Rn(me(c));return u.setPointer(x),P(c,x.x,x.y),u.setFrozenElement(c),u.setLastCopied(null),k(),T()||Gt(),true}if(g$1()&&!h$1()){r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation();let x=i.frozenElement||Z(),F=i.pointer.x,U=i.pointer.y;return x&&P(x,F,U),u.setPointer({x:F,y:U}),x&&u.setFrozenElement(x),k(),$!==null&&(window.clearTimeout($),$=null),T()||Gt(),true}return false},$a=r=>{if(r.key?.toLowerCase()!=="o"||h$1()||!T()||!(r.metaKey||r.ctrlKey))return false;let c=i.selectionFilePath,d=i.selectionLineNumber;if(!c)return false;if(r.preventDefault(),r.stopPropagation(),!s$1.hooks.onOpenFile(c,d??void 0)){let x=Qt(c,d??void 0),F=s$1.hooks.transformOpenFileUrl(x,c,d??void 0);window.open(F,"_blank","noopener,noreferrer");}return true},za=r=>{if(!Ao()||i.contextMenuPosition!==null||r.key?.toLowerCase()!=="s"||h$1()||!T()||!(r.metaKey||r.ctrlKey))return false;let c=Le(),d=Fe(),w=i.frozenElement||Z(),x=c.length>1?sn(c):d;if(!x)return false;r.preventDefault(),r.stopPropagation();let F=w&&vt(w)||"element",U=i.wasActivatedByToggle,ce=On(x),fe=c.length>1?c:d?[d]:[],oe=tt(ce,F,void 0,"copying",w??void 0,x.x+x.width/2,void 0,fe);ye=true,_t.style.visibility="hidden";let Ee=i.frozenElements.length>0?[...i.frozenElements]:w?[w]:[];return (async()=>{await Po(O);let Ce=false,Ge;try{let ze=await Co(x),ft=await s$1.hooks.transformScreenshot(ze,Ee,x);Ce=await To(ft),Ce||(Ge="Failed to copy");}catch(ze){Ge=ze instanceof Error&&ze.message?ze.message:"Screenshot failed";}ye=false,_t.style.visibility="",Kt(oe,Ce?"copied":"error",Ce?void 0:Ge||"Unknown error"),L(oe),U?ge():u.unfreeze();})(),true},Va=r=>{if(!(!s$1.store.options.allowActivationInsideInput&&va(r))&&!(!xo(r,s$1.store.options)&&(T()&&!i.wasActivatedByToggle&&(r.metaKey||r.ctrlKey)&&!S.includes(r.key)&&!zt(r.code)&&ge(),!zt(r.code)||!g$1()))){if((T()||g$1())&&!h$1()&&(r.preventDefault(),zt(r.code)&&(r.stopPropagation(),r.stopImmediatePropagation())),T()){if(i.wasActivatedByToggle&&s$1.store.options.activationMode!=="hold"||r.repeat)return;$!==null&&window.clearTimeout($),$=window.setTimeout(()=>{ge();},200);return}if(g$1()&&r.repeat){if(ue){let c=we;y(),c&&u.activate();}return}if(!(B()||b())&&!g$1()){let d=s$1.store.options.keyHoldDuration??75;va(r)?wa(r)?d+=300:d+=150:xa()&&(d+=300),y(),u.startHold(d);}}};Pe.addWindowListener("keydown",r=>{if(Wt(r),!te()){xo(r,s$1.store.options)&&!r.repeat&&Xe(d=>d+1);return}if(La(r))return;let c=zt(r.code)&&g$1()&&!h$1();if(h$1()&&xo(r,s$1.store.options)&&!r.repeat){r.preventDefault(),r.stopPropagation(),Ho();return}if(h$1()||xt(r,"data-react-grab-ignore-events")&&!c){r.key==="Escape"&&(A()?(r.preventDefault(),r.stopPropagation(),u.setPendingAbortSessionId(null)):i.wasActivatedByToggle&&!h$1()&&ge());return}if(r.key==="Escape"){if(A()){r.preventDefault(),r.stopPropagation(),u.setPendingAbortSessionId(null);return}if(he.isProcessing())return;if(g$1()||i.wasActivatedByToggle){ge();return}}Ba(r)||Ha(r)||$a(r)||za(r)||Va(r);},{capture:true}),Pe.addWindowListener("keyup",r=>{if(Wt(r))return;let c=la(s$1.store.options),d=c.metaKey||c.ctrlKey?Aa()?!r.metaKey:!r.ctrlKey:c.shiftKey&&!r.shiftKey||c.altKey&&!r.altKey,w=s$1.store.options.activationKey?typeof s$1.store.options.activationKey=="function"?s$1.store.options.activationKey(r):vo(s$1.store.options.activationKey)(r):Eo(r.key,r.code);if(b()||ee){(w||d)&&(ee=false,ge());return}if(!g$1()&&!T()||h$1())return;let x=!!s$1.store.options.activationKey,F=s$1.store.options.activationMode==="hold";if(T()){let U=i.contextMenuPosition!==null;if(d){if(i.wasActivatedByToggle&&s$1.store.options.activationMode!=="hold"||U)return;ge();}else if(F&&w){if($!==null&&(window.clearTimeout($),$=null),U)return;ge();}else !x&&w&&$!==null&&(window.clearTimeout($),$=null);return}if(w||d){if(i.wasActivatedByToggle&&s$1.store.options.activationMode!=="hold")return;if(g$1()||we&&d){m();let fe=(Y?Date.now()-Y:0)>=200,oe=we&&fe&&(s$1.store.options.allowActivationInsideInput||!va(r));y(),oe?u.activate():u.release();}else ge();}},{capture:true}),Pe.addDocumentListener("copy",()=>{g$1()&&(ue=true);}),Pe.addWindowListener("keypress",Wt,{capture:true}),Pe.addWindowListener("pointermove",r=>{if(!r.isPrimary)return;let c=r.pointerType==="touch";if(u.setTouchMode(c),xt(r,"data-react-grab-ignore-events")||i.contextMenuPosition!==null)return;(c?g$1():T())&&!h$1()&&N()&&(u.unfreeze(),an.clearHistory()),Da(r.clientX,r.clientY);},{passive:true}),Pe.addWindowListener("pointerdown",r=>{if(r.button!==0||!r.isPrimary||(u.setTouchMode(r.pointerType==="touch"),xt(r,"data-react-grab-ignore-events"))||i.contextMenuPosition!==null)return;if(h$1()){let d=Fe();d&&r.clientX>=d.x&&r.clientX<=d.x+d.width&&r.clientY>=d.y&&r.clientY<=d.y+d.height?Wr():Ho();return}Na(r.clientX,r.clientY)&&(r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation());},{capture:true}),Pe.addWindowListener("pointerup",r=>{if(r.button!==0||!r.isPrimary||xt(r,"data-react-grab-ignore-events")||i.contextMenuPosition!==null)return;let c=r.metaKey||r.ctrlKey;Fa(r.clientX,r.clientY,c);},{capture:true}),Pe.addWindowListener("contextmenu",r=>{if(!_e()||B()||h$1()||xt(r,"data-react-grab-ignore-events"))return;if(i.contextMenuPosition!==null){r.preventDefault();return}r.preventDefault(),r.stopPropagation();let c=xn(r.clientX,r.clientY);if(!c)return;let d=i.frozenElements;d.length>1&&d.includes(c)?vn(d):(vn([c]),u.setFrozenElement(c));let x={x:r.clientX,y:r.clientY};u.setPointer(x),u.freeze(),u.showContextMenu(x,c),s$1.hooks.onContextMenu(c,x);},{capture:true}),Pe.addWindowListener("pointercancel",r=>{r.isPrimary&&v()&&(u.cancelDrag(),qe.stop(),document.body.style.userSelect="");}),Pe.addWindowListener("click",r=>{xt(r,"data-react-grab-ignore-events")||i.contextMenuPosition===null&&(_e()||B()||V())&&(r.preventDefault(),r.stopPropagation(),r.stopImmediatePropagation(),i.wasActivatedByToggle&&!B()&&!h$1()&&(g$1()?u.setWasActivatedByToggle(false):ge()));},{capture:true}),Pe.addDocumentListener("visibilitychange",()=>{if(document.hidden){u.clearGrabbedBoxes();let r=i.activationTimestamp;T()&&!h$1()&&!ye&&r!==null&&Date.now()-r>500&&ge();}});let Ka=()=>{if(te()&&!h$1()&&!N()&&!v()&&i.contextMenuPosition===null&&i.frozenElements.length===0){let r=xn(i.pointer.x,i.pointer.y);u.setDetectedElement(r);}},Xr=()=>{Gs(),uo(),yi(),Ka(),u.incrementViewportVersion(),u.updateSessionBounds(),u.updateContextMenuPosition();};Pe.addWindowListener("scroll",Xr,{capture:true});let $o=window.innerWidth,zo=window.innerHeight;Pe.addWindowListener("resize",()=>{let r=window.innerWidth,c=window.innerHeight;if($o>0&&zo>0){let d=r/$o,w=c/zo,x=Math.abs(d-w)<ra$1,F=Math.abs(d-1)>ra$1;x&&F&&u.setPointer({x:i.pointer.x*d,y:i.pointer.y*w});}$o=r,zo=c,Xr();});let Mt=null,dt=null,Ua=()=>{let r=s$1.store.theme.enabled&&(T()||B()||i.labelInstances.length>0||i.grabbedBoxes.length>0||he.sessions().size>0);r&&Mt===null?Mt=window.setInterval(()=>{dt===null&&(dt=requestAnimationFrame(()=>{dt=null,u.incrementViewportVersion(),u.updateSessionBounds();}));},100):!r&&Mt!==null&&(window.clearInterval(Mt),Mt=null,dt!==null&&(cancelAnimationFrame(dt),dt=null));};f(()=>{s$1.store.theme.enabled,T(),B(),i.labelInstances.length,i.grabbedBoxes.length,he.sessions().size,Ua();}),l(()=>{Mt!==null&&window.clearInterval(Mt),dt!==null&&cancelAnimationFrame(dt);}),Pe.addDocumentListener("copy",r=>{h$1()||xt(r,"data-react-grab-ignore-events")||(_e()||B())&&r.preventDefault();},{capture:true}),l(()=>{Pe.abort(),$&&window.clearTimeout($),se&&window.clearTimeout(se),lt.forEach(r=>window.clearTimeout(r)),lt.clear(),qe.stop(),document.body.style.userSelect="",document.body.style.touchAction="",Rt(null),Dn.restore();});let _t=Ys(C),Vo=g(()=>!s$1.store.theme.enabled||!s$1.store.theme.selectionBox.enabled||b()?false:Ut().length>0?true:ve()),ja=g(()=>{let r=be();if(r)return vt(r)||void 0});f(j(()=>Me(),r=>{let c=++Ie;if(!r){At(void 0);return}on(r).then(d=>{Ie===c&&At(d??void 0);}).catch(()=>{Ie===c&&At(void 0);});}));let Ga=at,Wa=g(()=>i.contextMenuPosition!==null||!s$1.store.theme.elementLabel.enabled||b()?false:ve()),Nn=new Map,Xa=g(()=>{if(!s$1.store.theme.enabled)return [];if(!s$1.store.theme.grabbedBoxes.enabled)return [];i.viewportVersion;let r=new Set(i.labelInstances.map(c=>c.id));for(let c of Nn.keys())r.has(c)||Nn.delete(c);return i.labelInstances.map(c=>{let d=c.elements&&c.elements.length>1,w=c.element,F=!d&&w&&document.body.contains(w)?me(w):c.bounds,U=Nn.get(c.id),ce=U&&U.bounds.x===F.x&&U.bounds.y===F.y&&U.bounds.width===F.width&&U.bounds.height===F.height;if(U&&U.status===c.status&&U.errorMessage===c.errorMessage&&ce)return U;let fe=F.x+F.width/2,oe=F.width/2,Ee=c.mouseXOffsetRatio!==void 0&&oe>0?fe+c.mouseXOffsetRatio*oe:c.mouseXOffsetFromCenter!==void 0?fe+c.mouseXOffsetFromCenter:c.mouseX,Ce={...c,bounds:F,mouseX:Ee};return Nn.set(c.id,Ce),Ce})}),Ya=g(()=>s$1.store.theme.enabled?s$1.store.theme.grabbedBoxes.enabled?(i.viewportVersion,i.grabbedBoxes.map(r=>!r.element||!document.body.contains(r.element)?r:{...r,bounds:me(r.element)})):[]:[]),Ko=g(()=>s$1.store.theme.enabled&&s$1.store.theme.dragBox.enabled&&_e()&&Ae()),qa=g(()=>B()?"processing":"hover"),Za=g(()=>{if(!s$1.store.theme.enabled)return false;let r=s$1.store.theme.elementLabel.enabled,c=h$1(),d=B(),w=_e(),x=v(),F=!!le();return !r||c?false:d?true:w&&!x&&F}),Yr=g(()=>{i.viewportVersion;let r=i.contextMenuElement;return r?me(r):null}),Ja=g(()=>(i.viewportVersion,i.contextMenuPosition)),qr=g(()=>{let r=i.contextMenuElement;if(!r)return;let c=i.frozenElements.length;return c>1?`${c} elements`:vt(r)||void 0}),[Zr]=h(()=>({element:i.contextMenuElement,frozenCount:i.frozenElements.length}),async({element:r,frozenCount:c})=>!r||c>1?void 0:await on(r)??void 0),[Jr]=h(()=>i.contextMenuElement,async r=>{if(!r)return null;let c=await Et(r);if(!c||c.length===0)return null;for(let d of c)if(d.fileName&&wt(d.fileName))return {filePath:St(d.fileName),lineNumber:d.lineNumber};return null}),Qa=(r,c,d,w)=>async x=>{let F=i.contextMenuPosition??i.pointer,U=Le(),ce=Yr(),fe=c.length>1,oe=fe?On(sn(U)):ce,Ee=i.wasActivatedByToggle,Ce=fe?U:ce?[ce]:[];if(u.hideContextMenu(),oe){let Ge=fe?oe.x+oe.width/2:F.x,ze=tt(oe,d||"element",w,"copying",r,Ge,fe?c:void 0,Ce),ft=false,ln;try{ft=await x(),ft||(ln="Failed to copy");}catch(cn){ln=cn instanceof Error&&cn.message?cn.message:"Action failed";}Kt(ze,ft?"copied":"error",ft?void 0:ln||"Unknown error"),L(ze);}else try{await x();}catch{}Ee?ge():u.unfreeze();},el=g(()=>{let r=i.contextMenuElement;if(!r)return;let c=Jr(),d=i.frozenElements.length>0?i.frozenElements:[r],w=qr(),x=Zr(),F={element:r,elements:d,filePath:c?.filePath,lineNumber:c?.lineNumber,componentName:x,tagName:w,enterPromptMode:nl,copy:tl,hooks:{transformHtmlContent:s$1.hooks.transformHtmlContent,transformScreenshot:s$1.hooks.transformScreenshot,onOpenFile:s$1.hooks.onOpenFile,transformOpenFileUrl:s$1.hooks.transformOpenFileUrl},performWithFeedback:Qa(r,d,w,x),hideContextMenu:()=>{setTimeout(()=>{u.hideContextMenu();},0);},hideOverlay:()=>{ye=true,_t.style.visibility="hidden";},showOverlay:()=>{ye=false,_t.style.visibility="";},cleanup:()=>{i.wasActivatedByToggle?ge():u.unfreeze();}};return s$1.hooks.transformActionContext(F)}),tl=()=>{let r=i.contextMenuElement;if(!r)return;let c=i.contextMenuPosition??i.pointer,d=[...i.frozenElements];K({element:r,positionX:c.x,positionY:c.y,elements:d.length>1?d:void 0,shouldDeactivateAfter:i.wasActivatedByToggle}),setTimeout(()=>{u.hideContextMenu();},0);},nl=r=>{let c=i.contextMenuElement,d=i.contextMenuPosition;!c||!d||(r&&u.setSelectedAgent(r),p(c),u.enterPromptMode(d,c),setTimeout(()=>{u.hideContextMenu();},0));},ol=()=>{setTimeout(()=>{u.hideContextMenu(),ge();},0);},rl=()=>{setTimeout(()=>{u.hideContextMenu();},0);},sl=r=>{let c=he.sessions().get(r);if(!c)return;let d=he.session.getElement(r);d&&document.contains(d)&&setTimeout(()=>{T()||(u.setWasActivatedByToggle(true),Gt()),u.setPointer(c.position),u.setFrozenElement(d),u.freeze(),u.showContextMenu(c.position,d);},0);},il=r=>{let c=i.labelInstances.find(F=>F.id===r);if(!c?.element||!document.contains(c.element))return;let d=me(c.element),w={x:c.mouseX??d.x+d.width/2,y:d.y+d.height/2},x=c.elements&&c.elements.length>0?c.elements.filter(F=>document.contains(F)):[c.element];setTimeout(()=>{T()||(u.setWasActivatedByToggle(true),Gt()),u.setPointer(w),u.setFrozenElements(x),x.length>1&&c.bounds&&u.setFrozenDragRect(Hr(c.bounds)),u.freeze(),u.showContextMenu(w,c.element);},0);};f(()=>{let r=s$1.store.theme.hue;r!==0?_t.style.filter=`hue-rotate(${r}deg)`:_t.style.filter="";}),s$1.store.theme.enabled&&s(()=>n(Ri,{get selectionVisible(){return Vo()},get selectionBounds(){return Fe()},get selectionBoundsMultiple(){return _n()},get selectionShouldSnap(){return i.frozenElements.length>0||Ut().length>0},get selectionElementsCount(){return W()},get selectionFilePath(){return i.selectionFilePath??void 0},get selectionLineNumber(){return i.selectionLineNumber??void 0},get selectionTagName(){return ja()},get selectionComponentName(){return Ga()},get selectionLabelVisible(){return Wa()},selectionLabelStatus:"idle",get labelInstances(){return Xa()},get dragVisible(){return Ko()},get dragBounds(){return Ot()},get grabbedBoxes(){return Ya()},labelZIndex:2147483647,get mouseX(){return r(()=>i.frozenElements.length>1)()?void 0:jt().x},get mouseY(){return jt().y},get crosshairVisible(){return xe()},get isFrozen(){return N()||T()||$e()},get inputValue(){return i.inputText},get isPromptMode(){return h$1()},get hasAgent(){return S$1()},get isAgentConnected(){return i.isAgentConnected},get agentSessions(){return he.sessions()},get supportsUndo(){return i.supportsUndo},get supportsFollowUp(){return i.supportsFollowUp},get dismissButtonText(){return i.dismissButtonText},get onDismissSession(){return he.session.dismiss},get onUndoSession(){return he.session.undo},onFollowUpSubmitSession:Oa,onAcknowledgeSessionError:Ra,get onRetrySession(){return he.session.retry},onShowContextMenuSession:sl,onShowContextMenuInstance:il,onLabelInstanceHoverChange:j$1,onInputChange:xa$1,onInputSubmit:()=>void Wr(),onInputCancel:Ho,onToggleExpand:Pa,get isPendingDismiss(){return I()},onConfirmDismiss:Ca,onCancelDismiss:Ta,get pendingAbortSessionId(){return A()},onRequestAbortSession:r=>u.setPendingAbortSessionId(r),onAbortSession:Aa$1,get theme(){return s$1.store.theme},get toolbarVisible(){return s$1.store.theme.toolbar.enabled},get isActive(){return T()},onToggleActive:Ma,get enabled(){return te()},onToggleEnabled:_a,get shakeCount(){return Ne()},onToolbarStateChange:r=>{ke(r),Tt.forEach(c=>c(r));},onSubscribeToToolbarStateChanges:r=>(Tt.add(r),()=>{Tt.delete(r);}),onToolbarSelectHoverChange:H,get contextMenuPosition(){return Ja()},get contextMenuBounds(){return Yr()},get contextMenuTagName(){return qr()},get contextMenuComponentName(){return Zr()},get contextMenuHasFilePath(){return !!Jr()?.filePath},get actions(){return s$1.store.actions},get actionContext(){return el()},onContextMenuDismiss:ol,onContextMenuHide:rl}),_t),S$1()&&he.session.tryResume();let al=async r=>{let c=Array.isArray(r)?r:[r];return c.length===0?false:await J(c)},Qr=()=>{let r=Bo();r&&he._internal.setOptions(r);let c=!!r?.provider;if(u.setHasAgentProvider(c),c&&r?.provider){let d=r.provider;u.setAgentCapabilities({supportsUndo:!!d.undo,supportsFollowUp:!!d.supportsFollowUp,dismissButtonText:d.dismissButtonText,isAgentConnected:false}),d.checkConnection&&d.checkConnection().then(w=>{Bo()?.provider===d&&u.setAgentCapabilities({supportsUndo:!!d.undo,supportsFollowUp:!!d.supportsFollowUp,dismissButtonText:d.dismissButtonText,isAgentConnected:w});}).catch(()=>{}),he.session.tryResume();}else u.setAgentCapabilities({supportsUndo:false,supportsFollowUp:false,dismissButtonText:void 0,isAgentConnected:false});},Uo={activate:()=>{!T()&&te()&&Lo();},deactivate:()=>{T()&&ge();},toggle:()=>{T()?ge():te()&&Lo();},isActive:()=>T(),isEnabled:()=>te(),setEnabled:r=>{r!==te()&&(pe(r),r||(g$1()&&u.release(),T()&&ge(),se!==null&&(window.clearTimeout(se),se=null),ee=false));},getToolbarState:()=>Nt(),setToolbarState:r=>{let c=Nt(),d={edge:r.edge??c?.edge??"bottom",ratio:r.ratio??c?.ratio??.5,collapsed:r.collapsed??c?.collapsed??false,enabled:r.enabled??c?.enabled??true};bn(d),ke(d),r.enabled!==void 0&&r.enabled!==te()&&pe(r.enabled),Tt.forEach(w=>w(d));},onToolbarStateChange:r=>(Tt.add(r),()=>{Tt.delete(r);}),dispose:()=>{Ur=false,Tt.clear(),l$1();},copyElement:al,getSource:async r=>{let c=await Et(r);if(!c)return null;for(let d of c)if(d.fileName&&wt(d.fileName))return {filePath:St(d.fileName),lineNumber:d.lineNumber??null,componentName:d.functionName&&nn(d.functionName)?d.functionName:null};return null},getState:()=>({isActive:T(),isDragging:v(),isCopying:B(),isPromptMode:h$1(),isCrosshairVisible:xe()??false,isSelectionBoxVisible:Vo()??false,isDragBoxVisible:Ko()??false,targetElement:Z(),dragBounds:Ot()??null,grabbedBoxes:i.grabbedBoxes.map(r=>({id:r.id,bounds:r.bounds,createdAt:r.createdAt})),selectionFilePath:i.selectionFilePath,toolbarState:Ue()}),setOptions:r=>{s$1.setOptions(r);},registerPlugin:r=>{s$1.register(r,Uo),Qr();},unregisterPlugin:r=>{s$1.unregister(r),Qr();},getPlugins:()=>s$1.getPluginNames(),getDisplayName:So};for(let r of Tu)s$1.register(r,Uo);return Uo})};/*! Bundled license information:
56
+
57
+ bippy/dist/rdt-hook-5L_ky0r0.js:
58
+ (**
59
+ * @license bippy
60
+ *
61
+ * Copyright (c) Aiden Bai
62
+ *
63
+ * This source code is licensed under the MIT license found in the
64
+ * LICENSE file in the root directory of this source tree.
65
+ *)
66
+
67
+ bippy/dist/install-hook-only-CgvoC7AQ.js:
68
+ (**
69
+ * @license bippy
70
+ *
71
+ * Copyright (c) Aiden Bai
72
+ *
73
+ * This source code is licensed under the MIT license found in the
74
+ * LICENSE file in the root directory of this source tree.
75
+ *)
76
+
77
+ bippy/dist/core-U1d648PH.js:
78
+ (**
79
+ * @license bippy
80
+ *
81
+ * Copyright (c) Aiden Bai
82
+ *
83
+ * This source code is licensed under the MIT license found in the
84
+ * LICENSE file in the root directory of this source tree.
85
+ *)
86
+
87
+ bippy/dist/index.js:
88
+ (**
89
+ * @license bippy
90
+ *
91
+ * Copyright (c) Aiden Bai
92
+ *
93
+ * This source code is licensed under the MIT license found in the
94
+ * LICENSE file in the root directory of this source tree.
95
+ *)
96
+
97
+ bippy/dist/source.js:
98
+ (**
99
+ * @license bippy
100
+ *
101
+ * Copyright (c) Aiden Bai
102
+ *
103
+ * This source code is licensed under the MIT license found in the
104
+ * LICENSE file in the root directory of this source tree.
105
+ *)
106
+ */export{It as a,Et as b,Fr as c,Br as d,Tn as e,sn as f,Co as g,To as h,Ao as i,Ht as j,ha as k,ba as l,ya as m,Sa as n,Og as o};