@popmelt.com/core 0.6.7 → 0.6.8

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,21 @@
1
1
  "use client";
2
- var Yc=Object.defineProperty,Jc=Object.defineProperties;var Uc=Object.getOwnPropertyDescriptors;var jr=Object.getOwnPropertySymbols;var ca=Object.prototype.hasOwnProperty,da=Object.prototype.propertyIsEnumerable;var la=(e,t,n)=>t in e?Yc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))ca.call(t,n)&&la(e,n,t[n]);if(jr)for(var n of jr(t))da.call(t,n)&&la(e,n,t[n]);return e},h=(e,t)=>Jc(e,Uc(t));var bo=e=>typeof e=="symbol"?e:e+"",Gn=(e,t)=>{var n={};for(var r in e)ca.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&jr)for(var r of jr(e))t.indexOf(r)<0&&da.call(e,r)&&(n[r]=e[r]);return n};import{createContext as Ug,useCallback as Kt,useContext as Vg,useEffect as $t,useMemo as lo,useRef as qt,useState as Zt}from"react";import{useCallback as wa,useEffect as Vc,useSyncExternalStore as Xc}from"react";var _n="http://localhost:1111";function Mn(e,t={},n=15e3){let r=new AbortController;t.signal&&t.signal.addEventListener("abort",()=>r.abort());let o=setTimeout(()=>r.abort(),n);return fetch(e,h(f({},t),{signal:r.signal})).finally(()=>clearTimeout(o))}async function pa(e=_n){try{let t=await Mn(`${e}/capabilities`,{},5e3);return t.ok?await t.json():null}catch(t){return null}}async function Qo(e=_n){try{let t=new AbortController,n=setTimeout(()=>t.abort(),2e3),r=await fetch(`${e}/status`,{signal:t.signal});return clearTimeout(n),r.ok?await r.json():null}catch(t){return null}}async function ua(e){try{let t=new AbortController,n=setTimeout(()=>t.abort(),500),r=await fetch(`http://localhost:${e}/status`,{signal:t.signal});return clearTimeout(n),r.ok?await r.json():null}catch(t){return null}}async function fa(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 o=typeof window!="undefined"?window.location.origin:null,i=await ua(1111);if(i&&i.devOrigin&&o&&i.devOrigin===o)return{url:"http://localhost:1111",port:1111};let s=Array.from({length:8},(d,c)=>{let p=1112+c;return ua(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(o){let d=l.find(c=>c.devOrigin===o);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 Gr(e=_n,t,n=-1){try{let r=await Mn(`${e}/jobs/${t}/events?afterSeq=${n}`,{},5e3);return r.ok?await r.json():null}catch(r){return null}}async function ga(e,t,n=_n,r,o,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),r&&l.append("color",r),o&&l.append("provider",o),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 Mn(`${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 ma(e=_n,t){try{let n=await Mn(`${e}/mcp/install`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t?{serverUrl:t}:{})},15e3);return n.ok?await n.json():null}catch(n){return null}}async function ha(e,t=_n){let n=await Mn(`${t}/model/component`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})},1e4);if(!n.ok){let r=await n.text();throw new Error(`Bridge returned ${n.status}: ${r}`)}return n.json()}async function ya(e,t=_n){let n=await Mn(`${t}/model/component`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})},1e4);if(!n.ok){let r=await n.text();throw new Error(`Bridge returned ${n.status}: ${r}`)}return n.json()}async function Ai(e,t,n=_n){let r=await Mn(`${n}/model/token`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,value:t})},1e4);if(!r.ok){let o=await r.text();throw new Error(`Bridge returned ${r.status}: ${o}`)}return r.json()}async function ba(e,t=_n){let n=await Mn(`${t}/model/token`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})},1e4);if(!n.ok){let r=await n.text();throw new Error(`Bridge returned ${n.status}: ${r}`)}return n.json()}async function er(e=_n){var t;try{let n=await Mn(`${e}/model`,{},5e3);return n.ok&&(t=(await n.json()).model)!=null?t:null}catch(n){return null}}async function xa(e=_n){try{return(await Mn(`${e}/restart`,{method:"POST"},5e3)).ok||await Mn(`${e}/shutdown`,{method:"POST"},5e3),!0}catch(t){try{await Mn(`${e}/shutdown`,{method:"POST"},5e3)}catch(n){}return!0}}async function va(e=_n,t,n){let r=await Mn(`${e}/model/synthesize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:t,model:n})},1e4);if(!r.ok){let o=await r.text();throw new Error(`Bridge returned ${r.status}: ${o}`)}return r.json()}async function Sa(e,t,n=_n,r,o,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:r,provider:o,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 Mn(`${n}/reply`,{method:"POST",body:d},3e4)}else l=await Mn(`${n}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({threadId:e,reply:t,color:r,provider:o,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 Vr={};var Do=typeof Vr!="undefined"?Vr.hot:void 0,Ea,ka,Ta,Xr=(Ta=(ka=(Ea=Do==null?void 0:Do.data)==null?void 0:Ea.sourceId)!=null?ka:typeof localStorage!="undefined"&&localStorage.getItem("popmelt-source-id"))!=null?Ta:typeof crypto!="undefined"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2);Do!=null&&Do.data&&(Do.data.sourceId=Xr);try{typeof localStorage!="undefined"&&localStorage.setItem("popmelt-source-id",Xr)}catch(e){}function Bi(){return Xr}var _o=typeof Vr!="undefined"?Vr.hot:void 0,un=_o==null?void 0:_o.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},Ma,or=(Ma=un==null?void 0:un.store)!=null?Ma:f({},Kc),Ia,Yr=(Ia=un==null?void 0:un.listeners)!=null?Ia:new Set,Ra,Oo=(Ra=un==null?void 0:un.activeEs)!=null?Ra:null,La,Oi=(La=un==null?void 0:un.activeBridgeUrl)!=null?La:null,Ao=null,Aa,Jr=(Aa=un==null?void 0:un.connectionGeneration)!=null?Aa:0;_o!=null&&_o.data&&Object.defineProperties(_o.data,{store:{get:()=>or,configurable:!0},listeners:{get:()=>Yr,configurable:!0},activeEs:{get:()=>Oo,configurable:!0},activeBridgeUrl:{get:()=>Oi,configurable:!0},connectionGeneration:{get:()=>Jr,configurable:!0},discoveredBridgeUrl:{get:()=>Bo,configurable:!0}});var Ur=new Set,nr=new Map,xo={};function Po(e,t){var r;if(!e)return!1;if(Ur.has(e)){let o=nr.get(e);return o||(o=[],nr.set(e,o)),o.push({type:(r=t.type)!=null?r:"",data:t}),!0}let n=xo[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function qc(e,t,n){let r=()=>n!==Jr;for(let o of t){if(r())return;Ur.add(o),nr.set(o,[])}await Promise.all(t.map(async o=>{var i;try{let s=await Gr(e,o);if(r())return;let a=(i=nr.get(o))!=null?i:[];if(s){if(en(l=>{let d=h(f({},l.jobResponses),{[o]:s.accumulated.response}),c=h(f({},l.jobThinking),{[o]: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:o===l.activeJobId?s.accumulated.response:l.currentResponse,currentThinking:o===l.activeJobId?s.accumulated.thinking:l.currentThinking,events:p})}),xo[o]=s.currentSeq,!s.jobActive){let l=s.events.find(d=>d.type==="done"||d.type==="error");l&&Pi(l.type,l,o)}for(let l of a)typeof l.data.seq=="number"&&l.data.seq<=s.currentSeq||Pi(l.type,l.data,o)}else for(let l of a)Pi(l.type,l.data,o)}finally{Ur.delete(o),nr.delete(o)}}))}function Pi(e,t,n){var r;if(e==="delta"){let o=t.text||"";en(i=>h(f({},i),{jobResponses:h(f({},i.jobResponses),{[n]:(i.jobResponses[n]||"")+o}),currentResponse:n===i.activeJobId?i.currentResponse+o:i.currentResponse,events:[...i.events,{type:"delta",data:t,timestamp:Date.now()}]}))}else if(e==="thinking"){let o=t.text||"";en(i=>h(f({},i),{jobThinking:h(f({},i.jobThinking),{[n]:(i.jobThinking[n]||"")+o}),currentThinking:n===i.activeJobId?i.currentThinking+o:i.currentThinking,events:[...i.events,{type:"thinking",data:t,timestamp:Date.now()}]}))}else if(e==="done")delete xo[n],en(o=>{var c;let i=o.activeJobIds.filter(p=>p!==n),s=f({},o.jobResponses),a=f({},o.jobThinking),l=s[n];delete s[n],delete a[n];let d=n===o.activeJobId?i.length>0?i[i.length-1]:null:o.activeJobId;return h(f(h(f({},o),{activeJobIds:i,activeJobId:d,jobResponses:s,jobThinking:a,lastCompletedJobId:n,lastResponseText:l||o.currentResponse||t.responseText||null,lastThreadId:(c=t.threadId)!=null?c:null}),n===o.activeJobId?{currentResponse:d&&s[d]||"",currentThinking:d&&a[d]||""}:{}),{events:[...o.events,{type:"done",data:t,timestamp:Date.now()}]})});else if(e==="error"){delete xo[n];let o=(r=t.message)!=null?r:"";en(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:o?h(f({},i.lastErrorByJob),{[n]:o}):i.lastErrorByJob,events:[...i.events,{type:"error",data:t,timestamp:Date.now()}]})})}else en(o=>h(f({},o),{events:[...o.events,{type:e,data:t,timestamp:Date.now()}]}))}var Pa,Bo=(Pa=un==null?void 0:un.discoveredBridgeUrl)!=null?Pa:null,tr=null;async function Zc(e){return e&&e!=="http://localhost:1111"?(Bo=e,e):Bo||tr||(tr=fa(e).then(n=>{var r;return Bo=(r=n==null?void 0:n.url)!=null?r:null,tr=null,Bo}).catch(()=>(tr=null,null)),tr)}function Oa(){return Bo}function Ca(){return or}function Qc(e){return Yr.add(e),()=>{Yr.delete(e)}}function en(e){or=e(or);for(let t of Yr)t()}function Ba(e){if(Oo&&Oo.readyState!==EventSource.CLOSED&&Oi===e)return;Oo&&(Oo.close(),Oo=null),Ao&&(clearTimeout(Ao),Ao=null),Oi=e;let t=++Jr,n=new EventSource(`${e}/events?sourceId=${Xr}`);Oo=n;let r=()=>t!==Jr;n.addEventListener("connected",()=>{r()||Qo(e).then(o=>{var u,g;if(r())return;let i=(u=o==null?void 0:o.activeJobs)!=null?u:o!=null&&o.activeJob?[o.activeJob]:[],s=new Set(i.map(b=>b.id)),a=(g=o==null?void 0:o.recentJobs)!=null?g:[],l=new Map(a.map(b=>[b.id,b])),d=i.length>0;en(b=>{let v=f({},b.lastErrorByJob),R=b.activeJobIds.filter(L=>!s.has(L));for(let L of R){let A=l.get(L);(A==null?void 0:A.status)==="error"&&A.error&&(v[L]=A.error)}let C=b.activeJobIds.filter(L=>s.has(L));for(let L of s)C.includes(L)||C.push(L);let G={};for(let L of i)L.threadId&&(G[L.id]=L.threadId);return h(f({},b),{isConnected:!0,status:d?"streaming":R.length>0||b.status==="disconnected"?"idle":b.status,activeJobId:d?i[i.length-1].id:C.length>0?C[C.length-1]:null,activeJobIds:C,activeJobThreads:G,lastErrorByJob:v,lastCompletedJobId:R.length>0?R[R.length-1]:b.lastCompletedJobId})});let c=or.activeJobIds.filter(b=>!s.has(b)),p=[...Array.from(s),...c];p.length>0&&qc(e,p,t).catch(()=>{})})}),n.addEventListener("job_started",o=>{if(r())return;let i=JSON.parse(o.data),s=i.jobId;if(Po(s,i))return;let a=i.threadId;en(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",o=>{if(r())return;let i=JSON.parse(o.data),s=i.jobId;if(Po(s,i))return;let a=i.text||"";en(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",o=>{if(r())return;let i=JSON.parse(o.data),s=i.jobId;if(Po(s,i))return;let a=i.text||"";en(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",o=>{if(r())return;let i=JSON.parse(o.data),s=i.jobId;Po(s,i)||en(a=>h(f({},a),{events:[...a.events,{type:"tool_use",data:i,timestamp:Date.now()}]}))}),n.addEventListener("done",o=>{if(r())return;let i=JSON.parse(o.data),s=i.jobId;Po(s,i)||(s&&delete xo[s],en(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",o=>{if(r())return;let i=JSON.parse(o.data),s=i.jobId;Po(s,i)||en(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",()=>{r()||en(o=>h(f({},o),{capabilitiesVersion:o.capabilitiesVersion+1}))}),n.addEventListener("queue_drained",()=>{if(!r()){for(let o of Object.keys(xo))delete xo[o];Ur.clear(),nr.clear(),en(o=>h(f({},o),{status:o.status==="error"?"error":"idle",activeJobId:null,activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastErrorByJob:{},incrementalResolutions:[]}))}}),n.addEventListener("error",o=>{var i,s;if(!r()){if(n.readyState===EventSource.CLOSED)en(a=>h(f({},a),{isConnected:!1,status:"disconnected"})),Ao&&(clearTimeout(Ao),Ao=null),Ao=setTimeout(()=>{Qo(e).then(a=>{a&&Ba(e)})},5e3);else if(o instanceof MessageEvent){let a=JSON.parse(o.data),l=(i=a.jobId)!=null?i:null;if(Po(l!=null?l:void 0,a))return;l&&delete xo[l];let d=(s=a.message)!=null?s:"";en(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=()=>{r()||n.readyState===EventSource.CLOSED&&en(o=>h(f({},o),{isConnected:!1,status:"disconnected"}))}}function Da(e="http://localhost:1111",t=!0){let n=Xc(Qc,Ca,Ca);Vc(()=>{t&&Zc(e).then(i=>{i&&Qo(i).then(s=>{s&&Ba(i)})})},[e,t]);let r=wa(()=>{en(()=>h(f({},or),{events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),o=wa(i=>{en(s=>h(f({},s),{pendingQuestions:s.pendingQuestions.filter(a=>a.threadId!==i)}))},[]);return h(f({},n),{clearEvents:r,dismissQuestion:o})}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 Kr(){return Math.random().toString(36).substring(2,9)}function _a(e){return e.status?e:e.captured?h(f({},e),{status:"in_flight"}):h(f({},e),{status:"pending"})}function In(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:Kr(),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},r=In(e);return h(f({},r),{annotations:[...e.annotations,n],currentPath:[]})}function ud(e,t){var o;let n=f({id:(o=t.id)!=null?o:Kr(),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}:{}),r=t.groupId?e:In(e);return h(f({},r),{annotations:[...e.annotations,n]})}function pd(e,t){let n=In(e);return h(f({},n),{annotations:e.annotations.map(r=>r.id===t.id?f(h(f({},r),{text:t.text}),t.imageCount!=null?{imageCount:t.imageCount}:{}):r)})}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=In(e),r=e.annotations.find(i=>i.id===t.id),o=r==null?void 0:r.groupId;return h(f({},n),{annotations:e.annotations.filter(i=>i.id!==t.id&&!(o&&i.groupId===o))})}function md(e,t){let n=t.saveUndo?In(e):e,r=e.annotations.find(i=>i.id===t.id),o=r==null?void 0:r.groupId;return h(f({},n),{annotations:e.annotations.map(i=>{if(!(i.id===t.id||o&&i.groupId===o))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?In(e):e,r=e.annotations.find(s=>s.id===t.id);if(!r||r.type==="text"||r.points.length<2)return e;let o=0,i=0;if(r.type==="rectangle"&&r.groupId){let s=t.points,a=Math.min(s[0].x,s[1].x),l=Math.max(s[0].y,s[1].y),d=r.points[0],c=r.points[r.points.length-1],p=Math.min(d.x,c.x),u=Math.max(d.y,c.y);o=a-p,i=l-u}return h(f({},n),{annotations:e.annotations.map(s=>s.id===t.id?h(f({},s),{points:t.points}):r.groupId&&s.groupId===r.groupId&&s.type==="text"?h(f({},s),{points:s.points.map(a=>({x:a.x+o,y:a.y+i}))}):s)})}function yd(e,t){let n=In(e);return h(f({},n),{annotations:[...e.annotations,...t.annotations.map(_a)]})}function bd(e,t){let n=new Set,r=[];for(let o of t.annotations)n.has(o.id)||(n.add(o.id),r.push(_a(o)));return h(f({},e),{annotations:r})}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:r}=t;if(n===null)return h(f({},e),{selectedAnnotationIds:[],lastSelectedId:null});if(r)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 r of e.selectedAnnotationIds){let o=e.annotations.find(i=>i.id===r);o!=null&&o.groupId&&n.add(o.groupId)}return h(f({},e),{annotations:e.annotations.map(r=>{let o=e.selectedAnnotationIds.includes(r.id),i=r.groupId&&n.has(r.groupId);return!o&&!i?r:h(f({},r),{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:r,property:o,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=In(e),b=g.styleModifications.map((v,R)=>R===a?h(f({},v),{changes:[{property:o,original:i,modified:s}],captured:!1}):v);return h(f({},g),{styleModifications:b})}let d=l.changes.findIndex(g=>g.property===o),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=In(e),c=[...l.changes,{property:o,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=In(e),d={selector:n,element:r,changes:[{property:o,original:i,modified:s}]};return h(f({},l),{styleModifications:[...l.styleModifications,d]})}}function Md(e,t){let{selector:n,durableSelector:r,element:o,changes:i}=t,s=i.filter(d=>d.original!==d.modified);if(s.length===0)return e;let a=In(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:r,element:o,changes:s}]})}function Id(e,t){let{selector:n,property:r}=t,o=In(e),i=o.styleModifications.map(s=>s.selector!==n?s:h(f({},s),{changes:s.changes.filter(a=>a.property!==r)})).filter(s=>s.changes.length>0);return h(f({},o),{styleModifications:i})}function Rd(e){if(e.styleModifications.length===0)return h(f({},e),{inspectedElement:null});let t=In(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,r=new Map(n.map(o=>[o.id,o]));return h(f({},e),{annotations:e.annotations.map(o=>{let i=r.get(o.id);return i?f(h(f({},o),{points:[i.point,...o.points.slice(1)]}),i.linkedAnchor?{linkedAnchor:i.linkedAnchor}:{}):o})})}function Pd(e,t){let n=new Set(t.ids);return h(f({},e),{annotations:e.annotations.map(r=>n.has(r.id)?h(f({},r),{status:t.status}):r)})}function Od(e,t){let n=new Set(t.ids),r=new Set;for(let o of e.annotations)n.has(o.id)&&o.groupId&&r.add(o.groupId);return h(f({},e),{annotations:e.annotations.map(o=>n.has(o.id)||o.groupId&&r.has(o.groupId)?h(f({},o),{threadId:t.threadId}):o)})}function Bd(e,t){let n=new Set(t.ids),r=new Set;for(let o of e.annotations)n.has(o.id)&&o.groupId&&r.add(o.groupId);return h(f({},e),{annotations:e.annotations.map(o=>n.has(o.id)||o.groupId&&r.has(o.groupId)?h(f({},o),{status:"waiting_input",question:t.question,threadId:t.threadId}):o)})}function Dd(e,t){let n=new Map(t.resolutions.map(o=>[o.annotationId,o])),r=new Map;for(let o of e.annotations){let i=n.get(o.id);i&&o.groupId&&r.set(o.groupId,i)}return h(f({},e),{annotations:e.annotations.map(o=>{var s,a,l;let i=n.get(o.id)||(o.groupId?r.get(o.groupId):void 0);return i?h(f({},o),{status:i.status,resolutionSummary:i.summary,scope:(a=(s=i.finalScope)!=null?s:i.inferredScope)!=null?a:null,replyCount:((l=o.replyCount)!=null?l:0)+1,question:void 0,threadId:o.threadId||t.threadId}):o})})}function _d(e,t){let{linkedSelectors:n,styleSelectors:r}=t,o=new Set(n),i=new Set(r),s=new Set,a=new Set;for(let u of e.annotations)u.linkedSelector&&o.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(r=>r.tokenPath===t.tokenPath);return n>=0?h(f({},e),{spacingTokenChanges:e.spacingTokenChanges.map((r,o)=>o===n?t:r)}):h(f({},e),{spacingTokenChanges:[...e.spacingTokenChanges,t]})}function Hd(e,t){return h(f({},e),{spacingTokenChanges:t})}function Fd(e,t){let n=In(e),r=e.spacingTokenMods.findIndex(i=>i.tokenPath===t.tokenPath),o;if(r>=0){let i=e.spacingTokenMods[r],s=h(f({},t),{originalValue:i.originalValue,originalPx:i.originalPx});o=e.spacingTokenMods.map((a,l)=>l===r?s:a)}else o=[...e.spacingTokenMods,t];return h(f({},n),{spacingTokenMods:o})}function $d(e,t){let n=In(e),r=e.spacingTokenMods.findIndex(l=>l.tokenPath===t.tokenPath),o=r>=0?e.spacingTokenMods[r].originalValue:t.originalValue,i=r>=0?e.spacingTokenMods[r].originalPx:parseFloat(t.originalValue)||0,s={tokenPath:t.tokenPath,originalValue:o,currentValue:"__deleted__",targets:r>=0?e.spacingTokenMods[r].targets:[],originalPx:i,currentPx:0},a;return r>=0?a=e.spacingTokenMods.map((l,d)=>d===r?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 Na(){let[e,t]=td(Wd,nd);return ed(()=>{let n=r=>{(r.metaKey||r.ctrlKey)&&r.key==="z"&&(r.preventDefault(),r.shiftKey?t({type:"REDO"}):t({type:"UNDO"}))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[]),[e,t]}import{useSyncExternalStore as jd}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 r=window.location.pathname;t.apply(this,n),window.dispatchEvent(new CustomEvent("popmelt:locationchange",{detail:{prevPath:r}}))}}}function Gd(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 rr(){return jd(Gd,Yd,()=>"/")}var Ha="popmelt-toolbar-snap-position";function No(e){return e.startsWith("top-")}function Ho(e){return e.endsWith("-right")}function Mr(e){return e.endsWith("-center")}function Fa(){try{let e=localStorage.getItem(Ha);if(e&&Jd(e))return e}catch(e){}return"bottom-right"}function $a(e){try{localStorage.setItem(Ha,e)}catch(t){}}function Jd(e){return["bottom-right","bottom-center","bottom-left","top-right","top-center","top-left"].includes(e)}function za(e,t,n){let r=No(e)?16:n-16-54;return Mr(e)?{position:"fixed",top:r,left:t/2,transform:"translateX(-50%)"}:Ho(e)?{position:"fixed",top:r,right:16,left:"auto"}:{position:"fixed",top:r,left:16,right:"auto"}}function Wa(e,t,n){let o=No(e)?{top:82}:{bottom:82},i;return Mr(e)?i={left:t/2,transform:"translateX(-50%)"}:Ho(e)?i={right:16}:i={left:16},f(f({position:"fixed"},o),i)}function ja(e,t,n){let r=No(e),o=r?{top:78}:{bottom:78},i,s;return Mr(e)?(i={left:"50%",transform:"translateX(-50%)"},s="center"):Ho(e)?(i={right:16},s="flex-end"):(i={left:16},s="flex-start"),h(f(f({position:"fixed"},o),i),{zIndex:9999,display:"flex",flexDirection:"column",alignItems:s})}function Ga(e){let t=No(e),n=Ho(e)||Mr(e);return{position:"fixed",top:t&&n?82:16,right:16,bottom:!t&&n?82:16}}function Ya(e,t,n){let o=No(e),i,s;Ho(e)||Mr(e)?(i=t-16,s=i-326):(s=16,i=s+326);let a=o?82:n-16-54-12;return{left:s,right:i,y:a}}var Ja=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"];import{domToCanvas as Ud}from"modern-screenshot";function Di(e){let t=document.createElement("canvas").getContext("2d");return t?(t.fillStyle=e,t.fillStyle):"#888888"}function _i(e,t=[],n,r){let o=new Map,i=[];for(let a of e)if(a.groupId){let l=o.get(a.groupId)||[];l.push(a),o.set(a.groupId,l)}else i.push(a);let s=[];for(let[a,l]of o){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}:{}),r&&r.length>0?{spacingTokenChanges:r}:{})}function Vd(e){if(!e.points||e.points.length===0)return null;let t=e.points.map(r=>r.x),n=e.points.map(r=>r.y);return{minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)}}function 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 r=Math.min(...n.map(c=>c.bounds.minY)),o=Math.max(...n.map(c=>c.bounds.maxY));if(o-r<=t){let c=(r+o)/2,p=Math.max(0,c-t/2);return[{top:p,bottom:p+t,annotations:e}]}let i=[],s=50,a=Math.max(0,r-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 r=document.querySelector(n.linkedSelector);if(r){let o=r.getBoundingClientRect();t.set(n.id,{x:o.left+window.scrollX,y:o.top+window.scrollY,width:o.width,height:o.height})}}catch(r){}return t}function qd(e,t,n,r,o){if(e.save(),e.scale(r,r),o)for(let i of t){let s=o.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 Ir(e,t,n=[],r){var o;try{let i=(o=r==null?void 0:r.dpr)!=null?o: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 Ua(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 Ua(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 Ua(e,t,n,r,o,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:r,height:o,style:{transform:`translate(${-window.scrollX}px, ${-n}px)`}}),c=document.createElement("canvas");c.width=r*i,c.height=o*i;let p=c.getContext("2d");return p?(p.drawImage(d,0,0,r*i,o*i,0,0,r*i,o*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 Rr(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,r=t.reduce((a,l)=>a+l.height,0),o=document.createElement("canvas");o.width=n,o.height=r;let i=o.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=>{o.toBlob(l=>a(l),"image/webp",.8)})}async function Va(e,t,n){try{let r=Array.isArray(e)?e:[e];if(r.length===0)return!1;let o=await Rr(r);if(!o)return!1;let i=o;if(o.type!=="image/png"){let d=new Image,c=URL.createObjectURL(o);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=_i(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(r){return console.warn("Clipboard write failed:",r),!1}}import{useCallback as nn,useEffect as yn,useMemo as hi,useRef as Yt,useState as bt}from"react";import{useCallback as ar,useRef as Qd}from"react";function Ni(e,t,n,r){if(t.length<2)return;let o=t[0],i=t[t.length-1];if(!o||!i)return;let s=(o.x+i.x)/2,a=(o.y+i.y)/2,l=Math.abs(i.x-o.x)/2,d=Math.abs(i.y-o.y)/2;e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.ellipse(s,a,l,d,0,0,Math.PI*2),e.stroke()}function Hi(e,t,n,r){if(t.length<2)return;let o=t[0],i=t[t.length-1];if(!(!o||!i)){e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.lineCap="round",e.lineJoin="round",e.moveTo(o.x,o.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 Fi(e,t,n,r){if(t.length<2)return;let o=t[0],i=t[t.length-1];!o||!i||(e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.lineCap="round",e.moveTo(o.x,o.y),e.lineTo(i.x,i.y),e.stroke())}function $i(e,t,n,r){if(t.length<2)return;let o=t[0],i=t[t.length-1];if(!o||!i)return;let s=Math.min(o.x,i.x),a=Math.min(o.y,i.y),l=Math.abs(i.x-o.x),d=Math.abs(i.y-o.y);e.beginPath(),e.strokeStyle=n,e.lineWidth=r,e.lineCap="round",e.lineJoin="round",e.strokeRect(s,a,l,d)}var Vt='"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';function Zd(e,t,n){if(!t||e.measureText(t).width<=n)return[t];let r=t.split(/\s+/),o=[],i="";for(let s of r){let a=i?i+" "+s:s;i&&e.measureText(a).width>n?(o.push(i),i=s):i=a}return i&&o.push(i),o.length>0?o:[t]}function ir(e){let t=window.innerWidth-e-16;return Math.max(60,Math.min(400,t))}function Xa(e,t,n){let r=[];for(let o of t)r.push(...Zd(e,o,n));return r}function sr(e,t,n){if(e.measureText(t).width<=n)return t;let r="\u2026";for(let o=t.length-1;o>0;o--){let i=t.slice(0,o)+r;if(e.measureText(i).width<=n)return i}return r}function Ka(e,t,n,r,o=12,i,s){if(!n)return;let a=o*1.4,l=n.replace(/\n/g," "),d=i!==void 0?i+". "+l:l;e.font=`${o}px ${Vt}`,e.textBaseline="middle";let c=s!==void 0?Math.min(400,Math.max(60,window.innerWidth-s-16)):400,p=sr(e,d,c),u=e.measureText(p).width;e.fillStyle=r,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 qa=11,zi=4,eu=`600 ${qa}px system-ui, -apple-system, sans-serif`;function Wi(e,t,n){return e.map(r=>({x:r.x-t,y:r.y-n}))}function tu(e,t,n,r,o,i){let s=String(r);e.font=eu;let l=e.measureText(s).width+zi*2,d=qa+zi*2,c=t-l/2,p=n+i/2+2;e.fillStyle=o,e.fillRect(c,p,l,d),e.fillStyle="#ffffff",e.textBaseline="middle",e.fillText(s,c+zi,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,r;if(e.type==="freehand")n=Math.min(...e.points.map(o=>o.x)),r=Math.max(...e.points.map(o=>o.y));else{let o=e.points[0],i=e.points[e.points.length-1];n=Math.min(o.x,i.x),r=Math.max(o.y,i.y)}return{x:n,y:r}}case"circle":{let n=e.points[0],r=e.points[e.points.length-1],o=Math.min(n.x,r.x),i=(Math.min(n.y,r.y)+Math.max(n.y,r.y))/2;return{x:o,y:i}}case"line":{let n=e.points[0],r=e.points[e.points.length-1],o=n.y>r.y?n:r;return{x:o.x,y:o.y}}default:return null}}function Za(){let e=Qd(null),t=ar(()=>{let a=e.current;if(!a)return;let l=a.getContext("2d");l&&l.clearRect(0,0,a.width,a.height)},[]),n=ar((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":Hi(p,a.points,g,a.strokeWidth);break;case"line":Fi(p,a.points,g,a.strokeWidth);break;case"rectangle":$i(p,a.points,g,a.strokeWidth);break;case"circle":Ni(p,a.points,g,a.strokeWidth);break;case"text":a.text&&a.points[0]&&Ka(p,a.points[0],a.text,g,a.fontSize,l,a.points[0].x);break}},[]),r=ar((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":Hi(u,a,d,c);break;case"line":Fi(u,a,d,c);break;case"rectangle":$i(u,a,d,c);break;case"circle":Ni(u,a,d,c);break}},[]),o=ar((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),R=Math.max(p.y,u.y),C=(g+b)/2,G=(v+R)/2;[{x:C,y:v},{x:C,y:R},{x:g,y:G},{x:b,y:G}].forEach(A=>{c.beginPath(),c.rect(A.x-l/2,A.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(R=>R.x)),u=Math.max(...a.points.map(R=>R.x)),g=Math.min(...a.points.map(R=>R.y)),b=Math.max(...a.points.map(R=>R.y));else{let R=a.points[0],C=a.points[a.points.length-1];p=Math.min(R.x,C.x),u=Math.max(R.x,C.x),g=Math.min(R.y,C.y),b=Math.max(R.y,C.y)}[{x:p,y:g},{x:u,y:g},{x:p,y:b},{x:u,y:b}].forEach(R=>{c.beginPath(),c.rect(R.x-l/2,R.y-l/2,l,l),c.fill(),c.stroke()})}}},[]),i=ar((a,l,d,c,p,u,g,b=0,v=0,R,C)=>{var G;if(t(),a.forEach(L=>{var ie;let A=h(f({},L),{points:Wi(L.points,b,v)}),E=R==null?void 0:R.get(L.id),_=(ie=C==null?void 0:C.has(L.id))!=null?ie:!1;n(A,E,_)}),l.length>0){let L=Wi(l,b,v);r(L,d,c,p)}if(u&&u.length>0&&g){let L=e.current,A=L==null?void 0:L.getContext("2d");for(let E of u){let _=a.find(ie=>ie.id===E);if(_){let ie=h(f({},_),{points:Wi(_.points,b,v)});if(o(ie,g),A&&_.type!=="text"&&R&&!(_.groupId&&a.some(Y=>Y.groupId===_.groupId&&Y.type==="text"))){let Y=R.get(_.id);if(Y!==void 0){let K=nu(ie,g);if(K){let ee=((G=_.status)!=null?G:_.captured?"in_flight":"pending")==="pending"?_.color:"#999999";tu(A,K.x,K.y,Y,ee,g)}}}}}}},[t,n,r,o]),s=ar(()=>{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:r,redrawAll:i,resizeCanvas:s}}import{useEffect as ou,useRef as ru}from"react";function Qa(){let e=ru({shift:!1,cmd:!1});return ou(()=>{let t=o=>{o.key==="Shift"&&(e.current.shift=!0),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!0)},n=o=>{o.key==="Shift"&&(e.current.shift=!1),(o.key==="Meta"||o.key==="Control")&&(e.current.cmd=!1)},r=()=>{e.current={shift:!1,cmd:!1}};return window.addEventListener("keydown",t,!0),window.addEventListener("keyup",n,!0),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",t,!0),window.removeEventListener("keyup",n,!0),window.removeEventListener("blur",r)}},[]),e}import{useEffect as iu}from"react";function el(e,t,n,r,o){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=r.find(l=>l.id===n);if(a&&a.type==="text"&&!a.linkedSelector){let l=a.fontSize||12,d=s.deltaY>0?-2:2;o({type:"UPDATE_TEXT_SIZE",payload:{id:n,fontSize:l+d}})}};return window.addEventListener("wheel",i,{passive:!1}),()=>{window.removeEventListener("wheel",i)}},[n,e,r,o,t])}import{useCallback as gl,useEffect as ai,useRef as ml,useState as _r}from"react";function qr(e){let t=Object.keys(e).find(o=>o.startsWith("__reactFiber$")||o.startsWith("__reactInternalInstance$"));if(!t)return null;let n=e[t],r=[];for(;n;){let o=n.type,i=(o==null?void 0:o.displayName)||(o==null?void 0:o.name);i&&typeof i=="string"&&/^[A-Z]/.test(i)&&!i.startsWith("_")&&i!=="Fragment"&&r.unshift(i),n=n.return}return r.length>0?{name:r[r.length-1],path:r}:null}function ji(e){let t=Object.keys(e).find(o=>o.startsWith("__reactFiber$")||o.startsWith("__reactInternalInstance$"));if(!t)return[];let n=e[t],r=[];for(;n;){let o=n.type,i=typeof o=="function"||typeof o=="object"?(o==null?void 0:o.displayName)||(o==null?void 0:o.name):null;i&&typeof i=="string"&&/^[A-Z]/.test(i)&&!i.startsWith("_")&&i!=="Fragment"&&r.push({name:i,fiber:n}),n=n.return}return r.reverse(),r}function Zr(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 tl(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 Nn(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 r=n.tagName.toLowerCase();if(n.id&&!n.id.startsWith("radix-")&&!n.id.startsWith(":")){t.unshift(`#${CSS.escape(n.id)}`);break}let o=Array.from(n.classList).filter(s=>!s.startsWith("_")&&s.length<30).slice(0,2);o.length>0&&(r+="."+o.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;r+=`:nth-of-type(${a})`}}t.unshift(r),n=i}return t.join(" > ")}function wn(e){try{return document.querySelector(e)}catch(t){return null}}function Qr(e,t=0){var l;let n=ji(e);if(n.length===0)return null;let r=n.map(d=>d.name),o=n.length-1,i=Math.max(0,Math.min(n.length-1,o-t)),s=n[i],a=(l=Zr(s.fiber))!=null?l:e;return{name:s.name,path:r,depthIndex:i,rootElement:a}}function nl(e,t){var i,s;let n=ji(e),r=t.toLowerCase(),o=-1;for(let a=n.length-1;a>=0;a--){let l=n[a].name;if(l===t){let d=(i=Zr(n[a].fiber))!=null?i:e;return{name:t,path:n.map(c=>c.name),depthIndex:a,rootElement:d}}if(o===-1){let d=l.toLowerCase();(d.length>=4&&r.includes(d)||r.length>=4&&d.includes(r))&&(o=a)}}if(o>=0){let a=(s=Zr(n[o].fiber))!=null?s:e;return{name:t,path:n.map(l=>l.name),depthIndex:o,rootElement:a}}return null}function lr(e){let t=cr(),n=[],r=new Set,o=t.currentNode;for(;o=t.nextNode();){let i=nl(o,e);i&&!r.has(i.rootElement)&&(r.add(i.rootElement),n.push(i))}return n}function Gi(e){let t=new Map;if(e.size===0)return t;let n=new Set(e),r=cr(),o=new Set,i=r.currentNode;for(;(i=r.nextNode())&&n.size>0;)for(let s of n){let a=nl(i,s);if(!a||o.has(a.rootElement))continue;o.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 cr(){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 Rn(e){let t={selector:tl(e),tagName:e.tagName.toLowerCase()};e.id&&(t.id=e.id),e.classList.length>0&&(t.className=Array.from(e.classList).join(" "));let n=ol(e);n&&n.length>0&&n.length<200&&(t.textContent=n);let r={};for(let s of e.attributes)s.name.startsWith("data-")&&(r[s.name]=s.value);Object.keys(r).length>0&&(t.dataAttributes=r);let o=qr(e);o&&(t.reactComponent=o.name);let i=su(e);return i&&(t.context=i),t}function ol(e){let t="";for(let n of e.childNodes)n.nodeType===Node.TEXT_NODE&&(t+=n.textContent||"");return t.trim()}function Fo(e,t){let n=document.elementsFromPoint(e,t);for(let r of n)if(r instanceof HTMLElement&&!(r.id==="devtools-canvas"||r.id==="devtools-toolbar"||r.id==="devtools-scrim")&&!r.closest("#devtools-toolbar")&&!(r.dataset.devtools||r.closest("[data-devtools]"))&&!["html","body"].includes(r.tagName.toLowerCase()))return r;return null}function su(e){let t=e.parentElement,n=["section","article","nav","aside","header","footer","main"];for(;t&&t!==document.body;){let r=t.tagName.toLowerCase();if(n.includes(r)&&t.id)return`${r}#${t.id}`;if(t.id&&!t.id.startsWith("radix-")&&!t.id.startsWith(":"))return`${r}#${t.id}`;t=t.parentElement}return null}function rl(e){let t=new Set,n=[],r=window.scrollX,o=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-r,l=s.y-o;if(a<0||l<0||a>window.innerWidth||l>window.innerHeight)continue;let d=Fo(a,l);d&&!t.has(d)&&(t.add(d),n.push(Rn(d)))}return n.slice(0,3)}function Yi(e){if(e.length===0)return[];let t=e.map(r=>r.x),n=e.map(r=>r.y);return rl({minX:Math.min(...t),minY:Math.min(...n),maxX:Math.max(...t),maxY:Math.max(...n)})}function tn(e,t){return e.style.getPropertyValue(t)!==""}function au(e,t=30){if(e<=0)return[];let n=[],r=cr(),o=.5,i=r.currentNode;for(;(i=r.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);!tn(s,"padding-top")&&Math.abs((parseFloat(l.paddingTop)||0)-e)<o&&n.push({element:s,property:"padding-top"}),!tn(s,"padding-bottom")&&Math.abs((parseFloat(l.paddingBottom)||0)-e)<o&&n.length<t&&n.push({element:s,property:"padding-bottom"}),!tn(s,"padding-left")&&Math.abs((parseFloat(l.paddingLeft)||0)-e)<o&&n.length<t&&n.push({element:s,property:"padding-left"}),!tn(s,"padding-right")&&Math.abs((parseFloat(l.paddingRight)||0)-e)<o&&n.length<t&&n.push({element:s,property:"padding-right"}),!tn(s,"margin-top")&&Math.abs((parseFloat(l.marginTop)||0)-e)<o&&n.length<t&&n.push({element:s,property:"margin-top"}),!tn(s,"margin-bottom")&&Math.abs((parseFloat(l.marginBottom)||0)-e)<o&&n.length<t&&n.push({element:s,property:"margin-bottom"}),!tn(s,"margin-left")&&Math.abs((parseFloat(l.marginLeft)||0)-e)<o&&n.length<t&&n.push({element:s,property:"margin-left"}),!tn(s,"margin-right")&&Math.abs((parseFloat(l.marginRight)||0)-e)<o&&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=tn(s,"gap"),p=parseFloat(l.gap)||0,u=parseFloat(l.rowGap)||0,g=parseFloat(l.columnGap)||0;!c&&Math.abs(p-e)<o?n.push({element:s,property:"gap"}):!tn(s,"row-gap")&&Math.abs(u-e)<o?n.push({element:s,property:"row-gap"}):!tn(s,"column-gap")&&Math.abs(g-e)<o&&n.push({element:s,property:"column-gap"})}}return n}function Ji(e,t=30){if(e<=0)return[];let n=[],r=cr(),o=.5,i=r.currentNode;for(;(i=r.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;!tn(s,"padding-top")&&Math.abs(v-e)<o&&n.push({x:a.left+u,y:a.top+d,width:g,height:e,direction:"vertical",property:"padding-top"});let R=parseFloat(l.paddingBottom)||0;!tn(s,"padding-bottom")&&Math.abs(R-e)<o&&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 C=parseFloat(l.paddingLeft)||0;!tn(s,"padding-left")&&Math.abs(C-e)<o&&n.length<t&&n.push({x:a.left+u,y:a.top+d,width:e,height:b,direction:"horizontal",property:"padding-left"});let G=parseFloat(l.paddingRight)||0;!tn(s,"padding-right")&&Math.abs(G-e)<o&&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 L=parseFloat(l.marginTop)||0;!tn(s,"margin-top")&&Math.abs(L-e)<o&&n.length<t&&n.push({x:a.left,y:a.top-e,width:a.width,height:e,direction:"vertical",property:"margin-top"});let A=parseFloat(l.marginBottom)||0;!tn(s,"margin-bottom")&&Math.abs(A-e)<o&&n.length<t&&n.push({x:a.left,y:a.bottom,width:a.width,height:e,direction:"vertical",property:"margin-bottom"});let E=parseFloat(l.marginLeft)||0;!tn(s,"margin-left")&&Math.abs(E-e)<o&&n.length<t&&n.push({x:a.left-e,y:a.top,width:e,height:a.height,direction:"horizontal",property:"margin-left"});let _=parseFloat(l.marginRight)||0;!tn(s,"margin-right")&&Math.abs(_-e)<o&&n.length<t&&n.push({x:a.right,y:a.top,width:e,height:a.height,direction:"horizontal",property:"margin-right"});let ie=l.display;if((ie.includes("flex")||ie.includes("grid"))&&n.length<t&&!tn(s,"gap")){let Y=Array.from(s.children).filter(K=>{let H=getComputedStyle(K);return H.display!=="none"&&H.position!=="absolute"&&H.position!=="fixed"});if(Y.length>=2)for(let K=0;K<Y.length-1&&n.length<t;K++){let H=Y[K].getBoundingClientRect(),ee=Y[K+1].getBoundingClientRect(),k=ee.top-H.bottom;Math.abs(k-e)<o&&k>.5&&n.push({x:Math.min(H.left,ee.left),y:H.bottom,width:Math.max(H.right,ee.right)-Math.min(H.left,ee.left),height:k,direction:"vertical",property:"gap"});let Ae=ee.left-H.right;Math.abs(Ae-e)<o&&Ae>.5&&n.push({x:H.right,y:Math.min(H.top,ee.top),width:Ae,height:Math.max(H.bottom,ee.bottom)-Math.min(H.top,ee.top),direction:"horizontal",property:"gap"})}}}return n}function ei(e){return typeof e=="string"?{value:e}:e}var sl={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 il(e,t){let n=sl[t];return n?n.includes(e):!1}function lu(e,t){let n=e.split(/\s+/);for(let r of n){if(r===t)return!0;let o=r.lastIndexOf(":");if(o>=0&&r.slice(o+1)===t)return!0}return!1}function cu(e){var a,l;let t=e.lastIndexOf(":"),n=t>=0?e.slice(t+1):e,r=n.indexOf("-");if(r<0)return null;let o=n.slice(0,r),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("-",r+1)>0?n.indexOf("-",r+1):r);return(l=(a=i[s])!=null?a:i[o])!=null?l:null}function Ui(e,t=30){let n=parseFloat(e.value);if(isNaN(n)||n<=0)return[];if(e.bindings&&e.bindings.length>0){let o=[],i=cr(),s=i.currentNode;for(;(s=i.nextNode())&&o.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&&!il(p,e.property))){o.push({element:a,property:p});break}}}return o}let r=au(n,t*2);return e.property?r.filter(o=>il(o.property,e.property)).slice(0,t):r.slice(0,t)}function Vi(e,t=30){let n=Ui(e,t),r=[];for(let o of n){let i=o.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(o.property){case"padding-top":{let g=parseFloat(a.paddingTop)||0;r.push({x:s.left+c,y:s.top+l,width:p,height:g,direction:"vertical",property:o.property});break}case"padding-bottom":{let g=parseFloat(a.paddingBottom)||0;r.push({x:s.left+c,y:s.top+l+u-g,width:p,height:g,direction:"vertical",property:o.property});break}case"padding-left":{let g=parseFloat(a.paddingLeft)||0;r.push({x:s.left+c,y:s.top+l,width:g,height:u,direction:"horizontal",property:o.property});break}case"padding-right":{let g=parseFloat(a.paddingRight)||0;r.push({x:s.left+c+p-g,y:s.top+l,width:g,height:u,direction:"horizontal",property:o.property});break}case"margin-top":{let g=parseFloat(a.marginTop)||0;r.push({x:s.left,y:s.top-g,width:s.width,height:g,direction:"vertical",property:o.property});break}case"margin-bottom":{let g=parseFloat(a.marginBottom)||0;r.push({x:s.left,y:s.bottom,width:s.width,height:g,direction:"vertical",property:o.property});break}case"margin-left":{let g=parseFloat(a.marginLeft)||0;r.push({x:s.left-g,y:s.top,width:g,height:s.height,direction:"horizontal",property:o.property});break}case"margin-right":{let g=parseFloat(a.marginRight)||0;r.push({x:s.right,y:s.top,width:g,height:s.height,direction:"horizontal",property:o.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&&r.length<t;b++){let v=g[b].getBoundingClientRect(),R=g[b+1].getBoundingClientRect(),C=R.top-v.bottom;C>.5&&r.push({x:Math.min(v.left,R.left),y:v.bottom,width:Math.max(v.right,R.right)-Math.min(v.left,R.left),height:C,direction:"vertical",property:"gap"});let G=R.left-v.right;G>.5&&r.push({x:v.right,y:Math.min(v.top,R.top),width:G,height:Math.max(v.bottom,R.bottom)-Math.min(v.top,R.top),direction:"horizontal",property:"gap"})}break}}}return r}function al(e,t){let n=new Set,r=Lr(t);for(let o of e){let i=cl[o.property];if(!i)continue;let s=o.element.className;if(typeof s=="string")for(let a of i){let l=`${a}-${r}`;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 ll(e){let t=new Set;for(let n of e)for(let[r,o]of Object.entries(sl))if(o.includes(n.property)){t.add(r);break}if(t.size===1)return[...t][0]}function Xi(e,t,n){if(t===n)return e;let r=Lr(t),o=Lr(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===r||l===`[${t}px]`?`${a}-${o}`: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 Lr(e){var t;return(t=du[e])!=null?t:`[${e}px]`}var cl={"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,r){let o=cl[t];if(!o)return null;let i=Lr(n);for(let s of o){let a=new RegExp("(?:^|\\s)((?:[\\w-]+:)*"+s+"-(?:"+pu(i)+"|\\["+n+"px\\]))(?:\\s|$)"),l=e.match(a);if(l!=null&&l[1]){let d=Lr(r),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 dl(e,t,n){let r=new Set,o=[];for(let i of e){let s=Nn(i.element),a=`${s}::${i.property}`;if(r.has(a))continue;r.add(a);let l=qr(i.element),d=i.element.className||"",c=uu(d,i.property,t,n);o.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 o}function Ar(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function Ki(e,t){if(e instanceof HTMLElement){let r=e.style.getPropertyValue(t);if(r)return r}let n=fu(e,t);return n&&n.includes("var(")?n:Ar(e,t)}function fu(e,t){let n=t.replace(/-([a-z])/g,(r,o)=>o.toUpperCase());try{for(let r of document.styleSheets)try{let o=r.cssRules||r.rules;for(let i of o)if(i instanceof CSSStyleRule&&e.matches(i.selectorText)){let s=i.style.getPropertyValue(t);if(s&&s.includes("var("))return s;let a=i.style[n];if(a&&a.includes("var("))return a}}catch(o){}}catch(r){}return null}function ti(e,t){if(e instanceof HTMLElement){let r=e.style.getPropertyValue(t);if(r)return r}let n=t.replace(/-([a-z])/g,(r,o)=>o.toUpperCase());try{for(let r of document.styleSheets)try{let o=r.cssRules||r.rules;for(let i of o)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(o){}}catch(r){}return null}function ni(e){let t=window.getComputedStyle(e).display;return t==="flex"||t==="inline-flex"||t==="grid"||t==="inline-grid"}function Pr(e){let t=window.getComputedStyle(e);return{row:parseFloat(t.rowGap)||0,column:parseFloat(t.columnGap)||0}}function gu(e){let t=[];for(let n of e){let r=t.find(o=>o.axis!==n.axis?!1:n.axis==="row"?Math.abs(o.y-n.y)<2&&Math.abs(o.h-n.h)<2:Math.abs(o.x-n.x)<2&&Math.abs(o.w-n.w)<2);if(r)if(n.axis==="row"){let o=Math.min(r.x,n.x),i=Math.max(r.x+r.w,n.x+n.w);r.x=o,r.w=i-o}else{let o=Math.min(r.y,n.y),i=Math.max(r.y+r.h,n.y+n.h);r.y=o,r.h=i-o}else t.push(f({},n))}return t}function $o(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=[],r=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:r.top,w:c.left-d.right,h:r.height}),c.top>d.bottom+.5&&n.push({axis:"row",x:r.left,y:d.bottom,w:r.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:r.left,y:p-a/2,w:r.width,h:a})}else{let p=(d.right+c.left)/2;n.push({axis:"column",x:p-a/2,y:r.top,w:a,h:r.height})}}return gu(n)}function qi(e,t){let n=window.getComputedStyle(e),r=n.display;if(r!=="flex"&&r!=="inline-flex")return!1;let o=n.justifyContent;if(o!=="space-between"&&o!=="space-around"&&o!=="space-evenly"&&o!=="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 dr(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 zo(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 Zi(e){for(let t of e.childNodes)if(t.nodeType===Node.TEXT_NODE&&(t.textContent||"").trim().length>0)return!0;return!1}function ur(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 r=t.getBoundingClientRect(),o=window.getComputedStyle(e),i=parseFloat(o.fontSize)||16,s=parseFloat(o.lineHeight);isNaN(s)&&(s=i*1.2);let a=Math.max(1,t.getClientRects().length),l=Math.max(r.height,a*s),d=(l-r.height)/2;return new DOMRect(r.x,r.y-d,r.width,l)}function Or(e){let t=window.getComputedStyle(e),n=parseFloat(t.fontSize)||16,r=parseFloat(t.lineHeight);return isNaN(r)&&(r=n*1.2),{fontSize:n,lineHeight:r}}function Qe(e,t,n){e instanceof HTMLElement&&e.style.setProperty(t,n,"important")}function Qi(e,t,n){e instanceof HTMLElement&&e.style.removeProperty(t)}function oi(e){var t;for(let n of e){let r=wn(n.selector);if(!r&&n.durableSelector&&(r=wn(n.durableSelector),r)){let o=(t=n.selector.match(/\[data-pm="([^"]+)"\]/))==null?void 0:t[1];o&&r.setAttribute("data-pm",o)}if(r)for(let o of n.changes)Qe(r,o.property,o.modified)}}function es(e,t){let n=wn(e);if(!n)return;let r=t.find(o=>o.selector===e);if(r)for(let o of r.changes)Qi(n,o.property,o.original)}function ri(e){for(let t of e){let n=wn(t.selector);if(n)for(let r of t.changes)Qi(n,r.property,r.original)}}function pl(e,t,n,r){if(e)for(let o of e){if(o instanceof CSSGroupingRule){pl(o.cssRules,t,n,r);continue}if(o instanceof CSSStyleRule){let i=o.selectorText.toLowerCase();(i===":root"||i==="html"||i==="*"||i.includes(":root"))&&mu(o.style,t,n,r)}}}function mu(e,t,n,r){for(let o=0;o<e.length;o++){let i=e[o];if(i!=null&&i.startsWith("--")){if(n.has(i))continue;n.add(i);let s=t.getPropertyValue(i).trim();fl(s)&&r.push({name:i,value:s,usage:`var(${i})`})}}}var ii=null,hu=5e3;function ts(){if(ii&&Date.now()-ii.timestamp<hu)return ii.variables;let e=[],t=new Set,n=getComputedStyle(document.documentElement);try{for(let i of document.styleSheets)try{pl(i.cssRules||i.rules,n,t,e)}catch(s){}}catch(i){}let r=document.documentElement.style;for(let i=0;i<r.length;i++){let s=r[i];if(s!=null&&s.startsWith("--")&&!t.has(s)){t.add(s);let a=n.getPropertyValue(s).trim();fl(a)&&e.push({name:s,value:a,usage:`var(${s})`})}}let o=e.sort((i,s)=>i.name.localeCompare(s.name));return ii={variables:o,timestamp:Date.now()},o}function fl(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 Br(e,t){let n=t.match(/var\((--[^,)]+)(?:,\s*([^)]+))?\)/);if(n){let r=n[1],o=n[2];return getComputedStyle(document.documentElement).getPropertyValue(r).trim()||o||t}return t}function Dr(e,t){if(!e)return null;let n=ul(e);if(!n)return null;for(let r of t){let o=ul(r.value);if(o&&n===o)return r}return null}function ul(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 r=n[1].endsWith("%")?parseFloat(n[1])/100:parseFloat(n[1]),o=n[2].endsWith("%")?parseFloat(n[2])/100:parseFloat(n[2]),i=parseFloat(n[3]);r=Math.round(r*100)/100,o=Math.round(o*1e3)/1e3;let s=Math.round(i);return`oklch(${r} ${o} ${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 Wo,jsx as yt,jsxs as qn}from"react/jsx-runtime";var Yn=22,vo=12,yu=3,bu=250,si=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],xu=3e3;function vu(s){var a=s,{left:e,top:t,avoidBottom:n,style:r,children:o}=a,i=Gn(a,["left","top","avoidBottom","style","children"]);let l=e+vo,d=t+vo,c=n!==void 0?`${n}px`:"100vh";return yt("div",h(f({"data-devtools":"badge-hit-area"},i),{style:f({position:"fixed",left:e,top:t,padding:vo},r),children:yt("div",{style:{transform:`translate(min(0px, calc(100vw - ${l}px - 100%)), min(0px, calc(${c} - ${d}px - 100%)))`},children:o})}))}function hl({annotations:e,supersededAnnotations:t,inFlightIds:n,activeIds:r,queuePositions:o,scrollX:i,scrollY:s,annotationGroupMap:a,onViewThread:l,onSelectAnnotation:d,onHoverAnnotation:c,canvasRef:p}){var oe,Y,K,H,ee,k,Ae;let[u,g]=_r(0),[b,v]=_r(()=>Math.floor(Math.random()*si.length)),R=!!(n&&n.size>0);ai(()=>{if(!R)return;let X=setInterval(()=>{g(B=>(B+1)%yu)},bu),ge=setInterval(()=>{v(B=>(B+1)%si.length)},xu);return()=>{clearInterval(X),clearInterval(ge)}},[R]);let C=[];for(let X of e){if(X.type!=="text"||!X.text||!X.points[0]||t.has(X))continue;let ge=X.groupId?e.filter(me=>me.groupId===X.groupId):[X],B=(oe=X.status)!=null?oe:"pending",ce=ge.reduce((me,N)=>{var ye;return me+((ye=N.replyCount)!=null?ye:0)},0),Q=me=>me==="resolved"&&ce===0,q=!!(n&&(n.has(X.id)||ge.some(me=>n.has(me.id))))||X.status==="in_flight"||ge.some(me=>me.status==="in_flight")||Q(X.status)||ge.some(me=>Q(me.status)),Ee=ge.some(me=>{var N;return me.status==="resolved"&&((N=me.replyCount)!=null?N:0)>0||me.status==="needs_review"}),De=ge.some(me=>me.threadId);if(!q&&B!=="resolved"&&B!=="needs_review"&&!Ee&&!De)continue;let pe=X.threadId||((Y=ge.find(me=>me.threadId))==null?void 0:Y.threadId),Pe=B==="needs_review"||ge.some(me=>me.status==="needs_review"),Re=X.points[0],Me=X.fontSize||12,et=Me*1.4,Ve=a.get(X.id),Tt=X.text.replace(/\n/g," "),Mt=Ve!==void 0?Ve+". "+Tt:Tt,zt=(H=(K=p==null?void 0:p.current)==null?void 0:K.getContext("2d"))!=null?H:document.createElement("canvas").getContext("2d");if(!zt)continue;zt.font=`${Me}px ${Vt}`;let tt=Re.x-i,gn=ir(tt),$=sr(zt,Mt,gn),de=zt.measureText($).width,Te=q&&!!r&&!r.has(X.id)&&!ge.some(me=>r.has(me.id));C.push({id:X.id,threadId:pe,linkedSelector:X.linkedSelector||((ee=ge.find(me=>me.linkedSelector))==null?void 0:ee.linkedSelector),x:Re.x+de+4,y:Re.y-4,size:et+8,color:X.color,isInFlight:q,isQueued:Te,queuePosition:void 0,isNeedsReview:Pe,replyCount:ce})}let G=C.filter(X=>X.isQueued);if(G.length>0&&G.forEach((X,ge)=>{var B;X.queuePosition=(B=o==null?void 0:o.get(X.id))!=null?B:`(${ge+1}/${G.length})`}),C.length===0)return null;let L=2,A=(Ae=(k=p==null?void 0:p.current)==null?void 0:k.getContext("2d"))!=null?Ae:document.createElement("canvas").getContext("2d"),E=C.map(X=>{var Ee;let ge;X.isQueued?ge=X.queuePosition?`queued ${X.queuePosition}`:"queued":X.isInFlight?ge=(Ee=si[b])!=null?Ee:"thinking":X.replyCount>0?ge=`${X.replyCount} ${X.replyCount===1?"reply":"replies"}`:ge="Cancelled";let B=!X.isQueued,ce=B?11:0,Q=B?4:0,q=ge.length*7.2;return A&&(A.font=`12px ${Vt}`,q=A.measureText(ge).width),4+ce+Q+q+4}),_=typeof window!="undefined"?window.innerHeight:9999,ie=[];for(let X=0;X<C.length;X++){let ge=C[X].y-s,B=Math.min(ge,_-Yn),ce=B+Yn,q=C[X].x-i;for(let Ee=0;Ee<X;Ee++){let De=C[Ee].y-s,pe=Math.min(De,_-Yn),Pe=pe+Yn;if(!(B<Pe&&ce>pe))continue;let Me=ie[Ee]+E[Ee];q<Me+L&&(q=Me+L)}ie.push(q)}return yt(Wo,{children:C.map((X,ge)=>{let B=!!X.threadId;return yt(vu,{left:ie[ge]-vo,top:X.y-s-vo,onMouseDown:B?ce=>ce.stopPropagation():void 0,onClick:B?ce=>{if(ce.stopPropagation(),d==null||d(X.id),l==null||l(X.threadId),X.linkedSelector)try{let Q=document.querySelector(X.linkedSelector);if(Q){let q=Q.getBoundingClientRect();(q.bottom<0||q.top>window.innerHeight)&&Q.scrollIntoView({behavior:"smooth",block:"center"})}}catch(Q){}}:void 0,onMouseEnter:c?()=>c(X.id):void 0,onMouseLeave:c?()=>c(null):void 0,style:{pointerEvents:B?"auto":"none",cursor:B?"pointer":void 0,zIndex:9999},children:yt("div",{"data-devtools":"annotation-badge",style:{height:X.size,display:"flex",alignItems:"center",backgroundColor:X.color,fontFamily:Vt,fontSize:12,color:"#ffffff",userSelect:"none",padding:`0 ${4}px`,gap:4,whiteSpace:"nowrap"},children:X.isQueued?qn("span",{style:{opacity:.5,color:"inherit"},children:["queued",X.queuePosition?` ${X.queuePosition}`:""]}):X.isInFlight?qn(Wo,{children:[yt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:u===1?qn(Wo,{children:[yt("circle",{cx:"7",cy:"7",r:"2"}),yt("circle",{cx:"17",cy:"7",r:"2"}),yt("circle",{cx:"7",cy:"17",r:"2"}),yt("circle",{cx:"17",cy:"17",r:"2"})]}):qn(Wo,{children:[yt("circle",{cx:"12",cy:"6",r:"2"}),yt("circle",{cx:"6",cy:"12",r:"2"}),yt("circle",{cx:"18",cy:"12",r:"2"}),yt("circle",{cx:"12",cy:"18",r:"2"})]})}),yt("span",{style:{opacity:.7,color:"inherit"},children:si[b]})]}):qn(Wo,{children:[X.isNeedsReview?yt("span",{style:{fontWeight:700,color:"inherit"},children:"?"}):yt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:yt("polyline",{points:"4 12 10 18 20 6"})}),yt("span",{style:{opacity:.7,color:"inherit"},children:X.replyCount>0?`${X.replyCount} ${X.replyCount===1?"reply":"replies"}`:"Cancelled"})]})})},X.id)})})}function ns({inFlightSelectorColors:e,animated:t=!0}){let[n,r]=_r([]);return ai(()=>{if(e.size===0){r([]);return}let o=null,i=()=>{let l=[];for(let[d,c]of e){let p=wn(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})}r(l)},s=()=>{o&&cancelAnimationFrame(o),o=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(),o&&cancelAnimationFrame(o)}},[e]),n.length===0?null:qn(Wo,{children:[t&&yt("style",{children:"@keyframes popmelt-march { to { stroke-dashoffset: -6; } }"}),n.map(o=>yt("div",{"data-devtools":"marching-ants",style:{position:"fixed",top:o.top,left:o.left,width:o.width,height:o.height,pointerEvents:"none",zIndex:9995,overflow:"visible"},children:yt("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible"},children:yt("rect",{x:"0.5",y:"0.5",width:Math.max(0,o.width-1),height:Math.max(0,o.height-1),fill:"none",stroke:o.color,strokeWidth:"1",strokeDasharray:"2 4",style:t?{animation:"popmelt-march 0.5s steps(2) infinite"}:void 0})})},o.selector))]})}function yl({annotations:e,supersededAnnotations:t,scrollX:n,scrollY:r,onReply:o,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,R=i.get(u.id),C=u.text.replace(/\n/g," "),G=R!==void 0?R+". "+C:C,A=document.createElement("canvas").getContext("2d");if(!A)continue;A.font=`${b}px ${Vt}`;let E=g.x-n,_=ir(E),ie=sr(A,G,_),oe=A.measureText(ie).width;c.push({annotation:p,x:g.x+oe+4,y:g.y-4,size:v+8})}}return c.length===0?null:yt(Wo,{children:c.map(({annotation:p,x:u,y:g,size:b})=>yt(Su,{annotation:p,x:u-n,y:g-r,size:b,onReply:o,onHoverAnnotation:a},`question-${p.threadId}`))})}function Su({annotation:e,x:t,y:n,size:r,onReply:o,onHoverAnnotation:i}){let[s,a]=_r(!1),[l,d]=_r(""),c=ml(null),p=ml(null);ai(()=>{s&&c.current&&c.current.focus()},[s]),ai(()=>{if(!s)return;let R=G=>{p.current&&!G.composedPath().includes(p.current)&&a(!1)},C=G=>{G.key==="Escape"&&a(!1)};return document.addEventListener("mousedown",R),document.addEventListener("keydown",C),()=>{document.removeEventListener("mousedown",R),document.removeEventListener("keydown",C)}},[s]);let u=gl(()=>{!l.trim()||!e.threadId||(o(e.threadId,l.trim()),d(""),a(!1))},[l,e.threadId,o]),g=gl(R=>{R.key==="Enter"&&(R.metaKey||R.ctrlKey)&&(R.preventDefault(),u())},[u]),b=s?t:t-vo,v=s?n:n-vo;return qn("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:vo,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&&qn("div",{onClick:()=>a(!0),style:{height:r,display:"flex",alignItems:"center",backgroundColor:e.color,padding:`0 ${4}px`,gap:4,fontFamily:Vt,fontSize:12,color:"#ffffff",whiteSpace:"nowrap"},children:[qn("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[yt("line",{x1:"12",y1:"3",x2:"12",y2:"9"}),yt("line",{x1:"12",y1:"15",x2:"12",y2:"21"}),yt("line",{x1:"3",y1:"12",x2:"9",y2:"12"}),yt("line",{x1:"15",y1:"12",x2:"21",y2:"12"})]}),yt("span",{style:{opacity:.7},children:"reply?"})]}),s&&qn("div",{style:{minWidth:260,maxWidth:360,backgroundColor:"#eaeaea",fontFamily:Vt,fontSize:12,color:"#1f2937",border:"1px solid rgba(0, 0, 0, 0.1)"},children:[yt("div",{style:{padding:`${6}px ${8}px`,lineHeight:1.4},children:e.question}),qn("div",{style:{padding:`0 ${4}px ${4}px`},children:[yt("textarea",{ref:c,value:l,onChange:R=>d(R.target.value),onKeyDown:g,placeholder:"Type your reply...",style:{width:"100%",minHeight:40,padding:4,fontSize:12,fontFamily:Vt,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"}}),yt("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:4},children:yt("button",{onClick:u,disabled:!l.trim(),style:{padding:"4px 12px",fontSize:11,fontFamily:Vt,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 li(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 r=new Set,o=new Set;for(let s of n.values()){if(s.length<=1){(i=s[0])!=null&&i.groupId&&o.add(s[0].groupId);continue}s.sort((l,d)=>d.timestamp-l.timestamp);let a=s[0];a.groupId&&o.add(a.groupId);for(let l=1;l<s.length;l++){let d=s[l];t.add(d),d.groupId&&r.add(d.groupId)}}for(let s of e)s.groupId&&r.has(s.groupId)&&!o.has(s.groupId)&&t.add(s);return t}import{useEffect as bl,useLayoutEffect as wu,useState as xl}from"react";import{jsx as os,jsxs as Sl}from"react/jsx-runtime";function Cu(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 vl=["top-left","top-right","bottom-right","bottom-left"];function wl({element:e,radius:t,accentColor:n,hoveredCorner:r,draggingCorner:o,cursorViewport:i}){let[s,a]=xl(null),[l,d]=xl(!1);if(bl(()=>{let C=A=>{(A.key==="Meta"||A.key==="Control")&&d(!0)},G=A=>{(A.key==="Meta"||A.key==="Control")&&d(!1)},L=()=>d(!1);return window.addEventListener("keydown",C,!0),window.addEventListener("keyup",G,!0),window.addEventListener("blur",L),()=>{window.removeEventListener("keydown",C,!0),window.removeEventListener("keyup",G,!0),window.removeEventListener("blur",L)}},[]),bl(()=>{if(!e){a(null);return}let C=()=>{a(e.getBoundingClientRect())};return C(),window.addEventListener("scroll",C,{passive:!0}),window.addEventListener("resize",C,{passive:!0}),()=>{window.removeEventListener("scroll",C),window.removeEventListener("resize",C)}},[e]),wu(()=>{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=Cu(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=o!=null?o:r;if(v)if(l)b.add(v);else for(let C of vl)b.add(C);let R={position:"fixed",top:s.top,left:s.left,width:c,height:p,pointerEvents:"none",zIndex:9996,overflow:"visible"};return Sl("div",{"data-devtools":"border-radius-handles",style:R,children:[Sl("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${c} ${p}`,children:[os("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"}),vl.map(C=>{let G=g[C],L=b.has(C);return os("circle",{cx:G.x,cy:G.y,r:C===(o!=null?o:r)?3:2.5,fill:n,stroke:"#ffffff",strokeWidth:C===(o!=null?o:r)?4:2,paintOrder:"stroke"},C)})]}),i&&v&&(()=>{let C=Math.round(t[v]);return os("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:C})})()]})}import{useEffect as Eu,useState as ku}from"react";function pr(e,t){let n=e.match(/^oklch\(([^)]+)\)$/i);if(n)return`oklch(${n[1]} / ${t})`;let r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(r){let o=parseInt(r[1],16),i=parseInt(r[2],16),s=parseInt(r[3],16);return`rgba(${o}, ${i}, ${s}, ${t})`}return`color-mix(in srgb, ${e} ${Math.round(t*100)}%, transparent)`}import{Fragment as Tu,jsx as rs,jsxs as Nr}from"react/jsx-runtime";function ro({element:e,isSelected:t=!1,elementInfo:n,color:r="#3b82f6",annotationNumber:o,changeCount:i,hideTooltip:s=!1}){let[a,l]=ku(null);if(Eu(()=>{if(!e){l(null);return}let E=()=>{let _=e.getBoundingClientRect();l(_)};return E(),window.addEventListener("scroll",E,{passive:!0}),window.addEventListener("resize",E,{passive:!0}),()=>{window.removeEventListener("scroll",E),window.removeEventListener("resize",E)}},[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:pr(r,.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,R=a.height>=window.innerHeight,C=R?0:a.top>=v?a.top-v:a.bottom,G=R?{position:"absolute",top:8,left:8,zIndex:9997,display:"flex",alignItems:"center",gap:6,backgroundColor:r,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:C,left:a.left,zIndex:9997,display:"flex",alignItems:"center",gap:6,backgroundColor:r,color:"#fff",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',padding:"4px 8px",borderRadius:0,pointerEvents:"none",whiteSpace:"nowrap",maxWidth:400},A=!s&&Nr("div",{"data-devtools":"tooltip",style:G,children:[o!==void 0&&Nr("span",{children:[o,"."]}),rs("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0},children:b}),i!==void 0&&i>0&&Nr("span",{style:{opacity:.8},children:["(",i," ",i===1?"change":"changes",")"]})]});return Nr(Tu,{children:[Nr("div",{"data-devtools":"highlight",style:d,children:[rs("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},children:rs("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:r,strokeWidth:"1"},!t&&{strokeDasharray:"2 4"}))}),R&&A]}),!R&&A]})}import{useEffect as Cl,useLayoutEffect as Mu,useState as is}from"react";import{jsx as go,jsxs as as}from"react/jsx-runtime";function ss(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 ls({element:e,gap:t,accentColor:n,hoveredAxis:r,draggingAxis:o,cursorViewport:i,isAutoGap:s=!1,refreshKey:a=0}){let[l,d]=is(null),[c,p]=is([]),[u,g]=is(!1);if(Cl(()=>{let oe=H=>{(H.key==="Meta"||H.key==="Control")&&g(!0)},Y=H=>{(H.key==="Meta"||H.key==="Control")&&g(!1)},K=()=>g(!1);return window.addEventListener("keydown",oe,!0),window.addEventListener("keyup",Y,!0),window.addEventListener("blur",K),()=>{window.removeEventListener("keydown",oe,!0),window.removeEventListener("keyup",Y,!0),window.removeEventListener("blur",K)}},[]),Cl(()=>{if(!e){d(null),p([]);return}let oe=()=>{d(e.getBoundingClientRect()),p($o(e))};return oe(),window.addEventListener("scroll",oe,{passive:!0}),window.addEventListener("resize",oe,{passive:!0}),()=>{window.removeEventListener("scroll",oe),window.removeEventListener("resize",oe)}},[e]),Mu(()=>{e&&(d(e.getBoundingClientRect()),p($o(e)))},[e,t.row,t.column,a]),!l||c.length===0)return null;let b=l.width,v=l.height,R="pm-gap-stripe-pattern",C=ss(n,.25),G=ss(n,.1),L=ss(n,.2),A=8,E=2,_={position:"fixed",top:l.top,left:l.left,width:b,height:v,pointerEvents:"none",zIndex:9996,overflow:"visible"},ie=o!=null?o:r;return as("div",{"data-devtools":"gap-handles",style:_,children:[as("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${b} ${v}`,children:[go("defs",{children:go("pattern",{id:R,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:go("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:C,strokeWidth:"1.5"})})}),go("rect",{x:"0.5",y:"0.5",width:Math.max(0,b-1),height:Math.max(0,v-1),fill:"none",stroke:L,strokeWidth:"1"}),c.map((oe,Y)=>{let K=oe.x-l.left,H=oe.y-l.top,ee=oe.w,k=oe.h,Ae=u?oe.axis===ie:!0;return(oe.axis==="row"?t.row:t.column)===0?null:as("g",{opacity:Ae?1:.6,children:[go("rect",{x:K,y:H,width:ee,height:k,fill:G}),go("rect",{x:K,y:H,width:ee,height:k,fill:`url(#${R})`})]},Y)}),ie&&(()=>{let oe=c.filter(Ee=>Ee.axis===ie);if(oe.length===0)return null;let Y=oe[0];if(i&&oe.length>1){let Ee=1/0;for(let De of oe){let pe=De.x+De.w/2,Pe=De.y+De.h/2,Re=Math.abs(i.x-pe)+Math.abs(i.y-Pe);Re<Ee&&(Ee=Re,Y=De)}}let K=Y.x-l.left,H=Y.y-l.top,ee=Y.w,k=Y.h,Ae=K+ee/2,X=H+k/2;if(s)return go("circle",{cx:Ae,cy:X,r:1.5,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"});let ge=ie==="column",B=ge?E:A,ce=ge?A:E,Q=Ae-B/2,q=X-ce/2;return go("rect",{x:Q,y:q,width:B,height:ce,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"})})()]}),i&&ie&&(()=>{let oe=s?"auto":String(Math.round(ie==="row"?t.row:t.column));return go("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:oe})})()]})}import{useCallback as Pu,useEffect as Ou,useState as Bu}from"react";import{useEffect as Iu,useState as El}from"react";var Ru=3,Lu=250,cs=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Au=3e3;function kl(e){let[t,n]=El(0),[r,o]=El(()=>Math.floor(Math.random()*cs.length));return Iu(()=>{if(!e)return;let i=setInterval(()=>n(a=>(a+1)%Ru),Lu),s=setInterval(()=>o(a=>(a+1)%cs.length),Au);return()=>{clearInterval(i),clearInterval(s)}},[e]),{charIndex:t,word:cs[r]}}import{Fragment as ds,jsx as Hn,jsxs as fr}from"react/jsx-runtime";function Du(e){let{element:t}=e,n=t.tagName,r=t.id?`#${t.id}`:"",o=t.className?"."+t.className.split(" ").slice(0,2).join("."):"",i=t.reactComponent;return i?`<${i}> ${n}${r}${o}`:`${n}${r}${o}`}var Tl=22,us=12;function _u(s){var a=s,{left:e,top:t,avoidBottom:n,style:r,children:o}=a,i=Gn(a,["left","top","avoidBottom","style","children"]);let l=n!==void 0?`${n}px`:"100vh";return Hn("div",h(f({"data-devtools":"badge-hit-area"},i),{style:f({position:"fixed",left:`max(0px, ${e}px)`,top:`max(0px, ${t}px)`,padding:us,transform:`translate(min(0px, calc(100vw - max(0px, ${e}px) - 100%)), min(0px, calc(${l} - max(0px, ${t}px) - 100%)))`},r),children:o}))}function Ml({styleModifications:e,isInspecting:t,accentColor:n,annotationGroupCount:r,dispatch:o,inFlightSelectors:i,toolbarRef:s,onHoverSelector:a}){var G;let[l,d]=Bu([]),c=i&&i.size>0,{charIndex:p,word:u}=kl(!!c);Ou(()=>{if(t){d([]);return}let L=null,A=()=>{let ie=[];e.forEach((oe,Y)=>{let K=wn(oe.selector);if(!K)return;let H=K.getBoundingClientRect();ie.push({selector:oe.selector,modIndex:Y,top:H.top>=Tl?H.top-Tl:H.bottom,left:H.left,label:Du(oe),changeCount:oe.changes.length,annotationNumber:r+Y+1})}),d(ie)},E=()=>{L&&cancelAnimationFrame(L),L=requestAnimationFrame(A)};A(),window.addEventListener("scroll",E,!0),window.addEventListener("resize",E,!0);let _=new MutationObserver(E);return _.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),window.addEventListener("load",E),document.fonts.ready.then(E),()=>{window.removeEventListener("scroll",E,!0),window.removeEventListener("resize",E,!0),window.removeEventListener("load",E),_.disconnect(),L&&cancelAnimationFrame(L)}},[e,t,r]);let g=Pu(L=>{let A=e[L];if(!A)return;let E=wn(A.selector);E&&(o({type:"SELECT_ANNOTATION",payload:{id:null}}),o({type:"SET_TOOL",payload:"inspector"}),o({type:"SELECT_ELEMENT",payload:{el:E,info:A.element}}))},[e,o]);if(l.length===0)return null;let b=(G=s==null?void 0:s.current)==null?void 0:G.getBoundingClientRect(),v=b?b.top-8:void 0,R={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},C={overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0};return Hn(ds,{children:l.map(L=>{let A=i==null?void 0:i.has(L.selector);return Hn(_u,{left:L.left-us,top:L.top-us,avoidBottom:v,onClick:()=>g(L.modIndex),onMouseEnter:a?()=>a(L.selector):void 0,onMouseLeave:a?()=>a(null):void 0,style:{zIndex:1e4,cursor:"pointer",pointerEvents:"auto"},children:fr("div",{"data-devtools":"badge",style:h(f({},R),{backgroundColor:A?"#999999":n}),children:[fr("span",{children:[L.annotationNumber,"."]}),Hn("span",{style:C,children:L.label}),fr("span",{style:{opacity:.8},children:["(",L.changeCount," ",L.changeCount===1?"change":"changes",")"]}),A&&fr("span",{style:{opacity:.8,marginLeft:4,display:"inline-flex",alignItems:"center",gap:4},children:[Hn("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:p===1?fr(ds,{children:[Hn("circle",{cx:"7",cy:"7",r:"2"}),Hn("circle",{cx:"17",cy:"7",r:"2"}),Hn("circle",{cx:"7",cy:"17",r:"2"}),Hn("circle",{cx:"17",cy:"17",r:"2"})]}):fr(ds,{children:[Hn("circle",{cx:"12",cy:"6",r:"2"}),Hn("circle",{cx:"6",cy:"12",r:"2"}),Hn("circle",{cx:"18",cy:"12",r:"2"}),Hn("circle",{cx:"12",cy:"18",r:"2"})]})}),u]})]})},L.selector)})})}import{useEffect as Nu,useState as Hu}from"react";import{Fragment as $u,jsx as Il}from"react/jsx-runtime";function Fu(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 Rl({styleModifications:e,accentColor:t}){let[n,r]=Hu([]);if(Nu(()=>{let i=null,s=()=>{let d=[];for(let c of e){let p=wn(c.selector);if(!p)continue;let u=p.getBoundingClientRect();if(u.width===0&&u.height===0)continue;let g=zo(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`})}r(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 o=Fu(t,.2);return Il($u,{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 ${o}`,borderRadius:i.borderRadius,boxSizing:"border-box"};return Il("div",{"data-devtools":"mod-border",style:s},i.selector)})})}import{useEffect as Ll,useLayoutEffect as zu,useState as Al}from"react";import{jsx as So,jsxs as fs}from"react/jsx-runtime";function ps(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 Wu={top:"bottom",bottom:"top",left:"right",right:"left"};function gs({element:e,padding:t,accentColor:n,hoveredSide:r,draggingSide:o,cursorViewport:i,refreshKey:s}){let[a,l]=Al(null),[d,c]=Al(!1);if(Ll(()=>{let ee=X=>{(X.key==="Meta"||X.key==="Control")&&c(!0)},k=X=>{(X.key==="Meta"||X.key==="Control")&&c(!1)},Ae=()=>c(!1);return window.addEventListener("keydown",ee,!0),window.addEventListener("keyup",k,!0),window.addEventListener("blur",Ae),()=>{window.removeEventListener("keydown",ee,!0),window.removeEventListener("keyup",k,!0),window.removeEventListener("blur",Ae)}},[]),Ll(()=>{if(!e){l(null);return}let ee=()=>{l(e.getBoundingClientRect())};return ee(),window.addEventListener("scroll",ee,{passive:!0}),window.addEventListener("resize",ee,{passive:!0}),()=>{window.removeEventListener("scroll",ee),window.removeEventListener("resize",ee)}},[e]),zu(()=>{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:R}=t,C="pm-stripe-pattern",G=ps(n,.25),L=ps(n,.1),A=ps(n,.2),E=8,_=2,ie={position:"fixed",top:a.top,left:a.left,width:p,height:u,pointerEvents:"none",zIndex:9996,overflow:"visible"},oe=["top","right","bottom","left"],Y={top:`0,0 ${p},0 ${p-b},${g} ${R},${g}`,right:`${p},0 ${p},${u} ${p-b},${u-v} ${p-b},${g}`,bottom:`0,${u} ${R},${u-v} ${p-b},${u-v} ${p},${u}`,left:`0,0 ${R},${g} ${R},${u-v} 0,${u}`},K={top:{x:p/2-E/2,y:g/2-_/2,w:E,h:_},bottom:{x:p/2-E/2,y:u-v/2-_/2,w:E,h:_},left:{x:R/2-_/2,y:u/2-E/2,w:_,h:E},right:{x:p-b/2-_/2,y:u/2-E/2,w:_,h:E}},H=new Set;return o?H.add(o):r&&(H.add(r),d||H.add(Wu[r])),fs("div",{"data-devtools":"padding-handles",style:ie,children:[fs("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${p} ${u}`,children:[So("defs",{children:So("pattern",{id:C,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:So("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:G,strokeWidth:"1.5"})})}),So("rect",{x:"0.5",y:"0.5",width:Math.max(0,p-1),height:Math.max(0,u-1),fill:"none",stroke:A,strokeWidth:"1"}),oe.map(ee=>{if(t[ee]<=0)return null;let Ae=H.has(ee);return fs("g",{opacity:Ae?1:.6,children:[So("polygon",{points:Y[ee],fill:L}),So("polygon",{points:Y[ee],fill:`url(#${C})`})]},ee)}),oe.map(ee=>{let k=K[ee],Ae=H.has(ee);return So("rect",{x:k.x,y:k.y,width:k.w,height:k.h,fill:n,stroke:"#ffffff",strokeWidth:Ae?4:2,paintOrder:"stroke"},`handle-${ee}`)})]}),i&&(r||o)&&(()=>{let ee=o!=null?o:r,k=Math.round(t[ee]);return So("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 io,useEffect as Jn,useMemo as mi,useRef as Dn,useState as fn}from"react";import{Check as gi,ChevronDown as ws,MoveHorizontal as jl,RotateCcw as fp,Shrink as gp,X as mp}from"lucide-react";var ju="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMic+PGRlZnM+PHBhdHRlcm4gaWQ9J2QnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHBhdHRlcm5Vbml0cz0ndXNlclNwYWNlT25Vc2UnPjxwYXRoIGQ9J00tMSwxIGwyLC0yIE0wLDQgbDQsLTQgTTMsNSBsMiwtMicgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScuNScvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSd1cmwoI2QpJy8+PC9zdmc+",wo={borderWidth:3,borderStyle:"solid",borderImage:`url("${ju}") 4 / 1.9 / 0 round`};var ci={"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 gr(e){var t,n;return(n=(t=ci[e])==null?void 0:t[0])!=null?n:"px"}function Co(e){let t=e.match(/^([\d.-]+)(.*)$/);return t?{num:parseFloat(t[1]),unit:t[2]||""}:{num:0,unit:""}}function di(e,t,n,r){let o=e.trim();if(!o)return"";let i=o.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i);if(i)return`${parseFloat(i[1])}${i[2].toLowerCase()}`;let s=parseFloat(o);if(!isNaN(s)){if(r){let{unit:a}=Co(n);return`${s}${a||gr(t)}`}return`${s}${gr(t)}`}return o}function ms(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 Yu,useRef as Pl,useState as Ju}from"react";import{Plus as Ol,X as Uu}from"lucide-react";import{jsx as Bn,jsxs as jo}from"react/jsx-runtime";var ui=[{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 Vu(e){if(!e||e==="none")return[];let t=[],n=/([\w-]+)\(([^)]+)\)/g,r;for(;(r=n.exec(e))!==null;){let o=r[1],i=r[2],s=parseFloat(i);isNaN(s)||t.push({name:o,value:s})}return t}function hs(e){return e.length===0?"none":e.map(t=>{var o;let n=ui.find(i=>i.name===t.name),r=(o=n==null?void 0:n.unit)!=null?o:"";return`${t.name}(${t.value}${r})`}).join(" ")}function Bl({value:e,onChange:t,accentColor:n,modified:r,panelContentRef:o}){let i=Vu(e),[s,a]=Ju(!1),l=Pl(null),d=Pl(null);Yu(()=>{if(!s)return;let L=A=>{l.current&&!A.composedPath().includes(l.current)&&a(!1)};return document.addEventListener("mousedown",L,!0),()=>document.removeEventListener("mousedown",L,!0)},[s]);let c=ui.filter(L=>!i.some(A=>A.name===L.name)),p=L=>{let A=[...i,{name:L.name,value:L.defaultValue}];t(hs(A)),a(!1)},u=L=>{let A=i.filter((E,_)=>_!==L);t(hs(A))},g=(L,A)=>{let E=i.map((_,ie)=>ie===L?h(f({},_),{value:A}):_);t(hs(E))},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(L=>{var H;if(!d.current)return{position:"fixed",top:0,left:0};let A=d.current.getBoundingClientRect(),E=d.current.closest('[data-devtools="panel"]'),_=E?E.getBoundingClientRect():{top:0,left:0,bottom:9999},ie=(H=o==null?void 0:o.current)==null?void 0:H.getBoundingClientRect(),oe=L*24+8,K=_.bottom-A.bottom<oe;return h(f({position:"fixed"},K?{bottom:_.bottom-A.top+2-_.top}:{top:A.bottom+2-_.top}),{left:ie?ie.left+4-_.left:A.left-_.left,width:ie?ie.width-8:140,zIndex:10001})},[o]),R={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)"},C={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"},G=L=>Bn("div",{ref:l,style:f(f({},v(L.length)),R),children:L.map(A=>Bn("button",{type:"button",onClick:()=>p(A),style:C,onMouseEnter:E=>{E.currentTarget.style.backgroundColor="rgba(0,0,0,0.05)"},onMouseLeave:E=>{E.currentTarget.style.backgroundColor="transparent"},children:A.label},A.name))});return i.length===0?jo("div",{children:[jo("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Bn(mo,{modified:!1,children:Bn("input",{type:"text",value:"",placeholder:"\u2014",readOnly:!0,style:h(f({},b),{color:"#999",cursor:"default"})})}),Bn("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:Bn(Ol,{size:12})})]}),s&&G(ui)]}):jo("div",{style:{display:"flex",flexDirection:"column",gap:4,position:"relative"},children:[i.map((L,A)=>{let E=ui.find(_=>_.name===L.name);return E?jo("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Bn("span",{style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:r?n:"#94a3b8",fontWeight:r?600:400,width:56,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:E.label}),Bn(mo,{modified:r,children:jo("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"0 4px"},children:[Bn("input",{type:"range",min:E.min,max:E.max,step:E.step,value:L.value,onChange:_=>g(A,parseFloat(_.target.value)),style:{flex:1,height:2,appearance:"none",WebkitAppearance:"none",background:`linear-gradient(to right, ${n} ${(L.value-E.min)/(E.max-E.min)*100}%, rgba(0,0,0,0.1) ${(L.value-E.min)/(E.max-E.min)*100}%)`,borderRadius:1,outline:"none",cursor:"pointer"}}),Bn("input",{type:"number",min:E.min,max:E.max,step:E.step,value:E.unit==="px"||E.unit==="deg"?Math.round(L.value):Math.round(L.value*100)/100,onChange:_=>g(A,parseFloat(_.target.value)||0),style:h(f({},b),{width:44,padding:"2px 4px",textAlign:"right",flexShrink:0})}),E.unit&&Bn("span",{style:{fontSize:9,color:"#94a3b8",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',flexShrink:0,width:16},children:E.unit})]})}),Bn("button",{type:"button",onClick:()=>u(A),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:Bn(Uu,{size:10})})]},L.name):null}),c.length>0&&jo("div",{children:[jo("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:[Bn(Ol,{size:10}),"Add filter"]}),s&&G(c)]})]})}import{useCallback as hr,useEffect as Zu,useRef as pi,useState as Dl}from"react";import{AlignHorizontalSpaceAround as Qu,AlignVerticalSpaceAround as ep,Columns3 as tp,Grid2x2 as np,RectangleHorizontal as op,Rows3 as rp,UnfoldHorizontal as _l,UnfoldVertical as Nl}from"lucide-react";import{useCallback as Xu,useEffect as Ku,useRef as Hr}from"react";import{jsx as qu}from"react/jsx-runtime";var ys=[0,1,2,4,8,12,16,20,24,28,32];function mr({value:e,onChange:t,onPreview:n,onScrubEnd:r,onReset:o,isModified:i,accentColor:s,defaultUnit:a="rem",snapSteps:l,color:d,style:c,children:p}){let u=Hr(null),g=Hr(null),b=Hr(o),v=Hr(i),R=Hr(!1);b.current=o,v.current=i,Ku(()=>{let G=A=>{let E=g.current;if(!E)return;E.hasMoved=!0,R.current=A.shiftKey;let _=E.unit==="rem"||E.unit==="em"?.1:1;E.accum+=A.movementX*_;let ie=Math.max(0,Math.round((E.startValue+E.accum)*10)/10);if(A.shiftKey&&l){let oe=E.unit==="rem"||E.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,Y=E.unit==="rem"||E.unit==="em"?ie*oe:ie,K=l[l.length-1];for(let H=0;H<l.length-1;H++){let ee=l[H],k=l[H+1];if(Y<=(ee+k)/2){K=ee;break}if(Y<k){K=k;break}}Y>l[l.length-1]&&(K=Math.round(Y/8)*8),ie=E.unit==="rem"||E.unit==="em"?Math.round(K/oe*1e3)/1e3:K}n==null||n(`${ie}${E.unit}`)},L=()=>{let A=g.current;if(!A)return;let E=Math.max(0,Math.round((A.startValue+A.accum)*10)/10);if(R.current&&l){let ie=A.unit==="rem"||A.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,oe=A.unit==="rem"||A.unit==="em"?E*ie:E,Y=l[l.length-1];for(let K=0;K<l.length-1;K++){let H=l[K],ee=l[K+1];if(oe<=(H+ee)/2){Y=H;break}if(oe<ee){Y=ee;break}}oe>l[l.length-1]&&(Y=Math.round(oe/8)*8),E=A.unit==="rem"||A.unit==="em"?Math.round(Y/ie*1e3)/1e3:Y}let _=A.hasMoved&&E!==A.startValue;g.current=null,document.exitPointerLock(),_?t(`${E}${A.unit}`):A.hasMoved?n==null||n(`${A.startValue}${A.unit}`):v.current&&b.current&&b.current(),r==null||r()};return document.addEventListener("mousemove",G),document.addEventListener("mouseup",L),()=>{document.removeEventListener("mousemove",G),document.removeEventListener("mouseup",L)}},[t,n,r]);let C=Xu(G=>{var E;if(G.button!==0)return;G.preventDefault();let L=Co(e),A=L.unit&&L.unit!=="px"?L.unit:a;g.current={startValue:L.num,unit:A,accum:0,hasMoved:!1},(E=u.current)==null||E.requestPointerLock()},[e,a]);return qu("span",{ref:u,onMouseDown:C,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 bs,jsx as Ne,jsxs as ln}from"react/jsx-runtime";function ip({gridCols:e,gridRows:t,gridModified:n,accentColor:r,onColsChange:o,onRowsChange:i}){return Ne(Fn,{style:{width:100},children:ln("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"8px 4px"},children:[Ne("input",{type:"number",min:1,max:12,value:e,onChange:s=>o(parseInt(s.target.value)||1),style:h(f({},pn),{width:32,textAlign:"center",padding:2})}),Ne("span",{style:{fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:n?r:"#999",fontWeight:n?600:400,fontSize:11,margin:"0 4px"},children:"\xD7"}),Ne("input",{type:"number",min:1,max:12,value:t,onChange:s=>i(parseInt(s.target.value)||1),style:h(f({},pn),{width:32,textAlign:"center",padding:2})})]})})}function Hl({element:e,getValue:t,getOriginalValue:n,handleChange:r,isModified:o,onResetProperty:i,isCollapsed:s,onToggle:a,sectionHeaderStyle:l,activeDropdown:d,onDropdownChange:c,panelContentRef:p,accentColor:u,onFieldHover:g,preferredUnit:b,onUnitCycle:v}){let R=c,C=t("display"),G=t("flex-direction"),L=Fl(C,G),A=C==="flex"||C==="inline-flex",E=C==="grid",_=A||E,ie=t("width"),oe=t("height"),Y=o("width")?ie:ti(e,"width"),K=o("height")?oe:ti(e,"height"),H=xs(ie,Y),ee=xs(oe,K),k=t("min-width"),Ae=t("max-width"),X=t("min-height"),ge=t("max-height"),B=yr(t("padding")),ce=t("gap"),Q=t("row-gap"),q=t("column-gap"),Ee=t("grid-template-columns"),De=t("grid-template-rows"),pe=t("overflow"),Pe=Ee.split(/\s+/).filter(le=>le&&le!=="none").length||1,Re=De.split(/\s+/).filter(le=>le&&le!=="none").length||1,[Me,et]=Dl(!1),Ve=d!==null,Tt=Ve||Me,Mt=Ve?.3:Me?.65:1,zt=({mode:le,icon:Ie,active:Ue})=>Ne("button",{type:"button",onClick:()=>$l(le,r),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:Ue?pr(u,.15):"transparent",color:Ue?u:"#64748b",cursor:"pointer",fontSize:14},children:Ie}),tt=(le,Ie,Ue)=>{Ue==="fixed"?r(le,Ie):r(le,fi(Ue,Ie))},gn=le=>{let Ie=yr(t("padding")),Ue=le||"0";r("padding",`${Ie.top} ${Ue} ${Ie.bottom} ${Ue}`)},$=le=>{let Ie=yr(t("padding")),Ue=le||"0";r("padding",`${Ue} ${Ie.right} ${Ue} ${Ie.left}`)},[de,Te]=Dl({}),me=hr((le,Ie)=>Ue=>{Ie(Ue),Te(on=>h(f({},on),{[le]:Ue}))},[]),N=hr(le=>{Te(Ie=>{let Ue=f({},Ie);return delete Ue[le],Ue})},[]),ye=hr(le=>{let Ie=yr(t("padding"));Qe(e,"padding",`${Ie.top} ${le} ${Ie.bottom} ${le}`)},[e,t]),re=hr(le=>{let Ie=yr(t("padding"));Qe(e,"padding",`${le} ${Ie.right} ${le} ${Ie.left}`)},[e,t]),we=hr(le=>Ie=>{Qe(e,le,Ie)},[e]),We=G==="column"||G==="column-reverse",Ge=le=>le==="center"?1:le==="flex-end"||le==="end"?2:0,dt=Ge(t("justify-content")),xt=Ge(t("align-items")),vt=We?xt:dt,Oe=We?dt:xt,ke=pi(null),ht=pi({x:0,y:0}),mn=pi({col:vt,row:Oe});mn.current={col:vt,row:Oe};let Wn=hr((le,Ie)=>{let Ue=["flex-start","center","flex-end"];We?(r("justify-content",Ue[Ie]),r("align-items",Ue[le])):(r("justify-content",Ue[le]),r("align-items",Ue[Ie]))},[We,r]),hn=pi(Wn);hn.current=Wn,Zu(()=>{let Ie=Ue=>{let on=ke.current;if(!on||!Ue.composedPath().includes(on))return;Ue.preventDefault(),Ue.stopPropagation(),ht.current.x+=Ue.deltaX,ht.current.y+=Ue.deltaY;let{col:Qt,row:An}=mn.current,bn=!1;Math.abs(ht.current.x)>=30&&(Qt=Math.max(0,Math.min(2,Qt+(ht.current.x>0?1:-1))),ht.current.x=0,ht.current.y=0,bn=!0),!bn&&Math.abs(ht.current.y)>=30&&(An=Math.max(0,Math.min(2,An+(ht.current.y>0?1:-1))),ht.current.x=0,ht.current.y=0,bn=!0),bn&&(Qt!==mn.current.col||An!==mn.current.row)&&hn.current(Qt,An)};return document.addEventListener("wheel",Ie,{passive:!1,capture:!0}),()=>document.removeEventListener("wheel",Ie,{capture:!0})},[]);let Rt=()=>Ne("div",{ref:ke,onMouseEnter:()=>{et(!0),p.current&&(p.current.style.overflowY="hidden")},onMouseLeave:()=>{et(!1),p.current&&(p.current.style.overflowY="auto")},style:{width:56,height:56,backgroundColor:eo,borderRadius:2,display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gridTemplateRows:"repeat(3, 1fr)",padding:6,gap:2,touchAction:"none"},children:[0,1,2].map(le=>[0,1,2].map(Ie=>Ne("button",{type:"button",onClick:()=>Wn(Ie,le),style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:0},children:Ie===vt&&le===Oe?Ne("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",style:{flexShrink:0},children:Ie===0?ln(bs,{children:[Ne("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),Ne("rect",{x:"1",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),Ne("rect",{x:"1",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]}):Ie===1?ln(bs,{children:[Ne("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),Ne("rect",{x:"2.5",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),Ne("rect",{x:"1.5",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]}):ln(bs,{children:[Ne("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),Ne("rect",{x:"4",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),Ne("rect",{x:"2",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]})}):Ne("div",{style:{width:5,height:5,borderRadius:"50%",backgroundColor:"#aaa"}})},`${le}-${Ie}`)))}),oo=o("grid-template-columns")||o("grid-template-rows");return ln("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[Ne("div",{style:l,children:Ne("span",{children:_?"Auto layout":"Layout"})}),ln("div",{style:{padding:"8px 12px"},children:[ln("div",{style:{display:"flex",gap:2,marginBottom:8,backgroundColor:eo,borderRadius:2,padding:2,opacity:Mt,transition:"opacity 150ms ease"},children:[Ne(zt,{mode:"block",icon:Ne(op,{size:16}),active:L==="block"}),Ne(zt,{mode:"flex-col",icon:Ne(rp,{size:16}),active:L==="flex-col"}),Ne(zt,{mode:"flex-row",icon:Ne(tp,{size:16}),active:L==="flex-row"}),Ne(zt,{mode:"grid",icon:Ne(np,{size:16}),active:L==="grid"})]}),ln("div",{style:{display:"flex",gap:4,marginBottom:8},children:[Ne(vs,{label:"W",property:"width",cssValue:H==="fixed"?ie:`${Math.round(e.getBoundingClientRect().width)}px`,mode:H,onValueChange:le=>r("width",le),onModeChange:le=>{if(le==="fixed"){let Ie=e.getBoundingClientRect();r("width",`${Math.round(Ie.width)}px`)}else r("width",fi(le,ie))},modified:o("width"),dimmed:Ve&&d!=="width",dropdownOpen:d==="width",onDropdownChange:le=>R(le?"width":null),panelContentRef:p,accentColor:u,onReset:()=>i("width"),minValue:k!=="none"&&k!=="0px"&&k!=="auto"?k:"",maxValue:Ae!=="none"&&Ae!=="auto"?Ae:"",onMinChange:le=>r("min-width",le||"0"),onMaxChange:le=>r("max-width",le||"none"),onMinReset:()=>i("min-width"),onMaxReset:()=>i("max-width"),minModified:o("min-width"),maxModified:o("max-width")}),Ne(vs,{label:"H",property:"height",cssValue:ee==="fixed"?oe:`${Math.round(e.getBoundingClientRect().height)}px`,mode:ee,onValueChange:le=>r("height",le),onModeChange:le=>{if(le==="fixed"){let Ie=e.getBoundingClientRect();r("height",`${Math.round(Ie.height)}px`)}else r("height",fi(le,oe))},modified:o("height"),dimmed:Ve&&d!=="height",dropdownOpen:d==="height",onDropdownChange:le=>R(le?"height":null),panelContentRef:p,minValue:X!=="none"&&X!=="0px"&&X!=="auto"?X:"",maxValue:ge!=="none"&&ge!=="auto"?ge:"",onMinChange:le=>r("min-height",le||"0"),onMaxChange:le=>r("max-height",le||"none"),onMinReset:()=>i("min-height"),onMaxReset:()=>i("max-height"),minModified:o("min-height"),maxModified:o("max-height"),accentColor:u,onReset:()=>i("height")})]}),A&&ln("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8},children:[Ne("div",{style:{opacity:Ve?.3:1,transition:"opacity 150ms ease"},children:Rt()}),ln("div",{style:{flex:1,opacity:Mt,transition:"opacity 150ms ease"},children:[Ne("div",{onClick:o("gap")?()=>i("gap"):void 0,title:o("gap")?"Click to reset":void 0,style:{fontSize:9,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:o("gap")?u:"#999",fontWeight:o("gap")?600:400,marginBottom:2,cursor:o("gap")?"pointer":"default"},children:"Gap"}),Ne(Fn,{dimmed:Ve,children:ln("div",{style:{display:"flex",alignItems:"center"},children:[Ne(mr,{value:ce,onChange:le=>{N("gap"),r("gap",le)},onPreview:me("gap",we("gap")),onScrubEnd:()=>N("gap"),onReset:()=>i("gap"),isModified:o("gap"),accentColor:u,defaultUnit:b,children:G==="column"||G==="column-reverse"?Ne(Nl,{size:12,strokeWidth:o("gap")?2.5:1.5}):Ne(_l,{size:12,strokeWidth:o("gap")?2.5:1.5})}),Ne(Qn,{property:"gap",value:de.gap||ce,onChange:le=>r("gap",le),isModified:o("gap")||"gap"in de,style:h(f({},pn),{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})]})})]})]}),E&&ln("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8,opacity:Mt,transition:"opacity 150ms ease"},children:[Ne(ip,{gridCols:Pe,gridRows:Re,gridModified:oo,accentColor:u,onColsChange:le=>r("grid-template-columns",`repeat(${le}, 1fr)`),onRowsChange:le=>r("grid-template-rows",`repeat(${le}, 1fr)`)}),ln("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4},children:[Ne(Fn,{dimmed:Ve,children:ln("div",{style:{display:"flex",alignItems:"center"},children:[Ne(mr,{value:q||ce,onChange:le=>{N("column-gap"),r("column-gap",le)},onPreview:me("column-gap",we("column-gap")),onScrubEnd:()=>N("column-gap"),onReset:()=>i("column-gap"),isModified:o("column-gap"),accentColor:u,defaultUnit:b,children:Ne(_l,{size:12,strokeWidth:o("column-gap")?2.5:1.5})}),Ne(Qn,{property:"column-gap",value:de["column-gap"]||q||ce,onChange:le=>r("column-gap",le),isModified:o("column-gap")||"column-gap"in de,placeholder:"col",style:h(f({},pn),{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})]})}),Ne(Fn,{dimmed:Ve,children:ln("div",{style:{display:"flex",alignItems:"center"},children:[Ne(mr,{value:Q||ce,onChange:le=>{N("row-gap"),r("row-gap",le)},onPreview:me("row-gap",we("row-gap")),onScrubEnd:()=>N("row-gap"),onReset:()=>i("row-gap"),isModified:o("row-gap"),accentColor:u,defaultUnit:b,children:Ne(Nl,{size:12,strokeWidth:o("row-gap")?2.5:1.5})}),Ne(Qn,{property:"row-gap",value:de["row-gap"]||Q||ce,onChange:le=>r("row-gap",le),isModified:o("row-gap")||"row-gap"in de,placeholder:"row",style:h(f({},pn),{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})]})})]})]}),_&&ln("div",{onMouseEnter:()=>g==null?void 0:g("padding"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:4,marginBottom:8,opacity:Mt,transition:"opacity 150ms ease"},children:[Ne(Fn,{style:{flex:1},dimmed:Ve,children:ln("div",{style:{display:"flex",alignItems:"center"},children:[Ne(mr,{value:B.left,onChange:le=>{N("padding-h"),gn(le)},onPreview:me("padding-h",ye),onScrubEnd:()=>N("padding-h"),onReset:()=>i("padding"),isModified:o("padding"),accentColor:u,defaultUnit:b,snapSteps:ys,children:Ne(Qu,{size:12,strokeWidth:o("padding")?2.5:1.5})}),Ne(Qn,{property:"padding",value:de["padding-h"]||B.left,onChange:le=>gn(le),isModified:o("padding")||"padding-h"in de,placeholder:"H pad",style:h(f({},pn),{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})]})}),Ne(Fn,{style:{flex:1},dimmed:Ve,children:ln("div",{style:{display:"flex",alignItems:"center"},children:[Ne(mr,{value:B.top,onChange:le=>{N("padding-v"),$(le)},onPreview:me("padding-v",re),onScrubEnd:()=>N("padding-v"),onReset:()=>i("padding"),isModified:o("padding"),accentColor:u,defaultUnit:b,snapSteps:ys,children:Ne(ep,{size:12,strokeWidth:o("padding")?2.5:1.5})}),Ne(Qn,{property:"padding",value:de["padding-v"]||B.top,onChange:le=>$(le),isModified:o("padding")||"padding-v"in de,placeholder:"V pad",style:h(f({},pn),{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})]})})]}),ln("label",{style:{display:"flex",alignItems:"center",gap:8,cursor:"pointer",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#64748b",opacity:Mt,transition:"opacity 150ms ease"},children:[Ne("input",{type:"checkbox",checked:pe==="hidden",onChange:le=>r("overflow",le.target.checked?"hidden":"visible"),style:{margin:0,accentColor:u}}),"Clip content"]})]})]})}import{AlignCenter as sp,AlignJustify as ap,AlignLeft as lp,AlignRight as cp,Baseline as dp,ChevronDown as up,WholeWord as pp}from"lucide-react";import{jsx as Et,jsxs as ho}from"react/jsx-runtime";var zl={100:"Thin",200:"Extra Light",300:"Light",400:"Regular",500:"Medium",600:"Semi Bold",700:"Bold",800:"Extra Bold",900:"Black"};function Wl({element:e,getValue:t,handleChange:n,isModified:r,onResetProperty:o,isCollapsed:i,onToggle:s,sectionHeaderStyle:a,accentColor:l,colorVariables:d,activeColorDropdown:c,onColorDropdownChange:p,panelContentRef:u,preferredUnit:g,onUnitCycle:b}){var ee;let v=t("font-family"),R=t("font-size"),C=t("font-weight"),G=t("line-height"),L=t("letter-spacing"),A=t("text-align"),E=t("color"),_=String(C),ie=zl[_]||_,oe=Br(e,E),Y=E.includes("var(")?null:Dr(oe,d),K=({align:k,icon:Ae})=>{let X=A===k;return Et("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:X?pr(l,.15):"transparent",color:X?l:"#64748b",cursor:"pointer"},children:Ae})},H=((ee=v.split(",")[0])==null?void 0:ee.trim().replace(/^["']|["']$/g,""))||"System";return ho("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[Et("div",{style:a,children:Et("span",{children:"Typography"})}),ho("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[Et(Fn,{children:ho("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px"},children:[Et("input",{type:"text",value:v,onChange:k=>n("font-family",k.target.value),style:h(f({},pn),{flex:1,minWidth:0,padding:0,fontWeight:r("font-family")?600:400,color:r("font-family")?l:"inherit"}),title:v}),Et(up,{size:12,style:{color:"#999",flexShrink:0,marginLeft:4}})]})}),ho("div",{style:{display:"flex",gap:4},children:[Et(Fn,{style:{flex:1},children:Et("select",{value:_,onChange:k=>n("font-weight",k.target.value),style:h(f({},pn),{padding:"6px 8px",paddingLeft:4,paddingRight:20,cursor:"pointer",fontWeight:r("font-weight")?600:400,color:r("font-weight")?l:"inherit"}),children:Object.entries(zl).map(([k,Ae])=>Et("option",{value:k,children:Ae},k))})}),Et(Fn,{style:{flex:1},children:Et("div",{style:{display:"flex",alignItems:"center",position:"relative"},children:Et(Qn,{property:"font-size",value:R,onChange:k=>n("font-size",k),isModified:r("font-size"),min:1,max:999,style:h(f({},pn),{padding:"6px 8px",paddingRight:24,fontWeight:r("font-size")?600:400,color:r("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})})})]}),ho("div",{style:{display:"flex",gap:4},children:[Et(Fn,{style:{flex:1},children:ho("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[Et(dp,{size:12,style:{color:r("line-height")?l:"#999",flexShrink:0}}),Et(Qn,{property:"line-height",value:G,onChange:k=>n("line-height",k),isModified:r("line-height"),step:.1,min:0,placeholder:"Auto",style:h(f({},pn),{flex:1,minWidth:0,padding:0,fontWeight:r("line-height")?600:400,color:r("line-height")?l:"inherit"}),showUnit:!1})]})}),Et(Fn,{style:{flex:1},children:ho("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[Et(pp,{size:12,style:{color:r("letter-spacing")?l:"#999",flexShrink:0}}),Et(Qn,{property:"letter-spacing",value:L,onChange:k=>n("letter-spacing",k),isModified:r("letter-spacing"),step:.1,placeholder:"\u2014",style:h(f({},pn),{flex:1,minWidth:0,padding:0,fontWeight:r("letter-spacing")?600:400,color:r("letter-spacing")?l:"inherit"}),showUnit:!1})]})})]}),ho("div",{style:{display:"flex",gap:2,backgroundColor:eo,borderRadius:2,padding:2},children:[Et(K,{align:"left",icon:Et(lp,{size:14})}),Et(K,{align:"center",icon:Et(sp,{size:14})}),Et(K,{align:"right",icon:Et(cp,{size:14})}),Et(K,{align:"justify",icon:Et(ap,{size:14})})]}),ho("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0"},children:[Et("span",{onClick:r("color")?()=>o("color"):void 0,title:r("color")?"Click to reset":void 0,style:{fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:r("color")?l:"#64748b",fontWeight:r("color")?600:400,cursor:r("color")?"pointer":"default",width:40,flexShrink:0},children:"Color"}),Et("div",{style:{flex:1,minWidth:0},children:Et(Ss,{value:E,resolvedValue:oe,colorVariables:d,matchingVariable:Y,onChange:k=>n("color",k),accentColor:l,modified:r("color"),panelContentRef:u,isDropdownOpen:c==="color",onDropdownChange:k=>p(k?"color":null)})})]})]})]})}import{Fragment as yp,jsx as Ce,jsxs as Ot}from"react/jsx-runtime";var Gl=[{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 hp(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 xs(e,t){return!t||e==="auto"||e==="fit-content"||e==="max-content"||e==="min-content"?"hug":e==="100%"||t==="100%"?"fill":"fixed"}function fi(e,t){switch(e){case"hug":return"fit-content";case"fill":return"100%";case"fixed":{let n=Co(t);if(typeof n.num=="number"&&!isNaN(n.num)){let r=n.unit==="%"?"px":n.unit||"px";return`${n.num}${r}`}return"auto"}}}function yr(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 Fl(e,t){return e==="grid"?"grid":e==="flex"||e==="inline-flex"?t==="column"||t==="column-reverse"?"flex-col":"flex-row":"block"}function $l(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 eo="rgba(0, 0, 0, 0.04)",pn={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 vs({label:e,property:t,cssValue:n,mode:r,onValueChange:o,onModeChange:i,modified:s,dimmed:a,dropdownOpen:l,onDropdownChange:d,panelContentRef:c,accentColor:p="#3b82f6",onReset:u,minValue:g,maxValue:b,onMinChange:v,onMaxChange:R,onMinReset:C,onMaxReset:G,minModified:L,maxModified:A}){let E=Co(n),_=s?E.unit||gr(t):gr(t),ie=!s&&E.unit&&E.unit!==_?ms(E.num,_):E.num,[oe,Y]=fn(!1),[K,H]=fn(String(ie)),[ee,k]=fn(!1),Ae=Dn(null),X=Dn(null),ge=Dn(null),B=Dn(!1);Jn(()=>{oe||H(String(ie))},[ie,oe]),Jn(()=>{if(!l)return;let Re=et=>{X.current&&!et.composedPath().includes(X.current)&&ge.current&&!et.composedPath().includes(ge.current)&&(d==null||d(!1))},Me=et=>{et.key==="Escape"&&(d==null||d(!1))};return document.addEventListener("mousedown",Re),document.addEventListener("keydown",Me),()=>{document.removeEventListener("mousedown",Re),document.removeEventListener("keydown",Me)}},[l,d]),Jn(()=>{oe&&Ae.current&&(Ae.current.focus(),Ae.current.select())},[oe]);let ce=()=>{let Re=di(K,t,n,s);o(Re||`${Math.max(0,parseFloat(K)||0)}${_}`),Y(!1)},Q=()=>{if(B.current){B.current=!1;return}ce()},q=Re=>{if(Re.key==="Enter"){ce();return}if(Re.key==="Escape"){B.current=!0,H(String(ie)),Y(!1);return}if(Re.key==="ArrowUp"||Re.key==="ArrowDown"){Re.preventDefault();let Me=Re.key==="ArrowUp"?1:-1,et=Re.shiftKey?8:Re.altKey?.1:1,Ve=parseFloat(K)||0,Tt=Math.round(Math.max(0,Ve+Me*et)*1e3)/1e3;H(String(Tt)),o(`${Tt}${_}`)}},Ee={fixed:"Fixed",hug:"Hug",fill:"Fill"},De={fixed:Ce(jl,{size:12}),hug:Ce(gp,{size:12}),fill:Ce(jl,{size:12})},pe=()=>{d==null||d(!l)},Pe=()=>{if(!ge.current||!(c!=null&&c.current))return{position:"absolute",top:"100%",left:-4,right:-4,width:"calc(100% + 8px)",marginTop:4};let Re=ge.current.getBoundingClientRect(),Me=c.current.getBoundingClientRect(),et=c.current.closest('[data-devtools="panel"]'),Ve=et?et.getBoundingClientRect():{top:0,left:0};return{position:"fixed",top:Re.bottom+4-Ve.top,left:Me.left+4-Ve.left,width:Me.width-8}};return Ot("div",{ref:ge,onMouseEnter:()=>k(!0),onMouseLeave:()=>k(!1),style:{flex:1,display:"flex",alignItems:"center",position:"relative",borderRadius:2,border:"1px solid",borderColor:oe?p:ee?"rgba(0,0,0,0.15)":"transparent",backgroundColor:eo,transition:"border-color 100ms ease, opacity 150ms ease",opacity:a?.3:1},children:[Ce("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}),r==="fixed"?oe?Ce("input",{ref:Ae,type:"text",inputMode:"numeric",value:K,onChange:Re=>H(Re.target.value),onKeyDown:q,onBlur:Q,style:h(f({},pn),{flex:1,minWidth:0,padding:"4px 2px"})}):Ce("span",{onClick:()=>Y(!0),style:{flex:1,padding:"4px 2px",fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',cursor:"text"},children:ie}):Ce("span",{style:{flex:1}}),Ot("button",{type:"button",onClick:pe,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:[Ee[r],Ce(ws,{size:12})]}),l&&Ot("div",{ref:X,style:h(f({},Pe()),{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:[Ot("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:r==="fixed"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:r==="fixed"?600:400,cursor:"pointer",textAlign:"left"},children:[De.fixed,Ot("span",{children:["Fixed ",t," (",n,")"]}),r==="fixed"&&Ce(gi,{size:14,style:{marginLeft:"auto"}})]}),Ot("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:r==="hug"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:r==="hug"?600:400,cursor:"pointer",textAlign:"left"},children:[De.hug,Ce("span",{children:"Hug contents"}),r==="hug"&&Ce(gi,{size:14,style:{marginLeft:"auto"}})]}),Ot("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:r==="fill"?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:r==="fill"?600:400,cursor:"pointer",textAlign:"left"},children:[De.fill,Ce("span",{children:"Fill container"}),r==="fill"&&Ce(gi,{size:14,style:{marginLeft:"auto"}})]}),Ce("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",margin:"4px 0"}}),Ot("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[Ot("div",{style:{display:"flex",alignItems:"center",backgroundColor:eo,borderRadius:2,padding:"4px 8px"},children:[Ce("span",{onClick:L?Re=>{Re.stopPropagation(),C==null||C()}:void 0,title:L?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:L?p:"#999",fontWeight:L?600:400,marginRight:8,flexShrink:0,cursor:L?"pointer":"default"},children:"Min"}),Ce("input",{type:"text",value:g||"",placeholder:"\u2014",onChange:Re=>v==null?void 0:v(Re.target.value),onClick:Re=>Re.stopPropagation(),style:h(f({},pn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:L?p:"inherit",fontWeight:L?600:400})})]}),Ot("div",{style:{display:"flex",alignItems:"center",backgroundColor:eo,borderRadius:2,padding:"4px 8px"},children:[Ce("span",{onClick:A?Re=>{Re.stopPropagation(),G==null||G()}:void 0,title:A?"Click to reset":void 0,style:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:A?p:"#999",fontWeight:A?600:400,marginRight:8,flexShrink:0,cursor:A?"pointer":"default"},children:"Max"}),Ce("input",{type:"text",value:b||"",placeholder:"\u2014",onChange:Re=>R==null?void 0:R(Re.target.value),onClick:Re=>Re.stopPropagation(),style:h(f({},pn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:A?p:"inherit",fontWeight:A?600:400})})]})]})]})]})}function Fn({children:e,style:t,dimmed:n}){let[r,o]=fn(!1);return Ce("div",{onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),style:f({position:"relative",borderRadius:2,border:"1px solid",borderColor:r?"rgba(0,0,0,0.15)":"transparent",backgroundColor:eo,transition:"border-color 100ms ease, opacity 150ms ease",opacity:n?.3:1},t),children:e})}function mo({children:e}){let[t,n]=fn(!1);return Ce("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:eo,transition:"border-color 100ms ease"},children:e})}function Qn({property:e,value:t,onChange:n,isModified:r=!1,step:o=1,min:i,max:s,style:a,placeholder:l,showUnit:d=!0,unitStyle:c,preferredUnit:p,onUnitCycle:u}){let g=Co(t),b=gr(e),v=ci[e],C=p&&v&&v.includes(p)?p:b,G=r&&g.unit||C,L=!r&&g.unit&&g.unit!==G?ms(g.num,G):g.num,[A,E]=fn(!1),[_,ie]=fn(""),oe=Q=>{E(!0),ie(String(L||"")),requestAnimationFrame(()=>Q.target.select())},Y=()=>{if(E(!1),_.trim()){let Q=di(_,e,t,r);Q&&n(Q)}},K=Q=>{let q=Q.target.value;ie(q);let Ee=q.trim(),De=Ee.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i),pe=Ee.match(/^(-?[\d.]+)$/);if(De){let Pe=parseFloat(De[1]);isNaN(Pe)||n(`${Pe}${De[2].toLowerCase()}`)}else if(pe){let Pe=parseFloat(pe[1]);isNaN(Pe)||n(`${Pe}${G}`)}},H=Q=>{if(Q.key==="Enter"){if(_.trim()){let q=di(_,e,t,r);q&&n(q)}Q.target.blur();return}if(Q.key==="ArrowUp"||Q.key==="ArrowDown"){Q.preventDefault();let q=Q.shiftKey?10:Q.altKey?.1:1,Ee=(Q.key==="ArrowUp"?1:-1)*o*q,De=parseFloat(_)||L||0,pe=Math.round((De+Ee)*1e3)/1e3;i!==void 0&&(pe=Math.max(i,pe)),s!==void 0&&(pe=Math.min(s,pe)),ie(String(pe)),n(`${pe}${G}`)}},ee=/^-?[\d.]/.test(t.trim()),k=A?_:ee?String(L):"",X=A&&/\s*(rem|em|px|%)\s*$/i.test(_)?"":G,ge=u&&(X==="rem"||X==="px"),B={fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",pointerEvents:"none"},ce=h(f({},c!=null?c:B),{pointerEvents:"auto",cursor:"pointer"});return Ot(yp,{children:[Ce("input",{type:"text",inputMode:"decimal",value:k,onFocus:oe,onBlur:Y,onChange:K,onKeyDown:H,placeholder:l,style:a}),d&&X&&Ce("span",{style:ge?ce:c!=null?c:B,onClick:ge?u:void 0,title:ge?"Click to switch units":void 0,children:X})]})}function Ss({value:e,resolvedValue:t,colorVariables:n,matchingVariable:r,onChange:o,accentColor:i="#3b82f6",modified:s,panelContentRef:a,isDropdownOpen:l,onDropdownChange:d}){let[c,p]=fn(!1),u=!e.includes("var(")&&r?r.usage:e,[g,b]=fn(u),[v,R]=fn(!1),[C,G]=fn(!1),[L,A]=fn(!1),E=Dn(null),_=Dn(null),ie=Dn(null),oe=l!==void 0?l:v,Y=d||R,K=io(()=>{if(!ie.current)return{position:"fixed",top:0,left:0,width:200};let q=ie.current.getBoundingClientRect(),Ee=ie.current.closest('[data-devtools="panel"]'),De=Ee?Ee.getBoundingClientRect():{top:0,left:0};if(a!=null&&a.current){let pe=a.current.getBoundingClientRect();return{position:"fixed",top:q.bottom+4-De.top,left:pe.left+4-De.left,width:pe.width-8}}return{position:"fixed",top:q.bottom+4-De.top,left:q.left-De.left,width:q.width}},[a]);Jn(()=>{if(!c){let q=!e.includes("var(")&&r?r.usage:e;b(q)}},[e,c,r]),Jn(()=>{if(!oe&&!C)return;let q=De=>{ie.current&&!De.composedPath().includes(ie.current)&&(Y(!1),G(!1))},Ee=De=>{De.key==="Escape"&&(Y(!1),G(!1))};return document.addEventListener("mousedown",q),document.addEventListener("keydown",Ee),()=>{document.removeEventListener("mousedown",q),document.removeEventListener("keydown",Ee)}},[oe,C]),Jn(()=>{c&&E.current&&(E.current.focus(),E.current.select())},[c]);let H=mi(()=>{if(!g||g.startsWith("#")||g.startsWith("rgb")||g.startsWith("hsl")||g.startsWith("oklch"))return[];let q=g.toLowerCase();return n.filter(Ee=>Ee.name.toLowerCase().includes(q)||Ee.usage.toLowerCase().includes(q)).slice(0,8)},[g,n]),ee=()=>{o(g),p(!1),G(!1)},k=q=>{b(q),q.includes("var")||q.includes("--")||q.length>0&&!q.startsWith("#")?G(!0):G(!1)},Ae=q=>{b(q.usage),o(q.usage),Y(!1),G(!1),p(!1)},X=()=>{setTimeout(()=>{!oe&&!C&&ee()},150)},ge=q=>{q.key==="Enter"?ee():q.key==="Escape"&&(b(e),p(!1),G(!1))},B=mi(()=>{let q=t.trim().toLowerCase();if(q.startsWith("#"))return q.length===4?`#${q[1]}${q[1]}${q[2]}${q[2]}${q[3]}${q[3]}`:q.slice(0,7);let Ee=q.match(/rgba?\((\d+),?\s*(\d+),?\s*(\d+)/);if(Ee){let pe=parseInt(Ee[1],10).toString(16).padStart(2,"0"),Pe=parseInt(Ee[2],10).toString(16).padStart(2,"0"),Re=parseInt(Ee[3],10).toString(16).padStart(2,"0");return`#${pe}${Pe}${Re}`}let De=q.match(/oklch\(\s*([\d.]+)/);if(De){let pe=Math.max(0,Math.min(1,parseFloat(De[1]))),Pe=Math.round(pe*255).toString(16).padStart(2,"0");return`#${Pe}${Pe}${Pe}`}return"#000000"},[t]),ce=q=>{let Ee=q.target.value;b(Ee),o(Ee)},Q=e.includes("var(");return Ot("div",{ref:ie,onMouseEnter:()=>A(!0),onMouseLeave:()=>A(!1),style:{position:"relative",borderRadius:2,border:"1px solid",borderColor:c?i:L?"rgba(0,0,0,0.15)":"transparent",backgroundColor:eo,transition:"border-color 100ms ease",overflow:"hidden"},children:[Ot("div",{style:{display:"flex",alignItems:"center",minWidth:0},children:[Ot("div",{style:{position:"relative",marginLeft:8,flexShrink:0},children:[Ce("input",{type:"color",value:B,onChange:ce,style:{width:12,height:12,padding:0,border:"none",cursor:"pointer",opacity:0,position:"absolute",top:0,left:0}}),Ce("div",{style:{width:12,height:12,borderRadius:2,backgroundColor:t,border:"1px solid rgba(0,0,0,0.1)",pointerEvents:"none"}})]}),c?Ce("input",{ref:E,type:"text",value:g,onChange:q=>k(q.target.value),onKeyDown:ge,onBlur:X,style:h(f({},pn),{flex:1,minWidth:0})}):Ce("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&&Ce("button",{type:"button",onClick:()=>Y(!oe),style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:24,border:"none",background:"none",cursor:"pointer",color:"#999",flexShrink:0},children:Ce(ws,{size:12})})]}),C&&H.length>0&&Ce("div",{style:h(f({},K()),{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(q=>Ot("button",{type:"button",onClick:()=>Ae(q),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:[Ce("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:q.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Ce("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:q.name})]},q.name))}),oe&&Ce("div",{ref:_,style:h(f({},K()),{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(q=>Ot("button",{type:"button",onClick:()=>Ae(q),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",backgroundColor:u===q.usage||e===q.usage?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:u===q.usage||e===q.usage?600:400,cursor:"pointer",textAlign:"left",fontSize:12},children:[Ce("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:q.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Ce("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:q.name}),(u===q.usage||e===q.usage)&&Ce(gi,{size:14,style:{marginLeft:"auto",flexShrink:0}})]},q.name))})]})}function Yl({element:e,elementInfo:t,selector:n,styleModifications:r,dispatch:o,onClose:i,onHover:s,accentColor:a="#3b82f6",toolbarRef:l}){var tt,gn;let d=Dn(null),c=Dn(null),[p,u]=fn(()=>{try{return!!localStorage.getItem("devtools-panel-position")}catch($){return!1}});Jn(()=>{if(p)return;let $=setTimeout(()=>u(!0),50);return()=>clearTimeout($)},[p]);let[g,b]=fn(null),[v,R]=fn(null),C=g!==null||v!==null,[G,L]=fn("rem"),A=io(()=>{L($=>$==="rem"?"px":"rem")},[]),E=Dn(new Map),[_,ie]=fn(""),oe=mi(()=>ts(),[]);Jn(()=>{let $=de=>{var me;if(de.key!=="Escape")return;let Te=document.activeElement;Te&&((me=d.current)!=null&&me.contains(Te))||i()};return window.addEventListener("keydown",$),()=>window.removeEventListener("keydown",$)},[i]);let Y=Dn({top:0,left:0,maxHeight:400}),[,K]=fn(0),H="devtools-panel-position",ee=Dn({x:0,y:0}),k=Dn(null),Ae=Dn(!1);Jn(()=>{try{let $=localStorage.getItem(H);if($){let de=JSON.parse($);typeof de.top=="number"&&typeof de.left=="number"&&(Ae.current=!0,Y.current=h(f({},Y.current),{top:de.top,left:de.left}))}}catch($){}},[]),Jn(()=>{let $=Te=>{var mn;let me=k.current;if(!me)return;let N=me.startOffsetX+(Te.clientX-me.startX),ye=me.startOffsetY+(Te.clientY-me.startY),re=280,we=16,We=Math.max(we,Math.min(window.innerWidth-re-we,Y.current.left+N)),Ge=Math.max(we,Y.current.top+ye);ee.current={x:We-Y.current.left,y:Ge-Y.current.top};let dt=d.current,xt=dt==null?void 0:dt.parentElement;if(!xt)return;xt.style.top=`${Ge}px`,xt.style.left=`${We}px`;let vt=(mn=l==null?void 0:l.current)==null?void 0:mn.getBoundingClientRect(),Oe=window.innerHeight-16;vt&&We+re>vt.left&&(Oe=vt.top-8);let ke=Math.max(0,Ge),ht=Math.max(200,Oe-ke);dt&&(dt.style.maxHeight=`${ht}px`)},de=()=>{if(!k.current)return;let Te=Y.current.top+ee.current.y,me=Y.current.left+ee.current.x;Y.current=h(f({},Y.current),{top:Te,left:me}),ee.current={x:0,y:0},Ae.current=!0;try{localStorage.setItem(H,JSON.stringify({top:Te,left:me}))}catch(N){}k.current=null};return window.addEventListener("mousemove",$),window.addEventListener("mouseup",de),()=>{window.removeEventListener("mousemove",$),window.removeEventListener("mouseup",de)}},[]);let X=io($=>{$.button!==0||$.target.closest("button")||($.preventDefault(),k.current={startX:$.clientX,startY:$.clientY,startOffsetX:ee.current.x,startOffsetY:ee.current.y})},[]);Jn(()=>{ee.current={x:0,y:0};let $=(me=!1)=>{var Oe;let N=d.current,ye=280,re=8,we,We;if(Ae.current)we=Y.current.top,We=Y.current.left;else{let ke=e.getBoundingClientRect();We=ke.right+re,we=ke.top,We+ye>window.innerWidth-re&&(We=ke.left-ye-re),We<re&&(We=Math.max(re,(window.innerWidth-ye)/2))}let Ge=(Oe=l==null?void 0:l.current)==null?void 0:Oe.getBoundingClientRect(),dt=window.innerHeight-16;Ge&&We+ye>Ge.left&&(dt=Ge.top-re);let xt=Math.max(0,we),vt=Math.max(200,dt-xt);if(Y.current={top:we,left:We,maxHeight:vt},me&&N){let ke=N.parentElement;ke&&!Ae.current&&(ke.style.top=`${we+ee.current.y}px`,ke.style.left=`${We+ee.current.x}px`),N.style.maxHeight=`${vt}px`}else K(ke=>ke+1)};$(!1);let de=()=>$(!0),Te=()=>$(!1);return window.addEventListener("scroll",de,{passive:!0}),window.addEventListener("resize",Te,{passive:!0}),()=>{window.removeEventListener("scroll",de),window.removeEventListener("resize",Te)}},[e]),Jn(()=>{let $=d.current;if(!$)return;let de=Te=>{let me=c.current;if(!me){Te.preventDefault();return}let{scrollTop:N,scrollHeight:ye,clientHeight:re}=me,we=N<=0&&Te.deltaY<0,We=N+re>=ye&&Te.deltaY>0;(we||We)&&Te.preventDefault()};return $.addEventListener("wheel",de,{passive:!1}),()=>$.removeEventListener("wheel",de)},[]);let ge=mi(()=>r.find($=>$.selector===n),[r,n]),B=io($=>{let de=ge==null?void 0:ge.changes.find(Te=>Te.property===$);if(de)return de.modified;if($.includes("color")){let Te=Ki(e,$);if(Te&&Te.includes("var("))return Te}return Ar(e,$)},[e,ge]),ce=io($=>{if(E.current.has($))return E.current.get($);let de=ge==null?void 0:ge.changes.find(me=>me.property===$);if(de)return de.original;let Te=Ar(e,$);return E.current.set($,Te),Te},[e,ge]),Q=io(($,de)=>{let Te=ce($);Qe(e,$,de),$==="backdrop-filter"&&Qe(e,"-webkit-backdrop-filter",de),o({type:"MODIFY_STYLE",payload:{selector:n,element:t,property:$,original:Te,modified:de}})},[e,n,t,o,ce]),q=io(()=>{es(n,r);let $=r.find(de=>de.selector===n);if($)for(let de of $.changes)o({type:"CLEAR_STYLE",payload:{selector:n,property:de.property}});E.current.clear()},[n,r,o]),Ee=io($=>{let de=r.find(me=>me.selector===n);de!=null&&de.changes.find(me=>me.property===$)&&e instanceof HTMLElement&&(e.style.removeProperty($),o({type:"CLEAR_STYLE",payload:{selector:n,property:$}}),E.current.delete($))},[e,n,r,o]),De=io(()=>{let $=_.split(";").map(de=>de.trim()).filter(de=>de);for(let de of $){let Te=de.indexOf(":");if(Te>0){let me=de.slice(0,Te).trim(),N=de.slice(Te+1).trim();me&&N&&Q(me,N)}}ie("")},[_,Q]),pe=io($=>{var de;return(de=ge==null?void 0:ge.changes.some(Te=>Te.property===$))!=null?de:!1},[ge]),Pe=$=>{var ye;let de=B($.property),Te=pe($.property),me=!Te&&hp($.property,de),N={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(me&&$.type!=="backdrop-filter")return Ce(mo,{modified:!1,children:Ce("input",{type:"text",value:"",placeholder:"\u2014",onFocus:()=>{},onChange:re=>Q($.property,re.target.value),style:h(f({},N),{color:"#999"})})});switch($.type){case"color":{let re=Br(e,de),we=de.includes("var(")?null:Dr(re,oe);return Ce(Ss,{value:de,resolvedValue:re,colorVariables:oe,matchingVariable:we,onChange:We=>Q($.property,We),accentColor:a,modified:Te,panelContentRef:c,isDropdownOpen:v===$.property,onDropdownChange:We=>R(We?$.property:null)})}case"number":{if(!!ci[$.property])return Ce(mo,{modified:Te,children:Ce(Qn,{property:$.property,value:de,onChange:We=>Q($.property,We),isModified:Te,min:$.min,max:$.max,step:$.step||1,style:h(f({},N),{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:G,onUnitCycle:A})});let{num:we}=Co(de);return Ce(mo,{modified:Te,children:Ce("input",{type:"number",value:we,min:$.min,max:$.max,step:$.step||1,onChange:We=>Q($.property,We.target.value),style:N})})}case"select":return Ce(mo,{modified:Te,children:Ot("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[Ce("select",{value:de,onChange:re=>Q($.property,re.target.value),style:h(f({},N),{cursor:"pointer",paddingLeft:4,paddingRight:24,appearance:"none",WebkitAppearance:"none"}),children:(ye=$.options)==null?void 0:ye.map(re=>Ce("option",{value:re,children:re},re))}),Ce("div",{style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#999",display:"flex",alignItems:"center"},children:Ce(ws,{size:12})})]})});case"spacing":return Ce(mo,{modified:Te,children:Ce("input",{type:"text",value:de,onChange:re=>Q($.property,re.target.value),placeholder:"e.g., 10px or 10px 20px",style:N})});case"backdrop-filter":return Ce(Bl,{value:de,onChange:re=>Q($.property,re),accentColor:a,modified:Te,panelContentRef:c});default:return Ce(mo,{modified:Te,children:Ce("input",{type:"text",value:de,onChange:re=>Q($.property,re.target.value),style:N})})}},Re=(tt=ge==null?void 0:ge.changes.length)!=null?tt:0,Me=(gn=ge==null?void 0:ge.captured)!=null?gn:!1,et=h(f({position:"fixed",top:Y.current.top,left:Y.current.left,width:280,maxHeight:Y.current.maxHeight,backgroundColor:"rgba(255, 255, 255, 0.85)",backdropFilter:"blur(32px)",WebkitBackdropFilter:"blur(32px)"},wo),{zIndex:1e4,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontSize:12,overflow:"hidden",display:"flex",flexDirection:"column",opacity:p?1:0,transition:"opacity 150ms ease"}),Ve={display:"flex",alignItems:"center",justifyContent:"space-between",margin:"3px 3px 0",padding:"8px 7px 8px 12px",borderBottom:"1px solid rgba(0,0,0,0.1)",backgroundColor:"#f8fafc",cursor:k.current?"grabbing":"grab"},Tt={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"},Mt={display:"flex",alignItems:"center",padding:"4px 12px",gap:8},zt={width:80,fontSize:11,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#64748b",flexShrink:0};return Ce("div",{"data-devtools":"panel-wrapper",style:{position:"fixed",top:Y.current.top+ee.current.y,left:Y.current.left+ee.current.x,zIndex:1e4,pointerEvents:"none"},children:Ot("div",{ref:d,"data-devtools":"panel",style:h(f({},et),{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:[Ot("div",{style:Ve,onMouseDown:X,children:[Ot("div",{style:{display:"flex",alignItems:"center",gap:8,overflow:"hidden"},children:[Ce("span",{style:{fontWeight:600,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.tagName}),Re>0&&Ce("span",{style:{backgroundColor:Me?"#999999":a,color:"#fff",fontSize:9,padding:"1px 4px",borderRadius:2},children:Re})]}),Ot("div",{style:{display:"flex",gap:4},children:[Re>0&&Ce("button",{type:"button",onClick:q,title:"Reset all changes",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,border:"none",background:"none",cursor:"pointer",color:"#64748b",borderRadius:2},children:Ce(fp,{size:14})}),Ce("button",{type:"button",onClick:i,title:"Close",style:{display:"flex",alignItems:"center",justifyContent:"center",width:24,height:24,border:"none",background:"none",cursor:"pointer",color:"#64748b",borderRadius:2},children:Ce(mp,{size:14})})]})]}),Ot("div",{ref:c,style:{flex:1,overflowY:"auto",margin:"0 3px 3px"},children:[Ce("div",{style:{opacity:v?.3:1,transition:"opacity 150ms ease"},children:Ce(Hl,{element:e,getValue:B,getOriginalValue:ce,handleChange:Q,isModified:pe,onResetProperty:Ee,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:Tt,activeDropdown:g,onDropdownChange:b,panelContentRef:c,accentColor:a,onFieldHover:s,preferredUnit:G,onUnitCycle:A})}),Ce("div",{style:{opacity:g?.3:1,transition:"opacity 150ms ease"},children:Ce(Wl,{element:e,getValue:B,handleChange:Q,isModified:pe,onResetProperty:Ee,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:Tt,accentColor:a,colorVariables:oe,activeColorDropdown:v,onColorDropdownChange:R,panelContentRef:c,preferredUnit:G,onUnitCycle:A})}),Gl.map(($,de)=>{let Te=de===Gl.length-1,me=v&&$.properties.some(ye=>ye.property===v);return Ot("div",{style:{borderBottom:Te?"none":"1px solid rgba(0,0,0,0.08)",opacity:C&&!me?.3:1,transition:"opacity 150ms ease"},children:[Ce("div",{style:Tt,children:Ce("span",{children:$.name})}),Ce("div",{style:{padding:"4px 0"},children:$.properties.map(ye=>{let re=pe(ye.property),we=me&&ye.property!==v;return Ot("div",{style:h(f({},Mt),{opacity:we?.3:1,transition:"opacity 150ms ease"}),children:[Ce("span",{onClick:re?()=>Ee(ye.property):void 0,title:re?"Click to reset":void 0,style:h(f({},zt),{color:re?a:"#64748b",fontWeight:re?600:400,cursor:re?"pointer":"default"}),children:ye.label}),Ce("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:Pe(ye)})]},ye.property)})})]},$.name)}),Ot("div",{style:{opacity:C?.3:1,transition:"opacity 150ms ease"},children:[Ce("div",{style:Tt,children:Ce("span",{children:"Raw CSS"})}),Ot("div",{style:{padding:"8px 12px"},children:[Ce("textarea",{value:_,onChange:$=>ie($.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"}}),_.trim()&&Ce("button",{type:"button",onClick:De,style:{marginTop:4,padding:"4px 8px",width:"100%",fontSize:11,border:"none",borderRadius:2,backgroundColor:a,color:"#fff",cursor:"pointer",opacity:_.trim()?1:.5},children:"Apply"})]})]})]})]})})}import{useEffect as bp,useLayoutEffect as xp,useState as vp}from"react";import{Fragment as Ep,jsx as Go,jsxs as Cp}from"react/jsx-runtime";var Cs=["flex-start","center","flex-end"],Es=["flex-start","center","flex-end"];function Sp(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function wp(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 Jl(e){let t=Array.from(e.children);if(t.length===0)return null;let n=1/0,r=1/0,o=-1/0,i=-1/0;for(let s of t){let a=s.getBoundingClientRect();a.width===0&&a.height===0||(a.top<n&&(n=a.top),a.left<r&&(r=a.left),a.bottom>o&&(o=a.bottom),a.right>i&&(i=a.right))}return n===1/0?null:new DOMRect(r,n,i-r,o-n)}function Ul({element:e,modifier:t,accentColor:n,refreshKey:r=0}){let[o,i]=vp(null);if(bp(()=>{if(!e){i(null);return}let v=()=>i(Jl(e));return v(),window.addEventListener("scroll",v,{passive:!0}),window.addEventListener("resize",v,{passive:!0}),()=>{window.removeEventListener("scroll",v),window.removeEventListener("resize",v)}},[e]),xp(()=>{e&&i(Jl(e))},[e,r]),!o)return null;let s=o,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=Sp(a.justifyContent);if(v){let R=Cs.indexOf(v);c==="horizontal"?(R>0&&u.push("left"),R<Cs.length-1&&u.push("right")):(R>0&&u.push("up"),R<Cs.length-1&&u.push("down"))}}else{let v=wp(a.alignItems);if(v){let R=Es.indexOf(v);p==="horizontal"?(R>0&&u.push("left"),R<Es.length-1&&u.push("right")):(R>0&&u.push("up"),R<Es.length-1&&u.push("down"))}}if(u.length===0)return null;let g=14,b=7;return Go(Ep,{children:u.map(v=>{let R,C;switch(v){case"right":R=s.right+g,C=s.top+s.height/2;break;case"left":R=s.left-g,C=s.top+s.height/2;break;case"down":R=s.left+s.width/2,C=s.bottom+g;break;case"up":R=s.left+s.width/2,C=s.top-g;break}let G=v==="right"?0:v==="left"?180:v==="down"?90:-90,L={position:"fixed",left:R-b,top:C-b,width:b*2,height:b*2,pointerEvents:"none",zIndex:9997};return Go("div",{"data-devtools":"swipe-hint",style:L,children:Go("svg",{width:b*2,height:b*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:Cp("g",{transform:`rotate(${G})`,children:[Go("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),Go("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),Go("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),Go("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},v)})})}import{useEffect as kp,useLayoutEffect as Tp,useState as Mp}from"react";import{jsx as ks,jsxs as Ts}from"react/jsx-runtime";function Ip(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 Vl({element:e,fontSize:t,lineHeight:n,accentColor:r,hoveredProperty:o,draggingProperty:i,cursorViewport:s}){let[a,l]=Mp(null);if(kp(()=>{if(!e){l(null);return}let C=()=>{l(ur(e))};return C(),window.addEventListener("scroll",C,{passive:!0}),window.addEventListener("resize",C,{passive:!0}),()=>{window.removeEventListener("scroll",C),window.removeEventListener("resize",C)}},[e]),Tp(()=>{e&&l(ur(e))},[e,t,n]),!a)return null;let d=a.width,c=a.height,p=Ip(r,.2),u=i!=null?i:o,g=8,b=2,v={position:"fixed",top:a.top,left:a.left,width:d,height:c,pointerEvents:"none",zIndex:9996,overflow:"visible"},R=C=>C==="font-size"?`${Math.round(t)}`:(t>0?n/t:1.2).toFixed(2).replace(/\.?0+$/,"");return Ts("div",{"data-devtools":"text-handles",style:v,children:[Ts("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[ks("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)&&ks("rect",{x:d-b/2,y:c/2-g/2,width:b,height:g,fill:r,stroke:"#ffffff",strokeWidth:u==="font-size"?4:2,paintOrder:"stroke"}),(u==="line-height"||!u)&&ks("rect",{x:d/2-g/2,y:c-b/2,width:g,height:b,fill:r,stroke:"#ffffff",strokeWidth:u==="line-height"?4:2,paintOrder:"stroke"})]}),s&&u&&(()=>{let C=u==="font-size"?"Aa":"Lh",G=R(u);return Ts("div",{style:{position:"fixed",left:s.x+8,top:s.y-28,background:r,color:"#fff",fontSize:11,fontWeight:600,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',lineHeight:1,padding:"4px 4px",borderRadius:0,whiteSpace:"nowrap",pointerEvents:"none",zIndex:9997},children:[C," ",G]})})()]})}import{Fragment as xr,jsx as gt,jsxs as br}from"react/jsx-runtime";var Xl=8,Ms=[0,1,2,4,8,12,16,20,24,28,32],Is="devtools-active-text";function Kl(e,t,n=0,r,o){let i=e.left+window.scrollX+4,s=t==="top-left"?e.top+window.scrollY-Yn-n*Yn+4:e.bottom+window.scrollY+4-1+n*Yn,a=window.scrollY+4,l=window.scrollY+window.innerHeight-Yn-4,d=90,c=!1;if(r&&o!==void 0){let p=r.getBoundingClientRect();if(e.left+4+o+4+d>p.left){let g=window.scrollY+p.top-Yn-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:r,activeAnnotationIds:o,queuePositionMap:i,inFlightStyleSelectors:s,inFlightSelectorColors:a,onAttachImages:l,onReply:d,onViewThread:c,onCloseThread:p,onModelComponentsAdd:u,onModelComponentFocus:g,onModelComponentHover:b,modelComponentNames:v,modelPanelHoveredComponent:R,modelSpacingTokenHover:C,highlightedAnnotationIds:G,focusedThreadAnnotationId:L,externalCanvasRef:A,toolbarRef:E}){var Qs,ea,ta,na,oa,ra,ia,sa,aa;let{canvasRef:_,redrawAll:ie,resizeCanvas:oe}=Za(),Y=nn(m=>{_.current=m,A&&(A.current=m)},[A,_]),K=Yt(!1);yn(()=>{let m=_.current;if(!m)return;let y=()=>{K.current&&(K.current=!1,m.style.pointerEvents="")},Z=M=>{M.button===0&&K.current&&y()};return window.addEventListener("mousedown",Z),()=>window.removeEventListener("mousedown",Z)},[_]);let[H,ee]=bt(!1),[k,Ae]=bt(()=>{if(typeof window=="undefined")return null;try{let m=localStorage.getItem(Is);return m?JSON.parse(m):null}catch(m){return null}}),[X,ge]=bt(null),[B,ce]=bt(null),[Q,q]=bt(null),Ee=Yt(null),De=Yt(null),pe=Yt({x:0,y:0}),Pe=Yt([]),Re=Yt(0),[Me,et]=bt(null),[Ve,Tt]=bt(new Map),Mt=Yt(0),zt=Yt(null),[tt,gn]=bt(null),[$,de]=bt(null),[Te,me]=bt(null),[N,ye]=bt(null),re=Yt({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}),[we,We]=bt(null),[Ge,dt]=bt(null),[xt,vt]=bt(null),[Oe,ke]=bt(null),ht=Yt({x:0,y:0}),[mn,Wn]=bt({x:0,y:0}),hn=Yt({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}),[Rt,oo]=bt(null),[dn,le]=bt(null),[Ie,Ue]=bt(null),[on,Qt]=bt(!1),[An,bn]=bt(0),[rn,Pn]=bt(null),xn=Yt({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}),[sn,Mo]=bt(null),[Cn,Ko]=bt(null),[Jt,vn]=bt(null),Vn=Yt({isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}),[Ht,Ft]=bt(null),[On,Dt]=bt(null),[at,_t]=bt(null),Wt=Qa(),qo=Yt(a);qo.current=a;let co=nn(m=>{let y=qo.current;if(!y||y.size===0)return!1;for(let Z of y.keys())try{if(m.matches(Z))return!0}catch(M){}return!1},[]),kr=Yt(e);kr.current=e;let uo=Yt(k);uo.current=k;let po=Yt([]),Zo=Yt(n);Zo.current=n;let[kt,En]=bt(null),T=e.selectedAnnotationIds;po.current=T;let z=nn((m,y=!1)=>{t({type:"SELECT_ANNOTATION",payload:{id:m,addToSelection:y}})},[t]),te=nn(()=>{t({type:"SELECT_ANNOTATION",payload:{id:null}})},[t]),[he,se]=bt(null),[ve,Fe]=bt({x:window.scrollX,y:window.scrollY});yn(()=>(oe(),window.addEventListener("resize",oe),()=>window.removeEventListener("resize",oe)),[oe]),yn(()=>{let m=()=>{Fe({x:window.scrollX,y:window.scrollY})};return window.addEventListener("scroll",m,{passive:!0}),()=>window.removeEventListener("scroll",m)},[]),yn(()=>{k?localStorage.setItem(Is,JSON.stringify(k)):localStorage.removeItem(Is)},[k]),el(k,Ae,X,e.annotations,t);let $e=Yt(Me);$e.current=Me,yn(()=>{if(e.activeTool!=="model"||!e.isAnnotating)return;let m=y=>{if(!y.altKey||!$e.current)return;y.preventDefault();let Z=y.deltaY>0?-1:1;Mt.current=Math.max(0,Mt.current+Z);let M=zt.current;if(M){let I=Qr(M,Mt.current);et(I)}};return window.addEventListener("wheel",m,{passive:!1}),()=>window.removeEventListener("wheel",m)},[e.activeTool,e.isAnnotating]),yn(()=>{e.activeTool!=="model"&&(et(null),Tt(new Map),Mt.current=0,zt.current=null)},[e.activeTool]),yn(()=>{var Z;let m=(Z=Me==null?void 0:Me.name)!=null?Z:null,y=m&&(v!=null&&v.has(m))?m:null;b==null||b(y)},[Me,v,b]);let[He,Lt]=bt(null);yn(()=>{var Z;if(!R){Lt(null);return}let m=lr(R.name),y=R.instanceIndex;Lt((Z=m[y%m.length])!=null?Z:null)},[R]);let[x,P]=bt([]);yn(()=>{var m,y;if(!C){P([]);return}(y=(m=C.token)==null?void 0:m.bindings)!=null&&y.length?P(Vi(C.token)):P(Ji(C.px))},[C]);let ae=Yt(null),J=Yt(null);ae.current=Rt,J.current=dn,yn(()=>{let m=["flex-start","center","flex-end"],y=["flex-start","center","flex-end"],M=null,I=!1,W=null,fe=null,F=(be,_e)=>{let it=Fo(be,_e);for(;it&&it!==document.documentElement;){let wt=window.getComputedStyle(it).display;if(wt==="flex"||wt==="inline-flex")return it;it=it.parentElement}return null},ne=be=>{let _e=window.getComputedStyle(be).flexDirection;return _e==="column"||_e==="column-reverse"?"vertical":"horizontal"},S=be=>{let _e=be.getAttribute("data-pm");return _e||(_e=Math.random().toString(36).substring(2,8),be.setAttribute("data-pm",_e)),{selector:`[data-pm="${_e}"]`,durableSelector:Nn(be)}},w=()=>{I=!0,M&&clearTimeout(M),M=setTimeout(()=>{I=!1,M=null},300)},U=(be,_e,lt)=>{let it=ne(be);if(_e===it){let qe=window.getComputedStyle(be).justifyContent,Pt=qe==="normal"||qe==="flex-start"||qe==="start"?"flex-start":qe==="flex-end"||qe==="end"?"flex-end":qe==="center"?"center":null;if(!Pt)return;let an=m.indexOf(Pt)+lt;if(an<0||an>=m.length)return;let fo=m[an],{selector:Lo,durableSelector:Li}=S(be);Qe(be,"justify-content",fo),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Lo,durableSelector:Li,element:Rn(be),changes:[{property:"justify-content",original:qe,modified:fo}]}})}else{let qe=window.getComputedStyle(be).flexDirection,Pt=it==="horizontal"?"column":"row",{selector:Kn,durableSelector:an}=S(be);Qe(be,"flex-direction",Pt),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Kn,durableSelector:an,element:Rn(be),changes:[{property:"flex-direction",original:qe,modified:Pt}]}})}bn(wt=>wt+1)},O=(be,_e,lt)=>{let wt=ne(be)==="horizontal"?"vertical":"horizontal";if(_e!==wt)return;let Pt=window.getComputedStyle(be).alignItems,Kn=Pt==="normal"||Pt==="stretch"||Pt==="flex-start"||Pt==="start"?"flex-start":Pt==="flex-end"||Pt==="end"?"flex-end":Pt==="center"?"center":null;if(!Kn)return;let fo=y.indexOf(Kn)+lt;if(fo<0||fo>=y.length)return;let Lo=y[fo],{selector:Li,durableSelector:jc}=S(be);Qe(be,"align-items",Lo),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Li,durableSelector:jc,element:Rn(be),changes:[{property:"align-items",original:Pt,modified:Lo}]}}),bn(Gc=>Gc+1)},D=20,j=null,V=null,Se=0,ze=(be,_e,lt)=>{let it=F(_e,lt);Pn(it?{modifier:be,target:it}:null)},Ze=be=>{if(!(e.activeTool!=="hand"||!e.isAnnotating)){if(be.key==="Shift"&&!be.altKey){let _e=ht.current;ze("shift",_e.x,_e.y)}else if(be.key==="Alt"&&!be.shiftKey){let _e=ht.current;ze("alt",_e.x,_e.y)}}},ot=be=>{if(e.activeTool!=="hand"||!e.isAnnotating)return;let _e=be.shiftKey&&!be.altKey,lt=be.altKey&&!be.shiftKey;if(!_e&&!lt||be.buttons!==0){j=null,V=null,Se=0,W=null,fe=null,Pn(null);return}if(W===null&&(W=be.clientX,fe=be.clientY,ze(_e?"shift":"alt",be.clientX,be.clientY)),I)return;j===null&&(j=be.clientX,V=be.clientY,Se=0);let it=be.clientX-j,wt=be.clientY-V,qe=Math.abs(it)>=Math.abs(wt)?it:wt;if(Math.abs(qe)>3){let Lo=qe>0?1:-1;if(Se!==0&&Lo!==Se){j=be.clientX,V=be.clientY,Se=0;return}Se=Lo}if(Math.abs(it)<D&&Math.abs(wt)<D)return;let Pt=F(W,fe);if(!Pt)return;let Kn=Math.abs(it)>=Math.abs(wt)?"horizontal":"vertical",fo=(Kn==="horizontal"?it:wt)>0?1:-1;j=null,V=null,Se=0,_e?U(Pt,Kn,fo):O(Pt,Kn,fo),w()},Nt=be=>{(be.key==="Shift"||be.key==="Alt")&&(W=null,fe=null,j=null,V=null,Se=0,Pn(null))},rt=()=>{Pn(null),j=null,V=null,Se=0};return window.addEventListener("keydown",Ze),window.addEventListener("mousemove",ot),window.addEventListener("mousedown",rt),window.addEventListener("keyup",Nt),()=>{window.removeEventListener("keydown",Ze),window.removeEventListener("mousemove",ot),window.removeEventListener("mousedown",rt),window.removeEventListener("keyup",Nt),M&&clearTimeout(M)}},[e.activeTool,e.isAnnotating,t]),yn(()=>{let m=y=>{var W,fe,F,ne;if(y.key==="Escape"){if(uo.current)return;if(e.activeTool==="model"&&Ve.size>0){y.preventDefault(),Tt(new Map);return}if(po.current.length>0){y.preventDefault(),te();return}}if(y.key==="Enter"&&e.activeTool==="model"&&Ve.size>0&&u){y.preventDefault();let S=[...Ve.keys()].filter(w=>!(v!=null&&v.has(w)));S.length>0&&u(S),Tt(new Map);return}if((y.metaKey||y.ctrlKey)&&y.key==="v"&&Pe.current.length>0&&!uo.current){y.preventDefault(),Re.current++;let S=Re.current*20,U=((W=Pe.current[0])==null?void 0:W.groupId)?Math.random().toString(36).substring(2,9):void 0,O=Pe.current.map(j=>h(f({},j),{id:Math.random().toString(36).substring(2,9),groupId:j.groupId?U:void 0,timestamp:Date.now(),points:j.points.map(V=>({x:V.x+S,y:V.y+S}))}));t({type:"PASTE_ANNOTATIONS",payload:{annotations:O}});let D=O.find(j=>j.type!=="text")||O[0];D&&z(D.id);return}let Z=po.current;if(Z.length===0||uo.current)return;let M=(F=(fe=y.composedPath)==null?void 0:fe.call(y)[0])!=null?F:y.target,I=M==null?void 0:M.tagName;if(!(I==="INPUT"||I==="TEXTAREA"||M!=null&&M.isContentEditable)&&(y.key==="Delete"||y.key==="Backspace")){if(y.preventDefault(),p){let S=kr.current.annotations;for(let w of Z){let U=S.find(D=>D.id===w);if(!U)continue;let O=U.threadId||U.groupId&&((ne=S.find(D=>D.groupId===U.groupId&&D.threadId))==null?void 0:ne.threadId);O&&p(O)}}for(let S of Z)t({type:"DELETE_ANNOTATION",payload:{id:S}});te()}};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[t,te,z,e.activeTool,Ve,v,u,p]);let Le=rr(),Be=hi(()=>e.annotations.filter(m=>!m.pathname||m.pathname===Le),[e.annotations,Le]),Xe=hi(()=>li(e.annotations),[e.annotations]),Ye=hi(()=>{let m=new Map,y=new Set,Z=1,M=[...e.annotations].sort((I,W)=>I.timestamp-W.timestamp);for(let I of M)if(!Xe.has(I))if(I.groupId){if(!y.has(I.groupId)){y.add(I.groupId);let W=e.annotations.filter(fe=>fe.groupId===I.groupId);for(let fe of W)m.set(fe.id,Z);Z++}}else m.set(I.id,Z),Z++;return m},[e.annotations,Xe]),mt=hi(()=>{if(T.length===0)return null;let m=new Map;for(let y of T){let Z=e.annotations.find(I=>I.id===y);if(!Z)continue;let M=Z.groupId?e.annotations.filter(I=>I.groupId===Z.groupId):[Z];for(let I of M)if(I.linkedSelector&&!(a!=null&&a.has(I.linkedSelector))){let W=I.color||e.activeColor;m.set(I.linkedSelector,W)}}return m.size>0?m:null},[T,e.annotations,e.activeColor,a]);yn(()=>{let m=Be.filter(y=>!(Xe.has(y)||k&&!k.isNew&&y.id===k.id));ie(m,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,T,Xl,ve.x,ve.y,Ye,G)},[Be,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,ie,k,T,ve,Ye,Xe,G]),yn(()=>{if(B){let m=Math.random().toString(36).substring(2,9);Ae({id:m,point:B.point,text:"",fontSize:12,isNew:!0,groupId:B.groupId}),ce(null)}},[B]),yn(()=>{Q&&(Ae({id:Math.random().toString(36).substring(2,9),point:Q.point,text:"",fontSize:12,isNew:!0,linkedSelector:Q.linkedSelector,linkedAnchor:Q.linkedAnchor,elements:Q.elements}),q(null))},[Q]);let nt=Yt(null),ut=(Qs=k==null?void 0:k.id)!=null?Qs:null;yn(()=>{ut&&Ee.current?requestAnimationFrame(()=>{var Z;let m=Ee.current;if(!m||(m.focus(),De.current===ut))return;De.current=ut;let y=uo.current;if(y){if(nt.current!==null){let M=Math.min(nt.current,m.value.length);m.setSelectionRange(M,M);return}if(!y.isNew&&y.clickPoint){let M=_.current;if(!M)return;let I=M.getContext("2d");if(!I)return;I.font=`${y.fontSize}px ${Vt}`;let W=y.fontSize*1.4,fe=y.text.split(`
4
- `),F=y.clickPoint.y-y.point.y,ne=Math.max(0,Math.min(fe.length-1,Math.floor(F/W))),S=y.clickPoint.x-y.point.x,w=fe[ne]||"",U=0;for(let D=0;D<=w.length;D++){let j=I.measureText(w.substring(0,D)).width;if(j>S){let V=D>0?I.measureText(w.substring(0,D-1)).width:0;U=S-V<j-S?D-1:D;break}U=D}let O=U;for(let D=0;D<ne;D++)O+=(((Z=fe[D])==null?void 0:Z.length)||0)+1;m.setSelectionRange(O,O)}}}):(De.current=null,nt.current=null)},[ut,_]);let St=nn(m=>{let y=_.current;if(!y)return{x:0,y:0};let Z=y.getBoundingClientRect(),M,I;if("touches"in m&&m.touches[0])M=m.touches[0].clientX,I=m.touches[0].clientY;else if("clientX"in m)M=m.clientX,I=m.clientY;else return{x:0,y:0};return{x:M-Z.left+window.scrollX,y:I-Z.top+window.scrollY}},[_]),pt=nn((m,y,Z,M)=>{let I=Z.x-y.x,W=Z.y-y.y,fe=I*I+W*W;if(fe===0)return Math.sqrt((m.x-y.x)**2+(m.y-y.y)**2)<=M;let F=Math.max(0,Math.min(1,((m.x-y.x)*I+(m.y-y.y)*W)/fe)),ne=y.x+F*I,S=y.y+F*W;return Math.sqrt((m.x-ne)**2+(m.y-S)**2)<=M},[]),jt=nn(m=>{for(let Z=Be.length-1;Z>=0;Z--){let M=Be[Z];if(!M||Xe.has(M))continue;let I=(M.strokeWidth||3)+4;switch(M.type){case"text":{if(!M.points[0]||!M.text)continue;let W=M.points[0],fe=M.fontSize||12,F=_.current;if(F){let ne=F.getContext("2d");if(ne){ne.font=`${fe}px ${Vt}`;let S=M.text.replace(/\n/g," "),w=W.x-ve.x,U=ir(w),O=sr(ne,S,U),D=ne.measureText(O).width,j=fe*1.4;if(m.x>=W.x-4-4&&m.x<=W.x+D+4+4&&m.y>=W.y-4-4&&m.y<=W.y+j+4+4)return M}}break}case"rectangle":{if(M.points.length<2)continue;let W=M.points[0],fe=M.points[M.points.length-1],F=Math.min(W.x,fe.x),ne=Math.max(W.x,fe.x),S=Math.min(W.y,fe.y),w=Math.max(W.y,fe.y),U=pt(m,{x:F,y:S},{x:ne,y:S},I),O=pt(m,{x:F,y:w},{x:ne,y:w},I),D=pt(m,{x:F,y:S},{x:F,y:w},I),j=pt(m,{x:ne,y:S},{x:ne,y:w},I);if(U||O||D||j)return M;break}case"circle":{if(M.points.length<2)continue;let W=M.points[0],fe=M.points[M.points.length-1],F=(W.x+fe.x)/2,ne=(W.y+fe.y)/2,S=Math.abs(fe.x-W.x)/2,w=Math.abs(fe.y-W.y)/2,U=m.x-F,O=m.y-ne,D=Math.sqrt((U/S)**2+(O/w)**2);if(Math.abs(D-1)*Math.max(S,w)<=I)return M;break}case"line":{if(M.points.length<2)continue;let W=M.points[0],fe=M.points[M.points.length-1];if(pt(m,W,fe,I))return M;break}case"freehand":{if(M.points.length<2)continue;for(let W=0;W<M.points.length-1;W++){let fe=M.points[W],F=M.points[W+1];if(pt(m,fe,F,I))return M}break}}}return null},[Be,_,pt,Xe,ve.x]),Xn=nn(m=>{let y=jt(m);return(y==null?void 0:y.type)==="text"?y:null},[jt]),kn=nn(m=>{if(T.length===0)return null;let y=Xl/2+4;for(let Z of T){let M=e.annotations.find(I=>I.id===Z);if(!(!M||M.points.length<2)){if(M.type==="line"){let I=M.points[0],W=M.points[M.points.length-1];if(Math.sqrt((m.x-I.x)**2+(m.y-I.y)**2)<=y)return{handle:"start",annotationId:Z};if(Math.sqrt((m.x-W.x)**2+(m.y-W.y)**2)<=y)return{handle:"end",annotationId:Z};continue}if(M.type==="circle"){let I=M.points[0],W=M.points[M.points.length-1],fe=Math.min(I.x,W.x),F=Math.max(I.x,W.x),ne=Math.min(I.y,W.y),S=Math.max(I.y,W.y),w=(fe+F)/2,U=(ne+S)/2,O=[{handle:"top",x:w,y:ne},{handle:"bottom",x:w,y:S},{handle:"left",x:fe,y:U},{handle:"right",x:F,y:U}];for(let{handle:D,x:j,y:V}of O)if(Math.sqrt((m.x-j)**2+(m.y-V)**2)<=y)return{handle:D,annotationId:Z};continue}if(M.type==="rectangle"||M.type==="freehand"){let I=M.points[0],W=M.points[M.points.length-1],fe,F,ne,S;M.type==="freehand"?(fe=Math.min(...M.points.map(U=>U.x)),F=Math.max(...M.points.map(U=>U.x)),ne=Math.min(...M.points.map(U=>U.y)),S=Math.max(...M.points.map(U=>U.y))):(fe=Math.min(I.x,W.x),F=Math.max(I.x,W.x),ne=Math.min(I.y,W.y),S=Math.max(I.y,W.y));let w=[{corner:"topLeft",x:fe,y:ne},{corner:"topRight",x:F,y:ne},{corner:"bottomLeft",x:fe,y:S},{corner:"bottomRight",x:F,y:S}];for(let{corner:U,x:O,y:D}of w)if(Math.sqrt((m.x-O)**2+(m.y-D)**2)<=y)return{handle:U,annotationId:Z}}}}return null},[T,e.annotations]);yn(()=>{let m=y=>{if(pe.current={x:y.clientX+window.scrollX,y:y.clientY+window.scrollY},!k){let Z=Xn(pe.current);ge((Z==null?void 0:Z.id)||null)}};return window.addEventListener("mousemove",m),()=>window.removeEventListener("mousemove",m)},[k,Xn]);let Gt=nn(()=>{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 Z=Kr();t({type:"ADD_TEXT",payload:f({point:k.point,text:k.text||(m>0?`[${m} image${m>1?"s":""}]`:""),fontSize:k.fontSize,id:Z,groupId:k.groupId,linkedSelector:k.linkedSelector,linkedAnchor:k.linkedAnchor,elements:k.elements},m>0?{imageCount:m}:{})}),m>0&&k.images&&l&&l(Z,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}});Ae(null)},[k,t,l]),ft=nn(m=>{for(let y=0;y<Ms.length-1;y++){let Z=Ms[y],M=Ms[y+1];if(m<=(Z+M)/2)return Z;if(m<M)return M}return Math.round(m/8)*8},[]),Sn=nn((m,y,Z,M)=>{let I=Z.top+Math.max(M.top,4),W=Z.bottom-Math.max(M.bottom,4),fe=Z.left+Math.max(M.left,4),F=Z.right-Math.max(M.right,4);if(m<Z.left||m>Z.right||y<Z.top||y>Z.bottom)return null;let ne=y<I,S=y>W,w=m<fe,U=m>F;return ne&&w?M.top>=M.left?"top":"left":ne&&U?M.top>=M.right?"top":"right":S&&w?M.bottom>=M.left?"bottom":"left":S&&U?M.bottom>=M.right?"bottom":"right":ne?"top":S?"bottom":w?"left":U?"right":null},[]),Ke=nn(m=>{var W,fe;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=St(m),Z="shiftKey"in m&&m.shiftKey;if(e.activeTool==="inspector"){if("button"in m&&m.button===2)return;if(tt&&!co(tt)){let F=e.annotations.find(Ze=>{if(!Ze.linkedSelector||!Ze.threadId)return!1;try{return tt.matches(Ze.linkedSelector)}catch(ot){return!1}});if(F!=null&&F.threadId&&c){c(F.threadId),requestAnimationFrame(()=>{var Nt;let Ze=document.querySelector("[data-popmelt-shadow-host]"),ot=(Nt=Ze==null?void 0:Ze.shadowRoot)==null?void 0:Nt.querySelector("[data-popmelt-reply]");ot==null||ot.focus()});return}let ne=Rn(tt),S=Nn(tt),w=tt.getBoundingClientRect(),U=tt.getAttribute("data-pm");U||(U=Math.random().toString(36).substring(2,8),tt.setAttribute("data-pm",U));let O=`[data-pm="${U}"]`,D=e.styleModifications.some(Ze=>{try{return tt.matches(Ze.selector)}catch(ot){return!1}}),j=e.annotations.filter(Ze=>{if(!Ze.linkedSelector)return!1;try{return tt.matches(Ze.linkedSelector)}catch(ot){return!1}}).length,V=(D?1:0)+j,Se=w.top>=Yn*(1+V)?"top-left":"bottom-left",ze=Kl(w,Se,V,E==null?void 0:E.current);q({point:ze,linkedSelector:O,linkedAnchor:Se,elements:[h(f({},ne),{selector:S})]})}return}if(e.activeTool==="model"){if("button"in m&&m.button===2)return;if(Me){let F=Me.name;if(v!=null&&v.has(F)){g==null||g(F);return}"shiftKey"in m&&m.shiftKey?Tt(S=>{let w=new Map(S);return w.has(F)?w.delete(F):w.set(F,Me),w}):Ve.size===1&&Ve.has(F)?(u&&u([F]),Tt(new Map)):Tt(new Map([[F,Me]]))}return}if(e.activeTool==="hand"&&Rt&&dn){let F=Rt,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let S=Nn(F),w=`[data-pm="${ne}"]`,U=Rn(F),O=Pr(F),D=y.x-window.scrollX,j=y.y-window.scrollY,V=on,Se=window.getComputedStyle(F).justifyContent,ze=0;if(V){let ot=$o(F).find(Nt=>Nt.axis===dn);ze=ot?dn==="column"?ot.w:ot.h:0}Qe(F,"transition","none"),hn.current={isDragging:!0,hasMoved:!1,axis:dn,startX:D,startY:j,originalRow:V?ze:O.row,originalColumn:V?ze:O.column,element:F,elementInfo:h(f({},U),{selector:w}),selector:w,durableSelector:S,isAuto:V,originalJustifyContent:Se,visualGap:ze},Ue({axis:dn,row:V?ze:O.row,column:V?ze:O.column});return}if(e.activeTool==="hand"&&Ht&&On){let F=Ht,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let S=`[data-pm="${ne}"]`,w=Rn(F),{fontSize:U,lineHeight:O}=Or(F),D=U>0?O/U:1.2,j=y.x-window.scrollX,V=y.y-window.scrollY;Qe(F,"transition","none");let Se=Nn(F);Vn.current={isDragging:!0,property:On,startX:j,startY:V,originalFontSize:U,originalLineHeight:O,originalRatio:D,element:F,elementInfo:h(f({},w),{selector:S}),selector:S,durableSelector:Se},_t({property:On,fontSize:U,lineHeight:O});return}if(e.activeTool==="hand"&&sn&&Cn){let F=sn,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let S=`[data-pm="${ne}"]`,w=Nn(F),U=Rn(F),O=zo(F),D=F.getBoundingClientRect(),j=Math.floor(D.height/2),V=y.y-window.scrollY;Qe(F,"transition","none"),xn.current={isDragging:!0,corner:Cn,startY:V,original:O,maxRadius:j,element:F,elementInfo:h(f({},U),{selector:S}),selector:S,durableSelector:w},vn({corner:Cn,radius:f({},O)});return}if(e.activeTool==="hand"&&we&&Ge){let F=we,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let S=`[data-pm="${ne}"]`,w=Nn(F),U=Rn(F),O=dr(F),D=y.x-window.scrollX,j=y.y-window.scrollY;Qe(F,"transition","none"),re.current={isDragging:!0,side:Ge,startX:D,startY:j,original:O,element:F,elementInfo:h(f({},U),{selector:S}),selector:S,durableSelector:w},ke({side:Ge,padding:f({},O)});return}let M=kn(y);if(M){let F=e.annotations.find(ne=>ne.id===M.annotationId);if(F&&F.type!=="text"&&((W=F.status)!=null?W:"pending")==="pending"){se({annotationId:M.annotationId,handle:M.handle,startPoint:y,originalPoints:[...F.points],hasMoved:!1});return}}let I=jt(y);if(I&&I.points[0]){if(k&&Gt(),I.type!=="text"?(z(I.id,Z),I.color&&t({type:"SET_COLOR",payload:I.color})):Z||te(),c){let F=I.threadId||(I.groupId?(fe=e.annotations.find(ne=>ne.groupId===I.groupId&&ne.threadId))==null?void 0:fe.threadId:void 0);F&&c(F)}En({annotation:I,startPoint:y,hasMoved:!1});return}if(Z||te(),e.activeTool==="text"){k&&Gt();let F=Math.random().toString(36).substring(2,9);Ae({id:F,point:y,text:"",fontSize:12,isNew:!0});return}ee(!0),t({type:"START_PATH",payload:y})},[e.isAnnotating,e.activeTool,e.inspectedElement,e.annotations,k,T,tt,we,Ge,sn,Cn,Rt,dn,on,Ht,On,Me,Ve,v,u,g,c,St,jt,kn,t,z,te,Gt]),At=nn(m=>{var Z,M;let y=St(m);if(e.activeTool==="inspector"&&e.isAnnotating){let I=y.x-window.scrollX,W=y.y-window.scrollY,fe=Fo(I,W),F=fe&&co(fe)?null:fe;F!==tt&&(gn(F),de(F?Rn(F):null));return}if(e.activeTool==="model"&&e.isAnnotating){let I=y.x-window.scrollX,W=y.y-window.scrollY,fe=Fo(I,W);if(fe!==zt.current&&(zt.current=fe,Mt.current=0),fe){let F=Qr(fe,Mt.current);et(F)}else et(null);return}if(e.activeTool==="hand"&&e.isAnnotating){let I=y.x-window.scrollX,W=y.y-window.scrollY;ht.current={x:I,y:W},Wn({x:I,y:W});let fe=Wt.current.cmd,F=Wt.current.shift;if(hn.current.isDragging){let S=hn.current,w=S.element;if(!w)return;if(!S.hasMoved){let j=Math.abs(I-S.startX),V=Math.abs(W-S.startY);if(j<=2&&V<=2)return;S.hasMoved=!0,S.isAuto&&(Qe(w,"justify-content","normal"),Qe(w,"row-gap",`${S.visualGap}px`),Qe(w,"column-gap",`${S.visualGap}px`),Qt(!1))}let U=S.axis,O=S.originalRow,D=S.originalColumn;if(U==="column"){let j=I-S.startX;D=S.originalColumn+j,fe||(O=S.originalRow+j)}else{let j=W-S.startY;O=S.originalRow+j,fe||(D=S.originalColumn+j)}O=Math.max(0,O),D=Math.max(0,D),F&&(O=ft(O),D=ft(D)),O=Math.round(O),D=Math.round(D),Qe(w,"row-gap",`${O}px`),Qe(w,"column-gap",`${D}px`),Ue({axis:U,row:O,column:D});return}if(xn.current.isDragging){let S=xn.current,w=S.element;if(!w)return;let U=W-S.startY,O=S.corner,D=S.original,j=f({},D);if(fe){let V=D[O]+U;V=Math.max(0,Math.min(S.maxRadius,V)),F&&(V=ft(V)),V=Math.round(V),j[O]=V}else{let V=D[O]+U;V=Math.max(0,Math.min(S.maxRadius,V)),F&&(V=ft(V)),V=Math.round(V),j={"top-left":V,"top-right":V,"bottom-right":V,"bottom-left":V}}Qe(w,"border-top-left-radius",`${j["top-left"]}px`),Qe(w,"border-top-right-radius",`${j["top-right"]}px`),Qe(w,"border-bottom-right-radius",`${j["bottom-right"]}px`),Qe(w,"border-bottom-left-radius",`${j["bottom-left"]}px`),vn({corner:O,radius:j});return}if(Vn.current.isDragging){let S=Vn.current,w=S.element;if(!w)return;let U=S.property,O=S.originalFontSize,D=S.originalLineHeight,j=[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 Se=I-S.startX;O=S.originalFontSize+Se,O=Math.max(1,O)}else{let Se=W-S.startY;D=S.originalLineHeight+Se,D=Math.max(O,D)}if(F)if(U==="font-size"){let Se=j[0],ze=Math.abs(O-Se);for(let Ze of j){let ot=Math.abs(O-Ze);ot<ze&&(Se=Ze,ze=ot)}O=Se}else{let Se=O>0?D/O:1.2,ze=Math.round(Se*2)/2;D=O*Math.max(1,ze)}O=Math.round(O),D=Math.round(D*10)/10,Qe(w,"font-size",`${O}px`);let V=O>0?Math.round(D/O*1e3)/1e3:1.2;Qe(w,"line-height",`${V}`),_t({property:U,fontSize:O,lineHeight:D});return}if(re.current.isDragging){let S=re.current,w=S.element;if(!w)return;let U=S.side,O=S.original,D=O.top,j=O.right,V=O.bottom,Se=O.left;if(U==="top"){let ze=S.startY-W;D=O.top+ze,fe||(V=O.bottom+ze)}else if(U==="bottom"){let ze=W-S.startY;V=O.bottom+ze,fe||(D=O.top+ze)}else if(U==="left"){let ze=S.startX-I;Se=O.left+ze,fe||(j=O.right+ze)}else if(U==="right"){let ze=I-S.startX;j=O.right+ze,fe||(Se=O.left+ze)}D=Math.max(0,D),j=Math.max(0,j),V=Math.max(0,V),Se=Math.max(0,Se),F&&(D=ft(D),j=ft(j),V=ft(V),Se=ft(Se)),D=Math.round(D),j=Math.round(j),V=Math.round(V),Se=Math.round(Se),Qe(w,"padding",`${D}px ${j}px ${V}px ${Se}px`),ke({side:U,padding:{top:D,right:j,bottom:V,left:Se}});return}let ne=Fo(I,W);for(;ne&&ne.tagName==="A";)ne=ne.parentElement;{let w=[];ne&&w.push(ne),sn&&sn!==ne&&w.push(sn);let U=null,O=16,D=null;for(let j of w){let V=j.getBoundingClientRect(),Se=zo(j),ze=[["top-left",V.left,V.top+Se["top-left"]],["top-right",V.right,V.top+Se["top-right"]],["bottom-right",V.right,V.bottom-Se["bottom-right"]],["bottom-left",V.left,V.bottom-Se["bottom-left"]]];for(let[Ze,ot,Nt]of ze){let rt=Math.hypot(I-ot,W-Nt);rt<O&&(O=rt,U=Ze,D=j)}}if(U&&D){Mo(D),Ko(U),we&&We(null),Ge&&dt(null),Rt&&oo(null),dn&&le(null),Qt(!1),Ht&&Ft(null),On&&Dt(null);return}}sn&&Mo(null),Cn&&Ko(null);{let S=[];ne&&ni(ne)&&S.push(ne);let w=(Z=ne==null?void 0:ne.parentElement)!=null?Z:null;for(;w&&w!==document.body&&S.length<3;)ni(w)&&S.push(w),w=w.parentElement;for(let U of S){let D=$o(U).find(j=>I>=j.x&&I<=j.x+j.w&&W>=j.y&&W<=j.y+j.h);if(D){oo(U),le(D.axis),Qt(qi(U,D.axis)),we&&We(null),Ge&&dt(null),Ht&&Ft(null),On&&Dt(null);return}}}Rt&&oo(null),dn&&le(null),Qt(!1);{let w=[];ne&&w.push(ne),Ht&&Ht!==ne&&w.push(Ht);let U=null,O=1/0,D=null;for(let j of w){if(!Zi(j))continue;let V=ur(j);if(!V)continue;let Se=I>=V.left&&I<=V.right&&W>=V.top&&W<=V.bottom,ze=[["font-size",V.right,V.top+V.height/2],["line-height",V.left+V.width/2,V.bottom]];for(let[Ze,ot,Nt]of ze){let rt=Math.hypot(I-ot,W-Nt);(Se||rt<12)&&rt<O&&(O=rt,U=Ze,D=j)}}U&&D?(Ft(D),Dt(U)):(Ht&&Ft(null),On&&Dt(null))}if(ne!==we&&We(ne),ne){let S=dr(ne),w=ne.getBoundingClientRect(),U=Sn(I,W,w,S);dt(U)}else dt(null);return}if(he){let{handle:I,originalPoints:W,hasMoved:fe}=he,F=e.annotations.find(O=>O.id===he.annotationId);if(!F)return;let ne="metaKey"in m,S=ne&&(m.metaKey||m.ctrlKey),w=ne&&m.shiftKey,U;if(F.type==="line"){let O=W[0],D=W[W.length-1];I==="start"?U=[y,D]:U=[O,y]}else if(F.type==="freehand"){let O=Math.min(...W.map(qe=>qe.x)),D=Math.max(...W.map(qe=>qe.x)),j=Math.min(...W.map(qe=>qe.y)),V=Math.max(...W.map(qe=>qe.y)),Se=(O+D)/2,ze=(j+V)/2,Ze=D-O||1,ot=V-j||1,Nt=Ze/ot,rt=O,be=D,_e=j,lt=V;switch(I){case"topLeft":rt=y.x,_e=y.y;break;case"topRight":be=y.x,_e=y.y;break;case"bottomLeft":rt=y.x,lt=y.y;break;case"bottomRight":be=y.x,lt=y.y;break}if(S)switch(I){case"topLeft":be=D+(O-rt),lt=V+(j-_e);break;case"topRight":rt=O-(be-D),lt=V+(j-_e);break;case"bottomLeft":be=D+(O-rt),_e=j-(lt-V);break;case"bottomRight":rt=O-(be-D),_e=j-(lt-V);break}if(w){let qe=be-rt,Pt=lt-_e;if(Math.abs(qe/Pt)>Nt){let an=Math.abs(Pt)*Nt*Math.sign(qe);I==="topLeft"||I==="bottomLeft"?rt=be-an:be=rt+an}else{let an=Math.abs(qe)/Nt*Math.sign(Pt);I==="topLeft"||I==="topRight"?_e=lt-an:lt=_e+an}}let it=be-rt||1,wt=lt-_e||1;U=W.map(qe=>({x:rt+(qe.x-O)/Ze*it,y:_e+(qe.y-j)/ot*wt}))}else if(F.type==="circle"){let O=W[0],D=W[W.length-1],j=Math.min(O.x,D.x),V=Math.max(O.x,D.x),Se=Math.min(O.y,D.y),ze=Math.max(O.y,D.y),Ze=(j+V)/2,ot=(Se+ze)/2,Nt=V-j,rt=ze-Se,be=j,_e=V,lt=Se,it=ze;switch(I){case"top":if(lt=y.y,S&&(it=ot+(ot-y.y)),w){let qe=(it-lt)*(Nt/rt)/2;be=Ze-qe,_e=Ze+qe}break;case"bottom":if(it=y.y,S&&(lt=ot-(y.y-ot)),w){let qe=(it-lt)*(Nt/rt)/2;be=Ze-qe,_e=Ze+qe}break;case"left":if(be=y.x,S&&(_e=Ze+(Ze-y.x)),w){let qe=(_e-be)*(rt/Nt)/2;lt=ot-qe,it=ot+qe}break;case"right":if(_e=y.x,S&&(be=Ze-(y.x-Ze)),w){let qe=(_e-be)*(rt/Nt)/2;lt=ot-qe,it=ot+qe}break}U=[{x:be,y:lt},{x:_e,y:it}]}else{let O=W[0],D=W[W.length-1],j=Math.min(O.x,D.x),V=Math.max(O.x,D.x),Se=Math.min(O.y,D.y),ze=Math.max(O.y,D.y),Ze=(j+V)/2,ot=(Se+ze)/2,Nt=V-j||1,rt=ze-Se||1,be=Nt/rt,_e=j,lt=V,it=Se,wt=ze;switch(I){case"topLeft":_e=y.x,it=y.y;break;case"topRight":lt=y.x,it=y.y;break;case"bottomLeft":_e=y.x,wt=y.y;break;case"bottomRight":lt=y.x,wt=y.y;break}if(S)switch(I){case"topLeft":lt=V+(j-_e),wt=ze+(Se-it);break;case"topRight":_e=j-(lt-V),wt=ze+(Se-it);break;case"bottomLeft":lt=V+(j-_e),it=Se-(wt-ze);break;case"bottomRight":_e=j-(lt-V),it=Se-(wt-ze);break}if(w){let qe=lt-_e,Pt=wt-it;if(Math.abs(qe/Pt)>be){let an=Math.abs(Pt)*be*Math.sign(qe);I==="topLeft"||I==="bottomLeft"?_e=lt-an:lt=_e+an}else{let an=Math.abs(qe)/be*Math.sign(Pt);I==="topLeft"||I==="topRight"?it=wt-an:wt=it+an}}U=[{x:_e,y:it},{x:lt,y:wt}]}t({type:"RESIZE_ANNOTATION",payload:{id:he.annotationId,points:U,saveUndo:!fe}}),fe||se(h(f({},he),{hasMoved:!0}));return}if(kt&&((M=kt.annotation.status)!=null?M:"pending")==="pending"){let I=y.x-kt.startPoint.x,W=y.y-kt.startPoint.y;if((Math.abs(I)>2||Math.abs(W)>2)&&!kt.hasMoved)En(h(f({},kt),{hasMoved:!0,startPoint:y})),t({type:"MOVE_ANNOTATION",payload:{id:kt.annotation.id,delta:{x:I,y:W},saveUndo:!0}});else if(kt.hasMoved){let F=y.x-kt.startPoint.x,ne=y.y-kt.startPoint.y;En(h(f({},kt),{startPoint:y})),t({type:"MOVE_ANNOTATION",payload:{id:kt.annotation.id,delta:{x:F,y:ne}}})}return}!H||!e.isAnnotating||t({type:"CONTINUE_PATH",payload:y})},[H,e.isAnnotating,e.activeTool,kt,he,tt,we,Ge,sn,Cn,Rt,dn,Ht,On,St,t,ft,Sn]),Ut=nn(m=>{var M,I,W,fe,F,ne;if(Vn.current.isDragging){let S=Vn.current,w=S.element;if(w&&S.selector&&S.elementInfo&&at){w instanceof HTMLElement&&(w.style.removeProperty("font-size"),w.style.removeProperty("line-height"),w.style.removeProperty("transition"));let U=[];if(S.originalFontSize!==at.fontSize&&(Qe(w,"font-size",`${at.fontSize}px`),U.push({property:"font-size",original:`${S.originalFontSize}px`,modified:`${at.fontSize}px`})),S.originalLineHeight!==at.lineHeight){let O=S.originalFontSize>0?Math.round(S.originalLineHeight/S.originalFontSize*1e3)/1e3:1.2,D=at.fontSize>0?Math.round(at.lineHeight/at.fontSize*1e3)/1e3:1.2;Qe(w,"line-height",`${D}`),U.push({property:"line-height",original:`${O}`,modified:`${D}`})}U.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(M=S.durableSelector)!=null?M:void 0,element:S.elementInfo,changes:U}})}Vn.current={isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null},_t(null);return}if(hn.current.isDragging){let S=hn.current,w=S.element,U="button"in m&&m.button===2;if(!S.hasMoved&&!U&&w&&S.selector&&S.elementInfo){w instanceof HTMLElement&&w.style.removeProperty("transition");let O=["space-between","space-around","stretch","normal"],D=S.originalJustifyContent||"normal",j=O.indexOf(D),V=O[(j+1)%O.length],Se=[];V==="normal"?(Qe(w,"justify-content","normal"),Se.push({property:"justify-content",original:S.originalJustifyContent,modified:"normal"})):V==="stretch"?(Qe(w,"justify-content",V),Qe(w,"row-gap","8px"),Qe(w,"column-gap","8px"),Se.push({property:"justify-content",original:S.originalJustifyContent||"normal",modified:V}),S.originalRow!==8&&Se.push({property:"row-gap",original:`${S.originalRow}px`,modified:"8px"}),S.originalColumn!==8&&Se.push({property:"column-gap",original:`${S.originalColumn}px`,modified:"8px"})):(w instanceof HTMLElement&&(w.style.removeProperty("row-gap"),w.style.removeProperty("column-gap")),Qe(w,"justify-content",V),Se.push({property:"justify-content",original:S.originalJustifyContent||"normal",modified:V}),S.originalRow>0&&Se.push({property:"row-gap",original:`${S.originalRow}px`,modified:"0px"}),S.originalColumn>0&&Se.push({property:"column-gap",original:`${S.originalColumn}px`,modified:"0px"})),Se.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(I=S.durableSelector)!=null?I:void 0,element:S.elementInfo,changes:Se}})}else if(S.hasMoved&&w&&S.selector&&S.elementInfo&&Ie){w instanceof HTMLElement&&(w.style.removeProperty("row-gap"),w.style.removeProperty("column-gap"),w.style.removeProperty("transition"));let O=[];S.isAuto?(w instanceof HTMLElement&&w.style.removeProperty("justify-content"),Qe(w,"justify-content","normal"),Qe(w,"row-gap",`${Ie.row}px`),Qe(w,"column-gap",`${Ie.column}px`),O.push({property:"justify-content",original:S.originalJustifyContent,modified:"normal"}),O.push({property:"row-gap",original:"0px",modified:`${Ie.row}px`}),O.push({property:"column-gap",original:"0px",modified:`${Ie.column}px`})):(S.originalRow!==Ie.row&&(Qe(w,"row-gap",`${Ie.row}px`),O.push({property:"row-gap",original:`${S.originalRow}px`,modified:`${Ie.row}px`})),S.originalColumn!==Ie.column&&(Qe(w,"column-gap",`${Ie.column}px`),O.push({property:"column-gap",original:`${S.originalColumn}px`,modified:`${Ie.column}px`}))),O.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(W=S.durableSelector)!=null?W:void 0,element:S.elementInfo,changes:O}})}hn.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},Ue(null);return}if(xn.current.isDragging){let S=xn.current,w=S.element;if(w&&S.selector&&S.elementInfo&&Jt){w instanceof HTMLElement&&(w.style.removeProperty("border-top-left-radius"),w.style.removeProperty("border-top-right-radius"),w.style.removeProperty("border-bottom-right-radius"),w.style.removeProperty("border-bottom-left-radius"),w.style.removeProperty("transition"));let U=["top-left","top-right","bottom-right","bottom-left"],O={"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 j of U)S.original[j]!==Jt.radius[j]&&(Qe(w,O[j],`${Jt.radius[j]}px`),D.push({property:O[j],original:`${S.original[j]}px`,modified:`${Jt.radius[j]}px`}));D.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:S.selector,durableSelector:(fe=S.durableSelector)!=null?fe:void 0,element:S.elementInfo,changes:D}})}xn.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},vn(null);return}if(re.current.isDragging){let S=re.current,w=S.element,U=S.selector,O=S.elementInfo;if(w&&U&&O&&Oe){let D=S.original,j=Oe.padding;w instanceof HTMLElement&&(w.style.removeProperty("padding"),w.style.removeProperty("transition"));let V=[],Se=[{prop:"padding-top",origVal:D.top,newVal:j.top},{prop:"padding-right",origVal:D.right,newVal:j.right},{prop:"padding-bottom",origVal:D.bottom,newVal:j.bottom},{prop:"padding-left",origVal:D.left,newVal:j.left}];for(let{prop:ze,origVal:Ze,newVal:ot}of Se)Ze!==ot&&(Qe(w,ze,`${ot}px`),V.push({property:ze,original:`${Ze}px`,modified:`${ot}px`}));V.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:U,durableSelector:(F=S.durableSelector)!=null?F:void 0,element:O,changes:V}})}re.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},ke(null);return}if(he){se(null);return}if(kt){if(!kt.hasMoved&&kt.annotation.type==="text"&&((ne=kt.annotation.status)!=null?ne:"pending")==="pending"){let S=St(m);Ae({id:kt.annotation.id,point:kt.annotation.points[0],text:kt.annotation.text||"",fontSize:kt.annotation.fontSize||12,isNew:!1,clickPoint:S,groupId:kt.annotation.groupId})}En(null);return}if(!H)return;let y=5;if(e.currentPath.length>=2){let S=e.currentPath[0],w=e.currentPath[e.currentPath.length-1],U=Math.abs(w.x-S.x),O=Math.abs(w.y-S.y);if((e.activeTool==="line"?Math.sqrt(U*U+O*O)<y:U<y&&O<y)&&["rectangle","circle","line"].includes(e.activeTool)){ee(!1),t({type:"CANCEL_PATH"});return}}let Z=Yi(e.currentPath);if(e.activeTool==="rectangle"&&e.currentPath.length>=2){let S=e.currentPath[0],w=e.currentPath[e.currentPath.length-1],U=Math.min(S.x,w.x),O=Math.max(S.y,w.y),D=e.strokeWidth/2,j=Math.random().toString(36).substring(2,9);ce({point:{x:U-D+4,y:O+D+4},groupId:j}),ee(!1),t({type:"FINISH_PATH",payload:{groupId:j,elements:Z}});return}ee(!1),t({type:"FINISH_PATH",payload:{elements:Z}})},[H,kt,he,Oe,Jt,Ie,at,St,t,e.activeTool,e.currentPath,e.strokeWidth]),Tn=nn(m=>{let y=m.target.value;nt.current=m.target.selectionStart,Ae(Z=>Z&&h(f({},Z),{text:y}))},[]),Io=nn(m=>{m.key==="Escape"?Ae(null):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),Gt())},[Gt]),Ro=nn(m=>{if(!k)return;let y=m.clipboardData.items,Z=[];for(let M=0;M<y.length;M++){let I=y[M];if(I.type.startsWith("image/")){let W=I.getAsFile();W&&Z.push(W)}}Z.length>0&&(m.preventDefault(),Ae(M=>M?h(f({},M),{images:[...M.images||[],...Z]}):null))},[k]),jn=nn(m=>{if(!e.isAnnotating)return;if(e.activeTool==="hand"){m.preventDefault();let Z=we||Rt||sn||Ht;if(Z&&!co(Z)){let M=Rn(Z),I=Nn(Z);t({type:"SELECT_ELEMENT",payload:{el:Z,info:h(f({},M),{selector:I})}})}return}m.preventDefault();let y=_.current;y&&(K.current=!0,y.style.pointerEvents="none",setTimeout(()=>{K.current&&(K.current=!1,y.style.pointerEvents="")},4e3))},[e.activeTool,e.isAnnotating,we,Rt,sn,Ht,t,co,_]);yn(()=>{let m=Be.filter(fe=>fe.linkedSelector);if(m.length===0)return;let y=null,Z=document.createElement("canvas").getContext("2d"),M=()=>{var F,ne,S;let fe=[];for(let w of m){let U=document.querySelector(w.linkedSelector);if(!U&&((ne=(F=w.elements)==null?void 0:F[0])!=null&&ne.selector)&&w.linkedSelector.startsWith("[data-pm=")){try{U=document.querySelector(w.elements[0].selector)}catch(rt){}if(U){let rt=(S=w.linkedSelector.match(/data-pm="([^"]+)"/))==null?void 0:S[1];rt&&U.setAttribute("data-pm",rt)}}if(!U)continue;let O=U.getBoundingClientRect(),D=e.styleModifications.some(rt=>{try{return U.matches(rt.selector)}catch(be){return!1}}),j=m.filter(rt=>rt.id!==w.id&&rt.timestamp<w.timestamp&&rt.linkedSelector===w.linkedSelector).length,V=(D?1:0)+j,Se;if(w.text&&Z){let rt=w.fontSize||12;Z.font=`${rt}px ${Vt}`,Se=Math.max(...w.text.split(`
5
- `).map(be=>Z.measureText(be).width))}let ze=O.top>=Yn*(1+V)?"top-left":"bottom-left",Ze=Kl(O,ze,V,E==null?void 0:E.current,Se),ot=w.points[0],Nt=ze!==w.linkedAnchor;ot&&(Nt||Math.abs(Ze.x-ot.x)>1||Math.abs(Ze.y-ot.y)>1)&&fe.push({id:w.id,point:Ze,linkedAnchor:Nt?ze:void 0})}fe.length>0&&t({type:"UPDATE_LINKED_POSITIONS",payload:{updates:fe}})},I=()=>{y&&cancelAnimationFrame(y),y=requestAnimationFrame(M)};M(),window.addEventListener("scroll",I,!0),window.addEventListener("resize",I,!0),window.addEventListener("load",I),document.fonts.ready.then(I);let W=new MutationObserver(I);return W.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),()=>{window.removeEventListener("scroll",I,!0),window.removeEventListener("resize",I,!0),window.removeEventListener("load",I),W.disconnect(),y&&cancelAnimationFrame(y)}},[Be,t]);let qs=()=>{var m,y,Z;if(!e.isAnnotating)return"default";if(he){let{handle:M}=he;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=Ie==null?void 0:Ie.axis)!=null?m:dn;if(M==="row")return"ns-resize";if(M==="column")return"ew-resize";if(Jt||Cn)return"ns-resize";let I=(y=at==null?void 0:at.property)!=null?y:On;if(I==="font-size")return"ew-resize";if(I==="line-height")return"ns-resize";let W=(Z=Oe==null?void 0:Oe.side)!=null?Z:Ge;return W==="top"||W==="bottom"?"ns-resize":W==="left"||W==="right"?"ew-resize":"default"}return"crosshair"},Ii={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:9998,pointerEvents:e.isAnnotating?"auto":"none",visibility:e.isAnnotating?"visible":"hidden",cursor:qs()},Tr=nn(()=>{let m=_.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 ${Vt}`;let M=y.measureText("Type here...").width,I=k.text.split(`
6
- `),W=I.length>0?Math.max(M,...I.map(w=>y.measureText(w||" ").width)):M,fe=k.point.x-ve.x,F=ir(fe);if(W>F){let w=Xa(y,I,F),U=Math.min(F,Math.max(M,...w.map(D=>y.measureText(D).width))),O=Math.max(1,w.length)*k.fontSize*1.4;return{width:U,height:O,isWrapped:!0}}let S=Math.max(1,I.length)*k.fontSize*1.4;return{width:W,height:S,isWrapped:!1}},[k,_,ve.x])(),$c=k?Math.max(1,k.text.split(`
7
- `).length)*k.fontSize*1.4+8:0,Zs=Tr.height+8,zc=Tr.isWrapped?Zs-$c:0,Wc=k?{position:"fixed",left:k.point.x-4-ve.x,top:k.point.y-4-ve.y-zc,zIndex:9999,width:Tr.width+8,height:Zs,padding:4,fontSize:k.fontSize,fontFamily:Vt,color:"#ffffff",backgroundColor:e.activeColor,border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:1.4,resize:"none",overflow:"hidden",whiteSpace:Tr.isWrapped?"pre-wrap":"pre",wordBreak:Tr.isWrapped?"break-word":void 0}:{};return br(xr,{children:[gt("canvas",{ref:Y,id:"devtools-canvas",style:Ii,onMouseDown:Ke,onMouseMove:At,onMouseUp:m=>Ut(m),onMouseLeave:m=>{Ut(m),gn(null),de(null)},onTouchStart:Ke,onTouchMove:At,onTouchEnd:m=>Ut(m),onContextMenu:jn}),k&&br(xr,{children:[gt("style",{children:"#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }"}),gt("textarea",{id:"devtools-text-input",ref:Ee,value:k.text,onChange:Tn,onKeyDown:Io,onPaste:Ro,onBlur:Gt,placeholder:"Type here...",style:Wc}),k.images&&k.images.length>0&&br("div",{"data-devtools":!0,style:{position:"fixed",left:k.point.x-4-ve.x,top:k.point.y-4-ve.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&&gt(Ml,{styleModifications:e.styleModifications,isInspecting:!!e.inspectedElement,accentColor:e.activeColor,annotationGroupCount:new Set(Be.map(m=>m.groupId||m.id)).size,dispatch:t,inFlightSelectors:s,toolbarRef:E,onHoverSelector:ye}),e.activeTool==="hand"&&e.isAnnotating&&e.styleModifications.length>0&&gt(Rl,{styleModifications:e.styleModifications,accentColor:e.activeColor}),e.isAnnotating&&gt(hl,{annotations:Be,supersededAnnotations:Xe,inFlightIds:r,activeIds:o,queuePositions:i,scrollX:ve.x,scrollY:ve.y,annotationGroupMap:Ye,onViewThread:c,onSelectAnnotation:z,onHoverAnnotation:me,canvasRef:_}),e.isAnnotating&&d&&gt(yl,{annotations:Be,supersededAnnotations:Xe,scrollX:ve.x,scrollY:ve.y,onReply:d,annotationGroupMap:Ye,canvasRef:_,onHoverAnnotation:me}),e.isAnnotating&&a&&a.size>0&&gt(ns,{inFlightSelectorColors:a}),e.isAnnotating&&mt&&gt(ns,{inFlightSelectorColors:mt,animated:!1}),e.activeTool==="hand"&&e.isAnnotating&&(Ie?hn.current.element:Rt)&&gt(ls,{element:Ie?hn.current.element:Rt,gap:Ie?{row:Ie.row,column:Ie.column}:Pr(Rt),accentColor:e.activeColor,hoveredAxis:dn,draggingAxis:(ea=Ie==null?void 0:Ie.axis)!=null?ea:null,cursorViewport:mn,isAutoGap:on,refreshKey:An}),e.activeTool==="hand"&&e.isAnnotating&&rn&&gt(Ul,{element:rn.target,modifier:rn.modifier,accentColor:e.activeColor,refreshKey:An}),e.activeTool==="hand"&&e.isAnnotating&&!rn&&(Jt?xn.current.element:sn)&&gt(wl,{element:Jt?xn.current.element:sn,radius:(ta=Jt==null?void 0:Jt.radius)!=null?ta:zo(sn),accentColor:e.activeColor,hoveredCorner:Cn,draggingCorner:(na=Jt==null?void 0:Jt.corner)!=null?na:null,cursorViewport:mn}),e.activeTool==="hand"&&e.isAnnotating&&!rn&&(at?Vn.current.element:Ht)&&gt(Vl,{element:at?Vn.current.element:Ht,fontSize:(oa=at==null?void 0:at.fontSize)!=null?oa:Or(Ht).fontSize,lineHeight:(ra=at==null?void 0:at.lineHeight)!=null?ra:Or(Ht).lineHeight,accentColor:e.activeColor,hoveredProperty:On,draggingProperty:(ia=at==null?void 0:at.property)!=null?ia:null,cursorViewport:mn}),e.activeTool==="hand"&&e.isAnnotating&&!rn&&(Oe?re.current.element:we)&&gt(gs,{element:Oe?re.current.element:we,padding:(sa=Oe==null?void 0:Oe.padding)!=null?sa:dr(we),accentColor:e.activeColor,hoveredSide:Ge,draggingSide:(aa=Oe==null?void 0:Oe.side)!=null?aa:null,cursorViewport:mn,refreshKey:at?at.fontSize+at.lineHeight*1e3:0}),e.activeTool==="inspector"&&e.isAnnotating&&gt(xr,{children:tt&&!e.inspectedElement&&(()=>{let m=(k==null?void 0:k.linkedSelector)||(Q==null?void 0:Q.linkedSelector);if(m)try{if(tt.matches(m))return null}catch(Z){}let y=!!Q||!!(k!=null&&k.linkedSelector)||Be.some(Z=>{if(!Z.linkedSelector)return!1;try{return tt.matches(Z.linkedSelector)}catch(M){return!1}});return gt(ro,{element:tt,isSelected:!1,elementInfo:$,color:e.activeColor,hideTooltip:y})})()}),((k==null?void 0:k.linkedSelector)||(Q==null?void 0:Q.linkedSelector))&&(()=>{let m=(k==null?void 0:k.linkedSelector)||(Q==null?void 0:Q.linkedSelector);if(!m)return null;let y=null;try{y=document.querySelector(m)}catch(Z){}return y?gt(ro,{element:y,isSelected:!0,color:e.activeColor,hideTooltip:!0}):null})(),L&&(()=>{let m=e.annotations.find(M=>M.id===L);if(!(m!=null&&m.linkedSelector))return null;let y=null;try{y=document.querySelector(m.linkedSelector)}catch(M){}if(!y)return null;let Z=!!(r&&r.has(m.id));return gt(ro,{element:y,isSelected:!Z,color:m.color,hideTooltip:!0})})(),Te&&(()=>{let m=e.annotations.find(I=>I.id===Te);if(!(m!=null&&m.linkedSelector))return null;let y=null;try{y=document.querySelector(m.linkedSelector)}catch(I){}if(!y)return null;let Z=m.groupId?e.annotations.filter(I=>I.groupId===m.groupId):[m],M=!!(r&&Z.some(I=>r.has(I.id)));return gt(ro,{element:y,isSelected:!M,color:m.color,hideTooltip:!0})})(),N&&(()=>{let m=null;try{m=document.querySelector(N)}catch(Z){}if(!m)return null;let y=!!(s&&s.has(N));return gt(ro,{element:m,isSelected:!y,color:e.activeColor,hideTooltip:!0})})(),e.activeTool==="model"&&e.isAnnotating&&Ve.size>0&&[...Ve.entries()].map(([m,y])=>gt(ro,{element:y.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:y.rootElement.tagName.toLowerCase(),reactComponent:m},color:"#8b5cf6"},m)),e.activeTool==="model"&&e.isAnnotating&&He&&gt(ro,{element:He.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:He.rootElement.tagName.toLowerCase(),reactComponent:He.name},color:"#22c55e"}),e.activeTool==="model"&&e.isAnnotating&&x.length>0&&x.map((m,y)=>gt("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"?br(xr,{children:[gt("div",{style:{position:"absolute",left:"50%",top:0,width:6,height:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),gt("div",{style:{position:"absolute",left:"50%",top:0,bottom:0,width:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),gt("div",{style:{position:"absolute",left:"50%",bottom:0,width:6,height:1,backgroundColor:"#FF0000",transform:"translateX(-50%)"}}),gt("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)})]}):br(xr,{children:[gt("div",{style:{position:"absolute",left:0,top:"50%",width:1,height:6,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),gt("div",{style:{position:"absolute",left:0,right:0,top:"50%",height:1,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),gt("div",{style:{position:"absolute",right:0,top:"50%",width:1,height:6,backgroundColor:"#FF0000",transform:"translateY(-50%)"}}),gt("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&&Me&&gt(ro,{element:Me.rootElement,isSelected:!1,elementInfo:{selector:"",tagName:Me.rootElement.tagName.toLowerCase(),reactComponent:Me.name},color:v!=null&&v.has(Me.name)?"#22c55e":"#8b5cf6"}),e.activeTool==="hand"&&e.isAnnotating&&e.inspectedElement&&br(xr,{children:[xt&&xt!=="padding"&&xt!=="gap"&&(()=>{var F;let m=new Set(Be.map(ne=>ne.groupId||ne.id)).size,y=e.inspectedElement.info.selector,Z=e.styleModifications.findIndex(ne=>ne.selector===y),M=Z>=0?m+Z+1:m+e.styleModifications.length+1,I=e.styleModifications.find(ne=>ne.selector===y),W=(F=I==null?void 0:I.changes.length)!=null?F:0,fe=!!(I!=null&&I.captured);return gt(ro,{element:e.inspectedElement.el,isSelected:!0,elementInfo:e.inspectedElement.info,color:fe?"#999999":e.activeColor,annotationNumber:M,changeCount:W})})(),xt==="padding"&&gt(gs,{element:e.inspectedElement.el,padding:dr(e.inspectedElement.el),accentColor:e.activeColor,hoveredSide:null,draggingSide:null}),xt==="gap"&&gt(ls,{element:e.inspectedElement.el,gap:Pr(e.inspectedElement.el),accentColor:e.activeColor,hoveredAxis:null,draggingAxis:null}),gt(Yl,{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:vt,accentColor:e.activeColor,toolbarRef:E})]})]})}import{useCallback as zn,useEffect as cn,useMemo as Fr,useRef as Bt,useState as Uo}from"react";import{Circle as Ef,Component as kf,Hand as Tf,MessageCircle as Mf,Pen as If,Slash as Rf,Square as Lf,Trash2 as Af,Type as Pf}from"lucide-react";import{useEffect as Zl,useRef as Ql}from"react";function ec(e,t,n,r,o){let i=Ql(0),s=Ql(t.annotations);Zl(()=>{if(!n.current||!e)return;s.current=t.annotations;let a=t.annotations.length;a>0&&(a>=i.current||!r)&&(localStorage.setItem(o.annotations,JSON.stringify(t.annotations)),i.current=a)},[t.annotations,e,r,n,o]),Zl(()=>{n.current&&(localStorage.setItem(o.expanded,String(e)),e&&(localStorage.setItem(o.styleMods,JSON.stringify(t.styleModifications)),localStorage.setItem(o.spacingChanges,JSON.stringify(t.spacingTokenChanges)),localStorage.setItem(o.tool,t.activeTool),localStorage.setItem(o.color,t.activeColor),localStorage.setItem(o.stroke,String(t.strokeWidth)),t.inspectedElement?localStorage.setItem(o.inspected,JSON.stringify({selector:t.inspectedElement.info.selector,info:t.inspectedElement.info})):localStorage.removeItem(o.inspected)))},[e,t.styleModifications,t.spacingTokenChanges,t.activeTool,t.activeColor,t.strokeWidth,t.inspectedElement,n,o])}import{Component as Jp,createElement as Up,useCallback as Si,useEffect as Eo,useRef as Yo,useState as $n}from"react";import{Link2 as Vp}from"lucide-react";var Rp={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},Lp=/^#[0-9a-fA-F]{3,8}$/,Ap=/^(?:rgba?|hsla?|oklch|oklab|lch|lab)\(/,Pp=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 nc(e){let t=e.trim().toLowerCase();return Lp.test(t)||Ap.test(t)||Pp.has(t)}var Op=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function Rs(e){return Op.test(e.trim())}var tc=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function Bp(e){let t=e.trim().toLowerCase();return!!(tc.has(t)||t.includes(",")&&t.split(",").some(n=>tc.has(n.trim().replace(/['"]/g,""))))}function Dp(e){let t=e.trim().toLowerCase(),n=t.match(/\d+(\.\d+)?px/g);return!!(n&&n.length>=2&&(nc(t.replace(/[^#()\w,.\s/%]/g,"").split(/\s+/).pop()||"")||t.includes("rgb")||t.includes("hsl")||t.includes("#")))}var _p=/(?:^--(color|bg|fg|accent|border-color|text-color|surface|background|foreground))|(?:-(color|bg|fg)$)/i,Np=/^--(font-family|font|ff|family)/i,Hp=/^--(font-size|text-size|fs|text-(?:xs|sm|base|md|lg|xl|2xl|3xl|4xl|5xl))/i,Fp=/^--(space|gap|padding|margin|inset)/i,$p=/^--(radius|rounded|br|border-radius)/i,zp=/^--(shadow|elevation|drop-shadow)/i;function oc(e,t){let n=e.toLowerCase();return zp.test(n)?"shadows":$p.test(n)?"radii":Np.test(n)?"fonts":Hp.test(n)&&Rs(t)?"typeScale":_p.test(n)||nc(t)?"colors":Bp(t)?"fonts":Dp(t)?"shadows":Fp.test(n)&&Rs(t)||Rs(t)?"spacing":"other"}function rc(e,t,n,r){if(e)for(let o of e){if(o instanceof CSSGroupingRule){rc(o.cssRules,t,n,r);continue}if(o instanceof CSSStyleRule){let i=o.selectorText.toLowerCase();(i===":root"||i==="html"||i==="*"||i.includes(":root"))&&Wp(o.style,t,n,r)}}}var ic=/var\((--[^,)]+)/;function Wp(e,t,n,r){for(let o=0;o<e.length;o++){let i=e[o];if(!(i!=null&&i.startsWith("--"))||n.has(i))continue;n.add(i);let s=t.getPropertyValue(i).trim();if(!s)continue;let a=oc(i,s);r[a].push([i,s]);let d=e.getPropertyValue(i).trim().match(ic);d&&(r.references[i]=d[1])}}function yi(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)/);return t?parseFloat(t[1]):null}function xi(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 r=t.match(/rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);if(r){let[i,s,a]=[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10)];return(.2126*i+.7152*s+.0722*a)/255}let o=t.match(/hsla?\(\s*[\d.]+[,\s]+[\d.]+%?[,\s]+([\d.]+)%?/);if(o)return parseFloat(o[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 sc(e){return e==="colors"?(t,n)=>{let r=xi(t[1]),o=xi(n[1]);return r!==null&&o!==null?r-o:t[0].localeCompare(n[0])}:e==="typeScale"||e==="spacing"||e==="radii"?(t,n)=>{let r=yi(t[1]),o=yi(n[1]);return r!==null&&o!==null?r-o:t[0].localeCompare(n[0])}:e==="other"?(t,n)=>{let r=yi(t[1]),o=yi(n[1]);return r!==null&&o!==null?r-o:t[0].localeCompare(n[0])}:(t,n)=>t[0].localeCompare(n[0])}function jp(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 ac(e){let t=new Map;for(let o of e){let i=jp(o[0]),s=t.get(i);s||(s=[],t.set(i,s)),s.push(o)}let n=sc("colors");for(let o of t.values())o.sort(n);let r=[...t.entries()];return r.sort((o,i)=>{var l,d;let s=(l=xi(o[1][0][1]))!=null?l:0,a=(d=xi(i[1][0][1]))!=null?d:0;return s-a}),r}var Gp=["colors","fonts","typeScale","spacing","radii","shadows","other"],bi=null,Yp=5e3;function lc(){if(typeof document=="undefined")return Rp;if(bi&&Date.now()-bi.timestamp<Yp)return bi.tokens;let e={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},t=new Set,n=getComputedStyle(document.documentElement);try{for(let o of document.styleSheets)try{rc(o.cssRules||o.rules,n,t,e)}catch(i){}}catch(o){}let r=document.documentElement.style;for(let o=0;o<r.length;o++){let i=r[o];if(!(i!=null&&i.startsWith("--"))||t.has(i))continue;t.add(i);let s=n.getPropertyValue(i).trim();if(!s)continue;let a=oc(i,s);e[a].push([i,s]);let d=r.getPropertyValue(i).trim().match(ic);d&&(e.references[i]=d[1])}for(let o of Gp)e[o].sort(sc(o));return bi={tokens:e,timestamp:Date.now()},e}import{Fragment as Jo,jsx as je,jsxs as Xt}from"react/jsx-runtime";var cc="popmelt-library-tab",Xp=/^#[0-9a-fA-F]{3,8}$/,Kp=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,qp=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]),Zp=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function uc(e){let t=e.trim();return Xp.test(t)||Kp.test(t)||qp.has(t.toLowerCase())}function Qp(e){return Zp.test(e.trim())}function ef(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)px$/);return t?parseFloat(t[1]):null}function pc(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[r,o]of Object.entries(e)){let i=t?`${t}.${r}`:r;if(o!==null&&typeof o=="object"&&!Array.isArray(o)){let s=o;typeof s.value=="string"?n.push([i,s.value]):n.push(...pc(o,i))}else n.push([i,Array.isArray(o)?o.map(String).join(", "):String(o!=null?o:"")])}return n}function tf(e){return e.length===0?"generic":e.filter(([,r])=>uc(r)).length>e.length/2?"colors":e.filter(([,r])=>Qp(r)).length>e.length/2?"spacing":"generic"}var nf=h(f({width:300,backgroundColor:"#eaeaea"},wo),{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"}),fc={border:"none",background:"none",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"2px 0",color:"#9ca3af"},of=h(f({},fc),{color:"#1f2937",borderBottom:"1.5px solid #1f2937"});function rf({varName:e,value:t,reference:n}){return je("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&&je(Vp,{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 gc({entries:e,references:t}){let n=[],r=[];for(let i of e)uc(i[1])?n.push(i):r.push(i);let o=ac(n);return Xt(Jo,{children:[o.map(([i,s])=>Xt("div",{style:{marginBottom:4},children:[Xt("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:2},children:[i,s.length>1?` (${s.length})`:""]}),je("div",{style:{display:"flex",flexWrap:"wrap",gap:2},children:s.map(([a,l])=>je(rf,{varName:a,value:l,reference:t[a]},a))})]},i)),r.length>0&&je(wi,{entries:r})]})}var vi=[0,1,2,4,8,12,16,20,24,28,32];function sf(e){if(e<=32){let t=vi[0],n=Math.abs(e-t);for(let r=1;r<vi.length;r++){let o=Math.abs(e-vi[r]);o<n&&(t=vi[r],n=o)}return t}return Math.round(e/8)*8}function af({label:e,value:t,px:n,tokenPath:r,rawToken:o,onHover:i,onModify:s,onDelete:a}){let[l,d]=$n(!1),[c,p]=$n(null),u=Yo(!1),g=Yo(0),b=Yo(0),v=Yo([]),R=c!==null?c:n,C=c!==null?`${c}px`:t,G=c!==null,L=Si(E=>{E.preventDefault(),u.current=!0,g.current=E.clientX,b.current=n;let _=ei(o);v.current=Ui(_);let ie=Y=>{let K=Y.clientX-g.current,H=Math.max(0,Math.round(b.current+K));Y.shiftKey&&(H=sf(H));for(let ee of v.current)ee.element.style.setProperty(ee.property,H+"px","important");p(H),i==null||i({name:e,px:H,token:_})},oe=()=>{window.removeEventListener("mousemove",ie),window.removeEventListener("mouseup",oe),document.body.style.cursor="",u.current=!1,p(Y=>{if(Y!==null&&Y!==n&&s){let K=ei(o),H=K.bindings&&K.bindings.length>0,ee;if(H){let ge=Xi(K.bindings,b.current,Y);ee=JSON.stringify(h(f({},K),{value:`${Y}px`,bindings:ge}))}else{let ge=al(v.current,b.current),B=ll(v.current);if(ge.length>0){let ce=Xi(ge,b.current,Y);ee=JSON.stringify({value:`${Y}px`,property:B,bindings:ce})}else ee=`${Y}px`}let k=typeof o=="string"?o:JSON.stringify(o),Ae=v.current.map(ge=>({selector:Nn(ge.element),property:ge.property})),X=dl(v.current,b.current,Y);s({tokenPath:r,originalValue:k,currentValue:ee,targets:Ae,originalPx:b.current,currentPx:Y},{id:Math.random().toString(36).substring(2,9),tokenPath:r,tokenName:e,originalPx:b.current,newPx:Y,affectedElements:X})}return Y})};document.body.style.cursor="ew-resize",window.addEventListener("mousemove",ie),window.addEventListener("mouseup",oe)},[n,e,r,o,i,s]),A=ei(o);return Xt("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:R,token:A}))},onMouseLeave:()=>{u.current||(d(!1),i==null||i(null))},onMouseDown:L,children:[je("span",{style:{color:l||G?"#FF0000":"#9ca3af"},children:e}),Xt("span",{style:{display:"flex",alignItems:"center",gap:4},children:[je("span",{style:{color:l||G?"#FF0000":"#6b7280",fontWeight:600},children:C}),a&&l&&!G&&je("button",{type:"button",title:"Remove token",onMouseDown:E=>{E.stopPropagation();let _=typeof o=="string"?o:JSON.stringify(o);a(r,_)},style:{border:"none",background:"none",cursor:"pointer",padding:0,fontSize:10,lineHeight:1,color:"#9ca3af"},onMouseEnter:E=>{E.currentTarget.style.color="#FF0000"},onMouseLeave:E=>{E.currentTarget.style.color="#9ca3af"},children:"\u2715"})]})]})}function lf({entries:e,categoryKey:t,rawTokens:n,onHover:r,onModify:o,onDelete:i}){let s=[],a=[];for(let l of e){let d=ef(l[1]);d!==null?s.push([l[0],l[1],d]):a.push(l)}return Xt(Jo,{children:[s.length>0&&je("div",{style:{display:"flex",flexDirection:"column",gap:2},children:s.map(([l,d,c])=>{let p=l.split(".").pop(),u=n?cf(n,l):d,g=u&&typeof u=="object"&&"value"in u?u:d;return je(af,{label:p,value:d,px:c,tokenPath:`tokens.${t}.${l}`,rawToken:g,onHover:r,onModify:o,onDelete:i},l)})}),a.length>0&&je(wi,{entries:a})]})}function cf(e,t){let n=t.split("."),r=e;for(let o of n){if(r==null||typeof r!="object")return;r=r[o]}return r}function wi({entries:e}){return je("div",{style:{display:"flex",flexDirection:"column",gap:3},children:e.map(([t,n])=>Xt("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 df({entries:e,categoryKey:t,rawTokens:n,onSpacingHover:r,onModifyToken:o,onDeleteToken:i}){let s=tf(e);return s==="colors"?je(gc,{entries:e}):s==="spacing"?je(lf,{entries:e,categoryKey:t,rawTokens:n,onHover:r,onModify:o,onDelete:i}):je(wi,{entries:e})}function uf(e){let t=e.toLowerCase(),n=null,r=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}}),o=r.currentNode;for(;o=r.nextNode();){let i=o,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 Ls=class extends Jp{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}},mc="popmelt-principles-collapsed";function pf(){try{let e=localStorage.getItem(mc);if(e)return new Set(JSON.parse(e))}catch(e){}return new Set}function ff(e){try{localStorage.setItem(mc,JSON.stringify([...e]))}catch(t){}}function gf({id:e,label:t,count:n,children:r,collapsed:o,onToggle:i}){return Xt("div",{style:{marginBottom:14},children:[Xt("div",{onClick:()=>i(e),style:{fontWeight:700,fontSize:11,color:"#6b7280",letterSpacing:"0.05em",marginBottom:o?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:o?"rotate(-90deg)":"rotate(0deg)"},children:"\u25BC"}),t,je("span",{style:{fontWeight:400,color:"#9ca3af"},children:n})]}),!o&&r]})}var mf={colors:"Colors",fonts:"Fonts",typeScale:"Type Scale",spacing:"Spacing",radii:"Radii",shadows:"Shadows",other:"Other"},dc=["colors","fonts","typeScale","spacing","radii","shadows","other"];function hf(){let[e,t]=$n(null),[n,r]=$n(pf);Eo(()=>{t(lc())},[]);let o=Si(s=>{r(a=>{let l=new Set(a);return l.has(s)?l.delete(s):l.add(s),ff(l),l})},[]);return e?dc.some(s=>e[s].length>0)?je(Jo,{children:dc.map(s=>{let a=e[s];return a.length===0?null:je(gf,{id:s,label:mf[s],count:a.length,collapsed:n.has(s),onToggle:o,children:s==="colors"?je(gc,{entries:a,references:e.references}):je(wi,{entries:a})},s)})}):je("div",{style:{color:"#9ca3af",fontSize:11},children:"No :root tokens found."}):null}function yf({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(i=>typeof i=="object"&&i!==null&&"scope"in i))return je(Jo,{children:e.map((i,s)=>Xt("div",{style:{display:"flex",gap:6,marginBottom:4,lineHeight:1.4,fontSize:11},children:[Xt("span",{style:{color:"#9ca3af",flexShrink:0},children:[s+1,"."]}),je("span",{children:typeof i=="string"?i:i.text})]},s))});let o=new Map;for(let i of e)if(typeof i=="string")o.has("general")||o.set("general",[]),o.get("general").push({id:"",text:i});else{let s=i.scope||"general";o.has(s)||o.set(s,[]),o.get(s).push({id:i.id,text:i.text})}return Xt(Jo,{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(o.entries()).map(([i,s])=>Xt("div",{style:{marginBottom:10},children:[je("div",{style:{fontWeight:700,fontSize:10,color:"#6b7280",letterSpacing:"0.05em",textTransform:"uppercase",marginBottom:4},children:i}),s.map((a,l)=>Xt("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:a.text})]},a.id||l))]},i))]})}function bf({name:e,value:t,selected:n,highlighted:r,onRemove:o,onHover:i}){var Y;let[s,a]=$n(!1),[l,d]=$n(!1),c=Yo(null),p=Yo(0),[u,g]=$n(0),[b,v]=$n(0),R=pc(t),C=(Y=R.find(([K])=>K==="description"))==null?void 0:Y[1];Eo(()=>{if(!l&&!r){g(0),v(0),p.current=0;return}let K=lr(e);g(K.length)},[l,r,e]),Eo(()=>{n&&c.current&&c.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[n]);let G=n||r||l,L=n?"139,92,246":"34,197,94",A=n?"#8b5cf6":"#22c55e",E=G?`rgba(${L},0.06)`:void 0,_=G?`inset 0 0 0 1.5px rgba(${L},0.35)`:void 0,ie=r||l,oe=Si(()=>{let K=lr(e);if(K.length===0)return;let H=p.current%K.length;K[H].rootElement.scrollIntoView({behavior:"smooth",block:"center"}),v(H),p.current=H+1,i==null||i({name:e,instanceIndex:H})},[e,i]);return Xt("div",{ref:c,onClick:oe,onMouseEnter:()=>{d(!0),i==null||i({name:e,instanceIndex:0})},onMouseLeave:()=>{d(!1),i==null||i(null)},style:{marginBottom:8,background:E,padding:6,boxShadow:_,cursor:"pointer"},children:[Xt("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[Xt("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:ie?A:"transparent",color:ie?"#fff":"#6b7280"},children:e}),ie&&u>1&&Xt("span",{style:{fontSize:10,fontWeight:600,color:"#9ca3af"},children:[b+1,"/",u]})]}),o&&l&&je("button",{type:"button",title:"Remove from model",onClick:K=>{K.stopPropagation(),o(e)},style:{border:"none",background:"none",cursor:"pointer",padding:"0 2px",fontSize:14,lineHeight:1,color:"#9ca3af",marginTop:-4},onMouseEnter:K=>{K.currentTarget.style.color="#FF0000"},onMouseLeave:K=>{K.currentTarget.style.color="#9ca3af"},children:"\u2715"})]}),C&&je("div",{style:{fontSize:11,color:ie?"#1f2937":"#9ca3af",marginBottom:6,lineHeight:1.4},children:C}),s?je(df,{entries:R.filter(([K])=>K!=="description"),categoryKey:""}):je(xf,{name:e,onNotFound:()=>a(!0),entries:R})]})}function xf({name:e,onNotFound:t}){let[n,r]=$n(null),[o,i]=$n(!1);return Eo(()=>{let s=uf(e);s||t(),r(s),i(!0)},[e,t]),!o||!n?null:je(Ls,{onError:t,children:je("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:je("div",{style:{zoom:.5,pointerEvents:"none"},children:Up(n.type,n.props)})})})}function vf({components:e,selectedComponent:t,hoveredComponent:n,onRemove:r,onHover:o}){if(!e||Object.keys(e).length===0)return je("div",{style:{color:"#9ca3af",fontSize:11},children:"No component patterns defined yet."});let i=new Set(Object.keys(e)),s=Gi(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 je(Jo,{children:a.map(([l,d])=>je(bf,{name:l,value:d,selected:t===l,highlighted:n===l,onRemove:r,onHover:o},l))})}function hc({bridgeUrl:e,modelRefreshKey:t,onMouseEnter:n,onMouseLeave:r,selectedComponent:o,hoveredComponent:i,onComponentHover:s,onSpacingTokenHover:a,onModifySpacingToken:l,onDeleteSpacingToken:d,onComponentAdded:c,onComponentRemoved:p,onSynthesizeRules:u,isSynthesizing:g,snapPosition:b="bottom-right"}){let[v,R]=$n(void 0),[C,G]=$n(!0),[L,A]=$n(()=>{try{let H=localStorage.getItem(cc);if(H==="patterns"||H==="principles"||H==="rules")return H}catch(H){}return"patterns"});Eo(()=>{er(e).then(H=>{R(H),G(!1)})},[e,t]),Eo(()=>{try{localStorage.setItem(cc,L)}catch(H){}},[L]),Eo(()=>{o&&(A("patterns"),er(e).then(H=>{H&&R(H)}))},[o,e]);let E=Si(H=>{R(ee=>{if(!(ee!=null&&ee.components))return ee;let X=ee.components,{[H]:k}=X,Ae=Gn(X,[bo(H)]);return h(f({},ee),{components:Ae})}),p==null||p(H)},[p]),_=v==null?void 0:v.components,ie=v==null?void 0:v.rules,oe=_&&Object.keys(_).length>0,Y=ie&&ie.length>0,K=Yo(null);return Eo(()=>{let H=K.current;if(!H)return;let ee=n,k=r;return ee&&H.addEventListener("mouseenter",ee),k&&H.addEventListener("mouseleave",k),()=>{ee&&H.removeEventListener("mouseenter",ee),k&&H.removeEventListener("mouseleave",k)}},[n,r]),Xt("div",{ref:K,style:f(f({},nf),Ga(b)),children:[Xt("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:L===H?of:fc,onClick:()=>A(H),children:H.charAt(0).toUpperCase()+H.slice(1)},H))}),je("div",{style:{flex:1,overflowY:"auto",minHeight:0},children:L==="principles"?je(hf,{}):C?je("div",{style:{color:"#9ca3af",fontSize:11},children:"Loading..."}):!v||!oe&&!Y?je("div",{style:{color:"#9ca3af",lineHeight:1.5},children:"No design model yet. Pattern-scoped annotations will build one automatically."}):Xt(Jo,{children:[L==="patterns"&&je(vf,{components:_,selectedComponent:o,hoveredComponent:i,onRemove:E,onHover:s}),L==="rules"&&je(yf,{rules:ie,onSynthesize:u,isSynthesizing:g})]})})]})}import{jsx as vr}from"react/jsx-runtime";var Sf="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",wf="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";function As({size:e=16,style:t}){return vr("svg",{width:e,height:e,viewBox:"0 0 1200 1200",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:vr("path",{d:Sf})})}function Ps({size:e=16,style:t}){return vr("svg",{width:e,height:e,viewBox:"0 0 158.7128 157.296",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:vr("path",{d:wf})})}function Os({provider:e,size:t=16,style:n}){return e==="codex"?vr(Ps,{size:t,style:n}):vr(As,{size:t,style:n})}var Ci=[{id:"claude-opus-4-6",label:"Opus 4.6"},{id:"claude-sonnet-4-6",label:"Sonn 4.6"}],Ei=[{id:"gpt-5.4",label:"GPT 5.4"},{id:"gpt-5.3-codex",label:"Codex 5.3"},{id:"gpt-5.3-codex-spark",label:"Spark 5.3"}];var Cf=[...Ci,...Ei];function Bs(e,t){if(!e)return t==="codex"?"Codex":"Claude Code";let n=Cf.find(r=>r.id===e);return n?n.label:e.replace(/-\d{8,}$/,"")}import{jsx as bc}from"react/jsx-runtime";var yo={iconDefault:"#1f2937",iconActive:"#1f2937",bgActive:"#dedede",bgHover:"#e2e2e2",separator:"#e5e7eb"};function ko({children:e,active:t,siblingActive:n,disabled:r,onClick:o,title:i}){let s=()=>r?.4:n&&!t?.5:1,a={position:"relative",display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,borderRadius:0,border:"none",cursor:r?"default":"pointer",transition:"background-color 150ms ease, color 150ms ease, transform 100ms ease, opacity 150ms ease",backgroundColor:t?yo.bgActive:"transparent",color:t?yo.iconActive:yo.iconDefault,opacity:s()};return bc("button",{type:"button",onClick:r?void 0:o,title:i,disabled:r,style:a,onMouseEnter:l=>{r||(l.currentTarget.style.opacity="1",t||(l.currentTarget.style.backgroundColor=yo.bgHover))},onMouseLeave:l=>{r||(l.currentTarget.style.opacity=String(s()),t||(l.currentTarget.style.backgroundColor="transparent"))},onMouseDown:l=>{r||(l.currentTarget.style.transform="scale(0.95)")},onMouseUp:l=>{r||(l.currentTarget.style.transform="scale(1)")},children:e})}function yc(){return bc("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 8px"}})}import{Fragment as $r,jsx as xe,jsxs as Ct}from"react/jsx-runtime";var Vo=[{type:"rectangle",icon:Lf,label:"Rectangle",shortcut:"R"},{type:"circle",icon:Ef,label:"Oval",shortcut:"O"},{type:"line",icon:Rf,label:"Line",shortcut:"L"},{type:"freehand",icon:If,label:"Pen",shortcut:"P"}],Of=new Set(Vo.map(e=>e.type));function Bf(e,t,n,r,o,i,s,a){let l=(e-o)*(r-i)-(n-o)*(t-i),d=(e-s)*(i-a)-(o-s)*(t-a),c=(e-n)*(a-r)-(s-n)*(t-r),p=l<0||d<0||c<0,u=l>0||d>0||c>0;return!(p&&u)}function Df(e="bottom-right"){return Ya(e,window.innerWidth,window.innerHeight)}var _f=[{type:"text",icon:Pf,label:"Text",shortcut:"T"}],xc={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 Wc=Object.defineProperty,Gc=Object.defineProperties;var jc=Object.getOwnPropertyDescriptors;var Gr=Object.getOwnPropertySymbols;var sa=Object.prototype.hasOwnProperty,aa=Object.prototype.propertyIsEnumerable;var ia=(e,t,n)=>t in e?Wc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))sa.call(t,n)&&ia(e,n,t[n]);if(Gr)for(var n of Gr(t))aa.call(t,n)&&ia(e,n,t[n]);return e},h=(e,t)=>Gc(e,jc(t));var Co=e=>typeof e=="symbol"?e:e+"",jn=(e,t)=>{var n={};for(var o in e)sa.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&Gr)for(var o of Gr(e))t.indexOf(o)<0&&aa.call(e,o)&&(n[o]=e[o]);return n};import{createContext as Jg,useCallback as dn,useContext as Ug,useEffect as zt,useMemo as fo,useRef as tn,useState as nn}from"react";import{useCallback as ba,useEffect as Yc,useSyncExternalStore as Jc}from"react";var Yn="http://localhost:1111";function On(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 ca(e=Yn){try{let t=await On(`${e}/capabilities`,{},5e3);return t.ok?await t.json():null}catch(t){return null}}async function rr(e=Yn){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 la(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 da(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 la(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 la(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 jr(e=Yn,t,n=-1){try{let o=await On(`${e}/jobs/${t}/events?afterSeq=${n}`,{},5e3);return o.ok?await o.json():null}catch(o){return null}}async function ua(e,t,n=Yn,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 On(`${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 pa(e,t=Yn){let n=await On(`${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 fa(e,t=Yn){let n=await On(`${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 Bi(e,t,n=Yn){let o=await On(`${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 ga(e,t=Yn){let n=await On(`${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 ir(e=Yn){var t;try{let n=await On(`${e}/model`,{},5e3);return n.ok&&(t=(await n.json()).model)!=null?t:null}catch(n){return null}}async function ma(e=Yn){try{return(await On(`${e}/restart`,{method:"POST"},5e3)).ok||await On(`${e}/shutdown`,{method:"POST"},5e3),!0}catch(t){try{await On(`${e}/shutdown`,{method:"POST"},5e3)}catch(n){}return!0}}async function ha(e=Yn,t,n){let o=await On(`${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 ya(e,t,n=Yn,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 On(`${n}/reply`,{method:"POST",body:d},3e4)}else l=await On(`${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 Vr={};var Fo=typeof Vr!="undefined"?Vr.hot:void 0,va,Sa,wa,Xr=(wa=(Sa=(va=Fo==null?void 0:Fo.data)==null?void 0:va.sourceId)!=null?Sa:typeof localStorage!="undefined"&&localStorage.getItem("popmelt-source-id"))!=null?wa:typeof crypto!="undefined"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Math.random().toString(36).slice(2);Fo!=null&&Fo.data&&(Fo.data.sourceId=Xr);try{typeof localStorage!="undefined"&&localStorage.setItem("popmelt-source-id",Xr)}catch(e){}function Ni(){return Xr}var $o=typeof Vr!="undefined"?Vr.hot:void 0,mn=$o==null?void 0:$o.data,Uc={isConnected:!1,status:"disconnected",jobResponses:{},jobThinking:{},activeJobIds:[],activeJobThreads:{},currentResponse:"",currentThinking:"",events:[],activeJobId:null,lastCompletedJobId:null,lastResponseText:null,lastThreadId:null,lastErrorByJob:{},pendingQuestions:[],incrementalResolutions:[],capabilitiesVersion:0},Ca,lr=(Ca=mn==null?void 0:mn.store)!=null?Ca:f({},Uc),Ea,Yr=(Ea=mn==null?void 0:mn.listeners)!=null?Ea:new Set,ka,No=(ka=mn==null?void 0:mn.activeEs)!=null?ka:null,Ta,_i=(Ta=mn==null?void 0:mn.activeBridgeUrl)!=null?Ta:null,Do=null,Ma,Jr=(Ma=mn==null?void 0:mn.connectionGeneration)!=null?Ma:0;$o!=null&&$o.data&&Object.defineProperties($o.data,{store:{get:()=>lr,configurable:!0},listeners:{get:()=>Yr,configurable:!0},activeEs:{get:()=>No,configurable:!0},activeBridgeUrl:{get:()=>_i,configurable:!0},connectionGeneration:{get:()=>Jr,configurable:!0},discoveredBridgeUrl:{get:()=>Ho,configurable:!0}});var Ur=new Set,ar=new Map,Eo={};function _o(e,t){var o;if(!e)return!1;if(Ur.has(e)){let r=ar.get(e);return r||(r=[],ar.set(e,r)),r.push({type:(o=t.type)!=null?o:"",data:t}),!0}let n=Eo[e];return n!==void 0&&typeof t.seq=="number"&&t.seq<=n}async function Vc(e,t,n){let o=()=>n!==Jr;for(let r of t){if(o())return;Ur.add(r),ar.set(r,[])}await Promise.all(t.map(async r=>{var i;try{let s=await jr(e,r);if(o())return;let a=(i=ar.get(r))!=null?i:[];if(s){if(an(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})}),Eo[r]=s.currentSeq,!s.jobActive){let l=s.events.find(d=>d.type==="done"||d.type==="error");l&&Di(l.type,l,r)}for(let l of a)typeof l.data.seq=="number"&&l.data.seq<=s.currentSeq||Di(l.type,l.data,r)}else for(let l of a)Di(l.type,l.data,r)}finally{Ur.delete(r),ar.delete(r)}}))}function Di(e,t,n){var o;if(e==="delta"){let r=t.text||"";an(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||"";an(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 Eo[n],an(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 Eo[n];let r=(o=t.message)!=null?o:"";an(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 an(r=>h(f({},r),{events:[...r.events,{type:e,data:t,timestamp:Date.now()}]}))}var Ia,Ho=(Ia=mn==null?void 0:mn.discoveredBridgeUrl)!=null?Ia:null,sr=null;async function Xc(e){return e&&e!=="http://localhost:1111"?(Ho=e,e):Ho||sr||(sr=da(e).then(n=>{var o;return Ho=(o=n==null?void 0:n.url)!=null?o:null,sr=null,Ho}).catch(()=>(sr=null,null)),sr)}function La(){return Ho}function xa(){return lr}function Kc(e){return Yr.add(e),()=>{Yr.delete(e)}}function an(e){lr=e(lr);for(let t of Yr)t()}function Ra(e){if(No&&No.readyState!==EventSource.CLOSED&&_i===e)return;No&&(No.close(),No=null),Do&&(clearTimeout(Do),Do=null),_i=e;let t=++Jr,n=new EventSource(`${e}/events?sourceId=${Xr}`);No=n;let o=()=>t!==Jr;n.addEventListener("connected",()=>{o()||rr(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;an(b=>{let x=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&&(x[P]=O.error)}let T=b.activeJobIds.filter(P=>s.has(P));for(let P of s)T.includes(P)||T.push(P);let z={};for(let P of i)P.threadId&&(z[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:z,lastErrorByJob:x,lastCompletedJobId:A.length>0?A[A.length-1]:b.lastCompletedJobId})});let c=lr.activeJobIds.filter(b=>!s.has(b)),p=[...Array.from(s),...c];p.length>0&&Vc(e,p,t).catch(()=>{})})}),n.addEventListener("job_started",r=>{if(o())return;let i=JSON.parse(r.data),s=i.jobId;if(_o(s,i))return;let a=i.threadId;an(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(_o(s,i))return;let a=i.text||"";an(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(_o(s,i))return;let a=i.text||"";an(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;_o(s,i)||an(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;_o(s,i)||(s&&delete Eo[s],an(a=>{var b;let l=s?a.activeJobIds.filter(x=>x!==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;_o(s,i)||an(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()||an(r=>h(f({},r),{capabilitiesVersion:r.capabilitiesVersion+1}))}),n.addEventListener("queue_drained",()=>{if(!o()){for(let r of Object.keys(Eo))delete Eo[r];Ur.clear(),ar.clear(),an(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)an(a=>h(f({},a),{isConnected:!1,status:"disconnected"})),Do&&(clearTimeout(Do),Do=null),Do=setTimeout(()=>{rr(e).then(a=>{a&&Ra(e)})},5e3);else if(r instanceof MessageEvent){let a=JSON.parse(r.data),l=(i=a.jobId)!=null?i:null;if(_o(l!=null?l:void 0,a))return;l&&delete Eo[l];let d=(s=a.message)!=null?s:"";an(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&&an(r=>h(f({},r),{isConnected:!1,status:"disconnected"}))}}function Aa(e="http://localhost:1111",t=!0){let n=Jc(Kc,xa,xa);Yc(()=>{t&&Xc(e).then(i=>{i&&rr(i).then(s=>{s&&Ra(i)})})},[e,t]);let o=ba(()=>{an(()=>h(f({},lr),{events:[],currentResponse:"",currentThinking:"",jobResponses:{},jobThinking:{},lastResponseText:null,lastThreadId:null,lastErrorByJob:{},incrementalResolutions:[]}))},[]),r=ba(i=>{an(s=>h(f({},s),{pendingQuestions:s.pendingQuestions.filter(a=>a.threadId!==i)}))},[]);return h(f({},n),{clearEvents:o,dismissQuestion:r})}import{useEffect as qc,useReducer as Zc}from"react";var Qc={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 Kr(){return Math.random().toString(36).substring(2,9)}function Pa(e){return e.status?e:e.captured?h(f({},e),{status:"in_flight"}):h(f({},e),{status:"pending"})}function Mn(e){return h(f({},e),{undoStack:[...e.undoStack,{annotations:e.annotations,styleModifications:e.styleModifications,spacingTokenMods:e.spacingTokenMods}],redoStack:[]})}function ed(e,t){return h(f({},e),{isAnnotating:t})}function td(e,t){return h(f({},e),{activeTool:t,inspectedElement:null})}function nd(e,t){return h(f({},e),{activeColor:t})}function od(e,t){return h(f({},e),{strokeWidth:t})}function rd(e,t){return h(f({},e),{currentPath:[t]})}function id(e,t){return h(f({},e),{currentPath:[...e.currentPath,t]})}function sd(e){return h(f({},e),{currentPath:[]})}function ad(e,t){if(e.currentPath.length<2&&e.activeTool!=="text")return h(f({},e),{currentPath:[]});let n={id:Kr(),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=Mn(e);return h(f({},o),{annotations:[...e.annotations,n],currentPath:[]})}function ld(e,t){var r;let n=f({id:(r=t.id)!=null?r:Kr(),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:Mn(e);return h(f({},o),{annotations:[...e.annotations,n]})}function cd(e,t){let n=Mn(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 dd(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 ud(e,t){let n=Mn(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 pd(e,t){let n=t.saveUndo?Mn(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 fd(e,t){let n=t.saveUndo?Mn(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 gd(e,t){let n=Mn(e);return h(f({},n),{annotations:[...e.annotations,...t.annotations.map(Pa)]})}function md(e,t){let n=new Set,o=[];for(let r of t.annotations)n.has(r.id)||(n.add(r.id),o.push(Pa(r)));return h(f({},e),{annotations:o})}function hd(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 yd(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 bd(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 xd(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 vd(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 Sd(e){return h(f({},e),{annotations:[],undoStack:[],redoStack:[],currentPath:[],selectedAnnotationIds:[],lastSelectedId:null,spacingTokenChanges:[],spacingTokenMods:[]})}function wd(e,t){return h(f({},e),{inspectedElement:t})}function Cd(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=Mn(e),b=g.styleModifications.map((x,A)=>A===a?h(f({},x),{changes:[{property:r,original:i,modified:s}],captured:!1}):x);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,x)=>x!==d):c=l.changes.map((b,x)=>x===d?h(f({},b),{modified:s}):b)}else{if(i===s)return e;p=Mn(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=Mn(e),d={selector:n,element:o,changes:[{property:r,original:i,modified:s}]};return h(f({},l),{styleModifications:[...l.styleModifications,d]})}}function Ed(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=Mn(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 kd(e,t){let{selector:n,property:o}=t,r=Mn(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 Td(e){if(e.styleModifications.length===0)return h(f({},e),{inspectedElement:null});let t=Mn(e);return h(f({},t),{styleModifications:[],inspectedElement:null})}function Md(e,t){return h(f({},e),{styleModifications:t})}function Id(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 Ld(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 Rd(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 Ad(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 Pd(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 Od(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 Bd(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 Dd(e,t){return h(f({},e),{spacingTokenChanges:t})}function _d(e,t){let n=Mn(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 Nd(e,t){let n=Mn(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 Hd={SET_ANNOTATING:ed,SET_TOOL:td,SET_COLOR:nd,SET_STROKE_WIDTH:od,START_PATH:rd,CONTINUE_PATH:id,CANCEL_PATH:sd,FINISH_PATH:ad,ADD_TEXT:ld,UPDATE_TEXT:cd,UPDATE_TEXT_SIZE:dd,DELETE_ANNOTATION:ud,MOVE_ANNOTATION:pd,RESIZE_ANNOTATION:fd,PASTE_ANNOTATIONS:gd,RESTORE_ANNOTATIONS:md,UNDO:hd,REDO:yd,SELECT_ANNOTATION:bd,UPDATE_ANNOTATION_COLOR:xd,MARK_CAPTURED:vd,CLEAR:Sd,SELECT_ELEMENT:wd,MODIFY_STYLE:Cd,MODIFY_STYLES_BATCH:Ed,CLEAR_STYLE:kd,CLEAR_ALL_STYLES:Td,RESTORE_STYLE_MODIFICATIONS:Md,UPDATE_LINKED_POSITIONS:Id,CLEANUP_ORPHANED:Od,SET_ANNOTATION_STATUS:Ld,SET_ANNOTATION_THREAD:Rd,SET_ANNOTATION_QUESTION:Ad,APPLY_RESOLUTIONS:Pd,ADD_SPACING_TOKEN_CHANGE:Bd,RESTORE_SPACING_TOKEN_CHANGES:Dd,MODIFY_SPACING_TOKEN:_d,DELETE_SPACING_TOKEN:Nd};function Fd(e,t){let n=Hd[t.type];return n?n(e,t.payload):e}function Oa(){let[e,t]=Zc(Fd,Qc);return qc(()=>{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 $d}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 zd(e){return window.addEventListener("popstate",e),window.addEventListener("popmelt:locationchange",e),()=>{window.removeEventListener("popstate",e),window.removeEventListener("popmelt:locationchange",e)}}function Wd(){return window.location.pathname}function cr(){return $d(zd,Wd,()=>"/")}var Ba="popmelt-toolbar-snap-position";function zo(e){return e.startsWith("top-")}function Wo(e){return e.endsWith("-right")}function Rr(e){return e.endsWith("-center")}function Da(){try{let e=localStorage.getItem(Ba);if(e&&Gd(e))return e}catch(e){}return"bottom-right"}function _a(e){try{localStorage.setItem(Ba,e)}catch(t){}}function Gd(e){return["bottom-right","bottom-center","bottom-left","top-right","top-center","top-left"].includes(e)}function Na(e,t,n){let o=zo(e)?16:n-16-54;return Rr(e)?{position:"fixed",top:o,left:t/2,transform:"translateX(-50%)"}:Wo(e)?{position:"fixed",top:o,right:16,left:"auto"}:{position:"fixed",top:o,left:16,right:"auto"}}function Ha(e,t,n){let r=zo(e)?{top:82}:{bottom:82},i;return Rr(e)?i={left:t/2,transform:"translateX(-50%)"}:Wo(e)?i={right:16}:i={left:16},f(f({position:"fixed"},r),i)}function Fa(e,t,n){let o=zo(e),r=o?{top:78}:{bottom:78},i,s;return Rr(e)?(i={left:"50%",transform:"translateX(-50%)"},s="center"):Wo(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 $a(e){let t=zo(e),n=Wo(e)||Rr(e);return{position:"fixed",top:t&&n?82:16,right:16,bottom:!t&&n?82:16}}function za(e,t,n){let r=zo(e),i,s;Wo(e)||Rr(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 Wa=["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"];import{domToCanvas as jd}from"modern-screenshot";function Hi(e){let t=document.createElement("canvas").getContext("2d");return t?(t.fillStyle=e,t.fillStyle):"#888888"}function Fi(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 Yd(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 Jd(e,t){if(e.length===0)return[];let n=e.map(c=>({annotation:c,bounds:Yd(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 Ud(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 Vd(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,x)=>{e.fillText(b,a.x,a.y+l+x*p)});break}}}e.restore()}async function Ar(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=Ud(l),c=Jd(l,a);if(c.length===0){let u=await Ga(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 Ga(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 Ga(e,t,n,o,r,i,s){try{let a=getComputedStyle(document.documentElement).backgroundColor,d=await jd(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),Vd(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 Pr(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 ja(e,t,n){try{let o=Array.isArray(e)?e:[e];if(o.length===0)return!1;let r=await Pr(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=Fi(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}}import{useCallback as cn,useEffect as xn,useMemo as bi,useRef as Xt,useState as vt}from"react";import{useCallback as pr,useRef as Kd}from"react";function $i(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 Wi(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 Gi(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 Qt='"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';function Xd(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 dr(e){let t=window.innerWidth-e-16;return Math.max(60,Math.min(400,t))}function Ya(e,t,n){let o=[];for(let r of t)o.push(...Xd(e,r,n));return o}function ur(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 Ja(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 ${Qt}`,e.textBaseline="middle";let c=s!==void 0?Math.min(400,Math.max(60,window.innerWidth-s-16)):400,p=ur(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 Ua=11,ji=4,qd=`600 ${Ua}px system-ui, -apple-system, sans-serif`;function Yi(e,t,n){return e.map(o=>({x:o.x-t,y:o.y-n}))}function Zd(e,t,n,o,r,i){let s=String(o);e.font=qd;let l=e.measureText(s).width+ji*2,d=Ua+ji*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+ji,p+d/2)}function Qd(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 Va(){let e=Kd(null),t=pr(()=>{let a=e.current;if(!a)return;let l=a.getContext("2d");l&&l.clearRect(0,0,a.width,a.height)},[]),n=pr((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":Wi(p,a.points,g,a.strokeWidth);break;case"rectangle":Gi(p,a.points,g,a.strokeWidth);break;case"circle":$i(p,a.points,g,a.strokeWidth);break;case"text":a.text&&a.points[0]&&Ja(p,a.points[0],a.text,g,a.fontSize,l,a.points[0].x);break}},[]),o=pr((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":Wi(u,a,d,c);break;case"rectangle":Gi(u,a,d,c);break;case"circle":$i(u,a,d,c);break}},[]),r=pr((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),x=Math.min(p.y,u.y),A=Math.max(p.y,u.y),T=(g+b)/2,z=(x+A)/2;[{x:T,y:x},{x:T,y:A},{x:g,y:z},{x:b,y:z}].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=pr((a,l,d,c,p,u,g,b=0,x=0,A,T)=>{var z;if(t(),a.forEach(P=>{var re;let O=h(f({},P),{points:Yi(P.points,b,x)}),k=A==null?void 0:A.get(P.id),G=(re=T==null?void 0:T.has(P.id))!=null?re:!1;n(O,k,G)}),l.length>0){let P=Yi(l,b,x);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 k of u){let G=a.find(re=>re.id===k);if(G){let re=h(f({},G),{points:Yi(G.points,b,x)});if(r(re,g),O&&G.type!=="text"&&A&&!(G.groupId&&a.some(W=>W.groupId===G.groupId&&W.type==="text"))){let W=A.get(G.id);if(W!==void 0){let Q=Qd(re,g);if(Q){let ee=((z=G.status)!=null?z:G.captured?"in_flight":"pending")==="pending"?G.color:"#999999";Zd(O,Q.x,Q.y,W,ee,g)}}}}}}},[t,n,o,r]),s=pr(()=>{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 eu,useRef as tu}from"react";function Xa(){let e=tu({shift:!1,cmd:!1});return eu(()=>{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 nu}from"react";function Ka(e,t,n,o,r){nu(()=>{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 ul,useEffect as li,useRef as pl,useState as _r}from"react";function qr(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 Ji(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 Zr(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 qa(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 Hn(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 In(e){try{return document.querySelector(e)}catch(t){return null}}function Qr(e,t=0){var l;let n=Ji(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=Zr(s.fiber))!=null?l:e;return{name:s.name,path:o,depthIndex:i,rootElement:a}}function Za(e,t){var i,s;let n=Ji(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=Zr(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=Zr(n[r].fiber))!=null?s:e;return{name:t,path:n.map(l=>l.name),depthIndex:r,rootElement:a}}return null}function fr(e){let t=gr(),n=[],o=new Set,r=t.currentNode;for(;r=t.nextNode();){let i=Za(r,e);i&&!o.has(i.rootElement)&&(o.add(i.rootElement),n.push(i))}return n}function Ui(e){let t=new Map;if(e.size===0)return t;let n=new Set(e),o=gr(),r=new Set,i=o.currentNode;for(;(i=o.nextNode())&&n.size>0;)for(let s of n){let a=Za(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 gr(){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 Ln(e){let t={selector:qa(e),tagName:e.tagName.toLowerCase()};e.id&&(t.id=e.id),e.classList.length>0&&(t.className=Array.from(e.classList).join(" "));let n=Qa(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=qr(e);r&&(t.reactComponent=r.name);let i=ou(e);return i&&(t.context=i),t}function Qa(e){let t="";for(let n of e.childNodes)n.nodeType===Node.TEXT_NODE&&(t+=n.textContent||"");return t.trim()}function Go(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 ou(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,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=Go(a,l);d&&!t.has(d)&&(t.add(d),n.push(Ln(d)))}return n.slice(0,3)}function Vi(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 ln(e,t){return e.style.getPropertyValue(t)!==""}function ru(e,t=30){if(e<=0)return[];let n=[],o=gr(),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);!ln(s,"padding-top")&&Math.abs((parseFloat(l.paddingTop)||0)-e)<r&&n.push({element:s,property:"padding-top"}),!ln(s,"padding-bottom")&&Math.abs((parseFloat(l.paddingBottom)||0)-e)<r&&n.length<t&&n.push({element:s,property:"padding-bottom"}),!ln(s,"padding-left")&&Math.abs((parseFloat(l.paddingLeft)||0)-e)<r&&n.length<t&&n.push({element:s,property:"padding-left"}),!ln(s,"padding-right")&&Math.abs((parseFloat(l.paddingRight)||0)-e)<r&&n.length<t&&n.push({element:s,property:"padding-right"}),!ln(s,"margin-top")&&Math.abs((parseFloat(l.marginTop)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-top"}),!ln(s,"margin-bottom")&&Math.abs((parseFloat(l.marginBottom)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-bottom"}),!ln(s,"margin-left")&&Math.abs((parseFloat(l.marginLeft)||0)-e)<r&&n.length<t&&n.push({element:s,property:"margin-left"}),!ln(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=ln(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"}):!ln(s,"row-gap")&&Math.abs(u-e)<r?n.push({element:s,property:"row-gap"}):!ln(s,"column-gap")&&Math.abs(g-e)<r&&n.push({element:s,property:"column-gap"})}}return n}function Xi(e,t=30){if(e<=0)return[];let n=[],o=gr(),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,x=parseFloat(l.paddingTop)||0;!ln(s,"padding-top")&&Math.abs(x-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;!ln(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;!ln(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 z=parseFloat(l.paddingRight)||0;!ln(s,"padding-right")&&Math.abs(z-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;!ln(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;!ln(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 k=parseFloat(l.marginLeft)||0;!ln(s,"margin-left")&&Math.abs(k-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 G=parseFloat(l.marginRight)||0;!ln(s,"margin-right")&&Math.abs(G-e)<r&&n.length<t&&n.push({x:a.right,y:a.top,width:e,height:a.height,direction:"horizontal",property:"margin-right"});let re=l.display;if((re.includes("flex")||re.includes("grid"))&&n.length<t&&!ln(s,"gap")){let W=Array.from(s.children).filter(Q=>{let N=getComputedStyle(Q);return N.display!=="none"&&N.position!=="absolute"&&N.position!=="fixed"});if(W.length>=2)for(let Q=0;Q<W.length-1&&n.length<t;Q++){let N=W[Q].getBoundingClientRect(),ee=W[Q+1].getBoundingClientRect(),M=ee.top-N.bottom;Math.abs(M-e)<r&&M>.5&&n.push({x:Math.min(N.left,ee.left),y:N.bottom,width:Math.max(N.right,ee.right)-Math.min(N.left,ee.left),height:M,direction:"vertical",property:"gap"});let Le=ee.left-N.right;Math.abs(Le-e)<r&&Le>.5&&n.push({x:N.right,y:Math.min(N.top,ee.top),width:Le,height:Math.max(N.bottom,ee.bottom)-Math.min(N.top,ee.top),direction:"horizontal",property:"gap"})}}}return n}function ei(e){return typeof e=="string"?{value:e}:e}var nl={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 tl(e,t){let n=nl[t];return n?n.includes(e):!1}function iu(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 su(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 Ki(e,t=30){let n=parseFloat(e.value);if(isNaN(n)||n<=0)return[];if(e.bindings&&e.bindings.length>0){let r=[],i=gr(),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(!iu(d,c))continue;let p=su(c);if(p&&!(e.property&&!tl(p,e.property))){r.push({element:a,property:p});break}}}return r}let o=ru(n,t*2);return e.property?o.filter(r=>tl(r.property,e.property)).slice(0,t):o.slice(0,t)}function qi(e,t=30){let n=Ki(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 x=getComputedStyle(b);return x.display!=="none"&&x.position!=="absolute"&&x.position!=="fixed"});for(let b=0;b<g.length-1&&o.length<t;b++){let x=g[b].getBoundingClientRect(),A=g[b+1].getBoundingClientRect(),T=A.top-x.bottom;T>.5&&o.push({x:Math.min(x.left,A.left),y:x.bottom,width:Math.max(x.right,A.right)-Math.min(x.left,A.left),height:T,direction:"vertical",property:"gap"});let z=A.left-x.right;z>.5&&o.push({x:x.right,y:Math.min(x.top,A.top),width:z,height:Math.max(x.bottom,A.bottom)-Math.min(x.top,A.top),direction:"horizontal",property:"gap"})}break}}}return o}function ol(e,t){let n=new Set,o=Or(t);for(let r of e){let i=il[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 rl(e){let t=new Set;for(let n of e)for(let[o,r]of Object.entries(nl))if(r.includes(n.property)){t.add(o);break}if(t.size===1)return[...t][0]}function Zi(e,t,n){if(t===n)return e;let o=Or(t),r=Or(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 au={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 Or(e){var t;return(t=au[e])!=null?t:`[${e}px]`}var il={"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 lu(e,t,n,o){let r=il[t];if(!r)return null;let i=Or(n);for(let s of r){let a=new RegExp("(?:^|\\s)((?:[\\w-]+:)*"+s+"-(?:"+cu(i)+"|\\["+n+"px\\]))(?:\\s|$)"),l=e.match(a);if(l!=null&&l[1]){let d=Or(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 cu(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function sl(e,t,n){let o=new Set,r=[];for(let i of e){let s=Hn(i.element),a=`${s}::${i.property}`;if(o.has(a))continue;o.add(a);let l=qr(i.element),d=i.element.className||"",c=lu(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 ti(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function ni(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 oi(e){let t=window.getComputedStyle(e).display;return t==="flex"||t==="inline-flex"||t==="grid"||t==="inline-grid"}function jo(e){let t=window.getComputedStyle(e);return{row:parseFloat(t.rowGap)||0,column:parseFloat(t.columnGap)||0}}function du(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 yo(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 du(n)}function Qi(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 mr(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 Yo(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 es(e){for(let t of e.childNodes)if(t.nodeType===Node.TEXT_NODE&&(t.textContent||"").trim().length>0)return!0;return!1}function hr(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 Br(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 Qe(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 ri(e){var t;for(let n of e){let o=In(n.selector);if(!o&&n.durableSelector&&(o=In(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)Qe(o,r.property,r.modified)}}function ii(e){for(let t of e){let n=In(t.selector);if(n)for(let o of t.changes)al(n,o.property,o.original)}}function cl(e,t,n,o){if(e)for(let r of e){if(r instanceof CSSGroupingRule){cl(r.cssRules,t,n,o);continue}if(r instanceof CSSStyleRule){let i=r.selectorText.toLowerCase();(i===":root"||i==="html"||i==="*"||i.includes(":root"))&&uu(r.style,t,n,o)}}}function uu(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();dl(s)&&o.push({name:i,value:s,usage:`var(${i})`})}}}var si=null,pu=5e3;function ts(){if(si&&Date.now()-si.timestamp<pu)return si.variables;let e=[],t=new Set,n=getComputedStyle(document.documentElement);try{for(let i of document.styleSheets)try{cl(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();dl(a)&&e.push({name:s,value:a,usage:`var(${s})`})}}let r=e.sort((i,s)=>i.name.localeCompare(s.name));return si={variables:r,timestamp:Date.now()},r}function dl(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 yr(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 Dr(e,t){if(!e)return null;let n=ll(e);if(!n)return null;for(let o of t){let r=ll(o.value);if(r&&n===r)return o}return null}function ll(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 Jo,jsx as yt,jsxs as to}from"react/jsx-runtime";var Jn=22,ko=12,fu=3,gu=250,ai=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],mu=3e3;function hu(s){var a=s,{left:e,top:t,avoidBottom:n,style:o,children:r}=a,i=jn(a,["left","top","avoidBottom","style","children"]);let l=e+ko,d=t+ko,c=n!==void 0?`${n}px`:"100vh";return yt("div",h(f({"data-devtools":"badge-hit-area"},i),{style:f({position:"fixed",left:e,top:t,padding:ko},o),children:yt("div",{style:{transform:`translate(min(0px, calc(100vw - ${l}px - 100%)), min(0px, calc(${c} - ${d}px - 100%)))`},children:r})}))}function fl({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 oe,W,Q,N,ee,M,Le;let[u,g]=_r(0),[b,x]=_r(()=>Math.floor(Math.random()*ai.length)),A=!!(n&&n.size>0);li(()=>{if(!A)return;let V=setInterval(()=>{g(D=>(D+1)%fu)},gu),fe=setInterval(()=>{x(D=>(D+1)%ai.length)},mu);return()=>{clearInterval(V),clearInterval(fe)}},[A]);let T=[];for(let V of e){if(V.type!=="text"||!V.text||!V.points[0]||t.has(V))continue;let fe=V.groupId?e.filter(he=>he.groupId===V.groupId):[V],D=(oe=V.status)!=null?oe:"pending",ae=fe.reduce((he,te)=>{var ie;return he+((ie=te.replyCount)!=null?ie:0)},0),I=he=>he==="resolved"&&ae===0,pe=!!(n&&(n.has(V.id)||fe.some(he=>n.has(he.id))))||V.status==="in_flight"||fe.some(he=>he.status==="in_flight")||I(V.status)||fe.some(he=>I(he.status)),me=fe.some(he=>{var te;return he.status==="resolved"&&((te=he.replyCount)!=null?te:0)>0||he.status==="needs_review"}),Fe=fe.some(he=>he.threadId);if(!pe&&D!=="resolved"&&D!=="needs_review"&&!me&&!Fe)continue;let we=V.threadId||((W=fe.find(he=>he.threadId))==null?void 0:W.threadId),Je=D==="needs_review"||fe.some(he=>he.status==="needs_review"),Re=V.points[0],Ce=V.fontSize||12,at=Ce*1.4,gt=a.get(V.id),bt=V.text.replace(/\n/g," "),Yt=gt!==void 0?gt+". "+bt:bt,K=(N=(Q=p==null?void 0:p.current)==null?void 0:Q.getContext("2d"))!=null?N:document.createElement("canvas").getContext("2d");if(!K)continue;K.font=`${Ce}px ${Qt}`;let X=Re.x-i,Te=dr(X),Oe=ur(K,Yt,Te),Xe=K.measureText(Oe).width,Pe=pe&&!!o&&!o.has(V.id)&&!fe.some(he=>o.has(he.id));T.push({id:V.id,threadId:we,linkedSelector:V.linkedSelector||((ee=fe.find(he=>he.linkedSelector))==null?void 0:ee.linkedSelector),x:Re.x+Xe+4,y:Re.y-4,size:at+8,color:V.color,isInFlight:pe,isQueued:Pe,queuePosition:void 0,isNeedsReview:Je,replyCount:ae})}let z=T.filter(V=>V.isQueued);if(z.length>0&&z.forEach((V,fe)=>{var D;V.queuePosition=(D=r==null?void 0:r.get(V.id))!=null?D:`(${fe+1}/${z.length})`}),T.length===0)return null;let P=2,O=(Le=(M=p==null?void 0:p.current)==null?void 0:M.getContext("2d"))!=null?Le:document.createElement("canvas").getContext("2d"),k=T.map(V=>{var me;let fe;V.isQueued?fe=V.queuePosition?`queued ${V.queuePosition}`:"queued":V.isInFlight?fe=(me=ai[b])!=null?me:"thinking":V.replyCount>0?fe=`${V.replyCount} ${V.replyCount===1?"reply":"replies"}`:fe="Cancelled";let D=!V.isQueued,ae=D?11:0,I=D?4:0,pe=fe.length*7.2;return O&&(O.font=`12px ${Qt}`,pe=O.measureText(fe).width),4+ae+I+pe+4}),G=typeof window!="undefined"?window.innerHeight:9999,re=[];for(let V=0;V<T.length;V++){let fe=T[V].y-s,D=Math.min(fe,G-Jn),ae=D+Jn,pe=T[V].x-i;for(let me=0;me<V;me++){let Fe=T[me].y-s,we=Math.min(Fe,G-Jn),Je=we+Jn;if(!(D<Je&&ae>we))continue;let Ce=re[me]+k[me];pe<Ce+P&&(pe=Ce+P)}re.push(pe)}return yt(Jo,{children:T.map((V,fe)=>{let D=!!V.threadId;return yt(hu,{left:re[fe]-ko,top:V.y-s-ko,onMouseDown:D?ae=>ae.stopPropagation():void 0,onClick:D?ae=>{if(ae.stopPropagation(),d==null||d(V.id),l==null||l(V.threadId),V.linkedSelector)try{let I=document.querySelector(V.linkedSelector);if(I){let pe=I.getBoundingClientRect();(pe.bottom<0||pe.top>window.innerHeight)&&I.scrollIntoView({behavior:"smooth",block:"center"})}}catch(I){}}:void 0,onMouseEnter:c?()=>c(V.id):void 0,onMouseLeave:c?()=>c(null):void 0,style:{pointerEvents:D?"auto":"none",cursor:D?"pointer":void 0,zIndex:9999},children:yt("div",{"data-devtools":"annotation-badge",style:{height:V.size,display:"flex",alignItems:"center",backgroundColor:V.color,fontFamily:Qt,fontSize:12,color:"#ffffff",userSelect:"none",padding:`0 ${4}px`,gap:4,whiteSpace:"nowrap"},children:V.isQueued?to("span",{style:{opacity:.5,color:"inherit"},children:["queued",V.queuePosition?` ${V.queuePosition}`:""]}):V.isInFlight?to(Jo,{children:[yt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:u===1?to(Jo,{children:[yt("circle",{cx:"7",cy:"7",r:"2"}),yt("circle",{cx:"17",cy:"7",r:"2"}),yt("circle",{cx:"7",cy:"17",r:"2"}),yt("circle",{cx:"17",cy:"17",r:"2"})]}):to(Jo,{children:[yt("circle",{cx:"12",cy:"6",r:"2"}),yt("circle",{cx:"6",cy:"12",r:"2"}),yt("circle",{cx:"18",cy:"12",r:"2"}),yt("circle",{cx:"12",cy:"18",r:"2"})]})}),yt("span",{style:{opacity:.7,color:"inherit"},children:ai[b]})]}):to(Jo,{children:[V.isNeedsReview?yt("span",{style:{fontWeight:700,color:"inherit"},children:"?"}):yt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:yt("polyline",{points:"4 12 10 18 20 6"})}),yt("span",{style:{opacity:.7,color:"inherit"},children:V.replyCount>0?`${V.replyCount} ${V.replyCount===1?"reply":"replies"}`:"Cancelled"})]})})},V.id)})})}function ns({inFlightSelectorColors:e,animated:t=!0}){let[n,o]=_r([]);return li(()=>{if(e.size===0){o([]);return}let r=null,i=()=>{let l=[];for(let[d,c]of e){let p=In(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:to(Jo,{children:[t&&yt("style",{children:"@keyframes popmelt-march { to { stroke-dashoffset: -6; } }"}),n.map(r=>yt("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:yt("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible"},children:yt("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 gl({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,x=b*1.4,A=i.get(u.id),T=u.text.replace(/\n/g," "),z=A!==void 0?A+". "+T:T,O=document.createElement("canvas").getContext("2d");if(!O)continue;O.font=`${b}px ${Qt}`;let k=g.x-n,G=dr(k),re=ur(O,z,G),oe=O.measureText(re).width;c.push({annotation:p,x:g.x+oe+4,y:g.y-4,size:x+8})}}return c.length===0?null:yt(Jo,{children:c.map(({annotation:p,x:u,y:g,size:b})=>yt(yu,{annotation:p,x:u-n,y:g-o,size:b,onReply:r,onHoverAnnotation:a},`question-${p.threadId}`))})}function yu({annotation:e,x:t,y:n,size:o,onReply:r,onHoverAnnotation:i}){let[s,a]=_r(!1),[l,d]=_r(""),c=pl(null),p=pl(null);li(()=>{s&&c.current&&c.current.focus()},[s]),li(()=>{if(!s)return;let A=z=>{p.current&&!z.composedPath().includes(p.current)&&a(!1)},T=z=>{z.key==="Escape"&&a(!1)};return document.addEventListener("mousedown",A),document.addEventListener("keydown",T),()=>{document.removeEventListener("mousedown",A),document.removeEventListener("keydown",T)}},[s]);let u=ul(()=>{!l.trim()||!e.threadId||(r(e.threadId,l.trim()),d(""),a(!1))},[l,e.threadId,r]),g=ul(A=>{A.key==="Enter"&&(A.metaKey||A.ctrlKey)&&(A.preventDefault(),u())},[u]),b=s?t:t-ko,x=s?n:n-ko;return to("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, ${x}px)`,padding:s?0:ko,transform:`translate(min(0px, calc(100vw - max(0px, ${b}px) - 100%)), min(0px, calc(100vh - max(0px, ${x}px) - 100%)))`,zIndex:s?10002:9999,pointerEvents:"auto",cursor:s?void 0:"pointer"},children:[!s&&to("div",{onClick:()=>a(!0),style:{height:o,display:"flex",alignItems:"center",backgroundColor:e.color,padding:`0 ${4}px`,gap:4,fontFamily:Qt,fontSize:12,color:"#ffffff",whiteSpace:"nowrap"},children:[to("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[yt("line",{x1:"12",y1:"3",x2:"12",y2:"9"}),yt("line",{x1:"12",y1:"15",x2:"12",y2:"21"}),yt("line",{x1:"3",y1:"12",x2:"9",y2:"12"}),yt("line",{x1:"15",y1:"12",x2:"21",y2:"12"})]}),yt("span",{style:{opacity:.7},children:"reply?"})]}),s&&to("div",{style:{minWidth:260,maxWidth:360,backgroundColor:"#eaeaea",fontFamily:Qt,fontSize:12,color:"#1f2937",border:"1px solid rgba(0, 0, 0, 0.1)"},children:[yt("div",{style:{padding:`${6}px ${8}px`,lineHeight:1.4},children:e.question}),to("div",{style:{padding:`0 ${4}px ${4}px`},children:[yt("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:Qt,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"}}),yt("div",{style:{display:"flex",justifyContent:"flex-end",marginTop:4},children:yt("button",{onClick:u,disabled:!l.trim(),style:{padding:"4px 12px",fontSize:11,fontFamily:Qt,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 ci(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 ml,useLayoutEffect as bu,useState as hl}from"react";import{jsx as os,jsxs as bl}from"react/jsx-runtime";function xu(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 yl=["top-left","top-right","bottom-right","bottom-left"];function xl({element:e,radius:t,accentColor:n,hoveredCorner:o,draggingCorner:r,cursorViewport:i}){let[s,a]=hl(null),[l,d]=hl(!1);if(ml(()=>{let T=O=>{(O.key==="Meta"||O.key==="Control")&&d(!0)},z=O=>{(O.key==="Meta"||O.key==="Control")&&d(!1)},P=()=>d(!1);return window.addEventListener("keydown",T,!0),window.addEventListener("keyup",z,!0),window.addEventListener("blur",P),()=>{window.removeEventListener("keydown",T,!0),window.removeEventListener("keyup",z,!0),window.removeEventListener("blur",P)}},[]),ml(()=>{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]),bu(()=>{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=xu(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,x=r!=null?r:o;if(x)if(l)b.add(x);else for(let T of yl)b.add(T);let A={position:"fixed",top:s.top,left:s.left,width:c,height:p,pointerEvents:"none",zIndex:9996,overflow:"visible"};return bl("div",{"data-devtools":"border-radius-handles",style:A,children:[bl("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${c} ${p}`,children:[os("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"}),yl.map(T=>{let z=g[T],P=b.has(T);return os("circle",{cx:z.x,cy:z.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&&x&&(()=>{let T=Math.round(t[x]);return os("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 vu,useState as Su}from"react";function Uo(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 wu,jsx as rs,jsxs as Nr}from"react/jsx-runtime";function lo({element:e,isSelected:t=!1,elementInfo:n,color:o="#3b82f6",annotationNumber:r,changeCount:i,hideTooltip:s=!1}){let[a,l]=Su(null);if(vu(()=>{if(!e){l(null);return}let k=()=>{let G=e.getBoundingClientRect();l(G)};return k(),window.addEventListener("scroll",k,{passive:!0}),window.addEventListener("resize",k,{passive:!0}),()=>{window.removeEventListener("scroll",k),window.removeEventListener("resize",k)}},[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:Uo(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}`,x=22,A=a.height>=window.innerHeight,T=A?0:a.top>=x?a.top-x:a.bottom,z=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&&Nr("div",{"data-devtools":"tooltip",style:z,children:[r!==void 0&&Nr("span",{children:[r,"."]}),rs("span",{style:{overflow:"hidden",textOverflow:"ellipsis",flex:1,minWidth:0},children:b}),i!==void 0&&i>0&&Nr("span",{style:{opacity:.8},children:["(",i," ",i===1?"change":"changes",")"]})]});return Nr(wu,{children:[Nr("div",{"data-devtools":"highlight",style:d,children:[rs("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},children:rs("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 vl,useLayoutEffect as Cu,useState as is}from"react";import{jsx as bo,jsxs as as}from"react/jsx-runtime";function ss(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 ls({element:e,gap:t,accentColor:n,hoveredAxis:o,draggingAxis:r,cursorViewport:i,isAutoGap:s=!1,refreshKey:a=0}){let[l,d]=is(null),[c,p]=is([]),[u,g]=is(!1);if(vl(()=>{let oe=N=>{(N.key==="Meta"||N.key==="Control")&&g(!0)},W=N=>{(N.key==="Meta"||N.key==="Control")&&g(!1)},Q=()=>g(!1);return window.addEventListener("keydown",oe,!0),window.addEventListener("keyup",W,!0),window.addEventListener("blur",Q),()=>{window.removeEventListener("keydown",oe,!0),window.removeEventListener("keyup",W,!0),window.removeEventListener("blur",Q)}},[]),vl(()=>{if(!e){d(null),p([]);return}let oe=()=>{d(e.getBoundingClientRect()),p(yo(e))};return oe(),window.addEventListener("scroll",oe,{passive:!0}),window.addEventListener("resize",oe,{passive:!0}),()=>{window.removeEventListener("scroll",oe),window.removeEventListener("resize",oe)}},[e]),Cu(()=>{e&&(d(e.getBoundingClientRect()),p(yo(e)))},[e,t.row,t.column,a]),!l||c.length===0)return null;let b=l.width,x=l.height,A="pm-gap-stripe-pattern",T=ss(n,.25),z=ss(n,.1),P=ss(n,.2),O=8,k=2,G={position:"fixed",top:l.top,left:l.left,width:b,height:x,pointerEvents:"none",zIndex:9996,overflow:"visible"},re=r!=null?r:o;return as("div",{"data-devtools":"gap-handles",style:G,children:[as("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${b} ${x}`,children:[bo("defs",{children:bo("pattern",{id:A,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:bo("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:T,strokeWidth:"1.5"})})}),bo("rect",{x:"0.5",y:"0.5",width:Math.max(0,b-1),height:Math.max(0,x-1),fill:"none",stroke:P,strokeWidth:"1"}),c.map((oe,W)=>{let Q=oe.x-l.left,N=oe.y-l.top,ee=oe.w,M=oe.h,Le=u?oe.axis===re:!0;return(oe.axis==="row"?t.row:t.column)===0?null:as("g",{opacity:Le?1:.6,children:[bo("rect",{x:Q,y:N,width:ee,height:M,fill:z}),bo("rect",{x:Q,y:N,width:ee,height:M,fill:`url(#${A})`})]},W)}),re&&(()=>{let oe=c.filter(me=>me.axis===re);if(oe.length===0)return null;let W=oe[0];if(i&&oe.length>1){let me=1/0;for(let Fe of oe){let we=Fe.x+Fe.w/2,Je=Fe.y+Fe.h/2,Re=Math.abs(i.x-we)+Math.abs(i.y-Je);Re<me&&(me=Re,W=Fe)}}let Q=W.x-l.left,N=W.y-l.top,ee=W.w,M=W.h,Le=Q+ee/2,V=N+M/2;if(s)return bo("circle",{cx:Le,cy:V,r:1.5,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"});let fe=re==="column",D=fe?k:O,ae=fe?O:k,I=Le-D/2,pe=V-ae/2;return bo("rect",{x:I,y:pe,width:D,height:ae,fill:n,stroke:"#ffffff",strokeWidth:4,paintOrder:"stroke"})})()]}),i&&re&&(()=>{let oe=s?"auto":String(Math.round(re==="row"?t.row:t.column));return bo("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:oe})})()]})}import{useCallback as Iu,useEffect as Lu,useState as Ru}from"react";import{useEffect as Eu,useState as Sl}from"react";var ku=3,Tu=250,cs=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Mu=3e3;function wl(e){let[t,n]=Sl(0),[o,r]=Sl(()=>Math.floor(Math.random()*cs.length));return Eu(()=>{if(!e)return;let i=setInterval(()=>n(a=>(a+1)%ku),Tu),s=setInterval(()=>r(a=>(a+1)%cs.length),Mu);return()=>{clearInterval(i),clearInterval(s)}},[e]),{charIndex:t,word:cs[o]}}import{Fragment as ds,jsx as Fn,jsxs as br}from"react/jsx-runtime";function Au(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 Cl=22,us=12;function Pu(s){var a=s,{left:e,top:t,avoidBottom:n,style:o,children:r}=a,i=jn(a,["left","top","avoidBottom","style","children"]);let l=n!==void 0?`${n}px`:"100vh";return Fn("div",h(f({"data-devtools":"badge-hit-area"},i),{style:f({position:"fixed",left:`max(0px, ${e}px)`,top:`max(0px, ${t}px)`,padding:us,transform:`translate(min(0px, calc(100vw - max(0px, ${e}px) - 100%)), min(0px, calc(${l} - max(0px, ${t}px) - 100%)))`},o),children:r}))}function El({styleModifications:e,isInspecting:t,accentColor:n,annotationGroupCount:o,dispatch:r,inFlightSelectors:i,toolbarRef:s,onHoverSelector:a}){var z;let[l,d]=Ru([]),c=i&&i.size>0,{charIndex:p,word:u}=wl(!!c);Lu(()=>{if(t){d([]);return}let P=null,O=()=>{let re=[];e.forEach((oe,W)=>{let Q=In(oe.selector);if(!Q)return;let N=Q.getBoundingClientRect();re.push({selector:oe.selector,modIndex:W,top:N.top>=Cl?N.top-Cl:N.bottom,left:N.left,label:Au(oe),changeCount:oe.changes.length,annotationNumber:o+W+1})}),d(re)},k=()=>{P&&cancelAnimationFrame(P),P=requestAnimationFrame(O)};O(),window.addEventListener("scroll",k,!0),window.addEventListener("resize",k,!0);let G=new MutationObserver(k);return G.observe(document.body,{attributes:!0,childList:!0,subtree:!0,attributeFilter:["style","class"]}),window.addEventListener("load",k),document.fonts.ready.then(k),()=>{window.removeEventListener("scroll",k,!0),window.removeEventListener("resize",k,!0),window.removeEventListener("load",k),G.disconnect(),P&&cancelAnimationFrame(P)}},[e,t,o]);let g=Iu(P=>{let O=e[P];if(!O)return;let k=In(O.selector);k&&(r({type:"SELECT_ANNOTATION",payload:{id:null}}),r({type:"SET_TOOL",payload:"inspector"}),r({type:"SELECT_ELEMENT",payload:{el:k,info:O.element}}))},[e,r]);if(l.length===0)return null;let b=(z=s==null?void 0:s.current)==null?void 0:z.getBoundingClientRect(),x=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 Fn(ds,{children:l.map(P=>{let O=i==null?void 0:i.has(P.selector);return Fn(Pu,{left:P.left-us,top:P.top-us,avoidBottom:x,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:br("div",{"data-devtools":"badge",style:h(f({},A),{backgroundColor:O?"#999999":n}),children:[br("span",{children:[P.annotationNumber,"."]}),Fn("span",{style:T,children:P.label}),br("span",{style:{opacity:.8},children:["(",P.changeCount," ",P.changeCount===1?"change":"changes",")"]}),O&&br("span",{style:{opacity:.8,marginLeft:4,display:"inline-flex",alignItems:"center",gap:4},children:[Fn("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"currentColor",style:{verticalAlign:"middle"},children:p===1?br(ds,{children:[Fn("circle",{cx:"7",cy:"7",r:"2"}),Fn("circle",{cx:"17",cy:"7",r:"2"}),Fn("circle",{cx:"7",cy:"17",r:"2"}),Fn("circle",{cx:"17",cy:"17",r:"2"})]}):br(ds,{children:[Fn("circle",{cx:"12",cy:"6",r:"2"}),Fn("circle",{cx:"6",cy:"12",r:"2"}),Fn("circle",{cx:"18",cy:"12",r:"2"}),Fn("circle",{cx:"12",cy:"18",r:"2"})]})}),u]})]})},P.selector)})})}import{useEffect as Ou,useState as Bu}from"react";import{Fragment as _u,jsx as kl}from"react/jsx-runtime";function Du(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 Tl({styleModifications:e,accentColor:t}){let[n,o]=Bu([]);if(Ou(()=>{let i=null,s=()=>{let d=[];for(let c of e){let p=In(c.selector);if(!p)continue;let u=p.getBoundingClientRect();if(u.width===0&&u.height===0)continue;let g=Yo(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=Du(t,.2);return kl(_u,{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 kl("div",{"data-devtools":"mod-border",style:s},i.selector)})})}import{useEffect as Ml,useLayoutEffect as Nu,useState as Il}from"react";import{jsx as To,jsxs as fs}from"react/jsx-runtime";function ps(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 Hu={top:"bottom",bottom:"top",left:"right",right:"left"};function gs({element:e,padding:t,accentColor:n,hoveredSide:o,draggingSide:r,cursorViewport:i,refreshKey:s}){let[a,l]=Il(null),[d,c]=Il(!1);if(Ml(()=>{let ee=V=>{(V.key==="Meta"||V.key==="Control")&&c(!0)},M=V=>{(V.key==="Meta"||V.key==="Control")&&c(!1)},Le=()=>c(!1);return window.addEventListener("keydown",ee,!0),window.addEventListener("keyup",M,!0),window.addEventListener("blur",Le),()=>{window.removeEventListener("keydown",ee,!0),window.removeEventListener("keyup",M,!0),window.removeEventListener("blur",Le)}},[]),Ml(()=>{if(!e){l(null);return}let ee=()=>{l(e.getBoundingClientRect())};return ee(),window.addEventListener("scroll",ee,{passive:!0}),window.addEventListener("resize",ee,{passive:!0}),()=>{window.removeEventListener("scroll",ee),window.removeEventListener("resize",ee)}},[e]),Nu(()=>{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:x,left:A}=t,T="pm-stripe-pattern",z=ps(n,.25),P=ps(n,.1),O=ps(n,.2),k=8,G=2,re={position:"fixed",top:a.top,left:a.left,width:p,height:u,pointerEvents:"none",zIndex:9996,overflow:"visible"},oe=["top","right","bottom","left"],W={top:`0,0 ${p},0 ${p-b},${g} ${A},${g}`,right:`${p},0 ${p},${u} ${p-b},${u-x} ${p-b},${g}`,bottom:`0,${u} ${A},${u-x} ${p-b},${u-x} ${p},${u}`,left:`0,0 ${A},${g} ${A},${u-x} 0,${u}`},Q={top:{x:p/2-k/2,y:g/2-G/2,w:k,h:G},bottom:{x:p/2-k/2,y:u-x/2-G/2,w:k,h:G},left:{x:A/2-G/2,y:u/2-k/2,w:G,h:k},right:{x:p-b/2-G/2,y:u/2-k/2,w:G,h:k}},N=new Set;return r?N.add(r):o&&(N.add(o),d||N.add(Hu[o])),fs("div",{"data-devtools":"padding-handles",style:re,children:[fs("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${p} ${u}`,children:[To("defs",{children:To("pattern",{id:T,patternUnits:"userSpaceOnUse",width:"4",height:"4",patternTransform:"rotate(45)",children:To("line",{x1:"0",y1:"0",x2:"0",y2:"4",stroke:z,strokeWidth:"1.5"})})}),To("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"}),oe.map(ee=>{if(t[ee]<=0)return null;let Le=N.has(ee);return fs("g",{opacity:Le?1:.6,children:[To("polygon",{points:W[ee],fill:P}),To("polygon",{points:W[ee],fill:`url(#${T})`})]},ee)}),oe.map(ee=>{let M=Q[ee],Le=N.has(ee);return To("rect",{x:M.x,y:M.y,width:M.w,height:M.h,fill:n,stroke:"#ffffff",strokeWidth:Le?4:2,paintOrder:"stroke"},`handle-${ee}`)})]}),i&&(o||r)&&(()=>{let ee=r!=null?r:o,M=Math.round(t[ee]);return To("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:M})})()]})}import{useCallback as co,useEffect as Vn,useMemo as yi,useRef as Dn,useState as yn}from"react";import{Check as hi,ChevronDown as ws,MoveHorizontal as $l,Shrink as cp}from"lucide-react";var Fu="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMic+PGRlZnM+PHBhdHRlcm4gaWQ9J2QnIHdpZHRoPSc0JyBoZWlnaHQ9JzQnIHBhdHRlcm5Vbml0cz0ndXNlclNwYWNlT25Vc2UnPjxwYXRoIGQ9J00tMSwxIGwyLC0yIE0wLDQgbDQsLTQgTTMsNSBsMiwtMicgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScuNScvPjwvcGF0dGVybj48L2RlZnM+PHJlY3Qgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSd1cmwoI2QpJy8+PC9zdmc+",xr={borderWidth:3,borderStyle:"solid",borderImage:`url("${Fu}") 4 / 1.9 / 0 round`};function di({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 ui={"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 vr(e){var t,n;return(n=(t=ui[e])==null?void 0:t[0])!=null?n:"px"}function Mo(e){let t=e.match(/^([\d.-]+)(.*)$/);return t?{num:parseFloat(t[1]),unit:t[2]||""}:{num:0,unit:""}}function pi(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}=Mo(n);return`${s}${a||vr(t)}`}return`${s}${vr(t)}`}return r}function ms(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 $u,useEffect as zu,useRef as Ll,useState as Wu}from"react";import{Plus as Rl,X as Gu}from"lucide-react";import{jsx as Bn,jsxs as Vo}from"react/jsx-runtime";var fi=[{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 ju(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 hs(e){return e.length===0?"none":e.map(t=>{var r;let n=fi.find(i=>i.name===t.name),o=(r=n==null?void 0:n.unit)!=null?r:"";return`${t.name}(${t.value}${o})`}).join(" ")}function Al({value:e,onChange:t,accentColor:n,modified:o,panelContentRef:r}){let i=ju(e),[s,a]=Wu(!1),l=Ll(null),d=Ll(null);zu(()=>{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=fi.filter(P=>!i.some(O=>O.name===P.name)),p=P=>{let O=[...i,{name:P.name,value:P.defaultValue}];t(hs(O)),a(!1)},u=P=>{let O=i.filter((k,G)=>G!==P);t(hs(O))},g=(P,O)=>{let k=i.map((G,re)=>re===P?h(f({},G),{value:O}):G);t(hs(k))},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"},x=$u(P=>{var W;if(!d.current)return{position:"fixed",top:0,left:0};let O=d.current.getBoundingClientRect(),k=(W=r==null?void 0:r.current)==null?void 0:W.getBoundingClientRect(),G=P*24+8,oe=window.innerHeight-O.bottom<G;return h(f({position:"fixed"},oe?{bottom:window.innerHeight-O.top+2}:{top:O.bottom+2}),{left:k?k.left+4:O.left,width:k?k.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"},z=P=>Bn("div",{ref:l,style:f(f({},x(P.length)),A),children:P.map(O=>Bn("button",{type:"button",onClick:()=>p(O),style:T,onMouseEnter:k=>{k.currentTarget.style.backgroundColor="rgba(0,0,0,0.05)"},onMouseLeave:k=>{k.currentTarget.style.backgroundColor="transparent"},children:O.label},O.name))});return i.length===0?Vo("div",{children:[Vo("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Bn(xo,{modified:!1,children:Bn("input",{type:"text",value:"",placeholder:"\u2014",readOnly:!0,style:h(f({},b),{color:"#999",cursor:"default"})})}),Bn("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:Bn(Rl,{size:12})})]}),s&&z(fi)]}):Vo("div",{style:{display:"flex",flexDirection:"column",gap:4,position:"relative"},children:[i.map((P,O)=>{let k=fi.find(G=>G.name===P.name);return k?Vo("div",{style:{display:"flex",alignItems:"center",gap:4},children:[Bn("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:k.label}),Bn(xo,{modified:o,children:Vo("div",{style:{display:"flex",alignItems:"center",gap:4,padding:"0 4px"},children:[Bn("input",{type:"range",min:k.min,max:k.max,step:k.step,value:P.value,onChange:G=>g(O,parseFloat(G.target.value)),style:{flex:1,height:2,appearance:"none",WebkitAppearance:"none",background:`linear-gradient(to right, ${n} ${(P.value-k.min)/(k.max-k.min)*100}%, rgba(0,0,0,0.1) ${(P.value-k.min)/(k.max-k.min)*100}%)`,borderRadius:1,outline:"none",cursor:"pointer"}}),Bn("input",{type:"number",min:k.min,max:k.max,step:k.step,value:k.unit==="px"||k.unit==="deg"?Math.round(P.value):Math.round(P.value*100)/100,onChange:G=>g(O,parseFloat(G.target.value)||0),style:h(f({},b),{width:44,padding:"2px 4px",textAlign:"right",flexShrink:0})}),k.unit&&Bn("span",{style:{fontSize:9,color:"#94a3b8",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',flexShrink:0,width:16},children:k.unit})]})}),Bn("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:Bn(Gu,{size:10})})]},P.name):null}),c.length>0&&Vo("div",{children:[Vo("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:[Bn(Rl,{size:10}),"Add filter"]}),s&&z(c)]})]})}import{useCallback as oo,useEffect as Vu,useRef as gi,useState as Pl}from"react";import{AlignHorizontalSpaceAround as Xu,AlignVerticalSpaceAround as Ku,Columns3 as qu,Grid2x2 as Zu,RectangleHorizontal as Qu,Rows3 as ep,UnfoldHorizontal as Ol,UnfoldVertical as Bl}from"lucide-react";import{useCallback as Yu,useEffect as Ju,useRef as Hr}from"react";import{jsx as Uu}from"react/jsx-runtime";var ys=[0,1,2,4,8,12,16,20,24,28,32];function Sr({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=Hr(null),g=Hr(null),b=Hr(r),x=Hr(i),A=Hr(!1);b.current=r,x.current=i,Ju(()=>{let z=O=>{let k=g.current;if(!k)return;k.hasMoved=!0,A.current=O.shiftKey;let G=k.unit==="rem"||k.unit==="em"?.1:1;k.accum+=O.movementX*G;let re=Math.max(0,Math.round((k.startValue+k.accum)*10)/10);if(O.shiftKey&&l){let oe=k.unit==="rem"||k.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,W=k.unit==="rem"||k.unit==="em"?re*oe:re,Q=l[l.length-1];for(let N=0;N<l.length-1;N++){let ee=l[N],M=l[N+1];if(W<=(ee+M)/2){Q=ee;break}if(W<M){Q=M;break}}W>l[l.length-1]&&(Q=Math.round(W/8)*8),re=k.unit==="rem"||k.unit==="em"?Math.round(Q/oe*1e3)/1e3:Q}n==null||n(`${re}${k.unit}`)},P=()=>{let O=g.current;if(!O)return;let k=Math.max(0,Math.round((O.startValue+O.accum)*10)/10);if(A.current&&l){let re=O.unit==="rem"||O.unit==="em"?parseFloat(getComputedStyle(document.documentElement).fontSize)||16:1,oe=O.unit==="rem"||O.unit==="em"?k*re:k,W=l[l.length-1];for(let Q=0;Q<l.length-1;Q++){let N=l[Q],ee=l[Q+1];if(oe<=(N+ee)/2){W=N;break}if(oe<ee){W=ee;break}}oe>l[l.length-1]&&(W=Math.round(oe/8)*8),k=O.unit==="rem"||O.unit==="em"?Math.round(W/re*1e3)/1e3:W}let G=O.hasMoved&&k!==O.startValue;g.current=null,document.exitPointerLock(),G?t(`${k}${O.unit}`):O.hasMoved?n==null||n(`${O.startValue}${O.unit}`):x.current&&b.current&&b.current(),o==null||o()};return document.addEventListener("mousemove",z),document.addEventListener("mouseup",P),()=>{document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",P)}},[t,n,o]);let T=Yu(z=>{var k;if(z.button!==0)return;z.preventDefault();let P=Mo(e),O=P.unit&&P.unit!=="px"?P.unit:a;g.current={startValue:P.num,unit:O,accum:0,hasMoved:!1},(k=u.current)==null||k.requestPointerLock()},[e,a]);return Uu("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 bs,jsx as Be,jsxs as fn}from"react/jsx-runtime";function tp({gridCols:e,gridRows:t,gridModified:n,accentColor:o,onColsChange:r,onRowsChange:i}){return Be($n,{style:{width:100},children:fn("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"8px 4px"},children:[Be("input",{type:"number",min:1,max:12,value:e,onChange:s=>r(parseInt(s.target.value)||1),style:h(f({},hn),{width:32,textAlign:"center",padding:2})}),Be("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"}),Be("input",{type:"number",min:1,max:12,value:t,onChange:s=>i(parseInt(s.target.value)||1),style:h(f({},hn),{width:32,textAlign:"center",padding:2})})]})})}function Dl({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:x}){let A=c,T=t("display"),z=t("flex-direction"),P=_l(T,z),O=T==="flex"||T==="inline-flex",k=T==="grid",G=O||k,re=z==="column"||z==="column-reverse",oe=t("width"),W=t("height"),Q=r("width")?oe:ni(e,"width"),N=r("height")?W:ni(e,"height"),ee=xs(oe,Q),M=xs(W,N),Le=t("min-width"),V=t("max-width"),fe=t("min-height"),D=t("max-height"),ae=wr(t("padding")),I=t("gap"),pe=t("row-gap"),me=t("column-gap"),Fe=t("grid-template-columns"),we=t("grid-template-rows"),Je=t("overflow"),Re=Fe.split(/\s+/).filter($=>$&&$!=="none").length||1,Ce=we.split(/\s+/).filter($=>$&&$!=="none").length||1,[at,gt]=Pl(!1),bt=d!==null,Yt=bt||at,K=bt?.3:at?.65:1,X=({mode:$,icon:De,active:Ge})=>Be("button",{type:"button",onClick:()=>Nl($,o),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:Ge?Uo(u,.15):"transparent",color:Ge?u:"#64748b",cursor:"pointer",fontSize:14},children:De}),Te=($,De,Ge)=>{Ge==="fixed"?o($,De):o($,mi(Ge,De))},Oe=$=>{let De=wr(t("padding")),Ge=$||"0";o("padding",`${De.top} ${Ge} ${De.bottom} ${Ge}`)},Xe=$=>{let De=wr(t("padding")),Ge=$||"0";o("padding",`${Ge} ${De.right} ${Ge} ${De.left}`)},[Pe,he]=Pl({}),te=oo(($,De)=>Ge=>{De(Ge),he(En=>h(f({},En),{[$]:Ge}))},[]),ie=oo($=>{he(De=>{let Ge=f({},De);return delete Ge[$],Ge})},[]),ve=oo($=>{let De=wr(t("padding"));Qe(e,"padding",`${De.top} ${$} ${De.bottom} ${$}`)},[e,t]),Me=oo($=>{let De=wr(t("padding"));Qe(e,"padding",`${$} ${De.right} ${$} ${De.left}`)},[e,t]),mt=oo($=>De=>{Qe(e,$,De)},[e]),Ne=re?"row":"column",ze=Ne==="row"?"row-gap":"column-gap",nt=ze==="row-gap"?pe||I:me||I,St=r(ze)||r("gap"),Ke=oo(()=>{let De=yo(e).find(En=>En.axis===Ne);if(De)return Ne==="row"?De.h:De.w;let Ge=jo(e);return Ne==="row"?Ge.row:Ge.column},[e,Ne]),Rt=oo(()=>{let $=t("justify-content");return $==="space-between"?"between":$==="space-around"||$==="space-evenly"?"around":"fixed"},[t])(),_n=oo(($,De)=>{if($==="fixed"){let Ge=Math.max(0,Math.round(Ke()*1e3)/1e3),En=De||(Ge>0?`${Ge}px`:"8px");o("justify-content","normal"),o(ze,En);return}o("justify-content",$==="between"?"space-between":"space-around"),o(ze,"0px")},[ze,Ke,o]),Kn=oo($=>{if(Rt!=="fixed"){_n("fixed",$);return}o(ze,$)},[_n,Rt,ze,o]),vn=oo($=>{Qe(e,"justify-content","normal"),Qe(e,ze,$)},[e,ze]),It=$=>$==="center"?1:$==="flex-end"||$==="end"?2:0,qn=It(t("justify-content")),on=It(t("align-items")),Zn=re?on:qn,xt=re?qn:on,rn=gi(null),_t=gi({x:0,y:0}),sn=gi({col:Zn,row:xt});sn.current={col:Zn,row:xt};let Nn=oo(($,De)=>{let Ge=["flex-start","center","flex-end"];re?(o("justify-content",Ge[De]),o("align-items",Ge[$])):(o("justify-content",Ge[$]),o("align-items",Ge[De]))},[re,o]),An=gi(Nn);An.current=Nn,Vu(()=>{let De=Ge=>{let En=rn.current;if(!En||!Ge.composedPath().includes(En))return;Ge.preventDefault(),Ge.stopPropagation(),_t.current.x+=Ge.deltaX,_t.current.y+=Ge.deltaY;let{col:At,row:qt}=sn.current,wn=!1;Math.abs(_t.current.x)>=30&&(At=Math.max(0,Math.min(2,At+(_t.current.x>0?1:-1))),_t.current.x=0,_t.current.y=0,wn=!0),!wn&&Math.abs(_t.current.y)>=30&&(qt=Math.max(0,Math.min(2,qt+(_t.current.y>0?1:-1))),_t.current.x=0,_t.current.y=0,wn=!0),wn&&(At!==sn.current.col||qt!==sn.current.row)&&An.current(At,qt)};return document.addEventListener("wheel",De,{passive:!1,capture:!0}),()=>document.removeEventListener("wheel",De,{capture:!0})},[]);let Kt=()=>Be("div",{ref:rn,onMouseEnter:()=>{gt(!0),p.current&&(p.current.style.overflowY="hidden")},onMouseLeave:()=>{gt(!1),p.current&&(p.current.style.overflowY="auto")},style:{width:56,height:56,backgroundColor:Un,borderRadius:2,display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gridTemplateRows:"repeat(3, 1fr)",padding:6,gap:2,touchAction:"none"},children:[0,1,2].map($=>[0,1,2].map(De=>Be("button",{type:"button",onClick:()=>Nn(De,$),style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:0},children:De===Zn&&$===xt?Be("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",style:{flexShrink:0},children:De===0?fn(bs,{children:[Be("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),Be("rect",{x:"1",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),Be("rect",{x:"1",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]}):De===1?fn(bs,{children:[Be("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),Be("rect",{x:"2.5",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),Be("rect",{x:"1.5",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]}):fn(bs,{children:[Be("rect",{x:"1",y:"1.5",width:"8",height:"1.2",rx:"0.5",fill:u}),Be("rect",{x:"4",y:"4.4",width:"5",height:"1.2",rx:"0.5",fill:u}),Be("rect",{x:"2",y:"7.3",width:"7",height:"1.2",rx:"0.5",fill:u})]})}):Be("div",{style:{width:5,height:5,borderRadius:"50%",backgroundColor:"#aaa"}})},`${$}-${De}`)))}),Sn=r("grid-template-columns")||r("grid-template-rows");return fn("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[Be("div",{style:l,children:Be("span",{children:G?"Auto layout":"Layout"})}),fn("div",{style:{padding:"8px 12px"},children:[fn("div",{style:{display:"flex",gap:2,marginBottom:8,backgroundColor:Un,borderRadius:2,padding:2,opacity:K,transition:"opacity 150ms ease"},children:[Be(X,{mode:"block",icon:Be(Qu,{size:16}),active:P==="block"}),Be(X,{mode:"flex-col",icon:Be(ep,{size:16}),active:P==="flex-col"}),Be(X,{mode:"flex-row",icon:Be(qu,{size:16}),active:P==="flex-row"}),Be(X,{mode:"grid",icon:Be(Zu,{size:16}),active:P==="grid"})]}),fn("div",{style:{display:"flex",gap:4,marginBottom:8},children:[Be(vs,{label:"W",property:"width",cssValue:ee==="fixed"?oe:`${Math.round(e.getBoundingClientRect().width)}px`,mode:ee,onValueChange:$=>o("width",$),onModeChange:$=>{if($==="fixed"){let De=e.getBoundingClientRect();o("width",`${Math.round(De.width)}px`)}else o("width",mi($,oe))},modified:r("width"),dimmed:bt&&d!=="width",dropdownOpen:d==="width",onDropdownChange:$=>A($?"width":null),panelContentRef:p,accentColor:u,onReset:()=>i("width"),minValue:Le!=="none"&&Le!=="0px"&&Le!=="auto"?Le:"",maxValue:V!=="none"&&V!=="auto"?V:"",onMinChange:$=>o("min-width",$||"0"),onMaxChange:$=>o("max-width",$||"none"),onMinReset:()=>i("min-width"),onMaxReset:()=>i("max-width"),minModified:r("min-width"),maxModified:r("max-width")}),Be(vs,{label:"H",property:"height",cssValue:M==="fixed"?W:`${Math.round(e.getBoundingClientRect().height)}px`,mode:M,onValueChange:$=>o("height",$),onModeChange:$=>{if($==="fixed"){let De=e.getBoundingClientRect();o("height",`${Math.round(De.height)}px`)}else o("height",mi($,W))},modified:r("height"),dimmed:bt&&d!=="height",dropdownOpen:d==="height",onDropdownChange:$=>A($?"height":null),panelContentRef:p,minValue:fe!=="none"&&fe!=="0px"&&fe!=="auto"?fe:"",maxValue:D!=="none"&&D!=="auto"?D:"",onMinChange:$=>o("min-height",$||"0"),onMaxChange:$=>o("max-height",$||"none"),onMinReset:()=>i("min-height"),onMaxReset:()=>i("max-height"),minModified:r("min-height"),maxModified:r("max-height"),accentColor:u,onReset:()=>i("height")})]}),O&&fn("div",{onMouseEnter:()=>g==null?void 0:g("gap"),onMouseLeave:()=>g==null?void 0:g("element"),style:{display:"flex",gap:8,marginBottom:8},children:[Be("div",{style:{opacity:bt?.3:1,transition:"opacity 150ms ease"},children:Kt()}),fn("div",{style:{flex:1,opacity:K,transition:"opacity 150ms ease"},children:[Be("div",{onClick:St?()=>{i(ze),i("gap")}:void 0,title:St?"Click to reset":void 0,style:{fontSize:9,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:St?u:"#999",fontWeight:St?600:400,marginBottom:2,cursor:St?"pointer":"default"},children:"Gap"}),Be("div",{style:{display:"flex",gap:2,marginBottom:4,backgroundColor:Un,borderRadius:2,padding:2},children:["fixed","between","around"].map($=>{let De=Rt===$;return Be("button",{type:"button",onClick:()=>_n($),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",border:"none",borderRadius:2,backgroundColor:De?Uo(u,.15):"transparent",color:De?u:"#64748b",cursor:"pointer",fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',fontWeight:De?600:400,textTransform:"capitalize"},children:$},$)})}),Be($n,{dimmed:bt,children:fn("div",{style:{display:"flex",alignItems:"center"},children:[Be(Sr,{value:nt,onChange:$=>{ie("gap"),Kn($)},onPreview:te("gap",vn),onScrubEnd:()=>ie("gap"),onReset:()=>{i(ze),i("gap")},isModified:St,accentColor:u,defaultUnit:b,children:z==="column"||z==="column-reverse"?Be(Bl,{size:12,strokeWidth:St?2.5:1.5}):Be(Ol,{size:12,strokeWidth:St?2.5:1.5})}),Be(ro,{property:ze,value:Pe.gap||(Rt==="fixed"?nt:`${Math.max(0,Math.round(Ke()*1e3)/1e3)}px`),onChange:$=>Kn($),isModified:St||"gap"in Pe,style:h(f({},hn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:x})]})})]})]}),k&&fn("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:[Be(tp,{gridCols:Re,gridRows:Ce,gridModified:Sn,accentColor:u,onColsChange:$=>o("grid-template-columns",`repeat(${$}, 1fr)`),onRowsChange:$=>o("grid-template-rows",`repeat(${$}, 1fr)`)}),fn("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4},children:[Be($n,{dimmed:bt,children:fn("div",{style:{display:"flex",alignItems:"center"},children:[Be(Sr,{value:me||I,onChange:$=>{ie("column-gap"),o("column-gap",$)},onPreview:te("column-gap",mt("column-gap")),onScrubEnd:()=>ie("column-gap"),onReset:()=>i("column-gap"),isModified:r("column-gap"),accentColor:u,defaultUnit:b,children:Be(Ol,{size:12,strokeWidth:r("column-gap")?2.5:1.5})}),Be(ro,{property:"column-gap",value:Pe["column-gap"]||me||I,onChange:$=>o("column-gap",$),isModified:r("column-gap")||"column-gap"in Pe,placeholder:"col",style:h(f({},hn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:x})]})}),Be($n,{dimmed:bt,children:fn("div",{style:{display:"flex",alignItems:"center"},children:[Be(Sr,{value:pe||I,onChange:$=>{ie("row-gap"),o("row-gap",$)},onPreview:te("row-gap",mt("row-gap")),onScrubEnd:()=>ie("row-gap"),onReset:()=>i("row-gap"),isModified:r("row-gap"),accentColor:u,defaultUnit:b,children:Be(Bl,{size:12,strokeWidth:r("row-gap")?2.5:1.5})}),Be(ro,{property:"row-gap",value:Pe["row-gap"]||pe||I,onChange:$=>o("row-gap",$),isModified:r("row-gap")||"row-gap"in Pe,placeholder:"row",style:h(f({},hn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:x})]})})]})]}),G&&fn("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:[Be($n,{style:{flex:1},dimmed:bt,children:fn("div",{style:{display:"flex",alignItems:"center"},children:[Be(Sr,{value:ae.left,onChange:$=>{ie("padding-h"),Oe($)},onPreview:te("padding-h",ve),onScrubEnd:()=>ie("padding-h"),onReset:()=>i("padding"),isModified:r("padding"),accentColor:u,defaultUnit:b,snapSteps:ys,children:Be(Xu,{size:12,strokeWidth:r("padding")?2.5:1.5})}),Be(ro,{property:"padding",value:Pe["padding-h"]||ae.left,onChange:$=>Oe($),isModified:r("padding")||"padding-h"in Pe,placeholder:"H pad",style:h(f({},hn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:x})]})}),Be($n,{style:{flex:1},dimmed:bt,children:fn("div",{style:{display:"flex",alignItems:"center"},children:[Be(Sr,{value:ae.top,onChange:$=>{ie("padding-v"),Xe($)},onPreview:te("padding-v",Me),onScrubEnd:()=>ie("padding-v"),onReset:()=>i("padding"),isModified:r("padding"),accentColor:u,defaultUnit:b,snapSteps:ys,children:Be(Ku,{size:12,strokeWidth:r("padding")?2.5:1.5})}),Be(ro,{property:"padding",value:Pe["padding-v"]||ae.top,onChange:$=>Xe($),isModified:r("padding")||"padding-v"in Pe,placeholder:"V pad",style:h(f({},hn),{flex:1,minWidth:0}),unitStyle:{fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",padding:"0 8px"},preferredUnit:b,onUnitCycle:x})]})})]}),fn("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:[Be("input",{type:"checkbox",checked:Je==="hidden",onChange:$=>o("overflow",$.target.checked?"hidden":"visible"),style:{margin:0,accentColor:u}}),"Clip content"]})]})]})}import{AlignCenter as np,AlignJustify as op,AlignLeft as rp,AlignRight as ip,Baseline as sp,ChevronDown as ap,WholeWord as lp}from"lucide-react";import{jsx as Tt,jsxs as vo}from"react/jsx-runtime";var Hl={100:"Thin",200:"Extra Light",300:"Light",400:"Regular",500:"Medium",600:"Semi Bold",700:"Bold",800:"Extra Bold",900:"Black"};function Fl({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 ee;let x=t("font-family"),A=t("font-size"),T=t("font-weight"),z=t("line-height"),P=t("letter-spacing"),O=t("text-align"),k=t("color"),G=String(T),re=Hl[G]||G,oe=yr(e,k),W=k.includes("var(")?null:Dr(oe,d),Q=({align:M,icon:Le})=>{let V=O===M;return Tt("button",{type:"button",onClick:()=>n("text-align",M),style:{flex:1,display:"flex",alignItems:"center",justifyContent:"center",padding:"6px 8px",border:"none",borderRadius:2,backgroundColor:V?Uo(l,.15):"transparent",color:V?l:"#64748b",cursor:"pointer"},children:Le})},N=((ee=x.split(",")[0])==null?void 0:ee.trim().replace(/^["']|["']$/g,""))||"System";return vo("div",{style:{borderBottom:"1px solid rgba(0,0,0,0.08)"},children:[Tt("div",{style:a,children:Tt("span",{children:"Typography"})}),vo("div",{style:{padding:"8px 12px",display:"flex",flexDirection:"column",gap:4},children:[Tt($n,{children:vo("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px"},children:[Tt("input",{type:"text",value:x,onChange:M=>n("font-family",M.target.value),style:h(f({},hn),{flex:1,minWidth:0,padding:0,fontWeight:o("font-family")?600:400,color:o("font-family")?l:"inherit"}),title:x}),Tt(ap,{size:12,style:{color:"#999",flexShrink:0,marginLeft:4}})]})}),vo("div",{style:{display:"flex",gap:4},children:[Tt($n,{style:{flex:1},children:Tt("select",{value:G,onChange:M=>n("font-weight",M.target.value),style:h(f({},hn),{padding:"6px 8px",paddingLeft:4,paddingRight:20,cursor:"pointer",fontWeight:o("font-weight")?600:400,color:o("font-weight")?l:"inherit"}),children:Object.entries(Hl).map(([M,Le])=>Tt("option",{value:M,children:Le},M))})}),Tt($n,{style:{flex:1},children:Tt("div",{style:{display:"flex",alignItems:"center",position:"relative"},children:Tt(ro,{property:"font-size",value:A,onChange:M=>n("font-size",M),isModified:o("font-size"),min:1,max:999,style:h(f({},hn),{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})})})]}),vo("div",{style:{display:"flex",gap:4},children:[Tt($n,{style:{flex:1},children:vo("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[Tt(sp,{size:12,style:{color:o("line-height")?l:"#999",flexShrink:0}}),Tt(ro,{property:"line-height",value:z,onChange:M=>n("line-height",M),isModified:o("line-height"),step:.1,min:0,placeholder:"Auto",style:h(f({},hn),{flex:1,minWidth:0,padding:0,fontWeight:o("line-height")?600:400,color:o("line-height")?l:"inherit"}),showUnit:!1})]})}),Tt($n,{style:{flex:1},children:vo("div",{style:{display:"flex",alignItems:"center",padding:"6px 8px",gap:4},children:[Tt(lp,{size:12,style:{color:o("letter-spacing")?l:"#999",flexShrink:0}}),Tt(ro,{property:"letter-spacing",value:P,onChange:M=>n("letter-spacing",M),isModified:o("letter-spacing"),step:.1,placeholder:"\u2014",style:h(f({},hn),{flex:1,minWidth:0,padding:0,fontWeight:o("letter-spacing")?600:400,color:o("letter-spacing")?l:"inherit"}),showUnit:!1})]})})]}),vo("div",{style:{display:"flex",gap:2,backgroundColor:Un,borderRadius:2,padding:2},children:[Tt(Q,{align:"left",icon:Tt(rp,{size:14})}),Tt(Q,{align:"center",icon:Tt(np,{size:14})}),Tt(Q,{align:"right",icon:Tt(ip,{size:14})}),Tt(Q,{align:"justify",icon:Tt(op,{size:14})})]}),vo("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"4px 0"},children:[Tt("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"}),Tt("div",{style:{flex:1,minWidth:0},children:Tt(Ss,{value:k,resolvedValue:oe,colorVariables:d,matchingVariable:W,onChange:M=>n("color",M),accentColor:l,modified:o("color"),panelContentRef:u,isDropdownOpen:c==="color",onDropdownChange:M=>p(M?"color":null)})})]})]})]})}import{Fragment as up,jsx as Ee,jsxs as jt}from"react/jsx-runtime";var zl=[{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 dp(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 xs(e,t){return!t||e==="auto"||e==="fit-content"||e==="max-content"||e==="min-content"?"hug":e==="100%"||t==="100%"?"fill":"fixed"}function mi(e,t){switch(e){case"hug":return"fit-content";case"fill":return"100%";case"fixed":{let n=Mo(t);if(typeof n.num=="number"&&!isNaN(n.num)){let o=n.unit==="%"?"px":n.unit||"px";return`${n.num}${o}`}return"auto"}}}function wr(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 _l(e,t){return e==="grid"?"grid":e==="flex"||e==="inline-flex"?t==="column"||t==="column-reverse"?"flex-col":"flex-row":"block"}function Nl(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 Un="rgba(0, 0, 0, 0.04)",hn={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 vs({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:x,onMaxChange:A,onMinReset:T,onMaxReset:z,minModified:P,maxModified:O}){let k=Mo(n),G=s?k.unit||vr(t):vr(t),re=!s&&k.unit&&k.unit!==G?ms(k.num,G):k.num,[oe,W]=yn(!1),[Q,N]=yn(String(re)),[ee,M]=yn(!1),Le=Dn(null),V=Dn(null),fe=Dn(null),D=Dn(!1);Vn(()=>{oe||N(String(re))},[re,oe]),Vn(()=>{if(!l)return;let Re=at=>{V.current&&!at.composedPath().includes(V.current)&&fe.current&&!at.composedPath().includes(fe.current)&&(d==null||d(!1))},Ce=at=>{at.key==="Escape"&&(d==null||d(!1))};return document.addEventListener("mousedown",Re),document.addEventListener("keydown",Ce),()=>{document.removeEventListener("mousedown",Re),document.removeEventListener("keydown",Ce)}},[l,d]),Vn(()=>{oe&&Le.current&&(Le.current.focus(),Le.current.select())},[oe]);let ae=()=>{let Re=pi(Q,t,n,s);r(Re||`${Math.max(0,parseFloat(Q)||0)}${G}`),W(!1)},I=()=>{if(D.current){D.current=!1;return}ae()},pe=Re=>{if(Re.key==="Enter"){ae();return}if(Re.key==="Escape"){D.current=!0,N(String(re)),W(!1);return}if(Re.key==="ArrowUp"||Re.key==="ArrowDown"){Re.preventDefault();let Ce=Re.key==="ArrowUp"?1:-1,at=Re.shiftKey?8:Re.altKey?.1:1,gt=parseFloat(Q)||0,bt=Math.round(Math.max(0,gt+Ce*at)*1e3)/1e3;N(String(bt)),r(`${bt}${G}`)}},me={fixed:"Fixed",hug:"Hug",fill:"Fill"},Fe={fixed:Ee($l,{size:12}),hug:Ee(cp,{size:12}),fill:Ee($l,{size:12})},we=()=>{d==null||d(!l)},Je=()=>{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(),Ce=c.current.getBoundingClientRect();return{position:"fixed",top:Re.bottom+4,left:Ce.left+4,width:Ce.width-8}};return jt("div",{ref:fe,onMouseEnter:()=>M(!0),onMouseLeave:()=>M(!1),style:{flex:1,display:"flex",alignItems:"center",position:"relative",borderRadius:2,border:"1px solid",borderColor:oe?p:ee?"rgba(0,0,0,0.15)":"transparent",backgroundColor:Un,transition:"border-color 100ms ease, opacity 150ms ease",opacity:a?.3:1},children:[Ee("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"?oe?Ee("input",{ref:Le,type:"text",inputMode:"numeric",value:Q,onChange:Re=>N(Re.target.value),onKeyDown:pe,onBlur:I,style:h(f({},hn),{flex:1,minWidth:0,padding:"4px 2px"})}):Ee("span",{onClick:()=>W(!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}}),jt("button",{type:"button",onClick:we,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],Ee(ws,{size:12})]}),l&&jt("div",{ref:V,style:h(f({},Je()),{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:[Fe.fixed,jt("span",{children:["Fixed ",t," (",n,")"]}),o==="fixed"&&Ee(hi,{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:[Fe.hug,Ee("span",{children:"Hug contents"}),o==="hug"&&Ee(hi,{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:[Fe.fill,Ee("span",{children:"Fill container"}),o==="fill"&&Ee(hi,{size:14,style:{marginLeft:"auto"}})]}),Ee("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:Un,borderRadius:2,padding:"4px 8px"},children:[Ee("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"}),Ee("input",{type:"text",value:g||"",placeholder:"\u2014",onChange:Re=>x==null?void 0:x(Re.target.value),onClick:Re=>Re.stopPropagation(),style:h(f({},hn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:P?p:"inherit",fontWeight:P?600:400})})]}),jt("div",{style:{display:"flex",alignItems:"center",backgroundColor:Un,borderRadius:2,padding:"4px 8px"},children:[Ee("span",{onClick:O?Re=>{Re.stopPropagation(),z==null||z()}: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"}),Ee("input",{type:"text",value:b||"",placeholder:"\u2014",onChange:Re=>A==null?void 0:A(Re.target.value),onClick:Re=>Re.stopPropagation(),style:h(f({},hn),{flex:1,minWidth:0,padding:0,textAlign:"right",color:O?p:"inherit",fontWeight:O?600:400})})]})]})]})]})}function $n({children:e,style:t,dimmed:n}){let[o,r]=yn(!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:Un,transition:"border-color 100ms ease, opacity 150ms ease",opacity:n?.3:1},t),children:e})}function xo({children:e}){let[t,n]=yn(!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:Un,transition:"border-color 100ms ease"},children:e})}function ro({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=Mo(t),b=vr(e),x=ui[e],T=p&&x&&x.includes(p)?p:b,z=o&&g.unit||T,P=!o&&g.unit&&g.unit!==z?ms(g.num,z):g.num,[O,k]=yn(!1),[G,re]=yn(""),oe=I=>{k(!0),re(String(P||"")),requestAnimationFrame(()=>I.target.select())},W=()=>{if(k(!1),G.trim()){let I=pi(G,e,t,o);I&&n(I)}},Q=I=>{let pe=I.target.value;re(pe);let me=pe.trim(),Fe=me.match(/^(-?[\d.]+)\s*(rem|em|px|%)$/i),we=me.match(/^(-?[\d.]+)$/);if(Fe){let Je=parseFloat(Fe[1]);isNaN(Je)||n(`${Je}${Fe[2].toLowerCase()}`)}else if(we){let Je=parseFloat(we[1]);isNaN(Je)||n(`${Je}${z}`)}},N=I=>{if(I.key==="Enter"){if(G.trim()){let pe=pi(G,e,t,o);pe&&n(pe)}I.target.blur();return}if(I.key==="ArrowUp"||I.key==="ArrowDown"){I.preventDefault();let pe=I.shiftKey?10:I.altKey?.1:1,me=(I.key==="ArrowUp"?1:-1)*r*pe,Fe=parseFloat(G)||P||0,we=Math.round((Fe+me)*1e3)/1e3;i!==void 0&&(we=Math.max(i,we)),s!==void 0&&(we=Math.min(s,we)),re(String(we)),n(`${we}${z}`)}},ee=/^-?[\d.]/.test(t.trim()),M=O?G:ee?String(P):"",V=O&&/\s*(rem|em|px|%)\s*$/i.test(G)?"":z,fe=u&&(V==="rem"||V==="px"),D={fontSize:10,fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace',color:"#999",pointerEvents:"none"},ae=h(f({},c!=null?c:D),{pointerEvents:"auto",cursor:"pointer"});return jt(up,{children:[Ee("input",{type:"text",inputMode:"decimal",value:M,onFocus:oe,onBlur:W,onChange:Q,onKeyDown:N,placeholder:l,style:a}),d&&V&&Ee("span",{style:fe?ae:c!=null?c:D,onClick:fe?u:void 0,title:fe?"Click to switch units":void 0,children:V})]})}function Ss({value:e,resolvedValue:t,colorVariables:n,matchingVariable:o,onChange:r,accentColor:i="#3b82f6",modified:s,panelContentRef:a,isDropdownOpen:l,onDropdownChange:d}){let[c,p]=yn(!1),u=e,[g,b]=yn(u),[x,A]=yn(!1),[T,z]=yn(!1),[P,O]=yn(!1),k=Dn(null),G=Dn(null),re=Dn(null),oe=l!==void 0?l:x,W=d||A,Q=co(()=>{if(!re.current)return{position:"fixed",top:0,left:0,width:200};let I=re.current.getBoundingClientRect();if(a!=null&&a.current){let pe=a.current.getBoundingClientRect();return{position:"fixed",top:I.bottom+4,left:pe.left+4,width:pe.width-8}}return{position:"fixed",top:I.bottom+4,left:I.left,width:I.width}},[a]);Vn(()=>{c||b(e)},[e,c]),Vn(()=>{if(!oe&&!T)return;let I=me=>{re.current&&!me.composedPath().includes(re.current)&&(W(!1),z(!1))},pe=me=>{me.key==="Escape"&&(W(!1),z(!1))};return document.addEventListener("mousedown",I),document.addEventListener("keydown",pe),()=>{document.removeEventListener("mousedown",I),document.removeEventListener("keydown",pe)}},[oe,T]),Vn(()=>{c&&k.current&&(k.current.focus(),k.current.select())},[c]);let N=yi(()=>{if(!g||g.startsWith("#")||g.startsWith("rgb")||g.startsWith("hsl")||g.startsWith("oklch"))return[];let I=g.toLowerCase();return n.filter(pe=>pe.name.toLowerCase().includes(I)||pe.usage.toLowerCase().includes(I)).slice(0,8)},[g,n]),ee=()=>{r(g),p(!1),z(!1)},M=I=>{b(I),I.includes("var")||I.includes("--")||I.length>0&&!I.startsWith("#")?z(!0):z(!1)},Le=I=>{b(I.value),r(I.value),W(!1),z(!1),p(!1)},V=()=>{setTimeout(()=>{!oe&&!T&&ee()},150)},fe=I=>{I.key==="Enter"?ee():I.key==="Escape"&&(b(e),p(!1),z(!1))},D=yi(()=>{let I=t.trim().toLowerCase();if(I.startsWith("#"))return I.length===4?`#${I[1]}${I[1]}${I[2]}${I[2]}${I[3]}${I[3]}`:I.slice(0,7);let pe=I.match(/rgba?\((\d+),?\s*(\d+),?\s*(\d+)/);if(pe){let Fe=parseInt(pe[1],10).toString(16).padStart(2,"0"),we=parseInt(pe[2],10).toString(16).padStart(2,"0"),Je=parseInt(pe[3],10).toString(16).padStart(2,"0");return`#${Fe}${we}${Je}`}let me=I.match(/oklch\(\s*([\d.]+)/);if(me){let Fe=Math.max(0,Math.min(1,parseFloat(me[1]))),we=Math.round(Fe*255).toString(16).padStart(2,"0");return`#${we}${we}${we}`}return"#000000"},[t]);return jt("div",{ref:re,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:Un,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:[Ee("input",{type:"color",value:D,onChange:I=>{let pe=I.target.value;b(pe),r(pe)},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:k,type:"text",value:g,onChange:I=>M(I.target.value),onKeyDown:fe,onBlur:V,style:h(f({},hn),{flex:1,minWidth:0})}):Ee("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&&Ee("button",{type:"button",onClick:()=>W(!oe),style:{display:"flex",alignItems:"center",justifyContent:"center",width:20,height:24,border:"none",background:"none",cursor:"pointer",color:"#999",flexShrink:0},children:Ee(ws,{size:12})})]}),T&&N.length>0&&Ee("div",{style:h(f({},Q()),{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:N.map(I=>jt("button",{type:"button",onClick:()=>Le(I),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:I.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Ee("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:I.name})]},I.name))}),oe&&Ee("div",{ref:G,style:h(f({},Q()),{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(I=>jt("button",{type:"button",onClick:()=>Le(I),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"10px 12px",border:"none",backgroundColor:(o==null?void 0:o.usage)===I.usage||e===I.value?"#f1f5f9":"transparent",color:"#1e293b",fontWeight:(o==null?void 0:o.usage)===I.usage||e===I.value?600:400,cursor:"pointer",textAlign:"left",fontSize:12},children:[Ee("div",{style:{width:14,height:14,borderRadius:2,backgroundColor:I.value,border:"1px solid rgba(0,0,0,0.1)",flexShrink:0}}),Ee("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis"},children:I.name}),((o==null?void 0:o.usage)===I.usage||e===I.value)&&Ee(hi,{size:14,style:{marginLeft:"auto",flexShrink:0}})]},I.name))})]})}function Wl({element:e,elementInfo:t,selector:n,styleModifications:o,dispatch:r,onClose:i,onHover:s,accentColor:a="#3b82f6",toolbarRef:l}){let d=Dn(null),c=Dn(null),[p,u]=yn(()=>{try{return!!localStorage.getItem("devtools-panel-position")}catch(K){return!1}});Vn(()=>{if(p)return;let K=setTimeout(()=>u(!0),50);return()=>clearTimeout(K)},[p]);let[g,b]=yn(null),[x,A]=yn(null),T=g!==null||x!==null,[z,P]=yn("rem"),O=co(()=>{P(K=>K==="rem"?"px":"rem")},[]),k=Dn(new Map),[G,re]=yn(""),oe=yi(()=>ts(),[]);Vn(()=>{let K=X=>{var Oe;if(X.key!=="Escape")return;let Te=document.activeElement;Te&&((Oe=d.current)!=null&&Oe.contains(Te))||i()};return window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)},[i]);let W=Dn({top:0,left:0,maxHeight:400}),[,Q]=yn(0),N="devtools-panel-position",ee=Dn({x:0,y:0}),M=Dn(null),Le=Dn(!1);Vn(()=>{try{let K=localStorage.getItem(N);if(K){let X=JSON.parse(K);typeof X.top=="number"&&typeof X.left=="number"&&(Le.current=!0,W.current=h(f({},W.current),{top:X.top,left:X.left}))}}catch(K){}},[]),Vn(()=>{let K=Te=>{var Ke;let Oe=M.current;if(!Oe)return;let Xe=Oe.startOffsetX+(Te.clientX-Oe.startX),Pe=Oe.startOffsetY+(Te.clientY-Oe.startY),he=280,te=16,ie=Math.max(te,Math.min(window.innerWidth-he-te,W.current.left+Xe)),ve=Math.max(te,W.current.top+Pe);ee.current={x:ie-W.current.left,y:ve-W.current.top};let Me=d.current,mt=Me==null?void 0:Me.parentElement;if(!mt)return;mt.style.top=`${ve}px`,mt.style.left=`${ie}px`;let Ne=(Ke=l==null?void 0:l.current)==null?void 0:Ke.getBoundingClientRect(),ze=window.innerHeight-16;Ne&&ie+he>Ne.left&&(ze=Ne.top-8);let nt=Math.max(0,ve),St=Math.max(200,ze-nt);Me&&(Me.style.maxHeight=`${St}px`)},X=()=>{if(!M.current)return;let Te=W.current.top+ee.current.y,Oe=W.current.left+ee.current.x;W.current=h(f({},W.current),{top:Te,left:Oe}),ee.current={x:0,y:0},Le.current=!0;try{localStorage.setItem(N,JSON.stringify({top:Te,left:Oe}))}catch(Xe){}M.current=null};return window.addEventListener("mousemove",K),window.addEventListener("mouseup",X),()=>{window.removeEventListener("mousemove",K),window.removeEventListener("mouseup",X)}},[]);let V=co(K=>{K.button!==0||K.target.closest("button")||(K.preventDefault(),M.current={startX:K.clientX,startY:K.clientY,startOffsetX:ee.current.x,startOffsetY:ee.current.y})},[]);Vn(()=>{ee.current={x:0,y:0};let K=(Oe=!1)=>{var ze;let Xe=d.current,Pe=280,he=8,te,ie;if(Le.current)te=W.current.top,ie=W.current.left;else{let nt=e.getBoundingClientRect();ie=nt.right+he,te=nt.top,ie+Pe>window.innerWidth-he&&(ie=nt.left-Pe-he),ie<he&&(ie=Math.max(he,(window.innerWidth-Pe)/2))}let ve=(ze=l==null?void 0:l.current)==null?void 0:ze.getBoundingClientRect(),Me=window.innerHeight-16;ve&&ie+Pe>ve.left&&(Me=ve.top-he);let mt=Math.max(0,te),Ne=Math.max(200,Me-mt);if(W.current={top:te,left:ie,maxHeight:Ne},Oe&&Xe){let nt=Xe.parentElement;nt&&!Le.current&&(nt.style.top=`${te+ee.current.y}px`,nt.style.left=`${ie+ee.current.x}px`),Xe.style.maxHeight=`${Ne}px`}else Q(nt=>nt+1)};K(!1);let X=()=>K(!0),Te=()=>K(!1);return window.addEventListener("scroll",X,{passive:!0}),window.addEventListener("resize",Te,{passive:!0}),()=>{window.removeEventListener("scroll",X),window.removeEventListener("resize",Te)}},[e]),Vn(()=>{let K=d.current;if(!K)return;let X=Te=>{let Oe=c.current;if(!Oe){Te.preventDefault();return}let{scrollTop:Xe,scrollHeight:Pe,clientHeight:he}=Oe,te=Xe<=0&&Te.deltaY<0,ie=Xe+he>=Pe&&Te.deltaY>0;(te||ie)&&Te.preventDefault()};return K.addEventListener("wheel",X,{passive:!1}),()=>K.removeEventListener("wheel",X)},[]);let fe=yi(()=>o.find(K=>K.selector===n),[o,n]),D=co(K=>{let X=fe==null?void 0:fe.changes.find(Te=>Te.property===K);return X?X.modified:ti(e,K)},[e,fe]),ae=co((K,X)=>{if(!K.includes("color"))return X;let Te=X.trim(),Oe=oe.find(Pe=>Pe.usage===Te||Pe.name===Te),Xe=(Oe==null?void 0:Oe.value)||Te;return yr(e,Xe)},[oe,e]),I=co(K=>{if(k.current.has(K))return k.current.get(K);let X=fe==null?void 0:fe.changes.find(Oe=>Oe.property===K);if(X)return X.original;let Te=ti(e,K);return k.current.set(K,Te),Te},[e,fe]),pe=co((K,X)=>{let Te=I(K),Oe=ae(K,X);Qe(e,K,Oe),K==="backdrop-filter"&&Qe(e,"-webkit-backdrop-filter",Oe),r({type:"MODIFY_STYLE",payload:{selector:n,element:t,property:K,original:Te,modified:Oe}})},[e,n,t,r,ae,I]),me=co(K=>{let X=o.find(Oe=>Oe.selector===n);X!=null&&X.changes.find(Oe=>Oe.property===K)&&e instanceof HTMLElement&&(e.style.removeProperty(K),r({type:"CLEAR_STYLE",payload:{selector:n,property:K}}),k.current.delete(K))},[e,n,o,r]),Fe=co(()=>{let K=G.split(";").map(X=>X.trim()).filter(X=>X);for(let X of K){let Te=X.indexOf(":");if(Te>0){let Oe=X.slice(0,Te).trim(),Xe=X.slice(Te+1).trim();Oe&&Xe&&pe(Oe,Xe)}}re("")},[G,pe]),we=co(K=>{var X;return(X=fe==null?void 0:fe.changes.some(Te=>Te.property===K))!=null?X:!1},[fe]),Je=K=>{var Pe;let X=D(K.property),Te=we(K.property),Oe=!Te&&dp(K.property,X),Xe={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(Oe&&K.type!=="backdrop-filter")return Ee(xo,{modified:!1,children:Ee("input",{type:"text",value:"",placeholder:"\u2014",onFocus:()=>{},onChange:he=>pe(K.property,he.target.value),style:h(f({},Xe),{color:"#999"})})});switch(K.type){case"color":{let he=yr(e,X),te=X.includes("var(")?null:Dr(he,oe);return Ee(Ss,{value:X,resolvedValue:he,colorVariables:oe,matchingVariable:te,onChange:ie=>pe(K.property,ie),accentColor:a,modified:Te,panelContentRef:c,isDropdownOpen:x===K.property,onDropdownChange:ie=>A(ie?K.property:null)})}case"number":{if(!!ui[K.property])return Ee(xo,{modified:Te,children:Ee(ro,{property:K.property,value:X,onChange:ie=>pe(K.property,ie),isModified:Te,min:K.min,max:K.max,step:K.step||1,style:h(f({},Xe),{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:z,onUnitCycle:O})});let{num:te}=Mo(X);return Ee(xo,{modified:Te,children:Ee("input",{type:"number",value:te,min:K.min,max:K.max,step:K.step||1,onChange:ie=>pe(K.property,ie.target.value),style:Xe})})}case"select":return Ee(xo,{modified:Te,children:jt("div",{style:{position:"relative",display:"flex",alignItems:"center"},children:[Ee("select",{value:X,onChange:he=>pe(K.property,he.target.value),style:h(f({},Xe),{cursor:"pointer",paddingLeft:4,paddingRight:24,appearance:"none",WebkitAppearance:"none"}),children:(Pe=K.options)==null?void 0:Pe.map(he=>Ee("option",{value:he,children:he},he))}),Ee("div",{style:{position:"absolute",right:4,top:"50%",transform:"translateY(-50%)",pointerEvents:"none",color:"#999",display:"flex",alignItems:"center"},children:Ee(ws,{size:12})})]})});case"spacing":return Ee(xo,{modified:Te,children:Ee("input",{type:"text",value:X,onChange:he=>pe(K.property,he.target.value),placeholder:"e.g., 10px or 10px 20px",style:Xe})});case"backdrop-filter":return Ee(Al,{value:X,onChange:he=>pe(K.property,he),accentColor:a,modified:Te,panelContentRef:c});default:return Ee(xo,{modified:Te,children:Ee("input",{type:"text",value:X,onChange:he=>pe(K.property,he.target.value),style:Xe})})}},Re=t.reactComponent||t.tagName,Ce={position:"fixed",top:W.current.top,left:W.current.left,width:280,maxHeight:W.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"},at={display:"flex",alignItems:"center",justifyContent:"space-between",margin:4,padding:"4px 5px 4px 10px",backgroundColor:a,color:"#ffffff",cursor:M.current?"grabbing":"grab",userSelect:"none",WebkitUserSelect:"none"},gt={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"},bt={display:"flex",alignItems:"center",padding:"4px 12px",gap:8},Yt={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:W.current.top+ee.current.y,left:W.current.left+ee.current.x,zIndex:10002,pointerEvents:"none"},children:jt("div",{ref:d,"data-devtools":"panel",style:h(f({},Ce),{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:[Ee("div",{"aria-hidden":"true",style:di()}),jt("div",{style:at,onMouseDown:V,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:Re})}),Ee("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:[Ee("div",{style:{opacity:x?.3:1,transition:"opacity 150ms ease"},children:Ee(Dl,{element:e,getValue:D,getOriginalValue:I,handleChange:pe,isModified:we,onResetProperty:me,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:gt,activeDropdown:g,onDropdownChange:b,panelContentRef:c,accentColor:a,onFieldHover:s,preferredUnit:z,onUnitCycle:O})}),Ee("div",{style:{opacity:g?.3:1,transition:"opacity 150ms ease"},children:Ee(Fl,{element:e,getValue:D,handleChange:pe,isModified:we,onResetProperty:me,isCollapsed:!1,onToggle:()=>{},sectionHeaderStyle:gt,accentColor:a,colorVariables:oe,activeColorDropdown:x,onColorDropdownChange:A,panelContentRef:c,preferredUnit:z,onUnitCycle:O})}),zl.map((K,X)=>{let Te=X===zl.length-1,Oe=x&&K.properties.some(Pe=>Pe.property===x);return jt("div",{style:{borderBottom:Te?"none":"1px solid rgba(0,0,0,0.08)",opacity:T&&!Oe?.3:1,transition:"opacity 150ms ease"},children:[Ee("div",{style:gt,children:Ee("span",{children:K.name})}),Ee("div",{style:{padding:"4px 0"},children:K.properties.map(Pe=>{let he=we(Pe.property),te=Oe&&Pe.property!==x;return jt("div",{style:h(f({},bt),{opacity:te?.3:1,transition:"opacity 150ms ease"}),children:[Ee("span",{onClick:he?()=>me(Pe.property):void 0,title:he?"Click to reset":void 0,style:h(f({},Yt),{color:he?a:"#64748b",fontWeight:he?600:400,cursor:he?"pointer":"default"}),children:Pe.label}),Ee("div",{style:{flex:1,minWidth:0,overflow:"hidden"},children:Je(Pe)})]},Pe.property)})})]},K.name)}),jt("div",{style:{opacity:T?.3:1,transition:"opacity 150ms ease"},children:[Ee("div",{style:gt,children:Ee("span",{children:"Raw CSS"})}),jt("div",{style:{padding:"8px 12px"},children:[Ee("textarea",{value:G,onChange:K=>re(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"}}),G.trim()&&Ee("button",{type:"button",onClick:Fe,style:{marginTop:4,padding:"4px 8px",width:"100%",fontSize:11,border:"none",borderRadius:2,backgroundColor:a,color:"#fff",cursor:"pointer",opacity:G.trim()?1:.5},children:"Apply"})]})]})]})]})})}import{useEffect as pp,useLayoutEffect as fp,useState as gp}from"react";import{Fragment as bp,jsx as Xo,jsxs as yp}from"react/jsx-runtime";var Cs=["flex-start","center","flex-end"],Es=["flex-start","center","flex-end"];function mp(e){return e==="normal"||e==="flex-start"||e==="start"?"flex-start":e==="flex-end"||e==="end"?"flex-end":e==="center"?"center":null}function hp(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 Gl(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 jl({element:e,modifier:t,accentColor:n,refreshKey:o=0}){let[r,i]=gp(null);if(pp(()=>{if(!e){i(null);return}let x=()=>i(Gl(e));return x(),window.addEventListener("scroll",x,{passive:!0}),window.addEventListener("resize",x,{passive:!0}),()=>{window.removeEventListener("scroll",x),window.removeEventListener("resize",x)}},[e]),fp(()=>{e&&i(Gl(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 x=mp(a.justifyContent);if(x){let A=Cs.indexOf(x);c==="horizontal"?(A>0&&u.push("left"),A<Cs.length-1&&u.push("right")):(A>0&&u.push("up"),A<Cs.length-1&&u.push("down"))}}else{let x=hp(a.alignItems);if(x){let A=Es.indexOf(x);p==="horizontal"?(A>0&&u.push("left"),A<Es.length-1&&u.push("right")):(A>0&&u.push("up"),A<Es.length-1&&u.push("down"))}}if(u.length===0)return null;let g=14,b=7;return Xo(bp,{children:u.map(x=>{let A,T;switch(x){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 z=x==="right"?0:x==="left"?180:x==="down"?90:-90,P={position:"fixed",left:A-b,top:T-b,width:b*2,height:b*2,pointerEvents:"none",zIndex:9997};return Xo("div",{"data-devtools":"swipe-hint",style:P,children:Xo("svg",{width:b*2,height:b*2,viewBox:"-7 -7 14 14",style:{overflow:"visible"},children:yp("g",{transform:`rotate(${z})`,children:[Xo("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round"}),Xo("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:"#fff",strokeWidth:"4",strokeLinecap:"round",strokeLinejoin:"round"}),Xo("line",{x1:"-5",y1:"0",x2:"3",y2:"0",stroke:n,strokeWidth:"1.5",strokeLinecap:"round"}),Xo("polyline",{points:"0,-4 5,0 0,4",fill:"none",stroke:n,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})})},x)})})}import{useEffect as xp,useLayoutEffect as vp,useState as Sp}from"react";import{jsx as ks,jsxs as Ts}from"react/jsx-runtime";function wp(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 Yl({element:e,fontSize:t,lineHeight:n,accentColor:o,hoveredProperty:r,draggingProperty:i,cursorViewport:s}){let[a,l]=Sp(null);if(xp(()=>{if(!e){l(null);return}let T=()=>{l(hr(e))};return T(),window.addEventListener("scroll",T,{passive:!0}),window.addEventListener("resize",T,{passive:!0}),()=>{window.removeEventListener("scroll",T),window.removeEventListener("resize",T)}},[e]),vp(()=>{e&&l(hr(e))},[e,t,n]),!a)return null;let d=a.width,c=a.height,p=wp(o,.2),u=i!=null?i:r,g=8,b=2,x={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 Ts("div",{"data-devtools":"text-handles",style:x,children:[Ts("svg",{style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"},viewBox:`0 0 ${d} ${c}`,children:[ks("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)&&ks("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)&&ks("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",z=A(u);return Ts("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," ",z]})})()]})}import{Fragment as Er,jsx as ft,jsxs as Cr}from"react/jsx-runtime";var Jl=8,Ms=[0,1,2,4,8,12,16,20,24,28,32],Is="devtools-active-text";function Ul(e,t,n=0,o,r){let i=e.left+window.scrollX+4,s=t==="top-left"?e.top+window.scrollY-Jn-n*Jn+4:e.bottom+window.scrollY+4-1+n*Jn,a=window.scrollY+4,l=window.scrollY+window.innerHeight-Jn-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-Jn-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 Vl({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:x,modelPanelHoveredComponent:A,modelSpacingTokenHover:T,highlightedAnnotationIds:z,focusedThreadAnnotationId:P,externalCanvasRef:O,toolbarRef:k}){var Ks,qs,Zs,Qs,ea,ta,na,oa,ra;let{canvasRef:G,redrawAll:re,resizeCanvas:oe}=Va(),W=cn(m=>{G.current=m,O&&(O.current=m)},[O,G]),Q=Xt(!1);xn(()=>{let m=G.current;if(!m)return;let y=()=>{Q.current&&(Q.current=!1,m.style.pointerEvents="")},Z=L=>{L.button===0&&Q.current&&y()};return window.addEventListener("mousedown",Z),()=>window.removeEventListener("mousedown",Z)},[G]);let[N,ee]=vt(!1),[M,Le]=vt(()=>{if(typeof window=="undefined")return null;try{let m=localStorage.getItem(Is);return m?JSON.parse(m):null}catch(m){return null}}),[V,fe]=vt(null),[D,ae]=vt(null),[I,pe]=vt(null),me=Xt(null),Fe=Xt(null),we=Xt({x:0,y:0}),Je=Xt([]),Re=Xt(0),[Ce,at]=vt(null),[gt,bt]=vt(new Map),Yt=Xt(0),K=Xt(null),[X,Te]=vt(null),[Oe,Xe]=vt(null),[Pe,he]=vt(null),[te,ie]=vt(null),ve=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}),[Me,mt]=vt(null),[Ne,ze]=vt(null),[nt,St]=vt(null),[Ke,qe]=vt(null),Rt=Xt({x:0,y:0}),[_n,Kn]=vt({x:0,y:0}),vn=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}),[It,qn]=vt(null),[on,Zn]=vt(null),[xt,rn]=vt(null),[_t,sn]=vt(!1),[Nn,An]=vt(0),[Kt,Sn]=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}),[$,De]=vt(null),[Ge,En]=vt(null),[At,qt]=vt(null),wn=Xt({isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null}),[Wt,Gt]=vt(null),[Pn,Nt]=vt(null),[lt,Ht]=vt(null),Jt=Xa(),nr=Xt(a);nr.current=a;let go=cn(m=>{let y=nr.current;if(!y||y.size===0)return!1;for(let Z of y.keys())try{if(m.matches(Z))return!0}catch(L){}return!1},[]),Ao=Xt(e);Ao.current=e;let ao=Xt(M);ao.current=M;let mo=Xt([]),or=Xt(n);or.current=n;let[w,H]=vt(null),q=e.selectedAnnotationIds;mo.current=q;let ye=cn((m,y=!1)=>{t({type:"SELECT_ANNOTATION",payload:{id:m,addToSelection:y}})},[t]),de=cn(()=>{t({type:"SELECT_ANNOTATION",payload:{id:null}})},[t]),[ge,He]=vt(null),[Ie,je]=vt({x:window.scrollX,y:window.scrollY});xn(()=>(oe(),window.addEventListener("resize",oe),()=>window.removeEventListener("resize",oe)),[oe]),xn(()=>{let m=()=>{je({x:window.scrollX,y:window.scrollY})};return window.addEventListener("scroll",m,{passive:!0}),()=>window.removeEventListener("scroll",m)},[]),xn(()=>{M?localStorage.setItem(Is,JSON.stringify(M)):localStorage.removeItem(Is)},[M]),Ka(M,Le,V,e.annotations,t);let Pt=Xt(Ce);Pt.current=Ce,xn(()=>{if(e.activeTool!=="model"||!e.isAnnotating)return;let m=y=>{if(!y.altKey||!Pt.current)return;y.preventDefault();let Z=y.deltaY>0?-1:1;Yt.current=Math.max(0,Yt.current+Z);let L=K.current;if(L){let R=Qr(L,Yt.current);at(R)}};return window.addEventListener("wheel",m,{passive:!1}),()=>window.removeEventListener("wheel",m)},[e.activeTool,e.isAnnotating]),xn(()=>{e.activeTool!=="model"&&(at(null),bt(new Map),Yt.current=0,K.current=null)},[e.activeTool]),xn(()=>{var Z;let m=(Z=Ce==null?void 0:Ce.name)!=null?Z:null,y=m&&(x!=null&&x.has(m))?m:null;b==null||b(y)},[Ce,x,b]);let[Ft,un]=vt(null);xn(()=>{var Z;if(!A){un(null);return}let m=fr(A.name),y=A.instanceIndex;un((Z=m[y%m.length])!=null?Z:null)},[A]);let[S,C]=vt([]);xn(()=>{var m,y;if(!T){C([]);return}(y=(m=T.token)==null?void 0:m.bindings)!=null&&y.length?C(qi(T.token)):C(Xi(T.px))},[T]);let le=Xt(null),ce=Xt(null);le.current=It,ce.current=on,xn(()=>{let m=["flex-start","center","flex-end"],y=["flex-start","center","flex-end"],L=null,R=!1,j=null,ue=null,F=(be,_e)=>{let it=Go(be,_e);for(;it&&it!==document.documentElement;){let Ct=window.getComputedStyle(it).display;if(Ct==="flex"||Ct==="inline-flex")return it;it=it.parentElement}return null},ne=be=>{let _e=window.getComputedStyle(be).flexDirection;return _e==="column"||_e==="column-reverse"?"vertical":"horizontal"},v=be=>{let _e=be.getAttribute("data-pm");return _e||(_e=Math.random().toString(36).substring(2,8),be.setAttribute("data-pm",_e)),{selector:`[data-pm="${_e}"]`,durableSelector:Hn(be)}},E=()=>{R=!0,L&&clearTimeout(L),L=setTimeout(()=>{R=!1,L=null},300)},J=(be,_e,ct)=>{let it=ne(be);if(_e===it){let et=window.getComputedStyle(be).justifyContent,Bt=et==="normal"||et==="flex-start"||et==="start"?"flex-start":et==="flex-end"||et==="end"?"flex-end":et==="center"?"center":null;if(!Bt)return;let pn=m.indexOf(Bt)+ct;if(pn<0||pn>=m.length)return;let ho=m[pn],{selector:Bo,durableSelector:Oi}=v(be);Qe(be,"justify-content",ho),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Bo,durableSelector:Oi,element:Ln(be),changes:[{property:"justify-content",original:et,modified:ho}]}})}else{let et=window.getComputedStyle(be).flexDirection,Bt=it==="horizontal"?"column":"row",{selector:eo,durableSelector:pn}=v(be);Qe(be,"flex-direction",Bt),t({type:"MODIFY_STYLES_BATCH",payload:{selector:eo,durableSelector:pn,element:Ln(be),changes:[{property:"flex-direction",original:et,modified:Bt}]}})}An(Ct=>Ct+1)},B=(be,_e,ct)=>{let Ct=ne(be)==="horizontal"?"vertical":"horizontal";if(_e!==Ct)return;let Bt=window.getComputedStyle(be).alignItems,eo=Bt==="normal"||Bt==="stretch"||Bt==="flex-start"||Bt==="start"?"flex-start":Bt==="flex-end"||Bt==="end"?"flex-end":Bt==="center"?"center":null;if(!eo)return;let ho=y.indexOf(eo)+ct;if(ho<0||ho>=y.length)return;let Bo=y[ho],{selector:Oi,durableSelector:$c}=v(be);Qe(be,"align-items",Bo),t({type:"MODIFY_STYLES_BATCH",payload:{selector:Oi,durableSelector:$c,element:Ln(be),changes:[{property:"align-items",original:Bt,modified:Bo}]}}),An(zc=>zc+1)},_=20,Y=null,U=null,xe=0,$e=(be,_e,ct)=>{let it=F(_e,ct);Sn(it?{modifier:be,target:it}:null)},tt=be=>{if(!(e.activeTool!=="hand"||!e.isAnnotating)){if(be.key==="Shift"&&!be.altKey){let _e=Rt.current;$e("shift",_e.x,_e.y)}else if(be.key==="Alt"&&!be.shiftKey){let _e=Rt.current;$e("alt",_e.x,_e.y)}}},ot=be=>{if(e.activeTool!=="hand"||!e.isAnnotating)return;let _e=be.shiftKey&&!be.altKey,ct=be.altKey&&!be.shiftKey;if(!_e&&!ct||be.buttons!==0){Y=null,U=null,xe=0,j=null,ue=null,Sn(null);return}if(j===null&&(j=be.clientX,ue=be.clientY,$e(_e?"shift":"alt",be.clientX,be.clientY)),R)return;Y===null&&(Y=be.clientX,U=be.clientY,xe=0);let it=be.clientX-Y,Ct=be.clientY-U,et=Math.abs(it)>=Math.abs(Ct)?it:Ct;if(Math.abs(et)>3){let Bo=et>0?1:-1;if(xe!==0&&Bo!==xe){Y=be.clientX,U=be.clientY,xe=0;return}xe=Bo}if(Math.abs(it)<_&&Math.abs(Ct)<_)return;let Bt=F(j,ue);if(!Bt)return;let eo=Math.abs(it)>=Math.abs(Ct)?"horizontal":"vertical",ho=(eo==="horizontal"?it:Ct)>0?1:-1;Y=null,U=null,xe=0,_e?J(Bt,eo,ho):B(Bt,eo,ho),E()},$t=be=>{(be.key==="Shift"||be.key==="Alt")&&(j=null,ue=null,Y=null,U=null,xe=0,Sn(null))},rt=()=>{Sn(null),Y=null,U=null,xe=0};return window.addEventListener("keydown",tt),window.addEventListener("mousemove",ot),window.addEventListener("mousedown",rt),window.addEventListener("keyup",$t),()=>{window.removeEventListener("keydown",tt),window.removeEventListener("mousemove",ot),window.removeEventListener("mousedown",rt),window.removeEventListener("keyup",$t),L&&clearTimeout(L)}},[e.activeTool,e.isAnnotating,t]),xn(()=>{let m=y=>{var j,ue,F,ne;if(y.key==="Escape"){if(ao.current)return;if(e.activeTool==="model"&&gt.size>0){y.preventDefault(),bt(new Map);return}if(mo.current.length>0){y.preventDefault(),de();return}}if(y.key==="Enter"&&e.activeTool==="model"&&gt.size>0&&u){y.preventDefault();let v=[...gt.keys()].filter(E=>!(x!=null&&x.has(E)));v.length>0&&u(v),bt(new Map);return}if((y.metaKey||y.ctrlKey)&&y.key==="v"&&Je.current.length>0&&!ao.current){y.preventDefault(),Re.current++;let v=Re.current*20,J=((j=Je.current[0])==null?void 0:j.groupId)?Math.random().toString(36).substring(2,9):void 0,B=Je.current.map(Y=>h(f({},Y),{id:Math.random().toString(36).substring(2,9),groupId:Y.groupId?J:void 0,timestamp:Date.now(),points:Y.points.map(U=>({x:U.x+v,y:U.y+v}))}));t({type:"PASTE_ANNOTATIONS",payload:{annotations:B}});let _=B.find(Y=>Y.type!=="text")||B[0];_&&ye(_.id);return}let Z=mo.current;if(Z.length===0||ao.current)return;let L=(F=(ue=y.composedPath)==null?void 0:ue.call(y)[0])!=null?F:y.target,R=L==null?void 0:L.tagName;if(!(R==="INPUT"||R==="TEXTAREA"||L!=null&&L.isContentEditable)&&(y.key==="Delete"||y.key==="Backspace")){if(y.preventDefault(),p){let v=Ao.current.annotations;for(let E of Z){let J=v.find(_=>_.id===E);if(!J)continue;let B=J.threadId||J.groupId&&((ne=v.find(_=>_.groupId===J.groupId&&_.threadId))==null?void 0:ne.threadId);B&&p(B)}}for(let v of Z)t({type:"DELETE_ANNOTATION",payload:{id:v}});de()}};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[t,de,ye,e.activeTool,gt,x,u,p]);let Ae=cr(),ke=bi(()=>e.annotations.filter(m=>!m.pathname||m.pathname===Ae),[e.annotations,Ae]),Ue=bi(()=>ci(e.annotations),[e.annotations]),Ye=bi(()=>{let m=new Map,y=new Set,Z=1,L=[...e.annotations].sort((R,j)=>R.timestamp-j.timestamp);for(let R of L)if(!Ue.has(R))if(R.groupId){if(!y.has(R.groupId)){y.add(R.groupId);let j=e.annotations.filter(ue=>ue.groupId===R.groupId);for(let ue of j)m.set(ue.id,Z);Z++}}else m.set(R.id,Z),Z++;return m},[e.annotations,Ue]),Et=bi(()=>{if(q.length===0)return null;let m=new Map;for(let y of q){let Z=e.annotations.find(R=>R.id===y);if(!Z)continue;let L=Z.groupId?e.annotations.filter(R=>R.groupId===Z.groupId):[Z];for(let R of L)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},[q,e.annotations,e.activeColor,a]);xn(()=>{let m=ke.filter(y=>!(Ue.has(y)||M&&!M.isNew&&y.id===M.id));re(m,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,q,Jl,Ie.x,Ie.y,Ye,z)},[ke,e.currentPath,e.activeTool,e.activeColor,e.strokeWidth,re,M,q,Ie,Ye,Ue,z]),xn(()=>{if(D){let m=Math.random().toString(36).substring(2,9);Le({id:m,point:D.point,text:"",fontSize:12,isNew:!0,groupId:D.groupId}),ae(null)}},[D]),xn(()=>{I&&(Le({id:Math.random().toString(36).substring(2,9),point:I.point,text:"",fontSize:12,isNew:!0,linkedSelector:I.linkedSelector,linkedAnchor:I.linkedAnchor,elements:I.elements}),pe(null))},[I]);let wt=Xt(null),ht=(Ks=M==null?void 0:M.id)!=null?Ks:null;xn(()=>{ht&&me.current?requestAnimationFrame(()=>{var Z;let m=me.current;if(!m||(m.focus(),Fe.current===ht))return;Fe.current=ht;let y=ao.current;if(y){if(wt.current!==null){let L=Math.min(wt.current,m.value.length);m.setSelectionRange(L,L);return}if(!y.isNew&&y.clickPoint){let L=G.current;if(!L)return;let R=L.getContext("2d");if(!R)return;R.font=`${y.fontSize}px ${Qt}`;let j=y.fontSize*1.4,ue=y.text.split(`
4
+ `),F=y.clickPoint.y-y.point.y,ne=Math.max(0,Math.min(ue.length-1,Math.floor(F/j))),v=y.clickPoint.x-y.point.x,E=ue[ne]||"",J=0;for(let _=0;_<=E.length;_++){let Y=R.measureText(E.substring(0,_)).width;if(Y>v){let U=_>0?R.measureText(E.substring(0,_-1)).width:0;J=v-U<Y-v?_-1:_;break}J=_}let B=J;for(let _=0;_<ne;_++)B+=(((Z=ue[_])==null?void 0:Z.length)||0)+1;m.setSelectionRange(B,B)}}}):(Fe.current=null,wt.current=null)},[ht,G]);let kt=cn(m=>{let y=G.current;if(!y)return{x:0,y:0};let Z=y.getBoundingClientRect(),L,R;if("touches"in m&&m.touches[0])L=m.touches[0].clientX,R=m.touches[0].clientY;else if("clientX"in m)L=m.clientX,R=m.clientY;else return{x:0,y:0};return{x:L-Z.left+window.scrollX,y:R-Z.top+window.scrollY}},[G]),ut=cn((m,y,Z,L)=>{let R=Z.x-y.x,j=Z.y-y.y,ue=R*R+j*j;if(ue===0)return Math.sqrt((m.x-y.x)**2+(m.y-y.y)**2)<=L;let F=Math.max(0,Math.min(1,((m.x-y.x)*R+(m.y-y.y)*j)/ue)),ne=y.x+F*R,v=y.y+F*j;return Math.sqrt((m.x-ne)**2+(m.y-v)**2)<=L},[]),Ut=cn(m=>{for(let Z=ke.length-1;Z>=0;Z--){let L=ke[Z];if(!L||Ue.has(L))continue;let R=(L.strokeWidth||3)+4;switch(L.type){case"text":{if(!L.points[0]||!L.text)continue;let j=L.points[0],ue=L.fontSize||12,F=G.current;if(F){let ne=F.getContext("2d");if(ne){ne.font=`${ue}px ${Qt}`;let v=L.text.replace(/\n/g," "),E=j.x-Ie.x,J=dr(E),B=ur(ne,v,J),_=ne.measureText(B).width,Y=ue*1.4;if(m.x>=j.x-4-4&&m.x<=j.x+_+4+4&&m.y>=j.y-4-4&&m.y<=j.y+Y+4+4)return L}}break}case"rectangle":{if(L.points.length<2)continue;let j=L.points[0],ue=L.points[L.points.length-1],F=Math.min(j.x,ue.x),ne=Math.max(j.x,ue.x),v=Math.min(j.y,ue.y),E=Math.max(j.y,ue.y),J=ut(m,{x:F,y:v},{x:ne,y:v},R),B=ut(m,{x:F,y:E},{x:ne,y:E},R),_=ut(m,{x:F,y:v},{x:F,y:E},R),Y=ut(m,{x:ne,y:v},{x:ne,y:E},R);if(J||B||_||Y)return L;break}case"circle":{if(L.points.length<2)continue;let j=L.points[0],ue=L.points[L.points.length-1],F=(j.x+ue.x)/2,ne=(j.y+ue.y)/2,v=Math.abs(ue.x-j.x)/2,E=Math.abs(ue.y-j.y)/2,J=m.x-F,B=m.y-ne,_=Math.sqrt((J/v)**2+(B/E)**2);if(Math.abs(_-1)*Math.max(v,E)<=R)return L;break}case"line":{if(L.points.length<2)continue;let j=L.points[0],ue=L.points[L.points.length-1];if(ut(m,j,ue,R))return L;break}case"freehand":{if(L.points.length<2)continue;for(let j=0;j<L.points.length-1;j++){let ue=L.points[j],F=L.points[j+1];if(ut(m,ue,F,R))return L}break}}}return null},[ke,G,ut,Ue,Ie.x]),Qn=cn(m=>{let y=Ut(m);return(y==null?void 0:y.type)==="text"?y:null},[Ut]),kn=cn(m=>{if(q.length===0)return null;let y=Jl/2+4;for(let Z of q){let L=e.annotations.find(R=>R.id===Z);if(!(!L||L.points.length<2)){if(L.type==="line"){let R=L.points[0],j=L.points[L.points.length-1];if(Math.sqrt((m.x-R.x)**2+(m.y-R.y)**2)<=y)return{handle:"start",annotationId:Z};if(Math.sqrt((m.x-j.x)**2+(m.y-j.y)**2)<=y)return{handle:"end",annotationId:Z};continue}if(L.type==="circle"){let R=L.points[0],j=L.points[L.points.length-1],ue=Math.min(R.x,j.x),F=Math.max(R.x,j.x),ne=Math.min(R.y,j.y),v=Math.max(R.y,j.y),E=(ue+F)/2,J=(ne+v)/2,B=[{handle:"top",x:E,y:ne},{handle:"bottom",x:E,y:v},{handle:"left",x:ue,y:J},{handle:"right",x:F,y:J}];for(let{handle:_,x:Y,y:U}of B)if(Math.sqrt((m.x-Y)**2+(m.y-U)**2)<=y)return{handle:_,annotationId:Z};continue}if(L.type==="rectangle"||L.type==="freehand"){let R=L.points[0],j=L.points[L.points.length-1],ue,F,ne,v;L.type==="freehand"?(ue=Math.min(...L.points.map(J=>J.x)),F=Math.max(...L.points.map(J=>J.x)),ne=Math.min(...L.points.map(J=>J.y)),v=Math.max(...L.points.map(J=>J.y))):(ue=Math.min(R.x,j.x),F=Math.max(R.x,j.x),ne=Math.min(R.y,j.y),v=Math.max(R.y,j.y));let E=[{corner:"topLeft",x:ue,y:ne},{corner:"topRight",x:F,y:ne},{corner:"bottomLeft",x:ue,y:v},{corner:"bottomRight",x:F,y:v}];for(let{corner:J,x:B,y:_}of E)if(Math.sqrt((m.x-B)**2+(m.y-_)**2)<=y)return{handle:J,annotationId:Z}}}}return null},[q,e.annotations]);xn(()=>{let m=y=>{if(we.current={x:y.clientX+window.scrollX,y:y.clientY+window.scrollY},!M){let Z=Qn(we.current);fe((Z==null?void 0:Z.id)||null)}};return window.addEventListener("mousemove",m),()=>window.removeEventListener("mousemove",m)},[M,Qn]);let Vt=cn(()=>{var y;if(!M)return;let m=((y=M.images)==null?void 0:y.length)||0;if(M.text.trim()||m>0)if(M.isNew){let Z=Kr();t({type:"ADD_TEXT",payload:f({point:M.point,text:M.text||(m>0?`[${m} image${m>1?"s":""}]`:""),fontSize:M.fontSize,id:Z,groupId:M.groupId,linkedSelector:M.linkedSelector,linkedAnchor:M.linkedAnchor,elements:M.elements},m>0?{imageCount:m}:{})}),m>0&&M.images&&l&&l(Z,M.images)}else t({type:"UPDATE_TEXT",payload:f({id:M.id,text:M.text||(m>0?`[${m} image${m>1?"s":""}]`:"")},m>0?{imageCount:m}:{})}),m>0&&M.images&&l&&l(M.id,M.images);else M.isNew||t({type:"DELETE_ANNOTATION",payload:{id:M.id}});Le(null)},[M,t,l]),pt=cn(m=>{for(let y=0;y<Ms.length-1;y++){let Z=Ms[y],L=Ms[y+1];if(m<=(Z+L)/2)return Z;if(m<L)return L}return Math.round(m/8)*8},[]),Cn=cn((m,y,Z,L)=>{let R=Z.top+Math.max(L.top,4),j=Z.bottom-Math.max(L.bottom,4),ue=Z.left+Math.max(L.left,4),F=Z.right-Math.max(L.right,4);if(m<Z.left||m>Z.right||y<Z.top||y>Z.bottom)return null;let ne=y<R,v=y>j,E=m<ue,J=m>F;return ne&&E?L.top>=L.left?"top":"left":ne&&J?L.top>=L.right?"top":"right":v&&E?L.bottom>=L.left?"bottom":"left":v&&J?L.bottom>=L.right?"bottom":"right":ne?"top":v?"bottom":E?"left":J?"right":null},[]),Ze=cn(m=>{var j,ue;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=kt(m),Z="shiftKey"in m&&m.shiftKey;if(e.activeTool==="inspector"){if("button"in m&&m.button===2)return;if(X&&!go(X)){let F=e.annotations.find(tt=>{if(!tt.linkedSelector||!tt.threadId)return!1;try{return X.matches(tt.linkedSelector)}catch(ot){return!1}});if(F!=null&&F.threadId&&c){c(F.threadId),requestAnimationFrame(()=>{var $t;let tt=document.querySelector("[data-popmelt-shadow-host]"),ot=($t=tt==null?void 0:tt.shadowRoot)==null?void 0:$t.querySelector("[data-popmelt-reply]");ot==null||ot.focus()});return}let ne=Ln(X),v=Hn(X),E=X.getBoundingClientRect(),J=X.getAttribute("data-pm");J||(J=Math.random().toString(36).substring(2,8),X.setAttribute("data-pm",J));let B=`[data-pm="${J}"]`,_=e.styleModifications.some(tt=>{try{return X.matches(tt.selector)}catch(ot){return!1}}),Y=e.annotations.filter(tt=>{if(!tt.linkedSelector)return!1;try{return X.matches(tt.linkedSelector)}catch(ot){return!1}}).length,U=(_?1:0)+Y,xe=E.top>=Jn*(1+U)?"top-left":"bottom-left",$e=Ul(E,xe,U,k==null?void 0:k.current);pe({point:$e,linkedSelector:B,linkedAnchor:xe,elements:[h(f({},ne),{selector:v})]})}return}if(e.activeTool==="model"){if("button"in m&&m.button===2)return;if(Ce){let F=Ce.name;if(x!=null&&x.has(F)){g==null||g(F);return}"shiftKey"in m&&m.shiftKey?bt(v=>{let E=new Map(v);return E.has(F)?E.delete(F):E.set(F,Ce),E}):gt.size===1&&gt.has(F)?(u&&u([F]),bt(new Map)):bt(new Map([[F,Ce]]))}return}if(e.activeTool==="hand"&&It&&on){let F=It,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let v=Hn(F),E=`[data-pm="${ne}"]`,J=Ln(F),B=jo(F),_=y.x-window.scrollX,Y=y.y-window.scrollY,U=_t,xe=window.getComputedStyle(F).justifyContent,$e=0;if(U){let ot=yo(F).find($t=>$t.axis===on);$e=ot?on==="column"?ot.w:ot.h:0}Qe(F,"transition","none"),vn.current={isDragging:!0,hasMoved:!1,axis:on,startX:_,startY:Y,originalRow:U?$e:B.row,originalColumn:U?$e:B.column,element:F,elementInfo:h(f({},J),{selector:E}),selector:E,durableSelector:v,isAuto:U,originalJustifyContent:xe,visualGap:$e},rn({axis:on,row:U?$e:B.row,column:U?$e:B.column});return}if(e.activeTool==="hand"&&Wt&&Pn){let F=Wt,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let v=`[data-pm="${ne}"]`,E=Ln(F),{fontSize:J,lineHeight:B}=Br(F),_=J>0?B/J:1.2,Y=y.x-window.scrollX,U=y.y-window.scrollY;Qe(F,"transition","none");let xe=Hn(F);wn.current={isDragging:!0,property:Pn,startX:Y,startY:U,originalFontSize:J,originalLineHeight:B,originalRatio:_,element:F,elementInfo:h(f({},E),{selector:v}),selector:v,durableSelector:xe},Ht({property:Pn,fontSize:J,lineHeight:B});return}if(e.activeTool==="hand"&&$&&Ge){let F=$,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let v=`[data-pm="${ne}"]`,E=Hn(F),J=Ln(F),B=Yo(F),_=F.getBoundingClientRect(),Y=Math.floor(_.height/2),U=y.y-window.scrollY;Qe(F,"transition","none"),bn.current={isDragging:!0,corner:Ge,startY:U,original:B,maxRadius:Y,element:F,elementInfo:h(f({},J),{selector:v}),selector:v,durableSelector:E},qt({corner:Ge,radius:f({},B)});return}if(e.activeTool==="hand"&&Me&&Ne){let F=Me,ne=F.getAttribute("data-pm");ne||(ne=Math.random().toString(36).substring(2,8),F.setAttribute("data-pm",ne));let v=`[data-pm="${ne}"]`,E=Hn(F),J=Ln(F),B=mr(F),_=y.x-window.scrollX,Y=y.y-window.scrollY;Qe(F,"transition","none"),ve.current={isDragging:!0,side:Ne,startX:_,startY:Y,original:B,element:F,elementInfo:h(f({},J),{selector:v}),selector:v,durableSelector:E},qe({side:Ne,padding:f({},B)});return}let L=kn(y);if(L){let F=e.annotations.find(ne=>ne.id===L.annotationId);if(F&&F.type!=="text"&&((j=F.status)!=null?j:"pending")==="pending"){He({annotationId:L.annotationId,handle:L.handle,startPoint:y,originalPoints:[...F.points],hasMoved:!1});return}}let R=Ut(y);if(R&&R.points[0]){if(M&&Vt(),R.type!=="text"?(ye(R.id,Z),R.color&&t({type:"SET_COLOR",payload:R.color})):Z||de(),c){let F=R.threadId||(R.groupId?(ue=e.annotations.find(ne=>ne.groupId===R.groupId&&ne.threadId))==null?void 0:ue.threadId:void 0);F&&c(F)}H({annotation:R,startPoint:y,hasMoved:!1});return}if(Z||de(),e.activeTool==="text"){M&&Vt();let F=Math.random().toString(36).substring(2,9);Le({id:F,point:y,text:"",fontSize:12,isNew:!0});return}ee(!0),t({type:"START_PATH",payload:y})},[e.isAnnotating,e.activeTool,e.inspectedElement,e.annotations,M,q,X,Me,Ne,$,Ge,It,on,_t,Wt,Pn,Ce,gt,x,u,g,c,kt,Ut,kn,t,ye,de,Vt]),Ot=cn(m=>{var Z,L;let y=kt(m);if(e.activeTool==="inspector"&&e.isAnnotating){let R=y.x-window.scrollX,j=y.y-window.scrollY,ue=Go(R,j),F=ue&&go(ue)?null:ue;F!==X&&(Te(F),Xe(F?Ln(F):null));return}if(e.activeTool==="model"&&e.isAnnotating){let R=y.x-window.scrollX,j=y.y-window.scrollY,ue=Go(R,j);if(ue!==K.current&&(K.current=ue,Yt.current=0),ue){let F=Qr(ue,Yt.current);at(F)}else at(null);return}if(e.activeTool==="hand"&&e.isAnnotating){let R=y.x-window.scrollX,j=y.y-window.scrollY;Rt.current={x:R,y:j},Kn({x:R,y:j});let ue=Jt.current.cmd,F=Jt.current.shift;if(vn.current.isDragging){let v=vn.current,E=v.element;if(!E)return;if(!v.hasMoved){let Y=Math.abs(R-v.startX),U=Math.abs(j-v.startY);if(Y<=2&&U<=2)return;v.hasMoved=!0,v.isAuto&&(Qe(E,"justify-content","normal"),Qe(E,"row-gap",`${v.visualGap}px`),Qe(E,"column-gap",`${v.visualGap}px`),sn(!1))}let J=v.axis,B=v.originalRow,_=v.originalColumn;if(J==="column"){let Y=R-v.startX;_=v.originalColumn+Y,ue||(B=v.originalRow+Y)}else{let Y=j-v.startY;B=v.originalRow+Y,ue||(_=v.originalColumn+Y)}B=Math.max(0,B),_=Math.max(0,_),F&&(B=pt(B),_=pt(_)),B=Math.round(B),_=Math.round(_),Qe(E,"row-gap",`${B}px`),Qe(E,"column-gap",`${_}px`),rn({axis:J,row:B,column:_});return}if(bn.current.isDragging){let v=bn.current,E=v.element;if(!E)return;let J=j-v.startY,B=v.corner,_=v.original,Y=f({},_);if(ue){let U=_[B]+J;U=Math.max(0,Math.min(v.maxRadius,U)),F&&(U=pt(U)),U=Math.round(U),Y[B]=U}else{let U=_[B]+J;U=Math.max(0,Math.min(v.maxRadius,U)),F&&(U=pt(U)),U=Math.round(U),Y={"top-left":U,"top-right":U,"bottom-right":U,"bottom-left":U}}Qe(E,"border-top-left-radius",`${Y["top-left"]}px`),Qe(E,"border-top-right-radius",`${Y["top-right"]}px`),Qe(E,"border-bottom-right-radius",`${Y["bottom-right"]}px`),Qe(E,"border-bottom-left-radius",`${Y["bottom-left"]}px`),qt({corner:B,radius:Y});return}if(wn.current.isDragging){let v=wn.current,E=v.element;if(!E)return;let J=v.property,B=v.originalFontSize,_=v.originalLineHeight,Y=[8,10,11,12,13,14,16,18,20,22,24,28,32,36,40,48,56,64,72,80,96];if(J==="font-size"){let xe=R-v.startX;B=v.originalFontSize+xe,B=Math.max(1,B)}else{let xe=j-v.startY;_=v.originalLineHeight+xe,_=Math.max(B,_)}if(F)if(J==="font-size"){let xe=Y[0],$e=Math.abs(B-xe);for(let tt of Y){let ot=Math.abs(B-tt);ot<$e&&(xe=tt,$e=ot)}B=xe}else{let xe=B>0?_/B:1.2,$e=Math.round(xe*2)/2;_=B*Math.max(1,$e)}B=Math.round(B),_=Math.round(_*10)/10,Qe(E,"font-size",`${B}px`);let U=B>0?Math.round(_/B*1e3)/1e3:1.2;Qe(E,"line-height",`${U}`),Ht({property:J,fontSize:B,lineHeight:_});return}if(ve.current.isDragging){let v=ve.current,E=v.element;if(!E)return;let J=v.side,B=v.original,_=B.top,Y=B.right,U=B.bottom,xe=B.left;if(J==="top"){let $e=v.startY-j;_=B.top+$e,ue||(U=B.bottom+$e)}else if(J==="bottom"){let $e=j-v.startY;U=B.bottom+$e,ue||(_=B.top+$e)}else if(J==="left"){let $e=v.startX-R;xe=B.left+$e,ue||(Y=B.right+$e)}else if(J==="right"){let $e=R-v.startX;Y=B.right+$e,ue||(xe=B.left+$e)}_=Math.max(0,_),Y=Math.max(0,Y),U=Math.max(0,U),xe=Math.max(0,xe),F&&(_=pt(_),Y=pt(Y),U=pt(U),xe=pt(xe)),_=Math.round(_),Y=Math.round(Y),U=Math.round(U),xe=Math.round(xe),Qe(E,"padding",`${_}px ${Y}px ${U}px ${xe}px`),qe({side:J,padding:{top:_,right:Y,bottom:U,left:xe}});return}let ne=Go(R,j);for(;ne&&ne.tagName==="A";)ne=ne.parentElement;{let E=[];ne&&E.push(ne),$&&$!==ne&&E.push($);let J=null,B=16,_=null;for(let Y of E){let U=Y.getBoundingClientRect(),xe=Yo(Y),$e=[["top-left",U.left,U.top+xe["top-left"]],["top-right",U.right,U.top+xe["top-right"]],["bottom-right",U.right,U.bottom-xe["bottom-right"]],["bottom-left",U.left,U.bottom-xe["bottom-left"]]];for(let[tt,ot,$t]of $e){let rt=Math.hypot(R-ot,j-$t);rt<B&&(B=rt,J=tt,_=Y)}}if(J&&_){De(_),En(J),Me&&mt(null),Ne&&ze(null),It&&qn(null),on&&Zn(null),sn(!1),Wt&&Gt(null),Pn&&Nt(null);return}}$&&De(null),Ge&&En(null);{let v=[];ne&&oi(ne)&&v.push(ne);let E=(Z=ne==null?void 0:ne.parentElement)!=null?Z:null;for(;E&&E!==document.body&&v.length<3;)oi(E)&&v.push(E),E=E.parentElement;for(let J of v){let _=yo(J).find(Y=>R>=Y.x&&R<=Y.x+Y.w&&j>=Y.y&&j<=Y.y+Y.h);if(_){qn(J),Zn(_.axis),sn(Qi(J,_.axis)),Me&&mt(null),Ne&&ze(null),Wt&&Gt(null),Pn&&Nt(null);return}}}It&&qn(null),on&&Zn(null),sn(!1);{let E=[];ne&&E.push(ne),Wt&&Wt!==ne&&E.push(Wt);let J=null,B=1/0,_=null;for(let Y of E){if(!es(Y))continue;let U=hr(Y);if(!U)continue;let xe=R>=U.left&&R<=U.right&&j>=U.top&&j<=U.bottom,$e=[["font-size",U.right,U.top+U.height/2],["line-height",U.left+U.width/2,U.bottom]];for(let[tt,ot,$t]of $e){let rt=Math.hypot(R-ot,j-$t);(xe||rt<12)&&rt<B&&(B=rt,J=tt,_=Y)}}J&&_?(Gt(_),Nt(J)):(Wt&&Gt(null),Pn&&Nt(null))}if(ne!==Me&&mt(ne),ne){let v=mr(ne),E=ne.getBoundingClientRect(),J=Cn(R,j,E,v);ze(J)}else ze(null);return}if(ge){let{handle:R,originalPoints:j,hasMoved:ue}=ge,F=e.annotations.find(B=>B.id===ge.annotationId);if(!F)return;let ne="metaKey"in m,v=ne&&(m.metaKey||m.ctrlKey),E=ne&&m.shiftKey,J;if(F.type==="line"){let B=j[0],_=j[j.length-1];R==="start"?J=[y,_]:J=[B,y]}else if(F.type==="freehand"){let B=Math.min(...j.map(et=>et.x)),_=Math.max(...j.map(et=>et.x)),Y=Math.min(...j.map(et=>et.y)),U=Math.max(...j.map(et=>et.y)),xe=(B+_)/2,$e=(Y+U)/2,tt=_-B||1,ot=U-Y||1,$t=tt/ot,rt=B,be=_,_e=Y,ct=U;switch(R){case"topLeft":rt=y.x,_e=y.y;break;case"topRight":be=y.x,_e=y.y;break;case"bottomLeft":rt=y.x,ct=y.y;break;case"bottomRight":be=y.x,ct=y.y;break}if(v)switch(R){case"topLeft":be=_+(B-rt),ct=U+(Y-_e);break;case"topRight":rt=B-(be-_),ct=U+(Y-_e);break;case"bottomLeft":be=_+(B-rt),_e=Y-(ct-U);break;case"bottomRight":rt=B-(be-_),_e=Y-(ct-U);break}if(E){let et=be-rt,Bt=ct-_e;if(Math.abs(et/Bt)>$t){let pn=Math.abs(Bt)*$t*Math.sign(et);R==="topLeft"||R==="bottomLeft"?rt=be-pn:be=rt+pn}else{let pn=Math.abs(et)/$t*Math.sign(Bt);R==="topLeft"||R==="topRight"?_e=ct-pn:ct=_e+pn}}let it=be-rt||1,Ct=ct-_e||1;J=j.map(et=>({x:rt+(et.x-B)/tt*it,y:_e+(et.y-Y)/ot*Ct}))}else if(F.type==="circle"){let B=j[0],_=j[j.length-1],Y=Math.min(B.x,_.x),U=Math.max(B.x,_.x),xe=Math.min(B.y,_.y),$e=Math.max(B.y,_.y),tt=(Y+U)/2,ot=(xe+$e)/2,$t=U-Y,rt=$e-xe,be=Y,_e=U,ct=xe,it=$e;switch(R){case"top":if(ct=y.y,v&&(it=ot+(ot-y.y)),E){let et=(it-ct)*($t/rt)/2;be=tt-et,_e=tt+et}break;case"bottom":if(it=y.y,v&&(ct=ot-(y.y-ot)),E){let et=(it-ct)*($t/rt)/2;be=tt-et,_e=tt+et}break;case"left":if(be=y.x,v&&(_e=tt+(tt-y.x)),E){let et=(_e-be)*(rt/$t)/2;ct=ot-et,it=ot+et}break;case"right":if(_e=y.x,v&&(be=tt-(y.x-tt)),E){let et=(_e-be)*(rt/$t)/2;ct=ot-et,it=ot+et}break}J=[{x:be,y:ct},{x:_e,y:it}]}else{let B=j[0],_=j[j.length-1],Y=Math.min(B.x,_.x),U=Math.max(B.x,_.x),xe=Math.min(B.y,_.y),$e=Math.max(B.y,_.y),tt=(Y+U)/2,ot=(xe+$e)/2,$t=U-Y||1,rt=$e-xe||1,be=$t/rt,_e=Y,ct=U,it=xe,Ct=$e;switch(R){case"topLeft":_e=y.x,it=y.y;break;case"topRight":ct=y.x,it=y.y;break;case"bottomLeft":_e=y.x,Ct=y.y;break;case"bottomRight":ct=y.x,Ct=y.y;break}if(v)switch(R){case"topLeft":ct=U+(Y-_e),Ct=$e+(xe-it);break;case"topRight":_e=Y-(ct-U),Ct=$e+(xe-it);break;case"bottomLeft":ct=U+(Y-_e),it=xe-(Ct-$e);break;case"bottomRight":_e=Y-(ct-U),it=xe-(Ct-$e);break}if(E){let et=ct-_e,Bt=Ct-it;if(Math.abs(et/Bt)>be){let pn=Math.abs(Bt)*be*Math.sign(et);R==="topLeft"||R==="bottomLeft"?_e=ct-pn:ct=_e+pn}else{let pn=Math.abs(et)/be*Math.sign(Bt);R==="topLeft"||R==="topRight"?it=Ct-pn:Ct=it+pn}}J=[{x:_e,y:it},{x:ct,y:Ct}]}t({type:"RESIZE_ANNOTATION",payload:{id:ge.annotationId,points:J,saveUndo:!ue}}),ue||He(h(f({},ge),{hasMoved:!0}));return}if(w&&((L=w.annotation.status)!=null?L:"pending")==="pending"){let R=y.x-w.startPoint.x,j=y.y-w.startPoint.y;if((Math.abs(R)>2||Math.abs(j)>2)&&!w.hasMoved)H(h(f({},w),{hasMoved:!0,startPoint:y})),t({type:"MOVE_ANNOTATION",payload:{id:w.annotation.id,delta:{x:R,y:j},saveUndo:!0}});else if(w.hasMoved){let F=y.x-w.startPoint.x,ne=y.y-w.startPoint.y;H(h(f({},w),{startPoint:y})),t({type:"MOVE_ANNOTATION",payload:{id:w.annotation.id,delta:{x:F,y:ne}}})}return}!N||!e.isAnnotating||t({type:"CONTINUE_PATH",payload:y})},[N,e.isAnnotating,e.activeTool,w,ge,X,Me,Ne,$,Ge,It,on,Wt,Pn,kt,t,pt,Cn]),Zt=cn(m=>{var L,R,j,ue,F,ne;if(wn.current.isDragging){let v=wn.current,E=v.element;if(E&&v.selector&&v.elementInfo&&lt){E instanceof HTMLElement&&(E.style.removeProperty("font-size"),E.style.removeProperty("line-height"),E.style.removeProperty("transition"));let J=[];if(v.originalFontSize!==lt.fontSize&&(Qe(E,"font-size",`${lt.fontSize}px`),J.push({property:"font-size",original:`${v.originalFontSize}px`,modified:`${lt.fontSize}px`})),v.originalLineHeight!==lt.lineHeight){let B=v.originalFontSize>0?Math.round(v.originalLineHeight/v.originalFontSize*1e3)/1e3:1.2,_=lt.fontSize>0?Math.round(lt.lineHeight/lt.fontSize*1e3)/1e3:1.2;Qe(E,"line-height",`${_}`),J.push({property:"line-height",original:`${B}`,modified:`${_}`})}J.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:v.selector,durableSelector:(L=v.durableSelector)!=null?L:void 0,element:v.elementInfo,changes:J}})}wn.current={isDragging:!1,property:null,startX:0,startY:0,originalFontSize:0,originalLineHeight:0,originalRatio:1.2,element:null,elementInfo:null,selector:null,durableSelector:null},Ht(null);return}if(vn.current.isDragging){let v=vn.current,E=v.element,J="button"in m&&m.button===2;if(!v.hasMoved&&!J&&E&&v.selector&&v.elementInfo){E instanceof HTMLElement&&E.style.removeProperty("transition");let B=["space-between","space-around","stretch","normal"],_=v.originalJustifyContent||"normal",Y=B.indexOf(_),U=B[(Y+1)%B.length],xe=[];U==="normal"?(Qe(E,"justify-content","normal"),xe.push({property:"justify-content",original:v.originalJustifyContent,modified:"normal"})):U==="stretch"?(Qe(E,"justify-content",U),Qe(E,"row-gap","8px"),Qe(E,"column-gap","8px"),xe.push({property:"justify-content",original:v.originalJustifyContent||"normal",modified:U}),v.originalRow!==8&&xe.push({property:"row-gap",original:`${v.originalRow}px`,modified:"8px"}),v.originalColumn!==8&&xe.push({property:"column-gap",original:`${v.originalColumn}px`,modified:"8px"})):(E instanceof HTMLElement&&(E.style.removeProperty("row-gap"),E.style.removeProperty("column-gap")),Qe(E,"justify-content",U),xe.push({property:"justify-content",original:v.originalJustifyContent||"normal",modified:U}),v.originalRow>0&&xe.push({property:"row-gap",original:`${v.originalRow}px`,modified:"0px"}),v.originalColumn>0&&xe.push({property:"column-gap",original:`${v.originalColumn}px`,modified:"0px"})),xe.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:v.selector,durableSelector:(R=v.durableSelector)!=null?R:void 0,element:v.elementInfo,changes:xe}})}else if(v.hasMoved&&E&&v.selector&&v.elementInfo&&xt){E instanceof HTMLElement&&(E.style.removeProperty("row-gap"),E.style.removeProperty("column-gap"),E.style.removeProperty("transition"));let B=[];v.isAuto?(E instanceof HTMLElement&&E.style.removeProperty("justify-content"),Qe(E,"justify-content","normal"),Qe(E,"row-gap",`${xt.row}px`),Qe(E,"column-gap",`${xt.column}px`),B.push({property:"justify-content",original:v.originalJustifyContent,modified:"normal"}),B.push({property:"row-gap",original:"0px",modified:`${xt.row}px`}),B.push({property:"column-gap",original:"0px",modified:`${xt.column}px`})):(v.originalRow!==xt.row&&(Qe(E,"row-gap",`${xt.row}px`),B.push({property:"row-gap",original:`${v.originalRow}px`,modified:`${xt.row}px`})),v.originalColumn!==xt.column&&(Qe(E,"column-gap",`${xt.column}px`),B.push({property:"column-gap",original:`${v.originalColumn}px`,modified:`${xt.column}px`}))),B.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:v.selector,durableSelector:(j=v.durableSelector)!=null?j:void 0,element:v.elementInfo,changes:B}})}vn.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},rn(null);return}if(bn.current.isDragging){let v=bn.current,E=v.element;if(E&&v.selector&&v.elementInfo&&At){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 J=["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"},_=[];for(let Y of J)v.original[Y]!==At.radius[Y]&&(Qe(E,B[Y],`${At.radius[Y]}px`),_.push({property:B[Y],original:`${v.original[Y]}px`,modified:`${At.radius[Y]}px`}));_.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:v.selector,durableSelector:(ue=v.durableSelector)!=null?ue:void 0,element:v.elementInfo,changes:_}})}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},qt(null);return}if(ve.current.isDragging){let v=ve.current,E=v.element,J=v.selector,B=v.elementInfo;if(E&&J&&B&&Ke){let _=v.original,Y=Ke.padding;E instanceof HTMLElement&&(E.style.removeProperty("padding"),E.style.removeProperty("transition"));let U=[],xe=[{prop:"padding-top",origVal:_.top,newVal:Y.top},{prop:"padding-right",origVal:_.right,newVal:Y.right},{prop:"padding-bottom",origVal:_.bottom,newVal:Y.bottom},{prop:"padding-left",origVal:_.left,newVal:Y.left}];for(let{prop:$e,origVal:tt,newVal:ot}of xe)tt!==ot&&(Qe(E,$e,`${ot}px`),U.push({property:$e,original:`${tt}px`,modified:`${ot}px`}));U.length>0&&t({type:"MODIFY_STYLES_BATCH",payload:{selector:J,durableSelector:(F=v.durableSelector)!=null?F:void 0,element:B,changes:U}})}ve.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},qe(null);return}if(ge){He(null);return}if(w){if(!w.hasMoved&&w.annotation.type==="text"&&((ne=w.annotation.status)!=null?ne:"pending")==="pending"){let v=kt(m);Le({id:w.annotation.id,point:w.annotation.points[0],text:w.annotation.text||"",fontSize:w.annotation.fontSize||12,isNew:!1,clickPoint:v,groupId:w.annotation.groupId})}H(null);return}if(!N)return;let y=5;if(e.currentPath.length>=2){let v=e.currentPath[0],E=e.currentPath[e.currentPath.length-1],J=Math.abs(E.x-v.x),B=Math.abs(E.y-v.y);if((e.activeTool==="line"?Math.sqrt(J*J+B*B)<y:J<y&&B<y)&&["rectangle","circle","line"].includes(e.activeTool)){ee(!1),t({type:"CANCEL_PATH"});return}}let Z=Vi(e.currentPath);if(e.activeTool==="rectangle"&&e.currentPath.length>=2){let v=e.currentPath[0],E=e.currentPath[e.currentPath.length-1],J=Math.min(v.x,E.x),B=Math.max(v.y,E.y),_=e.strokeWidth/2,Y=Math.random().toString(36).substring(2,9);ae({point:{x:J-_+4,y:B+_+4},groupId:Y}),ee(!1),t({type:"FINISH_PATH",payload:{groupId:Y,elements:Z}});return}ee(!1),t({type:"FINISH_PATH",payload:{elements:Z}})},[N,w,ge,Ke,At,xt,lt,kt,t,e.activeTool,e.currentPath,e.strokeWidth]),Tn=cn(m=>{let y=m.target.value;wt.current=m.target.selectionStart,Le(Z=>Z&&h(f({},Z),{text:y}))},[]),Po=cn(m=>{m.key==="Escape"?Le(null):m.key==="Enter"&&!m.shiftKey&&(m.preventDefault(),Vt())},[Vt]),Oo=cn(m=>{if(!M)return;let y=m.clipboardData.items,Z=[];for(let L=0;L<y.length;L++){let R=y[L];if(R.type.startsWith("image/")){let j=R.getAsFile();j&&Z.push(j)}}Z.length>0&&(m.preventDefault(),Le(L=>L?h(f({},L),{images:[...L.images||[],...Z]}):null))},[M]),Gn=cn(m=>{if(!e.isAnnotating)return;if(e.activeTool==="hand"){m.preventDefault();let Z=Me||It||$||Wt;if(Z&&!go(Z)){let L=Ln(Z),R=Hn(Z);t({type:"SELECT_ELEMENT",payload:{el:Z,info:h(f({},L),{selector:R})}})}return}m.preventDefault();let y=G.current;y&&(Q.current=!0,y.style.pointerEvents="none",setTimeout(()=>{Q.current&&(Q.current=!1,y.style.pointerEvents="")},4e3))},[e.activeTool,e.isAnnotating,Me,It,$,Wt,t,go,G]);xn(()=>{let m=ke.filter(ue=>ue.linkedSelector);if(m.length===0)return;let y=null,Z=document.createElement("canvas").getContext("2d"),L=()=>{var F,ne,v;let ue=[];for(let E of m){let J=document.querySelector(E.linkedSelector);if(!J&&((ne=(F=E.elements)==null?void 0:F[0])!=null&&ne.selector)&&E.linkedSelector.startsWith("[data-pm=")){try{J=document.querySelector(E.elements[0].selector)}catch(rt){}if(J){let rt=(v=E.linkedSelector.match(/data-pm="([^"]+)"/))==null?void 0:v[1];rt&&J.setAttribute("data-pm",rt)}}if(!J)continue;let B=J.getBoundingClientRect(),_=e.styleModifications.some(rt=>{try{return J.matches(rt.selector)}catch(be){return!1}}),Y=m.filter(rt=>rt.id!==E.id&&rt.timestamp<E.timestamp&&rt.linkedSelector===E.linkedSelector).length,U=(_?1:0)+Y,xe;if(E.text&&Z){let rt=E.fontSize||12;Z.font=`${rt}px ${Qt}`,xe=Math.max(...E.text.split(`
5
+ `).map(be=>Z.measureText(be).width))}let $e=B.top>=Jn*(1+U)?"top-left":"bottom-left",tt=Ul(B,$e,U,k==null?void 0:k.current,xe),ot=E.points[0],$t=$e!==E.linkedAnchor;ot&&($t||Math.abs(tt.x-ot.x)>1||Math.abs(tt.y-ot.y)>1)&&ue.push({id:E.id,point:tt,linkedAnchor:$t?$e:void 0})}ue.length>0&&t({type:"UPDATE_LINKED_POSITIONS",payload:{updates:ue}})},R=()=>{y&&cancelAnimationFrame(y),y=requestAnimationFrame(L)};L(),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)}},[ke,t]);let Vs=()=>{var m,y,Z;if(!e.isAnnotating)return"default";if(ge){let{handle:L}=ge;return L==="start"||L==="end"?"move":L==="top"||L==="bottom"?"ns-resize":L==="left"||L==="right"?"ew-resize":L==="topLeft"||L==="bottomRight"?"nwse-resize":"nesw-resize"}if(e.activeTool==="text")return"text";if(e.activeTool==="hand"){let L=(m=xt==null?void 0:xt.axis)!=null?m:on;if(L==="row")return"ns-resize";if(L==="column")return"ew-resize";if(At||Ge)return"ns-resize";let R=(y=lt==null?void 0:lt.property)!=null?y:Pn;if(R==="font-size")return"ew-resize";if(R==="line-height")return"ns-resize";let j=(Z=Ke==null?void 0:Ke.side)!=null?Z:Ne;return j==="top"||j==="bottom"?"ns-resize":j==="left"||j==="right"?"ew-resize":"default"}return"crosshair"},Ai={position:"fixed",top:0,left:0,width:"100vw",height:"100vh",zIndex:9998,pointerEvents:e.isAnnotating?"auto":"none",visibility:e.isAnnotating?"visible":"hidden",cursor:Vs()},Lr=cn(()=>{let m=G.current;if(!m||!M)return{width:100,height:12*1.4,isWrapped:!1};let y=m.getContext("2d");if(!y)return{width:100,height:M.fontSize*1.4,isWrapped:!1};y.font=`${M.fontSize}px ${Qt}`;let L=y.measureText("Type here...").width,R=M.text.split(`
6
+ `),j=R.length>0?Math.max(L,...R.map(E=>y.measureText(E||" ").width)):L,ue=M.point.x-Ie.x,F=dr(ue);if(j>F){let E=Ya(y,R,F),J=Math.min(F,Math.max(L,...E.map(_=>y.measureText(_).width))),B=Math.max(1,E.length)*M.fontSize*1.4;return{width:J,height:B,isWrapped:!0}}let v=Math.max(1,R.length)*M.fontSize*1.4;return{width:j,height:v,isWrapped:!1}},[M,G,Ie.x])(),Nc=M?Math.max(1,M.text.split(`
7
+ `).length)*M.fontSize*1.4+8:0,Xs=Lr.height+8,Hc=Lr.isWrapped?Xs-Nc:0,Fc=M?{position:"fixed",left:M.point.x-4-Ie.x,top:M.point.y-4-Ie.y-Hc,zIndex:9999,width:Lr.width+8,height:Xs,padding:4,fontSize:M.fontSize,fontFamily:Qt,color:"#ffffff",backgroundColor:e.activeColor,border:"none",borderRadius:0,outline:"none",boxShadow:"none",lineHeight:1.4,resize:"none",overflow:"hidden",whiteSpace:Lr.isWrapped?"pre-wrap":"pre",wordBreak:Lr.isWrapped?"break-word":void 0}:{};return Cr(Er,{children:[ft("canvas",{ref:W,id:"devtools-canvas",style:Ai,onMouseDown:Ze,onMouseMove:Ot,onMouseUp:m=>Zt(m),onMouseLeave:m=>{Zt(m),Te(null),Xe(null)},onTouchStart:Ze,onTouchMove:Ot,onTouchEnd:m=>Zt(m),onContextMenu:Gn}),M&&Cr(Er,{children:[ft("style",{children:"#devtools-text-input::placeholder { color: rgba(255, 255, 255, 0.5); }"}),ft("textarea",{id:"devtools-text-input",ref:me,value:M.text,onChange:Tn,onKeyDown:Po,onPaste:Oo,onBlur:Vt,placeholder:"Type here...",style:Fc}),M.images&&M.images.length>0&&Cr("div",{"data-devtools":!0,style:{position:"fixed",left:M.point.x-4-Ie.x,top:M.point.y-4-Ie.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:[M.images.length," image",M.images.length>1?"s":""," attached"]})]}),e.isAnnotating&&e.activeTool!=="hand"&&e.styleModifications.length>0&&ft(El,{styleModifications:e.styleModifications,isInspecting:!!e.inspectedElement,accentColor:e.activeColor,annotationGroupCount:new Set(ke.map(m=>m.groupId||m.id)).size,dispatch:t,inFlightSelectors:s,toolbarRef:k,onHoverSelector:ie}),e.activeTool==="hand"&&e.isAnnotating&&e.styleModifications.length>0&&ft(Tl,{styleModifications:e.styleModifications,accentColor:e.activeColor}),e.isAnnotating&&ft(fl,{annotations:ke,supersededAnnotations:Ue,inFlightIds:o,activeIds:r,queuePositions:i,scrollX:Ie.x,scrollY:Ie.y,annotationGroupMap:Ye,onViewThread:c,onSelectAnnotation:ye,onHoverAnnotation:he,canvasRef:G}),e.isAnnotating&&d&&ft(gl,{annotations:ke,supersededAnnotations:Ue,scrollX:Ie.x,scrollY:Ie.y,onReply:d,annotationGroupMap:Ye,canvasRef:G,onHoverAnnotation:he}),e.isAnnotating&&a&&a.size>0&&ft(ns,{inFlightSelectorColors:a}),e.isAnnotating&&Et&&ft(ns,{inFlightSelectorColors:Et,animated:!1}),e.activeTool==="hand"&&e.isAnnotating&&(xt?vn.current.element:It)&&ft(ls,{element:xt?vn.current.element:It,gap:xt?{row:xt.row,column:xt.column}:jo(It),accentColor:e.activeColor,hoveredAxis:on,draggingAxis:(qs=xt==null?void 0:xt.axis)!=null?qs:null,cursorViewport:_n,isAutoGap:_t,refreshKey:Nn}),e.activeTool==="hand"&&e.isAnnotating&&Kt&&ft(jl,{element:Kt.target,modifier:Kt.modifier,accentColor:e.activeColor,refreshKey:Nn}),e.activeTool==="hand"&&e.isAnnotating&&!Kt&&(At?bn.current.element:$)&&ft(xl,{element:At?bn.current.element:$,radius:(Zs=At==null?void 0:At.radius)!=null?Zs:Yo($),accentColor:e.activeColor,hoveredCorner:Ge,draggingCorner:(Qs=At==null?void 0:At.corner)!=null?Qs:null,cursorViewport:_n}),e.activeTool==="hand"&&e.isAnnotating&&!Kt&&(lt?wn.current.element:Wt)&&ft(Yl,{element:lt?wn.current.element:Wt,fontSize:(ea=lt==null?void 0:lt.fontSize)!=null?ea:Br(Wt).fontSize,lineHeight:(ta=lt==null?void 0:lt.lineHeight)!=null?ta:Br(Wt).lineHeight,accentColor:e.activeColor,hoveredProperty:Pn,draggingProperty:(na=lt==null?void 0:lt.property)!=null?na:null,cursorViewport:_n}),e.activeTool==="hand"&&e.isAnnotating&&!Kt&&(Ke?ve.current.element:Me)&&ft(gs,{element:Ke?ve.current.element:Me,padding:(oa=Ke==null?void 0:Ke.padding)!=null?oa:mr(Me),accentColor:e.activeColor,hoveredSide:Ne,draggingSide:(ra=Ke==null?void 0:Ke.side)!=null?ra:null,cursorViewport:_n,refreshKey:lt?lt.fontSize+lt.lineHeight*1e3:0}),e.activeTool==="inspector"&&e.isAnnotating&&ft(Er,{children:X&&!e.inspectedElement&&(()=>{let m=(M==null?void 0:M.linkedSelector)||(I==null?void 0:I.linkedSelector);if(m)try{if(X.matches(m))return null}catch(Z){}let y=!!I||!!(M!=null&&M.linkedSelector)||ke.some(Z=>{if(!Z.linkedSelector)return!1;try{return X.matches(Z.linkedSelector)}catch(L){return!1}});return ft(lo,{element:X,isSelected:!1,elementInfo:Oe,color:e.activeColor,hideTooltip:y})})()}),((M==null?void 0:M.linkedSelector)||(I==null?void 0:I.linkedSelector))&&(()=>{let m=(M==null?void 0:M.linkedSelector)||(I==null?void 0:I.linkedSelector);if(!m)return null;let y=null;try{y=document.querySelector(m)}catch(Z){}return y?ft(lo,{element:y,isSelected:!0,color:e.activeColor,hideTooltip:!0}):null})(),P&&(()=>{let m=e.annotations.find(L=>L.id===P);if(!(m!=null&&m.linkedSelector))return null;let y=null;try{y=document.querySelector(m.linkedSelector)}catch(L){}if(!y)return null;let Z=!!(o&&o.has(m.id));return ft(lo,{element:y,isSelected:!Z,color:m.color,hideTooltip:!0})})(),Pe&&(()=>{let m=e.annotations.find(R=>R.id===Pe);if(!(m!=null&&m.linkedSelector))return null;let y=null;try{y=document.querySelector(m.linkedSelector)}catch(R){}if(!y)return null;let Z=m.groupId?e.annotations.filter(R=>R.groupId===m.groupId):[m],L=!!(o&&Z.some(R=>o.has(R.id)));return ft(lo,{element:y,isSelected:!L,color:m.color,hideTooltip:!0})})(),te&&(()=>{let m=null;try{m=document.querySelector(te)}catch(Z){}if(!m)return null;let y=!!(s&&s.has(te));return ft(lo,{element:m,isSelected:!y,color:e.activeColor,hideTooltip:!0})})(),e.activeTool==="model"&&e.isAnnotating&&gt.size>0&&[...gt.entries()].map(([m,y])=>ft(lo,{element:y.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:y.rootElement.tagName.toLowerCase(),reactComponent:m},color:"#8b5cf6"},m)),e.activeTool==="model"&&e.isAnnotating&&Ft&&ft(lo,{element:Ft.rootElement,isSelected:!0,elementInfo:{selector:"",tagName:Ft.rootElement.tagName.toLowerCase(),reactComponent:Ft.name},color:"#22c55e"}),e.activeTool==="model"&&e.isAnnotating&&S.length>0&&S.map((m,y)=>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"?Cr(Er,{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)})]}):Cr(Er,{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)})]})},y)),e.activeTool==="model"&&e.isAnnotating&&Ce&&ft(lo,{element:Ce.rootElement,isSelected:!1,elementInfo:{selector:"",tagName:Ce.rootElement.tagName.toLowerCase(),reactComponent:Ce.name},color:x!=null&&x.has(Ce.name)?"#22c55e":"#8b5cf6"}),e.activeTool==="hand"&&e.isAnnotating&&e.inspectedElement&&Cr(Er,{children:[nt&&nt!=="padding"&&nt!=="gap"&&(()=>{var F;let m=new Set(ke.map(ne=>ne.groupId||ne.id)).size,y=e.inspectedElement.info.selector,Z=e.styleModifications.findIndex(ne=>ne.selector===y),L=Z>=0?m+Z+1:m+e.styleModifications.length+1,R=e.styleModifications.find(ne=>ne.selector===y),j=(F=R==null?void 0:R.changes.length)!=null?F:0,ue=!!(R!=null&&R.captured);return ft(lo,{element:e.inspectedElement.el,isSelected:!0,elementInfo:e.inspectedElement.info,color:ue?"#999999":e.activeColor,annotationNumber:L,changeCount:j})})(),nt==="padding"&&ft(gs,{element:e.inspectedElement.el,padding:mr(e.inspectedElement.el),accentColor:e.activeColor,hoveredSide:null,draggingSide:null}),nt==="gap"&&ft(ls,{element:e.inspectedElement.el,gap:jo(e.inspectedElement.el),accentColor:e.activeColor,hoveredAxis:null,draggingAxis:null}),ft(Wl,{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:St,accentColor:e.activeColor,toolbarRef:k})]})]})}import{useCallback as Wn,useEffect as gn,useMemo as Zo,useRef as Dt,useState as Qo}from"react";import{Circle as wf,Component as Cf,Hand as Ef,MessageCircle as kf,Pen as Tf,Slash as Mf,Square as If,Trash2 as Lf,Type as Rf}from"lucide-react";import{useEffect as Xl,useRef as Kl}from"react";function ql(e,t,n,o,r){let i=Kl(0),s=Kl(t.annotations);Xl(()=>{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]),Xl(()=>{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 $p,createElement as zp,useCallback as Ci,useEffect as Io,useRef as Ko,useState as zn}from"react";import{Link2 as Wp}from"lucide-react";var Cp={colors:[],fonts:[],typeScale:[],spacing:[],radii:[],shadows:[],other:[],references:{}},Ep=/^#[0-9a-fA-F]{3,8}$/,kp=/^(?:rgba?|hsla?|oklch|oklab|lch|lab)\(/,Tp=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 Ql(e){let t=e.trim().toLowerCase();return Ep.test(t)||kp.test(t)||Tp.has(t)}var Mp=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function Ls(e){return Mp.test(e.trim())}var Zl=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded"]);function Ip(e){let t=e.trim().toLowerCase();return!!(Zl.has(t)||t.includes(",")&&t.split(",").some(n=>Zl.has(n.trim().replace(/['"]/g,""))))}function Lp(e){let t=e.trim().toLowerCase(),n=t.match(/\d+(\.\d+)?px/g);return!!(n&&n.length>=2&&(Ql(t.replace(/[^#()\w,.\s/%]/g,"").split(/\s+/).pop()||"")||t.includes("rgb")||t.includes("hsl")||t.includes("#")))}var Rp=/(?:^--(color|bg|fg|accent|border-color|text-color|surface|background|foreground))|(?:-(color|bg|fg)$)/i,Ap=/^--(font-family|font|ff|family)/i,Pp=/^--(font-size|text-size|fs|text-(?:xs|sm|base|md|lg|xl|2xl|3xl|4xl|5xl))/i,Op=/^--(space|gap|padding|margin|inset)/i,Bp=/^--(radius|rounded|br|border-radius)/i,Dp=/^--(shadow|elevation|drop-shadow)/i;function ec(e,t){let n=e.toLowerCase();return Dp.test(n)?"shadows":Bp.test(n)?"radii":Ap.test(n)?"fonts":Pp.test(n)&&Ls(t)?"typeScale":Rp.test(n)||Ql(t)?"colors":Ip(t)?"fonts":Lp(t)?"shadows":Op.test(n)&&Ls(t)||Ls(t)?"spacing":"other"}function tc(e,t,n,o){if(e)for(let r of e){if(r instanceof CSSGroupingRule){tc(r.cssRules,t,n,o);continue}if(r instanceof CSSStyleRule){let i=r.selectorText.toLowerCase();(i===":root"||i==="html"||i==="*"||i.includes(":root"))&&_p(r.style,t,n,o)}}}var nc=/var\((--[^,)]+)/;function _p(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=ec(i,s);o[a].push([i,s]);let d=e.getPropertyValue(i).trim().match(nc);d&&(o.references[i]=d[1])}}function xi(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)/);return t?parseFloat(t[1]):null}function Si(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 oc(e){return e==="colors"?(t,n)=>{let o=Si(t[1]),r=Si(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:e==="typeScale"||e==="spacing"||e==="radii"?(t,n)=>{let o=xi(t[1]),r=xi(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:e==="other"?(t,n)=>{let o=xi(t[1]),r=xi(n[1]);return o!==null&&r!==null?o-r:t[0].localeCompare(n[0])}:(t,n)=>t[0].localeCompare(n[0])}function Np(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 rc(e){let t=new Map;for(let r of e){let i=Np(r[0]),s=t.get(i);s||(s=[],t.set(i,s)),s.push(r)}let n=oc("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=Si(r[1][0][1]))!=null?l:0,a=(d=Si(i[1][0][1]))!=null?d:0;return s-a}),o}var Hp=["colors","fonts","typeScale","spacing","radii","shadows","other"],vi=null,Fp=5e3;function ic(){if(typeof document=="undefined")return Cp;if(vi&&Date.now()-vi.timestamp<Fp)return vi.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{tc(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=ec(i,s);e[a].push([i,s]);let d=o.getPropertyValue(i).trim().match(nc);d&&(e.references[i]=d[1])}for(let r of Hp)e[r].sort(oc(r));return vi={tokens:e,timestamp:Date.now()},e}import{Fragment as qo,jsx as We,jsxs as en}from"react/jsx-runtime";var sc="popmelt-library-tab",Gp=/^#[0-9a-fA-F]{3,8}$/,jp=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,Yp=new Set(["black","white","red","blue","green","yellow","orange","purple","pink","gray","grey","cyan","magenta","brown","navy","teal","maroon","olive","silver","aqua","fuchsia","lime"]),Jp=/^-?\d+(\.\d+)?(px|rem|em|%)$/;function lc(e){let t=e.trim();return Gp.test(t)||jp.test(t)||Yp.has(t.toLowerCase())}function Up(e){return Jp.test(e.trim())}function Vp(e){let t=e.trim().match(/^(-?\d+(?:\.\d+)?)px$/);return t?parseFloat(t[1]):null}function cc(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(...cc(r,i))}else n.push([i,Array.isArray(r)?r.map(String).join(", "):String(r!=null?r:"")])}return n}function Xp(e){return e.length===0?"generic":e.filter(([,o])=>lc(o)).length>e.length/2?"colors":e.filter(([,o])=>Up(o)).length>e.length/2?"spacing":"generic"}var Kp=h(f({width:300,backgroundColor:"#eaeaea"},xr),{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"}),dc={border:"none",background:"none",cursor:"pointer",fontFamily:"inherit",fontSize:11,fontWeight:600,padding:"2px 0",color:"#9ca3af"},qp=h(f({},dc),{color:"#1f2937",borderBottom:"1.5px solid #1f2937"});function Zp({varName:e,value:t,reference:n}){return We("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&&We(Wp,{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 uc({entries:e,references:t}){let n=[],o=[];for(let i of e)lc(i[1])?n.push(i):o.push(i);let r=rc(n);return en(qo,{children:[r.map(([i,s])=>en("div",{style:{marginBottom:4},children:[en("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:2},children:[i,s.length>1?` (${s.length})`:""]}),We("div",{style:{display:"flex",flexWrap:"wrap",gap:2},children:s.map(([a,l])=>We(Zp,{varName:a,value:l,reference:t[a]},a))})]},i)),o.length>0&&We(Ei,{entries:o})]})}var wi=[0,1,2,4,8,12,16,20,24,28,32];function Qp(e){if(e<=32){let t=wi[0],n=Math.abs(e-t);for(let o=1;o<wi.length;o++){let r=Math.abs(e-wi[o]);r<n&&(t=wi[o],n=r)}return t}return Math.round(e/8)*8}function ef({label:e,value:t,px:n,tokenPath:o,rawToken:r,onHover:i,onModify:s,onDelete:a}){let[l,d]=zn(!1),[c,p]=zn(null),u=Ko(!1),g=Ko(0),b=Ko(0),x=Ko([]),A=c!==null?c:n,T=c!==null?`${c}px`:t,z=c!==null,P=Ci(k=>{k.preventDefault(),u.current=!0,g.current=k.clientX,b.current=n;let G=ei(r);x.current=Ki(G);let re=W=>{let Q=W.clientX-g.current,N=Math.max(0,Math.round(b.current+Q));W.shiftKey&&(N=Qp(N));for(let ee of x.current)ee.element.style.setProperty(ee.property,N+"px","important");p(N),i==null||i({name:e,px:N,token:G})},oe=()=>{window.removeEventListener("mousemove",re),window.removeEventListener("mouseup",oe),document.body.style.cursor="",u.current=!1,p(W=>{if(W!==null&&W!==n&&s){let Q=ei(r),N=Q.bindings&&Q.bindings.length>0,ee;if(N){let fe=Zi(Q.bindings,b.current,W);ee=JSON.stringify(h(f({},Q),{value:`${W}px`,bindings:fe}))}else{let fe=ol(x.current,b.current),D=rl(x.current);if(fe.length>0){let ae=Zi(fe,b.current,W);ee=JSON.stringify({value:`${W}px`,property:D,bindings:ae})}else ee=`${W}px`}let M=typeof r=="string"?r:JSON.stringify(r),Le=x.current.map(fe=>({selector:Hn(fe.element),property:fe.property})),V=sl(x.current,b.current,W);s({tokenPath:o,originalValue:M,currentValue:ee,targets:Le,originalPx:b.current,currentPx:W},{id:Math.random().toString(36).substring(2,9),tokenPath:o,tokenName:e,originalPx:b.current,newPx:W,affectedElements:V})}return W})};document.body.style.cursor="ew-resize",window.addEventListener("mousemove",re),window.addEventListener("mouseup",oe)},[n,e,o,r,i,s]),O=ei(r);return en("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:[We("span",{style:{color:l||z?"#FF0000":"#9ca3af"},children:e}),en("span",{style:{display:"flex",alignItems:"center",gap:4},children:[We("span",{style:{color:l||z?"#FF0000":"#6b7280",fontWeight:600},children:T}),a&&l&&!z&&We("button",{type:"button",title:"Remove token",onMouseDown:k=>{k.stopPropagation();let G=typeof r=="string"?r:JSON.stringify(r);a(o,G)},style:{border:"none",background:"none",cursor:"pointer",padding:0,fontSize:10,lineHeight:1,color:"#9ca3af"},onMouseEnter:k=>{k.currentTarget.style.color="#FF0000"},onMouseLeave:k=>{k.currentTarget.style.color="#9ca3af"},children:"\u2715"})]})]})}function tf({entries:e,categoryKey:t,rawTokens:n,onHover:o,onModify:r,onDelete:i}){let s=[],a=[];for(let l of e){let d=Vp(l[1]);d!==null?s.push([l[0],l[1],d]):a.push(l)}return en(qo,{children:[s.length>0&&We("div",{style:{display:"flex",flexDirection:"column",gap:2},children:s.map(([l,d,c])=>{let p=l.split(".").pop(),u=n?nf(n,l):d,g=u&&typeof u=="object"&&"value"in u?u:d;return We(ef,{label:p,value:d,px:c,tokenPath:`tokens.${t}.${l}`,rawToken:g,onHover:o,onModify:r,onDelete:i},l)})}),a.length>0&&We(Ei,{entries:a})]})}function nf(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 Ei({entries:e}){return We("div",{style:{display:"flex",flexDirection:"column",gap:3},children:e.map(([t,n])=>en("div",{style:{fontSize:11},children:[We("div",{style:{color:"#9ca3af",fontSize:10,marginBottom:1},children:t}),We("div",{style:{color:"#1f2937",lineHeight:1.4,paddingLeft:8},children:n})]},t))})}function of({entries:e,categoryKey:t,rawTokens:n,onSpacingHover:o,onModifyToken:r,onDeleteToken:i}){let s=Xp(e);return s==="colors"?We(uc,{entries:e}):s==="spacing"?We(tf,{entries:e,categoryKey:t,rawTokens:n,onHover:o,onModify:r,onDelete:i}):We(Ei,{entries:e})}function rf(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 Rs=class extends $p{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}},pc="popmelt-principles-collapsed";function sf(){try{let e=localStorage.getItem(pc);if(e)return new Set(JSON.parse(e))}catch(e){}return new Set}function af(e){try{localStorage.setItem(pc,JSON.stringify([...e]))}catch(t){}}function lf({id:e,label:t,count:n,children:o,collapsed:r,onToggle:i}){return en("div",{style:{marginBottom:14},children:[en("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:[We("span",{style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:10,fontSize:9,color:"#9ca3af",transform:r?"rotate(-90deg)":"rotate(0deg)"},children:"\u25BC"}),t,We("span",{style:{fontWeight:400,color:"#9ca3af"},children:n})]}),!r&&o]})}var cf={colors:"Colors",fonts:"Fonts",typeScale:"Type Scale",spacing:"Spacing",radii:"Radii",shadows:"Shadows",other:"Other"},ac=["colors","fonts","typeScale","spacing","radii","shadows","other"];function df(){let[e,t]=zn(null),[n,o]=zn(sf);Io(()=>{t(ic())},[]);let r=Ci(s=>{o(a=>{let l=new Set(a);return l.has(s)?l.delete(s):l.add(s),af(l),l})},[]);return e?ac.some(s=>e[s].length>0)?We(qo,{children:ac.map(s=>{let a=e[s];return a.length===0?null:We(lf,{id:s,label:cf[s],count:a.length,collapsed:n.has(s),onToggle:r,children:s==="colors"?We(uc,{entries:a,references:e.references}):We(Ei,{entries:a})},s)})}):We("div",{style:{color:"#9ca3af",fontSize:11},children:"No :root tokens found."}):null}function uf({rules:e,onSynthesize:t,isSynthesizing:n}){if(!e||e.length===0)return We("div",{style:{color:"#9ca3af",fontSize:11},children:"No rules defined yet."});if(!e.some(i=>typeof i=="object"&&i!==null&&"scope"in i))return We(qo,{children:e.map((i,s)=>en("div",{style:{display:"flex",gap:6,marginBottom:4,lineHeight:1.4,fontSize:11},children:[en("span",{style:{color:"#9ca3af",flexShrink:0},children:[s+1,"."]}),We("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 en(qo,{children:[t&&We("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])=>en("div",{style:{marginBottom:10},children:[We("div",{style:{fontWeight:700,fontSize:10,color:"#6b7280",letterSpacing:"0.05em",textTransform:"uppercase",marginBottom:4},children:i}),s.map((a,l)=>en("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4,fontSize:11},children:[We("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2022"}),We("span",{children:a.text})]},a.id||l))]},i))]})}function pf({name:e,value:t,selected:n,highlighted:o,onRemove:r,onHover:i}){var W;let[s,a]=zn(!1),[l,d]=zn(!1),c=Ko(null),p=Ko(0),[u,g]=zn(0),[b,x]=zn(0),A=cc(t),T=(W=A.find(([Q])=>Q==="description"))==null?void 0:W[1];Io(()=>{if(!l&&!o){g(0),x(0),p.current=0;return}let Q=fr(e);g(Q.length)},[l,o,e]),Io(()=>{n&&c.current&&c.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[n]);let z=n||o||l,P=n?"139,92,246":"34,197,94",O=n?"#8b5cf6":"#22c55e",k=z?`rgba(${P},0.06)`:void 0,G=z?`inset 0 0 0 1.5px rgba(${P},0.35)`:void 0,re=o||l,oe=Ci(()=>{let Q=fr(e);if(Q.length===0)return;let N=p.current%Q.length;Q[N].rootElement.scrollIntoView({behavior:"smooth",block:"center"}),x(N),p.current=N+1,i==null||i({name:e,instanceIndex:N})},[e,i]);return en("div",{ref:c,onClick:oe,onMouseEnter:()=>{d(!0),i==null||i({name:e,instanceIndex:0})},onMouseLeave:()=>{d(!1),i==null||i(null)},style:{marginBottom:8,background:k,padding:6,boxShadow:G,cursor:"pointer"},children:[en("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[en("div",{style:{display:"flex",alignItems:"center",gap:6,marginBottom:6},children:[We("div",{style:{fontWeight:700,fontSize:11,letterSpacing:"0.05em",padding:"2px 6px",backgroundColor:re?O:"transparent",color:re?"#fff":"#6b7280"},children:e}),re&&u>1&&en("span",{style:{fontSize:10,fontWeight:600,color:"#9ca3af"},children:[b+1,"/",u]})]}),r&&l&&We("button",{type:"button",title:"Remove from model",onClick:Q=>{Q.stopPropagation(),r(e)},style:{border:"none",background:"none",cursor:"pointer",padding:"0 2px",fontSize:14,lineHeight:1,color:"#9ca3af",marginTop:-4},onMouseEnter:Q=>{Q.currentTarget.style.color="#FF0000"},onMouseLeave:Q=>{Q.currentTarget.style.color="#9ca3af"},children:"\u2715"})]}),T&&We("div",{style:{fontSize:11,color:re?"#1f2937":"#9ca3af",marginBottom:6,lineHeight:1.4},children:T}),s?We(of,{entries:A.filter(([Q])=>Q!=="description"),categoryKey:""}):We(ff,{name:e,onNotFound:()=>a(!0),entries:A})]})}function ff({name:e,onNotFound:t}){let[n,o]=zn(null),[r,i]=zn(!1);return Io(()=>{let s=rf(e);s||t(),o(s),i(!0)},[e,t]),!r||!n?null:We(Rs,{onError:t,children:We("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:We("div",{style:{zoom:.5,pointerEvents:"none"},children:zp(n.type,n.props)})})})}function gf({components:e,selectedComponent:t,hoveredComponent:n,onRemove:o,onHover:r}){if(!e||Object.keys(e).length===0)return We("div",{style:{color:"#9ca3af",fontSize:11},children:"No component patterns defined yet."});let i=new Set(Object.keys(e)),s=Ui(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 We(qo,{children:a.map(([l,d])=>We(pf,{name:l,value:d,selected:t===l,highlighted:n===l,onRemove:o,onHover:r},l))})}function fc({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[x,A]=zn(void 0),[T,z]=zn(!0),[P,O]=zn(()=>{try{let N=localStorage.getItem(sc);if(N==="patterns"||N==="principles"||N==="rules")return N}catch(N){}return"patterns"});Io(()=>{ir(e).then(N=>{A(N),z(!1)})},[e,t]),Io(()=>{try{localStorage.setItem(sc,P)}catch(N){}},[P]),Io(()=>{r&&(O("patterns"),ir(e).then(N=>{N&&A(N)}))},[r,e]);let k=Ci(N=>{A(ee=>{if(!(ee!=null&&ee.components))return ee;let V=ee.components,{[N]:M}=V,Le=jn(V,[Co(N)]);return h(f({},ee),{components:Le})}),p==null||p(N)},[p]),G=x==null?void 0:x.components,re=x==null?void 0:x.rules,oe=G&&Object.keys(G).length>0,W=re&&re.length>0,Q=Ko(null);return Io(()=>{let N=Q.current;if(!N)return;let ee=n,M=o;return ee&&N.addEventListener("mouseenter",ee),M&&N.addEventListener("mouseleave",M),()=>{ee&&N.removeEventListener("mouseenter",ee),M&&N.removeEventListener("mouseleave",M)}},[n,o]),en("div",{ref:Q,style:f(f({},Kp),$a(b)),children:[en("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[We("span",{children:"Model"}),We("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:"M"})]}),We("div",{style:{display:"flex",gap:12,marginBottom:10,borderBottom:"1px solid rgba(0,0,0,0.08)",paddingBottom:6},children:["patterns","principles","rules"].map(N=>We("button",{type:"button",style:P===N?qp:dc,onClick:()=>O(N),children:N.charAt(0).toUpperCase()+N.slice(1)},N))}),We("div",{style:{flex:1,overflowY:"auto",minHeight:0},children:P==="principles"?We(df,{}):T?We("div",{style:{color:"#9ca3af",fontSize:11},children:"Loading..."}):!x||!oe&&!W?We("div",{style:{color:"#9ca3af",lineHeight:1.5},children:"No design model yet. Pattern-scoped annotations will build one automatically."}):en(qo,{children:[P==="patterns"&&We(gf,{components:G,selectedComponent:r,hoveredComponent:i,onRemove:k,onHover:s}),P==="rules"&&We(uf,{rules:re,onSynthesize:u,isSynthesizing:g})]})})]})}import{jsx as So}from"react/jsx-runtime";var mf="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",hf="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",yf="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 bf({size:e=16,style:t}){return So("svg",{width:e,height:e,viewBox:"0 0 1200 1200",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:So("path",{d:mf})})}function xf({size:e=16,style:t}){return So("svg",{width:e,height:e,viewBox:"0 0 158.7128 157.296",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:So("path",{d:hf})})}function vf({size:e=16,style:t}){return So("svg",{width:e,height:e,viewBox:"0 0 49.7202 40.0402",fill:"currentColor",stroke:"none",style:f({flexShrink:0},t),children:So("path",{d:yf,fillRule:"evenodd",clipRule:"evenodd"})})}function Fr({provider:e,size:t=16,style:n}){return e==="codex"?So(xf,{size:t,style:n}):e==="copilot"?So(vf,{size:t,style:n}):So(bf,{size:t,style:n})}var ki=[{id:"claude-opus-4-6",label:"Opus 4.6",source:"static"},{id:"claude-sonnet-4-6",label:"Sonn 4.6",source:"static"}],Ti=[{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"}],As=[{id:"",label:"Default",source:"static"}];var Sf=[...ki,...Ti,...As];function Ps(e,t){if(t==="copilot"&&!e)return"Copilot";if(!e)return t==="codex"?"Codex":"Claude Code";let n=Sf.find(o=>o.id===e);return n?n.label:e.replace(/-\d{8,}$/,"")}import{jsx as mc}from"react/jsx-runtime";var wo={iconDefault:"#1f2937",iconActive:"#1f2937",bgActive:"#dedede",bgHover:"#e2e2e2",separator:"#e5e7eb"};function Lo({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?wo.bgActive:"transparent",color:t?wo.iconActive:wo.iconDefault,opacity:s()};return mc("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=wo.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 gc(){return mc("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 8px"}})}import{Fragment as $r,jsx as Se,jsxs as Mt}from"react/jsx-runtime";function Af(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 er=[{type:"rectangle",icon:If,label:"Rectangle",shortcut:"R"},{type:"circle",icon:wf,label:"Oval",shortcut:"O"},{type:"line",icon:Mf,label:"Line",shortcut:"L"},{type:"freehand",icon:Tf,label:"Pen",shortcut:"P"}],Pf=new Set(er.map(e=>e.type));function Of(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 Bf(e="bottom-right"){return za(e,window.innerWidth,window.innerHeight)}var Df=[{type:"text",icon:Rf,label:"Text",shortcut:"T"}],hc={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.
9
9
 
10
- Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{key:"\u2318\u2318",desc:"Toggle toolbar"}]}},Nf={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"},Ds="devtools-toolbar-expanded",_s="devtools-annotations",Ns="devtools-style-modifications",Hs="devtools-active-tool",vc="devtools-active-color",Sc="devtools-stroke-width",wc="devtools-inspected-element",Fs="devtools-spacing-changes",Hf={expanded:Ds,annotations:_s,styleMods:Ns,spacingChanges:Fs,tool:Hs,color:vc,stroke:Sc,inspected:wc};function Cc({state:e,dispatch:t,onScreenshot:n,onSendToClaude:r,hasActiveJobs:o,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:R,mcpStatus:C,onInstallMcp:G,mcpJustInstalled:L,bridgeUrl:A,isBridgeConnected:E,modelSelectedComponent:_,modelCanvasHoveredComponent:ie,onModelComponentHover:oe,onSpacingTokenHover:Y,onModifySpacingToken:K,onDeleteSpacingToken:H,modelRefreshKey:ee,onModelComponentAdded:k,onModelComponentRemoved:Ae,onSynthesizeRules:X,isSynthesizing:ge,onMouseEnter:B,toolbarRef:ce,snapPosition:Q="bottom-right",onSnapPositionChange:q}){let[Ee,De]=Uo(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});cn(()=>{let T=()=>De({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",T),()=>window.removeEventListener("resize",T)},[]);let[pe,Pe]=Uo(()=>typeof window=="undefined"?!1:localStorage.getItem(Ds)==="true"),[Re,Me]=Uo(0),et=Bt(0),Ve=Bt(0),Tt=Bt(e.isAnnotating),Mt=Bt(!1),zt=Bt(typeof window!="undefined"?localStorage.getItem(Hs):null),tt=Bt(typeof window!="undefined"?localStorage.getItem(vc):null),gn=Bt(typeof window!="undefined"?localStorage.getItem(Sc):null),[$,de]=Uo(null),Te=Bt(!1),me=Bt(null),N=Bt(null),ye=Bt(null),[re,we]=Uo([]),We=Bt({x:0,y:0}),Ge=Bt(null),dt=Bt(null),xt=Bt(null),vt=zn(()=>{Ge.current=null,dt.current=null,xt.current&&(clearTimeout(xt.current),xt.current=null)},[]),Oe=zn(T=>{N.current&&(clearTimeout(N.current),N.current=null),Te.current?(Ge.current=T,dt.current=f({},We.current),xt.current&&clearTimeout(xt.current),xt.current=setTimeout(()=>{Ge.current&&(de(Ge.current),vt())},300)):(me.current&&clearTimeout(me.current),me.current=setTimeout(()=>{Te.current=!0,de(T),me.current=null},500))},[vt]),ke=zn(()=>{vt(),me.current&&(clearTimeout(me.current),me.current=null),N.current=setTimeout(()=>{Te.current=!1,de(null)},150)},[vt]);cn(()=>{let T=ye.current;if(!T)return;let z=()=>{vt(),N.current&&(clearTimeout(N.current),N.current=null)},te=()=>{N.current=setTimeout(()=>{Te.current=!1,de(null)},150)};return T.addEventListener("mouseenter",z),T.addEventListener("mouseleave",te),()=>{T.removeEventListener("mouseenter",z),T.removeEventListener("mouseleave",te)}},[$,vt]),cn(()=>{if($!=="counter"||!A)return;let T=!1;return fetch(`${A}/threads/recent?limit=5`).then(z=>z.ok?z.json():[]).then(z=>{T||we(z)}).catch(()=>{}),()=>{T=!0}},[$,A]);let ht=zn(T=>{if(We.current={x:T.clientX,y:T.clientY},Ge.current&&dt.current){let z=dt.current,te=Df(Q);Bf(T.clientX,T.clientY,z.x,z.y,te.left,te.y,te.right,te.y)||(de(Ge.current),vt())}},[vt,Q]),mn=Fr(()=>{let T=(c!=null?c:[]).map(z=>z==="claude"?"Claude":z==="codex"?"Codex":z);return{name:"AI Model",desc:T.length>1?`${T.join(" and ")} are available.`:T.length===1?`Connected to ${T[0]}.`:"No AI providers detected.",usage:T.length>1?["Click the logo to switch between providers","Click the model name to switch tiers"]:["Click the model name to switch tiers"],keys:T.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]);ec(pe,e,Mt,!!o,Hf),cn(()=>{let T=new URLSearchParams(window.location.search);if(!T.has("popmelt"))return;let z=document.createElement("style");z.textContent="nextjs-portal, vite-error-overlay { display: none !important; }",document.head.appendChild(z);let te=parseInt(T.get("popmelt")||"0",10)||0,he=()=>{Pe(!0),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SET_ANNOTATING",payload:!0})};if(te>0){let se=setTimeout(he,te);return()=>clearTimeout(se)}he()},[]),cn(()=>{var te;if(localStorage.getItem(Ds)==="true"&&!e.isAnnotating){if(pe||Pe(!0),t({type:"SET_TOOL",payload:zt.current||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),tt.current&&t({type:"SET_COLOR",payload:tt.current}),gn.current){let He=parseFloat(gn.current);isNaN(He)||t({type:"SET_STROKE_WIDTH",payload:He})}let he=localStorage.getItem(_s);if(he)try{let He=JSON.parse(he);if(Array.isArray(He)&&He.length>0){for(let Lt of He)(Lt.status==="waiting_input"||Lt.status==="in_flight")&&(Lt.status=Lt.threadId?"resolved":"pending");t({type:"RESTORE_ANNOTATIONS",payload:{annotations:He}})}}catch(He){}let se=localStorage.getItem(Ns);if(se)try{let He=JSON.parse(se);Array.isArray(He)&&He.length>0&&(t({type:"RESTORE_STYLE_MODIFICATIONS",payload:He}),oi(He))}catch(He){}let ve=localStorage.getItem(Fs);if(ve)try{let He=JSON.parse(ve);Array.isArray(He)&&He.length>0&&t({type:"RESTORE_SPACING_TOKEN_CHANGES",payload:He})}catch(He){}let Fe=localStorage.getItem(wc);if(Fe)try{let{selector:He,info:Lt}=JSON.parse(Fe);if(He){let x=wn(He);if(x){let P=Lt||h(f({},Rn(x)),{selector:He});t({type:"SELECT_ELEMENT",payload:{el:x,info:P}})}}}catch(He){}let $e=sessionStorage.getItem("popmelt-pending-focus");if($e){sessionStorage.removeItem("popmelt-pending-focus");try{let{annotationId:He}=JSON.parse($e);if(He){let Lt=he?(te=JSON.parse(he))!=null?te:[]:[];requestAnimationFrame(()=>{t({type:"SELECT_ANNOTATION",payload:{id:He}});let x=Lt.find(P=>P.id===He);if(x){let ae=(x.groupId?Lt.filter(J=>J.groupId===x.groupId):[x]).flatMap(J=>J.points);if(ae.length>0){let J=Math.min(...ae.map(Ye=>Ye.x)),Le=Math.max(...ae.map(Ye=>Ye.x)),Be=Math.min(...ae.map(Ye=>Ye.y)),Xe=Math.max(...ae.map(Ye=>Ye.y));window.scrollTo({left:(J+Le)/2-window.innerWidth/2,top:(Be+Xe)/2-window.innerHeight/2,behavior:"smooth"})}}})}}catch(He){}}}let z=sessionStorage.getItem("popmelt-pending-thread");if(z){sessionStorage.removeItem("popmelt-pending-thread");try{let{threadId:he,selector:se,preview:ve}=JSON.parse(z);he&&requestAnimationFrame(()=>{if(se)try{let Fe=document.querySelector(se);if(Fe){let $e=Fe.getBoundingClientRect(),He=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:He,point:{x:$e.left+$e.width,y:$e.top},text:ve||"[thread]",linkedSelector:se,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[He],threadId:he}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[He],status:"resolved"}})}}catch(Fe){}v&&v(he)})}catch(he){}}return Mt.current=!0,()=>{Mt.current=!1}},[]);let Wn=Bt(e.styleModifications);cn(()=>{let T=Wn.current,z=e.styleModifications;T!==z&&(ri(T),oi(z),Wn.current=z)},[e.styleModifications]),cn(()=>{let T=Tt.current;Tt.current=e.isAnnotating,T&&!e.isAnnotating&&pe&&Pe(!1)},[e.isAnnotating,pe]);let hn=Bt(pe);hn.current=pe,cn(()=>{let T=te=>{if(te.key==="Meta"||te.key==="Control"){let he=Date.now();if(he-et.current<300){if(Ve.current++,Ve.current>=2){if(hn.current)t({type:"SET_ANNOTATING",payload:!1}),Pe(!1);else{let Fe=localStorage.getItem(Hs);t({type:"SET_TOOL",payload:Fe||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),Pe(!0)}Ve.current=0}}else Ve.current=1;et.current=he}else Ve.current=0},z=te=>{te.key!=="Meta"&&te.key!=="Control"&&(Ve.current=0)};return window.addEventListener("keydown",T),window.addEventListener("keyup",z),()=>{window.removeEventListener("keydown",T),window.removeEventListener("keyup",z)}},[t]);let Rt=zn(T=>{vt(),t({type:"SET_TOOL",payload:T}),e.isAnnotating||t({type:"SET_ANNOTATING",payload:!0}),Te.current=!1,de(null),me.current&&(clearTimeout(me.current),me.current=null),N.current&&(clearTimeout(N.current),N.current=null)},[t,e.isAnnotating,vt]),oo=zn(async()=>{window.focus(),await n()},[n]),dn=zn(async()=>{r&&await r()},[r]),le=zn(()=>{t({type:"SET_ANNOTATING",payload:!1}),Pe(!1)},[t]),Ie=zn(()=>{ri(e.styleModifications),document.querySelectorAll("[data-pm]").forEach(T=>T.removeAttribute("data-pm")),t({type:"CLEAR"}),t({type:"CLEAR_ALL_STYLES"}),localStorage.removeItem(_s),localStorage.removeItem(Ns),localStorage.removeItem(Fs),at(null),a==null||a()},[t,e.styleModifications,a]),[Ue,on]=Uo(()=>{if(tt.current){let T=tt.current.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);if(T!=null&&T[1])return parseFloat(T[1])}return 29}),Qt=Bt(null),An=Bt(null),bn=Bt(!1),rn=zn(T=>{let z=T.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);return z&&z[1]?parseFloat(z[1]):null},[]);cn(()=>{bn.current=!0;let T=`oklch(0.628 0.258 ${Ue})`;t({type:"SET_COLOR",payload:T}),requestAnimationFrame(()=>{bn.current=!1})},[Ue,t]),cn(()=>{if(bn.current)return;let T=rn(e.activeColor);T!==null&&Math.abs(T-Ue)>.5&&on(T)},[e.activeColor,rn,Ue]);let Pn=Bt(null);cn(()=>{if(o&&i){let T=rn(i);T!==null&&Math.abs(T-Ue)>.5&&(Pn.current===null&&(Pn.current=Ue),on(T))}else Pn.current!==null&&(on(Pn.current),Pn.current=null)},[o,i,rn]);let xn=e.annotations.length>0;cn(()=>{let T=An.current;if(!T||!xn)return;let z=te=>{te.preventDefault(),te.stopPropagation();let he=te.deltaY>0?-1:1,se=((Ue+he)%360+360)%360,ve=`oklch(0.628 0.258 ${se})`;on(se),e.selectedAnnotationIds.length>0&&t({type:"UPDATE_ANNOTATION_COLOR",payload:{id:e.lastSelectedId||e.selectedAnnotationIds[0],color:ve}})};return T.addEventListener("wheel",z,{passive:!1}),()=>T.removeEventListener("wheel",z)},[xn,e.selectedAnnotationIds,e.lastSelectedId,Ue,t]);let sn=Bt(!1),Mo=Bt(0);cn(()=>{let T=e.annotations.some(he=>!he.status||he.status==="pending"),z=sn.current;sn.current=T;let te=Mo.current===0&&e.annotations.length>0;if(Mo.current=e.annotations.length,(z&&!T||te&&!T)&&e.annotations.length>0){let he=e.annotations.map(se=>rn(se.color)).filter(se=>se!==null);if(he.length>0){let se=0,ve=-1;for(let Fe=0;Fe<360;Fe++){let $e=Math.min(...he.map(He=>{let Lt=Math.abs(Fe-He);return Math.min(Lt,360-Lt)}));$e>ve&&(ve=$e,se=Fe)}on(se)}}},[e.annotations,rn]);let Cn=Bt(!1),Ko=zn(()=>{Cn.current=!1,Qt.current=setTimeout(()=>{Cn.current=!0,on(29)},500)},[]),Jt=zn(()=>{Qt.current&&(clearTimeout(Qt.current),Qt.current=null)},[]);cn(()=>()=>{Qt.current&&clearTimeout(Qt.current),xt.current&&clearTimeout(xt.current)},[]);let vn=rr(),Vn=Fr(()=>e.annotations.filter(T=>!T.pathname||T.pathname===vn),[e.annotations,vn]),Ht=Fr(()=>li(e.annotations),[e.annotations]),Ft=Fr(()=>{let T=[],z=new Set,te=[...e.annotations].sort((he,se)=>he.timestamp-se.timestamp);for(let he of te)if(!Ht.has(he))if(he.groupId){if(!z.has(he.groupId)){z.add(he.groupId);let se=e.annotations.filter($e=>$e.groupId===he.groupId&&!Ht.has($e)),ve=se.find($e=>$e.type!=="text")||se[0],Fe=Math.min(...se.map($e=>$e.timestamp));T.push({id:ve.id,pathname:he.pathname,annotations:se,timestamp:Fe})}}else T.push({id:he.id,pathname:he.pathname,annotations:[he],timestamp:he.timestamp});return T},[e.annotations,Ht]),On=Fr(()=>Ft.filter(T=>!T.pathname||T.pathname===vn),[Ft,vn]),[Dt,at]=Uo(null),_t=Ft.length+e.styleModifications.length;cn(()=>{(_t===0||Dt!==null&&Dt>=_t)&&at(null)},[_t,Dt]),cn(()=>{if(e.selectedAnnotationIds.length===0&&!e.inspectedElement){at(null);return}if(e.selectedAnnotationIds.length>0){let T=e.selectedAnnotationIds[0],z=Ft.findIndex(te=>te.id===T||te.annotations.some(he=>he.id===T));z>=0&&z!==Dt&&at(z)}},[e.selectedAnnotationIds,e.inspectedElement,Ft]);let Wt=zn(()=>{var z;if(_t===0)return;let T;if(Dt===null?T=0:Dt+1>=_t?T=null:T=Dt+1,at(T),T===null){t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SELECT_ELEMENT",payload:null});return}if(T<Ft.length){let te=Ft[T];if(!(!te.pathname||te.pathname===vn)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:te.id,pathname:te.pathname})),window.location.href=te.pathname;return}t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:te.id}});let se=te.annotations.find(J=>J.type!=="text")||te.annotations[0];if(te.annotations.some(J=>J.linkedSelector))t({type:"SET_TOOL",payload:"inspector"});else if(se!=null&&se.type&&se.type!=="text"&&se.type!=="inspector"){t({type:"SET_TOOL",payload:se.type});let J=Vo.findIndex(Le=>Le.type===se.type);J>=0&&Me(J)}if(se!=null&&se.color){t({type:"SET_COLOR",payload:se.color});let J=rn(se.color);J!==null&&on(J)}let Fe=te.annotations.flatMap(J=>J.points);if(Fe.length===0)return;let $e=Math.min(...Fe.map(J=>J.x)),He=Math.max(...Fe.map(J=>J.x)),Lt=Math.min(...Fe.map(J=>J.y)),x=Math.max(...Fe.map(J=>J.y)),P=($e+He)/2,ae=(Lt+x)/2;if(window.scrollTo({left:P-window.innerWidth/2,top:ae-window.innerHeight/2,behavior:"smooth"}),R&&v){let J=(z=te.annotations.find(Le=>Le.threadId))==null?void 0:z.threadId;J&&v(J)}}else{let te=T-Ft.length,he=e.styleModifications[te];if(!he)return;let se=wn(he.selector);if(!se)return;t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SELECT_ELEMENT",payload:{el:se,info:he.element}});let ve=se.getBoundingClientRect(),Fe=ve.left+ve.width/2+window.scrollX,$e=ve.top+ve.height/2+window.scrollY;window.scrollTo({left:Fe-window.innerWidth/2,top:$e-window.innerHeight/2,behavior:"smooth"})}},[Ft,vn,e.styleModifications,_t,Dt,t,rn,R,v]);cn(()=>{if(!pe)return;let T=z=>{var ve;let te=document.activeElement;for(;(ve=te==null?void 0:te.shadowRoot)!=null&&ve.activeElement;)te=te.shadowRoot.activeElement;if((te==null?void 0:te.tagName)==="INPUT"||(te==null?void 0:te.tagName)==="TEXTAREA"||te!=null&&te.isContentEditable)return;if((z.metaKey||z.ctrlKey)&&z.key==="Enter"){r&&(e.annotations.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(Fe=>!Fe.captured).length>0)&&(z.preventDefault(),dn());return}if((z.metaKey||z.ctrlKey)&&(z.key==="c"||z.key==="C"||z.code==="KeyC")){let Fe=window.getSelection();if(Fe&&Fe.toString().length>0)return;(e.annotations.length>0||e.styleModifications.length>0)&&(z.preventDefault(),window.focus(),oo());return}if((z.metaKey||z.ctrlKey)&&(z.key==="Backspace"||z.key==="Delete")){z.preventDefault(),Ie();return}if(z.metaKey||z.ctrlKey||z.altKey)return;let he={p:"freehand",l:"line",r:"rectangle",o:"circle",t:"text",c:"inspector",h:"hand"};if(z.key.toLowerCase()==="m"){z.preventDefault(),Rt("model");return}let se=he[z.key.toLowerCase()];if(se){z.preventDefault();let Fe=Vo.findIndex($e=>$e.type===se);Fe>=0&&Me(Fe),Rt(se)}};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[pe,Rt,oo,dn,r,Ie,e.annotations.length,e.styleModifications.length,e.spacingTokenChanges,$]);let qo=za(Q,Ee.w,Ee.h),co=h(f(f({},Nf),qo),{borderRadius:0,padding:pe?"0 8px":"0",width:pe?"auto":48,height:48,gap:0,justifyContent:pe?"flex-start":"center"}),uo=`<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&&i?i:"rgb(0,0,0)"}' stroke-width='.75'/></svg>`,po=xe("div",{style:f({position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(uo)}")`,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"})}),Zo=E===!1?"rgba(239, 68, 68, 0.4)":o&&i?i:yo.iconActive,kt=Bt(null);cn(()=>{if(!pe)return;let T=kt.current;if(!T)return;let z=()=>{s==null||s(!0),Oe("collapse")},te=()=>{s==null||s(!1),ke()};return T.addEventListener("mouseenter",z),T.addEventListener("mouseleave",te),()=>{T.removeEventListener("mouseenter",z),T.removeEventListener("mouseleave",te)}},[pe,o,s,Oe,ke]);let En=Bt(null);return cn(()=>{if(pe)return;let T=En.current;if(!T)return;let z=T.querySelector("[data-popmelt-logo]"),te=()=>{T.style.opacity="1",!o&&z&&(z.style.fill="#000"),B==null||B()},he=()=>{T.style.opacity=o?"1":"0.5",!o&&z&&(z.style.fill="none")};return T.addEventListener("mouseenter",te),T.addEventListener("mouseleave",he),()=>{T.removeEventListener("mouseenter",te),T.removeEventListener("mouseleave",he)}},[pe,o,B]),pe?Ct($r,{children:[xe("style",{children:`
10
+ Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{key:"\u2318\u2318",desc:"Toggle toolbar"}]}},_f={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"},Os="devtools-toolbar-expanded",Bs="devtools-annotations",Ds="devtools-style-modifications",_s="devtools-active-tool",yc="devtools-active-color",bc="devtools-stroke-width",xc="devtools-inspected-element",Ns="devtools-spacing-changes",Nf={expanded:Os,annotations:Bs,styleMods:Ds,spacingChanges:Ns,tool:_s,color:yc,stroke:bc,inspected:xc};function vc({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:x,isThreadPanelOpen:A,mcpStatus:T,bridgeUrl:z,isBridgeConnected:P,modelSelectedComponent:O,modelCanvasHoveredComponent:k,onModelComponentHover:G,onSpacingTokenHover:re,onModifySpacingToken:oe,onDeleteSpacingToken:W,modelRefreshKey:Q,onModelComponentAdded:N,onModelComponentRemoved:ee,onSynthesizeRules:M,isSynthesizing:Le,onMouseEnter:V,toolbarRef:fe,snapPosition:D="bottom-right",onSnapPositionChange:ae}){let[I,pe]=Qo(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});gn(()=>{let w=()=>pe({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]);let[me,Fe]=Qo(()=>typeof window=="undefined"?!1:localStorage.getItem(Os)==="true"),[we,Je]=Qo(0),Re=Dt(0),Ce=Dt(0),at=Dt(e.isAnnotating),gt=Dt(!1),bt=Dt(typeof window!="undefined"?localStorage.getItem(_s):null),Yt=Dt(typeof window!="undefined"?localStorage.getItem(yc):null),K=Dt(typeof window!="undefined"?localStorage.getItem(bc):null),[X,Te]=Qo(null),Oe=Dt(!1),Xe=Dt(null),Pe=Dt(null),he=Dt(null),[te,ie]=Qo([]),ve=Dt({x:0,y:0}),Me=Dt(null),mt=Dt(null),Ne=Dt(null),ze=Wn(()=>{Me.current=null,mt.current=null,Ne.current&&(clearTimeout(Ne.current),Ne.current=null)},[]),nt=Wn(w=>{Pe.current&&(clearTimeout(Pe.current),Pe.current=null),Oe.current?(Me.current=w,mt.current=f({},ve.current),Ne.current&&clearTimeout(Ne.current),Ne.current=setTimeout(()=>{Me.current&&(Te(Me.current),ze())},300)):(Xe.current&&clearTimeout(Xe.current),Xe.current=setTimeout(()=>{Oe.current=!0,Te(w),Xe.current=null},500))},[ze]),St=Wn(()=>{ze(),Xe.current&&(clearTimeout(Xe.current),Xe.current=null),Pe.current=setTimeout(()=>{Oe.current=!1,Te(null)},150)},[ze]);gn(()=>{let w=he.current;if(!w)return;let H=()=>{ze(),Pe.current&&(clearTimeout(Pe.current),Pe.current=null)},q=()=>{Pe.current=setTimeout(()=>{Oe.current=!1,Te(null)},150)};return w.addEventListener("mouseenter",H),w.addEventListener("mouseleave",q),()=>{w.removeEventListener("mouseenter",H),w.removeEventListener("mouseleave",q)}},[X,ze]),gn(()=>{if(X!=="counter"||!z)return;let w=!1;return fetch(`${z}/threads/recent?limit=5`).then(H=>H.ok?H.json():[]).then(H=>{w||ie(H)}).catch(()=>{}),()=>{w=!0}},[X,z]);let Ke=Wn(w=>{if(ve.current={x:w.clientX,y:w.clientY},Me.current&&mt.current){let H=mt.current,q=Bf(D);Of(w.clientX,w.clientY,H.x,H.y,q.left,q.y,q.right,q.y)||(Te(Me.current),ze())}},[ze,D]),qe=Zo(()=>{let w=(c!=null?c:[]).map(H=>H==="claude"?"Claude":H==="codex"?"Codex":H==="copilot"?"Copilot":H);return{name:"AI Model",desc:w.length>1?`${w.join(" and ")} are available.`:w.length===1?`Connected to ${w[0]}.`:"No AI providers detected.",usage:w.length>1?["Click the logo to switch between providers","Click the model name to switch tiers"]:["Click the model name to switch tiers"],keys:w.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]),Rt=Zo(()=>{var q;let w=c&&c.length>0?c:["claude","codex","copilot"],H=w.indexOf(l);return(q=w[(H>=0?H+1:0)%w.length])!=null?q:l},[c,l]),_n=Zo(()=>Af(u,p),[u,p]);ql(me,e,gt,!!r,Nf),gn(()=>{let w=new URLSearchParams(window.location.search);if(!w.has("popmelt"))return;let H=document.createElement("style");H.textContent="nextjs-portal, vite-error-overlay { display: none !important; }",document.head.appendChild(H);let q=parseInt(w.get("popmelt")||"0",10)||0,ye=()=>{Fe(!0),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SET_ANNOTATING",payload:!0})};if(q>0){let de=setTimeout(ye,q);return()=>clearTimeout(de)}ye()},[]),gn(()=>{var q;if(localStorage.getItem(Os)==="true"&&!e.isAnnotating){if(me||Fe(!0),t({type:"SET_TOOL",payload:bt.current||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),Yt.current&&t({type:"SET_COLOR",payload:Yt.current}),K.current){let je=parseFloat(K.current);isNaN(je)||t({type:"SET_STROKE_WIDTH",payload:je})}let ye=localStorage.getItem(Bs);if(ye)try{let je=JSON.parse(ye);if(Array.isArray(je)&&je.length>0){for(let Pt of je)(Pt.status==="waiting_input"||Pt.status==="in_flight")&&(Pt.status=Pt.threadId?"resolved":"pending");t({type:"RESTORE_ANNOTATIONS",payload:{annotations:je}})}}catch(je){}let de=localStorage.getItem(Ds);if(de)try{let je=JSON.parse(de);Array.isArray(je)&&je.length>0&&(t({type:"RESTORE_STYLE_MODIFICATIONS",payload:je}),ri(je))}catch(je){}let ge=localStorage.getItem(Ns);if(ge)try{let je=JSON.parse(ge);Array.isArray(je)&&je.length>0&&t({type:"RESTORE_SPACING_TOKEN_CHANGES",payload:je})}catch(je){}let He=localStorage.getItem(xc);if(He)try{let{selector:je,info:Pt}=JSON.parse(He);if(je){let Ft=In(je);if(Ft){let un=Pt||h(f({},Ln(Ft)),{selector:je});t({type:"SELECT_ELEMENT",payload:{el:Ft,info:un}})}}}catch(je){}let Ie=sessionStorage.getItem("popmelt-pending-focus");if(Ie){sessionStorage.removeItem("popmelt-pending-focus");try{let{annotationId:je}=JSON.parse(Ie);if(je){let Pt=ye?(q=JSON.parse(ye))!=null?q:[]:[];requestAnimationFrame(()=>{t({type:"SELECT_ANNOTATION",payload:{id:je}});let Ft=Pt.find(un=>un.id===je);if(Ft){let S=(Ft.groupId?Pt.filter(C=>C.groupId===Ft.groupId):[Ft]).flatMap(C=>C.points);if(S.length>0){let C=Math.min(...S.map(ke=>ke.x)),le=Math.max(...S.map(ke=>ke.x)),ce=Math.min(...S.map(ke=>ke.y)),Ae=Math.max(...S.map(ke=>ke.y));window.scrollTo({left:(C+le)/2-window.innerWidth/2,top:(ce+Ae)/2-window.innerHeight/2,behavior:"smooth"})}}})}}catch(je){}}}let H=sessionStorage.getItem("popmelt-pending-thread");if(H){sessionStorage.removeItem("popmelt-pending-thread");try{let{threadId:ye,selector:de,preview:ge}=JSON.parse(H);ye&&requestAnimationFrame(()=>{if(de)try{let He=document.querySelector(de);if(He){let Ie=He.getBoundingClientRect(),je=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:je,point:{x:Ie.left+Ie.width,y:Ie.top},text:ge||"[thread]",linkedSelector:de,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[je],threadId:ye}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[je],status:"resolved"}})}}catch(He){}x&&x(ye)})}catch(ye){}}return gt.current=!0,()=>{gt.current=!1}},[]);let Kn=Dt(e.styleModifications);gn(()=>{let w=Kn.current,H=e.styleModifications;w!==H&&(ii(w),ri(H),Kn.current=H)},[e.styleModifications]),gn(()=>{let w=at.current;at.current=e.isAnnotating,w&&!e.isAnnotating&&me&&Fe(!1)},[e.isAnnotating,me]);let vn=Dt(me);vn.current=me,gn(()=>{let w=q=>{if(q.key==="Meta"||q.key==="Control"){let ye=Date.now();if(ye-Re.current<300){if(Ce.current++,Ce.current>=2){if(vn.current)t({type:"SET_ANNOTATING",payload:!1}),Fe(!1);else{let He=localStorage.getItem(_s);t({type:"SET_TOOL",payload:He||"inspector"}),t({type:"SET_ANNOTATING",payload:!0}),Fe(!0)}Ce.current=0}}else Ce.current=1;Re.current=ye}else Ce.current=0},H=q=>{q.key!=="Meta"&&q.key!=="Control"&&(Ce.current=0)};return window.addEventListener("keydown",w),window.addEventListener("keyup",H),()=>{window.removeEventListener("keydown",w),window.removeEventListener("keyup",H)}},[t]);let It=Wn(w=>{ze(),t({type:"SET_TOOL",payload:w}),e.isAnnotating||t({type:"SET_ANNOTATING",payload:!0}),Oe.current=!1,Te(null),Xe.current&&(clearTimeout(Xe.current),Xe.current=null),Pe.current&&(clearTimeout(Pe.current),Pe.current=null)},[t,e.isAnnotating,ze]),qn=Wn(async()=>{window.focus(),await n()},[n]),on=Wn(async()=>{o&&await o()},[o]),Zn=Wn(()=>{t({type:"SET_ANNOTATING",payload:!1}),Fe(!1)},[t]),xt=Wn(()=>{ii(e.styleModifications),document.querySelectorAll("[data-pm]").forEach(w=>w.removeAttribute("data-pm")),t({type:"CLEAR"}),t({type:"CLEAR_ALL_STYLES"}),localStorage.removeItem(Bs),localStorage.removeItem(Ds),localStorage.removeItem(Ns),lt(null),a==null||a()},[t,e.styleModifications,a]),[rn,_t]=Qo(()=>{if(Yt.current){let w=Yt.current.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);if(w!=null&&w[1])return parseFloat(w[1])}return 29}),sn=Dt(null),Nn=Dt(null),An=Dt(!1),Kt=Wn(w=>{let H=w.match(/oklch\([^)]*\s+([\d.]+)\s*\)/);return H&&H[1]?parseFloat(H[1]):null},[]);gn(()=>{An.current=!0;let w=`oklch(0.628 0.258 ${rn})`;t({type:"SET_COLOR",payload:w}),requestAnimationFrame(()=>{An.current=!1})},[rn,t]),gn(()=>{if(An.current)return;let w=Kt(e.activeColor);w!==null&&Math.abs(w-rn)>.5&&_t(w)},[e.activeColor,Kt,rn]);let Sn=Dt(null);gn(()=>{if(r&&i){let w=Kt(i);w!==null&&Math.abs(w-rn)>.5&&(Sn.current===null&&(Sn.current=rn),_t(w))}else Sn.current!==null&&(_t(Sn.current),Sn.current=null)},[r,i,Kt]);let bn=e.annotations.length>0;gn(()=>{let w=Nn.current;if(!w||!bn)return;let H=q=>{q.preventDefault(),q.stopPropagation();let ye=q.deltaY>0?-1:1,de=((rn+ye)%360+360)%360,ge=`oklch(0.628 0.258 ${de})`;_t(de),e.selectedAnnotationIds.length>0&&t({type:"UPDATE_ANNOTATION_COLOR",payload:{id:e.lastSelectedId||e.selectedAnnotationIds[0],color:ge}})};return w.addEventListener("wheel",H,{passive:!1}),()=>w.removeEventListener("wheel",H)},[bn,e.selectedAnnotationIds,e.lastSelectedId,rn,t]);let $=Dt(!1),De=Dt(0);gn(()=>{let w=e.annotations.some(ye=>!ye.status||ye.status==="pending"),H=$.current;$.current=w;let q=De.current===0&&e.annotations.length>0;if(De.current=e.annotations.length,(H&&!w||q&&!w)&&e.annotations.length>0){let ye=e.annotations.map(de=>Kt(de.color)).filter(de=>de!==null);if(ye.length>0){let de=0,ge=-1;for(let He=0;He<360;He++){let Ie=Math.min(...ye.map(je=>{let Pt=Math.abs(He-je);return Math.min(Pt,360-Pt)}));Ie>ge&&(ge=Ie,de=He)}_t(de)}}},[e.annotations,Kt]);let Ge=Dt(!1),En=Wn(()=>{Ge.current=!1,sn.current=setTimeout(()=>{Ge.current=!0,_t(29)},500)},[]),At=Wn(()=>{sn.current&&(clearTimeout(sn.current),sn.current=null)},[]);gn(()=>()=>{sn.current&&clearTimeout(sn.current),Ne.current&&clearTimeout(Ne.current)},[]);let qt=cr(),wn=Zo(()=>e.annotations.filter(w=>!w.pathname||w.pathname===qt),[e.annotations,qt]),Wt=Zo(()=>ci(e.annotations),[e.annotations]),Gt=Zo(()=>{let w=[],H=new Set,q=[...e.annotations].sort((ye,de)=>ye.timestamp-de.timestamp);for(let ye of q)if(!Wt.has(ye))if(ye.groupId){if(!H.has(ye.groupId)){H.add(ye.groupId);let de=e.annotations.filter(Ie=>Ie.groupId===ye.groupId&&!Wt.has(Ie)),ge=de.find(Ie=>Ie.type!=="text")||de[0],He=Math.min(...de.map(Ie=>Ie.timestamp));w.push({id:ge.id,pathname:ye.pathname,annotations:de,timestamp:He})}}else w.push({id:ye.id,pathname:ye.pathname,annotations:[ye],timestamp:ye.timestamp});return w},[e.annotations,Wt]),Pn=Zo(()=>Gt.filter(w=>!w.pathname||w.pathname===qt),[Gt,qt]),[Nt,lt]=Qo(null),Ht=Gt.length+e.styleModifications.length;gn(()=>{(Ht===0||Nt!==null&&Nt>=Ht)&&lt(null)},[Ht,Nt]),gn(()=>{if(e.selectedAnnotationIds.length===0&&!e.inspectedElement){lt(null);return}if(e.selectedAnnotationIds.length>0){let w=e.selectedAnnotationIds[0],H=Gt.findIndex(q=>q.id===w||q.annotations.some(ye=>ye.id===w));H>=0&&H!==Nt&&lt(H)}},[e.selectedAnnotationIds,e.inspectedElement,Gt]);let Jt=Wn(()=>{var H;if(Ht===0)return;let w;if(Nt===null?w=0:Nt+1>=Ht?w=null:w=Nt+1,lt(w),w===null){t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SELECT_ELEMENT",payload:null});return}if(w<Gt.length){let q=Gt[w];if(!(!q.pathname||q.pathname===qt)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:q.id,pathname:q.pathname})),window.location.href=q.pathname;return}t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:q.id}});let de=q.annotations.find(C=>C.type!=="text")||q.annotations[0];if(q.annotations.some(C=>C.linkedSelector))t({type:"SET_TOOL",payload:"inspector"});else if(de!=null&&de.type&&de.type!=="text"&&de.type!=="inspector"){t({type:"SET_TOOL",payload:de.type});let C=er.findIndex(le=>le.type===de.type);C>=0&&Je(C)}if(de!=null&&de.color){t({type:"SET_COLOR",payload:de.color});let C=Kt(de.color);C!==null&&_t(C)}let He=q.annotations.flatMap(C=>C.points);if(He.length===0)return;let Ie=Math.min(...He.map(C=>C.x)),je=Math.max(...He.map(C=>C.x)),Pt=Math.min(...He.map(C=>C.y)),Ft=Math.max(...He.map(C=>C.y)),un=(Ie+je)/2,S=(Pt+Ft)/2;if(window.scrollTo({left:un-window.innerWidth/2,top:S-window.innerHeight/2,behavior:"smooth"}),A&&x){let C=(H=q.annotations.find(le=>le.threadId))==null?void 0:H.threadId;C&&x(C)}}else{let q=w-Gt.length,ye=e.styleModifications[q];if(!ye)return;let de=In(ye.selector);if(!de)return;t({type:"SELECT_ANNOTATION",payload:{id:null}}),t({type:"SET_TOOL",payload:"inspector"}),t({type:"SELECT_ELEMENT",payload:{el:de,info:ye.element}});let ge=de.getBoundingClientRect(),He=ge.left+ge.width/2+window.scrollX,Ie=ge.top+ge.height/2+window.scrollY;window.scrollTo({left:He-window.innerWidth/2,top:Ie-window.innerHeight/2,behavior:"smooth"})}},[Gt,qt,e.styleModifications,Ht,Nt,t,Kt,A,x]);gn(()=>{if(!me)return;let w=H=>{var ge;let q=document.activeElement;for(;(ge=q==null?void 0:q.shadowRoot)!=null&&ge.activeElement;)q=q.shadowRoot.activeElement;if((q==null?void 0:q.tagName)==="INPUT"||(q==null?void 0:q.tagName)==="TEXTAREA"||q!=null&&q.isContentEditable)return;if((H.metaKey||H.ctrlKey)&&H.key==="Enter"){o&&(e.annotations.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(He=>!He.captured).length>0)&&(H.preventDefault(),on());return}if((H.metaKey||H.ctrlKey)&&(H.key==="c"||H.key==="C"||H.code==="KeyC")){let He=window.getSelection();if(He&&He.toString().length>0)return;(e.annotations.length>0||e.styleModifications.length>0)&&(H.preventDefault(),window.focus(),qn());return}if((H.metaKey||H.ctrlKey)&&(H.key==="Backspace"||H.key==="Delete")){H.preventDefault(),xt();return}if(H.metaKey||H.ctrlKey||H.altKey)return;let ye={p:"freehand",l:"line",r:"rectangle",o:"circle",t:"text",c:"inspector",h:"hand"};if(H.key.toLowerCase()==="m"){H.preventDefault(),It("model");return}let de=ye[H.key.toLowerCase()];if(de){H.preventDefault();let He=er.findIndex(Ie=>Ie.type===de);He>=0&&Je(He),It(de)}};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[me,It,qn,on,o,xt,e.annotations.length,e.styleModifications.length,e.spacingTokenChanges,X]);let nr=Na(D,I.w,I.h),go=h(f(f({},_f),nr),{borderRadius:0,padding:me?"0 8px":"0",width:me?"auto":48,height:48,gap:0,justifyContent:me?"flex-start":"center"}),Ao=Se("div",{style:di({color:r&&i?i:"rgb(0,0,0)",animated:!!r})}),ao=P===!1?"rgba(239, 68, 68, 0.4)":r&&i?i:wo.iconActive,mo=Dt(null);gn(()=>{if(!me)return;let w=mo.current;if(!w)return;let H=()=>{s==null||s(!0),nt("collapse")},q=()=>{s==null||s(!1),St()};return w.addEventListener("mouseenter",H),w.addEventListener("mouseleave",q),()=>{w.removeEventListener("mouseenter",H),w.removeEventListener("mouseleave",q)}},[me,r,s,nt,St]);let or=Dt(null);return gn(()=>{if(me)return;let w=or.current;if(!w)return;let H=w.querySelector("[data-popmelt-logo]"),q=()=>{w.style.opacity="1",!r&&H&&(H.style.fill="#000"),V==null||V()},ye=()=>{w.style.opacity=r?"1":"0.5",!r&&H&&(H.style.fill="none")};return w.addEventListener("mouseenter",q),w.addEventListener("mouseleave",ye),()=>{w.removeEventListener("mouseenter",q),w.removeEventListener("mouseleave",ye)}},[me,r,V]),me?Mt($r,{children:[Se("style",{children:`
11
11
  @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
12
12
  @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"}}),!R&&($==="model"||e.activeTool==="model")&&xe(hc,{bridgeUrl:A,selectedComponent:_,hoveredComponent:ie,onComponentHover:oe,onSpacingTokenHover:Y,onModifySpacingToken:K,onDeleteSpacingToken:H,modelRefreshKey:ee,onComponentAdded:k,onComponentRemoved:Ae,onSynthesizeRules:X,isSynthesizing:ge,snapPosition:Q,onMouseEnter:()=>{vt(),N.current&&(clearTimeout(N.current),N.current=null)},onMouseLeave:e.activeTool==="model"?void 0:ke}),$&&$!=="model"&&($==="provider"||xc[$])&&(()=>{let T=$==="provider"?mn:xc[$];return Ct("div",{ref:ye,style:f(h(f(h(f({},Wa(Q,Ee.w,Ee.h)),{width:300,backgroundColor:"#eaeaea"}),wo),{boxSizing:"content-box",zIndex:10001,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12}),$!=="collapse"&&$!=="counter"?{pointerEvents:"none"}:{}),children:[$==="collapse"&&xe("div",{title:"Restart bridge",onClick:()=>{xa(A)},style:{marginBottom:10,cursor:"pointer",width:"fit-content"},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"})})}),Ct("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[xe("span",{children:T.name}),T.keys[0]&&xe("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:T.keys[0].key})]}),xe("div",{style:{color:"#6b7280",lineHeight:1.5,marginBottom:$==="collapse"?0:10},children:T.desc.split(`
13
+ `}),Se("div",{id:"devtools-scrim",style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.06)",zIndex:9997,pointerEvents:"none"}}),!A&&(X==="model"||e.activeTool==="model")&&Se(fc,{bridgeUrl:z,selectedComponent:O,hoveredComponent:k,onComponentHover:G,onSpacingTokenHover:re,onModifySpacingToken:oe,onDeleteSpacingToken:W,modelRefreshKey:Q,onComponentAdded:N,onComponentRemoved:ee,onSynthesizeRules:M,isSynthesizing:Le,snapPosition:D,onMouseEnter:()=>{ze(),Pe.current&&(clearTimeout(Pe.current),Pe.current=null)},onMouseLeave:e.activeTool==="model"?void 0:St}),X&&X!=="model"&&(X==="provider"||hc[X])&&(()=>{let w=X==="provider"?qe:hc[X];return Mt("div",{ref:he,style:f(h(f(h(f({},Ha(D,I.w,I.h)),{width:300,backgroundColor:"#eaeaea"}),xr),{boxSizing:"content-box",zIndex:10001,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:12,color:"#1f2937",padding:12}),X!=="collapse"&&X!=="counter"?{pointerEvents:"none"}:{}),children:[X==="collapse"&&Se("div",{title:"Restart bridge",onClick:()=>{ma(z)},style:{marginBottom:10,cursor:"pointer",width:"fit-content"},children:Se("svg",{width:"48",height:"48",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:Se("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"})})}),Mt("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:700,fontSize:13,marginBottom:6},children:[Se("span",{children:w.name}),w.keys[0]&&Se("code",{style:{fontSize:10,fontWeight:500,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",color:"#6b7280"},children:w.keys[0].key})]}),Se("div",{style:{color:"#6b7280",lineHeight:1.5,marginBottom:X==="collapse"?0:10},children:w.desc.split(`
14
14
 
15
- `).map((z,te)=>xe("p",{style:{margin:0,marginTop:te>0?8:0},children:z},te))}),T.usage.map((z,te)=>Ct("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4},children:[xe("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2013"}),xe("span",{children:z})]},te)),$==="collapse"&&q&&Ct("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:Ja.map(z=>{let te=z===Q;return xe("button",{type:"button",onClick:()=>{de(null),Te.current=!1,vt(),q(z)},title:z,style:{width:24,height:16,border:"none",cursor:"pointer",padding:0,backgroundColor:te?"#1f2937":"rgba(0,0,0,0.08)",transition:"background-color 100ms ease"},onMouseEnter:he=>{te||(he.currentTarget.style.backgroundColor="rgba(0,0,0,0.15)")},onMouseLeave:he=>{te||(he.currentTarget.style.backgroundColor="rgba(0,0,0,0.08)")}},z)})})]}),$==="collapse"&&C&&Object.keys(C).length>0&&(()=>{let z=Object.entries(C).filter(([,se])=>se.found&&!se.disabled).map(([se])=>se.charAt(0).toUpperCase()+se.slice(1)),te=Object.entries(C).filter(([,se])=>!se.found).map(([se])=>se);if(z.length===0&&te.length===0)return null;let he=te.map(se=>se.charAt(0).toUpperCase()+se.slice(1));return Ct("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8,display:"flex",alignItems:"center",gap:6,fontSize:11},children:[xe("span",{style:{width:6,height:6,borderRadius:"50%",backgroundColor:z.length>0?"#22c55e":"rgba(0,0,0,0.2)",flexShrink:0}}),z.length>0?Ct("span",{style:{color:"#6b7280",display:"flex",alignItems:"center",gap:6},children:[Ct("span",{children:["Registry available in ",z.join(", "),L&&" \u2014 restart CLI to activate"]}),te.length>0&&G&&!L&&Ct("button",{type:"button",onClick:se=>{se.stopPropagation(),G()},style:{border:"none",background:"transparent",color:"#3b82f6",fontSize:10,fontWeight:500,fontFamily:"inherit",padding:0,cursor:"pointer",pointerEvents:"auto",textDecoration:"underline",textUnderlineOffset:2},children:["+ ",he.join(", ")]})]}):te.length>0&&G?Ct("span",{style:{color:"#6b7280",display:"flex",alignItems:"center",gap:6},children:[xe("span",{children:"Connect Popmelt MCP"}),xe("button",{type:"button",onClick:se=>{se.stopPropagation(),G()},style:{border:"none",background:"#1f2937",color:"#fff",fontSize:10,fontWeight:600,fontFamily:"inherit",padding:"2px 8px",cursor:"pointer",pointerEvents:"auto"},children:"Connect"})]}):null]})})(),T.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:T.keys.slice(1).map((z,te)=>Ct("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:z.accent?"#fff":"#6b7280"},children:[xe("code",{style:{fontSize:10,backgroundColor:z.accent?e.activeColor:"rgba(0,0,0,0.06)",color:z.accent?"#fff":void 0,padding:"1px 4px",whiteSpace:"nowrap"},children:z.key}),xe("span",{style:{color:z.accent?e.activeColor:void 0,fontWeight:z.accent?600:void 0},children:z.desc})]},te))}),$==="counter"&&Ft.length>0&&(()=>{let z=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"})}),te=new Map;for(let ve of Ft){let Fe=ve.pathname||vn;te.has(Fe)||te.set(Fe,[]),te.get(Fe).push(ve)}let he=[...te.entries()],se=he.length>1;return Ct("div",{children:[z,xe("div",{style:{maxHeight:200,overflowY:"auto",scrollbarWidth:"thin"},children:he.map(([ve,Fe])=>xe("div",{style:{marginBottom:se?4:0},children:Fe.map($e=>{var Le,Be,Xe,Ye;let He=$e.annotations.find(mt=>mt.type==="text"&&mt.text),Lt=(He==null?void 0:He.text)||`[${(Be=(Le=$e.annotations[0])==null?void 0:Le.type)!=null?Be:"annotation"}]`,x=e.selectedAnnotationIds.includes($e.id),P=Ft.indexOf($e),ae=P+1,J=(Ye=(Xe=$e.annotations[0])==null?void 0:Xe.color)!=null?Ye:e.activeColor;return Ct("div",{onClick:()=>{var nt;if(!(!$e.pathname||$e.pathname===vn)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:$e.id,pathname:$e.pathname})),window.location.href=$e.pathname;return}if(at(P),t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:$e.id}}),v){let ut=(nt=$e.annotations.find(St=>St.threadId))==null?void 0:nt.threadId;ut&&v(ut)}Te.current=!1,de(null)},style:{display:"flex",alignItems:"baseline",gap:4,padding:"2px 0",cursor:"pointer"},onMouseEnter:mt=>{let nt=mt.currentTarget.querySelector("[data-route-badge]");nt&&(nt.style.backgroundColor=J,nt.style.color="#fff")},onMouseLeave:mt=>{if(x)return;let nt=mt.currentTarget.querySelector("[data-route-badge]");nt&&(nt.style.backgroundColor="rgba(0,0,0,0.06)",nt.style.color="#6b7280")},children:[Ct("code",{"data-route-badge":!0,style:{fontSize:10,color:x?"#fff":"#6b7280",backgroundColor:x?J:"rgba(0,0,0,0.06)",padding:"1px 4px",flexShrink:0,whiteSpace:"nowrap"},children:[ae,". ",se?ve:""]}),xe("span",{style:{fontSize:11,color:x?"#1f2937":"#6b7280",fontWeight:x?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Lt})]},$e.id)})},ve))})]})})(),$==="counter"&&(()=>{let z=new Set(Ft.flatMap(se=>se.annotations.map(ve=>ve.threadId).filter(Boolean))),te=re.filter(se=>!z.has(se.id));if(te.length===0)return null;let he=se=>{let ve=Math.floor((Date.now()-se)/1e3);if(ve<60)return"now";let Fe=Math.floor(ve/60);if(Fe<60)return`${Fe}m`;let $e=Math.floor(Fe/60);return $e<24?`${$e}h`:`${Math.floor($e/24)}d`};return Ct("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"}),te.map(se=>Ct("div",{onClick:()=>{let ve=se.elementIdentifiers[0];if(ve){let Fe=ve.indexOf(":"),$e=Fe>0&&ve[0]==="/",He=$e?ve.slice(0,Fe):void 0,Lt=$e?ve.slice(Fe+1):ve;if(!(!He||He===vn)){sessionStorage.setItem("popmelt-pending-thread",JSON.stringify({threadId:se.id,selector:Lt,preview:se.preview})),window.location.href=He;return}try{let P=document.querySelector(Lt);if(P){let ae=P.getBoundingClientRect(),J=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:J,point:{x:ae.left+ae.width,y:ae.top},text:se.preview,linkedSelector:Lt,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[J],threadId:se.id}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[J],status:"resolved"}})}}catch(P){}}v&&v(se.id),Te.current=!1,de(null)},style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,padding:"2px 0",cursor:"pointer",color:"#6b7280",fontSize:11},onMouseEnter:ve=>{ve.currentTarget.style.color="#1f2937"},onMouseLeave:ve=>{ve.currentTarget.style.color="#6b7280"},children:[xe("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:se.preview}),xe("span",{style:{flexShrink:0,fontSize:10,color:"#9ca3af"},children:he(se.createdAt)})]},se.id))]})})()]})})(),Ct("div",{ref:T=>{ce&&(ce.current=T)},id:"devtools-toolbar",style:co,onMouseEnter:B,onMouseMove:ht,children:[po,Ct("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[xe("span",{onMouseEnter:()=>Oe("inspector"),onMouseLeave:ke,children:xe(ko,{active:e.isAnnotating&&e.activeTool==="inspector",siblingActive:e.isAnnotating,onClick:()=>Rt("inspector"),children:xe(Mf,{size:20,strokeWidth:1.5})})}),xe("span",{onMouseEnter:()=>Oe("hand"),onMouseLeave:ke,children:xe(ko,{active:e.isAnnotating&&e.activeTool==="hand",siblingActive:e.isAnnotating,onClick:()=>Rt("hand"),children:Ct("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[xe(Tf,{size:20,strokeWidth:1.5}),e.styleModifications.filter(T=>!T.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(T=>!T.captured).length})]})})}),(()=>{let T=Vo[Re],z=T.icon,te=e.isAnnotating&&Of.has(e.activeTool);return xe("span",{onMouseEnter:()=>Oe(T.type),onMouseLeave:ke,children:Ct("div",{style:{display:"flex",alignItems:"center",gap:0},children:[xe(ko,{active:te,siblingActive:e.isAnnotating,onClick:()=>Rt(T.type),children:xe(z,{size:20,strokeWidth:1.5})}),xe("button",{type:"button",onClick:()=>{let he=(Re+1)%Vo.length;Me(he),Rt(Vo[he].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&&!te?.5:1,transition:"opacity 150ms ease"},children:Vo.map((he,se)=>xe("div",{style:{width:3,height:3,borderRadius:"50%",backgroundColor:se===Re?yo.iconDefault:"rgba(0,0,0,0.2)",transition:"background-color 150ms ease"}},se))})]})})})(),_f.map(({type:T,icon:z,label:te,shortcut:he})=>xe("span",{onMouseEnter:()=>Oe(T),onMouseLeave:ke,children:xe(ko,{active:e.isAnnotating&&e.activeTool===T,siblingActive:e.isAnnotating,onClick:()=>Rt(T),children:xe(z,{size:20,strokeWidth:1.5})})},T)),xe("span",{onMouseEnter:()=>Oe("model"),onMouseLeave:ke,children:xe(ko,{active:e.isAnnotating&&e.activeTool==="model",siblingActive:e.isAnnotating,onClick:()=>Rt("model"),children:xe(kf,{size:17,strokeWidth:1.5})})})]}),xe(yc,{}),Ct("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[(Ft.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(T=>!T.captured).length>0)&&(()=>{var se;let T=Dt!==null&&Dt<Ft.length?Ft[Dt]:null,z=e.annotations.length>0&&e.annotations.every(ve=>ve.status&&ve.status!=="pending"),te=Dt!==null?(se=T==null?void 0:T.annotations.some(ve=>ve.status&&ve.status!=="pending"))!=null?se:!1:z,he=`oklch(0.628 0.258 ${Ue})`;return xe("span",{onMouseEnter:()=>Oe("counter"),onMouseLeave:ke,children:xe("button",{ref:An,type:"button",onClick:()=>{if(Cn.current){Cn.current=!1;return}Wt()},onMouseDown:Ko,onMouseUp:Jt,onMouseLeave:Jt,title:"",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,minWidth:20,height:20,padding:"0 8px",marginRight:4,border:"none",borderRadius:0,background:te&&Dt===null?"#999999":he,cursor:"pointer",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:11,fontWeight:600,color:"#ffffff",transition:"background 150ms ease"},children:(()=>{let ve=Ft.length+e.styleModifications.length+e.spacingTokenChanges.filter($e=>!$e.captured).length;if(Dt!==null)return Ct($r,{children:[Dt+1,Ct("span",{style:{opacity:.4,display:"flex",gap:4},children:[xe("span",{children:"/"}),xe("span",{children:ve})]})]});let Fe=On.length+e.styleModifications.length+e.spacingTokenChanges.filter($e=>!$e.captured).length;return ve>Fe?Ct($r,{children:[Fe,Ct("span",{style:{opacity:.4,display:"flex",gap:4},children:[xe("span",{children:"/"}),xe("span",{children:ve})]})]}):ve})()})})})(),(e.annotations.length>0||e.styleModifications.length>0)&&xe("span",{onMouseEnter:()=>Oe("clear"),onMouseLeave:ke,children:xe(ko,{siblingActive:e.isAnnotating,onClick:Ie,title:"Clear all (\u2318\u232B)",children:xe(Af,{size:17,strokeWidth:1.5})})}),d&&Ct($r,{children:[xe("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 2px"}}),xe("span",{onMouseEnter:()=>Oe("provider"),onMouseLeave:ke,style:{display:"contents"},children:Ct("div",{style:{display:"flex",alignItems:"center",gap:0},children:[xe(ko,{onClick:()=>d(l==="claude"?"codex":"claude"),children:l==="claude"?xe(As,{}):xe(Ps,{})}),Ct("button",{type:"button",onClick:()=>{let T=(p+1)%u;b==null||b(T)},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:yo.iconDefault,whiteSpace:"nowrap"},children:[xe("span",{children:g}),xe("span",{style:{display:"flex",flexDirection:"column",gap:2},children:Array.from({length:u},(T,z)=>xe("div",{style:{width:3,height:3,borderRadius:"50%",backgroundColor:z===p?yo.iconDefault:"rgba(0,0,0,0.2)",transition:"background-color 150ms ease"}},z))})]})]})})]}),xe("div",{ref:kt,style:{display:"inline-flex",cursor:"pointer"},children:xe("button",{type:"button",onClick:le,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:Zo,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"})})})})]})]})]}):Ct($r,{children:[xe("style",{children:`
15
+ `).map((H,q)=>Se("p",{style:{margin:0,marginTop:q>0?8:0},children:H},q))}),w.usage.map((H,q)=>Mt("div",{style:{display:"flex",gap:6,marginBottom:3,lineHeight:1.4},children:[Se("span",{style:{color:"#9ca3af",flexShrink:0},children:"\u2013"}),Se("span",{children:H})]},q)),X==="collapse"&&ae&&Mt("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8},children:[Se("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:6,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Position"}),Se("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:3,width:"fit-content"},children:Wa.map(H=>{let q=H===D;return Se("button",{type:"button",onClick:()=>{Te(null),Oe.current=!1,ze(),ae(H)},title:H,style:{width:24,height:16,border:"none",cursor:"pointer",padding:0,backgroundColor:q?"#1f2937":"rgba(0,0,0,0.08)",transition:"background-color 100ms ease"},onMouseEnter:ye=>{q||(ye.currentTarget.style.backgroundColor="rgba(0,0,0,0.15)")},onMouseLeave:ye=>{q||(ye.currentTarget.style.backgroundColor="rgba(0,0,0,0.08)")}},H)})})]}),X==="collapse"&&T&&Object.keys(T).length>0&&(()=>{let H=Object.entries(T).filter(([,ge])=>ge.found&&!ge.disabled).map(([ge])=>ge.charAt(0).toUpperCase()+ge.slice(1)),q=Object.entries(T).filter(([,ge])=>!ge.found).map(([ge])=>ge);if(H.length===0&&q.length===0)return null;let ye=q.map(ge=>ge.charAt(0).toUpperCase()+ge.slice(1)),de=[...H,...ye];return Mt("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:10,paddingTop:8,display:"flex",alignItems:"center",gap:6,fontSize:11},children:[Se("span",{style:{width:6,height:6,borderRadius:"50%",backgroundColor:H.length>0?"#22c55e":"rgba(0,0,0,0.2)",flexShrink:0}}),H.length>0?Mt("span",{style:{color:"#6b7280"},children:["Registry available in ",de.join(", ")]}):q.length>0?Mt("span",{style:{color:"#6b7280"},children:["Registry available in ",ye.join(", ")]}):null]})})(),w.keys.length>1&&Se("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8,display:"flex",flexDirection:"column",gap:4},children:w.keys.slice(1).map((H,q)=>Mt("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:11,color:H.accent?"#fff":"#6b7280"},children:[Se("code",{style:{fontSize:10,backgroundColor:H.accent?e.activeColor:"rgba(0,0,0,0.06)",color:H.accent?"#fff":void 0,padding:"1px 4px",whiteSpace:"nowrap"},children:H.key}),Se("span",{style:{color:H.accent?e.activeColor:void 0,fontWeight:H.accent?600:void 0},children:H.desc})]},q))}),X==="counter"&&Gt.length>0&&(()=>{let H=Se("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8},children:Se("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:4,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Active"})}),q=new Map;for(let ge of Gt){let He=ge.pathname||qt;q.has(He)||q.set(He,[]),q.get(He).push(ge)}let ye=[...q.entries()],de=ye.length>1;return Mt("div",{children:[H,Se("div",{style:{maxHeight:200,overflowY:"auto",scrollbarWidth:"thin"},children:ye.map(([ge,He])=>Se("div",{style:{marginBottom:de?4:0},children:He.map(Ie=>{var le,ce,Ae,ke;let je=Ie.annotations.find(Ue=>Ue.type==="text"&&Ue.text),Pt=(je==null?void 0:je.text)||`[${(ce=(le=Ie.annotations[0])==null?void 0:le.type)!=null?ce:"annotation"}]`,Ft=e.selectedAnnotationIds.includes(Ie.id),un=Gt.indexOf(Ie),S=un+1,C=(ke=(Ae=Ie.annotations[0])==null?void 0:Ae.color)!=null?ke:e.activeColor;return Mt("div",{onClick:()=>{var Ye;if(!(!Ie.pathname||Ie.pathname===qt)){sessionStorage.setItem("popmelt-pending-focus",JSON.stringify({annotationId:Ie.id,pathname:Ie.pathname})),window.location.href=Ie.pathname;return}if(lt(un),t({type:"SELECT_ELEMENT",payload:null}),t({type:"SELECT_ANNOTATION",payload:{id:Ie.id}}),x){let Et=(Ye=Ie.annotations.find(wt=>wt.threadId))==null?void 0:Ye.threadId;Et&&x(Et)}Oe.current=!1,Te(null)},style:{display:"flex",alignItems:"baseline",gap:4,padding:"2px 0",cursor:"pointer"},onMouseEnter:Ue=>{let Ye=Ue.currentTarget.querySelector("[data-route-badge]");Ye&&(Ye.style.backgroundColor=C,Ye.style.color="#fff")},onMouseLeave:Ue=>{if(Ft)return;let Ye=Ue.currentTarget.querySelector("[data-route-badge]");Ye&&(Ye.style.backgroundColor="rgba(0,0,0,0.06)",Ye.style.color="#6b7280")},children:[Mt("code",{"data-route-badge":!0,style:{fontSize:10,color:Ft?"#fff":"#6b7280",backgroundColor:Ft?C:"rgba(0,0,0,0.06)",padding:"1px 4px",flexShrink:0,whiteSpace:"nowrap"},children:[S,". ",de?ge:""]}),Se("span",{style:{fontSize:11,color:Ft?"#1f2937":"#6b7280",fontWeight:Ft?600:400,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:Pt})]},Ie.id)})},ge))})]})})(),X==="counter"&&(()=>{let H=new Set(Gt.flatMap(de=>de.annotations.map(ge=>ge.threadId).filter(Boolean))),q=te.filter(de=>!H.has(de.id));if(q.length===0)return null;let ye=de=>{let ge=Math.floor((Date.now()-de)/1e3);if(ge<60)return"now";let He=Math.floor(ge/60);if(He<60)return`${He}m`;let Ie=Math.floor(He/60);return Ie<24?`${Ie}h`:`${Math.floor(Ie/24)}d`};return Mt("div",{style:{borderTop:"1px solid rgba(0,0,0,0.08)",marginTop:8,paddingTop:8},children:[Se("div",{style:{fontSize:10,color:"#9ca3af",marginBottom:4,textTransform:"uppercase",letterSpacing:"0.05em"},children:"Recent"}),q.map(de=>Mt("div",{onClick:()=>{let ge=de.elementIdentifiers[0];if(ge){let He=ge.indexOf(":"),Ie=He>0&&ge[0]==="/",je=Ie?ge.slice(0,He):void 0,Pt=Ie?ge.slice(He+1):ge;if(!(!je||je===qt)){sessionStorage.setItem("popmelt-pending-thread",JSON.stringify({threadId:de.id,selector:Pt,preview:de.preview})),window.location.href=je;return}try{let un=document.querySelector(Pt);if(un){let S=un.getBoundingClientRect(),C=Math.random().toString(36).slice(2,9);t({type:"ADD_TEXT",payload:{id:C,point:{x:S.left+S.width,y:S.top},text:de.preview,linkedSelector:Pt,linkedAnchor:"top-left"}}),t({type:"SET_ANNOTATION_THREAD",payload:{ids:[C],threadId:de.id}}),t({type:"SET_ANNOTATION_STATUS",payload:{ids:[C],status:"resolved"}})}}catch(un){}}x&&x(de.id),Oe.current=!1,Te(null)},style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,padding:"2px 0",cursor:"pointer",color:"#6b7280",fontSize:11},onMouseEnter:ge=>{ge.currentTarget.style.color="#1f2937"},onMouseLeave:ge=>{ge.currentTarget.style.color="#6b7280"},children:[Se("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:de.preview}),Se("span",{style:{flexShrink:0,fontSize:10,color:"#9ca3af"},children:ye(de.createdAt)})]},de.id))]})})()]})})(),Mt("div",{ref:w=>{fe&&(fe.current=w)},id:"devtools-toolbar",style:go,onMouseEnter:V,onMouseMove:Ke,children:[Ao,Mt("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[Se("span",{onMouseEnter:()=>nt("inspector"),onMouseLeave:St,children:Se(Lo,{active:e.isAnnotating&&e.activeTool==="inspector",siblingActive:e.isAnnotating,onClick:()=>It("inspector"),children:Se(kf,{size:20,strokeWidth:1.5})})}),Se("span",{onMouseEnter:()=>nt("hand"),onMouseLeave:St,children:Se(Lo,{active:e.isAnnotating&&e.activeTool==="hand",siblingActive:e.isAnnotating,onClick:()=>It("hand"),children:Mt("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center"},children:[Se(Ef,{size:20,strokeWidth:1.5}),e.styleModifications.filter(w=>!w.captured).length>0&&Se("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(w=>!w.captured).length})]})})}),(()=>{let w=er[we],H=w.icon,q=e.isAnnotating&&Pf.has(e.activeTool);return Se("span",{onMouseEnter:()=>nt(w.type),onMouseLeave:St,children:Mt("div",{style:{display:"flex",alignItems:"center",gap:0},children:[Se(Lo,{active:q,siblingActive:e.isAnnotating,onClick:()=>It(w.type),children:Se(H,{size:20,strokeWidth:1.5})}),Se("button",{type:"button",onClick:()=>{let ye=(we+1)%er.length;Je(ye),It(er[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&&!q?.5:1,transition:"opacity 150ms ease"},children:er.map((ye,de)=>Se("div",{style:{width:3,height:3,borderRadius:"50%",backgroundColor:de===we?wo.iconDefault:"rgba(0,0,0,0.2)",transition:"background-color 150ms ease"}},de))})]})})})(),Df.map(({type:w,icon:H,label:q,shortcut:ye})=>Se("span",{onMouseEnter:()=>nt(w),onMouseLeave:St,children:Se(Lo,{active:e.isAnnotating&&e.activeTool===w,siblingActive:e.isAnnotating,onClick:()=>It(w),children:Se(H,{size:20,strokeWidth:1.5})})},w)),Se("span",{onMouseEnter:()=>nt("model"),onMouseLeave:St,children:Se(Lo,{active:e.isAnnotating&&e.activeTool==="model",siblingActive:e.isAnnotating,onClick:()=>It("model"),children:Se(Cf,{size:17,strokeWidth:1.5})})})]}),Se(gc,{}),Mt("div",{style:{display:"flex",flexDirection:"row",gap:4,alignItems:"center"},children:[(Gt.length>0||e.styleModifications.length>0||e.spacingTokenChanges.filter(w=>!w.captured).length>0)&&(()=>{var de;let w=Nt!==null&&Nt<Gt.length?Gt[Nt]:null,H=e.annotations.length>0&&e.annotations.every(ge=>ge.status&&ge.status!=="pending"),q=Nt!==null?(de=w==null?void 0:w.annotations.some(ge=>ge.status&&ge.status!=="pending"))!=null?de:!1:H,ye=`oklch(0.628 0.258 ${rn})`;return Se("span",{onMouseEnter:()=>nt("counter"),onMouseLeave:St,children:Se("button",{ref:Nn,type:"button",onClick:()=>{if(Ge.current){Ge.current=!1;return}Jt()},onMouseDown:En,onMouseUp:At,onMouseLeave:At,title:"",style:{display:"flex",alignItems:"center",justifyContent:"center",gap:4,minWidth:20,height:20,padding:"0 8px",marginRight:4,border:"none",borderRadius:0,background:q&&Nt===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 ge=Gt.length+e.styleModifications.length+e.spacingTokenChanges.filter(Ie=>!Ie.captured).length;if(Nt!==null)return Mt($r,{children:[Nt+1,Mt("span",{style:{opacity:.4,display:"flex",gap:4},children:[Se("span",{children:"/"}),Se("span",{children:ge})]})]});let He=Pn.length+e.styleModifications.length+e.spacingTokenChanges.filter(Ie=>!Ie.captured).length;return ge>He?Mt($r,{children:[He,Mt("span",{style:{opacity:.4,display:"flex",gap:4},children:[Se("span",{children:"/"}),Se("span",{children:ge})]})]}):ge})()})})})(),(e.annotations.length>0||e.styleModifications.length>0)&&Se("span",{onMouseEnter:()=>nt("clear"),onMouseLeave:St,children:Se(Lo,{siblingActive:e.isAnnotating,onClick:xt,title:"Clear all (\u2318\u232B)",children:Se(Lf,{size:17,strokeWidth:1.5})})}),d&&Mt($r,{children:[Se("div",{style:{width:1,height:20,backgroundColor:"rgba(0, 0, 0, 0.05)",margin:"0 2px"}}),Se("span",{onMouseEnter:()=>nt("provider"),onMouseLeave:St,style:{display:"contents"},children:Mt("div",{style:{display:"flex",alignItems:"center",gap:0},children:[Se(Lo,{onClick:()=>d(Rt),children:Se(Fr,{provider:l})}),Mt("button",{type:"button",onClick:()=>{let w=(p+1)%u;b==null||b(w)},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:wo.iconDefault,whiteSpace:"nowrap"},children:[Se("span",{children:g}),Se("span",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:_n.map(w=>Se("div",{style:{width:w.overflow?2:3,height:w.overflow?2:3,borderRadius:"50%",backgroundColor:w.active?wo.iconDefault:"rgba(0,0,0,0.2)",opacity:w.overflow?.65:1,transition:"background-color 150ms ease, opacity 150ms ease"}},w.key))})]})]})})]}),Se("div",{ref:mo,style:{display:"inline-flex",cursor:"pointer"},children:Se("button",{type:"button",onClick:Zn,title:"Collapse (\u2318\u2318)",style:{display:"flex",alignItems:"center",justifyContent:"center",width:32,height:32,border:"none",background:"none",padding:0,cursor:"inherit"},children:Se("svg",{"data-popmelt-logo":!0,width:"30",height:"30",viewBox:"0 0 40 40",fill:ao,stroke:"none",xmlns:"http://www.w3.org/2000/svg",children:Se("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"})})})})]})]})]}):Mt($r,{children:[Se("style",{children:`
16
16
  @keyframes popmelt-border-march { to { background-position: 0 -5px; } }
17
- `}),Ct("div",{ref:T=>{En.current=T,ce&&(ce.current=T)},id:"devtools-toolbar",style:h(f({},co),{overflow:"visible",opacity:o?1:.5}),children:[po,xe("button",{type:"button",style:{display:"flex",alignItems:"center",justifyContent:"center",width:48,height:48,border:"none",background:"none",cursor:"pointer",padding:0},onClick:()=>{Pe(!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:Zo,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 Ff,useEffect as to,useRef as zr,useState as ki}from"react";import{Fragment as kc,jsx as It,jsxs as Sr}from"react/jsx-runtime";var $f=24,zf=6,Wf=$f-zf,jf=8,Ec=h(f({display:"flex",alignItems:"center",gap:3,padding:0,backgroundColor:"#eaeaea"},wo),{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"nowrap",transition:"transform 200ms ease, opacity 200ms ease"});function Gf(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],r=String(n.data.tool||""),o=n.data.file?String(n.data.file):null,i=o?(a=o.split("/").pop())!=null?a:o:null,s=n.data.content?String(n.data.content):null;switch(r){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 r?`Using ${r}`:"Working\u2026"}}function Yf(e){let t=e.replace(/^Error:\s*/i,"");return t.length>40?t.slice(0,37)+"...":t}function Jf(e,t){if(e.some(i=>i.type==="question"&&i.data.jobId===t))return"Has a question";let r=new Set(["Edit","Write"]);return e.some(i=>i.type==="tool_use"&&i.data.jobId===t&&r.has(String(i.data.tool||"")))?"Applied changes":"Replied"}function Uf({color:e}){let[t,n]=ki(0);return to(()=>{let r=setInterval(()=>{n(o=>(o+1)%2)},250);return()=>clearInterval(r)},[]),It("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?Sr(kc,{children:[It("circle",{cx:"7",cy:"7",r:"2"}),It("circle",{cx:"17",cy:"7",r:"2"}),It("circle",{cx:"7",cy:"17",r:"2"}),It("circle",{cx:"17",cy:"17",r:"2"})]}):Sr(kc,{children:[It("circle",{cx:"12",cy:"6",r:"2"}),It("circle",{cx:"6",cy:"12",r:"2"}),It("circle",{cx:"18",cy:"12",r:"2"}),It("circle",{cx:"12",cy:"18",r:"2"})]})})}function Vf({color:e}){return It("span",{style:{display:"inline-block",width:8,height:8,backgroundColor:e,opacity:.6}})}function Xf({color:e}){return It("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function Kf(){return It("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ef4444"}})}function qf({onCancel:e}){let t=zr(null);return to(()=>{let n=t.current;if(!n)return;let r=s=>{s.stopPropagation(),e()},o=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",r),n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",r),n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",i)}},[e]),It("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 Zf({onDismiss:e}){let t=zr(null);return to(()=>{let n=t.current;if(!n)return;let r=s=>{s.stopPropagation(),e()},o=()=>{n.style.opacity="0.5"},i=()=>{n.style.opacity="0.7"};return n.addEventListener("click",r),n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",i),()=>{n.removeEventListener("click",r),n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",i)}},[e]),It("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 Tc({bridge:e,inFlightJobs:t,isVisible:n,onHover:r,clearSignal:o,onViewThread:i,onClickJob:s,onCancel:a,onHoverJob:l,isConnected:d,dismissedThreadIds:c,snapPosition:p="bottom-right"}){let[u,g]=ki([]),[b,v]=ki(!1),[R,C]=ki(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});to(()=>{let B=()=>C({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",B),()=>window.removeEventListener("resize",B)},[]);let G=ja(p,R.w,R.h);to(()=>{o>0&&g([])},[o]),to(()=>{!c||c.size===0||g(B=>{let ce=B.filter(Q=>!Q.threadId||!c.has(Q.threadId));return ce.length===B.length?B:ce})},[c]),to(()=>{g(B=>{var Re;let ce=new Set(B.map(Me=>Me.jobId)),Q=!1,q=B.map(Me=>{let et=t[Me.jobId];return et&&(!Me.threadId||Me.color==="#888")?(Q=!0,h(f({},Me),{threadId:Me.threadId||et.threadId,color:Me.color==="#888"?et.color:Me.color})):Me});for(let[Me,et]of Object.entries(t))ce.has(Me)||(q.push({jobId:Me,color:et.color,status:"queued",threadId:et.threadId}),Q=!0);let Ee=new Set(Object.keys(t)),De=new Set(e.activeJobIds),pe=q.filter(Me=>Me.status!=="queued"?!0:Ee.has(Me.jobId)||De.has(Me.jobId));pe.length!==q.length&&(Q=!0);let Pe=new Set(pe.map(Me=>Me.jobId));for(let Me of e.activeJobIds)if(!Pe.has(Me)){let et=e.events.find(Ve=>Ve.type==="job_started"&&Ve.data.jobId===Me);pe.push({jobId:Me,color:"#888",status:"working",threadId:(Re=et==null?void 0:et.data)==null?void 0:Re.threadId}),Q=!0}return Q?pe:B})},[t,e.activeJobIds]),to(()=>{if(e.activeJobIds.length===0)return;let B=new Set(e.activeJobIds);g(ce=>ce.map(Q=>B.has(Q.jobId)&&Q.status!=="done"&&Q.status!=="error"?h(f({},Q),{status:"working"}):Q))},[e.activeJobIds]);let L=zr(null);to(()=>{let B=e.lastCompletedJobId;if(!B||B===L.current)return;L.current=B;let ce=e.events.find(Pe=>Pe.type==="error"&&(Pe.data.jobId===B||e.status==="error")),Q=!!ce,q=Q?void 0:Jf(e.events,B),Ee=ce?String(ce.data.message||""):void 0,De=ce?!!ce.data.cancelled:void 0,pe=ce==null?void 0:ce.data.threadId;g(Pe=>Pe.map(Re=>Re.jobId===B?h(f({},Re),{status:Q?"error":"done",doneLabel:q,errorMessage:Ee,cancelled:De,threadId:Re.threadId||pe}):Re))},[e.lastCompletedJobId,e.events,e.status]);let A=n&&(u.length>0||d===!1),E=zr(null);to(()=>{if(!A)return;let B=E.current;if(!B)return;let ce=()=>{v(!0),r(!0)},Q=()=>{v(!1),r(!1),l==null||l(null)};return B.addEventListener("mouseenter",ce),B.addEventListener("mouseleave",Q),()=>{B.removeEventListener("mouseenter",ce),B.removeEventListener("mouseleave",Q)}},[A,r,l]);let _=zr(new Map),ie=Ff((B,ce)=>{ce?_.current.set(B,ce):_.current.delete(B)},[]);if(to(()=>{if(!A)return;let B=[];for(let ce of u){let Q=_.current.get(ce.jobId);if(Q){if(s){let q=ce.jobId,Ee=()=>s(q);Q.addEventListener("click",Ee),B.push(()=>Q.removeEventListener("click",Ee))}if(l){let q=ce.jobId,Ee=()=>l(q),De=()=>l(null);Q.addEventListener("mouseenter",Ee),Q.addEventListener("mouseleave",De),B.push(()=>{Q.removeEventListener("mouseenter",Ee),Q.removeEventListener("mouseleave",De)})}}}return()=>B.forEach(ce=>ce())},[A,u,s,l]),!A)return null;let oe={working:3,queued:2,error:1,done:0},Y=[],K=new Map;for(let B of u){if(!B.threadId){Y.push(B);continue}let ce=K.get(B.threadId);(!ce||oe[B.status]>oe[ce.status]||oe[B.status]===oe[ce.status])&&K.set(B.threadId,B)}for(let B of K.values())Y.push(B);let H=Y.filter(B=>B.status==="queued"),ee=new Map;H.forEach((B,ce)=>{ee.set(B.jobId,`(${ce+1}/${H.length})`)});let k=!b&&Y.length>1,Ae=No(p),X=Ho(p),ge=Ae?Y:[...Y].reverse();return Sr("div",{ref:E,style:G,"data-devtools":!0,children:[It("style",{children:"@keyframes popmelt-badge-march { to { background-position: 0 -5px; } }"}),ge.map((B,ce)=>{var De;let Q=ce===Y.length-1,q=Y.length-1-ce,Ee=B.status==="working"?Gf(e.events.filter(pe=>pe.data.jobId===B.jobId)):B.status==="queued"?`Queued ${(De=ee.get(B.jobId))!=null?De:""}`:B.status==="done"?B.doneLabel||"Done":B.cancelled?"Cancelled":B.errorMessage?Yf(B.errorMessage):"Error";return It("div",{style:{position:"relative",zIndex:Y.length-ce,marginBottom:k?Q?0:-Wf:Q?0:jf,transform:k?`scale(${Math.max(.94,1-q*.02)})`:"scale(1)",opacity:1,transformOrigin:`${Ae?"top":"bottom"} ${X?"right":"left"}`,transition:"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:Sr("div",{ref:pe=>ie(B.jobId,pe),style:f(h(f({},Ec),{position:"relative",overflow:"visible",cursor:s?"pointer":void 0}),B.status==="working"&&{borderImage:"none",borderColor:"transparent"}),title:B.errorMessage||void 0,children:[B.status==="working"&&(()=>{let pe=`<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='${B.color}' stroke-width='.75'/></svg>`;return It("div",{style:{position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(pe)}")`,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"}})})(),Sr("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:B.status==="error"?"#ef4444":B.color,color:"#ffffff"},children:[B.status==="working"&&It(Uf,{color:"#ffffff"}),B.status==="queued"&&It(Vf,{color:"#ffffff"}),B.status==="done"&&It(Xf,{color:"#ffffff"}),B.status==="error"&&It(Kf,{}),It("span",{style:{opacity:B.status==="queued"?.6:1,maxWidth:160,overflow:"hidden",textOverflow:"ellipsis"},children:Ee}),B.status==="working"&&a&&It(qf,{onCancel:()=>a(B.jobId)}),(B.status==="done"||B.status==="error")&&It(Zf,{onDismiss:()=>g(pe=>pe.filter(Pe=>B.threadId?Pe.threadId!==B.threadId:Pe.jobId!==B.jobId))})]})]})},B.jobId)}),d===!1&&u.length>0&&It("div",{style:Ec,children:Sr("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:"#f59e0b",color:"#ffffff"},children:[It("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),It("span",{children:"Reconnecting\u2026"})]})})]})}import{Fragment as tg,jsx as eg,jsxs as ng}from"react/jsx-runtime";var Qf=`
17
+ `}),Mt("div",{ref:w=>{or.current=w,fe&&(fe.current=w)},id:"devtools-toolbar",style:h(f({},go),{overflow:"visible",opacity:r?1:.5}),children:[Ao,Se("button",{type:"button",style:{display:"flex",alignItems:"center",justifyContent:"center",width:48,height:48,border:"none",background:"none",cursor:"pointer",padding:0},onClick:()=>{Fe(!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:Se("svg",{"data-popmelt-logo":!0,width:"30",height:"30",viewBox:"0 0 40 40",fill:"none",stroke:ao,strokeWidth:"1",strokeLinejoin:"round",xmlns:"http://www.w3.org/2000/svg",children:Se("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 Hf,useEffect as io,useRef as zr,useState as Mi}from"react";import{Fragment as wc,jsx as Lt,jsxs as kr}from"react/jsx-runtime";var Ff=24,$f=6,zf=Ff-$f,Wf=8,Sc=h(f({display:"flex",alignItems:"center",gap:3,padding:0,backgroundColor:"#eaeaea"},xr),{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"nowrap",transition:"transform 200ms ease, opacity 200ms ease"});function Gf(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 jf(e){let t=e.replace(/^Error:\s*/i,"");return t.length>40?t.slice(0,37)+"...":t}function Yf(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 Jf({color:e}){let[t,n]=Mi(0);return io(()=>{let o=setInterval(()=>{n(r=>(r+1)%2)},250);return()=>clearInterval(o)},[]),Lt("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?kr(wc,{children:[Lt("circle",{cx:"7",cy:"7",r:"2"}),Lt("circle",{cx:"17",cy:"7",r:"2"}),Lt("circle",{cx:"7",cy:"17",r:"2"}),Lt("circle",{cx:"17",cy:"17",r:"2"})]}):kr(wc,{children:[Lt("circle",{cx:"12",cy:"6",r:"2"}),Lt("circle",{cx:"6",cy:"12",r:"2"}),Lt("circle",{cx:"18",cy:"12",r:"2"}),Lt("circle",{cx:"12",cy:"18",r:"2"})]})})}function Uf({color:e}){return Lt("span",{style:{display:"inline-block",width:8,height:8,backgroundColor:e,opacity:.6}})}function Vf({color:e}){return Lt("span",{style:{color:e,fontSize:12,lineHeight:1,width:10,display:"inline-block"},children:"\u2713"})}function Xf(){return Lt("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ef4444"}})}function Kf({onCancel:e}){let t=zr(null);return io(()=>{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]),Lt("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 qf({onDismiss:e}){let t=zr(null);return io(()=>{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]),Lt("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 Cc({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]=Mi([]),[b,x]=Mi(!1),[A,T]=Mi(()=>typeof window!="undefined"?{w:window.innerWidth,h:window.innerHeight}:{w:1920,h:1080});io(()=>{let D=()=>T({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",D),()=>window.removeEventListener("resize",D)},[]);let z=Fa(p,A.w,A.h);io(()=>{r>0&&g([])},[r]),io(()=>{!c||c.size===0||g(D=>{let ae=D.filter(I=>!I.threadId||!c.has(I.threadId));return ae.length===D.length?D:ae})},[c]),io(()=>{g(D=>{var Re;let ae=new Set(D.map(Ce=>Ce.jobId)),I=!1,pe=D.map(Ce=>{let at=t[Ce.jobId];return at&&(!Ce.threadId||Ce.color==="#888")?(I=!0,h(f({},Ce),{threadId:Ce.threadId||at.threadId,color:Ce.color==="#888"?at.color:Ce.color})):Ce});for(let[Ce,at]of Object.entries(t))ae.has(Ce)||(pe.push({jobId:Ce,color:at.color,status:"queued",threadId:at.threadId}),I=!0);let me=new Set(Object.keys(t)),Fe=new Set(e.activeJobIds),we=pe.filter(Ce=>Ce.status!=="queued"?!0:me.has(Ce.jobId)||Fe.has(Ce.jobId));we.length!==pe.length&&(I=!0);let Je=new Set(we.map(Ce=>Ce.jobId));for(let Ce of e.activeJobIds)if(!Je.has(Ce)){let at=e.events.find(gt=>gt.type==="job_started"&&gt.data.jobId===Ce);we.push({jobId:Ce,color:"#888",status:"working",threadId:(Re=at==null?void 0:at.data)==null?void 0:Re.threadId}),I=!0}return I?we:D})},[t,e.activeJobIds]),io(()=>{if(e.activeJobIds.length===0)return;let D=new Set(e.activeJobIds);g(ae=>ae.map(I=>D.has(I.jobId)&&I.status!=="done"&&I.status!=="error"?h(f({},I),{status:"working"}):I))},[e.activeJobIds]);let P=zr(null);io(()=>{let D=e.lastCompletedJobId;if(!D||D===P.current)return;P.current=D;let ae=e.events.find(Je=>Je.type==="error"&&(Je.data.jobId===D||e.status==="error")),I=!!ae,pe=I?void 0:Yf(e.events,D),me=ae?String(ae.data.message||""):void 0,Fe=ae?!!ae.data.cancelled:void 0,we=ae==null?void 0:ae.data.threadId;g(Je=>Je.map(Re=>Re.jobId===D?h(f({},Re),{status:I?"error":"done",doneLabel:pe,errorMessage:me,cancelled:Fe,threadId:Re.threadId||we}):Re))},[e.lastCompletedJobId,e.events,e.status]);let O=n&&(u.length>0||d===!1),k=zr(null);io(()=>{if(!O)return;let D=k.current;if(!D)return;let ae=()=>{x(!0),o(!0)},I=()=>{x(!1),o(!1),l==null||l(null)};return D.addEventListener("mouseenter",ae),D.addEventListener("mouseleave",I),()=>{D.removeEventListener("mouseenter",ae),D.removeEventListener("mouseleave",I)}},[O,o,l]);let G=zr(new Map),re=Hf((D,ae)=>{ae?G.current.set(D,ae):G.current.delete(D)},[]);if(io(()=>{if(!O)return;let D=[];for(let ae of u){let I=G.current.get(ae.jobId);if(I){if(s){let pe=ae.jobId,me=()=>s(pe);I.addEventListener("click",me),D.push(()=>I.removeEventListener("click",me))}if(l){let pe=ae.jobId,me=()=>l(pe),Fe=()=>l(null);I.addEventListener("mouseenter",me),I.addEventListener("mouseleave",Fe),D.push(()=>{I.removeEventListener("mouseenter",me),I.removeEventListener("mouseleave",Fe)})}}}return()=>D.forEach(ae=>ae())},[O,u,s,l]),!O)return null;let oe={working:3,queued:2,error:1,done:0},W=[],Q=new Map;for(let D of u){if(!D.threadId){W.push(D);continue}let ae=Q.get(D.threadId);(!ae||oe[D.status]>oe[ae.status]||oe[D.status]===oe[ae.status])&&Q.set(D.threadId,D)}for(let D of Q.values())W.push(D);let N=W.filter(D=>D.status==="queued"),ee=new Map;N.forEach((D,ae)=>{ee.set(D.jobId,`(${ae+1}/${N.length})`)});let M=!b&&W.length>1,Le=zo(p),V=Wo(p),fe=Le?W:[...W].reverse();return kr("div",{ref:k,style:z,"data-devtools":!0,children:[Lt("style",{children:"@keyframes popmelt-badge-march { to { background-position: 0 -5px; } }"}),fe.map((D,ae)=>{var Fe;let I=ae===W.length-1,pe=W.length-1-ae,me=D.status==="working"?Gf(e.events.filter(we=>we.data.jobId===D.jobId)):D.status==="queued"?`Queued ${(Fe=ee.get(D.jobId))!=null?Fe:""}`:D.status==="done"?D.doneLabel||"Done":D.cancelled?"Cancelled":D.errorMessage?jf(D.errorMessage):"Error";return Lt("div",{style:{position:"relative",zIndex:W.length-ae,marginBottom:M?I?0:-zf:I?0:Wf,transform:M?`scale(${Math.max(.94,1-pe*.02)})`:"scale(1)",opacity:1,transformOrigin:`${Le?"top":"bottom"} ${V?"right":"left"}`,transition:"margin-bottom 250ms ease, transform 250ms ease, opacity 250ms ease"},children:kr("div",{ref:we=>re(D.jobId,we),style:f(h(f({},Sc),{position:"relative",overflow:"visible",cursor:s?"pointer":void 0}),D.status==="working"&&{borderImage:"none",borderColor:"transparent"}),title:D.errorMessage||void 0,children:[D.status==="working"&&(()=>{let we=`<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='${D.color}' stroke-width='.75'/></svg>`;return Lt("div",{style:{position:"absolute",inset:-3,padding:5,backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(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",animation:"popmelt-badge-march 0.8s linear infinite"}})})(),kr("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:D.status==="error"?"#ef4444":D.color,color:"#ffffff"},children:[D.status==="working"&&Lt(Jf,{color:"#ffffff"}),D.status==="queued"&&Lt(Uf,{color:"#ffffff"}),D.status==="done"&&Lt(Vf,{color:"#ffffff"}),D.status==="error"&&Lt(Xf,{}),Lt("span",{style:{opacity:D.status==="queued"?.6:1,maxWidth:160,overflow:"hidden",textOverflow:"ellipsis"},children:me}),D.status==="working"&&a&&Lt(Kf,{onCancel:()=>a(D.jobId)}),(D.status==="done"||D.status==="error")&&Lt(qf,{onDismiss:()=>g(we=>we.filter(Je=>D.threadId?Je.threadId!==D.threadId:Je.jobId!==D.jobId))})]})]})},D.jobId)}),d===!1&&u.length>0&&Lt("div",{style:Sc,children:kr("div",{style:{display:"flex",alignItems:"center",gap:3,padding:"3px 5px 3px 8px",margin:3,backgroundColor:"#f59e0b",color:"#ffffff"},children:[Lt("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#ffffff",opacity:.6}}),Lt("span",{children:"Reconnecting\u2026"})]})})]})}import{Fragment as eg,jsx as Qf,jsxs as tg}from"react/jsx-runtime";var Zf=`
19
19
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
20
20
  :host {
21
21
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
@@ -44,9 +44,9 @@ Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{
44
44
  color: initial;
45
45
  -webkit-font-smoothing: auto;
46
46
  }
47
- `;function Mc({children:e}){return ng(tg,{children:[eg("style",{children:Qf}),e]})}import{useEffect as og,useLayoutEffect as rg,useRef as ig,useState as Ic}from"react";import{createPortal as sg}from"react-dom";import{Fragment as dg,jsx as cg,jsxs as ug}from"react/jsx-runtime";function ag(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function lg(e){let t=new Map,n=e.firstChild;function r(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 o(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&&r(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&&ag(l)&&r(l);for(let l of a.removedNodes)l instanceof Element&&o(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 Rc({children:e}){let t=ig(null),[n,r]=Ic(null),[o,i]=Ic(null);return rg(()=>{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),r(a),i(l)},[]),og(()=>{if(n)return lg(n)},[n]),ug(dg,{children:[cg("div",{ref:t,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",zIndex:1e4}}),o&&sg(e,o)]})}import{memo as bg,useCallback as wr,useEffect as ao,useMemo as Lc,useRef as no,useState as Un}from"react";import{jsx as Je,jsxs as Xo}from"react/jsx-runtime";var zs="ui-monospace, SFMono-Regular, Menlo, monospace",pg=0;function fg({size:e=11}){let t=++pg,n=`pm-vs-m${t}`,r=`pm-vs-f0-${t}`,o=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return Xo("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:[Je("mask",{id:n,maskType:"alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:Je("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"})}),Xo("g",{mask:`url(#${n})`,children:[Je("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"}),Je("g",{filter:`url(#${r})`,children:Je("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"})}),Je("g",{filter:`url(#${o})`,children:Je("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"})}),Je("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:Je("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})`})})]}),Xo("defs",{children:[Xo("filter",{id:r,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Je("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Je("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"}),Je("feOffset",{}),Je("feGaussianBlur",{stdDeviation:"4.16667"}),Je("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"}),Je("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Je("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),Xo("filter",{id:o,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Je("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Je("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"}),Je("feOffset",{}),Je("feGaussianBlur",{stdDeviation:"4.16667"}),Je("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"}),Je("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Je("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),Xo("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[Je("stop",{stopColor:"white"}),Je("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var gg=/^#[0-9a-fA-F]{3,8}$/,mg=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,hg=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 yg(e){let t=e.trim();return gg.test(t)||mg.test(t)||hg.has(t.toLowerCase())}function $s(e,t){return Je("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 Wr(e){let t=[],n=/(`[^`]+`)|(\*\*\*(.+?)\*\*\*)|(\*\*(.+?)\*\*)|(\*(.+?)\*)|(_([^_]+?)_)|(\[([^\]]+)\]\(([^)]+)\))|(#[0-9a-fA-F]{3,8})(?![0-9a-fA-F])|((?:rgba?|hsla?|oklch)\([^)]+\))/g,r=0,o;for(;(o=n.exec(e))!==null;){if(o.index>r&&t.push(e.slice(r,o.index)),o[1]){let i=o[1].slice(1,-1);yg(i)&&t.push($s(i,`sw-${o.index}`)),t.push(Je("code",{style:{fontFamily:zs,fontSize:"0.9em",backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px",borderRadius:2},children:i},o.index))}else if(o[3]!==void 0)t.push(Je("strong",{children:Je("em",{children:o[3]})},o.index));else if(o[5]!==void 0)t.push(Je("strong",{children:o[5]},o.index));else if(o[7]!==void 0)t.push(Je("em",{children:o[7]},o.index));else if(o[9]!==void 0)t.push(Je("em",{children:o[9]},o.index));else if(o[11]!==void 0&&o[12]!==void 0){let i=o[12],s=!/^https?:\/\/|^mailto:/i.test(i),a=s?`vscode://file/${i}`:i;s?t.push(Xo("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:zs,fontSize:"0.9em"},children:[o[11],Je(fg,{})]},o.index)):t.push(Je("a",{href:a,target:"_blank",rel:"noopener noreferrer",style:{color:"inherit",textDecoration:"underline"},children:o[11]},o.index))}else o[13]!==void 0?(t.push($s(o[13],`sw-${o.index}`)),t.push(o[13])):o[14]!==void 0&&(t.push($s(o[14],`sw-${o.index}`)),t.push(o[14]));r=o.index+o[0].length}return r<e.length&&t.push(e.slice(r)),t}function so(e){var o;let t=e.split(`
48
- `),n=[],r=0;for(;r<t.length;){let i=t[r];if(i.trimStart().startsWith("```")){let d=[];for(r++;r<t.length&&!t[r].trimStart().startsWith("```");)d.push(t[r]),r++;r++,n.push(Je("pre",{style:{fontFamily:zs,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(Je("hr",{style:{border:"none",borderTop:"1px solid rgba(0,0,0,0.1)",margin:"6px 0"}},n.length)),r++;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(Je("div",{style:{fontWeight:700,fontSize:(o=c[d])!=null?o:12,margin:"8px 0 2px"},children:Wr(s[2])},n.length)),r++;continue}if(i.trimStart().startsWith("|")&&i.trimEnd().endsWith("|")){let d=[];for(;r<t.length&&t[r].trimStart().startsWith("|")&&t[r].trimEnd().endsWith("|");)d.push(t[r]),r++;let c=C=>/^\|[\s\-:|]+\|$/.test(C),p=d.filter(C=>!c(C)),u=C=>C.split("|").slice(1,-1).map(G=>G.trim()),g=C=>/^\*\*.+\*\*$/.test(C)||/^__.+__$/.test(C),b=p.map(u),v=b.length>1&&b.slice(1).every(C=>C[0]&&g(C[0])),R=b.length>0&&b[0].every(C=>g(C));n.push(Je("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:Je("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:Je("tbody",{children:p.map((C,G)=>Je("tr",{children:u(C).map((L,A)=>Je(G===0?"th":"td",{style:f({border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:G===0?600:400,minWidth:60,whiteSpace:"nowrap"},A===0&&v||G===0&&R?h(f(f({position:"sticky"},A===0&&v?{left:0}:{}),G===0&&R?{top:0}:{}),{background:"#fff",zIndex:A===0&&v&&G===0&&R?2:1}):{}),children:Wr(L)},A))},G))})})},n.length));continue}if(i.match(/^(\s*)([-*])\s+(.+)/)){let d=[];for(;r<t.length;){let c=t[r].match(/^\s*[-*]\s+(.+)/);if(c)d.push(c[1]),r++;else if(d.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))d[d.length-1]+=" "+t[r].trim(),r++;else break}n.push(Je("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8},children:d.map((c,p)=>Je("li",{children:Wr(c)},p))},n.length));continue}if(i.match(/^(\s*)\d+\.\s+(.+)/)){let d=[];for(;r<t.length;){let c=t[r].match(/^\s*\d+\.\s+(.+)/);if(c)d.push(c[1]),r++;else if(d.length>0&&t[r].match(/^\s+\S/)&&!t[r].match(/^\s*\d+\.\s/)&&!t[r].match(/^\s*[-*]\s+/))d[d.length-1]+=" "+t[r].trim(),r++;else break}n.push(Je("ol",{style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8},children:d.map((c,p)=>Je("li",{children:Wr(c)},p))},n.length));continue}if(i.trim()===""){r++;continue}n.push(Je("div",{children:Wr(i)},n.length)),r++}return Je("div",{style:{display:"flex",flexDirection:"column",gap:8},children:n})}import{Fragment as To,jsx as ue,jsxs as ct}from"react/jsx-runtime";var Oc=400,Ln=16,Bc=3,xg=3,Dc=4,vg=8,Ws="devtools-thread-panel-position",Cr=Oc+2*Bc+2*Dc,Sg=Cr+2*xg;function js(){return{top:Ln,left:window.innerWidth-Cr-Ln}}function Ac(e,t,n){let r=n==null?void 0:n.getBoundingClientRect(),o=2*Bc+2*Dc,i=window.innerHeight-Ln-o;return r&&t+Sg>r.left&&(i=r.top-vg-o),Math.max(200,i-Math.max(0,e))}var wg={width:Oc,backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",boxSizing:"content-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,fontFamily:Vt,fontSize:12,color:"#1f2937",pointerEvents:"auto"},Cg={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 5px 4px 10px",margin:0,fontWeight:600,fontSize:12,overflow:"hidden"},Eg={flex:1,overflowY:"auto",padding:0,scrollbarWidth:"none"},kg=`
47
+ `;function Ec({children:e}){return tg(eg,{children:[Qf("style",{children:Zf}),e]})}import{useEffect as ng,useLayoutEffect as og,useRef as rg,useState as kc}from"react";import{createPortal as ig}from"react-dom";import{Fragment as cg,jsx as lg,jsxs as dg}from"react/jsx-runtime";function sg(e){return e.tagName==="STYLE"||e.tagName==="LINK"&&e.rel==="stylesheet"}function ag(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&&sg(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 Tc({children:e}){let t=rg(null),[n,o]=kc(null),[r,i]=kc(null);return og(()=>{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)},[]),ng(()=>{if(n)return ag(n)},[n]),dg(cg,{children:[lg("div",{ref:t,"data-popmelt-shadow-host":!0,style:{position:"absolute",width:0,height:0,overflow:"visible",zIndex:1e4}}),r&&ig(e,r)]})}import{memo as yg,useCallback as Tr,useEffect as po,useMemo as Mc,useRef as so,useState as Xn}from"react";import{jsx as Ve,jsxs as tr}from"react/jsx-runtime";var Fs="ui-monospace, SFMono-Regular, Menlo, monospace",ug=0;function pg({size:e=11}){let t=++ug,n=`pm-vs-m${t}`,o=`pm-vs-f0-${t}`,r=`pm-vs-f1-${t}`,i=`pm-vs-g${t}`;return tr("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:[Ve("mask",{id:n,maskType:"alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"100",height:"100",children:Ve("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"})}),tr("g",{mask:`url(#${n})`,children:[Ve("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"}),Ve("g",{filter:`url(#${o})`,children:Ve("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"})}),Ve("g",{filter:`url(#${r})`,children:Ve("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"})}),Ve("g",{style:{mixBlendMode:"overlay"},opacity:"0.25",children:Ve("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})`})})]}),tr("defs",{children:[tr("filter",{id:o,x:"-8.39411",y:"15.8291",width:"116.727",height:"92.2456",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Ve("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Ve("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"}),Ve("feOffset",{}),Ve("feGaussianBlur",{stdDeviation:"4.16667"}),Ve("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"}),Ve("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Ve("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),tr("filter",{id:r,x:"60.4167",y:"-8.07558",width:"47.9167",height:"116.151",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[Ve("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),Ve("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"}),Ve("feOffset",{}),Ve("feGaussianBlur",{stdDeviation:"4.16667"}),Ve("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"}),Ve("feBlend",{mode:"overlay",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),Ve("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})]}),tr("linearGradient",{id:i,x1:"49.9392",y1:"0.257812",x2:"49.9392",y2:"99.7423",gradientUnits:"userSpaceOnUse",children:[Ve("stop",{stopColor:"white"}),Ve("stop",{offset:"1",stopColor:"white",stopOpacity:"0"})]})]})]})}var fg=/^#[0-9a-fA-F]{3,8}$/,gg=/^(?:rgba?|hsla?|oklch)\([^)]+\)$/,mg=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 hg(e){let t=e.trim();return fg.test(t)||gg.test(t)||mg.has(t.toLowerCase())}function Hs(e,t){return Ve("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 Wr(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);hg(i)&&t.push(Hs(i,`sw-${r.index}`)),t.push(Ve("code",{style:{fontFamily:Fs,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(Ve("strong",{children:Ve("em",{children:r[3]})},r.index));else if(r[5]!==void 0)t.push(Ve("strong",{children:r[5]},r.index));else if(r[7]!==void 0)t.push(Ve("em",{children:r[7]},r.index));else if(r[9]!==void 0)t.push(Ve("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(tr("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:Fs,fontSize:"0.9em"},children:[r[11],Ve(pg,{})]},r.index)):t.push(Ve("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(Hs(r[13],`sw-${r.index}`)),t.push(r[13])):r[14]!==void 0&&(t.push(Hs(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 uo(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(Ve("pre",{style:{fontFamily:Fs,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(Ve("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(Ve("div",{style:{fontWeight:700,fontSize:(r=c[d])!=null?r:12,margin:"8px 0 2px"},children:Wr(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(z=>z.trim()),g=T=>/^\*\*.+\*\*$/.test(T)||/^__.+__$/.test(T),b=p.map(u),x=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(Ve("div",{style:{overflowX:"auto",margin:"4px 0",paddingBottom:4},children:Ve("table",{style:{borderCollapse:"separate",borderSpacing:0,fontSize:"0.95em",width:"max-content",minWidth:"100%"},children:Ve("tbody",{children:p.map((T,z)=>Ve("tr",{children:u(T).map((P,O)=>Ve(z===0?"th":"td",{style:f({border:"1px solid rgba(0,0,0,0.1)",padding:"3px 6px",textAlign:"left",fontWeight:z===0?600:400,minWidth:60,whiteSpace:"nowrap"},O===0&&x||z===0&&A?h(f(f({position:"sticky"},O===0&&x?{left:0}:{}),z===0&&A?{top:0}:{}),{background:"#fff",zIndex:O===0&&x&&z===0&&A?2:1}):{}),children:Wr(P)},O))},z))})})},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(Ve("ul",{style:{margin:0,paddingLeft:20,listStyleType:"disc",display:"flex",flexDirection:"column",gap:8},children:d.map((c,p)=>Ve("li",{children:Wr(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(Ve("ol",{style:{margin:0,paddingLeft:20,listStyleType:"decimal",display:"flex",flexDirection:"column",gap:8},children:d.map((c,p)=>Ve("li",{children:Wr(c)},p))},n.length));continue}if(i.trim()===""){o++;continue}n.push(Ve("div",{children:Wr(i)},n.length)),o++}return Ve("div",{style:{display:"flex",flexDirection:"column",gap:8},children:n})}import{Fragment as Ro,jsx as se,jsxs as dt}from"react/jsx-runtime";var Rc=400,Rn=16,Ac=3,bg=3,Pc=4,xg=8,$s="devtools-thread-panel-position",Mr=Rc+2*Ac+2*Pc,vg=Mr+2*bg;function zs(){return{top:Rn,left:window.innerWidth-Mr-Rn}}function Ic(e,t,n){let o=n==null?void 0:n.getBoundingClientRect(),r=2*Ac+2*Pc,i=window.innerHeight-Rn-r;return o&&t+vg>o.left&&(i=o.top-xg-r),Math.max(200,i-Math.max(0,e))}var Sg={width:Rc,backgroundColor:"#eaeaea",borderWidth:3,borderStyle:"solid",borderColor:"transparent",boxSizing:"content-box",display:"flex",flexDirection:"column",overflow:"visible",padding:4,fontFamily:Qt,fontSize:12,color:"#1f2937",pointerEvents:"auto"},wg={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 5px 4px 10px",margin:0,fontWeight:600,fontSize:12,overflow:"hidden"},Cg={flex:1,overflowY:"auto",padding:0,scrollbarWidth:"none"},Eg=`
50
50
  [data-devtools="thread-panel-messages"]:hover {
51
51
  scrollbar-width: thin !important;
52
52
  }
@@ -60,11 +60,11 @@ Your AI gets the visual and technical context it needs to act.`,usage:[],keys:[{
60
60
  background: rgba(0,0,0,0.15);
61
61
  border-radius: 3px;
62
62
  }
63
- `,Tg={borderTop:"1px solid rgba(0, 0, 0, 0.12)",display:"flex",alignItems:"center",gap:4,padding:"0 8px 0 10px"};function Ys(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 Mg(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(r=>{if(typeof r!="object"||r===null)return!1;let o=r;return typeof o.category=="string"&&typeof o.element=="string"&&typeof o.decision=="string"&&typeof o.reason=="string"}):[]}catch(n){return[]}}function Pc(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}var Gs=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Ig=3e3,Rg=250;function Lg({color:e}){let[t,n]=Un(0),[r,o]=Un(()=>Math.floor(Math.random()*Gs.length));return ao(()=>{let i=setInterval(()=>n(a=>(a+1)%2),Rg),s=setInterval(()=>o(a=>(a+1)%Gs.length),Ig);return()=>{clearInterval(i),clearInterval(s)}},[]),ct("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[ue("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?ct(To,{children:[ue("circle",{cx:"7",cy:"7",r:"2"}),ue("circle",{cx:"17",cy:"7",r:"2"}),ue("circle",{cx:"7",cy:"17",r:"2"}),ue("circle",{cx:"17",cy:"17",r:"2"})]}):ct(To,{children:[ue("circle",{cx:"12",cy:"6",r:"2"}),ue("circle",{cx:"6",cy:"12",r:"2"}),ue("circle",{cx:"18",cy:"12",r:"2"}),ue("circle",{cx:"12",cy:"18",r:"2"})]})}),ue("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:Gs[r]})]})}var Mi=32,Ti={width:Mi,height:Mi,objectFit:"cover",cursor:"pointer",border:"1px solid rgba(0,0,0,0.1)"};function Ag(e){let t=/^`(\/[^`]*)`$/gm,n=[...e.matchAll(t)];if(n.length===0)return null;let r=[];for(let o=0;o<n.length;o++){let i=n[o],s=i[1],a=i.index+i[0].length,l=o+1<n.length?n[o+1].index:e.length,d=e.slice(a,l).trim();r.push({route:s,text:d})}return r}function Pg(e,t){let n=[];if(e.replyImageUrls)for(let r of e.replyImageUrls){let o=r.startsWith("blob:")||r.startsWith("http")?r:`${t}${r}`;n.push({url:o,label:"pasted image"})}return n}function Og(e,t){let n=[];if(e.imageUrls)for(let[,r]of Object.entries(e.imageUrls))for(let o of r)n.push({url:`${t}${o}`,label:"pasted image"});return n}function Bg({src:e,onClose:t}){return ao(()=>{let n=r=>{r.key==="Escape"&&(r.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),ue("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:ue("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 Dg(e){var i;let t=String(e.data.tool||""),n=e.data.file?String(e.data.file):null,r=n?(i=n.split("/").pop())!=null?i:n:null,o=e.data.content?String(e.data.content):null;switch(t){case"Read":return r?`Reading ${r}`:"Reading file";case"Edit":return r?`Editing ${r}`:"Editing file";case"Write":return r?`Writing ${r}`:"Writing file";case"Bash":return o?_g(o):"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 Ng=new Set(["Read","Glob","Grep","WebFetch","WebSearch"]),Hg=new Set(["Edit","Write","Bash"]);function Fg(e){let t=0,n=!1;for(let r of e){if(r.type!=="tool_use")continue;let o=String(r.data.tool||"");Hg.has(o)?n=!0:Ng.has(o)&&t++}return!n&&t>=3?"researching":n?"applying changes":null}function $g(e){var n;let t=[];for(let r of e)if(r.type==="tool_use"){let o=Dg(r),i=String(r.data.tool||""),s=r.data.file?String(r.data.file):null,a=r.data.content?String(r.data.content):null,l=(n=s!=null?s:a)!=null?n:void 0;if(o){let d=t[t.length-1];d&&d.kind==="tool_group"&&d.tool===i?d.items.push({label:o,detail:l}):t.push({kind:"tool_group",tool:i,items:[{label:o,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(r.type==="delta"){let o=String(r.data.text||"");if(!o)continue;let i=t[t.length-1];i&&i.kind==="text"?i.text+=o:t.push({kind:"text",text:o})}else if(r.type==="thinking"){let o=String(r.data.text||"");if(!o)continue;let i=t[t.length-1];i&&i.kind==="thinking"?i.text+=o:t.push({kind:"thinking",text:o})}return t}function zg({file:e,content:t,ext:n,isPlan:r,onAccept:o}){var d;let[i,s]=Un(r),a=(d=e.split("/").pop())!=null?d:e;return ct("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:[ct("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:[ue("span",{style:{fontSize:9,color:"#9ca3af"},children:i?"\u25BC":"\u25B6"}),ue("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),r&&ue("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&ct(To,{children:[ue("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"?so(t):ue("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),r&&o&&ue("div",{style:{padding:"4px 8px",borderTop:"1px solid rgba(0,0,0,0.06)",display:"flex",justifyContent:"flex-end"},children:ue("button",{onClick:c=>{c.stopPropagation(),o()},style:{background:"#111",color:"#fff",border:"none",padding:"4px 12px",fontSize:11,cursor:"pointer",fontFamily:"inherit"},children:"Accept"})})]})]})}function Wg(e){let t=[];for(let n of e){let r=t[t.length-1];r&&r.val===n?r.count++:t.push({val:n,count:1})}return t.map(n=>n.count>1?`${n.val} (x${n.count})`:n.val)}function jg(e,t){switch(e){case"Bash":{let n=t.map(r=>(r.label||"").split(/\s/)[0]).filter(Boolean);return`Used Bash: ${Wg(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 Gg={fontSize:11,color:"#9ca3af",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",lineHeight:1.6};function Yg({label:e}){let t=e.indexOf(" ");return t===-1?ue(To,{children:e}):ct(To,{children:[ue("b",{children:e.slice(0,t)}),e.slice(t)]})}function _c({tool:e,items:t}){let[n,r]=Un(!1),o=t.length>1;return ct("div",{style:Gg,children:[ct("div",{onClick:o?()=>r(i=>!i):void 0,style:{cursor:o?"pointer":"default",userSelect:"none",color:"#9ca3af"},children:[o&&ue("span",{style:{fontSize:13,marginRight:4},children:n?"\u25BE":"\u25B8"}),jg(e,t)]}),n&&ue("div",{style:{marginLeft:17},children:t.map((i,s)=>{var a;return ue("div",{children:ue(Yg,{label:(a=i.detail)!=null?a:i.label})},s)})})]})}var Jg=bg(function({msg:t,index:n,bridgeUrl:r,accentColor:o,onLightbox:i}){let s=t.role==="human";if(t.cancelled||t.error)return ct("div",{"data-msg":!0,style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:[ct("div",{style:{display:"flex",alignItems:"center",gap:4},children:[ue("span",{style:{fontSize:11,color:t.error?"#dc2626":"#9ca3af",fontStyle:"italic"},children:t.error?"Error":"Cancelled"}),ue("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:Pc(t.timestamp)})]}),t.error&&ue("div",{style:{fontSize:12,color:"#6b7280",lineHeight:1.4},children:t.error})]},`${t.jobId}-${n}`);let a=s?t.replyToQuestion||t.feedbackSummary||"(annotation)":Ys(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:ct("div",{"data-msg":!0,style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:[ct("div",{style:{display:"flex",alignItems:"center",gap:4},children:[!s&&ue(Os,{provider:t.provider,size:11,style:{color:"#6b7280"}}),ue("span",{style:{fontWeight:600,fontSize:11,color:s?o:"#6b7280"},children:s?"You":Bs(t.model,t.provider)}),ue("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:Pc(t.timestamp)})]}),s&&!t.replyToQuestion&&(()=>{let u=a?Ag(a):null;if(u&&t.screenshotUrls)return ue("div",{style:{display:"flex",flexDirection:"column",gap:4},children:u.map((b,v)=>{var G;let R=(G=t.screenshotUrls)==null?void 0:G[b.route],C=R?`${r}${R}`:null;return ct("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[C?ue("img",{src:C,title:b.route,style:h(f({},Ti),{flexShrink:0,marginTop:1}),onClick:()=>i(C)}):ue("div",{style:{width:Mi,height:Mi,flexShrink:0}}),ct("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:[ue("code",{style:{fontSize:10,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px"},children:b.route}),b.text&&ue("div",{style:{marginTop:2},children:so(b.text)})]})]},v)})});let g=t.screenshotUrl?`${r}${t.screenshotUrl}`:null;return g&&a?ct("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[ue("img",{src:g,title:"screenshot",style:h(f({},Ti),{flexShrink:0,marginTop:1}),onClick:()=>i(g)}),ue("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:a.includes(`
65
- `)?so(a):a})]}):a?ue("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
66
- `)?so(a):a}):null})(),s&&t.replyToQuestion&&a&&ue("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
67
- `)?so(a):a}),!s&&c&&t.segments.map((u,g)=>{if(u.kind==="tool_group")return ue(_c,{tool:u.tool,items:u.items},g);let b=Ys(u.text);return b?ue("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:so(b)},g):null}),!s&&!c&&a&&ue("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:so(a)}),s&&t.replyToQuestion&&(()=>{let u=Pg(t,r);return u.length===0?null:ue("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:u.map((g,b)=>ue("img",{src:g.url,title:g.label,style:Ti,onClick:()=>i(g.url)},b))})})(),s&&!t.replyToQuestion&&(()=>{let u=Og(t,r);return u.length===0?null:ue("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:u.map((g,b)=>ue("img",{src:g.url,title:g.label,style:Ti,onClick:()=>i(g.url)},b))})})(),l&&ue("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:so(l)}),(p||d)&&ct("div",{style:{padding:"8px 16px",backgroundColor:"rgba(0, 0, 0, 0.03)",fontSize:11,lineHeight:1.5,color:"#374151"},children:[p&&ue("div",{style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:10},children:t.toolsUsed.map((u,g)=>ue("div",{children:u},g))}),d&&t.resolutions.map((u,g)=>{var v;let b=(v=u.finalScope)!=null?v:u.inferredScope;return ct("div",{style:{marginTop:p?4:0},children:[ue("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=Mg(t.responseText);return u.length===0?null:ue("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)=>ct("div",{style:{marginTop:b>0?6:0},children:[ue("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}),ue("strong",{children:g.element})," \u2014 ",g.decision,ue("div",{style:{color:"#9ca3af",fontStyle:"italic",marginTop:1},children:g.reason})]},b))})})()]},`${t.jobId}-${n}`)});function Nc({threadId:e,bridgeUrl:t,accentColor:n,isStreaming:r,isQueued:o,queuePosition:i,streamingEvents:s,onClose:a,onReply:l,onCancel:d,lastError:c,onMouseEnter:p,toolbarRef:u,currentModel:g,currentProvider:b,annotationNumber:v,annotationText:R}){let[C,G]=Un([]),[L,A]=Un(!0),[E,_]=Un(""),[ie,oe]=Un([]),Y=no(!1),K=no(null),[H,ee]=Un(!0),[k,Ae]=Un(0),[X,ge]=Un(null),B=wr(N=>ge(N),[]),ce=no(null),Q=wr((N,ye)=>{let re=N&&ye.trim();ce.current&&(ce.current.style.opacity=re?"0.65":"1"),K.current&&(K.current.style.borderTop=`1px solid ${re?n:"rgba(0,0,0,0.12)"}`)},[n]),q=no(null),Ee=no(null),De=no(r),pe=no(js()),Pe=no({x:0,y:0}),Re=no(!1),Me=no({x:0,y:0,offsetX:0,offsetY:0}),et=no(!0),[,Ve]=Un(0);ao(()=>{try{let N=localStorage.getItem(Ws);if(N){let ye=JSON.parse(N);if(typeof ye.top=="number"&&typeof ye.left=="number"){let re=window.innerWidth-Cr-Ln,we={top:Math.max(Ln,Math.min(ye.top,window.innerHeight-Ln-200)),left:Math.max(Ln,Math.min(ye.left,re))};et.current=we.left>=re-2,pe.current=we,Ve(We=>We+1)}}}catch(N){}},[]),ao(()=>{let N=()=>{if(et.current)pe.current=js();else{let ye=pe.current,re=window.innerWidth-Cr-Ln;pe.current={top:Math.max(Ln,Math.min(ye.top,window.innerHeight-Ln-200)),left:Math.max(Ln,Math.min(ye.left,re))}}Ve(ye=>ye+1)};return window.addEventListener("resize",N,{passive:!0}),()=>window.removeEventListener("resize",N)},[]),ao(()=>{let N=Ee.current;if(!N)return;let ye=Ge=>{Ge.button!==0||Ge.target.closest("button")||(Ge.preventDefault(),Ge.stopPropagation(),Re.current=!0,Me.current={x:Ge.clientX,y:Ge.clientY,offsetX:Pe.current.x,offsetY:Pe.current.y})},re=Ge=>{if(!Re.current)return;let dt=Me.current,xt=dt.offsetX+(Ge.clientX-dt.x),vt=dt.offsetY+(Ge.clientY-dt.y),Oe=Math.max(Ln,Math.min(window.innerWidth-Cr-Ln,pe.current.left+xt)),ke=Math.max(Ln,pe.current.top+vt);Pe.current={x:Oe-pe.current.left,y:ke-pe.current.top};let ht=q.current;ht&&(ht.style.top=`${ke}px`,ht.style.left=`${Oe}px`,ht.style.height=`${Ac(ke,Oe,u==null?void 0:u.current)}px`)},we=()=>{if(!Re.current)return;let Ge=pe.current.top+Pe.current.y,dt=pe.current.left+Pe.current.x;pe.current={top:Ge,left:dt},Pe.current={x:0,y:0};let xt=window.innerWidth-Cr-Ln;et.current=dt>=xt-2;try{localStorage.setItem(Ws,JSON.stringify({top:Ge,left:dt}))}catch(vt){}Re.current=!1},We=()=>{pe.current=js(),Pe.current={x:0,y:0},et.current=!0;try{localStorage.removeItem(Ws)}catch(Ge){}Ve(Ge=>Ge+1)};return N.addEventListener("mousedown",ye),window.addEventListener("mousemove",re),window.addEventListener("mouseup",we),N.addEventListener("dblclick",We),()=>{N.removeEventListener("mousedown",ye),window.removeEventListener("mousemove",re),window.removeEventListener("mouseup",we),N.removeEventListener("dblclick",We)}},[]);let Tt=wr(()=>{fetch(`${t}/thread/${e}`).then(N=>N.json()).then(N=>{var ye;G((ye=N.messages)!=null?ye:[]),A(!1)}).catch(()=>A(!1))},[t,e]);ao(()=>{A(!0),Tt()},[Tt]),ao(()=>{De.current&&!r&&Tt(),De.current=r},[r]);let Mt=Lc(()=>s?$g(s):[],[s]),zt=Lc(()=>s?Fg(s):null,[s]);ao(()=>{let N=ce.current;if(!N)return;let ye=()=>{ee(N.scrollHeight-N.scrollTop-N.clientHeight<40);let we=N.scrollTop+N.clientHeight,We=N.querySelectorAll("[data-msg]"),Ge=0;for(let dt=0;dt<We.length;dt++){let xt=We[dt];xt.offsetTop+xt.offsetHeight>we+20&&Ge++}Ae(Ge)};return N.addEventListener("scroll",ye,{passive:!0}),()=>N.removeEventListener("scroll",ye)},[]),ao(()=>{H&&ce.current&&(ce.current.scrollTop=ce.current.scrollHeight)},[C,Mt.length,r,H]),ao(()=>{let N=ye=>{ye.key==="Escape"&&(ye.stopPropagation(),a())};return document.addEventListener("keydown",N),()=>document.removeEventListener("keydown",N)},[a]);let tt=wr(()=>{if(!E.trim()||!l)return;let N=E.trim(),ye=ie.length>0?ie:void 0,re=ye?ye.map(we=>URL.createObjectURL(we)):void 0;G(we=>[...we,f({role:"human",timestamp:Date.now(),jobId:"pending",replyToQuestion:N},re?{replyImageUrls:re}:{})]),l(e,N,ye),_(""),oe([])},[E,ie,e,l]),gn=wr(N=>{let ye=N.clipboardData.items,re=[];for(let we=0;we<ye.length;we++){let We=ye[we];if(We.type.startsWith("image/")){let Ge=We.getAsFile();Ge&&re.push(Ge)}}re.length>0&&(N.preventDefault(),oe(we=>[...we,...re]))},[]),$=wr(N=>{N.key==="Enter"&&(N.metaKey||N.ctrlKey)&&(N.preventDefault(),tt())},[tt]),de=pe.current.top+Pe.current.y,Te=pe.current.left+Pe.current.x,me=Ac(de,Te,u==null?void 0:u.current);return ct(To,{children:[ue("div",{"data-devtools":"thread-panel-backdrop",onMouseDown:N=>{N.target===N.currentTarget&&a()},style:{position:"fixed",inset:0,zIndex:9999}}),ct("div",{ref:q,style:h(f({},wg),{height:me,position:"fixed",top:de,left:Te,zIndex:1e4}),"data-devtools":"thread-panel",onMouseEnter:p,children:[(()=>{let ye=`<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='${r?n:"rgb(0,0,0)"}' stroke-width='.75'/></svg>`,re=`url("data:image/svg+xml,${encodeURIComponent(ye)}")`;return ct(To,{children:[ue("style",{children:`@keyframes popmelt-border-march { to { background-position: 0 -5px; } }
68
- [data-popmelt-reply]::placeholder { opacity: 0.35; }`}),ue("div",{style:f({position:"absolute",inset:-3,padding:5,backgroundImage:re,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"},r&&{animation:"popmelt-border-march 0.8s linear infinite"})})]})})(),ct("div",{style:{display:"flex",flexDirection:"column",overflow:"hidden",flex:1,minHeight:0},children:[ct("div",{ref:Ee,style:h(f({},Cg),{backgroundColor:n,color:"#ffffff",cursor:"grab",userSelect:"none",WebkitUserSelect:"none"}),children:[ct("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0},children:[ue("span",{style:{flexShrink:0},children:v?`${v}.`:"Conversation"}),R&&ue("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:R})]}),ue("button",{onClick:a,style:{background:"none",border:"none",cursor:"pointer",fontSize:16,color:"#ffffff",padding:"0 4px",lineHeight:1},children:"\xD7"})]}),ue("style",{dangerouslySetInnerHTML:{__html:kg+`
63
+ `,kg={borderTop:"1px solid rgba(0, 0, 0, 0.12)",display:"flex",alignItems:"center",gap:4,padding:"0 8px 0 10px"};function Gs(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 Tg(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 Lc(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}var Ws=["reviewing","considering","thinking","zhuzhing","iterating","tweaking","reflecting","noodling","pondering","finessing","polishing","riffing"],Mg=3e3,Ig=250;function Lg({color:e}){let[t,n]=Xn(0),[o,r]=Xn(()=>Math.floor(Math.random()*Ws.length));return po(()=>{let i=setInterval(()=>n(a=>(a+1)%2),Ig),s=setInterval(()=>r(a=>(a+1)%Ws.length),Mg);return()=>{clearInterval(i),clearInterval(s)}},[]),dt("span",{style:{display:"inline-flex",alignItems:"center",gap:4},children:[se("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:e,style:{verticalAlign:"middle",flexShrink:0},children:t===1?dt(Ro,{children:[se("circle",{cx:"7",cy:"7",r:"2"}),se("circle",{cx:"17",cy:"7",r:"2"}),se("circle",{cx:"7",cy:"17",r:"2"}),se("circle",{cx:"17",cy:"17",r:"2"})]}):dt(Ro,{children:[se("circle",{cx:"12",cy:"6",r:"2"}),se("circle",{cx:"6",cy:"12",r:"2"}),se("circle",{cx:"18",cy:"12",r:"2"}),se("circle",{cx:"12",cy:"18",r:"2"})]})}),se("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:Ws[o]})]})}var Li=32,Ii={width:Li,height:Li,objectFit:"cover",cursor:"pointer",border:"1px solid rgba(0,0,0,0.1)"};function Rg(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 Ag(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 Pg(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 Og({src:e,onClose:t}){return po(()=>{let n=o=>{o.key==="Escape"&&(o.stopPropagation(),t())};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t]),se("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:se("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 Bg(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?Dg(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 Dg(e){let t=e.split(`
64
+ `)[0].trim();return t.length<=60?t:t.slice(0,57)+"\u2026"}var _g=new Set(["Read","Glob","Grep","WebFetch","WebSearch"]),Ng=new Set(["Edit","Write","Bash"]);function Hg(e){let t=0,n=!1;for(let o of e){if(o.type!=="tool_use")continue;let r=String(o.data.tool||"");Ng.has(r)?n=!0:_g.has(r)&&t++}return!n&&t>=3?"researching":n?"applying changes":null}function Fg(e){var n;let t=[];for(let o of e)if(o.type==="tool_use"){let r=Bg(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 $g({file:e,content:t,ext:n,isPlan:o,onAccept:r}){var d;let[i,s]=Xn(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:[se("span",{style:{fontSize:9,color:"#9ca3af"},children:i?"\u25BC":"\u25B6"}),se("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),o&&se("span",{style:{fontSize:9,color:"#6366f1",fontFamily:"inherit"},children:"plan"})]}),i&&dt(Ro,{children:[se("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"?uo(t):se("pre",{style:{margin:0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:11,whiteSpace:"pre-wrap"},children:t})}),o&&r&&se("div",{style:{padding:"4px 8px",borderTop:"1px solid rgba(0,0,0,0.06)",display:"flex",justifyContent:"flex-end"},children:se("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 zg(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 Wg(e,t){switch(e){case"Bash":{let n=t.map(o=>(o.label||"").split(/\s/)[0]).filter(Boolean);return`Used Bash: ${zg(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 Gg={fontSize:11,color:"#9ca3af",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",lineHeight:1.6};function jg({label:e}){let t=e.indexOf(" ");return t===-1?se(Ro,{children:e}):dt(Ro,{children:[se("b",{children:e.slice(0,t)}),e.slice(t)]})}function Oc({tool:e,items:t}){let[n,o]=Xn(!1),r=t.length>1;return dt("div",{style:Gg,children:[dt("div",{onClick:r?()=>o(i=>!i):void 0,style:{cursor:r?"pointer":"default",userSelect:"none",color:"#9ca3af"},children:[r&&se("span",{style:{fontSize:13,marginRight:4},children:n?"\u25BE":"\u25B8"}),Wg(e,t)]}),n&&se("div",{style:{marginLeft:17},children:t.map((i,s)=>{var a;return se("div",{children:se(jg,{label:(a=i.detail)!=null?a:i.label})},s)})})]})}var Yg=yg(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:[se("span",{style:{fontSize:11,color:t.error?"#dc2626":"#9ca3af",fontStyle:"italic"},children:t.error?"Error":"Cancelled"}),se("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:Lc(t.timestamp)})]}),t.error&&se("div",{style:{fontSize:12,color:"#6b7280",lineHeight:1.4},children:t.error})]},`${t.jobId}-${n}`);let a=s?t.replyToQuestion||t.feedbackSummary||"(annotation)":Gs(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&&se(Fr,{provider:t.provider,size:11,style:{color:"#6b7280"}}),se("span",{style:{fontWeight:600,fontSize:11,color:s?r:"#6b7280"},children:s?"You":Ps(t.model,t.provider)}),se("span",{style:{fontSize:10,color:"#9ca3af",marginLeft:"auto"},children:Lc(t.timestamp)})]}),s&&!t.replyToQuestion&&(()=>{let u=a?Rg(a):null;if(u&&t.screenshotUrls)return se("div",{style:{display:"flex",flexDirection:"column",gap:4},children:u.map((b,x)=>{var z;let A=(z=t.screenshotUrls)==null?void 0:z[b.route],T=A?`${o}${A}`:null;return dt("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[T?se("img",{src:T,title:b.route,style:h(f({},Ii),{flexShrink:0,marginTop:1}),onClick:()=>i(T)}):se("div",{style:{width:Li,height:Li,flexShrink:0}}),dt("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:[se("code",{style:{fontSize:10,backgroundColor:"rgba(0,0,0,0.06)",padding:"1px 4px"},children:b.route}),b.text&&se("div",{style:{marginTop:2},children:uo(b.text)})]})]},x)})});let g=t.screenshotUrl?`${o}${t.screenshotUrl}`:null;return g&&a?dt("div",{style:{display:"flex",gap:6,alignItems:"flex-start"},children:[se("img",{src:g,title:"screenshot",style:h(f({},Ii),{flexShrink:0,marginTop:1}),onClick:()=>i(g)}),se("div",{style:{lineHeight:1.5,wordBreak:"break-word",minWidth:0},children:a.includes(`
65
+ `)?uo(a):a})]}):a?se("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
66
+ `)?uo(a):a}):null})(),s&&t.replyToQuestion&&a&&se("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:a.includes(`
67
+ `)?uo(a):a}),!s&&c&&t.segments.map((u,g)=>{if(u.kind==="tool_group")return se(Oc,{tool:u.tool,items:u.items},g);let b=Gs(u.text);return b?se("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:uo(b)},g):null}),!s&&!c&&a&&se("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:uo(a)}),s&&t.replyToQuestion&&(()=>{let u=Ag(t,o);return u.length===0?null:se("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:u.map((g,b)=>se("img",{src:g.url,title:g.label,style:Ii,onClick:()=>i(g.url)},b))})})(),s&&!t.replyToQuestion&&(()=>{let u=Pg(t,o);return u.length===0?null:se("div",{style:{display:"flex",gap:4,flexWrap:"wrap",marginTop:6},children:u.map((g,b)=>se("img",{src:g.url,title:g.label,style:Ii,onClick:()=>i(g.url)},b))})})(),l&&se("div",{style:{lineHeight:1.5,wordBreak:"break-word"},children:uo(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&&se("div",{style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:10},children:t.toolsUsed.map((u,g)=>se("div",{children:u},g))}),d&&t.resolutions.map((u,g)=>{var x;let b=(x=u.finalScope)!=null?x:u.inferredScope;return dt("div",{style:{marginTop:p?4:0},children:[se("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=Tg(t.responseText);return u.length===0?null:se("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:[se("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}),se("strong",{children:g.element})," \u2014 ",g.decision,se("div",{style:{color:"#9ca3af",fontStyle:"italic",marginTop:1},children:g.reason})]},b))})})()]},`${t.jobId}-${n}`)});function Bc({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:x,annotationText:A}){let[T,z]=Xn([]),[P,O]=Xn(!0),[k,G]=Xn(""),[re,oe]=Xn([]),W=so(!1),Q=so(null),[N,ee]=Xn(!0),[M,Le]=Xn(0),[V,fe]=Xn(null),D=Tr(te=>fe(te),[]),ae=so(null),I=Tr((te,ie)=>{let ve=te&&ie.trim();ae.current&&(ae.current.style.opacity=ve?"0.65":"1"),Q.current&&(Q.current.style.borderTop=`1px solid ${ve?n:"rgba(0,0,0,0.12)"}`)},[n]),pe=so(null),me=so(null),Fe=so(o),we=so(zs()),Je=so({x:0,y:0}),Re=so(!1),Ce=so({x:0,y:0,offsetX:0,offsetY:0}),at=so(!0),[,gt]=Xn(0);po(()=>{try{let te=localStorage.getItem($s);if(te){let ie=JSON.parse(te);if(typeof ie.top=="number"&&typeof ie.left=="number"){let ve=window.innerWidth-Mr-Rn,Me={top:Math.max(Rn,Math.min(ie.top,window.innerHeight-Rn-200)),left:Math.max(Rn,Math.min(ie.left,ve))};at.current=Me.left>=ve-2,we.current=Me,gt(mt=>mt+1)}}}catch(te){}},[]),po(()=>{let te=()=>{if(at.current)we.current=zs();else{let ie=we.current,ve=window.innerWidth-Mr-Rn;we.current={top:Math.max(Rn,Math.min(ie.top,window.innerHeight-Rn-200)),left:Math.max(Rn,Math.min(ie.left,ve))}}gt(ie=>ie+1)};return window.addEventListener("resize",te,{passive:!0}),()=>window.removeEventListener("resize",te)},[]),po(()=>{let te=me.current;if(!te)return;let ie=Ne=>{Ne.button!==0||Ne.target.closest("button")||(Ne.preventDefault(),Ne.stopPropagation(),Re.current=!0,Ce.current={x:Ne.clientX,y:Ne.clientY,offsetX:Je.current.x,offsetY:Je.current.y})},ve=Ne=>{if(!Re.current)return;let ze=Ce.current,nt=ze.offsetX+(Ne.clientX-ze.x),St=ze.offsetY+(Ne.clientY-ze.y),Ke=Math.max(Rn,Math.min(window.innerWidth-Mr-Rn,we.current.left+nt)),qe=Math.max(Rn,we.current.top+St);Je.current={x:Ke-we.current.left,y:qe-we.current.top};let Rt=pe.current;Rt&&(Rt.style.top=`${qe}px`,Rt.style.left=`${Ke}px`,Rt.style.height=`${Ic(qe,Ke,u==null?void 0:u.current)}px`)},Me=()=>{if(!Re.current)return;let Ne=we.current.top+Je.current.y,ze=we.current.left+Je.current.x;we.current={top:Ne,left:ze},Je.current={x:0,y:0};let nt=window.innerWidth-Mr-Rn;at.current=ze>=nt-2;try{localStorage.setItem($s,JSON.stringify({top:Ne,left:ze}))}catch(St){}Re.current=!1},mt=()=>{we.current=zs(),Je.current={x:0,y:0},at.current=!0;try{localStorage.removeItem($s)}catch(Ne){}gt(Ne=>Ne+1)};return te.addEventListener("mousedown",ie),window.addEventListener("mousemove",ve),window.addEventListener("mouseup",Me),te.addEventListener("dblclick",mt),()=>{te.removeEventListener("mousedown",ie),window.removeEventListener("mousemove",ve),window.removeEventListener("mouseup",Me),te.removeEventListener("dblclick",mt)}},[]);let bt=Tr(()=>{fetch(`${t}/thread/${e}`).then(te=>te.json()).then(te=>{var ie;z((ie=te.messages)!=null?ie:[]),O(!1)}).catch(()=>O(!1))},[t,e]);po(()=>{O(!0),bt()},[bt]),po(()=>{Fe.current&&!o&&bt(),Fe.current=o},[o]);let Yt=Mc(()=>s?Fg(s):[],[s]),K=Mc(()=>s?Hg(s):null,[s]);po(()=>{let te=ae.current;if(!te)return;let ie=()=>{ee(te.scrollHeight-te.scrollTop-te.clientHeight<40);let Me=te.scrollTop+te.clientHeight,mt=te.querySelectorAll("[data-msg]"),Ne=0;for(let ze=0;ze<mt.length;ze++){let nt=mt[ze];nt.offsetTop+nt.offsetHeight>Me+20&&Ne++}Le(Ne)};return te.addEventListener("scroll",ie,{passive:!0}),()=>te.removeEventListener("scroll",ie)},[]),po(()=>{N&&ae.current&&(ae.current.scrollTop=ae.current.scrollHeight)},[T,Yt.length,o,N]),po(()=>{let te=ie=>{ie.key==="Escape"&&(ie.stopPropagation(),a())};return document.addEventListener("keydown",te),()=>document.removeEventListener("keydown",te)},[a]);let X=Tr(()=>{if(!k.trim()||!l)return;let te=k.trim(),ie=re.length>0?re:void 0,ve=ie?ie.map(Me=>URL.createObjectURL(Me)):void 0;z(Me=>[...Me,f({role:"human",timestamp:Date.now(),jobId:"pending",replyToQuestion:te},ve?{replyImageUrls:ve}:{})]),l(e,te,ie),G(""),oe([])},[k,re,e,l]),Te=Tr(te=>{let ie=te.clipboardData.items,ve=[];for(let Me=0;Me<ie.length;Me++){let mt=ie[Me];if(mt.type.startsWith("image/")){let Ne=mt.getAsFile();Ne&&ve.push(Ne)}}ve.length>0&&(te.preventDefault(),oe(Me=>[...Me,...ve]))},[]),Oe=Tr(te=>{te.key==="Enter"&&(te.metaKey||te.ctrlKey)&&(te.preventDefault(),X())},[X]),Xe=we.current.top+Je.current.y,Pe=we.current.left+Je.current.x,he=Ic(Xe,Pe,u==null?void 0:u.current);return dt(Ro,{children:[se("div",{"data-devtools":"thread-panel-backdrop",onMouseDown:te=>{te.target===te.currentTarget&&a()},style:{position:"fixed",inset:0,zIndex:9999}}),dt("div",{ref:pe,style:h(f({},Sg),{height:he,position:"fixed",top:Xe,left:Pe,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>`,ve=`url("data:image/svg+xml,${encodeURIComponent(ie)}")`;return dt(Ro,{children:[se("style",{children:`@keyframes popmelt-border-march { to { background-position: 0 -5px; } }
68
+ [data-popmelt-reply]::placeholder { opacity: 0.35; }`}),se("div",{style:f({position:"absolute",inset:-3,padding:5,backgroundImage: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"},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({},wg),{backgroundColor:n,color:"#ffffff",cursor:"grab",userSelect:"none",WebkitUserSelect:"none"}),children:[dt("span",{style:{display:"flex",alignItems:"center",gap:3,minWidth:0},children:[se("span",{style:{flexShrink:0},children:x?`${x}.`:"Conversation"}),A&&se("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:A})]}),se("button",{onClick:a,style:{background:"none",border:"none",cursor:"pointer",fontSize:16,color:"#ffffff",padding:"0 4px",lineHeight:1},children:"\xD7"})]}),se("style",{dangerouslySetInnerHTML:{__html:Eg+`
69
69
  [data-devtools="thread-panel"] ::selection { background: color-mix(in srgb, ${n} 15%, transparent); }
70
- `}}),ct("div",{ref:ce,style:h(f({},Eg),{transition:"opacity 150ms ease"}),"data-devtools":"thread-panel-messages",children:[L&&ue("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"Loading..."}),!L&&C.length===0&&!r&&ue("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"No messages yet."}),C.map((N,ye)=>ue(Jg,{msg:N,index:ye,bridgeUrl:t,accentColor:n,onLightbox:B},`${N.jobId}-${ye}`)),r&&ue("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:8},children:o?ct("div",{style:{display:"flex",alignItems:"center",gap:6},children:[ct("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:n,style:{verticalAlign:"middle",flexShrink:0,opacity:.5},children:[ue("circle",{cx:"12",cy:"6",r:"2"}),ue("circle",{cx:"6",cy:"12",r:"2"}),ue("circle",{cx:"18",cy:"12",r:"2"}),ue("circle",{cx:"12",cy:"18",r:"2"})]}),ct("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:["queued",i?` ${i}`:""]})]}):ct(To,{children:[ct("div",{style:{display:"flex",alignItems:"center",gap:4},children:[ue(Os,{provider:b,size:11,style:{color:"#6b7280"}}),ue("span",{style:{fontWeight:600,fontSize:11,color:"#6b7280"},children:Bs(g,b)})]}),Mt.map((N,ye)=>{if(N.kind==="tool_group")return ue(_c,{tool:N.tool,items:N.items},ye);if(N.kind==="file_content")return ue(zg,{file:N.file,content:N.content,ext:N.ext,isPlan:N.isPlan,onAccept:N.isPlan&&l?()=>l(e,"Looks good, please proceed with implementation."):void 0},ye);if(N.kind==="thinking")return ue("div",{style:{paddingLeft:12,fontSize:11,color:"#9ca3af",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:N.text},ye);let re=Ys(N.text);return re?ue("div",{style:{paddingLeft:12,lineHeight:1.5,wordBreak:"break-word"},children:so(re)},ye):null}),ct("div",{style:{display:"flex",alignItems:"center",gap:6},children:[ue(Lg,{color:n}),d&&ue("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"})]})]})}),!H&&C.length>0&&ue("div",{style:{position:"sticky",bottom:5,display:"flex",justifyContent:"flex-end",paddingRight:3,pointerEvents:"none"},children:ue("button",{onClick:()=>{ce.current&&ce.current.scrollTo({top:ce.current.scrollHeight,behavior:"smooth"})},style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center",padding:4,fontSize:10,fontFamily:Vt,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:ct("span",{style:{position:"relative",backgroundColor:"#eaeaea",padding:"0 6px",color:"#374151",fontFamily:Vt,lineHeight:1.4},children:[k," message",k!==1?"s":""," \u2193"]})})})]}),!r&&c&&ct("div",{style:{padding:"8px 16px",backgroundColor:"rgba(239, 68, 68, 0.06)",fontSize:11,color:"#dc2626",lineHeight:1.4},children:[ue("span",{style:{fontWeight:600},children:"Error: "}),c]}),l&&ct("div",{style:{flexShrink:0,position:"relative"},children:[ie.length>0&&ue("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:ie.map((N,ye)=>ct("span",{onClick:()=>oe(re=>re.filter((we,We)=>We!==ye)),onMouseEnter:re=>{let we=re.currentTarget.querySelector("[data-chip-x]");we&&(we.style.color="#fff")},onMouseLeave:re=>{let we=re.currentTarget.querySelector("[data-chip-x]");we&&(we.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 ",ye+1,ue("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},ye))}),ct("div",{ref:K,style:h(f({},Tg),{borderTop:"1px solid rgba(0,0,0,0.12)"}),children:[ue("input",{"data-popmelt-reply":!0,autoFocus:!0,value:E,onChange:N=>{_(N.target.value),Q(Y.current,N.target.value)},onFocus:()=>{Y.current=!0,Q(!0,E)},onBlur:()=>{Y.current=!1,Q(!1,E)},onKeyDown:$,onPaste:gn,placeholder:"Reply here (cmd + enter to send)",style:{flex:1,minWidth:0,minHeight:44,padding:"0 4px",fontSize:12,fontFamily:Vt,backgroundColor:"transparent",color:"#1f2937",border:"none",outline:"none",lineHeight:"40px",boxSizing:"border-box"}}),ue("button",{onClick:tt,disabled:!E.trim(),style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",cursor:E.trim()?"pointer":"default",color:E.trim()?n:"rgba(0,0,0,0.2)",flexShrink:0},children:ct("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:[ue("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"}),ue("path",{d:"M6 12h16"})]})})]})]})]})]}),X&&ue(Bg,{src:X,onClose:()=>ge(null)})]})}import{jsx as Er,jsxs as Fc}from"react/jsx-runtime";var Xg=[],Ks=Ug(null),Js="devtools-provider",Us="devtools-model",Vs="devtools-open-thread-id",Xs="popmelt-synthesize-thread";async function Hc(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 Kg={0:0,1:1},qg={0:0,1:1,2:1};function Zg(e,t,n){var o,i;let r=t==="codex"?Ei:Ci;return e==="claude"&&t==="codex"?(o=Kg[n])!=null?o:Math.min(n,r.length-1):e==="codex"&&t==="claude"&&(i=qg[n])!=null?i:Math.min(n,r.length-1)}function Qg({children:e,enabled:t=process.env.NODE_ENV==="development",bridgeUrl:n=typeof window!="undefined"?(o=>(o=window.__POPMELT_BRIDGE_URL__)!=null?o:"http://localhost:1111")():"http://localhost:1111",navigate:r}){var ve,Fe,$e,He,Lt;let[i,s]=Na(),a=Da(n,t),l=qt(null),d=qt(null),c=(ve=Oa())!=null?ve:n,p=qt(new Map),u=qt(new Map),g=qt(!1),b=rr(),[v,R]=Zt(()=>typeof window=="undefined"?"claude":localStorage.getItem(Js)||"claude"),[C,G]=Zt(()=>{if(typeof window=="undefined")return 0;let x=localStorage.getItem(Us);return x&&parseInt(x,10)||0}),[L,A]=Zt([]),[E,_]=Zt({}),[ie,oe]=Zt(!1);$t(()=>{a.isConnected&&pa(c).then(x=>{if(!x)return;let P=Object.entries(x.providers).filter(([,Le])=>Le.available).map(([Le])=>Le);P.length>0&&A(P);let ae={};for(let[Le,Be]of Object.entries(x.providers))Be.mcp&&(ae[Le]=Be.mcp);_(ae),Object.values(ae).every(Le=>Le.found)&&oe(!1)})},[a.isConnected,a.capabilitiesVersion,c]),$t(()=>{if(L.length>0&&!L.includes(v)){let x=L[0];R(x),localStorage.setItem(Js,x)}},[L,v]);let Y=v==="codex"?Ei:Ci,K=(Fe=Y[C])!=null?Fe:Y[0],H=Kt(x=>{let P=v;R(x),localStorage.setItem(Js,x);let ae=Zg(P,x,C);G(ae),localStorage.setItem(Us,String(ae))},[v,C]),ee=Kt(x=>{G(x),localStorage.setItem(Us,String(x))},[]),k=Kt(async()=>{let x=await ma(c);if(!x)return;let P={};for(let[ae,J]of Object.entries(x.capabilities.providers))J.mcp&&(P[ae]=J.mcp);_(P),x.results.some(ae=>ae.installed)&&oe(!0)},[c]),[Ae,X]=Zt(new Set),[ge,B]=Zt(null),[ce,Q]=Zt(null),[q,Ee]=Zt(null),[De,pe]=Zt(null);$t(()=>{a.isConnected&&er(c).then(x=>{x!=null&&x.components&&X(new Set(Object.keys(x.components)))})},[a.isConnected,c]);let Pe=Kt(async x=>{let P=[];for(let ae of x)try{(await ha(ae,c)).added&&P.push(ae)}catch(J){console.error("[Popmelt] Failed to add component to model:",ae,J)}P.length>0&&(X(ae=>{let J=new Set(ae);for(let Le of P)J.add(Le);return J}),B(P[P.length-1]))},[c]),Re=Kt(x=>{B(x)},[]),Me=Kt(()=>{er(c).then(x=>{x!=null&&x.components&&X(new Set(Object.keys(x.components)))})},[c]),et=Kt(async x=>{try{(await ya(x,c)).removed&&X(ae=>{let J=new Set(ae);return J.delete(x),J})}catch(P){console.error("[Popmelt] Failed to remove component from model:",P)}},[c]),Ve=Kt((x,P)=>{s({type:"MODIFY_SPACING_TOKEN",payload:x}),s({type:"ADD_SPACING_TOKEN_CHANGE",payload:P})},[s]),Tt=Kt((x,P)=>{s({type:"DELETE_SPACING_TOKEN",payload:{tokenPath:x,originalValue:P}})},[s]),[Mt,zt]=Zt(null),[tt,gn]=Zt(()=>typeof window=="undefined"?null:localStorage.getItem(Xs)||null);$t(()=>{tt?localStorage.setItem(Xs,tt):localStorage.removeItem(Xs)},[tt]);let[$,de]=Zt(0),Te=qt([]);$t(()=>{let x=Te.current,P=i.spacingTokenMods;Te.current=P;let ae=new Map(x.map(Be=>[Be.tokenPath,Be])),J=new Map(P.map(Be=>[Be.tokenPath,Be])),Le=!1;for(let[Be,Xe]of J){let Ye=ae.get(Be);if(!(Ye&&Ye.currentValue===Xe.currentValue)){Le=!0,Xe.currentValue==="__deleted__"?ba(Be,c).catch(mt=>console.error("[Popmelt] Failed to sync token delete:",mt)):Ai(Be,Xe.currentValue,c).catch(mt=>console.error("[Popmelt] Failed to sync token update:",mt));for(let mt of Xe.targets){let nt=document.querySelector(mt.selector);if(nt)if(Xe.currentValue==="__deleted__")nt.style.removeProperty(mt.property);else{let ut=Xe.currentPx;ut>0&&nt.style.setProperty(mt.property,`${ut}px`,"important")}}}}for(let[Be,Xe]of ae)if(!J.has(Be)){Le=!0,Ai(Be,Xe.originalValue,c).catch(Ye=>console.error("[Popmelt] Failed to restore token on undo:",Ye));for(let Ye of Xe.targets){let mt=document.querySelector(Ye.selector);mt&&mt.style.removeProperty(Ye.property)}}Le&&de(Be=>Be+1)},[i.spacingTokenMods,c]);let[me,N]=Zt(()=>Fa()),ye=Kt(x=>{N(x),$a(x)},[]),[re,we]=Zt(()=>typeof window=="undefined"?null:localStorage.getItem(Vs)||null),We=qt(null),[Ge,dt]=Zt(new Set),[xt,vt]=Zt(null);$t(()=>{re?localStorage.setItem(Vs,re):localStorage.removeItem(Vs)},[re]);let Oe="popmelt-in-flight-jobs",[ke,ht]=Zt(()=>{try{let x=localStorage.getItem(Oe);return x?JSON.parse(x):{}}catch(x){return{}}});$t(()=>{try{Object.keys(ke).length>0?localStorage.setItem(Oe,JSON.stringify(ke)):localStorage.removeItem(Oe)}catch(x){}},[ke]),$t(()=>{let x=P=>{if(P.key===Oe)try{let ae=P.newValue?JSON.parse(P.newValue):{};ht(ae)}catch(ae){}};return window.addEventListener("storage",x),()=>window.removeEventListener("storage",x)},[]);let mn=qt(new Map),Wn=qt(new Map);$t(()=>{for(let[x,P]of Object.entries(ke))P.annotationIds.length>0&&mn.current.set(x,P.annotationIds),P.threadId&&Wn.current.set(x,P.threadId)},[ke]);let hn=qt("");$t(()=>{if(i.annotations.length===0)return;let x=Object.keys(ke).sort().join(",");if(x===hn.current)return;hn.current=x;let P=new Set;for(let J of Object.values(ke))for(let Le of J.annotationIds)P.add(Le);let ae=i.annotations.filter(J=>P.has(J.id)?!1:!!(J.status==="in_flight"||(J.status==="pending"||!J.status)&&(J.captured||J.threadId))).map(J=>J.id);ae.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:ae,status:"dismissed"}})},[i.annotations,ke,s]);let Rt=lo(()=>{let x=new Set;for(let P of Object.values(ke))for(let ae of P.annotationIds)x.add(ae);return x},[ke]),oo=lo(()=>{let x=new Set(a.activeJobIds),P=new Set;for(let[ae,J]of Object.entries(ke))if(x.has(ae))for(let Le of J.annotationIds)P.add(Le);return P},[ke,a.activeJobIds]),dn=lo(()=>{let x=new Set(a.activeJobIds),P=Object.entries(ke).filter(([Le])=>!x.has(Le)),ae=P.length,J=new Map;return P.forEach(([,Le],Be)=>{let Xe=`(${Be+1}/${ae})`;for(let Ye of Le.annotationIds)J.set(Ye,Xe)}),J},[ke,a.activeJobIds]),le=lo(()=>{let x=new Set;for(let P of Object.values(ke))for(let ae of P.styleSelectors)x.add(ae);return x},[ke]),Ie=lo(()=>{let x=new Map;for(let P of Object.values(ke)){for(let ae of P.styleSelectors)x.set(ae,P.color);for(let ae of P.annotationIds){let J=i.annotations.find(Le=>Le.id===ae);if(J&&(J.linkedSelector&&x.set(J.linkedSelector,P.color),J.groupId))for(let Le of i.annotations)Le.groupId===J.groupId&&Le.linkedSelector&&x.set(Le.linkedSelector,P.color)}}return x},[ke,i.annotations]),Ue=qt(i.annotations);Ue.current=i.annotations;let on=qt(i.styleModifications);on.current=i.styleModifications;let Qt=qt(ke);Qt.current=ke,$t(()=>{let x=null,P=()=>{var Ye,mt;if(Object.keys(Qt.current).length>0)return;let J=Ue.current,Le=on.current,Be=[],Xe=[];for(let nt of J){if(!nt.linkedSelector||!nt.linkedSelector.startsWith("[data-pm=")||nt.pathname||nt.captured||nt.status&&nt.status!=="pending")continue;let ut=document.querySelector(nt.linkedSelector);!ut&&((mt=(Ye=nt.elements)==null?void 0:Ye[0])!=null&&mt.selector)&&(ut=document.querySelector(nt.elements[0].selector)),ut||Be.push(nt.linkedSelector)}for(let nt of Le)document.querySelector(nt.selector)||Xe.push(nt.selector);(Be.length>0||Xe.length>0)&&s({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:Be,styleSelectors:Xe}})},ae=new MutationObserver(J=>{J.some(Le=>Le.removedNodes.length>0)&&(x&&clearTimeout(x),x=setTimeout(P,3e3))});return ae.observe(document.body,{childList:!0,subtree:!0}),()=>{ae.disconnect(),x&&clearTimeout(x)}},[s]);let An=qt(typeof window!="undefined"?window.location.pathname:"/");$t(()=>{let x=J=>{if(g.current)return;let Le=window.location.pathname;if(J===Le)return;let Be=Ue.current.filter(Ye=>{var mt;return Ye.pathname===J&&((mt=Ye.status)!=null?mt:"pending")==="pending"});if(console.log(`[Popmelt] Navigation from ${J} \u2192 ${Le}, ${Be.length} pending annotations on departing page`),Be.length===0)return;let Xe=l.current;if(!Xe){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Ir(document.body,Xe,Be,{dpr:1}).then(Ye=>Rr(Ye)).then(Ye=>{Ye?(u.current.set(J,Ye),console.log(`[Popmelt] Cached screenshot for ${J} (${(Ye.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${J}`)}).catch(Ye=>{console.warn("[Popmelt] Capture-on-leave failed:",Ye)}),u.current.size>20){let Ye=[...u.current.entries()];u.current=new Map(Ye.slice(-10))}},P=J=>{var Be;let Le=(Be=J.detail)==null?void 0:Be.prevPath;Le&&(x(Le),An.current=window.location.pathname)},ae=()=>{let J=An.current;x(J),An.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",P),window.addEventListener("popstate",ae),()=>{window.removeEventListener("popmelt:locationchange",P),window.removeEventListener("popstate",ae)}},[]),$t(()=>{a.lastCompletedJobId&&a.lastCompletedJobId in ke&&ht(x=>{var J;let Le=x,{[J=a.lastCompletedJobId]:P}=Le;return Gn(Le,[bo(J)])}),a.lastCompletedJobId&&a.lastCompletedJobId===Mt&&(de(x=>x+1),zt(null))},[a.lastCompletedJobId,Mt]);let bn=qt(new Set),rn=qt(!1);$t(()=>{if(!a.isConnected){rn.current=!1;return}rn.current||(rn.current=!0,Qo(c).then(async x=>{var Xe,Ye,mt,nt;if(!x)return;let P=(Xe=x.activeJobs)!=null?Xe:[],ae=(Ye=x.recentJobs)!=null?Ye:[],J=new Set(P.map(ut=>ut.id)),Le=JSON.parse(localStorage.getItem(Oe)||"{}"),Be=new Set;for(let ut of Object.values(Le))if(ut.annotationIds)for(let St of ut.annotationIds)Be.add(St);ht(ut=>{var Xn,kn,Gt;let St=f({},ut),pt=Date.now();for(let ft of Object.keys(St)){if(ft.startsWith("_pending_")){let Sn=parseInt(ft.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(Sn)&&pt-Sn>3e4&&delete St[ft];continue}J.has(ft)||delete St[ft]}for(let ft of P)!St[ft.id]&&((Xn=ft.annotationIds)!=null&&Xn.length||ft.threadId)&&(St[ft.id]={annotationIds:(kn=ft.annotationIds)!=null?kn:[],styleSelectors:[],color:(Gt=ft.color)!=null?Gt:"#888",threadId:ft.threadId});let jt=new Set;for(let ft of ae)if(ft.annotationIds)for(let Sn of ft.annotationIds)jt.add(Sn);for(let ft of Object.keys(St)){if(!ft.startsWith("_pending_"))continue;let Sn=St[ft];Sn&&Sn.annotationIds.some(Ke=>jt.has(Ke))&&delete St[ft]}return St});for(let ut of ae)if(ut.status==="done"&&(mt=ut.annotationIds)!=null&&mt.length&&ut.annotationIds.some(St=>Be.has(St))&&!bn.current.has(ut.id))try{let St=await Gr(c,ut.id);if(!St)continue;let pt=St.events.find(jt=>jt.type==="done");pt&&Array.isArray(pt.resolutions)&&(bn.current.add(ut.id),s({type:"APPLY_RESOLUTIONS",payload:{resolutions:pt.resolutions,threadId:(nt=pt.threadId)!=null?nt:void 0}}))}catch(St){}}))},[a.isConnected,c,s]),$t(()=>{let x=a.events.filter(P=>P.type==="done"&&P.data.resolutions);for(let P of x){let ae=P.data.jobId;bn.current.has(ae)||(bn.current.add(ae),Array.isArray(P.data.resolutions)&&s({type:"APPLY_RESOLUTIONS",payload:{resolutions:P.data.resolutions,threadId:P.data.threadId}}))}},[a.events,s]);let Pn=qt(new Set);$t(()=>{let x=a.events.filter(P=>P.type==="error"&&P.data.cancelled);for(let P of x){let ae=P.data.jobId;if(!ae||Pn.current.has(ae))continue;Pn.current.add(ae);let J=ke[ae];J&&J.annotationIds.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:J.annotationIds,status:"dismissed"}})}},[a.events,ke,s]);let xn=qt(0);$t(()=>{let x=a.incrementalResolutions;if(x.length<=xn.current)return;let P=x.slice(xn.current);xn.current=x.length,s({type:"APPLY_RESOLUTIONS",payload:{resolutions:P}})},[a.incrementalResolutions,s]),$t(()=>{a.incrementalResolutions.length===0&&(xn.current=0)},[a.incrementalResolutions.length]);let sn=Kt(async()=>{let x=l.current;if(!x)return!1;let P=await Ir(document.body,x,i.annotations);if(P.length===0)return!1;let ae=await Va(P,i.annotations,i.styleModifications);return ae&&s({type:"MARK_CAPTURED"}),ae},[i.annotations,i.styleModifications,s]),Mo=Kt((x,P)=>{let ae=p.current.get(x)||[];p.current.set(x,[...ae,...P])},[]),Cn=Kt(async()=>{var Sn;let x=l.current;if(!x)return!1;let P=i.annotations.filter(Ke=>{var At;return((At=Ke.status)!=null?At:"pending")==="pending"}),ae=i.spacingTokenChanges.filter(Ke=>!Ke.captured);if(P.length===0&&i.styleModifications.filter(Ke=>!Ke.captured).length===0&&ae.length===0)return!1;let J=new Map;for(let Ke of P){let At=Ke.pathname||b;J.has(At)||J.set(At,[]),J.get(At).push(Ke)}let Le=new Map,Be=[...J.keys()].filter(Ke=>Ke!==b);if(Be.length>0){let Ke=b,At={x:window.scrollX,y:window.scrollY};g.current=!0;for(let Ut of Be)try{console.log(`[Popmelt] Navigating to ${Ut} for screenshot capture`),await Hc(Ut,r),window.location.pathname!==Ut&&console.warn(`[Popmelt] Navigation to ${Ut} did not take effect (at ${window.location.pathname})`);let Tn=J.get(Ut)||[],Io=await Ir(document.body,x,Tn,{dpr:1}),Ro=await Rr(Io);Ro&&(Le.set(Ut,Ro),console.log(`[Popmelt] Captured ${Ut} (${(Ro.size/1024).toFixed(0)}KB)`))}catch(Tn){console.warn(`[Popmelt] Failed to capture ${Ut}:`,Tn)}await Hc(Ke,r),window.scrollTo(At.x,At.y),g.current=!1}let Xe=P.filter(Ke=>(Ke.pathname||b)===b),Ye=await Ir(document.body,x,Xe.length>0?i.annotations:[],{dpr:1});if(Ye.length>0){let Ke=await Rr(Ye);Ke&&Le.set(b,Ke)}if(Le.size===0)return!1;let mt=_i(P,i.styleModifications,void 0,ae.length>0?ae:void 0),nt=JSON.stringify(mt),ut=new Map;for(let Ke of P){let At=p.current.get(Ke.id);if(At&&At.length>0&&ut.set(Ke.id,At),Ke.groupId){for(let Ut of P)if(Ut.groupId===Ke.groupId&&Ut.id!==Ke.id){let Tn=p.current.get(Ut.id);Tn&&Tn.length>0&&ut.set(Ut.id,Tn)}}}let St=J.size>1;console.log(`[Popmelt] Submit: ${J.size} page(s), ${Le.size} screenshot(s), pages: [${[...J.keys()].join(", ")}], cached: [${[...u.current.keys()].join(", ")}]`);let pt=St?Le:(Sn=Le.get(b))!=null?Sn:Le,jt=P.map(Ke=>Ke.id),Xn=i.styleModifications.filter(Ke=>!Ke.captured).map(Ke=>Ke.selector),kn=Di(i.activeColor),Gt=`_pending_${Date.now()}`,ft={annotationIds:jt,styleSelectors:Xn,color:i.activeColor,threadId:void 0};try{let Ke=JSON.parse(localStorage.getItem(Oe)||"{}");Ke[Gt]=ft,localStorage.setItem(Oe,JSON.stringify(Ke))}catch(Ke){}ht(Ke=>h(f({},Ke),{[Gt]:ft}));try{let{jobId:Ke,threadId:At}=await ga(pt,nt,c,kn,v,K.id,ut.size>0?ut:void 0,Bi());for(let jn of ut.keys())p.current.delete(jn);for(let jn of J.keys())u.current.delete(jn);let Ut=h(f({},ft),{threadId:At});try{let jn=JSON.parse(localStorage.getItem(Oe)||"{}");delete jn[Gt],jn[Ke]=Ut,localStorage.setItem(Oe,JSON.stringify(jn))}catch(jn){}ht(jn=>{let Ri=jn,{[Gt]:qs}=Ri,Ii=Gn(Ri,[bo(Gt)]);return h(f({},Ii),{[Ke]:Ut})}),s({type:"MARK_CAPTURED"}),At&&jt.length>0&&s({type:"SET_ANNOTATION_THREAD",payload:{ids:jt,threadId:At}});let Tn=i.activeColor.match(/oklch\([^)]*\s+([\d.]+)\s*\)/),Ro=((Tn!=null&&Tn[1]?parseFloat(Tn[1]):29)+60)%360;return s({type:"SET_COLOR",payload:`oklch(0.628 0.258 ${Ro})`}),!0}catch(Ke){try{let At=JSON.parse(localStorage.getItem(Oe)||"{}");delete At[Gt],localStorage.setItem(Oe,JSON.stringify(At))}catch(At){}return ht(At=>{let Io=At,{[Gt]:Ut}=Io;return Gn(Io,[bo(Gt)])}),console.error("[Pare] Failed to send to bridge:",Ke),!1}},[i.annotations,i.styleModifications,i.spacingTokenChanges,i.activeColor,s,c,v,K.id,b,r]),Ko=Kt(async()=>{if(tt){we(tt);return}try{let{jobId:x,threadId:P}=await va(c,v,K.id);zt(x),gn(P);let ae={annotationIds:[],styleSelectors:[],color:"#6b7280",threadId:P};ht(J=>h(f({},J),{[x]:ae})),we(P)}catch(x){console.error("[Popmelt] Failed to start synthesize:",x)}},[c,v,K.id,tt]),Jt=Kt(async(x,P,ae)=>{var mt,nt,ut,St;let J=(St=(ut=(mt=Object.values(Qt.current).find(pt=>pt.threadId===x))==null?void 0:mt.color)!=null?ut:(nt=i.annotations.find(pt=>pt.threadId===x))==null?void 0:nt.color)!=null?St:i.activeColor,Le=i.annotations.filter(pt=>pt.threadId===x&&(pt.status==="waiting_input"||pt.status==="resolved"||pt.status==="needs_review")),Be=Le.map(pt=>pt.id),Xe=`_pending_reply_${Date.now()}`,Ye={annotationIds:Be,styleSelectors:[],color:J,threadId:x};try{let pt=JSON.parse(localStorage.getItem(Oe)||"{}");pt[Xe]=Ye,localStorage.setItem(Oe,JSON.stringify(pt))}catch(pt){}ht(pt=>h(f({},pt),{[Xe]:Ye}));try{let pt=Di(i.activeColor),{jobId:jt}=await Sa(x,P,c,pt,v,K.id,ae,Bi()),Xn=f({},Ye);try{let kn=JSON.parse(localStorage.getItem(Oe)||"{}");delete kn[Xe],kn[jt]=Xn,localStorage.setItem(Oe,JSON.stringify(kn))}catch(kn){}ht(kn=>{let Sn=kn,{[Xe]:Gt}=Sn,ft=Gn(Sn,[bo(Xe)]);return h(f({},ft),{[jt]:Xn})}),Le.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:Be,status:"in_flight"}}),a.dismissQuestion(x)}catch(pt){try{let jt=JSON.parse(localStorage.getItem(Oe)||"{}");delete jt[Xe],localStorage.setItem(Oe,JSON.stringify(jt))}catch(jt){}ht(jt=>{let Gt=jt,{[Xe]:Xn}=Gt;return Gn(Gt,[bo(Xe)])}),console.error("[Pare] Failed to send reply:",pt)}},[i.activeColor,i.annotations,c,a.dismissQuestion,s,v,K.id]),vn=qt(new Set);$t(()=>{for(let x of a.pendingQuestions){if(vn.current.has(x.jobId))continue;vn.current.add(x.jobId);let P=x.annotationIds&&x.annotationIds.length>0?x.annotationIds:void 0;!P&&x.threadId&&(P=i.annotations.filter(ae=>ae.threadId===x.threadId).map(ae=>ae.id)),P&&P.length>0&&s({type:"SET_ANNOTATION_QUESTION",payload:{ids:P,question:x.question,threadId:x.threadId}})}},[a.pendingQuestions,s,i.annotations]);let Vn=lo(()=>{if(a.activeJobId&&a.activeJobId in ke)return ke[a.activeJobId].color;let x=Object.values(ke);return x.length>0?x[x.length-1].color:void 0},[a.activeJobId,ke]),Ht=Kt(x=>{we(x)},[]),Ft=Kt(x=>{var J;let P=ke[x],ae=(P==null?void 0:P.threadId)||Wn.current.get(x);ae&&(We.current=(J=P==null?void 0:P.color)!=null?J:null,we(ae))},[ke]),On=Kt(x=>{if(!x){vt(null);return}let P=mn.current.get(x);P&&P.length>0?vt(new Set(P)):vt(null)},[]),Dt=Kt(async x=>{try{let P=x?`${c}/cancel?jobId=${x}`:`${c}/cancel`;await fetch(P,{method:"POST"})}catch(P){}},[c]);$t(()=>{i.activeTool==="model"&&re&&re!==tt&&we(null)},[i.activeTool]);let at=qt(null);$t(()=>{i.isAnnotating?at.current&&(we(at.current),at.current=null):re&&(at.current=re,we(null))},[i.isAnnotating]);let _t=lo(()=>{if(!re)return null;for(let[x,P]of Object.entries(ke))if(P.threadId===re)return x;for(let[x,P]of Object.entries(a.activeJobThreads))if(P===re)return x;return null},[re,ke,a.activeJobThreads]),Wt=re?i.annotations.find(x=>x.threadId===re):void 0,qo=lo(()=>_t?a.events.filter(x=>x.data.jobId===_t):Xg,[_t,a.events.length]),co=lo(()=>{var x,P;return(P=(x=Wt==null?void 0:Wt.color)!=null?x:We.current)!=null?P:i.activeColor},[Wt==null?void 0:Wt.color,i.activeColor]),kr=Wt?i.annotations.indexOf(Wt)+1:void 0;$t(()=>{var P;let x=(P=Wt==null?void 0:Wt.color)!=null?P:We.current;re&&x&&s({type:"SET_COLOR",payload:x})},[re]);let[uo,po]=Zt(!1),[Zo,kt]=Zt(0),En=qt(null),T=Kt(x=>{x?(En.current&&(clearTimeout(En.current),En.current=null),po(!0)):En.current=setTimeout(()=>{po(!1),En.current=null},150)},[]),z=Kt(()=>{kt(x=>x+1),a.clearEvents(),we(null),dt(new Set),Dt()},[a.clearEvents,Dt]);$t(()=>()=>{En.current&&clearTimeout(En.current)},[]);let[te,he]=Zt(!1);$t(()=>{he(!0)},[]);let se=lo(()=>({isEnabled:t}),[t]);return!t||!te?Er(Ks.Provider,{value:se,children:e}):Fc(Ks.Provider,{value:se,children:[e,Er(ql,{state:i,dispatch:s,onScreenshot:sn,inFlightAnnotationIds:Rt,activeAnnotationIds:oo,queuePositionMap:dn,inFlightStyleSelectors:le,inFlightSelectorColors:Ie,onAttachImages:Mo,onReply:a.isConnected?Jt:void 0,onViewThread:a.isConnected?Ht:void 0,onCloseThread:x=>{we(null),x&&dt(P=>new Set(P).add(x))},onModelComponentsAdd:a.isConnected?Pe:void 0,onModelComponentFocus:a.isConnected?Re:void 0,onModelComponentHover:Q,modelComponentNames:Ae,modelPanelHoveredComponent:q,modelSpacingTokenHover:De,highlightedAnnotationIds:xt,focusedThreadAnnotationId:Wt==null?void 0:Wt.id,externalCanvasRef:l,toolbarRef:d}),Er(Rc,{children:Fc(Mc,{children:[Er(Cc,{state:i,dispatch:s,onScreenshot:sn,onSendToClaude:a.isConnected?Cn:void 0,hasActiveJobs:Object.keys(ke).length>0||a.activeJobIds.length>0,activeJobColor:Vn,onCrosshairHover:T,onClear:z,provider:v,onProviderChange:a.isConnected&&L.length>1?H:void 0,availableProviders:L,modelIndex:C,modelCount:Y.length,modelLabel:K.label,onModelChange:a.isConnected?ee:void 0,onViewThread:a.isConnected?Ht:void 0,isThreadPanelOpen:re!==null&&re!==tt,mcpStatus:E,onInstallMcp:a.isConnected?k:void 0,mcpJustInstalled:ie,bridgeUrl:c,isBridgeConnected:a.isConnected,modelSelectedComponent:ge,modelCanvasHoveredComponent:ce,onModelComponentHover:Ee,onSpacingTokenHover:pe,onModifySpacingToken:a.isConnected?Ve:void 0,onDeleteSpacingToken:a.isConnected?Tt:void 0,modelRefreshKey:$,onModelComponentAdded:Me,onModelComponentRemoved:et,onSynthesizeRules:a.isConnected?Ko:void 0,isSynthesizing:Mt!==null,toolbarRef:d,snapPosition:me,onSnapPositionChange:ye}),re&&Er(Nc,{threadId:re,bridgeUrl:c,accentColor:co,isStreaming:_t!==null,isQueued:_t!==null&&!a.activeJobIds.includes(_t),queuePosition:_t&&!a.activeJobIds.includes(_t)?(()=>{let x=new Set(a.activeJobIds),P=Object.keys(ke).filter(J=>!x.has(J)),ae=P.indexOf(_t);return ae>=0?`(${ae+1}/${P.length})`:void 0})():void 0,streamingEvents:qo,onClose:()=>we(null),onReply:Jt,onCancel:_t?()=>Dt(_t):void 0,lastError:(Lt=($e=a.lastErrorByJob)==null?void 0:$e[_t!=null?_t:""])!=null?Lt:a.lastCompletedJobId&&Wn.current.get(a.lastCompletedJobId)===re?(He=a.lastErrorByJob)==null?void 0:He[a.lastCompletedJobId]:void 0,toolbarRef:d,currentModel:K.id,currentProvider:v,annotationNumber:kr,annotationText:Wt==null?void 0:Wt.text}),Er(Tc,{bridge:a,bridgeUrl:c,inFlightJobs:ke,isVisible:uo||a.lastResponseText!==null||a.activeJobIds.length>0,onHover:T,clearSignal:Zo,onReply:Jt,onViewThread:Ht,onClickJob:Ft,onCancel:Dt,onHoverJob:On,isConnected:a.isConnected,dismissedThreadIds:Ge,snapPosition:me})]})})]})}function em(){let e=Vg(Ks);if(!e)throw new Error("usePopmelt must be used within PopmeltProvider");return e}export{Qg as PopmeltProvider,em as usePopmelt};
70
+ `}}),dt("div",{ref:ae,style:h(f({},Cg),{transition:"opacity 150ms ease"}),"data-devtools":"thread-panel-messages",children:[P&&se("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"Loading..."}),!P&&T.length===0&&!o&&se("div",{style:{padding:16,color:"#9ca3af",textAlign:"center"},children:"No messages yet."}),T.map((te,ie)=>se(Yg,{msg:te,index:ie,bridgeUrl:t,accentColor:n,onLightbox:D},`${te.jobId}-${ie}`)),o&&se("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:[se("circle",{cx:"12",cy:"6",r:"2"}),se("circle",{cx:"6",cy:"12",r:"2"}),se("circle",{cx:"18",cy:"12",r:"2"}),se("circle",{cx:"12",cy:"18",r:"2"})]}),dt("span",{style:{fontSize:11,color:"#9ca3af",fontStyle:"italic"},children:["queued",i?` ${i}`:""]})]}):dt(Ro,{children:[dt("div",{style:{display:"flex",alignItems:"center",gap:4},children:[se(Fr,{provider:b,size:11,style:{color:"#6b7280"}}),se("span",{style:{fontWeight:600,fontSize:11,color:"#6b7280"},children:Ps(g,b)})]}),Yt.map((te,ie)=>{if(te.kind==="tool_group")return se(Oc,{tool:te.tool,items:te.items},ie);if(te.kind==="file_content")return se($g,{file:te.file,content:te.content,ext:te.ext,isPlan:te.isPlan,onAccept:te.isPlan&&l?()=>l(e,"Looks good, please proceed with implementation."):void 0},ie);if(te.kind==="thinking")return se("div",{style:{paddingLeft:12,fontSize:11,color:"#9ca3af",fontStyle:"italic",lineHeight:1.4,whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:80,overflowY:"auto"},children:te.text},ie);let ve=Gs(te.text);return ve?se("div",{style:{paddingLeft:12,lineHeight:1.5,wordBreak:"break-word"},children:uo(ve)},ie):null}),dt("div",{style:{display:"flex",alignItems:"center",gap:6},children:[se(Lg,{color:n}),d&&se("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"})]})]})}),!N&&T.length>0&&se("div",{style:{position:"sticky",bottom:5,display:"flex",justifyContent:"flex-end",paddingRight:3,pointerEvents:"none"},children:se("button",{onClick:()=>{ae.current&&ae.current.scrollTo({top:ae.current.scrollHeight,behavior:"smooth"})},style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center",padding:4,fontSize:10,fontFamily:Qt,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:Qt,lineHeight:1.4},children:[M," message",M!==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:[se("span",{style:{fontWeight:600},children:"Error: "}),c]}),l&&dt("div",{style:{flexShrink:0,position:"relative"},children:[re.length>0&&se("div",{style:{position:"absolute",bottom:"100%",display:"flex",gap:4,padding:"6px 5px 5px",flexWrap:"wrap"},children:re.map((te,ie)=>dt("span",{onClick:()=>oe(ve=>ve.filter((Me,mt)=>mt!==ie)),onMouseEnter:ve=>{let Me=ve.currentTarget.querySelector("[data-chip-x]");Me&&(Me.style.color="#fff")},onMouseLeave:ve=>{let Me=ve.currentTarget.querySelector("[data-chip-x]");Me&&(Me.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,se("span",{"data-chip-x":!0,style:{fontSize:12,lineHeight:1,color:"rgba(255,255,255,0.4)"},children:"\xD7"})]},ie))}),dt("div",{ref:Q,style:h(f({},kg),{borderTop:"1px solid rgba(0,0,0,0.12)"}),children:[se("input",{"data-popmelt-reply":!0,autoFocus:!0,value:k,onChange:te=>{G(te.target.value),I(W.current,te.target.value)},onFocus:()=>{W.current=!0,I(!0,k)},onBlur:()=>{W.current=!1,I(!1,k)},onKeyDown:Oe,onPaste:Te,placeholder:"Reply here (cmd + enter to send)",style:{flex:1,minWidth:0,minHeight:44,padding:"0 4px",fontSize:12,fontFamily:Qt,backgroundColor:"transparent",color:"#1f2937",border:"none",outline:"none",lineHeight:"40px",boxSizing:"border-box"}}),se("button",{onClick:X,disabled:!k.trim(),style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,background:"none",border:"none",cursor:k.trim()?"pointer":"default",color:k.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:[se("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"}),se("path",{d:"M6 12h16"})]})})]})]})]})]}),V&&se(Og,{src:V,onClose:()=>fe(null)})]})}import{jsx as Ir,jsxs as _c}from"react/jsx-runtime";var Vg=[],Us=Jg(null),js="devtools-provider",Ri="devtools-model",Ys="devtools-open-thread-id",Js="popmelt-synthesize-thread";async function Dc(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 Xg={0:0,1:1},Kg={0:0,1:1,2:1};function qg(e,t,n){var r,i;if(t==="copilot")return 0;let o=t==="codex"?Ti:ki;return e==="copilot"?0:e==="claude"&&t==="codex"?(r=Xg[n])!=null?r:Math.min(n,o.length-1):e==="codex"&&t==="claude"&&(i=Kg[n])!=null?i:Math.min(n,o.length-1)}function Zg({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 Ie,je,Pt,Ft,un;let[i,s]=Oa(),a=Aa(n,t),l=tn(null),d=tn(null),c=(Ie=La())!=null?Ie:n,p=tn(new Map),u=tn(new Map),g=tn(!1),b=cr(),[x,A]=nn(()=>typeof window=="undefined"?"claude":localStorage.getItem(js)||"claude"),[T,z]=nn(()=>{if(typeof window=="undefined")return 0;let S=localStorage.getItem(Ri);return S&&parseInt(S,10)||0}),[P,O]=nn([]),[k,G]=nn({}),[re,oe]=nn({});zt(()=>{a.isConnected&&ca(c).then(S=>{if(!S)return;let C=Object.entries(S.providers).filter(([,Ae])=>Ae.available).map(([Ae])=>Ae);C.length>0&&O(C);let le={};for(let[Ae,ke]of Object.entries(S.providers))ke.models&&ke.models.length>0&&(le[Ae]=ke.models);G(le);let ce={};for(let[Ae,ke]of Object.entries(S.providers))ke.mcp&&(ce[Ae]=ke.mcp);oe(ce)})},[a.isConnected,a.capabilitiesVersion,c]),zt(()=>{if(P.length>0&&!P.includes(x)){let S=P[0];A(S),localStorage.setItem(js,S)}},[P,x]);let W=x==="codex"?[...Ti]:x==="copilot"?[...As]:[...ki],Q=k[x]&&k[x].length>0?k[x]:W,N=(je=Q[T])!=null?je:Q[0];zt(()=>{T>=Q.length&&(z(0),localStorage.setItem(Ri,"0"))},[T,Q.length]);let ee=dn(S=>{let C=x;A(S),localStorage.setItem(js,S);let le=qg(C,S,T);z(le),localStorage.setItem(Ri,String(le))},[x,T]),M=dn(S=>{z(S),localStorage.setItem(Ri,String(S))},[]),[Le,V]=nn(new Set),[fe,D]=nn(null),[ae,I]=nn(null),[pe,me]=nn(null),[Fe,we]=nn(null);zt(()=>{a.isConnected&&ir(c).then(S=>{S!=null&&S.components&&V(new Set(Object.keys(S.components)))})},[a.isConnected,c]);let Je=dn(async S=>{let C=[];for(let le of S)try{(await pa(le,c)).added&&C.push(le)}catch(ce){console.error("[Popmelt] Failed to add component to model:",le,ce)}C.length>0&&(V(le=>{let ce=new Set(le);for(let Ae of C)ce.add(Ae);return ce}),D(C[C.length-1]))},[c]),Re=dn(S=>{D(S)},[]),Ce=dn(()=>{ir(c).then(S=>{S!=null&&S.components&&V(new Set(Object.keys(S.components)))})},[c]),at=dn(async S=>{try{(await fa(S,c)).removed&&V(le=>{let ce=new Set(le);return ce.delete(S),ce})}catch(C){console.error("[Popmelt] Failed to remove component from model:",C)}},[c]),gt=dn((S,C)=>{s({type:"MODIFY_SPACING_TOKEN",payload:S}),s({type:"ADD_SPACING_TOKEN_CHANGE",payload:C})},[s]),bt=dn((S,C)=>{s({type:"DELETE_SPACING_TOKEN",payload:{tokenPath:S,originalValue:C}})},[s]),[Yt,K]=nn(null),[X,Te]=nn(()=>typeof window=="undefined"?null:localStorage.getItem(Js)||null);zt(()=>{X?localStorage.setItem(Js,X):localStorage.removeItem(Js)},[X]);let[Oe,Xe]=nn(0),Pe=tn([]);zt(()=>{let S=Pe.current,C=i.spacingTokenMods;Pe.current=C;let le=new Map(S.map(ke=>[ke.tokenPath,ke])),ce=new Map(C.map(ke=>[ke.tokenPath,ke])),Ae=!1;for(let[ke,Ue]of ce){let Ye=le.get(ke);if(!(Ye&&Ye.currentValue===Ue.currentValue)){Ae=!0,Ue.currentValue==="__deleted__"?ga(ke,c).catch(Et=>console.error("[Popmelt] Failed to sync token delete:",Et)):Bi(ke,Ue.currentValue,c).catch(Et=>console.error("[Popmelt] Failed to sync token update:",Et));for(let Et of Ue.targets){let wt=document.querySelector(Et.selector);if(wt)if(Ue.currentValue==="__deleted__")wt.style.removeProperty(Et.property);else{let ht=Ue.currentPx;ht>0&&wt.style.setProperty(Et.property,`${ht}px`,"important")}}}}for(let[ke,Ue]of le)if(!ce.has(ke)){Ae=!0,Bi(ke,Ue.originalValue,c).catch(Ye=>console.error("[Popmelt] Failed to restore token on undo:",Ye));for(let Ye of Ue.targets){let Et=document.querySelector(Ye.selector);Et&&Et.style.removeProperty(Ye.property)}}Ae&&Xe(ke=>ke+1)},[i.spacingTokenMods,c]);let[he,te]=nn(()=>Da()),ie=dn(S=>{te(S),_a(S)},[]),[ve,Me]=nn(()=>typeof window=="undefined"?null:localStorage.getItem(Ys)||null),mt=tn(null),[Ne,ze]=nn(new Set),[nt,St]=nn(null);zt(()=>{ve?localStorage.setItem(Ys,ve):localStorage.removeItem(Ys)},[ve]);let Ke="popmelt-in-flight-jobs",[qe,Rt]=nn(()=>{try{let S=localStorage.getItem(Ke);return S?JSON.parse(S):{}}catch(S){return{}}});zt(()=>{try{Object.keys(qe).length>0?localStorage.setItem(Ke,JSON.stringify(qe)):localStorage.removeItem(Ke)}catch(S){}},[qe]),zt(()=>{let S=C=>{if(C.key===Ke)try{let le=C.newValue?JSON.parse(C.newValue):{};Rt(le)}catch(le){}};return window.addEventListener("storage",S),()=>window.removeEventListener("storage",S)},[]);let _n=tn(new Map),Kn=tn(new Map);zt(()=>{for(let[S,C]of Object.entries(qe))C.annotationIds.length>0&&_n.current.set(S,C.annotationIds),C.threadId&&Kn.current.set(S,C.threadId)},[qe]);let vn=tn("");zt(()=>{if(i.annotations.length===0)return;let S=Object.keys(qe).sort().join(",");if(S===vn.current)return;vn.current=S;let C=new Set;for(let ce of Object.values(qe))for(let Ae of ce.annotationIds)C.add(Ae);let le=i.annotations.filter(ce=>C.has(ce.id)?!1:!!(ce.status==="in_flight"||(ce.status==="pending"||!ce.status)&&(ce.captured||ce.threadId))).map(ce=>ce.id);le.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:le,status:"dismissed"}})},[i.annotations,qe,s]);let It=fo(()=>{let S=new Set;for(let C of Object.values(qe))for(let le of C.annotationIds)S.add(le);return S},[qe]),qn=fo(()=>{let S=new Set(a.activeJobIds),C=new Set;for(let[le,ce]of Object.entries(qe))if(S.has(le))for(let Ae of ce.annotationIds)C.add(Ae);return C},[qe,a.activeJobIds]),on=fo(()=>{let S=new Set(a.activeJobIds),C=Object.entries(qe).filter(([Ae])=>!S.has(Ae)),le=C.length,ce=new Map;return C.forEach(([,Ae],ke)=>{let Ue=`(${ke+1}/${le})`;for(let Ye of Ae.annotationIds)ce.set(Ye,Ue)}),ce},[qe,a.activeJobIds]),Zn=fo(()=>{let S=new Set;for(let C of Object.values(qe))for(let le of C.styleSelectors)S.add(le);return S},[qe]),xt=fo(()=>{let S=new Map;for(let C of Object.values(qe)){for(let le of C.styleSelectors)S.set(le,C.color);for(let le of C.annotationIds){let ce=i.annotations.find(Ae=>Ae.id===le);if(ce&&(ce.linkedSelector&&S.set(ce.linkedSelector,C.color),ce.groupId))for(let Ae of i.annotations)Ae.groupId===ce.groupId&&Ae.linkedSelector&&S.set(Ae.linkedSelector,C.color)}}return S},[qe,i.annotations]),rn=tn(i.annotations);rn.current=i.annotations;let _t=tn(i.styleModifications);_t.current=i.styleModifications;let sn=tn(qe);sn.current=qe,zt(()=>{let S=null,C=()=>{var Ye,Et;if(Object.keys(sn.current).length>0)return;let ce=rn.current,Ae=_t.current,ke=[],Ue=[];for(let wt of ce){if(!wt.linkedSelector||!wt.linkedSelector.startsWith("[data-pm=")||wt.pathname||wt.captured||wt.status&&wt.status!=="pending")continue;let ht=document.querySelector(wt.linkedSelector);!ht&&((Et=(Ye=wt.elements)==null?void 0:Ye[0])!=null&&Et.selector)&&(ht=document.querySelector(wt.elements[0].selector)),ht||ke.push(wt.linkedSelector)}for(let wt of Ae)document.querySelector(wt.selector)||Ue.push(wt.selector);(ke.length>0||Ue.length>0)&&s({type:"CLEANUP_ORPHANED",payload:{linkedSelectors:ke,styleSelectors:Ue}})},le=new MutationObserver(ce=>{ce.some(Ae=>Ae.removedNodes.length>0)&&(S&&clearTimeout(S),S=setTimeout(C,3e3))});return le.observe(document.body,{childList:!0,subtree:!0}),()=>{le.disconnect(),S&&clearTimeout(S)}},[s]);let Nn=tn(typeof window!="undefined"?window.location.pathname:"/");zt(()=>{let S=ce=>{if(g.current)return;let Ae=window.location.pathname;if(ce===Ae)return;let ke=rn.current.filter(Ye=>{var Et;return Ye.pathname===ce&&((Et=Ye.status)!=null?Et:"pending")==="pending"});if(console.log(`[Popmelt] Navigation from ${ce} \u2192 ${Ae}, ${ke.length} pending annotations on departing page`),ke.length===0)return;let Ue=l.current;if(!Ue){console.warn("[Popmelt] No canvas ref for capture-on-leave");return}if(Ar(document.body,Ue,ke,{dpr:1}).then(Ye=>Pr(Ye)).then(Ye=>{Ye?(u.current.set(ce,Ye),console.log(`[Popmelt] Cached screenshot for ${ce} (${(Ye.size/1024).toFixed(0)}KB)`)):console.warn(`[Popmelt] Capture-on-leave produced no blob for ${ce}`)}).catch(Ye=>{console.warn("[Popmelt] Capture-on-leave failed:",Ye)}),u.current.size>20){let Ye=[...u.current.entries()];u.current=new Map(Ye.slice(-10))}},C=ce=>{var ke;let Ae=(ke=ce.detail)==null?void 0:ke.prevPath;Ae&&(S(Ae),Nn.current=window.location.pathname)},le=()=>{let ce=Nn.current;S(ce),Nn.current=window.location.pathname};return window.addEventListener("popmelt:locationchange",C),window.addEventListener("popstate",le),()=>{window.removeEventListener("popmelt:locationchange",C),window.removeEventListener("popstate",le)}},[]),zt(()=>{a.lastCompletedJobId&&a.lastCompletedJobId in qe&&Rt(S=>{var ce;let Ae=S,{[ce=a.lastCompletedJobId]:C}=Ae;return jn(Ae,[Co(ce)])}),a.lastCompletedJobId&&a.lastCompletedJobId===Yt&&(Xe(S=>S+1),K(null))},[a.lastCompletedJobId,Yt]);let An=tn(new Set),Kt=tn(!1);zt(()=>{if(!a.isConnected){Kt.current=!1;return}Kt.current||(Kt.current=!0,rr(c).then(async S=>{var Ue,Ye,Et,wt;if(!S)return;let C=(Ue=S.activeJobs)!=null?Ue:[],le=(Ye=S.recentJobs)!=null?Ye:[],ce=new Set(C.map(ht=>ht.id)),Ae=JSON.parse(localStorage.getItem(Ke)||"{}"),ke=new Set;for(let ht of Object.values(Ae))if(ht.annotationIds)for(let kt of ht.annotationIds)ke.add(kt);Rt(ht=>{var Qn,kn,Vt;let kt=f({},ht),ut=Date.now();for(let pt of Object.keys(kt)){if(pt.startsWith("_pending_")){let Cn=parseInt(pt.replace(/^_pending_(?:reply_)?/,""),10);!isNaN(Cn)&&ut-Cn>3e4&&delete kt[pt];continue}ce.has(pt)||delete kt[pt]}for(let pt of C)!kt[pt.id]&&((Qn=pt.annotationIds)!=null&&Qn.length||pt.threadId)&&(kt[pt.id]={annotationIds:(kn=pt.annotationIds)!=null?kn:[],styleSelectors:[],color:(Vt=pt.color)!=null?Vt:"#888",threadId:pt.threadId});let Ut=new Set;for(let pt of le)if(pt.annotationIds)for(let Cn of pt.annotationIds)Ut.add(Cn);for(let pt of Object.keys(kt)){if(!pt.startsWith("_pending_"))continue;let Cn=kt[pt];Cn&&Cn.annotationIds.some(Ze=>Ut.has(Ze))&&delete kt[pt]}return kt});for(let ht of le)if(ht.status==="done"&&(Et=ht.annotationIds)!=null&&Et.length&&ht.annotationIds.some(kt=>ke.has(kt))&&!An.current.has(ht.id))try{let kt=await jr(c,ht.id);if(!kt)continue;let ut=kt.events.find(Ut=>Ut.type==="done");ut&&Array.isArray(ut.resolutions)&&(An.current.add(ht.id),s({type:"APPLY_RESOLUTIONS",payload:{resolutions:ut.resolutions,threadId:(wt=ut.threadId)!=null?wt:void 0}}))}catch(kt){}}))},[a.isConnected,c,s]),zt(()=>{let S=a.events.filter(C=>C.type==="done"&&C.data.resolutions);for(let C of S){let le=C.data.jobId;An.current.has(le)||(An.current.add(le),Array.isArray(C.data.resolutions)&&s({type:"APPLY_RESOLUTIONS",payload:{resolutions:C.data.resolutions,threadId:C.data.threadId}}))}},[a.events,s]);let Sn=tn(new Set);zt(()=>{let S=a.events.filter(C=>C.type==="error"&&C.data.cancelled);for(let C of S){let le=C.data.jobId;if(!le||Sn.current.has(le))continue;Sn.current.add(le);let ce=qe[le];ce&&ce.annotationIds.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:ce.annotationIds,status:"dismissed"}})}},[a.events,qe,s]);let bn=tn(0);zt(()=>{let S=a.incrementalResolutions;if(S.length<=bn.current)return;let C=S.slice(bn.current);bn.current=S.length,s({type:"APPLY_RESOLUTIONS",payload:{resolutions:C}})},[a.incrementalResolutions,s]),zt(()=>{a.incrementalResolutions.length===0&&(bn.current=0)},[a.incrementalResolutions.length]);let $=dn(async()=>{let S=l.current;if(!S)return!1;let C=await Ar(document.body,S,i.annotations);if(C.length===0)return!1;let le=await ja(C,i.annotations,i.styleModifications);return le&&s({type:"MARK_CAPTURED"}),le},[i.annotations,i.styleModifications,s]),De=dn((S,C)=>{let le=p.current.get(S)||[];p.current.set(S,[...le,...C])},[]),Ge=dn(async()=>{var Cn;let S=l.current;if(!S)return!1;let C=i.annotations.filter(Ze=>{var Ot;return((Ot=Ze.status)!=null?Ot:"pending")==="pending"}),le=i.spacingTokenChanges.filter(Ze=>!Ze.captured);if(C.length===0&&i.styleModifications.filter(Ze=>!Ze.captured).length===0&&le.length===0)return!1;let ce=new Map;for(let Ze of C){let Ot=Ze.pathname||b;ce.has(Ot)||ce.set(Ot,[]),ce.get(Ot).push(Ze)}let Ae=new Map,ke=[...ce.keys()].filter(Ze=>Ze!==b);if(ke.length>0){let Ze=b,Ot={x:window.scrollX,y:window.scrollY};g.current=!0;for(let Zt of ke)try{console.log(`[Popmelt] Navigating to ${Zt} for screenshot capture`),await Dc(Zt,o),window.location.pathname!==Zt&&console.warn(`[Popmelt] Navigation to ${Zt} did not take effect (at ${window.location.pathname})`);let Tn=ce.get(Zt)||[],Po=await Ar(document.body,S,Tn,{dpr:1}),Oo=await Pr(Po);Oo&&(Ae.set(Zt,Oo),console.log(`[Popmelt] Captured ${Zt} (${(Oo.size/1024).toFixed(0)}KB)`))}catch(Tn){console.warn(`[Popmelt] Failed to capture ${Zt}:`,Tn)}await Dc(Ze,o),window.scrollTo(Ot.x,Ot.y),g.current=!1}let Ue=C.filter(Ze=>(Ze.pathname||b)===b),Ye=await Ar(document.body,S,Ue.length>0?i.annotations:[],{dpr:1});if(Ye.length>0){let Ze=await Pr(Ye);Ze&&Ae.set(b,Ze)}if(Ae.size===0)return!1;let Et=Fi(C,i.styleModifications,void 0,le.length>0?le:void 0),wt=JSON.stringify(Et),ht=new Map;for(let Ze of C){let Ot=p.current.get(Ze.id);if(Ot&&Ot.length>0&&ht.set(Ze.id,Ot),Ze.groupId){for(let Zt of C)if(Zt.groupId===Ze.groupId&&Zt.id!==Ze.id){let Tn=p.current.get(Zt.id);Tn&&Tn.length>0&&ht.set(Zt.id,Tn)}}}let kt=ce.size>1;console.log(`[Popmelt] Submit: ${ce.size} page(s), ${Ae.size} screenshot(s), pages: [${[...ce.keys()].join(", ")}], cached: [${[...u.current.keys()].join(", ")}]`);let ut=kt?Ae:(Cn=Ae.get(b))!=null?Cn:Ae,Ut=C.map(Ze=>Ze.id),Qn=i.styleModifications.filter(Ze=>!Ze.captured).map(Ze=>Ze.selector),kn=Hi(i.activeColor),Vt=`_pending_${Date.now()}`,pt={annotationIds:Ut,styleSelectors:Qn,color:i.activeColor,threadId:void 0};try{let Ze=JSON.parse(localStorage.getItem(Ke)||"{}");Ze[Vt]=pt,localStorage.setItem(Ke,JSON.stringify(Ze))}catch(Ze){}Rt(Ze=>h(f({},Ze),{[Vt]:pt}));try{let{jobId:Ze,threadId:Ot}=await ua(ut,wt,c,kn,x,N.id,ht.size>0?ht:void 0,Ni());for(let Gn of ht.keys())p.current.delete(Gn);for(let Gn of ce.keys())u.current.delete(Gn);let Zt=h(f({},pt),{threadId:Ot});try{let Gn=JSON.parse(localStorage.getItem(Ke)||"{}");delete Gn[Vt],Gn[Ze]=Zt,localStorage.setItem(Ke,JSON.stringify(Gn))}catch(Gn){}Rt(Gn=>{let Pi=Gn,{[Vt]:Vs}=Pi,Ai=jn(Pi,[Co(Vt)]);return h(f({},Ai),{[Ze]:Zt})}),s({type:"MARK_CAPTURED"}),Ot&&Ut.length>0&&s({type:"SET_ANNOTATION_THREAD",payload:{ids:Ut,threadId:Ot}});let Tn=i.activeColor.match(/oklch\([^)]*\s+([\d.]+)\s*\)/),Oo=((Tn!=null&&Tn[1]?parseFloat(Tn[1]):29)+60)%360;return s({type:"SET_COLOR",payload:`oklch(0.628 0.258 ${Oo})`}),!0}catch(Ze){try{let Ot=JSON.parse(localStorage.getItem(Ke)||"{}");delete Ot[Vt],localStorage.setItem(Ke,JSON.stringify(Ot))}catch(Ot){}return Rt(Ot=>{let Po=Ot,{[Vt]:Zt}=Po;return jn(Po,[Co(Vt)])}),console.error("[Pare] Failed to send to bridge:",Ze),!1}},[i.annotations,i.styleModifications,i.spacingTokenChanges,i.activeColor,s,c,x,N.id,b,o]),En=dn(async()=>{if(X){Me(X);return}try{let{jobId:S,threadId:C}=await ha(c,x,N.id);K(S),Te(C);let le={annotationIds:[],styleSelectors:[],color:"#6b7280",threadId:C};Rt(ce=>h(f({},ce),{[S]:le})),Me(C)}catch(S){console.error("[Popmelt] Failed to start synthesize:",S)}},[c,x,N.id,X]),At=dn(async(S,C,le)=>{var Et,wt,ht,kt;let ce=(kt=(ht=(Et=Object.values(sn.current).find(ut=>ut.threadId===S))==null?void 0:Et.color)!=null?ht:(wt=i.annotations.find(ut=>ut.threadId===S))==null?void 0:wt.color)!=null?kt:i.activeColor,Ae=i.annotations.filter(ut=>ut.threadId===S&&(ut.status==="waiting_input"||ut.status==="resolved"||ut.status==="needs_review")),ke=Ae.map(ut=>ut.id),Ue=`_pending_reply_${Date.now()}`,Ye={annotationIds:ke,styleSelectors:[],color:ce,threadId:S};try{let ut=JSON.parse(localStorage.getItem(Ke)||"{}");ut[Ue]=Ye,localStorage.setItem(Ke,JSON.stringify(ut))}catch(ut){}Rt(ut=>h(f({},ut),{[Ue]:Ye}));try{let ut=Hi(i.activeColor),{jobId:Ut}=await ya(S,C,c,ut,x,N.id,le,Ni()),Qn=f({},Ye);try{let kn=JSON.parse(localStorage.getItem(Ke)||"{}");delete kn[Ue],kn[Ut]=Qn,localStorage.setItem(Ke,JSON.stringify(kn))}catch(kn){}Rt(kn=>{let Cn=kn,{[Ue]:Vt}=Cn,pt=jn(Cn,[Co(Ue)]);return h(f({},pt),{[Ut]:Qn})}),Ae.length>0&&s({type:"SET_ANNOTATION_STATUS",payload:{ids:ke,status:"in_flight"}}),a.dismissQuestion(S)}catch(ut){try{let Ut=JSON.parse(localStorage.getItem(Ke)||"{}");delete Ut[Ue],localStorage.setItem(Ke,JSON.stringify(Ut))}catch(Ut){}Rt(Ut=>{let Vt=Ut,{[Ue]:Qn}=Vt;return jn(Vt,[Co(Ue)])}),console.error("[Pare] Failed to send reply:",ut)}},[i.activeColor,i.annotations,c,a.dismissQuestion,s,x,N.id]),qt=tn(new Set);zt(()=>{for(let S of a.pendingQuestions){if(qt.current.has(S.jobId))continue;qt.current.add(S.jobId);let C=S.annotationIds&&S.annotationIds.length>0?S.annotationIds:void 0;!C&&S.threadId&&(C=i.annotations.filter(le=>le.threadId===S.threadId).map(le=>le.id)),C&&C.length>0&&s({type:"SET_ANNOTATION_QUESTION",payload:{ids:C,question:S.question,threadId:S.threadId}})}},[a.pendingQuestions,s,i.annotations]);let wn=fo(()=>{if(a.activeJobId&&a.activeJobId in qe)return qe[a.activeJobId].color;let S=Object.values(qe);return S.length>0?S[S.length-1].color:void 0},[a.activeJobId,qe]),Wt=dn(S=>{Me(S)},[]),Gt=dn(S=>{var ce;let C=qe[S],le=(C==null?void 0:C.threadId)||Kn.current.get(S);le&&(mt.current=(ce=C==null?void 0:C.color)!=null?ce:null,Me(le))},[qe]),Pn=dn(S=>{if(!S){St(null);return}let C=_n.current.get(S);C&&C.length>0?St(new Set(C)):St(null)},[]),Nt=dn(async S=>{try{let C=S?`${c}/cancel?jobId=${S}`:`${c}/cancel`;await fetch(C,{method:"POST"})}catch(C){}},[c]);zt(()=>{i.activeTool==="model"&&ve&&ve!==X&&Me(null)},[i.activeTool]);let lt=tn(null);zt(()=>{i.isAnnotating?lt.current&&(Me(lt.current),lt.current=null):ve&&(lt.current=ve,Me(null))},[i.isAnnotating]);let Ht=fo(()=>{if(!ve)return null;for(let[S,C]of Object.entries(qe))if(C.threadId===ve)return S;for(let[S,C]of Object.entries(a.activeJobThreads))if(C===ve)return S;return null},[ve,qe,a.activeJobThreads]),Jt=ve?i.annotations.find(S=>S.threadId===ve):void 0,nr=fo(()=>Ht?a.events.filter(S=>S.data.jobId===Ht):Vg,[Ht,a.events.length]),go=fo(()=>{var S,C;return(C=(S=Jt==null?void 0:Jt.color)!=null?S:mt.current)!=null?C:i.activeColor},[Jt==null?void 0:Jt.color,i.activeColor]),Ao=Jt?i.annotations.indexOf(Jt)+1:void 0;zt(()=>{var C;let S=(C=Jt==null?void 0:Jt.color)!=null?C:mt.current;ve&&S&&s({type:"SET_COLOR",payload:S})},[ve]);let[ao,mo]=nn(!1),[or,w]=nn(0),H=tn(null),q=dn(S=>{S?(H.current&&(clearTimeout(H.current),H.current=null),mo(!0)):H.current=setTimeout(()=>{mo(!1),H.current=null},150)},[]),ye=dn(()=>{w(S=>S+1),a.clearEvents(),Me(null),ze(new Set),Nt()},[a.clearEvents,Nt]);zt(()=>()=>{H.current&&clearTimeout(H.current)},[]);let[de,ge]=nn(!1);zt(()=>{ge(!0)},[]);let He=fo(()=>({isEnabled:t}),[t]);return!t||!de?Ir(Us.Provider,{value:He,children:e}):_c(Us.Provider,{value:He,children:[e,Ir(Vl,{state:i,dispatch:s,onScreenshot:$,inFlightAnnotationIds:It,activeAnnotationIds:qn,queuePositionMap:on,inFlightStyleSelectors:Zn,inFlightSelectorColors:xt,onAttachImages:De,onReply:a.isConnected?At:void 0,onViewThread:a.isConnected?Wt:void 0,onCloseThread:S=>{Me(null),S&&ze(C=>new Set(C).add(S))},onModelComponentsAdd:a.isConnected?Je:void 0,onModelComponentFocus:a.isConnected?Re:void 0,onModelComponentHover:I,modelComponentNames:Le,modelPanelHoveredComponent:pe,modelSpacingTokenHover:Fe,highlightedAnnotationIds:nt,focusedThreadAnnotationId:Jt==null?void 0:Jt.id,externalCanvasRef:l,toolbarRef:d}),Ir(Tc,{children:_c(Ec,{children:[Ir(vc,{state:i,dispatch:s,onScreenshot:$,onSendToClaude:a.isConnected?Ge:void 0,hasActiveJobs:Object.keys(qe).length>0||a.activeJobIds.length>0,activeJobColor:wn,onCrosshairHover:q,onClear:ye,provider:x,onProviderChange:a.isConnected&&P.length>1?ee:void 0,availableProviders:P,modelIndex:T,modelCount:Q.length,modelLabel:N.label,onModelChange:a.isConnected?M:void 0,onViewThread:a.isConnected?Wt:void 0,isThreadPanelOpen:ve!==null&&ve!==X,mcpStatus:re,bridgeUrl:c,isBridgeConnected:a.isConnected,modelSelectedComponent:fe,modelCanvasHoveredComponent:ae,onModelComponentHover:me,onSpacingTokenHover:we,onModifySpacingToken:a.isConnected?gt:void 0,onDeleteSpacingToken:a.isConnected?bt:void 0,modelRefreshKey:Oe,onModelComponentAdded:Ce,onModelComponentRemoved:at,onSynthesizeRules:a.isConnected&&x!=="copilot"?En:void 0,isSynthesizing:Yt!==null,toolbarRef:d,snapPosition:he,onSnapPositionChange:ie}),ve&&Ir(Bc,{threadId:ve,bridgeUrl:c,accentColor:go,isStreaming:Ht!==null,isQueued:Ht!==null&&!a.activeJobIds.includes(Ht),queuePosition:Ht&&!a.activeJobIds.includes(Ht)?(()=>{let S=new Set(a.activeJobIds),C=Object.keys(qe).filter(ce=>!S.has(ce)),le=C.indexOf(Ht);return le>=0?`(${le+1}/${C.length})`:void 0})():void 0,streamingEvents:nr,onClose:()=>Me(null),onReply:At,onCancel:Ht?()=>Nt(Ht):void 0,lastError:(un=(Pt=a.lastErrorByJob)==null?void 0:Pt[Ht!=null?Ht:""])!=null?un:a.lastCompletedJobId&&Kn.current.get(a.lastCompletedJobId)===ve?(Ft=a.lastErrorByJob)==null?void 0:Ft[a.lastCompletedJobId]:void 0,toolbarRef:d,currentModel:N.id,currentProvider:x,annotationNumber:Ao,annotationText:Jt==null?void 0:Jt.text}),Ir(Cc,{bridge:a,bridgeUrl:c,inFlightJobs:qe,isVisible:ao||a.lastResponseText!==null||a.activeJobIds.length>0,onHover:q,clearSignal:or,onReply:At,onViewThread:Wt,onClickJob:Gt,onCancel:Nt,onHoverJob:Pn,isConnected:a.isConnected,dismissedThreadIds:Ne,snapPosition:he})]})})]})}function Qg(){let e=Ug(Us);if(!e)throw new Error("usePopmelt must be used within PopmeltProvider");return e}export{Zg as PopmeltProvider,Qg as usePopmelt};