@popmelt.com/core 0.26.0 → 0.27.1
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 +8 -0
- package/claude-plugin/.claude-plugin/plugin.json +1 -1
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/dist/{ParticipantRuntime-5WM2XJT7.mjs → ParticipantRuntime-TWGYNKIS.mjs} +4 -4
- package/dist/{PopmeltTasteConnectedPane-IXJ2KAPX.mjs → PopmeltTasteConnectedPane-WDF556E2.mjs} +6 -6
- package/dist/{PreviewRuntime-ATSECGMB.mjs → PreviewRuntime-KGLZJGUN.mjs} +1 -1
- package/dist/adapter-react-three-fiber.d.mts +1 -1
- package/dist/adapter-three.d.mts +6 -0
- package/dist/bridge-entry.mjs +2 -2
- package/dist/{browser-runtime-O5GITMZB.mjs → browser-runtime-PFJI3VEQ.mjs} +1 -1
- package/dist/browser.d.mts +4 -4
- package/dist/browser.mjs +1 -1
- package/dist/chunk-3PVLCKSV.mjs +370 -0
- package/dist/chunk-7MGWRICI.mjs +77 -0
- package/dist/{chunk-FRHGK5ZV.mjs → chunk-7YCLSSQA.mjs} +1 -1
- package/dist/{chunk-7IVK4FEU.mjs → chunk-CLDWTCKX.mjs} +1 -1
- package/dist/chunk-D7HY2EDH.mjs +2 -0
- package/dist/{chunk-NXMPY7RX.mjs → chunk-TSY2K45H.mjs} +1 -1
- package/dist/{chunk-MGIH5NQE.mjs → chunk-YC7B37F6.mjs} +1 -1
- package/dist/chunk-YMCTJKYN.mjs +345 -0
- package/dist/cli.mjs +2 -2
- package/dist/index.d.mts +5 -5
- package/dist/index.mjs +1 -1
- package/dist/media.d.mts +3 -3
- package/dist/{participantBootstrap-BQHbHI4r.d.mts → participantBootstrap-QZ3wuqi1.d.mts} +2 -2
- package/dist/plugin-astro.mjs +1 -1
- package/dist/plugin-nuxt.mjs +1 -1
- package/dist/plugin-vite.mjs +1 -1
- package/dist/{server-QHSVIUQW.mjs → server-J5NV3BMT.mjs} +2 -2
- package/dist/server.mjs +30 -30
- package/dist/{subjects-BM3Smdow.d.mts → subjects-CG6UyWFr.d.mts} +6 -0
- package/dist/{video-adapter-Gm5gmoiz.d.mts → video-adapter-DrTI5cRl.d.mts} +1 -1
- package/package.json +1 -1
- package/dist/chunk-CWVRJOGB.mjs +0 -370
- package/dist/chunk-EH5Y2F4E.mjs +0 -77
- package/dist/chunk-J2OX47QB.mjs +0 -345
- package/dist/chunk-ZJPPZLXU.mjs +0 -2
package/dist/chunk-CWVRJOGB.mjs
DELETED
|
@@ -1,370 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import{a as oc,b as Qh}from"./chunk-EX63NVDN.mjs";import{d as Zh,g as ef,m as tf,l as nf}from"./chunk-N2ZEZCHO.mjs";import{a as rf}from"./chunk-J3UIBBU2.mjs";import{ca as Qa,e as of,kb as ic,h as af,g as ac,Pb as cs,a as lf,Tb as lc,Ub as sc,Sb as dc,Bb as sf,Cb as df,$a as $i,Ba as cf,Zb as uf,_b as cc,Aa as pf,ec as hf,ac as ff,bc as mf,cc as gf,qb as yf,Ca as vf,Va as bf,Ra as uc,sb as wf,ta as xf,ua as us,va as Sf,wa as kf,rb as If,Xa as Ef,za as Tf,Gb as ps,Fb as Af,Eb as hs,$b as Cf,Da as Mf,eb as pc,Ta as hc,cb as fc,db as Rf,bb as mc,ab as Lf,Ya as fs,da as Pf,Yb as jf,H as gc,Qa as $f,v as zf,Qb as yc,hb as Df,gb as Hf,jb as Of,fb as Nf,ib as _f,Ua as Ff,V as Wf,W as Jf,D as Bf,p as vc,i as io,Ja as Zt,x as qf,Ma as Yf,Pa as Uf,l as bc,Za as Xf,w as Kf,Ka as wc,Fa as zi,ja as Vf,Ea as Gf,ha as xc,oa as Qf,xb as ci,gc as Zf,dc as em,wb as Sc,yb as kc,Ib as ms,Kb as tm,Wb as nm,Xb as rm,Db as om,zb as im,Ab as am,Sa as lm,Wa as gs,ga as sm,r as ys,U as Ic,X as Ec,ba as Tc,aa as Ac,G as ui,Y as Cc,$ as Di,fa as dm,Na as vs,Ia as cm,Ha as bs,Ga as ws,ea as um,ya as pm,xa as hm,_a as fm,La as Mc,Oa as Rc,q as mm,s as gm,u as ym,c as vm,I as bm,ma as Lc,ka as Pc,la as jc,na as wm,pa as $c,ra as zc,sa as xm,ia as Sm,Rb as Dc,Vb as Hc,d as km,E as Hi,S as xs,J as pi,_ as Za,M as Oc,y as Im,k as Em,m as Nc,o as Tm,n as Am,j as Cm,t as Mm,qa as Rm,L as el,z as _c,Q as Lm,B as Pr,N as Ss,K as ua,A as ks,C as Pm,R as jm,P as $m,Z as Is,O as Fc,F as Wc,T as zm}from"./chunk-J2OX47QB.mjs";import{Z as Es,v as Jc,x as Xt,ya as Bc,B as qc,z as Yc,A as Ts,C as Dm,D as pa,F as Uc,G as Xc,L as Hm,N as Om,M as Nm,J as _m,O as Fm,Ia as Kc,R as Oi,qa as Wm,P as Jm,pa as tl,oa as Bm,ha as Sn,Y as As,ea as lr,ja as Cs,da as ha,la as qm,S as nl,Ba as Vc,ca as ao,Ga as Ym,Ha as Gc,aa as Um,$ as Xm,xa as Ms,va as Rs,Aa as Qc,E as Km,y as Vm,n as Zc,m as fa,j as rl,o as Ni,ba as eu,fa as Gm,ga as Qm,_ as Zm,Da as eg,Ca as tu,Fa as tg,Ea as ng,za as nu,r as ru,l as Ls,Q as rg,ia as Ps,ka as ou,ma as iu,k as ol,q as js,w as og,i as au,p as ig}from"./chunk-EH5Y2F4E.mjs";import{c as ag,a as lu,b as ma,d as il}from"./chunk-NXMPY7RX.mjs";import{j as ln,A as su,C as lg,E as sg,d as ga,i as Ro,p as sn,q as _i,h as al,z as du,y as dg,w as cg,t as jr,v as ug,x as ot,k as pg,l as hg,g as cu,u as fg,a as mg,r as gg,s as yg,c as uu,b as $s}from"./chunk-ZJPPZLXU.mjs";import{lazy as pu,memo as vg,useContext as $r,useState as P,Fragment as bg,useRef as q,useEffect as _,useCallback as U,useMemo as xe,Suspense as hu,cloneElement as wg,useSyncExternalStore as xg,useLayoutEffect as Tt,useId as Sg}from"react";import{domToCanvas as kg,createContext as Ig,destroyContext as Eg}from"modern-screenshot";import{jsx as h,jsxs as T,Fragment as rt}from"react/jsx-runtime";import{Fingerprint as lo,Component as ll,Ban as sl,Terminal as fu,PenLine as mu,ImageIcon as Tg,Plug as Ag,SquareMousePointer as Cg,ChevronRight as zs,FilePenLine as Mg,ChevronDown as Fi,Check as Lo,ChevronLeft as Rg,X as dl,Send as gu,Clock as yu,Lock as Lg,ArrowDown as Pg,OctagonAlert as vu,MessageCircleQuestionMark as jg,Reply as $g,TriangleAlert as zg,Command as bu,CornerDownLeft as Ds,EyeOff as Dg,Trash2 as Hg}from"lucide-react";import{createPortal as wu}from"react-dom";function Og(e){return Jc(e)?new Ng(e):new EventSource(e)}var Ng=class{constructor(e){this.readyState=0,this.onerror=null,this.controller=new AbortController,this.listeners=new Map,this.read(e)}addEventListener(e,t){let n=this.listeners.get(e)??new Set;n.add(t),this.listeners.set(e,n)}close(){this.readyState=2,this.controller.abort(),this.listeners.clear()}emit(e,t){let n=new MessageEvent(e,{data:t});for(let r of this.listeners.get(e)??[])r(n)}async read(e){try{let t=await fetch(e,og(e,{signal:this.controller.signal}));if(!t.ok||!t.body||!t.headers.get("content-type")?.includes("text/event-stream"))throw new Error("Event stream unavailable");if(this.controller.signal.aborted)return;this.readyState=1;let n=t.body.getReader(),r=new TextDecoder,o="",i="message",a=[],l=0;try{for(;!this.controller.signal.aborted;){let s=await n.read();if(s.done)throw new Error("Event stream ended");if(o+=r.decode(s.value,{stream:!0}),o.length>2*1024*1024)throw new Error("Event frame too large");let c;for(;(c=o.indexOf(`
|
|
3
|
-
`))!==-1;){let d=o.slice(0,c).replace(/\r$/,"");if(o=o.slice(c+1),!d)a.length&&this.emit(i,a.join(`
|
|
4
|
-
`)),i="message",a=[],l=0;else if(d.startsWith("event:"))i=d.slice(6).trimStart();else if(d.startsWith("data:")&&(a.push(d.slice(5).replace(/^ /,"")),l+=d.length,l>2*1024*1024))throw new Error("Event frame too large")}}}finally{await n.cancel().catch(()=>{})}}catch{if(this.controller.signal.aborted)return;this.readyState=2,this.emit("error",""),this.onerror?.call(this,new Event("error"))}}};function _g(e,t,n){return[...e].reverse().find(o=>o.type==="done"||o.type==="error")||(t?void 0:n)}function xu(e,t,n){let r=new Set(t.map(s=>s.id)),o=new Map(n.map(s=>[s.id,s])),i=e.flatMap(s=>{let c=o.get(s);return c?.status==="done"||c?.status==="error"?[c]:[]}),a=new Set(i.map(s=>s.id)),l=e.filter(s=>!a.has(s));for(let s of r)l.includes(s)||l.push(s);return{serverActiveIds:r,terminalJobs:i,reconciledActiveIds:l}}function Su(e,t){return e.store===void 0&&(e.store=t),e.store}function Fg(e,t){let n=e.listeners??(e.listeners=new Set);return n.add(t),()=>n.delete(t)}function Wg(e,t,n){let r=n(Su(e,t));e.store=r;for(let o of e.listeners??[])o();return r}var Ze=globalThis.__POPMELT_BRIDGE_CONNECTION__??(globalThis.__POPMELT_BRIDGE_CONNECTION__={}),cl=Ze.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));Ze.sourceId=cl;try{typeof localStorage<"u"&&localStorage.setItem("popmelt-source-id",cl)}catch{}function Hs(){return cl}var ul={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0};Ze.store??(Ze.store={...ul}),Ze.listeners??(Ze.listeners=new Set);var zr=Ze.activeEs??null,pl=Ze.activeBridgeUrl??null,Dr=null,Kn=Ze.connectionGeneration??0,hl=new Set,Wi=new Map,Po={},Os=new Set;function jn(e,t){if(!e)return!1;if(Os.has(e))return!0;if(hl.has(e)){let r=Wi.get(e);return r||(r=[],Wi.set(e,r)),r.push({type:t.type??"",data:t}),!0}let n=Po[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function ku(e,t,n,r=new Map){let o=()=>n!==(Ze.connectionGeneration??0);for(let i of t){if(o())return;hl.add(i),Wi.set(i,[])}await Promise.all(t.map(async i=>{try{let a=await Uc(e,i);if(o())return;let l=Wi.get(i)??[];if(a){ut(d=>{let p={...d.jobResponses,[i]:a.accumulated.response},u={...d.jobThinking,[i]:a.accumulated.thinking},f=[...d.events];for(let m of a.events)m.type==="done"||m.type==="error"||f.push({type:m.type,data:m,timestamp:Date.now()});return{...d,jobResponses:p,jobThinking:u,currentResponse:i===d.activeJobId?a.accumulated.response:d.currentResponse,currentThinking:i===d.activeJobId?a.accumulated.thinking:d.currentThinking,events:f}}),Po[i]=a.currentSeq;let s=[...a.events].reverse().find(d=>d.type==="job_started"||d.type==="job_parked");s?.type==="job_parked"&&Ji("job_parked",s,i);let c=_g(a.events,a.jobActive,r.get(i));c&&Ji(c.type,c,i);for(let d of l)typeof d.data.seq=="number"&&d.data.seq<=a.currentSeq||Ji(d.type,d.data,i)}else{let s=!1;for(let d of l)Ji(d.type,d.data,i),(d.type==="done"||d.type==="error")&&(s=!0);let c=r.get(i);!s&&c&&Ji(c.type,c,i)}}finally{hl.delete(i),Wi.delete(i)}}))}function Ji(e,t,n){if(e==="job_parked")ut(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")ut(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||"";ut(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||"";ut(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")ut(r=>({...r,events:[...r.events,{type:"status",data:t,timestamp:Date.now()}]}));else if(e==="done")delete Po[n],ut(r=>{let o=r.activeJobIds.filter(c=>c!==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 Po[n];let r=t.message??"";ut(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 ut(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 Vn=Ze.discoveredBridgeUrl??null,$n=Ze.discoveredBridgeProjectId??null,jo=null,Bi=null;function Iu(e,t=!1){let n=e??null;if(!(!t&&(Ze.expectedProjectId??null)===n)){zr&&(zr.close(),zr=null,Ze.activeEs=null),Dr&&(clearTimeout(Dr),Dr=null),pl=null,Ze.activeBridgeUrl=null,Vn=null,$n=null,Ze.discoveredBridgeUrl=null,Ze.discoveredBridgeProjectId=null,jo=null,Bi=null,hl.clear(),Wi.clear(),Os.clear();for(let r of Object.keys(Po))delete Po[r];Ze.expectedProjectId=n,Kn=(Ze.connectionGeneration??Kn)+1,Ze.connectionGeneration=Kn,ut(()=>({...ul}))}}function Jg(){Ze.listeners?.size||Iu(null,!0)}async function Eu(e,t){if(Vn&&(t?$n===t:!$n))return Vn;if(!t&&$n&&(Vn=null,$n=null,Ze.discoveredBridgeUrl=Vn,Ze.discoveredBridgeProjectId=$n),t&&$n&&$n!==t&&(Vn=null,$n=null,Ze.discoveredBridgeUrl=Vn,Ze.discoveredBridgeProjectId=$n),jo&&Bi===(t??null))return jo;let n=Kn;return Bi=t??null,jo=Km(e,t).then(r=>n!==Kn?null:(Vn=r?.url??null,$n=r?.projectId??t??null,Ze.discoveredBridgeUrl=Vn,Ze.discoveredBridgeProjectId=$n,jo=null,Bi=null,Vn)).catch(()=>(n!==Kn||(jo=null,Bi=null),null)),jo}function Bg(){return Vn}async function qg(e,t){Vn=null,$n=null,Ze.discoveredBridgeUrl=null,Ze.discoveredBridgeProjectId=null,jo=null,Bi=null;let n=Kn,r=await Eu(e,t);return r&&n===Kn&&Ns(r),r}function ya(){return Su(Ze,{...ul})}function Yg(e){return Fg(Ze,e)}function ut(e){Wg(Ze,{...ul},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 Ug(){return typeof window<"u"?window.__POPMELT_PROJECT_ID__??null:null}function Ns(e){if(zr&&zr.readyState!==EventSource.CLOSED&&pl===e)return;zr&&(zr.close(),zr=null,Ze.activeEs=null),Dr&&(clearTimeout(Dr),Dr=null),pl=e,Ze.activeBridgeUrl=pl,Kn=(Ze.connectionGeneration??Kn)+1;let t=Kn;Ze.connectionGeneration=Kn;let n=new URLSearchParams({sourceId:cl}),r=Ug();r&&n.set("projectId",r);let o=Og(`${e}/events?${n.toString()}`);zr=o,Ze.activeEs=zr;let i=()=>t!==(Ze.connectionGeneration??0);o.addEventListener("connected",()=>{i()||pa(e).then(a=>{if(i())return;let l=[...a?.activeJobs??(a?.activeJob?[a.activeJob]:[]),...a?.queuedJobs?.filter(g=>g.parked)??[]],s=a?.recentJobs??[],c=xu(ya().activeJobIds,l,s),{serverActiveIds:d,terminalJobs:p}=c,u=p.map(g=>g.id),f=new Map;for(let g of p)f.set(g.id,g.status==="error"?{type:"error",jobId:g.id,message:g.error??"The agent run failed.",threadId:g.threadId,annotationIds:g.annotationIds}:{type:"done",jobId:g.id,success:!0,threadId:g.threadId,annotationIds:g.annotationIds});ut(g=>{let y={...g.lastErrorByJob};for(let A of p)A?.status==="error"&&A.error&&(y[A.id]=A.error);let x=xu(g.activeJobIds,l,s).reconciledActiveIds,L={};for(let A of l)A.threadId&&(L[A.id]=A.threadId);return{...g,isConnected:!0,status:x.length>0?"streaming":u.length>0||g.status==="disconnected"?"idle":g.status,activeJobId:x.length>0?x[x.length-1]:null,activeJobIds:x,activeJobThreads:L,lastErrorByJob:y,workspaceGeneration:a?.workspaceGeneration}});let m=[...new Set([...Array.from(d),...u])];m.length>0&&ku(e,m,t,f).catch(()=>{})})}),o.addEventListener("job_parked",a=>{if(i())return;let l=JSON.parse(a.data);jn(l.jobId,l)||Ji("job_parked",l,l.jobId)}),o.addEventListener("thread_changed",a=>{if(i())return;let l=JSON.parse(a.data);ut(s=>({...s,events:[...s.events,{type:"thread_changed",data:l,timestamp:Date.now()}]}))}),o.addEventListener("job_started",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(jn(s,l))return;let c=l.threadId;ut(d=>({...d,status:"streaming",activeJobId:s,activeJobIds:d.activeJobIds.includes(s)?d.activeJobIds:[...d.activeJobIds,s],activeJobThreads:c?{...d.activeJobThreads,[s]:c}:d.activeJobThreads,jobResponses:{...d.jobResponses,[s]:d.jobResponses[s]??""},jobThinking:{...d.jobThinking,[s]:d.jobThinking[s]??""},currentResponse:d.jobResponses[s]??"",currentThinking:d.jobThinking[s]??"",lastResponseText:null,lastThreadId:null,events:[...d.events,{type:"job_started",data:l,timestamp:Date.now()}]}))}),o.addEventListener("delta",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(jn(s,l))return;let c=l.text||"";ut(d=>({...d,jobResponses:s?{...d.jobResponses,[s]:(d.jobResponses[s]||"")+c}:d.jobResponses,currentResponse:!s||s===d.activeJobId?d.currentResponse+c:d.currentResponse,events:[...d.events,{type:"delta",data:l,timestamp:Date.now()}]}))}),o.addEventListener("thinking",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;if(jn(s,l))return;let c=l.text||"";ut(d=>({...d,jobThinking:s?{...d.jobThinking,[s]:(d.jobThinking[s]||"")+c}:d.jobThinking,currentThinking:!s||s===d.activeJobId?d.currentThinking+c:d.currentThinking,events:[...d.events,{type:"thinking",data:l,timestamp:Date.now()}]}))}),o.addEventListener("status",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;jn(s,l)||ut(c=>({...c,events:[...c.events,{type:"status",data:l,timestamp:Date.now()}]}))}),o.addEventListener("orientation",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;jn(s,l)||ut(c=>({...c,events:[...c.events,{type:"orientation",data:l,timestamp:Date.now()}]}))}),o.addEventListener("approval",a=>{if(i())return;let l=JSON.parse(a.data);jn(l.jobId,l)||ut(s=>({...s,events:[...s.events,{type:"approval",data:l,timestamp:Date.now()}]}))}),o.addEventListener("imprint_used",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;jn(s,l)||ut(c=>({...c,events:[...c.events,{type:"imprint_used",data:l,timestamp:Date.now()}]}))}),o.addEventListener("tool_use",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;jn(s,l)||ut(c=>({...c,events:[...c.events,{type:"tool_use",data:l,timestamp:Date.now()}]}))});for(let a of["image_generation","image_ready"])o.addEventListener(a,l=>{if(i())return;let s=JSON.parse(l.data),c=s.jobId;jn(c,s)||ut(d=>({...d,events:[...d.events,{type:a,data:s,timestamp:Date.now()}]}))});o.addEventListener("done",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;jn(s,l)||(s&&delete Po[s],ut(c=>{let d=s?c.activeJobIds.filter(y=>y!==s):c.activeJobIds,p={...c.jobResponses},u={...c.jobThinking},f={...c.activeJobThreads},m=s?p[s]:void 0;s&&(delete p[s],delete u[s],delete f[s]);let g=s===c.activeJobId?d.length>0?d[d.length-1]:null:c.activeJobId;return{...c,activeJobIds:d,activeJobId:g,jobResponses:p,jobThinking:u,lastCompletedJobId:s??c.activeJobId,lastResponseText:l.responseText||m||c.currentResponse||null,lastThreadId:l.threadId??null,...s===c.activeJobId?{currentResponse:g&&p[g]||"",currentThinking:g&&u[g]||""}:{},events:[...c.events,{type:"done",data:l,timestamp:Date.now()}]}}))}),o.addEventListener("question",a=>{if(i())return;let l=JSON.parse(a.data),s=l.jobId;jn(s,l)||ut(c=>({...c,pendingQuestions:[...c.pendingQuestions,{jobId:l.jobId,threadId:l.threadId,question:l.question,annotationIds:l.annotationIds,timestamp:Date.now()}],events:[...c.events,{type:"question",data:l,timestamp:Date.now()}]}))}),o.addEventListener("capabilities_changed",()=>{i()||ut(a=>({...a,capabilitiesVersion:a.capabilitiesVersion+1}))}),o.addEventListener("workspace_cleared",a=>{if(i())return;let l=JSON.parse(a.data);typeof l.workspaceGeneration!="number"||!Number.isInteger(l.workspaceGeneration)||l.workspaceGeneration<0||ut(s=>{for(let c of s.activeJobIds)Os.add(c);return{...s,workspaceGeneration:l.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(i())return;let a=[...ya().activeJobIds];if(a.length===0){ut(l=>({...l,status:l.status==="error"?"error":"idle",incrementalResolutions:[]}));return}ku(e,a,t).then(()=>{i()||ut(l=>({...l,status:l.activeJobIds.length>0?l.status:l.status==="error"?"error":"idle",incrementalResolutions:l.activeJobIds.length>0?l.incrementalResolutions:[]}))})}),o.addEventListener("error",a=>{if(!i()){if(o.readyState===EventSource.CLOSED){ut(s=>({...s,isConnected:!1,status:"disconnected"})),Dr&&(clearTimeout(Dr),Dr=null);let l=t;Dr=setTimeout(()=>{l===(Ze.connectionGeneration??0)&&pa(e).then(s=>{s&&l===(Ze.connectionGeneration??0)&&Ns(e)})},5e3)}else if(a instanceof MessageEvent){let l=JSON.parse(a.data),s=l.jobId??null;if(jn(s??void 0,l))return;s&&delete Po[s];let c=l.message??"";ut(d=>{let p=s?d.activeJobIds.filter(f=>f!==s):d.activeJobIds,u=p.length>0?d.status:"error";return{...d,status:u,activeJobIds:p,lastCompletedJobId:s??d.activeJobId,lastErrorByJob:s&&c?{...d.lastErrorByJob,[s]:c}:d.lastErrorByJob,events:[...d.events,{type:"error",data:l,timestamp:Date.now()}]}})}}}),o.onerror=()=>{i()||o.readyState===EventSource.CLOSED&&ut(a=>({...a,isConnected:!1,status:"disconnected"}))}}function Xg(e="http://localhost:1111",t=!0,n){let r=xg(Yg,ya,ya);_(()=>{if(Iu(n),!t)return;let a=!1;return Eu(e,n).then(l=>{!l||a||pa(l).then(s=>{!a&&s&&(!n||s.projectId===n)&&Ns(l)})}),()=>{a=!0}},[e,t,n]);let o=U(()=>{ut(()=>({...ya(),events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),i=U(a=>{ut(l=>({...l,pendingQuestions:l.pendingQuestions.filter(s=>s.threadId!==a)}))},[]);return{...r,clearEvents:o,dismissQuestion:i}}var Tu="devtools-model-id:codex";function Kg(e,t,n){let[r,o]=P(()=>typeof window>"u"?"":localStorage.getItem(Tu)??""),i=e.findIndex(s=>s.id===r),a=i>=0?i:Math.max(0,e.findIndex(s=>s.id==="")),l=U(s=>{o(s),localStorage.setItem(Tu,s)},[]);return _(()=>{n&&t&&r&&i<0&&e.some(s=>s.id)&&l("")},[n,t,r,i,e,l]),{index:a,select:l}}function Vg(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 Au(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 Cu(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 _s(e,t,n){if(e===null||typeof e=="string"||typeof e=="boolean")return;if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError(`Comment metadata at ${t} must be finite.`);return}if(typeof e!="object")throw new TypeError(`Comment metadata at ${t} must be JSON-serializable.`);if(n.has(e))throw new TypeError(`Comment metadata at ${t} contains a cycle.`);let r=Object.getPrototypeOf(e);if(!Array.isArray(e)&&r!==Object.prototype&&r!==null)throw new TypeError(`Comment metadata at ${t} must use plain objects and arrays.`);if(n.add(e),Array.isArray(e))e.forEach((o,i)=>_s(o,`${t}[${i}]`,n));else for(let[o,i]of Object.entries(e))_s(i,`${t}.${o}`,n);n.delete(e)}function Fs(e){if(e===void 0)return;if(e===null||Array.isArray(e)||typeof e!="object")throw new TypeError("Comment metadata must be a JSON object.");_s(e,"meta",new Set);let t=JSON.stringify(e);if(new TextEncoder().encode(t).byteLength>65536)throw new RangeError("Comment metadata exceeds the 65536 byte limit.");return JSON.parse(t)}var Ws="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",Gg=1500,Qg=5e3,Zg=24e6,ey=16e3,ty=4,ny=["position","inset","top","right","bottom","left","z-index","display","visibility","opacity","overflow","overflow-x","overflow-y","box-sizing","box-decoration-break","float","clear","width","min-width","max-width","height","min-height","max-height","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-width","border-style","border-color","border-top","border-right","border-bottom","border-left","border-radius","outline","outline-offset","box-shadow","background","background-color","background-image","background-size","background-position","background-repeat","background-clip","background-origin","color","font","font-family","font-size","font-style","font-weight","font-stretch","font-variant","line-height","letter-spacing","text-align","text-decoration","text-indent","text-overflow","text-shadow","text-transform","white-space","word-break","overflow-wrap","vertical-align","direction","writing-mode","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","align-content","align-items","align-self","justify-content","justify-items","justify-self","gap","row-gap","column-gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-row","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","order","columns","column-count","column-fill","column-rule","column-span","column-width","list-style","list-style-image","list-style-position","list-style-type","object-fit","object-position","aspect-ratio","transform","transform-box","transform-origin","transform-style","perspective","perspective-origin","backface-visibility","clip","clip-path","filter","backdrop-filter","mix-blend-mode","isolation","mask","mask-image","mask-position","mask-repeat","mask-size","content","quotes","counter-increment","counter-reset","appearance","accent-color","caret-color","cursor","pointer-events","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity"];async function ry(e,t){try{let n=await e();if(n)return n}catch{}return t()}var Js=new Map,Mu=new WeakMap,oy=1;function zn(){return typeof performance<"u"?performance.now():Date.now()}function Bs(e){if(e?.debug!==void 0)return e.debug;if(typeof window>"u")return!1;try{return window.localStorage.getItem("popmelt:screenshot-debug")==="true"}catch{return!1}}function iy(e){let t=0,n=0;for(let r of e.querySelectorAll("img[src]"))Ru(r.currentSrc||r.src)&&(t++,(!r.complete||r.naturalWidth===0)&&n++);return{remoteImages:t,unresolvedRemoteImages:n}}function ay(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result)),r.onerror=()=>n(r.error??new Error("Asset could not be read")),r.readAsDataURL(e)})}function ly(e,t){let n=null;return async r=>{if(!Ru(r))return!1;n??(n=Date.now()+e);let o=n-Date.now();if(o<=0)return t(),Ws;let i=new AbortController,a=setTimeout(()=>i.abort(),o);try{let l=await fetch(r,{cache:"force-cache",mode:"cors",signal:i.signal});if(!l.ok)throw new Error(`Asset returned ${l.status}`);return await ay(await l.blob())}catch{return t(),Ws}finally{clearTimeout(a)}}}function sy(e,t,n){let r=Mu.get(e);r||(r=oy++,Mu.set(e,r));let o=t.filter(i=>(i.status??"pending")==="pending").map(i=>{let a=i.points[0],l=i.points[i.points.length-1];return`${i.id}:${i.points.length}:${a?.x??""}:${a?.y??""}:${l?.x??""}:${l?.y??""}`}).join("|");return[r,window.location.href,window.innerWidth,window.innerHeight,n?.dpr??window.devicePixelRatio??1,n?.viewportOnly?window.scrollY:"",o].join("::")}function dy(e,t,n){let r=Math.min(t,n);return{top:Math.max(0,Math.min(e,n-r)),height:r,annotations:[]}}function Ru(e){if(typeof window>"u")return!1;try{let t=new URL(e,window.location.href);return t.protocol!=="http:"&&t.protocol!=="https:"?!1:t.origin!==window.location.origin}catch{return!1}}function Lu(e){let t=document.createElement("canvas").getContext("2d");return t?(t.fillStyle=e,t.fillStyle):"#888888"}function fl(e,t=[],n,r,o=[],i=[],a){let l=new Map,s=[];for(let d of e)if(d.groupId){let p=l.get(d.groupId)||[];p.push(d),l.set(d.groupId,p)}else s.push(d);let c=[];for(let[d,p]of l){let u=p.find(m=>m.type!=="text"),f=p.find(m=>m.type==="text");if(u){let m=u.linkedSelector||f?.linkedSelector,g=f?.imageCount||u.imageCount,y=f?.attachments||u.attachments,x=f?.interactionEpisode||u.interactionEpisode,L=u.pathname||f?.pathname;c.push({id:u.id,type:u.type,instruction:f?.text,...m?{linkedSelector:m}:{},...u.target||f?.target?{target:u.target??f?.target}:{},...L?{pathname:L}:{},elements:u.elements||[],...g?{imageCount:g}:{},...y?.length?{attachments:y}:{},...x?{interactionEpisode:x}:{}})}}for(let d of s)c.push({id:d.id,type:d.type,instruction:d.type==="text"?d.text:void 0,...d.linkedSelector?{linkedSelector:d.linkedSelector}:{},...d.target?{target:d.target}:{},...d.pathname?{pathname:d.pathname}:{},elements:d.elements||[],...d.imageCount?{imageCount:d.imageCount}:{},...d.attachments?.length?{attachments:d.attachments}:{},...d.interactionEpisode?{interactionEpisode:d.interactionEpisode}:{}});return{timestamp:new Date().toISOString(),url:window.location.href,viewport:{width:window.innerWidth,height:window.innerHeight},scrollPosition:{x:window.scrollX,y:window.scrollY},annotations:c,styleModifications:t,...o.length>0?{textModifications:o}:{},...i.length>0?{domModifications:i}:{},...n?{inspectedElement:n}:{},...r&&r.length>0?{spacingTokenChanges:r}:{},...a?{meta:a}:{}}}function cy(e){if(!e.points||e.points.length===0)return null;let t=e.points.map(r=>r.x),n=e.points.map(r=>r.y);return{minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)}}function uy(e,t){if(e.length===0)return[];let n=e.map(d=>({annotation:d,bounds:cy(d)})).filter(d=>d.bounds!==null);if(n.length===0)return[];n.sort((d,p)=>d.bounds.minY-p.bounds.minY);let r=Math.min(...n.map(d=>d.bounds.minY)),o=Math.max(...n.map(d=>d.bounds.maxY));if(o-r<=t){let d=(r+o)/2,p=Math.max(0,d-t/2);return[{top:p,bottom:p+t,annotations:e}]}let i=[],a=50,l=Math.max(0,r-a),s=[],c=l;for(let{annotation:d,bounds:p}of n){let u=p.maxY+a;if(u-l<=t)s.push(d),c=Math.max(c,u);else{if(s.length>0){let f=(l+c)/2,m=Math.max(0,f-t/2);i.push({top:m,bottom:m+t,annotations:s})}l=Math.max(0,p.minY-a),s=[d],c=p.maxY+a}}if(s.length>0){let d=(l+c)/2,p=Math.max(0,d-t/2);i.push({top:p,bottom:p+t,annotations:s})}return i}function py(e){let t=new Map;for(let n of e)if(n.linkedSelector)try{let r=document.querySelector(n.linkedSelector);if(r){let o=r.getBoundingClientRect();t.set(n.id,{x:o.left+window.scrollX,y:o.top+window.scrollY,width:o.width,height:o.height})}}catch{}return t}function Pu(e,t,n,r,o){if(e.save(),e.scale(r,r),o)for(let i of t){let a=o.get(i.id);if(!a)continue;let l=a.y-n;e.fillStyle=i.color,e.globalAlpha=.05,e.fillRect(a.x,l,a.width,a.height),e.globalAlpha=1,e.strokeStyle=i.color,e.lineWidth=1,e.setLineDash([2,4]),e.strokeRect(a.x,l,a.width,a.height),e.setLineDash([])}for(let i of t){let a=i.points.map(l=>({x:l.x,y:l.y-n}));switch(e.strokeStyle=i.color,e.fillStyle=i.color,e.lineWidth=i.strokeWidth,e.lineCap="round",e.lineJoin="round",i.type){case"freehand":if(a.length<2)break;e.beginPath(),e.moveTo(a[0].x,a[0].y);for(let l=1;l<a.length;l++)e.lineTo(a[l].x,a[l].y);e.stroke();break;case"line":if(a.length<2)break;e.beginPath(),e.moveTo(a[0].x,a[0].y),e.lineTo(a[a.length-1].x,a[a.length-1].y),e.stroke();break;case"rectangle":{if(a.length<2)break;let l=a[0],s=a[a.length-1],c=Math.min(l.x,s.x),d=Math.min(l.y,s.y),p=Math.abs(s.x-l.x),u=Math.abs(s.y-l.y);e.strokeRect(c,d,p,u);break}case"circle":{if(a.length<2)break;let l=a[0],s=a[a.length-1],c=(l.x+s.x)/2,d=(l.y+s.y)/2,p=Math.abs(s.x-l.x)/2,u=Math.abs(s.y-l.y)/2;e.beginPath(),e.ellipse(c,d,p,u,0,0,Math.PI*2),e.stroke();break}case"text":{if(!i.text||a.length<1)break;let l=a[0],s=i.fontSize||16;e.font=`${s}px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,e.fillStyle=i.color;let c=(i.imageCount&&i.imageCount>0?`[${i.imageCount} image${i.imageCount>1?"s":""}] ${i.text}`:i.text).split(`
|
|
5
|
-
`),d=s*1.2,p=4,u=0;for(let f of c)u=Math.max(u,e.measureText(f).width);e.fillRect(l.x-p,l.y-p,u+p*2,c.length*d+p*2),e.fillStyle="#ffffff",c.forEach((f,m)=>{e.fillText(f,l.x,l.y+s+m*d)});break}}}e.restore()}async function hi(e,t,n=[],r){let o=sy(e,n,r),i=Js.get(o);if(i)return Bs(r)&&console.debug("[Screenshot] Reusing in-flight capture",o),i;let a=ky(e,n,r).finally(()=>Js.delete(o));return Js.set(o,a),a}function hy(){let e=getComputedStyle(document.documentElement).backgroundColor;return e&&e!=="rgba(0, 0, 0, 0)"&&e!=="transparent"?e:"#ffffff"}function fy(e){return e instanceof HTMLElement?e.id==="devtools-canvas"||e.id==="devtools-toolbar"||e.id==="devtools-scrim"?!1:e.dataset.devtools===void 0:!0}function my(e,t,n,r){return e.length===0?[{top:Math.max(0,Math.min(r,Math.max(0,n-t))),height:Math.min(t,n||t),annotations:[]}]:e.map(o=>{let i=Math.min(t,n||t);return{top:Math.max(0,Math.min(o.top,Math.max(0,n-i))),height:i,annotations:o.annotations}})}function gy(e,t,n){if(e.length===0)return null;let r=Math.min(...e.map(a=>a.top)),o=Math.max(...e.map(a=>a.top+a.height))-r,i=t*o*n*n;return o>ey||i>Zg?null:{top:r,height:o}}async function yy(e,t){let n=[];for(let r of e){let o=Object.getOwnPropertyDescriptor(r.element,"toDataURL");try{Object.defineProperty(r.element,"toDataURL",{configurable:!0,value:()=>r.dataUrl}),n.push(()=>{o?Object.defineProperty(r.element,"toDataURL",o):Reflect.deleteProperty(r.element,"toDataURL")})}catch{}}try{return await t()}finally{for(let r of n.reverse())r()}}async function vy(e,t,n,r,o,i,a,l){let s=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)>window.innerHeight*ty||e.querySelectorAll("*").length>2500,c=l?await l():[];return yy(c,()=>Ig(e,{autoDestruct:!1,filter:fy,scale:r,backgroundColor:hy(),width:n,height:t.height,style:{transform:`translate(${-window.scrollX}px, ${-t.top}px)`,transformOrigin:"top left"},timeout:o,debug:i,includeStyleProperties:s?[...ny]:null,fetchFn:ly(o,()=>{a.remoteAssetFallbacks++}),fetch:{requestInit:{cache:"force-cache"},placeholderImage:Ws}}))}async function by(e,t,n){return e.width=n,e.height=t.height,e.style={transform:`translate(${-window.scrollX}px, ${-t.top}px)`,transformOrigin:"top left"},kg(e)}async function wy(e,t,n){let r=document.createElement("canvas");r.width=t,r.height=n;let o=r.getContext("2d");if(!o)throw new Error("Canvas context unavailable");if(typeof createImageBitmap=="function"){let l=await createImageBitmap(e);return o.drawImage(l,0,0,t,n),l.close(),r}let i=new Image,a=URL.createObjectURL(e);try{return await new Promise((l,s)=>{i.onload=()=>l(),i.onerror=()=>s(new Error("Native screenshot could not be decoded")),i.src=a}),o.drawImage(i,0,0,t,n),r}finally{URL.revokeObjectURL(a)}}async function ju(e,t,n,r,o,i){if(r?.nativeCapture){let c=zn();try{let d=await r.nativeCapture({url:window.location.href,clip:{x:window.scrollX,y:e.top,width:t,height:e.height},scale:n});if(i.nativeMs+=zn()-c,d)return i.mode=i.renderMs>0||i.contextMs>0?"mixed":"native",wy(d,Math.round(t*n),Math.round(e.height*n))}catch(d){i.nativeMs+=zn()-c,Bs(r)&&console.debug("[Screenshot] Native capture unavailable; using DOM fallback",d)}}let a=await o(),l=zn(),s=await by(a,e,t);return i.renderMs+=zn()-l,i.mode=i.mode==="native"?"mixed":"dom",s}function $u(e,t,n,r,o,i){let a=document.createElement("canvas");a.width=Math.round(r*o),a.height=Math.round(n.height*o);let l=a.getContext("2d");if(!l)throw new Error("Canvas context unavailable");let s=Math.round((n.top-t)*o);return l.drawImage(e,0,s,a.width,a.height,0,0,a.width,a.height),Pu(l,n.annotations,n.top,o,i),a}function xy(e){if(e.length===1)return e[0];let t=document.createElement("canvas");t.width=e[0]?.width??0,t.height=e.reduce((o,i)=>o+i.height,0);let n=t.getContext("2d");if(!n)throw new Error("Canvas context unavailable");let r=0;for(let o of e)n.drawImage(o,0,r),r+=o.height;return t}function Sy(e,t="image/webp",n=.8){return new Promise(r=>e.toBlob(r,t,n))}async function ky(e,t,n){let r=zn(),o=n?.dpr??(window.devicePixelRatio||1),i=window.innerWidth,a=window.innerHeight,l=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight),s=Math.max(250,n?.mediaTimeoutMs??Gg),c=Bs(n),d=t.filter(S=>(S.status??"pending")==="pending"),p=py(d),u=n?.viewportOnly?[dy(window.scrollY,a,l)]:my(uy(d,a),a,l,window.scrollY),f=iy(e),m={startedAt:r,mode:"dom",mediaTimeoutMs:s,ranges:u.length,...f,remoteAssetFallbacks:0,nativeMs:0,contextMs:0,renderMs:0,compositeMs:0,encodeMs:0};console.log("[Screenshot] Starting capture with",d.length,"active annotations (filtered",t.length-d.length,"captured);",`${u.length} range(s), ${f.remoteImages} remote image(s), ${f.unresolvedRemoteImages} unresolved`);let g=null,y=null,x=gy(u,i,o),L=x??u[0],A=async()=>{if(!g){let S=zn();g=vy(e,L,i,o,s,c,m,n?.captureSurfaces).then(O=>(y=O,m.contextMs+=zn()-S,O))}return g};try{let S=zn(),O;if(x){let J=await ju(x,i,o,n,A,m);O=u.map(k=>$u(J,x.top,k,i,o,p))}else{O=[];for(let J of u){let k=await ju(J,i,o,n,A,m);O.push($u(k,J.top,J,i,o,p))}}let M=xy(O);m.compositeMs+=zn()-S-m.renderMs-m.nativeMs-m.contextMs;let X=zn(),Z=await Sy(M);m.encodeMs=zn()-X;let N=zn()-m.startedAt,V={mode:m.mode,totalMs:Math.round(N),mediaTimeoutMs:m.mediaTimeoutMs,ranges:m.ranges,remoteImages:m.remoteImages,unresolvedRemoteImages:m.unresolvedRemoteImages,remoteAssetFallbacks:m.remoteAssetFallbacks,nativeMs:Math.round(m.nativeMs),contextMs:Math.round(m.contextMs),renderMs:Math.round(m.renderMs),compositeMs:Math.max(0,Math.round(m.compositeMs)),encodeMs:Math.round(m.encodeMs),overBudget:N>Qg};return console.log("[Screenshot] Capture complete",JSON.stringify(V)),Z?[Z]:[]}catch(S){return console.error("[Screenshot] Capture failed:",S),[]}finally{y&&Eg(y)}}async function ml(e){if(e.length===0)return null;if(e.length===1)return e[0];let t=await Promise.all(e.map(l=>new Promise((s,c)=>{let d=new Image;d.onload=()=>s(d),d.onerror=c,d.src=URL.createObjectURL(l)}))),n=t[0].width,r=t.reduce((l,s)=>l+s.height,0),o=document.createElement("canvas");o.width=n,o.height=r;let i=o.getContext("2d");if(!i)return null;let a=0;for(let l of t)i.drawImage(l,0,a),a+=l.height,URL.revokeObjectURL(l.src);return new Promise(l=>{o.toBlob(s=>l(s),"image/webp",.8)})}async function Iy(e,t,n,r,o){try{let i=Array.isArray(e)?e:[e];if(i.length===0)return!1;let a=await ml(i);if(!a)return!1;let l=a;if(a.type!=="image/png"){let f=new Image,m=URL.createObjectURL(a);await new Promise(y=>{f.onload=()=>y(),f.src=m}),URL.revokeObjectURL(m);let g=document.createElement("canvas");g.width=f.naturalWidth,g.height=f.naturalHeight,g.getContext("2d").drawImage(f,0,0),l=await new Promise(y=>g.toBlob(x=>y(x),"image/png"))}let s={"image/png":l},c=t&&t.length>0,d=n&&n.length>0,p=r&&r.length>0,u=o&&o.length>0;if(c||d||p||u){let f=t?t.filter(m=>(m.status??"pending")==="pending"):[];if(f.length>0||d||p||u){let m=fl(f,n||[],void 0,void 0,r||[],o||[]),g=new Blob([JSON.stringify(m,null,2)],{type:"text/plain"});s["text/plain"]=g}}return await navigator.clipboard.write([new ClipboardItem(s)]),!0}catch(i){return console.warn("Clipboard write failed:",i),!1}}async function qs(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result).split(",")[1]),r.onerror=n,r.readAsDataURL(e)})}async function Ey(e,t,n,r){let o=Date.now(),i=location.href,a=t.subject?await r.registry.captureFeedback(t.subject):null;if(t.subject&&!a)return{status:"target_unavailable"};let l=a?.elementInfo??sn(e),s=y=>{try{let x=document.querySelectorAll(y);return x.length===1&&x[0]===e}catch{return!1}},c=y=>!y.pathname||y.pathname===location.pathname,d=r.state?.annotations.filter(y=>c(y)&&y.interactionEpisode&&(t.subject?y.target?.adapter===t.subject.adapter&&y.target?.key===t.subject.key:!!y.linkedSelector&&s(y.linkedSelector)))??[],p=e.getBoundingClientRect(),u={id:t.key,type:"text",text:"",color:"#0099ff",strokeWidth:2,points:[{x:p.left+window.scrollX,y:p.top+window.scrollY}],timestamp:o,pathname:location.pathname,elements:[l],linkedSelector:l.selector,...t.subject?{target:t.subject}:{},...d.length===1?{interactionEpisode:d[0].interactionEpisode}:{}},f=r.getCommentMeta?Fs(await r.getCommentMeta({kind:"annotation",purpose:"inspection",timestamp:o,url:location.href,pathname:location.pathname,annotations:[u]})):void 0,m=fl([u],r.state?.styleModifications.filter(y=>c(y)&&s(y.selector))??[],l,void 0,r.state?.textModifications.filter(y=>c(y)&&s(y.selector))??[],r.state?.domModifications.filter(y=>c(y)&&s(y.selector))??[],f),g=[];if(n){let[y]=await hi(document.body,null,[],{...r.screenshotOptions,viewportOnly:!0,dpr:1});if(y){let x=await createImageBitmap(y);try{let L=document.createElement("canvas");L.width=x.width,L.height=x.height;let A=L.getContext("2d");A.drawImage(x,0,0);let S={...u,text:`Focus: ${l.textContent||l.subjectLabel||l.tagName}`.slice(0,100),points:[{x:Math.max(4,p.left),y:window.scrollY+Math.max(24,p.top-8)}]};Pu(A,[S],window.scrollY,1,new Map([[u.id,{x:p.left,y:p.top+window.scrollY,width:p.width,height:p.height}]]));let O=await new Promise(M=>L.toBlob(M,"image/png"));O&&g.push({kind:"annotated-viewport",mimeType:O.type,data:await qs(O)})}finally{x.close()}if(!a?.crop){let L=await createImageBitmap(y);try{let A=Math.max(0,p.left),S=Math.max(0,p.top),O=Math.min(window.innerWidth,p.right)-A,M=Math.min(window.innerHeight,p.bottom)-S;if(O>0&&M>0){let X=document.createElement("canvas");X.width=Math.ceil(O),X.height=Math.ceil(M);let Z=L.width/window.innerWidth,N=L.height/window.innerHeight;X.getContext("2d").drawImage(L,A*Z,S*N,O*Z,M*N,0,0,O,M);let V=await new Promise(J=>X.toBlob(J,"image/png"));V&&g.push({kind:"element",mimeType:V.type,data:await qs(V)})}}finally{L.close()}}}a?.crop&&g.push({kind:"subject",mimeType:a.crop.type,data:await qs(a.crop)})}return!e.isConnected||location.href!==i?{status:"target_unavailable"}:{status:"ok",targetKey:t.key,focusCapturedAt:t.capturedAt,capturedAt:o,feedback:m,images:g,warning:a?.warning,evidenceTime:"Live inspection of the referenced target, not a historical screenshot of the utterance.",actionHistory:d.length===1?"Existing recorded episode; inspection did not submit or modify it.":d.length>1?"Multiple matching episodes; none selected automatically.":"No unambiguous recorded episode for this target."}}function Ty(e,t,n,r=8*1024*1024){let o=c=>JSON.stringify({id:e,clientId:t,result:c}),i=c=>new TextEncoder().encode(c).length<=r,a=o(n);if(i(a))return a;let l=Array.isArray(n.images)?n.images:[],s=[l.filter(c=>c.kind==="annotated-viewport"),l.filter(c=>c.kind!=="annotated-viewport"),[]];for(let c of s){let d=o({...n,images:c,visualEvidence:{status:"partial",reason:"response_size_limit",omitted:l.filter(p=>!c.includes(p)).map(p=>p.kind)}});if(i(d))return d}return o({status:"context_too_large",targetKey:n.targetKey,images:[],warning:"Context exceeds the response limit even without images."})}function Ay(e,t){let n=e.filter(i=>(!t.kind||i.kind===t.kind)&&(!t.entryId||i.id===t.entryId)&&(!t.pathname||i.pathname===t.pathname)),r=Number.isInteger(t.limit)?Math.min(50,Math.max(1,t.limit)):20,o=Number.isInteger(t.offset)?Math.max(0,t.offset):0;return{entries:n.slice(o,o+r).map(({details:i,...a})=>t.entryId?{...a,details:i}:a),total:n.length,nextOffset:o+r<n.length?o+r:null}}function zu(e,t,n,r=!1){if(!e||!t)return null;let o=f=>{let m=f.getBoundingClientRect(),g=rg(f),y=x=>x.width>0&&x.height>0&&x.bottom>0&&x.right>0&&x.top<innerHeight&&x.left<innerWidth;return f.isConnected&&m.width>0&&m.height>0&&(r||y(m)||!!g&&y(g))&&!ga(f,'[data-popmelt-private], [aria-hidden="true"]')},i=f=>{try{let m=f?document.querySelectorAll(f):[];return m.length===1?m[0]:null}catch{return null}};if(t.startsWith("thread:")){let f=t.slice(7),m=[...document.querySelectorAll("[data-popmelt-thread-id]")].filter(x=>x.getAttribute("data-popmelt-thread-id")===f&&o(x));if(m.length===1)return m[0].querySelector("[data-popmelt-thread-header]");let g=e.annotations.filter(x=>x.threadId===f&&(!x.pathname||x.pathname===location.pathname)),y=new Set(g.map(x=>x.target?n.resolve(x.target)?.element??null:al(x.linkedSelector,x.elements?.[0])).filter(x=>!!x&&o(x)));return y.size===1?[...y][0]:null}let a=Du(e,{entryId:t});if(!("entries"in a)||a.entries.length!==1)return null;let l=a.entries[0];if(l.pathname&&l.pathname!==location.pathname)return null;let s=e.annotations.find(f=>`draft:${f.id}`===t);if(s?.target){let f=n.resolve(s.target)?.element;return f&&o(f)?f:null}let c="details"in l?l.details:void 0,d=[...e.styleModifications,...e.textModifications].find(f=>f.selector===l.selector),p=s?.elements?.[0]??d?.element,u=p?al(l.selector,{...p,selector:c?.durableSelector??p.selector}):i(l.selector)??i(c?.durableSelector);return u&&o(u)?u:null}function Du(e,t={}){if(!e)return{status:"unavailable",reason:"browser_state_unavailable"};let n=[];for(let r of e.annotations)(r.status??(r.captured?"resolved":"pending"))==="pending"&&n.push({id:`draft:${r.id}`,kind:"draft",status:"unsubmitted",summary:(r.text||`${r.type} annotation`).slice(0,200),pathname:r.pathname,selector:r.linkedSelector,target:r.target,threadId:r.threadId,updatedAt:r.timestamp,details:{text:r.text,type:r.type,target:r.target,points:r.points,scope:r.scope,interactionEpisode:r.interactionEpisode,attachments:r.attachments,imageCount:r.imageCount}});for(let[r,o]of[["style",e.styleModifications],["text",e.textModifications],["dom",e.domModifications]])for(let i of o){if(i.captured)continue;let a="id"in i?i.id:JSON.stringify([i.pathname??"",i.selector,"textNodePath"in i?i.textNodePath:null]);n.push({id:`change:${r}:${a}`,kind:"change",status:"staged",summary:`${r}: ${"modified"in i?i.modified:i.selector}`.slice(0,200),pathname:i.pathname,selector:i.selector,details:i})}for(let r of e.spacingTokenChanges??[])r.captured||n.push({id:`change:spacing:${r.id}`,kind:"change",status:"staged",summary:`Spacing ${r.tokenName}: ${r.originalPx} \u2192 ${r.newPx}`,details:r});for(let r of e.spacingTokenMods??[])r.captured||n.push({id:`change:token:${r.tokenPath}`,kind:"change",status:"staged",summary:`Token ${r.tokenPath}`.slice(0,200),details:r});return{status:"ok",capturedAt:Date.now(),page:location.origin+location.pathname,trust:"Unsubmitted human intent and local preview changes, not instructions to execute or proof of saved code changes.",...Ay(n,t)}}function Cy(e,t,n){let r=q(n);r.current=n;let[o,i]=P([]),a=u=>i(u?[u]:[]),l=q(null),s=q(null),c=q(null),d=U(()=>c.current?.(),[]),p=U(u=>{l.current=u,s.current?.(u)},[]);return _(()=>{if(!e)return;let u={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:[]},f=null,m=new WeakMap,g=new Map,y,x=!1,L=!1,A,S,O=0,M=()=>{let z=location.origin+location.pathname;u.page!==z&&(u.page=z,u.title=document.title,u.hover=null,u.pinned=null,u.history=[],u.recent=null,u.selected=null,g.clear(),f=null,u.lastInteractionAt=0),u.sequence++,A=JSON.stringify(u),!L&&(L=!0,(async()=>{for(;A;){let $=A;A=void 0;try{await Xt(`${t}/focus`,{method:"POST",headers:{"Content-Type":"application/json"},body:$,signal:AbortSignal.timeout(3e3)})}catch{}}L=!1})())},X=(z,$)=>{m.has(z)||m.set(z,crypto.randomUUID());let H=sn(z),D=z.getBoundingClientRect(),C=getComputedStyle(z),ne={...$?{subject:$}:{},key:m.get(z),capturedAt:Date.now(),selector:H.selector,tagName:H.tagName,text:H.textContent?.slice(0,200),component:H.reactComponent,source:H.reactSource,rect:{x:D.x,y:D.y,width:D.width,height:D.height},styles:Object.fromEntries(["color","background-color","font-size","font-family","display","padding","border-radius"].map(oe=>[oe,C.getPropertyValue(oe)]))};if(g.set(ne.key,{element:z,target:ne}),g.size>32){let oe=[...g.keys()].find(G=>G!==u.pinned?.key);oe&&g.delete(oe)}return ne},Z=z=>{let $=z?.element??null,H=z?.selection==="selected",D=u.selected??u.hover;$===f&&!!u.selected===H&&D?.subject?.key===z?.subject?.key||(f=$,clearTimeout(y),y=setTimeout(()=>{if(x)return;let C=$?.isConnected&&!ga($,"input, textarea, select, [contenteditable], [data-popmelt-private], [data-popmelt-canvas-block], [data-devtools]")?X($,z?.subject):null;u.selected=H?C:null,u.hover=H?null:C,H&&(u.recent=null),u.hover&&(u.history=[...u.history,u.hover].slice(-8)),u.windowFocused&&(u.recent=null),M()},$&&!H?120:0))};s.current=Z,c.current=()=>{x||document.visibilityState!=="visible"||(u.lastInteractionAt=Date.now(),u.windowFocused=document.hasFocus(),!S&&(S=setTimeout(()=>{S=void 0,O=Date.now(),M()},Math.max(0,250-(Date.now()-O)))))},Z(l.current);let N=()=>{u.windowFocused=document.hasFocus(),u.blurredAt=u.windowFocused?0:Date.now(),u.recent=u.windowFocused?null:u.hover,M()},V=()=>{u.active=document.visibilityState==="visible",u.active?Z(l.current):(clearTimeout(y),u.hover=null,u.history=[],u.recent=null,u.selected=null,g.clear(),f=null,u.lastInteractionAt=0),M()};document.addEventListener("visibilitychange",V),window.addEventListener("focus",N),window.addEventListener("blur",N);let J=setInterval(M,1e4),k=!1,K,ee=new Set,j=setInterval(async()=>{if(!(x||k||document.visibilityState!=="visible")){k=!0;try{let z=await Xt(`${t}/focus/requests?clientId=${u.clientId}`,{signal:AbortSignal.timeout(3e3)});if(!z.ok)return;let $=await z.json();for(let H of $){if(ee.has(H.id)||x)continue;ee.add(H.id),ee.size>64&&ee.delete(ee.values().next().value);let D=g.get(H.targetKey),C={status:"target_unavailable"};if(H.workspace){C=Du(r.current.state,H.workspace);let ne=H.workspace.entryId?[H.workspace.entryId]:"entries"in C?C.entries.map(G=>G.id):[],oe=[...new Set(ne.map(G=>zu(r.current.state,G,r.current.registry)).filter(G=>!!G))];i(oe);for(let G of oe)G instanceof HTMLElement&&G.hasAttribute("data-popmelt-thread-header")&&Jm(G,G);if(oe.length&&(clearTimeout(K),K=setTimeout(()=>a(null),Math.max(0,H.expiresAt-Date.now())),await new Promise(G=>requestAnimationFrame(()=>setTimeout(G,0))),x))break;C.attention=H.workspace.entryId?oe.length?"shown":zu(r.current.state,H.workspace.entryId,r.current.registry,!0)?"target_offscreen":"target_missing_hidden_or_ambiguous":{shown:oe.length,requested:ne.length}}else if(D?.element.isConnected&&u.page===location.origin+location.pathname&&!ga(D.element,"[data-popmelt-private], input, textarea, select, [contenteditable]"))try{if(a(D.element),clearTimeout(K),K=setTimeout(()=>a(null),Math.max(0,H.expiresAt-Date.now())),await new Promise(ne=>requestAnimationFrame(()=>setTimeout(ne,0))),x)break;C=H.attentionOnly?{status:"ok",attention:"shown"}:await Ey(D.element,D.target,H.screenshot,r.current)}catch{C={status:"capture_failed"}}if(x||document.visibilityState!=="visible")break;(await Xt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:Ty(H.id,u.clientId,C),signal:AbortSignal.timeout(3e3)})).ok||await Xt(`${t}/focus/response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:H.id,clientId:u.clientId,result:{status:"response_rejected"}}),signal:AbortSignal.timeout(3e3)}),clearTimeout(K),a(null)}}catch{}finally{clearTimeout(K),x||a(null),k=!1}}},1e3);return V(),()=>{x=!0,clearTimeout(y),clearTimeout(S),clearInterval(J),clearInterval(j),clearTimeout(K),a(null),document.removeEventListener("visibilitychange",V),window.removeEventListener("focus",N),window.removeEventListener("blur",N),s.current=null,c.current=null,g.clear(),u.hover=null,u.selected=null,u.history=[],u.active=!1,M()}},[e,t]),{onCanvasFocusChange:p,onCanvasActivity:d,inspectingElement:e?o[0]??null:null,inspectingElements:e?o:[]}}function My(e,t,n,r){let[o,i]=P(null),[a,l]=P(null),s=q(0),c=q(Promise.resolve(!0)),d=U(()=>{s.current=Date.now()},[]),p=U(f=>{s.current=Date.now(),i(f)},[]),u=U(f=>l(m=>JSON.stringify(m)===JSON.stringify(f)?m:f),[]);return _(()=>{if(!e||!r)return;let f=o?.element;if(f&&ga(f,"[data-private], [data-sensitive]"))return;let m=a?.targets??(f?[{selector:o?.subject?lu(o.subject):Ro(f),...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}:{}},y=!1,x=null,L=!1,A=(N,V,J)=>{let k=c.current.then(()=>N!=="finish"&&(y||x!==V)?!1:e(N,V,J));return c.current=k.catch(()=>!1),k},S=()=>{let N=x;x=null,N&&A("finish",N).catch(()=>{})},O=async()=>{if(y||L)return;if(!(document.visibilityState!=="hidden"&&document.hasFocus()&&g.pathname===window.location.pathname&&(a||f?.isConnected&&(o?.selection==="selected"||Date.now()-s.current<5e3)))){S();return}L=!0;let N=x?"renew":"start",V=x??crypto.randomUUID();x=V;try{!await A(N,V,g)&&x===V&&(x=null),y&&S()}catch{x===V&&(x=null)}finally{L=!1}},M=setTimeout(O,120),X=setInterval(O,1e3),Z=()=>S();return window.addEventListener("blur",Z),window.addEventListener("focus",O),document.addEventListener("visibilitychange",O),()=>{y=!0,clearTimeout(M),clearInterval(X),S(),window.removeEventListener("blur",Z),window.removeEventListener("focus",O),document.removeEventListener("visibilitychange",O)}},[e,r,t,n,o,a]),{onFocus:p,onActivity:d,onThread:u}}var gl="data-popmelt-preview-target",Hu="script,iframe,object,embed,link,meta,base,style,template";function Ry({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("*")],c=new Set,d=new Map;for(let[u,f]of t){if(!u||!l.includes(f))throw new Error("Target is outside the preview root");if(d.has(f))throw new Error("Target has multiple identities");d.set(f,u)}l.forEach((u,f)=>{let m=s[f];(u.shadowRoot||u.matches("canvas,video"))&&c.add("Shadow DOM, canvas and video state are not mirrored");for(let y of[...m.attributes])(/^on/i.test(y.name)||["src","srcset","href","xlink:href","action","formaction","autofocus","contenteditable",gl].includes(y.name))&&m.removeAttribute(y.name);u instanceof HTMLInputElement&&(u.type==="password"||u.type==="file"?m.removeAttribute("value"):m.setAttribute("value",u.value),m.toggleAttribute("checked",u.checked)),u instanceof HTMLTextAreaElement&&(m.textContent=u.value),u instanceof HTMLOptionElement&&m.toggleAttribute("selected",u.selected);let g=d.get(u);g&&m.setAttribute(gl,g),i?.(u,m)});for(let u of a.querySelectorAll(Hu))u.remove();for(let u of a.querySelectorAll("[data-devtools], [data-popmelt-peer-surface], [data-popmelt-root], popmelt-root"))u.remove();if(a.matches(Hu))throw new Error("Unsupported preview root");let p="";for(let u of e.ownerDocument.styleSheets)if(!(u.ownerNode instanceof Element&&u.ownerNode.closest("[data-devtools], [data-popmelt-top-layer-host]")))try{p+=[...u.cssRules].map(f=>f.cssText).join(`
|
|
6
|
-
`)+`
|
|
7
|
-
`}catch{c.add("An inaccessible stylesheet was omitted")}return c.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(u=>[u.name,u.value]))}:{},css:p,width:r,height:o,warnings:[...c]}}function Ou(e,t){let n=[...e.querySelectorAll(`[${gl}]`)].filter(r=>r.getAttribute(gl)===t);return n.length===1?n[0]:null}var Ly=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,c]of Object.entries(e.bodyAttributes??{}))o.body.setAttribute(s,c);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 c=f=>{clearTimeout(u),this.frame.removeEventListener("load",p),this.cancelPending===d&&(this.cancelPending=null),s(f)},d=()=>c(!1),p=()=>{if(r!==this.generation||this.frame.contentDocument?.documentElement.dataset.previewGeneration!==String(r))return;let f=this.frame.contentDocument;n?.(f);for(let m of t.artifacts)m.kind==="style"&&Ou(f,m.targetKey)?.style.setProperty(m.property,m.value,"important");this.current={baseline:e,plane:{...t}},c(!0)},u=setTimeout(d,5e3);this.cancelPending=d,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=Ou(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 Py(e,t){return{id:e,ownerId:t,revision:0,artifacts:[],undo:[],redo:[],attention:null}}function Ys(e){return el(e).flatMap(t=>t==="color"?[..._c]:[t])}function jy(e,t){if(e===void 0)return{families:Hi.map(n=>({family:n,label:xs(n)}))};if(!Hi.includes(e))throw new Error("Unknown omnidial family");if(!t)return{family:e,subproperties:Ys(e)};if(!Ys(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:pi(e,t)}:{},tokens:pi(e,t).map(n=>({token:Za(e,n,t),value:Di(e,n,t)}))}}function $y(e,t){if(t!==void 0&&!Hi.includes(t))throw new Error("Unknown omnidial family");let n=/^translate-x-(-?\d+)-y-(-?\d+)$/.exec(e);if(n&&(!t||t==="transform")){let o=pi("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]:Hi)for(let i of Ys(o))for(let a of pi(o,i))Za(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 Nu(e,t,n,r){let o=e.ownerDocument.defaultView.getComputedStyle(e),i=Ic(t,r),a=Di(t,n,r),l=Tc(t),s=Ac(t,r,n),c=t==="border"&&!ui(t,r)&&typeof n=="number"&&n>0?Cc(r):null,d={family:t,subproperty:Oc(t,r),step:n},p=[{property:i,original:o.getPropertyValue(i).trim()||"0px",modified:a,token:Za(t,n,r),sticker:d}];l&&p.unshift({property:"display",original:o.getPropertyValue("display").trim()||"block",modified:l,token:l,sticker:d});for(let u of s)p.push({property:u.property,original:o.getPropertyValue(u.property).trim(),modified:u.value,token:u.token,sticker:d});if(c){let u=o.getPropertyValue(c).trim();(!u||u==="none")&&p.push({property:c,original:u||"none",modified:"solid",token:Za(t,n,r),sticker:d})}return{alreadyApplied:Ec(t,n,r,u=>o.getPropertyValue(u)),changes:p}}function _u(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 zy(e,t){for(let n of t.changes)ot(e,n.property,n.modified)}var Dy=new Set(["text","transform","opacity"]),Hy=new Set(["padding","margin","border","radius","color"]);function Oy(e){return e instanceof SVGSVGElement&&!(e.parentElement instanceof SVGElement)}function Ny(e){return e!=="text-align"}function yl(e,t,n){return jr(e)?e instanceof HTMLElement?!0:t==="text"&&!Ny(n)?!1:Dy.has(t)||Oy(e)&&Hy.has(t):!1}function va(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 _y(e,t){return Object.keys(t).filter(n=>e[n]!==void 0&&e[n]!==t[n])}function Fu(e,t){return Object.keys(e).length===Object.keys(t).length&&Object.keys(t).every(n=>e[n]===t[n])}function Us(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 Fy(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 sr=()=>location.origin+location.pathname;function vl(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 Wu=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 Ly(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??il,i=new Set([...n?[n]:[],...va(o)]),a=new Map;for(let d of i)a.set(d,vl(d));let l=new Map;for(let d of t.textModifications){let p=document.querySelector(d.selector);p&&l.set(p,[...l.get(p)??[],d])}let s=Ry({root:document.body,targets:a,revision:sr(),width:innerWidth,height:innerHeight,cleanClone:(d,p)=>{if(!r){fg(d,p);for(let u of l.get(d)??[]){let f=p;for(let m of u.textNodePath)f=f?.childNodes[m];f?.nodeType===Node.TEXT_NODE&&(f.nodeValue=u.original)}}}}),c=Py(e.identity.id,e.identity.id);if(c.revision=e.revision,r||(c.artifacts=o.styleModifications.flatMap(d=>d.changes.map(p=>({kind:"style",id:d.selector+p.property,targetKey:d.selector,property:p.property,value:p.modified})))),!await this.surface.render(s,c,d=>{this.sources=Object.fromEntries([...i].map(p=>[p,Fy(d.querySelector(`[data-popmelt-preview-target="${CSS.escape(p)}"]`))])),this.changed=_y(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(!va(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(il),annotations:Object.keys(n.sources).map((c,d)=>({id:`source-${d}`,type:"text",text:"",points:[],strokeWidth:1,color:r.color,timestamp:0,linkedSelector:c}))}};if(await this.render(s,t),!Fu(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:jy(n.family,n.subproperty)};let o=r.state??{...structuredClone(il),isAnnotating:!0,activeColor:r.color},i=o,a,l=s=>{i=km(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([...va(o),...va(i)])].filter(c=>{let d=p=>JSON.stringify([p.annotations.filter(u=>u.linkedSelector===c),p.styleModifications.filter(u=>u.selector===c)]);return d(o)!==d(i)});r.basis=Us(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(d=>d.linkedSelector===n.selector),c=n.kind!=="comment"&&o.styleModifications.some(d=>d.selector===n.selector);if(!s&&!c)return{peer:r,evidence:{status:"nothing-to-clear"}};i={...o,annotations:n.kind==="style"?o.annotations:o.annotations.filter(d=>d.linkedSelector!==n.selector),styleModifications:n.kind==="comment"?o.styleModifications:o.styleModifications.filter(d=>d.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=Us(r.basis??{},e.observedSources??{},this.sources,[n.selector])}else if("selector"in n&&n.selector){let s=vl(n.selector),c=sn(s),d=n.selector;if(n.type==="inspect"){let p=await this.render(r,t,d,n.plane==="host");a={...this.surface.inspect(d,n.properties??[]),element:c,warnings:p,view:n.plane??"own",url:sr(),changedSourceTargets:n.plane==="host"?void 0:this.changed}}else if(n.type==="style")if("token"in n){let p=$y(n.token,n.family);if(!yl(s,p.family,p.subproperty))throw new Error("This omnidial token does not support the target");await this.render(r,t,d);let u=this.surface.frame.contentDocument?.querySelector(d);if(!u)throw new Error("Could not inspect original style");let f=p.axisSteps?_u(u,p.axisSteps.x,p.axisSteps.y):Nu(u,p.family,p.step,p.subproperty);f.alreadyApplied||l({type:"MODIFY_STYLES_BATCH",payload:{selector:d,element:{...c,selector:d},changes:f.changes}}),a={token:n.token,selection:p,alreadyApplied:f.alreadyApplied}}else{if(!CSS.supports(n.property,n.value))throw new Error("Unsupported CSS property/value");await this.render(r,t,d);let p=this.surface.inspect(d,[n.property])?.styles[n.property];if(p===void 0)throw new Error("Could not inspect original style");l({type:"MODIFY_STYLES_BATCH",payload:{selector:d,element:{...c,selector:d},changes:[{property:n.property,original:p,modified:n.value}]}})}else if(n.type==="comment"){await this.render(r,t,d);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:d,elements:[{...c,selector:d}]}})}r.attention=null,(n.type==="comment"||n.type==="style")&&(r.basis=Us(r.basis??{},e.observedSources??{},this.sources,[d]))}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=sr(),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 Wy(e,t,n){let r=!0,o,i=new Set,a=async d=>{let p=new AbortController;i.add(p);let u=setTimeout(()=>p.abort(),1500);try{return await e(d,p.signal)}catch{return!1}finally{clearTimeout(u),i.delete(p)}},l=()=>{r=!1,clearTimeout(o);for(let d of i)d.abort()},s=()=>{l(),a("finish")},c=async()=>{if(!r)return;let d=await a("renew");r&&d&&(o=setTimeout(()=>{c()},1e3))};n.addEventListener("abort",s,{once:!0});try{if(n.aborted)throw new Error("Canvas disconnected before action");let d=await a("start");if(n.aborted)throw new Error("Canvas disconnected before action");return r&&d&&(o=setTimeout(()=>{c()},1e3)),await t()}finally{l(),n.removeEventListener("abort",s),await a("finish")}}function Jy(e){let t=`popmelt-peer-seen:${e}`,[n,r]=P({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:U((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 By(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(d=>r(d)))return!1;let c=s.target instanceof Element?s.target:s.target.parentElement;return c?.closest("style,head")?!0:e.some(d=>{let p=document.querySelector(d);return!p||p.contains(s.target)||c?.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 Ju(e){if(!e)return 0;let t=lm(e.annotations);return uc({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 qy(e,t,n,r,o){let[i,a]=P([]),[l,s]=P([]),c=Df(l,e&&r.isAnnotating),d=Hf(e&&r.isAnnotating),{viewedId:p,isPeeking:u}=d,[f,m]=P(),[g,y]=P(),[x,L]=P([]),A=q(null),{markSeen:S,isUnseen:O}=Jy(n),M=xe(()=>new Map(i.map(F=>[F.identity.id,Ju(F.state)])),[i]),{annotations:X,styleModifications:Z,textModifications:N}=r,V=xe(()=>Ju({annotations:X,styleModifications:Z,textModifications:N}),[X,Z,N]),[J,k]=P(null),K=q(null),ee=q({human:r,settings:o});ee.current={human:r,settings:o};let j=q({clientId:crypto.randomUUID()}),z=q(async()=>{throw new Error("Canvas is disconnected")}),$=e?i.find(F=>F.identity.id===p):void 0,H=i.find(F=>F.identity.id===d.selectedId)?.state,D=xe(()=>Of(H),[H]);_(()=>{if(!e||!n)return;j.current.token||(j.current={clientId:crypto.randomUUID()});let F=!1,Se,ie=-1,re=-1,Te=new AbortController,je="",Oe=!1,Y=new Wu,be=new Map,Le=me=>{F||typeof me.presenceVersion!="number"||me.presenceVersion<=re||!Array.isArray(me.presence)||(re=me.presenceVersion,s(me.presence))},He=async(me,he={},Je=AbortSignal.any([Te.signal,AbortSignal.timeout(5e4)]))=>{let qe=j.current.token,st=await Xt(`${t}/peers/${me}`,{method:"POST",headers:{"Content-Type":"application/json","X-Popmelt-Project-Id":n},body:JSON.stringify({...j.current,...he}),signal:Je}),Ve=await st.json();if(me!=="host"&&qe!==j.current.token)throw new Error("Canvas session changed during request");if(!st.ok||Ve.error)throw new Error(Ve.error??`Peer request failed (${st.status})`);return Ve};z.current=He;async function et(me){if(me.url&&me.url!==sr())throw new Error("Canvas navigated before the operation could run");if(me.action.type!=="send"){let We=Im(me.action);return We?(vl(We.selector),Wy(async(pt,kn)=>{let Kt=await He("activity",{id:me.id,phase:pt},kn);return Le(Kt),Kt.accepted===!0},()=>Y.execute(me,ee.current.human),Te.signal)):Y.execute(me,ee.current.human)}if(!me.grant)throw new Error("No host-approved Send grant");let he=structuredClone(me.peer);if(he.url!==sr())throw new Error("Return to the proposal\u2019s page before sending");let Je=he.state;if(!Je||!Je.annotations.length&&!Je.styleModifications.length)throw new Error("There are no peer changes to send");await Y.render(he,ee.current.human);let qe={...Y.sources};if(!me.observedSources||Object.keys(qe).some(We=>me.observedSources[We]!==qe[We]))throw new Error("Source changed since the last preview. Take another look, then send again.");let st=Y.surface.frame.contentDocument;if(!st)throw new Error("Peer preview is unavailable");let[Ve]=await hi(st.body,null,[],{viewportOnly:!0});if(!Ve)throw new Error("Could not capture the peer preview");if(await Y.render(he,ee.current.human),!Fu(qe,Y.sources))throw new Error("Source changed while preparing Send. Take another look, then send again.");await He("source",{grant:me.grant,sources:qe});let Ie=fl(Je.annotations,Je.styleModifications,void 0,void 0,Je.textModifications),{provider:Ue,model:mt,agentSettings:_t}=ee.current.settings,yt=await Xc(Ve,JSON.stringify(Ie),t,he.color,Ue,mt,void 0,void 0,_t,void 0,void 0,void 0,me.grant);return he.state={...structuredClone(il),isAnnotating:!0,activeColor:he.color},he.revision++,he.basis={},delete he.pendingRevision,he.lastJob={jobId:yt.jobId,threadId:yt.threadId},{peer:he,evidence:{status:"submitted",...yt}}}async function it(){try{if(!j.current.token||je!==sr()){let he=await He("host",{url:sr()});if(F)return;j.current.token=String(he.token),je=sr()}let me=await He("poll",{version:ie,presenceVersion:re});if(F)return;Le(me),me.peers&&(a(me.peers),Oe=me.peers.length>0,ie=Number(me.version));for(let he of me.requests){let Je=be.get(he.id);if(!Je){try{Je=await et(he)}catch(qe){Je={error:qe instanceof Error?qe.message:String(qe)}}be.set(he.id,Je),be.size>100&&be.delete(be.keys().next().value)}await He("response",{id:he.id,result:Je})}}catch(me){!F&&me instanceof Error&&me.message.includes("Host capability")&&(j.current.token=void 0,ie=-1,re=-1,F||s([]))}finally{F||(Se=setTimeout(()=>{it()},document.hidden||!Oe?2e3:600))}}return it(),()=>{F=!0,Te.abort(),clearTimeout(Se),Y.dispose(),a([]),s([]),z.current=async()=>{throw new Error("Canvas is disconnected")}}},[e,t,n]),_(()=>{if(y(void 0),L([]),A.current=null,!$||!r.isAnnotating||!K.current){k(null);return}let F=new Wu;K.current.append(F.container),k(null),F.container.removeAttribute("aria-hidden"),F.container.style.cssText="position:absolute;inset:0;pointer-events:none;";let Se=!1;$.url&&$.url!==sr()&&y("This draft belongs to another page. Return to it to preview.");let ie=!1,re=!1,Te=()=>{if(!Se){if(ie){re=!0;return}ie=!0,F.render($,ee.current.human).then(()=>{Se||(y(void 0),L(F.changed),A.current={id:$.identity.id,revision:$.revision,values:{...F.sources}},k(F.surface.frame),S($.identity.id,$.revision))}).catch(be=>{Se||(A.current=null,k(null),y(be.message))}).finally(()=>{ie=!1,re&&(re=!1,Te())})}},je=!$.url||$.url===sr();je&&Te();let Oe=je?By(va($.state),Te):()=>{},Y=()=>F.surface.frame.contentWindow?.scrollTo(scrollX,scrollY);return window.addEventListener("scroll",Y,{passive:!0}),()=>{Se=!0,Oe(),window.removeEventListener("scroll",Y),F.dispose()}},[$,r.isAnnotating,S]);let C=async F=>{try{return await F(),m(void 0),!0}catch(Se){return m(Se instanceof Error?Se.message:String(Se)),!1}},ne=e&&i.length?{peers:[{identity:{id:"host",name:"You",kind:"human",relationship:"host"},permission:"direct",color:r.activeColor,stagedCount:V},...i.map(F=>({...F,stagedCount:M.get(F.identity.id)??0,unseenActivity:O(F.identity.id,F.revision)}))],viewedPeerId:p,selectedPeerId:d.selectedId,onPeek:d.peek,onPeekEnd:d.leave,onPreview:F=>{d.select(F),m(void 0)},onPermissionChange:(F,Se)=>C(()=>z.current("permission",{peerId:F,permission:Se}))}:null,oe=$?.pendingRevision!==void 0?()=>C(()=>{let F=A.current;if(!F||F.id!==p||F.revision!==$.revision)throw new Error("Wait for this draft\u2019s preview before sending.");return z.current("approve",{peerId:p,revision:$.pendingRevision,sources:F.values})}):void 0,G=!!($&&r.isAnnotating),ce=e&&(f??(G?g:void 0));return _(()=>{if(!G)return;let F=Se=>{Se.composedPath().some(ie=>ie instanceof Element&&ie.hasAttribute("data-devtools"))||(Se.metaKey||Se.ctrlKey)&&Se.key==="Enter"||(Se.key.length===1||["Backspace","Delete","Enter"].includes(Se.key))&&(Se.preventDefault(),Se.stopPropagation())};return window.addEventListener("keydown",F,!0),()=>window.removeEventListener("keydown",F,!0)},[G]),{toolbar:ne,selectedId:d.selectedId,threadAnnotationNumbers:D,activePreview:G,isPeeking:u,viewed:$,approve:oe,overlay:T(rt,{children:[G&&h("div",{ref:K,"data-devtools":"peer-preview","data-peer-revision":$?.revision,"data-pending-revision":$?.pendingRevision,"data-popmelt-peer-surface":!0,style:{position:"fixed",inset:0,zIndex:1e4,background:"#111",pointerEvents:"auto"}}),c.map(({presence:F,engaged:Se})=>{if(u)return null;let ie=i.find(Te=>Te.identity.id===F.peerId);if(!ie||F.clientId!==j.current.clientId||F.url!==sr()||G&&ie.identity.id!==p)return null;let re=null;try{re=G?J?.contentDocument?.querySelector(F.selector)??null:vl(F.selector)}catch{}return h(Kc,{element:re,engaged:Se,label:`${ie.identity.name} is looking at this element`},`${ie.identity.id}:${F.operationId}`)}),!u&&G&&$&&J?.contentDocument&&h(Nf,{peer:$,targetDocument:J.contentDocument,onApprove:oe?()=>{oe()}:void 0}),G&&$&&p===d.selectedId&&h("div",{"data-devtools":"peer-plane-border","data-plane-owner":$.identity.id,"aria-hidden":"true",style:{position:"fixed",inset:0,border:`2px solid ${$.color}`,boxSizing:"border-box",pointerEvents:"none",zIndex:10002}}),G&&$&&p===d.selectedId&&h(_f,{name:$.identity.name,isOwnPlane:$.identity.id==="host",color:$.color,changed:x.length>0}),ce&&h("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:Es,fontSize:12,lineHeight:1.4,zIndex:10002},children:ce})]})}}function Yy(e,t,n,r,o,i,a){let[l,s]=P(),c=q({navigation:e,selectedId:t});_(()=>{if(!e||!n||l?.navigation===e)return;let d=e.read(),p=o.current,u=!1;if(!d.threadId||d.selectedId!==t){s({navigation:e});return}return i(d.threadId).then(f=>{if(!u){if(p===o.current&&e.read()===d)if(f>=200&&f<300)a(d.threadId);else if(f===403||f===404||f===410)e.rememberThread(t,null);else{s({navigation:e,unresolvedRevision:p});return}s({navigation:e})}}).catch(()=>{u||s({navigation:e,unresolvedRevision:p})}),()=>{u=!0}},[e,t,n,l,o,i,a]),_(()=>{let d=c.current.navigation!==e||c.current.selectedId!==t;c.current={navigation:e,selectedId:t},!(!e||l?.navigation!==e||d)&&(l.unresolvedRevision===o.current&&!r||e.rememberThread(t,r))},[e,t,r,l,o])}var Uy=pu(()=>import("./ParticipantRuntime-5WM2XJT7.mjs")),Xy=pu(()=>import("./PreviewRuntime-ATSECGMB.mjs"));function Ky({children:e,projectId:t,adapters:n,multiplayer:r=!1}){let[o,i]=P(!1);if(_(()=>{i(!0)},[]),!o)return null;let a=window.__POPMELT_PARTICIPANTS__;if(!r)return oc()?null:a?h("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{Qh(a,t)}catch(l){return h("p",{role:"alert","data-devtools":"participant-error",children:l.message})}return oc()?a?h(hu,{fallback:null,children:h(Xy,{config:a,adapters:n})}):null:a?h(hu,{fallback:null,children:h(Uy,{config:a,children:wg(e,{bridgeUrl:a.url,projectId:a.projectId})},a.projectId)}):e}function Vy(e,t,n,r){let o=q(e);o.current=e;let[i,a]=P([]),l=q(null),[s,c]=P(null),[d,p]=P(null),u=i.filter(y=>y.scope===e),f=y=>a(x=>x.filter(L=>L.id!==y)),m=(y,x)=>{let L=Symbol(y);p(null);let A=t(y).then(()=>!0,()=>(o.current===e&&(x(),p({scope:e,message:"Could not dismiss thread. Please try again."})),f(L),!1));a(S=>[...S.filter(O=>O.scope===e),{id:L,threadId:y,rollback:x,saved:A,scope:e,undoHead:r}])},g=async()=>{let y=u.at(-1);if(!(!y||l.current===e)){l.current=e,c(e),p(null);try{if(!await y.saved||o.current!==e||(await n(y.threadId),o.current!==e))return;y.rollback(),f(y.id)}catch{o.current===e&&p({scope:e,message:"Could not restore thread. Try Undo again."})}finally{l.current===e&&(l.current=null,c(null))}}};return{dismiss:m,undo:g,tryUndo:()=>{let y=u.at(-1);return!y||y.undoHead!==r?!1:(g(),!0)},busy:s===e,count:u.length,error:d?.scope===e?d.message:null}}function Gy({enabled:e,active:t,configuration:n=!0,adapters:r}){let[o,i]=P(!1),[a,l]=P(null),s=xe(()=>Zh(),[]),{recognition:c,selector:d,root:p,observe:u,store:f,imageHasher:m,onError:g}=typeof n=="object"?n:{},y=r.some(S=>S.surfaceKind==="image"||S.id==="see:image"),x=e&&n!==!1&&!y,L=t||o,A=L?c:void 0;return _(()=>{e?t&&i(!0):i(!1)},[e,t]),_(()=>{if(!x)return;let S=ef({recognition:A?{cacheKey:A.cacheKey,configurationKey:A.configurationKey,detect:O=>A.detect(O),reconcile:(...O)=>A.reconcile(...O)}:void 0,hydrateOnly:!L,selector:d,root:p,observe:u,store:f??s,imageHasher:m,onError:g});return l(S),()=>{l(null),S.destroy()}},[x,A,L,d,p,u,f,s,m,g]),xe(()=>x&&a?[a,...r]:r,[x,a,r])}function Qy({enabled:e,configuration:t=!0,adapters:n}){let[r,o]=P(null),i=xe(()=>tf(),[]),{segmentation:a,tracking:l,selector:s,root:c,observe:d,store:p,onError:u}=typeof t=="object"?t:{},f=n.some(g=>g.surfaceKind==="video"||g.id==="see:video"),m=e&&t!==!1&&!f;return _(()=>{if(!m)return;let g=nf({tracking:l,segmentation:a,selector:s,root:c,observe:d,store:p??i,onError:u});return o(g),()=>{o(null),g.destroy()}},[m,l,a,s,c,d,p,i,u]),xe(()=>m&&r?[r,...n]:n,[m,r,n])}function Bu(e,t){return JSON.stringify([e,t.adapter,t.key])}async function qu(e,t,n,r){for(let o of t){if(!o.target)continue;let i=Bu(n,o.target);if(!r.has(i))try{r.set(i,await e.captureFeedback(o.target))}catch{r.set(i,null)}}}function Zy(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 ev(e,t,n,r){for(let o of e.annotations){if(!o.target)continue;let i=n.get(Bu(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 tv(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 nv(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 Yu(e){let t=e.instruction?.trim();return t?e.attachments?.some(n=>n.name?.trim()===t)?null:t:null}function rv(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 ov(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 iv(e){let t=e.annotations.map(o=>{let i=o.interactionEpisode?.steps.length??0;return{kind:"annotation",annotationId:o.id,pathname:o.pathname,text:Yu(o)??ov(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:rv(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 av(e){let t=e.annotations.flatMap(r=>{let o=Yu(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(`
|
|
8
|
-
|
|
9
|
-
`);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}\`
|
|
10
|
-
${o.map(i=>`- ${i}`).join(`
|
|
11
|
-
`)}`).join(`
|
|
12
|
-
`)}function lv(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(0,t-3))}...`:n}function sv(e,t,n){let r=[],o=(i,a)=>{let l=i.filter(c=>!c.includes("data-pm=")),s=cu(l,a);s.status!=="matched"||r.some(c=>c.element===s.element)||r.push({element:s.element,elementInfo:sn(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 dv(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=e.element.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>0&&n.right>0&&n.top<window.innerHeight&&n.left<window.innerWidth}function cv({entry:e,color:t,subjectRegistry:n,hasExistingOverlay:r}){let o=$r(Oi),i=cs(),[a,l]=P(null);return _(()=>{if(!o)return;let s=sv(e,i,n),c=()=>{let u=s.filter(dv);l(f=>f?.entry===e&&f.pathname===i&&f.targets.length===u.length&&f.targets.every((m,g)=>m===u[g])?f:{entry:e,pathname:i,targets:u})};c();let d=eu(c),p=Cu(c);return()=>{d(),p.disconnect()}},[e,i,n,o]),a?.entry!==e||a.pathname!==i?null:h("div",{"data-devtools":"history-target-preview",style:{pointerEvents:"none"},children:a.targets.filter(s=>!r?.(s.element)).map((s,c)=>h(ao,{element:s.element,elementInfo:s.elementInfo,subjectRegistry:n,isSelected:!1,hideFill:!s.subject,color:t},c))})}function uv(){if(typeof window>"u")return null;try{let e=window.localStorage.getItem(gs);return e?JSON.parse(e):null}catch{return null}}function pv({bridgeUrl:e,annotations:t}){let[n,r]=P(uv);_(()=>{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(gs,JSON.stringify(n)):window.localStorage.removeItem(gs)},[n]),_(()=>{let l=n?.attachments?.map(s=>s.id)??[];!e||l.length===0||Yc(e,l).catch(()=>{})},[n?.attachments,e]);let o=U(l=>{!e||!l?.length||Promise.all(l.map(s=>Ts(e,s.id).catch(()=>{})))},[e]),i=U(async l=>{if(!n||n.domEdit)return;let s=sm(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(f=>f.groupId===n.groupId&&f.type!=="text")?.id??n.id:n.id,u=await Vm(e,p,s);r(f=>f?.id===n.id?{...f,attachments:[...f.attachments??[],u]}:f)}catch(p){console.error("[Popmelt] Failed to stage pasted attachment:",p)}return}let c=l.clipboardData.items,d=[];for(let p=0;p<c.length;p+=1){let u=c[p];if(!u.type.startsWith("image/"))continue;let f=u.getAsFile();f&&d.push(f)}d.length!==0&&(l.preventDefault(),r(p=>p?{...p,images:[...p.images??[],...d]}:null))},[n,t,e]),a=U(l=>{r(s=>s&&{...s,attachments:s.attachments?.filter(c=>c.id!==l)}),e&&Ts(e,l).catch(()=>{})},[e]);return{activeText:n,setActiveText:r,handleTextPaste:i,removeActiveTextAttachment:a,releaseActiveTextAttachments:o}}function hv({annotations:e,isCreatingAnnotation:t,hoveredTextId:n,badgeHoveredAnnotationId:r,highlightedAnnotationIds:o,cycleFocusedAnnotationIds:i,hoveredElement:a}){let l=xe(()=>{let p=e.filter(g=>(g.status??"pending")==="pending");if(p.length===0&&!t)return null;let u=new Set(p.map(g=>g.id)),f=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&&f.has(g.groupId)||g.threadId&&m.has(g.threadId))&&u.add(g.id);return u},[e,t]),s=xe(()=>{let p=new Set;if(n&&p.add(n),r&&p.add(r),o?.forEach(u=>p.add(u)),a){for(let u of e)if(u.linkedSelector)try{a.matches(u.linkedSelector)&&p.add(u.id)}catch{}}return vs(e,p)},[e,n,r,o,a]),c=xe(()=>o?vs(e,o):null,[e,o]),d=xe(()=>i?vs(e,i):null,[e,i]);return{cycleSpotlightAnnotationIds:d,emphasizedAnnotationIds:c??d??l,hoverRestoredAnnotationIds:s,inactiveEmphasisOpacity:c||d?.2:.5,statusSpotlightAnnotationIds:c}}function fv({activeText:e,activeTextSendHintId:t,annotationNumberById:n,badgeHoveredAnnotationId:r,canvasRef:o,focusedThreadAnnotationId:i,hoveredElement:a,hoveredElementInfo:l,hoveredTextId:s,showHoverElementIdentifier:c,layoutReady:d,layoutRevision:p,pageAnnotations:u,parentPinnedAnnotationIds:f,pendingLinkedText:m,scroll:g,supersededAnnotations:y,textSafeBounds:x}){let L=q(new Map);return xe(()=>{let A=new Set,S=new Map,O=new Map,M=new Map,X=()=>({hiddenCollidingAnnotationIds:A,nestedCollidingAnnotationCountById:S,nestedCollidingAnnotationIdsById:O,visibleCollisionRepresentativeByAnnotationId:M});if(!d)return X();let Z=o.current?.getContext("2d");if(!Z)return X();let N=(D,C,ne,oe,G)=>{Z.font=`${oe}px ${Sn}`;let ce=(ne||"Type here...").replace(/\n/g," "),F=G!==void 0?`${G}. ${ce}`:ce,Se={x:C.x-g.x,y:C.y-g.y},ie=f.has(D)?Ps:0,re=Math.max(60,Cs(Se.x)-ie),Te=ou(Z,F,re),je=Z.measureText(Te).width,Oe=iu(Se,oe,x,ie+je+16);return{left:Oe.x-8,top:Oe.y-4,right:Oe.x+ie+je+8,bottom:Oe.y+oe*lr+4}},V=new Set,J=u.flatMap(D=>{if(D.type!=="text"||!D.text||!D.points[0]||!D.linkedSelector||y.has(D))return[];let C=D.elements?.[0]?.selector,ne=L.current.get(D.id),oe=ne?.selector===D.linkedSelector&&ne.fallbackSelector===C&&ne.element.isConnected,G=oe?ne.element:Zt(D.linkedSelector,D.elements);if(!G)return[];let ce=oe?ne.depth:cm(G);return L.current.set(D.id,{selector:D.linkedSelector,fallbackSelector:C,element:G,depth:ce}),V.add(D.id),[{id:D.id,annotation:D,element:G,bounds:N(D.id,D.points[0],D.text,D.fontSize||12,n.get(D.id)),depth:ce}]});for(let D of L.current.keys())V.has(D)||L.current.delete(D);if(J.length===0)return X();let k=J.map((D,C)=>C),K=D=>{let C=D;for(;k[C]!==C;)C=k[C];for(;k[D]!==D;){let ne=k[D];k[D]=C,D=ne}return C},ee=(D,C)=>{let ne=K(D),oe=K(C);ne!==oe&&(k[oe]=ne)};for(let D=0;D<J.length;D+=1)for(let C=D+1;C<J.length;C+=1){let ne=J[D],oe=J[C];bs(ne.element,oe.element)&&ws(ne.bounds,oe.bounds)&&ee(D,C)}let j=new Map;J.forEach((D,C)=>{let ne=K(C),oe=j.get(ne)??[];oe.push(D),j.set(ne,oe)});for(let D of j.values())for(let C of D){let ne=new Set,oe=D.flatMap(G=>G.id===C.id||G.element===C.element||!C.element.contains(G.element)||ne.has(G.element)?[]:(ne.add(G.element),[G.id]));oe.length>0&&(S.set(C.id,oe.length),O.set(C.id,oe))}let z=e?.linkedSelector?{id:e.id,element:Zt(e.linkedSelector,e.elements),bounds:N(e.id,e.point,e.text,e.fontSize,n.get(e.id))}:m?.linkedSelector?{id:t,element:Zt(m.linkedSelector,m.elements),bounds:N(t,m.point,"",12)}:null,$=null;if(a&&c){let D=a.getBoundingClientRect(),C=22,ne=D.height>=window.innerHeight,oe=ne?D.top+8:D.top>=C+zi?D.top-C-zi:D.bottom+zi,G=ne?D.left+8:D.left,ce=l?um(l):a.tagName.toLowerCase();Z.font=`12px ${Sn}`;let F=Math.min(400,Z.measureText(ce).width+16);$={left:G,top:oe,right:G+F,bottom:oe+C}}let H=(D,C)=>{D.forEach(ne=>{ne.id!==C&&A.add(ne.id),C&&M.set(ne.id,C)})};for(let D of j.values()){if(z?.element&&D.some(G=>bs(z.element,G.element)&&ws(z.bounds,G.bounds))){let G=new Set,ce=D.flatMap(F=>F.element===z.element||!z.element.contains(F.element)||G.has(F.element)?[]:(G.add(F.element),[F.id]));ce.length>0&&(S.set(z.id,ce.length),O.set(z.id,ce)),H(D,D.find(F=>F.id===z.id)?.id);continue}let C=[s,r].find(G=>G&&D.some(ce=>ce.id===G)),ne=D.find(G=>G.id===C);if(ne){H(D,ne.id);continue}if(a){let G=D.find(ce=>ce.element===a);if(G){H(D,G.id);continue}if($&&D.some(ce=>!pm(ce.annotation)&&!hm(ce.annotation)&&ce.annotation.status!=="awaiting_review"&&bs(a,ce.element)&&ws($,ce.bounds))){H(D);continue}}let oe=[i].find(G=>G&&D.some(ce=>ce.id===G));if(oe){H(D,oe);continue}if(D.length>1){let G=D.reduce((ce,F)=>F.depth<ce.depth||F.depth===ce.depth&&(F.bounds.top<ce.bounds.top||F.bounds.top===ce.bounds.top&&F.annotation.timestamp<ce.annotation.timestamp)?F:ce);H(D,G.id)}}return X()},[e,t,n,r,o,i,a,l,s,c,d,u,f,m,g.x,g.y,y,x,p])}function Uu(e){if(!e.isConnected)return!1;let t=e.getBoundingClientRect();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=uu(n)}return!0}function mv(e){if(!e)return null;try{return $s(e)}catch{return null}}function Xu(e,t){if(e?.isConnected){let r=e;for(;r&&r!==document.documentElement;){if(Uu(r))return{element:r,parentPinned:r!==e};r=uu(r)}}let n=mv(t);return n&&Uu(n)?{element:n,parentPinned:!0}:null}function Xs(e,t,n){return Xu(e,n)?.element===t}function Ku(e,t){let n=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(t):t.replace(/["\\]/g,"\\$&");return`[${e}="${n}"]`}function gv(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){let o=$s(Ku("data-popmelt-media-id",r));if(o)return o;let i=$s(Ku("data-popmelt-see-id",r));if(i)return i}return al(e.linkedSelector,t)}var yv='#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 vv(e,t){return e.size===t.size&&[...e].every(n=>t.has(n))}function bv({annotations:e,currentPathname:t,dispatch:n,stateRef:r,styleModifications:o,subjectRegistry:i,toolbarRef:a,onTargetResolutionChange:l}){let s=$r(Oi),[c,d]=P(()=>new Set),p=xe(()=>e.filter(f=>f.linkedSelector&&(!f.pathname||f.pathname===t)).map(f=>[f.id,f.linkedSelector,f.text,f.fontSize,f.timestamp,JSON.stringify([f.elements?.[0]?.selector,f.elements?.[0]?.context,f.elements?.[0]?.targetFingerprint,f.elements?.[0]?.dataAttributes,f.elements?.[0]?.sourceElement?.dataAttributes])].join(":")).join("|"),[e,t]),u=xe(()=>o.filter(f=>!f.pathname||f.pathname===t).map(f=>f.selector).sort().join("|"),[t,o]);return _(()=>{if(!s)return;if(!p){d(z=>z.size===0?z:new Set);return}let f=null,m=!1,g=document.createElement("canvas").getContext("2d"),y=null,x=new Map,L=new Map,A=new Map,S=dm(r.current.annotations.flatMap(z=>[z.linkedSelector,z.elements?.[0]?.selector].filter($=>!!$))),O=()=>{if(y)return y;let z=r.current.annotations.filter(H=>H.linkedSelector&&(!H.pathname||H.pathname===t)),$=new Map;return y=z.flatMap(H=>{L.has(H.id)||L.set(H.id,gv(H));let D=L.get(H.id);$.set(H.id,D);let C=Xu(D,H.elements?.[0]?.context);return C?[{annotation:H,spatialAnchor:C}]:[]}),($.size!==A.size||[...$].some(([H,D])=>A.get(H)!==D))&&(A=$,l?.()),y},M=()=>{y=null,x.clear()},X=()=>{let z=r.current.styleModifications.filter(F=>!F.pathname||F.pathname===t),$=[],H=O(),D=new Map(r.current.annotations.map(F=>[F.id,F])),C=new Set(H.filter(({spatialAnchor:F})=>F.parentPinned).map(({annotation:F})=>F.id));d(F=>vv(F,C)?F:C);let ne=new Map,oe=new Map,G=new Map;for(let{annotation:F,spatialAnchor:Se}of H){let ie=G.get(Se.element)??[];ie.push(F),G.set(Se.element,ie)}let ce=new Map;for(let F of G.values()){F.sort((Te,je)=>Te.timestamp-je.timestamp);let Se=0,ie,re=0;for(let Te of F)Te.timestamp!==ie&&(ie=Te.timestamp,re=Se),ce.set(Te.id,re),Se+=1}for(let{annotation:F,spatialAnchor:Se}of H){let ie=Se.element,re=ne.get(ie);re||(re=ie.getBoundingClientRect(),ne.set(ie,re));let Te=oe.get(ie);Te===void 0&&(Te=z.some(me=>{if(me.captured)return!1;try{return ie.matches(me.selector)}catch{return!1}}),oe.set(ie,Te));let je=ce.get(F.id)??0,Oe=(Te?1:0)+je,Y=x.get(F.id);if(Y===void 0&&F.text&&g){let me=F.fontSize||12;g.font=`${me}px ${Sn}`,Y=Math.max(...F.text.split(`
|
|
13
|
-
`).map(he=>g.measureText(he).width))+(Se.parentPinned?Ps:0),x.set(F.id,Y)}let be=re.top>=22*(1+Oe)+zi?"top-left":"bottom-left",Le=ie===document.body&&wc(F)?Mc(re):Rc(re,be,Oe,a?.current,Y),He=D.get(F.id),et=He?.points[0],it=be!==He?.linkedAnchor;et&&(it||Math.abs(Le.x-et.x)>1||Math.abs(Le.y-et.y)>1)&&$.push({id:F.id,point:Le,linkedAnchor:it?be:void 0})}$.length>0&&n({type:"UPDATE_LINKED_POSITIONS",payload:{updates:$}})},Z=()=>{m||f!==null||(f=requestAnimationFrame(()=>{f=null,X()}))};X();let N=()=>{M(),Z()},V=eu(X);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(X),k=new Set,K=()=>{for(let z of mg())!(z instanceof ShadowRoot)||k.has(z)||(k.add(z),ee.observe(z,j))},ee=new MutationObserver(z=>{let $=z.filter(H=>{let D=H.target,C=D instanceof Element?D:D.parentElement;return!C||!ga(C,yv)});$.some(H=>H.addedNodes.length)&&K(),$.some(S.changesIdentity)&&L.clear(),$.length&&N()}),j={attributes:!0,childList:!0,characterData:!0,subtree:!0,attributeFilter:S.attributes};return ee.observe(document.body,j),K(),()=>{m=!0,V(),window.removeEventListener("resize",N,!0),window.removeEventListener("load",N),document.removeEventListener("transitionend",N,!0),document.removeEventListener("animationend",N,!0),ee.disconnect(),J?.(),f&&cancelAnimationFrame(f)}},[s,t,n,p,u,r,i,a,l]),c}function wv(){let e=q({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 xv({annotations:e,annotationIds:t,badgeHoveredAnnotationId:n,hoveredTextId:r}){let o=xe(()=>{let c=new Map;for(let d of e){if(!t.has(d.id))continue;let p=pg(d.elements);p&&c.set(d.id,p)}return c},[e,t]),i=[n,r].find(c=>c&&o.has(c))??null,[a,l]=P(null);_(()=>{if(l(null),!i)return;let c=window.setTimeout(()=>{l(i)},500);return()=>window.clearTimeout(c)},[i]);let s=U(async c=>{let d=await hg(c.linkedSelector,c.elements);if(!d)return;let p=d.getBoundingClientRect();(p.bottom<0||p.top>window.innerHeight)&&d.scrollIntoView({behavior:"smooth",block:"center"})},[]);return{locationLabels:o,tooltipAnnotationId:a,revealAnnotation:s}}function Sv({activeText:e,activeTextAnchorId:t,hoveredElement:n,hoveredTextId:r,pendingTextAnnotations:o}){let[i,a]=P(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 n.matches(s.linkedSelector)}catch{return!1}});l&&a(l.id)},[n,o]),{sendHintAnchorId:i,setSendHintAnchorId:a}}function kv(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(c=>c?{...c,fontSize:Math.max(12,Math.min(72,c.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,c=a.deltaY>0?-2:2;o({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:s+c}})}};return window.addEventListener("wheel",i,{passive:!1}),()=>{window.removeEventListener("wheel",i)}},[n,e,r,o,t])}var Iv=86,Ev=36,Tv=2;function Av({nestedAnnotationCount:e,interactionEpisodeStepCount:t,reserveSendHint:n,imageCount:r=0}){let o=+(r>0)+ +(t>0)+ +(e>0)+Number(n);return o===0?0:xc(r)+(r>0?4:0)+(e>0?Ev:0)+Vc(t)+(n?Iv:0)+Math.max(0,o-1)*Tv}function Cv({rawLeft:e,width:t,top:n,scroll:r,collisionId:o,nestedAnnotationCount:i,nestedAnnotationIds:a,nestedBadgeColor:l,interactionEpisodeStepCount:s,imageCount:c=0,color:d="#f50",showSendHint:p,bundleCount:u,onHoverNestedAnnotations:f,onHoverSendHint:m,onClearInteractionEpisode:g,onSend:y}){return i===0&&s===0&&c===0&&!p?null:h(eg,{"data-popmelt-active-annotation-surface":"true",left:e+t+r.x+2-nu,top:n+r.y-nu,scrollX:r.x,scrollY:r.y,onContextMenu:x=>{x.preventDefault(),x.stopPropagation()},style:{pointerEvents:"auto",zIndex:10002},children:T("div",{style:{display:"flex",alignItems:"center",gap:2},children:[h(tu,{stepCount:s,onClear:g}),i>0&&o&&h(tg,{count:i,color:l,onHoverChange:x=>f(o,x?a:null)}),T("div",{style:{display:"flex",alignItems:"center",isolation:"isolate",marginLeft:c>0?4:0},children:[h(Sm,{imageCount:c,color:d}),p&&h(ng,{layered:c>0,bundleCount:Math.max(1,u),onHoverChange:m,onSend:y})]})]})})}function Mv({value:e,fontSize:t,prefix:n,inputRef:r,inputStyle:o,selectionBackground:i,selectionColor:a,annotationBorderRadius:l,activeColor:s,boundaryRects:c,wrapsDomText:d,showEditor:p,rawLeft:u,top:f,baselineOffset:m,onChange:g,onKeyDown:y,onPaste:x,onBlur:L}){let A=c!==void 0;return T(rt,{children:[h("style",{children:`
|
|
14
|
-
#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }
|
|
15
|
-
#devtools-text-input::selection {
|
|
16
|
-
background: ${i};
|
|
17
|
-
color: ${a};
|
|
18
|
-
}
|
|
19
|
-
@keyframes popmeltAnnotationFieldEnter {
|
|
20
|
-
from { border-radius: 8px; }
|
|
21
|
-
to { border-radius: ${l}; }
|
|
22
|
-
}
|
|
23
|
-
@media (prefers-reduced-motion: reduce) {
|
|
24
|
-
#devtools-text-input { animation: none !important; }
|
|
25
|
-
}
|
|
26
|
-
`}),c?.map((S,O)=>h("div",{"data-devtools":"text-edit-active-boundary",style:{position:"fixed",left:S.left,top:S.top,width:S.width,height:S.height,pointerEvents:"none",zIndex:10002,border:`1px solid ${s}`,backgroundColor:nl(s,.08),boxSizing:"border-box"}},`${S.left}:${S.top}:${O}`)),p&&h("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":A?void 0:"true",ref:r,value:e,onChange:g,onKeyDown:y,onPaste:x,onBlur:L,placeholder:"Type here...",wrap:A?d?"soft":"off":void 0,spellCheck:!1,style:o}),p&&!A&&n&&h("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"fixed",left:u+8,top:f+4+m,zIndex:10002,pointerEvents:"none",color:"#ffffff",fontFamily:Sn,fontSize:t,lineHeight:`${t*lr}px`,whiteSpace:"pre"},children:n})]})}function Rv({anchor:e,insetTopLeft:t=!1,width:n,height:r,value:o,fontSize:i,prefix:a,inputRef:l,inputStyle:s,onChange:c,onKeyDown:d,onPaste:p,onBlur:u,onContextMenu:f}){return T("div",{"data-popmelt-active-annotation-surface":"true",onContextMenu:f,style:{position:"relative",width:n,height:r,flex:`0 0 ${n}px`},children:[h("textarea",{id:"devtools-text-input","data-popmelt-active-annotation-surface":"true",ref:l,value:o,onChange:c,onKeyDown:d,onPaste:p,onBlur:u,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?ha("bottom-left"):ha(e),animation:void 0}}),a&&h("span",{"aria-hidden":!0,"data-devtools":"annotation-number",style:{position:"absolute",left:8,top:4,zIndex:1,pointerEvents:"none",color:"#ffffff",fontFamily:Sn,fontSize:i,fontWeight:600,lineHeight:`${i*lr}px`,whiteSpace:"pre"},children:a})]})}function Lv(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 Pv({element:e,annotationRect:t,subjectAnchor:n,color:r,subjectRegistry:o}){let i=q(null);return _(()=>{let a=i.current;if(!a)return;let l=a.querySelector("line"),s=a.querySelector("circle");if(!l||!s)return;let c=()=>{let u=Lv(t,n,e.getBoundingClientRect());a.style.display=u.visible?"":"none",l.setAttribute("x1",String(u.annotation.x)),l.setAttribute("y1",String(u.annotation.y)),l.setAttribute("x2",String(u.subject.x)),l.setAttribute("y2",String(u.subject.y)),s.setAttribute("cx",String(u.subject.x)),s.setAttribute("cy",String(u.subject.y))};c();let d=o?.subscribeFrame(c),p=o?null:new MutationObserver(c);return p?.observe(e,{attributes:!0,attributeFilter:["style"]}),window.addEventListener("resize",c),()=>{d?.(),p?.disconnect(),window.removeEventListener("resize",c)}},[t,e,n,o]),h("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:T("g",{ref:i,children:[h("line",{stroke:r,strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),h("circle",{"data-popmelt-subject-draft-point":"",r:"3",fill:r,stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]})})}var Vu=160;function jv({color:e,cursorRef:t,tool:n,onHandoff:r,onDone:o}){let i=q(null),a=q(r);a.current=r,Tt(()=>{let s=i.current;if(!s)return;let c=(u,f)=>{s.style.left=`${u-4}px`,s.style.top=`${f-4}px`},d=t.current;d&&c(d.x,d.y);let p=u=>c(u.clientX,u.clientY);return window.addEventListener("pointermove",p,{capture:!0}),()=>window.removeEventListener("pointermove",p,{capture:!0})},[t]),_(()=>{let s=window.setTimeout(()=>a.current(),Vu*.75);return()=>window.clearTimeout(s)},[]);let l=n==="inspector";return T("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 ${Vu}ms ease-in-out both`,filter:`drop-shadow(0 .5px .35px rgba(0,0,0,.22)) drop-shadow(0 .75px .65px ${nl(e,.42)}) drop-shadow(0 1.25px 1.1px ${nl(e,.24)})`},children:[h("svg",{width:"24",height:"24",viewBox:"-3 -3 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{overflow:"visible"},children:l?h("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"}):h("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"})}),h("style",{children:`
|
|
27
|
-
@keyframes popmeltCursorSwitchPulse {
|
|
28
|
-
0%, 100% { transform: scale(1); }
|
|
29
|
-
50% { transform: scale(1.5); }
|
|
30
|
-
0%, 75% { opacity: 1; }
|
|
31
|
-
100% { opacity: 0; }
|
|
32
|
-
}
|
|
33
|
-
`})]})}var bl=28,Gu=12,$v=8,Qu=["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 wl={a:1,b:0,c:0,d:1,e:0,f:0};function $o(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 Ks(e,t){return{...wl,e,f:t}}function Zu(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 ep(e,t){return{a:e,b:0,c:0,d:t,e:0,f:0}}function xl(e,t){if(!e)return 0;let n=Number.parseFloat(e);return Number.isFinite(n)?e.endsWith("%")?n/100*t:n:0}function Sl(e){if(!e)return 1;let t=Number.parseFloat(e);return Number.isFinite(t)?e.endsWith("%")?t/100:t:1}function tp(e){if(!e||e==="none")return wl;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,c]=r;return{a:o,b:i,c:a,d:l,e:s,f:c}}}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 wl}function Vs(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 zv(e){let t=getComputedStyle(e),n=t.rotate.trim().split(/\s+/).at(-1)??"0",r=Zu(Number.parseFloat(n)||0),[o="1",i=o]=t.scale.trim().split(/\s+/),a=ep(Sl(o),Sl(i)),l=tp(t.transform);return{...$o(r,$o(a,l)),e:0,f:0}}function Dv(e){let t=wl,n=e.parentElement;for(;n;)jr(n)&&(t=$o(zv(n),t)),n=n.parentElement;return t}function Hv(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 Ov(e,t){let{width:n,height:r}=rp(e,t);if(n<=0||r<=0)return t;let o=Dv(e),i=Vs(o,{x:n,y:0}),a=Vs(o,{x:0,y:r}),l=wa(t);return Hv(l,i,a)}function qi(e,t){let[n]=e.getBoxQuads?.({box:"border"})??[];if(n)return fi(e);let r=getComputedStyle(e),{width:o,height:i}=rp(e,t);if(o<=0||i<=0)return fi(e);let[a="0",l="0"]=r.translate.trim().split(/\s+/),s=Ks(xl(a,o),xl(l,i)),c=r.rotate.trim().split(/\s+/).at(-1)??"0",d=Zu(Number.parseFloat(c)||0),[p="1",u=p]=r.scale.trim().split(/\s+/),f=ep(Sl(p),Sl(u)),m=tp(r.transform),[g="50%",y="50%"]=r.transformOrigin.trim().split(/\s+/),x={x:xl(g,o),y:xl(y,i)},L=$o(Ks(x.x,x.y),$o(d,$o(f,$o(m,Ks(-x.x,-x.y))))),A=$o(s,L),S={x:(t.topRight.x-t.topLeft.x)/o,y:(t.topRight.y-t.topLeft.y)/o},O={x:(t.bottomLeft.x-t.topLeft.x)/i,y:(t.bottomLeft.y-t.topLeft.y)/i},M=X=>{let Z=Vs(A,X);return{x:t.topLeft.x+S.x*Z.x+O.x*Z.y,y:t.topLeft.y+S.y*Z.x+O.y*Z.y}};return{topLeft:M({x:0,y:0}),topRight:M({x:o,y:0}),bottomRight:M({x:o,y:i}),bottomLeft:M({x:0,y:i})}}function ba(e){let t=Qu.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 Qu)o!=="transition"&&e.style.setProperty(o,"none","important");let[n]=e.getBoxQuads?.({box:"border"})??[],r=fi(e);return n?r:Ov(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 Nv(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 kl(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 np(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:kl(n.borderTopLeftRadius,r,o),topRight:kl(n.borderTopRightRadius,r,o),bottomRight:kl(n.borderBottomRightRadius,r,o),bottomLeft:kl(n.borderBottomLeftRadius,r,o)}}function Gs(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 rp(e,t){let n=Gs(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 op(e,t,n){let r=Gs(t),o=Gs(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 _v(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 ip(e){let t=getComputedStyle(e);return t.backgroundImage&&t.backgroundImage!=="none"?!1:_v(t.backgroundColor)>=.999}function Yi(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 ap(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 lp(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 sp(e,t){let n=["topLeft","topRight","bottomRight","bottomLeft"],r=lp(t),o=ap(e,t),i=1-Math.SQRT1_2;return Object.fromEntries(n.map((a,l)=>{let s=e[a],c=e[n[(l+n.length-1)%n.length]],d=e[n[(l+1)%n.length]],[p,u]=r[a],f=Yi(s,c,p*o*i),m=Yi(s,d,u*o*i);return[a,{x:f.x+m.x-s.x,y:f.y+m.y-s.y}]}))}function Qs(e,t){let n=.5522847498,r=["topLeft","topRight","bottomRight","bottomLeft"],o=lp(t),i=ap(e,t),a=r.map((c,d)=>{let p=e[c],u=r[(d+r.length-1)%r.length],f=r[(d+1)%r.length],m=e[u],g=e[f],[y,x]=o[c],L=y*i,A=x*i,S=Yi(p,m,L),O=Yi(p,g,A);return{entry:S,exit:O,entryControl:Yi(S,p,L*n),exitControl:Yi(O,p,A*n)}}),l=a[0],s=[`M ${l.exit.x} ${l.exit.y}`];for(let c=1;c<=a.length;c+=1){let d=a[c%a.length];s.push(`L ${d.entry.x} ${d.entry.y}`),s.push(`C ${d.entryControl.x} ${d.entryControl.y} ${d.exitControl.x} ${d.exitControl.y} ${d.exit.x} ${d.exit.y}`)}return s.push("Z"),s.join(" ")}function wa(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 Ui(e,t=bl,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 dp(e,t){let n=Ui(e);return n.handle.y>=t/2?{...n,side:"top"}:{...Ui(e,bl,"bottom"),side:"bottom"}}function Il(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 Fv=["top","right","bottom","left"];function Wv(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 Zs(e,t,n,r={}){let o=Fv.map(d=>({...Ui(e,bl,d),side:d,distance:Il(t,d==="top"?e.topLeft:d==="right"?e.topRight:d==="bottom"?e.bottomRight:e.bottomLeft,d==="top"?e.topRight:d==="right"?e.bottomRight:d==="bottom"?e.bottomLeft:e.topLeft)})),i=r.viewport?o.filter(({handle:d})=>Wv(d,n,r.viewport)):o,a=i.length>0?i:o,l=a.reduce((d,p)=>p.distance<d.distance?p:d),s=r.currentSide?a.find(({side:d})=>d===r.currentSide):void 0,c=s&&s.distance<=l.distance+(r.hysteresis??8)?s:l;return{edge:c.edge,handle:c.handle,side:c.side}}function Jv(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 c=o[s],d=o[(s+1)%o.length],p=(d.x-c.x)*(r.y-c.y)-(d.y-c.y)*(r.x-c.x);if(p>l&&(i=!0),p<-l&&(a=!0),i&&a)return!1}return!0}function Bv(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,c])=>Il(o,s,c)<=Gu/2))return!0;let l=Zs(e,o,r);return Il(o,l.edge,l.handle)<=r/2}function qv(e,t,n,r){let o={x:t,y:n},i=Zs(e,o,r);return Il(o,i.edge,i.handle)<=r*1.5}function cp(e){let t=Math.max(1,Math.hypot(e.x,e.y));return{x:e.x/t,y:e.y/t}}function Yv(e,t){let n=wa(e);return cp({x:e[t].x-n.x,y:e[t].y-n.y})}function Uv(e,t){let n=wa(e),{handle:r}=Ui(e,bl,t),o=cp({x:r.x-n.x,y:r.y-n.y});return{x:-o.y,y:o.x}}function Xv(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 Kv(e,t,n=$v){return Math.hypot(t.x-e.x,t.y-e.y)<=n}function up(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 pp=Math.SQRT1_2;function hp(e,t){return pi(e,t).filter(n=>typeof n=="number")}function El(e,t,n){return hp(e,t).reduce((r,o)=>Math.abs(Number.parseFloat(Di(e,o,t))-n)<Math.abs(Number.parseFloat(Di(e,r,t))-n)?o:r)}function so(e,t){let n=hp("transform",e),r=o=>e==="translate"?Number.parseFloat(Di("transform",o,e)):o;return n.reduce((o,i)=>Math.abs(r(i)-t)<Math.abs(r(o)-t)?i:o)}function Vv(e,t){if(t==="translate")return so(t,up(e).x);if(t==="scale"){let r=Number.parseFloat(e);return so(t,Number.isFinite(r)?r*100:100)}let n=Number.parseFloat(e);return so(t,Number.isFinite(n)?n:0)}function Gv(e,t){let n=window.getComputedStyle(e).getPropertyValue(t).trim();return Vv(n,t)}function ed(e,t){return t?e:e==="left"||e==="right"?"x":"y"}function td(e,t){return t?e:"all"}function nd(e){let t=e==="top-left"||e==="bottom-left"?1:-1,n=e==="top-left"||e==="top-right"?1:-1;return{x:t*pp,y:n*pp}}function Qv(e,t,n){return e*n.x+t*n.y}function fp(e,t){let n=Math.max(1,t);return(e%n+n)%n}function Zv(e,t,n){return{cursor:{x:fp(e.cursor.x+t.x,n.width),y:fp(e.cursor.y+t.y,n.height)},deltaX:e.deltaX+t.x,deltaY:e.deltaY+t.y}}function eb(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=nd(a),s=r+n[a],c=a.endsWith("left")?0:e,d=a.startsWith("top")?0:t;return{x:c+l.x*s,y:d+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 tb(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 rd=["top-left","top-right","bottom-right","bottom-left"],mp=14;function gp({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i,onHandlePointerDown:a}){let[l,s]=P(null),c=t["top-left"],d=t["top-right"],p=t["bottom-right"],u=t["bottom-left"];if(_(()=>{if(!e){s(null);return}let S=()=>{s(e.getBoundingClientRect())};return S(),window.addEventListener("scroll",S,{passive:!0}),window.addEventListener("resize",S,{passive:!0}),()=>{window.removeEventListener("scroll",S),window.removeEventListener("resize",S)}},[e]),Tt(()=>{e&&s(e.getBoundingClientRect())},[e,c,d,p,u]),!l)return null;let f=l.width,m=l.height;if(!eb(f,m,t,mp,20))return null;let g=tb(n,.2),y={"top-left":{x:0,y:0},"top-right":{x:f,y:0},"bottom-right":{x:f,y:m},"bottom-left":{x:0,y:m}},x=Object.fromEntries(rd.map(S=>{let O=nd(S),M=mp+t[S],X=y[S];return[S,{x:X.x+O.x*M,y:X.y+O.y*M}]})),L=o??r,A={position:"fixed",top:l.top,left:l.left,width:f,height:m,pointerEvents:"none",zIndex:a?9999:9996,overflow:"visible"};return T("div",{"data-devtools":"border-radius-handles","data-popmelt-steer-overlay":!0,style:A,children:[T("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${f} ${m}`,children:[h("rect",{x:"0.5",y:"0.5",width:Math.max(0,f-1),height:Math.max(0,m-1),fill:"none",stroke:g,strokeWidth:"1"}),rd.map(S=>{let O=x[S];return h("circle",{cx:O.x,cy:O.y,r:S===L?4:3,fill:n,stroke:"#ffffff",strokeWidth:2},S)}),a&&rd.map(S=>{let O=x[S],M=y[S],X=S==="top-left"||S==="bottom-right"?"nwse-resize":"nesw-resize";return T("g",{children:[h("line",{"data-radius-handle-access":S,x1:M.x,y1:M.y,x2:O.x,y2:O.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:X},onPointerDown:Z=>a(S,Z)}),h("circle",{cx:O.x,cy:O.y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:X},onPointerDown:Z=>a(S,Z)})]},`hit-${S}`)})]}),i&&L&&(()=>{let S=Math.round(t[L]);return h("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:S})})()]})}function yp({centerX:e,centerY:t,orientation:n,accentColor:r,...o}){let i=n==="horizontal"?10:6,a=n==="horizontal"?6:10;return h("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 od(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 vp({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:a=!1,refreshKey:l=0,onHandlePointerDown:s}){let[c,d]=P(null),[p,u]=P([]),[f,m]=P(!1);if(_(()=>{let X=V=>{(V.key==="Meta"||V.key==="Control")&&m(!0)},Z=V=>{(V.key==="Meta"||V.key==="Control")&&m(!1)},N=()=>m(!1);return window.addEventListener("keydown",X,!0),window.addEventListener("keyup",Z,!0),window.addEventListener("blur",N),()=>{window.removeEventListener("keydown",X,!0),window.removeEventListener("keyup",Z,!0),window.removeEventListener("blur",N)}},[]),_(()=>{if(!e){d(null),u([]);return}let X=()=>{d(e.getBoundingClientRect()),u(ol(e))};return X(),window.addEventListener("scroll",X,{passive:!0}),window.addEventListener("resize",X,{passive:!0}),()=>{window.removeEventListener("scroll",X),window.removeEventListener("resize",X)}},[e]),Tt(()=>{e&&(d(e.getBoundingClientRect()),u(ol(e)))},[e,t.row,t.column,l]),!c||p.length===0)return null;let g=c.width,y=c.height,x="pm-gap-stripe-pattern",L=od(n,.25),A=od(n,.1),S=od(n,.2),O={position:"fixed",top:c.top,left:c.left,width:g,height:y,pointerEvents:"none",zIndex:s?9999:9996,overflow:"visible"},M=o??r;return T("div",{"data-devtools":"gap-handles","data-popmelt-steer-overlay":!0,style:O,children:[T("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${g} ${y}`,children:[h("defs",{children:h("pattern",{id:x,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:h("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:L,strokeWidth:"1.5"})})}),h("rect",{x:"0.5",y:"0.5",width:Math.max(0,g-1),height:Math.max(0,y-1),fill:"none",stroke:S,strokeWidth:"1"}),p.map((X,Z)=>{let N=X.x-c.left,V=X.y-c.top,J=X.w,k=X.h,K=f?X.axis===M:!0;return(X.axis==="row"?t.row:t.column)===0?null:T("g",{opacity:K?1:.6,children:[h("rect",{x:N,y:V,width:J,height:k,fill:A}),h("rect",{x:N,y:V,width:J,height:k,fill:`url(#${x})`})]},Z)}),p.map((X,Z)=>{let N=X.x-c.left+X.w/2,V=X.y-c.top+X.h/2;return a?h("circle",{"data-gap-handle":X.axis,cx:N,cy:V,r:3,fill:n,stroke:"#ffffff",strokeWidth:2},`gap-handle-${Z}`):h(yp,{"data-gap-handle":X.axis,centerX:N,centerY:V,orientation:X.axis==="column"?"vertical":"horizontal",accentColor:n},`gap-handle-${Z}`)}),s&&p.map((X,Z)=>{let N=X.x-c.left+X.w/2,V=X.y-c.top+X.h/2,J=Math.max(X.w,20),k=Math.max(X.h,20);return h("rect",{x:N-J/2,y:V-k/2,width:J,height:k,fill:"transparent",style:{pointerEvents:"all",cursor:X.axis==="row"?"ns-resize":"ew-resize"},onPointerDown:K=>s(X.axis,K)},`gap-hit-${Z}`)})]}),i&&M&&(()=>{let X=a?"auto":String(Math.round(M==="row"?t.row:t.column));return h("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:X})})()]})}var nb=new Set(["CANVAS","EMBED","IFRAME","IMG","INPUT","OBJECT","VIDEO"]),rb=["top","bottom"],ob=["left","right"];function ib({isHtmlElement:e,tagName:t,display:n,writingMode:r}){return!e||n!=="inline"||nb.has(t)?[]:r.startsWith("horizontal")?rb:ob}function ab(e,t=window.getComputedStyle(e)){return ib({isHtmlElement:e instanceof HTMLElement,tagName:e.tagName,display:t.display,writingMode:t.writingMode})}function Xi(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 lb={top:"bottom",bottom:"top",left:"right",right:"left"},xa="#808080";function bp({element:e,padding:t,mode:n="padding",accentColor:r,hoveredSide:o,draggingSide:i,activeSides:a,cursorViewport:l,refreshKey:s,onHandlePointerDown:c}){let[d,p]=P(null),[u,f]=P(!1);if(_(()=>{let re=Oe=>{(Oe.key==="Alt"||Oe.key==="Control")&&f(!0)},Te=Oe=>{(Oe.key==="Alt"||Oe.key==="Control")&&f(!1)},je=()=>f(!1);return window.addEventListener("keydown",re,!0),window.addEventListener("keyup",Te,!0),window.addEventListener("blur",je),()=>{window.removeEventListener("keydown",re,!0),window.removeEventListener("keyup",Te,!0),window.removeEventListener("blur",je)}},[]),_(()=>{if(!e){p(null);return}let re=()=>{p(e.getBoundingClientRect())};return re(),window.addEventListener("scroll",re,{passive:!0}),window.addEventListener("resize",re,{passive:!0}),()=>{window.removeEventListener("scroll",re),window.removeEventListener("resize",re)}},[e]),Tt(()=>{e&&p(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,s]),!d)return null;let m=d.width,g=d.height,{top:y,right:x,bottom:L,left:A}=t,S=Math.max(0,y),O=Math.max(0,x),M=Math.max(0,L),X=Math.max(0,A),Z=n==="margin",N=Z?m+X+O:m,V=Z?g+S+M:g,J=Z?X:0,k=Z?S:0,K=Z?"pm-dot-pattern":"pm-stripe-pattern",ee=Xi(r,.25),j=Xi(r,.1),z=Xi(r,.2),$=Xi(xa,.55),H=Xi(xa,.18),D=Xi(xa,.9),C=new Set(Z?[]:ab(e)),ne=C.size>0,oe="pm-neutral-stripe-pattern",G={position:"fixed",top:d.top-(Z?S:0),left:d.left-(Z?X:0),width:N,height:V,pointerEvents:"none",zIndex:c?9999:9996,overflow:"visible"},ce=["top","right","bottom","left"],F={top:`0,0 ${N},0 ${N-O},${S} ${X},${S}`,right:`${N},0 ${N},${V} ${N-O},${V-M} ${N-O},${S}`,bottom:`0,${V} ${X},${V-M} ${N-O},${V-M} ${N},${V}`,left:`0,0 ${X},${S} ${X},${V-M} 0,${V}`},Se={top:{x:N/2,y:S/2,orientation:"horizontal"},bottom:{x:N/2,y:V-M/2,orientation:"horizontal"},left:{x:X/2,y:V/2,orientation:"vertical"},right:{x:N-O/2,y:V/2,orientation:"vertical"}},ie=new Set(a);return i?ie.add(i):o&&(ie.add(o),u||ie.add(lb[o])),T("div",{"data-devtools":"padding-handles","data-popmelt-steer-overlay":!0,style:G,children:[T("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${N} ${V}`,children:[T("defs",{children:[Z?h("pattern",{id:K,patternUnits:"userSpaceOnUse",width:"4",height:"4",children:h("circle",{cx:"1",cy:"1",r:"0.65",fill:ee})}):h("pattern",{id:K,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:h("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:ee,strokeWidth:"1.5"})}),ne&&h("pattern",{id:oe,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:h("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:$,strokeWidth:"1.5"})})]}),h("rect",{x:J+.5,y:k+.5,width:Math.max(0,m-1),height:Math.max(0,g-1),fill:"none",stroke:z,strokeWidth:"1"}),ce.map(re=>{if(t[re]<=0)return null;let Te=ie.has(re),je=C.has(re);return T("g",{"data-padding-flow":je?"paint-only":"layout",opacity:Te?1:.6,children:[h("polygon",{points:F[re],fill:je?H:j}),h("polygon",{points:F[re],fill:`url(#${je?oe:K})`})]},re)}),C.has("top")&&S>0&&h("line",{x1:X,y1:S,x2:N-O,y2:S,stroke:D,strokeWidth:"1"}),C.has("bottom")&&M>0&&h("line",{x1:X,y1:V-M,x2:N-O,y2:V-M,stroke:D,strokeWidth:"1"}),C.has("left")&&X>0&&h("line",{x1:X,y1:S,x2:X,y2:V-M,stroke:D,strokeWidth:"1"}),C.has("right")&&O>0&&h("line",{x1:N-O,y1:S,x2:N-O,y2:V-M,stroke:D,strokeWidth:"1"}),ce.map(re=>{let Te=Se[re];return h(yp,{centerX:Te.x,centerY:Te.y,orientation:Te.orientation,accentColor:C.has(re)?xa:r,"data-padding-flow":C.has(re)?"paint-only":"layout"},`handle-${re}`)}),c&&ce.map(re=>{let Te=Se[re],je=20;return h("rect",{x:Te.x-je/2,y:Te.y-je/2,width:je,height:je,fill:"transparent",style:{pointerEvents:"all",cursor:"grab"},onPointerDown:Oe=>c(re,Oe)},`hit-${re}`)})]}),l&&(o||i)&&(()=>{let re=i??o,Te=Math.round(t[re]),je=C.has(re);return T("div",{style:{position:"fixed",left:l.x+8,top:l.y-28,background:je?xa: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,je?" \xB7 paint only":""]})})()]})}var id=["flex-start","center","flex-end"],ad=["flex-start","center","flex-end"];function sb(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function db(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 wp(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 cb({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=P(null);if(_(()=>{if(!e){i(null);return}let g=()=>i(wp(e));return g(),window.addEventListener("scroll",g,{passive:!0}),window.addEventListener("resize",g,{passive:!0}),()=>{window.removeEventListener("scroll",g),window.removeEventListener("resize",g)}},[e]),Tt(()=>{e&&i(wp(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 c=l.flexDirection,d=c==="column"||c==="column-reverse"?"vertical":"horizontal",p=d==="horizontal"?"vertical":"horizontal",u=[];if(t==="shift"){let g=sb(l.justifyContent);if(g){let y=id.indexOf(g);d==="horizontal"?(y>0&&u.push("left"),y<id.length-1&&u.push("right")):(y>0&&u.push("up"),y<id.length-1&&u.push("down"))}}else{let g=db(l.alignItems);if(g){let y=ad.indexOf(g);p==="horizontal"?(y>0&&u.push("left"),y<ad.length-1&&u.push("right")):(y>0&&u.push("up"),y<ad.length-1&&u.push("down"))}}if(u.length===0)return null;let f=14,m=7;return h(rt,{children:u.map(g=>{let y,x;switch(g){case"right":y=a.right+f,x=a.top+a.height/2;break;case"left":y=a.left-f,x=a.top+a.height/2;break;case"down":y=a.left+a.width/2,x=a.bottom+f;break;case"up":y=a.left+a.width/2,x=a.top-f;break}let L=g==="right"?0:g==="left"?180:g==="down"?90:-90,A={position:"fixed",left:y-m,top:x-m,width:m*2,height:m*2,pointerEvents:"none",zIndex:9997};return h("div",{"data-devtools":"swipe-hint",style:A,children:h("svg",{width:m*2,height:m*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:T("g",{transform:`rotate(${L})`,children:[h("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),h("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),h("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),h("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},g)})})}function ub(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 pb({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:a}){let[l,s]=P(null);if(_(()=>{if(!e){s(null);return}let x=()=>{s(js(e))};return x(),window.addEventListener("scroll",x,{passive:!0}),window.addEventListener("resize",x,{passive:!0}),()=>{window.removeEventListener("scroll",x),window.removeEventListener("resize",x)}},[e]),Tt(()=>{e&&s(js(e))},[e,t,n]),!l)return null;let c=l.width,d=l.height,p=ub(r,.2),u=i??o,f=8,m=2,g={position:"fixed",top:l.top,left:l.left,width:c,height:d,pointerEvents:"none",zIndex:9996,overflow:"visible"},y=x=>x==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return T("div",{"data-devtools":"text-handles",style:g,children:[T("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${c} ${d}`,children:[h("rect",{x:"0.5",y:"0.5",width:Math.max(0,c-1),height:Math.max(0,d-1),fill:"none",stroke:p,strokeWidth:"1"}),(u==="font-size"||!u)&&h("rect",{x:c-m/2,y:d/2-f/2,width:m,height:f,fill:r,stroke:"#ffffff",strokeWidth:u==="font-size"?4:2,paintOrder:"stroke"}),(u==="line-height"||!u)&&h("rect",{x:c/2-f/2,y:d-m/2,width:f,height:m,fill:r,stroke:"#ffffff",strokeWidth:u==="line-height"?4:2,paintOrder:"stroke"})]}),a&&u&&(()=>{let x=u==="font-size"?"Aa":"Lh",L=y(u);return T("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:[x," ",L]})})()]})}function hb({active:e,accentColor:t,domDropPreview:n,cursorViewport:r,gapElement:o,gapDragging:i,gapHoveredAxis:a,gapIsAuto:l,gapRefreshKey:s,swipeHint:c,radiusElement:d,radiusDragging:p,radiusHoveredCorner:u,textElement:f,textDragging:m,textHoveredProperty:g,paddingElement:y,paddingDragging:x,paddingHoveredSide:L}){if(!e)return null;let A=f&&!m?ru(f):null;return T(rt,{children:[n&&h("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&&h(vp,{element:o,gap:i?{row:i.row,column:i.column}:rl(o),accentColor:t,hoveredAxis:a,draggingAxis:i?.axis??null,cursorViewport:r,isAutoGap:l,refreshKey:s}),c&&h(cb,{element:c.target,modifier:c.modifier,accentColor:t,refreshKey:s}),!c&&d&&h(gp,{element:d,radius:p?.radius??Ni(d),accentColor:t,hoveredCorner:u,draggingCorner:p?.corner??null,cursorViewport:r}),!c&&f&&h(pb,{element:f,fontSize:m?.fontSize??A.fontSize,lineHeight:m?.lineHeight??A.lineHeight,accentColor:t,hoveredProperty:g,draggingProperty:m?.property??null,cursorViewport:r}),!c&&y&&h(bp,{element:y,padding:x?.padding??fa(y),accentColor:t,hoveredSide:L,draggingSide:x?.side??null,cursorViewport:r,refreshKey:m?m.fontSize+m.lineHeight*1e3:0})]})}var fb=4,mb=8,gb=7.2,yb=45,vb=96,bb=89;function xp(e,t){let n=e===0?"Ready":`${e} action${e===1?"":"s"}`,r=mb*2+n.length*gb,o=t?e===0?22:yb:e===0?vb:bb;return{label:n,accessibleShortcut:e===0?"Command Escape to exit":"Command Enter to complete",width:Math.ceil(r+fb+o)}}var wb=4,xb=8;function Sb({cursor:e,stepCount:t,accentColor:n,toolbarElement:r,threadElement:o}){let[i]=Ms(),a=Rs[i],[l,s]=P(!1);_(()=>{s(!1);let O=window.setTimeout(()=>s(!0),1e3);return()=>window.clearTimeout(O)},[t]);let c={width:window.innerWidth,height:window.innerHeight},d=xp(t,!1),p=Lc(e,c,22,d.width),u=r?Pc(p,r.getBoundingClientRect(),22,void 0,d.width):1,f=o?jc(e,p,o.getBoundingClientRect(),22,void 0,void 0,d.width):1,m=Math.min(u,f)<1||l,g=xp(t,m),y=Lc(e,c,22,g.width),x=r?Pc(y,r.getBoundingClientRect(),22,void 0,g.width):1,L=o?jc(e,y,o.getBoundingClientRect(),22,void 0,void 0,g.width):1,A=wm(x,L,!1),S={position:"fixed",left:y.left,top:y.top,width:g.width,height:22,display:"flex",alignItems:"center",gap:wb,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:A,transform:`scale(${A})`,transformOrigin:`${e.x-y.left}px ${e.y-y.top}px`,visibility:A===0?"hidden":"visible",zIndex:2147483647,colorScheme:i};return T("div",{role:"status","aria-label":`${g.label}. ${g.accessibleShortcut}`,"data-devtools":"interaction-episode-hud","data-popmelt-interaction-episode-hud":!0,style:S,children:[h("span",{style:{height:22,display:"inline-flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box",padding:`4px ${xb}px`,borderRadius:"2px 8px 8px 8px",background:n,color:"#dddddd",fontFamily:Zm,lineHeight:1.2},children:g.label}),h("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:Es,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?h(dl,{size:12,strokeWidth:2}):T("span",{"data-popmelt-interaction-episode-complete-shortcut":!0,style:{display:"inline-flex",alignItems:"center",gap:2},children:[h(bu,{size:12,strokeWidth:2}),h("span",{children:"+"}),h(Ds,{size:12,strokeWidth:2})]}):T(rt,{children:[T("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[h(bu,{size:12,strokeWidth:2}),h("span",{children:"+"}),t===0?h("span",{children:"esc"}):h(Ds,{size:12,strokeWidth:2})]}),h("span",{style:{color:a.secondary},children:"to"}),t===0?h(dl,{size:12,strokeWidth:2,color:"red"}):h(Lo,{size:12,strokeWidth:2,color:"#02bd02"})]})})]})}function kb(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 Ib({styleModifications:e,textModifications:t=[],accentColor:n}){let[r,o]=P([]);if(_(()=>{let a=null,l=()=>{let d=[],p=[...e,...t],u=new Set;for(let f of p){if(u.has(f.selector))continue;let m=ln(f.selector);if(!m)continue;u.add(f.selector);let g=m.getBoundingClientRect();if(g.width===0&&g.height===0)continue;let y=Ni(m);d.push({selector:f.selector,top:g.top,left:g.left,width:g.width,height:g.height,borderRadius:`${y["top-left"]}px ${y["top-right"]}px ${y["bottom-right"]}px ${y["bottom-left"]}px`})}o(d)},s=()=>{a&&cancelAnimationFrame(a),a=requestAnimationFrame(l)};l(),window.addEventListener("scroll",s,{passive:!0}),window.addEventListener("resize",s,{passive:!0});let c=new MutationObserver(s);return c.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",s),c.disconnect(),a&&cancelAnimationFrame(a)}},[e,t]),r.length===0)return null;let i=kb(n,.2);return h(rt,{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 h("div",{"data-devtools":"mod-border",style:l},a.selector)})})}var Sp=["topLeft","topRight","bottomRight","bottomLeft"],Eb=[["topLeft","topRight"],["topRight","bottomRight"],["bottomRight","bottomLeft"],["bottomLeft","topLeft"]],Tb=8,ld="#000000",Ab="#ffffff";function Cb(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 kp(e){let t=e.parentElement;for(;t;){let n=Cb(getComputedStyle(t).backgroundColor);if(n&&n.alpha>=.95)return(n.red*.299+n.green*.587+n.blue*.114)/255>=.55?ld:Ab;t=t.parentElement}return ld}function Mb(e){return Sp.map(t=>`${e[t].x},${e[t].y}`).join(" ")}function Rb(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},c=Tb/2,d={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-d.x*c,y:s.y-d.y*c},end:{x:s.x+d.x*c,y:s.y+d.y*c}}}}function Tl({element:e,activeFacet:t,accentColor:n,showHandles:r=!0,outlineStyle:o="solid",showRotateHandle:i=!0,scrimOpacity:a=.05,cursorViewport:l,draggingKind:s,draggingCorner:c,ghostQuad:d,refreshKey:p,onHandlePointerDown:u}){let[f,m]=P(null),[g,y]=P(null),[x,L]=P(null),[A,S]=P(null),[O,M]=P(!1),[X,Z]=P(ld),N=q("top"),V=q(null),J=`transform-occlusion-${Sg().replace(/:/g,"")}`;if(_(()=>{let ie=()=>{let Te=jr(e)?ba(e):fi(e);V.current=Te,y(Te),S(np(e,Te)),M(ip(e)),Z(kp(e));let je=jr(e)?qi(e,Te):fi(e);L(je),m(je)};ie(),window.addEventListener("scroll",ie,{passive:!0}),window.addEventListener("resize",ie,{passive:!0});let re=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>ie());return re?.observe(e),()=>{window.removeEventListener("scroll",ie),window.removeEventListener("resize",ie),re?.disconnect()}},[e]),Tt(()=>{let ie=s&&V.current?V.current:jr(e)?ba(e):fi(e);V.current=ie,y(ie),S(np(e,ie)),M(ip(e)),Z(kp(e));let re=jr(e)?qi(e,ie):fi(e);L(re),m(re)},[s,e,p]),!f)return null;let k=l?Zs(f,l,20,{currentSide:N.current,hysteresis:8,viewport:{width:window.innerWidth,height:window.innerHeight}}):dp(f,20);s!=="rotate"&&(N.current=k.side);let K=s==="rotate"?{...Ui(f,void 0,N.current),side:N.current}:k,ee={position:"fixed",inset:0,pointerEvents:"none",zIndex:u?9999:9996},j=s?.95:.72,z=!!(g&&Nv(g,f)),$=g&&x&&A?op(A,g,x):A,H=$?sp(f,$):f,D=d&&g&&A?op(A,g,d):A,C=d&&D?sp(d,D):d,ne=wa(f),oe=d?wa(d):null,G=d?Ui(d,void 0,K.side):null,ce=G&&oe?Rb(ne,oe,G.handle,K.handle):null,F=O&&x&&$?Qs(x,$):null,Se=F?`url(#${J})`:void 0;return h("div",{"data-devtools":r?"transform-handles":"element-boundary","data-popmelt-steer-overlay":!0,"data-transform-facet":t,style:ee,children:T("svg",{width:"100%",height:"100%",style:{position:"absolute",inset:0,pointerEvents:"none"},children:[F&&h("defs",{children:T("mask",{id:J,maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100%",height:"100%",children:[h("rect",{width:"100%",height:"100%",fill:"#ffffff"}),h("path",{"data-transform-occlusion-mask":"",d:F,fill:"#000000"})]})}),z&&g&&A&&h("path",{"data-transform-layout-plate":"",d:Qs(g,A),fill:X,fillOpacity:"0.07",stroke:"none",mask:Se}),h("path",{"data-transform-effective-outline":"","data-transform-effective-scrim":"",d:$?Qs(f,$):`M ${Mb(f)} Z`,fill:n,fillOpacity:a,stroke:n,strokeWidth:"1",strokeOpacity:j,strokeDasharray:o==="dashed"?"4 2":void 0}),s==="translate"&&oe&&T("g",{"data-transform-origin-trace":"translate",children:[h("line",{x1:oe.x,y1:oe.y,x2:ne.x,y2:ne.y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),h("circle",{"data-transform-origin-point":"",cx:oe.x,cy:oe.y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="scale"&&c&&C&&T("g",{"data-transform-origin-trace":"scale",children:[h("line",{x1:C[c].x,y1:C[c].y,x2:H[c].x,y2:H[c].y,stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),h("circle",{"data-transform-origin-point":"",cx:C[c].x,cy:C[c].y,r:"3",fill:"#808080",stroke:"#ffffff",strokeWidth:"1",opacity:"0.85"})]}),s==="rotate"&&ce&&T("g",{"data-transform-origin-trace":"rotate",children:[h("path",{"data-transform-rotation-arc":"",d:ce.path,fill:"none",stroke:"#808080",strokeWidth:"1",strokeDasharray:"2 3",strokeLinecap:"round",opacity:"0.72"}),h("line",{"data-transform-rotation-arc-start":"",x1:ce.startTick.start.x,y1:ce.startTick.start.y,x2:ce.startTick.end.x,y2:ce.startTick.end.y,stroke:"#808080",strokeWidth:"1",strokeLinecap:"round",opacity:"0.85"})]}),u&&Eb.map(([ie,re])=>h("line",{"data-transform-handle":"translate",x1:f[ie].x,y1:f[ie].y,x2:f[re].x,y2:f[re].y,stroke:"transparent",strokeWidth:Gu,style:{pointerEvents:"stroke",cursor:"move"},onPointerDown:Te=>u("translate",null,Te)},`${ie}-${re}`)),r&&T("g",{"data-transform-affordances":"",children:[Sp.map(ie=>T("g",{children:[h("rect",{x:H[ie].x-6/2,y:H[ie].y-6/2,width:6,height:6,fill:n,stroke:"#ffffff",strokeWidth:2}),u&&h("circle",{"data-transform-handle":"scale","data-transform-corner":ie,cx:H[ie].x,cy:H[ie].y,r:20/2,fill:"transparent",style:{pointerEvents:"all",cursor:ie==="topLeft"||ie==="bottomRight"?"nwse-resize":"nesw-resize"},onPointerDown:re=>u("scale",ie,re)})]},ie)),i&&T(rt,{children:[h("line",{x1:K.edge.x,y1:K.edge.y,x2:K.handle.x,y2:K.handle.y,stroke:n,strokeWidth:"1",opacity:j}),h("circle",{cx:K.handle.x,cy:K.handle.y,r:6/2,fill:n,stroke:"#ffffff",strokeWidth:2}),u&&h("line",{"data-transform-handle":"rotate",x1:K.edge.x,y1:K.edge.y,x2:K.handle.x,y2:K.handle.y,stroke:"transparent",strokeWidth:20,strokeLinecap:"round",style:{pointerEvents:"stroke",cursor:"grab"},onPointerDown:ie=>{N.current=K.side,u("rotate",null,ie,K.side)}})]})]})]})})}var Lb=["top","right","bottom","left"];function Pb(e){return e==="all"?Lb:e==="x"?["left","right"]:e==="y"?["top","bottom"]:e==="top"||e==="right"||e==="bottom"||e==="left"?[e]:[]}function jb(e){return e==="top-left"||e==="top-right"||e==="bottom-right"||e==="bottom-left"?e:null}function Ip(e,t,n,r){return e&&n==="value"&&t==="transform"&&(r==="translate"||r==="scale"||r==="rotate")}function $b({active:e,accentColor:t,family:n,stage:r,subproperty:o,hoveredElement:i,previewElement:a,transformPreviewElement:l,previewRevision:s,cursorViewport:c,drag:d,onGapPointerDown:p,onRadiusPointerDown:u,onSpacingPointerDown:f,onTransformPointerDown:m}){let g=e&&r==="value",y=i instanceof HTMLElement&&a===i,x=i instanceof HTMLElement&&(Ls(i,"row")||Ls(i,"column")),L=d?.family==="transform"?d.element:i,A=Ip(e,n,r,o)?o:null,S=A!==null&&jr(L)&&(a===L||l===L||d?.family==="transform");return T(rt,{children:[g&&(n==="padding"||n==="margin")&&y&&h(bp,{element:i,padding:n==="margin"?Zc(i):fa(i),mode:n,accentColor:t,hoveredSide:d?.family===n?d.side??null:null,draggingSide:d?.family===n?d.side??null:null,activeSides:Pb(o),refreshKey:s,cursorViewport:d?.cursor,onHandlePointerDown:(O,M)=>f(n,O,M)}),g&&(n==="stack"||n==="grid")&&o==="gap"&&y&&h(vp,{element:i,gap:rl(i),accentColor:t,hoveredAxis:d?.gapAxis??null,draggingAxis:d?.gapAxis??null,refreshKey:s,cursorViewport:d?.cursor,isAutoGap:x,onHandlePointerDown:x?void 0:p}),g&&n==="radius"&&y&&h(gp,{element:i,radius:Ni(i),accentColor:t,hoveredCorner:jb(o),draggingCorner:d?.corner??null,cursorViewport:d?.cursor,onHandlePointerDown:u}),S&&h(Tl,{element:L,activeFacet:A,accentColor:t,draggingKind:d?.family==="transform"?d.transformKind??null:null,draggingCorner:d?.family==="transform"?d.transformCorner??null:null,ghostQuad:d?.family==="transform"?d.ghostQuad??null:null,cursorViewport:d?.cursor??c,refreshKey:s,onHandlePointerDown:m})]})}var zo=8,Ep=2,zb=66,Db=3;function Hb(){let e=Math.random()*Math.PI*2,t=5+Math.random()*8;return{x:Math.cos(e)*t,y:Math.sin(e)*t}}function Ob({onSave:e}){let[t,n]=P(!1),[r]=Ms(),o=Rs[r];return T("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:Sn,fontSize:12,fontWeight:600,letterSpacing:"0.24px",lineHeight:1,whiteSpace:"nowrap",cursor:"pointer",pointerEvents:"auto",userSelect:"none",touchAction:"manipulation"},children:[T("span",{className:"popmelt-subject-save-default",children:[h(Ds,{size:12,strokeWidth:2,"aria-hidden":!0}),h("span",{style:{color:o.secondary},children:"to"}),h(Lo,{size:12,strokeWidth:2,"aria-hidden":!0})]}),T("span",{className:"popmelt-subject-save-hovered",children:[h("span",{children:"Save"}),h(Lo,{size:12,strokeWidth:2,"aria-hidden":!0})]})]})}function Nb(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-zo,e.bounds.left+n),l=Math.min(i-zo,e.bounds.top+r);return{left:a,top:l,width:o-a,height:i-l}}case"topRight":{let a=Math.max(e.bounds.left+zo,o+n),l=Math.min(i-zo,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-zo,e.bounds.left+n),l=Math.max(e.bounds.top+zo,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+zo,o+n),l=Math.max(e.bounds.top+zo,i+r);return{left:e.bounds.left,top:e.bounds.top,width:a-e.bounds.left,height:l-e.bounds.top}}}}function _b({accentColor:e,created:t,registry:n,target:r,onCommit:o,onClose:i,onCancelCreated:a}){let l=n.resolve(r),s=q(l?.subject.label??"object"),[c,d]=P(s.current),p=l?.subject.trackingAnchors?.map($=>({...$}))??[],u=q(p),[f,m]=P(p),[g,y]=P(0),[x,L]=P(0),A=q(null),S=q(null),O=q(null),M=q(!1),X=n.resolve(r),Z=xe(()=>{let $=typeof document>"u"?null:document.createElement("canvas").getContext("2d");$&&($.font=`${$c}px ${Sn}`);let H=D=>($?.measureText(D).width??D.length*7.2)+Math.max(0,D.length-1)*Rm;return{label:Math.max(8,H(c||" ")),full:H(`<${c||" "}>`)+zc*2}},[c]);if(Tt(()=>{O.current?.focus(),O.current?.select()},[]),Tt(()=>{if(g)for(let $ of S.current?.querySelectorAll("[data-popmelt-tracking-anchor]")??[]){let H=Hb();$.animate?.([{transform:"translate(-50%, -50%)"},{transform:`translate(calc(-50% + ${H.x}px), calc(-50% + ${H.y}px))`},{transform:`translate(calc(-50% - ${H.x*.55}px), calc(-50% - ${H.y*.55}px))`},{transform:"translate(-50%, -50%)"}],{duration:220,easing:"ease-out"})}},[g]),_(()=>n.subscribeFrame(()=>L($=>$+1)),[n]),_(()=>{let $=D=>{let C=A.current;C&&(n.updateBounds(r,Nb(C,{x:D.clientX,y:D.clientY})),L(ne=>ne+1))},H=()=>{A.current=null,L(D=>D+1)};return window.addEventListener("pointermove",$,!0),window.addEventListener("pointerup",H,!0),window.addEventListener("pointercancel",H,!0),()=>{window.removeEventListener("pointermove",$,!0),window.removeEventListener("pointerup",H,!0),window.removeEventListener("pointercancel",H,!0)}},[n,r]),!X)return null;let N=()=>{if(M.current)return;let $=c.trim();if(!$){t&&a();return}let H=u.current,D=H.length===1?[]:H,C=X.adapter.updateSubjectTrackingAnchors?n.updateTrackingAnchors(r,D):null,ne=n.rename(r,$)??C;ne&&o(ne),i()},V=()=>{M.current=!0,t?a():i()},{bounds:J}=X.subject,k=!!X.adapter.updateSubjectTrackingAnchors,K=Math.min(400,Z.full),ee=K+Ep+zb,j=As({left:J.left,right:J.left+J.width,top:J.top,bottom:J.top+J.height,height:J.height},22,2,window.innerHeight,ee,window.innerWidth),z=j.horizontalAlignment==="right"?j.left-ee:j.left;return T(rt,{children:[h(Tl,{element:X.element,activeFacet:"translate",accentColor:e,showRotateHandle:!1,refreshKey:x,draggingKind:A.current?.kind??null,draggingCorner:A.current?.corner??null,onHandlePointerDown:($,H,D)=>{$!=="rotate"&&(D.preventDefault(),D.stopPropagation(),A.current={kind:$,corner:H,start:{x:D.clientX,y:D.clientY},bounds:{...X.subject.bounds}},L(C=>C+1))}}),k&&h("div",{ref:S,"data-popmelt-tracking-anchor-surface":!0,"aria-label":"Add tracking anchor",onPointerDown:$=>{if($.button!==0)return;$.preventDefault(),$.stopPropagation();let H=u.current;if(H.length>=Db){y(C=>C+1);return}let D=[...H,{x:Math.max(0,Math.min(1,($.clientX-J.left)/J.width)),y:Math.max(0,Math.min(1,($.clientY-J.top)/J.height))}];u.current=D,m(D)},style:{position:"fixed",left:J.left,top:J.top,width:J.width,height:J.height,pointerEvents:"auto",cursor:"crosshair",zIndex:9998},children:f.map(($,H)=>h("span",{"data-popmelt-tracking-anchor":!0,"data-popmelt-tracking-anchor-reject":g?"true":void 0,style:{position:"absolute",left:`${$.x*100}%`,top:`${$.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%)"}},H))}),h("style",{children:`
|
|
34
|
-
[data-popmelt-subject-label-editor]::selection {
|
|
35
|
-
background: #000000;
|
|
36
|
-
color: #ffffff;
|
|
37
|
-
}
|
|
38
|
-
.popmelt-subject-save-default {
|
|
39
|
-
display: inline-flex;
|
|
40
|
-
align-items: center;
|
|
41
|
-
gap: 4px;
|
|
42
|
-
}
|
|
43
|
-
.popmelt-subject-save-hovered {
|
|
44
|
-
display: none;
|
|
45
|
-
align-items: center;
|
|
46
|
-
gap: 4px;
|
|
47
|
-
}
|
|
48
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-default {
|
|
49
|
-
display: none;
|
|
50
|
-
}
|
|
51
|
-
[data-popmelt-subject-label-save][data-hovered="true"] .popmelt-subject-save-hovered {
|
|
52
|
-
display: inline-flex;
|
|
53
|
-
}
|
|
54
|
-
@media (max-width: 767px) {
|
|
55
|
-
.popmelt-subject-save-default { display: none; }
|
|
56
|
-
.popmelt-subject-save-hovered { display: inline-flex; }
|
|
57
|
-
}
|
|
58
|
-
`}),T("div",{style:{position:"fixed",left:z,top:j.top,display:"flex",alignItems:"center",gap:Ep,pointerEvents:"auto",zIndex:1e4},children:[T("div",{"data-popmelt-subject-label-editor":!0,style:{...xm(e),width:K,gap:0,borderRadius:ha(j.anchor)},children:[h("span",{"aria-hidden":!0,children:"<"}),h("input",{ref:O,"data-popmelt-subject-label-input":!0,value:c,"aria-label":"Object label",spellCheck:!1,onChange:$=>d($.target.value),onBlur:N,onKeyDown:$=>{$.key==="Escape"?($.preventDefault(),V()):$.key==="Enter"&&!$.metaKey&&!$.ctrlKey&&($.preventDefault(),N())},style:{appearance:"none",boxSizing:"content-box",width:Math.min(Z.label,400-zc*2-16),minWidth:0,height:`${$c*1.2}px`,margin:0,padding:0,border:0,outline:0,background:"transparent",color:"inherit",font:"inherit",letterSpacing:"inherit",lineHeight:"inherit"}}),h("span",{"aria-hidden":!0,children:">"})]}),h(Ob,{onSave:N})]})]})}var Tp=2;function Fb(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)>Tp||Math.abs(n.y)>Tp?{session:{...e,hasMoved:!0,startPoint:t},move:{delta:n,saveUndo:!0}}:null}function Wb({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 Ap(e,t,n,r,o){let i={...e},a=i.right-i.left||1,l=i.bottom-i.top||1,s=a/l,c={...e};switch(t){case"topLeft":c.left=n.x,c.top=n.y;break;case"topRight":c.right=n.x,c.top=n.y;break;case"bottomLeft":c.left=n.x,c.bottom=n.y;break;case"bottomRight":c.right=n.x,c.bottom=n.y;break}if(r)switch(t){case"topLeft":c.right=i.right+(i.left-c.left),c.bottom=i.bottom+(i.top-c.top);break;case"topRight":c.left=i.left-(c.right-i.right),c.bottom=i.bottom+(i.top-c.top);break;case"bottomLeft":c.right=i.right+(i.left-c.left),c.top=i.top-(c.bottom-i.bottom);break;case"bottomRight":c.left=i.left-(c.right-i.right),c.top=i.top-(c.bottom-i.bottom);break}if(o){let d=c.right-c.left,p=c.bottom-c.top;if(Math.abs(d/p)>s){let u=Math.abs(p)*s*Math.sign(d);t==="topLeft"||t==="bottomLeft"?c.left=c.right-u:c.right=c.left+u}else{let u=Math.abs(d)/s*Math.sign(p);t==="topLeft"||t==="topRight"?c.top=c.bottom-u:c.bottom=c.top+u}}return c}function Jb({annotation:e,session:t,point:n,centerOrigin:r,lockAspect:o}){let{handle:i,originalPoints:a}=t;if(e.type==="line"){let p=a[0],u=a[a.length-1];return i==="start"?[n,u]:[p,n]}if(e.type==="freehand"){let p={left:Math.min(...a.map(x=>x.x)),right:Math.max(...a.map(x=>x.x)),top:Math.min(...a.map(x=>x.y)),bottom:Math.max(...a.map(x=>x.y))},u=p.right-p.left||1,f=p.bottom-p.top||1,m=Ap(p,i,n,r,o),g=m.right-m.left||1,y=m.bottom-m.top||1;return a.map(x=>({x:m.left+(x.x-p.left)/u*g,y:m.top+(x.y-p.top)/f*y}))}let l=a[0],s=a[a.length-1],c={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=(c.left+c.right)/2,u=(c.top+c.bottom)/2,f=c.right-c.left,m=c.bottom-c.top,g={...c};switch(i){case"top":{if(g.top=n.y,r&&(g.bottom=u+(u-n.y)),o){let y=(g.bottom-g.top)*(f/m)/2;g.left=p-y,g.right=p+y}break}case"bottom":{if(g.bottom=n.y,r&&(g.top=u-(n.y-u)),o){let y=(g.bottom-g.top)*(f/m)/2;g.left=p-y,g.right=p+y}break}case"left":{if(g.left=n.x,r&&(g.right=p+(p-n.x)),o){let y=(g.right-g.left)*(m/f)/2;g.top=u-y,g.bottom=u+y}break}case"right":{if(g.right=n.x,r&&(g.left=p-(n.x-p)),o){let y=(g.right-g.left)*(m/f)/2;g.top=u-y,g.bottom=u+y}break}}return[{x:g.left,y:g.top},{x:g.right,y:g.bottom}]}let d=Ap(c,i,n,r,o);return[{x:d.left,y:d.top},{x:d.right,y:d.bottom}]}function Bb(){let[e,t]=P(null),[n,r]=P(null);return{dragState:e,resizeState:n,setDragState:t,setResizeState:r}}function sd(e,t,n=!0){let r=new Map(bc(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 qb(e,t,n){return e||(t>0?`[${t} image${t>1?"s":""}]`:n[0]?.name??"")}function Yb(e){if(e.domEdit){let i=e.domEdit;return e.text===i.originalText?{action:null,sendHintAnchorId:null,attachedImages:null}:{action:sd(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=qb(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 Ki=0,Ub=2,Xb=60;function Cp({anchorLeftX:e,anchorRightX:t,editorWidth:n,trailingWidth:r,viewportWidth:o}){let i=Math.max(Ki,o-Ki),a=Math.max(Ki,Math.min(t,i)),l=r>0?r+Ub:0,s=n+l,c=Math.max(0,e-8),d=a-s,p=Math.max(0,Ki-c)+Math.max(0,c+s-i),u=Math.max(0,Ki-d)<p?"right":"left",f=Math.max(Xb,u==="right"?a-Ki-l:i-c-l),m=Math.min(n,f);return{horizontalAlignment:u,editorLeft:u==="right"?a-l-m:c,maxEditorWidth:f}}function Kb({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 Vb({text:e,fontSize:t,point:n,clickPoint:r,context:o}){let i=e.split(`
|
|
59
|
-
`),a=t*lr,l=Math.max(0,Math.min(i.length-1,Math.floor((r.y-n.y)/a))),s=i[l]??"",c=r.x-n.x,d=s.length;for(let u=0;u<=s.length;u+=1){let f=o.measureText(s.slice(0,u)).width;if(f<=c)continue;let m=u>0?o.measureText(s.slice(0,u-1)).width:0;d=Math.max(0,c-m<f-c?u-1:u);break}let p=d;for(let u=0;u<l;u+=1)p+=(i[u]?.length??0)+1;return p}function dd({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,c=Gm(e).split(`
|
|
60
|
-
`),d=Math.max(s,...c.map(u=>a.measureText(u||" ").width)),p=Math.max(s,n-r-(o?16:0));if(d>p){let u=Qm(a,c,p);return{width:Math.min(p,Math.max(s,...u.map(f=>a.measureText(f).width))),height:Math.max(1,u.length)*t*lr,isWrapped:!0}}return{width:d,height:Math.max(1,c.length)*t*lr,isWrapped:!1}}function Gb(e,t){return e&&t!=="model"}function Qb(e,t,n,r=6){return e.moved?e:{...e,moved:Math.hypot(t-e.startX,n-e.startY)>r}}function Zb(e){return!!(e&&!e.moved)}function ew(e){return e==="hand"}var Mp={"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 tw(e){let t=new Map;for(let n of e){let r=t.get(n.target);(!r||Mp[n.owner]>Mp[r])&&t.set(n.target,n.owner)}return t}function nw({activeText:e,pendingLinkedText:t,activeTextSendHintId:n,activeTool:r,isAnnotating:o,annotations:i,pageAnnotations:a,pageStyleModifications:l,pageTextModifications:s,supersededAnnotations:c,nestedBadgeHover:d,isSendBundleHovered:p,badgeHoveredAnnotationId:u,hoveredTextId:f,badgeHoveredSelector:m,focusedThreadAnnotationId:g,inFlightSelectorColors:y,focusedSelectorColors:x,hoveredElement:L}){let A=new Map;for(let C of i)C.linkedSelector&&C.elements?.[0]&&A.set(C.linkedSelector,C.elements[0]);for(let C of[...l,...s])A.set(C.selector,C.element);for(let C of[e,t])C?.linkedSelector&&C.elements?.[0]&&A.set(C.linkedSelector,C.elements[0]);let S=(C,ne)=>Zt(C,ne??(A.has(C)?[A.get(C)]:void 0)),O=C=>C?i.find(ne=>ne.id===C)?.linkedSelector??null:null,M=d?d.ownerId===n?e?.linkedSelector??null:O(d.ownerId):null,X=(C,ne)=>ne?S(ne)===C:!1,Z=C=>{let ne=null;for(let oe of a)!oe.linkedSelector||c.has(oe)||Zt(oe.linkedSelector,oe.elements)!==C||(!ne||oe.timestamp>ne.timestamp)&&(ne=oe);return ne},N=[e?.linkedSelector,t?.linkedSelector,O(g),O(d||p?null:u),O(d||p?null:f),m].filter(Boolean),V=d||p?null:u||f,J=C=>N.some(ne=>X(C,ne)),k=[],K=(C,ne)=>{C&&k.push({target:C,owner:ne})},ee=(C,ne,oe)=>{C&&K(S(C,oe),ne)};if(o){if(r==="hand")for(let C of l)C.captured||ee(C.selector,"pending-change");for(let C of s)C.captured||ee(C.selector,"pending-change");for(let C of y?.keys()??[])ee(C,"in-flight");for(let C of x?.keys()??[])ee(C,"selected");if(ee(e?.domEdit?e.linkedSelector:null,"active-edit",e?.elements),!d&&!p&&ee(e?.linkedSelector||t?.linkedSelector,"direct-manipulation",e?.elements||t?.elements),!p&&g){let C=i.find(ne=>ne.id===g);C?.linkedSelector&&M!==C.linkedSelector&&ee(C.linkedSelector,"thread-focus",C.elements)}if(V){let C=i.find(ne=>ne.id===V);ee(C?.linkedSelector,"annotation-hover",C?.elements)}if(d&&!p)for(let C of d.annotationIds){let ne=i.find(oe=>oe.id===C);ee(ne?.linkedSelector,"nested-preview",ne?.elements)}if(p){for(let C of a)(C.status??"pending")==="pending"&&ee(C.linkedSelector,"bundle-preview",C.elements);e&&!e.domEdit&&e.text?.trim()&&ee(e.linkedSelector,"bundle-preview",e.elements);for(let C of[...l,...s])C.captured||ee(C.selector,"bundle-preview",[C.element])}ee(m,"badge-hover"),(r==="inspector"||r==="sticker")&&L&&!V&&!m&&K(L,"inspector-hover")}let j=tw(k),z=(C,ne)=>j.get(C)===ne,$=(C,ne)=>{if(!C)return null;let oe=new Map,G=new Set;for(let[ce,F]of C){let Se=S(ce);Se&&z(Se,ne)&&!G.has(Se)&&(G.add(Se),oe.set(ce,F))}return oe.size>0?oe:null},H=new Set,D=(C,ne)=>!z(C,ne)||H.has(C)?!1:(H.add(C),!0);return{selectorElementInfo:A,hasExistingOverlay:C=>j.has(C),nestedBadgeOwnerSelector:M,hoveredLinkedAnnotationId:V,hasSelectedHighlightForElement:J,getExistingAnnotationForElement:Z,ownedInFlightSelectorColors:$(y,"in-flight"),ownedFocusedSelectorColors:$(x,"selected"),claimElementOverlay:D}}function rw(e){let[t,n]=P();return Tt(()=>{if(!e)return;let r,o=()=>{if(!e.isConnected)return;let i=e.getBoundingClientRect();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 ow=180,Rp=16,iw=50,Lp=180;async function aw(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 Pp(e,t){return!e.frames||t===0?e:{...e,frames:e.frames.map(n=>({...n,imageIndex:n.imageIndex+t}))}}function cd(e){let t=e?.replace(/\s+/g," ").trim();if(t)return t.slice(0,Lp)}function lw(e){try{return Ro(e)}catch{return}}function jp(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 Vi(e){if(!e||io(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=cd(e.getAttribute("class")),a=cd(e.getAttribute("aria-label")),l=cd(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement?void 0:e.textContent),s=jp(e);return{selector:lw(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,Lp)}:{},...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 ud(e){let{subject:t,target:n,adapter:r}=e,{left:o,top:i,width:a,height:l}=t.bounds,s=jp(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 sw(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 dw(e,t,n){if(e==="scroll")return"Scrolled the page";let r=n??Vi(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 cw(e,t){return JSON.stringify(e)!==JSON.stringify(t)}function uw(e){return e.metaKey||e.ctrlKey||e.altKey?!1:["Enter"," ","Escape","Tab","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(e.key)}function pw(e){return e instanceof Element?e:e.parentElement}function hw(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=[],c=null,d=()=>{if(window.clearTimeout(i),i=0,!o)return;let m=t(),g=o.captureResult?.()??Vi(o.targetElement),y=o.kind==="input"||o.kind==="change"||o.kind==="submit"||o.kind==="scroll"||o.kind==="play"||o.kind==="pause"||o.kind==="seek",x={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:y||o.changes.length>0||cw(o.target,g)?"changed":"no-observable-change",changes:o.changes,...g?{result:g}:{}};if(o=null,r.length<iw&&(r.push(x),e.onStep?.(x),e.captureFrame)){let L=l,A=e.captureFrame().catch(()=>null);l=A,s.push(Promise.all([L,A]).then(([S,O])=>({step:x,before:S,after:O})))}},p=()=>{window.clearTimeout(i),i=window.setTimeout(d,ow)},u=(m,g,y)=>{let{element:x,state:L}=g,A=o?.kind==="input"&&m==="input"&&o.targetElement===x,S=o?.kind==="click"&&(m==="input"||m==="change"||m==="play"||m==="pause"||m==="seek")&&o.targetElement===x;if(A||S){p();return}d(),o={id:`episode-step-${n}-${r.length+1}`,kind:m,label:dw(m,x,L),...y?{key:y}:{},targetElement:x,target:L,captureResult:g.captureResult,startedAt:t(),changes:[]},e.onActionCountChange?.(r.length+1),p()},f=new MutationObserver(m=>{if(!(!o||a)){for(let g of m){if(o.changes.length>=Rp)break;let y=(x,L)=>{if(!o||o.changes.length>=Rp)return;let A=pw(L),S=Vi(A);!S||o.changes.some(O=>O.kind===x&&O.element.selector===S.selector&&O.element.tagName===S.tagName&&O.element.text===S.text)||o.changes.push({kind:x,element:S})};g.addedNodes.forEach(x=>y("added",x)),g.removedNodes.forEach(x=>y("removed",x)),(g.type==="attributes"||g.type==="characterData")&&y("updated",g.target)}p()}});return f.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 A=m;if(m.type==="pointerdown"&&A.button===0){let S=e.resolveEventTarget?.(m),O=S?.element??(m.target instanceof Element&&!io(m.target)?m.target:null),M=S?.state??Vi(O);if(!M)return;c={x:A.clientX,y:A.clientY,targetElement:O,target:M,captureResult:S?.captureResult};return}if(m.type==="pointerup"){let S=c;c=null,S?.targetElement&&Math.hypot(A.clientX-S.x,A.clientY-S.y)>4&&u("drag",{element:S.targetElement,state:S.target,captureResult:S.captureResult});return}}let g=sw(m);if(!g||m instanceof KeyboardEvent&&!uw(m))return;let y=e.resolveEventTarget?.(m),x=y?.element??(m.target instanceof Element&&!io(m.target)?m.target:null);if(!x)return;let L=y?.state??Vi(x);L&&u(g,{element:x,state:L,captureResult:y?.captureResult},m instanceof KeyboardEvent?m.key:void 0)},recordScroll(){if(!a){if(o?.kind==="scroll"){p();return}u("scroll",{element:null,state:{tagName:"document",text:"page"}})}},hasActions(){return o!==null||r.length>0},async finish(){a||d(),a=!0,f.disconnect(),window.clearTimeout(i);let m={version:1,startedAt:n,completedAt:t(),subject:e.subjectState??Vi(e.subjectElement),steps:[...r]};if(r.length===0||s.length===0)return{episode:m,frames:[]};let g=await Promise.all(s),y=[],x=new Map,L=[],A=async S=>{if(!S)return;let O=await aw(S),M=x.get(O);if(M)return M;let X=`episode-frame-${n}-${y.length+1}`;return x.set(O,X),L.push({id:X,imageIndex:y.length,fingerprint:O}),y.push(S),X};for(let S of g){let O=await A(S.before),M=await A(S.after);(O||M)&&(S.step.visuals={...O?{beforeFrameId:O}:{},...M?{afterFrameId:M}:{}})}return L.length>0&&(m.frames=L),{episode:m,frames:y}},cancel(){a=!0,o=null,c=null,f.disconnect(),window.clearTimeout(i)}}}function $p(e){return!!(e&&!e.domEdit&&(e.linkedSelector||e.target))}function zp(e){return!!(e&&e.type==="text"&&(e.status??"pending")==="pending"&&(e.linkedSelector||e.target))}function fw(e,t){return!!(t&&e?.id===t.id)}function mw(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 gw(e){let t=e.activationDraft??e.activeDraft;if($p(t))return{kind:"draft",value:t};let n=mw(e.annotations,e.selectedAnnotationIds,e.lastSelectedId).find(zp);return n?{kind:"annotation",value:n}:zp(e.annotationAtCursor)?{kind:"annotation",value:e.annotationAtCursor}:null}var pd={kind:"root"},yw=2;function vw(e){return e==="color"?"slate":el(e)[0]}function bw(e){let t=xs(e),n=vw(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 Dp(e,t){let n=xs(e),r=zm(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 ww(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 xw(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 Sw(e){return e.kind==="root"?Hi.flatMap(t=>{let n=bw(t);return t==="color"?[n]:[n,...el(t).filter(r=>!Wc(r)).map(r=>Dp(t,r))]}):e.kind==="family"?el(e.family).filter(t=>!Wc(t)).map(t=>Dp(e.family,t)):e.kind==="colors"?_c.map(t=>ww(e.family,t)):pi(e.family,e.subproperty).map(t=>xw(e.family,e.subproperty,t))}function Sa(e){return e.toLowerCase().trim().replace(/[^a-z0-9]+/g," ")}function Hp(e){return Sa(e).replace(/\s+/g,"")}function kw(e){return Sa(e).split(/\s+/).filter(Boolean).map(t=>t[0]).join("")}function Iw(e,t){let n=Sa(e);if(!n)return 0;let r=Sa(t.searchPath),o=Sa(t.label),i=Hp(e),a=Hp(t.searchPath),l=kw(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(d=>d.startsWith(n)))return 880;if(l.startsWith(i))return 850;if(a.startsWith(i))return 820;let s=0;for(let d of i){if(s=a.indexOf(d,s),s===-1)return-1;s+=1}let c=t.id.startsWith("family:")?20:0;return 500-Math.max(0,a.length-i.length)+c}function ka(e,t){if(!t.trim())return null;let n=o=>Sw(o).map((i,a)=>({candidate:i,index:a,score:Iw(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(pd)}function hd(e,t){return t.trim().length<yw?null:ka(e,t)}function Ew(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 Tw(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 mi(e,t){jr(e)&&(t.forEach(n=>e.style.removeProperty(n)),e.style.removeProperty("transition"))}function dr(e,t,n){return{property:e,original:`${t}px`,modified:`${n}px`}}function Aw(e,t,n){mi(e,["font-size","line-height"]);let r=[];if(t.fontSize!==n.fontSize&&(ot(e,"font-size",`${n.fontSize}px`),r.push(dr("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 fd=["space-between","space-around","stretch","normal"];function Cw(e,t,n,r){if(!t.hasMoved){if(r)return[];mi(e,[]);let i=t.justifyContent||"normal",a=fd.indexOf(i),l=fd[(a+1)%fd.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(dr("row-gap",t.row,8)),t.column!==8&&s.push(dr("column-gap",t.column,8))):(mi(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(dr("row-gap",t.row,0)),t.column>0&&s.push(dr("column-gap",t.column,0))),s}if(!n)return[];mi(e,["row-gap","column-gap"]);let o=[];return t.isAuto?(mi(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(dr("row-gap",0,n.row)),o.push(dr("column-gap",0,n.column)),o):(t.row!==n.row&&(ot(e,"row-gap",`${n.row}px`),o.push(dr("row-gap",t.row,n.row))),t.column!==n.column&&(ot(e,"column-gap",`${n.column}px`),o.push(dr("column-gap",t.column,n.column))),o)}var md={"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 Mw(e,t,n){let r=Object.values(md);mi(e,r);let o=[];return Object.keys(md).forEach(i=>{if(t[i]===n[i])return;let a=md[i];ot(e,a,`${n[i]}px`),o.push(dr(a,t[i],n[i]))}),o}function Rw(e,t,n){mi(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(dr(i,t[o],n[o]))}),r}function Op(){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 Np(){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 _p(){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 Fp(){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 Al(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 Lw(e,t){return!e.element||!t?null:Al(e,Aw(e.element,{fontSize:e.originalFontSize,lineHeight:e.originalLineHeight},t))}function Pw(e,t,n){return e.element?Al(e,Cw(e.element,{hasMoved:e.hasMoved,isAuto:e.isAuto,row:e.originalRow,column:e.originalColumn,justifyContent:e.originalJustifyContent},t,n)):null}function jw(e,t){return!e.element||!t?null:Al(e,Mw(e.element,e.original,t.radius))}function $w(e,t){return!e.element||!t?null:Al(e,Rw(e.element,e.original,t.padding))}var zw="popmelt-steering-context",Wp=1;function Dw(e){return $i(zw,e)}function Gi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function gd(e){return typeof e=="string"&&Hi.includes(e)}function Hw(e){return e==="family"||e==="variant"||e==="value"}function Jp(e,t){return typeof t=="string"&&Oc(e,t)===t}function Ow(e,t,n){return pi(e,t).includes(n)}function Cl(e){if(!Gi(e)||!gd(e.family))return null;let t=e.family;if(!Jp(t,e.subproperty))return null;let n=e.subproperty;return!Hw(e.stage)||!Ow(t,n,e.step)?null:{family:t,subproperty:n,stage:e.stage,step:e.step}}function Bp(e){if(!Gi(e)||typeof e.kind!="string")return null;if(e.kind==="root")return{kind:"root"};if(e.kind==="family"&&gd(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"&&gd(e.family)){let t=e.family;return Jp(t,e.subproperty)?{kind:"values",family:t,subproperty:e.subproperty}:null}return null}function Nw(e){if(!Gi(e)||typeof e.query!="string"||!Array.isArray(e.segments)||!e.segments.every(i=>typeof i=="string"))return null;let t=Bp(e.scope),n=Cl(e.origin);if(!t||!n||!Array.isArray(e.history))return null;let r=[];for(let i of e.history){if(!Gi(i))return null;let a=Bp(i.scope),l=Cl(i.snapshot);if(!a||!l)return null;r.push({scope:a,snapshot:l})}let o;if(e.segmentOrigin!==void 0){let i=Cl(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 _w(e){let t=Cl(e);if(!t||!Gi(e))return null;if(e.query===null)return{...t,query:null};let n=Nw(e.query);return n?{...t,query:n}:null}function Fw(e,t){try{let n=e.getItem(t);if(!n)return null;let r=JSON.parse(n);return!Gi(r)||r.version!==Wp?null:_w(r.context)}catch{return null}}function Ww(e,t,n){try{e.setItem(t,JSON.stringify({version:Wp,context:n}))}catch{}}function Jw(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 qp=100;function Yp(e,t){return e!=="sticker"||!t}var Bw=new Set(["display","border-top-style","border-right-style","border-bottom-style","border-left-style"]);function qw(e,t){return e?.element===t.element&&e.family===t.family&&e.step===t.step&&e.subproperty===t.subproperty&&e.valueOverride===t.valueOverride}function Up(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}function Yw(e,t,n,r,o,i,a){return i&&a&&Bv(i,r,o,a)||t===e?!0:t&&t!==e&&e.contains(t)?Up(n,r,o):t&&t.contains(e)&&i&&a&&qv(i,r,o,a)?!0:Up(n,r,o)||!!(i&&Jv(i,r,o))}function yd(e,t){t.value?e.style.setProperty(t.property,t.value,t.priority):e.style.removeProperty(t.property)}function Xp(e,t){return{property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}}function Uw(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 Ia(e){if(e){cg(e.element);for(let t of e.declarations)yd(e.element,t)}}function Xw(e,t,n){e&&(Ia(e),su(t),du(n))}function Kw(e){if(e)for(let t of e.activeDeclarations)yd(e.element,t)}function Vw(e,t,n,r,o=null,i){o&&o.element!==e&&(Ia(o),o=null);let a=window.getComputedStyle(e),l=Ic(t,r),s=i?a.getPropertyValue(l).trim()===i:Ec(t,n,r,L=>a.getPropertyValue(L)),c=Tc(t),d=Ac(t,r,n),p=t==="border"&&!ui(t,r)&&typeof n=="number"&&n>0?Cc(r):null,u=[l,...c?["display"]:[],...d.map(L=>L.property),...p?[p]:[]],f=[...new Set(u)],m=new Set([...f,"transition"]),g=new Map(o?.declarations.map(L=>[L.property,L])??[]);for(let L of g.values())m.has(L.property)||yd(e,L);let y=[...m].map(L=>g.get(L)??Xp(e,L)),x=f.filter(L=>!Bw.has(L));ug(e,Uw(f)),x.length>0&&ot(e,"transition",x.map(L=>`${L} ${qp}ms ease-out`).join(", ")),c&&ot(e,"display",c);for(let L of d)ot(e,L.property,L.value);if(ot(e,l,i??Di(t,n,r)),p){let L=window.getComputedStyle(e).getPropertyValue(p).trim();(!L||L==="none")&&ot(e,p,"solid")}return{preview:{element:e,declarations:y,activeDeclarations:[...m].map(L=>Xp(e,L))},stepUnavailable:s}}var Kp="[data-popmelt-subject-label-action]";function Gw(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 Vp(e,t,n){let r=Gw(e);return r?t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom:!0}function Qw(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 Zw(e,t,n,r){let o=e.getBoundingClientRect(),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 Gp(e,t,n){for(let r of e.querySelectorAll(Kp)){let o=r.getBoundingClientRect();if(t>=o.left&&t<=o.right&&n>=o.top&&n<=o.bottom){let i=Qw(e,r);if(i&&!Vp(i,t,n))continue;return r}}return null}function e0(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(`${Kp}[data-popmelt-subject-adapter][data-popmelt-subject-key]`)).find(l=>l.dataset.popmeltSubjectAdapter===o&&l.dataset.popmeltSubjectKey===i);return!a||!Vp(t,n,r)?!1:Zw(t,a,n,r)}function t0(e){return!("button"in e)||e.button===0}function Ml(e){let t=ys(e);return{element:e,elementInfo:{...sn(e),selector:t},selector:t,durableSelector:Ro(e)}}function Rl(e){return{x:e.x-window.scrollX,y:e.y-window.scrollY}}function Ll(e){ot(e,"transition","none")}function n0(e,t,n){let r=Ml(e),o=Rl(n),i=fa(e);return Ll(e),{session:{...r,isDragging:!0,side:t,startX:o.x,startY:o.y,original:i},dragging:{side:t,padding:{...i}}}}function r0(e,t,n,r){let o=Ml(e),i=Rl(n),a=rl(e),l=window.getComputedStyle(e).justifyContent,s=0;if(r){let d=ol(e).find(p=>p.axis===t);s=d?t==="column"?d.w:d.h:0}let c=r?{row:s,column:s}:a;return Ll(e),{session:{...o,isDragging:!0,hasMoved:!1,axis:t,startX:i.x,startY:i.y,originalRow:c.row,originalColumn:c.column,isAuto:r,originalJustifyContent:l,visualGap:s},dragging:{axis:t,...c}}}function o0(e,t,n){let r=Ml(e),o=Ni(e);return Ll(e),{session:{...r,isDragging:!0,corner:t,startY:Rl(n).y,original:o,maxRadius:Math.floor(e.getBoundingClientRect().height/2)},dragging:{corner:t,radius:{...o}}}}function i0(e,t,n){let r=Ml(e),o=Rl(n),i=ru(e);return Ll(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 a0({activeText:e,applySticker:t,canvasRef:n,clearSelection:r,commentTextEditCandidateRef:o,commitActiveText:i,createInlineTextEdit:a,dispatch:l,domDragRef:s,editPendingLinkedComment:c,findAnnotationAtPoint:d,findHandleAtPoint:p,findTextAtPoint:u,gapDragRef:f,gapHoveredAxis:m,gapHoveredElement:g,gapIsAuto:y,getPoint:x,handleAnnotationActivation:L,handDragRef:A,handHoveredElement:S,handHoveredSide:O,hoveredElement:M,hoveredElementInfo:X,isElementInFlight:Z,onCanvasInteraction:N,openThreadAndFocusReply:V,pageAnnotations:J,modifiedElementThreadStates:k,pageStyleModifications:K,parentPinnedAnnotationIds:ee,pointerTargetOverrideRef:j,radiusDragRef:z,radiusHoveredCorner:$,radiusHoveredElement:H,selectAnnotation:D,setDragState:C,setGapDragging:ne,setHandDragging:oe,setPendingLinkedText:G,setRadiusDragging:ce,setResizeState:F,setStickerRejectPulse:Se,setTextDragging:ie,state:re,stickerStage:Te,textDragRef:je,textHoveredElement:Oe,textHoveredProperty:Y,toolbarRef:be}){return U(Le=>{if(!re.isAnnotating||!t0(Le))return;N?.();let He=j?.current??null;j&&(j.current=null);let et=He?.element??M,it=He?.elementInfo??X,me=x(Le),he="shiftKey"in Le&&Le.shiftKey,Je="clientX"in Le?{x:Le.clientX,y:Le.clientY}:"touches"in Le&&Le.touches[0]?{x:Le.touches[0].clientX,y:Le.touches[0].clientY}:null;if(re.activeTool==="sticker"){if("button"in Le&&Le.button!==0||Te!=="value")return;if(!Je){Se(Ue=>Ue+1);return}let Ie=He?.element??_i(Je.x,Je.y);if(!(Ie instanceof HTMLElement)&&!(Ie instanceof SVGElement)){Se(Ue=>Ue+1);return}Le.preventDefault(),Le.stopPropagation(),t(Ie);return}if(re.activeTool==="inspector"&&Je&&(!("button"in Le)||Le.button===0)){let Ie=a(Je.x,Je.y,me);o.current=Ie?{edit:Ie,clientX:Je.x,clientY:Je.y,expiresAt:Date.now()+1e3}:null}else o.current=null;let qe=u(me);if(qe?.points[0]){e&&i(),he||r();let Ie=qe.threadId||(qe.groupId?re.annotations.find(Ue=>Ue.groupId===qe.groupId&&Ue.threadId)?.threadId:void 0);if(ee.has(qe.id)){o.current=null,L(qe.id,Ie);return}Ie&&V(Ie),C({annotation:qe,startPoint:me,hasMoved:!1});return}if(re.activeTool==="inspector"){if("button"in Le&&Le.button===2)return;if(et&&!Z(et)){let Ie=J.filter(v=>v.type==="text"&&v.linkedSelector).filter(v=>al(v.linkedSelector,v.elements?.[0])===et).sort((v,le)=>le.timestamp-v.timestamp)[0];if(Ie?.points[0]){if((Ie.status??"pending")==="pending"&&!Ie.threadId)c(Ie.id);else{let v=Ie.threadId||(Ie.groupId?re.annotations.find(le=>le.groupId===Ie.groupId&&le.threadId)?.threadId:void 0);v&&V(v)}return}let Ue=ma(et),mt=new Set;for(let[v,le]of k??[]){let ye=cu(le.selectors??[v],le.targetFingerprint);ye.status==="matched"&&ye.element===et&&mt.add(le.threadId)}if(mt.size===1){V([...mt][0]);return}let _t=it??sn(et),yt=Ue?lu(Ue):Ro(et),We=et.getBoundingClientRect(),pt=yt;if(!Ue){let v=et.getAttribute("data-pm");v||(v=Math.random().toString(36).substring(2,8),et.setAttribute("data-pm",v)),pt=`[data-pm="${v}"]`}let kn=K.some(v=>{if(v.captured)return!1;try{return et.matches(v.selector)}catch{return!1}}),Kt=re.annotations.filter(v=>{if(!v.linkedSelector)return!1;try{return et.matches(v.linkedSelector)}catch{return!1}}).length,In=(kn?1:0)+Kt,Ft=We.top>=22*(1+In)+zi?"top-left":"bottom-left",Ne=n.current?.getContext("2d")??document.createElement("canvas").getContext("2d"),ht;Ne&&(Ne.font=`12px ${Sn}`,ht=Ne.measureText("Type here...").width);let dt=et===document.body?Mc(We):Rc(We,Ft,In,be?.current,ht,0);G({point:dt,subjectAnchor:Ue?{x:.5,y:.5}:void 0,linkedSelector:pt,target:Ue,linkedAnchor:Ft,elements:[{..._t,selector:yt}]})}return}if(re.activeTool==="hand"&&S&&mm(S)&&!g&&!H&&!Oe&&!O){let Ie=S,Ue=ys(Ie),mt=Ro(Ie),_t=sn(Ie),yt="altKey"in Le&&Le.altKey;s.current={isDragging:!0,hasMoved:!1,mode:yt?"copy":"move",startX:me.x-window.scrollX,startY:me.y-window.scrollY,element:Ie,originalParent:Ie.parentElement,originalIndex:gm(Ie),selector:Ue,durableSelector:mt,elementInfo:{..._t,selector:Ue}},Le.preventDefault();return}if(re.activeTool==="hand"&&g&&m){let Ie=r0(g,m,me,y);f.current=Ie.session,ne(Ie.dragging);return}if(re.activeTool==="hand"&&Oe&&Y){let Ie=i0(Oe,Y,me);je.current=Ie.session,ie(Ie.dragging);return}if(re.activeTool==="hand"&&H&&$){let Ie=o0(H,$,me);z.current=Ie.session,ce(Ie.dragging);return}if(re.activeTool==="hand"&&S&&O){let Ie=n0(S,O,me);A.current=Ie.session,oe(Ie.dragging);return}let st=p(me);if(st){let Ie=re.annotations.find(Ue=>Ue.id===st.annotationId);if(Ie&&Ie.type!=="text"&&(Ie.status??"pending")==="pending"){F({annotationId:st.annotationId,handle:st.handle,startPoint:me,originalPoints:[...Ie.points],hasMoved:!1});return}}let Ve=d(me);if(Ve?.points[0]){e&&i(),Ve.type!=="text"?(D(Ve.id,he),Ve.color&&(Ve.status??"pending")==="pending"&&l({type:"SET_COLOR",payload:Ve.color})):he||r();let Ie=Ve.threadId||(Ve.groupId?re.annotations.find(Ue=>Ue.groupId===Ve.groupId&&Ue.threadId)?.threadId:void 0);Ie&&(Ve.status??"pending")!=="pending"&&V(Ie),C({annotation:Ve,startPoint:me,hasMoved:!1});return}he||r()},[e,t,n,r,o,i,a,l,s,c,d,p,u,f,m,g,y,x,L,A,S,O,M,X,Z,N,V,J,k,K,ee,j,z,$,H,D,C,ne,oe,G,ce,F,Se,ie,re.activeTool,re.annotations,re.isAnnotating,Te,je,Oe,Y,be])}function Qi(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,c=t.y+l*i;return Math.hypot(e.x-s,e.y-c)<=r}function l0({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(Qi(e,a,l,s))return i;continue}if(i.type==="freehand"){for(let f=0;f<i.points.length-1;f+=1)if(Qi(e,i.points[f],i.points[f+1],s))return i;continue}let c=Math.min(a.x,l.x),d=Math.max(a.x,l.x),p=Math.min(a.y,l.y),u=Math.max(a.y,l.y);if(i.type==="rectangle"){if(Qi(e,{x:c,y:p},{x:d,y:p},s)||Qi(e,{x:c,y:u},{x:d,y:u},s)||Qi(e,{x:c,y:p},{x:c,y:u},s)||Qi(e,{x:d,y:p},{x:d,y:u},s))return i;continue}if(i.type==="circle"){let f=(d-c)/2,m=(u-p)/2;if(f===0||m===0)continue;let g=Math.hypot((e.x-(c+d)/2)/f,(e.y-(p+u)/2)/m);if(Math.abs(g-1)*Math.max(f,m)<=s)return i}}return null}function s0(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 c,d,p,u;a.type==="freehand"?(c=Math.min(...a.points.map(m=>m.x)),d=Math.max(...a.points.map(m=>m.x)),p=Math.min(...a.points.map(m=>m.y)),u=Math.max(...a.points.map(m=>m.y))):(c=Math.min(l.x,s.x),d=Math.max(l.x,s.x),p=Math.min(l.y,s.y),u=Math.max(l.y,s.y));let f=a.type==="circle"?[{handle:"top",x:(c+d)/2,y:p},{handle:"bottom",x:(c+d)/2,y:u},{handle:"left",x:c,y:(p+u)/2},{handle:"right",x:d,y:(p+u)/2}]:a.type==="rectangle"||a.type==="freehand"?[{handle:"topLeft",x:c,y:p},{handle:"topRight",x:d,y:p},{handle:"bottomLeft",x:c,y:u},{handle:"bottomRight",x:d,y:u}]:[];for(let m of f)if(Math.hypot(e.x-m.x,e.y-m.y)<=o)return{handle:m.handle,annotationId:i}}return null}function d0(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 c0({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,c=e.fontSize||12;n.font=`${c}px ${Sn}`;let d=e.text.replace(/\n/g," "),p=r!==void 0?`${r}. ${d}`:d,u=l.x-o.x,f=a?Ps:0,m=Math.max(60,Cs(u)-f),g=ou(n,p,m),y=n.measureText(g).width,x=c*lr,L=iu({x:l.x-o.x,y:l.y-o.y},c,i,f+y+16),A={x:L.x+o.x,y:L.y+o.y};return t.x>=A.x-8-s&&t.x<=A.x+f+y+8+s&&t.y>=A.y-4-s&&t.y<=A.y+x+4+s}function u0({annotationGroupMap:e,annotations:t,canvasRef:n,handleSize:r,hiddenCollidingAnnotationIds:o,pageAnnotations:i,parentPinnedAnnotationIds:a,scroll:l,selectedAnnotationIds:s,supersededAnnotations:c,textSafeBounds:d}){let p=U(g=>d0(n.current,g,{x:window.scrollX,y:window.scrollY}),[n]),u=U(g=>l0({point:g,annotations:i,isHidden:y=>c.has(y)||o.has(y.id),textContainsPoint:(y,x)=>c0({annotation:y,point:x,context:n.current?.getContext("2d")??null,groupNumber:e.get(y.id),scroll:l,textSafeBounds:d,parentPinned:a.has(y.id)})}),[e,n,o,i,a,l,c,d]),f=U(g=>{let y=u(g);return y?.type==="text"?y:null},[u]),m=U(g=>s0(g,s,t,r),[t,r,s]);return{findAnnotationAtPoint:u,findHandleAtPoint:m,findTextAtPoint:f,getPoint:p}}function p0({annotations:e,dragState:t,resizeState:n,dispatch:r,setDragState:o,setResizeState:i}){return U(({point:a,centerOrigin:l,lockAspect:s})=>{if(n){let c=e.find(p=>p.id===n.annotationId);if(!c)return!0;let d=Jb({annotation:c,session:n,point:a,centerOrigin:l,lockAspect:s});return r({type:"RESIZE_ANNOTATION",payload:{id:n.annotationId,points:d,saveUndo:!n.hasMoved}}),n.hasMoved||i({...n,hasMoved:!0}),!0}if(t&&(t.annotation.status??"pending")==="pending"){let c=Fb(t,a);return c&&(o(c.session),r({type:"MOVE_ANNOTATION",payload:{id:t.annotation.id,delta:c.move.delta,...c.move.saveUndo?{saveUndo:!0}:{}}})),!0}return!1},[e,r,t,n,o,i])}function h0({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 c=s.getBoundingClientRect(),d=Ni(s),p=[["top-left",c.left,c.top+d["top-left"]],["top-right",c.right,c.top+d["top-right"]],["bottom-right",c.right,c.bottom-d["bottom-right"]],["bottom-left",c.left,c.bottom-d["bottom-left"]]];for(let[u,f,m]of p){let g=Math.hypot(n.x-f,n.y-m);g<a&&(a=g,i=u,l=s)}}return i&&l?{element:l,corner:i}:null}function f0({element:e,point:t,maxCandidates:n=3}){let r=[];e&&au(e)&&r.push(e);let o=e?.parentElement??null;for(;o&&o!==document.body&&r.length<n;)au(o)&&r.push(o),o=o.parentElement;for(let i of r){let a=ol(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:Ls(i,a.axis)}}return null}function m0({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(!ig(s))continue;let c=js(s);if(!c)continue;let d=n.x>=c.left&&n.x<=c.right&&n.y>=c.top&&n.y<=c.bottom,p=[["font-size",c.right,c.top+c.height/2],["line-height",c.left+c.width/2,c.bottom]];for(let[u,f,m]of p){let g=Math.hypot(n.x-f,n.y-m);(d||g<r)&&g<a&&(a=g,i=u,l=s)}}return i&&l?{element:l,property:i}:null}function g0(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,c=e.x<i,d=e.x>a;return l&&c?n.top>=n.left?"top":"left":l&&d?n.top>=n.right?"top":"right":s&&c?n.bottom>=n.left?"bottom":"left":s&&d?n.bottom>=n.right?"bottom":"right":l?"top":s?"bottom":c?"left":d?"right":null}var vd=[0,1,2,4,8,12,16,20,24,28,32],y0=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];function Pl(e){for(let t=0;t<vd.length-1;t++){let n=vd[t],r=vd[t+1];if(e<=(n+r)/2)return n;if(e<r)return r}return Math.round(e/8)*8}function v0(e){return y0.reduce((t,n)=>Math.abs(e-n)<Math.abs(e-t)?n:t)}function b0(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=Pl(i),a=Pl(a)),{axis:r,gap:{row:Math.round(i),column:Math.round(a)},started:o,convertedAuto:o&&e.isAuto}}function w0(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=Pl(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 x0(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=v0(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 S0(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=Pl(a)),o[i]=Math.round(a)}),{side:r,padding:o}}function k0({canvasRef:e,domDragRef:t,gapDragRef:n,gapHoveredAxis:r,gapHoveredElement:o,handCursorRef:i,handDragRef:a,handHoveredElement:l,handHoveredSide:s,modifiersRef:c,radiusDragRef:d,radiusHoveredCorner:p,radiusHoveredElement:u,setDomDropPreview:f,setGapDragging:m,setGapHoveredAxis:g,setGapHoveredElement:y,setGapIsAuto:x,setHandCursorPos:L,setHandDragging:A,setHandHoveredElement:S,setHandHoveredSide:O,setRadiusDragging:M,setRadiusHoveredCorner:X,setRadiusHoveredElement:Z,setTextDragging:N,setTextHoveredElement:V,setTextHoveredProperty:J,textDragRef:k,textHoveredElement:K,textHoveredProperty:ee}){return U(({x:j,y:z})=>{i.current={x:j,y:z},L({x:j,y:z});let $=c.current.cmd,H=c.current.shift;if(t.current.isDragging){let G=t.current,ce=G.element;if(!ce)return;if(!G.hasMoved){let Se=Math.abs(j-G.startX),ie=Math.abs(z-G.startY);if(Se<=3&&ie<=3)return;G.hasMoved=!0}let F=Mm(j,z,ce,e.current);if(!F){f(null);return}f({rect:F.reference.getBoundingClientRect(),placement:F.placement,mode:G.mode});return}if(n.current.isDragging){let G=n.current,ce=G.element;if(!ce)return;let F=b0(G,{x:j,y:z},{isolate:$,snap:H});if(!F)return;F.started&&(G.hasMoved=!0),F.convertedAuto&&(ot(ce,"justify-content","normal"),ot(ce,"row-gap",`${G.visualGap}px`),ot(ce,"column-gap",`${G.visualGap}px`),x(!1)),ot(ce,"row-gap",`${F.gap.row}px`),ot(ce,"column-gap",`${F.gap.column}px`),m({axis:F.axis,...F.gap});return}if(d.current.isDragging){let G=d.current,ce=G.element;if(!ce)return;let F=w0(G,{y:z},{isolate:$,snap:H});if(!F)return;ot(ce,"border-top-left-radius",`${F.radius["top-left"]}px`),ot(ce,"border-top-right-radius",`${F.radius["top-right"]}px`),ot(ce,"border-bottom-right-radius",`${F.radius["bottom-right"]}px`),ot(ce,"border-bottom-left-radius",`${F.radius["bottom-left"]}px`),M(F);return}if(k.current.isDragging){let G=k.current,ce=G.element;if(!ce)return;let F=x0(G,{x:j,y:z},H);if(!F)return;ot(ce,"font-size",`${F.text.fontSize}px`);let Se=F.text.fontSize>0?Math.round(F.text.lineHeight/F.text.fontSize*1e3)/1e3:1.2;ot(ce,"line-height",`${Se}`),N({property:F.property,...F.text});return}if(a.current.isDragging){let G=a.current,ce=G.element;if(!ce)return;let F=S0(G,{x:j,y:z},{isolate:$,snap:H});if(!F)return;ot(ce,"padding",`${F.padding.top}px ${F.padding.right}px ${F.padding.bottom}px ${F.padding.left}px`),A(F);return}let D=_i(j,z);for(;D&&D.tagName==="A";)D=D.parentElement;let C=h0({element:D,stickyElement:u,point:{x:j,y:z}});if(C){Z(C.element),X(C.corner),l&&S(null),s&&O(null),o&&y(null),r&&g(null),x(!1),K&&V(null),ee&&J(null);return}u&&Z(null),p&&X(null);let ne=f0({element:D,point:{x:j,y:z}});if(ne){y(ne.element),g(ne.axis),x(ne.isAuto),l&&S(null),s&&O(null),K&&V(null),ee&&J(null);return}o&&y(null),r&&g(null),x(!1);let oe=m0({element:D,stickyElement:K,point:{x:j,y:z}});if(oe?(V(oe.element),J(oe.property)):(K&&V(null),ee&&J(null)),D!==l&&S(D),D){let G=fa(D);O(g0({x:j,y:z},D.getBoundingClientRect(),G))}else O(null)},[e,t,n,r,o,i,a,l,s,c,d,p,u,f,m,g,y,x,L,A,S,O,M,X,Z,N,V,J,k,K,ee])}function I0({activeTool:e,isAnnotating:t,lastCanvasCursorRef:n,getPoint:r,isManipulating:o,findTextAtPoint:i,clearPageElementHover:a,handleShakePointerMove:l,handleTargetPointerMove:s,handleHandPointerMove:c,handleAnnotationPointerMove:d}){return U(p=>{let u=r(p),f={x:u.x-window.scrollX,y:u.y-window.scrollY},m="metaKey"in p&&(!("pointerType"in p)||p.pointerType==="mouse");n.current=f;let g=o();if(!l({isManipulating:g,isTouchEvent:"touches"in p||"pointerType"in p&&p.pointerType!=="mouse",viewportPoint:f})){if(!g&&i(u)){a();return}if(!s({viewportPoint:f,passThrough:m&&(p.metaKey||p.ctrlKey),stopPropagation:()=>p.stopPropagation()})){if(e==="hand"&&t){c(f);return}d({point:u,centerOrigin:m&&(p.metaKey||p.ctrlKey),lockAspect:m&&p.shiftKey})}}},[e,a,i,r,d,c,l,s,t,o,n])}function E0({rawElement:e,point:t,dragHandoff:n,previewTarget:r,handleHitSize:o}){let i=!!(n?.element.isConnected&&(e===n.element||Kv(n.releasePoint,t))),a=!!(n&&!i),l=!!(!a&&r?.element.isConnected&&Yw(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 T0(e,t,n){return t?e!=="sticker"&&n(t)?null:t:null}function Qp({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}){return t&&!n&&(e==="inspector"||e==="sticker")}function A0(e,t){return e?.subjectLabel!==t.subjectLabel||e?.textContent!==t.textContent||e?.context!==t.context}function C0(e,t){return!!(e&&t&&(e.adapter!==t.adapter||e.key!==t.key))}function M0(e,t,n,r=16){if(!(e instanceof HTMLImageElement||e instanceof HTMLVideoElement)||t)return!1;let o=e.getBoundingClientRect();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 R0({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n,hoveredElement:r,hoveredElementInfo:o,subjectRegistry:i,stickerFamily:a,stickerStage:l,stickerSubproperty:s,steerDragRef:c,transformDragHandoffRef:d,transformPreviewSuppressionRef:p,transformPreviewTargetRef:u,clearStickerPreview:f,isElementInFlight:m,setHoveredElement:g,setHoveredElementInfo:y,setStickerCursor:x,setStickerStep:L}){return U(({viewportPoint:A,passThrough:S,stopPropagation:O})=>{if(!Qp({activeTool:e,isAnnotating:t,suspendTargetDiscovery:n}))return!!n;if(e==="sticker"&&(O(),x(A)),c.current)return!0;if(gg(A.x,A.y))return e==="sticker"&&f(),r&&g(null),o&&y(null),x(null),!0;let M={allowBodyFallback:e==="inspector"},X=S?yg(A.x,A.y,M):_i(A.x,A.y,M),Z=e==="inspector"?i?.hitTest(A):null,N=M0(X,!!Z,A),V=C0(ma(r),Z?.target);if(!N&&!V&&e==="inspector"&&e0(document,r,A.x,A.y))return!0;let J=Z?.element??X,k=e==="sticker"&&l==="value"&&a==="transform"?u.current:null,K=S?{candidate:J,clearDragHandoff:!!d.current,clearPreviewTarget:!!k}:E0({rawElement:J,point:A,dragHandoff:d.current,previewTarget:k,handleHitSize:20});K.clearDragHandoff&&(d.current=null),K.clearPreviewTarget&&(u.current=null);let ee=K.candidate,j=T0(e,ee,m);if(j===r)return Z?.element===j&&A0(o,Z.elementInfo)&&y(Z.elementInfo),!0;if(e==="sticker"&&f(),e==="sticker"&&jr(j)&&a==="transform"&&(s==="translate"||s==="scale"||s==="rotate")){let z=Gv(j,s);p.current={element:j,subproperty:s,step:z},L(z)}else a==="transform"&&(p.current=null);return g(j),y(Z?.element===j?Z.elementInfo:j?sn(j):null),!0},[e,f,r,o,t,m,g,y,x,L,c,a,l,s,i,n,d,p,u])}function L0({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 P0(e){let t=k0(e),n=p0(e),r=R0(e),o=q(r),i=q(e.clearPageElementHover),a=q(!1),l=Qp({activeTool:e.activeTool,isAnnotating:e.isAnnotating,suspendTargetDiscovery:e.suspendTargetDiscovery});Tt(()=>{o.current=r,i.current=e.clearPageElementHover},[r,e.clearPageElementHover]),_(()=>{if(l)return L0({onSuspend:()=>i.current(),onRestore:()=>{let d=e.lastCanvasCursorRef.current;d&&o.current({viewportPoint:d,passThrough:!1,stopPropagation:()=>{}})},suspendedRef:a})},[e.lastCanvasCursorRef,l]);let s=U(d=>a.current?!0:o.current(d),[]);_(()=>{let d=p=>{p.repeat||p.key!=="Meta"&&p.key!=="Control"||!e.lastCanvasCursorRef.current||s({viewportPoint:e.lastCanvasCursorRef.current,passThrough:!0,stopPropagation:()=>{}})};return window.addEventListener("keydown",d,!0),()=>window.removeEventListener("keydown",d,!0)},[s,e.lastCanvasCursorRef]),_(()=>{let d=p=>{let u=e.canvasRef.current;if(u&&p.composedPath().includes(u))return;let f={x:p.clientX,y:p.clientY};e.lastCanvasCursorRef.current=f,s({viewportPoint:f,passThrough:p.metaKey||p.ctrlKey,stopPropagation:()=>{}})};return window.addEventListener("mousemove",d,!0),()=>window.removeEventListener("mousemove",d,!0)},[s,e.canvasRef,e.lastCanvasCursorRef]),_(()=>{if(e.subjectRegistry)return e.subjectRegistry.subscribeFrame(()=>{let d=e.lastCanvasCursorRef.current;d&&s({viewportPoint:d,passThrough:!1,stopPropagation:()=>{}})})},[s,e.lastCanvasCursorRef,e.subjectRegistry]);let c=U(()=>!!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 I0({...e,isManipulating:c,handleAnnotationPointerMove:n,handleHandPointerMove:t,handleTargetPointerMove:s})}function j0({annotationGroupMap:e,canvasRef:t,currentPathname:n,cursorPosRef:r,dispatch:o,domDragRef:i,dragState:a,gapDragRef:l,gapDragging:s,getPoint:c,handDragRef:d,handDragging:p,lastPositionedTextId:u,radiusDragRef:f,radiusDragging:m,resizeState:g,setActiveText:y,setDomDropPreview:x,setDragState:L,setGapDragging:A,setHandDragging:S,setRadiusDragging:O,setResizeState:M,setSendHintAnchorId:X,setTextDragging:Z,textDragRef:N,textDragging:V}){return U(J=>{if(i.current.isDragging){let z=i.current,$=c(J),H=ym({drag:z,clientX:$.x-window.scrollX,clientY:$.y-window.scrollY,pathname:n,createId:vm,rootElement:t.current});H&&o({type:"MODIFY_DOM_STRUCTURE",payload:H}),i.current=vc(),x(null);return}if(N.current.isDragging){let z=Lw(N.current,V);z&&o({type:"MODIFY_STYLES_BATCH",payload:z}),N.current=Fp(),Z(null);return}if(l.current.isDragging){let z="button"in J&&J.button===2,$=Pw(l.current,s,z);$&&o({type:"MODIFY_STYLES_BATCH",payload:$}),l.current=Np(),A(null);return}if(f.current.isDragging){let z=jw(f.current,m);z&&o({type:"MODIFY_STYLES_BATCH",payload:z}),f.current=_p(),O(null);return}if(d.current.isDragging){let z=$w(d.current,p);z&&o({type:"MODIFY_STYLES_BATCH",payload:z}),d.current=Op(),S(null);return}if(g){M(null);return}if(!a)return;let k=e.get(a.annotation.id),K=t.current?.getContext("2d"),ee=0;k!==void 0&&K&&(K.font=`${a.annotation.fontSize||12}px ${Sn}`,ee=K.measureText(`${k}. `).width);let j=Wb({session:a,clickPoint:c(J),groupLabelWidth:ee});j&&(u.current=null,r.current=null,X(a.annotation.id),j.color&&o({type:"SET_COLOR",payload:j.color}),y(j.activeText)),L(null)},[e,t,n,r,o,i,a,l,s,c,d,p,u,f,m,g,y,x,L,A,S,O,M,X,Z,N,V])}var $0=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 z0({activeTool:e,isAnnotating:t,clearStickerPreview:n,dispatch:r,setStickerCursor:o,startCursorSwitchPulse:i}){let a=q(new $0),l=q(null);return{handleShakePointerMove:U(({isManipulating:s,isTouchEvent:c,viewportPoint:d})=>{if(c||s||!t||e!=="inspector"&&e!=="sticker"||!a.current.push({...d,time:performance.now()}))return!1;let p=e==="sticker"?"inspector":"sticker";return l.current={from:e,to:p},i(p),p==="sticker"?o(d):n(),r({type:"SET_TOOL",payload:p}),!0},[e,n,r,t,o,i]),pendingShakeToolTransitionRef:l}}function Zp(e){return Math.random().toString(36).substring(2,e+2)}function D0(e,t,n,r={}){let{textNode:o,targetElement:i,textNodePath:a,segments:l,originalText:s,rect:c,boundaryRect:d,boundaryRects:p,flowRect:u,firstLineIndent:f,styles:m,fontSize:g,wrapsText:y}=e,x=i.getAttribute("data-pm");x||(x=r.createPmId?.()??Zp(6),i.setAttribute("data-pm",x));let L=`[data-pm="${x}"]`;return{id:r.createEditId?.()??Zp(7),point:{x:c.left+n.x,y:c.top+n.y},text:s,fontSize:g,isNew:!0,clickPoint:t,domEdit:{selector:L,durableSelector:Ro(i),element:{...sn(i),selector:L},textNodePath:a,originalText:s,textNode:o,targetElement:i,segments:l,rect:c,boundaryRect:d,boundaryRects:p,flowRect:u,firstLineIndent:f,fontFamily:m.fontFamily,fontWeight:m.fontWeight,fontStyle:m.fontStyle,lineHeight:m.lineHeight==="normal"?`${Math.round(g*1.2*10)/10}px`:m.lineHeight,letterSpacing:m.letterSpacing,color:m.color,textTransform:m.textTransform,textAlign:m.textAlign,wordSpacing:m.wordSpacing,textDecoration:m.textDecoration,textShadow:m.textShadow,whiteSpace:m.whiteSpace,wordBreak:m.wordBreak,overflowWrap:m.overflowWrap,wrapsText:y}}}function H0(e){let t=Cm(e.clientX,e.clientY,e.canvas);return t?D0(t,e.clickPoint,e.scroll):null}function O0({activeText:e,activeTextRef:t,canvasRef:n,clearPageElementHover:r,clearSelection:o,clearSignal:i,commentTextEditCandidateRef:a,cursorPosRef:l,dispatch:s,findTextAtPoint:c,lastPositionedTextId:d,onAttachImages:p,onCloseThread:u,onSend:f,pendingLinkedText:m,releaseActiveTextAttachments:g,setActiveText:y,setDragState:x,setHoveredTextId:L,setPendingLinkedText:A,setSendHintAnchorId:S,state:O,stateRef:M}){_(()=>{m&&(y({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}),A(null))},[m,y,A]),_(()=>{let ee=j=>{if(e)return;let z=c({x:j.clientX+window.scrollX,y:j.clientY+window.scrollY});L(z?.id??null)};return window.addEventListener("mousemove",ee),()=>window.removeEventListener("mousemove",ee)},[e,c,L]);let X=U(()=>{if(!e)return;if(e.domEdit){y(null);return}let ee=Yb(e);ee.sendHintAnchorId&&S(ee.sendHintAnchorId),ee.action&&s(ee.action),ee.attachedImages&&p&&p(ee.attachedImages.annotationId,ee.attachedImages.images),y(null)},[e,s,p,y,S]),Z=U(ee=>{let j=M.current.annotations.find($=>$.id===ee);if(!j||j.type!=="text"||!j.points[0]||(j.status??"pending")!=="pending")return;let z=t.current;z&&z.id!==j.id&&X(),o(),r(),d.current=null,l.current=j.text?.length??0,S(j.id),j.color&&s({type:"SET_COLOR",payload:j.color}),y({id:j.id,point:j.points[0],text:j.text||"",fontSize:j.fontSize||12,isNew:!1,groupId:j.groupId,linkedSelector:j.linkedSelector,target:j.target,linkedAnchor:j.linkedAnchor,elements:j.elements,attachments:j.attachments,interactionEpisode:j.interactionEpisode})},[t,r,o,X,l,s,d,y,S,M]),N=q(!1),V=U(()=>{if(!f)return;let ee=t.current;if(fm(ee?{text:ee.text,originalText:ee.domEdit?.originalText,hasInteractionEpisode:!!ee.interactionEpisode?.steps.length}:null)){N.current=!0,X();return}f()},[t,X,f]);_(()=>{e||!N.current||(N.current=!1,f?.())},[e,f,O.annotations,O.textModifications]);let J=q(i);_(()=>{if(i===J.current)return;J.current=i;let ee=t.current;ee?.domEdit&&ee.domEdit.segments.forEach(z=>{z.textNode.nodeValue=z.originalText});let j=ee?.isNew?ee.attachments??[]:[];g(j),N.current=!1,y(null),A(null),S(null),x(null),l.current=null,d.current=null,fs(localStorage)},[t,i,l,d,g,y,x,A,S]);let k=U((ee,j,z)=>H0({clientX:ee,clientY:j,clickPoint:z,canvas:n.current,scroll:{x:window.scrollX,y:window.scrollY}}),[n]),K=U(ee=>{u?.(),A(null),x(null),S(null),o(),r(),d.current=null,y(ee)},[r,o,d,u,y,x,A,S]);return _(()=>{let ee=$=>{if($.button!==0)return;let H=M.current,D=a.current;if(!H.isAnnotating||H.activeTool!=="inspector"||!D)return;let C=Date.now()>D.expiresAt,ne=Math.hypot($.clientX-D.clientX,$.clientY-D.clientY)>12,oe=D.edit.domEdit;if(C||ne||!oe?.textNode.isConnected||!oe.targetElement.isConnected){a.current=null;return}$.preventDefault(),$.stopPropagation(),a.current=null,K(D.edit)},j=$=>{$.detail===2&&ee($)},z=$=>{ee($)};return window.addEventListener("mousedown",j,!0),window.addEventListener("dblclick",z,!0),()=>{window.removeEventListener("mousedown",j,!0),window.removeEventListener("dblclick",z,!0)}},[a,K,M]),{commitActiveText:X,createInlineTextEdit:k,editPendingLinkedComment:Z,handleSendPendingBundle:V}}function N0(e,t){let n=$r(Oi),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:c,rect:d,boundaryRect:p,boundaryRects:u,flowRect:f,firstLineIndent:m}=a.domEdit;if(!l.isConnected||!s.isConnected)return a;let g=Em(c,s,window.getComputedStyle(s)),{textRect:y,boundaryRect:x,boundaryRects:L,flowRect:A,firstLineIndent:S}=g;return Nc(d,y)&&Nc(p,x)&&Tm(u,L)&&Am(f,A)&&Math.abs(m-S)<.5?a:{...a,point:{x:y.left+window.scrollX,y:y.top+window.scrollY},domEdit:{...a.domEdit,rect:y,boundaryRect:x,boundaryRects:L,flowRect:A,firstLineIndent:S}}}),o=window.requestAnimationFrame(i)};return o=window.requestAnimationFrame(i),()=>{o!==null&&window.cancelAnimationFrame(o)}},[n,r,t])}function _0({activeText:e,activeTextRef:t,canvasRef:n,visible:r}){let o=$r(Oi),i=q(null),[a,l]=P(null),s=q(null),c=q(null),d=e?.id??null;return Tt(()=>{if(!o)return;let p=i.current,u=e?.domEdit;if(!p||!e||!u){l(null);return}let f=u.flowRect??u.rect,m=Math.max(1,window.innerWidth-f.left),g=Math.min(m,Math.max(1,f.width));p.style.width=`${u.wrapsText?g:1}px`,p.style.height="1px";let y=u.wrapsText?g:Math.min(m,Math.max(g,Math.ceil(p.scrollWidth)));p.style.width=`${y}px`;let x=Math.max(f.height,Math.ceil(p.scrollHeight));p.style.height=`${x}px`,l(L=>L?.id===e.id&&Math.abs(L.width-y)<.5&&Math.abs(L.height-x)<.5?L:{id:e.id,width:y,height:x})},[e,o]),_(()=>{if(!o)return;if(!d){s.current=null,c.current=null;return}if(!r||!i.current){s.current=null;return}let p=requestAnimationFrame(()=>{let u=i.current;if(!u||(u.focus(),s.current===d))return;s.current=d;let f=t.current;if(f){if(f.domEdit){u.setSelectionRange(0,u.value.length);return}if(c.current!==null){let m=Math.min(c.current,u.value.length);u.setSelectionRange(m,m);return}if(!f.isNew&&f.clickPoint){let m=n.current?.getContext("2d");if(!m)return;m.font=`${f.fontSize}px ${Sn}`;let g=Vb({text:f.text,fontSize:f.fontSize,point:f.point,clickPoint:f.clickPoint,context:m});u.setSelectionRange(g,g)}}});return()=>cancelAnimationFrame(p)},[d,t,n,r,o]),{cursorPosRef:c,domEditInputSize:a,inputRef:i,lastPositionedTextId:s}}var bd=["flex-start","center","flex-end"],wd=["flex-start","center","flex-end"],F0=300,eh=20;function W0({enabled:e,dispatch:t,handCursorRef:n,setGapRefreshKey:r}){let[o,i]=P(null),a=U(()=>i(null),[]);return _(()=>{let l=null,s=!1,c=null,d=null,p=null,u=null,f=0,m=(N,V)=>{let J=_i(N,V);for(;J&&J!==document.documentElement;){let k=window.getComputedStyle(J).display;if(k==="flex"||k==="inline-flex")return J;J=J.parentElement}return null},g=N=>{let V=window.getComputedStyle(N).flexDirection;return V==="column"||V==="column-reverse"?"vertical":"horizontal"},y=N=>{let V=N.getAttribute("data-pm");return V||(V=Math.random().toString(36).substring(2,8),N.setAttribute("data-pm",V)),{selector:`[data-pm="${V}"]`,durableSelector:Ro(N)}},x=()=>{s=!0,l&&clearTimeout(l),l=setTimeout(()=>{s=!1,l=null},F0)},L=(N,V,J)=>{let k=g(N);if(V===k){let K=window.getComputedStyle(N).justifyContent,ee=K==="normal"||K==="flex-start"||K==="start"?"flex-start":K==="flex-end"||K==="end"?"flex-end":K==="center"?"center":null;if(!ee)return;let j=bd.indexOf(ee)+J;if(j<0||j>=bd.length)return;let z=bd[j],{selector:$,durableSelector:H}=y(N);ot(N,"justify-content",z),t({type:"MODIFY_STYLES_BATCH",payload:{selector:$,durableSelector:H,element:sn(N),changes:[{property:"justify-content",original:K,modified:z}]}})}else{let K=window.getComputedStyle(N).flexDirection,ee=k==="horizontal"?"column":"row",{selector:j,durableSelector:z}=y(N);ot(N,"flex-direction",ee),t({type:"MODIFY_STYLES_BATCH",payload:{selector:j,durableSelector:z,element:sn(N),changes:[{property:"flex-direction",original:K,modified:ee}]}})}r(K=>K+1)},A=(N,V,J)=>{let k=g(N)==="horizontal"?"vertical":"horizontal";if(V!==k)return;let K=window.getComputedStyle(N).alignItems,ee=K==="normal"||K==="stretch"||K==="flex-start"||K==="start"?"flex-start":K==="flex-end"||K==="end"?"flex-end":K==="center"?"center":null;if(!ee)return;let j=wd.indexOf(ee)+J;if(j<0||j>=wd.length)return;let z=wd[j],{selector:$,durableSelector:H}=y(N);ot(N,"align-items",z),t({type:"MODIFY_STYLES_BATCH",payload:{selector:$,durableSelector:H,element:sn(N),changes:[{property:"align-items",original:K,modified:z}]}}),r(D=>D+1)},S=(N,V,J)=>{let k=m(V,J);i(k?{modifier:N,target:k}:null)},O=()=>{p=null,u=null,f=0,c=null,d=null,i(null)},M=N=>{if(!e)return;let V=n.current;N.key==="Shift"&&!N.altKey?S("shift",V.x,V.y):N.key==="Alt"&&!N.shiftKey&&S("alt",V.x,V.y)},X=N=>{if(!e)return;let V=N.shiftKey&&!N.altKey,J=N.altKey&&!N.shiftKey;if(!V&&!J||N.buttons!==0){O();return}if(c===null&&(c=N.clientX,d=N.clientY,S(V?"shift":"alt",N.clientX,N.clientY)),s)return;p===null&&(p=N.clientX,u=N.clientY,f=0);let k=N.clientX-p,K=N.clientY-u,ee=Math.abs(k)>=Math.abs(K)?k:K;if(Math.abs(ee)>3){let H=ee>0?1:-1;if(f!==0&&H!==f){p=N.clientX,u=N.clientY,f=0;return}f=H}if(Math.abs(k)<eh&&Math.abs(K)<eh)return;let j=m(c,d);if(!j)return;let z=Math.abs(k)>=Math.abs(K)?"horizontal":"vertical",$=(z==="horizontal"?k:K)>0?1:-1;p=null,u=null,f=0,V?L(j,z,$):A(j,z,$),x()},Z=N=>{(N.key==="Shift"||N.key==="Alt")&&O()};return window.addEventListener("keydown",M),window.addEventListener("mousemove",X),window.addEventListener("mousedown",O),window.addEventListener("keyup",Z),()=>{window.removeEventListener("keydown",M),window.removeEventListener("mousemove",X),window.removeEventListener("mousedown",O),window.removeEventListener("keyup",Z),l&&clearTimeout(l)}},[t,e,n,r]),{swipeHint:o,clearSwipeHint:a}}function J0(e,t,n){let{destination:r,mode:o,scope:i}=t;if(o==="preview"&&i.kind!=="values"){let u=r.family,f=r.subproperty??Ss(u,e.subproperty);return{next:{family:u,subproperty:f,step:ua(u,e.step,f),stage:i.kind==="colors"?"variant":"family"},pulseContextLabel:!1}}let a=r.family,l=r.step!==void 0,s=Is(a),c=!l&&ui(a,r.subproperty??"all")?n.readColor(s):null,d=r.subproperty??Ss(a,e.subproperty);a==="color"&&r.stage==="family"&&(d=c?.name??Pr.name),(a==="border"||a==="text")&&r.subproperty==="color"&&(d=c?.name??Pr.name);let p=l?null:c?c.name===d?c.step:ks:n.readStep(a,d);return{next:{family:a,subproperty:d,step:r.step??p??ua(a,e.step,d),stage:r.stage},pulseContextLabel:r.stage!=="family"}}function xd(e){if(e.kind==="colors")return"variant";if(e.kind==="values")return"value"}function B0(e){return e.stage==="variant"&&ui(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}:pd}function q0(e,t,n,r=!1){if(!e)return n!==" "?{handled:!1,session:e}:r?{handled:!0,session:e}:{handled:!0,session:{query:"",segments:[],scope:B0(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=hd(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=ka(e.scope,e.query);return i?.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:xd(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()?ka(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:xd(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=ka(e.scope,e.query);return i?i.nextScope?{handled:!0,destination:{mode:"navigate",scope:e.scope,value:i.destination},stage:xd(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=hd(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 Y0(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=Lm(e.family,i),l=a==="color"?Pr.name:Ss(a,e.subproperty);return{handled:!0,next:{family:a,subproperty:l,step:a==="color"?Pr.step:ua(a,e.step,l),stage:e.stage}}}return e.stage==="variant"&&ui(e.family,e.subproperty)?{handled:!0,next:{...e,subproperty:Pm(e.subproperty,i),step:ks}}:{handled:!0,next:{...e,step:jm(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=$m(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:ks}};let l=n.readColor(Is(e.family));return{handled:!0,next:{...e,subproperty:l?.name??Pr.name,step:l?.step??Pr.step,stage:Fc(e.stage,e.family,a)}}}return{handled:!0,next:{...e,subproperty:a,step:n.readStep(e.family,a)??ua(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??Pr.name,step:i?.step??Pr.step,stage:"variant"}}}if((e.family==="text"||e.family==="border")&&e.subproperty==="color"){let i=n.readColor(Is(e.family));return{handled:!0,next:{...e,subproperty:i?.name??Pr.name,step:i?.step??Pr.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:ua(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:ui(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"&&ui(e.family,e.subproperty)?"variant":"family"}}:{handled:!1,next:e}}function U0({active:e,family:t,step:n,subproperty:r,stage:o,query:i,setFamily:a,setStep:l,setSubproperty:s,setStage:c,setQuery:d,setCursor:p,setContextLabelPulse:u,setDepthSnapPulse:f,setRejectPulse:m,lastCursorRef:g,toolbarRef:y,previewRef:x,applyStickerRef:L,readColor:A,readStep:S}){_(()=>{if(!e)return;g.current&&p(g.current);let O=M=>{let X=M.composedPath?.()[0]??M.target;if(X?.tagName==="INPUT"||X?.tagName==="TEXTAREA"||X?.isContentEditable||X&&y?.current?.contains(X)||M.metaKey||M.ctrlKey||M.altKey)return;let Z={family:t,step:n,subproperty:r,stage:o},N=K=>{a(K.family),l(K.step),s(K.subproperty),c(K.stage)},V=K=>{let ee=J0(Z,K,{readColor:A,readStep:S});return N(ee.next),ee.pulseContextLabel&&u(j=>j+1),ee.next},J=q0(i,Z,M.key,M.repeat);if(J.replayAsSteering&&(d(null),f(K=>K+1)),J.handled){M.preventDefault(),M.stopPropagation(),J.restore&&N(J.restore);let K=J.destination?V({mode:J.destination.mode,scope:J.destination.scope,destination:J.destination.value}):void 0;if(J.stage&&c(J.stage),J.command==="reject"&&m(ee=>ee+1),J.command==="apply"){let ee=x.current?.element,j=K?{family:K.family,step:K.step,subproperty:K.subproperty}:void 0;ee&&L.current(ee,j)?d(null):(d(J.session),ee||m(z=>z+1));return}d(J.session);return}let k=Y0(J.replayAsSteering&&J.restore?J.restore:Z,M.key,{readColor:A,readStep:S});if(k.handled&&(M.preventDefault(),k.stopPropagation&&M.stopPropagation(),a(k.next.family),l(k.next.step),s(k.next.subproperty),c(k.next.stage),k.command==="apply")){let K=x.current?.element;K?L.current(K):m(ee=>ee+1)}};return window.addEventListener("keydown",O,!0),()=>window.removeEventListener("keydown",O,!0)},[e,L,t,g,x,i,A,S,u,p,f,a,d,m,c,l,s,o,n,r,y])}function X0(e,t,n,r){let{deltaX:o,deltaY:i}=t;if(e.transformKind==="translate"&&e.startTranslate){let p=Xv({x:o,y:i},r),u=so("translate",e.startTranslate.x+p.x),f=so("translate",e.startTranslate.y+p.y),m=Math.abs(p.x)>=Math.abs(p.y)?u:f;return{subproperty:"translate",step:m,drag:{...e,subproperty:"translate",step:m,translateSteps:{x:u,y:f},translateValue:`${Number(u)*4}px ${Number(f)*4}px`,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}let a=e.vector?Qv(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),c=e.side?ed(e.side,n):e.corner?td(e.corner,n):e.subproperty,d=e.transformKind?so(e.transformKind,s):El(e.family,c,s);return{subproperty:c,step:d,drag:{...e,subproperty:c,step:d,hasMoved:e.hasMoved||Math.abs(o)>2||Math.abs(i)>2,cursor:t.cursor,deltaX:o,deltaY:i}}}function K0(){let[e,t]=P(null),n=q(e);n.current=e;let r=q(null),o=U(c=>{let d=c.requestPointerLock;if(typeof d=="function"){r.current=c;try{let p=d.call(c);p&&p.catch(()=>{r.current===c&&(r.current=null)})}catch{r.current=null}}},[]),i=U((c,d)=>{n.current=c,t(c),o(d)},[o]),a=U(c=>{n.current=c,t(c)},[]),l=U(()=>{n.current=null,t(null)},[]),s=U(()=>{let c=r.current;r.current=null,c&&document.pointerLockElement===c&&document.exitPointerLock()},[]);return{drag:e,dragRef:n,pointerLockElementRef:r,startDrag:i,replaceDrag:a,clearDrag:l,releasePointerLock:s}}function V0(e,t){let n=q(t);n.current=t;let{dragRef:r,pointerLockElementRef:o,replaceDrag:i,clearDrag:a,releasePointerLock:l}=e;_(()=>{let s=(g,y)=>{let x=r.current;if(!x)return;let L=o.current,A=L!==null&&document.pointerLockElement===L?Zv(x,{x:g.movementX,y:g.movementY},{width:window.innerWidth,height:window.innerHeight}):{cursor:{x:g.clientX,y:g.clientY},deltaX:g.clientX-x.startX,deltaY:g.clientY-x.startY},S=X0(x,A,y,g.shiftKey);n.current.onSelectionChange(S.subproperty,S.step),i(S.drag),n.current.onCursorChange(A.cursor)},c=()=>{n.current.onCancel(),a(),l()},d=(g,y)=>{let x=r.current;if(!x)return;let L=x.side?ed(x.side,g):x.corner?td(x.corner,g):x.subproperty;x.hasMoved&&n.current.onCommit(x,L,y),a(),l()},p=g=>{r.current&&(g.preventDefault(),s(g,g.altKey||g.ctrlKey))},u=g=>{r.current&&(g.preventDefault(),d(g.altKey||g.ctrlKey,{x:g.clientX,y:g.clientY}))},f=g=>{g.key!=="Escape"||!r.current||(g.preventDefault(),g.stopPropagation(),c())},m=()=>{let g=o.current;g&&document.pointerLockElement!==g&&r.current&&c()};return window.addEventListener("pointermove",p,{passive:!1}),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",c),window.addEventListener("keydown",f,!0),document.addEventListener("pointerlockchange",m),()=>{window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",c),window.removeEventListener("keydown",f,!0),document.removeEventListener("pointerlockchange",m),l()}},[a,r,o,l,i])}function G0({applyStickerRef:e,clearStickerPreview:t,dispatch:n,hoveredElement:r,lastCanvasCursorRef:o,setHoveredElement:i,setHoveredElementInfo:a,setStickerApplyPulse:l,setStickerCursor:s,setStickerRejectPulse:c,setStickerStep:d,setStickerSubproperty:p,stickerFamily:u,stickerStep:f,stickerSubproperty:m,transformDragHandoffRef:g,transformPreviewSuppressionRef:y,transformPreviewTargetRef:x}){let L=K0(),{drag:A,dragRef:S,startDrag:O}=L,M=U((j,z)=>{if(io(j))return c(G=>G+1),!1;t();let $=z?.family??u,H=z?.step??f,D=z?.subproperty??m;if(!yl(j,$,D))return c(G=>G+1),!1;let C=$==="transform"&&D==="translate"&&z?.axisSteps?_u(j,z.axisSteps.x,z.axisSteps.y):Nu(j,$,H,D);if(C.alreadyApplied)return c(G=>G+1),!1;let ne=ys(j),oe=Ro(j);return zy(j,C),n({type:"MODIFY_STYLES_BATCH",payload:{selector:ne,durableSelector:oe,element:{...sn(j),selector:oe},changes:C.changes}}),l(G=>G+1),!0},[t,n,l,c,u,f,m]);e.current=M;let X=U((j,z,$)=>{if(!(r instanceof HTMLElement))return;$.preventDefault(),$.stopPropagation(),$.currentTarget.setPointerCapture($.pointerId),t();let H=j==="margin"?Zc(r):fa(r),D=z==="left"||z==="right"?"x":"y",C=ed(z,$.altKey||$.ctrlKey),ne=j==="margin",oe=z==="top"||z==="left"?ne?-1:1:ne?1:-1,G=El(j,C,H[z]);p(C),d(G),O({element:r,family:j,subproperty:C,startX:$.clientX,startY:$.clientY,startPixels:H[z],deltaX:0,deltaY:0,direction:oe,axis:D,step:G,hasMoved:!1,side:z,cursor:{x:$.clientX,y:$.clientY}},$.currentTarget)},[t,r,d,p,O]),Z=U((j,z)=>{if(!(r instanceof HTMLElement)||u!=="stack"&&u!=="grid")return;z.preventDefault(),z.stopPropagation(),z.currentTarget.setPointerCapture(z.pointerId),t();let $=rl(r),H=j==="row"?$.row:$.column,D=El(u,"gap",H);p("gap"),d(D),O({element:r,family:u,subproperty:"gap",startX:z.clientX,startY:z.clientY,startPixels:H,deltaX:0,deltaY:0,direction:1,axis:j==="row"?"y":"x",step:D,hasMoved:!1,gapAxis:j,cursor:{x:z.clientX,y:z.clientY}},z.currentTarget)},[t,r,d,p,O,u]),N=U((j,z)=>{if(!(r instanceof HTMLElement))return;z.preventDefault(),z.stopPropagation(),z.currentTarget.setPointerCapture(z.pointerId),t();let $=td(j,z.altKey||z.ctrlKey),H=Ni(r)[j],D=El("radius",$,H);p($),d(D),O({element:r,family:"radius",subproperty:$,startX:z.clientX,startY:z.clientY,startPixels:H,deltaX:0,deltaY:0,vector:nd(j),step:D,hasMoved:!1,corner:j,cursor:{x:z.clientX,y:z.clientY}},z.currentTarget)},[t,r,d,p,O]),V=U((j,z,$,H)=>{if(!jr(r))return;$.preventDefault(),$.stopPropagation(),$.currentTarget.setPointerCapture($.pointerId);let D=window.getComputedStyle(r).getPropertyValue(j).trim(),C=j==="translate"?up(D):void 0,ne=j==="scale"?(Number.parseFloat(D)||1)*100:j==="translate"?C.x:Number.parseFloat(D)||0,oe=so(j,ne),G=ba(r),ce=qi(r,G),F=j==="scale"&&z?Yv(ce,z):j==="rotate"?Uv(ce,H??dp(ce,20).side):void 0,Se=C?{x:so("translate",C.x),y:so("translate",C.y)}:void 0;y.current=null,g.current=null,t(),p(j),d(oe),O({element:r,family:"transform",subproperty:j,startX:$.clientX,startY:$.clientY,startPixels:ne,deltaX:0,deltaY:0,direction:1,vector:F,step:oe,hasMoved:!1,transformKind:j,transformCorner:z??void 0,startTranslate:C,translateSteps:Se,translateValue:C?`${C.x}px ${C.y}px`:void 0,ghostQuad:ce,cursor:{x:$.clientX,y:$.clientY}},$.currentTarget)},[t,r,d,p,O,g,y]),J=U((j,z)=>{p(j),d(z)},[d,p]),k=U(j=>{o.current=j,s(j)},[o,s]),K=U((j,z,$)=>{e.current(j.element,{family:j.family,step:j.step,subproperty:z,axisSteps:j.translateSteps}),j.family==="transform"&&(y.current={element:j.element,subproperty:j.subproperty,step:j.step},g.current={element:j.element,releasePoint:$},x.current=null,i(j.element),a(sn(j.element)))},[e,i,a,g,y,x]),ee=U(()=>{t(),y.current=null,g.current=null},[t,g,y]);return V0(L,{onSelectionChange:J,onCursorChange:k,onCommit:K,onCancel:ee}),{applySticker:M,beginSteerGapDrag:Z,beginSteerRadiusDrag:N,beginSteerSpacingDrag:X,beginSteerTransformDrag:V,steerDrag:A,steerDragRef:S}}function Q0(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 Z0(e){return e instanceof Element&&e.closest("[data-popmelt-steer-overlay]")!==null}function th(e){return e instanceof Element&&e.closest("[data-popmelt-subject-label-action]")!==null}var nh=8,Sd=-.5,Do="__active_text_send_hint__",ex=4;function tx({historyPreview:e,bridgeUrl:t,steeringContextStorageKey:n,state:r,dispatch:o,onScreenshot:i,inFlightAnnotationIds:a,inFlightOrientationLabels:l,waitingApprovalJobIds:s,activeAnnotationIds:c,queuePositionMap:d,inFlightStyleSelectors:p,inFlightStyleSelectorJobIds:u,inFlightSelectorColors:f,modifiedElementThreadStates:m,dismissedThreadIds:g,onAttachImages:y,onRemoveImages:x,onCaptureInteractionFrame:L,onSend:A,onViewThread:S,onCloseThread:O,onArchiveThread:M,onDeleteSubmittedAnnotation:X,highlightedAnnotationIds:Z,cycleFocusedAnnotationIds:N,onCanvasInteraction:V,focusedThreadAnnotationId:J,openThreadId:k,hasOpenThread:K=!1,externalCanvasRef:ee,toolbarRef:j,threadPanelElement:z,clearSignal:$=0,subjectRegistry:H,subjectRegistryReady:D=!0,onFocusTargetChange:C,onFocusActivity:ne}){let oe=$r(Oi),{canvasRef:G,redrawAll:ce,resizeCanvas:F}=Ff(),[Se,ie]=P(null),[re,Te]=P(0),[je,Oe]=P(0),Y=U(()=>Oe(b=>b+1),[]),be=cs(),Le=U(b=>{G.current=b,ee&&(ee.current=b),ie(E=>E===b?E:b)},[ee,G]);Tt(()=>{if(!H||!D)return;let b=!1;for(let E of r.annotations)E.target&&(b=!0,!H.resolve(E.target)&&E.elements?.[0]&&H.restore(E.target,E.elements[0]));b&&Te(E=>E+1)},[r.annotations,H,D]);let He=q(null),et=q(0),[it,me]=P(null),he=U(()=>{let b=He.current;He.current=null,me(null),b&&(b.session.cancel(),b.captureTarget.hasPointerCapture(b.pointerId)&&b.captureTarget.releasePointerCapture(b.pointerId))},[]),Je=q(!1),[qe,st]=P(!1),Ve=q(null),Ie=q(null),[Ue,mt]=P(!1),_t=q(Promise.resolve()),[yt,We]=P(0),[pt,kn]=P(null),Kt=U(()=>{if(!L)return Promise.resolve(null);let b=_t.current.then(async()=>(await new Promise(E=>window.requestAnimationFrame(()=>E())),L()));return _t.current=b.catch(()=>null),b},[L]),In=q(r.activeTool),Ft=q(null),Ne=q(null),ht=U(()=>{Ve.current?.cancel(),Ve.current=null,Ie.current=null,Je.current=!1,Ft.current=null,Ne.current=null,st(!1),mt(!1),We(0),kn(null)},[]),dt=U(()=>{he(),Je.current=!0,In.current=r.activeTool,st(!0)},[he,r.activeTool]);_(()=>{Je.current&&r.activeTool!==In.current&&ht()},[ht,r.activeTool]),_(()=>{(!r.isAnnotating||r.activeTool!=="inspector")&&he()},[he,r.activeTool,r.isAnnotating]),_(()=>()=>{let b=He.current;He.current=null,b?.session.cancel()},[]);let{activeText:v,setActiveText:le,handleTextPaste:ye,removeActiveTextAttachment:Xe,releaseActiveTextAttachments:bt}=pv({bridgeUrl:t,annotations:r.annotations}),[$e,xt]=P(null),[Ge,gt]=P(null),[ve,Pe]=P(null),[at,vt]=P(0),lt=q(null),Ke=q(null),en=q(null),[Be,Dn]=P(null),[vn,Bt]=P(null),tn=q(void 0);tn.current===void 0&&(tn.current=n&&typeof window<"u"?Fw(window.localStorage,n):null);let cr=tn.current,[wt,Hn]=P(()=>cr?.family??"padding"),[nn,Gn]=P(()=>cr?.step??4),[qt,Nr]=P(()=>cr?.subproperty??"all"),[Vt,Qn]=P(()=>cr?.stage??"family"),[po,dn]=P(null);Q0(Ke,Ue?kn:r.isAnnotating&&r.activeTool==="sticker"?dn:void 0);let[On,an]=P(null),At=U(b=>{an({id:performance.now(),nativeReady:!1,tool:b})},[]),[zt,Yt]=P(0),[ur,Nn]=P(0),[_n,_r]=P(0),[yi,Wt]=P(0),[bn,Fr]=P(!1),[Fn,En]=P(0),[cn,pr]=P(()=>cr?.query??null);_(()=>{!n||typeof window>"u"||Ww(window.localStorage,n,{family:wt,step:nn,subproperty:qt,stage:Vt,query:cn})},[n,wt,cn,Vt,nn,qt]);let jt=q(r.activeTool),Fo=q(!1),vi=q(()=>!1),Dt=q(null),ze=q(null),Zn=q(r.styleModifications),Ht=q(null),un=q(null),Tn=q(null),hr=q(null),pn=U(()=>{hr.current!==null&&(cancelAnimationFrame(hr.current),hr.current=null)},[]),Ut=U(()=>{if(pn(),!oe)return;let b=performance.now()+qp,E=()=>{Kw(Dt.current);let te=Ht.current;te&&Dt.current?.element===te.element&&(te.renderedQuad=qi(te.element,te.layoutQuad)),En(de=>de+1),performance.now()<b?hr.current=requestAnimationFrame(E):hr.current=null};hr.current=requestAnimationFrame(E)},[pn,oe]);_(()=>(oe?Dt.current&&Ut():pn(),pn),[oe,Ut,pn]);let Ct=U(()=>{pn();let b=Dt.current;b&&(Ia(b),Dt.current=null,ze.current=null,En(E=>E+1))},[pn]),{handleShakePointerMove:hn,pendingShakeToolTransitionRef:Wr}=z0({activeTool:r.activeTool,isAnnotating:r.isAnnotating,clearStickerPreview:Ct,dispatch:o,setStickerCursor:dn,startCursorSwitchPulse:At});Tt(()=>{let b=Zn.current,E=r.styleModifications;Zn.current=E,!(b===E||!Dt.current)&&(pn(),Xw(Dt.current,b,E),Dt.current=null,ze.current=null,Ht.current=null,En(te=>te+1))},[r.styleModifications,pn]),Tt(()=>{Yp(r.activeTool,r.isAnnotating)&&(Ct(),un.current=null,Tn.current=null)},[Ct,r.activeTool,r.isAnnotating]);let ft=U(()=>{Qn("family"),dn(null),pr(null)},[]);Tt(()=>{let b=jt.current,E=r.activeTool,te=Wr.current,de=te?.from===b&&te.to===E;Wr.current=null,jt.current=E;let ke=Jw(b,E,de,Fo.current);Fo.current=ke.preservedAway,ke.shouldReset&&ft()},[Wr,ft,r.activeTool]),Tt(()=>{r.isAnnotating||(Fo.current=!1,ft())},[ft,r.isAnnotating]);let wn=U((b,E)=>{if(Ct(),!Be)return null;let te=window.getComputedStyle(Be),de=Wf(b,E).map(ke=>te.getPropertyValue(ke));return Jf(b,de,E)},[Ct,Be]),Wo=U(b=>(Ct(),Be?Bf(window.getComputedStyle(Be).getPropertyValue(b)):null),[Ct,Be]);U0({active:r.activeTool==="sticker"&&r.isAnnotating,family:wt,step:nn,subproperty:qt,stage:Vt,query:cn,setFamily:Hn,setStep:Gn,setSubproperty:Nr,setStage:Qn,setQuery:pr,setCursor:dn,setContextLabelPulse:Nn,setDepthSnapPulse:_r,setRejectPulse:Wt,lastCursorRef:Ke,toolbarRef:j,previewRef:Dt,applyStickerRef:vi,readColor:Wo,readStep:wn});let[An,Jr]=P(null),[Cn,Br]=P(null),[fr,ho]=P(null),[Wn,qr]=P(!1),rn=q(Op()),er=q(vc()),[mr,bi]=P(null),[fo,mo]=P(null),[R,W]=P(null),[ge,Ae]=P(null),Ee=q({x:0,y:0}),[De,tt]=P({x:0,y:0}),nt=q(Np()),[Re,Qt]=P(null),[Yr,gr]=P(null),[yr,vr]=P(null),[br,La]=P(!1),[Yl,Ul]=P(0),{swipeHint:Xl,clearSwipeHint:wi}=W0({enabled:r.activeTool==="hand"&&r.isAnnotating,dispatch:o,handCursorRef:Ee,setGapRefreshKey:Ul}),go=q(_p()),[yo,xi]=P(null),[xn,Si]=P(null),[tr,vo]=P(null),bo=q(Fp()),[wr,ta]=P(null),[ki,na]=P(null),[Ur,Ii]=P(null),Kl=wv(),Pa=q(f);Pa.current=f;let Jo=U(b=>{let E=Pa.current;if(!E||E.size===0)return!1;for(let te of E.keys())try{if(b.matches(te))return!0}catch{}return!1},[]),{applySticker:ja,beginSteerGapDrag:$a,beginSteerRadiusDrag:It,beginSteerSpacingDrag:za,beginSteerTransformDrag:Da,steerDrag:nr,steerDragRef:Vl}=G0({applyStickerRef:vi,clearStickerPreview:Ct,dispatch:o,hoveredElement:Be,lastCanvasCursorRef:Ke,setHoveredElement:Dn,setHoveredElementInfo:Bt,setStickerApplyPulse:Yt,setStickerCursor:dn,setStickerRejectPulse:Wt,setStickerStep:Gn,setStickerSubproperty:Nr,stickerFamily:wt,stickerStep:nn,stickerSubproperty:qt,transformDragHandoffRef:Tn,transformPreviewSuppressionRef:un,transformPreviewTargetRef:Ht});_(()=>{Fr(!1);let b=nr?.family==="transform"?nr.element:Be;if(Yp(r.activeTool,r.isAnnotating)||Vt!=="value"||!yl(b,wt,qt)||io(b)){Ht.current=null,Ct();return}let E={element:b,family:wt,step:nn,subproperty:qt,valueOverride:nr?.transformKind==="translate"?nr.translateValue:void 0},te=un.current,de=wt==="transform"&&te?.element===b&&te.subproperty===qt&&te.step===nn;if(te&&!de&&(un.current=null),de){if(Ct(),Ht.current?.element!==b){let{top:Qe,right:kt,bottom:Pt,left:ro}=b.getBoundingClientRect(),oo=ba(b);Ht.current={element:b,bounds:{top:Qe,right:kt,bottom:Pt,left:ro},layoutQuad:oo,renderedQuad:qi(b,oo)},En(ds=>ds+1)}return}if(Dt.current&&qw(ze.current,E))return;if(wt==="transform"){if(Ht.current?.element!==b){Ia(Dt.current),Dt.current=null,ze.current=null;let{top:Qe,right:kt,bottom:Pt,left:ro}=b.getBoundingClientRect(),oo=ba(b);Ht.current={element:b,bounds:{top:Qe,right:kt,bottom:Pt,left:ro},layoutQuad:oo,renderedQuad:qi(b,oo)}}}else Ht.current=null;let ke=Vw(b,wt,nn,qt,Dt.current,E.valueOverride);Dt.current=ke.preview,ze.current=E,Fr(ke.stepUnavailable),En(Qe=>Qe+1),Ut()},[Ct,Be,r.activeTool,r.isAnnotating,nr?.element,nr?.family,nr?.transformKind,nr?.translateValue,wt,Vt,nn,qt,Ut]),_(()=>()=>{pn(),Ia(Dt.current),Dt.current=null,ze.current=null,Ht.current=null,un.current=null,Tn.current=null},[pn]);let Ot=U(()=>{un.current=null,Tn.current=null,Dn(null),Bt(null),bi(null),mo(null),W(null),Qt(null),gr(null),La(!1),xi(null),Si(null),ta(null),na(null),wi()},[wi]),ra=v&&!v.domEdit?v?.id:null,Gl=ve?`${ve.target.adapter}:${ve.target.key}`:null,xr=ra??Gl;_(()=>{xr&&Ot()},[xr,Ot]);let Ei=U(b=>{Jr(b),b&&Ot()},[Ot]),fn=U(b=>{Br(b),b&&Ot()},[Ot]),wo=U((b,E)=>{ho(E?.length?{ownerId:b,annotationIds:E}:null),E?.length&&Ot()},[Ot]),xo=U(b=>{qr(b),b&&Ot()},[Ot]),Ql=U((b,E)=>{Ct();let te=ln(b);yl(te,E.family,E.subproperty)&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"sticker"}),Hn(E.family),Nr(E.subproperty),Gn(E.step),Qn("value"),Dn(te),Bt(sn(te)),Ke.current&&dn(Ke.current))},[Ct,o]),Zl=U((b,E)=>{Ct(),Ot(),Br(null),o({type:"CLEAR_STICKER",payload:{selector:b,sticker:E}})},[Ot,Ct,o]),Bo=U(b=>{if(!S)return;S(b);let E=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}E+=1,E<6&&requestAnimationFrame(te)};requestAnimationFrame(te)},[S]),Nt=q(r);Nt.current=r;let Mn=bv({annotations:r.annotations,currentPathname:be,dispatch:o,stateRef:Nt,styleModifications:r.styleModifications,subjectRegistry:H,toolbarRef:j,onTargetResolutionChange:Y}),$t=q(v);$t.current=v;let rr=q(v);_(()=>{let b=E=>{if(rr.current=null,E.button!==2)return;let te=$t.current;rr.current=$p(te)?te:null};return window.addEventListener("pointerdown",b,!0),()=>window.removeEventListener("pointerdown",b,!0)},[]),N0(v,le);let{cursorPosRef:Ti,domEditInputSize:qo,inputRef:So,lastPositionedTextId:Yo}=_0({activeText:v,activeTextRef:$t,canvasRef:G,visible:r.isAnnotating}),Ai=U(()=>{window.requestAnimationFrame(()=>{So.current?.focus();let b=So.current?.value.length??0;So.current?.setSelectionRange(b,b)})},[So]),oa=U((b,E=rr.current)=>{let te=$t.current,de=H?.hitTest(b)??null,ke=de?.element??_i(b.x,b.y,{allowBodyFallback:!0}),Qe=de?.target,kt=[...Nt.current.annotations].reverse().find(Xn=>Xn.type!=="text"||(Xn.status??"pending")!=="pending"?!1:Qe&&Xn.target?Xn.target.adapter===Qe.adapter&&Xn.target.key===Qe.key:!Xn.linkedSelector||!ke?!1:!!Zt(Xn.linkedSelector,Xn.elements)?.contains(ke)),Pt=gw({activationDraft:E,activeDraft:te,annotations:Nt.current.annotations,selectedAnnotationIds:Nt.current.selectedAnnotationIds,lastSelectedId:Nt.current.lastSelectedId,annotationAtCursor:kt});if(rr.current=null,!Pt||Nt.current.activeTool!=="inspector")return!1;let ro=Pt.value;Ve.current?.cancel();let oo=ro.target&&H?H.resolve(ro.target):null,ds=oo?.subject.sourceElement??(ro.linkedSelector?ln(ro.linkedSelector):null),Vh=Xn=>{if(!(Xn instanceof MouseEvent)||!H)return;let Ga=H.hitTest({x:Xn.clientX,y:Xn.clientY});if(!Ga)return;let Gh=Ga.target;return{element:Ga.subject.sourceElement??null,state:ud(Ga),captureResult:()=>{let rc=H.resolve(Gh);return rc?ud(rc):void 0}}};return Ie.current={id:ro.id,draft:Pt.kind==="draft"},Ve.current=hw({subjectElement:ds,...oo?{subjectState:ud(oo)}:{},resolveEventTarget:Vh,onActionCountChange:We,captureFrame:L?Kt:void 0}),Ot(),xt(null),Jr(null),Br(null),We(0),kn(b),mt(!0),dt(),!0},[Ot,Kt,dt,L,H]),ko=U(async()=>{let b=Ve.current,E=Ie.current;if(!b||!E||!b.hasActions())return;let{episode:te,frames:de}=await b.finish();if(Ve.current=null,E.draft)le(ke=>{if(ke?.id!==E.id)return ke;let Qe=ke.images?.length??0;return{...ke,images:[...ke.images??[],...de],interactionEpisode:Pp(te,Qe)}});else{let ke=Nt.current.annotations.find(Qe=>Qe.id===E.id);if(ke){let Qe=ke.imageCount??0,kt=Pp(te,Qe);de.length>0&&y?.(ke.id,de),o({type:"UPDATE_TEXT",payload:{id:ke.id,text:ke.text??"",imageCount:Qe+de.length,interactionEpisode:kt}})}}ht(),E.draft&&Ai()},[o,ht,Ai,y,le]),Xr=U(b=>{let E=$t.current;if(E?.id===b&&(le(de=>{if(de?.id!==b)return de;let ke=new Set(de.interactionEpisode?.frames?.map(kt=>kt.imageIndex)??[]),Qe={...de};return delete Qe.interactionEpisode,ke.size>0&&de.images&&(Qe.images=de.images.filter((kt,Pt)=>!ke.has(Pt))),Qe}),E.isNew))return;let te=Nt.current.annotations.find(de=>de.id===b)?.interactionEpisode?.frames?.map(de=>de.imageIndex)??[];te.length>0&&x?.(b,te),o({type:"CLEAR_INTERACTION_EPISODE",payload:{id:b}})},[o,x,le]),Kr=U(()=>{let b=Ie.current?.draft;ht(),b&&Ai()},[ht,Ai]);_(()=>{let b=E=>{if(!Je.current)return;let te=E.metaKey||E.ctrlKey;if(E.key==="Escape"&&te){E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation(),Ve.current?Kr():ht();return}E.key==="Enter"&&te&&Ve.current&&(E.preventDefault(),E.stopPropagation(),E.stopImmediatePropagation(),ko())};return window.addEventListener("keydown",b,!0),()=>window.removeEventListener("keydown",b,!0)},[Kr,ht,ko]),_(()=>{if(!Ue)return;let b=te=>Ve.current?.recordEvent(te),E=()=>Ve.current?.recordScroll();return window.addEventListener("click",b,!0),window.addEventListener("pointerdown",b,!0),window.addEventListener("pointerup",b,!0),window.addEventListener("input",b,!0),window.addEventListener("change",b,!0),window.addEventListener("submit",b,!0),window.addEventListener("keydown",b,!0),window.addEventListener("play",b,!0),window.addEventListener("pause",b,!0),window.addEventListener("seeked",b,!0),window.addEventListener("scroll",E,{capture:!0,passive:!0}),()=>{window.removeEventListener("click",b,!0),window.removeEventListener("pointerdown",b,!0),window.removeEventListener("pointerup",b,!0),window.removeEventListener("input",b,!0),window.removeEventListener("change",b,!0),window.removeEventListener("submit",b,!0),window.removeEventListener("keydown",b,!0),window.removeEventListener("play",b,!0),window.removeEventListener("pause",b,!0),window.removeEventListener("seeked",b,!0),window.removeEventListener("scroll",E,!0)}},[Ue]);let Ha=q([]),Uo=q(i);Uo.current=i;let{dragState:Xo,resizeState:Ko,setDragState:Sr,setResizeState:ia}=Bb(),Vr=r.selectedAnnotationIds;Ha.current=Vr;let Vo=U((b,E=!1)=>{o({type:"SELECT_ANNOTATION",payload:{id:b,addToSelection:E}})},[o]),kr=U(()=>{o({type:"SELECT_ANNOTATION",payload:{id:null}})},[o]),or=U(b=>{let E=Nt.current.annotations.find(te=>te.id===b);!E||!tl(E,Nt.current.annotations)||(o({type:"DELETE_ANNOTATION",payload:{id:b}}),$t.current?.id===b&&(bt($t.current.attachments),le(null)),Ot(),Jr(null),Br(null),ho(null),qr(!1),kr())},[Ot,kr,o,bt,le]),Oa=U(b=>{let E=Bm(Nt.current.textModifications,b,be);E&&(o(E),Ot(),Br(null),ho(null),qr(!1))},[be,o,Ot]),Jt=q({x:window.scrollX,y:window.scrollY}),Rn=q(null),[mn,Na]=P(Jt.current);_(()=>{if(oe)return F(),window.addEventListener("resize",F),window.visualViewport?.addEventListener("resize",F),()=>{window.removeEventListener("resize",F),window.visualViewport?.removeEventListener("resize",F)}},[F,oe]),kv(v,le,$e,r.annotations,o),qf({state:r,stateRef:Nt,activeTextRef:$t,selectedIdsRef:Ha,dispatch:o,clearSelection:kr,selectAnnotation:Vo,handHoveredElement:mr,onArchiveThread:M,openThreadId:k,currentPathname:be,hasOpenThread:K});let{pageAnnotations:gn,pageStyleModifications:ir,pageTextModifications:Jn,pendingBundleCount:Io,pendingTextAnnotations:Eo}=pc({state:r,activeText:v,currentPathname:be,dismissedThreadIds:g,modifiedElementThreadStates:m}),{sendHintAnchorId:Go,setSendHintAnchorId:_a}=Sv({activeText:v,activeTextAnchorId:Do,hoveredElement:Be,hoveredTextId:$e,pendingTextAnnotations:Eo}),{locationLabels:es,tooltipAnnotationId:aa,revealAnnotation:Fa}=xv({annotations:gn,annotationIds:Mn,badgeHoveredAnnotationId:An,hoveredTextId:$e}),Wa=U((b,E)=>{let te=Nt.current.annotations.find(de=>de.id===b);te&&(Vo(b),E&&Bo(E),Mn.has(b)&&Fa(te))},[Bo,Mn,Fa,Vo]),{cycleSpotlightAnnotationIds:Ja,emphasizedAnnotationIds:Ci,hoverRestoredAnnotationIds:la,inactiveEmphasisOpacity:Mi,statusSpotlightAnnotationIds:Gr}=hv({annotations:gn,isCreatingAnnotation:!!(v?.isNew&&!v.domEdit),hoveredTextId:$e,badgeHoveredAnnotationId:An,highlightedAnnotationIds:Z,cycleFocusedAnnotationIds:N,hoveredElement:Be}),Bn=Yf(oe?j?.current:null),Ri=Bn.avoidTop,Ba=Bn.avoidBottom,qa=Bn.avoidLeft,Ya=Bn.avoidRight,Qo=xe(()=>({avoidTop:Ri,avoidBottom:Ba,avoidLeft:qa,avoidRight:Ya}),[Ri,Ba,qa,Ya]),{supersededAnnotations:Ir,stagedArtifactOrder:w,annotationGroupMap:I,pageModificationNumberBySelector:B}=hc({state:r,pageAnnotations:gn,pageStyleModifications:ir,pageTextModifications:Jn}),Q=ma(Be),se=!!(ve&&Q?.adapter===ve.target.adapter&&Q.key===ve.target.key),ae=!!(Be&&vn&&!se&&!$e&&!An&&!v?.linkedSelector&&!Ge?.linkedSelector),{hiddenCollidingAnnotationIds:fe,nestedCollidingAnnotationCountById:pe,nestedCollidingAnnotationIdsById:Me,visibleCollisionRepresentativeByAnnotationId:_e}=fv({activeText:v,activeTextSendHintId:Do,annotationNumberById:I,badgeHoveredAnnotationId:An,canvasRef:G,focusedThreadAnnotationId:J,hoveredElement:Be,hoveredElementInfo:vn,hoveredTextId:$e,layoutReady:oe&&Se!==null,showHoverElementIdentifier:ae,layoutRevision:re+je,pageAnnotations:gn,parentPinnedAnnotationIds:Mn,pendingLinkedText:Ge,scroll:mn,supersededAnnotations:Ir,textSafeBounds:Qo}),{activeTextAnnotation:ue,activeTextCollisionId:Ce,activeTextModifiedRail:Ye,activeTextNestedAnnotationCount:Mt,activeTextNestedAnnotationIds:To,activeTextNestedBadgeColor:Er,elementRailColorBySelector:sa,elementRailComments:Zo,hiddenAnnotationBadgeIds:ei,modifiedElementSendHintSelector:ti,stagedElementComments:Ao,visibleCanvasAnnotations:we,visibleSendHintAnchorId:St}=Uf({activeText:v,activeColor:r.activeColor,annotations:r.annotations,annotationNumberById:I,focusedThreadAnnotationId:J,hiddenCollidingAnnotationIds:fe,modifiedElementThreadStates:m,nestedCollidingAnnotationCountById:pe,nestedCollidingAnnotationIdsById:Me,pageAnnotations:gn,pageStyleModifications:ir,pageTextModifications:Jn,sendHintAnchorId:Go,supersededAnnotations:Ir,visibleCollisionRepresentativeByAnnotationId:_e,activeTextSendHintId:Do,targetResolutionRevision:re+je}),Ln=xe(()=>{if(Vr.length===0)return null;let b=new Map;for(let E of Vr){let te=r.annotations.find(ke=>ke.id===E);if(!te)continue;let de=te.groupId?r.annotations.filter(ke=>ke.groupId===te.groupId):[te];for(let ke of de)if(ke.linkedSelector&&!f?.has(ke.linkedSelector)){let Qe=ke.color||r.activeColor;b.set(ke.linkedSelector,Qe)}}return b.size>0?b:null},[Vr,r.annotations,r.activeColor,f]),Tr=U((b=Jt.current)=>{ce(we,Vr,nh,b.x,b.y,I,Gr,Qo,Ci,la,Mi,Mn)},[we,Vr,ce,I,Gr,Qo,Ci,la,Mi,Mn]);_(()=>{oe&&Tr(Jt.current)},[Tr,oe]),_(()=>{if(!oe)return;let b=()=>{let E={x:window.scrollX,y:window.scrollY};Jt.current=E,Tr(E),Rn.current===null&&(Rn.current=window.requestAnimationFrame(()=>{Rn.current=null;let te=Jt.current;Na(de=>de.x===te.x&&de.y===te.y?de:te)}))};return b(),window.addEventListener("scroll",b,{passive:!0,capture:!0}),()=>{window.removeEventListener("scroll",b,!0),Rn.current!==null&&(window.cancelAnimationFrame(Rn.current),Rn.current=null)}},[Tr,oe]);let{findAnnotationAtPoint:ni,findHandleAtPoint:Rt,findTextAtPoint:Ar,getPoint:ar}=u0({annotationGroupMap:I,annotations:r.annotations,canvasRef:G,handleSize:nh,hiddenCollidingAnnotationIds:fe,pageAnnotations:gn,parentPinnedAnnotationIds:Mn,scroll:mn,selectedAnnotationIds:Vr,supersededAnnotations:Ir,textSafeBounds:Qo}),{commitActiveText:Pn,createInlineTextEdit:Cr,editPendingLinkedComment:Qr,handleSendPendingBundle:Zr}=O0({activeText:v,activeTextRef:$t,canvasRef:G,clearPageElementHover:Ot,clearSelection:kr,clearSignal:$,commentTextEditCandidateRef:en,cursorPosRef:Ti,dispatch:o,findTextAtPoint:Ar,lastPositionedTextId:Yo,onAttachImages:y,onCloseThread:O,onSend:A,pendingLinkedText:Ge,releaseActiveTextAttachments:bt,setActiveText:le,setDragState:Sr,setHoveredTextId:xt,setPendingLinkedText:gt,setSendHintAnchorId:_a,state:r,stateRef:Nt}),Ua=U(()=>{let b=rr.current;fw($t.current,b)||Pn()},[Pn]),eo=a0({activeText:v,applySticker:ja,canvasRef:G,clearSelection:kr,commentTextEditCandidateRef:en,commitActiveText:Pn,createInlineTextEdit:Cr,dispatch:o,domDragRef:er,editPendingLinkedComment:Qr,findAnnotationAtPoint:ni,findHandleAtPoint:Rt,findTextAtPoint:Ar,gapDragRef:nt,gapHoveredAxis:Yr,gapHoveredElement:Re,gapIsAuto:br,getPoint:ar,handleAnnotationActivation:Wa,handDragRef:rn,handHoveredElement:mr,handHoveredSide:fo,hoveredElement:Be,hoveredElementInfo:vn,isElementInFlight:Jo,onCanvasInteraction:V,openThreadAndFocusReply:Bo,pageAnnotations:gn,modifiedElementThreadStates:m,pageStyleModifications:ir,parentPinnedAnnotationIds:Mn,pointerTargetOverrideRef:Ne,radiusDragRef:go,radiusHoveredCorner:xn,radiusHoveredElement:yo,selectAnnotation:Vo,setDragState:Sr,setGapDragging:vr,setHandDragging:Ae,setPendingLinkedText:gt,setRadiusDragging:vo,setResizeState:ia,setStickerRejectPulse:Wt,setTextDragging:Ii,state:r,stickerStage:Vt,textDragRef:bo,textHoveredElement:wr,textHoveredProperty:ki,toolbarRef:j});_(()=>{if(!qe)return;let b=ke=>{if(ke.button===0){if(ke.target instanceof Element&&io(ke.target)){Ft.current=null;return}ne?.(),Ft.current={startX:ke.clientX,startY:ke.clientY,moved:!1}}},E=ke=>{(!(ke.target instanceof Element)||!io(ke.target))&&ne?.();let Qe=Ft.current;Qe&&(Ft.current=Qb(Qe,ke.clientX,ke.clientY))},te=()=>{Ft.current=null},de=ke=>{let Qe=Ft.current;if(Ft.current=null,!Zb(Qe)||ke.button!==0||ke.target instanceof Element&&io(ke.target)||Ve.current||r.activeTool!=="inspector"&&r.activeTool!=="sticker")return;let kt=r.activeTool==="inspector"?H?.hitTest({x:ke.clientX,y:ke.clientY}):null;kt&&H?.promote(kt.target);let Pt=kt?.element??_i(ke.clientX,ke.clientY,{allowBodyFallback:r.activeTool==="inspector"});!Pt||io(Pt)||Pt!==document.documentElement&&(r.activeTool==="inspector"&&Jo(Pt)||r.activeTool==="sticker"&&!(Pt instanceof HTMLElement)&&!(Pt instanceof SVGElement)||(Ne.current={element:Pt,elementInfo:kt?.elementInfo??sn(Pt)},ke.preventDefault(),ke.stopPropagation(),ke.stopImmediatePropagation(),eo(ke)))};return window.addEventListener("pointerdown",b,!0),window.addEventListener("pointermove",E,!0),window.addEventListener("pointercancel",te,!0),window.addEventListener("click",de,!0),()=>{window.removeEventListener("pointerdown",b,!0),window.removeEventListener("pointermove",E,!0),window.removeEventListener("pointercancel",te,!0),window.removeEventListener("click",de,!0)}},[eo,qe,Jo,r.activeTool,H,ne]),_(()=>{!r.isAnnotating&&Je.current&&ht()},[ht,r.isAnnotating]);let qn=P0({activeTool:r.activeTool,annotations:r.annotations,canvasRef:G,clearPageElementHover:Ot,clearStickerPreview:Ct,dispatch:o,domDragRef:er,dragState:Xo,findTextAtPoint:Ar,gapDragRef:nt,gapHoveredAxis:Yr,gapHoveredElement:Re,getPoint:ar,handCursorRef:Ee,handDragRef:rn,handHoveredElement:mr,handHoveredSide:fo,handleShakePointerMove:hn,hoveredElement:Be,hoveredElementInfo:vn,isAnnotating:r.isAnnotating,isElementInFlight:Jo,lastCanvasCursorRef:Ke,modifiersRef:Kl,radiusDragRef:go,radiusHoveredCorner:xn,radiusHoveredElement:yo,resizeState:Ko,setDomDropPreview:W,setDragState:Sr,setGapDragging:vr,setGapHoveredAxis:gr,setGapHoveredElement:Qt,setGapIsAuto:La,setHandCursorPos:tt,setHandDragging:Ae,setHandHoveredElement:bi,setHandHoveredSide:mo,setHoveredElement:Dn,setHoveredElementInfo:Bt,setRadiusDragging:vo,setRadiusHoveredCorner:Si,setRadiusHoveredElement:xi,setResizeState:ia,setStickerCursor:dn,setStickerStep:Gn,setTextDragging:Ii,setTextHoveredElement:ta,setTextHoveredProperty:na,steerDragRef:Vl,stickerFamily:wt,stickerStage:Vt,stickerSubproperty:qt,subjectRegistry:H,suspendTargetDiscovery:!!xr||Ue,textDragRef:bo,textHoveredElement:wr,textHoveredProperty:ki,transformDragHandoffRef:Tn,transformPreviewSuppressionRef:un,transformPreviewTargetRef:Ht}),Co=j0({annotationGroupMap:I,canvasRef:G,currentPathname:be,cursorPosRef:Ti,dispatch:o,domDragRef:er,dragState:Xo,gapDragRef:nt,gapDragging:yr,getPoint:ar,handDragRef:rn,handDragging:ge,lastPositionedTextId:Yo,radiusDragRef:go,radiusDragging:tr,resizeState:Ko,setActiveText:le,setDomDropPreview:W,setDragState:Sr,setGapDragging:vr,setHandDragging:Ae,setRadiusDragging:vo,setResizeState:ia,setSendHintAnchorId:_a,setTextDragging:Ii,textDragRef:bo,textDragging:Ur}),Fe=U(b=>{if(r.isAnnotating&&r.activeTool==="inspector"&&b.button===0&&b.pointerType==="mouse"&&H&&!ve){let E=H.beginCreate({x:b.clientX,y:b.clientY});if(E){He.current={...E,start:{x:b.clientX,y:b.clientY},moved:!1,pointerId:b.pointerId,captureTarget:b.currentTarget},b.currentTarget.setPointerCapture(b.pointerId),b.preventDefault();return}}eo(b)},[eo,r.activeTool,r.isAnnotating,ve,H]),Lt=U(b=>{let E=He.current;if(!E||E.pointerId!==b.pointerId){qn(b);return}let te=Math.hypot(b.clientX-E.start.x,b.clientY-E.start.y);if(!E.moved&&te>=ex&&(E.moved=!0),!E.moved){qn(b);return}E.session.update({x:b.clientX,y:b.clientY}),me({adapter:E.adapter.id,key:E.session.key}),vt(de=>de+1),b.preventDefault()},[qn]),Et=U(b=>{let E=He.current;if(E&&E.pointerId!==b.pointerId)return;if(He.current=null,me(null),!E){Co(b);return}if(E.captureTarget.hasPointerCapture(E.pointerId)&&E.captureTarget.releasePointerCapture(E.pointerId),!E.moved){E.session.cancel();let de=H?.hitTest({x:b.clientX,y:b.clientY});de&&H?.promote(de.target),eo(b),Co(b);return}E.session.update({x:b.clientX,y:b.clientY});let te=E.session.commit();te&&(et.current=window.performance.now()+500,Pe({target:{adapter:E.adapter.id,key:te.key},created:!0})),b.preventDefault()},[eo,Co,H]),Yn=U(b=>{if(!r.isAnnotating||r.activeTool!=="inspector"||!H)return!1;let E=H.resolve(b);if(!E?.adapter.renameSubject)return!1;let te=$t.current;return te?.isNew&&te.target?.adapter===E.target.adapter&&te.target.key===E.target.key&&(bt(te.attachments),le(null),gt(null)),Pe({target:E.target,created:!1}),!0},[$t,bt,le,r.activeTool,r.isAnnotating,H]),ri=U(b=>{if(window.performance.now()<=et.current){et.current=0,b.preventDefault(),b.stopPropagation();return}if(et.current=0,!H)return;let E=H.hitTest({x:b.clientX,y:b.clientY});!E||!Yn(E.target)||(b.preventDefault(),b.stopPropagation())},[Yn,H]),oi=U(b=>{let E=b.target.value;Ti.current=b.target.selectionStart;let te=$t.current;te?.domEdit&&o(sd(te.domEdit,E,te.text===te.domEdit.originalText)),le(de=>{if(de?.domEdit){let ke=bc(de.domEdit.segments,de.domEdit.originalText,E);de.domEdit.segments.forEach(Qe=>{Qe.textNode.nodeValue=Qe.originalText}),ke.forEach(({segment:Qe,modifiedText:kt})=>{Qe.textNode.nodeValue=kt})}return de&&{...de,text:E}})},[$t,Ti,o,le]),to=U(b=>{b.key==="Escape"?($t.current?.domEdit&&(o(sd($t.current.domEdit,$t.current.domEdit.originalText,!1)),$t.current.domEdit.segments.forEach(E=>{E.textNode.nodeValue=E.originalText})),bt($t.current?.attachments),le(null)):Xf(b)?Zr():b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),Pn())},[Pn,o,Zr,bt,le]),da=U(b=>{if(!r.isAnnotating)return;let E=rr.current;rr.current=null;let te=Ar(ar(b));if(te&&X&&!tl(te,Nt.current.annotations)){b.preventDefault(),b.stopPropagation(),X(te.id);return}if(te&&tl(te,Nt.current.annotations)){b.preventDefault(),b.stopPropagation(),or(te.id);return}if(te?.status==="resolved"){let Qe=Kf(Nt.current.annotations,[te.id]);if(Qe.length>0){b.preventDefault(),b.stopPropagation(),Qe.forEach(kt=>M?.(kt));return}}b.preventDefault();let de=!!$t.current,ke=oa({x:b.clientX,y:b.clientY},E);!de&&!ke&&dt()},[dt,Ar,ar,or,M,X,oa,r.isAnnotating]),Mr=xe(()=>{if(!Be)return r.activeColor;let b=null;for(let de of gn)!de.linkedSelector||Ir.has(de)||Zt(de.linkedSelector,de.elements)!==Be||(!b||de.timestamp>b.timestamp)&&(b=de);let E=b?.color??r.activeColor,te=vn?.selector??b?.linkedSelector;return te?us([te],m??new Map,E,ln):E},[Be,vn?.selector,m,gn,r.activeColor,Ir]),Xa=()=>{if(!r.isAnnotating)return"default";if(Ko){let{handle:b}=Ko;return b==="start"||b==="end"?"move":b==="top"||b==="bottom"?"ns-resize":b==="left"||b==="right"?"ew-resize":b==="topLeft"||b==="bottomRight"?"nwse-resize":"nesw-resize"}if(ew(r.activeTool)){let b=yr?.axis??Yr;if(b==="row")return"ns-resize";if(b==="column")return"ew-resize";if(tr||xn)return"ns-resize";let E=Ur?.property??ki;if(E==="font-size")return"ew-resize";if(E==="line-height")return"ns-resize";let te=ge?.side??fo;return te==="top"||te==="bottom"?"ns-resize":te==="left"||te==="right"?"ew-resize":"default"}return r.activeTool==="inspector"?bm(Mr):r.activeTool==="sticker"?gc(Mr):"crosshair"},ct=Gb(r.isAnnotating,r.activeTool),yn={position:"fixed",top:0,left:0,width:"100dvw",height:"100dvh",zIndex:9998,pointerEvents:qe||!ct?"none":"auto",visibility:ct?"visible":"hidden",cursor:On&&!On.nativeReady?"none":Xa(),touchAction:r.activeTool==="inspector"?"pan-x pan-y":"none"},no=xe(()=>{if(!v||v.domEdit)return;if(v.linkedSelector){let E=Ao.find(te=>te.selector===v.linkedSelector)?.annotationNumber??B.get(Ye?.selector??v.linkedSelector);if(E!==void 0)return E}let b=I.get(v.id);if(b!==void 0)return b;if(v.groupId){let E=r.annotations.find(de=>de.groupId===v.groupId),te=E?I.get(E.id):void 0;if(te!==void 0)return te}return w.count+1},[v,Ye,I,B,Ao,w.count,r.annotations]),Gt=no!==void 0?`${no}.`:"",Un=xe(()=>{if(!v||!Gt||v.domEdit)return 0;let b=G.current?.getContext("2d");return b&&(b.font=`${v.fontSize}px ${Sn}`),Kb({prefix:Gt,fontSize:v.fontSize,railGap:Ye?2:void 0,context:b})},[v,Gt,Ye,G]),Rr=v?.images?.length??r.annotations.find(b=>b.id===v?.id)?.imageCount??0,ca=v&&!v.domEdit&&!Ye?Av({nestedAnnotationCount:Mt,imageCount:Rr,interactionEpisodeStepCount:v.interactionEpisode?.steps.length??0,reserveSendHint:!!A&&Go===Do&&!!v.text.trim()}):0,ii=r.isAnnotating&&v?.linkedSelector&&!v.target&&!v.domEdit&&!Ye?Zt(v.linkedSelector,v.elements):null,ts=!!(v&&wc(v)),ai=rw(ii),ns=ts&&ai?As(ai,22,2,window.innerHeight):null,rs=v?ns?ns.left+8:ai?ai.left+8:v.point.x-mn.x:0,os=v?ai?.right??v.point.x-mn.x:0,li=U(()=>{let b=G.current;if(!b||!v)return{width:100,height:12*lr,isWrapped:!1};if(v.domEdit)return{width:qo?.id===v.id?qo.width:Math.max(1,v.domEdit.rect.width),height:qo?.id===v.id?qo.height:Math.max(1,v.domEdit.rect.height),isWrapped:v.domEdit.wrapsText};let E=b.getContext("2d");if(!E)return{width:100,height:v.fontSize*lr,isWrapped:!1};E.font=`${v.fontSize}px ${Sn}`;let te=v.point.x-mn.x;if(!Ye){let de=!!(v.linkedSelector||v.target),ke=dd({text:v.text,fontSize:v.fontSize,effectiveMaxWidth:384,annotationPrefixWidth:Un,isModifiedRail:!1,fitToContent:de,context:E}).width+Un+16,Qe=Cp({anchorLeftX:rs,anchorRightX:os,editorWidth:ke,trailingWidth:ca,viewportWidth:window.innerWidth});return dd({text:v.text,fontSize:v.fontSize,effectiveMaxWidth:Math.max(1,Qe.maxEditorWidth-16),annotationPrefixWidth:Un,isModifiedRail:!1,fitToContent:de,context:E})}return dd({text:v.text,fontSize:v.fontSize,effectiveMaxWidth:Cs(te),annotationPrefixWidth:Un,isModifiedRail:!!Ye,context:E})},[v,G,mn.x,Un,Ye,ca,rs,os,qo])(),Li=!!v?.domEdit,Fh=v?Math.max(1,v.text.split(`
|
|
61
|
-
`).length)*v.fontSize*lr+8:0,si=Li?li.height:li.height+8,qd=ns??(ai?As(ai,si,zi,window.innerHeight):void 0),Yd=ts?ha("bottom-left"):ha(qd?.anchor??v?.linkedAnchor),Wh=li.isWrapped?si-Fh:0,Ud=v?Li?(v.domEdit.flowRect??v.domEdit.rect).top:qd?.top??v.point.y-4-mn.y-Wh:0,Jh=v?Li?(v.domEdit.flowRect??v.domEdit.rect).left:v.point.x-8-mn.x:0,Mo=Li?li.width:li.width+Un+16,di=v&&!Li&&!Ye?Cp({anchorLeftX:rs,anchorRightX:os,editorWidth:Mo,trailingWidth:ca,viewportWidth:window.innerWidth}).editorLeft:Jh,Pi=v?Li?Ud:qm(Ud,si,Qo,di,Mo):0,ji=v?.domEdit?{image:v.domEdit.boundaryRects.map(()=>"linear-gradient(#000 0 0)").join(", "),position:v.domEdit.boundaryRects.map(b=>`${b.left-di}px ${b.top-Pi}px`).join(", "),size:v.domEdit.boundaryRects.map(b=>`${b.width}px ${b.height}px`).join(", ")}:void 0,Xd=v?v.domEdit?{position:"fixed",left:di,top:Pi,zIndex:10002,width:Mo,height:si,minHeight:0,padding:0,margin:0,boxSizing:"border-box",appearance:"none",fontSize:v.fontSize,fontFamily:v.domEdit.fontFamily,fontWeight:v.domEdit.fontWeight,fontStyle:v.domEdit.fontStyle,color:"transparent",caretColor:r.activeColor,WebkitTextFillColor:"transparent",backgroundColor:"transparent",border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:v.domEdit.lineHeight,textIndent:v.domEdit.firstLineIndent,letterSpacing:v.domEdit.letterSpacing,textTransform:v.domEdit.textTransform,textAlign:v.domEdit.textAlign,wordSpacing:v.domEdit.wordSpacing,textDecoration:v.domEdit.textDecoration,textShadow:v.domEdit.textShadow,resize:"none",overflow:"hidden",whiteSpace:v.domEdit.wrapsText?v.domEdit.whiteSpace:"pre",wordBreak:v.domEdit.wordBreak,overflowWrap:v.domEdit.overflowWrap,maskImage:ji?.image,maskPosition:ji?.position,maskSize:ji?.size,maskRepeat:"no-repeat",WebkitMaskImage:ji?.image,WebkitMaskPosition:ji?.position,WebkitMaskSize:ji?.size,WebkitMaskRepeat:"no-repeat"}:{position:"fixed",left:di,top:Pi,zIndex:10002,width:Mo,height:si,padding:`${4+Sd}px 8px ${4-Sd}px`,paddingLeft:8+Un,boxSizing:"border-box",fontSize:v.fontSize,fontFamily:Sn,color:"#ffffff",backgroundColor:r.activeColor,border:"none",borderRadius:v.linkedSelector?Yd:0,animation:v.linkedSelector&&v.isNew?"popmeltAnnotationFieldEnter 150ms ease-out both":void 0,outline:"none",boxShadow:"none",lineHeight:lr,resize:"none",overflow:"hidden",whiteSpace:li.isWrapped?"pre-wrap":"pre",wordBreak:li.isWrapped?"break-word":void 0}:{},Kd=v?.target&&v.linkedSelector?Zt(v.linkedSelector,v.elements):null,Bh=b=>!v||!Ye?null:T(rt,{children:[h(Rv,{anchor:b,insetTopLeft:ts,width:Mo,height:si,value:v.text,fontSize:v.fontSize,prefix:Gt,inputRef:So,inputStyle:Xd,onChange:oi,onKeyDown:to,onPaste:ye,onBlur:Ua,onContextMenu:E=>{E.preventDefault(),E.stopPropagation(),or(v.id)}}),h(tu,{stepCount:v.interactionEpisode?.steps.length??0,onClear:()=>Xr(v.id)})]}),{nestedBadgeOwnerSelector:qh,hasExistingOverlay:Yh,hoveredLinkedAnnotationId:Vd,hasSelectedHighlightForElement:Uh,ownedInFlightSelectorColors:Gd,ownedFocusedSelectorColors:Qd,selectorElementInfo:Zd,claimElementOverlay:Lr}=nw({activeText:v,pendingLinkedText:Ge,activeTextSendHintId:Do,activeTool:r.activeTool,isAnnotating:r.isAnnotating,annotations:r.annotations,pageAnnotations:gn,pageStyleModifications:ir,pageTextModifications:Jn,supersededAnnotations:Ir,nestedBadgeHover:fr,isSendBundleHovered:Wn,badgeHoveredAnnotationId:An,hoveredTextId:$e,badgeHoveredSelector:Cn,focusedThreadAnnotationId:J,inFlightSelectorColors:f,focusedSelectorColors:Ln,hoveredElement:Be}),is=Mr,Xh=v?.domEdit?nl(r.activeColor,.28):"#000000",Kh=v?.domEdit?"transparent":"#ffffff",Ka=v?.linkedSelector&&!v.domEdit?v:Ge,Va=Ka?.linkedSelector?Zt(Ka.linkedSelector,Ka.elements):null,as=Va??Be,ec=Va?"selected":"hover",tc=Va?Ka?.target??ma(Va):Q,ls=tc?.adapter,ss=tc?.key;_(()=>(C?.(r.isAnnotating&&as?{element:as,selection:ec,subject:ls&&ss?{adapter:ls,key:ss}:void 0}:null),()=>C?.(null)),[C,r.isAnnotating,as,ec,ls,ss]);let nc=b=>{lt.current=null,H?.remove(b),Dn(null),Bt(null),Pe(E=>E?.target.adapter===b.adapter&&E.target.key===b.key?null:E)};if(Ue){let b=Ie.current,E=b?.draft?r.activeColor:r.annotations.find(te=>te.id===b?.id)?.color??r.activeColor;return pt?h(Sb,{cursor:pt,stepCount:yt,accentColor:E,toolbarElement:j?.current,threadElement:z}):null}return T(rt,{children:[h("canvas",{ref:Le,id:"devtools-canvas",style:yn,onPointerDown:b=>{ne?.(),Fe(b)},onPointerMove:b=>{ne?.(),!(!He.current&&Q&&Gp(b.currentTarget.ownerDocument,b.clientX,b.clientY))&&Lt(b)},onPointerUp:Et,onPointerCancel:b=>{if(He.current){he();return}Co(b)},onLostPointerCapture:b=>{He.current?.pointerId===b.pointerId&&he()},onDoubleClick:ri,onPointerLeave:b=>{if(He.current||Z0(b.relatedTarget)||th(b.relatedTarget))return;Et(b),Ct(),un.current=null,Tn.current=null;let E=()=>{Dn(null),Bt(null)};if(ma(Be)){let{clientX:te,clientY:de}=b;window.setTimeout(()=>{th(document.elementFromPoint(te,de))||lt.current!==null||E()},100);return}E()},onContextMenu:b=>{if(Q&&Gp(b.currentTarget.ownerDocument,b.clientX,b.clientY)){b.preventDefault(),b.stopPropagation(),nc(Q);return}da(b)}}),it&&H&&(()=>{let b=H.resolve(it);return b?h(Tl,{element:b.element,activeFacet:"translate",accentColor:r.activeColor,showHandles:!1,showRotateHandle:!1,refreshKey:at}):null})(),ve&&H&&h(_b,{accentColor:r.activeColor,created:ve.created,registry:H,target:ve.target,onCommit:b=>{Dn(b.element),Bt(b.elementInfo),vt(E=>E+1)},onClose:()=>Pe(null),onCancelCreated:()=>{H.remove(ve.target),Pe(null)}},`${ve.target.adapter}:${ve.target.key}`),On&&h(jv,{color:Mr,cursorRef:Ke,tool:On.tool,onHandoff:()=>an(b=>b?.id===On.id?{...b,nativeReady:!0}:b),onDone:()=>an(null)},On.id),r.isAnnotating&&v&&T(rt,{children:[Kd&&v.subjectAnchor&&h(Pv,{element:Kd,annotationRect:{left:di,top:Pi,width:Mo,height:si},subjectAnchor:v.subjectAnchor,color:r.activeColor,subjectRegistry:H}),h(Mv,{value:v.text,fontSize:v.fontSize,prefix:Gt,inputRef:So,inputStyle:Xd,selectionBackground:Xh,selectionColor:Kh,annotationBorderRadius:Yd,activeColor:r.activeColor,boundaryRects:v.domEdit?.boundaryRects,wrapsDomText:v.domEdit?.wrapsText,showEditor:!Ye,rawLeft:di,top:Pi,baselineOffset:Sd,onChange:oi,onKeyDown:to,onPaste:ye,onBlur:Ua}),!Ye&&!v.domEdit&&h(Cv,{rawLeft:di,width:Mo,top:Pi,scroll:mn,collisionId:Ce,nestedAnnotationCount:Mt,nestedAnnotationIds:To,nestedBadgeColor:Er,imageCount:Rr,color:r.activeColor,interactionEpisodeStepCount:v.interactionEpisode?.steps.length??0,showSendHint:Go===Do&&!!v.text.trim(),bundleCount:Io,onHoverNestedAnnotations:wo,onHoverSendHint:xo,onClearInteractionEpisode:()=>Xr(v.id),onSend:A?Zr:void 0}),h(Vf,{point:v.point,scroll:mn,attachments:v.attachments??[],showAttachments:!v.domEdit,onRemoveAttachment:Xe})]}),r.isAnnotating&&r.activeTool!=="hand"&&(ir.length>0||Jn.length>0||Zo.length>0||(m?.size??0)>0||ae)&&h(Gf,{styleModifications:ir,textModifications:Jn,stagedComments:Zo,accentColor:r.activeColor,annotationNumberBySelector:B,inFlightSelectors:p,inFlightAnnotationIds:a,activeAnnotationIds:c,inFlightSelectorJobIds:u,waitingApprovalJobIds:s,inFlightSelectorColors:f,toolbarRef:j,onHoverSelector:fn,sendHintSelector:ti,pendingBundleCount:Io,onHoverSendBundle:xo,onSend:A?Zr:void 0,onSelectSticker:Ql,onDeleteSticker:Zl,threadStates:m,onViewThread:S,hoveredElement:Be,hoveredElementInfo:vn,showHoverIdentifier:ae,onEditComment:Qr,onDeleteComment:or,onDeletePeerComment:X?b=>{let E=Nt.current.annotations.find(te=>te.id===b);E&&tl(E,Nt.current.annotations)?or(b):X(b)}:void 0,onDiscardTextChanges:Oa,onArchiveThread:M,onClearInteractionEpisode:Xr,onEditSubject:Yn,onDeleteSubject:nc,onHoverSubjectLabel:b=>{lt.current=b},refreshKey:Fn,activeCommentEntry:Ye?{element:Ye.element,width:Mo,imageCount:Rr,trailingWidth:xc(Rr)+Vc(v?.interactionEpisode?.steps.length??0),render:Bh}:void 0}),r.activeTool==="hand"&&r.isAnnotating&&(ir.length>0||Jn.length>0)&&h(Ib,{styleModifications:ir.filter(b=>{let E=ln(b.selector);return!!E&&Lr(E,"pending-change")}),textModifications:Jn.filter(b=>{let E=ln(b.selector);return!!E&&Lr(E,"pending-change")}),accentColor:r.activeColor}),r.isAnnotating&&!v?.domEdit&&(()=>{let b=new Set;return Jn.flatMap(E=>{if(E.captured||b.has(E.selector))return[];let te=ln(E.selector);return te?Lr(te,"pending-change")?(b.add(E.selector),[h(ao,{element:te,isSelected:!1,color:r.activeColor,hideTooltip:!0},`pending-text-change-${E.selector}`)]):[]:[]})})(),r.isAnnotating&&h(Ym,{annotations:gn,displayAnnotations:we,supersededAnnotations:Ir,inFlightIds:a,orientationLabels:l,activeIds:c,queuePositions:d,scrollX:mn.x,scrollY:mn.y,annotationGroupMap:I,onViewThread:S,onSelectAnnotation:Vo,onDeleteDraftAnnotation:or,onClearInteractionEpisode:Xr,onHoverAnnotation:Ei,canvasRef:G,toolbarRef:j,activeBundleAnnotationIds:Ci,inactiveBundleOpacity:Mi,animateBundleOpacity:!Gr&&!Ja,hoverRestoredAnnotationIds:la,nestedAnnotationCountById:pe,nestedAnnotationIdsById:Me,onHoverNestedAnnotations:wo,onHoverSendBundle:xo,onSend:A?Zr:void 0,sendHintAnchorId:St===Do?null:St,pendingBundleCount:Io,parentPinnedAnnotationIds:Mn,parentPinnedLocationLabels:es,parentPinnedTooltipAnnotationId:aa,onActivateAnnotation:Wa,hiddenAnnotationIds:ei}),r.isAnnotating&&Gd&&h(Gc,{inFlightSelectorColors:Gd,selectorElementInfo:Zd,subjectRegistry:H}),r.isAnnotating&&Qd&&h(Gc,{inFlightSelectorColors:Qd,selectorElementInfo:Zd,animated:!1,subjectRegistry:H}),h(hb,{active:r.activeTool==="hand"&&r.isAnnotating,accentColor:r.activeColor,domDropPreview:R,cursorViewport:De,gapElement:yr?nt.current.element:Re,gapDragging:yr,gapHoveredAxis:Yr,gapIsAuto:br,gapRefreshKey:Yl,swipeHint:Xl,radiusElement:tr?go.current.element:yo,radiusDragging:tr,radiusHoveredCorner:xn,textElement:Ur?bo.current.element:wr,textDragging:Ur,textHoveredProperty:ki,paddingElement:ge?rn.current.element:mr,paddingDragging:ge,paddingHoveredSide:fo}),r.isAnnotating&&e&&!v&&!Ge&&!ve&&h(cv,{hasExistingOverlay:Yh,entry:e,color:r.activeColor,subjectRegistry:H}),(r.activeTool==="inspector"||r.activeTool==="sticker")&&r.isAnnotating&&h(rt,{children:Be&&(()=>{let b=r.activeTool==="sticker"&&Vt==="value"&&(wt==="padding"||wt==="margin")&&Dt.current?.element===Be,E=Ip(r.activeTool==="sticker",wt,Vt,qt);if(Uh(Be)||!Lr(Be,"inspector-hover"))return null;let te=v?.linkedSelector?Zt(v.linkedSelector,v.elements):null,de=Ge?.linkedSelector?Zt(Ge.linkedSelector,Ge.elements):null,ke=(te?Xs(te,Be,v?.elements?.[0]?.context):!1)||(de?Xs(de,Be,Ge?.elements?.[0]?.context):!1)||gn.some(kt=>{if(!kt.linkedSelector||Ir.has(kt))return!1;let Pt=Zt(kt.linkedSelector,kt.elements);return Xs(Pt,Be,kt.elements?.[0]?.context)}),Qe=!!$e||!!An;return T(rt,{children:[!b&&h(ao,{element:Be,isSelected:!1,elementInfo:vn,color:is,hideOutline:!Q,hideFill:!Q,refreshKey:r.activeTool==="sticker"?Fn:void 0,hideTooltip:se||ae||ke||Qe}),!E&&!Q&&h(Tl,{element:Be,activeFacet:"translate",accentColor:is,showHandles:!1,outlineStyle:"dashed",refreshKey:r.activeTool==="sticker"?Fn:void 0})]})})()}),h($b,{active:r.activeTool==="sticker"&&r.isAnnotating,accentColor:is,family:wt,stage:Vt,subproperty:qt,hoveredElement:Be,previewElement:Dt.current?.element??null,transformPreviewElement:Ht.current?.element??null,previewRevision:Fn,cursorViewport:po,drag:nr,onGapPointerDown:$a,onRadiusPointerDown:It,onSpacingPointerDown:za,onTransformPointerDown:Da}),r.activeTool==="sticker"&&r.isAnnotating&&po&&h(Qf,{cursor:po,family:wt,step:nn,subproperty:qt,stage:Vt,accentColor:r.activeColor,applyPulse:zt,contextLabelPulse:ur,depthSnapPulse:_n,rejectPulse:yi,stepUnavailable:bn,query:cn?{tokens:cn.segments.flatMap((b,E)=>{let te=cn.history[E]?.scope??pd,de=ka(te,b);return de?[Ew(de)]:[]}),...Tw(cn.query,hd(cn.scope,cn.query))}:null,toolbarElement:j?.current,threadElement:z,annotationRailHovered:Cn!==null||An!==null||fr!==null||Wn}),!fr&&!Wn&&(v?.linkedSelector||Ge?.linkedSelector)&&(()=>{let b=v?.linkedSelector||Ge?.linkedSelector;if(!b)return null;let E=Zt(b,v?.elements??Ge?.elements);return!E||!Lr(E,"direct-manipulation")?null:h(ao,{element:E,isSelected:!0,color:ue?.color??r.activeColor,hideTooltip:!0})})(),J&&(()=>{if(Wn)return null;let b=r.annotations.find(de=>de.id===J);if(!b?.linkedSelector||qh===b.linkedSelector)return null;let E=Zt(b.linkedSelector,b.elements);if(!E||!Lr(E,"thread-focus"))return null;let te=!!(a&&a.has(b.id));return h(ao,{element:E,isSelected:!te,color:b.color,onActivate:b.threadId?()=>Bo(b.threadId):void 0,hideTooltip:!0})})(),Vd&&(()=>{let b=r.annotations.find(te=>te.id===Vd);if(!b?.linkedSelector)return null;let E=Zt(b.linkedSelector,b.elements);return!E||!Lr(E,"annotation-hover")?null:h(ao,{element:E,isSelected:!1,color:b.color,onActivate:b.threadId?()=>Bo(b.threadId):void 0,hideTooltip:!0})})(),fr&&!Wn&&(()=>{let b=new Set;return fr.annotationIds.flatMap(E=>{let te=r.annotations.find(ke=>ke.id===E);if(!te?.linkedSelector||b.has(te.linkedSelector))return[];let de=Zt(te.linkedSelector,te.elements);return de?Lr(de,"nested-preview")?(b.add(te.linkedSelector),[h(ao,{element:de,isSelected:!1,color:te.color,hideTooltip:!0},`nested-annotation-${E}`)]):[]:[]})})(),Wn&&(()=>{let b=[],E=new Set,te=(de,ke,Qe,kt)=>{if(!ke||E.has(ke))return;let Pt=Zt(ke,Qe);Pt&&Lr(Pt,"bundle-preview")&&(E.add(ke),b.push({id:de,element:Pt,color:kt}))};for(let de of gn)(de.status??"pending")==="pending"&&te(de.id,de.linkedSelector,de.elements,de.color);v&&!v.domEdit&&v.text.trim()&&te(Do,v.linkedSelector,v.elements,r.activeColor);for(let de of ir)de.captured||te(`style-${de.selector}`,de.selector,[de.element],r.activeColor);for(let de of Jn)de.captured||te(`text-${de.selector}`,de.selector,[de.element],r.activeColor);return b.map(de=>h(ao,{element:de.element,isSelected:!1,color:de.color,hideTooltip:!0},`send-bundle-${de.id}`))})(),Cn&&(()=>{let b=ln(Cn);if(!b||!Lr(b,"badge-hover"))return null;let E=us([Cn],m??new Map,sa.get(Cn)??r.activeColor,ln);return h(rt,{children:h(ao,{element:b,isSelected:!1,color:E,fillOpacity:.1,hideTooltip:!0,subjectRegistry:H})})})()]})}var nx={capacity:{label:"At capacity",message:"The model provider is temporarily unavailable. Try again shortly."},rate_limited:{label:"Rate limited",message:"The model provider is receiving too many requests. Try again shortly."},timeout:{label:"Timed out",message:"The model took too long to respond. Try again."},connection:{label:"Connection lost",message:"The model provider disconnected before the run completed. Try again."},authentication:{label:"Sign-in required",message:"The model provider needs to be authenticated before this run can continue."},send_rejected:{label:"Not sent",message:"This reply did not reach the thread. Try again when the connection is ready."},failed:{label:"Failed",message:"The model could not complete this run. Try again, or inspect the job diagnostics if the problem continues."}};function rx(e){let t=typeof e=="string"?e:(()=>{try{return JSON.stringify(e)}catch{return String(e??"")}})();return/\b(?:http\s*)?503\b|server at capacity|\bat capacity\b|resource[_\s-]?exhausted|temporarily unavailable/i.test(t)?"capacity":/\b(?:http\s*)?429\b|rate[_\s-]?limit|too many requests/i.test(t)?"rate_limited":/timed?\s*out|timeout/i.test(t)?"timeout":/auth(?:entication|orization)? required|oauth|not authenticated|sign[ -]?in required|unauthorized|\b401\b/i.test(t)?"authentication":/transport channel closed|connection (?:closed|lost|reset)|socket hang up|network error|disconnected/i.test(t)?"connection":"failed"}function rh(e,t){let n=t??rx(e);return{kind:n,...nx[n]}}function ox(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 jl(e,t,n){return t&&n?.get(t)||e}var kd="popmelt-status-notices",oh=50,ih=2,ix=new Set(["Model","Reviewed","Has a question","Needs decision","Needs review","Applied changes","Replied","Done"]);function ah(e){return e.status!=="done"||e.doneLabel&&ix.has(e.doneLabel)?e:{...e,doneLabel:"Replied"}}function $l(e){return e?`${kd}:${e}`:kd}function lh(e,t,n=!0){return t===null?!1:t===void 0?!0:e.threadId?t.has(e.threadId):n&&e.global===!0}function sh(e){if(typeof window>"u")return[];try{let t=JSON.parse(localStorage.getItem($l(e))??localStorage.getItem(kd)??"[]");return(Array.isArray(t)?t:t?.version===ih&&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(ah).slice(-oh)}catch{return[]}}function Id(e){try{let t=JSON.parse(localStorage.getItem($l(e))||"{}");return new Set(Array.isArray(t.acknowledgedJobIds)?t.acknowledgedJobIds.filter(n=>typeof n=="string"):[])}catch{return new Set}}function ax(e,t,n){if(!(typeof window>"u"))try{let r=e.filter(Ho).map(ah).slice(-oh),o=JSON.stringify({version:ih,entries:r,acknowledgedJobIds:Array.from(n).slice(-500)}),i=$l(t);localStorage.getItem(i)!==o&&localStorage.setItem(i,o)}catch{}}function Ho(e){return e.status==="done"||e.status==="error"}function Ed(e,t){return!!(t&&e.status==="done"&&e.doneLabel==="Has a question"&&e.threadId&&t.has(e.threadId))}function lx(e,t,n,r,o){return!e&&(t||n)&&(r>0||o===!1)}function sx(e,t){return e.left<t.right&&e.right>t.left&&e.top<t.bottom&&e.bottom>t.top}var dx=['[data-devtools="thread-panel"]:not([aria-hidden="true"])','[data-devtools="imprint-panel"]','[data-popmelt-active-annotation-surface="true"]'].join(", "),dh=500,cx=80,ch=120;function zl(e){return e==="project_model"}var Td=2,Ea=24,ux=0,Ad={display:"flex",alignItems:"center",gap:3,padding:`${Td}px 0`,backgroundColor:"transparent",border:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,height:Ea,boxSizing:"border-box",whiteSpace:"nowrap",animation:"popmeltJobStatusEnter 180ms ease-out both",transition:"transform 200ms ease, opacity 200ms ease",willChange:"transform, opacity"};function px(e,t=!1){if(e.find(d=>d.type==="job_started")?.data.kind==="project_model")return"Projecting model";let n=e.filter(d=>d.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(d=>d.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,c=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(!c)return"Running command";let d=c.split(`
|
|
62
|
-
`)[0].trim();return t||d.length<=40?d:d.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return a?`Using ${a}`:"Working\u2026"}}function hx(e,t=!1){if(!t)return"Failed";let n=rh(e);return`${n.label} \u2014 ${n.message}`}function fx(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 c=1,d=0;for(let p of r){let u=d===0?p.length:d+1+p.length;u<=s?d=u:(c+=1,d=p.length)}return c},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 Cd(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 uh(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 c=s.type==="error",d=c?"error":"done",p=c?void 0:Cd(t,l.jobId),u=c?String(s.data.message||""):void 0,f=c?!!s.data.cancelled:void 0,m=typeof s.data.threadId=="string"?s.data.threadId:void 0;return l.status===d&&l.doneLabel===p&&l.errorMessage===u&&l.cancelled===f&&l.threadId===(l.threadId||m)?l:(i=!0,{...l,status:d,doneLabel:p,errorMessage:u,cancelled:f,threadId:l.threadId||m})});return i?a:e}function mx(e,t){return t?[...e].reverse():e}function gx({color:e}){let[t,n]=P(0);return _(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),h("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?T(rt,{children:[h("circle",{cx:"7",cy:"7",r:"2"}),h("circle",{cx:"17",cy:"7",r:"2"}),h("circle",{cx:"7",cy:"17",r:"2"}),h("circle",{cx:"17",cy:"17",r:"2"})]}):T(rt,{children:[h("circle",{cx:"12",cy:"6",r:"2"}),h("circle",{cx:"6",cy:"12",r:"2"}),h("circle",{cx:"18",cy:"12",r:"2"}),h("circle",{cx:"12",cy:"18",r:"2"})]})})}function yx({color:e}){return h("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function vx({onCancel:e}){let t=q(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]),h("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 bx({onDismiss:e,onHoverChange:t}){let n=q(null),[r,o]=P(!1);return _(()=>{let i=n.current;if(!i)return;let a=c=>{c.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]),h("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:h(Dg,{size:12,strokeWidth:2.25})})}function wx({bridge:e,inFlightJobs:t,threadColors:n,isVisible:r,isHidden:o=!1,onHover:i,isInteractionSuppressed:a=!1,clearSignal:l,onClickJob:s,onCancel:c,onHoverJob:d,isConnected:p,dismissedThreadIds:u,acknowledgedThread:f,recoveredAcknowledgedThreadIds:m,recoveredAcknowledgedJobIds:g,recoveredSettledQuestionThreadIds:y,pendingQuestionThreadIds:x,snapPosition:L="bottom-right",currentPathname:A,noticeScope:S,ownedThreadIds:O,allowThreadlessNotices:M=!0,viewedThreadId:X}){let Z=q(new Set),[N,V]=P(()=>{let v=Id(S),le=sh(S).filter(ye=>!v.has(ye.jobId));return Z.current=new Set(le.map(ye=>ye.jobId)),le}),[J,k]=P(!1),[K,ee]=P(null),[j,z]=P(null),[$,H]=P(!1),[D,C]=P(!1),[ne,oe]=P("waiting"),G=a||$,ce=o||G,F=q(ce),Se=q(!1),ie=q(null),re=q(null),Te=q(null),[je]=P(()=>Id(S)),Oe=q(je),Y=q(new Set);_(()=>{G&&(k(!1),ee(null),i(!1),d?.(null))},[G,i,d]),_(()=>{o&&(k(!1),ee(null),i(!1),d?.(null))},[o,i,d]),_(()=>{O!==null&&ax(N.filter(v=>lh(v,O,M)&&!Oe.current.has(v.jobId)),S,Oe.current)},[N,S,O,M]),_(()=>{if(!X)return;let v=N.filter(le=>le.threadId===X&&Ho(le));v.length!==0&&(v.forEach(le=>Oe.current.add(le.jobId)),V(le=>le.filter(ye=>!Oe.current.has(ye.jobId))))},[N,X]),_(()=>{V(v=>ox(v,n))},[n]),_(()=>{let v=le=>{if(le.key!==$l(S))return;Id(S).forEach(Xe=>Oe.current.add(Xe));let ye=sh(S).filter(Xe=>!Oe.current.has(Xe.jobId));V(Xe=>[...Xe.filter(bt=>!Ho(bt)),...ye])};return window.addEventListener("storage",v),()=>window.removeEventListener("storage",v)},[S]);let[be,Le]=P(()=>typeof window<"u"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});_(()=>{let v=()=>Le({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",v),()=>window.removeEventListener("resize",v)},[]);let He=om(L,be.w,be.h);_(()=>{l>0&&V(v=>(v.forEach(le=>Oe.current.add(le.jobId)),[]))},[l]),_(()=>{!u||u.size===0||V(v=>{let le=v.filter(ye=>!ye.threadId||!u.has(ye.threadId)||!Ho(ye));return le.length===v.length?v:le})},[u]),_(()=>{f&&(Y.current.add(f.threadId),V(v=>{let le=v.filter(ye=>ye.threadId===f.threadId&&Ho(ye));return le.forEach(ye=>Oe.current.add(ye.jobId)),le.length===0?v:v.filter(ye=>!Oe.current.has(ye.jobId))}))},[f]),_(()=>{!m||m.size===0||(m.forEach(v=>Y.current.add(v)),V(v=>{let le=v.filter(ye=>ye.threadId&&m.has(ye.threadId)&&Ho(ye));return le.forEach(ye=>Oe.current.add(ye.jobId)),le.length===0?v:v.filter(ye=>!Oe.current.has(ye.jobId))}))},[m]),_(()=>{!g||g.size===0||(g.forEach(v=>Oe.current.add(v)),V(v=>{let le=v.filter(ye=>!g.has(ye.jobId));return le.length===v.length?v:le}))},[g]),_(()=>{!y||y.size===0||V(v=>{let le=v.filter(ye=>!Ed(ye,y));return le.length===v.length?v:le})},[y]),_(()=>{!x||x.size===0||V(v=>{let le=!1,ye=v.map(Xe=>Xe.status!=="done"||!Xe.threadId||!x.has(Xe.threadId)||Xe.doneLabel==="Has a question"?Xe:(le=!0,{...Xe,doneLabel:"Has a question"}));return le?ye:v})},[x]),_(()=>{V(v=>{let le=new Set(v.map(ve=>ve.jobId)),ye=!1,Xe=v.map(ve=>{let Pe=t[ve.jobId];if(Pe&&(!ve.threadId||ve.color==="#888"||!ve.kind||!ve.routePathnames&&Pe.routePathnames||ve.global==null&&Pe.global!=null))return ye=!0,{...ve,annotationIds:ve.annotationIds??Pe.annotationIds,threadId:ve.threadId||Pe.threadId||e.activeJobThreads[ve.jobId],color:jl(ve.color==="#888"?Pe.color:ve.color,ve.threadId||Pe.threadId,n),kind:ve.kind??Pe.kind,routePathnames:ve.routePathnames??Pe.routePathnames,global:ve.global??Pe.global};let at=e.activeJobThreads[ve.jobId];return!ve.threadId&&at?(ye=!0,{...ve,threadId:at,color:jl(ve.color,at,n)}):ve});for(let[ve,Pe]of Object.entries(t)){if(zl(Pe.kind))continue;let at=e.events.some(lt=>lt.data.jobId===ve&<.type!=="job_started"),vt=!!(Pe.threadId&&Y.current.has(Pe.threadId)&&!at);!le.has(ve)&&!Oe.current.has(ve)&&!vt&&(Xe.push({jobId:ve,annotationIds:Pe.annotationIds,color:jl(Pe.color,Pe.threadId,n),status:"queued",kind:Pe.kind,threadId:Pe.threadId,routePathnames:Pe.routePathnames,global:Pe.global}),ye=!0)}let bt=new Set(Object.keys(t)),$e=new Set(e.activeJobIds),xt=Xe.filter(ve=>zl(ve.kind)?!1:ve.status!=="queued"?!0:bt.has(ve.jobId)||$e.has(ve.jobId));xt.length!==Xe.length&&(ye=!0);let Ge=new Set(xt.map(ve=>ve.jobId));for(let ve of e.activeJobIds)if(!Ge.has(ve)&&!Oe.current.has(ve)){let Pe=e.events.find(Be=>Be.type==="job_started"&&Be.data.jobId===ve),at=Pe?.data.kind;if(zl(at))continue;let vt=Pe?.data?.threadId??e.activeJobThreads[ve],lt=e.events.some(Be=>Be.data.jobId===ve&&Be.type!=="job_started");if(vt&&Y.current.has(vt)&&!lt)continue;let Ke=typeof Pe?.data.color=="string"?Pe.data.color:at==="synthesize"||at==="project_model"?"#000000":"#888",en=jl(Ke,vt,n);xt.push({jobId:ve,annotationIds:Array.isArray(Pe?.data.annotationIds)?Pe.data.annotationIds.filter(Be=>typeof Be=="string"):void 0,color:en,status:"working",kind:at,threadId:vt,routePathnames:void 0,global:Pe?.data.global===!0||at==="synthesize"||at==="project_model"}),ye=!0}let gt=uh(xt.filter(ve=>!Oe.current.has(ve.jobId)),e.events,e.activeJobIds).filter(ve=>!Ed(ve,y));return ye||gt!==xt?gt:v})},[t,e.activeJobIds,e.activeJobThreads,e.events,y,n]),_(()=>{if(e.activeJobIds.length===0)return;let v=new Set(e.activeJobIds);V(le=>le.map(ye=>v.has(ye.jobId)&&ye.status!=="done"&&ye.status!=="error"?{...ye,status:"working"}:ye))},[e.activeJobIds]),_(()=>{V(v=>{let le=uh(v.filter(Xe=>!Oe.current.has(Xe.jobId)),e.events).filter(Xe=>!Ed(Xe,y));if(!u||u.size===0)return le;let ye=le.filter(Xe=>!Xe.threadId||!u.has(Xe.threadId)||!Ho(Xe));return ye.length===le.length?le:ye})},[e.events,u,y]);let et=U(v=>v.global||!A||!v.routePathnames||v.routePathnames.length===0?!0:v.routePathnames.includes(A),[A]),it=xe(()=>N.filter(v=>!zl(v.kind)&&et(v)&&lh(v,O,M)&&(!X||v.threadId!==X)&&!(v.threadId&&u?.has(v.threadId))&&!Oe.current.has(v.jobId)),[N,et,O,M,X,u]),me=it.some(Ho),he=lx(o,r,me,it.length,p),Je=it.map(v=>`${v.jobId}:${v.status}:${v.color}:${v.threadId??""}`).join("|");Tt(()=>{let v=F.current;if(F.current=ce,ie.current&&(clearTimeout(ie.current),ie.current=null),re.current&&(clearTimeout(re.current),re.current=null),Te.current&&(clearTimeout(Te.current),Te.current=null),!Se.current){if(ce||!he){C(!1),oe("waiting");return}return it.forEach(le=>Z.current.add(le.jobId)),C(!0),oe("waiting"),ie.current=setTimeout(()=>{oe("fading"),ie.current=null,re.current=setTimeout(()=>{Se.current=!0,oe("complete"),re.current=null,Te.current=setTimeout(()=>{C(!1),Te.current=null},dh)},ch)},cx),()=>{ie.current&&(clearTimeout(ie.current),ie.current=null),re.current&&(clearTimeout(re.current),re.current=null),Te.current&&(clearTimeout(Te.current),Te.current=null)}}if(ce||!he){C(!1);return}if(v)return C(!0),Te.current=setTimeout(()=>{C(!1),Te.current=null},dh),()=>{Te.current&&(clearTimeout(Te.current),Te.current=null)}},[Je,ce,he,it]);let qe=q(null);Tt(()=>{if(!he){H(!1);return}let v=qe.current;if(!v)return;let le=null,ye=new Set,Xe=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>Ge()),bt=()=>{let at=[document],vt=v.getRootNode();return vt!==document&&"querySelectorAll"in vt&&at.unshift(vt),at},$e=()=>{let at=new Set;for(let vt of bt())vt.querySelectorAll(dx).forEach(lt=>at.add(lt));return Array.from(at)},xt=()=>{le=null;let at=v.getBoundingClientRect(),vt=$e();for(let Ke of vt)Xe&&!ye.has(Ke)&&(ye.add(Ke),Xe.observe(Ke));let lt=vt.some(Ke=>{let en=window.getComputedStyle(Ke);return en.display==="none"||en.visibility==="hidden"||en.opacity==="0"?!1:sx(at,Ke.getBoundingClientRect())});H(Ke=>Ke===lt?Ke:lt)};function Ge(){le===null&&(le=window.requestAnimationFrame(xt))}Xe?.observe(v);let gt=v.getRootNode(),ve=typeof MutationObserver>"u"?null:new MutationObserver(Ge);ve&> instanceof Node&&ve.observe(gt,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["aria-hidden","style"]});let Pe=typeof MutationObserver>"u"||!document.body?null:new MutationObserver(Ge);return Pe?.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-popmelt-active-annotation-surface"]}),window.addEventListener("resize",Ge),window.addEventListener("scroll",Ge,!0),window.addEventListener("pointermove",Ge,{passive:!0}),xt(),()=>{le!==null&&window.cancelAnimationFrame(le),Xe?.disconnect(),ve?.disconnect(),Pe?.disconnect(),window.removeEventListener("resize",Ge),window.removeEventListener("scroll",Ge,!0),window.removeEventListener("pointermove",Ge)}},[he,L,it.length]),_(()=>{if(!he)return;let v=qe.current;if(!v)return;let le=()=>{k(!0),i(!0)},ye=()=>{k(!1),ee(null),i(!1),d?.(null)};return v.addEventListener("mouseenter",le),v.addEventListener("mouseleave",ye),()=>{v.removeEventListener("mouseenter",le),v.removeEventListener("mouseleave",ye)}},[he,i,d]);let st=q(new Map),Ve=U((v,le)=>{le?st.current.set(v,le):st.current.delete(v)},[]);if(_(()=>{if(!he)return;let v=[];for(let le of it){let ye=st.current.get(le.jobId);if(!ye)continue;if(s){let Ge=le.jobId,gt=le.threadId,ve=le.annotationIds,Pe=()=>s(Ge,gt,ve);ye.addEventListener("click",Pe),v.push(()=>ye.removeEventListener("click",Pe))}let Xe=le.jobId,bt=le.annotationIds,$e=()=>{ee(Xe),d?.(Xe,bt)},xt=()=>{ee(Ge=>Ge===Xe?null:Ge),d?.(null)};ye.addEventListener("mouseenter",$e),ye.addEventListener("mouseleave",xt),v.push(()=>{ye.removeEventListener("mouseenter",$e),ye.removeEventListener("mouseleave",xt)})}return()=>v.forEach(le=>le())},[he,it,s,d]),!he)return null;let Ie={working:3,queued:2,error:1,done:0},Ue=[],mt=new Map;for(let v of it){if(!v.threadId){Ue.push(v);continue}let le=mt.get(v.threadId);(!le||Ie[v.status]>Ie[le.status]||Ie[v.status]===Ie[le.status])&&mt.set(v.threadId,v)}for(let v of mt.values())Ue.push(v);let _t=Ue.filter(v=>v.status==="queued"),yt=new Map;_t.forEach((v,le)=>{yt.set(v.jobId,`(${le+1}/${_t.length})`)});let We=!J&&!D&&Ue.length>1,pt=im(L),kn=am(L),Kt=mx(Ue,pt),In=Au(e.events),Ft=new Map(Ue.map((v,le)=>[v.jobId,le])),Ne=!Se.current&&ne==="waiting",ht=!Se.current&&ne==="fading",dt=G||Ne;return T("div",{ref:qe,style:{...He,zIndex:10001,opacity:dt?0:1,visibility:dt?"hidden":"visible",pointerEvents:dt?"none":"auto",transition:ht?`opacity ${ch}ms ease-out`:"none"},"aria-hidden":dt||void 0,"data-devtools":!0,children:[h("style",{children:`
|
|
63
|
-
@keyframes popmeltJobStatusEnter {
|
|
64
|
-
from { opacity: 0; transform: translateX(12px); }
|
|
65
|
-
to { opacity: 1; transform: translateX(0); }
|
|
66
|
-
}
|
|
67
|
-
@media (prefers-reduced-motion: reduce) {
|
|
68
|
-
@keyframes popmeltJobStatusEnter {
|
|
69
|
-
from { opacity: 1; transform: none; }
|
|
70
|
-
to { opacity: 1; transform: none; }
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
`}),Kt.map((v,le)=>{let ye=le===Kt.length-1,Xe=Ft.get(v.jobId)??le,bt=Ue.length-1-Xe,$e=K===v.jobId,xt=Math.max(160,Math.min(360,be.w-32)),Ge=v.status==="working"&&In.has(v.jobId),gt=Ke=>Ge?"Approval needed":v.status==="working"?px(e.events.filter(en=>en.data.jobId===v.jobId),Ke):v.status==="queued"?`Queued ${yt.get(v.jobId)??""}`:v.status==="done"?v.doneLabel||"Done":v.cancelled?"Cancelled":hx(v.errorMessage||"",Ke),ve=gt(!1),Pe=gt(!0),at=$e?Pe:ve,vt=fx(at,3),lt=$e&&(Pe!==ve||vt>24);return h("div",{"data-popmelt-status-job":v.jobId,style:{position:"relative",zIndex:Xe+1,marginBottom:We?ye?0:-18:ye?0:ux,transform:We?`scale(${Math.max(.94,1-bt*.02)})`:"scale(1)",opacity:1,transformOrigin:`${pt?"top":"bottom"} ${kn?"right":"left"}`,transition:D?"none":"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:h("div",{ref:Ke=>Ve(v.jobId,Ke),style:{...Ad,animation:!Se.current||Z.current.has(v.jobId)?"none":Ad.animation,position:"relative",overflow:"visible",cursor:s?"pointer":void 0,height:lt?"auto":Ea,minHeight:Ea,alignItems:lt?"flex-start":"center"},"aria-label":at,children:T("div",{style:{display:"flex",alignItems:lt?"flex-start":"center",gap:3,height:lt?"auto":Ea-Td*2,minHeight:Ea-Td*2,maxWidth:lt?xt:void 0,boxSizing:"border-box",padding:lt?"3px 5px 3px 8px":"0 5px 0 8px",margin:0,backgroundColor:v.color,color:"#ffffff",borderRadius:Qc},children:[T("span",{style:{display:"flex",alignItems:lt?"flex-start":"center",gap:3,minWidth:0,opacity:j===v.jobId?.3:1,transition:"opacity 120ms ease-out"},children:[v.status==="working"&&(Ge?h(vu,{size:12,"aria-label":"Approval needed"}):h(gx,{color:"#ffffff"})),v.status==="queued"&&h(yu,{size:12,strokeWidth:2.25,color:"#ffffff",style:{opacity:.6}}),v.status==="done"&&(v.doneLabel==="Has a question"?h(jg,{size:12,strokeWidth:2.25,style:{marginRight:3}}):v.doneLabel==="Replied"?h($g,{size:12,strokeWidth:2.25}):h(yx,{color:"#ffffff"})),v.status==="error"&&h(zg,{size:12,strokeWidth:2.25}),h("span",{style:{opacity:v.status==="queued"?.6:1,display:lt?"-webkit-box":"block",WebkitBoxOrient:lt?"vertical":void 0,WebkitLineClamp:lt?3:void 0,whiteSpace:lt?"normal":"nowrap",textWrap:lt?"balance":void 0,lineHeight:"14px",width:lt?`min(${vt+.5}ch, ${xt-48}px)`:void 0,maxWidth:lt?xt-48:160,overflow:"hidden",textOverflow:"ellipsis",transition:"opacity 120ms ease-out"},children:at})]}),v.status==="working"&&c&&h(vx,{onCancel:()=>c(v.jobId)}),(v.status==="done"||v.status==="error")&&h(bx,{onHoverChange:Ke=>z(Ke?v.jobId:null),onDismiss:()=>{z(null),N.filter(Ke=>v.threadId?Ke.threadId===v.threadId:Ke.jobId===v.jobId).forEach(Ke=>Oe.current.add(Ke.jobId)),V(Ke=>Ke.filter(en=>v.threadId?en.threadId!==v.threadId:en.jobId!==v.jobId))}})]})})},v.jobId)}),p===!1&&N.length>0&&h("div",{style:Ad,children:T("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:0,backgroundColor:"#f59e0b",color:"#ffffff",borderRadius:Qc},children:[h("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),h("span",{children:"Reconnecting\u2026"})]})})]})}var xx=`
|
|
74
|
-
[data-popmelt-top-layer-host] {
|
|
75
|
-
-webkit-user-select: none;
|
|
76
|
-
user-select: none;
|
|
77
|
-
--popmelt-selection-background: #626262;
|
|
78
|
-
--popmelt-selection-color: #ffffff;
|
|
79
|
-
}
|
|
80
|
-
[data-popmelt-top-layer-host] * {
|
|
81
|
-
-webkit-user-select: none;
|
|
82
|
-
user-select: none;
|
|
83
|
-
}
|
|
84
|
-
[data-popmelt-top-layer-host] [data-popmelt-theme="light"] {
|
|
85
|
-
--popmelt-selection-background: #a3a3a3;
|
|
86
|
-
--popmelt-selection-color: #171717;
|
|
87
|
-
}
|
|
88
|
-
[data-popmelt-top-layer-host] ::selection {
|
|
89
|
-
background: var(--popmelt-selection-background);
|
|
90
|
-
color: var(--popmelt-selection-color);
|
|
91
|
-
}
|
|
92
|
-
[data-popmelt-top-layer-host] :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
93
|
-
[data-popmelt-top-layer-host] :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
94
|
-
-webkit-user-select: text;
|
|
95
|
-
user-select: text;
|
|
96
|
-
}
|
|
97
|
-
`;function Sx({children:e}){let[t,n]=P(null);return Tt(()=>{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?wu(T(rt,{children:[h("style",{children:xx}),e]}),t):null}var kx=`
|
|
98
|
-
${Xm}
|
|
99
|
-
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
|
|
100
|
-
:host {
|
|
101
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
102
|
-
font-size: 12px;
|
|
103
|
-
color: #1f2937;
|
|
104
|
-
line-height: 1.5;
|
|
105
|
-
-webkit-font-smoothing: antialiased;
|
|
106
|
-
-webkit-user-select: none;
|
|
107
|
-
user-select: none;
|
|
108
|
-
--popmelt-selection-background: #626262;
|
|
109
|
-
--popmelt-selection-color: #ffffff;
|
|
110
|
-
}
|
|
111
|
-
/* Host stylesheets are mirrored for previews, including page-wide selection
|
|
112
|
-
colors. Keep chrome labels inert and give editable/thread text a Popmelt
|
|
113
|
-
selection treatment instead of inheriting the page's highlight. */
|
|
114
|
-
:host * {
|
|
115
|
-
-webkit-user-select: none;
|
|
116
|
-
user-select: none;
|
|
117
|
-
}
|
|
118
|
-
:host [data-popmelt-theme="light"] {
|
|
119
|
-
--popmelt-selection-background: #a3a3a3;
|
|
120
|
-
--popmelt-selection-color: #171717;
|
|
121
|
-
/* Keep the native scrollbar width, but soften its high-contrast light thumb. */
|
|
122
|
-
scrollbar-color: rgba(0, 0, 0, 0.06) transparent;
|
|
123
|
-
}
|
|
124
|
-
:host [data-popmelt-theme="dark"],
|
|
125
|
-
:host [data-popmelt-panel] {
|
|
126
|
-
scrollbar-color: auto;
|
|
127
|
-
}
|
|
128
|
-
:host ::selection {
|
|
129
|
-
background: var(--popmelt-selection-background);
|
|
130
|
-
color: var(--popmelt-selection-color);
|
|
131
|
-
}
|
|
132
|
-
:host :is(input, textarea, [contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]),
|
|
133
|
-
:host :is([contenteditable]:not([contenteditable="false"]), [role="textbox"], [data-devtools="thread-panel"]) * {
|
|
134
|
-
-webkit-user-select: text;
|
|
135
|
-
user-select: text;
|
|
136
|
-
}
|
|
137
|
-
/* Direct reset for all Popmelt chrome elements.
|
|
138
|
-
Beats broad selectors from mirrored host stylesheets (e.g. div, span, *).
|
|
139
|
-
Inline styles on individual elements still win (higher specificity).
|
|
140
|
-
color: inherit (not a fixed value) so children properly inherit inline
|
|
141
|
-
colors set by parents \u2014 e.g. thread header sets color:#fff, child spans
|
|
142
|
-
should get white, not this reset gray. */
|
|
143
|
-
:host *:not([data-popmelt-panel]):not([data-popmelt-panel] *):not([data-popmelt-font="sans"]):not([data-popmelt-font="sans"] *) {
|
|
144
|
-
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
145
|
-
font-size: 12px;
|
|
146
|
-
color: inherit;
|
|
147
|
-
line-height: 1.5;
|
|
148
|
-
-webkit-font-smoothing: antialiased;
|
|
149
|
-
}
|
|
150
|
-
/* Thread typography has its own role-based type system. Let descendants
|
|
151
|
-
inherit the nearest thread style so conversational UI can use Geist while
|
|
152
|
-
explicitly monospaced headers, code, and tool payloads remain monospaced. */
|
|
153
|
-
:host [data-devtools="thread-panel"]:not([data-popmelt-panel]) * {
|
|
154
|
-
font-family: inherit;
|
|
155
|
-
font-size: inherit;
|
|
156
|
-
line-height: inherit;
|
|
157
|
-
}
|
|
158
|
-
/* Break font inheritance for component previews \u2014 let mirrored host
|
|
159
|
-
page styles (Tailwind, globals) apply instead of Popmelt's monospace. */
|
|
160
|
-
[data-popmelt-panel] {
|
|
161
|
-
font: 16px / 1.5 system-ui, -apple-system, sans-serif;
|
|
162
|
-
color: initial;
|
|
163
|
-
-webkit-font-smoothing: auto;
|
|
164
|
-
}
|
|
165
|
-
`;function Ix({children:e}){return _(()=>{Um(document)},[]),T(rt,{children:[h("style",{children:kx}),e]})}function Ex(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function Tx(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&&Ex(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 Ax({children:e,zIndex:t=1e4}){let n=q(null),[r,o]=P(null),[i,a]=P(null);return Tt(()=>{let l=n.current;if(!l||l.shadowRoot)return;let s=l.attachShadow({mode:"open"}),c=document.createElement("div");c.setAttribute("data-popmelt-root",""),c.setAttribute("data-popmelt-canvas-block",""),s.appendChild(c),o(s),a(c)},[]),_(()=>{if(r)return Tx(r)},[r]),T(rt,{children:[h("div",{ref:n,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",pointerEvents:"auto",zIndex:t}}),i&&wu(e,i)]})}function co({src:e,alt:t="",...n}){let r=typeof e=="string"&&Jc(e),[o,i]=P(null);return _(()=>{if(!r||typeof e!="string")return;let a=new AbortController,l;return Xt(e,{signal:a.signal,cache:"no-store"}).then(async s=>{if(!s.ok)return;let c=await s.blob();a.signal.aborted||(l=URL.createObjectURL(c),i({src:e,objectUrl:l}))}).catch(()=>{}),()=>{a.abort(),l&&URL.revokeObjectURL(l)}},[e,r]),h("img",{...n,alt:t,src:r?o?.src===e?o.objectUrl:void 0:e})}function Cx({messages:e,renderMessage:t,onChange:n}){return e.length?T("section",{"aria-label":"Queued messages",style:{display:"flex",flexDirection:"column",gap:6,flexShrink:0,borderTop:"1px solid var(--popmelt-thread-hairline)",paddingTop:8},children:[h("style",{children:`
|
|
166
|
-
[data-queued-reply-actions] {
|
|
167
|
-
width: 0;
|
|
168
|
-
margin-left: 0;
|
|
169
|
-
opacity: 0;
|
|
170
|
-
overflow: hidden;
|
|
171
|
-
pointer-events: none;
|
|
172
|
-
transition: width 100ms ease-out, margin-left 100ms ease-out, opacity 100ms ease-out;
|
|
173
|
-
}
|
|
174
|
-
[data-queued-reply]:hover [data-queued-reply-actions],
|
|
175
|
-
[data-queued-reply]:focus-within [data-queued-reply-actions],
|
|
176
|
-
[data-queued-reply][data-editing="true"] [data-queued-reply-actions] {
|
|
177
|
-
width: 52px;
|
|
178
|
-
margin-left: 5px;
|
|
179
|
-
opacity: 1;
|
|
180
|
-
pointer-events: auto;
|
|
181
|
-
}
|
|
182
|
-
[data-queued-reply-actions] button {
|
|
183
|
-
color: var(--popmelt-thread-muted);
|
|
184
|
-
transition: color 50ms ease-out;
|
|
185
|
-
}
|
|
186
|
-
[data-queued-reply-actions] button:not(:disabled):hover,
|
|
187
|
-
[data-queued-reply-actions] button:not(:disabled):focus-visible {
|
|
188
|
-
color: var(--popmelt-thread-action);
|
|
189
|
-
}
|
|
190
|
-
[data-queued-reply-actions] button:not(:disabled):active {
|
|
191
|
-
color: var(--popmelt-thread-action-hover);
|
|
192
|
-
}
|
|
193
|
-
[data-queued-reply-actions] button:disabled {
|
|
194
|
-
opacity: 0.4;
|
|
195
|
-
cursor: default;
|
|
196
|
-
}
|
|
197
|
-
@media (hover: none), (pointer: coarse) {
|
|
198
|
-
[data-queued-reply-actions] {
|
|
199
|
-
width: 52px;
|
|
200
|
-
margin-left: 5px;
|
|
201
|
-
opacity: 1;
|
|
202
|
-
pointer-events: auto;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
@media (prefers-reduced-motion: reduce) {
|
|
206
|
-
[data-queued-reply-actions],
|
|
207
|
-
[data-queued-reply-actions] button { transition: none; }
|
|
208
|
-
}
|
|
209
|
-
`}),T("div",{style:{fontSize:12,fontWeight:600,marginBottom:4,color:"var(--popmelt-thread-muted)"},children:[e.length," queued"]}),e.map(r=>h(Mx,{message:r,renderMessage:t,onChange:n},r.lifecycle?.submissionIds[0]??`${r.jobId}-${r.timestamp}`))]}):null}function Mx({message:e,renderMessage:t,onChange:n}){let[r,o]=P(!1),[i,a]=P(e.replyToQuestion??""),[l,s]=P(!1),[c,d]=P(""),p=!!(n&&e.lifecycle?.submissionIds[0])&&!l,u=async m=>{if(!(!p||!n||m==="")){s(!0),d("");try{await n(e,m),o(!1)}catch(g){d(g instanceof Error?g.message:"Could not update queued message.")}finally{s(!1)}}},f={display:"inline-flex",alignItems:"center",justifyContent:"center",background:"none",border:0,cursor:"pointer",padding:5,width:26,height:28,flexShrink:0};return T("div",{"data-queued-reply":!0,"data-editing":r,style:{display:"flex",flexDirection:"column",gap:4,width:"100%",minWidth:0,flexShrink:0},children:[T("div",{style:{display:"flex",alignItems:"center",minWidth:0},children:[h("div",{"data-queued-reply-preview":!0,style:{flex:1,minWidth:0},children:r&&n?h("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(),u(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&&h("div",{"data-queued-reply-actions":!0,style:{display:"flex",flexShrink:0},children:r?T(rt,{children:[h("button",{type:"button",title:"Save queued message","aria-label":"Save queued message",disabled:!p||!i.trim(),style:f,onClick:()=>{u(i.trim())},children:h(Lo,{size:14})}),h("button",{type:"button",title:"Cancel editing","aria-label":"Cancel editing",disabled:l,style:f,onClick:()=>o(!1),children:h(dl,{size:14})})]}):T(rt,{children:[h("button",{type:"button",title:"Edit queued message","aria-label":"Edit queued message",disabled:!p,style:f,onClick:()=>{a(e.replyToQuestion??""),d(""),o(!0)},children:h(mu,{size:14})}),h("button",{type:"button",title:"Delete queued message","aria-label":"Delete queued message",disabled:!p,style:f,onClick:()=>{u(null)},children:h(Hg,{size:14})})]})})]}),c&&h("div",{role:"alert",style:{fontSize:12,color:"#dc2626"},children:c})]})}var ph={background:"var(--popmelt-thread-soft)",border:"1px solid var(--popmelt-thread-border)",borderRadius:24,display:"flex",flexDirection:"column",gap:10,padding:16},Md={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 Rx({approval:e,accentColor:t,connected:n,decide:r}){let[o,i]=P(!1),[a,l]=P(!1),[s,c]=P(""),d=e.status==="pending",p=async u=>{if(!(a||!n)){l(!0),c("");try{await r(u)}catch(f){c(f instanceof Error?f.message:"Could not send decision.")}finally{l(!1)}}};return d?T("div",{"data-popmelt-approval":e.status,style:ph,children:[T("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:[h(vu,{size:16,color:t,"aria-hidden":"true"}),h("span",{style:{flex:1},children:d?"Permission needed":{pending:"Permission needed",allowed:"Allowed once",denied:"Denied",expired:"Request expired"}[e.status]}),h(Fi,{size:14,"aria-hidden":"true",style:{transform:o?"rotate(180deg)":"none"}})]}),d&&T("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:13,lineHeight:1.35},children:[e.summary,e.phase==="parked"&&h("div",{role:"status",children:"Parked \xB7 other tasks can continue. Approve to run next."})]}),h("div",{title:e.cwd,style:{fontSize:11,color:"var(--popmelt-thread-muted-strong)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.cwd}),o&&T("div",{style:{borderLeft:"1px solid var(--popmelt-thread-border)",paddingLeft:12,color:"var(--popmelt-thread-secondary)",fontSize:12},children:[T("div",{children:["One-time permission for this"," ",e.kind==="command"?"command":"file change","."]}),h("pre",{style:{fontSize:11,whiteSpace:"pre-wrap",overflowWrap:"anywhere",maxHeight:200,overflow:"auto",marginBottom:0},children:e.details})]}),d&&T("div",{style:{display:"flex",gap:6},children:[h("button",{type:"button","data-approval-decision":"allow",disabled:a||!n,style:Md,onClick:()=>{p("allow")},children:"Allow once"}),h("button",{type:"button","data-approval-decision":"deny",disabled:a||!n,style:Md,onClick:()=>{p("deny")},children:"Deny"})]}),d&&!n&&h("div",{role:"status",style:{fontSize:12},children:"Reconnecting\u2026"}),s&&h("div",{role:"alert",style:{fontSize:12},children:s})]}):h(hh,{approval:e})}function hh({approval:e}){let t=e.kind==="command"?fu:Mg;return T("div",{"data-popmelt-approval":e.status,title:e.details,style:{display:"flex",alignItems:"center",gap:6,color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:[h(t,{size:14,"aria-hidden":"true"}),T("span",{children:[e.status==="allowed"?e.phase==="queued"?"Allowed once \xB7 queued next":"Allowed once":e.status==="denied"?"Denied":e.expiryReason==="no_response"?"No response received":"Request expired"," ","\xB7 ",e.summary]})]})}function Lx({bridgeUrl:e,threadId:t,visible:n,active:r,onPendingChange:o}){let[i,a]=P([]),[l,s]=P(!1),c=i.some(d=>d.threadId===t&&d.status==="pending");return _(()=>(o(c),()=>o(!1)),[o,c]),_(()=>{if(a([]),s(!1),!n)return;let d=new AbortController,p,u=async()=>{try{let f=await Xt(`${e}/approvals?threadId=${encodeURIComponent(t)}`,{signal:d.signal});if(!f.ok)throw new Error("Approval fetch failed");let m=await f.json();d.signal.aborted||(a(Array.isArray(m.approvals)?m.approvals:[]),s(!0))}catch{d.signal.aborted||s(!1)}!d.signal.aborted&&r&&(p=setTimeout(()=>{u()},1500))};return u(),()=>{d.abort(),clearTimeout(p)}},[e,t,n,r]),{approvals:i,connected:l,decide:async(d,p)=>{let u=await Xt(`${e}/approvals`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:d.id,threadId:t,jobId:d.jobId,decision:p})}),f=await u.json();if(!u.ok)throw new Error(f.error||"Could not send decision.");a(Array.isArray(f.approvals)?f.approvals:[])}}}var Rd="ui-monospace, SFMono-Regular, Menlo, monospace",Px=0;function jx({size:e=11}){let t=++Px,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return T("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:[h("mask",{id:n,style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:h("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"})}),T("g",{mask:`url(#${n})`,children:[h("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"}),h("g",{filter:`url(#${r})`,children:h("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"})}),h("g",{filter:`url(#${o})`,children:h("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"})}),h("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:h("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})`})})]}),T("defs",{children:[T("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[h("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),h("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"}),h("feOffset",{}),h("feGaussianBlur",{stdDeviation:"4.16667"}),h("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"}),h("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),h("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),T("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[h("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),h("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"}),h("feOffset",{}),h("feGaussianBlur",{stdDeviation:"4.16667"}),h("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"}),h("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),h("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),T("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[h("stop",{stopColor:"white"}),h("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var $x=/^#[0-9a-fA-F]{3,8}$/,zx=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,Dx=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 Hx(e){let t=e.trim();return $x.test(t)||zx.test(t)||Dx.has(t.toLowerCase())}function Ld(e,t){return h("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 Ta(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);Hx(i)&&t.push(Ld(i,`sw-${o.index}`)),t.push(h("code",{style:{fontFamily:Rd,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(h("strong",{children:h("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(h("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(h("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(h("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(T("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:Rd,fontSize:"0.9em"},children:[o[11],h(jx,{})]},o.index)):t.push(h("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(Ld(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push(Ld(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 Hr(e){let t=e.split(`
|
|
210
|
-
`),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(h("pre",{style:{fontFamily:Rd,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(`
|
|
211
|
-
`)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(o)){n.push(h("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(h("div",{style:{fontWeight:700,fontSize:s[l]??12,margin:"8px 0 2px"},children:Ta(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),c=l.filter(g=>!s(g)),d=g=>g.split("|").slice(1,-1).map(y=>y.trim()),p=g=>/^\*\*.+\*\*$/.test(g)||/^__.+__$/.test(g),u=c.map(d),f=u.length>1&&u.slice(1).every(g=>g[0]&&p(g[0])),m=u.length>0&&u[0].every(g=>p(g));n.push(h("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:h("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:h("tbody",{children:c.map((g,y)=>h("tr",{children:d(g).map((x,L)=>h(y===0?"th":"td",{style:{border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:y===0?600:400,minWidth:60,whiteSpace:"nowrap",...L===0&&f||y===0&&m?{position:"sticky",...L===0&&f?{left:0}:{},...y===0&&m?{top:0}:{},background:"#fff",zIndex:L===0&&f&&y===0&&m?2:1}:{}},children:Ta(x)},L))},y))})})},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(h("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:l.map((s,c)=>h("li",{children:Ta(s)},c))},n.length));continue}let a=o.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let l=a[1].length,s=parseInt(a[2],10)||1,c=[],d=null;for(;r<t.length;){let p=t[r],u=p.match(/^(\s*)(\d+)\.\s+(.+)/);if(u&&u[1].length===l)d=[u[3]],c.push(d),r++;else if(d&&p.trim()==="")r++;else if(c.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))d.push(t[r].trim()),r++;else if(d&&/^(Eval|Checks|Sources|Rationale|Prompt|Assertions?|Reason|Why|Expected|Notes?):/i.test(p.trim()))d.push(p.trim()),r++;else if(d&&d.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()))d.push(p.trim()),r++;else break}n.push(h("ol",{start:s,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8,fontSize:"inherit",lineHeight:"inherit"},children:c.map((p,u)=>h("li",{children:h("div",{style:{display:"flex",flexDirection:"column",gap:6},children:p.map((f,m)=>h("div",{children:Ta(f)},m))})},u))},n.length));continue}if(o.trim()===""){r++;continue}n.push(h("div",{style:{fontSize:"inherit",lineHeight:"inherit"},children:Ta(o)},n.length)),r++}return h("div",{style:{display:"flex",flexDirection:"column",fontSize:"inherit",gap:8,lineHeight:"inherit"},children:n})}var fh="<orientation>",Ox="</orientation>",Nx="<\\/orientation>",mh=[Ox,Nx];function _x(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 gh(e,t){let n=null;for(let r of mh){let o=e.indexOf(r,t);o>=0&&(!n||o<n.index)&&(n={index:o,tag:r})}return n}function Fx(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(fh,n),o=gh(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+fh.length,a=_x(e,i);if(a.status!=="complete"){let c=gh(e,i);if(c){n=c.index+c.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=mh.find(c=>e.startsWith(c,l));s&&(n=l+s.length)}return t}function Wx(e){return Fx(e).map(t=>t.kind==="text"?t.text:`
|
|
212
|
-
|
|
213
|
-
`).join("").replace(/\n{3,}/g,`
|
|
214
|
-
|
|
215
|
-
`).trim()}function Jx(e){return e.replace(/<resolution>[\s\S]*?(?:<\/resolution>|$)/g,"")}function Bx(e){return e.replace(/\b([A-Za-z]{2,}[.!?])(?=[A-Z][a-z])/g,`$1
|
|
216
|
-
|
|
217
|
-
`)}function jd(e){return Bx(Jx(Wx(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 yh(e){return e.replace(/\s+/g," ").trim()}function qx(e,t){let n=yh(jd(t)),r=yh(e.filter(o=>o.kind==="text"&&typeof o.text=="string").map(o=>jd(o.text)).join(" "));return n===r}function Yx(e){return e.kind==="tool_group"?!0:e.kind!=="text"||!("text"in e)?!1:typeof e.text=="string"&&e.text.trim().length===0}function vh(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}Yx(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 Ux="popmelt-thread-composer-draft",Dl={text:"",selectionStart:0,selectionEnd:0,selectionDirection:"none"};function bh(){if(!(typeof window>"u"))return window.localStorage}function wh(e){return`${Ux}:${e}`}function Xx(e,t=bh()){if(!t)return Dl;try{let n=t.getItem(wh(e));if(!n)return Dl;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 Dl;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 Dl}}function $d(e,t,n=bh(),r={selectionStart:t.length,selectionEnd:t.length,selectionDirection:"none"}){if(n)try{let o=wh(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 Kx(e,t,n){return n?.activePreview?n.annotationNumber:e??t}function Vx(e,t){return e?.trim()?e.trim():tv(t.find(n=>n.role==="human"))}function Gx(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 zd=280,Hl=e=>`${e.jobId}:${e.role}:${e.timestamp}`;function Qx(e,t,n,r){let o=`${n}:${t??""}`,i=xe(()=>Gx(e,t),[e,t]),a=e.find(u=>u.role==="human"&&u.execution==="none"&&u.jobId===`suggestion-${t}`),l=i.length<e.length,s=xe(()=>{if(!a||l)return i;let u=e.indexOf(a);return e.filter((f,m)=>m<=u||f.role==="assistant"||f.execution==="none"||!!f.replyToQuestion)},[e,a,l,i]),[c,d]=P({scope:o,phase:"idle",seenKeys:[]});if(c.scope!==o)d({scope:o,phase:"idle",seenKeys:[]});else if(c.phase==="idle"){if(l)d({...c,phase:c.seedKey?"preparing":"done"});else if(a){let u=s.map(Hl);u.join("|")!==c.seenKeys.join("|")&&d({...c,seenKeys:u,seedKey:Hl(a)})}}Tt(()=>{if(c.phase!=="preparing")return;let u=Array.from(r.current?.querySelectorAll('[data-suggestion-handoff="incoming"] img')??[]),f=new Set(u.filter(x=>!x.getAttribute("src")||!x.complete)),m=()=>d(x=>({...x,phase:window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"done":"animating"})),g=x=>{f.delete(x.target),f.size||m()};f.forEach(x=>{x.addEventListener("load",g),x.addEventListener("error",g)});let y=window.setTimeout(m,1500);return f.size||m(),()=>{window.clearTimeout(y),u.forEach(x=>{x.removeEventListener("load",g),x.removeEventListener("error",g)})}},[r,c.phase,o]),Tt(()=>{if(c.phase!=="animating")return;let u=window.setTimeout(()=>d(f=>({...f,phase:"done"})),zd);return()=>window.clearTimeout(u)},[c.phase,o]);let p=c.phase==="preparing"||c.phase==="animating";return{messages:p?e:s,replacementReady:l,phase:c.phase,motion:u=>{if(!p)return;let f=Hl(u);if(f===c.seedKey)return"outgoing";if(!c.seenKeys.includes(f))return"incoming"}}}function Zx(e){return e==="Bash"?"terminal":e==="Edit"||e==="Write"?"pencil":e==="ImageGen"?"image":"tool"}function eS(e){let t=new Map;for(let n of e){let r=Zx(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 tS(e,t,n){return e&&t!==n}function nS(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 on=Es,rS=350,oS=200,iS=120,Oo=14,xh=360,aS=0,lS=!1,sS=8,dS="devtools-thread-panel-position",cS=xh+2*aS;function No(){let e=window.visualViewport;return{width:e?.width??window.innerWidth,height:e?.height??window.innerHeight}}function Aa(e=No().width){let t=ci(e);return Math.max(t,e-kc(e)-t)}function Dd(e="right"){let{width:t}=No(),n=ci(t);return{top:n,left:e==="left"?n:Aa(t)}}function Sh(e,t,n){let{width:r,height:o}=No(),i=ci(r),a=n?.getBoundingClientRect(),l=0,s=o-i-l;return a&&t+cS>a.left&&(s=a.top-sS-l),Math.max(200,s-Math.max(0,e))}var uS={width:xh,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:on,fontSize:14,color:"var(--popmelt-thread-primary)",pointerEvents:"auto"},pS={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},hS={flex:1,overflowY:"auto",padding:"32px 12px 112px",display:"flex",flexDirection:"column",gap:32,scrollbarGutter:"stable"},fS={background:"var(--popmelt-thread-raised)",border:"1px solid var(--popmelt-thread-border)",borderRadius:16,display:"flex",flexDirection:"column",overflow:"hidden"},Zi={color:"var(--popmelt-thread-primary)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},kh=16,mS={...Zi,background:"var(--popmelt-thread-control)",borderRadius:kh,boxSizing:"border-box",color:"var(--popmelt-thread-muted-strong)",maxWidth:"100%",padding:12,width:"fit-content"};function Ca(e){return jd(e)}function gS({patterns:e}){let[t,n]=P(!1);return T("div",{style:{marginTop:2},children:[T("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:on,fontSize:12,gap:2,lineHeight:1,padding:0,textAlign:"left"},children:[T("span",{children:["Model details \xB7 ",e.length]}),h(Fi,{"aria-hidden":"true",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5,style:{transform:t?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),t&&h("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8},children:e.map((r,o)=>T("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:[T("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[T("div",{style:{alignItems:"center",display:"flex",gap:8},children:[h(ll,{"aria-hidden":"true",color:"#e51a1a",size:16,strokeWidth:1.5,style:{flexShrink:0}}),h("strong",{style:{color:"var(--popmelt-thread-primary)",fontSize:14,fontWeight:500,letterSpacing:"0.14px",lineHeight:1.3},children:r.element})]}),h("div",{style:{padding:"0 7px"},children:h("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})})]}),h("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,letterSpacing:"0.12px",lineHeight:1.3},children:r.reason})]},`${r.category}:${r.element}:${o}`))})]})}function yS({memoryReview:e}){let[t,n]=P(!1),r=(e.acceptedTruth?.decisions.length??0)+e.packets.length;return T("div",{children:[T("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:on,fontSize:12,gap:4,padding:0,textAlign:"left"},children:[T("span",{children:["Decision history \xB7 ",r]}),h(zs,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:t?"rotate(90deg)":"none",transition:"transform 120ms ease"}})]}),t&&T("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=>T("div",{children:[h("div",{children:o.claim}),T("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=>T("div",{style:{color:"#92400e"},children:["Conflict: ",o.unresolvedQuestion]},o.id)),e.packets.map(o=>T("div",{children:[h("div",{children:o.claim}),T("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)&&h("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:11},children:"More relevant history is available."})]})]})}function Ma(e){let t=new Date(e),n=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",hour12:!0}).formatToParts(t),r=n.find(u=>u.type==="hour")?.value??"",o=String(Number.parseInt(r,10)||0),i=n.find(u=>u.type==="minute")?.value??"00",a=(n.find(u=>u.type==="dayPeriod")?.value??"").toUpperCase(),l=`${o}:${i}${a}`,s=`${o}:${i}${a?` ${a}`:""}`,c=new Date;if(t.getFullYear()===c.getFullYear()&&t.getMonth()===c.getMonth()&&t.getDate()===c.getDate())return l;let d=Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()),p=Date.UTC(c.getFullYear(),c.getMonth(),c.getDate());return Math.floor((p-d)/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 vS=250;function bS({color:e}){let[t,n]=P(0);return _(()=>{let r=setInterval(()=>n(o=>(o+1)%2),vS);return()=>clearInterval(r)},[]),T("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[h("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0,opacity:.6},children:t===1?T(rt,{children:[h("circle",{cx:"7",cy:"7",r:"2"}),h("circle",{cx:"17",cy:"7",r:"2"}),h("circle",{cx:"7",cy:"17",r:"2"}),h("circle",{cx:"17",cy:"17",r:"2"})]}):T(rt,{children:[h("circle",{cx:"12",cy:"6",r:"2"}),h("circle",{cx:"6",cy:"12",r:"2"}),h("circle",{cx:"18",cy:"12",r:"2"}),h("circle",{cx:"12",cy:"18",r:"2"})]})}),h("span",{style:{fontSize:14,color:"var(--popmelt-thread-muted-strong)"},children:"Thinking"})]})}var Ih=32,Hd=80,wS=kh/2,xS={width:Ih,height:Ih,objectFit:"cover",cursor:"pointer",border:"1px solid var(--popmelt-thread-hairline)"},gi={...xS,borderRadius:wS,height:Hd,width:Hd};function SS(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,c=e.slice(l,s).trim();r.push({route:a,text:c})}return r}function kS(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 uo(e,t){return/^(?:blob:|data:|https?:\/\/)/.test(t)?t:`${e}${t}`}function IS(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:uo(t,o),label:"pasted image"});return n}function ES({src:e,onClose:t}){return _(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),h("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:h(co,{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 Eh({src:e,onLightbox:t}){return h("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:h(co,{src:e,alt:"Generated image preview",style:{borderRadius:8,display:"block",maxHeight:240,maxWidth:"100%",objectFit:"contain"}})})}function TS(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?AS(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 AS(e){let t=e.split(`
|
|
218
|
-
`)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var CS={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 Th({orientation:e}){let t=e.snapshot.update??e.snapshot.seeking??e.snapshot.nextObservation;return T("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:[T("span",{children:[h("span",{style:{color:"var(--popmelt-thread-primary)",fontWeight:550},children:CS[e.transition]})," \xB7 ",e.snapshot.focus]}),t&&t!==e.snapshot.focus&&h("span",{style:{opacity:.72},children:t})]})}function MS(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=TS(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()}`:"",c=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:a,ext:s,isPlan:c})}}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 RS({file:e,content:t,ext:n,isPlan:r,onAccept:o}){let[i,a]=P(r),l=e.split("/").pop()??e;return T("div",{style:{margin:"4px 0 4px 12px",border:"1px solid var(--popmelt-thread-hairline)",backgroundColor:"var(--popmelt-thread-raised)",fontSize:11},children:[T("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:[h("span",{style:{fontSize:9,color:"var(--popmelt-thread-muted)"},children:i?"\u25BC":"\u25B6"}),h("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l}),r&&h("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&T(rt,{children:[h("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"?Hr(t):h("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&h("div",{style:{padding:"4px 8px",borderTop:"1px solid var(--popmelt-thread-soft-hairline)",display:"flex",justifyContent:"flex-end"},children:h("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 LS(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 Ah(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 Ol(e){let t=e.filePath??e.detail;return t&&(t.startsWith("/")||/^[A-Za-z]:[\\/]/.test(t))?t:void 0}function PS(e,t){return(e==="Read"||e==="Edit"||e==="Write")&&t.some(n=>Ol(n))?t.filter(n=>Ol(n)).filter((n,r,o)=>o.findIndex(i=>Ol(i)===Ol(n))===r):t}function Ch(e){return eS(e.map(t=>({...t,items:PS(t.tool,t.items)})))}function Nl(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&&Ra(a)})}function Ra(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 Mh({receipt:e,animateCount:t=!1}){let n=e.kind==="terminal"?fu:e.kind==="pencil"?mu:e.kind==="image"?Tg:Ag,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(c=>`${c.tool} (${c.items.length})`).join(", "),i=q(null),a=q(null),l=q(null),s=q(0);return _(()=>{let c=s.current;if(c===e.count)return;s.current=e.count;let d=i.current,p=a.current;if(!d)return;let u=typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;d.getAnimations().forEach(f=>f.cancel()),p?.getAnimations().forEach(f=>f.cancel()),!(u||!tS(t,c,e.count))&&(d.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 c=l.current;if(!c)return;let d=requestAnimationFrame(()=>{let p=c.querySelector("[data-popmelt-tool-receipt-scroll]");p&&Ra(p)});return()=>cancelAnimationFrame(d)},[e]),T("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:c=>Nl(c.currentTarget,l.current),onFocusCapture:c=>Nl(c.currentTarget,l.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[T("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:[h(n,{"aria-hidden":"true",color:"currentColor","data-popmelt-tool-receipt-icon":!0,size:14,strokeWidth:1.5}),e.count>1&&T("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:on,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"]})]}),T("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:[T("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:c=>Ra(c.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[T("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[h(n,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),h("span",{children:r})]}),e.groups.map(c=>T("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[T("span",{style:{fontSize:11,fontWeight:500,lineHeight:1.3,opacity:.65},children:[c.tool," \xB7 ",c.items.length]}),c.items.map((d,p)=>h("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:d.label},`${d.label}-${p}`))]},c.tool))]}),h("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),h("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function Rh(e){let t=new Map;for(let n of e)t.has(n.id)||t.set(n.id,n);return[...t.values()]}function jS(e){let t=Rh(e.flatMap(n=>n.type!=="imprint_used"?[]:n.data.usage?.explanations??[]));return t.length>0?{updated:!1,explanations:t}:void 0}function $S(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 c=s.imprintSummary;if(c){a=!0,o=c.title,i=c.detail;for(let u of c.changes)r.push({id:u.explanationId,statement:u.statement,state:u.state})}let d=n.get(s.jobId),p=new Set([...s.imprintUsedExplanationIds??[],...s.imprintAppliedExplanationIds??[],...s.imprintRecognition?[s.imprintRecognition.explanationId]:[]]);for(let u of p){let f=d?.explanations.find(m=>m.id===u);f?r.push(f):s.imprintRecognition?.explanationId===u&&r.push({id:u,kind:"pattern",statement:s.imprintRecognition.statement,state:"grounded",scope:{kind:"project",values:[]}})}}let l=Rh(r);if(!(!a&&l.length===0))return{updated:a,title:o,detail:i,explanations:l}}function zS(e){return e==="testing"||e==="emerging"?"Emerging":e.charAt(0).toUpperCase()+e.slice(1)}function Lh(e){return e?e.charAt(0).toUpperCase()+e.slice(1):void 0}function Ph({receipt:e,accentColor:t}){let n=e.updated?"Imprint updated":"Imprint used",r=q(null);return _(()=>{let o=r.current;if(!o)return;let i=requestAnimationFrame(()=>{let a=o.querySelector("[data-popmelt-tool-receipt-scroll]");a&&Ra(a)});return()=>cancelAnimationFrame(i)},[e]),T("span",{"data-popmelt-tool-receipt-trigger":!0,onMouseEnter:o=>Nl(o.currentTarget,r.current),onFocusCapture:o=>Nl(o.currentTarget,r.current),style:{display:"inline-flex",flexShrink:0,position:"relative"},children:[h("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:h(lo,{"aria-hidden":"true",color:"currentColor",size:14,strokeWidth:1.5})}),T("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:[T("span",{"data-popmelt-tool-receipt-scroll":!0,onScroll:o=>Ra(o.currentTarget),style:{display:"flex",flexDirection:"column",gap:8,maxHeight:"var(--popmelt-tool-receipt-max-height, 190px)",overflowY:"auto",padding:"14px 15px"},children:[T("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:6,lineHeight:1.3,opacity:.65},children:[h(lo,{"aria-hidden":"true",color:e.updated?t:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),h("span",{children:n})]}),e.title&&h("span",{style:{fontSize:14,fontWeight:500,lineHeight:1.3},children:e.title}),e.detail&&h("span",{style:{fontSize:12,fontWeight:400,lineHeight:1.45,opacity:.72},children:e.detail}),e.explanations.map(o=>T("span",{style:{display:"flex",flexDirection:"column",gap:7,padding:"6px 0"},children:[T("span",{style:{alignItems:"center",display:"flex",fontSize:11,fontWeight:500,gap:4,lineHeight:1.3,opacity:.65},children:[h("span",{children:zS(o.state)}),Lh(o.kind)&&h("span",{style:{opacity:.72},children:Lh(o.kind)})]}),h("span",{style:{fontSize:14,fontWeight:400,lineHeight:1.3,whiteSpace:"normal"},children:o.statement}),o.scope?.values.length?h("span",{style:{fontSize:11,fontWeight:400,lineHeight:1.3,opacity:.5},children:o.scope.values.join(" \xB7 ")}):null]},o.id))]}),h("span",{"data-popmelt-tool-receipt-scrim":"top","aria-hidden":"true"}),h("span",{"data-popmelt-tool-receipt-scrim":"bottom","aria-hidden":"true"})]})]})}function DS({summary:e,accentColor:t,busy:n,onAction:r}){let o=!!e.resolvedAction,[i,a]=P(!!(e.grounding&&!o)),l={...Md,cursor:n?"default":"pointer",fontFamily:on};return T("div",{style:ph,children:[T("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:on,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[h(lo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),T("span",{style:{flex:1},children:["Imprint ",e.kind,": ",e.title]}),h(Fi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:i?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),i&&T(rt,{children:[T("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?T("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=>T("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[h("div",{children:s.statement}),T("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:[s.action," \xB7 ",s.state]})]},`${s.explanationId}:${s.action}`)),e.grounding&&!o&&h("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:13,lineHeight:1.35,marginTop:2},children:e.grounding.question}),o?T("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[h(Lo,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),e.resolvedAction==="no"?"Correction requested":`Feedback applied: ${e.resolvedAction==="yes"?"Yes":"This time"}`]}):e.grounding?T("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[h("button",{disabled:n,onClick:()=>r("yes"),style:l,children:"Yes"}),h("button",{disabled:n,onClick:()=>r("this_time"),style:l,children:"This time"}),h("button",{disabled:n,onClick:()=>r("no"),style:l,children:"No"})]}):null]})]})}function HS({receipt:e,accentColor:t}){let[n,r]=P(!0);return T("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:[T("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:on,fontSize:14,fontWeight:650,gap:8,padding:0,textAlign:"left",width:"100%"},children:[h(lo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),T("span",{style:{flex:1},children:["Existing Imprint reapplied: ",e.title]}),h(Fi,{"aria-hidden":"true",size:14,strokeWidth:1.5,style:{transform:n?"rotate(180deg)":"none",transition:"transform 120ms ease"}})]}),n&&T(rt,{children:[h("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}),T("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,lineHeight:1.35},children:[h("div",{children:e.statement}),h("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:10,marginTop:2},children:"recognized \xB7 grounded"})]}),T("div",{style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:11,gap:6},children:[h(Lo,{"aria-hidden":"true",color:t,size:12,strokeWidth:2}),"Shared understanding unchanged"]})]})]})}function OS({card:e,accentColor:t,busy:n,resolved:r,superseded:o,onAction:i}){let[a,l]=P(!1),[s,c]=P(e.claim),[d,p]=P(!1),[u,f]=P(!1),[m,g]=P(!1),[y,x]=P(null),L=q(null);_(()=>{l(!1),c(e.claim),p(!1),f(!1),g(!1),x(null)},[e.claim,e.proposalId]),_(()=>{if(!a)return;let Z=L.current;Z&&(Z.focus(),Z.select(),Z.style.height="auto",Z.style.height=`${Z.scrollHeight}px`)},[a]);let A=U(()=>{let Z=s.trim();c(Z||e.claim),l(!1),p(!1)},[e.claim,s]),S=U(()=>{c(e.claim),l(!1),p(!1)},[e.claim]),O=s.trim()!==e.claim.trim(),M=r||o,X=e.title;return r?T("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[T("button",{type:"button","aria-expanded":m,onClick:()=>g(Z=>!Z),style:{alignItems:"center",alignSelf:"flex-start",background:"transparent",border:0,color:"var(--popmelt-thread-muted-strong)",cursor:"pointer",display:"inline-flex",fontFamily:on,fontSize:14,fontWeight:400,gap:6,letterSpacing:"0.14px",lineHeight:1.35,padding:0,textAlign:"left"},children:[h(lo,{"aria-hidden":"true",color:t,size:14,strokeWidth:1.5}),T("span",{style:{alignItems:"center",display:"inline-flex",gap:2},children:[h("span",{children:X}),h(Fi,{"aria-hidden":"true",size:12,strokeWidth:1.5,style:{transform:m?"rotate(180deg)":"rotate(0deg)",transition:"transform 120ms ease"}})]})]}),m&&T(rt,{children:[h("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}),h("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?T("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,letterSpacing:"0.14px",lineHeight:1.35},children:["Scope: ",e.scope]}):null]})]}):T("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:[T("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:14,fontWeight:600,gap:8,letterSpacing:"0.14px",lineHeight:1.3},children:[h(lo,{"aria-hidden":"true",color:t,size:16,strokeWidth:2}),h("span",{children:X})]}),a&&!M?h("textarea",{ref:L,value:s,disabled:n,onChange:Z=>{c(Z.target.value),Z.currentTarget.style.height="auto",Z.currentTarget.style.height=`${Z.currentTarget.scrollHeight}px`},onBlur:A,onKeyDown:Z=>{Z.key==="Enter"&&!Z.shiftKey?(Z.preventDefault(),A()):Z.key==="Escape"&&(Z.preventDefault(),Z.stopPropagation(),S())},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:on,fontSize:14,fontStyle:"italic",letterSpacing:"0.14px",lineHeight:1.3,margin:"0 7px",padding:"6px 16px 8px",width:"calc(100% - 14px)"}}):h("button",{type:"button",disabled:M||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:d&&!M?"var(--popmelt-thread-soft-hairline)":"transparent",color:"var(--popmelt-thread-muted-strong)",cursor:M?"default":"text",fontFamily:on,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}),T("div",{style:{color:"var(--popmelt-thread-primary)",fontSize:14},children:[T("button",{type:"button","aria-expanded":u,onClick:()=>f(Z=>!Z),style:{alignItems:"center",border:0,background:"transparent",color:"var(--popmelt-thread-primary)",cursor:"pointer",display:"inline-flex",gap:2,fontFamily:on,fontSize:14,fontWeight:400,letterSpacing:"0.14px",lineHeight:1.3,margin:0,opacity:u?1:.35,padding:0},children:[h("span",{children:"Why?"}),u?h(Fi,{"aria-hidden":"true",size:10,strokeWidth:2.5}):h(zs,{"aria-hidden":"true",size:10,strokeWidth:2.5})]}),u?T(rt,{children:[h("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?T("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?h("div",{style:{color:"var(--popmelt-thread-secondary)",fontSize:12,fontWeight:700},children:"Refined in a later review card"}):T("div",{style:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, 1fr)",gap:6,alignItems:"stretch"},children:[T("button",{type:"button",disabled:n,onClick:()=>i("reject"),onMouseEnter:()=>{n||x("reject")},onMouseLeave:()=>x(null),style:{...Nd,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:[h("span",{children:"Reject"}),h(sl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),T("button",{type:"button",disabled:n||!s.trim(),onClick:()=>i(O?"edit_and_accept":"accept",O?s.trim():void 0),onMouseEnter:()=>{!n&&s.trim()&&x("accept")},onMouseLeave:()=>x(null),style:{...Od,alignItems:"center",background:y==="accept"?"var(--popmelt-thread-action-hover)":"var(--popmelt-thread-action)",borderColor:y==="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:[h("span",{children:O?"Adopt edited":"Adopt"}),h(Lo,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]})]})}function NS({stepCount:e}){return T("div",{"data-thread-interaction-episode-receipt":!0,style:{...Zi,alignItems:"center",alignSelf:"flex-end",color:"var(--popmelt-thread-muted-strong)",display:"inline-flex",gap:6,paddingBlock:4},children:[h(Cg,{"aria-hidden":!0,color:"currentColor",size:14,strokeWidth:1.5,style:{flexShrink:0}}),T("span",{children:[e," recorded ",e===1?"action":"actions"," sent"]})]})}function _S({frames:e,onLightbox:t}){return e.length===0?null:h("div",{"data-thread-interaction-episode-visuals":!0,style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:e.map(n=>T("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:[h(co,{src:n.url,alt:"",style:{...gi,display:"block"}}),h("span",{style:{display:"block",fontSize:10,marginTop:2,maxWidth:Hd,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:n.label})]},n.id))})}var jh=vg(function({msg:e,index:t,bridgeUrl:n,accentColor:r,onLightbox:o,hideSender:i=!1,hideTimestamp:a=!1,hideModelSenderUntilHover:l=!1,compactSpacing:s=!1,queuedPreview:c=!1,workedFor:d="a moment",activityTimestamp:p,memoryReviewBusy:u=!1,memoryReviewResolved:f=!1,memoryReviewSuperseded:m=!1,foldedActivityMessages:g=[],underMessageActivity:y,onMemoryReviewAction:x,onImprintAction:L}){let A=e.role==="human",S=$r(Qa),O=e.authorPeer?e.authorPeer.id===S?.participantId?"You":e.authorPeer.name==="You"?"Host":e.authorPeer.name:S&&!S.canManageThreads&&!e.jobId.startsWith("_pending_reply_")?"Host":"You",[M,X]=P(!1),Z={...mS,...c?{borderRadius:12,padding:"2px 10px",fontSize:12,lineHeight:"24px",letterSpacing:"0.12px",width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{},...s?{borderBottomRightRadius:4}:{}},N=A?e.replyToQuestion?kS(e,n):e.requestItems?.length?[]:IS(e,n):[];if(e.cancelled||e.error){let be=e.error?rh(e.error,e.errorKind):null;return h("div",{"data-msg":!0,style:{padding:0},children:T("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,padding:16},children:[h("span",{style:{color:be?"#f59e0b":"var(--popmelt-thread-muted-strong)"},children:be?.label??"Cancelled"}),be?` \u2014 ${be.message}`:""]})},`${e.jobId}-${t}`)}let V=e.requestText||e.feedbackSummary||"(annotation)",J=e.requestText?lv(e.requestText):V,k=!!(A&&!e.replyToQuestion&&e.requestText&&e.requestText.trim()!==J.trim()),K=A?e.replyToQuestion||(M?V:J):Ca(e.responseText||""),ee=(be,Le=Z)=>T("div",{style:Le,children:[be.includes(`
|
|
219
|
-
`)?Hr(be):be,k&&h("button",{type:"button","aria-expanded":M,onClick:()=>X(He=>!He),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:M?"Show less":"Read more"})]}),j=A?void 0:e.question,z=A?[]:(e.resolutions??[]).filter(be=>be.status!=="resolved"),$=z.length>0,H=!A&&e.segments&&e.segments.length>0,D=H?vh(e.segments):[],C=!!(!A&&H&&K&&!qx(e.segments,e.responseText??"")),ne=[...g,e],oe=A?[]:ne.flatMap(be=>(be.segments??[]).filter(Le=>Le.kind==="tool_group")),G=A?[]:ne.flatMap(be=>be.segments?.length?[]:(be.toolsUsed??[]).map(Le=>({kind:"tool_group",tool:LS(Le),items:[{label:Le}]}))),ce=Ah([...oe,...G]),F=Ch(ce),Se=!!(ne.some(be=>be.memoryReceipt?.status==="committed")||y?.decisionRecorded),ie=y?.imprintReceipt,re=!!y?.modelUpdated,Te=F.length>0||Se||re||!!ie,je=A&&!!(e.memoryReview?.packets.length||e.memoryReview?.acceptedTruth?.decisions.length),Oe=!A&&!!(e.memoryReceipt&&e.memoryReceipt.status!=="committed"),Y=!A&&(!i||!a);return!K&&!j&&!$&&!H&&!je&&!e.memoryReviewCard&&!e.imprintSummary&&!Oe&&!Te?null:T("div",{"data-msg":!0,"data-queued-preview":c||void 0,style:{alignSelf:A?"flex-end":"stretch",display:"flex",flexDirection:"column",gap:16,marginTop:s?-24:0,padding:0,position:"relative",maxWidth:A?280:void 0,width:A?"fit-content":"auto",...c?{width:"100%",minWidth:0,maxWidth:"100%"}:{}},children:[Y&&h("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:A?T(rt,{children:[!a&&h("span",{"data-message-timestamp":!0,style:{fontSize:12,fontWeight:400,color:"var(--popmelt-thread-muted)"},children:Ma(e.timestamp)}),!i&&h("span",{style:{color:r,fontSize:12,fontWeight:500,marginLeft:"auto",opacity:.55},children:O})]}):T(rt,{children:[h("div",{"data-worked-for-trigger":!0,style:{alignItems:"center",background:"transparent",border:0,color:"var(--popmelt-thread-muted)",cursor:"default",display:"flex",fontFamily:on,fontSize:14,padding:0,textAlign:"left"},children:T("span",{style:{display:"grid"},children:[T("span",{"data-worked-for-label":!0,style:{gridArea:"1 / 1",textAlign:"left"},children:["Worked for ",d]}),!a&&h("span",{"data-worked-for-time":!0,style:{gridArea:"1 / 1",justifySelf:"start",opacity:0,textAlign:"left"},children:Ma(p??e.timestamp)})]})}),h("div",{style:{alignItems:"center",display:"flex",marginLeft:"auto",minHeight:14},children:T("div",{"data-message-activity":!0,style:{alignItems:"center",color:"var(--popmelt-thread-muted)",display:"flex",gap:6},children:[ce.length>0&&h("div",{style:{alignItems:"center",display:"flex",gap:6},children:F.map(be=>h(Mh,{receipt:be},be.kind))}),Se&&h(lo,{"aria-label":"Decision recorded",color:r,size:14,strokeWidth:1.5}),re&&h(ll,{"aria-label":"Model updated",color:"var(--popmelt-thread-muted)",size:14,strokeWidth:1.5}),ie&&h(Ph,{receipt:ie,accentColor:r})]})})]})}),A&&!a&&h("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,position:"absolute",right:0,top:"calc(100% + 8px)"},children:Ma(e.timestamp)}),N.length>0&&h("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:N.map((be,Le)=>h(co,{src:be.url,alt:be.label||"Attached image",title:be.label,style:gi,onClick:()=>o(be.url)},Le))}),A&&!e.replyToQuestion&&(()=>{if(e.requestItems?.length){let He=new Set(e.requestItems.flatMap(me=>me.pathname?[me.pathname]:[])).size>1,et=new Set,it=e.screenshotUrl?uo(n,e.screenshotUrl):null;return T("div",{"data-thread-request-cluster":!0,style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:4,width:"100%"},children:[it&&!e.screenshotUrls?h(co,{src:it,alt:"Thread screenshot",title:"screenshot",style:{...gi,flexShrink:0},onClick:()=>o(it)}):null,e.requestItems.map((me,he)=>{let Je=me.pathname,qe=Je&&!et.has(Je)?e.screenshotUrls?.[Je]:void 0;Je&&et.add(Je);let st=qe?uo(n,qe):null,Ve=me.kind==="annotation"&&me.annotationId?e.imageUrls?.[me.annotationId]??[]:[],Ie=me.kind==="annotation"?e.annotationSnapshot?.annotations.find(We=>We.id===me.annotationId)?.interactionEpisode:void 0,Ue=nv(Ie,Ve).map(We=>({...We,url:uo(n,We.url)})),mt=new Set(Ue.map(We=>We.imageIndex)),_t=Ve.flatMap((We,pt)=>mt.has(pt)?[]:[uo(n,We)]),yt=me.kind==="annotation"?me.interactionEpisodeStepCount??Ie?.steps.length??0:0;return T(bg,{children:[st?h(co,{src:st,alt:`Screenshot for ${Je}`,title:Je,style:{...gi,flexShrink:0},onClick:()=>o(st)}):null,_t.length>0?h("div",{style:{display:"flex",flexWrap:"wrap",gap:4,justifyContent:"flex-end",width:"100%"},children:_t.map((We,pt)=>h(co,{src:We,alt:"Attached image",title:"pasted image",style:gi,onClick:()=>o(We)},pt))}):null,h(_S,{frames:Ue,onLightbox:o}),yt>0?h(NS,{stepCount:yt}):null,T("div",{style:{...Z,minWidth:0},children:[He&&Je?h("code",{style:{backgroundColor:"var(--popmelt-thread-soft-hairline)",display:"inline-block",fontSize:10,marginBottom:4,padding:"1px 4px"},children:Je}):null,me.kind==="annotation"?me.text.includes(`
|
|
220
|
-
`)?Hr(me.text):me.text:T(rt,{children:[T("div",{style:{fontWeight:600},children:[me.elementLabel," ",T("span",{style:{opacity:.64},children:["(",me.changes.length," ",me.changes.length===1?"change":"changes",")"]})]}),h("div",{style:{marginTop:6},children:me.changes.map((We,pt)=>h("div",{style:{marginTop:pt===0?0:3},children:We},pt))})]})]})]},`${me.kind}-${he}`)})]})}let be=K?SS(K):null;if(be&&e.screenshotUrls)return h("div",{style:{display:"flex",flexDirection:"column",gap:4},children:be.map((He,et)=>{let it=e.screenshotUrls?.[He.route],me=it?uo(n,it):null;return T("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[me?h(co,{src:me,alt:`Screenshot for ${He.route}`,title:He.route,style:{...gi,flexShrink:0},onClick:()=>o(me)}):null,T("div",{style:{...Z,minWidth:0},children:[h("code",{style:{fontSize:10,backgroundColor:"var(--popmelt-thread-soft-hairline)",padding:"1px 4px"},children:He.route}),He.text&&h("div",{style:{marginTop:2},children:Hr(He.text)})]})]},et)})});let Le=e.screenshotUrl?uo(n,e.screenshotUrl):null;return Le&&K?T("div",{style:{alignItems:"flex-end",display:"flex",flexDirection:"column",gap:6,width:"100%"},children:[h(co,{src:Le,alt:"Thread screenshot",title:"screenshot",style:{...gi,flexShrink:0},onClick:()=>o(Le)}),ee(K,{...Z,minWidth:0})]}):K?ee(K):null})(),A&&e.replyToQuestion&&K&&h("div",{style:Z,title:c?K:void 0,children:!c&&K.includes(`
|
|
221
|
-
`)?Hr(K):K}),je&&h(yS,{memoryReview:e.memoryReview}),!A&&H&&D.map((be,Le)=>{if(be.kind==="approval")return h(hh,{approval:be.approval},be.approval.id);if(be.kind==="tool_group")return null;if(be.kind==="generated_image")return h(Eh,{src:uo(n,be.url),onLightbox:o},Le);if(be.kind==="orientation")return h(Th,{orientation:be.orientation},Le);if(C)return null;let He=Ca(be.text);return He?h("div",{style:Zi,children:Hr(He)},Le):null}),!A&&!H&&K&&h("div",{style:Zi,children:Hr(K)}),!A&&C&&K&&h("div",{style:Zi,children:Hr(K)}),!A&&e.memoryReviewCard&&x&&h(OS,{card:e.memoryReviewCard,accentColor:r,busy:u,resolved:f,superseded:m,onAction:(be,Le)=>x(e.memoryReviewCard,be,Le)}),!A&&e.imprintSummary&&L&&h(DS,{summary:e.imprintSummary,accentColor:r,busy:u,onAction:be=>L(e.imprintSummary,be)}),!A&&e.imprintRecognition&&h(HS,{receipt:e.imprintRecognition,accentColor:r}),Oe&&e.memoryReceipt&&T("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"?h(lo,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}):h(sl,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),h("span",{style:{opacity:.5},children:e.memoryReceipt.status==="committed"?"Decision recorded":"Decision not recorded"})]}),j&&h("div",{style:Zi,children:Hr(j)}),$&&h("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:z.map((be,Le)=>T("div",{children:[h("span",{style:{color:be.status==="resolved"?"#10b981":"#f59e0b"},children:be.status==="resolved"?"Done":"Needs review"}),be.summary?` \u2014 ${be.summary}`:""]},Le))}),!A&&e.modelDetails?.length?h(gS,{patterns:e.modelDetails}):null]},`${e.jobId}-${t}`)});function $h(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 zh(e,t){if(!t||e.timestamp<=t.timestamp)return"a moment";let n=Vg((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 FS(e,t){if(e.role!=="assistant"||e.cancelled||e.error)return!1;let n=Ca(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:Ca(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 Dh(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 Or(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function _l(e){if(e===void 0)return"undefined";try{return JSON.stringify(e)}catch{return String(e)}}function Fl(e,t){return _l(e)===_l(t)}function ea(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(Or(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 WS(e,t){let n=e;for(let r of t){if(!n||typeof n!="object")return;n=n[String(r)]}return n}function Hh(e,t,n,r){if(!Or(e)){Fl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:ea(e),path:n,value:e,currentValue:t});return}if("value"in e){Fl(e,t)||r.push({id:`token:${n.join(".")}`,group:"tokens",label:n.join("."),detail:ea(e),path:n,value:e,currentValue:t});return}for(let o of Object.keys(e))Hh(e[o],Or(t)?t[o]:void 0,[...n,o],r)}function JS(e,t){if(t.changes?.length)return t.changes.map(s=>{let c=s.path[0],d=c==="rules"||c==="components"||c==="tokens"?c:"model";return{id:s.id,group:d,label:s.label??s.path.map(String).join("."),detail:s.rationale,path:s.path,value:s.value,decisionIds:s.decisionIds,currentValue:WS(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 c=i[s];if(!Or(c))continue;let d=typeof c.id=="string"?c.id:`rule-${s}`,p=o.find(u=>Or(u)&&(typeof u.id=="string"&&u.id===d||_l(u)===_l(c)));Fl(p,c)||r.push({id:`rule:${d}`,group:"rules",label:typeof c.scope=="string"?c.scope:"rule",detail:typeof c.text=="string"?c.text:ea(c),path:["rules"],value:c,currentValue:p,ruleValue:c})}let a=Or(n.components)?n.components:{},l=Or(e?.components)?e.components:{};for(let s of Object.keys(a)){let c=a[s],d=l[s];Fl(c,d)||r.push({id:`component:${s}`,group:"components",label:s,detail:ea(c),path:["components",s],value:c,currentValue:d})}return Or(n.tokens)&&Hh(n.tokens,e?.tokens,["tokens"],r),r}function BS(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,c=Or(s)&&typeof s.id=="string"?s.id:null,d=c?a.findIndex(p=>Or(p)&&p.id===c):-1;d>=0?a[d]=s:a.push(s)}i.push({path:["rules"],value:a,decisionIds:[...new Set(o.flatMap(l=>l.decisionIds??[]))]})}return i}function qS(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??ea(t.value),path:t.path??[],value:t.value,currentValue:t.currentValue}]})}function YS({proposal:e,timestamp:t,bridgeUrl:n,accentColor:r,busy:o,onApplySelected:i,onDismiss:a,onReviewUnderlying:l,hideModelSenderUntilHover:s=!1}){let c=e.authorityStatus==="accepted",d=e.status==="pending"&&c,[p,u]=P(null),[f,m]=P(()=>new Set),[g,y]=P(null),x=xe(()=>{let J=qS(e);return!d&&J.length>0?J:JS(p,e)},[p,d,e]),L=xe(()=>BS(p,x,f),[x,p,f]),A=xe(()=>x.filter(J=>f.has(J.id)),[x,f]),S=xe(()=>{let J={rules:[],components:[],tokens:[],model:[]};for(let k of x)J[k.group].push(k);return J},[x]),O=x.map(J=>J.id).join("|");_(()=>{let J=!1;return Xt(`${n}/model`).then(k=>k.ok?k.json():null).then(k=>{J||u(k?.model&&typeof k.model=="object"?k.model:null)}).catch(()=>{J||u(null)}),()=>{J=!0}},[n,e.id]),_(()=>{m(d&&O?new Set(O.split("|")):new Set)},[O,d,e.id]);let M=U(J=>{m(k=>{let K=new Set(k);return K.has(J)?K.delete(J):K.add(J),K})},[]),X=U(()=>{m(new Set(x.map(J=>J.id)))},[x]),Z=U(()=>{m(new Set)},[]),N=`${x.length} ${x.length===1?"change":"changes"}`,V=x.length===1?`1 ${x[0]?.group==="rules"?"rule":x[0]?.group==="components"?"component":x[0]?.group==="tokens"?"token":"change"}`:N;return e.status==="applied"?T("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[T("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[T("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[h(lo,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),h("span",{style:{opacity:.5},children:"Decision recorded"})]}),T("div",{style:{alignItems:"center",color:"var(--popmelt-thread-primary)",display:"flex",fontSize:12,fontStyle:"italic",gap:6,lineHeight:1.35},children:[h(ll,{"aria-hidden":"true",color:r,size:12,strokeWidth:1.5}),h("span",{style:{opacity:.5},children:"Model updated"})]})]}),T("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:[T("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[h(Dc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),h("span",{children:Hc(e.model,e.provider)})]}),h("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Ma(t)})]})]}):T("div",{"data-msg":!0,style:{display:"flex",flexDirection:"column",gap:16,position:"relative"},children:[T("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"?T("div",{style:{alignItems:"center",display:"flex",gap:6,opacity:.45},children:[h(sl,{"aria-hidden":"true",size:16,strokeWidth:2.5}),h("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion dismissed"})]}):T("div",{style:{alignItems:"center",display:"flex",gap:8},children:[h(ll,{"aria-hidden":"true",color:r,size:16,strokeWidth:2}),h("span",{style:{fontSize:14,fontWeight:600},children:"Model suggestion"})]}),e.status==="pending"&&c&&x.length>0&&T("div",{style:{alignItems:"center",display:"flex",fontSize:14,lineHeight:1.35,marginTop:4},children:[h("span",{style:{fontWeight:600},children:V}),T("div",{style:{display:"flex",gap:12,marginLeft:"auto"},children:[h("button",{type:"button",disabled:o,onClick:X,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Select all"}),h("button",{type:"button",disabled:o,onClick:Z,style:{background:"transparent",border:0,cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:600,color:"var(--popmelt-thread-muted-strong)",padding:0},children:"Clear"})]})]}),e.status==="pending"&&h(rt,{children:x.length>0?h("div",{style:{display:"flex",flexDirection:"column",gap:8,marginTop:4},children:["rules","components","tokens","model"].flatMap(J=>S[J]).map(J=>{let k=f.has(J.id);return T("label",{style:{alignItems:"start",color:d&&!k?"var(--popmelt-thread-secondary)":"var(--popmelt-thread-primary)",columnGap:8,cursor:d?"pointer":"default",display:"grid",fontSize:14,gridTemplateColumns:d?"14px minmax(0, 1fr)":"minmax(0, 1fr)",lineHeight:1.35,padding:"0 0 8px 12px"},children:[d&&h("input",{type:"checkbox",checked:k,disabled:o,onChange:()=>M(J.id),style:{WebkitAppearance:"none",appearance:"none",margin:"1px 0 0",width:14,height:14,backgroundColor:k?r:"transparent",border:`1px solid ${k?r:"rgba(0,0,0,0.34)"}`,boxSizing:"border-box",cursor:o?"default":"pointer"}}),T("span",{style:{minWidth:0},children:[h("span",{style:{fontWeight:700},children:J.label}),T("span",{children:[" \u2014 ",J.detail]}),J.currentValue!==void 0&&T("span",{style:{display:"block",marginTop:2,opacity:.5},children:["was ",ea(J.currentValue)]})]})]},J.id)})}):h("div",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:14,lineHeight:1.4},children:"No concrete model diff could be derived from this proposal."})}),!c&&e.status==="pending"&&h("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:h("strong",{children:"A competing product decision is pending"})}),e.status==="pending"&&c&&T("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:6},children:[T("button",{type:"button",disabled:o,onClick:a,onMouseEnter:()=>{o||y("reject")},onMouseLeave:()=>y(null),style:{...Nd,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:[h("span",{children:"Reject"}),h(sl,{"aria-hidden":"true",color:"#dd4141",size:12,strokeWidth:2.5})]}),T("button",{type:"button",disabled:o||L.length===0,onClick:()=>i(e,L,A),onMouseEnter:()=>{!o&&L.length>0&&y("confirm")},onMouseLeave:()=>y(null),style:{...Od,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||L.length===0?.45:1,cursor:o||L.length===0?"not-allowed":"pointer",transition:"background-color 120ms ease, border-color 120ms ease"},children:[h("span",{children:"Confirm"}),h(Lo,{"aria-hidden":"true",color:"#61c920",size:12,strokeWidth:3})]})]}),e.status==="pending"&&!c&&T("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[h("button",{type:"button",disabled:o,onClick:a,style:Nd,children:"Dismiss"}),h("button",{type:"button",disabled:o||!e.underlyingProposalId,onClick:l,style:{...Od,opacity:e.underlyingProposalId?1:.45},children:"Review decision"})]})]}),T("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:[T("span",{"data-model-sender":"sender",style:{alignItems:"center",color:"var(--popmelt-thread-muted-strong)",display:"flex",fontSize:12,fontWeight:500,gap:4},children:[h(Dc,{provider:e.provider,size:12,style:{color:"var(--popmelt-thread-muted-strong)"}}),h("span",{children:Hc(e.model,e.provider)})]}),h("span",{"data-message-timestamp":!0,style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontWeight:400,marginLeft:"auto"},children:Ma(t)})]})]})}var Od={border:"1px solid var(--popmelt-thread-action)",borderRadius:24,background:"var(--popmelt-thread-action)",color:"var(--popmelt-thread-on-action)",cursor:"pointer",fontFamily:on,fontSize:12,fontWeight:700,padding:"6px 8px"},Nd={border:"1px solid var(--popmelt-thread-border)",borderRadius:16,background:"transparent",color:"var(--popmelt-thread-secondary)",cursor:"pointer",fontFamily:on,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:c,activeJobId:d,streamingEvents:p,onClose:u,onReply:f,onContribute:m,onApproveSuggestion:g,onCancel:y,canManage:x=!0,readOnlyReason:L,lastError:A,onMouseEnter:S,temporarilyHidden:O=!1,instantVisibilityHandoff:M=!1,backdropCursor:X,toolbarRef:Z,surfaceRef:N,currentModel:V,currentProvider:J,availableProviders:k=[],models:K=[],modelIndex:ee=0,agentSettings:j,onProviderChange:z,onModelChange:$,onAgentSettingsChange:H,onModelMenuOpen:D,annotationNumber:C,annotationText:ne,onPreviousThread:oe,onNextThread:G,preferredSide:ce="right",modal:F=!0}){let[Se,,ie]=Ms(),re=Rs[Se],Te={"--popmelt-thread-surface":re.surface,"--popmelt-thread-raised":re.raisedSurface,"--popmelt-thread-soft":re.softSurface,"--popmelt-thread-control":re.control,"--popmelt-thread-primary":re.threadPrimary,"--popmelt-thread-secondary":re.secondary,"--popmelt-thread-muted":re.muted,"--popmelt-thread-muted-strong":re.mutedStrong,"--popmelt-thread-border":re.border,"--popmelt-thread-hairline":re.hairline,"--popmelt-thread-soft-hairline":re.softHairline,"--popmelt-thread-action":re.actionSurface,"--popmelt-thread-on-action":re.actionForeground,"--popmelt-thread-action-hover":re.actionHover},[je,Oe]=P(()=>o),[Y,be]=P(),Le=$r(Qa),He=(Y&&Le?.peerColors?.[Y.authorId])??r,et=Le?.onThreadViewed;_(()=>{Y!==void 0&&!O&&et?.(t)},[et,Y,O,t]);let[it,me]=P(!1),[he,Je]=P(""),qe=Y?.state==="pending",st=Y===void 0?void 0:qe?m:Y&&Y.state!=="sent"?void 0:f,[Ve,Ie]=P([]);_(()=>(e?.(!O&&Ve.length?{threadId:t,targets:Ve}:null),()=>e?.(null)),[e,O,t,Ve]);let Ue=xe(()=>Vx(ne,je),[ne,je]),[mt,_t]=P([]),[yt,We]=P(!1),[pt,kn]=P(!1),Kt=Lx({bridgeUrl:n,threadId:t,visible:!O,active:!!l,onPendingChange:kn}),[In,Ft]=P(o.length===0),Ne=q(null);Ne.current||(Ne.current=Xx(t));let[ht,dt]=P(()=>Ne.current.text),[v,le]=P([]),[ye,Xe]=P(!1),[bt,$e]=P(!1),xt=q(null),Ge=q(null),gt=q(null),ve=q(null),Pe=q(!1),at=q(!1),vt=q(!1),lt=q(!1),Ke=q({selectionStart:Ne.current.selectionStart,selectionEnd:Ne.current.selectionEnd,selectionDirection:Ne.current.selectionDirection}),[en,Be]=P(!0),[Dn,vn]=P(null),Bt=U(R=>vn(R),[]),tn=q(null),cr=q(!0),wt=q(null),Hn=q(0),nn=q(null),Gn=U((R,W)=>{let ge=R&&W.trim();tn.current&&(tn.current.style.opacity=ge?"0.65":"1")},[]),qt=q(null),Nr=q(null),Vt=U(R=>{Nr.current=R,N?.(R)},[N]),Qn=q(null),po=q(l),dn=q(d),On=q(null);_(()=>{$d(t,ht,void 0,Ke.current)},[ht,t]),Tt(()=>{let R=qt.current,W=Ne.current;!R||!W||W.text.length===0||R.setSelectionRange(W.selectionStart,W.selectionEnd,W.selectionDirection)},[]);let an=U(()=>{xt.current&&(clearTimeout(xt.current),xt.current=null)},[]),At=U(()=>{Ge.current&&(clearTimeout(Ge.current),Ge.current=null)},[]),zt=U(()=>{gt.current&&(clearTimeout(gt.current),gt.current=null),ve.current!==null&&(cancelAnimationFrame(ve.current),ve.current=null)},[]),Yt=U(()=>{D?.(),zt(),$e(!0),ve.current=requestAnimationFrame(()=>{ve.current=null,Xe(!0)})},[zt,D]),ur=U(()=>{zt(),Xe(!1),gt.current=setTimeout(()=>{gt.current=null,$e(!1)},iS)},[zt]),Nn=U(()=>{an(),At(),Pe.current=!1,at.current=!1,vt.current=!1,ur()},[At,an,ur]),_n=U(()=>{At(),an(),xt.current=setTimeout(()=>{xt.current=null,Pe.current&&Yt()},rS)},[At,an,Yt]),_r=U(()=>{an(),At(),!vt.current&&(Ge.current=setTimeout(()=>{Ge.current=null,!Pe.current&&!at.current&&!vt.current&&ur()},oS))},[At,an,ur]),yi=U(R=>{vt.current=R,R?At():!Pe.current&&!at.current&&_r()},[At,_r]);_(()=>()=>{an(),At(),zt()},[At,zt,an]);let Wt=q(Dd(ce)),bn=q({x:0,y:0}),Fr=q(!1),Fn=q({x:0,y:0,offsetX:0,offsetY:0}),En=q(ce==="right"),[,cn]=P(0),pr=`${dS}:${ce}`;_(()=>{try{let R=localStorage.getItem(pr);if(R){let W=JSON.parse(R);if(typeof W.top=="number"&&typeof W.left=="number"){let{width:ge,height:Ae}=No(),Ee=ci(ge),De=Aa(ge),tt={top:Math.max(Ee,Math.min(W.top,Ae-Ee-200)),left:Math.max(Ee,Math.min(W.left,De))};En.current=tt.left>=De-2,Wt.current=tt,cn(nt=>nt+1)}}}catch{}},[pr]),_(()=>{let R=()=>{if(En.current)Wt.current=Dd(ce);else{let W=Wt.current,{width:ge,height:Ae}=No(),Ee=ci(ge),De=Aa(ge);Wt.current={top:Math.max(Ee,Math.min(W.top,Ae-Ee-200)),left:Math.max(Ee,Math.min(W.left,De))}}cn(W=>W+1)};return window.addEventListener("resize",R,{passive:!0}),window.visualViewport?.addEventListener("resize",R,{passive:!0}),()=>{window.removeEventListener("resize",R),window.visualViewport?.removeEventListener("resize",R)}},[ce]),_(()=>{let R=Qn.current;if(!R)return;let W=De=>{Sc(No().width)||De.button!==0||De.target.closest("button")||(De.preventDefault(),De.stopPropagation(),Fr.current=!0,Fn.current={x:De.clientX,y:De.clientY,offsetX:bn.current.x,offsetY:bn.current.y})},ge=De=>{if(!Fr.current)return;let tt=Fn.current,nt=tt.offsetX+(De.clientX-tt.x),Re=tt.offsetY+(De.clientY-tt.y),{width:Qt}=No(),Yr=ci(Qt),gr=Math.max(Yr,Math.min(Aa(Qt),Wt.current.left+nt)),yr=Math.max(Yr,Wt.current.top+Re);bn.current={x:gr-Wt.current.left,y:yr-Wt.current.top};let vr=Nr.current;vr&&(vr.style.top=`${yr}px`,vr.style.left=`${gr}px`,vr.style.height=`${Sh(yr,gr,Z?.current)}px`)},Ae=()=>{if(!Fr.current)return;let De=Wt.current.top+bn.current.y,tt=Wt.current.left+bn.current.x;Wt.current={top:De,left:tt},bn.current={x:0,y:0};let nt=Aa();En.current=tt>=nt-2;try{localStorage.setItem(pr,JSON.stringify({top:De,left:tt}))}catch{}Fr.current=!1},Ee=()=>{Wt.current=Dd(ce),bn.current={x:0,y:0},En.current=ce==="right";try{localStorage.removeItem(pr)}catch{}cn(De=>De+1)};return R.addEventListener("mousedown",W),window.addEventListener("mousemove",ge),window.addEventListener("mouseup",Ae),R.addEventListener("dblclick",Ee),()=>{R.removeEventListener("mousedown",W),window.removeEventListener("mousemove",ge),window.removeEventListener("mouseup",Ae),R.removeEventListener("dblclick",Ee)}},[pr,ce,Z]);let jt=U(async R=>{try{let W=await Xt(`${n}/thread/${t}`);if(!W.ok)throw new Error(`Thread fetch failed: ${W.status}`);let ge=await W.json(),Ae=ge.messages??[];be(ge.suggestion??null);let Ee=Zf(ge,location.pathname);Ie(Re=>JSON.stringify(Re)===JSON.stringify(Ee)?Re:Ee);let De=R?.settleJobId,tt=em(Ae,De);(tt||R?.applyUnsettled)&&Oe(Re=>Ae.length===0&&Re.length>0?Re:Ae);let nt=Array.isArray(ge.modelProposals)?ge.modelProposals:ge.modelProposal?[ge.modelProposal]:[];return(tt||R?.applyUnsettled)&&_t(nt),Ft(!1),{messages:Ae,settled:tt}}catch{return Ft(!1),null}},[n,t]),Fo=U(async(R,W)=>{if(!yt){We(!0);try{let ge=await Xt(`${n}/projection/proposals/${encodeURIComponent(R.id)}/${W}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:J,model:V,...j})});if(ge.ok){let Ae=await ge.json();Ae.proposal&&_t(Ee=>Ee.map(De=>De.id===Ae.proposal.id?Ae.proposal:De)),await jt()}}finally{We(!1)}}},[j,n,V,J,jt,yt]);_(()=>{a&&jt({applyUnsettled:!0})},[a,jt]);let vi=U(async(R,W,ge)=>{if(!yt){We(!0);try{(await Xt(`${n}/memory/conversation-action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,proposalId:R.proposalId,action:W,claim:ge,provider:J,model:V,...j})})).ok&&await jt()}finally{We(!1)}}},[j,n,V,J,jt,yt,t]),Dt=U(async(R,W)=>{if(!yt){We(!0);try{(await Xt(`${n}/imprint/action`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,transactionId:R.transactionId,action:W})})).ok&&await jt()}finally{We(!1)}}},[n,jt,yt,t]),ze=U(async(R,W,ge)=>{if(!(yt||W.length===0)){We(!0);try{let Ae=await Xt(`${n}/projection/proposals/${encodeURIComponent(R.id)}/apply-selected`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changes:W,changeSummaries:ge.map(Ee=>({group:Ee.group,label:Ee.label,detail:Ee.detail,path:Ee.path,value:Ee.value,currentValue:Ee.currentValue})),provider:J,model:V,...j})});if(Ae.ok){let Ee=await Ae.json();Ee.proposal&&_t(De=>De.map(tt=>tt.id===Ee.proposal.id?Ee.proposal:tt)),await jt()}}finally{We(!1)}}},[j,n,V,J,jt,yt]);_(()=>{let R=!1;Hn.current=0,Ft(o.length===0),wt.current&&(clearTimeout(wt.current),wt.current=null);let W=async()=>{let ge=await jt({applyUnsettled:!0});R||ge===null||ge.messages.length!==0||Hn.current>=5||(Hn.current+=1,wt.current=setTimeout(W,200*Hn.current))};return W(),()=>{R=!0,wt.current&&(clearTimeout(wt.current),wt.current=null)}},[jt,o.length]);let Zn=U(R=>{if(!R||On.current===R)return;On.current=R,nn.current&&clearTimeout(nn.current);let W=0,ge=async()=>{(await jt({settleJobId:R,applyUnsettled:W>=5}))?.settled||W>=5||(W+=1,nn.current=setTimeout(ge,80*W))};ge()},[jt]);_(()=>{Zn(i)},[i,Zn]),_(()=>{po.current&&!l&&Zn(dn.current),po.current=l,d&&(dn.current=d)},[d,l,Zn]),_(()=>()=>{nn.current&&clearTimeout(nn.current)},[]);let Ht=xe(()=>p?MS(p):[],[p]),un=xe(()=>vh(Ht),[Ht]),Tn=xe(()=>Ah(Ht.filter(R=>R.kind==="tool_group")),[Ht]),hr=xe(()=>Ch(Tn),[Tn]),pn=xe(()=>nS(p??[]),[p]),Ut=xe(()=>p?jS(p):void 0,[p]),Ct=xe(()=>je.filter(R=>R.role==="human"&&R.replyToQuestion&&R.queued&&R.jobId!==d),[d,je]),hn=Qx(je,Y?.submissionId,t,tn),Wr=!hn.replacementReady||!!(he&&Y?.state==="pending"),ft=xe(()=>hn.messages.filter(R=>!(R.role==="human"&&R.replyToQuestion&&R.queued&&R.jobId!==d)),[d,hn.messages]),wn=xe(()=>{let R=new Set,W=new Map,ge=new Map,Ae=new Map,Ee=[];if(ft.forEach((De,tt)=>{let nt=mt.some(Re=>Re.status==="applied"&&Dh(De,Re));if(FS(De,nt)){Ee.push(tt);return}De.role!=="assistant"||Ee.length===0||(W.set(tt,Ee.map(Re=>ft[Re])),Ee.forEach(Re=>R.add(Re)),Ee=[])}),Ee.length>0){let De=Ee[0]-1;if(ft[De]?.role==="assistant"&&!R.has(De)){let tt=W.get(De)??[];W.set(De,[...tt,...Ee.map(Re=>ft[Re])]),Ee.forEach(Re=>R.add(Re));let nt=Ee[Ee.length-1];ge.set(De,zh(ft[nt],ft[nt-1])),Ae.set(De,ft[nt].timestamp)}else if(Ee.length>1){let tt=Ee[Ee.length-1],nt=Ee.slice(0,-1);W.set(tt,nt.map(Re=>ft[Re])),nt.forEach(Re=>R.add(Re))}}return{hiddenIndices:R,messagesByTargetIndex:W,timestampByTargetIndex:Ae,workedForByTargetIndex:ge}},[mt,ft]),Wo=xe(()=>{let R=new Map;for(let W of je)W.memoryReviewCard&&R.set(W.memoryReviewCard.proposalId,`${W.jobId}:${W.timestamp}`);return R},[je]),An=xe(()=>{let R=[];return ft.forEach((W,ge)=>{if(wn.hiddenIndices.has(ge))return;let Ae=$h(W,ft[ge-1]);W.role==="assistant"&&!Ae&&R.push(`message:${W.jobId}:${ge}`)}),l?"streaming":R[R.length-1]??null},[wn,l,ft]);_(()=>{let R=tn.current;if(!R)return;let W=()=>{let ge=R.scrollHeight-R.scrollTop-R.clientHeight;Be(ge<40),cr.current=ge<2};return R.addEventListener("scroll",W,{passive:!0}),()=>{R.removeEventListener("scroll",W)}},[]),_(()=>{cr.current&&tn.current&&(tn.current.scrollTop=tn.current.scrollHeight)},[je,Ht.length,l,pt,hn.phase]),_(()=>{if(!bt)return;let R=W=>{W.composedPath().some(ge=>ge instanceof HTMLElement&&ge.dataset.modelPicker!==void 0)||Nn()};return document.addEventListener("pointerdown",R,!0),()=>document.removeEventListener("pointerdown",R,!0)},[Nn,bt]),_(()=>{let R=W=>{if(W.key==="Escape"){if(W.stopPropagation(),bt){Nn();return}u()}};return document.addEventListener("keydown",R),()=>document.removeEventListener("keydown",R)},[Nn,bt,u]);let Jr=U((R,W,ge)=>{let Ae=R.trim();if(!Ae||!st)return!1;let Ee=`_pending_reply_${Date.now()}`,De=!!l,tt=W?W.map(nt=>URL.createObjectURL(nt)):void 0;return Oe(nt=>[...nt,{role:"human",timestamp:Date.now(),jobId:Ee,replyToQuestion:Ae,...qe?{execution:"none"}:{},...De?{queued:!0}:{},...tt?{replyImageUrls:tt}:{}}]),Promise.resolve().then(()=>st(t,Ae,W,ge)).then(async nt=>{nt?.jobId&&(Oe(Re=>Re.map(Qt=>Qt.jobId===Ee?{...Qt,jobId:nt.jobId}:Qt)),await jt({applyUnsettled:!0}))}).catch(nt=>{Oe(Re=>Re.map(Qt=>Qt.jobId===Ee?{...Qt,queued:!1,errorKind:"send_rejected",error:nt instanceof Error?nt.message:"Reply was not sent. Check your connection and permissions before retrying."}:Qt)),dt(Re=>Re||Ae),W&&le(Re=>Re.length?Re:W)}),!0},[l,t,st,jt,qe]),Cn=U(()=>{let R=v.length>0?v:void 0;Jr(ht,R)&&(dt(""),le([]))},[ht,v,Jr]),Br=U(R=>{let W=R.clipboardData.items,ge=[];for(let Ae=0;Ae<W.length;Ae++){let Ee=W[Ae];if(Ee.type.startsWith("image/")){let De=Ee.getAsFile();De&&ge.push(De)}}if(ge.length>0){if(R.preventDefault(),qe){Je("Suggestion discussion supports text for now; images were not attached.");return}le(Ae=>[...Ae,...ge])}},[qe]),fr=U(R=>{R.key==="Enter"&&(R.metaKey||R.ctrlKey)&&(R.preventDefault(),Cn())},[Cn]);Tt(()=>{let R=qt.current;R&&(R.style.height="auto",R.style.height=`${Math.max(34,Math.min(R.scrollHeight,120))}px`)},[ht]);let ho=Wt.current.top+bn.current.y,Wn=Wt.current.left+bn.current.x,qr=No(),rn=Sc(qr.width),er=ci(qr.width),mr=kc(qr.width),bi=Sh(ho,Wn,Z?.current),fo=je.some(R=>R.memoryReviewCard&&!je.some(W=>W.memoryReceipt?.proposalId===R.memoryReviewCard.proposalId)),mo=qe?"Add to suggestion (text only)":l?"Add steering context":fo?"Ask for rule changes":"Ask for changes";return T(rt,{children:[F&&h("div",{"data-devtools":"thread-panel-backdrop",onPointerDown:R=>{R.target===R.currentTarget&&u()},style:{position:"fixed",inset:0,zIndex:9998,opacity:O?0:1,pointerEvents:O?"none":"auto",cursor:X,transition:O&&!M?`opacity ${hs}ms ease`:"none"}}),T("div",{ref:Vt,style:{...uS,...Te,width:mr,height:rn?"auto":bi,position:"fixed",top:rn?`max(${er}px, env(safe-area-inset-top))`:ho,bottom:rn?`max(${er}px, env(safe-area-inset-bottom))`:void 0,left:rn?`max(${er}px, env(safe-area-inset-left))`:Wn,right:rn?`max(${er}px, env(safe-area-inset-right))`:void 0,zIndex:10004,opacity:O?0:1,pointerEvents:O?"none":"auto",transition:O&&!M?`opacity ${hs}ms ease`:"none"},"data-devtools":"thread-panel","data-popmelt-thread-id":t,"data-popmelt-font":"sans","data-popmelt-theme":Se,"data-popmelt-theme-preference":ie,"aria-hidden":O||void 0,onMouseEnter:S,children:[lS,T("div",{style:{background:"var(--popmelt-thread-surface)",borderRadius:"12px 12px 16px 16px",display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[T("div",{ref:Qn,"data-popmelt-thread-header":!0,style:{...pS,backgroundColor:He,color:"#ffffff",cursor:"grab",overflow:rn?"visible":"hidden",paddingRight:rn?32:6,userSelect:"none",WebkitUserSelect:"none"},children:[T("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0,flex:1},children:[(C||!Y)&&h("span",{style:{flexShrink:0},children:C?`${C}.`:"Conversation"}),Ue&&h("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Ue})]}),oe&&G&&T("span",{style:{display:"flex",flexShrink:0,gap:0,marginLeft:8},children:[h("button",{type:"button","aria-label":"Previous thread","data-popmelt-thread-nav":!0,onClick:oe,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Oo,justifyContent:"center",margin:0,padding:0,position:"relative",width:Oo},children:h(Rg,{"aria-hidden":"true",height:Oo,strokeWidth:2,width:Oo})}),h("button",{type:"button","aria-label":"Next thread","data-popmelt-thread-nav":!0,onClick:G,style:{alignItems:"center",background:"transparent",border:0,color:"inherit",cursor:"pointer",display:"flex",height:Oo,justifyContent:"center",margin:0,padding:0,position:"relative",width:Oo},children:h(zs,{"aria-hidden":"true",height:Oo,strokeWidth:2,width:Oo})})]}),rn&&h("button",{type:"button","aria-label":"Close thread",onClick:u,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:h(dl,{"aria-hidden":"true",size:14,strokeWidth:2})})]}),h("style",{dangerouslySetInnerHTML:{__html:`
|
|
222
|
-
[data-devtools="thread-panel"] ::selection {
|
|
223
|
-
background: color-mix(in srgb, ${He} 15%, transparent);
|
|
224
|
-
color: inherit;
|
|
225
|
-
}
|
|
226
|
-
[data-popmelt-thread-nav] { opacity: 0.5; transition: opacity 120ms ease; }
|
|
227
|
-
[data-popmelt-thread-nav]:hover, [data-popmelt-thread-nav]:focus-visible { opacity: 1; }
|
|
228
|
-
[data-popmelt-approve-suggestion]:not(:disabled):hover {
|
|
229
|
-
--popmelt-approval-background: var(--popmelt-thread-action-hover);
|
|
230
|
-
}
|
|
231
|
-
[data-popmelt-approve-suggestion]:focus-visible {
|
|
232
|
-
outline: 2px solid var(--popmelt-thread-primary);
|
|
233
|
-
outline-offset: 3px;
|
|
234
|
-
}
|
|
235
|
-
[data-popmelt-thread-nav]::before { content: ''; position: absolute; inset: -4px; }
|
|
236
|
-
[data-popmelt-thread-content] { isolation: isolate; }
|
|
237
|
-
[data-popmelt-thread-content]::after {
|
|
238
|
-
background: color-mix(in srgb, var(--popmelt-thread-surface) 50%, transparent);
|
|
239
|
-
content: '';
|
|
240
|
-
inset: 0;
|
|
241
|
-
opacity: 0;
|
|
242
|
-
pointer-events: none;
|
|
243
|
-
position: absolute;
|
|
244
|
-
transition: opacity 100ms ease;
|
|
245
|
-
transition-delay: 0ms;
|
|
246
|
-
z-index: 10;
|
|
247
|
-
}
|
|
248
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:hover)::after,
|
|
249
|
-
[data-popmelt-thread-content]:has([data-popmelt-tool-receipt-trigger]:focus-within)::after {
|
|
250
|
-
opacity: 1;
|
|
251
|
-
transition-delay: 180ms;
|
|
252
|
-
}
|
|
253
|
-
[data-popmelt-thread-content] [data-popmelt-tool-receipt-tooltip] { z-index: 20; }
|
|
254
|
-
[data-popmelt-reply]::placeholder { color: var(--popmelt-thread-muted); opacity: 1; }
|
|
255
|
-
[data-message-timestamp] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
256
|
-
[data-message-activity] { opacity: 1; transition: opacity 120ms ease; }
|
|
257
|
-
[data-worked-for-label], [data-worked-for-time] { transition: opacity 120ms ease; }
|
|
258
|
-
[data-worked-for-time] { pointer-events: none; }
|
|
259
|
-
[data-under-message-rail="hover"] { opacity: 0; pointer-events: none; transition: opacity 120ms ease; }
|
|
260
|
-
[data-model-sender] { display: none !important; }
|
|
261
|
-
[data-msg]:hover [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
262
|
-
[data-msg]:hover [data-message-timestamp] { opacity: 1; }
|
|
263
|
-
@media (hover: hover) {
|
|
264
|
-
[data-msg]:hover + [data-popmelt-suggestion-actions] [data-popmelt-approve-suggestion]:not(:focus-visible) {
|
|
265
|
-
opacity: 0 !important;
|
|
266
|
-
pointer-events: none;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
[data-worked-for-trigger]:hover [data-worked-for-label] { opacity: 0; }
|
|
270
|
-
[data-worked-for-trigger]:hover [data-worked-for-time] { opacity: 1 !important; }
|
|
271
|
-
[data-popmelt-tool-receipt-tooltip] {
|
|
272
|
-
opacity: 0;
|
|
273
|
-
transform: translateY(3px) scale(0.98);
|
|
274
|
-
transform-origin: bottom center;
|
|
275
|
-
transition: opacity 100ms ease, transform 100ms ease, visibility 0s linear 100ms;
|
|
276
|
-
visibility: hidden;
|
|
277
|
-
}
|
|
278
|
-
[data-popmelt-tool-receipt-scroll] {
|
|
279
|
-
overflow-x: hidden !important;
|
|
280
|
-
}
|
|
281
|
-
[data-popmelt-tool-receipt-scroll],
|
|
282
|
-
[data-popmelt-tool-receipt-scroll] * {
|
|
283
|
-
box-sizing: border-box;
|
|
284
|
-
max-width: 100%;
|
|
285
|
-
min-width: 0;
|
|
286
|
-
overflow-wrap: anywhere;
|
|
287
|
-
white-space: normal;
|
|
288
|
-
word-break: break-word;
|
|
289
|
-
}
|
|
290
|
-
[data-popmelt-tool-receipt-trigger]:hover > button {
|
|
291
|
-
color: var(--popmelt-thread-primary) !important;
|
|
292
|
-
}
|
|
293
|
-
[data-popmelt-tool-receipt-scrim] {
|
|
294
|
-
left: 0;
|
|
295
|
-
opacity: 0;
|
|
296
|
-
pointer-events: none;
|
|
297
|
-
position: absolute;
|
|
298
|
-
right: 0;
|
|
299
|
-
transition: opacity 100ms ease;
|
|
300
|
-
z-index: 1;
|
|
301
|
-
}
|
|
302
|
-
[data-popmelt-tool-receipt-scrim="top"] {
|
|
303
|
-
background: linear-gradient(to bottom, var(--popmelt-thread-raised) 10%, transparent);
|
|
304
|
-
height: 24px;
|
|
305
|
-
top: 0;
|
|
306
|
-
}
|
|
307
|
-
[data-popmelt-tool-receipt-scrim="bottom"] {
|
|
308
|
-
background: linear-gradient(to top, var(--popmelt-thread-raised) 10%, transparent);
|
|
309
|
-
bottom: 0;
|
|
310
|
-
height: 24px;
|
|
311
|
-
}
|
|
312
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-top] [data-popmelt-tool-receipt-scrim="top"],
|
|
313
|
-
[data-popmelt-tool-receipt-tooltip][data-overflow-bottom] [data-popmelt-tool-receipt-scrim="bottom"] {
|
|
314
|
-
opacity: 1;
|
|
315
|
-
}
|
|
316
|
-
[data-popmelt-tool-receipt-trigger]:hover [data-popmelt-tool-receipt-tooltip][data-ready="true"],
|
|
317
|
-
[data-popmelt-tool-receipt-trigger]:focus-within [data-popmelt-tool-receipt-tooltip][data-ready="true"] {
|
|
318
|
-
opacity: 1;
|
|
319
|
-
transform: translateY(0) scale(1);
|
|
320
|
-
transition-delay: 180ms;
|
|
321
|
-
visibility: visible;
|
|
322
|
-
}
|
|
323
|
-
@media (prefers-reduced-motion: reduce) {
|
|
324
|
-
[data-popmelt-tool-receipt-tooltip] { transition: none; }
|
|
325
|
-
[data-popmelt-thread-content]::after { transition: none; }
|
|
326
|
-
}
|
|
327
|
-
[data-suggestion-message] { display: contents; }
|
|
328
|
-
[data-suggestion-handoff] > div {
|
|
329
|
-
display: flex;
|
|
330
|
-
flex-direction: column;
|
|
331
|
-
gap: 32px;
|
|
332
|
-
}
|
|
333
|
-
[data-suggestion-phase="preparing"] [data-suggestion-handoff="incoming"] {
|
|
334
|
-
display: block;
|
|
335
|
-
position: absolute;
|
|
336
|
-
visibility: hidden;
|
|
337
|
-
pointer-events: none;
|
|
338
|
-
}
|
|
339
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] {
|
|
340
|
-
display: block;
|
|
341
|
-
position: relative;
|
|
342
|
-
height: 0;
|
|
343
|
-
flex-shrink: 0;
|
|
344
|
-
margin-bottom: -32px;
|
|
345
|
-
pointer-events: none;
|
|
346
|
-
}
|
|
347
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="outgoing"] > div {
|
|
348
|
-
position: absolute;
|
|
349
|
-
width: 100%;
|
|
350
|
-
animation: popmelt-suggestion-out ${zd}ms ease-out both;
|
|
351
|
-
}
|
|
352
|
-
[data-suggestion-phase="animating"] [data-suggestion-handoff="incoming"] > div {
|
|
353
|
-
animation: popmelt-suggestion-in ${zd}ms cubic-bezier(.2,.7,.2,1) both;
|
|
354
|
-
}
|
|
355
|
-
@keyframes popmelt-suggestion-out {
|
|
356
|
-
to { opacity: 0; transform: translateY(-16px); }
|
|
357
|
-
}
|
|
358
|
-
@keyframes popmelt-suggestion-in {
|
|
359
|
-
from { opacity: 0; transform: translateY(16px); }
|
|
360
|
-
to { opacity: 1; transform: translateY(0); }
|
|
361
|
-
}
|
|
362
|
-
@media (prefers-reduced-motion: reduce) {
|
|
363
|
-
[data-suggestion-handoff] > div { animation: none !important; }
|
|
364
|
-
}
|
|
365
|
-
@media (hover: none), (pointer: coarse) {
|
|
366
|
-
[data-message-timestamp], [data-under-message-rail="hover"] { opacity: 1; pointer-events: auto; }
|
|
367
|
-
[data-popmelt-thread-header] { cursor: default !important; }
|
|
368
|
-
[data-popmelt-reply-action] { width: 40px !important; height: 40px !important; margin: -10px; }
|
|
369
|
-
}
|
|
370
|
-
`}}),T("div",{"data-popmelt-thread-content":!0,style:{display:"flex",flex:1,flexDirection:"column",minHeight:0,position:"relative"},children:[T("div",{ref:tn,style:{...hS,...st?{paddingBottom:12}:{},transition:"opacity 150ms ease"},"data-devtools":"thread-panel-messages","data-suggestion-phase":hn.phase,children:[In&&h("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"Loading..."}),!In&&ft.length===0&&Ct.length===0&&!l&&h("div",{style:{padding:16,color:"var(--popmelt-thread-muted)",textAlign:"center"},children:"No messages yet."}),ft.map((R,W)=>{if(wn.hiddenIndices.has(W))return null;let ge=wn.messagesByTargetIndex.get(W)??[],Ae=[...ge,R],Ee=$h(R,ft[W-1]),De=In?[]:mt.filter(Re=>Ae.some(Qt=>Dh(Qt,Re))),tt=De.filter(Re=>Re.status==="applied"),nt={decisionRecorded:tt.some(Re=>Re.decisionIds.length>0),modelUpdated:tt.length>0,imprintReceipt:$S(Ae,ft)};return h("div",{"data-suggestion-message":!0,"data-suggestion-handoff":hn.motion(R),"aria-hidden":hn.motion(R)==="outgoing"&&hn.phase==="animating"?!0:void 0,children:T("div",{style:hn.motion(R)?void 0:{display:"contents"},children:[h(jh,{msg:R,index:W,bridgeUrl:n,accentColor:He,onLightbox:Bt,hideSender:Ee,hideTimestamp:Ee,hideModelSenderUntilHover:An!==`message:${R.jobId}:${W}`,compactSpacing:Ee,workedFor:wn.workedForByTargetIndex.get(W)??zh(R,ft[W-1]),activityTimestamp:wn.timestampByTargetIndex.get(W),memoryReviewBusy:yt,memoryReviewResolved:!!(R.memoryReviewCard&&je.some(Re=>Re.memoryReceipt?.proposalId===R.memoryReviewCard.proposalId&&Re.memoryReceipt.status==="committed")),memoryReviewSuperseded:!!(R.memoryReviewCard&&Wo.get(R.memoryReviewCard.proposalId)!==`${R.jobId}:${R.timestamp}`),foldedActivityMessages:ge,underMessageActivity:nt,onMemoryReviewAction:x?vi:void 0,onImprintAction:x?Dt:void 0}),W===0&&Y&&Y.state!=="sent"&&(he||Wr&&g&&(qe||Y.state==="approving"))&&T("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:[(qe||Y.state==="approving")&&Wr&&g&&T("button",{"data-popmelt-approve-suggestion":!0,type:"button",disabled:it||!qe,style:{...tm(Se),padding:ms.padding,gap:ms.gap,background:"var(--popmelt-approval-background, var(--popmelt-thread-action))",color:"var(--popmelt-thread-on-action)",opacity:it||!qe?.5:1,transition:"background-color 120ms ease, opacity 120ms ease",cursor:it||!qe?"default":"pointer"},onClick:async()=>{if(!(it||!qe)){me(!0),Je("");try{await g(Y.submissionId,Y.revision)}catch(Re){Je(Re instanceof Error?Re.message:"Approval failed. Review the updated suggestion and try again.")}finally{await jt({applyUnsettled:!0}),me(!1)}}},children:[h(gu,{size:ms.iconSize,strokeWidth:1.5,"aria-hidden":"true"}),it||!qe?"Sending\u2026":"Approve and send"]}),he&&h("div",{role:"alert",children:he})]}),De.filter(Re=>Re.status!=="applied").map(Re=>h("fieldset",{disabled:!x,style:{border:0,padding:0,margin:0,minWidth:0},children:h(YS,{proposal:Re,timestamp:R.timestamp,bridgeUrl:n,accentColor:He,busy:yt,onApplySelected:ze,onDismiss:()=>Fo(Re,"dismiss"),onReviewUnderlying:()=>{Re.underlyingProposalId&&Jr("> Kicked off decision review",void 0,{memoryReviewProposalId:Re.underlyingProposalId})},hideModelSenderUntilHover:An!==`proposal:${Re.id}`})},Re.id))]})},Hl(R))}),l&&T("div",{style:{padding:0,display:"flex",flexDirection:"column",gap:8},children:[(!s||Kt.approvals.some(R=>R.jobId===d&&R.phase))&&h(rt,{children:un.map((R,W)=>{if(R.kind==="approval"){let Ae=Kt.approvals.find(De=>De.id===R.approval.id),Ee=R.approval.status==="pending"&&Ae?.status!=="pending"?Ae??R.approval:R.approval;return h(Rx,{approval:Ee,accentColor:He,connected:x&&Kt.connected,decide:De=>Kt.decide(Ee,De)},Ee.id)}if(R.kind==="tool_group")return null;if(R.kind==="generated_image")return h(Eh,{src:uo(n,R.url),onLightbox:Bt},W);if(R.kind==="file_content")return h(RS,{file:R.file,content:R.content,ext:R.ext,isPlan:R.isPlan,onAccept:R.isPlan&&st?()=>st(t,"Looks good, please proceed with implementation."):void 0},W);if(R.kind==="thinking")return h("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:R.text},W);if(R.kind==="status")return h("div",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic",lineHeight:1.4,wordBreak:"break-word"},children:R.text},W);if(R.kind==="orientation")return h(Th,{orientation:R.orientation},W);let ge=Ca(R.text);return ge?h("div",{style:{fontSize:14,letterSpacing:"0.14px",lineHeight:1.3,wordBreak:"break-word"},children:Hr(ge)},W):null})}),T("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:24},children:[h("div",{style:{alignItems:"center",display:"flex",gap:6},children:s?T(rt,{children:[h(yu,{size:12,strokeWidth:2.25,color:He,style:{verticalAlign:"middle",flexShrink:0,opacity:.5}}),h("span",{style:{color:"var(--popmelt-thread-muted)",fontSize:12,fontStyle:"italic"},children:Kt.approvals.some(R=>R.jobId===d&&R.phase==="parked")?"Parked \xB7 waiting for permission":Kt.approvals.some(R=>R.jobId===d&&R.phase==="queued")?"Queued next":`Queued${c?` ${c}`:""}`})]}):T(rt,{children:[pt?h("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Waiting for permission"}):pn?h("span",{style:{color:"var(--popmelt-thread-muted-strong)",fontSize:12},children:"Generating images\u2026"}):h(bS,{color:"var(--popmelt-thread-muted-strong)"}),hr.map(R=>h(Mh,{receipt:R,animateCount:!0},R.kind)),Ut&&h(Ph,{receipt:Ut,accentColor:He})]})}),y&&h("button",{onClick:y,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&&A&&T("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:12,color:"#dc2626",lineHeight:1.4},children:[h("span",{style:{fontWeight:600},children:"Error: "}),A]})]}),Ct.length>0&&h("div",{"data-queued-replies-area":!0,style:{flexShrink:0,maxHeight:"40%",overflowY:"auto",padding:"0 12px 12px"},children:h(Cx,{messages:Ct,renderMessage:R=>h(jh,{msg:R,index:je.indexOf(R),bridgeUrl:n,accentColor:He,onLightbox:Bt,hideSender:!0,hideTimestamp:!0,queuedPreview:!0}),onChange:x?async(R,W)=>{let ge=await Xt(`${n}/reply/queued`,{method:W===null?"DELETE":"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:t,jobId:R.jobId,submissionId:R.lifecycle?.submissionIds[0],expectedReply:R.replyToQuestion,reply:W})});if(!ge.ok){let Ae=await ge.json().catch(()=>({}));throw new Error(Ae.error??"Could not update queued message.")}await jt({applyUnsettled:!0})}:void 0})}),!st&&L&&T("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:[h(Lg,{"aria-hidden":"true",size:12,strokeWidth:1.5}),h("span",{children:L})]}),st&&T("div",{"data-popmelt-thread-composer":!0,style:{flexShrink:0,position:"relative",zIndex:1},children:[bt&&h(nm,{visible:ye,provider:J,availableProviders:k,models:K,modelIndex:ee,agentSettings:j,onProviderChange:z,onModelChange:$,onAgentSettingsChange:H,onMouseEnter:()=>{at.current=!0,At()},onMouseLeave:()=>{at.current=!1,_r()},onScrubChange:yi}),!en&&je.length>0&&h("button",{type:"button","data-scroll-to-bottom":!0,"aria-label":"Scroll to latest message",title:"Scroll to latest message",onClick:()=>{tn.current&&tn.current.scrollTo({top:tn.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:h(Pg,{"aria-hidden":"true",size:16,strokeWidth:1.75})}),v.length>0&&h("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:v.map((R,W)=>T("span",{onClick:()=>le(ge=>ge.filter((Ae,Ee)=>Ee!==W)),onMouseEnter:ge=>{let Ae=ge.currentTarget.querySelector("[data-chip-x]");Ae&&(Ae.style.color="#fff")},onMouseLeave:ge=>{let Ae=ge.currentTarget.querySelector("[data-chip-x]");Ae&&(Ae.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:He,backdropFilter:"blur(4px)",borderRadius:8,padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",W+1,h("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},W))}),T("div",{style:fS,children:[h("textarea",{ref:qt,"data-popmelt-reply":!0,autoFocus:!rn,rows:1,value:ht,onChange:R=>{Ke.current={selectionStart:R.target.selectionStart,selectionEnd:R.target.selectionEnd,selectionDirection:R.target.selectionDirection},$d(t,R.target.value,void 0,Ke.current),dt(R.target.value),Gn(lt.current,R.target.value)},onSelect:R=>{Ke.current={selectionStart:R.currentTarget.selectionStart,selectionEnd:R.currentTarget.selectionEnd,selectionDirection:R.currentTarget.selectionDirection},$d(t,R.currentTarget.value,void 0,Ke.current)},onFocus:()=>{lt.current=!0,Gn(!0,ht)},onBlur:()=>{lt.current=!1,Gn(!1,ht)},onKeyDown:fr,onPaste:Br,placeholder:mo,style:{width:"100%",minWidth:0,height:34,minHeight:34,padding:"12px 12px 0",fontSize:14,fontFamily:on,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"}}),T("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",padding:"10px 12px"},children:[h(rm,{provider:J,open:ye,onClick:()=>{an(),At(),ye?Nn():Yt()},onMouseEnter:()=>{Pe.current=!0,ye?At():_n()},onMouseLeave:()=>{Pe.current=!1,_r()}}),h("button",{type:"button","data-popmelt-reply-action":!0,onClick:Cn,disabled:!ht.trim(),"aria-label":"Send reply",style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,background:"none",border:"none",cursor:ht.trim()?"pointer":"default",color:"var(--popmelt-thread-primary)",opacity:ht.trim()?1:.12,flexShrink:0},children:h("span",{style:{alignItems:"center",display:"flex",height:16,justifyContent:"center",width:16},children:h(gu,{"aria-hidden":"true",fill:"currentColor",size:ht.trim()?16:14,strokeWidth:1.5,style:{transform:"rotate(-45deg)",transition:"width 120ms ease, height 120ms ease"}})})})]})]})]})]})]})]}),Dn&&h(ES,{src:Dn,onClose:()=>vn(null)})]})}function _o(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 XS(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 KS(e,t,n){return e!==t&&t!==null&&n!==null}function VS(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 GS(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 QS(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 Oh(e,t){return t?e.ownerParticipantId?e.ownerParticipantId===t.participantId:t.isHost===!0:!0}function ZS(e,t,n,r){let o=q(e),i=q(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 e1=[],Wl="devtools-provider",Jl="devtools-model",_d="devtools-model-id",Nh="devtools-agent-settings",Fd="devtools-open-thread-id",Bl="popmelt-dismissed-thread-ids",Wd="#000000",t1=20,n1=[],r1=[];function Jd(e){let t=e.dispose?.();t&&Promise.resolve(t).catch(()=>{})}function o1(e){let t=q(new Map),[n,r]=P([]);return _(()=>{let o=t.current,i=new Map,a=[];for(let s of e){if(i.has(s.id))continue;let c=o.get(s.id);if(c?.configurationKey===s.configurationKey){i.set(s.id,c),a.push(s);continue}c&&Jd(c.runtime),i.set(s.id,{configurationKey:s.configurationKey,runtime:s.activate()}),a.push(s)}for(let[s,c]of o)i.has(s)||Jd(c.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((c,d)=>c===l[d])?s:l)},[e]),_(()=>()=>{for(let o of t.current.values())Jd(o.runtime);t.current.clear()},[]),n}function i1(e,t=96){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,t-1)}...`:n}function a1(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=>i1(a)).filter(Boolean);return i.length===0?"Annotation":i.length<=3?i.join("; "):`${i.slice(0,3).join("; ")}; +${i.length-3} more`}function ql(e){if(typeof window>"u"||!e)return new Set;try{let t=JSON.parse(localStorage.getItem($i(Bl,e))||"[]");return new Set(Array.isArray(t)?t.filter(n=>typeof n=="string"):[])}catch{return new Set}}function _h(e,t){if(!(typeof window>"u"||!t))try{let n=ql(t);for(let r of e)n.add(r);localStorage.setItem($i(Bl,t),JSON.stringify(Array.from(n).slice(-200)))}catch{}}function l1(e){let t=e.getBoundingClientRect();return t.bottom<0||t.top>window.innerHeight||t.right<0||t.left>window.innerWidth}function s1(e){for(let t of e){let n=ln(t);if(n){l1(n)&&n.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"});return}}}async function Bd(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 d1(e,t,n,r,o){if(t==="copilot"||t==="omp"||e==="copilot"||e==="omp")return 0;let i=yc(e,r),a=yc(t,o);if(a.length===0)return 0;let l=i.findIndex(c=>c.index===n),s=l>=0?l:a.length-1;return a[Math.min(s,a.length-1)].index}function c1({children:e,enabled:t=process.env.NODE_ENV==="development",multiplayer:n=!1,...r}){let o=$r(Qa),[i,a]=P([]),l=U(p=>(a(u=>u.includes(p)?u:[...u,p]),()=>a(u=>u.filter(f=>f!==p))),[]),s=xe(()=>({isEnabled:t,registerSubjectAdapter:l}),[t,l]),c=xe(()=>[...r.subjectAdapters??[],...i],[r.subjectAdapters,i]),d=h(u1,{...r,multiplayer:n,enabled:!0,registeredSubjectAdapters:i});return T(rf.Provider,{value:s,children:[e,t&&(o?n?d:null:h(Ky,{multiplayer:n,projectId:r.projectId,adapters:c,children:d}))]})}function u1({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=n1,extensions:l=r1,imageAnnotation:s=!0,videoAnnotation:c=!0,getCommentMeta:d}){let p=typeof window<"u"?o??window.__POPMELT_PROJECT_ID__??null:null,[u,f]=P(p),[m,g]=P(!!p),y=u,x=q(null),L=q(!1),[A,S]=of(x,L),O=$r(ic),M=$r(Qa),[X,Z]=P(()=>new Set),[N,V]=P(0),J=q(0);_(()=>{if(!N)return;let w=window.setTimeout(()=>V(0),220);return()=>window.clearTimeout(w)},[N]);let k=xe(()=>M?.participantId?af(ac(A,M.pendingSubmissions??[],M.participantId,X),M.annotationColor):A,[A,M?.pendingSubmissions,M?.participantId,M?.annotationColor,X]);_(()=>{if(!X.size)return;let w=ac(A,M?.pendingSubmissions??[],M?.participantId??""),I=new Set([...X].filter(B=>{let Q=w.annotations.find(se=>se.id===B);return Q&&["pending","sending"].includes(Q.status??"pending")}));I.size!==X.size&&Z(I)},[A,M?.pendingSubmissions,M?.participantId,X]);let K=!M||M.canReadThreads,ee=!M||M.canReply,j=!M||M.canManageThreads,z=o1(l),$=xe(()=>{for(let w=z.length-1;w>=0;w-=1){let I=z[w]?.imageRecognition;if(I)return I}},[z]),H=xe(()=>z.flatMap(w=>w.subjectAdapters??[]),[z]),D=xe(()=>{for(let w=z.length-1;w>=0;w-=1){let I=z[w]?.videoTracking;if(I)return I}},[z]),C=xe(()=>{for(let w=z.length-1;w>=0;w-=1){let I=z[w]?.videoSegmentation;if(I)return I}},[z]),ne=xe(()=>!$||s===!1?s:{...typeof s=="object"?s:{},recognition:$},[$,s]),oe=xe(()=>[...H,...a,...n],[H,n,a]),G=Gy({enabled:e,active:k.isAnnotating||k.annotations.some(w=>w.target?.adapter==="see:image"),configuration:ne,adapters:oe}),ce=xe(()=>!D&&!C||c===!1?c:{...typeof c=="object"?c:{},...D?{tracking:D}:{},...C?{segmentation:C}:{}},[C,D,c]),F=Qy({enabled:e,configuration:ce,adapters:G}),Se=(!e||ne===!1||oe.some(w=>w.surfaceKind==="image"||w.id==="see:image")||G.some(w=>w.surfaceKind==="image"||w.id==="see:image"))&&(!e||ce===!1||G.some(w=>w.surfaceKind==="video"||w.id==="see:video")||F.some(w=>w.surfaceKind==="video"||w.id==="see:video")),ie=xe(()=>new ag(F),[F]),[re,Te]=P(!1),je=q(ie);je.current=ie,_(()=>{let w=!1;return Te(!1),Se?(ie.whenReady().then(()=>{w||Te(!0)}),()=>{w=!0}):()=>{}},[Se,ie]),_(()=>()=>ie.destroy(),[ie]);let Oe=M?.bindSubjects;_(()=>Oe?.(ie),[Oe,ie]);let Y=Xg(r,e&&!!y,y),be=Y.dismissQuestion,Le=Y.clearEvents;_(()=>{p&&(typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=p,Bc()),f(p),g(!0))},[p]);let He=q(null),et=q(null),[it,me]=P(null),he=Bg()??r,{onCanvasFocusChange:Je,onCanvasActivity:qe,inspectingElement:st,inspectingElements:Ve}=Cy(e&&Y.isConnected&&k.isAnnotating,he,{getCommentMeta:d,registry:ie,state:k,screenshotOptions:{nativeCapture:w=>qc(he,w),captureSurfaces:()=>ie.captureSurfaces()}}),Ie=U(w=>qc(he,w),[he]),Ue=U(async()=>{let w=Math.min(1,1200/Math.max(1,window.innerWidth));return ry(()=>Ie({url:window.location.href,clip:{x:window.scrollX,y:window.scrollY,width:window.innerWidth,height:window.innerHeight},scale:w}),async()=>{let[I]=await hi(document.body,He.current,[],{dpr:w,viewportOnly:!0,captureSurfaces:()=>ie.captureSurfaces()});return I??null})},[Ie,ie]),mt=q(new Map),_t=q(new Set),yt=q(!1);_(()=>{if(!he)return;let w=new Set(k.annotations.flatMap(se=>se.attachments?.map(ae=>ae.id)??[])),I=_t.current,B=[...w].filter(se=>!I.has(se)),Q=[...I].filter(se=>!w.has(se));_t.current=w,B.length>0&&Yc(he,B).catch(()=>{}),Q.length>0&&Promise.all(Q.map(se=>Ts(he,se).catch(()=>{})))},[he,k.annotations]);let We=q(new Map),pt=q(new Map),[,kn]=P(0),[Kt,In]=P(null),Ft=q(!1),Ne=cs(),ht=U((w,I,B,Q,se)=>{let ae=[],fe=ue=>{let Ce=URL.createObjectURL(ue);return ae.push(Ce),Ce},pe,Me;Q instanceof Map?(Me=Object.fromEntries(Array.from(Q,([ue,Ce])=>[ue,fe(Ce)])),pe=Object.values(Me)[0]):pe=fe(Q);let _e=se&&se.size>0?Object.fromEntries(Array.from(se,([ue,Ce])=>[ue,Ce.map(fe)])):void 0;for(pt.current.get(w)?.objectUrls.forEach(ue=>URL.revokeObjectURL(ue)),pt.current.delete(w),pt.current.set(w,{objectUrls:ae,message:{role:"human",timestamp:Date.now(),jobId:I,feedbackSummary:a1(B),requestText:av(B),requestItems:iv(B),...B.meta?{meta:B.meta}:{},...pe?{screenshotUrl:pe}:{},...Me?{screenshotUrls:Me}:{},..._e?{imageUrls:_e}:{}}});pt.current.size>t1;){let ue=pt.current.keys().next().value;if(!ue)break;pt.current.get(ue)?.objectUrls.forEach(Ce=>URL.revokeObjectURL(Ce)),pt.current.delete(ue)}kn(ue=>ue+1)},[]);_(()=>()=>{for(let w of pt.current.values())w.objectUrls.forEach(I=>URL.revokeObjectURL(I));pt.current.clear()},[]);let dt=M?.modelSelectionLocked??!1,v=M?.inheritedModelSelection,[le,ye]=P(()=>typeof window>"u"?"codex":localStorage.getItem(Wl)||"codex"),[Xe,bt]=P(()=>{if(typeof window>"u")return 0;let w=localStorage.getItem(Jl);return w&&parseInt(w,10)||0}),$e=dt?v?.provider??"codex":le,[xt,Ge]=P(()=>{if(typeof window>"u")return{};try{return JSON.parse(localStorage.getItem(Nh)||"{}")}catch{return{}}}),[gt,ve]=P([]),[Pe,at]=P({}),[vt,lt]=P(0),[Ke,en]=P(!1),Be=xe(()=>lf(Pe.codex??[]),[Pe.codex]),{index:Dn,select:vn}=Kg(Be,Ke,!dt&&$e==="codex"),Bt=dt?0:$e==="codex"?Dn:Xe,[tn,cr]=P({}),[wt,Hn]=P(null),[nn,Gn]=P(null),[qt,Nr]=P(null),[Vt,Qn]=P("idle"),[po,dn]=P(null),On=q(null),an=U(w=>{let I=Object.entries(w.providers).filter(([,ae])=>ae.available).map(([ae])=>ae);I.length>0&&ve(I);let B={},Q={};for(let[ae,fe]of Object.entries(w.providers))fe.models?.length&&(B[ae]=fe.models),fe.mcp&&(Q[ae]=fe.mcp);let se=On.current;if(se&&se.provider!=="codex"){let ae=B[se.provider]?.findIndex(fe=>fe.id===se.id);ae!==void 0&&ae>=0&&bt(ae)}at(B),cr(Q),en(!0)},[]),At=U(async w=>{if(!Y.isConnected)return;let I=await Dm(he,w);I&&an(I)},[an,Y.isConnected,he]);_(()=>{At($e)},[$e,Y.capabilitiesVersion,vt,At]),_(()=>{if(!Y.isConnected){Hn(null),Gn(null),Nr(null);return}let w=!1;return pa(he).then(I=>{w||(Hn(I?.version??null),Gn(I?.projectRoot??null),Nr(I?.execution??null))}),()=>{w=!0}},[Y.isConnected,Y.capabilitiesVersion,vt,he]),_(()=>{if(Vt==="idle"||Vt==="restarting")return;let w=window.setTimeout(()=>{Qn("idle"),dn(null)},Vt==="ok"?4e3:8e3);return()=>window.clearTimeout(w)},[Vt]),_(()=>{if(!dt&>.length>0&&!gt.includes($e)){let w=gt[0];ye(w),localStorage.setItem(Wl,w)}},[gt,$e,dt]);let zt=xe(()=>dt?[{id:v?.model??"",label:v?.label??"Waiting for host",source:"static"}]:$e==="codex"?Be:Pe[$e]?.length?Pe[$e]:$e==="copilot"?[...lc]:$e==="omp"?[...sc]:[...dc],[dt,v?.model,v?.label,Pe,Be,$e]),Yt=zt[Bt]??zt[0],ur=M?.setHostModelSelection;_(()=>{if(!ur||!Ke||!Y.isConnected||!gt.includes($e))return;let w=!1,I,B=()=>{w||ur({provider:$e,model:Yt.id,label:Yt.label}).catch(()=>{w||(I=setTimeout(B,2e3))})};return I=setTimeout(B,0),()=>{w=!0,clearTimeout(I)}},[ur,Ke,Y.isConnected,gt,$e,Yt.id,Yt.label]),On.current={provider:$e,id:Yt.id};let Nn=`${$e}:${Yt.id||"default"}`,_n=xe(()=>xt[Nn]??{},[xt,Nn]);_(()=>{if(!e||y||m)return;let w=!1;return fetch("/popmelt/status").then(I=>I.ok?I.json():null).then(I=>{if(w)return;let B=typeof window<"u"&&I?.devOrigin===window.location.origin,Q=I?.projectId&&(B||I.projectIdVerified===!0)?I.projectId:null;Q&&typeof window<"u"&&(window.__POPMELT_PROJECT_ID__=Q,Bc()),f(Q),g(!0)}).catch(()=>{w||g(!0)}),()=>{w=!0}},[e,y,m]),_(()=>{if(dt||$e==="codex")return;let w=localStorage.getItem(`${_d}:${$e}`),I=w!==null?zt.findIndex(Q=>Q.id===w):$e==="omp"?zt.findIndex(Q=>Q.isDefault):-1,B=I>=0?I:Bt<zt.length?-1:0;B<0||B===Bt||(bt(B),localStorage.setItem(Jl,String(B)))},[Bt,zt,$e,dt]);let _r=U(w=>{if(dt)return;if(w==="codex"){ye(w),localStorage.setItem(Wl,w);return}let I=$e,B=w==="copilot"?[...lc]:w==="omp"?[...sc]:[...dc],Q=Pe[w]&&Pe[w].length>0?Pe[w]:B;ye(w),localStorage.setItem(Wl,w);let se=d1(I,w,Bt,zt,Q);bt(se),localStorage.setItem(Jl,String(se));let ae=Q[se];ae&&localStorage.setItem(`${_d}:${w}`,ae.id)},[Bt,zt,$e,Pe,dt]),yi=U(w=>{if(dt)return;bt(w),localStorage.setItem(Jl,String(w));let I=zt[w];I&&($e==="codex"&&vn(I.id),localStorage.setItem(`${_d}:${$e}`,I.id))},[zt,$e,dt,vn]),Wt=U(w=>{Ge(I=>{let B={...I,[Nn]:w};return localStorage.setItem(Nh,JSON.stringify(B)),B})},[Nn]),[bn,Fr]=P(()=>sf()),[Fn,En]=P(null),cn=xe(()=>Fn?new Set(Fn.annotationIds):null,[Fn]),pr=U(()=>En(null),[]),jt=U(w=>{Fr(w),df(w)},[]),Fo=U(w=>Bd(w,i),[i]),[vi,Dt]=P(()=>({openThreadId:null,imprintStashedThreadId:null,toolbarSuspendedThreadId:null})),{openThreadId:ze,imprintStashedThreadId:Zn,toolbarSuspendedThreadId:Ht}=vi,un=q(0),Tn=q({toolbarExpanded:k.isAnnotating,imprintActive:k.activeTool==="model"});Tn.current={toolbarExpanded:k.isAnnotating,imprintActive:k.activeTool==="model"};let[hr,pn]=P(0),Ut=U(w=>{(w.type==="open_thread"||w.type==="close_thread")&&(un.current+=1),Dt(I=>XS(I,w))},[]),[Ct,hn]=P(null),Wr=q(null),[ft,wn]=P(new Set),[Wo,An]=P(null),[Jr,Cn]=P(null),[Br,fr]=P(new Set),[ho,Wn]=P(new Set),[qr,rn]=P(new Set),[er,mr]=P({}),bi=xe(()=>new Set(Object.keys(er)),[er]),[fo,mo]=P(null);_(()=>{An(null),y&&(wn(ql(y)),An(y),localStorage.removeItem(Bl))},[y]),_(()=>{if(M||!y||!Y.isConnected)return;let w=!1;hn(null);let I=un.current,B=$i(Fd,y),Q=localStorage.getItem(B);if(localStorage.removeItem(Fd),!Q){hn(y);return}return Xt(`${he}/thread/${encodeURIComponent(Q)}`).then(se=>{w||I!==un.current||(se.ok?Ut({type:"restore_thread",threadId:Q,...Tn.current}):localStorage.removeItem(B))}).catch(()=>{}).finally(()=>{w||hn(y)}),()=>{w=!0}},[Ut,Y.isConnected,y,he,M]),_(()=>{if(M||!y||Ct!==y)return;let w=$i(Fd,y),I=ze??Zn??Ht;I?localStorage.setItem(w,I):localStorage.removeItem(w)},[y,Zn,ze,Ct,Ht,M]);let R=M?`popmelt-in-flight-jobs:${y}:participant:${M.participantId}`:"popmelt-in-flight-jobs",[W,ge]=P(()=>{try{let w=localStorage.getItem(R);return w?JSON.parse(w):{}}catch{return{}}}),[Ae,Ee]=P(new Map);_(()=>{try{Object.keys(W).length>0?localStorage.setItem(R,JSON.stringify(W)):localStorage.removeItem(R)}catch{}},[W,R]),_(()=>{let w=I=>{if(I.key===R)try{let B=I.newValue?JSON.parse(I.newValue):{};ge(B)}catch{}};return window.addEventListener("storage",w),()=>window.removeEventListener("storage",w)},[R]);let De=q(new Map),tt=q(new Map),nt=q(new Map),Re=U((w,I,B)=>{let Q=tt.current.get(w)??[],se=nt.current.get(w);Ee(ae=>cf(ae,w,I,B,Q,se))},[]);_(()=>{for(let[w,I]of Object.entries(W)){let B=_o(I,k.annotations);B.length>0&&De.current.set(w,B);let Q=new Set(I.styleSelectors);for(let se of B){let ae=k.annotations.find(fe=>fe.id===se);if(ae&&(ae.linkedSelector&&Q.add(ae.linkedSelector),ae.groupId))for(let fe of k.annotations)fe.groupId===ae.groupId&&fe.linkedSelector&&Q.add(fe.linkedSelector)}Q.size>0&&tt.current.set(w,Array.from(Q)),I.threadId&&nt.current.set(w,I.threadId)}},[W,k.annotations]);let Qt=q("");_(()=>{if(k.annotations.length===0)return;let w=Object.keys(W).sort().join(",");if(w===Qt.current)return;Qt.current=w;let I=new Set;for(let Q of Object.values(W))for(let se of _o(Q,k.annotations))I.add(se);let B=k.annotations.flatMap(Q=>{if(I.has(Q.id)||Q.threadId)return[];let se=Q.status??"pending";return se==="in_flight"?[Q.id]:se==="pending"&&Q.captured?[Q.id]:[]});B.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:B,status:"dismissed"}})},[k.annotations,W,S]);let Yr=xe(()=>{let w=new Set;for(let I of Object.values(W))for(let B of _o(I,k.annotations))w.add(B);return w},[W,k.annotations]),gr=xe(()=>Au(Y.events),[Y.events]),yr=xe(()=>{let w=new Map,I={focus_set:"Investigating",focus_shifted:"Refocusing",evidence_updated:"Checking",hypothesis_changed:"Reframing",assumption_abandoned:"Reconsidering",uncertainty_identified:"Clarifying",next_observation_selected:"Checking"};for(let B of Y.events){if(B.type!=="orientation")continue;let Q=String(B.data.jobId??""),se=B.data.orientation,ae=se?.transition?I[se.transition]:void 0;if(!Q||!ae)continue;let fe=W[Q],pe=fe?_o(fe,k.annotations):De.current.get(Q)??[];for(let Me of pe)w.set(Me,ae)}for(let B of gr)if(W[B])for(let Q of _o(W[B],k.annotations))w.set(Q,"Approval needed");return w},[Y.events,W,k.annotations,gr]),vr=xe(()=>{let w=new Set(Y.activeJobIds),I=new Set;for(let[B,Q]of Object.entries(W))if(w.has(B))for(let se of _o(Q,k.annotations))I.add(se);return I},[W,Y.activeJobIds,k.annotations]),br=xe(()=>uf(Y.events,Y.lastCompletedJobId),[Y.events,Y.lastCompletedJobId]),La=xe(()=>{let w=new Set(cc(Object.keys(W),Y.activeJobIds,br)),I=Object.entries(W).filter(([se])=>w.has(se)),B=I.length,Q=new Map;return I.forEach(([,se],ae)=>{let fe=`(${ae+1}/${B})`;for(let pe of _o(se,k.annotations))Q.set(pe,fe)}),Q},[W,Y.activeJobIds,br,k.annotations]),Yl=xe(()=>{let w=new Set(Y.activeJobIds),I=new Set(Y.activeJobIds.flatMap(Q=>{let se=Y.activeJobThreads[Q]??W[Q]?.threadId;return se?[se]:[]})),B=pf(Ae,I);for(let[Q,se]of Object.entries(W))if(w.has(Q)&&!(!se.global&&se.routePathnames?.length&&!se.routePathnames.includes(Ne)))for(let ae of se.styleSelectors)B.add(ae);return B},[W,Y.activeJobIds,Y.activeJobThreads,Ae,Ne]),Ul=xe(()=>{let w=new Map;for(let[I,B]of Object.entries(W))if(B.threadId&&!(!B.global&&B.routePathnames?.length&&!B.routePathnames.includes(Ne)))for(let Q of B.styleSelectors)w.set(Q,I);return w},[W,Ne]),Xl=xe(()=>{let w=new Set(Y.activeJobIds),I=new Map;for(let[B,Q]of Object.entries(W))if(w.has(B)&&!(!Q.global&&Q.routePathnames?.length&&!Q.routePathnames.includes(Ne))){for(let se of Q.styleSelectors)I.set(se,Q.color);for(let se of _o(Q,k.annotations)){let ae=k.annotations.find(fe=>fe.id===se);if(ae&&(ae.linkedSelector&&I.set(ae.linkedSelector,Q.color),ae.groupId))for(let fe of k.annotations)fe.groupId===ae.groupId&&fe.linkedSelector&&I.set(fe.linkedSelector,Q.color)}}return I},[W,Y.activeJobIds,k.annotations,Ne]),wi=q(k.annotations);wi.current=k.annotations;let go=q(k.styleModifications);go.current=k.styleModifications;let yo=q(W);yo.current=W,_(()=>{let w=null,I=0,B=()=>{let ae=window.location.pathname;du(go.current.filter(fe=>!fe.pathname||fe.pathname===ae))},Q=()=>{if(Object.keys(yo.current).length>0)return;let ae=wi.current,fe=go.current,pe=[],Me=[];for(let _e of ae){if(!_e.linkedSelector||!_e.linkedSelector.startsWith("[data-pm=")||_e.pathname||_e.captured||_e.status&&_e.status!=="pending")continue;let ue=ln(_e.linkedSelector);!ue&&_e.elements?.[0]?.selector&&(ue=ln(_e.elements[0].selector)),ue||pe.push(_e.linkedSelector)}for(let _e of fe)_e.pathname&&_e.pathname!==window.location.pathname||dg(_e)||Me.push(_e.selector);(pe.length>0||Me.length>0)&&S({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:pe,styleSelectors:Me}})},se=Cu(ae=>{ae.some(fe=>fe.addedNodes.length>0)&&(window.cancelAnimationFrame(I),I=window.requestAnimationFrame(B)),ae.some(fe=>fe.removedNodes.length>0)&&(w&&clearTimeout(w),w=setTimeout(Q,3e3))});return()=>{se.disconnect(),window.cancelAnimationFrame(I),w&&clearTimeout(w)}},[S]);let xi=q(typeof window<"u"?window.location.pathname:"/");_(()=>{let w=Q=>{if(Ft.current)return;let se=window.location.pathname;if(Q===se)return;let ae=wi.current.filter(pe=>pe.pathname===Q&&(pe.status??"pending")==="pending");if(console.log(`[Popmelt] Navigation from ${Q} \u2192 ${se}, ${ae.length} pending annotations on departing page`),ae.length===0)return;let fe=He.current;if(!fe){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(hi(document.body,fe,ae,{dpr:1,captureSurfaces:()=>je.current.captureSurfaces()}).then(pe=>ml(pe)).then(pe=>{pe?(We.current.set(Q,pe),console.log(`[Popmelt] Cached screenshot for ${Q} (${(pe.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${Q}`)}).catch(pe=>{console.warn("[Popmelt] Capture-on-leave failed:",pe)}),We.current.size>20){let pe=[...We.current.entries()];We.current=new Map(pe.slice(-10))}},I=Q=>{let se=Q.detail?.prevPath;se&&(w(se),xi.current=window.location.pathname)},B=()=>{let Q=xi.current;w(Q),xi.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",I),window.addEventListener("popstate",B),()=>{window.removeEventListener("popmelt:locationchange",I),window.removeEventListener("popstate",B)}},[]),_(()=>{Y.lastCompletedJobId&&Y.lastCompletedJobId in W&&ge(w=>{let{[Y.lastCompletedJobId]:I,...B}=w;return B})},[Y.lastCompletedJobId,W]);let xn=q(new Set),Si=q(!1);_(()=>{if(!Y.isConnected){Si.current=!1;return}if(Si.current)return;Si.current=!0;let w={...yo.current};pa(he).then(async I=>{if(!I)return;let B=I.activeJobs??[],Q=I.recentJobs??[],se=[...B,...I.queuedJobs??[]],ae=new Set(se.map(pe=>pe.id)),fe=new Set;for(let pe of Object.values(w))if(pe.annotationIds)for(let Me of pe.annotationIds)fe.add(Me);for(let pe of k.annotations){let Me=pe.status??"pending";(Me==="sending"||Me==="in_flight"||pe.captured&&pe.threadId&&(pe.replyCount??0)===0)&&fe.add(pe.id)}ge(pe=>{let Me={...pe},_e=Date.now();for(let Ce of Object.keys(Me)){if(Ce.startsWith("_pending_")){let Ye=parseInt(Ce.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(Ye)&&_e-Ye>3e4&&delete Me[Ce];continue}Ce in w&&!ae.has(Ce)&&(I.queuedJobs!==void 0||Q.some(Ye=>Ye.id===Ce))&&delete Me[Ce]}for(let Ce of se)if(!Me[Ce.id]&&(Ce.annotationIds?.length||Ce.threadId)){let Ye=Ce.kind,Mt=Array.from(new Set((Ce.annotationIds??[]).map(To=>k.annotations.find(Er=>Er.id===To)?.pathname||Ne).filter(Boolean)));Me[Ce.id]={annotationIds:Ce.annotationIds??[],styleSelectors:[],color:Ye==="project_model"&&Ce.standalone===!0?Wd:Ce.color??"#888",threadId:Ce.threadId,kind:Ye,routePathnames:Mt.length>0?Mt:void 0,global:Ye==="synthesize"||Ye==="project_model"&&Ce.standalone===!0}}let ue=new Set;for(let Ce of Q)if(Ce.annotationIds)for(let Ye of Ce.annotationIds)ue.add(Ye);for(let Ce of Object.keys(Me)){if(!Ce.startsWith("_pending_"))continue;let Ye=Me[Ce];Ye&&Ye.annotationIds.some(Mt=>ue.has(Mt))&&delete Me[Ce]}return Me});for(let pe of Q)if(pe.annotationIds?.length&&pe.annotationIds.some(Me=>fe.has(Me))&&!xn.current.has(pe.id)){if(pe.status==="error"){xn.current.add(pe.id),S({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:pe.annotationIds,threadId:pe.threadId}});continue}if(pe.status==="done")try{let Me=await Uc(he,pe.id),_e=Me?.events.find(Ce=>Ce.type==="done"),ue=Me?.events.find(Ce=>Ce.type==="question");xn.current.add(pe.id),ue&&typeof ue.question=="string"?S({type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:ue.question,threadId:ue.threadId??pe.threadId??""}}):_e&&Array.isArray(_e.resolutions)&&_e.resolutions.length>0?S({type:"APPLY_RESOLUTIONS",payload:{resolutions:_e.resolutions,threadId:_e.threadId??void 0,jobId:pe.id}}):S({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:_e?.threadId??pe.threadId,jobId:pe.id}})}catch{xn.current.add(pe.id);let Me=Y.pendingQuestions.find(_e=>_e.jobId===pe.id);S(Me?{type:"SET_ANNOTATION_QUESTION",payload:{ids:pe.annotationIds,question:Me.question,threadId:Me.threadId}}:{type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:pe.annotationIds,threadId:pe.threadId,jobId:pe.id}})}}})},[Y.isConnected,Y.pendingQuestions,he,S,k.annotations,Ne]),_(()=>{let w=Y.events.filter(I=>I.type==="done");for(let I of w){let B=I.data.jobId;if(xn.current.has(B))continue;if(Cd(Y.events,B)==="Has a question"){Re(B,"waiting_input","Question");let se=Y.pendingQuestions.find(_e=>_e.jobId===B),ae=[...Y.events].reverse().find(_e=>_e.type==="question"&&_e.data.jobId===B),fe=Array.isArray(I.data.annotationIds)?I.data.annotationIds:Array.isArray(ae?.data.annotationIds)?ae.data.annotationIds:W[B]?.annotationIds??De.current.get(B)??[],pe=se?.question??(typeof ae?.data.question=="string"?ae.data.question:void 0),Me=se?.threadId??(typeof ae?.data.threadId=="string"?ae.data.threadId:void 0)??(typeof I.data.threadId=="string"?I.data.threadId:void 0);pe&&Me&&fe.length>0&&(xn.current.add(B),S({type:"SET_ANNOTATION_QUESTION",payload:{ids:fe,question:pe,threadId:Me}}));continue}xn.current.add(B),Re(B,"resolved",Cd(Y.events,B));let Q=tt.current.get(B)??W[B]?.styleSelectors??[];if(Q.length>0&&S({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:Q}}),Array.isArray(I.data.resolutions)&&I.data.resolutions.length>0)S({type:"APPLY_RESOLUTIONS",payload:{resolutions:I.data.resolutions,threadId:I.data.threadId,jobId:B}});else{let se=Array.isArray(I.data.annotationIds)?I.data.annotationIds:W[B]?.annotationIds??De.current.get(B)??[];se.length>0&&S({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:se,threadId:I.data.threadId,jobId:B}})}}},[Y.events,Y.pendingQuestions,S,W,Re]),_(()=>{let w=Y.events.filter(I=>I.type==="error");for(let I of w){let B=I.data.jobId;if(xn.current.has(B))continue;xn.current.add(B),Re(B,"failed","Failed");let Q=Array.isArray(I.data.annotationIds)?I.data.annotationIds:W[B]?.annotationIds??De.current.get(B)??[];Q.length!==0&&S({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:Q,threadId:I.data.threadId}})}},[Y.events,S,W,Re]);let tr=q("__uninitialized__"),vo=M?.participantId,bo=M?.isHost,wr=`${y??"pending"}:participant:${vo??"standalone"}`,[ta,ki]=P(null);_(()=>{if(!Y.isConnected){tr.current="__uninitialized__";return}if(!re||Wo!==y)return;let w=new Set(k.annotations.flatMap(fe=>fe.threadId?[fe.threadId]:[])),I=new Set([...Object.values(Y.activeJobThreads),...Object.entries(W).filter(([fe])=>Y.activeJobIds.includes(fe)).flatMap(([,fe])=>fe.threadId?[fe.threadId]:[])]),B=k.annotations.filter(fe=>{if(!fe.threadId||(fe.replyCount??0)>0||I.has(fe.threadId))return!1;let pe=fe.status??"pending";return pe!=="sending"&&pe!=="waiting_input"&&pe!=="needs_review"}),Q=[`plane:${wr}:${bo===!0}`,...B.map(fe=>`${fe.id}:${fe.threadId}`),...Array.from(w).map(fe=>`represented:${fe}`),...Array.from(I).map(fe=>`active:${fe}`)].sort().join("|");if(Q===tr.current)return;tr.current=Q;let se=!1,ae=!1;return Xt(`${he}/threads/recent?limit=200`).then(fe=>fe.ok?fe.json():[]).then(async fe=>{if(se)return;let pe=vo?{participantId:vo,isHost:bo}:null,Me=fe.filter(we=>Oh(we,pe));ki({scope:wr,threadIds:new Set(Me.map(we=>we.id))});let _e=new Set(fe.filter(we=>!Oh(we,pe)).map(we=>we.id)),ue=hf(Me,Ne,we=>{let St=ie.resolve(we);return St?[St.selector]:null}),Ce=new Set([...Y.activeJobIds,...Object.keys(W)]);fr(ff(Me,I)),Wn(mf(Me)),rn(gf(Me));let Ye=Object.fromEntries(Me.flatMap(we=>we.pendingQuestion?[[we.id,we.pendingQuestion]]:[]));mr(Ye);let Mt=new Set(Object.keys(Ye)),To=new Set(Me.filter(we=>!we.pendingQuestion&&(we.hasReply??(we.messageCount>1&&!we.hasError))).map(we=>we.id)),Er=new Set(Me.filter(we=>we.hasError&&!we.hasReply).map(we=>we.id));for(let we of k.annotations){let St=Me.find(Ln=>Ln.id===we.threadId)?.color;St&&St!==we.color&&S({type:"UPDATE_ANNOTATION_COLOR",payload:{id:we.id,color:St}})}for(let we of k.annotations){if(!we.threadId)continue;let St=Ye[we.threadId];St&&(we.status==="waiting_input"&&we.question===St||S({type:"SET_ANNOTATION_QUESTION",payload:{ids:[we.id],question:St,threadId:we.threadId}}))}for(let we of k.annotations)!we.threadId||!Er.has(we.threadId)||we.status!=="failed"&&S({type:"MARK_ANNOTATIONS_FAILED",payload:{ids:[we.id],threadId:we.threadId}});for(let we of B)!we.threadId||Mt.has(we.threadId)||!To.has(we.threadId)||S({type:"MARK_ANNOTATIONS_REPLIED",payload:{ids:[we.id],threadId:we.threadId,jobId:`thread-recovery:${we.threadId}`}});let sa=Date.now()-7200*1e3,Zo=ql(y),ei=Me.filter(we=>(we.hasReply??(we.messageCount>1&&!we.hasError))&&we.updatedAt>=sa&&!w.has(we.id)&&!Zo.has(we.id)),ti=await Promise.all(ei.map(async we=>{let St=await Xt(`${he}/decision/${encodeURIComponent(we.id)}`);if(!St.ok)return[];let Ln=(await St.json()).decision;if(!Ln?.annotations?.length)return[];let Tr="/";try{Tr=new URL(Ln.url).pathname}catch{}if(Tr!==Ne)return[];let ni=Ln.color??yf("oklch(0.628 0.258 29)",k.annotations,Ne);return Ln.annotations.flatMap(Rt=>{if(!Rt.instruction)return[];let Ar=Rt.target?ie.resolve(Rt.target)??(Rt.elements?.[0]?ie.restore(Rt.target,Rt.elements[0]):null):null,ar=Ar?.selector??Rt.linkedSelector;if(!ar)return[];let Pn=Ar?.element??ln(ar)??(Rt.elements?.[0]?.selector?ln(Rt.elements[0].selector):null);if(!Pn)return[];let Cr=Pn.getBoundingClientRect(),Qr=Ln.resolutions?.find(Zr=>Zr.annotationId===Rt.id);return[{id:Rt.id,type:"text",points:[{x:Cr.left+window.scrollX,y:Cr.top+window.scrollY}],color:ni,strokeWidth:2,text:Rt.instruction,fontSize:12,timestamp:Ln.createdAt,captured:!0,status:Qr?.status??"resolved",resolutionSummary:Qr?.summary,replyCount:1,replyJobIds:[`thread-recovery:${we.id}`],threadId:we.id,pathname:Rt.pathname??Tr,elements:Rt.elements,linkedSelector:ar,...Rt.target?{target:Rt.target}:{},linkedAnchor:Cr.top>=26?"top-left":"bottom-left"}]})}));if(se)return;let Ao=ti.flat();Ao.length>0&&S({type:"MERGE_ANNOTATIONS",payload:{annotations:Ao}}),Ee(we=>vf(ue,new Map([...we].filter(([,St])=>!_e.has(St.threadId))),Ce)),S({type:"SETTLE_CAPTURED_STYLES",payload:{selectors:[...ue.values()].filter(we=>we.status==="resolved").flatMap(we=>we.selectors??[])}}),ae=!0}).catch(()=>{se||(tr.current="__uninitialized__")}),()=>{se=!0,!ae&&tr.current===Q&&(tr.current="__uninitialized__")}},[Y.activeJobIds,Y.activeJobThreads,Y.isConnected,Ne,S,y,Wo,W,he,k.annotations,ie,re,vo,bo,wr]);let na=q(new Set);_(()=>{let w=Y.events.filter(I=>I.type==="error"&&I.data.cancelled);for(let I of w){let B=I.data.jobId;if(!B||na.current.has(B))continue;na.current.add(B);let Q=W[B];Q&&Q.annotationIds.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:Q.annotationIds,status:"dismissed"}})}},[Y.events,W,S]);let Ur=q(0);_(()=>{let w=Y.incrementalResolutions;if(w.length<=Ur.current)return;let I=w.slice(Ur.current);Ur.current=w.length,S({type:"APPLY_RESOLUTIONS",payload:{resolutions:I}})},[Y.incrementalResolutions,S]),_(()=>{Y.incrementalResolutions.length===0&&(Ur.current=0)},[Y.incrementalResolutions.length]);let Ii=U(async()=>{let w=He.current;if(!w)return!1;let I=await hi(document.body,w,k.annotations,{nativeCapture:Ie,captureSurfaces:()=>ie.captureSurfaces()});if(I.length===0)return!1;let B=await Iy(I,k.annotations,k.styleModifications,k.textModifications,k.domModifications);return B&&S({type:"MARK_CAPTURED"}),B},[k.annotations,k.styleModifications,k.textModifications,k.domModifications,S,Ie,ie]),Kl=U((w,I)=>{let B=mt.current.get(w)||[];mt.current.set(w,[...B,...I])},[]),Pa=U((w,I)=>{let B=new Set(I),Q=(mt.current.get(w)??[]).filter((se,ae)=>!B.has(ae));Q.length>0?mt.current.set(w,Q):mt.current.delete(w)},[]),Jo=U(async()=>{if(M&&!M.canSend)return!1;let w=M?.captureVersion(),I=He.current;if(!I)return!1;$e==="omp"&&At("omp");let B=k.annotations.filter(ue=>(ue.status??"pending")==="pending"),Q=k.styleModifications.filter(ue=>!ue.captured&&!ue.awaitingReview&&(!ue.pathname||ue.pathname===Ne)),se=k.textModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Ne)),ae=k.domModifications.filter(ue=>!ue.captured&&(!ue.pathname||ue.pathname===Ne)),fe=k.spacingTokenChanges.filter(ue=>!ue.captured);if(B.length===0&&Q.length===0&&se.length===0&&ae.length===0&&fe.length===0)return!1;let pe=B.map(ue=>ue.id),Me=!!M?.requiresApproval,_e=!1;return Me&&Z(ue=>new Set([...ue,...pe])),bf(pe,S,async()=>{let ue=new Map;for(let Fe of B){let Lt=Fe.pathname||Ne;ue.has(Lt)||ue.set(Lt,[]),ue.get(Lt).push(Fe)}let Ce=new Map,Ye=new Map;await qu(je.current,ue.get(Ne)??[],Ne,Ye);let Mt=[...ue.keys()].filter(Fe=>Fe!==Ne);if(Mt.length>0){let Fe=Ne,Lt={x:window.scrollX,y:window.scrollY};Ft.current=!0;for(let Et of Mt)try{let Yn=We.current.get(Et),ri=ue.get(Et)||[];if(Yn&&!ri.some(da=>da.target)){Ce.set(Et,Yn),console.log(`[Popmelt] Reusing cached departing-page screenshot for ${Et}`);continue}if(console.log(`[Popmelt] Navigating to ${Et} for screenshot capture`),await Bd(Et,i),window.location.pathname!==Et){console.warn(`[Popmelt] Navigation to ${Et} did not take effect (at ${window.location.pathname})`);continue}await qu(je.current,ri,Et,Ye);let oi=await hi(document.body,I,ri,{dpr:1,nativeCapture:Ie,captureSurfaces:()=>ie.captureSurfaces()}),to=await ml(oi);to&&(Ce.set(Et,to),console.log(`[Popmelt] Captured ${Et} (${(to.size/1024).toFixed(0)}KB)`))}catch(Yn){console.warn(`[Popmelt] Failed to capture ${Et}:`,Yn)}await Bd(Fe,i),window.scrollTo(Lt.x,Lt.y),Ft.current=!1}let To=B.filter(Fe=>(Fe.pathname||Ne)===Ne),Er=await hi(document.body,I,To.length>0?k.annotations:[],{dpr:1,nativeCapture:Ie,captureSurfaces:()=>ie.captureSurfaces()});if(Er.length>0){let Fe=await ml(Er);Fe&&Ce.set(Ne,Fe)}if(Ce.size===0)return!1;let sa=uc({annotations:k.annotations,styleModifications:k.styleModifications,textModifications:k.textModifications}),Zo=Fe=>{let Lt=sa.modificationNumberByKey.get($f(Fe));return Lt===void 0?Fe:{...Fe,annotationNumber:Lt}},ei=Q.map(Zo),ti=se.map(Zo),Ao;if(d)try{Ao=Fs(await d({kind:"annotation",timestamp:Date.now(),url:window.location.href,pathname:Ne,annotations:B}))}catch(Fe){return console.error("[Popmelt] Unable to capture comment metadata:",Fe),!1}let we=fl(B,ei,void 0,fe.length>0?fe:void 0,ti,ae,Ao),St=Zy(we,B,mt.current);ev(we,St,Ye,Ne);let Ln=JSON.stringify(we),Tr=ue.size>1;console.log(`[Popmelt] Submit: ${ue.size} page(s), ${Ce.size} screenshot(s), pages: [${[...ue.keys()].join(", ")}], cached: [${[...We.current.keys()].join(", ")}]`);let ni=Tr?Ce:Ce.get(Ne)??Ce,Rt=[...Q.map(Fe=>Fe.selector),...se.map(Fe=>Fe.selector),...ae.map(Fe=>Fe.selector)],Ar=Array.from(new Set([...B.map(Fe=>Fe.pathname||Ne),...Q.map(Fe=>Fe.pathname||Ne),...se.map(Fe=>Fe.pathname||Ne),...ae.map(Fe=>Fe.pathname||Ne)])),ar=wf(B,k.activeColor),Pn=[...Rt,...B.flatMap(Fe=>Fe.linkedSelector?[Fe.linkedSelector]:[])],Cr=xf(Pn,k.annotations.filter(Fe=>(Fe.pathname||Ne)===Ne),ln),Qr=us(Pn,Ae,Cr?.color??ar,ln),Zr=Cr?.threadId??Sf(Pn,Ae),Ua=Cr?.targetBindingId??kf(Pn,Ae),eo=Lu(Qr),qn=`_pending_${Date.now()}`,Co={annotationIds:pe,styleSelectors:Rt,color:Qr,threadId:void 0,routePathnames:Ar};if(!Me){try{let Fe=JSON.parse(localStorage.getItem(R)||"{}");Fe[qn]=Co,localStorage.setItem(R,JSON.stringify(Fe))}catch{}ge(Fe=>({...Fe,[qn]:Co}))}try{let Fe=M?await M.send({screenshots:ni,feedbackJson:Ln,color:eo,provider:$e,model:Yt.id,pastedImages:St.size>0?St:void 0,sourceId:Hs(),agentSettings:_n},w):await Xc(ni,Ln,he,eo,$e,Yt.id,St.size>0?St:void 0,Hs(),_n,Zr,Cr?.selectorAliases,Ua);if("pendingApproval"in Fe){_e=!0,Fe.threadId&&S({type:"SET_ANNOTATION_THREAD",payload:{ids:B.map(ct=>ct.id),threadId:Fe.threadId}});try{let ct=JSON.parse(localStorage.getItem(R)||"{}");delete ct[qn],localStorage.setItem(R,JSON.stringify(ct))}catch{}return ge(ct=>{let{[qn]:yn,...no}=ct;return no}),!1}let{jobId:Lt,threadId:Et,color:Yn,continuedThread:ri,continuationEligible:oi,targetBindings:to=[]}=Fe,da=ct=>to.find(yn=>ct.target?yn.anchor.type==="opaque"&&yn.anchor.adapter===ct.target.adapter&&yn.anchor.key===ct.target.key:!ct.linkedSelector||yn.anchor.type!=="dom"?!1:[yn.anchor.runtimeSelector,yn.anchor.structuralSelector,...yn.anchor.legacySelectors??[]].includes(ct.linkedSelector))?.id;Et&&ht(Et,Lt,we,ni,St.size>0?St:void 0);for(let ct of St.keys())mt.current.delete(ct);for(let ct of ue.keys())We.current.delete(ct);let Mr=Yn??Qr,Xa={...Co,color:Mr,threadId:Et};try{let ct=JSON.parse(localStorage.getItem(R)||"{}");delete ct[qn],ct[Lt]=Xa,localStorage.setItem(R,JSON.stringify(ct))}catch{}if(ge(ct=>{let{[qn]:yn,...no}=ct;return{...no,[Lt]:Xa}}),Et&&Rt.length>0&&Ee(ct=>{let yn=new Map(ct),no=new Set;for(let Gt of to){if(Gt.anchor.type!=="dom")continue;let Un=[Gt.anchor.runtimeSelector,Gt.anchor.structuralSelector,...Gt.anchor.legacySelectors??[]].filter(ii=>!!ii),Rr=Rt.find(ii=>Un.includes(ii));if(!Rr)continue;no.add(Rr);let ca=[...ei,...ti].find(ii=>ii.selector===Rr);yn.set(Gt.id,{jobId:Lt,threadId:Et,status:"in_flight",color:Mr,continuationEligible:Gt.continuationEligible??oi,targetBindingId:Gt.id,selectors:Un,targetFingerprint:Gt.anchor.targetFingerprint,annotationNumber:ca?.annotationNumber})}for(let Gt of Rt){if(no.has(Gt))continue;let Un=[...ei,...ti].find(Rr=>Rr.selector===Gt);yn.set(`job:${Lt}:${Gt}`,{jobId:Lt,threadId:Et,status:"in_flight",color:Mr,continuationEligible:oi,selectors:[Gt],annotationNumber:Un?.annotationNumber})}return yn}),S({type:"MARK_CAPTURED",payload:{annotationIds:pe}}),Et&&pe.length>0){for(let ct of pe)S({type:"UPDATE_ANNOTATION_COLOR",payload:{id:ct,color:Mr}});for(let ct of B)S({type:"SET_ANNOTATION_THREAD",payload:{ids:[ct.id],threadId:Et,targetBindingId:da(ct)}})}return ri||S({type:"SET_COLOR",payload:If({color:Mr,threadId:Et??`job:${Lt}`,annotationIds:pe,annotations:k.annotations,pathname:Ne})}),!0}catch(Fe){try{let Lt=JSON.parse(localStorage.getItem(R)||"{}");delete Lt[qn],localStorage.setItem(R,JSON.stringify(Lt))}catch{}return ge(Lt=>{let{[qn]:Et,...Yn}=Lt;return Yn}),console.error("[Pare] Failed to send to bridge:",Fe),!1}}).then(ue=>(Me&&!_e&&!ue&&(Z(Ce=>{let Ye=new Set(Ce);for(let Mt of pe)Ye.delete(Mt);return Ye}),V(++J.current)),ue))},[k.annotations,k.styleModifications,k.textModifications,k.domModifications,k.spacingTokenChanges,k.activeColor,S,he,$e,Yt.id,_n,Ne,i,ht,Ie,Ae,At,ie,d,M,R]),ja=U(()=>Ef(yt,Jo,!1),[Jo]),$a=qy(e&&t&&Y.isConnected&&!M,he,y,k,{provider:$e,model:Yt.id,agentSettings:_n}),It=M?.view?{...$a,...M.view,toolbar:O}:$a;L.current=It.activePreview;let{onFocus:za,onActivity:Da,onThread:nr}=My(M?.reportAttention,M?.viewedParticipantId??M?.participantId??"",k.activeColor,!!(M?.canReadThreads&&k.isAnnotating&&!It.isPeeking)),Vl=U(w=>{Je(w),za(w)},[Je,za]),Ot=U(()=>{qe(),Da()},[qe,Da]),ra=U(async(w,I,B,Q)=>{if(M&&!M.canReply)throw new Error("Edit permission is required to send thread messages.");$e==="omp"&&At("omp"),Cn(ue=>({threadId:w,sequence:(ue?.sequence??0)+1})),mr(ue=>{if(!(w in ue))return ue;let Ce={...ue};return delete Ce[w],Ce});let se=Object.values(yo.current).find(ue=>ue.threadId===w)?.color??k.annotations.find(ue=>ue.threadId===w)?.color??k.activeColor,ae=k.annotations.filter(ue=>ue.threadId===w&&(ue.status==="waiting_input"||ue.status==="resolved"||ue.status==="needs_review")),fe=ae.map(ue=>ue.id),pe;if(d)try{pe=Fs(await d({kind:"reply",timestamp:Date.now(),url:window.location.href,pathname:Ne,threadId:w,reply:I,annotations:ae}))}catch(ue){console.error("[Popmelt] Unable to capture reply metadata:",ue);return}let Me=`_pending_reply_${Date.now()}`,_e={annotationIds:fe,styleSelectors:[],color:se,threadId:w};try{let ue=JSON.parse(localStorage.getItem(R)||"{}");ue[Me]=_e,localStorage.setItem(R,JSON.stringify(ue))}catch{}ge(ue=>({...ue,[Me]:_e}));try{let ue=Lu(se),{jobId:Ce}=await Hm(w,I,he,ue,$e,Yt.id,B,Hs(),_n,{...Q,...pe?{meta:pe}:{}}),Ye={..._e};try{let Mt=JSON.parse(localStorage.getItem(R)||"{}");delete Mt[Me],Mt[Ce]=Ye,localStorage.setItem(R,JSON.stringify(Mt))}catch{}return ge(Mt=>{let{[Me]:To,...Er}=Mt;return{...Er,[Ce]:Ye}}),Ee(Mt=>Tf(Mt,w,Ce)),ae.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:fe,status:"in_flight"}}),be(w),{jobId:Ce}}catch(ue){try{let Ce=JSON.parse(localStorage.getItem(R)||"{}");delete Ce[Me],localStorage.setItem(R,JSON.stringify(Ce))}catch{}throw ge(Ce=>{let{[Me]:Ye,...Mt}=Ce;return Mt}),console.error("[Pare] Failed to send reply:",ue),ue}},[k.activeColor,k.annotations,he,be,S,$e,Yt.id,_n,At,d,Ne,M,R]);_(()=>{for(let w of Y.pendingQuestions){Re(w.jobId,"waiting_input","Question");let I=w.annotationIds&&w.annotationIds.length>0?w.annotationIds:W[w.jobId]?.annotationIds??De.current.get(w.jobId);if((!I||I.length===0)&&w.threadId&&(I=k.annotations.filter(B=>B.threadId===w.threadId).map(B=>B.id)),I&&I.length>0){let B=new Set(I),Q=k.annotations.filter(se=>B.has(se.id));if(Q.length===0||Q.every(se=>se.status==="waiting_input"&&se.question===w.question&&se.threadId===w.threadId))continue;S({type:"SET_ANNOTATION_QUESTION",payload:{ids:I,question:w.question,threadId:w.threadId}})}}},[Y.pendingQuestions,S,W,k.annotations,Re]);let Gl=xe(()=>{if(Y.activeJobId&&Y.activeJobId in W)return W[Y.activeJobId].color;let w=Object.values(W);return w.length>0?w[w.length-1].color:void 0},[Y.activeJobId,W]),xr=U((w,I=!1)=>{pn(B=>B+1),!I&&k.activeTool==="model"&&S({type:"SET_TOOL",payload:"inspector"}),Ut({type:"open_thread",threadId:w})},[Ut,S,k.activeTool]),Ei=U(w=>{K&&xr(w)},[xr,K]),fn=U(()=>{Ut({type:"close_thread"})},[Ut]),wo=M?.deletePeerThread,xo=M?.deletedPeerThreadIds,Ql=xe(()=>new Set([...ft,...xo??[]]),[ft,xo]);_(()=>{ze&&xo?.includes(ze)&&fn()},[ze,xo,fn]),_(()=>{if(!wo||!k.isAnnotating||!ze)return;let w=I=>{!["Delete","Backspace"].includes(I.key)||I.metaKey||I.ctrlKey||I.altKey||zf(I)||(I.preventDefault(),I.stopImmediatePropagation(),wo(ze).then(fn).catch(()=>{}))};return window.addEventListener("keydown",w,!0),()=>window.removeEventListener("keydown",w,!0)},[wo,ze,k.isAnnotating,fn]);let Zl=M?.requestedThread;ZS(It.selectedId,Zl,fn,Ei);let Bo=U(async w=>(await Xt(`${he}/thread/${encodeURIComponent(w)}`)).status,[he]),Nt=U(w=>{Ut({type:"restore_thread",threadId:w,...Tn.current})},[Ut]);Yy(M?.navigation,It.selectedId,Y.isConnected&&K,ze??Zn??Ht,un,Bo,Nt);let[Mn,$t]=P(0),rr=Vy(`${y}:${Mn}`,async w=>{if(!(await Nm(w,he)).archived)throw new Error("Thread not found")},w=>Om(w,he),k.undoStack.at(-1));x.current=rr.tryUndo;let Ti=U(w=>{if(M&&!M.isHost){wo?.(w).catch(()=>{});return}if(Object.values(W).some(ae=>ae.threadId===w))return;ze===w&&fn();let I=new Set(k.annotations.filter(ae=>ae.threadId===w).flatMap(ae=>ae.groupId?[ae.groupId]:[])),B=k.annotations.filter(ae=>ae.threadId===w||ae.groupId&&I.has(ae.groupId)).map(ae=>ae.id),Q=k.annotations.filter(ae=>B.includes(ae.id)),se=Array.from(Ae.entries()).filter(([,ae])=>ae.threadId===w);B.length>0&&S({type:"SET_ANNOTATION_STATUS",payload:{ids:B,status:"dismissed"}}),Ee(ae=>new Map(Array.from(ae.entries()).filter(([,fe])=>fe.threadId!==w))),wn(ae=>new Set(ae).add(w)),_h([w],y),rr.dismiss(w,()=>{for(let ae of Q)S({type:"SET_ANNOTATION_STATUS",payload:{ids:[ae.id],status:ae.status??"resolved"}});if(Ee(ae=>{let fe=new Map(ae);for(let[pe,Me]of se)fe.has(pe)||fe.set(pe,Me);return fe}),wn(ae=>{let fe=new Set(ae);return fe.delete(w),fe}),y)try{let ae=ql(y);ae.delete(w),localStorage.setItem($i(Bl,y),JSON.stringify([...ae]))}catch{}})},[fn,S,y,k.annotations,rr,W,Ae,ze,M,wo]),qo=U((w,I,B)=>{let Q=W[w],se=tt.current.get(w),ae=Q?.annotationIds??B??[];if(Q||ae.length>0){let pe=new Set(Q?.styleSelectors??[]);for(let Me of ae){let _e=k.annotations.find(ue=>ue.id===Me);if(_e&&(_e.linkedSelector&&pe.add(_e.linkedSelector),_e.groupId))for(let ue of k.annotations)ue.groupId===_e.groupId&&ue.linkedSelector&&pe.add(ue.linkedSelector)}pe.size>0&&(se=Array.from(pe))}se?.length&&s1(se);let fe=Q?.threadId||I||nt.current.get(w);if(fe){let pe=Q?.kind==="project_model"&&(Q.annotationIds?.length??0)===0;Wr.current=pe?Wd:Q?.color??null,xr(fe,Q?.kind==="synthesize")}},[W,xr,k.annotations]),So=U((w,I)=>{if(!w){mo(null);return}let B=I??De.current.get(w);B&&B.length>0?mo(new Set(B)):mo(null)},[]),Yo=U(async w=>{try{let I=w?`${he}/cancel?jobId=${w}`:`${he}/cancel`;await Xt(I,{method:"POST"})}catch{}},[he]),Ai=U(async()=>{Qn("restarting"),dn("Restarting bridge");let w=await _m(he,ps,2e4);if(w.ok){await qg(w.bridgeUrl??r,y),Hn(w.status.version??ps),Qn("ok"),dn(w.status.version?`Bridge restarted on ${w.status.version}`:"Bridge restarted"),lt(I=>I+1);return}Hn(w.status?.version??wt),Qn("error"),dn(w.error)},[wt,r,y,he]),oa=xe(()=>{if(!ze)return null;for(let w of Object.values(W))if(w.threadId===ze&&w.kind){if(w.kind==="project_model"&&w.annotationIds.length>0)continue;return w.kind}return null},[ze,W]),ko=oa==="project_model",Xr=oa==="synthesize",{surface:Kr,phase:Ha,show:Uo,leave:Xo,dismiss:Ko}=Af({openDelayMs:0,exitDurationMs:hs}),Sr=q(new Set),[ia,Vr]=P(()=>new Set),Vo=U((w,I)=>{I?Sr.current.add(w):Sr.current.delete(w),Vr(new Set(Sr.current)),Sr.current.size>0?Uo("toolbar"):Xo("toolbar")},[Xo,Uo]),kr=VS({toolbarExpanded:k.isAnnotating,toolbarSources:ia,chromeHoverSurface:Kr,chromeHoverPhase:Ha,activeTool:k.activeTool,peerPlanePeeking:It.isPeeking}),or=kr.threadTemporarilyHidden,Oa=q(ze);_(()=>{Kr&&KS(Oa.current,ze,Kr)&&Ko(Kr),Oa.current=ze},[Kr,Ko,ze]),_(()=>{Ut(k.activeTool==="model"?{type:"enter_imprint",preserveOpenThread:Xr}:{type:"leave_imprint"})},[Ut,k.activeTool,ze,Xr]),_(()=>{Ut({type:k.isAnnotating?"expand_toolbar":"collapse_toolbar"})},[Ut,k.isAnnotating]);let Jt=xe(()=>Cf(ze,W,Y.activeJobIds,Y.activeJobThreads,br),[ze,W,Y.activeJobIds,Y.activeJobThreads,br]),Rn=ze?k.annotations.find(w=>w.threadId===ze):void 0,mn=ze?Array.from(Ae.values()).find(w=>w.threadId===ze&&w.color)?.color:void 0,Na=ze?pt.current.get(ze):void 0,gn=xe(()=>{if(!ze)return null;let w=[...Y.events].reverse().find(I=>(I.type==="done"||I.type==="error")&&I.data.threadId===ze);return typeof w?.data.jobId=="string"?w.data.jobId:null},[Y.events,ze]),ir=xe(()=>Jt?Y.events.filter(w=>w.data.jobId===Jt):e1,[Jt,Y.events]),Jn=xe(()=>ko?Wd:mn??Rn?.color??Wr.current??k.activeColor,[ko,Rn?.color,mn,k.activeColor]),Io=!!(y&&Wo===y),Eo=xe(()=>GS(k.annotations,ft,Io?Ae.values():[]),[ft,Io,Ae,k.annotations]),Go=xe(()=>Mf(Ae,ft,Eo,Io),[ft,Io,Ae,Eo]),_a=xe(()=>{let w=new Map;for(let I of k.annotations)I.threadId&&I.color&&w.set(I.threadId,I.color);for(let I of Ae.values())I.threadId&&I.color&&w.set(I.threadId,I.color);return w},[Ae,k.annotations]),es=[...Go.values()].find(w=>w.threadId===ze)?.annotationNumber,aa=pc({state:k,activeText:null,currentPathname:Ne,dismissedThreadIds:ft,modifiedElementThreadStates:Go}),Fa=hc({state:k,pageAnnotations:aa.pageAnnotations,pageStyleModifications:aa.pageStyleModifications,pageTextModifications:aa.pageTextModifications}),Wa=Kx(Rn?Fa.annotationGroupMap.get(Rn.id):void 0,es,{activePreview:!!It.activePreview,annotationNumber:ze?It.threadAnnotationNumbers?.get(ze):void 0}),Ja=U(w=>{if(!ze)return;let I=QS(Eo,ze,w);I&&xr(I)},[Eo,ze,xr]),Ci=ze!==null&&Eo.length>1&&Eo.includes(ze),[la,Mi]=P(!1),Gr=q(!1),Bn=q(null),Ri=U(w=>{w?(Bn.current&&(clearTimeout(Bn.current),Bn.current=null),Mi(!0)):Bn.current=setTimeout(()=>{Mi(!1),Bn.current=null},150)},[]),Ba=U(w=>{Ri(w),w?Uo("job-stack"):Sr.current.size>0?Uo("toolbar"):Xo("job-stack")},[Ri,Xo,Uo]);_(()=>{if(M)return;let w=Y.workspaceGeneration;if(!y||w===void 0||!Number.isInteger(w)||w<0)return;let I=fc(localStorage,y);if(I!==null&&w<I)return;let B=Rf(I,w);if(localStorage.setItem(mc(y),String(w)),!B)return;if(Gr.current){Gr.current=!1;return}su(k.styleModifications),lg(k.textModifications),sg(k.domModifications),document.querySelectorAll("[data-pm]").forEach(se=>se.removeAttribute("data-pm")),S({type:"CLEAR"}),S({type:"CLEAR_ALL_STYLES"});let Q=Lf(y);for(let se of[Q.annotations,Q.styleMods,Q.textMods,Q.domMods,Q.spacingChanges])localStorage.removeItem(se);fs(localStorage),mt.current.clear(),We.current.clear(),ge({}),Ee(new Map),Cn(null),fr(new Set),Wn(new Set),rn(new Set),mr({}),wn(new Set),$t(se=>se+1),Le(),fn()},[Y.workspaceGeneration,Le,fn,S,y,M,k.domModifications,k.styleModifications,k.textModifications]);let qa=U(()=>{fs(localStorage),mt.current.clear(),We.current.clear();let w=Array.from(new Set(k.annotations.flatMap(I=>I.threadId?[I.threadId]:[])));_h(w,y),wn(I=>{let B=new Set(I);for(let Q of w)B.add(Q);return B}),Gr.current=!0,Fm(he).then(({workspaceGeneration:I})=>{if(y){let B=fc(localStorage,y);(B===null||I>B)&&localStorage.setItem(mc(y),String(I))}Gr.current=!1}).catch(I=>{Gr.current=!1,console.warn("[Popmelt] Failed to clear bridge workspace:",I)}),$t(I=>I+1),Le(),fn(),Yo()},[Le,fn,y,Yo,he,k.annotations]);_(()=>()=>{Bn.current&&clearTimeout(Bn.current)},[]);let[Ya,Qo]=P(!1);if(_(()=>{Qo(!0)},[]),!e||!Ya)return null;let Ir=h(ic.Provider,{value:t?It.toolbar??O:null,children:T(Sx,{children:[h(Pf.Provider,{value:K?Ei:void 0,children:It.overlay}),k.isAnnotating&&Y.isConnected&&!It.isPeeking&&!It.activePreview&&h(Kc,{element:st,elements:Ve,registry:ie}),h(Oi.Provider,{value:!It.activePreview&&!It.isPeeking,children:h("div",{"data-devtools":"host-canvas",style:{display:It.isPeeking||It.activePreview?"none":"contents"},children:h(tx,{historyPreview:Kt,onFocusTargetChange:Vl,onFocusActivity:Ot,bridgeUrl:he,steeringContextStorageKey:y?Dw(y):void 0,state:It.activePreview?{...k,isAnnotating:!1,annotations:[],styleModifications:[],textModifications:[],domModifications:[]}:k,dispatch:S,onScreenshot:Ii,inFlightAnnotationIds:Yr,inFlightOrientationLabels:yr,waitingApprovalJobIds:gr,activeAnnotationIds:vr,queuePositionMap:La,inFlightStyleSelectors:Yl,inFlightStyleSelectorJobIds:Ul,inFlightSelectorColors:Xl,modifiedElementThreadStates:Go,dismissedThreadIds:ft,onAttachImages:Kl,onRemoveImages:Pa,onCaptureInteractionFrame:Ue,onSend:Y.isConnected&&(!M||M.canSend)?ja:void 0,onReply:Y.isConnected&&(!M||M.canReply)?ra:void 0,onViewThread:Y.isConnected&&K?Ei:void 0,onCloseThread:fn,onArchiveThread:Ti,onDeleteSubmittedAnnotation:M&&!M.isHost&&M.deletePeerAnnotations?w=>{M.deletePeerAnnotations(M.participantId,[w]).catch(()=>{})}:void 0,highlightedAnnotationIds:fo,cycleFocusedAnnotationIds:cn,onCanvasInteraction:pr,focusedThreadAnnotationId:Rn?.id,openThreadId:ze,hasOpenThread:ze!==null,externalCanvasRef:He,toolbarRef:et,threadPanelElement:or?null:it,clearSignal:Mn,subjectRegistry:ie,subjectRegistryReady:re},`annotation-canvas:${y??"pending"}`)})}),h(Ax,{zIndex:ze!==null&&!or?10004:10003,children:T(Ix,{children:[h(jf,{onPreviewHistoryThread:In,threadOpenRequest:hr,projectId:y,state:k,hasExternalSendableItems:!!(It.activePreview&&It.approve),readOnlyPreview:It.activePreview,dispatch:w=>{(!It.activePreview||w.type==="SET_ANNOTATING")&&S(w)},onScreenshot:Ii,onSendToClaude:It.activePreview?It.approve:Y.isConnected&&(!M||M.canSend)?ja:void 0,hasActiveJobs:Object.keys(W).length>0||Y.activeJobIds.length>0,activeJobColor:Gl,onCrosshairHover:Ri,onClear:qa,provider:$e,onProviderChange:!dt&&Y.isConnected&>.length>1?_r:void 0,availableProviders:gt,modelIndex:Bt,modelCount:zt.length,modelLabel:Yt.label,models:zt,agentSettings:_n,onModelChange:!dt&&Y.isConnected?yi:void 0,onModelMenuOpen:()=>{At($e)},onAgentSettingsChange:Y.isConnected?Wt:void 0,onViewThread:Y.isConnected&&K?Ei:void 0,onNavigate:Fo,annotationCycleFocus:Fn,onAnnotationCycleFocusChange:En,isThreadPanelOpen:ze!==null&&!or&&!Xr,hasOpenThreadPanel:ze!==null&&!Xr,projectPanelTemporarilyHidden:kr.projectPanelTemporarilyHidden,onToolbarHoverChange:Vo,activeChromeHoverSurface:Kr,mcpStatus:tn,bridgeUrl:he,isBridgeConnected:Y.isConnected,packageVersion:ps,bridgeVersion:wt,projectRoot:nn,projectRootAccess:qt?.projectRoot,codexSandboxMode:qt?.codex.sandboxMode,bridgeRestartState:Vt,bridgeRestartMessage:po,onBridgeRestart:Ai,toolbarRef:et,snapPosition:bn,onSnapPositionChange:jt},`annotation-toolbar:${y??"pending"}`),K&&k.isAnnotating&&ze&&h(US,{onAttentionChange:nr,threadId:ze,bridgeUrl:he,accentColor:Jn,initialMessages:Na?[Na.message]:void 0,completedJobId:gn,refreshKey:`${M?.pendingSubmissions?.find(w=>w.threadId===ze)?.revision??""}:${Y.events.findLast(w=>w.type==="thread_changed"&&w.data.threadId===ze)?.data.jobId??""}`,isStreaming:Jt!==null,isQueued:Jt!==null&&!Y.activeJobIds.includes(Jt)&&!br.has(Jt),queuePosition:Jt&&!Y.activeJobIds.includes(Jt)&&!br.has(Jt)?(()=>{let w=cc(Object.keys(W),Y.activeJobIds,br),I=w.indexOf(Jt);return I>=0?`(${I+1}/${w.length})`:void 0})():void 0,activeJobId:Jt,streamingEvents:ir,onClose:fn,onReply:ee?ra:void 0,onContribute:M?.contribute,onApproveSuggestion:M?.approveSuggestion,canManage:j,readOnlyReason:ee?void 0:"Edit permissions required to comment in threads",onCancel:j&&Jt?()=>Yo(Jt):void 0,lastError:Y.lastErrorByJob?.[Jt??""]??(Y.lastCompletedJobId&&nt.current.get(Y.lastCompletedJobId)===ze?Y.lastErrorByJob?.[Y.lastCompletedJobId]:void 0),temporarilyHidden:or,instantVisibilityHandoff:kr.toolbarPaneVisible,backdropCursor:k.isAnnotating&&k.activeTool==="sticker"?gc(Jn):void 0,toolbarRef:et,surfaceRef:me,currentModel:Yt.id,currentProvider:$e,availableProviders:gt,models:zt,modelIndex:Bt,agentSettings:_n,onProviderChange:!dt&&Y.isConnected?_r:void 0,onModelChange:!dt&&Y.isConnected?yi:void 0,onAgentSettingsChange:Y.isConnected?Wt:void 0,onModelMenuOpen:()=>{At($e)},annotationNumber:Wa,annotationText:Rn?.text,onPreviousThread:Ci?()=>Ja(-1):void 0,onNextThread:Ci?()=>Ja(1):void 0,preferredSide:ko?"left":"right",modal:!ko},`${ze}:${ko?"workflow":"default"}`),K&&h(wx,{noticeScope:wr,ownedThreadIds:ta?.scope===wr?ta.threadIds:null,allowThreadlessNotices:!M||M.isHost,viewedThreadId:ze,bridge:Y,bridgeUrl:he,inFlightJobs:W,threadColors:_a,isVisible:la||Y.lastResponseText!==null||Y.activeJobIds.length>0,isHidden:!k.isAnnotating||It.isPeeking||It.activePreview,onHover:Ba,isInteractionSuppressed:kr.statusInteractionSuppressed,clearSignal:Mn,onReply:ee?ra:void 0,onClickJob:qo,onCancel:j?Yo:void 0,onHoverJob:So,isConnected:Y.isConnected,dismissedThreadIds:Ql,acknowledgedThread:Jr,recoveredAcknowledgedThreadIds:Br,recoveredAcknowledgedJobIds:ho,recoveredSettledQuestionThreadIds:qr,pendingQuestionThreadIds:bi,snapPosition:bn,currentPathname:Ne},wr)]})})]})});return h(Wm.Provider,{value:N,children:Ir})}export{Jg as a,c1 as b};
|