@popmelt.com/core 0.7.0 → 0.7.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/dist/index.mjs CHANGED
@@ -1,21 +1,26 @@
1
1
  "use client";
2
- var jc=Object.defineProperty,Yc=Object.defineProperties;var Jc=Object.getOwnPropertyDescriptors;var Qr=Object.getOwnPropertySymbols;var ua=Object.prototype.hasOwnProperty,pa=Object.prototype.propertyIsEnumerable;var da=(e,t,n)=>t in e?jc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))ua.call(t,n)&&da(e,n,t[n]);if(Qr)for(var n of Qr(t))pa.call(t,n)&&da(e,n,t[n]);return e},h=(e,t)=>Yc(e,Jc(t));var Ao=e=>typeof e=="symbol"?e:e+"",Zn=(e,t)=>{var n={};for(var o in e)ua.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Qr)for(var o of Qr(e))t.indexOf(o)<0&&pa.call(e,o)&&(n[o]=e[o]);return n};import{createContext as qg,useCallback as en,useContext as Zg,useEffect as Dt,useMemo as wo,useRef as tn,useState as Wt}from"react";import{useCallback as Ca,useEffect as Vc,useSyncExternalStore as Xc}from"react";var Gn="http://localhost:1111";function Qn(e,t={},n=15e3){let o=new AbortController;t.signal&&t.signal.addEventListener("abort",()=>o.abort());let r=setTimeout(()=>o.abort(),n);return fetch(e,h(f({},t),{signal:o.signal})).finally(()=>clearTimeout(r))}async function ga(e=Gn){try{let t=await Qn(`${e}/capabilities`,{},5e3);return t.ok?await t.json():null}catch(t){return null}}async function Po(e=Gn){try{let t=new AbortController,n=setTimeout(()=>t.abort(),2e3),o=await fetch(`${e}/status`,{signal:t.signal});return clearTimeout(n),o.ok?await o.json():null}catch(t){return null}}async function fa(e){try{let t=new AbortController,n=setTimeout(()=>t.abort(),500),o=await fetch(`http://localhost:${e}/status`,{signal:t.signal});return clearTimeout(n),o.ok?await o.json():null}catch(t){return null}}async function ma(e){if(e&&e!=="http://localhost:1111")try{let d=new URL(e);return{url:e,port:parseInt(d.port,10)||1111}}catch(d){return null}let r=typeof window!="undefined"?window.location.origin:null,i=await fa(1111);if(i&&i.devOrigin&&r&&i.devOrigin===r)return{url:"http://localhost:1111",port:1111};let s=Array.from({length:8},(d,c)=>{let p=1112+c;return fa(p).then(u=>u?{status:u,port:p}:null)}),a=(await Promise.all(s)).filter(d=>d!==null),l=[];i&&l.push({port:1111,devOrigin:i.devOrigin});for(let d of a)l.push({port:d.port,devOrigin:d.status.devOrigin});if(r){let d=l.find(c=>c.devOrigin===r);if(d)return{url:`http://localhost:${d.port}`,port:d.port}}return l.length===1?{url:`http://localhost:${l[0].port}`,port:l[0].port}:i?{url:"http://localhost:1111",port:1111}:l.length>0?{url:`http://localhost:${l[0].port}`,port:l[0].port}:null}async function ei(e=Gn,t,n=-1){try{let o=await Qn(`${e}/jobs/${t}/events?afterSeq=${n}`,{},5e3);return o.ok?await o.json():null}catch(o){return null}}async function ha(e,t,n=Gn,o,r,i,s,a){let l=new FormData;if(e instanceof Map){let c=!0;for(let[p,u]of e){let g=encodeURIComponent(p);l.append(`screenshot-${g}`,u,`screenshot-${g}.webp`),c&&(l.append("screenshot",u,"screenshot.webp"),c=!1)}c&&l.append("screenshot",new Blob([],{type:"image/webp"}),"screenshot.webp")}else l.append("screenshot",e,"screenshot.webp");if(l.append("feedback",t),o&&l.append("color",o),r&&l.append("provider",r),i&&l.append("model",i),a&&l.append("sourceId",a),s)for(let[c,p]of s)for(let u=0;u<p.length;u++)l.append(`image-${c}-${u}`,p[u],`image-${c}-${u}.webp`);let d=await Qn(`${n}/send`,{method:"POST",body:l},3e4);if(!d.ok){let c=await d.text();throw new Error(`Bridge returned ${d.status}: ${c}`)}return d.json()}async function ya(e,t=Gn){let n=await Qn(`${t}/model/component`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})},1e4);if(!n.ok){let o=await n.text();throw new Error(`Bridge returned ${n.status}: ${o}`)}return n.json()}async function ba(e,t=Gn){let n=await Qn(`${t}/model/component`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})},1e4);if(!n.ok){let o=await n.text();throw new Error(`Bridge returned ${n.status}: ${o}`)}return n.json()}async function ji(e,t,n=Gn){let o=await Qn(`${n}/model/token`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,value:t})},1e4);if(!o.ok){let r=await o.text();throw new Error(`Bridge returned ${o.status}: ${r}`)}return o.json()}async function xa(e,t=Gn){let n=await Qn(`${t}/model/token`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})},1e4);if(!n.ok){let o=await n.text();throw new Error(`Bridge returned ${n.status}: ${o}`)}return n.json()}async function fr(e=Gn){var t;try{let n=await Qn(`${e}/model`,{},5e3);return n.ok&&(t=(await n.json()).model)!=null?t:null}catch(n){return null}}function Uc(e){return new Promise(t=>setTimeout(t,e))}async function Yi(e=Gn,t,n=15e3){let o=Date.now();try{let s=await Qn(`${e}/restart`,{method:"POST"},5e3);if(!s.ok){let a=await s.text().catch(()=>"");return{ok:!1,error:a?`Bridge restart returned ${s.status}: ${a}`:`Bridge restart returned ${s.status}`,elapsedMs:Date.now()-o}}}catch(s){return{ok:!1,error:s instanceof Error?s.message:"Bridge restart request failed",elapsedMs:Date.now()-o}}let r=null;for(;Date.now()-o<n;)if(await Uc(350),r=await Po(e),!!(r!=null&&r.ok)&&!(t&&r.version!==t))return{ok:!0,status:r,elapsedMs:Date.now()-o};return{ok:!1,error:`Bridge did not come back${t?` with version ${t}`:""} within ${Math.round(n/1e3)}s`,status:r,elapsedMs:Date.now()-o}}async function va(e=Gn){return(await Yi(e)).ok}async function Sa(e=Gn,t,n){let o=await Qn(`${e}/model/synthesize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t,model:n})},1e4);if(!o.ok){let r=await o.text();throw new Error(`Bridge returned ${o.status}: ${r}`)}return o.json()}async function wa(e,t,n=Gn,o,r,i,s,a){let l;if(s&&s.length>0){let d=new FormData,c=new Blob([new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,6,0,0,0,31,21,196,137,0,0,0,10,73,68,65,84,120,156,98,0,0,0,2,0,1,229,39,222,252,0,0,0,0,73,69,78,68,174,66,96,130])],{type:"image/png"});d.append("screenshot",c,"screenshot.png"),d.append("feedback",JSON.stringify({threadId:e,reply:t,color:o,provider:r,model:i,sourceId:a}));for(let p=0;p<s.length;p++)d.append(`image-reply-${p}`,s[p],`reply-image-${p}.webp`);l=await Qn(`${n}/reply`,{method:"POST",body:d},3e4)}else l=await Qn(`${n}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e,reply:t,color:o,provider:r,model:i,sourceId:a})},3e4);if(!l.ok){let d=await l.text();throw new Error(`Bridge returned ${l.status}: ${d}`)}return l.json()}var ri={};var Vo=typeof ri!="undefined"?ri.hot:void 0,ka,Ta,Ma,ii=(Ma=(Ta=(ka=Vo==null?void 0:Vo.data)==null?void 0:ka.sourceId)!=null?Ta:typeof localStorage!="undefined"&&localStorage.getItem("popmelt-source-id"))!=null?Ma:typeof crypto!="undefined"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2);Vo!=null&&Vo.data&&(Vo.data.sourceId=ii);try{typeof localStorage!="undefined"&&localStorage.setItem("popmelt-source-id",ii)}catch(e){}function Vi(){return ii}var Xo=typeof ri!="undefined"?ri.hot:void 0,xn=Xo==null?void 0:Xo.data,Kc={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0},Ia,hr=(Ia=xn==null?void 0:xn.store)!=null?Ia:f({},Kc),Ra,ti=(Ra=xn==null?void 0:xn.listeners)!=null?Ra:new Set,La,Jo=(La=xn==null?void 0:xn.activeEs)!=null?La:null,Aa,Ui=(Aa=xn==null?void 0:xn.activeBridgeUrl)!=null?Aa:null,jo=null,Pa,ni=(Pa=xn==null?void 0:xn.connectionGeneration)!=null?Pa:0;Xo!=null&&Xo.data&&Object.defineProperties(Xo.data,{store:{get:()=>hr,configurable:!0},listeners:{get:()=>ti,configurable:!0},activeEs:{get:()=>Jo,configurable:!0},activeBridgeUrl:{get:()=>Ui,configurable:!0},connectionGeneration:{get:()=>ni,configurable:!0},discoveredBridgeUrl:{get:()=>Uo,configurable:!0}});var oi=new Set,mr=new Map,Oo={};function Yo(e,t){var o;if(!e)return!1;if(oi.has(e)){let r=mr.get(e);return r||(r=[],mr.set(e,r)),r.push({type:(o=t.type)!=null?o:"",data:t}),!0}let n=Oo[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function qc(e,t,n){let o=()=>n!==ni;for(let r of t){if(o())return;oi.add(r),mr.set(r,[])}await Promise.all(t.map(async r=>{var i;try{let s=await ei(e,r);if(o())return;let a=(i=mr.get(r))!=null?i:[];if(s){if(rn(l=>{let d=h(f({},l.jobResponses),{[r]:s.accumulated.response}),c=h(f({},l.jobThinking),{[r]:s.accumulated.thinking}),p=[...l.events];for(let u of s.events)u.type==="done"||u.type==="error"||p.push({type:u.type,data:u,timestamp:Date.now()});return h(f({},l),{jobResponses:d,jobThinking:c,currentResponse:r===l.activeJobId?s.accumulated.response:l.currentResponse,currentThinking:r===l.activeJobId?s.accumulated.thinking:l.currentThinking,events:p})}),Oo[r]=s.currentSeq,!s.jobActive){let l=s.events.find(d=>d.type==="done"||d.type==="error");l&&Ji(l.type,l,r)}for(let l of a)typeof l.data.seq=="number"&&l.data.seq<=s.currentSeq||Ji(l.type,l.data,r)}else for(let l of a)Ji(l.type,l.data,r)}finally{oi.delete(r),mr.delete(r)}}))}function Ji(e,t,n){var o;if(e==="delta"){let r=t.text||"";rn(i=>h(f({},i),{jobResponses:h(f({},i.jobResponses),{[n]:(i.jobResponses[n]||"")+r}),currentResponse:n===i.activeJobId?i.currentResponse+r:i.currentResponse,events:[...i.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let r=t.text||"";rn(i=>h(f({},i),{jobThinking:h(f({},i.jobThinking),{[n]:(i.jobThinking[n]||"")+r}),currentThinking:n===i.activeJobId?i.currentThinking+r:i.currentThinking,events:[...i.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="done")delete Oo[n],rn(r=>{var c;let i=r.activeJobIds.filter(p=>p!==n),s=f({},r.jobResponses),a=f({},r.jobThinking),l=s[n];delete s[n],delete a[n];let d=n===r.activeJobId?i.length>0?i[i.length-1]:null:r.activeJobId;return h(f(h(f({},r),{activeJobIds:i,activeJobId:d,jobResponses:s,jobThinking:a,lastCompletedJobId:n,lastResponseText:l||r.currentResponse||t.responseText||null,lastThreadId:(c=t.threadId)!=null?c:null}),n===r.activeJobId?{currentResponse:d&&s[d]||"",currentThinking:d&&a[d]||""}:{}),{events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]})});else if(e==="error"){delete Oo[n];let r=(o=t.message)!=null?o:"";rn(i=>{let s=i.activeJobIds.filter(l=>l!==n),a=s.length>0?i.status:"error";return h(f({},i),{status:a,activeJobIds:s,lastCompletedJobId:n,lastErrorByJob:r?h(f({},i.lastErrorByJob),{[n]:r}):i.lastErrorByJob,events:[...i.events,{type:"error",data:t,timestamp:Date.now()}]})})}else rn(r=>h(f({},r),{events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var Oa,Uo=(Oa=xn==null?void 0:xn.discoveredBridgeUrl)!=null?Oa:null,gr=null;async function Zc(e){return e&&e!=="http://localhost:1111"?(Uo=e,e):Uo||gr||(gr=ma(e).then(n=>{var o;return Uo=(o=n==null?void 0:n.url)!=null?o:null,gr=null,Uo}).catch(()=>(gr=null,null)),gr)}function Ba(){return Uo}function Ea(){return hr}function Qc(e){return ti.add(e),()=>{ti.delete(e)}}function rn(e){hr=e(hr);for(let t of ti)t()}function Da(e){if(Jo&&Jo.readyState!==EventSource.CLOSED&&Ui===e)return;Jo&&(Jo.close(),Jo=null),jo&&(clearTimeout(jo),jo=null),Ui=e;let t=++ni,n=new EventSource(`${e}/events?sourceId=${ii}`);Jo=n;let o=()=>t!==ni;n.addEventListener("connected",()=>{o()||Po(e).then(r=>{var u,g;if(o())return;let i=(u=r==null?void 0:r.activeJobs)!=null?u:r!=null&&r.activeJob?[r.activeJob]:[],s=new Set(i.map(b=>b.id)),a=(g=r==null?void 0:r.recentJobs)!=null?g:[],l=new Map(a.map(b=>[b.id,b])),d=i.length>0;rn(b=>{let v=f({},b.lastErrorByJob),A=b.activeJobIds.filter(P=>!s.has(P));for(let P of A){let O=l.get(P);(O==null?void 0:O.status)==="error"&&O.error&&(v[P]=O.error)}let T=b.activeJobIds.filter(P=>s.has(P));for(let P of s)T.includes(P)||T.push(P);let $={};for(let P of i)P.threadId&&($[P.id]=P.threadId);return h(f({},b),{isConnected:!0,status:d?"streaming":A.length>0||b.status==="disconnected"?"idle":b.status,activeJobId:d?i[i.length-1].id:T.length>0?T[T.length-1]:null,activeJobIds:T,activeJobThreads:$,lastErrorByJob:v,lastCompletedJobId:A.length>0?A[A.length-1]:b.lastCompletedJobId})});let c=hr.activeJobIds.filter(b=>!s.has(b)),p=[...Array.from(s),...c];p.length>0&&qc(e,p,t).catch(()=>{})})}),n.addEventListener("job_started",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;if(Yo(s,i))return;let a=i.threadId;rn(l=>{var d,c,p,u;return h(f({},l),{status:"streaming",activeJobId:s,activeJobIds:l.activeJobIds.includes(s)?l.activeJobIds:[...l.activeJobIds,s],activeJobThreads:a?h(f({},l.activeJobThreads),{[s]:a}):l.activeJobThreads,jobResponses:h(f({},l.jobResponses),{[s]:(d=l.jobResponses[s])!=null?d:""}),jobThinking:h(f({},l.jobThinking),{[s]:(c=l.jobThinking[s])!=null?c:""}),currentResponse:(p=l.jobResponses[s])!=null?p:"",currentThinking:(u=l.jobThinking[s])!=null?u:"",lastResponseText:null,lastThreadId:null,events:[...l.events,{type:"job_started",data:i,timestamp:Date.now()}]})})}),n.addEventListener("delta",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;if(Yo(s,i))return;let a=i.text||"";rn(l=>h(f({},l),{jobResponses:s?h(f({},l.jobResponses),{[s]:(l.jobResponses[s]||"")+a}):l.jobResponses,currentResponse:!s||s===l.activeJobId?l.currentResponse+a:l.currentResponse,events:[...l.events,{type:"delta",data:i,timestamp:Date.now()}]}))}),n.addEventListener("thinking",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;if(Yo(s,i))return;let a=i.text||"";rn(l=>h(f({},l),{jobThinking:s?h(f({},l.jobThinking),{[s]:(l.jobThinking[s]||"")+a}):l.jobThinking,currentThinking:!s||s===l.activeJobId?l.currentThinking+a:l.currentThinking,events:[...l.events,{type:"thinking",data:i,timestamp:Date.now()}]}))}),n.addEventListener("tool_use",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;Yo(s,i)||rn(a=>h(f({},a),{events:[...a.events,{type:"tool_use",data:i,timestamp:Date.now()}]}))}),n.addEventListener("done",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;Yo(s,i)||(s&&delete Oo[s],rn(a=>{var b;let l=s?a.activeJobIds.filter(v=>v!==s):a.activeJobIds,d=f({},a.jobResponses),c=f({},a.jobThinking),p=f({},a.activeJobThreads),u=s?d[s]:void 0;s&&(delete d[s],delete c[s],delete p[s]);let g=s===a.activeJobId?l.length>0?l[l.length-1]:null:a.activeJobId;return h(f(h(f({},a),{activeJobIds:l,activeJobId:g,jobResponses:d,jobThinking:c,lastCompletedJobId:s!=null?s:a.activeJobId,lastResponseText:u||a.currentResponse||i.responseText||null,lastThreadId:(b=i.threadId)!=null?b:null}),s===a.activeJobId?{currentResponse:g&&d[g]||"",currentThinking:g&&c[g]||""}:{}),{events:[...a.events,{type:"done",data:i,timestamp:Date.now()}]})}))}),n.addEventListener("question",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;Yo(s,i)||rn(a=>h(f({},a),{pendingQuestions:[...a.pendingQuestions,{jobId:i.jobId,threadId:i.threadId,question:i.question,annotationIds:i.annotationIds,timestamp:Date.now()}],events:[...a.events,{type:"question",data:i,timestamp:Date.now()}]}))}),n.addEventListener("capabilities_changed",()=>{o()||rn(r=>h(f({},r),{capabilitiesVersion:r.capabilitiesVersion+1}))}),n.addEventListener("queue_drained",()=>{if(!o()){for(let r of Object.keys(Oo))delete Oo[r];oi.clear(),mr.clear(),rn(r=>h(f({},r),{status:r.status==="error"?"error":"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastErrorByJob:{},incrementalResolutions:[]}))}}),n.addEventListener("error",r=>{var i,s;if(!o()){if(n.readyState===EventSource.CLOSED)rn(a=>h(f({},a),{isConnected:!1,status:"disconnected"})),jo&&(clearTimeout(jo),jo=null),jo=setTimeout(()=>{Po(e).then(a=>{a&&Da(e)})},5e3);else if(r instanceof MessageEvent){let a=JSON.parse(r.data),l=(i=a.jobId)!=null?i:null;if(Yo(l!=null?l:void 0,a))return;l&&delete Oo[l];let d=(s=a.message)!=null?s:"";rn(c=>{let p=l?c.activeJobIds.filter(g=>g!==l):c.activeJobIds,u=p.length>0?c.status:"error";return h(f({},c),{status:u,activeJobIds:p,lastCompletedJobId:l!=null?l:c.activeJobId,lastErrorByJob:l&&d?h(f({},c.lastErrorByJob),{[l]:d}):c.lastErrorByJob,events:[...c.events,{type:"error",data:a,timestamp:Date.now()}]})})}}}),n.onerror=()=>{o()||n.readyState===EventSource.CLOSED&&rn(r=>h(f({},r),{isConnected:!1,status:"disconnected"}))}}function _a(e="http://localhost:1111",t=!0){let n=Xc(Qc,Ea,Ea);Vc(()=>{t&&Zc(e).then(i=>{i&&Po(i).then(s=>{s&&Da(i)})})},[e,t]);let o=Ca(()=>{rn(()=>h(f({},hr),{events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),r=Ca(i=>{rn(s=>h(f({},s),{pendingQuestions:s.pendingQuestions.filter(a=>a.threadId!==i)}))},[]);return h(f({},n),{clearEvents:o,dismissQuestion:r})}import{useEffect as ed,useReducer as td}from"react";var nd={isAnnotating:!1,activeTool:"inspector",activeColor:"oklch(0.628 0.258 29)",strokeWidth:3,annotations:[],undoStack:[],redoStack:[],currentPath:[],selectedAnnotationIds:[],lastSelectedId:null,inspectedElement:null,styleModifications:[],spacingTokenChanges:[],spacingTokenMods:[]};function si(){return Math.random().toString(36).substring(2,9)}function Na(e){return e.status?e:e.captured?h(f({},e),{status:"in_flight"}):h(f({},e),{status:"pending"})}function Pn(e){return h(f({},e),{undoStack:[...e.undoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}],redoStack:[]})}function od(e,t){return h(f({},e),{isAnnotating:t})}function rd(e,t){return h(f({},e),{activeTool:t,inspectedElement:null})}function id(e,t){return h(f({},e),{activeColor:t})}function sd(e,t){return h(f({},e),{strokeWidth:t})}function ad(e,t){return h(f({},e),{currentPath:[t]})}function ld(e,t){return h(f({},e),{currentPath:[...e.currentPath,t]})}function cd(e){return h(f({},e),{currentPath:[]})}function dd(e,t){if(e.currentPath.length<2&&e.activeTool!=="text")return h(f({},e),{currentPath:[]});let n={id:si(),type:e.activeTool,points:e.currentPath,color:e.activeColor,strokeWidth:e.strokeWidth,timestamp:Date.now(),status:"pending",pathname:typeof window!="undefined"?window.location.pathname:"/",groupId:t==null?void 0:t.groupId,elements:t==null?void 0:t.elements},o=Pn(e);return h(f({},o),{annotations:[...e.annotations,n],currentPath:[]})}function ud(e,t){var r;let n=f({id:(r=t.id)!=null?r:si(),type:"text",points:[t.point],text:t.text,fontSize:t.fontSize||12,color:e.activeColor,strokeWidth:e.strokeWidth,timestamp:Date.now(),status:"pending",pathname:typeof window!="undefined"?window.location.pathname:"/",groupId:t.groupId,linkedSelector:t.linkedSelector,linkedAnchor:t.linkedAnchor,elements:t.elements},t.imageCount?{imageCount:t.imageCount}:{}),o=t.groupId?e:Pn(e);return h(f({},o),{annotations:[...e.annotations,n]})}function pd(e,t){let n=Pn(e);return h(f({},n),{annotations:e.annotations.map(o=>o.id===t.id?f(h(f({},o),{text:t.text}),t.imageCount!=null?{imageCount:t.imageCount}:{}):o)})}function fd(e,t){return h(f({},e),{annotations:e.annotations.map(n=>n.id===t.id?h(f({},n),{fontSize:Math.max(12,Math.min(72,t.fontSize))}):n)})}function gd(e,t){let n=Pn(e),o=e.annotations.find(i=>i.id===t.id),r=o==null?void 0:o.groupId;return h(f({},n),{annotations:e.annotations.filter(i=>i.id!==t.id&&!(r&&i.groupId===r))})}function md(e,t){let n=t.saveUndo?Pn(e):e,o=e.annotations.find(i=>i.id===t.id),r=o==null?void 0:o.groupId;return h(f({},n),{annotations:e.annotations.map(i=>{if(!(i.id===t.id||r&&i.groupId===r))return i;let a=t.delta.x,l=t.delta.y;return h(f({},i),{points:i.points.map(d=>({x:d.x+a,y:d.y+l}))})})})}function hd(e,t){let n=t.saveUndo?Pn(e):e,o=e.annotations.find(s=>s.id===t.id);if(!o||o.type==="text"||o.points.length<2)return e;let r=0,i=0;if(o.type==="rectangle"&&o.groupId){let s=t.points,a=Math.min(s[0].x,s[1].x),l=Math.max(s[0].y,s[1].y),d=o.points[0],c=o.points[o.points.length-1],p=Math.min(d.x,c.x),u=Math.max(d.y,c.y);r=a-p,i=l-u}return h(f({},n),{annotations:e.annotations.map(s=>s.id===t.id?h(f({},s),{points:t.points}):o.groupId&&s.groupId===o.groupId&&s.type==="text"?h(f({},s),{points:s.points.map(a=>({x:a.x+r,y:a.y+i}))}):s)})}function yd(e,t){let n=Pn(e);return h(f({},n),{annotations:[...e.annotations,...t.annotations.map(Na)]})}function bd(e,t){let n=new Set,o=[];for(let r of t.annotations)n.has(r.id)||(n.add(r.id),o.push(Na(r)));return h(f({},e),{annotations:o})}function xd(e){if(e.undoStack.length===0)return e;let t=e.undoStack[e.undoStack.length-1];return h(f({},e),{annotations:(t==null?void 0:t.annotations)||[],styleModifications:(t==null?void 0:t.styleModifications)||[],spacingTokenMods:(t==null?void 0:t.spacingTokenMods)||[],undoStack:e.undoStack.slice(0,-1),redoStack:[...e.redoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}]})}function vd(e){if(e.redoStack.length===0)return e;let t=e.redoStack[e.redoStack.length-1];return h(f({},e),{annotations:(t==null?void 0:t.annotations)||[],styleModifications:(t==null?void 0:t.styleModifications)||[],spacingTokenMods:(t==null?void 0:t.spacingTokenMods)||[],redoStack:e.redoStack.slice(0,-1),undoStack:[...e.undoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}]})}function Sd(e,t){let{id:n,addToSelection:o}=t;if(n===null)return h(f({},e),{selectedAnnotationIds:[],lastSelectedId:null});if(o)if(e.selectedAnnotationIds.includes(n)){let i=e.selectedAnnotationIds.filter(s=>s!==n);return h(f({},e),{selectedAnnotationIds:i,lastSelectedId:i.length>0?i[i.length-1]:null})}else return h(f({},e),{selectedAnnotationIds:[...e.selectedAnnotationIds,n],lastSelectedId:n});return h(f({},e),{selectedAnnotationIds:[n],lastSelectedId:n})}function wd(e,t){let n=new Set;for(let o of e.selectedAnnotationIds){let r=e.annotations.find(i=>i.id===o);r!=null&&r.groupId&&n.add(r.groupId)}return h(f({},e),{annotations:e.annotations.map(o=>{let r=e.selectedAnnotationIds.includes(o.id),i=o.groupId&&n.has(o.groupId);return!r&&!i?o:h(f({},o),{color:t.color})})})}function Cd(e){return h(f({},e),{annotations:e.annotations.map(t=>h(f({},t),{captured:!0,status:t.status==="pending"||!t.status?"in_flight":t.status})),styleModifications:e.styleModifications.map(t=>h(f({},t),{captured:!0})),spacingTokenChanges:e.spacingTokenChanges.map(t=>h(f({},t),{captured:!0}))})}function Ed(e){return h(f({},e),{annotations:[],undoStack:[],redoStack:[],currentPath:[],selectedAnnotationIds:[],lastSelectedId:null,spacingTokenChanges:[],spacingTokenMods:[]})}function kd(e,t){return h(f({},e),{inspectedElement:t})}function Td(e,t){let{selector:n,element:o,property:r,original:i,modified:s}=t,a=e.styleModifications.findIndex(l=>l.selector===n);if(i===s&&a<0)return e;if(a>=0){let l=e.styleModifications[a];if(l.captured){let g=Pn(e),b=g.styleModifications.map((v,A)=>A===a?h(f({},v),{changes:[{property:r,original:i,modified:s}],captured:!1}):v);return h(f({},g),{styleModifications:b})}let d=l.changes.findIndex(g=>g.property===r),c,p=e;if(d>=0){let g=l.changes[d];s===g.original?c=l.changes.filter((b,v)=>v!==d):c=l.changes.map((b,v)=>v===d?h(f({},b),{modified:s}):b)}else{if(i===s)return e;p=Pn(e),c=[...l.changes,{property:r,original:i,modified:s}]}if(c.length===0)return h(f({},p),{styleModifications:p.styleModifications.filter((g,b)=>b!==a)});let u=p.styleModifications.map((g,b)=>b===a?h(f({},g),{changes:c}):g);return h(f({},p),{styleModifications:u})}else{let l=Pn(e),d={selector:n,element:o,changes:[{property:r,original:i,modified:s}]};return h(f({},l),{styleModifications:[...l.styleModifications,d]})}}function Md(e,t){let{selector:n,durableSelector:o,element:r,changes:i}=t,s=i.filter(d=>d.original!==d.modified);if(s.length===0)return e;let a=Pn(e),l=a.styleModifications.findIndex(d=>d.selector===n);if(l>=0){let d=a.styleModifications[l],c=d.captured?[]:[...d.changes];for(let p of s){let u=c.findIndex(g=>g.property===p.property);u>=0?p.modified===c[u].original?c=c.filter((g,b)=>b!==u):c=c.map((g,b)=>b===u?h(f({},g),{modified:p.modified}):g):c.push(p)}return c.length===0?h(f({},a),{styleModifications:a.styleModifications.filter((p,u)=>u!==l)}):h(f({},a),{styleModifications:a.styleModifications.map((p,u)=>u===l?h(f({},p),{changes:c,captured:!1}):p)})}else return h(f({},a),{styleModifications:[...a.styleModifications,{selector:n,durableSelector:o,element:r,changes:s}]})}function Id(e,t){let{selector:n,property:o}=t,r=Pn(e),i=r.styleModifications.map(s=>s.selector!==n?s:h(f({},s),{changes:s.changes.filter(a=>a.property!==o)})).filter(s=>s.changes.length>0);return h(f({},r),{styleModifications:i})}function Rd(e){if(e.styleModifications.length===0)return h(f({},e),{inspectedElement:null});let t=Pn(e);return h(f({},t),{styleModifications:[],inspectedElement:null})}function Ld(e,t){return h(f({},e),{styleModifications:t})}function Ad(e,t){let{updates:n}=t,o=new Map(n.map(r=>[r.id,r]));return h(f({},e),{annotations:e.annotations.map(r=>{let i=o.get(r.id);return i?f(h(f({},r),{points:[i.point,...r.points.slice(1)]}),i.linkedAnchor?{linkedAnchor:i.linkedAnchor}:{}):r})})}function Pd(e,t){let n=new Set(t.ids);return h(f({},e),{annotations:e.annotations.map(o=>n.has(o.id)?h(f({},o),{status:t.status}):o)})}function Od(e,t){let n=new Set(t.ids),o=new Set;for(let r of e.annotations)n.has(r.id)&&r.groupId&&o.add(r.groupId);return h(f({},e),{annotations:e.annotations.map(r=>n.has(r.id)||r.groupId&&o.has(r.groupId)?h(f({},r),{threadId:t.threadId}):r)})}function Bd(e,t){let n=new Set(t.ids),o=new Set;for(let r of e.annotations)n.has(r.id)&&r.groupId&&o.add(r.groupId);return h(f({},e),{annotations:e.annotations.map(r=>n.has(r.id)||r.groupId&&o.has(r.groupId)?h(f({},r),{status:"waiting_input",question:t.question,threadId:t.threadId}):r)})}function Dd(e,t){let n=new Map(t.resolutions.map(r=>[r.annotationId,r])),o=new Map;for(let r of e.annotations){let i=n.get(r.id);i&&r.groupId&&o.set(r.groupId,i)}return h(f({},e),{annotations:e.annotations.map(r=>{var s,a,l;let i=n.get(r.id)||(r.groupId?o.get(r.groupId):void 0);return i?h(f({},r),{status:i.status,resolutionSummary:i.summary,scope:(a=(s=i.finalScope)!=null?s:i.inferredScope)!=null?a:null,replyCount:((l=r.replyCount)!=null?l:0)+1,question:void 0,threadId:r.threadId||t.threadId}):r})})}function _d(e,t){let{linkedSelectors:n,styleSelectors:o}=t,r=new Set(n),i=new Set(o),s=new Set,a=new Set;for(let u of e.annotations)u.linkedSelector&&r.has(u.linkedSelector)&&(s.add(u.id),u.groupId&&a.add(u.groupId));for(let u of e.annotations)u.groupId&&a.has(u.groupId)&&s.add(u.id);let l=e.annotations.filter(u=>!s.has(u.id)),d=e.styleModifications.filter(u=>!i.has(u.selector));if(l.length===e.annotations.length&&d.length===e.styleModifications.length)return e;let c=e.selectedAnnotationIds.filter(u=>!s.has(u)),p=e.inspectedElement&&i.has(e.inspectedElement.info.selector)?null:e.inspectedElement;return h(f({},e),{annotations:l,styleModifications:d,selectedAnnotationIds:c,lastSelectedId:c.length>0?c[c.length-1]:null,inspectedElement:p})}function Nd(e,t){let n=e.spacingTokenChanges.findIndex(o=>o.tokenPath===t.tokenPath);return n>=0?h(f({},e),{spacingTokenChanges:e.spacingTokenChanges.map((o,r)=>r===n?t:o)}):h(f({},e),{spacingTokenChanges:[...e.spacingTokenChanges,t]})}function Hd(e,t){return h(f({},e),{spacingTokenChanges:t})}function Fd(e,t){let n=Pn(e),o=e.spacingTokenMods.findIndex(i=>i.tokenPath===t.tokenPath),r;if(o>=0){let i=e.spacingTokenMods[o],s=h(f({},t),{originalValue:i.originalValue,originalPx:i.originalPx});r=e.spacingTokenMods.map((a,l)=>l===o?s:a)}else r=[...e.spacingTokenMods,t];return h(f({},n),{spacingTokenMods:r})}function $d(e,t){let n=Pn(e),o=e.spacingTokenMods.findIndex(l=>l.tokenPath===t.tokenPath),r=o>=0?e.spacingTokenMods[o].originalValue:t.originalValue,i=o>=0?e.spacingTokenMods[o].originalPx:parseFloat(t.originalValue)||0,s={tokenPath:t.tokenPath,originalValue:r,currentValue:"__deleted__",targets:o>=0?e.spacingTokenMods[o].targets:[],originalPx:i,currentPx:0},a;return o>=0?a=e.spacingTokenMods.map((l,d)=>d===o?s:l):a=[...e.spacingTokenMods,s],h(f({},n),{spacingTokenMods:a})}var zd={SET_ANNOTATING:od,SET_TOOL:rd,SET_COLOR:id,SET_STROKE_WIDTH:sd,START_PATH:ad,CONTINUE_PATH:ld,CANCEL_PATH:cd,FINISH_PATH:dd,ADD_TEXT:ud,UPDATE_TEXT:pd,UPDATE_TEXT_SIZE:fd,DELETE_ANNOTATION:gd,MOVE_ANNOTATION:md,RESIZE_ANNOTATION:hd,PASTE_ANNOTATIONS:yd,RESTORE_ANNOTATIONS:bd,UNDO:xd,REDO:vd,SELECT_ANNOTATION:Sd,UPDATE_ANNOTATION_COLOR:wd,MARK_CAPTURED:Cd,CLEAR:Ed,SELECT_ELEMENT:kd,MODIFY_STYLE:Td,MODIFY_STYLES_BATCH:Md,CLEAR_STYLE:Id,CLEAR_ALL_STYLES:Rd,RESTORE_STYLE_MODIFICATIONS:Ld,UPDATE_LINKED_POSITIONS:Ad,CLEANUP_ORPHANED:_d,SET_ANNOTATION_STATUS:Pd,SET_ANNOTATION_THREAD:Od,SET_ANNOTATION_QUESTION:Bd,APPLY_RESOLUTIONS:Dd,ADD_SPACING_TOKEN_CHANGE:Nd,RESTORE_SPACING_TOKEN_CHANGES:Hd,MODIFY_SPACING_TOKEN:Fd,DELETE_SPACING_TOKEN:$d};function Wd(e,t){let n=zd[t.type];return n?n(e,t.payload):e}function Ha(){let[e,t]=td(Wd,nd);return ed(()=>{let n=o=>{(o.metaKey||o.ctrlKey)&&o.key==="z"&&(o.preventDefault(),o.shiftKey?t({type:"REDO"}):t({type:"UNDO"}))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[]),[e,t]}import{useSyncExternalStore as Gd}from"react";if(typeof window!="undefined"&&!window.__popmeltPathPatch){window.__popmeltPathPatch=!0;for(let e of["pushState","replaceState"]){let t=History.prototype[e];History.prototype[e]=function(...n){let o=window.location.pathname;t.apply(this,n),window.dispatchEvent(new CustomEvent("popmelt:locationchange",{detail:{prevPath:o}}))}}}function jd(e){return window.addEventListener("popstate",e),window.addEventListener("popmelt:locationchange",e),()=>{window.removeEventListener("popstate",e),window.removeEventListener("popmelt:locationchange",e)}}function Yd(){return window.location.pathname}function yr(){return Gd(jd,Yd,()=>"/")}var Fa="popmelt-toolbar-snap-position";function Ko(e){return e.startsWith("top-")}function qo(e){return e.endsWith("-right")}function Fr(e){return e.endsWith("-center")}function $a(){try{let e=localStorage.getItem(Fa);if(e&&Jd(e))return e}catch(e){}return"bottom-right"}function za(e){try{localStorage.setItem(Fa,e)}catch(t){}}function Jd(e){return["bottom-right","bottom-center","bottom-left","top-right","top-center","top-left"].includes(e)}function Wa(e,t,n){let o=Ko(e)?16:n-16-54;return Fr(e)?{position:"fixed",top:o,left:t/2,transform:"translateX(-50%)"}:qo(e)?{position:"fixed",top:o,right:16,left:"auto"}:{position:"fixed",top:o,left:16,right:"auto"}}function Ga(e,t,n){let r=Ko(e)?{top:82}:{bottom:82},i;return Fr(e)?i={left:t/2,transform:"translateX(-50%)"}:qo(e)?i={right:16}:i={left:16},f(f({position:"fixed"},r),i)}function ja(e,t,n){let o=Ko(e),r=o?{top:78}:{bottom:78},i,s;return Fr(e)?(i={left:"50%",transform:"translateX(-50%)"},s="center"):qo(e)?(i={right:16},s="flex-end"):(i={left:16},s="flex-start"),h(f(f({position:"fixed"},r),i),{zIndex:9999,display:"flex",flexDirection:"column",alignItems:s})}function Ya(e){let t=Ko(e),n=qo(e)||Fr(e);return{position:"fixed",top:t&&n?82:16,right:16,bottom:!t&&n?82:16}}function Ja(e,t,n){let r=Ko(e),i,s;qo(e)||Fr(e)?(i=t-16,s=i-326):(s=16,i=s+326);let a=r?82:n-16-54-12;return{left:s,right:i,y:a}}var Ua=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"];import{domToCanvas as Ud}from"modern-screenshot";function Xi(e){let t=document.createElement("canvas").getContext("2d");return t?(t.fillStyle=e,t.fillStyle):"#888888"}function Ki(e,t=[],n,o){let r=new Map,i=[];for(let a of e)if(a.groupId){let l=r.get(a.groupId)||[];l.push(a),r.set(a.groupId,l)}else i.push(a);let s=[];for(let[a,l]of r){let d=l.find(p=>p.type!=="text"),c=l.find(p=>p.type==="text");if(d){let p=d.linkedSelector||(c==null?void 0:c.linkedSelector),u=(c==null?void 0:c.imageCount)||d.imageCount,g=d.pathname||(c==null?void 0:c.pathname);s.push(f(h(f(f({id:d.id,type:d.type,instruction:c==null?void 0:c.text},p?{linkedSelector:p}:{}),g?{pathname:g}:{}),{elements:d.elements||[]}),u?{imageCount:u}:{}))}}for(let a of i)s.push(f(h(f(f({id:a.id,type:a.type,instruction:a.type==="text"?a.text:void 0},a.linkedSelector?{linkedSelector:a.linkedSelector}:{}),a.pathname?{pathname:a.pathname}:{}),{elements:a.elements||[]}),a.imageCount?{imageCount:a.imageCount}:{}));return f(f({timestamp:new Date().toISOString(),url:window.location.href,viewport:{width:window.innerWidth,height:window.innerHeight},scrollPosition:{x:window.scrollX,y:window.scrollY},annotations:s,styleModifications:t},n?{inspectedElement:n}:{}),o&&o.length>0?{spacingTokenChanges:o}:{})}function Vd(e){if(!e.points||e.points.length===0)return null;let t=e.points.map(o=>o.x),n=e.points.map(o=>o.y);return{minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)}}function Xd(e,t){if(e.length===0)return[];let n=e.map(c=>({annotation:c,bounds:Vd(c)})).filter(c=>c.bounds!==null);if(n.length===0)return[];n.sort((c,p)=>c.bounds.minY-p.bounds.minY);let o=Math.min(...n.map(c=>c.bounds.minY)),r=Math.max(...n.map(c=>c.bounds.maxY));if(r-o<=t){let c=(o+r)/2,p=Math.max(0,c-t/2);return[{top:p,bottom:p+t,annotations:e}]}let i=[],s=50,a=Math.max(0,o-s),l=[],d=a;for(let{annotation:c,bounds:p}of n){let u=p.maxY+s;if(u-a<=t)l.push(c),d=Math.max(d,u);else{if(l.length>0){let g=(a+d)/2,b=Math.max(0,g-t/2);i.push({top:b,bottom:b+t,annotations:l})}a=Math.max(0,p.minY-s),l=[c],d=p.maxY+s}}if(l.length>0){let c=(a+d)/2,p=Math.max(0,c-t/2);i.push({top:p,bottom:p+t,annotations:l})}return i}function Kd(e){let t=new Map;for(let n of e)if(n.linkedSelector)try{let o=document.querySelector(n.linkedSelector);if(o){let r=o.getBoundingClientRect();t.set(n.id,{x:r.left+window.scrollX,y:r.top+window.scrollY,width:r.width,height:r.height})}}catch(o){}return t}function qd(e,t,n,o,r){if(e.save(),e.scale(o,o),r)for(let i of t){let s=r.get(i.id);if(!s)continue;let a=s.y-n;e.fillStyle=i.color,e.globalAlpha=.05,e.fillRect(s.x,a,s.width,s.height),e.globalAlpha=1,e.strokeStyle=i.color,e.lineWidth=1,e.setLineDash([2,4]),e.strokeRect(s.x,a,s.width,s.height),e.setLineDash([])}for(let i of t){let s=i.points.map(a=>({x:a.x,y:a.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(s.length<2)break;e.beginPath(),e.moveTo(s[0].x,s[0].y);for(let a=1;a<s.length;a++)e.lineTo(s[a].x,s[a].y);e.stroke();break;case"line":if(s.length<2)break;e.beginPath(),e.moveTo(s[0].x,s[0].y),e.lineTo(s[s.length-1].x,s[s.length-1].y),e.stroke();break;case"rectangle":{if(s.length<2)break;let a=s[0],l=s[s.length-1],d=Math.min(a.x,l.x),c=Math.min(a.y,l.y),p=Math.abs(l.x-a.x),u=Math.abs(l.y-a.y);e.strokeRect(d,c,p,u);break}case"circle":{if(s.length<2)break;let a=s[0],l=s[s.length-1],d=(a.x+l.x)/2,c=(a.y+l.y)/2,p=Math.abs(l.x-a.x)/2,u=Math.abs(l.y-a.y)/2;e.beginPath(),e.ellipse(d,c,p,u,0,0,Math.PI*2),e.stroke();break}case"text":{if(!i.text||s.length<1)break;let a=s[0],l=i.fontSize||16;e.font=`${l}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(`
3
- `),p=l*1.2,u=4,g=0;for(let b of c)g=Math.max(g,e.measureText(b).width);e.fillRect(a.x-u,a.y-u,g+u*2,c.length*p+u*2),e.fillStyle="#ffffff",c.forEach((b,v)=>{e.fillText(b,a.x,a.y+l+v*p)});break}}}e.restore()}async function $r(e,t,n=[],o){var r;try{let i=(r=o==null?void 0:o.dpr)!=null?r:window.devicePixelRatio||1,s=window.innerWidth,a=window.innerHeight,l=n.filter(u=>{var g;return((g=u.status)!=null?g:"pending")==="pending"});console.log("[Screenshot] Starting capture with",l.length,"active annotations (filtered",n.length-l.length,"captured)");let d=Kd(l),c=Xd(l,a);if(c.length===0){let u=await Va(e,[],window.scrollY,s,a,i,d);return u?[u]:[]}let p=[];for(let u=0;u<c.length;u++){let g=c[u],b=await Va(e,g.annotations,g.top,s,a,i,d);b?p.push(b):console.warn(`[Screenshot] Region ${u+1} failed to capture`)}return console.log("[Screenshot] Capture complete"),p}catch(i){return console.error("[Screenshot] Capture failed:",i),[]}}async function Va(e,t,n,o,r,i,s){try{let a=getComputedStyle(document.documentElement).backgroundColor,d=await Ud(e,{filter:u=>!(u instanceof HTMLElement&&(u.id==="devtools-canvas"||u.id==="devtools-toolbar"||u.id==="devtools-scrim"||u.dataset.devtools!==void 0)),scale:i,backgroundColor:a&&a!=="rgba(0, 0, 0, 0)"&&a!=="transparent"?a:"#ffffff",width:o,height:r,style:{transform:`translate(${-window.scrollX}px, ${-n}px)`}}),c=document.createElement("canvas");c.width=o*i,c.height=r*i;let p=c.getContext("2d");return p?(p.drawImage(d,0,0,o*i,r*i,0,0,o*i,r*i),qd(p,t,n,i,s),new Promise(u=>{c.toBlob(g=>u(g),"image/webp",.8)})):null}catch(a){return console.error("Region capture failed:",a),null}}async function zr(e){if(e.length===0)return null;if(e.length===1)return e[0];let t=await Promise.all(e.map(a=>new Promise((l,d)=>{let c=new Image;c.onload=()=>l(c),c.onerror=d,c.src=URL.createObjectURL(a)}))),n=t[0].width,o=t.reduce((a,l)=>a+l.height,0),r=document.createElement("canvas");r.width=n,r.height=o;let i=r.getContext("2d");if(!i)return null;let s=0;for(let a of t)i.drawImage(a,0,s),s+=a.height,URL.revokeObjectURL(a.src);return new Promise(a=>{r.toBlob(l=>a(l),"image/webp",.8)})}async function Xa(e,t,n){try{let o=Array.isArray(e)?e:[e];if(o.length===0)return!1;let r=await zr(o);if(!r)return!1;let i=r;if(r.type!=="image/png"){let d=new Image,c=URL.createObjectURL(r);await new Promise(u=>{d.onload=()=>u(),d.src=c}),URL.revokeObjectURL(c);let p=document.createElement("canvas");p.width=d.naturalWidth,p.height=d.naturalHeight,p.getContext("2d").drawImage(d,0,0),i=await new Promise(u=>p.toBlob(g=>u(g),"image/png"))}let s={"image/png":i},a=t&&t.length>0,l=n&&n.length>0;if(a||l){let d=t?t.filter(c=>{var p;return((p=c.status)!=null?p:"pending")==="pending"}):[];if(d.length>0||l){let c=Ki(d,n||[]),p=new Blob([JSON.stringify(c,null,2)],{type:"text/plain"});s["text/plain"]=p}}return await navigator.clipboard.write([new ClipboardItem(s)]),!0}catch(o){return console.warn("Clipboard write failed:",o),!1}}var ai="0.7.0";import{useCallback as an,useEffect as En,useMemo as Ri,useRef as Xt,useState as vt}from"react";import{useCallback as vr,useRef as Qd}from"react";function qi(e,t,n,o){if(t.length<2)return;let r=t[0],i=t[t.length-1];if(!r||!i)return;let s=(r.x+i.x)/2,a=(r.y+i.y)/2,l=Math.abs(i.x-r.x)/2,d=Math.abs(i.y-r.y)/2;e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.ellipse(s,a,l,d,0,0,Math.PI*2),e.stroke()}function Zi(e,t,n,o){if(t.length<2)return;let r=t[0],i=t[t.length-1];if(!(!r||!i)){e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.lineCap="round",e.lineJoin="round",e.moveTo(r.x,r.y);for(let s=1;s<t.length-1;s++){let a=t[s],l=t[s+1];if(!a||!l)continue;let d=(a.x+l.x)/2,c=(a.y+l.y)/2;e.quadraticCurveTo(a.x,a.y,d,c)}e.lineTo(i.x,i.y),e.stroke()}}function Qi(e,t,n,o){if(t.length<2)return;let r=t[0],i=t[t.length-1];!r||!i||(e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.lineCap="round",e.moveTo(r.x,r.y),e.lineTo(i.x,i.y),e.stroke())}function es(e,t,n,o){if(t.length<2)return;let r=t[0],i=t[t.length-1];if(!r||!i)return;let s=Math.min(r.x,i.x),a=Math.min(r.y,i.y),l=Math.abs(i.x-r.x),d=Math.abs(i.y-r.y);e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.lineCap="round",e.lineJoin="round",e.strokeRect(s,a,l,d)}var Zt='"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';function Zd(e,t,n){if(!t||e.measureText(t).width<=n)return[t];let o=t.split(/\s+/),r=[],i="";for(let s of o){let a=i?i+" "+s:s;i&&e.measureText(a).width>n?(r.push(i),i=s):i=a}return i&&r.push(i),r.length>0?r:[t]}function br(e){let t=window.innerWidth-e-16;return Math.max(60,Math.min(400,t))}function Ka(e,t,n){let o=[];for(let r of t)o.push(...Zd(e,r,n));return o}function xr(e,t,n){if(e.measureText(t).width<=n)return t;let o="\u2026";for(let r=t.length-1;r>0;r--){let i=t.slice(0,r)+o;if(e.measureText(i).width<=n)return i}return o}function qa(e,t,n,o,r=12,i,s){if(!n)return;let a=r*1.4,l=n.replace(/\n/g," "),d=i!==void 0?i+". "+l:l;e.font=`${r}px ${Zt}`,e.textBaseline="middle";let c=s!==void 0?Math.min(400,Math.max(60,window.innerWidth-s-16)):400,p=xr(e,d,c),u=e.measureText(p).width;e.fillStyle=o,e.fillRect(t.x-4,t.y-4,u+8,a+8),e.fillStyle="#ffffff",e.fillText(p,t.x,t.y+a/2)}var Za=11,ts=4,eu=`600 ${Za}px system-ui, -apple-system, sans-serif`;function ns(e,t,n){return e.map(o=>({x:o.x-t,y:o.y-n}))}function tu(e,t,n,o,r,i){let s=String(o);e.font=eu;let l=e.measureText(s).width+ts*2,d=Za+ts*2,c=t-l/2,p=n+i/2+2;e.fillStyle=r,e.fillRect(c,p,l,d),e.fillStyle="#ffffff",e.textBaseline="middle",e.fillText(s,c+ts,p+d/2)}function nu(e,t){if(e.points.length<2&&e.type!=="text")return null;switch(e.type){case"rectangle":case"freehand":{let n,o;if(e.type==="freehand")n=Math.min(...e.points.map(r=>r.x)),o=Math.max(...e.points.map(r=>r.y));else{let r=e.points[0],i=e.points[e.points.length-1];n=Math.min(r.x,i.x),o=Math.max(r.y,i.y)}return{x:n,y:o}}case"circle":{let n=e.points[0],o=e.points[e.points.length-1],r=Math.min(n.x,o.x),i=(Math.min(n.y,o.y)+Math.max(n.y,o.y))/2;return{x:r,y:i}}case"line":{let n=e.points[0],o=e.points[e.points.length-1],r=n.y>o.y?n:o;return{x:r.x,y:r.y}}default:return null}}function Qa(){let e=Qd(null),t=vr(()=>{let a=e.current;if(!a)return;let l=a.getContext("2d");l&&l.clearRect(0,0,a.width,a.height)},[]),n=vr((a,l,d)=>{var b;let c=e.current;if(!c)return;let p=c.getContext("2d");if(!p)return;let g=((b=a.status)!=null?b:a.captured?"in_flight":"pending")==="pending"||d?a.color:"#999999";switch(a.type){case"freehand":Zi(p,a.points,g,a.strokeWidth);break;case"line":Qi(p,a.points,g,a.strokeWidth);break;case"rectangle":es(p,a.points,g,a.strokeWidth);break;case"circle":qi(p,a.points,g,a.strokeWidth);break;case"text":a.text&&a.points[0]&&qa(p,a.points[0],a.text,g,a.fontSize,l,a.points[0].x);break}},[]),o=vr((a,l,d,c)=>{let p=e.current;if(!p||a.length<2)return;let u=p.getContext("2d");if(u)switch(l){case"freehand":Zi(u,a,d,c);break;case"line":Qi(u,a,d,c);break;case"rectangle":es(u,a,d,c);break;case"circle":qi(u,a,d,c);break}},[]),r=vr((a,l)=>{let d=e.current;if(!d||a.points.length<2)return;let c=d.getContext("2d");if(c){if(c.fillStyle="#ffffff",c.strokeStyle=a.color,c.lineWidth=1.5,a.type==="line"){let p=a.points[0],u=a.points[a.points.length-1];[p,u].forEach(g=>{c.beginPath(),c.arc(g.x,g.y,l/2,0,Math.PI*2),c.fill(),c.stroke()});return}if(a.type==="circle"){let p=a.points[0],u=a.points[a.points.length-1],g=Math.min(p.x,u.x),b=Math.max(p.x,u.x),v=Math.min(p.y,u.y),A=Math.max(p.y,u.y),T=(g+b)/2,$=(v+A)/2;[{x:T,y:v},{x:T,y:A},{x:g,y:$},{x:b,y:$}].forEach(O=>{c.beginPath(),c.rect(O.x-l/2,O.y-l/2,l,l),c.fill(),c.stroke()});return}if(a.type==="rectangle"||a.type==="freehand"){let p,u,g,b;if(a.type==="freehand")p=Math.min(...a.points.map(A=>A.x)),u=Math.max(...a.points.map(A=>A.x)),g=Math.min(...a.points.map(A=>A.y)),b=Math.max(...a.points.map(A=>A.y));else{let A=a.points[0],T=a.points[a.points.length-1];p=Math.min(A.x,T.x),u=Math.max(A.x,T.x),g=Math.min(A.y,T.y),b=Math.max(A.y,T.y)}[{x:p,y:g},{x:u,y:g},{x:p,y:b},{x:u,y:b}].forEach(A=>{c.beginPath(),c.rect(A.x-l/2,A.y-l/2,l,l),c.fill(),c.stroke()})}}},[]),i=vr((a,l,d,c,p,u,g,b=0,v=0,A,T)=>{var $;if(t(),a.forEach(P=>{var se;let O=h(f({},P),{points:ns(P.points,b,v)}),w=A==null?void 0:A.get(P.id),N=(se=T==null?void 0:T.has(P.id))!=null?se:!1;n(O,w,N)}),l.length>0){let P=ns(l,b,v);o(P,d,c,p)}if(u&&u.length>0&&g){let P=e.current,O=P==null?void 0:P.getContext("2d");for(let w of u){let N=a.find(se=>se.id===w);if(N){let se=h(f({},N),{points:ns(N.points,b,v)});if(r(se,g),O&&N.type!=="text"&&A&&!(N.groupId&&a.some(G=>G.groupId===N.groupId&&G.type==="text"))){let G=A.get(N.id);if(G!==void 0){let oe=nu(se,g);if(oe){let Z=(($=N.status)!=null?$:N.captured?"in_flight":"pending")==="pending"?N.color:"#999999";tu(O,oe.x,oe.y,G,Z,g)}}}}}}},[t,n,o,r]),s=vr(()=>{let a=e.current;if(!a)return;let l=window.devicePixelRatio||1;a.width=window.innerWidth*l,a.height=window.innerHeight*l;let d=a.getContext("2d");d&&d.scale(l,l)},[]);return{canvasRef:e,clearCanvas:t,drawAnnotation:n,drawCurrentPath:o,redrawAll:i,resizeCanvas:s}}import{useEffect as ou,useRef as ru}from"react";function el(){let e=ru({shift:!1,cmd:!1});return ou(()=>{let t=r=>{r.key==="Shift"&&(e.current.shift=!0),(r.key==="Meta"||r.key==="Control")&&(e.current.cmd=!0)},n=r=>{r.key==="Shift"&&(e.current.shift=!1),(r.key==="Meta"||r.key==="Control")&&(e.current.cmd=!1)},o=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",o),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",o)}},[]),e}import{useEffect as iu}from"react";function tl(e,t,n,o,r){iu(()=>{let i=s=>{if(e){if(e.linkedSelector)return;s.preventDefault(),s.stopPropagation();let l=s.deltaY>0?-2:2;t(d=>d?h(f({},d),{fontSize:Math.max(12,Math.min(72,d.fontSize+l))}):null);return}if(!n)return;s.preventDefault();let a=o.find(l=>l.id===n);if(a&&a.type==="text"&&!a.linkedSelector){let l=a.fontSize||12,d=s.deltaY>0?-2:2;r({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:l+d}})}};return window.addEventListener("wheel",i,{passive:!1}),()=>{window.removeEventListener("wheel",i)}},[n,e,o,r,t])}import{useCallback as hl,useEffect as xi,useRef as yl,useState as Yr}from"react";function li(e){let t=Object.keys(e).find(r=>r.startsWith("__reactFiber$")||r.startsWith("__reactInternalInstance$"));if(!t)return null;let n=e[t],o=[];for(;n;){let r=n.type,i=(r==null?void 0:r.displayName)||(r==null?void 0:r.name);i&&typeof i=="string"&&/^[A-Z]/.test(i)&&!i.startsWith("_")&&i!=="Fragment"&&o.unshift(i),n=n.return}return o.length>0?{name:o[o.length-1],path:o}:null}function os(e){let t=Object.keys(e).find(r=>r.startsWith("__reactFiber$")||r.startsWith("__reactInternalInstance$"));if(!t)return[];let n=e[t],o=[];for(;n;){let r=n.type,i=typeof r=="function"||typeof r=="object"?(r==null?void 0:r.displayName)||(r==null?void 0:r.name):null;i&&typeof i=="string"&&/^[A-Z]/.test(i)&&!i.startsWith("_")&&i!=="Fragment"&&o.push({name:i,fiber:n}),n=n.return}return o.reverse(),o}function ci(e){let t=e,n=new Set;for(;t&&!n.has(t);){if(n.add(t),t.stateNode instanceof Element)return t.stateNode;t.child?t=t.child:t=null}return null}function nl(e){if(e.id)return`#${e.id}`;let t=e.tagName.toLowerCase(),n=Array.from(e.classList).slice(0,3).join(".");return n?`${t}.${n}`:t}function jn(e){if(e.id&&!e.id.startsWith("radix-")&&!e.id.startsWith(":"))return`#${CSS.escape(e.id)}`;let t=[],n=e;for(;n&&n!==document.documentElement;){let o=n.tagName.toLowerCase();if(n.id&&!n.id.startsWith("radix-")&&!n.id.startsWith(":")){t.unshift(`#${CSS.escape(n.id)}`);break}let r=Array.from(n.classList).filter(s=>!s.startsWith("_")&&s.length<30).slice(0,2);r.length>0&&(o+="."+r.map(s=>CSS.escape(s)).join("."));let i=n.parentElement;if(i){let s=Array.from(i.children).filter(a=>a.tagName===n.tagName);if(s.length>1){let a=s.indexOf(n)+1;o+=`:nth-of-type(${a})`}}t.unshift(o),n=i}return t.join(" > ")}function On(e){try{return document.querySelector(e)}catch(t){return null}}function di(e,t=0){var l;let n=os(e);if(n.length===0)return null;let o=n.map(d=>d.name),r=n.length-1,i=Math.max(0,Math.min(n.length-1,r-t)),s=n[i],a=(l=ci(s.fiber))!=null?l:e;return{name:s.name,path:o,depthIndex:i,rootElement:a}}function ol(e,t){var i,s;let n=os(e),o=t.toLowerCase(),r=-1;for(let a=n.length-1;a>=0;a--){let l=n[a].name;if(l===t){let d=(i=ci(n[a].fiber))!=null?i:e;return{name:t,path:n.map(c=>c.name),depthIndex:a,rootElement:d}}if(r===-1){let d=l.toLowerCase();(d.length>=4&&o.includes(d)||o.length>=4&&d.includes(o))&&(r=a)}}if(r>=0){let a=(s=ci(n[r].fiber))!=null?s:e;return{name:t,path:n.map(l=>l.name),depthIndex:r,rootElement:a}}return null}function Sr(e){let t=wr(),n=[],o=new Set,r=t.currentNode;for(;r=t.nextNode();){let i=ol(r,e);i&&!o.has(i.rootElement)&&(o.add(i.rootElement),n.push(i))}return n}function rs(e){let t=new Map;if(e.size===0)return t;let n=new Set(e),o=wr(),r=new Set,i=o.currentNode;for(;(i=o.nextNode())&&n.size>0;)for(let s of n){let a=ol(i,s);if(!a||r.has(a.rootElement))continue;r.add(a.rootElement);let l=a.rootElement.getBoundingClientRect();t.set(s,l.top+window.scrollY),n.delete(s);break}for(let s of n)t.set(s,1/0);return t}function wr(){return document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return e.closest("#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel]")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}})}function Bn(e){let t={selector:nl(e),tagName:e.tagName.toLowerCase()};e.id&&(t.id=e.id),e.classList.length>0&&(t.className=Array.from(e.classList).join(" "));let n=rl(e);n&&n.length>0&&n.length<200&&(t.textContent=n);let o={};for(let s of e.attributes)s.name.startsWith("data-")&&(o[s.name]=s.value);Object.keys(o).length>0&&(t.dataAttributes=o);let r=li(e);r&&(t.reactComponent=r.name);let i=su(e);return i&&(t.context=i),t}function rl(e){let t="";for(let n of e.childNodes)n.nodeType===Node.TEXT_NODE&&(t+=n.textContent||"");return t.trim()}function Zo(e,t){let n=document.elementsFromPoint(e,t);for(let o of n)if(o instanceof HTMLElement&&!(o.id==="devtools-canvas"||o.id==="devtools-toolbar"||o.id==="devtools-scrim")&&!o.closest("#devtools-toolbar")&&!(o.dataset.devtools||o.closest("[data-devtools]"))&&!["html","body"].includes(o.tagName.toLowerCase()))return o;return null}function su(e){let t=e.parentElement,n=["section","article","nav","aside","header","footer","main"];for(;t&&t!==document.body;){let o=t.tagName.toLowerCase();if(n.includes(o)&&t.id)return`${o}#${t.id}`;if(t.id&&!t.id.startsWith("radix-")&&!t.id.startsWith(":"))return`${o}#${t.id}`;t=t.parentElement}return null}function il(e){let t=new Set,n=[],o=window.scrollX,r=window.scrollY,i=[{x:(e.minX+e.maxX)/2,y:(e.minY+e.maxY)/2},{x:e.minX,y:e.minY},{x:e.maxX,y:e.minY},{x:e.minX,y:e.maxY},{x:e.maxX,y:e.maxY}];for(let s of i){let a=s.x-o,l=s.y-r;if(a<0||l<0||a>window.innerWidth||l>window.innerHeight)continue;let d=Zo(a,l);d&&!t.has(d)&&(t.add(d),n.push(Bn(d)))}return n.slice(0,3)}function is(e){if(e.length===0)return[];let t=e.map(o=>o.x),n=e.map(o=>o.y);return il({minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)})}function sn(e,t){return e.style.getPropertyValue(t)!==""}function au(e,t=30){if(e<=0)return[];let n=[],o=wr(),r=.5,i=o.currentNode;for(;(i=o.nextNode())&&n.length<t;){let s=i,a=s.getBoundingClientRect();if(a.bottom<-50||a.top>window.innerHeight+50||a.right<-50||a.left>window.innerWidth+50||a.width<1||a.height<1)continue;let l=getComputedStyle(s);!sn(s,"padding-top")&&Math.abs((parseFloat(l.paddingTop)||0)-e)<r&&n.push({element:s,property:"padding-top"}),!sn(s,"padding-bottom")&&Math.abs((parseFloat(l.paddingBottom)||0)-e)<r&&n.length<t&&n.push({element:s,property:"padding-bottom"}),!sn(s,"padding-left")&&Math.abs((parseFloat(l.paddingLeft)||0)-e)<r&&n.length<t&&n.push({element:s,property:"padding-left"}),!sn(s,"padding-right")&&Math.abs((parseFloat(l.paddingRight)||0)-e)<r&&n.length<t&&n.push({element:s,property:"padding-right"}),!sn(s,"margin-top")&&Math.abs((parseFloat(l.marginTop)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-top"}),!sn(s,"margin-bottom")&&Math.abs((parseFloat(l.marginBottom)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-bottom"}),!sn(s,"margin-left")&&Math.abs((parseFloat(l.marginLeft)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-left"}),!sn(s,"margin-right")&&Math.abs((parseFloat(l.marginRight)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-right"});let d=l.display;if((d.includes("flex")||d.includes("grid"))&&n.length<t){let c=sn(s,"gap"),p=parseFloat(l.gap)||0,u=parseFloat(l.rowGap)||0,g=parseFloat(l.columnGap)||0;!c&&Math.abs(p-e)<r?n.push({element:s,property:"gap"}):!sn(s,"row-gap")&&Math.abs(u-e)<r?n.push({element:s,property:"row-gap"}):!sn(s,"column-gap")&&Math.abs(g-e)<r&&n.push({element:s,property:"column-gap"})}}return n}function ss(e,t=30){if(e<=0)return[];let n=[],o=wr(),r=.5,i=o.currentNode;for(;(i=o.nextNode())&&n.length<t;){let s=i,a=s.getBoundingClientRect();if(a.bottom<-50||a.top>window.innerHeight+50||a.right<-50||a.left>window.innerWidth+50||a.width<1||a.height<1)continue;let l=getComputedStyle(s),d=parseFloat(l.borderTopWidth)||0,c=parseFloat(l.borderRightWidth)||0,p=parseFloat(l.borderBottomWidth)||0,u=parseFloat(l.borderLeftWidth)||0,g=s.clientWidth,b=s.clientHeight,v=parseFloat(l.paddingTop)||0;!sn(s,"padding-top")&&Math.abs(v-e)<r&&n.push({x:a.left+u,y:a.top+d,width:g,height:e,direction:"vertical",property:"padding-top"});let A=parseFloat(l.paddingBottom)||0;!sn(s,"padding-bottom")&&Math.abs(A-e)<r&&n.length<t&&n.push({x:a.left+u,y:a.top+d+b-e,width:g,height:e,direction:"vertical",property:"padding-bottom"});let T=parseFloat(l.paddingLeft)||0;!sn(s,"padding-left")&&Math.abs(T-e)<r&&n.length<t&&n.push({x:a.left+u,y:a.top+d,width:e,height:b,direction:"horizontal",property:"padding-left"});let $=parseFloat(l.paddingRight)||0;!sn(s,"padding-right")&&Math.abs($-e)<r&&n.length<t&&n.push({x:a.left+u+g-e,y:a.top+d,width:e,height:b,direction:"horizontal",property:"padding-right"});let P=parseFloat(l.marginTop)||0;!sn(s,"margin-top")&&Math.abs(P-e)<r&&n.length<t&&n.push({x:a.left,y:a.top-e,width:a.width,height:e,direction:"vertical",property:"margin-top"});let O=parseFloat(l.marginBottom)||0;!sn(s,"margin-bottom")&&Math.abs(O-e)<r&&n.length<t&&n.push({x:a.left,y:a.bottom,width:a.width,height:e,direction:"vertical",property:"margin-bottom"});let w=parseFloat(l.marginLeft)||0;!sn(s,"margin-left")&&Math.abs(w-e)<r&&n.length<t&&n.push({x:a.left-e,y:a.top,width:e,height:a.height,direction:"horizontal",property:"margin-left"});let N=parseFloat(l.marginRight)||0;!sn(s,"margin-right")&&Math.abs(N-e)<r&&n.length<t&&n.push({x:a.right,y:a.top,width:e,height:a.height,direction:"horizontal",property:"margin-right"});let se=l.display;if((se.includes("flex")||se.includes("grid"))&&n.length<t&&!sn(s,"gap")){let G=Array.from(s.children).filter(oe=>{let W=getComputedStyle(oe);return W.display!=="none"&&W.position!=="absolute"&&W.position!=="fixed"});if(G.length>=2)for(let oe=0;oe<G.length-1&&n.length<t;oe++){let W=G[oe].getBoundingClientRect(),Z=G[oe+1].getBoundingClientRect(),k=Z.top-W.bottom;Math.abs(k-e)<r&&k>.5&&n.push({x:Math.min(W.left,Z.left),y:W.bottom,width:Math.max(W.right,Z.right)-Math.min(W.left,Z.left),height:k,direction:"vertical",property:"gap"});let Ce=Z.left-W.right;Math.abs(Ce-e)<r&&Ce>.5&&n.push({x:W.right,y:Math.min(W.top,Z.top),width:Ce,height:Math.max(W.bottom,Z.bottom)-Math.min(W.top,Z.top),direction:"horizontal",property:"gap"})}}}return n}function ui(e){return typeof e=="string"?{value:e}:e}var al={gap:["gap","row-gap","column-gap"],padding:["padding-top","padding-bottom","padding-left","padding-right"],margin:["margin-top","margin-bottom","margin-left","margin-right"]};function sl(e,t){let n=al[t];return n?n.includes(e):!1}function lu(e,t){let n=e.split(/\s+/);for(let o of n){if(o===t)return!0;let r=o.lastIndexOf(":");if(r>=0&&o.slice(r+1)===t)return!0}return!1}function cu(e){var a,l;let t=e.lastIndexOf(":"),n=t>=0?e.slice(t+1):e,o=n.indexOf("-");if(o<0)return null;let r=n.slice(0,o),i={gap:"gap","gap-x":"column-gap","gap-y":"row-gap",p:"padding",pt:"padding-top",pb:"padding-bottom",pl:"padding-left",pr:"padding-right",px:"padding-left",py:"padding-top",m:"margin",mt:"margin-top",mb:"margin-bottom",ml:"margin-left",mr:"margin-right",mx:"margin-left",my:"margin-top"},s=n.slice(0,n.indexOf("-",o+1)>0?n.indexOf("-",o+1):o);return(l=(a=i[s])!=null?a:i[r])!=null?l:null}function as(e,t=30){let n=parseFloat(e.value);if(isNaN(n)||n<=0)return[];if(e.bindings&&e.bindings.length>0){let r=[],i=wr(),s=i.currentNode;for(;(s=i.nextNode())&&r.length<t;){let a=s,l=a.getBoundingClientRect();if(l.bottom<-50||l.top>window.innerHeight+50||l.right<-50||l.left>window.innerWidth+50||l.width<1||l.height<1)continue;let d=a.className;if(typeof d=="string")for(let c of e.bindings){if(!lu(d,c))continue;let p=cu(c);if(p&&!(e.property&&!sl(p,e.property))){r.push({element:a,property:p});break}}}return r}let o=au(n,t*2);return e.property?o.filter(r=>sl(r.property,e.property)).slice(0,t):o.slice(0,t)}function ls(e,t=30){let n=as(e,t),o=[];for(let r of n){let i=r.element,s=i.getBoundingClientRect(),a=getComputedStyle(i),l=parseFloat(a.borderTopWidth)||0,d=parseFloat(a.borderRightWidth)||0,c=parseFloat(a.borderLeftWidth)||0,p=i.clientWidth,u=i.clientHeight;switch(r.property){case"padding-top":{let g=parseFloat(a.paddingTop)||0;o.push({x:s.left+c,y:s.top+l,width:p,height:g,direction:"vertical",property:r.property});break}case"padding-bottom":{let g=parseFloat(a.paddingBottom)||0;o.push({x:s.left+c,y:s.top+l+u-g,width:p,height:g,direction:"vertical",property:r.property});break}case"padding-left":{let g=parseFloat(a.paddingLeft)||0;o.push({x:s.left+c,y:s.top+l,width:g,height:u,direction:"horizontal",property:r.property});break}case"padding-right":{let g=parseFloat(a.paddingRight)||0;o.push({x:s.left+c+p-g,y:s.top+l,width:g,height:u,direction:"horizontal",property:r.property});break}case"margin-top":{let g=parseFloat(a.marginTop)||0;o.push({x:s.left,y:s.top-g,width:s.width,height:g,direction:"vertical",property:r.property});break}case"margin-bottom":{let g=parseFloat(a.marginBottom)||0;o.push({x:s.left,y:s.bottom,width:s.width,height:g,direction:"vertical",property:r.property});break}case"margin-left":{let g=parseFloat(a.marginLeft)||0;o.push({x:s.left-g,y:s.top,width:g,height:s.height,direction:"horizontal",property:r.property});break}case"margin-right":{let g=parseFloat(a.marginRight)||0;o.push({x:s.right,y:s.top,width:g,height:s.height,direction:"horizontal",property:r.property});break}case"gap":case"row-gap":case"column-gap":{let g=Array.from(i.children).filter(b=>{let v=getComputedStyle(b);return v.display!=="none"&&v.position!=="absolute"&&v.position!=="fixed"});for(let b=0;b<g.length-1&&o.length<t;b++){let v=g[b].getBoundingClientRect(),A=g[b+1].getBoundingClientRect(),T=A.top-v.bottom;T>.5&&o.push({x:Math.min(v.left,A.left),y:v.bottom,width:Math.max(v.right,A.right)-Math.min(v.left,A.left),height:T,direction:"vertical",property:"gap"});let $=A.left-v.right;$>.5&&o.push({x:v.right,y:Math.min(v.top,A.top),width:$,height:Math.max(v.bottom,A.bottom)-Math.min(v.top,A.top),direction:"horizontal",property:"gap"})}break}}}return o}function ll(e,t){let n=new Set,o=Wr(t);for(let r of e){let i=dl[r.property];if(!i)continue;let s=r.element.className;if(typeof s=="string")for(let a of i){let l=`${a}-${o}`;for(let d of s.split(/\s+/)){let c=d.lastIndexOf(":"),p=c>=0?d.slice(c+1):d;if(p===l){n.add(p);break}}}}return[...n]}function cl(e){let t=new Set;for(let n of e)for(let[o,r]of Object.entries(al))if(r.includes(n.property)){t.add(o);break}if(t.size===1)return[...t][0]}function cs(e,t,n){if(t===n)return e;let o=Wr(t),r=Wr(n);return e.map(i=>{let s=i.lastIndexOf("-");if(s<0)return i;let a=i.slice(0,s),l=i.slice(s+1);return l===o||l===`[${t}px]`?`${a}-${r}`:i})}var du={0:"0",1:"px",2:"0.5",4:"1",6:"1.5",8:"2",12:"3",16:"4",20:"5",24:"6",28:"7",32:"8",40:"10",48:"12",64:"16",80:"20",96:"24"};function Wr(e){var t;return(t=du[e])!=null?t:`[${e}px]`}var dl={"padding-top":["pt","py","p"],"padding-bottom":["pb","py","p"],"padding-left":["pl","px","p"],"padding-right":["pr","px","p"],"margin-top":["mt","my","m"],"margin-bottom":["mb","my","m"],"margin-left":["ml","mx","m"],"margin-right":["mr","mx","m"],gap:["gap"],"row-gap":["gap-y","gap"],"column-gap":["gap-x","gap"]};function uu(e,t,n,o){let r=dl[t];if(!r)return null;let i=Wr(n);for(let s of r){let a=new RegExp("(?:^|\\s)((?:[\\w-]+:)*"+s+"-(?:"+pu(i)+"|\\["+n+"px\\]))(?:\\s|$)"),l=e.match(a);if(l!=null&&l[1]){let d=Wr(o),c=l[1].lastIndexOf(":"),p=c>=0?l[1].slice(0,c+1):"";return{matched:l[1],suggested:`${p}${s}-${d}`}}}return null}function pu(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ul(e,t,n){let o=new Set,r=[];for(let i of e){let s=jn(i.element),a=`${s}::${i.property}`;if(o.has(a))continue;o.add(a);let l=li(i.element),d=i.element.className||"",c=uu(d,i.property,t,n);r.push({selector:s,reactComponent:l==null?void 0:l.name,className:d,property:i.property,matchedClass:c==null?void 0:c.matched,suggestedClass:c==null?void 0:c.suggested})}return r}function pi(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function fi(e,t){if(e instanceof HTMLElement){let o=e.style.getPropertyValue(t);if(o)return o}let n=t.replace(/-([a-z])/g,(o,r)=>r.toUpperCase());try{for(let o of document.styleSheets)try{let r=o.cssRules||o.rules;for(let i of r)if(i instanceof CSSStyleRule&&e.matches(i.selectorText)){let s=i.style.getPropertyValue(t);if(s)return s;let a=i.style[n];if(a)return a}}catch(r){}}catch(o){}return null}function gi(e){let t=window.getComputedStyle(e).display;return t==="flex"||t==="inline-flex"||t==="grid"||t==="inline-grid"}function Qo(e){let t=window.getComputedStyle(e);return{row:parseFloat(t.rowGap)||0,column:parseFloat(t.columnGap)||0}}function fu(e){let t=[];for(let n of e){let o=t.find(r=>r.axis!==n.axis?!1:n.axis==="row"?Math.abs(r.y-n.y)<2&&Math.abs(r.h-n.h)<2:Math.abs(r.x-n.x)<2&&Math.abs(r.w-n.w)<2);if(o)if(n.axis==="row"){let r=Math.min(o.x,n.x),i=Math.max(o.x+o.w,n.x+n.w);o.x=r,o.w=i-r}else{let r=Math.min(o.y,n.y),i=Math.max(o.y+o.h,n.y+n.h);o.y=r,o.h=i-r}else t.push(f({},n))}return t}function To(e){let t=Array.from(e.children).filter(l=>{if(!(l instanceof HTMLElement))return!1;let d=window.getComputedStyle(l);return d.display!=="none"&&d.position!=="absolute"&&d.position!=="fixed"});if(t.length<2)return[];let n=[],o=e.getBoundingClientRect(),i=window.getComputedStyle(e).flexDirection,s=i==="column"||i==="column-reverse",a=6;for(let l=0;l<t.length-1;l++){let d=t[l].getBoundingClientRect(),c=t[l+1].getBoundingClientRect();if(c.left>d.right+.5&&n.push({axis:"column",x:d.right,y:o.top,w:c.left-d.right,h:o.height}),c.top>d.bottom+.5&&n.push({axis:"row",x:o.left,y:d.bottom,w:o.width,h:c.top-d.bottom}),!(c.left>d.right+.5)&&!(c.top>d.bottom+.5))if(s){let p=(d.bottom+c.top)/2;n.push({axis:"row",x:o.left,y:p-a/2,w:o.width,h:a})}else{let p=(d.right+c.left)/2;n.push({axis:"column",x:p-a/2,y:o.top,w:a,h:o.height})}}return fu(n)}function ds(e,t){let n=window.getComputedStyle(e),o=n.display;if(o!=="flex"&&o!=="inline-flex")return!1;let r=n.justifyContent;if(r!=="space-between"&&r!=="space-around"&&r!=="space-evenly"&&r!=="stretch")return!1;let i=n.flexDirection;return!(t!==(i==="column"||i==="column-reverse"?"row":"column")||parseFloat(t==="row"?n.rowGap:n.columnGap)>0)}function Cr(e){let t=window.getComputedStyle(e);return{top:parseFloat(t.paddingTop)||0,right:parseFloat(t.paddingRight)||0,bottom:parseFloat(t.paddingBottom)||0,left:parseFloat(t.paddingLeft)||0}}function er(e){let t=window.getComputedStyle(e);return{"top-left":parseFloat(t.borderTopLeftRadius)||0,"top-right":parseFloat(t.borderTopRightRadius)||0,"bottom-right":parseFloat(t.borderBottomRightRadius)||0,"bottom-left":parseFloat(t.borderBottomLeftRadius)||0}}function us(e){for(let t of e.childNodes)if(t.nodeType===Node.TEXT_NODE&&(t.textContent||"").trim().length>0)return!0;return!1}function Er(e){var c,p;let t=document.createRange(),n=!1;for(let u of e.childNodes)u.nodeType===Node.TEXT_NODE&&(u.textContent||"").trim().length>0&&(n||(t.setStart(u,0),n=!0),t.setEnd(u,(p=(c=u.textContent)==null?void 0:c.length)!=null?p:0));if(!n)return null;let o=t.getBoundingClientRect(),r=window.getComputedStyle(e),i=parseFloat(r.fontSize)||16,s=parseFloat(r.lineHeight);isNaN(s)&&(s=i*1.2);let a=Math.max(1,t.getClientRects().length),l=Math.max(o.height,a*s),d=(l-o.height)/2;return new DOMRect(o.x,o.y-d,o.width,l)}function Gr(e){let t=window.getComputedStyle(e),n=parseFloat(t.fontSize)||16,o=parseFloat(t.lineHeight);return isNaN(o)&&(o=n*1.2),{fontSize:n,lineHeight:o}}function Ke(e,t,n){e instanceof HTMLElement&&e.style.setProperty(t,n,"important")}function pl(e,t,n){e instanceof HTMLElement&&e.style.removeProperty(t)}function mi(e){var t;for(let n of e){let o=On(n.selector);if(!o&&n.durableSelector&&(o=On(n.durableSelector),o)){let r=(t=n.selector.match(/\[data-pm="([^"]+)"\]/))==null?void 0:t[1];r&&o.setAttribute("data-pm",r)}if(o)for(let r of n.changes)Ke(o,r.property,r.modified)}}function hi(e){for(let t of e){let n=On(t.selector);if(n)for(let o of t.changes)pl(n,o.property,o.original)}}function gl(e,t,n,o){if(e)for(let r of e){if(r instanceof CSSGroupingRule){gl(r.cssRules,t,n,o);continue}if(r instanceof CSSStyleRule){let i=r.selectorText.toLowerCase();(i===":root"||i==="html"||i==="*"||i.includes(":root"))&&gu(r.style,t,n,o)}}}function gu(e,t,n,o){for(let r=0;r<e.length;r++){let i=e[r];if(i!=null&&i.startsWith("--")){if(n.has(i))continue;n.add(i);let s=t.getPropertyValue(i).trim();ml(s)&&o.push({name:i,value:s,usage:`var(${i})`})}}}var yi=null,mu=5e3;function ps(){if(yi&&Date.now()-yi.timestamp<mu)return yi.variables;let e=[],t=new Set,n=getComputedStyle(document.documentElement);try{for(let i of document.styleSheets)try{gl(i.cssRules||i.rules,n,t,e)}catch(s){}}catch(i){}let o=document.documentElement.style;for(let i=0;i<o.length;i++){let s=o[i];if(s!=null&&s.startsWith("--")&&!t.has(s)){t.add(s);let a=n.getPropertyValue(s).trim();ml(a)&&e.push({name:s,value:a,usage:`var(${s})`})}}let r=e.sort((i,s)=>i.name.localeCompare(s.name));return yi={variables:r,timestamp:Date.now()},r}function ml(e){if(!e)return!1;let t=e.toLowerCase().trim();return!!(/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t)||t.startsWith("rgb")||t.startsWith("hsl")||t.startsWith("oklch")||t.startsWith("oklab")||t.startsWith("lch")||t.startsWith("lab")||["transparent","currentcolor","inherit","white","black","red","green","blue","yellow","orange","purple","pink","gray","grey"].includes(t))}function kr(e,t){let n=t.match(/var\((--[^,)]+)(?:,\s*([^)]+))?\)/);if(n){let o=n[1],r=n[2];return getComputedStyle(document.documentElement).getPropertyValue(o).trim()||r||t}return t}function jr(e,t){if(!e)return null;let n=fl(e);if(!n)return null;for(let o of t){let r=fl(o.value);if(r&&n===r)return o}return null}function fl(e){if(!e)return null;let t=e.trim().toLowerCase();if(t.startsWith("oklch(")){let n=t.match(/oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)/);if(n){let o=n[1].endsWith("%")?parseFloat(n[1])/100:parseFloat(n[1]),r=n[2].endsWith("%")?parseFloat(n[2])/100:parseFloat(n[2]),i=parseFloat(n[3]);o=Math.round(o*100)/100,r=Math.round(r*1e3)/1e3;let s=Math.round(i);return`oklch(${o} ${r} ${s})`}}if(t.startsWith("rgb")){let n=t.match(/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);if(n)return`rgb(${n[1]},${n[2]},${n[3]})`}return t.startsWith("#")?t.length===4?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:t.slice(0,7):t}import{Fragment as tr,jsx as bt,jsxs as lo}from"react/jsx-runtime";var eo=22,Bo=12,hu=3,yu=250,bi=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],bu=3e3;function xu(s){var a=s,{left:e,top:t,avoidBottom:n,style:o,children:r}=a,i=Zn(a,["left","top","avoidBottom","style","children"]);let l=e+Bo,d=t+Bo,c=n!==void 0?`${n}px`:"100vh";return bt("div",h(f({"data-devtools":"badge-hit-area"},i),{style:f({position:"fixed",left:e,top:t,padding:Bo},o),children:bt("div",{style:{transform:`translate(min(0px, calc(100vw - ${l}px - 100%)), min(0px, calc(${c} - ${d}px - 100%)))`},children:r})}))}function bl({annotations:e,supersededAnnotations:t,inFlightIds:n,activeIds:o,queuePositions:r,scrollX:i,scrollY:s,annotationGroupMap:a,onViewThread:l,onSelectAnnotation:d,onHoverAnnotation:c,canvasRef:p}){var ee,G,oe,W,Z,k,Ce;let[u,g]=Yr(0),[b,v]=Yr(()=>Math.floor(Math.random()*bi.length)),A=!!(n&&n.size>0);xi(()=>{if(!A)return;let Q=setInterval(()=>{g(_=>(_+1)%hu)},yu),fe=setInterval(()=>{v(_=>(_+1)%bi.length)},bu);return()=>{clearInterval(Q),clearInterval(fe)}},[A]);let T=[];for(let Q of e){if(Q.type!=="text"||!Q.text||!Q.points[0]||t.has(Q))continue;let fe=Q.groupId?e.filter(ae=>ae.groupId===Q.groupId):[Q],_=(ee=Q.status)!=null?ee:"pending",le=fe.reduce((ae,X)=>{var ie;return ae+((ie=X.replyCount)!=null?ie:0)},0),M=ae=>ae==="resolved"&&le===0,ue=!!(n&&(n.has(Q.id)||fe.some(ae=>n.has(ae.id))))||Q.status==="in_flight"||fe.some(ae=>ae.status==="in_flight")||M(Q.status)||fe.some(ae=>M(ae.status)),Me=fe.some(ae=>{var X;return ae.status==="resolved"&&((X=ae.replyCount)!=null?X:0)>0||ae.status==="needs_review"}),Ne=fe.some(ae=>ae.threadId);if(!ue&&_!=="resolved"&&_!=="needs_review"&&!Me&&!Ne)continue;let ve=Q.threadId||((G=fe.find(ae=>ae.threadId))==null?void 0:G.threadId),We=_==="needs_review"||fe.some(ae=>ae.status==="needs_review"),Re=Q.points[0],ge=Q.fontSize||12,qe=ge*1.4,ft=a.get(Q.id),gt=Q.text.replace(/\n/g," "),ln=ft!==void 0?ft+". "+gt:gt,K=(W=(oe=p==null?void 0:p.current)==null?void 0:oe.getContext("2d"))!=null?W:document.createElement("canvas").getContext("2d");if(!K)continue;K.font=`${ge}px ${Zt}`;let ce=Re.x-i,Ae=br(ce),$e=xr(K,ln,Ae),rt=K.measureText($e).width,Je=ue&&!!o&&!o.has(Q.id)&&!fe.some(ae=>o.has(ae.id));T.push({id:Q.id,threadId:ve,linkedSelector:Q.linkedSelector||((Z=fe.find(ae=>ae.linkedSelector))==null?void 0:Z.linkedSelector),x:Re.x+rt+4,y:Re.y-4,size:qe+8,color:Q.color,isInFlight:ue,isQueued:Je,queuePosition:void 0,isNeedsReview:We,replyCount:le})}let $=T.filter(Q=>Q.isQueued);if($.length>0&&$.forEach((Q,fe)=>{var _;Q.queuePosition=(_=r==null?void 0:r.get(Q.id))!=null?_:`(${fe+1}/${$.length})`}),T.length===0)return null;let P=2,O=(Ce=(k=p==null?void 0:p.current)==null?void 0:k.getContext("2d"))!=null?Ce:document.createElement("canvas").getContext("2d"),w=T.map(Q=>{var Me;let fe;Q.isQueued?fe=Q.queuePosition?`queued ${Q.queuePosition}`:"queued":Q.isInFlight?fe=(Me=bi[b])!=null?Me:"thinking":Q.replyCount>0?fe=`${Q.replyCount} ${Q.replyCount===1?"reply":"replies"}`:fe="Cancelled";let _=!Q.isQueued,le=_?11:0,M=_?4:0,ue=fe.length*7.2;return O&&(O.font=`12px ${Zt}`,ue=O.measureText(fe).width),4+le+M+ue+4}),N=typeof window!="undefined"?window.innerHeight:9999,se=[];for(let Q=0;Q<T.length;Q++){let fe=T[Q].y-s,_=Math.min(fe,N-eo),le=_+eo,ue=T[Q].x-i;for(let Me=0;Me<Q;Me++){let Ne=T[Me].y-s,ve=Math.min(Ne,N-eo),We=ve+eo;if(!(_<We&&le>ve))continue;let ge=se[Me]+w[Me];ue<ge+P&&(ue=ge+P)}se.push(ue)}return bt(tr,{children:T.map((Q,fe)=>{let _=!!Q.threadId;return bt(xu,{left:se[fe]-Bo,top:Q.y-s-Bo,onMouseDown:_?le=>le.stopPropagation():void 0,onClick:_?le=>{if(le.stopPropagation(),d==null||d(Q.id),l==null||l(Q.threadId),Q.linkedSelector)try{let M=document.querySelector(Q.linkedSelector);if(M){let ue=M.getBoundingClientRect();(ue.bottom<0||ue.top>window.innerHeight)&&M.scrollIntoView({behavior:"smooth",block:"center"})}}catch(M){}}:void 0,onMouseEnter:c?()=>c(Q.id):void 0,onMouseLeave:c?()=>c(null):void 0,style:{pointerEvents:_?"auto":"none",cursor:_?"pointer":void 0,zIndex:9999},children:bt("div",{"data-devtools":"annotation-badge",style:{height:Q.size,display:"flex",alignItems:"center",backgroundColor:Q.color,fontFamily:Zt,fontSize:12,color:"#ffffff",userSelect:"none",padding:`0 ${4}px`,gap:4,whiteSpace:"nowrap"},children:Q.isQueued?lo("span",{style:{opacity:.5,color:"inherit"},children:["queued",Q.queuePosition?` ${Q.queuePosition}`:""]}):Q.isInFlight?lo(tr,{children:[bt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:u===1?lo(tr,{children:[bt("circle",{cx:"7",cy:"7",r:"2"}),bt("circle",{cx:"17",cy:"7",r:"2"}),bt("circle",{cx:"7",cy:"17",r:"2"}),bt("circle",{cx:"17",cy:"17",r:"2"})]}):lo(tr,{children:[bt("circle",{cx:"12",cy:"6",r:"2"}),bt("circle",{cx:"6",cy:"12",r:"2"}),bt("circle",{cx:"18",cy:"12",r:"2"}),bt("circle",{cx:"12",cy:"18",r:"2"})]})}),bt("span",{style:{opacity:.7,color:"inherit"},children:bi[b]})]}):lo(tr,{children:[Q.isNeedsReview?bt("span",{style:{fontWeight:700,color:"inherit"},children:"?"}):bt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:bt("polyline",{points:"4 12 10 18 20 6"})}),bt("span",{style:{opacity:.7,color:"inherit"},children:Q.replyCount>0?`${Q.replyCount} ${Q.replyCount===1?"reply":"replies"}`:"Cancelled"})]})})},Q.id)})})}function fs({inFlightSelectorColors:e,animated:t=!0}){let[n,o]=Yr([]);return xi(()=>{if(e.size===0){o([]);return}let r=null,i=()=>{let l=[];for(let[d,c]of e){let p=On(d);if(!p)continue;let u=p.getBoundingClientRect();l.push({selector:d,top:u.top,left:u.left,width:u.width,height:u.height,color:c})}o(l)},s=()=>{r&&cancelAnimationFrame(r),r=requestAnimationFrame(i)};i(),window.addEventListener("scroll",s,!0),window.addEventListener("resize",s,!0);let a=new MutationObserver(s);return a.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",s,!0),window.removeEventListener("resize",s,!0),a.disconnect(),r&&cancelAnimationFrame(r)}},[e]),n.length===0?null:lo(tr,{children:[t&&bt("style",{children:"@keyframes popmelt-march { to { stroke-dashoffset: -6; } }"}),n.map(r=>bt("div",{"data-devtools":"marching-ants",style:{position:"fixed",top:r.top,left:r.left,width:r.width,height:r.height,pointerEvents:"none",zIndex:9995,overflow:"visible"},children:bt("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible"},children:bt("rect",{x:"0.5",y:"0.5",width:Math.max(0,r.width-1),height:Math.max(0,r.height-1),fill:"none",stroke:r.color,strokeWidth:"1",strokeDasharray:"2 4",style:t?{animation:"popmelt-march 0.5s steps(2) infinite"}:void 0})})},r.selector))]})}function xl({annotations:e,supersededAnnotations:t,scrollX:n,scrollY:o,onReply:r,annotationGroupMap:i,canvasRef:s,onHoverAnnotation:a}){let l=e.filter(p=>t.has(p)?!1:p.status==="waiting_input"&&p.question&&p.threadId);if(l.length===0)return null;let d=new Set,c=[];for(let p of l){if(!p.threadId||d.has(p.threadId))continue;d.add(p.threadId);let u=p.type==="text"?p:e.find(g=>g.groupId&&g.groupId===p.groupId&&g.type==="text")||p;if(u.type==="text"&&u.text&&u.points[0]){let g=u.points[0],b=u.fontSize||12,v=b*1.4,A=i.get(u.id),T=u.text.replace(/\n/g," "),$=A!==void 0?A+". "+T:T,O=document.createElement("canvas").getContext("2d");if(!O)continue;O.font=`${b}px ${Zt}`;let w=g.x-n,N=br(w),se=xr(O,$,N),ee=O.measureText(se).width;c.push({annotation:p,x:g.x+ee+4,y:g.y-4,size:v+8})}}return c.length===0?null:bt(tr,{children:c.map(({annotation:p,x:u,y:g,size:b})=>bt(vu,{annotation:p,x:u-n,y:g-o,size:b,onReply:r,onHoverAnnotation:a},`question-${p.threadId}`))})}function vu({annotation:e,x:t,y:n,size:o,onReply:r,onHoverAnnotation:i}){let[s,a]=Yr(!1),[l,d]=Yr(""),c=yl(null),p=yl(null);xi(()=>{s&&c.current&&c.current.focus()},[s]),xi(()=>{if(!s)return;let A=$=>{p.current&&!$.composedPath().includes(p.current)&&a(!1)},T=$=>{$.key==="Escape"&&a(!1)};return document.addEventListener("mousedown",A),document.addEventListener("keydown",T),()=>{document.removeEventListener("mousedown",A),document.removeEventListener("keydown",T)}},[s]);let u=hl(()=>{!l.trim()||!e.threadId||(r(e.threadId,l.trim()),d(""),a(!1))},[l,e.threadId,r]),g=hl(A=>{A.key==="Enter"&&(A.metaKey||A.ctrlKey)&&(A.preventDefault(),u())},[u]),b=s?t:t-Bo,v=s?n:n-Bo;return lo("div",{ref:p,"data-devtools":"question-badge",onMouseEnter:i?()=>i(e.id):void 0,onMouseLeave:i?()=>i(null):void 0,style:{position:"fixed",left:`max(0px, ${b}px)`,top:`max(0px, ${v}px)`,padding:s?0:Bo,transform:`translate(min(0px, calc(100vw - max(0px, ${b}px) - 100%)), min(0px, calc(100vh - max(0px, ${v}px) - 100%)))`,zIndex:s?10002:9999,pointerEvents:"auto",cursor:s?void 0:"pointer"},children:[!s&&lo("div",{onClick:()=>a(!0),style:{height:o,display:"flex",alignItems:"center",backgroundColor:e.color,padding:`0 ${4}px`,gap:4,fontFamily:Zt,fontSize:12,color:"#ffffff",whiteSpace:"nowrap"},children:[lo("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[bt("line",{x1:"12",y1:"3",x2:"12",y2:"9"}),bt("line",{x1:"12",y1:"15",x2:"12",y2:"21"}),bt("line",{x1:"3",y1:"12",x2:"9",y2:"12"}),bt("line",{x1:"15",y1:"12",x2:"21",y2:"12"})]}),bt("span",{style:{opacity:.7},children:"reply?"})]}),s&&lo("div",{style:{minWidth:260,maxWidth:360,backgroundColor:"#eaeaea",fontFamily:Zt,fontSize:12,color:"#1f2937",border:"1px solid rgba(0, 0, 0, 0.1)"},children:[bt("div",{style:{padding:`${6}px ${8}px`,lineHeight:1.4},children:e.question}),lo("div",{style:{padding:`0 ${4}px ${4}px`},children:[bt("textarea",{ref:c,value:l,onChange:A=>d(A.target.value),onKeyDown:g,placeholder:"Type your reply...",style:{width:"100%",minHeight:40,padding:4,fontSize:12,fontFamily:Zt,backgroundColor:"rgba(0, 0, 0, 0.04)",color:"#1f2937",border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:0,outline:"none",resize:"vertical",lineHeight:1.4,boxSizing:"border-box"}}),bt("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:4},children:bt("button",{onClick:u,disabled:!l.trim(),style:{padding:"4px 12px",fontSize:11,fontFamily:Zt,fontWeight:600,backgroundColor:l.trim()?e.color:"rgba(0,0,0,0.1)",color:l.trim()?"#ffffff":"rgba(0,0,0,0.3)",border:"none",cursor:l.trim()?"pointer":"default"},children:"Send \u2318\u23CE"})})]})]})]})}function vi(e){var i;let t=new Set,n=new Map;for(let s of e){if(!s.linkedSelector)continue;let a=n.get(s.linkedSelector)||[];a.push(s),n.set(s.linkedSelector,a)}let o=new Set,r=new Set;for(let s of n.values()){if(s.length<=1){(i=s[0])!=null&&i.groupId&&r.add(s[0].groupId);continue}s.sort((l,d)=>d.timestamp-l.timestamp);let a=s[0];a.groupId&&r.add(a.groupId);for(let l=1;l<s.length;l++){let d=s[l];t.add(d),d.groupId&&o.add(d.groupId)}}for(let s of e)s.groupId&&o.has(s.groupId)&&!r.has(s.groupId)&&t.add(s);return t}import{useEffect as vl,useLayoutEffect as Su,useState as Sl}from"react";import{jsx as gs,jsxs as Cl}from"react/jsx-runtime";function wu(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 wl=["top-left","top-right","bottom-right","bottom-left"];function El({element:e,radius:t,accentColor:n,hoveredCorner:o,draggingCorner:r,cursorViewport:i}){let[s,a]=Sl(null),[l,d]=Sl(!1);if(vl(()=>{let T=O=>{(O.key==="Meta"||O.key==="Control")&&d(!0)},$=O=>{(O.key==="Meta"||O.key==="Control")&&d(!1)},P=()=>d(!1);return window.addEventListener("keydown",T,!0),window.addEventListener("keyup",$,!0),window.addEventListener("blur",P),()=>{window.removeEventListener("keydown",T,!0),window.removeEventListener("keyup",$,!0),window.removeEventListener("blur",P)}},[]),vl(()=>{if(!e){a(null);return}let T=()=>{a(e.getBoundingClientRect())};return T(),window.addEventListener("scroll",T,{passive:!0}),window.addEventListener("resize",T,{passive:!0}),()=>{window.removeEventListener("scroll",T),window.removeEventListener("resize",T)}},[e]),Su(()=>{e&&a(e.getBoundingClientRect())},[e,t["top-left"],t["top-right"],t["bottom-right"],t["bottom-left"]]),!s)return null;let c=s.width,p=s.height,u=wu(n,.2),g={"top-left":{x:0,y:t["top-left"]},"top-right":{x:c,y:t["top-right"]},"bottom-right":{x:c,y:p-t["bottom-right"]},"bottom-left":{x:0,y:p-t["bottom-left"]}},b=new Set,v=r!=null?r:o;if(v)if(l)b.add(v);else for(let T of wl)b.add(T);let A={position:"fixed",top:s.top,left:s.left,width:c,height:p,pointerEvents:"none",zIndex:9996,overflow:"visible"};return Cl("div",{"data-devtools":"border-radius-handles",style:A,children:[Cl("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${c} ${p}`,children:[gs("rect",{x:"0.5",y:"0.5",width:Math.max(0,c-1),height:Math.max(0,p-1),fill:"none",stroke:u,strokeWidth:"1"}),wl.map(T=>{let $=g[T],P=b.has(T);return gs("circle",{cx:$.x,cy:$.y,r:T===(r!=null?r:o)?3:2.5,fill:n,stroke:"#ffffff",strokeWidth:T===(r!=null?r:o)?4:2,paintOrder:"stroke"},T)})]}),i&&v&&(()=>{let T=Math.round(t[v]);return gs("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:T})})()]})}import{useEffect as Cu,useState as Eu}from"react";function nr(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);if(n)return`oklch(${n[1]} / ${t})`;let o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(o){let r=parseInt(o[1],16),i=parseInt(o[2],16),s=parseInt(o[3],16);return`rgba(${r}, ${i}, ${s}, ${t})`}return`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}import{Fragment as ku,jsx as ms,jsxs as Jr}from"react/jsx-runtime";function bo({element:e,isSelected:t=!1,elementInfo:n,color:o="#3b82f6",annotationNumber:r,changeCount:i,hideTooltip:s=!1}){let[a,l]=Eu(null);if(Cu(()=>{if(!e){l(null);return}let w=()=>{let N=e.getBoundingClientRect();l(N)};return w(),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",w,{passive:!0}),()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}},[e]),!a||!e)return null;let d={position:"fixed",top:a.top,left:a.left,width:a.width,height:a.height,pointerEvents:"none",zIndex:9996,backgroundColor:nr(o,.05),overflow:"visible"},c=e.tagName.toLowerCase(),p=e.id?`#${e.id}`:"",u=e.classList.length>0?"."+Array.from(e.classList).slice(0,2).join("."):"",g=n==null?void 0:n.reactComponent,b=g?`<${g}> ${c}${p}${u}`:`${c}${p}${u}`,v=22,A=a.height>=window.innerHeight,T=A?0:a.top>=v?a.top-v:a.bottom,$=A?{position:"absolute",top:8,left:8,zIndex:9997,display:"flex",alignItems:"center",gap:6,backgroundColor:o,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,pointerEvents:"none",whiteSpace:"nowrap",maxWidth:400}:{position:"fixed",top:T,left:a.left,zIndex:9997,display:"flex",alignItems:"center",gap:6,backgroundColor:o,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,pointerEvents:"none",whiteSpace:"nowrap",maxWidth:400},O=!s&&Jr("div",{"data-devtools":"tooltip",style:$,children:[r!==void 0&&Jr("span",{children:[r,"."]}),ms("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0},children:b}),i!==void 0&&i>0&&Jr("span",{style:{opacity:.8},children:["(",i," ",i===1?"change":"changes",")"]})]});return Jr(ku,{children:[Jr("div",{"data-devtools":"highlight",style:d,children:[ms("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},children:ms("rect",f({x:"0.5",y:"0.5",width:Math.max(0,a.width-1),height:Math.max(0,a.height-1),fill:"none",stroke:o,strokeWidth:"1"},!t&&{strokeDasharray:"2 4"}))}),A&&O]}),!A&&O]})}import{useEffect as kl,useLayoutEffect as Tu,useState as hs}from"react";import{jsx as Mo,jsxs as bs}from"react/jsx-runtime";function ys(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 xs({element:e,gap:t,accentColor:n,hoveredAxis:o,draggingAxis:r,cursorViewport:i,isAutoGap:s=!1,refreshKey:a=0}){let[l,d]=hs(null),[c,p]=hs([]),[u,g]=hs(!1);if(kl(()=>{let ee=W=>{(W.key==="Meta"||W.key==="Control")&&g(!0)},G=W=>{(W.key==="Meta"||W.key==="Control")&&g(!1)},oe=()=>g(!1);return window.addEventListener("keydown",ee,!0),window.addEventListener("keyup",G,!0),window.addEventListener("blur",oe),()=>{window.removeEventListener("keydown",ee,!0),window.removeEventListener("keyup",G,!0),window.removeEventListener("blur",oe)}},[]),kl(()=>{if(!e){d(null),p([]);return}let ee=()=>{d(e.getBoundingClientRect()),p(To(e))};return ee(),window.addEventListener("scroll",ee,{passive:!0}),window.addEventListener("resize",ee,{passive:!0}),()=>{window.removeEventListener("scroll",ee),window.removeEventListener("resize",ee)}},[e]),Tu(()=>{e&&(d(e.getBoundingClientRect()),p(To(e)))},[e,t.row,t.column,a]),!l||c.length===0)return null;let b=l.width,v=l.height,A="pm-gap-stripe-pattern",T=ys(n,.25),$=ys(n,.1),P=ys(n,.2),O=8,w=2,N={position:"fixed",top:l.top,left:l.left,width:b,height:v,pointerEvents:"none",zIndex:9996,overflow:"visible"},se=r!=null?r:o;return bs("div",{"data-devtools":"gap-handles",style:N,children:[bs("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${b} ${v}`,children:[Mo("defs",{children:Mo("pattern",{id:A,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:Mo("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:T,strokeWidth:"1.5"})})}),Mo("rect",{x:"0.5",y:"0.5",width:Math.max(0,b-1),height:Math.max(0,v-1),fill:"none",stroke:P,strokeWidth:"1"}),c.map((ee,G)=>{let oe=ee.x-l.left,W=ee.y-l.top,Z=ee.w,k=ee.h,Ce=u?ee.axis===se:!0;return(ee.axis==="row"?t.row:t.column)===0?null:bs("g",{opacity:Ce?1:.6,children:[Mo("rect",{x:oe,y:W,width:Z,height:k,fill:$}),Mo("rect",{x:oe,y:W,width:Z,height:k,fill:`url(#${A})`})]},G)}),se&&(()=>{let ee=c.filter(Me=>Me.axis===se);if(ee.length===0)return null;let G=ee[0];if(i&&ee.length>1){let Me=1/0;for(let Ne of ee){let ve=Ne.x+Ne.w/2,We=Ne.y+Ne.h/2,Re=Math.abs(i.x-ve)+Math.abs(i.y-We);Re<Me&&(Me=Re,G=Ne)}}let oe=G.x-l.left,W=G.y-l.top,Z=G.w,k=G.h,Ce=oe+Z/2,Q=W+k/2;if(s)return Mo("circle",{cx:Ce,cy:Q,r:1.5,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"});let fe=se==="column",_=fe?w:O,le=fe?O:w,M=Ce-_/2,ue=Q-le/2;return Mo("rect",{x:M,y:ue,width:_,height:le,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"})})()]}),i&&se&&(()=>{let ee=s?"auto":String(Math.round(se==="row"?t.row:t.column));return Mo("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:ee})})()]})}import{useCallback as Au,useEffect as Pu,useState as Ou}from"react";import{useEffect as Mu,useState as Tl}from"react";var Iu=3,Ru=250,vs=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Lu=3e3;function Ml(e){let[t,n]=Tl(0),[o,r]=Tl(()=>Math.floor(Math.random()*vs.length));return Mu(()=>{if(!e)return;let i=setInterval(()=>n(a=>(a+1)%Iu),Ru),s=setInterval(()=>r(a=>(a+1)%vs.length),Lu);return()=>{clearInterval(i),clearInterval(s)}},[e]),{charIndex:t,word:vs[o]}}import{Fragment as Ss,jsx as Yn,jsxs as Tr}from"react/jsx-runtime";function Bu(e){let{element:t}=e,n=t.tagName,o=t.id?`#${t.id}`:"",r=t.className?"."+t.className.split(" ").slice(0,2).join("."):"",i=t.reactComponent;return i?`<${i}> ${n}${o}${r}`:`${n}${o}${r}`}var Il=22,ws=12;function Du(s){var a=s,{left:e,top:t,avoidBottom:n,style:o,children:r}=a,i=Zn(a,["left","top","avoidBottom","style","children"]);let l=n!==void 0?`${n}px`:"100vh";return Yn("div",h(f({"data-devtools":"badge-hit-area"},i),{style:f({position:"fixed",left:`max(0px, ${e}px)`,top:`max(0px, ${t}px)`,padding:ws,transform:`translate(min(0px, calc(100vw - max(0px, ${e}px) - 100%)), min(0px, calc(${l} - max(0px, ${t}px) - 100%)))`},o),children:r}))}function Rl({styleModifications:e,isInspecting:t,accentColor:n,annotationGroupCount:o,dispatch:r,inFlightSelectors:i,toolbarRef:s,onHoverSelector:a}){var $;let[l,d]=Ou([]),c=i&&i.size>0,{charIndex:p,word:u}=Ml(!!c);Pu(()=>{if(t){d([]);return}let P=null,O=()=>{let se=[];e.forEach((ee,G)=>{let oe=On(ee.selector);if(!oe)return;let W=oe.getBoundingClientRect();se.push({selector:ee.selector,modIndex:G,top:W.top>=Il?W.top-Il:W.bottom,left:W.left,label:Bu(ee),changeCount:ee.changes.length,annotationNumber:o+G+1})}),d(se)},w=()=>{P&&cancelAnimationFrame(P),P=requestAnimationFrame(O)};O(),window.addEventListener("scroll",w,!0),window.addEventListener("resize",w,!0);let N=new MutationObserver(w);return N.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),window.addEventListener("load",w),document.fonts.ready.then(w),()=>{window.removeEventListener("scroll",w,!0),window.removeEventListener("resize",w,!0),window.removeEventListener("load",w),N.disconnect(),P&&cancelAnimationFrame(P)}},[e,t,o]);let g=Au(P=>{let O=e[P];if(!O)return;let w=On(O.selector);w&&(r({type:"SELECT_ANNOTATION",payload:{id:null}}),r({type:"SET_TOOL",payload:"inspector"}),r({type:"SELECT_ELEMENT",payload:{el:w,info:O.element}}))},[e,r]);if(l.length===0)return null;let b=($=s==null?void 0:s.current)==null?void 0:$.getBoundingClientRect(),v=b?b.top-8:void 0,A={display:"flex",alignItems:"center",gap:6,backgroundColor:n,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,whiteSpace:"nowrap",maxWidth:400},T={overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0};return Yn(Ss,{children:l.map(P=>{let O=i==null?void 0:i.has(P.selector);return Yn(Du,{left:P.left-ws,top:P.top-ws,avoidBottom:v,onClick:()=>g(P.modIndex),onMouseEnter:a?()=>a(P.selector):void 0,onMouseLeave:a?()=>a(null):void 0,style:{zIndex:1e4,cursor:"pointer",pointerEvents:"auto"},children:Tr("div",{"data-devtools":"badge",style:h(f({},A),{backgroundColor:O?"#999999":n}),children:[Tr("span",{children:[P.annotationNumber,"."]}),Yn("span",{style:T,children:P.label}),Tr("span",{style:{opacity:.8},children:["(",P.changeCount," ",P.changeCount===1?"change":"changes",")"]}),O&&Tr("span",{style:{opacity:.8,marginLeft:4,display:"inline-flex",alignItems:"center",gap:4},children:[Yn("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:p===1?Tr(Ss,{children:[Yn("circle",{cx:"7",cy:"7",r:"2"}),Yn("circle",{cx:"17",cy:"7",r:"2"}),Yn("circle",{cx:"7",cy:"17",r:"2"}),Yn("circle",{cx:"17",cy:"17",r:"2"})]}):Tr(Ss,{children:[Yn("circle",{cx:"12",cy:"6",r:"2"}),Yn("circle",{cx:"6",cy:"12",r:"2"}),Yn("circle",{cx:"18",cy:"12",r:"2"}),Yn("circle",{cx:"12",cy:"18",r:"2"})]})}),u]})]})},P.selector)})})}import{useEffect as _u,useState as Nu}from"react";import{Fragment as Fu,jsx as Ll}from"react/jsx-runtime";function Hu(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 Al({styleModifications:e,accentColor:t}){let[n,o]=Nu([]);if(_u(()=>{let i=null,s=()=>{let d=[];for(let c of e){let p=On(c.selector);if(!p)continue;let u=p.getBoundingClientRect();if(u.width===0&&u.height===0)continue;let g=er(p);d.push({selector:c.selector,top:u.top,left:u.left,width:u.width,height:u.height,borderRadius:`${g["top-left"]}px ${g["top-right"]}px ${g["bottom-right"]}px ${g["bottom-left"]}px`})}o(d)},a=()=>{i&&cancelAnimationFrame(i),i=requestAnimationFrame(s)};s(),window.addEventListener("scroll",a,{passive:!0}),window.addEventListener("resize",a,{passive:!0});let l=new MutationObserver(a);return l.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",a),window.removeEventListener("resize",a),l.disconnect(),i&&cancelAnimationFrame(i)}},[e]),n.length===0)return null;let r=Hu(t,.2);return Ll(Fu,{children:n.map(i=>{let s={position:"fixed",top:i.top,left:i.left,width:i.width,height:i.height,pointerEvents:"none",zIndex:9995,border:`1px solid ${r}`,borderRadius:i.borderRadius,boxSizing:"border-box"};return Ll("div",{"data-devtools":"mod-border",style:s},i.selector)})})}import{useEffect as Pl,useLayoutEffect as $u,useState as Ol}from"react";import{jsx as Do,jsxs as Es}from"react/jsx-runtime";function Cs(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 zu={top:"bottom",bottom:"top",left:"right",right:"left"};function ks({element:e,padding:t,accentColor:n,hoveredSide:o,draggingSide:r,cursorViewport:i,refreshKey:s}){let[a,l]=Ol(null),[d,c]=Ol(!1);if(Pl(()=>{let Z=Q=>{(Q.key==="Meta"||Q.key==="Control")&&c(!0)},k=Q=>{(Q.key==="Meta"||Q.key==="Control")&&c(!1)},Ce=()=>c(!1);return window.addEventListener("keydown",Z,!0),window.addEventListener("keyup",k,!0),window.addEventListener("blur",Ce),()=>{window.removeEventListener("keydown",Z,!0),window.removeEventListener("keyup",k,!0),window.removeEventListener("blur",Ce)}},[]),Pl(()=>{if(!e){l(null);return}let Z=()=>{l(e.getBoundingClientRect())};return Z(),window.addEventListener("scroll",Z,{passive:!0}),window.addEventListener("resize",Z,{passive:!0}),()=>{window.removeEventListener("scroll",Z),window.removeEventListener("resize",Z)}},[e]),$u(()=>{e&&l(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,s]),!a)return null;let p=a.width,u=a.height,{top:g,right:b,bottom:v,left:A}=t,T="pm-stripe-pattern",$=Cs(n,.25),P=Cs(n,.1),O=Cs(n,.2),w=8,N=2,se={position:"fixed",top:a.top,left:a.left,width:p,height:u,pointerEvents:"none",zIndex:9996,overflow:"visible"},ee=["top","right","bottom","left"],G={top:`0,0 ${p},0 ${p-b},${g} ${A},${g}`,right:`${p},0 ${p},${u} ${p-b},${u-v} ${p-b},${g}`,bottom:`0,${u} ${A},${u-v} ${p-b},${u-v} ${p},${u}`,left:`0,0 ${A},${g} ${A},${u-v} 0,${u}`},oe={top:{x:p/2-w/2,y:g/2-N/2,w,h:N},bottom:{x:p/2-w/2,y:u-v/2-N/2,w,h:N},left:{x:A/2-N/2,y:u/2-w/2,w:N,h:w},right:{x:p-b/2-N/2,y:u/2-w/2,w:N,h:w}},W=new Set;return r?W.add(r):o&&(W.add(o),d||W.add(zu[o])),Es("div",{"data-devtools":"padding-handles",style:se,children:[Es("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${p} ${u}`,children:[Do("defs",{children:Do("pattern",{id:T,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:Do("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:$,strokeWidth:"1.5"})})}),Do("rect",{x:"0.5",y:"0.5",width:Math.max(0,p-1),height:Math.max(0,u-1),fill:"none",stroke:O,strokeWidth:"1"}),ee.map(Z=>{if(t[Z]<=0)return null;let Ce=W.has(Z);return Es("g",{opacity:Ce?1:.6,children:[Do("polygon",{points:G[Z],fill:P}),Do("polygon",{points:G[Z],fill:`url(#${T})`})]},Z)}),ee.map(Z=>{let k=oe[Z],Ce=W.has(Z);return Do("rect",{x:k.x,y:k.y,width:k.w,height:k.h,fill:n,stroke:"#ffffff",strokeWidth:Ce?4:2,paintOrder:"stroke"},`handle-${Z}`)})]}),i&&(o||r)&&(()=>{let Z=r!=null?r:o,k=Math.round(t[Z]);return Do("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:k})})()]})}import{useCallback as xo,useEffect as no,useMemo as Ii,useRef as $n,useState as Sn}from"react";import{Check as Mi,ChevronDown as Os,MoveHorizontal as Yl,Shrink as pp}from"lucide-react";var Wu="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMic+PGRlZnM+PHBhdHRlcm4gaWQ9J2QnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHBhdHRlcm5Vbml0cz0ndXNlclNwYWNlT25Vc2UnPjxwYXRoIGQ9J00tMSwxIGwyLC0yIE0wLDQgbDQsLTQgTTMsNSBsMiwtMicgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScuNScvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSd1cmwoI2QpJy8+PC9zdmc+",Mr={borderWidth:3,borderStyle:"solid",borderImage:`url("${Wu}") 4 / 1.9 / 0 round`};function Si({color:e="rgb(0,0,0)",animated:t=!1}={}){let n=`<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='${e}' stroke-width='.75'/></svg>`;return f({position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(n)}")`,backgroundSize:"5px 5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",WebkitMaskComposite:"xor",mask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",maskComposite:"exclude",pointerEvents:"none"},t?{animation:"popmelt-border-march 0.8s linear infinite"}:{})}var wi={"font-size":["rem","px","em"],"line-height":["","rem","px","em"],"letter-spacing":["rem","px","em"],gap:["rem","px","em"],"column-gap":["rem","px","em"],"row-gap":["rem","px","em"],padding:["rem","px","em","%"],margin:["rem","px","em","%"],width:["rem","px","%","em"],height:["rem","px","%","em"],"min-width":["rem","px","%","em"],"max-width":["rem","px","%","em"],"min-height":["rem","px","%","em"],"max-height":["rem","px","%","em"],"border-width":["px","rem","em"],"border-radius":["rem","px","%","em"]};function Ir(e){var t,n;return(n=(t=wi[e])==null?void 0:t[0])!=null?n:"px"}function _o(e){let t=e.match(/^([\d.-]+)(.*)$/);return t?{num:parseFloat(t[1]),unit:t[2]||""}:{num:0,unit:""}}function Ci(e,t,n,o){let r=e.trim();if(!r)return"";let i=r.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i);if(i)return`${parseFloat(i[1])}${i[2].toLowerCase()}`;let s=parseFloat(r);if(!isNaN(s)){if(o){let{unit:a}=_o(n);return`${s}${a||Ir(t)}`}return`${s}${Ir(t)}`}return r}function Ts(e,t){if(!t||t==="px")return e;if(t==="rem"){let n=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;return Math.round(e/n*1e3)/1e3}return e}import{useCallback as Gu,useEffect as ju,useRef as Bl,useState as Yu}from"react";import{Plus as Dl,X as Ju}from"lucide-react";import{jsx as Fn,jsxs as or}from"react/jsx-runtime";var Ei=[{name:"blur",label:"Blur",unit:"px",defaultValue:10,min:0,max:100,step:1},{name:"brightness",label:"Brightness",unit:"",defaultValue:1,min:0,max:3,step:.05},{name:"contrast",label:"Contrast",unit:"",defaultValue:1,min:0,max:3,step:.05},{name:"saturate",label:"Saturate",unit:"",defaultValue:1,min:0,max:3,step:.05},{name:"grayscale",label:"Grayscale",unit:"",defaultValue:0,min:0,max:1,step:.05},{name:"sepia",label:"Sepia",unit:"",defaultValue:0,min:0,max:1,step:.05},{name:"invert",label:"Invert",unit:"",defaultValue:0,min:0,max:1,step:.05},{name:"hue-rotate",label:"Hue Rotate",unit:"deg",defaultValue:0,min:0,max:360,step:1},{name:"opacity",label:"Opacity",unit:"",defaultValue:1,min:0,max:1,step:.05}];function Uu(e){if(!e||e==="none")return[];let t=[],n=/([\w-]+)\(([^)]+)\)/g,o;for(;(o=n.exec(e))!==null;){let r=o[1],i=o[2],s=parseFloat(i);isNaN(s)||t.push({name:r,value:s})}return t}function Ms(e){return e.length===0?"none":e.map(t=>{var r;let n=Ei.find(i=>i.name===t.name),o=(r=n==null?void 0:n.unit)!=null?r:"";return`${t.name}(${t.value}${o})`}).join(" ")}function _l({value:e,onChange:t,accentColor:n,modified:o,panelContentRef:r}){let i=Uu(e),[s,a]=Yu(!1),l=Bl(null),d=Bl(null);ju(()=>{if(!s)return;let P=O=>{l.current&&!O.composedPath().includes(l.current)&&a(!1)};return document.addEventListener("mousedown",P,!0),()=>document.removeEventListener("mousedown",P,!0)},[s]);let c=Ei.filter(P=>!i.some(O=>O.name===P.name)),p=P=>{let O=[...i,{name:P.name,value:P.defaultValue}];t(Ms(O)),a(!1)},u=P=>{let O=i.filter((w,N)=>N!==P);t(Ms(O))},g=(P,O)=>{let w=i.map((N,se)=>se===P?h(f({},N),{value:O}):N);t(Ms(w))},b={width:"100%",padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"none",borderRadius:2,outline:"none",backgroundColor:"transparent"},v=Gu(P=>{var G;if(!d.current)return{position:"fixed",top:0,left:0};let O=d.current.getBoundingClientRect(),w=(G=r==null?void 0:r.current)==null?void 0:G.getBoundingClientRect(),N=P*24+8,ee=window.innerHeight-O.bottom<N;return h(f({position:"fixed"},ee?{bottom:window.innerHeight-O.top+2}:{top:O.bottom+2}),{left:w?w.left+4:O.left,width:w?w.width-8:140,zIndex:10001})},[r]),A={backgroundColor:"rgba(255, 255, 255, 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(0,0,0,0.1)",borderRadius:4,padding:"4px 0",boxShadow:"0 4px 12px rgba(0,0,0,0.1)"},T={display:"block",width:"100%",padding:"4px 10px",border:"none",backgroundColor:"transparent",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#334155",cursor:"pointer",textAlign:"left"},$=P=>Fn("div",{ref:l,style:f(f({},v(P.length)),A),children:P.map(O=>Fn("button",{type:"button",onClick:()=>p(O),style:T,onMouseEnter:w=>{w.currentTarget.style.backgroundColor="rgba(0,0,0,0.05)"},onMouseLeave:w=>{w.currentTarget.style.backgroundColor="transparent"},children:O.label},O.name))});return i.length===0?or("div",{children:[or("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Fn(Io,{modified:!1,children:Fn("input",{type:"text",value:"",placeholder:"\u2014",readOnly:!0,style:h(f({},b),{color:"#999",cursor:"default"})})}),Fn("button",{ref:d,type:"button",onClick:()=>a(!s),style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:"none",borderRadius:2,backgroundColor:"transparent",color:"#94a3b8",cursor:"pointer",flexShrink:0},children:Fn(Dl,{size:12})})]}),s&&$(Ei)]}):or("div",{style:{display:"flex",flexDirection:"column",gap:4,position:"relative"},children:[i.map((P,O)=>{let w=Ei.find(N=>N.name===P.name);return w?or("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Fn("span",{style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:o?n:"#94a3b8",fontWeight:o?600:400,width:56,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:w.label}),Fn(Io,{modified:o,children:or("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"0 4px"},children:[Fn("input",{type:"range",min:w.min,max:w.max,step:w.step,value:P.value,onChange:N=>g(O,parseFloat(N.target.value)),style:{flex:1,height:2,appearance:"none",WebkitAppearance:"none",background:`linear-gradient(to right, ${n} ${(P.value-w.min)/(w.max-w.min)*100}%, rgba(0,0,0,0.1) ${(P.value-w.min)/(w.max-w.min)*100}%)`,borderRadius:1,outline:"none",cursor:"pointer"}}),Fn("input",{type:"number",min:w.min,max:w.max,step:w.step,value:w.unit==="px"||w.unit==="deg"?Math.round(P.value):Math.round(P.value*100)/100,onChange:N=>g(O,parseFloat(N.target.value)||0),style:h(f({},b),{width:44,padding:"2px 4px",textAlign:"right",flexShrink:0})}),w.unit&&Fn("span",{style:{fontSize:9,color:"#94a3b8",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',flexShrink:0,width:16},children:w.unit})]})}),Fn("button",{type:"button",onClick:()=>u(O),style:{display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,padding:0,border:"none",borderRadius:2,backgroundColor:"transparent",color:"#94a3b8",cursor:"pointer",flexShrink:0},children:Fn(Ju,{size:10})})]},P.name):null}),c.length>0&&or("div",{children:[or("button",{ref:d,type:"button",onClick:()=>a(!s),style:{display:"flex",alignItems:"center",gap:4,padding:"2px 4px",border:"none",borderRadius:2,backgroundColor:"transparent",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#94a3b8",cursor:"pointer"},children:[Fn(Dl,{size:10}),"Add filter"]}),s&&$(c)]})]})}import{useCallback as uo,useEffect as qu,useRef as ki,useState as Nl}from"react";import{AlignHorizontalSpaceAround as Zu,AlignVerticalSpaceAround as Qu,Columns3 as ep,Grid2x2 as tp,RectangleHorizontal as np,Rows3 as op,UnfoldHorizontal as Hl,UnfoldVertical as Fl}from"lucide-react";import{useCallback as Vu,useEffect as Xu,useRef as Ur}from"react";import{jsx as Ku}from"react/jsx-runtime";var Is=[0,1,2,4,8,12,16,20,24,28,32];function Rr({value:e,onChange:t,onPreview:n,onScrubEnd:o,onReset:r,isModified:i,accentColor:s,defaultUnit:a="rem",snapSteps:l,color:d,style:c,children:p}){let u=Ur(null),g=Ur(null),b=Ur(r),v=Ur(i),A=Ur(!1);b.current=r,v.current=i,Xu(()=>{let $=O=>{let w=g.current;if(!w)return;w.hasMoved=!0,A.current=O.shiftKey;let N=w.unit==="rem"||w.unit==="em"?.1:1;w.accum+=O.movementX*N;let se=Math.max(0,Math.round((w.startValue+w.accum)*10)/10);if(O.shiftKey&&l){let ee=w.unit==="rem"||w.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,G=w.unit==="rem"||w.unit==="em"?se*ee:se,oe=l[l.length-1];for(let W=0;W<l.length-1;W++){let Z=l[W],k=l[W+1];if(G<=(Z+k)/2){oe=Z;break}if(G<k){oe=k;break}}G>l[l.length-1]&&(oe=Math.round(G/8)*8),se=w.unit==="rem"||w.unit==="em"?Math.round(oe/ee*1e3)/1e3:oe}n==null||n(`${se}${w.unit}`)},P=()=>{let O=g.current;if(!O)return;let w=Math.max(0,Math.round((O.startValue+O.accum)*10)/10);if(A.current&&l){let se=O.unit==="rem"||O.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,ee=O.unit==="rem"||O.unit==="em"?w*se:w,G=l[l.length-1];for(let oe=0;oe<l.length-1;oe++){let W=l[oe],Z=l[oe+1];if(ee<=(W+Z)/2){G=W;break}if(ee<Z){G=Z;break}}ee>l[l.length-1]&&(G=Math.round(ee/8)*8),w=O.unit==="rem"||O.unit==="em"?Math.round(G/se*1e3)/1e3:G}let N=O.hasMoved&&w!==O.startValue;g.current=null,document.exitPointerLock(),N?t(`${w}${O.unit}`):O.hasMoved?n==null||n(`${O.startValue}${O.unit}`):v.current&&b.current&&b.current(),o==null||o()};return document.addEventListener("mousemove",$),document.addEventListener("mouseup",P),()=>{document.removeEventListener("mousemove",$),document.removeEventListener("mouseup",P)}},[t,n,o]);let T=Vu($=>{var w;if($.button!==0)return;$.preventDefault();let P=_o(e),O=P.unit&&P.unit!=="px"?P.unit:a;g.current={startValue:P.num,unit:O,accum:0,hasMoved:!1},(w=u.current)==null||w.requestPointerLock()},[e,a]);return Ku("span",{ref:u,onMouseDown:T,title:i?"Click to reset \xB7 Drag to scrub":"Drag to scrub",style:f({color:i?s||"#3b82f6":d||"#999",padding:"0 4px",display:"flex",alignItems:"center",cursor:"ew-resize"},c),children:p})}import{Fragment as Rs,jsx as De,jsxs as mn}from"react/jsx-runtime";function rp({gridCols:e,gridRows:t,gridModified:n,accentColor:o,onColsChange:r,onRowsChange:i}){return De(Jn,{style:{width:100},children:mn("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"8px 4px"},children:[De("input",{type:"number",min:1,max:12,value:e,onChange:s=>r(parseInt(s.target.value)||1),style:h(f({},vn),{width:32,textAlign:"center",padding:2})}),De("span",{style:{fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:n?o:"#999",fontWeight:n?600:400,fontSize:11,margin:"0 4px"},children:"\xD7"}),De("input",{type:"number",min:1,max:12,value:t,onChange:s=>i(parseInt(s.target.value)||1),style:h(f({},vn),{width:32,textAlign:"center",padding:2})})]})})}function $l({element:e,getValue:t,getOriginalValue:n,handleChange:o,isModified:r,onResetProperty:i,isCollapsed:s,onToggle:a,sectionHeaderStyle:l,activeDropdown:d,onDropdownChange:c,panelContentRef:p,accentColor:u,onFieldHover:g,preferredUnit:b,onUnitCycle:v}){let A=c,T=t("display"),$=t("flex-direction"),P=zl(T,$),O=T==="flex"||T==="inline-flex",w=T==="grid",N=O||w,se=$==="column"||$==="column-reverse",ee=t("width"),G=t("height"),oe=r("width")?ee:fi(e,"width"),W=r("height")?G:fi(e,"height"),Z=Ls(ee,oe),k=Ls(G,W),Ce=t("min-width"),Q=t("max-width"),fe=t("min-height"),_=t("max-height"),le=Lr(t("padding")),M=t("gap"),ue=t("row-gap"),Me=t("column-gap"),Ne=t("grid-template-columns"),ve=t("grid-template-rows"),We=t("overflow"),Re=Ne.split(/\s+/).filter(H=>H&&H!=="none").length||1,ge=ve.split(/\s+/).filter(H=>H&&H!=="none").length||1,[qe,ft]=Nl(!1),gt=d!==null,ln=gt||qe,K=gt?.3:qe?.65:1,ce=({mode:H,icon:Pe,active:Be})=>De("button",{type:"button",onClick:()=>Wl(H,o),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:Be?nr(u,.15):"transparent",color:Be?u:"#64748b",cursor:"pointer",fontSize:14},children:Pe}),Ae=(H,Pe,Be)=>{Be==="fixed"?o(H,Pe):o(H,Ti(Be,Pe))},$e=H=>{let Pe=Lr(t("padding")),Be=H||"0";o("padding",`${Pe.top} ${Be} ${Pe.bottom} ${Be}`)},rt=H=>{let Pe=Lr(t("padding")),Be=H||"0";o("padding",`${Be} ${Pe.right} ${Be} ${Pe.left}`)},[Je,ae]=Nl({}),X=uo((H,Pe)=>Be=>{Pe(Be),ae(qt=>h(f({},qt),{[H]:Be}))},[]),ie=uo(H=>{ae(Pe=>{let Be=f({},Pe);return delete Be[H],Be})},[]),we=uo(H=>{let Pe=Lr(t("padding"));Ke(e,"padding",`${Pe.top} ${H} ${Pe.bottom} ${H}`)},[e,t]),ke=uo(H=>{let Pe=Lr(t("padding"));Ke(e,"padding",`${H} ${Pe.right} ${H} ${Pe.left}`)},[e,t]),Tt=uo(H=>Pe=>{Ke(e,H,Pe)},[e]),je=se?"row":"column",tt=je==="row"?"row-gap":"column-gap",ht=tt==="row-gap"?ue||M:Me||M,Ft=r(tt)||r("gap"),St=uo(()=>{let Pe=To(e).find(qt=>qt.axis===je);if(Pe)return je==="row"?Pe.h:Pe.w;let Be=Qo(e);return je==="row"?Be.row:Be.column},[e,je]),ut=uo(()=>{let H=t("justify-content");return H==="space-between"?"between":H==="space-around"||H==="space-evenly"?"around":"fixed"},[t])(),Yt=uo((H,Pe)=>{if(H==="fixed"){let Be=Math.max(0,Math.round(St()*1e3)/1e3),qt=Pe||(Be>0?`${Be}px`:"8px");o("justify-content","normal"),o(tt,qt);return}o("justify-content",H==="between"?"space-between":"space-around"),o(tt,"0px")},[tt,St,o]),yn=uo(H=>{if(ut!=="fixed"){Yt("fixed",H);return}o(tt,H)},[Yt,ut,tt,o]),Mn=uo(H=>{Ke(e,"justify-content","normal"),Ke(e,tt,H)},[e,tt]),cn=H=>H==="center"?1:H==="flex-end"||H==="end"?2:0,Xn=cn(t("justify-content")),mt=cn(t("align-items")),Ve=se?mt:Xn,nt=se?Xn:mt,dn=ki(null),Kt=ki({x:0,y:0}),In=ki({col:Ve,row:nt});In.current={col:Ve,row:nt};let mo=uo((H,Pe)=>{let Be=["flex-start","center","flex-end"];se?(o("justify-content",Be[Pe]),o("align-items",Be[H])):(o("justify-content",Be[H]),o("align-items",Be[Pe]))},[se,o]),io=ki(mo);io.current=mo,qu(()=>{let Pe=Be=>{let qt=dn.current;if(!qt||!Be.composedPath().includes(qt))return;Be.preventDefault(),Be.stopPropagation(),Kt.current.x+=Be.deltaX,Kt.current.y+=Be.deltaY;let{col:Ot,row:Rn}=In.current,un=!1;Math.abs(Kt.current.x)>=30&&(Ot=Math.max(0,Math.min(2,Ot+(Kt.current.x>0?1:-1))),Kt.current.x=0,Kt.current.y=0,un=!0),!un&&Math.abs(Kt.current.y)>=30&&(Rn=Math.max(0,Math.min(2,Rn+(Kt.current.y>0?1:-1))),Kt.current.x=0,Kt.current.y=0,un=!0),un&&(Ot!==In.current.col||Rn!==In.current.row)&&io.current(Ot,Rn)};return document.addEventListener("wheel",Pe,{passive:!1,capture:!0}),()=>document.removeEventListener("wheel",Pe,{capture:!0})},[]);let nn=()=>De("div",{ref:dn,onMouseEnter:()=>{ft(!0),p.current&&(p.current.style.overflowY="hidden")},onMouseLeave:()=>{ft(!1),p.current&&(p.current.style.overflowY="auto")},style:{width:56,height:56,backgroundColor:to,borderRadius:2,display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gridTemplateRows:"repeat(3, 1fr)",padding:6,gap:2,touchAction:"none"},children:[0,1,2].map(H=>[0,1,2].map(Pe=>De("button",{type:"button",onClick:()=>mo(Pe,H),style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:0},children:Pe===Ve&&H===nt?De("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",style:{flexShrink:0},children:Pe===0?mn(Rs,{children:[De("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),De("rect",{x:"1",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),De("rect",{x:"1",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]}):Pe===1?mn(Rs,{children:[De("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),De("rect",{x:"2.5",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),De("rect",{x:"1.5",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]}):mn(Rs,{children:[De("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),De("rect",{x:"4",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),De("rect",{x:"2",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]})}):De("div",{style:{width:5,height:5,borderRadius:"50%",backgroundColor:"#aaa"}})},`${H}-${Pe}`)))}),wn=r("grid-template-columns")||r("grid-template-rows");return mn("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[De("div",{style:l,children:De("span",{children:N?"Auto layout":"Layout"})}),mn("div",{style:{padding:"8px 12px"},children:[mn("div",{style:{display:"flex",gap:2,marginBottom:8,backgroundColor:to,borderRadius:2,padding:2,opacity:K,transition:"opacity 150ms ease"},children:[De(ce,{mode:"block",icon:De(np,{size:16}),active:P==="block"}),De(ce,{mode:"flex-col",icon:De(op,{size:16}),active:P==="flex-col"}),De(ce,{mode:"flex-row",icon:De(ep,{size:16}),active:P==="flex-row"}),De(ce,{mode:"grid",icon:De(tp,{size:16}),active:P==="grid"})]}),mn("div",{style:{display:"flex",gap:4,marginBottom:8},children:[De(As,{label:"W",property:"width",cssValue:Z==="fixed"?ee:`${Math.round(e.getBoundingClientRect().width)}px`,mode:Z,onValueChange:H=>o("width",H),onModeChange:H=>{if(H==="fixed"){let Pe=e.getBoundingClientRect();o("width",`${Math.round(Pe.width)}px`)}else o("width",Ti(H,ee))},modified:r("width"),dimmed:gt&&d!=="width",dropdownOpen:d==="width",onDropdownChange:H=>A(H?"width":null),panelContentRef:p,accentColor:u,onReset:()=>i("width"),minValue:Ce!=="none"&&Ce!=="0px"&&Ce!=="auto"?Ce:"",maxValue:Q!=="none"&&Q!=="auto"?Q:"",onMinChange:H=>o("min-width",H||"0"),onMaxChange:H=>o("max-width",H||"none"),onMinReset:()=>i("min-width"),onMaxReset:()=>i("max-width"),minModified:r("min-width"),maxModified:r("max-width")}),De(As,{label:"H",property:"height",cssValue:k==="fixed"?G:`${Math.round(e.getBoundingClientRect().height)}px`,mode:k,onValueChange:H=>o("height",H),onModeChange:H=>{if(H==="fixed"){let Pe=e.getBoundingClientRect();o("height",`${Math.round(Pe.height)}px`)}else o("height",Ti(H,G))},modified:r("height"),dimmed:gt&&d!=="height",dropdownOpen:d==="height",onDropdownChange:H=>A(H?"height":null),panelContentRef:p,minValue:fe!=="none"&&fe!=="0px"&&fe!=="auto"?fe:"",maxValue:_!=="none"&&_!=="auto"?_:"",onMinChange:H=>o("min-height",H||"0"),onMaxChange:H=>o("max-height",H||"none"),onMinReset:()=>i("min-height"),onMaxReset:()=>i("max-height"),minModified:r("min-height"),maxModified:r("max-height"),accentColor:u,onReset:()=>i("height")})]}),O&&mn("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8},children:[De("div",{style:{opacity:gt?.3:1,transition:"opacity 150ms ease"},children:nn()}),mn("div",{style:{flex:1,opacity:K,transition:"opacity 150ms ease"},children:[De("div",{onClick:Ft?()=>{i(tt),i("gap")}:void 0,title:Ft?"Click to reset":void 0,style:{fontSize:9,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:Ft?u:"#999",fontWeight:Ft?600:400,marginBottom:2,cursor:Ft?"pointer":"default"},children:"Gap"}),De("div",{style:{display:"flex",gap:2,marginBottom:4,backgroundColor:to,borderRadius:2,padding:2},children:["fixed","between","around"].map(H=>{let Pe=ut===H;return De("button",{type:"button",onClick:()=>Yt(H),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",border:"none",borderRadius:2,backgroundColor:Pe?nr(u,.15):"transparent",color:Pe?u:"#64748b",cursor:"pointer",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontWeight:Pe?600:400,textTransform:"capitalize"},children:H},H)})}),De(Jn,{dimmed:gt,children:mn("div",{style:{display:"flex",alignItems:"center"},children:[De(Rr,{value:ht,onChange:H=>{ie("gap"),yn(H)},onPreview:X("gap",Mn),onScrubEnd:()=>ie("gap"),onReset:()=>{i(tt),i("gap")},isModified:Ft,accentColor:u,defaultUnit:b,children:$==="column"||$==="column-reverse"?De(Fl,{size:12,strokeWidth:Ft?2.5:1.5}):De(Hl,{size:12,strokeWidth:Ft?2.5:1.5})}),De(po,{property:tt,value:Je.gap||(ut==="fixed"?ht:`${Math.max(0,Math.round(St()*1e3)/1e3)}px`),onChange:H=>yn(H),isModified:Ft||"gap"in Je,style:h(f({},vn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:v})]})})]})]}),w&&mn("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8,opacity:K,transition:"opacity 150ms ease"},children:[De(rp,{gridCols:Re,gridRows:ge,gridModified:wn,accentColor:u,onColsChange:H=>o("grid-template-columns",`repeat(${H}, 1fr)`),onRowsChange:H=>o("grid-template-rows",`repeat(${H}, 1fr)`)}),mn("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4},children:[De(Jn,{dimmed:gt,children:mn("div",{style:{display:"flex",alignItems:"center"},children:[De(Rr,{value:Me||M,onChange:H=>{ie("column-gap"),o("column-gap",H)},onPreview:X("column-gap",Tt("column-gap")),onScrubEnd:()=>ie("column-gap"),onReset:()=>i("column-gap"),isModified:r("column-gap"),accentColor:u,defaultUnit:b,children:De(Hl,{size:12,strokeWidth:r("column-gap")?2.5:1.5})}),De(po,{property:"column-gap",value:Je["column-gap"]||Me||M,onChange:H=>o("column-gap",H),isModified:r("column-gap")||"column-gap"in Je,placeholder:"col",style:h(f({},vn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:v})]})}),De(Jn,{dimmed:gt,children:mn("div",{style:{display:"flex",alignItems:"center"},children:[De(Rr,{value:ue||M,onChange:H=>{ie("row-gap"),o("row-gap",H)},onPreview:X("row-gap",Tt("row-gap")),onScrubEnd:()=>ie("row-gap"),onReset:()=>i("row-gap"),isModified:r("row-gap"),accentColor:u,defaultUnit:b,children:De(Fl,{size:12,strokeWidth:r("row-gap")?2.5:1.5})}),De(po,{property:"row-gap",value:Je["row-gap"]||ue||M,onChange:H=>o("row-gap",H),isModified:r("row-gap")||"row-gap"in Je,placeholder:"row",style:h(f({},vn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:v})]})})]})]}),N&&mn("div",{onMouseEnter:()=>g==null?void 0:g("padding"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:4,marginBottom:8,opacity:K,transition:"opacity 150ms ease"},children:[De(Jn,{style:{flex:1},dimmed:gt,children:mn("div",{style:{display:"flex",alignItems:"center"},children:[De(Rr,{value:le.left,onChange:H=>{ie("padding-h"),$e(H)},onPreview:X("padding-h",we),onScrubEnd:()=>ie("padding-h"),onReset:()=>i("padding"),isModified:r("padding"),accentColor:u,defaultUnit:b,snapSteps:Is,children:De(Zu,{size:12,strokeWidth:r("padding")?2.5:1.5})}),De(po,{property:"padding",value:Je["padding-h"]||le.left,onChange:H=>$e(H),isModified:r("padding")||"padding-h"in Je,placeholder:"H pad",style:h(f({},vn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:v})]})}),De(Jn,{style:{flex:1},dimmed:gt,children:mn("div",{style:{display:"flex",alignItems:"center"},children:[De(Rr,{value:le.top,onChange:H=>{ie("padding-v"),rt(H)},onPreview:X("padding-v",ke),onScrubEnd:()=>ie("padding-v"),onReset:()=>i("padding"),isModified:r("padding"),accentColor:u,defaultUnit:b,snapSteps:Is,children:De(Qu,{size:12,strokeWidth:r("padding")?2.5:1.5})}),De(po,{property:"padding",value:Je["padding-v"]||le.top,onChange:H=>rt(H),isModified:r("padding")||"padding-v"in Je,placeholder:"V pad",style:h(f({},vn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:v})]})})]}),mn("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#64748b",opacity:K,transition:"opacity 150ms ease"},children:[De("input",{type:"checkbox",checked:We==="hidden",onChange:H=>o("overflow",H.target.checked?"hidden":"visible"),style:{margin:0,accentColor:u}}),"Clip content"]})]})]})}import{AlignCenter as ip,AlignJustify as sp,AlignLeft as ap,AlignRight as lp,Baseline as cp,ChevronDown as dp,WholeWord as up}from"lucide-react";import{jsx as Rt,jsxs as Ro}from"react/jsx-runtime";var Gl={100:"Thin",200:"Extra Light",300:"Light",400:"Regular",500:"Medium",600:"Semi Bold",700:"Bold",800:"Extra Bold",900:"Black"};function jl({element:e,getValue:t,handleChange:n,isModified:o,onResetProperty:r,isCollapsed:i,onToggle:s,sectionHeaderStyle:a,accentColor:l,colorVariables:d,activeColorDropdown:c,onColorDropdownChange:p,panelContentRef:u,preferredUnit:g,onUnitCycle:b}){var Z;let v=t("font-family"),A=t("font-size"),T=t("font-weight"),$=t("line-height"),P=t("letter-spacing"),O=t("text-align"),w=t("color"),N=String(T),se=Gl[N]||N,ee=kr(e,w),G=w.includes("var(")?null:jr(ee,d),oe=({align:k,icon:Ce})=>{let Q=O===k;return Rt("button",{type:"button",onClick:()=>n("text-align",k),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:Q?nr(l,.15):"transparent",color:Q?l:"#64748b",cursor:"pointer"},children:Ce})},W=((Z=v.split(",")[0])==null?void 0:Z.trim().replace(/^["']|["']$/g,""))||"System";return Ro("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[Rt("div",{style:a,children:Rt("span",{children:"Typography"})}),Ro("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[Rt(Jn,{children:Ro("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px"},children:[Rt("input",{type:"text",value:v,onChange:k=>n("font-family",k.target.value),style:h(f({},vn),{flex:1,minWidth:0,padding:0,fontWeight:o("font-family")?600:400,color:o("font-family")?l:"inherit"}),title:v}),Rt(dp,{size:12,style:{color:"#999",flexShrink:0,marginLeft:4}})]})}),Ro("div",{style:{display:"flex",gap:4},children:[Rt(Jn,{style:{flex:1},children:Rt("select",{value:N,onChange:k=>n("font-weight",k.target.value),style:h(f({},vn),{padding:"6px 8px",paddingLeft:4,paddingRight:20,cursor:"pointer",fontWeight:o("font-weight")?600:400,color:o("font-weight")?l:"inherit"}),children:Object.entries(Gl).map(([k,Ce])=>Rt("option",{value:k,children:Ce},k))})}),Rt(Jn,{style:{flex:1},children:Rt("div",{style:{display:"flex",alignItems:"center",position:"relative"},children:Rt(po,{property:"font-size",value:A,onChange:k=>n("font-size",k),isModified:o("font-size"),min:1,max:999,style:h(f({},vn),{padding:"6px 8px",paddingRight:24,fontWeight:o("font-size")?600:400,color:o("font-size")?l:"inherit"}),unitStyle:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999"},preferredUnit:g,onUnitCycle:b})})})]}),Ro("div",{style:{display:"flex",gap:4},children:[Rt(Jn,{style:{flex:1},children:Ro("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[Rt(cp,{size:12,style:{color:o("line-height")?l:"#999",flexShrink:0}}),Rt(po,{property:"line-height",value:$,onChange:k=>n("line-height",k),isModified:o("line-height"),step:.1,min:0,placeholder:"Auto",style:h(f({},vn),{flex:1,minWidth:0,padding:0,fontWeight:o("line-height")?600:400,color:o("line-height")?l:"inherit"}),showUnit:!1})]})}),Rt(Jn,{style:{flex:1},children:Ro("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[Rt(up,{size:12,style:{color:o("letter-spacing")?l:"#999",flexShrink:0}}),Rt(po,{property:"letter-spacing",value:P,onChange:k=>n("letter-spacing",k),isModified:o("letter-spacing"),step:.1,placeholder:"\u2014",style:h(f({},vn),{flex:1,minWidth:0,padding:0,fontWeight:o("letter-spacing")?600:400,color:o("letter-spacing")?l:"inherit"}),showUnit:!1})]})})]}),Ro("div",{style:{display:"flex",gap:2,backgroundColor:to,borderRadius:2,padding:2},children:[Rt(oe,{align:"left",icon:Rt(ap,{size:14})}),Rt(oe,{align:"center",icon:Rt(ip,{size:14})}),Rt(oe,{align:"right",icon:Rt(lp,{size:14})}),Rt(oe,{align:"justify",icon:Rt(sp,{size:14})})]}),Ro("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0"},children:[Rt("span",{onClick:o("color")?()=>r("color"):void 0,title:o("color")?"Click to reset":void 0,style:{fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:o("color")?l:"#64748b",fontWeight:o("color")?600:400,cursor:o("color")?"pointer":"default",width:40,flexShrink:0},children:"Color"}),Rt("div",{style:{flex:1,minWidth:0},children:Rt(Ps,{value:w,resolvedValue:ee,colorVariables:d,matchingVariable:G,onChange:k=>n("color",k),accentColor:l,modified:o("color"),panelContentRef:u,isDropdownOpen:c==="color",onDropdownChange:k=>p(k?"color":null)})})]})]})]})}import{Fragment as gp,jsx as Se,jsxs as jt}from"react/jsx-runtime";var Jl=[{name:"Background",properties:[{property:"background-color",label:"Color",type:"color"},{property:"opacity",label:"Opacity",type:"number",step:.1,min:0,max:1}]},{name:"Borders",properties:[{property:"border-width",label:"Width",type:"number",min:0,max:20},{property:"border-color",label:"Color",type:"color"},{property:"border-radius",label:"Radius",type:"number",min:0,max:100},{property:"border-style",label:"Style",type:"select",options:["none","solid","dashed","dotted","double"]}]},{name:"Effects",properties:[{property:"box-shadow",label:"Box Shadow",type:"text"},{property:"backdrop-filter",label:"Backdrop Filter",type:"backdrop-filter"},{property:"transform",label:"Transform",type:"text"}]}];function fp(e,t){let n=t.trim().toLowerCase();switch(e){case"opacity":return n==="1";case"border-width":return n==="0px"||n==="0"||n==="medium";case"border-radius":return n==="0px"||n==="0";case"border-style":return n==="none";case"box-shadow":return n==="none";case"backdrop-filter":return n==="none"||n==="";case"letter-spacing":return n==="normal"||n==="0px"||n==="0";case"background-color":return n==="rgba(0, 0, 0, 0)"||n==="transparent";default:return!1}}function Ls(e,t){return!t||e==="auto"||e==="fit-content"||e==="max-content"||e==="min-content"?"hug":e==="100%"||t==="100%"?"fill":"fixed"}function Ti(e,t){switch(e){case"hug":return"fit-content";case"fill":return"100%";case"fixed":{let n=_o(t);if(typeof n.num=="number"&&!isNaN(n.num)){let o=n.unit==="%"?"px":n.unit||"px";return`${n.num}${o}`}return"auto"}}}function Lr(e){let t=e.split(/\s+/).filter(Boolean);return t.length===1?{top:t[0],right:t[0],bottom:t[0],left:t[0]}:t.length===2?{top:t[0],right:t[1],bottom:t[0],left:t[1]}:t.length===3?{top:t[0],right:t[1],bottom:t[2],left:t[1]}:t.length>=4?{top:t[0],right:t[1],bottom:t[2],left:t[3]}:{top:"0px",right:"0px",bottom:"0px",left:"0px"}}function zl(e,t){return e==="grid"?"grid":e==="flex"||e==="inline-flex"?t==="column"||t==="column-reverse"?"flex-col":"flex-row":"block"}function Wl(e,t){switch(e){case"block":t("display","block");break;case"flex-row":t("display","flex"),t("flex-direction","row");break;case"flex-col":t("display","flex"),t("flex-direction","column");break;case"grid":t("display","grid");break}}var to="rgba(0, 0, 0, 0.04)",vn={width:"100%",padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"none",borderRadius:2,outline:"none",backgroundColor:"transparent"};function As({label:e,property:t,cssValue:n,mode:o,onValueChange:r,onModeChange:i,modified:s,dimmed:a,dropdownOpen:l,onDropdownChange:d,panelContentRef:c,accentColor:p="#3b82f6",onReset:u,minValue:g,maxValue:b,onMinChange:v,onMaxChange:A,onMinReset:T,onMaxReset:$,minModified:P,maxModified:O}){let w=_o(n),N=s?w.unit||Ir(t):Ir(t),se=!s&&w.unit&&w.unit!==N?Ts(w.num,N):w.num,[ee,G]=Sn(!1),[oe,W]=Sn(String(se)),[Z,k]=Sn(!1),Ce=$n(null),Q=$n(null),fe=$n(null),_=$n(!1);no(()=>{ee||W(String(se))},[se,ee]),no(()=>{if(!l)return;let Re=qe=>{Q.current&&!qe.composedPath().includes(Q.current)&&fe.current&&!qe.composedPath().includes(fe.current)&&(d==null||d(!1))},ge=qe=>{qe.key==="Escape"&&(d==null||d(!1))};return document.addEventListener("mousedown",Re),document.addEventListener("keydown",ge),()=>{document.removeEventListener("mousedown",Re),document.removeEventListener("keydown",ge)}},[l,d]),no(()=>{ee&&Ce.current&&(Ce.current.focus(),Ce.current.select())},[ee]);let le=()=>{let Re=Ci(oe,t,n,s);r(Re||`${Math.max(0,parseFloat(oe)||0)}${N}`),G(!1)},M=()=>{if(_.current){_.current=!1;return}le()},ue=Re=>{if(Re.key==="Enter"){le();return}if(Re.key==="Escape"){_.current=!0,W(String(se)),G(!1);return}if(Re.key==="ArrowUp"||Re.key==="ArrowDown"){Re.preventDefault();let ge=Re.key==="ArrowUp"?1:-1,qe=Re.shiftKey?8:Re.altKey?.1:1,ft=parseFloat(oe)||0,gt=Math.round(Math.max(0,ft+ge*qe)*1e3)/1e3;W(String(gt)),r(`${gt}${N}`)}},Me={fixed:"Fixed",hug:"Hug",fill:"Fill"},Ne={fixed:Se(Yl,{size:12}),hug:Se(pp,{size:12}),fill:Se(Yl,{size:12})},ve=()=>{d==null||d(!l)},We=()=>{if(!fe.current||!(c!=null&&c.current))return{position:"absolute",top:"100%",left:-4,right:-4,width:"calc(100% + 8px)",marginTop:4};let Re=fe.current.getBoundingClientRect(),ge=c.current.getBoundingClientRect();return{position:"fixed",top:Re.bottom+4,left:ge.left+4,width:ge.width-8}};return jt("div",{ref:fe,onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),style:{flex:1,display:"flex",alignItems:"center",position:"relative",borderRadius:2,border:"1px solid",borderColor:ee?p:Z?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease, opacity 150ms ease",opacity:a?.3:1},children:[Se("span",{onClick:s&&u?u:void 0,title:s?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:s?p:"#999",fontWeight:s?600:400,padding:"0 8px",flexShrink:0,cursor:s?"pointer":"default"},children:e}),o==="fixed"?ee?Se("input",{ref:Ce,type:"text",inputMode:"numeric",value:oe,onChange:Re=>W(Re.target.value),onKeyDown:ue,onBlur:M,style:h(f({},vn),{flex:1,minWidth:0,padding:"4px 2px"})}):Se("span",{onClick:()=>G(!0),style:{flex:1,padding:"4px 2px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"text"},children:se}):Se("span",{style:{flex:1}}),jt("button",{type:"button",onClick:ve,style:{display:"flex",alignItems:"center",gap:2,padding:"4px 8px",border:"none",outline:"none",backgroundColor:"transparent",color:"#999",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"pointer",flexShrink:0},children:[Me[o],Se(Os,{size:12})]}),l&&jt("div",{ref:Q,style:h(f({},We()),{backgroundColor:"#eaeaea",border:"1px solid rgba(0,0,0,0.1)",borderRadius:0,zIndex:10001,overflow:"hidden",fontSize:12,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'}),children:[jt("button",{type:"button",onClick:()=>{i("fixed"),d==null||d(!1)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",outline:"none",backgroundColor:o==="fixed"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:o==="fixed"?600:400,cursor:"pointer",textAlign:"left"},children:[Ne.fixed,jt("span",{children:["Fixed ",t," (",n,")"]}),o==="fixed"&&Se(Mi,{size:14,style:{marginLeft:"auto"}})]}),jt("button",{type:"button",onClick:()=>{i("hug"),d==null||d(!1)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",outline:"none",backgroundColor:o==="hug"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:o==="hug"?600:400,cursor:"pointer",textAlign:"left"},children:[Ne.hug,Se("span",{children:"Hug contents"}),o==="hug"&&Se(Mi,{size:14,style:{marginLeft:"auto"}})]}),jt("button",{type:"button",onClick:()=>{i("fill"),d==null||d(!1)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",outline:"none",backgroundColor:o==="fill"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:o==="fill"?600:400,cursor:"pointer",textAlign:"left"},children:[Ne.fill,Se("span",{children:"Fill container"}),o==="fill"&&Se(Mi,{size:14,style:{marginLeft:"auto"}})]}),Se("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",margin:"4px 0"}}),jt("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[jt("div",{style:{display:"flex",alignItems:"center",backgroundColor:to,borderRadius:2,padding:"4px 8px"},children:[Se("span",{onClick:P?Re=>{Re.stopPropagation(),T==null||T()}:void 0,title:P?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:P?p:"#999",fontWeight:P?600:400,marginRight:8,flexShrink:0,cursor:P?"pointer":"default"},children:"Min"}),Se("input",{type:"text",value:g||"",placeholder:"\u2014",onChange:Re=>v==null?void 0:v(Re.target.value),onClick:Re=>Re.stopPropagation(),style:h(f({},vn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:P?p:"inherit",fontWeight:P?600:400})})]}),jt("div",{style:{display:"flex",alignItems:"center",backgroundColor:to,borderRadius:2,padding:"4px 8px"},children:[Se("span",{onClick:O?Re=>{Re.stopPropagation(),$==null||$()}:void 0,title:O?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:O?p:"#999",fontWeight:O?600:400,marginRight:8,flexShrink:0,cursor:O?"pointer":"default"},children:"Max"}),Se("input",{type:"text",value:b||"",placeholder:"\u2014",onChange:Re=>A==null?void 0:A(Re.target.value),onClick:Re=>Re.stopPropagation(),style:h(f({},vn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:O?p:"inherit",fontWeight:O?600:400})})]})]})]})]})}function Jn({children:e,style:t,dimmed:n}){let[o,r]=Sn(!1);return Se("div",{onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),style:f({position:"relative",borderRadius:2,border:"1px solid",borderColor:o?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease, opacity 150ms ease",opacity:n?.3:1},t),children:e})}function Io({children:e}){let[t,n]=Sn(!1);return Se("div",{onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{position:"relative",borderRadius:2,border:"1px solid",borderColor:t?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease"},children:e})}function po({property:e,value:t,onChange:n,isModified:o=!1,step:r=1,min:i,max:s,style:a,placeholder:l,showUnit:d=!0,unitStyle:c,preferredUnit:p,onUnitCycle:u}){let g=_o(t),b=Ir(e),v=wi[e],T=p&&v&&v.includes(p)?p:b,$=o&&g.unit||T,P=!o&&g.unit&&g.unit!==$?Ts(g.num,$):g.num,[O,w]=Sn(!1),[N,se]=Sn(""),ee=M=>{w(!0),se(String(P||"")),requestAnimationFrame(()=>M.target.select())},G=()=>{if(w(!1),N.trim()){let M=Ci(N,e,t,o);M&&n(M)}},oe=M=>{let ue=M.target.value;se(ue);let Me=ue.trim(),Ne=Me.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i),ve=Me.match(/^(-?[\d.]+)$/);if(Ne){let We=parseFloat(Ne[1]);isNaN(We)||n(`${We}${Ne[2].toLowerCase()}`)}else if(ve){let We=parseFloat(ve[1]);isNaN(We)||n(`${We}${$}`)}},W=M=>{if(M.key==="Enter"){if(N.trim()){let ue=Ci(N,e,t,o);ue&&n(ue)}M.target.blur();return}if(M.key==="ArrowUp"||M.key==="ArrowDown"){M.preventDefault();let ue=M.shiftKey?10:M.altKey?.1:1,Me=(M.key==="ArrowUp"?1:-1)*r*ue,Ne=parseFloat(N)||P||0,ve=Math.round((Ne+Me)*1e3)/1e3;i!==void 0&&(ve=Math.max(i,ve)),s!==void 0&&(ve=Math.min(s,ve)),se(String(ve)),n(`${ve}${$}`)}},Z=/^-?[\d.]/.test(t.trim()),k=O?N:Z?String(P):"",Q=O&&/\s*(rem|em|px|%)\s*$/i.test(N)?"":$,fe=u&&(Q==="rem"||Q==="px"),_={fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",pointerEvents:"none"},le=h(f({},c!=null?c:_),{pointerEvents:"auto",cursor:"pointer"});return jt(gp,{children:[Se("input",{type:"text",inputMode:"decimal",value:k,onFocus:ee,onBlur:G,onChange:oe,onKeyDown:W,placeholder:l,style:a}),d&&Q&&Se("span",{style:fe?le:c!=null?c:_,onClick:fe?u:void 0,title:fe?"Click to switch units":void 0,children:Q})]})}function Ps({value:e,resolvedValue:t,colorVariables:n,matchingVariable:o,onChange:r,accentColor:i="#3b82f6",modified:s,panelContentRef:a,isDropdownOpen:l,onDropdownChange:d}){let[c,p]=Sn(!1),u=e,[g,b]=Sn(u),[v,A]=Sn(!1),[T,$]=Sn(!1),[P,O]=Sn(!1),w=$n(null),N=$n(null),se=$n(null),ee=l!==void 0?l:v,G=d||A,oe=xo(()=>{if(!se.current)return{position:"fixed",top:0,left:0,width:200};let M=se.current.getBoundingClientRect();if(a!=null&&a.current){let ue=a.current.getBoundingClientRect();return{position:"fixed",top:M.bottom+4,left:ue.left+4,width:ue.width-8}}return{position:"fixed",top:M.bottom+4,left:M.left,width:M.width}},[a]);no(()=>{c||b(e)},[e,c]),no(()=>{if(!ee&&!T)return;let M=Me=>{se.current&&!Me.composedPath().includes(se.current)&&(G(!1),$(!1))},ue=Me=>{Me.key==="Escape"&&(G(!1),$(!1))};return document.addEventListener("mousedown",M),document.addEventListener("keydown",ue),()=>{document.removeEventListener("mousedown",M),document.removeEventListener("keydown",ue)}},[ee,T]),no(()=>{c&&w.current&&(w.current.focus(),w.current.select())},[c]);let W=Ii(()=>{if(!g||g.startsWith("#")||g.startsWith("rgb")||g.startsWith("hsl")||g.startsWith("oklch"))return[];let M=g.toLowerCase();return n.filter(ue=>ue.name.toLowerCase().includes(M)||ue.usage.toLowerCase().includes(M)).slice(0,8)},[g,n]),Z=()=>{r(g),p(!1),$(!1)},k=M=>{b(M),M.includes("var")||M.includes("--")||M.length>0&&!M.startsWith("#")?$(!0):$(!1)},Ce=M=>{b(M.value),r(M.value),G(!1),$(!1),p(!1)},Q=()=>{setTimeout(()=>{!ee&&!T&&Z()},150)},fe=M=>{M.key==="Enter"?Z():M.key==="Escape"&&(b(e),p(!1),$(!1))},_=Ii(()=>{let M=t.trim().toLowerCase();if(M.startsWith("#"))return M.length===4?`#${M[1]}${M[1]}${M[2]}${M[2]}${M[3]}${M[3]}`:M.slice(0,7);let ue=M.match(/rgba?\((\d+),?\s*(\d+),?\s*(\d+)/);if(ue){let Ne=parseInt(ue[1],10).toString(16).padStart(2,"0"),ve=parseInt(ue[2],10).toString(16).padStart(2,"0"),We=parseInt(ue[3],10).toString(16).padStart(2,"0");return`#${Ne}${ve}${We}`}let Me=M.match(/oklch\(\s*([\d.]+)/);if(Me){let Ne=Math.max(0,Math.min(1,parseFloat(Me[1]))),ve=Math.round(Ne*255).toString(16).padStart(2,"0");return`#${ve}${ve}${ve}`}return"#000000"},[t]);return jt("div",{ref:se,onMouseEnter:()=>O(!0),onMouseLeave:()=>O(!1),style:{position:"relative",borderRadius:2,border:"1px solid",borderColor:c?i:P?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease",overflow:"hidden"},children:[jt("div",{style:{display:"flex",alignItems:"center",minWidth:0},children:[jt("div",{style:{position:"relative",marginLeft:8,flexShrink:0},children:[Se("input",{type:"color",value:_,onChange:M=>{let ue=M.target.value;b(ue),r(ue)},style:{width:12,height:12,padding:0,border:"none",cursor:"pointer",opacity:0,position:"absolute",top:0,left:0}}),Se("div",{style:{width:12,height:12,borderRadius:2,backgroundColor:t,border:"1px solid rgba(0,0,0,0.1)",pointerEvents:"none"}})]}),c?Se("input",{ref:w,type:"text",value:g,onChange:M=>k(M.target.value),onKeyDown:fe,onBlur:Q,style:h(f({},vn),{flex:1,minWidth:0})}):Se("span",{onClick:()=>p(!0),style:{flex:1,minWidth:0,padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"text",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:s?i:"inherit"},title:u,children:u}),n.length>0&&Se("button",{type:"button",onClick:()=>G(!ee),style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:24,border:"none",background:"none",cursor:"pointer",color:"#999",flexShrink:0},children:Se(Os,{size:12})})]}),T&&W.length>0&&Se("div",{style:h(f({},oe()),{backgroundColor:"#eaeaea",border:"1px solid rgba(0,0,0,0.1)",borderRadius:0,zIndex:10001,maxHeight:200,overflowY:"auto",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'}),children:W.map(M=>jt("button",{type:"button",onClick:()=>Ce(M),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",backgroundColor:"transparent",color:"#1e293b",cursor:"pointer",textAlign:"left",fontSize:12},children:[Se("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:M.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Se("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:M.name})]},M.name))}),ee&&Se("div",{ref:N,style:h(f({},oe()),{backgroundColor:"#eaeaea",border:"1px solid rgba(0,0,0,0.1)",borderRadius:0,zIndex:10001,maxHeight:280,overflowY:"auto",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'}),children:n.map(M=>jt("button",{type:"button",onClick:()=>Ce(M),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",backgroundColor:(o==null?void 0:o.usage)===M.usage||e===M.value?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:(o==null?void 0:o.usage)===M.usage||e===M.value?600:400,cursor:"pointer",textAlign:"left",fontSize:12},children:[Se("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:M.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Se("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:M.name}),((o==null?void 0:o.usage)===M.usage||e===M.value)&&Se(Mi,{size:14,style:{marginLeft:"auto",flexShrink:0}})]},M.name))})]})}function Ul({element:e,elementInfo:t,selector:n,styleModifications:o,dispatch:r,onClose:i,onHover:s,accentColor:a="#3b82f6",toolbarRef:l}){let d=$n(null),c=$n(null),[p,u]=Sn(()=>{try{return!!localStorage.getItem("devtools-panel-position")}catch(K){return!1}});no(()=>{if(p)return;let K=setTimeout(()=>u(!0),50);return()=>clearTimeout(K)},[p]);let[g,b]=Sn(null),[v,A]=Sn(null),T=g!==null||v!==null,[$,P]=Sn("rem"),O=xo(()=>{P(K=>K==="rem"?"px":"rem")},[]),w=$n(new Map),[N,se]=Sn(""),ee=Ii(()=>ps(),[]);no(()=>{let K=ce=>{var $e;if(ce.key!=="Escape")return;let Ae=document.activeElement;Ae&&(($e=d.current)!=null&&$e.contains(Ae))||i()};return window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)},[i]);let G=$n({top:0,left:0,maxHeight:400}),[,oe]=Sn(0),W="devtools-panel-position",Z=$n({x:0,y:0}),k=$n(null),Ce=$n(!1);no(()=>{try{let K=localStorage.getItem(W);if(K){let ce=JSON.parse(K);typeof ce.top=="number"&&typeof ce.left=="number"&&(Ce.current=!0,G.current=h(f({},G.current),{top:ce.top,left:ce.left}))}}catch(K){}},[]),no(()=>{let K=Ae=>{var St;let $e=k.current;if(!$e)return;let rt=$e.startOffsetX+(Ae.clientX-$e.startX),Je=$e.startOffsetY+(Ae.clientY-$e.startY),ae=280,X=16,ie=Math.max(X,Math.min(window.innerWidth-ae-X,G.current.left+rt)),we=Math.max(X,G.current.top+Je);Z.current={x:ie-G.current.left,y:we-G.current.top};let ke=d.current,Tt=ke==null?void 0:ke.parentElement;if(!Tt)return;Tt.style.top=`${we}px`,Tt.style.left=`${ie}px`;let je=(St=l==null?void 0:l.current)==null?void 0:St.getBoundingClientRect(),tt=window.innerHeight-16;je&&ie+ae>je.left&&(tt=je.top-8);let ht=Math.max(0,we),Ft=Math.max(200,tt-ht);ke&&(ke.style.maxHeight=`${Ft}px`)},ce=()=>{if(!k.current)return;let Ae=G.current.top+Z.current.y,$e=G.current.left+Z.current.x;G.current=h(f({},G.current),{top:Ae,left:$e}),Z.current={x:0,y:0},Ce.current=!0;try{localStorage.setItem(W,JSON.stringify({top:Ae,left:$e}))}catch(rt){}k.current=null};return window.addEventListener("mousemove",K),window.addEventListener("mouseup",ce),()=>{window.removeEventListener("mousemove",K),window.removeEventListener("mouseup",ce)}},[]);let Q=xo(K=>{K.button!==0||K.target.closest("button")||(K.preventDefault(),k.current={startX:K.clientX,startY:K.clientY,startOffsetX:Z.current.x,startOffsetY:Z.current.y})},[]);no(()=>{Z.current={x:0,y:0};let K=($e=!1)=>{var tt;let rt=d.current,Je=280,ae=8,X,ie;if(Ce.current)X=G.current.top,ie=G.current.left;else{let ht=e.getBoundingClientRect();ie=ht.right+ae,X=ht.top,ie+Je>window.innerWidth-ae&&(ie=ht.left-Je-ae),ie<ae&&(ie=Math.max(ae,(window.innerWidth-Je)/2))}let we=(tt=l==null?void 0:l.current)==null?void 0:tt.getBoundingClientRect(),ke=window.innerHeight-16;we&&ie+Je>we.left&&(ke=we.top-ae);let Tt=Math.max(0,X),je=Math.max(200,ke-Tt);if(G.current={top:X,left:ie,maxHeight:je},$e&&rt){let ht=rt.parentElement;ht&&!Ce.current&&(ht.style.top=`${X+Z.current.y}px`,ht.style.left=`${ie+Z.current.x}px`),rt.style.maxHeight=`${je}px`}else oe(ht=>ht+1)};K(!1);let ce=()=>K(!0),Ae=()=>K(!1);return window.addEventListener("scroll",ce,{passive:!0}),window.addEventListener("resize",Ae,{passive:!0}),()=>{window.removeEventListener("scroll",ce),window.removeEventListener("resize",Ae)}},[e]),no(()=>{let K=d.current;if(!K)return;let ce=Ae=>{let $e=c.current;if(!$e){Ae.preventDefault();return}let{scrollTop:rt,scrollHeight:Je,clientHeight:ae}=$e,X=rt<=0&&Ae.deltaY<0,ie=rt+ae>=Je&&Ae.deltaY>0;(X||ie)&&Ae.preventDefault()};return K.addEventListener("wheel",ce,{passive:!1}),()=>K.removeEventListener("wheel",ce)},[]);let fe=Ii(()=>o.find(K=>K.selector===n),[o,n]),_=xo(K=>{let ce=fe==null?void 0:fe.changes.find(Ae=>Ae.property===K);return ce?ce.modified:pi(e,K)},[e,fe]),le=xo((K,ce)=>{if(!K.includes("color"))return ce;let Ae=ce.trim(),$e=ee.find(Je=>Je.usage===Ae||Je.name===Ae),rt=($e==null?void 0:$e.value)||Ae;return kr(e,rt)},[ee,e]),M=xo(K=>{if(w.current.has(K))return w.current.get(K);let ce=fe==null?void 0:fe.changes.find($e=>$e.property===K);if(ce)return ce.original;let Ae=pi(e,K);return w.current.set(K,Ae),Ae},[e,fe]),ue=xo((K,ce)=>{let Ae=M(K),$e=le(K,ce);Ke(e,K,$e),K==="backdrop-filter"&&Ke(e,"-webkit-backdrop-filter",$e),r({type:"MODIFY_STYLE",payload:{selector:n,element:t,property:K,original:Ae,modified:$e}})},[e,n,t,r,le,M]),Me=xo(K=>{let ce=o.find($e=>$e.selector===n);ce!=null&&ce.changes.find($e=>$e.property===K)&&e instanceof HTMLElement&&(e.style.removeProperty(K),r({type:"CLEAR_STYLE",payload:{selector:n,property:K}}),w.current.delete(K))},[e,n,o,r]),Ne=xo(()=>{let K=N.split(";").map(ce=>ce.trim()).filter(ce=>ce);for(let ce of K){let Ae=ce.indexOf(":");if(Ae>0){let $e=ce.slice(0,Ae).trim(),rt=ce.slice(Ae+1).trim();$e&&rt&&ue($e,rt)}}se("")},[N,ue]),ve=xo(K=>{var ce;return(ce=fe==null?void 0:fe.changes.some(Ae=>Ae.property===K))!=null?ce:!1},[fe]),We=K=>{var Je;let ce=_(K.property),Ae=ve(K.property),$e=!Ae&&fp(K.property,ce),rt={width:"100%",padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"none",borderRadius:2,outline:"none",backgroundColor:"transparent"};if($e&&K.type!=="backdrop-filter")return Se(Io,{modified:!1,children:Se("input",{type:"text",value:"",placeholder:"\u2014",onFocus:()=>{},onChange:ae=>ue(K.property,ae.target.value),style:h(f({},rt),{color:"#999"})})});switch(K.type){case"color":{let ae=kr(e,ce),X=ce.includes("var(")?null:jr(ae,ee);return Se(Ps,{value:ce,resolvedValue:ae,colorVariables:ee,matchingVariable:X,onChange:ie=>ue(K.property,ie),accentColor:a,modified:Ae,panelContentRef:c,isDropdownOpen:v===K.property,onDropdownChange:ie=>A(ie?K.property:null)})}case"number":{if(!!wi[K.property])return Se(Io,{modified:Ae,children:Se(po,{property:K.property,value:ce,onChange:ie=>ue(K.property,ie),isModified:Ae,min:K.min,max:K.max,step:K.step||1,style:h(f({},rt),{paddingRight:32}),unitStyle:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999"},preferredUnit:$,onUnitCycle:O})});let{num:X}=_o(ce);return Se(Io,{modified:Ae,children:Se("input",{type:"number",value:X,min:K.min,max:K.max,step:K.step||1,onChange:ie=>ue(K.property,ie.target.value),style:rt})})}case"select":return Se(Io,{modified:Ae,children:jt("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[Se("select",{value:ce,onChange:ae=>ue(K.property,ae.target.value),style:h(f({},rt),{cursor:"pointer",paddingLeft:4,paddingRight:24,appearance:"none",WebkitAppearance:"none"}),children:(Je=K.options)==null?void 0:Je.map(ae=>Se("option",{value:ae,children:ae},ae))}),Se("div",{style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#999",display:"flex",alignItems:"center"},children:Se(Os,{size:12})})]})});case"spacing":return Se(Io,{modified:Ae,children:Se("input",{type:"text",value:ce,onChange:ae=>ue(K.property,ae.target.value),placeholder:"e.g., 10px or 10px 20px",style:rt})});case"backdrop-filter":return Se(_l,{value:ce,onChange:ae=>ue(K.property,ae),accentColor:a,modified:Ae,panelContentRef:c});default:return Se(Io,{modified:Ae,children:Se("input",{type:"text",value:ce,onChange:ae=>ue(K.property,ae.target.value),style:rt})})}},Re=t.reactComponent||t.tagName,ge={position:"fixed",top:G.current.top,left:G.current.left,width:280,maxHeight:G.current.maxHeight,backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",boxSizing:"content-box",zIndex:10002,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontSize:12,overflow:"visible",display:"flex",flexDirection:"column",opacity:p?1:0,transition:"opacity 150ms ease"},qe={display:"flex",alignItems:"center",justifyContent:"space-between",margin:4,padding:"4px 5px 4px 10px",backgroundColor:a,color:"#ffffff",cursor:k.current?"grabbing":"grab",userSelect:"none",WebkitUserSelect:"none"},ft={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 12px 6px",userSelect:"none",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontWeight:600,color:"#475569"},gt={display:"flex",alignItems:"center",padding:"4px 12px",gap:8},ln={width:80,fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#64748b",flexShrink:0};return Se("div",{"data-devtools":"panel-wrapper",style:{position:"fixed",top:G.current.top+Z.current.y,left:G.current.left+Z.current.x,zIndex:10002,pointerEvents:"none"},children:jt("div",{ref:d,"data-devtools":"panel",style:h(f({},ge),{position:"relative",top:0,left:0,zIndex:0,pointerEvents:"auto"}),onMouseEnter:()=>s==null?void 0:s("element"),onMouseLeave:()=>s==null?void 0:s(null),children:[Se("div",{"aria-hidden":"true",style:Si()}),jt("div",{style:qe,onMouseDown:Q,children:[Se("div",{style:{display:"flex",alignItems:"center",gap:3,overflow:"hidden",minWidth:0},children:Se("span",{style:{fontWeight:600,fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Re})}),Se("button",{type:"button",onClick:i,title:"Close",style:{background:"none",border:"none",cursor:"pointer",fontSize:16,color:"#ffffff",padding:"0 4px",lineHeight:1,flexShrink:0},children:"\xD7"})]}),jt("div",{ref:c,style:{flex:1,overflowY:"auto",margin:"0 3px 3px"},children:[Se("div",{style:{opacity:v?.3:1,transition:"opacity 150ms ease"},children:Se($l,{element:e,getValue:_,getOriginalValue:M,handleChange:ue,isModified:ve,onResetProperty:Me,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:ft,activeDropdown:g,onDropdownChange:b,panelContentRef:c,accentColor:a,onFieldHover:s,preferredUnit:$,onUnitCycle:O})}),Se("div",{style:{opacity:g?.3:1,transition:"opacity 150ms ease"},children:Se(jl,{element:e,getValue:_,handleChange:ue,isModified:ve,onResetProperty:Me,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:ft,accentColor:a,colorVariables:ee,activeColorDropdown:v,onColorDropdownChange:A,panelContentRef:c,preferredUnit:$,onUnitCycle:O})}),Jl.map((K,ce)=>{let Ae=ce===Jl.length-1,$e=v&&K.properties.some(Je=>Je.property===v);return jt("div",{style:{borderBottom:Ae?"none":"1px solid rgba(0,0,0,0.08)",opacity:T&&!$e?.3:1,transition:"opacity 150ms ease"},children:[Se("div",{style:ft,children:Se("span",{children:K.name})}),Se("div",{style:{padding:"4px 0"},children:K.properties.map(Je=>{let ae=ve(Je.property),X=$e&&Je.property!==v;return jt("div",{style:h(f({},gt),{opacity:X?.3:1,transition:"opacity 150ms ease"}),children:[Se("span",{onClick:ae?()=>Me(Je.property):void 0,title:ae?"Click to reset":void 0,style:h(f({},ln),{color:ae?a:"#64748b",fontWeight:ae?600:400,cursor:ae?"pointer":"default"}),children:Je.label}),Se("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:We(Je)})]},Je.property)})})]},K.name)}),jt("div",{style:{opacity:T?.3:1,transition:"opacity 150ms ease"},children:[Se("div",{style:ft,children:Se("span",{children:"Raw CSS"})}),jt("div",{style:{padding:"8px 12px"},children:[Se("textarea",{value:N,onChange:K=>se(K.target.value),placeholder:"property: value; ...",style:{width:"100%",height:60,padding:8,fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"1px solid rgba(0,0,0,0.1)",borderRadius:2,resize:"vertical",outline:"none"}}),N.trim()&&Se("button",{type:"button",onClick:Ne,style:{marginTop:4,padding:"4px 8px",width:"100%",fontSize:11,border:"none",borderRadius:2,backgroundColor:a,color:"#fff",cursor:"pointer",opacity:N.trim()?1:.5},children:"Apply"})]})]})]})]})})}import{useEffect as mp,useLayoutEffect as hp,useState as yp}from"react";import{Fragment as Sp,jsx as rr,jsxs as vp}from"react/jsx-runtime";var Bs=["flex-start","center","flex-end"],Ds=["flex-start","center","flex-end"];function bp(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function xp(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 Vl(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,o=1/0,r=-1/0,i=-1/0;for(let s of t){let a=s.getBoundingClientRect();a.width===0&&a.height===0||(a.top<n&&(n=a.top),a.left<o&&(o=a.left),a.bottom>r&&(r=a.bottom),a.right>i&&(i=a.right))}return n===1/0?null:new DOMRect(o,n,i-o,r-n)}function Xl({element:e,modifier:t,accentColor:n,refreshKey:o=0}){let[r,i]=yp(null);if(mp(()=>{if(!e){i(null);return}let v=()=>i(Vl(e));return v(),window.addEventListener("scroll",v,{passive:!0}),window.addEventListener("resize",v,{passive:!0}),()=>{window.removeEventListener("scroll",v),window.removeEventListener("resize",v)}},[e]),hp(()=>{e&&i(Vl(e))},[e,o]),!r)return null;let s=r,a=window.getComputedStyle(e),l=a.display;if(l!=="flex"&&l!=="inline-flex")return null;let d=a.flexDirection,c=d==="column"||d==="column-reverse"?"vertical":"horizontal",p=c==="horizontal"?"vertical":"horizontal",u=[];if(t==="shift"){let v=bp(a.justifyContent);if(v){let A=Bs.indexOf(v);c==="horizontal"?(A>0&&u.push("left"),A<Bs.length-1&&u.push("right")):(A>0&&u.push("up"),A<Bs.length-1&&u.push("down"))}}else{let v=xp(a.alignItems);if(v){let A=Ds.indexOf(v);p==="horizontal"?(A>0&&u.push("left"),A<Ds.length-1&&u.push("right")):(A>0&&u.push("up"),A<Ds.length-1&&u.push("down"))}}if(u.length===0)return null;let g=14,b=7;return rr(Sp,{children:u.map(v=>{let A,T;switch(v){case"right":A=s.right+g,T=s.top+s.height/2;break;case"left":A=s.left-g,T=s.top+s.height/2;break;case"down":A=s.left+s.width/2,T=s.bottom+g;break;case"up":A=s.left+s.width/2,T=s.top-g;break}let $=v==="right"?0:v==="left"?180:v==="down"?90:-90,P={position:"fixed",left:A-b,top:T-b,width:b*2,height:b*2,pointerEvents:"none",zIndex:9997};return rr("div",{"data-devtools":"swipe-hint",style:P,children:rr("svg",{width:b*2,height:b*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:vp("g",{transform:`rotate(${$})`,children:[rr("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),rr("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),rr("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),rr("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},v)})})}import{useEffect as wp,useLayoutEffect as Cp,useState as Ep}from"react";import{jsx as _s,jsxs as Ns}from"react/jsx-runtime";function kp(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 Kl({element:e,fontSize:t,lineHeight:n,accentColor:o,hoveredProperty:r,draggingProperty:i,cursorViewport:s}){let[a,l]=Ep(null);if(wp(()=>{if(!e){l(null);return}let T=()=>{l(Er(e))};return T(),window.addEventListener("scroll",T,{passive:!0}),window.addEventListener("resize",T,{passive:!0}),()=>{window.removeEventListener("scroll",T),window.removeEventListener("resize",T)}},[e]),Cp(()=>{e&&l(Er(e))},[e,t,n]),!a)return null;let d=a.width,c=a.height,p=kp(o,.2),u=i!=null?i:r,g=8,b=2,v={position:"fixed",top:a.top,left:a.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},A=T=>T==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return Ns("div",{"data-devtools":"text-handles",style:v,children:[Ns("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[_s("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,c-1),fill:"none",stroke:p,strokeWidth:"1"}),(u==="font-size"||!u)&&_s("rect",{x:d-b/2,y:c/2-g/2,width:b,height:g,fill:o,stroke:"#ffffff",strokeWidth:u==="font-size"?4:2,paintOrder:"stroke"}),(u==="line-height"||!u)&&_s("rect",{x:d/2-g/2,y:c-b/2,width:g,height:b,fill:o,stroke:"#ffffff",strokeWidth:u==="line-height"?4:2,paintOrder:"stroke"})]}),s&&u&&(()=>{let T=u==="font-size"?"Aa":"Lh",$=A(u);return Ns("div",{style:{position:"fixed",left:s.x+8,top:s.y-28,background:o,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:[T," ",$]})})()]})}import{Fragment as Pr,jsx as pt,jsxs as Ar}from"react/jsx-runtime";var ql=8,Hs=[0,1,2,4,8,12,16,20,24,28,32],Fs="devtools-active-text";function Zl(e,t,n=0,o,r){let i=e.left+window.scrollX+4,s=t==="top-left"?e.top+window.scrollY-eo-n*eo+4:e.bottom+window.scrollY+4-1+n*eo,a=window.scrollY+4,l=window.scrollY+window.innerHeight-eo-4,d=90,c=!1;if(o&&r!==void 0){let p=o.getBoundingClientRect();if(e.left+4+r+4+d>p.left){let g=window.scrollY+p.top-eo-4;g<l&&(l=g,c=!0)}}return s<a?s=e.top+window.scrollY+4:s>l&&(s=c?l:Math.max(e.top+window.scrollY+4,l)),{x:i,y:s}}function Ql({state:e,dispatch:t,onScreenshot:n,inFlightAnnotationIds:o,activeAnnotationIds:r,queuePositionMap:i,inFlightStyleSelectors:s,inFlightSelectorColors:a,onAttachImages:l,onReply:d,onViewThread:c,onCloseThread:p,onModelComponentsAdd:u,onModelComponentFocus:g,onModelComponentHover:b,modelComponentNames:v,modelPanelHoveredComponent:A,modelSpacingTokenHover:T,highlightedAnnotationIds:$,focusedThreadAnnotationId:P,externalCanvasRef:O,toolbarRef:w}){var Wn,Wi,Zr,Hr,ia,sa,aa,la,ca;let{canvasRef:N,redrawAll:se,resizeCanvas:ee}=Qa(),G=an(m=>{N.current=m,O&&(O.current=m)},[O,N]),oe=Xt(!1);En(()=>{let m=N.current;if(!m)return;let y=()=>{oe.current&&(oe.current=!1,m.style.pointerEvents="")},q=I=>{I.button===0&&oe.current&&y()};return window.addEventListener("mousedown",q),()=>window.removeEventListener("mousedown",q)},[N]);let[W,Z]=vt(!1),[k,Ce]=vt(()=>{if(typeof window=="undefined")return null;try{let m=localStorage.getItem(Fs);return m?JSON.parse(m):null}catch(m){return null}}),[Q,fe]=vt(null),[_,le]=vt(null),[M,ue]=vt(null),Me=Xt(null),Ne=Xt(null),ve=Xt({x:0,y:0}),We=Xt([]),Re=Xt(0),[ge,qe]=vt(null),[ft,gt]=vt(new Map),ln=Xt(0),K=Xt(null),[ce,Ae]=vt(null),[$e,rt]=vt(null),[Je,ae]=vt(null),[X,ie]=vt(null),we=Xt({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}),[ke,Tt]=vt(null),[je,tt]=vt(null),[ht,Ft]=vt(null),[St,lt]=vt(null),ut=Xt({x:0,y:0}),[Yt,yn]=vt({x:0,y:0}),Mn=Xt({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}),[cn,Xn]=vt(null),[mt,Ve]=vt(null),[nt,dn]=vt(null),[Kt,In]=vt(!1),[mo,io]=vt(0),[nn,wn]=vt(null),bn=Xt({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}),[H,Pe]=vt(null),[Be,qt]=vt(null),[Ot,Rn]=vt(null),un=Xt({isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}),[_t,Co]=vt(null),[Ln,kn]=vt(null),[Mt,so]=vt(null),Jt=el(),ur=Xt(a);ur.current=a;let Gt=an(m=>{let y=ur.current;if(!y||y.size===0)return!1;for(let q of y.keys())try{if(m.matches(q))return!0}catch(I){}return!1},[]),Kn=Xt(e);Kn.current=e;let _n=Xt(k);_n.current=k;let ho=Xt([]),Nr=Xt(n);Nr.current=n;let[wt,Vt]=vt(null),Ct=e.selectedAnnotationIds;ho.current=Ct;let qn=an((m,y=!1)=>{t({type:"SELECT_ANNOTATION",payload:{id:m,addToSelection:y}})},[t]),zn=an(()=>{t({type:"SELECT_ANNOTATION",payload:{id:null}})},[t]),[Nn,Eo]=vt(null),[on,pr]=vt({x:window.scrollX,y:window.scrollY});En(()=>(ee(),window.addEventListener("resize",ee),()=>window.removeEventListener("resize",ee)),[ee]),En(()=>{let m=()=>{pr({x:window.scrollX,y:window.scrollY})};return window.addEventListener("scroll",m,{passive:!0}),()=>window.removeEventListener("scroll",m)},[]),En(()=>{k?localStorage.setItem(Fs,JSON.stringify(k)):localStorage.removeItem(Fs)},[k]),tl(k,Ce,Q,e.annotations,t);let $o=Xt(ge);$o.current=ge,En(()=>{if(e.activeTool!=="model"||!e.isAnnotating)return;let m=y=>{if(!y.altKey||!$o.current)return;y.preventDefault();let q=y.deltaY>0?-1:1;ln.current=Math.max(0,ln.current+q);let I=K.current;if(I){let R=di(I,ln.current);qe(R)}};return window.addEventListener("wheel",m,{passive:!1}),()=>window.removeEventListener("wheel",m)},[e.activeTool,e.isAnnotating]),En(()=>{e.activeTool!=="model"&&(qe(null),gt(new Map),ln.current=0,K.current=null)},[e.activeTool]),En(()=>{var q;let m=(q=ge==null?void 0:ge.name)!=null?q:null,y=m&&(v!=null&&v.has(m))?m:null;b==null||b(y)},[ge,v,b]);let[C,J]=vt(null);En(()=>{var q;if(!A){J(null);return}let m=Sr(A.name),y=A.instanceIndex;J((q=m[y%m.length])!=null?q:null)},[A]);let[ne,ye]=vt([]);En(()=>{var m,y;if(!T){ye([]);return}(y=(m=T.token)==null?void 0:m.bindings)!=null&&y.length?ye(ls(T.token)):ye(ss(T.px))},[T]);let me=Xt(null),Le=Xt(null);me.current=cn,Le.current=mt,En(()=>{let m=["flex-start","center","flex-end"],y=["flex-start","center","flex-end"],I=null,R=!1,j=null,pe=null,F=(he,_e)=>{let st=Zo(he,_e);for(;st&&st!==document.documentElement;){let kt=window.getComputedStyle(st).display;if(kt==="flex"||kt==="inline-flex")return st;st=st.parentElement}return null},te=he=>{let _e=window.getComputedStyle(he).flexDirection;return _e==="column"||_e==="column-reverse"?"vertical":"horizontal"},S=he=>{let _e=he.getAttribute("data-pm");return _e||(_e=Math.random().toString(36).substring(2,8),he.setAttribute("data-pm",_e)),{selector:`[data-pm="${_e}"]`,durableSelector:jn(he)}},E=()=>{R=!0,I&&clearTimeout(I),I=setTimeout(()=>{R=!1,I=null},300)},U=(he,_e,ct)=>{let st=te(he);if(_e===st){let Ze=window.getComputedStyle(he).justifyContent,Nt=Ze==="normal"||Ze==="flex-start"||Ze==="start"?"flex-start":Ze==="flex-end"||Ze==="end"?"flex-end":Ze==="center"?"center":null;if(!Nt)return;let gn=m.indexOf(Nt)+ct;if(gn<0||gn>=m.length)return;let ko=m[gn],{selector:Go,durableSelector:Gi}=S(he);Ke(he,"justify-content",ko),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Go,durableSelector:Gi,element:Bn(he),changes:[{property:"justify-content",original:Ze,modified:ko}]}})}else{let Ze=window.getComputedStyle(he).flexDirection,Nt=st==="horizontal"?"column":"row",{selector:ao,durableSelector:gn}=S(he);Ke(he,"flex-direction",Nt),t({type:"MODIFY_STYLES_BATCH",payload:{selector:ao,durableSelector:gn,element:Bn(he),changes:[{property:"flex-direction",original:Ze,modified:Nt}]}})}io(kt=>kt+1)},B=(he,_e,ct)=>{let kt=te(he)==="horizontal"?"vertical":"horizontal";if(_e!==kt)return;let Nt=window.getComputedStyle(he).alignItems,ao=Nt==="normal"||Nt==="stretch"||Nt==="flex-start"||Nt==="start"?"flex-start":Nt==="flex-end"||Nt==="end"?"flex-end":Nt==="center"?"center":null;if(!ao)return;let ko=y.indexOf(ao)+ct;if(ko<0||ko>=y.length)return;let Go=y[ko],{selector:Gi,durableSelector:Wc}=S(he);Ke(he,"align-items",Go),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Gi,durableSelector:Wc,element:Bn(he),changes:[{property:"align-items",original:Nt,modified:Go}]}}),io(Gc=>Gc+1)},D=20,Y=null,V=null,be=0,He=(he,_e,ct)=>{let st=F(_e,ct);wn(st?{modifier:he,target:st}:null)},et=he=>{if(!(e.activeTool!=="hand"||!e.isAnnotating)){if(he.key==="Shift"&&!he.altKey){let _e=ut.current;He("shift",_e.x,_e.y)}else if(he.key==="Alt"&&!he.shiftKey){let _e=ut.current;He("alt",_e.x,_e.y)}}},ot=he=>{if(e.activeTool!=="hand"||!e.isAnnotating)return;let _e=he.shiftKey&&!he.altKey,ct=he.altKey&&!he.shiftKey;if(!_e&&!ct||he.buttons!==0){Y=null,V=null,be=0,j=null,pe=null,wn(null);return}if(j===null&&(j=he.clientX,pe=he.clientY,He(_e?"shift":"alt",he.clientX,he.clientY)),R)return;Y===null&&(Y=he.clientX,V=he.clientY,be=0);let st=he.clientX-Y,kt=he.clientY-V,Ze=Math.abs(st)>=Math.abs(kt)?st:kt;if(Math.abs(Ze)>3){let Go=Ze>0?1:-1;if(be!==0&&Go!==be){Y=he.clientX,V=he.clientY,be=0;return}be=Go}if(Math.abs(st)<D&&Math.abs(kt)<D)return;let Nt=F(j,pe);if(!Nt)return;let ao=Math.abs(st)>=Math.abs(kt)?"horizontal":"vertical",ko=(ao==="horizontal"?st:kt)>0?1:-1;Y=null,V=null,be=0,_e?U(Nt,ao,ko):B(Nt,ao,ko),E()},zt=he=>{(he.key==="Shift"||he.key==="Alt")&&(j=null,pe=null,Y=null,V=null,be=0,wn(null))},it=()=>{wn(null),Y=null,V=null,be=0};return window.addEventListener("keydown",et),window.addEventListener("mousemove",ot),window.addEventListener("mousedown",it),window.addEventListener("keyup",zt),()=>{window.removeEventListener("keydown",et),window.removeEventListener("mousemove",ot),window.removeEventListener("mousedown",it),window.removeEventListener("keyup",zt),I&&clearTimeout(I)}},[e.activeTool,e.isAnnotating,t]),En(()=>{let m=y=>{var j,pe,F,te;if(y.key==="Escape"){if(_n.current)return;if(e.activeTool==="model"&&ft.size>0){y.preventDefault(),gt(new Map);return}if(ho.current.length>0){y.preventDefault(),zn();return}}if(y.key==="Enter"&&e.activeTool==="model"&&ft.size>0&&u){y.preventDefault();let S=[...ft.keys()].filter(E=>!(v!=null&&v.has(E)));S.length>0&&u(S),gt(new Map);return}if((y.metaKey||y.ctrlKey)&&y.key==="v"&&We.current.length>0&&!_n.current){y.preventDefault(),Re.current++;let S=Re.current*20,U=((j=We.current[0])==null?void 0:j.groupId)?Math.random().toString(36).substring(2,9):void 0,B=We.current.map(Y=>h(f({},Y),{id:Math.random().toString(36).substring(2,9),groupId:Y.groupId?U:void 0,timestamp:Date.now(),points:Y.points.map(V=>({x:V.x+S,y:V.y+S}))}));t({type:"PASTE_ANNOTATIONS",payload:{annotations:B}});let D=B.find(Y=>Y.type!=="text")||B[0];D&&qn(D.id);return}let q=ho.current;if(q.length===0||_n.current)return;let I=(F=(pe=y.composedPath)==null?void 0:pe.call(y)[0])!=null?F:y.target,R=I==null?void 0:I.tagName;if(!(R==="INPUT"||R==="TEXTAREA"||I!=null&&I.isContentEditable)&&(y.key==="Delete"||y.key==="Backspace")){if(y.preventDefault(),p){let S=Kn.current.annotations;for(let E of q){let U=S.find(D=>D.id===E);if(!U)continue;let B=U.threadId||U.groupId&&((te=S.find(D=>D.groupId===U.groupId&&D.threadId))==null?void 0:te.threadId);B&&p(B)}}for(let S of q)t({type:"DELETE_ANNOTATION",payload:{id:S}});zn()}};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[t,zn,qn,e.activeTool,ft,v,u,p]);let Ee=yr(),Ie=Ri(()=>e.annotations.filter(m=>!m.pathname||m.pathname===Ee),[e.annotations,Ee]),Oe=Ri(()=>vi(e.annotations),[e.annotations]),Lt=Ri(()=>{let m=new Map,y=new Set,q=1,I=[...e.annotations].sort((R,j)=>R.timestamp-j.timestamp);for(let R of I)if(!Oe.has(R))if(R.groupId){if(!y.has(R.groupId)){y.add(R.groupId);let j=e.annotations.filter(pe=>pe.groupId===R.groupId);for(let pe of j)m.set(pe.id,q);q++}}else m.set(R.id,q),q++;return m},[e.annotations,Oe]),Ut=Ri(()=>{if(Ct.length===0)return null;let m=new Map;for(let y of Ct){let q=e.annotations.find(R=>R.id===y);if(!q)continue;let I=q.groupId?e.annotations.filter(R=>R.groupId===q.groupId):[q];for(let R of I)if(R.linkedSelector&&!(a!=null&&a.has(R.linkedSelector))){let j=R.color||e.activeColor;m.set(R.linkedSelector,j)}}return m.size>0?m:null},[Ct,e.annotations,e.activeColor,a]);En(()=>{let m=Ie.filter(y=>!(Oe.has(y)||k&&!k.isNew&&y.id===k.id));se(m,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,Ct,ql,on.x,on.y,Lt,$)},[Ie,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,se,k,Ct,on,Lt,Oe,$]),En(()=>{if(_){let m=Math.random().toString(36).substring(2,9);Ce({id:m,point:_.point,text:"",fontSize:12,isNew:!0,groupId:_.groupId}),le(null)}},[_]),En(()=>{M&&(Ce({id:Math.random().toString(36).substring(2,9),point:M.point,text:"",fontSize:12,isNew:!0,linkedSelector:M.linkedSelector,linkedAnchor:M.linkedAnchor,elements:M.elements}),ue(null))},[M]);let x=Xt(null),L=(Wn=k==null?void 0:k.id)!=null?Wn:null;En(()=>{L&&Me.current?requestAnimationFrame(()=>{var q;let m=Me.current;if(!m||(m.focus(),Ne.current===L))return;Ne.current=L;let y=_n.current;if(y){if(x.current!==null){let I=Math.min(x.current,m.value.length);m.setSelectionRange(I,I);return}if(!y.isNew&&y.clickPoint){let I=N.current;if(!I)return;let R=I.getContext("2d");if(!R)return;R.font=`${y.fontSize}px ${Zt}`;let j=y.fontSize*1.4,pe=y.text.split(`
4
- `),F=y.clickPoint.y-y.point.y,te=Math.max(0,Math.min(pe.length-1,Math.floor(F/j))),S=y.clickPoint.x-y.point.x,E=pe[te]||"",U=0;for(let D=0;D<=E.length;D++){let Y=R.measureText(E.substring(0,D)).width;if(Y>S){let V=D>0?R.measureText(E.substring(0,D-1)).width:0;U=S-V<Y-S?D-1:D;break}U=D}let B=U;for(let D=0;D<te;D++)B+=(((q=pe[D])==null?void 0:q.length)||0)+1;m.setSelectionRange(B,B)}}}):(Ne.current=null,x.current=null)},[L,N]);let z=an(m=>{let y=N.current;if(!y)return{x:0,y:0};let q=y.getBoundingClientRect(),I,R;if("touches"in m&&m.touches[0])I=m.touches[0].clientX,R=m.touches[0].clientY;else if("clientX"in m)I=m.clientX,R=m.clientY;else return{x:0,y:0};return{x:I-q.left+window.scrollX,y:R-q.top+window.scrollY}},[N]),re=an((m,y,q,I)=>{let R=q.x-y.x,j=q.y-y.y,pe=R*R+j*j;if(pe===0)return Math.sqrt((m.x-y.x)**2+(m.y-y.y)**2)<=I;let F=Math.max(0,Math.min(1,((m.x-y.x)*R+(m.y-y.y)*j)/pe)),te=y.x+F*R,S=y.y+F*j;return Math.sqrt((m.x-te)**2+(m.y-S)**2)<=I},[]),Te=an(m=>{for(let q=Ie.length-1;q>=0;q--){let I=Ie[q];if(!I||Oe.has(I))continue;let R=(I.strokeWidth||3)+4;switch(I.type){case"text":{if(!I.points[0]||!I.text)continue;let j=I.points[0],pe=I.fontSize||12,F=N.current;if(F){let te=F.getContext("2d");if(te){te.font=`${pe}px ${Zt}`;let S=I.text.replace(/\n/g," "),E=j.x-on.x,U=br(E),B=xr(te,S,U),D=te.measureText(B).width,Y=pe*1.4;if(m.x>=j.x-4-4&&m.x<=j.x+D+4+4&&m.y>=j.y-4-4&&m.y<=j.y+Y+4+4)return I}}break}case"rectangle":{if(I.points.length<2)continue;let j=I.points[0],pe=I.points[I.points.length-1],F=Math.min(j.x,pe.x),te=Math.max(j.x,pe.x),S=Math.min(j.y,pe.y),E=Math.max(j.y,pe.y),U=re(m,{x:F,y:S},{x:te,y:S},R),B=re(m,{x:F,y:E},{x:te,y:E},R),D=re(m,{x:F,y:S},{x:F,y:E},R),Y=re(m,{x:te,y:S},{x:te,y:E},R);if(U||B||D||Y)return I;break}case"circle":{if(I.points.length<2)continue;let j=I.points[0],pe=I.points[I.points.length-1],F=(j.x+pe.x)/2,te=(j.y+pe.y)/2,S=Math.abs(pe.x-j.x)/2,E=Math.abs(pe.y-j.y)/2,U=m.x-F,B=m.y-te,D=Math.sqrt((U/S)**2+(B/E)**2);if(Math.abs(D-1)*Math.max(S,E)<=R)return I;break}case"line":{if(I.points.length<2)continue;let j=I.points[0],pe=I.points[I.points.length-1];if(re(m,j,pe,R))return I;break}case"freehand":{if(I.points.length<2)continue;for(let j=0;j<I.points.length-1;j++){let pe=I.points[j],F=I.points[j+1];if(re(m,pe,F,R))return I}break}}}return null},[Ie,N,re,Oe,on.x]),ze=an(m=>{let y=Te(m);return(y==null?void 0:y.type)==="text"?y:null},[Te]),Ue=an(m=>{if(Ct.length===0)return null;let y=ql/2+4;for(let q of Ct){let I=e.annotations.find(R=>R.id===q);if(!(!I||I.points.length<2)){if(I.type==="line"){let R=I.points[0],j=I.points[I.points.length-1];if(Math.sqrt((m.x-R.x)**2+(m.y-R.y)**2)<=y)return{handle:"start",annotationId:q};if(Math.sqrt((m.x-j.x)**2+(m.y-j.y)**2)<=y)return{handle:"end",annotationId:q};continue}if(I.type==="circle"){let R=I.points[0],j=I.points[I.points.length-1],pe=Math.min(R.x,j.x),F=Math.max(R.x,j.x),te=Math.min(R.y,j.y),S=Math.max(R.y,j.y),E=(pe+F)/2,U=(te+S)/2,B=[{handle:"top",x:E,y:te},{handle:"bottom",x:E,y:S},{handle:"left",x:pe,y:U},{handle:"right",x:F,y:U}];for(let{handle:D,x:Y,y:V}of B)if(Math.sqrt((m.x-Y)**2+(m.y-V)**2)<=y)return{handle:D,annotationId:q};continue}if(I.type==="rectangle"||I.type==="freehand"){let R=I.points[0],j=I.points[I.points.length-1],pe,F,te,S;I.type==="freehand"?(pe=Math.min(...I.points.map(U=>U.x)),F=Math.max(...I.points.map(U=>U.x)),te=Math.min(...I.points.map(U=>U.y)),S=Math.max(...I.points.map(U=>U.y))):(pe=Math.min(R.x,j.x),F=Math.max(R.x,j.x),te=Math.min(R.y,j.y),S=Math.max(R.y,j.y));let E=[{corner:"topLeft",x:pe,y:te},{corner:"topRight",x:F,y:te},{corner:"bottomLeft",x:pe,y:S},{corner:"bottomRight",x:F,y:S}];for(let{corner:U,x:B,y:D}of E)if(Math.sqrt((m.x-B)**2+(m.y-D)**2)<=y)return{handle:U,annotationId:q}}}}return null},[Ct,e.annotations]);En(()=>{let m=y=>{if(ve.current={x:y.clientX+window.scrollX,y:y.clientY+window.scrollY},!k){let q=ze(ve.current);fe((q==null?void 0:q.id)||null)}};return window.addEventListener("mousemove",m),()=>window.removeEventListener("mousemove",m)},[k,ze]);let Ge=an(()=>{var y;if(!k)return;let m=((y=k.images)==null?void 0:y.length)||0;if(k.text.trim()||m>0)if(k.isNew){let q=si();t({type:"ADD_TEXT",payload:f({point:k.point,text:k.text||(m>0?`[${m} image${m>1?"s":""}]`:""),fontSize:k.fontSize,id:q,groupId:k.groupId,linkedSelector:k.linkedSelector,linkedAnchor:k.linkedAnchor,elements:k.elements},m>0?{imageCount:m}:{})}),m>0&&k.images&&l&&l(q,k.images)}else t({type:"UPDATE_TEXT",payload:f({id:k.id,text:k.text||(m>0?`[${m} image${m>1?"s":""}]`:"")},m>0?{imageCount:m}:{})}),m>0&&k.images&&l&&l(k.id,k.images);else k.isNew||t({type:"DELETE_ANNOTATION",payload:{id:k.id}});Ce(null)},[k,t,l]),Xe=an(m=>{for(let y=0;y<Hs.length-1;y++){let q=Hs[y],I=Hs[y+1];if(m<=(q+I)/2)return q;if(m<I)return I}return Math.round(m/8)*8},[]),Et=an((m,y,q,I)=>{let R=q.top+Math.max(I.top,4),j=q.bottom-Math.max(I.bottom,4),pe=q.left+Math.max(I.left,4),F=q.right-Math.max(I.right,4);if(m<q.left||m>q.right||y<q.top||y>q.bottom)return null;let te=y<R,S=y>j,E=m<pe,U=m>F;return te&&E?I.top>=I.left?"top":"left":te&&U?I.top>=I.right?"top":"right":S&&E?I.bottom>=I.left?"bottom":"left":S&&U?I.bottom>=I.right?"bottom":"right":te?"top":S?"bottom":E?"left":U?"right":null},[]),yt=an(m=>{var j,pe;if(!e.isAnnotating)return;if(e.inspectedElement&&e.activeTool==="hand"&&!("button"in m&&m.button===2)){m.preventDefault(),m.stopPropagation(),t({type:"SELECT_ELEMENT",payload:null});return}let y=z(m),q="shiftKey"in m&&m.shiftKey;if(e.activeTool==="inspector"){if("button"in m&&m.button===2)return;if(ce&&!Gt(ce)){let F=e.annotations.find(et=>{if(!et.linkedSelector||!et.threadId)return!1;try{return ce.matches(et.linkedSelector)}catch(ot){return!1}});if(F!=null&&F.threadId&&c){c(F.threadId),requestAnimationFrame(()=>{var zt;let et=document.querySelector("[data-popmelt-shadow-host]"),ot=(zt=et==null?void 0:et.shadowRoot)==null?void 0:zt.querySelector("[data-popmelt-reply]");ot==null||ot.focus()});return}let te=Bn(ce),S=jn(ce),E=ce.getBoundingClientRect(),U=ce.getAttribute("data-pm");U||(U=Math.random().toString(36).substring(2,8),ce.setAttribute("data-pm",U));let B=`[data-pm="${U}"]`,D=e.styleModifications.some(et=>{try{return ce.matches(et.selector)}catch(ot){return!1}}),Y=e.annotations.filter(et=>{if(!et.linkedSelector)return!1;try{return ce.matches(et.linkedSelector)}catch(ot){return!1}}).length,V=(D?1:0)+Y,be=E.top>=eo*(1+V)?"top-left":"bottom-left",He=Zl(E,be,V,w==null?void 0:w.current);ue({point:He,linkedSelector:B,linkedAnchor:be,elements:[h(f({},te),{selector:S})]})}return}if(e.activeTool==="model"){if("button"in m&&m.button===2)return;if(ge){let F=ge.name;if(v!=null&&v.has(F)){g==null||g(F);return}"shiftKey"in m&&m.shiftKey?gt(S=>{let E=new Map(S);return E.has(F)?E.delete(F):E.set(F,ge),E}):ft.size===1&&ft.has(F)?(u&&u([F]),gt(new Map)):gt(new Map([[F,ge]]))}return}if(e.activeTool==="hand"&&cn&&mt){let F=cn,te=F.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",te));let S=jn(F),E=`[data-pm="${te}"]`,U=Bn(F),B=Qo(F),D=y.x-window.scrollX,Y=y.y-window.scrollY,V=Kt,be=window.getComputedStyle(F).justifyContent,He=0;if(V){let ot=To(F).find(zt=>zt.axis===mt);He=ot?mt==="column"?ot.w:ot.h:0}Ke(F,"transition","none"),Mn.current={isDragging:!0,hasMoved:!1,axis:mt,startX:D,startY:Y,originalRow:V?He:B.row,originalColumn:V?He:B.column,element:F,elementInfo:h(f({},U),{selector:E}),selector:E,durableSelector:S,isAuto:V,originalJustifyContent:be,visualGap:He},dn({axis:mt,row:V?He:B.row,column:V?He:B.column});return}if(e.activeTool==="hand"&&_t&&Ln){let F=_t,te=F.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",te));let S=`[data-pm="${te}"]`,E=Bn(F),{fontSize:U,lineHeight:B}=Gr(F),D=U>0?B/U:1.2,Y=y.x-window.scrollX,V=y.y-window.scrollY;Ke(F,"transition","none");let be=jn(F);un.current={isDragging:!0,property:Ln,startX:Y,startY:V,originalFontSize:U,originalLineHeight:B,originalRatio:D,element:F,elementInfo:h(f({},E),{selector:S}),selector:S,durableSelector:be},so({property:Ln,fontSize:U,lineHeight:B});return}if(e.activeTool==="hand"&&H&&Be){let F=H,te=F.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",te));let S=`[data-pm="${te}"]`,E=jn(F),U=Bn(F),B=er(F),D=F.getBoundingClientRect(),Y=Math.floor(D.height/2),V=y.y-window.scrollY;Ke(F,"transition","none"),bn.current={isDragging:!0,corner:Be,startY:V,original:B,maxRadius:Y,element:F,elementInfo:h(f({},U),{selector:S}),selector:S,durableSelector:E},Rn({corner:Be,radius:f({},B)});return}if(e.activeTool==="hand"&&ke&&je){let F=ke,te=F.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",te));let S=`[data-pm="${te}"]`,E=jn(F),U=Bn(F),B=Cr(F),D=y.x-window.scrollX,Y=y.y-window.scrollY;Ke(F,"transition","none"),we.current={isDragging:!0,side:je,startX:D,startY:Y,original:B,element:F,elementInfo:h(f({},U),{selector:S}),selector:S,durableSelector:E},lt({side:je,padding:f({},B)});return}let I=Ue(y);if(I){let F=e.annotations.find(te=>te.id===I.annotationId);if(F&&F.type!=="text"&&((j=F.status)!=null?j:"pending")==="pending"){Eo({annotationId:I.annotationId,handle:I.handle,startPoint:y,originalPoints:[...F.points],hasMoved:!1});return}}let R=Te(y);if(R&&R.points[0]){if(k&&Ge(),R.type!=="text"?(qn(R.id,q),R.color&&t({type:"SET_COLOR",payload:R.color})):q||zn(),c){let F=R.threadId||(R.groupId?(pe=e.annotations.find(te=>te.groupId===R.groupId&&te.threadId))==null?void 0:pe.threadId:void 0);F&&c(F)}Vt({annotation:R,startPoint:y,hasMoved:!1});return}if(q||zn(),e.activeTool==="text"){k&&Ge();let F=Math.random().toString(36).substring(2,9);Ce({id:F,point:y,text:"",fontSize:12,isNew:!0});return}Z(!0),t({type:"START_PATH",payload:y})},[e.isAnnotating,e.activeTool,e.inspectedElement,e.annotations,k,Ct,ce,ke,je,H,Be,cn,mt,Kt,_t,Ln,ge,ft,v,u,g,c,z,Te,Ue,t,qn,zn,Ge]),$t=an(m=>{var q,I;let y=z(m);if(e.activeTool==="inspector"&&e.isAnnotating){let R=y.x-window.scrollX,j=y.y-window.scrollY,pe=Zo(R,j),F=pe&&Gt(pe)?null:pe;F!==ce&&(Ae(F),rt(F?Bn(F):null));return}if(e.activeTool==="model"&&e.isAnnotating){let R=y.x-window.scrollX,j=y.y-window.scrollY,pe=Zo(R,j);if(pe!==K.current&&(K.current=pe,ln.current=0),pe){let F=di(pe,ln.current);qe(F)}else qe(null);return}if(e.activeTool==="hand"&&e.isAnnotating){let R=y.x-window.scrollX,j=y.y-window.scrollY;ut.current={x:R,y:j},yn({x:R,y:j});let pe=Jt.current.cmd,F=Jt.current.shift;if(Mn.current.isDragging){let S=Mn.current,E=S.element;if(!E)return;if(!S.hasMoved){let Y=Math.abs(R-S.startX),V=Math.abs(j-S.startY);if(Y<=2&&V<=2)return;S.hasMoved=!0,S.isAuto&&(Ke(E,"justify-content","normal"),Ke(E,"row-gap",`${S.visualGap}px`),Ke(E,"column-gap",`${S.visualGap}px`),In(!1))}let U=S.axis,B=S.originalRow,D=S.originalColumn;if(U==="column"){let Y=R-S.startX;D=S.originalColumn+Y,pe||(B=S.originalRow+Y)}else{let Y=j-S.startY;B=S.originalRow+Y,pe||(D=S.originalColumn+Y)}B=Math.max(0,B),D=Math.max(0,D),F&&(B=Xe(B),D=Xe(D)),B=Math.round(B),D=Math.round(D),Ke(E,"row-gap",`${B}px`),Ke(E,"column-gap",`${D}px`),dn({axis:U,row:B,column:D});return}if(bn.current.isDragging){let S=bn.current,E=S.element;if(!E)return;let U=j-S.startY,B=S.corner,D=S.original,Y=f({},D);if(pe){let V=D[B]+U;V=Math.max(0,Math.min(S.maxRadius,V)),F&&(V=Xe(V)),V=Math.round(V),Y[B]=V}else{let V=D[B]+U;V=Math.max(0,Math.min(S.maxRadius,V)),F&&(V=Xe(V)),V=Math.round(V),Y={"top-left":V,"top-right":V,"bottom-right":V,"bottom-left":V}}Ke(E,"border-top-left-radius",`${Y["top-left"]}px`),Ke(E,"border-top-right-radius",`${Y["top-right"]}px`),Ke(E,"border-bottom-right-radius",`${Y["bottom-right"]}px`),Ke(E,"border-bottom-left-radius",`${Y["bottom-left"]}px`),Rn({corner:B,radius:Y});return}if(un.current.isDragging){let S=un.current,E=S.element;if(!E)return;let U=S.property,B=S.originalFontSize,D=S.originalLineHeight,Y=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];if(U==="font-size"){let be=R-S.startX;B=S.originalFontSize+be,B=Math.max(1,B)}else{let be=j-S.startY;D=S.originalLineHeight+be,D=Math.max(B,D)}if(F)if(U==="font-size"){let be=Y[0],He=Math.abs(B-be);for(let et of Y){let ot=Math.abs(B-et);ot<He&&(be=et,He=ot)}B=be}else{let be=B>0?D/B:1.2,He=Math.round(be*2)/2;D=B*Math.max(1,He)}B=Math.round(B),D=Math.round(D*10)/10,Ke(E,"font-size",`${B}px`);let V=B>0?Math.round(D/B*1e3)/1e3:1.2;Ke(E,"line-height",`${V}`),so({property:U,fontSize:B,lineHeight:D});return}if(we.current.isDragging){let S=we.current,E=S.element;if(!E)return;let U=S.side,B=S.original,D=B.top,Y=B.right,V=B.bottom,be=B.left;if(U==="top"){let He=S.startY-j;D=B.top+He,pe||(V=B.bottom+He)}else if(U==="bottom"){let He=j-S.startY;V=B.bottom+He,pe||(D=B.top+He)}else if(U==="left"){let He=S.startX-R;be=B.left+He,pe||(Y=B.right+He)}else if(U==="right"){let He=R-S.startX;Y=B.right+He,pe||(be=B.left+He)}D=Math.max(0,D),Y=Math.max(0,Y),V=Math.max(0,V),be=Math.max(0,be),F&&(D=Xe(D),Y=Xe(Y),V=Xe(V),be=Xe(be)),D=Math.round(D),Y=Math.round(Y),V=Math.round(V),be=Math.round(be),Ke(E,"padding",`${D}px ${Y}px ${V}px ${be}px`),lt({side:U,padding:{top:D,right:Y,bottom:V,left:be}});return}let te=Zo(R,j);for(;te&&te.tagName==="A";)te=te.parentElement;{let E=[];te&&E.push(te),H&&H!==te&&E.push(H);let U=null,B=16,D=null;for(let Y of E){let V=Y.getBoundingClientRect(),be=er(Y),He=[["top-left",V.left,V.top+be["top-left"]],["top-right",V.right,V.top+be["top-right"]],["bottom-right",V.right,V.bottom-be["bottom-right"]],["bottom-left",V.left,V.bottom-be["bottom-left"]]];for(let[et,ot,zt]of He){let it=Math.hypot(R-ot,j-zt);it<B&&(B=it,U=et,D=Y)}}if(U&&D){Pe(D),qt(U),ke&&Tt(null),je&&tt(null),cn&&Xn(null),mt&&Ve(null),In(!1),_t&&Co(null),Ln&&kn(null);return}}H&&Pe(null),Be&&qt(null);{let S=[];te&&gi(te)&&S.push(te);let E=(q=te==null?void 0:te.parentElement)!=null?q:null;for(;E&&E!==document.body&&S.length<3;)gi(E)&&S.push(E),E=E.parentElement;for(let U of S){let D=To(U).find(Y=>R>=Y.x&&R<=Y.x+Y.w&&j>=Y.y&&j<=Y.y+Y.h);if(D){Xn(U),Ve(D.axis),In(ds(U,D.axis)),ke&&Tt(null),je&&tt(null),_t&&Co(null),Ln&&kn(null);return}}}cn&&Xn(null),mt&&Ve(null),In(!1);{let E=[];te&&E.push(te),_t&&_t!==te&&E.push(_t);let U=null,B=1/0,D=null;for(let Y of E){if(!us(Y))continue;let V=Er(Y);if(!V)continue;let be=R>=V.left&&R<=V.right&&j>=V.top&&j<=V.bottom,He=[["font-size",V.right,V.top+V.height/2],["line-height",V.left+V.width/2,V.bottom]];for(let[et,ot,zt]of He){let it=Math.hypot(R-ot,j-zt);(be||it<12)&&it<B&&(B=it,U=et,D=Y)}}U&&D?(Co(D),kn(U)):(_t&&Co(null),Ln&&kn(null))}if(te!==ke&&Tt(te),te){let S=Cr(te),E=te.getBoundingClientRect(),U=Et(R,j,E,S);tt(U)}else tt(null);return}if(Nn){let{handle:R,originalPoints:j,hasMoved:pe}=Nn,F=e.annotations.find(B=>B.id===Nn.annotationId);if(!F)return;let te="metaKey"in m,S=te&&(m.metaKey||m.ctrlKey),E=te&&m.shiftKey,U;if(F.type==="line"){let B=j[0],D=j[j.length-1];R==="start"?U=[y,D]:U=[B,y]}else if(F.type==="freehand"){let B=Math.min(...j.map(Ze=>Ze.x)),D=Math.max(...j.map(Ze=>Ze.x)),Y=Math.min(...j.map(Ze=>Ze.y)),V=Math.max(...j.map(Ze=>Ze.y)),be=(B+D)/2,He=(Y+V)/2,et=D-B||1,ot=V-Y||1,zt=et/ot,it=B,he=D,_e=Y,ct=V;switch(R){case"topLeft":it=y.x,_e=y.y;break;case"topRight":he=y.x,_e=y.y;break;case"bottomLeft":it=y.x,ct=y.y;break;case"bottomRight":he=y.x,ct=y.y;break}if(S)switch(R){case"topLeft":he=D+(B-it),ct=V+(Y-_e);break;case"topRight":it=B-(he-D),ct=V+(Y-_e);break;case"bottomLeft":he=D+(B-it),_e=Y-(ct-V);break;case"bottomRight":it=B-(he-D),_e=Y-(ct-V);break}if(E){let Ze=he-it,Nt=ct-_e;if(Math.abs(Ze/Nt)>zt){let gn=Math.abs(Nt)*zt*Math.sign(Ze);R==="topLeft"||R==="bottomLeft"?it=he-gn:he=it+gn}else{let gn=Math.abs(Ze)/zt*Math.sign(Nt);R==="topLeft"||R==="topRight"?_e=ct-gn:ct=_e+gn}}let st=he-it||1,kt=ct-_e||1;U=j.map(Ze=>({x:it+(Ze.x-B)/et*st,y:_e+(Ze.y-Y)/ot*kt}))}else if(F.type==="circle"){let B=j[0],D=j[j.length-1],Y=Math.min(B.x,D.x),V=Math.max(B.x,D.x),be=Math.min(B.y,D.y),He=Math.max(B.y,D.y),et=(Y+V)/2,ot=(be+He)/2,zt=V-Y,it=He-be,he=Y,_e=V,ct=be,st=He;switch(R){case"top":if(ct=y.y,S&&(st=ot+(ot-y.y)),E){let Ze=(st-ct)*(zt/it)/2;he=et-Ze,_e=et+Ze}break;case"bottom":if(st=y.y,S&&(ct=ot-(y.y-ot)),E){let Ze=(st-ct)*(zt/it)/2;he=et-Ze,_e=et+Ze}break;case"left":if(he=y.x,S&&(_e=et+(et-y.x)),E){let Ze=(_e-he)*(it/zt)/2;ct=ot-Ze,st=ot+Ze}break;case"right":if(_e=y.x,S&&(he=et-(y.x-et)),E){let Ze=(_e-he)*(it/zt)/2;ct=ot-Ze,st=ot+Ze}break}U=[{x:he,y:ct},{x:_e,y:st}]}else{let B=j[0],D=j[j.length-1],Y=Math.min(B.x,D.x),V=Math.max(B.x,D.x),be=Math.min(B.y,D.y),He=Math.max(B.y,D.y),et=(Y+V)/2,ot=(be+He)/2,zt=V-Y||1,it=He-be||1,he=zt/it,_e=Y,ct=V,st=be,kt=He;switch(R){case"topLeft":_e=y.x,st=y.y;break;case"topRight":ct=y.x,st=y.y;break;case"bottomLeft":_e=y.x,kt=y.y;break;case"bottomRight":ct=y.x,kt=y.y;break}if(S)switch(R){case"topLeft":ct=V+(Y-_e),kt=He+(be-st);break;case"topRight":_e=Y-(ct-V),kt=He+(be-st);break;case"bottomLeft":ct=V+(Y-_e),st=be-(kt-He);break;case"bottomRight":_e=Y-(ct-V),st=be-(kt-He);break}if(E){let Ze=ct-_e,Nt=kt-st;if(Math.abs(Ze/Nt)>he){let gn=Math.abs(Nt)*he*Math.sign(Ze);R==="topLeft"||R==="bottomLeft"?_e=ct-gn:ct=_e+gn}else{let gn=Math.abs(Ze)/he*Math.sign(Nt);R==="topLeft"||R==="topRight"?st=kt-gn:kt=st+gn}}U=[{x:_e,y:st},{x:ct,y:kt}]}t({type:"RESIZE_ANNOTATION",payload:{id:Nn.annotationId,points:U,saveUndo:!pe}}),pe||Eo(h(f({},Nn),{hasMoved:!0}));return}if(wt&&((I=wt.annotation.status)!=null?I:"pending")==="pending"){let R=y.x-wt.startPoint.x,j=y.y-wt.startPoint.y;if((Math.abs(R)>2||Math.abs(j)>2)&&!wt.hasMoved)Vt(h(f({},wt),{hasMoved:!0,startPoint:y})),t({type:"MOVE_ANNOTATION",payload:{id:wt.annotation.id,delta:{x:R,y:j},saveUndo:!0}});else if(wt.hasMoved){let F=y.x-wt.startPoint.x,te=y.y-wt.startPoint.y;Vt(h(f({},wt),{startPoint:y})),t({type:"MOVE_ANNOTATION",payload:{id:wt.annotation.id,delta:{x:F,y:te}}})}return}!W||!e.isAnnotating||t({type:"CONTINUE_PATH",payload:y})},[W,e.isAnnotating,e.activeTool,wt,Nn,ce,ke,je,H,Be,cn,mt,_t,Ln,z,t,Xe,Et]),xt=an(m=>{var I,R,j,pe,F,te;if(un.current.isDragging){let S=un.current,E=S.element;if(E&&S.selector&&S.elementInfo&&Mt){E instanceof HTMLElement&&(E.style.removeProperty("font-size"),E.style.removeProperty("line-height"),E.style.removeProperty("transition"));let U=[];if(S.originalFontSize!==Mt.fontSize&&(Ke(E,"font-size",`${Mt.fontSize}px`),U.push({property:"font-size",original:`${S.originalFontSize}px`,modified:`${Mt.fontSize}px`})),S.originalLineHeight!==Mt.lineHeight){let B=S.originalFontSize>0?Math.round(S.originalLineHeight/S.originalFontSize*1e3)/1e3:1.2,D=Mt.fontSize>0?Math.round(Mt.lineHeight/Mt.fontSize*1e3)/1e3:1.2;Ke(E,"line-height",`${D}`),U.push({property:"line-height",original:`${B}`,modified:`${D}`})}U.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(I=S.durableSelector)!=null?I:void 0,element:S.elementInfo,changes:U}})}un.current={isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null},so(null);return}if(Mn.current.isDragging){let S=Mn.current,E=S.element,U="button"in m&&m.button===2;if(!S.hasMoved&&!U&&E&&S.selector&&S.elementInfo){E instanceof HTMLElement&&E.style.removeProperty("transition");let B=["space-between","space-around","stretch","normal"],D=S.originalJustifyContent||"normal",Y=B.indexOf(D),V=B[(Y+1)%B.length],be=[];V==="normal"?(Ke(E,"justify-content","normal"),be.push({property:"justify-content",original:S.originalJustifyContent,modified:"normal"})):V==="stretch"?(Ke(E,"justify-content",V),Ke(E,"row-gap","8px"),Ke(E,"column-gap","8px"),be.push({property:"justify-content",original:S.originalJustifyContent||"normal",modified:V}),S.originalRow!==8&&be.push({property:"row-gap",original:`${S.originalRow}px`,modified:"8px"}),S.originalColumn!==8&&be.push({property:"column-gap",original:`${S.originalColumn}px`,modified:"8px"})):(E instanceof HTMLElement&&(E.style.removeProperty("row-gap"),E.style.removeProperty("column-gap")),Ke(E,"justify-content",V),be.push({property:"justify-content",original:S.originalJustifyContent||"normal",modified:V}),S.originalRow>0&&be.push({property:"row-gap",original:`${S.originalRow}px`,modified:"0px"}),S.originalColumn>0&&be.push({property:"column-gap",original:`${S.originalColumn}px`,modified:"0px"})),be.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(R=S.durableSelector)!=null?R:void 0,element:S.elementInfo,changes:be}})}else if(S.hasMoved&&E&&S.selector&&S.elementInfo&&nt){E instanceof HTMLElement&&(E.style.removeProperty("row-gap"),E.style.removeProperty("column-gap"),E.style.removeProperty("transition"));let B=[];S.isAuto?(E instanceof HTMLElement&&E.style.removeProperty("justify-content"),Ke(E,"justify-content","normal"),Ke(E,"row-gap",`${nt.row}px`),Ke(E,"column-gap",`${nt.column}px`),B.push({property:"justify-content",original:S.originalJustifyContent,modified:"normal"}),B.push({property:"row-gap",original:"0px",modified:`${nt.row}px`}),B.push({property:"column-gap",original:"0px",modified:`${nt.column}px`})):(S.originalRow!==nt.row&&(Ke(E,"row-gap",`${nt.row}px`),B.push({property:"row-gap",original:`${S.originalRow}px`,modified:`${nt.row}px`})),S.originalColumn!==nt.column&&(Ke(E,"column-gap",`${nt.column}px`),B.push({property:"column-gap",original:`${S.originalColumn}px`,modified:`${nt.column}px`}))),B.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(j=S.durableSelector)!=null?j:void 0,element:S.elementInfo,changes:B}})}Mn.current={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},dn(null);return}if(bn.current.isDragging){let S=bn.current,E=S.element;if(E&&S.selector&&S.elementInfo&&Ot){E instanceof HTMLElement&&(E.style.removeProperty("border-top-left-radius"),E.style.removeProperty("border-top-right-radius"),E.style.removeProperty("border-bottom-right-radius"),E.style.removeProperty("border-bottom-left-radius"),E.style.removeProperty("transition"));let U=["top-left","top-right","bottom-right","bottom-left"],B={"top-left":"border-top-left-radius","top-right":"border-top-right-radius","bottom-right":"border-bottom-right-radius","bottom-left":"border-bottom-left-radius"},D=[];for(let Y of U)S.original[Y]!==Ot.radius[Y]&&(Ke(E,B[Y],`${Ot.radius[Y]}px`),D.push({property:B[Y],original:`${S.original[Y]}px`,modified:`${Ot.radius[Y]}px`}));D.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(pe=S.durableSelector)!=null?pe:void 0,element:S.elementInfo,changes:D}})}bn.current={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},Rn(null);return}if(we.current.isDragging){let S=we.current,E=S.element,U=S.selector,B=S.elementInfo;if(E&&U&&B&&St){let D=S.original,Y=St.padding;E instanceof HTMLElement&&(E.style.removeProperty("padding"),E.style.removeProperty("transition"));let V=[],be=[{prop:"padding-top",origVal:D.top,newVal:Y.top},{prop:"padding-right",origVal:D.right,newVal:Y.right},{prop:"padding-bottom",origVal:D.bottom,newVal:Y.bottom},{prop:"padding-left",origVal:D.left,newVal:Y.left}];for(let{prop:He,origVal:et,newVal:ot}of be)et!==ot&&(Ke(E,He,`${ot}px`),V.push({property:He,original:`${et}px`,modified:`${ot}px`}));V.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:U,durableSelector:(F=S.durableSelector)!=null?F:void 0,element:B,changes:V}})}we.current={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},lt(null);return}if(Nn){Eo(null);return}if(wt){if(!wt.hasMoved&&wt.annotation.type==="text"&&((te=wt.annotation.status)!=null?te:"pending")==="pending"){let S=z(m);Ce({id:wt.annotation.id,point:wt.annotation.points[0],text:wt.annotation.text||"",fontSize:wt.annotation.fontSize||12,isNew:!1,clickPoint:S,groupId:wt.annotation.groupId})}Vt(null);return}if(!W)return;let y=5;if(e.currentPath.length>=2){let S=e.currentPath[0],E=e.currentPath[e.currentPath.length-1],U=Math.abs(E.x-S.x),B=Math.abs(E.y-S.y);if((e.activeTool==="line"?Math.sqrt(U*U+B*B)<y:U<y&&B<y)&&["rectangle","circle","line"].includes(e.activeTool)){Z(!1),t({type:"CANCEL_PATH"});return}}let q=is(e.currentPath);if(e.activeTool==="rectangle"&&e.currentPath.length>=2){let S=e.currentPath[0],E=e.currentPath[e.currentPath.length-1],U=Math.min(S.x,E.x),B=Math.max(S.y,E.y),D=e.strokeWidth/2,Y=Math.random().toString(36).substring(2,9);le({point:{x:U-D+4,y:B+D+4},groupId:Y}),Z(!1),t({type:"FINISH_PATH",payload:{groupId:Y,elements:q}});return}Z(!1),t({type:"FINISH_PATH",payload:{elements:q}})},[W,wt,Nn,St,Ot,nt,Mt,z,t,e.activeTool,e.currentPath,e.strokeWidth]),pn=an(m=>{let y=m.target.value;x.current=m.target.selectionStart,Ce(q=>q&&h(f({},q),{text:y}))},[]),yo=an(m=>{m.key==="Escape"?Ce(null):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),Ge())},[Ge]),Hn=an(m=>{if(!k)return;let y=m.clipboardData.items,q=[];for(let I=0;I<y.length;I++){let R=y[I];if(R.type.startsWith("image/")){let j=R.getAsFile();j&&q.push(j)}}q.length>0&&(m.preventDefault(),Ce(I=>I?h(f({},I),{images:[...I.images||[],...q]}):null))},[k]),Cn=an(m=>{if(!e.isAnnotating)return;if(e.activeTool==="hand"){m.preventDefault();let q=ke||cn||H||_t;if(q&&!Gt(q)){let I=Bn(q),R=jn(q);t({type:"SELECT_ELEMENT",payload:{el:q,info:h(f({},I),{selector:R})}})}return}m.preventDefault();let y=N.current;y&&(oe.current=!0,y.style.pointerEvents="none",setTimeout(()=>{oe.current&&(oe.current=!1,y.style.pointerEvents="")},4e3))},[e.activeTool,e.isAnnotating,ke,cn,H,_t,t,Gt,N]);En(()=>{let m=Ie.filter(pe=>pe.linkedSelector);if(m.length===0)return;let y=null,q=document.createElement("canvas").getContext("2d"),I=()=>{var F,te,S;let pe=[];for(let E of m){let U=document.querySelector(E.linkedSelector);if(!U&&((te=(F=E.elements)==null?void 0:F[0])!=null&&te.selector)&&E.linkedSelector.startsWith("[data-pm=")){try{U=document.querySelector(E.elements[0].selector)}catch(it){}if(U){let it=(S=E.linkedSelector.match(/data-pm="([^"]+)"/))==null?void 0:S[1];it&&U.setAttribute("data-pm",it)}}if(!U)continue;let B=U.getBoundingClientRect(),D=e.styleModifications.some(it=>{try{return U.matches(it.selector)}catch(he){return!1}}),Y=m.filter(it=>it.id!==E.id&&it.timestamp<E.timestamp&&it.linkedSelector===E.linkedSelector).length,V=(D?1:0)+Y,be;if(E.text&&q){let it=E.fontSize||12;q.font=`${it}px ${Zt}`,be=Math.max(...E.text.split(`
5
- `).map(he=>q.measureText(he).width))}let He=B.top>=eo*(1+V)?"top-left":"bottom-left",et=Zl(B,He,V,w==null?void 0:w.current,be),ot=E.points[0],zt=He!==E.linkedAnchor;ot&&(zt||Math.abs(et.x-ot.x)>1||Math.abs(et.y-ot.y)>1)&&pe.push({id:E.id,point:et,linkedAnchor:zt?He:void 0})}pe.length>0&&t({type:"UPDATE_LINKED_POSITIONS",payload:{updates:pe}})},R=()=>{y&&cancelAnimationFrame(y),y=requestAnimationFrame(I)};I(),window.addEventListener("scroll",R,!0),window.addEventListener("resize",R,!0),window.addEventListener("load",R),document.fonts.ready.then(R);let j=new MutationObserver(R);return j.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",R,!0),window.removeEventListener("resize",R,!0),window.removeEventListener("load",R),j.disconnect(),y&&cancelAnimationFrame(y)}},[Ie,t]);let At=()=>{var m,y,q;if(!e.isAnnotating)return"default";if(Nn){let{handle:I}=Nn;return I==="start"||I==="end"?"move":I==="top"||I==="bottom"?"ns-resize":I==="left"||I==="right"?"ew-resize":I==="topLeft"||I==="bottomRight"?"nwse-resize":"nesw-resize"}if(e.activeTool==="text")return"text";if(e.activeTool==="hand"){let I=(m=nt==null?void 0:nt.axis)!=null?m:mt;if(I==="row")return"ns-resize";if(I==="column")return"ew-resize";if(Ot||Be)return"ns-resize";let R=(y=Mt==null?void 0:Mt.property)!=null?y:Ln;if(R==="font-size")return"ew-resize";if(R==="line-height")return"ns-resize";let j=(q=St==null?void 0:St.side)!=null?q:je;return j==="top"||j==="bottom"?"ns-resize":j==="left"||j==="right"?"ew-resize":"default"}return"crosshair"},An={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:9998,pointerEvents:e.isAnnotating?"auto":"none",visibility:e.isAnnotating?"visible":"hidden",cursor:At()},It=an(()=>{let m=N.current;if(!m||!k)return{width:100,height:12*1.4,isWrapped:!1};let y=m.getContext("2d");if(!y)return{width:100,height:k.fontSize*1.4,isWrapped:!1};y.font=`${k.fontSize}px ${Zt}`;let I=y.measureText("Type here...").width,R=k.text.split(`
6
- `),j=R.length>0?Math.max(I,...R.map(E=>y.measureText(E||" ").width)):I,pe=k.point.x-on.x,F=br(pe);if(j>F){let E=Ka(y,R,F),U=Math.min(F,Math.max(I,...E.map(D=>y.measureText(D).width))),B=Math.max(1,E.length)*k.fontSize*1.4;return{width:U,height:B,isWrapped:!0}}let S=Math.max(1,R.length)*k.fontSize*1.4;return{width:j,height:S,isWrapped:!1}},[k,N,on.x])(),fn=k?Math.max(1,k.text.split(`
7
- `).length)*k.fontSize*1.4+8:0,Tn=It.height+8,zo=It.isWrapped?Tn-fn:0,Wo=k?{position:"fixed",left:k.point.x-4-on.x,top:k.point.y-4-on.y-zo,zIndex:9999,width:It.width+8,height:Tn,padding:4,fontSize:k.fontSize,fontFamily:Zt,color:"#ffffff",backgroundColor:e.activeColor,border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:1.4,resize:"none",overflow:"hidden",whiteSpace:It.isWrapped?"pre-wrap":"pre",wordBreak:It.isWrapped?"break-word":void 0}:{};return Ar(Pr,{children:[pt("canvas",{ref:G,id:"devtools-canvas",style:An,onMouseDown:yt,onMouseMove:$t,onMouseUp:m=>xt(m),onMouseLeave:m=>{xt(m),Ae(null),rt(null)},onTouchStart:yt,onTouchMove:$t,onTouchEnd:m=>xt(m),onContextMenu:Cn}),k&&Ar(Pr,{children:[pt("style",{children:"#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }"}),pt("textarea",{id:"devtools-text-input",ref:Me,value:k.text,onChange:pn,onKeyDown:yo,onPaste:Hn,onBlur:Ge,placeholder:"Type here...",style:Wo}),k.images&&k.images.length>0&&Ar("div",{"data-devtools":!0,style:{position:"fixed",left:k.point.x-4-on.x,top:k.point.y-4-on.y-20,zIndex:1e4,fontSize:11,fontFamily:"system-ui, sans-serif",color:"#fff",backgroundColor:"rgba(0,0,0,0.7)",padding:"2px 6px",borderRadius:3,whiteSpace:"nowrap"},children:[k.images.length," image",k.images.length>1?"s":""," attached"]})]}),e.isAnnotating&&e.activeTool!=="hand"&&e.styleModifications.length>0&&pt(Rl,{styleModifications:e.styleModifications,isInspecting:!!e.inspectedElement,accentColor:e.activeColor,annotationGroupCount:new Set(Ie.map(m=>m.groupId||m.id)).size,dispatch:t,inFlightSelectors:s,toolbarRef:w,onHoverSelector:ie}),e.activeTool==="hand"&&e.isAnnotating&&e.styleModifications.length>0&&pt(Al,{styleModifications:e.styleModifications,accentColor:e.activeColor}),e.isAnnotating&&pt(bl,{annotations:Ie,supersededAnnotations:Oe,inFlightIds:o,activeIds:r,queuePositions:i,scrollX:on.x,scrollY:on.y,annotationGroupMap:Lt,onViewThread:c,onSelectAnnotation:qn,onHoverAnnotation:ae,canvasRef:N}),e.isAnnotating&&d&&pt(xl,{annotations:Ie,supersededAnnotations:Oe,scrollX:on.x,scrollY:on.y,onReply:d,annotationGroupMap:Lt,canvasRef:N,onHoverAnnotation:ae}),e.isAnnotating&&a&&a.size>0&&pt(fs,{inFlightSelectorColors:a}),e.isAnnotating&&Ut&&pt(fs,{inFlightSelectorColors:Ut,animated:!1}),e.activeTool==="hand"&&e.isAnnotating&&(nt?Mn.current.element:cn)&&pt(xs,{element:nt?Mn.current.element:cn,gap:nt?{row:nt.row,column:nt.column}:Qo(cn),accentColor:e.activeColor,hoveredAxis:mt,draggingAxis:(Wi=nt==null?void 0:nt.axis)!=null?Wi:null,cursorViewport:Yt,isAutoGap:Kt,refreshKey:mo}),e.activeTool==="hand"&&e.isAnnotating&&nn&&pt(Xl,{element:nn.target,modifier:nn.modifier,accentColor:e.activeColor,refreshKey:mo}),e.activeTool==="hand"&&e.isAnnotating&&!nn&&(Ot?bn.current.element:H)&&pt(El,{element:Ot?bn.current.element:H,radius:(Zr=Ot==null?void 0:Ot.radius)!=null?Zr:er(H),accentColor:e.activeColor,hoveredCorner:Be,draggingCorner:(Hr=Ot==null?void 0:Ot.corner)!=null?Hr:null,cursorViewport:Yt}),e.activeTool==="hand"&&e.isAnnotating&&!nn&&(Mt?un.current.element:_t)&&pt(Kl,{element:Mt?un.current.element:_t,fontSize:(ia=Mt==null?void 0:Mt.fontSize)!=null?ia:Gr(_t).fontSize,lineHeight:(sa=Mt==null?void 0:Mt.lineHeight)!=null?sa:Gr(_t).lineHeight,accentColor:e.activeColor,hoveredProperty:Ln,draggingProperty:(aa=Mt==null?void 0:Mt.property)!=null?aa:null,cursorViewport:Yt}),e.activeTool==="hand"&&e.isAnnotating&&!nn&&(St?we.current.element:ke)&&pt(ks,{element:St?we.current.element:ke,padding:(la=St==null?void 0:St.padding)!=null?la:Cr(ke),accentColor:e.activeColor,hoveredSide:je,draggingSide:(ca=St==null?void 0:St.side)!=null?ca:null,cursorViewport:Yt,refreshKey:Mt?Mt.fontSize+Mt.lineHeight*1e3:0}),e.activeTool==="inspector"&&e.isAnnotating&&pt(Pr,{children:ce&&!e.inspectedElement&&(()=>{let m=(k==null?void 0:k.linkedSelector)||(M==null?void 0:M.linkedSelector);if(m)try{if(ce.matches(m))return null}catch(q){}let y=!!M||!!(k!=null&&k.linkedSelector)||Ie.some(q=>{if(!q.linkedSelector)return!1;try{return ce.matches(q.linkedSelector)}catch(I){return!1}});return pt(bo,{element:ce,isSelected:!1,elementInfo:$e,color:e.activeColor,hideTooltip:y})})()}),((k==null?void 0:k.linkedSelector)||(M==null?void 0:M.linkedSelector))&&(()=>{let m=(k==null?void 0:k.linkedSelector)||(M==null?void 0:M.linkedSelector);if(!m)return null;let y=null;try{y=document.querySelector(m)}catch(q){}return y?pt(bo,{element:y,isSelected:!0,color:e.activeColor,hideTooltip:!0}):null})(),P&&(()=>{let m=e.annotations.find(I=>I.id===P);if(!(m!=null&&m.linkedSelector))return null;let y=null;try{y=document.querySelector(m.linkedSelector)}catch(I){}if(!y)return null;let q=!!(o&&o.has(m.id));return pt(bo,{element:y,isSelected:!q,color:m.color,hideTooltip:!0})})(),Je&&(()=>{let m=e.annotations.find(R=>R.id===Je);if(!(m!=null&&m.linkedSelector))return null;let y=null;try{y=document.querySelector(m.linkedSelector)}catch(R){}if(!y)return null;let q=m.groupId?e.annotations.filter(R=>R.groupId===m.groupId):[m],I=!!(o&&q.some(R=>o.has(R.id)));return pt(bo,{element:y,isSelected:!I,color:m.color,hideTooltip:!0})})(),X&&(()=>{let m=null;try{m=document.querySelector(X)}catch(q){}if(!m)return null;let y=!!(s&&s.has(X));return pt(bo,{element:m,isSelected:!y,color:e.activeColor,hideTooltip:!0})})(),e.activeTool==="model"&&e.isAnnotating&&ft.size>0&&[...ft.entries()].map(([m,y])=>pt(bo,{element:y.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:y.rootElement.tagName.toLowerCase(),reactComponent:m},color:"#8b5cf6"},m)),e.activeTool==="model"&&e.isAnnotating&&C&&pt(bo,{element:C.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:C.rootElement.tagName.toLowerCase(),reactComponent:C.name},color:"#22c55e"}),e.activeTool==="model"&&e.isAnnotating&&ne.length>0&&ne.map((m,y)=>pt("div",{style:{position:"absolute",left:m.x,top:m.y,width:m.width,height:m.height,backgroundColor:"rgba(255, 0, 0, 0.08)",pointerEvents:"none",zIndex:9998},children:m.direction==="vertical"?Ar(Pr,{children:[pt("div",{style:{position:"absolute",left:"50%",top:0,width:6,height:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),pt("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),pt("div",{style:{position:"absolute",left:"50%",bottom:0,width:6,height:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),pt("div",{style:{position:"absolute",left:"calc(50% + 6px)",top:m.height<16?-6:"50%",transform:m.height<16?"none":"translateY(-50%)",fontSize:11,fontWeight:600,color:"#fff",backgroundColor:"#FF0000",padding:"2px 4px",whiteSpace:"nowrap",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1},children:Math.round(m.height)})]}):Ar(Pr,{children:[pt("div",{style:{position:"absolute",left:0,top:"50%",width:1,height:6,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),pt("div",{style:{position:"absolute",left:0,right:0,top:"50%",height:1,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),pt("div",{style:{position:"absolute",right:0,top:"50%",width:1,height:6,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),pt("div",{style:{position:"absolute",left:m.width<30?0:"50%",top:(m.width<30,void 0),bottom:"calc(50% + 4px)",transform:m.width<30?"none":"translateX(-50%)",fontSize:11,fontWeight:600,color:"#fff",backgroundColor:"#FF0000",padding:"2px 4px",whiteSpace:"nowrap",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1},children:Math.round(m.width)})]})},y)),e.activeTool==="model"&&e.isAnnotating&&ge&&pt(bo,{element:ge.rootElement,isSelected:!1,elementInfo:{selector:"",tagName:ge.rootElement.tagName.toLowerCase(),reactComponent:ge.name},color:v!=null&&v.has(ge.name)?"#22c55e":"#8b5cf6"}),e.activeTool==="hand"&&e.isAnnotating&&e.inspectedElement&&Ar(Pr,{children:[ht&&ht!=="padding"&&ht!=="gap"&&(()=>{var F;let m=new Set(Ie.map(te=>te.groupId||te.id)).size,y=e.inspectedElement.info.selector,q=e.styleModifications.findIndex(te=>te.selector===y),I=q>=0?m+q+1:m+e.styleModifications.length+1,R=e.styleModifications.find(te=>te.selector===y),j=(F=R==null?void 0:R.changes.length)!=null?F:0,pe=!!(R!=null&&R.captured);return pt(bo,{element:e.inspectedElement.el,isSelected:!0,elementInfo:e.inspectedElement.info,color:pe?"#999999":e.activeColor,annotationNumber:I,changeCount:j})})(),ht==="padding"&&pt(ks,{element:e.inspectedElement.el,padding:Cr(e.inspectedElement.el),accentColor:e.activeColor,hoveredSide:null,draggingSide:null}),ht==="gap"&&pt(xs,{element:e.inspectedElement.el,gap:Qo(e.inspectedElement.el),accentColor:e.activeColor,hoveredAxis:null,draggingAxis:null}),pt(Ul,{element:e.inspectedElement.el,elementInfo:e.inspectedElement.info,selector:e.inspectedElement.info.selector,styleModifications:e.styleModifications,dispatch:t,onClose:()=>t({type:"SELECT_ELEMENT",payload:null}),onHover:Ft,accentColor:e.activeColor,toolbarRef:w})]})]})}import{useCallback as Vn,useEffect as hn,useMemo as ar,useRef as Ht,useState as lr}from"react";import{Check as kf,Circle as Tf,Component as Mf,Hand as If,MessageCircle as Rf,Pen as Lf,RefreshCw as Af,Slash as Pf,Square as Of,Trash2 as Bf,Type as Df}from"lucide-react";import{useEffect as ec,useRef as tc}from"react";function nc(e,t,n,o,r){let i=tc(0),s=tc(t.annotations);ec(()=>{if(!n.current||!e)return;s.current=t.annotations;let a=t.annotations.length;a>0&&(a>=i.current||!o)&&(localStorage.setItem(r.annotations,JSON.stringify(t.annotations)),i.current=a)},[t.annotations,e,o,n,r]),ec(()=>{n.current&&(localStorage.setItem(r.expanded,String(e)),e&&(localStorage.setItem(r.styleMods,JSON.stringify(t.styleModifications)),localStorage.setItem(r.spacingChanges,JSON.stringify(t.spacingTokenChanges)),localStorage.setItem(r.tool,t.activeTool),localStorage.setItem(r.color,t.activeColor),localStorage.setItem(r.stroke,String(t.strokeWidth)),t.inspectedElement?localStorage.setItem(r.inspected,JSON.stringify({selector:t.inspectedElement.info.selector,info:t.inspectedElement.info})):localStorage.removeItem(r.inspected)))},[e,t.styleModifications,t.spacingTokenChanges,t.activeTool,t.activeColor,t.strokeWidth,t.inspectedElement,n,r])}import{Component as Gp,createElement as jp,useCallback as Bi,useEffect as No,useRef as ir,useState as Un}from"react";import{Link2 as Yp}from"lucide-react";var Tp={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},Mp=/^#[0-9a-fA-F]{3,8}$/,Ip=/^(?:rgba?|hsla?|oklch|oklab|lch|lab)\(/,Rp=new Set(["transparent","currentcolor","inherit","white","black","red","green","blue","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]);function rc(e){let t=e.trim().toLowerCase();return Mp.test(t)||Ip.test(t)||Rp.has(t)}var Lp=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function $s(e){return Lp.test(e.trim())}var oc=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function Ap(e){let t=e.trim().toLowerCase();return!!(oc.has(t)||t.includes(",")&&t.split(",").some(n=>oc.has(n.trim().replace(/['"]/g,""))))}function Pp(e){let t=e.trim().toLowerCase(),n=t.match(/\d+(\.\d+)?px/g);return!!(n&&n.length>=2&&(rc(t.replace(/[^#()\w,.\s/%]/g,"").split(/\s+/).pop()||"")||t.includes("rgb")||t.includes("hsl")||t.includes("#")))}var Op=/(?:^--(color|bg|fg|accent|border-color|text-color|surface|background|foreground))|(?:-(color|bg|fg)$)/i,Bp=/^--(font-family|font|ff|family)/i,Dp=/^--(font-size|text-size|fs|text-(?:xs|sm|base|md|lg|xl|2xl|3xl|4xl|5xl))/i,_p=/^--(space|gap|padding|margin|inset)/i,Np=/^--(radius|rounded|br|border-radius)/i,Hp=/^--(shadow|elevation|drop-shadow)/i;function ic(e,t){let n=e.toLowerCase();return Hp.test(n)?"shadows":Np.test(n)?"radii":Bp.test(n)?"fonts":Dp.test(n)&&$s(t)?"typeScale":Op.test(n)||rc(t)?"colors":Ap(t)?"fonts":Pp(t)?"shadows":_p.test(n)&&$s(t)||$s(t)?"spacing":"other"}function sc(e,t,n,o){if(e)for(let r of e){if(r instanceof CSSGroupingRule){sc(r.cssRules,t,n,o);continue}if(r instanceof CSSStyleRule){let i=r.selectorText.toLowerCase();(i===":root"||i==="html"||i==="*"||i.includes(":root"))&&Fp(r.style,t,n,o)}}}var ac=/var\((--[^,)]+)/;function Fp(e,t,n,o){for(let r=0;r<e.length;r++){let i=e[r];if(!(i!=null&&i.startsWith("--"))||n.has(i))continue;n.add(i);let s=t.getPropertyValue(i).trim();if(!s)continue;let a=ic(i,s);o[a].push([i,s]);let d=e.getPropertyValue(i).trim().match(ac);d&&(o.references[i]=d[1])}}function Li(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)/);return t?parseFloat(t[1]):null}function Pi(e){let t=e.trim().toLowerCase(),n=t.match(/oklch\(\s*([\d.]+%?)/);if(n){let i=n[1];return i.endsWith("%")?parseFloat(i)/100:parseFloat(i)}let o=t.match(/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);if(o){let[i,s,a]=[parseInt(o[1],10),parseInt(o[2],10),parseInt(o[3],10)];return(.2126*i+.7152*s+.0722*a)/255}let r=t.match(/hsla?\(\s*[\d.]+[,\s]+[\d.]+%?[,\s]+([\d.]+)%?/);if(r)return parseFloat(r[1])/100;if(t.startsWith("#")){let i=t.slice(1);(i.length===3||i.length===4)&&(i=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]);let s=parseInt(i.slice(0,2),16),a=parseInt(i.slice(2,4),16),l=parseInt(i.slice(4,6),16);if(!isNaN(s))return(.2126*s+.7152*a+.0722*l)/255}return null}function lc(e){return e==="colors"?(t,n)=>{let o=Pi(t[1]),r=Pi(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:e==="typeScale"||e==="spacing"||e==="radii"?(t,n)=>{let o=Li(t[1]),r=Li(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:e==="other"?(t,n)=>{let o=Li(t[1]),r=Li(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:(t,n)=>t[0].localeCompare(n[0])}function $p(e){let t=e.replace(/^--/,"");t=t.replace(/^(?:color|clr)-/,"");let n=t.split("-");return n.length>1&&/^\d+$/.test(n[n.length-1])&&n.pop(),n.join("-")}function cc(e){let t=new Map;for(let r of e){let i=$p(r[0]),s=t.get(i);s||(s=[],t.set(i,s)),s.push(r)}let n=lc("colors");for(let r of t.values())r.sort(n);let o=[...t.entries()];return o.sort((r,i)=>{var l,d;let s=(l=Pi(r[1][0][1]))!=null?l:0,a=(d=Pi(i[1][0][1]))!=null?d:0;return s-a}),o}var zp=["colors","fonts","typeScale","spacing","radii","shadows","other"],Ai=null,Wp=5e3;function dc(){if(typeof document=="undefined")return Tp;if(Ai&&Date.now()-Ai.timestamp<Wp)return Ai.tokens;let e={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},t=new Set,n=getComputedStyle(document.documentElement);try{for(let r of document.styleSheets)try{sc(r.cssRules||r.rules,n,t,e)}catch(i){}}catch(r){}let o=document.documentElement.style;for(let r=0;r<o.length;r++){let i=o[r];if(!(i!=null&&i.startsWith("--"))||t.has(i))continue;t.add(i);let s=n.getPropertyValue(i).trim();if(!s)continue;let a=ic(i,s);e[a].push([i,s]);let d=o.getPropertyValue(i).trim().match(ac);d&&(e.references[i]=d[1])}for(let r of zp)e[r].sort(lc(r));return Ai={tokens:e,timestamp:Date.now()},e}import{Fragment as sr,jsx as Fe,jsxs as Qt}from"react/jsx-runtime";var uc="popmelt-library-tab",Jp=/^#[0-9a-fA-F]{3,8}$/,Up=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,Vp=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]),Xp=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function fc(e){let t=e.trim();return Jp.test(t)||Up.test(t)||Vp.has(t.toLowerCase())}function Kp(e){return Xp.test(e.trim())}function qp(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)px$/);return t?parseFloat(t[1]):null}function gc(e,t=""){if(e==null)return[];if(typeof e!="object")return[[t,String(e)]];if(Array.isArray(e))return[[t,e.map(String).join(", ")]];let n=[];for(let[o,r]of Object.entries(e)){let i=t?`${t}.${o}`:o;if(r!==null&&typeof r=="object"&&!Array.isArray(r)){let s=r;typeof s.value=="string"?n.push([i,s.value]):n.push(...gc(r,i))}else n.push([i,Array.isArray(r)?r.map(String).join(", "):String(r!=null?r:"")])}return n}function Zp(e){return e.length===0?"generic":e.filter(([,o])=>fc(o)).length>e.length/2?"colors":e.filter(([,o])=>Kp(o)).length>e.length/2?"spacing":"generic"}var Qp=h(f({width:300,backgroundColor:"#eaeaea"},Mr),{boxSizing:"content-box",zIndex:10001,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12,pointerEvents:"auto"}),mc={border:"none",background:"none",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"2px 0",color:"#9ca3af"},ef=h(f({},mc),{color:"#1f2937",borderBottom:"1.5px solid #1f2937"});function tf({varName:e,value:t,reference:n}){return Fe("div",{title:n?`${e} \u2192 ${n}
8
- ${t}`:`${e}: ${t}`,style:{width:28,height:28,backgroundColor:t,outline:"1px solid rgba(0,0,0,0.08)",outlineOffset:-1,position:"relative"},children:n&&Fe(Yp,{size:10,strokeWidth:2.5,style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:"white",filter:"drop-shadow(0 0 1px rgba(0,0,0,0.5))"}})})}function hc({entries:e,references:t}){let n=[],o=[];for(let i of e)fc(i[1])?n.push(i):o.push(i);let r=cc(n);return Qt(sr,{children:[r.map(([i,s])=>Qt("div",{style:{marginBottom:4},children:[Qt("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:2},children:[i,s.length>1?` (${s.length})`:""]}),Fe("div",{style:{display:"flex",flexWrap:"wrap",gap:2},children:s.map(([a,l])=>Fe(tf,{varName:a,value:l,reference:t[a]},a))})]},i)),o.length>0&&Fe(Di,{entries:o})]})}var Oi=[0,1,2,4,8,12,16,20,24,28,32];function nf(e){if(e<=32){let t=Oi[0],n=Math.abs(e-t);for(let o=1;o<Oi.length;o++){let r=Math.abs(e-Oi[o]);r<n&&(t=Oi[o],n=r)}return t}return Math.round(e/8)*8}function of({label:e,value:t,px:n,tokenPath:o,rawToken:r,onHover:i,onModify:s,onDelete:a}){let[l,d]=Un(!1),[c,p]=Un(null),u=ir(!1),g=ir(0),b=ir(0),v=ir([]),A=c!==null?c:n,T=c!==null?`${c}px`:t,$=c!==null,P=Bi(w=>{w.preventDefault(),u.current=!0,g.current=w.clientX,b.current=n;let N=ui(r);v.current=as(N);let se=G=>{let oe=G.clientX-g.current,W=Math.max(0,Math.round(b.current+oe));G.shiftKey&&(W=nf(W));for(let Z of v.current)Z.element.style.setProperty(Z.property,W+"px","important");p(W),i==null||i({name:e,px:W,token:N})},ee=()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",ee),document.body.style.cursor="",u.current=!1,p(G=>{if(G!==null&&G!==n&&s){let oe=ui(r),W=oe.bindings&&oe.bindings.length>0,Z;if(W){let fe=cs(oe.bindings,b.current,G);Z=JSON.stringify(h(f({},oe),{value:`${G}px`,bindings:fe}))}else{let fe=ll(v.current,b.current),_=cl(v.current);if(fe.length>0){let le=cs(fe,b.current,G);Z=JSON.stringify({value:`${G}px`,property:_,bindings:le})}else Z=`${G}px`}let k=typeof r=="string"?r:JSON.stringify(r),Ce=v.current.map(fe=>({selector:jn(fe.element),property:fe.property})),Q=ul(v.current,b.current,G);s({tokenPath:o,originalValue:k,currentValue:Z,targets:Ce,originalPx:b.current,currentPx:G},{id:Math.random().toString(36).substring(2,9),tokenPath:o,tokenName:e,originalPx:b.current,newPx:G,affectedElements:Q})}return G})};document.body.style.cursor="ew-resize",window.addEventListener("mousemove",se),window.addEventListener("mouseup",ee)},[n,e,o,r,i,s]),O=ui(r);return Qt("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:11,padding:"1px 0",cursor:"ew-resize",userSelect:"none"},onMouseEnter:()=>{u.current||(d(!0),i==null||i({name:e,px:A,token:O}))},onMouseLeave:()=>{u.current||(d(!1),i==null||i(null))},onMouseDown:P,children:[Fe("span",{style:{color:l||$?"#FF0000":"#9ca3af"},children:e}),Qt("span",{style:{display:"flex",alignItems:"center",gap:4},children:[Fe("span",{style:{color:l||$?"#FF0000":"#6b7280",fontWeight:600},children:T}),a&&l&&!$&&Fe("button",{type:"button",title:"Remove token",onMouseDown:w=>{w.stopPropagation();let N=typeof r=="string"?r:JSON.stringify(r);a(o,N)},style:{border:"none",background:"none",cursor:"pointer",padding:0,fontSize:10,lineHeight:1,color:"#9ca3af"},onMouseEnter:w=>{w.currentTarget.style.color="#FF0000"},onMouseLeave:w=>{w.currentTarget.style.color="#9ca3af"},children:"\u2715"})]})]})}function rf({entries:e,categoryKey:t,rawTokens:n,onHover:o,onModify:r,onDelete:i}){let s=[],a=[];for(let l of e){let d=qp(l[1]);d!==null?s.push([l[0],l[1],d]):a.push(l)}return Qt(sr,{children:[s.length>0&&Fe("div",{style:{display:"flex",flexDirection:"column",gap:2},children:s.map(([l,d,c])=>{let p=l.split(".").pop(),u=n?sf(n,l):d,g=u&&typeof u=="object"&&"value"in u?u:d;return Fe(of,{label:p,value:d,px:c,tokenPath:`tokens.${t}.${l}`,rawToken:g,onHover:o,onModify:r,onDelete:i},l)})}),a.length>0&&Fe(Di,{entries:a})]})}function sf(e,t){let n=t.split("."),o=e;for(let r of n){if(o==null||typeof o!="object")return;o=o[r]}return o}function Di({entries:e}){return Fe("div",{style:{display:"flex",flexDirection:"column",gap:3},children:e.map(([t,n])=>Qt("div",{style:{fontSize:11},children:[Fe("div",{style:{color:"#9ca3af",fontSize:10,marginBottom:1},children:t}),Fe("div",{style:{color:"#1f2937",lineHeight:1.4,paddingLeft:8},children:n})]},t))})}function af({entries:e,categoryKey:t,rawTokens:n,onSpacingHover:o,onModifyToken:r,onDeleteToken:i}){let s=Zp(e);return s==="colors"?Fe(hc,{entries:e}):s==="spacing"?Fe(rf,{entries:e,categoryKey:t,rawTokens:n,onHover:o,onModify:r,onDelete:i}):Fe(Di,{entries:e})}function lf(e){let t=e.toLowerCase(),n=null,o=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode(i){return i.closest("#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel]")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),r=o.currentNode;for(;r=o.nextNode();){let i=r,s=Object.keys(i).find(l=>l.startsWith("__reactFiber$")||l.startsWith("__reactInternalInstance$"));if(!s)continue;let a=i[s];for(;a;){let l=a.type,d=typeof l=="function"||typeof l=="object"?(l==null?void 0:l.displayName)||(l==null?void 0:l.name):null;if(typeof d=="string"){let c=d.toLowerCase();if(c===t){let p=f({},a.memoizedProps);return delete p.ref,{type:l,props:p}}if(!n){if(c.length>=4&&t.includes(c)){let p=f({},a.memoizedProps);delete p.ref,n={type:l,props:p}}else if(t.length>=4&&c.includes(t)){let p=f({},a.memoizedProps);delete p.ref,n={type:l,props:p}}}}a=a.return}}return n}var zs=class extends Gp{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(){this.props.onError()}render(){return this.state.hasError?null:this.props.children}},yc="popmelt-principles-collapsed";function cf(){try{let e=localStorage.getItem(yc);if(e)return new Set(JSON.parse(e))}catch(e){}return new Set}function df(e){try{localStorage.setItem(yc,JSON.stringify([...e]))}catch(t){}}function uf({id:e,label:t,count:n,children:o,collapsed:r,onToggle:i}){return Qt("div",{style:{marginBottom:14},children:[Qt("div",{onClick:()=>i(e),style:{fontWeight:700,fontSize:11,color:"#6b7280",letterSpacing:"0.05em",marginBottom:r?0:6,cursor:"pointer",display:"flex",alignItems:"center",gap:4,userSelect:"none"},children:[Fe("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:10,fontSize:9,color:"#9ca3af",transform:r?"rotate(-90deg)":"rotate(0deg)"},children:"\u25BC"}),t,Fe("span",{style:{fontWeight:400,color:"#9ca3af"},children:n})]}),!r&&o]})}var pf={colors:"Colors",fonts:"Fonts",typeScale:"Type Scale",spacing:"Spacing",radii:"Radii",shadows:"Shadows",other:"Other"},pc=["colors","fonts","typeScale","spacing","radii","shadows","other"];function ff(){let[e,t]=Un(null),[n,o]=Un(cf);No(()=>{t(dc())},[]);let r=Bi(s=>{o(a=>{let l=new Set(a);return l.has(s)?l.delete(s):l.add(s),df(l),l})},[]);return e?pc.some(s=>e[s].length>0)?Fe(sr,{children:pc.map(s=>{let a=e[s];return a.length===0?null:Fe(uf,{id:s,label:pf[s],count:a.length,collapsed:n.has(s),onToggle:r,children:s==="colors"?Fe(hc,{entries:a,references:e.references}):Fe(Di,{entries:a})},s)})}):Fe("div",{style:{color:"#9ca3af",fontSize:11},children:"No :root tokens found."}):null}function gf({rules:e,onSynthesize:t,isSynthesizing:n}){if(!e||e.length===0)return Fe("div",{style:{color:"#9ca3af",fontSize:11},children:"No rules defined yet."});if(!e.some(i=>typeof i=="object"&&i!==null&&"scope"in i))return Fe(sr,{children:e.map((i,s)=>Qt("div",{style:{display:"flex",gap:6,marginBottom:4,lineHeight:1.4,fontSize:11},children:[Qt("span",{style:{color:"#9ca3af",flexShrink:0},children:[s+1,"."]}),Fe("span",{children:typeof i=="string"?i:i.text})]},s))});let r=new Map;for(let i of e)if(typeof i=="string")r.has("general")||r.set("general",[]),r.get("general").push({id:"",text:i});else{let s=i.scope||"general";r.has(s)||r.set(s,[]),r.get(s).push({id:i.id,text:i.text})}return Qt(sr,{children:[t&&Fe("button",{type:"button",disabled:n,onClick:t,style:{width:"100%",border:"1px solid rgba(0,0,0,0.12)",background:n?"rgba(0,0,0,0.04)":"rgba(0,0,0,0.02)",cursor:n?"default":"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"5px 8px",marginBottom:10,color:n?"#9ca3af":"#6b7280"},children:n?"Synthesizing\u2026":"Synthesize"}),Array.from(r.entries()).map(([i,s])=>Qt("div",{style:{marginBottom:10},children:[Fe("div",{style:{fontWeight:700,fontSize:10,color:"#6b7280",letterSpacing:"0.05em",textTransform:"uppercase",marginBottom:4},children:i}),s.map((a,l)=>Qt("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4,fontSize:11},children:[Fe("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2022"}),Fe("span",{children:a.text})]},a.id||l))]},i))]})}function mf({name:e,value:t,selected:n,highlighted:o,onRemove:r,onHover:i}){var G;let[s,a]=Un(!1),[l,d]=Un(!1),c=ir(null),p=ir(0),[u,g]=Un(0),[b,v]=Un(0),A=gc(t),T=(G=A.find(([oe])=>oe==="description"))==null?void 0:G[1];No(()=>{if(!l&&!o){g(0),v(0),p.current=0;return}let oe=Sr(e);g(oe.length)},[l,o,e]),No(()=>{n&&c.current&&c.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[n]);let $=n||o||l,P=n?"139,92,246":"34,197,94",O=n?"#8b5cf6":"#22c55e",w=$?`rgba(${P},0.06)`:void 0,N=$?`inset 0 0 0 1.5px rgba(${P},0.35)`:void 0,se=o||l,ee=Bi(()=>{let oe=Sr(e);if(oe.length===0)return;let W=p.current%oe.length;oe[W].rootElement.scrollIntoView({behavior:"smooth",block:"center"}),v(W),p.current=W+1,i==null||i({name:e,instanceIndex:W})},[e,i]);return Qt("div",{ref:c,onClick:ee,onMouseEnter:()=>{d(!0),i==null||i({name:e,instanceIndex:0})},onMouseLeave:()=>{d(!1),i==null||i(null)},style:{marginBottom:8,background:w,padding:6,boxShadow:N,cursor:"pointer"},children:[Qt("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[Qt("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[Fe("div",{style:{fontWeight:700,fontSize:11,letterSpacing:"0.05em",padding:"2px 6px",backgroundColor:se?O:"transparent",color:se?"#fff":"#6b7280"},children:e}),se&&u>1&&Qt("span",{style:{fontSize:10,fontWeight:600,color:"#9ca3af"},children:[b+1,"/",u]})]}),r&&l&&Fe("button",{type:"button",title:"Remove from model",onClick:oe=>{oe.stopPropagation(),r(e)},style:{border:"none",background:"none",cursor:"pointer",padding:"0 2px",fontSize:14,lineHeight:1,color:"#9ca3af",marginTop:-4},onMouseEnter:oe=>{oe.currentTarget.style.color="#FF0000"},onMouseLeave:oe=>{oe.currentTarget.style.color="#9ca3af"},children:"\u2715"})]}),T&&Fe("div",{style:{fontSize:11,color:se?"#1f2937":"#9ca3af",marginBottom:6,lineHeight:1.4},children:T}),s?Fe(af,{entries:A.filter(([oe])=>oe!=="description"),categoryKey:""}):Fe(hf,{name:e,onNotFound:()=>a(!0),entries:A})]})}function hf({name:e,onNotFound:t}){let[n,o]=Un(null),[r,i]=Un(!1);return No(()=>{let s=lf(e);s||t(),o(s),i(!0)},[e,t]),!r||!n?null:Fe(zs,{onError:t,children:Fe("div",{"data-popmelt-panel":!0,onClick:s=>{s.preventDefault(),s.stopPropagation()},style:{width:"100%",overflowY:"auto",overflowX:"hidden",maxHeight:150,padding:"1rem",outline:"1px solid rgba(0,0,0,0.06)",backgroundColor:"rgb(250,250,250)",boxSizing:"border-box",marginBottom:4,display:"flex",flexDirection:"column",justifyContent:"stretch",alignItems:"center",contain:"layout paint",position:"relative",isolation:"isolate"},children:Fe("div",{style:{zoom:.5,pointerEvents:"none"},children:jp(n.type,n.props)})})})}function yf({components:e,selectedComponent:t,hoveredComponent:n,onRemove:o,onHover:r}){if(!e||Object.keys(e).length===0)return Fe("div",{style:{color:"#9ca3af",fontSize:11},children:"No component patterns defined yet."});let i=new Set(Object.keys(e)),s=rs(i),a=Object.entries(e).sort(([l],[d])=>{var c,p;return((c=s.get(l))!=null?c:1/0)-((p=s.get(d))!=null?p:1/0)});return Fe(sr,{children:a.map(([l,d])=>Fe(mf,{name:l,value:d,selected:t===l,highlighted:n===l,onRemove:o,onHover:r},l))})}function bc({bridgeUrl:e,modelRefreshKey:t,onMouseEnter:n,onMouseLeave:o,selectedComponent:r,hoveredComponent:i,onComponentHover:s,onSpacingTokenHover:a,onModifySpacingToken:l,onDeleteSpacingToken:d,onComponentAdded:c,onComponentRemoved:p,onSynthesizeRules:u,isSynthesizing:g,snapPosition:b="bottom-right"}){let[v,A]=Un(void 0),[T,$]=Un(!0),[P,O]=Un(()=>{try{let W=localStorage.getItem(uc);if(W==="patterns"||W==="principles"||W==="rules")return W}catch(W){}return"patterns"});No(()=>{fr(e).then(W=>{A(W),$(!1)})},[e,t]),No(()=>{try{localStorage.setItem(uc,P)}catch(W){}},[P]),No(()=>{r&&(O("patterns"),fr(e).then(W=>{W&&A(W)}))},[r,e]);let w=Bi(W=>{A(Z=>{if(!(Z!=null&&Z.components))return Z;let Q=Z.components,{[W]:k}=Q,Ce=Zn(Q,[Ao(W)]);return h(f({},Z),{components:Ce})}),p==null||p(W)},[p]),N=v==null?void 0:v.components,se=v==null?void 0:v.rules,ee=N&&Object.keys(N).length>0,G=se&&se.length>0,oe=ir(null);return No(()=>{let W=oe.current;if(!W)return;let Z=n,k=o;return Z&&W.addEventListener("mouseenter",Z),k&&W.addEventListener("mouseleave",k),()=>{Z&&W.removeEventListener("mouseenter",Z),k&&W.removeEventListener("mouseleave",k)}},[n,o]),Qt("div",{ref:oe,style:f(f({},Qp),Ya(b)),children:[Qt("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[Fe("span",{children:"Model"}),Fe("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:"M"})]}),Fe("div",{style:{display:"flex",gap:12,marginBottom:10,borderBottom:"1px solid rgba(0,0,0,0.08)",paddingBottom:6},children:["patterns","principles","rules"].map(W=>Fe("button",{type:"button",style:P===W?ef:mc,onClick:()=>O(W),children:W.charAt(0).toUpperCase()+W.slice(1)},W))}),Fe("div",{style:{flex:1,overflowY:"auto",minHeight:0},children:P==="principles"?Fe(ff,{}):T?Fe("div",{style:{color:"#9ca3af",fontSize:11},children:"Loading..."}):!v||!ee&&!G?Fe("div",{style:{color:"#9ca3af",lineHeight:1.5},children:"No design model yet. Pattern-scoped annotations will build one automatically."}):Qt(sr,{children:[P==="patterns"&&Fe(yf,{components:N,selectedComponent:r,hoveredComponent:i,onRemove:w,onHover:s}),P==="rules"&&Fe(gf,{rules:se,onSynthesize:u,isSynthesizing:g})]})})]})}import{jsx as Lo}from"react/jsx-runtime";var bf="M 233.959793 800.214905 L 468.644287 668.536987 L 472.590637 657.100647 L 468.644287 650.738403 L 457.208069 650.738403 L 417.986633 648.322144 L 283.892639 644.69812 L 167.597321 639.865845 L 54.926208 633.825623 L 26.577238 627.785339 L 3.3e-05 592.751709 L 2.73832 575.27533 L 26.577238 559.248352 L 60.724873 562.228149 L 136.187973 567.382629 L 249.422867 575.194763 L 331.570496 580.026978 L 453.261841 592.671082 L 472.590637 592.671082 L 475.328857 584.859009 L 468.724915 580.026978 L 463.570557 575.194763 L 346.389313 495.785217 L 219.543671 411.865906 L 153.100723 363.543762 L 117.181267 339.060425 L 99.060455 316.107361 L 91.248367 266.01355 L 123.865784 230.093994 L 167.677887 233.073853 L 178.872513 236.053772 L 223.248367 270.201477 L 318.040283 343.570496 L 441.825592 434.738342 L 459.946411 449.798706 L 467.194672 444.64447 L 468.080597 441.020203 L 459.946411 427.409485 L 392.617493 305.718323 L 320.778564 181.932983 L 288.80542 130.630859 L 280.348999 99.865845 C 277.369171 87.221436 275.194641 76.590698 275.194641 63.624268 L 312.322174 13.20813 L 332.8591 6.604126 L 382.389313 13.20813 L 403.248352 31.328979 L 434.013519 101.71814 L 483.865753 212.537048 L 561.181274 363.221497 L 583.812134 407.919434 L 595.892639 449.315491 L 600.40271 461.959839 L 608.214783 461.959839 L 608.214783 454.711609 L 614.577271 369.825623 L 626.335632 265.61084 L 637.771851 131.516846 L 641.718201 93.745117 L 660.402832 48.483276 L 697.530334 24.000122 L 726.52356 37.852417 L 750.362549 72 L 747.060486 94.067139 L 732.886047 186.201416 L 705.100708 330.52356 L 686.979919 427.167847 L 697.530334 427.167847 L 709.61084 415.087341 L 758.496704 350.174561 L 840.644348 247.490051 L 876.885925 206.738342 L 919.167847 161.71814 L 946.308838 140.29541 L 997.61084 140.29541 L 1035.38269 196.429626 L 1018.469849 254.416199 L 965.637634 321.422852 L 921.825562 378.201538 L 859.006714 462.765259 L 819.785278 530.41626 L 823.409424 535.812073 L 832.75177 534.92627 L 974.657776 504.724915 L 1051.328979 490.872559 L 1142.818848 475.167786 L 1184.214844 494.496582 L 1188.724854 514.147644 L 1172.456421 554.335693 L 1074.604126 578.496765 L 959.838989 601.449829 L 788.939636 641.879272 L 786.845764 643.409485 L 789.261841 646.389343 L 866.255127 653.637634 L 899.194702 655.409424 L 979.812134 655.409424 L 1129.932861 666.604187 L 1169.154419 692.537109 L 1192.671265 724.268677 L 1188.724854 748.429688 L 1128.322144 779.194641 L 1046.818848 759.865845 L 856.590759 714.604126 L 791.355774 698.335754 L 782.335693 698.335754 L 782.335693 703.731567 L 836.69812 756.885986 L 936.322205 846.845581 L 1061.073975 962.81897 L 1067.436279 991.490112 L 1051.409424 1014.120911 L 1034.496704 1011.704712 L 924.885986 929.234924 L 882.604126 892.107544 L 786.845764 811.48999 L 780.483276 811.48999 L 780.483276 819.946289 L 802.550415 852.241699 L 919.087341 1027.409424 L 925.127625 1081.127686 L 916.671204 1098.604126 L 886.469849 1109.154419 L 853.288696 1103.114136 L 785.073914 1007.355835 L 714.684631 899.516785 L 657.906067 802.872498 L 650.979858 806.81897 L 617.476624 1167.704834 L 601.771851 1186.147705 L 565.530212 1200 L 535.328857 1177.046997 L 519.302124 1139.919556 L 535.328857 1066.550537 L 554.657776 970.792053 L 570.362488 894.68457 L 584.536926 800.134277 L 592.993347 768.724976 L 592.429626 766.630859 L 585.503479 767.516968 L 514.22821 865.369263 L 405.825531 1011.865906 L 320.053711 1103.677979 L 299.516815 1111.812256 L 263.919525 1093.369263 L 267.221497 1060.429688 L 287.114136 1031.114136 L 405.825531 880.107361 L 477.422913 786.52356 L 523.651062 732.483276 L 523.328918 724.671265 L 520.590698 724.671265 L 205.288605 929.395935 L 149.154434 936.644409 L 124.993355 914.01355 L 127.973183 876.885986 L 139.409409 864.80542 L 234.201385 799.570435 L 233.879227 799.8927 Z",xf="M60.8734,57.2556v-14.9432c0-1.2586.4722-2.2029,1.5728-2.8314l30.0443-17.3023c4.0899-2.3593,8.9662-3.4599,13.9988-3.4599,18.8759,0,30.8307,14.6289,30.8307,30.2006,0,1.1007,0,2.3593-.158,3.6178l-31.1446-18.2467c-1.8872-1.1006-3.7754-1.1006-5.6629,0l-39.4812,22.9651ZM131.0276,115.4561v-35.7074c0-2.2028-.9446-3.7756-2.8318-4.8763l-39.481-22.9651,12.8982-7.3934c1.1007-.6285,2.0453-.6285,3.1458,0l30.0441,17.3024c8.6523,5.0341,14.4708,15.7296,14.4708,26.1107,0,11.9539-7.0769,22.965-18.2461,27.527v.0021ZM51.593,83.9964l-12.8982-7.5497c-1.1007-.6285-1.5728-1.5728-1.5728-2.8314v-34.6048c0-16.8303,12.8982-29.5722,30.3585-29.5722,6.607,0,12.7403,2.2029,17.9324,6.1349l-30.987,17.9324c-1.8871,1.1007-2.8314,2.6735-2.8314,4.8764v45.6159l-.0014-.0015ZM79.3562,100.0403l-18.4829-10.3811v-22.0209l18.4829-10.3811,18.4812,10.3811v22.0209l-18.4812,10.3811ZM91.2319,147.8591c-6.607,0-12.7403-2.2031-17.9324-6.1344l30.9866-17.9333c1.8872-1.1005,2.8318-2.6728,2.8318-4.8759v-45.616l13.0564,7.5498c1.1005.6285,1.5723,1.5728,1.5723,2.8314v34.6051c0,16.8297-13.0564,29.5723-30.5147,29.5723v.001ZM53.9522,112.7822l-30.0443-17.3024c-8.652-5.0343-14.471-15.7296-14.471-26.1107,0-12.1119,7.2356-22.9652,18.403-27.5272v35.8634c0,2.2028.9443,3.7756,2.8314,4.8763l39.3248,22.8068-12.8982,7.3938c-1.1007.6287-2.045.6287-3.1456,0ZM52.2229,138.5791c-17.7745,0-30.8306-13.3713-30.8306-29.8871,0-1.2585.1578-2.5169.3143-3.7754l30.987,17.9323c1.8871,1.1005,3.7757,1.1005,5.6628,0l39.4811-22.807v14.9435c0,1.2585-.4721,2.2021-1.5728,2.8308l-30.0443,17.3025c-4.0898,2.359-8.9662,3.4605-13.9989,3.4605h.0014ZM91.2319,157.296c19.0327,0,34.9188-13.5272,38.5383-31.4594,17.6164-4.562,28.9425-21.0779,28.9425-37.908,0-11.0112-4.719-21.7066-13.2133-29.4143.7867-3.3035,1.2595-6.607,1.2595-9.909,0-22.4929-18.2471-39.3247-39.3251-39.3247-4.2461,0-8.3363.6285-12.4262,2.045-7.0792-6.9213-16.8318-11.3254-27.5271-11.3254-19.0331,0-34.9191,13.5268-38.5384,31.4591C11.3255,36.0212,0,52.5373,0,69.3675c0,11.0112,4.7184,21.7065,13.2125,29.4142-.7865,3.3035-1.2586,6.6067-1.2586,9.9092,0,22.4923,18.2466,39.3241,39.3248,39.3241,4.2462,0,8.3362-.6277,12.426-2.0441,7.0776,6.921,16.8302,11.3251,27.5271,11.3251Z",vf="M29.8768 25.3531C30.9809 25.3531 31.876 26.2481 31.876 27.3522V31.3505C31.876 32.4545 30.9809 33.3496 29.8768 33.3496C28.7727 33.3496 27.8777 32.4545 27.8777 31.3505V27.3522C27.8777 26.2481 28.7727 25.3531 29.8768 25.3531ZM19.8812 25.3531C20.9852 25.3531 21.8803 26.2481 21.8803 27.3522V31.3505C21.8803 32.4545 20.9852 33.3496 19.8812 33.3496C18.7771 33.3496 17.882 32.4545 17.882 31.3505V27.3522C17.882 26.2481 18.7771 25.3531 19.8812 25.3531ZM24.8601 40.8772C36.974 40.8772 46.9603 33.8278 48.6801 30.8403C48.8058 30.6218 48.8464 30.3723 48.8464 30.1202V24.8018C48.8464 24.5813 48.8124 24.3622 48.7308 24.1574C47.9871 22.2899 46.0394 19.5773 43.5257 18.8495C43.1925 17.994 42.6989 16.7433 42.2384 15.8201C42.3154 15.1138 42.3426 14.3853 42.3426 13.6492C42.3426 10.99 41.7789 8.65743 40.0805 6.92044C39.2872 6.10915 38.3028 5.48684 37.1355 5.01903C34.3398 2.74775 30.2723 0.837036 24.8169 0.837036C19.3616 0.837036 15.3805 2.74775 12.5847 5.01903C11.4174 5.48684 10.433 6.10915 9.63975 6.92044C7.9413 8.65743 7.37764 10.99 7.37764 13.6492C7.37764 14.3853 7.40477 15.1138 7.48186 15.8201C7.02133 16.7433 6.52774 17.994 6.19449 18.8495C3.68082 19.5773 1.73309 22.2899 0.989389 24.1574C0.907813 24.3622 0.873779 24.5813 0.873779 24.8018V30.1202C0.873779 30.3723 0.914376 30.6218 1.04014 30.8403C2.75994 33.8278 12.7462 40.8772 24.8601 40.8772ZM26.485 13.0046C26.4 12.3422 26.3595 11.749 26.3584 11.2191L26.3584 11.1772C26.361 9.63975 26.6971 8.63938 27.2339 8.02499C27.9156 7.2448 29.3246 6.64707 32.2941 6.96844C35.3026 7.29402 36.9842 8.04072 37.9376 9.01574C38.8606 9.95971 39.3455 11.372 39.3455 13.6492C39.3455 16.0687 38.9969 17.4982 38.2302 18.3678C37.5012 19.1946 36.0656 19.8674 32.9214 19.8674C30.5041 19.8674 29.1221 19.0812 28.2386 17.9939C27.2899 16.8264 26.7559 15.1161 26.485 13.0046ZM23.2353 13.0046C23.3203 12.3422 23.3607 11.749 23.3619 11.2191L23.3619 11.1772C23.3592 9.63974 23.0232 8.63937 22.4863 8.02498C21.8046 7.24479 20.3957 6.64707 17.4261 6.96843C14.4176 7.29402 12.736 8.04071 11.7826 9.01573C10.8596 9.9597 10.3747 11.372 10.3747 13.6492C10.3747 16.0687 10.7234 17.4982 11.49 18.3677C12.219 19.1946 13.6546 19.8674 16.7989 19.8674C19.2161 19.8674 20.5981 19.0812 21.4816 17.9939C22.4304 16.8264 22.9643 15.1161 23.2353 13.0046ZM25.2042 18.8676L25.0543 18.8676C24.8715 18.8678 24.6005 18.868 24.516 18.8676C24.3045 19.2218 24.0693 19.5618 23.8075 19.884C22.2697 21.7764 19.9741 22.8644 16.7988 22.8644C13.3524 22.8644 10.8266 22.1471 9.24196 20.3498C9.15187 20.2476 9.07125 20.1406 9.07125 20.1406L8.87613 20.3498V33.5049C11.7429 35.0628 17.8959 37.8586 24.8601 37.8586C31.8243 37.8586 37.9773 35.0628 40.8441 33.5049V20.3498L40.649 20.1406C40.649 20.1406 40.5829 20.231 40.4783 20.3498C38.8936 22.1471 36.3678 22.8644 32.9214 22.8644C29.7461 22.8644 27.4506 21.7764 25.9127 19.884C25.6509 19.5618 25.4157 19.2218 25.2042 18.8676Z";function Sf({size:e=16,style:t}){return Lo("svg",{width:e,height:e,viewBox:"0 0 1200 1200",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:Lo("path",{d:bf})})}function wf({size:e=16,style:t}){return Lo("svg",{width:e,height:e,viewBox:"0 0 158.7128 157.296",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:Lo("path",{d:xf})})}function Cf({size:e=16,style:t}){return Lo("svg",{width:e,height:e,viewBox:"0 0 49.7202 40.0402",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:Lo("path",{d:vf,fillRule:"evenodd",clipRule:"evenodd"})})}function Vr({provider:e,size:t=16,style:n}){return e==="codex"?Lo(wf,{size:t,style:n}):e==="copilot"?Lo(Cf,{size:t,style:n}):Lo(Sf,{size:t,style:n})}var _i=[{id:"claude-opus-4-6",label:"Opus 4.6",source:"static"},{id:"claude-sonnet-4-6",label:"Sonn 4.6",source:"static"}],Ni=[{id:"gpt-5.4",label:"GPT 5.4",source:"static"},{id:"gpt-5.3-codex",label:"Codex 5.3",source:"static"},{id:"gpt-5.3-codex-spark",label:"Spark 5.3",source:"static"}],Ws=[{id:"",label:"Default",source:"static"}];var Ef=[..._i,...Ni,...Ws];function Gs(e,t){if(t==="copilot"&&!e)return"Copilot";if(!e)return t==="codex"?"Codex":"Claude Code";let n=Ef.find(o=>o.id===e);return n?n.label:e.replace(/-\d{8,}$/,"")}import{jsx as vc}from"react/jsx-runtime";var oo={iconDefault:"#1f2937",iconActive:"#1f2937",bgActive:"#dedede",bgHover:"#e2e2e2",separator:"#e5e7eb"};function Ho({children:e,active:t,siblingActive:n,disabled:o,onClick:r,title:i}){let s=()=>o?.4:n&&!t?.5:1,a={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:0,border:"none",cursor:o?"default":"pointer",transition:"background-color 150ms ease, color 150ms ease, transform 100ms ease, opacity 150ms ease",backgroundColor:t?oo.bgActive:"transparent",color:t?oo.iconActive:oo.iconDefault,opacity:s()};return vc("button",{type:"button",onClick:o?void 0:r,title:i,disabled:o,style:a,onMouseEnter:l=>{o||(l.currentTarget.style.opacity="1",t||(l.currentTarget.style.backgroundColor=oo.bgHover))},onMouseLeave:l=>{o||(l.currentTarget.style.opacity=String(s()),t||(l.currentTarget.style.backgroundColor="transparent"))},onMouseDown:l=>{o||(l.currentTarget.style.transform="scale(0.95)")},onMouseUp:l=>{o||(l.currentTarget.style.transform="scale(1)")},children:e})}function xc(){return vc("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 8px"}})}import{Fragment as Xr,jsx as xe,jsxs as Pt}from"react/jsx-runtime";function _f(e,t){if(e<=0)return[];if(e<=4)return Array.from({length:e},(r,i)=>({key:`model-${i}`,index:i,active:i===t}));let n=e-1,o=r=>({key:`model-${r}`,index:r,active:r===t});return t===0?[o(0),o(1),o(2),{key:"overflow-after",overflow:!0}]:t===1?[{key:"overflow-before",overflow:!0},o(1),o(2),{key:"overflow-after",overflow:!0}]:t===n-1?[{key:"overflow-before",overflow:!0},o(n-2),o(n-1),o(n)]:t===n?[{key:"overflow-before",overflow:!0},o(n-2),o(n-1),o(n)]:t%2===0?[{key:"overflow-before",overflow:!0},o(t-1),o(t),{key:"overflow-after",overflow:!0}]:[{key:"overflow-before",overflow:!0},o(t),o(t+1),{key:"overflow-after",overflow:!0}]}var cr=[{type:"rectangle",icon:Of,label:"Rectangle",shortcut:"R"},{type:"circle",icon:Tf,label:"Oval",shortcut:"O"},{type:"line",icon:Pf,label:"Line",shortcut:"L"},{type:"freehand",icon:Lf,label:"Pen",shortcut:"P"}],Nf=new Set(cr.map(e=>e.type));function Hf(e,t,n,o,r,i,s,a){let l=(e-r)*(o-i)-(n-r)*(t-i),d=(e-s)*(i-a)-(r-s)*(t-a),c=(e-n)*(a-o)-(s-n)*(t-o),p=l<0||d<0||c<0,u=l>0||d>0||c>0;return!(p&&u)}function Ff(e="bottom-right"){return Ja(e,window.innerWidth,window.innerHeight)}var $f=[{type:"text",icon:Df,label:"Text",shortcut:"T"}],Sc={inspector:{name:"Comment",desc:"Pin feedback to specific elements on the page.",usage:["Click any element to attach a comment","Type your note, then hand off to your AI","Your AI may ask clarifying questions","Replies get threaded"],keys:[{key:"C",desc:"Select tool"},{key:"Click",desc:"Pin comment to element"},{key:"Esc",desc:"Deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},hand:{name:"Handle",desc:"Quickly finetune layout and typescale.",usage:["Edges \u2192 padding","Between items \u2192 spacing","Corners \u2192 rounding","Right of text \u2192 font size","Below text \u2192 line height","Click a spacing handle to cycle distribution","Right-click \u2192 inspect element styles"],keys:[{key:"H",desc:"Select tool"},{key:"Shift",desc:"Snap to scale"},{key:"\u2325 + swipe",desc:"Cycle justify / flip direction"},{key:"\u21E7 + swipe",desc:"Cycle align-items"},{key:"Right-click",desc:"Inspect styles"},{key:"Esc",desc:"Deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},rectangle:{name:"Rectangle",desc:"Draw rectangular highlights to mark areas of interest.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"R",desc:"Rectangle"},{key:"O",desc:"Oval"},{key:"L",desc:"Line"},{key:"P",desc:"Pen"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},circle:{name:"Oval",desc:"Draw oval highlights to mark areas of interest.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"O",desc:"Oval"},{key:"R",desc:"Rectangle"},{key:"L",desc:"Line"},{key:"P",desc:"Pen"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},line:{name:"Line",desc:"Draw line annotations to point at or connect elements.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"L",desc:"Line"},{key:"R",desc:"Rectangle"},{key:"O",desc:"Oval"},{key:"P",desc:"Pen"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},freehand:{name:"Pen",desc:"Draw freehand paths to annotate freely.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"P",desc:"Pen"},{key:"R",desc:"Rectangle"},{key:"O",desc:"Oval"},{key:"L",desc:"Line"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},text:{name:"Text",desc:"Place text labels anywhere on the page.",usage:["Click to place, then start typing","Click away or press Enter to finish","Scroll while hovering a label to resize it"],keys:[{key:"T",desc:"Select tool"},{key:"Esc",desc:"Cancel text or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},model:{name:"Model",desc:"Promote components into the local design model.",usage:["Hover to highlight component boundaries","Scroll to walk up/down the component tree","Click to add to model.json","Green = already in model"],keys:[{key:"M",desc:"Select tool"},{key:"Scroll",desc:"Walk tree depth"},{key:"Click",desc:"Promote component"},{key:"Esc",desc:"Deselect"}]},counter:{name:"Annotations",desc:"Click to cycle, scroll to change color, long press to reset.",usage:[],keys:[{key:"Click",desc:"Cycle annotations"},{key:"Scroll",desc:"Change color"},{key:"Hold",desc:"Reset to red"}]},clear:{name:"Clear",desc:"Remove all annotations and style changes.",usage:[],keys:[{key:"\u2318 \u232B",desc:"Clear all"},{key:"\u232B",desc:"Delete selected annotation"},{key:"\u2318 Z",desc:"Undo"},{key:"\u2318 \u21E7 Z",desc:"Redo"}]},collapse:{name:"Popmelt",desc:`Comment and zhuzh, then hand off.
2
+ var md=Object.defineProperty,hd=Object.defineProperties;var yd=Object.getOwnPropertyDescriptors;var fi=Object.getOwnPropertySymbols;var Ta=Object.prototype.hasOwnProperty,Ma=Object.prototype.propertyIsEnumerable;var ka=(e,t,n)=>t in e?md(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))Ta.call(t,n)&&ka(e,n,t[n]);if(fi)for(var n of fi(t))Ma.call(t,n)&&ka(e,n,t[n]);return e},y=(e,t)=>hd(e,yd(t));var uo=e=>typeof e=="symbol"?e:e+"",Dn=(e,t)=>{var n={};for(var o in e)Ta.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&fi)for(var o of fi(e))t.indexOf(o)<0&&Ma.call(e,o)&&(n[o]=e[o]);return n};import{createContext as Km,useCallback as $t,useContext as Xm,useEffect as Pt,useMemo as vo,useRef as on,useState as Et}from"react";import{useCallback as Wa,useEffect as xd,useSyncExternalStore as Sd}from"react";var Sn="http://localhost:1111";function Rn(e,t={},n=15e3){let o=new AbortController;t.signal&&t.signal.addEventListener("abort",()=>o.abort());let r=setTimeout(()=>o.abort(),n);return fetch(e,y(f({},t),{signal:o.signal})).finally(()=>clearTimeout(r))}async function Ra(e=Sn){try{let t=await Rn(`${e}/capabilities`,{},5e3);return t.ok?await t.json():null}catch(t){return null}}async function _o(e=Sn){try{let t=new AbortController,n=setTimeout(()=>t.abort(),2e3),o=await fetch(`${e}/status`,{signal:t.signal});return clearTimeout(n),o.ok?await o.json():null}catch(t){return null}}async function Ia(e){try{let t=new AbortController,n=setTimeout(()=>t.abort(),500),o=await fetch(`http://localhost:${e}/status`,{signal:t.signal});return clearTimeout(n),o.ok?await o.json():null}catch(t){return null}}async function bd(e){return _o(e)}async function La(e,t){if(e&&e!=="http://localhost:1111")try{let c=new URL(e),u=await bd(e);if(!u&&!t)return null;if(!(!u&&t)){if(!(u&&t&&u.projectId!==t)){if(u)return{url:e,port:parseInt(c.port,10)||1111,projectId:u.projectId}}}}catch(c){if(!t)return null}let s=typeof window!="undefined"?window.location.origin:null,i=await Ia(1111);if(i){if(t&&i.projectId===t)return{url:"http://localhost:1111",port:1111,projectId:i.projectId};if(i.devOrigin&&s&&i.devOrigin===s)return{url:"http://localhost:1111",port:1111,projectId:i.projectId}}let l=Array.from({length:8},(c,u)=>{let p=1112+u;return Ia(p).then(g=>g?{status:g,port:p}:null)}),a=(await Promise.all(l)).filter(c=>c!==null),d=[];i&&d.push({port:1111,devOrigin:i.devOrigin,projectId:i.projectId});for(let c of a)d.push({port:c.port,devOrigin:c.status.devOrigin,projectId:c.status.projectId});if(t){let c=d.find(u=>u.projectId===t);if(c)return{url:`http://localhost:${c.port}`,port:c.port,projectId:c.projectId}}if(s){let c=d.find(u=>u.devOrigin===s);if(c)return{url:`http://localhost:${c.port}`,port:c.port,projectId:c.projectId}}return d.length===1?{url:`http://localhost:${d[0].port}`,port:d[0].port,projectId:d[0].projectId}:null}async function gi(e=Sn,t,n=-1){try{let o=await Rn(`${e}/jobs/${t}/events?afterSeq=${n}`,{},5e3);return o.ok?await o.json():null}catch(o){return null}}async function Aa(e,t,n=Sn,o,r,s,i,l){let a=new FormData;if(e instanceof Map){let c=!0;for(let[u,p]of e){let g=encodeURIComponent(u);a.append(`screenshot-${g}`,p,`screenshot-${g}.webp`),c&&(a.append("screenshot",p,"screenshot.webp"),c=!1)}c&&a.append("screenshot",new Blob([],{type:"image/webp"}),"screenshot.webp")}else a.append("screenshot",e,"screenshot.webp");if(a.append("feedback",t),o&&a.append("color",o),r&&a.append("provider",r),s&&a.append("model",s),l&&a.append("sourceId",l),i)for(let[c,u]of i)for(let p=0;p<u.length;p++)a.append(`image-${c}-${p}`,u[p],`image-${c}-${p}.webp`);let d=await Rn(`${n}/send`,{method:"POST",body:a},3e4);if(!d.ok){let c=await d.text();throw new Error(`Bridge returned ${d.status}: ${c}`)}return d.json()}async function Pa(e,t=Sn){let n=await Rn(`${t}/model/component`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})},1e4);if(!n.ok){let o=await n.text();throw new Error(`Bridge returned ${n.status}: ${o}`)}return n.json()}async function Oa(e,t=Sn){let n=await Rn(`${t}/model/component`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})},1e4);if(!n.ok){let o=await n.text();throw new Error(`Bridge returned ${n.status}: ${o}`)}return n.json()}async function ls(e,t,n=Sn){let o=await Rn(`${n}/model/token`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,value:t})},1e4);if(!o.ok){let r=await o.text();throw new Error(`Bridge returned ${o.status}: ${r}`)}return o.json()}async function Ba(e,t=Sn){let n=await Rn(`${t}/model/token`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})},1e4);if(!n.ok){let o=await n.text();throw new Error(`Bridge returned ${n.status}: ${o}`)}return n.json()}async function Tr(e=Sn){var t;try{let n=await Rn(`${e}/model`,{},5e3);return n.ok&&(t=(await n.json()).model)!=null?t:null}catch(n){return null}}async function Da(e=Sn){let t=await Rn(`${e}/evals`,{},5e3);return t.ok?t.json():{version:1,updatedAt:0,cases:[]}}async function mi(e,t,n=Sn){var s;let o=await Rn(`${n}/evals/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},5e3);return o.ok&&(s=(await o.json()).eval)!=null?s:null}function _a(e,t,n=Sn){return mi(e,{status:t},n)}async function Ha(e,t,n,o=Sn,r,s,i){let l=new FormData;l.append("screenshot",t,"eval-run.webp"),l.append("feedback",JSON.stringify(n)),r&&l.append("provider",r),s&&l.append("model",s),i&&l.append("sourceId",i);let a=await Rn(`${o}/evals/${encodeURIComponent(e)}/run`,{method:"POST",body:l},3e4);if(!a.ok){let d=await a.text();throw new Error(`Bridge returned ${a.status}: ${d}`)}return a.json()}function vd(e){return new Promise(t=>setTimeout(t,e))}async function cs(e=Sn,t,n=15e3){let o=Date.now();try{let i=await Rn(`${e}/restart`,{method:"POST"},5e3);if(!i.ok){let l=await i.text().catch(()=>"");return{ok:!1,error:l?`Bridge restart returned ${i.status}: ${l}`:`Bridge restart returned ${i.status}`,elapsedMs:Date.now()-o}}}catch(i){return{ok:!1,error:i instanceof Error?i.message:"Bridge restart request failed",elapsedMs:Date.now()-o}}let r=null;for(;Date.now()-o<n;)if(await vd(350),r=await _o(e),!!(r!=null&&r.ok)&&!(t&&r.version!==t))return{ok:!0,status:r,elapsedMs:Date.now()-o};return{ok:!1,error:`Bridge did not come back${t?` with version ${t}`:""} within ${Math.round(n/1e3)}s`,status:r,elapsedMs:Date.now()-o}}async function Na(e=Sn){return(await cs(e)).ok}async function za(e=Sn,t,n){let o=await Rn(`${e}/model/synthesize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t,model:n})},1e4);if(!o.ok){let r=await o.text();throw new Error(`Bridge returned ${o.status}: ${r}`)}return o.json()}async function Fa(e=Sn,t,n){let o=await Rn(`${e}/evals/synthesize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t,model:n})},1e4);if(!o.ok){let r=await o.text();throw new Error(`Bridge returned ${o.status}: ${r}`)}return o.json()}async function $a(e,t,n=Sn,o,r,s,i,l){let a;if(i&&i.length>0){let d=new FormData,c=new Blob([new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,6,0,0,0,31,21,196,137,0,0,0,10,73,68,65,84,120,156,98,0,0,0,2,0,1,229,39,222,252,0,0,0,0,73,69,78,68,174,66,96,130])],{type:"image/png"});d.append("screenshot",c,"screenshot.png"),d.append("feedback",JSON.stringify({threadId:e,reply:t,color:o,provider:r,model:s,sourceId:l}));for(let u=0;u<i.length;u++)d.append(`image-reply-${u}`,i[u],`reply-image-${u}.webp`);a=await Rn(`${n}/reply`,{method:"POST",body:d},3e4)}else a=await Rn(`${n}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e,reply:t,color:o,provider:r,model:s,sourceId:l})},3e4);if(!a.ok){let d=await a.text();throw new Error(`Bridge returned ${a.status}: ${d}`)}return a.json()}var xi={};var sr=typeof xi!="undefined"?xi.hot:void 0,Ga,Ya,Ja,Si=(Ja=(Ya=(Ga=sr==null?void 0:sr.data)==null?void 0:Ga.sourceId)!=null?Ya:typeof localStorage!="undefined"&&localStorage.getItem("popmelt-source-id"))!=null?Ja:typeof crypto!="undefined"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2);sr!=null&&sr.data&&(sr.data.sourceId=Si);try{typeof localStorage!="undefined"&&localStorage.setItem("popmelt-source-id",Si)}catch(e){}function wi(){return Si}var ar=typeof xi!="undefined"?xi.hot:void 0,tn=ar==null?void 0:ar.data,wd={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0},Va,Lr=(Va=tn==null?void 0:tn.store)!=null?Va:f({},wd),Ua,yi=(Ua=tn==null?void 0:tn.listeners)!=null?Ua:new Set,Ka,rr=(Ka=tn==null?void 0:tn.activeEs)!=null?Ka:null,Xa,us=(Xa=tn==null?void 0:tn.activeBridgeUrl)!=null?Xa:null,nr=null,qa,bi=(qa=tn==null?void 0:tn.connectionGeneration)!=null?qa:0;ar!=null&&ar.data&&Object.defineProperties(ar.data,{store:{get:()=>Lr,configurable:!0},listeners:{get:()=>yi,configurable:!0},activeEs:{get:()=>rr,configurable:!0},activeBridgeUrl:{get:()=>us,configurable:!0},connectionGeneration:{get:()=>bi,configurable:!0},discoveredBridgeUrl:{get:()=>ir,configurable:!0},discoveredBridgeProjectId:{get:()=>Ir,configurable:!0}});var vi=new Set,Rr=new Map,Jo={};function or(e,t){var o;if(!e)return!1;if(vi.has(e)){let r=Rr.get(e);return r||(r=[],Rr.set(e,r)),r.push({type:(o=t.type)!=null?o:"",data:t}),!0}let n=Jo[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function Cd(e,t,n){let o=()=>n!==bi;for(let r of t){if(o())return;vi.add(r),Rr.set(r,[])}await Promise.all(t.map(async r=>{var s;try{let i=await gi(e,r);if(o())return;let l=(s=Rr.get(r))!=null?s:[];if(i){if(cn(a=>{let d=y(f({},a.jobResponses),{[r]:i.accumulated.response}),c=y(f({},a.jobThinking),{[r]:i.accumulated.thinking}),u=[...a.events];for(let p of i.events)p.type==="done"||p.type==="error"||u.push({type:p.type,data:p,timestamp:Date.now()});return y(f({},a),{jobResponses:d,jobThinking:c,currentResponse:r===a.activeJobId?i.accumulated.response:a.currentResponse,currentThinking:r===a.activeJobId?i.accumulated.thinking:a.currentThinking,events:u})}),Jo[r]=i.currentSeq,!i.jobActive){let a=i.events.find(d=>d.type==="done"||d.type==="error");a&&ds(a.type,a,r)}for(let a of l)typeof a.data.seq=="number"&&a.data.seq<=i.currentSeq||ds(a.type,a.data,r)}else for(let a of l)ds(a.type,a.data,r)}finally{vi.delete(r),Rr.delete(r)}}))}function ds(e,t,n){var o;if(e==="delta"){let r=t.text||"";cn(s=>y(f({},s),{jobResponses:y(f({},s.jobResponses),{[n]:(s.jobResponses[n]||"")+r}),currentResponse:n===s.activeJobId?s.currentResponse+r:s.currentResponse,events:[...s.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let r=t.text||"";cn(s=>y(f({},s),{jobThinking:y(f({},s.jobThinking),{[n]:(s.jobThinking[n]||"")+r}),currentThinking:n===s.activeJobId?s.currentThinking+r:s.currentThinking,events:[...s.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="done")delete Jo[n],cn(r=>{var c;let s=r.activeJobIds.filter(u=>u!==n),i=f({},r.jobResponses),l=f({},r.jobThinking),a=i[n];delete i[n],delete l[n];let d=n===r.activeJobId?s.length>0?s[s.length-1]:null:r.activeJobId;return y(f(y(f({},r),{activeJobIds:s,activeJobId:d,jobResponses:i,jobThinking:l,lastCompletedJobId:n,lastResponseText:a||r.currentResponse||t.responseText||null,lastThreadId:(c=t.threadId)!=null?c:null}),n===r.activeJobId?{currentResponse:d&&i[d]||"",currentThinking:d&&l[d]||""}:{}),{events:[...r.events,{type:"done",data:t,timestamp:Date.now()}]})});else if(e==="error"){delete Jo[n];let r=(o=t.message)!=null?o:"";cn(s=>{let i=s.activeJobIds.filter(a=>a!==n),l=i.length>0?s.status:"error";return y(f({},s),{status:l,activeJobIds:i,lastCompletedJobId:n,lastErrorByJob:r?y(f({},s.lastErrorByJob),{[n]:r}):s.lastErrorByJob,events:[...s.events,{type:"error",data:t,timestamp:Date.now()}]})})}else cn(r=>y(f({},r),{events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var Za,ir=(Za=tn==null?void 0:tn.discoveredBridgeUrl)!=null?Za:null,Qa,Ir=(Qa=tn==null?void 0:tn.discoveredBridgeProjectId)!=null?Qa:null,Mr=null,hi=null;async function Ed(e,t){return ir&&(!t||Ir===t)?ir:(t&&Ir&&Ir!==t&&(ir=null,Ir=null),Mr&&hi===(t!=null?t:null)||(hi=t!=null?t:null,Mr=La(e,t).then(n=>{var o,r,s;return ir=(o=n==null?void 0:n.url)!=null?o:null,Ir=(s=(r=n==null?void 0:n.projectId)!=null?r:t)!=null?s:null,Mr=null,hi=null,ir}).catch(()=>(Mr=null,hi=null,null))),Mr)}function el(){return ir}function ja(){return Lr}function kd(e){return yi.add(e),()=>{yi.delete(e)}}function cn(e){Lr=e(Lr);for(let t of yi)t()}function tl(e){if(rr&&rr.readyState!==EventSource.CLOSED&&us===e)return;rr&&(rr.close(),rr=null),nr&&(clearTimeout(nr),nr=null),us=e;let t=++bi,n=new EventSource(`${e}/events?sourceId=${Si}`);rr=n;let o=()=>t!==bi;n.addEventListener("connected",()=>{o()||_o(e).then(r=>{var p,g;if(o())return;let s=(p=r==null?void 0:r.activeJobs)!=null?p:r!=null&&r.activeJob?[r.activeJob]:[],i=new Set(s.map(v=>v.id)),l=(g=r==null?void 0:r.recentJobs)!=null?g:[],a=new Map(l.map(v=>[v.id,v])),d=s.length>0;cn(v=>{let x=f({},v.lastErrorByJob),w=v.activeJobIds.filter(H=>!i.has(H));for(let H of w){let O=a.get(H);(O==null?void 0:O.status)==="error"&&O.error&&(x[H]=O.error)}let I=v.activeJobIds.filter(H=>i.has(H));for(let H of i)I.includes(H)||I.push(H);let N={};for(let H of s)H.threadId&&(N[H.id]=H.threadId);return y(f({},v),{isConnected:!0,status:d?"streaming":w.length>0||v.status==="disconnected"?"idle":v.status,activeJobId:d?s[s.length-1].id:I.length>0?I[I.length-1]:null,activeJobIds:I,activeJobThreads:N,lastErrorByJob:x,lastCompletedJobId:w.length>0?w[w.length-1]:v.lastCompletedJobId})});let c=Lr.activeJobIds.filter(v=>!i.has(v)),u=[...Array.from(i),...c];u.length>0&&Cd(e,u,t).catch(()=>{})})}),n.addEventListener("job_started",r=>{if(o())return;let s=JSON.parse(r.data),i=s.jobId;if(or(i,s))return;let l=s.threadId;cn(a=>{var d,c,u,p;return y(f({},a),{status:"streaming",activeJobId:i,activeJobIds:a.activeJobIds.includes(i)?a.activeJobIds:[...a.activeJobIds,i],activeJobThreads:l?y(f({},a.activeJobThreads),{[i]:l}):a.activeJobThreads,jobResponses:y(f({},a.jobResponses),{[i]:(d=a.jobResponses[i])!=null?d:""}),jobThinking:y(f({},a.jobThinking),{[i]:(c=a.jobThinking[i])!=null?c:""}),currentResponse:(u=a.jobResponses[i])!=null?u:"",currentThinking:(p=a.jobThinking[i])!=null?p:"",lastResponseText:null,lastThreadId:null,events:[...a.events,{type:"job_started",data:s,timestamp:Date.now()}]})})}),n.addEventListener("delta",r=>{if(o())return;let s=JSON.parse(r.data),i=s.jobId;if(or(i,s))return;let l=s.text||"";cn(a=>y(f({},a),{jobResponses:i?y(f({},a.jobResponses),{[i]:(a.jobResponses[i]||"")+l}):a.jobResponses,currentResponse:!i||i===a.activeJobId?a.currentResponse+l:a.currentResponse,events:[...a.events,{type:"delta",data:s,timestamp:Date.now()}]}))}),n.addEventListener("thinking",r=>{if(o())return;let s=JSON.parse(r.data),i=s.jobId;if(or(i,s))return;let l=s.text||"";cn(a=>y(f({},a),{jobThinking:i?y(f({},a.jobThinking),{[i]:(a.jobThinking[i]||"")+l}):a.jobThinking,currentThinking:!i||i===a.activeJobId?a.currentThinking+l:a.currentThinking,events:[...a.events,{type:"thinking",data:s,timestamp:Date.now()}]}))}),n.addEventListener("tool_use",r=>{if(o())return;let s=JSON.parse(r.data),i=s.jobId;or(i,s)||cn(l=>y(f({},l),{events:[...l.events,{type:"tool_use",data:s,timestamp:Date.now()}]}))}),n.addEventListener("done",r=>{if(o())return;let s=JSON.parse(r.data),i=s.jobId;or(i,s)||(i&&delete Jo[i],cn(l=>{var v;let a=i?l.activeJobIds.filter(x=>x!==i):l.activeJobIds,d=f({},l.jobResponses),c=f({},l.jobThinking),u=f({},l.activeJobThreads),p=i?d[i]:void 0;i&&(delete d[i],delete c[i],delete u[i]);let g=i===l.activeJobId?a.length>0?a[a.length-1]:null:l.activeJobId;return y(f(y(f({},l),{activeJobIds:a,activeJobId:g,jobResponses:d,jobThinking:c,lastCompletedJobId:i!=null?i:l.activeJobId,lastResponseText:p||l.currentResponse||s.responseText||null,lastThreadId:(v=s.threadId)!=null?v:null}),i===l.activeJobId?{currentResponse:g&&d[g]||"",currentThinking:g&&c[g]||""}:{}),{events:[...l.events,{type:"done",data:s,timestamp:Date.now()}]})}))}),n.addEventListener("question",r=>{if(o())return;let s=JSON.parse(r.data),i=s.jobId;or(i,s)||cn(l=>y(f({},l),{pendingQuestions:[...l.pendingQuestions,{jobId:s.jobId,threadId:s.threadId,question:s.question,annotationIds:s.annotationIds,timestamp:Date.now()}],events:[...l.events,{type:"question",data:s,timestamp:Date.now()}]}))}),n.addEventListener("capabilities_changed",()=>{o()||cn(r=>y(f({},r),{capabilitiesVersion:r.capabilitiesVersion+1}))}),n.addEventListener("queue_drained",()=>{if(!o()){for(let r of Object.keys(Jo))delete Jo[r];vi.clear(),Rr.clear(),cn(r=>y(f({},r),{status:r.status==="error"?"error":"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastErrorByJob:{},incrementalResolutions:[]}))}}),n.addEventListener("error",r=>{var s,i;if(!o()){if(n.readyState===EventSource.CLOSED)cn(l=>y(f({},l),{isConnected:!1,status:"disconnected"})),nr&&(clearTimeout(nr),nr=null),nr=setTimeout(()=>{_o(e).then(l=>{l&&tl(e)})},5e3);else if(r instanceof MessageEvent){let l=JSON.parse(r.data),a=(s=l.jobId)!=null?s:null;if(or(a!=null?a:void 0,l))return;a&&delete Jo[a];let d=(i=l.message)!=null?i:"";cn(c=>{let u=a?c.activeJobIds.filter(g=>g!==a):c.activeJobIds,p=u.length>0?c.status:"error";return y(f({},c),{status:p,activeJobIds:u,lastCompletedJobId:a!=null?a:c.activeJobId,lastErrorByJob:a&&d?y(f({},c.lastErrorByJob),{[a]:d}):c.lastErrorByJob,events:[...c.events,{type:"error",data:l,timestamp:Date.now()}]})})}}}),n.onerror=()=>{o()||n.readyState===EventSource.CLOSED&&cn(r=>y(f({},r),{isConnected:!1,status:"disconnected"}))}}function nl(e="http://localhost:1111",t=!0,n){let o=Sd(kd,ja,ja);xd(()=>{t&&Ed(e,n).then(i=>{i&&_o(i).then(l=>{l&&tl(i)})})},[e,t,n]);let r=Wa(()=>{cn(()=>y(f({},Lr),{events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),s=Wa(i=>{cn(l=>y(f({},l),{pendingQuestions:l.pendingQuestions.filter(a=>a.threadId!==i)}))},[]);return y(f({},o),{clearEvents:r,dismissQuestion:s})}import{useEffect as Td,useReducer as Md}from"react";var Id={isAnnotating:!1,activeTool:"inspector",activeColor:"oklch(0.628 0.258 29)",strokeWidth:3,annotations:[],undoStack:[],redoStack:[],currentPath:[],selectedAnnotationIds:[],lastSelectedId:null,inspectedElement:null,styleModifications:[],spacingTokenChanges:[],spacingTokenMods:[]};function Ci(){return Math.random().toString(36).substring(2,9)}function ol(e){return e.status?e:e.captured?y(f({},e),{status:"in_flight"}):y(f({},e),{status:"pending"})}function _n(e){return y(f({},e),{undoStack:[...e.undoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}],redoStack:[]})}function Rd(e,t){return y(f({},e),{isAnnotating:t})}function Ld(e,t){return y(f({},e),{activeTool:t,inspectedElement:null})}function Ad(e,t){return y(f({},e),{activeColor:t})}function Pd(e,t){return y(f({},e),{strokeWidth:t})}function Od(e,t){return y(f({},e),{currentPath:[t]})}function Bd(e,t){return y(f({},e),{currentPath:[...e.currentPath,t]})}function Dd(e){return y(f({},e),{currentPath:[]})}function _d(e,t){if(e.currentPath.length<2&&e.activeTool!=="text")return y(f({},e),{currentPath:[]});let n={id:Ci(),type:e.activeTool,points:e.currentPath,color:e.activeColor,strokeWidth:e.strokeWidth,timestamp:Date.now(),status:"pending",pathname:typeof window!="undefined"?window.location.pathname:"/",groupId:t==null?void 0:t.groupId,elements:t==null?void 0:t.elements},o=_n(e);return y(f({},o),{annotations:[...e.annotations,n],currentPath:[]})}function Hd(e,t){var r;let n=f({id:(r=t.id)!=null?r:Ci(),type:"text",points:[t.point],text:t.text,fontSize:t.fontSize||12,color:e.activeColor,strokeWidth:e.strokeWidth,timestamp:Date.now(),status:"pending",pathname:typeof window!="undefined"?window.location.pathname:"/",groupId:t.groupId,linkedSelector:t.linkedSelector,linkedAnchor:t.linkedAnchor,elements:t.elements},t.imageCount?{imageCount:t.imageCount}:{}),o=t.groupId?e:_n(e);return y(f({},o),{annotations:[...e.annotations,n]})}function Nd(e,t){let n=_n(e);return y(f({},n),{annotations:e.annotations.map(o=>o.id===t.id?f(y(f({},o),{text:t.text}),t.imageCount!=null?{imageCount:t.imageCount}:{}):o)})}function zd(e,t){return y(f({},e),{annotations:e.annotations.map(n=>n.id===t.id?y(f({},n),{fontSize:Math.max(12,Math.min(72,t.fontSize))}):n)})}function Fd(e,t){let n=_n(e),o=e.annotations.find(s=>s.id===t.id),r=o==null?void 0:o.groupId;return y(f({},n),{annotations:e.annotations.filter(s=>s.id!==t.id&&!(r&&s.groupId===r))})}function $d(e,t){let n=t.saveUndo?_n(e):e,o=e.annotations.find(s=>s.id===t.id),r=o==null?void 0:o.groupId;return y(f({},n),{annotations:e.annotations.map(s=>{if(!(s.id===t.id||r&&s.groupId===r))return s;let l=t.delta.x,a=t.delta.y;return y(f({},s),{points:s.points.map(d=>({x:d.x+l,y:d.y+a}))})})})}function Wd(e,t){let n=t.saveUndo?_n(e):e,o=e.annotations.find(i=>i.id===t.id);if(!o||o.type==="text"||o.points.length<2)return e;let r=0,s=0;if(o.type==="rectangle"&&o.groupId){let i=t.points,l=Math.min(i[0].x,i[1].x),a=Math.max(i[0].y,i[1].y),d=o.points[0],c=o.points[o.points.length-1],u=Math.min(d.x,c.x),p=Math.max(d.y,c.y);r=l-u,s=a-p}return y(f({},n),{annotations:e.annotations.map(i=>i.id===t.id?y(f({},i),{points:t.points}):o.groupId&&i.groupId===o.groupId&&i.type==="text"?y(f({},i),{points:i.points.map(l=>({x:l.x+r,y:l.y+s}))}):i)})}function jd(e,t){let n=_n(e);return y(f({},n),{annotations:[...e.annotations,...t.annotations.map(ol)]})}function Gd(e,t){let n=new Set,o=[];for(let r of t.annotations)n.has(r.id)||(n.add(r.id),o.push(ol(r)));return y(f({},e),{annotations:o})}function Yd(e){if(e.undoStack.length===0)return e;let t=e.undoStack[e.undoStack.length-1];return y(f({},e),{annotations:(t==null?void 0:t.annotations)||[],styleModifications:(t==null?void 0:t.styleModifications)||[],spacingTokenMods:(t==null?void 0:t.spacingTokenMods)||[],undoStack:e.undoStack.slice(0,-1),redoStack:[...e.redoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}]})}function Jd(e){if(e.redoStack.length===0)return e;let t=e.redoStack[e.redoStack.length-1];return y(f({},e),{annotations:(t==null?void 0:t.annotations)||[],styleModifications:(t==null?void 0:t.styleModifications)||[],spacingTokenMods:(t==null?void 0:t.spacingTokenMods)||[],redoStack:e.redoStack.slice(0,-1),undoStack:[...e.undoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}]})}function Vd(e,t){let{id:n,addToSelection:o}=t;if(n===null)return y(f({},e),{selectedAnnotationIds:[],lastSelectedId:null});if(o)if(e.selectedAnnotationIds.includes(n)){let s=e.selectedAnnotationIds.filter(i=>i!==n);return y(f({},e),{selectedAnnotationIds:s,lastSelectedId:s.length>0?s[s.length-1]:null})}else return y(f({},e),{selectedAnnotationIds:[...e.selectedAnnotationIds,n],lastSelectedId:n});return y(f({},e),{selectedAnnotationIds:[n],lastSelectedId:n})}function Ud(e,t){let n=new Set;for(let o of e.selectedAnnotationIds){let r=e.annotations.find(s=>s.id===o);r!=null&&r.groupId&&n.add(r.groupId)}return y(f({},e),{annotations:e.annotations.map(o=>{let r=e.selectedAnnotationIds.includes(o.id),s=o.groupId&&n.has(o.groupId);return!r&&!s?o:y(f({},o),{color:t.color})})})}function Kd(e){return y(f({},e),{annotations:e.annotations.map(t=>y(f({},t),{captured:!0,status:t.status==="pending"||!t.status?"in_flight":t.status})),styleModifications:e.styleModifications.map(t=>y(f({},t),{captured:!0})),spacingTokenChanges:e.spacingTokenChanges.map(t=>y(f({},t),{captured:!0}))})}function Xd(e){return y(f({},e),{annotations:[],undoStack:[],redoStack:[],currentPath:[],selectedAnnotationIds:[],lastSelectedId:null,spacingTokenChanges:[],spacingTokenMods:[]})}function qd(e,t){return y(f({},e),{inspectedElement:t})}function Zd(e,t){let{selector:n,element:o,property:r,original:s,modified:i}=t,l=e.styleModifications.findIndex(a=>a.selector===n);if(s===i&&l<0)return e;if(l>=0){let a=e.styleModifications[l];if(a.captured){let g=_n(e),v=g.styleModifications.map((x,w)=>w===l?y(f({},x),{changes:[{property:r,original:s,modified:i}],captured:!1}):x);return y(f({},g),{styleModifications:v})}let d=a.changes.findIndex(g=>g.property===r),c,u=e;if(d>=0){let g=a.changes[d];i===g.original?c=a.changes.filter((v,x)=>x!==d):c=a.changes.map((v,x)=>x===d?y(f({},v),{modified:i}):v)}else{if(s===i)return e;u=_n(e),c=[...a.changes,{property:r,original:s,modified:i}]}if(c.length===0)return y(f({},u),{styleModifications:u.styleModifications.filter((g,v)=>v!==l)});let p=u.styleModifications.map((g,v)=>v===l?y(f({},g),{changes:c}):g);return y(f({},u),{styleModifications:p})}else{let a=_n(e),d={selector:n,element:o,changes:[{property:r,original:s,modified:i}]};return y(f({},a),{styleModifications:[...a.styleModifications,d]})}}function Qd(e,t){let{selector:n,durableSelector:o,element:r,changes:s}=t,i=s.filter(d=>d.original!==d.modified);if(i.length===0)return e;let l=_n(e),a=l.styleModifications.findIndex(d=>d.selector===n);if(a>=0){let d=l.styleModifications[a],c=d.captured?[]:[...d.changes];for(let u of i){let p=c.findIndex(g=>g.property===u.property);p>=0?u.modified===c[p].original?c=c.filter((g,v)=>v!==p):c=c.map((g,v)=>v===p?y(f({},g),{modified:u.modified}):g):c.push(u)}return c.length===0?y(f({},l),{styleModifications:l.styleModifications.filter((u,p)=>p!==a)}):y(f({},l),{styleModifications:l.styleModifications.map((u,p)=>p===a?y(f({},u),{changes:c,captured:!1}):u)})}else return y(f({},l),{styleModifications:[...l.styleModifications,{selector:n,durableSelector:o,element:r,changes:i}]})}function eu(e,t){let{selector:n,property:o}=t,r=_n(e),s=r.styleModifications.map(i=>i.selector!==n?i:y(f({},i),{changes:i.changes.filter(l=>l.property!==o)})).filter(i=>i.changes.length>0);return y(f({},r),{styleModifications:s})}function tu(e){if(e.styleModifications.length===0)return y(f({},e),{inspectedElement:null});let t=_n(e);return y(f({},t),{styleModifications:[],inspectedElement:null})}function nu(e,t){return y(f({},e),{styleModifications:t})}function ou(e,t){let{updates:n}=t,o=new Map(n.map(r=>[r.id,r]));return y(f({},e),{annotations:e.annotations.map(r=>{let s=o.get(r.id);return s?f(y(f({},r),{points:[s.point,...r.points.slice(1)]}),s.linkedAnchor?{linkedAnchor:s.linkedAnchor}:{}):r})})}function ru(e,t){let n=new Set(t.ids);return y(f({},e),{annotations:e.annotations.map(o=>n.has(o.id)?y(f({},o),{status:t.status}):o)})}function iu(e,t){let n=new Set(t.ids),o=new Set;for(let r of e.annotations)n.has(r.id)&&r.groupId&&o.add(r.groupId);return y(f({},e),{annotations:e.annotations.map(r=>n.has(r.id)||r.groupId&&o.has(r.groupId)?y(f({},r),{threadId:t.threadId}):r)})}function su(e,t){let n=new Set(t.ids),o=new Set;for(let r of e.annotations)n.has(r.id)&&r.groupId&&o.add(r.groupId);return y(f({},e),{annotations:e.annotations.map(r=>n.has(r.id)||r.groupId&&o.has(r.groupId)?y(f({},r),{status:"waiting_input",question:t.question,threadId:t.threadId}):r)})}function au(e,t){let n=new Map(t.resolutions.map(r=>[r.annotationId,r])),o=new Map;for(let r of e.annotations){let s=n.get(r.id);s&&r.groupId&&o.set(r.groupId,s)}return y(f({},e),{annotations:e.annotations.map(r=>{var i,l,a;let s=n.get(r.id)||(r.groupId?o.get(r.groupId):void 0);return s?y(f({},r),{status:s.status,resolutionSummary:s.summary,scope:(l=(i=s.finalScope)!=null?i:s.inferredScope)!=null?l:null,replyCount:((a=r.replyCount)!=null?a:0)+1,question:void 0,threadId:r.threadId||t.threadId}):r})})}function lu(e,t){let{linkedSelectors:n,styleSelectors:o}=t,r=new Set(n),s=new Set(o),i=new Set,l=new Set;for(let p of e.annotations)p.linkedSelector&&r.has(p.linkedSelector)&&(i.add(p.id),p.groupId&&l.add(p.groupId));for(let p of e.annotations)p.groupId&&l.has(p.groupId)&&i.add(p.id);let a=e.annotations.filter(p=>!i.has(p.id)),d=e.styleModifications.filter(p=>!s.has(p.selector));if(a.length===e.annotations.length&&d.length===e.styleModifications.length)return e;let c=e.selectedAnnotationIds.filter(p=>!i.has(p)),u=e.inspectedElement&&s.has(e.inspectedElement.info.selector)?null:e.inspectedElement;return y(f({},e),{annotations:a,styleModifications:d,selectedAnnotationIds:c,lastSelectedId:c.length>0?c[c.length-1]:null,inspectedElement:u})}function cu(e,t){let n=e.spacingTokenChanges.findIndex(o=>o.tokenPath===t.tokenPath);return n>=0?y(f({},e),{spacingTokenChanges:e.spacingTokenChanges.map((o,r)=>r===n?t:o)}):y(f({},e),{spacingTokenChanges:[...e.spacingTokenChanges,t]})}function du(e,t){return y(f({},e),{spacingTokenChanges:t})}function uu(e,t){let n=_n(e),o=e.spacingTokenMods.findIndex(s=>s.tokenPath===t.tokenPath),r;if(o>=0){let s=e.spacingTokenMods[o],i=y(f({},t),{originalValue:s.originalValue,originalPx:s.originalPx});r=e.spacingTokenMods.map((l,a)=>a===o?i:l)}else r=[...e.spacingTokenMods,t];return y(f({},n),{spacingTokenMods:r})}function pu(e,t){let n=_n(e),o=e.spacingTokenMods.findIndex(a=>a.tokenPath===t.tokenPath),r=o>=0?e.spacingTokenMods[o].originalValue:t.originalValue,s=o>=0?e.spacingTokenMods[o].originalPx:parseFloat(t.originalValue)||0,i={tokenPath:t.tokenPath,originalValue:r,currentValue:"__deleted__",targets:o>=0?e.spacingTokenMods[o].targets:[],originalPx:s,currentPx:0},l;return o>=0?l=e.spacingTokenMods.map((a,d)=>d===o?i:a):l=[...e.spacingTokenMods,i],y(f({},n),{spacingTokenMods:l})}var fu={SET_ANNOTATING:Rd,SET_TOOL:Ld,SET_COLOR:Ad,SET_STROKE_WIDTH:Pd,START_PATH:Od,CONTINUE_PATH:Bd,CANCEL_PATH:Dd,FINISH_PATH:_d,ADD_TEXT:Hd,UPDATE_TEXT:Nd,UPDATE_TEXT_SIZE:zd,DELETE_ANNOTATION:Fd,MOVE_ANNOTATION:$d,RESIZE_ANNOTATION:Wd,PASTE_ANNOTATIONS:jd,RESTORE_ANNOTATIONS:Gd,UNDO:Yd,REDO:Jd,SELECT_ANNOTATION:Vd,UPDATE_ANNOTATION_COLOR:Ud,MARK_CAPTURED:Kd,CLEAR:Xd,SELECT_ELEMENT:qd,MODIFY_STYLE:Zd,MODIFY_STYLES_BATCH:Qd,CLEAR_STYLE:eu,CLEAR_ALL_STYLES:tu,RESTORE_STYLE_MODIFICATIONS:nu,UPDATE_LINKED_POSITIONS:ou,CLEANUP_ORPHANED:lu,SET_ANNOTATION_STATUS:ru,SET_ANNOTATION_THREAD:iu,SET_ANNOTATION_QUESTION:su,APPLY_RESOLUTIONS:au,ADD_SPACING_TOKEN_CHANGE:cu,RESTORE_SPACING_TOKEN_CHANGES:du,MODIFY_SPACING_TOKEN:uu,DELETE_SPACING_TOKEN:pu};function gu(e,t){let n=fu[t.type];return n?n(e,t.payload):e}function rl(){let[e,t]=Md(gu,Id);return Td(()=>{let n=o=>{(o.metaKey||o.ctrlKey)&&o.key==="z"&&(o.preventDefault(),o.shiftKey?t({type:"REDO"}):t({type:"UNDO"}))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[]),[e,t]}import{useSyncExternalStore as mu}from"react";if(typeof window!="undefined"&&!window.__popmeltPathPatch){window.__popmeltPathPatch=!0;for(let e of["pushState","replaceState"]){let t=History.prototype[e];History.prototype[e]=function(...n){let o=window.location.pathname;t.apply(this,n),window.dispatchEvent(new CustomEvent("popmelt:locationchange",{detail:{prevPath:o}}))}}}function hu(e){return window.addEventListener("popstate",e),window.addEventListener("popmelt:locationchange",e),()=>{window.removeEventListener("popstate",e),window.removeEventListener("popmelt:locationchange",e)}}function yu(){return window.location.pathname}function Ar(){return mu(hu,yu,()=>"/")}var il="popmelt-toolbar-snap-position";function lr(e){return e.startsWith("top-")}function cr(e){return e.endsWith("-right")}function Zr(e){return e.endsWith("-center")}function sl(){try{let e=localStorage.getItem(il);if(e&&bu(e))return e}catch(e){}return"bottom-right"}function al(e){try{localStorage.setItem(il,e)}catch(t){}}function bu(e){return["bottom-right","bottom-center","bottom-left","top-right","top-center","top-left"].includes(e)}function ll(e,t,n){let o=lr(e)?16:n-16-54;return Zr(e)?{position:"fixed",top:o,left:t/2,transform:"translateX(-50%)"}:cr(e)?{position:"fixed",top:o,right:16,left:"auto"}:{position:"fixed",top:o,left:16,right:"auto"}}function cl(e,t,n){let r=lr(e)?{top:82}:{bottom:82},s;return Zr(e)?s={left:t/2,transform:"translateX(-50%)"}:cr(e)?s={right:16}:s={left:16},f(f({position:"fixed"},r),s)}function dl(e,t,n){let o=lr(e),r=o?{top:78}:{bottom:78},s,i;return Zr(e)?(s={left:"50%",transform:"translateX(-50%)"},i="center"):cr(e)?(s={right:16},i="flex-end"):(s={left:16},i="flex-start"),y(f(f({position:"fixed"},r),s),{zIndex:9999,display:"flex",flexDirection:"column",alignItems:i})}function Ei(e){let t=lr(e),n=cr(e)||Zr(e);return{position:"fixed",top:t&&n?82:16,right:16,bottom:!t&&n?82:16}}function ul(e,t,n){let r=lr(e),s,i;cr(e)||Zr(e)?(s=t-16,i=s-326):(i=16,s=i+326);let l=r?82:n-16-54-12;return{left:i,right:s,y:l}}var pl=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"];import{domToCanvas as vu}from"modern-screenshot";function ps(e){let t=document.createElement("canvas").getContext("2d");return t?(t.fillStyle=e,t.fillStyle):"#888888"}function fs(e,t=[],n,o){let r=new Map,s=[];for(let l of e)if(l.groupId){let a=r.get(l.groupId)||[];a.push(l),r.set(l.groupId,a)}else s.push(l);let i=[];for(let[l,a]of r){let d=a.find(u=>u.type!=="text"),c=a.find(u=>u.type==="text");if(d){let u=d.linkedSelector||(c==null?void 0:c.linkedSelector),p=(c==null?void 0:c.imageCount)||d.imageCount,g=d.pathname||(c==null?void 0:c.pathname);i.push(f(y(f(f({id:d.id,type:d.type,instruction:c==null?void 0:c.text},u?{linkedSelector:u}:{}),g?{pathname:g}:{}),{elements:d.elements||[]}),p?{imageCount:p}:{}))}}for(let l of s)i.push(f(y(f(f({id:l.id,type:l.type,instruction:l.type==="text"?l.text:void 0},l.linkedSelector?{linkedSelector:l.linkedSelector}:{}),l.pathname?{pathname:l.pathname}:{}),{elements:l.elements||[]}),l.imageCount?{imageCount:l.imageCount}:{}));return f(f({timestamp:new Date().toISOString(),url:window.location.href,viewport:{width:window.innerWidth,height:window.innerHeight},scrollPosition:{x:window.scrollX,y:window.scrollY},annotations:i,styleModifications:t},n?{inspectedElement:n}:{}),o&&o.length>0?{spacingTokenChanges:o}:{})}function xu(e){if(!e.points||e.points.length===0)return null;let t=e.points.map(o=>o.x),n=e.points.map(o=>o.y);return{minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)}}function Su(e,t){if(e.length===0)return[];let n=e.map(c=>({annotation:c,bounds:xu(c)})).filter(c=>c.bounds!==null);if(n.length===0)return[];n.sort((c,u)=>c.bounds.minY-u.bounds.minY);let o=Math.min(...n.map(c=>c.bounds.minY)),r=Math.max(...n.map(c=>c.bounds.maxY));if(r-o<=t){let c=(o+r)/2,u=Math.max(0,c-t/2);return[{top:u,bottom:u+t,annotations:e}]}let s=[],i=50,l=Math.max(0,o-i),a=[],d=l;for(let{annotation:c,bounds:u}of n){let p=u.maxY+i;if(p-l<=t)a.push(c),d=Math.max(d,p);else{if(a.length>0){let g=(l+d)/2,v=Math.max(0,g-t/2);s.push({top:v,bottom:v+t,annotations:a})}l=Math.max(0,u.minY-i),a=[c],d=u.maxY+i}}if(a.length>0){let c=(l+d)/2,u=Math.max(0,c-t/2);s.push({top:u,bottom:u+t,annotations:a})}return s}function wu(e){let t=new Map;for(let n of e)if(n.linkedSelector)try{let o=document.querySelector(n.linkedSelector);if(o){let r=o.getBoundingClientRect();t.set(n.id,{x:r.left+window.scrollX,y:r.top+window.scrollY,width:r.width,height:r.height})}}catch(o){}return t}function Cu(e,t,n,o,r){if(e.save(),e.scale(o,o),r)for(let s of t){let i=r.get(s.id);if(!i)continue;let l=i.y-n;e.fillStyle=s.color,e.globalAlpha=.05,e.fillRect(i.x,l,i.width,i.height),e.globalAlpha=1,e.strokeStyle=s.color,e.lineWidth=1,e.setLineDash([2,4]),e.strokeRect(i.x,l,i.width,i.height),e.setLineDash([])}for(let s of t){let i=s.points.map(l=>({x:l.x,y:l.y-n}));switch(e.strokeStyle=s.color,e.fillStyle=s.color,e.lineWidth=s.strokeWidth,e.lineCap="round",e.lineJoin="round",s.type){case"freehand":if(i.length<2)break;e.beginPath(),e.moveTo(i[0].x,i[0].y);for(let l=1;l<i.length;l++)e.lineTo(i[l].x,i[l].y);e.stroke();break;case"line":if(i.length<2)break;e.beginPath(),e.moveTo(i[0].x,i[0].y),e.lineTo(i[i.length-1].x,i[i.length-1].y),e.stroke();break;case"rectangle":{if(i.length<2)break;let l=i[0],a=i[i.length-1],d=Math.min(l.x,a.x),c=Math.min(l.y,a.y),u=Math.abs(a.x-l.x),p=Math.abs(a.y-l.y);e.strokeRect(d,c,u,p);break}case"circle":{if(i.length<2)break;let l=i[0],a=i[i.length-1],d=(l.x+a.x)/2,c=(l.y+a.y)/2,u=Math.abs(a.x-l.x)/2,p=Math.abs(a.y-l.y)/2;e.beginPath(),e.ellipse(d,c,u,p,0,0,Math.PI*2),e.stroke();break}case"text":{if(!s.text||i.length<1)break;let l=i[0],a=s.fontSize||16;e.font=`${a}px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif`,e.fillStyle=s.color;let c=(s.imageCount&&s.imageCount>0?`[${s.imageCount} image${s.imageCount>1?"s":""}] ${s.text}`:s.text).split(`
3
+ `),u=a*1.2,p=4,g=0;for(let v of c)g=Math.max(g,e.measureText(v).width);e.fillRect(l.x-p,l.y-p,g+p*2,c.length*u+p*2),e.fillStyle="#ffffff",c.forEach((v,x)=>{e.fillText(v,l.x,l.y+a+x*u)});break}}}e.restore()}async function Pr(e,t,n=[],o){var r;try{let s=(r=o==null?void 0:o.dpr)!=null?r:window.devicePixelRatio||1,i=window.innerWidth,l=window.innerHeight,a=n.filter(p=>{var g;return((g=p.status)!=null?g:"pending")==="pending"});console.log("[Screenshot] Starting capture with",a.length,"active annotations (filtered",n.length-a.length,"captured)");let d=wu(a),c=Su(a,l);if(c.length===0){let p=await fl(e,[],window.scrollY,i,l,s,d);return p?[p]:[]}let u=[];for(let p=0;p<c.length;p++){let g=c[p],v=await fl(e,g.annotations,g.top,i,l,s,d);v?u.push(v):console.warn(`[Screenshot] Region ${p+1} failed to capture`)}return console.log("[Screenshot] Capture complete"),u}catch(s){return console.error("[Screenshot] Capture failed:",s),[]}}async function fl(e,t,n,o,r,s,i){try{let l=getComputedStyle(document.documentElement).backgroundColor,d=await vu(e,{filter:p=>!(p instanceof HTMLElement&&(p.id==="devtools-canvas"||p.id==="devtools-toolbar"||p.id==="devtools-scrim"||p.dataset.devtools!==void 0)),scale:s,backgroundColor:l&&l!=="rgba(0, 0, 0, 0)"&&l!=="transparent"?l:"#ffffff",width:o,height:r,style:{transform:`translate(${-window.scrollX}px, ${-n}px)`}}),c=document.createElement("canvas");c.width=o*s,c.height=r*s;let u=c.getContext("2d");return u?(u.drawImage(d,0,0,o*s,r*s,0,0,o*s,r*s),Cu(u,t,n,s,i),new Promise(p=>{c.toBlob(g=>p(g),"image/webp",.8)})):null}catch(l){return console.error("Region capture failed:",l),null}}async function Qr(e){if(e.length===0)return null;if(e.length===1)return e[0];let t=await Promise.all(e.map(l=>new Promise((a,d)=>{let c=new Image;c.onload=()=>a(c),c.onerror=d,c.src=URL.createObjectURL(l)}))),n=t[0].width,o=t.reduce((l,a)=>l+a.height,0),r=document.createElement("canvas");r.width=n,r.height=o;let s=r.getContext("2d");if(!s)return null;let i=0;for(let l of t)s.drawImage(l,0,i),i+=l.height,URL.revokeObjectURL(l.src);return new Promise(l=>{r.toBlob(a=>l(a),"image/webp",.8)})}async function gl(e,t,n){try{let o=Array.isArray(e)?e:[e];if(o.length===0)return!1;let r=await Qr(o);if(!r)return!1;let s=r;if(r.type!=="image/png"){let d=new Image,c=URL.createObjectURL(r);await new Promise(p=>{d.onload=()=>p(),d.src=c}),URL.revokeObjectURL(c);let u=document.createElement("canvas");u.width=d.naturalWidth,u.height=d.naturalHeight,u.getContext("2d").drawImage(d,0,0),s=await new Promise(p=>u.toBlob(g=>p(g),"image/png"))}let i={"image/png":s},l=t&&t.length>0,a=n&&n.length>0;if(l||a){let d=t?t.filter(c=>{var u;return((u=c.status)!=null?u:"pending")==="pending"}):[];if(d.length>0||a){let c=fs(d,n||[]),u=new Blob([JSON.stringify(c,null,2)],{type:"text/plain"});i["text/plain"]=u}}return await navigator.clipboard.write([new ClipboardItem(i)]),!0}catch(o){return console.warn("Clipboard write failed:",o),!1}}var ki="0.7.1";import{useCallback as un,useEffect as kn,useMemo as Vi,useRef as Qt,useState as bt}from"react";import{useCallback as Dr,useRef as ku}from"react";function gs(e,t,n,o){if(t.length<2)return;let r=t[0],s=t[t.length-1];if(!r||!s)return;let i=(r.x+s.x)/2,l=(r.y+s.y)/2,a=Math.abs(s.x-r.x)/2,d=Math.abs(s.y-r.y)/2;e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.ellipse(i,l,a,d,0,0,Math.PI*2),e.stroke()}function ms(e,t,n,o){if(t.length<2)return;let r=t[0],s=t[t.length-1];if(!(!r||!s)){e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.lineCap="round",e.lineJoin="round",e.moveTo(r.x,r.y);for(let i=1;i<t.length-1;i++){let l=t[i],a=t[i+1];if(!l||!a)continue;let d=(l.x+a.x)/2,c=(l.y+a.y)/2;e.quadraticCurveTo(l.x,l.y,d,c)}e.lineTo(s.x,s.y),e.stroke()}}function hs(e,t,n,o){if(t.length<2)return;let r=t[0],s=t[t.length-1];!r||!s||(e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.lineCap="round",e.moveTo(r.x,r.y),e.lineTo(s.x,s.y),e.stroke())}function ys(e,t,n,o){if(t.length<2)return;let r=t[0],s=t[t.length-1];if(!r||!s)return;let i=Math.min(r.x,s.x),l=Math.min(r.y,s.y),a=Math.abs(s.x-r.x),d=Math.abs(s.y-r.y);e.beginPath(),e.strokeStyle=n,e.lineWidth=o,e.lineCap="round",e.lineJoin="round",e.strokeRect(i,l,a,d)}var Zt='"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';function Eu(e,t,n){if(!t||e.measureText(t).width<=n)return[t];let o=t.split(/\s+/),r=[],s="";for(let i of o){let l=s?s+" "+i:i;s&&e.measureText(l).width>n?(r.push(s),s=i):s=l}return s&&r.push(s),r.length>0?r:[t]}function Or(e){let t=window.innerWidth-e-16;return Math.max(60,Math.min(400,t))}function ml(e,t,n){let o=[];for(let r of t)o.push(...Eu(e,r,n));return o}function Br(e,t,n){if(e.measureText(t).width<=n)return t;let o="\u2026";for(let r=t.length-1;r>0;r--){let s=t.slice(0,r)+o;if(e.measureText(s).width<=n)return s}return o}function hl(e,t,n,o,r=12,s,i){if(!n)return;let l=r*1.4,a=n.replace(/\n/g," "),d=s!==void 0?s+". "+a:a;e.font=`${r}px ${Zt}`,e.textBaseline="middle";let c=i!==void 0?Math.min(400,Math.max(60,window.innerWidth-i-16)):400,u=Br(e,d,c),p=e.measureText(u).width;e.fillStyle=o,e.fillRect(t.x-4,t.y-4,p+8,l+8),e.fillStyle="#ffffff",e.fillText(u,t.x,t.y+l/2)}var yl=11,bs=4,Tu=`600 ${yl}px system-ui, -apple-system, sans-serif`;function vs(e,t,n){return e.map(o=>({x:o.x-t,y:o.y-n}))}function Mu(e,t,n,o,r,s){let i=String(o);e.font=Tu;let a=e.measureText(i).width+bs*2,d=yl+bs*2,c=t-a/2,u=n+s/2+2;e.fillStyle=r,e.fillRect(c,u,a,d),e.fillStyle="#ffffff",e.textBaseline="middle",e.fillText(i,c+bs,u+d/2)}function Iu(e,t){if(e.points.length<2&&e.type!=="text")return null;switch(e.type){case"rectangle":case"freehand":{let n,o;if(e.type==="freehand")n=Math.min(...e.points.map(r=>r.x)),o=Math.max(...e.points.map(r=>r.y));else{let r=e.points[0],s=e.points[e.points.length-1];n=Math.min(r.x,s.x),o=Math.max(r.y,s.y)}return{x:n,y:o}}case"circle":{let n=e.points[0],o=e.points[e.points.length-1],r=Math.min(n.x,o.x),s=(Math.min(n.y,o.y)+Math.max(n.y,o.y))/2;return{x:r,y:s}}case"line":{let n=e.points[0],o=e.points[e.points.length-1],r=n.y>o.y?n:o;return{x:r.x,y:r.y}}default:return null}}function bl(){let e=ku(null),t=Dr(()=>{let l=e.current;if(!l)return;let a=l.getContext("2d");a&&a.clearRect(0,0,l.width,l.height)},[]),n=Dr((l,a,d)=>{var v;let c=e.current;if(!c)return;let u=c.getContext("2d");if(!u)return;let g=((v=l.status)!=null?v:l.captured?"in_flight":"pending")==="pending"||d?l.color:"#999999";switch(l.type){case"freehand":ms(u,l.points,g,l.strokeWidth);break;case"line":hs(u,l.points,g,l.strokeWidth);break;case"rectangle":ys(u,l.points,g,l.strokeWidth);break;case"circle":gs(u,l.points,g,l.strokeWidth);break;case"text":l.text&&l.points[0]&&hl(u,l.points[0],l.text,g,l.fontSize,a,l.points[0].x);break}},[]),o=Dr((l,a,d,c)=>{let u=e.current;if(!u||l.length<2)return;let p=u.getContext("2d");if(p)switch(a){case"freehand":ms(p,l,d,c);break;case"line":hs(p,l,d,c);break;case"rectangle":ys(p,l,d,c);break;case"circle":gs(p,l,d,c);break}},[]),r=Dr((l,a)=>{let d=e.current;if(!d||l.points.length<2)return;let c=d.getContext("2d");if(c){if(c.fillStyle="#ffffff",c.strokeStyle=l.color,c.lineWidth=1.5,l.type==="line"){let u=l.points[0],p=l.points[l.points.length-1];[u,p].forEach(g=>{c.beginPath(),c.arc(g.x,g.y,a/2,0,Math.PI*2),c.fill(),c.stroke()});return}if(l.type==="circle"){let u=l.points[0],p=l.points[l.points.length-1],g=Math.min(u.x,p.x),v=Math.max(u.x,p.x),x=Math.min(u.y,p.y),w=Math.max(u.y,p.y),I=(g+v)/2,N=(x+w)/2;[{x:I,y:x},{x:I,y:w},{x:g,y:N},{x:v,y:N}].forEach(O=>{c.beginPath(),c.rect(O.x-a/2,O.y-a/2,a,a),c.fill(),c.stroke()});return}if(l.type==="rectangle"||l.type==="freehand"){let u,p,g,v;if(l.type==="freehand")u=Math.min(...l.points.map(w=>w.x)),p=Math.max(...l.points.map(w=>w.x)),g=Math.min(...l.points.map(w=>w.y)),v=Math.max(...l.points.map(w=>w.y));else{let w=l.points[0],I=l.points[l.points.length-1];u=Math.min(w.x,I.x),p=Math.max(w.x,I.x),g=Math.min(w.y,I.y),v=Math.max(w.y,I.y)}[{x:u,y:g},{x:p,y:g},{x:u,y:v},{x:p,y:v}].forEach(w=>{c.beginPath(),c.rect(w.x-a/2,w.y-a/2,a,a),c.fill(),c.stroke()})}}},[]),s=Dr((l,a,d,c,u,p,g,v=0,x=0,w,I)=>{var N;if(t(),l.forEach(H=>{var re;let O=y(f({},H),{points:vs(H.points,v,x)}),L=w==null?void 0:w.get(H.id),Y=(re=I==null?void 0:I.has(H.id))!=null?re:!1;n(O,L,Y)}),a.length>0){let H=vs(a,v,x);o(H,d,c,u)}if(p&&p.length>0&&g){let H=e.current,O=H==null?void 0:H.getContext("2d");for(let L of p){let Y=l.find(re=>re.id===L);if(Y){let re=y(f({},Y),{points:vs(Y.points,v,x)});if(r(re,g),O&&Y.type!=="text"&&w&&!(Y.groupId&&l.some(_=>_.groupId===Y.groupId&&_.type==="text"))){let _=w.get(Y.id);if(_!==void 0){let B=Iu(re,g);if(B){let A=((N=Y.status)!=null?N:Y.captured?"in_flight":"pending")==="pending"?Y.color:"#999999";Mu(O,B.x,B.y,_,A,g)}}}}}}},[t,n,o,r]),i=Dr(()=>{let l=e.current;if(!l)return;let a=window.devicePixelRatio||1;l.width=window.innerWidth*a,l.height=window.innerHeight*a;let d=l.getContext("2d");d&&d.scale(a,a)},[]);return{canvasRef:e,clearCanvas:t,drawAnnotation:n,drawCurrentPath:o,redrawAll:s,resizeCanvas:i}}import{useEffect as Ru,useRef as Lu}from"react";function vl(){let e=Lu({shift:!1,cmd:!1});return Ru(()=>{let t=r=>{r.key==="Shift"&&(e.current.shift=!0),(r.key==="Meta"||r.key==="Control")&&(e.current.cmd=!0)},n=r=>{r.key==="Shift"&&(e.current.shift=!1),(r.key==="Meta"||r.key==="Control")&&(e.current.cmd=!1)},o=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",o),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",o)}},[]),e}import{useEffect as Au}from"react";function xl(e,t,n,o,r){Au(()=>{let s=i=>{if(e){if(e.linkedSelector)return;i.preventDefault(),i.stopPropagation();let a=i.deltaY>0?-2:2;t(d=>d?y(f({},d),{fontSize:Math.max(12,Math.min(72,d.fontSize+a))}):null);return}if(!n)return;i.preventDefault();let l=o.find(a=>a.id===n);if(l&&l.type==="text"&&!l.linkedSelector){let a=l.fontSize||12,d=i.deltaY>0?-2:2;r({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:a+d}})}};return window.addEventListener("wheel",s,{passive:!1}),()=>{window.removeEventListener("wheel",s)}},[n,e,o,r,t])}import{useCallback as Dl,useEffect as Hi,useRef as _l,useState as oi}from"react";function Ti(e){let t=Object.keys(e).find(r=>r.startsWith("__reactFiber$")||r.startsWith("__reactInternalInstance$"));if(!t)return null;let n=e[t],o=[];for(;n;){let r=n.type,s=(r==null?void 0:r.displayName)||(r==null?void 0:r.name);s&&typeof s=="string"&&/^[A-Z]/.test(s)&&!s.startsWith("_")&&s!=="Fragment"&&o.unshift(s),n=n.return}return o.length>0?{name:o[o.length-1],path:o}:null}function xs(e){let t=Object.keys(e).find(r=>r.startsWith("__reactFiber$")||r.startsWith("__reactInternalInstance$"));if(!t)return[];let n=e[t],o=[];for(;n;){let r=n.type,s=typeof r=="function"||typeof r=="object"?(r==null?void 0:r.displayName)||(r==null?void 0:r.name):null;s&&typeof s=="string"&&/^[A-Z]/.test(s)&&!s.startsWith("_")&&s!=="Fragment"&&o.push({name:s,fiber:n}),n=n.return}return o.reverse(),o}function Mi(e){let t=e,n=new Set;for(;t&&!n.has(t);){if(n.add(t),t.stateNode instanceof Element)return t.stateNode;t.child?t=t.child:t=null}return null}function Sl(e){if(e.id)return`#${e.id}`;let t=e.tagName.toLowerCase(),n=Array.from(e.classList).slice(0,3).join(".");return n?`${t}.${n}`:t}function Jn(e){if(e.id&&!e.id.startsWith("radix-")&&!e.id.startsWith(":"))return`#${CSS.escape(e.id)}`;let t=[],n=e;for(;n&&n!==document.documentElement;){let o=n.tagName.toLowerCase();if(n.id&&!n.id.startsWith("radix-")&&!n.id.startsWith(":")){t.unshift(`#${CSS.escape(n.id)}`);break}let r=Array.from(n.classList).filter(i=>!i.startsWith("_")&&i.length<30).slice(0,2);r.length>0&&(o+="."+r.map(i=>CSS.escape(i)).join("."));let s=n.parentElement;if(s){let i=Array.from(s.children).filter(l=>l.tagName===n.tagName);if(i.length>1){let l=i.indexOf(n)+1;o+=`:nth-of-type(${l})`}}t.unshift(o),n=s}return t.join(" > ")}function Hn(e){try{return document.querySelector(e)}catch(t){return null}}function Ii(e,t=0){var a;let n=xs(e);if(n.length===0)return null;let o=n.map(d=>d.name),r=n.length-1,s=Math.max(0,Math.min(n.length-1,r-t)),i=n[s],l=(a=Mi(i.fiber))!=null?a:e;return{name:i.name,path:o,depthIndex:s,rootElement:l}}function wl(e,t){var s,i;let n=xs(e),o=t.toLowerCase(),r=-1;for(let l=n.length-1;l>=0;l--){let a=n[l].name;if(a===t){let d=(s=Mi(n[l].fiber))!=null?s:e;return{name:t,path:n.map(c=>c.name),depthIndex:l,rootElement:d}}if(r===-1){let d=a.toLowerCase();(d.length>=4&&o.includes(d)||o.length>=4&&d.includes(o))&&(r=l)}}if(r>=0){let l=(i=Mi(n[r].fiber))!=null?i:e;return{name:t,path:n.map(a=>a.name),depthIndex:r,rootElement:l}}return null}function _r(e){let t=Hr(),n=[],o=new Set,r=t.currentNode;for(;r=t.nextNode();){let s=wl(r,e);s&&!o.has(s.rootElement)&&(o.add(s.rootElement),n.push(s))}return n}function Ss(e){let t=new Map;if(e.size===0)return t;let n=new Set(e),o=Hr(),r=new Set,s=o.currentNode;for(;(s=o.nextNode())&&n.size>0;)for(let i of n){let l=wl(s,i);if(!l||r.has(l.rootElement))continue;r.add(l.rootElement);let a=l.rootElement.getBoundingClientRect();t.set(i,a.top+window.scrollY),n.delete(i);break}for(let i of n)t.set(i,1/0);return t}function Hr(){return document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return e.closest("#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel]")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}})}function Nn(e){let t={selector:Sl(e),tagName:e.tagName.toLowerCase()};e.id&&(t.id=e.id),e.classList.length>0&&(t.className=Array.from(e.classList).join(" "));let n=Cl(e);n&&n.length>0&&n.length<200&&(t.textContent=n);let o={};for(let i of e.attributes)i.name.startsWith("data-")&&(o[i.name]=i.value);Object.keys(o).length>0&&(t.dataAttributes=o);let r=Ti(e);r&&(t.reactComponent=r.name);let s=Pu(e);return s&&(t.context=s),t}function Cl(e){let t="";for(let n of e.childNodes)n.nodeType===Node.TEXT_NODE&&(t+=n.textContent||"");return t.trim()}function dr(e,t){let n=document.elementsFromPoint(e,t);for(let o of n)if(o instanceof HTMLElement&&!(o.id==="devtools-canvas"||o.id==="devtools-toolbar"||o.id==="devtools-scrim")&&!o.closest("#devtools-toolbar")&&!(o.dataset.devtools||o.closest("[data-devtools]"))&&!["html","body"].includes(o.tagName.toLowerCase()))return o;return null}function Pu(e){let t=e.parentElement,n=["section","article","nav","aside","header","footer","main"];for(;t&&t!==document.body;){let o=t.tagName.toLowerCase();if(n.includes(o)&&t.id)return`${o}#${t.id}`;if(t.id&&!t.id.startsWith("radix-")&&!t.id.startsWith(":"))return`${o}#${t.id}`;t=t.parentElement}return null}function El(e){let t=new Set,n=[],o=window.scrollX,r=window.scrollY,s=[{x:(e.minX+e.maxX)/2,y:(e.minY+e.maxY)/2},{x:e.minX,y:e.minY},{x:e.maxX,y:e.minY},{x:e.minX,y:e.maxY},{x:e.maxX,y:e.maxY}];for(let i of s){let l=i.x-o,a=i.y-r;if(l<0||a<0||l>window.innerWidth||a>window.innerHeight)continue;let d=dr(l,a);d&&!t.has(d)&&(t.add(d),n.push(Nn(d)))}return n.slice(0,3)}function ws(e){if(e.length===0)return[];let t=e.map(o=>o.x),n=e.map(o=>o.y);return El({minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)})}function dn(e,t){return e.style.getPropertyValue(t)!==""}function Ou(e,t=30){if(e<=0)return[];let n=[],o=Hr(),r=.5,s=o.currentNode;for(;(s=o.nextNode())&&n.length<t;){let i=s,l=i.getBoundingClientRect();if(l.bottom<-50||l.top>window.innerHeight+50||l.right<-50||l.left>window.innerWidth+50||l.width<1||l.height<1)continue;let a=getComputedStyle(i);!dn(i,"padding-top")&&Math.abs((parseFloat(a.paddingTop)||0)-e)<r&&n.push({element:i,property:"padding-top"}),!dn(i,"padding-bottom")&&Math.abs((parseFloat(a.paddingBottom)||0)-e)<r&&n.length<t&&n.push({element:i,property:"padding-bottom"}),!dn(i,"padding-left")&&Math.abs((parseFloat(a.paddingLeft)||0)-e)<r&&n.length<t&&n.push({element:i,property:"padding-left"}),!dn(i,"padding-right")&&Math.abs((parseFloat(a.paddingRight)||0)-e)<r&&n.length<t&&n.push({element:i,property:"padding-right"}),!dn(i,"margin-top")&&Math.abs((parseFloat(a.marginTop)||0)-e)<r&&n.length<t&&n.push({element:i,property:"margin-top"}),!dn(i,"margin-bottom")&&Math.abs((parseFloat(a.marginBottom)||0)-e)<r&&n.length<t&&n.push({element:i,property:"margin-bottom"}),!dn(i,"margin-left")&&Math.abs((parseFloat(a.marginLeft)||0)-e)<r&&n.length<t&&n.push({element:i,property:"margin-left"}),!dn(i,"margin-right")&&Math.abs((parseFloat(a.marginRight)||0)-e)<r&&n.length<t&&n.push({element:i,property:"margin-right"});let d=a.display;if((d.includes("flex")||d.includes("grid"))&&n.length<t){let c=dn(i,"gap"),u=parseFloat(a.gap)||0,p=parseFloat(a.rowGap)||0,g=parseFloat(a.columnGap)||0;!c&&Math.abs(u-e)<r?n.push({element:i,property:"gap"}):!dn(i,"row-gap")&&Math.abs(p-e)<r?n.push({element:i,property:"row-gap"}):!dn(i,"column-gap")&&Math.abs(g-e)<r&&n.push({element:i,property:"column-gap"})}}return n}function Cs(e,t=30){if(e<=0)return[];let n=[],o=Hr(),r=.5,s=o.currentNode;for(;(s=o.nextNode())&&n.length<t;){let i=s,l=i.getBoundingClientRect();if(l.bottom<-50||l.top>window.innerHeight+50||l.right<-50||l.left>window.innerWidth+50||l.width<1||l.height<1)continue;let a=getComputedStyle(i),d=parseFloat(a.borderTopWidth)||0,c=parseFloat(a.borderRightWidth)||0,u=parseFloat(a.borderBottomWidth)||0,p=parseFloat(a.borderLeftWidth)||0,g=i.clientWidth,v=i.clientHeight,x=parseFloat(a.paddingTop)||0;!dn(i,"padding-top")&&Math.abs(x-e)<r&&n.push({x:l.left+p,y:l.top+d,width:g,height:e,direction:"vertical",property:"padding-top"});let w=parseFloat(a.paddingBottom)||0;!dn(i,"padding-bottom")&&Math.abs(w-e)<r&&n.length<t&&n.push({x:l.left+p,y:l.top+d+v-e,width:g,height:e,direction:"vertical",property:"padding-bottom"});let I=parseFloat(a.paddingLeft)||0;!dn(i,"padding-left")&&Math.abs(I-e)<r&&n.length<t&&n.push({x:l.left+p,y:l.top+d,width:e,height:v,direction:"horizontal",property:"padding-left"});let N=parseFloat(a.paddingRight)||0;!dn(i,"padding-right")&&Math.abs(N-e)<r&&n.length<t&&n.push({x:l.left+p+g-e,y:l.top+d,width:e,height:v,direction:"horizontal",property:"padding-right"});let H=parseFloat(a.marginTop)||0;!dn(i,"margin-top")&&Math.abs(H-e)<r&&n.length<t&&n.push({x:l.left,y:l.top-e,width:l.width,height:e,direction:"vertical",property:"margin-top"});let O=parseFloat(a.marginBottom)||0;!dn(i,"margin-bottom")&&Math.abs(O-e)<r&&n.length<t&&n.push({x:l.left,y:l.bottom,width:l.width,height:e,direction:"vertical",property:"margin-bottom"});let L=parseFloat(a.marginLeft)||0;!dn(i,"margin-left")&&Math.abs(L-e)<r&&n.length<t&&n.push({x:l.left-e,y:l.top,width:e,height:l.height,direction:"horizontal",property:"margin-left"});let Y=parseFloat(a.marginRight)||0;!dn(i,"margin-right")&&Math.abs(Y-e)<r&&n.length<t&&n.push({x:l.right,y:l.top,width:e,height:l.height,direction:"horizontal",property:"margin-right"});let re=a.display;if((re.includes("flex")||re.includes("grid"))&&n.length<t&&!dn(i,"gap")){let _=Array.from(i.children).filter(B=>{let h=getComputedStyle(B);return h.display!=="none"&&h.position!=="absolute"&&h.position!=="fixed"});if(_.length>=2)for(let B=0;B<_.length-1&&n.length<t;B++){let h=_[B].getBoundingClientRect(),A=_[B+1].getBoundingClientRect(),k=A.top-h.bottom;Math.abs(k-e)<r&&k>.5&&n.push({x:Math.min(h.left,A.left),y:h.bottom,width:Math.max(h.right,A.right)-Math.min(h.left,A.left),height:k,direction:"vertical",property:"gap"});let be=A.left-h.right;Math.abs(be-e)<r&&be>.5&&n.push({x:h.right,y:Math.min(h.top,A.top),width:be,height:Math.max(h.bottom,A.bottom)-Math.min(h.top,A.top),direction:"horizontal",property:"gap"})}}}return n}function Ri(e){return typeof e=="string"?{value:e}:e}var Tl={gap:["gap","row-gap","column-gap"],padding:["padding-top","padding-bottom","padding-left","padding-right"],margin:["margin-top","margin-bottom","margin-left","margin-right"]};function kl(e,t){let n=Tl[t];return n?n.includes(e):!1}function Bu(e,t){let n=e.split(/\s+/);for(let o of n){if(o===t)return!0;let r=o.lastIndexOf(":");if(r>=0&&o.slice(r+1)===t)return!0}return!1}function Du(e){var l,a;let t=e.lastIndexOf(":"),n=t>=0?e.slice(t+1):e,o=n.indexOf("-");if(o<0)return null;let r=n.slice(0,o),s={gap:"gap","gap-x":"column-gap","gap-y":"row-gap",p:"padding",pt:"padding-top",pb:"padding-bottom",pl:"padding-left",pr:"padding-right",px:"padding-left",py:"padding-top",m:"margin",mt:"margin-top",mb:"margin-bottom",ml:"margin-left",mr:"margin-right",mx:"margin-left",my:"margin-top"},i=n.slice(0,n.indexOf("-",o+1)>0?n.indexOf("-",o+1):o);return(a=(l=s[i])!=null?l:s[r])!=null?a:null}function Es(e,t=30){let n=parseFloat(e.value);if(isNaN(n)||n<=0)return[];if(e.bindings&&e.bindings.length>0){let r=[],s=Hr(),i=s.currentNode;for(;(i=s.nextNode())&&r.length<t;){let l=i,a=l.getBoundingClientRect();if(a.bottom<-50||a.top>window.innerHeight+50||a.right<-50||a.left>window.innerWidth+50||a.width<1||a.height<1)continue;let d=l.className;if(typeof d=="string")for(let c of e.bindings){if(!Bu(d,c))continue;let u=Du(c);if(u&&!(e.property&&!kl(u,e.property))){r.push({element:l,property:u});break}}}return r}let o=Ou(n,t*2);return e.property?o.filter(r=>kl(r.property,e.property)).slice(0,t):o.slice(0,t)}function ks(e,t=30){let n=Es(e,t),o=[];for(let r of n){let s=r.element,i=s.getBoundingClientRect(),l=getComputedStyle(s),a=parseFloat(l.borderTopWidth)||0,d=parseFloat(l.borderRightWidth)||0,c=parseFloat(l.borderLeftWidth)||0,u=s.clientWidth,p=s.clientHeight;switch(r.property){case"padding-top":{let g=parseFloat(l.paddingTop)||0;o.push({x:i.left+c,y:i.top+a,width:u,height:g,direction:"vertical",property:r.property});break}case"padding-bottom":{let g=parseFloat(l.paddingBottom)||0;o.push({x:i.left+c,y:i.top+a+p-g,width:u,height:g,direction:"vertical",property:r.property});break}case"padding-left":{let g=parseFloat(l.paddingLeft)||0;o.push({x:i.left+c,y:i.top+a,width:g,height:p,direction:"horizontal",property:r.property});break}case"padding-right":{let g=parseFloat(l.paddingRight)||0;o.push({x:i.left+c+u-g,y:i.top+a,width:g,height:p,direction:"horizontal",property:r.property});break}case"margin-top":{let g=parseFloat(l.marginTop)||0;o.push({x:i.left,y:i.top-g,width:i.width,height:g,direction:"vertical",property:r.property});break}case"margin-bottom":{let g=parseFloat(l.marginBottom)||0;o.push({x:i.left,y:i.bottom,width:i.width,height:g,direction:"vertical",property:r.property});break}case"margin-left":{let g=parseFloat(l.marginLeft)||0;o.push({x:i.left-g,y:i.top,width:g,height:i.height,direction:"horizontal",property:r.property});break}case"margin-right":{let g=parseFloat(l.marginRight)||0;o.push({x:i.right,y:i.top,width:g,height:i.height,direction:"horizontal",property:r.property});break}case"gap":case"row-gap":case"column-gap":{let g=Array.from(s.children).filter(v=>{let x=getComputedStyle(v);return x.display!=="none"&&x.position!=="absolute"&&x.position!=="fixed"});for(let v=0;v<g.length-1&&o.length<t;v++){let x=g[v].getBoundingClientRect(),w=g[v+1].getBoundingClientRect(),I=w.top-x.bottom;I>.5&&o.push({x:Math.min(x.left,w.left),y:x.bottom,width:Math.max(x.right,w.right)-Math.min(x.left,w.left),height:I,direction:"vertical",property:"gap"});let N=w.left-x.right;N>.5&&o.push({x:x.right,y:Math.min(x.top,w.top),width:N,height:Math.max(x.bottom,w.bottom)-Math.min(x.top,w.top),direction:"horizontal",property:"gap"})}break}}}return o}function Ml(e,t){let n=new Set,o=ei(t);for(let r of e){let s=Rl[r.property];if(!s)continue;let i=r.element.className;if(typeof i=="string")for(let l of s){let a=`${l}-${o}`;for(let d of i.split(/\s+/)){let c=d.lastIndexOf(":"),u=c>=0?d.slice(c+1):d;if(u===a){n.add(u);break}}}}return[...n]}function Il(e){let t=new Set;for(let n of e)for(let[o,r]of Object.entries(Tl))if(r.includes(n.property)){t.add(o);break}if(t.size===1)return[...t][0]}function Ts(e,t,n){if(t===n)return e;let o=ei(t),r=ei(n);return e.map(s=>{let i=s.lastIndexOf("-");if(i<0)return s;let l=s.slice(0,i),a=s.slice(i+1);return a===o||a===`[${t}px]`?`${l}-${r}`:s})}var _u={0:"0",1:"px",2:"0.5",4:"1",6:"1.5",8:"2",12:"3",16:"4",20:"5",24:"6",28:"7",32:"8",40:"10",48:"12",64:"16",80:"20",96:"24"};function ei(e){var t;return(t=_u[e])!=null?t:`[${e}px]`}var Rl={"padding-top":["pt","py","p"],"padding-bottom":["pb","py","p"],"padding-left":["pl","px","p"],"padding-right":["pr","px","p"],"margin-top":["mt","my","m"],"margin-bottom":["mb","my","m"],"margin-left":["ml","mx","m"],"margin-right":["mr","mx","m"],gap:["gap"],"row-gap":["gap-y","gap"],"column-gap":["gap-x","gap"]};function Hu(e,t,n,o){let r=Rl[t];if(!r)return null;let s=ei(n);for(let i of r){let l=new RegExp("(?:^|\\s)((?:[\\w-]+:)*"+i+"-(?:"+Nu(s)+"|\\["+n+"px\\]))(?:\\s|$)"),a=e.match(l);if(a!=null&&a[1]){let d=ei(o),c=a[1].lastIndexOf(":"),u=c>=0?a[1].slice(0,c+1):"";return{matched:a[1],suggested:`${u}${i}-${d}`}}}return null}function Nu(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ll(e,t,n){let o=new Set,r=[];for(let s of e){let i=Jn(s.element),l=`${i}::${s.property}`;if(o.has(l))continue;o.add(l);let a=Ti(s.element),d=s.element.className||"",c=Hu(d,s.property,t,n);r.push({selector:i,reactComponent:a==null?void 0:a.name,className:d,property:s.property,matchedClass:c==null?void 0:c.matched,suggestedClass:c==null?void 0:c.suggested})}return r}function Li(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function Ai(e,t){if(e instanceof HTMLElement){let o=e.style.getPropertyValue(t);if(o)return o}let n=t.replace(/-([a-z])/g,(o,r)=>r.toUpperCase());try{for(let o of document.styleSheets)try{let r=o.cssRules||o.rules;for(let s of r)if(s instanceof CSSStyleRule&&e.matches(s.selectorText)){let i=s.style.getPropertyValue(t);if(i)return i;let l=s.style[n];if(l)return l}}catch(r){}}catch(o){}return null}function Pi(e){let t=window.getComputedStyle(e).display;return t==="flex"||t==="inline-flex"||t==="grid"||t==="inline-grid"}function ur(e){let t=window.getComputedStyle(e);return{row:parseFloat(t.rowGap)||0,column:parseFloat(t.columnGap)||0}}function zu(e){let t=[];for(let n of e){let o=t.find(r=>r.axis!==n.axis?!1:n.axis==="row"?Math.abs(r.y-n.y)<2&&Math.abs(r.h-n.h)<2:Math.abs(r.x-n.x)<2&&Math.abs(r.w-n.w)<2);if(o)if(n.axis==="row"){let r=Math.min(o.x,n.x),s=Math.max(o.x+o.w,n.x+n.w);o.x=r,o.w=s-r}else{let r=Math.min(o.y,n.y),s=Math.max(o.y+o.h,n.y+n.h);o.y=r,o.h=s-r}else t.push(f({},n))}return t}function Ho(e){let t=Array.from(e.children).filter(a=>{if(!(a instanceof HTMLElement))return!1;let d=window.getComputedStyle(a);return d.display!=="none"&&d.position!=="absolute"&&d.position!=="fixed"});if(t.length<2)return[];let n=[],o=e.getBoundingClientRect(),s=window.getComputedStyle(e).flexDirection,i=s==="column"||s==="column-reverse",l=6;for(let a=0;a<t.length-1;a++){let d=t[a].getBoundingClientRect(),c=t[a+1].getBoundingClientRect();if(c.left>d.right+.5&&n.push({axis:"column",x:d.right,y:o.top,w:c.left-d.right,h:o.height}),c.top>d.bottom+.5&&n.push({axis:"row",x:o.left,y:d.bottom,w:o.width,h:c.top-d.bottom}),!(c.left>d.right+.5)&&!(c.top>d.bottom+.5))if(i){let u=(d.bottom+c.top)/2;n.push({axis:"row",x:o.left,y:u-l/2,w:o.width,h:l})}else{let u=(d.right+c.left)/2;n.push({axis:"column",x:u-l/2,y:o.top,w:l,h:o.height})}}return zu(n)}function Ms(e,t){let n=window.getComputedStyle(e),o=n.display;if(o!=="flex"&&o!=="inline-flex")return!1;let r=n.justifyContent;if(r!=="space-between"&&r!=="space-around"&&r!=="space-evenly"&&r!=="stretch")return!1;let s=n.flexDirection;return!(t!==(s==="column"||s==="column-reverse"?"row":"column")||parseFloat(t==="row"?n.rowGap:n.columnGap)>0)}function Nr(e){let t=window.getComputedStyle(e);return{top:parseFloat(t.paddingTop)||0,right:parseFloat(t.paddingRight)||0,bottom:parseFloat(t.paddingBottom)||0,left:parseFloat(t.paddingLeft)||0}}function pr(e){let t=window.getComputedStyle(e);return{"top-left":parseFloat(t.borderTopLeftRadius)||0,"top-right":parseFloat(t.borderTopRightRadius)||0,"bottom-right":parseFloat(t.borderBottomRightRadius)||0,"bottom-left":parseFloat(t.borderBottomLeftRadius)||0}}function Is(e){for(let t of e.childNodes)if(t.nodeType===Node.TEXT_NODE&&(t.textContent||"").trim().length>0)return!0;return!1}function zr(e){var c,u;let t=document.createRange(),n=!1;for(let p of e.childNodes)p.nodeType===Node.TEXT_NODE&&(p.textContent||"").trim().length>0&&(n||(t.setStart(p,0),n=!0),t.setEnd(p,(u=(c=p.textContent)==null?void 0:c.length)!=null?u:0));if(!n)return null;let o=t.getBoundingClientRect(),r=window.getComputedStyle(e),s=parseFloat(r.fontSize)||16,i=parseFloat(r.lineHeight);isNaN(i)&&(i=s*1.2);let l=Math.max(1,t.getClientRects().length),a=Math.max(o.height,l*i),d=(a-o.height)/2;return new DOMRect(o.x,o.y-d,o.width,a)}function ti(e){let t=window.getComputedStyle(e),n=parseFloat(t.fontSize)||16,o=parseFloat(t.lineHeight);return isNaN(o)&&(o=n*1.2),{fontSize:n,lineHeight:o}}function Xe(e,t,n){e instanceof HTMLElement&&e.style.setProperty(t,n,"important")}function Al(e,t,n){e instanceof HTMLElement&&e.style.removeProperty(t)}function Oi(e){var t;for(let n of e){let o=Hn(n.selector);if(!o&&n.durableSelector&&(o=Hn(n.durableSelector),o)){let r=(t=n.selector.match(/\[data-pm="([^"]+)"\]/))==null?void 0:t[1];r&&o.setAttribute("data-pm",r)}if(o)for(let r of n.changes)Xe(o,r.property,r.modified)}}function Bi(e){for(let t of e){let n=Hn(t.selector);if(n)for(let o of t.changes)Al(n,o.property,o.original)}}function Ol(e,t,n,o){if(e)for(let r of e){if(r instanceof CSSGroupingRule){Ol(r.cssRules,t,n,o);continue}if(r instanceof CSSStyleRule){let s=r.selectorText.toLowerCase();(s===":root"||s==="html"||s==="*"||s.includes(":root"))&&Fu(r.style,t,n,o)}}}function Fu(e,t,n,o){for(let r=0;r<e.length;r++){let s=e[r];if(s!=null&&s.startsWith("--")){if(n.has(s))continue;n.add(s);let i=t.getPropertyValue(s).trim();Bl(i)&&o.push({name:s,value:i,usage:`var(${s})`})}}}var Di=null,$u=5e3;function Rs(){if(Di&&Date.now()-Di.timestamp<$u)return Di.variables;let e=[],t=new Set,n=getComputedStyle(document.documentElement);try{for(let s of document.styleSheets)try{Ol(s.cssRules||s.rules,n,t,e)}catch(i){}}catch(s){}let o=document.documentElement.style;for(let s=0;s<o.length;s++){let i=o[s];if(i!=null&&i.startsWith("--")&&!t.has(i)){t.add(i);let l=n.getPropertyValue(i).trim();Bl(l)&&e.push({name:i,value:l,usage:`var(${i})`})}}let r=e.sort((s,i)=>s.name.localeCompare(i.name));return Di={variables:r,timestamp:Date.now()},r}function Bl(e){if(!e)return!1;let t=e.toLowerCase().trim();return!!(/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t)||t.startsWith("rgb")||t.startsWith("hsl")||t.startsWith("oklch")||t.startsWith("oklab")||t.startsWith("lch")||t.startsWith("lab")||["transparent","currentcolor","inherit","white","black","red","green","blue","yellow","orange","purple","pink","gray","grey"].includes(t))}function Fr(e,t){let n=t.match(/var\((--[^,)]+)(?:,\s*([^)]+))?\)/);if(n){let o=n[1],r=n[2];return getComputedStyle(document.documentElement).getPropertyValue(o).trim()||r||t}return t}function ni(e,t){if(!e)return null;let n=Pl(e);if(!n)return null;for(let o of t){let r=Pl(o.value);if(r&&n===r)return o}return null}function Pl(e){if(!e)return null;let t=e.trim().toLowerCase();if(t.startsWith("oklch(")){let n=t.match(/oklch\(\s*([\d.]+%?)\s+([\d.]+%?)\s+([\d.]+)/);if(n){let o=n[1].endsWith("%")?parseFloat(n[1])/100:parseFloat(n[1]),r=n[2].endsWith("%")?parseFloat(n[2])/100:parseFloat(n[2]),s=parseFloat(n[3]);o=Math.round(o*100)/100,r=Math.round(r*1e3)/1e3;let i=Math.round(s);return`oklch(${o} ${r} ${i})`}}if(t.startsWith("rgb")){let n=t.match(/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);if(n)return`rgb(${n[1]},${n[2]},${n[3]})`}return t.startsWith("#")?t.length===4?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:t.slice(0,7):t}import{Fragment as fr,jsx as mt,jsxs as po}from"react/jsx-runtime";var eo=22,Vo=12,Wu=3,ju=250,_i=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Gu=3e3;function Yu(i){var l=i,{left:e,top:t,avoidBottom:n,style:o,children:r}=l,s=Dn(l,["left","top","avoidBottom","style","children"]);let a=e+Vo,d=t+Vo,c=n!==void 0?`${n}px`:"100vh";return mt("div",y(f({"data-devtools":"badge-hit-area"},s),{style:f({position:"fixed",left:e,top:t,padding:Vo},o),children:mt("div",{style:{transform:`translate(min(0px, calc(100vw - ${a}px - 100%)), min(0px, calc(${c} - ${d}px - 100%)))`},children:r})}))}function Hl({annotations:e,supersededAnnotations:t,inFlightIds:n,activeIds:o,queuePositions:r,scrollX:s,scrollY:i,annotationGroupMap:l,onViewThread:a,onSelectAnnotation:d,onHoverAnnotation:c,canvasRef:u}){var Z,_,B,h,A,k,be;let[p,g]=oi(0),[v,x]=oi(()=>Math.floor(Math.random()*_i.length)),w=!!(n&&n.size>0);Hi(()=>{if(!w)return;let K=setInterval(()=>{g(F=>(F+1)%Wu)},ju),de=setInterval(()=>{x(F=>(F+1)%_i.length)},Gu);return()=>{clearInterval(K),clearInterval(de)}},[w]);let I=[];for(let K of e){if(K.type!=="text"||!K.text||!K.points[0]||t.has(K))continue;let de=K.groupId?e.filter(ye=>ye.groupId===K.groupId):[K],F=(Z=K.status)!=null?Z:"pending",me=de.reduce((ye,ct)=>{var Ge;return ye+((Ge=ct.replyCount)!=null?Ge:0)},0),R=ye=>ye==="resolved"&&me===0,ie=!!(n&&(n.has(K.id)||de.some(ye=>n.has(ye.id))))||K.status==="in_flight"||de.some(ye=>ye.status==="in_flight")||R(K.status)||de.some(ye=>R(ye.status)),Se=de.some(ye=>{var ct;return ye.status==="resolved"&&((ct=ye.replyCount)!=null?ct:0)>0||ye.status==="needs_review"}),Pe=de.some(ye=>ye.threadId);if(!ie&&F!=="resolved"&&F!=="needs_review"&&!Se&&!Pe)continue;let _e=K.threadId||((_=de.find(ye=>ye.threadId))==null?void 0:_.threadId),Ze=F==="needs_review"||de.some(ye=>ye.status==="needs_review"),Oe=K.points[0],he=K.fontSize||12,Fe=he*1.4,rt=l.get(K.id),ht=K.text.replace(/\n/g," "),Jt=rt!==void 0?rt+". "+ht:ht,Q=(h=(B=u==null?void 0:u.current)==null?void 0:B.getContext("2d"))!=null?h:document.createElement("canvas").getContext("2d");if(!Q)continue;Q.font=`${he}px ${Zt}`;let ne=Oe.x-s,Te=Or(ne),$e=Br(Q,Jt,Te),pt=Q.measureText($e).width,Je=ie&&!!o&&!o.has(K.id)&&!de.some(ye=>o.has(ye.id));I.push({id:K.id,threadId:_e,linkedSelector:K.linkedSelector||((A=de.find(ye=>ye.linkedSelector))==null?void 0:A.linkedSelector),x:Oe.x+pt+4,y:Oe.y-4,size:Fe+8,color:K.color,isInFlight:ie,isQueued:Je,queuePosition:void 0,isNeedsReview:Ze,replyCount:me})}let N=I.filter(K=>K.isQueued);if(N.length>0&&N.forEach((K,de)=>{var F;K.queuePosition=(F=r==null?void 0:r.get(K.id))!=null?F:`(${de+1}/${N.length})`}),I.length===0)return null;let H=2,O=(be=(k=u==null?void 0:u.current)==null?void 0:k.getContext("2d"))!=null?be:document.createElement("canvas").getContext("2d"),L=I.map(K=>{var Se;let de;K.isQueued?de=K.queuePosition?`queued ${K.queuePosition}`:"queued":K.isInFlight?de=(Se=_i[v])!=null?Se:"thinking":K.replyCount>0?de=`${K.replyCount} ${K.replyCount===1?"reply":"replies"}`:de="Cancelled";let F=!K.isQueued,me=F?11:0,R=F?4:0,ie=de.length*7.2;return O&&(O.font=`12px ${Zt}`,ie=O.measureText(de).width),4+me+R+ie+4}),Y=typeof window!="undefined"?window.innerHeight:9999,re=[];for(let K=0;K<I.length;K++){let de=I[K].y-i,F=Math.min(de,Y-eo),me=F+eo,ie=I[K].x-s;for(let Se=0;Se<K;Se++){let Pe=I[Se].y-i,_e=Math.min(Pe,Y-eo),Ze=_e+eo;if(!(F<Ze&&me>_e))continue;let he=re[Se]+L[Se];ie<he+H&&(ie=he+H)}re.push(ie)}return mt(fr,{children:I.map((K,de)=>{let F=!!K.threadId;return mt(Yu,{left:re[de]-Vo,top:K.y-i-Vo,onMouseDown:F?me=>me.stopPropagation():void 0,onClick:F?me=>{if(me.stopPropagation(),d==null||d(K.id),a==null||a(K.threadId),K.linkedSelector)try{let R=document.querySelector(K.linkedSelector);if(R){let ie=R.getBoundingClientRect();(ie.bottom<0||ie.top>window.innerHeight)&&R.scrollIntoView({behavior:"smooth",block:"center"})}}catch(R){}}:void 0,onMouseEnter:c?()=>c(K.id):void 0,onMouseLeave:c?()=>c(null):void 0,style:{pointerEvents:F?"auto":"none",cursor:F?"pointer":void 0,zIndex:9999},children:mt("div",{"data-devtools":"annotation-badge",style:{height:K.size,display:"flex",alignItems:"center",backgroundColor:K.color,fontFamily:Zt,fontSize:12,color:"#ffffff",userSelect:"none",padding:`0 ${4}px`,gap:4,whiteSpace:"nowrap"},children:K.isQueued?po("span",{style:{opacity:.5,color:"inherit"},children:["queued",K.queuePosition?` ${K.queuePosition}`:""]}):K.isInFlight?po(fr,{children:[mt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:p===1?po(fr,{children:[mt("circle",{cx:"7",cy:"7",r:"2"}),mt("circle",{cx:"17",cy:"7",r:"2"}),mt("circle",{cx:"7",cy:"17",r:"2"}),mt("circle",{cx:"17",cy:"17",r:"2"})]}):po(fr,{children:[mt("circle",{cx:"12",cy:"6",r:"2"}),mt("circle",{cx:"6",cy:"12",r:"2"}),mt("circle",{cx:"18",cy:"12",r:"2"}),mt("circle",{cx:"12",cy:"18",r:"2"})]})}),mt("span",{style:{opacity:.7,color:"inherit"},children:_i[v]})]}):po(fr,{children:[K.isNeedsReview?mt("span",{style:{fontWeight:700,color:"inherit"},children:"?"}):mt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:mt("polyline",{points:"4 12 10 18 20 6"})}),mt("span",{style:{opacity:.7,color:"inherit"},children:K.replyCount>0?`${K.replyCount} ${K.replyCount===1?"reply":"replies"}`:"Cancelled"})]})})},K.id)})})}function Ls({inFlightSelectorColors:e,animated:t=!0}){let[n,o]=oi([]);return Hi(()=>{if(e.size===0){o([]);return}let r=null,s=()=>{let a=[];for(let[d,c]of e){let u=Hn(d);if(!u)continue;let p=u.getBoundingClientRect();a.push({selector:d,top:p.top,left:p.left,width:p.width,height:p.height,color:c})}o(a)},i=()=>{r&&cancelAnimationFrame(r),r=requestAnimationFrame(s)};s(),window.addEventListener("scroll",i,!0),window.addEventListener("resize",i,!0);let l=new MutationObserver(i);return l.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",i,!0),window.removeEventListener("resize",i,!0),l.disconnect(),r&&cancelAnimationFrame(r)}},[e]),n.length===0?null:po(fr,{children:[t&&mt("style",{children:"@keyframes popmelt-march { to { stroke-dashoffset: -6; } }"}),n.map(r=>mt("div",{"data-devtools":"marching-ants",style:{position:"fixed",top:r.top,left:r.left,width:r.width,height:r.height,pointerEvents:"none",zIndex:9995,overflow:"visible"},children:mt("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible"},children:mt("rect",{x:"0.5",y:"0.5",width:Math.max(0,r.width-1),height:Math.max(0,r.height-1),fill:"none",stroke:r.color,strokeWidth:"1",strokeDasharray:"2 4",style:t?{animation:"popmelt-march 0.5s steps(2) infinite"}:void 0})})},r.selector))]})}function Nl({annotations:e,supersededAnnotations:t,scrollX:n,scrollY:o,onReply:r,annotationGroupMap:s,canvasRef:i,onHoverAnnotation:l}){let a=e.filter(u=>t.has(u)?!1:u.status==="waiting_input"&&u.question&&u.threadId);if(a.length===0)return null;let d=new Set,c=[];for(let u of a){if(!u.threadId||d.has(u.threadId))continue;d.add(u.threadId);let p=u.type==="text"?u:e.find(g=>g.groupId&&g.groupId===u.groupId&&g.type==="text")||u;if(p.type==="text"&&p.text&&p.points[0]){let g=p.points[0],v=p.fontSize||12,x=v*1.4,w=s.get(p.id),I=p.text.replace(/\n/g," "),N=w!==void 0?w+". "+I:I,O=document.createElement("canvas").getContext("2d");if(!O)continue;O.font=`${v}px ${Zt}`;let L=g.x-n,Y=Or(L),re=Br(O,N,Y),Z=O.measureText(re).width;c.push({annotation:u,x:g.x+Z+4,y:g.y-4,size:x+8})}}return c.length===0?null:mt(fr,{children:c.map(({annotation:u,x:p,y:g,size:v})=>mt(Ju,{annotation:u,x:p-n,y:g-o,size:v,onReply:r,onHoverAnnotation:l},`question-${u.threadId}`))})}function Ju({annotation:e,x:t,y:n,size:o,onReply:r,onHoverAnnotation:s}){let[i,l]=oi(!1),[a,d]=oi(""),c=_l(null),u=_l(null);Hi(()=>{i&&c.current&&c.current.focus()},[i]),Hi(()=>{if(!i)return;let w=N=>{u.current&&!N.composedPath().includes(u.current)&&l(!1)},I=N=>{N.key==="Escape"&&l(!1)};return document.addEventListener("mousedown",w),document.addEventListener("keydown",I),()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",I)}},[i]);let p=Dl(()=>{!a.trim()||!e.threadId||(r(e.threadId,a.trim()),d(""),l(!1))},[a,e.threadId,r]),g=Dl(w=>{w.key==="Enter"&&(w.metaKey||w.ctrlKey)&&(w.preventDefault(),p())},[p]),v=i?t:t-Vo,x=i?n:n-Vo;return po("div",{ref:u,"data-devtools":"question-badge",onMouseEnter:s?()=>s(e.id):void 0,onMouseLeave:s?()=>s(null):void 0,style:{position:"fixed",left:`max(0px, ${v}px)`,top:`max(0px, ${x}px)`,padding:i?0:Vo,transform:`translate(min(0px, calc(100vw - max(0px, ${v}px) - 100%)), min(0px, calc(100vh - max(0px, ${x}px) - 100%)))`,zIndex:i?10002:9999,pointerEvents:"auto",cursor:i?void 0:"pointer"},children:[!i&&po("div",{onClick:()=>l(!0),style:{height:o,display:"flex",alignItems:"center",backgroundColor:e.color,padding:`0 ${4}px`,gap:4,fontFamily:Zt,fontSize:12,color:"#ffffff",whiteSpace:"nowrap"},children:[po("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[mt("line",{x1:"12",y1:"3",x2:"12",y2:"9"}),mt("line",{x1:"12",y1:"15",x2:"12",y2:"21"}),mt("line",{x1:"3",y1:"12",x2:"9",y2:"12"}),mt("line",{x1:"15",y1:"12",x2:"21",y2:"12"})]}),mt("span",{style:{opacity:.7},children:"reply?"})]}),i&&po("div",{style:{minWidth:260,maxWidth:360,backgroundColor:"#eaeaea",fontFamily:Zt,fontSize:12,color:"#1f2937",border:"1px solid rgba(0, 0, 0, 0.1)"},children:[mt("div",{style:{padding:`${6}px ${8}px`,lineHeight:1.4},children:e.question}),po("div",{style:{padding:`0 ${4}px ${4}px`},children:[mt("textarea",{ref:c,value:a,onChange:w=>d(w.target.value),onKeyDown:g,placeholder:"Type your reply...",style:{width:"100%",minHeight:40,padding:4,fontSize:12,fontFamily:Zt,backgroundColor:"rgba(0, 0, 0, 0.04)",color:"#1f2937",border:"1px solid rgba(0, 0, 0, 0.1)",borderRadius:0,outline:"none",resize:"vertical",lineHeight:1.4,boxSizing:"border-box"}}),mt("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:4},children:mt("button",{onClick:p,disabled:!a.trim(),style:{padding:"4px 12px",fontSize:11,fontFamily:Zt,fontWeight:600,backgroundColor:a.trim()?e.color:"rgba(0,0,0,0.1)",color:a.trim()?"#ffffff":"rgba(0,0,0,0.3)",border:"none",cursor:a.trim()?"pointer":"default"},children:"Send \u2318\u23CE"})})]})]})]})}function Ni(e){var s;let t=new Set,n=new Map;for(let i of e){if(!i.linkedSelector)continue;let l=n.get(i.linkedSelector)||[];l.push(i),n.set(i.linkedSelector,l)}let o=new Set,r=new Set;for(let i of n.values()){if(i.length<=1){(s=i[0])!=null&&s.groupId&&r.add(i[0].groupId);continue}i.sort((a,d)=>d.timestamp-a.timestamp);let l=i[0];l.groupId&&r.add(l.groupId);for(let a=1;a<i.length;a++){let d=i[a];t.add(d),d.groupId&&o.add(d.groupId)}}for(let i of e)i.groupId&&o.has(i.groupId)&&!r.has(i.groupId)&&t.add(i);return t}import{useEffect as zl,useLayoutEffect as Vu,useState as Fl}from"react";import{jsx as As,jsxs as Wl}from"react/jsx-runtime";function Uu(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 $l=["top-left","top-right","bottom-right","bottom-left"];function jl({element:e,radius:t,accentColor:n,hoveredCorner:o,draggingCorner:r,cursorViewport:s}){let[i,l]=Fl(null),[a,d]=Fl(!1);if(zl(()=>{let I=O=>{(O.key==="Meta"||O.key==="Control")&&d(!0)},N=O=>{(O.key==="Meta"||O.key==="Control")&&d(!1)},H=()=>d(!1);return window.addEventListener("keydown",I,!0),window.addEventListener("keyup",N,!0),window.addEventListener("blur",H),()=>{window.removeEventListener("keydown",I,!0),window.removeEventListener("keyup",N,!0),window.removeEventListener("blur",H)}},[]),zl(()=>{if(!e){l(null);return}let I=()=>{l(e.getBoundingClientRect())};return I(),window.addEventListener("scroll",I,{passive:!0}),window.addEventListener("resize",I,{passive:!0}),()=>{window.removeEventListener("scroll",I),window.removeEventListener("resize",I)}},[e]),Vu(()=>{e&&l(e.getBoundingClientRect())},[e,t["top-left"],t["top-right"],t["bottom-right"],t["bottom-left"]]),!i)return null;let c=i.width,u=i.height,p=Uu(n,.2),g={"top-left":{x:0,y:t["top-left"]},"top-right":{x:c,y:t["top-right"]},"bottom-right":{x:c,y:u-t["bottom-right"]},"bottom-left":{x:0,y:u-t["bottom-left"]}},v=new Set,x=r!=null?r:o;if(x)if(a)v.add(x);else for(let I of $l)v.add(I);let w={position:"fixed",top:i.top,left:i.left,width:c,height:u,pointerEvents:"none",zIndex:9996,overflow:"visible"};return Wl("div",{"data-devtools":"border-radius-handles",style:w,children:[Wl("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${c} ${u}`,children:[As("rect",{x:"0.5",y:"0.5",width:Math.max(0,c-1),height:Math.max(0,u-1),fill:"none",stroke:p,strokeWidth:"1"}),$l.map(I=>{let N=g[I],H=v.has(I);return As("circle",{cx:N.x,cy:N.y,r:I===(r!=null?r:o)?3:2.5,fill:n,stroke:"#ffffff",strokeWidth:I===(r!=null?r:o)?4:2,paintOrder:"stroke"},I)})]}),s&&x&&(()=>{let I=Math.round(t[x]);return As("div",{style:{position:"fixed",left:s.x+8,top:s.y-28,background:n,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:I})})()]})}import{useEffect as Ku,useState as Xu}from"react";function gr(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);if(n)return`oklch(${n[1]} / ${t})`;let o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(o){let r=parseInt(o[1],16),s=parseInt(o[2],16),i=parseInt(o[3],16);return`rgba(${r}, ${s}, ${i}, ${t})`}return`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}import{Fragment as qu,jsx as Ps,jsxs as ri}from"react/jsx-runtime";function Co({element:e,isSelected:t=!1,elementInfo:n,color:o="#3b82f6",annotationNumber:r,changeCount:s,hideTooltip:i=!1}){let[l,a]=Xu(null);if(Ku(()=>{if(!e){a(null);return}let L=()=>{let Y=e.getBoundingClientRect();a(Y)};return L(),window.addEventListener("scroll",L,{passive:!0}),window.addEventListener("resize",L,{passive:!0}),()=>{window.removeEventListener("scroll",L),window.removeEventListener("resize",L)}},[e]),!l||!e)return null;let d={position:"fixed",top:l.top,left:l.left,width:l.width,height:l.height,pointerEvents:"none",zIndex:9996,backgroundColor:gr(o,.05),overflow:"visible"},c=e.tagName.toLowerCase(),u=e.id?`#${e.id}`:"",p=e.classList.length>0?"."+Array.from(e.classList).slice(0,2).join("."):"",g=n==null?void 0:n.reactComponent,v=g?`<${g}> ${c}${u}${p}`:`${c}${u}${p}`,x=22,w=l.height>=window.innerHeight,I=w?0:l.top>=x?l.top-x:l.bottom,N=w?{position:"absolute",top:8,left:8,zIndex:9997,display:"flex",alignItems:"center",gap:6,backgroundColor:o,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,pointerEvents:"none",whiteSpace:"nowrap",maxWidth:400}:{position:"fixed",top:I,left:l.left,zIndex:9997,display:"flex",alignItems:"center",gap:6,backgroundColor:o,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,pointerEvents:"none",whiteSpace:"nowrap",maxWidth:400},O=!i&&ri("div",{"data-devtools":"tooltip",style:N,children:[r!==void 0&&ri("span",{children:[r,"."]}),Ps("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0},children:v}),s!==void 0&&s>0&&ri("span",{style:{opacity:.8},children:["(",s," ",s===1?"change":"changes",")"]})]});return ri(qu,{children:[ri("div",{"data-devtools":"highlight",style:d,children:[Ps("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},children:Ps("rect",f({x:"0.5",y:"0.5",width:Math.max(0,l.width-1),height:Math.max(0,l.height-1),fill:"none",stroke:o,strokeWidth:"1"},!t&&{strokeDasharray:"2 4"}))}),w&&O]}),!w&&O]})}import{useEffect as Gl,useLayoutEffect as Zu,useState as Os}from"react";import{jsx as No,jsxs as Ds}from"react/jsx-runtime";function Bs(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 _s({element:e,gap:t,accentColor:n,hoveredAxis:o,draggingAxis:r,cursorViewport:s,isAutoGap:i=!1,refreshKey:l=0}){let[a,d]=Os(null),[c,u]=Os([]),[p,g]=Os(!1);if(Gl(()=>{let Z=h=>{(h.key==="Meta"||h.key==="Control")&&g(!0)},_=h=>{(h.key==="Meta"||h.key==="Control")&&g(!1)},B=()=>g(!1);return window.addEventListener("keydown",Z,!0),window.addEventListener("keyup",_,!0),window.addEventListener("blur",B),()=>{window.removeEventListener("keydown",Z,!0),window.removeEventListener("keyup",_,!0),window.removeEventListener("blur",B)}},[]),Gl(()=>{if(!e){d(null),u([]);return}let Z=()=>{d(e.getBoundingClientRect()),u(Ho(e))};return Z(),window.addEventListener("scroll",Z,{passive:!0}),window.addEventListener("resize",Z,{passive:!0}),()=>{window.removeEventListener("scroll",Z),window.removeEventListener("resize",Z)}},[e]),Zu(()=>{e&&(d(e.getBoundingClientRect()),u(Ho(e)))},[e,t.row,t.column,l]),!a||c.length===0)return null;let v=a.width,x=a.height,w="pm-gap-stripe-pattern",I=Bs(n,.25),N=Bs(n,.1),H=Bs(n,.2),O=8,L=2,Y={position:"fixed",top:a.top,left:a.left,width:v,height:x,pointerEvents:"none",zIndex:9996,overflow:"visible"},re=r!=null?r:o;return Ds("div",{"data-devtools":"gap-handles",style:Y,children:[Ds("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${v} ${x}`,children:[No("defs",{children:No("pattern",{id:w,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:No("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:I,strokeWidth:"1.5"})})}),No("rect",{x:"0.5",y:"0.5",width:Math.max(0,v-1),height:Math.max(0,x-1),fill:"none",stroke:H,strokeWidth:"1"}),c.map((Z,_)=>{let B=Z.x-a.left,h=Z.y-a.top,A=Z.w,k=Z.h,be=p?Z.axis===re:!0;return(Z.axis==="row"?t.row:t.column)===0?null:Ds("g",{opacity:be?1:.6,children:[No("rect",{x:B,y:h,width:A,height:k,fill:N}),No("rect",{x:B,y:h,width:A,height:k,fill:`url(#${w})`})]},_)}),re&&(()=>{let Z=c.filter(Se=>Se.axis===re);if(Z.length===0)return null;let _=Z[0];if(s&&Z.length>1){let Se=1/0;for(let Pe of Z){let _e=Pe.x+Pe.w/2,Ze=Pe.y+Pe.h/2,Oe=Math.abs(s.x-_e)+Math.abs(s.y-Ze);Oe<Se&&(Se=Oe,_=Pe)}}let B=_.x-a.left,h=_.y-a.top,A=_.w,k=_.h,be=B+A/2,K=h+k/2;if(i)return No("circle",{cx:be,cy:K,r:1.5,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"});let de=re==="column",F=de?L:O,me=de?O:L,R=be-F/2,ie=K-me/2;return No("rect",{x:R,y:ie,width:F,height:me,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"})})()]}),s&&re&&(()=>{let Z=i?"auto":String(Math.round(re==="row"?t.row:t.column));return No("div",{style:{position:"fixed",left:s.x+8,top:s.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:Z})})()]})}import{useCallback as op,useEffect as rp,useState as ip}from"react";import{useEffect as Qu,useState as Yl}from"react";var ep=3,tp=250,Hs=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],np=3e3;function Jl(e){let[t,n]=Yl(0),[o,r]=Yl(()=>Math.floor(Math.random()*Hs.length));return Qu(()=>{if(!e)return;let s=setInterval(()=>n(l=>(l+1)%ep),tp),i=setInterval(()=>r(l=>(l+1)%Hs.length),np);return()=>{clearInterval(s),clearInterval(i)}},[e]),{charIndex:t,word:Hs[o]}}import{Fragment as Ns,jsx as Vn,jsxs as $r}from"react/jsx-runtime";function sp(e){let{element:t}=e,n=t.tagName,o=t.id?`#${t.id}`:"",r=t.className?"."+t.className.split(" ").slice(0,2).join("."):"",s=t.reactComponent;return s?`<${s}> ${n}${o}${r}`:`${n}${o}${r}`}var Vl=22,zs=12;function ap(i){var l=i,{left:e,top:t,avoidBottom:n,style:o,children:r}=l,s=Dn(l,["left","top","avoidBottom","style","children"]);let a=n!==void 0?`${n}px`:"100vh";return Vn("div",y(f({"data-devtools":"badge-hit-area"},s),{style:f({position:"fixed",left:`max(0px, ${e}px)`,top:`max(0px, ${t}px)`,padding:zs,transform:`translate(min(0px, calc(100vw - max(0px, ${e}px) - 100%)), min(0px, calc(${a} - max(0px, ${t}px) - 100%)))`},o),children:r}))}function Ul({styleModifications:e,isInspecting:t,accentColor:n,annotationGroupCount:o,dispatch:r,inFlightSelectors:s,toolbarRef:i,onHoverSelector:l}){var N;let[a,d]=ip([]),c=s&&s.size>0,{charIndex:u,word:p}=Jl(!!c);rp(()=>{if(t){d([]);return}let H=null,O=()=>{let re=[];e.forEach((Z,_)=>{let B=Hn(Z.selector);if(!B)return;let h=B.getBoundingClientRect();re.push({selector:Z.selector,modIndex:_,top:h.top>=Vl?h.top-Vl:h.bottom,left:h.left,label:sp(Z),changeCount:Z.changes.length,annotationNumber:o+_+1})}),d(re)},L=()=>{H&&cancelAnimationFrame(H),H=requestAnimationFrame(O)};O(),window.addEventListener("scroll",L,!0),window.addEventListener("resize",L,!0);let Y=new MutationObserver(L);return Y.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),window.addEventListener("load",L),document.fonts.ready.then(L),()=>{window.removeEventListener("scroll",L,!0),window.removeEventListener("resize",L,!0),window.removeEventListener("load",L),Y.disconnect(),H&&cancelAnimationFrame(H)}},[e,t,o]);let g=op(H=>{let O=e[H];if(!O)return;let L=Hn(O.selector);L&&(r({type:"SELECT_ANNOTATION",payload:{id:null}}),r({type:"SET_TOOL",payload:"inspector"}),r({type:"SELECT_ELEMENT",payload:{el:L,info:O.element}}))},[e,r]);if(a.length===0)return null;let v=(N=i==null?void 0:i.current)==null?void 0:N.getBoundingClientRect(),x=v?v.top-8:void 0,w={display:"flex",alignItems:"center",gap:6,backgroundColor:n,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,whiteSpace:"nowrap",maxWidth:400},I={overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0};return Vn(Ns,{children:a.map(H=>{let O=s==null?void 0:s.has(H.selector);return Vn(ap,{left:H.left-zs,top:H.top-zs,avoidBottom:x,onClick:()=>g(H.modIndex),onMouseEnter:l?()=>l(H.selector):void 0,onMouseLeave:l?()=>l(null):void 0,style:{zIndex:1e4,cursor:"pointer",pointerEvents:"auto"},children:$r("div",{"data-devtools":"badge",style:y(f({},w),{backgroundColor:O?"#999999":n}),children:[$r("span",{children:[H.annotationNumber,"."]}),Vn("span",{style:I,children:H.label}),$r("span",{style:{opacity:.8},children:["(",H.changeCount," ",H.changeCount===1?"change":"changes",")"]}),O&&$r("span",{style:{opacity:.8,marginLeft:4,display:"inline-flex",alignItems:"center",gap:4},children:[Vn("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:u===1?$r(Ns,{children:[Vn("circle",{cx:"7",cy:"7",r:"2"}),Vn("circle",{cx:"17",cy:"7",r:"2"}),Vn("circle",{cx:"7",cy:"17",r:"2"}),Vn("circle",{cx:"17",cy:"17",r:"2"})]}):$r(Ns,{children:[Vn("circle",{cx:"12",cy:"6",r:"2"}),Vn("circle",{cx:"6",cy:"12",r:"2"}),Vn("circle",{cx:"18",cy:"12",r:"2"}),Vn("circle",{cx:"12",cy:"18",r:"2"})]})}),p]})]})},H.selector)})})}import{useEffect as lp,useState as cp}from"react";import{Fragment as up,jsx as Kl}from"react/jsx-runtime";function dp(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 Xl({styleModifications:e,accentColor:t}){let[n,o]=cp([]);if(lp(()=>{let s=null,i=()=>{let d=[];for(let c of e){let u=Hn(c.selector);if(!u)continue;let p=u.getBoundingClientRect();if(p.width===0&&p.height===0)continue;let g=pr(u);d.push({selector:c.selector,top:p.top,left:p.left,width:p.width,height:p.height,borderRadius:`${g["top-left"]}px ${g["top-right"]}px ${g["bottom-right"]}px ${g["bottom-left"]}px`})}o(d)},l=()=>{s&&cancelAnimationFrame(s),s=requestAnimationFrame(i)};i(),window.addEventListener("scroll",l,{passive:!0}),window.addEventListener("resize",l,{passive:!0});let a=new MutationObserver(l);return a.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",l),window.removeEventListener("resize",l),a.disconnect(),s&&cancelAnimationFrame(s)}},[e]),n.length===0)return null;let r=dp(t,.2);return Kl(up,{children:n.map(s=>{let i={position:"fixed",top:s.top,left:s.left,width:s.width,height:s.height,pointerEvents:"none",zIndex:9995,border:`1px solid ${r}`,borderRadius:s.borderRadius,boxSizing:"border-box"};return Kl("div",{"data-devtools":"mod-border",style:i},s.selector)})})}import{useEffect as ql,useLayoutEffect as pp,useState as Zl}from"react";import{jsx as Uo,jsxs as $s}from"react/jsx-runtime";function Fs(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 fp={top:"bottom",bottom:"top",left:"right",right:"left"};function Ws({element:e,padding:t,accentColor:n,hoveredSide:o,draggingSide:r,cursorViewport:s,refreshKey:i}){let[l,a]=Zl(null),[d,c]=Zl(!1);if(ql(()=>{let A=K=>{(K.key==="Meta"||K.key==="Control")&&c(!0)},k=K=>{(K.key==="Meta"||K.key==="Control")&&c(!1)},be=()=>c(!1);return window.addEventListener("keydown",A,!0),window.addEventListener("keyup",k,!0),window.addEventListener("blur",be),()=>{window.removeEventListener("keydown",A,!0),window.removeEventListener("keyup",k,!0),window.removeEventListener("blur",be)}},[]),ql(()=>{if(!e){a(null);return}let A=()=>{a(e.getBoundingClientRect())};return A(),window.addEventListener("scroll",A,{passive:!0}),window.addEventListener("resize",A,{passive:!0}),()=>{window.removeEventListener("scroll",A),window.removeEventListener("resize",A)}},[e]),pp(()=>{e&&a(e.getBoundingClientRect())},[e,t.top,t.right,t.bottom,t.left,i]),!l)return null;let u=l.width,p=l.height,{top:g,right:v,bottom:x,left:w}=t,I="pm-stripe-pattern",N=Fs(n,.25),H=Fs(n,.1),O=Fs(n,.2),L=8,Y=2,re={position:"fixed",top:l.top,left:l.left,width:u,height:p,pointerEvents:"none",zIndex:9996,overflow:"visible"},Z=["top","right","bottom","left"],_={top:`0,0 ${u},0 ${u-v},${g} ${w},${g}`,right:`${u},0 ${u},${p} ${u-v},${p-x} ${u-v},${g}`,bottom:`0,${p} ${w},${p-x} ${u-v},${p-x} ${u},${p}`,left:`0,0 ${w},${g} ${w},${p-x} 0,${p}`},B={top:{x:u/2-L/2,y:g/2-Y/2,w:L,h:Y},bottom:{x:u/2-L/2,y:p-x/2-Y/2,w:L,h:Y},left:{x:w/2-Y/2,y:p/2-L/2,w:Y,h:L},right:{x:u-v/2-Y/2,y:p/2-L/2,w:Y,h:L}},h=new Set;return r?h.add(r):o&&(h.add(o),d||h.add(fp[o])),$s("div",{"data-devtools":"padding-handles",style:re,children:[$s("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${u} ${p}`,children:[Uo("defs",{children:Uo("pattern",{id:I,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:Uo("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:N,strokeWidth:"1.5"})})}),Uo("rect",{x:"0.5",y:"0.5",width:Math.max(0,u-1),height:Math.max(0,p-1),fill:"none",stroke:O,strokeWidth:"1"}),Z.map(A=>{if(t[A]<=0)return null;let be=h.has(A);return $s("g",{opacity:be?1:.6,children:[Uo("polygon",{points:_[A],fill:H}),Uo("polygon",{points:_[A],fill:`url(#${I})`})]},A)}),Z.map(A=>{let k=B[A],be=h.has(A);return Uo("rect",{x:k.x,y:k.y,width:k.w,height:k.h,fill:n,stroke:"#ffffff",strokeWidth:be?4:2,paintOrder:"stroke"},`handle-${A}`)})]}),s&&(o||r)&&(()=>{let A=r!=null?r:o,k=Math.round(t[A]);return Uo("div",{style:{position:"fixed",left:s.x+8,top:s.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:k})})()]})}import{useCallback as Eo,useEffect as no,useMemo as Ji,useRef as jn,useState as Cn}from"react";import{Check as Yi,ChevronDown as Xs,MoveHorizontal as dc,Shrink as Np}from"lucide-react";var gp="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMic+PGRlZnM+PHBhdHRlcm4gaWQ9J2QnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHBhdHRlcm5Vbml0cz0ndXNlclNwYWNlT25Vc2UnPjxwYXRoIGQ9J00tMSwxIGwyLC0yIE0wLDQgbDQsLTQgTTMsNSBsMiwtMicgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScuNScvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSd1cmwoI2QpJy8+PC9zdmc+",Ko={borderWidth:3,borderStyle:"solid",borderImage:`url("${gp}") 4 / 1.9 / 0 round`};function zi({color:e="rgb(0,0,0)",animated:t=!1}={}){let n=`<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='${e}' stroke-width='.75'/></svg>`;return f({position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(n)}")`,backgroundSize:"5px 5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",WebkitMaskComposite:"xor",mask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",maskComposite:"exclude",pointerEvents:"none"},t?{animation:"popmelt-border-march 0.8s linear infinite"}:{})}var Fi={"font-size":["rem","px","em"],"line-height":["","rem","px","em"],"letter-spacing":["rem","px","em"],gap:["rem","px","em"],"column-gap":["rem","px","em"],"row-gap":["rem","px","em"],padding:["rem","px","em","%"],margin:["rem","px","em","%"],width:["rem","px","%","em"],height:["rem","px","%","em"],"min-width":["rem","px","%","em"],"max-width":["rem","px","%","em"],"min-height":["rem","px","%","em"],"max-height":["rem","px","%","em"],"border-width":["px","rem","em"],"border-radius":["rem","px","%","em"]};function Wr(e){var t,n;return(n=(t=Fi[e])==null?void 0:t[0])!=null?n:"px"}function Xo(e){let t=e.match(/^([\d.-]+)(.*)$/);return t?{num:parseFloat(t[1]),unit:t[2]||""}:{num:0,unit:""}}function $i(e,t,n,o){let r=e.trim();if(!r)return"";let s=r.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i);if(s)return`${parseFloat(s[1])}${s[2].toLowerCase()}`;let i=parseFloat(r);if(!isNaN(i)){if(o){let{unit:l}=Xo(n);return`${i}${l||Wr(t)}`}return`${i}${Wr(t)}`}return r}function js(e,t){if(!t||t==="px")return e;if(t==="rem"){let n=parseFloat(getComputedStyle(document.documentElement).fontSize)||16;return Math.round(e/n*1e3)/1e3}return e}import{useCallback as mp,useEffect as hp,useRef as Ql,useState as yp}from"react";import{Plus as ec,X as bp}from"lucide-react";import{jsx as Wn,jsxs as mr}from"react/jsx-runtime";var Wi=[{name:"blur",label:"Blur",unit:"px",defaultValue:10,min:0,max:100,step:1},{name:"brightness",label:"Brightness",unit:"",defaultValue:1,min:0,max:3,step:.05},{name:"contrast",label:"Contrast",unit:"",defaultValue:1,min:0,max:3,step:.05},{name:"saturate",label:"Saturate",unit:"",defaultValue:1,min:0,max:3,step:.05},{name:"grayscale",label:"Grayscale",unit:"",defaultValue:0,min:0,max:1,step:.05},{name:"sepia",label:"Sepia",unit:"",defaultValue:0,min:0,max:1,step:.05},{name:"invert",label:"Invert",unit:"",defaultValue:0,min:0,max:1,step:.05},{name:"hue-rotate",label:"Hue Rotate",unit:"deg",defaultValue:0,min:0,max:360,step:1},{name:"opacity",label:"Opacity",unit:"",defaultValue:1,min:0,max:1,step:.05}];function vp(e){if(!e||e==="none")return[];let t=[],n=/([\w-]+)\(([^)]+)\)/g,o;for(;(o=n.exec(e))!==null;){let r=o[1],s=o[2],i=parseFloat(s);isNaN(i)||t.push({name:r,value:i})}return t}function Gs(e){return e.length===0?"none":e.map(t=>{var r;let n=Wi.find(s=>s.name===t.name),o=(r=n==null?void 0:n.unit)!=null?r:"";return`${t.name}(${t.value}${o})`}).join(" ")}function tc({value:e,onChange:t,accentColor:n,modified:o,panelContentRef:r}){let s=vp(e),[i,l]=yp(!1),a=Ql(null),d=Ql(null);hp(()=>{if(!i)return;let H=O=>{a.current&&!O.composedPath().includes(a.current)&&l(!1)};return document.addEventListener("mousedown",H,!0),()=>document.removeEventListener("mousedown",H,!0)},[i]);let c=Wi.filter(H=>!s.some(O=>O.name===H.name)),u=H=>{let O=[...s,{name:H.name,value:H.defaultValue}];t(Gs(O)),l(!1)},p=H=>{let O=s.filter((L,Y)=>Y!==H);t(Gs(O))},g=(H,O)=>{let L=s.map((Y,re)=>re===H?y(f({},Y),{value:O}):Y);t(Gs(L))},v={width:"100%",padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"none",borderRadius:2,outline:"none",backgroundColor:"transparent"},x=mp(H=>{var _;if(!d.current)return{position:"fixed",top:0,left:0};let O=d.current.getBoundingClientRect(),L=(_=r==null?void 0:r.current)==null?void 0:_.getBoundingClientRect(),Y=H*24+8,Z=window.innerHeight-O.bottom<Y;return y(f({position:"fixed"},Z?{bottom:window.innerHeight-O.top+2}:{top:O.bottom+2}),{left:L?L.left+4:O.left,width:L?L.width-8:140,zIndex:10001})},[r]),w={backgroundColor:"rgba(255, 255, 255, 0.95)",backdropFilter:"blur(16px)",WebkitBackdropFilter:"blur(16px)",border:"1px solid rgba(0,0,0,0.1)",borderRadius:4,padding:"4px 0",boxShadow:"0 4px 12px rgba(0,0,0,0.1)"},I={display:"block",width:"100%",padding:"4px 10px",border:"none",backgroundColor:"transparent",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#334155",cursor:"pointer",textAlign:"left"},N=H=>Wn("div",{ref:a,style:f(f({},x(H.length)),w),children:H.map(O=>Wn("button",{type:"button",onClick:()=>u(O),style:I,onMouseEnter:L=>{L.currentTarget.style.backgroundColor="rgba(0,0,0,0.05)"},onMouseLeave:L=>{L.currentTarget.style.backgroundColor="transparent"},children:O.label},O.name))});return s.length===0?mr("div",{children:[mr("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Wn(zo,{modified:!1,children:Wn("input",{type:"text",value:"",placeholder:"\u2014",readOnly:!0,style:y(f({},v),{color:"#999",cursor:"default"})})}),Wn("button",{ref:d,type:"button",onClick:()=>l(!i),style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:20,padding:0,border:"none",borderRadius:2,backgroundColor:"transparent",color:"#94a3b8",cursor:"pointer",flexShrink:0},children:Wn(ec,{size:12})})]}),i&&N(Wi)]}):mr("div",{style:{display:"flex",flexDirection:"column",gap:4,position:"relative"},children:[s.map((H,O)=>{let L=Wi.find(Y=>Y.name===H.name);return L?mr("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Wn("span",{style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:o?n:"#94a3b8",fontWeight:o?600:400,width:56,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:L.label}),Wn(zo,{modified:o,children:mr("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"0 4px"},children:[Wn("input",{type:"range",min:L.min,max:L.max,step:L.step,value:H.value,onChange:Y=>g(O,parseFloat(Y.target.value)),style:{flex:1,height:2,appearance:"none",WebkitAppearance:"none",background:`linear-gradient(to right, ${n} ${(H.value-L.min)/(L.max-L.min)*100}%, rgba(0,0,0,0.1) ${(H.value-L.min)/(L.max-L.min)*100}%)`,borderRadius:1,outline:"none",cursor:"pointer"}}),Wn("input",{type:"number",min:L.min,max:L.max,step:L.step,value:L.unit==="px"||L.unit==="deg"?Math.round(H.value):Math.round(H.value*100)/100,onChange:Y=>g(O,parseFloat(Y.target.value)||0),style:y(f({},v),{width:44,padding:"2px 4px",textAlign:"right",flexShrink:0})}),L.unit&&Wn("span",{style:{fontSize:9,color:"#94a3b8",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',flexShrink:0,width:16},children:L.unit})]})}),Wn("button",{type:"button",onClick:()=>p(O),style:{display:"flex",alignItems:"center",justifyContent:"center",width:16,height:16,padding:0,border:"none",borderRadius:2,backgroundColor:"transparent",color:"#94a3b8",cursor:"pointer",flexShrink:0},children:Wn(bp,{size:10})})]},H.name):null}),c.length>0&&mr("div",{children:[mr("button",{ref:d,type:"button",onClick:()=>l(!i),style:{display:"flex",alignItems:"center",gap:4,padding:"2px 4px",border:"none",borderRadius:2,backgroundColor:"transparent",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#94a3b8",cursor:"pointer"},children:[Wn(ec,{size:10}),"Add filter"]}),i&&N(c)]})]})}import{useCallback as go,useEffect as Cp,useRef as ji,useState as nc}from"react";import{AlignHorizontalSpaceAround as Ep,AlignVerticalSpaceAround as kp,Columns3 as Tp,Grid2x2 as Mp,RectangleHorizontal as Ip,Rows3 as Rp,UnfoldHorizontal as oc,UnfoldVertical as rc}from"lucide-react";import{useCallback as xp,useEffect as Sp,useRef as ii}from"react";import{jsx as wp}from"react/jsx-runtime";var Ys=[0,1,2,4,8,12,16,20,24,28,32];function jr({value:e,onChange:t,onPreview:n,onScrubEnd:o,onReset:r,isModified:s,accentColor:i,defaultUnit:l="rem",snapSteps:a,color:d,style:c,children:u}){let p=ii(null),g=ii(null),v=ii(r),x=ii(s),w=ii(!1);v.current=r,x.current=s,Sp(()=>{let N=O=>{let L=g.current;if(!L)return;L.hasMoved=!0,w.current=O.shiftKey;let Y=L.unit==="rem"||L.unit==="em"?.1:1;L.accum+=O.movementX*Y;let re=Math.max(0,Math.round((L.startValue+L.accum)*10)/10);if(O.shiftKey&&a){let Z=L.unit==="rem"||L.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,_=L.unit==="rem"||L.unit==="em"?re*Z:re,B=a[a.length-1];for(let h=0;h<a.length-1;h++){let A=a[h],k=a[h+1];if(_<=(A+k)/2){B=A;break}if(_<k){B=k;break}}_>a[a.length-1]&&(B=Math.round(_/8)*8),re=L.unit==="rem"||L.unit==="em"?Math.round(B/Z*1e3)/1e3:B}n==null||n(`${re}${L.unit}`)},H=()=>{let O=g.current;if(!O)return;let L=Math.max(0,Math.round((O.startValue+O.accum)*10)/10);if(w.current&&a){let re=O.unit==="rem"||O.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,Z=O.unit==="rem"||O.unit==="em"?L*re:L,_=a[a.length-1];for(let B=0;B<a.length-1;B++){let h=a[B],A=a[B+1];if(Z<=(h+A)/2){_=h;break}if(Z<A){_=A;break}}Z>a[a.length-1]&&(_=Math.round(Z/8)*8),L=O.unit==="rem"||O.unit==="em"?Math.round(_/re*1e3)/1e3:_}let Y=O.hasMoved&&L!==O.startValue;g.current=null,document.exitPointerLock(),Y?t(`${L}${O.unit}`):O.hasMoved?n==null||n(`${O.startValue}${O.unit}`):x.current&&v.current&&v.current(),o==null||o()};return document.addEventListener("mousemove",N),document.addEventListener("mouseup",H),()=>{document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",H)}},[t,n,o]);let I=xp(N=>{var L;if(N.button!==0)return;N.preventDefault();let H=Xo(e),O=H.unit&&H.unit!=="px"?H.unit:l;g.current={startValue:H.num,unit:O,accum:0,hasMoved:!1},(L=p.current)==null||L.requestPointerLock()},[e,l]);return wp("span",{ref:p,onMouseDown:I,title:s?"Click to reset \xB7 Drag to scrub":"Drag to scrub",style:f({color:s?i||"#3b82f6":d||"#999",padding:"0 4px",display:"flex",alignItems:"center",cursor:"ew-resize"},c),children:u})}import{Fragment as Js,jsx as De,jsxs as gn}from"react/jsx-runtime";function Lp({gridCols:e,gridRows:t,gridModified:n,accentColor:o,onColsChange:r,onRowsChange:s}){return De(Un,{style:{width:100},children:gn("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"8px 4px"},children:[De("input",{type:"number",min:1,max:12,value:e,onChange:i=>r(parseInt(i.target.value)||1),style:y(f({},wn),{width:32,textAlign:"center",padding:2})}),De("span",{style:{fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:n?o:"#999",fontWeight:n?600:400,fontSize:11,margin:"0 4px"},children:"\xD7"}),De("input",{type:"number",min:1,max:12,value:t,onChange:i=>s(parseInt(i.target.value)||1),style:y(f({},wn),{width:32,textAlign:"center",padding:2})})]})})}function ic({element:e,getValue:t,getOriginalValue:n,handleChange:o,isModified:r,onResetProperty:s,isCollapsed:i,onToggle:l,sectionHeaderStyle:a,activeDropdown:d,onDropdownChange:c,panelContentRef:u,accentColor:p,onFieldHover:g,preferredUnit:v,onUnitCycle:x}){let w=c,I=t("display"),N=t("flex-direction"),H=sc(I,N),O=I==="flex"||I==="inline-flex",L=I==="grid",Y=O||L,re=N==="column"||N==="column-reverse",Z=t("width"),_=t("height"),B=r("width")?Z:Ai(e,"width"),h=r("height")?_:Ai(e,"height"),A=Vs(Z,B),k=Vs(_,h),be=t("min-width"),K=t("max-width"),de=t("min-height"),F=t("max-height"),me=Gr(t("padding")),R=t("gap"),ie=t("row-gap"),Se=t("column-gap"),Pe=t("grid-template-columns"),_e=t("grid-template-rows"),Ze=t("overflow"),Oe=Pe.split(/\s+/).filter(W=>W&&W!=="none").length||1,he=_e.split(/\s+/).filter(W=>W&&W!=="none").length||1,[Fe,rt]=nc(!1),ht=d!==null,Jt=ht||Fe,Q=ht?.3:Fe?.65:1,ne=({mode:W,icon:fe,active:Le})=>De("button",{type:"button",onClick:()=>ac(W,o),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:Le?gr(p,.15):"transparent",color:Le?p:"#64748b",cursor:"pointer",fontSize:14},children:fe}),Te=(W,fe,Le)=>{Le==="fixed"?o(W,fe):o(W,Gi(Le,fe))},$e=W=>{let fe=Gr(t("padding")),Le=W||"0";o("padding",`${fe.top} ${Le} ${fe.bottom} ${Le}`)},pt=W=>{let fe=Gr(t("padding")),Le=W||"0";o("padding",`${Le} ${fe.right} ${Le} ${fe.left}`)},[Je,ye]=nc({}),ct=go((W,fe)=>Le=>{fe(Le),ye(Gt=>y(f({},Gt),{[W]:Le}))},[]),Ge=go(W=>{ye(fe=>{let Le=f({},fe);return delete Le[W],Le})},[]),_t=go(W=>{let fe=Gr(t("padding"));Xe(e,"padding",`${fe.top} ${W} ${fe.bottom} ${W}`)},[e,t]),dt=go(W=>{let fe=Gr(t("padding"));Xe(e,"padding",`${W} ${fe.right} ${W} ${fe.left}`)},[e,t]),pe=go(W=>fe=>{Xe(e,W,fe)},[e]),se=re?"row":"column",Ce=se==="row"?"row-gap":"column-gap",Re=Ce==="row-gap"?ie||R:Se||R,it=r(Ce)||r("gap"),Me=go(()=>{let fe=Ho(e).find(Gt=>Gt.axis===se);if(fe)return se==="row"?fe.h:fe.w;let Le=ur(e);return se==="row"?Le.row:Le.column},[e,se]),en=go(()=>{let W=t("justify-content");return W==="space-between"?"between":W==="space-around"||W==="space-evenly"?"around":"fixed"},[t])(),pn=go((W,fe)=>{if(W==="fixed"){let Le=Math.max(0,Math.round(Me()*1e3)/1e3),Gt=fe||(Le>0?`${Le}px`:"8px");o("justify-content","normal"),o(Ce,Gt);return}o("justify-content",W==="between"?"space-between":"space-around"),o(Ce,"0px")},[Ce,Me,o]),zn=go(W=>{if(en!=="fixed"){pn("fixed",W);return}o(Ce,W)},[pn,en,Ce,o]),jt=go(W=>{Xe(e,"justify-content","normal"),Xe(e,Ce,W)},[e,Ce]),Ot=W=>W==="center"?1:W==="flex-end"||W==="end"?2:0,hn=Ot(t("justify-content")),vt=Ot(t("align-items")),Vt=re?vt:hn,Qe=re?hn:vt,xo=ji(null),Ke=ji({x:0,y:0}),Tt=ji({col:Vt,row:Qe});Tt.current={col:Vt,row:Qe};let Gn=go((W,fe)=>{let Le=["flex-start","center","flex-end"];re?(o("justify-content",Le[fe]),o("align-items",Le[W])):(o("justify-content",Le[W]),o("align-items",Le[fe]))},[re,o]),So=ji(Gn);So.current=Gn,Cp(()=>{let fe=Le=>{let Gt=xo.current;if(!Gt||!Le.composedPath().includes(Gt))return;Le.preventDefault(),Le.stopPropagation(),Ke.current.x+=Le.deltaX,Ke.current.y+=Le.deltaY;let{col:St,row:yn}=Tt.current,bn=!1;Math.abs(Ke.current.x)>=30&&(St=Math.max(0,Math.min(2,St+(Ke.current.x>0?1:-1))),Ke.current.x=0,Ke.current.y=0,bn=!0),!bn&&Math.abs(Ke.current.y)>=30&&(yn=Math.max(0,Math.min(2,yn+(Ke.current.y>0?1:-1))),Ke.current.x=0,Ke.current.y=0,bn=!0),bn&&(St!==Tt.current.col||yn!==Tt.current.row)&&So.current(St,yn)};return document.addEventListener("wheel",fe,{passive:!1,capture:!0}),()=>document.removeEventListener("wheel",fe,{capture:!0})},[]);let Fn=()=>De("div",{ref:xo,onMouseEnter:()=>{rt(!0),u.current&&(u.current.style.overflowY="hidden")},onMouseLeave:()=>{rt(!1),u.current&&(u.current.style.overflowY="auto")},style:{width:56,height:56,backgroundColor:to,borderRadius:2,display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gridTemplateRows:"repeat(3, 1fr)",padding:6,gap:2,touchAction:"none"},children:[0,1,2].map(W=>[0,1,2].map(fe=>De("button",{type:"button",onClick:()=>Gn(fe,W),style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:0},children:fe===Vt&&W===Qe?De("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",style:{flexShrink:0},children:fe===0?gn(Js,{children:[De("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:p}),De("rect",{x:"1",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:p}),De("rect",{x:"1",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:p})]}):fe===1?gn(Js,{children:[De("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:p}),De("rect",{x:"2.5",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:p}),De("rect",{x:"1.5",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:p})]}):gn(Js,{children:[De("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:p}),De("rect",{x:"4",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:p}),De("rect",{x:"2",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:p})]})}):De("div",{style:{width:5,height:5,borderRadius:"50%",backgroundColor:"#aaa"}})},`${W}-${fe}`)))}),rn=r("grid-template-columns")||r("grid-template-rows");return gn("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[De("div",{style:a,children:De("span",{children:Y?"Auto layout":"Layout"})}),gn("div",{style:{padding:"8px 12px"},children:[gn("div",{style:{display:"flex",gap:2,marginBottom:8,backgroundColor:to,borderRadius:2,padding:2,opacity:Q,transition:"opacity 150ms ease"},children:[De(ne,{mode:"block",icon:De(Ip,{size:16}),active:H==="block"}),De(ne,{mode:"flex-col",icon:De(Rp,{size:16}),active:H==="flex-col"}),De(ne,{mode:"flex-row",icon:De(Tp,{size:16}),active:H==="flex-row"}),De(ne,{mode:"grid",icon:De(Mp,{size:16}),active:H==="grid"})]}),gn("div",{style:{display:"flex",gap:4,marginBottom:8},children:[De(Us,{label:"W",property:"width",cssValue:A==="fixed"?Z:`${Math.round(e.getBoundingClientRect().width)}px`,mode:A,onValueChange:W=>o("width",W),onModeChange:W=>{if(W==="fixed"){let fe=e.getBoundingClientRect();o("width",`${Math.round(fe.width)}px`)}else o("width",Gi(W,Z))},modified:r("width"),dimmed:ht&&d!=="width",dropdownOpen:d==="width",onDropdownChange:W=>w(W?"width":null),panelContentRef:u,accentColor:p,onReset:()=>s("width"),minValue:be!=="none"&&be!=="0px"&&be!=="auto"?be:"",maxValue:K!=="none"&&K!=="auto"?K:"",onMinChange:W=>o("min-width",W||"0"),onMaxChange:W=>o("max-width",W||"none"),onMinReset:()=>s("min-width"),onMaxReset:()=>s("max-width"),minModified:r("min-width"),maxModified:r("max-width")}),De(Us,{label:"H",property:"height",cssValue:k==="fixed"?_:`${Math.round(e.getBoundingClientRect().height)}px`,mode:k,onValueChange:W=>o("height",W),onModeChange:W=>{if(W==="fixed"){let fe=e.getBoundingClientRect();o("height",`${Math.round(fe.height)}px`)}else o("height",Gi(W,_))},modified:r("height"),dimmed:ht&&d!=="height",dropdownOpen:d==="height",onDropdownChange:W=>w(W?"height":null),panelContentRef:u,minValue:de!=="none"&&de!=="0px"&&de!=="auto"?de:"",maxValue:F!=="none"&&F!=="auto"?F:"",onMinChange:W=>o("min-height",W||"0"),onMaxChange:W=>o("max-height",W||"none"),onMinReset:()=>s("min-height"),onMaxReset:()=>s("max-height"),minModified:r("min-height"),maxModified:r("max-height"),accentColor:p,onReset:()=>s("height")})]}),O&&gn("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8},children:[De("div",{style:{opacity:ht?.3:1,transition:"opacity 150ms ease"},children:Fn()}),gn("div",{style:{flex:1,opacity:Q,transition:"opacity 150ms ease"},children:[De("div",{onClick:it?()=>{s(Ce),s("gap")}:void 0,title:it?"Click to reset":void 0,style:{fontSize:9,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:it?p:"#999",fontWeight:it?600:400,marginBottom:2,cursor:it?"pointer":"default"},children:"Gap"}),De("div",{style:{display:"flex",gap:2,marginBottom:4,backgroundColor:to,borderRadius:2,padding:2},children:["fixed","between","around"].map(W=>{let fe=en===W;return De("button",{type:"button",onClick:()=>pn(W),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",border:"none",borderRadius:2,backgroundColor:fe?gr(p,.15):"transparent",color:fe?p:"#64748b",cursor:"pointer",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontWeight:fe?600:400,textTransform:"capitalize"},children:W},W)})}),De(Un,{dimmed:ht,children:gn("div",{style:{display:"flex",alignItems:"center"},children:[De(jr,{value:Re,onChange:W=>{Ge("gap"),zn(W)},onPreview:ct("gap",jt),onScrubEnd:()=>Ge("gap"),onReset:()=>{s(Ce),s("gap")},isModified:it,accentColor:p,defaultUnit:v,children:N==="column"||N==="column-reverse"?De(rc,{size:12,strokeWidth:it?2.5:1.5}):De(oc,{size:12,strokeWidth:it?2.5:1.5})}),De(mo,{property:Ce,value:Je.gap||(en==="fixed"?Re:`${Math.max(0,Math.round(Me()*1e3)/1e3)}px`),onChange:W=>zn(W),isModified:it||"gap"in Je,style:y(f({},wn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:v,onUnitCycle:x})]})})]})]}),L&&gn("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8,opacity:Q,transition:"opacity 150ms ease"},children:[De(Lp,{gridCols:Oe,gridRows:he,gridModified:rn,accentColor:p,onColsChange:W=>o("grid-template-columns",`repeat(${W}, 1fr)`),onRowsChange:W=>o("grid-template-rows",`repeat(${W}, 1fr)`)}),gn("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4},children:[De(Un,{dimmed:ht,children:gn("div",{style:{display:"flex",alignItems:"center"},children:[De(jr,{value:Se||R,onChange:W=>{Ge("column-gap"),o("column-gap",W)},onPreview:ct("column-gap",pe("column-gap")),onScrubEnd:()=>Ge("column-gap"),onReset:()=>s("column-gap"),isModified:r("column-gap"),accentColor:p,defaultUnit:v,children:De(oc,{size:12,strokeWidth:r("column-gap")?2.5:1.5})}),De(mo,{property:"column-gap",value:Je["column-gap"]||Se||R,onChange:W=>o("column-gap",W),isModified:r("column-gap")||"column-gap"in Je,placeholder:"col",style:y(f({},wn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:v,onUnitCycle:x})]})}),De(Un,{dimmed:ht,children:gn("div",{style:{display:"flex",alignItems:"center"},children:[De(jr,{value:ie||R,onChange:W=>{Ge("row-gap"),o("row-gap",W)},onPreview:ct("row-gap",pe("row-gap")),onScrubEnd:()=>Ge("row-gap"),onReset:()=>s("row-gap"),isModified:r("row-gap"),accentColor:p,defaultUnit:v,children:De(rc,{size:12,strokeWidth:r("row-gap")?2.5:1.5})}),De(mo,{property:"row-gap",value:Je["row-gap"]||ie||R,onChange:W=>o("row-gap",W),isModified:r("row-gap")||"row-gap"in Je,placeholder:"row",style:y(f({},wn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:v,onUnitCycle:x})]})})]})]}),Y&&gn("div",{onMouseEnter:()=>g==null?void 0:g("padding"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:4,marginBottom:8,opacity:Q,transition:"opacity 150ms ease"},children:[De(Un,{style:{flex:1},dimmed:ht,children:gn("div",{style:{display:"flex",alignItems:"center"},children:[De(jr,{value:me.left,onChange:W=>{Ge("padding-h"),$e(W)},onPreview:ct("padding-h",_t),onScrubEnd:()=>Ge("padding-h"),onReset:()=>s("padding"),isModified:r("padding"),accentColor:p,defaultUnit:v,snapSteps:Ys,children:De(Ep,{size:12,strokeWidth:r("padding")?2.5:1.5})}),De(mo,{property:"padding",value:Je["padding-h"]||me.left,onChange:W=>$e(W),isModified:r("padding")||"padding-h"in Je,placeholder:"H pad",style:y(f({},wn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:v,onUnitCycle:x})]})}),De(Un,{style:{flex:1},dimmed:ht,children:gn("div",{style:{display:"flex",alignItems:"center"},children:[De(jr,{value:me.top,onChange:W=>{Ge("padding-v"),pt(W)},onPreview:ct("padding-v",dt),onScrubEnd:()=>Ge("padding-v"),onReset:()=>s("padding"),isModified:r("padding"),accentColor:p,defaultUnit:v,snapSteps:Ys,children:De(kp,{size:12,strokeWidth:r("padding")?2.5:1.5})}),De(mo,{property:"padding",value:Je["padding-v"]||me.top,onChange:W=>pt(W),isModified:r("padding")||"padding-v"in Je,placeholder:"V pad",style:y(f({},wn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:v,onUnitCycle:x})]})})]}),gn("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#64748b",opacity:Q,transition:"opacity 150ms ease"},children:[De("input",{type:"checkbox",checked:Ze==="hidden",onChange:W=>o("overflow",W.target.checked?"hidden":"visible"),style:{margin:0,accentColor:p}}),"Clip content"]})]})]})}import{AlignCenter as Ap,AlignJustify as Pp,AlignLeft as Op,AlignRight as Bp,Baseline as Dp,ChevronDown as _p,WholeWord as Hp}from"lucide-react";import{jsx as kt,jsxs as Fo}from"react/jsx-runtime";var lc={100:"Thin",200:"Extra Light",300:"Light",400:"Regular",500:"Medium",600:"Semi Bold",700:"Bold",800:"Extra Bold",900:"Black"};function cc({element:e,getValue:t,handleChange:n,isModified:o,onResetProperty:r,isCollapsed:s,onToggle:i,sectionHeaderStyle:l,accentColor:a,colorVariables:d,activeColorDropdown:c,onColorDropdownChange:u,panelContentRef:p,preferredUnit:g,onUnitCycle:v}){var A;let x=t("font-family"),w=t("font-size"),I=t("font-weight"),N=t("line-height"),H=t("letter-spacing"),O=t("text-align"),L=t("color"),Y=String(I),re=lc[Y]||Y,Z=Fr(e,L),_=L.includes("var(")?null:ni(Z,d),B=({align:k,icon:be})=>{let K=O===k;return kt("button",{type:"button",onClick:()=>n("text-align",k),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:K?gr(a,.15):"transparent",color:K?a:"#64748b",cursor:"pointer"},children:be})},h=((A=x.split(",")[0])==null?void 0:A.trim().replace(/^["']|["']$/g,""))||"System";return Fo("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[kt("div",{style:l,children:kt("span",{children:"Typography"})}),Fo("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[kt(Un,{children:Fo("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px"},children:[kt("input",{type:"text",value:x,onChange:k=>n("font-family",k.target.value),style:y(f({},wn),{flex:1,minWidth:0,padding:0,fontWeight:o("font-family")?600:400,color:o("font-family")?a:"inherit"}),title:x}),kt(_p,{size:12,style:{color:"#999",flexShrink:0,marginLeft:4}})]})}),Fo("div",{style:{display:"flex",gap:4},children:[kt(Un,{style:{flex:1},children:kt("select",{value:Y,onChange:k=>n("font-weight",k.target.value),style:y(f({},wn),{padding:"6px 8px",paddingLeft:4,paddingRight:20,cursor:"pointer",fontWeight:o("font-weight")?600:400,color:o("font-weight")?a:"inherit"}),children:Object.entries(lc).map(([k,be])=>kt("option",{value:k,children:be},k))})}),kt(Un,{style:{flex:1},children:kt("div",{style:{display:"flex",alignItems:"center",position:"relative"},children:kt(mo,{property:"font-size",value:w,onChange:k=>n("font-size",k),isModified:o("font-size"),min:1,max:999,style:y(f({},wn),{padding:"6px 8px",paddingRight:24,fontWeight:o("font-size")?600:400,color:o("font-size")?a:"inherit"}),unitStyle:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999"},preferredUnit:g,onUnitCycle:v})})})]}),Fo("div",{style:{display:"flex",gap:4},children:[kt(Un,{style:{flex:1},children:Fo("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[kt(Dp,{size:12,style:{color:o("line-height")?a:"#999",flexShrink:0}}),kt(mo,{property:"line-height",value:N,onChange:k=>n("line-height",k),isModified:o("line-height"),step:.1,min:0,placeholder:"Auto",style:y(f({},wn),{flex:1,minWidth:0,padding:0,fontWeight:o("line-height")?600:400,color:o("line-height")?a:"inherit"}),showUnit:!1})]})}),kt(Un,{style:{flex:1},children:Fo("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[kt(Hp,{size:12,style:{color:o("letter-spacing")?a:"#999",flexShrink:0}}),kt(mo,{property:"letter-spacing",value:H,onChange:k=>n("letter-spacing",k),isModified:o("letter-spacing"),step:.1,placeholder:"\u2014",style:y(f({},wn),{flex:1,minWidth:0,padding:0,fontWeight:o("letter-spacing")?600:400,color:o("letter-spacing")?a:"inherit"}),showUnit:!1})]})})]}),Fo("div",{style:{display:"flex",gap:2,backgroundColor:to,borderRadius:2,padding:2},children:[kt(B,{align:"left",icon:kt(Op,{size:14})}),kt(B,{align:"center",icon:kt(Ap,{size:14})}),kt(B,{align:"right",icon:kt(Bp,{size:14})}),kt(B,{align:"justify",icon:kt(Pp,{size:14})})]}),Fo("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0"},children:[kt("span",{onClick:o("color")?()=>r("color"):void 0,title:o("color")?"Click to reset":void 0,style:{fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:o("color")?a:"#64748b",fontWeight:o("color")?600:400,cursor:o("color")?"pointer":"default",width:40,flexShrink:0},children:"Color"}),kt("div",{style:{flex:1,minWidth:0},children:kt(Ks,{value:L,resolvedValue:Z,colorVariables:d,matchingVariable:_,onChange:k=>n("color",k),accentColor:a,modified:o("color"),panelContentRef:p,isDropdownOpen:c==="color",onDropdownChange:k=>u(k?"color":null)})})]})]})]})}import{Fragment as Fp,jsx as Ee,jsxs as Yt}from"react/jsx-runtime";var uc=[{name:"Background",properties:[{property:"background-color",label:"Color",type:"color"},{property:"opacity",label:"Opacity",type:"number",step:.1,min:0,max:1}]},{name:"Borders",properties:[{property:"border-width",label:"Width",type:"number",min:0,max:20},{property:"border-color",label:"Color",type:"color"},{property:"border-radius",label:"Radius",type:"number",min:0,max:100},{property:"border-style",label:"Style",type:"select",options:["none","solid","dashed","dotted","double"]}]},{name:"Effects",properties:[{property:"box-shadow",label:"Box Shadow",type:"text"},{property:"backdrop-filter",label:"Backdrop Filter",type:"backdrop-filter"},{property:"transform",label:"Transform",type:"text"}]}];function zp(e,t){let n=t.trim().toLowerCase();switch(e){case"opacity":return n==="1";case"border-width":return n==="0px"||n==="0"||n==="medium";case"border-radius":return n==="0px"||n==="0";case"border-style":return n==="none";case"box-shadow":return n==="none";case"backdrop-filter":return n==="none"||n==="";case"letter-spacing":return n==="normal"||n==="0px"||n==="0";case"background-color":return n==="rgba(0, 0, 0, 0)"||n==="transparent";default:return!1}}function Vs(e,t){return!t||e==="auto"||e==="fit-content"||e==="max-content"||e==="min-content"?"hug":e==="100%"||t==="100%"?"fill":"fixed"}function Gi(e,t){switch(e){case"hug":return"fit-content";case"fill":return"100%";case"fixed":{let n=Xo(t);if(typeof n.num=="number"&&!isNaN(n.num)){let o=n.unit==="%"?"px":n.unit||"px";return`${n.num}${o}`}return"auto"}}}function Gr(e){let t=e.split(/\s+/).filter(Boolean);return t.length===1?{top:t[0],right:t[0],bottom:t[0],left:t[0]}:t.length===2?{top:t[0],right:t[1],bottom:t[0],left:t[1]}:t.length===3?{top:t[0],right:t[1],bottom:t[2],left:t[1]}:t.length>=4?{top:t[0],right:t[1],bottom:t[2],left:t[3]}:{top:"0px",right:"0px",bottom:"0px",left:"0px"}}function sc(e,t){return e==="grid"?"grid":e==="flex"||e==="inline-flex"?t==="column"||t==="column-reverse"?"flex-col":"flex-row":"block"}function ac(e,t){switch(e){case"block":t("display","block");break;case"flex-row":t("display","flex"),t("flex-direction","row");break;case"flex-col":t("display","flex"),t("flex-direction","column");break;case"grid":t("display","grid");break}}var to="rgba(0, 0, 0, 0.04)",wn={width:"100%",padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"none",borderRadius:2,outline:"none",backgroundColor:"transparent"};function Us({label:e,property:t,cssValue:n,mode:o,onValueChange:r,onModeChange:s,modified:i,dimmed:l,dropdownOpen:a,onDropdownChange:d,panelContentRef:c,accentColor:u="#3b82f6",onReset:p,minValue:g,maxValue:v,onMinChange:x,onMaxChange:w,onMinReset:I,onMaxReset:N,minModified:H,maxModified:O}){let L=Xo(n),Y=i?L.unit||Wr(t):Wr(t),re=!i&&L.unit&&L.unit!==Y?js(L.num,Y):L.num,[Z,_]=Cn(!1),[B,h]=Cn(String(re)),[A,k]=Cn(!1),be=jn(null),K=jn(null),de=jn(null),F=jn(!1);no(()=>{Z||h(String(re))},[re,Z]),no(()=>{if(!a)return;let Oe=Fe=>{K.current&&!Fe.composedPath().includes(K.current)&&de.current&&!Fe.composedPath().includes(de.current)&&(d==null||d(!1))},he=Fe=>{Fe.key==="Escape"&&(d==null||d(!1))};return document.addEventListener("mousedown",Oe),document.addEventListener("keydown",he),()=>{document.removeEventListener("mousedown",Oe),document.removeEventListener("keydown",he)}},[a,d]),no(()=>{Z&&be.current&&(be.current.focus(),be.current.select())},[Z]);let me=()=>{let Oe=$i(B,t,n,i);r(Oe||`${Math.max(0,parseFloat(B)||0)}${Y}`),_(!1)},R=()=>{if(F.current){F.current=!1;return}me()},ie=Oe=>{if(Oe.key==="Enter"){me();return}if(Oe.key==="Escape"){F.current=!0,h(String(re)),_(!1);return}if(Oe.key==="ArrowUp"||Oe.key==="ArrowDown"){Oe.preventDefault();let he=Oe.key==="ArrowUp"?1:-1,Fe=Oe.shiftKey?8:Oe.altKey?.1:1,rt=parseFloat(B)||0,ht=Math.round(Math.max(0,rt+he*Fe)*1e3)/1e3;h(String(ht)),r(`${ht}${Y}`)}},Se={fixed:"Fixed",hug:"Hug",fill:"Fill"},Pe={fixed:Ee(dc,{size:12}),hug:Ee(Np,{size:12}),fill:Ee(dc,{size:12})},_e=()=>{d==null||d(!a)},Ze=()=>{if(!de.current||!(c!=null&&c.current))return{position:"absolute",top:"100%",left:-4,right:-4,width:"calc(100% + 8px)",marginTop:4};let Oe=de.current.getBoundingClientRect(),he=c.current.getBoundingClientRect();return{position:"fixed",top:Oe.bottom+4,left:he.left+4,width:he.width-8}};return Yt("div",{ref:de,onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),style:{flex:1,display:"flex",alignItems:"center",position:"relative",borderRadius:2,border:"1px solid",borderColor:Z?u:A?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease, opacity 150ms ease",opacity:l?.3:1},children:[Ee("span",{onClick:i&&p?p:void 0,title:i?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:i?u:"#999",fontWeight:i?600:400,padding:"0 8px",flexShrink:0,cursor:i?"pointer":"default"},children:e}),o==="fixed"?Z?Ee("input",{ref:be,type:"text",inputMode:"numeric",value:B,onChange:Oe=>h(Oe.target.value),onKeyDown:ie,onBlur:R,style:y(f({},wn),{flex:1,minWidth:0,padding:"4px 2px"})}):Ee("span",{onClick:()=>_(!0),style:{flex:1,padding:"4px 2px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"text"},children:re}):Ee("span",{style:{flex:1}}),Yt("button",{type:"button",onClick:_e,style:{display:"flex",alignItems:"center",gap:2,padding:"4px 8px",border:"none",outline:"none",backgroundColor:"transparent",color:"#999",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"pointer",flexShrink:0},children:[Se[o],Ee(Xs,{size:12})]}),a&&Yt("div",{ref:K,style:y(f({},Ze()),{backgroundColor:"#eaeaea",border:"1px solid rgba(0,0,0,0.1)",borderRadius:0,zIndex:10001,overflow:"hidden",fontSize:12,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'}),children:[Yt("button",{type:"button",onClick:()=>{s("fixed"),d==null||d(!1)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",outline:"none",backgroundColor:o==="fixed"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:o==="fixed"?600:400,cursor:"pointer",textAlign:"left"},children:[Pe.fixed,Yt("span",{children:["Fixed ",t," (",n,")"]}),o==="fixed"&&Ee(Yi,{size:14,style:{marginLeft:"auto"}})]}),Yt("button",{type:"button",onClick:()=>{s("hug"),d==null||d(!1)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",outline:"none",backgroundColor:o==="hug"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:o==="hug"?600:400,cursor:"pointer",textAlign:"left"},children:[Pe.hug,Ee("span",{children:"Hug contents"}),o==="hug"&&Ee(Yi,{size:14,style:{marginLeft:"auto"}})]}),Yt("button",{type:"button",onClick:()=>{s("fill"),d==null||d(!1)},style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",outline:"none",backgroundColor:o==="fill"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:o==="fill"?600:400,cursor:"pointer",textAlign:"left"},children:[Pe.fill,Ee("span",{children:"Fill container"}),o==="fill"&&Ee(Yi,{size:14,style:{marginLeft:"auto"}})]}),Ee("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",margin:"4px 0"}}),Yt("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[Yt("div",{style:{display:"flex",alignItems:"center",backgroundColor:to,borderRadius:2,padding:"4px 8px"},children:[Ee("span",{onClick:H?Oe=>{Oe.stopPropagation(),I==null||I()}:void 0,title:H?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:H?u:"#999",fontWeight:H?600:400,marginRight:8,flexShrink:0,cursor:H?"pointer":"default"},children:"Min"}),Ee("input",{type:"text",value:g||"",placeholder:"\u2014",onChange:Oe=>x==null?void 0:x(Oe.target.value),onClick:Oe=>Oe.stopPropagation(),style:y(f({},wn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:H?u:"inherit",fontWeight:H?600:400})})]}),Yt("div",{style:{display:"flex",alignItems:"center",backgroundColor:to,borderRadius:2,padding:"4px 8px"},children:[Ee("span",{onClick:O?Oe=>{Oe.stopPropagation(),N==null||N()}:void 0,title:O?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:O?u:"#999",fontWeight:O?600:400,marginRight:8,flexShrink:0,cursor:O?"pointer":"default"},children:"Max"}),Ee("input",{type:"text",value:v||"",placeholder:"\u2014",onChange:Oe=>w==null?void 0:w(Oe.target.value),onClick:Oe=>Oe.stopPropagation(),style:y(f({},wn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:O?u:"inherit",fontWeight:O?600:400})})]})]})]})]})}function Un({children:e,style:t,dimmed:n}){let[o,r]=Cn(!1);return Ee("div",{onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),style:f({position:"relative",borderRadius:2,border:"1px solid",borderColor:o?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease, opacity 150ms ease",opacity:n?.3:1},t),children:e})}function zo({children:e}){let[t,n]=Cn(!1);return Ee("div",{onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{position:"relative",borderRadius:2,border:"1px solid",borderColor:t?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease"},children:e})}function mo({property:e,value:t,onChange:n,isModified:o=!1,step:r=1,min:s,max:i,style:l,placeholder:a,showUnit:d=!0,unitStyle:c,preferredUnit:u,onUnitCycle:p}){let g=Xo(t),v=Wr(e),x=Fi[e],I=u&&x&&x.includes(u)?u:v,N=o&&g.unit||I,H=!o&&g.unit&&g.unit!==N?js(g.num,N):g.num,[O,L]=Cn(!1),[Y,re]=Cn(""),Z=R=>{L(!0),re(String(H||"")),requestAnimationFrame(()=>R.target.select())},_=()=>{if(L(!1),Y.trim()){let R=$i(Y,e,t,o);R&&n(R)}},B=R=>{let ie=R.target.value;re(ie);let Se=ie.trim(),Pe=Se.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i),_e=Se.match(/^(-?[\d.]+)$/);if(Pe){let Ze=parseFloat(Pe[1]);isNaN(Ze)||n(`${Ze}${Pe[2].toLowerCase()}`)}else if(_e){let Ze=parseFloat(_e[1]);isNaN(Ze)||n(`${Ze}${N}`)}},h=R=>{if(R.key==="Enter"){if(Y.trim()){let ie=$i(Y,e,t,o);ie&&n(ie)}R.target.blur();return}if(R.key==="ArrowUp"||R.key==="ArrowDown"){R.preventDefault();let ie=R.shiftKey?10:R.altKey?.1:1,Se=(R.key==="ArrowUp"?1:-1)*r*ie,Pe=parseFloat(Y)||H||0,_e=Math.round((Pe+Se)*1e3)/1e3;s!==void 0&&(_e=Math.max(s,_e)),i!==void 0&&(_e=Math.min(i,_e)),re(String(_e)),n(`${_e}${N}`)}},A=/^-?[\d.]/.test(t.trim()),k=O?Y:A?String(H):"",K=O&&/\s*(rem|em|px|%)\s*$/i.test(Y)?"":N,de=p&&(K==="rem"||K==="px"),F={fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",pointerEvents:"none"},me=y(f({},c!=null?c:F),{pointerEvents:"auto",cursor:"pointer"});return Yt(Fp,{children:[Ee("input",{type:"text",inputMode:"decimal",value:k,onFocus:Z,onBlur:_,onChange:B,onKeyDown:h,placeholder:a,style:l}),d&&K&&Ee("span",{style:de?me:c!=null?c:F,onClick:de?p:void 0,title:de?"Click to switch units":void 0,children:K})]})}function Ks({value:e,resolvedValue:t,colorVariables:n,matchingVariable:o,onChange:r,accentColor:s="#3b82f6",modified:i,panelContentRef:l,isDropdownOpen:a,onDropdownChange:d}){let[c,u]=Cn(!1),p=e,[g,v]=Cn(p),[x,w]=Cn(!1),[I,N]=Cn(!1),[H,O]=Cn(!1),L=jn(null),Y=jn(null),re=jn(null),Z=a!==void 0?a:x,_=d||w,B=Eo(()=>{if(!re.current)return{position:"fixed",top:0,left:0,width:200};let R=re.current.getBoundingClientRect();if(l!=null&&l.current){let ie=l.current.getBoundingClientRect();return{position:"fixed",top:R.bottom+4,left:ie.left+4,width:ie.width-8}}return{position:"fixed",top:R.bottom+4,left:R.left,width:R.width}},[l]);no(()=>{c||v(e)},[e,c]),no(()=>{if(!Z&&!I)return;let R=Se=>{re.current&&!Se.composedPath().includes(re.current)&&(_(!1),N(!1))},ie=Se=>{Se.key==="Escape"&&(_(!1),N(!1))};return document.addEventListener("mousedown",R),document.addEventListener("keydown",ie),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",ie)}},[Z,I]),no(()=>{c&&L.current&&(L.current.focus(),L.current.select())},[c]);let h=Ji(()=>{if(!g||g.startsWith("#")||g.startsWith("rgb")||g.startsWith("hsl")||g.startsWith("oklch"))return[];let R=g.toLowerCase();return n.filter(ie=>ie.name.toLowerCase().includes(R)||ie.usage.toLowerCase().includes(R)).slice(0,8)},[g,n]),A=()=>{r(g),u(!1),N(!1)},k=R=>{v(R),R.includes("var")||R.includes("--")||R.length>0&&!R.startsWith("#")?N(!0):N(!1)},be=R=>{v(R.value),r(R.value),_(!1),N(!1),u(!1)},K=()=>{setTimeout(()=>{!Z&&!I&&A()},150)},de=R=>{R.key==="Enter"?A():R.key==="Escape"&&(v(e),u(!1),N(!1))},F=Ji(()=>{let R=t.trim().toLowerCase();if(R.startsWith("#"))return R.length===4?`#${R[1]}${R[1]}${R[2]}${R[2]}${R[3]}${R[3]}`:R.slice(0,7);let ie=R.match(/rgba?\((\d+),?\s*(\d+),?\s*(\d+)/);if(ie){let Pe=parseInt(ie[1],10).toString(16).padStart(2,"0"),_e=parseInt(ie[2],10).toString(16).padStart(2,"0"),Ze=parseInt(ie[3],10).toString(16).padStart(2,"0");return`#${Pe}${_e}${Ze}`}let Se=R.match(/oklch\(\s*([\d.]+)/);if(Se){let Pe=Math.max(0,Math.min(1,parseFloat(Se[1]))),_e=Math.round(Pe*255).toString(16).padStart(2,"0");return`#${_e}${_e}${_e}`}return"#000000"},[t]);return Yt("div",{ref:re,onMouseEnter:()=>O(!0),onMouseLeave:()=>O(!1),style:{position:"relative",borderRadius:2,border:"1px solid",borderColor:c?s:H?"rgba(0,0,0,0.15)":"transparent",backgroundColor:to,transition:"border-color 100ms ease",overflow:"hidden"},children:[Yt("div",{style:{display:"flex",alignItems:"center",minWidth:0},children:[Yt("div",{style:{position:"relative",marginLeft:8,flexShrink:0},children:[Ee("input",{type:"color",value:F,onChange:R=>{let ie=R.target.value;v(ie),r(ie)},style:{width:12,height:12,padding:0,border:"none",cursor:"pointer",opacity:0,position:"absolute",top:0,left:0}}),Ee("div",{style:{width:12,height:12,borderRadius:2,backgroundColor:t,border:"1px solid rgba(0,0,0,0.1)",pointerEvents:"none"}})]}),c?Ee("input",{ref:L,type:"text",value:g,onChange:R=>k(R.target.value),onKeyDown:de,onBlur:K,style:y(f({},wn),{flex:1,minWidth:0})}):Ee("span",{onClick:()=>u(!0),style:{flex:1,minWidth:0,padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"text",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:i?s:"inherit"},title:p,children:p}),n.length>0&&Ee("button",{type:"button",onClick:()=>_(!Z),style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:24,border:"none",background:"none",cursor:"pointer",color:"#999",flexShrink:0},children:Ee(Xs,{size:12})})]}),I&&h.length>0&&Ee("div",{style:y(f({},B()),{backgroundColor:"#eaeaea",border:"1px solid rgba(0,0,0,0.1)",borderRadius:0,zIndex:10001,maxHeight:200,overflowY:"auto",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'}),children:h.map(R=>Yt("button",{type:"button",onClick:()=>be(R),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",backgroundColor:"transparent",color:"#1e293b",cursor:"pointer",textAlign:"left",fontSize:12},children:[Ee("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:R.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Ee("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:R.name})]},R.name))}),Z&&Ee("div",{ref:Y,style:y(f({},B()),{backgroundColor:"#eaeaea",border:"1px solid rgba(0,0,0,0.1)",borderRadius:0,zIndex:10001,maxHeight:280,overflowY:"auto",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'}),children:n.map(R=>Yt("button",{type:"button",onClick:()=>be(R),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",backgroundColor:(o==null?void 0:o.usage)===R.usage||e===R.value?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:(o==null?void 0:o.usage)===R.usage||e===R.value?600:400,cursor:"pointer",textAlign:"left",fontSize:12},children:[Ee("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:R.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Ee("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:R.name}),((o==null?void 0:o.usage)===R.usage||e===R.value)&&Ee(Yi,{size:14,style:{marginLeft:"auto",flexShrink:0}})]},R.name))})]})}function pc({element:e,elementInfo:t,selector:n,styleModifications:o,dispatch:r,onClose:s,onHover:i,accentColor:l="#3b82f6",toolbarRef:a}){let d=jn(null),c=jn(null),[u,p]=Cn(()=>{try{return!!localStorage.getItem("devtools-panel-position")}catch(Q){return!1}});no(()=>{if(u)return;let Q=setTimeout(()=>p(!0),50);return()=>clearTimeout(Q)},[u]);let[g,v]=Cn(null),[x,w]=Cn(null),I=g!==null||x!==null,[N,H]=Cn("rem"),O=Eo(()=>{H(Q=>Q==="rem"?"px":"rem")},[]),L=jn(new Map),[Y,re]=Cn(""),Z=Ji(()=>Rs(),[]);no(()=>{let Q=ne=>{var $e;if(ne.key!=="Escape")return;let Te=document.activeElement;Te&&(($e=d.current)!=null&&$e.contains(Te))||s()};return window.addEventListener("keydown",Q),()=>window.removeEventListener("keydown",Q)},[s]);let _=jn({top:0,left:0,maxHeight:400}),[,B]=Cn(0),h="devtools-panel-position",A=jn({x:0,y:0}),k=jn(null),be=jn(!1);no(()=>{try{let Q=localStorage.getItem(h);if(Q){let ne=JSON.parse(Q);typeof ne.top=="number"&&typeof ne.left=="number"&&(be.current=!0,_.current=y(f({},_.current),{top:ne.top,left:ne.left}))}}catch(Q){}},[]),no(()=>{let Q=Te=>{var Me;let $e=k.current;if(!$e)return;let pt=$e.startOffsetX+(Te.clientX-$e.startX),Je=$e.startOffsetY+(Te.clientY-$e.startY),ye=280,ct=16,Ge=Math.max(ct,Math.min(window.innerWidth-ye-ct,_.current.left+pt)),_t=Math.max(ct,_.current.top+Je);A.current={x:Ge-_.current.left,y:_t-_.current.top};let dt=d.current,pe=dt==null?void 0:dt.parentElement;if(!pe)return;pe.style.top=`${_t}px`,pe.style.left=`${Ge}px`;let se=(Me=a==null?void 0:a.current)==null?void 0:Me.getBoundingClientRect(),Ce=window.innerHeight-16;se&&Ge+ye>se.left&&(Ce=se.top-8);let Re=Math.max(0,_t),it=Math.max(200,Ce-Re);dt&&(dt.style.maxHeight=`${it}px`)},ne=()=>{if(!k.current)return;let Te=_.current.top+A.current.y,$e=_.current.left+A.current.x;_.current=y(f({},_.current),{top:Te,left:$e}),A.current={x:0,y:0},be.current=!0;try{localStorage.setItem(h,JSON.stringify({top:Te,left:$e}))}catch(pt){}k.current=null};return window.addEventListener("mousemove",Q),window.addEventListener("mouseup",ne),()=>{window.removeEventListener("mousemove",Q),window.removeEventListener("mouseup",ne)}},[]);let K=Eo(Q=>{Q.button!==0||Q.target.closest("button")||(Q.preventDefault(),k.current={startX:Q.clientX,startY:Q.clientY,startOffsetX:A.current.x,startOffsetY:A.current.y})},[]);no(()=>{A.current={x:0,y:0};let Q=($e=!1)=>{var Ce;let pt=d.current,Je=280,ye=8,ct,Ge;if(be.current)ct=_.current.top,Ge=_.current.left;else{let Re=e.getBoundingClientRect();Ge=Re.right+ye,ct=Re.top,Ge+Je>window.innerWidth-ye&&(Ge=Re.left-Je-ye),Ge<ye&&(Ge=Math.max(ye,(window.innerWidth-Je)/2))}let _t=(Ce=a==null?void 0:a.current)==null?void 0:Ce.getBoundingClientRect(),dt=window.innerHeight-16;_t&&Ge+Je>_t.left&&(dt=_t.top-ye);let pe=Math.max(0,ct),se=Math.max(200,dt-pe);if(_.current={top:ct,left:Ge,maxHeight:se},$e&&pt){let Re=pt.parentElement;Re&&!be.current&&(Re.style.top=`${ct+A.current.y}px`,Re.style.left=`${Ge+A.current.x}px`),pt.style.maxHeight=`${se}px`}else B(Re=>Re+1)};Q(!1);let ne=()=>Q(!0),Te=()=>Q(!1);return window.addEventListener("scroll",ne,{passive:!0}),window.addEventListener("resize",Te,{passive:!0}),()=>{window.removeEventListener("scroll",ne),window.removeEventListener("resize",Te)}},[e]),no(()=>{let Q=d.current;if(!Q)return;let ne=Te=>{let $e=c.current;if(!$e){Te.preventDefault();return}let{scrollTop:pt,scrollHeight:Je,clientHeight:ye}=$e,ct=pt<=0&&Te.deltaY<0,Ge=pt+ye>=Je&&Te.deltaY>0;(ct||Ge)&&Te.preventDefault()};return Q.addEventListener("wheel",ne,{passive:!1}),()=>Q.removeEventListener("wheel",ne)},[]);let de=Ji(()=>o.find(Q=>Q.selector===n),[o,n]),F=Eo(Q=>{let ne=de==null?void 0:de.changes.find(Te=>Te.property===Q);return ne?ne.modified:Li(e,Q)},[e,de]),me=Eo((Q,ne)=>{if(!Q.includes("color"))return ne;let Te=ne.trim(),$e=Z.find(Je=>Je.usage===Te||Je.name===Te),pt=($e==null?void 0:$e.value)||Te;return Fr(e,pt)},[Z,e]),R=Eo(Q=>{if(L.current.has(Q))return L.current.get(Q);let ne=de==null?void 0:de.changes.find($e=>$e.property===Q);if(ne)return ne.original;let Te=Li(e,Q);return L.current.set(Q,Te),Te},[e,de]),ie=Eo((Q,ne)=>{let Te=R(Q),$e=me(Q,ne);Xe(e,Q,$e),Q==="backdrop-filter"&&Xe(e,"-webkit-backdrop-filter",$e),r({type:"MODIFY_STYLE",payload:{selector:n,element:t,property:Q,original:Te,modified:$e}})},[e,n,t,r,me,R]),Se=Eo(Q=>{let ne=o.find($e=>$e.selector===n);ne!=null&&ne.changes.find($e=>$e.property===Q)&&e instanceof HTMLElement&&(e.style.removeProperty(Q),r({type:"CLEAR_STYLE",payload:{selector:n,property:Q}}),L.current.delete(Q))},[e,n,o,r]),Pe=Eo(()=>{let Q=Y.split(";").map(ne=>ne.trim()).filter(ne=>ne);for(let ne of Q){let Te=ne.indexOf(":");if(Te>0){let $e=ne.slice(0,Te).trim(),pt=ne.slice(Te+1).trim();$e&&pt&&ie($e,pt)}}re("")},[Y,ie]),_e=Eo(Q=>{var ne;return(ne=de==null?void 0:de.changes.some(Te=>Te.property===Q))!=null?ne:!1},[de]),Ze=Q=>{var Je;let ne=F(Q.property),Te=_e(Q.property),$e=!Te&&zp(Q.property,ne),pt={width:"100%",padding:"4px 8px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"none",borderRadius:2,outline:"none",backgroundColor:"transparent"};if($e&&Q.type!=="backdrop-filter")return Ee(zo,{modified:!1,children:Ee("input",{type:"text",value:"",placeholder:"\u2014",onFocus:()=>{},onChange:ye=>ie(Q.property,ye.target.value),style:y(f({},pt),{color:"#999"})})});switch(Q.type){case"color":{let ye=Fr(e,ne),ct=ne.includes("var(")?null:ni(ye,Z);return Ee(Ks,{value:ne,resolvedValue:ye,colorVariables:Z,matchingVariable:ct,onChange:Ge=>ie(Q.property,Ge),accentColor:l,modified:Te,panelContentRef:c,isDropdownOpen:x===Q.property,onDropdownChange:Ge=>w(Ge?Q.property:null)})}case"number":{if(!!Fi[Q.property])return Ee(zo,{modified:Te,children:Ee(mo,{property:Q.property,value:ne,onChange:Ge=>ie(Q.property,Ge),isModified:Te,min:Q.min,max:Q.max,step:Q.step||1,style:y(f({},pt),{paddingRight:32}),unitStyle:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999"},preferredUnit:N,onUnitCycle:O})});let{num:ct}=Xo(ne);return Ee(zo,{modified:Te,children:Ee("input",{type:"number",value:ct,min:Q.min,max:Q.max,step:Q.step||1,onChange:Ge=>ie(Q.property,Ge.target.value),style:pt})})}case"select":return Ee(zo,{modified:Te,children:Yt("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[Ee("select",{value:ne,onChange:ye=>ie(Q.property,ye.target.value),style:y(f({},pt),{cursor:"pointer",paddingLeft:4,paddingRight:24,appearance:"none",WebkitAppearance:"none"}),children:(Je=Q.options)==null?void 0:Je.map(ye=>Ee("option",{value:ye,children:ye},ye))}),Ee("div",{style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#999",display:"flex",alignItems:"center"},children:Ee(Xs,{size:12})})]})});case"spacing":return Ee(zo,{modified:Te,children:Ee("input",{type:"text",value:ne,onChange:ye=>ie(Q.property,ye.target.value),placeholder:"e.g., 10px or 10px 20px",style:pt})});case"backdrop-filter":return Ee(tc,{value:ne,onChange:ye=>ie(Q.property,ye),accentColor:l,modified:Te,panelContentRef:c});default:return Ee(zo,{modified:Te,children:Ee("input",{type:"text",value:ne,onChange:ye=>ie(Q.property,ye.target.value),style:pt})})}},Oe=t.reactComponent||t.tagName,he={position:"fixed",top:_.current.top,left:_.current.left,width:280,maxHeight:_.current.maxHeight,backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",boxSizing:"content-box",zIndex:10002,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontSize:12,overflow:"visible",display:"flex",flexDirection:"column",opacity:u?1:0,transition:"opacity 150ms ease"},Fe={display:"flex",alignItems:"center",justifyContent:"space-between",margin:4,padding:"4px 5px 4px 10px",backgroundColor:l,color:"#ffffff",cursor:k.current?"grabbing":"grab",userSelect:"none",WebkitUserSelect:"none"},rt={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"12px 12px 6px",userSelect:"none",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontWeight:600,color:"#475569"},ht={display:"flex",alignItems:"center",padding:"4px 12px",gap:8},Jt={width:80,fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#64748b",flexShrink:0};return Ee("div",{"data-devtools":"panel-wrapper",style:{position:"fixed",top:_.current.top+A.current.y,left:_.current.left+A.current.x,zIndex:10002,pointerEvents:"none"},children:Yt("div",{ref:d,"data-devtools":"panel",style:y(f({},he),{position:"relative",top:0,left:0,zIndex:0,pointerEvents:"auto"}),onMouseEnter:()=>i==null?void 0:i("element"),onMouseLeave:()=>i==null?void 0:i(null),children:[Ee("div",{"aria-hidden":"true",style:zi()}),Yt("div",{style:Fe,onMouseDown:K,children:[Ee("div",{style:{display:"flex",alignItems:"center",gap:3,overflow:"hidden",minWidth:0},children:Ee("span",{style:{fontWeight:600,fontSize:12,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Oe})}),Ee("button",{type:"button",onClick:s,title:"Close",style:{background:"none",border:"none",cursor:"pointer",fontSize:16,color:"#ffffff",padding:"0 4px",lineHeight:1,flexShrink:0},children:"\xD7"})]}),Yt("div",{ref:c,style:{flex:1,overflowY:"auto",margin:"0 3px 3px"},children:[Ee("div",{style:{opacity:x?.3:1,transition:"opacity 150ms ease"},children:Ee(ic,{element:e,getValue:F,getOriginalValue:R,handleChange:ie,isModified:_e,onResetProperty:Se,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:rt,activeDropdown:g,onDropdownChange:v,panelContentRef:c,accentColor:l,onFieldHover:i,preferredUnit:N,onUnitCycle:O})}),Ee("div",{style:{opacity:g?.3:1,transition:"opacity 150ms ease"},children:Ee(cc,{element:e,getValue:F,handleChange:ie,isModified:_e,onResetProperty:Se,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:rt,accentColor:l,colorVariables:Z,activeColorDropdown:x,onColorDropdownChange:w,panelContentRef:c,preferredUnit:N,onUnitCycle:O})}),uc.map((Q,ne)=>{let Te=ne===uc.length-1,$e=x&&Q.properties.some(Je=>Je.property===x);return Yt("div",{style:{borderBottom:Te?"none":"1px solid rgba(0,0,0,0.08)",opacity:I&&!$e?.3:1,transition:"opacity 150ms ease"},children:[Ee("div",{style:rt,children:Ee("span",{children:Q.name})}),Ee("div",{style:{padding:"4px 0"},children:Q.properties.map(Je=>{let ye=_e(Je.property),ct=$e&&Je.property!==x;return Yt("div",{style:y(f({},ht),{opacity:ct?.3:1,transition:"opacity 150ms ease"}),children:[Ee("span",{onClick:ye?()=>Se(Je.property):void 0,title:ye?"Click to reset":void 0,style:y(f({},Jt),{color:ye?l:"#64748b",fontWeight:ye?600:400,cursor:ye?"pointer":"default"}),children:Je.label}),Ee("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:Ze(Je)})]},Je.property)})})]},Q.name)}),Yt("div",{style:{opacity:I?.3:1,transition:"opacity 150ms ease"},children:[Ee("div",{style:rt,children:Ee("span",{children:"Raw CSS"})}),Yt("div",{style:{padding:"8px 12px"},children:[Ee("textarea",{value:Y,onChange:Q=>re(Q.target.value),placeholder:"property: value; ...",style:{width:"100%",height:60,padding:8,fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',border:"1px solid rgba(0,0,0,0.1)",borderRadius:2,resize:"vertical",outline:"none"}}),Y.trim()&&Ee("button",{type:"button",onClick:Pe,style:{marginTop:4,padding:"4px 8px",width:"100%",fontSize:11,border:"none",borderRadius:2,backgroundColor:l,color:"#fff",cursor:"pointer",opacity:Y.trim()?1:.5},children:"Apply"})]})]})]})]})})}import{useEffect as $p,useLayoutEffect as Wp,useState as jp}from"react";import{Fragment as Vp,jsx as hr,jsxs as Jp}from"react/jsx-runtime";var qs=["flex-start","center","flex-end"],Zs=["flex-start","center","flex-end"];function Gp(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function Yp(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 fc(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,o=1/0,r=-1/0,s=-1/0;for(let i of t){let l=i.getBoundingClientRect();l.width===0&&l.height===0||(l.top<n&&(n=l.top),l.left<o&&(o=l.left),l.bottom>r&&(r=l.bottom),l.right>s&&(s=l.right))}return n===1/0?null:new DOMRect(o,n,s-o,r-n)}function gc({element:e,modifier:t,accentColor:n,refreshKey:o=0}){let[r,s]=jp(null);if($p(()=>{if(!e){s(null);return}let x=()=>s(fc(e));return x(),window.addEventListener("scroll",x,{passive:!0}),window.addEventListener("resize",x,{passive:!0}),()=>{window.removeEventListener("scroll",x),window.removeEventListener("resize",x)}},[e]),Wp(()=>{e&&s(fc(e))},[e,o]),!r)return null;let i=r,l=window.getComputedStyle(e),a=l.display;if(a!=="flex"&&a!=="inline-flex")return null;let d=l.flexDirection,c=d==="column"||d==="column-reverse"?"vertical":"horizontal",u=c==="horizontal"?"vertical":"horizontal",p=[];if(t==="shift"){let x=Gp(l.justifyContent);if(x){let w=qs.indexOf(x);c==="horizontal"?(w>0&&p.push("left"),w<qs.length-1&&p.push("right")):(w>0&&p.push("up"),w<qs.length-1&&p.push("down"))}}else{let x=Yp(l.alignItems);if(x){let w=Zs.indexOf(x);u==="horizontal"?(w>0&&p.push("left"),w<Zs.length-1&&p.push("right")):(w>0&&p.push("up"),w<Zs.length-1&&p.push("down"))}}if(p.length===0)return null;let g=14,v=7;return hr(Vp,{children:p.map(x=>{let w,I;switch(x){case"right":w=i.right+g,I=i.top+i.height/2;break;case"left":w=i.left-g,I=i.top+i.height/2;break;case"down":w=i.left+i.width/2,I=i.bottom+g;break;case"up":w=i.left+i.width/2,I=i.top-g;break}let N=x==="right"?0:x==="left"?180:x==="down"?90:-90,H={position:"fixed",left:w-v,top:I-v,width:v*2,height:v*2,pointerEvents:"none",zIndex:9997};return hr("div",{"data-devtools":"swipe-hint",style:H,children:hr("svg",{width:v*2,height:v*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:Jp("g",{transform:`rotate(${N})`,children:[hr("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),hr("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),hr("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),hr("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},x)})})}import{useEffect as Up,useLayoutEffect as Kp,useState as Xp}from"react";import{jsx as Qs,jsxs as ea}from"react/jsx-runtime";function qp(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 mc({element:e,fontSize:t,lineHeight:n,accentColor:o,hoveredProperty:r,draggingProperty:s,cursorViewport:i}){let[l,a]=Xp(null);if(Up(()=>{if(!e){a(null);return}let I=()=>{a(zr(e))};return I(),window.addEventListener("scroll",I,{passive:!0}),window.addEventListener("resize",I,{passive:!0}),()=>{window.removeEventListener("scroll",I),window.removeEventListener("resize",I)}},[e]),Kp(()=>{e&&a(zr(e))},[e,t,n]),!l)return null;let d=l.width,c=l.height,u=qp(o,.2),p=s!=null?s:r,g=8,v=2,x={position:"fixed",top:l.top,left:l.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},w=I=>I==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return ea("div",{"data-devtools":"text-handles",style:x,children:[ea("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[Qs("rect",{x:"0.5",y:"0.5",width:Math.max(0,d-1),height:Math.max(0,c-1),fill:"none",stroke:u,strokeWidth:"1"}),(p==="font-size"||!p)&&Qs("rect",{x:d-v/2,y:c/2-g/2,width:v,height:g,fill:o,stroke:"#ffffff",strokeWidth:p==="font-size"?4:2,paintOrder:"stroke"}),(p==="line-height"||!p)&&Qs("rect",{x:d/2-g/2,y:c-v/2,width:g,height:v,fill:o,stroke:"#ffffff",strokeWidth:p==="line-height"?4:2,paintOrder:"stroke"})]}),i&&p&&(()=>{let I=p==="font-size"?"Aa":"Lh",N=w(p);return ea("div",{style:{position:"fixed",left:i.x+8,top:i.y-28,background:o,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[I," ",N]})})()]})}import{Fragment as Jr,jsx as ft,jsxs as Yr}from"react/jsx-runtime";var hc=8,ta=[0,1,2,4,8,12,16,20,24,28,32],na="devtools-active-text";function yc(e,t,n=0,o,r){let s=e.left+window.scrollX+4,i=t==="top-left"?e.top+window.scrollY-eo-n*eo+4:e.bottom+window.scrollY+4-1+n*eo,l=window.scrollY+4,a=window.scrollY+window.innerHeight-eo-4,d=90,c=!1;if(o&&r!==void 0){let u=o.getBoundingClientRect();if(e.left+4+r+4+d>u.left){let g=window.scrollY+u.top-eo-4;g<a&&(a=g,c=!0)}}return i<l?i=e.top+window.scrollY+4:i>a&&(i=c?a:Math.max(e.top+window.scrollY+4,a)),{x:s,y:i}}function bc({state:e,dispatch:t,onScreenshot:n,inFlightAnnotationIds:o,activeAnnotationIds:r,queuePositionMap:s,inFlightStyleSelectors:i,inFlightSelectorColors:l,onAttachImages:a,onReply:d,onViewThread:c,onCloseThread:u,onModelComponentsAdd:p,onModelComponentFocus:g,onModelComponentHover:v,modelComponentNames:x,modelPanelHoveredComponent:w,modelSpacingTokenHover:I,highlightedAnnotationIds:N,focusedThreadAnnotationId:H,externalCanvasRef:O,toolbarRef:L}){var et,Ue,Rt,Ct,gt,zt,xt,ln,lo;let{canvasRef:Y,redrawAll:re,resizeCanvas:Z}=bl(),_=un(m=>{Y.current=m,O&&(O.current=m)},[O,Y]),B=Qt(!1);kn(()=>{let m=Y.current;if(!m)return;let b=()=>{B.current&&(B.current=!1,m.style.pointerEvents="")},G=M=>{M.button===0&&B.current&&b()};return window.addEventListener("mousedown",G),()=>window.removeEventListener("mousedown",G)},[Y]);let[h,A]=bt(!1),[k,be]=bt(()=>{if(typeof window=="undefined")return null;try{let m=localStorage.getItem(na);return m?JSON.parse(m):null}catch(m){return null}}),[K,de]=bt(null),[F,me]=bt(null),[R,ie]=bt(null),Se=Qt(null),Pe=Qt(null),_e=Qt({x:0,y:0}),Ze=Qt([]),Oe=Qt(0),[he,Fe]=bt(null),[rt,ht]=bt(new Map),Jt=Qt(0),Q=Qt(null),[ne,Te]=bt(null),[$e,pt]=bt(null),[Je,ye]=bt(null),[ct,Ge]=bt(null),_t=Qt({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}),[dt,pe]=bt(null),[se,Ce]=bt(null),[Re,it]=bt(null),[Me,Wt]=bt(null),en=Qt({x:0,y:0}),[pn,zn]=bt({x:0,y:0}),jt=Qt({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}),[Ot,hn]=bt(null),[vt,Vt]=bt(null),[Qe,xo]=bt(null),[Ke,Tt]=bt(!1),[Gn,So]=bt(0),[Fn,rn]=bt(null),Tn=Qt({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}),[W,fe]=bt(null),[Le,Gt]=bt(null),[St,yn]=bt(null),bn=Qt({isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}),[Ut,Pn]=bt(null),[vn,Io]=bt(null),[yt,Ro]=bt(null),io=vl(),jo=Qt(l);jo.current=l;let qn=un(m=>{let b=jo.current;if(!b||b.size===0)return!1;for(let G of b.keys())try{if(m.matches(G))return!0}catch(M){}return!1},[]),Mn=Qt(e);Mn.current=e;let Lo=Qt(k);Lo.current=k;let Zn=Qt([]),Kt=Qt(n);Kt.current=n;let[Bt,Xt]=bt(null),sn=e.selectedAnnotationIds;Zn.current=sn;let $n=un((m,b=!1)=>{t({type:"SELECT_ANNOTATION",payload:{id:m,addToSelection:b}})},[t]),wo=un(()=>{t({type:"SELECT_ANNOTATION",payload:{id:null}})},[t]),[In,Ao]=bt(null),[an,Go]=bt({x:window.scrollX,y:window.scrollY});kn(()=>(Z(),window.addEventListener("resize",Z),()=>window.removeEventListener("resize",Z)),[Z]),kn(()=>{let m=()=>{Go({x:window.scrollX,y:window.scrollY})};return window.addEventListener("scroll",m,{passive:!0}),()=>window.removeEventListener("scroll",m)},[]),kn(()=>{k?localStorage.setItem(na,JSON.stringify(k)):localStorage.removeItem(na)},[k]),xl(k,be,K,e.annotations,t);let Po=Qt(he);Po.current=he,kn(()=>{if(e.activeTool!=="model"||!e.isAnnotating)return;let m=b=>{if(!b.altKey||!Po.current)return;b.preventDefault();let G=b.deltaY>0?-1:1;Jt.current=Math.max(0,Jt.current+G);let M=Q.current;if(M){let C=Ii(M,Jt.current);Fe(C)}};return window.addEventListener("wheel",m,{passive:!1}),()=>window.removeEventListener("wheel",m)},[e.activeTool,e.isAnnotating]),kn(()=>{e.activeTool!=="model"&&(Fe(null),ht(new Map),Jt.current=0,Q.current=null)},[e.activeTool]),kn(()=>{var G;let m=(G=he==null?void 0:he.name)!=null?G:null,b=m&&(x!=null&&x.has(m))?m:null;v==null||v(b)},[he,x,v]);let[so,Er]=bt(null);kn(()=>{var G;if(!w){Er(null);return}let m=_r(w.name),b=w.instanceIndex;Er((G=m[b%m.length])!=null?G:null)},[w]);let[ao,Qo]=bt([]);kn(()=>{var m,b;if(!I){Qo([]);return}(b=(m=I.token)==null?void 0:m.bindings)!=null&&b.length?Qo(ks(I.token)):Qo(Cs(I.px))},[I]);let Yo=Qt(null),On=Qt(null);Yo.current=Ot,On.current=vt,kn(()=>{let m=["flex-start","center","flex-end"],b=["flex-start","center","flex-end"],M=null,C=!1,$=null,oe=null,j=(xe,ze)=>{let at=dr(xe,ze);for(;at&&at!==document.documentElement;){let wt=window.getComputedStyle(at).display;if(wt==="flex"||wt==="inline-flex")return at;at=at.parentElement}return null},te=xe=>{let ze=window.getComputedStyle(xe).flexDirection;return ze==="column"||ze==="column-reverse"?"vertical":"horizontal"},E=xe=>{let ze=xe.getAttribute("data-pm");return ze||(ze=Math.random().toString(36).substring(2,8),xe.setAttribute("data-pm",ze)),{selector:`[data-pm="${ze}"]`,durableSelector:Jn(xe)}},T=()=>{C=!0,M&&clearTimeout(M),M=setTimeout(()=>{C=!1,M=null},300)},X=(xe,ze,ut)=>{let at=te(xe);if(ze===at){let qe=window.getComputedStyle(xe).justifyContent,Ht=qe==="normal"||qe==="flex-start"||qe==="start"?"flex-start":qe==="flex-end"||qe==="end"?"flex-end":qe==="center"?"center":null;if(!Ht)return;let fn=m.indexOf(Ht)+ut;if(fn<0||fn>=m.length)return;let Do=m[fn],{selector:tr,durableSelector:as}=E(xe);Xe(xe,"justify-content",Do),t({type:"MODIFY_STYLES_BATCH",payload:{selector:tr,durableSelector:as,element:Nn(xe),changes:[{property:"justify-content",original:qe,modified:Do}]}})}else{let qe=window.getComputedStyle(xe).flexDirection,Ht=at==="horizontal"?"column":"row",{selector:co,durableSelector:fn}=E(xe);Xe(xe,"flex-direction",Ht),t({type:"MODIFY_STYLES_BATCH",payload:{selector:co,durableSelector:fn,element:Nn(xe),changes:[{property:"flex-direction",original:qe,modified:Ht}]}})}So(wt=>wt+1)},z=(xe,ze,ut)=>{let wt=te(xe)==="horizontal"?"vertical":"horizontal";if(ze!==wt)return;let Ht=window.getComputedStyle(xe).alignItems,co=Ht==="normal"||Ht==="stretch"||Ht==="flex-start"||Ht==="start"?"flex-start":Ht==="flex-end"||Ht==="end"?"flex-end":Ht==="center"?"center":null;if(!co)return;let Do=b.indexOf(co)+ut;if(Do<0||Do>=b.length)return;let tr=b[Do],{selector:as,durableSelector:fd}=E(xe);Xe(xe,"align-items",tr),t({type:"MODIFY_STYLES_BATCH",payload:{selector:as,durableSelector:fd,element:Nn(xe),changes:[{property:"align-items",original:Ht,modified:tr}]}}),So(gd=>gd+1)},J=20,U=null,q=null,we=0,We=(xe,ze,ut)=>{let at=j(ze,ut);rn(at?{modifier:xe,target:at}:null)},tt=xe=>{if(!(e.activeTool!=="hand"||!e.isAnnotating)){if(xe.key==="Shift"&&!xe.altKey){let ze=en.current;We("shift",ze.x,ze.y)}else if(xe.key==="Alt"&&!xe.shiftKey){let ze=en.current;We("alt",ze.x,ze.y)}}},ot=xe=>{if(e.activeTool!=="hand"||!e.isAnnotating)return;let ze=xe.shiftKey&&!xe.altKey,ut=xe.altKey&&!xe.shiftKey;if(!ze&&!ut||xe.buttons!==0){U=null,q=null,we=0,$=null,oe=null,rn(null);return}if($===null&&($=xe.clientX,oe=xe.clientY,We(ze?"shift":"alt",xe.clientX,xe.clientY)),C)return;U===null&&(U=xe.clientX,q=xe.clientY,we=0);let at=xe.clientX-U,wt=xe.clientY-q,qe=Math.abs(at)>=Math.abs(wt)?at:wt;if(Math.abs(qe)>3){let tr=qe>0?1:-1;if(we!==0&&tr!==we){U=xe.clientX,q=xe.clientY,we=0;return}we=tr}if(Math.abs(at)<J&&Math.abs(wt)<J)return;let Ht=j($,oe);if(!Ht)return;let co=Math.abs(at)>=Math.abs(wt)?"horizontal":"vertical",Do=(co==="horizontal"?at:wt)>0?1:-1;U=null,q=null,we=0,ze?X(Ht,co,Do):z(Ht,co,Do),T()},Ft=xe=>{(xe.key==="Shift"||xe.key==="Alt")&&($=null,oe=null,U=null,q=null,we=0,rn(null))},st=()=>{rn(null),U=null,q=null,we=0};return window.addEventListener("keydown",tt),window.addEventListener("mousemove",ot),window.addEventListener("mousedown",st),window.addEventListener("keyup",Ft),()=>{window.removeEventListener("keydown",tt),window.removeEventListener("mousemove",ot),window.removeEventListener("mousedown",st),window.removeEventListener("keyup",Ft),M&&clearTimeout(M)}},[e.activeTool,e.isAnnotating,t]),kn(()=>{let m=b=>{var $,oe,j,te;if(b.key==="Escape"){if(Lo.current)return;if(e.activeTool==="model"&&rt.size>0){b.preventDefault(),ht(new Map);return}if(Zn.current.length>0){b.preventDefault(),wo();return}}if(b.key==="Enter"&&e.activeTool==="model"&&rt.size>0&&p){b.preventDefault();let E=[...rt.keys()].filter(T=>!(x!=null&&x.has(T)));E.length>0&&p(E),ht(new Map);return}if((b.metaKey||b.ctrlKey)&&b.key==="v"&&Ze.current.length>0&&!Lo.current){b.preventDefault(),Oe.current++;let E=Oe.current*20,X=(($=Ze.current[0])==null?void 0:$.groupId)?Math.random().toString(36).substring(2,9):void 0,z=Ze.current.map(U=>y(f({},U),{id:Math.random().toString(36).substring(2,9),groupId:U.groupId?X:void 0,timestamp:Date.now(),points:U.points.map(q=>({x:q.x+E,y:q.y+E}))}));t({type:"PASTE_ANNOTATIONS",payload:{annotations:z}});let J=z.find(U=>U.type!=="text")||z[0];J&&$n(J.id);return}let G=Zn.current;if(G.length===0||Lo.current)return;let M=(j=(oe=b.composedPath)==null?void 0:oe.call(b)[0])!=null?j:b.target,C=M==null?void 0:M.tagName;if(!(C==="INPUT"||C==="TEXTAREA"||M!=null&&M.isContentEditable)&&(b.key==="Delete"||b.key==="Backspace")){if(b.preventDefault(),u){let E=Mn.current.annotations;for(let T of G){let X=E.find(J=>J.id===T);if(!X)continue;let z=X.threadId||X.groupId&&((te=E.find(J=>J.groupId===X.groupId&&J.threadId))==null?void 0:te.threadId);z&&u(z)}}for(let E of G)t({type:"DELETE_ANNOTATION",payload:{id:E}});wo()}};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[t,wo,$n,e.activeTool,rt,x,p,u]);let D=Ar(),V=Vi(()=>e.annotations.filter(m=>!m.pathname||m.pathname===D),[e.annotations,D]),ee=Vi(()=>Ni(e.annotations),[e.annotations]),ge=Vi(()=>{let m=new Map,b=new Set,G=1,M=[...e.annotations].sort((C,$)=>C.timestamp-$.timestamp);for(let C of M)if(!ee.has(C))if(C.groupId){if(!b.has(C.groupId)){b.add(C.groupId);let $=e.annotations.filter(oe=>oe.groupId===C.groupId);for(let oe of $)m.set(oe.id,G);G++}}else m.set(C.id,G),G++;return m},[e.annotations,ee]),ae=Vi(()=>{if(sn.length===0)return null;let m=new Map;for(let b of sn){let G=e.annotations.find(C=>C.id===b);if(!G)continue;let M=G.groupId?e.annotations.filter(C=>C.groupId===G.groupId):[G];for(let C of M)if(C.linkedSelector&&!(l!=null&&l.has(C.linkedSelector))){let $=C.color||e.activeColor;m.set(C.linkedSelector,$)}}return m.size>0?m:null},[sn,e.annotations,e.activeColor,l]);kn(()=>{let m=V.filter(b=>!(ee.has(b)||k&&!k.isNew&&b.id===k.id));re(m,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,sn,hc,an.x,an.y,ge,N)},[V,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,re,k,sn,an,ge,ee,N]),kn(()=>{if(F){let m=Math.random().toString(36).substring(2,9);be({id:m,point:F.point,text:"",fontSize:12,isNew:!0,groupId:F.groupId}),me(null)}},[F]),kn(()=>{R&&(be({id:Math.random().toString(36).substring(2,9),point:R.point,text:"",fontSize:12,isNew:!0,linkedSelector:R.linkedSelector,linkedAnchor:R.linkedAnchor,elements:R.elements}),ie(null))},[R]);let Ie=Qt(null),ke=(et=k==null?void 0:k.id)!=null?et:null;kn(()=>{ke&&Se.current?requestAnimationFrame(()=>{var G;let m=Se.current;if(!m||(m.focus(),Pe.current===ke))return;Pe.current=ke;let b=Lo.current;if(b){if(Ie.current!==null){let M=Math.min(Ie.current,m.value.length);m.setSelectionRange(M,M);return}if(!b.isNew&&b.clickPoint){let M=Y.current;if(!M)return;let C=M.getContext("2d");if(!C)return;C.font=`${b.fontSize}px ${Zt}`;let $=b.fontSize*1.4,oe=b.text.split(`
4
+ `),j=b.clickPoint.y-b.point.y,te=Math.max(0,Math.min(oe.length-1,Math.floor(j/$))),E=b.clickPoint.x-b.point.x,T=oe[te]||"",X=0;for(let J=0;J<=T.length;J++){let U=C.measureText(T.substring(0,J)).width;if(U>E){let q=J>0?C.measureText(T.substring(0,J-1)).width:0;X=E-q<U-E?J-1:J;break}X=J}let z=X;for(let J=0;J<te;J++)z+=(((G=oe[J])==null?void 0:G.length)||0)+1;m.setSelectionRange(z,z)}}}):(Pe.current=null,Ie.current=null)},[ke,Y]);let He=un(m=>{let b=Y.current;if(!b)return{x:0,y:0};let G=b.getBoundingClientRect(),M,C;if("touches"in m&&m.touches[0])M=m.touches[0].clientX,C=m.touches[0].clientY;else if("clientX"in m)M=m.clientX,C=m.clientY;else return{x:0,y:0};return{x:M-G.left+window.scrollX,y:C-G.top+window.scrollY}},[Y]),Ne=un((m,b,G,M)=>{let C=G.x-b.x,$=G.y-b.y,oe=C*C+$*$;if(oe===0)return Math.sqrt((m.x-b.x)**2+(m.y-b.y)**2)<=M;let j=Math.max(0,Math.min(1,((m.x-b.x)*C+(m.y-b.y)*$)/oe)),te=b.x+j*C,E=b.y+j*$;return Math.sqrt((m.x-te)**2+(m.y-E)**2)<=M},[]),Mt=un(m=>{for(let G=V.length-1;G>=0;G--){let M=V[G];if(!M||ee.has(M))continue;let C=(M.strokeWidth||3)+4;switch(M.type){case"text":{if(!M.points[0]||!M.text)continue;let $=M.points[0],oe=M.fontSize||12,j=Y.current;if(j){let te=j.getContext("2d");if(te){te.font=`${oe}px ${Zt}`;let E=M.text.replace(/\n/g," "),T=$.x-an.x,X=Or(T),z=Br(te,E,X),J=te.measureText(z).width,U=oe*1.4;if(m.x>=$.x-4-4&&m.x<=$.x+J+4+4&&m.y>=$.y-4-4&&m.y<=$.y+U+4+4)return M}}break}case"rectangle":{if(M.points.length<2)continue;let $=M.points[0],oe=M.points[M.points.length-1],j=Math.min($.x,oe.x),te=Math.max($.x,oe.x),E=Math.min($.y,oe.y),T=Math.max($.y,oe.y),X=Ne(m,{x:j,y:E},{x:te,y:E},C),z=Ne(m,{x:j,y:T},{x:te,y:T},C),J=Ne(m,{x:j,y:E},{x:j,y:T},C),U=Ne(m,{x:te,y:E},{x:te,y:T},C);if(X||z||J||U)return M;break}case"circle":{if(M.points.length<2)continue;let $=M.points[0],oe=M.points[M.points.length-1],j=($.x+oe.x)/2,te=($.y+oe.y)/2,E=Math.abs(oe.x-$.x)/2,T=Math.abs(oe.y-$.y)/2,X=m.x-j,z=m.y-te,J=Math.sqrt((X/E)**2+(z/T)**2);if(Math.abs(J-1)*Math.max(E,T)<=C)return M;break}case"line":{if(M.points.length<2)continue;let $=M.points[0],oe=M.points[M.points.length-1];if(Ne(m,$,oe,C))return M;break}case"freehand":{if(M.points.length<2)continue;for(let $=0;$<M.points.length-1;$++){let oe=M.points[$],j=M.points[$+1];if(Ne(m,oe,j,C))return M}break}}}return null},[V,Y,Ne,ee,an.x]),qt=un(m=>{let b=Mt(m);return(b==null?void 0:b.type)==="text"?b:null},[Mt]),xn=un(m=>{if(sn.length===0)return null;let b=hc/2+4;for(let G of sn){let M=e.annotations.find(C=>C.id===G);if(!(!M||M.points.length<2)){if(M.type==="line"){let C=M.points[0],$=M.points[M.points.length-1];if(Math.sqrt((m.x-C.x)**2+(m.y-C.y)**2)<=b)return{handle:"start",annotationId:G};if(Math.sqrt((m.x-$.x)**2+(m.y-$.y)**2)<=b)return{handle:"end",annotationId:G};continue}if(M.type==="circle"){let C=M.points[0],$=M.points[M.points.length-1],oe=Math.min(C.x,$.x),j=Math.max(C.x,$.x),te=Math.min(C.y,$.y),E=Math.max(C.y,$.y),T=(oe+j)/2,X=(te+E)/2,z=[{handle:"top",x:T,y:te},{handle:"bottom",x:T,y:E},{handle:"left",x:oe,y:X},{handle:"right",x:j,y:X}];for(let{handle:J,x:U,y:q}of z)if(Math.sqrt((m.x-U)**2+(m.y-q)**2)<=b)return{handle:J,annotationId:G};continue}if(M.type==="rectangle"||M.type==="freehand"){let C=M.points[0],$=M.points[M.points.length-1],oe,j,te,E;M.type==="freehand"?(oe=Math.min(...M.points.map(X=>X.x)),j=Math.max(...M.points.map(X=>X.x)),te=Math.min(...M.points.map(X=>X.y)),E=Math.max(...M.points.map(X=>X.y))):(oe=Math.min(C.x,$.x),j=Math.max(C.x,$.x),te=Math.min(C.y,$.y),E=Math.max(C.y,$.y));let T=[{corner:"topLeft",x:oe,y:te},{corner:"topRight",x:j,y:te},{corner:"bottomLeft",x:oe,y:E},{corner:"bottomRight",x:j,y:E}];for(let{corner:X,x:z,y:J}of T)if(Math.sqrt((m.x-z)**2+(m.y-J)**2)<=b)return{handle:X,annotationId:G}}}}return null},[sn,e.annotations]);kn(()=>{let m=b=>{if(_e.current={x:b.clientX+window.scrollX,y:b.clientY+window.scrollY},!k){let G=qt(_e.current);de((G==null?void 0:G.id)||null)}};return window.addEventListener("mousemove",m),()=>window.removeEventListener("mousemove",m)},[k,qt]);let It=un(()=>{var b;if(!k)return;let m=((b=k.images)==null?void 0:b.length)||0;if(k.text.trim()||m>0)if(k.isNew){let G=Ci();t({type:"ADD_TEXT",payload:f({point:k.point,text:k.text||(m>0?`[${m} image${m>1?"s":""}]`:""),fontSize:k.fontSize,id:G,groupId:k.groupId,linkedSelector:k.linkedSelector,linkedAnchor:k.linkedAnchor,elements:k.elements},m>0?{imageCount:m}:{})}),m>0&&k.images&&a&&a(G,k.images)}else t({type:"UPDATE_TEXT",payload:f({id:k.id,text:k.text||(m>0?`[${m} image${m>1?"s":""}]`:"")},m>0?{imageCount:m}:{})}),m>0&&k.images&&a&&a(k.id,k.images);else k.isNew||t({type:"DELETE_ANNOTATION",payload:{id:k.id}});be(null)},[k,t,a]),Ve=un(m=>{for(let b=0;b<ta.length-1;b++){let G=ta[b],M=ta[b+1];if(m<=(G+M)/2)return G;if(m<M)return M}return Math.round(m/8)*8},[]),Yn=un((m,b,G,M)=>{let C=G.top+Math.max(M.top,4),$=G.bottom-Math.max(M.bottom,4),oe=G.left+Math.max(M.left,4),j=G.right-Math.max(M.right,4);if(m<G.left||m>G.right||b<G.top||b>G.bottom)return null;let te=b<C,E=b>$,T=m<oe,X=m>j;return te&&T?M.top>=M.left?"top":"left":te&&X?M.top>=M.right?"top":"right":E&&T?M.bottom>=M.left?"bottom":"left":E&&X?M.bottom>=M.right?"bottom":"right":te?"top":E?"bottom":T?"left":X?"right":null},[]),Oo=un(m=>{var $,oe;if(!e.isAnnotating)return;if(e.inspectedElement&&e.activeTool==="hand"&&!("button"in m&&m.button===2)){m.preventDefault(),m.stopPropagation(),t({type:"SELECT_ELEMENT",payload:null});return}let b=He(m),G="shiftKey"in m&&m.shiftKey;if(e.activeTool==="inspector"){if("button"in m&&m.button===2)return;if(ne&&!qn(ne)){let j=e.annotations.find(tt=>{if(!tt.linkedSelector||!tt.threadId)return!1;try{return ne.matches(tt.linkedSelector)}catch(ot){return!1}});if(j!=null&&j.threadId&&c){c(j.threadId),requestAnimationFrame(()=>{var Ft;let tt=document.querySelector("[data-popmelt-shadow-host]"),ot=(Ft=tt==null?void 0:tt.shadowRoot)==null?void 0:Ft.querySelector("[data-popmelt-reply]");ot==null||ot.focus()});return}let te=Nn(ne),E=Jn(ne),T=ne.getBoundingClientRect(),X=ne.getAttribute("data-pm");X||(X=Math.random().toString(36).substring(2,8),ne.setAttribute("data-pm",X));let z=`[data-pm="${X}"]`,J=e.styleModifications.some(tt=>{try{return ne.matches(tt.selector)}catch(ot){return!1}}),U=e.annotations.filter(tt=>{if(!tt.linkedSelector)return!1;try{return ne.matches(tt.linkedSelector)}catch(ot){return!1}}).length,q=(J?1:0)+U,we=T.top>=eo*(1+q)?"top-left":"bottom-left",We=yc(T,we,q,L==null?void 0:L.current);ie({point:We,linkedSelector:z,linkedAnchor:we,elements:[y(f({},te),{selector:E})]})}return}if(e.activeTool==="model"){if("button"in m&&m.button===2)return;if(he){let j=he.name;if(x!=null&&x.has(j)){g==null||g(j);return}"shiftKey"in m&&m.shiftKey?ht(E=>{let T=new Map(E);return T.has(j)?T.delete(j):T.set(j,he),T}):rt.size===1&&rt.has(j)?(p&&p([j]),ht(new Map)):ht(new Map([[j,he]]))}return}if(e.activeTool==="hand"&&Ot&&vt){let j=Ot,te=j.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),j.setAttribute("data-pm",te));let E=Jn(j),T=`[data-pm="${te}"]`,X=Nn(j),z=ur(j),J=b.x-window.scrollX,U=b.y-window.scrollY,q=Ke,we=window.getComputedStyle(j).justifyContent,We=0;if(q){let ot=Ho(j).find(Ft=>Ft.axis===vt);We=ot?vt==="column"?ot.w:ot.h:0}Xe(j,"transition","none"),jt.current={isDragging:!0,hasMoved:!1,axis:vt,startX:J,startY:U,originalRow:q?We:z.row,originalColumn:q?We:z.column,element:j,elementInfo:y(f({},X),{selector:T}),selector:T,durableSelector:E,isAuto:q,originalJustifyContent:we,visualGap:We},xo({axis:vt,row:q?We:z.row,column:q?We:z.column});return}if(e.activeTool==="hand"&&Ut&&vn){let j=Ut,te=j.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),j.setAttribute("data-pm",te));let E=`[data-pm="${te}"]`,T=Nn(j),{fontSize:X,lineHeight:z}=ti(j),J=X>0?z/X:1.2,U=b.x-window.scrollX,q=b.y-window.scrollY;Xe(j,"transition","none");let we=Jn(j);bn.current={isDragging:!0,property:vn,startX:U,startY:q,originalFontSize:X,originalLineHeight:z,originalRatio:J,element:j,elementInfo:y(f({},T),{selector:E}),selector:E,durableSelector:we},Ro({property:vn,fontSize:X,lineHeight:z});return}if(e.activeTool==="hand"&&W&&Le){let j=W,te=j.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),j.setAttribute("data-pm",te));let E=`[data-pm="${te}"]`,T=Jn(j),X=Nn(j),z=pr(j),J=j.getBoundingClientRect(),U=Math.floor(J.height/2),q=b.y-window.scrollY;Xe(j,"transition","none"),Tn.current={isDragging:!0,corner:Le,startY:q,original:z,maxRadius:U,element:j,elementInfo:y(f({},X),{selector:E}),selector:E,durableSelector:T},yn({corner:Le,radius:f({},z)});return}if(e.activeTool==="hand"&&dt&&se){let j=dt,te=j.getAttribute("data-pm");te||(te=Math.random().toString(36).substring(2,8),j.setAttribute("data-pm",te));let E=`[data-pm="${te}"]`,T=Jn(j),X=Nn(j),z=Nr(j),J=b.x-window.scrollX,U=b.y-window.scrollY;Xe(j,"transition","none"),_t.current={isDragging:!0,side:se,startX:J,startY:U,original:z,element:j,elementInfo:y(f({},X),{selector:E}),selector:E,durableSelector:T},Wt({side:se,padding:f({},z)});return}let M=xn(b);if(M){let j=e.annotations.find(te=>te.id===M.annotationId);if(j&&j.type!=="text"&&(($=j.status)!=null?$:"pending")==="pending"){Ao({annotationId:M.annotationId,handle:M.handle,startPoint:b,originalPoints:[...j.points],hasMoved:!1});return}}let C=Mt(b);if(C&&C.points[0]){if(k&&It(),C.type!=="text"?($n(C.id,G),C.color&&t({type:"SET_COLOR",payload:C.color})):G||wo(),c){let j=C.threadId||(C.groupId?(oe=e.annotations.find(te=>te.groupId===C.groupId&&te.threadId))==null?void 0:oe.threadId:void 0);j&&c(j)}Xt({annotation:C,startPoint:b,hasMoved:!1});return}if(G||wo(),e.activeTool==="text"){k&&It();let j=Math.random().toString(36).substring(2,9);be({id:j,point:b,text:"",fontSize:12,isNew:!0});return}A(!0),t({type:"START_PATH",payload:b})},[e.isAnnotating,e.activeTool,e.inspectedElement,e.annotations,k,sn,ne,dt,se,W,Le,Ot,vt,Ke,Ut,vn,he,rt,x,p,g,c,He,Mt,xn,t,$n,wo,It]),Bo=un(m=>{var G,M;let b=He(m);if(e.activeTool==="inspector"&&e.isAnnotating){let C=b.x-window.scrollX,$=b.y-window.scrollY,oe=dr(C,$),j=oe&&qn(oe)?null:oe;j!==ne&&(Te(j),pt(j?Nn(j):null));return}if(e.activeTool==="model"&&e.isAnnotating){let C=b.x-window.scrollX,$=b.y-window.scrollY,oe=dr(C,$);if(oe!==Q.current&&(Q.current=oe,Jt.current=0),oe){let j=Ii(oe,Jt.current);Fe(j)}else Fe(null);return}if(e.activeTool==="hand"&&e.isAnnotating){let C=b.x-window.scrollX,$=b.y-window.scrollY;en.current={x:C,y:$},zn({x:C,y:$});let oe=io.current.cmd,j=io.current.shift;if(jt.current.isDragging){let E=jt.current,T=E.element;if(!T)return;if(!E.hasMoved){let U=Math.abs(C-E.startX),q=Math.abs($-E.startY);if(U<=2&&q<=2)return;E.hasMoved=!0,E.isAuto&&(Xe(T,"justify-content","normal"),Xe(T,"row-gap",`${E.visualGap}px`),Xe(T,"column-gap",`${E.visualGap}px`),Tt(!1))}let X=E.axis,z=E.originalRow,J=E.originalColumn;if(X==="column"){let U=C-E.startX;J=E.originalColumn+U,oe||(z=E.originalRow+U)}else{let U=$-E.startY;z=E.originalRow+U,oe||(J=E.originalColumn+U)}z=Math.max(0,z),J=Math.max(0,J),j&&(z=Ve(z),J=Ve(J)),z=Math.round(z),J=Math.round(J),Xe(T,"row-gap",`${z}px`),Xe(T,"column-gap",`${J}px`),xo({axis:X,row:z,column:J});return}if(Tn.current.isDragging){let E=Tn.current,T=E.element;if(!T)return;let X=$-E.startY,z=E.corner,J=E.original,U=f({},J);if(oe){let q=J[z]+X;q=Math.max(0,Math.min(E.maxRadius,q)),j&&(q=Ve(q)),q=Math.round(q),U[z]=q}else{let q=J[z]+X;q=Math.max(0,Math.min(E.maxRadius,q)),j&&(q=Ve(q)),q=Math.round(q),U={"top-left":q,"top-right":q,"bottom-right":q,"bottom-left":q}}Xe(T,"border-top-left-radius",`${U["top-left"]}px`),Xe(T,"border-top-right-radius",`${U["top-right"]}px`),Xe(T,"border-bottom-right-radius",`${U["bottom-right"]}px`),Xe(T,"border-bottom-left-radius",`${U["bottom-left"]}px`),yn({corner:z,radius:U});return}if(bn.current.isDragging){let E=bn.current,T=E.element;if(!T)return;let X=E.property,z=E.originalFontSize,J=E.originalLineHeight,U=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];if(X==="font-size"){let we=C-E.startX;z=E.originalFontSize+we,z=Math.max(1,z)}else{let we=$-E.startY;J=E.originalLineHeight+we,J=Math.max(z,J)}if(j)if(X==="font-size"){let we=U[0],We=Math.abs(z-we);for(let tt of U){let ot=Math.abs(z-tt);ot<We&&(we=tt,We=ot)}z=we}else{let we=z>0?J/z:1.2,We=Math.round(we*2)/2;J=z*Math.max(1,We)}z=Math.round(z),J=Math.round(J*10)/10,Xe(T,"font-size",`${z}px`);let q=z>0?Math.round(J/z*1e3)/1e3:1.2;Xe(T,"line-height",`${q}`),Ro({property:X,fontSize:z,lineHeight:J});return}if(_t.current.isDragging){let E=_t.current,T=E.element;if(!T)return;let X=E.side,z=E.original,J=z.top,U=z.right,q=z.bottom,we=z.left;if(X==="top"){let We=E.startY-$;J=z.top+We,oe||(q=z.bottom+We)}else if(X==="bottom"){let We=$-E.startY;q=z.bottom+We,oe||(J=z.top+We)}else if(X==="left"){let We=E.startX-C;we=z.left+We,oe||(U=z.right+We)}else if(X==="right"){let We=C-E.startX;U=z.right+We,oe||(we=z.left+We)}J=Math.max(0,J),U=Math.max(0,U),q=Math.max(0,q),we=Math.max(0,we),j&&(J=Ve(J),U=Ve(U),q=Ve(q),we=Ve(we)),J=Math.round(J),U=Math.round(U),q=Math.round(q),we=Math.round(we),Xe(T,"padding",`${J}px ${U}px ${q}px ${we}px`),Wt({side:X,padding:{top:J,right:U,bottom:q,left:we}});return}let te=dr(C,$);for(;te&&te.tagName==="A";)te=te.parentElement;{let T=[];te&&T.push(te),W&&W!==te&&T.push(W);let X=null,z=16,J=null;for(let U of T){let q=U.getBoundingClientRect(),we=pr(U),We=[["top-left",q.left,q.top+we["top-left"]],["top-right",q.right,q.top+we["top-right"]],["bottom-right",q.right,q.bottom-we["bottom-right"]],["bottom-left",q.left,q.bottom-we["bottom-left"]]];for(let[tt,ot,Ft]of We){let st=Math.hypot(C-ot,$-Ft);st<z&&(z=st,X=tt,J=U)}}if(X&&J){fe(J),Gt(X),dt&&pe(null),se&&Ce(null),Ot&&hn(null),vt&&Vt(null),Tt(!1),Ut&&Pn(null),vn&&Io(null);return}}W&&fe(null),Le&&Gt(null);{let E=[];te&&Pi(te)&&E.push(te);let T=(G=te==null?void 0:te.parentElement)!=null?G:null;for(;T&&T!==document.body&&E.length<3;)Pi(T)&&E.push(T),T=T.parentElement;for(let X of E){let J=Ho(X).find(U=>C>=U.x&&C<=U.x+U.w&&$>=U.y&&$<=U.y+U.h);if(J){hn(X),Vt(J.axis),Tt(Ms(X,J.axis)),dt&&pe(null),se&&Ce(null),Ut&&Pn(null),vn&&Io(null);return}}}Ot&&hn(null),vt&&Vt(null),Tt(!1);{let T=[];te&&T.push(te),Ut&&Ut!==te&&T.push(Ut);let X=null,z=1/0,J=null;for(let U of T){if(!Is(U))continue;let q=zr(U);if(!q)continue;let we=C>=q.left&&C<=q.right&&$>=q.top&&$<=q.bottom,We=[["font-size",q.right,q.top+q.height/2],["line-height",q.left+q.width/2,q.bottom]];for(let[tt,ot,Ft]of We){let st=Math.hypot(C-ot,$-Ft);(we||st<12)&&st<z&&(z=st,X=tt,J=U)}}X&&J?(Pn(J),Io(X)):(Ut&&Pn(null),vn&&Io(null))}if(te!==dt&&pe(te),te){let E=Nr(te),T=te.getBoundingClientRect(),X=Yn(C,$,T,E);Ce(X)}else Ce(null);return}if(In){let{handle:C,originalPoints:$,hasMoved:oe}=In,j=e.annotations.find(z=>z.id===In.annotationId);if(!j)return;let te="metaKey"in m,E=te&&(m.metaKey||m.ctrlKey),T=te&&m.shiftKey,X;if(j.type==="line"){let z=$[0],J=$[$.length-1];C==="start"?X=[b,J]:X=[z,b]}else if(j.type==="freehand"){let z=Math.min(...$.map(qe=>qe.x)),J=Math.max(...$.map(qe=>qe.x)),U=Math.min(...$.map(qe=>qe.y)),q=Math.max(...$.map(qe=>qe.y)),we=(z+J)/2,We=(U+q)/2,tt=J-z||1,ot=q-U||1,Ft=tt/ot,st=z,xe=J,ze=U,ut=q;switch(C){case"topLeft":st=b.x,ze=b.y;break;case"topRight":xe=b.x,ze=b.y;break;case"bottomLeft":st=b.x,ut=b.y;break;case"bottomRight":xe=b.x,ut=b.y;break}if(E)switch(C){case"topLeft":xe=J+(z-st),ut=q+(U-ze);break;case"topRight":st=z-(xe-J),ut=q+(U-ze);break;case"bottomLeft":xe=J+(z-st),ze=U-(ut-q);break;case"bottomRight":st=z-(xe-J),ze=U-(ut-q);break}if(T){let qe=xe-st,Ht=ut-ze;if(Math.abs(qe/Ht)>Ft){let fn=Math.abs(Ht)*Ft*Math.sign(qe);C==="topLeft"||C==="bottomLeft"?st=xe-fn:xe=st+fn}else{let fn=Math.abs(qe)/Ft*Math.sign(Ht);C==="topLeft"||C==="topRight"?ze=ut-fn:ut=ze+fn}}let at=xe-st||1,wt=ut-ze||1;X=$.map(qe=>({x:st+(qe.x-z)/tt*at,y:ze+(qe.y-U)/ot*wt}))}else if(j.type==="circle"){let z=$[0],J=$[$.length-1],U=Math.min(z.x,J.x),q=Math.max(z.x,J.x),we=Math.min(z.y,J.y),We=Math.max(z.y,J.y),tt=(U+q)/2,ot=(we+We)/2,Ft=q-U,st=We-we,xe=U,ze=q,ut=we,at=We;switch(C){case"top":if(ut=b.y,E&&(at=ot+(ot-b.y)),T){let qe=(at-ut)*(Ft/st)/2;xe=tt-qe,ze=tt+qe}break;case"bottom":if(at=b.y,E&&(ut=ot-(b.y-ot)),T){let qe=(at-ut)*(Ft/st)/2;xe=tt-qe,ze=tt+qe}break;case"left":if(xe=b.x,E&&(ze=tt+(tt-b.x)),T){let qe=(ze-xe)*(st/Ft)/2;ut=ot-qe,at=ot+qe}break;case"right":if(ze=b.x,E&&(xe=tt-(b.x-tt)),T){let qe=(ze-xe)*(st/Ft)/2;ut=ot-qe,at=ot+qe}break}X=[{x:xe,y:ut},{x:ze,y:at}]}else{let z=$[0],J=$[$.length-1],U=Math.min(z.x,J.x),q=Math.max(z.x,J.x),we=Math.min(z.y,J.y),We=Math.max(z.y,J.y),tt=(U+q)/2,ot=(we+We)/2,Ft=q-U||1,st=We-we||1,xe=Ft/st,ze=U,ut=q,at=we,wt=We;switch(C){case"topLeft":ze=b.x,at=b.y;break;case"topRight":ut=b.x,at=b.y;break;case"bottomLeft":ze=b.x,wt=b.y;break;case"bottomRight":ut=b.x,wt=b.y;break}if(E)switch(C){case"topLeft":ut=q+(U-ze),wt=We+(we-at);break;case"topRight":ze=U-(ut-q),wt=We+(we-at);break;case"bottomLeft":ut=q+(U-ze),at=we-(wt-We);break;case"bottomRight":ze=U-(ut-q),at=we-(wt-We);break}if(T){let qe=ut-ze,Ht=wt-at;if(Math.abs(qe/Ht)>xe){let fn=Math.abs(Ht)*xe*Math.sign(qe);C==="topLeft"||C==="bottomLeft"?ze=ut-fn:ut=ze+fn}else{let fn=Math.abs(qe)/xe*Math.sign(Ht);C==="topLeft"||C==="topRight"?at=wt-fn:wt=at+fn}}X=[{x:ze,y:at},{x:ut,y:wt}]}t({type:"RESIZE_ANNOTATION",payload:{id:In.annotationId,points:X,saveUndo:!oe}}),oe||Ao(y(f({},In),{hasMoved:!0}));return}if(Bt&&((M=Bt.annotation.status)!=null?M:"pending")==="pending"){let C=b.x-Bt.startPoint.x,$=b.y-Bt.startPoint.y;if((Math.abs(C)>2||Math.abs($)>2)&&!Bt.hasMoved)Xt(y(f({},Bt),{hasMoved:!0,startPoint:b})),t({type:"MOVE_ANNOTATION",payload:{id:Bt.annotation.id,delta:{x:C,y:$},saveUndo:!0}});else if(Bt.hasMoved){let j=b.x-Bt.startPoint.x,te=b.y-Bt.startPoint.y;Xt(y(f({},Bt),{startPoint:b})),t({type:"MOVE_ANNOTATION",payload:{id:Bt.annotation.id,delta:{x:j,y:te}}})}return}!h||!e.isAnnotating||t({type:"CONTINUE_PATH",payload:b})},[h,e.isAnnotating,e.activeTool,Bt,In,ne,dt,se,W,Le,Ot,vt,Ut,vn,He,t,Ve,Yn]),En=un(m=>{var M,C,$,oe,j,te;if(bn.current.isDragging){let E=bn.current,T=E.element;if(T&&E.selector&&E.elementInfo&&yt){T instanceof HTMLElement&&(T.style.removeProperty("font-size"),T.style.removeProperty("line-height"),T.style.removeProperty("transition"));let X=[];if(E.originalFontSize!==yt.fontSize&&(Xe(T,"font-size",`${yt.fontSize}px`),X.push({property:"font-size",original:`${E.originalFontSize}px`,modified:`${yt.fontSize}px`})),E.originalLineHeight!==yt.lineHeight){let z=E.originalFontSize>0?Math.round(E.originalLineHeight/E.originalFontSize*1e3)/1e3:1.2,J=yt.fontSize>0?Math.round(yt.lineHeight/yt.fontSize*1e3)/1e3:1.2;Xe(T,"line-height",`${J}`),X.push({property:"line-height",original:`${z}`,modified:`${J}`})}X.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:E.selector,durableSelector:(M=E.durableSelector)!=null?M:void 0,element:E.elementInfo,changes:X}})}bn.current={isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null},Ro(null);return}if(jt.current.isDragging){let E=jt.current,T=E.element,X="button"in m&&m.button===2;if(!E.hasMoved&&!X&&T&&E.selector&&E.elementInfo){T instanceof HTMLElement&&T.style.removeProperty("transition");let z=["space-between","space-around","stretch","normal"],J=E.originalJustifyContent||"normal",U=z.indexOf(J),q=z[(U+1)%z.length],we=[];q==="normal"?(Xe(T,"justify-content","normal"),we.push({property:"justify-content",original:E.originalJustifyContent,modified:"normal"})):q==="stretch"?(Xe(T,"justify-content",q),Xe(T,"row-gap","8px"),Xe(T,"column-gap","8px"),we.push({property:"justify-content",original:E.originalJustifyContent||"normal",modified:q}),E.originalRow!==8&&we.push({property:"row-gap",original:`${E.originalRow}px`,modified:"8px"}),E.originalColumn!==8&&we.push({property:"column-gap",original:`${E.originalColumn}px`,modified:"8px"})):(T instanceof HTMLElement&&(T.style.removeProperty("row-gap"),T.style.removeProperty("column-gap")),Xe(T,"justify-content",q),we.push({property:"justify-content",original:E.originalJustifyContent||"normal",modified:q}),E.originalRow>0&&we.push({property:"row-gap",original:`${E.originalRow}px`,modified:"0px"}),E.originalColumn>0&&we.push({property:"column-gap",original:`${E.originalColumn}px`,modified:"0px"})),we.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:E.selector,durableSelector:(C=E.durableSelector)!=null?C:void 0,element:E.elementInfo,changes:we}})}else if(E.hasMoved&&T&&E.selector&&E.elementInfo&&Qe){T instanceof HTMLElement&&(T.style.removeProperty("row-gap"),T.style.removeProperty("column-gap"),T.style.removeProperty("transition"));let z=[];E.isAuto?(T instanceof HTMLElement&&T.style.removeProperty("justify-content"),Xe(T,"justify-content","normal"),Xe(T,"row-gap",`${Qe.row}px`),Xe(T,"column-gap",`${Qe.column}px`),z.push({property:"justify-content",original:E.originalJustifyContent,modified:"normal"}),z.push({property:"row-gap",original:"0px",modified:`${Qe.row}px`}),z.push({property:"column-gap",original:"0px",modified:`${Qe.column}px`})):(E.originalRow!==Qe.row&&(Xe(T,"row-gap",`${Qe.row}px`),z.push({property:"row-gap",original:`${E.originalRow}px`,modified:`${Qe.row}px`})),E.originalColumn!==Qe.column&&(Xe(T,"column-gap",`${Qe.column}px`),z.push({property:"column-gap",original:`${E.originalColumn}px`,modified:`${Qe.column}px`}))),z.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:E.selector,durableSelector:($=E.durableSelector)!=null?$:void 0,element:E.elementInfo,changes:z}})}jt.current={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},xo(null);return}if(Tn.current.isDragging){let E=Tn.current,T=E.element;if(T&&E.selector&&E.elementInfo&&St){T instanceof HTMLElement&&(T.style.removeProperty("border-top-left-radius"),T.style.removeProperty("border-top-right-radius"),T.style.removeProperty("border-bottom-right-radius"),T.style.removeProperty("border-bottom-left-radius"),T.style.removeProperty("transition"));let X=["top-left","top-right","bottom-right","bottom-left"],z={"top-left":"border-top-left-radius","top-right":"border-top-right-radius","bottom-right":"border-bottom-right-radius","bottom-left":"border-bottom-left-radius"},J=[];for(let U of X)E.original[U]!==St.radius[U]&&(Xe(T,z[U],`${St.radius[U]}px`),J.push({property:z[U],original:`${E.original[U]}px`,modified:`${St.radius[U]}px`}));J.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:E.selector,durableSelector:(oe=E.durableSelector)!=null?oe:void 0,element:E.elementInfo,changes:J}})}Tn.current={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},yn(null);return}if(_t.current.isDragging){let E=_t.current,T=E.element,X=E.selector,z=E.elementInfo;if(T&&X&&z&&Me){let J=E.original,U=Me.padding;T instanceof HTMLElement&&(T.style.removeProperty("padding"),T.style.removeProperty("transition"));let q=[],we=[{prop:"padding-top",origVal:J.top,newVal:U.top},{prop:"padding-right",origVal:J.right,newVal:U.right},{prop:"padding-bottom",origVal:J.bottom,newVal:U.bottom},{prop:"padding-left",origVal:J.left,newVal:U.left}];for(let{prop:We,origVal:tt,newVal:ot}of we)tt!==ot&&(Xe(T,We,`${ot}px`),q.push({property:We,original:`${tt}px`,modified:`${ot}px`}));q.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:X,durableSelector:(j=E.durableSelector)!=null?j:void 0,element:z,changes:q}})}_t.current={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},Wt(null);return}if(In){Ao(null);return}if(Bt){if(!Bt.hasMoved&&Bt.annotation.type==="text"&&((te=Bt.annotation.status)!=null?te:"pending")==="pending"){let E=He(m);be({id:Bt.annotation.id,point:Bt.annotation.points[0],text:Bt.annotation.text||"",fontSize:Bt.annotation.fontSize||12,isNew:!1,clickPoint:E,groupId:Bt.annotation.groupId})}Xt(null);return}if(!h)return;let b=5;if(e.currentPath.length>=2){let E=e.currentPath[0],T=e.currentPath[e.currentPath.length-1],X=Math.abs(T.x-E.x),z=Math.abs(T.y-E.y);if((e.activeTool==="line"?Math.sqrt(X*X+z*z)<b:X<b&&z<b)&&["rectangle","circle","line"].includes(e.activeTool)){A(!1),t({type:"CANCEL_PATH"});return}}let G=ws(e.currentPath);if(e.activeTool==="rectangle"&&e.currentPath.length>=2){let E=e.currentPath[0],T=e.currentPath[e.currentPath.length-1],X=Math.min(E.x,T.x),z=Math.max(E.y,T.y),J=e.strokeWidth/2,U=Math.random().toString(36).substring(2,9);me({point:{x:X-J+4,y:z+J+4},groupId:U}),A(!1),t({type:"FINISH_PATH",payload:{groupId:U,elements:G}});return}A(!1),t({type:"FINISH_PATH",payload:{elements:G}})},[h,Bt,In,Me,St,Qe,yt,He,t,e.activeTool,e.currentPath,e.strokeWidth]),Qn=un(m=>{let b=m.target.value;Ie.current=m.target.selectionStart,be(G=>G&&y(f({},G),{text:b}))},[]),Bn=un(m=>{m.key==="Escape"?be(null):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),It())},[It]),er=un(m=>{if(!k)return;let b=m.clipboardData.items,G=[];for(let M=0;M<b.length;M++){let C=b[M];if(C.type.startsWith("image/")){let $=C.getAsFile();$&&G.push($)}}G.length>0&&(m.preventDefault(),be(M=>M?y(f({},M),{images:[...M.images||[],...G]}):null))},[k]),kr=un(m=>{if(!e.isAnnotating)return;if(e.activeTool==="hand"){m.preventDefault();let G=dt||Ot||W||Ut;if(G&&!qn(G)){let M=Nn(G),C=Jn(G);t({type:"SELECT_ELEMENT",payload:{el:G,info:y(f({},M),{selector:C})}})}return}m.preventDefault();let b=Y.current;b&&(B.current=!0,b.style.pointerEvents="none",setTimeout(()=>{B.current&&(B.current=!1,b.style.pointerEvents="")},4e3))},[e.activeTool,e.isAnnotating,dt,Ot,W,Ut,t,qn,Y]);kn(()=>{let m=V.filter(oe=>oe.linkedSelector);if(m.length===0)return;let b=null,G=document.createElement("canvas").getContext("2d"),M=()=>{var j,te,E;let oe=[];for(let T of m){let X=document.querySelector(T.linkedSelector);if(!X&&((te=(j=T.elements)==null?void 0:j[0])!=null&&te.selector)&&T.linkedSelector.startsWith("[data-pm=")){try{X=document.querySelector(T.elements[0].selector)}catch(st){}if(X){let st=(E=T.linkedSelector.match(/data-pm="([^"]+)"/))==null?void 0:E[1];st&&X.setAttribute("data-pm",st)}}if(!X)continue;let z=X.getBoundingClientRect(),J=e.styleModifications.some(st=>{try{return X.matches(st.selector)}catch(xe){return!1}}),U=m.filter(st=>st.id!==T.id&&st.timestamp<T.timestamp&&st.linkedSelector===T.linkedSelector).length,q=(J?1:0)+U,we;if(T.text&&G){let st=T.fontSize||12;G.font=`${st}px ${Zt}`,we=Math.max(...T.text.split(`
5
+ `).map(xe=>G.measureText(xe).width))}let We=z.top>=eo*(1+q)?"top-left":"bottom-left",tt=yc(z,We,q,L==null?void 0:L.current,we),ot=T.points[0],Ft=We!==T.linkedAnchor;ot&&(Ft||Math.abs(tt.x-ot.x)>1||Math.abs(tt.y-ot.y)>1)&&oe.push({id:T.id,point:tt,linkedAnchor:Ft?We:void 0})}oe.length>0&&t({type:"UPDATE_LINKED_POSITIONS",payload:{updates:oe}})},C=()=>{b&&cancelAnimationFrame(b),b=requestAnimationFrame(M)};M(),window.addEventListener("scroll",C,!0),window.addEventListener("resize",C,!0),window.addEventListener("load",C),document.fonts.ready.then(C);let $=new MutationObserver(C);return $.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",C,!0),window.removeEventListener("resize",C,!0),window.removeEventListener("load",C),$.disconnect(),b&&cancelAnimationFrame(b)}},[V,t]);let ui=()=>{var m,b,G;if(!e.isAnnotating)return"default";if(In){let{handle:M}=In;return M==="start"||M==="end"?"move":M==="top"||M==="bottom"?"ns-resize":M==="left"||M==="right"?"ew-resize":M==="topLeft"||M==="bottomRight"?"nwse-resize":"nesw-resize"}if(e.activeTool==="text")return"text";if(e.activeTool==="hand"){let M=(m=Qe==null?void 0:Qe.axis)!=null?m:vt;if(M==="row")return"ns-resize";if(M==="column")return"ew-resize";if(St||Le)return"ns-resize";let C=(b=yt==null?void 0:yt.property)!=null?b:vn;if(C==="font-size")return"ew-resize";if(C==="line-height")return"ns-resize";let $=(G=Me==null?void 0:Me.side)!=null?G:se;return $==="top"||$==="bottom"?"ns-resize":$==="left"||$==="right"?"ew-resize":"default"}return"crosshair"},pi={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:9998,pointerEvents:e.isAnnotating?"auto":"none",visibility:e.isAnnotating?"visible":"hidden",cursor:ui()},P=un(()=>{let m=Y.current;if(!m||!k)return{width:100,height:12*1.4,isWrapped:!1};let b=m.getContext("2d");if(!b)return{width:100,height:k.fontSize*1.4,isWrapped:!1};b.font=`${k.fontSize}px ${Zt}`;let M=b.measureText("Type here...").width,C=k.text.split(`
6
+ `),$=C.length>0?Math.max(M,...C.map(T=>b.measureText(T||" ").width)):M,oe=k.point.x-an.x,j=Or(oe);if($>j){let T=ml(b,C,j),X=Math.min(j,Math.max(M,...T.map(J=>b.measureText(J).width))),z=Math.max(1,T.length)*k.fontSize*1.4;return{width:X,height:z,isWrapped:!0}}let E=Math.max(1,C.length)*k.fontSize*1.4;return{width:$,height:E,isWrapped:!1}},[k,Y,an.x])(),le=k?Math.max(1,k.text.split(`
7
+ `).length)*k.fontSize*1.4+8:0,ue=P.height+8,Ae=P.isWrapped?ue-le:0,Be=k?{position:"fixed",left:k.point.x-4-an.x,top:k.point.y-4-an.y-Ae,zIndex:9999,width:P.width+8,height:ue,padding:4,fontSize:k.fontSize,fontFamily:Zt,color:"#ffffff",backgroundColor:e.activeColor,border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:1.4,resize:"none",overflow:"hidden",whiteSpace:P.isWrapped?"pre-wrap":"pre",wordBreak:P.isWrapped?"break-word":void 0}:{};return Yr(Jr,{children:[ft("canvas",{ref:_,id:"devtools-canvas",style:pi,onMouseDown:Oo,onMouseMove:Bo,onMouseUp:m=>En(m),onMouseLeave:m=>{En(m),Te(null),pt(null)},onTouchStart:Oo,onTouchMove:Bo,onTouchEnd:m=>En(m),onContextMenu:kr}),k&&Yr(Jr,{children:[ft("style",{children:"#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }"}),ft("textarea",{id:"devtools-text-input",ref:Se,value:k.text,onChange:Qn,onKeyDown:Bn,onPaste:er,onBlur:It,placeholder:"Type here...",style:Be}),k.images&&k.images.length>0&&Yr("div",{"data-devtools":!0,style:{position:"fixed",left:k.point.x-4-an.x,top:k.point.y-4-an.y-20,zIndex:1e4,fontSize:11,fontFamily:"system-ui, sans-serif",color:"#fff",backgroundColor:"rgba(0,0,0,0.7)",padding:"2px 6px",borderRadius:3,whiteSpace:"nowrap"},children:[k.images.length," image",k.images.length>1?"s":""," attached"]})]}),e.isAnnotating&&e.activeTool!=="hand"&&e.styleModifications.length>0&&ft(Ul,{styleModifications:e.styleModifications,isInspecting:!!e.inspectedElement,accentColor:e.activeColor,annotationGroupCount:new Set(V.map(m=>m.groupId||m.id)).size,dispatch:t,inFlightSelectors:i,toolbarRef:L,onHoverSelector:Ge}),e.activeTool==="hand"&&e.isAnnotating&&e.styleModifications.length>0&&ft(Xl,{styleModifications:e.styleModifications,accentColor:e.activeColor}),e.isAnnotating&&ft(Hl,{annotations:V,supersededAnnotations:ee,inFlightIds:o,activeIds:r,queuePositions:s,scrollX:an.x,scrollY:an.y,annotationGroupMap:ge,onViewThread:c,onSelectAnnotation:$n,onHoverAnnotation:ye,canvasRef:Y}),e.isAnnotating&&d&&ft(Nl,{annotations:V,supersededAnnotations:ee,scrollX:an.x,scrollY:an.y,onReply:d,annotationGroupMap:ge,canvasRef:Y,onHoverAnnotation:ye}),e.isAnnotating&&l&&l.size>0&&ft(Ls,{inFlightSelectorColors:l}),e.isAnnotating&&ae&&ft(Ls,{inFlightSelectorColors:ae,animated:!1}),e.activeTool==="hand"&&e.isAnnotating&&(Qe?jt.current.element:Ot)&&ft(_s,{element:Qe?jt.current.element:Ot,gap:Qe?{row:Qe.row,column:Qe.column}:ur(Ot),accentColor:e.activeColor,hoveredAxis:vt,draggingAxis:(Ue=Qe==null?void 0:Qe.axis)!=null?Ue:null,cursorViewport:pn,isAutoGap:Ke,refreshKey:Gn}),e.activeTool==="hand"&&e.isAnnotating&&Fn&&ft(gc,{element:Fn.target,modifier:Fn.modifier,accentColor:e.activeColor,refreshKey:Gn}),e.activeTool==="hand"&&e.isAnnotating&&!Fn&&(St?Tn.current.element:W)&&ft(jl,{element:St?Tn.current.element:W,radius:(Rt=St==null?void 0:St.radius)!=null?Rt:pr(W),accentColor:e.activeColor,hoveredCorner:Le,draggingCorner:(Ct=St==null?void 0:St.corner)!=null?Ct:null,cursorViewport:pn}),e.activeTool==="hand"&&e.isAnnotating&&!Fn&&(yt?bn.current.element:Ut)&&ft(mc,{element:yt?bn.current.element:Ut,fontSize:(gt=yt==null?void 0:yt.fontSize)!=null?gt:ti(Ut).fontSize,lineHeight:(zt=yt==null?void 0:yt.lineHeight)!=null?zt:ti(Ut).lineHeight,accentColor:e.activeColor,hoveredProperty:vn,draggingProperty:(xt=yt==null?void 0:yt.property)!=null?xt:null,cursorViewport:pn}),e.activeTool==="hand"&&e.isAnnotating&&!Fn&&(Me?_t.current.element:dt)&&ft(Ws,{element:Me?_t.current.element:dt,padding:(ln=Me==null?void 0:Me.padding)!=null?ln:Nr(dt),accentColor:e.activeColor,hoveredSide:se,draggingSide:(lo=Me==null?void 0:Me.side)!=null?lo:null,cursorViewport:pn,refreshKey:yt?yt.fontSize+yt.lineHeight*1e3:0}),e.activeTool==="inspector"&&e.isAnnotating&&ft(Jr,{children:ne&&!e.inspectedElement&&(()=>{let m=(k==null?void 0:k.linkedSelector)||(R==null?void 0:R.linkedSelector);if(m)try{if(ne.matches(m))return null}catch(G){}let b=!!R||!!(k!=null&&k.linkedSelector)||V.some(G=>{if(!G.linkedSelector)return!1;try{return ne.matches(G.linkedSelector)}catch(M){return!1}});return ft(Co,{element:ne,isSelected:!1,elementInfo:$e,color:e.activeColor,hideTooltip:b})})()}),((k==null?void 0:k.linkedSelector)||(R==null?void 0:R.linkedSelector))&&(()=>{let m=(k==null?void 0:k.linkedSelector)||(R==null?void 0:R.linkedSelector);if(!m)return null;let b=null;try{b=document.querySelector(m)}catch(G){}return b?ft(Co,{element:b,isSelected:!0,color:e.activeColor,hideTooltip:!0}):null})(),H&&(()=>{let m=e.annotations.find(M=>M.id===H);if(!(m!=null&&m.linkedSelector))return null;let b=null;try{b=document.querySelector(m.linkedSelector)}catch(M){}if(!b)return null;let G=!!(o&&o.has(m.id));return ft(Co,{element:b,isSelected:!G,color:m.color,hideTooltip:!0})})(),Je&&(()=>{let m=e.annotations.find(C=>C.id===Je);if(!(m!=null&&m.linkedSelector))return null;let b=null;try{b=document.querySelector(m.linkedSelector)}catch(C){}if(!b)return null;let G=m.groupId?e.annotations.filter(C=>C.groupId===m.groupId):[m],M=!!(o&&G.some(C=>o.has(C.id)));return ft(Co,{element:b,isSelected:!M,color:m.color,hideTooltip:!0})})(),ct&&(()=>{let m=null;try{m=document.querySelector(ct)}catch(G){}if(!m)return null;let b=!!(i&&i.has(ct));return ft(Co,{element:m,isSelected:!b,color:e.activeColor,hideTooltip:!0})})(),e.activeTool==="model"&&e.isAnnotating&&rt.size>0&&[...rt.entries()].map(([m,b])=>ft(Co,{element:b.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:b.rootElement.tagName.toLowerCase(),reactComponent:m},color:"#8b5cf6"},m)),e.activeTool==="model"&&e.isAnnotating&&so&&ft(Co,{element:so.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:so.rootElement.tagName.toLowerCase(),reactComponent:so.name},color:"#22c55e"}),e.activeTool==="model"&&e.isAnnotating&&ao.length>0&&ao.map((m,b)=>ft("div",{style:{position:"absolute",left:m.x,top:m.y,width:m.width,height:m.height,backgroundColor:"rgba(255, 0, 0, 0.08)",pointerEvents:"none",zIndex:9998},children:m.direction==="vertical"?Yr(Jr,{children:[ft("div",{style:{position:"absolute",left:"50%",top:0,width:6,height:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),ft("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),ft("div",{style:{position:"absolute",left:"50%",bottom:0,width:6,height:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),ft("div",{style:{position:"absolute",left:"calc(50% + 6px)",top:m.height<16?-6:"50%",transform:m.height<16?"none":"translateY(-50%)",fontSize:11,fontWeight:600,color:"#fff",backgroundColor:"#FF0000",padding:"2px 4px",whiteSpace:"nowrap",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1},children:Math.round(m.height)})]}):Yr(Jr,{children:[ft("div",{style:{position:"absolute",left:0,top:"50%",width:1,height:6,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),ft("div",{style:{position:"absolute",left:0,right:0,top:"50%",height:1,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),ft("div",{style:{position:"absolute",right:0,top:"50%",width:1,height:6,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),ft("div",{style:{position:"absolute",left:m.width<30?0:"50%",top:(m.width<30,void 0),bottom:"calc(50% + 4px)",transform:m.width<30?"none":"translateX(-50%)",fontSize:11,fontWeight:600,color:"#fff",backgroundColor:"#FF0000",padding:"2px 4px",whiteSpace:"nowrap",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1},children:Math.round(m.width)})]})},b)),e.activeTool==="model"&&e.isAnnotating&&he&&ft(Co,{element:he.rootElement,isSelected:!1,elementInfo:{selector:"",tagName:he.rootElement.tagName.toLowerCase(),reactComponent:he.name},color:x!=null&&x.has(he.name)?"#22c55e":"#8b5cf6"}),e.activeTool==="hand"&&e.isAnnotating&&e.inspectedElement&&Yr(Jr,{children:[Re&&Re!=="padding"&&Re!=="gap"&&(()=>{var j;let m=new Set(V.map(te=>te.groupId||te.id)).size,b=e.inspectedElement.info.selector,G=e.styleModifications.findIndex(te=>te.selector===b),M=G>=0?m+G+1:m+e.styleModifications.length+1,C=e.styleModifications.find(te=>te.selector===b),$=(j=C==null?void 0:C.changes.length)!=null?j:0,oe=!!(C!=null&&C.captured);return ft(Co,{element:e.inspectedElement.el,isSelected:!0,elementInfo:e.inspectedElement.info,color:oe?"#999999":e.activeColor,annotationNumber:M,changeCount:$})})(),Re==="padding"&&ft(Ws,{element:e.inspectedElement.el,padding:Nr(e.inspectedElement.el),accentColor:e.activeColor,hoveredSide:null,draggingSide:null}),Re==="gap"&&ft(_s,{element:e.inspectedElement.el,gap:ur(e.inspectedElement.el),accentColor:e.activeColor,hoveredAxis:null,draggingAxis:null}),ft(pc,{element:e.inspectedElement.el,elementInfo:e.inspectedElement.info,selector:e.inspectedElement.info.selector,styleModifications:e.styleModifications,dispatch:t,onClose:()=>t({type:"SELECT_ELEMENT",payload:null}),onHover:it,accentColor:e.activeColor,toolbarRef:L})]})]})}import{useCallback as Xn,useEffect as mn,useMemo as xr,useRef as Nt,useState as Sr}from"react";import{Check as bg,Circle as vg,Component as xg,Fingerprint as Sg,Hand as wg,MessageCircle as Cg,Pen as Eg,RefreshCw as kg,Slash as Tg,Square as Mg,Trash2 as Ig,Type as Rg}from"lucide-react";import{useEffect as vc,useRef as xc}from"react";function Sc(e,t,n,o,r){let s=xc(0),i=xc(t.annotations);vc(()=>{if(!n.current||!e)return;i.current=t.annotations;let l=t.annotations.length;l>0&&(l>=s.current||!o)&&(localStorage.setItem(r.annotations,JSON.stringify(t.annotations)),s.current=l)},[t.annotations,e,o,n,r]),vc(()=>{n.current&&(localStorage.setItem(r.expanded,String(e)),e&&(localStorage.setItem(r.styleMods,JSON.stringify(t.styleModifications)),localStorage.setItem(r.spacingChanges,JSON.stringify(t.spacingTokenChanges)),localStorage.setItem(r.tool,t.activeTool),localStorage.setItem(r.color,t.activeColor),localStorage.setItem(r.stroke,String(t.strokeWidth)),t.inspectedElement?localStorage.setItem(r.inspected,JSON.stringify({selector:t.inspectedElement.info.selector,info:t.inspectedElement.info})):localStorage.removeItem(r.inspected)))},[e,t.styleModifications,t.spacingTokenChanges,t.activeTool,t.activeColor,t.strokeWidth,t.inspectedElement,n,r])}import{useCallback as Ln,useEffect as yr,useMemo as oa,useRef as si,useState as ko}from"react";import{Fragment as vf,jsx as Lt,jsxs as ho}from"react/jsx-runtime";var Zp=y(f({width:340,backgroundColor:"#eaeaea"},Ko),{boxSizing:"content-box",zIndex:10001,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12,pointerEvents:"auto"}),Qp=(e,t)=>({width:"100%",border:"1px solid rgba(0,0,0,0.12)",background:t?"rgba(0,0,0,0.04)":"rgba(0,0,0,0.02)",cursor:e?"default":"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"5px 8px",color:e?"#9ca3af":"#6b7280"}),ef=e=>({border:0,background:"transparent",color:e?"#111827":"#6b7280",cursor:"pointer",fontFamily:"inherit",fontSize:10,fontWeight:700,padding:0,textTransform:"uppercase"}),ra={border:"1px solid rgba(0,0,0,0.12)",background:"rgba(0,0,0,0.02)",cursor:"pointer",fontFamily:"inherit",fontSize:10,fontWeight:650,color:"#6b7280",padding:"6px 8px",flex:1},Ui=y(f({},ra),{borderColor:"#111827",background:"#111827",color:"#ffffff"}),tf=y(f({},Ui),{cursor:"default",opacity:.55}),ia={display:"block",width:"100%",border:0,background:"transparent",boxSizing:"border-box",color:"inherit",cursor:"text",font:"inherit",lineHeight:1.25,margin:0,padding:0,textAlign:"left"},nf=y(f({},ia),{appearance:"none",resize:"none",overflow:"hidden",outline:"none"}),kc=y(f({},ia),{fontWeight:700,fontSize:11,lineHeight:1.35}),of=y(f({},kc),{appearance:"none",resize:"none",overflow:"hidden",outline:"none"}),wc={display:"grid",gridTemplateColumns:"12px minmax(0, 1fr)",columnGap:4,alignItems:"start",marginBottom:5},rf={pass:"#2f855a",fail:"#c53030",needs_review:"#6b7280"},sf={pass:"\u2611",fail:"\u2612",needs_review:"\u25A1"},af=e=>e?e.charAt(0).toUpperCase()+e.slice(1):"Eval",lf=[{id:"pending",label:"Pending"},{id:"approved",label:"Approved"},{id:"rejected",label:"Rejected"}],Cc="popmelt-eval-active-status",cf=e=>e==="pending"||e==="approved"||e==="rejected";function Tc({bridgeUrl:e,refreshKey:t,onMouseEnter:n,onMouseLeave:o,onSynthesize:r,isSynthesizing:s,onRunEval:i,onViewRunThread:l,runningEvalIds:a=[],snapPosition:d="bottom-right"}){let c=si(null),u=s||!r,[p,g]=ko({version:1,updatedAt:0,cases:[]}),[v,x]=ko(!0),[w,I]=ko(()=>{if(typeof window=="undefined")return"pending";try{let _=window.localStorage.getItem(Cc);return cf(_)?_:"pending"}catch(_){return"pending"}});yr(()=>{let _=c.current;if(!_)return;let B=n,h=o;return B&&_.addEventListener("mouseenter",B),h&&_.addEventListener("mouseleave",h),()=>{B&&_.removeEventListener("mouseenter",B),h&&_.removeEventListener("mouseleave",h)}},[n,o]);let N=Ln(()=>{e&&(x(!0),Da(e).then(_=>{g(_),x(!1)}).catch(()=>x(!1)))},[e]);yr(()=>{N()},[N,t]),yr(()=>{try{window.localStorage.setItem(Cc,w)}catch(_){}},[w]);let H=Ln((_,B)=>{e&&(g(h=>y(f({},h),{cases:h.cases.map(A=>A.id===_?y(f({},A),{status:B}):A)})),_a(_,B,e).then(h=>{h||N()}).catch(N))},[e,N]),O=Ln((_,B)=>{if(!e)return;let h=B.map(A=>A.trim()).filter(Boolean);h.length!==0&&(g(A=>y(f({},A),{cases:A.cases.map(k=>k.id===_?y(f({},k),{assertions:h}):k)})),mi(_,{assertions:h},e).then(A=>{A||N()}).catch(N))},[e,N]),L=Ln((_,B)=>{if(!e)return;let h=B.trim();h&&(g(A=>y(f({},A),{cases:A.cases.map(k=>k.id===_?y(f({},k),{title:h}):k)})),mi(_,{title:h},e).then(A=>{A||N()}).catch(N))},[e,N]),Y=oa(()=>{let _=p.cases.filter(A=>A.status==="pending"),B=p.cases.filter(A=>A.status==="approved"),h=p.cases.filter(A=>A.status==="rejected");return{pending:_,approved:B,rejected:h}},[p.cases]),re=Y[w],Z=oa(()=>{var h;let _=new Map,B=[...(h=p.runs)!=null?h:[]].sort((A,k)=>k.completedAt-A.completedAt);for(let A of B)_.has(A.evalId)||_.set(A.evalId,A);return _},[p.runs]);return ho("div",{ref:c,style:f(f({},Zp),Ei(d)),children:[ho("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[Lt("span",{children:"Evals"}),Lt("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:"E"})]}),Lt("button",{type:"button",disabled:u,onClick:r,style:Qp(u,s),children:s?"Synthesizing...":"Synthesize"}),Lt("div",{style:{display:"flex",gap:12,marginTop:8},children:lf.map(_=>Lt(ff,{active:w===_.id,label:`${_.label} ${Y[_.id].length}`,onClick:()=>I(_.id)},_.id))}),Lt("div",{style:{marginTop:10,flex:1,minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:10},children:v?Lt("div",{style:{color:"#9ca3af",fontSize:11},children:"Loading..."}):p.cases.length===0?Lt("div",{style:{color:"#9ca3af",fontSize:11,lineHeight:1.5},children:"No inferred evals yet."}):re.length===0?ho("div",{style:{color:"#9ca3af",fontSize:11,lineHeight:1.5},children:["No ",w," evals."]}):Lt(df,{cases:re,latestRunsByEvalId:Z,runningEvalIds:a,onStatus:H,onRun:i,onViewRunThread:l,onTitleChange:L,onAssertionsChange:O})})]})}function df({cases:e,latestRunsByEvalId:t,runningEvalIds:n,onStatus:o,onRun:r,onViewRunThread:s,onTitleChange:i,onAssertionsChange:l}){return Lt("div",{style:{display:"flex",flexDirection:"column",gap:6},children:e.map(a=>{let d=new Set([...a.sourceDecisionIds,...a.sourceThreadIds]).size,c=d>0?`, ${d} ${d===1?"mention":"mentions"}`:"",u=t.get(a.id),p=n.includes(a.id);return ho("div",{style:{border:"1px solid rgba(0,0,0,0.08)",background:"rgba(255,255,255,0.35)",padding:8},children:[ho("div",{children:[Lt(gf,{value:a.title,onCommit:g=>i(a.id,g)}),ho("div",{style:{color:"#9ca3af",fontSize:10,marginTop:2},children:[af(a.category),c]})]}),Lt("div",{style:{marginTop:6,color:"#374151",fontSize:11,lineHeight:1.25},children:Lt(bf,{assertions:a.assertions,latestRun:u,onChange:g=>l(a.id,g)})}),Lt(pf,{item:a,latestRun:u,isRunning:p,onStatus:o,onRun:r,onViewRunThread:s})]},a.id)})})}function uf(e){let t=e.assertionResults.length;if(t===0)return e.status==="pass"?"Pass":"Review";let n=e.assertionResults.reduce((r,s)=>(r[s.status]+=1,r),{pass:0,fail:0,needs_review:0}),o=n.fail+n.needs_review;return o===0?`${n.pass||t} Pass`:`Review ${o||t}`}function pf({item:e,latestRun:t,isRunning:n,onStatus:o,onRun:r,onViewRunThread:s}){if(e.status==="pending")return ho("div",{style:{display:"flex",gap:6,marginTop:8},children:[Lt("button",{type:"button",style:ra,onClick:()=>o(e.id,"rejected"),children:"Reject"}),Lt("button",{type:"button",style:Ui,onClick:()=>o(e.id,"approved"),children:"Accept"})]});if(e.status==="approved"){let i=n||!r;return ho("div",{style:{display:"flex",gap:6,marginTop:8},children:[(t==null?void 0:t.threadId)&&s&&Lt("button",{type:"button",style:ra,onClick:()=>s(t.threadId),children:uf(t)}),Lt("button",{type:"button",disabled:i,style:i?tf:Ui,onClick:()=>r==null?void 0:r(e),children:n?"Running...":"Run"})]})}return Lt("div",{style:{display:"flex",gap:6,marginTop:8},children:Lt("button",{type:"button",style:Ui,onClick:()=>o(e.id,"approved"),children:"Approve"})})}function ff({active:e,label:t,onClick:n}){let[o,r]=ko(!1);return Lt("button",{type:"button",style:ef(e||o),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),onClick:n,children:t})}function gf({value:e,onCommit:t}){let[n,o]=ko(!1),[r,s]=ko(e),i=si(null);yr(()=>{n||s(e)},[n,e]),yr(()=>{if(!n)return;let c=i.current;c&&(c.focus(),c.select(),c.style.height="auto",c.style.height=`${c.scrollHeight}px`)},[n]);let l=Ln(()=>{let c=r.trim();o(!1),c&&c!==e?t(c):s(e)},[r,t,e]),a=Ln(()=>{s(e),o(!1)},[e]),d=Ln(c=>{c.key==="Enter"?(c.preventDefault(),l()):c.key==="Escape"&&(c.preventDefault(),a())},[a,l]);return n?Lt("textarea",{ref:i,rows:1,value:r,onChange:c=>{s(c.target.value),c.currentTarget.style.height="auto",c.currentTarget.style.height=`${c.currentTarget.scrollHeight}px`},onBlur:l,onKeyDown:d,style:of}):Lt("button",{type:"button",onClick:()=>o(!0),style:kc,children:e})}function mf(e){return e.map(t=>t.trim()).filter(Boolean)}function hf(e,t){return e.length===t.length&&e.every((n,o)=>n===t[o])}function Ec(e){e.style.height="auto",e.style.height=`${e.scrollHeight}px`}function yf(e){var d;let t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight)||Number.parseFloat(t.fontSize)*1.2||16,o=document.createElement("div"),r=document.createElement("span"),s=document.createElement("span");o.style.position="fixed",o.style.visibility="hidden",o.style.pointerEvents="none",o.style.left="-9999px",o.style.top="0",o.style.width=`${e.clientWidth}px`,o.style.boxSizing=t.boxSizing,o.style.font=t.font,o.style.letterSpacing=t.letterSpacing,o.style.lineHeight=t.lineHeight,o.style.padding=t.padding,o.style.border=t.border,o.style.whiteSpace="pre-wrap",o.style.overflowWrap="break-word",o.style.wordBreak=t.wordBreak;let i=(d=e.selectionStart)!=null?d:0;o.textContent=e.value.slice(0,i),r.textContent="\u200B",o.appendChild(r),o.appendChild(document.createTextNode(e.value.slice(i)||"\u200B")),s.textContent="\u200B",o.appendChild(s),document.body.appendChild(o);let l=Math.max(0,Math.round(r.offsetTop/n)),a=Math.max(0,Math.round(s.offsetTop/n));return o.remove(),{lineIndex:l,lastLineIndex:a}}function bf({assertions:e,latestRun:t,onChange:n}){let[o,r]=ko(null),[s,i]=ko(e),[l,a]=ko(null),[d,c]=ko(0),u=si([]),p=si(null),g=si(!1),v=o!==null,x=v?s.length+1:s.length,w=oa(()=>{var h;let B=new Map;for(let A of(h=t==null?void 0:t.assertionResults)!=null?h:[])B.set(A.assertion.trim(),A);return B},[t]);yr(()=>{v||i(e)},[e,v]),yr(()=>{if(l===null)return;let B=requestAnimationFrame(()=>{let h=u.current[l];if(h){if(h.focus(),p.current==="select"&&h.value)h.select();else if(p.current==="start")h.setSelectionRange(0,0);else if(p.current==="end"){let A=h.value.length;h.setSelectionRange(A,A)}p.current=null,Ec(h)}});return()=>cancelAnimationFrame(B)},[l,d,x]);let I=Ln((B,h=null)=>{p.current=h,r(B),a(B),c(A=>A+1)},[]),N=Ln(B=>{let h=mf(B);return h.length===0?(i(e),e):(i(h),hf(h,e)||n(h),h)},[e,n]),H=Ln(B=>{I(B,"select")},[I]),O=Ln((B,h)=>{i(A=>{let k=[...A];if(B>=k.length){if(h.length===0)return k;k.push(h)}else k[B]=h;return k})},[]),L=Ln((B,h)=>{var F,me;let A=[...s],be=(B<A.length&&(F=A[B])!=null?F:"").trim();if(B>=A.length){let R=h!=null&&h.focusPlaceholder?A.length:h==null?void 0:h.focusIndex;R!==void 0?I(R,h==null?void 0:h.focusMode):(r(null),a(null));return}if(!be){if(h!=null&&h.deleteEmpty){A.splice(B,1);let R=N(A),ie=h.focusPlaceholder?R.length:h.focusIndex;if(ie!==void 0){let Se=Math.min(ie,R.length);I(Se)}else r(null),a(null)}else A[B]=(me=e[B])!=null?me:"",i(A),(h==null?void 0:h.focusIndex)!==void 0?I(h.focusIndex,h.focusMode):(r(null),a(null));return}A[B]=be;let K=N(A),de=h!=null&&h.focusPlaceholder?K.length:h==null?void 0:h.focusIndex;if(de!==void 0){let R=Math.min(de,K.length);I(R,h==null?void 0:h.focusMode)}else r(null),a(null)},[e,s,N,I]),Y=Ln(()=>{i(e),r(null),a(null)},[e]),re=Ln((B,h)=>{let A=h.currentTarget.value,k=h.currentTarget.selectionStart,be=h.currentTarget.selectionEnd,K=k===be;if((h.key==="ArrowUp"||h.key==="ArrowDown")&&K){let{lineIndex:de,lastLineIndex:F}=yf(h.currentTarget);if(h.key==="ArrowUp"&&de===0&&B>0){h.preventDefault(),g.current=!0,L(B,{focusIndex:B-1,focusMode:"end",deleteEmpty:!1});return}if(h.key==="ArrowDown"&&de===F&&B<x-1){h.preventDefault(),g.current=!0,L(B,{focusIndex:B+1,focusMode:"start",deleteEmpty:!1});return}}if(h.key==="Backspace"&&A.length===0){h.preventDefault(),g.current=!0;let de=[...s],F=B-1;if(B<de.length){de.splice(B,1);let me=N(de);if(F>=0){let R=Math.min(F,me.length-1);I(R,"end")}else r(null),a(null)}else F>=0&&I(F,"end");return}h.key==="Enter"?(h.preventDefault(),L(B,{focusPlaceholder:h.metaKey||h.ctrlKey,deleteEmpty:!0})):h.key==="Escape"&&(h.preventDefault(),Y())},[Y,L,s,N,I,x]),Z=Ln((B,h)=>{if(g.current){g.current=!1;return}let A=u.current.findIndex(k=>k===h.relatedTarget);L(B,{deleteEmpty:!1,focusIndex:A>=0?A:void 0})},[L]),_=Ln((B,h)=>{h.preventDefault(),o!==null?(g.current=!0,L(o,{focusIndex:B,focusMode:"select",deleteEmpty:!1})):I(B,"select")},[L,o,I]);return ho(vf,{children:[Lt("style",{children:`
8
+ .popmelt-eval-assertion-input::placeholder {
9
+ color: #aaa;
10
+ opacity: 1;
11
+ }
12
+ `}),Array.from({length:x},(B,h)=>{var Se;let A=(Se=s[h])!=null?Se:"",k=v&&h>=s.length,be=o===h||k,K=k?void 0:w.get(A.trim()),de=K==null?void 0:K.status,F=de?rf[de]:"#374151",me=de?sf[de]:"\u25A1",R=de?{color:F}:{},ie=de?{color:F}:{};return be?ho("div",{style:wc,children:[Lt("span",{style:R,children:me}),Lt("textarea",{className:"popmelt-eval-assertion-input",ref:Pe=>{u.current[h]=Pe},rows:1,value:A,placeholder:k?"cmd+enter to add new assertion":void 0,onFocus:()=>r(h),onChange:Pe=>{O(h,Pe.target.value),Ec(Pe.currentTarget)},onBlur:Pe=>Z(h,Pe),onKeyDown:Pe=>re(h,Pe),style:f(f({},nf),ie)})]},`assertion-${h}`):ho("div",{style:wc,children:[Lt("span",{style:R,children:me}),Lt("button",{type:"button",onMouseDown:Pe=>_(h,Pe),onClick:()=>H(h),style:f(f({},ia),ie),children:A})]},`assertion-${h}`)})]})}import{Component as Hf,createElement as Nf,useCallback as Qi,useEffect as qo,useRef as br,useState as Kn}from"react";import{Link2 as zf}from"lucide-react";var xf={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},Sf=/^#[0-9a-fA-F]{3,8}$/,wf=/^(?:rgba?|hsla?|oklch|oklab|lch|lab)\(/,Cf=new Set(["transparent","currentcolor","inherit","white","black","red","green","blue","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]);function Ic(e){let t=e.trim().toLowerCase();return Sf.test(t)||wf.test(t)||Cf.has(t)}var Ef=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function sa(e){return Ef.test(e.trim())}var Mc=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function kf(e){let t=e.trim().toLowerCase();return!!(Mc.has(t)||t.includes(",")&&t.split(",").some(n=>Mc.has(n.trim().replace(/['"]/g,""))))}function Tf(e){let t=e.trim().toLowerCase(),n=t.match(/\d+(\.\d+)?px/g);return!!(n&&n.length>=2&&(Ic(t.replace(/[^#()\w,.\s/%]/g,"").split(/\s+/).pop()||"")||t.includes("rgb")||t.includes("hsl")||t.includes("#")))}var Mf=/(?:^--(color|bg|fg|accent|border-color|text-color|surface|background|foreground))|(?:-(color|bg|fg)$)/i,If=/^--(font-family|font|ff|family)/i,Rf=/^--(font-size|text-size|fs|text-(?:xs|sm|base|md|lg|xl|2xl|3xl|4xl|5xl))/i,Lf=/^--(space|gap|padding|margin|inset)/i,Af=/^--(radius|rounded|br|border-radius)/i,Pf=/^--(shadow|elevation|drop-shadow)/i;function Rc(e,t){let n=e.toLowerCase();return Pf.test(n)?"shadows":Af.test(n)?"radii":If.test(n)?"fonts":Rf.test(n)&&sa(t)?"typeScale":Mf.test(n)||Ic(t)?"colors":kf(t)?"fonts":Tf(t)?"shadows":Lf.test(n)&&sa(t)||sa(t)?"spacing":"other"}function Lc(e,t,n,o){if(e)for(let r of e){if(r instanceof CSSGroupingRule){Lc(r.cssRules,t,n,o);continue}if(r instanceof CSSStyleRule){let s=r.selectorText.toLowerCase();(s===":root"||s==="html"||s==="*"||s.includes(":root"))&&Of(r.style,t,n,o)}}}var Ac=/var\((--[^,)]+)/;function Of(e,t,n,o){for(let r=0;r<e.length;r++){let s=e[r];if(!(s!=null&&s.startsWith("--"))||n.has(s))continue;n.add(s);let i=t.getPropertyValue(s).trim();if(!i)continue;let l=Rc(s,i);o[l].push([s,i]);let d=e.getPropertyValue(s).trim().match(Ac);d&&(o.references[s]=d[1])}}function Ki(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)/);return t?parseFloat(t[1]):null}function qi(e){let t=e.trim().toLowerCase(),n=t.match(/oklch\(\s*([\d.]+%?)/);if(n){let s=n[1];return s.endsWith("%")?parseFloat(s)/100:parseFloat(s)}let o=t.match(/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);if(o){let[s,i,l]=[parseInt(o[1],10),parseInt(o[2],10),parseInt(o[3],10)];return(.2126*s+.7152*i+.0722*l)/255}let r=t.match(/hsla?\(\s*[\d.]+[,\s]+[\d.]+%?[,\s]+([\d.]+)%?/);if(r)return parseFloat(r[1])/100;if(t.startsWith("#")){let s=t.slice(1);(s.length===3||s.length===4)&&(s=s[0]+s[0]+s[1]+s[1]+s[2]+s[2]);let i=parseInt(s.slice(0,2),16),l=parseInt(s.slice(2,4),16),a=parseInt(s.slice(4,6),16);if(!isNaN(i))return(.2126*i+.7152*l+.0722*a)/255}return null}function Pc(e){return e==="colors"?(t,n)=>{let o=qi(t[1]),r=qi(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:e==="typeScale"||e==="spacing"||e==="radii"?(t,n)=>{let o=Ki(t[1]),r=Ki(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:e==="other"?(t,n)=>{let o=Ki(t[1]),r=Ki(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:(t,n)=>t[0].localeCompare(n[0])}function Bf(e){let t=e.replace(/^--/,"");t=t.replace(/^(?:color|clr)-/,"");let n=t.split("-");return n.length>1&&/^\d+$/.test(n[n.length-1])&&n.pop(),n.join("-")}function Oc(e){let t=new Map;for(let r of e){let s=Bf(r[0]),i=t.get(s);i||(i=[],t.set(s,i)),i.push(r)}let n=Pc("colors");for(let r of t.values())r.sort(n);let o=[...t.entries()];return o.sort((r,s)=>{var a,d;let i=(a=qi(r[1][0][1]))!=null?a:0,l=(d=qi(s[1][0][1]))!=null?d:0;return i-l}),o}var Df=["colors","fonts","typeScale","spacing","radii","shadows","other"],Xi=null,_f=5e3;function Bc(){if(typeof document=="undefined")return xf;if(Xi&&Date.now()-Xi.timestamp<_f)return Xi.tokens;let e={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},t=new Set,n=getComputedStyle(document.documentElement);try{for(let r of document.styleSheets)try{Lc(r.cssRules||r.rules,n,t,e)}catch(s){}}catch(r){}let o=document.documentElement.style;for(let r=0;r<o.length;r++){let s=o[r];if(!(s!=null&&s.startsWith("--"))||t.has(s))continue;t.add(s);let i=n.getPropertyValue(s).trim();if(!i)continue;let l=Rc(s,i);e[l].push([s,i]);let d=o.getPropertyValue(s).trim().match(Ac);d&&(e.references[s]=d[1])}for(let r of Df)e[r].sort(Pc(r));return Xi={tokens:e,timestamp:Date.now()},e}import{Fragment as vr,jsx as je,jsxs as nn}from"react/jsx-runtime";var Dc="popmelt-library-tab",Ff=/^#[0-9a-fA-F]{3,8}$/,$f=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,Wf=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]),jf=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function Hc(e){let t=e.trim();return Ff.test(t)||$f.test(t)||Wf.has(t.toLowerCase())}function Gf(e){return jf.test(e.trim())}function Yf(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)px$/);return t?parseFloat(t[1]):null}function Nc(e,t=""){if(e==null)return[];if(typeof e!="object")return[[t,String(e)]];if(Array.isArray(e))return[[t,e.map(String).join(", ")]];let n=[];for(let[o,r]of Object.entries(e)){let s=t?`${t}.${o}`:o;if(r!==null&&typeof r=="object"&&!Array.isArray(r)){let i=r;typeof i.value=="string"?n.push([s,i.value]):n.push(...Nc(r,s))}else n.push([s,Array.isArray(r)?r.map(String).join(", "):String(r!=null?r:"")])}return n}function Jf(e){return e.length===0?"generic":e.filter(([,o])=>Hc(o)).length>e.length/2?"colors":e.filter(([,o])=>Gf(o)).length>e.length/2?"spacing":"generic"}var Vf=y(f({width:300,backgroundColor:"#eaeaea"},Ko),{boxSizing:"content-box",zIndex:10001,display:"flex",flexDirection:"column",overflow:"hidden",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12,pointerEvents:"auto"}),zc={border:"none",background:"none",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"2px 0",color:"#9ca3af"},Uf=y(f({},zc),{color:"#1f2937",borderBottom:"1.5px solid #1f2937"});function Kf({varName:e,value:t,reference:n}){return je("div",{title:n?`${e} \u2192 ${n}
13
+ ${t}`:`${e}: ${t}`,style:{width:28,height:28,backgroundColor:t,outline:"1px solid rgba(0,0,0,0.08)",outlineOffset:-1,position:"relative"},children:n&&je(zf,{size:10,strokeWidth:2.5,style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",color:"white",filter:"drop-shadow(0 0 1px rgba(0,0,0,0.5))"}})})}function Fc({entries:e,references:t}){let n=[],o=[];for(let s of e)Hc(s[1])?n.push(s):o.push(s);let r=Oc(n);return nn(vr,{children:[r.map(([s,i])=>nn("div",{style:{marginBottom:4},children:[nn("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:2},children:[s,i.length>1?` (${i.length})`:""]}),je("div",{style:{display:"flex",flexWrap:"wrap",gap:2},children:i.map(([l,a])=>je(Kf,{varName:l,value:a,reference:t[l]},l))})]},s)),o.length>0&&je(es,{entries:o})]})}var Zi=[0,1,2,4,8,12,16,20,24,28,32];function Xf(e){if(e<=32){let t=Zi[0],n=Math.abs(e-t);for(let o=1;o<Zi.length;o++){let r=Math.abs(e-Zi[o]);r<n&&(t=Zi[o],n=r)}return t}return Math.round(e/8)*8}function qf({label:e,value:t,px:n,tokenPath:o,rawToken:r,onHover:s,onModify:i,onDelete:l}){let[a,d]=Kn(!1),[c,u]=Kn(null),p=br(!1),g=br(0),v=br(0),x=br([]),w=c!==null?c:n,I=c!==null?`${c}px`:t,N=c!==null,H=Qi(L=>{L.preventDefault(),p.current=!0,g.current=L.clientX,v.current=n;let Y=Ri(r);x.current=Es(Y);let re=_=>{let B=_.clientX-g.current,h=Math.max(0,Math.round(v.current+B));_.shiftKey&&(h=Xf(h));for(let A of x.current)A.element.style.setProperty(A.property,h+"px","important");u(h),s==null||s({name:e,px:h,token:Y})},Z=()=>{window.removeEventListener("mousemove",re),window.removeEventListener("mouseup",Z),document.body.style.cursor="",p.current=!1,u(_=>{if(_!==null&&_!==n&&i){let B=Ri(r),h=B.bindings&&B.bindings.length>0,A;if(h){let de=Ts(B.bindings,v.current,_);A=JSON.stringify(y(f({},B),{value:`${_}px`,bindings:de}))}else{let de=Ml(x.current,v.current),F=Il(x.current);if(de.length>0){let me=Ts(de,v.current,_);A=JSON.stringify({value:`${_}px`,property:F,bindings:me})}else A=`${_}px`}let k=typeof r=="string"?r:JSON.stringify(r),be=x.current.map(de=>({selector:Jn(de.element),property:de.property})),K=Ll(x.current,v.current,_);i({tokenPath:o,originalValue:k,currentValue:A,targets:be,originalPx:v.current,currentPx:_},{id:Math.random().toString(36).substring(2,9),tokenPath:o,tokenName:e,originalPx:v.current,newPx:_,affectedElements:K})}return _})};document.body.style.cursor="ew-resize",window.addEventListener("mousemove",re),window.addEventListener("mouseup",Z)},[n,e,o,r,s,i]),O=Ri(r);return nn("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:11,padding:"1px 0",cursor:"ew-resize",userSelect:"none"},onMouseEnter:()=>{p.current||(d(!0),s==null||s({name:e,px:w,token:O}))},onMouseLeave:()=>{p.current||(d(!1),s==null||s(null))},onMouseDown:H,children:[je("span",{style:{color:a||N?"#FF0000":"#9ca3af"},children:e}),nn("span",{style:{display:"flex",alignItems:"center",gap:4},children:[je("span",{style:{color:a||N?"#FF0000":"#6b7280",fontWeight:600},children:I}),l&&a&&!N&&je("button",{type:"button",title:"Remove token",onMouseDown:L=>{L.stopPropagation();let Y=typeof r=="string"?r:JSON.stringify(r);l(o,Y)},style:{border:"none",background:"none",cursor:"pointer",padding:0,fontSize:10,lineHeight:1,color:"#9ca3af"},onMouseEnter:L=>{L.currentTarget.style.color="#FF0000"},onMouseLeave:L=>{L.currentTarget.style.color="#9ca3af"},children:"\u2715"})]})]})}function Zf({entries:e,categoryKey:t,rawTokens:n,onHover:o,onModify:r,onDelete:s}){let i=[],l=[];for(let a of e){let d=Yf(a[1]);d!==null?i.push([a[0],a[1],d]):l.push(a)}return nn(vr,{children:[i.length>0&&je("div",{style:{display:"flex",flexDirection:"column",gap:2},children:i.map(([a,d,c])=>{let u=a.split(".").pop(),p=n?Qf(n,a):d,g=p&&typeof p=="object"&&"value"in p?p:d;return je(qf,{label:u,value:d,px:c,tokenPath:`tokens.${t}.${a}`,rawToken:g,onHover:o,onModify:r,onDelete:s},a)})}),l.length>0&&je(es,{entries:l})]})}function Qf(e,t){let n=t.split("."),o=e;for(let r of n){if(o==null||typeof o!="object")return;o=o[r]}return o}function es({entries:e}){return je("div",{style:{display:"flex",flexDirection:"column",gap:3},children:e.map(([t,n])=>nn("div",{style:{fontSize:11},children:[je("div",{style:{color:"#9ca3af",fontSize:10,marginBottom:1},children:t}),je("div",{style:{color:"#1f2937",lineHeight:1.4,paddingLeft:8},children:n})]},t))})}function eg({entries:e,categoryKey:t,rawTokens:n,onSpacingHover:o,onModifyToken:r,onDeleteToken:s}){let i=Jf(e);return i==="colors"?je(Fc,{entries:e}):i==="spacing"?je(Zf,{entries:e,categoryKey:t,rawTokens:n,onHover:o,onModify:r,onDelete:s}):je(es,{entries:e})}function tg(e){let t=e.toLowerCase(),n=null,o=document.createTreeWalker(document.body,NodeFilter.SHOW_ELEMENT,{acceptNode(s){return s.closest("#devtools-toolbar, #devtools-canvas, #devtools-scrim, [data-popmelt-panel]")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),r=o.currentNode;for(;r=o.nextNode();){let s=r,i=Object.keys(s).find(a=>a.startsWith("__reactFiber$")||a.startsWith("__reactInternalInstance$"));if(!i)continue;let l=s[i];for(;l;){let a=l.type,d=typeof a=="function"||typeof a=="object"?(a==null?void 0:a.displayName)||(a==null?void 0:a.name):null;if(typeof d=="string"){let c=d.toLowerCase();if(c===t){let u=f({},l.memoizedProps);return delete u.ref,{type:a,props:u}}if(!n){if(c.length>=4&&t.includes(c)){let u=f({},l.memoizedProps);delete u.ref,n={type:a,props:u}}else if(t.length>=4&&c.includes(t)){let u=f({},l.memoizedProps);delete u.ref,n={type:a,props:u}}}}l=l.return}}return n}var aa=class extends Hf{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(){this.props.onError()}render(){return this.state.hasError?null:this.props.children}},$c="popmelt-principles-collapsed";function ng(){try{let e=localStorage.getItem($c);if(e)return new Set(JSON.parse(e))}catch(e){}return new Set}function og(e){try{localStorage.setItem($c,JSON.stringify([...e]))}catch(t){}}function rg({id:e,label:t,count:n,children:o,collapsed:r,onToggle:s}){return nn("div",{style:{marginBottom:14},children:[nn("div",{onClick:()=>s(e),style:{fontWeight:700,fontSize:11,color:"#6b7280",letterSpacing:"0.05em",marginBottom:r?0:6,cursor:"pointer",display:"flex",alignItems:"center",gap:4,userSelect:"none"},children:[je("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:10,fontSize:9,color:"#9ca3af",transform:r?"rotate(-90deg)":"rotate(0deg)"},children:"\u25BC"}),t,je("span",{style:{fontWeight:400,color:"#9ca3af"},children:n})]}),!r&&o]})}var ig={colors:"Colors",fonts:"Fonts",typeScale:"Type Scale",spacing:"Spacing",radii:"Radii",shadows:"Shadows",other:"Other"},_c=["colors","fonts","typeScale","spacing","radii","shadows","other"];function sg(){let[e,t]=Kn(null),[n,o]=Kn(ng);qo(()=>{t(Bc())},[]);let r=Qi(i=>{o(l=>{let a=new Set(l);return a.has(i)?a.delete(i):a.add(i),og(a),a})},[]);return e?_c.some(i=>e[i].length>0)?je(vr,{children:_c.map(i=>{let l=e[i];return l.length===0?null:je(rg,{id:i,label:ig[i],count:l.length,collapsed:n.has(i),onToggle:r,children:i==="colors"?je(Fc,{entries:l,references:e.references}):je(es,{entries:l})},i)})}):je("div",{style:{color:"#9ca3af",fontSize:11},children:"No :root tokens found."}):null}function ag({rules:e,onSynthesize:t,isSynthesizing:n}){if(!e||e.length===0)return je("div",{style:{color:"#9ca3af",fontSize:11},children:"No rules defined yet."});if(!e.some(s=>typeof s=="object"&&s!==null&&"scope"in s))return je(vr,{children:e.map((s,i)=>nn("div",{style:{display:"flex",gap:6,marginBottom:4,lineHeight:1.4,fontSize:11},children:[nn("span",{style:{color:"#9ca3af",flexShrink:0},children:[i+1,"."]}),je("span",{children:typeof s=="string"?s:s.text})]},i))});let r=new Map;for(let s of e)if(typeof s=="string")r.has("general")||r.set("general",[]),r.get("general").push({id:"",text:s});else{let i=s.scope||"general";r.has(i)||r.set(i,[]),r.get(i).push({id:s.id,text:s.text})}return nn(vr,{children:[t&&je("button",{type:"button",disabled:n,onClick:t,style:{width:"100%",border:"1px solid rgba(0,0,0,0.12)",background:n?"rgba(0,0,0,0.04)":"rgba(0,0,0,0.02)",cursor:n?"default":"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"5px 8px",marginBottom:10,color:n?"#9ca3af":"#6b7280"},children:n?"Synthesizing\u2026":"Synthesize"}),Array.from(r.entries()).map(([s,i])=>nn("div",{style:{marginBottom:10},children:[je("div",{style:{fontWeight:700,fontSize:10,color:"#6b7280",letterSpacing:"0.05em",textTransform:"uppercase",marginBottom:4},children:s}),i.map((l,a)=>nn("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4,fontSize:11},children:[je("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2022"}),je("span",{children:l.text})]},l.id||a))]},s))]})}function lg({name:e,value:t,selected:n,highlighted:o,onRemove:r,onHover:s}){var _;let[i,l]=Kn(!1),[a,d]=Kn(!1),c=br(null),u=br(0),[p,g]=Kn(0),[v,x]=Kn(0),w=Nc(t),I=(_=w.find(([B])=>B==="description"))==null?void 0:_[1];qo(()=>{if(!a&&!o){g(0),x(0),u.current=0;return}let B=_r(e);g(B.length)},[a,o,e]),qo(()=>{n&&c.current&&c.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[n]);let N=n||o||a,H=n?"139,92,246":"34,197,94",O=n?"#8b5cf6":"#22c55e",L=N?`rgba(${H},0.06)`:void 0,Y=N?`inset 0 0 0 1.5px rgba(${H},0.35)`:void 0,re=o||a,Z=Qi(()=>{let B=_r(e);if(B.length===0)return;let h=u.current%B.length;B[h].rootElement.scrollIntoView({behavior:"smooth",block:"center"}),x(h),u.current=h+1,s==null||s({name:e,instanceIndex:h})},[e,s]);return nn("div",{ref:c,onClick:Z,onMouseEnter:()=>{d(!0),s==null||s({name:e,instanceIndex:0})},onMouseLeave:()=>{d(!1),s==null||s(null)},style:{marginBottom:8,background:L,padding:6,boxShadow:Y,cursor:"pointer"},children:[nn("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[nn("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[je("div",{style:{fontWeight:700,fontSize:11,letterSpacing:"0.05em",padding:"2px 6px",backgroundColor:re?O:"transparent",color:re?"#fff":"#6b7280"},children:e}),re&&p>1&&nn("span",{style:{fontSize:10,fontWeight:600,color:"#9ca3af"},children:[v+1,"/",p]})]}),r&&a&&je("button",{type:"button",title:"Remove from model",onClick:B=>{B.stopPropagation(),r(e)},style:{border:"none",background:"none",cursor:"pointer",padding:"0 2px",fontSize:14,lineHeight:1,color:"#9ca3af",marginTop:-4},onMouseEnter:B=>{B.currentTarget.style.color="#FF0000"},onMouseLeave:B=>{B.currentTarget.style.color="#9ca3af"},children:"\u2715"})]}),I&&je("div",{style:{fontSize:11,color:re?"#1f2937":"#9ca3af",marginBottom:6,lineHeight:1.4},children:I}),i?je(eg,{entries:w.filter(([B])=>B!=="description"),categoryKey:""}):je(cg,{name:e,onNotFound:()=>l(!0),entries:w})]})}function cg({name:e,onNotFound:t}){let[n,o]=Kn(null),[r,s]=Kn(!1);return qo(()=>{let i=tg(e);i||t(),o(i),s(!0)},[e,t]),!r||!n?null:je(aa,{onError:t,children:je("div",{"data-popmelt-panel":!0,onClick:i=>{i.preventDefault(),i.stopPropagation()},style:{width:"100%",overflowY:"auto",overflowX:"hidden",maxHeight:150,padding:"1rem",outline:"1px solid rgba(0,0,0,0.06)",backgroundColor:"rgb(250,250,250)",boxSizing:"border-box",marginBottom:4,display:"flex",flexDirection:"column",justifyContent:"stretch",alignItems:"center",contain:"layout paint",position:"relative",isolation:"isolate"},children:je("div",{style:{zoom:.5,pointerEvents:"none"},children:Nf(n.type,n.props)})})})}function dg({components:e,selectedComponent:t,hoveredComponent:n,onRemove:o,onHover:r}){if(!e||Object.keys(e).length===0)return je("div",{style:{color:"#9ca3af",fontSize:11},children:"No component patterns defined yet."});let s=new Set(Object.keys(e)),i=Ss(s),l=Object.entries(e).sort(([a],[d])=>{var c,u;return((c=i.get(a))!=null?c:1/0)-((u=i.get(d))!=null?u:1/0)});return je(vr,{children:l.map(([a,d])=>je(lg,{name:a,value:d,selected:t===a,highlighted:n===a,onRemove:o,onHover:r},a))})}function Wc({bridgeUrl:e,modelRefreshKey:t,onMouseEnter:n,onMouseLeave:o,selectedComponent:r,hoveredComponent:s,onComponentHover:i,onSpacingTokenHover:l,onModifySpacingToken:a,onDeleteSpacingToken:d,onComponentAdded:c,onComponentRemoved:u,onSynthesizeRules:p,isSynthesizing:g,snapPosition:v="bottom-right"}){let[x,w]=Kn(void 0),[I,N]=Kn(!0),[H,O]=Kn(()=>{try{let h=localStorage.getItem(Dc);if(h==="patterns"||h==="principles"||h==="rules")return h}catch(h){}return"patterns"});qo(()=>{Tr(e).then(h=>{w(h),N(!1)})},[e,t]),qo(()=>{try{localStorage.setItem(Dc,H)}catch(h){}},[H]),qo(()=>{r&&(O("patterns"),Tr(e).then(h=>{h&&w(h)}))},[r,e]);let L=Qi(h=>{w(A=>{if(!(A!=null&&A.components))return A;let K=A.components,{[h]:k}=K,be=Dn(K,[uo(h)]);return y(f({},A),{components:be})}),u==null||u(h)},[u]),Y=x==null?void 0:x.components,re=x==null?void 0:x.rules,Z=Y&&Object.keys(Y).length>0,_=re&&re.length>0,B=br(null);return qo(()=>{let h=B.current;if(!h)return;let A=n,k=o;return A&&h.addEventListener("mouseenter",A),k&&h.addEventListener("mouseleave",k),()=>{A&&h.removeEventListener("mouseenter",A),k&&h.removeEventListener("mouseleave",k)}},[n,o]),nn("div",{ref:B,style:f(f({},Vf),Ei(v)),children:[nn("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[je("span",{children:"Model"}),je("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:"M"})]}),je("div",{style:{display:"flex",gap:12,marginBottom:10,borderBottom:"1px solid rgba(0,0,0,0.08)",paddingBottom:6},children:["patterns","principles","rules"].map(h=>je("button",{type:"button",style:H===h?Uf:zc,onClick:()=>O(h),children:h.charAt(0).toUpperCase()+h.slice(1)},h))}),je("div",{style:{flex:1,overflowY:"auto",minHeight:0},children:H==="principles"?je(sg,{}):I?je("div",{style:{color:"#9ca3af",fontSize:11},children:"Loading..."}):!x||!Z&&!_?je("div",{style:{color:"#9ca3af",lineHeight:1.5},children:"No design model yet. Pattern-scoped annotations will build one automatically."}):nn(vr,{children:[H==="patterns"&&je(dg,{components:Y,selectedComponent:r,hoveredComponent:s,onRemove:L,onHover:i}),H==="rules"&&je(ag,{rules:re,onSynthesize:p,isSynthesizing:g})]})})]})}import{jsx as $o}from"react/jsx-runtime";var ug="M 233.959793 800.214905 L 468.644287 668.536987 L 472.590637 657.100647 L 468.644287 650.738403 L 457.208069 650.738403 L 417.986633 648.322144 L 283.892639 644.69812 L 167.597321 639.865845 L 54.926208 633.825623 L 26.577238 627.785339 L 3.3e-05 592.751709 L 2.73832 575.27533 L 26.577238 559.248352 L 60.724873 562.228149 L 136.187973 567.382629 L 249.422867 575.194763 L 331.570496 580.026978 L 453.261841 592.671082 L 472.590637 592.671082 L 475.328857 584.859009 L 468.724915 580.026978 L 463.570557 575.194763 L 346.389313 495.785217 L 219.543671 411.865906 L 153.100723 363.543762 L 117.181267 339.060425 L 99.060455 316.107361 L 91.248367 266.01355 L 123.865784 230.093994 L 167.677887 233.073853 L 178.872513 236.053772 L 223.248367 270.201477 L 318.040283 343.570496 L 441.825592 434.738342 L 459.946411 449.798706 L 467.194672 444.64447 L 468.080597 441.020203 L 459.946411 427.409485 L 392.617493 305.718323 L 320.778564 181.932983 L 288.80542 130.630859 L 280.348999 99.865845 C 277.369171 87.221436 275.194641 76.590698 275.194641 63.624268 L 312.322174 13.20813 L 332.8591 6.604126 L 382.389313 13.20813 L 403.248352 31.328979 L 434.013519 101.71814 L 483.865753 212.537048 L 561.181274 363.221497 L 583.812134 407.919434 L 595.892639 449.315491 L 600.40271 461.959839 L 608.214783 461.959839 L 608.214783 454.711609 L 614.577271 369.825623 L 626.335632 265.61084 L 637.771851 131.516846 L 641.718201 93.745117 L 660.402832 48.483276 L 697.530334 24.000122 L 726.52356 37.852417 L 750.362549 72 L 747.060486 94.067139 L 732.886047 186.201416 L 705.100708 330.52356 L 686.979919 427.167847 L 697.530334 427.167847 L 709.61084 415.087341 L 758.496704 350.174561 L 840.644348 247.490051 L 876.885925 206.738342 L 919.167847 161.71814 L 946.308838 140.29541 L 997.61084 140.29541 L 1035.38269 196.429626 L 1018.469849 254.416199 L 965.637634 321.422852 L 921.825562 378.201538 L 859.006714 462.765259 L 819.785278 530.41626 L 823.409424 535.812073 L 832.75177 534.92627 L 974.657776 504.724915 L 1051.328979 490.872559 L 1142.818848 475.167786 L 1184.214844 494.496582 L 1188.724854 514.147644 L 1172.456421 554.335693 L 1074.604126 578.496765 L 959.838989 601.449829 L 788.939636 641.879272 L 786.845764 643.409485 L 789.261841 646.389343 L 866.255127 653.637634 L 899.194702 655.409424 L 979.812134 655.409424 L 1129.932861 666.604187 L 1169.154419 692.537109 L 1192.671265 724.268677 L 1188.724854 748.429688 L 1128.322144 779.194641 L 1046.818848 759.865845 L 856.590759 714.604126 L 791.355774 698.335754 L 782.335693 698.335754 L 782.335693 703.731567 L 836.69812 756.885986 L 936.322205 846.845581 L 1061.073975 962.81897 L 1067.436279 991.490112 L 1051.409424 1014.120911 L 1034.496704 1011.704712 L 924.885986 929.234924 L 882.604126 892.107544 L 786.845764 811.48999 L 780.483276 811.48999 L 780.483276 819.946289 L 802.550415 852.241699 L 919.087341 1027.409424 L 925.127625 1081.127686 L 916.671204 1098.604126 L 886.469849 1109.154419 L 853.288696 1103.114136 L 785.073914 1007.355835 L 714.684631 899.516785 L 657.906067 802.872498 L 650.979858 806.81897 L 617.476624 1167.704834 L 601.771851 1186.147705 L 565.530212 1200 L 535.328857 1177.046997 L 519.302124 1139.919556 L 535.328857 1066.550537 L 554.657776 970.792053 L 570.362488 894.68457 L 584.536926 800.134277 L 592.993347 768.724976 L 592.429626 766.630859 L 585.503479 767.516968 L 514.22821 865.369263 L 405.825531 1011.865906 L 320.053711 1103.677979 L 299.516815 1111.812256 L 263.919525 1093.369263 L 267.221497 1060.429688 L 287.114136 1031.114136 L 405.825531 880.107361 L 477.422913 786.52356 L 523.651062 732.483276 L 523.328918 724.671265 L 520.590698 724.671265 L 205.288605 929.395935 L 149.154434 936.644409 L 124.993355 914.01355 L 127.973183 876.885986 L 139.409409 864.80542 L 234.201385 799.570435 L 233.879227 799.8927 Z",pg="M60.8734,57.2556v-14.9432c0-1.2586.4722-2.2029,1.5728-2.8314l30.0443-17.3023c4.0899-2.3593,8.9662-3.4599,13.9988-3.4599,18.8759,0,30.8307,14.6289,30.8307,30.2006,0,1.1007,0,2.3593-.158,3.6178l-31.1446-18.2467c-1.8872-1.1006-3.7754-1.1006-5.6629,0l-39.4812,22.9651ZM131.0276,115.4561v-35.7074c0-2.2028-.9446-3.7756-2.8318-4.8763l-39.481-22.9651,12.8982-7.3934c1.1007-.6285,2.0453-.6285,3.1458,0l30.0441,17.3024c8.6523,5.0341,14.4708,15.7296,14.4708,26.1107,0,11.9539-7.0769,22.965-18.2461,27.527v.0021ZM51.593,83.9964l-12.8982-7.5497c-1.1007-.6285-1.5728-1.5728-1.5728-2.8314v-34.6048c0-16.8303,12.8982-29.5722,30.3585-29.5722,6.607,0,12.7403,2.2029,17.9324,6.1349l-30.987,17.9324c-1.8871,1.1007-2.8314,2.6735-2.8314,4.8764v45.6159l-.0014-.0015ZM79.3562,100.0403l-18.4829-10.3811v-22.0209l18.4829-10.3811,18.4812,10.3811v22.0209l-18.4812,10.3811ZM91.2319,147.8591c-6.607,0-12.7403-2.2031-17.9324-6.1344l30.9866-17.9333c1.8872-1.1005,2.8318-2.6728,2.8318-4.8759v-45.616l13.0564,7.5498c1.1005.6285,1.5723,1.5728,1.5723,2.8314v34.6051c0,16.8297-13.0564,29.5723-30.5147,29.5723v.001ZM53.9522,112.7822l-30.0443-17.3024c-8.652-5.0343-14.471-15.7296-14.471-26.1107,0-12.1119,7.2356-22.9652,18.403-27.5272v35.8634c0,2.2028.9443,3.7756,2.8314,4.8763l39.3248,22.8068-12.8982,7.3938c-1.1007.6287-2.045.6287-3.1456,0ZM52.2229,138.5791c-17.7745,0-30.8306-13.3713-30.8306-29.8871,0-1.2585.1578-2.5169.3143-3.7754l30.987,17.9323c1.8871,1.1005,3.7757,1.1005,5.6628,0l39.4811-22.807v14.9435c0,1.2585-.4721,2.2021-1.5728,2.8308l-30.0443,17.3025c-4.0898,2.359-8.9662,3.4605-13.9989,3.4605h.0014ZM91.2319,157.296c19.0327,0,34.9188-13.5272,38.5383-31.4594,17.6164-4.562,28.9425-21.0779,28.9425-37.908,0-11.0112-4.719-21.7066-13.2133-29.4143.7867-3.3035,1.2595-6.607,1.2595-9.909,0-22.4929-18.2471-39.3247-39.3251-39.3247-4.2461,0-8.3363.6285-12.4262,2.045-7.0792-6.9213-16.8318-11.3254-27.5271-11.3254-19.0331,0-34.9191,13.5268-38.5384,31.4591C11.3255,36.0212,0,52.5373,0,69.3675c0,11.0112,4.7184,21.7065,13.2125,29.4142-.7865,3.3035-1.2586,6.6067-1.2586,9.9092,0,22.4923,18.2466,39.3241,39.3248,39.3241,4.2462,0,8.3362-.6277,12.426-2.0441,7.0776,6.921,16.8302,11.3251,27.5271,11.3251Z",fg="M29.8768 25.3531C30.9809 25.3531 31.876 26.2481 31.876 27.3522V31.3505C31.876 32.4545 30.9809 33.3496 29.8768 33.3496C28.7727 33.3496 27.8777 32.4545 27.8777 31.3505V27.3522C27.8777 26.2481 28.7727 25.3531 29.8768 25.3531ZM19.8812 25.3531C20.9852 25.3531 21.8803 26.2481 21.8803 27.3522V31.3505C21.8803 32.4545 20.9852 33.3496 19.8812 33.3496C18.7771 33.3496 17.882 32.4545 17.882 31.3505V27.3522C17.882 26.2481 18.7771 25.3531 19.8812 25.3531ZM24.8601 40.8772C36.974 40.8772 46.9603 33.8278 48.6801 30.8403C48.8058 30.6218 48.8464 30.3723 48.8464 30.1202V24.8018C48.8464 24.5813 48.8124 24.3622 48.7308 24.1574C47.9871 22.2899 46.0394 19.5773 43.5257 18.8495C43.1925 17.994 42.6989 16.7433 42.2384 15.8201C42.3154 15.1138 42.3426 14.3853 42.3426 13.6492C42.3426 10.99 41.7789 8.65743 40.0805 6.92044C39.2872 6.10915 38.3028 5.48684 37.1355 5.01903C34.3398 2.74775 30.2723 0.837036 24.8169 0.837036C19.3616 0.837036 15.3805 2.74775 12.5847 5.01903C11.4174 5.48684 10.433 6.10915 9.63975 6.92044C7.9413 8.65743 7.37764 10.99 7.37764 13.6492C7.37764 14.3853 7.40477 15.1138 7.48186 15.8201C7.02133 16.7433 6.52774 17.994 6.19449 18.8495C3.68082 19.5773 1.73309 22.2899 0.989389 24.1574C0.907813 24.3622 0.873779 24.5813 0.873779 24.8018V30.1202C0.873779 30.3723 0.914376 30.6218 1.04014 30.8403C2.75994 33.8278 12.7462 40.8772 24.8601 40.8772ZM26.485 13.0046C26.4 12.3422 26.3595 11.749 26.3584 11.2191L26.3584 11.1772C26.361 9.63975 26.6971 8.63938 27.2339 8.02499C27.9156 7.2448 29.3246 6.64707 32.2941 6.96844C35.3026 7.29402 36.9842 8.04072 37.9376 9.01574C38.8606 9.95971 39.3455 11.372 39.3455 13.6492C39.3455 16.0687 38.9969 17.4982 38.2302 18.3678C37.5012 19.1946 36.0656 19.8674 32.9214 19.8674C30.5041 19.8674 29.1221 19.0812 28.2386 17.9939C27.2899 16.8264 26.7559 15.1161 26.485 13.0046ZM23.2353 13.0046C23.3203 12.3422 23.3607 11.749 23.3619 11.2191L23.3619 11.1772C23.3592 9.63974 23.0232 8.63937 22.4863 8.02498C21.8046 7.24479 20.3957 6.64707 17.4261 6.96843C14.4176 7.29402 12.736 8.04071 11.7826 9.01573C10.8596 9.9597 10.3747 11.372 10.3747 13.6492C10.3747 16.0687 10.7234 17.4982 11.49 18.3677C12.219 19.1946 13.6546 19.8674 16.7989 19.8674C19.2161 19.8674 20.5981 19.0812 21.4816 17.9939C22.4304 16.8264 22.9643 15.1161 23.2353 13.0046ZM25.2042 18.8676L25.0543 18.8676C24.8715 18.8678 24.6005 18.868 24.516 18.8676C24.3045 19.2218 24.0693 19.5618 23.8075 19.884C22.2697 21.7764 19.9741 22.8644 16.7988 22.8644C13.3524 22.8644 10.8266 22.1471 9.24196 20.3498C9.15187 20.2476 9.07125 20.1406 9.07125 20.1406L8.87613 20.3498V33.5049C11.7429 35.0628 17.8959 37.8586 24.8601 37.8586C31.8243 37.8586 37.9773 35.0628 40.8441 33.5049V20.3498L40.649 20.1406C40.649 20.1406 40.5829 20.231 40.4783 20.3498C38.8936 22.1471 36.3678 22.8644 32.9214 22.8644C29.7461 22.8644 27.4506 21.7764 25.9127 19.884C25.6509 19.5618 25.4157 19.2218 25.2042 18.8676Z";function gg({size:e=16,style:t}){return $o("svg",{width:e,height:e,viewBox:"0 0 1200 1200",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:$o("path",{d:ug})})}function mg({size:e=16,style:t}){return $o("svg",{width:e,height:e,viewBox:"0 0 158.7128 157.296",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:$o("path",{d:pg})})}function hg({size:e=16,style:t}){return $o("svg",{width:e,height:e,viewBox:"0 0 49.7202 40.0402",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:$o("path",{d:fg,fillRule:"evenodd",clipRule:"evenodd"})})}function ai({provider:e,size:t=16,style:n}){return e==="codex"?$o(mg,{size:t,style:n}):e==="copilot"?$o(hg,{size:t,style:n}):$o(gg,{size:t,style:n})}var ts=[{id:"claude-opus-4-6",label:"Opus 4.6",source:"static"},{id:"claude-sonnet-4-6",label:"Sonn 4.6",source:"static"}],ns=[{id:"gpt-5.4",label:"GPT 5.4",source:"static"},{id:"gpt-5.3-codex",label:"Codex 5.3",source:"static"},{id:"gpt-5.3-codex-spark",label:"Spark 5.3",source:"static"}],la=[{id:"",label:"Default",source:"static"}];var yg=[...ts,...ns,...la];function ca(e,t){if(t==="copilot"&&!e)return"Copilot";if(!e)return t==="codex"?"Codex":"Claude Code";let n=yg.find(o=>o.id===e);return n?n.label:e.replace(/-\d{8,}$/,"")}import{jsx as Gc}from"react/jsx-runtime";var oo={iconDefault:"#1f2937",iconActive:"#1f2937",bgActive:"#dedede",bgHover:"#e2e2e2",separator:"#e5e7eb"};function Wo({children:e,active:t,siblingActive:n,disabled:o,onClick:r,title:s}){let i=()=>o?.4:n&&!t?.5:1,l={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:0,border:"none",cursor:o?"default":"pointer",transition:"background-color 150ms ease, color 150ms ease, transform 100ms ease, opacity 150ms ease",backgroundColor:t?oo.bgActive:"transparent",color:t?oo.iconActive:oo.iconDefault,opacity:i()};return Gc("button",{type:"button",onClick:o?void 0:r,title:s,disabled:o,style:l,onMouseEnter:a=>{o||(a.currentTarget.style.opacity="1",t||(a.currentTarget.style.backgroundColor=oo.bgHover))},onMouseLeave:a=>{o||(a.currentTarget.style.opacity=String(i()),t||(a.currentTarget.style.backgroundColor="transparent"))},onMouseDown:a=>{o||(a.currentTarget.style.transform="scale(0.95)")},onMouseUp:a=>{o||(a.currentTarget.style.transform="scale(1)")},children:e})}function jc(){return Gc("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 8px"}})}import{Fragment as li,jsx as ve,jsxs as At}from"react/jsx-runtime";function Lg(e,t){if(e<=0)return[];if(e<=4)return Array.from({length:e},(r,s)=>({key:`model-${s}`,index:s,active:s===t}));let n=e-1,o=r=>({key:`model-${r}`,index:r,active:r===t});return t===0?[o(0),o(1),o(2),{key:"overflow-after",overflow:!0}]:t===1?[{key:"overflow-before",overflow:!0},o(1),o(2),{key:"overflow-after",overflow:!0}]:t===n-1?[{key:"overflow-before",overflow:!0},o(n-2),o(n-1),o(n)]:t===n?[{key:"overflow-before",overflow:!0},o(n-2),o(n-1),o(n)]:t%2===0?[{key:"overflow-before",overflow:!0},o(t-1),o(t),{key:"overflow-after",overflow:!0}]:[{key:"overflow-before",overflow:!0},o(t),o(t+1),{key:"overflow-after",overflow:!0}]}var wr=[{type:"rectangle",icon:Mg,label:"Rectangle",shortcut:"R"},{type:"circle",icon:vg,label:"Oval",shortcut:"O"},{type:"line",icon:Tg,label:"Line",shortcut:"L"},{type:"freehand",icon:Eg,label:"Pen",shortcut:"P"}],Ag=new Set(wr.map(e=>e.type));function Pg(e,t,n,o,r,s,i,l){let a=(e-r)*(o-s)-(n-r)*(t-s),d=(e-i)*(s-l)-(r-i)*(t-l),c=(e-n)*(l-o)-(i-n)*(t-o),u=a<0||d<0||c<0,p=a>0||d>0||c>0;return!(u&&p)}function Og(e="bottom-right"){return ul(e,window.innerWidth,window.innerHeight)}var Bg=[{type:"text",icon:Rg,label:"Text",shortcut:"T"}],Yc={inspector:{name:"Comment",desc:"Pin feedback to specific elements on the page.",usage:["Click any element to attach a comment","Type your note, then hand off to your AI","Your AI may ask clarifying questions","Replies get threaded"],keys:[{key:"C",desc:"Select tool"},{key:"Click",desc:"Pin comment to element"},{key:"Esc",desc:"Deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},hand:{name:"Handle",desc:"Quickly finetune layout and typescale.",usage:["Edges \u2192 padding","Between items \u2192 spacing","Corners \u2192 rounding","Right of text \u2192 font size","Below text \u2192 line height","Click a spacing handle to cycle distribution","Right-click \u2192 inspect element styles"],keys:[{key:"H",desc:"Select tool"},{key:"Shift",desc:"Snap to scale"},{key:"\u2325 + swipe",desc:"Cycle justify / flip direction"},{key:"\u21E7 + swipe",desc:"Cycle align-items"},{key:"Right-click",desc:"Inspect styles"},{key:"Esc",desc:"Deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},rectangle:{name:"Rectangle",desc:"Draw rectangular highlights to mark areas of interest.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"R",desc:"Rectangle"},{key:"O",desc:"Oval"},{key:"L",desc:"Line"},{key:"P",desc:"Pen"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},circle:{name:"Oval",desc:"Draw oval highlights to mark areas of interest.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"O",desc:"Oval"},{key:"R",desc:"Rectangle"},{key:"L",desc:"Line"},{key:"P",desc:"Pen"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},line:{name:"Line",desc:"Draw line annotations to point at or connect elements.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"L",desc:"Line"},{key:"R",desc:"Rectangle"},{key:"O",desc:"Oval"},{key:"P",desc:"Pen"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},freehand:{name:"Pen",desc:"Draw freehand paths to annotate freely.",usage:["Click and drag to draw","Cycle between shapes with the dot selector"],keys:[{key:"P",desc:"Pen"},{key:"R",desc:"Rectangle"},{key:"O",desc:"Oval"},{key:"L",desc:"Line"},{key:"Esc",desc:"Cancel or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},text:{name:"Text",desc:"Place text labels anywhere on the page.",usage:["Click to place, then start typing","Click away or press Enter to finish","Scroll while hovering a label to resize it"],keys:[{key:"T",desc:"Select tool"},{key:"Esc",desc:"Cancel text or deselect"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]},model:{name:"Model",desc:"Promote components into the local design model.",usage:["Hover to highlight component boundaries","Scroll to walk up/down the component tree","Click to add to model.json","Green = already in model"],keys:[{key:"M",desc:"Select tool"},{key:"Scroll",desc:"Walk tree depth"},{key:"Click",desc:"Promote component"},{key:"Esc",desc:"Deselect"}]},eval:{name:"Evals",desc:"Synthesize inferred evals from design history.",usage:["Infer evals from annotations","Reject, refine, or approve proposals"],keys:[{key:"E",desc:"Select tool"},{key:"Esc",desc:"Deselect"}]},counter:{name:"Annotations",desc:"Click to cycle, scroll to change color, long press to reset.",usage:[],keys:[{key:"Click",desc:"Cycle annotations"},{key:"Scroll",desc:"Change color"},{key:"Hold",desc:"Reset to red"}]},clear:{name:"Clear",desc:"Remove all annotations and style changes.",usage:[],keys:[{key:"\u2318 \u232B",desc:"Clear all"},{key:"\u232B",desc:"Delete selected annotation"},{key:"\u2318 Z",desc:"Undo"},{key:"\u2318 \u21E7 Z",desc:"Redo"}]},collapse:{name:"Popmelt",desc:`Comment and zhuzh, then hand off.
9
14
 
10
- Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{key:"\u2318\u2318",desc:"Toggle toolbar"}]}},zf={zIndex:9999,display:"flex",alignItems:"center",backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",cursor:"pointer",overflow:"visible",boxSizing:"content-box",transition:"none"},js="devtools-toolbar-expanded",Ys="devtools-annotations",Js="devtools-style-modifications",Us="devtools-active-tool",wc="devtools-active-color",Cc="devtools-stroke-width",Ec="devtools-inspected-element",Vs="devtools-spacing-changes",Wf={expanded:js,annotations:Ys,styleMods:Js,spacingChanges:Vs,tool:Us,color:wc,stroke:Cc,inspected:Ec};function kc({state:e,dispatch:t,onScreenshot:n,onSendToClaude:o,hasActiveJobs:r,activeJobColor:i,onCrosshairHover:s,onClear:a,provider:l="claude",onProviderChange:d,availableProviders:c,modelIndex:p=0,modelCount:u=2,modelLabel:g="Opus 4.6",onModelChange:b,onViewThread:v,isThreadPanelOpen:A,mcpStatus:T,bridgeUrl:$,isBridgeConnected:P,packageVersion:O,bridgeVersion:w,bridgeRestartState:N="idle",bridgeRestartMessage:se,onBridgeRestart:ee,modelSelectedComponent:G,modelCanvasHoveredComponent:oe,onModelComponentHover:W,onSpacingTokenHover:Z,onModifySpacingToken:k,onDeleteSpacingToken:Ce,modelRefreshKey:Q,onModelComponentAdded:fe,onModelComponentRemoved:_,onSynthesizeRules:le,isSynthesizing:M,onMouseEnter:ue,toolbarRef:Me,snapPosition:Ne="bottom-right",onSnapPositionChange:ve}){let[We,Re]=lr(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});hn(()=>{let C=()=>Re({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",C),()=>window.removeEventListener("resize",C)},[]);let[ge,qe]=lr(()=>typeof window=="undefined"?!1:localStorage.getItem(js)==="true"),[ft,gt]=lr(0),ln=Ht(0),K=Ht(0),ce=Ht(e.isAnnotating),Ae=Ht(!1),$e=Ht(typeof window!="undefined"?localStorage.getItem(Us):null),rt=Ht(typeof window!="undefined"?localStorage.getItem(wc):null),Je=Ht(typeof window!="undefined"?localStorage.getItem(Cc):null),[ae,X]=lr(null),ie=Ht(!1),we=Ht(null),ke=Ht(null),Tt=Ht(null),[je,tt]=lr([]),ht=Ht({x:0,y:0}),Ft=Ht(null),St=Ht(null),lt=Ht(null),ut=Vn(()=>{Ft.current=null,St.current=null,lt.current&&(clearTimeout(lt.current),lt.current=null)},[]),Yt=Vn(C=>{ke.current&&(clearTimeout(ke.current),ke.current=null),ie.current?(Ft.current=C,St.current=f({},ht.current),lt.current&&clearTimeout(lt.current),lt.current=setTimeout(()=>{Ft.current&&(X(Ft.current),ut())},300)):(we.current&&clearTimeout(we.current),we.current=setTimeout(()=>{ie.current=!0,X(C),we.current=null},500))},[ut]),yn=Vn(()=>{ut(),we.current&&(clearTimeout(we.current),we.current=null),ke.current=setTimeout(()=>{ie.current=!1,X(null)},150)},[ut]);hn(()=>{let C=Tt.current;if(!C)return;let J=()=>{ut(),ke.current&&(clearTimeout(ke.current),ke.current=null)},ne=()=>{ke.current=setTimeout(()=>{ie.current=!1,X(null)},150)};return C.addEventListener("mouseenter",J),C.addEventListener("mouseleave",ne),()=>{C.removeEventListener("mouseenter",J),C.removeEventListener("mouseleave",ne)}},[ae,ut]),hn(()=>{if(ae!=="counter"||!$)return;let C=!1;return fetch(`${$}/threads/recent?limit=5`).then(J=>J.ok?J.json():[]).then(J=>{C||tt(J)}).catch(()=>{}),()=>{C=!0}},[ae,$]);let Mn=Vn(C=>{if(ht.current={x:C.clientX,y:C.clientY},Ft.current&&St.current){let J=St.current,ne=Ff(Ne);Hf(C.clientX,C.clientY,J.x,J.y,ne.left,ne.y,ne.right,ne.y)||(X(Ft.current),ut())}},[ut,Ne]),cn=ar(()=>{let C=(c!=null?c:[]).map(J=>J==="claude"?"Claude":J==="codex"?"Codex":J==="copilot"?"Copilot":J);return{name:"AI Model",desc:C.length>1?`${C.join(" and ")} are available.`:C.length===1?`Connected to ${C[0]}.`:"No AI providers detected.",usage:C.length>1?["Click the logo to switch between providers","Click the model name to switch tiers"]:["Click the model name to switch tiers"],keys:C.length>1?[{key:"Click",desc:"Switch"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]:[{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]}},[c]),Xn=ar(()=>{var ne;let C=c&&c.length>0?c:["claude","codex","copilot"],J=C.indexOf(l);return(ne=C[(J>=0?J+1:0)%C.length])!=null?ne:l},[c,l]),mt=ar(()=>_f(u,p),[u,p]);nc(ge,e,Ae,!!r,Wf),hn(()=>{let C=new URLSearchParams(window.location.search);if(!C.has("popmelt"))return;let J=document.createElement("style");J.textContent="nextjs-portal, vite-error-overlay { display: none !important; }",document.head.appendChild(J);let ne=parseInt(C.get("popmelt")||"0",10)||0,ye=()=>{qe(!0),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SET_ANNOTATING",payload:!0})};if(ne>0){let me=setTimeout(ye,ne);return()=>clearTimeout(me)}ye()},[]),hn(()=>{var ne;if(localStorage.getItem(js)==="true"&&!e.isAnnotating){if(ge||qe(!0),t({type:"SET_TOOL",payload:$e.current||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),rt.current&&t({type:"SET_COLOR",payload:rt.current}),Je.current){let Oe=parseFloat(Je.current);isNaN(Oe)||t({type:"SET_STROKE_WIDTH",payload:Oe})}let ye=localStorage.getItem(Ys);if(ye)try{let Oe=JSON.parse(ye);if(Array.isArray(Oe)&&Oe.length>0){for(let Lt of Oe)(Lt.status==="waiting_input"||Lt.status==="in_flight")&&(Lt.status=Lt.threadId?"resolved":"pending");t({type:"RESTORE_ANNOTATIONS",payload:{annotations:Oe}})}}catch(Oe){}let me=localStorage.getItem(Js);if(me)try{let Oe=JSON.parse(me);Array.isArray(Oe)&&Oe.length>0&&(t({type:"RESTORE_STYLE_MODIFICATIONS",payload:Oe}),mi(Oe))}catch(Oe){}let Le=localStorage.getItem(Vs);if(Le)try{let Oe=JSON.parse(Le);Array.isArray(Oe)&&Oe.length>0&&t({type:"RESTORE_SPACING_TOKEN_CHANGES",payload:Oe})}catch(Oe){}let Ee=localStorage.getItem(Ec);if(Ee)try{let{selector:Oe,info:Lt}=JSON.parse(Ee);if(Oe){let Ut=On(Oe);if(Ut){let x=Lt||h(f({},Bn(Ut)),{selector:Oe});t({type:"SELECT_ELEMENT",payload:{el:Ut,info:x}})}}}catch(Oe){}let Ie=sessionStorage.getItem("popmelt-pending-focus");if(Ie){sessionStorage.removeItem("popmelt-pending-focus");try{let{annotationId:Oe}=JSON.parse(Ie);if(Oe){let Lt=ye?(ne=JSON.parse(ye))!=null?ne:[]:[];requestAnimationFrame(()=>{t({type:"SELECT_ANNOTATION",payload:{id:Oe}});let Ut=Lt.find(x=>x.id===Oe);if(Ut){let L=(Ut.groupId?Lt.filter(z=>z.groupId===Ut.groupId):[Ut]).flatMap(z=>z.points);if(L.length>0){let z=Math.min(...L.map(Ue=>Ue.x)),re=Math.max(...L.map(Ue=>Ue.x)),Te=Math.min(...L.map(Ue=>Ue.y)),ze=Math.max(...L.map(Ue=>Ue.y));window.scrollTo({left:(z+re)/2-window.innerWidth/2,top:(Te+ze)/2-window.innerHeight/2,behavior:"smooth"})}}})}}catch(Oe){}}}let J=sessionStorage.getItem("popmelt-pending-thread");if(J){sessionStorage.removeItem("popmelt-pending-thread");try{let{threadId:ye,selector:me,preview:Le}=JSON.parse(J);ye&&requestAnimationFrame(()=>{if(me)try{let Ee=document.querySelector(me);if(Ee){let Ie=Ee.getBoundingClientRect(),Oe=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:Oe,point:{x:Ie.left+Ie.width,y:Ie.top},text:Le||"[thread]",linkedSelector:me,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[Oe],threadId:ye}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[Oe],status:"resolved"}})}}catch(Ee){}v&&v(ye)})}catch(ye){}}return Ae.current=!0,()=>{Ae.current=!1}},[]);let Ve=Ht(e.styleModifications);hn(()=>{let C=Ve.current,J=e.styleModifications;C!==J&&(hi(C),mi(J),Ve.current=J)},[e.styleModifications]),hn(()=>{let C=ce.current;ce.current=e.isAnnotating,C&&!e.isAnnotating&&ge&&qe(!1)},[e.isAnnotating,ge]);let nt=Ht(ge);nt.current=ge,hn(()=>{let C=ne=>{if(ne.key==="Meta"||ne.key==="Control"){let ye=Date.now();if(ye-ln.current<300){if(K.current++,K.current>=2){if(nt.current)t({type:"SET_ANNOTATING",payload:!1}),qe(!1);else{let Ee=localStorage.getItem(Us);t({type:"SET_TOOL",payload:Ee||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),qe(!0)}K.current=0}}else K.current=1;ln.current=ye}else K.current=0},J=ne=>{ne.key!=="Meta"&&ne.key!=="Control"&&(K.current=0)};return window.addEventListener("keydown",C),window.addEventListener("keyup",J),()=>{window.removeEventListener("keydown",C),window.removeEventListener("keyup",J)}},[t]);let dn=Vn(C=>{ut(),t({type:"SET_TOOL",payload:C}),e.isAnnotating||t({type:"SET_ANNOTATING",payload:!0}),ie.current=!1,X(null),we.current&&(clearTimeout(we.current),we.current=null),ke.current&&(clearTimeout(ke.current),ke.current=null)},[t,e.isAnnotating,ut]),Kt=Vn(async()=>{window.focus(),await n()},[n]),In=Vn(async()=>{o&&await o()},[o]),mo=Vn(()=>{t({type:"SET_ANNOTATING",payload:!1}),qe(!1)},[t]),io=Vn(()=>{hi(e.styleModifications),document.querySelectorAll("[data-pm]").forEach(C=>C.removeAttribute("data-pm")),t({type:"CLEAR"}),t({type:"CLEAR_ALL_STYLES"}),localStorage.removeItem(Ys),localStorage.removeItem(Js),localStorage.removeItem(Vs),Kn(null),a==null||a()},[t,e.styleModifications,a]),[nn,wn]=lr(()=>{if(rt.current){let C=rt.current.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);if(C!=null&&C[1])return parseFloat(C[1])}return 29}),bn=Ht(null),H=Ht(null),Pe=Ht(!1),Be=Vn(C=>{let J=C.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);return J&&J[1]?parseFloat(J[1]):null},[]);hn(()=>{Pe.current=!0;let C=`oklch(0.628 0.258 ${nn})`;t({type:"SET_COLOR",payload:C}),requestAnimationFrame(()=>{Pe.current=!1})},[nn,t]),hn(()=>{if(Pe.current)return;let C=Be(e.activeColor);C!==null&&Math.abs(C-nn)>.5&&wn(C)},[e.activeColor,Be,nn]);let qt=Ht(null);hn(()=>{if(r&&i){let C=Be(i);C!==null&&Math.abs(C-nn)>.5&&(qt.current===null&&(qt.current=nn),wn(C))}else qt.current!==null&&(wn(qt.current),qt.current=null)},[r,i,Be]);let Ot=e.annotations.length>0;hn(()=>{let C=H.current;if(!C||!Ot)return;let J=ne=>{ne.preventDefault(),ne.stopPropagation();let ye=ne.deltaY>0?-1:1,me=((nn+ye)%360+360)%360,Le=`oklch(0.628 0.258 ${me})`;wn(me),e.selectedAnnotationIds.length>0&&t({type:"UPDATE_ANNOTATION_COLOR",payload:{id:e.lastSelectedId||e.selectedAnnotationIds[0],color:Le}})};return C.addEventListener("wheel",J,{passive:!1}),()=>C.removeEventListener("wheel",J)},[Ot,e.selectedAnnotationIds,e.lastSelectedId,nn,t]);let Rn=Ht(!1),un=Ht(0);hn(()=>{let C=e.annotations.some(ye=>!ye.status||ye.status==="pending"),J=Rn.current;Rn.current=C;let ne=un.current===0&&e.annotations.length>0;if(un.current=e.annotations.length,(J&&!C||ne&&!C)&&e.annotations.length>0){let ye=e.annotations.map(me=>Be(me.color)).filter(me=>me!==null);if(ye.length>0){let me=0,Le=-1;for(let Ee=0;Ee<360;Ee++){let Ie=Math.min(...ye.map(Oe=>{let Lt=Math.abs(Ee-Oe);return Math.min(Lt,360-Lt)}));Ie>Le&&(Le=Ie,me=Ee)}wn(me)}}},[e.annotations,Be]);let _t=Ht(!1),Co=Vn(()=>{_t.current=!1,bn.current=setTimeout(()=>{_t.current=!0,wn(29)},500)},[]),Ln=Vn(()=>{bn.current&&(clearTimeout(bn.current),bn.current=null)},[]);hn(()=>()=>{bn.current&&clearTimeout(bn.current),lt.current&&clearTimeout(lt.current)},[]);let kn=yr(),Mt=ar(()=>e.annotations.filter(C=>!C.pathname||C.pathname===kn),[e.annotations,kn]),so=ar(()=>vi(e.annotations),[e.annotations]),Jt=ar(()=>{let C=[],J=new Set,ne=[...e.annotations].sort((ye,me)=>ye.timestamp-me.timestamp);for(let ye of ne)if(!so.has(ye))if(ye.groupId){if(!J.has(ye.groupId)){J.add(ye.groupId);let me=e.annotations.filter(Ie=>Ie.groupId===ye.groupId&&!so.has(Ie)),Le=me.find(Ie=>Ie.type!=="text")||me[0],Ee=Math.min(...me.map(Ie=>Ie.timestamp));C.push({id:Le.id,pathname:ye.pathname,annotations:me,timestamp:Ee})}}else C.push({id:ye.id,pathname:ye.pathname,annotations:[ye],timestamp:ye.timestamp});return C},[e.annotations,so]),ur=ar(()=>Jt.filter(C=>!C.pathname||C.pathname===kn),[Jt,kn]),[Gt,Kn]=lr(null),_n=Jt.length+e.styleModifications.length;hn(()=>{(_n===0||Gt!==null&&Gt>=_n)&&Kn(null)},[_n,Gt]),hn(()=>{if(e.selectedAnnotationIds.length===0&&!e.inspectedElement){Kn(null);return}if(e.selectedAnnotationIds.length>0){let C=e.selectedAnnotationIds[0],J=Jt.findIndex(ne=>ne.id===C||ne.annotations.some(ye=>ye.id===C));J>=0&&J!==Gt&&Kn(J)}},[e.selectedAnnotationIds,e.inspectedElement,Jt]);let ho=Vn(()=>{var J;if(_n===0)return;let C;if(Gt===null?C=0:Gt+1>=_n?C=null:C=Gt+1,Kn(C),C===null){t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SELECT_ELEMENT",payload:null});return}if(C<Jt.length){let ne=Jt[C];if(!(!ne.pathname||ne.pathname===kn)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:ne.id,pathname:ne.pathname})),window.location.href=ne.pathname;return}t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:ne.id}});let me=ne.annotations.find(z=>z.type!=="text")||ne.annotations[0];if(ne.annotations.some(z=>z.linkedSelector))t({type:"SET_TOOL",payload:"inspector"});else if(me!=null&&me.type&&me.type!=="text"&&me.type!=="inspector"){t({type:"SET_TOOL",payload:me.type});let z=cr.findIndex(re=>re.type===me.type);z>=0&&gt(z)}if(me!=null&&me.color){t({type:"SET_COLOR",payload:me.color});let z=Be(me.color);z!==null&&wn(z)}let Ee=ne.annotations.flatMap(z=>z.points);if(Ee.length===0)return;let Ie=Math.min(...Ee.map(z=>z.x)),Oe=Math.max(...Ee.map(z=>z.x)),Lt=Math.min(...Ee.map(z=>z.y)),Ut=Math.max(...Ee.map(z=>z.y)),x=(Ie+Oe)/2,L=(Lt+Ut)/2;if(window.scrollTo({left:x-window.innerWidth/2,top:L-window.innerHeight/2,behavior:"smooth"}),A&&v){let z=(J=ne.annotations.find(re=>re.threadId))==null?void 0:J.threadId;z&&v(z)}}else{let ne=C-Jt.length,ye=e.styleModifications[ne];if(!ye)return;let me=On(ye.selector);if(!me)return;t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SELECT_ELEMENT",payload:{el:me,info:ye.element}});let Le=me.getBoundingClientRect(),Ee=Le.left+Le.width/2+window.scrollX,Ie=Le.top+Le.height/2+window.scrollY;window.scrollTo({left:Ee-window.innerWidth/2,top:Ie-window.innerHeight/2,behavior:"smooth"})}},[Jt,kn,e.styleModifications,_n,Gt,t,Be,A,v]);hn(()=>{if(!ge)return;let C=J=>{var Le;let ne=document.activeElement;for(;(Le=ne==null?void 0:ne.shadowRoot)!=null&&Le.activeElement;)ne=ne.shadowRoot.activeElement;if((ne==null?void 0:ne.tagName)==="INPUT"||(ne==null?void 0:ne.tagName)==="TEXTAREA"||ne!=null&&ne.isContentEditable)return;if((J.metaKey||J.ctrlKey)&&J.key==="Enter"){o&&(e.annotations.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(Ee=>!Ee.captured).length>0)&&(J.preventDefault(),In());return}if((J.metaKey||J.ctrlKey)&&(J.key==="c"||J.key==="C"||J.code==="KeyC")){let Ee=window.getSelection();if(Ee&&Ee.toString().length>0)return;(e.annotations.length>0||e.styleModifications.length>0)&&(J.preventDefault(),window.focus(),Kt());return}if((J.metaKey||J.ctrlKey)&&(J.key==="Backspace"||J.key==="Delete")){J.preventDefault(),io();return}if(J.metaKey||J.ctrlKey||J.altKey)return;let ye={p:"freehand",l:"line",r:"rectangle",o:"circle",t:"text",c:"inspector",h:"hand"};if(J.key.toLowerCase()==="m"){J.preventDefault(),dn("model");return}let me=ye[J.key.toLowerCase()];if(me){J.preventDefault();let Ee=cr.findIndex(Ie=>Ie.type===me);Ee>=0&&gt(Ee),dn(me)}};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[ge,dn,Kt,In,o,io,e.annotations.length,e.styleModifications.length,e.spacingTokenChanges,ae]);let Nr=Wa(Ne,We.w,We.h),wt=h(f(f({},zf),Nr),{borderRadius:0,padding:ge?"0 8px":"0",width:ge?"auto":48,height:48,gap:0,justifyContent:ge?"flex-start":"center"}),Vt=xe("div",{style:Si({color:r&&i?i:"rgb(0,0,0)",animated:!!r})}),Ct=P===!1?"rgba(239, 68, 68, 0.4)":r&&i?i:oo.iconActive,qn=!!(O&&w&&O!==w),zn=N==="restarting"||!ee&&!$,Nn=N==="error"?"#dc2626":N==="ok"?oo.iconDefault:qn?"#b45309":oo.iconDefault,Eo=N==="restarting"?"Restarting":N==="error"?"Restart failed":N==="ok"?"Restarted":qn?"Update bridge":null,on=se!=null?se:qn?`Bridge ${w} is older than package ${O}. Restart bridge.`:w?`Bridge ${w}. Restart bridge.`:"Restart bridge",pr=Ht(null);hn(()=>{if(!ge)return;let C=pr.current;if(!C)return;let J=()=>{s==null||s(!0),Yt("collapse")},ne=()=>{s==null||s(!1),yn()};return C.addEventListener("mouseenter",J),C.addEventListener("mouseleave",ne),()=>{C.removeEventListener("mouseenter",J),C.removeEventListener("mouseleave",ne)}},[ge,r,s,Yt,yn]);let $o=Ht(null);return hn(()=>{if(ge)return;let C=$o.current;if(!C)return;let J=C.querySelector("[data-popmelt-logo]"),ne=()=>{C.style.opacity="1",!r&&J&&(J.style.fill="#000"),ue==null||ue()},ye=()=>{C.style.opacity=r?"1":"0.5",!r&&J&&(J.style.fill="none")};return C.addEventListener("mouseenter",ne),C.addEventListener("mouseleave",ye),()=>{C.removeEventListener("mouseenter",ne),C.removeEventListener("mouseleave",ye)}},[ge,r,ue]),ge?Pt(Xr,{children:[xe("style",{children:`
15
+ Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{key:"\u2318\u2318",desc:"Toggle toolbar"}]}},Dg={zIndex:9999,display:"flex",alignItems:"center",backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",cursor:"pointer",overflow:"visible",boxSizing:"content-box",transition:"none"},da="devtools-toolbar-expanded",ua="devtools-annotations",pa="devtools-style-modifications",fa="devtools-active-tool",Jc="devtools-active-color",Vc="devtools-stroke-width",Uc="devtools-inspected-element",ga="devtools-spacing-changes",_g={expanded:da,annotations:ua,styleMods:pa,spacingChanges:ga,tool:fa,color:Jc,stroke:Vc,inspected:Uc};function Kc({state:e,dispatch:t,onScreenshot:n,onSendToClaude:o,hasActiveJobs:r,activeJobColor:s,onCrosshairHover:i,onClear:l,provider:a="claude",onProviderChange:d,availableProviders:c,modelIndex:u=0,modelCount:p=2,modelLabel:g="Opus 4.6",onModelChange:v,onViewThread:x,isThreadPanelOpen:w,mcpStatus:I,bridgeUrl:N,isBridgeConnected:H,packageVersion:O,bridgeVersion:L,bridgeRestartState:Y="idle",bridgeRestartMessage:re,onBridgeRestart:Z,modelSelectedComponent:_,modelCanvasHoveredComponent:B,onModelComponentHover:h,onSpacingTokenHover:A,onModifySpacingToken:k,onDeleteSpacingToken:be,modelRefreshKey:K,evalRefreshKey:de,onModelComponentAdded:F,onModelComponentRemoved:me,onSynthesizeRules:R,isSynthesizing:ie,onSynthesizeEvals:Se,isSynthesizingEvals:Pe,onRunEval:_e,onViewEvalRunThread:Ze,runningEvalIds:Oe,onMouseEnter:he,toolbarRef:Fe,snapPosition:rt="bottom-right",onSnapPositionChange:ht}){let[Jt,Q]=Sr(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});mn(()=>{let D=()=>Q({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",D),()=>window.removeEventListener("resize",D)},[]);let[ne,Te]=Sr(()=>typeof window=="undefined"?!1:localStorage.getItem(da)==="true"),[$e,pt]=Sr(0),Je=Nt(0),ye=Nt(0),ct=Nt(e.isAnnotating),Ge=Nt(!1),_t=Nt(typeof window!="undefined"?localStorage.getItem(fa):null),dt=Nt(typeof window!="undefined"?localStorage.getItem(Jc):null),pe=Nt(typeof window!="undefined"?localStorage.getItem(Vc):null),[se,Ce]=Sr(null),Re=Nt(!1),it=Nt(null),Me=Nt(null),Wt=Nt(null),[en,pn]=Sr([]),zn=Nt({x:0,y:0}),jt=Nt(null),Ot=Nt(null),hn=Nt(null),vt=Xn(()=>{jt.current=null,Ot.current=null,hn.current&&(clearTimeout(hn.current),hn.current=null)},[]),Vt=Xn(D=>{Me.current&&(clearTimeout(Me.current),Me.current=null),Re.current?(jt.current=D,Ot.current=f({},zn.current),hn.current&&clearTimeout(hn.current),hn.current=setTimeout(()=>{jt.current&&(Ce(jt.current),vt())},300)):(it.current&&clearTimeout(it.current),it.current=setTimeout(()=>{Re.current=!0,Ce(D),it.current=null},500))},[vt]),Qe=Xn(()=>{vt(),it.current&&(clearTimeout(it.current),it.current=null),Me.current=setTimeout(()=>{Re.current=!1,Ce(null)},150)},[vt]);mn(()=>{let D=Wt.current;if(!D)return;let V=()=>{vt(),Me.current&&(clearTimeout(Me.current),Me.current=null)},ee=()=>{Me.current=setTimeout(()=>{Re.current=!1,Ce(null)},150)};return D.addEventListener("mouseenter",V),D.addEventListener("mouseleave",ee),()=>{D.removeEventListener("mouseenter",V),D.removeEventListener("mouseleave",ee)}},[se,vt]),mn(()=>{if(se!=="counter"||!N)return;let D=!1;return fetch(`${N}/threads/recent?limit=5`).then(V=>V.ok?V.json():[]).then(V=>{D||pn(V)}).catch(()=>{}),()=>{D=!0}},[se,N]);let xo=Xn(D=>{if(zn.current={x:D.clientX,y:D.clientY},jt.current&&Ot.current){let V=Ot.current,ee=Og(rt);Pg(D.clientX,D.clientY,V.x,V.y,ee.left,ee.y,ee.right,ee.y)||(Ce(jt.current),vt())}},[vt,rt]),Ke=xr(()=>{let D=(c!=null?c:[]).map(V=>V==="claude"?"Claude":V==="codex"?"Codex":V==="copilot"?"Copilot":V);return{name:"AI Model",desc:D.length>1?`${D.join(" and ")} are available.`:D.length===1?`Connected to ${D[0]}.`:"No AI providers detected.",usage:D.length>1?["Click the logo to switch between providers","Click the model name to switch tiers"]:["Click the model name to switch tiers"],keys:D.length>1?[{key:"Click",desc:"Switch"},{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]:[{key:"\u2318 Enter",desc:"Hand off to your AI",accent:!0}]}},[c]),Tt=xr(()=>{var ee;let D=c&&c.length>0?c:["claude","codex","copilot"],V=D.indexOf(a);return(ee=D[(V>=0?V+1:0)%D.length])!=null?ee:a},[c,a]),Gn=xr(()=>Lg(p,u),[p,u]);Sc(ne,e,Ge,!!r,_g),mn(()=>{let D=new URLSearchParams(window.location.search);if(!D.has("popmelt"))return;let V=document.createElement("style");V.textContent="nextjs-portal, vite-error-overlay { display: none !important; }",document.head.appendChild(V);let ee=parseInt(D.get("popmelt")||"0",10)||0,ge=()=>{Te(!0),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SET_ANNOTATING",payload:!0})};if(ee>0){let ae=setTimeout(ge,ee);return()=>clearTimeout(ae)}ge()},[]),mn(()=>{var ee;if(localStorage.getItem(da)==="true"&&!e.isAnnotating){if(ne||Te(!0),t({type:"SET_TOOL",payload:_t.current||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),dt.current&&t({type:"SET_COLOR",payload:dt.current}),pe.current){let Ne=parseFloat(pe.current);isNaN(Ne)||t({type:"SET_STROKE_WIDTH",payload:Ne})}let ge=localStorage.getItem(ua);if(ge)try{let Ne=JSON.parse(ge);if(Array.isArray(Ne)&&Ne.length>0){for(let Mt of Ne)(Mt.status==="waiting_input"||Mt.status==="in_flight")&&(Mt.status=Mt.threadId?"resolved":"pending");t({type:"RESTORE_ANNOTATIONS",payload:{annotations:Ne}})}}catch(Ne){}let ae=localStorage.getItem(pa);if(ae)try{let Ne=JSON.parse(ae);Array.isArray(Ne)&&Ne.length>0&&(t({type:"RESTORE_STYLE_MODIFICATIONS",payload:Ne}),Oi(Ne))}catch(Ne){}let Ie=localStorage.getItem(ga);if(Ie)try{let Ne=JSON.parse(Ie);Array.isArray(Ne)&&Ne.length>0&&t({type:"RESTORE_SPACING_TOKEN_CHANGES",payload:Ne})}catch(Ne){}let ke=localStorage.getItem(Uc);if(ke)try{let{selector:Ne,info:Mt}=JSON.parse(ke);if(Ne){let qt=Hn(Ne);if(qt){let xn=Mt||y(f({},Nn(qt)),{selector:Ne});t({type:"SELECT_ELEMENT",payload:{el:qt,info:xn}})}}}catch(Ne){}let He=sessionStorage.getItem("popmelt-pending-focus");if(He){sessionStorage.removeItem("popmelt-pending-focus");try{let{annotationId:Ne}=JSON.parse(He);if(Ne){let Mt=ge?(ee=JSON.parse(ge))!=null?ee:[]:[];requestAnimationFrame(()=>{t({type:"SELECT_ANNOTATION",payload:{id:Ne}});let qt=Mt.find(xn=>xn.id===Ne);if(qt){let It=(qt.groupId?Mt.filter(Ve=>Ve.groupId===qt.groupId):[qt]).flatMap(Ve=>Ve.points);if(It.length>0){let Ve=Math.min(...It.map(En=>En.x)),Yn=Math.max(...It.map(En=>En.x)),Oo=Math.min(...It.map(En=>En.y)),Bo=Math.max(...It.map(En=>En.y));window.scrollTo({left:(Ve+Yn)/2-window.innerWidth/2,top:(Oo+Bo)/2-window.innerHeight/2,behavior:"smooth"})}}})}}catch(Ne){}}}let V=sessionStorage.getItem("popmelt-pending-thread");if(V){sessionStorage.removeItem("popmelt-pending-thread");try{let{threadId:ge,selector:ae,preview:Ie}=JSON.parse(V);ge&&requestAnimationFrame(()=>{if(ae)try{let ke=document.querySelector(ae);if(ke){let He=ke.getBoundingClientRect(),Ne=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:Ne,point:{x:He.left+He.width,y:He.top},text:Ie||"[thread]",linkedSelector:ae,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[Ne],threadId:ge}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[Ne],status:"resolved"}})}}catch(ke){}x&&x(ge)})}catch(ge){}}return Ge.current=!0,()=>{Ge.current=!1}},[]);let So=Nt(e.styleModifications);mn(()=>{let D=So.current,V=e.styleModifications;D!==V&&(Bi(D),Oi(V),So.current=V)},[e.styleModifications]),mn(()=>{let D=ct.current;ct.current=e.isAnnotating,D&&!e.isAnnotating&&ne&&Te(!1)},[e.isAnnotating,ne]);let Fn=Nt(ne);Fn.current=ne,mn(()=>{let D=ee=>{if(ee.key==="Meta"||ee.key==="Control"){let ge=Date.now();if(ge-Je.current<300){if(ye.current++,ye.current>=2){if(Fn.current)t({type:"SET_ANNOTATING",payload:!1}),Te(!1);else{let ke=localStorage.getItem(fa);t({type:"SET_TOOL",payload:ke||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),Te(!0)}ye.current=0}}else ye.current=1;Je.current=ge}else ye.current=0},V=ee=>{ee.key!=="Meta"&&ee.key!=="Control"&&(ye.current=0)};return window.addEventListener("keydown",D),window.addEventListener("keyup",V),()=>{window.removeEventListener("keydown",D),window.removeEventListener("keyup",V)}},[t]);let rn=Xn(D=>{vt(),t({type:"SET_TOOL",payload:D}),e.isAnnotating||t({type:"SET_ANNOTATING",payload:!0}),Re.current=!1,Ce(null),it.current&&(clearTimeout(it.current),it.current=null),Me.current&&(clearTimeout(Me.current),Me.current=null)},[t,e.isAnnotating,vt]),Tn=Xn(async()=>{window.focus(),await n()},[n]),W=Xn(async()=>{o&&await o()},[o]),fe=Xn(()=>{t({type:"SET_ANNOTATING",payload:!1}),Te(!1)},[t]),Le=Xn(()=>{Bi(e.styleModifications),document.querySelectorAll("[data-pm]").forEach(D=>D.removeAttribute("data-pm")),t({type:"CLEAR"}),t({type:"CLEAR_ALL_STYLES"}),localStorage.removeItem(ua),localStorage.removeItem(pa),localStorage.removeItem(ga),sn(null),l==null||l()},[t,e.styleModifications,l]),[Gt,St]=Sr(()=>{if(dt.current){let D=dt.current.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);if(D!=null&&D[1])return parseFloat(D[1])}return 29}),yn=Nt(null),bn=Nt(null),Ut=Nt(!1),Pn=Xn(D=>{let V=D.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);return V&&V[1]?parseFloat(V[1]):null},[]);mn(()=>{Ut.current=!0;let D=`oklch(0.628 0.258 ${Gt})`;t({type:"SET_COLOR",payload:D}),requestAnimationFrame(()=>{Ut.current=!1})},[Gt,t]),mn(()=>{if(Ut.current)return;let D=Pn(e.activeColor);D!==null&&Math.abs(D-Gt)>.5&&St(D)},[e.activeColor,Pn,Gt]);let vn=Nt(null);mn(()=>{if(r&&s){let D=Pn(s);D!==null&&Math.abs(D-Gt)>.5&&(vn.current===null&&(vn.current=Gt),St(D))}else vn.current!==null&&(St(vn.current),vn.current=null)},[r,s,Pn]);let Io=e.annotations.length>0;mn(()=>{let D=bn.current;if(!D||!Io)return;let V=ee=>{ee.preventDefault(),ee.stopPropagation();let ge=ee.deltaY>0?-1:1,ae=((Gt+ge)%360+360)%360,Ie=`oklch(0.628 0.258 ${ae})`;St(ae),e.selectedAnnotationIds.length>0&&t({type:"UPDATE_ANNOTATION_COLOR",payload:{id:e.lastSelectedId||e.selectedAnnotationIds[0],color:Ie}})};return D.addEventListener("wheel",V,{passive:!1}),()=>D.removeEventListener("wheel",V)},[Io,e.selectedAnnotationIds,e.lastSelectedId,Gt,t]);let yt=Nt(!1),Ro=Nt(0);mn(()=>{let D=e.annotations.some(ge=>!ge.status||ge.status==="pending"),V=yt.current;yt.current=D;let ee=Ro.current===0&&e.annotations.length>0;if(Ro.current=e.annotations.length,(V&&!D||ee&&!D)&&e.annotations.length>0){let ge=e.annotations.map(ae=>Pn(ae.color)).filter(ae=>ae!==null);if(ge.length>0){let ae=0,Ie=-1;for(let ke=0;ke<360;ke++){let He=Math.min(...ge.map(Ne=>{let Mt=Math.abs(ke-Ne);return Math.min(Mt,360-Mt)}));He>Ie&&(Ie=He,ae=ke)}St(ae)}}},[e.annotations,Pn]);let io=Nt(!1),jo=Xn(()=>{io.current=!1,yn.current=setTimeout(()=>{io.current=!0,St(29)},500)},[]),qn=Xn(()=>{yn.current&&(clearTimeout(yn.current),yn.current=null)},[]);mn(()=>()=>{yn.current&&clearTimeout(yn.current),hn.current&&clearTimeout(hn.current)},[]);let Mn=Ar(),Lo=xr(()=>e.annotations.filter(D=>!D.pathname||D.pathname===Mn),[e.annotations,Mn]),Zn=xr(()=>Ni(e.annotations),[e.annotations]),Kt=xr(()=>{let D=[],V=new Set,ee=[...e.annotations].sort((ge,ae)=>ge.timestamp-ae.timestamp);for(let ge of ee)if(!Zn.has(ge))if(ge.groupId){if(!V.has(ge.groupId)){V.add(ge.groupId);let ae=e.annotations.filter(He=>He.groupId===ge.groupId&&!Zn.has(He)),Ie=ae.find(He=>He.type!=="text")||ae[0],ke=Math.min(...ae.map(He=>He.timestamp));D.push({id:Ie.id,pathname:ge.pathname,annotations:ae,timestamp:ke})}}else D.push({id:ge.id,pathname:ge.pathname,annotations:[ge],timestamp:ge.timestamp});return D},[e.annotations,Zn]),Bt=xr(()=>Kt.filter(D=>!D.pathname||D.pathname===Mn),[Kt,Mn]),[Xt,sn]=Sr(null),$n=Kt.length+e.styleModifications.length;mn(()=>{($n===0||Xt!==null&&Xt>=$n)&&sn(null)},[$n,Xt]),mn(()=>{if(e.selectedAnnotationIds.length===0&&!e.inspectedElement){sn(null);return}if(e.selectedAnnotationIds.length>0){let D=e.selectedAnnotationIds[0],V=Kt.findIndex(ee=>ee.id===D||ee.annotations.some(ge=>ge.id===D));V>=0&&V!==Xt&&sn(V)}},[e.selectedAnnotationIds,e.inspectedElement,Kt]);let wo=Xn(()=>{var V;if($n===0)return;let D;if(Xt===null?D=0:Xt+1>=$n?D=null:D=Xt+1,sn(D),D===null){t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SELECT_ELEMENT",payload:null});return}if(D<Kt.length){let ee=Kt[D];if(!(!ee.pathname||ee.pathname===Mn)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:ee.id,pathname:ee.pathname})),window.location.href=ee.pathname;return}t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:ee.id}});let ae=ee.annotations.find(Ve=>Ve.type!=="text")||ee.annotations[0];if(ee.annotations.some(Ve=>Ve.linkedSelector))t({type:"SET_TOOL",payload:"inspector"});else if(ae!=null&&ae.type&&ae.type!=="text"&&ae.type!=="inspector"){t({type:"SET_TOOL",payload:ae.type});let Ve=wr.findIndex(Yn=>Yn.type===ae.type);Ve>=0&&pt(Ve)}if(ae!=null&&ae.color){t({type:"SET_COLOR",payload:ae.color});let Ve=Pn(ae.color);Ve!==null&&St(Ve)}let ke=ee.annotations.flatMap(Ve=>Ve.points);if(ke.length===0)return;let He=Math.min(...ke.map(Ve=>Ve.x)),Ne=Math.max(...ke.map(Ve=>Ve.x)),Mt=Math.min(...ke.map(Ve=>Ve.y)),qt=Math.max(...ke.map(Ve=>Ve.y)),xn=(He+Ne)/2,It=(Mt+qt)/2;if(window.scrollTo({left:xn-window.innerWidth/2,top:It-window.innerHeight/2,behavior:"smooth"}),w&&x){let Ve=(V=ee.annotations.find(Yn=>Yn.threadId))==null?void 0:V.threadId;Ve&&x(Ve)}}else{let ee=D-Kt.length,ge=e.styleModifications[ee];if(!ge)return;let ae=Hn(ge.selector);if(!ae)return;t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SELECT_ELEMENT",payload:{el:ae,info:ge.element}});let Ie=ae.getBoundingClientRect(),ke=Ie.left+Ie.width/2+window.scrollX,He=Ie.top+Ie.height/2+window.scrollY;window.scrollTo({left:ke-window.innerWidth/2,top:He-window.innerHeight/2,behavior:"smooth"})}},[Kt,Mn,e.styleModifications,$n,Xt,t,Pn,w,x]);mn(()=>{if(!ne)return;let D=V=>{var Ie;let ee=document.activeElement;for(;(Ie=ee==null?void 0:ee.shadowRoot)!=null&&Ie.activeElement;)ee=ee.shadowRoot.activeElement;if((ee==null?void 0:ee.tagName)==="INPUT"||(ee==null?void 0:ee.tagName)==="TEXTAREA"||ee!=null&&ee.isContentEditable)return;if((V.metaKey||V.ctrlKey)&&V.key==="Enter"){o&&(e.annotations.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(ke=>!ke.captured).length>0)&&(V.preventDefault(),W());return}if((V.metaKey||V.ctrlKey)&&(V.key==="c"||V.key==="C"||V.code==="KeyC")){let ke=window.getSelection();if(ke&&ke.toString().length>0)return;(e.annotations.length>0||e.styleModifications.length>0)&&(V.preventDefault(),window.focus(),Tn());return}if((V.metaKey||V.ctrlKey)&&(V.key==="Backspace"||V.key==="Delete")){V.preventDefault(),Le();return}if(V.metaKey||V.ctrlKey||V.altKey)return;let ge={p:"freehand",l:"line",r:"rectangle",o:"circle",t:"text",c:"inspector",h:"hand",e:"eval"};if(V.key.toLowerCase()==="m"){V.preventDefault(),rn("model");return}let ae=ge[V.key.toLowerCase()];if(ae){V.preventDefault();let ke=wr.findIndex(He=>He.type===ae);ke>=0&&pt(ke),rn(ae)}};return window.addEventListener("keydown",D),()=>window.removeEventListener("keydown",D)},[ne,rn,Tn,W,o,Le,e.annotations.length,e.styleModifications.length,e.spacingTokenChanges,se]);let In=ll(rt,Jt.w,Jt.h),Ao=y(f(f({},Dg),In),{borderRadius:0,padding:ne?"0 8px":"0",width:ne?"auto":48,height:48,gap:0,justifyContent:ne?"flex-start":"center"}),an=ve("div",{style:zi({color:r&&s?s:"rgb(0,0,0)",animated:!!r})}),Go=H===!1?"rgba(239, 68, 68, 0.4)":r&&s?s:oo.iconActive,Po=!!(O&&L&&O!==L),so=Y==="restarting"||!Z&&!N,Er=Y==="error"?"#dc2626":Y==="ok"?oo.iconDefault:Po?"#b45309":oo.iconDefault,ao=Y==="restarting"?"Restarting":Y==="error"?"Restart failed":Y==="ok"?"Restarted":Po?"Update bridge":null,Qo=re!=null?re:Po?`Bridge ${L} is older than package ${O}. Restart bridge.`:L?`Bridge ${L}. Restart bridge.`:"Restart bridge",Yo=Nt(null);mn(()=>{if(!ne)return;let D=Yo.current;if(!D)return;let V=()=>{i==null||i(!0),Vt("collapse")},ee=()=>{i==null||i(!1),Qe()};return D.addEventListener("mouseenter",V),D.addEventListener("mouseleave",ee),()=>{D.removeEventListener("mouseenter",V),D.removeEventListener("mouseleave",ee)}},[ne,r,i,Vt,Qe]);let On=Nt(null);return mn(()=>{if(ne)return;let D=On.current;if(!D)return;let V=D.querySelector("[data-popmelt-logo]"),ee=()=>{D.style.opacity="1",!r&&V&&(V.style.fill="#000"),he==null||he()},ge=()=>{D.style.opacity=r?"1":"0.5",!r&&V&&(V.style.fill="none")};return D.addEventListener("mouseenter",ee),D.addEventListener("mouseleave",ge),()=>{D.removeEventListener("mouseenter",ee),D.removeEventListener("mouseleave",ge)}},[ne,r,he]),ne?At(li,{children:[ve("style",{children:`
11
16
  @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
12
17
  @keyframes popmelt-border-march { to { background-position: 0 -5px; } }
13
- `}),xe("div",{id:"devtools-scrim",style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.06)",zIndex:9997,pointerEvents:"none"}}),!A&&(ae==="model"||e.activeTool==="model")&&xe(bc,{bridgeUrl:$,selectedComponent:G,hoveredComponent:oe,onComponentHover:W,onSpacingTokenHover:Z,onModifySpacingToken:k,onDeleteSpacingToken:Ce,modelRefreshKey:Q,onComponentAdded:fe,onComponentRemoved:_,onSynthesizeRules:le,isSynthesizing:M,snapPosition:Ne,onMouseEnter:()=>{ut(),ke.current&&(clearTimeout(ke.current),ke.current=null)},onMouseLeave:e.activeTool==="model"?void 0:yn}),ae&&ae!=="model"&&(ae==="provider"||Sc[ae])&&(()=>{let C=ae==="provider"?cn:Sc[ae];return Pt("div",{ref:Tt,style:f(h(f(h(f({},Ga(Ne,We.w,We.h)),{width:300,backgroundColor:"#eaeaea"}),Mr),{boxSizing:"content-box",zIndex:10001,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12}),ae!=="collapse"&&ae!=="counter"?{pointerEvents:"none"}:{}),children:[ae==="collapse"&&xe("div",{style:{marginBottom:10,width:"fit-content",color:oo.iconDefault},children:xe("svg",{width:"48",height:"48",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:xe("path",{d:"M11.1406 31.2559C11.2407 31.3875 11.351 31.5132 11.4697 31.6338L3.10449 40H2.39746L11.1406 31.2559ZM8.05371 40H7.34668L14.5498 32.7959C14.8554 32.7706 15.1541 32.7063 15.4414 32.6113L8.05371 40ZM18.2197 34.0762C18.3788 34.1569 18.5445 34.2272 18.7168 34.2861L13.0039 40H12.2969L18.2197 34.0762ZM17.9531 40H17.2461L26.1338 31.1113C26.438 31.0829 26.7427 31.0148 27.0439 30.9082L17.9531 40ZM40 22.9023L22.9033 40H22.1963L40 22.1953V22.9023ZM40 27.8525L27.8525 40H27.1455L40 27.1455V27.8525ZM40 32.8027L32.8027 40H32.0957L40 32.0957V32.8027ZM40 37.752L37.752 40H37.0449L40 37.0449V37.752ZM9.06543 28.3809C9.25255 28.4332 9.45183 28.4715 9.66504 28.4883L0 38.1543V37.4473L9.06543 28.3809ZM6.59375 25.9023C6.65822 26.0626 6.73171 26.2263 6.81445 26.3896L0 33.2041V32.4971L6.59375 25.9023ZM20.25 8.00293H20.249C21.5098 8.0286 22.7219 8.25094 23.8584 8.63672L23.8604 8.63574C23.8961 8.64787 23.9312 8.66145 23.9668 8.67383C24.0611 8.70686 24.1548 8.74106 24.248 8.77637C24.2915 8.79273 24.3357 8.80727 24.3789 8.82422L24.376 8.82617C27.6145 10.0955 30.1646 12.7301 31.3213 16.0234L31.3232 16.0225C31.3327 16.0493 31.3404 16.0766 31.3496 16.1035C31.7691 17.3256 32 18.6356 32 20C32 20.8726 31.9366 21.6706 31.7598 22.4902L31.7197 22.6328C31.6412 23.0066 31.5136 23.6108 31.3408 24.2217L31.3398 24.2246C31.2967 24.377 31.251 24.5299 31.2021 24.6797C30.9215 25.5403 30.5473 26.2998 30.0879 26.2998C29.7613 26.2996 29.5995 25.9674 29.4316 25.6221C29.2501 25.2487 29.0614 24.8605 28.6484 24.8604C27.8532 24.8604 27.2081 25.5046 27.208 26.2998V27.0771C27.2079 27.6079 26.9661 28.112 26.5205 28.4004C25.9146 28.7925 25.2357 28.6462 24.7959 28.2061L24.7949 28.208C24.7897 28.2028 24.7854 28.1967 24.7803 28.1914C24.7654 28.1761 24.7507 28.1606 24.7363 28.1445C24.7105 28.1156 24.6858 28.0857 24.6621 28.0547C24.6461 28.0339 24.6302 28.013 24.6152 27.9912C24.5931 27.9591 24.5726 27.9257 24.5527 27.8916C24.5392 27.8685 24.5261 27.8452 24.5137 27.8213C24.5093 27.8128 24.5043 27.8045 24.5 27.7959L24.501 27.7939C24.3932 27.5763 24.3282 27.3276 24.3281 27.0576V26.2998C24.328 25.5993 23.8278 25.0158 23.165 24.8867V24.8877C23.0752 24.8702 22.9826 24.8604 22.8877 24.8604C22.8446 24.8604 22.8019 24.8624 22.7598 24.8662C22.0247 24.9312 21.4483 25.5479 21.4482 26.2998C21.4482 26.9127 21.4608 27.5305 21.4736 28.1494L21.4951 29.3135C21.5 29.7013 21.5015 30.089 21.4971 30.4756C21.4874 31.3103 20.8426 32 20.0078 32C19.1732 31.9998 18.5292 31.3102 18.5195 30.4756C18.5159 30.1613 18.5176 29.8464 18.5205 29.5312V29.5322C18.5212 29.4593 18.5206 29.3864 18.5215 29.3135L18.5303 28.8154V28.8145C18.5343 28.5927 18.5384 28.371 18.543 28.1494C18.5558 27.5305 18.5684 28.1129 18.5684 27.5C18.5684 26.7047 17.9232 26.0596 17.1279 26.0596C16.907 26.0596 16.6978 26.1103 16.5107 26.1992C16.2161 26.3393 15.9767 26.5769 15.834 26.8701C15.8269 26.8846 15.8201 26.8993 15.8135 26.9141C15.7821 26.9845 15.7562 27.0579 15.7363 27.1338C15.7243 27.1798 15.7155 27.2267 15.708 27.2744C15.7012 27.3175 15.6953 27.361 15.6924 27.4053C15.6903 27.4366 15.6885 27.4681 15.6885 27.5V28.7383C15.6883 29.9234 14.4911 30.7248 13.4961 30.0811C13.0505 29.7926 12.8086 29.2886 12.8086 28.7578V26.2998C12.8086 25.9737 12.6984 25.674 12.5156 25.4326C12.4437 25.3381 12.3612 25.2521 12.2686 25.1777V25.1768C12.0219 24.9788 11.709 24.8604 11.3682 24.8604C10.9892 24.8604 10.8622 24.8872 10.7295 25.2295C10.5837 25.6055 10.4302 26 9.92773 26C9.33081 25.9996 8.95963 25.2403 8.71484 24.3799C8.5591 23.8325 8.45907 23.571 8.3623 23.0107C8.3501 22.9401 8.33284 22.8403 8.31738 22.7529C8.12812 21.9466 8.02043 21.1089 8.00293 20.249V20.25L8 20C8 19.8617 8.00317 19.724 8.00781 19.5869C8.00837 19.5703 8.00816 19.5537 8.00879 19.5371L8.00977 19.5352C8.0998 17.1716 8.87444 14.9844 10.1396 13.1631C10.1488 13.1499 10.1587 13.1372 10.168 13.124C12.255 10.1453 15.6582 8.15745 19.5352 8.00977L19.5371 8.00879C19.5537 8.00816 19.5703 8.00837 19.5869 8.00781C19.724 8.00317 19.8617 8 20 8L20.25 8.00293ZM5.72266 22.5303L0 28.2539V27.5469L5.62793 21.918C5.6553 22.1234 5.6868 22.3275 5.72266 22.5303ZM16.2637 26.8398L16.2617 26.8408C16.2784 26.8013 16.2954 26.7627 16.3135 26.7256C16.3203 26.7116 16.3275 26.6982 16.334 26.6855C16.3125 26.7277 16.289 26.7808 16.2637 26.8398ZM40 17.9531L33.9854 23.9668C34.051 23.6832 34.1043 23.4321 34.1445 23.2412L34.1641 23.1748L34.1865 23.0967L34.1963 23.0488L40 17.2461V17.9531ZM5.87012 16.7266C5.80321 17.0165 5.74649 17.3101 5.69727 17.6064L0 23.3047V22.5977L5.87012 16.7266ZM40 13.0039L34.4297 18.5732C34.409 18.3615 34.3832 18.1513 34.3535 17.9424L40 12.2969V13.0039ZM0 18.3555V17.6484L17.6484 0H18.3555L0 18.3555ZM40 8.05371L33.458 14.5947C33.3909 14.4277 33.3202 14.2625 33.2471 14.0986L40 7.34668V8.05371ZM0 13.4053V12.6982L12.6992 0H13.4062L0 13.4053ZM40 3.10352L31.6865 11.416C31.5868 11.2805 31.4851 11.1465 31.3809 11.0146L40 2.39648V3.10352ZM29.2881 8.86523C29.1595 8.75783 29.0288 8.65278 28.8965 8.5498L37.4473 0H38.1543L29.2881 8.86523ZM0 8.45508V7.74805L7.74805 0H8.45508L0 8.45508ZM26.2783 6.92578C26.1183 6.84878 25.9562 6.77534 25.793 6.7041L32.498 0H33.2051L26.2783 6.92578ZM17.6064 5.69727C17.3101 5.74649 17.0165 5.80321 16.7266 5.87012L22.5977 0H23.3047L17.6064 5.69727ZM22.5322 5.7207C22.3295 5.685 22.1254 5.65316 21.9199 5.62598L27.5469 0H28.2539L22.5322 5.7207ZM0 3.50586V2.79883L2.79883 0H3.50586L0 3.50586Z",fill:"currentColor"})})}),Pt("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[xe("span",{children:C.name}),C.keys[0]&&xe("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:C.keys[0].key})]}),xe("div",{style:{color:"#6b7280",lineHeight:1.5,marginBottom:ae==="collapse"?0:10},children:C.desc.split(`
18
+ `}),ve("div",{id:"devtools-scrim",style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.06)",zIndex:9997,pointerEvents:"none"}}),!w&&(se==="eval"||e.activeTool==="eval")&&ve(Tc,{bridgeUrl:N,refreshKey:de,snapPosition:rt,onSynthesize:Se,isSynthesizing:Pe,onRunEval:_e,onViewRunThread:Ze,runningEvalIds:Oe,onMouseEnter:()=>{vt(),Me.current&&(clearTimeout(Me.current),Me.current=null)},onMouseLeave:e.activeTool==="eval"?void 0:Qe}),!w&&(se==="model"||e.activeTool==="model")&&ve(Wc,{bridgeUrl:N,selectedComponent:_,hoveredComponent:B,onComponentHover:h,onSpacingTokenHover:A,onModifySpacingToken:k,onDeleteSpacingToken:be,modelRefreshKey:K,onComponentAdded:F,onComponentRemoved:me,onSynthesizeRules:R,isSynthesizing:ie,snapPosition:rt,onMouseEnter:()=>{vt(),Me.current&&(clearTimeout(Me.current),Me.current=null)},onMouseLeave:e.activeTool==="model"?void 0:Qe}),se&&se!=="model"&&se!=="eval"&&(se==="provider"||Yc[se])&&(()=>{let D=se==="provider"?Ke:Yc[se];return At("div",{ref:Wt,style:f(y(f(y(f({},cl(rt,Jt.w,Jt.h)),{width:300,backgroundColor:"#eaeaea"}),Ko),{boxSizing:"content-box",zIndex:10001,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12}),se!=="collapse"&&se!=="counter"?{pointerEvents:"none"}:{}),children:[se==="collapse"&&ve("div",{style:{marginBottom:10,width:"fit-content",color:oo.iconDefault},children:ve("svg",{width:"48",height:"48",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:ve("path",{d:"M11.1406 31.2559C11.2407 31.3875 11.351 31.5132 11.4697 31.6338L3.10449 40H2.39746L11.1406 31.2559ZM8.05371 40H7.34668L14.5498 32.7959C14.8554 32.7706 15.1541 32.7063 15.4414 32.6113L8.05371 40ZM18.2197 34.0762C18.3788 34.1569 18.5445 34.2272 18.7168 34.2861L13.0039 40H12.2969L18.2197 34.0762ZM17.9531 40H17.2461L26.1338 31.1113C26.438 31.0829 26.7427 31.0148 27.0439 30.9082L17.9531 40ZM40 22.9023L22.9033 40H22.1963L40 22.1953V22.9023ZM40 27.8525L27.8525 40H27.1455L40 27.1455V27.8525ZM40 32.8027L32.8027 40H32.0957L40 32.0957V32.8027ZM40 37.752L37.752 40H37.0449L40 37.0449V37.752ZM9.06543 28.3809C9.25255 28.4332 9.45183 28.4715 9.66504 28.4883L0 38.1543V37.4473L9.06543 28.3809ZM6.59375 25.9023C6.65822 26.0626 6.73171 26.2263 6.81445 26.3896L0 33.2041V32.4971L6.59375 25.9023ZM20.25 8.00293H20.249C21.5098 8.0286 22.7219 8.25094 23.8584 8.63672L23.8604 8.63574C23.8961 8.64787 23.9312 8.66145 23.9668 8.67383C24.0611 8.70686 24.1548 8.74106 24.248 8.77637C24.2915 8.79273 24.3357 8.80727 24.3789 8.82422L24.376 8.82617C27.6145 10.0955 30.1646 12.7301 31.3213 16.0234L31.3232 16.0225C31.3327 16.0493 31.3404 16.0766 31.3496 16.1035C31.7691 17.3256 32 18.6356 32 20C32 20.8726 31.9366 21.6706 31.7598 22.4902L31.7197 22.6328C31.6412 23.0066 31.5136 23.6108 31.3408 24.2217L31.3398 24.2246C31.2967 24.377 31.251 24.5299 31.2021 24.6797C30.9215 25.5403 30.5473 26.2998 30.0879 26.2998C29.7613 26.2996 29.5995 25.9674 29.4316 25.6221C29.2501 25.2487 29.0614 24.8605 28.6484 24.8604C27.8532 24.8604 27.2081 25.5046 27.208 26.2998V27.0771C27.2079 27.6079 26.9661 28.112 26.5205 28.4004C25.9146 28.7925 25.2357 28.6462 24.7959 28.2061L24.7949 28.208C24.7897 28.2028 24.7854 28.1967 24.7803 28.1914C24.7654 28.1761 24.7507 28.1606 24.7363 28.1445C24.7105 28.1156 24.6858 28.0857 24.6621 28.0547C24.6461 28.0339 24.6302 28.013 24.6152 27.9912C24.5931 27.9591 24.5726 27.9257 24.5527 27.8916C24.5392 27.8685 24.5261 27.8452 24.5137 27.8213C24.5093 27.8128 24.5043 27.8045 24.5 27.7959L24.501 27.7939C24.3932 27.5763 24.3282 27.3276 24.3281 27.0576V26.2998C24.328 25.5993 23.8278 25.0158 23.165 24.8867V24.8877C23.0752 24.8702 22.9826 24.8604 22.8877 24.8604C22.8446 24.8604 22.8019 24.8624 22.7598 24.8662C22.0247 24.9312 21.4483 25.5479 21.4482 26.2998C21.4482 26.9127 21.4608 27.5305 21.4736 28.1494L21.4951 29.3135C21.5 29.7013 21.5015 30.089 21.4971 30.4756C21.4874 31.3103 20.8426 32 20.0078 32C19.1732 31.9998 18.5292 31.3102 18.5195 30.4756C18.5159 30.1613 18.5176 29.8464 18.5205 29.5312V29.5322C18.5212 29.4593 18.5206 29.3864 18.5215 29.3135L18.5303 28.8154V28.8145C18.5343 28.5927 18.5384 28.371 18.543 28.1494C18.5558 27.5305 18.5684 28.1129 18.5684 27.5C18.5684 26.7047 17.9232 26.0596 17.1279 26.0596C16.907 26.0596 16.6978 26.1103 16.5107 26.1992C16.2161 26.3393 15.9767 26.5769 15.834 26.8701C15.8269 26.8846 15.8201 26.8993 15.8135 26.9141C15.7821 26.9845 15.7562 27.0579 15.7363 27.1338C15.7243 27.1798 15.7155 27.2267 15.708 27.2744C15.7012 27.3175 15.6953 27.361 15.6924 27.4053C15.6903 27.4366 15.6885 27.4681 15.6885 27.5V28.7383C15.6883 29.9234 14.4911 30.7248 13.4961 30.0811C13.0505 29.7926 12.8086 29.2886 12.8086 28.7578V26.2998C12.8086 25.9737 12.6984 25.674 12.5156 25.4326C12.4437 25.3381 12.3612 25.2521 12.2686 25.1777V25.1768C12.0219 24.9788 11.709 24.8604 11.3682 24.8604C10.9892 24.8604 10.8622 24.8872 10.7295 25.2295C10.5837 25.6055 10.4302 26 9.92773 26C9.33081 25.9996 8.95963 25.2403 8.71484 24.3799C8.5591 23.8325 8.45907 23.571 8.3623 23.0107C8.3501 22.9401 8.33284 22.8403 8.31738 22.7529C8.12812 21.9466 8.02043 21.1089 8.00293 20.249V20.25L8 20C8 19.8617 8.00317 19.724 8.00781 19.5869C8.00837 19.5703 8.00816 19.5537 8.00879 19.5371L8.00977 19.5352C8.0998 17.1716 8.87444 14.9844 10.1396 13.1631C10.1488 13.1499 10.1587 13.1372 10.168 13.124C12.255 10.1453 15.6582 8.15745 19.5352 8.00977L19.5371 8.00879C19.5537 8.00816 19.5703 8.00837 19.5869 8.00781C19.724 8.00317 19.8617 8 20 8L20.25 8.00293ZM5.72266 22.5303L0 28.2539V27.5469L5.62793 21.918C5.6553 22.1234 5.6868 22.3275 5.72266 22.5303ZM16.2637 26.8398L16.2617 26.8408C16.2784 26.8013 16.2954 26.7627 16.3135 26.7256C16.3203 26.7116 16.3275 26.6982 16.334 26.6855C16.3125 26.7277 16.289 26.7808 16.2637 26.8398ZM40 17.9531L33.9854 23.9668C34.051 23.6832 34.1043 23.4321 34.1445 23.2412L34.1641 23.1748L34.1865 23.0967L34.1963 23.0488L40 17.2461V17.9531ZM5.87012 16.7266C5.80321 17.0165 5.74649 17.3101 5.69727 17.6064L0 23.3047V22.5977L5.87012 16.7266ZM40 13.0039L34.4297 18.5732C34.409 18.3615 34.3832 18.1513 34.3535 17.9424L40 12.2969V13.0039ZM0 18.3555V17.6484L17.6484 0H18.3555L0 18.3555ZM40 8.05371L33.458 14.5947C33.3909 14.4277 33.3202 14.2625 33.2471 14.0986L40 7.34668V8.05371ZM0 13.4053V12.6982L12.6992 0H13.4062L0 13.4053ZM40 3.10352L31.6865 11.416C31.5868 11.2805 31.4851 11.1465 31.3809 11.0146L40 2.39648V3.10352ZM29.2881 8.86523C29.1595 8.75783 29.0288 8.65278 28.8965 8.5498L37.4473 0H38.1543L29.2881 8.86523ZM0 8.45508V7.74805L7.74805 0H8.45508L0 8.45508ZM26.2783 6.92578C26.1183 6.84878 25.9562 6.77534 25.793 6.7041L32.498 0H33.2051L26.2783 6.92578ZM17.6064 5.69727C17.3101 5.74649 17.0165 5.80321 16.7266 5.87012L22.5977 0H23.3047L17.6064 5.69727ZM22.5322 5.7207C22.3295 5.685 22.1254 5.65316 21.9199 5.62598L27.5469 0H28.2539L22.5322 5.7207ZM0 3.50586V2.79883L2.79883 0H3.50586L0 3.50586Z",fill:"currentColor"})})}),At("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[ve("span",{children:D.name}),D.keys[0]&&ve("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:D.keys[0].key})]}),ve("div",{style:{color:"#6b7280",lineHeight:1.5,marginBottom:se==="collapse"?0:10},children:D.desc.split(`
14
19
 
15
- `).map((J,ne)=>xe("p",{style:{margin:0,marginTop:ne>0?8:0},children:J},ne))}),C.usage.map((J,ne)=>Pt("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4},children:[xe("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2013"}),xe("span",{children:J})]},ne)),ae==="collapse"&&ve&&Pt("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8},children:[xe("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:6,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Position"}),xe("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:3,width:"fit-content"},children:Ua.map(J=>{let ne=J===Ne;return xe("button",{type:"button",onClick:()=>{X(null),ie.current=!1,ut(),ve(J)},title:J,style:{width:24,height:16,border:"none",cursor:"pointer",padding:0,backgroundColor:ne?"#1f2937":"rgba(0,0,0,0.08)",transition:"background-color 100ms ease"},onMouseEnter:ye=>{ne||(ye.currentTarget.style.backgroundColor="rgba(0,0,0,0.15)")},onMouseLeave:ye=>{ne||(ye.currentTarget.style.backgroundColor="rgba(0,0,0,0.08)")}},J)})})]}),ae==="collapse"&&(()=>{let J=Object.entries(T!=null?T:{}),ne=J.filter(([,Ee])=>Ee.found&&!Ee.disabled).map(([Ee])=>Ee.charAt(0).toUpperCase()+Ee.slice(1)),ye=J.filter(([,Ee])=>!Ee.found).map(([Ee])=>Ee);if(!$&&!ee&&ne.length===0&&ye.length===0)return null;let me=ye.map(Ee=>Ee.charAt(0).toUpperCase()+Ee.slice(1)),Le=[...ne,...me];return Pt("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8,display:"flex",alignItems:"center",gap:6,fontSize:11},children:[(ee||$)&&xe("button",{type:"button",onClick:()=>{zn||(ee?ee():va($))},disabled:zn,title:on,"aria-label":Eo!=null?Eo:"Restart bridge",style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,border:"none",borderRadius:0,backgroundColor:qn||N!=="idle"?"rgba(0,0,0,0.07)":"rgba(0,0,0,0.04)",color:Nn,cursor:zn?"default":"pointer",padding:0,opacity:zn?.55:1,flexShrink:0},children:N==="ok"?xe(kf,{size:14,strokeWidth:1.8}):xe(Af,{size:13,strokeWidth:1.7,style:{animation:N==="restarting"?"spin 0.8s linear infinite":void 0}})}),ne.length>0?Pt("span",{style:{color:"#6b7280"},children:["Available in ",Le.join(", ")]}):ye.length>0?Pt("span",{style:{color:"#6b7280"},children:["Available in ",me.join(", ")]}):null]})})(),C.keys.length>1&&xe("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8,display:"flex",flexDirection:"column",gap:4},children:C.keys.slice(1).map((J,ne)=>Pt("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:J.accent?"#fff":"#6b7280"},children:[xe("code",{style:{fontSize:10,backgroundColor:J.accent?e.activeColor:"rgba(0,0,0,0.06)",color:J.accent?"#fff":void 0,padding:"1px 4px",whiteSpace:"nowrap"},children:J.key}),xe("span",{style:{color:J.accent?e.activeColor:void 0,fontWeight:J.accent?600:void 0},children:J.desc})]},ne))}),ae==="counter"&&Jt.length>0&&(()=>{let J=xe("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8},children:xe("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:4,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Active"})}),ne=new Map;for(let Le of Jt){let Ee=Le.pathname||kn;ne.has(Ee)||ne.set(Ee,[]),ne.get(Ee).push(Le)}let ye=[...ne.entries()],me=ye.length>1;return Pt("div",{children:[J,xe("div",{style:{maxHeight:200,overflowY:"auto",scrollbarWidth:"thin"},children:ye.map(([Le,Ee])=>xe("div",{style:{marginBottom:me?4:0},children:Ee.map(Ie=>{var re,Te,ze,Ue;let Oe=Ie.annotations.find(Ge=>Ge.type==="text"&&Ge.text),Lt=(Oe==null?void 0:Oe.text)||`[${(Te=(re=Ie.annotations[0])==null?void 0:re.type)!=null?Te:"annotation"}]`,Ut=e.selectedAnnotationIds.includes(Ie.id),x=Jt.indexOf(Ie),L=x+1,z=(Ue=(ze=Ie.annotations[0])==null?void 0:ze.color)!=null?Ue:e.activeColor;return Pt("div",{onClick:()=>{var Xe;if(!(!Ie.pathname||Ie.pathname===kn)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:Ie.id,pathname:Ie.pathname})),window.location.href=Ie.pathname;return}if(Kn(x),t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:Ie.id}}),v){let Et=(Xe=Ie.annotations.find(yt=>yt.threadId))==null?void 0:Xe.threadId;Et&&v(Et)}ie.current=!1,X(null)},style:{display:"flex",alignItems:"baseline",gap:4,padding:"2px 0",cursor:"pointer"},onMouseEnter:Ge=>{let Xe=Ge.currentTarget.querySelector("[data-route-badge]");Xe&&(Xe.style.backgroundColor=z,Xe.style.color="#fff")},onMouseLeave:Ge=>{if(Ut)return;let Xe=Ge.currentTarget.querySelector("[data-route-badge]");Xe&&(Xe.style.backgroundColor="rgba(0,0,0,0.06)",Xe.style.color="#6b7280")},children:[Pt("code",{"data-route-badge":!0,style:{fontSize:10,color:Ut?"#fff":"#6b7280",backgroundColor:Ut?z:"rgba(0,0,0,0.06)",padding:"1px 4px",flexShrink:0,whiteSpace:"nowrap"},children:[L,". ",me?Le:""]}),xe("span",{style:{fontSize:11,color:Ut?"#1f2937":"#6b7280",fontWeight:Ut?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Lt})]},Ie.id)})},Le))})]})})(),ae==="counter"&&(()=>{let J=new Set(Jt.flatMap(me=>me.annotations.map(Le=>Le.threadId).filter(Boolean))),ne=je.filter(me=>!J.has(me.id));if(ne.length===0)return null;let ye=me=>{let Le=Math.floor((Date.now()-me)/1e3);if(Le<60)return"now";let Ee=Math.floor(Le/60);if(Ee<60)return`${Ee}m`;let Ie=Math.floor(Ee/60);return Ie<24?`${Ie}h`:`${Math.floor(Ie/24)}d`};return Pt("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8},children:[xe("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:4,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Recent"}),ne.map(me=>Pt("div",{onClick:()=>{let Le=me.elementIdentifiers[0];if(Le){let Ee=Le.indexOf(":"),Ie=Ee>0&&Le[0]==="/",Oe=Ie?Le.slice(0,Ee):void 0,Lt=Ie?Le.slice(Ee+1):Le;if(!(!Oe||Oe===kn)){sessionStorage.setItem("popmelt-pending-thread",JSON.stringify({threadId:me.id,selector:Lt,preview:me.preview})),window.location.href=Oe;return}try{let x=document.querySelector(Lt);if(x){let L=x.getBoundingClientRect(),z=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:z,point:{x:L.left+L.width,y:L.top},text:me.preview,linkedSelector:Lt,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[z],threadId:me.id}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[z],status:"resolved"}})}}catch(x){}}v&&v(me.id),ie.current=!1,X(null)},style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,padding:"2px 0",cursor:"pointer",color:"#6b7280",fontSize:11},onMouseEnter:Le=>{Le.currentTarget.style.color="#1f2937"},onMouseLeave:Le=>{Le.currentTarget.style.color="#6b7280"},children:[xe("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:me.preview}),xe("span",{style:{flexShrink:0,fontSize:10,color:"#9ca3af"},children:ye(me.createdAt)})]},me.id))]})})()]})})(),Pt("div",{ref:C=>{Me&&(Me.current=C)},id:"devtools-toolbar",style:wt,onMouseEnter:ue,onMouseMove:Mn,children:[Vt,Pt("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[xe("span",{onMouseEnter:()=>Yt("inspector"),onMouseLeave:yn,children:xe(Ho,{active:e.isAnnotating&&e.activeTool==="inspector",siblingActive:e.isAnnotating,onClick:()=>dn("inspector"),children:xe(Rf,{size:20,strokeWidth:1.5})})}),xe("span",{onMouseEnter:()=>Yt("hand"),onMouseLeave:yn,children:xe(Ho,{active:e.isAnnotating&&e.activeTool==="hand",siblingActive:e.isAnnotating,onClick:()=>dn("hand"),children:Pt("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[xe(If,{size:20,strokeWidth:1.5}),e.styleModifications.filter(C=>!C.captured).length>0&&xe("div",{style:{position:"absolute",top:-7,right:-9,minWidth:14,height:14,borderRadius:0,backgroundColor:e.activeColor,color:"#fff",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",padding:"0 2px",lineHeight:1},children:e.styleModifications.filter(C=>!C.captured).length})]})})}),(()=>{let C=cr[ft],J=C.icon,ne=e.isAnnotating&&Nf.has(e.activeTool);return xe("span",{onMouseEnter:()=>Yt(C.type),onMouseLeave:yn,children:Pt("div",{style:{display:"flex",alignItems:"center",gap:0},children:[xe(Ho,{active:ne,siblingActive:e.isAnnotating,onClick:()=>dn(C.type),children:xe(J,{size:20,strokeWidth:1.5})}),xe("button",{type:"button",onClick:()=>{let ye=(ft+1)%cr.length;gt(ye),dn(cr[ye].type)},title:"Cycle shape tool",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,width:12,height:32,border:"none",background:"none",cursor:"pointer",padding:"0 2px",opacity:e.isAnnotating&&!ne?.5:1,transition:"opacity 150ms ease"},children:cr.map((ye,me)=>xe("div",{style:{width:3,height:3,borderRadius:"50%",backgroundColor:me===ft?oo.iconDefault:"rgba(0,0,0,0.2)",transition:"background-color 150ms ease"}},me))})]})})})(),$f.map(({type:C,icon:J,label:ne,shortcut:ye})=>xe("span",{onMouseEnter:()=>Yt(C),onMouseLeave:yn,children:xe(Ho,{active:e.isAnnotating&&e.activeTool===C,siblingActive:e.isAnnotating,onClick:()=>dn(C),children:xe(J,{size:20,strokeWidth:1.5})})},C)),xe("span",{onMouseEnter:()=>Yt("model"),onMouseLeave:yn,children:xe(Ho,{active:e.isAnnotating&&e.activeTool==="model",siblingActive:e.isAnnotating,onClick:()=>dn("model"),children:xe(Mf,{size:17,strokeWidth:1.5})})})]}),xe(xc,{}),Pt("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[(Jt.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(C=>!C.captured).length>0)&&(()=>{var me;let C=Gt!==null&&Gt<Jt.length?Jt[Gt]:null,J=e.annotations.length>0&&e.annotations.every(Le=>Le.status&&Le.status!=="pending"),ne=Gt!==null?(me=C==null?void 0:C.annotations.some(Le=>Le.status&&Le.status!=="pending"))!=null?me:!1:J,ye=`oklch(0.628 0.258 ${nn})`;return xe("span",{onMouseEnter:()=>Yt("counter"),onMouseLeave:yn,children:xe("button",{ref:H,type:"button",onClick:()=>{if(_t.current){_t.current=!1;return}ho()},onMouseDown:Co,onMouseUp:Ln,onMouseLeave:Ln,title:"",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,minWidth:20,height:20,padding:"0 8px",marginRight:4,border:"none",borderRadius:0,background:ne&&Gt===null?"#999999":ye,cursor:"pointer",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:11,fontWeight:600,color:"#ffffff",transition:"background 150ms ease"},children:(()=>{let Le=Jt.length+e.styleModifications.length+e.spacingTokenChanges.filter(Ie=>!Ie.captured).length;if(Gt!==null)return Pt(Xr,{children:[Gt+1,Pt("span",{style:{opacity:.4,display:"flex",gap:4},children:[xe("span",{children:"/"}),xe("span",{children:Le})]})]});let Ee=ur.length+e.styleModifications.length+e.spacingTokenChanges.filter(Ie=>!Ie.captured).length;return Le>Ee?Pt(Xr,{children:[Ee,Pt("span",{style:{opacity:.4,display:"flex",gap:4},children:[xe("span",{children:"/"}),xe("span",{children:Le})]})]}):Le})()})})})(),(e.annotations.length>0||e.styleModifications.length>0)&&xe("span",{onMouseEnter:()=>Yt("clear"),onMouseLeave:yn,children:xe(Ho,{siblingActive:e.isAnnotating,onClick:io,title:"Clear all (\u2318\u232B)",children:xe(Bf,{size:17,strokeWidth:1.5})})}),d&&Pt(Xr,{children:[xe("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 2px"}}),xe("span",{onMouseEnter:()=>Yt("provider"),onMouseLeave:yn,style:{display:"contents"},children:Pt("div",{style:{display:"flex",alignItems:"center",gap:0},children:[xe(Ho,{onClick:()=>d(Xn),children:xe(Vr,{provider:l})}),Pt("button",{type:"button",onClick:()=>{let C=(p+1)%u;b==null||b(C)},style:{display:"flex",alignItems:"center",gap:6,height:32,border:"none",background:"none",cursor:"pointer",padding:"0 4px 0 0",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:10,fontWeight:500,color:oo.iconDefault,whiteSpace:"nowrap"},children:[xe("span",{children:g}),xe("span",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:mt.map(C=>xe("div",{style:{width:C.overflow?2:3,height:C.overflow?2:3,borderRadius:"50%",backgroundColor:C.active?oo.iconDefault:"rgba(0,0,0,0.2)",opacity:C.overflow?.65:1,transition:"background-color 150ms ease, opacity 150ms ease"}},C.key))})]})]})})]}),xe("div",{ref:pr,style:{display:"inline-flex",cursor:"pointer"},children:xe("button",{type:"button",onClick:mo,title:"Collapse (\u2318\u2318)",style:{display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,border:"none",background:"none",padding:0,cursor:"inherit"},children:xe("svg",{"data-popmelt-logo":!0,width:"30",height:"30",viewBox:"0 0 40 40",fill:Ct,stroke:"none",xmlns:"http://www.w3.org/2000/svg",children:xe("path",{d:"M20.25 8.00293H20.249C21.5098 8.0286 22.7219 8.25094 23.8584 8.63672L23.8604 8.63574C23.8961 8.64787 23.9312 8.66145 23.9668 8.67383C24.0611 8.70686 24.1548 8.74106 24.248 8.77637C24.2915 8.79273 24.3357 8.80727 24.3789 8.82422L24.376 8.82617C27.6145 10.0955 30.1646 12.7301 31.3213 16.0234L31.3232 16.0225C31.3327 16.0493 31.3404 16.0766 31.3496 16.1035C31.7691 17.3256 32 18.6356 32 20C32 20.8726 31.9366 21.6706 31.7598 22.4902L31.7197 22.6328C31.6412 23.0066 31.5136 23.6108 31.3408 24.2217L31.3398 24.2246C31.2967 24.377 31.251 24.5299 31.2021 24.6797C30.9215 25.5403 30.5473 26.2998 30.0879 26.2998C29.7613 26.2996 29.5995 25.9674 29.4316 25.6221C29.2501 25.2487 29.0614 24.8605 28.6484 24.8604C27.8532 24.8604 27.2081 25.5046 27.208 26.2998V27.0771C27.2079 27.6079 26.9661 28.112 26.5205 28.4004C25.9146 28.7925 25.2357 28.6462 24.7959 28.2061L24.7949 28.208C24.7897 28.2028 24.7854 28.1967 24.7803 28.1914C24.7654 28.1761 24.7507 28.1606 24.7363 28.1445C24.7105 28.1156 24.6858 28.0857 24.6621 28.0547C24.6461 28.0339 24.6302 28.013 24.6152 27.9912C24.5931 27.9591 24.5726 27.9257 24.5527 27.8916C24.5392 27.8685 24.5261 27.8452 24.5137 27.8213C24.5093 27.8128 24.5043 27.8045 24.5 27.7959L24.501 27.7939C24.3932 27.5763 24.3282 27.3276 24.3281 27.0576V26.2998C24.328 25.5993 23.8278 25.0158 23.165 24.8867V24.8877C23.0752 24.8702 22.9826 24.8604 22.8877 24.8604C22.8446 24.8604 22.8019 24.8624 22.7598 24.8662C22.0247 24.9312 21.4483 25.5479 21.4482 26.2998C21.4482 26.9127 21.4608 27.5305 21.4736 28.1494L21.4951 29.3135C21.5 29.7013 21.5015 30.089 21.4971 30.4756C21.4874 31.3103 20.8426 32 20.0078 32C19.1732 31.9998 18.5292 31.3102 18.5195 30.4756C18.5159 30.1613 18.5176 29.8464 18.5205 29.5312V29.5322C18.5212 29.4593 18.5206 29.3864 18.5215 29.3135L18.5303 28.8154V28.8145C18.5343 28.5927 18.5384 28.371 18.543 28.1494C18.5558 27.5305 18.5684 28.1129 18.5684 27.5C18.5684 26.7047 17.9232 26.0596 17.1279 26.0596C16.907 26.0596 16.6978 26.1103 16.5107 26.1992C16.2161 26.3393 15.9767 26.5769 15.834 26.8701C15.8269 26.8846 15.8201 26.8993 15.8135 26.9141C15.7821 26.9845 15.7562 27.0579 15.7363 27.1338C15.7243 27.1798 15.7155 27.2267 15.708 27.2744C15.7012 27.3175 15.6953 27.361 15.6924 27.4053C15.6903 27.4366 15.6885 27.4681 15.6885 27.5V28.7383C15.6883 29.9234 14.4911 30.7248 13.4961 30.0811C13.0505 29.7926 12.8086 29.2886 12.8086 28.7578V26.2998C12.8086 25.9737 12.6984 25.674 12.5156 25.4326C12.4437 25.3381 12.3612 25.2521 12.2686 25.1777V25.1768C12.0219 24.9788 11.709 24.8604 11.3682 24.8604C10.9892 24.8604 10.8622 24.8872 10.7295 25.2295C10.5837 25.6055 10.4302 26 9.92773 26C9.33081 25.9996 8.95963 25.2403 8.71484 24.3799C8.5591 23.8325 8.45907 23.571 8.3623 23.0107C8.3501 22.9401 8.33284 22.8403 8.31738 22.7529C8.12812 21.9466 8.02043 21.1089 8.00293 20.249V20.25L8 20C8 19.8617 8.00317 19.724 8.00781 19.5869C8.00837 19.5703 8.00816 19.5537 8.00879 19.5371L8.00977 19.5352C8.0998 17.1716 8.87444 14.9844 10.1396 13.1631C10.1488 13.1499 10.1587 13.1372 10.168 13.124C12.255 10.1453 15.6582 8.15745 19.5352 8.00977L19.5371 8.00879C19.5537 8.00816 19.5703 8.00837 19.5869 8.00781C19.724 8.00317 19.8617 8 20 8L20.25 8.00293Z"})})})})]})]})]}):Pt(Xr,{children:[xe("style",{children:`
20
+ `).map((V,ee)=>ve("p",{style:{margin:0,marginTop:ee>0?8:0},children:V},ee))}),D.usage.map((V,ee)=>At("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4},children:[ve("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2013"}),ve("span",{children:V})]},ee)),se==="collapse"&&ht&&At("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8},children:[ve("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:6,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Position"}),ve("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:3,width:"fit-content"},children:pl.map(V=>{let ee=V===rt;return ve("button",{type:"button",onClick:()=>{Ce(null),Re.current=!1,vt(),ht(V)},title:V,style:{width:24,height:16,border:"none",cursor:"pointer",padding:0,backgroundColor:ee?"#1f2937":"rgba(0,0,0,0.08)",transition:"background-color 100ms ease"},onMouseEnter:ge=>{ee||(ge.currentTarget.style.backgroundColor="rgba(0,0,0,0.15)")},onMouseLeave:ge=>{ee||(ge.currentTarget.style.backgroundColor="rgba(0,0,0,0.08)")}},V)})})]}),se==="collapse"&&(()=>{let V=Object.entries(I!=null?I:{}),ee=V.filter(([,ke])=>ke.found&&!ke.disabled).map(([ke])=>ke.charAt(0).toUpperCase()+ke.slice(1)),ge=V.filter(([,ke])=>!ke.found).map(([ke])=>ke);if(!N&&!Z&&ee.length===0&&ge.length===0)return null;let ae=ge.map(ke=>ke.charAt(0).toUpperCase()+ke.slice(1)),Ie=[...ee,...ae];return At("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8,display:"flex",alignItems:"center",gap:6,fontSize:11},children:[(Z||N)&&ve("button",{type:"button",onClick:()=>{so||(Z?Z():Na(N))},disabled:so,title:Qo,"aria-label":ao!=null?ao:"Restart bridge",style:{display:"flex",alignItems:"center",justifyContent:"center",width:22,height:22,border:"none",borderRadius:0,backgroundColor:Po||Y!=="idle"?"rgba(0,0,0,0.07)":"rgba(0,0,0,0.04)",color:Er,cursor:so?"default":"pointer",padding:0,opacity:so?.55:1,flexShrink:0},children:Y==="ok"?ve(bg,{size:14,strokeWidth:1.8}):ve(kg,{size:13,strokeWidth:1.7,style:{animation:Y==="restarting"?"spin 0.8s linear infinite":void 0}})}),ee.length>0?At("span",{style:{color:"#6b7280"},children:["Available in ",Ie.join(", ")]}):ge.length>0?At("span",{style:{color:"#6b7280"},children:["Available in ",ae.join(", ")]}):null]})})(),D.keys.length>1&&ve("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8,display:"flex",flexDirection:"column",gap:4},children:D.keys.slice(1).map((V,ee)=>At("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:V.accent?"#fff":"#6b7280"},children:[ve("code",{style:{fontSize:10,backgroundColor:V.accent?e.activeColor:"rgba(0,0,0,0.06)",color:V.accent?"#fff":void 0,padding:"1px 4px",whiteSpace:"nowrap"},children:V.key}),ve("span",{style:{color:V.accent?e.activeColor:void 0,fontWeight:V.accent?600:void 0},children:V.desc})]},ee))}),se==="counter"&&Kt.length>0&&(()=>{let V=ve("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8},children:ve("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:4,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Active"})}),ee=new Map;for(let Ie of Kt){let ke=Ie.pathname||Mn;ee.has(ke)||ee.set(ke,[]),ee.get(ke).push(Ie)}let ge=[...ee.entries()],ae=ge.length>1;return At("div",{children:[V,ve("div",{style:{maxHeight:200,overflowY:"auto",scrollbarWidth:"thin"},children:ge.map(([Ie,ke])=>ve("div",{style:{marginBottom:ae?4:0},children:ke.map(He=>{var Yn,Oo,Bo,En;let Ne=He.annotations.find(Qn=>Qn.type==="text"&&Qn.text),Mt=(Ne==null?void 0:Ne.text)||`[${(Oo=(Yn=He.annotations[0])==null?void 0:Yn.type)!=null?Oo:"annotation"}]`,qt=e.selectedAnnotationIds.includes(He.id),xn=Kt.indexOf(He),It=xn+1,Ve=(En=(Bo=He.annotations[0])==null?void 0:Bo.color)!=null?En:e.activeColor;return At("div",{onClick:()=>{var Bn;if(!(!He.pathname||He.pathname===Mn)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:He.id,pathname:He.pathname})),window.location.href=He.pathname;return}if(sn(xn),t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:He.id}}),x){let er=(Bn=He.annotations.find(kr=>kr.threadId))==null?void 0:Bn.threadId;er&&x(er)}Re.current=!1,Ce(null)},style:{display:"flex",alignItems:"baseline",gap:4,padding:"2px 0",cursor:"pointer"},onMouseEnter:Qn=>{let Bn=Qn.currentTarget.querySelector("[data-route-badge]");Bn&&(Bn.style.backgroundColor=Ve,Bn.style.color="#fff")},onMouseLeave:Qn=>{if(qt)return;let Bn=Qn.currentTarget.querySelector("[data-route-badge]");Bn&&(Bn.style.backgroundColor="rgba(0,0,0,0.06)",Bn.style.color="#6b7280")},children:[At("code",{"data-route-badge":!0,style:{fontSize:10,color:qt?"#fff":"#6b7280",backgroundColor:qt?Ve:"rgba(0,0,0,0.06)",padding:"1px 4px",flexShrink:0,whiteSpace:"nowrap"},children:[It,". ",ae?Ie:""]}),ve("span",{style:{fontSize:11,color:qt?"#1f2937":"#6b7280",fontWeight:qt?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Mt})]},He.id)})},Ie))})]})})(),se==="counter"&&(()=>{let V=new Set(Kt.flatMap(ae=>ae.annotations.map(Ie=>Ie.threadId).filter(Boolean))),ee=en.filter(ae=>!V.has(ae.id));if(ee.length===0)return null;let ge=ae=>{let Ie=Math.floor((Date.now()-ae)/1e3);if(Ie<60)return"now";let ke=Math.floor(Ie/60);if(ke<60)return`${ke}m`;let He=Math.floor(ke/60);return He<24?`${He}h`:`${Math.floor(He/24)}d`};return At("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8},children:[ve("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:4,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Recent"}),ee.map(ae=>At("div",{onClick:()=>{let Ie=ae.elementIdentifiers[0];if(Ie){let ke=Ie.indexOf(":"),He=ke>0&&Ie[0]==="/",Ne=He?Ie.slice(0,ke):void 0,Mt=He?Ie.slice(ke+1):Ie;if(!(!Ne||Ne===Mn)){sessionStorage.setItem("popmelt-pending-thread",JSON.stringify({threadId:ae.id,selector:Mt,preview:ae.preview})),window.location.href=Ne;return}try{let xn=document.querySelector(Mt);if(xn){let It=xn.getBoundingClientRect(),Ve=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:Ve,point:{x:It.left+It.width,y:It.top},text:ae.preview,linkedSelector:Mt,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[Ve],threadId:ae.id}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[Ve],status:"resolved"}})}}catch(xn){}}x&&x(ae.id),Re.current=!1,Ce(null)},style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,padding:"2px 0",cursor:"pointer",color:"#6b7280",fontSize:11},onMouseEnter:Ie=>{Ie.currentTarget.style.color="#1f2937"},onMouseLeave:Ie=>{Ie.currentTarget.style.color="#6b7280"},children:[ve("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:ae.preview}),ve("span",{style:{flexShrink:0,fontSize:10,color:"#9ca3af"},children:ge(ae.createdAt)})]},ae.id))]})})()]})})(),At("div",{ref:D=>{Fe&&(Fe.current=D)},id:"devtools-toolbar",style:Ao,onMouseEnter:he,onMouseMove:xo,children:[an,At("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[ve("span",{onMouseEnter:()=>Vt("inspector"),onMouseLeave:Qe,children:ve(Wo,{active:e.isAnnotating&&e.activeTool==="inspector",siblingActive:e.isAnnotating,onClick:()=>rn("inspector"),children:ve(Cg,{size:20,strokeWidth:1.5})})}),ve("span",{onMouseEnter:()=>Vt("hand"),onMouseLeave:Qe,children:ve(Wo,{active:e.isAnnotating&&e.activeTool==="hand",siblingActive:e.isAnnotating,onClick:()=>rn("hand"),children:At("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[ve(wg,{size:20,strokeWidth:1.5}),e.styleModifications.filter(D=>!D.captured).length>0&&ve("div",{style:{position:"absolute",top:-7,right:-9,minWidth:14,height:14,borderRadius:0,backgroundColor:e.activeColor,color:"#fff",fontSize:9,fontWeight:700,display:"flex",alignItems:"center",justifyContent:"center",padding:"0 2px",lineHeight:1},children:e.styleModifications.filter(D=>!D.captured).length})]})})}),(()=>{let D=wr[$e],V=D.icon,ee=e.isAnnotating&&Ag.has(e.activeTool);return ve("span",{onMouseEnter:()=>Vt(D.type),onMouseLeave:Qe,children:At("div",{style:{display:"flex",alignItems:"center",gap:0},children:[ve(Wo,{active:ee,siblingActive:e.isAnnotating,onClick:()=>rn(D.type),children:ve(V,{size:20,strokeWidth:1.5})}),ve("button",{type:"button",onClick:()=>{let ge=($e+1)%wr.length;pt(ge),rn(wr[ge].type)},title:"Cycle shape tool",style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,width:12,height:32,border:"none",background:"none",cursor:"pointer",padding:"0 2px",opacity:e.isAnnotating&&!ee?.5:1,transition:"opacity 150ms ease"},children:wr.map((ge,ae)=>ve("div",{style:{width:3,height:3,borderRadius:"50%",backgroundColor:ae===$e?oo.iconDefault:"rgba(0,0,0,0.2)",transition:"background-color 150ms ease"}},ae))})]})})})(),Bg.map(({type:D,icon:V,label:ee,shortcut:ge})=>ve("span",{onMouseEnter:()=>Vt(D),onMouseLeave:Qe,children:ve(Wo,{active:e.isAnnotating&&e.activeTool===D,siblingActive:e.isAnnotating,onClick:()=>rn(D),children:ve(V,{size:20,strokeWidth:1.5})})},D)),ve("span",{onMouseEnter:()=>Vt("eval"),onMouseLeave:Qe,children:ve(Wo,{active:e.isAnnotating&&e.activeTool==="eval",siblingActive:e.isAnnotating,onClick:()=>rn("eval"),children:ve(Sg,{size:18,strokeWidth:1.5})})}),ve("span",{onMouseEnter:()=>Vt("model"),onMouseLeave:Qe,children:ve(Wo,{active:e.isAnnotating&&e.activeTool==="model",siblingActive:e.isAnnotating,onClick:()=>rn("model"),children:ve(xg,{size:17,strokeWidth:1.5})})})]}),ve(jc,{}),At("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[(Kt.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(D=>!D.captured).length>0)&&(()=>{var ae;let D=Xt!==null&&Xt<Kt.length?Kt[Xt]:null,V=e.annotations.length>0&&e.annotations.every(Ie=>Ie.status&&Ie.status!=="pending"),ee=Xt!==null?(ae=D==null?void 0:D.annotations.some(Ie=>Ie.status&&Ie.status!=="pending"))!=null?ae:!1:V,ge=`oklch(0.628 0.258 ${Gt})`;return ve("span",{onMouseEnter:()=>Vt("counter"),onMouseLeave:Qe,children:ve("button",{ref:bn,type:"button",onClick:()=>{if(io.current){io.current=!1;return}wo()},onMouseDown:jo,onMouseUp:qn,onMouseLeave:qn,title:"",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,minWidth:20,height:20,padding:"0 8px",marginRight:4,border:"none",borderRadius:0,background:ee&&Xt===null?"#999999":ge,cursor:"pointer",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:11,fontWeight:600,color:"#ffffff",transition:"background 150ms ease"},children:(()=>{let Ie=Kt.length+e.styleModifications.length+e.spacingTokenChanges.filter(He=>!He.captured).length;if(Xt!==null)return At(li,{children:[Xt+1,At("span",{style:{opacity:.4,display:"flex",gap:4},children:[ve("span",{children:"/"}),ve("span",{children:Ie})]})]});let ke=Bt.length+e.styleModifications.length+e.spacingTokenChanges.filter(He=>!He.captured).length;return Ie>ke?At(li,{children:[ke,At("span",{style:{opacity:.4,display:"flex",gap:4},children:[ve("span",{children:"/"}),ve("span",{children:Ie})]})]}):Ie})()})})})(),(e.annotations.length>0||e.styleModifications.length>0)&&ve("span",{onMouseEnter:()=>Vt("clear"),onMouseLeave:Qe,children:ve(Wo,{siblingActive:e.isAnnotating,onClick:Le,title:"Clear all (\u2318\u232B)",children:ve(Ig,{size:17,strokeWidth:1.5})})}),d&&At(li,{children:[ve("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 2px"}}),ve("span",{onMouseEnter:()=>Vt("provider"),onMouseLeave:Qe,style:{display:"contents"},children:At("div",{style:{display:"flex",alignItems:"center",gap:0},children:[ve(Wo,{onClick:()=>d(Tt),children:ve(ai,{provider:a})}),At("button",{type:"button",onClick:()=>{let D=(u+1)%p;v==null||v(D)},style:{display:"flex",alignItems:"center",gap:6,height:32,border:"none",background:"none",cursor:"pointer",padding:"0 4px 0 0",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:10,fontWeight:500,color:oo.iconDefault,whiteSpace:"nowrap"},children:[ve("span",{children:g}),ve("span",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:Gn.map(D=>ve("div",{style:{width:D.overflow?2:3,height:D.overflow?2:3,borderRadius:"50%",backgroundColor:D.active?oo.iconDefault:"rgba(0,0,0,0.2)",opacity:D.overflow?.65:1,transition:"background-color 150ms ease, opacity 150ms ease"}},D.key))})]})]})})]}),ve("div",{ref:Yo,style:{display:"inline-flex",cursor:"pointer"},children:ve("button",{type:"button",onClick:fe,title:"Collapse (\u2318\u2318)",style:{display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,border:"none",background:"none",padding:0,cursor:"inherit"},children:ve("svg",{"data-popmelt-logo":!0,width:"30",height:"30",viewBox:"0 0 40 40",fill:Go,stroke:"none",xmlns:"http://www.w3.org/2000/svg",children:ve("path",{d:"M20.25 8.00293H20.249C21.5098 8.0286 22.7219 8.25094 23.8584 8.63672L23.8604 8.63574C23.8961 8.64787 23.9312 8.66145 23.9668 8.67383C24.0611 8.70686 24.1548 8.74106 24.248 8.77637C24.2915 8.79273 24.3357 8.80727 24.3789 8.82422L24.376 8.82617C27.6145 10.0955 30.1646 12.7301 31.3213 16.0234L31.3232 16.0225C31.3327 16.0493 31.3404 16.0766 31.3496 16.1035C31.7691 17.3256 32 18.6356 32 20C32 20.8726 31.9366 21.6706 31.7598 22.4902L31.7197 22.6328C31.6412 23.0066 31.5136 23.6108 31.3408 24.2217L31.3398 24.2246C31.2967 24.377 31.251 24.5299 31.2021 24.6797C30.9215 25.5403 30.5473 26.2998 30.0879 26.2998C29.7613 26.2996 29.5995 25.9674 29.4316 25.6221C29.2501 25.2487 29.0614 24.8605 28.6484 24.8604C27.8532 24.8604 27.2081 25.5046 27.208 26.2998V27.0771C27.2079 27.6079 26.9661 28.112 26.5205 28.4004C25.9146 28.7925 25.2357 28.6462 24.7959 28.2061L24.7949 28.208C24.7897 28.2028 24.7854 28.1967 24.7803 28.1914C24.7654 28.1761 24.7507 28.1606 24.7363 28.1445C24.7105 28.1156 24.6858 28.0857 24.6621 28.0547C24.6461 28.0339 24.6302 28.013 24.6152 27.9912C24.5931 27.9591 24.5726 27.9257 24.5527 27.8916C24.5392 27.8685 24.5261 27.8452 24.5137 27.8213C24.5093 27.8128 24.5043 27.8045 24.5 27.7959L24.501 27.7939C24.3932 27.5763 24.3282 27.3276 24.3281 27.0576V26.2998C24.328 25.5993 23.8278 25.0158 23.165 24.8867V24.8877C23.0752 24.8702 22.9826 24.8604 22.8877 24.8604C22.8446 24.8604 22.8019 24.8624 22.7598 24.8662C22.0247 24.9312 21.4483 25.5479 21.4482 26.2998C21.4482 26.9127 21.4608 27.5305 21.4736 28.1494L21.4951 29.3135C21.5 29.7013 21.5015 30.089 21.4971 30.4756C21.4874 31.3103 20.8426 32 20.0078 32C19.1732 31.9998 18.5292 31.3102 18.5195 30.4756C18.5159 30.1613 18.5176 29.8464 18.5205 29.5312V29.5322C18.5212 29.4593 18.5206 29.3864 18.5215 29.3135L18.5303 28.8154V28.8145C18.5343 28.5927 18.5384 28.371 18.543 28.1494C18.5558 27.5305 18.5684 28.1129 18.5684 27.5C18.5684 26.7047 17.9232 26.0596 17.1279 26.0596C16.907 26.0596 16.6978 26.1103 16.5107 26.1992C16.2161 26.3393 15.9767 26.5769 15.834 26.8701C15.8269 26.8846 15.8201 26.8993 15.8135 26.9141C15.7821 26.9845 15.7562 27.0579 15.7363 27.1338C15.7243 27.1798 15.7155 27.2267 15.708 27.2744C15.7012 27.3175 15.6953 27.361 15.6924 27.4053C15.6903 27.4366 15.6885 27.4681 15.6885 27.5V28.7383C15.6883 29.9234 14.4911 30.7248 13.4961 30.0811C13.0505 29.7926 12.8086 29.2886 12.8086 28.7578V26.2998C12.8086 25.9737 12.6984 25.674 12.5156 25.4326C12.4437 25.3381 12.3612 25.2521 12.2686 25.1777V25.1768C12.0219 24.9788 11.709 24.8604 11.3682 24.8604C10.9892 24.8604 10.8622 24.8872 10.7295 25.2295C10.5837 25.6055 10.4302 26 9.92773 26C9.33081 25.9996 8.95963 25.2403 8.71484 24.3799C8.5591 23.8325 8.45907 23.571 8.3623 23.0107C8.3501 22.9401 8.33284 22.8403 8.31738 22.7529C8.12812 21.9466 8.02043 21.1089 8.00293 20.249V20.25L8 20C8 19.8617 8.00317 19.724 8.00781 19.5869C8.00837 19.5703 8.00816 19.5537 8.00879 19.5371L8.00977 19.5352C8.0998 17.1716 8.87444 14.9844 10.1396 13.1631C10.1488 13.1499 10.1587 13.1372 10.168 13.124C12.255 10.1453 15.6582 8.15745 19.5352 8.00977L19.5371 8.00879C19.5537 8.00816 19.5703 8.00837 19.5869 8.00781C19.724 8.00317 19.8617 8 20 8L20.25 8.00293Z"})})})})]})]})]}):At(li,{children:[ve("style",{children:`
16
21
  @keyframes popmelt-border-march { to { background-position: 0 -5px; } }
17
- `}),Pt("div",{ref:C=>{$o.current=C,Me&&(Me.current=C)},id:"devtools-toolbar",style:h(f({},wt),{overflow:"visible",opacity:r?1:.5}),children:[Vt,xe("button",{type:"button",style:{display:"flex",alignItems:"center",justifyContent:"center",width:48,height:48,border:"none",background:"none",cursor:"pointer",padding:0},onClick:()=>{qe(!0),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SET_ANNOTATING",payload:!0})},onMouseEnter:()=>s==null?void 0:s(!0),onMouseLeave:()=>s==null?void 0:s(!1),title:"Open annotation toolbar (\u2318\u2318)",children:xe("svg",{"data-popmelt-logo":!0,width:"30",height:"30",viewBox:"0 0 40 40",fill:"none",stroke:Ct,strokeWidth:"1",strokeLinejoin:"round",xmlns:"http://www.w3.org/2000/svg",children:xe("path",{d:"M20.25 8.00293H20.249C21.5098 8.0286 22.7219 8.25094 23.8584 8.63672L23.8604 8.63574C23.8961 8.64787 23.9312 8.66145 23.9668 8.67383C24.0611 8.70686 24.1548 8.74106 24.248 8.77637C24.2915 8.79273 24.3357 8.80727 24.3789 8.82422L24.376 8.82617C27.6145 10.0955 30.1646 12.7301 31.3213 16.0234L31.3232 16.0225C31.3327 16.0493 31.3404 16.0766 31.3496 16.1035C31.7691 17.3256 32 18.6356 32 20C32 20.8726 31.9366 21.6706 31.7598 22.4902L31.7197 22.6328C31.6412 23.0066 31.5136 23.6108 31.3408 24.2217L31.3398 24.2246C31.2967 24.377 31.251 24.5299 31.2021 24.6797C30.9215 25.5403 30.5473 26.2998 30.0879 26.2998C29.7613 26.2996 29.5995 25.9674 29.4316 25.6221C29.2501 25.2487 29.0614 24.8605 28.6484 24.8604C27.8532 24.8604 27.2081 25.5046 27.208 26.2998V27.0771C27.2079 27.6079 26.9661 28.112 26.5205 28.4004C25.9146 28.7925 25.2357 28.6462 24.7959 28.2061L24.7949 28.208C24.7897 28.2028 24.7854 28.1967 24.7803 28.1914C24.7654 28.1761 24.7507 28.1606 24.7363 28.1445C24.7105 28.1156 24.6858 28.0857 24.6621 28.0547C24.6461 28.0339 24.6302 28.013 24.6152 27.9912C24.5931 27.9591 24.5726 27.9257 24.5527 27.8916C24.5392 27.8685 24.5261 27.8452 24.5137 27.8213C24.5093 27.8128 24.5043 27.8045 24.5 27.7959L24.501 27.7939C24.3932 27.5763 24.3282 27.3276 24.3281 27.0576V26.2998C24.328 25.5993 23.8278 25.0158 23.165 24.8867V24.8877C23.0752 24.8702 22.9826 24.8604 22.8877 24.8604C22.8446 24.8604 22.8019 24.8624 22.7598 24.8662C22.0247 24.9312 21.4483 25.5479 21.4482 26.2998C21.4482 26.9127 21.4608 27.5305 21.4736 28.1494L21.4951 29.3135C21.5 29.7013 21.5015 30.089 21.4971 30.4756C21.4874 31.3103 20.8426 32 20.0078 32C19.1732 31.9998 18.5292 31.3102 18.5195 30.4756C18.5159 30.1613 18.5176 29.8464 18.5205 29.5312V29.5322C18.5212 29.4593 18.5206 29.3864 18.5215 29.3135L18.5303 28.8154V28.8145C18.5343 28.5927 18.5384 28.371 18.543 28.1494C18.5558 27.5305 18.5684 28.1129 18.5684 27.5C18.5684 26.7047 17.9232 26.0596 17.1279 26.0596C16.907 26.0596 16.6978 26.1103 16.5107 26.1992C16.2161 26.3393 15.9767 26.5769 15.834 26.8701C15.8269 26.8846 15.8201 26.8993 15.8135 26.9141C15.7821 26.9845 15.7562 27.0579 15.7363 27.1338C15.7243 27.1798 15.7155 27.2267 15.708 27.2744C15.7012 27.3175 15.6953 27.361 15.6924 27.4053C15.6903 27.4366 15.6885 27.4681 15.6885 27.5V28.7383C15.6883 29.9234 14.4911 30.7248 13.4961 30.0811C13.0505 29.7926 12.8086 29.2886 12.8086 28.7578V26.2998C12.8086 25.9737 12.6984 25.674 12.5156 25.4326C12.4437 25.3381 12.3612 25.2521 12.2686 25.1777V25.1768C12.0219 24.9788 11.709 24.8604 11.3682 24.8604C10.9892 24.8604 10.8622 24.8872 10.7295 25.2295C10.5837 25.6055 10.4302 26 9.92773 26C9.33081 25.9996 8.95963 25.2403 8.71484 24.3799C8.5591 23.8325 8.45907 23.571 8.3623 23.0107C8.3501 22.9401 8.33284 22.8403 8.31738 22.7529C8.12812 21.9466 8.02043 21.1089 8.00293 20.249V20.25L8 20C8 19.8617 8.00317 19.724 8.00781 19.5869C8.00837 19.5703 8.00816 19.5537 8.00879 19.5371L8.00977 19.5352C8.0998 17.1716 8.87444 14.9844 10.1396 13.1631C10.1488 13.1499 10.1587 13.1372 10.168 13.124C12.255 10.1453 15.6582 8.15745 19.5352 8.00977L19.5371 8.00879C19.5537 8.00816 19.5703 8.00837 19.5869 8.00781C19.724 8.00317 19.8617 8 20 8L20.25 8.00293Z"})})})]})]})}import{useCallback as Gf,useEffect as fo,useRef as Kr,useState as Hi}from"react";import{Fragment as Mc,jsx as Bt,jsxs as Or}from"react/jsx-runtime";var jf=24,Yf=6,Jf=jf-Yf,Uf=8,Tc=h(f({display:"flex",alignItems:"center",gap:3,padding:0,backgroundColor:"#eaeaea"},Mr),{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"nowrap",transition:"transform 200ms ease, opacity 200ms ease"});function Vf(e){var a;let t=e.filter(l=>l.type==="tool_use");if(t.length===0)return"Starting\u2026";let n=t[t.length-1],o=String(n.data.tool||""),r=n.data.file?String(n.data.file):null,i=r?(a=r.split("/").pop())!=null?a:r:null,s=n.data.content?String(n.data.content):null;switch(o){case"Read":return i?`Reading ${i}`:"Reading file";case"Edit":return i?`Editing ${i}`:"Editing file";case"Write":return i?`Writing ${i}`:"Writing file";case"Bash":{if(!s)return"Running command";let l=s.split(`
18
- `)[0].trim();return l.length<=40?l:l.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return o?`Using ${o}`:"Working\u2026"}}function Xf(e){let t=e.replace(/^Error:\s*/i,"");return t.length>40?t.slice(0,37)+"...":t}function Kf(e,t){if(e.some(i=>i.type==="question"&&i.data.jobId===t))return"Has a question";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 qf({color:e}){let[t,n]=Hi(0);return fo(()=>{let o=setInterval(()=>{n(r=>(r+1)%2)},250);return()=>clearInterval(o)},[]),Bt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?Or(Mc,{children:[Bt("circle",{cx:"7",cy:"7",r:"2"}),Bt("circle",{cx:"17",cy:"7",r:"2"}),Bt("circle",{cx:"7",cy:"17",r:"2"}),Bt("circle",{cx:"17",cy:"17",r:"2"})]}):Or(Mc,{children:[Bt("circle",{cx:"12",cy:"6",r:"2"}),Bt("circle",{cx:"6",cy:"12",r:"2"}),Bt("circle",{cx:"18",cy:"12",r:"2"}),Bt("circle",{cx:"12",cy:"18",r:"2"})]})})}function Zf({color:e}){return Bt("span",{style:{display:"inline-block",width:8,height:8,backgroundColor:e,opacity:.6}})}function Qf({color:e}){return Bt("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function eg(){return Bt("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ef4444"}})}function tg({onCancel:e}){let t=Kr(null);return fo(()=>{let n=t.current;if(!n)return;let o=s=>{s.stopPropagation(),e()},r=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",o),n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",o),n.removeEventListener("mouseenter",r),n.removeEventListener("mouseleave",i)}},[e]),Bt("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 ng({onDismiss:e}){let t=Kr(null);return fo(()=>{let n=t.current;if(!n)return;let o=s=>{s.stopPropagation(),e()},r=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",o),n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",o),n.removeEventListener("mouseenter",r),n.removeEventListener("mouseleave",i)}},[e]),Bt("button",{ref:t,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:.7,fontSize:14,padding:"0 2px",lineHeight:1},title:"Dismiss",children:"\xD7"})}function Ic({bridge:e,inFlightJobs:t,isVisible:n,onHover:o,clearSignal:r,onViewThread:i,onClickJob:s,onCancel:a,onHoverJob:l,isConnected:d,dismissedThreadIds:c,snapPosition:p="bottom-right"}){let[u,g]=Hi([]),[b,v]=Hi(!1),[A,T]=Hi(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});fo(()=>{let _=()=>T({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",_),()=>window.removeEventListener("resize",_)},[]);let $=ja(p,A.w,A.h);fo(()=>{r>0&&g([])},[r]),fo(()=>{!c||c.size===0||g(_=>{let le=_.filter(M=>!M.threadId||!c.has(M.threadId));return le.length===_.length?_:le})},[c]),fo(()=>{g(_=>{var Re;let le=new Set(_.map(ge=>ge.jobId)),M=!1,ue=_.map(ge=>{let qe=t[ge.jobId];return qe&&(!ge.threadId||ge.color==="#888")?(M=!0,h(f({},ge),{threadId:ge.threadId||qe.threadId,color:ge.color==="#888"?qe.color:ge.color})):ge});for(let[ge,qe]of Object.entries(t))le.has(ge)||(ue.push({jobId:ge,color:qe.color,status:"queued",threadId:qe.threadId}),M=!0);let Me=new Set(Object.keys(t)),Ne=new Set(e.activeJobIds),ve=ue.filter(ge=>ge.status!=="queued"?!0:Me.has(ge.jobId)||Ne.has(ge.jobId));ve.length!==ue.length&&(M=!0);let We=new Set(ve.map(ge=>ge.jobId));for(let ge of e.activeJobIds)if(!We.has(ge)){let qe=e.events.find(ft=>ft.type==="job_started"&&ft.data.jobId===ge);ve.push({jobId:ge,color:"#888",status:"working",threadId:(Re=qe==null?void 0:qe.data)==null?void 0:Re.threadId}),M=!0}return M?ve:_})},[t,e.activeJobIds]),fo(()=>{if(e.activeJobIds.length===0)return;let _=new Set(e.activeJobIds);g(le=>le.map(M=>_.has(M.jobId)&&M.status!=="done"&&M.status!=="error"?h(f({},M),{status:"working"}):M))},[e.activeJobIds]);let P=Kr(null);fo(()=>{let _=e.lastCompletedJobId;if(!_||_===P.current)return;P.current=_;let le=e.events.find(We=>We.type==="error"&&(We.data.jobId===_||e.status==="error")),M=!!le,ue=M?void 0:Kf(e.events,_),Me=le?String(le.data.message||""):void 0,Ne=le?!!le.data.cancelled:void 0,ve=le==null?void 0:le.data.threadId;g(We=>We.map(Re=>Re.jobId===_?h(f({},Re),{status:M?"error":"done",doneLabel:ue,errorMessage:Me,cancelled:Ne,threadId:Re.threadId||ve}):Re))},[e.lastCompletedJobId,e.events,e.status]);let O=n&&(u.length>0||d===!1),w=Kr(null);fo(()=>{if(!O)return;let _=w.current;if(!_)return;let le=()=>{v(!0),o(!0)},M=()=>{v(!1),o(!1),l==null||l(null)};return _.addEventListener("mouseenter",le),_.addEventListener("mouseleave",M),()=>{_.removeEventListener("mouseenter",le),_.removeEventListener("mouseleave",M)}},[O,o,l]);let N=Kr(new Map),se=Gf((_,le)=>{le?N.current.set(_,le):N.current.delete(_)},[]);if(fo(()=>{if(!O)return;let _=[];for(let le of u){let M=N.current.get(le.jobId);if(M){if(s){let ue=le.jobId,Me=()=>s(ue);M.addEventListener("click",Me),_.push(()=>M.removeEventListener("click",Me))}if(l){let ue=le.jobId,Me=()=>l(ue),Ne=()=>l(null);M.addEventListener("mouseenter",Me),M.addEventListener("mouseleave",Ne),_.push(()=>{M.removeEventListener("mouseenter",Me),M.removeEventListener("mouseleave",Ne)})}}}return()=>_.forEach(le=>le())},[O,u,s,l]),!O)return null;let ee={working:3,queued:2,error:1,done:0},G=[],oe=new Map;for(let _ of u){if(!_.threadId){G.push(_);continue}let le=oe.get(_.threadId);(!le||ee[_.status]>ee[le.status]||ee[_.status]===ee[le.status])&&oe.set(_.threadId,_)}for(let _ of oe.values())G.push(_);let W=G.filter(_=>_.status==="queued"),Z=new Map;W.forEach((_,le)=>{Z.set(_.jobId,`(${le+1}/${W.length})`)});let k=!b&&G.length>1,Ce=Ko(p),Q=qo(p),fe=Ce?G:[...G].reverse();return Or("div",{ref:w,style:$,"data-devtools":!0,children:[Bt("style",{children:"@keyframes popmelt-badge-march { to { background-position: 0 -5px; } }"}),fe.map((_,le)=>{var Ne;let M=le===G.length-1,ue=G.length-1-le,Me=_.status==="working"?Vf(e.events.filter(ve=>ve.data.jobId===_.jobId)):_.status==="queued"?`Queued ${(Ne=Z.get(_.jobId))!=null?Ne:""}`:_.status==="done"?_.doneLabel||"Done":_.cancelled?"Cancelled":_.errorMessage?Xf(_.errorMessage):"Error";return Bt("div",{style:{position:"relative",zIndex:G.length-le,marginBottom:k?M?0:-Jf:M?0:Uf,transform:k?`scale(${Math.max(.94,1-ue*.02)})`:"scale(1)",opacity:1,transformOrigin:`${Ce?"top":"bottom"} ${Q?"right":"left"}`,transition:"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:Or("div",{ref:ve=>se(_.jobId,ve),style:f(h(f({},Tc),{position:"relative",overflow:"visible",cursor:s?"pointer":void 0}),_.status==="working"&&{borderImage:"none",borderColor:"transparent"}),title:_.errorMessage||void 0,children:[_.status==="working"&&(()=>{let ve=`<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='${_.color}' stroke-width='.75'/></svg>`;return Bt("div",{style:{position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(ve)}")`,backgroundSize:"5px 5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",WebkitMaskComposite:"xor",mask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",maskComposite:"exclude",pointerEvents:"none",animation:"popmelt-badge-march 0.8s linear infinite"}})})(),Or("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:_.status==="error"?"#ef4444":_.color,color:"#ffffff"},children:[_.status==="working"&&Bt(qf,{color:"#ffffff"}),_.status==="queued"&&Bt(Zf,{color:"#ffffff"}),_.status==="done"&&Bt(Qf,{color:"#ffffff"}),_.status==="error"&&Bt(eg,{}),Bt("span",{style:{opacity:_.status==="queued"?.6:1,maxWidth:160,overflow:"hidden",textOverflow:"ellipsis"},children:Me}),_.status==="working"&&a&&Bt(tg,{onCancel:()=>a(_.jobId)}),(_.status==="done"||_.status==="error")&&Bt(ng,{onDismiss:()=>g(ve=>ve.filter(We=>_.threadId?We.threadId!==_.threadId:We.jobId!==_.jobId))})]})]})},_.jobId)}),d===!1&&u.length>0&&Bt("div",{style:Tc,children:Or("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:"#f59e0b",color:"#ffffff"},children:[Bt("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),Bt("span",{children:"Reconnecting\u2026"})]})})]})}import{Fragment as ig,jsx as rg,jsxs as sg}from"react/jsx-runtime";var og=`
22
+ `}),At("div",{ref:D=>{On.current=D,Fe&&(Fe.current=D)},id:"devtools-toolbar",style:y(f({},Ao),{overflow:"visible",opacity:r?1:.5}),children:[an,ve("button",{type:"button",style:{display:"flex",alignItems:"center",justifyContent:"center",width:48,height:48,border:"none",background:"none",cursor:"pointer",padding:0},onClick:()=>{Te(!0),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SET_ANNOTATING",payload:!0})},onMouseEnter:()=>i==null?void 0:i(!0),onMouseLeave:()=>i==null?void 0:i(!1),title:"Open annotation toolbar (\u2318\u2318)",children:ve("svg",{"data-popmelt-logo":!0,width:"30",height:"30",viewBox:"0 0 40 40",fill:"none",stroke:Go,strokeWidth:"1",strokeLinejoin:"round",xmlns:"http://www.w3.org/2000/svg",children:ve("path",{d:"M20.25 8.00293H20.249C21.5098 8.0286 22.7219 8.25094 23.8584 8.63672L23.8604 8.63574C23.8961 8.64787 23.9312 8.66145 23.9668 8.67383C24.0611 8.70686 24.1548 8.74106 24.248 8.77637C24.2915 8.79273 24.3357 8.80727 24.3789 8.82422L24.376 8.82617C27.6145 10.0955 30.1646 12.7301 31.3213 16.0234L31.3232 16.0225C31.3327 16.0493 31.3404 16.0766 31.3496 16.1035C31.7691 17.3256 32 18.6356 32 20C32 20.8726 31.9366 21.6706 31.7598 22.4902L31.7197 22.6328C31.6412 23.0066 31.5136 23.6108 31.3408 24.2217L31.3398 24.2246C31.2967 24.377 31.251 24.5299 31.2021 24.6797C30.9215 25.5403 30.5473 26.2998 30.0879 26.2998C29.7613 26.2996 29.5995 25.9674 29.4316 25.6221C29.2501 25.2487 29.0614 24.8605 28.6484 24.8604C27.8532 24.8604 27.2081 25.5046 27.208 26.2998V27.0771C27.2079 27.6079 26.9661 28.112 26.5205 28.4004C25.9146 28.7925 25.2357 28.6462 24.7959 28.2061L24.7949 28.208C24.7897 28.2028 24.7854 28.1967 24.7803 28.1914C24.7654 28.1761 24.7507 28.1606 24.7363 28.1445C24.7105 28.1156 24.6858 28.0857 24.6621 28.0547C24.6461 28.0339 24.6302 28.013 24.6152 27.9912C24.5931 27.9591 24.5726 27.9257 24.5527 27.8916C24.5392 27.8685 24.5261 27.8452 24.5137 27.8213C24.5093 27.8128 24.5043 27.8045 24.5 27.7959L24.501 27.7939C24.3932 27.5763 24.3282 27.3276 24.3281 27.0576V26.2998C24.328 25.5993 23.8278 25.0158 23.165 24.8867V24.8877C23.0752 24.8702 22.9826 24.8604 22.8877 24.8604C22.8446 24.8604 22.8019 24.8624 22.7598 24.8662C22.0247 24.9312 21.4483 25.5479 21.4482 26.2998C21.4482 26.9127 21.4608 27.5305 21.4736 28.1494L21.4951 29.3135C21.5 29.7013 21.5015 30.089 21.4971 30.4756C21.4874 31.3103 20.8426 32 20.0078 32C19.1732 31.9998 18.5292 31.3102 18.5195 30.4756C18.5159 30.1613 18.5176 29.8464 18.5205 29.5312V29.5322C18.5212 29.4593 18.5206 29.3864 18.5215 29.3135L18.5303 28.8154V28.8145C18.5343 28.5927 18.5384 28.371 18.543 28.1494C18.5558 27.5305 18.5684 28.1129 18.5684 27.5C18.5684 26.7047 17.9232 26.0596 17.1279 26.0596C16.907 26.0596 16.6978 26.1103 16.5107 26.1992C16.2161 26.3393 15.9767 26.5769 15.834 26.8701C15.8269 26.8846 15.8201 26.8993 15.8135 26.9141C15.7821 26.9845 15.7562 27.0579 15.7363 27.1338C15.7243 27.1798 15.7155 27.2267 15.708 27.2744C15.7012 27.3175 15.6953 27.361 15.6924 27.4053C15.6903 27.4366 15.6885 27.4681 15.6885 27.5V28.7383C15.6883 29.9234 14.4911 30.7248 13.4961 30.0811C13.0505 29.7926 12.8086 29.2886 12.8086 28.7578V26.2998C12.8086 25.9737 12.6984 25.674 12.5156 25.4326C12.4437 25.3381 12.3612 25.2521 12.2686 25.1777V25.1768C12.0219 24.9788 11.709 24.8604 11.3682 24.8604C10.9892 24.8604 10.8622 24.8872 10.7295 25.2295C10.5837 25.6055 10.4302 26 9.92773 26C9.33081 25.9996 8.95963 25.2403 8.71484 24.3799C8.5591 23.8325 8.45907 23.571 8.3623 23.0107C8.3501 22.9401 8.33284 22.8403 8.31738 22.7529C8.12812 21.9466 8.02043 21.1089 8.00293 20.249V20.25L8 20C8 19.8617 8.00317 19.724 8.00781 19.5869C8.00837 19.5703 8.00816 19.5537 8.00879 19.5371L8.00977 19.5352C8.0998 17.1716 8.87444 14.9844 10.1396 13.1631C10.1488 13.1499 10.1587 13.1372 10.168 13.124C12.255 10.1453 15.6582 8.15745 19.5352 8.00977L19.5371 8.00879C19.5537 8.00816 19.5703 8.00837 19.5869 8.00781C19.724 8.00317 19.8617 8 20 8L20.25 8.00293Z"})})})]})]})}import{useCallback as Hg,useEffect as yo,useRef as ci,useState as os}from"react";import{Fragment as Zc,jsx as Dt,jsxs as Vr}from"react/jsx-runtime";function Xc(e){return e.status==="done"||e.status==="error"}var Ng=24,zg=6,Fg=Ng-zg,$g=8,qc=y(f({display:"flex",alignItems:"center",gap:3,padding:0,backgroundColor:"#eaeaea"},Ko),{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"nowrap",transition:"transform 200ms ease, opacity 200ms ease"});function Wg(e){var l;let t=e.filter(a=>a.type==="tool_use");if(t.length===0)return"Starting\u2026";let n=t[t.length-1],o=String(n.data.tool||""),r=n.data.file?String(n.data.file):null,s=r?(l=r.split("/").pop())!=null?l:r:null,i=n.data.content?String(n.data.content):null;switch(o){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(!i)return"Running command";let a=i.split(`
23
+ `)[0].trim();return a.length<=40?a:a.slice(0,37)+"\u2026"}case"Glob":return"Searching files";case"Grep":return"Searching code";default:return o?`Using ${o}`:"Working\u2026"}}function jg(e){let t=e.replace(/^Error:\s*/i,"");return t.length>40?t.slice(0,37)+"...":t}function Gg(e,t){if(e.some(s=>s.type==="question"&&s.data.jobId===t))return"Has a question";let o=new Set(["Edit","Write"]);return e.some(s=>s.type==="tool_use"&&s.data.jobId===t&&o.has(String(s.data.tool||"")))?"Applied changes":"Replied"}function Yg({color:e}){let[t,n]=os(0);return yo(()=>{let o=setInterval(()=>{n(r=>(r+1)%2)},250);return()=>clearInterval(o)},[]),Dt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?Vr(Zc,{children:[Dt("circle",{cx:"7",cy:"7",r:"2"}),Dt("circle",{cx:"17",cy:"7",r:"2"}),Dt("circle",{cx:"7",cy:"17",r:"2"}),Dt("circle",{cx:"17",cy:"17",r:"2"})]}):Vr(Zc,{children:[Dt("circle",{cx:"12",cy:"6",r:"2"}),Dt("circle",{cx:"6",cy:"12",r:"2"}),Dt("circle",{cx:"18",cy:"12",r:"2"}),Dt("circle",{cx:"12",cy:"18",r:"2"})]})})}function Jg({color:e}){return Dt("span",{style:{display:"inline-block",width:8,height:8,backgroundColor:e,opacity:.6}})}function Vg({color:e}){return Dt("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function Ug(){return Dt("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ef4444"}})}function Kg({onCancel:e}){let t=ci(null);return yo(()=>{let n=t.current;if(!n)return;let o=i=>{i.stopPropagation(),e()},r=()=>{n.style.opacity="0.5"},s=()=>{n.style.opacity="0.7"};return n.addEventListener("click",o),n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",s),()=>{n.removeEventListener("click",o),n.removeEventListener("mouseenter",r),n.removeEventListener("mouseleave",s)}},[e]),Dt("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 Xg({onDismiss:e}){let t=ci(null);return yo(()=>{let n=t.current;if(!n)return;let o=i=>{i.stopPropagation(),e()},r=()=>{n.style.opacity="0.5"},s=()=>{n.style.opacity="0.7"};return n.addEventListener("click",o),n.addEventListener("mouseenter",r),n.addEventListener("mouseleave",s),()=>{n.removeEventListener("click",o),n.removeEventListener("mouseenter",r),n.removeEventListener("mouseleave",s)}},[e]),Dt("button",{ref:t,style:{background:"none",border:"none",cursor:"pointer",color:"#ffffff",opacity:.7,fontSize:14,padding:"0 2px",lineHeight:1},title:"Dismiss",children:"\xD7"})}function Qc({bridge:e,inFlightJobs:t,isVisible:n,onHover:o,clearSignal:r,onViewThread:s,onClickJob:i,onCancel:l,onHoverJob:a,isConnected:d,dismissedThreadIds:c,snapPosition:u="bottom-right"}){let[p,g]=os([]),[v,x]=os(!1),[w,I]=os(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});yo(()=>{let F=()=>I({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",F),()=>window.removeEventListener("resize",F)},[]);let N=dl(u,w.w,w.h);yo(()=>{r>0&&g([])},[r]),yo(()=>{!c||c.size===0||g(F=>{let me=F.filter(R=>!R.threadId||!c.has(R.threadId)||!Xc(R));return me.length===F.length?F:me})},[c]),yo(()=>{g(F=>{var Oe;let me=new Set(F.map(he=>he.jobId)),R=!1,ie=F.map(he=>{let Fe=t[he.jobId];return Fe&&(!he.threadId||he.color==="#888")?(R=!0,y(f({},he),{threadId:he.threadId||Fe.threadId,color:he.color==="#888"?Fe.color:he.color})):he});for(let[he,Fe]of Object.entries(t))me.has(he)||(ie.push({jobId:he,color:Fe.color,status:"queued",threadId:Fe.threadId}),R=!0);let Se=new Set(Object.keys(t)),Pe=new Set(e.activeJobIds),_e=ie.filter(he=>he.status!=="queued"?!0:Se.has(he.jobId)||Pe.has(he.jobId));_e.length!==ie.length&&(R=!0);let Ze=new Set(_e.map(he=>he.jobId));for(let he of e.activeJobIds)if(!Ze.has(he)){let Fe=e.events.find(rt=>rt.type==="job_started"&&rt.data.jobId===he);_e.push({jobId:he,color:"#888",status:"working",threadId:(Oe=Fe==null?void 0:Fe.data)==null?void 0:Oe.threadId}),R=!0}return R?_e:F})},[t,e.activeJobIds]),yo(()=>{if(e.activeJobIds.length===0)return;let F=new Set(e.activeJobIds);g(me=>me.map(R=>F.has(R.jobId)&&R.status!=="done"&&R.status!=="error"?y(f({},R),{status:"working"}):R))},[e.activeJobIds]);let H=ci(null);yo(()=>{let F=e.lastCompletedJobId;if(!F||F===H.current)return;H.current=F;let me=e.events.find(Ze=>Ze.type==="error"&&(Ze.data.jobId===F||e.status==="error")),R=!!me,ie=R?void 0:Gg(e.events,F),Se=me?String(me.data.message||""):void 0,Pe=me?!!me.data.cancelled:void 0,_e=me==null?void 0:me.data.threadId;g(Ze=>{let Oe=Ze.map(Fe=>Fe.jobId===F?y(f({},Fe),{status:R?"error":"done",doneLabel:ie,errorMessage:Se,cancelled:Pe,threadId:Fe.threadId||_e}):Fe);if(!c||c.size===0)return Oe;let he=Oe.filter(Fe=>!Fe.threadId||!c.has(Fe.threadId)||!Xc(Fe));return he.length===Oe.length?Oe:he})},[e.lastCompletedJobId,e.events,e.status,c]);let O=n&&(p.length>0||d===!1),L=ci(null);yo(()=>{if(!O)return;let F=L.current;if(!F)return;let me=()=>{x(!0),o(!0)},R=()=>{x(!1),o(!1),a==null||a(null)};return F.addEventListener("mouseenter",me),F.addEventListener("mouseleave",R),()=>{F.removeEventListener("mouseenter",me),F.removeEventListener("mouseleave",R)}},[O,o,a]);let Y=ci(new Map),re=Hg((F,me)=>{me?Y.current.set(F,me):Y.current.delete(F)},[]);if(yo(()=>{if(!O)return;let F=[];for(let me of p){let R=Y.current.get(me.jobId);if(R){if(i){let ie=me.jobId,Se=()=>i(ie);R.addEventListener("click",Se),F.push(()=>R.removeEventListener("click",Se))}if(a){let ie=me.jobId,Se=()=>a(ie),Pe=()=>a(null);R.addEventListener("mouseenter",Se),R.addEventListener("mouseleave",Pe),F.push(()=>{R.removeEventListener("mouseenter",Se),R.removeEventListener("mouseleave",Pe)})}}}return()=>F.forEach(me=>me())},[O,p,i,a]),!O)return null;let Z={working:3,queued:2,error:1,done:0},_=[],B=new Map;for(let F of p){if(!F.threadId){_.push(F);continue}let me=B.get(F.threadId);(!me||Z[F.status]>Z[me.status]||Z[F.status]===Z[me.status])&&B.set(F.threadId,F)}for(let F of B.values())_.push(F);let h=_.filter(F=>F.status==="queued"),A=new Map;h.forEach((F,me)=>{A.set(F.jobId,`(${me+1}/${h.length})`)});let k=!v&&_.length>1,be=lr(u),K=cr(u),de=be?_:[..._].reverse();return Vr("div",{ref:L,style:N,"data-devtools":!0,children:[Dt("style",{children:"@keyframes popmelt-badge-march { to { background-position: 0 -5px; } }"}),de.map((F,me)=>{var Pe;let R=me===_.length-1,ie=_.length-1-me,Se=F.status==="working"?Wg(e.events.filter(_e=>_e.data.jobId===F.jobId)):F.status==="queued"?`Queued ${(Pe=A.get(F.jobId))!=null?Pe:""}`:F.status==="done"?F.doneLabel||"Done":F.cancelled?"Cancelled":F.errorMessage?jg(F.errorMessage):"Error";return Dt("div",{style:{position:"relative",zIndex:_.length-me,marginBottom:k?R?0:-Fg:R?0:$g,transform:k?`scale(${Math.max(.94,1-ie*.02)})`:"scale(1)",opacity:1,transformOrigin:`${be?"top":"bottom"} ${K?"right":"left"}`,transition:"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:Vr("div",{ref:_e=>re(F.jobId,_e),style:f(y(f({},qc),{position:"relative",overflow:"visible",cursor:i?"pointer":void 0}),F.status==="working"&&{borderImage:"none",borderColor:"transparent"}),title:F.errorMessage||void 0,children:[F.status==="working"&&(()=>{let _e=`<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='${F.color}' stroke-width='.75'/></svg>`;return Dt("div",{style:{position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(_e)}")`,backgroundSize:"5px 5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",WebkitMaskComposite:"xor",mask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",maskComposite:"exclude",pointerEvents:"none",animation:"popmelt-badge-march 0.8s linear infinite"}})})(),Vr("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:F.status==="error"?"#ef4444":F.color,color:"#ffffff"},children:[F.status==="working"&&Dt(Yg,{color:"#ffffff"}),F.status==="queued"&&Dt(Jg,{color:"#ffffff"}),F.status==="done"&&Dt(Vg,{color:"#ffffff"}),F.status==="error"&&Dt(Ug,{}),Dt("span",{style:{opacity:F.status==="queued"?.6:1,maxWidth:160,overflow:"hidden",textOverflow:"ellipsis"},children:Se}),F.status==="working"&&l&&Dt(Kg,{onCancel:()=>l(F.jobId)}),(F.status==="done"||F.status==="error")&&Dt(Xg,{onDismiss:()=>g(_e=>_e.filter(Ze=>F.threadId?Ze.threadId!==F.threadId:Ze.jobId!==F.jobId))})]})]})},F.jobId)}),d===!1&&p.length>0&&Dt("div",{style:qc,children:Vr("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:"#f59e0b",color:"#ffffff"},children:[Dt("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),Dt("span",{children:"Reconnecting\u2026"})]})})]})}import{Fragment as Qg,jsx as Zg,jsxs as em}from"react/jsx-runtime";var qg=`
19
24
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
20
25
  :host {
21
26
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
@@ -44,9 +49,9 @@ Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{
44
49
  color: initial;
45
50
  -webkit-font-smoothing: auto;
46
51
  }
47
- `;function Rc({children:e}){return sg(ig,{children:[rg("style",{children:og}),e]})}import{useEffect as ag,useLayoutEffect as lg,useRef as cg,useState as Lc}from"react";import{createPortal as dg}from"react-dom";import{Fragment as gg,jsx as fg,jsxs as mg}from"react/jsx-runtime";function ug(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function pg(e){let t=new Map,n=e.firstChild;function o(s){if(t.has(s)||s.hasAttribute("data-pm-mirror"))return;let a=s.cloneNode(!0);a.setAttribute("data-pm-mirror",""),e.insertBefore(a,n),t.set(s,a)}function r(s){let a=t.get(s);a&&(a.remove(),t.delete(s))}for(let s of document.querySelectorAll('link[rel="stylesheet"], style'))s.getRootNode()===document&&o(s);try{document.adoptedStyleSheets.length>0&&(e.adoptedStyleSheets=[...document.adoptedStyleSheets,...e.adoptedStyleSheets])}catch(s){}let i=new MutationObserver(s=>{for(let a of s)if(a.type==="childList"){for(let l of a.addedNodes)l instanceof Element&&ug(l)&&o(l);for(let l of a.removedNodes)l instanceof Element&&r(l)}});return i.observe(document.head,{childList:!0}),document.body&&i.observe(document.body,{childList:!0}),()=>{i.disconnect();for(let s of t.values())s.remove();t.clear()}}function Ac({children:e}){let t=cg(null),[n,o]=Lc(null),[r,i]=Lc(null);return lg(()=>{let s=t.current;if(!s||s.shadowRoot)return;let a=s.attachShadow({mode:"open"}),l=document.createElement("div");l.setAttribute("data-popmelt-root",""),a.appendChild(l),o(a),i(l)},[]),ag(()=>{if(n)return pg(n)},[n]),mg(gg,{children:[fg("div",{ref:t,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",zIndex:1e4}}),r&&dg(e,r)]})}import{memo as wg,useCallback as Br,useEffect as So,useMemo as Pc,useRef as go,useState as ro}from"react";import{jsx as Ye,jsxs as dr}from"react/jsx-runtime";var Ks="ui-monospace, SFMono-Regular, Menlo, monospace",hg=0;function yg({size:e=11}){let t=++hg,n=`pm-vs-m${t}`,o=`pm-vs-f0-${t}`,r=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return dr("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:[Ye("mask",{id:n,maskType:"alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:Ye("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"})}),dr("g",{mask:`url(#${n})`,children:[Ye("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"}),Ye("g",{filter:`url(#${o})`,children:Ye("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"})}),Ye("g",{filter:`url(#${r})`,children:Ye("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"})}),Ye("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:Ye("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})`})})]}),dr("defs",{children:[dr("filter",{id:o,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Ye("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Ye("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"}),Ye("feOffset",{}),Ye("feGaussianBlur",{stdDeviation:"4.16667"}),Ye("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"}),Ye("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Ye("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),dr("filter",{id:r,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Ye("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Ye("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"}),Ye("feOffset",{}),Ye("feGaussianBlur",{stdDeviation:"4.16667"}),Ye("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"}),Ye("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Ye("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),dr("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[Ye("stop",{stopColor:"white"}),Ye("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var bg=/^#[0-9a-fA-F]{3,8}$/,xg=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,vg=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 Sg(e){let t=e.trim();return bg.test(t)||xg.test(t)||vg.has(t.toLowerCase())}function Xs(e,t){return Ye("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 qr(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,o=0,r;for(;(r=n.exec(e))!==null;){if(r.index>o&&t.push(e.slice(o,r.index)),r[1]){let i=r[1].slice(1,-1);Sg(i)&&t.push(Xs(i,`sw-${r.index}`)),t.push(Ye("code",{style:{fontFamily:Ks,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:i},r.index))}else if(r[3]!==void 0)t.push(Ye("strong",{children:Ye("em",{children:r[3]})},r.index));else if(r[5]!==void 0)t.push(Ye("strong",{children:r[5]},r.index));else if(r[7]!==void 0)t.push(Ye("em",{children:r[7]},r.index));else if(r[9]!==void 0)t.push(Ye("em",{children:r[9]},r.index));else if(r[11]!==void 0&&r[12]!==void 0){let i=r[12],s=!/^https?:\/\/|^mailto:/i.test(i),a=s?`vscode://file/${i}`:i;s?t.push(dr("a",{href:a,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:Ks,fontSize:"0.9em"},children:[r[11],Ye(yg,{})]},r.index)):t.push(Ye("a",{href:a,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:r[11]},r.index))}else r[13]!==void 0?(t.push(Xs(r[13],`sw-${r.index}`)),t.push(r[13])):r[14]!==void 0&&(t.push(Xs(r[14],`sw-${r.index}`)),t.push(r[14]));o=r.index+r[0].length}return o<e.length&&t.push(e.slice(o)),t}function vo(e){var r;let t=e.split(`
48
- `),n=[],o=0;for(;o<t.length;){let i=t[o];if(i.trimStart().startsWith("```")){let d=[];for(o++;o<t.length&&!t[o].trimStart().startsWith("```");)d.push(t[o]),o++;o++,n.push(Ye("pre",{style:{fontFamily:Ks,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:d.join(`
49
- `)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(i)){n.push(Ye("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),o++;continue}let s=i.match(/^(#{1,4})\s+(.+)/);if(s){let d=s[1].length,c={1:16,2:14,3:13,4:12};n.push(Ye("div",{style:{fontWeight:700,fontSize:(r=c[d])!=null?r:12,margin:"8px 0 2px"},children:qr(s[2])},n.length)),o++;continue}if(i.trimStart().startsWith("|")&&i.trimEnd().endsWith("|")){let d=[];for(;o<t.length&&t[o].trimStart().startsWith("|")&&t[o].trimEnd().endsWith("|");)d.push(t[o]),o++;let c=T=>/^\|[\s\-:|]+\|$/.test(T),p=d.filter(T=>!c(T)),u=T=>T.split("|").slice(1,-1).map($=>$.trim()),g=T=>/^\*\*.+\*\*$/.test(T)||/^__.+__$/.test(T),b=p.map(u),v=b.length>1&&b.slice(1).every(T=>T[0]&&g(T[0])),A=b.length>0&&b[0].every(T=>g(T));n.push(Ye("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:Ye("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:Ye("tbody",{children:p.map((T,$)=>Ye("tr",{children:u(T).map((P,O)=>Ye($===0?"th":"td",{style:f({border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:$===0?600:400,minWidth:60,whiteSpace:"nowrap"},O===0&&v||$===0&&A?h(f(f({position:"sticky"},O===0&&v?{left:0}:{}),$===0&&A?{top:0}:{}),{background:"#fff",zIndex:O===0&&v&&$===0&&A?2:1}):{}),children:qr(P)},O))},$))})})},n.length));continue}if(i.match(/^(\s*)([-*])\s+(.+)/)){let d=[];for(;o<t.length;){let c=t[o].match(/^\s*[-*]\s+(.+)/);if(c)d.push(c[1]),o++;else if(d.length>0&&t[o].match(/^\s+\S/)&&!t[o].match(/^\s*\d+\.\s/)&&!t[o].match(/^\s*[-*]\s+/))d[d.length-1]+=" "+t[o].trim(),o++;else break}n.push(Ye("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8},children:d.map((c,p)=>Ye("li",{children:qr(c)},p))},n.length));continue}if(i.match(/^(\s*)\d+\.\s+(.+)/)){let d=[];for(;o<t.length;){let c=t[o].match(/^\s*\d+\.\s+(.+)/);if(c)d.push(c[1]),o++;else if(d.length>0&&t[o].match(/^\s+\S/)&&!t[o].match(/^\s*\d+\.\s/)&&!t[o].match(/^\s*[-*]\s+/))d[d.length-1]+=" "+t[o].trim(),o++;else break}n.push(Ye("ol",{style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8},children:d.map((c,p)=>Ye("li",{children:qr(c)},p))},n.length));continue}if(i.trim()===""){o++;continue}n.push(Ye("div",{children:qr(i)},n.length)),o++}return Ye("div",{style:{display:"flex",flexDirection:"column",gap:8},children:n})}import{Fragment as Fo,jsx as de,jsxs as dt}from"react/jsx-runtime";var Dc=400,Dn=16,_c=3,Cg=3,Nc=4,Eg=8,qs="devtools-thread-panel-position",Dr=Dc+2*_c+2*Nc,kg=Dr+2*Cg;function Zs(){return{top:Dn,left:window.innerWidth-Dr-Dn}}function Oc(e,t,n){let o=n==null?void 0:n.getBoundingClientRect(),r=2*_c+2*Nc,i=window.innerHeight-Dn-r;return o&&t+kg>o.left&&(i=o.top-Eg-r),Math.max(200,i-Math.max(0,e))}var Tg={width:Dc,backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",boxSizing:"content-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,fontFamily:Zt,fontSize:12,color:"#1f2937",pointerEvents:"auto"},Mg={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 5px 4px 10px",margin:0,fontWeight:600,fontSize:12,overflow:"hidden"},Ig={flex:1,overflowY:"auto",padding:0,scrollbarWidth:"none"},Rg=`
52
+ `;function ed({children:e}){return em(Qg,{children:[Zg("style",{children:qg}),e]})}import{useEffect as tm,useLayoutEffect as nm,useRef as om,useState as td}from"react";import{createPortal as rm}from"react-dom";import{Fragment as lm,jsx as am,jsxs as cm}from"react/jsx-runtime";function im(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function sm(e){let t=new Map,n=e.firstChild;function o(i){if(t.has(i)||i.hasAttribute("data-pm-mirror"))return;let l=i.cloneNode(!0);l.setAttribute("data-pm-mirror",""),e.insertBefore(l,n),t.set(i,l)}function r(i){let l=t.get(i);l&&(l.remove(),t.delete(i))}for(let i of document.querySelectorAll('link[rel="stylesheet"], style'))i.getRootNode()===document&&o(i);try{document.adoptedStyleSheets.length>0&&(e.adoptedStyleSheets=[...document.adoptedStyleSheets,...e.adoptedStyleSheets])}catch(i){}let s=new MutationObserver(i=>{for(let l of i)if(l.type==="childList"){for(let a of l.addedNodes)a instanceof Element&&im(a)&&o(a);for(let a of l.removedNodes)a instanceof Element&&r(a)}});return s.observe(document.head,{childList:!0}),document.body&&s.observe(document.body,{childList:!0}),()=>{s.disconnect();for(let i of t.values())i.remove();t.clear()}}function nd({children:e}){let t=om(null),[n,o]=td(null),[r,s]=td(null);return nm(()=>{let i=t.current;if(!i||i.shadowRoot)return;let l=i.attachShadow({mode:"open"}),a=document.createElement("div");a.setAttribute("data-popmelt-root",""),l.appendChild(a),o(l),s(a)},[]),tm(()=>{if(n)return sm(n)},[n]),cm(lm,{children:[am("div",{ref:t,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",zIndex:1e4}}),r&&rm(e,r)]})}import{memo as hm,useCallback as Ur,useEffect as Mo,useMemo as od,useRef as bo,useState as ro}from"react";import{jsx as Ye,jsxs as Cr}from"react/jsx-runtime";var ha="ui-monospace, SFMono-Regular, Menlo, monospace",dm=0;function um({size:e=11}){let t=++dm,n=`pm-vs-m${t}`,o=`pm-vs-f0-${t}`,r=`pm-vs-f1-${t}`,s=`pm-vs-g${t}`;return Cr("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:[Ye("mask",{id:n,maskType:"alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:Ye("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"})}),Cr("g",{mask:`url(#${n})`,children:[Ye("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"}),Ye("g",{filter:`url(#${o})`,children:Ye("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"})}),Ye("g",{filter:`url(#${r})`,children:Ye("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"})}),Ye("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:Ye("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(#${s})`})})]}),Cr("defs",{children:[Cr("filter",{id:o,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Ye("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Ye("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"}),Ye("feOffset",{}),Ye("feGaussianBlur",{stdDeviation:"4.16667"}),Ye("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"}),Ye("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Ye("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),Cr("filter",{id:r,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Ye("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Ye("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"}),Ye("feOffset",{}),Ye("feGaussianBlur",{stdDeviation:"4.16667"}),Ye("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"}),Ye("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Ye("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),Cr("linearGradient",{id:s,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[Ye("stop",{stopColor:"white"}),Ye("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var pm=/^#[0-9a-fA-F]{3,8}$/,fm=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,gm=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 mm(e){let t=e.trim();return pm.test(t)||fm.test(t)||gm.has(t.toLowerCase())}function ma(e,t){return Ye("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 di(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,o=0,r;for(;(r=n.exec(e))!==null;){if(r.index>o&&t.push(e.slice(o,r.index)),r[1]){let s=r[1].slice(1,-1);mm(s)&&t.push(ma(s,`sw-${r.index}`)),t.push(Ye("code",{style:{fontFamily:ha,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:s},r.index))}else if(r[3]!==void 0)t.push(Ye("strong",{children:Ye("em",{children:r[3]})},r.index));else if(r[5]!==void 0)t.push(Ye("strong",{children:r[5]},r.index));else if(r[7]!==void 0)t.push(Ye("em",{children:r[7]},r.index));else if(r[9]!==void 0)t.push(Ye("em",{children:r[9]},r.index));else if(r[11]!==void 0&&r[12]!==void 0){let s=r[12],i=!/^https?:\/\/|^mailto:/i.test(s),l=i?`vscode://file/${s}`:s;i?t.push(Cr("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:ha,fontSize:"0.9em"},children:[r[11],Ye(um,{})]},r.index)):t.push(Ye("a",{href:l,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:r[11]},r.index))}else r[13]!==void 0?(t.push(ma(r[13],`sw-${r.index}`)),t.push(r[13])):r[14]!==void 0&&(t.push(ma(r[14],`sw-${r.index}`)),t.push(r[14]));o=r.index+r[0].length}return o<e.length&&t.push(e.slice(o)),t}function To(e){var r;let t=e.split(`
53
+ `),n=[],o=0;for(;o<t.length;){let s=t[o];if(s.trimStart().startsWith("```")){let d=[];for(o++;o<t.length&&!t[o].trimStart().startsWith("```");)d.push(t[o]),o++;o++,n.push(Ye("pre",{style:{fontFamily:ha,fontSize:"0.9em",lineHeight:1.4,backgroundColor:"rgba(0,0,0,0.04)",padding:"6px 8px",margin:"4px 0",overflowX:"auto",whiteSpace:"pre"},children:d.join(`
54
+ `)},n.length));continue}if(/^(-{3,}|\*{3,}|_{3,})\s*$/.test(s)){n.push(Ye("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),o++;continue}let i=s.match(/^(#{1,4})\s+(.+)/);if(i){let d=i[1].length,c={1:16,2:14,3:13,4:12};n.push(Ye("div",{style:{fontWeight:700,fontSize:(r=c[d])!=null?r:12,margin:"8px 0 2px"},children:di(i[2])},n.length)),o++;continue}if(s.trimStart().startsWith("|")&&s.trimEnd().endsWith("|")){let d=[];for(;o<t.length&&t[o].trimStart().startsWith("|")&&t[o].trimEnd().endsWith("|");)d.push(t[o]),o++;let c=I=>/^\|[\s\-:|]+\|$/.test(I),u=d.filter(I=>!c(I)),p=I=>I.split("|").slice(1,-1).map(N=>N.trim()),g=I=>/^\*\*.+\*\*$/.test(I)||/^__.+__$/.test(I),v=u.map(p),x=v.length>1&&v.slice(1).every(I=>I[0]&&g(I[0])),w=v.length>0&&v[0].every(I=>g(I));n.push(Ye("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:Ye("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:Ye("tbody",{children:u.map((I,N)=>Ye("tr",{children:p(I).map((H,O)=>Ye(N===0?"th":"td",{style:f({border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:N===0?600:400,minWidth:60,whiteSpace:"nowrap"},O===0&&x||N===0&&w?y(f(f({position:"sticky"},O===0&&x?{left:0}:{}),N===0&&w?{top:0}:{}),{background:"#fff",zIndex:O===0&&x&&N===0&&w?2:1}):{}),children:di(H)},O))},N))})})},n.length));continue}if(s.match(/^(\s*)([-*])\s+(.+)/)){let d=[];for(;o<t.length;){let c=t[o].match(/^\s*[-*]\s+(.+)/);if(c)d.push(c[1]),o++;else if(d.length>0&&t[o].match(/^\s+\S/)&&!t[o].match(/^\s*\d+\.\s/)&&!t[o].match(/^\s*[-*]\s+/))d[d.length-1]+=" "+t[o].trim(),o++;else break}n.push(Ye("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8},children:d.map((c,u)=>Ye("li",{children:di(c)},u))},n.length));continue}let a=s.match(/^(\s*)(\d+)\.\s+(.+)/);if(a){let d=a[1].length,c=parseInt(a[2],10)||1,u=[],p=null;for(;o<t.length;){let g=t[o],v=g.match(/^(\s*)(\d+)\.\s+(.+)/);if(v&&v[1].length===d)p=[v[3]],u.push(p),o++;else if(p&&g.trim()==="")o++;else if(u.length>0&&t[o].match(/^\s+\S/)&&!t[o].match(/^\s*\d+\.\s/)&&!t[o].match(/^\s*[-*]\s+/))p.push(t[o].trim()),o++;else if(p&&/^(Eval|Checks|Sources|Rationale|Prompt|Assertions?|Reason|Why|Expected|Notes?):/i.test(g.trim()))p.push(g.trim()),o++;else if(p&&p.length>1&&g.trim()&&!g.match(/^(#{1,4})\s+/)&&!g.trimStart().startsWith("|")&&!g.match(/^\s*[-*]\s+/)&&!g.match(/^\s*\d+\.\s+/)&&!/^(\*\*)?[A-Z][A-Za-z /&-]{2,40}(\*\*)?$/.test(g.trim()))p.push(g.trim()),o++;else break}n.push(Ye("ol",{start:c,style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8},children:u.map((g,v)=>Ye("li",{children:Ye("div",{style:{display:"flex",flexDirection:"column",gap:6},children:g.map((x,w)=>Ye("div",{children:di(x)},w))})},v))},n.length));continue}if(s.trim()===""){o++;continue}n.push(Ye("div",{children:di(s)},n.length)),o++}return Ye("div",{style:{display:"flex",flexDirection:"column",gap:8},children:n})}import{Fragment as Zo,jsx as ce,jsxs as nt}from"react/jsx-runtime";var sd=400,An=16,ad=3,ym=3,ld=4,bm=8,vm="devtools-thread-panel-position",Kr=sd+2*ad+2*ld,xm=Kr+2*ym;function ya(e="right"){return{top:An,left:e==="left"?An:window.innerWidth-Kr-An}}function rd(e,t,n){let o=n==null?void 0:n.getBoundingClientRect(),r=2*ad+2*ld,s=window.innerHeight-An-r;return o&&t+xm>o.left&&(s=o.top-bm-r),Math.max(200,s-Math.max(0,e))}var Sm={width:sd,backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",boxSizing:"content-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,fontFamily:Zt,fontSize:12,color:"#1f2937",pointerEvents:"auto"},wm={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 5px 4px 10px",margin:0,fontWeight:600,fontSize:12,overflow:"hidden"},Cm={flex:1,overflowY:"auto",padding:0,scrollbarWidth:"none"},Em=`
50
55
  [data-devtools="thread-panel-messages"]:hover {
51
56
  scrollbar-width: thin !important;
52
57
  }
@@ -60,11 +65,11 @@ Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{
60
65
  background: rgba(0,0,0,0.15);
61
66
  border-radius: 3px;
62
67
  }
63
- `,Lg={borderTop:"1px solid rgba(0, 0, 0, 0.12)",display:"flex",alignItems:"center",gap:4,padding:"0 8px 0 10px"};function ea(e){return e.replace(/<resolution>[\s\S]*?<\/resolution>/g,"").replace(/<question>[\s\S]*?<\/question>/g,"").replace(/<plan>[\s\S]*?<\/plan>/g,"").replace(/<review>[\s\S]*?<\/review>/g,"").replace(/<novel>[\s\S]*?<\/novel>/g,"").trim()}function Ag(e){let t=e.match(/<novel>\s*([\s\S]*?)\s*<\/novel>/);if(!(t!=null&&t[1]))return[];try{let n=JSON.parse(t[1]);return Array.isArray(n)?n.filter(o=>{if(typeof o!="object"||o===null)return!1;let r=o;return typeof r.category=="string"&&typeof r.element=="string"&&typeof r.decision=="string"&&typeof r.reason=="string"}):[]}catch(n){return[]}}function Bc(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}var Qs=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Pg=3e3,Og=250;function Bg({color:e}){let[t,n]=ro(0),[o,r]=ro(()=>Math.floor(Math.random()*Qs.length));return So(()=>{let i=setInterval(()=>n(a=>(a+1)%2),Og),s=setInterval(()=>r(a=>(a+1)%Qs.length),Pg);return()=>{clearInterval(i),clearInterval(s)}},[]),dt("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[de("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?dt(Fo,{children:[de("circle",{cx:"7",cy:"7",r:"2"}),de("circle",{cx:"17",cy:"7",r:"2"}),de("circle",{cx:"7",cy:"17",r:"2"}),de("circle",{cx:"17",cy:"17",r:"2"})]}):dt(Fo,{children:[de("circle",{cx:"12",cy:"6",r:"2"}),de("circle",{cx:"6",cy:"12",r:"2"}),de("circle",{cx:"18",cy:"12",r:"2"}),de("circle",{cx:"12",cy:"18",r:"2"})]})}),de("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:Qs[o]})]})}var $i=32,Fi={width:$i,height:$i,objectFit:"cover",cursor:"pointer",border:"1px solid rgba(0,0,0,0.1)"};function Dg(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let o=[];for(let r=0;r<n.length;r++){let i=n[r],s=i[1],a=i.index+i[0].length,l=r+1<n.length?n[r+1].index:e.length,d=e.slice(a,l).trim();o.push({route:s,text:d})}return o}function _g(e,t){let n=[];if(e.replyImageUrls)for(let o of e.replyImageUrls){let r=o.startsWith("blob:")||o.startsWith("http")?o:`${t}${o}`;n.push({url:r,label:"pasted image"})}return n}function Ng(e,t){let n=[];if(e.imageUrls)for(let[,o]of Object.entries(e.imageUrls))for(let r of o)n.push({url:`${t}${r}`,label:"pasted image"});return n}function Hg({src:e,onClose:t}){return So(()=>{let n=o=>{o.key==="Escape"&&(o.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),de("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:de("img",{src:e,onClick:n=>n.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",cursor:"default",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"}})})}function Fg(e){var i;let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,o=n?(i=n.split("/").pop())!=null?i:n:null,r=e.data.content?String(e.data.content):null;switch(t){case"Read":return o?`Reading ${o}`:"Reading file";case"Edit":return o?`Editing ${o}`:"Editing file";case"Write":return o?`Writing ${o}`:"Writing file";case"Bash":return r?$g(r):"Running command";case"Glob":return"Searching files";case"Grep":return"Searching code";case"WebFetch":return"Fetching page";case"WebSearch":return"Searching web";default:return t?`Using ${t}`:null}}function $g(e){let t=e.split(`
64
- `)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var zg=new Set(["Read","Glob","Grep","WebFetch","WebSearch"]),Wg=new Set(["Edit","Write","Bash"]);function Gg(e){let t=0,n=!1;for(let o of e){if(o.type!=="tool_use")continue;let r=String(o.data.tool||"");Wg.has(r)?n=!0:zg.has(r)&&t++}return!n&&t>=3?"researching":n?"applying changes":null}function jg(e){var n;let t=[];for(let o of e)if(o.type==="tool_use"){let r=Fg(o),i=String(o.data.tool||""),s=o.data.file?String(o.data.file):null,a=o.data.content?String(o.data.content):null,l=(n=s!=null?s:a)!=null?n:void 0;if(r){let d=t[t.length-1];d&&d.kind==="tool_group"&&d.tool===i?d.items.push({label:r,detail:l}):t.push({kind:"tool_group",tool:i,items:[{label:r,detail:l}]})}if(a&&s){let d=s.includes(".")?`.${s.split(".").pop().toLowerCase()}`:"",c=s.includes(".claude/plans/");t.push({kind:"file_content",file:s,content:a,ext:d,isPlan:c})}}else if(o.type==="delta"){let r=String(o.data.text||"");if(!r)continue;let i=t[t.length-1];i&&i.kind==="text"?i.text+=r:t.push({kind:"text",text:r})}else if(o.type==="thinking"){let r=String(o.data.text||"");if(!r)continue;let i=t[t.length-1];i&&i.kind==="thinking"?i.text+=r:t.push({kind:"thinking",text:r})}return t}function Yg({file:e,content:t,ext:n,isPlan:o,onAccept:r}){var d;let[i,s]=ro(o),a=(d=e.split("/").pop())!=null?d:e;return dt("div",{style:{margin:"4px 0 4px 12px",border:"1px solid rgba(0,0,0,0.08)",backgroundColor:"rgba(255,255,255,0.6)",fontSize:11},children:[dt("div",{onClick:()=>s(c=>!c),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",cursor:"pointer",userSelect:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"#374151"},children:[de("span",{style:{fontSize:9,color:"#9ca3af"},children:i?"\u25BC":"\u25B6"}),de("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),o&&de("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&dt(Fo,{children:[de("div",{style:{maxHeight:300,overflowY:"auto",padding:"6px 10px",borderTop:"1px solid rgba(0,0,0,0.06)",lineHeight:1.5,wordBreak:"break-word"},children:n===".md"?vo(t):de("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),o&&r&&de("div",{style:{padding:"4px 8px",borderTop:"1px solid rgba(0,0,0,0.06)",display:"flex",justifyContent:"flex-end"},children:de("button",{onClick:c=>{c.stopPropagation(),r()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function Jg(e){let t=[];for(let n of e){let o=t[t.length-1];o&&o.val===n?o.count++:t.push({val:n,count:1})}return t.map(n=>n.count>1?`${n.val} (x${n.count})`:n.val)}function Ug(e,t){switch(e){case"Bash":{let n=t.map(o=>(o.label||"").split(/\s/)[0]).filter(Boolean);return`Used Bash: ${Jg(n).join(", ")}`}case"Read":return`Read: ${t.map(n=>n.label.replace(/^Reading /,"")).join(", ")}`;case"Edit":return`Edited: ${t.map(n=>n.label.replace(/^Editing /,"")).join(", ")}`;case"Write":return`Wrote: ${t.map(n=>n.label.replace(/^Writing /,"")).join(", ")}`;case"Grep":return t.length===1?"Searched code":`Searched code (${t.length})`;case"Glob":return t.length===1?"Searched files":`Searched files (${t.length})`;default:return`Used ${e}: ${t.map(n=>n.label).join(", ")}`}}var Vg={fontSize:11,color:"#9ca3af",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",lineHeight:1.6};function Xg({label:e}){let t=e.indexOf(" ");return t===-1?de(Fo,{children:e}):dt(Fo,{children:[de("b",{children:e.slice(0,t)}),e.slice(t)]})}function Hc({tool:e,items:t}){let[n,o]=ro(!1),r=t.length>1;return dt("div",{style:Vg,children:[dt("div",{onClick:r?()=>o(i=>!i):void 0,style:{cursor:r?"pointer":"default",userSelect:"none",color:"#9ca3af"},children:[r&&de("span",{style:{fontSize:13,marginRight:4},children:n?"\u25BE":"\u25B8"}),Ug(e,t)]}),n&&de("div",{style:{marginLeft:17},children:t.map((i,s)=>{var a;return de("div",{children:de(Xg,{label:(a=i.detail)!=null?a:i.label})},s)})})]})}var Kg=wg(function({msg:t,index:n,bridgeUrl:o,accentColor:r,onLightbox:i}){let s=t.role==="human";if(t.cancelled||t.error)return dt("div",{"data-msg":!0,style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:[dt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[de("span",{style:{fontSize:11,color:t.error?"#dc2626":"#9ca3af",fontStyle:"italic"},children:t.error?"Error":"Cancelled"}),de("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:Bc(t.timestamp)})]}),t.error&&de("div",{style:{fontSize:12,color:"#6b7280",lineHeight:1.4},children:t.error})]},`${t.jobId}-${n}`);let a=s?t.replyToQuestion||t.feedbackSummary||"(annotation)":ea(t.responseText||""),l=s?void 0:t.question,d=!s&&t.resolutions&&t.resolutions.length>0,c=!s&&t.segments&&t.segments.length>0,p=!s&&!c&&t.toolsUsed&&t.toolsUsed.length>0;return!a&&!l&&!d&&!c?null:dt("div",{"data-msg":!0,style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:[dt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[!s&&de(Vr,{provider:t.provider,size:11,style:{color:"#6b7280"}}),de("span",{style:{fontWeight:600,fontSize:11,color:s?r:"#6b7280"},children:s?"You":Gs(t.model,t.provider)}),de("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:Bc(t.timestamp)})]}),s&&!t.replyToQuestion&&(()=>{let u=a?Dg(a):null;if(u&&t.screenshotUrls)return de("div",{style:{display:"flex",flexDirection:"column",gap:4},children:u.map((b,v)=>{var $;let A=($=t.screenshotUrls)==null?void 0:$[b.route],T=A?`${o}${A}`:null;return dt("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[T?de("img",{src:T,title:b.route,style:h(f({},Fi),{flexShrink:0,marginTop:1}),onClick:()=>i(T)}):de("div",{style:{width:$i,height:$i,flexShrink:0}}),dt("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:[de("code",{style:{fontSize:10,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px"},children:b.route}),b.text&&de("div",{style:{marginTop:2},children:vo(b.text)})]})]},v)})});let g=t.screenshotUrl?`${o}${t.screenshotUrl}`:null;return g&&a?dt("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[de("img",{src:g,title:"screenshot",style:h(f({},Fi),{flexShrink:0,marginTop:1}),onClick:()=>i(g)}),de("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:a.includes(`
65
- `)?vo(a):a})]}):a?de("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
66
- `)?vo(a):a}):null})(),s&&t.replyToQuestion&&a&&de("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
67
- `)?vo(a):a}),!s&&c&&t.segments.map((u,g)=>{if(u.kind==="tool_group")return de(Hc,{tool:u.tool,items:u.items},g);let b=ea(u.text);return b?de("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:vo(b)},g):null}),!s&&!c&&a&&de("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:vo(a)}),s&&t.replyToQuestion&&(()=>{let u=_g(t,o);return u.length===0?null:de("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:u.map((g,b)=>de("img",{src:g.url,title:g.label,style:Fi,onClick:()=>i(g.url)},b))})})(),s&&!t.replyToQuestion&&(()=>{let u=Ng(t,o);return u.length===0?null:de("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:u.map((g,b)=>de("img",{src:g.url,title:g.label,style:Fi,onClick:()=>i(g.url)},b))})})(),l&&de("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:vo(l)}),(p||d)&&dt("div",{style:{padding:"8px 16px",backgroundColor:"rgba(0, 0, 0, 0.03)",fontSize:11,lineHeight:1.5,color:"#374151"},children:[p&&de("div",{style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:10},children:t.toolsUsed.map((u,g)=>de("div",{children:u},g))}),d&&t.resolutions.map((u,g)=>{var v;let b=(v=u.finalScope)!=null?v:u.inferredScope;return dt("div",{style:{marginTop:p?4:0},children:[de("span",{style:{color:u.status==="resolved"?"#10b981":"#f59e0b"},children:u.status==="resolved"?"Done":"Needs review"}),u.summary?` \u2014 ${u.summary}`:""]},g)})]}),!s&&t.responseText&&(()=>{let u=Ag(t.responseText);return u.length===0?null:de("div",{style:{padding:"8px 16px",backgroundColor:"rgba(0, 0, 0, 0.03)",fontSize:11,lineHeight:1.5,color:"#374151",marginTop:2},children:u.map((g,b)=>dt("div",{style:{marginTop:b>0?6:0},children:[de("span",{style:{display:"inline-block",backgroundColor:"#8b5cf6",color:"#fff",fontSize:9,fontWeight:600,textTransform:"uppercase",padding:"1px 5px",borderRadius:3,marginRight:6,verticalAlign:"middle"},children:g.category}),de("strong",{children:g.element})," \u2014 ",g.decision,de("div",{style:{color:"#9ca3af",fontStyle:"italic",marginTop:1},children:g.reason})]},b))})})()]},`${t.jobId}-${n}`)});function Fc({threadId:e,bridgeUrl:t,accentColor:n,isStreaming:o,isQueued:r,queuePosition:i,streamingEvents:s,onClose:a,onReply:l,onCancel:d,lastError:c,onMouseEnter:p,toolbarRef:u,currentModel:g,currentProvider:b,annotationNumber:v,annotationText:A}){let[T,$]=ro([]),[P,O]=ro(!0),[w,N]=ro(""),[se,ee]=ro([]),G=go(!1),oe=go(null),[W,Z]=ro(!0),[k,Ce]=ro(0),[Q,fe]=ro(null),_=Br(X=>fe(X),[]),le=go(null),M=Br((X,ie)=>{let we=X&&ie.trim();le.current&&(le.current.style.opacity=we?"0.65":"1"),oe.current&&(oe.current.style.borderTop=`1px solid ${we?n:"rgba(0,0,0,0.12)"}`)},[n]),ue=go(null),Me=go(null),Ne=go(o),ve=go(Zs()),We=go({x:0,y:0}),Re=go(!1),ge=go({x:0,y:0,offsetX:0,offsetY:0}),qe=go(!0),[,ft]=ro(0);So(()=>{try{let X=localStorage.getItem(qs);if(X){let ie=JSON.parse(X);if(typeof ie.top=="number"&&typeof ie.left=="number"){let we=window.innerWidth-Dr-Dn,ke={top:Math.max(Dn,Math.min(ie.top,window.innerHeight-Dn-200)),left:Math.max(Dn,Math.min(ie.left,we))};qe.current=ke.left>=we-2,ve.current=ke,ft(Tt=>Tt+1)}}}catch(X){}},[]),So(()=>{let X=()=>{if(qe.current)ve.current=Zs();else{let ie=ve.current,we=window.innerWidth-Dr-Dn;ve.current={top:Math.max(Dn,Math.min(ie.top,window.innerHeight-Dn-200)),left:Math.max(Dn,Math.min(ie.left,we))}}ft(ie=>ie+1)};return window.addEventListener("resize",X,{passive:!0}),()=>window.removeEventListener("resize",X)},[]),So(()=>{let X=Me.current;if(!X)return;let ie=je=>{je.button!==0||je.target.closest("button")||(je.preventDefault(),je.stopPropagation(),Re.current=!0,ge.current={x:je.clientX,y:je.clientY,offsetX:We.current.x,offsetY:We.current.y})},we=je=>{if(!Re.current)return;let tt=ge.current,ht=tt.offsetX+(je.clientX-tt.x),Ft=tt.offsetY+(je.clientY-tt.y),St=Math.max(Dn,Math.min(window.innerWidth-Dr-Dn,ve.current.left+ht)),lt=Math.max(Dn,ve.current.top+Ft);We.current={x:St-ve.current.left,y:lt-ve.current.top};let ut=ue.current;ut&&(ut.style.top=`${lt}px`,ut.style.left=`${St}px`,ut.style.height=`${Oc(lt,St,u==null?void 0:u.current)}px`)},ke=()=>{if(!Re.current)return;let je=ve.current.top+We.current.y,tt=ve.current.left+We.current.x;ve.current={top:je,left:tt},We.current={x:0,y:0};let ht=window.innerWidth-Dr-Dn;qe.current=tt>=ht-2;try{localStorage.setItem(qs,JSON.stringify({top:je,left:tt}))}catch(Ft){}Re.current=!1},Tt=()=>{ve.current=Zs(),We.current={x:0,y:0},qe.current=!0;try{localStorage.removeItem(qs)}catch(je){}ft(je=>je+1)};return X.addEventListener("mousedown",ie),window.addEventListener("mousemove",we),window.addEventListener("mouseup",ke),X.addEventListener("dblclick",Tt),()=>{X.removeEventListener("mousedown",ie),window.removeEventListener("mousemove",we),window.removeEventListener("mouseup",ke),X.removeEventListener("dblclick",Tt)}},[]);let gt=Br(()=>{fetch(`${t}/thread/${e}`).then(X=>X.json()).then(X=>{var ie;$((ie=X.messages)!=null?ie:[]),O(!1)}).catch(()=>O(!1))},[t,e]);So(()=>{O(!0),gt()},[gt]),So(()=>{Ne.current&&!o&&gt(),Ne.current=o},[o]);let ln=Pc(()=>s?jg(s):[],[s]),K=Pc(()=>s?Gg(s):null,[s]);So(()=>{let X=le.current;if(!X)return;let ie=()=>{Z(X.scrollHeight-X.scrollTop-X.clientHeight<40);let ke=X.scrollTop+X.clientHeight,Tt=X.querySelectorAll("[data-msg]"),je=0;for(let tt=0;tt<Tt.length;tt++){let ht=Tt[tt];ht.offsetTop+ht.offsetHeight>ke+20&&je++}Ce(je)};return X.addEventListener("scroll",ie,{passive:!0}),()=>X.removeEventListener("scroll",ie)},[]),So(()=>{W&&le.current&&(le.current.scrollTop=le.current.scrollHeight)},[T,ln.length,o,W]),So(()=>{let X=ie=>{ie.key==="Escape"&&(ie.stopPropagation(),a())};return document.addEventListener("keydown",X),()=>document.removeEventListener("keydown",X)},[a]);let ce=Br(()=>{if(!w.trim()||!l)return;let X=w.trim(),ie=se.length>0?se:void 0,we=ie?ie.map(ke=>URL.createObjectURL(ke)):void 0;$(ke=>[...ke,f({role:"human",timestamp:Date.now(),jobId:"pending",replyToQuestion:X},we?{replyImageUrls:we}:{})]),l(e,X,ie),N(""),ee([])},[w,se,e,l]),Ae=Br(X=>{let ie=X.clipboardData.items,we=[];for(let ke=0;ke<ie.length;ke++){let Tt=ie[ke];if(Tt.type.startsWith("image/")){let je=Tt.getAsFile();je&&we.push(je)}}we.length>0&&(X.preventDefault(),ee(ke=>[...ke,...we]))},[]),$e=Br(X=>{X.key==="Enter"&&(X.metaKey||X.ctrlKey)&&(X.preventDefault(),ce())},[ce]),rt=ve.current.top+We.current.y,Je=ve.current.left+We.current.x,ae=Oc(rt,Je,u==null?void 0:u.current);return dt(Fo,{children:[de("div",{"data-devtools":"thread-panel-backdrop",onMouseDown:X=>{X.target===X.currentTarget&&a()},style:{position:"fixed",inset:0,zIndex:9999}}),dt("div",{ref:ue,style:h(f({},Tg),{height:ae,position:"fixed",top:rt,left:Je,zIndex:1e4}),"data-devtools":"thread-panel",onMouseEnter:p,children:[(()=>{let ie=`<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='${o?n:"rgb(0,0,0)"}' stroke-width='.75'/></svg>`,we=`url("data:image/svg+xml,${encodeURIComponent(ie)}")`;return dt(Fo,{children:[de("style",{children:`@keyframes popmelt-border-march { to { background-position: 0 -5px; } }
68
- [data-popmelt-reply]::placeholder { opacity: 0.35; }`}),de("div",{style:f({position:"absolute",inset:-3,padding:5,backgroundImage:we,backgroundSize:"5px 5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",WebkitMaskComposite:"xor",mask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",maskComposite:"exclude",pointerEvents:"none"},o&&{animation:"popmelt-border-march 0.8s linear infinite"})})]})})(),dt("div",{style:{display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[dt("div",{ref:Me,style:h(f({},Mg),{backgroundColor:n,color:"#ffffff",cursor:"grab",userSelect:"none",WebkitUserSelect:"none"}),children:[dt("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0},children:[de("span",{style:{flexShrink:0},children:v?`${v}.`:"Conversation"}),A&&de("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:A})]}),de("button",{onClick:a,style:{background:"none",border:"none",cursor:"pointer",fontSize:16,color:"#ffffff",padding:"0 4px",lineHeight:1},children:"\xD7"})]}),de("style",{dangerouslySetInnerHTML:{__html:Rg+`
68
+ `,km={borderTop:"1px solid rgba(0, 0, 0, 0.12)",display:"flex",alignItems:"center",gap:4,padding:"0 8px 0 10px"};function va(e){return e.replace(/<resolution>[\s\S]*?<\/resolution>/g,"").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,"").trim()}function Tm(e){let t=e.match(/<novel>\s*([\s\S]*?)\s*<\/novel>/);if(!(t!=null&&t[1]))return[];try{let n=JSON.parse(t[1]);return Array.isArray(n)?n.filter(o=>{if(typeof o!="object"||o===null)return!1;let r=o;return typeof r.category=="string"&&typeof r.element=="string"&&typeof r.decision=="string"&&typeof r.reason=="string"}):[]}catch(n){return[]}}function Mm(e){let t=e.match(/<eval_run_result>\s*([\s\S]*?)\s*<\/eval_run_result>/);if(!(t!=null&&t[1]))return null;try{let n=JSON.parse(t[1]);if(!n||typeof n!="object")return null;let o=n,r=o.status,s=r==="pass"||r==="fail"||r==="needs_review"?r:"needs_review",l=(Array.isArray(o.assertionResults)?o.assertionResults:[]).flatMap(a=>{if(!a||typeof a!="object")return[];let d=a,c=typeof d.assertion=="string"?d.assertion.trim():"";if(!c)return[];let u=d.status;return[{assertion:c,status:u==="pass"||u==="fail"||u==="needs_review"?u:"needs_review",summary:typeof d.summary=="string"?d.summary.trim():""}]});return{status:s,summary:typeof o.summary=="string"?o.summary.trim():"",assertionResults:l}}catch(n){return null}}function Im(e){return e?{status:e.status,summary:e.summary,assertionResults:e.assertionResults.map(t=>({assertion:t.assertion,status:t.status,summary:t.summary}))}:null}function Rm({result:e}){let t=e.assertionResults;return t.length===0?null:ce("div",{style:{display:"flex",flexDirection:"column",gap:5,lineHeight:1.25},children:t.map((n,o)=>{let r=n.status==="pass"?"\u2611":n.status==="fail"?"\u2612":"\u25A1",s=n.status==="pass"?"Pass":n.status==="fail"?"Fail":"Needs review",i=n.status==="pass"?"#047857":n.status==="fail"?"#b91c1c":"#6b7280",l=n.status==="needs_review"?"inherit":i;return nt("div",{style:{display:"grid",gridTemplateColumns:"18px minmax(0, 1fr)",columnGap:5,alignItems:"start"},children:[ce("span",{style:{color:i,fontSize:15,lineHeight:1},children:r}),nt("div",{style:{minWidth:0},children:[ce("div",{style:{color:l},children:n.assertion}),n.status==="needs_review"?nt("div",{style:{marginTop:1,color:"#6b7280"},children:[ce("span",{style:{color:i,fontWeight:700},children:s}),n.summary?nt("span",{children:[": ",n.summary]}):null]}):n.summary?ce("div",{style:{marginTop:1,color:"#6b7280"},children:n.summary}):null]})]},`${n.assertion}-${o}`)})})}function id(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}var ba=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Lm=3e3,Am=250;function Pm({color:e}){let[t,n]=ro(0),[o,r]=ro(()=>Math.floor(Math.random()*ba.length));return Mo(()=>{let s=setInterval(()=>n(l=>(l+1)%2),Am),i=setInterval(()=>r(l=>(l+1)%ba.length),Lm);return()=>{clearInterval(s),clearInterval(i)}},[]),nt("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[ce("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?nt(Zo,{children:[ce("circle",{cx:"7",cy:"7",r:"2"}),ce("circle",{cx:"17",cy:"7",r:"2"}),ce("circle",{cx:"7",cy:"17",r:"2"}),ce("circle",{cx:"17",cy:"17",r:"2"})]}):nt(Zo,{children:[ce("circle",{cx:"12",cy:"6",r:"2"}),ce("circle",{cx:"6",cy:"12",r:"2"}),ce("circle",{cx:"18",cy:"12",r:"2"}),ce("circle",{cx:"12",cy:"18",r:"2"})]})}),ce("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:ba[o]})]})}var is=32,rs={width:is,height:is,objectFit:"cover",cursor:"pointer",border:"1px solid rgba(0,0,0,0.1)"};function Om(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let o=[];for(let r=0;r<n.length;r++){let s=n[r],i=s[1],l=s.index+s[0].length,a=r+1<n.length?n[r+1].index:e.length,d=e.slice(l,a).trim();o.push({route:i,text:d})}return o}function Bm(e,t){let n=[];if(e.replyImageUrls)for(let o of e.replyImageUrls){let r=o.startsWith("blob:")||o.startsWith("http")?o:`${t}${o}`;n.push({url:r,label:"pasted image"})}return n}function Dm(e,t){let n=[];if(e.imageUrls)for(let[,o]of Object.entries(e.imageUrls))for(let r of o)n.push({url:`${t}${r}`,label:"pasted image"});return n}function _m({src:e,onClose:t}){return Mo(()=>{let n=o=>{o.key==="Escape"&&(o.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),ce("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:ce("img",{src:e,onClick:n=>n.stopPropagation(),style:{maxWidth:"90vw",maxHeight:"90vh",objectFit:"contain",cursor:"default",boxShadow:"0 4px 24px rgba(0,0,0,0.4)"}})})}function Hm(e){var s;let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,o=n?(s=n.split("/").pop())!=null?s:n:null,r=e.data.content?String(e.data.content):null;switch(t){case"Read":return o?`Reading ${o}`:"Reading file";case"Edit":return o?`Editing ${o}`:"Editing file";case"Write":return o?`Writing ${o}`:"Writing file";case"Bash":return r?Nm(r):"Running command";case"Glob":return"Searching files";case"Grep":return"Searching code";case"WebFetch":return"Fetching page";case"WebSearch":return"Searching web";default:return t?`Using ${t}`:null}}function Nm(e){let t=e.split(`
69
+ `)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var zm=new Set(["Read","Glob","Grep","WebFetch","WebSearch"]),Fm=new Set(["Edit","Write","Bash"]);function $m(e){let t=0,n=!1;for(let o of e){if(o.type!=="tool_use")continue;let r=String(o.data.tool||"");Fm.has(r)?n=!0:zm.has(r)&&t++}return!n&&t>=3?"researching":n?"applying changes":null}function Wm(e){var n;let t=[];for(let o of e)if(o.type==="tool_use"){let r=Hm(o),s=String(o.data.tool||""),i=o.data.file?String(o.data.file):null,l=o.data.content?String(o.data.content):null,a=(n=i!=null?i:l)!=null?n:void 0;if(r){let d=t[t.length-1];d&&d.kind==="tool_group"&&d.tool===s?d.items.push({label:r,detail:a}):t.push({kind:"tool_group",tool:s,items:[{label:r,detail:a}]})}if(l&&i){let d=i.includes(".")?`.${i.split(".").pop().toLowerCase()}`:"",c=i.includes(".claude/plans/");t.push({kind:"file_content",file:i,content:l,ext:d,isPlan:c})}}else if(o.type==="delta"){let r=String(o.data.text||"");if(!r)continue;let s=t[t.length-1];s&&s.kind==="text"?s.text+=r:t.push({kind:"text",text:r})}else if(o.type==="thinking"){let r=String(o.data.text||"");if(!r)continue;let s=t[t.length-1];s&&s.kind==="thinking"?s.text+=r:t.push({kind:"thinking",text:r})}return t}function jm({file:e,content:t,ext:n,isPlan:o,onAccept:r}){var d;let[s,i]=ro(o),l=(d=e.split("/").pop())!=null?d:e;return nt("div",{style:{margin:"4px 0 4px 12px",border:"1px solid rgba(0,0,0,0.08)",backgroundColor:"rgba(255,255,255,0.6)",fontSize:11},children:[nt("div",{onClick:()=>i(c=>!c),style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",cursor:"pointer",userSelect:"none",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",color:"#374151"},children:[ce("span",{style:{fontSize:9,color:"#9ca3af"},children:s?"\u25BC":"\u25B6"}),ce("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:l}),o&&ce("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),s&&nt(Zo,{children:[ce("div",{style:{maxHeight:300,overflowY:"auto",padding:"6px 10px",borderTop:"1px solid rgba(0,0,0,0.06)",lineHeight:1.5,wordBreak:"break-word"},children:n===".md"?To(t):ce("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),o&&r&&ce("div",{style:{padding:"4px 8px",borderTop:"1px solid rgba(0,0,0,0.06)",display:"flex",justifyContent:"flex-end"},children:ce("button",{onClick:c=>{c.stopPropagation(),r()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function Gm(e){let t=[];for(let n of e){let o=t[t.length-1];o&&o.val===n?o.count++:t.push({val:n,count:1})}return t.map(n=>n.count>1?`${n.val} (x${n.count})`:n.val)}function Ym(e,t){switch(e){case"Bash":{let n=t.map(o=>(o.label||"").split(/\s/)[0]).filter(Boolean);return`Used Bash: ${Gm(n).join(", ")}`}case"Read":return`Read: ${t.map(n=>n.label.replace(/^Reading /,"")).join(", ")}`;case"Edit":return`Edited: ${t.map(n=>n.label.replace(/^Editing /,"")).join(", ")}`;case"Write":return`Wrote: ${t.map(n=>n.label.replace(/^Writing /,"")).join(", ")}`;case"Grep":return t.length===1?"Searched code":`Searched code (${t.length})`;case"Glob":return t.length===1?"Searched files":`Searched files (${t.length})`;default:return`Used ${e}: ${t.map(n=>n.label).join(", ")}`}}var Jm={fontSize:11,color:"#9ca3af",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",lineHeight:1.6};function Vm({label:e}){let t=e.indexOf(" ");return t===-1?ce(Zo,{children:e}):nt(Zo,{children:[ce("b",{children:e.slice(0,t)}),e.slice(t)]})}function cd({tool:e,items:t}){let[n,o]=ro(!1),r=t.length>1;return nt("div",{style:Jm,children:[nt("div",{onClick:r?()=>o(s=>!s):void 0,style:{cursor:r?"pointer":"default",userSelect:"none",color:"#9ca3af"},children:[r&&ce("span",{style:{fontSize:13,marginRight:4},children:n?"\u25BE":"\u25B8"}),Ym(e,t)]}),n&&ce("div",{style:{marginLeft:17},children:t.map((s,i)=>{var l;return ce("div",{children:ce(Vm,{label:(l=s.detail)!=null?l:s.label})},i)})})]})}var Um=hm(function({msg:t,index:n,bridgeUrl:o,accentColor:r,onLightbox:s}){var g;let i=t.role==="human";if(t.cancelled||t.error)return nt("div",{"data-msg":!0,style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:[nt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[ce("span",{style:{fontSize:11,color:t.error?"#dc2626":"#9ca3af",fontStyle:"italic"},children:t.error?"Error":"Cancelled"}),ce("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:id(t.timestamp)})]}),t.error&&ce("div",{style:{fontSize:12,color:"#6b7280",lineHeight:1.4},children:t.error})]},`${t.jobId}-${n}`);let l=i?null:(g=Im(t.evalRun))!=null?g:t.responseText?Mm(t.responseText):null,a=i?t.replyToQuestion||t.feedbackSummary||"(annotation)":l?"":va(t.responseText||""),d=i?void 0:t.question,c=!i&&t.resolutions&&t.resolutions.length>0,u=!i&&t.segments&&t.segments.length>0,p=!i&&!u&&t.toolsUsed&&t.toolsUsed.length>0;return!a&&!d&&!c&&!u&&!l?null:nt("div",{"data-msg":!0,style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:[nt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[!i&&ce(ai,{provider:t.provider,size:11,style:{color:"#6b7280"}}),ce("span",{style:{fontWeight:600,fontSize:11,color:i?r:"#6b7280"},children:i?"You":ca(t.model,t.provider)}),ce("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:id(t.timestamp)})]}),i&&!t.replyToQuestion&&(()=>{let v=a?Om(a):null;if(v&&t.screenshotUrls)return ce("div",{style:{display:"flex",flexDirection:"column",gap:4},children:v.map((w,I)=>{var O;let N=(O=t.screenshotUrls)==null?void 0:O[w.route],H=N?`${o}${N}`:null;return nt("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[H?ce("img",{src:H,title:w.route,style:y(f({},rs),{flexShrink:0,marginTop:1}),onClick:()=>s(H)}):ce("div",{style:{width:is,height:is,flexShrink:0}}),nt("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:[ce("code",{style:{fontSize:10,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px"},children:w.route}),w.text&&ce("div",{style:{marginTop:2},children:To(w.text)})]})]},I)})});let x=t.screenshotUrl?`${o}${t.screenshotUrl}`:null;return x&&a?nt("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[ce("img",{src:x,title:"screenshot",style:y(f({},rs),{flexShrink:0,marginTop:1}),onClick:()=>s(x)}),ce("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:a.includes(`
70
+ `)?To(a):a})]}):a?ce("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
71
+ `)?To(a):a}):null})(),i&&t.replyToQuestion&&a&&ce("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
72
+ `)?To(a):a}),!i&&u&&t.segments.map((v,x)=>{if(v.kind==="tool_group")return ce(cd,{tool:v.tool,items:v.items},x);let w=va(v.text);return w?ce("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:To(w)},x):null}),!i&&!u&&a&&ce("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:To(a)}),!i&&l&&ce(Rm,{result:l}),i&&t.replyToQuestion&&(()=>{let v=Bm(t,o);return v.length===0?null:ce("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:v.map((x,w)=>ce("img",{src:x.url,title:x.label,style:rs,onClick:()=>s(x.url)},w))})})(),i&&!t.replyToQuestion&&(()=>{let v=Dm(t,o);return v.length===0?null:ce("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:v.map((x,w)=>ce("img",{src:x.url,title:x.label,style:rs,onClick:()=>s(x.url)},w))})})(),d&&ce("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:To(d)}),(p||c)&&nt("div",{style:{padding:"8px 16px",backgroundColor:"rgba(0, 0, 0, 0.03)",fontSize:11,lineHeight:1.5,color:"#374151"},children:[p&&ce("div",{style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:10},children:t.toolsUsed.map((v,x)=>ce("div",{children:v},x))}),c&&t.resolutions.map((v,x)=>{var I;let w=(I=v.finalScope)!=null?I:v.inferredScope;return nt("div",{style:{marginTop:p?4:0},children:[ce("span",{style:{color:v.status==="resolved"?"#10b981":"#f59e0b"},children:v.status==="resolved"?"Done":"Needs review"}),v.summary?` \u2014 ${v.summary}`:""]},x)})]}),!i&&t.responseText&&(()=>{let v=Tm(t.responseText);return v.length===0?null:ce("div",{style:{padding:"8px 16px",backgroundColor:"rgba(0, 0, 0, 0.03)",fontSize:11,lineHeight:1.5,color:"#374151",marginTop:2},children:v.map((x,w)=>nt("div",{style:{marginTop:w>0?6:0},children:[ce("span",{style:{display:"inline-block",backgroundColor:"#8b5cf6",color:"#fff",fontSize:9,fontWeight:600,textTransform:"uppercase",padding:"1px 5px",borderRadius:3,marginRight:6,verticalAlign:"middle"},children:x.category}),ce("strong",{children:x.element})," \u2014 ",x.decision,ce("div",{style:{color:"#9ca3af",fontStyle:"italic",marginTop:1},children:x.reason})]},w))})})()]},`${t.jobId}-${n}`)});function dd({threadId:e,bridgeUrl:t,accentColor:n,isStreaming:o,isQueued:r,queuePosition:s,streamingEvents:i,onClose:l,onReply:a,onCancel:d,lastError:c,onMouseEnter:u,toolbarRef:p,currentModel:g,currentProvider:v,annotationNumber:x,annotationText:w,onOpenEvals:I,preferredSide:N="right",modal:H=!0}){let[O,L]=ro([]),[Y,re]=ro(!0),[Z,_]=ro(""),[B,h]=ro([]),A=bo(!1),k=bo(null),[be,K]=ro(!0),[de,F]=ro(0),[me,R]=ro(null),ie=Ur(pe=>R(pe),[]),Se=bo(null),Pe=Ur((pe,se)=>{let Ce=pe&&se.trim();Se.current&&(Se.current.style.opacity=Ce?"0.65":"1"),k.current&&(k.current.style.borderTop=`1px solid ${Ce?n:"rgba(0,0,0,0.12)"}`)},[n]),_e=bo(null),Ze=bo(null),Oe=bo(o),he=bo(ya(N)),Fe=bo({x:0,y:0}),rt=bo(!1),ht=bo({x:0,y:0,offsetX:0,offsetY:0}),Jt=bo(N==="right"),[,Q]=ro(0),ne=`${vm}:${N}`;Mo(()=>{try{let pe=localStorage.getItem(ne);if(pe){let se=JSON.parse(pe);if(typeof se.top=="number"&&typeof se.left=="number"){let Ce=window.innerWidth-Kr-An,Re={top:Math.max(An,Math.min(se.top,window.innerHeight-An-200)),left:Math.max(An,Math.min(se.left,Ce))};Jt.current=Re.left>=Ce-2,he.current=Re,Q(it=>it+1)}}}catch(pe){}},[ne]),Mo(()=>{let pe=()=>{if(Jt.current)he.current=ya(N);else{let se=he.current,Ce=window.innerWidth-Kr-An;he.current={top:Math.max(An,Math.min(se.top,window.innerHeight-An-200)),left:Math.max(An,Math.min(se.left,Ce))}}Q(se=>se+1)};return window.addEventListener("resize",pe,{passive:!0}),()=>window.removeEventListener("resize",pe)},[N]),Mo(()=>{let pe=Ze.current;if(!pe)return;let se=Me=>{Me.button!==0||Me.target.closest("button")||(Me.preventDefault(),Me.stopPropagation(),rt.current=!0,ht.current={x:Me.clientX,y:Me.clientY,offsetX:Fe.current.x,offsetY:Fe.current.y})},Ce=Me=>{if(!rt.current)return;let Wt=ht.current,en=Wt.offsetX+(Me.clientX-Wt.x),pn=Wt.offsetY+(Me.clientY-Wt.y),zn=Math.max(An,Math.min(window.innerWidth-Kr-An,he.current.left+en)),jt=Math.max(An,he.current.top+pn);Fe.current={x:zn-he.current.left,y:jt-he.current.top};let Ot=_e.current;Ot&&(Ot.style.top=`${jt}px`,Ot.style.left=`${zn}px`,Ot.style.height=`${rd(jt,zn,p==null?void 0:p.current)}px`)},Re=()=>{if(!rt.current)return;let Me=he.current.top+Fe.current.y,Wt=he.current.left+Fe.current.x;he.current={top:Me,left:Wt},Fe.current={x:0,y:0};let en=window.innerWidth-Kr-An;Jt.current=Wt>=en-2;try{localStorage.setItem(ne,JSON.stringify({top:Me,left:Wt}))}catch(pn){}rt.current=!1},it=()=>{he.current=ya(N),Fe.current={x:0,y:0},Jt.current=N==="right";try{localStorage.removeItem(ne)}catch(Me){}Q(Me=>Me+1)};return pe.addEventListener("mousedown",se),window.addEventListener("mousemove",Ce),window.addEventListener("mouseup",Re),pe.addEventListener("dblclick",it),()=>{pe.removeEventListener("mousedown",se),window.removeEventListener("mousemove",Ce),window.removeEventListener("mouseup",Re),pe.removeEventListener("dblclick",it)}},[ne,N]);let Te=Ur(()=>{fetch(`${t}/thread/${e}`).then(pe=>pe.json()).then(pe=>{var se;L((se=pe.messages)!=null?se:[]),re(!1)}).catch(()=>re(!1))},[t,e]);Mo(()=>{re(!0),Te()},[Te]),Mo(()=>{Oe.current&&!o&&Te(),Oe.current=o},[o]);let $e=od(()=>i?Wm(i):[],[i]),pt=od(()=>i?$m(i):null,[i]);Mo(()=>{let pe=Se.current;if(!pe)return;let se=()=>{K(pe.scrollHeight-pe.scrollTop-pe.clientHeight<40);let Re=pe.scrollTop+pe.clientHeight,it=pe.querySelectorAll("[data-msg]"),Me=0;for(let Wt=0;Wt<it.length;Wt++){let en=it[Wt];en.offsetTop+en.offsetHeight>Re+20&&Me++}F(Me)};return pe.addEventListener("scroll",se,{passive:!0}),()=>pe.removeEventListener("scroll",se)},[]),Mo(()=>{be&&Se.current&&(Se.current.scrollTop=Se.current.scrollHeight)},[O,$e.length,o,be]),Mo(()=>{let pe=se=>{se.key==="Escape"&&(se.stopPropagation(),l())};return document.addEventListener("keydown",pe),()=>document.removeEventListener("keydown",pe)},[l]);let Je=Ur(()=>{if(!Z.trim()||!a)return;let pe=Z.trim(),se=B.length>0?B:void 0,Ce=se?se.map(Re=>URL.createObjectURL(Re)):void 0;L(Re=>[...Re,f({role:"human",timestamp:Date.now(),jobId:"pending",replyToQuestion:pe},Ce?{replyImageUrls:Ce}:{})]),a(e,pe,se),_(""),h([])},[Z,B,e,a]),ye=Ur(pe=>{let se=pe.clipboardData.items,Ce=[];for(let Re=0;Re<se.length;Re++){let it=se[Re];if(it.type.startsWith("image/")){let Me=it.getAsFile();Me&&Ce.push(Me)}}Ce.length>0&&(pe.preventDefault(),h(Re=>[...Re,...Ce]))},[]),ct=Ur(pe=>{pe.key==="Enter"&&(pe.metaKey||pe.ctrlKey)&&(pe.preventDefault(),Je())},[Je]),Ge=he.current.top+Fe.current.y,_t=he.current.left+Fe.current.x,dt=rd(Ge,_t,p==null?void 0:p.current);return nt(Zo,{children:[H&&ce("div",{"data-devtools":"thread-panel-backdrop",onMouseDown:pe=>{pe.target===pe.currentTarget&&l()},style:{position:"fixed",inset:0,zIndex:9999}}),nt("div",{ref:_e,style:y(f({},Sm),{height:dt,position:"fixed",top:Ge,left:_t,zIndex:1e4}),"data-devtools":"thread-panel",onMouseEnter:u,children:[(()=>{let se=`<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='${o?n:"rgb(0,0,0)"}' stroke-width='.75'/></svg>`,Ce=`url("data:image/svg+xml,${encodeURIComponent(se)}")`;return nt(Zo,{children:[ce("style",{children:`@keyframes popmelt-border-march { to { background-position: 0 -5px; } }
73
+ [data-popmelt-reply]::placeholder { opacity: 0.35; }`}),ce("div",{style:f({position:"absolute",inset:-3,padding:5,backgroundImage:Ce,backgroundSize:"5px 5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",WebkitMaskComposite:"xor",mask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) border-box",maskComposite:"exclude",pointerEvents:"none"},o&&{animation:"popmelt-border-march 0.8s linear infinite"})})]})})(),nt("div",{style:{display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[nt("div",{ref:Ze,style:y(f({},wm),{backgroundColor:n,color:"#ffffff",cursor:"grab",userSelect:"none",WebkitUserSelect:"none"}),children:[nt("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0},children:[ce("span",{style:{flexShrink:0},children:x?`${x}.`:"Conversation"}),w&&ce("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:w})]}),ce("button",{onClick:l,style:{background:"none",border:"none",cursor:"pointer",fontSize:16,color:"#ffffff",padding:"0 4px",lineHeight:1},children:"\xD7"})]}),ce("style",{dangerouslySetInnerHTML:{__html:Em+`
69
74
  [data-devtools="thread-panel"] ::selection { background: color-mix(in srgb, ${n} 15%, transparent); }
70
- `}}),dt("div",{ref:le,style:h(f({},Ig),{transition:"opacity 150ms ease"}),"data-devtools":"thread-panel-messages",children:[P&&de("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"Loading..."}),!P&&T.length===0&&!o&&de("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"No messages yet."}),T.map((X,ie)=>de(Kg,{msg:X,index:ie,bridgeUrl:t,accentColor:n,onLightbox:_},`${X.jobId}-${ie}`)),o&&de("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:r?dt("div",{style:{display:"flex",alignItems:"center",gap:6},children:[dt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:n,style:{verticalAlign:"middle",flexShrink:0,opacity:.5},children:[de("circle",{cx:"12",cy:"6",r:"2"}),de("circle",{cx:"6",cy:"12",r:"2"}),de("circle",{cx:"18",cy:"12",r:"2"}),de("circle",{cx:"12",cy:"18",r:"2"})]}),dt("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:["queued",i?` ${i}`:""]})]}):dt(Fo,{children:[dt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[de(Vr,{provider:b,size:11,style:{color:"#6b7280"}}),de("span",{style:{fontWeight:600,fontSize:11,color:"#6b7280"},children:Gs(g,b)})]}),ln.map((X,ie)=>{if(X.kind==="tool_group")return de(Hc,{tool:X.tool,items:X.items},ie);if(X.kind==="file_content")return de(Yg,{file:X.file,content:X.content,ext:X.ext,isPlan:X.isPlan,onAccept:X.isPlan&&l?()=>l(e,"Looks good, please proceed with implementation."):void 0},ie);if(X.kind==="thinking")return de("div",{style:{paddingLeft:12,fontSize:11,color:"#9ca3af",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:X.text},ie);let we=ea(X.text);return we?de("div",{style:{paddingLeft:12,lineHeight:1.5,wordBreak:"break-word"},children:vo(we)},ie):null}),dt("div",{style:{display:"flex",alignItems:"center",gap:6},children:[de(Bg,{color:n}),d&&de("button",{onClick:d,style:{background:"none",border:"1px solid rgba(0,0,0,0.1)",color:"#6b7280",fontSize:10,padding:"2px 8px",cursor:"pointer",fontFamily:"inherit",marginLeft:"auto"},children:"Cancel"})]})]})}),!W&&T.length>0&&de("div",{style:{position:"sticky",bottom:5,display:"flex",justifyContent:"flex-end",paddingRight:3,pointerEvents:"none"},children:de("button",{onClick:()=>{le.current&&le.current.scrollTo({top:le.current.scrollHeight,behavior:"smooth"})},style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center",padding:4,fontSize:10,fontFamily:Zt,color:"transparent",backgroundColor:"#eaeaea",backgroundImage:`url("data:image/svg+xml,${encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='rgb(0,0,0)' stroke-width='.75'/></svg>")}")`,backgroundSize:"5px 5px",border:"none",borderRadius:0,cursor:"pointer",pointerEvents:"auto",userSelect:"none"},children:dt("span",{style:{position:"relative",backgroundColor:"#eaeaea",padding:"0 6px",color:"#374151",fontFamily:Zt,lineHeight:1.4},children:[k," message",k!==1?"s":""," \u2193"]})})})]}),!o&&c&&dt("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:11,color:"#dc2626",lineHeight:1.4},children:[de("span",{style:{fontWeight:600},children:"Error: "}),c]}),l&&dt("div",{style:{flexShrink:0,position:"relative"},children:[se.length>0&&de("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:se.map((X,ie)=>dt("span",{onClick:()=>ee(we=>we.filter((ke,Tt)=>Tt!==ie)),onMouseEnter:we=>{let ke=we.currentTarget.querySelector("[data-chip-x]");ke&&(ke.style.color="#fff")},onMouseLeave:we=>{let ke=we.currentTarget.querySelector("[data-chip-x]");ke&&(ke.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:n,backdropFilter:"blur(4px)",padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",ie+1,de("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},ie))}),dt("div",{ref:oe,style:h(f({},Lg),{borderTop:"1px solid rgba(0,0,0,0.12)"}),children:[de("input",{"data-popmelt-reply":!0,autoFocus:!0,value:w,onChange:X=>{N(X.target.value),M(G.current,X.target.value)},onFocus:()=>{G.current=!0,M(!0,w)},onBlur:()=>{G.current=!1,M(!1,w)},onKeyDown:$e,onPaste:Ae,placeholder:"Reply here (cmd + enter to send)",style:{flex:1,minWidth:0,minHeight:44,padding:"0 4px",fontSize:12,fontFamily:Zt,backgroundColor:"transparent",color:"#1f2937",border:"none",outline:"none",lineHeight:"40px",boxSizing:"border-box"}}),de("button",{onClick:ce,disabled:!w.trim(),style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",cursor:w.trim()?"pointer":"default",color:w.trim()?n:"rgba(0,0,0,0.2)",flexShrink:0},children:dt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[de("path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"}),de("path",{d:"M6 12h16"})]})})]})]})]})]}),Q&&de(Hg,{src:Q,onClose:()=>fe(null)})]})}import{jsx as _r,jsxs as zc}from"react/jsx-runtime";var Qg=[],ra=qg(null),ta="devtools-provider",zi="devtools-model",na="devtools-open-thread-id",oa="popmelt-synthesize-thread";async function $c(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)}))})}var em={0:0,1:1},tm={0:0,1:1,2:1};function nm(e,t,n){var r,i;if(t==="copilot")return 0;let o=t==="codex"?Ni:_i;return e==="copilot"?0:e==="claude"&&t==="codex"?(r=em[n])!=null?r:Math.min(n,o.length-1):e==="codex"&&t==="claude"&&(i=tm[n])!=null?i:Math.min(n,o.length-1)}function om({children:e,enabled:t=process.env.NODE_ENV==="development",bridgeUrl:n=typeof window!="undefined"?(r=>(r=window.__POPMELT_BRIDGE_URL__)!=null?r:"http://localhost:1111")():"http://localhost:1111",navigate:o}){var Ee,Ie,Oe,Lt,Ut;let[i,s]=Ha(),a=_a(n,t),l=tn(null),d=tn(null),c=(Ee=Ba())!=null?Ee:n,p=tn(new Map),u=tn(new Map),g=tn(!1),b=yr(),[v,A]=Wt(()=>typeof window=="undefined"?"claude":localStorage.getItem(ta)||"claude"),[T,$]=Wt(()=>{if(typeof window=="undefined")return 0;let x=localStorage.getItem(zi);return x&&parseInt(x,10)||0}),[P,O]=Wt([]),[w,N]=Wt({}),[se,ee]=Wt(0),[G,oe]=Wt({}),[W,Z]=Wt(null),[k,Ce]=Wt("idle"),[Q,fe]=Wt(null);Dt(()=>{a.isConnected&&ga(c).then(x=>{if(!x)return;let L=Object.entries(x.providers).filter(([,Te])=>Te.available).map(([Te])=>Te);L.length>0&&O(L);let z={};for(let[Te,ze]of Object.entries(x.providers))ze.models&&ze.models.length>0&&(z[Te]=ze.models);N(z);let re={};for(let[Te,ze]of Object.entries(x.providers))ze.mcp&&(re[Te]=ze.mcp);oe(re)})},[a.isConnected,a.capabilitiesVersion,se,c]),Dt(()=>{if(!a.isConnected){Z(null);return}let x=!1;return Po(c).then(L=>{var z;x||Z((z=L==null?void 0:L.version)!=null?z:null)}),()=>{x=!0}},[a.isConnected,a.capabilitiesVersion,se,c]),Dt(()=>{if(k==="idle"||k==="restarting")return;let x=window.setTimeout(()=>{Ce("idle"),fe(null)},k==="ok"?4e3:8e3);return()=>window.clearTimeout(x)},[k]),Dt(()=>{if(P.length>0&&!P.includes(v)){let x=P[0];A(x),localStorage.setItem(ta,x)}},[P,v]);let _=v==="codex"?[...Ni]:v==="copilot"?[...Ws]:[..._i],le=w[v]&&w[v].length>0?w[v]:_,M=(Ie=le[T])!=null?Ie:le[0];Dt(()=>{T>=le.length&&($(0),localStorage.setItem(zi,"0"))},[T,le.length]);let ue=en(x=>{let L=v;A(x),localStorage.setItem(ta,x);let z=nm(L,x,T);$(z),localStorage.setItem(zi,String(z))},[v,T]),Me=en(x=>{$(x),localStorage.setItem(zi,String(x))},[]),[Ne,ve]=Wt(new Set),[We,Re]=Wt(null),[ge,qe]=Wt(null),[ft,gt]=Wt(null),[ln,K]=Wt(null);Dt(()=>{a.isConnected&&fr(c).then(x=>{x!=null&&x.components&&ve(new Set(Object.keys(x.components)))})},[a.isConnected,c]);let ce=en(async x=>{let L=[];for(let z of x)try{(await ya(z,c)).added&&L.push(z)}catch(re){console.error("[Popmelt] Failed to add component to model:",z,re)}L.length>0&&(ve(z=>{let re=new Set(z);for(let Te of L)re.add(Te);return re}),Re(L[L.length-1]))},[c]),Ae=en(x=>{Re(x)},[]),$e=en(()=>{fr(c).then(x=>{x!=null&&x.components&&ve(new Set(Object.keys(x.components)))})},[c]),rt=en(async x=>{try{(await ba(x,c)).removed&&ve(z=>{let re=new Set(z);return re.delete(x),re})}catch(L){console.error("[Popmelt] Failed to remove component from model:",L)}},[c]),Je=en((x,L)=>{s({type:"MODIFY_SPACING_TOKEN",payload:x}),s({type:"ADD_SPACING_TOKEN_CHANGE",payload:L})},[s]),ae=en((x,L)=>{s({type:"DELETE_SPACING_TOKEN",payload:{tokenPath:x,originalValue:L}})},[s]),[X,ie]=Wt(null),[we,ke]=Wt(()=>typeof window=="undefined"?null:localStorage.getItem(oa)||null);Dt(()=>{we?localStorage.setItem(oa,we):localStorage.removeItem(oa)},[we]);let[Tt,je]=Wt(0),tt=tn([]);Dt(()=>{let x=tt.current,L=i.spacingTokenMods;tt.current=L;let z=new Map(x.map(ze=>[ze.tokenPath,ze])),re=new Map(L.map(ze=>[ze.tokenPath,ze])),Te=!1;for(let[ze,Ue]of re){let Ge=z.get(ze);if(!(Ge&&Ge.currentValue===Ue.currentValue)){Te=!0,Ue.currentValue==="__deleted__"?xa(ze,c).catch(Xe=>console.error("[Popmelt] Failed to sync token delete:",Xe)):ji(ze,Ue.currentValue,c).catch(Xe=>console.error("[Popmelt] Failed to sync token update:",Xe));for(let Xe of Ue.targets){let Et=document.querySelector(Xe.selector);if(Et)if(Ue.currentValue==="__deleted__")Et.style.removeProperty(Xe.property);else{let yt=Ue.currentPx;yt>0&&Et.style.setProperty(Xe.property,`${yt}px`,"important")}}}}for(let[ze,Ue]of z)if(!re.has(ze)){Te=!0,ji(ze,Ue.originalValue,c).catch(Ge=>console.error("[Popmelt] Failed to restore token on undo:",Ge));for(let Ge of Ue.targets){let Xe=document.querySelector(Ge.selector);Xe&&Xe.style.removeProperty(Ge.property)}}Te&&je(ze=>ze+1)},[i.spacingTokenMods,c]);let[ht,Ft]=Wt(()=>$a()),St=en(x=>{Ft(x),za(x)},[]),[lt,ut]=Wt(()=>typeof window=="undefined"?null:localStorage.getItem(na)||null),Yt=tn(null),[yn,Mn]=Wt(new Set),[cn,Xn]=Wt(null);Dt(()=>{lt?localStorage.setItem(na,lt):localStorage.removeItem(na)},[lt]);let mt="popmelt-in-flight-jobs",[Ve,nt]=Wt(()=>{try{let x=localStorage.getItem(mt);return x?JSON.parse(x):{}}catch(x){return{}}});Dt(()=>{try{Object.keys(Ve).length>0?localStorage.setItem(mt,JSON.stringify(Ve)):localStorage.removeItem(mt)}catch(x){}},[Ve]),Dt(()=>{let x=L=>{if(L.key===mt)try{let z=L.newValue?JSON.parse(L.newValue):{};nt(z)}catch(z){}};return window.addEventListener("storage",x),()=>window.removeEventListener("storage",x)},[]);let dn=tn(new Map),Kt=tn(new Map);Dt(()=>{for(let[x,L]of Object.entries(Ve))L.annotationIds.length>0&&dn.current.set(x,L.annotationIds),L.threadId&&Kt.current.set(x,L.threadId)},[Ve]);let In=tn("");Dt(()=>{if(i.annotations.length===0)return;let x=Object.keys(Ve).sort().join(",");if(x===In.current)return;In.current=x;let L=new Set;for(let re of Object.values(Ve))for(let Te of re.annotationIds)L.add(Te);let z=i.annotations.filter(re=>L.has(re.id)?!1:!!(re.status==="in_flight"||(re.status==="pending"||!re.status)&&(re.captured||re.threadId))).map(re=>re.id);z.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:z,status:"dismissed"}})},[i.annotations,Ve,s]);let mo=wo(()=>{let x=new Set;for(let L of Object.values(Ve))for(let z of L.annotationIds)x.add(z);return x},[Ve]),io=wo(()=>{let x=new Set(a.activeJobIds),L=new Set;for(let[z,re]of Object.entries(Ve))if(x.has(z))for(let Te of re.annotationIds)L.add(Te);return L},[Ve,a.activeJobIds]),nn=wo(()=>{let x=new Set(a.activeJobIds),L=Object.entries(Ve).filter(([Te])=>!x.has(Te)),z=L.length,re=new Map;return L.forEach(([,Te],ze)=>{let Ue=`(${ze+1}/${z})`;for(let Ge of Te.annotationIds)re.set(Ge,Ue)}),re},[Ve,a.activeJobIds]),wn=wo(()=>{let x=new Set;for(let L of Object.values(Ve))for(let z of L.styleSelectors)x.add(z);return x},[Ve]),bn=wo(()=>{let x=new Map;for(let L of Object.values(Ve)){for(let z of L.styleSelectors)x.set(z,L.color);for(let z of L.annotationIds){let re=i.annotations.find(Te=>Te.id===z);if(re&&(re.linkedSelector&&x.set(re.linkedSelector,L.color),re.groupId))for(let Te of i.annotations)Te.groupId===re.groupId&&Te.linkedSelector&&x.set(Te.linkedSelector,L.color)}}return x},[Ve,i.annotations]),H=tn(i.annotations);H.current=i.annotations;let Pe=tn(i.styleModifications);Pe.current=i.styleModifications;let Be=tn(Ve);Be.current=Ve,Dt(()=>{let x=null,L=()=>{var Ge,Xe;if(Object.keys(Be.current).length>0)return;let re=H.current,Te=Pe.current,ze=[],Ue=[];for(let Et of re){if(!Et.linkedSelector||!Et.linkedSelector.startsWith("[data-pm=")||Et.pathname||Et.captured||Et.status&&Et.status!=="pending")continue;let yt=document.querySelector(Et.linkedSelector);!yt&&((Xe=(Ge=Et.elements)==null?void 0:Ge[0])!=null&&Xe.selector)&&(yt=document.querySelector(Et.elements[0].selector)),yt||ze.push(Et.linkedSelector)}for(let Et of Te)document.querySelector(Et.selector)||Ue.push(Et.selector);(ze.length>0||Ue.length>0)&&s({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:ze,styleSelectors:Ue}})},z=new MutationObserver(re=>{re.some(Te=>Te.removedNodes.length>0)&&(x&&clearTimeout(x),x=setTimeout(L,3e3))});return z.observe(document.body,{childList:!0,subtree:!0}),()=>{z.disconnect(),x&&clearTimeout(x)}},[s]);let qt=tn(typeof window!="undefined"?window.location.pathname:"/");Dt(()=>{let x=re=>{if(g.current)return;let Te=window.location.pathname;if(re===Te)return;let ze=H.current.filter(Ge=>{var Xe;return Ge.pathname===re&&((Xe=Ge.status)!=null?Xe:"pending")==="pending"});if(console.log(`[Popmelt] Navigation from ${re} \u2192 ${Te}, ${ze.length} pending annotations on departing page`),ze.length===0)return;let Ue=l.current;if(!Ue){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if($r(document.body,Ue,ze,{dpr:1}).then(Ge=>zr(Ge)).then(Ge=>{Ge?(u.current.set(re,Ge),console.log(`[Popmelt] Cached screenshot for ${re} (${(Ge.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${re}`)}).catch(Ge=>{console.warn("[Popmelt] Capture-on-leave failed:",Ge)}),u.current.size>20){let Ge=[...u.current.entries()];u.current=new Map(Ge.slice(-10))}},L=re=>{var ze;let Te=(ze=re.detail)==null?void 0:ze.prevPath;Te&&(x(Te),qt.current=window.location.pathname)},z=()=>{let re=qt.current;x(re),qt.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",L),window.addEventListener("popstate",z),()=>{window.removeEventListener("popmelt:locationchange",L),window.removeEventListener("popstate",z)}},[]),Dt(()=>{a.lastCompletedJobId&&a.lastCompletedJobId in Ve&&nt(x=>{var re;let Te=x,{[re=a.lastCompletedJobId]:L}=Te;return Zn(Te,[Ao(re)])}),a.lastCompletedJobId&&a.lastCompletedJobId===X&&(je(x=>x+1),ie(null))},[a.lastCompletedJobId,X]);let Ot=tn(new Set),Rn=tn(!1);Dt(()=>{if(!a.isConnected){Rn.current=!1;return}Rn.current||(Rn.current=!0,Po(c).then(async x=>{var Ue,Ge,Xe,Et;if(!x)return;let L=(Ue=x.activeJobs)!=null?Ue:[],z=(Ge=x.recentJobs)!=null?Ge:[],re=new Set(L.map(yt=>yt.id)),Te=JSON.parse(localStorage.getItem(mt)||"{}"),ze=new Set;for(let yt of Object.values(Te))if(yt.annotationIds)for(let $t of yt.annotationIds)ze.add($t);nt(yt=>{var yo,Hn,Cn;let $t=f({},yt),xt=Date.now();for(let At of Object.keys($t)){if(At.startsWith("_pending_")){let An=parseInt(At.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(An)&&xt-An>3e4&&delete $t[At];continue}re.has(At)||delete $t[At]}for(let At of L)!$t[At.id]&&((yo=At.annotationIds)!=null&&yo.length||At.threadId)&&($t[At.id]={annotationIds:(Hn=At.annotationIds)!=null?Hn:[],styleSelectors:[],color:(Cn=At.color)!=null?Cn:"#888",threadId:At.threadId});let pn=new Set;for(let At of z)if(At.annotationIds)for(let An of At.annotationIds)pn.add(An);for(let At of Object.keys($t)){if(!At.startsWith("_pending_"))continue;let An=$t[At];An&&An.annotationIds.some(Qe=>pn.has(Qe))&&delete $t[At]}return $t});for(let yt of z)if(yt.status==="done"&&(Xe=yt.annotationIds)!=null&&Xe.length&&yt.annotationIds.some($t=>ze.has($t))&&!Ot.current.has(yt.id))try{let $t=await ei(c,yt.id);if(!$t)continue;let xt=$t.events.find(pn=>pn.type==="done");xt&&Array.isArray(xt.resolutions)&&(Ot.current.add(yt.id),s({type:"APPLY_RESOLUTIONS",payload:{resolutions:xt.resolutions,threadId:(Et=xt.threadId)!=null?Et:void 0}}))}catch($t){}}))},[a.isConnected,c,s]),Dt(()=>{let x=a.events.filter(L=>L.type==="done"&&L.data.resolutions);for(let L of x){let z=L.data.jobId;Ot.current.has(z)||(Ot.current.add(z),Array.isArray(L.data.resolutions)&&s({type:"APPLY_RESOLUTIONS",payload:{resolutions:L.data.resolutions,threadId:L.data.threadId}}))}},[a.events,s]);let un=tn(new Set);Dt(()=>{let x=a.events.filter(L=>L.type==="error"&&L.data.cancelled);for(let L of x){let z=L.data.jobId;if(!z||un.current.has(z))continue;un.current.add(z);let re=Ve[z];re&&re.annotationIds.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:re.annotationIds,status:"dismissed"}})}},[a.events,Ve,s]);let _t=tn(0);Dt(()=>{let x=a.incrementalResolutions;if(x.length<=_t.current)return;let L=x.slice(_t.current);_t.current=x.length,s({type:"APPLY_RESOLUTIONS",payload:{resolutions:L}})},[a.incrementalResolutions,s]),Dt(()=>{a.incrementalResolutions.length===0&&(_t.current=0)},[a.incrementalResolutions.length]);let Co=en(async()=>{let x=l.current;if(!x)return!1;let L=await $r(document.body,x,i.annotations);if(L.length===0)return!1;let z=await Xa(L,i.annotations,i.styleModifications);return z&&s({type:"MARK_CAPTURED"}),z},[i.annotations,i.styleModifications,s]),Ln=en((x,L)=>{let z=p.current.get(x)||[];p.current.set(x,[...z,...L])},[]),kn=en(async()=>{var An;let x=l.current;if(!x)return!1;let L=i.annotations.filter(Qe=>{var It;return((It=Qe.status)!=null?It:"pending")==="pending"}),z=i.spacingTokenChanges.filter(Qe=>!Qe.captured);if(L.length===0&&i.styleModifications.filter(Qe=>!Qe.captured).length===0&&z.length===0)return!1;let re=new Map;for(let Qe of L){let It=Qe.pathname||b;re.has(It)||re.set(It,[]),re.get(It).push(Qe)}let Te=new Map,ze=[...re.keys()].filter(Qe=>Qe!==b);if(ze.length>0){let Qe=b,It={x:window.scrollX,y:window.scrollY};g.current=!0;for(let fn of ze)try{console.log(`[Popmelt] Navigating to ${fn} for screenshot capture`),await $c(fn,o),window.location.pathname!==fn&&console.warn(`[Popmelt] Navigation to ${fn} did not take effect (at ${window.location.pathname})`);let Tn=re.get(fn)||[],zo=await $r(document.body,x,Tn,{dpr:1}),Wo=await zr(zo);Wo&&(Te.set(fn,Wo),console.log(`[Popmelt] Captured ${fn} (${(Wo.size/1024).toFixed(0)}KB)`))}catch(Tn){console.warn(`[Popmelt] Failed to capture ${fn}:`,Tn)}await $c(Qe,o),window.scrollTo(It.x,It.y),g.current=!1}let Ue=L.filter(Qe=>(Qe.pathname||b)===b),Ge=await $r(document.body,x,Ue.length>0?i.annotations:[],{dpr:1});if(Ge.length>0){let Qe=await zr(Ge);Qe&&Te.set(b,Qe)}if(Te.size===0)return!1;let Xe=Ki(L,i.styleModifications,void 0,z.length>0?z:void 0),Et=JSON.stringify(Xe),yt=new Map;for(let Qe of L){let It=p.current.get(Qe.id);if(It&&It.length>0&&yt.set(Qe.id,It),Qe.groupId){for(let fn of L)if(fn.groupId===Qe.groupId&&fn.id!==Qe.id){let Tn=p.current.get(fn.id);Tn&&Tn.length>0&&yt.set(fn.id,Tn)}}}let $t=re.size>1;console.log(`[Popmelt] Submit: ${re.size} page(s), ${Te.size} screenshot(s), pages: [${[...re.keys()].join(", ")}], cached: [${[...u.current.keys()].join(", ")}]`);let xt=$t?Te:(An=Te.get(b))!=null?An:Te,pn=L.map(Qe=>Qe.id),yo=i.styleModifications.filter(Qe=>!Qe.captured).map(Qe=>Qe.selector),Hn=Xi(i.activeColor),Cn=`_pending_${Date.now()}`,At={annotationIds:pn,styleSelectors:yo,color:i.activeColor,threadId:void 0};try{let Qe=JSON.parse(localStorage.getItem(mt)||"{}");Qe[Cn]=At,localStorage.setItem(mt,JSON.stringify(Qe))}catch(Qe){}nt(Qe=>h(f({},Qe),{[Cn]:At}));try{let{jobId:Qe,threadId:It}=await ha(xt,Et,c,Hn,v,M.id,yt.size>0?yt:void 0,Vi());for(let Wn of yt.keys())p.current.delete(Wn);for(let Wn of re.keys())u.current.delete(Wn);let fn=h(f({},At),{threadId:It});try{let Wn=JSON.parse(localStorage.getItem(mt)||"{}");delete Wn[Cn],Wn[Qe]=fn,localStorage.setItem(mt,JSON.stringify(Wn))}catch(Wn){}nt(Wn=>{let Hr=Wn,{[Cn]:Wi}=Hr,Zr=Zn(Hr,[Ao(Cn)]);return h(f({},Zr),{[Qe]:fn})}),s({type:"MARK_CAPTURED"}),It&&pn.length>0&&s({type:"SET_ANNOTATION_THREAD",payload:{ids:pn,threadId:It}});let Tn=i.activeColor.match(/oklch\([^)]*\s+([\d.]+)\s*\)/),Wo=((Tn!=null&&Tn[1]?parseFloat(Tn[1]):29)+60)%360;return s({type:"SET_COLOR",payload:`oklch(0.628 0.258 ${Wo})`}),!0}catch(Qe){try{let It=JSON.parse(localStorage.getItem(mt)||"{}");delete It[Cn],localStorage.setItem(mt,JSON.stringify(It))}catch(It){}return nt(It=>{let zo=It,{[Cn]:fn}=zo;return Zn(zo,[Ao(Cn)])}),console.error("[Pare] Failed to send to bridge:",Qe),!1}},[i.annotations,i.styleModifications,i.spacingTokenChanges,i.activeColor,s,c,v,M.id,b,o]),Mt=en(async()=>{if(we){ut(we);return}try{let{jobId:x,threadId:L}=await Sa(c,v,M.id);ie(x),ke(L);let z={annotationIds:[],styleSelectors:[],color:"#6b7280",threadId:L};nt(re=>h(f({},re),{[x]:z})),ut(L)}catch(x){console.error("[Popmelt] Failed to start synthesize:",x)}},[c,v,M.id,we]),so=en(async(x,L,z)=>{var Xe,Et,yt,$t;let re=($t=(yt=(Xe=Object.values(Be.current).find(xt=>xt.threadId===x))==null?void 0:Xe.color)!=null?yt:(Et=i.annotations.find(xt=>xt.threadId===x))==null?void 0:Et.color)!=null?$t:i.activeColor,Te=i.annotations.filter(xt=>xt.threadId===x&&(xt.status==="waiting_input"||xt.status==="resolved"||xt.status==="needs_review")),ze=Te.map(xt=>xt.id),Ue=`_pending_reply_${Date.now()}`,Ge={annotationIds:ze,styleSelectors:[],color:re,threadId:x};try{let xt=JSON.parse(localStorage.getItem(mt)||"{}");xt[Ue]=Ge,localStorage.setItem(mt,JSON.stringify(xt))}catch(xt){}nt(xt=>h(f({},xt),{[Ue]:Ge}));try{let xt=Xi(i.activeColor),{jobId:pn}=await wa(x,L,c,xt,v,M.id,z,Vi()),yo=f({},Ge);try{let Hn=JSON.parse(localStorage.getItem(mt)||"{}");delete Hn[Ue],Hn[pn]=yo,localStorage.setItem(mt,JSON.stringify(Hn))}catch(Hn){}nt(Hn=>{let An=Hn,{[Ue]:Cn}=An,At=Zn(An,[Ao(Ue)]);return h(f({},At),{[pn]:yo})}),Te.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:ze,status:"in_flight"}}),a.dismissQuestion(x)}catch(xt){try{let pn=JSON.parse(localStorage.getItem(mt)||"{}");delete pn[Ue],localStorage.setItem(mt,JSON.stringify(pn))}catch(pn){}nt(pn=>{let Cn=pn,{[Ue]:yo}=Cn;return Zn(Cn,[Ao(Ue)])}),console.error("[Pare] Failed to send reply:",xt)}},[i.activeColor,i.annotations,c,a.dismissQuestion,s,v,M.id]),Jt=tn(new Set);Dt(()=>{for(let x of a.pendingQuestions){if(Jt.current.has(x.jobId))continue;Jt.current.add(x.jobId);let L=x.annotationIds&&x.annotationIds.length>0?x.annotationIds:void 0;!L&&x.threadId&&(L=i.annotations.filter(z=>z.threadId===x.threadId).map(z=>z.id)),L&&L.length>0&&s({type:"SET_ANNOTATION_QUESTION",payload:{ids:L,question:x.question,threadId:x.threadId}})}},[a.pendingQuestions,s,i.annotations]);let ur=wo(()=>{if(a.activeJobId&&a.activeJobId in Ve)return Ve[a.activeJobId].color;let x=Object.values(Ve);return x.length>0?x[x.length-1].color:void 0},[a.activeJobId,Ve]),Gt=en(x=>{ut(x)},[]),Kn=en(x=>{var re;let L=Ve[x],z=(L==null?void 0:L.threadId)||Kt.current.get(x);z&&(Yt.current=(re=L==null?void 0:L.color)!=null?re:null,ut(z))},[Ve]),_n=en(x=>{if(!x){Xn(null);return}let L=dn.current.get(x);L&&L.length>0?Xn(new Set(L)):Xn(null)},[]),ho=en(async x=>{try{let L=x?`${c}/cancel?jobId=${x}`:`${c}/cancel`;await fetch(L,{method:"POST"})}catch(L){}},[c]),Nr=en(async()=>{var L,z,re;Ce("restarting"),fe("Restarting bridge");let x=await Yi(c,ai,2e4);if(x.ok){Z((L=x.status.version)!=null?L:ai),Ce("ok"),fe(x.status.version?`Bridge restarted on ${x.status.version}`:"Bridge restarted"),ee(Te=>Te+1);return}Z((re=(z=x.status)==null?void 0:z.version)!=null?re:W),Ce("error"),fe(x.error)},[W,c]);Dt(()=>{i.activeTool==="model"&&lt&&lt!==we&&ut(null)},[i.activeTool]);let wt=tn(null);Dt(()=>{i.isAnnotating?wt.current&&(ut(wt.current),wt.current=null):lt&&(wt.current=lt,ut(null))},[i.isAnnotating]);let Vt=wo(()=>{if(!lt)return null;for(let[x,L]of Object.entries(Ve))if(L.threadId===lt)return x;for(let[x,L]of Object.entries(a.activeJobThreads))if(L===lt)return x;return null},[lt,Ve,a.activeJobThreads]),Ct=lt?i.annotations.find(x=>x.threadId===lt):void 0,qn=wo(()=>Vt?a.events.filter(x=>x.data.jobId===Vt):Qg,[Vt,a.events.length]),zn=wo(()=>{var x,L;return(L=(x=Ct==null?void 0:Ct.color)!=null?x:Yt.current)!=null?L:i.activeColor},[Ct==null?void 0:Ct.color,i.activeColor]),Nn=Ct?i.annotations.indexOf(Ct)+1:void 0;Dt(()=>{var L;let x=(L=Ct==null?void 0:Ct.color)!=null?L:Yt.current;lt&&x&&s({type:"SET_COLOR",payload:x})},[lt]);let[Eo,on]=Wt(!1),[pr,$o]=Wt(0),C=tn(null),J=en(x=>{x?(C.current&&(clearTimeout(C.current),C.current=null),on(!0)):C.current=setTimeout(()=>{on(!1),C.current=null},150)},[]),ne=en(()=>{$o(x=>x+1),a.clearEvents(),ut(null),Mn(new Set),ho()},[a.clearEvents,ho]);Dt(()=>()=>{C.current&&clearTimeout(C.current)},[]);let[ye,me]=Wt(!1);Dt(()=>{me(!0)},[]);let Le=wo(()=>({isEnabled:t}),[t]);return!t||!ye?_r(ra.Provider,{value:Le,children:e}):zc(ra.Provider,{value:Le,children:[e,_r(Ql,{state:i,dispatch:s,onScreenshot:Co,inFlightAnnotationIds:mo,activeAnnotationIds:io,queuePositionMap:nn,inFlightStyleSelectors:wn,inFlightSelectorColors:bn,onAttachImages:Ln,onReply:a.isConnected?so:void 0,onViewThread:a.isConnected?Gt:void 0,onCloseThread:x=>{ut(null),x&&Mn(L=>new Set(L).add(x))},onModelComponentsAdd:a.isConnected?ce:void 0,onModelComponentFocus:a.isConnected?Ae:void 0,onModelComponentHover:qe,modelComponentNames:Ne,modelPanelHoveredComponent:ft,modelSpacingTokenHover:ln,highlightedAnnotationIds:cn,focusedThreadAnnotationId:Ct==null?void 0:Ct.id,externalCanvasRef:l,toolbarRef:d}),_r(Ac,{children:zc(Rc,{children:[_r(kc,{state:i,dispatch:s,onScreenshot:Co,onSendToClaude:a.isConnected?kn:void 0,hasActiveJobs:Object.keys(Ve).length>0||a.activeJobIds.length>0,activeJobColor:ur,onCrosshairHover:J,onClear:ne,provider:v,onProviderChange:a.isConnected&&P.length>1?ue:void 0,availableProviders:P,modelIndex:T,modelCount:le.length,modelLabel:M.label,onModelChange:a.isConnected?Me:void 0,onViewThread:a.isConnected?Gt:void 0,isThreadPanelOpen:lt!==null&&lt!==we,mcpStatus:G,bridgeUrl:c,isBridgeConnected:a.isConnected,packageVersion:ai,bridgeVersion:W,bridgeRestartState:k,bridgeRestartMessage:Q,onBridgeRestart:Nr,modelSelectedComponent:We,modelCanvasHoveredComponent:ge,onModelComponentHover:gt,onSpacingTokenHover:K,onModifySpacingToken:a.isConnected?Je:void 0,onDeleteSpacingToken:a.isConnected?ae:void 0,modelRefreshKey:Tt,onModelComponentAdded:$e,onModelComponentRemoved:rt,onSynthesizeRules:a.isConnected&&v!=="copilot"?Mt:void 0,isSynthesizing:X!==null,toolbarRef:d,snapPosition:ht,onSnapPositionChange:St}),lt&&_r(Fc,{threadId:lt,bridgeUrl:c,accentColor:zn,isStreaming:Vt!==null,isQueued:Vt!==null&&!a.activeJobIds.includes(Vt),queuePosition:Vt&&!a.activeJobIds.includes(Vt)?(()=>{let x=new Set(a.activeJobIds),L=Object.keys(Ve).filter(re=>!x.has(re)),z=L.indexOf(Vt);return z>=0?`(${z+1}/${L.length})`:void 0})():void 0,streamingEvents:qn,onClose:()=>ut(null),onReply:so,onCancel:Vt?()=>ho(Vt):void 0,lastError:(Ut=(Oe=a.lastErrorByJob)==null?void 0:Oe[Vt!=null?Vt:""])!=null?Ut:a.lastCompletedJobId&&Kt.current.get(a.lastCompletedJobId)===lt?(Lt=a.lastErrorByJob)==null?void 0:Lt[a.lastCompletedJobId]:void 0,toolbarRef:d,currentModel:M.id,currentProvider:v,annotationNumber:Nn,annotationText:Ct==null?void 0:Ct.text}),_r(Ic,{bridge:a,bridgeUrl:c,inFlightJobs:Ve,isVisible:Eo||a.lastResponseText!==null||a.activeJobIds.length>0,onHover:J,clearSignal:pr,onReply:so,onViewThread:Gt,onClickJob:Kn,onCancel:ho,onHoverJob:_n,isConnected:a.isConnected,dismissedThreadIds:yn,snapPosition:ht})]})})]})}function rm(){let e=Zg(ra);if(!e)throw new Error("usePopmelt must be used within PopmeltProvider");return e}export{om as PopmeltProvider,rm as usePopmelt};
75
+ `}}),nt("div",{ref:Se,style:y(f({},Cm),{transition:"opacity 150ms ease"}),"data-devtools":"thread-panel-messages",children:[Y&&ce("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"Loading..."}),!Y&&O.length===0&&!o&&ce("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"No messages yet."}),O.map((pe,se)=>ce(Um,{msg:pe,index:se,bridgeUrl:t,accentColor:n,onLightbox:ie},`${pe.jobId}-${se}`)),!o&&I&&O.some(pe=>{var se,Ce;return pe.role==="assistant"&&(((se=pe.responseText)==null?void 0:se.includes("<eval_proposals>"))||((Ce=pe.responseText)==null?void 0:Ce.includes("<evals>")))})&&ce("div",{style:{padding:"0 16px 12px"},children:ce("button",{type:"button",onClick:I,style:{width:"100%",border:"1px solid rgba(0,0,0,0.12)",background:"rgba(0,0,0,0.02)",color:"#6b7280",cursor:"pointer",fontFamily:Zt,fontSize:11,fontWeight:650,padding:"5px 8px"},children:"Review proposals"})}),o&&ce("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:r?nt("div",{style:{display:"flex",alignItems:"center",gap:6},children:[nt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:n,style:{verticalAlign:"middle",flexShrink:0,opacity:.5},children:[ce("circle",{cx:"12",cy:"6",r:"2"}),ce("circle",{cx:"6",cy:"12",r:"2"}),ce("circle",{cx:"18",cy:"12",r:"2"}),ce("circle",{cx:"12",cy:"18",r:"2"})]}),nt("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:["queued",s?` ${s}`:""]})]}):nt(Zo,{children:[nt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[ce(ai,{provider:v,size:11,style:{color:"#6b7280"}}),ce("span",{style:{fontWeight:600,fontSize:11,color:"#6b7280"},children:ca(g,v)})]}),$e.map((pe,se)=>{if(pe.kind==="tool_group")return ce(cd,{tool:pe.tool,items:pe.items},se);if(pe.kind==="file_content")return ce(jm,{file:pe.file,content:pe.content,ext:pe.ext,isPlan:pe.isPlan,onAccept:pe.isPlan&&a?()=>a(e,"Looks good, please proceed with implementation."):void 0},se);if(pe.kind==="thinking")return ce("div",{style:{paddingLeft:12,fontSize:11,color:"#9ca3af",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:pe.text},se);let Ce=va(pe.text);return Ce?ce("div",{style:{paddingLeft:12,lineHeight:1.5,wordBreak:"break-word"},children:To(Ce)},se):null}),nt("div",{style:{display:"flex",alignItems:"center",gap:6},children:[ce(Pm,{color:n}),d&&ce("button",{onClick:d,style:{background:"none",border:"1px solid rgba(0,0,0,0.1)",color:"#6b7280",fontSize:10,padding:"2px 8px",cursor:"pointer",fontFamily:"inherit",marginLeft:"auto"},children:"Cancel"})]})]})}),!be&&O.length>0&&ce("div",{style:{position:"sticky",bottom:5,display:"flex",justifyContent:"flex-end",paddingRight:3,pointerEvents:"none"},children:ce("button",{onClick:()=>{Se.current&&Se.current.scrollTo({top:Se.current.scrollHeight,behavior:"smooth"})},style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center",padding:4,fontSize:10,fontFamily:Zt,color:"transparent",backgroundColor:"#eaeaea",backgroundImage:`url("data:image/svg+xml,${encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' width='5' height='5'><path d='M-1,1 l2,-2 M0,5 l5,-5 M4,6 l2,-2' stroke='rgb(0,0,0)' stroke-width='.75'/></svg>")}")`,backgroundSize:"5px 5px",border:"none",borderRadius:0,cursor:"pointer",pointerEvents:"auto",userSelect:"none"},children:nt("span",{style:{position:"relative",backgroundColor:"#eaeaea",padding:"0 6px",color:"#374151",fontFamily:Zt,lineHeight:1.4},children:[de," message",de!==1?"s":""," \u2193"]})})})]}),!o&&c&&nt("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:11,color:"#dc2626",lineHeight:1.4},children:[ce("span",{style:{fontWeight:600},children:"Error: "}),c]}),a&&nt("div",{style:{flexShrink:0,position:"relative"},children:[B.length>0&&ce("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:B.map((pe,se)=>nt("span",{onClick:()=>h(Ce=>Ce.filter((Re,it)=>it!==se)),onMouseEnter:Ce=>{let Re=Ce.currentTarget.querySelector("[data-chip-x]");Re&&(Re.style.color="#fff")},onMouseLeave:Ce=>{let Re=Ce.currentTarget.querySelector("[data-chip-x]");Re&&(Re.style.color="rgba(255,255,255,0.4)")},style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:10,color:"#fff",backgroundColor:n,backdropFilter:"blur(4px)",padding:"2px 6px 2px 6px",cursor:"pointer"},children:["image ",se+1,ce("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},se))}),nt("div",{ref:k,style:y(f({},km),{borderTop:"1px solid rgba(0,0,0,0.12)"}),children:[ce("input",{"data-popmelt-reply":!0,autoFocus:!0,value:Z,onChange:pe=>{_(pe.target.value),Pe(A.current,pe.target.value)},onFocus:()=>{A.current=!0,Pe(!0,Z)},onBlur:()=>{A.current=!1,Pe(!1,Z)},onKeyDown:ct,onPaste:ye,placeholder:"Reply here (cmd + enter to send)",style:{flex:1,minWidth:0,minHeight:44,padding:"0 4px",fontSize:12,fontFamily:Zt,backgroundColor:"transparent",color:"#1f2937",border:"none",outline:"none",lineHeight:"40px",boxSizing:"border-box"}}),ce("button",{onClick:Je,disabled:!Z.trim(),style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",cursor:Z.trim()?"pointer":"default",color:Z.trim()?n:"rgba(0,0,0,0.2)",flexShrink:0},children:nt("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[ce("path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z"}),ce("path",{d:"M6 12h16"})]})})]})]})]})]}),me&&ce(_m,{src:me,onClose:()=>R(null)})]})}import{jsx as qr,jsxs as pd}from"react/jsx-runtime";var qm=[],Ea=Km(null),xa="devtools-provider",ss="devtools-model",Sa="devtools-open-thread-id",wa="popmelt-synthesize-thread",Ca="popmelt-eval-synthesize-thread",Xr="#000000";async function ud(e,t){t?await t(e):(window.history.pushState(window.history.state,"",e),window.dispatchEvent(new PopStateEvent("popstate",{state:window.history.state}))),await new Promise(n=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{setTimeout(n,600)}))})}var Zm={0:0,1:1},Qm={0:0,1:1,2:1};function eh(e,t,n){var r,s;if(t==="copilot")return 0;let o=t==="codex"?ns:ts;return e==="copilot"?0:e==="claude"&&t==="codex"?(r=Zm[n])!=null?r:Math.min(n,o.length-1):e==="codex"&&t==="claude"&&(s=Qm[n])!=null?s:Math.min(n,o.length-1)}function th({children:e,enabled:t=process.env.NODE_ENV==="development",bridgeUrl:n=typeof window!="undefined"?(r=>(r=window.__POPMELT_BRIDGE_URL__)!=null?r:"http://localhost:1111")():"http://localhost:1111",navigate:o}){var Qn,Bn,er,kr,ui,pi;let s=typeof window!="undefined"&&(Qn=window.__POPMELT_PROJECT_ID__)!=null?Qn:null,[i,l]=rl(),a=nl(n,t,s),d=on(null),c=on(null),u=(Bn=el())!=null?Bn:n,p=on(new Map),g=on(new Map),v=on(!1),x=Ar(),[w,I]=Et(()=>typeof window=="undefined"?"claude":localStorage.getItem(xa)||"claude"),[N,H]=Et(()=>{if(typeof window=="undefined")return 0;let S=localStorage.getItem(ss);return S&&parseInt(S,10)||0}),[O,L]=Et([]),[Y,re]=Et({}),[Z,_]=Et(0),[B,h]=Et({}),[A,k]=Et(null),[be,K]=Et("idle"),[de,F]=Et(null);Pt(()=>{a.isConnected&&Ra(u).then(S=>{if(!S)return;let P=Object.entries(S.providers).filter(([,Ae])=>Ae.available).map(([Ae])=>Ae);P.length>0&&L(P);let le={};for(let[Ae,Be]of Object.entries(S.providers))Be.models&&Be.models.length>0&&(le[Ae]=Be.models);re(le);let ue={};for(let[Ae,Be]of Object.entries(S.providers))Be.mcp&&(ue[Ae]=Be.mcp);h(ue)})},[a.isConnected,a.capabilitiesVersion,Z,u]),Pt(()=>{if(!a.isConnected){k(null);return}let S=!1;return _o(u).then(P=>{var le;S||k((le=P==null?void 0:P.version)!=null?le:null)}),()=>{S=!0}},[a.isConnected,a.capabilitiesVersion,Z,u]),Pt(()=>{if(be==="idle"||be==="restarting")return;let S=window.setTimeout(()=>{K("idle"),F(null)},be==="ok"?4e3:8e3);return()=>window.clearTimeout(S)},[be]),Pt(()=>{if(O.length>0&&!O.includes(w)){let S=O[0];I(S),localStorage.setItem(xa,S)}},[O,w]);let me=w==="codex"?[...ns]:w==="copilot"?[...la]:[...ts],R=Y[w]&&Y[w].length>0?Y[w]:me,ie=(er=R[N])!=null?er:R[0];Pt(()=>{N>=R.length&&(H(0),localStorage.setItem(ss,"0"))},[N,R.length]);let Se=$t(S=>{let P=w;I(S),localStorage.setItem(xa,S);let le=eh(P,S,N);H(le),localStorage.setItem(ss,String(le))},[w,N]),Pe=$t(S=>{H(S),localStorage.setItem(ss,String(S))},[]),[_e,Ze]=Et(new Set),[Oe,he]=Et(null),[Fe,rt]=Et(null),[ht,Jt]=Et(null),[Q,ne]=Et(null);Pt(()=>{a.isConnected&&Tr(u).then(S=>{S!=null&&S.components&&Ze(new Set(Object.keys(S.components)))})},[a.isConnected,u]);let Te=$t(async S=>{let P=[];for(let le of S)try{(await Pa(le,u)).added&&P.push(le)}catch(ue){console.error("[Popmelt] Failed to add component to model:",le,ue)}P.length>0&&(Ze(le=>{let ue=new Set(le);for(let Ae of P)ue.add(Ae);return ue}),he(P[P.length-1]))},[u]),$e=$t(S=>{he(S)},[]),pt=$t(()=>{Tr(u).then(S=>{S!=null&&S.components&&Ze(new Set(Object.keys(S.components)))})},[u]),Je=$t(async S=>{try{(await Oa(S,u)).removed&&Ze(le=>{let ue=new Set(le);return ue.delete(S),ue})}catch(P){console.error("[Popmelt] Failed to remove component from model:",P)}},[u]),ye=$t((S,P)=>{l({type:"MODIFY_SPACING_TOKEN",payload:S}),l({type:"ADD_SPACING_TOKEN_CHANGE",payload:P})},[l]),ct=$t((S,P)=>{l({type:"DELETE_SPACING_TOKEN",payload:{tokenPath:S,originalValue:P}})},[l]),[Ge,_t]=Et(null),[dt,pe]=Et(()=>typeof window=="undefined"?null:localStorage.getItem(wa)||null),[se,Ce]=Et(null),[Re,it]=Et(()=>typeof window=="undefined"?null:localStorage.getItem(Ca)||null),[Me,Wt]=Et(0),[en,pn]=Et({}),[zn,jt]=Et(new Set);Pt(()=>{dt?localStorage.setItem(wa,dt):localStorage.removeItem(wa)},[dt]),Pt(()=>{Re?localStorage.setItem(Ca,Re):localStorage.removeItem(Ca)},[Re]);let[Ot,hn]=Et(0),vt=on([]);Pt(()=>{let S=vt.current,P=i.spacingTokenMods;vt.current=P;let le=new Map(S.map(Be=>[Be.tokenPath,Be])),ue=new Map(P.map(Be=>[Be.tokenPath,Be])),Ae=!1;for(let[Be,et]of ue){let Ue=le.get(Be);if(!(Ue&&Ue.currentValue===et.currentValue)){Ae=!0,et.currentValue==="__deleted__"?Ba(Be,u).catch(Rt=>console.error("[Popmelt] Failed to sync token delete:",Rt)):ls(Be,et.currentValue,u).catch(Rt=>console.error("[Popmelt] Failed to sync token update:",Rt));for(let Rt of et.targets){let Ct=document.querySelector(Rt.selector);if(Ct)if(et.currentValue==="__deleted__")Ct.style.removeProperty(Rt.property);else{let gt=et.currentPx;gt>0&&Ct.style.setProperty(Rt.property,`${gt}px`,"important")}}}}for(let[Be,et]of le)if(!ue.has(Be)){Ae=!0,ls(Be,et.originalValue,u).catch(Ue=>console.error("[Popmelt] Failed to restore token on undo:",Ue));for(let Ue of et.targets){let Rt=document.querySelector(Ue.selector);Rt&&Rt.style.removeProperty(Ue.property)}}Ae&&hn(Be=>Be+1)},[i.spacingTokenMods,u]);let[Vt,Qe]=Et(()=>sl()),xo=$t(S=>{Qe(S),al(S)},[]),[Ke,Tt]=Et(()=>typeof window=="undefined"?null:localStorage.getItem(Sa)||null),Gn=on(null),[So,Fn]=Et(new Set),[rn,Tn]=Et(null);Pt(()=>{Ke?localStorage.setItem(Sa,Ke):localStorage.removeItem(Sa)},[Ke]);let W="popmelt-in-flight-jobs",[fe,Le]=Et(()=>{try{let S=localStorage.getItem(W);return S?JSON.parse(S):{}}catch(S){return{}}});Pt(()=>{try{Object.keys(fe).length>0?localStorage.setItem(W,JSON.stringify(fe)):localStorage.removeItem(W)}catch(S){}},[fe]),Pt(()=>{let S=P=>{if(P.key===W)try{let le=P.newValue?JSON.parse(P.newValue):{};Le(le)}catch(le){}};return window.addEventListener("storage",S),()=>window.removeEventListener("storage",S)},[]);let Gt=on(new Map),St=on(new Map);Pt(()=>{for(let[S,P]of Object.entries(fe))P.annotationIds.length>0&&Gt.current.set(S,P.annotationIds),P.threadId&&St.current.set(S,P.threadId)},[fe]);let yn=on("");Pt(()=>{if(i.annotations.length===0)return;let S=Object.keys(fe).sort().join(",");if(S===yn.current)return;yn.current=S;let P=new Set;for(let ue of Object.values(fe))for(let Ae of ue.annotationIds)P.add(Ae);let le=i.annotations.filter(ue=>P.has(ue.id)?!1:!!(ue.status==="in_flight"||(ue.status==="pending"||!ue.status)&&(ue.captured||ue.threadId))).map(ue=>ue.id);le.length>0&&l({type:"SET_ANNOTATION_STATUS",payload:{ids:le,status:"dismissed"}})},[i.annotations,fe,l]);let bn=vo(()=>{let S=new Set;for(let P of Object.values(fe))for(let le of P.annotationIds)S.add(le);return S},[fe]),Ut=vo(()=>{let S=new Set(a.activeJobIds),P=new Set;for(let[le,ue]of Object.entries(fe))if(S.has(le))for(let Ae of ue.annotationIds)P.add(Ae);return P},[fe,a.activeJobIds]),Pn=vo(()=>{let S=new Set(a.activeJobIds),P=Object.entries(fe).filter(([Ae])=>!S.has(Ae)),le=P.length,ue=new Map;return P.forEach(([,Ae],Be)=>{let et=`(${Be+1}/${le})`;for(let Ue of Ae.annotationIds)ue.set(Ue,et)}),ue},[fe,a.activeJobIds]),vn=vo(()=>{let S=new Set;for(let P of Object.values(fe))for(let le of P.styleSelectors)S.add(le);return S},[fe]),Io=vo(()=>{let S=new Map;for(let P of Object.values(fe)){for(let le of P.styleSelectors)S.set(le,P.color);for(let le of P.annotationIds){let ue=i.annotations.find(Ae=>Ae.id===le);if(ue&&(ue.linkedSelector&&S.set(ue.linkedSelector,P.color),ue.groupId))for(let Ae of i.annotations)Ae.groupId===ue.groupId&&Ae.linkedSelector&&S.set(Ae.linkedSelector,P.color)}}return S},[fe,i.annotations]),yt=on(i.annotations);yt.current=i.annotations;let Ro=on(i.styleModifications);Ro.current=i.styleModifications;let io=on(fe);io.current=fe,Pt(()=>{let S=null,P=()=>{var Ue,Rt;if(Object.keys(io.current).length>0)return;let ue=yt.current,Ae=Ro.current,Be=[],et=[];for(let Ct of ue){if(!Ct.linkedSelector||!Ct.linkedSelector.startsWith("[data-pm=")||Ct.pathname||Ct.captured||Ct.status&&Ct.status!=="pending")continue;let gt=document.querySelector(Ct.linkedSelector);!gt&&((Rt=(Ue=Ct.elements)==null?void 0:Ue[0])!=null&&Rt.selector)&&(gt=document.querySelector(Ct.elements[0].selector)),gt||Be.push(Ct.linkedSelector)}for(let Ct of Ae)document.querySelector(Ct.selector)||et.push(Ct.selector);(Be.length>0||et.length>0)&&l({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:Be,styleSelectors:et}})},le=new MutationObserver(ue=>{ue.some(Ae=>Ae.removedNodes.length>0)&&(S&&clearTimeout(S),S=setTimeout(P,3e3))});return le.observe(document.body,{childList:!0,subtree:!0}),()=>{le.disconnect(),S&&clearTimeout(S)}},[l]);let jo=on(typeof window!="undefined"?window.location.pathname:"/");Pt(()=>{let S=ue=>{if(v.current)return;let Ae=window.location.pathname;if(ue===Ae)return;let Be=yt.current.filter(Ue=>{var Rt;return Ue.pathname===ue&&((Rt=Ue.status)!=null?Rt:"pending")==="pending"});if(console.log(`[Popmelt] Navigation from ${ue} \u2192 ${Ae}, ${Be.length} pending annotations on departing page`),Be.length===0)return;let et=d.current;if(!et){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Pr(document.body,et,Be,{dpr:1}).then(Ue=>Qr(Ue)).then(Ue=>{Ue?(g.current.set(ue,Ue),console.log(`[Popmelt] Cached screenshot for ${ue} (${(Ue.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${ue}`)}).catch(Ue=>{console.warn("[Popmelt] Capture-on-leave failed:",Ue)}),g.current.size>20){let Ue=[...g.current.entries()];g.current=new Map(Ue.slice(-10))}},P=ue=>{var Be;let Ae=(Be=ue.detail)==null?void 0:Be.prevPath;Ae&&(S(Ae),jo.current=window.location.pathname)},le=()=>{let ue=jo.current;S(ue),jo.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",P),window.addEventListener("popstate",le),()=>{window.removeEventListener("popmelt:locationchange",P),window.removeEventListener("popstate",le)}},[]),Pt(()=>{var S;if(a.lastCompletedJobId&&a.lastCompletedJobId in fe&&Le(P=>{var Ae;let Be=P,{[Ae=a.lastCompletedJobId]:le}=Be;return Dn(Be,[uo(Ae)])}),a.lastCompletedJobId&&a.lastCompletedJobId===Ge&&(hn(P=>P+1),_t(null)),a.lastCompletedJobId&&a.lastCompletedJobId===se&&(Wt(P=>P+1),Ce(null)),a.lastCompletedJobId){let P=(S=Object.entries(en).find(([,le])=>le===a.lastCompletedJobId))==null?void 0:S[0];P&&(pn(le=>{let Be=le,{[P]:ue}=Be;return Dn(Be,[uo(P)])}),Wt(le=>le+1))}},[a.lastCompletedJobId,Ge,se,en]);let qn=on(new Set),Mn=on(!1);Pt(()=>{if(!a.isConnected){Mn.current=!1;return}Mn.current||(Mn.current=!0,_o(u).then(async S=>{var et,Ue,Rt,Ct;if(!S)return;let P=(et=S.activeJobs)!=null?et:[],le=(Ue=S.recentJobs)!=null?Ue:[],ue=new Set(P.map(gt=>gt.id)),Ae=JSON.parse(localStorage.getItem(W)||"{}"),Be=new Set;for(let gt of Object.values(Ae))if(gt.annotationIds)for(let zt of gt.annotationIds)Be.add(zt);Le(gt=>{var lo,m,b;let zt=f({},gt),xt=Date.now();for(let G of Object.keys(zt)){if(G.startsWith("_pending_")){let M=parseInt(G.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(M)&&xt-M>3e4&&delete zt[G];continue}ue.has(G)||delete zt[G]}for(let G of P)if(!zt[G.id]&&((lo=G.annotationIds)!=null&&lo.length||G.threadId)){let M=G.kind;zt[G.id]={annotationIds:(m=G.annotationIds)!=null?m:[],styleSelectors:[],color:M==="synthesize_evals"||M==="run_eval"?Xr:(b=G.color)!=null?b:"#888",threadId:G.threadId,kind:M}}let ln=new Set;for(let G of le)if(G.annotationIds)for(let M of G.annotationIds)ln.add(M);for(let G of Object.keys(zt)){if(!G.startsWith("_pending_"))continue;let M=zt[G];M&&M.annotationIds.some(C=>ln.has(C))&&delete zt[G]}return zt});for(let gt of le)if(gt.status==="done"&&(Rt=gt.annotationIds)!=null&&Rt.length&&gt.annotationIds.some(zt=>Be.has(zt))&&!qn.current.has(gt.id))try{let zt=await gi(u,gt.id);if(!zt)continue;let xt=zt.events.find(ln=>ln.type==="done");xt&&Array.isArray(xt.resolutions)&&(qn.current.add(gt.id),l({type:"APPLY_RESOLUTIONS",payload:{resolutions:xt.resolutions,threadId:(Ct=xt.threadId)!=null?Ct:void 0}}))}catch(zt){}}))},[a.isConnected,u,l]),Pt(()=>{let S=a.events.filter(P=>P.type==="done"&&P.data.resolutions);for(let P of S){let le=P.data.jobId;qn.current.has(le)||(qn.current.add(le),Array.isArray(P.data.resolutions)&&l({type:"APPLY_RESOLUTIONS",payload:{resolutions:P.data.resolutions,threadId:P.data.threadId}}))}},[a.events,l]);let Lo=on(new Set);Pt(()=>{let S=a.events.filter(P=>P.type==="error"&&P.data.cancelled);for(let P of S){let le=P.data.jobId;if(!le||Lo.current.has(le))continue;Lo.current.add(le);let ue=fe[le];ue&&ue.annotationIds.length>0&&l({type:"SET_ANNOTATION_STATUS",payload:{ids:ue.annotationIds,status:"dismissed"}})}},[a.events,fe,l]);let Zn=on(0);Pt(()=>{let S=a.incrementalResolutions;if(S.length<=Zn.current)return;let P=S.slice(Zn.current);Zn.current=S.length,l({type:"APPLY_RESOLUTIONS",payload:{resolutions:P}})},[a.incrementalResolutions,l]),Pt(()=>{a.incrementalResolutions.length===0&&(Zn.current=0)},[a.incrementalResolutions.length]);let Kt=$t(async()=>{let S=d.current;if(!S)return!1;let P=await Pr(document.body,S,i.annotations);if(P.length===0)return!1;let le=await gl(P,i.annotations,i.styleModifications);return le&&l({type:"MARK_CAPTURED"}),le},[i.annotations,i.styleModifications,l]),Bt=$t((S,P)=>{let le=p.current.get(S)||[];p.current.set(S,[...le,...P])},[]),Xt=$t(async()=>{var M;let S=d.current;if(!S)return!1;let P=i.annotations.filter(C=>{var $;return(($=C.status)!=null?$:"pending")==="pending"}),le=i.spacingTokenChanges.filter(C=>!C.captured);if(P.length===0&&i.styleModifications.filter(C=>!C.captured).length===0&&le.length===0)return!1;let ue=new Map;for(let C of P){let $=C.pathname||x;ue.has($)||ue.set($,[]),ue.get($).push(C)}let Ae=new Map,Be=[...ue.keys()].filter(C=>C!==x);if(Be.length>0){let C=x,$={x:window.scrollX,y:window.scrollY};v.current=!0;for(let oe of Be)try{console.log(`[Popmelt] Navigating to ${oe} for screenshot capture`),await ud(oe,o),window.location.pathname!==oe&&console.warn(`[Popmelt] Navigation to ${oe} did not take effect (at ${window.location.pathname})`);let j=ue.get(oe)||[],te=await Pr(document.body,S,j,{dpr:1}),E=await Qr(te);E&&(Ae.set(oe,E),console.log(`[Popmelt] Captured ${oe} (${(E.size/1024).toFixed(0)}KB)`))}catch(j){console.warn(`[Popmelt] Failed to capture ${oe}:`,j)}await ud(C,o),window.scrollTo($.x,$.y),v.current=!1}let et=P.filter(C=>(C.pathname||x)===x),Ue=await Pr(document.body,S,et.length>0?i.annotations:[],{dpr:1});if(Ue.length>0){let C=await Qr(Ue);C&&Ae.set(x,C)}if(Ae.size===0)return!1;let Rt=fs(P,i.styleModifications,void 0,le.length>0?le:void 0),Ct=JSON.stringify(Rt),gt=new Map;for(let C of P){let $=p.current.get(C.id);if($&&$.length>0&&gt.set(C.id,$),C.groupId){for(let oe of P)if(oe.groupId===C.groupId&&oe.id!==C.id){let j=p.current.get(oe.id);j&&j.length>0&&gt.set(oe.id,j)}}}let zt=ue.size>1;console.log(`[Popmelt] Submit: ${ue.size} page(s), ${Ae.size} screenshot(s), pages: [${[...ue.keys()].join(", ")}], cached: [${[...g.current.keys()].join(", ")}]`);let xt=zt?Ae:(M=Ae.get(x))!=null?M:Ae,ln=P.map(C=>C.id),lo=i.styleModifications.filter(C=>!C.captured).map(C=>C.selector),m=ps(i.activeColor),b=`_pending_${Date.now()}`,G={annotationIds:ln,styleSelectors:lo,color:i.activeColor,threadId:void 0};try{let C=JSON.parse(localStorage.getItem(W)||"{}");C[b]=G,localStorage.setItem(W,JSON.stringify(C))}catch(C){}Le(C=>y(f({},C),{[b]:G}));try{let{jobId:C,threadId:$}=await Aa(xt,Ct,u,m,w,ie.id,gt.size>0?gt:void 0,wi());for(let T of gt.keys())p.current.delete(T);for(let T of ue.keys())g.current.delete(T);let oe=y(f({},G),{threadId:$});try{let T=JSON.parse(localStorage.getItem(W)||"{}");delete T[b],T[C]=oe,localStorage.setItem(W,JSON.stringify(T))}catch(T){}Le(T=>{let J=T,{[b]:X}=J,z=Dn(J,[uo(b)]);return y(f({},z),{[C]:oe})}),l({type:"MARK_CAPTURED"}),$&&ln.length>0&&l({type:"SET_ANNOTATION_THREAD",payload:{ids:ln,threadId:$}});let j=i.activeColor.match(/oklch\([^)]*\s+([\d.]+)\s*\)/),E=((j!=null&&j[1]?parseFloat(j[1]):29)+60)%360;return l({type:"SET_COLOR",payload:`oklch(0.628 0.258 ${E})`}),!0}catch(C){try{let $=JSON.parse(localStorage.getItem(W)||"{}");delete $[b],localStorage.setItem(W,JSON.stringify($))}catch($){}return Le($=>{let te=$,{[b]:oe}=te;return Dn(te,[uo(b)])}),console.error("[Pare] Failed to send to bridge:",C),!1}},[i.annotations,i.styleModifications,i.spacingTokenChanges,i.activeColor,l,u,w,ie.id,x,o]),sn=$t(async()=>{if(dt){Tt(dt);return}try{let{jobId:S,threadId:P}=await za(u,w,ie.id);_t(S),pe(P);let le={annotationIds:[],styleSelectors:[],color:"#6b7280",threadId:P,kind:"synthesize"};Le(ue=>y(f({},ue),{[S]:le})),Tt(P)}catch(S){console.error("[Popmelt] Failed to start synthesize:",S)}},[u,w,ie.id,dt]),$n=$t(async()=>{Ce(null),it(null),Tt(null);try{let{jobId:S,threadId:P}=await Fa(u,w,ie.id);Ce(S),it(P);let le={annotationIds:[],styleSelectors:[],color:Xr,threadId:P,kind:"synthesize_evals"};Le(ue=>y(f({},ue),{[S]:le})),Tt(P)}catch(S){console.error("[Popmelt] Failed to start eval synthesis:",S)}},[u,w,ie.id]),wo=$t(async S=>{let P=d.current;if(P){pn(le=>y(f({},le),{[S.id]:"_pending_"}));try{let ue=(await Pr(document.body,P,[],{dpr:1}))[0];if(!ue){pn(et=>{var Ct;let gt=et,{[Ct=S.id]:Ue}=gt;return Dn(gt,[uo(Ct)])});return}let{jobId:Ae,threadId:Be}=await Ha(S.id,ue,{url:window.location.href,viewport:{width:window.innerWidth,height:window.innerHeight},scrollX:window.scrollX,scrollY:window.scrollY},u,w,ie.id,wi());if(pn(et=>y(f({},et),{[S.id]:Ae})),Be){jt(Ue=>new Set(Ue).add(Be));let et={annotationIds:[],styleSelectors:[],color:Xr,threadId:Be,kind:"run_eval"};Le(Ue=>y(f({},Ue),{[Ae]:et})),Tt(Be)}}catch(le){pn(ue=>{var et;let Ue=ue,{[et=S.id]:Ae}=Ue;return Dn(Ue,[uo(et)])}),console.error("[Popmelt] Failed to run eval:",le)}}},[u,w,ie.id]),In=$t(async(S,P,le)=>{var Rt,Ct,gt,zt;let ue=(zt=(gt=(Rt=Object.values(io.current).find(xt=>xt.threadId===S))==null?void 0:Rt.color)!=null?gt:(Ct=i.annotations.find(xt=>xt.threadId===S))==null?void 0:Ct.color)!=null?zt:i.activeColor,Ae=i.annotations.filter(xt=>xt.threadId===S&&(xt.status==="waiting_input"||xt.status==="resolved"||xt.status==="needs_review")),Be=Ae.map(xt=>xt.id),et=`_pending_reply_${Date.now()}`,Ue={annotationIds:Be,styleSelectors:[],color:ue,threadId:S};try{let xt=JSON.parse(localStorage.getItem(W)||"{}");xt[et]=Ue,localStorage.setItem(W,JSON.stringify(xt))}catch(xt){}Le(xt=>y(f({},xt),{[et]:Ue}));try{let xt=ps(i.activeColor),{jobId:ln}=await $a(S,P,u,xt,w,ie.id,le,wi()),lo=f({},Ue);try{let m=JSON.parse(localStorage.getItem(W)||"{}");delete m[et],m[ln]=lo,localStorage.setItem(W,JSON.stringify(m))}catch(m){}Le(m=>{let M=m,{[et]:b}=M,G=Dn(M,[uo(et)]);return y(f({},G),{[ln]:lo})}),Ae.length>0&&l({type:"SET_ANNOTATION_STATUS",payload:{ids:Be,status:"in_flight"}}),a.dismissQuestion(S)}catch(xt){try{let ln=JSON.parse(localStorage.getItem(W)||"{}");delete ln[et],localStorage.setItem(W,JSON.stringify(ln))}catch(ln){}Le(ln=>{let b=ln,{[et]:lo}=b;return Dn(b,[uo(et)])}),console.error("[Pare] Failed to send reply:",xt)}},[i.activeColor,i.annotations,u,a.dismissQuestion,l,w,ie.id]),Ao=on(new Set);Pt(()=>{for(let S of a.pendingQuestions){if(Ao.current.has(S.jobId))continue;Ao.current.add(S.jobId);let P=S.annotationIds&&S.annotationIds.length>0?S.annotationIds:void 0;!P&&S.threadId&&(P=i.annotations.filter(le=>le.threadId===S.threadId).map(le=>le.id)),P&&P.length>0&&l({type:"SET_ANNOTATION_QUESTION",payload:{ids:P,question:S.question,threadId:S.threadId}})}},[a.pendingQuestions,l,i.annotations]);let an=vo(()=>{if(a.activeJobId&&a.activeJobId in fe)return fe[a.activeJobId].color;let S=Object.values(fe);return S.length>0?S[S.length-1].color:void 0},[a.activeJobId,fe]),Go=$t(S=>{Tt(S)},[]),Po=$t(S=>{jt(P=>new Set(P).add(S)),Gn.current=Xr,Tt(S)},[]),so=$t(S=>{var ue;let P=fe[S],le=(P==null?void 0:P.threadId)||St.current.get(S);le&&(Gn.current=(P==null?void 0:P.kind)==="synthesize_evals"||(P==null?void 0:P.kind)==="run_eval"?Xr:(ue=P==null?void 0:P.color)!=null?ue:null,Tt(le))},[fe]),Er=$t(S=>{if(!S){Tn(null);return}let P=Gt.current.get(S);P&&P.length>0?Tn(new Set(P)):Tn(null)},[]),ao=$t(async S=>{try{let P=S?`${u}/cancel?jobId=${S}`:`${u}/cancel`;await fetch(P,{method:"POST"})}catch(P){}},[u]),Qo=$t(async()=>{var P,le,ue;K("restarting"),F("Restarting bridge");let S=await cs(u,ki,2e4);if(S.ok){k((P=S.status.version)!=null?P:ki),K("ok"),F(S.status.version?`Bridge restarted on ${S.status.version}`:"Bridge restarted"),_(Ae=>Ae+1);return}k((ue=(le=S.status)==null?void 0:le.version)!=null?ue:A),K("error"),F(S.error)},[A,u]),Yo=vo(()=>{if(!Ke)return null;for(let S of Object.values(fe))if(S.threadId===Ke&&S.kind)return S.kind;return Ke===dt?"synthesize":Ke===Re?"synthesize_evals":zn.has(Ke)?"run_eval":null},[Ke,fe,dt,Re,zn]),On=Yo==="synthesize_evals"||Yo==="run_eval",D=Yo==="synthesize";Pt(()=>{(i.activeTool==="model"&&Ke&&!D||i.activeTool==="eval"&&Ke&&!On)&&Tt(null)},[i.activeTool,Ke,D,On]);let V=$t(()=>{l({type:"SET_TOOL",payload:"eval"}),Wt(S=>S+1),Tt(null)},[l]),ee=on(null);Pt(()=>{i.isAnnotating?ee.current&&(Tt(ee.current),ee.current=null):Ke&&(ee.current=Ke,Tt(null))},[i.isAnnotating]);let ge=vo(()=>{if(!Ke)return null;for(let[S,P]of Object.entries(fe))if(P.threadId===Ke)return S;for(let[S,P]of Object.entries(a.activeJobThreads))if(P===Ke)return S;return null},[Ke,fe,a.activeJobThreads]),ae=Ke?i.annotations.find(S=>S.threadId===Ke):void 0,Ie=vo(()=>ge?a.events.filter(S=>S.data.jobId===ge):qm,[ge,a.events.length]),ke=vo(()=>{var S,P;return On?Xr:(P=(S=ae==null?void 0:ae.color)!=null?S:Gn.current)!=null?P:i.activeColor},[On,ae==null?void 0:ae.color,i.activeColor]),He=ae?i.annotations.indexOf(ae)+1:void 0;Pt(()=>{var P;if(On)return;let S=(P=ae==null?void 0:ae.color)!=null?P:Gn.current;Ke&&S&&l({type:"SET_COLOR",payload:S})},[Ke,On]);let[Ne,Mt]=Et(!1),[qt,xn]=Et(0),It=on(null),Ve=$t(S=>{S?(It.current&&(clearTimeout(It.current),It.current=null),Mt(!0)):It.current=setTimeout(()=>{Mt(!1),It.current=null},150)},[]),Yn=$t(()=>{xn(S=>S+1),a.clearEvents(),Tt(null),Fn(new Set),ao()},[a.clearEvents,ao]);Pt(()=>()=>{It.current&&clearTimeout(It.current)},[]);let[Oo,Bo]=Et(!1);Pt(()=>{Bo(!0)},[]);let En=vo(()=>({isEnabled:t}),[t]);return!t||!Oo?qr(Ea.Provider,{value:En,children:e}):pd(Ea.Provider,{value:En,children:[e,qr(bc,{state:i,dispatch:l,onScreenshot:Kt,inFlightAnnotationIds:bn,activeAnnotationIds:Ut,queuePositionMap:Pn,inFlightStyleSelectors:vn,inFlightSelectorColors:Io,onAttachImages:Bt,onReply:a.isConnected?In:void 0,onViewThread:a.isConnected?Go:void 0,onCloseThread:S=>{Tt(null),S&&Fn(P=>new Set(P).add(S))},onModelComponentsAdd:a.isConnected?Te:void 0,onModelComponentFocus:a.isConnected?$e:void 0,onModelComponentHover:rt,modelComponentNames:_e,modelPanelHoveredComponent:ht,modelSpacingTokenHover:Q,highlightedAnnotationIds:rn,focusedThreadAnnotationId:ae==null?void 0:ae.id,externalCanvasRef:d,toolbarRef:c}),qr(nd,{children:pd(ed,{children:[qr(Kc,{state:i,dispatch:l,onScreenshot:Kt,onSendToClaude:a.isConnected?Xt:void 0,hasActiveJobs:Object.keys(fe).length>0||a.activeJobIds.length>0,activeJobColor:an,onCrosshairHover:Ve,onClear:Yn,provider:w,onProviderChange:a.isConnected&&O.length>1?Se:void 0,availableProviders:O,modelIndex:N,modelCount:R.length,modelLabel:ie.label,onModelChange:a.isConnected?Pe:void 0,onViewThread:a.isConnected?Go:void 0,isThreadPanelOpen:Ke!==null&&!D&&!On,mcpStatus:B,bridgeUrl:u,isBridgeConnected:a.isConnected,packageVersion:ki,bridgeVersion:A,bridgeRestartState:be,bridgeRestartMessage:de,onBridgeRestart:Qo,modelSelectedComponent:Oe,modelCanvasHoveredComponent:Fe,onModelComponentHover:Jt,onSpacingTokenHover:ne,onModifySpacingToken:a.isConnected?ye:void 0,onDeleteSpacingToken:a.isConnected?ct:void 0,modelRefreshKey:Ot,onModelComponentAdded:pt,onModelComponentRemoved:Je,onSynthesizeRules:a.isConnected&&w!=="copilot"?sn:void 0,isSynthesizing:Ge!==null,onSynthesizeEvals:a.isConnected&&w!=="copilot"?$n:void 0,isSynthesizingEvals:se!==null,onRunEval:a.isConnected&&w!=="copilot"?wo:void 0,onViewEvalRunThread:Po,runningEvalIds:Object.keys(en),evalRefreshKey:Me,toolbarRef:c,snapPosition:Vt,onSnapPositionChange:xo}),Ke&&qr(dd,{threadId:Ke,bridgeUrl:u,accentColor:ke,isStreaming:ge!==null,isQueued:ge!==null&&!a.activeJobIds.includes(ge),queuePosition:ge&&!a.activeJobIds.includes(ge)?(()=>{let S=new Set(a.activeJobIds),P=Object.keys(fe).filter(ue=>!S.has(ue)),le=P.indexOf(ge);return le>=0?`(${le+1}/${P.length})`:void 0})():void 0,streamingEvents:Ie,onClose:()=>Tt(null),onReply:In,onCancel:ge?()=>ao(ge):void 0,lastError:(pi=(kr=a.lastErrorByJob)==null?void 0:kr[ge!=null?ge:""])!=null?pi:a.lastCompletedJobId&&St.current.get(a.lastCompletedJobId)===Ke?(ui=a.lastErrorByJob)==null?void 0:ui[a.lastCompletedJobId]:void 0,toolbarRef:c,currentModel:ie.id,currentProvider:w,annotationNumber:He,annotationText:ae==null?void 0:ae.text,onOpenEvals:Ke===Re?V:void 0,preferredSide:On?"left":"right",modal:!On},`${Ke}:${On?"eval":"default"}`),qr(Qc,{bridge:a,bridgeUrl:u,inFlightJobs:fe,isVisible:Ne||a.lastResponseText!==null||a.activeJobIds.length>0,onHover:Ve,clearSignal:qt,onReply:In,onViewThread:Go,onClickJob:so,onCancel:ao,onHoverJob:Er,isConnected:a.isConnected,dismissedThreadIds:So,snapPosition:Vt})]})})]})}function nh(){let e=Xm(Ea);if(!e)throw new Error("usePopmelt must be used within PopmeltProvider");return e}export{th as PopmeltProvider,nh as usePopmelt};