@popmelt.com/core 0.29.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -2
- package/claude-plugin/.claude-plugin/plugin.json +1 -1
- package/claude-plugin/skills/popmelt-core/SKILL.md +6 -0
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/codex-plugin/skills/popmelt-core/SKILL.md +6 -0
- package/dist/ParticipantRuntime-AKVKVNO2.mjs +139 -0
- package/dist/{PopmeltTasteConnectedPane-A7QLXPE4.mjs → PopmeltTasteConnectedPane-L5ULGACH.mjs} +12 -12
- package/dist/QueuedReplies-ZYUDSTS2.mjs +46 -0
- package/dist/ThreadErrorCard-Q5GQ4EIF.mjs +2 -0
- package/dist/bridge-entry.mjs +1 -1
- package/dist/browser-runtime-PPQ2GUER.mjs +2 -0
- package/dist/browser.mjs +1 -1
- package/dist/canvas-chat-note-7HSL7MH6.mjs +2 -0
- package/dist/{chunk-XZ6MNKUQ.mjs → chunk-2BVRVVHJ.mjs} +23 -23
- package/dist/chunk-2RRYBN2J.mjs +17 -0
- package/dist/chunk-4BEN6VQ7.mjs +2 -0
- package/dist/chunk-4V7SK3M6.mjs +3 -0
- package/dist/chunk-AR4MHLWP.mjs +342 -0
- package/dist/chunk-CPOYMGYY.mjs +2 -0
- package/dist/{chunk-MBBS4FJH.mjs → chunk-ENGMQINZ.mjs} +1 -1
- package/dist/{chunk-5VILWL5E.mjs → chunk-HTHUSDZT.mjs} +1 -1
- package/dist/chunk-MZNY6VXR.mjs +2 -0
- package/dist/{chunk-GIJABDSK.mjs → chunk-N4F7DGFN.mjs} +1 -1
- package/dist/chunk-O6HC437G.mjs +307 -0
- package/dist/chunk-OFHBVUTT.mjs +315 -0
- package/dist/chunk-YYWUENSJ.mjs +2 -0
- package/dist/cli.mjs +34 -340
- package/dist/codex-note-context-ZLQU57WU.mjs +2 -0
- package/dist/codex-project-P3J62GZR.mjs +2 -0
- package/dist/codex-session-registry-25DAA2KO.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/memory-store.d.mts +1 -1
- package/dist/peer-client-DGX6OHMK.mjs +2 -0
- package/dist/plugin-astro.mjs +1 -1
- package/dist/plugin-nuxt.mjs +1 -1
- package/dist/plugin-vite.mjs +1 -1
- package/dist/server.d.mts +2 -2
- package/dist/server.mjs +5 -5
- package/dist/{types-BethD1Ix.d.mts → types-C8tjyhiF.d.mts} +19 -0
- package/package.json +22 -32
- package/dist/ParticipantRuntime-ITMSYN4F.mjs +0 -139
- package/dist/ThreadErrorCard-MHFJXR4W.mjs +0 -2
- package/dist/browser-runtime-4IAKTM6S.mjs +0 -2
- package/dist/chunk-BZFM6VPZ.mjs +0 -303
- package/dist/chunk-MFNS5MBM.mjs +0 -2
- package/dist/chunk-QRVEMJ4U.mjs +0 -367
- package/dist/chunk-VLFWNZFS.mjs +0 -17
- /package/dist/{chunk-J4YWKBXJ.mjs → chunk-ZQTLCQPC.mjs} +0 -0
package/dist/chunk-QRVEMJ4U.mjs
DELETED
|
@@ -1,367 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{b as Uf,f as Oi,h as Yf,g as fs,a as ac,d as lc,c as sc}from"./chunk-3LBOX7HQ.mjs";import{a as Kf}from"./chunk-5VILWL5E.mjs";import{M as rl,Ua as dc,f as Xf,e as cc,tb as hs,a as Vf,xb as uc,yb as pc,wb as ms,c as Gf,jb as Qf,kb as Zf,Ja as Ni,ja as eh,Db as th,Eb as fc,ia as nh,Kb as rh,Gb as oh,Hb as ih,Ib as ah,_a as lh,ka as sh,Da as dh,za as hc,ab as ch,ba as uh,ca as gs,da as ph,ea as fh,$a as hh,Fa as mh,ha as gh,ob as ys,nb as yh,mb as vs,Fb as vh,la as bh,Oa as mc,Ba as gc,Ma as yc,Na as xh,La as vc,Ka as wh,Ga as bs,N as Sh,Cb as Ih,p as bc,ya as kh,b as Eh,ub as xc,Ra as Th,Qa as Ch,Ta as Ah,Pa as Mh,Sa as Rh,Ca as $h,D as Lh,E as jh,l as Ph,ra as nn,ua as zh,xa as Dh,Ha as Hh,sa as wc,na as _i,T as Oh,ma as Nh,R as Sc,Y as _h,fb as di,Mb as Fh,Jb as Wh,eb as Ic,gb as kc,Ab as Bh,Bb as qh,lb as Jh,hb as Uh,ib as Yh,Aa as Kh,Ea as xs,Q as Xh,C as Ec,F as Tc,L as Cc,K as Ac,o as ci,G as Mc,J as Fi,P as Vh,va as ws,qa as Gh,pa as Ss,oa as Is,O as Qh,ga as Zh,fa as em,Ia as tm,ta as Rc,wa as $c,q as nm,W as Lc,U as jc,V as Pc,X as rm,Z as zc,$ as Dc,aa as om,S as im,vb as Hc,zb as Oc,m as Wi,A as ks,r as ui,I as ol,u as Nc,g as am,_ as lm,t as il,h as _c,y as sm,j as $r,v as Es,s as xa,i as Ts,k as dm,z as cm,x as um,H as Cs,w as Fc,n as Wc,B as pm}from"./chunk-XZ6MNKUQ.mjs";import{h as fm,Ba as Bc,R as Bi,ma as hm,N as mm,H as qc,A as no,la as al,ka as gm,P as ym,D as Jc,O as vm,da as kn,Y as As,aa as dr,fa as Ms,$ as wa,ha as bm,S as ll,ua as Uc,_ as ro,za as xm,Aa as Yc,ta as Kc,J as Rs,v as Xc,u as Sa,r as sl,w as qi,Z as Vc,Q as Gc,I as wm,K as Sm,M as Im,f as km,ba as Em,ca as Tm,wa as Cm,va as Qc,ya as Am,xa as Mm,sa as Zc,z as eu,t as $s,g as Rm,ea as Ls,C as $m,E as tu,G as Lm,F as jm,ga as nu,ia as ru,B as Pm,s as dl,L as zm,y as js,q as ou,x as Dm}from"./chunk-MBBS4FJH.mjs";import{c as Hm,a as iu,b as Ia}from"./chunk-JQHZFDY5.mjs";import{i as au,k as Om,m as Nm,h as lu,g as _m,a as cl,e as Fm,b as Lr,d as Wm,f as ot,c as Bm}from"./chunk-MP7S5ALD.mjs";import{c as pn,a as Ro,i as yn,j as Ji,d as qm,e as Jm,b as su,l as Um,m as Ym,k as Km}from"./chunk-XOGBFVWI.mjs";import{a as Xm}from"./chunk-2P2NUZW7.mjs";import{d as Ps,i as Vm}from"./chunk-MFNS5MBM.mjs";import{t as zs,b as Yt,A as du,f as cu,d as uu,e as Ds,g as Gm,h as ka,j as pu,k as fu,p as Qm,n as Zm,s as eg,r as tg,q as ng,w as rg,v as og,z as Hs,x as Os,i as ig,a as ag,c as lg,u as sg}from"./chunk-VLFWNZFS.mjs";import{a as hu,b as dg}from"./chunk-EX63NVDN.mjs";import{d as cg,g as ug,m as pg,l as fg}from"./chunk-N2ZEZCHO.mjs";import{a as hg}from"./chunk-J3UIBBU2.mjs";import{b as mg}from"./chunk-6VXFTT5U.mjs";import{a as gg}from"./chunk-LVEMYZOA.mjs";import{d as vn,o as Ea,n as Ui,a as mu,i as gu,v as yu,u as vu,h as ul,k as yg,f as vg,c as Ns,m as bu,l as _s}from"./chunk-HGW2U6PD.mjs";import{lazy as Fs,memo as bg,useContext as jr,useState as $,Suspense as Ws,Fragment as xg,useRef as B,useEffect as _,useCallback as q,useMemo as Se,cloneElement as wg,useSyncExternalStore as Sg,useLayoutEffect as Et,useId as Ig}from"react";import{jsx as f,jsxs as A,Fragment as it}from"react/jsx-runtime";import{Fingerprint as oo,Component as pl,Ban as fl,Terminal as kg,PenLine as xu,ImageIcon as Eg,Plug as Tg,SquareMousePointer as Cg,ChevronRight as Bs,ThumbsUp as Ag,Clock as qs,ChevronDown as Yi,Check as $o,ChevronLeft as Mg,X as hl,Send as wu,Lock as Rg,ArrowDown as $g,OctagonAlert as Su,MessageCircleQuestionMark as Lg,Reply as jg,TriangleAlert as Pg,Command as Iu,CornerDownLeft as Js,EyeOff as zg,Trash2 as Dg}from"lucide-react";import{createPortal as ku}from"react-dom";function Eu(e,t){return e.store===void 0&&(e.store=t),e.store}function Hg(e,t){let n=e.listeners??(e.listeners=new Set);return n.add(t),()=>n.delete(t)}function Og(e,t,n){let r=n(Eu(e,t));e.store=r;for(let o of e.listeners??[])o();return r}var rt=globalThis.__POPMELT_BRIDGE_CONNECTION__??(globalThis.__POPMELT_BRIDGE_CONNECTION__={}),ml=rt.sourceId??(typeof localStorage<"u"?localStorage.getItem("popmelt-source-id"):null)??(typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2));rt.sourceId=ml;try{typeof localStorage<"u"&&localStorage.setItem("popmelt-source-id",ml)}catch{}function Us(){return ml}var gl={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0};rt.store??(rt.store={...gl}),rt.listeners??(rt.listeners=new Set);var Pr=rt.activeEs??null,yl=rt.activeBridgeUrl??null,io=null,Yn=rt.connectionGeneration??0,Ta=new Set,pi=new Map,Lo={},vl=new Set,jo=new Map;function Dn(e,t){if(!e)return!1;if(vl.has(e))return!0;if(Ta.has(e)){let r=pi.get(e);return r||(r=[],pi.set(e,r)),r.push({type:t.type??"",data:t}),!0}let n=Lo[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function Tu(e,t,n,r=new Map){let o=()=>n!==(rt.connectionGeneration??0);for(let l of t){if(o())return;jo.set(l,r.get(l)??jo.get(l)),Ta.add(l),pi.set(l,[])}let{mergeBackfillHistory:i,selectBackfillTerminalEvent:a}=await import("./bridge-recovery-3IQN3U6D.mjs");o()||await Promise.all(t.map(async l=>{try{let s=await pu(e,l,-1,{retryUnavailable:!0});if(o()||vl.has(l))return;let d=pi.get(l)??[];if(s){ct(c=>{let h={...c.jobResponses,[l]:s.accumulated.response},m={...c.jobThinking,[l]:s.accumulated.thinking},g=i(c.events,l,s.events);return{...c,jobResponses:h,jobThinking:m,currentResponse:l===c.activeJobId?s.accumulated.response:c.currentResponse,currentThinking:l===c.activeJobId?s.accumulated.thinking:c.currentThinking,events:g}}),Lo[l]=s.currentSeq;let u=[...s.events].reverse().find(c=>c.type==="job_started"||c.type==="job_parked");u?.type==="job_parked"&&Ki("job_parked",u,l);let p=a(s.events,s.jobActive,r.get(l));p&&Ki(p.type,p,l);for(let c of d)typeof c.data.seq=="number"&&c.data.seq<=s.currentSeq||Ki(c.type,c.data,l)}else{let u=!1;for(let c of d)Ki(c.type,c.data,l),(c.type==="done"||c.type==="error")&&(u=!0);let p=r.get(l);!u&&p&&Ki(p.type,p,l)}jo.delete(l)}finally{o()||(Ta.delete(l),pi.delete(l))}}))}function Ki(e,t,n){if(e==="job_parked")ct(r=>{let o=r.activeJobIds.filter(i=>i!==n);return{...r,activeJobIds:o,activeJobId:o.at(-1)??null,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}});else if(e==="job_started")ct(r=>({...r,status:"streaming",activeJobId:n,activeJobIds:[...new Set([...r.activeJobIds,n])],activeJobThreads:typeof t.threadId=="string"?{...r.activeJobThreads,[n]:t.threadId}:r.activeJobThreads,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}));else if(e==="delta"){let r=t.text||"";ct(o=>({...o,jobResponses:{...o.jobResponses,[n]:(o.jobResponses[n]||"")+r},currentResponse:n===o.activeJobId?o.currentResponse+r:o.currentResponse,events:[...o.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let r=t.text||"";ct(o=>({...o,jobThinking:{...o.jobThinking,[n]:(o.jobThinking[n]||"")+r},currentThinking:n===o.activeJobId?o.currentThinking+r:o.currentThinking,events:[...o.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="status")ct(r=>({...r,events:[...r.events,{type:"status",data:t,timestamp:Date.now()}]}));else if(e==="done")delete Lo[n],ct(r=>{let o=r.activeJobIds.filter(d=>d!==n),i={...r.jobResponses},a={...r.jobThinking},l=i[n];delete i[n],delete a[n];let s=n===r.activeJobId?o.length>0?o[o.length-1]:null:r.activeJobId;return{...r,activeJobIds:o,activeJobId:s,jobResponses:i,jobThinking:a,lastCompletedJobId:n,lastResponseText:t.responseText||l||r.currentResponse||null,lastThreadId:t.threadId??null,...n===r.activeJobId?{currentResponse:s&&i[s]||"",currentThinking:s&&a[s]||""}:{},events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]}});else if(e==="error"){delete Lo[n];let r=t.message??"";ct(o=>{let i=o.activeJobIds.filter(l=>l!==n),a=i.length>0?o.status:"error";return{...o,status:a,activeJobIds:i,lastCompletedJobId:n,lastErrorByJob:r?{...o.lastErrorByJob,[n]:r}:o.lastErrorByJob,events:[...o.events,{type:"error",data:t,timestamp:Date.now()}]}})}else ct(e==="question"?r=>{let o=typeof t.threadId=="string"?t.threadId:"",i=typeof t.question=="string"?t.question:"",a=Array.isArray(t.annotationIds)?t.annotationIds.filter(s=>typeof s=="string"):void 0,l=r.pendingQuestions.some(s=>s.jobId===n);return{...r,pendingQuestions:i&&o&&!l?[...r.pendingQuestions,{jobId:n,threadId:o,question:i,annotationIds:a,timestamp:Date.now()}]:r.pendingQuestions,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}}:r=>({...r,events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var Kn=rt.discoveredBridgeUrl??null,Hn=rt.discoveredBridgeProjectId??null,Po=null,Xi=null;function Cu(e,t=!1){let n=e??null;if(!(!t&&(rt.expectedProjectId??null)===n)){Pr&&(Pr.close(),Pr=null,rt.activeEs=null),io&&(clearTimeout(io),io=null),yl=null,rt.activeBridgeUrl=null,Kn=null,Hn=null,rt.discoveredBridgeUrl=null,rt.discoveredBridgeProjectId=null,Po=null,Xi=null,Ta.clear(),pi.clear(),vl.clear(),jo.clear();for(let r of Object.keys(Lo))delete Lo[r];rt.expectedProjectId=n,Yn=(rt.connectionGeneration??Yn)+1,rt.connectionGeneration=Yn,ct(()=>({...gl}))}}function Ng(){rt.listeners?.size||Cu(null,!0)}async function Au(e,t){if(Kn&&(t?Hn===t:!Hn))return Kn;if(!t&&Hn&&(Kn=null,Hn=null,rt.discoveredBridgeUrl=Kn,rt.discoveredBridgeProjectId=Hn),t&&Hn&&Hn!==t&&(Kn=null,Hn=null,rt.discoveredBridgeUrl=Kn,rt.discoveredBridgeProjectId=Hn),Po&&Xi===(t??null))return Po;let n=Yn;return Xi=t??null,Po=ig(e,t).then(r=>n!==Yn?null:(Kn=r?.url??null,Hn=r?.projectId??t??null,rt.discoveredBridgeUrl=Kn,rt.discoveredBridgeProjectId=Hn,Po=null,Xi=null,Kn)).catch(()=>(n!==Yn||(Po=null,Xi=null),null)),Po}function _g(){return Kn}async function Fg(e,t){Kn=null,Hn=null,rt.discoveredBridgeUrl=null,rt.discoveredBridgeProjectId=null,Po=null,Xi=null;let n=Yn,r=await Au(e,t);return r&&n===Yn&&Ys(r),r}function Ca(){return Eu(rt,{...gl})}function Wg(e){return Hg(rt,e)}function ct(e){Og(rt,{...gl},t=>{let n=e(t),r=new Set(n.activeJobIds),o=n.activeJobId&&r.has(n.activeJobId)?n.activeJobId:n.activeJobIds.at(-1)??null;return{...n,activeJobId:o,activeJobThreads:Object.keys(n.activeJobThreads).some(i=>!r.has(i))?Object.fromEntries(Object.entries(n.activeJobThreads).filter(([i])=>r.has(i))):n.activeJobThreads,status:n.status==="streaming"&&r.size===0?"idle":n.status}})}function Bg(){return typeof window<"u"?window.__POPMELT_PROJECT_ID__??null:null}function Ys(e){if(Pr&&Pr.readyState!==EventSource.CLOSED&&yl===e)return;Pr&&(Pr.close(),Pr=null,rt.activeEs=null),io&&(clearTimeout(io),io=null),yl=e,rt.activeBridgeUrl=yl,Yn=(rt.connectionGeneration??Yn)+1;let t=Yn;rt.connectionGeneration=Yn;let n=new URLSearchParams({sourceId:ml}),r=Bg();r&&n.set("projectId",r);let o=ag(`${e}/events?${n.toString()}`);Pr=o,rt.activeEs=Pr;let i=!1,a=()=>t!==(rt.connectionGeneration??0),l=()=>i||a();Ta.clear(),pi.clear();let s=5e3,d=()=>{a()||io||(io=setTimeout(()=>{io=null,!a()&&ka(e).then(p=>{a()||(p&&(!r||p.projectId===r)?Ys(e):(s=Math.min(s*2,3e4),d()))})},s))},u=()=>{l()||(i=!0,o.close(),ct(p=>({...p,isConnected:!1,status:"disconnected"})),d())};o.addEventListener("connected",()=>{l()||ka(e).then(async p=>{if(l())return;if(!p||r&&p.projectId!==r){u();return}let c=[...p?.activeJobs??(p?.activeJob?[p.activeJob]:[]),...p?.queuedJobs?.filter(z=>z.parked)??[]],h=p?.recentJobs??[],{planBridgeReconnectRecovery:m}=await import("./bridge-recovery-3IQN3U6D.mjs");if(l())return;let g=m(Ca().activeJobIds,c,h),{serverActiveIds:x,terminalJobs:S}=g,P=S.map(z=>z.id),R=new Map(jo);for(let z of S)R.set(z.id,z.status==="error"?{type:"error",jobId:z.id,message:z.error??"The agent run failed.",threadId:z.threadId,annotationIds:z.annotationIds}:{type:"done",jobId:z.id,success:!0,threadId:z.threadId,annotationIds:z.annotationIds});ct(z=>{let G={...z.lastErrorByJob};for(let N of S)N?.status==="error"&&N.error&&(G[N.id]=N.error);let E=m(z.activeJobIds,c,h).reconciledActiveIds,K={};for(let N of c)N.threadId&&(K[N.id]=N.threadId);return{...z,isConnected:!0,status:E.length>0?"streaming":P.length>0||z.status==="disconnected"?"idle":z.status,activeJobId:E.length>0?E[E.length-1]:null,activeJobIds:E,activeJobThreads:K,lastErrorByJob:G,workspaceGeneration:p?.workspaceGeneration}});let I=[...new Set([...x,...P,...jo.keys()])];I.length>0&&Tu(e,I,t,R).catch(u)}).catch(u)}),o.addEventListener("job_parked",p=>{if(l())return;let c=JSON.parse(p.data);Dn(c.jobId,c)||Ki("job_parked",c,c.jobId)}),o.addEventListener("thread_changed",p=>{if(l())return;let c=JSON.parse(p.data);ct(h=>({...h,events:[...h.events,{type:"thread_changed",data:c,timestamp:Date.now()}]}))}),o.addEventListener("job_started",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;if(Dn(h,c))return;let m=c.threadId;ct(g=>({...g,status:"streaming",activeJobId:h,activeJobIds:g.activeJobIds.includes(h)?g.activeJobIds:[...g.activeJobIds,h],activeJobThreads:m?{...g.activeJobThreads,[h]:m}:g.activeJobThreads,jobResponses:{...g.jobResponses,[h]:g.jobResponses[h]??""},jobThinking:{...g.jobThinking,[h]:g.jobThinking[h]??""},currentResponse:g.jobResponses[h]??"",currentThinking:g.jobThinking[h]??"",lastResponseText:null,lastThreadId:null,events:[...g.events,{type:"job_started",data:c,timestamp:Date.now()}]}))}),o.addEventListener("delta",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;if(Dn(h,c))return;let m=c.text||"";ct(g=>({...g,jobResponses:h?{...g.jobResponses,[h]:(g.jobResponses[h]||"")+m}:g.jobResponses,currentResponse:!h||h===g.activeJobId?g.currentResponse+m:g.currentResponse,events:[...g.events,{type:"delta",data:c,timestamp:Date.now()}]}))}),o.addEventListener("thinking",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;if(Dn(h,c))return;let m=c.text||"";ct(g=>({...g,jobThinking:h?{...g.jobThinking,[h]:(g.jobThinking[h]||"")+m}:g.jobThinking,currentThinking:!h||h===g.activeJobId?g.currentThinking+m:g.currentThinking,events:[...g.events,{type:"thinking",data:c,timestamp:Date.now()}]}))}),o.addEventListener("status",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;Dn(h,c)||ct(m=>({...m,events:[...m.events,{type:"status",data:c,timestamp:Date.now()}]}))}),o.addEventListener("orientation",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;Dn(h,c)||ct(m=>({...m,events:[...m.events,{type:"orientation",data:c,timestamp:Date.now()}]}))}),o.addEventListener("approval",p=>{if(l())return;let c=JSON.parse(p.data);Dn(c.jobId,c)||ct(h=>({...h,events:[...h.events,{type:"approval",data:c,timestamp:Date.now()}]}))}),o.addEventListener("imprint_used",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;Dn(h,c)||ct(m=>({...m,events:[...m.events,{type:"imprint_used",data:c,timestamp:Date.now()}]}))}),o.addEventListener("tool_use",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;Dn(h,c)||ct(m=>({...m,events:[...m.events,{type:"tool_use",data:c,timestamp:Date.now()}]}))});for(let p of["image_generation","image_ready"])o.addEventListener(p,c=>{if(l())return;let h=JSON.parse(c.data),m=h.jobId;Dn(m,h)||ct(g=>({...g,events:[...g.events,{type:p,data:h,timestamp:Date.now()}]}))});o.addEventListener("done",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;Dn(h,c)||(h&&delete Lo[h],ct(m=>{let g=h?m.activeJobIds.filter(z=>z!==h):m.activeJobIds,x={...m.jobResponses},S={...m.jobThinking},P={...m.activeJobThreads},R=h?x[h]:void 0;h&&(delete x[h],delete S[h],delete P[h]);let I=h===m.activeJobId?g.length>0?g[g.length-1]:null:m.activeJobId;return{...m,activeJobIds:g,activeJobId:I,jobResponses:x,jobThinking:S,lastCompletedJobId:h??m.activeJobId,lastResponseText:c.responseText||R||m.currentResponse||null,lastThreadId:c.threadId??null,...h===m.activeJobId?{currentResponse:I&&x[I]||"",currentThinking:I&&S[I]||""}:{},events:[...m.events,{type:"done",data:c,timestamp:Date.now()}]}}))}),o.addEventListener("question",p=>{if(l())return;let c=JSON.parse(p.data),h=c.jobId;Dn(h,c)||ct(m=>({...m,pendingQuestions:[...m.pendingQuestions,{jobId:c.jobId,threadId:c.threadId,question:c.question,annotationIds:c.annotationIds,timestamp:Date.now()}],events:[...m.events,{type:"question",data:c,timestamp:Date.now()}]}))}),o.addEventListener("capabilities_changed",()=>{l()||ct(p=>({...p,capabilitiesVersion:p.capabilitiesVersion+1}))}),o.addEventListener("workspace_cleared",p=>{if(l())return;let c=JSON.parse(p.data);typeof c.workspaceGeneration!="number"||!Number.isInteger(c.workspaceGeneration)||c.workspaceGeneration<0||ct(h=>{for(let m of[...h.activeJobIds,...jo.keys()])vl.add(m);return jo.clear(),{...h,workspaceGeneration:c.workspaceGeneration,status:"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},jobResponses:{},jobThinking:{},currentResponse:"",currentThinking:"",events:[],lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[]}})}),o.addEventListener("queue_drained",()=>{if(l())return;let p=[...Ca().activeJobIds];if(p.length===0){ct(c=>({...c,status:c.status==="error"?"error":"idle",incrementalResolutions:[]}));return}Tu(e,p,t).then(()=>{l()||ct(c=>({...c,status:c.activeJobIds.length>0?c.status:c.status==="error"?"error":"idle",incrementalResolutions:c.activeJobIds.length>0?c.incrementalResolutions:[]}))}).catch(u)}),o.addEventListener("error",p=>{if(!l()){if(o.readyState===EventSource.CLOSED)u();else if(p instanceof MessageEvent){let c=JSON.parse(p.data),h=c.jobId??null;if(Dn(h??void 0,c))return;h&&delete Lo[h];let m=c.message??"";ct(g=>{let x=h?g.activeJobIds.filter(P=>P!==h):g.activeJobIds,S=x.length>0?g.status:"error";return{...g,status:S,activeJobIds:x,lastCompletedJobId:h??g.activeJobId,lastErrorByJob:h&&m?{...g.lastErrorByJob,[h]:m}:g.lastErrorByJob,events:[...g.events,{type:"error",data:c,timestamp:Date.now()}]}})}}}),o.onerror=()=>{l()||o.readyState===EventSource.CLOSED&&ct(p=>({...p,isConnected:!1,status:"disconnected"}))}}function qg(e="http://localhost:1111",t=!0,n){let r=Sg(Wg,Ca,Ca);_(()=>{if(Cu(n),!t)return;let a=!1;return Au(e,n).then(l=>{!l||a||ka(l).then(s=>{!a&&s&&(!n||s.projectId===n)&&Ys(l)})}),()=>{a=!0}},[e,t,n]);let o=q(()=>{ct(()=>({...Ca(),events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),i=q(a=>{ct(l=>({...l,pendingQuestions:l.pendingQuestions.filter(s=>s.threadId!==a)}))},[]);return{...r,clearEvents:o,dismissQuestion:i}}function Mu(e,t,n,r,o){let i=`devtools-model-id:${r}`,[a,l]=$(()=>typeof window>"u"?"":localStorage.getItem(i)??""),s=o?.(a)??!1,d=s?-1:e.findIndex(c=>c.id===a),u=d>=0?d:0,p=q(c=>{l(c),localStorage.setItem(i,c)},[i]);return _(()=>{n&&a&&(s||t&&d<0&&e.some(c=>c.id))&&p("")},[n,t,a,d,e,p,s]),{index:u,select:p}}function Jg(e,t,n){let r=e.flatMap(({requestedAt:a,resolvedAt:l})=>Number.isFinite(a)&&Number.isFinite(l)?[[Math.max(t,a),Math.min(n,l)]]:[]).sort((a,l)=>a[0]-l[0]),o=t,i=0;for(let[a,l]of r)i+=Math.max(0,l-Math.max(o,a)),o=Math.max(o,l);return i}function Ru(e){let t=new Map,n=new Set;for(let r of e)if(r.type==="approval"){let o=r.data.approval;t.set(o.id,o)}else(r.type==="done"||r.type==="error")&&n.add(String(r.data.jobId));return new Set([...t.values()].filter(r=>r.status==="pending"&&!n.has(r.jobId)).map(r=>r.jobId))}function $u(e){let t=new MutationObserver(n=>{let r=n.filter(o=>document.body.contains(o.target)||o.target===document.documentElement&&[...o.addedNodes,...o.removedNodes].some(i=>i instanceof Element&&i.tagName==="BODY"));r.length&&e(r)});return t.observe(document.documentElement,{childList:!0,subtree:!0}),t}function Ug(e,t,n,r=8*1024*1024){let o=d=>JSON.stringify({id:e,clientId:t,result:d}),i=d=>new TextEncoder().encode(d).length<=r,a=o(n);if(i(a))return a;let l=Array.isArray(n.images)?n.images:[],s=[l.filter(d=>d.kind==="annotated-viewport"),l.filter(d=>d.kind!=="annotated-viewport"),[]];for(let d of s){let u=o({...n,images:d,visualEvidence:{status:"partial",reason:"response_size_limit",omitted:l.filter(p=>!d.includes(p)).map(p=>p.kind)}});if(i(u))return u}return o({status:"context_too_large",targetKey:n.targetKey,images:[],warning:"Context exceeds the response limit even without images."})}function Yg(e,t,n){let r=B(n);r.current=n;let[o,i]=$([]),a=c=>i(c?[c]:[]),l=B(null),s=B(null),d=B(null),u=q(()=>d.current?.(),[]),p=q(c=>{l.current=c,s.current?.(c)},[]);return _(()=>{if(!e)return;let c={clientId:crypto.randomUUID(),sequence:0,page:location.origin+location.pathname,title:document.title,active:!0,windowFocused:document.hasFocus(),lastInteractionAt:0,blurredAt:0,hover:null,pinned:null,history:[]},h=null,m=new WeakMap,g=new Map,x,S=!1,P=!1,R,I,z=0,G=()=>{let F=location.origin+location.pathname;c.page!==F&&(c.page=F,c.title=document.title,c.hover=null,c.pinned=null,c.history=[],c.recent=null,c.selected=null,g.clear(),h=null,c.lastInteractionAt=0),c.sequence++,R=JSON.stringify(c),!P&&(P=!0,(async()=>{for(;R;){let M=R;R=void 0;try{await Yt(`${t}/focus`,{method:"POST",headers:{"Content-Type":"application/json"},body:M,signal:AbortSignal.timeout(3e3)})}catch{}}P=!1})())},E=(F,M)=>{m.has(F)||m.set(F,crypto.randomUUID());let j=yn(F),L=vn(F),T=getComputedStyle(F),Z={...M?{subject:M}:{},key:m.get(F),capturedAt:Date.now(),selector:j.selector,tagName:j.tagName,text:j.textContent?.slice(0,200),component:j.reactComponent,source:j.reactSource,rect:{x:L.x,y:L.y,width:L.width,height:L.height},styles:Object.fromEntries(["color","background-color","font-size","font-family","display","padding","border-radius"].map(re=>[re,T.getPropertyValue(re)]))};if(g.set(Z.key,{element:F,target:Z}),g.size>32){let re=[...g.keys()].find(ee=>ee!==c.pinned?.key);re&&g.delete(re)}return Z},K=F=>{let M=F?.element??null,j=F?.selection==="selected",L=c.selected??c.hover;M===h&&!!c.selected===j&&L?.subject?.key===F?.subject?.key||(h=M,clearTimeout(x),x=setTimeout(()=>{if(S)return;let T=M?.isConnected&&!Ea(M,"input, textarea, select, [contenteditable], [data-popmelt-private], [data-popmelt-canvas-block], [data-devtools]")?E(M,F?.subject):null;c.selected=j?T:null,c.hover=j?null:T,j&&(c.recent=null),c.hover&&(c.history=[...c.history,c.hover].slice(-8)),c.windowFocused&&(c.recent=null),G()},M&&!j?120:0))};s.current=K,d.current=()=>{S||document.visibilityState!=="visible"||(c.lastInteractionAt=Date.now(),c.windowFocused=document.hasFocus(),!I&&(I=setTimeout(()=>{I=void 0,z=Date.now(),G()},Math.max(0,250-(Date.now()-z)))))},K(l.current);let N=()=>{c.windowFocused=document.hasFocus(),c.blurredAt=c.windowFocused?0:Date.now(),c.recent=c.windowFocused?null:c.hover,G()},Y=()=>{c.active=document.visibilityState==="visible",c.active?K(l.current):(clearTimeout(x),c.hover=null,c.history=[],c.recent=null,c.selected=null,g.clear(),h=null,c.lastInteractionAt=0),G()};document.addEventListener("visibilitychange",Y),window.addEventListener("focus",N),window.addEventListener("blur",N);let J=setInterval(G,1e4),le=!1,w,Q=new Set,D=setInterval(async()=>{if(!(S||le||document.visibilityState!=="visible")){le=!0;try{let F=await Yt(`${t}/focus/requests?clientId=${c.clientId}`,{signal:AbortSignal.timeout(3e3)});if(!F.ok)return;let M=await F.json();for(let j of M){if(Q.has(j.id)||S||j.expiresAt<Date.now())continue;Q.add(j.id),Q.size>64&&Q.delete(Q.values().next().value);let L=g.get(j.targetKey),T={status:"target_unavailable"};if(j.tasteProposal){let{tasteProposalSession:Z}=await import("./taste-proposal-session-XU4N7RUV.mjs");if(S||j.expiresAt<Date.now())continue;let re=document.activeElement;for(;re?.shadowRoot?.activeElement;)re=re.shadowRoot.activeElement;T=re?.matches("input, textarea, select, [contenteditable]")&&Ea(re,"[data-taste-editor]")&&j.tasteProposal.action!=="inspect"?{status:"busy",reason:"The human is editing a proposal field. Retry after editing ends."}:Z.command(j.tasteProposal)}else if(j.workspace){let{collectWorkspaceSnapshot:Z,workspaceAttentionTarget:re}=await import("./workspace-snapshot-EJQHHDQ4.mjs");if(S||j.expiresAt<Date.now())continue;T=Z(r.current.state,j.workspace);let ee=j.workspace.entryId?[j.workspace.entryId]:"entries"in T?T.entries.map(U=>U.id):[],oe=[...new Set(ee.map(U=>re(r.current.state,U,r.current.registry)).filter(U=>!!U))];i(oe);for(let U of oe)U instanceof HTMLElement&&U.hasAttribute("data-popmelt-thread-header")&&gg(U,U);if(oe.length&&(clearTimeout(w),w=setTimeout(()=>a(null),Math.max(0,j.expiresAt-Date.now())),await new Promise(U=>requestAnimationFrame(()=>setTimeout(U,0))),S))break;T.attention=j.workspace.entryId?oe.length?"shown":re(r.current.state,j.workspace.entryId,r.current.registry,!0)?"target_offscreen":"target_missing_hidden_or_ambiguous":{shown:oe.length,requested:ee.length}}else if(L?.element.isConnected&&c.page===location.origin+location.pathname&&!Ea(L.element,"[data-popmelt-private], input, textarea, select, [contenteditable]"))try{let Z=j.attentionOnly?null:(await import("./focus-inspection-2FPCQIN2.mjs")).inspectFocusElement;if(S||j.expiresAt<Date.now()||!L.element.isConnected||c.page!==location.origin+location.pathname)continue;if(a(L.element),clearTimeout(w),w=setTimeout(()=>a(null),Math.max(0,j.expiresAt-Date.now())),await new Promise(re=>requestAnimationFrame(()=>setTimeout(re,0))),S)break;T=Z?await Z(L.element,L.target,j.screenshot,r.current):{status:"ok",attention:"shown"}}catch{T={status:"capture_failed"}}if(S||document.visibilityState!=="visible")break;(await Yt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:Ug(j.id,c.clientId,T),signal:AbortSignal.timeout(3e3)})).ok||await Yt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:j.id,clientId:c.clientId,result:{status:"response_rejected"}}),signal:AbortSignal.timeout(3e3)}),clearTimeout(w),a(null)}}catch{}finally{clearTimeout(w),S||a(null),le=!1}}},1e3);return Y(),()=>{S=!0,clearTimeout(x),clearTimeout(I),clearInterval(J),clearInterval(D),clearTimeout(w),a(null),document.removeEventListener("visibilitychange",Y),window.removeEventListener("focus",N),window.removeEventListener("blur",N),s.current=null,d.current=null,g.clear(),c.hover=null,c.selected=null,c.history=[],c.active=!1,G()}},[e,t]),{onCanvasFocusChange:p,onCanvasActivity:u,inspectingElement:e?o[0]??null:null,inspectingElements:e?o:[]}}function Kg(e,t,n,r){let[o,i]=$(null),[a,l]=$(null),s=B(0),d=B(Promise.resolve(!0)),u=q(()=>{s.current=Date.now()},[]),p=q(h=>{s.current=Date.now(),i(h)},[]),c=q(h=>l(m=>JSON.stringify(m)===JSON.stringify(h)?m:h),[]);return _(()=>{if(!e||!r)return;let h=o?.element;if(h&&Ea(h,"[data-private], [data-sensitive]"))return;let m=a?.targets??(h?[{selector:o?.subject?iu(o.subject):Ro(h),...o?.subject?{subject:o.subject}:{}}]:[]);if(!m.length)return;let g={pathname:window.location.pathname,ownerId:t,color:n,targets:m,activity:"looking",...a?{threadId:a.threadId}:{}},x=!1,S=null,P=!1,R=(N,Y,J)=>{let le=d.current.then(()=>N!=="finish"&&(x||S!==Y)?!1:e(N,Y,J));return d.current=le.catch(()=>!1),le},I=()=>{let N=S;S=null,N&&R("finish",N).catch(()=>{})},z=async()=>{if(x||P)return;if(!(document.visibilityState!=="hidden"&&document.hasFocus()&&g.pathname===window.location.pathname&&(a||h?.isConnected&&(o?.selection==="selected"||Date.now()-s.current<5e3)))){I();return}P=!0;let N=S?"renew":"start",Y=S??crypto.randomUUID();S=Y;try{!await R(N,Y,g)&&S===Y&&(S=null),x&&I()}catch{S===Y&&(S=null)}finally{P=!1}},G=setTimeout(z,120),E=setInterval(z,1e3),K=()=>I();return window.addEventListener("blur",K),window.addEventListener("focus",z),document.addEventListener("visibilitychange",z),()=>{x=!0,clearTimeout(G),clearInterval(E),I(),window.removeEventListener("blur",K),window.removeEventListener("focus",z),document.removeEventListener("visibilitychange",z)}},[e,r,t,n,o,a]),{onFocus:p,onActivity:u,onThread:c}}var bl="data-popmelt-preview-target",Lu="script,iframe,object,embed,link,meta,base,style,template";function Xg({root:e,targets:t,revision:n,width:r,height:o,cleanClone:i}){let a=e.cloneNode(!0),l=[e,...e.querySelectorAll("*")],s=[a,...a.querySelectorAll("*")],d=new Set,u=new Map;for(let[c,h]of t){if(!c||!l.includes(h))throw new Error("Target is outside the preview root");if(u.has(h))throw new Error("Target has multiple identities");u.set(h,c)}l.forEach((c,h)=>{let m=s[h];(c.shadowRoot||c.matches("canvas,video"))&&d.add("Shadow DOM, canvas and video state are not mirrored");for(let x of[...m.attributes])(/^on/i.test(x.name)||["src","srcset","href","xlink:href","action","formaction","autofocus","contenteditable",bl].includes(x.name))&&m.removeAttribute(x.name);c instanceof HTMLInputElement&&(c.type==="password"||c.type==="file"?m.removeAttribute("value"):m.setAttribute("value",c.value),m.toggleAttribute("checked",c.checked)),c instanceof HTMLTextAreaElement&&(m.textContent=c.value),c instanceof HTMLOptionElement&&m.toggleAttribute("selected",c.selected);let g=u.get(c);g&&m.setAttribute(bl,g),i?.(c,m)});for(let c of a.querySelectorAll(Lu))c.remove();for(let c of a.querySelectorAll("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"))c.remove();if(a.matches(Lu))throw new Error("Unsupported preview root");let p="";for(let c of e.ownerDocument.styleSheets)if(!(c.ownerNode instanceof Element&&c.ownerNode.closest("[data-devtools], [data-popmelt-top-layer-host]")))try{p+=[...c.cssRules].map(h=>h.cssText).join(`
|
|
3
|
-
`)+`
|
|
4
|
-
`}catch{d.add("An inaccessible stylesheet was omitted")}return d.add("Static snapshot: no scripts, external assets, event handlers or application runtime"),{revision:n,html:e.tagName==="BODY"?a.innerHTML:a.outerHTML,...e.tagName==="BODY"?{bodyAttributes:Object.fromEntries([...a.attributes].map(c=>[c.name,c.value]))}:{},css:p,width:r,height:o,warnings:[...d]}}function ju(e,t){let n=[...e.querySelectorAll(`[${bl}]`)].filter(r=>r.getAttribute(bl)===t);return n.length===1?n[0]:null}var Vg=class{constructor(e){this.generation=0,this.cancelPending=null,this.current=null,this.disposed=!1,this.frame=e.ownerDocument.createElement("iframe"),this.frame.setAttribute("sandbox","allow-same-origin"),this.frame.title="Peer plane preview",this.frame.style.cssText="border:0;display:block;pointer-events:none;",this.frame.tabIndex=-1,e.append(this.frame)}async render(e,t,n){if(this.disposed)throw new Error("Preview surface was disposed");this.cancelPending?.();let r=++this.generation;this.current=null,this.frame.width=String(e.width),this.frame.height=String(e.height);let o=this.frame.ownerDocument.implementation.createHTMLDocument("Peer preview"),i=o.createElement("meta");i.httpEquiv="Content-Security-Policy",i.content="default-src 'none'; style-src 'unsafe-inline'; form-action 'none'; base-uri 'none'; script-src 'none'",o.head.prepend(i);let a=o.createElement("style");a.textContent=e.css.replace(/<\/style/gi,"<\\/style"),o.head.append(a),o.body.innerHTML=e.html;for(let[s,d]of Object.entries(e.bodyAttributes??{}))o.body.setAttribute(s,d);let l=o.createElement("style");return l.textContent="*,*::before,*::after{animation:none!important;transition:none!important;caret-color:transparent!important}",o.head.append(l),o.documentElement.dataset.previewGeneration=String(r),new Promise(s=>{let d=h=>{clearTimeout(c),this.frame.removeEventListener("load",p),this.cancelPending===u&&(this.cancelPending=null),s(h)},u=()=>d(!1),p=()=>{if(r!==this.generation||this.frame.contentDocument?.documentElement.dataset.previewGeneration!==String(r))return;let h=this.frame.contentDocument;n?.(h);for(let m of t.artifacts)m.kind==="style"&&ju(h,m.targetKey)?.style.setProperty(m.property,m.value,"important");this.current={baseline:e,plane:{...t}},d(!0)},c=setTimeout(u,5e3);this.cancelPending=u,this.frame.addEventListener("load",p),queueMicrotask(()=>{!this.disposed&&r===this.generation&&(this.frame.srcdoc="<!doctype html>"+o.documentElement.outerHTML)})})}inspect(e,t){let n=this.current,r=this.frame.contentDocument;if(!n||!r)return null;let o=ju(r,e);if(!o)return null;let i=this.frame.contentWindow.getComputedStyle(o),a=o.getBoundingClientRect();return{planeId:n.plane.id,planeRevision:n.plane.revision,sourceRevision:n.baseline.revision,targetKey:e,styles:Object.fromEntries(t.map(l=>[l,i.getPropertyValue(l)])),rect:{x:a.x,y:a.y,width:a.width,height:a.height}}}dispose(){this.disposed=!0,++this.generation,this.cancelPending?.(),this.current=null,this.frame.remove()}};function Gg(e,t){return{id:e,ownerId:t,revision:0,artifacts:[],undo:[],redo:[],attention:null}}function Ks(e){return il(e).flatMap(t=>t==="color"?[..._c]:[t])}function Qg(e,t){if(e===void 0)return{families:Wi.map(n=>({family:n,label:ks(n)}))};if(!Wi.includes(e))throw new Error("Unknown omnidial family");if(!t)return{family:e,subproperties:Ks(e)};if(!Ks(e).includes(t))throw new Error("Unknown omnidial subproperty");return{family:e,subproperty:t,...e==="transform"&&t==="translate"?{composedToken:"translate-x-<xStep>-y-<yStep>",axisSteps:ui(e,t)}:{},tokens:ui(e,t).map(n=>({token:ol(e,n,t),value:Fi(e,n,t)}))}}function Zg(e,t){if(t!==void 0&&!Wi.includes(t))throw new Error("Unknown omnidial family");let n=/^translate-x-(-?\d+)-y-(-?\d+)$/.exec(e);if(n&&(!t||t==="transform")){let o=ui("transform","translate"),i=o.find(l=>String(l)===n[1]),a=o.find(l=>String(l)===n[2]);if(i!==void 0&&a!==void 0)return{family:"transform",subproperty:"translate",step:i,axisSteps:{x:i,y:a}}}let r=[];for(let o of t?[t]:Wi)for(let i of Ks(o))for(let a of ui(o,i))ol(o,a,i)===e&&r.push({family:o,subproperty:i,step:a});if(r.length>1)throw new Error("Ambiguous omnidial token; include its family (for example stack or grid)");if(!r.length)throw new Error("Unknown omnidial token; discover available tokens or use an explicit custom property/value");return r[0]}function Pu(e,t,n,r){let o=e.ownerDocument.defaultView.getComputedStyle(e),i=Ec(t,r),a=Fi(t,n,r),l=Cc(t),s=Ac(t,r,n),d=t==="border"&&!ci(t,r)&&typeof n=="number"&&n>0?Mc(r):null,u={family:t,subproperty:Nc(t,r),step:n},p=[{property:i,original:o.getPropertyValue(i).trim()||"0px",modified:a,token:ol(t,n,r),sticker:u}];l&&p.unshift({property:"display",original:o.getPropertyValue("display").trim()||"block",modified:l,token:l,sticker:u});for(let c of s)p.push({property:c.property,original:o.getPropertyValue(c.property).trim(),modified:c.value,token:c.token,sticker:u});if(d){let c=o.getPropertyValue(d).trim();(!c||c==="none")&&p.push({property:d,original:c||"none",modified:"solid",token:ol(t,n,r),sticker:u})}return{alreadyApplied:Tc(t,n,r,c=>o.getPropertyValue(c)),changes:p}}function zu(e,t,n){let r=e.ownerDocument.defaultView.getComputedStyle(e),o="translate",i=`${Number(t)*4}px ${Number(n)*4}px`,a={family:"transform",subproperty:"translate",step:t,axisSteps:{x:t,y:n}};return{alreadyApplied:r.getPropertyValue(o).trim()===i,changes:[{property:o,original:r.getPropertyValue(o).trim()||"none",modified:i,token:`translate-x-${t}-y-${n}`,sticker:a}]}}function ey(e,t){for(let n of t.changes)ot(e,n.property,n.modified)}var ty=new Set(["text","transform","opacity"]),ny=new Set(["padding","margin","border","radius","color"]);function ry(e){return e instanceof SVGSVGElement&&!(e.parentElement instanceof SVGElement)}function oy(e){return e!=="text-align"}function xl(e,t,n){return Lr(e)?e instanceof HTMLElement?!0:t==="text"&&!oy(n)?!1:ty.has(t)||ry(e)&&ny.has(t):!1}function Aa(e){return[...new Set([...e?.annotations.flatMap(t=>t.linkedSelector?[t.linkedSelector]:[])??[],...e?.styleModifications.map(t=>t.selector)??[],...e?.textModifications.map(t=>t.selector)??[]])]}function iy(e,t){return Object.keys(t).filter(n=>e[n]!==void 0&&e[n]!==t[n])}function Du(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(t).every(n=>e[n]===t[n])}function Xs(e,t,n,r){let o={...e};for(let i of r){if(n[i]===void 0){delete o[i];continue}o[i]=t[i]??e[i]??n[i]}return o}function ay(e){let t=e.ownerDocument.defaultView.getComputedStyle(e),n=Array.from(t).filter(i=>!i.startsWith("--")).map(i=>`${i}:${t.getPropertyValue(i)}`).join(";"),r=e.outerHTML+n,o=2166136261;for(let i=0;i<r.length;i++)o=Math.imul(o^r.charCodeAt(i),16777619);return`target-v2:${(o>>>0).toString(16)}`}var cr=()=>location.origin+location.pathname;function wl(e){let t=document.querySelectorAll(e),n=t[0];if(t.length!==1||!(n instanceof HTMLElement||n instanceof SVGElement)||n.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-canvas-block]"))throw new Error("Target must resolve to exactly one app element");if(n.matches("input,textarea,select,[contenteditable],script,style")||n.closest("[data-private], [data-sensitive]"))throw new Error("Private/editable controls are outside the peer preview");return n}var Hu=class{constructor(){this.sources={},this.changed=[],this.container=document.createElement("div"),this.container.dataset.popmeltPeerSurface="",this.container.setAttribute("aria-hidden","true"),this.container.style.cssText="position:fixed;left:-100000px;top:0;pointer-events:none;",document.body.append(this.container),this.surface=new Vg(this.container)}async render(e,t,n,r=!1){if(t.domModifications.length||t.spacingTokenChanges.length)throw new Error("Independent previews do not yet support staged structure or spacing-token edits; your draft is preserved");let o=e.state??cl,i=new Set([...n?[n]:[],...Aa(o)]),a=new Map;for(let u of i)a.set(u,wl(u));let l=new Map;for(let u of t.textModifications){let p=document.querySelector(u.selector);p&&l.set(p,[...l.get(p)??[],u])}let s=Xg({root:document.body,targets:a,revision:cr(),width:innerWidth,height:innerHeight,cleanClone:(u,p)=>{if(!r){Bm(u,p);for(let c of l.get(u)??[]){let h=p;for(let m of c.textNodePath)h=h?.childNodes[m];h?.nodeType===Node.TEXT_NODE&&(h.nodeValue=c.original)}}}}),d=Gg(e.identity.id,e.identity.id);if(d.revision=e.revision,r||(d.artifacts=o.styleModifications.flatMap(u=>u.changes.map(p=>({kind:"style",id:u.selector+p.property,targetKey:u.selector,property:p.property,value:p.modified})))),!await this.surface.render(s,d,u=>{this.sources=Object.fromEntries([...i].map(p=>[p,ay(u.querySelector(`[data-popmelt-preview-target="${CSS.escape(p)}"]`))])),this.changed=iy(e.basis??{},this.sources)}))throw new Error("Preview superseded or unavailable");return this.surface.frame.contentWindow?.scrollTo(scrollX,scrollY),s.warnings}async execute(e,t){let{action:n}=e,r=structuredClone(e.peer);if(n.type==="prepare-send"){if(!Aa(r.state).length)throw new Error("There are no peer changes to send");if(await this.render(r,t),!e.observedSources||Object.keys(this.sources).some(s=>e.observedSources[s]!==this.sources[s]))throw new Error("Source changed since the last preview. Take another look, then send again.");return this.changed.length&&r.revision++,r.basis={...this.sources},delete r.pendingRevision,{peer:r,sources:this.sources}}if(n.type==="check-source"){let s={...r,state:{...structuredClone(cl),annotations:Object.keys(n.sources).map((d,u)=>({id:`source-${u}`,type:"text",text:"",points:[],strokeWidth:1,color:r.color,timestamp:0,linkedSelector:d}))}};if(await this.render(s,t),!Du(n.sources,this.sources))throw new Error("Source changed since Send. Preview the current source and send again.");return{peer:r,evidence:{status:"source-current"}}}if(n.type==="tokens")return{peer:r,evidence:Qg(n.family,n.subproperty)};let o=r.state??{...structuredClone(cl),isAnnotating:!0,activeColor:r.color},i=o,a,l=s=>{i=Rm(i,s)};if(n.type==="send")throw new Error("Send requires the implementation bridge");if(n.type==="rebase")await this.render(r,t),r.basis={...this.sources},r.revision++,delete r.pendingRevision,a={status:"rebased",note:"Draft preserved against current source; Send requires a new approval if in Suggest."};else if(n.type==="undo"||n.type==="redo"){l({type:n.type==="undo"?"UNDO":"REDO"}),await this.render({...r,state:i},t);let s=[...new Set([...Aa(o),...Aa(i)])].filter(d=>{let u=p=>JSON.stringify([p.annotations.filter(c=>c.linkedSelector===d),p.styleModifications.filter(c=>c.selector===d)]);return u(o)!==u(i)});r.basis=Xs(r.basis??{},e.observedSources??{},this.sources,s)}else if(n.type==="attention"&&!n.selector)r.attention=null;else if(n.type==="clear"){let s=n.kind!=="style"&&o.annotations.some(u=>u.linkedSelector===n.selector),d=n.kind!=="comment"&&o.styleModifications.some(u=>u.selector===n.selector);if(!s&&!d)return{peer:r,evidence:{status:"nothing-to-clear"}};i={...o,annotations:n.kind==="style"?o.annotations:o.annotations.filter(u=>u.linkedSelector!==n.selector),styleModifications:n.kind==="comment"?o.styleModifications:o.styleModifications.filter(u=>u.selector!==n.selector),undoStack:[...o.undoStack,{annotations:o.annotations,styleModifications:o.styleModifications,textModifications:o.textModifications,domModifications:o.domModifications,spacingTokenChanges:o.spacingTokenChanges,spacingTokenMods:o.spacingTokenMods}],redoStack:[]},await this.render({...r,state:i},t),r.basis=Xs(r.basis??{},e.observedSources??{},this.sources,[n.selector])}else if("selector"in n&&n.selector){let s=wl(n.selector),d=yn(s),u=n.selector;if(n.type==="inspect"){let p=await this.render(r,t,u,n.plane==="host");a={...this.surface.inspect(u,n.properties??[]),element:d,warnings:p,view:n.plane??"own",url:cr(),changedSourceTargets:n.plane==="host"?void 0:this.changed}}else if(n.type==="style")if("token"in n){let p=Zg(n.token,n.family);if(!xl(s,p.family,p.subproperty))throw new Error("This omnidial token does not support the target");await this.render(r,t,u);let c=this.surface.frame.contentDocument?.querySelector(u);if(!c)throw new Error("Could not inspect original style");let h=p.axisSteps?zu(c,p.axisSteps.x,p.axisSteps.y):Pu(c,p.family,p.step,p.subproperty);h.alreadyApplied||l({type:"MODIFY_STYLES_BATCH",payload:{selector:u,element:{...d,selector:u},changes:h.changes}}),a={token:n.token,selection:p,alreadyApplied:h.alreadyApplied}}else{if(!CSS.supports(n.property,n.value))throw new Error("Unsupported CSS property/value");await this.render(r,t,u);let p=this.surface.inspect(u,[n.property])?.styles[n.property];if(p===void 0)throw new Error("Could not inspect original style");l({type:"MODIFY_STYLES_BATCH",payload:{selector:u,element:{...d,selector:u},changes:[{property:n.property,original:p,modified:n.value}]}})}else if(n.type==="comment"){await this.render(r,t,u);let p=s.getBoundingClientRect();l({type:"ADD_TEXT",payload:{id:`peer-note-${e.id}`,point:{x:p.x+scrollX,y:p.y+scrollY-26},text:n.text,linkedSelector:u,elements:[{...d,selector:u}]}})}r.attention=null,(n.type==="comment"||n.type==="style")&&(r.basis=Xs(r.basis??{},e.observedSources??{},this.sources,[u]))}if(i!==o){if(i.annotations.length+i.styleModifications.length>100)throw new Error("Peer draft is full; submit or undo before adding more");i={...i,undoStack:i.undoStack.slice(-50),redoStack:i.redoStack.slice(-50)},r.state=i,r.revision++,r.url=cr(),delete r.pendingRevision}return{peer:r,evidence:a,...["inspect","style","comment","clear","undo","redo","rebase"].includes(n.type)&&!(n.type==="inspect"&&n.plane==="host")?{sources:this.sources}:{}}}dispose(){this.surface.dispose(),this.container.remove()}};async function ly(e,t,n){let r=!0,o,i=new Set,a=async u=>{let p=new AbortController;i.add(p);let c=setTimeout(()=>p.abort(),1500);try{return await e(u,p.signal)}catch{return!1}finally{clearTimeout(c),i.delete(p)}},l=()=>{r=!1,clearTimeout(o);for(let u of i)u.abort()},s=()=>{l(),a("finish")},d=async()=>{if(!r)return;let u=await a("renew");r&&u&&(o=setTimeout(()=>{d()},1e3))};n.addEventListener("abort",s,{once:!0});try{if(n.aborted)throw new Error("Canvas disconnected before action");let u=await a("start");if(n.aborted)throw new Error("Canvas disconnected before action");return r&&u&&(o=setTimeout(()=>{d()},1e3)),await t()}finally{l(),n.removeEventListener("abort",s),await a("finish")}}function sy(e){let t=`popmelt-peer-seen:${e}`,[n,r]=$({key:"",revisions:{}});return _(()=>{let o={};try{let i=JSON.parse(localStorage.getItem(t)??"{}");i&&typeof i=="object"&&!Array.isArray(i)&&(o=Object.fromEntries(Object.entries(i).filter(([,a])=>Number.isSafeInteger(a)&&a>=0)))}catch{}r({key:t,revisions:o})},[t]),{markSeen:q((o,i)=>{r(a=>{if(a.key!==t||(a.revisions[o]??0)>=i)return a;let l={key:t,revisions:{...a.revisions,[o]:i}};try{localStorage.setItem(t,JSON.stringify(l.revisions))}catch{}return l})},[t]),isUnseen:(o,i)=>n.key===t&&i>(n.revisions[o]??0)}}function dy(e,t){let n,r=l=>(l instanceof Element?l:l.parentElement)?.closest("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"),o=()=>{n===void 0&&(n=setTimeout(()=>{n=void 0,t()},400))},i=new MutationObserver(l=>{document.hidden||!e.length||l.some(s=>{if(r(s.target)||s.type==="childList"&&[...s.addedNodes,...s.removedNodes].every(u=>r(u)))return!1;let d=s.target instanceof Element?s.target:s.target.parentElement;return d?.closest("style,head")?!0:e.some(u=>{let p=document.querySelector(u);return!p||p.contains(s.target)||d?.contains(p)})})&&o()});i.observe(document.documentElement,{subtree:!0,attributes:!0,childList:!0,characterData:!0}),window.addEventListener("resize",o);let a=()=>{document.hidden||o()};return document.addEventListener("visibilitychange",a),()=>{i.disconnect(),clearTimeout(n),window.removeEventListener("resize",o),document.removeEventListener("visibilitychange",a)}}function Ou(e){if(!e)return 0;let t=Kh(e.annotations);return hc({annotations:e.annotations.filter(n=>!n.captured&&!t.has(n)),styleModifications:e.styleModifications.filter(n=>!n.captured),textModifications:e.textModifications.filter(n=>!n.captured)}).count}function cy(e,t,n,r,o){let[i,a]=$([]),[l,s]=$([]),d=Th(l,e&&r.isAnnotating),u=Ch(e&&r.isAnnotating),{viewedId:p,isPeeking:c}=u,[h,m]=$(),[g,x]=$(),[S,P]=$([]),R=B(null),{markSeen:I,isUnseen:z}=sy(n),G=Se(()=>new Map(i.map(U=>[U.identity.id,Ou(U.state)])),[i]),{annotations:E,styleModifications:K,textModifications:N}=r,Y=Se(()=>Ou({annotations:E,styleModifications:K,textModifications:N}),[E,K,N]),[J,le]=$(null),w=B(null),Q=B({human:r,settings:o});Q.current={human:r,settings:o};let D=B({clientId:crypto.randomUUID()}),F=B(async()=>{throw new Error("Canvas is disconnected")}),M=e?i.find(U=>U.identity.id===p):void 0,j=i.find(U=>U.identity.id===u.selectedId)?.state,L=Se(()=>Ah(j),[j]);_(()=>{if(!e||!n)return;D.current.token||(D.current={clientId:crypto.randomUUID()});let U=!1,fe,me=-1,X=-1,Te=new AbortController,Ae="",Ee=!1,_e=new Hu,O=new Map,ze=ve=>{U||typeof ve.presenceVersion!="number"||ve.presenceVersion<=X||!Array.isArray(ve.presence)||(X=ve.presenceVersion,s(ve.presence))},Oe=async(ve,Ne={},ge=AbortSignal.any([Te.signal,AbortSignal.timeout(5e4)]))=>{let Je=D.current.token,st=await Yt(`${t}/peers/${ve}`,{method:"POST",headers:{"Content-Type":"application/json","X-Popmelt-Project-Id":n},body:JSON.stringify({...D.current,...Ne}),signal:ge}),Ge=await st.json();if(ve!=="host"&&Je!==D.current.token)throw new Error("Canvas session changed during request");if(!st.ok||Ge.error)throw new Error(Ge.error??`Peer request failed (${st.status})`);return Ge};F.current=Oe;async function Ve(ve){if(ve.url&&ve.url!==cr())throw new Error("Canvas navigated before the operation could run");if(ve.action.type!=="send"){let Qe=am(ve.action);return Qe?(wl(Qe.selector),ly(async(ft,zt)=>{let Kt=await Oe("activity",{id:ve.id,phase:ft},zt);return ze(Kt),Kt.accepted===!0},()=>_e.execute(ve,Q.current.human),Te.signal)):_e.execute(ve,Q.current.human)}if(!ve.grant)throw new Error("No host-approved Send grant");let Ne=structuredClone(ve.peer);if(Ne.url!==cr())throw new Error("Return to the proposal\u2019s page before sending");let ge=Ne.state;if(!ge||!ge.annotations.length&&!ge.styleModifications.length)throw new Error("There are no peer changes to send");await _e.render(Ne,Q.current.human);let Je={..._e.sources};if(!ve.observedSources||Object.keys(Je).some(Qe=>ve.observedSources[Qe]!==Je[Qe]))throw new Error("Source changed since the last preview. Take another look, then send again.");let st=_e.surface.frame.contentDocument;if(!st)throw new Error("Peer preview is unavailable");let[Ge]=await Oi(st.body,null,[],{viewportOnly:!0});if(!Ge)throw new Error("Could not capture the peer preview");if(await _e.render(Ne,Q.current.human),!Du(Je,_e.sources))throw new Error("Source changed while preparing Send. Take another look, then send again.");await Oe("source",{grant:ve.grant,sources:Je});let $e=lc(ge.annotations,ge.styleModifications,void 0,void 0,ge.textModifications),{provider:Be,model:Pt,agentSettings:ht}=Q.current.settings,pt=await fu(Ge,JSON.stringify($e),t,Ne.color,Be,Pt,void 0,void 0,ht,void 0,void 0,void 0,ve.grant);return Ne.state={...structuredClone(cl),isAnnotating:!0,activeColor:Ne.color},Ne.revision++,Ne.basis={},delete Ne.pendingRevision,Ne.lastJob={jobId:pt.jobId,threadId:pt.threadId},{peer:Ne,evidence:{status:"submitted",...pt}}}async function nt(){try{if(!D.current.token||Ae!==cr()){let Ne=await Oe("host",{url:cr()});if(U)return;D.current.token=String(Ne.token),Ae=cr()}let ve=await Oe("poll",{version:me,presenceVersion:X});if(U)return;ze(ve),ve.peers&&(a(ve.peers),Ee=ve.peers.length>0,me=Number(ve.version));for(let Ne of ve.requests){let ge=O.get(Ne.id);if(!ge){try{ge=await Ve(Ne)}catch(Je){ge={error:Je instanceof Error?Je.message:String(Je)}}O.set(Ne.id,ge),O.size>100&&O.delete(O.keys().next().value)}await Oe("response",{id:Ne.id,result:ge})}}catch(ve){!U&&ve instanceof Error&&ve.message.includes("Host capability")&&(D.current.token=void 0,me=-1,X=-1,U||s([]))}finally{U||(fe=setTimeout(()=>{nt()},document.hidden||!Ee?2e3:600))}}return nt(),()=>{U=!0,Te.abort(),clearTimeout(fe),_e.dispose(),a([]),s([]),F.current=async()=>{throw new Error("Canvas is disconnected")}}},[e,t,n]),_(()=>{if(x(void 0),P([]),R.current=null,!M||!r.isAnnotating||!w.current){le(null);return}let U=new Hu;w.current.append(U.container),le(null),U.container.removeAttribute("aria-hidden"),U.container.style.cssText="position:absolute;inset:0;pointer-events:none;";let fe=!1;M.url&&M.url!==cr()&&x("This draft belongs to another page. Return to it to preview.");let me=!1,X=!1,Te=()=>{if(!fe){if(me){X=!0;return}me=!0,U.render(M,Q.current.human).then(()=>{fe||(x(void 0),P(U.changed),R.current={id:M.identity.id,revision:M.revision,values:{...U.sources}},le(U.surface.frame),I(M.identity.id,M.revision))}).catch(O=>{fe||(R.current=null,le(null),x(O.message))}).finally(()=>{me=!1,X&&(X=!1,Te())})}},Ae=!M.url||M.url===cr();Ae&&Te();let Ee=Ae?dy(Aa(M.state),Te):()=>{},_e=()=>U.surface.frame.contentWindow?.scrollTo(scrollX,scrollY);return window.addEventListener("scroll",_e,{passive:!0}),()=>{fe=!0,Ee(),window.removeEventListener("scroll",_e),U.dispose()}},[M,r.isAnnotating,I]);let T=async U=>{try{return await U(),m(void 0),!0}catch(fe){return m(fe instanceof Error?fe.message:String(fe)),!1}},Z=e&&i.length?{peers:[{identity:{id:"host",name:"You",kind:"human",relationship:"host"},permission:"direct",color:r.activeColor,stagedCount:Y},...i.map(U=>({...U,stagedCount:G.get(U.identity.id)??0,unseenActivity:z(U.identity.id,U.revision)}))],viewedPeerId:p,selectedPeerId:u.selectedId,onPeek:u.peek,onPeekEnd:u.leave,onPreview:U=>{u.select(U),m(void 0)},onPermissionChange:(U,fe)=>T(()=>F.current("permission",{peerId:U,permission:fe}))}:null,re=M?.pendingRevision!==void 0?()=>T(()=>{let U=R.current;if(!U||U.id!==p||U.revision!==M.revision)throw new Error("Wait for this draft\u2019s preview before sending.");return F.current("approve",{peerId:p,revision:M.pendingRevision,sources:U.values})}):void 0,ee=!!(M&&r.isAnnotating),oe=e&&(h??(ee?g:void 0));return _(()=>{if(!ee)return;let U=fe=>{fe.composedPath().some(me=>me instanceof Element&&me.hasAttribute("data-devtools"))||(fe.metaKey||fe.ctrlKey)&&fe.key==="Enter"||(fe.key.length===1||["Backspace","Delete","Enter"].includes(fe.key))&&(fe.preventDefault(),fe.stopPropagation())};return window.addEventListener("keydown",U,!0),()=>window.removeEventListener("keydown",U,!0)},[ee]),{toolbar:Z,selectedId:u.selectedId,threadAnnotationNumbers:L,activePreview:ee,isPeeking:c,viewed:M,approve:re,overlay:A(it,{children:[ee&&f("div",{ref:w,"data-devtools":"peer-preview","data-peer-revision":M?.revision,"data-pending-revision":M?.pendingRevision,"data-popmelt-peer-surface":!0,style:{position:"fixed",inset:0,zIndex:1e4,background:"#111",pointerEvents:"auto"}}),d.map(({presence:U,engaged:fe})=>{if(c)return null;let me=i.find(Te=>Te.identity.id===U.peerId);if(!me||U.clientId!==D.current.clientId||U.url!==cr()||ee&&me.identity.id!==p)return null;let X=null;try{X=ee?J?.contentDocument?.querySelector(U.selector)??null:wl(U.selector)}catch{}return f(Bc,{element:X,engaged:fe,label:`${me.identity.name} is looking at this element`},`${me.identity.id}:${U.operationId}`)}),!c&&ee&&M&&J?.contentDocument&&f(Mh,{peer:M,targetDocument:J.contentDocument,onApprove:re?()=>{re()}:void 0}),ee&&M&&p===u.selectedId&&f("div",{"data-devtools":"peer-plane-border","data-plane-owner":M.identity.id,"aria-hidden":"true",style:{position:"fixed",inset:0,border:`2px solid ${M.color}`,boxSizing:"border-box",pointerEvents:"none",zIndex:10002}}),ee&&M&&p===u.selectedId&&f(Rh,{name:M.identity.name,isOwnPlane:M.identity.id==="host",color:M.color,changed:S.length>0}),oe&&f("div",{"data-devtools":"peer-error",role:"status",style:{position:"fixed",bottom:100,right:24,maxWidth:360,padding:12,background:"#222",color:"#ddd",borderRadius:12,fontFamily:zs,fontSize:12,lineHeight:1.4,zIndex:10002},children:oe})]})}}function uy(e,t,n,r,o,i,a){let[l,s]=$(),d=B({navigation:e,selectedId:t});_(()=>{if(!e||!n||l?.navigation===e)return;let u=e.read(),p=o.current,c=!1;if(!u.threadId||u.selectedId!==t){s({navigation:e});return}return i(u.threadId).then(h=>{if(!c){if(p===o.current&&e.read()===u)if(h>=200&&h<300)a(u.threadId);else if(h===403||h===404||h===410)e.rememberThread(t,null);else{s({navigation:e,unresolvedRevision:p});return}s({navigation:e})}}).catch(()=>{c||s({navigation:e,unresolvedRevision:p})}),()=>{c=!0}},[e,t,n,l,o,i,a]),_(()=>{let u=d.current.navigation!==e||d.current.selectedId!==t;d.current={navigation:e,selectedId:t},!(!e||l?.navigation!==e||u)&&(l.unresolvedRevision===o.current&&!r||e.rememberThread(t,r))},[e,t,r,l,o])}var py=Fs(()=>import("./ParticipantRuntime-ITMSYN4F.mjs")),fy=Fs(()=>import("./PreviewRuntime-JAZLAGQE.mjs"));function hy({children:e,projectId:t,adapters:n,multiplayer:r=!1}){let[o,i]=$(!1);if(_(()=>{i(!0)},[]),!o)return null;let a=window.__POPMELT_PARTICIPANTS__;if(!r)return hu()?null:a?f("p",{role:"status","data-devtools":"participant-disabled",children:"Multiplayer is disabled. Enable the multiplayer option in your Popmelt integration to use this participant page."}):e;if(a)try{dg(a,t)}catch(l){return f("p",{role:"alert","data-devtools":"participant-error",children:l.message})}return hu()?a?f(Ws,{fallback:null,children:f(fy,{config:a,adapters:n})}):null:a?f(Ws,{fallback:null,children:f(py,{config:a,children:wg(e,{bridgeUrl:a.url,projectId:a.projectId})},a.projectId)}):e}function my(e,t,n,r){let o=B(e);o.current=e;let[i,a]=$([]),l=B(null),[s,d]=$(null),[u,p]=$(null),c=i.filter(x=>x.scope===e),h=x=>a(S=>S.filter(P=>P.id!==x)),m=(x,S)=>{let P=Symbol(x);p(null);let R=t(x).then(()=>!0,()=>(o.current===e&&(S(),p({scope:e,message:"Could not dismiss thread. Please try again."})),h(P),!1));a(I=>[...I.filter(z=>z.scope===e),{id:P,threadId:x,rollback:S,saved:R,scope:e,undoHead:r}])},g=async()=>{let x=c.at(-1);if(!(!x||l.current===e)){l.current=e,d(e),p(null);try{if(!await x.saved||o.current!==e||(await n(x.threadId),o.current!==e))return;x.rollback(),h(x.id)}catch{o.current===e&&p({scope:e,message:"Could not restore thread. Try Undo again."})}finally{l.current===e&&(l.current=null,d(null))}}};return{dismiss:m,undo:g,tryUndo:()=>{let x=c.at(-1);return!x||x.undoHead!==r?!1:(g(),!0)},busy:s===e,count:c.length,error:u?.scope===e?u.message:null}}function gy({enabled:e,active:t,configuration:n=!0,adapters:r}){let[o,i]=$(!1),[a,l]=$(null),s=Se(()=>cg(),[]),{recognition:d,selector:u,root:p,observe:c,store:h,imageHasher:m,onError:g}=typeof n=="object"?n:{},x=r.some(I=>I.surfaceKind==="image"||I.id==="see:image"),S=e&&n!==!1&&!x,P=t||o,R=P?d:void 0;return _(()=>{e?t&&i(!0):i(!1)},[e,t]),_(()=>{if(!S)return;let I=ug({recognition:R?{cacheKey:R.cacheKey,configurationKey:R.configurationKey,detect:z=>R.detect(z),reconcile:(...z)=>R.reconcile(...z)}:void 0,hydrateOnly:!P,selector:u,root:p,observe:c,store:h??s,imageHasher:m,onError:g});return l(I),()=>{l(null),I.destroy()}},[S,R,P,u,p,c,h,s,m,g]),Se(()=>S&&a?[a,...r]:r,[S,a,r])}function yy({enabled:e,configuration:t=!0,adapters:n}){let[r,o]=$(null),i=Se(()=>pg(),[]),{segmentation:a,tracking:l,selector:s,root:d,observe:u,store:p,onError:c}=typeof t=="object"?t:{},h=n.some(g=>g.surfaceKind==="video"||g.id==="see:video"),m=e&&t!==!1&&!h;return _(()=>{if(!m)return;let g=fg({tracking:l,segmentation:a,selector:s,root:d,observe:u,store:p??i,onError:c});return o(g),()=>{o(null),g.destroy()}},[m,l,a,s,d,u,p,i,c]),Se(()=>m&&r?[r,...n]:n,[m,r,n])}function Nu(e,t){return JSON.stringify([e,t.adapter,t.key])}async function _u(e,t,n,r){for(let o of t){if(!o.target)continue;let i=Nu(n,o.target);if(!r.has(i))try{r.set(i,await e.captureFeedback(o.target))}catch{r.set(i,null)}}}function vy(e,t,n){let r=new Map;for(let o of e.annotations){let i=t.find(l=>l.id===o.id),a=(i?.groupId?t.filter(l=>l.groupId===i.groupId):t.filter(l=>l.id===o.id)).flatMap(l=>n.get(l.id)??[]);a.length&&r.set(o.id,a)}return r}function by(e,t,n,r){for(let o of e.annotations){if(!o.target)continue;let i=n.get(Nu(o.pathname||r,o.target));if(!i){o.subjectFeedback={warning:"Live object unavailable; the following object context is the draft-time snapshot, not a refreshed detection. No object crop is attached."};continue}if(o.elements=[i.elementInfo],o.subjectFeedback=i.warning?{warning:i.warning}:void 0,i.crop){let a=t.get(o.id)??[];o.subjectFeedback={...o.subjectFeedback,cropImageIndex:a.length},t.set(o.id,[...a,i.crop])}}}function xy(e){let t=e?.requestItems?.flatMap(r=>r.kind==="annotation"&&r.text.trim()?[r.text.trim()]:[]);if(t?.length)return t.join("; ");let n=e?.requestItems?.flatMap(r=>r.kind==="changes"?[`${r.elementLabel} [${r.changes.join(", ")}]`]:[]);return n?.length?n.join("; "):e?.requestText?.trim()||void 0}function wy(e,t){if(!e?.frames?.length)return[];let n=new Map;for(let r of e.steps){let o=r.visuals?.afterFrameId;o&&!n.has(o)&&n.set(o,r.action?.label?`After ${r.action.label}`:"Resulting state")}return e.frames.flatMap((r,o)=>{let i=t[r.imageIndex];return i?[{id:r.id,imageIndex:r.imageIndex,label:o===0?"Initial state":n.get(r.id)??"State",url:i}]:[]})}function Fu(e){let t=e.instruction?.trim();return t?e.attachments?.some(n=>n.name?.trim()===t)?null:t:null}function Sy(e,t){let n=e?.tagName?.toLowerCase(),r=e?.id?`#${e.id}`:"",o=e?.className?`.${e.className.trim().split(/\s+/).slice(0,2).join(".")}`:"",i=n?`${n}${r}${o}`:t;return e?.reactComponent?`<${e.reactComponent}> ${i}`:i}function Iy(e){let t=e.elements?.[0]?.reactComponent||e.elements?.[0]?.tagName||e.linkedSelector,n=e.type&&e.type!=="annotation"?`${e.type} annotation`:"Annotation";return t?`${n} on ${t}`:n}function ky(e){let t=e.annotations.map(o=>{let i=o.interactionEpisode?.steps.length??0;return{kind:"annotation",annotationId:o.id,pathname:o.pathname,text:Fu(o)??Iy(o),...i>0?{interactionEpisodeStepCount:i}:{}}}),n=new Map,r=o=>{let i=`${o.pathname??""}:${o.durableSelector??o.selector}`,a=n.get(i);if(a){a.changes.push(o.text),o.annotationNumber!==void 0&&(a.annotationNumber===void 0||o.annotationNumber<a.annotationNumber)&&(a.annotationNumber=o.annotationNumber);return}let l={kind:"changes",elementKey:i,elementLabel:Sy(o.element,o.selector),...o.annotationNumber!==void 0?{annotationNumber:o.annotationNumber}:{},pathname:o.pathname,changes:[o.text]};n.set(i,l),t.push(l)};for(let o of e.styleModifications??[])for(let i of o.changes)r({...o,text:`${i.property}: ${i.original||"unset"} \u2192 ${i.modified||"unset"}${i.token?` (${i.token})`:""}`});for(let o of e.textModifications??[])r({...o,text:`Text: ${o.original||"empty"} \u2192 ${o.modified||"empty"}`});for(let o of e.domModifications??[])r({...o,text:o.operation==="copy"?"Copied element":"Moved element"});return e.spacingTokenChanges?.length&&t.push({kind:"changes",elementKey:"spacing-tokens",elementLabel:"Spacing tokens",changes:e.spacingTokenChanges.map(o=>`${o.tokenName}: ${o.originalPx}px \u2192 ${o.newPx}px`)}),t}function Ey(e){let t=e.annotations.flatMap(r=>{let o=Fu(r);return o?[{instruction:o,pathname:r.pathname}]:[]});if(t.length===0)return;if(new Set(t.map(r=>r.pathname).filter(Boolean)).size<=1)return t.map(r=>r.instruction).join(`
|
|
5
|
-
|
|
6
|
-
`);let n=new Map;for(let r of t){let o=r.pathname||"(unknown)",i=n.get(o)??[];i.push(r.instruction),n.set(o,i)}return[...n.entries()].map(([r,o])=>`\`${r}\`
|
|
7
|
-
${o.map(i=>`- ${i}`).join(`
|
|
8
|
-
`)}`).join(`
|
|
9
|
-
`)}function Ty(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(0,t-3))}...`:n}function Cy(e,t,n){let r=[],o=(i,a)=>{let l=i.filter(d=>!d.includes("data-pm=")),s=vu(l,a);s.status!=="matched"||r.some(d=>d.element===s.element)||r.push({element:s.element,elementInfo:yn(s.element),subject:!1})};for(let i of(e.targets??[]).slice(0,20))if(i.type==="dom"){if(i.pathname!==t)continue;o([i.structuralSelector,i.runtimeSelector,...i.legacySelectors??[]].filter(a=>!!a),i.targetFingerprint)}else{let a=n?.resolve({adapter:i.adapter,key:i.key});a&&r.push({element:a.element,elementInfo:a.elementInfo,subject:!0,sourceElement:a.subject.sourceElement})}if(!e.targets?.length)for(let i of(e.elementIdentifiers??[]).slice(0,20))i.startsWith(`${t}:`)&&o([i.slice(t.length+1)]);return r}function Ay(e){let t=e.sourceElement??e.element;if(!t.isConnected)return!1;if(!e.subject||e.sourceElement){let r=getComputedStyle(t);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||r.opacity==="0"||t.checkVisibility&&!t.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}))return!1}let n=vn(e.element);return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function My({entry:e,color:t,subjectRegistry:n,hasExistingOverlay:r}){let o=jr(Bi),i=hs(),[a,l]=$(null);return _(()=>{if(!o)return;let s=Cy(e,i,n),d=()=>{let c=s.filter(Ay);l(h=>h?.entry===e&&h.pathname===i&&h.targets.length===c.length&&h.targets.every((m,g)=>m===c[g])?h:{entry:e,pathname:i,targets:c})};d();let u=Vc(d),p=$u(d);return()=>{u(),p.disconnect()}},[e,i,n,o]),a?.entry!==e||a.pathname!==i?null:f("div",{"data-devtools":"history-target-preview",style:{pointerEvents:"none"},children:a.targets.filter(s=>!r?.(s.element)).map((s,d)=>f(ro,{element:s.element,elementInfo:s.elementInfo,subjectRegistry:n,isSelected:!1,hideFill:!s.subject,color:t},d))})}function Ry(){if(typeof window>"u")return null;try{let e=window.localStorage.getItem(xs);return e?JSON.parse(e):null}catch{return null}}function $y({bridgeUrl:e,annotations:t}){let[n,r]=$(Ry);_(()=>{if(!n||n.domEdit)return;let l=t.find(s=>s.id===n.id&&(s.status??(s.captured?"in_flight":"pending"))!=="pending");!l||l.text!==n.text||n.images?.length||JSON.stringify(l.attachments??[])!==JSON.stringify(n.attachments??[])||JSON.stringify(l.interactionEpisode??null)!==JSON.stringify(n.interactionEpisode??null)||r(s=>s===n?null:s)},[n,t]),_(()=>{n&&!n.domEdit?window.localStorage.setItem(xs,JSON.stringify(n)):window.localStorage.removeItem(xs)},[n]),_(()=>{let l=n?.attachments?.map(s=>s.id)??[];!e||l.length===0||uu(e,l).catch(()=>{})},[n?.attachments,e]);let o=q(l=>{!e||!l?.length||Promise.all(l.map(s=>Ds(e,s.id).catch(()=>{})))},[e]),i=q(async l=>{if(!n||n.domEdit)return;let s=Xh(l.clipboardData.getData("text/plain"));if(s){if(l.preventDefault(),!e)return;if(s.blob.size>2097152){console.warn("[Popmelt] Pasted attachment exceeds the 2 MB draft limit.");return}try{let p=n.groupId?t.find(h=>h.groupId===n.groupId&&h.type!=="text")?.id??n.id:n.id,c=await lg(e,p,s);r(h=>h?.id===n.id?{...h,attachments:[...h.attachments??[],c]}:h)}catch(p){console.error("[Popmelt] Failed to stage pasted attachment:",p)}return}let d=l.clipboardData.items,u=[];for(let p=0;p<d.length;p+=1){let c=d[p];if(!c.type.startsWith("image/"))continue;let h=c.getAsFile();h&&u.push(h)}u.length!==0&&(l.preventDefault(),r(p=>p?{...p,images:[...p.images??[],...u]}:null))},[n,t,e]),a=q(l=>{r(s=>s&&{...s,attachments:s.attachments?.filter(d=>d.id!==l)}),e&&Ds(e,l).catch(()=>{})},[e]);return{activeText:n,setActiveText:r,handleTextPaste:i,removeActiveTextAttachment:a,releaseActiveTextAttachments:o}}function Ly({annotations:e,isCreatingAnnotation:t,hoveredTextId:n,badgeHoveredAnnotationId:r,highlightedAnnotationIds:o,cycleFocusedAnnotationIds:i,hoveredElement:a}){let l=Se(()=>{let p=e.filter(g=>(g.status??"pending")==="pending");if(p.length===0&&!t)return null;let c=new Set(p.map(g=>g.id)),h=new Set(p.flatMap(g=>g.groupId?[g.groupId]:[])),m=new Set(p.flatMap(g=>g.threadId?[g.threadId]:[]));for(let g of e)(g.groupId&&h.has(g.groupId)||g.threadId&&m.has(g.threadId))&&c.add(g.id);return c},[e,t]),s=Se(()=>{let p=new Set;if(n&&p.add(n),r&&p.add(r),o?.forEach(c=>p.add(c)),a){for(let c of e)if(c.linkedSelector)try{Ui(a,c.linkedSelector)&&p.add(c.id)}catch{}}return ws(e,p)},[e,n,r,o,a]),d=Se(()=>o?ws(e,o):null,[e,o]),u=Se(()=>i?ws(e,i):null,[e,i]);return{cycleSpotlightAnnotationIds:u,emphasizedAnnotationIds:d??u??l,hoverRestoredAnnotationIds:s,inactiveEmphasisOpacity:d||u?.2:.5,statusSpotlightAnnotationIds:d}}function jy({activeText:e,activeTextSendHintId:t,annotationNumberById:n,badgeHoveredAnnotationId:r,canvasRef:o,focusedThreadAnnotationId:i,hoveredElement:a,hoveredElementInfo:l,hoveredTextId:s,showHoverElementIdentifier:d,layoutReady:u,layoutRevision:p,pageAnnotations:c,parentPinnedAnnotationIds:h,pendingLinkedText:m,scroll:g,supersededAnnotations:x,textSafeBounds:S}){let P=B(new Map);return Se(()=>{let R=new Set,I=new Map,z=new Map,G=new Map,E=()=>({hiddenCollidingAnnotationIds:R,nestedCollidingAnnotationCountById:I,nestedCollidingAnnotationIdsById:z,visibleCollisionRepresentativeByAnnotationId:G});if(!u)return E();let K=o.current?.getContext("2d");if(!K)return E();let N=(L,T,Z,re,ee)=>{K.font=`${re}px ${kn}`;let oe=(Z||"Type here...").replace(/\n/g," "),U=ee!==void 0?`${ee}. ${oe}`:oe,fe={x:T.x-g.x,y:T.y-g.y},me=h.has(L)?Ls:0,X=Math.max(60,Ms(fe.x)-me),Te=nu(K,U,X),Ae=K.measureText(Te).width,Ee=ru(fe,re,S,me+Ae+16);return{left:Ee.x-8,top:Ee.y-4,right:Ee.x+me+Ae+8,bottom:Ee.y+re*dr+4}},Y=new Set,J=c.flatMap(L=>{if(L.type!=="text"||!L.text||!L.points[0]||!L.linkedSelector||x.has(L))return[];let T=L.elements?.[0]?.selector,Z=P.current.get(L.id),re=Z?.selector===L.linkedSelector&&Z.fallbackSelector===T&&Z.element.isConnected,ee=re?Z.element:nn(L.linkedSelector,L.elements);if(!ee)return[];let oe=re?Z.depth:Gh(ee);return P.current.set(L.id,{selector:L.linkedSelector,fallbackSelector:T,element:ee,depth:oe}),Y.add(L.id),[{id:L.id,annotation:L,element:ee,bounds:N(L.id,L.points[0],L.text,L.fontSize||12,n.get(L.id)),depth:oe}]});for(let L of P.current.keys())Y.has(L)||P.current.delete(L);if(J.length===0)return E();let le=J.map((L,T)=>T),w=L=>{let T=L;for(;le[T]!==T;)T=le[T];for(;le[L]!==L;){let Z=le[L];le[L]=T,L=Z}return T},Q=(L,T)=>{let Z=w(L),re=w(T);Z!==re&&(le[re]=Z)};for(let L=0;L<J.length;L+=1)for(let T=L+1;T<J.length;T+=1){let Z=J[L],re=J[T];Ss(Z.element,re.element)&&Is(Z.bounds,re.bounds)&&Q(L,T)}let D=new Map;J.forEach((L,T)=>{let Z=w(T),re=D.get(Z)??[];re.push(L),D.set(Z,re)});for(let L of D.values())for(let T of L){let Z=new Set,re=L.flatMap(ee=>ee.id===T.id||ee.element===T.element||!T.element.contains(ee.element)||Z.has(ee.element)?[]:(Z.add(ee.element),[ee.id]));re.length>0&&(I.set(T.id,re.length),z.set(T.id,re))}let F=e?.linkedSelector?{id:e.id,element:nn(e.linkedSelector,e.elements),bounds:N(e.id,e.point,e.text,e.fontSize,n.get(e.id))}:m?.linkedSelector?{id:t,element:nn(m.linkedSelector,m.elements),bounds:N(t,m.point,"",12)}:null,M=null;if(a&&d){let L=vn(a),T=22,Z=L.height>=window.innerHeight,re=Z?L.top+8:L.top>=T+_i?L.top-T-_i:L.bottom+_i,ee=Z?L.left+8:L.left,oe=l?Qh(l):a.tagName.toLowerCase();K.font=`12px ${kn}`;let U=Math.min(400,K.measureText(oe).width+16);M={left:ee,top:re,right:ee+U,bottom:re+T}}let j=(L,T)=>{L.forEach(Z=>{Z.id!==T&&R.add(Z.id),T&&G.set(Z.id,T)})};for(let L of D.values()){if(F?.element&&L.some(ee=>Ss(F.element,ee.element)&&Is(F.bounds,ee.bounds))){let ee=new Set,oe=L.flatMap(U=>U.element===F.element||!F.element.contains(U.element)||ee.has(U.element)?[]:(ee.add(U.element),[U.id]));oe.length>0&&(I.set(F.id,oe.length),z.set(F.id,oe)),j(L,L.find(U=>U.id===F.id)?.id);continue}let T=[s,r].find(ee=>ee&&L.some(oe=>oe.id===ee)),Z=L.find(ee=>ee.id===T);if(Z){j(L,Z.id);continue}if(a){let ee=L.find(oe=>oe.element===a);if(ee){j(L,ee.id);continue}if(M&&L.some(oe=>!Zh(oe.annotation)&&!em(oe.annotation)&&oe.annotation.status!=="awaiting_review"&&Ss(a,oe.element)&&Is(M,oe.bounds))){j(L);continue}}let re=[i].find(ee=>ee&&L.some(oe=>oe.id===ee));if(re){j(L,re);continue}if(L.length>1){let ee=L.reduce((oe,U)=>U.depth<oe.depth||U.depth===oe.depth&&(U.bounds.top<oe.bounds.top||U.bounds.top===oe.bounds.top&&U.annotation.timestamp<oe.annotation.timestamp)?U:oe);j(L,ee.id)}}return E()},[e,t,n,r,o,i,a,l,s,d,u,c,h,m,g.x,g.y,x,S,p])}function Wu(e){if(!e.isConnected||!ul(e.ownerDocument))return!1;let t=gu(vn(e),e.ownerDocument);if(t.width<=0||t.height<=0||e.getClientRects().length===0)return!1;let n=e;for(;n;){let r=window.getComputedStyle(n);if(r.display==="none"||r.visibility==="hidden"||r.visibility==="collapse"||Number.parseFloat(r.opacity||"1")<=0)return!1;n=bu(n)}return!0}function Py(e){if(!e)return null;try{return _s(e)}catch{return null}}function Bu(e,t){if(e?.isConnected){let r=e;for(;r&&r!==document.documentElement;){if(Wu(r))return{element:r,parentPinned:r!==e};r=bu(r)}}let n=Py(t);return n&&Wu(n)?{element:n,parentPinned:!0}:null}function Vs(e,t,n){return Bu(e,n)?.element===t}function qu(e,t){let n=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return`[${e}="${n}"]`}function zy(e){let t=e.elements?.[0],n=t?.sourceElement?.dataAttributes,r=n?.["data-popmelt-media-id"]??n?.["data-popmelt-see-id"]??t?.dataAttributes?.["data-popmelt-media-id"]??t?.dataAttributes?.["data-popmelt-see-id"];if(r&&!e.linkedSelector?.startsWith("@frame(")&&!t?.selector.startsWith("@frame(")){let o=_s(qu("data-popmelt-media-id",r));if(o)return o;let i=_s(qu("data-popmelt-see-id",r));if(i)return i}return yu(e.linkedSelector,t)}var Dy='#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel], [data-devtools="panel"], [data-devtools="panel-wrapper"], [data-devtools="annotation-badge-layer"], [data-popmelt-subject-projection]';function Hy(e,t){return e.size===t.size&&[...e].every(n=>t.has(n))}function Oy({annotations:e,currentPathname:t,dispatch:n,stateRef:r,styleModifications:o,subjectRegistry:i,toolbarRef:a,onTargetResolutionChange:l}){let s=jr(Bi),[d,u]=$(()=>new Set),p=Se(()=>e.filter(h=>h.linkedSelector&&(!h.pathname||h.pathname===t)).map(h=>[h.id,h.linkedSelector,h.text,h.fontSize,h.timestamp,JSON.stringify([h.elements?.[0]?.selector,h.elements?.[0]?.context,h.elements?.[0]?.targetFingerprint,h.elements?.[0]?.dataAttributes,h.elements?.[0]?.sourceElement?.dataAttributes])].join(":")).join("|"),[e,t]),c=Se(()=>o.filter(h=>!h.pathname||h.pathname===t).map(h=>h.selector).sort().join("|"),[t,o]);return _(()=>{if(!s)return;if(!p){u(M=>M.size===0?M:new Set);return}let h=null,m=!1,g=document.createElement("canvas").getContext("2d"),x=null,S=new Map,P=new Map,R=new Map,I=Vh(r.current.annotations.flatMap(M=>[M.linkedSelector,M.elements?.[0]?.selector].filter(j=>!!j))),z=()=>{if(x)return x;let M=r.current.annotations.filter(L=>L.linkedSelector&&(!L.pathname||L.pathname===t)),j=new Map;return x=M.flatMap(L=>{P.has(L.id)||P.set(L.id,zy(L));let T=P.get(L.id);j.set(L.id,T);let Z=Bu(T,L.elements?.[0]?.context);return Z?[{annotation:L,spatialAnchor:Z}]:[]}),(j.size!==R.size||[...j].some(([L,T])=>R.get(L)!==T))&&(R=j,l?.()),x},G=()=>{x=null,S.clear()},E=()=>{let M=r.current.styleModifications.filter(fe=>!fe.pathname||fe.pathname===t),j=[],L=z(),T=new Map(r.current.annotations.map(fe=>[fe.id,fe])),Z=new Set(L.filter(({spatialAnchor:fe})=>fe.parentPinned).map(({annotation:fe})=>fe.id));u(fe=>Hy(fe,Z)?fe:Z);let re=new Map,ee=new Map,oe=new Map;for(let{annotation:fe,spatialAnchor:me}of L){let X=oe.get(me.element)??[];X.push(fe),oe.set(me.element,X)}let U=new Map;for(let fe of oe.values()){fe.sort((Ae,Ee)=>Ae.timestamp-Ee.timestamp);let me=0,X,Te=0;for(let Ae of fe)Ae.timestamp!==X&&(X=Ae.timestamp,Te=me),U.set(Ae.id,Te),me+=1}for(let{annotation:fe,spatialAnchor:me}of L){let X=me.element,Te=re.get(X);Te||(Te=vn(X),re.set(X,Te));let Ae=ee.get(X);Ae===void 0&&(Ae=M.some(Ne=>{if(Ne.captured)return!1;try{return Ui(X,Ne.selector)}catch{return!1}}),ee.set(X,Ae));let Ee=U.get(fe.id)??0,_e=(Ae?1:0)+Ee,O=S.get(fe.id);if(O===void 0&&fe.text&&g){let Ne=fe.fontSize||12;g.font=`${Ne}px ${kn}`,O=Math.max(...fe.text.split(`
|
|
10
|
-
`).map(ge=>g.measureText(ge).width))+(me.parentPinned?Ls:0),S.set(fe.id,O)}let ze=Te.top>=22*(1+_e)+_i?"top-left":"bottom-left",Oe=X===document.body&&wc(fe)?Rc(Te):$c(Te,ze,_e,a?.current,O),Ve=T.get(fe.id),nt=Ve?.points[0],ve=ze!==Ve?.linkedAnchor;nt&&(ve||Math.abs(Oe.x-nt.x)>1||Math.abs(Oe.y-nt.y)>1)&&j.push({id:fe.id,point:Oe,linkedAnchor:ve?ze:void 0})}j.length>0&&n({type:"UPDATE_LINKED_POSITIONS",payload:{updates:j}})},K=()=>{m||h!==null||(h=requestAnimationFrame(()=>{h=null,E()}))};E();let N=()=>{G(),K()},Y=Vc(E);window.addEventListener("resize",N,!0),window.addEventListener("load",N),document.addEventListener("transitionend",N,!0),document.addEventListener("animationend",N,!0),document.fonts.ready.then(N);let J=i?.subscribeFrame(E),le=new Set,w=()=>{for(let M of yg())!(M instanceof ShadowRoot)||le.has(M)||(le.add(M),Q.observe(M,D))},Q=new MutationObserver(M=>{let j=M.filter(L=>{let T=L.target,Z=T instanceof Element?T:T.parentElement;return!Z||!Ea(Z,Dy)});j.some(L=>L.addedNodes.length)&&w(),j.some(I.changesIdentity)&&P.clear(),j.length&&N()}),D={attributes:!0,childList:!0,characterData:!0,subtree:!0,attributeFilter:I.attributes};Q.observe(document.body,D),w();let F=p.includes("@frame(")?Gc(()=>{P.clear(),G(),E()}):void 0;return()=>{m=!0,F?.(),Y(),window.removeEventListener("resize",N,!0),window.removeEventListener("load",N),document.removeEventListener("transitionend",N,!0),document.removeEventListener("animationend",N,!0),Q.disconnect(),J?.(),h&&cancelAnimationFrame(h)}},[s,t,n,p,c,r,i,a,l]),d}function Ny(){let e=B({shift:!1,cmd:!1});return _(()=>{let t=o=>{o.key==="Shift"&&(e.current.shift=!0),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!0)},n=o=>{o.key==="Shift"&&(e.current.shift=!1),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!1)},r=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",r)}},[]),e}function _y({annotations:e,annotationIds:t,badgeHoveredAnnotationId:n,hoveredTextId:r}){let o=Se(()=>{let d=new Map;for(let u of e){if(!t.has(u.id))continue;let p=qm(u.elements);p&&d.set(u.id,p)}return d},[e,t]),i=[n,r].find(d=>d&&o.has(d))??null,[a,l]=$(null);_(()=>{if(l(null),!i)return;let d=window.setTimeout(()=>{l(i)},500);return()=>window.clearTimeout(d)},[i]);let s=q(async d=>{let u=await Jm(d.linkedSelector,d.elements);if(!u)return;let p=vn(u);(p.bottom<0||p.top>window.innerHeight)&&u.scrollIntoView({behavior:"smooth",block:"center"})},[]);return{locationLabels:o,tooltipAnnotationId:a,revealAnnotation:s}}function Fy({activeText:e,activeTextAnchorId:t,hoveredElement:n,hoveredTextId:r,pendingTextAnnotations:o}){let[i,a]=$(null);return _(()=>{if(e&&!e.domEdit&&e.text.trim()){a(t);return}a(l=>l&&o.some(s=>s.id===l)?l:o[0]?.id??null)},[e,t,o]),_(()=>{if(!r)return;let l=o.find(s=>s.id===r);l&&a(l.id)},[r,o]),_(()=>{if(!n)return;let l=o.find(s=>{if(!s.linkedSelector)return!1;try{return Ui(n,s.linkedSelector)}catch{return!1}});l&&a(l.id)},[n,o]),{sendHintAnchorId:i,setSendHintAnchorId:a}}function Wy(e,t,n,r,o){_(()=>{let i=a=>{if(e){if(e.domEdit||e.linkedSelector)return;a.preventDefault(),a.stopPropagation();let s=a.deltaY>0?-2:2;t(d=>d?{...d,fontSize:Math.max(12,Math.min(72,d.fontSize+s))}:null);return}if(!n)return;a.preventDefault();let l=r.find(s=>s.id===n);if(l&&l.type==="text"&&!l.linkedSelector){let s=l.fontSize||12,d=a.deltaY>0?-2:2;o({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:s+d}})}};return window.addEventListener("wheel",i,{passive:!1}),()=>{window.removeEventListener("wheel",i)}},[n,e,r,o,t])}var By=86,qy=36,Jy=2;function Uy({nestedAnnotationCount:e,interactionEpisodeStepCount:t,reserveSendHint:n,imageCount:r=0}){let o=+(r>0)+ +(t>0)+ +(e>0)+Number(n);return o===0?0:Sc(r)+(r>0?4:0)+(e>0?qy:0)+Uc(t)+(n?By:0)+Math.max(0,o-1)*Jy}function Yy({rawLeft:e,width:t,top:n,scroll:r,collisionId:o,nestedAnnotationCount:i,nestedAnnotationIds:a,nestedBadgeColor:l,interactionEpisodeStepCount:s,imageCount:d=0,color:u="#f50",showSendHint:p,bundleCount:c,onHoverNestedAnnotations:h,onHoverSendHint:m,onClearInteractionEpisode:g,onSend:x}){return i===0&&s===0&&d===0&&!p?null:f(Cm,{"data-popmelt-active-annotation-surface":"true",left:e+t+r.x+2-Zc,top:n+r.y-Zc,scrollX:r.x,scrollY:r.y,onContextMenu:S=>{S.preventDefault(),S.stopPropagation()},style:{pointerEvents:"auto",zIndex:10002},children:A("div",{style:{display:"flex",alignItems:"center",gap:2},children:[f(Qc,{stepCount:s,onClear:g}),i>0&&o&&f(Am,{count:i,color:l,onHoverChange:S=>h(o,S?a:null)}),A("div",{style:{display:"flex",alignItems:"center",isolation:"isolate",marginLeft:d>0?4:0},children:[f(im,{imageCount:d,color:u}),p&&f(Mm,{layered:d>0,bundleCount:Math.max(1,c),onHoverChange:m,onSend:x})]})]})})}function Ky({value:e,fontSize:t,prefix:n,inputRef:r,inputStyle:o,selectionBackground:i,selectionColor:a,annotationBorderRadius:l,activeColor:s,boundaryRects:d,viewportClip:u,wrapsDomText:p,showEditor:c,rawLeft:h,top:m,baselineOffset:g,onChange:x,onKeyDown:S,onPaste:P,onBlur:R}){let I=d!==void 0;return A("div",{"data-devtools":"text-editor-layer",style:u?{position:"fixed",inset:0,pointerEvents:"none",zIndex:10002,clipPath:`inset(${u.top}px ${Math.max(0,window.innerWidth-u.left-u.width)}px ${Math.max(0,window.innerHeight-u.top-u.height)}px ${u.left}px)`}:{display:"contents"},children:[f("style",{children:`
|
|
11
|
-
#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }
|
|
12
|
-
#devtools-text-input::selection {
|
|
13
|
-
background: ${i};
|
|
14
|
-
color: ${a};
|
|
15
|
-
}
|
|
16
|
-
@keyframes popmeltAnnotationFieldEnter {
|
|
17
|
-
from { border-radius: 8px; }
|
|
18
|
-
to { border-radius: ${l}; }
|
|
19
|
-
}
|
|
20
|
-
@media (prefers-reduced-motion: reduce) {
|
|
21
|
-
#devtools-text-input { animation: none !important; }
|
|
22
|
-
}
|
|
23
|
-
`}),d?.map((z,G)=>f("div",{"data-devtools":"text-edit-active-boundary",style:{position:"fixed",left:z.left,top:z.top,width:z.width,height:z.height,pointerEvents:"none",zIndex:10002,border:`1px solid ${s}`,backgroundColor:ll(s,.08),boxSizing:"border-box"}},`${z.left}:${z.top}:${G}`)),c&&f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":I?void 0:"true",ref:r,value:e,onChange:x,onKeyDown:S,onPaste:P,onBlur:R,placeholder:"Type here...",wrap:I?p?"soft":"off":void 0,spellCheck:!1,style:{...o,pointerEvents:"auto"}}),c&&!I&&n&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"fixed",left:h+8,top:m+4+g,zIndex:10002,pointerEvents:"none",color:"#ffffff",fontFamily:kn,fontSize:t,lineHeight:`${t*dr}px`,whiteSpace:"pre"},children:n})]})}function Xy({anchor:e,insetTopLeft:t=!1,width:n,height:r,value:o,fontSize:i,prefix:a,inputRef:l,inputStyle:s,onChange:d,onKeyDown:u,onPaste:p,onBlur:c,onContextMenu:h}){return A("div",{"data-popmelt-active-annotation-surface":"true",onContextMenu:h,style:{position:"relative",width:n,height:r,flex:`0 0 ${n}px`},children:[f("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":"true",ref:l,value:o,onChange:d,onKeyDown:u,onPaste:p,onBlur:c,onClick:m=>m.stopPropagation(),placeholder:"Type here...",spellCheck:!1,style:{...s,position:"relative",left:0,top:0,zIndex:0,paddingTop:4,paddingBottom:4,borderRadius:t?wa("bottom-left"):wa(e),animation:void 0}}),a&&f("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"absolute",left:8,top:4,zIndex:1,pointerEvents:"none",color:"#ffffff",fontFamily:kn,fontSize:i,fontWeight:600,lineHeight:`${i*dr}px`,whiteSpace:"pre"},children:a})]})}function Vy(e,t,n){let r={x:n.left+n.width*t.x,y:n.top+n.height*t.y},o=e.left+e.width,i=e.top+e.height,a=r.x>=e.left&&r.x<=o&&r.y>=e.top&&r.y<=i,l={x:Math.max(e.left,Math.min(o,r.x)),y:Math.max(e.top,Math.min(i,r.y))};return{annotation:l,subject:r,visible:!a&&Math.hypot(r.x-l.x,r.y-l.y)>=2}}function Gy({element:e,annotationRect:t,subjectAnchor:n,color:r,subjectRegistry:o}){let i=B(null);return _(()=>{let a=i.current;if(!a)return;let l=a.querySelector("line"),s=a.querySelector("circle");if(!l||!s)return;let d=()=>{let c=Vy(t,n,vn(e));a.style.display=c.visible?"":"none",l.setAttribute("x1",String(c.annotation.x)),l.setAttribute("y1",String(c.annotation.y)),l.setAttribute("x2",String(c.subject.x)),l.setAttribute("y2",String(c.subject.y)),s.setAttribute("cx",String(c.subject.x)),s.setAttribute("cy",String(c.subject.y))};d();let u=o?.subscribeFrame(d),p=o?null:new MutationObserver(d);return p?.observe(e,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",d),()=>{u?.(),p?.disconnect(),window.removeEventListener("resize",d)}},[t,e,n,o]),f("svg",{"data-popmelt-subject-draft-connector":"","aria-hidden":!0,style:{position:"fixed",inset:0,width:"100dvw",height:"100dvh",zIndex:10001,pointerEvents:"none",overflow:"visible"},children:A("g",{ref:i,children:[f("line",{stroke:r,strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-popmelt-subject-draft-point":"",r:"3",fill:r,stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]})})}var Ju=160;function Qy({color:e,cursorRef:t,tool:n,onHandoff:r,onDone:o}){let i=B(null),a=B(r);a.current=r,Et(()=>{let s=i.current;if(!s)return;let d=(c,h)=>{s.style.left=`${c-4}px`,s.style.top=`${h-4}px`},u=t.current;u&&d(u.x,u.y);let p=c=>d(c.clientX,c.clientY);return window.addEventListener("pointermove",p,{capture:!0}),()=>window.removeEventListener("pointermove",p,{capture:!0})},[t]),_(()=>{let s=window.setTimeout(()=>a.current(),Ju*.75);return()=>window.clearTimeout(s)},[]);let l=n==="inspector";return A("div",{ref:i,"data-devtools":"cursor-switch-pulse",onAnimationEnd:o,style:{position:"fixed",left:-100,top:-100,zIndex:2147483647,width:24,height:24,pointerEvents:"none",transformOrigin:"0 0",animation:`popmeltCursorSwitchPulse ${Ju}ms ease-in-out both`,filter:`drop-shadow(0 .5px .35px rgba(0,0,0,.22)) drop-shadow(0 .75px .65px ${ll(e,.42)}) drop-shadow(0 1.25px 1.1px ${ll(e,.24)})`},children:[f("svg",{width:"24",height:"24",viewBox:"-3 -3 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},children:l?f("path",{transform:"scale(1.125)",d:"M1 8V2C1 1.44772 1.44772 1 2 1H8C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8Z",fill:e,stroke:"white",strokeWidth:"1.111"}):f("path",{d:"M5.19194 14.2778L0.732307 2.01384C0.442115 1.21582 1.21582 0.442116 2.01384 0.732307L14.2778 5.19194C15.7506 5.72748 15.5191 7.87826 13.9661 8.08812L10.298 8.58381C9.40594 8.70436 8.70436 9.40594 8.58381 10.298L8.08812 13.9661C7.87826 15.5191 5.72748 15.7506 5.19194 14.2778Z",fill:e,stroke:"white",strokeWidth:"1.25"})}),f("style",{children:`
|
|
24
|
-
@keyframes popmeltCursorSwitchPulse {
|
|
25
|
-
0%, 100% { transform: scale(1); }
|
|
26
|
-
50% { transform: scale(1.5); }
|
|
27
|
-
0%, 75% { opacity: 1; }
|
|
28
|
-
100% { opacity: 0; }
|
|
29
|
-
}
|
|
30
|
-
`})]})}function Sl(e,t){let n=({x:r,y:o})=>{let i=Ns({left:r,top:o,width:0,height:0},t);return{x:i.left,y:i.top}};return{topLeft:n(e.topLeft),topRight:n(e.topRight),bottomRight:n(e.bottomRight),bottomLeft:n(e.bottomLeft)}}var Il=28,Uu=12,Zy=8,Yu=["transition","transform","translate","rotate","scale"];function fi(e){let[t]=e.getBoxQuads?.({box:"border"})??[];if(t)return{topLeft:{x:t.p1.x,y:t.p1.y},topRight:{x:t.p2.x,y:t.p2.y},bottomRight:{x:t.p3.x,y:t.p3.y},bottomLeft:{x:t.p4.x,y:t.p4.y}};let n=e.getBoundingClientRect();return{topLeft:{x:n.left,y:n.top},topRight:{x:n.right,y:n.top},bottomRight:{x:n.right,y:n.bottom},bottomLeft:{x:n.left,y:n.bottom}}}var kl={a:1,b:0,c:0,d:1,e:0,f:0};function zo(e,t){return{a:e.a*t.a+e.c*t.b,b:e.b*t.a+e.d*t.b,c:e.a*t.c+e.c*t.d,d:e.b*t.c+e.d*t.d,e:e.a*t.e+e.c*t.f+e.e,f:e.b*t.e+e.d*t.f+e.f}}function Gs(e,t){return{...kl,e,f:t}}function Ku(e){let t=e*Math.PI/180,n=Math.cos(t),r=Math.sin(t);return{a:n,b:r,c:-r,d:n,e:0,f:0}}function Xu(e,t){return{a:e,b:0,c:0,d:t,e:0,f:0}}function El(e,t){if(!e)return 0;let n=Number.parseFloat(e);return Number.isFinite(n)?e.endsWith("%")?n/100*t:n:0}function Tl(e){if(!e)return 1;let t=Number.parseFloat(e);return Number.isFinite(t)?e.endsWith("%")?t/100:t:1}function Vu(e){if(!e||e==="none")return kl;let t=e.match(/^matrix\(([^)]+)\)$/);if(t){let r=t[1].split(",").map(Number);if(r.length===6&&r.every(Number.isFinite)){let[o,i,a,l,s,d]=r;return{a:o,b:i,c:a,d:l,e:s,f:d}}}let n=e.match(/^matrix3d\(([^)]+)\)$/);if(n){let r=n[1].split(",").map(Number);if(r.length===16&&r.every(Number.isFinite))return{a:r[0],b:r[1],c:r[4],d:r[5],e:r[12],f:r[13]}}return kl}function Qs(e,t){return{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function ev(e){let t=getComputedStyle(e),n=t.rotate.trim().split(/\s+/).at(-1)??"0",r=Ku(Number.parseFloat(n)||0),[o="1",i=o]=t.scale.trim().split(/\s+/),a=Xu(Tl(o),Tl(i)),l=Vu(t.transform);return{...zo(r,zo(a,l)),e:0,f:0}}function tv(e){let t=kl,n=e.parentElement;for(;n;)Lr(n)&&(t=zo(ev(n),t)),n=n.parentElement;return t}function nv(e,t,n){let r=(o,i)=>({x:e.x+(t.x*o+n.x*i)/2,y:e.y+(t.y*o+n.y*i)/2});return{topLeft:r(-1,-1),topRight:r(1,-1),bottomRight:r(1,1),bottomLeft:r(-1,1)}}function rv(e,t){let{width:n,height:r}=Qu(e,t);if(n<=0||r<=0)return t;let o=tv(e),i=Qs(o,{x:n,y:0}),a=Qs(o,{x:0,y:r}),l=Ra(t);return nv(l,i,a)}function Vi(e,t){let[n]=e.getBoxQuads?.({box:"border"})??[];if(n)return fi(e);let r=getComputedStyle(e),{width:o,height:i}=Qu(e,t);if(o<=0||i<=0)return fi(e);let[a="0",l="0"]=r.translate.trim().split(/\s+/),s=Gs(El(a,o),El(l,i)),d=r.rotate.trim().split(/\s+/).at(-1)??"0",u=Ku(Number.parseFloat(d)||0),[p="1",c=p]=r.scale.trim().split(/\s+/),h=Xu(Tl(p),Tl(c)),m=Vu(r.transform),[g="50%",x="50%"]=r.transformOrigin.trim().split(/\s+/),S={x:El(g,o),y:El(x,i)},P=zo(Gs(S.x,S.y),zo(u,zo(h,zo(m,Gs(-S.x,-S.y))))),R=zo(s,P),I={x:(t.topRight.x-t.topLeft.x)/o,y:(t.topRight.y-t.topLeft.y)/o},z={x:(t.bottomLeft.x-t.topLeft.x)/i,y:(t.bottomLeft.y-t.topLeft.y)/i},G=E=>{let K=Qs(R,E);return{x:t.topLeft.x+I.x*K.x+z.x*K.y,y:t.topLeft.y+I.y*K.x+z.y*K.y}};return{topLeft:G({x:0,y:0}),topRight:G({x:o,y:0}),bottomRight:G({x:o,y:i}),bottomLeft:G({x:0,y:i})}}function Ma(e){let t=Yu.map(n=>({property:n,value:e.style.getPropertyValue(n),priority:e.style.getPropertyPriority(n)}));try{e.style.setProperty("transition","none","important");for(let o of Yu)o!=="transition"&&e.style.setProperty(o,"none","important");let[n]=e.getBoxQuads?.({box:"border"})??[],r=fi(e);return n?r:rv(e,r)}finally{for(let{property:r,value:o,priority:i}of t.filter(({property:a})=>a!=="transition"))o?e.style.setProperty(r,o,i):e.style.removeProperty(r);let n=t.find(({property:r})=>r==="transition");n&&(n.value?e.style.setProperty(n.property,n.value,n.priority):e.style.removeProperty(n.property))}}function ov(e,t,n=1){return["topLeft","topRight","bottomRight","bottomLeft"].some(r=>Math.hypot(e[r].x-t[r].x,e[r].y-t[r].y)>n)}function Cl(e,t,n){let[r="0",o=r]=e.trim().split(/\s+/),i=(a,l)=>{let s=Number.parseFloat(a);return Number.isFinite(s)?a.endsWith("%")?s/100*l:s:0};return{x:i(r,t),y:i(o,n)}}function Gu(e,t){let n=getComputedStyle(e),r=(Math.hypot(t.topRight.x-t.topLeft.x,t.topRight.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.bottomLeft.x,t.bottomRight.y-t.bottomLeft.y))/2,o=(Math.hypot(t.bottomLeft.x-t.topLeft.x,t.bottomLeft.y-t.topLeft.y)+Math.hypot(t.bottomRight.x-t.topRight.x,t.bottomRight.y-t.topRight.y))/2;return{topLeft:Cl(n.borderTopLeftRadius,r,o),topRight:Cl(n.borderTopRightRadius,r,o),bottomRight:Cl(n.borderBottomRightRadius,r,o),bottomLeft:Cl(n.borderBottomLeftRadius,r,o)}}function Zs(e){return{width:(Math.hypot(e.topRight.x-e.topLeft.x,e.topRight.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.bottomLeft.x,e.bottomRight.y-e.bottomLeft.y))/2,height:(Math.hypot(e.bottomLeft.x-e.topLeft.x,e.bottomLeft.y-e.topLeft.y)+Math.hypot(e.bottomRight.x-e.topRight.x,e.bottomRight.y-e.topRight.y))/2}}function Qu(e,t){let n=Zs(t);if(e instanceof HTMLElement)return{width:e.offsetWidth||n.width,height:e.offsetHeight||n.height};let r=getComputedStyle(e),o=Number.parseFloat(r.width),i=Number.parseFloat(r.height);return{width:Number.isFinite(o)&&o>0?o:n.width,height:Number.isFinite(i)&&i>0?i:n.height}}function Al(e,t,n){let r=Zs(t),o=Zs(n),i=r.width>0?o.width/r.width:1,a=r.height>0?o.height/r.height:1;return Object.fromEntries(Object.entries(e).map(([l,s])=>[l,{x:s.x*i,y:s.y*a}]))}function iv(e){let t=e.trim().toLowerCase();if(!t||t==="transparent")return 0;if(t.match(/^#(?:[\da-f]{3}|[\da-f]{4}|[\da-f]{6}|[\da-f]{8})$/))return t.length===5?Number.parseInt(t.at(-1).repeat(2),16)/255:t.length===9?Number.parseInt(t.slice(-2),16)/255:1;let n=t.match(/\/\s*([\d.]+%?)\s*\)$/);if(n){let o=Number.parseFloat(n[1]);return n[1].endsWith("%")?o/100:o}let r=t.match(/^rgba\([^,]+,[^,]+,[^,]+,\s*([\d.]+%?)\s*\)$/);if(r){let o=Number.parseFloat(r[1]);return r[1].endsWith("%")?o/100:o}return 1}function Zu(e){let t=getComputedStyle(e);return t.backgroundImage&&t.backgroundImage!=="none"?!1:iv(t.backgroundColor)>=.999}function Gi(e,t,n){let r=t.x-e.x,o=t.y-e.y,i=Math.max(1,Math.hypot(r,o));return{x:e.x+r/i*n,y:e.y+o/i*n}}function ep(e,t){let n=(o,i)=>Math.hypot(i.x-o.x,i.y-o.y),r=[[n(e.topLeft,e.topRight),t.topLeft.x+t.topRight.x],[n(e.topRight,e.bottomRight),t.topRight.y+t.bottomRight.y],[n(e.bottomRight,e.bottomLeft),t.bottomRight.x+t.bottomLeft.x],[n(e.bottomLeft,e.topLeft),t.bottomLeft.y+t.topLeft.y]];return Math.min(1,...r.map(([o,i])=>i>0?o/i:1))}function tp(e){return{topLeft:[e.topLeft.y,e.topLeft.x],topRight:[e.topRight.x,e.topRight.y],bottomRight:[e.bottomRight.y,e.bottomRight.x],bottomLeft:[e.bottomLeft.x,e.bottomLeft.y]}}function np(e,t){let n=["topLeft","topRight","bottomRight","bottomLeft"],r=tp(t),o=ep(e,t),i=1-Math.SQRT1_2;return Object.fromEntries(n.map((a,l)=>{let s=e[a],d=e[n[(l+n.length-1)%n.length]],u=e[n[(l+1)%n.length]],[p,c]=r[a],h=Gi(s,d,p*o*i),m=Gi(s,u,c*o*i);return[a,{x:h.x+m.x-s.x,y:h.y+m.y-s.y}]}))}function ed(e,t){let n=.5522847498,r=["topLeft","topRight","bottomRight","bottomLeft"],o=tp(t),i=ep(e,t),a=r.map((d,u)=>{let p=e[d],c=r[(u+r.length-1)%r.length],h=r[(u+1)%r.length],m=e[c],g=e[h],[x,S]=o[d],P=x*i,R=S*i,I=Gi(p,m,P),z=Gi(p,g,R);return{entry:I,exit:z,entryControl:Gi(I,p,P*n),exitControl:Gi(z,p,R*n)}}),l=a[0],s=[`M ${l.exit.x} ${l.exit.y}`];for(let d=1;d<=a.length;d+=1){let u=a[d%a.length];s.push(`L ${u.entry.x} ${u.entry.y}`),s.push(`C ${u.entryControl.x} ${u.entryControl.y} ${u.exitControl.x} ${u.exitControl.y} ${u.exit.x} ${u.exit.y}`)}return s.push("Z"),s.join(" ")}function Ra(e){return{x:(e.topLeft.x+e.topRight.x+e.bottomRight.x+e.bottomLeft.x)/4,y:(e.topLeft.y+e.topRight.y+e.bottomRight.y+e.bottomLeft.y)/4}}function Qi(e,t=Il,n="top"){let[r,o]=n==="top"?[e.topLeft,e.topRight]:n==="right"?[e.topRight,e.bottomRight]:n==="bottom"?[e.bottomRight,e.bottomLeft]:[e.bottomLeft,e.topLeft],i={x:(r.x+o.x)/2,y:(r.y+o.y)/2},a=o.x-r.x,l=o.y-r.y,s=Math.max(1,Math.hypot(a,l));return{edge:i,handle:{x:i.x+l/s*t,y:i.y-a/s*t}}}function rp(e,t){let n=Qi(e);return n.handle.y>=t/2?{...n,side:"top"}:{...Qi(e,Il,"bottom"),side:"bottom"}}function Ml(e,t,n){let r=n.x-t.x,o=n.y-t.y,i=r*r+o*o;if(i===0)return Math.hypot(e.x-t.x,e.y-t.y);let a=Math.max(0,Math.min(1,((e.x-t.x)*r+(e.y-t.y)*o)/i));return Math.hypot(e.x-(t.x+a*r),e.y-(t.y+a*o))}var av=["top","right","bottom","left"];function lv(e,t,n){let r=t/2;return e.x>=r&&e.x<=n.width-r&&e.y>=r&&e.y<=n.height-r}function td(e,t,n,r={}){let o=av.map(u=>({...Qi(e,Il,u),side:u,distance:Ml(t,u==="top"?e.topLeft:u==="right"?e.topRight:u==="bottom"?e.bottomRight:e.bottomLeft,u==="top"?e.topRight:u==="right"?e.bottomRight:u==="bottom"?e.bottomLeft:e.topLeft)})),i=r.viewport?o.filter(({handle:u})=>lv(u,n,r.viewport)):o,a=i.length>0?i:o,l=a.reduce((u,p)=>p.distance<u.distance?p:u),s=r.currentSide?a.find(({side:u})=>u===r.currentSide):void 0,d=s&&s.distance<=l.distance+(r.hysteresis??8)?s:l;return{edge:d.edge,handle:d.handle,side:d.side}}function sv(e,t,n){let r={x:t,y:n},o=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],i=!1,a=!1,l=.001;for(let s=0;s<o.length;s+=1){let d=o[s],u=o[(s+1)%o.length],p=(u.x-d.x)*(r.y-d.y)-(u.y-d.y)*(r.x-d.x);if(p>l&&(i=!0),p<-l&&(a=!0),i&&a)return!1}return!0}function dv(e,t,n,r){let o={x:t,y:n},i=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],a=r/2;if(i.some(s=>Math.hypot(t-s.x,n-s.y)<=a)||[[e.topLeft,e.topRight],[e.topRight,e.bottomRight],[e.bottomRight,e.bottomLeft],[e.bottomLeft,e.topLeft]].some(([s,d])=>Ml(o,s,d)<=Uu/2))return!0;let l=td(e,o,r);return Ml(o,l.edge,l.handle)<=r/2}function cv(e,t,n,r){let o={x:t,y:n},i=td(e,o,r);return Ml(o,i.edge,i.handle)<=r*1.5}function op(e){let t=Math.max(1,Math.hypot(e.x,e.y));return{x:e.x/t,y:e.y/t}}function uv(e,t){let n=Ra(e);return op({x:e[t].x-n.x,y:e[t].y-n.y})}function pv(e,t){let n=Ra(e),{handle:r}=Qi(e,Il,t),o=op({x:r.x-n.x,y:r.y-n.y});return{x:-o.y,y:o.x}}function fv(e,t){if(!t||e.x===0&&e.y===0)return e;let n=Math.PI/4,r=Math.atan2(e.y,e.x),o=Math.round(r/n)*n,i=Math.hypot(e.x,e.y);return{x:Math.cos(o)*i,y:Math.sin(o)*i}}function hv(e,t,n=Zy){return Math.hypot(t.x-e.x,t.y-e.y)<=n}function ip(e){if(!e||e==="none")return{x:0,y:0};let[t="0",n="0"]=e.trim().split(/\s+/);return{x:Number.parseFloat(t)||0,y:Number.parseFloat(n)||0}}var ap=Math.SQRT1_2;function lp(e,t){return ui(e,t).filter(n=>typeof n=="number")}function Rl(e,t,n){return lp(e,t).reduce((r,o)=>Math.abs(Number.parseFloat(Fi(e,o,t))-n)<Math.abs(Number.parseFloat(Fi(e,r,t))-n)?o:r)}function ao(e,t){let n=lp("transform",e),r=o=>e==="translate"?Number.parseFloat(Fi("transform",o,e)):o;return n.reduce((o,i)=>Math.abs(r(i)-t)<Math.abs(r(o)-t)?i:o)}function mv(e,t){if(t==="translate")return ao(t,ip(e).x);if(t==="scale"){let r=Number.parseFloat(e);return ao(t,Number.isFinite(r)?r*100:100)}let n=Number.parseFloat(e);return ao(t,Number.isFinite(n)?n:0)}function gv(e,t){let n=window.getComputedStyle(e).getPropertyValue(t).trim();return mv(n,t)}function nd(e,t){return t?e:e==="left"||e==="right"?"x":"y"}function rd(e,t){return t?e:"all"}function od(e){let t=e==="top-left"||e==="bottom-left"?1:-1,n=e==="top-left"||e==="top-right"?1:-1;return{x:t*ap,y:n*ap}}function yv(e,t,n){return e*n.x+t*n.y}function sp(e,t){let n=Math.max(1,t);return(e%n+n)%n}function vv(e,t,n){return{cursor:{x:sp(e.cursor.x+t.x,n.width),y:sp(e.cursor.y+t.y,n.height)},deltaX:e.deltaX+t.x,deltaY:e.deltaY+t.y}}function bv(e,t,n,r,o){if(e<o*2||t<o*2)return!1;let i=["top-left","top-right","bottom-right","bottom-left"].map(a=>{let l=od(a),s=r+n[a],d=a.endsWith("left")?0:e,u=a.startsWith("top")?0:t;return{x:d+l.x*s,y:u+l.y*s}});return i.every((a,l)=>i.slice(l+1).every(s=>Math.hypot(a.x-s.x,a.y-s.y)>=o))}function xv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var id=["top-left","top-right","bottom-right","bottom-left"],dp=14;function cp({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i,onHandlePointerDown:a}){let[l,s]=$(null),d=t["top-left"],u=t["top-right"],p=t["bottom-right"],c=t["bottom-left"];if(_(()=>{if(!e){s(null);return}let I=()=>{s(e.getBoundingClientRect())};return I(),window.addEventListener("scroll",I,{passive:!0}),window.addEventListener("resize",I,{passive:!0}),()=>{window.removeEventListener("scroll",I),window.removeEventListener("resize",I)}},[e]),Et(()=>{e&&s(e.getBoundingClientRect())},[e,d,u,p,c]),!l)return null;let h=l.width,m=l.height;if(!bv(h,m,t,dp,20))return null;let g=xv(n,.2),x={"top-left":{x:0,y:0},"top-right":{x:h,y:0},"bottom-right":{x:h,y:m},"bottom-left":{x:0,y:m}},S=Object.fromEntries(id.map(I=>{let z=od(I),G=dp+t[I],E=x[I];return[I,{x:E.x+z.x*G,y:E.y+z.y*G}]})),P=o??r,R={position:"fixed",top:l.top,left:l.left,width:h,height:m,pointerEvents:"none",zIndex:a?9999:9996,overflow:"visible"};return A("div",{"data-devtools":"border-radius-handles","data-popmelt-steer-overlay":!0,style:R,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${h} ${m}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,h-1),height:Math.max(0,m-1),fill:"none",stroke:g,strokeWidth:"1"}),id.map(I=>{let z=S[I];return f("circle",{cx:z.x,cy:z.y,r:I===P?4:3,fill:n,stroke:"#ffffff",strokeWidth:2},I)}),a&&id.map(I=>{let z=S[I],G=x[I],E=I==="top-left"||I==="bottom-right"?"nwse-resize":"nesw-resize";return A("g",{children:[f("line",{"data-radius-handle-access":I,x1:G.x,y1:G.y,x2:z.x,y2:z.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:E},onPointerDown:K=>a(I,K)}),f("circle",{cx:z.x,cy:z.y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:E},onPointerDown:K=>a(I,K)})]},`hit-${I}`)})]}),i&&P&&(()=>{let I=Math.round(t[P]);return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:I})})()]})}function up({centerX:e,centerY:t,orientation:n,accentColor:r,...o}){let i=n==="horizontal"?10:6,a=n==="horizontal"?6:10;return f("rect",{...o,"data-direct-manipulation-handle":"",x:e-i/2,y:t-a/2,width:i,height:a,fill:r,stroke:"#ffffff",strokeWidth:2})}function ad(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function pp({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:a=!1,refreshKey:l=0,onHandlePointerDown:s}){let[d,u]=$(null),[p,c]=$([]),[h,m]=$(!1);if(_(()=>{let E=Y=>{(Y.key==="Meta"||Y.key==="Control")&&m(!0)},K=Y=>{(Y.key==="Meta"||Y.key==="Control")&&m(!1)},N=()=>m(!1);return window.addEventListener("keydown",E,!0),window.addEventListener("keyup",K,!0),window.addEventListener("blur",N),()=>{window.removeEventListener("keydown",E,!0),window.removeEventListener("keyup",K,!0),window.removeEventListener("blur",N)}},[]),_(()=>{if(!e){u(null),c([]);return}let E=()=>{u(e.getBoundingClientRect()),c(dl(e))};return E(),window.addEventListener("scroll",E,{passive:!0}),window.addEventListener("resize",E,{passive:!0}),()=>{window.removeEventListener("scroll",E),window.removeEventListener("resize",E)}},[e]),Et(()=>{e&&(u(e.getBoundingClientRect()),c(dl(e)))},[e,t.row,t.column,l]),!d||p.length===0)return null;let g=d.width,x=d.height,S="pm-gap-stripe-pattern",P=ad(n,.25),R=ad(n,.1),I=ad(n,.2),z={position:"fixed",top:d.top,left:d.left,width:g,height:x,pointerEvents:"none",zIndex:s?9999:9996,overflow:"visible"},G=o??r;return A("div",{"data-devtools":"gap-handles","data-popmelt-steer-overlay":!0,style:z,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${g} ${x}`,children:[f("defs",{children:f("pattern",{id:S,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:P,strokeWidth:"1.5"})})}),f("rect",{x:"0.5",y:"0.5",width:Math.max(0,g-1),height:Math.max(0,x-1),fill:"none",stroke:I,strokeWidth:"1"}),p.map((E,K)=>{let N=E.x-d.left,Y=E.y-d.top,J=E.w,le=E.h,w=h?E.axis===G:!0;return(E.axis==="row"?t.row:t.column)===0?null:A("g",{opacity:w?1:.6,children:[f("rect",{x:N,y:Y,width:J,height:le,fill:R}),f("rect",{x:N,y:Y,width:J,height:le,fill:`url(#${S})`})]},K)}),p.map((E,K)=>{let N=E.x-d.left+E.w/2,Y=E.y-d.top+E.h/2;return a?f("circle",{"data-gap-handle":E.axis,cx:N,cy:Y,r:3,fill:n,stroke:"#ffffff",strokeWidth:2},`gap-handle-${K}`):f(up,{"data-gap-handle":E.axis,centerX:N,centerY:Y,orientation:E.axis==="column"?"vertical":"horizontal",accentColor:n},`gap-handle-${K}`)}),s&&p.map((E,K)=>{let N=E.x-d.left+E.w/2,Y=E.y-d.top+E.h/2,J=Math.max(E.w,20),le=Math.max(E.h,20);return f("rect",{x:N-J/2,y:Y-le/2,width:J,height:le,fill:"transparent",style:{pointerEvents:"all",cursor:E.axis==="row"?"ns-resize":"ew-resize"},onPointerDown:w=>s(E.axis,w)},`gap-hit-${K}`)})]}),i&&G&&(()=>{let E=a?"auto":String(Math.round(G==="row"?t.row:t.column));return f("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:E})})()]})}var wv=new Set(["CANVAS","EMBED","IFRAME","IMG","INPUT","OBJECT","VIDEO"]),Sv=["top","bottom"],Iv=["left","right"];function kv({isHtmlElement:e,tagName:t,display:n,writingMode:r}){return!e||n!=="inline"||wv.has(t)?[]:r.startsWith("horizontal")?Sv:Iv}function Ev(e,t=window.getComputedStyle(e)){return kv({isHtmlElement:e instanceof HTMLElement,tagName:e.tagName,display:t.display,writingMode:t.writingMode})}function Zi(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}var Tv={top:"bottom",bottom:"top",left:"right",right:"left"},$a="#808080";function fp({element:e,padding:t,mode:n="padding",accentColor:r,hoveredSide:o,draggingSide:i,activeSides:a,cursorViewport:l,refreshKey:s,onHandlePointerDown:d}){let[u,p]=$(null),[c,h]=$(!1);if(_(()=>{let X=Ee=>{(Ee.key==="Alt"||Ee.key==="Control")&&h(!0)},Te=Ee=>{(Ee.key==="Alt"||Ee.key==="Control")&&h(!1)},Ae=()=>h(!1);return window.addEventListener("keydown",X,!0),window.addEventListener("keyup",Te,!0),window.addEventListener("blur",Ae),()=>{window.removeEventListener("keydown",X,!0),window.removeEventListener("keyup",Te,!0),window.removeEventListener("blur",Ae)}},[]),_(()=>{if(!e){p(null);return}let X=()=>{p(e.getBoundingClientRect())};return X(),window.addEventListener("scroll",X,{passive:!0}),window.addEventListener("resize",X,{passive:!0}),()=>{window.removeEventListener("scroll",X),window.removeEventListener("resize",X)}},[e]),Et(()=>{e&&p(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,s]),!u)return null;let m=u.width,g=u.height,{top:x,right:S,bottom:P,left:R}=t,I=Math.max(0,x),z=Math.max(0,S),G=Math.max(0,P),E=Math.max(0,R),K=n==="margin",N=K?m+E+z:m,Y=K?g+I+G:g,J=K?E:0,le=K?I:0,w=K?"pm-dot-pattern":"pm-stripe-pattern",Q=Zi(r,.25),D=Zi(r,.1),F=Zi(r,.2),M=Zi($a,.55),j=Zi($a,.18),L=Zi($a,.9),T=new Set(K?[]:Ev(e)),Z=T.size>0,re="pm-neutral-stripe-pattern",ee={position:"fixed",top:u.top-(K?I:0),left:u.left-(K?E:0),width:N,height:Y,pointerEvents:"none",zIndex:d?9999:9996,overflow:"visible"},oe=["top","right","bottom","left"],U={top:`0,0 ${N},0 ${N-z},${I} ${E},${I}`,right:`${N},0 ${N},${Y} ${N-z},${Y-G} ${N-z},${I}`,bottom:`0,${Y} ${E},${Y-G} ${N-z},${Y-G} ${N},${Y}`,left:`0,0 ${E},${I} ${E},${Y-G} 0,${Y}`},fe={top:{x:N/2,y:I/2,orientation:"horizontal"},bottom:{x:N/2,y:Y-G/2,orientation:"horizontal"},left:{x:E/2,y:Y/2,orientation:"vertical"},right:{x:N-z/2,y:Y/2,orientation:"vertical"}},me=new Set(a);return i?me.add(i):o&&(me.add(o),c||me.add(Tv[o])),A("div",{"data-devtools":"padding-handles","data-popmelt-steer-overlay":!0,style:ee,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${N} ${Y}`,children:[A("defs",{children:[K?f("pattern",{id:w,patternUnits:"userSpaceOnUse",width:"4",height:"4",children:f("circle",{cx:"1",cy:"1",r:"0.65",fill:Q})}):f("pattern",{id:w,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:Q,strokeWidth:"1.5"})}),Z&&f("pattern",{id:re,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:f("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:M,strokeWidth:"1.5"})})]}),f("rect",{x:J+.5,y:le+.5,width:Math.max(0,m-1),height:Math.max(0,g-1),fill:"none",stroke:F,strokeWidth:"1"}),oe.map(X=>{if(t[X]<=0)return null;let Te=me.has(X),Ae=T.has(X);return A("g",{"data-padding-flow":Ae?"paint-only":"layout",opacity:Te?1:.6,children:[f("polygon",{points:U[X],fill:Ae?j:D}),f("polygon",{points:U[X],fill:`url(#${Ae?re:w})`})]},X)}),T.has("top")&&I>0&&f("line",{x1:E,y1:I,x2:N-z,y2:I,stroke:L,strokeWidth:"1"}),T.has("bottom")&&G>0&&f("line",{x1:E,y1:Y-G,x2:N-z,y2:Y-G,stroke:L,strokeWidth:"1"}),T.has("left")&&E>0&&f("line",{x1:E,y1:I,x2:E,y2:Y-G,stroke:L,strokeWidth:"1"}),T.has("right")&&z>0&&f("line",{x1:N-z,y1:I,x2:N-z,y2:Y-G,stroke:L,strokeWidth:"1"}),oe.map(X=>{let Te=fe[X];return f(up,{centerX:Te.x,centerY:Te.y,orientation:Te.orientation,accentColor:T.has(X)?$a:r,"data-padding-flow":T.has(X)?"paint-only":"layout"},`handle-${X}`)}),d&&oe.map(X=>{let Te=fe[X],Ae=20;return f("rect",{x:Te.x-Ae/2,y:Te.y-Ae/2,width:Ae,height:Ae,fill:"transparent",style:{pointerEvents:"all",cursor:"grab"},onPointerDown:Ee=>d(X,Ee)},`hit-${X}`)})]}),l&&(o||i)&&(()=>{let X=i??o,Te=Math.round(t[X]),Ae=T.has(X);return A("div",{style:{position:"fixed",left:l.x+8,top:l.y-28,background:Ae?$a:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[Te,Ae?" \xB7 paint only":""]})})()]})}var ld=["flex-start","center","flex-end"],sd=["flex-start","center","flex-end"];function Cv(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Av(e){return e==="normal"||e==="stretch"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function hp(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,r=1/0,o=-1/0,i=-1/0;for(let a of t){let l=a.getBoundingClientRect();l.width===0&&l.height===0||(l.top<n&&(n=l.top),l.left<r&&(r=l.left),l.bottom>o&&(o=l.bottom),l.right>i&&(i=l.right))}return n===1/0?null:new DOMRect(r,n,i-r,o-n)}function Mv({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=$(null);if(_(()=>{if(!e){i(null);return}let g=()=>i(hp(e));return g(),window.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),()=>{window.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[e]),Et(()=>{e&&i(hp(e))},[e,r]),!o)return null;let a=o,l=window.getComputedStyle(e),s=l.display;if(s!=="flex"&&s!=="inline-flex")return null;let d=l.flexDirection,u=d==="column"||d==="column-reverse"?"vertical":"horizontal",p=u==="horizontal"?"vertical":"horizontal",c=[];if(t==="shift"){let g=Cv(l.justifyContent);if(g){let x=ld.indexOf(g);u==="horizontal"?(x>0&&c.push("left"),x<ld.length-1&&c.push("right")):(x>0&&c.push("up"),x<ld.length-1&&c.push("down"))}}else{let g=Av(l.alignItems);if(g){let x=sd.indexOf(g);p==="horizontal"?(x>0&&c.push("left"),x<sd.length-1&&c.push("right")):(x>0&&c.push("up"),x<sd.length-1&&c.push("down"))}}if(c.length===0)return null;let h=14,m=7;return f(it,{children:c.map(g=>{let x,S;switch(g){case"right":x=a.right+h,S=a.top+a.height/2;break;case"left":x=a.left-h,S=a.top+a.height/2;break;case"down":x=a.left+a.width/2,S=a.bottom+h;break;case"up":x=a.left+a.width/2,S=a.top-h;break}let P=g==="right"?0:g==="left"?180:g==="down"?90:-90,R={position:"fixed",left:x-m,top:S-m,width:m*2,height:m*2,pointerEvents:"none",zIndex:9997};return f("div",{"data-devtools":"swipe-hint",style:R,children:f("svg",{width:m*2,height:m*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:A("g",{transform:`rotate(${P})`,children:[f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),f("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),f("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},g)})})}function Rv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function $v({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:a}){let[l,s]=$(null);if(_(()=>{if(!e){s(null);return}let S=()=>{s(js(e))};return S(),window.addEventListener("scroll",S,{passive:!0}),window.addEventListener("resize",S,{passive:!0}),()=>{window.removeEventListener("scroll",S),window.removeEventListener("resize",S)}},[e]),Et(()=>{e&&s(js(e))},[e,t,n]),!l)return null;let d=l.width,u=l.height,p=Rv(r,.2),c=i??o,h=8,m=2,g={position:"fixed",top:l.top,left:l.left,width:d,height:u,pointerEvents:"none",zIndex:9996,overflow:"visible"},x=S=>S==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return A("div",{"data-devtools":"text-handles",style:g,children:[A("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${u}`,children:[f("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,u-1),fill:"none",stroke:p,strokeWidth:"1"}),(c==="font-size"||!c)&&f("rect",{x:d-m/2,y:u/2-h/2,width:m,height:h,fill:r,stroke:"#ffffff",strokeWidth:c==="font-size"?4:2,paintOrder:"stroke"}),(c==="line-height"||!c)&&f("rect",{x:d/2-h/2,y:u-m/2,width:h,height:m,fill:r,stroke:"#ffffff",strokeWidth:c==="line-height"?4:2,paintOrder:"stroke"})]}),a&&c&&(()=>{let S=c==="font-size"?"Aa":"Lh",P=x(c);return A("div",{style:{position:"fixed",left:a.x+8,top:a.y-28,background:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[S," ",P]})})()]})}function Lv({active:e,accentColor:t,domDropPreview:n,cursorViewport:r,gapElement:o,gapDragging:i,gapHoveredAxis:a,gapIsAuto:l,gapRefreshKey:s,swipeHint:d,radiusElement:u,radiusDragging:p,radiusHoveredCorner:c,textElement:h,textDragging:m,textHoveredProperty:g,paddingElement:x,paddingDragging:S,paddingHoveredSide:P}){if(!e)return null;let R=h&&!m?eu(h):null;return A(it,{children:[n&&f("div",{"data-devtools":"dom-drop-preview",style:{position:"fixed",zIndex:9997,pointerEvents:"none",backgroundColor:t,boxShadow:`0 0 0 1px ${t}`,opacity:n.mode==="copy"?.72:1,...n.rect.height>=n.rect.width?{left:n.rect.left-2,top:n.placement==="before"?n.rect.top-2:n.rect.bottom,width:n.rect.width+4,height:2}:{left:n.placement==="before"?n.rect.left-2:n.rect.right,top:n.rect.top-2,width:2,height:n.rect.height+4}}}),o&&f(pp,{element:o,gap:i?{row:i.row,column:i.column}:sl(o),accentColor:t,hoveredAxis:a,draggingAxis:i?.axis??null,cursorViewport:r,isAutoGap:l,refreshKey:s}),d&&f(Mv,{element:d.target,modifier:d.modifier,accentColor:t,refreshKey:s}),!d&&u&&f(cp,{element:u,radius:p?.radius??qi(u),accentColor:t,hoveredCorner:c,draggingCorner:p?.corner??null,cursorViewport:r}),!d&&h&&f($v,{element:h,fontSize:m?.fontSize??R.fontSize,lineHeight:m?.lineHeight??R.lineHeight,accentColor:t,hoveredProperty:g,draggingProperty:m?.property??null,cursorViewport:r}),!d&&x&&f(fp,{element:x,padding:S?.padding??Sa(x),accentColor:t,hoveredSide:P,draggingSide:S?.side??null,cursorViewport:r,refreshKey:m?m.fontSize+m.lineHeight*1e3:0})]})}var jv=4,Pv=8,zv=7.2,Dv=45,Hv=96,Ov=89;function mp(e,t){let n=e===0?"Ready":`${e} action${e===1?"":"s"}`,r=Pv*2+n.length*zv,o=t?e===0?22:Dv:e===0?Hv:Ov;return{label:n,accessibleShortcut:e===0?"Command Escape to exit":"Command Enter to complete",width:Math.ceil(r+jv+o)}}var Nv=4,_v=8;function Fv({cursor:e,stepCount:t,accentColor:n,toolbarElement:r,threadElement:o}){let[i]=Hs(),a=Os[i],[l,s]=$(!1);_(()=>{s(!1);let z=window.setTimeout(()=>s(!0),1e3);return()=>window.clearTimeout(z)},[t]);let d={width:window.innerWidth,height:window.innerHeight},u=mp(t,!1),p=Lc(e,d,22,u.width),c=r?jc(p,r.getBoundingClientRect(),22,void 0,u.width):1,h=o?Pc(e,p,o.getBoundingClientRect(),22,void 0,void 0,u.width):1,m=Math.min(c,h)<1||l,g=mp(t,m),x=Lc(e,d,22,g.width),S=r?jc(x,r.getBoundingClientRect(),22,void 0,g.width):1,P=o?Pc(e,x,o.getBoundingClientRect(),22,void 0,void 0,g.width):1,R=rm(S,P,!1),I={position:"fixed",left:x.left,top:x.top,width:g.width,height:22,display:"flex",alignItems:"center",gap:Nv,boxSizing:"border-box",padding:0,color:"#000000",fontSize:12,fontWeight:400,lineHeight:1,pointerEvents:"none",whiteSpace:"nowrap",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1)",opacity:R,transform:`scale(${R})`,transformOrigin:`${e.x-x.left}px ${e.y-x.top}px`,visibility:R===0?"hidden":"visible",zIndex:2147483647,colorScheme:i};return A("div",{role:"status","aria-label":`${g.label}. ${g.accessibleShortcut}`,"data-devtools":"interaction-episode-hud","data-popmelt-interaction-episode-hud":!0,style:I,children:[f("span",{style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",padding:`4px ${_v}px`,borderRadius:"2px 8px 8px 8px",background:n,color:"#dddddd",fontFamily:sg,lineHeight:1.2},children:g.label}),f("span",{"aria-hidden":"true",style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",gap:m?0:6,padding:m?"4px 5px":t===0?"4px 6px 4px 8px":"4px 8px 4px 10px",borderRadius:8,background:a.surface,border:`1px solid ${a.border}`,color:a.primary,fontFamily:zs,lineHeight:1.2,letterSpacing:"0.24px",overflow:"hidden",transition:"width 180ms cubic-bezier(0.2, 0, 0, 1), padding 180ms cubic-bezier(0.2, 0, 0, 1)"},children:m?t===0?f(hl,{size:12,strokeWidth:2}):A("span",{"data-popmelt-interaction-episode-complete-shortcut":!0,style:{display:"inline-flex",alignItems:"center",gap:2},children:[f(Iu,{size:12,strokeWidth:2}),f("span",{children:"+"}),f(Js,{size:12,strokeWidth:2})]}):A(it,{children:[A("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[f(Iu,{size:12,strokeWidth:2}),f("span",{children:"+"}),t===0?f("span",{children:"esc"}):f(Js,{size:12,strokeWidth:2})]}),f("span",{style:{color:a.secondary},children:"to"}),t===0?f(hl,{size:12,strokeWidth:2,color:"red"}):f($o,{size:12,strokeWidth:2,color:"#02bd02"})]})})]})}function Wv(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);return n?`oklch(${n[1]} / ${t})`:`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}function Bv({styleModifications:e,textModifications:t=[],accentColor:n}){let[r,o]=$([]);if(_(()=>{let a=null,l=()=>{let u=[],p=[...e,...t],c=new Set;for(let h of p){if(c.has(h.selector))continue;let m=pn(h.selector);if(!m)continue;c.add(h.selector);let g=vn(m);if(g.width===0&&g.height===0)continue;let x=qi(m);u.push({selector:h.selector,top:g.top,left:g.left,width:g.width,height:g.height,borderRadius:`${x["top-left"]}px ${x["top-right"]}px ${x["bottom-right"]}px ${x["bottom-left"]}px`})}o(u)},s=()=>{a&&cancelAnimationFrame(a),a=requestAnimationFrame(l)};l(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s,{passive:!0});let d=new MutationObserver(s);return d.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s),d.disconnect(),a&&cancelAnimationFrame(a)}},[e,t]),r.length===0)return null;let i=Wv(n,.2);return f(it,{children:r.map(a=>{let l={position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"none",zIndex:9995,border:`1px solid ${i}`,borderRadius:a.borderRadius,boxSizing:"border-box"};return f("div",{"data-devtools":"mod-border",style:l},a.selector)})})}var gp=["topLeft","topRight","bottomRight","bottomLeft"],qv=[["topLeft","topRight"],["topRight","bottomRight"],["bottomRight","bottomLeft"],["bottomLeft","topLeft"]],Jv=8,dd="#000000",Uv="#ffffff";function Yv(e){let t=e.match(/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*([\d.]+%?))?\s*\)$/i);if(!t)return null;let n=t[4],r=n?n.endsWith("%")?Number.parseFloat(n)/100:Number.parseFloat(n):1,o={red:Number.parseFloat(t[1]),green:Number.parseFloat(t[2]),blue:Number.parseFloat(t[3]),alpha:r};return Object.values(o).every(Number.isFinite)?o:null}function yp(e){let t=e.parentElement;for(;t;){let n=Yv(getComputedStyle(t).backgroundColor);if(n&&n.alpha>=.95)return(n.red*.299+n.green*.587+n.blue*.114)/255>=.55?dd:Uv;t=t.parentElement}return dd}function Kv(e){return gp.map(t=>`${e[t].x},${e[t].y}`).join(" ")}function Xv(e,t,n,r){let o=Math.atan2(n.y-t.y,n.x-t.x),i=Math.atan2(r.y-e.y,r.x-e.x),a=Math.atan2(Math.sin(i-o),Math.cos(i-o));if(Math.abs(a)<.001)return null;let l=Math.hypot(r.x-e.x,r.y-e.y),s={x:e.x+Math.cos(o)*l,y:e.y+Math.sin(o)*l},d=Jv/2,u={x:Math.cos(o),y:Math.sin(o)},p=a>0?1:0;return{path:`M ${s.x} ${s.y} A ${l} ${l} 0 0 ${p} ${r.x} ${r.y}`,startTick:{start:{x:s.x-u.x*d,y:s.y-u.y*d},end:{x:s.x+u.x*d,y:s.y+u.y*d}}}}function $l({element:e,activeFacet:t,accentColor:n,showHandles:r=!0,outlineStyle:o="solid",showRotateHandle:i=!0,scrimOpacity:a=.05,cursorViewport:l,draggingKind:s,draggingCorner:d,ghostQuad:u,refreshKey:p,onHandlePointerDown:c}){let[h,m]=$(null),[g,x]=$(null),[S,P]=$(null),[R,I]=$(null),[z,G]=$(!1),[E,K]=$(dd),N=B("top"),Y=B(null),J=`transform-occlusion-${Ig().replace(/:/g,"")}`;if(_(()=>{let me=()=>{if(!ul(e.ownerDocument)){m(null);return}let Ee=Lr(e)?Ma(e):fi(e);Y.current=Ee;let _e=Sl(Ee,e.ownerDocument);x(_e),I(Al(Gu(e,Ee),Ee,_e)),G(Zu(e)),K(yp(e));let O=Lr(e)?Vi(e,Ee):fi(e),ze=Sl(O,e.ownerDocument);P(ze),m(ze)};me(),window.addEventListener("scroll",me,{passive:!0}),window.addEventListener("resize",me,{passive:!0});let X=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>me());X?.observe(e);let Te="",Ae=mu(e.ownerDocument)?Gc(()=>{let Ee=vn(e),_e=JSON.stringify([ul(e.ownerDocument),Ee.x,Ee.y,Ee.width,Ee.height]);_e!==Te&&(Te=_e,me())}):void 0;return()=>{Ae?.(),window.removeEventListener("scroll",me),window.removeEventListener("resize",me),X?.disconnect()}},[e]),Et(()=>{let me=s&&Y.current?Y.current:Lr(e)?Ma(e):fi(e);Y.current=me;let X=Sl(me,e.ownerDocument);x(X),I(Al(Gu(e,me),me,X)),G(Zu(e)),K(yp(e));let Te=Lr(e)?Vi(e,me):fi(e),Ae=Sl(Te,e.ownerDocument);P(Ae),m(Ae)},[s,e,p]),!h)return null;let le=l?td(h,l,20,{currentSide:N.current,hysteresis:8,viewport:{width:window.innerWidth,height:window.innerHeight}}):rp(h,20);s!=="rotate"&&(N.current=le.side);let w=s==="rotate"?{...Qi(h,void 0,N.current),side:N.current}:le,Q={position:"fixed",inset:0,pointerEvents:"none",zIndex:c?9999:9996},D=s?.95:.72,F=!!(g&&ov(g,h)),M=g&&S&&R?Al(R,g,S):R,j=M?np(h,M):h,L=u&&g&&R?Al(R,g,u):R,T=u&&L?np(u,L):u,Z=Ra(h),re=u?Ra(u):null,ee=u?Qi(u,void 0,w.side):null,oe=ee&&re?Xv(Z,re,ee.handle,w.handle):null,U=z&&S&&M?ed(S,M):null,fe=U?`url(#${J})`:void 0;return f("div",{"data-devtools":r?"transform-handles":"element-boundary","data-popmelt-steer-overlay":!0,"data-transform-facet":t,style:Q,children:A("svg",{width:"100%",height:"100%",style:{position:"absolute",inset:0,pointerEvents:"none"},children:[U&&f("defs",{children:A("mask",{id:J,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[f("rect",{width:"100%",height:"100%",fill:"#ffffff"}),f("path",{"data-transform-occlusion-mask":"",d:U,fill:"#000000"})]})}),F&&g&&R&&f("path",{"data-transform-layout-plate":"",d:ed(g,R),fill:E,fillOpacity:"0.07",stroke:"none",mask:fe}),f("path",{"data-transform-effective-outline":"","data-transform-effective-scrim":"",d:M?ed(h,M):`M ${Kv(h)} Z`,fill:n,fillOpacity:a,stroke:n,strokeWidth:"1",strokeOpacity:D,strokeDasharray:o==="dashed"?"4 2":void 0}),s==="translate"&&re&&A("g",{"data-transform-origin-trace":"translate",children:[f("line",{x1:re.x,y1:re.y,x2:Z.x,y2:Z.y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:re.x,cy:re.y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="scale"&&d&&T&&A("g",{"data-transform-origin-trace":"scale",children:[f("line",{x1:T[d].x,y1:T[d].y,x2:j[d].x,y2:j[d].y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("circle",{"data-transform-origin-point":"",cx:T[d].x,cy:T[d].y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="rotate"&&oe&&A("g",{"data-transform-origin-trace":"rotate",children:[f("path",{"data-transform-rotation-arc":"",d:oe.path,fill:"none",stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),f("line",{"data-transform-rotation-arc-start":"",x1:oe.startTick.start.x,y1:oe.startTick.start.y,x2:oe.startTick.end.x,y2:oe.startTick.end.y,stroke:"#808080",strokeWidth:"1",strokeLinecap:"round",opacity:"0.85"})]}),c&&qv.map(([me,X])=>f("line",{"data-transform-handle":"translate",x1:h[me].x,y1:h[me].y,x2:h[X].x,y2:h[X].y,stroke:"transparent",strokeWidth:Uu,style:{pointerEvents:"stroke",cursor:"move"},onPointerDown:Te=>c("translate",null,Te)},`${me}-${X}`)),r&&A("g",{"data-transform-affordances":"",children:[gp.map(me=>A("g",{children:[f("rect",{x:j[me].x-6/2,y:j[me].y-6/2,width:6,height:6,fill:n,stroke:"#ffffff",strokeWidth:2}),c&&f("circle",{"data-transform-handle":"scale","data-transform-corner":me,cx:j[me].x,cy:j[me].y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:me==="topLeft"||me==="bottomRight"?"nwse-resize":"nesw-resize"},onPointerDown:X=>c("scale",me,X)})]},me)),i&&A(it,{children:[f("line",{x1:w.edge.x,y1:w.edge.y,x2:w.handle.x,y2:w.handle.y,stroke:n,strokeWidth:"1",opacity:D}),f("circle",{cx:w.handle.x,cy:w.handle.y,r:6/2,fill:n,stroke:"#ffffff",strokeWidth:2}),c&&f("line",{"data-transform-handle":"rotate",x1:w.edge.x,y1:w.edge.y,x2:w.handle.x,y2:w.handle.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:"grab"},onPointerDown:me=>{N.current=w.side,c("rotate",null,me,w.side)}})]})]})]})})}var Vv=["top","right","bottom","left"];function Gv(e){return e==="all"?Vv:e==="x"?["left","right"]:e==="y"?["top","bottom"]:e==="top"||e==="right"||e==="bottom"||e==="left"?[e]:[]}function Qv(e){return e==="top-left"||e==="top-right"||e==="bottom-right"||e==="bottom-left"?e:null}function vp(e,t,n,r){return e&&n==="value"&&t==="transform"&&(r==="translate"||r==="scale"||r==="rotate")}function Zv({active:e,accentColor:t,family:n,stage:r,subproperty:o,hoveredElement:i,previewElement:a,transformPreviewElement:l,previewRevision:s,cursorViewport:d,drag:u,onGapPointerDown:p,onRadiusPointerDown:c,onSpacingPointerDown:h,onTransformPointerDown:m}){let g=e&&r==="value",x=i instanceof HTMLElement&&a===i,S=i instanceof HTMLElement&&($s(i,"row")||$s(i,"column")),P=u?.family==="transform"?u.element:i,R=vp(e,n,r,o)?o:null,I=R!==null&&Lr(P)&&(a===P||l===P||u?.family==="transform");return A(it,{children:[g&&(n==="padding"||n==="margin")&&x&&f(fp,{element:i,padding:n==="margin"?Xc(i):Sa(i),mode:n,accentColor:t,hoveredSide:u?.family===n?u.side??null:null,draggingSide:u?.family===n?u.side??null:null,activeSides:Gv(o),refreshKey:s,cursorViewport:u?.cursor,onHandlePointerDown:(z,G)=>h(n,z,G)}),g&&(n==="stack"||n==="grid")&&o==="gap"&&x&&f(pp,{element:i,gap:sl(i),accentColor:t,hoveredAxis:u?.gapAxis??null,draggingAxis:u?.gapAxis??null,refreshKey:s,cursorViewport:u?.cursor,isAutoGap:S,onHandlePointerDown:S?void 0:p}),g&&n==="radius"&&x&&f(cp,{element:i,radius:qi(i),accentColor:t,hoveredCorner:Qv(o),draggingCorner:u?.corner??null,cursorViewport:u?.cursor,onHandlePointerDown:c}),I&&f($l,{element:P,activeFacet:R,accentColor:t,draggingKind:u?.family==="transform"?u.transformKind??null:null,draggingCorner:u?.family==="transform"?u.transformCorner??null:null,ghostQuad:u?.family==="transform"?u.ghostQuad??null:null,cursorViewport:u?.cursor??d,refreshKey:s,onHandlePointerDown:m})]})}var Do=8,bp=2,eb=66,tb=3;function nb(){let e=Math.random()*Math.PI*2,t=5+Math.random()*8;return{x:Math.cos(e)*t,y:Math.sin(e)*t}}function rb({onSave:e}){let[t,n]=$(!1),[r]=Hs(),o=Os[r];return A("button",{type:"button","data-popmelt-subject-label-save":!0,"data-hovered":t?"true":"false","aria-label":"Save object label",onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),onPointerDown:i=>{i.preventDefault(),i.stopPropagation()},onClick:i=>{i.preventDefault(),i.stopPropagation(),e()},style:{appearance:"none",boxSizing:"border-box",height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:4,margin:0,padding:"0 8px",border:`1px solid ${o.border}`,borderRadius:8,backgroundColor:o.surface,color:o.primary,fontFamily:kn,fontSize:12,fontWeight:600,letterSpacing:"0.24px",lineHeight:1,whiteSpace:"nowrap",cursor:"pointer",pointerEvents:"auto",userSelect:"none",touchAction:"manipulation"},children:[A("span",{className:"popmelt-subject-save-default",children:[f(Js,{size:12,strokeWidth:2,"aria-hidden":!0}),f("span",{style:{color:o.secondary},children:"to"}),f($o,{size:12,strokeWidth:2,"aria-hidden":!0})]}),A("span",{className:"popmelt-subject-save-hovered",children:[f("span",{children:"Save"}),f($o,{size:12,strokeWidth:2,"aria-hidden":!0})]})]})}function ob(e,t){let n=t.x-e.start.x,r=t.y-e.start.y;if(e.kind==="translate")return{...e.bounds,left:e.bounds.left+n,top:e.bounds.top+r};let o=e.bounds.left+e.bounds.width,i=e.bounds.top+e.bounds.height;switch(e.corner){case"topLeft":{let a=Math.min(o-Do,e.bounds.left+n),l=Math.min(i-Do,e.bounds.top+r);return{left:a,top:l,width:o-a,height:i-l}}case"topRight":{let a=Math.max(e.bounds.left+Do,o+n),l=Math.min(i-Do,e.bounds.top+r);return{left:e.bounds.left,top:l,width:a-e.bounds.left,height:i-l}}case"bottomLeft":{let a=Math.min(o-Do,e.bounds.left+n),l=Math.max(e.bounds.top+Do,i+r);return{left:a,top:e.bounds.top,width:o-a,height:l-e.bounds.top}}default:{let a=Math.max(e.bounds.left+Do,o+n),l=Math.max(e.bounds.top+Do,i+r);return{left:e.bounds.left,top:e.bounds.top,width:a-e.bounds.left,height:l-e.bounds.top}}}}function ib({accentColor:e,created:t,registry:n,target:r,onCommit:o,onClose:i,onCancelCreated:a}){let l=n.resolve(r),s=B(l?.subject.label??"object"),[d,u]=$(s.current),p=l?.subject.trackingAnchors?.map(M=>({...M}))??[],c=B(p),[h,m]=$(p),[g,x]=$(0),[S,P]=$(0),R=B(null),I=B(null),z=B(null),G=B(!1),E=n.resolve(r),K=Se(()=>{let M=typeof document>"u"?null:document.createElement("canvas").getContext("2d");M&&(M.font=`${zc}px ${kn}`);let j=L=>(M?.measureText(L).width??L.length*7.2)+Math.max(0,L.length-1)*lm;return{label:Math.max(8,j(d||" ")),full:j(`<${d||" "}>`)+Dc*2}},[d]);if(Et(()=>{z.current?.focus(),z.current?.select()},[]),Et(()=>{if(g)for(let M of I.current?.querySelectorAll("[data-popmelt-tracking-anchor]")??[]){let j=nb();M.animate?.([{transform:"translate(-50%, -50%)"},{transform:`translate(calc(-50% + ${j.x}px), calc(-50% + ${j.y}px))`},{transform:`translate(calc(-50% - ${j.x*.55}px), calc(-50% - ${j.y*.55}px))`},{transform:"translate(-50%, -50%)"}],{duration:220,easing:"ease-out"})}},[g]),_(()=>n.subscribeFrame(()=>P(M=>M+1)),[n]),_(()=>{let M=L=>{let T=R.current;T&&(n.updateBounds(r,ob(T,{x:L.clientX,y:L.clientY})),P(Z=>Z+1))},j=()=>{R.current=null,P(L=>L+1)};return window.addEventListener("pointermove",M,!0),window.addEventListener("pointerup",j,!0),window.addEventListener("pointercancel",j,!0),()=>{window.removeEventListener("pointermove",M,!0),window.removeEventListener("pointerup",j,!0),window.removeEventListener("pointercancel",j,!0)}},[n,r]),!E)return null;let N=()=>{if(G.current)return;let M=d.trim();if(!M){t&&a();return}let j=c.current,L=j.length===1?[]:j,T=E.adapter.updateSubjectTrackingAnchors?n.updateTrackingAnchors(r,L):null,Z=n.rename(r,M)??T;Z&&o(Z),i()},Y=()=>{G.current=!0,t?a():i()},{bounds:J}=E.subject,le=!!E.adapter.updateSubjectTrackingAnchors,w=Math.min(400,K.full),Q=w+bp+eb,D=As({left:J.left,right:J.left+J.width,top:J.top,bottom:J.top+J.height,height:J.height},22,2,window.innerHeight,Q,window.innerWidth),F=D.horizontalAlignment==="right"?D.left-Q:D.left;return A(it,{children:[f($l,{element:E.element,activeFacet:"translate",accentColor:e,showRotateHandle:!1,refreshKey:S,draggingKind:R.current?.kind??null,draggingCorner:R.current?.corner??null,onHandlePointerDown:(M,j,L)=>{M!=="rotate"&&(L.preventDefault(),L.stopPropagation(),R.current={kind:M,corner:j,start:{x:L.clientX,y:L.clientY},bounds:{...E.subject.bounds}},P(T=>T+1))}}),le&&f("div",{ref:I,"data-popmelt-tracking-anchor-surface":!0,"aria-label":"Add tracking anchor",onPointerDown:M=>{if(M.button!==0)return;M.preventDefault(),M.stopPropagation();let j=c.current;if(j.length>=tb){x(T=>T+1);return}let L=[...j,{x:Math.max(0,Math.min(1,(M.clientX-J.left)/J.width)),y:Math.max(0,Math.min(1,(M.clientY-J.top)/J.height))}];c.current=L,m(L)},style:{position:"fixed",left:J.left,top:J.top,width:J.width,height:J.height,pointerEvents:"auto",cursor:"crosshair",zIndex:9998},children:h.map((M,j)=>f("span",{"data-popmelt-tracking-anchor":!0,"data-popmelt-tracking-anchor-reject":g?"true":void 0,style:{position:"absolute",left:`${M.x*100}%`,top:`${M.y*100}%`,width:10,height:10,boxSizing:"border-box",border:"2px solid #ffffff",borderRadius:"50%",background:e,boxShadow:"0 1px 3px rgba(0, 0, 0, 0.35)",pointerEvents:"none",transform:"translate(-50%, -50%)"}},j))}),f("style",{children:`
|
|
31
|
-
[data-popmelt-subject-label-editor]::selection {
|
|
32
|
-
background: #000000;
|
|
33
|
-
color: #ffffff;
|
|
34
|
-
}
|
|
35
|
-
.popmelt-subject-save-default {
|
|
36
|
-
display: inline-flex;
|
|
37
|
-
align-items: center;
|
|
38
|
-
gap: 4px;
|
|
39
|
-
}
|
|
40
|
-
.popmelt-subject-save-hovered {
|
|
41
|
-
display: none;
|
|
42
|
-
align-items: center;
|
|
43
|
-
gap: 4px;
|
|
44
|
-
}
|
|
45
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-default {
|
|
46
|
-
display: none;
|
|
47
|
-
}
|
|
48
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-hovered {
|
|
49
|
-
display: inline-flex;
|
|
50
|
-
}
|
|
51
|
-
@media (max-width: 767px) {
|
|
52
|
-
.popmelt-subject-save-default { display: none; }
|
|
53
|
-
.popmelt-subject-save-hovered { display: inline-flex; }
|
|
54
|
-
}
|
|
55
|
-
`}),A("div",{style:{position:"fixed",left:F,top:D.top,display:"flex",alignItems:"center",gap:bp,pointerEvents:"auto",zIndex:1e4},children:[A("div",{"data-popmelt-subject-label-editor":!0,style:{...om(e),width:w,gap:0,borderRadius:wa(D.anchor)},children:[f("span",{"aria-hidden":!0,children:"<"}),f("input",{ref:z,"data-popmelt-subject-label-input":!0,value:d,"aria-label":"Object label",spellCheck:!1,onChange:M=>u(M.target.value),onBlur:N,onKeyDown:M=>{M.key==="Escape"?(M.preventDefault(),Y()):M.key==="Enter"&&!M.metaKey&&!M.ctrlKey&&(M.preventDefault(),N())},style:{appearance:"none",boxSizing:"content-box",width:Math.min(K.label,400-Dc*2-16),minWidth:0,height:`${zc*1.2}px`,margin:0,padding:0,border:0,outline:0,background:"transparent",color:"inherit",font:"inherit",letterSpacing:"inherit",lineHeight:"inherit"}}),f("span",{"aria-hidden":!0,children:">"})]}),f(rb,{onSave:N})]})]})}var xp=2;function ab(e,t){if((e.annotation.status??"pending")!=="pending")return null;let n={x:t.x-e.startPoint.x,y:t.y-e.startPoint.y};return e.hasMoved?{session:{...e,startPoint:t},move:{delta:n,saveUndo:!1}}:Math.abs(n.x)>xp||Math.abs(n.y)>xp?{session:{...e,hasMoved:!0,startPoint:t},move:{delta:n,saveUndo:!0}}:null}function lb({session:e,clickPoint:t,groupLabelWidth:n=0}){let{annotation:r}=e;return e.hasMoved||r.type!=="text"||(r.status??"pending")!=="pending"?null:{activeText:{id:r.id,point:r.points[0],text:r.text||"",fontSize:r.fontSize||12,isNew:!1,clickPoint:{x:t.x-n,y:t.y},groupId:r.groupId,linkedSelector:r.linkedSelector,linkedAnchor:r.linkedAnchor,elements:r.elements,attachments:r.attachments,interactionEpisode:r.interactionEpisode},color:r.color}}function wp(e,t,n,r,o){let i={...e},a=i.right-i.left||1,l=i.bottom-i.top||1,s=a/l,d={...e};switch(t){case"topLeft":d.left=n.x,d.top=n.y;break;case"topRight":d.right=n.x,d.top=n.y;break;case"bottomLeft":d.left=n.x,d.bottom=n.y;break;case"bottomRight":d.right=n.x,d.bottom=n.y;break}if(r)switch(t){case"topLeft":d.right=i.right+(i.left-d.left),d.bottom=i.bottom+(i.top-d.top);break;case"topRight":d.left=i.left-(d.right-i.right),d.bottom=i.bottom+(i.top-d.top);break;case"bottomLeft":d.right=i.right+(i.left-d.left),d.top=i.top-(d.bottom-i.bottom);break;case"bottomRight":d.left=i.left-(d.right-i.right),d.top=i.top-(d.bottom-i.bottom);break}if(o){let u=d.right-d.left,p=d.bottom-d.top;if(Math.abs(u/p)>s){let c=Math.abs(p)*s*Math.sign(u);t==="topLeft"||t==="bottomLeft"?d.left=d.right-c:d.right=d.left+c}else{let c=Math.abs(u)/s*Math.sign(p);t==="topLeft"||t==="topRight"?d.top=d.bottom-c:d.bottom=d.top+c}}return d}function sb({annotation:e,session:t,point:n,centerOrigin:r,lockAspect:o}){let{handle:i,originalPoints:a}=t;if(e.type==="line"){let p=a[0],c=a[a.length-1];return i==="start"?[n,c]:[p,n]}if(e.type==="freehand"){let p={left:Math.min(...a.map(S=>S.x)),right:Math.max(...a.map(S=>S.x)),top:Math.min(...a.map(S=>S.y)),bottom:Math.max(...a.map(S=>S.y))},c=p.right-p.left||1,h=p.bottom-p.top||1,m=wp(p,i,n,r,o),g=m.right-m.left||1,x=m.bottom-m.top||1;return a.map(S=>({x:m.left+(S.x-p.left)/c*g,y:m.top+(S.y-p.top)/h*x}))}let l=a[0],s=a[a.length-1],d={left:Math.min(l.x,s.x),right:Math.max(l.x,s.x),top:Math.min(l.y,s.y),bottom:Math.max(l.y,s.y)};if(e.type==="circle"){let p=(d.left+d.right)/2,c=(d.top+d.bottom)/2,h=d.right-d.left,m=d.bottom-d.top,g={...d};switch(i){case"top":{if(g.top=n.y,r&&(g.bottom=c+(c-n.y)),o){let x=(g.bottom-g.top)*(h/m)/2;g.left=p-x,g.right=p+x}break}case"bottom":{if(g.bottom=n.y,r&&(g.top=c-(n.y-c)),o){let x=(g.bottom-g.top)*(h/m)/2;g.left=p-x,g.right=p+x}break}case"left":{if(g.left=n.x,r&&(g.right=p+(p-n.x)),o){let x=(g.right-g.left)*(m/h)/2;g.top=c-x,g.bottom=c+x}break}case"right":{if(g.right=n.x,r&&(g.left=p-(n.x-p)),o){let x=(g.right-g.left)*(m/h)/2;g.top=c-x,g.bottom=c+x}break}}return[{x:g.left,y:g.top},{x:g.right,y:g.bottom}]}let u=wp(d,i,n,r,o);return[{x:u.left,y:u.top},{x:u.right,y:u.bottom}]}function db(){let[e,t]=$(null),[n,r]=$(null);return{dragState:e,resizeState:n,setDragState:t,setResizeState:r}}function cd(e,t,n=!0){let r=new Map(Jc(e.segments,e.originalText,t).map(({segment:o,modifiedText:i})=>[o,i]));return{type:"MODIFY_TEXT_CONTENTS",...n?{}:{saveUndo:!1},payload:e.segments.map(o=>({selector:e.selector,durableSelector:e.durableSelector,element:e.element,textNodePath:o.textNodePath,original:o.originalText,modified:r.get(o)??o.originalText}))}}function cb(e,t,n){return e||(t>0?`[${t} image${t>1?"s":""}]`:n[0]?.name??"")}function ub(e){if(e.domEdit){let i=e.domEdit;return e.text===i.originalText?{action:null,sendHintAnchorId:null,attachedImages:null}:{action:cd(i,e.text),sendHintAnchorId:null,attachedImages:null}}let t=e.images??[],n=t.length,r=e.attachments??[];if(!(e.text.trim()||n>0||r.length>0||e.interactionEpisode?.steps.length))return{action:e.isNew?null:{type:"DELETE_ANNOTATION",payload:{id:e.id}},sendHintAnchorId:null,attachedImages:null};let o=cb(e.text,n,r)||`[Interaction episode: ${e.interactionEpisode?.steps.length??0} steps]`;return{action:e.isNew?{type:"ADD_TEXT",payload:{point:e.point,text:o,fontSize:e.fontSize,id:e.id,groupId:e.groupId,linkedSelector:e.linkedSelector,target:e.target,linkedAnchor:e.linkedAnchor,elements:e.elements,...n>0?{imageCount:n}:{},...r.length>0?{attachments:r}:{},...e.interactionEpisode?{interactionEpisode:e.interactionEpisode}:{}}}:{type:"UPDATE_TEXT",payload:{id:e.id,text:o,...n>0?{imageCount:n}:{},attachments:r,interactionEpisode:e.interactionEpisode}},sendHintAnchorId:e.id,attachedImages:n>0?{annotationId:e.id,images:t}:null}}var ea=0,pb=2,fb=60;function Sp({anchorLeftX:e,anchorRightX:t,editorWidth:n,trailingWidth:r,viewportWidth:o}){let i=Math.max(ea,o-ea),a=Math.max(ea,Math.min(t,i)),l=r>0?r+pb:0,s=n+l,d=Math.max(0,e-8),u=a-s,p=Math.max(0,ea-d)+Math.max(0,d+s-i),c=Math.max(0,ea-u)<p?"right":"left",h=Math.max(fb,c==="right"?a-ea-l:i-d-l),m=Math.min(n,h);return{horizontalAlignment:c,editorLeft:c==="right"?a-l-m:d,maxEditorWidth:h}}function hb({prefix:e,fontSize:t,railGap:n,context:r}){if(!e)return 0;let o=t*.6,i=r?.measureText(e).width??e.length*o,a=n??(r?.measureText(" ").width??o)/2;return i+a}function mb({text:e,fontSize:t,point:n,clickPoint:r,context:o}){let i=e.split(`
|
|
56
|
-
`),a=t*dr,l=Math.max(0,Math.min(i.length-1,Math.floor((r.y-n.y)/a))),s=i[l]??"",d=r.x-n.x,u=s.length;for(let c=0;c<=s.length;c+=1){let h=o.measureText(s.slice(0,c)).width;if(h<=d)continue;let m=c>0?o.measureText(s.slice(0,c-1)).width:0;u=Math.max(0,d-m<h-d?c-1:c);break}let p=u;for(let c=0;c<l;c+=1)p+=(i[c]?.length??0)+1;return p}function ud({text:e,fontSize:t,effectiveMaxWidth:n,annotationPrefixWidth:r,isModifiedRail:o,fitToContent:i=o,context:a}){let l=a.measureText("Type here...").width,s=i&&e.length>0?a.measureText(" ").width:l,d=Em(e).split(`
|
|
57
|
-
`),u=Math.max(s,...d.map(c=>a.measureText(c||" ").width)),p=Math.max(s,n-r-(o?16:0));if(u>p){let c=Tm(a,d,p);return{width:Math.min(p,Math.max(s,...c.map(h=>a.measureText(h).width))),height:Math.max(1,c.length)*t*dr,isWrapped:!0}}return{width:u,height:Math.max(1,d.length)*t*dr,isWrapped:!1}}function gb(e,t){return e&&t!=="model"}function yb(e,t,n,r=6){return e.moved?e:{...e,moved:Math.hypot(t-e.startX,n-e.startY)>r}}function vb(e){return!!(e&&!e.moved)}function bb(e){return e==="hand"}var Ip={"active-edit":100,"direct-manipulation":90,"in-flight":80,"bundle-preview":70,"nested-preview":65,"annotation-hover":60,"badge-hover":60,"thread-focus":50,selected:45,"pending-change":40,"inspector-hover":30};function xb(e){let t=new Map;for(let n of e){let r=t.get(n.target);(!r||Ip[n.owner]>Ip[r])&&t.set(n.target,n.owner)}return t}function wb({activeText:e,pendingLinkedText:t,activeTextSendHintId:n,activeTool:r,isAnnotating:o,annotations:i,pageAnnotations:a,pageStyleModifications:l,pageTextModifications:s,supersededAnnotations:d,nestedBadgeHover:u,isSendBundleHovered:p,badgeHoveredAnnotationId:c,hoveredTextId:h,badgeHoveredSelector:m,focusedThreadAnnotationId:g,inFlightSelectorColors:x,focusedSelectorColors:S,hoveredElement:P}){let R=new Map;for(let T of i)T.linkedSelector&&T.elements?.[0]&&R.set(T.linkedSelector,T.elements[0]);for(let T of[...l,...s])R.set(T.selector,T.element);for(let T of[e,t])T?.linkedSelector&&T.elements?.[0]&&R.set(T.linkedSelector,T.elements[0]);let I=(T,Z)=>nn(T,Z??(R.has(T)?[R.get(T)]:void 0)),z=T=>T?i.find(Z=>Z.id===T)?.linkedSelector??null:null,G=u?u.ownerId===n?e?.linkedSelector??null:z(u.ownerId):null,E=(T,Z)=>Z?I(Z)===T:!1,K=T=>{let Z=null;for(let re of a)!re.linkedSelector||d.has(re)||nn(re.linkedSelector,re.elements)!==T||(!Z||re.timestamp>Z.timestamp)&&(Z=re);return Z},N=[e?.linkedSelector,t?.linkedSelector,z(g),z(u||p?null:c),z(u||p?null:h),m].filter(Boolean),Y=u||p?null:c||h,J=T=>N.some(Z=>E(T,Z)),le=[],w=(T,Z)=>{T&&le.push({target:T,owner:Z})},Q=(T,Z,re)=>{T&&w(I(T,re),Z)};if(o){if(r==="hand")for(let T of l)T.captured||Q(T.selector,"pending-change");for(let T of s)T.captured||Q(T.selector,"pending-change");for(let T of x?.keys()??[])Q(T,"in-flight");for(let T of S?.keys()??[])Q(T,"selected");if(Q(e?.domEdit?e.linkedSelector:null,"active-edit",e?.elements),!u&&!p&&Q(e?.linkedSelector||t?.linkedSelector,"direct-manipulation",e?.elements||t?.elements),!p&&g){let T=i.find(Z=>Z.id===g);T?.linkedSelector&&G!==T.linkedSelector&&Q(T.linkedSelector,"thread-focus",T.elements)}if(Y){let T=i.find(Z=>Z.id===Y);Q(T?.linkedSelector,"annotation-hover",T?.elements)}if(u&&!p)for(let T of u.annotationIds){let Z=i.find(re=>re.id===T);Q(Z?.linkedSelector,"nested-preview",Z?.elements)}if(p){for(let T of a)(T.status??"pending")==="pending"&&Q(T.linkedSelector,"bundle-preview",T.elements);e&&!e.domEdit&&e.text?.trim()&&Q(e.linkedSelector,"bundle-preview",e.elements);for(let T of[...l,...s])T.captured||Q(T.selector,"bundle-preview",[T.element])}Q(m,"badge-hover"),(r==="inspector"||r==="sticker")&&P&&!Y&&!m&&w(P,"inspector-hover")}let D=xb(le),F=(T,Z)=>D.get(T)===Z,M=(T,Z)=>{if(!T)return null;let re=new Map,ee=new Set;for(let[oe,U]of T){let fe=I(oe);fe&&F(fe,Z)&&!ee.has(fe)&&(ee.add(fe),re.set(oe,U))}return re.size>0?re:null},j=new Set,L=(T,Z)=>!F(T,Z)||j.has(T)?!1:(j.add(T),!0);return{selectorElementInfo:R,hasExistingOverlay:T=>D.has(T),nestedBadgeOwnerSelector:G,hoveredLinkedAnnotationId:Y,hasSelectedHighlightForElement:J,getExistingAnnotationForElement:K,ownedInFlightSelectorColors:M(x,"in-flight"),ownedFocusedSelectorColors:M(S,"selected"),claimElementOverlay:L}}function Sb(e){let[t,n]=$();return Et(()=>{if(!e)return;let r,o=()=>{if(!e.isConnected)return;let i=vn(e);n(a=>a?.element===e&&a.rect.x===i.x&&a.rect.y===i.y&&a.rect.width===i.width&&a.rect.height===i.height?a:{element:e,rect:i}),r=requestAnimationFrame(o)};return o(),()=>cancelAnimationFrame(r)},[e]),t?.element===e?t.rect:void 0}var Ib=180,kp=16,kb=50,Ep=180;async function Eb(e){let t=new Uint8Array(await e.arrayBuffer()),n=2166136261;for(let r of t)n^=r,n=Math.imul(n,16777619);return`${e.size.toString(36)}-${(n>>>0).toString(36)}`}function Tp(e,t){return!e.frames||t===0?e:{...e,frames:e.frames.map(n=>({...n,imageIndex:n.imageIndex+t}))}}function pd(e){let t=e?.replace(/\s+/g," ").trim();if(t)return t.slice(0,Ep)}function Tb(e){try{return Ro(e)}catch{return}}function Cp(e){if(e instanceof HTMLVideoElement){let t=Number.isFinite(e.duration)?e.duration:void 0;return{kind:"video",currentTime:e.currentTime,...t===void 0?{}:{duration:t},paused:e.paused}}}function ta(e){if(!e||no(e))return;let t=e instanceof HTMLElement?e:null,n=e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement?e:null,r=e.getBoundingClientRect(),o=e.getAttribute("role")??void 0,i=pd(e.getAttribute("class")),a=pd(e.getAttribute("aria-label")),l=pd(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?void 0:e.textContent),s=Cp(e);return{selector:Tb(e),tagName:e.tagName.toLowerCase(),...i?{className:i}:{},...o?{role:o}:{},...a?{ariaLabel:a}:{},...l?{text:l}:{},...n&&!(n instanceof HTMLInputElement&&n.type==="password")?{value:n.value.slice(0,Ep)}:{},...e instanceof HTMLInputElement&&(e.type==="checkbox"||e.type==="radio")?{checked:e.checked}:{},...t&&"disabled"in t&&typeof t.disabled=="boolean"?{disabled:t.disabled}:{},...e.hasAttribute("aria-expanded")?{expanded:e.getAttribute("aria-expanded")==="true"}:{},...e.hasAttribute("aria-pressed")?{pressed:e.getAttribute("aria-pressed")==="true"}:{},...e.hasAttribute("aria-selected")?{selected:e.getAttribute("aria-selected")==="true"}:{},rect:{x:Math.round(r.x),y:Math.round(r.y),width:Math.round(r.width),height:Math.round(r.height)},...s?{media:s}:{}}}function fd(e){let{subject:t,target:n,adapter:r}=e,{left:o,top:i,width:a,height:l}=t.bounds,s=Cp(t.sourceElement??null);return{tagName:r.id,rect:{x:Math.round(o),y:Math.round(i),width:Math.round(a),height:Math.round(l)},subject:{adapter:n.adapter,key:n.key,label:t.label,...t.context?{context:t.context}:{},...t.data?{data:{...t.data}}:{}},...s?{media:s}:{}}}function Cb(e){return e.type==="click"?"click":e.type==="input"?"input":e.type==="change"?"change":e.type==="submit"?"submit":e.type==="keydown"?"keydown":e.type==="play"?"play":e.type==="pause"?"pause":e.type==="seeked"?"seek":null}function Ab(e,t,n){if(e==="scroll")return"Scrolled the page";let r=n??ta(t),o=r?.subject?.label??r?.ariaLabel??r?.text??r?.tagName??"element";return e==="click"?`Clicked ${o}`:e==="drag"?`Dragged ${o}`:e==="input"?`Entered text in ${o}`:e==="change"?`Changed ${o}`:e==="submit"?`Submitted ${o}`:e==="play"?`Played ${o}`:e==="pause"?`Paused ${o}`:e==="seek"?`Sought in ${o}`:`Pressed a key on ${o}`}function Mb(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function Rb(e){return e.metaKey||e.ctrlKey||e.altKey?!1:["Enter"," ","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)}function $b(e){return e instanceof Element?e:e.parentElement}function Lb(e){let t=e.now??(()=>Date.now()),n=t(),r=[],o=null,i=0,a=!1,l=e.captureFrame?.().catch(()=>null)??Promise.resolve(null),s=[],d=null,u=()=>{if(window.clearTimeout(i),i=0,!o)return;let m=t(),g=o.captureResult?.()??ta(o.targetElement),x=o.kind==="input"||o.kind==="change"||o.kind==="submit"||o.kind==="scroll"||o.kind==="play"||o.kind==="pause"||o.kind==="seek",S={id:o.id,action:{kind:o.kind,label:o.label,...o.key?{key:o.key}:{},...o.target?{target:o.target}:{}},startedAt:o.startedAt,completedAt:m,outcome:x||o.changes.length>0||Mb(o.target,g)?"changed":"no-observable-change",changes:o.changes,...g?{result:g}:{}};if(o=null,r.length<kb&&(r.push(S),e.onStep?.(S),e.captureFrame)){let P=l,R=e.captureFrame().catch(()=>null);l=R,s.push(Promise.all([P,R]).then(([I,z])=>({step:S,before:I,after:z})))}},p=()=>{window.clearTimeout(i),i=window.setTimeout(u,Ib)},c=(m,g,x)=>{let{element:S,state:P}=g,R=o?.kind==="input"&&m==="input"&&o.targetElement===S,I=o?.kind==="click"&&(m==="input"||m==="change"||m==="play"||m==="pause"||m==="seek")&&o.targetElement===S;if(R||I){p();return}u(),o={id:`episode-step-${n}-${r.length+1}`,kind:m,label:Ab(m,S,P),...x?{key:x}:{},targetElement:S,target:P,captureResult:g.captureResult,startedAt:t(),changes:[]},e.onActionCountChange?.(r.length+1),p()},h=new MutationObserver(m=>{if(!(!o||a)){for(let g of m){if(o.changes.length>=kp)break;let x=(S,P)=>{if(!o||o.changes.length>=kp)return;let R=$b(P),I=ta(R);!I||o.changes.some(z=>z.kind===S&&z.element.selector===I.selector&&z.element.tagName===I.tagName&&z.element.text===I.text)||o.changes.push({kind:S,element:I})};g.addedNodes.forEach(S=>x("added",S)),g.removedNodes.forEach(S=>x("removed",S)),(g.type==="attributes"||g.type==="characterData")&&x("updated",g.target)}p()}});return h.observe(document.documentElement,{subtree:!0,childList:!0,characterData:!0,attributes:!0,attributeFilter:["aria-expanded","aria-pressed","aria-selected","checked","class","disabled","hidden","open","poster","src","value"]}),{recordEvent(m){if(a)return;if(m.type==="pointerdown"||m.type==="pointerup"){let R=m;if(m.type==="pointerdown"&&R.button===0){let I=e.resolveEventTarget?.(m),z=I?.element??(m.target instanceof Element&&!no(m.target)?m.target:null),G=I?.state??ta(z);if(!G)return;d={x:R.clientX,y:R.clientY,targetElement:z,target:G,captureResult:I?.captureResult};return}if(m.type==="pointerup"){let I=d;d=null,I?.targetElement&&Math.hypot(R.clientX-I.x,R.clientY-I.y)>4&&c("drag",{element:I.targetElement,state:I.target,captureResult:I.captureResult});return}}let g=Cb(m);if(!g||m instanceof KeyboardEvent&&!Rb(m))return;let x=e.resolveEventTarget?.(m),S=x?.element??(m.target instanceof Element&&!no(m.target)?m.target:null);if(!S)return;let P=x?.state??ta(S);P&&c(g,{element:S,state:P,captureResult:x?.captureResult},m instanceof KeyboardEvent?m.key:void 0)},recordScroll(){if(!a){if(o?.kind==="scroll"){p();return}c("scroll",{element:null,state:{tagName:"document",text:"page"}})}},hasActions(){return o!==null||r.length>0},async finish(){a||u(),a=!0,h.disconnect(),window.clearTimeout(i);let m={version:1,startedAt:n,completedAt:t(),subject:e.subjectState??ta(e.subjectElement),steps:[...r]};if(r.length===0||s.length===0)return{episode:m,frames:[]};let g=await Promise.all(s),x=[],S=new Map,P=[],R=async I=>{if(!I)return;let z=await Eb(I),G=S.get(z);if(G)return G;let E=`episode-frame-${n}-${x.length+1}`;return S.set(z,E),P.push({id:E,imageIndex:x.length,fingerprint:z}),x.push(I),E};for(let I of g){let z=await R(I.before),G=await R(I.after);(z||G)&&(I.step.visuals={...z?{beforeFrameId:z}:{},...G?{afterFrameId:G}:{}})}return P.length>0&&(m.frames=P),{episode:m,frames:x}},cancel(){a=!0,o=null,d=null,h.disconnect(),window.clearTimeout(i)}}}function Ap(e){return!!(e&&!e.domEdit&&(e.linkedSelector||e.target))}function Mp(e){return!!(e&&e.type==="text"&&(e.status??"pending")==="pending"&&(e.linkedSelector||e.target))}function jb(e,t){return!!(t&&e?.id===t.id)}function Pb(e,t,n){let r=[...n?[n]:[],...[...t].reverse()],o=new Set,i=[];for(let a of r){if(o.has(a))continue;o.add(a);let l=e.find(s=>s.id===a);l&&(i.push(l),l.groupId&&i.push(...e.filter(s=>s.id!==l.id&&s.groupId===l.groupId)))}return i}function zb(e){let t=e.activationDraft??e.activeDraft;if(Ap(t))return{kind:"draft",value:t};let n=Pb(e.annotations,e.selectedAnnotationIds,e.lastSelectedId).find(Mp);return n?{kind:"annotation",value:n}:Mp(e.annotationAtCursor)?{kind:"annotation",value:e.annotationAtCursor}:null}var hd={kind:"root"},Db=2;function Hb(e){return e==="color"?"slate":il(e)[0]}function Ob(e){let t=ks(e),n=Hb(e),r=e==="color";return{id:`family:${e}`,label:t,searchPath:t,destination:{family:e,subproperty:n,stage:r?"family":"value"},nextScope:r?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:n}}}function Rp(e,t){let n=ks(e),r=pm(e,t),o=e==="border"&&t==="all"?`${n} Width`:r===n?n:`${n} ${r}`,i=(e==="text"||e==="border")&&t==="color";return{id:`subproperty:${e}:${t}`,label:o,searchPath:o,destination:{family:e,subproperty:t,stage:i?"family":"value"},nextScope:i?{kind:"colors",family:e}:{kind:"values",family:e,subproperty:t}}}function Nb(e,t){let n=t[0].toUpperCase()+t.slice(1);return{id:`color:${e}:${t}`,label:n,searchPath:n,destination:{family:e,subproperty:t,stage:"variant"},nextScope:{kind:"values",family:e,subproperty:t}}}function _b(e,t,n){return{id:`value:${e}:${t}:${n}`,label:String(n),searchPath:String(n),destination:{family:e,subproperty:t,step:n,stage:"value"}}}function Fb(e){return e.kind==="root"?Wi.flatMap(t=>{let n=Ob(t);return t==="color"?[n]:[n,...il(t).filter(r=>!Wc(r)).map(r=>Rp(t,r))]}):e.kind==="family"?il(e.family).filter(t=>!Wc(t)).map(t=>Rp(e.family,t)):e.kind==="colors"?_c.map(t=>Nb(e.family,t)):ui(e.family,e.subproperty).map(t=>_b(e.family,e.subproperty,t))}function La(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function $p(e){return La(e).replace(/\s+/g,"")}function Wb(e){return La(e).split(/\s+/).filter(Boolean).map(t=>t[0]).join("")}function Bb(e,t){let n=La(e);if(!n)return 0;let r=La(t.searchPath),o=La(t.label),i=$p(e),a=$p(t.searchPath),l=Wb(t.searchPath);if(o===n)return 1e3;if(r===n)return 980;if(o.startsWith(n))return 940;if(r.startsWith(n))return 920;if(r.split(" ").some(u=>u.startsWith(n)))return 880;if(l.startsWith(i))return 850;if(a.startsWith(i))return 820;let s=0;for(let u of i){if(s=a.indexOf(u,s),s===-1)return-1;s+=1}let d=t.id.startsWith("family:")?20:0;return 500-Math.max(0,a.length-i.length)+d}function ja(e,t){if(!t.trim())return null;let n=o=>Fb(o).map((i,a)=>({candidate:i,index:a,score:Bb(t,i)})).filter(i=>i.score>=0).sort((i,a)=>a.score-i.score||i.index-a.index)[0]?.candidate??null,r=n(e);if(r||e.kind==="root")return r;if(e.kind==="values"||e.kind==="colors"){let o=n({kind:"family",family:e.family});if(o)return o}return n(hd)}function md(e,t){return t.trim().length<Db?null:ja(e,t)}function qb(e){return e.id.startsWith("family:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:"all"}:e.id.startsWith("subproperty:")?{kind:"icon",label:e.label,family:e.destination.family,subproperty:e.destination.subproperty??"all"}:{kind:"label",label:e.label}}function Jb(e,t){return e?t?t.label.toLowerCase().startsWith(e.toLowerCase())?{typed:t.label.slice(0,e.length),completion:t.label.slice(e.length),fallback:""}:{typed:e,completion:"",fallback:t.label}:{typed:e,completion:"",fallback:""}:{typed:"",completion:"",fallback:"Steer a property"}}function hi(e,t){Lr(e)&&(t.forEach(n=>e.style.removeProperty(n)),e.style.removeProperty("transition"))}function ur(e,t,n){return{property:e,original:`${t}px`,modified:`${n}px`}}function Ub(e,t,n){hi(e,["font-size","line-height"]);let r=[];if(t.fontSize!==n.fontSize&&(ot(e,"font-size",`${n.fontSize}px`),r.push(ur("font-size",t.fontSize,n.fontSize))),t.lineHeight!==n.lineHeight){let o=t.fontSize>0?Math.round(t.lineHeight/t.fontSize*1e3)/1e3:1.2,i=n.fontSize>0?Math.round(n.lineHeight/n.fontSize*1e3)/1e3:1.2;ot(e,"line-height",`${i}`),r.push({property:"line-height",original:`${o}`,modified:`${i}`})}return r}var gd=["space-between","space-around","stretch","normal"];function Yb(e,t,n,r){if(!t.hasMoved){if(r)return[];hi(e,[]);let i=t.justifyContent||"normal",a=gd.indexOf(i),l=gd[(a+1)%gd.length],s=[];return l==="normal"?(ot(e,"justify-content","normal"),s.push({property:"justify-content",original:t.justifyContent,modified:"normal"})):l==="stretch"?(ot(e,"justify-content",l),ot(e,"row-gap","8px"),ot(e,"column-gap","8px"),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row!==8&&s.push(ur("row-gap",t.row,8)),t.column!==8&&s.push(ur("column-gap",t.column,8))):(hi(e,["row-gap","column-gap"]),ot(e,"justify-content",l),s.push({property:"justify-content",original:t.justifyContent||"normal",modified:l}),t.row>0&&s.push(ur("row-gap",t.row,0)),t.column>0&&s.push(ur("column-gap",t.column,0))),s}if(!n)return[];hi(e,["row-gap","column-gap"]);let o=[];return t.isAuto?(hi(e,["justify-content"]),ot(e,"justify-content","normal"),ot(e,"row-gap",`${n.row}px`),ot(e,"column-gap",`${n.column}px`),o.push({property:"justify-content",original:t.justifyContent,modified:"normal"}),o.push(ur("row-gap",0,n.row)),o.push(ur("column-gap",0,n.column)),o):(t.row!==n.row&&(ot(e,"row-gap",`${n.row}px`),o.push(ur("row-gap",t.row,n.row))),t.column!==n.column&&(ot(e,"column-gap",`${n.column}px`),o.push(ur("column-gap",t.column,n.column))),o)}var yd={"top-left":"border-top-left-radius","top-right":"border-top-right-radius","bottom-right":"border-bottom-right-radius","bottom-left":"border-bottom-left-radius"};function Kb(e,t,n){let r=Object.values(yd);hi(e,r);let o=[];return Object.keys(yd).forEach(i=>{if(t[i]===n[i])return;let a=yd[i];ot(e,a,`${n[i]}px`),o.push(ur(a,t[i],n[i]))}),o}function Xb(e,t,n){hi(e,["padding"]);let r=[];return Object.keys(t).forEach(o=>{if(t[o]===n[o])return;let i=`padding-${o}`;ot(e,i,`${n[o]}px`),r.push(ur(i,t[o],n[o]))}),r}function Lp(){return{isDragging:!1,side:null,startX:0,startY:0,original:{top:0,right:0,bottom:0,left:0},element:null,elementInfo:null,selector:null,durableSelector:null}}function jp(){return{isDragging:!1,hasMoved:!1,axis:null,startX:0,startY:0,originalRow:0,originalColumn:0,element:null,elementInfo:null,selector:null,durableSelector:null,isAuto:!1,originalJustifyContent:"",visualGap:0}}function Pp(){return{isDragging:!1,corner:null,startY:0,original:{"top-left":0,"top-right":0,"bottom-right":0,"bottom-left":0},maxRadius:0,element:null,elementInfo:null,selector:null,durableSelector:null}}function zp(){return{isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}}function Ll(e,t){return!e.selector||!e.elementInfo||t.length===0?null:{selector:e.selector,durableSelector:e.durableSelector??void 0,element:e.elementInfo,changes:t}}function Vb(e,t){return!e.element||!t?null:Ll(e,Ub(e.element,{fontSize:e.originalFontSize,lineHeight:e.originalLineHeight},t))}function Gb(e,t,n){return e.element?Ll(e,Yb(e.element,{hasMoved:e.hasMoved,isAuto:e.isAuto,row:e.originalRow,column:e.originalColumn,justifyContent:e.originalJustifyContent},t,n)):null}function Qb(e,t){return!e.element||!t?null:Ll(e,Kb(e.element,e.original,t.radius))}function Zb(e,t){return!e.element||!t?null:Ll(e,Xb(e.element,e.original,t.padding))}var e0="popmelt-steering-context",Dp=1;function t0(e){return Ni(e0,e)}function na(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function vd(e){return typeof e=="string"&&Wi.includes(e)}function n0(e){return e==="family"||e==="variant"||e==="value"}function Hp(e,t){return typeof t=="string"&&Nc(e,t)===t}function r0(e,t,n){return ui(e,t).includes(n)}function jl(e){if(!na(e)||!vd(e.family))return null;let t=e.family;if(!Hp(t,e.subproperty))return null;let n=e.subproperty;return!n0(e.stage)||!r0(t,n,e.step)?null:{family:t,subproperty:n,stage:e.stage,step:e.step}}function Op(e){if(!na(e)||typeof e.kind!="string")return null;if(e.kind==="root")return{kind:"root"};if(e.kind==="family"&&vd(e.family))return{kind:"family",family:e.family};if(e.kind==="colors"&&(e.family==="border"||e.family==="color"||e.family==="text"))return{kind:"colors",family:e.family};if(e.kind==="values"&&vd(e.family)){let t=e.family;return Hp(t,e.subproperty)?{kind:"values",family:t,subproperty:e.subproperty}:null}return null}function o0(e){if(!na(e)||typeof e.query!="string"||!Array.isArray(e.segments)||!e.segments.every(i=>typeof i=="string"))return null;let t=Op(e.scope),n=jl(e.origin);if(!t||!n||!Array.isArray(e.history))return null;let r=[];for(let i of e.history){if(!na(i))return null;let a=Op(i.scope),l=jl(i.snapshot);if(!a||!l)return null;r.push({scope:a,snapshot:l})}let o;if(e.segmentOrigin!==void 0){let i=jl(e.segmentOrigin);if(!i)return null;o=i}return{query:e.query,segments:e.segments,scope:t,origin:n,...o?{segmentOrigin:o}:{},history:r}}function i0(e){let t=jl(e);if(!t||!na(e))return null;if(e.query===null)return{...t,query:null};let n=o0(e.query);return n?{...t,query:n}:null}function a0(e,t){try{let n=e.getItem(t);if(!n)return null;let r=JSON.parse(n);return!na(r)||r.version!==Dp?null:i0(r.context)}catch{return null}}function l0(e,t,n){try{e.setItem(t,JSON.stringify({version:Dp,context:n}))}catch{}}function s0(e,t,n,r){return e===t?{preservedAway:r,shouldReset:!1}:n&&(e==="sticker"&&t==="inspector"||e==="inspector"&&t==="sticker")?{preservedAway:t==="inspector",shouldReset:!1}:{preservedAway:!1,shouldReset:r||e==="sticker"||t==="sticker"}}var Np=100;function _p(e,t){return e!=="sticker"||!t}var d0=new Set(["display","border-top-style","border-right-style","border-bottom-style","border-left-style"]);function c0(e,t){return e?.element===t.element&&e.family===t.family&&e.step===t.step&&e.subproperty===t.subproperty&&e.valueOverride===t.valueOverride}function Fp(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function u0(e,t,n,r,o,i,a){return i&&a&&dv(i,r,o,a)||t===e?!0:t&&t!==e&&e.contains(t)?Fp(n,r,o):t&&t.contains(e)&&i&&a&&cv(i,r,o,a)?!0:Fp(n,r,o)||!!(i&&sv(i,r,o))}function bd(e,t){t.value?e.style.setProperty(t.property,t.value,t.priority):e.style.removeProperty(t.property)}function Wp(e,t){return{property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}}function p0(e){let t=new Set(e);for(let n of e){if(n==="padding"||n.startsWith("padding-")){t.add("padding");for(let r of["top","right","bottom","left"])t.add(`padding-${r}`)}if(n==="margin"||n.startsWith("margin-")){t.add("margin");for(let r of["top","right","bottom","left"])t.add(`margin-${r}`)}if(n==="border-radius"||/border-.+-radius/.test(n)){t.add("border-radius");for(let r of["top-left","top-right","bottom-right","bottom-left"])t.add(`border-${r}-radius`)}if(n==="border-width"||/border-.+-width/.test(n)){t.add("border-width");for(let r of["top","right","bottom","left"])t.add(`border-${r}-width`)}if(n==="border-color"||/border-.+-color/.test(n)){t.add("border-color");for(let r of["top","right","bottom","left"])t.add(`border-${r}-color`)}(n==="gap"||n==="row-gap"||n==="column-gap")&&(t.add("gap"),t.add("row-gap"),t.add("column-gap"))}return t}function Pa(e){if(e){Fm(e.element);for(let t of e.declarations)bd(e.element,t)}}function f0(e,t,n){e&&(Pa(e),au(t),lu(n))}function h0(e){if(e)for(let t of e.activeDeclarations)bd(e.element,t)}function m0(e,t,n,r,o=null,i){o&&o.element!==e&&(Pa(o),o=null);let a=window.getComputedStyle(e),l=Ec(t,r),s=i?a.getPropertyValue(l).trim()===i:Tc(t,n,r,P=>a.getPropertyValue(P)),d=Cc(t),u=Ac(t,r,n),p=t==="border"&&!ci(t,r)&&typeof n=="number"&&n>0?Mc(r):null,c=[l,...d?["display"]:[],...u.map(P=>P.property),...p?[p]:[]],h=[...new Set(c)],m=new Set([...h,"transition"]),g=new Map(o?.declarations.map(P=>[P.property,P])??[]);for(let P of g.values())m.has(P.property)||bd(e,P);let x=[...m].map(P=>g.get(P)??Wp(e,P)),S=h.filter(P=>!d0.has(P));Wm(e,p0(h)),S.length>0&&ot(e,"transition",S.map(P=>`${P} ${Np}ms ease-out`).join(", ")),d&&ot(e,"display",d);for(let P of u)ot(e,P.property,P.value);if(ot(e,l,i??Fi(t,n,r)),p){let P=window.getComputedStyle(e).getPropertyValue(p).trim();(!P||P==="none")&&ot(e,p,"solid")}return{preview:{element:e,declarations:x,activeDeclarations:[...m].map(P=>Wp(e,P))},stepUnavailable:s}}var Bp="[data-popmelt-subject-label-action]";function g0(e){let t=Number(e.dataset.popmeltSubjectSurfaceLeft),n=Number(e.dataset.popmeltSubjectSurfaceTop),r=Number(e.dataset.popmeltSubjectSurfaceWidth),o=Number(e.dataset.popmeltSubjectSurfaceHeight);return[t,n,r,o].every(Number.isFinite)?{left:t,top:n,right:t+Math.max(0,r),bottom:n+Math.max(0,o)}:null}function qp(e,t,n){let r=g0(e);return r?t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom:!0}function y0(e,t){let{popmeltSubjectAdapter:n,popmeltSubjectKey:r}=t.dataset;return!n||!r?null:Array.from(e.querySelectorAll("[data-popmelt-subject-adapter][data-popmelt-subject-key]")).find(o=>!o.hasAttribute("data-popmelt-subject-label-action")&&o.dataset.popmeltSubjectAdapter===n&&o.dataset.popmeltSubjectKey===r)??null}function v0(e,t,n,r){let o=vn(e),i=t.getBoundingClientRect();return n>=Math.min(o.left,i.left)&&n<=Math.max(o.right,i.right)&&r>=Math.min(o.top,i.top)&&r<=Math.max(o.bottom,i.bottom)}function Jp(e,t,n){for(let r of e.querySelectorAll(Bp)){let o=r.getBoundingClientRect();if(t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom){let i=y0(e,r);if(i&&!qp(i,t,n))continue;return r}}return null}function b0(e,t,n,r){if(!(t instanceof HTMLElement))return!1;let{popmeltSubjectAdapter:o,popmeltSubjectKey:i}=t.dataset;if(!o||!i)return!1;let a=Array.from(e.querySelectorAll(`${Bp}[data-popmelt-subject-adapter][data-popmelt-subject-key]`)).find(l=>l.dataset.popmeltSubjectAdapter===o&&l.dataset.popmeltSubjectKey===i);return!a||!qp(t,n,r)?!1:v0(t,a,n,r)}function x0(e){return!("button"in e)||e.button===0}function Pl(e){let t=Rs(e);return{element:e,elementInfo:{...yn(e),selector:t},selector:t,durableSelector:Ro(e)}}function zl(e){return{x:e.x-window.scrollX,y:e.y-window.scrollY}}function Dl(e){ot(e,"transition","none")}function w0(e,t,n){let r=Pl(e),o=zl(n),i=Sa(e);return Dl(e),{session:{...r,isDragging:!0,side:t,startX:o.x,startY:o.y,original:i},dragging:{side:t,padding:{...i}}}}function S0(e,t,n,r){let o=Pl(e),i=zl(n),a=sl(e),l=window.getComputedStyle(e).justifyContent,s=0;if(r){let u=dl(e).find(p=>p.axis===t);s=u?t==="column"?u.w:u.h:0}let d=r?{row:s,column:s}:a;return Dl(e),{session:{...o,isDragging:!0,hasMoved:!1,axis:t,startX:i.x,startY:i.y,originalRow:d.row,originalColumn:d.column,isAuto:r,originalJustifyContent:l,visualGap:s},dragging:{axis:t,...d}}}function I0(e,t,n){let r=Pl(e),o=qi(e);return Dl(e),{session:{...r,isDragging:!0,corner:t,startY:zl(n).y,original:o,maxRadius:Math.floor(e.getBoundingClientRect().height/2)},dragging:{corner:t,radius:{...o}}}}function k0(e,t,n){let r=Pl(e),o=zl(n),i=eu(e);return Dl(e),{session:{...r,isDragging:!0,property:t,startX:o.x,startY:o.y,originalFontSize:i.fontSize,originalLineHeight:i.lineHeight,originalRatio:i.fontSize>0?i.lineHeight/i.fontSize:1.2},dragging:{property:t,...i}}}function E0({activeText:e,applySticker:t,canvasRef:n,clearSelection:r,commentTextEditCandidateRef:o,commitActiveText:i,createInlineTextEdit:a,dispatch:l,domDragRef:s,editPendingLinkedComment:d,findAnnotationAtPoint:u,findHandleAtPoint:p,findTextAtPoint:c,gapDragRef:h,gapHoveredAxis:m,gapHoveredElement:g,gapIsAuto:x,getPoint:S,handleAnnotationActivation:P,handDragRef:R,handHoveredElement:I,handHoveredSide:z,hoveredElement:G,hoveredElementInfo:E,isElementInFlight:K,onCanvasInteraction:N,openThreadAndFocusReply:Y,pageAnnotations:J,modifiedElementThreadStates:le,pageStyleModifications:w,parentPinnedAnnotationIds:Q,pointerTargetOverrideRef:D,radiusDragRef:F,radiusHoveredCorner:M,radiusHoveredElement:j,selectAnnotation:L,setDragState:T,setGapDragging:Z,setHandDragging:re,setPendingLinkedText:ee,setRadiusDragging:oe,setResizeState:U,setStickerRejectPulse:fe,setTextDragging:me,state:X,stickerStage:Te,textDragRef:Ae,textHoveredElement:Ee,textHoveredProperty:_e,toolbarRef:O}){return q(ze=>{if(!X.isAnnotating||!x0(ze))return;N?.();let Oe=D?.current??null;D&&(D.current=null);let Ve=Oe?.element??G,nt=Oe?.elementInfo??E,ve=S(ze),Ne="shiftKey"in ze&&ze.shiftKey,ge="clientX"in ze?{x:ze.clientX,y:ze.clientY}:"touches"in ze&&ze.touches[0]?{x:ze.touches[0].clientX,y:ze.touches[0].clientY}:null;if(X.activeTool==="sticker"){if("button"in ze&&ze.button!==0||Te!=="value")return;if(!ge){fe(Be=>Be+1);return}let $e=Oe?.element??Ji(ge.x,ge.y);if(!($e instanceof HTMLElement)&&!($e instanceof SVGElement)){fe(Be=>Be+1);return}ze.preventDefault(),ze.stopPropagation(),t($e);return}if(X.activeTool==="inspector"&&ge&&(!("button"in ze)||ze.button===0)){let $e=a(ge.x,ge.y,ve);o.current=$e?{edit:$e,clientX:ge.x,clientY:ge.y,expiresAt:Date.now()+1e3}:null}else o.current=null;let Je=c(ve);if(Je?.points[0]){e&&i(),Ne||r();let $e=Je.threadId||(Je.groupId?X.annotations.find(Be=>Be.groupId===Je.groupId&&Be.threadId)?.threadId:void 0);if(Q.has(Je.id)){o.current=null,P(Je.id,$e);return}$e&&Y($e),T({annotation:Je,startPoint:ve,hasMoved:!1});return}if(X.activeTool==="inspector"){if("button"in ze&&ze.button===2)return;if(Ve&&!K(Ve)){let $e=J.filter(y=>y.type==="text"&&y.linkedSelector).filter(y=>yu(y.linkedSelector,y.elements?.[0])===Ve).sort((y,ie)=>ie.timestamp-y.timestamp)[0];if($e?.points[0]){if(($e.status??"pending")==="pending"&&!$e.threadId)d($e.id);else{let y=$e.threadId||($e.groupId?X.annotations.find(ie=>ie.groupId===$e.groupId&&ie.threadId)?.threadId:void 0);y&&Y(y)}return}let Be=Ia(Ve),Pt=new Set;for(let[y,ie]of le??[]){let be=vu(ie.selectors??[y],ie.targetFingerprint);be.status==="matched"&&be.element===Ve&&Pt.add(ie.threadId)}if(Pt.size===1){Y([...Pt][0]);return}let ht=nt??yn(Ve),pt=Be?iu(Be):Ro(Ve),Qe=vn(Ve),ft=pt;if(!Be){let y=Ve.getAttribute("data-pm");y||(y=Math.random().toString(36).substring(2,8),Ve.setAttribute("data-pm",y)),ft=su(`[data-pm="${y}"]`,Ve.ownerDocument)}let zt=w.some(y=>{if(y.captured)return!1;try{return Ui(Ve,y.selector)}catch{return!1}}),Kt=X.annotations.filter(y=>{if(!y.linkedSelector)return!1;try{return Ui(Ve,y.linkedSelector)}catch{return!1}}).length,En=(zt?1:0)+Kt,Xt=Qe.top>=22*(1+En)+_i?"top-left":"bottom-left",_t=n.current?.getContext("2d")??document.createElement("canvas").getContext("2d"),Me;_t&&(_t.font=`12px ${kn}`,Me=_t.measureText("Type here...").width);let Zt=Ve===document.body?Rc(Qe):$c(Qe,Xt,En,O?.current,Me,0);ee({point:Zt,subjectAnchor:Be?{x:.5,y:.5}:void 0,linkedSelector:ft,target:Be,linkedAnchor:Xt,elements:[{...ht,selector:pt}]})}return}if(X.activeTool==="hand"&&I&&wm(I)&&!g&&!j&&!Ee&&!z){let $e=I,Be=Rs($e),Pt=Ro($e),ht=yn($e),pt="altKey"in ze&&ze.altKey;s.current={isDragging:!0,hasMoved:!1,mode:pt?"copy":"move",startX:ve.x-window.scrollX,startY:ve.y-window.scrollY,element:$e,originalParent:$e.parentElement,originalIndex:Sm($e),selector:Be,durableSelector:Pt,elementInfo:{...ht,selector:Be}},ze.preventDefault();return}if(X.activeTool==="hand"&&g&&m){let $e=S0(g,m,ve,x);h.current=$e.session,Z($e.dragging);return}if(X.activeTool==="hand"&&Ee&&_e){let $e=k0(Ee,_e,ve);Ae.current=$e.session,me($e.dragging);return}if(X.activeTool==="hand"&&j&&M){let $e=I0(j,M,ve);F.current=$e.session,oe($e.dragging);return}if(X.activeTool==="hand"&&I&&z){let $e=w0(I,z,ve);R.current=$e.session,re($e.dragging);return}let st=p(ve);if(st){let $e=X.annotations.find(Be=>Be.id===st.annotationId);if($e&&$e.type!=="text"&&($e.status??"pending")==="pending"){U({annotationId:st.annotationId,handle:st.handle,startPoint:ve,originalPoints:[...$e.points],hasMoved:!1});return}}let Ge=u(ve);if(Ge?.points[0]){e&&i(),Ge.type!=="text"?(L(Ge.id,Ne),Ge.color&&(Ge.status??"pending")==="pending"&&l({type:"SET_COLOR",payload:Ge.color})):Ne||r();let $e=Ge.threadId||(Ge.groupId?X.annotations.find(Be=>Be.groupId===Ge.groupId&&Be.threadId)?.threadId:void 0);$e&&(Ge.status??"pending")!=="pending"&&Y($e),T({annotation:Ge,startPoint:ve,hasMoved:!1});return}Ne||r()},[e,t,n,r,o,i,a,l,s,d,u,p,c,h,m,g,x,S,P,R,I,z,G,E,K,N,Y,J,le,w,Q,D,F,M,j,L,T,Z,re,ee,oe,U,fe,me,X.activeTool,X.annotations,X.isAnnotating,Te,Ae,Ee,_e,O])}function ra(e,t,n,r){let o=n.x-t.x,i=n.y-t.y,a=o*o+i*i;if(a===0)return Math.hypot(e.x-t.x,e.y-t.y)<=r;let l=Math.max(0,Math.min(1,((e.x-t.x)*o+(e.y-t.y)*i)/a)),s=t.x+l*o,d=t.y+l*i;return Math.hypot(e.x-s,e.y-d)<=r}function T0({point:e,annotations:t,isHidden:n=()=>!1,textContainsPoint:r=()=>!1}){for(let o=t.length-1;o>=0;o-=1){let i=t[o];if(!i||n(i))continue;if(i.type==="text"){if(r(i,e))return i;continue}if(i.points.length<2)continue;let a=i.points[0],l=i.points[i.points.length-1],s=(i.strokeWidth||3)+4;if(i.type==="line"){if(ra(e,a,l,s))return i;continue}if(i.type==="freehand"){for(let h=0;h<i.points.length-1;h+=1)if(ra(e,i.points[h],i.points[h+1],s))return i;continue}let d=Math.min(a.x,l.x),u=Math.max(a.x,l.x),p=Math.min(a.y,l.y),c=Math.max(a.y,l.y);if(i.type==="rectangle"){if(ra(e,{x:d,y:p},{x:u,y:p},s)||ra(e,{x:d,y:c},{x:u,y:c},s)||ra(e,{x:d,y:p},{x:d,y:c},s)||ra(e,{x:u,y:p},{x:u,y:c},s))return i;continue}if(i.type==="circle"){let h=(u-d)/2,m=(c-p)/2;if(h===0||m===0)continue;let g=Math.hypot((e.x-(d+u)/2)/h,(e.y-(p+c)/2)/m);if(Math.abs(g-1)*Math.max(h,m)<=s)return i}}return null}function C0(e,t,n,r){if(t.length===0)return null;let o=r/2+4;for(let i of t){let a=n.find(m=>m.id===i);if(!a||a.points.length<2)continue;let l=a.points[0],s=a.points[a.points.length-1];if(a.type==="line"){if(Math.hypot(e.x-l.x,e.y-l.y)<=o)return{handle:"start",annotationId:i};if(Math.hypot(e.x-s.x,e.y-s.y)<=o)return{handle:"end",annotationId:i};continue}let d,u,p,c;a.type==="freehand"?(d=Math.min(...a.points.map(m=>m.x)),u=Math.max(...a.points.map(m=>m.x)),p=Math.min(...a.points.map(m=>m.y)),c=Math.max(...a.points.map(m=>m.y))):(d=Math.min(l.x,s.x),u=Math.max(l.x,s.x),p=Math.min(l.y,s.y),c=Math.max(l.y,s.y));let h=a.type==="circle"?[{handle:"top",x:(d+u)/2,y:p},{handle:"bottom",x:(d+u)/2,y:c},{handle:"left",x:d,y:(p+c)/2},{handle:"right",x:u,y:(p+c)/2}]:a.type==="rectangle"||a.type==="freehand"?[{handle:"topLeft",x:d,y:p},{handle:"topRight",x:u,y:p},{handle:"bottomLeft",x:d,y:c},{handle:"bottomRight",x:u,y:c}]:[];for(let m of h)if(Math.hypot(e.x-m.x,e.y-m.y)<=o)return{handle:m.handle,annotationId:i}}return null}function A0(e,t,n){if(!e)return{x:0,y:0};let r=t.touches?.[0],o=r?.clientX??t.clientX,i=r?.clientY??t.clientY;if(o===void 0||i===void 0)return{x:0,y:0};let a=e.getBoundingClientRect();return{x:o-a.left+n.x,y:i-a.top+n.y}}function M0({annotation:e,point:t,context:n,groupNumber:r,scroll:o,textSafeBounds:i,parentPinned:a}){let l=e.points[0];if(!l||!e.text||!n)return!1;let s=4,d=e.fontSize||12;n.font=`${d}px ${kn}`;let u=e.text.replace(/\n/g," "),p=r!==void 0?`${r}. ${u}`:u,c=l.x-o.x,h=a?Ls:0,m=Math.max(60,Ms(c)-h),g=nu(n,p,m),x=n.measureText(g).width,S=d*dr,P=ru({x:l.x-o.x,y:l.y-o.y},d,i,h+x+16),R={x:P.x+o.x,y:P.y+o.y};return t.x>=R.x-8-s&&t.x<=R.x+h+x+8+s&&t.y>=R.y-4-s&&t.y<=R.y+S+4+s}function R0({annotationGroupMap:e,annotations:t,canvasRef:n,handleSize:r,hiddenCollidingAnnotationIds:o,pageAnnotations:i,parentPinnedAnnotationIds:a,scroll:l,selectedAnnotationIds:s,supersededAnnotations:d,textSafeBounds:u}){let p=q(g=>A0(n.current,g,{x:window.scrollX,y:window.scrollY}),[n]),c=q(g=>T0({point:g,annotations:i,isHidden:x=>d.has(x)||o.has(x.id),textContainsPoint:(x,S)=>M0({annotation:x,point:S,context:n.current?.getContext("2d")??null,groupNumber:e.get(x.id),scroll:l,textSafeBounds:u,parentPinned:a.has(x.id)})}),[e,n,o,i,a,l,d,u]),h=q(g=>{let x=c(g);return x?.type==="text"?x:null},[c]),m=q(g=>C0(g,s,t,r),[t,r,s]);return{findAnnotationAtPoint:c,findHandleAtPoint:m,findTextAtPoint:h,getPoint:p}}function $0({annotations:e,dragState:t,resizeState:n,dispatch:r,setDragState:o,setResizeState:i}){return q(({point:a,centerOrigin:l,lockAspect:s})=>{if(n){let d=e.find(p=>p.id===n.annotationId);if(!d)return!0;let u=sb({annotation:d,session:n,point:a,centerOrigin:l,lockAspect:s});return r({type:"RESIZE_ANNOTATION",payload:{id:n.annotationId,points:u,saveUndo:!n.hasMoved}}),n.hasMoved||i({...n,hasMoved:!0}),!0}if(t&&(t.annotation.status??"pending")==="pending"){let d=ab(t,a);return d&&(o(d.session),r({type:"MOVE_ANNOTATION",payload:{id:t.annotation.id,delta:d.move.delta,...d.move.saveUndo?{saveUndo:!0}:{}}})),!0}return!1},[e,r,t,n,o,i])}function L0({element:e,stickyElement:t,point:n,hitRadius:r=16}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=r,l=null;for(let s of o){let d=s.getBoundingClientRect(),u=qi(s),p=[["top-left",d.left,d.top+u["top-left"]],["top-right",d.right,d.top+u["top-right"]],["bottom-right",d.right,d.bottom-u["bottom-right"]],["bottom-left",d.left,d.bottom-u["bottom-left"]]];for(let[c,h,m]of p){let g=Math.hypot(n.x-h,n.y-m);g<a&&(a=g,i=c,l=s)}}return i&&l?{element:l,corner:i}:null}function j0({element:e,point:t,maxCandidates:n=3}){let r=[];e&&ou(e)&&r.push(e);let o=e?.parentElement??null;for(;o&&o!==document.body&&r.length<n;)ou(o)&&r.push(o),o=o.parentElement;for(let i of r){let a=dl(i).find(l=>t.x>=l.x&&t.x<=l.x+l.w&&t.y>=l.y&&t.y<=l.y+l.h);if(a)return{element:i,axis:a.axis,isAuto:$s(i,a.axis)}}return null}function P0({element:e,stickyElement:t,point:n,hitRadius:r=12}){let o=[];e&&o.push(e),t&&t!==e&&o.push(t);let i=null,a=1/0,l=null;for(let s of o){if(!Dm(s))continue;let d=js(s);if(!d)continue;let u=n.x>=d.left&&n.x<=d.right&&n.y>=d.top&&n.y<=d.bottom,p=[["font-size",d.right,d.top+d.height/2],["line-height",d.left+d.width/2,d.bottom]];for(let[c,h,m]of p){let g=Math.hypot(n.x-h,n.y-m);(u||g<r)&&g<a&&(a=g,i=c,l=s)}}return i&&l?{element:l,property:i}:null}function z0(e,t,n){let r=t.top+Math.max(n.top,4),o=t.bottom-Math.max(n.bottom,4),i=t.left+Math.max(n.left,4),a=t.right-Math.max(n.right,4);if(e.x<t.left||e.x>t.right||e.y<t.top||e.y>t.bottom)return null;let l=e.y<r,s=e.y>o,d=e.x<i,u=e.x>a;return l&&d?n.top>=n.left?"top":"left":l&&u?n.top>=n.right?"top":"right":s&&d?n.bottom>=n.left?"bottom":"left":s&&u?n.bottom>=n.right?"bottom":"right":l?"top":s?"bottom":d?"left":u?"right":null}var xd=[0,1,2,4,8,12,16,20,24,28,32],D0=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];function Hl(e){for(let t=0;t<xd.length-1;t++){let n=xd[t],r=xd[t+1];if(e<=(n+r)/2)return n;if(e<r)return r}return Math.round(e/8)*8}function H0(e){return D0.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t)}function O0(e,t,n){let r=e.axis;if(!r)return null;let o=!e.hasMoved;if(o){let l=Math.abs(t.x-e.startX),s=Math.abs(t.y-e.startY);if(l<=2&&s<=2)return null}let i=e.originalRow,a=e.originalColumn;if(r==="column"){let l=t.x-e.startX;a+=l,n.isolate||(i+=l)}else{let l=t.y-e.startY;i+=l,n.isolate||(a+=l)}return i=Math.max(0,i),a=Math.max(0,a),n.snap&&(i=Hl(i),a=Hl(a)),{axis:r,gap:{row:Math.round(i),column:Math.round(a)},started:o,convertedAuto:o&&e.isAuto}}function N0(e,t,n){let r=e.corner;if(!r)return null;let o=e.original[r]+t.y-e.startY;o=Math.max(0,Math.min(e.maxRadius,o)),n.snap&&(o=Hl(o)),o=Math.round(o);let i=n.isolate?{...e.original,[r]:o}:{"top-left":o,"top-right":o,"bottom-right":o,"bottom-left":o};return{corner:r,radius:i}}function _0(e,t,n){let r=e.property;if(!r)return null;let o=e.originalFontSize,i=e.originalLineHeight;if(r==="font-size")o=Math.max(1,e.originalFontSize+t.x-e.startX),n&&(o=H0(o));else if(i=Math.max(o,e.originalLineHeight+t.y-e.startY),n){let a=o>0?i/o:1.2;i=o*Math.max(1,Math.round(a*2)/2)}return{property:r,text:{fontSize:Math.round(o),lineHeight:Math.round(i*10)/10}}}function F0(e,t,n){let r=e.side;if(!r)return null;let o={...e.original};if(r==="top"){let i=e.startY-t.y;o.top+=i,n.isolate||(o.bottom+=i)}else if(r==="bottom"){let i=t.y-e.startY;o.bottom+=i,n.isolate||(o.top+=i)}else if(r==="left"){let i=e.startX-t.x;o.left+=i,n.isolate||(o.right+=i)}else{let i=t.x-e.startX;o.right+=i,n.isolate||(o.left+=i)}return Object.keys(o).forEach(i=>{let a=Math.max(0,o[i]);n.snap&&(a=Hl(a)),o[i]=Math.round(a)}),{side:r,padding:o}}function W0({canvasRef:e,domDragRef:t,gapDragRef:n,gapHoveredAxis:r,gapHoveredElement:o,handCursorRef:i,handDragRef:a,handHoveredElement:l,handHoveredSide:s,modifiersRef:d,radiusDragRef:u,radiusHoveredCorner:p,radiusHoveredElement:c,setDomDropPreview:h,setGapDragging:m,setGapHoveredAxis:g,setGapHoveredElement:x,setGapIsAuto:S,setHandCursorPos:P,setHandDragging:R,setHandHoveredElement:I,setHandHoveredSide:z,setRadiusDragging:G,setRadiusHoveredCorner:E,setRadiusHoveredElement:K,setTextDragging:N,setTextHoveredElement:Y,setTextHoveredProperty:J,textDragRef:le,textHoveredElement:w,textHoveredProperty:Q}){return q(({x:D,y:F})=>{i.current={x:D,y:F},P({x:D,y:F});let M=d.current.cmd,j=d.current.shift;if(t.current.isDragging){let ee=t.current,oe=ee.element;if(!oe)return;if(!ee.hasMoved){let fe=Math.abs(D-ee.startX),me=Math.abs(F-ee.startY);if(fe<=3&&me<=3)return;ee.hasMoved=!0}let U=zm(D,F,oe,e.current);if(!U){h(null);return}h({rect:U.reference.getBoundingClientRect(),placement:U.placement,mode:ee.mode});return}if(n.current.isDragging){let ee=n.current,oe=ee.element;if(!oe)return;let U=O0(ee,{x:D,y:F},{isolate:M,snap:j});if(!U)return;U.started&&(ee.hasMoved=!0),U.convertedAuto&&(ot(oe,"justify-content","normal"),ot(oe,"row-gap",`${ee.visualGap}px`),ot(oe,"column-gap",`${ee.visualGap}px`),S(!1)),ot(oe,"row-gap",`${U.gap.row}px`),ot(oe,"column-gap",`${U.gap.column}px`),m({axis:U.axis,...U.gap});return}if(u.current.isDragging){let ee=u.current,oe=ee.element;if(!oe)return;let U=N0(ee,{y:F},{isolate:M,snap:j});if(!U)return;ot(oe,"border-top-left-radius",`${U.radius["top-left"]}px`),ot(oe,"border-top-right-radius",`${U.radius["top-right"]}px`),ot(oe,"border-bottom-right-radius",`${U.radius["bottom-right"]}px`),ot(oe,"border-bottom-left-radius",`${U.radius["bottom-left"]}px`),G(U);return}if(le.current.isDragging){let ee=le.current,oe=ee.element;if(!oe)return;let U=_0(ee,{x:D,y:F},j);if(!U)return;ot(oe,"font-size",`${U.text.fontSize}px`);let fe=U.text.fontSize>0?Math.round(U.text.lineHeight/U.text.fontSize*1e3)/1e3:1.2;ot(oe,"line-height",`${fe}`),N({property:U.property,...U.text});return}if(a.current.isDragging){let ee=a.current,oe=ee.element;if(!oe)return;let U=F0(ee,{x:D,y:F},{isolate:M,snap:j});if(!U)return;ot(oe,"padding",`${U.padding.top}px ${U.padding.right}px ${U.padding.bottom}px ${U.padding.left}px`),R(U);return}let L=Ji(D,F);for(;L&&L.tagName==="A";)L=L.parentElement;let T=L0({element:L,stickyElement:c,point:{x:D,y:F}});if(T){K(T.element),E(T.corner),l&&I(null),s&&z(null),o&&x(null),r&&g(null),S(!1),w&&Y(null),Q&&J(null);return}c&&K(null),p&&E(null);let Z=j0({element:L,point:{x:D,y:F}});if(Z){x(Z.element),g(Z.axis),S(Z.isAuto),l&&I(null),s&&z(null),w&&Y(null),Q&&J(null);return}o&&x(null),r&&g(null),S(!1);let re=P0({element:L,stickyElement:w,point:{x:D,y:F}});if(re?(Y(re.element),J(re.property)):(w&&Y(null),Q&&J(null)),L!==l&&I(L),L){let ee=Sa(L);z(z0({x:D,y:F},L.getBoundingClientRect(),ee))}else z(null)},[e,t,n,r,o,i,a,l,s,d,u,p,c,h,m,g,x,S,P,R,I,z,G,E,K,N,Y,J,le,w,Q])}function B0({activeTool:e,isAnnotating:t,lastCanvasCursorRef:n,getPoint:r,isManipulating:o,findTextAtPoint:i,clearPageElementHover:a,handleShakePointerMove:l,handleTargetPointerMove:s,handleHandPointerMove:d,handleAnnotationPointerMove:u}){return q(p=>{let c=r(p),h={x:c.x-window.scrollX,y:c.y-window.scrollY},m="metaKey"in p&&(!("pointerType"in p)||p.pointerType==="mouse");n.current=h;let g=o();if(!l({isManipulating:g,isTouchEvent:"touches"in p||"pointerType"in p&&p.pointerType!=="mouse",viewportPoint:h})){if(!g&&i(c)){a();return}if(!s({viewportPoint:h,passThrough:m&&(p.metaKey||p.ctrlKey),stopPropagation:()=>p.stopPropagation()})){if(e==="hand"&&t){d(h);return}u({point:c,centerOrigin:m&&(p.metaKey||p.ctrlKey),lockAspect:m&&p.shiftKey})}}},[e,a,i,r,u,d,l,s,t,o,n])}function q0({rawElement:e,point:t,dragHandoff:n,previewTarget:r,handleHitSize:o}){let i=!!(n?.element.isConnected&&(e===n.element||hv(n.releasePoint,t))),a=!!(n&&!i),l=!!(!a&&r?.element.isConnected&&u0(r.element,e,r.bounds,t.x,t.y,r.renderedQuad,o));return{candidate:i?n.element:l?r.element:e,clearDragHandoff:a,clearPreviewTarget:!!(r&&!l)}}function J0(e,t,n){return t?e!=="sticker"&&n(t)?null:t:null}function Up({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}){return t&&!n&&(e==="inspector"||e==="sticker")}function U0(e,t){return e?.subjectLabel!==t.subjectLabel||e?.textContent!==t.textContent||e?.context!==t.context}function Y0(e,t){return!!(e&&t&&(e.adapter!==t.adapter||e.key!==t.key))}function K0(e,t,n,r=16){if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement)||t)return!1;let o=vn(e);return n.x<o.left||n.x>o.right||n.y<o.top||n.y>o.bottom?!1:Math.min(n.x-o.left,o.right-n.x,n.y-o.top,o.bottom-n.y)<=r}function X0({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n,hoveredElement:r,hoveredElementInfo:o,subjectRegistry:i,stickerFamily:a,stickerStage:l,stickerSubproperty:s,steerDragRef:d,transformDragHandoffRef:u,transformPreviewSuppressionRef:p,transformPreviewTargetRef:c,clearStickerPreview:h,isElementInFlight:m,setHoveredElement:g,setHoveredElementInfo:x,setStickerCursor:S,setStickerStep:P}){return q(({viewportPoint:R,passThrough:I,stopPropagation:z})=>{if(!Up({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}))return!!n;if(e==="sticker"&&(z(),S(R)),d.current)return!0;if(Um(R.x,R.y))return e==="sticker"&&h(),r&&g(null),o&&x(null),S(null),!0;let G={allowBodyFallback:e==="inspector"},E=I?Ym(R.x,R.y,G):Ji(R.x,R.y,G),K=e==="inspector"?i?.hitTest(R):null,N=K0(E,!!K,R),Y=Ia(r),J=Y0(Y,K?.target),le=!K&&Y?i?.resolve(Y)?.subject.sourceElement:void 0,w=le&&!Km(le,R.x,R.y);if(!N&&!J&&!w&&e==="inspector"&&b0(document,r,R.x,R.y))return!0;let Q=K?.element??E,D=e==="sticker"&&l==="value"&&a==="transform"?c.current:null,F=I?{candidate:Q,clearDragHandoff:!!u.current,clearPreviewTarget:!!D}:q0({rawElement:Q,point:R,dragHandoff:u.current,previewTarget:D,handleHitSize:20});F.clearDragHandoff&&(u.current=null),F.clearPreviewTarget&&(c.current=null);let M=F.candidate,j=J0(e,M,m);if(j===r)return K?.element===j&&U0(o,K.elementInfo)&&x(K.elementInfo),!0;if(e==="sticker"&&h(),e==="sticker"&&Lr(j)&&a==="transform"&&(s==="translate"||s==="scale"||s==="rotate")){let L=gv(j,s);p.current={element:j,subproperty:s,step:L},P(L)}else a==="transform"&&(p.current=null);return g(j),x(K?.element===j?K.elementInfo:j?yn(j):null),!0},[e,h,r,o,t,m,g,x,S,P,d,a,l,s,i,n,u,p,c])}function V0({onSuspend:e,onRestore:t,suspendedRef:n}){let r,o=()=>{n.current||(n.current=!0,e()),clearTimeout(r),r=setTimeout(()=>{n.current=!1,t()},96)};return window.addEventListener("scroll",o,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",o,!0),clearTimeout(r),n.current=!1}}function G0(e){let t=W0(e),n=$0(e),r=X0(e),o=B(r),i=B(e.clearPageElementHover),a=B(!1),l=Up({activeTool:e.activeTool,isAnnotating:e.isAnnotating,suspendTargetDiscovery:e.suspendTargetDiscovery});Et(()=>{o.current=r,i.current=e.clearPageElementHover},[r,e.clearPageElementHover]),_(()=>{if(l)return V0({onSuspend:()=>i.current(),onRestore:()=>{let u=e.lastCanvasCursorRef.current;u&&o.current({viewportPoint:u,passThrough:!1,stopPropagation:()=>{}})},suspendedRef:a})},[e.lastCanvasCursorRef,l]);let s=q(u=>a.current?!0:o.current(u),[]);_(()=>{let u=p=>{p.repeat||p.key!=="Meta"&&p.key!=="Control"||!e.lastCanvasCursorRef.current||s({viewportPoint:e.lastCanvasCursorRef.current,passThrough:!0,stopPropagation:()=>{}})};return window.addEventListener("keydown",u,!0),()=>window.removeEventListener("keydown",u,!0)},[s,e.lastCanvasCursorRef]),_(()=>{let u=p=>{let c=e.canvasRef.current;if(c&&p.composedPath().includes(c))return;let h={x:p.clientX,y:p.clientY};e.lastCanvasCursorRef.current=h,s({viewportPoint:h,passThrough:p.metaKey||p.ctrlKey,stopPropagation:()=>{}})};return window.addEventListener("mousemove",u,!0),()=>window.removeEventListener("mousemove",u,!0)},[s,e.canvasRef,e.lastCanvasCursorRef]),_(()=>{if(e.subjectRegistry)return e.subjectRegistry.subscribeFrame(()=>{let u=e.lastCanvasCursorRef.current;u&&s({viewportPoint:u,passThrough:!1,stopPropagation:()=>{}})})},[s,e.lastCanvasCursorRef,e.subjectRegistry]);let d=q(()=>!!e.dragState||!!e.resizeState||e.domDragRef.current.isDragging||e.handDragRef.current.isDragging||e.gapDragRef.current.isDragging||e.radiusDragRef.current.isDragging||e.textDragRef.current.isDragging,[e.domDragRef,e.dragState,e.gapDragRef,e.handDragRef,e.radiusDragRef,e.resizeState,e.textDragRef]);return B0({...e,isManipulating:d,handleAnnotationPointerMove:n,handleHandPointerMove:t,handleTargetPointerMove:s})}function Q0({annotationGroupMap:e,canvasRef:t,currentPathname:n,cursorPosRef:r,dispatch:o,domDragRef:i,dragState:a,gapDragRef:l,gapDragging:s,getPoint:d,handDragRef:u,handDragging:p,lastPositionedTextId:c,radiusDragRef:h,radiusDragging:m,resizeState:g,setActiveText:x,setDomDropPreview:S,setDragState:P,setGapDragging:R,setHandDragging:I,setRadiusDragging:z,setResizeState:G,setSendHintAnchorId:E,setTextDragging:K,textDragRef:N,textDragging:Y}){return q(J=>{if(i.current.isDragging){let F=i.current,M=d(J),j=Im({drag:F,clientX:M.x-window.scrollX,clientY:M.y-window.scrollY,pathname:n,createId:km,rootElement:t.current});j&&o({type:"MODIFY_DOM_STRUCTURE",payload:j}),i.current=qc(),S(null);return}if(N.current.isDragging){let F=Vb(N.current,Y);F&&o({type:"MODIFY_STYLES_BATCH",payload:F}),N.current=zp(),K(null);return}if(l.current.isDragging){let F="button"in J&&J.button===2,M=Gb(l.current,s,F);M&&o({type:"MODIFY_STYLES_BATCH",payload:M}),l.current=jp(),R(null);return}if(h.current.isDragging){let F=Qb(h.current,m);F&&o({type:"MODIFY_STYLES_BATCH",payload:F}),h.current=Pp(),z(null);return}if(u.current.isDragging){let F=Zb(u.current,p);F&&o({type:"MODIFY_STYLES_BATCH",payload:F}),u.current=Lp(),I(null);return}if(g){G(null);return}if(!a)return;let le=e.get(a.annotation.id),w=t.current?.getContext("2d"),Q=0;le!==void 0&&w&&(w.font=`${a.annotation.fontSize||12}px ${kn}`,Q=w.measureText(`${le}. `).width);let D=lb({session:a,clickPoint:d(J),groupLabelWidth:Q});D&&(c.current=null,r.current=null,E(a.annotation.id),D.color&&o({type:"SET_COLOR",payload:D.color}),x(D.activeText)),P(null)},[e,t,n,r,o,i,a,l,s,d,u,p,c,h,m,g,x,S,P,R,I,z,G,E,K,N,Y])}var Z0=class{constructor(){this.anchor=null,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,this.lastTriggerAt=Number.NEGATIVE_INFINITY}push(e){if(e.time-this.lastTriggerAt<700)return this.anchor=e,!1;if(!this.anchor||this.sequenceStartedAt&&e.time-this.sequenceStartedAt>520)return this.reset(e),!1;let t=e.x-this.anchor.x,n=e.y-this.anchor.y,r=Math.hypot(t,n);if(!this.axis)return r<16||(this.axis={x:t/r,y:n/r},this.direction=1,this.sequenceStartedAt=e.time,this.anchor=e),!1;let o=t*this.axis.x+n*this.axis.y,i=t*-this.axis.y+n*this.axis.x;if(Math.abs(o)<16)return!1;if(Math.abs(i)>Math.abs(o)*.7)return this.reset(e),!1;let a=Math.sign(o);return a===this.direction?(this.anchor=e,!1):(this.direction=a,this.reversals+=1,this.anchor=e,this.reversals<3?!1:(this.lastTriggerAt=e.time,this.reset(e,!0),!0))}reset(e=null,t=!1){this.anchor=e,this.axis=null,this.direction=0,this.reversals=0,this.sequenceStartedAt=0,t||(this.lastTriggerAt=Number.NEGATIVE_INFINITY)}};function ex({activeTool:e,isAnnotating:t,clearStickerPreview:n,dispatch:r,setStickerCursor:o,startCursorSwitchPulse:i}){let a=B(new Z0),l=B(null);return{handleShakePointerMove:q(({isManipulating:s,isTouchEvent:d,viewportPoint:u})=>{if(d||s||!t||e!=="inspector"&&e!=="sticker"||!a.current.push({...u,time:performance.now()}))return!1;let p=e==="sticker"?"inspector":"sticker";return l.current={from:e,to:p},i(p),p==="sticker"?o(u):n(),r({type:"SET_TOOL",payload:p}),!0},[e,n,r,t,o,i]),pendingShakeToolTransitionRef:l}}function Yp(e){return Math.random().toString(36).substring(2,e+2)}function tx(e,t,n,r={}){let{textNode:o,targetElement:i,textNodePath:a,segments:l,originalText:s,rect:d,boundaryRect:u,boundaryRects:p,flowRect:c,firstLineIndent:h,styles:m,fontSize:g,wrapsText:x}=e,S=i.getAttribute("data-pm");S||(S=r.createPmId?.()??Yp(6),i.setAttribute("data-pm",S));let P=su(`[data-pm="${S}"]`,i.ownerDocument),R=Ns({left:0,top:0,width:1,height:1},i.ownerDocument).height,I=z=>z?.endsWith("px")?`${parseFloat(z)*R}px`:z;return{id:r.createEditId?.()??Yp(7),point:{x:d.left+n.x,y:d.top+n.y},text:s,fontSize:g*R,isNew:!0,clickPoint:t,domEdit:{selector:P,durableSelector:Ro(i),element:{...yn(i),selector:P},textNodePath:a,originalText:s,textNode:o,targetElement:i,segments:l,rect:d,boundaryRect:u,boundaryRects:p,flowRect:c,firstLineIndent:h,fontFamily:m.fontFamily,fontWeight:m.fontWeight,fontStyle:m.fontStyle,lineHeight:m.lineHeight==="normal"?`${Math.round(g*R*1.2*10)/10}px`:I(m.lineHeight),letterSpacing:I(m.letterSpacing),color:m.color,textTransform:m.textTransform,textAlign:m.textAlign,wordSpacing:I(m.wordSpacing),textDecoration:m.textDecoration,textShadow:m.textShadow,whiteSpace:m.whiteSpace,wordBreak:m.wordBreak,overflowWrap:m.overflowWrap,wrapsText:x}}}function nx(e){let t=Pm(e.clientX,e.clientY,e.canvas);return t?tx(t,e.clickPoint,e.scroll):null}function rx({activeText:e,activeTextRef:t,canvasRef:n,clearPageElementHover:r,clearSelection:o,clearSignal:i,commentTextEditCandidateRef:a,cursorPosRef:l,dispatch:s,findTextAtPoint:d,lastPositionedTextId:u,onAttachImages:p,onCloseThread:c,onSend:h,pendingLinkedText:m,releaseActiveTextAttachments:g,setActiveText:x,setDragState:S,setHoveredTextId:P,setPendingLinkedText:R,setSendHintAnchorId:I,state:z,stateRef:G}){_(()=>{m&&(x({id:Math.random().toString(36).substring(2,9),point:m.point,subjectAnchor:m.subjectAnchor,text:"",fontSize:12,isNew:!0,linkedSelector:m.linkedSelector,target:m.target,linkedAnchor:m.linkedAnchor,elements:m.elements}),R(null))},[m,x,R]),_(()=>{let Q=D=>{if(e)return;let F=d({x:D.clientX+window.scrollX,y:D.clientY+window.scrollY});P(F?.id??null)};return window.addEventListener("mousemove",Q),()=>window.removeEventListener("mousemove",Q)},[e,d,P]);let E=q(()=>{if(!e)return;if(e.domEdit){x(null);return}let Q=ub(e);Q.sendHintAnchorId&&I(Q.sendHintAnchorId),Q.action&&s(Q.action),Q.attachedImages&&p&&p(Q.attachedImages.annotationId,Q.attachedImages.images),x(null)},[e,s,p,x,I]),K=q(Q=>{let D=G.current.annotations.find(M=>M.id===Q);if(!D||D.type!=="text"||!D.points[0]||(D.status??"pending")!=="pending")return;let F=t.current;F&&F.id!==D.id&&E(),o(),r(),u.current=null,l.current=D.text?.length??0,I(D.id),D.color&&s({type:"SET_COLOR",payload:D.color}),x({id:D.id,point:D.points[0],text:D.text||"",fontSize:D.fontSize||12,isNew:!1,groupId:D.groupId,linkedSelector:D.linkedSelector,target:D.target,linkedAnchor:D.linkedAnchor,elements:D.elements,attachments:D.attachments,interactionEpisode:D.interactionEpisode})},[t,r,o,E,l,s,u,x,I,G]),N=B(!1),Y=q(()=>{if(!h)return;let Q=t.current;if(tm(Q?{text:Q.text,originalText:Q.domEdit?.originalText,hasInteractionEpisode:!!Q.interactionEpisode?.steps.length}:null)){N.current=!0,E();return}h()},[t,E,h]);_(()=>{e||!N.current||(N.current=!1,h?.())},[e,h,z.annotations,z.textModifications]);let J=B(i);_(()=>{if(i===J.current)return;J.current=i;let Q=t.current;Q?.domEdit&&Q.domEdit.segments.forEach(F=>{F.textNode.nodeValue=F.originalText});let D=Q?.isNew?Q.attachments??[]:[];g(D),N.current=!1,x(null),R(null),I(null),S(null),l.current=null,u.current=null,bs(localStorage)},[t,i,l,u,g,x,S,R,I]);let le=q((Q,D,F)=>nx({clientX:Q,clientY:D,clickPoint:F,canvas:n.current,scroll:{x:window.scrollX,y:window.scrollY}}),[n]),w=q(Q=>{c?.(),R(null),S(null),I(null),o(),r(),u.current=null,x(Q)},[r,o,u,c,x,S,R,I]);return _(()=>{let Q=M=>{if(M.button!==0)return;let j=G.current,L=a.current;if(!j.isAnnotating||j.activeTool!=="inspector"||!L)return;let T=Date.now()>L.expiresAt,Z=Math.hypot(M.clientX-L.clientX,M.clientY-L.clientY)>12,re=L.edit.domEdit;if(T||Z||!re?.textNode.isConnected||!re.targetElement.isConnected){a.current=null;return}M.preventDefault(),M.stopPropagation(),a.current=null,w(L.edit)},D=M=>{M.detail===2&&Q(M)},F=M=>{Q(M)};return window.addEventListener("mousedown",D,!0),window.addEventListener("dblclick",F,!0),()=>{window.removeEventListener("mousedown",D,!0),window.removeEventListener("dblclick",F,!0)}},[a,w,G]),{commitActiveText:E,createInlineTextEdit:le,editPendingLinkedComment:K,handleSendPendingBundle:Y}}function ox(e,t){let n=jr(Bi),r=e?.domEdit?.textNode;_(()=>{if(!n||!r)return;let o=null,i=()=>{t(a=>{if(!a?.domEdit)return a;let{textNode:l,targetElement:s,segments:d,rect:u,boundaryRect:p,boundaryRects:c,flowRect:h,firstLineIndent:m}=a.domEdit;if(!l.isConnected||!s.isConnected||!ul(s.ownerDocument))return null;let g=vg(s).getComputedStyle(s),x=Ns({left:0,top:0,width:1,height:1},s.ownerDocument).height,S=(parseFloat(g.fontSize)||12)*x,P=N=>N?.endsWith("px")?`${parseFloat(N)*x}px`:N,R=$m(d,s,g),{textRect:I,boundaryRect:z,boundaryRects:G,flowRect:E,firstLineIndent:K}=R;return tu(u,I)&&tu(p,z)&&Lm(c,G)&&jm(h,E)&&Math.abs(m-K)<.5?a:{...a,fontSize:S,point:{x:I.left+window.scrollX,y:I.top+window.scrollY},domEdit:{...a.domEdit,rect:I,boundaryRect:z,boundaryRects:G,flowRect:E,firstLineIndent:K,lineHeight:g.lineHeight==="normal"?`${S*1.2}px`:P(g.lineHeight),letterSpacing:P(g.letterSpacing),wordSpacing:P(g.wordSpacing)}}}),o=window.requestAnimationFrame(i)};return o=window.requestAnimationFrame(i),()=>{o!==null&&window.cancelAnimationFrame(o)}},[n,r,t])}function ix({activeText:e,activeTextRef:t,canvasRef:n,visible:r}){let o=jr(Bi),i=B(null),[a,l]=$(null),s=B(null),d=B(null),u=e?.id??null;return Et(()=>{if(!o)return;let p=i.current,c=e?.domEdit;if(!p||!e||!c){l(null);return}let h=c.flowRect??c.rect,m=Math.max(1,window.innerWidth-h.left),g=Math.min(m,Math.max(1,h.width));p.style.width=`${c.wrapsText?g:1}px`,p.style.height="1px";let x=c.wrapsText?g:Math.min(m,Math.max(g,Math.ceil(p.scrollWidth)));p.style.width=`${x}px`;let S=Math.max(h.height,Math.ceil(p.scrollHeight));p.style.height=`${S}px`,l(P=>P?.id===e.id&&Math.abs(P.width-x)<.5&&Math.abs(P.height-S)<.5?P:{id:e.id,width:x,height:S})},[e,o]),_(()=>{if(!o)return;if(!u){s.current=null,d.current=null;return}if(!r||!i.current){s.current=null;return}let p=requestAnimationFrame(()=>{let c=i.current;if(!c||(c.focus(),s.current===u))return;s.current=u;let h=t.current;if(h){if(h.domEdit){c.setSelectionRange(0,c.value.length);return}if(d.current!==null){let m=Math.min(d.current,c.value.length);c.setSelectionRange(m,m);return}if(!h.isNew&&h.clickPoint){let m=n.current?.getContext("2d");if(!m)return;m.font=`${h.fontSize}px ${kn}`;let g=mb({text:h.text,fontSize:h.fontSize,point:h.point,clickPoint:h.clickPoint,context:m});c.setSelectionRange(g,g)}}});return()=>cancelAnimationFrame(p)},[u,t,n,r,o]),{cursorPosRef:d,domEditInputSize:a,inputRef:i,lastPositionedTextId:s}}var wd=["flex-start","center","flex-end"],Sd=["flex-start","center","flex-end"],ax=300,Kp=20;function lx({enabled:e,dispatch:t,handCursorRef:n,setGapRefreshKey:r}){let[o,i]=$(null),a=q(()=>i(null),[]);return _(()=>{let l=null,s=!1,d=null,u=null,p=null,c=null,h=0,m=(N,Y)=>{let J=Ji(N,Y);for(;J&&J!==document.documentElement;){let le=window.getComputedStyle(J).display;if(le==="flex"||le==="inline-flex")return J;J=J.parentElement}return null},g=N=>{let Y=window.getComputedStyle(N).flexDirection;return Y==="column"||Y==="column-reverse"?"vertical":"horizontal"},x=N=>{let Y=N.getAttribute("data-pm");return Y||(Y=Math.random().toString(36).substring(2,8),N.setAttribute("data-pm",Y)),{selector:`[data-pm="${Y}"]`,durableSelector:Ro(N)}},S=()=>{s=!0,l&&clearTimeout(l),l=setTimeout(()=>{s=!1,l=null},ax)},P=(N,Y,J)=>{let le=g(N);if(Y===le){let w=window.getComputedStyle(N).justifyContent,Q=w==="normal"||w==="flex-start"||w==="start"?"flex-start":w==="flex-end"||w==="end"?"flex-end":w==="center"?"center":null;if(!Q)return;let D=wd.indexOf(Q)+J;if(D<0||D>=wd.length)return;let F=wd[D],{selector:M,durableSelector:j}=x(N);ot(N,"justify-content",F),t({type:"MODIFY_STYLES_BATCH",payload:{selector:M,durableSelector:j,element:yn(N),changes:[{property:"justify-content",original:w,modified:F}]}})}else{let w=window.getComputedStyle(N).flexDirection,Q=le==="horizontal"?"column":"row",{selector:D,durableSelector:F}=x(N);ot(N,"flex-direction",Q),t({type:"MODIFY_STYLES_BATCH",payload:{selector:D,durableSelector:F,element:yn(N),changes:[{property:"flex-direction",original:w,modified:Q}]}})}r(w=>w+1)},R=(N,Y,J)=>{let le=g(N)==="horizontal"?"vertical":"horizontal";if(Y!==le)return;let w=window.getComputedStyle(N).alignItems,Q=w==="normal"||w==="stretch"||w==="flex-start"||w==="start"?"flex-start":w==="flex-end"||w==="end"?"flex-end":w==="center"?"center":null;if(!Q)return;let D=Sd.indexOf(Q)+J;if(D<0||D>=Sd.length)return;let F=Sd[D],{selector:M,durableSelector:j}=x(N);ot(N,"align-items",F),t({type:"MODIFY_STYLES_BATCH",payload:{selector:M,durableSelector:j,element:yn(N),changes:[{property:"align-items",original:w,modified:F}]}}),r(L=>L+1)},I=(N,Y,J)=>{let le=m(Y,J);i(le?{modifier:N,target:le}:null)},z=()=>{p=null,c=null,h=0,d=null,u=null,i(null)},G=N=>{if(!e)return;let Y=n.current;N.key==="Shift"&&!N.altKey?I("shift",Y.x,Y.y):N.key==="Alt"&&!N.shiftKey&&I("alt",Y.x,Y.y)},E=N=>{if(!e)return;let Y=N.shiftKey&&!N.altKey,J=N.altKey&&!N.shiftKey;if(!Y&&!J||N.buttons!==0){z();return}if(d===null&&(d=N.clientX,u=N.clientY,I(Y?"shift":"alt",N.clientX,N.clientY)),s)return;p===null&&(p=N.clientX,c=N.clientY,h=0);let le=N.clientX-p,w=N.clientY-c,Q=Math.abs(le)>=Math.abs(w)?le:w;if(Math.abs(Q)>3){let j=Q>0?1:-1;if(h!==0&&j!==h){p=N.clientX,c=N.clientY,h=0;return}h=j}if(Math.abs(le)<Kp&&Math.abs(w)<Kp)return;let D=m(d,u);if(!D)return;let F=Math.abs(le)>=Math.abs(w)?"horizontal":"vertical",M=(F==="horizontal"?le:w)>0?1:-1;p=null,c=null,h=0,Y?P(D,F,M):R(D,F,M),S()},K=N=>{(N.key==="Shift"||N.key==="Alt")&&z()};return window.addEventListener("keydown",G),window.addEventListener("mousemove",E),window.addEventListener("mousedown",z),window.addEventListener("keyup",K),()=>{window.removeEventListener("keydown",G),window.removeEventListener("mousemove",E),window.removeEventListener("mousedown",z),window.removeEventListener("keyup",K),l&&clearTimeout(l)}},[t,e,n,r]),{swipeHint:o,clearSwipeHint:a}}function sx(e,t,n){let{destination:r,mode:o,scope:i}=t;if(o==="preview"&&i.kind!=="values"){let c=r.family,h=r.subproperty??Es(c,e.subproperty);return{next:{family:c,subproperty:h,step:xa(c,e.step,h),stage:i.kind==="colors"?"variant":"family"},pulseContextLabel:!1}}let a=r.family,l=r.step!==void 0,s=Cs(a),d=!l&&ci(a,r.subproperty??"all")?n.readColor(s):null,u=r.subproperty??Es(a,e.subproperty);a==="color"&&r.stage==="family"&&(u=d?.name??$r.name),(a==="border"||a==="text")&&r.subproperty==="color"&&(u=d?.name??$r.name);let p=l?null:d?d.name===u?d.step:Ts:n.readStep(a,u);return{next:{family:a,subproperty:u,step:r.step??p??xa(a,e.step,u),stage:r.stage},pulseContextLabel:r.stage!=="family"}}function Id(e){if(e.kind==="colors")return"variant";if(e.kind==="values")return"value"}function dx(e){return e.stage==="variant"&&ci(e.family,e.subproperty)&&(e.family==="border"||e.family==="color"||e.family==="text")?{kind:"colors",family:e.family}:e.stage==="value"?{kind:"values",family:e.family,subproperty:e.subproperty}:hd}function cx(e,t,n,r=!1){if(!e)return n!==" "?{handled:!1,session:e}:r?{handled:!0,session:e}:{handled:!0,session:{query:"",segments:[],scope:dx(t),origin:t,history:[]}};if(n==="Escape")return{handled:!0,session:null};if(n==="Backspace"){if(e.query){let a=e.query.slice(0,-1),l=md(e.scope,a);return{handled:!0,session:{...e,query:a},restore:l?void 0:e.segmentOrigin,destination:l?{mode:"preview",scope:e.scope,value:l.destination}:void 0}}let i=e.history.at(-1);return i?{handled:!0,restore:i.snapshot,session:{...e,query:"",segmentOrigin:void 0,segments:e.segments.slice(0,-1),scope:i.scope,history:e.history.slice(0,-1)}}:{handled:!0,session:null,restore:e.origin}}if(n===" "){if(!e.query.trim())return{handled:!0,session:e};let i=ja(e.scope,e.query);return i?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:Id(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,command:"reject"}}if(n==="Enter"){if(e.scope.kind==="values"){let a=e.query.trim()?ja(e.scope,e.query):null;return e.query.trim()&&!a?{handled:!0,session:e,command:"reject"}:a?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:a.destination},stage:Id(a.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:a.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:e,destination:a?{mode:"navigate",scope:e.scope,value:a.destination}:void 0,command:"apply"}}let i=ja(e.scope,e.query);return i?i.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:Id(i.nextScope),session:{...e,query:"",segmentOrigin:void 0,segments:[...e.segments,e.query.trim()],scope:i.nextScope,history:[...e.history,{scope:e.scope,snapshot:t}]}}:{handled:!0,session:null,destination:{mode:"navigate",scope:e.scope,value:i.destination}}:{handled:!0,session:e,command:"reject"}}let o=n.toLowerCase();if(!r&&(o==="w"||o==="a"||o==="s"||o==="d")&&e.query.at(-1)===o)return{handled:!1,session:null,replayAsSteering:!0,restore:e.segmentOrigin??e.origin};if(n.length===1){let i=`${e.query}${n.toLowerCase()}`,a=md(e.scope,i);return{handled:!0,session:{...e,query:i,segmentOrigin:e.query?e.segmentOrigin:t},destination:a?{mode:"preview",scope:e.scope,value:a.destination}:void 0}}return{handled:!1,session:e}}function ux(e,t,n){let r=t.toLowerCase(),o=()=>({handled:!0,next:e});if(r==="a"||r==="d"||t==="ArrowLeft"||t==="ArrowRight"){let i=r==="a"||t==="ArrowLeft"?-1:1;if(e.stage==="family"){let a=sm(e.family,i),l=a==="color"?$r.name:Es(a,e.subproperty);return{handled:!0,next:{family:a,subproperty:l,step:a==="color"?$r.step:xa(a,e.step,l),stage:e.stage}}}return e.stage==="variant"&&ci(e.family,e.subproperty)?{handled:!0,next:{...e,subproperty:dm(e.subproperty,i),step:Ts}}:{handled:!0,next:{...e,step:cm(e.family,e.step,i,e.subproperty)}}}if(r==="q"||r==="e"){if(e.family==="color")return o();let i=r==="q"?-1:1,a=um(e.family,e.subproperty,i);if((e.family==="text"||e.family==="border")&&a==="color"){if(e.stage==="family")return{handled:!0,next:{...e,subproperty:"color",step:Ts}};let l=n.readColor(Cs(e.family));return{handled:!0,next:{...e,subproperty:l?.name??$r.name,step:l?.step??$r.step,stage:Fc(e.stage,e.family,a)}}}return{handled:!0,next:{...e,subproperty:a,step:n.readStep(e.family,a)??xa(e.family,e.step,a),stage:Fc(e.stage,e.family,a)}}}if(r==="w"||t==="Enter"){if(e.stage==="family"){if(e.family==="color"){let i=n.readColor("background-color");return{handled:!0,next:{...e,subproperty:i?.name??$r.name,step:i?.step??$r.step,stage:"variant"}}}if((e.family==="text"||e.family==="border")&&e.subproperty==="color"){let i=n.readColor(Cs(e.family));return{handled:!0,next:{...e,subproperty:i?.name??$r.name,step:i?.step??$r.step,stage:"variant"}}}return{handled:!0,next:{...e,step:n.readStep(e.family,e.subproperty)??e.step,stage:"value"}}}return e.stage==="variant"?{handled:!0,next:{...e,step:xa(e.family,e.step,e.subproperty),stage:"value"}}:{handled:!0,next:e,command:"apply"}}return r==="s"?e.stage==="value"?{handled:!0,next:{...e,stage:ci(e.family,e.subproperty)?"variant":"family"}}:e.stage==="variant"?{handled:!0,next:{...e,subproperty:e.family==="text"?"color":e.subproperty,stage:"family"}}:o():t==="Escape"&&e.stage!=="family"?{handled:!0,stopPropagation:!0,next:{...e,subproperty:e.stage==="variant"&&e.family==="text"?"color":e.subproperty,stage:e.stage==="value"&&ci(e.family,e.subproperty)?"variant":"family"}}:{handled:!1,next:e}}function px({active:e,family:t,step:n,subproperty:r,stage:o,query:i,setFamily:a,setStep:l,setSubproperty:s,setStage:d,setQuery:u,setCursor:p,setContextLabelPulse:c,setDepthSnapPulse:h,setRejectPulse:m,lastCursorRef:g,toolbarRef:x,previewRef:S,applyStickerRef:P,readColor:R,readStep:I}){_(()=>{if(!e)return;g.current&&p(g.current);let z=G=>{let E=G.composedPath?.()[0]??G.target;if(E?.tagName==="INPUT"||E?.tagName==="TEXTAREA"||E?.isContentEditable||E&&x?.current?.contains(E)||G.metaKey||G.ctrlKey||G.altKey)return;let K={family:t,step:n,subproperty:r,stage:o},N=w=>{a(w.family),l(w.step),s(w.subproperty),d(w.stage)},Y=w=>{let Q=sx(K,w,{readColor:R,readStep:I});return N(Q.next),Q.pulseContextLabel&&c(D=>D+1),Q.next},J=cx(i,K,G.key,G.repeat);if(J.replayAsSteering&&(u(null),h(w=>w+1)),J.handled){G.preventDefault(),G.stopPropagation(),J.restore&&N(J.restore);let w=J.destination?Y({mode:J.destination.mode,scope:J.destination.scope,destination:J.destination.value}):void 0;if(J.stage&&d(J.stage),J.command==="reject"&&m(Q=>Q+1),J.command==="apply"){let Q=S.current?.element,D=w?{family:w.family,step:w.step,subproperty:w.subproperty}:void 0;Q&&P.current(Q,D)?u(null):(u(J.session),Q||m(F=>F+1));return}u(J.session);return}let le=ux(J.replayAsSteering&&J.restore?J.restore:K,G.key,{readColor:R,readStep:I});if(le.handled&&(G.preventDefault(),le.stopPropagation&&G.stopPropagation(),a(le.next.family),l(le.next.step),s(le.next.subproperty),d(le.next.stage),le.command==="apply")){let w=S.current?.element;w?P.current(w):m(Q=>Q+1)}};return window.addEventListener("keydown",z,!0),()=>window.removeEventListener("keydown",z,!0)},[e,P,t,g,S,i,R,I,c,p,h,a,u,m,d,l,s,o,n,r,x])}function fx(e,t,n,r){let{deltaX:o,deltaY:i}=t;if(e.transformKind==="translate"&&e.startTranslate){let p=fv({x:o,y:i},r),c=ao("translate",e.startTranslate.x+p.x),h=ao("translate",e.startTranslate.y+p.y),m=Math.abs(p.x)>=Math.abs(p.y)?c:h;return{subproperty:"translate",step:m,drag:{...e,subproperty:"translate",step:m,translateSteps:{x:c,y:h},translateValue:`${Number(c)*4}px ${Number(h)*4}px`,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}let a=e.vector?yv(o,i,e.vector):e.axis==="x"?o:i,l=e.startPixels+a*(e.direction??1),s=e.transformKind==="rotate"?l:Math.max(0,l),d=e.side?nd(e.side,n):e.corner?rd(e.corner,n):e.subproperty,u=e.transformKind?ao(e.transformKind,s):Rl(e.family,d,s);return{subproperty:d,step:u,drag:{...e,subproperty:d,step:u,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}function hx(){let[e,t]=$(null),n=B(e);n.current=e;let r=B(null),o=q(d=>{let u=d.requestPointerLock;if(typeof u=="function"){r.current=d;try{let p=u.call(d);p&&p.catch(()=>{r.current===d&&(r.current=null)})}catch{r.current=null}}},[]),i=q((d,u)=>{n.current=d,t(d),o(u)},[o]),a=q(d=>{n.current=d,t(d)},[]),l=q(()=>{n.current=null,t(null)},[]),s=q(()=>{let d=r.current;r.current=null,d&&document.pointerLockElement===d&&document.exitPointerLock()},[]);return{drag:e,dragRef:n,pointerLockElementRef:r,startDrag:i,replaceDrag:a,clearDrag:l,releasePointerLock:s}}function mx(e,t){let n=B(t);n.current=t;let{dragRef:r,pointerLockElementRef:o,replaceDrag:i,clearDrag:a,releasePointerLock:l}=e;_(()=>{let s=(g,x)=>{let S=r.current;if(!S)return;let P=o.current,R=P!==null&&document.pointerLockElement===P?vv(S,{x:g.movementX,y:g.movementY},{width:window.innerWidth,height:window.innerHeight}):{cursor:{x:g.clientX,y:g.clientY},deltaX:g.clientX-S.startX,deltaY:g.clientY-S.startY},I=fx(S,R,x,g.shiftKey);n.current.onSelectionChange(I.subproperty,I.step),i(I.drag),n.current.onCursorChange(R.cursor)},d=()=>{n.current.onCancel(),a(),l()},u=(g,x)=>{let S=r.current;if(!S)return;let P=S.side?nd(S.side,g):S.corner?rd(S.corner,g):S.subproperty;S.hasMoved&&n.current.onCommit(S,P,x),a(),l()},p=g=>{r.current&&(g.preventDefault(),s(g,g.altKey||g.ctrlKey))},c=g=>{r.current&&(g.preventDefault(),u(g.altKey||g.ctrlKey,{x:g.clientX,y:g.clientY}))},h=g=>{g.key!=="Escape"||!r.current||(g.preventDefault(),g.stopPropagation(),d())},m=()=>{let g=o.current;g&&document.pointerLockElement!==g&&r.current&&d()};return window.addEventListener("pointermove",p,{passive:!1}),window.addEventListener("pointerup",c),window.addEventListener("pointercancel",d),window.addEventListener("keydown",h,!0),document.addEventListener("pointerlockchange",m),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",c),window.removeEventListener("pointercancel",d),window.removeEventListener("keydown",h,!0),document.removeEventListener("pointerlockchange",m),l()}},[a,r,o,l,i])}function gx({applyStickerRef:e,clearStickerPreview:t,dispatch:n,hoveredElement:r,lastCanvasCursorRef:o,setHoveredElement:i,setHoveredElementInfo:a,setStickerApplyPulse:l,setStickerCursor:s,setStickerRejectPulse:d,setStickerStep:u,setStickerSubproperty:p,stickerFamily:c,stickerStep:h,stickerSubproperty:m,transformDragHandoffRef:g,transformPreviewSuppressionRef:x,transformPreviewTargetRef:S}){let P=hx(),{drag:R,dragRef:I,startDrag:z}=P,G=q((D,F)=>{if(no(D))return d(ee=>ee+1),!1;t();let M=F?.family??c,j=F?.step??h,L=F?.subproperty??m;if(!xl(D,M,L))return d(ee=>ee+1),!1;let T=M==="transform"&&L==="translate"&&F?.axisSteps?zu(D,F.axisSteps.x,F.axisSteps.y):Pu(D,M,j,L);if(T.alreadyApplied)return d(ee=>ee+1),!1;let Z=Rs(D),re=Ro(D);return ey(D,T),n({type:"MODIFY_STYLES_BATCH",payload:{selector:Z,durableSelector:re,element:{...yn(D),selector:re},changes:T.changes}}),l(ee=>ee+1),!0},[t,n,l,d,c,h,m]);e.current=G;let E=q((D,F,M)=>{if(!(r instanceof HTMLElement))return;M.preventDefault(),M.stopPropagation(),M.currentTarget.setPointerCapture(M.pointerId),t();let j=D==="margin"?Xc(r):Sa(r),L=F==="left"||F==="right"?"x":"y",T=nd(F,M.altKey||M.ctrlKey),Z=D==="margin",re=F==="top"||F==="left"?Z?-1:1:Z?1:-1,ee=Rl(D,T,j[F]);p(T),u(ee),z({element:r,family:D,subproperty:T,startX:M.clientX,startY:M.clientY,startPixels:j[F],deltaX:0,deltaY:0,direction:re,axis:L,step:ee,hasMoved:!1,side:F,cursor:{x:M.clientX,y:M.clientY}},M.currentTarget)},[t,r,u,p,z]),K=q((D,F)=>{if(!(r instanceof HTMLElement)||c!=="stack"&&c!=="grid")return;F.preventDefault(),F.stopPropagation(),F.currentTarget.setPointerCapture(F.pointerId),t();let M=sl(r),j=D==="row"?M.row:M.column,L=Rl(c,"gap",j);p("gap"),u(L),z({element:r,family:c,subproperty:"gap",startX:F.clientX,startY:F.clientY,startPixels:j,deltaX:0,deltaY:0,direction:1,axis:D==="row"?"y":"x",step:L,hasMoved:!1,gapAxis:D,cursor:{x:F.clientX,y:F.clientY}},F.currentTarget)},[t,r,u,p,z,c]),N=q((D,F)=>{if(!(r instanceof HTMLElement))return;F.preventDefault(),F.stopPropagation(),F.currentTarget.setPointerCapture(F.pointerId),t();let M=rd(D,F.altKey||F.ctrlKey),j=qi(r)[D],L=Rl("radius",M,j);p(M),u(L),z({element:r,family:"radius",subproperty:M,startX:F.clientX,startY:F.clientY,startPixels:j,deltaX:0,deltaY:0,vector:od(D),step:L,hasMoved:!1,corner:D,cursor:{x:F.clientX,y:F.clientY}},F.currentTarget)},[t,r,u,p,z]),Y=q((D,F,M,j)=>{if(!Lr(r))return;M.preventDefault(),M.stopPropagation(),M.currentTarget.setPointerCapture(M.pointerId);let L=window.getComputedStyle(r).getPropertyValue(D).trim(),T=D==="translate"?ip(L):void 0,Z=D==="scale"?(Number.parseFloat(L)||1)*100:D==="translate"?T.x:Number.parseFloat(L)||0,re=ao(D,Z),ee=Ma(r),oe=Vi(r,ee),U=D==="scale"&&F?uv(oe,F):D==="rotate"?pv(oe,j??rp(oe,20).side):void 0,fe=T?{x:ao("translate",T.x),y:ao("translate",T.y)}:void 0;x.current=null,g.current=null,t(),p(D),u(re),z({element:r,family:"transform",subproperty:D,startX:M.clientX,startY:M.clientY,startPixels:Z,deltaX:0,deltaY:0,direction:1,vector:U,step:re,hasMoved:!1,transformKind:D,transformCorner:F??void 0,startTranslate:T,translateSteps:fe,translateValue:T?`${T.x}px ${T.y}px`:void 0,ghostQuad:oe,cursor:{x:M.clientX,y:M.clientY}},M.currentTarget)},[t,r,u,p,z,g,x]),J=q((D,F)=>{p(D),u(F)},[u,p]),le=q(D=>{o.current=D,s(D)},[o,s]),w=q((D,F,M)=>{e.current(D.element,{family:D.family,step:D.step,subproperty:F,axisSteps:D.translateSteps}),D.family==="transform"&&(x.current={element:D.element,subproperty:D.subproperty,step:D.step},g.current={element:D.element,releasePoint:M},S.current=null,i(D.element),a(yn(D.element)))},[e,i,a,g,x,S]),Q=q(()=>{t(),x.current=null,g.current=null},[t,g,x]);return mx(P,{onSelectionChange:J,onCursorChange:le,onCommit:w,onCancel:Q}),{applySticker:G,beginSteerGapDrag:K,beginSteerRadiusDrag:N,beginSteerSpacingDrag:E,beginSteerTransformDrag:Y,steerDrag:R,steerDragRef:I}}function yx(e,t){_(()=>{let n=r=>{if(r.pointerType==="touch")return;let o={x:r.clientX,y:r.clientY};e.current=o,t?.(o)};return window.addEventListener("pointermove",n,{capture:!0,passive:!0}),()=>window.removeEventListener("pointermove",n,{capture:!0})},[e,t])}function vx(e){return e instanceof Element&&e.closest("[data-popmelt-steer-overlay]")!==null}function Xp(e){return e instanceof Element&&e.closest("[data-popmelt-subject-label-action]")!==null}var Vp=8,kd=-.5,Ho="__active_text_send_hint__",bx=4;function xx({historyPreview:e,bridgeUrl:t,steeringContextStorageKey:n,state:r,dispatch:o,onScreenshot:i,inFlightAnnotationIds:a,inFlightOrientationLabels:l,waitingApprovalJobIds:s,activeAnnotationIds:d,queuePositionMap:u,inFlightStyleSelectors:p,inFlightStyleSelectorJobIds:c,inFlightSelectorColors:h,modifiedElementThreadStates:m,dismissedThreadIds:g,onAttachImages:x,onRemoveImages:S,onCaptureInteractionFrame:P,onSend:R,onViewThread:I,onCloseThread:z,onArchiveThread:G,onDeleteSubmittedAnnotation:E,highlightedAnnotationIds:K,cycleFocusedAnnotationIds:N,onCanvasInteraction:Y,focusedThreadAnnotationId:J,openThreadId:le,hasOpenThread:w=!1,externalCanvasRef:Q,toolbarRef:D,threadPanelElement:F,clearSignal:M=0,subjectRegistry:j,subjectRegistryReady:L=!0,onFocusTargetChange:T,onFocusActivity:Z}){let re=jr(Bi),{canvasRef:ee,redrawAll:oe,resizeCanvas:U}=$h(),[fe,me]=$(null),[X,Te]=$(0),[Ae,Ee]=$(0),_e=q(()=>Ee(v=>v+1),[]),O=hs(),ze=q(v=>{ee.current=v,Q&&(Q.current=v),me(C=>C===v?C:v)},[Q,ee]);Et(()=>{if(!j||!L)return;let v=!1;for(let C of r.annotations)C.target&&(v=!0,!j.resolve(C.target)&&C.elements?.[0]&&j.restore(C.target,C.elements[0]));v&&Te(C=>C+1)},[r.annotations,j,L]);let Oe=B(null),Ve=B(0),[nt,ve]=$(null),Ne=q(()=>{let v=Oe.current;Oe.current=null,ve(null),v&&(v.session.cancel(),v.captureTarget.hasPointerCapture(v.pointerId)&&v.captureTarget.releasePointerCapture(v.pointerId))},[]),ge=B(!1),[Je,st]=$(!1),Ge=B(null),$e=B(null),[Be,Pt]=$(!1),ht=B(Promise.resolve()),[pt,Qe]=$(0),[ft,zt]=$(null),Kt=q(()=>{if(!P)return Promise.resolve(null);let v=ht.current.then(async()=>(await new Promise(C=>window.requestAnimationFrame(()=>C())),P()));return ht.current=v.catch(()=>null),v},[P]),En=B(r.activeTool),Xt=B(null),_t=B(null),Me=q(()=>{Ge.current?.cancel(),Ge.current=null,$e.current=null,ge.current=!1,Xt.current=null,_t.current=null,st(!1),Pt(!1),Qe(0),zt(null)},[]),Zt=q(()=>{Ne(),ge.current=!0,En.current=r.activeTool,st(!0)},[Ne,r.activeTool]);_(()=>{ge.current&&r.activeTool!==En.current&&Me()},[Me,r.activeTool]),_(()=>{(!r.isAnnotating||r.activeTool!=="inspector")&&Ne()},[Ne,r.activeTool,r.isAnnotating]),_(()=>()=>{let v=Oe.current;Oe.current=null,v?.session.cancel()},[]);let{activeText:y,setActiveText:ie,handleTextPaste:be,removeActiveTextAttachment:Ue,releaseActiveTextAttachments:It}=$y({bridgeUrl:t,annotations:r.annotations}),[xt,Ce]=$(null),[Xe,Dt]=$(null),[ye,Fe]=$(null),[Ke,mt]=$(0),at=B(null),Ze=B(null),Wt=B(null),[Ye,bn]=$(null),[Tn,xn]=$(null),rn=B(void 0);rn.current===void 0&&(rn.current=n&&typeof window<"u"?a0(window.localStorage,n):null);let pr=rn.current,[gt,On]=$(()=>pr?.family??"padding"),[on,Xn]=$(()=>pr?.step??4),[Bt,Hr]=$(()=>pr?.subproperty??"all"),[Vt,Vn]=$(()=>pr?.stage??"family"),[co,fn]=$(null);yx(Ze,Be?zt:r.isAnnotating&&r.activeTool==="sticker"?fn:void 0);let[Nn,dn]=$(null),Tt=q(v=>{dn({id:performance.now(),nativeReady:!1,tool:v})},[]),[Rt,Wo]=$(0),[Or,cn]=$(0),[en,fr]=$(0),[uo,vt]=$(0),[wn,hr]=$(!1),[mr,Cn]=$(0),[hn,An]=$(()=>pr?.query??null);_(()=>{!n||typeof window>"u"||l0(window.localStorage,n,{family:gt,step:on,subproperty:Bt,stage:Vt,query:hn})},[n,gt,hn,Vt,on,Bt]);let Ct=B(r.activeTool),Bo=B(!1),gi=B(()=>!1),Ht=B(null),gr=B(null),Nr=B(r.styleModifications),qt=B(null),He=B(null),Mn=B(null),_n=B(null),tn=q(()=>{_n.current!==null&&(cancelAnimationFrame(_n.current),_n.current=null)},[]),Gn=q(()=>{if(tn(),!re)return;let v=performance.now()+Np,C=()=>{h0(Ht.current);let te=qt.current;te&&Ht.current?.element===te.element&&(te.renderedQuad=Vi(te.element,te.layoutQuad)),Cn(de=>de+1),performance.now()<v?_n.current=requestAnimationFrame(C):_n.current=null};_n.current=requestAnimationFrame(C)},[tn,re]);_(()=>(re?Ht.current&&Gn():tn(),tn),[re,Gn,tn]);let $t=q(()=>{tn();let v=Ht.current;v&&(Pa(v),Ht.current=null,gr.current=null,Cn(C=>C+1))},[tn]),{handleShakePointerMove:Rn,pendingShakeToolTransitionRef:Gt}=ex({activeTool:r.activeTool,isAnnotating:r.isAnnotating,clearStickerPreview:$t,dispatch:o,setStickerCursor:fn,startCursorSwitchPulse:Tt});Et(()=>{let v=Nr.current,C=r.styleModifications;Nr.current=C,!(v===C||!Ht.current)&&(tn(),f0(Ht.current,v,C),Ht.current=null,gr.current=null,qt.current=null,Cn(te=>te+1))},[r.styleModifications,tn]),Et(()=>{_p(r.activeTool,r.isAnnotating)&&($t(),He.current=null,Mn.current=null)},[$t,r.activeTool,r.isAnnotating]);let kt=q(()=>{Vn("family"),fn(null),An(null)},[]);Et(()=>{let v=Ct.current,C=r.activeTool,te=Gt.current,de=te?.from===v&&te.to===C;Gt.current=null,Ct.current=C;let ke=s0(v,C,de,Bo.current);Bo.current=ke.preservedAway,ke.shouldReset&&kt()},[Gt,kt,r.activeTool]),Et(()=>{r.isAnnotating||(Bo.current=!1,kt())},[kt,r.isAnnotating]);let Fn=q((v,C)=>{if($t(),!Ye)return null;let te=window.getComputedStyle(Ye),de=Lh(v,C).map(ke=>te.getPropertyValue(ke));return jh(v,de,C)},[$t,Ye]),yi=q(v=>($t(),Ye?Ph(window.getComputedStyle(Ye).getPropertyValue(v)):null),[$t,Ye]);px({active:r.activeTool==="sticker"&&r.isAnnotating,family:gt,step:on,subproperty:Bt,stage:Vt,query:hn,setFamily:On,setStep:Xn,setSubproperty:Hr,setStage:Vn,setQuery:An,setCursor:fn,setContextLabelPulse:cn,setDepthSnapPulse:fr,setRejectPulse:vt,lastCursorRef:Ze,toolbarRef:D,previewRef:Ht,applyStickerRef:gi,readColor:yi,readStep:Fn});let[Qt,$n]=$(null),[Sn,yr]=$(null),[_r,Fr]=$(null),[Qn,vr]=$(!1),un=B(Lp()),Zn=B(qc()),[po,qo]=$(null),[Wr,fo]=$(null),[H,ce]=$(null),[Ie,xe]=$(null),ne=B({x:0,y:0}),[De,qe]=$({x:0,y:0}),et=B(jp()),[Pe,Jt]=$(null),[Wn,In]=$(null),[er,br]=$(null),[vi,Fa]=$(!1),[Gl,Br]=$(0),{swipeHint:Ql,clearSwipeHint:Wa}=lx({enabled:r.activeTool==="hand"&&r.isAnnotating,dispatch:o,handCursorRef:ne,setGapRefreshKey:Br}),bi=B(Pp()),[aa,xi]=$(null),[ho,Jo]=$(null),[mo,Ln]=$(null),go=B(zp()),[xr,Uo]=$(null),[yo,qr]=$(null),[Yo,la]=$(null),Ba=Ny(),Ko=B(h);Ko.current=h;let Xo=q(v=>{let C=Ko.current;if(!C||C.size===0)return!1;for(let te of C.keys())try{if(Ui(v,te))return!0}catch{}return!1},[]),{applySticker:Zl,beginSteerGapDrag:es,beginSteerRadiusDrag:qa,beginSteerSpacingDrag:Ja,beginSteerTransformDrag:Ua,steerDrag:dt,steerDragRef:Ya}=gx({applyStickerRef:gi,clearStickerPreview:$t,dispatch:o,hoveredElement:Ye,lastCanvasCursorRef:Ze,setHoveredElement:bn,setHoveredElementInfo:xn,setStickerApplyPulse:Wo,setStickerCursor:fn,setStickerRejectPulse:vt,setStickerStep:Xn,setStickerSubproperty:Hr,stickerFamily:gt,stickerStep:on,stickerSubproperty:Bt,transformDragHandoffRef:Mn,transformPreviewSuppressionRef:He,transformPreviewTargetRef:qt});_(()=>{hr(!1);let v=dt?.family==="transform"?dt.element:Ye;if(_p(r.activeTool,r.isAnnotating)||Vt!=="value"||!xl(v,gt,Bt)||no(v)){qt.current=null,$t();return}let C={element:v,family:gt,step:on,subproperty:Bt,valueOverride:dt?.transformKind==="translate"?dt.translateValue:void 0},te=He.current,de=gt==="transform"&&te?.element===v&&te.subproperty===Bt&&te.step===on;if(te&&!de&&(He.current=null),de){if($t(),qt.current?.element!==v){let{top:tt,right:bt,bottom:Mt,left:eo}=v.getBoundingClientRect(),to=Ma(v);qt.current={element:v,bounds:{top:tt,right:bt,bottom:Mt,left:eo},layoutQuad:to,renderedQuad:Vi(v,to)},Cn(ps=>ps+1)}return}if(Ht.current&&c0(gr.current,C))return;if(gt==="transform"){if(qt.current?.element!==v){Pa(Ht.current),Ht.current=null,gr.current=null;let{top:tt,right:bt,bottom:Mt,left:eo}=v.getBoundingClientRect(),to=Ma(v);qt.current={element:v,bounds:{top:tt,right:bt,bottom:Mt,left:eo},layoutQuad:to,renderedQuad:Vi(v,to)}}}else qt.current=null;let ke=m0(v,gt,on,Bt,Ht.current,C.valueOverride);Ht.current=ke.preview,gr.current=C,hr(ke.stepUnavailable),Cn(tt=>tt+1),Gn()},[$t,Ye,r.activeTool,r.isAnnotating,dt?.element,dt?.family,dt?.transformKind,dt?.translateValue,gt,Vt,on,Bt,Gn]),_(()=>()=>{tn(),Pa(Ht.current),Ht.current=null,gr.current=null,qt.current=null,He.current=null,Mn.current=null},[tn]);let Lt=q(()=>{He.current=null,Mn.current=null,bn(null),xn(null),qo(null),fo(null),ce(null),Jt(null),In(null),Fa(!1),xi(null),Jo(null),Uo(null),qr(null),Wa()},[Wa]),ts=y&&!y.domEdit?y?.id:null,ns=ye?`${ye.target.adapter}:${ye.target.key}`:null,sa=ts??ns;_(()=>{sa&&Lt()},[sa,Lt]);let da=q(v=>{$n(v),v&&Lt()},[Lt]),rs=q(v=>{yr(v),v&&Lt()},[Lt]),Jr=q((v,C)=>{Fr(C?.length?{ownerId:v,annotationIds:C}:null),C?.length&&Lt()},[Lt]),vo=q(v=>{vr(v),v&&Lt()},[Lt]),mn=q((v,C)=>{$t();let te=pn(v);xl(te,C.family,C.subproperty)&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"sticker"}),On(C.family),Hr(C.subproperty),Xn(C.step),Vn("value"),bn(te),xn(yn(te)),Ze.current&&fn(Ze.current))},[$t,o]),Vo=q((v,C)=>{$t(),Lt(),yr(null),o({type:"CLEAR_STICKER",payload:{selector:v,sticker:C}})},[Lt,$t,o]),wr=q(v=>{if(!I)return;I(v);let C=0,te=()=>{let de=document.querySelector("[data-popmelt-shadow-host]")?.shadowRoot?.querySelector("[data-popmelt-reply]");if(de){de.focus(),de.setSelectionRange(de.value.length,de.value.length);return}C+=1,C<6&&requestAnimationFrame(te)};requestAnimationFrame(te)},[I]),Ot=B(r);Ot.current=r;let tr=Oy({annotations:r.annotations,currentPathname:O,dispatch:o,stateRef:Ot,styleModifications:r.styleModifications,subjectRegistry:j,toolbarRef:D,onTargetResolutionChange:_e}),Nt=B(y);Nt.current=y;let Ur=B(y);_(()=>{let v=C=>{if(Ur.current=null,C.button!==2)return;let te=Nt.current;Ur.current=Ap(te)?te:null};return window.addEventListener("pointerdown",v,!0),()=>window.removeEventListener("pointerdown",v,!0)},[]),ox(y,ie);let{cursorPosRef:bo,domEditInputSize:xo,inputRef:Sr,lastPositionedTextId:Ka}=ix({activeText:y,activeTextRef:Nt,canvasRef:ee,visible:r.isAnnotating}),wi=q(()=>{window.requestAnimationFrame(()=>{Sr.current?.focus();let v=Sr.current?.value.length??0;Sr.current?.setSelectionRange(v,v)})},[Sr]),Xa=q((v,C=Ur.current)=>{let te=Nt.current,de=j?.hitTest(v)??null,ke=de?.element??Ji(v.x,v.y,{allowBodyFallback:!0}),tt=de?.target,bt=[...Ot.current.annotations].reverse().find(Un=>Un.type!=="text"||(Un.status??"pending")!=="pending"?!1:tt&&Un.target?Un.target.adapter===tt.adapter&&Un.target.key===tt.key:!Un.linkedSelector||!ke?!1:!!nn(Un.linkedSelector,Un.elements)?.contains(ke)),Mt=zb({activationDraft:C,activeDraft:te,annotations:Ot.current.annotations,selectedAnnotationIds:Ot.current.selectedAnnotationIds,lastSelectedId:Ot.current.lastSelectedId,annotationAtCursor:bt});if(Ur.current=null,!Mt||Ot.current.activeTool!=="inspector")return!1;let eo=Mt.value;Ge.current?.cancel();let to=eo.target&&j?j.resolve(eo.target):null,ps=to?.subject.sourceElement??(eo.linkedSelector?pn(eo.linkedSelector):null),qf=Un=>{if(!(Un instanceof MouseEvent)||!j)return;let nl=j.hitTest({x:Un.clientX,y:Un.clientY});if(!nl)return;let Jf=nl.target;return{element:nl.subject.sourceElement??null,state:fd(nl),captureResult:()=>{let ic=j.resolve(Jf);return ic?fd(ic):void 0}}};return $e.current={id:eo.id,draft:Mt.kind==="draft"},Ge.current=Lb({subjectElement:ps,...to?{subjectState:fd(to)}:{},resolveEventTarget:qf,onActionCountChange:Qe,captureFrame:P?Kt:void 0}),Lt(),Ce(null),$n(null),yr(null),Qe(0),zt(v),Pt(!0),Zt(),!0},[Lt,Kt,Zt,P,j]),Go=q(async()=>{let v=Ge.current,C=$e.current;if(!v||!C||!v.hasActions())return;let{episode:te,frames:de}=await v.finish();if(Ge.current=null,C.draft)ie(ke=>{if(ke?.id!==C.id)return ke;let tt=ke.images?.length??0;return{...ke,images:[...ke.images??[],...de],interactionEpisode:Tp(te,tt)}});else{let ke=Ot.current.annotations.find(tt=>tt.id===C.id);if(ke){let tt=ke.imageCount??0,bt=Tp(te,tt);de.length>0&&x?.(ke.id,de),o({type:"UPDATE_TEXT",payload:{id:ke.id,text:ke.text??"",imageCount:tt+de.length,interactionEpisode:bt}})}}Me(),C.draft&&wi()},[o,Me,wi,x,ie]),Si=q(v=>{let C=Nt.current;if(C?.id===v&&(ie(de=>{if(de?.id!==v)return de;let ke=new Set(de.interactionEpisode?.frames?.map(bt=>bt.imageIndex)??[]),tt={...de};return delete tt.interactionEpisode,ke.size>0&&de.images&&(tt.images=de.images.filter((bt,Mt)=>!ke.has(Mt))),tt}),C.isNew))return;let te=Ot.current.annotations.find(de=>de.id===v)?.interactionEpisode?.frames?.map(de=>de.imageIndex)??[];te.length>0&&S?.(v,te),o({type:"CLEAR_INTERACTION_EPISODE",payload:{id:v}})},[o,S,ie]),ca=q(()=>{let v=$e.current?.draft;Me(),v&&wi()},[Me,wi]);_(()=>{let v=C=>{if(!ge.current)return;let te=C.metaKey||C.ctrlKey;if(C.key==="Escape"&&te){C.preventDefault(),C.stopPropagation(),C.stopImmediatePropagation(),Ge.current?ca():Me();return}C.key==="Enter"&&te&&Ge.current&&(C.preventDefault(),C.stopPropagation(),C.stopImmediatePropagation(),Go())};return window.addEventListener("keydown",v,!0),()=>window.removeEventListener("keydown",v,!0)},[ca,Me,Go]),_(()=>{if(!Be)return;let v=te=>Ge.current?.recordEvent(te),C=()=>Ge.current?.recordScroll();return window.addEventListener("click",v,!0),window.addEventListener("pointerdown",v,!0),window.addEventListener("pointerup",v,!0),window.addEventListener("input",v,!0),window.addEventListener("change",v,!0),window.addEventListener("submit",v,!0),window.addEventListener("keydown",v,!0),window.addEventListener("play",v,!0),window.addEventListener("pause",v,!0),window.addEventListener("seeked",v,!0),window.addEventListener("scroll",C,{capture:!0,passive:!0}),()=>{window.removeEventListener("click",v,!0),window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointerup",v,!0),window.removeEventListener("input",v,!0),window.removeEventListener("change",v,!0),window.removeEventListener("submit",v,!0),window.removeEventListener("keydown",v,!0),window.removeEventListener("play",v,!0),window.removeEventListener("pause",v,!0),window.removeEventListener("seeked",v,!0),window.removeEventListener("scroll",C,!0)}},[Be]);let wo=B([]),Ii=B(i);Ii.current=i;let{dragState:Yr,resizeState:ki,setDragState:Ir,setResizeState:So}=db(),kr=r.selectedAnnotationIds;wo.current=kr;let nr=q((v,C=!1)=>{o({type:"SELECT_ANNOTATION",payload:{id:v,addToSelection:C}})},[o]),Qo=q(()=>{o({type:"SELECT_ANNOTATION",payload:{id:null}})},[o]),Io=q(v=>{let C=Ot.current.annotations.find(te=>te.id===v);!C||!al(C,Ot.current.annotations)||(o({type:"DELETE_ANNOTATION",payload:{id:v}}),Nt.current?.id===v&&(It(Nt.current.attachments),ie(null)),Lt(),$n(null),yr(null),Fr(null),vr(!1),Qo())},[Lt,Qo,o,It,ie]),os=q(v=>{let C=gm(Ot.current.textModifications,v,O);C&&(o(C),Lt(),yr(null),Fr(null),vr(!1))},[O,o,Lt]),Er=B({x:window.scrollX,y:window.scrollY}),rr=B(null),[gn,an]=$(Er.current);_(()=>{if(re)return U(),window.addEventListener("resize",U),window.visualViewport?.addEventListener("resize",U),()=>{window.removeEventListener("resize",U),window.visualViewport?.removeEventListener("resize",U)}},[U,re]),Wy(y,ie,xt,r.annotations,o),ym({state:r,stateRef:Ot,activeTextRef:Nt,selectedIdsRef:wo,dispatch:o,clearSelection:Qo,selectAnnotation:nr,handHoveredElement:po,onArchiveThread:G,openThreadId:le,currentPathname:O,hasOpenThread:w});let{pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:qn,pendingBundleCount:ua,pendingTextAnnotations:is}=mc({state:r,activeText:y,currentPathname:O,dismissedThreadIds:g,modifiedElementThreadStates:m}),{sendHintAnchorId:Ei,setSendHintAnchorId:Zo}=Fy({activeText:y,activeTextAnchorId:Ho,hoveredElement:Ye,hoveredTextId:xt,pendingTextAnnotations:is}),{locationLabels:ko,tooltipAnnotationId:pa,revealAnnotation:Va}=_y({annotations:Ut,annotationIds:tr,badgeHoveredAnnotationId:Qt,hoveredTextId:xt}),Ga=q((v,C)=>{let te=Ot.current.annotations.find(de=>de.id===v);te&&(nr(v),C&&wr(C),tr.has(v)&&Va(te))},[wr,tr,Va,nr]),{cycleSpotlightAnnotationIds:fa,emphasizedAnnotationIds:ha,hoverRestoredAnnotationIds:ma,inactiveEmphasisOpacity:Ti,statusSpotlightAnnotationIds:Ci}=Ly({annotations:Ut,isCreatingAnnotation:!!(y?.isNew&&!y.domEdit),hoveredTextId:xt,badgeHoveredAnnotationId:Qt,highlightedAnnotationIds:K,cycleFocusedAnnotationIds:N,hoveredElement:Ye}),Ai=zh(re?D?.current:null),ga=Ai.avoidTop,Eo=Ai.avoidBottom,Tr=Ai.avoidLeft,Mi=Ai.avoidRight,ei=Se(()=>({avoidTop:ga,avoidBottom:Eo,avoidLeft:Tr,avoidRight:Mi}),[ga,Eo,Tr,Mi]),{supersededAnnotations:Cr,stagedArtifactOrder:Qa,annotationGroupMap:Jn,pageModificationNumberBySelector:ya}=gc({state:r,pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:qn}),b=Ia(Ye),k=!!(ye&&b?.adapter===ye.target.adapter&&b.key===ye.target.key),W=!!(Ye&&Tn&&!k&&!xt&&!Qt&&!y?.linkedSelector&&!Xe?.linkedSelector),{hiddenCollidingAnnotationIds:V,nestedCollidingAnnotationCountById:se,nestedCollidingAnnotationIdsById:ae,visibleCollisionRepresentativeByAnnotationId:he}=jy({activeText:y,activeTextSendHintId:Ho,annotationNumberById:Jn,badgeHoveredAnnotationId:Qt,canvasRef:ee,focusedThreadAnnotationId:J,hoveredElement:Ye,hoveredElementInfo:Tn,hoveredTextId:xt,layoutReady:re&&fe!==null,showHoverElementIdentifier:W,layoutRevision:X+Ae,pageAnnotations:Ut,parentPinnedAnnotationIds:tr,pendingLinkedText:Xe,scroll:gn,supersededAnnotations:Cr,textSafeBounds:ei}),{activeTextAnnotation:pe,activeTextCollisionId:Le,activeTextModifiedRail:je,activeTextNestedAnnotationCount:ue,activeTextNestedAnnotationIds:Re,activeTextNestedBadgeColor:ut,elementRailColorBySelector:jt,elementRailComments:Kr,hiddenAnnotationBadgeIds:Ar,modifiedElementSendHintSelector:va,stagedElementComments:ti,visibleCanvasAnnotations:Xr,visibleSendHintAnchorId:To}=Dh({activeText:y,activeColor:r.activeColor,annotations:r.annotations,annotationNumberById:Jn,focusedThreadAnnotationId:J,hiddenCollidingAnnotationIds:V,modifiedElementThreadStates:m,nestedCollidingAnnotationCountById:se,nestedCollidingAnnotationIdsById:ae,pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:qn,sendHintAnchorId:Ei,supersededAnnotations:Cr,visibleCollisionRepresentativeByAnnotationId:he,activeTextSendHintId:Ho,targetResolutionRevision:X+Ae}),ni=Se(()=>{if(kr.length===0)return null;let v=new Map;for(let C of kr){let te=r.annotations.find(ke=>ke.id===C);if(!te)continue;let de=te.groupId?r.annotations.filter(ke=>ke.groupId===te.groupId):[te];for(let ke of de)if(ke.linkedSelector&&!h?.has(ke.linkedSelector)){let tt=ke.color||r.activeColor;v.set(ke.linkedSelector,tt)}}return v.size>0?v:null},[kr,r.annotations,r.activeColor,h]),we=q((v=Er.current)=>{oe(Xr,kr,Vp,v.x,v.y,Jn,Ci,ei,ha,ma,Ti,tr)},[Xr,kr,oe,Jn,Ci,ei,ha,ma,Ti,tr]);_(()=>{re&&we(Er.current)},[we,re]),_(()=>{if(!re)return;let v=()=>{let C={x:window.scrollX,y:window.scrollY};Er.current=C,we(C),rr.current===null&&(rr.current=window.requestAnimationFrame(()=>{rr.current=null;let te=Er.current;an(de=>de.x===te.x&&de.y===te.y?de:te)}))};return v(),window.addEventListener("scroll",v,{passive:!0,capture:!0}),()=>{window.removeEventListener("scroll",v,!0),rr.current!==null&&(window.cancelAnimationFrame(rr.current),rr.current=null)}},[we,re]);let{findAnnotationAtPoint:wt,findHandleAtPoint:jn,findTextAtPoint:or,getPoint:ir}=R0({annotationGroupMap:Jn,annotations:r.annotations,canvasRef:ee,handleSize:Vp,hiddenCollidingAnnotationIds:V,pageAnnotations:Ut,parentPinnedAnnotationIds:tr,scroll:gn,selectedAnnotationIds:kr,supersededAnnotations:Cr,textSafeBounds:ei}),{commitActiveText:yt,createInlineTextEdit:Ri,editPendingLinkedComment:Co,handleSendPendingBundle:Pn}=rx({activeText:y,activeTextRef:Nt,canvasRef:ee,clearPageElementHover:Lt,clearSelection:Qo,clearSignal:M,commentTextEditCandidateRef:Wt,cursorPosRef:bo,dispatch:o,findTextAtPoint:or,lastPositionedTextId:Ka,onAttachImages:x,onCloseThread:z,onSend:R,pendingLinkedText:Xe,releaseActiveTextAttachments:It,setActiveText:ie,setDragState:Ir,setHoveredTextId:Ce,setPendingLinkedText:Dt,setSendHintAnchorId:Zo,state:r,stateRef:Ot}),ar=q(()=>{let v=Ur.current;jb(Nt.current,v)||yt()},[yt]),zn=E0({activeText:y,applySticker:Zl,canvasRef:ee,clearSelection:Qo,commentTextEditCandidateRef:Wt,commitActiveText:yt,createInlineTextEdit:Ri,dispatch:o,domDragRef:Zn,editPendingLinkedComment:Co,findAnnotationAtPoint:wt,findHandleAtPoint:jn,findTextAtPoint:or,gapDragRef:et,gapHoveredAxis:Wn,gapHoveredElement:Pe,gapIsAuto:vi,getPoint:ir,handleAnnotationActivation:Ga,handDragRef:un,handHoveredElement:po,handHoveredSide:Wr,hoveredElement:Ye,hoveredElementInfo:Tn,isElementInFlight:Xo,onCanvasInteraction:Y,openThreadAndFocusReply:wr,pageAnnotations:Ut,modifiedElementThreadStates:m,pageStyleModifications:Bn,parentPinnedAnnotationIds:tr,pointerTargetOverrideRef:_t,radiusDragRef:bi,radiusHoveredCorner:ho,radiusHoveredElement:aa,selectAnnotation:nr,setDragState:Ir,setGapDragging:br,setHandDragging:xe,setPendingLinkedText:Dt,setRadiusDragging:Ln,setResizeState:So,setStickerRejectPulse:vt,setTextDragging:la,state:r,stickerStage:Vt,textDragRef:go,textHoveredElement:xr,textHoveredProperty:yo,toolbarRef:D});_(()=>{if(!Je)return;let v=ke=>{if(ke.button===0){if(ke.target instanceof Element&&no(ke.target)){Xt.current=null;return}Z?.(),Xt.current={startX:ke.clientX,startY:ke.clientY,moved:!1}}},C=ke=>{(!(ke.target instanceof Element)||!no(ke.target))&&Z?.();let tt=Xt.current;tt&&(Xt.current=yb(tt,ke.clientX,ke.clientY))},te=()=>{Xt.current=null},de=ke=>{if(Kf())return;let tt=Xt.current;if(Xt.current=null,!vb(tt)||ke.button!==0||ke.target instanceof Element&&no(ke.target)||Ge.current||r.activeTool!=="inspector"&&r.activeTool!=="sticker")return;let bt=r.activeTool==="inspector"?j?.hitTest({x:ke.clientX,y:ke.clientY}):null;bt&&j?.promote(bt.target);let Mt=bt?.element??Ji(ke.clientX,ke.clientY,{allowBodyFallback:r.activeTool==="inspector"});!Mt||no(Mt)||Mt!==document.documentElement&&(r.activeTool==="inspector"&&Xo(Mt)||r.activeTool==="sticker"&&!(Mt instanceof HTMLElement)&&!(Mt instanceof SVGElement)||(_t.current={element:Mt,elementInfo:bt?.elementInfo??yn(Mt)},ke.preventDefault(),ke.stopPropagation(),ke.stopImmediatePropagation(),zn(ke)))};return window.addEventListener("pointerdown",v,!0),window.addEventListener("pointermove",C,!0),window.addEventListener("pointercancel",te,!0),window.addEventListener("click",de,!0),()=>{window.removeEventListener("pointerdown",v,!0),window.removeEventListener("pointermove",C,!0),window.removeEventListener("pointercancel",te,!0),window.removeEventListener("click",de,!0)}},[zn,Je,Xo,r.activeTool,j,Z]),_(()=>{!r.isAnnotating&&ge.current&&Me()},[Me,r.isAnnotating]);let ri=G0({activeTool:r.activeTool,annotations:r.annotations,canvasRef:ee,clearPageElementHover:Lt,clearStickerPreview:$t,dispatch:o,domDragRef:Zn,dragState:Yr,findTextAtPoint:or,gapDragRef:et,gapHoveredAxis:Wn,gapHoveredElement:Pe,getPoint:ir,handCursorRef:ne,handDragRef:un,handHoveredElement:po,handHoveredSide:Wr,handleShakePointerMove:Rn,hoveredElement:Ye,hoveredElementInfo:Tn,isAnnotating:r.isAnnotating,isElementInFlight:Xo,lastCanvasCursorRef:Ze,modifiersRef:Ba,radiusDragRef:bi,radiusHoveredCorner:ho,radiusHoveredElement:aa,resizeState:ki,setDomDropPreview:ce,setDragState:Ir,setGapDragging:br,setGapHoveredAxis:In,setGapHoveredElement:Jt,setGapIsAuto:Fa,setHandCursorPos:qe,setHandDragging:xe,setHandHoveredElement:qo,setHandHoveredSide:fo,setHoveredElement:bn,setHoveredElementInfo:xn,setRadiusDragging:Ln,setRadiusHoveredCorner:Jo,setRadiusHoveredElement:xi,setResizeState:So,setStickerCursor:fn,setStickerStep:Xn,setTextDragging:la,setTextHoveredElement:Uo,setTextHoveredProperty:qr,steerDragRef:Ya,stickerFamily:gt,stickerStage:Vt,stickerSubproperty:Bt,subjectRegistry:j,suspendTargetDiscovery:!!sa||Be,textDragRef:go,textHoveredElement:xr,textHoveredProperty:yo,transformDragHandoffRef:Mn,transformPreviewSuppressionRef:He,transformPreviewTargetRef:qt}),$i=Q0({annotationGroupMap:Jn,canvasRef:ee,currentPathname:O,cursorPosRef:bo,dispatch:o,domDragRef:Zn,dragState:Yr,gapDragRef:et,gapDragging:er,getPoint:ir,handDragRef:un,handDragging:Ie,lastPositionedTextId:Ka,radiusDragRef:bi,radiusDragging:mo,resizeState:ki,setActiveText:ie,setDomDropPreview:ce,setDragState:Ir,setGapDragging:br,setHandDragging:xe,setRadiusDragging:Ln,setResizeState:So,setSendHintAnchorId:Zo,setTextDragging:la,textDragRef:go,textDragging:Yo}),Za=q(v=>{if(r.isAnnotating&&r.activeTool==="inspector"&&v.button===0&&v.pointerType==="mouse"&&j&&!ye){let C=j.beginCreate({x:v.clientX,y:v.clientY});if(C){Oe.current={...C,start:{x:v.clientX,y:v.clientY},moved:!1,pointerId:v.pointerId,captureTarget:v.currentTarget},v.currentTarget.setPointerCapture(v.pointerId),v.preventDefault();return}}zn(v)},[zn,r.activeTool,r.isAnnotating,ye,j]),Mr=q(v=>{let C=Oe.current;if(!C||C.pointerId!==v.pointerId){ri(v);return}let te=Math.hypot(v.clientX-C.start.x,v.clientY-C.start.y);if(!C.moved&&te>=bx&&(C.moved=!0),!C.moved){ri(v);return}C.session.update({x:v.clientX,y:v.clientY}),ve({adapter:C.adapter.id,key:C.session.key}),mt(de=>de+1),v.preventDefault()},[ri]),Li=q(v=>{let C=Oe.current;if(C&&C.pointerId!==v.pointerId)return;if(Oe.current=null,ve(null),!C){$i(v);return}if(C.captureTarget.hasPointerCapture(C.pointerId)&&C.captureTarget.releasePointerCapture(C.pointerId),!C.moved){C.session.cancel();let de=j?.hitTest({x:v.clientX,y:v.clientY});de&&j?.promote(de.target),zn(v),$i(v);return}C.session.update({x:v.clientX,y:v.clientY});let te=C.session.commit();te&&(Ve.current=window.performance.now()+500,Fe({target:{adapter:C.adapter.id,key:te.key},created:!0})),v.preventDefault()},[zn,$i,j]),We=q(v=>{if(!r.isAnnotating||r.activeTool!=="inspector"||!j)return!1;let C=j.resolve(v);if(!C?.adapter.renameSubject)return!1;let te=Nt.current;return te?.isNew&&te.target?.adapter===C.target.adapter&&te.target.key===C.target.key&&(It(te.attachments),ie(null),Dt(null)),Fe({target:C.target,created:!1}),!0},[Nt,It,ie,r.activeTool,r.isAnnotating,j]),At=q(v=>{if(window.performance.now()<=Ve.current){Ve.current=0,v.preventDefault(),v.stopPropagation();return}if(Ve.current=0,!j)return;let C=j.hitTest({x:v.clientX,y:v.clientY});!C||!We(C.target)||(v.preventDefault(),v.stopPropagation())},[We,j]),St=q(v=>{let C=v.target.value;bo.current=v.target.selectionStart;let te=Nt.current;te?.domEdit&&o(cd(te.domEdit,C,te.text===te.domEdit.originalText)),ie(de=>{if(de?.domEdit){let ke=Jc(de.domEdit.segments,de.domEdit.originalText,C);de.domEdit.segments.forEach(tt=>{tt.textNode.nodeValue=tt.originalText}),ke.forEach(({segment:tt,modifiedText:bt})=>{tt.textNode.nodeValue=bt})}return de&&{...de,text:C}})},[Nt,bo,o,ie]),lr=q(v=>{v.key==="Escape"?(Nt.current?.domEdit&&(o(cd(Nt.current.domEdit,Nt.current.domEdit.originalText,!1)),Nt.current.domEdit.segments.forEach(C=>{C.textNode.nodeValue=C.originalText})),It(Nt.current?.attachments),ie(null)):Hh(v)?Pn():v.key==="Enter"&&!v.shiftKey&&(v.preventDefault(),yt())},[yt,o,Pn,It,ie]),oi=q(v=>{if(!r.isAnnotating)return;let C=Ur.current;Ur.current=null;let te=or(ir(v));if(te&&E&&!al(te,Ot.current.annotations)){v.preventDefault(),v.stopPropagation(),E(te.id);return}if(te&&al(te,Ot.current.annotations)){v.preventDefault(),v.stopPropagation(),Io(te.id);return}if(te?.status==="resolved"){let tt=vm(Ot.current.annotations,[te.id]);if(tt.length>0){v.preventDefault(),v.stopPropagation(),tt.forEach(bt=>G?.(bt));return}}v.preventDefault();let de=!!Nt.current,ke=Xa({x:v.clientX,y:v.clientY},C);!de&&!ke&&Zt()},[Zt,or,ir,Io,G,E,Xa,r.isAnnotating]),Vr=Se(()=>{if(!Ye)return r.activeColor;let v=null;for(let de of Ut)!de.linkedSelector||Cr.has(de)||nn(de.linkedSelector,de.elements)!==Ye||(!v||de.timestamp>v.timestamp)&&(v=de);let C=v?.color??r.activeColor,te=Tn?.selector??v?.linkedSelector;return te?gs([te],m??new Map,C,pn):C},[Ye,Tn?.selector,m,Ut,r.activeColor,Cr]),Ao=()=>{if(!r.isAnnotating)return"default";if(ki){let{handle:v}=ki;return v==="start"||v==="end"?"move":v==="top"||v==="bottom"?"ns-resize":v==="left"||v==="right"?"ew-resize":v==="topLeft"||v==="bottomRight"?"nwse-resize":"nesw-resize"}if(bb(r.activeTool)){let v=er?.axis??Wn;if(v==="row")return"ns-resize";if(v==="column")return"ew-resize";if(mo||ho)return"ns-resize";let C=Yo?.property??yo;if(C==="font-size")return"ew-resize";if(C==="line-height")return"ns-resize";let te=Ie?.side??Wr;return te==="top"||te==="bottom"?"ns-resize":te==="left"||te==="right"?"ew-resize":"default"}return r.activeTool==="inspector"?nm(Vr):r.activeTool==="sticker"?bc(Vr):"crosshair"},ji=gb(r.isAnnotating,r.activeTool),ii={position:"fixed",top:0,left:0,width:"100dvw",height:"100dvh",zIndex:9998,pointerEvents:Je||!ji?"none":"auto",visibility:ji?"visible":"hidden",cursor:Nn&&!Nn.nativeReady?"none":Ao(),touchAction:r.activeTool==="inspector"?"pan-x pan-y":"none"},ba=Se(()=>{if(!y||y.domEdit)return;if(y.linkedSelector){let C=ti.find(te=>te.selector===y.linkedSelector)?.annotationNumber??ya.get(je?.selector??y.linkedSelector);if(C!==void 0)return C}let v=Jn.get(y.id);if(v!==void 0)return v;if(y.groupId){let C=r.annotations.find(de=>de.groupId===y.groupId),te=C?Jn.get(C.id):void 0;if(te!==void 0)return te}return Qa.count+1},[y,je,Jn,ya,ti,Qa.count,r.annotations]),lt=ba!==void 0?`${ba}.`:"",Ft=Se(()=>{if(!y||!lt||y.domEdit)return 0;let v=ee.current?.getContext("2d");return v&&(v.font=`${y.fontSize}px ${kn}`),hb({prefix:lt,fontSize:y.fontSize,railGap:je?2:void 0,context:v})},[y,lt,je,ee]),sr=y?.images?.length??r.annotations.find(v=>v.id===y?.id)?.imageCount??0,ln=y&&!y.domEdit&&!je?Uy({nestedAnnotationCount:ue,imageCount:sr,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,reserveSendHint:!!R&&Ei===Ho&&!!y.text.trim()}):0,Pi=r.isAnnotating&&y?.linkedSelector&&!y.target&&!y.domEdit&&!je?nn(y.linkedSelector,y.elements):null,Gr=!!(y&&wc(y)),Qr=Sb(Pi),Zr=Gr&&Qr?As(Qr,22,2,window.innerHeight):null,as=y?Zr?Zr.left+8:Qr?Qr.left+8:y.point.x-gn.x:0,ls=y?Qr?.right??y.point.x-gn.x:0,ai=q(()=>{let v=ee.current;if(!v||!y)return{width:100,height:12*dr,isWrapped:!1};if(y.domEdit)return{width:xo?.id===y.id?xo.width:Math.max(1,y.domEdit.rect.width),height:xo?.id===y.id?xo.height:Math.max(1,y.domEdit.rect.height),isWrapped:y.domEdit.wrapsText};let C=v.getContext("2d");if(!C)return{width:100,height:y.fontSize*dr,isWrapped:!1};C.font=`${y.fontSize}px ${kn}`;let te=y.point.x-gn.x;if(!je){let de=!!(y.linkedSelector||y.target),ke=ud({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:384,annotationPrefixWidth:Ft,isModifiedRail:!1,fitToContent:de,context:C}).width+Ft+16,tt=Sp({anchorLeftX:as,anchorRightX:ls,editorWidth:ke,trailingWidth:ln,viewportWidth:window.innerWidth});return ud({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:Math.max(1,tt.maxEditorWidth-16),annotationPrefixWidth:Ft,isModifiedRail:!1,fitToContent:de,context:C})}return ud({text:y.text,fontSize:y.fontSize,effectiveMaxWidth:Ms(te),annotationPrefixWidth:Ft,isModifiedRail:!!je,context:C})},[y,ee,gn.x,Ft,je,ln,as,ls,xo])(),zi=!!y?.domEdit,zf=y?Math.max(1,y.text.split(`
|
|
58
|
-
`).length)*y.fontSize*dr+8:0,li=zi?ai.height:ai.height+8,Yd=Zr??(Qr?As(Qr,li,_i,window.innerHeight):void 0),Kd=Gr?wa("bottom-left"):wa(Yd?.anchor??y?.linkedAnchor),Df=ai.isWrapped?li-zf:0,Xd=y?zi?(y.domEdit.flowRect??y.domEdit.rect).top:Yd?.top??y.point.y-4-gn.y-Df:0,Hf=y?zi?(y.domEdit.flowRect??y.domEdit.rect).left:y.point.x-8-gn.x:0,Mo=zi?ai.width:ai.width+Ft+16,si=y&&!zi&&!je?Sp({anchorLeftX:as,anchorRightX:ls,editorWidth:Mo,trailingWidth:ln,viewportWidth:window.innerWidth}).editorLeft:Hf,Di=y?zi?Xd:bm(Xd,li,ei,si,Mo):0,Hi=y?.domEdit?{image:y.domEdit.boundaryRects.map(()=>"linear-gradient(#000 0 0)").join(", "),position:y.domEdit.boundaryRects.map(v=>`${v.left-si}px ${v.top-Di}px`).join(", "),size:y.domEdit.boundaryRects.map(v=>`${v.width}px ${v.height}px`).join(", ")}:void 0,Vd=y?y.domEdit?{position:"fixed",left:si,top:Di,zIndex:10002,width:Mo,height:li,minHeight:0,padding:0,margin:0,boxSizing:"border-box",appearance:"none",fontSize:y.fontSize,fontFamily:y.domEdit.fontFamily,fontWeight:y.domEdit.fontWeight,fontStyle:y.domEdit.fontStyle,color:"transparent",caretColor:r.activeColor,WebkitTextFillColor:"transparent",backgroundColor:"transparent",border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:y.domEdit.lineHeight,textIndent:y.domEdit.firstLineIndent,letterSpacing:y.domEdit.letterSpacing,textTransform:y.domEdit.textTransform,textAlign:y.domEdit.textAlign,wordSpacing:y.domEdit.wordSpacing,textDecoration:y.domEdit.textDecoration,textShadow:y.domEdit.textShadow,resize:"none",overflow:"hidden",whiteSpace:y.domEdit.wrapsText?y.domEdit.whiteSpace:"pre",wordBreak:y.domEdit.wordBreak,overflowWrap:y.domEdit.overflowWrap,maskImage:Hi?.image,maskPosition:Hi?.position,maskSize:Hi?.size,maskRepeat:"no-repeat",WebkitMaskImage:Hi?.image,WebkitMaskPosition:Hi?.position,WebkitMaskSize:Hi?.size,WebkitMaskRepeat:"no-repeat"}:{position:"fixed",left:si,top:Di,zIndex:10002,width:Mo,height:li,padding:`${4+kd}px 8px ${4-kd}px`,paddingLeft:8+Ft,boxSizing:"border-box",fontSize:y.fontSize,fontFamily:kn,color:"#ffffff",backgroundColor:r.activeColor,border:"none",borderRadius:y.linkedSelector?Kd:0,animation:y.linkedSelector&&y.isNew?"popmeltAnnotationFieldEnter 150ms ease-out both":void 0,outline:"none",boxShadow:"none",lineHeight:dr,resize:"none",overflow:"hidden",whiteSpace:ai.isWrapped?"pre-wrap":"pre",wordBreak:ai.isWrapped?"break-word":void 0}:{},Gd=y?.target&&y.linkedSelector?nn(y.linkedSelector,y.elements):null,Of=v=>!y||!je?null:A(it,{children:[f(Xy,{anchor:v,insetTopLeft:Gr,width:Mo,height:li,value:y.text,fontSize:y.fontSize,prefix:lt,inputRef:Sr,inputStyle:Vd,onChange:St,onKeyDown:lr,onPaste:be,onBlur:ar,onContextMenu:C=>{C.preventDefault(),C.stopPropagation(),Io(y.id)}}),f(Qc,{stepCount:y.interactionEpisode?.steps.length??0,onClear:()=>Si(y.id)})]}),{nestedBadgeOwnerSelector:Nf,hasExistingOverlay:_f,hoveredLinkedAnnotationId:Qd,hasSelectedHighlightForElement:Ff,ownedInFlightSelectorColors:Zd,ownedFocusedSelectorColors:ec,selectorElementInfo:tc,claimElementOverlay:Rr}=wb({activeText:y,pendingLinkedText:Xe,activeTextSendHintId:Ho,activeTool:r.activeTool,isAnnotating:r.isAnnotating,annotations:r.annotations,pageAnnotations:Ut,pageStyleModifications:Bn,pageTextModifications:qn,supersededAnnotations:Cr,nestedBadgeHover:_r,isSendBundleHovered:Qn,badgeHoveredAnnotationId:Qt,hoveredTextId:xt,badgeHoveredSelector:Sn,focusedThreadAnnotationId:J,inFlightSelectorColors:h,focusedSelectorColors:ni,hoveredElement:Ye}),ss=Vr,Wf=y?.domEdit?ll(r.activeColor,.28):"#000000",Bf=y?.domEdit?"transparent":"#ffffff",el=y?.linkedSelector&&!y.domEdit?y:Xe,tl=el?.linkedSelector?nn(el.linkedSelector,el.elements):null,ds=tl??Ye,nc=tl?"selected":"hover",rc=tl?el?.target??Ia(tl):b,cs=rc?.adapter,us=rc?.key;_(()=>(T?.(r.isAnnotating&&ds?{element:ds,selection:nc,subject:cs&&us?{adapter:cs,key:us}:void 0}:null),()=>T?.(null)),[T,r.isAnnotating,ds,nc,cs,us]);let oc=v=>{at.current=null,j?.remove(v),bn(null),xn(null),Fe(C=>C?.target.adapter===v.adapter&&C.target.key===v.key?null:C)};if(Be){let v=$e.current,C=v?.draft?r.activeColor:r.annotations.find(te=>te.id===v?.id)?.color??r.activeColor;return ft?f(Fv,{cursor:ft,stepCount:pt,accentColor:C,toolbarElement:D?.current,threadElement:F}):null}return A(it,{children:[f("canvas",{ref:ze,id:"devtools-canvas",style:ii,onPointerDown:v=>{Z?.(),Za(v)},onPointerMove:v=>{Z?.(),!(!Oe.current&&b&&Jp(v.currentTarget.ownerDocument,v.clientX,v.clientY))&&Mr(v)},onPointerUp:Li,onPointerCancel:v=>{if(Oe.current){Ne();return}$i(v)},onLostPointerCapture:v=>{Oe.current?.pointerId===v.pointerId&&Ne()},onDoubleClick:At,onPointerLeave:v=>{if(Oe.current||vx(v.relatedTarget)||Xp(v.relatedTarget))return;Li(v),$t(),He.current=null,Mn.current=null;let C=()=>{bn(null),xn(null)};if(Ia(Ye)){let{clientX:te,clientY:de}=v;window.setTimeout(()=>{Xp(document.elementFromPoint(te,de))||at.current!==null||C()},100);return}C()},onContextMenu:v=>{if(b&&Jp(v.currentTarget.ownerDocument,v.clientX,v.clientY)){v.preventDefault(),v.stopPropagation(),oc(b);return}oi(v)}}),nt&&j&&(()=>{let v=j.resolve(nt);return v?f($l,{element:v.element,activeFacet:"translate",accentColor:r.activeColor,showHandles:!1,showRotateHandle:!1,refreshKey:Ke}):null})(),ye&&j&&f(ib,{accentColor:r.activeColor,created:ye.created,registry:j,target:ye.target,onCommit:v=>{bn(v.element),xn(v.elementInfo),mt(C=>C+1)},onClose:()=>Fe(null),onCancelCreated:()=>{j.remove(ye.target),Fe(null)}},`${ye.target.adapter}:${ye.target.key}`),Nn&&f(Qy,{color:Vr,cursorRef:Ze,tool:Nn.tool,onHandoff:()=>dn(v=>v?.id===Nn.id?{...v,nativeReady:!0}:v),onDone:()=>dn(null)},Nn.id),r.isAnnotating&&y&&A(it,{children:[Gd&&y.subjectAnchor&&f(Gy,{element:Gd,annotationRect:{left:si,top:Di,width:Mo,height:li},subjectAnchor:y.subjectAnchor,color:r.activeColor,subjectRegistry:j}),f(Ky,{value:y.text,fontSize:y.fontSize,prefix:lt,inputRef:Sr,inputStyle:Vd,selectionBackground:Wf,selectionColor:Bf,annotationBorderRadius:Kd,activeColor:r.activeColor,boundaryRects:y.domEdit?.boundaryRects,viewportClip:y.domEdit&&mu(y.domEdit.targetElement.ownerDocument)?gu(new DOMRect(0,0,window.innerWidth,window.innerHeight),y.domEdit.targetElement.ownerDocument):void 0,wrapsDomText:y.domEdit?.wrapsText,showEditor:!je,rawLeft:si,top:Di,baselineOffset:kd,onChange:St,onKeyDown:lr,onPaste:be,onBlur:ar}),!je&&!y.domEdit&&f(Yy,{rawLeft:si,width:Mo,top:Di,scroll:gn,collisionId:Le,nestedAnnotationCount:ue,nestedAnnotationIds:Re,nestedBadgeColor:ut,imageCount:sr,color:r.activeColor,interactionEpisodeStepCount:y.interactionEpisode?.steps.length??0,showSendHint:Ei===Ho&&!!y.text.trim(),bundleCount:ua,onHoverNestedAnnotations:Jr,onHoverSendHint:vo,onClearInteractionEpisode:()=>Si(y.id),onSend:R?Pn:void 0}),f(Oh,{point:y.point,scroll:gn,attachments:y.attachments??[],showAttachments:!y.domEdit,onRemoveAttachment:Ue})]}),r.isAnnotating&&r.activeTool!=="hand"&&(Bn.length>0||qn.length>0||Kr.length>0||(m?.size??0)>0||W)&&f(Nh,{styleModifications:Bn,textModifications:qn,stagedComments:Kr,accentColor:r.activeColor,annotationNumberBySelector:ya,inFlightSelectors:p,inFlightAnnotationIds:a,activeAnnotationIds:d,inFlightSelectorJobIds:c,waitingApprovalJobIds:s,inFlightSelectorColors:h,toolbarRef:D,onHoverSelector:rs,sendHintSelector:va,pendingBundleCount:ua,onHoverSendBundle:vo,onSend:R?Pn:void 0,onSelectSticker:mn,onDeleteSticker:Vo,threadStates:m,onViewThread:I,hoveredElement:Ye,hoveredElementInfo:Tn,showHoverIdentifier:W,onEditComment:Co,onDeleteComment:Io,onDeletePeerComment:E?v=>{let C=Ot.current.annotations.find(te=>te.id===v);C&&al(C,Ot.current.annotations)?Io(v):E(v)}:void 0,onDiscardTextChanges:os,onArchiveThread:G,onClearInteractionEpisode:Si,onEditSubject:We,onDeleteSubject:oc,onHoverSubjectLabel:v=>{at.current=v},refreshKey:mr,activeCommentEntry:je?{element:je.element,width:Mo,imageCount:sr,trailingWidth:Sc(sr)+Uc(y?.interactionEpisode?.steps.length??0),render:Of}:void 0}),r.activeTool==="hand"&&r.isAnnotating&&(Bn.length>0||qn.length>0)&&f(Bv,{styleModifications:Bn.filter(v=>{let C=pn(v.selector);return!!C&&Rr(C,"pending-change")}),textModifications:qn.filter(v=>{let C=pn(v.selector);return!!C&&Rr(C,"pending-change")}),accentColor:r.activeColor}),r.isAnnotating&&!y?.domEdit&&(()=>{let v=new Set;return qn.flatMap(C=>{if(C.captured||v.has(C.selector))return[];let te=pn(C.selector);return te?Rr(te,"pending-change")?(v.add(C.selector),[f(ro,{element:te,isSelected:!1,color:r.activeColor,hideTooltip:!0},`pending-text-change-${C.selector}`)]):[]:[]})})(),r.isAnnotating&&f(xm,{annotations:Ut,displayAnnotations:Xr,supersededAnnotations:Cr,inFlightIds:a,orientationLabels:l,activeIds:d,queuePositions:u,scrollX:gn.x,scrollY:gn.y,annotationGroupMap:Jn,onViewThread:I,onSelectAnnotation:nr,onDeleteDraftAnnotation:Io,onClearInteractionEpisode:Si,onHoverAnnotation:da,canvasRef:ee,toolbarRef:D,activeBundleAnnotationIds:ha,inactiveBundleOpacity:Ti,animateBundleOpacity:!Ci&&!fa,hoverRestoredAnnotationIds:ma,nestedAnnotationCountById:se,nestedAnnotationIdsById:ae,onHoverNestedAnnotations:Jr,onHoverSendBundle:vo,onSend:R?Pn:void 0,sendHintAnchorId:To===Ho?null:To,pendingBundleCount:ua,parentPinnedAnnotationIds:tr,parentPinnedLocationLabels:ko,parentPinnedTooltipAnnotationId:pa,onActivateAnnotation:Ga,hiddenAnnotationIds:Ar}),r.isAnnotating&&Zd&&f(Yc,{inFlightSelectorColors:Zd,selectorElementInfo:tc,subjectRegistry:j}),r.isAnnotating&&ec&&f(Yc,{inFlightSelectorColors:ec,selectorElementInfo:tc,animated:!1,subjectRegistry:j}),f(Lv,{active:r.activeTool==="hand"&&r.isAnnotating,accentColor:r.activeColor,domDropPreview:H,cursorViewport:De,gapElement:er?et.current.element:Pe,gapDragging:er,gapHoveredAxis:Wn,gapIsAuto:vi,gapRefreshKey:Gl,swipeHint:Ql,radiusElement:mo?bi.current.element:aa,radiusDragging:mo,radiusHoveredCorner:ho,textElement:Yo?go.current.element:xr,textDragging:Yo,textHoveredProperty:yo,paddingElement:Ie?un.current.element:po,paddingDragging:Ie,paddingHoveredSide:Wr}),r.isAnnotating&&e&&!y&&!Xe&&!ye&&f(My,{hasExistingOverlay:_f,entry:e,color:r.activeColor,subjectRegistry:j}),(r.activeTool==="inspector"||r.activeTool==="sticker")&&r.isAnnotating&&f(it,{children:Ye&&(()=>{let v=r.activeTool==="sticker"&&Vt==="value"&&(gt==="padding"||gt==="margin")&&Ht.current?.element===Ye,C=vp(r.activeTool==="sticker",gt,Vt,Bt);if(Ff(Ye)||!Rr(Ye,"inspector-hover"))return null;let te=y?.linkedSelector?nn(y.linkedSelector,y.elements):null,de=Xe?.linkedSelector?nn(Xe.linkedSelector,Xe.elements):null,ke=(te?Vs(te,Ye,y?.elements?.[0]?.context):!1)||(de?Vs(de,Ye,Xe?.elements?.[0]?.context):!1)||Ut.some(bt=>{if(!bt.linkedSelector||Cr.has(bt))return!1;let Mt=nn(bt.linkedSelector,bt.elements);return Vs(Mt,Ye,bt.elements?.[0]?.context)}),tt=!!xt||!!Qt;return A(it,{children:[!v&&f(ro,{element:Ye,isSelected:!1,elementInfo:Tn,color:ss,hideOutline:!b,hideFill:!b,refreshKey:r.activeTool==="sticker"?mr:void 0,hideTooltip:k||W||ke||tt}),!C&&!b&&f($l,{element:Ye,activeFacet:"translate",accentColor:ss,showHandles:!1,outlineStyle:"dashed",refreshKey:r.activeTool==="sticker"?mr:void 0})]})})()}),f(Zv,{active:r.activeTool==="sticker"&&r.isAnnotating,accentColor:ss,family:gt,stage:Vt,subproperty:Bt,hoveredElement:Ye,previewElement:Ht.current?.element??null,transformPreviewElement:qt.current?.element??null,previewRevision:mr,cursorViewport:co,drag:dt,onGapPointerDown:es,onRadiusPointerDown:qa,onSpacingPointerDown:Ja,onTransformPointerDown:Ua}),r.activeTool==="sticker"&&r.isAnnotating&&co&&f(_h,{cursor:co,family:gt,step:on,subproperty:Bt,stage:Vt,accentColor:r.activeColor,applyPulse:Rt,contextLabelPulse:Or,depthSnapPulse:en,rejectPulse:uo,stepUnavailable:wn,query:hn?{tokens:hn.segments.flatMap((v,C)=>{let te=hn.history[C]?.scope??hd,de=ja(te,v);return de?[qb(de)]:[]}),...Jb(hn.query,md(hn.scope,hn.query))}:null,toolbarElement:D?.current,threadElement:F,annotationRailHovered:Sn!==null||Qt!==null||_r!==null||Qn}),!_r&&!Qn&&(y?.linkedSelector||Xe?.linkedSelector)&&(()=>{let v=y?.linkedSelector||Xe?.linkedSelector;if(!v)return null;let C=nn(v,y?.elements??Xe?.elements);return!C||!Rr(C,"direct-manipulation")?null:f(ro,{element:C,isSelected:!0,color:pe?.color??r.activeColor,hideTooltip:!0})})(),J&&(()=>{if(Qn)return null;let v=r.annotations.find(de=>de.id===J);if(!v?.linkedSelector||Nf===v.linkedSelector)return null;let C=nn(v.linkedSelector,v.elements);if(!C||!Rr(C,"thread-focus"))return null;let te=!!(a&&a.has(v.id));return f(ro,{element:C,isSelected:!te,color:v.color,onActivate:v.threadId?()=>wr(v.threadId):void 0,hideTooltip:!0})})(),Qd&&(()=>{let v=r.annotations.find(te=>te.id===Qd);if(!v?.linkedSelector)return null;let C=nn(v.linkedSelector,v.elements);return!C||!Rr(C,"annotation-hover")?null:f(ro,{element:C,isSelected:!1,color:v.color,onActivate:v.threadId?()=>wr(v.threadId):void 0,hideTooltip:!0})})(),_r&&!Qn&&(()=>{let v=new Set;return _r.annotationIds.flatMap(C=>{let te=r.annotations.find(ke=>ke.id===C);if(!te?.linkedSelector||v.has(te.linkedSelector))return[];let de=nn(te.linkedSelector,te.elements);return de?Rr(de,"nested-preview")?(v.add(te.linkedSelector),[f(ro,{element:de,isSelected:!1,color:te.color,hideTooltip:!0},`nested-annotation-${C}`)]):[]:[]})})(),Qn&&(()=>{let v=[],C=new Set,te=(de,ke,tt,bt)=>{if(!ke||C.has(ke))return;let Mt=nn(ke,tt);Mt&&Rr(Mt,"bundle-preview")&&(C.add(ke),v.push({id:de,element:Mt,color:bt}))};for(let de of Ut)(de.status??"pending")==="pending"&&te(de.id,de.linkedSelector,de.elements,de.color);y&&!y.domEdit&&y.text.trim()&&te(Ho,y.linkedSelector,y.elements,r.activeColor);for(let de of Bn)de.captured||te(`style-${de.selector}`,de.selector,[de.element],r.activeColor);for(let de of qn)de.captured||te(`text-${de.selector}`,de.selector,[de.element],r.activeColor);return v.map(de=>f(ro,{element:de.element,isSelected:!1,color:de.color,hideTooltip:!0},`send-bundle-${de.id}`))})(),Sn&&(()=>{let v=pn(Sn);if(!v||!Rr(v,"badge-hover"))return null;let C=gs([Sn],m??new Map,jt.get(Sn)??r.activeColor,pn);return f(it,{children:f(ro,{element:v,isSelected:!1,color:C,fillOpacity:.1,hideTooltip:!0,subjectRegistry:j})})})()]})}function wx(e,t){if(!t||t.size===0)return e;let n=!1,r=e.map(o=>{if(!o.threadId)return o;let i=t.get(o.threadId);return!i||i===o.color?o:(n=!0,{...o,color:i})});return n?r:e}function Ol(e,t,n){return t&&n?.get(t)||e}var Ed="popmelt-status-notices",Gp=50,Qp=2,Sx=new Set(["Model","Reviewed","Has a question","Needs decision","Needs review","Applied changes","Replied","Done"]);function Zp(e){return e.status!=="done"||e.doneLabel&&Sx.has(e.doneLabel)?e:{...e,doneLabel:"Replied"}}function Nl(e){return e?`${Ed}:${e}`:Ed}function ef(e,t,n=!0){return t===null?!1:t===void 0?!0:e.threadId?t.has(e.threadId):n&&e.global===!0}function tf(e){if(typeof window>"u")return[];try{let t=JSON.parse(localStorage.getItem(Nl(e))??localStorage.getItem(Ed)??"[]");return(Array.isArray(t)?t:t?.version===Qp&&Array.isArray(t.entries)?t.entries:[]).filter(n=>{if(!n||typeof n!="object")return!1;let r=n;return typeof r.jobId=="string"&&typeof r.color=="string"&&(r.status==="done"||r.status==="error")}).map(Zp).slice(-Gp)}catch{return[]}}function Td(e){try{let t=JSON.parse(localStorage.getItem(Nl(e))||"{}");return new Set(Array.isArray(t.acknowledgedJobIds)?t.acknowledgedJobIds.filter(n=>typeof n=="string"):[])}catch{return new Set}}function Ix(e,t,n){if(!(typeof window>"u"))try{let r=e.filter(Oo).map(Zp).slice(-Gp),o=JSON.stringify({version:Qp,entries:r,acknowledgedJobIds:Array.from(n).slice(-500)}),i=Nl(t);localStorage.getItem(i)!==o&&localStorage.setItem(i,o)}catch{}}function Oo(e){return e.status==="done"||e.status==="error"}function Cd(e,t){return!!(t&&e.status==="done"&&e.doneLabel==="Has a question"&&e.threadId&&t.has(e.threadId))}function kx(e,t,n,r,o){return!e&&(t||n)&&(r>0||o===!1)}function Ex(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}var Tx=['[data-devtools="thread-panel"]:not([aria-hidden="true"])','[data-devtools="imprint-panel"]','[data-popmelt-active-annotation-surface="true"]'].join(", "),nf=500,Cx=80,rf=120;function _l(e){return e==="project_model"}var Ad=2,za=24,Ax=0,Md={display:"flex",alignItems:"center",gap:3,padding:`${Ad}px 0`,backgroundColor:"transparent",border:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,height:za,boxSizing:"border-box",whiteSpace:"nowrap",animation:"popmeltJobStatusEnter 180ms ease-out both",transition:"transform 200ms ease, opacity 200ms ease",willChange:"transform, opacity"};function Mx(e,t=!1){if(e.find(u=>u.type==="job_started")?.data.kind==="project_model")return"Projecting model";let n=e.filter(u=>u.type==="orientation"),r=n[n.length-1]?.data.orientation?.snapshot?.focus?.trim();if(r)return t||r.length<=40?r:`${r.slice(0,37).trimEnd()}\u2026`;let o=e.filter(u=>u.type==="tool_use");if(o.length===0)return"Starting\u2026";let i=o[o.length-1],a=String(i.data.tool||""),l=i.data.file?String(i.data.file):null,s=l?l.split("/").pop()??l:null,d=i.data.content?String(i.data.content):null;switch(a){case"Read":return s?`Reading ${s}`:"Reading file";case"Edit":return s?`Editing ${s}`:"Editing file";case"Write":return s?`Writing ${s}`:"Writing file";case"Bash":{if(!d)return"Running command";let u=d.split(`
|
|
59
|
-
`)[0].trim();return t||u.length<=40?u:u.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return a?`Using ${a}`:"Working\u2026"}}function Rx(e,t=!1){if(!t)return"Failed";let n=Xm(e);return`${n.label} \u2014 ${n.message}`}function $x(e,t=3){let n=e.trim().replace(/\s+/g," ");if(!n)return 0;let r=n.split(" "),o=Math.max(...r.map(s=>s.length)),i=s=>{let d=1,u=0;for(let p of r){let c=u===0?p.length:u+1+p.length;c<=s?u=c:(d+=1,u=p.length)}return d},a=o,l=n.length;for(;a<l;){let s=Math.floor((a+l)/2);i(s)<=Math.max(1,t)?l=s:a=s+1}return a}function Rd(e,t){if(e.find(i=>i.type==="job_started"&&i.data.jobId===t)?.data.kind==="project_model")return"Model";let n=[...e].reverse().find(i=>i.type==="done"&&i.data.jobId===t)?.data.result,r=e.some(i=>i.type==="question"&&i.data.jobId===t);if(n?.attention==="response_requested")return"Has a question";if(n?.attention==="decision_required")return"Needs decision";if(n?.attention==="review_required")return"Needs review";if(n?.outcomes?.some(i=>i.kind==="changes_applied"))return"Applied changes";if(r)return"Has a question";if(n?.attention==="response_available")return"Replied";let o=new Set(["Edit","Write"]);return e.some(i=>i.type==="tool_use"&&i.data.jobId===t&&o.has(String(i.data.tool||"")))?"Applied changes":"Replied"}function of(e,t,n=[]){let r=new Map;for(let l of t){if(l.type!=="done"&&l.type!=="error")continue;let s=typeof l.data.jobId=="string"?l.data.jobId:null;s&&r.set(s,l)}if(r.size===0&&n.length===0)return e;let o=new Set(n),i=!1,a=e.map(l=>{let s=r.get(l.jobId);if(!s)return l.status==="queued"&&o.has(l.jobId)?(i=!0,{...l,status:"working"}):l;let d=s.type==="error",u=d?"error":"done",p=d?void 0:Rd(t,l.jobId),c=d?String(s.data.message||""):void 0,h=d?!!s.data.cancelled:void 0,m=typeof s.data.threadId=="string"?s.data.threadId:void 0;return l.status===u&&l.doneLabel===p&&l.errorMessage===c&&l.cancelled===h&&l.threadId===(l.threadId||m)?l:(i=!0,{...l,status:u,doneLabel:p,errorMessage:c,cancelled:h,threadId:l.threadId||m})});return i?a:e}function Lx(e,t){return t?[...e].reverse():e}function jx({color:e}){let[t,n]=$(0);return _(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),f("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?A(it,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):A(it,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})})}function Px({color:e}){return f("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function zx({onCancel:e}){let t=B(null);return _(()=>{let n=t.current;if(!n)return;let r=a=>{a.stopPropagation(),e()},o=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",r),n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",r),n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",i)}},[e]),f("button",{ref:t,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:.7,fontSize:14,padding:"0 2px",lineHeight:1},title:"Cancel",children:"\xD7"})}function Dx({onDismiss:e,onHoverChange:t}){let n=B(null),[r,o]=$(!1);return _(()=>{let i=n.current;if(!i)return;let a=d=>{d.stopPropagation(),e()},l=()=>{o(!0),t?.(!0)},s=()=>{o(!1),t?.(!1)};return i.addEventListener("click",a),i.addEventListener("mouseenter",l),i.addEventListener("mouseleave",s),()=>{i.removeEventListener("click",a),i.removeEventListener("mouseenter",l),i.removeEventListener("mouseleave",s)}},[e,t]),f("button",{ref:n,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:r?1:.3,display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,padding:0,lineHeight:1,transition:"opacity 120ms ease-out"},title:"Hide","aria-label":"Hide",children:f(zg,{size:12,strokeWidth:2.25})})}function Hx({bridge:e,inFlightJobs:t,threadColors:n,isVisible:r,isHidden:o=!1,onHover:i,isInteractionSuppressed:a=!1,clearSignal:l,onClickJob:s,onCancel:d,onHoverJob:u,isConnected:p,dismissedThreadIds:c,acknowledgedThread:h,recoveredAcknowledgedThreadIds:m,recoveredAcknowledgedJobIds:g,recoveredSettledQuestionThreadIds:x,pendingQuestionThreadIds:S,snapPosition:P="bottom-right",currentPathname:R,noticeScope:I,ownedThreadIds:z,allowThreadlessNotices:G=!0,viewedThreadId:E}){let K=B(new Set),[N,Y]=$(()=>{let y=Td(I),ie=tf(I).filter(be=>!y.has(be.jobId));return K.current=new Set(ie.map(be=>be.jobId)),ie}),[J,le]=$(!1),[w,Q]=$(null),[D,F]=$(null),[M,j]=$(!1),[L,T]=$(!1),[Z,re]=$("waiting"),ee=a||M,oe=o||ee,U=B(oe),fe=B(!1),me=B(null),X=B(null),Te=B(null),[Ae]=$(()=>Td(I)),Ee=B(Ae),_e=B(new Set);_(()=>{ee&&(le(!1),Q(null),i(!1),u?.(null))},[ee,i,u]),_(()=>{o&&(le(!1),Q(null),i(!1),u?.(null))},[o,i,u]),_(()=>{z!==null&&Ix(N.filter(y=>ef(y,z,G)&&!Ee.current.has(y.jobId)),I,Ee.current)},[N,I,z,G]),_(()=>{if(!E)return;let y=N.filter(ie=>ie.threadId===E&&Oo(ie));y.length!==0&&(y.forEach(ie=>Ee.current.add(ie.jobId)),Y(ie=>ie.filter(be=>!Ee.current.has(be.jobId))))},[N,E]),_(()=>{Y(y=>wx(y,n))},[n]),_(()=>{let y=ie=>{if(ie.key!==Nl(I))return;Td(I).forEach(Ue=>Ee.current.add(Ue));let be=tf(I).filter(Ue=>!Ee.current.has(Ue.jobId));Y(Ue=>[...Ue.filter(It=>!Oo(It)),...be])};return window.addEventListener("storage",y),()=>window.removeEventListener("storage",y)},[I]);let[O,ze]=$(()=>typeof window<"u"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});_(()=>{let y=()=>ze({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",y),()=>window.removeEventListener("resize",y)},[]);let Oe=Jh(P,O.w,O.h);_(()=>{l>0&&Y(y=>(y.forEach(ie=>Ee.current.add(ie.jobId)),[]))},[l]),_(()=>{!c||c.size===0||Y(y=>{let ie=y.filter(be=>!be.threadId||!c.has(be.threadId)||!Oo(be));return ie.length===y.length?y:ie})},[c]),_(()=>{h&&(_e.current.add(h.threadId),Y(y=>{let ie=y.filter(be=>be.threadId===h.threadId&&Oo(be));return ie.forEach(be=>Ee.current.add(be.jobId)),ie.length===0?y:y.filter(be=>!Ee.current.has(be.jobId))}))},[h]),_(()=>{!m||m.size===0||(m.forEach(y=>_e.current.add(y)),Y(y=>{let ie=y.filter(be=>be.threadId&&m.has(be.threadId)&&Oo(be));return ie.forEach(be=>Ee.current.add(be.jobId)),ie.length===0?y:y.filter(be=>!Ee.current.has(be.jobId))}))},[m]),_(()=>{!g||g.size===0||(g.forEach(y=>Ee.current.add(y)),Y(y=>{let ie=y.filter(be=>!g.has(be.jobId));return ie.length===y.length?y:ie}))},[g]),_(()=>{!x||x.size===0||Y(y=>{let ie=y.filter(be=>!Cd(be,x));return ie.length===y.length?y:ie})},[x]),_(()=>{!S||S.size===0||Y(y=>{let ie=!1,be=y.map(Ue=>Ue.status!=="done"||!Ue.threadId||!S.has(Ue.threadId)||Ue.doneLabel==="Has a question"?Ue:(ie=!0,{...Ue,doneLabel:"Has a question"}));return ie?be:y})},[S]),_(()=>{Y(y=>{let ie=new Set(y.map(ye=>ye.jobId)),be=!1,Ue=y.map(ye=>{let Fe=t[ye.jobId];if(Fe&&(!ye.threadId||ye.color==="#888"||!ye.kind||!ye.routePathnames&&Fe.routePathnames||ye.global==null&&Fe.global!=null))return be=!0,{...ye,annotationIds:ye.annotationIds??Fe.annotationIds,threadId:ye.threadId||Fe.threadId||e.activeJobThreads[ye.jobId],color:Ol(ye.color==="#888"?Fe.color:ye.color,ye.threadId||Fe.threadId,n),kind:ye.kind??Fe.kind,routePathnames:ye.routePathnames??Fe.routePathnames,global:ye.global??Fe.global};let Ke=e.activeJobThreads[ye.jobId];return!ye.threadId&&Ke?(be=!0,{...ye,threadId:Ke,color:Ol(ye.color,Ke,n)}):ye});for(let[ye,Fe]of Object.entries(t)){if(_l(Fe.kind))continue;let Ke=e.events.some(at=>at.data.jobId===ye&&at.type!=="job_started"),mt=!!(Fe.threadId&&_e.current.has(Fe.threadId)&&!Ke);!ie.has(ye)&&!Ee.current.has(ye)&&!mt&&(Ue.push({jobId:ye,annotationIds:Fe.annotationIds,color:Ol(Fe.color,Fe.threadId,n),status:"queued",kind:Fe.kind,threadId:Fe.threadId,routePathnames:Fe.routePathnames,global:Fe.global}),be=!0)}let It=new Set(Object.keys(t)),xt=new Set(e.activeJobIds),Ce=Ue.filter(ye=>_l(ye.kind)?!1:ye.status!=="queued"?!0:It.has(ye.jobId)||xt.has(ye.jobId));Ce.length!==Ue.length&&(be=!0);let Xe=new Set(Ce.map(ye=>ye.jobId));for(let ye of e.activeJobIds)if(!Xe.has(ye)&&!Ee.current.has(ye)){let Fe=e.events.find(Ye=>Ye.type==="job_started"&&Ye.data.jobId===ye),Ke=Fe?.data.kind;if(_l(Ke))continue;let mt=Fe?.data?.threadId??e.activeJobThreads[ye],at=e.events.some(Ye=>Ye.data.jobId===ye&&Ye.type!=="job_started");if(mt&&_e.current.has(mt)&&!at)continue;let Ze=typeof Fe?.data.color=="string"?Fe.data.color:Ke==="synthesize"||Ke==="project_model"?"#000000":"#888",Wt=Ol(Ze,mt,n);Ce.push({jobId:ye,annotationIds:Array.isArray(Fe?.data.annotationIds)?Fe.data.annotationIds.filter(Ye=>typeof Ye=="string"):void 0,color:Wt,status:"working",kind:Ke,threadId:mt,routePathnames:void 0,global:Fe?.data.global===!0||Ke==="synthesize"||Ke==="project_model"}),be=!0}let Dt=of(Ce.filter(ye=>!Ee.current.has(ye.jobId)),e.events,e.activeJobIds).filter(ye=>!Cd(ye,x));return be||Dt!==Ce?Dt:y})},[t,e.activeJobIds,e.activeJobThreads,e.events,x,n]),_(()=>{if(e.activeJobIds.length===0)return;let y=new Set(e.activeJobIds);Y(ie=>ie.map(be=>y.has(be.jobId)&&be.status!=="done"&&be.status!=="error"?{...be,status:"working"}:be))},[e.activeJobIds]),_(()=>{Y(y=>{let ie=of(y.filter(Ue=>!Ee.current.has(Ue.jobId)),e.events).filter(Ue=>!Cd(Ue,x));if(!c||c.size===0)return ie;let be=ie.filter(Ue=>!Ue.threadId||!c.has(Ue.threadId)||!Oo(Ue));return be.length===ie.length?ie:be})},[e.events,c,x]);let Ve=q(y=>y.global||!R||!y.routePathnames||y.routePathnames.length===0?!0:y.routePathnames.includes(R),[R]),nt=Se(()=>N.filter(y=>!_l(y.kind)&&Ve(y)&&ef(y,z,G)&&(!E||y.threadId!==E)&&!(y.threadId&&c?.has(y.threadId))&&!Ee.current.has(y.jobId)),[N,Ve,z,G,E,c]),ve=nt.some(Oo),Ne=kx(o,r,ve,nt.length,p),ge=nt.map(y=>`${y.jobId}:${y.status}:${y.color}:${y.threadId??""}`).join("|");Et(()=>{let y=U.current;if(U.current=oe,me.current&&(clearTimeout(me.current),me.current=null),X.current&&(clearTimeout(X.current),X.current=null),Te.current&&(clearTimeout(Te.current),Te.current=null),!fe.current){if(oe||!Ne){T(!1),re("waiting");return}return nt.forEach(ie=>K.current.add(ie.jobId)),T(!0),re("waiting"),me.current=setTimeout(()=>{re("fading"),me.current=null,X.current=setTimeout(()=>{fe.current=!0,re("complete"),X.current=null,Te.current=setTimeout(()=>{T(!1),Te.current=null},nf)},rf)},Cx),()=>{me.current&&(clearTimeout(me.current),me.current=null),X.current&&(clearTimeout(X.current),X.current=null),Te.current&&(clearTimeout(Te.current),Te.current=null)}}if(oe||!Ne){T(!1);return}if(y)return T(!0),Te.current=setTimeout(()=>{T(!1),Te.current=null},nf),()=>{Te.current&&(clearTimeout(Te.current),Te.current=null)}},[ge,oe,Ne,nt]);let Je=B(null);Et(()=>{if(!Ne){j(!1);return}let y=Je.current;if(!y)return;let ie=null,be=new Set,Ue=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>Xe()),It=()=>{let Ke=[document],mt=y.getRootNode();return mt!==document&&"querySelectorAll"in mt&&Ke.unshift(mt),Ke},xt=()=>{let Ke=new Set;for(let mt of It())mt.querySelectorAll(Tx).forEach(at=>Ke.add(at));return Array.from(Ke)},Ce=()=>{ie=null;let Ke=y.getBoundingClientRect(),mt=xt();for(let Ze of mt)Ue&&!be.has(Ze)&&(be.add(Ze),Ue.observe(Ze));let at=mt.some(Ze=>{let Wt=window.getComputedStyle(Ze);return Wt.display==="none"||Wt.visibility==="hidden"||Wt.opacity==="0"?!1:Ex(Ke,Ze.getBoundingClientRect())});j(Ze=>Ze===at?Ze:at)};function Xe(){ie===null&&(ie=window.requestAnimationFrame(Ce))}Ue?.observe(y);let Dt=y.getRootNode(),ye=typeof MutationObserver>"u"?null:new MutationObserver(Xe);ye&&Dt instanceof Node&&ye.observe(Dt,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-hidden","style"]});let Fe=typeof MutationObserver>"u"||!document.body?null:new MutationObserver(Xe);return Fe?.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-popmelt-active-annotation-surface"]}),window.addEventListener("resize",Xe),window.addEventListener("scroll",Xe,!0),window.addEventListener("pointermove",Xe,{passive:!0}),Ce(),()=>{ie!==null&&window.cancelAnimationFrame(ie),Ue?.disconnect(),ye?.disconnect(),Fe?.disconnect(),window.removeEventListener("resize",Xe),window.removeEventListener("scroll",Xe,!0),window.removeEventListener("pointermove",Xe)}},[Ne,P,nt.length]),_(()=>{if(!Ne)return;let y=Je.current;if(!y)return;let ie=()=>{le(!0),i(!0)},be=()=>{le(!1),Q(null),i(!1),u?.(null)};return y.addEventListener("mouseenter",ie),y.addEventListener("mouseleave",be),()=>{y.removeEventListener("mouseenter",ie),y.removeEventListener("mouseleave",be)}},[Ne,i,u]);let st=B(new Map),Ge=q((y,ie)=>{ie?st.current.set(y,ie):st.current.delete(y)},[]);if(_(()=>{if(!Ne)return;let y=[];for(let ie of nt){let be=st.current.get(ie.jobId);if(!be)continue;if(s){let Xe=ie.jobId,Dt=ie.threadId,ye=ie.annotationIds,Fe=()=>s(Xe,Dt,ye);be.addEventListener("click",Fe),y.push(()=>be.removeEventListener("click",Fe))}let Ue=ie.jobId,It=ie.annotationIds,xt=()=>{Q(Ue),u?.(Ue,It)},Ce=()=>{Q(Xe=>Xe===Ue?null:Xe),u?.(null)};be.addEventListener("mouseenter",xt),be.addEventListener("mouseleave",Ce),y.push(()=>{be.removeEventListener("mouseenter",xt),be.removeEventListener("mouseleave",Ce)})}return()=>y.forEach(ie=>ie())},[Ne,nt,s,u]),!Ne)return null;let $e={working:3,queued:2,error:1,done:0},Be=[],Pt=new Map;for(let y of nt){if(!y.threadId){Be.push(y);continue}let ie=Pt.get(y.threadId);(!ie||$e[y.status]>$e[ie.status]||$e[y.status]===$e[ie.status])&&Pt.set(y.threadId,y)}for(let y of Pt.values())Be.push(y);let ht=Be.filter(y=>y.status==="queued"),pt=new Map;ht.forEach((y,ie)=>{pt.set(y.jobId,`(${ie+1}/${ht.length})`)});let Qe=!J&&!L&&Be.length>1,ft=Uh(P),zt=Yh(P),Kt=Lx(Be,ft),En=Ru(e.events),Xt=new Map(Be.map((y,ie)=>[y.jobId,ie])),_t=!fe.current&&Z==="waiting",Me=!fe.current&&Z==="fading",Zt=ee||_t;return A("div",{ref:Je,style:{...Oe,zIndex:10001,opacity:Zt?0:1,visibility:Zt?"hidden":"visible",pointerEvents:Zt?"none":"auto",transition:Me?`opacity ${rf}ms ease-out`:"none"},"aria-hidden":Zt||void 0,"data-devtools":!0,children:[f("style",{children:`
|
|
60
|
-
@keyframes popmeltJobStatusEnter {
|
|
61
|
-
from { opacity: 0; transform: translateX(12px); }
|
|
62
|
-
to { opacity: 1; transform: translateX(0); }
|
|
63
|
-
}
|
|
64
|
-
@media (prefers-reduced-motion: reduce) {
|
|
65
|
-
@keyframes popmeltJobStatusEnter {
|
|
66
|
-
from { opacity: 1; transform: none; }
|
|
67
|
-
to { opacity: 1; transform: none; }
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
`}),Kt.map((y,ie)=>{let be=ie===Kt.length-1,Ue=Xt.get(y.jobId)??ie,It=Be.length-1-Ue,xt=w===y.jobId,Ce=Math.max(160,Math.min(360,O.w-32)),Xe=y.status==="working"&&En.has(y.jobId),Dt=Ze=>Xe?"Approval needed":y.status==="working"?Mx(e.events.filter(Wt=>Wt.data.jobId===y.jobId),Ze):y.status==="queued"?`Queued ${pt.get(y.jobId)??""}`:y.status==="done"?y.doneLabel||"Done":y.cancelled?"Cancelled":Rx(y.errorMessage||"",Ze),ye=Dt(!1),Fe=Dt(!0),Ke=xt?Fe:ye,mt=$x(Ke,3),at=xt&&(Fe!==ye||mt>24);return f("div",{"data-popmelt-status-job":y.jobId,style:{position:"relative",zIndex:Ue+1,marginBottom:Qe?be?0:-18:be?0:Ax,transform:Qe?`scale(${Math.max(.94,1-It*.02)})`:"scale(1)",opacity:1,transformOrigin:`${ft?"top":"bottom"} ${zt?"right":"left"}`,transition:L?"none":"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:f("div",{ref:Ze=>Ge(y.jobId,Ze),style:{...Md,animation:!fe.current||K.current.has(y.jobId)?"none":Md.animation,position:"relative",overflow:"visible",cursor:s?"pointer":void 0,height:at?"auto":za,minHeight:za,alignItems:at?"flex-start":"center"},"aria-label":Ke,children:A("div",{style:{display:"flex",alignItems:at?"flex-start":"center",gap:3,height:at?"auto":za-Ad*2,minHeight:za-Ad*2,maxWidth:at?Ce:void 0,boxSizing:"border-box",padding:at?"3px 5px 3px 8px":"0 5px 0 8px",margin:0,backgroundColor:y.color,color:"#ffffff",borderRadius:Kc},children:[A("span",{style:{display:"flex",alignItems:at?"flex-start":"center",gap:3,minWidth:0,opacity:D===y.jobId?.3:1,transition:"opacity 120ms ease-out"},children:[y.status==="working"&&(Xe?f(Su,{size:12,"aria-label":"Approval needed"}):f(jx,{color:"#ffffff"})),y.status==="queued"&&f(qs,{size:12,strokeWidth:2.25,color:"#ffffff",style:{opacity:.6}}),y.status==="done"&&(y.doneLabel==="Has a question"?f(Lg,{size:12,strokeWidth:2.25,style:{marginRight:3}}):y.doneLabel==="Replied"?f(jg,{size:12,strokeWidth:2.25}):f(Px,{color:"#ffffff"})),y.status==="error"&&f(Pg,{size:12,strokeWidth:2.25}),f("span",{style:{opacity:y.status==="queued"?.6:1,display:at?"-webkit-box":"block",WebkitBoxOrient:at?"vertical":void 0,WebkitLineClamp:at?3:void 0,whiteSpace:at?"normal":"nowrap",textWrap:at?"balance":void 0,lineHeight:"14px",width:at?`min(${mt+.5}ch, ${Ce-48}px)`:void 0,maxWidth:at?Ce-48:160,overflow:"hidden",textOverflow:"ellipsis",transition:"opacity 120ms ease-out"},children:Ke})]}),y.status==="working"&&d&&f(zx,{onCancel:()=>d(y.jobId)}),(y.status==="done"||y.status==="error")&&f(Dx,{onHoverChange:Ze=>F(Ze?y.jobId:null),onDismiss:()=>{F(null),N.filter(Ze=>y.threadId?Ze.threadId===y.threadId:Ze.jobId===y.jobId).forEach(Ze=>Ee.current.add(Ze.jobId)),Y(Ze=>Ze.filter(Wt=>y.threadId?Wt.threadId!==y.threadId:Wt.jobId!==y.jobId))}})]})})},y.jobId)}),p===!1&&N.length>0&&f("div",{style:Md,children:A("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:0,backgroundColor:"#f59e0b",color:"#ffffff",borderRadius:Kc},children:[f("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),f("span",{children:"Reconnecting\u2026"})]})})]})}var Ox=`
|
|
71
|
-
[data-popmelt-top-layer-host] {
|
|
72
|
-
-webkit-user-select: none;
|
|
73
|
-
user-select: none;
|
|
74
|
-
--popmelt-selection-background: #626262;
|
|
75
|
-
--popmelt-selection-color: #ffffff;
|
|
76
|
-
}
|
|
77
|
-
[data-popmelt-top-layer-host] * {
|
|
78
|
-
-webkit-user-select: none;
|
|
79
|
-
user-select: none;
|
|
80
|
-
}
|
|
81
|
-
[data-popmelt-top-layer-host] [data-popmelt-theme="light"] {
|
|
82
|
-
--popmelt-selection-background: #a3a3a3;
|
|
83
|
-
--popmelt-selection-color: #171717;
|
|
84
|
-
}
|
|
85
|
-
[data-popmelt-top-layer-host] ::selection {
|
|
86
|
-
background: var(--popmelt-selection-background);
|
|
87
|
-
color: var(--popmelt-selection-color);
|
|
88
|
-
}
|
|
89
|
-
[data-popmelt-top-layer-host] :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
90
|
-
[data-popmelt-top-layer-host] :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
91
|
-
-webkit-user-select: text;
|
|
92
|
-
user-select: text;
|
|
93
|
-
}
|
|
94
|
-
`;function Nx({children:e}){let[t,n]=$(null);return Et(()=>{let r=document.createElement("div");return r.setAttribute("data-popmelt-top-layer-host",""),Object.assign(r.style,{position:"fixed",inset:"0",width:"100dvw",height:"100dvh",overflow:"visible",pointerEvents:"none",zIndex:String(2147483647)}),document.documentElement.appendChild(r),n(r),()=>r.remove()},[]),t?ku(A(it,{children:[f("style",{children:Ox}),e]}),t):null}var _x=`
|
|
95
|
-
${og}
|
|
96
|
-
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
97
|
-
:host {
|
|
98
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
99
|
-
font-size: 12px;
|
|
100
|
-
color: #1f2937;
|
|
101
|
-
line-height: 1.5;
|
|
102
|
-
-webkit-font-smoothing: antialiased;
|
|
103
|
-
-webkit-user-select: none;
|
|
104
|
-
user-select: none;
|
|
105
|
-
--popmelt-selection-background: #626262;
|
|
106
|
-
--popmelt-selection-color: #ffffff;
|
|
107
|
-
}
|
|
108
|
-
/* Host stylesheets are mirrored for previews, including page-wide selection
|
|
109
|
-
colors. Keep chrome labels inert and give editable/thread text a Popmelt
|
|
110
|
-
selection treatment instead of inheriting the page's highlight. */
|
|
111
|
-
:host * {
|
|
112
|
-
-webkit-user-select: none;
|
|
113
|
-
user-select: none;
|
|
114
|
-
}
|
|
115
|
-
:host [data-popmelt-theme="light"] {
|
|
116
|
-
--popmelt-selection-background: #a3a3a3;
|
|
117
|
-
--popmelt-selection-color: #171717;
|
|
118
|
-
/* Keep the native scrollbar width, but soften its high-contrast light thumb. */
|
|
119
|
-
scrollbar-color: rgba(0, 0, 0, 0.06) transparent;
|
|
120
|
-
}
|
|
121
|
-
:host [data-popmelt-theme="dark"],
|
|
122
|
-
:host [data-popmelt-panel] {
|
|
123
|
-
scrollbar-color: auto;
|
|
124
|
-
}
|
|
125
|
-
:host ::selection {
|
|
126
|
-
background: var(--popmelt-selection-background);
|
|
127
|
-
color: var(--popmelt-selection-color);
|
|
128
|
-
}
|
|
129
|
-
:host :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
130
|
-
:host :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
131
|
-
-webkit-user-select: text;
|
|
132
|
-
user-select: text;
|
|
133
|
-
}
|
|
134
|
-
/* Direct reset for all Popmelt chrome elements.
|
|
135
|
-
Beats broad selectors from mirrored host stylesheets (e.g. div, span, *).
|
|
136
|
-
Inline styles on individual elements still win (higher specificity).
|
|
137
|
-
color: inherit (not a fixed value) so children properly inherit inline
|
|
138
|
-
colors set by parents \u2014 e.g. thread header sets color:#fff, child spans
|
|
139
|
-
should get white, not this reset gray. */
|
|
140
|
-
:host *:not([data-popmelt-panel]):not([data-popmelt-panel] *):not([data-popmelt-font="sans"]):not([data-popmelt-font="sans"] *) {
|
|
141
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
142
|
-
font-size: 12px;
|
|
143
|
-
color: inherit;
|
|
144
|
-
line-height: 1.5;
|
|
145
|
-
-webkit-font-smoothing: antialiased;
|
|
146
|
-
}
|
|
147
|
-
/* Thread typography has its own role-based type system. Let descendants
|
|
148
|
-
inherit the nearest thread style so conversational UI can use Geist while
|
|
149
|
-
explicitly monospaced headers, code, and tool payloads remain monospaced. */
|
|
150
|
-
:host [data-devtools="thread-panel"]:not([data-popmelt-panel]) * {
|
|
151
|
-
font-family: inherit;
|
|
152
|
-
font-size: inherit;
|
|
153
|
-
line-height: inherit;
|
|
154
|
-
}
|
|
155
|
-
/* Break font inheritance for component previews \u2014 let mirrored host
|
|
156
|
-
page styles (Tailwind, globals) apply instead of Popmelt's monospace. */
|
|
157
|
-
[data-popmelt-panel] {
|
|
158
|
-
font: 16px / 1.5 system-ui, -apple-system, sans-serif;
|
|
159
|
-
color: initial;
|
|
160
|
-
-webkit-font-smoothing: auto;
|
|
161
|
-
}
|
|
162
|
-
`;function Fx({children:e}){return _(()=>{rg(document)},[]),A(it,{children:[f("style",{children:_x}),e]})}function Wx(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function Bx(e){let t=new Map,n=e.firstChild;function r(a){if(t.has(a)||a.hasAttribute("data-pm-mirror"))return;let l=a.cloneNode(!0);l.setAttribute("data-pm-mirror",""),e.insertBefore(l,n),t.set(a,l)}function o(a){let l=t.get(a);l&&(l.remove(),t.delete(a))}for(let a of document.querySelectorAll('link[rel="stylesheet"], style'))a.getRootNode()===document&&r(a);try{document.adoptedStyleSheets.length>0&&(e.adoptedStyleSheets=[...document.adoptedStyleSheets,...e.adoptedStyleSheets])}catch{}let i=new MutationObserver(a=>{for(let l of a)if(l.type==="childList"){for(let s of l.addedNodes)s instanceof Element&&Wx(s)&&r(s);for(let s of l.removedNodes)s instanceof Element&&o(s)}});return i.observe(document.head,{childList:!0}),document.body&&i.observe(document.body,{childList:!0}),()=>{i.disconnect();for(let a of t.values())a.remove();t.clear()}}function qx({children:e,zIndex:t=1e4}){let n=B(null),[r,o]=$(null),[i,a]=$(null);return Et(()=>{let l=n.current;if(!l||l.shadowRoot)return;let s=l.attachShadow({mode:"open"}),d=document.createElement("div");d.setAttribute("data-popmelt-root",""),d.setAttribute("data-popmelt-canvas-block",""),s.appendChild(d),o(s),a(d)},[]),_(()=>{if(r)return Bx(r)},[r]),A(it,{children:[f("div",{ref:n,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"auto",zIndex:t}}),i&&ku(e,i)]})}function lo({src:e,alt:t="",...n}){let r=typeof e=="string"&&mg(e),[o,i]=$(null);return _(()=>{if(!r||typeof e!="string")return;let a=new AbortController,l;return Yt(e,{signal:a.signal,cache:"no-store"}).then(async s=>{if(!s.ok)return;let d=await s.blob();a.signal.aborted||(l=URL.createObjectURL(d),i({src:e,objectUrl:l}))}).catch(()=>{}),()=>{a.abort(),l&&URL.revokeObjectURL(l)}},[e,r]),f("img",{...n,alt:t,src:r?o?.src===e?o.objectUrl:void 0:e})}function Jx({messages:e,renderMessage:t,onChange:n}){return e.length?A("section",{"aria-label":"Queued messages",style:{display:"flex",flexDirection:"column",gap:6,flexShrink:0,borderTop:"1px solid var(--popmelt-thread-hairline)",paddingTop:8},children:[f("style",{children:`
|
|
163
|
-
[data-queued-reply-actions] {
|
|
164
|
-
width: 0;
|
|
165
|
-
margin-left: 0;
|
|
166
|
-
opacity: 0;
|
|
167
|
-
overflow: hidden;
|
|
168
|
-
pointer-events: none;
|
|
169
|
-
transition: width 100ms ease-out, margin-left 100ms ease-out, opacity 100ms ease-out;
|
|
170
|
-
}
|
|
171
|
-
[data-queued-reply]:hover [data-queued-reply-actions],
|
|
172
|
-
[data-queued-reply]:focus-within [data-queued-reply-actions],
|
|
173
|
-
[data-queued-reply][data-editing="true"] [data-queued-reply-actions] {
|
|
174
|
-
width: 52px;
|
|
175
|
-
margin-left: 5px;
|
|
176
|
-
opacity: 1;
|
|
177
|
-
pointer-events: auto;
|
|
178
|
-
}
|
|
179
|
-
[data-queued-reply-actions] button {
|
|
180
|
-
color: var(--popmelt-thread-muted);
|
|
181
|
-
transition: color 50ms ease-out;
|
|
182
|
-
}
|
|
183
|
-
[data-queued-reply-actions] button:not(:disabled):hover,
|
|
184
|
-
[data-queued-reply-actions] button:not(:disabled):focus-visible {
|
|
185
|
-
color: var(--popmelt-thread-action);
|
|
186
|
-
}
|
|
187
|
-
[data-queued-reply-actions] button:not(:disabled):active {
|
|
188
|
-
color: var(--popmelt-thread-action-hover);
|
|
189
|
-
}
|
|
190
|
-
[data-queued-reply-actions] button:disabled {
|
|
191
|
-
opacity: 0.4;
|
|
192
|
-
cursor: default;
|
|
193
|
-
}
|
|
194
|
-
@media (hover: none), (pointer: coarse) {
|
|
195
|
-
[data-queued-reply-actions] {
|
|
196
|
-
width: 52px;
|
|
197
|
-
margin-left: 5px;
|
|
198
|
-
opacity: 1;
|
|
199
|
-
pointer-events: auto;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
@media (prefers-reduced-motion: reduce) {
|
|
203
|
-
[data-queued-reply-actions],
|
|
204
|
-
[data-queued-reply-actions] button { transition: none; }
|
|
205
|
-
}
|
|
206
|
-
`}),A("div",{style:{fontSize:12,fontWeight:600,marginBottom:4,color:"var(--popmelt-thread-muted)"},children:[e.length," queued"]}),e.map(r=>f(Ux,{message:r,renderMessage:t,onChange:n},r.lifecycle?.submissionIds[0]??`${r.jobId}-${r.timestamp}`))]}):null}function Ux({message:e,renderMessage:t,onChange:n}){let[r,o]=$(!1),[i,a]=$(e.replyToQuestion??""),[l,s]=$(!1),[d,u]=$(""),p=!!(n&&e.lifecycle?.submissionIds[0])&&!l,c=async m=>{if(!(!p||!n||m==="")){s(!0),u("");try{await n(e,m),o(!1)}catch(g){u(g instanceof Error?g.message:"Could not update queued message.")}finally{s(!1)}}},h={display:"inline-flex",alignItems:"center",justifyContent:"center",background:"none",border:0,cursor:"pointer",padding:5,width:26,height:28,flexShrink:0};return A("div",{"data-queued-reply":!0,"data-editing":r,style:{display:"flex",flexDirection:"column",gap:4,width:"100%",minWidth:0,flexShrink:0},children:[A("div",{style:{display:"flex",alignItems:"center",minWidth:0},children:[f("div",{"data-queued-reply-preview":!0,style:{flex:1,minWidth:0},children:r&&n?f("textarea",{autoFocus:!0,"aria-label":"Edit queued message",value:i,disabled:l,onChange:m=>a(m.target.value),onKeyDown:m=>{m.key==="Escape"&&(m.stopPropagation(),l||o(!1)),m.key==="Enter"&&(m.metaKey||m.ctrlKey)&&!m.nativeEvent.isComposing&&(m.preventDefault(),m.stopPropagation(),c(i.trim()))},style:{width:"100%",boxSizing:"border-box",minHeight:90,resize:"vertical",font:"inherit",lineHeight:1.5,color:"inherit",background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:12,padding:12}}):t(e)}),n&&f("div",{"data-queued-reply-actions":!0,style:{display:"flex",flexShrink:0},children:r?A(it,{children:[f("button",{type:"button",title:"Save queued message","aria-label":"Save queued message",disabled:!p||!i.trim(),style:h,onClick:()=>{c(i.trim())},children:f($o,{size:14})}),f("button",{type:"button",title:"Cancel editing","aria-label":"Cancel editing",disabled:l,style:h,onClick:()=>o(!1),children:f(hl,{size:14})})]}):A(it,{children:[f("button",{type:"button",title:"Edit queued message","aria-label":"Edit queued message",disabled:!p,style:h,onClick:()=>{a(e.replyToQuestion??""),u(""),o(!0)},children:f(xu,{size:14})}),f("button",{type:"button",title:"Delete queued message","aria-label":"Delete queued message",disabled:!p,style:h,onClick:()=>{c(null)},children:f(Dg,{size:14})})]})})]}),d&&f("div",{role:"alert",style:{fontSize:12,color:"#dc2626"},children:d})]})}var af={background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},$d={background:"transparent",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:650,padding:"6px 9px",textAlign:"left"};function Yx({approval:e,accentColor:t,connected:n,decide:r}){let[o,i]=$(!1),[a,l]=$(!1),[s,d]=$(""),u=e.status==="pending",p=async c=>{if(!(a||!n)){l(!0),d("");try{await r(c)}catch(h){d(h instanceof Error?h.message:"Could not send decision.")}finally{l(!1)}}};return u?A("div",{"data-popmelt-approval":e.status,style:af,children:[A("button",{type:"button","aria-expanded":o,onClick:()=>i(!o),style:{background:"none",border:0,padding:0,display:"flex",alignItems:"center",gap:8,color:"var(--popmelt-thread-primary)",font:"inherit",fontSize:14,fontWeight:650,cursor:"pointer",textAlign:"left"},children:[f(Su,{size:16,color:t,"aria-hidden":"true"}),f("span",{style:{flex:1},children:"Permission needed"}),f(Yi,{size:14,"aria-hidden":"true",style:{transform:o?"rotate(180deg)":"none"}})]}),A("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35},children:[e.summary,e.phase==="parked"&&f("div",{role:"status",children:"Parked \xB7 other tasks can continue. Approve to run next."})]}),f("div",{title:e.cwd,style:{fontSize:11,color:"var(--popmelt-thread-muted-strong)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.cwd}),o&&A("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",paddingLeft:12,color:"var(--popmelt-thread-secondary)",fontSize:12},children:[A("div",{children:["One-time permission for this"," ",e.kind==="command"?"command":"file change","."]}),f("pre",{style:{fontSize:11,whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:200,overflow:"auto",marginBottom:0},children:e.details})]}),A("div",{style:{display:"flex",gap:6},children:[f("button",{type:"button","data-approval-decision":"allow",disabled:a||!n,style:$d,onClick:()=>{p("allow")},children:"Allow once"}),f("button",{type:"button","data-approval-decision":"deny",disabled:a||!n,style:$d,onClick:()=>{p("deny")},children:"Deny"})]}),!n&&f("div",{role:"status",style:{fontSize:12},children:"Reconnecting\u2026"}),s&&f("div",{role:"alert",style:{fontSize:12},children:s})]}):f(lf,{approval:e})}function lf({approval:e}){let{status:t,phase:n,details:r,expiryReason:o}=e,i=t==="denied";return A("div",{"data-popmelt-approval":t,title:r,style:{display:"flex",alignItems:"flex-start",gap:6,color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:[f(t==="allowed"||i?Ag:qs,{size:12,style:{flexShrink:0,marginTop:"calc(.5lh - 6px)",transform:i?"translateY(1px) rotate(180deg)":void 0}}),A("span",{style:{overflowWrap:"anywhere"},children:[t==="allowed"?n==="queued"?"Allowed once (queued)":"Allowed once":i?"Denied":o==="no_response"?"No response received":"Request expired",": ",f("em",{children:r})]})]})}function Kx({bridgeUrl:e,threadId:t,visible:n,active:r,onPendingChange:o}){let[i,a]=$([]),[l,s]=$(!1),d=i.some(u=>u.threadId===t&&u.status==="pending");return _(()=>(o(d),()=>o(!1)),[o,d]),_(()=>{if(a([]),s(!1),!n)return;let u=new AbortController,p,c=async()=>{try{let h=await Yt(`${e}/approvals?threadId=${encodeURIComponent(t)}`,{signal:u.signal});if(!h.ok)throw new Error("Approval fetch failed");let m=await h.json();u.signal.aborted||(a(Array.isArray(m.approvals)?m.approvals:[]),s(!0))}catch{u.signal.aborted||s(!1)}!u.signal.aborted&&r&&(p=setTimeout(()=>{c()},1500))};return c(),()=>{u.abort(),clearTimeout(p)}},[e,t,n,r]),{approvals:i,connected:l,decide:async(u,p)=>{let c=await Yt(`${e}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:u.id,threadId:t,jobId:u.jobId,decision:p})}),h=await c.json();if(!c.ok)throw new Error(h.error||"Could not send decision.");a(Array.isArray(h.approvals)?h.approvals:[])}}}var Ld="ui-monospace, SFMono-Regular, Menlo, monospace",Xx=0;function Vx({size:e=11}){let t=++Xx,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return A("svg",{width:e,height:e,viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{display:"inline",verticalAlign:"middle",marginLeft:3,flexShrink:0},children:[f("mask",{id:n,style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.9119 99.3171C72.4869 99.9307 74.2828 99.8914 75.8725 99.1264L96.4608 89.2197C98.6242 88.1787 100 85.9892 100 83.5872V16.4133C100 14.0113 98.6243 11.8218 96.4609 10.7808L75.8725 0.873756C73.7862 -0.130129 71.3446 0.11576 69.5135 1.44695C69.252 1.63711 69.0028 1.84943 68.769 2.08341L29.3551 38.0415L12.1872 25.0096C10.589 23.7965 8.35363 23.8959 6.86933 25.2461L1.36303 30.2549C-0.452552 31.9064 -0.454633 34.7627 1.35853 36.417L16.2471 50.0001L1.35853 63.5832C-0.454633 65.2374 -0.452552 68.0938 1.36303 69.7453L6.86933 74.7541C8.35363 76.1043 10.589 76.2037 12.1872 74.9905L29.3551 61.9587L68.769 97.9167C69.3925 98.5406 70.1246 99.0104 70.9119 99.3171ZM75.0152 27.2989L45.1091 50.0001L75.0152 72.7012V27.2989Z",fill:"white"})}),A("g",{mask:`url(#${n})`,children:[f("path",{d:"M96.4614 10.7962L75.8569 0.875542C73.4719 -0.272773 70.6217 0.211611 68.75 2.08333L1.29858 63.5832C-0.515693 65.2373 -0.513607 68.0937 1.30308 69.7452L6.81272 74.754C8.29793 76.1042 10.5347 76.2036 12.1338 74.9905L93.3609 13.3699C96.086 11.3026 100 13.2462 100 16.6667V16.4275C100 14.0265 98.6246 11.8378 96.4614 10.7962Z",fill:"#0065A9"}),f("g",{filter:`url(#${r})`,children:f("path",{d:"M96.4614 89.2038L75.8569 99.1245C73.4719 100.273 70.6217 99.7884 68.75 97.9167L1.29858 36.4169C-0.515693 34.7627 -0.513607 31.9063 1.30308 30.2548L6.81272 25.246C8.29793 23.8958 10.5347 23.7964 12.1338 25.0095L93.3609 86.6301C96.086 88.6974 100 86.7538 100 83.3334V83.5726C100 85.9735 98.6246 88.1622 96.4614 89.2038Z",fill:"#007ACC"})}),f("g",{filter:`url(#${o})`,children:f("path",{d:"M75.8578 99.1263C73.4721 100.274 70.6219 99.7885 68.75 97.9166C71.0564 100.223 75 98.5895 75 95.3278V4.67213C75 1.41039 71.0564 -0.223106 68.75 2.08329C70.6219 0.211402 73.4721 -0.273666 75.8578 0.873633L96.4587 10.7807C98.6234 11.8217 100 14.0112 100 16.4132V83.5871C100 85.9891 98.6234 88.1786 96.4586 89.2196L75.8578 99.1263Z",fill:"#1F9CF0"})}),f("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M70.8511 99.3171C72.4261 99.9306 74.2221 99.8913 75.8117 99.1264L96.4 89.2197C98.5634 88.1787 99.9392 85.9892 99.9392 83.5871V16.4133C99.9392 14.0112 98.5635 11.8217 96.4001 10.7807L75.8117 0.873695C73.7255 -0.13019 71.2838 0.115699 69.4527 1.44688C69.1912 1.63705 68.942 1.84937 68.7082 2.08335L29.2943 38.0414L12.1264 25.0096C10.5283 23.7964 8.29285 23.8959 6.80855 25.246L1.30225 30.2548C-0.513334 31.9064 -0.515415 34.7627 1.29775 36.4169L16.1863 50L1.29775 63.5832C-0.515415 65.2374 -0.513334 68.0937 1.30225 69.7452L6.80855 74.754C8.29285 76.1042 10.5283 76.2036 12.1264 74.9905L29.2943 61.9586L68.7082 97.9167C69.3317 98.5405 70.0638 99.0104 70.8511 99.3171ZM74.9544 27.2989L45.0483 50L74.9544 72.7012V27.2989Z",fill:`url(#${i})`})})]}),A("defs",{children:[A("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),A("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"4.16667"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"}),f("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),A("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[f("stop",{stopColor:"white"}),f("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var Gx=/^#[0-9a-fA-F]{3,8}$/,Qx=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,Zx=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]);function ew(e){let t=e.trim();return Gx.test(t)||Qx.test(t)||Zx.has(t.toLowerCase())}function jd(e,t){return f("span",{style:{display:"inline-block",width:10,height:10,backgroundColor:e,border:"1px solid rgba(0,0,0,0.15)",borderRadius:2,verticalAlign:"middle",marginRight:3}},t)}function Da(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,r=0,o;for(;(o=n.exec(e))!==null;){if(o.index>r&&t.push(e.slice(r,o.index)),o[1]){let i=o[1].slice(1,-1);ew(i)&&t.push(jd(i,`sw-${o.index}`)),t.push(f("code",{style:{fontFamily:Ld,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:i},o.index))}else if(o[3]!==void 0)t.push(f("strong",{children:f("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(f("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(f("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(f("em",{children:o[9]},o.index));else if(o[11]!==void 0&&o[12]!==void 0){let i=o[12],a=!/^https?:\/\/|^mailto:/i.test(i),l=a?`vscode://file/${i}`:i;a?t.push(A("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline",whiteSpace:"nowrap",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2,fontFamily:Ld,fontSize:"0.9em"},children:[o[11],f(Vx,{})]},o.index)):t.push(f("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:o[11]},o.index))}else o[13]!==void 0?(t.push(jd(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push(jd(o[14],`sw-${o.index}`)),t.push(o[14]));r=o.index+o[0].length}return r<e.length&&t.push(e.slice(r)),t}function zr(e){let t=e.split(`
|
|
207
|
-
`),n=[],r=0;for(;r<t.length;){let o=t[r];if(o.trimStart().startsWith("```")){let l=[];for(r++;r<t.length&&!t[r].trimStart().startsWith("```");)l.push(t[r]),r++;r++,n.push(f("pre",{style:{fontFamily:Ld,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:l.join(`
|
|
208
|
-
`)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(o)){n.push(f("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),r++;continue}let i=o.match(/^(#{1,4})\s+(.+)/);if(i){let l=i[1].length,s={1:16,2:14,3:13,4:12};n.push(f("div",{style:{fontWeight:700,fontSize:s[l]??12,margin:"8px 0 2px"},children:Da(i[2])},n.length)),r++;continue}if(o.trimStart().startsWith("|")&&o.trimEnd().endsWith("|")){let l=[];for(;r<t.length&&t[r].trimStart().startsWith("|")&&t[r].trimEnd().endsWith("|");)l.push(t[r]),r++;let s=g=>/^\|[\s\-:|]+\|$/.test(g),d=l.filter(g=>!s(g)),u=g=>g.split("|").slice(1,-1).map(x=>x.trim()),p=g=>/^\*\*.+\*\*$/.test(g)||/^__.+__$/.test(g),c=d.map(u),h=c.length>1&&c.slice(1).every(g=>g[0]&&p(g[0])),m=c.length>0&&c[0].every(g=>p(g));n.push(f("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:f("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:f("tbody",{children:d.map((g,x)=>f("tr",{children:u(g).map((S,P)=>f(x===0?"th":"td",{style:{border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:x===0?600:400,minWidth:60,whiteSpace:"nowrap",...P===0&&h||x===0&&m?{position:"sticky",...P===0&&h?{left:0}:{},...x===0&&m?{top:0}:{},background:"#fff",zIndex:P===0&&h&&x===0&&m?2:1}:{}},children:Da(S)},P))},x))})})},n.length));continue}if(o.match(/^(\s*)([-*])\s+(.+)/)){let l=[];for(;r<t.length;){let s=t[r].match(/^\s*[-*]\s+(.+)/);if(s)l.push(s[1]),r++;else if(l.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))l[l.length-1]+=" "+t[r].trim(),r++;else break}n.push(f("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:l.map((s,d)=>f("li",{children:Da(s)},d))},n.length));continue}let a=o.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let l=a[1].length,s=parseInt(a[2],10)||1,d=[],u=null;for(;r<t.length;){let p=t[r],c=p.match(/^(\s*)(\d+)\.\s+(.+)/);if(c&&c[1].length===l)u=[c[3]],d.push(u),r++;else if(u&&p.trim()==="")r++;else if(d.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))u.push(t[r].trim()),r++;else if(u&&/^(Eval|Checks|Sources|Rationale|Prompt|Assertions?|Reason|Why|Expected|Notes?):/i.test(p.trim()))u.push(p.trim()),r++;else if(u&&u.length>1&&p.trim()&&!p.match(/^(#{1,4})\s+/)&&!p.trimStart().startsWith("|")&&!p.match(/^\s*[-*]\s+/)&&!p.match(/^\s*\d+\.\s+/)&&!/^(\*\*)?[A-Z][A-Za-z /&-]{2,40}(\*\*)?$/.test(p.trim()))u.push(p.trim()),r++;else break}n.push(f("ol",{start:s,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:d.map((p,c)=>f("li",{children:f("div",{style:{display:"flex",flexDirection:"column",gap:6},children:p.map((h,m)=>f("div",{children:Da(h)},m))})},c))},n.length));continue}if(o.trim()===""){r++;continue}n.push(f("div",{style:{fontSize:"inherit",lineHeight:"inherit"},children:Da(o)},n.length)),r++}return f("div",{style:{display:"flex",flexDirection:"column",fontSize:"inherit",gap:8,lineHeight:"inherit"},children:n})}var sf="<orientation>",tw="</orientation>",nw="<\\/orientation>",df=[tw,nw];function rw(e,t){let n=t;for(;n<e.length&&/\s/.test(e[n]);)n++;if(n>=e.length)return{status:"incomplete",start:n};if(e[n]!=="{")return{status:"invalid",start:n};let r=0,o=!1,i=!1;for(let a=n;a<e.length;a++){let l=e[a];if(o){i?i=!1:l==="\\"?i=!0:l==='"'&&(o=!1);continue}if(l==='"')o=!0;else if(l==="{")r++;else if(l==="}"){if(r--,r===0)return{status:"complete",start:n,end:a+1};if(r<0)return{status:"invalid",start:n}}}return{status:"incomplete",start:n}}function Pd(e,t){if(!t)return;let n=e[e.length-1];n?.kind==="text"?n.text+=t:e.push({kind:"text",text:t})}function cf(e,t){let n=null;for(let r of df){let o=e.indexOf(r,t);o>=0&&(!n||o<n.index)&&(n={index:o,tag:r})}return n}function ow(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(sf,n),o=cf(e,n);if(o&&(r<0||o.index<r)){Pd(t,e.slice(n,o.index)),n=o.index+o.tag.length;continue}if(r<0){Pd(t,e.slice(n));break}Pd(t,e.slice(n,r));let i=r+sf.length,a=rw(e,i);if(a.status!=="complete"){let d=cf(e,i);if(d){n=d.index+d.tag.length;continue}n=i;continue}t.push({kind:"orientation",json:e.slice(a.start,a.end)}),n=a.end;let l=n;for(;l<e.length&&/\s/.test(e[l]);)l++;let s=df.find(d=>e.startsWith(d,l));s&&(n=l+s.length)}return t}function iw(e){return ow(e).map(t=>t.kind==="text"?t.text:`
|
|
209
|
-
|
|
210
|
-
`).join("").replace(/\n{3,}/g,`
|
|
211
|
-
|
|
212
|
-
`).trim()}function aw(e){return e.replace(/<resolution>[\s\S]*?(?:<\/resolution>|$)/g,"")}function lw(e){return e.replace(/\b([A-Za-z]{2,}[.!?])(?=[A-Z][a-z])/g,`$1
|
|
213
|
-
|
|
214
|
-
`)}function zd(e){return lw(aw(iw(e)).replace(/<question>[\s\S]*?<\/question>/g,"").replace(/<plan>[\s\S]*?<\/plan>/g,"").replace(/<review>[\s\S]*?<\/review>/g,"").replace(/<novel>[\s\S]*?<\/novel>/g,"").replace(/<eval_proposals>[\s\S]*?<\/eval_proposals>/g,"").replace(/<eval_run_result>[\s\S]*?<\/eval_run_result>/g,"").replace(/<evals>[\s\S]*?<\/evals>/g,"").replace(/<memory-review>[\s\S]*?<\/memory-review>/g,"").replace(/<memory-review-card>[\s\S]*?<\/memory-review-card>/g,"").replace(/<memory-[\s\S]*$/g,"").replace(/<imprint>[\s\S]*?<\/imprint>/g,"").replace(/<imprint>[\s\S]*$/g,"").trim())}function uf(e){return e.replace(/\s+/g," ").trim()}function sw(e,t){let n=uf(zd(t)),r=uf(e.filter(o=>o.kind==="text"&&typeof o.text=="string").map(o=>zd(o.text)).join(" "));return n===r}function dw(e){return e.kind==="tool_group"?!0:e.kind!=="text"||!("text"in e)?!1:typeof e.text=="string"&&e.text.trim().length===0}function pf(e){let t=new Set,n=null;for(let r=0;r<e.length;r++){let o=e[r];if(o.kind==="orientation"){n=r;continue}dw(o)||n!==null&&(t.add(n),n=null)}return n!==null&&t.add(n),e.filter((r,o)=>r.kind!=="orientation"||t.has(o))}var cw="popmelt-thread-composer-draft",Fl={text:"",selectionStart:0,selectionEnd:0,selectionDirection:"none"};function ff(){if(!(typeof window>"u"))return window.localStorage}function hf(e){return`${cw}:${e}`}function uw(e,t=ff()){if(!t)return Fl;try{let n=t.getItem(hf(e));if(!n)return Fl;if(!n.startsWith("{"))return{text:n,selectionStart:n.length,selectionEnd:n.length,selectionDirection:"none"};let r=JSON.parse(n);if(typeof r.text!="string")return Fl;let o=Math.max(0,Math.min(r.text.length,Number(r.selectionStart)||0)),i=Math.max(o,Math.min(r.text.length,Number(r.selectionEnd)||0)),a=r.selectionDirection==="forward"||r.selectionDirection==="backward"?r.selectionDirection:"none";return{text:r.text,selectionStart:o,selectionEnd:i,selectionDirection:a}}catch{return Fl}}function Dd(e,t,n=ff(),r={selectionStart:t.length,selectionEnd:t.length,selectionDirection:"none"}){if(n)try{let o=hf(e);t.length>0?n.setItem(o,JSON.stringify({text:t,selectionStart:r.selectionStart,selectionEnd:r.selectionEnd,selectionDirection:r.selectionDirection})):n.removeItem(o)}catch{}}function pw(e,t,n){return n?.activePreview?n.annotationNumber:e??t}function fw(e,t){return e?.trim()?e.trim():xy(t.find(n=>n.role==="human"))}function hw(e,t){if(!t)return e;let n=e.findIndex(r=>r.role==="human"&&r.execution==="none"&&r.jobId===`suggestion-${t}`);return n<0?e:e.slice(n+1).some(r=>r.role==="human"&&r.execution!=="none"&&!r.replyToQuestion&&!!(r.screenshotUrl||Object.values(r.screenshotUrls??{}).some(Boolean))&&!!(r.requestText?.trim()||r.requestItems?.length||r.feedbackSummary?.trim()))?e.filter((r,o)=>o!==n):e}var Hd=280,Wl=e=>`${e.jobId}:${e.role}:${e.timestamp}`;function mw(e,t,n,r){let o=`${n}:${t??""}`,i=Se(()=>hw(e,t),[e,t]),a=e.find(c=>c.role==="human"&&c.execution==="none"&&c.jobId===`suggestion-${t}`),l=i.length<e.length,s=Se(()=>{if(!a||l)return i;let c=e.indexOf(a);return e.filter((h,m)=>m<=c||h.role==="assistant"||h.execution==="none"||!!h.replyToQuestion)},[e,a,l,i]),[d,u]=$({scope:o,phase:"idle",seenKeys:[]});if(d.scope!==o)u({scope:o,phase:"idle",seenKeys:[]});else if(d.phase==="idle"){if(l)u({...d,phase:d.seedKey?"preparing":"done"});else if(a){let c=s.map(Wl);c.join("|")!==d.seenKeys.join("|")&&u({...d,seenKeys:c,seedKey:Wl(a)})}}Et(()=>{if(d.phase!=="preparing")return;let c=Array.from(r.current?.querySelectorAll('[data-suggestion-handoff="incoming"] img')??[]),h=new Set(c.filter(S=>!S.getAttribute("src")||!S.complete)),m=()=>u(S=>({...S,phase:window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"done":"animating"})),g=S=>{h.delete(S.target),h.size||m()};h.forEach(S=>{S.addEventListener("load",g),S.addEventListener("error",g)});let x=window.setTimeout(m,1500);return h.size||m(),()=>{window.clearTimeout(x),c.forEach(S=>{S.removeEventListener("load",g),S.removeEventListener("error",g)})}},[r,d.phase,o]),Et(()=>{if(d.phase!=="animating")return;let c=window.setTimeout(()=>u(h=>({...h,phase:"done"})),Hd);return()=>window.clearTimeout(c)},[d.phase,o]);let p=d.phase==="preparing"||d.phase==="animating";return{messages:p?e:s,replacementReady:l,phase:d.phase,motion:c=>{if(!p)return;let h=Wl(c);if(h===d.seedKey)return"outgoing";if(!d.seenKeys.includes(h))return"incoming"}}}function gw(e){return e==="Bash"?"terminal":e==="Edit"||e==="Write"?"pencil":e==="ImageGen"?"image":"tool"}function yw(e){let t=new Map;for(let n of e){let r=gw(n.tool),o=t.get(r)??{kind:r,count:0,groups:[]};o.count+=n.items.length,o.groups.push(n),t.set(r,o)}return[...t.values()]}function vw(e,t,n){return e&&t!==n}function bw(e){let t=new Set;for(let n of e){if(n.type!=="image_generation")continue;let r=n.data.itemId;typeof r=="string"&&(n.data.phase==="started"&&t.add(r),n.data.phase==="completed"&&t.delete(r))}return t.size>0}var sn=zs,xw=350,ww=200,Sw=120,No=14,Iw=Fs(()=>import("./ThreadErrorCard-MHFJXR4W.mjs")),mf=360,kw=0,Ew=!1,Tw=8,Cw="devtools-thread-panel-position",Aw=mf+2*kw;function _o(){let e=window.visualViewport;return{width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function Ha(e=_o().width){let t=di(e);return Math.max(t,e-kc(e)-t)}function Od(e="right"){let{width:t}=_o(),n=di(t);return{top:n,left:e==="left"?n:Ha(t)}}function gf(e,t,n){let{width:r,height:o}=_o(),i=di(r),a=n?.getBoundingClientRect(),l=0,s=o-i-l;return a&&t+Aw>a.left&&(s=a.top-Tw-l),Math.max(200,s-Math.max(0,e))}var Mw={width:mf,backgroundColor:"var(--popmelt-thread-surface)",backgroundClip:"padding-box",borderWidth:1,borderStyle:"solid",borderColor:"var(--popmelt-thread-border)",boxSizing:"border-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,borderRadius:"16px 16px 20px 20px",backdropFilter:"blur(59.5px)",fontFamily:sn,fontSize:14,color:"var(--popmelt-thread-primary)",pointerEvents:"auto"},Rw={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px 12px",margin:0,fontWeight:600,fontSize:12,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",lineHeight:1.2,overflow:"hidden",position:"absolute",top:4,left:4,right:4,borderRadius:10,zIndex:2},$w={flex:1,overflowY:"auto",padding:"32px 12px 112px",display:"flex",flexDirection:"column",gap:32,scrollbarGutter:"stable"},Lw={background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,display:"flex",flexDirection:"column",overflow:"hidden"},oa={color:"var(--popmelt-thread-primary)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},yf=16,jw={...oa,background:"var(--popmelt-thread-control)",borderRadius:yf,boxSizing:"border-box",color:"var(--popmelt-thread-muted-strong)",maxWidth:"100%",padding:12,width:"fit-content"};function Oa(e){return zd(e)}function Pw({patterns:e}){let[t,n]=$(!1);return A("div",{style:{marginTop:2},children:[A("button",{type:"button","aria-expanded":t,onClick:()=>n(r=>!r),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-secondary)",cursor:"pointer",display:"inline-flex",fontFamily:sn,fontSize:12,gap:2,lineHeight:1,padding:0,textAlign:"left"},children:[A("span",{children:["Model details \xB7 ",e.length]}),f(Yi,{"aria-hidden":"true",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5,style:{transform:t?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),t&&f("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8},children:e.map((r,o)=>A("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:12,padding:16},children:[A("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[A("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(pl,{"aria-hidden":"true",color:"#e51a1a",size:16,strokeWidth:1.5,style:{flexShrink:0}}),f("strong",{style:{color:"var(--popmelt-thread-primary)",fontSize:14,fontWeight:500,letterSpacing:"0.14px",lineHeight:1.3},children:r.element})]}),f("div",{style:{padding:"0 7px"},children:f("div",{style:{alignItems:"center",borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,padding:"6px 16px 8px"},children:r.decision})})]}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,letterSpacing:"0.12px",lineHeight:1.3},children:r.reason})]},`${r.category}:${r.element}:${o}`))})]})}function zw({memoryReview:e}){let[t,n]=$(!1),r=(e.acceptedTruth?.decisions.length??0)+e.packets.length;return A("div",{children:[A("button",{type:"button","aria-expanded":t,onClick:()=>n(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:sn,fontSize:12,gap:4,padding:0,textAlign:"left"},children:[A("span",{children:["Decision history \xB7 ",r]}),f(Bs,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:t?"rotate(90deg)":"none",transition:"transform 120ms ease"}})]}),t&&A("div",{style:{borderLeft:"2px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:10,lineHeight:1.45,marginTop:8,padding:"2px 0 2px 12px"},children:[e.acceptedTruth?.decisions.map(o=>A("div",{children:[f("div",{children:o.claim}),A("div",{style:{color:o.effectiveState==="conflicted"?"#b45309":"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.kind," \xB7 ",o.effectiveState," \xB7"," ",o.implementation," \xB7 ",o.verification,o.freshness.length?` \xB7 review: ${o.freshness.join(", ")}`:""]})]},o.id)),e.acceptedTruth?.conflicts.map(o=>A("div",{style:{color:"#92400e"},children:["Conflict: ",o.unresolvedQuestion]},o.id)),e.packets.map(o=>A("div",{children:[f("div",{children:o.claim}),A("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:2},children:[o.presentation==="surface_before_action"?"Confirm before applying":"Advisory",o.evidenceCount>0?` \xB7 ${o.evidenceCount} evidence reference${o.evidenceCount===1?"":"s"}`:""]})]},o.packetId)),(e.truncated||e.acceptedTruth?.truncated)&&f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11},children:"More relevant history is available."})]})]})}function Na(e){let t=new Date(e),n=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(c=>c.type==="hour")?.value??"",o=String(Number.parseInt(r,10)||0),i=n.find(c=>c.type==="minute")?.value??"00",a=(n.find(c=>c.type==="dayPeriod")?.value??"").toUpperCase(),l=`${o}:${i}${a}`,s=`${o}:${i}${a?` ${a}`:""}`,d=new Date;if(t.getFullYear()===d.getFullYear()&&t.getMonth()===d.getMonth()&&t.getDate()===d.getDate())return l;let u=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),p=Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());return Math.floor((p-u)/864e5)>=7?`${new Intl.DateTimeFormat(void 0,{month:"numeric",day:"numeric",year:"2-digit"}).format(t)}, ${s}`:`${new Intl.DateTimeFormat(void 0,{weekday:"long"}).format(t)}, ${l}`}var Dw=250;function Hw({color:e}){let[t,n]=$(0);return _(()=>{let r=setInterval(()=>n(o=>(o+1)%2),Dw);return()=>clearInterval(r)},[]),A("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[f("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0,opacity:.6},children:t===1?A(it,{children:[f("circle",{cx:"7",cy:"7",r:"2"}),f("circle",{cx:"17",cy:"7",r:"2"}),f("circle",{cx:"7",cy:"17",r:"2"}),f("circle",{cx:"17",cy:"17",r:"2"})]}):A(it,{children:[f("circle",{cx:"12",cy:"6",r:"2"}),f("circle",{cx:"6",cy:"12",r:"2"}),f("circle",{cx:"18",cy:"12",r:"2"}),f("circle",{cx:"12",cy:"18",r:"2"})]})}),f("span",{style:{fontSize:14,color:"var(--popmelt-thread-muted-strong)"},children:"Thinking"})]})}var vf=32,Nd=80,Ow=yf/2,Nw={width:vf,height:vf,objectFit:"cover",cursor:"pointer",border:"1px solid var(--popmelt-thread-hairline)"},mi={...Nw,borderRadius:Ow,height:Nd,width:Nd};function _w(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let r=[];for(let o=0;o<n.length;o++){let i=n[o],a=i[1],l=i.index+i[0].length,s=o+1<n.length?n[o+1].index:e.length,d=e.slice(l,s).trim();r.push({route:a,text:d})}return r}function Fw(e,t){let n=[];if(e.replyImageUrls)for(let r of e.replyImageUrls){let o=r.startsWith("blob:")||r.startsWith("http")?r:`${t}${r}`;n.push({url:o,label:"pasted image"})}return n}function so(e,t){return/^(?:blob:|data:|https?:\/\/)/.test(t)?t:`${e}${t}`}function Ww(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:so(t,o),label:"pasted image"});return n}function Bw({src:e,onClose:t}){return _(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),f("div",{onClick:t,style:{position:"fixed",inset:0,zIndex:1e5,backgroundColor:"rgba(0,0,0,0.8)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"zoom-out"},children:f(lo,{src:e,alt:"Attached image preview",onClick:n=>n.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",cursor:"default",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"}})})}function bf({src:e,onLightbox:t}){return f("button",{type:"button","aria-label":"Open generated image",onClick:()=>t(e),style:{background:"transparent",border:0,cursor:"zoom-in",display:"block",maxWidth:"100%",padding:0},children:f(lo,{src:e,alt:"Generated image preview",style:{borderRadius:8,display:"block",maxHeight:240,maxWidth:"100%",objectFit:"contain"}})})}function qw(e){let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,r=n?n.split("/").pop()??n:null,o=e.data.content?String(e.data.content):null;switch(t){case"Read":return r?`Reading ${r}`:"Reading file";case"Edit":return r?`Editing ${r}`:"Editing file";case"Write":return r?`Writing ${r}`:"Writing file";case"Bash":return o?Jw(o):"Running command";case"Glob":return"Searching files";case"Grep":return"Searching code";case"WebFetch":return"Fetching page";case"WebSearch":return"Searching web";case"ImageGen":return"Generating image";default:return o??(t?`Using ${t}`:null)}}function Jw(e){let t=e.split(`
|
|
215
|
-
`)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var Uw={focus_set:"Focused",focus_shifted:"Focus shifted",evidence_updated:"Evidence updated",hypothesis_changed:"Working approach changed",assumption_abandoned:"Assumption dropped",uncertainty_identified:"Uncertainty identified",next_observation_selected:"Checking next"};function xf({orientation:e}){let t=e.snapshot.update??e.snapshot.seeking??e.snapshot.nextObservation;return A("div",{style:{borderLeft:"2px solid var(--popmelt-thread-hairline)",color:"var(--popmelt-thread-secondary)",display:"flex",flexDirection:"column",fontSize:12,gap:2,lineHeight:1.35,paddingLeft:10},children:[A("span",{children:[f("span",{style:{color:"var(--popmelt-thread-primary)",fontWeight:550},children:Uw[e.transition]})," \xB7 ",e.snapshot.focus]}),t&&t!==e.snapshot.focus&&f("span",{style:{opacity:.72},children:t})]})}function Yw(e){let t=[];for(let n of e){if(n.type==="approval"){let r=n.data.approval,o=t.find(i=>i.kind==="approval"&&i.approval.id===r.id);o?.kind==="approval"?o.approval=r:t.push({kind:"approval",approval:r});continue}if(n.type==="image_ready"){let r=String(n.data.url||"");r.startsWith("/files/")&&t.push({kind:"generated_image",url:r});continue}if(n.type==="tool_use"){let r=qw(n),o=String(n.data.tool||""),i=n.data.file?String(n.data.file):null,a=n.data.content?String(n.data.content):null,l=i??a??void 0;if(r){let s=t[t.length-1];s&&s.kind==="tool_group"&&s.tool===o?s.items.push({label:r,detail:l,...i?{filePath:i}:{}}):t.push({kind:"tool_group",tool:o,items:[{label:r,detail:l,...i?{filePath:i}:{}}]})}if(a&&i){let s=i.includes(".")?`.${i.split(".").pop().toLowerCase()}`:"",d=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:a,ext:s,isPlan:d})}}else if(n.type==="delta"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="text"?o.text+=r:t.push({kind:"text",text:r})}else if(n.type==="thinking"){let r=String(n.data.text||"");if(!r)continue;let o=t[t.length-1];o&&o.kind==="thinking"?o.text+=r:t.push({kind:"thinking",text:r})}else if(n.type==="status"){let r=String(n.data.text||"").trim();if(!r)continue;let o=t.findIndex(i=>i.kind==="status");o>=0&&t.splice(o,1),t.push({kind:"status",text:r})}else if(n.type==="orientation"){let r=n.data.orientation;r?.snapshot?.focus&&t.push({kind:"orientation",orientation:r})}}return t}function Kw({file:e,content:t,ext:n,isPlan:r,onAccept:o}){let[i,a]=$(r),l=e.split("/").pop()??e;return A("div",{style:{margin:"4px 0 4px 12px",border:"1px solid var(--popmelt-thread-hairline)",backgroundColor:"var(--popmelt-thread-raised)",fontSize:11},children:[A("div",{onClick:()=>a(s=>!s),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",cursor:"pointer",userSelect:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"var(--popmelt-thread-primary)"},children:[f("span",{style:{fontSize:9,color:"var(--popmelt-thread-muted)"},children:i?"\u25BC":"\u25B6"}),f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l}),r&&f("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&A(it,{children:[f("div",{style:{maxHeight:300,overflowY:"auto",padding:"6px 10px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",lineHeight:1.5,wordBreak:"break-word"},children:n===".md"?zr(t):f("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&f("div",{style:{padding:"4px 8px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",display:"flex",justifyContent:"flex-end"},children:f("button",{onClick:s=>{s.stopPropagation(),o()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function Xw(e){return/\b(?:bash|command|terminal)\b/i.test(e)?"Bash":/\b(?:edit|edited|editing)\b/i.test(e)?"Edit":/\b(?:write|wrote|writing)\b/i.test(e)?"Write":/\b(?:read|reading)\b/i.test(e)?"Read":/\b(?:grep|search(?:ed|ing)?)\b/i.test(e)?"Grep":"Tool"}function wf(e){let t=new Map;for(let n of e){let r=t.get(n.tool);r?r.items.push(...n.items):t.set(n.tool,{...n,items:[...n.items]})}return[...t.values()]}function Bl(e){let t=e.filePath??e.detail;return t&&(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))?t:void 0}function Vw(e,t){return(e==="Read"||e==="Edit"||e==="Write")&&t.some(n=>Bl(n))?t.filter(n=>Bl(n)).filter((n,r,o)=>o.findIndex(i=>Bl(i)===Bl(n))===r):t}function Sf(e){return yw(e.map(t=>({...t,items:Vw(t.tool,t.items)})))}function ql(e,t){if(!t||typeof window>"u")return;let n=e.closest('[data-devtools="thread-panel"]');if(!n)return;let r=n.getBoundingClientRect(),o=e.getBoundingClientRect(),i=n.querySelector("[data-popmelt-thread-header]"),a=t.querySelector("[data-popmelt-tool-receipt-scroll]");if(t.style.left=`${r.left+8-o.left}px`,t.style.width=`${Math.max(0,r.width-16)}px`,i){let l=i.getBoundingClientRect(),s=Math.max(0,Math.floor(o.top-l.bottom-16));t.style.setProperty("--popmelt-tool-receipt-max-height",`${s}px`)}else t.style.removeProperty("--popmelt-tool-receipt-max-height");t.dataset.ready="true",requestAnimationFrame(()=>{a&&_a(a)})}function _a(e){let t=e.closest("[data-popmelt-tool-receipt-tooltip]");if(!t)return;let n=e.scrollTop>1,r=e.scrollTop+e.clientHeight<e.scrollHeight-1;t.toggleAttribute("data-overflow-top",n),t.toggleAttribute("data-overflow-bottom",r)}function If({receipt:e,animateCount:t=!1}){let n=e.kind==="terminal"?kg:e.kind==="pencil"?xu:e.kind==="image"?Eg:Tg,r=e.kind==="terminal"?"Terminal used":e.kind==="pencil"?"Files changed":e.kind==="image"?"Images generated":e.groups.length===1?`${e.groups[0].tool} used`:"Tools used",o=e.groups.map(d=>`${d.tool} (${d.items.length})`).join(", "),i=B(null),a=B(null),l=B(null),s=B(0);return _(()=>{let d=s.current;if(d===e.count)return;s.current=e.count;let u=i.current,p=a.current;if(!u)return;let c=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;u.getAnimations().forEach(h=>h.cancel()),p?.getAnimations().forEach(h=>h.cancel()),!(c||!vw(t,d,e.count))&&(u.animate([{color:"var(--popmelt-thread-muted)"},{color:"var(--popmelt-thread-primary)",offset:.18},{color:"var(--popmelt-thread-primary)",offset:.52},{color:"var(--popmelt-thread-muted)"}],{duration:720,easing:"ease-out"}),p&&p.animate([{opacity:0,transform:"translate(-50%, 4px) scale(0.72)"},{opacity:1,transform:"translate(-50%, 0) scale(1.08)",offset:.14},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.24},{opacity:1,transform:"translate(-50%, 0) scale(1)",offset:.72},{opacity:0,transform:"translate(-50%, -7px) scale(0.94)"}],{duration:1050,easing:"ease-out",fill:"both"}))},[t,e.count]),_(()=>{let d=l.current;if(!d)return;let u=requestAnimationFrame(()=>{let p=d.querySelector("[data-popmelt-tool-receipt-scroll]");p&&_a(p)});return()=>cancelAnimationFrame(u)},[e]),A("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:d=>ql(d.currentTarget,l.current),onFocusCapture:d=>ql(d.currentTarget,l.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[A("button",{ref:i,type:"button","aria-label":`Inspect tool activity: ${o}`,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,position:"relative",transition:"color 100ms ease",width:18},children:[f(n,{"aria-hidden":"true",color:"currentColor","data-popmelt-tool-receipt-icon":!0,size:14,strokeWidth:1.5}),e.count>1&&A("span",{ref:a,"data-popmelt-tool-count":!0,style:{alignItems:"center",background:"var(--popmelt-thread-action)",borderRadius:9,color:"var(--popmelt-thread-on-action)",display:"flex",fontFamily:sn,fontSize:12,fontWeight:500,height:18,justifyContent:"center",letterSpacing:"-0.1px",minWidth:18,padding:"0 5px",pointerEvents:"none",position:"absolute",bottom:"calc(100% + 3px)",left:"50%",opacity:0,transform:"translate(-50%, -7px) scale(0.94)"},children:[e.count,"x"]})]}),A("span",{ref:l,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[A("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:d=>_a(d.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[A("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(n,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:r})]}),e.groups.map(d=>A("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[A("span",{style:{fontSize:11,fontWeight:500,lineHeight:1.3,opacity:.65},children:[d.tool," \xB7 ",d.items.length]}),d.items.map((u,p)=>f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:u.label},`${u.label}-${p}`))]},d.tool))]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function kf(e){let t=new Map;for(let n of e)t.has(n.id)||t.set(n.id,n);return[...t.values()]}function Gw(e){let t=kf(e.flatMap(n=>n.type!=="imprint_used"?[]:n.data.usage?.explanations??[]));return t.length>0?{updated:!1,explanations:t}:void 0}function Qw(e,t){let n=new Map(t.flatMap(s=>s.imprintContext?[[s.jobId,s.imprintContext]]:[])),r=[],o,i,a=!1;for(let s of e){let d=s.imprintSummary;if(d){a=!0,o=d.title,i=d.detail;for(let c of d.changes)r.push({id:c.explanationId,statement:c.statement,state:c.state})}let u=n.get(s.jobId),p=new Set([...s.imprintUsedExplanationIds??[],...s.imprintAppliedExplanationIds??[],...s.imprintRecognition?[s.imprintRecognition.explanationId]:[]]);for(let c of p){let h=u?.explanations.find(m=>m.id===c);h?r.push(h):s.imprintRecognition?.explanationId===c&&r.push({id:c,kind:"pattern",statement:s.imprintRecognition.statement,state:"grounded",scope:{kind:"project",values:[]}})}}let l=kf(r);if(!(!a&&l.length===0))return{updated:a,title:o,detail:i,explanations:l}}function Zw(e){return e==="testing"||e==="emerging"?"Emerging":e.charAt(0).toUpperCase()+e.slice(1)}function Ef(e){return e?e.charAt(0).toUpperCase()+e.slice(1):void 0}function Tf({receipt:e,accentColor:t}){let n=e.updated?"Imprint updated":"Imprint used",r=B(null);return _(()=>{let o=r.current;if(!o)return;let i=requestAnimationFrame(()=>{let a=o.querySelector("[data-popmelt-tool-receipt-scroll]");a&&_a(a)});return()=>cancelAnimationFrame(i)},[e]),A("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:o=>ql(o.currentTarget,r.current),onFocusCapture:o=>ql(o.currentTarget,r.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[f("button",{type:"button","aria-label":`Inspect ${n.toLowerCase()}`,style:{alignItems:"center",background:"transparent",border:0,color:e.updated?t:"var(--popmelt-thread-muted)",cursor:"pointer",display:"inline-flex",flexShrink:0,height:18,justifyContent:"center",padding:0,transition:"color 100ms ease",width:18},children:f(oo,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5})}),A("span",{ref:r,role:"tooltip","data-popmelt-tool-receipt-tooltip":!0,style:{background:"var(--popmelt-thread-raised)",borderRadius:16,bottom:"100%",boxSizing:"border-box",color:"var(--popmelt-thread-primary)",left:0,overflow:"hidden",pointerEvents:"auto",position:"absolute",width:0,zIndex:20},children:[A("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:o=>_a(o.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[A("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[f(oo,{"aria-hidden":"true",color:e.updated?t:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),f("span",{children:n})]}),e.title&&f("span",{style:{fontSize:14,fontWeight:500,lineHeight:1.3},children:e.title}),e.detail&&f("span",{style:{fontSize:12,fontWeight:400,lineHeight:1.45,opacity:.72},children:e.detail}),e.explanations.map(o=>A("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[A("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:4,lineHeight:1.3,opacity:.65},children:[f("span",{children:Zw(o.state)}),Ef(o.kind)&&f("span",{style:{opacity:.72},children:Ef(o.kind)})]}),f("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:o.statement}),o.scope?.values.length?f("span",{style:{fontSize:11,fontWeight:400,lineHeight:1.3,opacity:.5},children:o.scope.values.join(" \xB7 ")}):null]},o.id))]}),f("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),f("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function eS({summary:e,accentColor:t,busy:n,onAction:r}){let o=!!e.resolvedAction,[i,a]=$(!!(e.grounding&&!o)),l={...$d,cursor:n?"default":"pointer",fontFamily:sn};return A("div",{style:af,children:[A("button",{type:"button","aria-expanded":i,onClick:()=>a(s=>!s),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:sn,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(oo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),A("span",{style:{flex:1},children:["Imprint ",e.kind,": ",e.title]}),f(Yi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:i?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),i&&A(it,{children:[A("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:[e.detail,e.additionalObservationCount?A("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11,marginTop:4},children:["Updated with ",e.additionalObservationCount," additional"," ",e.additionalObservationCount===1?"observation":"observations","."]}):null]}),e.changes.map(s=>A("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:s.statement}),A("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:[s.action," \xB7 ",s.state]})]},`${s.explanationId}:${s.action}`)),e.grounding&&!o&&f("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:13,lineHeight:1.35,marginTop:2},children:e.grounding.question}),o?A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f($o,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),e.resolvedAction==="no"?"Correction requested":`Feedback applied: ${e.resolvedAction==="yes"?"Yes":"This time"}`]}):e.grounding?A("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[f("button",{disabled:n,onClick:()=>r("yes"),style:l,children:"Yes"}),f("button",{disabled:n,onClick:()=>r("this_time"),style:l,children:"This time"}),f("button",{disabled:n,onClick:()=>r("no"),style:l,children:"No"})]}):null]})]})}function tS({receipt:e,accentColor:t}){let[n,r]=$(!0);return A("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},children:[A("button",{type:"button","aria-expanded":n,onClick:()=>r(o=>!o),style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"flex",fontFamily:sn,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[f(oo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),A("span",{style:{flex:1},children:["Existing Imprint reapplied: ",e.title]}),f(Yi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:n?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),n&&A(it,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35,padding:"4px 12px"},children:e.detail}),A("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[f("div",{children:e.statement}),f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:"recognized \xB7 grounded"})]}),A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[f($o,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),"Shared understanding unchanged"]})]})]})}function nS({card:e,accentColor:t,busy:n,resolved:r,superseded:o,onAction:i}){let[a,l]=$(!1),[s,d]=$(e.claim),[u,p]=$(!1),[c,h]=$(!1),[m,g]=$(!1),[x,S]=$(null),P=B(null);_(()=>{l(!1),d(e.claim),p(!1),h(!1),g(!1),S(null)},[e.claim,e.proposalId]),_(()=>{if(!a)return;let K=P.current;K&&(K.focus(),K.select(),K.style.height="auto",K.style.height=`${K.scrollHeight}px`)},[a]);let R=q(()=>{let K=s.trim();d(K||e.claim),l(!1),p(!1)},[e.claim,s]),I=q(()=>{d(e.claim),l(!1),p(!1)},[e.claim]),z=s.trim()!==e.claim.trim(),G=r||o,E=e.title;return r?A("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[A("button",{type:"button","aria-expanded":m,onClick:()=>g(K=>!K),style:{alignItems:"center",alignSelf:"flex-start",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:sn,fontSize:14,fontWeight:400,gap:6,letterSpacing:"0.14px",lineHeight:1.35,padding:0,textAlign:"left"},children:[f(oo,{"aria-hidden":"true",color:t,size:14,strokeWidth:1.5}),A("span",{style:{alignItems:"center",display:"inline-flex",gap:2},children:[f("span",{children:E}),f(Yi,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:m?"rotate(180deg)":"rotate(0deg)",transition:"transform 120ms ease"}})]})]}),m&&A(it,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:s}),f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,marginLeft:7,padding:"6px 16px 8px"},children:e.rationale}),e.scope?A("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35},children:["Scope: ",e.scope]}):null]})]}):A("div",{style:{border:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:14,fontWeight:600,gap:8,letterSpacing:"0.14px",lineHeight:1.3},children:[f(oo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),f("span",{children:E})]}),a&&!G?f("textarea",{ref:P,value:s,disabled:n,onChange:K=>{d(K.target.value),K.currentTarget.style.height="auto",K.currentTarget.style.height=`${K.currentTarget.scrollHeight}px`},onBlur:R,onKeyDown:K=>{K.key==="Enter"&&!K.shiftKey?(K.preventDefault(),R()):K.key==="Escape"&&(K.preventDefault(),K.stopPropagation(),I())},rows:1,style:{resize:"none",overflow:"hidden",outline:"none",boxSizing:"border-box",border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:"var(--popmelt-thread-soft-hairline)",color:"var(--popmelt-thread-muted-strong)",cursor:"text",fontFamily:sn,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",width:"calc(100% - 14px)"}}):f("button",{type:"button",disabled:G||n,onClick:()=>l(!0),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),onFocus:()=>p(!0),onBlur:()=>p(!1),style:{border:0,borderLeft:"1px solid var(--popmelt-thread-border)",background:u&&!G?"var(--popmelt-thread-soft-hairline)":"transparent",color:"var(--popmelt-thread-muted-strong)",cursor:G?"default":"text",fontFamily:sn,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",textAlign:"left",width:"calc(100% - 14px)"},children:s}),A("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:14},children:[A("button",{type:"button","aria-expanded":c,onClick:()=>h(K=>!K),style:{alignItems:"center",border:0,background:"transparent",color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"inline-flex",gap:2,fontFamily:sn,fontSize:14,fontWeight:400,letterSpacing:"0.14px",lineHeight:1.3,margin:0,opacity:c?1:.35,padding:0},children:[f("span",{children:"Why?"}),c?f(Yi,{"aria-hidden":"true",size:10,strokeWidth:2.5}):f(Bs,{"aria-hidden":"true",size:10,strokeWidth:2.5})]}),c?A(it,{children:[f("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",color:"var(--popmelt-thread-muted-strong)",fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"8px 7px 0",padding:"6px 16px 8px"},children:e.rationale}),e.scope?A("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:8},children:["Scope: ",e.scope]}):null]}):null]}),o?f("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,fontWeight:700},children:"Refined in a later review card"}):A("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:6,alignItems:"stretch"},children:[A("button",{type:"button",disabled:n,onClick:()=>i("reject"),onMouseEnter:()=>{n||S("reject")},onMouseLeave:()=>S(null),style:{...Fd,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,borderRadius:16,color:"var(--popmelt-thread-primary)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(fl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),A("button",{type:"button",disabled:n||!s.trim(),onClick:()=>i(z?"edit_and_accept":"accept",z?s.trim():void 0),onMouseEnter:()=>{!n&&s.trim()&&S("accept")},onMouseLeave:()=>S(null),style:{..._d,alignItems:"center",background:x==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:x==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderRadius:24,color:"var(--popmelt-thread-on-action)",display:"flex",justifyContent:"space-between",padding:"8px 12px",width:"100%",fontSize:12,opacity:n||!s.trim()?.45:1,transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:z?"Adopt edited":"Adopt"}),f($o,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]})]})}function rS({stepCount:e}){return A("div",{"data-thread-interaction-episode-receipt":!0,style:{...oa,alignItems:"center",alignSelf:"flex-end",color:"var(--popmelt-thread-muted-strong)",display:"inline-flex",gap:6,paddingBlock:4},children:[f(Cg,{"aria-hidden":!0,color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),A("span",{children:[e," recorded ",e===1?"action":"actions"," sent"]})]})}function oS({frames:e,onLightbox:t}){return e.length===0?null:f("div",{"data-thread-interaction-episode-visuals":!0,style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:e.map(n=>A("button",{type:"button","aria-label":`View ${n.label.toLowerCase()}`,title:n.label,onClick:()=>t(n.url),style:{background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",font:"inherit",padding:0,textAlign:"right"},children:[f(lo,{src:n.url,alt:"",style:{...mi,display:"block"}}),f("span",{style:{display:"block",fontSize:10,marginTop:2,maxWidth:Nd,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.label})]},n.id))})}var Cf=bg(function({msg:e,index:t,bridgeUrl:n,accentColor:r,onLightbox:o,hideSender:i=!1,hideTimestamp:a=!1,hideModelSenderUntilHover:l=!1,compactSpacing:s=!1,queuedPreview:d=!1,workedFor:u="a moment",activityTimestamp:p,memoryReviewBusy:c=!1,memoryReviewResolved:h=!1,memoryReviewSuperseded:m=!1,foldedActivityMessages:g=[],underMessageActivity:x,onMemoryReviewAction:S,onImprintAction:P}){let R=e.role==="human",I=jr(rl),z=e.authorPeer?e.authorPeer.id===I?.participantId?"You":e.authorPeer.name==="You"?"Host":e.authorPeer.name:I&&!I.canManageThreads&&!e.jobId.startsWith("_pending_reply_")?"Host":"You",[G,E]=$(!1),K={...jw,...d?{borderRadius:12,padding:"2px 10px",fontSize:12,lineHeight:"24px",letterSpacing:"0.12px",width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},...s?{borderBottomRightRadius:4}:{}},N=R?e.replyToQuestion?Fw(e,n):e.requestItems?.length?[]:Ww(e,n):[];if(e.cancelled||e.error)return f("div",{"data-msg":!0,style:{padding:0},children:f(Ws,{fallback:"Loading recovery\u2026",children:f(Iw,{message:e,bridgeUrl:n,canSignIn:!!I?.canManageThreads})})},`${e.jobId}-${t}`);let Y=e.requestText||e.feedbackSummary||"(annotation)",J=e.requestText?Ty(e.requestText):Y,le=!!(R&&!e.replyToQuestion&&e.requestText&&e.requestText.trim()!==J.trim()),w=R?e.replyToQuestion||(G?Y:J):Oa(e.responseText||""),Q=(O,ze=K)=>A("div",{style:ze,children:[O.includes(`
|
|
216
|
-
`)?zr(O):O,le&&f("button",{type:"button","aria-expanded":G,onClick:()=>E(Oe=>!Oe),style:{background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"block",fontFamily:"inherit",fontSize:12,fontWeight:600,marginTop:8,opacity:.72,padding:0,textAlign:"left"},children:G?"Show less":"Read more"})]}),D=R?void 0:e.question,F=R?[]:(e.resolutions??[]).filter(O=>O.status!=="resolved"),M=F.length>0,j=!R&&e.segments&&e.segments.length>0,L=j?pf(e.segments):[],T=!!(!R&&j&&w&&!sw(e.segments,e.responseText??"")),Z=[...g,e],re=R?[]:Z.flatMap(O=>(O.segments??[]).filter(ze=>ze.kind==="tool_group")),ee=R?[]:Z.flatMap(O=>O.segments?.length?[]:(O.toolsUsed??[]).map(ze=>({kind:"tool_group",tool:Xw(ze),items:[{label:ze}]}))),oe=wf([...re,...ee]),U=Sf(oe),fe=!!(Z.some(O=>O.memoryReceipt?.status==="committed")||x?.decisionRecorded),me=x?.imprintReceipt,X=!!x?.modelUpdated,Te=U.length>0||fe||X||!!me,Ae=R&&!!(e.memoryReview?.packets.length||e.memoryReview?.acceptedTruth?.decisions.length),Ee=!R&&!!(e.memoryReceipt&&e.memoryReceipt.status!=="committed"),_e=!R&&(!i||!a);return!w&&!D&&!M&&!j&&!Ae&&!e.memoryReviewCard&&!e.imprintSummary&&!Ee&&!Te?null:A("div",{"data-msg":!0,"data-queued-preview":d||void 0,style:{alignSelf:R?"flex-end":"stretch",display:"flex",flexDirection:"column",gap:16,marginTop:s?-24:0,padding:0,position:"relative",maxWidth:R?280:void 0,width:R?"fit-content":"auto",...d?{width:"100%",minWidth:0,maxWidth:"100%"}:{}},children:[_e&&f("div",{"data-under-message-rail":l?"hover":"latest",style:{alignItems:"center",alignSelf:"stretch",display:"flex",gap:4,marginTop:l?0:16,order:2,...l?{left:0,paddingTop:7,position:"absolute",right:0,top:"100%",zIndex:1}:{},width:"100%"},children:R?A(it,{children:[!a&&f("span",{"data-message-timestamp":!0,style:{fontSize:12,fontWeight:400,color:"var(--popmelt-thread-muted)"},children:Na(e.timestamp)}),!i&&f("span",{style:{color:r,fontSize:12,fontWeight:500,marginLeft:"auto",opacity:.55},children:z})]}):A(it,{children:[f("div",{"data-worked-for-trigger":!0,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"default",display:"flex",fontFamily:sn,fontSize:14,padding:0,textAlign:"left"},children:A("span",{style:{display:"grid"},children:[A("span",{"data-worked-for-label":!0,style:{gridArea:"1 / 1",textAlign:"left"},children:["Worked for ",u]}),!a&&f("span",{"data-worked-for-time":!0,style:{gridArea:"1 / 1",justifySelf:"start",opacity:0,textAlign:"left"},children:Na(p??e.timestamp)})]})}),f("div",{style:{alignItems:"center",display:"flex",marginLeft:"auto",minHeight:14},children:A("div",{"data-message-activity":!0,style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",gap:6},children:[oe.length>0&&f("div",{style:{alignItems:"center",display:"flex",gap:6},children:U.map(O=>f(If,{receipt:O},O.kind))}),fe&&f(oo,{"aria-label":"Decision recorded",color:r,size:14,strokeWidth:1.5}),X&&f(pl,{"aria-label":"Model updated",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5}),me&&f(Tf,{receipt:me,accentColor:r})]})})]})}),R&&!a&&f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,position:"absolute",right:0,top:"calc(100% + 8px)"},children:Na(e.timestamp)}),N.length>0&&f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:N.map((O,ze)=>f(lo,{src:O.url,alt:O.label||"Attached image",title:O.label,style:mi,onClick:()=>o(O.url)},ze))}),R&&!e.replyToQuestion&&(()=>{if(e.requestItems?.length){let Oe=new Set(e.requestItems.flatMap(ve=>ve.pathname?[ve.pathname]:[])).size>1,Ve=new Set,nt=e.screenshotUrl?so(n,e.screenshotUrl):null;return A("div",{"data-thread-request-cluster":!0,style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%"},children:[nt&&!e.screenshotUrls?f(lo,{src:nt,alt:"Thread screenshot",title:"screenshot",style:{...mi,flexShrink:0},onClick:()=>o(nt)}):null,e.requestItems.map((ve,Ne)=>{let ge=ve.pathname,Je=ge&&!Ve.has(ge)?e.screenshotUrls?.[ge]:void 0;ge&&Ve.add(ge);let st=Je?so(n,Je):null,Ge=ve.kind==="annotation"&&ve.annotationId?e.imageUrls?.[ve.annotationId]??[]:[],$e=ve.kind==="annotation"?e.annotationSnapshot?.annotations.find(Qe=>Qe.id===ve.annotationId)?.interactionEpisode:void 0,Be=wy($e,Ge).map(Qe=>({...Qe,url:so(n,Qe.url)})),Pt=new Set(Be.map(Qe=>Qe.imageIndex)),ht=Ge.flatMap((Qe,ft)=>Pt.has(ft)?[]:[so(n,Qe)]),pt=ve.kind==="annotation"?ve.interactionEpisodeStepCount??$e?.steps.length??0:0;return A(xg,{children:[st?f(lo,{src:st,alt:`Screenshot for ${ge}`,title:ge,style:{...mi,flexShrink:0},onClick:()=>o(st)}):null,ht.length>0?f("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:ht.map((Qe,ft)=>f(lo,{src:Qe,alt:"Attached image",title:"pasted image",style:mi,onClick:()=>o(Qe)},ft))}):null,f(oS,{frames:Be,onLightbox:o}),pt>0?f(rS,{stepCount:pt}):null,A("div",{style:{...K,minWidth:0},children:[Oe&&ge?f("code",{style:{backgroundColor:"var(--popmelt-thread-soft-hairline)",display:"inline-block",fontSize:10,marginBottom:4,padding:"1px 4px"},children:ge}):null,ve.kind==="annotation"?ve.text.includes(`
|
|
217
|
-
`)?zr(ve.text):ve.text:A(it,{children:[A("div",{style:{fontWeight:600},children:[ve.elementLabel," ",A("span",{style:{opacity:.64},children:["(",ve.changes.length," ",ve.changes.length===1?"change":"changes",")"]})]}),f("div",{style:{marginTop:6},children:ve.changes.map((Qe,ft)=>f("div",{style:{marginTop:ft===0?0:3},children:Qe},ft))})]})]})]},`${ve.kind}-${Ne}`)})]})}let O=w?_w(w):null;if(O&&e.screenshotUrls)return f("div",{style:{display:"flex",flexDirection:"column",gap:4},children:O.map((Oe,Ve)=>{let nt=e.screenshotUrls?.[Oe.route],ve=nt?so(n,nt):null;return A("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[ve?f(lo,{src:ve,alt:`Screenshot for ${Oe.route}`,title:Oe.route,style:{...mi,flexShrink:0},onClick:()=>o(ve)}):null,A("div",{style:{...K,minWidth:0},children:[f("code",{style:{fontSize:10,backgroundColor:"var(--popmelt-thread-soft-hairline)",padding:"1px 4px"},children:Oe.route}),Oe.text&&f("div",{style:{marginTop:2},children:zr(Oe.text)})]})]},Ve)})});let ze=e.screenshotUrl?so(n,e.screenshotUrl):null;return ze&&w?A("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[f(lo,{src:ze,alt:"Thread screenshot",title:"screenshot",style:{...mi,flexShrink:0},onClick:()=>o(ze)}),Q(w,{...K,minWidth:0})]}):w?Q(w):null})(),R&&e.replyToQuestion&&w&&f("div",{style:K,title:d?w:void 0,children:!d&&w.includes(`
|
|
218
|
-
`)?zr(w):w}),Ae&&f(zw,{memoryReview:e.memoryReview}),!R&&j&&L.map((O,ze)=>{if(O.kind==="approval")return f(lf,{approval:O.approval},O.approval.id);if(O.kind==="tool_group")return null;if(O.kind==="generated_image")return f(bf,{src:so(n,O.url),onLightbox:o},ze);if(O.kind==="orientation")return f(xf,{orientation:O.orientation},ze);if(T)return null;let Oe=Oa(O.text);return Oe?f("div",{style:oa,children:zr(Oe)},ze):null}),!R&&!j&&w&&f("div",{style:oa,children:zr(w)}),!R&&T&&w&&f("div",{style:oa,children:zr(w)}),!R&&e.memoryReviewCard&&S&&f(nS,{card:e.memoryReviewCard,accentColor:r,busy:c,resolved:h,superseded:m,onAction:(O,ze)=>S(e.memoryReviewCard,O,ze)}),!R&&e.imprintSummary&&P&&f(eS,{summary:e.imprintSummary,accentColor:r,busy:c,onAction:O=>P(e.imprintSummary,O)}),!R&&e.imprintRecognition&&f(tS,{receipt:e.imprintRecognition,accentColor:r}),Ee&&e.memoryReceipt&&A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[e.memoryReceipt.status==="committed"?f(oo,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}):f(fl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:e.memoryReceipt.status==="committed"?"Decision recorded":"Decision not recorded"})]}),D&&f("div",{style:oa,children:zr(D)}),M&&f("div",{style:{backgroundColor:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35,marginTop:-4,padding:16},children:F.map((O,ze)=>A("div",{children:[f("span",{style:{color:O.status==="resolved"?"#10b981":"#f59e0b"},children:O.status==="resolved"?"Done":"Needs review"}),O.summary?` \u2014 ${O.summary}`:""]},ze))}),!R&&e.modelDetails?.length?f(Pw,{patterns:e.modelDetails}):null]},`${e.jobId}-${t}`)});function Af(e,t){return!t||e.role!=="human"||t.role!=="human"||e.authorPeer?.id!==t.authorPeer?.id||!e.replyToQuestion||!t.replyToQuestion?!1:e.jobId===t.jobId||e.timestamp-t.timestamp<6e4}function Mf(e,t){if(!t||e.timestamp<=t.timestamp)return"a moment";let n=Jg((e.segments??[]).flatMap(s=>s.kind==="approval"?[s.approval]:[]),t.timestamp,e.timestamp),r=Math.max(1,Math.round((e.timestamp-t.timestamp-n)/1e3));if(r<60)return`${r}s`;let o=Math.floor(r/60),i=r%60;if(o<60)return`${o}m${i?` ${i}s`:""}`;let a=Math.floor(o/60),l=o%60;return[`${a}h`,l?`${l}m`:"",i?`${i}s`:""].filter(Boolean).join(" ")}function iS(e,t){if(e.role!=="assistant"||e.cancelled||e.error)return!1;let n=Oa(e.responseText??"").trim(),r=(e.segments??[]).some(i=>i.kind==="approval"?!0:i.kind==="tool_group"?!1:i.kind==="generated_image"||i.kind==="orientation"?!0:Oa(i.text).trim().length>0),o=!!(n||e.question||e.resolutions?.length||e.memoryReviewCard||e.imprintSummary||r);return!!(e.memoryReceipt?.status==="committed"||e.toolsUsed?.length||e.segments?.some(i=>i.kind==="tool_group")||t)&&!o}function Rf(e,t){return t.status==="applied"?t.applicationMode==="automatic"&&t.presentationJobId?e.jobId===t.presentationJobId:e.jobId===`apply-${t.id}`:t.status==="dismissed"?e.jobId===`dismiss-${t.id}`:t.presentationJobId?e.jobId===t.presentationJobId:t.runId&&e.jobId===t.runId?!0:!t.runId&&e.role==="assistant"&&!!e.responseText?.includes("Model suggestion ready")}function Dr(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Jl(e){if(e===void 0)return"undefined";try{return JSON.stringify(e)}catch{return String(e)}}function Ul(e,t){return Jl(e)===Jl(t)}function ia(e){if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`${e.length} item${e.length===1?"":"s"}`;if(Dr(e)){let t=Object.keys(e);return typeof e.value=="string"||typeof e.value=="number"?String(e.value):`{ ${t.slice(0,4).join(", ")}${t.length>4?", ...":""} }`}return String(e)}function aS(e,t){let n=e;for(let r of t){if(!n||typeof n!="object")return;n=n[String(r)]}return n}function $f(e,t,n,r){if(!Dr(e)){Ul(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:ia(e),path:n,value:e,currentValue:t});return}if("value"in e){Ul(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:ia(e),path:n,value:e,currentValue:t});return}for(let o of Object.keys(e))$f(e[o],Dr(t)?t[o]:void 0,[...n,o],r)}function lS(e,t){if(t.changes?.length)return t.changes.map(s=>{let d=s.path[0],u=d==="rules"||d==="components"||d==="tokens"?d:"model";return{id:s.id,group:u,label:s.label??s.path.map(String).join("."),detail:s.rationale,path:s.path,value:s.value,decisionIds:s.decisionIds,currentValue:aS(e,s.path)}});let n=t.proposedModel;if(!n)return[];let r=[],o=Array.isArray(e?.rules)?e.rules:[],i=Array.isArray(n.rules)?n.rules:[];for(let s=0;s<i.length;s++){let d=i[s];if(!Dr(d))continue;let u=typeof d.id=="string"?d.id:`rule-${s}`,p=o.find(c=>Dr(c)&&(typeof c.id=="string"&&c.id===u||Jl(c)===Jl(d)));Ul(p,d)||r.push({id:`rule:${u}`,group:"rules",label:typeof d.scope=="string"?d.scope:"rule",detail:typeof d.text=="string"?d.text:ia(d),path:["rules"],value:d,currentValue:p,ruleValue:d})}let a=Dr(n.components)?n.components:{},l=Dr(e?.components)?e.components:{};for(let s of Object.keys(a)){let d=a[s],u=l[s];Ul(d,u)||r.push({id:`component:${s}`,group:"components",label:s,detail:ia(d),path:["components",s],value:d,currentValue:u})}return Dr(n.tokens)&&$f(n.tokens,e?.tokens,["tokens"],r),r}function sS(e,t,n){let r=t.filter(a=>n.has(a.id)),o=r.filter(a=>a.group==="rules"&&a.ruleValue),i=r.filter(a=>!a.ruleValue).map(a=>({path:a.path,value:a.value,decisionIds:a.decisionIds}));if(o.length>0){let a=Array.isArray(e?.rules)?[...e.rules]:[];for(let l of o){let s=l.ruleValue,d=Dr(s)&&typeof s.id=="string"?s.id:null,u=d?a.findIndex(p=>Dr(p)&&p.id===d):-1;u>=0?a[u]=s:a.push(s)}i.push({path:["rules"],value:a,decisionIds:[...new Set(o.flatMap(l=>l.decisionIds??[]))]})}return i}function dS(e){return(e.selectedChanges??[]).flatMap((t,n)=>{if(!t.label&&!t.detail)return[];let r=t.group==="rules"||t.group==="components"||t.group==="tokens"||t.group==="model"?t.group:"model";return[{id:`selected:${e.id}:${n}`,group:r,label:t.label??r,detail:t.detail??ia(t.value),path:t.path??[],value:t.value,currentValue:t.currentValue}]})}function cS({proposal:e,timestamp:t,bridgeUrl:n,accentColor:r,busy:o,onApplySelected:i,onDismiss:a,onReviewUnderlying:l,hideModelSenderUntilHover:s=!1}){let d=e.authorityStatus==="accepted",u=e.status==="pending"&&d,[p,c]=$(null),[h,m]=$(()=>new Set),[g,x]=$(null),S=Se(()=>{let J=dS(e);return!u&&J.length>0?J:lS(p,e)},[p,u,e]),P=Se(()=>sS(p,S,h),[S,p,h]),R=Se(()=>S.filter(J=>h.has(J.id)),[S,h]),I=Se(()=>{let J={rules:[],components:[],tokens:[],model:[]};for(let le of S)J[le.group].push(le);return J},[S]),z=S.map(J=>J.id).join("|");_(()=>{let J=!1;return Yt(`${n}/model`).then(le=>le.ok?le.json():null).then(le=>{J||c(le?.model&&typeof le.model=="object"?le.model:null)}).catch(()=>{J||c(null)}),()=>{J=!0}},[n,e.id]),_(()=>{m(u&&z?new Set(z.split("|")):new Set)},[z,u,e.id]);let G=q(J=>{m(le=>{let w=new Set(le);return w.has(J)?w.delete(J):w.add(J),w})},[]),E=q(()=>{m(new Set(S.map(J=>J.id)))},[S]),K=q(()=>{m(new Set)},[]),N=`${S.length} ${S.length===1?"change":"changes"}`,Y=S.length===1?`1 ${S[0]?.group==="rules"?"rule":S[0]?.group==="components"?"component":S[0]?.group==="tokens"?"token":"change"}`:N;return e.status==="applied"?A("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[A("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(oo,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Decision recorded"})]}),A("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[f(pl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),f("span",{style:{opacity:.5},children:"Model updated"})]})]}),A("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[A("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(Hc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:Oc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Na(t)})]})]}):A("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[A("div",{style:{background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,padding:16,display:"flex",flexDirection:"column",gap:12},children:[e.status==="dismissed"?A("div",{style:{alignItems:"center",display:"flex",gap:6,opacity:.45},children:[f(fl,{"aria-hidden":"true",size:16,strokeWidth:2.5}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion dismissed"})]}):A("div",{style:{alignItems:"center",display:"flex",gap:8},children:[f(pl,{"aria-hidden":"true",color:r,size:16,strokeWidth:2}),f("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion"})]}),e.status==="pending"&&d&&S.length>0&&A("div",{style:{alignItems:"center",display:"flex",fontSize:14,lineHeight:1.35,marginTop:4},children:[f("span",{style:{fontWeight:600},children:Y}),A("div",{style:{display:"flex",gap:12,marginLeft:"auto"},children:[f("button",{type:"button",disabled:o,onClick:E,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:sn,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Select all"}),f("button",{type:"button",disabled:o,onClick:K,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:sn,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Clear"})]})]}),e.status==="pending"&&f(it,{children:S.length>0?f("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:4},children:["rules","components","tokens","model"].flatMap(J=>I[J]).map(J=>{let le=h.has(J.id);return A("label",{style:{alignItems:"start",color:u&&!le?"var(--popmelt-thread-secondary)":"var(--popmelt-thread-primary)",columnGap:8,cursor:u?"pointer":"default",display:"grid",fontSize:14,gridTemplateColumns:u?"14px minmax(0, 1fr)":"minmax(0, 1fr)",lineHeight:1.35,padding:"0 0 8px 12px"},children:[u&&f("input",{type:"checkbox",checked:le,disabled:o,onChange:()=>G(J.id),style:{WebkitAppearance:"none",appearance:"none",margin:"1px 0 0",width:14,height:14,backgroundColor:le?r:"transparent",border:`1px solid ${le?r:"rgba(0,0,0,0.34)"}`,boxSizing:"border-box",cursor:o?"default":"pointer"}}),A("span",{style:{minWidth:0},children:[f("span",{style:{fontWeight:700},children:J.label}),A("span",{children:[" \u2014 ",J.detail]}),J.currentValue!==void 0&&A("span",{style:{display:"block",marginTop:2,opacity:.5},children:["was ",ia(J.currentValue)]})]})]},J.id)})}):f("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,lineHeight:1.4},children:"No concrete model diff could be derived from this proposal."})}),!d&&e.status==="pending"&&f("div",{style:{color:"#92400e",background:"rgba(180,83,9,0.06)",border:"1px solid rgba(180,83,9,0.2)",padding:8,fontSize:12,lineHeight:1.4},children:f("strong",{children:"A competing product decision is pending"})}),e.status==="pending"&&d&&A("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[A("button",{type:"button",disabled:o,onClick:a,onMouseEnter:()=>{o||x("reject")},onMouseLeave:()=>x(null),style:{...Fd,alignItems:"center",background:"var(--popmelt-thread-control)",border:0,color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,justifyContent:"space-between",padding:"8px 12px",transition:"background-color 120ms ease"},children:[f("span",{children:"Reject"}),f(fl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),A("button",{type:"button",disabled:o||P.length===0,onClick:()=>i(e,P,R),onMouseEnter:()=>{!o&&P.length>0&&x("confirm")},onMouseLeave:()=>x(null),style:{..._d,alignItems:"center",display:"flex",fontSize:12,background:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:g==="confirm"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",justifyContent:"space-between",padding:"8px 12px",opacity:o||P.length===0?.45:1,cursor:o||P.length===0?"not-allowed":"pointer",transition:"background-color 120ms ease, border-color 120ms ease"},children:[f("span",{children:"Confirm"}),f($o,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]}),e.status==="pending"&&!d&&A("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[f("button",{type:"button",disabled:o,onClick:a,style:Fd,children:"Dismiss"}),f("button",{type:"button",disabled:o||!e.underlyingProposalId,onClick:l,style:{..._d,opacity:e.underlyingProposalId?1:.45},children:"Review decision"})]})]}),A("div",{style:{alignItems:"center",display:"flex",gap:4,marginTop:s?0:16,...s?{left:0,position:"absolute",right:0,top:"calc(100% + 7px)",zIndex:1}:{}},children:[A("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[f(Hc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),f("span",{children:Oc(e.model,e.provider)})]}),f("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Na(t)})]})]})}var _d={border:"1px solid var(--popmelt-thread-action)",borderRadius:24,background:"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",cursor:"pointer",fontFamily:sn,fontSize:12,fontWeight:700,padding:"6px 8px"},Fd={border:"1px solid var(--popmelt-thread-border)",borderRadius:16,background:"transparent",color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:sn,fontSize:12,fontWeight:700,padding:"6px 8px"};function uS({onAttentionChange:e,threadId:t,bridgeUrl:n,accentColor:r,initialMessages:o=[],completedJobId:i,refreshKey:a,isStreaming:l,isQueued:s,queuePosition:d,activeJobId:u,streamingEvents:p,onClose:c,onReply:h,onContribute:m,onApproveSuggestion:g,onCancel:x,canManage:S=!0,readOnlyReason:P,lastError:R,onMouseEnter:I,temporarilyHidden:z=!1,instantVisibilityHandoff:G=!1,backdropCursor:E,toolbarRef:K,surfaceRef:N,currentModel:Y,currentProvider:J,availableProviders:le=[],models:w=[],modelIndex:Q=0,agentSettings:D,onProviderChange:F,onModelChange:M,onAgentSettingsChange:j,onModelMenuOpen:L,annotationNumber:T,annotationText:Z,onPreviousThread:re,onNextThread:ee,preferredSide:oe="right",modal:U=!0}){let[fe,,me]=Hs(),X=Os[fe],Te={"--popmelt-thread-surface":X.surface,"--popmelt-thread-raised":X.raisedSurface,"--popmelt-thread-soft":X.softSurface,"--popmelt-thread-control":X.control,"--popmelt-thread-primary":X.threadPrimary,"--popmelt-thread-secondary":X.secondary,"--popmelt-thread-muted":X.muted,"--popmelt-thread-muted-strong":X.mutedStrong,"--popmelt-thread-border":X.border,"--popmelt-thread-hairline":X.hairline,"--popmelt-thread-soft-hairline":X.softHairline,"--popmelt-thread-action":X.actionSurface,"--popmelt-thread-on-action":X.actionForeground,"--popmelt-thread-action-hover":X.actionHover},[Ae,Ee]=$(()=>o),[_e,O]=$(),ze=jr(rl),Oe=(_e&&ze?.peerColors?.[_e.authorId])??r,Ve=ze?.onThreadViewed;_(()=>{_e!==void 0&&!z&&Ve?.(t)},[Ve,_e,z,t]);let[nt,ve]=$(!1),[Ne,ge]=$(""),Je=_e?.state==="pending",st=_e===void 0?void 0:Je?m:_e&&_e.state!=="sent"?void 0:h,[Ge,$e]=$([]);_(()=>(e?.(!z&&Ge.length?{threadId:t,targets:Ge}:null),()=>e?.(null)),[e,z,t,Ge]);let Be=Se(()=>fw(Z,Ae),[Z,Ae]),[Pt,ht]=$([]),[pt,Qe]=$(!1),[ft,zt]=$(!1),Kt=Kx({bridgeUrl:n,threadId:t,visible:!z,active:!!l,onPendingChange:zt}),[En,Xt]=$(o.length===0),_t=B(null);_t.current||(_t.current=uw(t));let[Me,Zt]=$(()=>_t.current.text),[y,ie]=$([]),[be,Ue]=$(!1),[It,xt]=$(!1),Ce=B(null),Xe=B(null),Dt=B(null),ye=B(null),Fe=B(!1),Ke=B(!1),mt=B(!1),at=B(!1),Ze=B({selectionStart:_t.current.selectionStart,selectionEnd:_t.current.selectionEnd,selectionDirection:_t.current.selectionDirection}),[Wt,Ye]=$(!0),[bn,Tn]=$(null),xn=q(H=>Tn(H),[]),rn=B(null),pr=B(!0),gt=B(null),On=B(0),on=B(null),Xn=q((H,ce)=>{let Ie=H&&ce.trim();rn.current&&(rn.current.style.opacity=Ie?"0.65":"1")},[]),Bt=B(null),Hr=B(null),Vt=q(H=>{Hr.current=H,N?.(H)},[N]),Vn=B(null),co=B(l),fn=B(u),Nn=B(null);_(()=>{Dd(t,Me,void 0,Ze.current)},[Me,t]),Et(()=>{let H=Bt.current,ce=_t.current;!H||!ce||ce.text.length===0||H.setSelectionRange(ce.selectionStart,ce.selectionEnd,ce.selectionDirection)},[]);let dn=q(()=>{Ce.current&&(clearTimeout(Ce.current),Ce.current=null)},[]),Tt=q(()=>{Xe.current&&(clearTimeout(Xe.current),Xe.current=null)},[]),Rt=q(()=>{Dt.current&&(clearTimeout(Dt.current),Dt.current=null),ye.current!==null&&(cancelAnimationFrame(ye.current),ye.current=null)},[]),Wo=q(()=>{L?.(),Rt(),xt(!0),ye.current=requestAnimationFrame(()=>{ye.current=null,Ue(!0)})},[Rt,L]),Or=q(()=>{Rt(),Ue(!1),Dt.current=setTimeout(()=>{Dt.current=null,xt(!1)},Sw)},[Rt]),cn=q(()=>{dn(),Tt(),Fe.current=!1,Ke.current=!1,mt.current=!1,Or()},[Tt,dn,Or]),en=q(()=>{Tt(),dn(),Ce.current=setTimeout(()=>{Ce.current=null,Fe.current&&Wo()},xw)},[Tt,dn,Wo]),fr=q(()=>{dn(),Tt(),!mt.current&&(Xe.current=setTimeout(()=>{Xe.current=null,!Fe.current&&!Ke.current&&!mt.current&&Or()},ww))},[Tt,dn,Or]),uo=q(H=>{mt.current=H,H?Tt():!Fe.current&&!Ke.current&&fr()},[Tt,fr]);_(()=>()=>{dn(),Tt(),Rt()},[Tt,Rt,dn]);let vt=B(Od(oe)),wn=B({x:0,y:0}),hr=B(!1),mr=B({x:0,y:0,offsetX:0,offsetY:0}),Cn=B(oe==="right"),[,hn]=$(0),An=`${Cw}:${oe}`;_(()=>{try{let H=localStorage.getItem(An);if(H){let ce=JSON.parse(H);if(typeof ce.top=="number"&&typeof ce.left=="number"){let{width:Ie,height:xe}=_o(),ne=di(Ie),De=Ha(Ie),qe={top:Math.max(ne,Math.min(ce.top,xe-ne-200)),left:Math.max(ne,Math.min(ce.left,De))};Cn.current=qe.left>=De-2,vt.current=qe,hn(et=>et+1)}}}catch{}},[An]),_(()=>{let H=()=>{if(Cn.current)vt.current=Od(oe);else{let ce=vt.current,{width:Ie,height:xe}=_o(),ne=di(Ie),De=Ha(Ie);vt.current={top:Math.max(ne,Math.min(ce.top,xe-ne-200)),left:Math.max(ne,Math.min(ce.left,De))}}hn(ce=>ce+1)};return window.addEventListener("resize",H,{passive:!0}),window.visualViewport?.addEventListener("resize",H,{passive:!0}),()=>{window.removeEventListener("resize",H),window.visualViewport?.removeEventListener("resize",H)}},[oe]),_(()=>{let H=Vn.current;if(!H)return;let ce=De=>{Ic(_o().width)||De.button!==0||De.target.closest("button")||(De.preventDefault(),De.stopPropagation(),hr.current=!0,mr.current={x:De.clientX,y:De.clientY,offsetX:wn.current.x,offsetY:wn.current.y})},Ie=De=>{if(!hr.current)return;let qe=mr.current,et=qe.offsetX+(De.clientX-qe.x),Pe=qe.offsetY+(De.clientY-qe.y),{width:Jt}=_o(),Wn=di(Jt),In=Math.max(Wn,Math.min(Ha(Jt),vt.current.left+et)),er=Math.max(Wn,vt.current.top+Pe);wn.current={x:In-vt.current.left,y:er-vt.current.top};let br=Hr.current;br&&(br.style.top=`${er}px`,br.style.left=`${In}px`,br.style.height=`${gf(er,In,K?.current)}px`)},xe=()=>{if(!hr.current)return;let De=vt.current.top+wn.current.y,qe=vt.current.left+wn.current.x;vt.current={top:De,left:qe},wn.current={x:0,y:0};let et=Ha();Cn.current=qe>=et-2;try{localStorage.setItem(An,JSON.stringify({top:De,left:qe}))}catch{}hr.current=!1},ne=()=>{vt.current=Od(oe),wn.current={x:0,y:0},Cn.current=oe==="right";try{localStorage.removeItem(An)}catch{}hn(De=>De+1)};return H.addEventListener("mousedown",ce),window.addEventListener("mousemove",Ie),window.addEventListener("mouseup",xe),H.addEventListener("dblclick",ne),()=>{H.removeEventListener("mousedown",ce),window.removeEventListener("mousemove",Ie),window.removeEventListener("mouseup",xe),H.removeEventListener("dblclick",ne)}},[An,oe,K]);let Ct=q(async H=>{try{let ce=await Yt(`${n}/thread/${t}`);if(!ce.ok)throw new Error(`Thread fetch failed: ${ce.status}`);let Ie=await ce.json(),xe=Ie.messages??[];O(Ie.suggestion??null);let ne=Fh(Ie,location.pathname);$e(Pe=>JSON.stringify(Pe)===JSON.stringify(ne)?Pe:ne);let De=H?.settleJobId,qe=Wh(xe,De);(qe||H?.applyUnsettled)&&Ee(Pe=>xe.length===0&&Pe.length>0?Pe:xe);let et=Array.isArray(Ie.modelProposals)?Ie.modelProposals:Ie.modelProposal?[Ie.modelProposal]:[];return(qe||H?.applyUnsettled)&&ht(et),Xt(!1),{messages:xe,settled:qe}}catch{return Xt(!1),null}},[n,t]),Bo=q(async(H,ce)=>{if(!pt){Qe(!0);try{let Ie=await Yt(`${n}/projection/proposals/${encodeURIComponent(H.id)}/${ce}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:J,model:Y,...D})});if(Ie.ok){let xe=await Ie.json();xe.proposal&&ht(ne=>ne.map(De=>De.id===xe.proposal.id?xe.proposal:De)),await Ct()}}finally{Qe(!1)}}},[D,n,Y,J,Ct,pt]);_(()=>{a&&Ct({applyUnsettled:!0})},[a,Ct]);let gi=q(async(H,ce,Ie)=>{if(!pt){Qe(!0);try{(await Yt(`${n}/memory/conversation-action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,proposalId:H.proposalId,action:ce,claim:Ie,provider:J,model:Y,...D})})).ok&&await Ct()}finally{Qe(!1)}}},[D,n,Y,J,Ct,pt,t]),Ht=q(async(H,ce)=>{if(!pt){Qe(!0);try{(await Yt(`${n}/imprint/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,transactionId:H.transactionId,action:ce})})).ok&&await Ct()}finally{Qe(!1)}}},[n,Ct,pt,t]),gr=q(async(H,ce,Ie)=>{if(!(pt||ce.length===0)){Qe(!0);try{let xe=await Yt(`${n}/projection/proposals/${encodeURIComponent(H.id)}/apply-selected`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changes:ce,changeSummaries:Ie.map(ne=>({group:ne.group,label:ne.label,detail:ne.detail,path:ne.path,value:ne.value,currentValue:ne.currentValue})),provider:J,model:Y,...D})});if(xe.ok){let ne=await xe.json();ne.proposal&&ht(De=>De.map(qe=>qe.id===ne.proposal.id?ne.proposal:qe)),await Ct()}}finally{Qe(!1)}}},[D,n,Y,J,Ct,pt]);_(()=>{let H=!1;On.current=0,Xt(o.length===0),gt.current&&(clearTimeout(gt.current),gt.current=null);let ce=async()=>{let Ie=await Ct({applyUnsettled:!0});H||Ie===null||Ie.messages.length!==0||On.current>=5||(On.current+=1,gt.current=setTimeout(ce,200*On.current))};return ce(),()=>{H=!0,gt.current&&(clearTimeout(gt.current),gt.current=null)}},[Ct,o.length]);let Nr=q(H=>{if(!H||Nn.current===H)return;Nn.current=H,on.current&&clearTimeout(on.current);let ce=0,Ie=async()=>{(await Ct({settleJobId:H,applyUnsettled:ce>=5}))?.settled||ce>=5||(ce+=1,on.current=setTimeout(Ie,80*ce))};Ie()},[Ct]);_(()=>{Nr(i)},[i,Nr]),_(()=>{co.current&&!l&&Nr(fn.current),co.current=l,u&&(fn.current=u)},[u,l,Nr]),_(()=>()=>{on.current&&clearTimeout(on.current)},[]);let qt=Se(()=>p?Yw(p):[],[p]),He=Se(()=>pf(qt),[qt]),Mn=Se(()=>wf(qt.filter(H=>H.kind==="tool_group")),[qt]),_n=Se(()=>Sf(Mn),[Mn]),tn=Se(()=>bw(p??[]),[p]),Gn=Se(()=>p?Gw(p):void 0,[p]),$t=Se(()=>Ae.filter(H=>H.role==="human"&&H.replyToQuestion&&H.queued&&H.jobId!==u),[u,Ae]),Rn=mw(Ae,_e?.submissionId,t,rn),Gt=!Rn.replacementReady||!!(Ne&&_e?.state==="pending"),kt=Se(()=>Rn.messages.filter(H=>!(H.role==="human"&&H.replyToQuestion&&H.queued&&H.jobId!==u)),[u,Rn.messages]),Fn=Se(()=>{let H=new Set,ce=new Map,Ie=new Map,xe=new Map,ne=[];if(kt.forEach((De,qe)=>{let et=Pt.some(Pe=>Pe.status==="applied"&&Rf(De,Pe));if(iS(De,et)){ne.push(qe);return}De.role!=="assistant"||ne.length===0||(ce.set(qe,ne.map(Pe=>kt[Pe])),ne.forEach(Pe=>H.add(Pe)),ne=[])}),ne.length>0){let De=ne[0]-1;if(kt[De]?.role==="assistant"&&!H.has(De)){let qe=ce.get(De)??[];ce.set(De,[...qe,...ne.map(Pe=>kt[Pe])]),ne.forEach(Pe=>H.add(Pe));let et=ne[ne.length-1];Ie.set(De,Mf(kt[et],kt[et-1])),xe.set(De,kt[et].timestamp)}else if(ne.length>1){let qe=ne[ne.length-1],et=ne.slice(0,-1);ce.set(qe,et.map(Pe=>kt[Pe])),et.forEach(Pe=>H.add(Pe))}}return{hiddenIndices:H,messagesByTargetIndex:ce,timestampByTargetIndex:xe,workedForByTargetIndex:Ie}},[Pt,kt]),yi=Se(()=>{let H=new Map;for(let ce of Ae)ce.memoryReviewCard&&H.set(ce.memoryReviewCard.proposalId,`${ce.jobId}:${ce.timestamp}`);return H},[Ae]),Qt=Se(()=>{let H=[];return kt.forEach((ce,Ie)=>{if(Fn.hiddenIndices.has(Ie))return;let xe=Af(ce,kt[Ie-1]);ce.role==="assistant"&&!xe&&H.push(`message:${ce.jobId}:${Ie}`)}),l?"streaming":H[H.length-1]??null},[Fn,l,kt]);_(()=>{let H=rn.current;if(!H)return;let ce=()=>{let Ie=H.scrollHeight-H.scrollTop-H.clientHeight;Ye(Ie<40),pr.current=Ie<2};return H.addEventListener("scroll",ce,{passive:!0}),()=>{H.removeEventListener("scroll",ce)}},[]),_(()=>{pr.current&&rn.current&&(rn.current.scrollTop=rn.current.scrollHeight)},[Ae,qt.length,l,ft,Rn.phase]),_(()=>{if(!It)return;let H=ce=>{ce.composedPath().some(Ie=>Ie instanceof HTMLElement&&Ie.dataset.modelPicker!==void 0)||cn()};return document.addEventListener("pointerdown",H,!0),()=>document.removeEventListener("pointerdown",H,!0)},[cn,It]),_(()=>{let H=ce=>{if(ce.key==="Escape"){if(ce.stopPropagation(),It){cn();return}c()}};return document.addEventListener("keydown",H),()=>document.removeEventListener("keydown",H)},[cn,It,c]);let $n=q((H,ce,Ie)=>{let xe=H.trim();if(!xe||!st)return!1;let ne=`_pending_reply_${Date.now()}`,De=!!l,qe=ce?ce.map(et=>URL.createObjectURL(et)):void 0;return Ee(et=>[...et,{role:"human",timestamp:Date.now(),jobId:ne,replyToQuestion:xe,...Je?{execution:"none"}:{},...De?{queued:!0}:{},...qe?{replyImageUrls:qe}:{}}]),Promise.resolve().then(()=>st(t,xe,ce,Ie)).then(async et=>{et?.jobId&&(Ee(Pe=>Pe.map(Jt=>Jt.jobId===ne?{...Jt,jobId:et.jobId}:Jt)),await Ct({applyUnsettled:!0}))}).catch(et=>{Ee(Pe=>Pe.map(Jt=>Jt.jobId===ne?{...Jt,queued:!1,errorKind:"send_rejected",error:et instanceof Error?et.message:"Reply was not sent. Check your connection and permissions before retrying."}:Jt)),Zt(Pe=>Pe||xe),ce&&ie(Pe=>Pe.length?Pe:ce)}),!0},[l,t,st,Ct,Je]),Sn=q(()=>{let H=y.length>0?y:void 0;$n(Me,H)&&(Zt(""),ie([]))},[Me,y,$n]),yr=q(H=>{let ce=H.clipboardData.items,Ie=[];for(let xe=0;xe<ce.length;xe++){let ne=ce[xe];if(ne.type.startsWith("image/")){let De=ne.getAsFile();De&&Ie.push(De)}}if(Ie.length>0){if(H.preventDefault(),Je){ge("Suggestion discussion supports text for now; images were not attached.");return}ie(xe=>[...xe,...Ie])}},[Je]),_r=q(H=>{H.key==="Enter"&&(H.metaKey||H.ctrlKey)&&(H.preventDefault(),Sn())},[Sn]);Et(()=>{let H=Bt.current;H&&(H.style.height="auto",H.style.height=`${Math.max(34,Math.min(H.scrollHeight,120))}px`)},[Me]);let Fr=vt.current.top+wn.current.y,Qn=vt.current.left+wn.current.x,vr=_o(),un=Ic(vr.width),Zn=di(vr.width),po=kc(vr.width),qo=gf(Fr,Qn,K?.current),Wr=Ae.some(H=>H.memoryReviewCard&&!Ae.some(ce=>ce.memoryReceipt?.proposalId===H.memoryReviewCard.proposalId)),fo=Je?"Add to suggestion (text only)":l?"Add steering context":Wr?"Ask for rule changes":"Ask for changes";return A(it,{children:[U&&f("div",{"data-devtools":"thread-panel-backdrop",onPointerDown:H=>{H.target===H.currentTarget&&c()},style:{position:"fixed",inset:0,zIndex:9998,opacity:z?0:1,pointerEvents:z?"none":"auto",cursor:E,transition:z&&!G?`opacity ${vs}ms ease`:"none"}}),A("div",{ref:Vt,style:{...Mw,...Te,width:po,height:un?"auto":qo,position:"fixed",top:un?`max(${Zn}px, env(safe-area-inset-top))`:Fr,bottom:un?`max(${Zn}px, env(safe-area-inset-bottom))`:void 0,left:un?`max(${Zn}px, env(safe-area-inset-left))`:Qn,right:un?`max(${Zn}px, env(safe-area-inset-right))`:void 0,zIndex:10004,opacity:z?0:1,pointerEvents:z?"none":"auto",transition:z&&!G?`opacity ${vs}ms ease`:"none"},"data-devtools":"thread-panel","data-popmelt-thread-id":t,"data-popmelt-font":"sans","data-popmelt-theme":fe,"data-popmelt-theme-preference":me,"aria-hidden":z||void 0,onMouseEnter:I,children:[Ew,A("div",{style:{background:"var(--popmelt-thread-surface)",borderRadius:"12px 12px 16px 16px",display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[A("div",{ref:Vn,"data-popmelt-thread-header":!0,style:{...Rw,backgroundColor:Oe,color:"#ffffff",cursor:"grab",overflow:un?"visible":"hidden",paddingRight:un?32:6,userSelect:"none",WebkitUserSelect:"none"},children:[A("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0,flex:1},children:[(T||!_e)&&f("span",{style:{flexShrink:0},children:T?`${T}.`:"Conversation"}),Be&&f("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Be})]}),re&&ee&&A("span",{style:{display:"flex",flexShrink:0,gap:0,marginLeft:8},children:[f("button",{type:"button","aria-label":"Previous thread","data-popmelt-thread-nav":!0,onClick:re,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:No,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:No},children:f(Mg,{"aria-hidden":"true",height:No,strokeWidth:2,width:No})}),f("button",{type:"button","aria-label":"Next thread","data-popmelt-thread-nav":!0,onClick:ee,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:No,minHeight:0,minWidth:0,boxSizing:"border-box",justifyContent:"center",margin:0,padding:0,position:"relative",width:No},children:f(Bs,{"aria-hidden":"true",height:No,strokeWidth:2,width:No})})]}),un&&f("button",{type:"button","aria-label":"Close thread",onClick:c,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",flexShrink:0,height:40,justifyContent:"center",margin:0,padding:0,position:"absolute",right:-4,top:"50%",transform:"translateY(-50%)",width:40},children:f(hl,{"aria-hidden":"true",size:14,strokeWidth:2})})]}),f("style",{dangerouslySetInnerHTML:{__html:`
|
|
219
|
-
[data-devtools="thread-panel"] ::selection {
|
|
220
|
-
background: color-mix(in srgb, ${Oe} 15%, transparent);
|
|
221
|
-
color: inherit;
|
|
222
|
-
}
|
|
223
|
-
[data-popmelt-thread-nav] { opacity: 0.5; transition: opacity 120ms ease; }
|
|
224
|
-
[data-popmelt-thread-nav]:hover, [data-popmelt-thread-nav]:focus-visible { opacity: 1; }
|
|
225
|
-
[data-popmelt-approve-suggestion]:not(:disabled):hover {
|
|
226
|
-
--popmelt-approval-background: var(--popmelt-thread-action-hover);
|
|
227
|
-
}
|
|
228
|
-
[data-popmelt-approve-suggestion]:focus-visible {
|
|
229
|
-
outline: 2px solid var(--popmelt-thread-primary);
|
|
230
|
-
outline-offset: 3px;
|
|
231
|
-
}
|
|
232
|
-
[data-popmelt-thread-nav]::before { content: ''; position: absolute; inset: -4px; }
|
|
233
|
-
[data-popmelt-thread-content] { isolation: isolate; }
|
|
234
|
-
[data-popmelt-thread-content]::after {
|
|
235
|
-
background: color-mix(in srgb, var(--popmelt-thread-surface) 50%, transparent);
|
|
236
|
-
content: '';
|
|
237
|
-
inset: 0;
|
|
238
|
-
opacity: 0;
|
|
239
|
-
pointer-events: none;
|
|
240
|
-
position: absolute;
|
|
241
|
-
transition: opacity 100ms ease;
|
|
242
|
-
transition-delay: 0ms;
|
|
243
|
-
z-index: 10;
|
|
244
|
-
}
|
|
245
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:hover)::after,
|
|
246
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:focus-within)::after {
|
|
247
|
-
opacity: 1;
|
|
248
|
-
transition-delay: 180ms;
|
|
249
|
-
}
|
|
250
|
-
[data-popmelt-thread-content] [data-popmelt-tool-receipt-tooltip] { z-index: 20; }
|
|
251
|
-
[data-popmelt-reply]::placeholder { color: var(--popmelt-thread-muted); opacity: 1; }
|
|
252
|
-
[data-message-timestamp] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
253
|
-
[data-message-activity] { opacity: 1; transition: opacity 120ms ease; }
|
|
254
|
-
[data-worked-for-label], [data-worked-for-time] { transition: opacity 120ms ease; }
|
|
255
|
-
[data-worked-for-time] { pointer-events: none; }
|
|
256
|
-
[data-under-message-rail="hover"] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
257
|
-
[data-model-sender] { display: none !important; }
|
|
258
|
-
[data-msg]:hover [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
259
|
-
[data-msg]:hover [data-message-timestamp] { opacity: 1; }
|
|
260
|
-
@media (hover: hover) {
|
|
261
|
-
[data-msg]:hover + [data-popmelt-suggestion-actions] [data-popmelt-approve-suggestion]:not(:focus-visible) {
|
|
262
|
-
opacity: 0 !important;
|
|
263
|
-
pointer-events: none;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
[data-worked-for-trigger]:hover [data-worked-for-label] { opacity: 0; }
|
|
267
|
-
[data-worked-for-trigger]:hover [data-worked-for-time] { opacity: 1 !important; }
|
|
268
|
-
[data-popmelt-tool-receipt-tooltip] {
|
|
269
|
-
opacity: 0;
|
|
270
|
-
transform: translateY(3px) scale(0.98);
|
|
271
|
-
transform-origin: bottom center;
|
|
272
|
-
transition: opacity 100ms ease, transform 100ms ease, visibility 0s linear 100ms;
|
|
273
|
-
visibility: hidden;
|
|
274
|
-
}
|
|
275
|
-
[data-popmelt-tool-receipt-scroll] {
|
|
276
|
-
overflow-x: hidden !important;
|
|
277
|
-
}
|
|
278
|
-
[data-popmelt-tool-receipt-scroll],
|
|
279
|
-
[data-popmelt-tool-receipt-scroll] * {
|
|
280
|
-
box-sizing: border-box;
|
|
281
|
-
max-width: 100%;
|
|
282
|
-
min-width: 0;
|
|
283
|
-
overflow-wrap: anywhere;
|
|
284
|
-
white-space: normal;
|
|
285
|
-
word-break: break-word;
|
|
286
|
-
}
|
|
287
|
-
[data-popmelt-tool-receipt-trigger]:hover > button {
|
|
288
|
-
color: var(--popmelt-thread-primary) !important;
|
|
289
|
-
}
|
|
290
|
-
[data-popmelt-tool-receipt-scrim] {
|
|
291
|
-
left: 0;
|
|
292
|
-
opacity: 0;
|
|
293
|
-
pointer-events: none;
|
|
294
|
-
position: absolute;
|
|
295
|
-
right: 0;
|
|
296
|
-
transition: opacity 100ms ease;
|
|
297
|
-
z-index: 1;
|
|
298
|
-
}
|
|
299
|
-
[data-popmelt-tool-receipt-scrim="top"] {
|
|
300
|
-
background: linear-gradient(to bottom, var(--popmelt-thread-raised) 10%, transparent);
|
|
301
|
-
height: 24px;
|
|
302
|
-
top: 0;
|
|
303
|
-
}
|
|
304
|
-
[data-popmelt-tool-receipt-scrim="bottom"] {
|
|
305
|
-
background: linear-gradient(to top, var(--popmelt-thread-raised) 10%, transparent);
|
|
306
|
-
bottom: 0;
|
|
307
|
-
height: 24px;
|
|
308
|
-
}
|
|
309
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-top] [data-popmelt-tool-receipt-scrim="top"],
|
|
310
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-bottom] [data-popmelt-tool-receipt-scrim="bottom"] {
|
|
311
|
-
opacity: 1;
|
|
312
|
-
}
|
|
313
|
-
[data-popmelt-tool-receipt-trigger]:hover [data-popmelt-tool-receipt-tooltip][data-ready="true"],
|
|
314
|
-
[data-popmelt-tool-receipt-trigger]:focus-within [data-popmelt-tool-receipt-tooltip][data-ready="true"] {
|
|
315
|
-
opacity: 1;
|
|
316
|
-
transform: translateY(0) scale(1);
|
|
317
|
-
transition-delay: 180ms;
|
|
318
|
-
visibility: visible;
|
|
319
|
-
}
|
|
320
|
-
@media (prefers-reduced-motion: reduce) {
|
|
321
|
-
[data-popmelt-tool-receipt-tooltip] { transition: none; }
|
|
322
|
-
[data-popmelt-thread-content]::after { transition: none; }
|
|
323
|
-
}
|
|
324
|
-
[data-suggestion-message] { display: contents; }
|
|
325
|
-
[data-suggestion-handoff] > div {
|
|
326
|
-
display: flex;
|
|
327
|
-
flex-direction: column;
|
|
328
|
-
gap: 32px;
|
|
329
|
-
}
|
|
330
|
-
[data-suggestion-phase="preparing"] [data-suggestion-handoff="incoming"] {
|
|
331
|
-
display: block;
|
|
332
|
-
position: absolute;
|
|
333
|
-
visibility: hidden;
|
|
334
|
-
pointer-events: none;
|
|
335
|
-
}
|
|
336
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] {
|
|
337
|
-
display: block;
|
|
338
|
-
position: relative;
|
|
339
|
-
height: 0;
|
|
340
|
-
flex-shrink: 0;
|
|
341
|
-
margin-bottom: -32px;
|
|
342
|
-
pointer-events: none;
|
|
343
|
-
}
|
|
344
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] > div {
|
|
345
|
-
position: absolute;
|
|
346
|
-
width: 100%;
|
|
347
|
-
animation: popmelt-suggestion-out ${Hd}ms ease-out both;
|
|
348
|
-
}
|
|
349
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="incoming"] > div {
|
|
350
|
-
animation: popmelt-suggestion-in ${Hd}ms cubic-bezier(.2,.7,.2,1) both;
|
|
351
|
-
}
|
|
352
|
-
@keyframes popmelt-suggestion-out {
|
|
353
|
-
to { opacity: 0; transform: translateY(-16px); }
|
|
354
|
-
}
|
|
355
|
-
@keyframes popmelt-suggestion-in {
|
|
356
|
-
from { opacity: 0; transform: translateY(16px); }
|
|
357
|
-
to { opacity: 1; transform: translateY(0); }
|
|
358
|
-
}
|
|
359
|
-
@media (prefers-reduced-motion: reduce) {
|
|
360
|
-
[data-suggestion-handoff] > div { animation: none !important; }
|
|
361
|
-
}
|
|
362
|
-
@media (hover: none), (pointer: coarse) {
|
|
363
|
-
[data-message-timestamp], [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
364
|
-
[data-popmelt-thread-header] { cursor: default !important; }
|
|
365
|
-
[data-popmelt-reply-action] { width: 40px !important; height: 40px !important; margin: -10px; }
|
|
366
|
-
}
|
|
367
|
-
`}}),A("div",{"data-popmelt-thread-content":!0,style:{display:"flex",flex:1,flexDirection:"column",minHeight:0,position:"relative"},children:[A("div",{ref:rn,style:{...$w,...st?{paddingBottom:12}:{},transition:"opacity 150ms ease"},"data-devtools":"thread-panel-messages","data-suggestion-phase":Rn.phase,children:[En&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"Loading..."}),!En&&kt.length===0&&$t.length===0&&!l&&f("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"No messages yet."}),kt.map((H,ce)=>{if(Fn.hiddenIndices.has(ce))return null;let Ie=Fn.messagesByTargetIndex.get(ce)??[],xe=[...Ie,H],ne=Af(H,kt[ce-1]),De=En?[]:Pt.filter(Pe=>xe.some(Jt=>Rf(Jt,Pe))),qe=De.filter(Pe=>Pe.status==="applied"),et={decisionRecorded:qe.some(Pe=>Pe.decisionIds.length>0),modelUpdated:qe.length>0,imprintReceipt:Qw(xe,kt)};return f("div",{"data-suggestion-message":!0,"data-suggestion-handoff":Rn.motion(H),"aria-hidden":Rn.motion(H)==="outgoing"&&Rn.phase==="animating"?!0:void 0,children:A("div",{style:Rn.motion(H)?void 0:{display:"contents"},children:[f(Cf,{msg:H,index:ce,bridgeUrl:n,accentColor:Oe,onLightbox:xn,hideSender:ne,hideTimestamp:ne,hideModelSenderUntilHover:Qt!==`message:${H.jobId}:${ce}`,compactSpacing:ne,workedFor:Fn.workedForByTargetIndex.get(ce)??Mf(H,kt[ce-1]),activityTimestamp:Fn.timestampByTargetIndex.get(ce),memoryReviewBusy:pt,memoryReviewResolved:!!(H.memoryReviewCard&&Ae.some(Pe=>Pe.memoryReceipt?.proposalId===H.memoryReviewCard.proposalId&&Pe.memoryReceipt.status==="committed")),memoryReviewSuperseded:!!(H.memoryReviewCard&&yi.get(H.memoryReviewCard.proposalId)!==`${H.jobId}:${H.timestamp}`),foldedActivityMessages:Ie,underMessageActivity:et,onMemoryReviewAction:S?gi:void 0,onImprintAction:S?Ht:void 0}),ce===0&&_e&&_e.state!=="sent"&&(Ne||Gt&&g&&(Je||_e.state==="approving"))&&A("div",{"data-popmelt-suggestion-actions":!0,style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:8,marginTop:-24,fontSize:13,color:"var(--popmelt-thread-secondary)"},children:[(Je||_e.state==="approving")&&Gt&&g&&A("button",{"data-popmelt-approve-suggestion":!0,type:"button",disabled:nt||!Je,style:{...Vm(fe),padding:Ps.padding,gap:Ps.gap,background:"var(--popmelt-approval-background, var(--popmelt-thread-action))",color:"var(--popmelt-thread-on-action)",opacity:nt||!Je?.5:1,transition:"background-color 120ms ease, opacity 120ms ease",cursor:nt||!Je?"default":"pointer"},onClick:async()=>{if(!(nt||!Je)){ve(!0),ge("");try{await g(_e.submissionId,_e.revision)}catch(Pe){ge(Pe instanceof Error?Pe.message:"Approval failed. Review the updated suggestion and try again.")}finally{await Ct({applyUnsettled:!0}),ve(!1)}}},children:[f(wu,{size:Ps.iconSize,strokeWidth:1.5,"aria-hidden":"true"}),nt||!Je?"Sending\u2026":"Approve and send"]}),Ne&&f("div",{role:"alert",children:Ne})]}),De.filter(Pe=>Pe.status!=="applied").map(Pe=>f("fieldset",{disabled:!S,style:{border:0,padding:0,margin:0,minWidth:0},children:f(cS,{proposal:Pe,timestamp:H.timestamp,bridgeUrl:n,accentColor:Oe,busy:pt,onApplySelected:gr,onDismiss:()=>Bo(Pe,"dismiss"),onReviewUnderlying:()=>{Pe.underlyingProposalId&&$n("> Kicked off decision review",void 0,{memoryReviewProposalId:Pe.underlyingProposalId})},hideModelSenderUntilHover:Qt!==`proposal:${Pe.id}`})},Pe.id))]})},Wl(H))}),l&&A("div",{style:{padding:0,display:"flex",flexDirection:"column",gap:8},children:[(!s||Kt.approvals.some(H=>H.jobId===u&&H.phase))&&f(it,{children:He.map((H,ce)=>{if(H.kind==="approval"){let xe=Kt.approvals.find(De=>De.id===H.approval.id),ne=H.approval.status==="pending"&&xe?.status!=="pending"?xe??H.approval:H.approval;return f(Yx,{approval:ne,accentColor:Oe,connected:S&&Kt.connected,decide:De=>Kt.decide(ne,De)},ne.id)}if(H.kind==="tool_group")return null;if(H.kind==="generated_image")return f(bf,{src:so(n,H.url),onLightbox:xn},ce);if(H.kind==="file_content")return f(Kw,{file:H.file,content:H.content,ext:H.ext,isPlan:H.isPlan,onAccept:H.isPlan&&st?()=>st(t,"Looks good, please proceed with implementation."):void 0},ce);if(H.kind==="thinking")return f("div",{style:{fontSize:12,color:"var(--popmelt-thread-muted)",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:H.text},ce);if(H.kind==="status")return f("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic",lineHeight:1.4,wordBreak:"break-word"},children:H.text},ce);if(H.kind==="orientation")return f(xf,{orientation:H.orientation},ce);let Ie=Oa(H.text);return Ie?f("div",{style:{fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},children:zr(Ie)},ce):null})}),A("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:24},children:[f("div",{style:{alignItems:"center",display:"flex",gap:6},children:s?A(it,{children:[f(qs,{size:12,strokeWidth:2.25,color:Oe,style:{verticalAlign:"middle",flexShrink:0,opacity:.5}}),f("span",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic"},children:Kt.approvals.some(H=>H.jobId===u&&H.phase==="parked")?"Parked \xB7 waiting for permission":Kt.approvals.some(H=>H.jobId===u&&H.phase==="queued")?"Queued next":`Queued${d?` ${d}`:""}`})]}):A(it,{children:[ft?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Waiting for permission"}):tn?f("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Generating images\u2026"}):f(Hw,{color:"var(--popmelt-thread-muted-strong)"}),_n.map(H=>f(If,{receipt:H,animateCount:!0},H.kind)),Gn&&f(Tf,{receipt:Gn,accentColor:Oe})]})}),x&&f("button",{onClick:x,style:{background:"none",border:"1px solid var(--popmelt-thread-hairline)",borderRadius:16,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",fontFamily:"inherit",fontSize:12,padding:"4px 10px"},children:"Cancel"})]})]}),!l&&R&&A("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:12,color:"#dc2626",lineHeight:1.4},children:[f("span",{style:{fontWeight:600},children:"Error: "}),R]})]}),$t.length>0&&f("div",{"data-queued-replies-area":!0,style:{flexShrink:0,maxHeight:"40%",overflowY:"auto",padding:"0 12px 12px"},children:f(Jx,{messages:$t,renderMessage:H=>f(Cf,{msg:H,index:Ae.indexOf(H),bridgeUrl:n,accentColor:Oe,onLightbox:xn,hideSender:!0,hideTimestamp:!0,queuedPreview:!0}),onChange:S?async(H,ce)=>{let Ie=await Yt(`${n}/reply/queued`,{method:ce===null?"DELETE":"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,jobId:H.jobId,submissionId:H.lifecycle?.submissionIds[0],expectedReply:H.replyToQuestion,reply:ce})});if(!Ie.ok){let xe=await Ie.json().catch(()=>({}));throw new Error(xe.error??"Could not update queued message.")}await Ct({applyUnsettled:!0})}:void 0})}),!st&&P&&A("div",{role:"status",style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",fontSize:12,gap:4,justifyContent:"center",letterSpacing:"0.12px",lineHeight:1.35,padding:"16px 12px",whiteSpace:"nowrap"},children:[f(Rg,{"aria-hidden":"true",size:12,strokeWidth:1.5}),f("span",{children:P})]}),st&&A("div",{"data-popmelt-thread-composer":!0,style:{flexShrink:0,position:"relative",zIndex:1},children:[It&&f(Bh,{visible:be,provider:J,availableProviders:le,models:w,modelIndex:Q,agentSettings:D,onProviderChange:F,onModelChange:M,onAgentSettingsChange:j,onMouseEnter:()=>{Ke.current=!0,Tt()},onMouseLeave:()=>{Ke.current=!1,fr()},onScrubChange:uo}),!Wt&&Ae.length>0&&f("button",{type:"button","data-scroll-to-bottom":!0,"aria-label":"Scroll to latest message",title:"Scroll to latest message",onClick:()=>{rn.current&&rn.current.scrollTo({top:rn.current.scrollHeight,behavior:"smooth"})},style:{alignItems:"center",background:"var(--popmelt-thread-surface)",border:"1px solid var(--popmelt-thread-border)",borderRadius:999,bottom:"calc(100% + 8px)",color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"flex",height:30,justifyContent:"center",left:"50%",padding:0,position:"absolute",transform:"translateX(-50%)",width:30,zIndex:2},children:f($g,{"aria-hidden":"true",size:16,strokeWidth:1.75})}),y.length>0&&f("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:y.map((H,ce)=>A("span",{onClick:()=>ie(Ie=>Ie.filter((xe,ne)=>ne!==ce)),onMouseEnter:Ie=>{let xe=Ie.currentTarget.querySelector("[data-chip-x]");xe&&(xe.style.color="#fff")},onMouseLeave:Ie=>{let xe=Ie.currentTarget.querySelector("[data-chip-x]");xe&&(xe.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:Oe,backdropFilter:"blur(4px)",borderRadius:8,padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",ce+1,f("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},ce))}),A("div",{style:Lw,children:[f("textarea",{ref:Bt,"data-popmelt-reply":!0,autoFocus:!un,rows:1,value:Me,onChange:H=>{Ze.current={selectionStart:H.target.selectionStart,selectionEnd:H.target.selectionEnd,selectionDirection:H.target.selectionDirection},Dd(t,H.target.value,void 0,Ze.current),Zt(H.target.value),Xn(at.current,H.target.value)},onSelect:H=>{Ze.current={selectionStart:H.currentTarget.selectionStart,selectionEnd:H.currentTarget.selectionEnd,selectionDirection:H.currentTarget.selectionDirection},Dd(t,H.currentTarget.value,void 0,Ze.current)},onFocus:()=>{at.current=!0,Xn(!0,Me)},onBlur:()=>{at.current=!1,Xn(!1,Me)},onKeyDown:_r,onPaste:yr,placeholder:fo,style:{width:"100%",minWidth:0,height:34,minHeight:34,padding:"12px 12px 0",fontSize:14,fontFamily:sn,backgroundColor:"transparent",color:"var(--popmelt-thread-primary)",border:"none",outline:"none",lineHeight:1.3,boxSizing:"border-box",overflowX:"hidden",overflowY:"auto",resize:"none",whiteSpace:"pre-wrap",wordBreak:"break-word"}}),A("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",padding:"10px 12px"},children:[f(qh,{provider:J,open:be,onClick:()=>{dn(),Tt(),be?cn():Wo()},onMouseEnter:()=>{Fe.current=!0,be?Tt():en()},onMouseLeave:()=>{Fe.current=!1,fr()}}),f("button",{type:"button","data-popmelt-reply-action":!0,onClick:Sn,disabled:!Me.trim(),"aria-label":"Send reply",style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,background:"none",border:"none",cursor:Me.trim()?"pointer":"default",color:"var(--popmelt-thread-primary)",opacity:Me.trim()?1:.12,flexShrink:0},children:f("span",{style:{alignItems:"center",display:"flex",height:16,justifyContent:"center",width:16},children:f(wu,{"aria-hidden":"true",fill:"currentColor",size:Me.trim()?16:14,strokeWidth:1.5,style:{transform:"rotate(-45deg)",transition:"width 120ms ease, height 120ms ease"}})})})]})]})]})]})]})]}),bn&&f(Bw,{src:bn,onClose:()=>Tn(null)})]})}function Fo(e,t){let n=new Set(e.annotationIds);if(n.size===0&&e.threadId)for(let r of t)r.threadId===e.threadId&&n.add(r.id);return[...n]}function pS(e,t){switch(t.type){case"restore_thread":return e.openThreadId||e.imprintStashedThreadId||e.toolbarSuspendedThreadId?e:{openThreadId:t.toolbarExpanded&&!t.imprintActive?t.threadId:null,imprintStashedThreadId:t.imprintActive?t.threadId:null,toolbarSuspendedThreadId:!t.toolbarExpanded&&!t.imprintActive?t.threadId:null};case"enter_imprint":return t.preserveOpenThread||!e.openThreadId?e:{openThreadId:null,imprintStashedThreadId:e.openThreadId,toolbarSuspendedThreadId:null};case"leave_imprint":return e.openThreadId?e.imprintStashedThreadId?{...e,imprintStashedThreadId:null}:e:e.imprintStashedThreadId?{openThreadId:e.imprintStashedThreadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}:e;case"open_thread":return{openThreadId:t.threadId,imprintStashedThreadId:null,toolbarSuspendedThreadId:null};case"collapse_toolbar":return e.openThreadId?{...e,openThreadId:null,toolbarSuspendedThreadId:e.openThreadId}:e;case"expand_toolbar":return e.toolbarSuspendedThreadId?{...e,openThreadId:e.toolbarSuspendedThreadId,toolbarSuspendedThreadId:null}:e;case"close_thread":return{openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null}}}function fS(e,t,n){return e!==t&&t!==null&&n!==null}function hS(e){let t=e.toolbarSources.has("project-panel")&&e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",n=e.chromeHoverSurface!=="job-stack"&&(e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details")||e.toolbarSources.has("guidance-panel")||t),r=e.toolbarSources.has("tool-menu")||e.toolbarSources.has("popmelt-guide")||e.toolbarSources.has("peer-details"),o=e.chromeHoverSurface==="toolbar"&&e.chromeHoverPhase==="visible",i=e.activeTool==="model";return{threadTemporarilyHidden:!e.toolbarExpanded||n||!!e.peerPlanePeeking,toolbarPaneVisible:n,projectPanelTemporarilyHidden:!!e.peerPlanePeeking||r||e.chromeHoverSurface==="job-stack",statusInteractionSuppressed:!!e.peerPlanePeeking||r||o||i}}function mS(e,t,n=[]){let r=new Set,o=[];for(let i of e){let a=i.threadId;!a||t.has(a)||r.has(a)||(r.add(a),o.push(a))}for(let i of n){let a=i.threadId;t.has(a)||r.has(a)||(r.add(a),o.push(a))}return o}function gS(e,t,n){if(e.length<2)return;let r=e.indexOf(t);if(!(r<0))return e[(r+n+e.length)%e.length]}function Lf(e,t){return t?e.ownerParticipantId?e.ownerParticipantId===t.participantId:t.isHost===!0:!0}function yS(e,t,n,r){let o=B(e),i=B(void 0);_(()=>{o.current!==e&&(o.current=e,n()),t&&(t.id!==i.current?.id||t.request!==i.current?.request)&&(i.current=t,r(t.id)),t||(i.current=void 0)},[e,t,n,r])}var vS=[],Yl="devtools-provider",Kl="devtools-model",Wd="devtools-model-id",jf="devtools-agent-settings",Bd="devtools-open-thread-id",Xl="popmelt-dismissed-thread-ids",qd="#000000",bS=20,xS=[],wS=[];function Jd(e){let t=e.dispose?.();t&&Promise.resolve(t).catch(()=>{})}function SS(e){let t=B(new Map),[n,r]=$([]);return _(()=>{let o=t.current,i=new Map,a=[];for(let s of e){if(i.has(s.id))continue;let d=o.get(s.id);if(d?.configurationKey===s.configurationKey){i.set(s.id,d),a.push(s);continue}d&&Jd(d.runtime),i.set(s.id,{configurationKey:s.configurationKey,runtime:s.activate()}),a.push(s)}for(let[s,d]of o)i.has(s)||Jd(d.runtime);t.current=i;let l=a.map(s=>i.get(s.id)?.runtime).filter(s=>!!s);r(s=>s.length===l.length&&s.every((d,u)=>d===l[u])?s:l)},[e]),_(()=>()=>{for(let o of t.current.values())Jd(o.runtime);t.current.clear()},[]),n}function IS(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}...`:n}function kS(e){let t=e.annotations.map(a=>a.instruction?.trim()?a.instruction.trim():a.imageCount?`${a.imageCount} image${a.imageCount===1?"":"s"}`:`${a.type} annotation`),n=e.styleModifications.flatMap(a=>a.changes.map(l=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: ${l.property} ${l.original||"unset"} -> ${l.modified||"unset"}${l.token?` [${l.token}]`:""}`)),r=(e.textModifications??[]).map(a=>`${a.element?.reactComponent||a.element?.tagName||a.selector}: text ${a.original||"empty"} -> ${a.modified||"empty"}`),o=(e.spacingTokenChanges??[]).map(a=>`${a.tokenName}: ${a.originalPx}px -> ${a.newPx}px`),i=[...n,...r,...o,...t].map(a=>IS(a)).filter(Boolean);return i.length===0?"Annotation":i.length<=3?i.join("; "):`${i.slice(0,3).join("; ")}; +${i.length-3} more`}function Vl(e){if(typeof window>"u"||!e)return new Set;try{let t=JSON.parse(localStorage.getItem(Ni(Xl,e))||"[]");return new Set(Array.isArray(t)?t.filter(n=>typeof n=="string"):[])}catch{return new Set}}function Pf(e,t){if(!(typeof window>"u"||!t))try{let n=Vl(t);for(let r of e)n.add(r);localStorage.setItem(Ni(Xl,t),JSON.stringify(Array.from(n).slice(-200)))}catch{}}function ES(e){let t=vn(e);return t.bottom<0||t.top>window.innerHeight||t.right<0||t.left>window.innerWidth}function TS(e){for(let t of e){let n=pn(t);if(n){ES(n)&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"});return}}}async function Ud(e,t){t?await t(e):(window.history.pushState(window.history.state,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))),await new Promise(n=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{setTimeout(n,600)}))})}function CS(e,t,n,r,o){if(t==="copilot"||t==="omp"||e==="copilot"||e==="omp")return 0;let i=xc(e,r),a=xc(t,o);if(a.length===0)return 0;let l=i.findIndex(d=>d.index===n),s=l>=0?l:a.length-1;return a[Math.min(s,a.length-1)].index}function AS({children:e,enabled:t=process.env.NODE_ENV==="development",multiplayer:n=!1,...r}){let o=jr(rl),[i,a]=$([]),l=q(p=>(a(c=>c.includes(p)?c:[...c,p]),()=>a(c=>c.filter(h=>h!==p))),[]),s=Se(()=>({isEnabled:t,registerSubjectAdapter:l}),[t,l]),d=Se(()=>[...r.subjectAdapters??[],...i],[r.subjectAdapters,i]),u=f(MS,{...r,multiplayer:n,enabled:!0,registeredSubjectAdapters:i});return A(hg.Provider,{value:s,children:[e,t&&(o?n?u:null:f(hy,{multiplayer:n,projectId:r.projectId,adapters:d,children:u}))]})}function MS({enabled:e=!0,multiplayer:t=!1,registeredSubjectAdapters:n,bridgeUrl:r=typeof window<"u"?window.__POPMELT_BRIDGE_URL__??"http://localhost:1111":"http://localhost:1111",projectId:o,navigate:i,subjectAdapters:a=xS,extensions:l=wS,imageAnnotation:s=!0,videoAnnotation:d=!0,getCommentMeta:u}){let p=typeof window<"u"?o??window.__POPMELT_PROJECT_ID__??null:null,[c,h]=$(p),[m,g]=$(!!p),x=c,S=B(null),P=B(!1),[R,I,z]=fm(S,P),G=jr(dc),E=jr(rl),[K,N]=$(()=>new Set),[Y,J]=$(0),le=B(0);_(()=>{if(!Y)return;let b=window.setTimeout(()=>J(0),220);return()=>window.clearTimeout(b)},[Y]);let w=Se(()=>E?.participantId?Xf(cc(R,E.pendingSubmissions??[],E.participantId,K),E.annotationColor):R,[R,E?.pendingSubmissions,E?.participantId,E?.annotationColor,K]);_(()=>{if(!K.size)return;let b=cc(R,E?.pendingSubmissions??[],E?.participantId??""),k=new Set([...K].filter(W=>{let V=b.annotations.find(se=>se.id===W);return V&&["pending","sending"].includes(V.status??"pending")}));k.size!==K.size&&N(k)},[R,E?.pendingSubmissions,E?.participantId,K]);let Q=!E||E.canReadThreads,D=!E||E.canReply,F=!E||E.canManageThreads,M=SS(l),j=Se(()=>{for(let b=M.length-1;b>=0;b-=1){let k=M[b]?.imageRecognition;if(k)return k}},[M]),L=Se(()=>M.flatMap(b=>b.subjectAdapters??[]),[M]),T=Se(()=>{for(let b=M.length-1;b>=0;b-=1){let k=M[b]?.videoTracking;if(k)return k}},[M]),Z=Se(()=>{for(let b=M.length-1;b>=0;b-=1){let k=M[b]?.videoSegmentation;if(k)return k}},[M]),re=Se(()=>!j||s===!1?s:{...typeof s=="object"?s:{},recognition:j},[j,s]),ee=Se(()=>[...L,...a,...n],[L,n,a]),oe=gy({enabled:e,active:w.isAnnotating||w.annotations.some(b=>b.target?.adapter==="see:image"),configuration:re,adapters:ee}),U=Se(()=>!T&&!Z||d===!1?d:{...typeof d=="object"?d:{},...T?{tracking:T}:{},...Z?{segmentation:Z}:{}},[Z,T,d]),fe=yy({enabled:e,configuration:U,adapters:oe}),me=(!e||re===!1||ee.some(b=>b.surfaceKind==="image"||b.id==="see:image")||oe.some(b=>b.surfaceKind==="image"||b.id==="see:image"))&&(!e||U===!1||oe.some(b=>b.surfaceKind==="video"||b.id==="see:video")||fe.some(b=>b.surfaceKind==="video"||b.id==="see:video")),X=Se(()=>new Hm(fe),[fe]),[Te,Ae]=$(!1),Ee=B(X);Ee.current=X,_(()=>{let b=!1;return Ae(!1),me?(X.whenReady().then(()=>{b||Ae(!0)}),()=>{b=!0}):()=>{}},[me,X]),_(()=>()=>X.destroy(),[X]);let _e=E?.bindSubjects;_(()=>_e?.(X),[_e,X]);let O=qg(r,e&&!!x,x),ze=O.dismissQuestion,Oe=O.clearEvents;_(()=>{p&&(typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=p,du()),h(p),g(!0))},[p]);let Ve=B(null),nt=B(null),[ve,Ne]=$(null),ge=_g()??r,{onCanvasFocusChange:Je,onCanvasActivity:st,inspectingElement:Ge,inspectingElements:$e}=Yg(e&&O.isConnected&&w.isAnnotating,ge,{getCommentMeta:u,registry:X,state:w,screenshotOptions:{nativeCapture:b=>cu(ge,b),captureSurfaces:()=>X.captureSurfaces()}}),Be=q(b=>cu(ge,b),[ge]),Pt=q(async()=>{let b=Math.min(1,1200/Math.max(1,window.innerWidth));return Uf(()=>Be({url:window.location.href,clip:{x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},scale:b}),async()=>{let[k]=await Oi(document.body,Ve.current,[],{dpr:b,viewportOnly:!0,captureSurfaces:()=>X.captureSurfaces()});return k??null})},[Be,X]),ht=B(new Map),pt=B(new Set),Qe=B(!1);_(()=>{if(!ge)return;let b=new Set(w.annotations.flatMap(se=>se.attachments?.map(ae=>ae.id)??[])),k=pt.current,W=[...b].filter(se=>!k.has(se)),V=[...k].filter(se=>!b.has(se));pt.current=b,W.length>0&&uu(ge,W).catch(()=>{}),V.length>0&&Promise.all(V.map(se=>Ds(ge,se).catch(()=>{})))},[ge,w.annotations]);let ft=B(new Map),zt=B(new Map),[,Kt]=$(0),[En,Xt]=$(null),_t=B(!1),Me=hs(),Zt=q((b,k,W,V,se)=>{let ae=[],he=ue=>{let Re=URL.createObjectURL(ue);return ae.push(Re),Re},pe,Le;V instanceof Map?(Le=Object.fromEntries(Array.from(V,([ue,Re])=>[ue,he(Re)])),pe=Object.values(Le)[0]):pe=he(V);let je=se&&se.size>0?Object.fromEntries(Array.from(se,([ue,Re])=>[ue,Re.map(he)])):void 0;for(zt.current.get(b)?.objectUrls.forEach(ue=>URL.revokeObjectURL(ue)),zt.current.delete(b),zt.current.set(b,{objectUrls:ae,message:{role:"human",timestamp:Date.now(),jobId:k,feedbackSummary:kS(W),requestText:Ey(W),requestItems:ky(W),...W.meta?{meta:W.meta}:{},...pe?{screenshotUrl:pe}:{},...Le?{screenshotUrls:Le}:{},...je?{imageUrls:je}:{}}});zt.current.size>bS;){let ue=zt.current.keys().next().value;if(!ue)break;zt.current.get(ue)?.objectUrls.forEach(Re=>URL.revokeObjectURL(Re)),zt.current.delete(ue)}Kt(ue=>ue+1)},[]);_(()=>()=>{for(let b of zt.current.values())b.objectUrls.forEach(k=>URL.revokeObjectURL(k));zt.current.clear()},[]);let y=E?.modelSelectionLocked??!1,ie=E?.inheritedModelSelection,[be,Ue]=$(()=>typeof window>"u"?"codex":localStorage.getItem(Yl)||"codex"),[It,xt]=$(()=>{if(typeof window>"u")return 0;let b=localStorage.getItem(Kl);return b&&parseInt(b,10)||0}),Ce=y?ie?.provider??"codex":be,[Xe,Dt]=$(()=>{if(typeof window>"u")return{};try{return JSON.parse(localStorage.getItem(jf)||"{}")}catch{return{}}}),[ye,Fe]=$([]),[Ke,mt]=$({}),[at,Ze]=$(0),[Wt,Ye]=$(!1),bn=Se(()=>Vf(Ke.codex??[]),[Ke.codex]),{index:Tn,select:xn}=Mu(bn,Wt,!y&&Ce==="codex","codex"),[rn,pr]=$({}),[gt,On]=$(null),[on,Xn]=$(null),[Bt,Hr]=$(null),[Vt,Vn]=$("idle"),[co,fn]=$(null),Nn=B(null),dn=q(b=>{let k=Object.entries(b.providers).filter(([,ae])=>ae.available).map(([ae])=>ae);k.length>0&&Fe(k);let W={},V={};for(let[ae,he]of Object.entries(b.providers))he.models?.length&&(W[ae]=he.models),he.mcp&&(V[ae]=he.mcp);let se=Nn.current;if(se&&se.provider!=="codex"){let ae=W[se.provider]?.findIndex(he=>he.id===se.id);ae!==void 0&&ae>=0&&xt(ae)}mt(W),pr(V),Ye(!0)},[]),Tt=q(async b=>{if(!O.isConnected)return;let k=await Gm(ge,b);k&&dn(k)},[dn,O.isConnected,ge]);_(()=>{Tt(Ce)},[Ce,O.capabilitiesVersion,at,Tt]),_(()=>{if(!O.isConnected){On(null),Xn(null),Hr(null);return}let b=!1;return ka(ge).then(k=>{b||(On(k?.version??null),Xn(k?.projectRoot??null),Hr(k?.execution??null))}),()=>{b=!0}},[O.isConnected,O.capabilitiesVersion,at,ge]),_(()=>{if(Vt==="idle"||Vt==="restarting")return;let b=window.setTimeout(()=>{Vn("idle"),fn(null)},Vt==="ok"?4e3:8e3);return()=>window.clearTimeout(b)},[Vt]),_(()=>{if(!y&&ye.length>0&&!ye.includes(Ce)){let b=ye[0];Ue(b),localStorage.setItem(Yl,b)}},[ye,Ce,y]);let Rt=Se(()=>y?[{id:ie?.model??"",label:ie?.label??"Waiting for host",source:"static"}]:Ce==="codex"?bn:Ce==="claude"?Gf(Ke.claude??ms):Ke[Ce]?.length?Ke[Ce]:Ce==="copilot"?[...uc]:Ce==="omp"?[...pc]:[...ms],[y,ie?.model,ie?.label,Ke,bn,Ce]),{index:Wo,select:Or}=Mu(Rt,Wt,!y&&Ce==="claude","claude",Eh),cn=y?0:Ce==="codex"?Tn:Ce==="claude"?Wo:It,en=Rt[cn]??Rt[0],fr=E?.setHostModelSelection;_(()=>{if(!fr||!Wt||!O.isConnected||!ye.includes(Ce))return;let b=!1,k,W=()=>{b||fr({provider:Ce,model:en.id,label:en.label}).catch(()=>{b||(k=setTimeout(W,2e3))})};return k=setTimeout(W,0),()=>{b=!0,clearTimeout(k)}},[fr,Wt,O.isConnected,ye,Ce,en.id,en.label]),Nn.current={provider:Ce,id:en.id};let uo=`${Ce}:${en.id||"default"}`,vt=Se(()=>Xe[uo]??{},[Xe,uo]);_(()=>{if(!e||x||m)return;let b=!1;return fetch("/popmelt/status").then(k=>k.ok?k.json():null).then(k=>{if(b)return;let W=typeof window<"u"&&k?.devOrigin===window.location.origin,V=k?.projectId&&(W||k.projectIdVerified===!0)?k.projectId:null;V&&typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=V,du()),h(V),g(!0)}).catch(()=>{b||g(!0)}),()=>{b=!0}},[e,x,m]),_(()=>{if(y||Ce==="codex"||Ce==="claude")return;let b=localStorage.getItem(`${Wd}:${Ce}`),k=b!==null?Rt.findIndex(V=>V.id===b):Ce==="omp"?Rt.findIndex(V=>V.isDefault):-1,W=k>=0?k:cn<Rt.length?-1:0;W<0||W===cn||(xt(W),localStorage.setItem(Kl,String(W)))},[cn,Rt,Ce,y]);let wn=q(b=>{if(y)return;if(b==="codex"||b==="claude"){Ue(b),localStorage.setItem(Yl,b);return}let k=Ce,W=b==="copilot"?[...uc]:b==="omp"?[...pc]:[...ms],V=Ke[b]&&Ke[b].length>0?Ke[b]:W;Ue(b),localStorage.setItem(Yl,b);let se=CS(k,b,cn,Rt,V);xt(se),localStorage.setItem(Kl,String(se));let ae=V[se];ae&&localStorage.setItem(`${Wd}:${b}`,ae.id)},[cn,Rt,Ce,Ke,y]),hr=q(b=>{if(y)return;xt(b),localStorage.setItem(Kl,String(b));let k=Rt[b];k&&(Ce==="codex"&&xn(k.id),Ce==="claude"&&Or(k.id),localStorage.setItem(`${Wd}:${Ce}`,k.id))},[Rt,Ce,y,xn,Or]),mr=q(b=>{Dt(k=>{let W={...k,[uo]:b};return localStorage.setItem(jf,JSON.stringify(W)),W})},[uo]),[Cn,hn]=$(()=>Qf()),[An,Ct]=$(null),Bo=Se(()=>An?new Set(An.annotationIds):null,[An]),gi=q(()=>Ct(null),[]),Ht=q(b=>{hn(b),Zf(b)},[]),gr=q(b=>Ud(b,i),[i]),[Nr,qt]=$(()=>({openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null})),{openThreadId:He,imprintStashedThreadId:Mn,toolbarSuspendedThreadId:_n}=Nr,tn=B(0),Gn=B({toolbarExpanded:w.isAnnotating,imprintActive:w.activeTool==="model"});Gn.current={toolbarExpanded:w.isAnnotating,imprintActive:w.activeTool==="model"};let[$t,Rn]=$(0),Gt=q(b=>{(b.type==="open_thread"||b.type==="close_thread")&&(tn.current+=1),qt(k=>pS(k,b))},[]),[kt,Fn]=$(null),yi=B(null),[Qt,$n]=$(new Set),[Sn,yr]=$(null),[_r,Fr]=$(null),[Qn,vr]=$(new Set),[un,Zn]=$(new Set),[po,qo]=$(new Set),[Wr,fo]=$({}),H=Se(()=>new Set(Object.keys(Wr)),[Wr]),[ce,Ie]=$(null);_(()=>{yr(null),x&&($n(Vl(x)),yr(x),localStorage.removeItem(Xl))},[x]),_(()=>{if(E||!x||!O.isConnected)return;let b=!1;Fn(null);let k=tn.current,W=Ni(Bd,x),V=localStorage.getItem(W);if(localStorage.removeItem(Bd),!V){Fn(x);return}return Yt(`${ge}/thread/${encodeURIComponent(V)}`).then(se=>{b||k!==tn.current||(se.ok?Gt({type:"restore_thread",threadId:V,...Gn.current}):localStorage.removeItem(W))}).catch(()=>{}).finally(()=>{b||Fn(x)}),()=>{b=!0}},[Gt,O.isConnected,x,ge,E]),_(()=>{if(E||!x||kt!==x)return;let b=Ni(Bd,x),k=He??Mn??_n;k?localStorage.setItem(b,k):localStorage.removeItem(b)},[x,Mn,He,kt,_n,E]);let xe=E?`popmelt-in-flight-jobs:${x}:participant:${E.participantId}`:"popmelt-in-flight-jobs",[ne,De]=$(()=>{try{let b=localStorage.getItem(xe);return b?JSON.parse(b):{}}catch{return{}}}),[qe,et]=$(new Map);_(()=>{try{Object.keys(ne).length>0?localStorage.setItem(xe,JSON.stringify(ne)):localStorage.removeItem(xe)}catch{}},[ne,xe]),_(()=>{let b=k=>{if(k.key===xe)try{let W=k.newValue?JSON.parse(k.newValue):{};De(W)}catch{}};return window.addEventListener("storage",b),()=>window.removeEventListener("storage",b)},[xe]);let Pe=B(new Map),Jt=B(new Map),Wn=B(new Map),In=q((b,k,W)=>{let V=Jt.current.get(b)??[],se=Wn.current.get(b);et(ae=>eh(ae,b,k,W,V,se))},[]);_(()=>{for(let[b,k]of Object.entries(ne)){let W=Fo(k,w.annotations);W.length>0&&Pe.current.set(b,W);let V=new Set(k.styleSelectors);for(let se of W){let ae=w.annotations.find(he=>he.id===se);if(ae&&(ae.linkedSelector&&V.add(ae.linkedSelector),ae.groupId))for(let he of w.annotations)he.groupId===ae.groupId&&he.linkedSelector&&V.add(he.linkedSelector)}V.size>0&&Jt.current.set(b,Array.from(V)),k.threadId&&Wn.current.set(b,k.threadId)}},[ne,w.annotations]);let er=B("");_(()=>{if(w.annotations.length===0)return;let b=Object.keys(ne).sort().join(",");if(b===er.current)return;er.current=b;let k=new Set;for(let V of Object.values(ne))for(let se of Fo(V,w.annotations))k.add(se);let W=w.annotations.flatMap(V=>{if(k.has(V.id)||V.threadId)return[];let se=V.status??"pending";return se==="in_flight"?[V.id]:se==="pending"&&V.captured?[V.id]:[]});W.length>0&&I({type:"SET_ANNOTATION_STATUS",payload:{ids:W,status:"dismissed"}})},[w.annotations,ne,I]);let br=Se(()=>{let b=new Set;for(let k of Object.values(ne))for(let W of Fo(k,w.annotations))b.add(W);return b},[ne,w.annotations]),vi=Se(()=>Ru(O.events),[O.events]),Fa=Se(()=>{let b=new Map,k={focus_set:"Investigating",focus_shifted:"Refocusing",evidence_updated:"Checking",hypothesis_changed:"Reframing",assumption_abandoned:"Reconsidering",uncertainty_identified:"Clarifying",next_observation_selected:"Checking"};for(let W of O.events){if(W.type!=="orientation")continue;let V=String(W.data.jobId??""),se=W.data.orientation,ae=se?.transition?k[se.transition]:void 0;if(!V||!ae)continue;let he=ne[V],pe=he?Fo(he,w.annotations):Pe.current.get(V)??[];for(let Le of pe)b.set(Le,ae)}for(let W of vi)if(ne[W])for(let V of Fo(ne[W],w.annotations))b.set(V,"Approval needed");return b},[O.events,ne,w.annotations,vi]),Gl=Se(()=>{let b=new Set(O.activeJobIds),k=new Set;for(let[W,V]of Object.entries(ne))if(b.has(W))for(let se of Fo(V,w.annotations))k.add(se);return k},[ne,O.activeJobIds,w.annotations]),Br=Se(()=>th(O.events,O.lastCompletedJobId),[O.events,O.lastCompletedJobId]),Ql=Se(()=>{let b=new Set(fc(Object.keys(ne),O.activeJobIds,Br)),k=Object.entries(ne).filter(([se])=>b.has(se)),W=k.length,V=new Map;return k.forEach(([,se],ae)=>{let he=`(${ae+1}/${W})`;for(let pe of Fo(se,w.annotations))V.set(pe,he)}),V},[ne,O.activeJobIds,Br,w.annotations]),Wa=Se(()=>{let b=new Set(O.activeJobIds),k=new Set(O.activeJobIds.flatMap(V=>{let se=O.activeJobThreads[V]??ne[V]?.threadId;return se?[se]:[]})),W=nh(qe,k);for(let[V,se]of Object.entries(ne))if(b.has(V)&&!(!se.global&&se.routePathnames?.length&&!se.routePathnames.includes(Me)))for(let ae of se.styleSelectors)W.add(ae);return W},[ne,O.activeJobIds,O.activeJobThreads,qe,Me]),bi=Se(()=>{let b=new Map;for(let[k,W]of Object.entries(ne))if(W.threadId&&!(!W.global&&W.routePathnames?.length&&!W.routePathnames.includes(Me)))for(let V of W.styleSelectors)b.set(V,k);return b},[ne,Me]),aa=Se(()=>{let b=new Set(O.activeJobIds),k=new Map;for(let[W,V]of Object.entries(ne))if(b.has(W)&&!(!V.global&&V.routePathnames?.length&&!V.routePathnames.includes(Me))){for(let se of V.styleSelectors)k.set(se,V.color);for(let se of Fo(V,w.annotations)){let ae=w.annotations.find(he=>he.id===se);if(ae&&(ae.linkedSelector&&k.set(ae.linkedSelector,V.color),ae.groupId))for(let he of w.annotations)he.groupId===ae.groupId&&he.linkedSelector&&k.set(he.linkedSelector,V.color)}}return k},[ne,O.activeJobIds,w.annotations,Me]),xi=B(w.annotations);xi.current=w.annotations;let ho=B(w.styleModifications);ho.current=w.styleModifications;let Jo=B(ne);Jo.current=ne,_(()=>{let b=null,k=0,W=()=>{let ae=window.location.pathname;lu(ho.current.filter(he=>!he.pathname||he.pathname===ae))},V=()=>{if(Object.keys(Jo.current).length>0)return;let ae=xi.current,he=ho.current,pe=[],Le=[];for(let je of ae){if(!je.linkedSelector||!je.linkedSelector.startsWith("[data-pm=")||je.pathname||je.captured||je.status&&je.status!=="pending")continue;let ue=pn(je.linkedSelector);!ue&&je.elements?.[0]?.selector&&(ue=pn(je.elements[0].selector)),ue||pe.push(je.linkedSelector)}for(let je of he)je.pathname&&je.pathname!==window.location.pathname||_m(je)||Le.push(je.selector);(pe.length>0||Le.length>0)&&I({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:pe,styleSelectors:Le}})},se=$u(ae=>{ae.some(he=>he.addedNodes.length>0)&&(window.cancelAnimationFrame(k),k=window.requestAnimationFrame(W)),ae.some(he=>he.removedNodes.length>0)&&(b&&clearTimeout(b),b=setTimeout(V,3e3))});return()=>{se.disconnect(),window.cancelAnimationFrame(k),b&&clearTimeout(b)}},[I]);let mo=B(typeof window<"u"?window.location.pathname:"/");_(()=>{let b=V=>{if(_t.current)return;let se=window.location.pathname;if(V===se)return;let ae=xi.current.filter(pe=>pe.pathname===V&&(pe.status??"pending")==="pending");if(console.log(`[Popmelt] Navigation from ${V} \u2192 ${se}, ${ae.length} pending annotations on departing page`),ae.length===0)return;let he=Ve.current;if(!he){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Oi(document.body,he,ae,{dpr:1,captureSurfaces:()=>Ee.current.captureSurfaces()}).then(pe=>fs(pe)).then(pe=>{pe?(ft.current.set(V,pe),console.log(`[Popmelt] Cached screenshot for ${V} (${(pe.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${V}`)}).catch(pe=>{console.warn("[Popmelt] Capture-on-leave failed:",pe)}),ft.current.size>20){let pe=[...ft.current.entries()];ft.current=new Map(pe.slice(-10))}},k=V=>{let se=V.detail?.prevPath;se&&(b(se),mo.current=window.location.pathname)},W=()=>{let V=mo.current;b(V),mo.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",k),window.addEventListener("popstate",W),()=>{window.removeEventListener("popmelt:locationchange",k),window.removeEventListener("popstate",W)}},[]),_(()=>{O.lastCompletedJobId&&O.lastCompletedJobId in ne&&De(b=>{let{[O.lastCompletedJobId]:k,...W}=b;return W})},[O.lastCompletedJobId,ne]);let Ln=B(new Set),go=B(!1);_(()=>{if(!O.isConnected){go.current=!1;return}if(go.current)return;go.current=!0;let b={...Jo.current};ka(ge).then(async k=>{if(!k)return;let W=k.activeJobs??[],V=k.recentJobs??[],se=[...W,...k.queuedJobs??[]],ae=new Set(se.map(pe=>pe.id)),he=new Set;for(let pe of Object.values(b))if(pe.annotationIds)for(let Le of pe.annotationIds)he.add(Le);for(let pe of w.annotations){let Le=pe.status??"pending";(Le==="sending"||Le==="in_flight"||pe.captured&&pe.threadId&&(pe.replyCount??0)===0)&&he.add(pe.id)}De(pe=>{let Le={...pe},je=Date.now();for(let Re of Object.keys(Le)){if(Re.startsWith("_pending_")){let ut=parseInt(Re.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(ut)&&je-ut>3e4&&delete Le[Re];continue}Re in b&&!ae.has(Re)&&(k.queuedJobs!==void 0||V.some(ut=>ut.id===Re))&&delete Le[Re]}for(let Re of se)if(!Le[Re.id]&&(Re.annotationIds?.length||Re.threadId)){let ut=Re.kind,jt=Array.from(new Set((Re.annotationIds??[]).map(Kr=>w.annotations.find(Ar=>Ar.id===Kr)?.pathname||Me).filter(Boolean)));Le[Re.id]={annotationIds:Re.annotationIds??[],styleSelectors:[],color:ut==="project_model"&&Re.standalone===!0?qd:Re.color??"#888",threadId:Re.threadId,kind:ut,routePathnames:jt.length>0?jt:void 0,global:ut==="synthesize"||ut==="project_model"&&Re.standalone===!0}}let ue=new Set;for(let Re of V)if(Re.annotationIds)for(let ut of Re.annotationIds)ue.add(ut);for(let Re of Object.keys(Le)){if(!Re.startsWith("_pending_"))continue;let ut=Le[Re];ut&&ut.annotationIds.some(jt=>ue.has(jt))&&delete Le[Re]}return Le});for(let pe of V)if(pe.annotationIds?.length&&pe.annotationIds.some(Le=>he.has(Le))&&!Ln.current.has(pe.id)){if(pe.status==="error"){Ln.current.add(pe.id),I({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:pe.annotationIds,threadId:pe.threadId}});continue}if(pe.status==="done")try{let Le=await pu(ge,pe.id),je=Le?.events.find(Re=>Re.type==="done"),ue=Le?.events.find(Re=>Re.type==="question");Ln.current.add(pe.id),ue&&typeof ue.question=="string"?I({type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:ue.question,threadId:ue.threadId??pe.threadId??""}}):je&&Array.isArray(je.resolutions)&&je.resolutions.length>0?I({type:"APPLY_RESOLUTIONS",payload:{resolutions:je.resolutions,threadId:je.threadId??void 0,jobId:pe.id}}):I({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:je?.threadId??pe.threadId,jobId:pe.id}})}catch{Ln.current.add(pe.id);let Le=O.pendingQuestions.find(je=>je.jobId===pe.id);I(Le?{type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:Le.question,threadId:Le.threadId}}:{type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:pe.threadId,jobId:pe.id}})}}})},[O.isConnected,O.pendingQuestions,ge,I,w.annotations,Me]),_(()=>{let b=O.events.filter(k=>k.type==="done");for(let k of b){let W=k.data.jobId;if(Ln.current.has(W))continue;if(Rd(O.events,W)==="Has a question"){In(W,"waiting_input","Question");let se=O.pendingQuestions.find(je=>je.jobId===W),ae=[...O.events].reverse().find(je=>je.type==="question"&&je.data.jobId===W),he=Array.isArray(k.data.annotationIds)?k.data.annotationIds:Array.isArray(ae?.data.annotationIds)?ae.data.annotationIds:ne[W]?.annotationIds??Pe.current.get(W)??[],pe=se?.question??(typeof ae?.data.question=="string"?ae.data.question:void 0),Le=se?.threadId??(typeof ae?.data.threadId=="string"?ae.data.threadId:void 0)??(typeof k.data.threadId=="string"?k.data.threadId:void 0);pe&&Le&&he.length>0&&(Ln.current.add(W),I({type:"SET_ANNOTATION_QUESTION",payload:{ids:he,question:pe,threadId:Le}}));continue}Ln.current.add(W),In(W,"resolved",Rd(O.events,W));let V=Jt.current.get(W)??ne[W]?.styleSelectors??[];if(V.length>0&&I({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:V}}),Array.isArray(k.data.resolutions)&&k.data.resolutions.length>0)I({type:"APPLY_RESOLUTIONS",payload:{resolutions:k.data.resolutions,threadId:k.data.threadId,jobId:W}});else{let se=Array.isArray(k.data.annotationIds)?k.data.annotationIds:ne[W]?.annotationIds??Pe.current.get(W)??[];se.length>0&&I({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:se,threadId:k.data.threadId,jobId:W}})}}},[O.events,O.pendingQuestions,I,ne,In]),_(()=>{let b=O.events.filter(k=>k.type==="error");for(let k of b){let W=k.data.jobId;if(Ln.current.has(W))continue;Ln.current.add(W),In(W,"failed","Failed");let V=Array.isArray(k.data.annotationIds)?k.data.annotationIds:ne[W]?.annotationIds??Pe.current.get(W)??[];V.length!==0&&I({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:V,threadId:k.data.threadId}})}},[O.events,I,ne,In]);let xr=B("__uninitialized__"),Uo=E?.participantId,yo=E?.isHost,qr=`${x??"pending"}:participant:${Uo??"standalone"}`,[Yo,la]=$(null);_(()=>{if(!O.isConnected){xr.current="__uninitialized__";return}if(!Te||Sn!==x)return;let b=new Set(w.annotations.flatMap(he=>he.threadId?[he.threadId]:[])),k=new Set([...Object.values(O.activeJobThreads),...Object.entries(ne).filter(([he])=>O.activeJobIds.includes(he)).flatMap(([,he])=>he.threadId?[he.threadId]:[])]),W=w.annotations.filter(he=>{if(!he.threadId||(he.replyCount??0)>0||k.has(he.threadId))return!1;let pe=he.status??"pending";return pe!=="sending"&&pe!=="waiting_input"&&pe!=="needs_review"}),V=[`plane:${qr}:${yo===!0}`,...W.map(he=>`${he.id}:${he.threadId}`),...Array.from(b).map(he=>`represented:${he}`),...Array.from(k).map(he=>`active:${he}`)].sort().join("|");if(V===xr.current)return;xr.current=V;let se=!1,ae=!1;return Yt(`${ge}/threads/recent?limit=200`).then(he=>he.ok?he.json():[]).then(async he=>{if(se)return;let pe=Uo?{participantId:Uo,isHost:yo}:null,Le=he.filter(we=>Lf(we,pe));la({scope:qr,threadIds:new Set(Le.map(we=>we.id))});let je=new Set(he.filter(we=>!Lf(we,pe)).map(we=>we.id)),ue=rh(Le,Me,we=>{let wt=X.resolve(we);return wt?[wt.selector]:null}),Re=new Set([...O.activeJobIds,...Object.keys(ne)]);vr(oh(Le,k)),Zn(ih(Le)),qo(ah(Le));let ut=Object.fromEntries(Le.flatMap(we=>we.pendingQuestion?[[we.id,we.pendingQuestion]]:[]));fo(ut);let jt=new Set(Object.keys(ut)),Kr=new Set(Le.filter(we=>!we.pendingQuestion&&(we.hasReply??(we.messageCount>1&&!we.hasError))).map(we=>we.id)),Ar=new Set(Le.filter(we=>we.hasError&&!we.hasReply).map(we=>we.id));for(let we of w.annotations){let wt=Le.find(jn=>jn.id===we.threadId)?.color;wt&&wt!==we.color&&I({type:"UPDATE_ANNOTATION_COLOR",payload:{id:we.id,color:wt}})}for(let we of w.annotations){if(!we.threadId)continue;let wt=ut[we.threadId];wt&&(we.status==="waiting_input"&&we.question===wt||I({type:"SET_ANNOTATION_QUESTION",payload:{ids:[we.id],question:wt,threadId:we.threadId}}))}for(let we of w.annotations)!we.threadId||!Ar.has(we.threadId)||we.status!=="failed"&&I({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:[we.id],threadId:we.threadId}});for(let we of W)!we.threadId||jt.has(we.threadId)||!Kr.has(we.threadId)||I({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:[we.id],threadId:we.threadId,jobId:`thread-recovery:${we.threadId}`}});let va=Date.now()-7200*1e3,ti=Vl(x),Xr=Le.filter(we=>(we.hasReply??(we.messageCount>1&&!we.hasError))&&we.updatedAt>=va&&!b.has(we.id)&&!ti.has(we.id)),To=await Promise.all(Xr.map(async we=>{let wt=await Yt(`${ge}/decision/${encodeURIComponent(we.id)}`);if(!wt.ok)return[];let jn=(await wt.json()).decision;if(!jn?.annotations?.length)return[];let or="/";try{or=new URL(jn.url).pathname}catch{}if(or!==Me)return[];let ir=jn.color??lh("oklch(0.628 0.258 29)",w.annotations,Me);return jn.annotations.flatMap(yt=>{if(!yt.instruction)return[];let Ri=yt.target?X.resolve(yt.target)??(yt.elements?.[0]?X.restore(yt.target,yt.elements[0]):null):null,Co=Ri?.selector??yt.linkedSelector;if(!Co)return[];let Pn=Ri?.element??pn(Co)??(yt.elements?.[0]?.selector?pn(yt.elements[0].selector):null);if(!Pn)return[];let ar=vn(Pn),zn=jn.resolutions?.find(ri=>ri.annotationId===yt.id);return[{id:yt.id,type:"text",points:[{x:ar.left+window.scrollX,y:ar.top+window.scrollY}],color:ir,strokeWidth:2,text:yt.instruction,fontSize:12,timestamp:jn.createdAt,captured:!0,status:zn?.status??"resolved",resolutionSummary:zn?.summary,replyCount:1,replyJobIds:[`thread-recovery:${we.id}`],threadId:we.id,pathname:yt.pathname??or,elements:yt.elements,linkedSelector:Co,...yt.target?{target:yt.target}:{},linkedAnchor:ar.top>=26?"top-left":"bottom-left"}]})}));if(se)return;let ni=To.flat();ni.length>0&&I({type:"MERGE_ANNOTATIONS",payload:{annotations:ni}}),et(we=>sh(ue,new Map([...we].filter(([,wt])=>!je.has(wt.threadId))),Re)),I({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:[...ue.values()].filter(we=>we.status==="resolved").flatMap(we=>we.selectors??[])}}),ae=!0}).catch(()=>{se||(xr.current="__uninitialized__")}),()=>{se=!0,!ae&&xr.current===V&&(xr.current="__uninitialized__")}},[O.activeJobIds,O.activeJobThreads,O.isConnected,Me,I,x,Sn,ne,ge,w.annotations,X,Te,Uo,yo,qr]);let Ba=B(new Set);_(()=>{let b=O.events.filter(k=>k.type==="error"&&k.data.cancelled);for(let k of b){let W=k.data.jobId;if(!W||Ba.current.has(W))continue;Ba.current.add(W);let V=ne[W];V&&V.annotationIds.length>0&&I({type:"SET_ANNOTATION_STATUS",payload:{ids:V.annotationIds,status:"dismissed"}})}},[O.events,ne,I]);let Ko=B(0);_(()=>{let b=O.incrementalResolutions;if(b.length<=Ko.current)return;let k=b.slice(Ko.current);Ko.current=b.length,I({type:"APPLY_RESOLUTIONS",payload:{resolutions:k}})},[O.incrementalResolutions,I]),_(()=>{O.incrementalResolutions.length===0&&(Ko.current=0)},[O.incrementalResolutions.length]);let Xo=q(async()=>{let b=Ve.current;if(!b)return!1;let k=await Oi(document.body,b,w.annotations,{nativeCapture:Be,captureSurfaces:()=>X.captureSurfaces()});if(k.length===0)return!1;let W=await Yf(k,w.annotations,w.styleModifications,w.textModifications,w.domModifications);return W&&I({type:"MARK_CAPTURED"}),W},[w.annotations,w.styleModifications,w.textModifications,w.domModifications,I,Be,X]),Zl=q((b,k)=>{let W=ht.current.get(b)||[];ht.current.set(b,[...W,...k])},[]),es=q((b,k)=>{let W=new Set(k),V=(ht.current.get(b)??[]).filter((se,ae)=>!W.has(ae));V.length>0?ht.current.set(b,V):ht.current.delete(b)},[]),qa=q(async()=>{if(E&&!E.canSend)return!1;let b=E?.captureVersion(),k=Ve.current;if(!k)return!1;Ce==="omp"&&Tt("omp");let W=w.annotations.filter(ue=>(ue.status??"pending")==="pending"),V=w.styleModifications.filter(ue=>!ue.captured&&!ue.awaitingReview&&(!ue.pathname||ue.pathname===Me)),se=w.textModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Me)),ae=w.domModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Me)),he=w.spacingTokenChanges.filter(ue=>!ue.captured);if(W.length===0&&V.length===0&&se.length===0&&ae.length===0&&he.length===0)return!1;let pe=W.map(ue=>ue.id),Le=!!E?.requiresApproval,je=!1;return Le&&N(ue=>new Set([...ue,...pe])),dh(pe,I,async()=>{let ue=new Map;for(let We of W){let At=We.pathname||Me;ue.has(At)||ue.set(At,[]),ue.get(At).push(We)}let Re=new Map,ut=new Map;await _u(Ee.current,ue.get(Me)??[],Me,ut);let jt=[...ue.keys()].filter(We=>We!==Me);if(jt.length>0){let We=Me,At={x:window.scrollX,y:window.scrollY};_t.current=!0;for(let St of jt)try{let lr=ft.current.get(St),oi=ue.get(St)||[];if(lr&&!oi.some(ji=>ji.target)){Re.set(St,lr),console.log(`[Popmelt] Reusing cached departing-page screenshot for ${St}`);continue}if(console.log(`[Popmelt] Navigating to ${St} for screenshot capture`),await Ud(St,i),window.location.pathname!==St){console.warn(`[Popmelt] Navigation to ${St} did not take effect (at ${window.location.pathname})`);continue}await _u(Ee.current,oi,St,ut);let Vr=await Oi(document.body,k,oi,{dpr:1,nativeCapture:Be,captureSurfaces:()=>X.captureSurfaces()}),Ao=await fs(Vr);Ao&&(Re.set(St,Ao),console.log(`[Popmelt] Captured ${St} (${(Ao.size/1024).toFixed(0)}KB)`))}catch(lr){console.warn(`[Popmelt] Failed to capture ${St}:`,lr)}await Ud(We,i),window.scrollTo(At.x,At.y),_t.current=!1}let Kr=W.filter(We=>(We.pathname||Me)===Me),Ar=await Oi(document.body,k,Kr.length>0?w.annotations:[],{dpr:1,nativeCapture:Be,captureSurfaces:()=>X.captureSurfaces()});if(Ar.length>0){let We=await fs(Ar);We&&Re.set(Me,We)}if(Re.size===0)return!1;let va=hc({annotations:w.annotations,styleModifications:w.styleModifications,textModifications:w.textModifications}),ti=We=>{let At=va.modificationNumberByKey.get(kh(We));return At===void 0?We:{...We,annotationNumber:At}},Xr=V.map(ti),To=se.map(ti),ni;if(u)try{ni=ac(await u({kind:"annotation",timestamp:Date.now(),url:window.location.href,pathname:Me,annotations:W}))}catch(We){return console.error("[Popmelt] Unable to capture comment metadata:",We),!1}let we=lc(W,Xr,void 0,he.length>0?he:void 0,To,ae,ni),wt=vy(we,W,ht.current);by(we,wt,ut,Me);let jn=JSON.stringify(we),or=ue.size>1;console.log(`[Popmelt] Submit: ${ue.size} page(s), ${Re.size} screenshot(s), pages: [${[...ue.keys()].join(", ")}], cached: [${[...ft.current.keys()].join(", ")}]`);let ir=or?Re:Re.get(Me)??Re,yt=[...V.map(We=>We.selector),...se.map(We=>We.selector),...ae.map(We=>We.selector)],Ri=Array.from(new Set([...W.map(We=>We.pathname||Me),...V.map(We=>We.pathname||Me),...se.map(We=>We.pathname||Me),...ae.map(We=>We.pathname||Me)])),Co=ch(W,w.activeColor),Pn=[...yt,...W.flatMap(We=>We.linkedSelector?[We.linkedSelector]:[])],ar=uh(Pn,w.annotations.filter(We=>(We.pathname||Me)===Me),pn),zn=gs(Pn,qe,ar?.color??Co,pn),ri=ar?.threadId??ph(Pn,qe),$i=ar?.targetBindingId??fh(Pn,qe),Za=sc(zn),Mr=`_pending_${Date.now()}`,Li={annotationIds:pe,styleSelectors:yt,color:zn,threadId:void 0,routePathnames:Ri};if(!Le){try{let We=JSON.parse(localStorage.getItem(xe)||"{}");We[Mr]=Li,localStorage.setItem(xe,JSON.stringify(We))}catch{}De(We=>({...We,[Mr]:Li}))}try{let We=E?await E.send({screenshots:ir,feedbackJson:jn,color:Za,provider:Ce,model:en.id,pastedImages:wt.size>0?wt:void 0,sourceId:Us(),agentSettings:vt},b):await fu(ir,jn,ge,Za,Ce,en.id,wt.size>0?wt:void 0,Us(),vt,ri,ar?.selectorAliases,$i);if("pendingApproval"in We){je=!0,We.threadId&&I({type:"SET_ANNOTATION_THREAD",payload:{ids:W.map(lt=>lt.id),threadId:We.threadId}});try{let lt=JSON.parse(localStorage.getItem(xe)||"{}");delete lt[Mr],localStorage.setItem(xe,JSON.stringify(lt))}catch{}return De(lt=>{let{[Mr]:Ft,...sr}=lt;return sr}),!1}let{jobId:At,threadId:St,color:lr,continuedThread:oi,continuationEligible:Vr,targetBindings:Ao=[]}=We,ji=lt=>Ao.find(Ft=>lt.target?Ft.anchor.type==="opaque"&&Ft.anchor.adapter===lt.target.adapter&&Ft.anchor.key===lt.target.key:!lt.linkedSelector||Ft.anchor.type!=="dom"?!1:[Ft.anchor.runtimeSelector,Ft.anchor.structuralSelector,...Ft.anchor.legacySelectors??[]].includes(lt.linkedSelector))?.id;St&&Zt(St,At,we,ir,wt.size>0?wt:void 0);for(let lt of wt.keys())ht.current.delete(lt);for(let lt of ue.keys())ft.current.delete(lt);let ii=lr??zn,ba={...Li,color:ii,threadId:St};try{let lt=JSON.parse(localStorage.getItem(xe)||"{}");delete lt[Mr],lt[At]=ba,localStorage.setItem(xe,JSON.stringify(lt))}catch{}if(De(lt=>{let{[Mr]:Ft,...sr}=lt;return{...sr,[At]:ba}}),St&&yt.length>0&&et(lt=>{let Ft=new Map(lt),sr=new Set;for(let ln of Ao){if(ln.anchor.type!=="dom")continue;let Pi=[ln.anchor.runtimeSelector,ln.anchor.structuralSelector,...ln.anchor.legacySelectors??[]].filter(Zr=>!!Zr),Gr=yt.find(Zr=>Pi.includes(Zr));if(!Gr)continue;sr.add(Gr);let Qr=[...Xr,...To].find(Zr=>Zr.selector===Gr);Ft.set(ln.id,{jobId:At,threadId:St,status:"in_flight",color:ii,continuationEligible:ln.continuationEligible??Vr,targetBindingId:ln.id,selectors:Pi,targetFingerprint:ln.anchor.targetFingerprint,annotationNumber:Qr?.annotationNumber})}for(let ln of yt){if(sr.has(ln))continue;let Pi=[...Xr,...To].find(Gr=>Gr.selector===ln);Ft.set(`job:${At}:${ln}`,{jobId:At,threadId:St,status:"in_flight",color:ii,continuationEligible:Vr,selectors:[ln],annotationNumber:Pi?.annotationNumber})}return Ft}),I({type:"MARK_CAPTURED",payload:{annotationIds:pe}}),St&&pe.length>0){for(let lt of pe)I({type:"UPDATE_ANNOTATION_COLOR",payload:{id:lt,color:ii}});for(let lt of W)I({type:"SET_ANNOTATION_THREAD",payload:{ids:[lt.id],threadId:St,targetBindingId:ji(lt)}})}return oi||I({type:"SET_COLOR",payload:hh({color:ii,threadId:St??`job:${At}`,annotationIds:pe,annotations:w.annotations,pathname:Me})}),!0}catch(We){try{let At=JSON.parse(localStorage.getItem(xe)||"{}");delete At[Mr],localStorage.setItem(xe,JSON.stringify(At))}catch{}return De(At=>{let{[Mr]:St,...lr}=At;return lr}),console.error("[Pare] Failed to send to bridge:",We),!1}}).then(ue=>(Le&&!je&&!ue&&(N(Re=>{let ut=new Set(Re);for(let jt of pe)ut.delete(jt);return ut}),J(++le.current)),ue))},[w.annotations,w.styleModifications,w.textModifications,w.domModifications,w.spacingTokenChanges,w.activeColor,I,ge,Ce,en.id,vt,Me,i,Zt,Be,qe,Tt,X,u,E,xe]),Ja=q(()=>mh(Qe,qa,!1),[qa]),Ua=cy(e&&t&&O.isConnected&&!E,ge,x,w,{provider:Ce,model:en.id,agentSettings:vt}),dt=E?.view?{...Ua,...E.view,toolbar:G}:Ua;P.current=dt.activePreview;let{onFocus:Ya,onActivity:Lt,onThread:ts}=Kg(E?.reportAttention,E?.viewedParticipantId??E?.participantId??"",w.activeColor,!!(E?.canReadThreads&&w.isAnnotating&&!dt.isPeeking)),ns=q(b=>{Je(b),Ya(b)},[Je,Ya]),sa=q(()=>{st(),Lt()},[st,Lt]),da=q(async(b,k,W,V)=>{if(E&&!E.canReply)throw new Error("Edit permission is required to send thread messages.");Ce==="omp"&&Tt("omp"),Fr(ue=>({threadId:b,sequence:(ue?.sequence??0)+1})),fo(ue=>{if(!(b in ue))return ue;let Re={...ue};return delete Re[b],Re});let se=Object.values(Jo.current).find(ue=>ue.threadId===b)?.color??w.annotations.find(ue=>ue.threadId===b)?.color??w.activeColor,ae=w.annotations.filter(ue=>ue.threadId===b&&(ue.status==="waiting_input"||ue.status==="resolved"||ue.status==="needs_review")),he=ae.map(ue=>ue.id),pe;if(u)try{pe=ac(await u({kind:"reply",timestamp:Date.now(),url:window.location.href,pathname:Me,threadId:b,reply:k,annotations:ae}))}catch(ue){console.error("[Popmelt] Unable to capture reply metadata:",ue);return}let Le=`_pending_reply_${Date.now()}`,je={annotationIds:he,styleSelectors:[],color:se,threadId:b};try{let ue=JSON.parse(localStorage.getItem(xe)||"{}");ue[Le]=je,localStorage.setItem(xe,JSON.stringify(ue))}catch{}De(ue=>({...ue,[Le]:je}));try{let ue=sc(se),{jobId:Re}=await Qm(b,k,ge,ue,Ce,en.id,W,Us(),vt,{...V,...pe?{meta:pe}:{}}),ut={...je};try{let jt=JSON.parse(localStorage.getItem(xe)||"{}");delete jt[Le],jt[Re]=ut,localStorage.setItem(xe,JSON.stringify(jt))}catch{}return De(jt=>{let{[Le]:Kr,...Ar}=jt;return{...Ar,[Re]:ut}}),et(jt=>gh(jt,b,Re)),ae.length>0&&I({type:"SET_ANNOTATION_STATUS",payload:{ids:he,status:"in_flight"}}),ze(b),{jobId:Re}}catch(ue){try{let Re=JSON.parse(localStorage.getItem(xe)||"{}");delete Re[Le],localStorage.setItem(xe,JSON.stringify(Re))}catch{}throw De(Re=>{let{[Le]:ut,...jt}=Re;return jt}),console.error("[Pare] Failed to send reply:",ue),ue}},[w.activeColor,w.annotations,ge,ze,I,Ce,en.id,vt,Tt,u,Me,E,xe]);_(()=>{for(let b of O.pendingQuestions){In(b.jobId,"waiting_input","Question");let k=b.annotationIds&&b.annotationIds.length>0?b.annotationIds:ne[b.jobId]?.annotationIds??Pe.current.get(b.jobId);if((!k||k.length===0)&&b.threadId&&(k=w.annotations.filter(W=>W.threadId===b.threadId).map(W=>W.id)),k&&k.length>0){let W=new Set(k),V=w.annotations.filter(se=>W.has(se.id));if(V.length===0||V.every(se=>se.status==="waiting_input"&&se.question===b.question&&se.threadId===b.threadId))continue;I({type:"SET_ANNOTATION_QUESTION",payload:{ids:k,question:b.question,threadId:b.threadId}})}}},[O.pendingQuestions,I,ne,w.annotations,In]);let rs=Se(()=>{if(O.activeJobId&&O.activeJobId in ne)return ne[O.activeJobId].color;let b=Object.values(ne);return b.length>0?b[b.length-1].color:void 0},[O.activeJobId,ne]),Jr=q((b,k=!1)=>{Rn(W=>W+1),!k&&w.activeTool==="model"&&I({type:"SET_TOOL",payload:"inspector"}),Gt({type:"open_thread",threadId:b})},[Gt,I,w.activeTool]),vo=q(b=>{Q&&Jr(b)},[Jr,Q]),mn=q(()=>{Gt({type:"close_thread"})},[Gt]),Vo=E?.deletePeerThread,wr=E?.deletedPeerThreadIds,Ot=Se(()=>new Set([...Qt,...wr??[]]),[Qt,wr]);_(()=>{He&&wr?.includes(He)&&mn()},[He,wr,mn]),_(()=>{if(!Vo||!w.isAnnotating||!He)return;let b=k=>{!["Delete","Backspace"].includes(k.key)||k.metaKey||k.ctrlKey||k.altKey||mm(k)||(k.preventDefault(),k.stopImmediatePropagation(),Vo(He).then(mn).catch(()=>{}))};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[Vo,He,w.isAnnotating,mn]);let tr=E?.requestedThread;yS(dt.selectedId,tr,mn,vo);let Nt=q(async b=>(await Yt(`${ge}/thread/${encodeURIComponent(b)}`)).status,[ge]),Ur=q(b=>{Gt({type:"restore_thread",threadId:b,...Gn.current})},[Gt]);uy(E?.navigation,dt.selectedId,O.isConnected&&Q,He??Mn??_n,tn,Nt,Ur);let[bo,xo]=$(0),Sr=my(`${x}:${bo}`,async b=>{if(!(await ng(b,ge)).archived)throw new Error("Thread not found")},b=>tg(b,ge),z);S.current=Sr.tryUndo;let Ka=q(b=>{if(E&&!E.isHost){Vo?.(b).catch(()=>{});return}if(Object.values(ne).some(ae=>ae.threadId===b))return;He===b&&mn();let k=new Set(w.annotations.filter(ae=>ae.threadId===b).flatMap(ae=>ae.groupId?[ae.groupId]:[])),W=w.annotations.filter(ae=>ae.threadId===b||ae.groupId&&k.has(ae.groupId)).map(ae=>ae.id),V=w.annotations.filter(ae=>W.includes(ae.id)),se=Array.from(qe.entries()).filter(([,ae])=>ae.threadId===b);W.length>0&&I({type:"SET_ANNOTATION_STATUS",payload:{ids:W,status:"dismissed"}}),et(ae=>new Map(Array.from(ae.entries()).filter(([,he])=>he.threadId!==b))),$n(ae=>new Set(ae).add(b)),Pf([b],x),Sr.dismiss(b,()=>{for(let ae of V)I({type:"SET_ANNOTATION_STATUS",payload:{ids:[ae.id],status:ae.status??"resolved"}});if(et(ae=>{let he=new Map(ae);for(let[pe,Le]of se)he.has(pe)||he.set(pe,Le);return he}),$n(ae=>{let he=new Set(ae);return he.delete(b),he}),x)try{let ae=Vl(x);ae.delete(b),localStorage.setItem(Ni(Xl,x),JSON.stringify([...ae]))}catch{}})},[mn,I,x,w.annotations,Sr,ne,qe,He,E,Vo]),wi=q((b,k,W)=>{let V=ne[b],se=Jt.current.get(b),ae=V?.annotationIds??W??[];if(V||ae.length>0){let pe=new Set(V?.styleSelectors??[]);for(let Le of ae){let je=w.annotations.find(ue=>ue.id===Le);if(je&&(je.linkedSelector&&pe.add(je.linkedSelector),je.groupId))for(let ue of w.annotations)ue.groupId===je.groupId&&ue.linkedSelector&&pe.add(ue.linkedSelector)}pe.size>0&&(se=Array.from(pe))}se?.length&&TS(se);let he=V?.threadId||k||Wn.current.get(b);if(he){let pe=V?.kind==="project_model"&&(V.annotationIds?.length??0)===0;yi.current=pe?qd:V?.color??null,Jr(he,V?.kind==="synthesize")}},[ne,Jr,w.annotations]),Xa=q((b,k)=>{if(!b){Ie(null);return}let W=k??Pe.current.get(b);W&&W.length>0?Ie(new Set(W)):Ie(null)},[]),Go=q(async b=>{try{let k=b?`${ge}/cancel?jobId=${b}`:`${ge}/cancel`;await Yt(k,{method:"POST"})}catch{}},[ge]),Si=q(async()=>{Vn("restarting"),fn("Restarting bridge");let b=await Zm(ge,ys,2e4);if(b.ok){await Fg(b.bridgeUrl??r,x),On(b.status.version??ys),Vn("ok"),fn(b.status.version?`Bridge restarted on ${b.status.version}`:"Bridge restarted"),Ze(k=>k+1);return}On(b.status?.version??gt),Vn("error"),fn(b.error)},[gt,r,x,ge]),ca=Se(()=>{if(!He)return null;for(let b of Object.values(ne))if(b.threadId===He&&b.kind){if(b.kind==="project_model"&&b.annotationIds.length>0)continue;return b.kind}return null},[He,ne]),wo=ca==="project_model",Ii=ca==="synthesize",{surface:Yr,phase:ki,show:Ir,leave:So,dismiss:kr}=yh({openDelayMs:0,exitDurationMs:vs}),nr=B(new Set),[Qo,Io]=$(()=>new Set),os=q((b,k)=>{k?nr.current.add(b):nr.current.delete(b),Io(new Set(nr.current)),nr.current.size>0?Ir("toolbar"):So("toolbar")},[So,Ir]),Er=hS({toolbarExpanded:w.isAnnotating,toolbarSources:Qo,chromeHoverSurface:Yr,chromeHoverPhase:ki,activeTool:w.activeTool,peerPlanePeeking:dt.isPeeking}),rr=Er.threadTemporarilyHidden,gn=B(He);_(()=>{Yr&&fS(gn.current,He,Yr)&&kr(Yr),gn.current=He},[Yr,kr,He]),_(()=>{Gt(w.activeTool==="model"?{type:"enter_imprint",preserveOpenThread:Ii}:{type:"leave_imprint"})},[Gt,w.activeTool,He,Ii]),_(()=>{Gt({type:w.isAnnotating?"expand_toolbar":"collapse_toolbar"})},[Gt,w.isAnnotating]);let an=Se(()=>vh(He,ne,O.activeJobIds,O.activeJobThreads,Br),[He,ne,O.activeJobIds,O.activeJobThreads,Br]),Ut=He?w.annotations.find(b=>b.threadId===He):void 0,Bn=He?Array.from(qe.values()).find(b=>b.threadId===He&&b.color)?.color:void 0,qn=He?zt.current.get(He):void 0,ua=Se(()=>{if(!He)return null;let b=[...O.events].reverse().find(k=>(k.type==="done"||k.type==="error")&&k.data.threadId===He);return typeof b?.data.jobId=="string"?b.data.jobId:null},[O.events,He]),is=Se(()=>an?O.events.filter(b=>b.data.jobId===an):vS,[an,O.events]),Ei=Se(()=>wo?qd:Bn??Ut?.color??yi.current??w.activeColor,[wo,Ut?.color,Bn,w.activeColor]),Zo=!!(x&&Sn===x),ko=Se(()=>mS(w.annotations,Qt,Zo?qe.values():[]),[Qt,Zo,qe,w.annotations]),pa=Se(()=>bh(qe,Qt,ko,Zo),[Qt,Zo,qe,ko]),Va=Se(()=>{let b=new Map;for(let k of w.annotations)k.threadId&&k.color&&b.set(k.threadId,k.color);for(let k of qe.values())k.threadId&&k.color&&b.set(k.threadId,k.color);return b},[qe,w.annotations]),Ga=[...pa.values()].find(b=>b.threadId===He)?.annotationNumber,fa=mc({state:w,activeText:null,currentPathname:Me,dismissedThreadIds:Qt,modifiedElementThreadStates:pa}),ha=gc({state:w,pageAnnotations:fa.pageAnnotations,pageStyleModifications:fa.pageStyleModifications,pageTextModifications:fa.pageTextModifications}),ma=pw(Ut?ha.annotationGroupMap.get(Ut.id):void 0,Ga,{activePreview:!!dt.activePreview,annotationNumber:He?dt.threadAnnotationNumbers?.get(He):void 0}),Ti=q(b=>{if(!He)return;let k=gS(ko,He,b);k&&Jr(k)},[ko,He,Jr]),Ci=He!==null&&ko.length>1&&ko.includes(He),[Ai,ga]=$(!1),Eo=B(!1),Tr=B(null),Mi=q(b=>{b?(Tr.current&&(clearTimeout(Tr.current),Tr.current=null),ga(!0)):Tr.current=setTimeout(()=>{ga(!1),Tr.current=null},150)},[]),ei=q(b=>{Mi(b),b?Ir("job-stack"):nr.current.size>0?Ir("toolbar"):So("job-stack")},[Mi,So,Ir]);_(()=>{if(E)return;let b=O.workspaceGeneration;if(!x||b===void 0||!Number.isInteger(b)||b<0)return;let k=yc(localStorage,x);if(k!==null&&b<k)return;let W=xh(k,b);if(localStorage.setItem(vc(x),String(b)),!W)return;if(Eo.current){Eo.current=!1;return}au(w.styleModifications),Om(w.textModifications),Nm(w.domModifications),document.querySelectorAll("[data-pm]").forEach(se=>se.removeAttribute("data-pm")),I({type:"CLEAR"}),I({type:"CLEAR_ALL_STYLES"});let V=wh(x);for(let se of[V.annotations,V.styleMods,V.textMods,V.domMods,V.spacingChanges])localStorage.removeItem(se);bs(localStorage),ht.current.clear(),ft.current.clear(),De({}),et(new Map),Fr(null),vr(new Set),Zn(new Set),qo(new Set),fo({}),$n(new Set),xo(se=>se+1),Oe(),mn()},[O.workspaceGeneration,Oe,mn,I,x,E,w.domModifications,w.styleModifications,w.textModifications]);let Cr=q(()=>{bs(localStorage),ht.current.clear(),ft.current.clear();let b=Array.from(new Set(w.annotations.flatMap(k=>k.threadId?[k.threadId]:[])));Pf(b,x),$n(k=>{let W=new Set(k);for(let V of b)W.add(V);return W}),Eo.current=!0,eg(ge).then(({workspaceGeneration:k})=>{if(x){let W=yc(localStorage,x);(W===null||k>W)&&localStorage.setItem(vc(x),String(k))}Eo.current=!1}).catch(k=>{Eo.current=!1,console.warn("[Popmelt] Failed to clear bridge workspace:",k)}),xo(k=>k+1),Oe(),mn(),Go()},[Oe,mn,x,Go,ge,w.annotations]);_(()=>()=>{Tr.current&&clearTimeout(Tr.current)},[]);let[Qa,Jn]=$(!1);if(_(()=>{Jn(!0)},[]),!e||!Qa)return null;let ya=f(dc.Provider,{value:t?dt.toolbar??G:null,children:A(Nx,{children:[f(Sh.Provider,{value:Q?vo:void 0,children:dt.overlay}),w.isAnnotating&&O.isConnected&&!dt.isPeeking&&!dt.activePreview&&f(Bc,{element:Ge,elements:$e,registry:X}),f(Bi.Provider,{value:!dt.activePreview&&!dt.isPeeking,children:f("div",{"data-devtools":"host-canvas",style:{display:dt.isPeeking||dt.activePreview?"none":"contents"},children:f(xx,{historyPreview:En,onFocusTargetChange:ns,onFocusActivity:sa,bridgeUrl:ge,steeringContextStorageKey:x?t0(x):void 0,state:dt.activePreview?{...w,isAnnotating:!1,annotations:[],styleModifications:[],textModifications:[],domModifications:[]}:w,dispatch:I,onScreenshot:Xo,inFlightAnnotationIds:br,inFlightOrientationLabels:Fa,waitingApprovalJobIds:vi,activeAnnotationIds:Gl,queuePositionMap:Ql,inFlightStyleSelectors:Wa,inFlightStyleSelectorJobIds:bi,inFlightSelectorColors:aa,modifiedElementThreadStates:pa,dismissedThreadIds:Qt,onAttachImages:Zl,onRemoveImages:es,onCaptureInteractionFrame:Pt,onSend:O.isConnected&&(!E||E.canSend)?Ja:void 0,onReply:O.isConnected&&(!E||E.canReply)?da:void 0,onViewThread:O.isConnected&&Q?vo:void 0,onCloseThread:mn,onArchiveThread:Ka,onDeleteSubmittedAnnotation:E&&!E.isHost&&E.deletePeerAnnotations?b=>{E.deletePeerAnnotations(E.participantId,[b]).catch(()=>{})}:void 0,highlightedAnnotationIds:ce,cycleFocusedAnnotationIds:Bo,onCanvasInteraction:gi,focusedThreadAnnotationId:Ut?.id,openThreadId:He,hasOpenThread:He!==null,externalCanvasRef:Ve,toolbarRef:nt,threadPanelElement:rr?null:ve,clearSignal:bo,subjectRegistry:X,subjectRegistryReady:Te},`annotation-canvas:${x??"pending"}`)})}),f(qx,{zIndex:He!==null&&!rr?10004:10003,children:A(Fx,{children:[f(Ih,{onPreviewHistoryThread:Xt,threadOpenRequest:$t,projectId:x,state:w,hasExternalSendableItems:!!(dt.activePreview&&dt.approve),readOnlyPreview:dt.activePreview,dispatch:b=>{(!dt.activePreview||b.type==="SET_ANNOTATING")&&I(b)},onScreenshot:Xo,onSendToClaude:dt.activePreview?dt.approve:O.isConnected&&(!E||E.canSend)?Ja:void 0,hasActiveJobs:Object.keys(ne).length>0||O.activeJobIds.length>0,activeJobColor:rs,onCrosshairHover:Mi,onClear:Cr,provider:Ce,onProviderChange:!y&&O.isConnected&&ye.length>1?wn:void 0,availableProviders:ye,modelIndex:cn,modelCount:Rt.length,modelLabel:en.label,models:Rt,agentSettings:vt,onModelChange:!y&&O.isConnected?hr:void 0,onModelMenuOpen:()=>{Tt(Ce)},onAgentSettingsChange:O.isConnected?mr:void 0,onViewThread:O.isConnected&&Q?vo:void 0,onNavigate:gr,annotationCycleFocus:An,onAnnotationCycleFocusChange:Ct,isThreadPanelOpen:He!==null&&!rr&&!Ii,hasOpenThreadPanel:He!==null&&!Ii,projectPanelTemporarilyHidden:Er.projectPanelTemporarilyHidden,onToolbarHoverChange:os,activeChromeHoverSurface:Yr,mcpStatus:rn,bridgeUrl:ge,isBridgeConnected:O.isConnected,packageVersion:ys,bridgeVersion:gt,projectRoot:on,projectRootAccess:Bt?.projectRoot,codexSandboxMode:Bt?.codex.sandboxMode,bridgeRestartState:Vt,bridgeRestartMessage:co,onBridgeRestart:Si,toolbarRef:nt,snapPosition:Cn,onSnapPositionChange:Ht},`annotation-toolbar:${x??"pending"}`),Q&&w.isAnnotating&&He&&f(uS,{onAttentionChange:ts,threadId:He,bridgeUrl:ge,accentColor:Ei,initialMessages:qn?[qn.message]:void 0,completedJobId:ua,refreshKey:`${E?.pendingSubmissions?.find(b=>b.threadId===He)?.revision??""}:${O.events.findLast(b=>b.type==="thread_changed"&&b.data.threadId===He)?.data.jobId??""}`,isStreaming:an!==null,isQueued:an!==null&&!O.activeJobIds.includes(an)&&!Br.has(an),queuePosition:an&&!O.activeJobIds.includes(an)&&!Br.has(an)?(()=>{let b=fc(Object.keys(ne),O.activeJobIds,Br),k=b.indexOf(an);return k>=0?`(${k+1}/${b.length})`:void 0})():void 0,activeJobId:an,streamingEvents:is,onClose:mn,onReply:D?da:void 0,onContribute:E?.contribute,onApproveSuggestion:E?.approveSuggestion,canManage:F,readOnlyReason:D?void 0:"Edit permissions required to comment in threads",onCancel:F&&an?()=>Go(an):void 0,lastError:O.lastErrorByJob?.[an??""]??(O.lastCompletedJobId&&Wn.current.get(O.lastCompletedJobId)===He?O.lastErrorByJob?.[O.lastCompletedJobId]:void 0),temporarilyHidden:rr,instantVisibilityHandoff:Er.toolbarPaneVisible,backdropCursor:w.isAnnotating&&w.activeTool==="sticker"?bc(Ei):void 0,toolbarRef:nt,surfaceRef:Ne,currentModel:en.id,currentProvider:Ce,availableProviders:ye,models:Rt,modelIndex:cn,agentSettings:vt,onProviderChange:!y&&O.isConnected?wn:void 0,onModelChange:!y&&O.isConnected?hr:void 0,onAgentSettingsChange:O.isConnected?mr:void 0,onModelMenuOpen:()=>{Tt(Ce)},annotationNumber:ma,annotationText:Ut?.text,onPreviousThread:Ci?()=>Ti(-1):void 0,onNextThread:Ci?()=>Ti(1):void 0,preferredSide:wo?"left":"right",modal:!wo},`${He}:${wo?"workflow":"default"}`),Q&&f(Hx,{noticeScope:qr,ownedThreadIds:Yo?.scope===qr?Yo.threadIds:null,allowThreadlessNotices:!E||E.isHost,viewedThreadId:He,bridge:O,bridgeUrl:ge,inFlightJobs:ne,threadColors:Va,isVisible:Ai||O.lastResponseText!==null||O.activeJobIds.length>0,isHidden:!w.isAnnotating||dt.isPeeking||dt.activePreview,onHover:ei,isInteractionSuppressed:Er.statusInteractionSuppressed,clearSignal:bo,onReply:D?da:void 0,onClickJob:wi,onCancel:F?Go:void 0,onHoverJob:Xa,isConnected:O.isConnected,dismissedThreadIds:Ot,acknowledgedThread:_r,recoveredAcknowledgedThreadIds:Qn,recoveredAcknowledgedJobIds:un,recoveredSettledQuestionThreadIds:po,pendingQuestionThreadIds:H,snapPosition:Cn,currentPathname:Me},qr)]})})]})});return f(hm.Provider,{value:Y,children:ya})}export{Ng as a,AS as b};
|