mesurer-solid 0.2.2-beta.8 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/index.js +5 -2
- package/dist/inject-script.js +2 -2
- package/dist/inject.js +5 -2
- package/dist/plugins.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -72,7 +72,7 @@ const mesurer = mountMesurer({
|
|
|
72
72
|
})
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
The base inspector includes Select, X-ray, Color Picker, Rulers, Typography, Guides, Distance, Settings, plugin hosting, direct text editing, and the low-level inspection API. First-party Recording uses MediaBunny for encoded video, trim, resize, and WebM/MP4 export; its capture adapters only acquire pixels. Electron apps should import `mesurer-solid/electron` once from the main-process entrypoint before creating BrowserWindows; Mesurer then owns its narrow Recording preload/IPC automatically, so the app does not add Recording code to its own preload. The toolbar groups those controls into Select and Edit. Typography stays read-only in Select; Edit owns movement and direct text/style changes. Color Picker uses application-local capture when `window.__MESURER_HOST__.captureScreenshot` is available; other supported browser hosts use an operational `EyeDropper`. A successful sample is copied to the clipboard using `colorPickerClickFormat`.
|
|
75
|
+
The base inspector includes Select, X-ray, Color Picker, Rulers, Typography, Guides, Distance, Settings, plugin hosting, direct text editing, and the low-level inspection API. First-party Recording uses MediaBunny for encoded video, trim, resize, and WebM/MP4 export; its capture adapters only acquire pixels. Electron apps should import `mesurer-solid/electron` once from the main-process entrypoint before creating BrowserWindows; Mesurer then owns its narrow Recording preload/IPC automatically, so the app does not add Recording code to its own preload. The toolbar groups those controls into Select and Edit. Motion inspection is built into Select and appears for the selected element, with a live preview, playback controls, and keyframe details. Select, measurement geometry, X-ray, Motion, and Context can inspect same-origin iframes; cross-origin frame contents are inaccessible. Typography stays read-only in Select; Edit owns movement and direct text/style changes. Color Picker uses application-local capture when `window.__MESURER_HOST__.captureScreenshot` is available; other supported browser hosts use an operational `EyeDropper`. A successful sample is copied to the clipboard using `colorPickerClickFormat`.
|
|
76
76
|
|
|
77
77
|
`mesurer-solid/plugins` also exports the built-in factories for lower-level composition. Normal mounts already include the built-ins. Use `excludeBuiltins` with names such as `"xray"`, `"typography"`, and `"colorPicker"` when a mount should omit one.
|
|
78
78
|
|
|
@@ -110,10 +110,10 @@ Programmatic injection reuses an existing connected instance by default. Lifecyc
|
|
|
110
110
|
- Read selection, measurements, guides, annotations, layout, styles, and saved human intent through Context and agent APIs.
|
|
111
111
|
- Keep saved annotations across same-tab reloads and conservatively rebind them to their original DOM targets; markers, cards, and ownership evidence stay attached through scrolling, repeated-note markers stay local, Add Note remains available while a note is open, and cards/composers occlude Select hover and selection chrome.
|
|
112
112
|
- Extend the runtime with tools, settings, overlays, commands, hooks, state, and services.
|
|
113
|
-
- Compact the toolbar to active
|
|
113
|
+
- Compact the toolbar to the current mode and active tools with their pressed state, while keeping the expand control visible; the Settings shortcut remains available when shortcuts are enabled.
|
|
114
114
|
- Choose System, Light, or Dark appearance while keeping the same theme across isolated and document-backed Mesurer UI.
|
|
115
115
|
|
|
116
|
-
Use `1` for Select and `2` for Edit. Select owns X-ray, Color Picker, Typography, Screenshot, and
|
|
116
|
+
Use `1` for Select and `2` for Edit. Select owns X-ray, Color Picker, Typography, Screenshot, Recording, and built-in Motion inspection, including across accessible same-origin iframes. Edit owns movement and direct text/style changes. Rulers, Guides, and Layout Guides remain usable in both modes; Context and Codex remain visible in both modes. The grouped toolbar changes modes in 150 ms. `Shift+A` still enters Edit as a compatibility shortcut.
|
|
117
117
|
|
|
118
118
|
Toolbar dragging starts after the pointer crosses the drag threshold. Dragging from Settings, Guide, or plugin triggers closes the open menu or panel. Pointer activity inside menus, dialogs, form controls, editable regions, and sliders does not drag the toolbar.
|
|
119
119
|
|
package/dist/index.js
CHANGED
|
@@ -6505,8 +6505,11 @@ function Ou(e) {
|
|
|
6505
6505
|
get each() {
|
|
6506
6506
|
return j();
|
|
6507
6507
|
},
|
|
6508
|
+
keyed: (e) => e.id,
|
|
6508
6509
|
children: (t, n) => Y(Eu, {
|
|
6509
|
-
measurement
|
|
6510
|
+
get measurement() {
|
|
6511
|
+
return t();
|
|
6512
|
+
},
|
|
6510
6513
|
get edgeVisibility() {
|
|
6511
6514
|
return F()[n()];
|
|
6512
6515
|
},
|
|
@@ -23058,7 +23061,7 @@ function zC(e) {
|
|
|
23058
23061
|
}
|
|
23059
23062
|
//#endregion
|
|
23060
23063
|
//#region src/version.ts
|
|
23061
|
-
var BC = "0.2.2
|
|
23064
|
+
var BC = "0.2.2", VC = bh, HC = xh, UC = () => ({
|
|
23062
23065
|
...gg(),
|
|
23063
23066
|
version: BC
|
|
23064
23067
|
}), WC = HC, GC = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, KC = (e) => {
|
package/dist/inject-script.js
CHANGED
|
@@ -2026,7 +2026,7 @@ body.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesur
|
|
|
2026
2026
|
}
|
|
2027
2027
|
}
|
|
2028
2028
|
}
|
|
2029
|
-
`,Ds=new WeakMap,Os=e=>{let t=e.location.pathname.replace(/\/+$/,``)||`/`,n=new URLSearchParams(e.location.search);n.sort();let r=n.toString(),i=e.location.hash,a=i.startsWith(`#/`)?i:``;return`${t}${r?`?${r}`:``}${a}`},ks=(e,t)=>{let n=Os(e);for(let e of t.listeners)e(n)},As=e=>{let t=Ds.get(e);if(t)return t;let n=e.history,r=n.pushState,i=n.replaceState,a={listeners:new Set,pushState:r,replaceState:i,handleNativeChange:()=>ks(e,a)};return n.pushState=function(...t){let n=r.apply(this,t);return ks(e,a),n},n.replaceState=function(...t){let n=i.apply(this,t);return ks(e,a),n},e.addEventListener(`popstate`,a.handleNativeChange),e.addEventListener(`hashchange`,a.handleNativeChange),Ds.set(e,a),a},js=(e,t)=>{t.listeners.size>0||Ds.get(e)!==t||(e.history.pushState=t.pushState,e.history.replaceState=t.replaceState,e.removeEventListener(`popstate`,t.handleNativeChange),e.removeEventListener(`hashchange`,t.handleNativeChange),Ds.delete(e))},Ms=(e,t)=>{let n=As(e);n.listeners.add(t);let r=!1;return()=>{r||(r=!0,n.listeners.delete(t),js(e,n))}},Ns={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},Ps={enabled:!0,color:`#2563eb`,diagonals:!1,opacity:1,width:1,pattern:`dashed`,dashLength:4,gap:3},Fs={opacity:1,edgeReveal:!1},Is=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Ls=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Rs=e=>typeof e==`string`,zs=e=>typeof e==`boolean`,Bs=e=>typeof e==`number`&&Number.isFinite(e),Vs=e=>e===`hex`||e===`rgb`||e===`hsl`||e===`oklch`,Hs=e=>e===`solid`||e===`dashed`||e===`dotted`,Us=e=>e===`system`||e===`light`||e===`dark`,Ws=e=>e===`none`||e===`select`||e===`guides`||e===`text-inspector`||e===`xray`||e===`rulers`,Gs=e=>e===`vertical`||e===`horizontal`,Ks=e=>Is(e)?Bs(e.left)&&Bs(e.top)&&Bs(e.width)&&e.width>=0&&Bs(e.height)&&e.height>=0:!1,qs=e=>Is(e)?Rs(e.id)&&Ks(e.rect)&&Ks(e.normalizedRect)&&Bs(e.deltaX)&&Bs(e.deltaY):!1,Js=e=>Is(e)?Rs(e.id)&&Gs(e.orientation)&&Bs(e.position):!1,Ys=e=>Is(e)?Rs(e.id)&&Ks(e.rectA)&&Ks(e.rectB)&&Ks(e.normalizedRectA)&&Ks(e.normalizedRectB)&&Array.isArray(e.connectors):!1,Xs=(e,t)=>{if(Ls(e))return{opacity:Bs(e.opacity)?Math.min(1,Math.max(0,e.opacity)):t.opacity,width:Bs(e.width)?Math.min(4,Math.max(1,e.width)):t.width,pattern:Hs(e.pattern)?e.pattern:t.pattern,dashLength:Bs(e.dashLength)?Math.min(24,Math.max(2,e.dashLength)):t.dashLength,gap:Bs(e.gap)?Math.min(24,Math.max(0,e.gap)):t.gap}},Zs=e=>Xs(e,Ns),Qs=e=>{if(!Ls(e))return;let t=Xs(e,Ps);if(t)return{...t,enabled:zs(e.enabled)?e.enabled:Ps.enabled,color:Rs(e.color)?e.color:Ps.color,diagonals:zs(e.diagonals)?e.diagonals:Ps.diagonals}},$s=e=>{if(Ls(e))return{opacity:Bs(e.opacity)?Math.min(1,Math.max(.2,e.opacity)):Fs.opacity,edgeReveal:zs(e.edgeReveal)?e.edgeReveal:Fs.edgeReveal}},ec=e=>{if(!Ls(e))return{};let t={};if(Rs(e.highlightColor)&&(t.highlightColor=e.highlightColor),Rs(e.guideColor)&&(t.guideColor=e.guideColor),zs(e.hoverHighlightEnabled)&&(t.hoverHighlightEnabled=e.hoverHighlightEnabled),Array.isArray(e.colorPickerFormats)){let n=e.colorPickerFormats.filter(Vs);n.length>0&&(t.colorPickerFormats=n)}Vs(e.colorPickerClickFormat)&&(t.colorPickerClickFormat=e.colorPickerClickFormat),zs(e.snapEnabled)&&(t.snapEnabled=e.snapEnabled),zs(e.snapGuidesEnabled)&&(t.snapGuidesEnabled=e.snapGuidesEnabled),zs(e.selectNewGuideEnabled)&&(t.selectNewGuideEnabled=e.selectNewGuideEnabled),zs(e.multiMeasureEnabled)&&(t.multiMeasureEnabled=e.multiMeasureEnabled),zs(e.persistOnReload)&&(t.persistOnReload=e.persistOnReload),zs(e.shortcutsEnabled)&&(t.shortcutsEnabled=e.shortcutsEnabled),Us(e.theme)&&(t.theme=e.theme);let n=Zs(e.guideStyle);n&&(t.guideStyle=n);let r=Qs(e.selectionSpacingStyle);r&&(t.selectionSpacingStyle=r);let i=$s(e.rulerSettings);return i&&(t.rulerSettings=i),t},tc=e=>!Ls(e)||!zs(e.enabled)||!Ws(e.toolMode)||!Gs(e.guideOrientation)||!Array.isArray(e.guides)||!Array.isArray(e.selectedGuideIds)||!Array.isArray(e.measurements)||!Array.isArray(e.heldDistances)?null:{enabled:e.enabled,xrayVisible:zs(e.xrayVisible)?e.xrayVisible:e.toolMode===`xray`,toolMode:e.toolMode,rulersVisible:zs(e.rulersVisible)?e.rulersVisible:e.toolMode===`rulers`,guideOrientation:e.guideOrientation,guides:e.guides.filter(Js),selectedGuideIds:e.selectedGuideIds.filter(Rs),measurements:e.measurements.filter(qs),activeMeasurement:qs(e.activeMeasurement)?e.activeMeasurement:null,heldDistances:e.heldDistances.filter(Ys)},nc=e=>!Ls(e)||e.version!==2?null:{settings:ec(e.settings),workspace:tc(e.workspace)},rc=e=>Ls(e)?e.version===2?nc(e):e.version===1?{settings:{},workspace:tc(e)}:null:null,ic=e=>JSON.parse(e),ac=`mesurer.pages/v1`,oc=e=>{if(!Ls(e)||e.format!==ac||!Ls(e.pages))return null;let t={};for(let[n,r]of Object.entries(e.pages)){let e=tc(r);e&&(t[n]=e)}return{format:ac,settings:ec(e.settings),pages:t}},sc=(e,t,n=t,r)=>{let i,a=Os(e),o=t=>{try{let n=e.localStorage.getItem(t);return n?ic(n):null}catch(e){return i?.(e),null}},s=e=>{let t=o(e);return t?rc(t):null},c=e=>oc(o(e)??void 0),l=(t,n)=>{try{e.localStorage.setItem(t,JSON.stringify(n))}catch(e){i?.(e)}},u=(e,t)=>{l(e,{version:2,settings:t.settings,workspace:t.workspace})},d=()=>{let e=r?s(r):null,i=n===t?c(t):null,o=n===t?null:s(n),l=c(t),u=l?null:s(t),d=l?.pages[a]??u?.workspace??e?.workspace??null,f=i?.settings??o?.settings??e?.settings??{};return!i&&!o&&!l&&!u&&!e?null:{settings:f,workspace:d}},f=e=>{let r=c(t),i=r?null:s(t),o=r?{...r.pages}:{};!r&&i?.workspace&&(o[a]=i.workspace),e.clearWorkspace?delete o[a]:e.workspace!==void 0&&(e.workspace?o[a]=e.workspace:delete o[a]);let u=e.settings??(n===t?r?.settings??i?.settings??{}:{});l(t,{format:ac,settings:u,pages:o})};return{load:d,saveSettings:e=>{if(n===t){f({settings:e});return}u(n,{settings:e,workspace:null})},saveWorkspace:e=>f({workspace:e}),clearWorkspace:()=>f({clearWorkspace:!0}),clearSettings:()=>{if(n===t){f({settings:{}});return}u(n,{settings:{},workspace:null})},setPageKey:e=>{a=e},setErrorHandler:e=>{i=e},subscribe:i=>{let a=e=>{(e.key===n||e.key===t||e.key===r)&&i(d(),{settings:e.key===n||e.key===r||n===t,workspace:e.key===t||e.key===r||n===t})};return e.addEventListener(`storage`,a),()=>e.removeEventListener(`storage`,a)}}},cc=2,lc=64,uc=`--mesurer-spacing-label-collision-x`,dc=`--mesurer-spacing-label-collision-y`,fc=22,pc=16,mc=new WeakMap,hc=(e,t,n)=>({left:e.left+t,top:e.top+n,right:e.right+t,bottom:e.bottom+n,width:e.width,height:e.height}),gc=(e,t)=>e.left<t.right+cc&&e.right+cc>t.left&&e.top<t.bottom+cc&&e.bottom+cc>t.top,_c=(e,t,n)=>e.left>=cc&&e.top>=cc&&e.right<=t-cc&&e.bottom<=n-cc,vc=e=>{if(e===0)return 0;let t=Math.ceil(e/2);return e%2==1?t:-t},yc=(e,t)=>{let n=Number.parseFloat(e.style.getPropertyValue(t));return Number.isFinite(n)?n:0},bc=e=>{let t=Number.parseInt(e.getAttribute(`data-mesurer-distance-label-index`)??`0`,10);return Number.isFinite(t)?t:0},xc=e=>{let t=e.getAttribute(`data-mesurer-distance-label-axis`);if(t===`x`)return{x:1,y:0};if(t===`y`)return{x:0,y:1};let n=Number.parseFloat(e.getAttribute(`data-mesurer-distance-label-vector-x`)??``),r=Number.parseFloat(e.getAttribute(`data-mesurer-distance-label-vector-y`)??``),i=Math.hypot(n,r);return Number.isFinite(i)&&i>.5?{x:n/i,y:r/i}:{x:1,y:0}},Sc=(e,t,n,r)=>{Math.abs(n-r)<.5||(r===0?e.style.removeProperty(t):e.style.setProperty(t,`${r}px`))},Cc=e=>{let t=e.ownerDocument.defaultView;if(!t)return;let n=[...e.querySelectorAll(`[data-mesurer-distance-kind="selection-spacing"] [data-mesurer-distance-label="true"]`)].sort((e,t)=>(e.getAttribute(`data-mesurer-distance-label-axis`)===`d`)-+(t.getAttribute(`data-mesurer-distance-label-axis`)===`d`)),r=new Map,i=n[0]?.closest(`[data-mesurer-distance-kind="selection-spacing"]`)?.getAttribute(`data-mesurer-selection-scope`);if(i){for(let t of e.ownerDocument.querySelectorAll(`[data-mesurer-spacing-paint="true"]`))if(t.getAttribute(`data-mesurer-selection-scope`)===i)for(let e of t.querySelectorAll(`[data-mesurer-spacing-visual-label="true"]`))r.set([t.getAttribute(`data-mesurer-distance-id`),e.getAttribute(`data-mesurer-distance-label-key`),e.getAttribute(`data-mesurer-distance-label-index`),e.getAttribute(`data-mesurer-distance-label-axis`)].join(`|`),e)}let a=[];for(let e of n){let n=e.closest(`[data-mesurer-distance-kind="selection-spacing"]`),i=r.get([n?.getAttribute(`data-mesurer-distance-id`),e.getAttribute(`data-mesurer-distance-label-key`),e.getAttribute(`data-mesurer-distance-label-index`),e.getAttribute(`data-mesurer-distance-label-axis`)].join(`|`)),o=i??e,s=yc(o,uc),c=yc(o,dc),l=e.getAttribute(`data-mesurer-distance-label-axis`),u=xc(e),d={x:-u.y,y:u.x},f=bc(e),p=l===`y`?f*fc:0,m=l===`x`?f*pc:0,h=o.getBoundingClientRect(),g={left:h.left-s-p,top:h.top-c-m,right:h.right-s-p,bottom:h.bottom-c-m,width:h.width,height:h.height},_=l===`x`?g.width+cc:l===`y`?g.height+cc:Math.max(g.width,g.height)+cc,v=vc(f),y=g,b=0,x=0,S=!1;for(let e=0;e<lc;e+=1){let n=(v+vc(e))*_,r=u.x*n,o=u.y*n,s=hc(g,r,o);if(!(!i&&!_c(s,t.innerWidth,t.innerHeight))&&!a.some(e=>gc(s,e))){y=s,b=r,x=o,S=!0;break}}if(!S){let e=v*_,t=u.x*e,n=u.y*e,r=l===`x`?g.height+cc:l===`y`?g.width+cc:Math.max(g.width,g.height)+cc;for(let e=1;e<lc;e+=1){let i=vc(e)*r,o=t+d.x*i,s=n+d.y*i,c=hc(g,o,s);if(!a.some(e=>gc(c,e))){y=c,b=o,x=s;break}}}let C=b-p,w=x-m;Sc(e,uc,yc(e,uc),C),Sc(e,dc,yc(e,dc),w),i&&(Sc(i,uc,s,C),Sc(i,dc,c,w)),a.push(y)}},wc=e=>{let t=mc.get(e);if(t){t.dirty=!0;return}let n=e.ownerDocument.defaultView;if(!n)return;let r={dirty:!1};mc.set(e,r),n.requestAnimationFrame(()=>{mc.delete(e),e.isConnected&&(Cc(e),r.dirty&&wc(e))})},Tc=`data-mesurer-spacing-label-pinned`,Ec=`data-mesurer-spacing-label-group`,Dc=`data-mesurer-spacing-base-opacity`,Oc=`[data-mesurer-selected-measurement="true"], [data-mesurer-selection-spacing-target="true"]`,kc=`[data-mesurer-distance-hover-target="true"]`,Ac=8,jc=new WeakMap,Mc=new WeakMap,Nc=new WeakMap,Pc=new WeakMap,Fc=e=>e.closest(`[data-mesurer-distance-kind="selection-spacing"]`)?.parentElement??null,Ic=e=>{queueMicrotask(()=>wc(e))},Lc=e=>{let t=()=>{let t=Fc(e);t&&wc(t)};queueMicrotask(t),e.ownerDocument.defaultView?.requestAnimationFrame(t)},Rc=e=>{let t=Fc(e),n=e.getAttribute(`data-mesurer-distance-label-key`),r=e.getAttribute(`data-mesurer-distance-id`);return!t||!n||!r?null:{scope:t,labelKey:n,distanceId:r,labelCount:Number(e.getAttribute(`data-mesurer-distance-label-count`)??`1`)}},zc=e=>`${e.style.left}:${e.style.top}:${e.style.width}:${e.style.height}`,Bc=e=>{if(e.matches(`[data-mesurer-selection-spacing-target="true"]`))return e;for(let t of e.children)if(t instanceof HTMLElement&&t.style.left&&t.style.top&&t.style.width&&t.style.height)return t;return null},Vc=(e,t)=>{let n=t?new Set([...t.querySelectorAll(kc)].map(zc)):null,r=e.querySelector(`[data-mesurer-distance-kind="selection-spacing"]`)?.getAttribute(`data-mesurer-selection-scope`),i=r?[...e.ownerDocument.querySelectorAll(`[data-mesurer-multi-selection-document-layer="true"]`)].find(e=>e.getAttribute(`data-mesurer-selection-scope`)===r):null,a=[...e.querySelectorAll(Oc),...i?.querySelectorAll(Oc)??[]];for(let e of a){if(!n){let t=e.getAttribute(Dc);if(t===null)continue;t?e.style.opacity=t:e.style.removeProperty(`opacity`),e.removeAttribute(Dc);continue}e.hasAttribute(Dc)||e.setAttribute(Dc,e.style.opacity);let t=Bc(e);e.style.opacity=t&&n.has(zc(t))?`1`:`0.32`}},Hc=e=>{let t=Nc.get(e);t&&(e.ownerDocument.removeEventListener(`pointermove`,t.handler,!0),Nc.delete(e))},Uc=e=>{let t=Pc.get(e);t&&(e.ownerDocument.removeEventListener(`pointermove`,t.handler,!0),Pc.delete(e))},Wc=(e,t)=>{if(!e.hasAttribute(Ec)){t?.setExpandedKey(null);return}e.removeAttribute(Ec),t?.setExpandedKey(null),Ic(e)},Gc=(e,t,n)=>{e.getAttribute(Ec)!==t&&(e.setAttribute(Ec,t),n?.setExpandedKey(t),Ic(e))},Kc=e=>{let t=e.querySelector(`[data-mesurer-distance-kind="selection-spacing"]`)?.getAttribute(`data-mesurer-selection-scope`);return t?[...e.ownerDocument.querySelectorAll(`[data-mesurer-spacing-paint="true"]`)].filter(e=>e.getAttribute(`data-mesurer-selection-scope`)===t):[]},qc=(e,t)=>{let n=Kc(e),r=[...e.querySelectorAll(`[data-mesurer-distance-kind="selection-spacing"]`),...n];if(!t)for(let e of n)e.removeAttribute(`data-mesurer-spacing-hover-axis`);if(t&&!e.hasAttribute(`data-mesurer-spacing-focus`))for(let e of r)for(let t of e.querySelectorAll(`[data-mesurer-distance-line], [data-mesurer-distance-connector]`))t.setAttribute(`data-mesurer-base-opacity`,t.style.opacity||`1`);if(!t){for(let e of r){e.removeAttribute(`data-mesurer-distance-active`);for(let t of e.querySelectorAll(`[data-mesurer-distance-line], [data-mesurer-distance-connector]`))t.style.opacity=t.getAttribute(`data-mesurer-base-opacity`)??``,t.removeAttribute(`data-mesurer-base-opacity`)}e.removeAttribute(`data-mesurer-spacing-focus`),Vc(e,null);return}e.setAttribute(`data-mesurer-spacing-focus`,t);let i=null;for(let e of r){let n=e.getAttribute(`data-mesurer-distance-id`)===t;n?(e.setAttribute(`data-mesurer-distance-active`,`true`),e.dataset.mesurerDistanceKind===`selection-spacing`&&(i=e)):e.removeAttribute(`data-mesurer-distance-active`);for(let t of e.querySelectorAll(`[data-mesurer-distance-line], [data-mesurer-distance-connector]`))t.style.opacity=n?`1`:`0.16`}Vc(e,i)},Jc=e=>{let t=jc.get(e);t!==void 0&&(e.ownerDocument.defaultView?.clearTimeout(t),jc.delete(e))},Yc=e=>{let t=Mc.get(e);t&&(e.ownerDocument.removeEventListener(`pointerdown`,t,!0),Mc.delete(e))},Xc=(e,t)=>{Jc(e),Hc(e),Yc(e),e.removeAttribute(Tc),t?.setPinnedKey(null),Wc(e,t),qc(e,null)},Zc=(e,t)=>{if(Mc.has(e))return;let n=n=>{let r=n.target,i=r instanceof Element?r.closest(`[data-mesurer-distance-label-key]`):null;i&&Fc(i)===e||Xc(e,t)};Mc.set(e,n),e.ownerDocument.addEventListener(`pointerdown`,n,!0)},Qc=(e,t)=>{if(e.hasAttribute(Tc)||jc.has(e))return;let n=e.ownerDocument.defaultView;n&&jc.set(e,n.setTimeout(()=>{jc.delete(e),!e.hasAttribute(Tc)&&(Hc(e),Wc(e,t),qc(e,null))},250))},$c=(e,t,n,r,i=Ac)=>{let a=1/0,o=1/0,s=-1/0,c=-1/0,l=!1;for(let n of e.querySelectorAll(`[data-mesurer-distance-label-key][data-mesurer-distance-label="true"]`)){if(n.getAttribute(`data-mesurer-distance-label-key`)!==t)continue;let e=n.getBoundingClientRect();a=Math.min(a,e.left),o=Math.min(o,e.top),s=Math.max(s,e.right),c=Math.max(c,e.bottom),l=!0}return l&&n>=a-i&&n<=s+i&&r>=o-i&&r<=c+i},el=(e,t,n)=>{if(e.hasAttribute(Tc)){Hc(e);return}if(Nc.get(e)?.key===t)return;Hc(e);let r=r=>{if(!e.isConnected||e.hasAttribute(Tc)){Hc(e);return}if($c(e,t,r.clientX,r.clientY)){Jc(e);return}Qc(e,n)};Nc.set(e,{key:t,handler:r}),e.ownerDocument.addEventListener(`pointermove`,r,!0)},tl=(e,t)=>{Uc(e);let n=n=>{(!e.isConnected||!$c(e,t,n.clientX,n.clientY,2))&&Uc(e)};Pc.set(e,{key:t,handler:n}),e.ownerDocument.addEventListener(`pointermove`,n,!0)},nl=(e,t)=>Pc.get(e)?.key===t,rl=e=>{let t=zr(()=>e.primary!==!1),n=zr(()=>!!(e.interactive&&e.labelKey&&e.distanceId)),r=()=>e.appearance===`visual`,i=()=>e.appearance===`proxy`,a=zr(()=>!!(e.spacingInteraction&&e.labelKey&&e.labelCount&&e.labelCount>1&&e.spacingInteraction.expandedKey()===e.labelKey)),o=zr(()=>t()||a()),s=t=>{let n=Rc(t.currentTarget);if(!n)return;Jc(n.scope);let r=e.spacingInteraction?.pinnedKey()??n.scope.getAttribute(Tc),i=t.currentTarget.getAttribute(`data-mesurer-distance-label-state`)===`primary`;!r&&i&&n.labelCount>1&&!nl(n.scope,n.labelKey)?(Gc(n.scope,n.labelKey,e.spacingInteraction),el(n.scope,n.labelKey,e.spacingInteraction)):!r&&n.scope.getAttribute(Ec)===n.labelKey&&el(n.scope,n.labelKey,e.spacingInteraction),qc(n.scope,n.distanceId);for(let t of Kc(n.scope))t.dataset.mesurerDistanceId===n.distanceId&&t.setAttribute(`data-mesurer-spacing-hover-axis`,e.axis)},c=t=>{let n=Rc(t.currentTarget);if(!n)return;for(let e of Kc(n.scope))e.removeAttribute(`data-mesurer-spacing-hover-axis`);if(n.scope.hasAttribute(Tc))return;let r=t.relatedTarget,i=r instanceof Element?r.closest(`[data-mesurer-distance-label-key]`):null,a=i?Rc(i):null;if(a?.scope===n.scope&&a.labelKey===n.labelKey){Jc(n.scope);return}Qc(n.scope,e.spacingInteraction)},l=e=>{Rc(e.currentTarget)&&e.stopPropagation()};var u=X(`div`,{onMouseEnter:s,onMouseLeave:c,onMouseDown:t=>{let n=Rc(t.currentTarget);if(!n||(t.stopPropagation(),n.labelCount<=1))return;Jc(n.scope);let r=e.spacingInteraction?.pinnedKey()??n.scope.getAttribute(Tc),i=t.currentTarget.getAttribute(`data-mesurer-distance-label-state`)===`primary`;if(r===n.labelKey&&i){Xc(n.scope,e.spacingInteraction),tl(n.scope,n.labelKey);return}Hc(n.scope),Uc(n.scope),n.scope.setAttribute(Tc,n.labelKey),e.spacingInteraction?.setPinnedKey(n.labelKey),Gc(n.scope,n.labelKey,e.spacingInteraction),Zc(n.scope,e.spacingInteraction),qc(n.scope,n.distanceId)},onPointerMove:l,onPointerDown:l,onPointerUp:l,onClick:e=>{Rc(e.currentTarget)&&e.stopPropagation()}});return $i(()=>e=>{Lc(e)},u),Q(u,()=>e.children),J(()=>({e:r()?void 0:o()?`true`:`hidden`,t:r()?`true`:void 0,a:t()?`primary`:`duplicate`,o:e.labelKey,i:e.labelIndex??0,n:e.labelCount??1,s:e.axis,h:e.vectorX,r:e.vectorY,d:e.distanceId,l:`msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:bg-ink-900/90 ${e.axis===`x`?`msr:-translate-x-1/2`:e.axis===`y`?`msr:-translate-y-1/2`:`msr:-translate-x-1/2 msr:-translate-y-1/2`}`,u:{left:`${e.left}px`,top:`${e.top}px`,opacity:o()&&!i()?1:0,"pointer-events":!r()&&n()&&o()?`auto`:`none`,"margin-left":`calc(var(--mesurer-spacing-label-collision-x, 0px) + ${a()&&e.axis===`y`?(e.labelIndex??0)*22:0}px)`,"margin-top":`calc(var(--mesurer-spacing-label-collision-y, 0px) + ${a()&&e.axis===`x`?(e.labelIndex??0)*16:0}px)`,"z-index":a()?String(10+(e.labelIndex??0)):void 0}}),({e,t,a:n,o:r,i,n:a,s:o,h:s,r:c,d:l,l:d,u:f},p)=>{e!==p?.e&&$(u,`data-mesurer-distance-label`,e,p?.e),t!==p?.t&&$(u,`data-mesurer-spacing-visual-label`,t,p?.t),n!==p?.a&&$(u,`data-mesurer-distance-label-state`,n,p?.a),r!==p?.o&&$(u,`data-mesurer-distance-label-key`,r,p?.o),i!==p?.i&&$(u,`data-mesurer-distance-label-index`,i,p?.i),a!==p?.n&&$(u,`data-mesurer-distance-label-count`,a,p?.n),o!==p?.s&&$(u,`data-mesurer-distance-label-axis`,o,p?.s),s!==p?.h&&$(u,`data-mesurer-distance-label-vector-x`,s,p?.h),c!==p?.r&&$(u,`data-mesurer-distance-label-vector-y`,c,p?.r),l!==p?.d&&$(u,`data-mesurer-distance-id`,l,p?.d),d!==p?.l&&$(u,`class`,d,p?.l),f!==p?.u&&$(u,`style`,f,p?.u)}),u},il=(e,t,n=e.pattern)=>{let r=e.dashLength+e.gap,i=t===`horizontal`?`to right`:`to bottom`,a=Math.max(.5,e.width/2),o=n===`solid`?void 0:n===`dotted`?`radial-gradient(circle, ${e.color} 0 ${a}px, transparent ${a+.5}px)`:`repeating-linear-gradient(${i}, ${e.color} 0 ${e.dashLength}px, transparent ${e.dashLength}px ${r}px)`,s=n===`dotted`?t===`horizontal`?`${r}px ${e.width}px`:`${e.width}px ${r}px`:void 0;return{"background-color":n===`solid`?e.color:`transparent`,"background-image":o,"background-size":s,opacity:e.opacity}},al=(e,t)=>Math.max(0,Math.min(t,e)),ol=(e,t,n)=>{let r=Math.min(e,t),i=Math.max(e,t),a=Math.min(20,Math.max(0,n/2));return i<0?a:r>n?n-a:(al(r,n)+al(i,n))/2},sl=(e,t,n)=>n&&n>0?ol(e,t,n):(e+t)/2,cl=(e,t)=>{let n=Math.min(20,Math.max(0,t/2));return e<0?n:e>t?t-n:Math.max(n,Math.min(t-n,e))},ll=(e,t,n)=>e+n/2>0&&e-n/2<t,ul=(e,t,n)=>Math.max(e,t)>0&&Math.min(e,t)<n;function dl(e){let t=()=>e.kind===`selection-spacing`,n=()=>e.renderPart!==`interaction`,r=()=>e.renderPart!==`paint`,i=()=>n()||r(),a=()=>e.renderPart===`paint`?`visual`:e.renderPart===`interaction`?`proxy`:`normal`,o=()=>e.selectionSpacingStyle??Ps,s=()=>e.distance.elementRefA?.ownerDocument.defaultView??e.distance.elementRefB?.ownerDocument.defaultView??globalThis.window,c=e=>{if(t())return e;let n=s()?.innerWidth;return n&&n>0?cl(e,n):e},l=e=>{if(t())return e;let n=s()?.innerHeight;return n&&n>0?cl(e,n):e},u=(e,n,r)=>t()?(e+n)/2:sl(e,n,r),d=(n,r,i,a)=>{if(t()&&e.renderPart&&e.renderPart!==`all`)return!0;let o=s();return!o||ul(n,r,o.innerWidth)&&ll(i,o.innerHeight,a)},f=(n,r,i,a)=>{if(t()&&e.renderPart&&e.renderPart!==`all`)return!0;let o=s();return!o||ll(n,o.innerWidth,a)&&ul(r,i,o.innerHeight)},p=(n,r,i,a)=>{if(t()&&e.renderPart&&e.renderPart!==`all`)return!0;let o=s();return!o||Math.max(n,i)>0&&Math.min(n,i)<o.innerWidth&&Math.max(r,a)>0&&Math.min(r,a)<o.innerHeight};var m=X(`div`);return Q(m,Y(q,{get when(){return Ji(()=>!!n())()?e.showRects!==!1:n()},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:rounded msr:border msr:border-[#2563eb]/70`});return J(()=>({left:`${e.distance.rectA.left}px`,top:`${e.distance.rectA.top}px`,width:`${e.distance.rectA.width}px`,height:`${e.distance.rectA.height}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),(()=>{var t=X(`div`,{class:`msr:absolute msr:rounded msr:border msr:border-[#2563eb]/70`});return J(()=>({left:`${e.distance.rectB.left}px`,top:`${e.distance.rectB.top}px`,width:`${e.distance.rectB.width}px`,height:`${e.distance.rectB.height}px`}),(e,n)=>{$(t,`style`,e,n)}),t})()]}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!t())()?r():t()},get children(){return[(()=>{var t=X(`div`,{"data-mesurer-distance-hover-target":`true`,class:`msr:pointer-events-none msr:absolute`});return J(()=>({left:`${e.distance.rectA.left}px`,top:`${e.distance.rectA.top}px`,width:`${e.distance.rectA.width}px`,height:`${e.distance.rectA.height}px`,opacity:0}),(e,n)=>{$(t,`style`,e,n)}),t})(),(()=>{var t=X(`div`,{"data-mesurer-distance-hover-target":`true`,class:`msr:pointer-events-none msr:absolute`});return J(()=>({left:`${e.distance.rectB.left}px`,top:`${e.distance.rectB.top}px`,width:`${e.distance.rectB.width}px`,height:`${e.distance.rectB.height}px`,opacity:0}),(e,n)=>{$(t,`style`,e,n)}),t})()]}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!n())()?e.distance.showConnectors!==!1:n()},get children(){return Y(Gr,{get each(){return e.distance.connectors},children:e=>Math.abs(e.x1-e.x2)<1?(()=>{var t=X(`div`,{"data-mesurer-distance-connector":`true`,class:`msr:absolute msr:border-l msr:border-dashed msr:border-[#2563eb]/70`});return J(()=>({left:`${e.x1}px`,top:`${Math.min(e.y1,e.y2)}px`,height:`${Math.abs(e.y2-e.y1)}px`}),(e,n)=>{$(t,`style`,e,n)}),t})():(()=>{var t=X(`div`,{"data-mesurer-distance-connector":`true`,class:`msr:absolute msr:border-t msr:border-dashed msr:border-[#2563eb]/70`});return J(()=>({left:`${Math.min(e.x1,e.x2)}px`,top:`${e.y1}px`,width:`${Math.abs(e.x2-e.x1)}px`}),(e,n)=>{$(t,`style`,e,n)}),t})()})}}),null),Q(m,Y(q,{get when(){return!t()||!e.distance.edgeDistances?.length},get children(){return[Y(q,{get when(){return e.distance.horizontal},children:r=>Y(q,{get when(){return Ji(()=>r().value>0)()&&r().showLine!==!1},get children(){return[Y(q,{get when(){return n()},get children(){var e=X(`div`,{"data-mesurer-distance-line":`horizontal`});return J(()=>({e:t()?o().pattern:void 0,t:t()?String(o().width):void 0,a:t()?o().color:void 0,o:t()?`msr:absolute`:`msr:absolute msr:h-px msr:bg-[#2563eb]`,i:t()?{left:`${Math.min(r().x1,r().x2)}px`,width:`${Math.abs(r().x2-r().x1)}px`,top:`${r().y-o().width/2}px`,height:`${o().width}px`,...il(o(),`horizontal`)}:{left:`${Math.min(r().x1,r().x2)}px`,width:`${Math.abs(r().x2-r().x1)}px`,top:`${r().y}px`}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-line-pattern`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-width`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-color`,r,o?.a),i!==o?.o&&$(e,`class`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?d(r().x1,r().x2,r().y,t()?o().width:1):i()},get children(){return Y(rl,{axis:`x`,get left(){return c(u(r().x1,r().x2,s()?.innerWidth))},get top(){return l(r().y+2)},get distanceId(){return Ji(()=>!!t())()?e.distance.id:void 0},get labelKey(){return r().labelKey},get labelIndex(){return r().labelIndex},get labelCount(){return r().labelCount},get primary(){return r().showLabel!==!1},get interactive(){return t()},get appearance(){return a()},get spacingInteraction(){return Ji(()=>!!t())()?e.spacingInteraction:void 0},get children(){return Ao(r().value)}})}})]}})}),Y(q,{get when(){return e.distance.vertical},children:r=>Y(q,{get when(){return Ji(()=>r().value>0)()&&r().showLine!==!1},get children(){return[Y(q,{get when(){return n()},get children(){var e=X(`div`,{"data-mesurer-distance-line":`vertical`});return J(()=>({e:t()?o().pattern:void 0,t:t()?String(o().width):void 0,a:t()?o().color:void 0,o:t()?`msr:absolute`:`msr:absolute msr:w-px msr:bg-[#2563eb]`,i:t()?{top:`${Math.min(r().y1,r().y2)}px`,height:`${Math.abs(r().y2-r().y1)}px`,left:`${r().x-o().width/2}px`,width:`${o().width}px`,...il(o(),`vertical`)}:{top:`${Math.min(r().y1,r().y2)}px`,height:`${Math.abs(r().y2-r().y1)}px`,left:`${r().x}px`}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-line-pattern`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-width`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-color`,r,o?.a),i!==o?.o&&$(e,`class`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?f(r().x,r().y1,r().y2,t()?o().width:1):i()},get children(){return Y(rl,{axis:`y`,get left(){return c(r().x+2)},get top(){return l(u(r().y1,r().y2,s()?.innerHeight))},get distanceId(){return Ji(()=>!!t())()?e.distance.id:void 0},get labelKey(){return r().labelKey},get labelIndex(){return r().labelIndex},get labelCount(){return r().labelCount},get primary(){return r().showLabel!==!1},get interactive(){return t()},get appearance(){return a()},get spacingInteraction(){return Ji(()=>!!t())()?e.spacingInteraction:void 0},get children(){return Ao(r().value)}})}})]}})})]}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!(t()&&o().diagonals))()?e.distance.diagonal:t()&&o().diagonals},children:t=>{let r=()=>Math.hypot(t().x2-t().x1,t().y2-t().y1),s=()=>r()>0?(t().x2-t().x1)/r():1,u=()=>r()>0?(t().y2-t().y1)/r():0,d=()=>Math.atan2(t().y2-t().y1,t().x2-t().x1),f=()=>(t().x1+t().x2)/2,m=()=>(t().y1+t().y2)/2;return Y(q,{get when(){return Ji(()=>t().value>0&&t().showLine!==!1)()?p(t().x1,t().y1,t().x2,t().y2):t().value>0&&t().showLine!==!1},get children(){return[Y(q,{get when(){return n()},get children(){var e=X(`div`,{"data-mesurer-distance-line":`diagonal`,"data-mesurer-line-pattern":`dotted`,class:`msr:absolute`});return J(()=>({e:String(o().width),t:o().color,a:{left:`${t().x1}px`,top:`${t().y1-o().width/2}px`,width:`${r()}px`,height:`${o().width}px`,transform:`rotate(${d()}rad)`,"transform-origin":`0 50%`,...il(o(),`horizontal`,`dotted`)}}),({e:t,t:n,a:r},i)=>{t!==i?.e&&$(e,`data-mesurer-line-width`,t,i?.e),n!==i?.t&&$(e,`data-mesurer-line-color`,n,i?.t),r!==i?.a&&$(e,`style`,r,i?.a)}),e}}),Y(q,{get when(){return i()},get children(){return Y(rl,{axis:`d`,get vectorX(){return s()},get vectorY(){return u()},get left(){return c(f()-u()*2)},get top(){return l(m()+s()*2)},get distanceId(){return e.distance.id},get labelKey(){return t().labelKey},get labelIndex(){return t().labelIndex},get labelCount(){return t().labelCount},get primary(){return t().showLabel!==!1},interactive:!0,get appearance(){return a()},get spacingInteraction(){return e.spacingInteraction},get children(){return Ao(t().value)}})}})]}})}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!t())()?e.distance.edgeDistances?.length:t()},get children(){return Y(Gr,{get each(){return e.distance.edgeDistances?.map((e,t)=>t)},children:t=>{let r=()=>{let n=e.distance.edgeDistances?.[t];return n?.axis===`x`&&n.value>0&&n.showLine!==!1?n:null},p=()=>{let n=e.distance.edgeDistances?.[t];return n?.axis===`y`&&n.value>0&&n.showLine!==!1?n:null};return[Y(q,{get when(){return r()},children:t=>[Y(q,{get when(){return n()},get children(){var e=X(`div`,{class:`msr:absolute`});return J(()=>({e:`horizontal-${t().side}`,t:o().pattern,a:String(o().width),o:o().color,i:{left:`${Math.min(t().x1,t().x2)}px`,width:`${Math.abs(t().x2-t().x1)}px`,top:`${t().y-o().width/2}px`,height:`${o().width}px`,...il(o(),`horizontal`)}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-distance-line`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-pattern`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-width`,r,o?.a),i!==o?.o&&$(e,`data-mesurer-line-color`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?d(t().x1,t().x2,t().y,o().width):i()},get children(){return Y(rl,{axis:`x`,get left(){return c(u(t().x1,t().x2,s()?.innerWidth))},get top(){return l(t().y+2)},get distanceId(){return e.distance.id},get labelKey(){return t().labelKey},get labelIndex(){return t().labelIndex},get labelCount(){return t().labelCount},get primary(){return t().showLabel!==!1},interactive:!0,get appearance(){return a()},get spacingInteraction(){return e.spacingInteraction},get children(){return Ao(t().value)}})}})]}),Y(q,{get when(){return p()},children:t=>[Y(q,{get when(){return n()},get children(){var e=X(`div`,{class:`msr:absolute`});return J(()=>({e:`vertical-${t().side}`,t:o().pattern,a:String(o().width),o:o().color,i:{top:`${Math.min(t().y1,t().y2)}px`,height:`${Math.abs(t().y2-t().y1)}px`,left:`${t().x-o().width/2}px`,width:`${o().width}px`,...il(o(),`vertical`)}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-distance-line`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-pattern`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-width`,r,o?.a),i!==o?.o&&$(e,`data-mesurer-line-color`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?f(t().x,t().y1,t().y2,o().width):i()},get children(){return Y(rl,{axis:`y`,get left(){return c(t().x+2)},get top(){return l(u(t().y1,t().y2,s()?.innerHeight))},get distanceId(){return e.distance.id},get labelKey(){return t().labelKey},get labelIndex(){return t().labelIndex},get labelCount(){return t().labelCount},get primary(){return t().showLabel!==!1},interactive:!0,get appearance(){return a()},get spacingInteraction(){return e.spacingInteraction},get children(){return Ao(t().value)}})}})]})]}})}}),null),J(()=>({e:r()?`true`:void 0,t:r()?e.kind:void 0,a:e.renderPart===`paint`?`true`:void 0,o:e.spacingScopeId,i:e.distance.id,n:e.onRemove?`msr:pointer-events-auto`:`msr:pointer-events-none`,s:e.onRemove?t=>{t.stopPropagation(),e.onRemove?.(e.distance.id)}:void 0}),({e,t,a:n,o:r,i,n:a,s:o},s)=>{e!==s?.e&&$(m,`data-mesurer-distance`,e,s?.e),t!==s?.t&&$(m,`data-mesurer-distance-kind`,t,s?.t),n!==s?.a&&$(m,`data-mesurer-spacing-paint`,n,s?.a),r!==s?.o&&$(m,`data-mesurer-selection-scope`,r,s?.o),i!==s?.i&&$(m,`data-mesurer-distance-id`,i,s?.i),a!==s?.n&&$(m,`class`,a,s?.n),o!==s?.s&&$(m,`onClick`,o,s?.s)}),m}var fl=`--mesurer-nested-scroll-x`,pl=`--mesurer-nested-scroll-y`,ml=(e,t,n,r={})=>{let i=e,a=new Map,o=t.ownerDocument,s=r.trackWindow===!0,c=e=>{if(e.parentElement)return e.parentElement;let t=e.getRootNode();return t instanceof i.ShadowRoot?t.host:null},l=c(t);for(;l;)l instanceof i.HTMLElement&&l!==o.body&&l!==o.documentElement&&a.set(l,{left:l.scrollLeft,top:l.scrollTop}),l=c(l);let u={left:e.scrollX,top:e.scrollY},d=0,f=0,p=!1,m=()=>{let e=new Set;for(let t of n())t?.isConnected&&e.add(t);return e},h=(e,t,n)=>{let r=e.style.getPropertyValue(t);if(n===0){r&&e.style.removeProperty(t);return}let i=`${n}px`;r!==i&&e.style.setProperty(t,i)},g=()=>{if(!p)for(let e of m())e.dataset.mesurerNestedScrollCompensation!==`true`&&(e.dataset.mesurerNestedScrollCompensation=`true`),h(e,fl,d),h(e,pl,f)},_=(e,t,n)=>{let r=t-e.left,i=n-e.top;return r===0&&i===0?!1:(e.left=t,e.top=n,d-=r,f-=i,!0)},v=e=>{if(p||!(e.currentTarget instanceof i.HTMLElement))return;let t=e.currentTarget,n=a.get(t);!n||!_(n,t.scrollLeft,t.scrollTop)||g()},y=()=>{p||!s||!_(u,e.scrollX,e.scrollY)||g()};for(let e of a.keys())e.addEventListener(`scroll`,v,{capture:!0,passive:!0});return s&&e.addEventListener(`scroll`,y,{capture:!0,passive:!0}),g(),{sync:g,rebase(){if(!p){for(let[e,t]of a)t.left=e.scrollLeft,t.top=e.scrollTop;u={left:e.scrollX,top:e.scrollY},d=0,f=0,g()}},release(){if(!p){p=!0,s&&e.removeEventListener(`scroll`,y,!0);for(let e of a.keys())e.removeEventListener(`scroll`,v,!0);for(let e of m())delete e.dataset.mesurerNestedScrollCompensation,e.style.removeProperty(fl),e.style.removeProperty(pl);a.clear()}}}},hl=e=>Number.parseFloat(e)||0,gl=0,_l=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},vl=e=>(e.textContent??``).replace(/\s+/g,` `).trim().slice(0,200)||null,yl=e=>e.nodeType===9,bl=e=>e.nodeType===11;function xl(e){let t=e.getBoundingClientRect();return{left:t.left,top:t.top,width:t.width,height:t.height}}function Sl(e){let t=e.getRootNode();return bl(t)?t:e.ownerDocument}var Cl=(e,t)=>{if(yl(e)||bl(e))return e;let n=Sl(e);return bl(n)?n:t},wl=600,Tl=`audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video`,El=new WeakMap,Dl=e=>{let t=e;for(;t;){if((El.get(t)??0)>0)return!0;let e=t.getRootNode();t=bl(e)?e.host:t.parentElement}return!1},Ol=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,kl=(e,t)=>Array.from(e.getClientRects()).some(e=>Ol(e,t)),Al=(e,t,n)=>{let r=e;for(;r;){let e=n.getComputedStyle(r);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||e.contentVisibility===`hidden`||Number(e.opacity)===0)return!0;if(r===t)return!1;r=r.parentElement}return!0},jl=(e,t)=>{if(e.matches(`img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use`))return!0;let n=t.getComputedStyle(e),r=n.backgroundImage!==`none`||n.backgroundColor!==`transparent`&&n.backgroundColor!==`rgba(0, 0, 0, 0)`,i=[`top`,`right`,`bottom`,`left`].some(e=>Number.parseFloat(n.getPropertyValue(`border-${e}-width`))>0&&n.getPropertyValue(`border-${e}-style`)!==`none`);return r||i||n.boxShadow!==`none`||n.outlineStyle!==`none`},Ml=(e,t)=>!!e.textContent?.trim()||jl(e,t),Nl=(e,t,n)=>{let r=t,i=r.caretRangeFromPoint?.(e.x,e.y)?.startContainer??r.caretPositionFromPoint?.(e.x,e.y)?.offsetNode;if(!i)return null;let a=t.defaultView?.Element;if(!a)return null;let o=i instanceof a?i:i.parentElement;for(;o&&o!==n;){if(n.contains(o))return o;o=o.parentElement}return o===n?n:null},Pl=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(n,i,s)=>{if(o.has(n)||Dl(n)||r.getComputedStyle(n).pointerEvents!==`none`||Al(n,e,r)||!kl(n,t))return;let c=n.getBoundingClientRect();o.add(n),a.push({element:n,area:c.width*c.height,depth:i,order:s})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=wl;){if(l instanceof i){let t=l;if(r.getComputedStyle(t).pointerEvents===`none`){let n=1,r=t.parentElement;for(;r&&r!==e;)n+=1,r=r.parentElement;s(t,n,u)}}u+=1,l=c.nextNode()}let d=Nl(t,n,e);return d&&r.getComputedStyle(d).pointerEvents===`none`&&s(d,1e4,u),a.sort((e,t)=>t.depth-e.depth||e.area-t.area||t.order-e.order).map(({element:e})=>e)},Fl=(e,t,n)=>{let r=t.ownerDocument.defaultView;if(!r)return[];let i=[...new Set(e)],a=new Map;for(let e of i){let t=e instanceof r.HTMLElement||e instanceof r.SVGElement?e:null;t&&(a.set(e,e.getAttribute(`style`)),t.style.setProperty(`pointer-events`,`auto`,`important`))}try{let e=Sl(t).elementsFromPoint(n.x,n.y),r=e.findIndex(e=>e===t),a=new Map(e.map((e,t)=>[e,t]));return i.filter(e=>{let t=a.get(e);return t!==void 0&&(r<0||t<r)}).sort((e,t)=>e.contains(t)?1:t.contains(e)?-1:(a.get(e)??2**53-1)-(a.get(t)??2**53-1))}finally{for(let[e,t]of a)t===null?e.removeAttribute(`style`):e.setAttribute(`style`,t)}},Il=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},Ll=(e,t,n,r)=>{let i=r.defaultView;if(!i)return[];let a=Fl(Pl(e,t,r).filter(e=>Ml(e,i)),e,t);if(a.length>0)return a;if(e.textContent?.trim()&&!e.matches(Tl)||e.matches(`a, button, input, select, textarea, label, summary, [contenteditable='true']`))return[];let o=[],s=new Set,c=!yl(n)&&!bl(n)?n:null,l=e.parentElement;for(;l&&l!==r.body&&l!==r.documentElement&&!(c&&l!==c&&!c.contains(l));){let a=l,u=Il(e,a),d=Pl(a,t,r).filter(e=>{if(!zl(e,n)||e.closest(`[aria-hidden='true'], [inert]`))return!1;let t=Il(e,a);return t===null||t!==u});for(let e of d)s.has(e)||!Ml(e,i)||(s.add(e),o.push(e));if(a===c)break;l=a.parentElement}return Fl(o,e,t)};function Rl(e,t,n=yl(t)?t:t.ownerDocument??document){let r=Cl(t,n),i=n.defaultView;if(!i)return null;let a=r.elementsFromPoint(e.x,e.y);for(let r of a){let a=r;for(;a?.shadowRoot;){let t=a.shadowRoot.elementFromPoint(e.x,e.y);if(!t||t===a)break;a=t}if(!a||!zl(a,t))continue;let o=Ll(a,e,t,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function zl(e,t){if(yl(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!bl(e))return!1;n=e.host}return!1}function Bl(e,t){if(!e)return t();let n=El.get(e)??0;El.set(e,n+1);let r=[e,...e.querySelectorAll(`*`)],i=r.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of r)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{n===0?El.delete(e):El.set(e,n);for(let[e,t,n]of i)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function Vl(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${_l(e.id,t)}`;let n=e.getAttribute(`data-testid`);if(n)return`[data-testid=${JSON.stringify(n)}]`;let r=[],i=e;for(;i&&r.length<5;){let e=i.localName,t=i.localName,n=i.parentElement;if(n){let r=[...n.children].filter(e=>e.localName===t);r.length>1&&(e+=`:nth-of-type(${r.indexOf(i)+1})`)}r.unshift(e),i=n}return r.join(` > `)}function Hl(e){return{tag:e.localName,id:e.id||null,testId:e.getAttribute(`data-testid`),role:e.getAttribute(`role`),ariaLabel:e.getAttribute(`aria-label`),classes:[...e.classList],text:vl(e)}}function Ul(e){return!!(e.id||e.testId||e.role||e.ariaLabel||e.classes.length||e.text)}function Wl(e,t){return e.localName!==t.tag||t.id&&e.id!==t.id||t.testId&&e.getAttribute(`data-testid`)!==t.testId||t.role&&e.getAttribute(`role`)!==t.role||t.ariaLabel&&e.getAttribute(`aria-label`)!==t.ariaLabel?!1:t.id||t.testId?!0:t.classes.some(t=>!e.classList.contains(t))||t.text&&vl(e)!==t.text?!1:Ul(t)}function Gl(e,t,n=`dom-inspection-${++gl}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:hl(i.paddingTop),right:hl(i.paddingRight),bottom:hl(i.paddingBottom),left:hl(i.paddingLeft)},o={top:hl(i.marginTop),right:hl(i.marginRight),bottom:hl(i.marginBottom),left:hl(i.marginLeft)},s={left:r.left+a.left,top:r.top+a.top,width:Math.max(0,r.width-a.left-a.right),height:Math.max(0,r.height-a.top-a.bottom)},c={left:r.left-o.left,top:r.top-o.top,width:r.width+o.left+o.right,height:r.height+o.top+o.bottom},l=e.tagName.toLowerCase(),u=e.id?`#${e.id}`:``,d=e.classList.item(0),f=d?`.${d}`:``;return{id:n,rect:{left:r.left,top:r.top,width:r.width,height:r.height},paddingRect:s,marginRect:c,padding:a,margin:o,label:`${l}${u}${f}`,elementRef:e}}var Kl=()=>({x:-1,y:-1}),ql=e=>Number.parseFloat(e)*(e.endsWith(`%`)?.01:1),Jl=e=>{try{return e.defaultView?.frameElement??null}catch{return null}},Yl=e=>{let t=e.ownerDocument.defaultView?.HTMLIFrameElement;return!!(t&&e instanceof t)},Xl=e=>{if(!Yl(e))return null;try{return e.contentDocument}catch{return null}},Zl=e=>{let t=e;return t.DOMMatrixReadOnly??t.DOMMatrix},Ql=e=>{let t=e.getRootNode();return`host`in t&&t.host instanceof Element?t.host:null},$l=(e,t,n)=>{if(!e?.endsWith(`px`))return t;let r=Number.parseFloat(e);return Number.isFinite(r)?r+n.reduce((e,t)=>e+(Number.parseFloat(t)||0),0):t},eu=e=>{let t=e.ownerDocument.defaultView;if(!t)return null;let n=1,r=0,i=0,a=1,o=null,s=e;for(;s;){let c=t.getComputedStyle(s);s===e&&(o=c);let l=Zl(t),u={a:1,b:0,c:0,d:1,is2D:!0};if(c.transform&&c.transform!==`none`){if(!l)return null;let e=new l(c.transform);if(e.is2D===!1)return null;u={a:e.a,b:e.b,c:e.c,d:e.d,is2D:!0}}if(c.perspective&&c.perspective!==`none`)return null;let d=(c.rotate||`none`).split(/\s+/),f=d.length===4;if(!(!f||Number(d[0])===0&&Number(d[1])===0&&Number(d[2])!==0)||d.length>1&&d.length!==2&&!f||d.length===2&&d[0]!==`z`)return null;let p=ql(c.zoom||`1`)||1,m=!c.scale||c.scale===`none`?[1,1]:c.scale.split(/\s+/).map(ql),h=d.at(-1)??`0`,g=Number.parseFloat(h)||0,_=(h.endsWith(`grad`)?g*Math.PI/200:h.endsWith(`rad`)?g:h.endsWith(`turn`)?g*Math.PI*2:g*Math.PI/180)*(f?Math.sign(Number(d[2])):1),v=Number.isFinite(m[0])?m[0]??1:1,y=Number.isFinite(m[1])?m[1]??v:v,b=Math.cos(_),x=Math.sin(_),S=p*(b*v*u.a-x*y*u.b),C=p*(x*v*u.a+b*y*u.b),w=p*(b*v*u.c-x*y*u.d),T=p*(x*v*u.c+b*y*u.d),E=S*n+w*r,D=C*n+T*r,O=S*i+w*a,k=C*i+T*a;n=E,r=D,i=O,a=k,s=s.parentElement??Ql(s)}let c=e.getBoundingClientRect();if(!(e instanceof t.HTMLElement))return null;let l=o,u=l?.boxSizing!==`border-box`,d=$l(l?.width,e.offsetWidth,u?[l?.paddingLeft??`0`,l?.paddingRight??`0`,l?.borderLeftWidth??`0`,l?.borderRightWidth??`0`]:[]),f=$l(l?.height,e.offsetHeight,u?[l?.paddingTop??`0`,l?.paddingBottom??`0`,l?.borderTopWidth??`0`,l?.borderBottomWidth??`0`]:[]),p={a:n,b:r,c:i,d:a,x:c.left-Math.min(0,n*d,i*f,n*d+i*f)+n*(e.clientLeft+(Number.parseFloat(l?.paddingLeft??`0`)||0))+i*(e.clientTop+(Number.parseFloat(l?.paddingTop??`0`)||0)),y:c.top-Math.min(0,r*d,a*f,r*d+a*f)+r*(e.clientLeft+(Number.parseFloat(l?.paddingLeft??`0`)||0))+a*(e.clientTop+(Number.parseFloat(l?.paddingTop??`0`)||0))};return Object.values(p).every(Number.isFinite)?p:null},tu=(e,t)=>({x:e.a*t.x+e.c*t.y+e.x,y:e.b*t.x+e.d*t.y+e.y}),nu=(e,t)=>{let n=e.a*e.d-e.b*e.c;if(Math.abs(n)<1e-12)return Kl();let r=t.x-e.x,i=t.y-e.y;return{x:(e.d*r-e.c*i)/n,y:(e.a*i-e.b*r)/n}},ru=(e,t)=>{let n=eu(e);return n?nu(n,t):Kl()},iu=(e,t,n)=>{let r=new Map,i=t,a=[];for(;!r.has(i);){r.set(i,[...a]);let e=Jl(i);if(!e)break;a.push(e),i=e.ownerDocument}let o=[];if(n){i=n;let e=new Set;for(;!r.has(i);){if(e.has(i))return Kl();e.add(i);let t=Jl(i);if(!t)return Kl();o.push(t),i=t.ownerDocument}}let s=e;for(let e of r.get(i)??[]){let t=eu(e);if(!t)return Kl();s=tu(t,s)}for(let e of o.reverse()){let t=eu(e);if(!t)return Kl();let n=t.a*t.d-t.b*t.c;if(Math.abs(n)<1e-12)return Kl();s=nu(t,s)}return s},au=(e,t)=>{if(!Jl(t))return e;let n=[{x:e.left,y:e.top},{x:e.left+e.width,y:e.top},{x:e.left,y:e.top+e.height},{x:e.left+e.width,y:e.top+e.height}],r=t,i=new Set;for(;!i.has(r);){i.add(r);let e=Jl(r);if(!e)break;let t=eu(e);if(!t)return{left:-1,top:-1,width:0,height:0};n=n.map(e=>tu(t,e)),r=e.ownerDocument}let a=Math.min(...n.map(e=>e.x)),o=Math.min(...n.map(e=>e.y)),s=Math.max(...n.map(e=>e.x)),c=Math.max(...n.map(e=>e.y));return{left:a,top:o,width:s-a,height:c-o}},ou=e=>au(xl(e),e.ownerDocument),su=-1,cu=new Map,lu=()=>{let e=globalThis.performance?.now();return e===void 0?0:Math.floor(e/16)},uu=e=>{let t=lu();t!==su&&(su=t,cu.clear());let n=cu.get(e);if(n)return n;let r=ou(e);return cu.set(e,r),r},du=[],fu=-1,pu=null,mu=(e=document)=>{let t=lu();if(t===fu&&pu===e&&du.length>0)return du;fu=t,pu=e;let n=[],r=new Set,i=e=>{if(r.has(e))return;r.add(e);let t=e.defaultView?.Element;if(!t||!e.body)return;let a=r=>{let o=e.createTreeWalker(r,1),s=o.nextNode();for(;s;){if(s instanceof t){n.push(s),s.shadowRoot&&a(s.shadowRoot);let e=Xl(s);e&&i(e)}s=o.nextNode()}};a(e.body)};return i(e),du=n,du},hu=(e,t=window)=>{let n=Gl(e,e.ownerDocument.defaultView??t,jo());return{...n,rect:au(n.rect,e.ownerDocument),paddingRect:au(n.paddingRect,e.ownerDocument),marginRect:au(n.marginRect,e.ownerDocument),documentScroll:{x:t.scrollX,y:t.scrollY}}},gu=(e,t=bo(),n=document)=>{let r=e.rect;return e.elementRef?.isConnected?r=ou(e.elementRef):e.normalizedRect&&(r=So(e.normalizedRect,t)),{...e,rect:r,normalizedRect:xo(r,t),originRect:void 0}},_u={top:!0,right:!0,bottom:!0,left:!0},vu=e=>Math.round(e),yu=`2147482800`;function bu(e){let t,n,[r,i]=K(null),a=()=>e.edgeVisibility??_u,o=()=>!!e.measurement?.id.startsWith(`group-`),s=()=>!!(e.measurement&&`paddingRect`in e.measurement),c=()=>s()?`none`:`left 140ms ease, top 140ms ease, width 140ms ease, height 140ms ease`,l=()=>s()?`none`:`left 140ms ease, top 140ms ease`,u=()=>{let t=e.measurement;if(!t||!(`paddingRect`in t))return null;let n=t.elementRef;return n?.isConnected?n:null},d=()=>{let e=u(),t=r(),n=e?.ownerDocument.defaultView;return!e||!n||t!==e.ownerDocument.body?{x:0,y:0}:{x:n.scrollX,y:n.scrollY}},f=()=>{let e=u();if(!e||!t||!n)return;let r=ou(e),i=e.ownerDocument.defaultView,a=t.parentElement,o=!!(i&&a?.parentNode===e.ownerDocument.body),s=o?i.scrollX:0,c=o?i.scrollY:0,l=r.left+s,d=r.top+c;Object.assign(t.style,{left:`${l}px`,top:`${d}px`,width:`${r.width}px`,height:`${r.height}px`}),Object.assign(n.style,{left:`${l+r.width/2}px`,top:`${d+r.height+2}px`})};Wt(()=>{let e=u(),r=e?.ownerDocument.defaultView;if(!e||!r)return;let a=t?.ownerDocument,o=e.ownerDocument===a&&e.getRootNode()===e.ownerDocument&&!!e.ownerDocument.body;i(o?e.ownerDocument.body:null);let s=t&&o?bs(t,e):null,c=o?ml(r,e,()=>[t,n]):null,l=0,d=()=>{t?.dataset.mesurerNativeScrollAnchor===`box`||l||(l=r.requestAnimationFrame(()=>{l=0,t?.dataset.mesurerNativeScrollAnchor!==`box`&&f()}))},p=new r.ResizeObserver(f);return f(),c?.sync(),p.observe(e),r.addEventListener(`scroll`,d,{capture:!0,passive:!0}),r.addEventListener(`resize`,f,!0),()=>{p.disconnect(),s?.(),c?.release(),l&&r.cancelAnimationFrame(l),r.removeEventListener(`scroll`,d,!0),r.removeEventListener(`resize`,f,!0)}});let p=r=>[Y(q,{get when(){return!o()},get children(){var n=X(`div`,{"data-mesurer-measurement-chrome":`true`,class:`msr:pointer-events-none msr:absolute`});return $i(()=>e=>{t=e},n),Q(n,Y(q,{get when(){return a().top},get children(){var t=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),Q(n,Y(q,{get when(){return a().right},get children(){var t=X(`div`,{class:`msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),Q(n,Y(q,{get when(){return a().bottom},get children(){var t=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),Q(n,Y(q,{get when(){return a().left},get children(){var t=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),J(()=>({left:`${r().rect.left+d().x}px`,top:`${r().rect.top+d().y}px`,width:`${r().rect.width}px`,height:`${r().rect.height}px`,"z-index":s()?yu:void 0,"background-color":e.fillColor,transition:c(),"transition-property":s()?`none`:`left, top, width, height`,"transition-duration":s()?`0s`:`140ms`,animation:`none`,"animation-name":`none`}),(e,t)=>{$(n,`style`,e,t)}),n}}),Y(q,{get when(){return e.showLabel!==!1},get children(){var e=X(`div`,{"data-mesurer-measurement-label":`true`,class:`msr:pointer-events-none msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:-translate-x-1/2 msr:bg-ink-900/90`}),t=Yi(` x `);return Z(e,t),$i(()=>e=>{n=e},e),Q(e,()=>vu(r().rect.width),t),Q(e,()=>vu(r().rect.height),null),J(()=>({left:`${r().rect.left+d().x+r().rect.width/2}px`,top:`${r().rect.top+d().y+r().rect.height+2}px`,"z-index":s()?yu:void 0,"white-space":`nowrap`,transition:l(),"transition-property":s()?`none`:`left, top`,"transition-duration":s()?`0s`:`140ms`,animation:`none`,"animation-name":`none`}),(t,n)=>{$(e,`style`,t,n)}),e}})];return Y(q,{get when(){return e.measurement},children:t=>Y(q,{get when(){return Ji(()=>!!(s()&&!o()))()?r():null},get fallback(){var e=X(`div`,{class:`msr:pointer-events-none`,"data-mesurer-measurement":`true`});return Q(e,()=>p(t)),J(()=>({e:`paddingRect`in t()?`true`:void 0,t:o()?`true`:void 0}),({e:t,t:n},r)=>{t!==r?.e&&$(e,`data-mesurer-selected-measurement`,t,r?.e),n!==r?.t&&$(e,`data-mesurer-selection-group`,n,r?.t)}),e},children:n=>Y(Ci,{get mount(){return n()},get children(){var n=X(`div`,{class:`msr:pointer-events-none`,"data-mesurer-measurement":`true`,"data-mesurer-selected-measurement":`true`,"data-mesurer-inspector-ui":`true`});return Q(n,()=>p(t)),J(()=>e.theme??`system`,(e,t)=>{$(n,`data-theme`,e,t)}),n}})})})}var xu=e=>(()=>{var t=X(`div`);return Q(t,()=>e.children),J(()=>({e:`msr:pointer-events-none msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:bg-ink-900/90 ${e.axis===`x`?`msr:-translate-x-1/2`:`msr:-translate-y-1/2`}`,t:{left:`${e.left}px`,top:`${e.top}px`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`class`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t})();function Su(e){let t,n,r,i=0,a=0,o=null,s=0,c=null,l=0,u=0,[d,f]=K(null),[p,m]=K(null),[h,g]=K(null),_={expandedKey:d,setExpandedKey:f,pinnedKey:p,setPinnedKey:m},v=()=>e.model.state.toolMode===`select`,y=()=>e.model.state.toolMode===`guides`,b=()=>e.model.state.enabled,x=()=>t?.closest(`[data-mesurer-root='true']`)?.hasAttribute(`data-mesurer-recording-active`)??!1,S=()=>!x()&&e.interactive&&b()&&e.model.state.toolMode!==`none`&&e.model.state.toolMode!==`text-inspector`,C=()=>!x()&&e.interactive&&(e.model.state.toolMode!==`none`||e.model.state.rulersVisible),w=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 80%, transparent)`,T=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 8%, transparent)`,E=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 96%, transparent)`,D=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 15.36%, transparent)`,O=zr(()=>e.model.state.selectedMeasurements);Hr(()=>O(),()=>{let e=t?.ownerDocument.defaultView;e&&(i=e.scrollX,a=e.scrollY,r?.style.removeProperty(`transform`))});let k=zr(()=>{let e=O()[0]?.documentScroll;if(e)return e;let n=t?.ownerDocument.defaultView;return{x:n?.scrollX??0,y:n?.scrollY??0}}),A=zr(()=>{let t=e.model.state.settings.multiMeasureEnabled&&e.model.state.measurements.length>0?e.model.state.measurements:e.model.state.activeMeasurement?[e.model.state.activeMeasurement]:[],n=new Set(O().map(e=>e.elementRef).filter(e=>!!e));return t.filter(e=>!e.elementRef||!n.has(e.elementRef))}),j=zr(()=>e.displayedSelectedMeasurements),M=zr(()=>{let t=e.model.state.hoverElement;return!!(t&&O().some(e=>e.elementRef===t))}),N=zr(()=>e.model.state.heldDistances),P=zr(()=>es(A().map(e=>e.rect))),F=zr(()=>es(j().map(e=>e.rect))),I=zr(()=>{let n=O();if(!v()||!e.selectionSpacingStyle.enabled||n.length<2)return[];let r=t?.ownerDocument.defaultView;return r?Zo(n,r):[]}),L=zr(()=>I().map(e=>e.id)),R=e=>I().find(t=>t.id===e),z=zr(()=>O().map(e=>e.id).join(`|`));Hr(()=>z(),()=>{f(null),m(null)});let B=()=>{let t=e.model.state.hoverRect;return t?es([t,...j().map(e=>e.rect)])[0]??null:null},V=()=>fs(t,e.model.state.hoverElement),ee=()=>{let t=e.model.state.hoverElement,n=V(),r=t?.ownerDocument.defaultView;return!t||!r||n!==t.ownerDocument.body?{x:0,y:0}:{x:r.scrollX,y:r.scrollY}},H=()=>{let t=e.model.state.hoverRect,r=!!V(),i=ee();var a=X(`div`,{"data-mesurer-hover-measurement":`true`,"data-mesurer-document-hover-layer":r?`true`:void 0,class:`msr:pointer-events-none msr:absolute`});return $i(()=>e=>{n=e},a),Q(a,Y(q,{get when(){return B()?.top},get children(){var e=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full`});return J(()=>({position:`absolute`,left:`0`,top:`0`,height:`1px`,width:`100%`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),Q(a,Y(q,{get when(){return B()?.right},get children(){var e=X(`div`,{class:`msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({position:`absolute`,right:`0`,top:`0`,height:`100%`,width:`1px`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),Q(a,Y(q,{get when(){return B()?.bottom},get children(){var e=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full`});return J(()=>({position:`absolute`,bottom:`0`,left:`0`,height:`1px`,width:`100%`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),Q(a,Y(q,{get when(){return B()?.left},get children(){var e=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({position:`absolute`,left:`0`,top:`0`,height:`100%`,width:`1px`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),J(()=>({position:`absolute`,"pointer-events":`none`,"z-index":r?`2147482700`:void 0,left:`${t.left+i.x}px`,top:`${t.top+i.y}px`,width:`${t.width}px`,height:`${t.height}px`,"background-color":T(),transition:`none`,animation:`none`}),(e,t)=>{$(a,`style`,e,t)}),a},U=t=>{let n=t===`active`?100:t===`hover`?90:t===`preview`?50:70;return`color-mix(in oklch, ${e.model.state.settings.guideColor} ${n}%, transparent)`},W=zr(()=>{if(e.model.state.guides.length>0||!e.model.state.settingsOpen||e.model.state.settingsTab!==`guides`)return e.model.state.guides;let n=t?.ownerDocument.defaultView;return n?[{id:`__mesurer-preview-vertical`,orientation:`vertical`,position:n.innerWidth/2},{id:`__mesurer-preview-horizontal`,orientation:`horizontal`,position:n.innerHeight/2}]:e.model.state.guides}),te=()=>{s&&t?.ownerDocument.defaultView?.clearTimeout(s),s=0,c=null},ne=(t,n)=>{if(!e.model.current.enabled||e.model.current.settingsOpen||n.button!==0)return;if(n.preventDefault(),n.stopPropagation(),e.model.checkpoint(),n.shiftKey){e.model.setSelectedGuideIds(e.model.current.selectedGuideIds.includes(t.id)?e.model.current.selectedGuideIds.filter(e=>e!==t.id):[...e.model.current.selectedGuideIds,t.id]);return}e.model.setSelectedGuideIds([t.id]),te();let r=n.currentTarget.ownerDocument.defaultView;r&&(c=t.id,s=r.setTimeout(()=>{s=0,c===t.id&&e.model.setTransient({draggingGuideId:t.id})},220)),ds(n.currentTarget,n.pointerId)},re=(t,n)=>{n.stopPropagation(),te(),e.model.current.draggingGuideId===t.id&&e.model.setTransient({draggingGuideId:null}),n.currentTarget.hasPointerCapture(n.pointerId)&&n.currentTarget.releasePointerCapture(n.pointerId)};Wt(()=>{let s=t,c=s?.ownerDocument.defaultView,d=s?.ownerDocument;if(!s||!c||!d)return;i=c.scrollX,a=c.scrollY,d.body&&(Ts(Es,d.body),g(d.body));let f=t=>e.onPointerMove(t),p=()=>{let e=r;if(!e?.isConnected)return;let t=i-c.scrollX,n=a-c.scrollY;t===0&&n===0?e.style.removeProperty(`transform`):e.style.transform=`translate3d(${t}px, ${n}px, 0)`},m=t=>{if(!e.editSelectionHover()||e.model.current.toolMode!==`select`)return;let n=t.composedPath();if(!n.includes(s)){if(n.some(e=>e instanceof c.Element&&e.getAttribute(`data-mesurer-arrange-box`)===`true`)||t.buttons!==0){e.model.setHoverTarget(null,null);return}e.onPointerMove(t)}},h=()=>{let t=e.model.current.hoverElement,r=n;if(!t?.isConnected||!r?.isConnected)return;let i=t.getBoundingClientRect(),a=r.dataset.mesurerDocumentHoverLayer===`true`,o=a?c.scrollX:0,s=a?c.scrollY:0;Object.assign(r.style,{left:`${i.left+o}px`,top:`${i.top+s}px`,width:`${i.width}px`,height:`${i.height}px`})},_=()=>{u||=c.requestAnimationFrame(()=>{u=0,n?.dataset.mesurerNativeScrollAnchor!==`box`&&h()})},v=()=>{let e=n;if(e?.isConnected&&e.dataset.mesurerNativeScrollAnchor!==`box`){if(!hs(d)){_();return}e.style.visibility=`hidden`,l&&c.clearTimeout(l),l=c.setTimeout(()=>{l=0,e.dataset.mesurerNativeScrollAnchor!==`box`&&h(),e.isConnected&&e.style.removeProperty(`visibility`)},80)}},y=t=>{if(!e.model.current.enabled||e.model.current.settingsOpen||e.model.current.toolMode!==`none`||t.composedPath().some(e=>e instanceof c.Element&&e.hasAttribute(`data-mesurer-toolbar`)))return;let n={x:t.clientX,y:t.clientY},r=e.model.current.guides.find(e=>(e.orientation===`vertical`?Math.abs(e.position-n.x):Math.abs(e.position-n.y))<=7);if(r){if(e.model.checkpoint(),t.shiftKey){e.model.setSelectedGuideIds(e.model.current.selectedGuideIds.includes(r.id)?e.model.current.selectedGuideIds.filter(e=>e!==r.id):[...e.model.current.selectedGuideIds,r.id]),o=null;return}e.model.setSelectedGuideIds([r.id]),t.button===0&&(o={id:r.id,orientation:r.orientation,pointerId:t.pointerId,previousUserSelect:null})}},b=t=>{let n=o;!n||n.pointerId!==t.pointerId||e.model.current.guides.find(e=>e.id===n.id)&&(t.preventDefault(),n.previousUserSelect===null&&(n.previousUserSelect=d.documentElement.style.userSelect,d.documentElement.style.userSelect=`none`,c.getSelection()?.removeAllRanges()),e.model.updateGuide(n.id,{position:n.orientation===`vertical`?t.clientX:t.clientY}))},x=e=>{let t=o;!t||t.pointerId!==e.pointerId||(t.previousUserSelect!==null&&(d.documentElement.style.userSelect=t.previousUserSelect),o=null)};return h(),s.addEventListener(`pointermove`,f),c.addEventListener(`pointermove`,m,!0),c.addEventListener(`scroll`,v,{capture:!0,passive:!0}),c.addEventListener(`scroll`,p,{capture:!0,passive:!0}),c.addEventListener(`resize`,h,!0),c.addEventListener(`pointerdown`,y,!0),c.addEventListener(`pointermove`,b,!0),c.addEventListener(`pointerup`,x,!0),c.addEventListener(`pointercancel`,x,!0),()=>{s.removeEventListener(`pointermove`,f),c.removeEventListener(`pointermove`,m,!0),c.removeEventListener(`scroll`,v,!0),c.removeEventListener(`scroll`,p,!0),c.removeEventListener(`resize`,h,!0),c.removeEventListener(`pointerdown`,y,!0),c.removeEventListener(`pointermove`,b,!0),c.removeEventListener(`pointerup`,x,!0),c.removeEventListener(`pointercancel`,x,!0),l&&c.clearTimeout(l),u&&c.cancelAnimationFrame(u),l=0,u=0,n?.style.removeProperty(`visibility`),te(),o?.previousUserSelect!==null&&o&&(d.documentElement.style.userSelect=o.previousUserSelect),o=null}});let ie=()=>[Y(Gr,{get each(){return j()},children:(t,n)=>Y(bu,{measurement:t,get edgeVisibility(){return F()[n()]},get outlineColor(){return E()},get fillColor(){return D()},get theme(){return e.model.state.settings.theme}})}),Y(q,{get when(){return Ji(()=>!!e.editSelectionHover())()?j()[0]?.id.startsWith(`group-`):e.editSelectionHover()},get children(){var e=X(`div`,{"data-mesurer-selection-group-outline":`true`,class:`msr:pointer-events-none msr:absolute`});return J(()=>({left:`${j()[0].rect.left}px`,top:`${j()[0].rect.top}px`,width:`${j()[0].rect.width}px`,height:`${j()[0].rect.height}px`,"box-sizing":`border-box`,border:`1px solid #0d99ff`}),(t,n)=>{$(e,`style`,t,n)}),e}}),Y(q,{get when(){return O().length>1},get children(){return[Y(Gr,{get each(){return O()},children:e=>(()=>{var t=X(`div`,{"data-mesurer-selection-spacing-target":`true`,class:`msr:pointer-events-none msr:absolute msr:rounded msr:border msr:border-[#2563eb]/70`});return J(()=>({left:`${e.rect.left}px`,top:`${e.rect.top}px`,width:`${e.rect.width}px`,height:`${e.rect.height}px`}),(e,n)=>{$(t,`style`,e,n)}),t})()}),Y(Gr,{get each(){return L()},children:t=>Y(dl,{get distance(){return R(t)},kind:`selection-spacing`,showRects:!1,get spacingScopeId(){return z()},get selectionSpacingStyle(){return e.selectionSpacingStyle},spacingInteraction:_,renderPart:`paint`})})]}})];var G=X(`div`,{"data-mesurer-interaction-overlay":`true`,onPointerDown:t=>e.onPointerDown(t),onPointerUp:t=>e.onPointerUp(t),onPointerLeave:t=>e.onPointerLeave(t)});return $i(()=>e=>{t=e},G),Q(G,Y(q,{get when(){return v()},get children(){return[Y(Gr,{get each(){return A()},children:(t,n)=>Y(bu,{measurement:t,get edgeVisibility(){return P()[n()]},get outlineColor(){return w()},get fillColor(){return T()},get theme(){return e.model.state.settings.theme}})}),Y(q,{get when(){return Ji(()=>!!e.activeRect)()?e.model.state.isDragging:e.activeRect},get children(){return[(()=>{var t=X(`div`,{class:`msr:pointer-events-none msr:absolute`}),n=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full`}),r=X(`div`,{class:`msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px`}),i=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full`}),a=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px`});return Z(t,n),Z(t,r),Z(t,i),Z(t,a),J(()=>({e:{left:`${e.activeRect.left}px`,top:`${e.activeRect.top}px`,width:`${e.activeRect.width}px`,height:`${e.activeRect.height}px`,"background-color":T()},t:{"background-color":w()},a:{"background-color":w()},o:{"background-color":w()},i:{"background-color":w()}}),({e,t:o,a:s,o:c,i:l},u)=>{e!==u?.e&&$(t,`style`,e,u?.e),o!==u?.t&&$(n,`style`,o,u?.t),s!==u?.a&&$(r,`style`,s,u?.a),c!==u?.o&&$(i,`style`,c,u?.o),l!==u?.i&&$(a,`style`,l,u?.i)}),t})(),Y(xu,{axis:`x`,get left(){return e.activeRect.left+e.activeRect.width/2},get top(){return e.activeRect.top+e.activeRect.height+2},get children(){return[Ji(()=>Ao(e.activeRect.width)),` x `,Ji(()=>Ao(e.activeRect.height))]}})]}}),Y(q,{get when(){return Ji(()=>!!(e.model.state.hoverRect&&e.model.state.settings.hoverHighlightEnabled&&(e.editSelectionHover()||O().length<=1)))()?!M():e.model.state.hoverRect&&e.model.state.settings.hoverHighlightEnabled&&(e.editSelectionHover()||O().length<=1)},get children(){return Y(q,{get when(){return V()},get fallback(){return H()},children:e=>Y(Ci,{get mount(){return e()},get children(){return H()}})})}})]}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(e.interactive&&y()&&e.model.state.guidePreview))()?!e.model.state.draggingGuideId:e.interactive&&y()&&e.model.state.guidePreview},get children(){var t=X(`div`,{class:`msr:pointer-events-none msr:absolute`}),n=X(`div`,{class:`msr:absolute`});return Z(t,n),J(()=>({e:e.model.state.guidePreview.orientation===`vertical`?{left:`${e.model.state.guidePreview.position-7}px`,top:`0`,width:`14px`,height:`100%`}:{top:`${e.model.state.guidePreview.position-7}px`,left:`0`,height:`14px`,width:`100%`},t:e.model.state.guidePreview.orientation===`vertical`?{left:`6px`,top:`0`,width:`2px`,height:`100%`,"background-color":U(`preview`)}:{top:`6px`,left:`0`,height:`2px`,width:`100%`,"background-color":U(`preview`)}}),({e,t:r},i)=>{e!==i?.e&&$(t,`style`,e,i?.e),r!==i?.t&&$(n,`style`,r,i?.t)}),t}}),null),Q(G,Y(q,{get when(){return v()},get children(){return Y(q,{get when(){return Ji(()=>O().length>1)()?h():null},get fallback(){return Y(ie,{})},children:t=>Y(Ci,{get mount(){return t()},get children(){var t=X(`div`,{"data-mesurer-multi-selection-document-layer":`true`,"data-mesurer-inspector-ui":`true`,class:`msr:pointer-events-none`});return Q(t,Y(ie,{})),J(()=>({e:z(),t:e.model.state.settings.theme,a:{position:`absolute`,left:`${k().x}px`,top:`${k().y}px`,"pointer-events":`none`}}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`data-mesurer-selection-scope`,e,i?.e),n!==i?.t&&$(t,`data-theme`,n,i?.t),r!==i?.a&&$(t,`style`,r,i?.a)}),t}})})}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!v())()?O().length>1:v()},get children(){var t=X(`div`,{"data-mesurer-spacing-interaction-layer":`true`,class:`msr:pointer-events-none`});return $i(()=>e=>{r=e},t),Q(t,Y(Gr,{get each(){return L()},children:t=>Y(dl,{get distance(){return R(t)},showRects:!1,kind:`selection-spacing`,get spacingScopeId(){return z()},get selectionSpacingStyle(){return e.selectionSpacingStyle},spacingInteraction:_,get renderPart(){return h()?`interaction`:`all`}})})),t}}),null),Q(G,Y(Gr,{get each(){return N()},children:t=>Y(dl,{distance:t,get onRemove(){return e.model.removeHeldDistance},kind:`held`})}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(v()&&e.model.state.altPressed))()?e.optionPairOverlay:v()&&e.model.state.altPressed},get children(){return Y(dl,{get distance(){return e.optionPairOverlay},kind:`preview`})}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(e.interactive&&y()&&e.model.state.altPressed))()?e.guideDistanceOverlay:e.interactive&&y()&&e.model.state.altPressed},get children(){return Y(dl,{get distance(){return e.guideDistanceOverlay},kind:`preview`})}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(v()&&e.model.state.altPressed))()?e.optionContainerLines:v()&&e.model.state.altPressed},children:e=>[Y(q,{get when(){return e().top.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:w-px msr:bg-[#2563eb]`});return J(()=>({top:`${e().top.y1}px`,height:`${e().top.y2-e().top.y1}px`,left:`${e().top.x}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`y`,get left(){return e().top.x+2},get top(){return(e().top.y1+e().top.y2)/2},get children(){return Ao(e().top.value)}})]}}),Y(q,{get when(){return e().bottom.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:w-px msr:bg-[#2563eb]`});return J(()=>({top:`${e().bottom.y1}px`,height:`${e().bottom.y2-e().bottom.y1}px`,left:`${e().bottom.x}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`y`,get left(){return e().bottom.x+2},get top(){return(e().bottom.y1+e().bottom.y2)/2},get children(){return Ao(e().bottom.value)}})]}}),Y(q,{get when(){return e().left.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:h-px msr:bg-[#2563eb]`});return J(()=>({left:`${e().left.x1}px`,width:`${e().left.x2-e().left.x1}px`,top:`${e().left.y}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`x`,get left(){return(e().left.x1+e().left.x2)/2},get top(){return e().left.y+2},get children(){return Ao(e().left.value)}})]}}),Y(q,{get when(){return e().right.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:h-px msr:bg-[#2563eb]`});return J(()=>({left:`${e().right.x1}px`,width:`${e().right.x2-e().right.x1}px`,top:`${e().right.y}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`x`,get left(){return(e().right.x1+e().right.x2)/2},get top(){return e().right.y+2},get children(){return Ao(e().right.value)}})]}})]}),null),Q(G,Y(Gr,{get each(){return W()},children:t=>{let n=()=>t.id.startsWith(`__mesurer-preview-`),r=()=>!n()&&e.model.state.selectedGuideIds.includes(t.id),i=()=>!n()&&e.hoverGuide?.id===t.id,a=()=>r()?U(`active`):i()?U(`hover`):U(`default`),o=()=>Math.max(e.model.state.settings.guideStyle.width,r()||i()?2:e.model.state.settings.guideStyle.width),s=()=>e.model.state.settings.guideStyle.pattern===`solid`?void 0:e.model.state.settings.guideStyle.pattern===`dotted`?`radial-gradient(circle, ${a()} 0 ${o()/2}px, transparent ${o()/2+.5}px)`:`repeating-linear-gradient(${t.orientation===`vertical`?`to bottom`:`to right`}, ${a()} 0 ${e.model.state.settings.guideStyle.dashLength}px, transparent ${e.model.state.settings.guideStyle.dashLength}px ${e.model.state.settings.guideStyle.dashLength+e.model.state.settings.guideStyle.gap}px)`,c=()=>e.model.state.settings.guideStyle.pattern===`dotted`?t.orientation===`vertical`?`${o()}px ${e.model.state.settings.guideStyle.dashLength+e.model.state.settings.guideStyle.gap}px`:`${e.model.state.settings.guideStyle.dashLength+e.model.state.settings.guideStyle.gap}px ${o()}px`:void 0;var l=X(`div`,{class:`msr:absolute`,"data-mesurer-guide":`true`,onPointerDown:r=>{!n()&&e.model.current.toolMode!==`none`&&ne(t,r)},onPointerUp:r=>{!n()&&e.model.current.toolMode!==`none`&&re(t,r)},onPointerCancel:r=>{!n()&&e.model.current.toolMode!==`none`&&re(t,r)}}),u=X(`div`,{class:`msr:absolute`});return Z(l,u),J(()=>({e:t.orientation===`vertical`?{left:`${t.position-7}px`,top:`0`,width:`14px`,height:`100%`,"pointer-events":!n()&&C()?`auto`:`none`}:{top:`${t.position-7}px`,left:`0`,height:`14px`,width:`100%`,"pointer-events":!n()&&C()?`auto`:`none`},t:t.orientation===`vertical`?{left:`6px`,top:`0`,width:`${o()}px`,height:`100%`,"background-color":e.model.state.settings.guideStyle.pattern===`solid`?a():`transparent`,"background-image":s(),"background-size":c(),opacity:e.model.state.settings.guideStyle.opacity}:{top:`6px`,left:`0`,height:`${o()}px`,width:`100%`,"background-color":e.model.state.settings.guideStyle.pattern===`solid`?a():`transparent`,"background-image":s(),"background-size":c(),opacity:e.model.state.settings.guideStyle.opacity}}),({e,t},n)=>{e!==n?.e&&$(l,`style`,e,n?.e),t!==n?.t&&$(u,`style`,t,n?.t)}),l}}),null),J(()=>({e:`msr:absolute msr:inset-0 msr:select-none ${b()?`msr:pointer-events-auto ${y()?e.hoverGuide||e.model.state.draggingGuideId?`msr:cursor-default`:`msr:cursor-crosshair`:`msr:cursor-default`} msr:opacity-100`:`msr:pointer-events-none msr:opacity-0`}`,t:{"pointer-events":S()?`auto`:`none`}}),({e,t},n)=>{e!==n?.e&&$(G,`class`,e,n?.e),t!==n?.t&&$(G,`style`,t,n?.t)}),G}var Cu=18,wu=5,Tu=32,Eu=Array.from({length:801},(e,t)=>t*wu);function Du(e){let[t,n]=K(null),[r,i]=K(null),[a,o]=K(!1),s=null,c=()=>e.forceVisible||!e.settings.edgeReveal||a(),l=()=>e.guides.filter(t=>t.orientation===`vertical`&&e.selectedGuideIds.includes(t.id)),u=()=>e.guides.filter(t=>t.orientation===`horizontal`&&e.selectedGuideIds.includes(t.id)),d=t=>{if(!s||s.pointerId!==t.pointerId)return;t.stopPropagation();let r=s.orientation===`horizontal`?t.clientY:t.clientX;n(r),e.onMoveGuide(s.id,r)};Wt(()=>{let t=t=>{if(e.settings.edgeReveal){let n=t.clientX<=Tu||t.clientX>=e.ownerWindow.innerWidth-Tu,r=t.clientY<=Tu||t.clientY>=e.ownerWindow.innerHeight-Tu;o(n||r)}d(t)},n=t=>{if(!e.settings.edgeReveal)return;let n=t.clientX<=Tu||t.clientX>=e.ownerWindow.innerWidth-Tu,r=t.clientY<=Tu||t.clientY>=e.ownerWindow.innerHeight-Tu;o(n||r)};return e.ownerWindow.document.addEventListener(`pointermove`,t,!0),e.ownerWindow.document.addEventListener(`mousemove`,n,!0),()=>{e.ownerWindow.document.removeEventListener(`pointermove`,t,!0),e.ownerWindow.document.removeEventListener(`mousemove`,n,!0)}});let f=(t,r)=>{if(!e.interactive||r.button!==0)return;r.stopPropagation();let a=t===`horizontal`?r.clientY:r.clientX;n(a),i(t),s={orientation:t,pointerId:r.pointerId,id:e.onStartGuide(t,a)},ds(r.currentTarget,r.pointerId)},p=t=>{if(!s||s.pointerId!==t.pointerId)return;t.stopPropagation();let r=s,a=r.orientation===`horizontal`?t.clientY:t.clientX;t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId),s=null,n(null),i(null),e.onMoveGuide(r.id,a),e.onFinishGuide(r.id)},m=t=>{if(!s||s.pointerId!==t.pointerId)return;let r=s.id;s=null,n(null),i(null),e.onCancelGuide(r)};var h=X(`div`,{"aria-hidden":`true`,"data-mesurer-rulers":`true`,class:`msr:pointer-events-none msr:absolute msr:inset-0 msr:select-none msr:text-[9px] msr:text-[#64748b]`}),g=X(`div`,{class:`msr:absolute msr:left-[18px] msr:right-0 msr:top-0 msr:overflow-hidden msr:bg-white`,onPointerDown:e=>f(`horizontal`,e),onPointerUp:p,onPointerCancel:m}),_=X(`svg`,{class:`msr:block msr:h-6`,width:4e3,height:18,viewBox:`0 0 4000 18`}),v=X(`defs`),y=X(`linearGradient`,{id:`ruler-label-fade-x`,x1:`0%`,x2:`100%`}),b=X(`stop`,{offset:`0`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),x=X(`stop`,{offset:`0.2`,"stop-color":`var(--msr-surface, white)`}),S=X(`stop`,{offset:`0.8`,"stop-color":`var(--msr-surface, white)`}),C=X(`stop`,{offset:`1`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),w=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:top-[18px] msr:w-[18px] msr:overflow-hidden msr:bg-white`,onPointerDown:e=>f(`vertical`,e),onPointerUp:p,onPointerCancel:m}),T=X(`svg`,{class:`msr:block msr:w-6`,width:18,height:4e3,viewBox:`0 0 18 4000`}),E=X(`defs`),D=X(`linearGradient`,{id:`ruler-label-fade-y`,y1:`0%`,y2:`100%`}),O=X(`stop`,{offset:`0`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),k=X(`stop`,{offset:`0.2`,"stop-color":`var(--msr-surface, white)`}),A=X(`stop`,{offset:`0.8`,"stop-color":`var(--msr-surface, white)`}),j=X(`stop`,{offset:`1`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),M=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:size-[18px] msr:bg-white`});return Z(h,g),Z(h,w),Z(h,M),Z(g,_),Z(_,v),Z(v,y),Z(y,b),Z(y,x),Z(y,S),Z(y,C),Q(_,Y(Gr,{each:Eu,children:e=>{let t=e%100==0,n=e%50==0;var r=X(`g`);return Z(r,X(`line`,{x1:e,y1:18,x2:e,y2:t?8:n?13:17,stroke:`currentColor`,"stroke-width":`1`})),Q(r,Y(q,{when:t,get children(){var t=X(`text`,{x:e,y:`8`,"text-anchor":`middle`,fill:`currentColor`});return Q(t,e),t}}),null),r}}),null),Q(_,Y(Gr,{get each(){return l()},children:e=>(()=>{var t=X(`g`),n=X(`rect`,{y:`-1`,width:`48`,height:`12`,fill:`url(#ruler-label-fade-x)`}),r=X(`text`,{y:`8`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(t,n),Z(t,r),Q(r,()=>Math.round(e.position-Cu)),J(()=>({e:e.position-Cu-8,t:e.position-Cu+16}),({e,t},i)=>{e!==i?.e&&$(n,`x`,e,i?.e),t!==i?.t&&$(r,`x`,t,i?.t)}),t})()}),null),Q(_,Y(q,{get when(){return Ji(()=>r()===`vertical`)()&&t()!==null},get children(){var e=X(`g`),n=X(`rect`,{y:`-1`,width:`48`,height:`12`,fill:`url(#ruler-label-fade-x)`}),r=X(`text`,{y:`8`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(e,n),Z(e,r),Q(r,()=>Math.round(t()-Cu)),J(()=>({e:t()-Cu-8,t:t()-Cu+16}),({e,t},i)=>{e!==i?.e&&$(n,`x`,e,i?.e),t!==i?.t&&$(r,`x`,t,i?.t)}),e}}),null),Z(w,T),Z(T,E),Z(E,D),Z(D,O),Z(D,k),Z(D,A),Z(D,j),Q(T,Y(Gr,{each:Eu,children:e=>{let t=e%100==0,n=e%50==0;var r=X(`g`);return Z(r,X(`line`,{x1:18,y1:e,x2:t?8:n?13:17,y2:e,stroke:`currentColor`,"stroke-width":`1`})),Q(r,Y(q,{when:t,get children(){var t=X(`text`,{x:`8`,y:e+10,fill:`currentColor`,transform:`rotate(-90 8 ${e+10})`});return Q(t,e),t}}),null),r}}),null),Q(T,Y(Gr,{get each(){return u()},children:e=>(()=>{var t=X(`g`),n=X(`rect`,{x:`-3`,width:`24`,height:`48`,fill:`url(#ruler-label-fade-y)`}),r=X(`text`,{x:`9`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(t,n),Z(t,r),Q(r,()=>Math.round(e.position-Cu)),J(()=>({e:e.position-Cu-38,t:e.position-Cu-16,a:`rotate(-90 9 ${e.position-Cu-16})`}),({e,t,a:i},a)=>{e!==a?.e&&$(n,`y`,e,a?.e),t!==a?.t&&$(r,`y`,t,a?.t),i!==a?.a&&$(r,`transform`,i,a?.a)}),t})()}),null),Q(T,Y(q,{get when(){return Ji(()=>r()===`horizontal`)()&&t()!==null},get children(){var e=X(`g`),n=X(`rect`,{x:`-3`,width:`24`,height:`48`,fill:`url(#ruler-label-fade-y)`}),r=X(`text`,{x:`9`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(e,n),Z(e,r),Q(r,()=>Math.round(t()-Cu)),J(()=>({e:t()-Cu-38,t:t()-Cu-16,a:`rotate(-90 9 ${t()-Cu-16})`}),({e,t,a:i},a)=>{e!==a?.e&&$(n,`y`,e,a?.e),t!==a?.t&&$(r,`y`,t,a?.t),i!==a?.a&&$(r,`transform`,i,a?.a)}),e}}),null),J(()=>({e:{opacity:c()?e.settings.opacity:0,transition:`opacity 100ms ease`},t:{"box-shadow":`0 1px 3px rgba(0, 0, 0, 0.12)`,height:`18px`,cursor:`ns-resize`,"pointer-events":c()&&e.interactive?`auto`:`none`},a:{"box-shadow":`1px 0 3px rgba(0, 0, 0, 0.12)`,width:`18px`,cursor:`ew-resize`,"pointer-events":c()&&e.interactive?`auto`:`none`}}),({e,t,a:n},r)=>{e!==r?.e&&$(h,`style`,e,r?.e),t!==r?.t&&$(g,`style`,t,r?.t),n!==r?.a&&$(w,`style`,n,r?.a)}),h}var Ou=e=>Object.prototype.hasOwnProperty.call(e,`__codexWebMcpModelContext`),ku=new WeakSet,Au=e=>typeof e==`function`&&typeof e.prototype?.open==`function`,ju=e=>{ku.add(e)},Mu=e=>{if(Ou(e)||ku.has(e))return!1;let t=e.EyeDropper;return Au(t)},Nu=e=>Ra(e)||Mu(e),Pu={x:16,y:16},Fu={x:84,y:48},Iu=e=>e.process?.type===`renderer`||!!e.process?.versions?.electron||/\bElectron\/\d/i.test(e.navigator.userAgent),Lu=e=>{let t=e.navigator.platform||e.navigator.userAgent;return/^Mac/i.test(t)||/\bMacintosh\b/i.test(e.navigator.userAgent)},Ru=e=>Iu(e)&&Lu(e),zu={x:0,y:0,width:84,height:48},Bu=e=>{if(!Ru(e))return null;let t=e.__MESURER_HOST__?.windowControls;if(t)return t.visible?t.bounds??zu:null;let n=e.navigator.windowControlsOverlay;if(n?.visible){let e=n.getTitlebarAreaRect();if(e.x>0&&e.height>0)return{x:0,y:e.y,width:e.x,height:e.height}}return Number.isFinite(e.outerHeight)&&Number.isFinite(e.innerHeight)&&e.outerHeight-e.innerHeight>=24?null:zu},Vu=e=>Bu(e)?Fu:Pu,Hu=(e,t,n,r=0,i=0)=>{let a=Bu(e);return!a||a.width<=0||a.height<=0?t:t.x<a.x+a.width&&t.x+r>a.x&&t.y<a.y+a.height&&t.y+i>a.y?{...t,y:Math.max(n,a.y+a.height)}:t},Uu=(e,t)=>Hu(e,t??Vu(e),8,352,40),Wu=(e,t,n,r,i=8)=>{let a=i,o=Math.max(i,r.width-n.width-i),s=Math.max(a,r.height-n.height-i);return Hu(e,{x:Math.min(o,Math.max(i,t.x)),y:Math.min(s,Math.max(a,t.y))},i,n.width,n.height)},Gu=[`transform`,`translate`,`rotate`,`scale`,`opacity`,`filter`,`clip-path`,`width`,`height`,`top`,`left`,`content`],Ku=new WeakSet,qu=e=>e.split(/,(?![^()]*\))/).map(e=>e.trim()),Ju=(e,t)=>e[t%e.length]??``,Yu=e=>{let t=e.trim().match(/^(-?[\d.]+)(ms|s)$/i);if(!t)return 0;let n=Number.parseFloat(t[1]??`0`);return t[2]?.toLowerCase()===`s`?n*1e3:n},Xu=e=>[...new Set(e.filter(Boolean))],Zu=e=>!!(e&&`getKeyframes`in e&&`target`in e),Qu=e=>{let t=e?.effect??null;if(!Zu(t))return[];try{return t.getKeyframes()}catch{return[]}},$u=new Set([`offset`,`easing`,`composite`,`computedOffset`]),ed=e=>`animationName`in e?String(e.animationName??``):``,td=e=>`transitionProperty`in e?String(e.transitionProperty??``):``,nd=e=>`animationName`in e?`animation`:`transitionProperty`in e?`transition`:`web-animation`,rd=(e,t=sd(e))=>t.some(e=>{if(Ku.has(e)||ed(e)||td(e)||e.playState!==`running`)return!1;try{let t=e.effect?.getTiming(),n=t?.iterations;return!!(t&&n!==1/0)}catch{return!1}}),id=e=>e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),ad=e=>Xu(Qu(e).flatMap(e=>Object.keys(e)).filter(e=>!$u.has(e))),od=(e,t)=>Qu(e).map(e=>{let n=Object.entries(e).filter(([e])=>!$u.has(e)).map(([e,t])=>`${id(e)}: ${t};`);return e.easing&&e.easing!==`linear`&&n.push(`animation-timing-function: ${e.easing};`),e.composite&&e.composite!==`auto`&&e.composite!==`replace`&&n.push(`animation-composition: ${e.composite};`),{offset:`${Math.round(Number(e.computedOffset??e.offset??0)*1e4)/100}%`,value:n.join(` `),displayValue:n.filter(e=>e!==`animation-timing-function: ${t};`).map(e=>e.slice(0,-1).replace(/^animation-timing-function:/,`easing:`).replace(/^animation-composition:/,`composition:`)).join(`
|
|
2029
|
+
`,Ds=new WeakMap,Os=e=>{let t=e.location.pathname.replace(/\/+$/,``)||`/`,n=new URLSearchParams(e.location.search);n.sort();let r=n.toString(),i=e.location.hash,a=i.startsWith(`#/`)?i:``;return`${t}${r?`?${r}`:``}${a}`},ks=(e,t)=>{let n=Os(e);for(let e of t.listeners)e(n)},As=e=>{let t=Ds.get(e);if(t)return t;let n=e.history,r=n.pushState,i=n.replaceState,a={listeners:new Set,pushState:r,replaceState:i,handleNativeChange:()=>ks(e,a)};return n.pushState=function(...t){let n=r.apply(this,t);return ks(e,a),n},n.replaceState=function(...t){let n=i.apply(this,t);return ks(e,a),n},e.addEventListener(`popstate`,a.handleNativeChange),e.addEventListener(`hashchange`,a.handleNativeChange),Ds.set(e,a),a},js=(e,t)=>{t.listeners.size>0||Ds.get(e)!==t||(e.history.pushState=t.pushState,e.history.replaceState=t.replaceState,e.removeEventListener(`popstate`,t.handleNativeChange),e.removeEventListener(`hashchange`,t.handleNativeChange),Ds.delete(e))},Ms=(e,t)=>{let n=As(e);n.listeners.add(t);let r=!1;return()=>{r||(r=!0,n.listeners.delete(t),js(e,n))}},Ns={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},Ps={enabled:!0,color:`#2563eb`,diagonals:!1,opacity:1,width:1,pattern:`dashed`,dashLength:4,gap:3},Fs={opacity:1,edgeReveal:!1},Is=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Ls=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Rs=e=>typeof e==`string`,zs=e=>typeof e==`boolean`,Bs=e=>typeof e==`number`&&Number.isFinite(e),Vs=e=>e===`hex`||e===`rgb`||e===`hsl`||e===`oklch`,Hs=e=>e===`solid`||e===`dashed`||e===`dotted`,Us=e=>e===`system`||e===`light`||e===`dark`,Ws=e=>e===`none`||e===`select`||e===`guides`||e===`text-inspector`||e===`xray`||e===`rulers`,Gs=e=>e===`vertical`||e===`horizontal`,Ks=e=>Is(e)?Bs(e.left)&&Bs(e.top)&&Bs(e.width)&&e.width>=0&&Bs(e.height)&&e.height>=0:!1,qs=e=>Is(e)?Rs(e.id)&&Ks(e.rect)&&Ks(e.normalizedRect)&&Bs(e.deltaX)&&Bs(e.deltaY):!1,Js=e=>Is(e)?Rs(e.id)&&Gs(e.orientation)&&Bs(e.position):!1,Ys=e=>Is(e)?Rs(e.id)&&Ks(e.rectA)&&Ks(e.rectB)&&Ks(e.normalizedRectA)&&Ks(e.normalizedRectB)&&Array.isArray(e.connectors):!1,Xs=(e,t)=>{if(Ls(e))return{opacity:Bs(e.opacity)?Math.min(1,Math.max(0,e.opacity)):t.opacity,width:Bs(e.width)?Math.min(4,Math.max(1,e.width)):t.width,pattern:Hs(e.pattern)?e.pattern:t.pattern,dashLength:Bs(e.dashLength)?Math.min(24,Math.max(2,e.dashLength)):t.dashLength,gap:Bs(e.gap)?Math.min(24,Math.max(0,e.gap)):t.gap}},Zs=e=>Xs(e,Ns),Qs=e=>{if(!Ls(e))return;let t=Xs(e,Ps);if(t)return{...t,enabled:zs(e.enabled)?e.enabled:Ps.enabled,color:Rs(e.color)?e.color:Ps.color,diagonals:zs(e.diagonals)?e.diagonals:Ps.diagonals}},$s=e=>{if(Ls(e))return{opacity:Bs(e.opacity)?Math.min(1,Math.max(.2,e.opacity)):Fs.opacity,edgeReveal:zs(e.edgeReveal)?e.edgeReveal:Fs.edgeReveal}},ec=e=>{if(!Ls(e))return{};let t={};if(Rs(e.highlightColor)&&(t.highlightColor=e.highlightColor),Rs(e.guideColor)&&(t.guideColor=e.guideColor),zs(e.hoverHighlightEnabled)&&(t.hoverHighlightEnabled=e.hoverHighlightEnabled),Array.isArray(e.colorPickerFormats)){let n=e.colorPickerFormats.filter(Vs);n.length>0&&(t.colorPickerFormats=n)}Vs(e.colorPickerClickFormat)&&(t.colorPickerClickFormat=e.colorPickerClickFormat),zs(e.snapEnabled)&&(t.snapEnabled=e.snapEnabled),zs(e.snapGuidesEnabled)&&(t.snapGuidesEnabled=e.snapGuidesEnabled),zs(e.selectNewGuideEnabled)&&(t.selectNewGuideEnabled=e.selectNewGuideEnabled),zs(e.multiMeasureEnabled)&&(t.multiMeasureEnabled=e.multiMeasureEnabled),zs(e.persistOnReload)&&(t.persistOnReload=e.persistOnReload),zs(e.shortcutsEnabled)&&(t.shortcutsEnabled=e.shortcutsEnabled),Us(e.theme)&&(t.theme=e.theme);let n=Zs(e.guideStyle);n&&(t.guideStyle=n);let r=Qs(e.selectionSpacingStyle);r&&(t.selectionSpacingStyle=r);let i=$s(e.rulerSettings);return i&&(t.rulerSettings=i),t},tc=e=>!Ls(e)||!zs(e.enabled)||!Ws(e.toolMode)||!Gs(e.guideOrientation)||!Array.isArray(e.guides)||!Array.isArray(e.selectedGuideIds)||!Array.isArray(e.measurements)||!Array.isArray(e.heldDistances)?null:{enabled:e.enabled,xrayVisible:zs(e.xrayVisible)?e.xrayVisible:e.toolMode===`xray`,toolMode:e.toolMode,rulersVisible:zs(e.rulersVisible)?e.rulersVisible:e.toolMode===`rulers`,guideOrientation:e.guideOrientation,guides:e.guides.filter(Js),selectedGuideIds:e.selectedGuideIds.filter(Rs),measurements:e.measurements.filter(qs),activeMeasurement:qs(e.activeMeasurement)?e.activeMeasurement:null,heldDistances:e.heldDistances.filter(Ys)},nc=e=>!Ls(e)||e.version!==2?null:{settings:ec(e.settings),workspace:tc(e.workspace)},rc=e=>Ls(e)?e.version===2?nc(e):e.version===1?{settings:{},workspace:tc(e)}:null:null,ic=e=>JSON.parse(e),ac=`mesurer.pages/v1`,oc=e=>{if(!Ls(e)||e.format!==ac||!Ls(e.pages))return null;let t={};for(let[n,r]of Object.entries(e.pages)){let e=tc(r);e&&(t[n]=e)}return{format:ac,settings:ec(e.settings),pages:t}},sc=(e,t,n=t,r)=>{let i,a=Os(e),o=t=>{try{let n=e.localStorage.getItem(t);return n?ic(n):null}catch(e){return i?.(e),null}},s=e=>{let t=o(e);return t?rc(t):null},c=e=>oc(o(e)??void 0),l=(t,n)=>{try{e.localStorage.setItem(t,JSON.stringify(n))}catch(e){i?.(e)}},u=(e,t)=>{l(e,{version:2,settings:t.settings,workspace:t.workspace})},d=()=>{let e=r?s(r):null,i=n===t?c(t):null,o=n===t?null:s(n),l=c(t),u=l?null:s(t),d=l?.pages[a]??u?.workspace??e?.workspace??null,f=i?.settings??o?.settings??e?.settings??{};return!i&&!o&&!l&&!u&&!e?null:{settings:f,workspace:d}},f=e=>{let r=c(t),i=r?null:s(t),o=r?{...r.pages}:{};!r&&i?.workspace&&(o[a]=i.workspace),e.clearWorkspace?delete o[a]:e.workspace!==void 0&&(e.workspace?o[a]=e.workspace:delete o[a]);let u=e.settings??(n===t?r?.settings??i?.settings??{}:{});l(t,{format:ac,settings:u,pages:o})};return{load:d,saveSettings:e=>{if(n===t){f({settings:e});return}u(n,{settings:e,workspace:null})},saveWorkspace:e=>f({workspace:e}),clearWorkspace:()=>f({clearWorkspace:!0}),clearSettings:()=>{if(n===t){f({settings:{}});return}u(n,{settings:{},workspace:null})},setPageKey:e=>{a=e},setErrorHandler:e=>{i=e},subscribe:i=>{let a=e=>{(e.key===n||e.key===t||e.key===r)&&i(d(),{settings:e.key===n||e.key===r||n===t,workspace:e.key===t||e.key===r||n===t})};return e.addEventListener(`storage`,a),()=>e.removeEventListener(`storage`,a)}}},cc=2,lc=64,uc=`--mesurer-spacing-label-collision-x`,dc=`--mesurer-spacing-label-collision-y`,fc=22,pc=16,mc=new WeakMap,hc=(e,t,n)=>({left:e.left+t,top:e.top+n,right:e.right+t,bottom:e.bottom+n,width:e.width,height:e.height}),gc=(e,t)=>e.left<t.right+cc&&e.right+cc>t.left&&e.top<t.bottom+cc&&e.bottom+cc>t.top,_c=(e,t,n)=>e.left>=cc&&e.top>=cc&&e.right<=t-cc&&e.bottom<=n-cc,vc=e=>{if(e===0)return 0;let t=Math.ceil(e/2);return e%2==1?t:-t},yc=(e,t)=>{let n=Number.parseFloat(e.style.getPropertyValue(t));return Number.isFinite(n)?n:0},bc=e=>{let t=Number.parseInt(e.getAttribute(`data-mesurer-distance-label-index`)??`0`,10);return Number.isFinite(t)?t:0},xc=e=>{let t=e.getAttribute(`data-mesurer-distance-label-axis`);if(t===`x`)return{x:1,y:0};if(t===`y`)return{x:0,y:1};let n=Number.parseFloat(e.getAttribute(`data-mesurer-distance-label-vector-x`)??``),r=Number.parseFloat(e.getAttribute(`data-mesurer-distance-label-vector-y`)??``),i=Math.hypot(n,r);return Number.isFinite(i)&&i>.5?{x:n/i,y:r/i}:{x:1,y:0}},Sc=(e,t,n,r)=>{Math.abs(n-r)<.5||(r===0?e.style.removeProperty(t):e.style.setProperty(t,`${r}px`))},Cc=e=>{let t=e.ownerDocument.defaultView;if(!t)return;let n=[...e.querySelectorAll(`[data-mesurer-distance-kind="selection-spacing"] [data-mesurer-distance-label="true"]`)].sort((e,t)=>(e.getAttribute(`data-mesurer-distance-label-axis`)===`d`)-+(t.getAttribute(`data-mesurer-distance-label-axis`)===`d`)),r=new Map,i=n[0]?.closest(`[data-mesurer-distance-kind="selection-spacing"]`)?.getAttribute(`data-mesurer-selection-scope`);if(i){for(let t of e.ownerDocument.querySelectorAll(`[data-mesurer-spacing-paint="true"]`))if(t.getAttribute(`data-mesurer-selection-scope`)===i)for(let e of t.querySelectorAll(`[data-mesurer-spacing-visual-label="true"]`))r.set([t.getAttribute(`data-mesurer-distance-id`),e.getAttribute(`data-mesurer-distance-label-key`),e.getAttribute(`data-mesurer-distance-label-index`),e.getAttribute(`data-mesurer-distance-label-axis`)].join(`|`),e)}let a=[];for(let e of n){let n=e.closest(`[data-mesurer-distance-kind="selection-spacing"]`),i=r.get([n?.getAttribute(`data-mesurer-distance-id`),e.getAttribute(`data-mesurer-distance-label-key`),e.getAttribute(`data-mesurer-distance-label-index`),e.getAttribute(`data-mesurer-distance-label-axis`)].join(`|`)),o=i??e,s=yc(o,uc),c=yc(o,dc),l=e.getAttribute(`data-mesurer-distance-label-axis`),u=xc(e),d={x:-u.y,y:u.x},f=bc(e),p=l===`y`?f*fc:0,m=l===`x`?f*pc:0,h=o.getBoundingClientRect(),g={left:h.left-s-p,top:h.top-c-m,right:h.right-s-p,bottom:h.bottom-c-m,width:h.width,height:h.height},_=l===`x`?g.width+cc:l===`y`?g.height+cc:Math.max(g.width,g.height)+cc,v=vc(f),y=g,b=0,x=0,S=!1;for(let e=0;e<lc;e+=1){let n=(v+vc(e))*_,r=u.x*n,o=u.y*n,s=hc(g,r,o);if(!(!i&&!_c(s,t.innerWidth,t.innerHeight))&&!a.some(e=>gc(s,e))){y=s,b=r,x=o,S=!0;break}}if(!S){let e=v*_,t=u.x*e,n=u.y*e,r=l===`x`?g.height+cc:l===`y`?g.width+cc:Math.max(g.width,g.height)+cc;for(let e=1;e<lc;e+=1){let i=vc(e)*r,o=t+d.x*i,s=n+d.y*i,c=hc(g,o,s);if(!a.some(e=>gc(c,e))){y=c,b=o,x=s;break}}}let C=b-p,w=x-m;Sc(e,uc,yc(e,uc),C),Sc(e,dc,yc(e,dc),w),i&&(Sc(i,uc,s,C),Sc(i,dc,c,w)),a.push(y)}},wc=e=>{let t=mc.get(e);if(t){t.dirty=!0;return}let n=e.ownerDocument.defaultView;if(!n)return;let r={dirty:!1};mc.set(e,r),n.requestAnimationFrame(()=>{mc.delete(e),e.isConnected&&(Cc(e),r.dirty&&wc(e))})},Tc=`data-mesurer-spacing-label-pinned`,Ec=`data-mesurer-spacing-label-group`,Dc=`data-mesurer-spacing-base-opacity`,Oc=`[data-mesurer-selected-measurement="true"], [data-mesurer-selection-spacing-target="true"]`,kc=`[data-mesurer-distance-hover-target="true"]`,Ac=8,jc=new WeakMap,Mc=new WeakMap,Nc=new WeakMap,Pc=new WeakMap,Fc=e=>e.closest(`[data-mesurer-distance-kind="selection-spacing"]`)?.parentElement??null,Ic=e=>{queueMicrotask(()=>wc(e))},Lc=e=>{let t=()=>{let t=Fc(e);t&&wc(t)};queueMicrotask(t),e.ownerDocument.defaultView?.requestAnimationFrame(t)},Rc=e=>{let t=Fc(e),n=e.getAttribute(`data-mesurer-distance-label-key`),r=e.getAttribute(`data-mesurer-distance-id`);return!t||!n||!r?null:{scope:t,labelKey:n,distanceId:r,labelCount:Number(e.getAttribute(`data-mesurer-distance-label-count`)??`1`)}},zc=e=>`${e.style.left}:${e.style.top}:${e.style.width}:${e.style.height}`,Bc=e=>{if(e.matches(`[data-mesurer-selection-spacing-target="true"]`))return e;for(let t of e.children)if(t instanceof HTMLElement&&t.style.left&&t.style.top&&t.style.width&&t.style.height)return t;return null},Vc=(e,t)=>{let n=t?new Set([...t.querySelectorAll(kc)].map(zc)):null,r=e.querySelector(`[data-mesurer-distance-kind="selection-spacing"]`)?.getAttribute(`data-mesurer-selection-scope`),i=r?[...e.ownerDocument.querySelectorAll(`[data-mesurer-multi-selection-document-layer="true"]`)].find(e=>e.getAttribute(`data-mesurer-selection-scope`)===r):null,a=[...e.querySelectorAll(Oc),...i?.querySelectorAll(Oc)??[]];for(let e of a){if(!n){let t=e.getAttribute(Dc);if(t===null)continue;t?e.style.opacity=t:e.style.removeProperty(`opacity`),e.removeAttribute(Dc);continue}e.hasAttribute(Dc)||e.setAttribute(Dc,e.style.opacity);let t=Bc(e);e.style.opacity=t&&n.has(zc(t))?`1`:`0.32`}},Hc=e=>{let t=Nc.get(e);t&&(e.ownerDocument.removeEventListener(`pointermove`,t.handler,!0),Nc.delete(e))},Uc=e=>{let t=Pc.get(e);t&&(e.ownerDocument.removeEventListener(`pointermove`,t.handler,!0),Pc.delete(e))},Wc=(e,t)=>{if(!e.hasAttribute(Ec)){t?.setExpandedKey(null);return}e.removeAttribute(Ec),t?.setExpandedKey(null),Ic(e)},Gc=(e,t,n)=>{e.getAttribute(Ec)!==t&&(e.setAttribute(Ec,t),n?.setExpandedKey(t),Ic(e))},Kc=e=>{let t=e.querySelector(`[data-mesurer-distance-kind="selection-spacing"]`)?.getAttribute(`data-mesurer-selection-scope`);return t?[...e.ownerDocument.querySelectorAll(`[data-mesurer-spacing-paint="true"]`)].filter(e=>e.getAttribute(`data-mesurer-selection-scope`)===t):[]},qc=(e,t)=>{let n=Kc(e),r=[...e.querySelectorAll(`[data-mesurer-distance-kind="selection-spacing"]`),...n];if(!t)for(let e of n)e.removeAttribute(`data-mesurer-spacing-hover-axis`);if(t&&!e.hasAttribute(`data-mesurer-spacing-focus`))for(let e of r)for(let t of e.querySelectorAll(`[data-mesurer-distance-line], [data-mesurer-distance-connector]`))t.setAttribute(`data-mesurer-base-opacity`,t.style.opacity||`1`);if(!t){for(let e of r){e.removeAttribute(`data-mesurer-distance-active`);for(let t of e.querySelectorAll(`[data-mesurer-distance-line], [data-mesurer-distance-connector]`))t.style.opacity=t.getAttribute(`data-mesurer-base-opacity`)??``,t.removeAttribute(`data-mesurer-base-opacity`)}e.removeAttribute(`data-mesurer-spacing-focus`),Vc(e,null);return}e.setAttribute(`data-mesurer-spacing-focus`,t);let i=null;for(let e of r){let n=e.getAttribute(`data-mesurer-distance-id`)===t;n?(e.setAttribute(`data-mesurer-distance-active`,`true`),e.dataset.mesurerDistanceKind===`selection-spacing`&&(i=e)):e.removeAttribute(`data-mesurer-distance-active`);for(let t of e.querySelectorAll(`[data-mesurer-distance-line], [data-mesurer-distance-connector]`))t.style.opacity=n?`1`:`0.16`}Vc(e,i)},Jc=e=>{let t=jc.get(e);t!==void 0&&(e.ownerDocument.defaultView?.clearTimeout(t),jc.delete(e))},Yc=e=>{let t=Mc.get(e);t&&(e.ownerDocument.removeEventListener(`pointerdown`,t,!0),Mc.delete(e))},Xc=(e,t)=>{Jc(e),Hc(e),Yc(e),e.removeAttribute(Tc),t?.setPinnedKey(null),Wc(e,t),qc(e,null)},Zc=(e,t)=>{if(Mc.has(e))return;let n=n=>{let r=n.target,i=r instanceof Element?r.closest(`[data-mesurer-distance-label-key]`):null;i&&Fc(i)===e||Xc(e,t)};Mc.set(e,n),e.ownerDocument.addEventListener(`pointerdown`,n,!0)},Qc=(e,t)=>{if(e.hasAttribute(Tc)||jc.has(e))return;let n=e.ownerDocument.defaultView;n&&jc.set(e,n.setTimeout(()=>{jc.delete(e),!e.hasAttribute(Tc)&&(Hc(e),Wc(e,t),qc(e,null))},250))},$c=(e,t,n,r,i=Ac)=>{let a=1/0,o=1/0,s=-1/0,c=-1/0,l=!1;for(let n of e.querySelectorAll(`[data-mesurer-distance-label-key][data-mesurer-distance-label="true"]`)){if(n.getAttribute(`data-mesurer-distance-label-key`)!==t)continue;let e=n.getBoundingClientRect();a=Math.min(a,e.left),o=Math.min(o,e.top),s=Math.max(s,e.right),c=Math.max(c,e.bottom),l=!0}return l&&n>=a-i&&n<=s+i&&r>=o-i&&r<=c+i},el=(e,t,n)=>{if(e.hasAttribute(Tc)){Hc(e);return}if(Nc.get(e)?.key===t)return;Hc(e);let r=r=>{if(!e.isConnected||e.hasAttribute(Tc)){Hc(e);return}if($c(e,t,r.clientX,r.clientY)){Jc(e);return}Qc(e,n)};Nc.set(e,{key:t,handler:r}),e.ownerDocument.addEventListener(`pointermove`,r,!0)},tl=(e,t)=>{Uc(e);let n=n=>{(!e.isConnected||!$c(e,t,n.clientX,n.clientY,2))&&Uc(e)};Pc.set(e,{key:t,handler:n}),e.ownerDocument.addEventListener(`pointermove`,n,!0)},nl=(e,t)=>Pc.get(e)?.key===t,rl=e=>{let t=zr(()=>e.primary!==!1),n=zr(()=>!!(e.interactive&&e.labelKey&&e.distanceId)),r=()=>e.appearance===`visual`,i=()=>e.appearance===`proxy`,a=zr(()=>!!(e.spacingInteraction&&e.labelKey&&e.labelCount&&e.labelCount>1&&e.spacingInteraction.expandedKey()===e.labelKey)),o=zr(()=>t()||a()),s=t=>{let n=Rc(t.currentTarget);if(!n)return;Jc(n.scope);let r=e.spacingInteraction?.pinnedKey()??n.scope.getAttribute(Tc),i=t.currentTarget.getAttribute(`data-mesurer-distance-label-state`)===`primary`;!r&&i&&n.labelCount>1&&!nl(n.scope,n.labelKey)?(Gc(n.scope,n.labelKey,e.spacingInteraction),el(n.scope,n.labelKey,e.spacingInteraction)):!r&&n.scope.getAttribute(Ec)===n.labelKey&&el(n.scope,n.labelKey,e.spacingInteraction),qc(n.scope,n.distanceId);for(let t of Kc(n.scope))t.dataset.mesurerDistanceId===n.distanceId&&t.setAttribute(`data-mesurer-spacing-hover-axis`,e.axis)},c=t=>{let n=Rc(t.currentTarget);if(!n)return;for(let e of Kc(n.scope))e.removeAttribute(`data-mesurer-spacing-hover-axis`);if(n.scope.hasAttribute(Tc))return;let r=t.relatedTarget,i=r instanceof Element?r.closest(`[data-mesurer-distance-label-key]`):null,a=i?Rc(i):null;if(a?.scope===n.scope&&a.labelKey===n.labelKey){Jc(n.scope);return}Qc(n.scope,e.spacingInteraction)},l=e=>{Rc(e.currentTarget)&&e.stopPropagation()};var u=X(`div`,{onMouseEnter:s,onMouseLeave:c,onMouseDown:t=>{let n=Rc(t.currentTarget);if(!n||(t.stopPropagation(),n.labelCount<=1))return;Jc(n.scope);let r=e.spacingInteraction?.pinnedKey()??n.scope.getAttribute(Tc),i=t.currentTarget.getAttribute(`data-mesurer-distance-label-state`)===`primary`;if(r===n.labelKey&&i){Xc(n.scope,e.spacingInteraction),tl(n.scope,n.labelKey);return}Hc(n.scope),Uc(n.scope),n.scope.setAttribute(Tc,n.labelKey),e.spacingInteraction?.setPinnedKey(n.labelKey),Gc(n.scope,n.labelKey,e.spacingInteraction),Zc(n.scope,e.spacingInteraction),qc(n.scope,n.distanceId)},onPointerMove:l,onPointerDown:l,onPointerUp:l,onClick:e=>{Rc(e.currentTarget)&&e.stopPropagation()}});return $i(()=>e=>{Lc(e)},u),Q(u,()=>e.children),J(()=>({e:r()?void 0:o()?`true`:`hidden`,t:r()?`true`:void 0,a:t()?`primary`:`duplicate`,o:e.labelKey,i:e.labelIndex??0,n:e.labelCount??1,s:e.axis,h:e.vectorX,r:e.vectorY,d:e.distanceId,l:`msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:bg-ink-900/90 ${e.axis===`x`?`msr:-translate-x-1/2`:e.axis===`y`?`msr:-translate-y-1/2`:`msr:-translate-x-1/2 msr:-translate-y-1/2`}`,u:{left:`${e.left}px`,top:`${e.top}px`,opacity:o()&&!i()?1:0,"pointer-events":!r()&&n()&&o()?`auto`:`none`,"margin-left":`calc(var(--mesurer-spacing-label-collision-x, 0px) + ${a()&&e.axis===`y`?(e.labelIndex??0)*22:0}px)`,"margin-top":`calc(var(--mesurer-spacing-label-collision-y, 0px) + ${a()&&e.axis===`x`?(e.labelIndex??0)*16:0}px)`,"z-index":a()?String(10+(e.labelIndex??0)):void 0}}),({e,t,a:n,o:r,i,n:a,s:o,h:s,r:c,d:l,l:d,u:f},p)=>{e!==p?.e&&$(u,`data-mesurer-distance-label`,e,p?.e),t!==p?.t&&$(u,`data-mesurer-spacing-visual-label`,t,p?.t),n!==p?.a&&$(u,`data-mesurer-distance-label-state`,n,p?.a),r!==p?.o&&$(u,`data-mesurer-distance-label-key`,r,p?.o),i!==p?.i&&$(u,`data-mesurer-distance-label-index`,i,p?.i),a!==p?.n&&$(u,`data-mesurer-distance-label-count`,a,p?.n),o!==p?.s&&$(u,`data-mesurer-distance-label-axis`,o,p?.s),s!==p?.h&&$(u,`data-mesurer-distance-label-vector-x`,s,p?.h),c!==p?.r&&$(u,`data-mesurer-distance-label-vector-y`,c,p?.r),l!==p?.d&&$(u,`data-mesurer-distance-id`,l,p?.d),d!==p?.l&&$(u,`class`,d,p?.l),f!==p?.u&&$(u,`style`,f,p?.u)}),u},il=(e,t,n=e.pattern)=>{let r=e.dashLength+e.gap,i=t===`horizontal`?`to right`:`to bottom`,a=Math.max(.5,e.width/2),o=n===`solid`?void 0:n===`dotted`?`radial-gradient(circle, ${e.color} 0 ${a}px, transparent ${a+.5}px)`:`repeating-linear-gradient(${i}, ${e.color} 0 ${e.dashLength}px, transparent ${e.dashLength}px ${r}px)`,s=n===`dotted`?t===`horizontal`?`${r}px ${e.width}px`:`${e.width}px ${r}px`:void 0;return{"background-color":n===`solid`?e.color:`transparent`,"background-image":o,"background-size":s,opacity:e.opacity}},al=(e,t)=>Math.max(0,Math.min(t,e)),ol=(e,t,n)=>{let r=Math.min(e,t),i=Math.max(e,t),a=Math.min(20,Math.max(0,n/2));return i<0?a:r>n?n-a:(al(r,n)+al(i,n))/2},sl=(e,t,n)=>n&&n>0?ol(e,t,n):(e+t)/2,cl=(e,t)=>{let n=Math.min(20,Math.max(0,t/2));return e<0?n:e>t?t-n:Math.max(n,Math.min(t-n,e))},ll=(e,t,n)=>e+n/2>0&&e-n/2<t,ul=(e,t,n)=>Math.max(e,t)>0&&Math.min(e,t)<n;function dl(e){let t=()=>e.kind===`selection-spacing`,n=()=>e.renderPart!==`interaction`,r=()=>e.renderPart!==`paint`,i=()=>n()||r(),a=()=>e.renderPart===`paint`?`visual`:e.renderPart===`interaction`?`proxy`:`normal`,o=()=>e.selectionSpacingStyle??Ps,s=()=>e.distance.elementRefA?.ownerDocument.defaultView??e.distance.elementRefB?.ownerDocument.defaultView??globalThis.window,c=e=>{if(t())return e;let n=s()?.innerWidth;return n&&n>0?cl(e,n):e},l=e=>{if(t())return e;let n=s()?.innerHeight;return n&&n>0?cl(e,n):e},u=(e,n,r)=>t()?(e+n)/2:sl(e,n,r),d=(n,r,i,a)=>{if(t()&&e.renderPart&&e.renderPart!==`all`)return!0;let o=s();return!o||ul(n,r,o.innerWidth)&&ll(i,o.innerHeight,a)},f=(n,r,i,a)=>{if(t()&&e.renderPart&&e.renderPart!==`all`)return!0;let o=s();return!o||ll(n,o.innerWidth,a)&&ul(r,i,o.innerHeight)},p=(n,r,i,a)=>{if(t()&&e.renderPart&&e.renderPart!==`all`)return!0;let o=s();return!o||Math.max(n,i)>0&&Math.min(n,i)<o.innerWidth&&Math.max(r,a)>0&&Math.min(r,a)<o.innerHeight};var m=X(`div`);return Q(m,Y(q,{get when(){return Ji(()=>!!n())()?e.showRects!==!1:n()},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:rounded msr:border msr:border-[#2563eb]/70`});return J(()=>({left:`${e.distance.rectA.left}px`,top:`${e.distance.rectA.top}px`,width:`${e.distance.rectA.width}px`,height:`${e.distance.rectA.height}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),(()=>{var t=X(`div`,{class:`msr:absolute msr:rounded msr:border msr:border-[#2563eb]/70`});return J(()=>({left:`${e.distance.rectB.left}px`,top:`${e.distance.rectB.top}px`,width:`${e.distance.rectB.width}px`,height:`${e.distance.rectB.height}px`}),(e,n)=>{$(t,`style`,e,n)}),t})()]}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!t())()?r():t()},get children(){return[(()=>{var t=X(`div`,{"data-mesurer-distance-hover-target":`true`,class:`msr:pointer-events-none msr:absolute`});return J(()=>({left:`${e.distance.rectA.left}px`,top:`${e.distance.rectA.top}px`,width:`${e.distance.rectA.width}px`,height:`${e.distance.rectA.height}px`,opacity:0}),(e,n)=>{$(t,`style`,e,n)}),t})(),(()=>{var t=X(`div`,{"data-mesurer-distance-hover-target":`true`,class:`msr:pointer-events-none msr:absolute`});return J(()=>({left:`${e.distance.rectB.left}px`,top:`${e.distance.rectB.top}px`,width:`${e.distance.rectB.width}px`,height:`${e.distance.rectB.height}px`,opacity:0}),(e,n)=>{$(t,`style`,e,n)}),t})()]}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!n())()?e.distance.showConnectors!==!1:n()},get children(){return Y(Gr,{get each(){return e.distance.connectors},children:e=>Math.abs(e.x1-e.x2)<1?(()=>{var t=X(`div`,{"data-mesurer-distance-connector":`true`,class:`msr:absolute msr:border-l msr:border-dashed msr:border-[#2563eb]/70`});return J(()=>({left:`${e.x1}px`,top:`${Math.min(e.y1,e.y2)}px`,height:`${Math.abs(e.y2-e.y1)}px`}),(e,n)=>{$(t,`style`,e,n)}),t})():(()=>{var t=X(`div`,{"data-mesurer-distance-connector":`true`,class:`msr:absolute msr:border-t msr:border-dashed msr:border-[#2563eb]/70`});return J(()=>({left:`${Math.min(e.x1,e.x2)}px`,top:`${e.y1}px`,width:`${Math.abs(e.x2-e.x1)}px`}),(e,n)=>{$(t,`style`,e,n)}),t})()})}}),null),Q(m,Y(q,{get when(){return!t()||!e.distance.edgeDistances?.length},get children(){return[Y(q,{get when(){return e.distance.horizontal},children:r=>Y(q,{get when(){return Ji(()=>r().value>0)()&&r().showLine!==!1},get children(){return[Y(q,{get when(){return n()},get children(){var e=X(`div`,{"data-mesurer-distance-line":`horizontal`});return J(()=>({e:t()?o().pattern:void 0,t:t()?String(o().width):void 0,a:t()?o().color:void 0,o:t()?`msr:absolute`:`msr:absolute msr:h-px msr:bg-[#2563eb]`,i:t()?{left:`${Math.min(r().x1,r().x2)}px`,width:`${Math.abs(r().x2-r().x1)}px`,top:`${r().y-o().width/2}px`,height:`${o().width}px`,...il(o(),`horizontal`)}:{left:`${Math.min(r().x1,r().x2)}px`,width:`${Math.abs(r().x2-r().x1)}px`,top:`${r().y}px`}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-line-pattern`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-width`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-color`,r,o?.a),i!==o?.o&&$(e,`class`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?d(r().x1,r().x2,r().y,t()?o().width:1):i()},get children(){return Y(rl,{axis:`x`,get left(){return c(u(r().x1,r().x2,s()?.innerWidth))},get top(){return l(r().y+2)},get distanceId(){return Ji(()=>!!t())()?e.distance.id:void 0},get labelKey(){return r().labelKey},get labelIndex(){return r().labelIndex},get labelCount(){return r().labelCount},get primary(){return r().showLabel!==!1},get interactive(){return t()},get appearance(){return a()},get spacingInteraction(){return Ji(()=>!!t())()?e.spacingInteraction:void 0},get children(){return Ao(r().value)}})}})]}})}),Y(q,{get when(){return e.distance.vertical},children:r=>Y(q,{get when(){return Ji(()=>r().value>0)()&&r().showLine!==!1},get children(){return[Y(q,{get when(){return n()},get children(){var e=X(`div`,{"data-mesurer-distance-line":`vertical`});return J(()=>({e:t()?o().pattern:void 0,t:t()?String(o().width):void 0,a:t()?o().color:void 0,o:t()?`msr:absolute`:`msr:absolute msr:w-px msr:bg-[#2563eb]`,i:t()?{top:`${Math.min(r().y1,r().y2)}px`,height:`${Math.abs(r().y2-r().y1)}px`,left:`${r().x-o().width/2}px`,width:`${o().width}px`,...il(o(),`vertical`)}:{top:`${Math.min(r().y1,r().y2)}px`,height:`${Math.abs(r().y2-r().y1)}px`,left:`${r().x}px`}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-line-pattern`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-width`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-color`,r,o?.a),i!==o?.o&&$(e,`class`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?f(r().x,r().y1,r().y2,t()?o().width:1):i()},get children(){return Y(rl,{axis:`y`,get left(){return c(r().x+2)},get top(){return l(u(r().y1,r().y2,s()?.innerHeight))},get distanceId(){return Ji(()=>!!t())()?e.distance.id:void 0},get labelKey(){return r().labelKey},get labelIndex(){return r().labelIndex},get labelCount(){return r().labelCount},get primary(){return r().showLabel!==!1},get interactive(){return t()},get appearance(){return a()},get spacingInteraction(){return Ji(()=>!!t())()?e.spacingInteraction:void 0},get children(){return Ao(r().value)}})}})]}})})]}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!(t()&&o().diagonals))()?e.distance.diagonal:t()&&o().diagonals},children:t=>{let r=()=>Math.hypot(t().x2-t().x1,t().y2-t().y1),s=()=>r()>0?(t().x2-t().x1)/r():1,u=()=>r()>0?(t().y2-t().y1)/r():0,d=()=>Math.atan2(t().y2-t().y1,t().x2-t().x1),f=()=>(t().x1+t().x2)/2,m=()=>(t().y1+t().y2)/2;return Y(q,{get when(){return Ji(()=>t().value>0&&t().showLine!==!1)()?p(t().x1,t().y1,t().x2,t().y2):t().value>0&&t().showLine!==!1},get children(){return[Y(q,{get when(){return n()},get children(){var e=X(`div`,{"data-mesurer-distance-line":`diagonal`,"data-mesurer-line-pattern":`dotted`,class:`msr:absolute`});return J(()=>({e:String(o().width),t:o().color,a:{left:`${t().x1}px`,top:`${t().y1-o().width/2}px`,width:`${r()}px`,height:`${o().width}px`,transform:`rotate(${d()}rad)`,"transform-origin":`0 50%`,...il(o(),`horizontal`,`dotted`)}}),({e:t,t:n,a:r},i)=>{t!==i?.e&&$(e,`data-mesurer-line-width`,t,i?.e),n!==i?.t&&$(e,`data-mesurer-line-color`,n,i?.t),r!==i?.a&&$(e,`style`,r,i?.a)}),e}}),Y(q,{get when(){return i()},get children(){return Y(rl,{axis:`d`,get vectorX(){return s()},get vectorY(){return u()},get left(){return c(f()-u()*2)},get top(){return l(m()+s()*2)},get distanceId(){return e.distance.id},get labelKey(){return t().labelKey},get labelIndex(){return t().labelIndex},get labelCount(){return t().labelCount},get primary(){return t().showLabel!==!1},interactive:!0,get appearance(){return a()},get spacingInteraction(){return e.spacingInteraction},get children(){return Ao(t().value)}})}})]}})}}),null),Q(m,Y(q,{get when(){return Ji(()=>!!t())()?e.distance.edgeDistances?.length:t()},get children(){return Y(Gr,{get each(){return e.distance.edgeDistances?.map((e,t)=>t)},children:t=>{let r=()=>{let n=e.distance.edgeDistances?.[t];return n?.axis===`x`&&n.value>0&&n.showLine!==!1?n:null},p=()=>{let n=e.distance.edgeDistances?.[t];return n?.axis===`y`&&n.value>0&&n.showLine!==!1?n:null};return[Y(q,{get when(){return r()},children:t=>[Y(q,{get when(){return n()},get children(){var e=X(`div`,{class:`msr:absolute`});return J(()=>({e:`horizontal-${t().side}`,t:o().pattern,a:String(o().width),o:o().color,i:{left:`${Math.min(t().x1,t().x2)}px`,width:`${Math.abs(t().x2-t().x1)}px`,top:`${t().y-o().width/2}px`,height:`${o().width}px`,...il(o(),`horizontal`)}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-distance-line`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-pattern`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-width`,r,o?.a),i!==o?.o&&$(e,`data-mesurer-line-color`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?d(t().x1,t().x2,t().y,o().width):i()},get children(){return Y(rl,{axis:`x`,get left(){return c(u(t().x1,t().x2,s()?.innerWidth))},get top(){return l(t().y+2)},get distanceId(){return e.distance.id},get labelKey(){return t().labelKey},get labelIndex(){return t().labelIndex},get labelCount(){return t().labelCount},get primary(){return t().showLabel!==!1},interactive:!0,get appearance(){return a()},get spacingInteraction(){return e.spacingInteraction},get children(){return Ao(t().value)}})}})]}),Y(q,{get when(){return p()},children:t=>[Y(q,{get when(){return n()},get children(){var e=X(`div`,{class:`msr:absolute`});return J(()=>({e:`vertical-${t().side}`,t:o().pattern,a:String(o().width),o:o().color,i:{top:`${Math.min(t().y1,t().y2)}px`,height:`${Math.abs(t().y2-t().y1)}px`,left:`${t().x-o().width/2}px`,width:`${o().width}px`,...il(o(),`vertical`)}}),({e:t,t:n,a:r,o:i,i:a},o)=>{t!==o?.e&&$(e,`data-mesurer-distance-line`,t,o?.e),n!==o?.t&&$(e,`data-mesurer-line-pattern`,n,o?.t),r!==o?.a&&$(e,`data-mesurer-line-width`,r,o?.a),i!==o?.o&&$(e,`data-mesurer-line-color`,i,o?.o),a!==o?.i&&$(e,`style`,a,o?.i)}),e}}),Y(q,{get when(){return Ji(()=>!!i())()?f(t().x,t().y1,t().y2,o().width):i()},get children(){return Y(rl,{axis:`y`,get left(){return c(t().x+2)},get top(){return l(u(t().y1,t().y2,s()?.innerHeight))},get distanceId(){return e.distance.id},get labelKey(){return t().labelKey},get labelIndex(){return t().labelIndex},get labelCount(){return t().labelCount},get primary(){return t().showLabel!==!1},interactive:!0,get appearance(){return a()},get spacingInteraction(){return e.spacingInteraction},get children(){return Ao(t().value)}})}})]})]}})}}),null),J(()=>({e:r()?`true`:void 0,t:r()?e.kind:void 0,a:e.renderPart===`paint`?`true`:void 0,o:e.spacingScopeId,i:e.distance.id,n:e.onRemove?`msr:pointer-events-auto`:`msr:pointer-events-none`,s:e.onRemove?t=>{t.stopPropagation(),e.onRemove?.(e.distance.id)}:void 0}),({e,t,a:n,o:r,i,n:a,s:o},s)=>{e!==s?.e&&$(m,`data-mesurer-distance`,e,s?.e),t!==s?.t&&$(m,`data-mesurer-distance-kind`,t,s?.t),n!==s?.a&&$(m,`data-mesurer-spacing-paint`,n,s?.a),r!==s?.o&&$(m,`data-mesurer-selection-scope`,r,s?.o),i!==s?.i&&$(m,`data-mesurer-distance-id`,i,s?.i),a!==s?.n&&$(m,`class`,a,s?.n),o!==s?.s&&$(m,`onClick`,o,s?.s)}),m}var fl=`--mesurer-nested-scroll-x`,pl=`--mesurer-nested-scroll-y`,ml=(e,t,n,r={})=>{let i=e,a=new Map,o=t.ownerDocument,s=r.trackWindow===!0,c=e=>{if(e.parentElement)return e.parentElement;let t=e.getRootNode();return t instanceof i.ShadowRoot?t.host:null},l=c(t);for(;l;)l instanceof i.HTMLElement&&l!==o.body&&l!==o.documentElement&&a.set(l,{left:l.scrollLeft,top:l.scrollTop}),l=c(l);let u={left:e.scrollX,top:e.scrollY},d=0,f=0,p=!1,m=()=>{let e=new Set;for(let t of n())t?.isConnected&&e.add(t);return e},h=(e,t,n)=>{let r=e.style.getPropertyValue(t);if(n===0){r&&e.style.removeProperty(t);return}let i=`${n}px`;r!==i&&e.style.setProperty(t,i)},g=()=>{if(!p)for(let e of m())e.dataset.mesurerNestedScrollCompensation!==`true`&&(e.dataset.mesurerNestedScrollCompensation=`true`),h(e,fl,d),h(e,pl,f)},_=(e,t,n)=>{let r=t-e.left,i=n-e.top;return r===0&&i===0?!1:(e.left=t,e.top=n,d-=r,f-=i,!0)},v=e=>{if(p||!(e.currentTarget instanceof i.HTMLElement))return;let t=e.currentTarget,n=a.get(t);!n||!_(n,t.scrollLeft,t.scrollTop)||g()},y=()=>{p||!s||!_(u,e.scrollX,e.scrollY)||g()};for(let e of a.keys())e.addEventListener(`scroll`,v,{capture:!0,passive:!0});return s&&e.addEventListener(`scroll`,y,{capture:!0,passive:!0}),g(),{sync:g,rebase(){if(!p){for(let[e,t]of a)t.left=e.scrollLeft,t.top=e.scrollTop;u={left:e.scrollX,top:e.scrollY},d=0,f=0,g()}},release(){if(!p){p=!0,s&&e.removeEventListener(`scroll`,y,!0);for(let e of a.keys())e.removeEventListener(`scroll`,v,!0);for(let e of m())delete e.dataset.mesurerNestedScrollCompensation,e.style.removeProperty(fl),e.style.removeProperty(pl);a.clear()}}}},hl=e=>Number.parseFloat(e)||0,gl=0,_l=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},vl=e=>(e.textContent??``).replace(/\s+/g,` `).trim().slice(0,200)||null,yl=e=>e.nodeType===9,bl=e=>e.nodeType===11;function xl(e){let t=e.getBoundingClientRect();return{left:t.left,top:t.top,width:t.width,height:t.height}}function Sl(e){let t=e.getRootNode();return bl(t)?t:e.ownerDocument}var Cl=(e,t)=>{if(yl(e)||bl(e))return e;let n=Sl(e);return bl(n)?n:t},wl=600,Tl=`audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video`,El=new WeakMap,Dl=e=>{let t=e;for(;t;){if((El.get(t)??0)>0)return!0;let e=t.getRootNode();t=bl(e)?e.host:t.parentElement}return!1},Ol=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,kl=(e,t)=>Array.from(e.getClientRects()).some(e=>Ol(e,t)),Al=(e,t,n)=>{let r=e;for(;r;){let e=n.getComputedStyle(r);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||e.contentVisibility===`hidden`||Number(e.opacity)===0)return!0;if(r===t)return!1;r=r.parentElement}return!0},jl=(e,t)=>{if(e.matches(`img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use`))return!0;let n=t.getComputedStyle(e),r=n.backgroundImage!==`none`||n.backgroundColor!==`transparent`&&n.backgroundColor!==`rgba(0, 0, 0, 0)`,i=[`top`,`right`,`bottom`,`left`].some(e=>Number.parseFloat(n.getPropertyValue(`border-${e}-width`))>0&&n.getPropertyValue(`border-${e}-style`)!==`none`);return r||i||n.boxShadow!==`none`||n.outlineStyle!==`none`},Ml=(e,t)=>!!e.textContent?.trim()||jl(e,t),Nl=(e,t,n)=>{let r=t,i=r.caretRangeFromPoint?.(e.x,e.y)?.startContainer??r.caretPositionFromPoint?.(e.x,e.y)?.offsetNode;if(!i)return null;let a=t.defaultView?.Element;if(!a)return null;let o=i instanceof a?i:i.parentElement;for(;o&&o!==n;){if(n.contains(o))return o;o=o.parentElement}return o===n?n:null},Pl=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(n,i,s)=>{if(o.has(n)||Dl(n)||r.getComputedStyle(n).pointerEvents!==`none`||Al(n,e,r)||!kl(n,t))return;let c=n.getBoundingClientRect();o.add(n),a.push({element:n,area:c.width*c.height,depth:i,order:s})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=wl;){if(l instanceof i){let t=l;if(r.getComputedStyle(t).pointerEvents===`none`){let n=1,r=t.parentElement;for(;r&&r!==e;)n+=1,r=r.parentElement;s(t,n,u)}}u+=1,l=c.nextNode()}let d=Nl(t,n,e);return d&&r.getComputedStyle(d).pointerEvents===`none`&&s(d,1e4,u),a.sort((e,t)=>t.depth-e.depth||e.area-t.area||t.order-e.order).map(({element:e})=>e)},Fl=(e,t,n)=>{let r=t.ownerDocument.defaultView;if(!r)return[];let i=[...new Set(e)],a=new Map;for(let e of i){let t=e instanceof r.HTMLElement||e instanceof r.SVGElement?e:null;t&&(a.set(e,e.getAttribute(`style`)),t.style.setProperty(`pointer-events`,`auto`,`important`))}try{let e=Sl(t).elementsFromPoint(n.x,n.y),r=e.findIndex(e=>e===t),a=new Map(e.map((e,t)=>[e,t]));return i.filter(e=>{let t=a.get(e);return t!==void 0&&(r<0||t<r)}).sort((e,t)=>e.contains(t)?1:t.contains(e)?-1:(a.get(e)??2**53-1)-(a.get(t)??2**53-1))}finally{for(let[e,t]of a)t===null?e.removeAttribute(`style`):e.setAttribute(`style`,t)}},Il=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},Ll=(e,t,n,r)=>{let i=r.defaultView;if(!i)return[];let a=Fl(Pl(e,t,r).filter(e=>Ml(e,i)),e,t);if(a.length>0)return a;if(e.textContent?.trim()&&!e.matches(Tl)||e.matches(`a, button, input, select, textarea, label, summary, [contenteditable='true']`))return[];let o=[],s=new Set,c=!yl(n)&&!bl(n)?n:null,l=e.parentElement;for(;l&&l!==r.body&&l!==r.documentElement&&!(c&&l!==c&&!c.contains(l));){let a=l,u=Il(e,a),d=Pl(a,t,r).filter(e=>{if(!zl(e,n)||e.closest(`[aria-hidden='true'], [inert]`))return!1;let t=Il(e,a);return t===null||t!==u});for(let e of d)s.has(e)||!Ml(e,i)||(s.add(e),o.push(e));if(a===c)break;l=a.parentElement}return Fl(o,e,t)};function Rl(e,t,n=yl(t)?t:t.ownerDocument??document){let r=Cl(t,n),i=n.defaultView;if(!i)return null;let a=r.elementsFromPoint(e.x,e.y);for(let r of a){let a=r;for(;a?.shadowRoot;){let t=a.shadowRoot.elementFromPoint(e.x,e.y);if(!t||t===a)break;a=t}if(!a||!zl(a,t))continue;let o=Ll(a,e,t,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function zl(e,t){if(yl(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!bl(e))return!1;n=e.host}return!1}function Bl(e,t){if(!e)return t();let n=El.get(e)??0;El.set(e,n+1);let r=[e,...e.querySelectorAll(`*`)],i=r.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of r)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{n===0?El.delete(e):El.set(e,n);for(let[e,t,n]of i)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function Vl(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${_l(e.id,t)}`;let n=e.getAttribute(`data-testid`);if(n)return`[data-testid=${JSON.stringify(n)}]`;let r=[],i=e;for(;i&&r.length<5;){let e=i.localName,t=i.localName,n=i.parentElement;if(n){let r=[...n.children].filter(e=>e.localName===t);r.length>1&&(e+=`:nth-of-type(${r.indexOf(i)+1})`)}r.unshift(e),i=n}return r.join(` > `)}function Hl(e){return{tag:e.localName,id:e.id||null,testId:e.getAttribute(`data-testid`),role:e.getAttribute(`role`),ariaLabel:e.getAttribute(`aria-label`),classes:[...e.classList],text:vl(e)}}function Ul(e){return!!(e.id||e.testId||e.role||e.ariaLabel||e.classes.length||e.text)}function Wl(e,t){return e.localName!==t.tag||t.id&&e.id!==t.id||t.testId&&e.getAttribute(`data-testid`)!==t.testId||t.role&&e.getAttribute(`role`)!==t.role||t.ariaLabel&&e.getAttribute(`aria-label`)!==t.ariaLabel?!1:t.id||t.testId?!0:t.classes.some(t=>!e.classList.contains(t))||t.text&&vl(e)!==t.text?!1:Ul(t)}function Gl(e,t,n=`dom-inspection-${++gl}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:hl(i.paddingTop),right:hl(i.paddingRight),bottom:hl(i.paddingBottom),left:hl(i.paddingLeft)},o={top:hl(i.marginTop),right:hl(i.marginRight),bottom:hl(i.marginBottom),left:hl(i.marginLeft)},s={left:r.left+a.left,top:r.top+a.top,width:Math.max(0,r.width-a.left-a.right),height:Math.max(0,r.height-a.top-a.bottom)},c={left:r.left-o.left,top:r.top-o.top,width:r.width+o.left+o.right,height:r.height+o.top+o.bottom},l=e.tagName.toLowerCase(),u=e.id?`#${e.id}`:``,d=e.classList.item(0),f=d?`.${d}`:``;return{id:n,rect:{left:r.left,top:r.top,width:r.width,height:r.height},paddingRect:s,marginRect:c,padding:a,margin:o,label:`${l}${u}${f}`,elementRef:e}}var Kl=()=>({x:-1,y:-1}),ql=e=>Number.parseFloat(e)*(e.endsWith(`%`)?.01:1),Jl=e=>{try{return e.defaultView?.frameElement??null}catch{return null}},Yl=e=>{let t=e.ownerDocument.defaultView?.HTMLIFrameElement;return!!(t&&e instanceof t)},Xl=e=>{if(!Yl(e))return null;try{return e.contentDocument}catch{return null}},Zl=e=>{let t=e;return t.DOMMatrixReadOnly??t.DOMMatrix},Ql=e=>{let t=e.getRootNode();return`host`in t&&t.host instanceof Element?t.host:null},$l=(e,t,n)=>{if(!e?.endsWith(`px`))return t;let r=Number.parseFloat(e);return Number.isFinite(r)?r+n.reduce((e,t)=>e+(Number.parseFloat(t)||0),0):t},eu=e=>{let t=e.ownerDocument.defaultView;if(!t)return null;let n=1,r=0,i=0,a=1,o=null,s=e;for(;s;){let c=t.getComputedStyle(s);s===e&&(o=c);let l=Zl(t),u={a:1,b:0,c:0,d:1,is2D:!0};if(c.transform&&c.transform!==`none`){if(!l)return null;let e=new l(c.transform);if(e.is2D===!1)return null;u={a:e.a,b:e.b,c:e.c,d:e.d,is2D:!0}}if(c.perspective&&c.perspective!==`none`)return null;let d=(c.rotate||`none`).split(/\s+/),f=d.length===4;if(!(!f||Number(d[0])===0&&Number(d[1])===0&&Number(d[2])!==0)||d.length>1&&d.length!==2&&!f||d.length===2&&d[0]!==`z`)return null;let p=ql(c.zoom||`1`)||1,m=!c.scale||c.scale===`none`?[1,1]:c.scale.split(/\s+/).map(ql),h=d.at(-1)??`0`,g=Number.parseFloat(h)||0,_=(h.endsWith(`grad`)?g*Math.PI/200:h.endsWith(`rad`)?g:h.endsWith(`turn`)?g*Math.PI*2:g*Math.PI/180)*(f?Math.sign(Number(d[2])):1),v=Number.isFinite(m[0])?m[0]??1:1,y=Number.isFinite(m[1])?m[1]??v:v,b=Math.cos(_),x=Math.sin(_),S=p*(b*v*u.a-x*y*u.b),C=p*(x*v*u.a+b*y*u.b),w=p*(b*v*u.c-x*y*u.d),T=p*(x*v*u.c+b*y*u.d),E=S*n+w*r,D=C*n+T*r,O=S*i+w*a,k=C*i+T*a;n=E,r=D,i=O,a=k,s=s.parentElement??Ql(s)}let c=e.getBoundingClientRect();if(!(e instanceof t.HTMLElement))return null;let l=o,u=l?.boxSizing!==`border-box`,d=$l(l?.width,e.offsetWidth,u?[l?.paddingLeft??`0`,l?.paddingRight??`0`,l?.borderLeftWidth??`0`,l?.borderRightWidth??`0`]:[]),f=$l(l?.height,e.offsetHeight,u?[l?.paddingTop??`0`,l?.paddingBottom??`0`,l?.borderTopWidth??`0`,l?.borderBottomWidth??`0`]:[]),p={a:n,b:r,c:i,d:a,x:c.left-Math.min(0,n*d,i*f,n*d+i*f)+n*(e.clientLeft+(Number.parseFloat(l?.paddingLeft??`0`)||0))+i*(e.clientTop+(Number.parseFloat(l?.paddingTop??`0`)||0)),y:c.top-Math.min(0,r*d,a*f,r*d+a*f)+r*(e.clientLeft+(Number.parseFloat(l?.paddingLeft??`0`)||0))+a*(e.clientTop+(Number.parseFloat(l?.paddingTop??`0`)||0))};return Object.values(p).every(Number.isFinite)?p:null},tu=(e,t)=>({x:e.a*t.x+e.c*t.y+e.x,y:e.b*t.x+e.d*t.y+e.y}),nu=(e,t)=>{let n=e.a*e.d-e.b*e.c;if(Math.abs(n)<1e-12)return Kl();let r=t.x-e.x,i=t.y-e.y;return{x:(e.d*r-e.c*i)/n,y:(e.a*i-e.b*r)/n}},ru=(e,t)=>{let n=eu(e);return n?nu(n,t):Kl()},iu=(e,t,n)=>{let r=new Map,i=t,a=[];for(;!r.has(i);){r.set(i,[...a]);let e=Jl(i);if(!e)break;a.push(e),i=e.ownerDocument}let o=[];if(n){i=n;let e=new Set;for(;!r.has(i);){if(e.has(i))return Kl();e.add(i);let t=Jl(i);if(!t)return Kl();o.push(t),i=t.ownerDocument}}let s=e;for(let e of r.get(i)??[]){let t=eu(e);if(!t)return Kl();s=tu(t,s)}for(let e of o.reverse()){let t=eu(e);if(!t)return Kl();let n=t.a*t.d-t.b*t.c;if(Math.abs(n)<1e-12)return Kl();s=nu(t,s)}return s},au=(e,t)=>{if(!Jl(t))return e;let n=[{x:e.left,y:e.top},{x:e.left+e.width,y:e.top},{x:e.left,y:e.top+e.height},{x:e.left+e.width,y:e.top+e.height}],r=t,i=new Set;for(;!i.has(r);){i.add(r);let e=Jl(r);if(!e)break;let t=eu(e);if(!t)return{left:-1,top:-1,width:0,height:0};n=n.map(e=>tu(t,e)),r=e.ownerDocument}let a=Math.min(...n.map(e=>e.x)),o=Math.min(...n.map(e=>e.y)),s=Math.max(...n.map(e=>e.x)),c=Math.max(...n.map(e=>e.y));return{left:a,top:o,width:s-a,height:c-o}},ou=e=>au(xl(e),e.ownerDocument),su=-1,cu=new Map,lu=()=>{let e=globalThis.performance?.now();return e===void 0?0:Math.floor(e/16)},uu=e=>{let t=lu();t!==su&&(su=t,cu.clear());let n=cu.get(e);if(n)return n;let r=ou(e);return cu.set(e,r),r},du=[],fu=-1,pu=null,mu=(e=document)=>{let t=lu();if(t===fu&&pu===e&&du.length>0)return du;fu=t,pu=e;let n=[],r=new Set,i=e=>{if(r.has(e))return;r.add(e);let t=e.defaultView?.Element;if(!t||!e.body)return;let a=r=>{let o=e.createTreeWalker(r,1),s=o.nextNode();for(;s;){if(s instanceof t){n.push(s),s.shadowRoot&&a(s.shadowRoot);let e=Xl(s);e&&i(e)}s=o.nextNode()}};a(e.body)};return i(e),du=n,du},hu=(e,t=window)=>{let n=Gl(e,e.ownerDocument.defaultView??t,jo());return{...n,rect:au(n.rect,e.ownerDocument),paddingRect:au(n.paddingRect,e.ownerDocument),marginRect:au(n.marginRect,e.ownerDocument),documentScroll:{x:t.scrollX,y:t.scrollY}}},gu=(e,t=bo(),n=document)=>{let r=e.rect;return e.elementRef?.isConnected?r=ou(e.elementRef):e.normalizedRect&&(r=So(e.normalizedRect,t)),{...e,rect:r,normalizedRect:xo(r,t),originRect:void 0}},_u={top:!0,right:!0,bottom:!0,left:!0},vu=e=>Math.round(e),yu=`2147482800`;function bu(e){let t,n,[r,i]=K(null),a=()=>e.edgeVisibility??_u,o=()=>!!e.measurement?.id.startsWith(`group-`),s=()=>!!(e.measurement&&`paddingRect`in e.measurement),c=()=>s()?`none`:`left 140ms ease, top 140ms ease, width 140ms ease, height 140ms ease`,l=()=>s()?`none`:`left 140ms ease, top 140ms ease`,u=()=>{let t=e.measurement;if(!t||!(`paddingRect`in t))return null;let n=t.elementRef;return n?.isConnected?n:null},d=()=>{let e=u(),t=r(),n=e?.ownerDocument.defaultView;return!e||!n||t!==e.ownerDocument.body?{x:0,y:0}:{x:n.scrollX,y:n.scrollY}},f=()=>{let e=u();if(!e||!t||!n)return;let r=ou(e),i=e.ownerDocument.defaultView,a=t.parentElement,o=!!(i&&a?.parentNode===e.ownerDocument.body),s=o?i.scrollX:0,c=o?i.scrollY:0,l=r.left+s,d=r.top+c;Object.assign(t.style,{left:`${l}px`,top:`${d}px`,width:`${r.width}px`,height:`${r.height}px`}),Object.assign(n.style,{left:`${l+r.width/2}px`,top:`${d+r.height+2}px`})};Wt(()=>{let e=u(),r=e?.ownerDocument.defaultView;if(!e||!r)return;let a=t?.ownerDocument,o=e.ownerDocument===a&&e.getRootNode()===e.ownerDocument&&!!e.ownerDocument.body;i(o?e.ownerDocument.body:null);let s=t&&o?bs(t,e):null,c=o?ml(r,e,()=>[t,n]):null,l=0,d=()=>{t?.dataset.mesurerNativeScrollAnchor===`box`||l||(l=r.requestAnimationFrame(()=>{l=0,t?.dataset.mesurerNativeScrollAnchor!==`box`&&f()}))},p=new r.ResizeObserver(f);return f(),c?.sync(),p.observe(e),r.addEventListener(`scroll`,d,{capture:!0,passive:!0}),r.addEventListener(`resize`,f,!0),()=>{p.disconnect(),s?.(),c?.release(),l&&r.cancelAnimationFrame(l),r.removeEventListener(`scroll`,d,!0),r.removeEventListener(`resize`,f,!0)}});let p=r=>[Y(q,{get when(){return!o()},get children(){var n=X(`div`,{"data-mesurer-measurement-chrome":`true`,class:`msr:pointer-events-none msr:absolute`});return $i(()=>e=>{t=e},n),Q(n,Y(q,{get when(){return a().top},get children(){var t=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),Q(n,Y(q,{get when(){return a().right},get children(){var t=X(`div`,{class:`msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),Q(n,Y(q,{get when(){return a().bottom},get children(){var t=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),Q(n,Y(q,{get when(){return a().left},get children(){var t=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({"background-color":e.outlineColor}),(e,n)=>{$(t,`style`,e,n)}),t}}),null),J(()=>({left:`${r().rect.left+d().x}px`,top:`${r().rect.top+d().y}px`,width:`${r().rect.width}px`,height:`${r().rect.height}px`,"z-index":s()?yu:void 0,"background-color":e.fillColor,transition:c(),"transition-property":s()?`none`:`left, top, width, height`,"transition-duration":s()?`0s`:`140ms`,animation:`none`,"animation-name":`none`}),(e,t)=>{$(n,`style`,e,t)}),n}}),Y(q,{get when(){return e.showLabel!==!1},get children(){var e=X(`div`,{"data-mesurer-measurement-label":`true`,class:`msr:pointer-events-none msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:-translate-x-1/2 msr:bg-ink-900/90`}),t=Yi(` x `);return Z(e,t),$i(()=>e=>{n=e},e),Q(e,()=>vu(r().rect.width),t),Q(e,()=>vu(r().rect.height),null),J(()=>({left:`${r().rect.left+d().x+r().rect.width/2}px`,top:`${r().rect.top+d().y+r().rect.height+2}px`,"z-index":s()?yu:void 0,"white-space":`nowrap`,transition:l(),"transition-property":s()?`none`:`left, top`,"transition-duration":s()?`0s`:`140ms`,animation:`none`,"animation-name":`none`}),(t,n)=>{$(e,`style`,t,n)}),e}})];return Y(q,{get when(){return e.measurement},children:t=>Y(q,{get when(){return Ji(()=>!!(s()&&!o()))()?r():null},get fallback(){var e=X(`div`,{class:`msr:pointer-events-none`,"data-mesurer-measurement":`true`});return Q(e,()=>p(t)),J(()=>({e:`paddingRect`in t()?`true`:void 0,t:o()?`true`:void 0}),({e:t,t:n},r)=>{t!==r?.e&&$(e,`data-mesurer-selected-measurement`,t,r?.e),n!==r?.t&&$(e,`data-mesurer-selection-group`,n,r?.t)}),e},children:n=>Y(Ci,{get mount(){return n()},get children(){var n=X(`div`,{class:`msr:pointer-events-none`,"data-mesurer-measurement":`true`,"data-mesurer-selected-measurement":`true`,"data-mesurer-inspector-ui":`true`});return Q(n,()=>p(t)),J(()=>e.theme??`system`,(e,t)=>{$(n,`data-theme`,e,t)}),n}})})})}var xu=e=>(()=>{var t=X(`div`);return Q(t,()=>e.children),J(()=>({e:`msr:pointer-events-none msr:absolute msr:rounded msr:px-1 msr:py-0.5 msr:text-[10px] msr:text-ink-50 msr:tabular-nums msr:select-none msr:bg-ink-900/90 ${e.axis===`x`?`msr:-translate-x-1/2`:`msr:-translate-y-1/2`}`,t:{left:`${e.left}px`,top:`${e.top}px`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`class`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t})();function Su(e){let t,n,r,i=0,a=0,o=null,s=0,c=null,l=0,u=0,[d,f]=K(null),[p,m]=K(null),[h,g]=K(null),_={expandedKey:d,setExpandedKey:f,pinnedKey:p,setPinnedKey:m},v=()=>e.model.state.toolMode===`select`,y=()=>e.model.state.toolMode===`guides`,b=()=>e.model.state.enabled,x=()=>t?.closest(`[data-mesurer-root='true']`)?.hasAttribute(`data-mesurer-recording-active`)??!1,S=()=>!x()&&e.interactive&&b()&&e.model.state.toolMode!==`none`&&e.model.state.toolMode!==`text-inspector`,C=()=>!x()&&e.interactive&&(e.model.state.toolMode!==`none`||e.model.state.rulersVisible),w=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 80%, transparent)`,T=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 8%, transparent)`,E=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 96%, transparent)`,D=()=>`color-mix(in oklch, ${e.model.state.settings.highlightColor} 15.36%, transparent)`,O=zr(()=>e.model.state.selectedMeasurements);Hr(()=>O(),()=>{let e=t?.ownerDocument.defaultView;e&&(i=e.scrollX,a=e.scrollY,r?.style.removeProperty(`transform`))});let k=zr(()=>{let e=O()[0]?.documentScroll;if(e)return e;let n=t?.ownerDocument.defaultView;return{x:n?.scrollX??0,y:n?.scrollY??0}}),A=zr(()=>{let t=e.model.state.settings.multiMeasureEnabled&&e.model.state.measurements.length>0?e.model.state.measurements:e.model.state.activeMeasurement?[e.model.state.activeMeasurement]:[],n=new Set(O().map(e=>e.elementRef).filter(e=>!!e));return t.filter(e=>!e.elementRef||!n.has(e.elementRef))}),j=zr(()=>e.displayedSelectedMeasurements),M=zr(()=>{let t=e.model.state.hoverElement;return!!(t&&O().some(e=>e.elementRef===t))}),N=zr(()=>e.model.state.heldDistances),P=zr(()=>es(A().map(e=>e.rect))),F=zr(()=>es(j().map(e=>e.rect))),I=zr(()=>{let n=O();if(!v()||!e.selectionSpacingStyle.enabled||n.length<2)return[];let r=t?.ownerDocument.defaultView;return r?Zo(n,r):[]}),L=zr(()=>I().map(e=>e.id)),R=e=>I().find(t=>t.id===e),z=zr(()=>O().map(e=>e.id).join(`|`));Hr(()=>z(),()=>{f(null),m(null)});let B=()=>{let t=e.model.state.hoverRect;return t?es([t,...j().map(e=>e.rect)])[0]??null:null},V=()=>fs(t,e.model.state.hoverElement),ee=()=>{let t=e.model.state.hoverElement,n=V(),r=t?.ownerDocument.defaultView;return!t||!r||n!==t.ownerDocument.body?{x:0,y:0}:{x:r.scrollX,y:r.scrollY}},H=()=>{let t=e.model.state.hoverRect,r=!!V(),i=ee();var a=X(`div`,{"data-mesurer-hover-measurement":`true`,"data-mesurer-document-hover-layer":r?`true`:void 0,class:`msr:pointer-events-none msr:absolute`});return $i(()=>e=>{n=e},a),Q(a,Y(q,{get when(){return B()?.top},get children(){var e=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full`});return J(()=>({position:`absolute`,left:`0`,top:`0`,height:`1px`,width:`100%`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),Q(a,Y(q,{get when(){return B()?.right},get children(){var e=X(`div`,{class:`msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({position:`absolute`,right:`0`,top:`0`,height:`100%`,width:`1px`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),Q(a,Y(q,{get when(){return B()?.bottom},get children(){var e=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full`});return J(()=>({position:`absolute`,bottom:`0`,left:`0`,height:`1px`,width:`100%`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),Q(a,Y(q,{get when(){return B()?.left},get children(){var e=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px`});return J(()=>({position:`absolute`,left:`0`,top:`0`,height:`100%`,width:`1px`,"background-color":w()}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),J(()=>({position:`absolute`,"pointer-events":`none`,"z-index":r?`2147482700`:void 0,left:`${t.left+i.x}px`,top:`${t.top+i.y}px`,width:`${t.width}px`,height:`${t.height}px`,"background-color":T(),transition:`none`,animation:`none`}),(e,t)=>{$(a,`style`,e,t)}),a},U=t=>{let n=t===`active`?100:t===`hover`?90:t===`preview`?50:70;return`color-mix(in oklch, ${e.model.state.settings.guideColor} ${n}%, transparent)`},W=zr(()=>{if(e.model.state.guides.length>0||!e.model.state.settingsOpen||e.model.state.settingsTab!==`guides`)return e.model.state.guides;let n=t?.ownerDocument.defaultView;return n?[{id:`__mesurer-preview-vertical`,orientation:`vertical`,position:n.innerWidth/2},{id:`__mesurer-preview-horizontal`,orientation:`horizontal`,position:n.innerHeight/2}]:e.model.state.guides}),te=()=>{s&&t?.ownerDocument.defaultView?.clearTimeout(s),s=0,c=null},ne=(t,n)=>{if(!e.model.current.enabled||e.model.current.settingsOpen||n.button!==0)return;if(n.preventDefault(),n.stopPropagation(),e.model.checkpoint(),n.shiftKey){e.model.setSelectedGuideIds(e.model.current.selectedGuideIds.includes(t.id)?e.model.current.selectedGuideIds.filter(e=>e!==t.id):[...e.model.current.selectedGuideIds,t.id]);return}e.model.setSelectedGuideIds([t.id]),te();let r=n.currentTarget.ownerDocument.defaultView;r&&(c=t.id,s=r.setTimeout(()=>{s=0,c===t.id&&e.model.setTransient({draggingGuideId:t.id})},220)),ds(n.currentTarget,n.pointerId)},re=(t,n)=>{n.stopPropagation(),te(),e.model.current.draggingGuideId===t.id&&e.model.setTransient({draggingGuideId:null}),n.currentTarget.hasPointerCapture(n.pointerId)&&n.currentTarget.releasePointerCapture(n.pointerId)};Wt(()=>{let s=t,c=s?.ownerDocument.defaultView,d=s?.ownerDocument;if(!s||!c||!d)return;i=c.scrollX,a=c.scrollY,d.body&&(Ts(Es,d.body),g(d.body));let f=t=>e.onPointerMove(t),p=()=>{let e=r;if(!e?.isConnected)return;let t=i-c.scrollX,n=a-c.scrollY;t===0&&n===0?e.style.removeProperty(`transform`):e.style.transform=`translate3d(${t}px, ${n}px, 0)`},m=t=>{if(!e.editSelectionHover()||e.model.current.toolMode!==`select`)return;let n=t.composedPath();if(!n.includes(s)){if(n.some(e=>e instanceof c.Element&&e.getAttribute(`data-mesurer-arrange-box`)===`true`)||t.buttons!==0){e.model.setHoverTarget(null,null);return}e.onPointerMove(t)}},h=()=>{let t=e.model.current.hoverElement,r=n;if(!t?.isConnected||!r?.isConnected)return;let i=t.getBoundingClientRect(),a=r.dataset.mesurerDocumentHoverLayer===`true`,o=a?c.scrollX:0,s=a?c.scrollY:0;Object.assign(r.style,{left:`${i.left+o}px`,top:`${i.top+s}px`,width:`${i.width}px`,height:`${i.height}px`})},_=()=>{u||=c.requestAnimationFrame(()=>{u=0,n?.dataset.mesurerNativeScrollAnchor!==`box`&&h()})},v=()=>{let e=n;if(e?.isConnected&&e.dataset.mesurerNativeScrollAnchor!==`box`){if(!hs(d)){_();return}e.style.visibility=`hidden`,l&&c.clearTimeout(l),l=c.setTimeout(()=>{l=0,e.dataset.mesurerNativeScrollAnchor!==`box`&&h(),e.isConnected&&e.style.removeProperty(`visibility`)},80)}},y=t=>{if(!e.model.current.enabled||e.model.current.settingsOpen||e.model.current.toolMode!==`none`||t.composedPath().some(e=>e instanceof c.Element&&e.hasAttribute(`data-mesurer-toolbar`)))return;let n={x:t.clientX,y:t.clientY},r=e.model.current.guides.find(e=>(e.orientation===`vertical`?Math.abs(e.position-n.x):Math.abs(e.position-n.y))<=7);if(r){if(e.model.checkpoint(),t.shiftKey){e.model.setSelectedGuideIds(e.model.current.selectedGuideIds.includes(r.id)?e.model.current.selectedGuideIds.filter(e=>e!==r.id):[...e.model.current.selectedGuideIds,r.id]),o=null;return}e.model.setSelectedGuideIds([r.id]),t.button===0&&(o={id:r.id,orientation:r.orientation,pointerId:t.pointerId,previousUserSelect:null})}},b=t=>{let n=o;!n||n.pointerId!==t.pointerId||e.model.current.guides.find(e=>e.id===n.id)&&(t.preventDefault(),n.previousUserSelect===null&&(n.previousUserSelect=d.documentElement.style.userSelect,d.documentElement.style.userSelect=`none`,c.getSelection()?.removeAllRanges()),e.model.updateGuide(n.id,{position:n.orientation===`vertical`?t.clientX:t.clientY}))},x=e=>{let t=o;!t||t.pointerId!==e.pointerId||(t.previousUserSelect!==null&&(d.documentElement.style.userSelect=t.previousUserSelect),o=null)};return h(),s.addEventListener(`pointermove`,f),c.addEventListener(`pointermove`,m,!0),c.addEventListener(`scroll`,v,{capture:!0,passive:!0}),c.addEventListener(`scroll`,p,{capture:!0,passive:!0}),c.addEventListener(`resize`,h,!0),c.addEventListener(`pointerdown`,y,!0),c.addEventListener(`pointermove`,b,!0),c.addEventListener(`pointerup`,x,!0),c.addEventListener(`pointercancel`,x,!0),()=>{s.removeEventListener(`pointermove`,f),c.removeEventListener(`pointermove`,m,!0),c.removeEventListener(`scroll`,v,!0),c.removeEventListener(`scroll`,p,!0),c.removeEventListener(`resize`,h,!0),c.removeEventListener(`pointerdown`,y,!0),c.removeEventListener(`pointermove`,b,!0),c.removeEventListener(`pointerup`,x,!0),c.removeEventListener(`pointercancel`,x,!0),l&&c.clearTimeout(l),u&&c.cancelAnimationFrame(u),l=0,u=0,n?.style.removeProperty(`visibility`),te(),o?.previousUserSelect!==null&&o&&(d.documentElement.style.userSelect=o.previousUserSelect),o=null}});let ie=()=>[Y(Gr,{get each(){return j()},keyed:e=>e.id,children:(t,n)=>Y(bu,{get measurement(){return t()},get edgeVisibility(){return F()[n()]},get outlineColor(){return E()},get fillColor(){return D()},get theme(){return e.model.state.settings.theme}})}),Y(q,{get when(){return Ji(()=>!!e.editSelectionHover())()?j()[0]?.id.startsWith(`group-`):e.editSelectionHover()},get children(){var e=X(`div`,{"data-mesurer-selection-group-outline":`true`,class:`msr:pointer-events-none msr:absolute`});return J(()=>({left:`${j()[0].rect.left}px`,top:`${j()[0].rect.top}px`,width:`${j()[0].rect.width}px`,height:`${j()[0].rect.height}px`,"box-sizing":`border-box`,border:`1px solid #0d99ff`}),(t,n)=>{$(e,`style`,t,n)}),e}}),Y(q,{get when(){return O().length>1},get children(){return[Y(Gr,{get each(){return O()},children:e=>(()=>{var t=X(`div`,{"data-mesurer-selection-spacing-target":`true`,class:`msr:pointer-events-none msr:absolute msr:rounded msr:border msr:border-[#2563eb]/70`});return J(()=>({left:`${e.rect.left}px`,top:`${e.rect.top}px`,width:`${e.rect.width}px`,height:`${e.rect.height}px`}),(e,n)=>{$(t,`style`,e,n)}),t})()}),Y(Gr,{get each(){return L()},children:t=>Y(dl,{get distance(){return R(t)},kind:`selection-spacing`,showRects:!1,get spacingScopeId(){return z()},get selectionSpacingStyle(){return e.selectionSpacingStyle},spacingInteraction:_,renderPart:`paint`})})]}})];var G=X(`div`,{"data-mesurer-interaction-overlay":`true`,onPointerDown:t=>e.onPointerDown(t),onPointerUp:t=>e.onPointerUp(t),onPointerLeave:t=>e.onPointerLeave(t)});return $i(()=>e=>{t=e},G),Q(G,Y(q,{get when(){return v()},get children(){return[Y(Gr,{get each(){return A()},children:(t,n)=>Y(bu,{measurement:t,get edgeVisibility(){return P()[n()]},get outlineColor(){return w()},get fillColor(){return T()},get theme(){return e.model.state.settings.theme}})}),Y(q,{get when(){return Ji(()=>!!e.activeRect)()?e.model.state.isDragging:e.activeRect},get children(){return[(()=>{var t=X(`div`,{class:`msr:pointer-events-none msr:absolute`}),n=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full`}),r=X(`div`,{class:`msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px`}),i=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full`}),a=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px`});return Z(t,n),Z(t,r),Z(t,i),Z(t,a),J(()=>({e:{left:`${e.activeRect.left}px`,top:`${e.activeRect.top}px`,width:`${e.activeRect.width}px`,height:`${e.activeRect.height}px`,"background-color":T()},t:{"background-color":w()},a:{"background-color":w()},o:{"background-color":w()},i:{"background-color":w()}}),({e,t:o,a:s,o:c,i:l},u)=>{e!==u?.e&&$(t,`style`,e,u?.e),o!==u?.t&&$(n,`style`,o,u?.t),s!==u?.a&&$(r,`style`,s,u?.a),c!==u?.o&&$(i,`style`,c,u?.o),l!==u?.i&&$(a,`style`,l,u?.i)}),t})(),Y(xu,{axis:`x`,get left(){return e.activeRect.left+e.activeRect.width/2},get top(){return e.activeRect.top+e.activeRect.height+2},get children(){return[Ji(()=>Ao(e.activeRect.width)),` x `,Ji(()=>Ao(e.activeRect.height))]}})]}}),Y(q,{get when(){return Ji(()=>!!(e.model.state.hoverRect&&e.model.state.settings.hoverHighlightEnabled&&(e.editSelectionHover()||O().length<=1)))()?!M():e.model.state.hoverRect&&e.model.state.settings.hoverHighlightEnabled&&(e.editSelectionHover()||O().length<=1)},get children(){return Y(q,{get when(){return V()},get fallback(){return H()},children:e=>Y(Ci,{get mount(){return e()},get children(){return H()}})})}})]}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(e.interactive&&y()&&e.model.state.guidePreview))()?!e.model.state.draggingGuideId:e.interactive&&y()&&e.model.state.guidePreview},get children(){var t=X(`div`,{class:`msr:pointer-events-none msr:absolute`}),n=X(`div`,{class:`msr:absolute`});return Z(t,n),J(()=>({e:e.model.state.guidePreview.orientation===`vertical`?{left:`${e.model.state.guidePreview.position-7}px`,top:`0`,width:`14px`,height:`100%`}:{top:`${e.model.state.guidePreview.position-7}px`,left:`0`,height:`14px`,width:`100%`},t:e.model.state.guidePreview.orientation===`vertical`?{left:`6px`,top:`0`,width:`2px`,height:`100%`,"background-color":U(`preview`)}:{top:`6px`,left:`0`,height:`2px`,width:`100%`,"background-color":U(`preview`)}}),({e,t:r},i)=>{e!==i?.e&&$(t,`style`,e,i?.e),r!==i?.t&&$(n,`style`,r,i?.t)}),t}}),null),Q(G,Y(q,{get when(){return v()},get children(){return Y(q,{get when(){return Ji(()=>O().length>1)()?h():null},get fallback(){return Y(ie,{})},children:t=>Y(Ci,{get mount(){return t()},get children(){var t=X(`div`,{"data-mesurer-multi-selection-document-layer":`true`,"data-mesurer-inspector-ui":`true`,class:`msr:pointer-events-none`});return Q(t,Y(ie,{})),J(()=>({e:z(),t:e.model.state.settings.theme,a:{position:`absolute`,left:`${k().x}px`,top:`${k().y}px`,"pointer-events":`none`}}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`data-mesurer-selection-scope`,e,i?.e),n!==i?.t&&$(t,`data-theme`,n,i?.t),r!==i?.a&&$(t,`style`,r,i?.a)}),t}})})}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!v())()?O().length>1:v()},get children(){var t=X(`div`,{"data-mesurer-spacing-interaction-layer":`true`,class:`msr:pointer-events-none`});return $i(()=>e=>{r=e},t),Q(t,Y(Gr,{get each(){return L()},children:t=>Y(dl,{get distance(){return R(t)},showRects:!1,kind:`selection-spacing`,get spacingScopeId(){return z()},get selectionSpacingStyle(){return e.selectionSpacingStyle},spacingInteraction:_,get renderPart(){return h()?`interaction`:`all`}})})),t}}),null),Q(G,Y(Gr,{get each(){return N()},children:t=>Y(dl,{distance:t,get onRemove(){return e.model.removeHeldDistance},kind:`held`})}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(v()&&e.model.state.altPressed))()?e.optionPairOverlay:v()&&e.model.state.altPressed},get children(){return Y(dl,{get distance(){return e.optionPairOverlay},kind:`preview`})}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(e.interactive&&y()&&e.model.state.altPressed))()?e.guideDistanceOverlay:e.interactive&&y()&&e.model.state.altPressed},get children(){return Y(dl,{get distance(){return e.guideDistanceOverlay},kind:`preview`})}}),null),Q(G,Y(q,{get when(){return Ji(()=>!!(v()&&e.model.state.altPressed))()?e.optionContainerLines:v()&&e.model.state.altPressed},children:e=>[Y(q,{get when(){return e().top.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:w-px msr:bg-[#2563eb]`});return J(()=>({top:`${e().top.y1}px`,height:`${e().top.y2-e().top.y1}px`,left:`${e().top.x}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`y`,get left(){return e().top.x+2},get top(){return(e().top.y1+e().top.y2)/2},get children(){return Ao(e().top.value)}})]}}),Y(q,{get when(){return e().bottom.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:w-px msr:bg-[#2563eb]`});return J(()=>({top:`${e().bottom.y1}px`,height:`${e().bottom.y2-e().bottom.y1}px`,left:`${e().bottom.x}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`y`,get left(){return e().bottom.x+2},get top(){return(e().bottom.y1+e().bottom.y2)/2},get children(){return Ao(e().bottom.value)}})]}}),Y(q,{get when(){return e().left.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:h-px msr:bg-[#2563eb]`});return J(()=>({left:`${e().left.x1}px`,width:`${e().left.x2-e().left.x1}px`,top:`${e().left.y}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`x`,get left(){return(e().left.x1+e().left.x2)/2},get top(){return e().left.y+2},get children(){return Ao(e().left.value)}})]}}),Y(q,{get when(){return e().right.value>0},get children(){return[(()=>{var t=X(`div`,{class:`msr:absolute msr:h-px msr:bg-[#2563eb]`});return J(()=>({left:`${e().right.x1}px`,width:`${e().right.x2-e().right.x1}px`,top:`${e().right.y}px`}),(e,n)=>{$(t,`style`,e,n)}),t})(),Y(xu,{axis:`x`,get left(){return(e().right.x1+e().right.x2)/2},get top(){return e().right.y+2},get children(){return Ao(e().right.value)}})]}})]}),null),Q(G,Y(Gr,{get each(){return W()},children:t=>{let n=()=>t.id.startsWith(`__mesurer-preview-`),r=()=>!n()&&e.model.state.selectedGuideIds.includes(t.id),i=()=>!n()&&e.hoverGuide?.id===t.id,a=()=>r()?U(`active`):i()?U(`hover`):U(`default`),o=()=>Math.max(e.model.state.settings.guideStyle.width,r()||i()?2:e.model.state.settings.guideStyle.width),s=()=>e.model.state.settings.guideStyle.pattern===`solid`?void 0:e.model.state.settings.guideStyle.pattern===`dotted`?`radial-gradient(circle, ${a()} 0 ${o()/2}px, transparent ${o()/2+.5}px)`:`repeating-linear-gradient(${t.orientation===`vertical`?`to bottom`:`to right`}, ${a()} 0 ${e.model.state.settings.guideStyle.dashLength}px, transparent ${e.model.state.settings.guideStyle.dashLength}px ${e.model.state.settings.guideStyle.dashLength+e.model.state.settings.guideStyle.gap}px)`,c=()=>e.model.state.settings.guideStyle.pattern===`dotted`?t.orientation===`vertical`?`${o()}px ${e.model.state.settings.guideStyle.dashLength+e.model.state.settings.guideStyle.gap}px`:`${e.model.state.settings.guideStyle.dashLength+e.model.state.settings.guideStyle.gap}px ${o()}px`:void 0;var l=X(`div`,{class:`msr:absolute`,"data-mesurer-guide":`true`,onPointerDown:r=>{!n()&&e.model.current.toolMode!==`none`&&ne(t,r)},onPointerUp:r=>{!n()&&e.model.current.toolMode!==`none`&&re(t,r)},onPointerCancel:r=>{!n()&&e.model.current.toolMode!==`none`&&re(t,r)}}),u=X(`div`,{class:`msr:absolute`});return Z(l,u),J(()=>({e:t.orientation===`vertical`?{left:`${t.position-7}px`,top:`0`,width:`14px`,height:`100%`,"pointer-events":!n()&&C()?`auto`:`none`}:{top:`${t.position-7}px`,left:`0`,height:`14px`,width:`100%`,"pointer-events":!n()&&C()?`auto`:`none`},t:t.orientation===`vertical`?{left:`6px`,top:`0`,width:`${o()}px`,height:`100%`,"background-color":e.model.state.settings.guideStyle.pattern===`solid`?a():`transparent`,"background-image":s(),"background-size":c(),opacity:e.model.state.settings.guideStyle.opacity}:{top:`6px`,left:`0`,height:`${o()}px`,width:`100%`,"background-color":e.model.state.settings.guideStyle.pattern===`solid`?a():`transparent`,"background-image":s(),"background-size":c(),opacity:e.model.state.settings.guideStyle.opacity}}),({e,t},n)=>{e!==n?.e&&$(l,`style`,e,n?.e),t!==n?.t&&$(u,`style`,t,n?.t)}),l}}),null),J(()=>({e:`msr:absolute msr:inset-0 msr:select-none ${b()?`msr:pointer-events-auto ${y()?e.hoverGuide||e.model.state.draggingGuideId?`msr:cursor-default`:`msr:cursor-crosshair`:`msr:cursor-default`} msr:opacity-100`:`msr:pointer-events-none msr:opacity-0`}`,t:{"pointer-events":S()?`auto`:`none`}}),({e,t},n)=>{e!==n?.e&&$(G,`class`,e,n?.e),t!==n?.t&&$(G,`style`,t,n?.t)}),G}var Cu=18,wu=5,Tu=32,Eu=Array.from({length:801},(e,t)=>t*wu);function Du(e){let[t,n]=K(null),[r,i]=K(null),[a,o]=K(!1),s=null,c=()=>e.forceVisible||!e.settings.edgeReveal||a(),l=()=>e.guides.filter(t=>t.orientation===`vertical`&&e.selectedGuideIds.includes(t.id)),u=()=>e.guides.filter(t=>t.orientation===`horizontal`&&e.selectedGuideIds.includes(t.id)),d=t=>{if(!s||s.pointerId!==t.pointerId)return;t.stopPropagation();let r=s.orientation===`horizontal`?t.clientY:t.clientX;n(r),e.onMoveGuide(s.id,r)};Wt(()=>{let t=t=>{if(e.settings.edgeReveal){let n=t.clientX<=Tu||t.clientX>=e.ownerWindow.innerWidth-Tu,r=t.clientY<=Tu||t.clientY>=e.ownerWindow.innerHeight-Tu;o(n||r)}d(t)},n=t=>{if(!e.settings.edgeReveal)return;let n=t.clientX<=Tu||t.clientX>=e.ownerWindow.innerWidth-Tu,r=t.clientY<=Tu||t.clientY>=e.ownerWindow.innerHeight-Tu;o(n||r)};return e.ownerWindow.document.addEventListener(`pointermove`,t,!0),e.ownerWindow.document.addEventListener(`mousemove`,n,!0),()=>{e.ownerWindow.document.removeEventListener(`pointermove`,t,!0),e.ownerWindow.document.removeEventListener(`mousemove`,n,!0)}});let f=(t,r)=>{if(!e.interactive||r.button!==0)return;r.stopPropagation();let a=t===`horizontal`?r.clientY:r.clientX;n(a),i(t),s={orientation:t,pointerId:r.pointerId,id:e.onStartGuide(t,a)},ds(r.currentTarget,r.pointerId)},p=t=>{if(!s||s.pointerId!==t.pointerId)return;t.stopPropagation();let r=s,a=r.orientation===`horizontal`?t.clientY:t.clientX;t.currentTarget.hasPointerCapture(t.pointerId)&&t.currentTarget.releasePointerCapture(t.pointerId),s=null,n(null),i(null),e.onMoveGuide(r.id,a),e.onFinishGuide(r.id)},m=t=>{if(!s||s.pointerId!==t.pointerId)return;let r=s.id;s=null,n(null),i(null),e.onCancelGuide(r)};var h=X(`div`,{"aria-hidden":`true`,"data-mesurer-rulers":`true`,class:`msr:pointer-events-none msr:absolute msr:inset-0 msr:select-none msr:text-[9px] msr:text-[#64748b]`}),g=X(`div`,{class:`msr:absolute msr:left-[18px] msr:right-0 msr:top-0 msr:overflow-hidden msr:bg-white`,onPointerDown:e=>f(`horizontal`,e),onPointerUp:p,onPointerCancel:m}),_=X(`svg`,{class:`msr:block msr:h-6`,width:4e3,height:18,viewBox:`0 0 4000 18`}),v=X(`defs`),y=X(`linearGradient`,{id:`ruler-label-fade-x`,x1:`0%`,x2:`100%`}),b=X(`stop`,{offset:`0`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),x=X(`stop`,{offset:`0.2`,"stop-color":`var(--msr-surface, white)`}),S=X(`stop`,{offset:`0.8`,"stop-color":`var(--msr-surface, white)`}),C=X(`stop`,{offset:`1`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),w=X(`div`,{class:`msr:absolute msr:bottom-0 msr:left-0 msr:top-[18px] msr:w-[18px] msr:overflow-hidden msr:bg-white`,onPointerDown:e=>f(`vertical`,e),onPointerUp:p,onPointerCancel:m}),T=X(`svg`,{class:`msr:block msr:w-6`,width:18,height:4e3,viewBox:`0 0 18 4000`}),E=X(`defs`),D=X(`linearGradient`,{id:`ruler-label-fade-y`,y1:`0%`,y2:`100%`}),O=X(`stop`,{offset:`0`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),k=X(`stop`,{offset:`0.2`,"stop-color":`var(--msr-surface, white)`}),A=X(`stop`,{offset:`0.8`,"stop-color":`var(--msr-surface, white)`}),j=X(`stop`,{offset:`1`,"stop-color":`var(--msr-surface, white)`,"stop-opacity":`0`}),M=X(`div`,{class:`msr:absolute msr:left-0 msr:top-0 msr:size-[18px] msr:bg-white`});return Z(h,g),Z(h,w),Z(h,M),Z(g,_),Z(_,v),Z(v,y),Z(y,b),Z(y,x),Z(y,S),Z(y,C),Q(_,Y(Gr,{each:Eu,children:e=>{let t=e%100==0,n=e%50==0;var r=X(`g`);return Z(r,X(`line`,{x1:e,y1:18,x2:e,y2:t?8:n?13:17,stroke:`currentColor`,"stroke-width":`1`})),Q(r,Y(q,{when:t,get children(){var t=X(`text`,{x:e,y:`8`,"text-anchor":`middle`,fill:`currentColor`});return Q(t,e),t}}),null),r}}),null),Q(_,Y(Gr,{get each(){return l()},children:e=>(()=>{var t=X(`g`),n=X(`rect`,{y:`-1`,width:`48`,height:`12`,fill:`url(#ruler-label-fade-x)`}),r=X(`text`,{y:`8`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(t,n),Z(t,r),Q(r,()=>Math.round(e.position-Cu)),J(()=>({e:e.position-Cu-8,t:e.position-Cu+16}),({e,t},i)=>{e!==i?.e&&$(n,`x`,e,i?.e),t!==i?.t&&$(r,`x`,t,i?.t)}),t})()}),null),Q(_,Y(q,{get when(){return Ji(()=>r()===`vertical`)()&&t()!==null},get children(){var e=X(`g`),n=X(`rect`,{y:`-1`,width:`48`,height:`12`,fill:`url(#ruler-label-fade-x)`}),r=X(`text`,{y:`8`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(e,n),Z(e,r),Q(r,()=>Math.round(t()-Cu)),J(()=>({e:t()-Cu-8,t:t()-Cu+16}),({e,t},i)=>{e!==i?.e&&$(n,`x`,e,i?.e),t!==i?.t&&$(r,`x`,t,i?.t)}),e}}),null),Z(w,T),Z(T,E),Z(E,D),Z(D,O),Z(D,k),Z(D,A),Z(D,j),Q(T,Y(Gr,{each:Eu,children:e=>{let t=e%100==0,n=e%50==0;var r=X(`g`);return Z(r,X(`line`,{x1:18,y1:e,x2:t?8:n?13:17,y2:e,stroke:`currentColor`,"stroke-width":`1`})),Q(r,Y(q,{when:t,get children(){var t=X(`text`,{x:`8`,y:e+10,fill:`currentColor`,transform:`rotate(-90 8 ${e+10})`});return Q(t,e),t}}),null),r}}),null),Q(T,Y(Gr,{get each(){return u()},children:e=>(()=>{var t=X(`g`),n=X(`rect`,{x:`-3`,width:`24`,height:`48`,fill:`url(#ruler-label-fade-y)`}),r=X(`text`,{x:`9`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(t,n),Z(t,r),Q(r,()=>Math.round(e.position-Cu)),J(()=>({e:e.position-Cu-38,t:e.position-Cu-16,a:`rotate(-90 9 ${e.position-Cu-16})`}),({e,t,a:i},a)=>{e!==a?.e&&$(n,`y`,e,a?.e),t!==a?.t&&$(r,`y`,t,a?.t),i!==a?.a&&$(r,`transform`,i,a?.a)}),t})()}),null),Q(T,Y(q,{get when(){return Ji(()=>r()===`horizontal`)()&&t()!==null},get children(){var e=X(`g`),n=X(`rect`,{x:`-3`,width:`24`,height:`48`,fill:`url(#ruler-label-fade-y)`}),r=X(`text`,{x:`9`,"text-anchor":`middle`,fill:`#ef4444`,"font-weight":`600`});return Z(e,n),Z(e,r),Q(r,()=>Math.round(t()-Cu)),J(()=>({e:t()-Cu-38,t:t()-Cu-16,a:`rotate(-90 9 ${t()-Cu-16})`}),({e,t,a:i},a)=>{e!==a?.e&&$(n,`y`,e,a?.e),t!==a?.t&&$(r,`y`,t,a?.t),i!==a?.a&&$(r,`transform`,i,a?.a)}),e}}),null),J(()=>({e:{opacity:c()?e.settings.opacity:0,transition:`opacity 100ms ease`},t:{"box-shadow":`0 1px 3px rgba(0, 0, 0, 0.12)`,height:`18px`,cursor:`ns-resize`,"pointer-events":c()&&e.interactive?`auto`:`none`},a:{"box-shadow":`1px 0 3px rgba(0, 0, 0, 0.12)`,width:`18px`,cursor:`ew-resize`,"pointer-events":c()&&e.interactive?`auto`:`none`}}),({e,t,a:n},r)=>{e!==r?.e&&$(h,`style`,e,r?.e),t!==r?.t&&$(g,`style`,t,r?.t),n!==r?.a&&$(w,`style`,n,r?.a)}),h}var Ou=e=>Object.prototype.hasOwnProperty.call(e,`__codexWebMcpModelContext`),ku=new WeakSet,Au=e=>typeof e==`function`&&typeof e.prototype?.open==`function`,ju=e=>{ku.add(e)},Mu=e=>{if(Ou(e)||ku.has(e))return!1;let t=e.EyeDropper;return Au(t)},Nu=e=>Ra(e)||Mu(e),Pu={x:16,y:16},Fu={x:84,y:48},Iu=e=>e.process?.type===`renderer`||!!e.process?.versions?.electron||/\bElectron\/\d/i.test(e.navigator.userAgent),Lu=e=>{let t=e.navigator.platform||e.navigator.userAgent;return/^Mac/i.test(t)||/\bMacintosh\b/i.test(e.navigator.userAgent)},Ru=e=>Iu(e)&&Lu(e),zu={x:0,y:0,width:84,height:48},Bu=e=>{if(!Ru(e))return null;let t=e.__MESURER_HOST__?.windowControls;if(t)return t.visible?t.bounds??zu:null;let n=e.navigator.windowControlsOverlay;if(n?.visible){let e=n.getTitlebarAreaRect();if(e.x>0&&e.height>0)return{x:0,y:e.y,width:e.x,height:e.height}}return Number.isFinite(e.outerHeight)&&Number.isFinite(e.innerHeight)&&e.outerHeight-e.innerHeight>=24?null:zu},Vu=e=>Bu(e)?Fu:Pu,Hu=(e,t,n,r=0,i=0)=>{let a=Bu(e);return!a||a.width<=0||a.height<=0?t:t.x<a.x+a.width&&t.x+r>a.x&&t.y<a.y+a.height&&t.y+i>a.y?{...t,y:Math.max(n,a.y+a.height)}:t},Uu=(e,t)=>Hu(e,t??Vu(e),8,352,40),Wu=(e,t,n,r,i=8)=>{let a=i,o=Math.max(i,r.width-n.width-i),s=Math.max(a,r.height-n.height-i);return Hu(e,{x:Math.min(o,Math.max(i,t.x)),y:Math.min(s,Math.max(a,t.y))},i,n.width,n.height)},Gu=[`transform`,`translate`,`rotate`,`scale`,`opacity`,`filter`,`clip-path`,`width`,`height`,`top`,`left`,`content`],Ku=new WeakSet,qu=e=>e.split(/,(?![^()]*\))/).map(e=>e.trim()),Ju=(e,t)=>e[t%e.length]??``,Yu=e=>{let t=e.trim().match(/^(-?[\d.]+)(ms|s)$/i);if(!t)return 0;let n=Number.parseFloat(t[1]??`0`);return t[2]?.toLowerCase()===`s`?n*1e3:n},Xu=e=>[...new Set(e.filter(Boolean))],Zu=e=>!!(e&&`getKeyframes`in e&&`target`in e),Qu=e=>{let t=e?.effect??null;if(!Zu(t))return[];try{return t.getKeyframes()}catch{return[]}},$u=new Set([`offset`,`easing`,`composite`,`computedOffset`]),ed=e=>`animationName`in e?String(e.animationName??``):``,td=e=>`transitionProperty`in e?String(e.transitionProperty??``):``,nd=e=>`animationName`in e?`animation`:`transitionProperty`in e?`transition`:`web-animation`,rd=(e,t=sd(e))=>t.some(e=>{if(Ku.has(e)||ed(e)||td(e)||e.playState!==`running`)return!1;try{let t=e.effect?.getTiming(),n=t?.iterations;return!!(t&&n!==1/0)}catch{return!1}}),id=e=>e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),ad=e=>Xu(Qu(e).flatMap(e=>Object.keys(e)).filter(e=>!$u.has(e))),od=(e,t)=>Qu(e).map(e=>{let n=Object.entries(e).filter(([e])=>!$u.has(e)).map(([e,t])=>`${id(e)}: ${t};`);return e.easing&&e.easing!==`linear`&&n.push(`animation-timing-function: ${e.easing};`),e.composite&&e.composite!==`auto`&&e.composite!==`replace`&&n.push(`animation-composition: ${e.composite};`),{offset:`${Math.round(Number(e.computedOffset??e.offset??0)*1e4)/100}%`,value:n.join(` `),displayValue:n.filter(e=>e!==`animation-timing-function: ${t};`).map(e=>e.slice(0,-1).replace(/^animation-timing-function:/,`easing:`).replace(/^animation-composition:/,`composition:`)).join(`
|
|
2030
2030
|
`)}}),sd=e=>{let t=e=>{try{return e.getAnimations({subtree:!0})}catch{try{return e.getAnimations()}catch{return[]}}},n=new Set(t(e)),r=[e];for(let e=0;e<r.length&&e<128;e+=1){let i=r[e];if(!i)continue;let a=[...i.shadowRoot?.children??[]];for(let e of a)for(let r of t(e))n.add(r);r.push(...[...i.children,...a].slice(0,128-r.length))}return[...n]},cd=e=>sd(e).filter(t=>{let n=t.effect;return Zu(n)&&n.target===e}),ld=(e,t,n)=>e.filter(e=>ed(e)===t)[n]??null,ud=(e,t)=>t.filter(t=>{let n=t.effect;return!Zu(n)||(!n.target||n.target===e)&&!n.pseudoElement}),dd=(e,t)=>{let n=(e.ownerDocument.defaultView??t).getComputedStyle(e),r=ud(e,cd(e)),i=qu(n.animationName),a=qu(n.animationDuration),o=qu(n.animationDelay),s=qu(n.animationTimingFunction),c=qu(n.animationIterationCount),l=qu(n.animationDirection),u=qu(n.animationFillMode),d=i.map((e,t)=>{let n=i.slice(0,t).filter(t=>t===e).length,d=ld(r,e,n);return{kind:`animation`,name:e,duration:Yu(Ju(a,t)),delay:Yu(Ju(o,t)),easing:Ju(s,t),properties:ad(d),iterationCount:Ju(c,t),direction:Ju(l,t),fillMode:Ju(u,t),animation:d}}).filter(e=>e.name!==`none`),f=qu(n.transitionProperty),p=qu(n.transitionDuration),m=qu(n.transitionDelay),h=qu(n.transitionTimingFunction),g=r.filter(e=>!!td(e)),_=f.map((e,t)=>{let n=g.find(t=>td(t)===e)??(e===`all`?g[0]:null)??null;return{kind:`transition`,name:e,duration:Yu(Ju(p,t)),delay:Yu(Ju(m,t)),easing:Ju(h,t),properties:e===`all`?[`all`]:[e],iterationCount:`1`,direction:`normal`,fillMode:`both`,animation:n}}).filter(e=>e.name!==`none`&&e.duration>0&&e.animation!==null),v=new Set([...d,..._].map(e=>e.animation)),y=r.filter(e=>!v.has(e)).flatMap((e,t)=>{let n=null;try{n=e.effect?.getTiming()??null}catch{return[]}if(!n)return[];let r=ad(e),i=Number(n.duration);return[{kind:nd(e),name:ed(e)||td(e)||e.id||`js-${id(r[0]||`animation`)}-${t+1}`,duration:Number.isFinite(i)?i:0,delay:n.delay??0,easing:n.easing||`linear`,properties:r,iterationCount:n.iterations===1/0?`infinite`:String(n.iterations??1),direction:n.direction||`normal`,fillMode:n.fill===`auto`?`none`:n.fill||`none`,animation:e}]});return[...d,..._,...y]},fd=e=>{let t=Number.parseFloat(e.iterationCount);return Number.isFinite(t)?e.duration*Math.max(0,t):e.duration},pd=(e,t)=>{let n=e.effect?.getTiming(),r=Number(n?.duration);return Number.isFinite(r)?r*(n?.iterations===1/0?1:Math.max(0,n?.iterations??1)):t},md=(e,t)=>{let n=e.filter(e=>e.playState===`running`),r=(n.length?n:e).reduce((e,n)=>e?pd(n,t)>pd(e,t)?n:e:n,null);return{playing:n.length>0,progress:r?hd(r,t):0}},hd=(e,t)=>{let n=Number(e.currentTime);if(!Number.isFinite(n)||t<=0)return 0;let r=e.effect?.getTiming(),i=Math.max(0,n-(r?.delay??0)),a=r?.iterations===1/0&&(e.playState===`running`||i>t)?i%t:i;return Math.min(1,a/t)},gd=(e,t,n=1)=>{for(let r of sd(e)){if(Ku.add(r),r.playbackRate=n,t===`replay`){r.cancel(),r.play();continue}t===`play`?r.play():r.pause()}},_d=(e,t,n)=>{let r=Math.max(0,Math.min(1,t))*n;for(let t of e){Ku.add(t);let e=t.effect?.getTiming();t.currentTime=(e?.iterations===1/0?r:Math.min(r,pd(t,n)))+(e?.delay??0),t.pause()}},vd=e=>[...e.matchAll(/var\(\s*(--[\w-]+)/g)].map(([,e])=>e),yd=e=>`media`in e?e.media?.mediaText??``:``,bd=e=>`styleSheet`in e?e.styleSheet:null,xd=e=>`cssRules`in e?e.cssRules:null,Sd=e=>`style`in e?e.style:null,Cd=e=>`name`in e?e.name:``,wd=e=>{if(`selectorText`in e)return e.selectorText};function Td(e){let t=new WeakMap,n=new WeakSet,r=new WeakMap,i=new Map,a=-1/0,o=t=>!t||!e?.defaultView?.matchMedia||e.defaultView.matchMedia(t).matches,s=e=>[...e.styleSheets??[],...e.adoptedStyleSheets??[]],c=e=>{let t=new Set,n=e=>{if(t.has(e))return``;t.add(e);try{let t=(e,r=!0)=>[...e].map(e=>{let i=bd(e),a=xd(e),s=yd(e);return[r?e.cssText:``,o(s),i?n(i):a?t(a,!1):``].join(`:`)}).join(`
|
|
2031
2031
|
`);return[e.disabled,o(e.media?.mediaText),t(e.cssRules)].join(`:`)}catch{return[e.disabled,o(e.media?.mediaText),`opaque`].join(`:`)}};return e.map(n).join(`
|
|
2032
2032
|
`)},l=()=>{t=new WeakMap,n=new WeakSet,r=new WeakMap},u=(e,t,n)=>{for(let r of e){let e=yd(r);if(!o(e))continue;let i=bd(r);i&&!i.disabled&&o(i.media?.mediaText)&&u(i.cssRules,t);let a=Sd(r);if(a){let e=new Map;for(let t of Gu){let n=vd(a.getPropertyValue(t));n.length&&e.set(t,n)}e.size&&t.push({selector:wd(r),animation:n,properties:e})}let s=xd(r);s&&u(s,t,Cd(r)||n)}};return{invalidate:l,refresh(e){if(e-a<1e3)return!1;a=e;let t=!1;for(let[e,n]of i){let r=s(e),a=c(r);(a!==n.signature||r.length!==n.sheets.length||r.some((e,t)=>e!==n.sheets[t]))&&(i.set(e,{sheets:r,signature:a}),t=!0)}return t&&l(),t},hasOpaqueStyles(e){let t=e.getRootNode();return n.has(t)},forElement(e,a){let l=e.getRootNode(),d=t.get(l);if(!d){d=[];let e=s(l);i.has(l)||i.set(l,{sheets:e,signature:c(e)});for(let t of e)if(!(t.disabled||!o(t.media?.mediaText)))try{u(t.cssRules,d)}catch{n.add(l)}t.set(l,d)}let f=r.get(e);if(f?.names===a)return f.properties;let p=new Map;for(let t of d){let n=!!(t.animation&&a.split(`,`).some(e=>e.trim()===t.animation));if(t.selector)try{n=e.matches(t.selector.replace(/::(?:before|after)\b/g,``))}catch{continue}if(n)for(let[e,n]of t.properties)p.set(e,[...p.get(e)??[],...n])}return r.set(e,{names:a,properties:p}),p}}}var Ed=new WeakMap,Dd=e=>!!(e&&`getKeyframes`in e&&`target`in e),Od=e=>`animationName`in e?String(e.animationName??``):``,kd=e=>{let t=e.getRootNode();if(!(`host`in t))return null;let n=t.host;return n instanceof Element?n:null},Ad=e=>`style`in e?e.style:null,jd=e=>e.MutationObserver,Md=e=>{let t=Ed.get(e)?.filter(t=>t.element===e&&t.element.isConnected);return t?.length?t:rd(e,cd(e))?[{element:e,properties:[`animation`]}]:[]};function Nd(e,t=128){let n=[e];for(let e=0;e<n.length&&n.length<t;e+=1){let r=n[e];r&&n.push(...[...r.children,...r.shadowRoot?.children??[]].slice(0,t-n.length))}return n}function Pd(e,t,n){let r=0,i=-1/0,a=0,o=!1,s=!0,c=new WeakMap,l=Td(e.ownerDocument),u=e.ownerDocument.createElement(`span`).style,d=Md(e);d.length&&Ed.set(e,d);let f=new Map(d.map(e=>[e.element,new Set(e.properties)])),p=[],m=new WeakSet,h=jd(t),g=()=>{if(o)return;let t=[...f].map(([e,t])=>({element:e,properties:[...t]}));Ed.set(e,t),n(t)},_=s=>{if(r=0,!o){if(!e.isConnected){Ed.delete(e),f.size&&(f.clear(),n([]));return}if(s-i>=100){i=s,l.refresh(s);let n=new Map,r=new Map,a=sd(e);for(let e of a)try{let t=e.effect;if(!Dd(t)||!t.target)continue;let i=Od(e);i&&r.set(t.target,[...r.get(t.target)??[],i]);let a=n.get(t.target)??new Set;for(let e of t.getKeyframes())for(let t of Object.keys(e))a.add(id(t));n.set(t.target,a)}catch{}let o=!1;rd(e,cd(e))&&!f.has(e)&&(f.set(e,new Set([`animation`])),o=!0);let u=Nd(e);for(let e of f.keys())u.includes(e)||(f.delete(e),o=!0);for(let e of u){e.shadowRoot&&y(e.shadowRoot);try{let i=t.getComputedStyle(e),a=Gu.map(e=>i.getPropertyValue(e)),s=Ad(e),u=l.forElement(e,[i.animationName??``,...r.get(e)??[]].join(`,`)),d=new Set(n.get(e)??[]),p=new Set,m=Gu.map(e=>s?.getPropertyValue(e)??``),h=Gu.map(t=>{let r=s?.getPropertyValue(t)??``,a=[...vd(r),...u.get(t)??[]];return a.length>0&&a.every(t=>{let r=e;for(;r;){if(n.get(r)?.has(t))return!0;r=r.parentElement??kd(r)}return!1})&&(d.add(t),p.add(t)),JSON.stringify([r,...a.map(e=>i.getPropertyValue(e))])}),g=c.get(e),_=f.get(e)??new Set;g&&Gu.forEach((t,n)=>{let r=m[n]!==g.declarations[n]||h[n]!==g.inputs[n]&&!p.has(t)&&!g.nativeInputs.has(t),i=a[n]!==g.values[n]&&!d.has(t)&&!g.covered.has(t);(r||i)&&!_.has(t)&&(_.add(t),f.set(e,_),o=!0)}),c.set(e,{values:a,inputs:h,declarations:m,nativeInputs:p,covered:d})}catch{}}o&&g()}s<a&&(r=t.requestAnimationFrame(_))}},v=()=>{o||(t.performance.now()>a&&(s=!0),a=t.performance.now()+1500,r||=t.requestAnimationFrame(_))},y=(n,a=!0)=>{if(!(!h||m.has(n)))try{let o=new h((n=[])=>{if(n.some(e=>e.type===`attributes`&&e.attributeName===`class`)&&l.invalidate(),n.some(e=>e.type===`childList`||e.type===`characterData`)){let t=f.get(e)??new Set;t.has(`content`)||(t.add(`content`),f.set(e,t),g())}if(l.hasOpaqueStyles(e)&&n.some(e=>{if(e.type!==`attributes`||e.attributeName!==`style`||!(e.target instanceof Element))return!1;let t=Ad(e.target);return t?u?(u.cssText=e.oldValue??``,[...new Set([...t,...u])].some(e=>e.startsWith(`--`)&&t.getPropertyValue(e)!==u.getPropertyValue(e))):/(^|;)\s*--/.test(`${e.oldValue??``};${t.cssText}`):!1})){let t=f.get(e)??new Set;t.has(`style`)||(t.add(`style`),f.set(e,t),g())}s&&n.some(e=>e.type===`attributes`&&e.attributeName===`style`)&&(s=!1,t.cancelAnimationFrame(r),i=-1/0,_(t.performance.now())),v()});o.observe(n,{subtree:a,childList:a,characterData:a,attributes:!0,attributeOldValue:!0,attributeFilter:[`style`,`class`,`transform`,`opacity`]}),m.add(n),p.push(o)}catch{}};y(e);let b=e.parentElement??kd(e);for(;b;)y(b,!1),b=b.parentElement??kd(b);if(h&&e.ownerDocument.head){let t=new h(()=>{l.invalidate(),v()});t.observe(e.ownerDocument.head,{subtree:!0,childList:!0,characterData:!0}),p.push(t)}_(t.performance.now()),v();let x=t.setInterval(()=>{l.refresh(t.performance.now())&&v()},1e3);return()=>{o=!0,Ed.delete(e);for(let e of p)e.disconnect();t.clearInterval(x),t.cancelAnimationFrame(r)}}var Fd=`mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]`;function Id(){return X(`span`,{"aria-hidden":`true`,class:`msr:pointer-events-none msr:absolute msr:right-2 msr:top-1/2 msr:size-1.5 msr:-translate-y-1/2 msr:rotate-45 msr:border-r msr:border-b msr:border-ink-500`})}function Ld(e){let t=()=>e.variant!==`legacy`;var n=X(`div`),r=X(`div`);return Z(n,r),Q(r,()=>e.left),Q(n,(()=>{var n=Ji(()=>!!e.right);return()=>n()?(()=>{var n=X(`div`);return Q(n,()=>e.right),J(()=>`mesurer-control-focus msr:box-border msr:flex msr:h-full msr:w-12 msr:shrink-0 msr:items-center msr:border-l msr:focus-within:rounded-r-[5px] msr:focus-within:outline msr:focus-within:outline-1 msr:focus-within:outline-offset-[-1px] ${t()?`msr:border-ink-200 msr:focus-within:outline-[var(--msr-accent)]`:`msr:border-transparent msr:group-hover:border-ink-200 msr:focus-within:outline-[#0d99ff]`}`,(e,t)=>{$(n,`class`,e,t)}),n})():null})(),null),J(()=>({e:`mesurer-control-shell msr:group msr:flex msr:h-6 msr:w-full msr:min-w-0 msr:items-center msr:overflow-hidden msr:border msr:border-transparent msr:bg-ink-50 msr:hover:border-ink-200 ${t()?`msr:rounded-control`:`msr:rounded-[5px]`}`,t:`mesurer-control-focus msr:flex msr:h-full msr:min-w-0 msr:flex-1 msr:items-center msr:focus-within:rounded-l-[5px] msr:focus-within:outline msr:focus-within:outline-1 msr:focus-within:outline-offset-[-1px] ${t()?`msr:focus-within:outline-[var(--msr-accent)]`:`msr:focus-within:outline-[#0d99ff]`}`}),({e,t},i)=>{e!==i?.e&&$(n,`class`,e,i?.e),t!==i?.t&&$(r,`class`,t,i?.t)}),n}function Rd(e){let t=()=>e.variant!==`legacy`,n=()=>{let t=Ea(e.value);if(t)return t;let n=e.ownerWindow.document.createElement(`canvas`).getContext(`2d`);return n?(n.fillStyle=e.value,Ea(String(n.fillStyle))??Ea(e.fallback)):Ea(e.fallback)},r=()=>{let e=n();return e?Oa({...e,alpha:1}).slice(1).toUpperCase():`000000`},i=()=>{let e=n();return e?Math.round(e.alpha*100):100},a=()=>`#${r().slice(0,6)}`,o=()=>e.ownerWindow.CSS?.supports(`color`,e.value)===!0,s=()=>o()?e.value:e.fallback,[c,l]=K(``),[u,d]=K(``),[f,p]=K(!1),[m,h]=K(!1),g=(t,n)=>{if(!/^[\da-f]{6}$/i.test(t))return;let r=Ea(`#${t}`);r&&e.onChange(Oa({...r,alpha:Math.min(100,Math.max(0,n))/100}))},_=n=>{if(t()){g(n.slice(1),i());return}e.onChange(n)},v=()=>t()?`msr:col-span-2 msr:grid msr:h-8 msr:w-full ${e.columns??`msr:grid-cols-[78px_150px]`} msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700`:`msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700`;var y=X(`div`),b=X(`span`);return Z(y,b),Q(b,()=>e.label),Q(y,Y(Ld,{get variant(){return e.variant},get left(){return[(()=>{var t=X(`span`,{class:`msr:relative msr:ml-1 msr:block msr:size-4 msr:shrink-0 msr:overflow-hidden msr:rounded-[3px] msr:border msr:border-black/10`}),n=X(`input`,{type:`color`,class:`msr:absolute msr:inset-0 msr:size-full msr:cursor-pointer msr:opacity-0`,onInput:e=>_(e.currentTarget.value),onChange:e=>_(e.currentTarget.value)});return Z(t,n),J(()=>({e:{"background-color":s()},t:`${e.label} color picker`,a:a()}),({e,t:r,a:i},a)=>{e!==a?.e&&$(t,`style`,e,a?.e),r!==a?.t&&$(n,`aria-label`,r,a?.t),i!==a?.a&&$(n,`value`,i,a?.a)}),t})(),(()=>{var n=X(`input`,{type:`text`,class:`msr:min-w-0 msr:flex-1 msr:bg-transparent msr:px-2 msr:font-mono msr:text-[12px] msr:tabular-nums msr:text-ink-700 msr:outline-none`,onFocus:()=>{l(r()),p(!0)},onBlur:()=>p(!1),onInput:e=>{let t=e.currentTarget.value.replace(/[^\da-f]/gi,``).slice(0,6).toUpperCase();l(t),g(t,m()?Number(u()):i())},onPointerDown:e=>e.stopPropagation(),onClick:e=>{t()&&e.stopPropagation()}});return J(()=>({e:`${e.label} hex value`,t:f()?c():r(),a:t()?7:6}),({e,t,a:r},i)=>{e!==i?.e&&$(n,`aria-label`,e,i?.e),t!==i?.t&&$(n,`value`,t,i?.t),r!==i?.a&&$(n,`maxlength`,r,i?.a)}),n})()]},get right(){var n=X(`input`,{type:`text`,inputmode:`numeric`,maxlength:4,onFocus:()=>{d(String(i())),h(!0)},onBlur:()=>h(!1),onInput:e=>{let t=e.currentTarget.value.replace(/\D/g,``).slice(0,3);d(t);let n=Number(t);Number.isFinite(n)&&g(f()?c():r(),n)},onKeyDown:e=>{if(!t()||e.key!==`ArrowUp`&&e.key!==`ArrowDown`)return;e.preventDefault(),e.stopPropagation();let n=Number.parseInt(m()?u():String(i()),10),a=e.key===`ArrowUp`?1:-1,o=Math.min(100,Math.max(0,(Number.isFinite(n)?n:0)+a));d(String(o)),g(f()?c():r(),o)},onPointerDown:e=>e.stopPropagation(),onClick:e=>{t()&&e.stopPropagation()}});return J(()=>({e:`${e.label} opacity value`,t:m()?t()?u()?`${u()}%`:``:`${u()}%`:`${i()}%`,a:`msr:h-full msr:w-full msr:bg-transparent msr:px-1 msr:font-mono msr:text-[12px] msr:tabular-nums msr:text-ink-700 msr:outline-none ${t()?`msr:rounded-none msr:border-0 msr:text-left`:`msr:text-center`}`}),({e,t,a:r},i)=>{e!==i?.e&&$(n,`aria-label`,e,i?.e),t!==i?.t&&$(n,`value`,t,i?.t),r!==i?.a&&$(n,`class`,r,i?.a)}),n}}),null),J(()=>v(),(e,t)=>{$(y,`class`,e,t)}),y}function zd(e,t,n,r=12){let i=Math.min(1,Math.max(1,t-r*2)/Math.max(1,e.width),Math.max(1,n-r*2)/Math.max(1,e.height));return{scale:i,left:(t-e.width*i)/2-e.left*i,top:(n-e.height*i)/2-e.top*i}}function Bd(e,t,n){let r=n.ownerDocument,i=[],a=new Map,o=new WeakMap,s=new WeakMap,c=[],l=(e,t)=>{for(let n of e){let r=e.getPropertyValue(n);/\burl\(/i.test(r)&&!n.startsWith(`background`)||t.setProperty(n,r)}t.setProperty(`animation`,`none`,`important`),t.setProperty(`transition`,`none`,`important`),t.setProperty(`pointer-events`,`none`,`important`)},u=e=>{if(e.nodeType===3){let t=o.get(e)??r.createTextNode(``);return t.textContent!==e.textContent&&(t.textContent=e.textContent),o.set(e,t),t}if(e.nodeType!==1||i.length>=128)return null;let n=e;if([`SCRIPT`,`STYLE`,`LINK`,`IFRAME`,`OBJECT`,`EMBED`,`SOURCE`,`TRACK`].includes(n.tagName))return null;let u=o.get(e);if(u){for(let t of s.get(e)??[])t.pseudo?c.push({pair:t,css:`[data-motion-snapshot="${u.dataset.motionSnapshot}"]${t.pseudo}{${t.style.cssText}}`}):i.push(t);return f(n,u),u}let p=[`IMG`,`VIDEO`,`CANVAS`].includes(n.tagName),m=p?`canvas`:n.localName.includes(`-`)||n.localName===`slot`?`div`:n.localName,h=r.createElementNS(p?`http://www.w3.org/1999/xhtml`:n.namespaceURI,m);if(n.namespaceURI===`http://www.w3.org/2000/svg`)for(let e of n.attributes)/^(on|href|src)|:href$/i.test(e.name)||h.setAttribute(e.name,e.value);let g;try{g=t.getComputedStyle(n)}catch{return null}l(g,h.style),h.setAttribute(`tabindex`,`-1`),h.dataset.motionSnapshot=String(d++);let _=[{source:n,copy:h,style:h.style,pseudo:null}];if(i.push(..._),o.set(e,h),s.set(e,_),p){let e=h;e.width=Math.min(1024,n.clientWidth||1),e.height=Math.min(1024,n.clientHeight||1);let t=()=>{try{let t=e.getContext(`2d`),r=n,i=r.naturalWidth||n.videoWidth||n.width||e.width,a=r.naturalHeight||n.videoHeight||n.height||e.height,o=g.objectFit===`cover`?Math.max(e.width/i,e.height/a):g.objectFit===`contain`?Math.min(e.width/i,e.height/a):null,s=o?i*o:e.width,c=o?a*o:e.height;t?.drawImage(n,(e.width-s)/2,(e.height-c)/2,s,c)}catch{}};t(),n.addEventListener(`load`,t),n.addEventListener(`loadeddata`,t),a.set(n,()=>{n.removeEventListener(`load`,t),n.removeEventListener(`loadeddata`,t)})}else f(n,h);for(let e of[`::before`,`::after`]){let i;try{i=t.getComputedStyle(n,e)}catch{continue}if(!i.content||i.content===`none`||i.content===`normal`)continue;let a=r.createElement(`span`).style;l(i,a);let o={source:n,copy:h,style:a,pseudo:e};_.push(o),c.push({pair:o,css:`[data-motion-snapshot="${h.dataset.motionSnapshot}"]${e}{${a.cssText}}`})}return h},d=0;function f(e,t){if([`IMG`,`VIDEO`,`CANVAS`].includes(e.tagName))return;let n=e,r=e.localName===`slot`?n.assignedNodes({flatten:!0}):[],i=(r.length?r:[...e.shadowRoot?.childNodes??e.childNodes]).map(u).filter(e=>!!e);for(i.forEach((e,n)=>{t.childNodes[n]!==e&&t.insertBefore(e,t.childNodes[n]??null)});t.childNodes.length>i.length;)t.lastChild?.remove()}let p=u(e);if(!p)return null;let m=r.createElement(`style`);n.append(m);let h=()=>{m.textContent=c.map(({css:e})=>e).join(`
|
|
@@ -2147,6 +2147,6 @@ body:has([data-mesurer-text-editor="true"]) [data-mesurer-hover-measurement="tru
|
|
|
2147
2147
|
position: absolute !important;
|
|
2148
2148
|
z-index: ${rb} !important;
|
|
2149
2149
|
}
|
|
2150
|
-
`,t.head.append(s),i.append(a);let c=!1;return{element:a,dispose(){c||(c=!0,o(),s.remove(),a.remove())}}}var ab=e=>`color-mix(in srgb, ${e.color} ${e.opacity*100}%, transparent)`,ob=e=>e===`max`?`end`:e===`center`?`center`:`start`,sb=e=>{let t=e.kind===`columns`,n=e.align===`stretch`,r=n?`repeat(${e.count}, minmax(0, 1fr))`:`repeat(${e.count}, ${e.size}px)`,i=ob(e.align);return{position:`absolute`,inset:`0`,display:`grid`,...t?{"grid-template-columns":r,"column-gap":`${e.gutter}px`,"justify-content":n?void 0:i,"padding-left":n||e.align===`min`?`${e.offset}px`:`0`,"padding-right":n||e.align===`max`?`${e.offset}px`:`0`}:{"grid-template-rows":r,"row-gap":`${e.gutter}px`,"align-content":n?void 0:i,"padding-top":n||e.align===`min`?`${e.offset}px`:`0`,"padding-bottom":n||e.align===`max`?`${e.offset}px`:`0`},transform:e.align===`center`?t?`translateX(${e.offset}px)`:`translateY(${e.offset}px)`:void 0}};function cb(e){let t=()=>e.guides.filter(e=>e.visible);return Y(q,{get when(){return t().length>0},get children(){var e=X(`div`,{"data-mesurer-layout-guides":`true`,"data-mesurer-layer":`evidence`,class:`msr:pointer-events-none msr:absolute msr:inset-0 msr:overflow-hidden`,style:{"z-index":`2`},"aria-hidden":`true`});return Q(e,Y(Gr,{get each(){return t()},children:e=>Y(q,{get when(){return e.kind===`grid`},get fallback(){var t=X(`div`,{class:`msr:pointer-events-none msr:absolute msr:inset-0`});return Q(t,Y(Gr,{get each(){return Array.from({length:e.count})},children:()=>(()=>{var t=X(`div`,{"data-mesurer-layout-band":`true`});return J(()=>({"min-width":`0`,"min-height":`0`,width:`100%`,height:`100%`,"background-color":ab(e)}),(e,n)=>{$(t,`style`,e,n)}),t})()})),J(()=>({e:e.id,t:e.kind,a:sb(e)}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`data-mesurer-layout-guide`,e,i?.e),n!==i?.t&&$(t,`data-mesurer-layout-guide-kind`,n,i?.t),r!==i?.a&&$(t,`style`,r,i?.a)}),t},get children(){var t=X(`div`,{"data-mesurer-layout-guide-kind":`grid`,class:`msr:pointer-events-none msr:absolute msr:inset-0`});return J(()=>({e:e.id,t:{"background-image":`linear-gradient(to right, ${ab(e)} 1px, transparent 1px), linear-gradient(to bottom, ${ab(e)} 1px, transparent 1px)`,"background-size":`${e.size}px ${e.size}px`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`data-mesurer-layout-guide`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t}})})),e}})}var lb=`#FF0000`,ub=.1,db=new Set([`columns`,`rows`,`grid`]),fb=new Set([`stretch`,`min`,`center`,`max`]),pb=(e,t,n)=>Math.min(n,Math.max(t,e)),mb=(e,t)=>e!==void 0&&Number.isFinite(e)?e:t,hb=(e={})=>{let t=e.kind&&db.has(e.kind)?e.kind:`columns`,n=e.align&&fb.has(e.align)?e.align:t===`grid`?`min`:`stretch`,r=e.id?.trim(),i=e.color?.trim();return{id:r||jo(),kind:t,visible:e.visible??!0,color:i||`#FF0000`,opacity:pb(mb(e.opacity,ub),0,1),count:pb(Math.round(mb(e.count,5)),1,24),size:pb(mb(e.size,72),1,4096),gutter:pb(mb(e.gutter,20),0,800),offset:pb(mb(e.offset,0),0,4096),align:n}},gb=e=>(e??[]).map(hb),_b=e=>{if(e.kind===`grid`)return`Grid ${Math.round(e.size)}px`;let t=e.kind===`columns`?`columns`:`rows`;return e.align===`stretch`?`${e.count} ${t}`:`${e.count} ${t} (${Math.round(e.size)}px)`},vb=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,class:`msr:block`});return Z(t,X(`path`,{d:`m6 6 12 12M18 6 6 18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})),J(()=>({e:e.size??14,t:e.size??14}),({e,t:n},r)=>{e!==r?.e&&$(t,`width`,e,r?.e),n!==r?.t&&$(t,`height`,n,r?.t)}),t})(),yb=e=>e.kind===`rows`?Y(bf,{size:14}):e.kind===`grid`?Y(vf,{size:14}):Y(yf,{size:14}),bb=`msr:grid-cols-[78px_minmax(0,1fr)]`,xb=e=>(()=>{var t=X(`label`,{class:`msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700`}),n=X(`span`);return Z(t,n),Q(n,()=>e.label),Q(t,()=>e.children,null),t})(),Sb=e=>(()=>{var t=X(`span`,{class:`msr:relative msr:block msr:w-full`}),n=X(`select`,{class:Fd,onPointerDown:e=>e.stopPropagation(),onChange:t=>e.onChange(t.currentTarget.value)});return Z(t,n),Q(n,()=>e.children),Q(t,Y(Id,{}),null),J(()=>({e:e.label,t:e.value}),({e,t},r)=>{e!==r?.e&&$(n,`aria-label`,e,r?.e),t!==r?.t&&$(n,`value`,t,r?.t)}),t})(),Cb=e=>{let[t,n]=K(!1),[r,i]=K(String(e.value)),a=()=>e.min??0,o=()=>e.max??9999,s=e=>Math.min(o(),Math.max(a(),e)),c=t=>{let n=Number(t.replace(/[^\d.-]/g,``));if(!Number.isFinite(n)){i(String(e.value));return}e.onChange(s(n))};return Y(Ld,{get left(){var a=X(`input`,{type:`text`,inputmode:`numeric`,class:`msr:h-full msr:w-full msr:min-w-0 msr:border-0 msr:bg-transparent msr:px-2 msr:font-mono msr:text-[12px] msr:font-medium msr:tabular-nums msr:text-ink-700 msr:outline-none`,onFocus:()=>{i(String(e.value)),n(!0)},onBlur:()=>{c(r()),n(!1)},onInput:t=>{let n=t.currentTarget.value.replace(/[^\d.-]/g,``);i(n);let r=Number(n);Number.isFinite(r)&&e.onChange(s(r))},onKeyDown:t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=Number(r()),a=Number.isFinite(n)?n:e.value,o=s(a+(t.key===`ArrowUp`?1:-1));i(String(o)),e.onChange(o)},onPointerDown:e=>e.stopPropagation()});return J(()=>({e:e.label,t:t()?r():String(e.value)}),({e,t},n)=>{e!==n?.e&&$(a,`aria-label`,e,n?.e),t!==n?.t&&$(a,`value`,t,n?.t)}),a}})},wb=e=>e===`rows`||e===`grid`?e:`columns`,Tb=e=>e===`min`||e===`center`||e===`max`?e:`stretch`,Eb=e=>{let t=zr(()=>e.guide.kind===`rows`?{stretch:`Stretch`,min:`Top`,center:`Center`,max:`Bottom`}:{stretch:`Stretch`,min:`Left`,center:`Center`,max:`Right`}),n=zr(()=>e.guide.kind===`rows`?`Height`:e.guide.kind===`grid`?`Size`:`Width`);var r=X(`div`,{class:`mesurer-thin-scrollbar msr:flex msr:min-h-0 msr:flex-1 msr:flex-col msr:gap-2 msr:overflow-y-auto msr:p-3`}),i=X(`div`,{class:`msr:flex msr:items-center msr:justify-between msr:gap-2`}),a=X(`button`,{type:`button`,"aria-label":`Back to layout guides`,class:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900`});return Z(r,i),Z(i,a),Q(i,Y(Sb,{label:`Layout guide type`,get value(){return e.guide.kind},onChange:t=>{let n=wb(t);e.onUpdate({kind:n,align:n===`grid`?`min`:e.guide.align===`stretch`||n===e.guide.kind?e.guide.align:`stretch`})},get children(){return[(()=>{var e=X(`option`,{value:`columns`});return Z(e,Yi(`Columns`)),e})(),(()=>{var e=X(`option`,{value:`rows`});return Z(e,Yi(`Rows`)),e})(),(()=>{var e=X(`option`,{value:`grid`});return Z(e,Yi(`Grid`)),e})()]}}),a),Q(a,Y(vb,{})),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(xb,{label:`Count`,get children(){return Y(Cb,{label:`Count`,get value(){return e.guide.count},min:1,max:24,onChange:t=>e.onUpdate({count:t})})}})}}),null),Q(r,Y(Rd,{label:`Color`,columns:bb,get value(){return Oa({...Ea(e.guide.color)??Ea(`#FF0000`),alpha:e.guide.opacity})},fallback:lb,get ownerWindow(){return e.ownerWindow},onChange:t=>{let n=Ea(t);e.onUpdate({color:n?Oa({...n,alpha:1}).slice(0,7):t,opacity:n?.alpha??e.guide.opacity})}}),null),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(xb,{label:`Type`,get children(){return Y(Sb,{label:`Alignment`,get value(){return e.guide.align},onChange:t=>e.onUpdate({align:Tb(t)}),get children(){return Y(Gr,{each:[`stretch`,`min`,`center`,`max`],children:e=>(()=>{var n=X(`option`,{value:e});return Q(n,()=>t()[e]),n})()})}})}})}}),null),Q(r,Y(q,{get when(){return e.guide.kind===`grid`||e.guide.align!==`stretch`},get children(){return Y(xb,{get label(){return n()},get children(){return Y(Cb,{get label(){return n()},get value(){return e.guide.size},min:1,max:4096,onChange:t=>e.onUpdate({size:t})})}})}}),null),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return[Y(xb,{label:`Offset`,get children(){return Y(Cb,{label:`Offset`,get value(){return e.guide.offset},min:0,max:4096,onChange:t=>e.onUpdate({offset:t})})}}),Y(xb,{label:`Gutter`,get children(){return Y(Cb,{label:`Gutter`,get value(){return e.guide.gutter},min:0,max:800,onChange:t=>e.onUpdate({gutter:t})})}})]}}),null),J(()=>e.onBack,(e,t)=>{$(a,`onClick`,e,t)}),r};function Db(e){let[t,n]=K(null),r=zr(()=>e.guides.find(e=>e.id===t())??null);var i=X(`div`,{"data-mesurer-layout-guides-panel":`true`,role:`dialog`,"aria-label":`Layout guides`,class:`mesurer-menu-surface msr:pointer-events-auto msr:flex msr:max-h-[min(320px,calc(100vh-16px))] msr:w-60 msr:flex-col msr:overflow-hidden msr:rounded-lg msr:bg-white msr:p-0 msr:text-[12px] msr:leading-[18px]`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()});return Q(i,Y(q,{get when(){return r()},get fallback(){var t=X(`div`,{class:`msr:flex msr:min-h-0 msr:flex-1 msr:flex-col msr:gap-1 msr:p-2`}),r=X(`div`,{class:`msr:flex msr:h-7 msr:shrink-0 msr:items-center msr:justify-between msr:px-1`}),i=X(`h2`,{class:`msr:text-[11px] msr:font-semibold msr:text-ink-700`}),a=X(`button`,{type:`button`,"aria-label":`Add layout guide`,class:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900`});return Z(t,r),Z(r,i),Z(r,a),Z(i,Yi(`Layout guides`)),Q(a,Y(xf,{})),Q(t,Y(q,{get when(){return e.guides.length>0},get fallback(){var e=X(`p`,{class:`msr:px-1 msr:pb-2 msr:text-[11px] msr:text-ink-500`});return Z(e,Yi(`Add columns, rows, or a pixel grid on the page.`)),e},get children(){var t=X(`ul`,{class:`mesurer-thin-scrollbar msr:m-0 msr:flex msr:min-h-0 msr:flex-1 msr:list-none msr:flex-col msr:gap-0.5 msr:overflow-y-auto msr:p-0`});return Q(t,Y(Gr,{get each(){return e.guides},children:t=>(()=>{var r=X(`li`,{class:`msr:flex msr:items-center msr:gap-0.5`}),i=X(`button`,{type:`button`,class:`msr:flex msr:min-w-0 msr:flex-1 msr:items-center msr:gap-2 msr:rounded-control msr:px-1 msr:py-1 msr:text-left msr:text-[11px] msr:text-ink-700 msr:outline-none msr:hover:bg-ink-100`,onClick:()=>n(t.id)}),a=X(`span`,{class:`msr:flex msr:h-[19px] msr:items-start msr:text-ink-500`}),o=X(`span`,{class:`msr:min-w-0 msr:flex-1 msr:truncate`}),s=X(`button`,{type:`button`,onClick:()=>e.onUpdate(t.id,{visible:!t.visible})}),c=X(`button`,{type:`button`,class:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900`,onClick:()=>e.onRemove(t.id)});return Z(r,i),Z(r,s),Z(r,c),Z(i,a),Z(i,o),Q(a,Y(yb,{get kind(){return t.kind}})),Q(o,()=>_b(t)),Q(i,Y(df,{size:8,class:`msr:block msr:-rotate-90 msr:text-ink-400`}),null),Q(s,(()=>{var e=Ji(()=>!!t.visible);return()=>e()?Y(Sf,{}):Y(Cf,{})})()),Q(c,Y(pf,{size:10,class:`msr:block`})),J(()=>({e:t.visible?`Hide ${_b(t)}`:`Show ${_b(t)}`,t:t.visible?`true`:`false`,a:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible?`msr:text-ink-700`:`msr:text-ink-400`}`,o:`Remove ${_b(t)}`}),({e,t,a:n,o:r},i)=>{e!==i?.e&&$(s,`aria-label`,e,i?.e),t!==i?.t&&$(s,`aria-pressed`,t,i?.t),n!==i?.a&&$(s,`class`,n,i?.a),r!==i?.o&&$(c,`aria-label`,r,i?.o)}),r})()})),t}}),null),J(()=>e.onAdd,(e,t)=>{$(a,`onClick`,e,t)}),t},children:t=>Y(Eb,{get guide(){return t()},get ownerWindow(){return e.ownerWindow},onBack:()=>n(null),onUpdate:n=>e.onUpdate(t().id,n)})})),i}var Ob=`mesurer.layout-guides`,kb=`layout-guides:v1`,Ab=`mesurer.layout-guides.pages`,jb=`mesurer.layout-guides.active`,Mb=`runtime:solid`,Nb=`layout-guides.toggle`,Pb=`layout-guides.add`,Fb=`layout-guides.update`,Ib=`layout-guides.remove`,Lb=`layout-guides.clear`,Rb=240,zb=8,Bb=8,Vb=()=>({pages:{}}),Hb=(e,t)=>e.pages[t]??[],Ub=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Wb=e=>typeof e==`string`,Gb=e=>typeof e==`boolean`,Kb=e=>typeof e==`number`,qb=e=>e===`columns`||e===`rows`||e===`grid`,Jb=e=>e===`stretch`||e===`min`||e===`center`||e===`max`,Yb=e=>({...e}),Xb=e=>e.map(Yb),Zb=e=>Ub(e)?e:null,Qb=e=>{if(!e)return{};let t={};return Wb(e.id)&&(t.id=e.id),qb(e.kind)&&(t.kind=e.kind),Gb(e.visible)&&(t.visible=e.visible),Wb(e.color)&&(t.color=e.color),Kb(e.opacity)&&(t.opacity=e.opacity),Kb(e.count)&&(t.count=e.count),Kb(e.size)&&(t.size=e.size),Kb(e.gutter)&&(t.gutter=e.gutter),Kb(e.offset)&&(t.offset=e.offset),Jb(e.align)&&(t.align=e.align),t},$b=e=>{let t={};return e.id!==void 0&&(t.id=e.id),e.kind!==void 0&&(t.kind=e.kind),e.visible!==void 0&&(t.visible=e.visible),e.color!==void 0&&(t.color=e.color),e.opacity!==void 0&&(t.opacity=e.opacity),e.count!==void 0&&(t.count=e.count),e.size!==void 0&&(t.size=e.size),e.gutter!==void 0&&(t.gutter=e.gutter),e.offset!==void 0&&(t.offset=e.offset),e.align!==void 0&&(t.align=e.align),t},ex={viewBox:`0 0 256 256`,paths:[`M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z`,`M101 56h8v144h-8zM147 56h8v144h-8z`]},tx=()=>ya({id:Ob,version:`0.1.0`,requires:[Mb],provides:[kb,`tool:layout-guides`],setup(e){let t=e.service.get(Mb);if(!t)throw Error(`Layout Guides requires the Solid renderer runtime.`);let n=t.rendererRoot;if(!n)throw Error(`Layout Guides requires a mounted renderer root.`);e.state.register({id:Ab,initial:Vb(),history:!0,persist:!0}),e.state.register({id:jb,initial:!1});let r=Os(t.ownerWindow),i=!1,[a,o]=K(0),s=new Set,c=0,l=()=>e.state.get(`mesurer.layout-guides.pages`)??Vb(),u=()=>e.state.get(`mesurer.layout-guides.active`)??!1,d=()=>gb(Hb(l(),r)),f=()=>(a(),u()?d():[]),p=t=>{e.state.update(jb,()=>t)},m=t=>{e.state.update(Ab,e=>({...e,pages:{...e.pages,[r]:Xb(t(gb(e.pages[r])))}}))};e.command.register(Nb,()=>{let e=!u();return e&&d().length===0&&m(()=>[hb()]),i=e,p(e),u()}),e.command.register(Pb,e=>{let t=hb(Qb(Zb(e)));return m(e=>[...e,t]),{...t}}),e.command.register(Fb,e=>{let t=Zb(e),n=t&&Wb(t.id)?t.id:null,r=Qb(Zb(t?.patch));if(!n)throw Error(`layout-guides.update requires a guide id.`);m(e=>e.map(e=>e.id===n?hb({...e,...r,id:e.id}):e));let i=d().find(e=>e.id===n);if(!i)throw Error(`Layout guide not found: ${n}`);return{...i}}),e.command.register(Ib,e=>{let t=Zb(e),n=t&&Wb(t.id)?t.id:null;if(!n)throw Error(`layout-guides.remove requires a guide id.`);let r=d().length;return m(e=>e.filter(e=>e.id!==n)),d().length!==r}),e.command.register(Lb,()=>{m(()=>[])});let h=async(t,n)=>{let r=Zb(await e.command.execute(t,n));if(!r)throw Error(`${t} did not return a layout guide.`);return hb(Qb(r))},g={list:()=>d().map(e=>({...e})),add:(e={})=>h(Pb,$b(e)),update:(e,t)=>h(Fb,{id:e,patch:$b(t)}),async remove(t){return await e.command.execute(Ib,{id:t})===!0},async clear(){await e.command.execute(Lb)},subscribe(e){s.add(e);let t=!1;return()=>{t||(t=!0,s.delete(e))}}};e.service.provide(kb,g),e.tool.register({id:`layout-guides`,label:`Layout guides`,shortcut:`L`,command:Nb,order:38,toolbarMode:`always`,compactPinned:!0,icon:ex,active:u});let _=t.ownerDocument.createElement(`div`);_.dataset.mesurerLayoutGuidesRoot=`true`,_.dataset.mesurerLayer=`evidence`,_.style.position=`absolute`,_.style.inset=`0`,_.style.pointerEvents=`none`,n.prepend(_);let v=qi(()=>Y(cb,{get guides(){return f()}}),_),y=t.createInspectorMount();y.element.dataset.mesurerLayoutGuidesPanelRoot=`true`,Object.assign(y.element.style,{position:`fixed`,left:`0`,top:`0`,width:`${Rb}px`,zIndex:`100`,pointerEvents:`none`,display:`none`});let b=()=>{if(c=0,!i)return;let e=t.portalTarget.querySelector(`[data-mesurer-tool-id='layout-guides']`);if(!e)return;let n=e.getBoundingClientRect(),r=Math.min(Math.max(Bb,n.right-Rb),Math.max(Bb,t.ownerWindow.innerWidth-Rb-Bb)),a=t.ownerWindow.innerHeight-n.bottom-zb-Bb,o=Math.min(320,t.ownerWindow.innerHeight-16),s=a>=Math.min(o,320)?n.bottom+zb:Math.max(Bb,n.top-zb-o);y.element.style.left=`${r}px`,y.element.style.top=`${s}px`},x=()=>{c||=t.ownerWindow.requestAnimationFrame(b)},S=()=>{y.element.style.display=i?`block`:`none`,i&&x()},C=qi(()=>Y(Db,{get guides(){return f()},get ownerWindow(){return t.ownerWindow},onAdd:()=>{g.add().catch(()=>void 0)},onUpdate:(e,t)=>{g.update(e,t).catch(()=>void 0)},onRemove:e=>{g.remove(e).catch(()=>void 0)}}),y.element),w=()=>{o(e=>e+1);for(let e of s)e();S()},T=e.state.subscribe(w),E=Ms(t.ownerWindow,e=>{r!==e&&(r=e,w())}),D=e=>{if(!i)return;let n=e.composedPath();if(n.includes(y.element))return;let r=t.portalTarget.querySelector(`[data-mesurer-tool-id='layout-guides']`);r&&n.includes(r)||(i=!1,S())},O=e=>{e.key!==`Escape`||!i||(i=!1,S())};S(),t.ownerDocument.addEventListener(`pointerdown`,D,!0),t.ownerDocument.addEventListener(`keydown`,O,!0),t.ownerWindow.addEventListener(`resize`,x),t.ownerWindow.addEventListener(`pointerup`,x,!0),e.lifecycle.onDispose(()=>{t.ownerDocument.removeEventListener(`pointerdown`,D,!0),t.ownerDocument.removeEventListener(`keydown`,O,!0),t.ownerWindow.removeEventListener(`resize`,x),t.ownerWindow.removeEventListener(`pointerup`,x,!0),c&&t.ownerWindow.cancelAnimationFrame(c),c=0,s.clear(),T.dispose(),E(),C(),y.dispose(),v(),_.remove()})}}),nx=`mesurer:recording-bridge-ping`,rx=`mesurer:recording-bridge-request`,ix=`mesurer:recording-bridge-response`,ax=`position:fixed;left:0;top:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none`,ox=.01,sx=e=>({width:e.innerWidth,height:e.innerHeight}),cx=(e,t,n,r)=>{let i=Math.max(1,r.width),a=Math.max(1,r.height),o=t/i,s=n/a,c=Math.abs(o-s)<=ox*Math.max(o,s),l=c?o:Math.min(o,s),u=c?0:(t-i*l)/2,d=c?0:(n-a*l)/2,f=c?o:l,p=c?s:l,m=u+e.left*f,h=d+e.top*p,g=u+(e.left+e.width)*f,_=d+(e.top+e.height)*p,v=Math.max(g-m,1e-6),y=Math.max(_-h,1e-6),b=Math.max(0,Math.min(t,m)),x=Math.max(0,Math.min(n,h)),S=Math.max(0,Math.min(t,g)),C=Math.max(0,Math.min(n,_)),w=Math.max(0,Math.round(b)),T=Math.max(0,Math.round(x)),E=Math.min(t,Math.round(S)),D=Math.min(n,Math.round(C));return{sx:w,sy:T,sw:Math.max(1,E-w),sh:Math.max(1,D-T),dx:(b-m)/v,dy:(x-h)/y,dw:Math.max(0,S-b)/v,dh:Math.max(0,C-x)/y}},lx=(e,t)=>{let n=e.createElement(`div`);return n.dataset.mesurerRecordingCrop=`true`,n.setAttribute(`aria-hidden`,`true`),n.style.position=`fixed`,n.style.left=`${t.left}px`,n.style.top=`${t.top}px`,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`,n.style.margin=`0`,n.style.padding=`0`,n.style.border=`0`,n.style.background=`transparent`,n.style.opacity=`0`,n.style.pointerEvents=`none`,e.body.append(n),n},ux=async(e,t)=>{let n=e.cropTo,r=globalThis.CropTarget;if(!n||!r)return!1;let i=await r.fromElement(t);return await n.call(e,i),!0},dx=(e,t)=>new Promise(n=>{let r=!1,i=()=>{r||(r=!0,t.clearTimeout(a),n())},a=t.setTimeout(i,250),o=e;if(o.requestVideoFrameCallback){o.requestVideoFrameCallback(i);return}t.requestAnimationFrame(i)}),fx=e=>e.location.origin===`null`?`*`:e.location.origin,px=(e,t,n=``)=>`${e}:${t}:${n}`,mx=(e,t,n)=>{let r=`${t}:${n}:`;return e.startsWith(r)?e.slice(r.length):null},hx=e=>e.crypto?.randomUUID?.()??`mesurer-recording-${Date.now()}-${Math.random().toString(36).slice(2)}`,gx=e=>new Promise(t=>{let n=hx(e),r=e.location.origin,i=o=>{o.source===e&&o.origin===r&&mx(String(o.data??``),`mesurer:recording-bridge-pong`,n)!==null&&(e.removeEventListener(`message`,i),e.clearTimeout(a),t(!0))},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(!1)},80);e.addEventListener(`message`,i),e.postMessage(px(nx,n),fx(e))}),_x=e=>new Promise(t=>{let n=hx(e),r=e.location.origin,i=o=>{if(o.source!==e||o.origin!==r)return;let s=mx(String(o.data??``),ix,n);if(s!==null){if(e.removeEventListener(`message`,i),e.clearTimeout(a),!s.startsWith(`ok:`)){t(null);return}t(s.slice(3)||null)}},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(null)},1500);e.addEventListener(`message`,i),e.postMessage(px(rx,n),fx(e))}),vx=e=>e.__MESURER_RECORDING_HOST__?.captureRecordingStream??e.__MESURER_HOST__?.captureRecordingStream,yx=async(e,t)=>{let n=vx(e);if(!n)throw Error(`Native recording capture is unavailable.`);let r=(await n())?.streamId?.trim();if(!r)throw Error(`Native recording capture returned no stream id.`);let i={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:r}};return t.getUserMedia({audio:!1,video:i})},bx=async(e,t)=>{if(!e.isSecureContext||!await gx(e))return null;let n=await _x(e);if(!n)return null;let r={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:n}};return t.getUserMedia({audio:!1,video:r})},xx=async(e,t)=>{let n=e.getVideoTracks()[0];if(!n?.applyConstraints)return e;try{await n.applyConstraints({frameRate:{ideal:t,max:t}})}catch{}return e},Sx=async(e,t)=>{let n=e.navigator.mediaDevices;if(!n)throw Error(`Screen recording is unavailable in this browser.`);if(vx(e))return xx(await yx(e,n),t);try{let r=await bx(e,n);if(r)return xx(r,t)}catch{}if(!n.getDisplayMedia)throw Error(`Screen recording is unavailable in this browser.`);let r={ideal:t,max:t},i={audio:!1,video:{displaySurface:`browser`,frameRate:r},preferCurrentTab:!0,selfBrowserSurface:`include`};try{return xx(await n.getDisplayMedia(i),t)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw e;return xx(await n.getDisplayMedia({audio:!1,video:{frameRate:r}}),t)}},Cx=async(e,t,n,r=60)=>{let i=await Sx(t,r),a=i.getVideoTracks()[0];if(!a)throw i.getTracks().forEach(e=>e.stop()),Error(`No video track was selected.`);if(a.getSettings().displaySurface&&a.getSettings().displaySurface!==`browser`)throw i.getTracks().forEach(e=>e.stop()),Error(`Select the current browser tab to record this region.`);let o=e.createElement(`video`);o.autoplay=!0,o.muted=!0,o.playsInline=!0,o.srcObject=i,o.setAttribute(`playsinline`,``),o.setAttribute(`aria-hidden`,`true`),o.style.cssText=ax,e.body.append(o);try{await o.play(),(o.videoWidth<=0||o.videoHeight<=0)&&await new Promise((e,t)=>{o.addEventListener(`loadeddata`,()=>e(),{once:!0}),o.addEventListener(`error`,()=>t(Error(`Could not read the selected video track.`)),{once:!0})});let r=lx(e,n),s=!1;try{s=await ux(a,r)}catch{s=!1}s||r.remove(),await dx(o,t);let c=t.devicePixelRatio||1,l=cx(n,o.videoWidth,o.videoHeight,sx(t)),u=e.createElement(`canvas`);u.width=s?Math.max(2,Math.round(n.width*c)):l.sw,u.height=s?Math.max(2,Math.round(n.height*c)):l.sh,u.setAttribute(`aria-hidden`,`true`),u.style.cssText=ax,e.body.append(u);let d=u.getContext(`2d`,{alpha:!1});if(!d)throw u.remove(),Error(`Screen recording requires a 2D canvas.`);let f={stream:i,track:a,source:o,canvas:u,context:d,cropTarget:s?r:null,regionLocked:s};return wx(f,n,sx(t)),f}catch(e){throw o.pause(),o.srcObject=null,o.remove(),i.getTracks().forEach(e=>e.stop()),e}},wx=(e,t,n)=>{let{source:r,canvas:i,context:a,regionLocked:o}=e;if(r.videoWidth<=0||r.videoHeight<=0)return;if(o){a.drawImage(r,0,0,i.width,i.height);return}let s=cx(t,r.videoWidth,r.videoHeight,n),c=s.dx<=.001&&s.dy<=.001&&s.dw>=.999&&s.dh>=.999,l=c?0:s.dx*i.width,u=c?0:s.dy*i.height,d=c?i.width:s.dw*i.width,f=c?i.height:s.dh*i.height;c||(a.fillStyle=`#000`,a.fillRect(0,0,i.width,i.height)),!(d<1||f<1||s.dw<=0||s.dh<=0)&&a.drawImage(r,s.sx,s.sy,s.sw,s.sh,l,u,d,f)},Tx=e=>{e.source.pause(),e.source.srcObject=null,e.stream.getTracks().forEach(e=>e.stop()),e.cropTarget?.remove(),e.canvas.remove(),e.source.remove()},Ex={webm:`video/webm`,mp4:`video/mp4`},Dx=[`vp9`,`vp8`],Ox=[`avc`],kx=t=>new e.Quality(t),Ax=(e,t)=>Number.isFinite(e)&&e>0?e:t,jx=(e,t,n)=>{let r=Math.max(2,Math.round(Ax(e,2))),i=Math.max(2,Math.round(Ax(t,2)));return n===`mp4`&&(r%2!=0&&(r+=1),i%2!=0&&(i+=1)),{width:r,height:i}},Mx=(e,t={})=>{let n=Math.max(.001,Ax(e.duration,.001)),r=Math.min(n,Math.max(0,Number.isFinite(t.startTime)?t.startTime??0:0)),i=Number.isFinite(t.endTime)?t.endTime??n:n,a=Math.min(n,Math.max(r+.001,i));return{format:t.format??`webm`,startTime:r,endTime:a,scale:t.scale??1,quality:t.quality??`medium`}},Nx=e=>e===`webm`?Dx:Ox,Px=async(t,n,r,i,a=`medium`)=>{let o=jx(n,r,t),s=kx(a);for(let n of Nx(t))if(await(0,e.canEncodeVideo)(n,{width:o.width,height:o.height,frameRate:i,quality:s}))return n;return null},Fx=async(e,t,n=30)=>{let r=[];return await Px(`webm`,e,t,n)&&r.push(`webm`),await Px(`mp4`,e,t,n)&&r.push(`mp4`),r},Ix=t=>t===`webm`?new e.WebMOutputFormat:new e.Mp4OutputFormat,Lx=async(t,n={})=>{let r=n.format??`webm`,i=Math.max(1,Math.min(120,Math.round(n.frameRate??30))),a=n.quality??`medium`,o=t.width,s=t.height,c=await Px(r,o,s,i,a);if(!c)throw Error(`MediaBunny cannot encode ${r.toUpperCase()} at ${o}×${s} in this runtime.`);let l=new e.BufferTarget,u=new e.Output({format:Ix(r),target:l}),d=new e.CanvasSource(t,{codec:c,quality:kx(a)});u.addVideoTrack(d,{frameRate:i}),await u.start();let f=!1,p=-1;return{format:r,mimeType:Ex[r],codec:c,async addFrame(e,t=1/i){if(f)throw Error(`Recording session is already closed.`);if(!Number.isFinite(e)||e<0)throw TypeError(`Recording frame timestamp must be a non-negative finite number.`);if(!Number.isFinite(t)||t<0)throw TypeError(`Recording frame duration must be a non-negative finite number.`);if(e<=p)throw Error(`Recording frame timestamps must increase monotonically.`);p=e,await d.add(e,t)},finalize:async()=>{if(f)throw Error(`Recording session is already closed.`);if(f=!0,d.close(),await u.finalize(),!l.buffer||l.buffer.byteLength===0)throw Error(`MediaBunny produced an empty recording.`);return new Blob([l.buffer],{type:Ex[r]})},async cancel(){if(!f){f=!0,d.close();try{await u.cancel()}catch{}}}}},Rx=async t=>{let n=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS});try{if(!await n.canRead())throw Error(`MediaBunny cannot read the recording.`);let e=await n.getPrimaryVideoTrack();if(!e)throw Error(`Recording has no video track.`);let[t,r,i]=await Promise.all([n.computeDuration(),e.getCodedWidth(),e.getCodedHeight()]);return{duration:Math.max(.001,t),width:r,height:i}}finally{n.dispose()}},zx=async(t,n={})=>{let r=await Rx(t),i=Mx(r,n),a=jx(r.width*i.scale,r.height*i.scale,i.format),o=await Px(i.format,a.width,a.height,30,i.quality);if(!o)throw Error(`MediaBunny cannot export ${i.format.toUpperCase()} in this runtime.`);let s=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS}),c=new e.BufferTarget,l=new e.Output({format:Ix(i.format),target:c});try{let t=await e.Conversion.init({input:s,output:l,trim:{start:i.startTime,end:i.endTime},video:{codec:o,width:a.width,height:a.height,fit:`fill`,quality:kx(i.quality),forceTranscode:!0},audio:{discard:!0}});if(!t.isValid)throw Error(`MediaBunny cannot convert this recording to ${i.format.toUpperCase()}.`);if(await t.execute(),!c.buffer||c.buffer.byteLength===0)throw Error(`MediaBunny produced an empty export.`);let n=new Blob([c.buffer],{type:Ex[i.format]}),r=await Rx(n);return{blob:n,format:i.format,duration:r.duration,width:r.width,height:r.height}}finally{s.dispose()}},Bx=(e,t=new Date)=>`mesurer-recording-${t.toISOString().replace(/[:.]/g,`-`)}.${e}`,Vx=10,Hx=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},Ux=(e,t,n)=>{let r=e.createElement(`button`);return r.type=`button`,r.setAttribute(`aria-label`,t),r.title=t,r.textContent=n,Hx(r,{display:`inline-flex`,width:`20px`,height:`20px`,padding:`0`,border:`0`,"border-radius":`5px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"align-items":`center`,"justify-content":`center`,"font-family":`inherit`,"font-size":`11px`,"line-height":`1`,cursor:`pointer`}),r},Wx=(e,t)=>{let n=e.createElement(`button`);n.type=`button`,n.setAttribute(`role`,`menuitemradio`),Hx(n,{display:`grid`,width:`100%`,height:`28px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"grid-template-columns":`14px minmax(0, 1fr)`,gap:`6px`,"align-items":`center`,"text-align":`left`,"font-family":`inherit`,"font-size":`11px`,cursor:`pointer`});let r=e.createElement(`span`);r.setAttribute(`aria-hidden`,`true`),r.textContent=`✓`,r.style.opacity=`0`;let i=e.createElement(`span`);return i.textContent=t,n.append(r,i),{button:n,check:r,text:i}},Gx=({ownerDocument:e,root:t})=>{let n=e.createElement(`section`);n.dataset.mesurerRecordingPreview=`true`,n.dataset.mesurerInspectorUi=`true`,n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-label`,`Screen recording editor`),n.tabIndex=0,Hx(n,{position:`fixed`,display:`none`,width:`352px`,"max-width":`calc(100vw - 16px)`,padding:`8px`,"z-index":`98`,"box-sizing":`border-box`,overflow:`visible`,"border-radius":`13px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`,"font-size":`11px`,"pointer-events":`auto`,outline:`none`,transform:`translateX(-50%)`,transition:`width 200ms ease`}),t.append(n);let r=e.createElement(`div`);Hx(r,{position:`relative`,display:`flex`,width:`100%`,"min-height":`72px`,"max-height":`144px`,overflow:`hidden`,"border-radius":`8px`,background:`var(--msr-surface-muted, #f8fafc)`,"align-items":`center`,"justify-content":`center`,transition:`max-height 200ms ease`,cursor:`default`}),n.append(r);let i=e.createElement(`video`);i.muted=!0,i.playsInline=!0,i.preload=`auto`,Hx(i,{display:`block`,width:`100%`,height:`100%`,"max-width":`100%`,"max-height":`144px`,"object-fit":`contain`,transition:`max-height 200ms ease`}),r.append(i);let a=e.createElement(`div`);a.dataset.mesurerRecordingExporting=`true`,a.textContent=`Exporting…`,Hx(a,{position:`absolute`,inset:`0`,display:`none`,"align-items":`center`,"justify-content":`center`,"z-index":`30`,background:`rgb(15 23 42 / 45%)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(a);let o=Ux(e,`Close`,`×`);o.dataset.mesurerRecordingDiscard=`true`,Hx(o,{position:`absolute`,top:`6px`,right:`6px`,width:`24px`,height:`24px`,"z-index":`40`,background:`rgb(15 23 42 / 78%)`,color:`#fff`,opacity:`0`,"pointer-events":`none`,transition:`opacity 150ms ease`}),r.append(o),r.addEventListener(`mouseenter`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),r.addEventListener(`mouseleave`,()=>{e.activeElement!==o&&(o.style.opacity=`0`,o.style.pointerEvents=`none`)}),o.addEventListener(`focus`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),o.addEventListener(`blur`,()=>{o.style.opacity=`0`,o.style.pointerEvents=`none`});let s=e.createElement(`div`);Hx(s,{display:`flex`,height:`28px`,"align-items":`center`,gap:`8px`,"margin-top":`8px`}),n.append(s);let c=Ux(e,`Play`,`▶`);c.dataset.mesurerRecordingPlay=`true`,s.append(c);let l=e.createElement(`span`);l.dataset.mesurerRecordingCurrentTime=`true`,l.textContent=`0:00.00`,Hx(l,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(l);let u=e.createElement(`div`);u.dataset.mesurerRecordingTimeline=`true`,Hx(u,{position:`relative`,height:`28px`,"min-width":`0`,flex:`1 1 0`,cursor:`pointer`,"user-select":`none`}),s.append(u);let d=e.createElement(`div`);d.dataset.mesurerRecordingTimelineTrack=`true`,Hx(d,{position:`absolute`,left:`${Vx}px`,right:`${Vx}px`,top:`0`,bottom:`0`}),u.append(d);let f=e.createElement(`div`);f.dataset.mesurerRecordingTimelineRail=`true`,Hx(f,{position:`absolute`,left:`0`,right:`0`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-200, #e2e8f0)`,"pointer-events":`none`}),d.append(f);let p=e.createElement(`div`);p.dataset.mesurerRecordingTimelineClip=`true`,Hx(p,{position:`absolute`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-300, #cbd5e1)`,"pointer-events":`none`}),d.append(p);let m=e.createElement(`div`);Hx(m,{position:`absolute`,display:`none`,top:`21px`,width:`2px`,height:`10px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-500, #64748b)`,opacity:`0.5`,"pointer-events":`none`}),d.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingPlayhead=`true`,Hx(h,{position:`absolute`,top:`21px`,left:`0`,width:`2px`,height:`9px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-content, #18181b)`,"z-index":`25`,"pointer-events":`none`,transition:`height 150ms ease`}),d.append(h);let g=(t,n)=>{let r=e.createElement(`button`);r.type=`button`,r.dataset.mesurerRecordingTrimHandle=t,r.setAttribute(`role`,`slider`),r.setAttribute(`aria-label`,n),r.setAttribute(`aria-valuemin`,`0`),Hx(r,{position:`absolute`,top:`0`,display:`flex`,width:`20px`,height:`16px`,padding:`0`,border:`0`,"border-radius":`4px`,background:`transparent`,color:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"z-index":`30`,"align-items":`center`,"justify-content":`center`,cursor:`ew-resize`,"touch-action":`none`});let i=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.dataset.mesurerRecordingTrimChevron=t,i.setAttribute(`aria-hidden`,`true`),i.setAttribute(`viewBox`,`0 0 12 14`),i.setAttribute(`width`,`12`),i.setAttribute(`height`,`14`);let a=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);a.setAttribute(`d`,t===`start`?`M3.5 2.5L8.5 7L3.5 11.5`:`M8.5 2.5L3.5 7L8.5 11.5`),a.setAttribute(`fill`,`none`),a.setAttribute(`stroke`,`currentColor`),a.setAttribute(`stroke-width`,`2`),a.setAttribute(`stroke-linecap`,`round`),a.setAttribute(`stroke-linejoin`,`round`),i.append(a),r.append(i);let o=e.createElement(`span`);return o.setAttribute(`aria-hidden`,`true`),Hx(o,{position:`absolute`,left:`50%`,top:`15px`,width:`1px`,height:`4px`,background:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"pointer-events":`none`}),r.append(o),d.append(r),r},_=g(`start`,`Trim start`),v=g(`end`,`Trim end`),y=e.createElement(`span`);y.dataset.mesurerRecordingDuration=`true`,Hx(y,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"justify-content":`flex-end`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(y);let b=e.createElement(`div`);Hx(b,{position:`relative`,display:`flex`,height:`20px`,"align-items":`center`}),s.append(b);let x=Ux(e,`Export options`,`1×`);x.dataset.mesurerRecordingExportOptions=`true`,x.setAttribute(`aria-haspopup`,`menu`),x.setAttribute(`aria-expanded`,`false`),Hx(x,{width:`28px`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`}),b.append(x);let S=e.createElement(`div`);S.dataset.mesurerRecordingExportMenu=`true`,S.setAttribute(`role`,`menu`),Hx(S,{position:`absolute`,display:`none`,right:`0`,bottom:`24px`,width:`176px`,padding:`4px`,"z-index":`120`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"pointer-events":`auto`}),b.append(S);let C=e.createElement(`p`);C.textContent=`Format`,Hx(C,{margin:`0`,padding:`4px 8px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(C);let w=e.createElement(`div`);S.append(w);let T=e.createElement(`p`);T.textContent=`Size`,Hx(T,{margin:`0`,padding:`6px 8px 4px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(T);let E=e.createElement(`div`);S.append(E);let D=[1,2,3].map(t=>{let n=Wx(e,`${t}×`);return n.button.dataset.mesurerRecordingScale=String(t),E.append(n.button),{scale:t,...n}}),O=Ux(e,`Download`,`↓`);O.dataset.mesurerRecordingExport=`true`,s.append(O);let k=Ux(e,`Grow preview`,`↗`);k.dataset.mesurerRecordingExpand=`true`,s.append(k);let A=e.createElement(`p`);return A.dataset.mesurerRecordingPreviewStatus=`true`,A.setAttribute(`role`,`status`),Hx(A,{display:`none`,margin:`8px 0 0`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`11px`,"line-height":`16px`}),n.append(A),{panel:n,previewShell:r,video:i,exportingOverlay:a,close:o,play:c,currentTime:l,timeline:u,track:d,clip:p,hoverMarker:m,playhead:h,trimStart:_,trimEnd:v,durationLabel:y,exportAnchor:b,exportOptions:x,exportMenu:S,formatRows:w,scaleRows:D,download:O,expand:k,status:A}},Kx=8,qx=8,Jx=.05,Yx=200,Xx=e=>{let t=Number.isFinite(e)?Math.max(0,e):0,n=Math.floor(t/60);return`${n}:${(t-n*60).toFixed(2).padStart(5,`0`)}`},Zx=(e,t,n,r)=>{let i=globalThis.URL.createObjectURL(e),a=n.createElement(`a`);a.href=i,a.download=t,a.rel=`noopener`,n.documentElement.append(a),a.click(),a.remove(),r.setTimeout(()=>globalThis.URL.revokeObjectURL(i),1e3)},Qx=({ownerDocument:e,ownerWindow:t,root:n,formats:r,onDiscard:i,onExport:a})=>{let{panel:o,previewShell:s,video:c,exportingOverlay:l,close:u,play:d,currentTime:f,timeline:p,track:m,clip:h,hoverMarker:g,playhead:_,trimStart:v,trimEnd:y,durationLabel:b,exportAnchor:x,exportOptions:S,exportMenu:C,formatRows:w,scaleRows:T,download:E,expand:D,status:O}=Gx({ownerDocument:e,root:n}),k=null,A=null,j=!1,M=!1,N=0,P=[`webm`],F=`webm`,I=1,L=0,R=0,z=null,B=null,V=null,ee=e=>{let t=k?.duration??0;return t<=0?0:Math.min(1,Math.max(0,e/t))},H=()=>({start:L,end:R}),U=e=>{let t=k?.duration??0,n=m.getBoundingClientRect();return t<=0||n.width<=0?0:Math.min(t,Math.max(0,(e-n.left)/n.width*t))},W=()=>{let e=k?.duration??0,t=Math.min(e,Math.max(0,c.currentTime||0)),n=ee(L)*100,r=ee(R)*100;v.style.left=`${n}%`,y.style.left=`${r}%`,h.style.left=`${n}%`,h.style.width=`${Math.max(0,r-n)}%`,_.style.left=`${ee(t)*100}%`,v.setAttribute(`aria-valuemax`,String(Math.max(0,R-Jx))),v.setAttribute(`aria-valuenow`,String(L)),v.setAttribute(`aria-valuetext`,Xx(L)),y.setAttribute(`aria-valuemin`,String(Math.min(e,L+Jx))),y.setAttribute(`aria-valuemax`,String(e)),y.setAttribute(`aria-valuenow`,String(R)),y.setAttribute(`aria-valuetext`,Xx(R)),f.textContent=Xx(t),b.textContent=Xx(e)},te=(e,t=!0)=>{if(!k)return;let n=Math.min(R,Math.max(L,e));t&&!c.paused&&c.pause(),c.currentTime=n,W()},ne=(e,t=!1)=>{k&&(L=Math.min(Math.max(0,e),Math.max(0,R-Jx)),(t||c.currentTime<L)&&te(L),W())},re=(e,t=!1)=>{k&&(R=Math.max(Math.min(k.duration,e),Math.min(k.duration,L+Jx)),t?te(R):c.currentTime>R&&te(L),W())},ie=()=>{S.textContent=`${I}×`;for(let e of T){let t=e.scale===I;e.button.setAttribute(`aria-checked`,t?`true`:`false`),e.check.style.opacity=t?`1`:`0`,e.text.textContent=k?`${e.scale}× ${Math.round(k.width*e.scale)} × ${Math.round(k.height*e.scale)}`:`${e.scale}×`}},G=()=>{w.replaceChildren();for(let t of P){let n=Wx(e,t===`mp4`?`MP4`:`WebM`),r=t===F;n.button.dataset.mesurerRecordingFormat=t,n.button.setAttribute(`aria-checked`,r?`true`:`false`),n.check.style.opacity=r?`1`:`0`,n.button.addEventListener(`click`,()=>{F=t,G()}),w.append(n.button)}},ae=()=>{if(C.style.display===`none`)return;let e=x.getBoundingClientRect(),n=Math.max(1,C.offsetHeight),r=e.top-Kx,i=t.innerHeight-e.bottom-Kx;r>=n||r>=i?(C.style.top=`auto`,C.style.bottom=`24px`):(C.style.top=`24px`,C.style.bottom=`auto`)},oe=e=>{C.style.display=e?`block`:`none`,S.setAttribute(`aria-expanded`,e?`true`:`false`),e&&ae()},se=e=>{M=e,l.style.display=e?`flex`:`none`;for(let t of[d,u,v,y,S,E,D,...T.map(e=>e.button)])t.toggleAttribute(`disabled`,e)},ce=()=>n.closest(`[data-mesurer-root='true']`)?.querySelector(`[data-mesurer-tool-id='recording']`)??e.querySelector(`[data-mesurer-tool-id='recording']`),le=()=>{if(o.style.display===`none`)return;let e=Math.min(j?576:352,Math.max(1,t.innerWidth-16)),n=Math.max(180,o.offsetHeight),r=ce()?.getBoundingClientRect(),i=r?r.left+r.width/2:t.innerWidth-Kx-e/2,a=Kx+e/2,s=Math.max(a,t.innerWidth-Kx-e/2),c=Math.min(Math.max(a,i),s),l=r?r.bottom+qx:Kx;l+n>t.innerHeight-Kx&&(l=r?r.top-n-qx:t.innerHeight-n-Kx),o.style.left=`${c}px`,o.style.top=`${Math.max(Kx,l)}px`,C.style.display!==`none`&&ae()},ue=()=>{c.pause(),c.removeAttribute(`src`),c.load(),A&&=(globalThis.URL.revokeObjectURL(A),null)},de=()=>{N+=1,V&&=(V.cancel(),null),ue(),k=null,z=null,B=null,oe(!1),o.style.display=`none`,o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),O.style.display=`none`,se(!1)},fe=()=>{if(!k||o.style.display===`none`||V)return;let e=o.getBoundingClientRect(),t=ce()?.getBoundingClientRect(),n=t?t.left+t.width/2:e.left+e.width/2,r=t?t.top+t.height/2:e.top+e.height/2;c.pause(),oe(!1),o.style.pointerEvents=`none`,o.style.left=`${e.left}px`,o.style.top=`${e.top}px`,o.style.transform=`none`,o.style.transformOrigin=`${n-e.left}px ${r-e.top}px`,o.style.willChange=`transform, opacity`;let a=o.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(0.08)`,opacity:0}],{duration:Yx,easing:`ease`,fill:`forwards`});V=a,a.finished.catch(()=>void 0).then(()=>{V===a&&(a.cancel(),V=null,o.style.removeProperty(`will-change`),i())})},pe=()=>{if(!(!k||M)){if(!c.paused){c.pause();return}(c.currentTime<L||c.currentTime>=R)&&(c.currentTime=L),c.play()}},me=()=>{z=null,B=null,_.style.height=`8px`},he=e=>{if(!z)return;let t=U(e);z===`start`?ne(t,!0):z===`end`?re(t,!0):te(t)},ge=(e,t)=>{!k||M||t.button!==0||(t.preventDefault(),t.stopPropagation(),z=e,B=t.pointerId,_.style.height=`10px`,he(t.clientX))},_e=e=>{B!==null&&e.pointerId===B&&he(e.clientX)},ve=e=>{B!==null&&e.pointerId===B&&me()};v.addEventListener(`pointerdown`,e=>ge(`start`,e)),y.addEventListener(`pointerdown`,e=>ge(`end`,e)),p.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-trim-handle]`)||ge(`playhead`,e)}),p.addEventListener(`pointermove`,e=>{B===null&&(g.style.display=`block`,g.style.left=`${ee(U(e.clientX))*100}%`)}),p.addEventListener(`pointerleave`,()=>{g.style.display=`none`});for(let[e,t]of[[`start`,v],[`end`,y]])t.addEventListener(`keydown`,t=>{if(!k||t.key!==`ArrowLeft`&&t.key!==`ArrowRight`)return;t.preventDefault();let n=t.key===`ArrowLeft`?-1:1,r=(e===`start`?L:R)+n*.05;e===`start`?ne(r,!0):re(r,!0)});t.addEventListener(`pointermove`,_e,!0),t.addEventListener(`pointerup`,ve,!0),t.addEventListener(`pointercancel`,ve,!0),u.addEventListener(`click`,e=>{e.stopPropagation(),fe()}),s.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`button`)||pe()}),d.addEventListener(`click`,pe),c.addEventListener(`play`,()=>{d.textContent=`Ⅱ`,d.setAttribute(`aria-label`,`Pause`),d.title=`Pause`}),c.addEventListener(`pause`,()=>{d.textContent=`▶`,d.setAttribute(`aria-label`,`Play`),d.title=`Play`}),c.addEventListener(`timeupdate`,()=>{k&&(c.currentTime>=R-.01?(c.pause(),c.currentTime=L):c.currentTime<L&&(c.currentTime=L),W())}),c.addEventListener(`loadedmetadata`,()=>{W()}),S.addEventListener(`click`,()=>{M||oe(C.style.display===`none`)});for(let e of T)e.button.addEventListener(`click`,()=>{I=e.scale,ie()});let ye=e=>{C.style.display!==`none`&&(e.composedPath().includes(x)||oe(!1))};e.addEventListener(`pointerdown`,ye,!0),D.addEventListener(`click`,()=>{j=!j,o.style.width=`${j?576:352}px`,s.style.maxHeight=j?`448px`:`144px`,c.style.maxHeight=j?`448px`:`144px`,D.textContent=j?`↙`:`↗`,D.setAttribute(`aria-label`,j?`Shrink preview`:`Grow preview`),D.title=j?`Shrink preview`:`Grow preview`,t.requestAnimationFrame(le)}),E.addEventListener(`click`,()=>{if(!k||M||P.length===0)return;let n=++N,{start:r,end:i}=H();se(!0),oe(!1),O.style.display=`none`,a({format:F,startTime:r,endTime:i,scale:I}).then(r=>{n===N&&Zx(r.blob,r.filename,e,t)}).catch(e=>{n===N&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not export the recording.`)}).finally(()=>{n===N&&se(!1)})}),o.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(C.style.display!==`none`){e.preventDefault(),oe(!1);return}e.preventDefault(),fe();return}(e.key===` `||e.code===`Space`)&&e.target===o&&(e.preventDefault(),pe())});let be=()=>le();return t.addEventListener(`resize`,be),{show(e){N+=1,V&&=(V.cancel(),null),o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),ue(),k=e,j=!1,I=1,F=`webm`,P=[`webm`],L=0,R=e.duration,z=null,B=null;let n=globalThis.URL.createObjectURL(e.blob);A=n,c.src=n,c.currentTime=0,s.style.aspectRatio=e.width>0&&e.height>0?`${e.width} / ${e.height}`:`16 / 9`,o.style.width=`352px`,s.style.maxHeight=`144px`,c.style.maxHeight=`144px`,D.textContent=`↗`,D.setAttribute(`aria-label`,`Grow preview`),D.title=`Grow preview`,f.textContent=`0:00.00`,b.textContent=Xx(e.duration),O.style.display=`none`,O.style.color=`var(--msr-color-ink-500, #64748b)`,oe(!1),G(),ie(),W(),se(!1),o.style.display=`block`,le(),o.focus({preventScroll:!0});let i=N;r(e).then(e=>{i!==N||!k||(P=e,F=e.includes(F)?F:e[0]??`webm`,G(),E.disabled=e.length===0,e.length===0&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=`No MediaBunny video encoder is available in this runtime.`))}).catch(e=>{i===N&&(P=[],G(),E.disabled=!0,O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not inspect export support.`)}),t.requestAnimationFrame(le)},dismiss:de,dispose(){de(),t.removeEventListener(`resize`,be),t.removeEventListener(`pointermove`,_e,!0),t.removeEventListener(`pointerup`,ve,!0),t.removeEventListener(`pointercancel`,ve,!0),e.removeEventListener(`pointerdown`,ye,!0),o.remove()}}},$x=3e3,eS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},tS=({ownerDocument:e,ownerWindow:t,root:n,statusRoot:r,rendererRoot:i,isSelecting:a,isRecording:o,onRectChange:s,onConfirm:c,onCancel:l,onStop:u,setRecordingInteractionActive:d})=>{let f=e.createElement(`div`);f.dataset.mesurerRecordingSelect=`true`,f.dataset.mesurerInspectorUi=`true`,f.setAttribute(`role`,`application`),f.setAttribute(`aria-label`,`Recording selection`),eS(f,{position:`fixed`,inset:`0`,display:`none`,"z-index":`86`,cursor:`crosshair`,"pointer-events":`auto`,"user-select":`none`,"touch-action":`none`}),n.append(f);let p=Array.from({length:4},()=>{let t=e.createElement(`div`);return t.dataset.mesurerRecordingShade=`true`,eS(t,{position:`fixed`,background:`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(t),t}),m=e.createElement(`div`);m.dataset.mesurerRecordingMask=`true`,eS(m,{position:`fixed`,display:`none`,background:`transparent`,outline:`2px solid var(--msr-accent, #0d99ff)`,"outline-offset":`-1px`,"box-shadow":`0 0 0 100vmax rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingSelection=`true`,eS(h,{position:`fixed`,display:`none`,border:`1px solid var(--msr-accent, #0d99ff)`,"box-sizing":`border-box`,"pointer-events":`none`}),f.append(h);let g=e.createElement(`div`);eS(g,{position:`fixed`,display:`none`,transform:`translateX(-50%)`,padding:`2px 5px`,"border-radius":`4px`,background:`var(--msr-accent, #0d99ff)`,color:`#fff`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"pointer-events":`none`}),f.append(g);let _=e.createElement(`div`);_.textContent=`Drag a region to record · Esc to cancel`,eS(_,{position:`fixed`,left:`50%`,bottom:`16px`,transform:`translateX(-50%)`,padding:`5px 8px`,"border-radius":`6px`,background:`var(--msr-content, #18181b)`,color:`var(--msr-surface, #fff)`,"font-size":`11px`,"pointer-events":`none`}),f.append(_);let v=e.createElement(`div`);v.dataset.mesurerRecordingRegion=`true`,v.dataset.mesurerInspectorUi=`true`,v.setAttribute(`role`,`dialog`),v.setAttribute(`aria-label`,`Recording region`),eS(v,{position:`fixed`,display:`none`,width:`220px`,padding:`8px`,"z-index":`90`,"box-sizing":`border-box`,overflow:`hidden`,"border-radius":`10px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0,0,0,.12))`,"font-size":`11px`,"pointer-events":`auto`,transform:`translateX(-50%)`}),f.append(v);let y=t=>{let n=e.createElement(`label`);eS(n,{display:`grid`,"grid-template-columns":`44px minmax(0,1fr)`,"align-items":`center`,gap:`8px`});let r=e.createElement(`span`);r.textContent=t,r.style.color=`var(--msr-color-ink-500, #64748b)`,n.append(r);let i=e.createElement(`div`);return eS(i,{display:`flex`,"align-items":`center`,gap:`4px`,"min-width":`0`}),n.append(i),v.append(n),i},b=t=>{let n=e.createElement(`input`);return n.type=`number`,n.setAttribute(`aria-label`,t),n.step=`1`,eS(n,{width:`0`,"min-width":`0`,flex:`1 1 0`,height:`26px`,padding:`0 6px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`6px`,background:`var(--msr-surface, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`}),n},x=y(`Size`),S=b(`Width`),C=b(`Height`);x.append(S);let w=e.createElement(`span`);w.textContent=`×`,w.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(w,C);let T=e.createElement(`span`);T.textContent=`px`,T.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(T);let E=y(`Position`);E.style.marginTop=`8px`;let D=b(`Left`),O=b(`Top`);E.append(D,O);let k=e.createElement(`span`);k.textContent=`px`,k.style.color=`var(--msr-color-ink-500, #64748b)`,E.append(k);let A=e.createElement(`button`);A.type=`button`,A.dataset.mesurerRecordingStart=`true`,A.textContent=`● Start recording`,eS(A,{width:`100%`,height:`28px`,"margin-top":`8px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`7px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),v.append(A);let j=e.createElement(`div`);j.dataset.mesurerRecordingGrid=`true`,eS(j,{position:`absolute`,inset:`0`,display:`none`,"pointer-events":`none`}),h.append(j);let M=t=>{let n=e.createElement(`div`);eS(n,{position:`absolute`,opacity:`0.3`,...t}),j.append(n)};M({left:`33.333%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({left:`66.666%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`33.333%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`66.666%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`});let N=Object.entries({nw:{left:`0`,top:`0`},n:{left:`50%`,top:`0`},ne:{left:`100%`,top:`0`},e:{left:`100%`,top:`50%`},se:{left:`100%`,top:`100%`},s:{left:`50%`,top:`100%`},sw:{left:`0`,top:`100%`},w:{left:`0`,top:`50%`}}).map(([t,n])=>{let r=e.createElement(`button`);return r.type=`button`,r.dataset.mesurerRecordingResize=t,r.setAttribute(`aria-label`,`Resize ${t}`),eS(r,{position:`absolute`,display:`none`,left:n.left,top:n.top,width:`8px`,height:`8px`,padding:`0`,border:`1px solid var(--msr-color-white, #fff)`,"border-radius":`999px`,background:`var(--msr-color-ink-900, #18181b)`,"box-shadow":`0 0 0 1px rgb(0 0 0 / 25%)`,transform:`translate(-50%, -50%)`,cursor:t===`n`||t===`s`?`ns-resize`:t===`e`||t===`w`?`ew-resize`:t===`nw`||t===`se`?`nwse-resize`:`nesw-resize`,"pointer-events":`auto`}),h.append(r),r}),P=e.createElement(`section`);P.dataset.mesurerRecordingStatus=`true`,P.dataset.mesurerInspectorUi=`true`,P.setAttribute(`aria-label`,`Screen recording`),eS(P,{position:`fixed`,display:`none`,height:`34px`,padding:`0 8px`,"align-items":`center`,gap:`8px`,border:`0`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 8px 24px rgba(0,0,0,.14))`,"font-family":`inherit`,"font-size":`11px`,"pointer-events":`auto`});let F=e.createElement(`span`);F.setAttribute(`aria-hidden`,`true`),eS(F,{width:`6px`,height:`6px`,"border-radius":`999px`,background:`var(--msr-danger-solid-bg, #dc2626)`,"flex-shrink":`0`}),P.append(F);let I=e.createElement(`span`);I.dataset.mesurerRecordingTime=`true`,I.textContent=`00:00`,eS(I,{color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`11px`,"font-variant-numeric":`tabular-nums`}),P.append(I);let L=e.createElement(`button`);L.type=`button`,L.dataset.mesurerRecordingStop=`true`,L.textContent=`Stop`,L.setAttribute(`aria-label`,`Stop recording`),eS(L,{height:`24px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`var(--msr-danger-solid-bg, #dc2626)`,color:`var(--msr-danger-solid-text, #fff)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),P.append(L),r.append(P);let R=e.createElement(`div`);R.dataset.mesurerRecordingError=`true`,R.dataset.mesurerInspectorUi=`true`,R.setAttribute(`role`,`status`),eS(R,{position:`fixed`,display:`none`,left:`8px`,top:`8px`,"z-index":`99`,padding:`6px 8px`,"border-radius":`6px`,background:`var(--msr-danger, #b42318)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(R);let z=null,B=null,V=!1,ee=null,H=0,U=()=>{z=null,B=null,V=!1,ee=null},W=(e,t)=>{for(let n of[`left`,`top`,`width`,`height`]){let r=t[n];r===void 0?e.style.removeProperty(n):e.style.setProperty(n,`${r}px`)}},te=e=>{let n=t.innerWidth,r=t.innerHeight,i=Math.min(n,Math.max(4,Math.round(e.width))),a=Math.min(r,Math.max(4,Math.round(e.height)));return{left:Math.min(Math.max(0,Math.round(e.left)),Math.max(0,n-i)),top:Math.min(Math.max(0,Math.round(e.top)),Math.max(0,r-a)),width:i,height:a}},ne=(e,t)=>t.x>=e.left&&t.x<=e.left+e.width&&t.y>=e.top&&t.y<=e.top+e.height,re=e=>{let n=t.innerWidth,r=t.innerHeight;if(!e||e.width<=0||e.height<=0){W(p[0],{left:0,top:0,width:n,height:r});for(let e of p.slice(1))W(e,{left:0,top:0,width:0,height:0});h.style.display=`none`,h.style.pointerEvents=`none`,j.style.display=`none`;for(let e of N)e.style.display=`none`;g.style.display=`none`,v.style.display=`none`,_.textContent=`Drag to select a region · Esc to cancel`;return}if(W(p[0],{left:0,top:0,width:n,height:e.top}),W(p[1],{left:0,top:e.top,width:e.left,height:e.height}),W(p[2],{left:e.left+e.width,top:e.top,width:Math.max(0,n-e.left-e.width),height:e.height}),W(p[3],{left:0,top:e.top+e.height,width:n,height:Math.max(0,r-e.top-e.height)}),h.style.display=`block`,W(h,e),V){h.style.pointerEvents=`auto`,h.style.cursor=`move`,j.style.display=`block`;for(let e of N)e.style.display=`block`;g.style.display=`none`,S.value=String(Math.round(e.width)),C.value=String(Math.round(e.height)),D.value=String(Math.round(e.left)),O.value=String(Math.round(e.top)),S.max=String(n),C.max=String(r),D.max=String(Math.max(0,n-e.width)),O.max=String(Math.max(0,r-e.height));let t=Math.min(Math.max(118,e.left+e.width/2),Math.max(118,n-110-8)),i=e.top+e.height+12,a=i+112<=r?i:Math.max(8,e.top-112);v.style.left=`${t}px`,v.style.top=`${a}px`,v.style.display=`block`,_.textContent=`Adjust region · Enter to start · Esc to cancel`}else{h.style.pointerEvents=`none`,h.style.cursor=``,j.style.display=`none`;for(let e of N)e.style.display=`none`;v.style.display=`none`,g.style.display=`block`,g.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,W(g,{left:e.left+e.width/2,top:Math.min(r-22,e.top+e.height+6)}),_.textContent=`Drag to select a region · Esc to cancel`}},ie=e=>{let t=te(e);B=t,s(t),re(t)},G=e=>{U();for(let e of p)W(e,{left:0,top:0,width:0,height:0});W(m,e),m.style.display=`block`,h.style.display=`none`,g.style.display=`none`,v.style.display=`none`,j.style.display=`none`,_.style.display=`none`;for(let e of N)e.style.display=`none`;f.style.display=`block`,f.style.pointerEvents=`none`,f.style.cursor=`default`},ae=()=>{d(!1),m.style.display=`none`,f.style.display=`none`,f.style.pointerEvents=`auto`,f.style.cursor=`crosshair`,_.style.removeProperty(`display`)},oe=()=>{U(),re(null),f.style.display=`none`,f.style.cursor=`crosshair`,n.style.pointerEvents=`none`},se=e=>{let n=t.innerHeight,r=t.innerWidth;P.style.visibility=`hidden`,P.style.display=`flex`;let a=Math.max(112,P.offsetWidth||112),o=Math.min(r-a-8,Math.max(8,e.left+e.width/2-a/2)),s=i?.querySelector(`[data-mesurer-toolbar='true']`)?.getBoundingClientRect(),c=[e.top>=50?e.top-34-8:null,n-(e.top+e.height)>=50?e.top+e.height+8:null].filter(e=>e!==null),l=e=>s?o<s.right&&o+a>s.left&&e<s.bottom&&e+34>s.top:!1,u=c.find(e=>!l(e))??c[0]??null;if(u===null){P.style.display=`none`,P.style.removeProperty(`visibility`);return}P.style.left=`${o}px`,P.style.top=`${u}px`,P.style.removeProperty(`visibility`)},ce=()=>{P.style.display=`none`},le=e=>{H&&t.clearTimeout(H);let n=e instanceof Error?e.message:`Could not record this region.`;R.textContent=n,R.style.display=`block`,H=t.setTimeout(()=>{H=0,R.style.display=`none`},$x)},ue=(e,t,n)=>{let r=B;!V||!r||e.button!==0||(e.preventDefault(),e.stopPropagation(),ee={kind:t,handle:n,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,rect:{...r}},f.setPointerCapture?.(e.pointerId))},de=e=>{!a()||e.button!==0||V&&B&&ne(B,{x:e.clientX,y:e.clientY})||(e.preventDefault(),e.stopPropagation(),V=!1,B=null,s(null),f.style.cursor=`crosshair`,z={x:e.clientX,y:e.clientY},re(Wa(z,z,{width:t.innerWidth,height:t.innerHeight})),f.setPointerCapture?.(e.pointerId))},fe=e=>{if(a()){if(ee){let n=ee,r=e.clientX-n.startX,i=e.clientY-n.startY,a=t.innerWidth,o=t.innerHeight;if(n.kind===`move`){ie({...n.rect,left:n.rect.left+r,top:n.rect.top+i});return}let s=n.handle??``,c=n.rect.left,l=n.rect.top,u=n.rect.left+n.rect.width,d=n.rect.top+n.rect.height;s.includes(`w`)&&(c=Math.min(u-4,Math.max(0,n.rect.left+r))),s.includes(`e`)&&(u=Math.max(c+4,Math.min(a,n.rect.left+n.rect.width+r))),s.includes(`n`)&&(l=Math.min(d-4,Math.max(0,n.rect.top+i))),s.includes(`s`)&&(d=Math.max(l+4,Math.min(o,n.rect.top+n.rect.height+i))),ie({left:c,top:l,width:u-c,height:d-l});return}z&&re(Wa(z,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight}))}},pe=e=>{if(ee){ee=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),B&&re(B);return}let n=z;if(z=null,!a()||!n)return;f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId);let r=Wa(n,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight});if(r.width<4||r.height<4){B=null,V=!1,s(null),re(null);return}B=te(r),V=!0,f.style.cursor=`default`,s(B),re(B)},me=e=>{z=null,ee=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),re(B&&V?B:null)},he=e=>{if(e.key===`Enter`&&a()&&V&&B){e.preventDefault(),e.stopImmediatePropagation(),c(B).catch(()=>void 0);return}if(e.key===`Escape`){if(a()){e.preventDefault(),e.stopImmediatePropagation(),l().catch(()=>void 0);return}o()&&(e.preventDefault(),e.stopImmediatePropagation(),u().catch(()=>void 0))}};f.addEventListener(`pointerdown`,de),f.addEventListener(`pointermove`,fe),f.addEventListener(`pointerup`,pe),f.addEventListener(`pointercancel`,me),t.addEventListener(`keydown`,he,!0),h.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-resize]`)||ue(e,`move`)});for(let e of N)e.addEventListener(`pointerdown`,t=>{ue(t,`resize`,e.dataset.mesurerRecordingResize)});v.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),v.addEventListener(`click`,e=>{e.stopPropagation()});let ge=(e,t)=>{let n=B,r=Number(e.value);!n||!Number.isFinite(r)||ie({...n,[t]:r})};return S.addEventListener(`change`,()=>ge(S,`width`)),C.addEventListener(`change`,()=>ge(C,`height`)),D.addEventListener(`change`,()=>ge(D,`left`)),O.addEventListener(`change`,()=>ge(O,`top`)),A.addEventListener(`click`,()=>{a()&&V&&B&&c(B).catch(()=>void 0)}),L.addEventListener(`click`,()=>{if(o()){u().catch(()=>void 0);return}a()&&P.style.display!==`none`&&l().catch(()=>void 0)}),{startSelection:()=>{U(),re(null),f.style.display=`block`,f.style.pointerEvents=`auto`,_.style.removeProperty(`display`),n.style.pointerEvents=`auto`},finishSelection:oe,showRecordingMask:G,hideRecordingMask:ae,placeRecordingStatus:se,hideRecordingStatus:ce,setRecordingTime(e){I.textContent=e},flashError:le,dispose(){f.removeEventListener(`pointerdown`,de),f.removeEventListener(`pointermove`,fe),f.removeEventListener(`pointerup`,pe),f.removeEventListener(`pointercancel`,me),t.removeEventListener(`keydown`,he,!0),H&&t.clearTimeout(H),oe()}}},nS=e=>{let t=null,n=()=>{let e=t;e&&(t=null,e.pointerEvents||e.pointerEventsPriority?e.element.style.setProperty(`pointer-events`,e.pointerEvents,e.pointerEventsPriority):e.element.style.removeProperty(`pointer-events`),e.cursor||e.cursorPriority?e.element.style.setProperty(`cursor`,e.cursor,e.cursorPriority):e.element.style.removeProperty(`cursor`))};return{setActive(r){if(e?.toggleAttribute(`data-mesurer-recording-active`,r),!r){n();return}let i=e?.querySelector(`[data-mesurer-interaction-overlay='true']`);i&&((!t||t.element!==i)&&(n(),t={element:i,pointerEvents:i.style.getPropertyValue(`pointer-events`),pointerEventsPriority:i.style.getPropertyPriority(`pointer-events`),cursor:i.style.getPropertyValue(`cursor`),cursorPriority:i.style.getPropertyPriority(`cursor`)}),i.style.setProperty(`pointer-events`,`none`,`important`),i.style.setProperty(`cursor`,`default`,`important`))}}},rS=`mesurer.recording`,iS=`recording:v1`,aS=`mesurer.recording.settings`,oS=`runtime:solid`,sS=`recording.toggle`,cS=`recording.stop`,lS=`recording.discard`,uS=`recording.export`,dS=60,fS=60,pS={viewBox:`0 0 24 24`,paths:[`M7 5.75A3.25 3.25 0 0 0 3.75 9v6A3.25 3.25 0 0 0 7 18.25h7A3.25 3.25 0 0 0 17.25 15v-1.03l2.13 1.42a.75.75 0 0 0 1.17-.624V9.234a.75.75 0 0 0-1.17-.624l-2.13 1.42V9A3.25 3.25 0 0 0 14 5.75H7Zm10.25 6.082 1.8-1.2v2.736l-1.8-1.2v-.336Z`,`M10.5 9.25a2.75 2.75 0 1 0 0 5.5 2.75 2.75 0 0 0 0-5.5Z`]},mS=e=>e?{...e}:null,hS=e=>({...e,rect:mS(e.rect)}),gS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},_S=e=>e!=null&&!Array.isArray(e)&&typeof e==`object`,vS=e=>typeof e==`number`&&Number.isFinite(e),yS=e=>{if(!_S(e))return{};let t={};return(e.format===`webm`||e.format===`mp4`)&&(t.format=e.format),vS(e.startTime)&&(t.startTime=e.startTime),vS(e.endTime)&&(t.endTime=e.endTime),(e.scale===1||e.scale===2||e.scale===3)&&(t.scale=e.scale),t},bS=e=>({status:e.status,elapsed:e.elapsed,rect:e.rect?{...e.rect}:null,duration:e.duration,width:e.width,height:e.height,error:e.error}),xS=e=>({filename:e.filename,format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size}),SS=e=>({format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size,createdAt:e.createdAt}),CS=(e,t,n)=>{let r=globalThis.URL.createObjectURL(e.blob),i=t.createElement(`a`);i.href=r,i.download=e.filename,i.rel=`noopener`,t.documentElement.append(i),i.click(),i.remove(),n.setTimeout(()=>globalThis.URL.revokeObjectURL(r),1e3)},wS=(e={})=>ya({id:rS,version:`0.1.0`,requires:[oS],provides:[`tool:recording`,iS],setup(t){let n=t.service.get(oS);if(!n)throw Error(`Recording plugin requires the Solid renderer runtime.`);let{ownerDocument:r,ownerWindow:i}=n,a=n.createInspectorMount(),o=a.element,s=n.createInspectorMount(),c=s.element,l=n.rendererRoot??n.portalTarget.querySelector(`[data-mesurer-root='true']`),u=nS(l);o.dataset.mesurerRecording=`true`,c.dataset.mesurerRecordingStatusRoot=`true`,gS(o,{position:`fixed`,inset:`0`,"z-index":`86`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`}),gS(c,{position:`fixed`,inset:`0`,"z-index":`96`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`});let d=Math.max(1,Math.min(600,e.maxDurationSeconds??fS)),f=e.quality??`medium`;t.state.register({id:aS,initial:{toolEnabled:e.toolEnabled??!0,frameRate:e.frameRate??dS},persist:!0});let p=()=>{let e=t.state.get(aS);return{toolEnabled:e?.toolEnabled??!0,frameRate:e?.frameRate===120?120:60}},m=e=>{t.state.update(aS,t=>{let n={...t};return e.toolEnabled!==void 0&&(n.toolEnabled=e.toolEnabled),(e.frameRate===60||e.frameRate===120)&&(n.frameRate=e.frameRate),n})},h={status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null},g=new Set,_=null,v=null,y=null,b=null,x,S=null,C=0,w=0,T=0,E=0,D=-1,O=!1,k=null,A=()=>{let e=hS(h);for(let t of g)t(e)},j=e=>{h={...h,...e,rect:e.rect===void 0?h.rect:mS(e.rect)},A()},M=()=>h.status===`selecting`||h.status===`recording`||h.status===`exporting`,N=()=>{if(S)return;let e=n.portalTarget.querySelector(`[data-mesurer-toolbar='true']`);e&&(S={element:e,value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)},e.style.setProperty(`visibility`,`hidden`,`important`))},P=()=>{if(!S)return;let e=S;S=null,e.value||e.priority?e.element.style.setProperty(`visibility`,e.value,e.priority):e.element.style.removeProperty(`visibility`)},F=async e=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let t=b;if(b=null,t)try{await t}catch{}let n=y;y=null,e&&await n?.cancel();let r=v;v=null,r&&Tx(r),x.hideRecordingMask(),x.hideRecordingStatus()},I=()=>{_=null,z.dismiss(),j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}),t.hook.emit(`recording:discard`,{})},L=async()=>{let e=_;return Fx(e?.width??Math.max(2,Math.round(i.innerWidth)),e?.height??Math.max(2,Math.round(i.innerHeight)),p().frameRate)},R=async(e={})=>{let n=_;if(!n)throw Error(`No recording is ready to export.`);let r=h.status;j({status:`exporting`,error:null});try{let r=await zx(n.blob,e),i={...r,filename:Bx(r.format)};return j({status:`ready`,duration:n.duration,width:n.width,height:n.height,error:null}),await t.hook.emit(`recording:export`,{filename:i.filename,format:i.format,duration:i.duration,width:i.width,height:i.height,bytes:i.blob.size}),i}catch(e){throw j({status:r===`ready`?`ready`:`error`,error:e instanceof Error?e.message:`Could not export the recording.`}),e}},z=Qx({ownerDocument:r,ownerWindow:i,root:o,formats:async()=>L(),onDiscard:I,onExport:R}),B=async()=>{if(k)return k;if(h.status!==`recording`||!y||!v)throw Error(`No recording is active.`);let e=T,n=y,r=v,a=mS(h.rect);if(!a)throw Error(`Recording region is unavailable.`);return k=(async()=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let s=b;b=null,s&&await s;let c=await n.finalize();if(y=null,v=null,Tx(r),T!==e||O)throw Error(`Recording was cancelled.`);let l=await Rx(c),u={blob:c,format:`webm`,duration:l.duration,width:l.width,height:l.height,createdAt:Date.now()};return _=u,x.hideRecordingMask(),x.hideRecordingStatus(),P(),o.style.pointerEvents=`none`,j({status:`ready`,elapsed:l.duration,duration:l.duration,width:l.width,height:l.height,error:null}),z.show(u),await t.hook.emit(`recording:ready`,{rect:a,duration:l.duration,width:l.width,height:l.height,bytes:c.size}),u})().catch(async t=>{if(await F(!0),P(),T===e&&!O){let e=t instanceof Error?t.message:`Could not finish the recording.`;j({status:`error`,error:e}),x.flashError(t)}throw t}).finally(()=>{k=null}),k},V=(e,t,n,r)=>{let a=1/r,o=r=>{if(O||T!==n||h.status!==`recording`||y!==t||v!==e)return;let s=Math.max(0,(r-E)/1e3);j({elapsed:s}),x.setRecordingTime(`${String(Math.floor(s/60)).padStart(2,`0`)}:${String(Math.floor(s%60)).padStart(2,`0`)}`);let c=s;!b&&c-D>=a*.8&&(wx(e,h.rect??{left:0,top:0,width:i.innerWidth,height:i.innerHeight},sx(i)),D=c,b=t.addFrame(c,a).catch(e=>{throw T===n&&!O&&F(!0).then(()=>{P();let t=e instanceof Error?e.message:`MediaBunny could not encode the recording.`;j({status:`error`,error:t}),x.flashError(e)}),e}).finally(()=>{b=null})),C=i.requestAnimationFrame(o)};C=i.requestAnimationFrame(o)},ee=async e=>{let n=++T,a=p().frameRate;z.dismiss(),_=null,x.showRecordingMask(e),o.style.pointerEvents=`none`,u.setActive(!0),P(),j({status:`selecting`,elapsed:0,rect:e,duration:null,width:null,height:null,error:null}),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e);try{let s=await Cx(r,i,e,a);if(O||T!==n){Tx(s);return}let c=await Lx(s.canvas,{format:`webm`,frameRate:a,quality:f});if(O||T!==n){await c.cancel(),Tx(s);return}if(v=s,y=c,E=i.performance.now(),D=0,wx(s,e,sx(i)),await c.addFrame(0,1/a),O||T!==n){await F(!0);return}j({status:`recording`,elapsed:0}),o.style.pointerEvents=`none`,u.setActive(!0),x.showRecordingMask(e),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e),V(s,c,n,a),s.track.addEventListener(`ended`,()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},{once:!0}),w=i.setTimeout(()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},d*1e3),await t.hook.emit(`recording:start`,{rect:{...e},frameRate:a,maxDurationSeconds:d})}catch(t){if(await F(!0),P(),T!==n||O)return;let r=t instanceof DOMException&&t.name===`AbortError`,i=r?null:t instanceof Error?t.message:`Could not start the recording.`;throw j({status:r?`idle`:`error`,rect:r?null:e,error:i}),r||x.flashError(t),t}},H=()=>{h.status!==`selecting`&&(++T,z.dismiss(),_=null,N(),x.startSelection(),j({status:`selecting`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}))},U=async e=>{if(h.status===`recording`){await B();return}if(h.status===`selecting`){await W();return}if(!e){H();return}if(e.width<4||e.height<4)throw Error(`Recording selection must be at least 4px by 4px.`);await ee(e)},W=async()=>{++T,x.finishSelection(),await F(!0),P(),h.status!==`ready`&&j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null})};x=tS({ownerDocument:r,ownerWindow:i,root:o,statusRoot:c,rendererRoot:l,isSelecting:()=>h.status===`selecting`,isRecording:()=>h.status===`recording`,onRectChange:e=>j({rect:e}),onConfirm:ee,onCancel:W,onStop:async()=>{await B()},setRecordingInteractionActive:u.setActive});let te={snapshot:()=>hS(h),subscribe(e){return g.add(e),()=>g.delete(e)},settings:p,setSettings:m,formats:L,start:U,stop:B,cancel:W,discard:I,export:R};t.tool.register({id:`recording`,label:`Record`,shortcut:`Shift+R`,order:72,command:sS,toolbarMode:`select`,compactPinned:!0,icon:pS,active:M,hidden:()=>!p().toolEnabled,menu:{label:`Recording options`,items:[{id:`new`,label:`New recording`,disabled:()=>h.status===`recording`||h.status===`exporting`,run:()=>U()},{id:`stop`,label:`Stop recording`,disabled:()=>h.status!==`recording`,run:()=>B().then(()=>void 0)},{id:`discard`,label:`Discard clip`,disabled:()=>_===null,run:I}]}}),t.settings.register({id:`recording`,label:`Recording`,order:42,controls:[{type:`toggle`,id:`tool`,label:`Recording tool`,description:`Show selected-region video recording in the Select toolbar.`,value:()=>p().toolEnabled,set:async e=>{m({toolEnabled:e}),!e&&M()&&await W()}},{type:`toggle`,id:`120-fps`,label:`120 fps`,description:`Record at 120 fps when the capture source supports it. Off records at 60 fps.`,value:()=>p().frameRate===120,disabled:M,set:e=>{m({frameRate:e?120:60})}}]}),t.command.register(sS,async()=>(await U(),bS(h))),t.command.register(cS,async()=>SS(await B())),t.command.register(lS,()=>(I(),bS(h))),t.command.register(uS,async e=>{let t=await R(yS(e));return CS(t,r,i),xS(t)}),t.service.provide(iS,te),t.lifecycle.onDispose(()=>{O=!0,++T,g.clear(),z.dispose(),x.dispose(),P(),F(!0),s.dispose(),a.dispose()})}}),TS=144,ES=96,DS=8,OS=4,kS=1800,AS=200,jS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},MS=(e,t)=>({left:Math.min(Math.max(DS,e.left),Math.max(DS,t.innerWidth-TS-DS)),top:Math.min(Math.max(DS,e.top),Math.max(DS,t.innerHeight-ES-DS))}),NS=(e,t)=>{let n=e.createElement(`button`);return n.type=`button`,n.textContent=t,jS(n,{height:`32px`,padding:`0 12px`,border:`1px solid rgb(255 255 255 / 18%)`,"border-radius":`8px`,"background-color":`rgb(28 28 30 / 84%)`,color:`white`,"font-family":`inherit`,"font-size":`12px`,"font-weight":`500`,cursor:`pointer`}),n},PS=({copied:e,downloaded:t,copyFailed:n,downloadFailed:r})=>e&&t?`Copied and saved screenshot`:e&&r?`Copied screenshot · Save unavailable`:t&&n?`Saved screenshot · Copy unavailable`:e?`Copied screenshot`:t?`Saved screenshot`:n&&r?`Screenshot captured · Copy and save unavailable`:n?`Screenshot captured · Copy unavailable`:r?`Screenshot captured · Save unavailable`:`Screenshot captured`,FS=e=>e!==null&&(e.nodeType===1||e.nodeType===11),IS=({ownerDocument:e,ownerWindow:t,root:n,previewDurationMs:r})=>{let i=n.closest(`[data-mesurer-root='true']`)??n.parentNode;if(!FS(i))throw Error(`Screenshot preview requires a mounted Mesurer host.`);let a=e.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerScreenshotInteractive=`true`,jS(a,{position:`fixed`,left:`0`,top:`0`,width:`0`,height:`0`,overflow:`visible`,"z-index":`96`,"pointer-events":`auto`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`}),i.append(a);let o=e.createElement(`div`);o.dataset.mesurerScreenshotPreview=`true`,o.setAttribute(`role`,`button`),o.setAttribute(`aria-label`,`Open captured screenshot`),o.tabIndex=0,jS(o,{position:`fixed`,display:`none`,"z-index":`96`,width:`${TS}px`,height:`${ES}px`,"box-sizing":`border-box`,overflow:`hidden`,"border-radius":`10px`,border:`1px solid rgb(0 0 0 / 14%)`,"background-color":`white`,"box-shadow":`0 2px 8px rgb(0 0 0 / 12%)`,"pointer-events":`auto`,cursor:`grab`,"user-select":`none`,"touch-action":`none`});let s=e.createElement(`img`);s.dataset.mesurerScreenshotPreviewImage=`true`,s.alt=`Captured screenshot`,s.draggable=!1,s.title=`Click to open · Right-click for browser image actions`,jS(s,{display:`block`,width:`100%`,height:`100%`,"object-fit":`contain`,"background-color":`white`}),o.append(s);let c=e.createElement(`button`);c.dataset.mesurerScreenshotPreviewDismiss=`true`,c.type=`button`,c.setAttribute(`aria-label`,`Dismiss screenshot preview`),c.title=`Dismiss`,jS(c,{position:`absolute`,top:`8px`,right:`8px`,width:`20px`,height:`20px`,display:`flex`,"align-items":`center`,"justify-content":`center`,"box-sizing":`border-box`,padding:`0`,border:`0`,"border-radius":`999px`,"background-color":`rgb(48 51 64)`,color:`white`,"font-family":`inherit`,"font-size":`14px`,"line-height":`1`,"z-index":`2`,cursor:`pointer`,"touch-action":`none`});let l=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);l.setAttribute(`viewBox`,`0 0 16 16`),l.setAttribute(`width`,`12`),l.setAttribute(`height`,`12`),l.setAttribute(`fill`,`none`),l.setAttribute(`aria-hidden`,`true`);let u=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);u.setAttribute(`d`,`m4 4 8 8M12 4l-8 8`),u.setAttribute(`stroke`,`currentColor`),u.setAttribute(`stroke-width`,`1.75`),u.setAttribute(`stroke-linecap`,`round`),l.append(u),c.append(l),o.append(c),a.append(o);let d=e.createElement(`div`);d.dataset.mesurerScreenshotViewer=`true`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-modal`,`true`),d.setAttribute(`aria-label`,`Screenshot viewer`),jS(d,{position:`fixed`,inset:`0`,display:`none`,"z-index":`110`,"align-items":`center`,"justify-content":`center`,padding:`56px 48px 40px`,"box-sizing":`border-box`,"background-color":`rgb(0 0 0 / 72%)`,"backdrop-filter":`blur(8px)`,"pointer-events":`auto`});let f=e.createElement(`img`);f.dataset.mesurerScreenshotViewerImage=`true`,f.alt=`Captured screenshot`,jS(f,{display:`block`,"max-width":`calc(100vw - 96px)`,"max-height":`calc(100vh - 112px)`,width:`auto`,height:`auto`,"object-fit":`contain`,"border-radius":`8px`,"box-shadow":`0 8px 30px rgb(0 0 0 / 28%)`}),d.append(f);let p=e.createElement(`div`);p.dataset.mesurerScreenshotViewerControls=`true`,jS(p,{position:`fixed`,top:`16px`,right:`16px`,display:`flex`,gap:`8px`,"pointer-events":`auto`});let m=NS(e,`Copy`);m.dataset.mesurerScreenshotViewerCopy=`true`,m.setAttribute(`aria-label`,`Copy screenshot`);let h=NS(e,`Save`);h.dataset.mesurerScreenshotViewerSave=`true`,h.setAttribute(`aria-label`,`Save screenshot`);let g=NS(e,`Close`);g.dataset.mesurerScreenshotViewerClose=`true`,g.setAttribute(`aria-label`,`Close screenshot viewer`),p.append(m,h,g),d.append(p),a.append(d);let _=e.createElement(`div`);_.dataset.mesurerScreenshotToast=`true`,_.setAttribute(`role`,`status`),jS(_,{position:`fixed`,left:`50%`,bottom:`20px`,display:`none`,"z-index":`120`,transform:`translateX(-50%)`,padding:`7px 10px`,"border-radius":`8px`,"background-color":`rgb(28 28 30 / 90%)`,color:`white`,"font-size":`12px`,"font-weight":`500`,"pointer-events":`none`}),a.append(_);let v=null,y=null,b=null,x=null,S=0,C=0,w=null,T=!1,E=()=>{S&&t.clearTimeout(S),S=0},D=()=>{C&&t.clearTimeout(C),C=0},O=(e,n=!1)=>{D(),_.textContent=e,_.style.backgroundColor=n?`#b42318`:`rgb(28 28 30 / 90%)`,_.style.display=`block`,C=t.setTimeout(()=>{C=0,_.style.display=`none`},kS)},k=()=>{d.style.display=`none`},A=()=>{y&&globalThis.URL.revokeObjectURL(y),y=null,v=null,s.removeAttribute(`src`),f.removeAttribute(`src`)},j=()=>{E(),k(),w&&=(w.cancel(),null),o.style.display=`none`,o.style.opacity=`1`,o.style.transform=`none`,o.style.removeProperty(`will-change`),o.style.pointerEvents=`auto`,A()},M=()=>{if(!v||o.style.display===`none`||w)return;E(),k();let e=o.getBoundingClientRect(),n=Math.max(152,t.innerWidth-e.left+DS);o.style.pointerEvents=`none`,o.style.willChange=`transform, opacity`;let r=o.animate([{transform:`translateX(0) scale(1)`,opacity:1},{transform:`translateX(${n}px) scale(0.92)`,opacity:0}],{duration:AS,easing:`ease`,fill:`forwards`});w=r,r.finished.catch(()=>void 0).then(()=>{w===r&&(r.cancel(),w=null,j())})},N=()=>MS({left:t.innerWidth-TS-DS,top:t.innerHeight-ES-DS},t),P=e=>{let n=MS(e,t);b=n,o.style.left=`${n.left}px`,o.style.top=`${n.top}px`},F=()=>{!v||!y||(E(),d.style.display=`flex`,g.focus())},I=async()=>{let e=v;if(e)try{await Ka(Promise.resolve(e),t),O(`Copied screenshot`)}catch{O(`Could not copy screenshot`,!0)}},L=()=>{let n=v;if(n)try{Ja(n,qa(),e,t),O(`Saved screenshot`)}catch{O(`Could not save screenshot`,!0)}},R=(e,t,n)=>{if(!v)return!1;E();let r=o.getBoundingClientRect();return x={pointerId:n,startX:e,startY:t,left:r.left,top:r.top,moved:!1},o.style.cursor=`grabbing`,!0},z=(e,t)=>{let n=x;if(!n)return;let r=e-n.startX,i=t-n.startY;!n.moved&&Math.hypot(r,i)>=OS&&(n.moved=!0),n.moved&&P({left:n.left+r,top:n.top+i})},B=()=>{let e=x;e&&(x=null,o.style.cursor=`grab`,e.moved||F())},V=()=>{x&&(x=null,o.style.cursor=`grab`)},ee=e=>{e.button!==0||!R(e.clientX,e.clientY,null)||e.preventDefault()},H=e=>{x?.pointerId===null&&z(e.clientX,e.clientY)},U=e=>{e.button===0&&x?.pointerId===null&&B()},W=e=>{e.pointerType!==`mouse`&&e.button===0&&R(e.clientX,e.clientY,e.pointerId)&&(o.setPointerCapture?.(e.pointerId),e.preventDefault())},te=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&z(e.clientX,e.clientY)},ne=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),B())},re=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),V())},ie=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),F())},G=e=>{e.target!==s&&e.preventDefault()},ae=e=>{e.target===d&&k()},oe=e=>{e.key===`Escape`&&d.style.display!==`none`&&(e.preventDefault(),e.stopImmediatePropagation(),k())};return c.addEventListener(`pointerdown`,e=>e.stopPropagation()),c.addEventListener(`mousedown`,e=>e.stopPropagation()),c.addEventListener(`click`,e=>{e.stopPropagation(),M()}),o.addEventListener(`mousedown`,ee),o.addEventListener(`pointerdown`,W),o.addEventListener(`keydown`,ie),o.addEventListener(`contextmenu`,G),d.addEventListener(`click`,ae),m.addEventListener(`click`,()=>{I()}),h.addEventListener(`click`,L),g.addEventListener(`click`,k),t.addEventListener(`mousemove`,H,!0),t.addEventListener(`mouseup`,U,!0),t.addEventListener(`pointermove`,te,!0),t.addEventListener(`pointerup`,ne,!0),t.addEventListener(`pointercancel`,re,!0),t.addEventListener(`keydown`,oe,!0),{show(e,n){if(T)return;E(),k(),w&&=(w.cancel(),null),o.style.opacity=`1`,o.style.transform=`none`,o.style.willChange=`transform, opacity`,o.style.pointerEvents=`auto`,A(),v=e;let i=globalThis.URL.createObjectURL(e);y=i,s.src=i,f.src=i,o.style.display=`block`,P(b??N()),O(PS(n)),r>0&&(S=t.setTimeout(j,r))},dismiss:j,dispose(){T||(T=!0,E(),D(),j(),t.removeEventListener(`mousemove`,H,!0),t.removeEventListener(`mouseup`,U,!0),t.removeEventListener(`pointermove`,te,!0),t.removeEventListener(`pointerup`,ne,!0),t.removeEventListener(`pointercancel`,re,!0),t.removeEventListener(`keydown`,oe,!0),o.removeEventListener(`mousedown`,ee),o.removeEventListener(`pointerdown`,W),o.removeEventListener(`keydown`,ie),o.removeEventListener(`contextmenu`,G),d.removeEventListener(`click`,ae),a.remove())}}},LS=`mesurer.screenshot`,RS=`screenshot`,zS=`mesurer.screenshot.settings`,BS=`mesurer.screenshot.active`,VS=`runtime:solid`,HS=`screenshot.toggle`,US=2500,WS=0,GS=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-selection-spacing-target='true']`,`[data-mesurer-guide='true']`,`[data-mesurer-distance='true']`].join(`,`),KS=`${GS},[data-mesurer-rulers='true'],[data-mesurer-multi-selection-document-layer='true']`,qS={viewBox:`0 0 256 256`,paths:[`m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z`,`m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z`]},JS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},YS=(e,t)=>{for(let n of[`left`,`top`,`right`,`bottom`,`width`,`height`]){let r=t[n];r===void 0?e.style.removeProperty(n):e.style.setProperty(n,`${r}px`)}},XS=e=>{let t=e(zS);return{toolEnabled:t?.toolEnabled??!0,copy:t?.copy??!0,download:t?.download??!1,includeMeasurements:t?.includeMeasurements??!1}},ZS=e=>({value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),QS=(e,t)=>{t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`)},$S=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},eC=e=>{let t=e.querySelector(`[data-mesurer-root='true']`);if(!t)return()=>void 0;let n=new Set;for(let e of t.querySelectorAll(`[data-mesurer-rulers='true']`)){let r=$S(e,t);r&&n.add(r)}for(let e of t.querySelectorAll(GS)){let r=$S(e,t);r&&n.add(r)}let r=[];for(let e of n)e.dataset.mesurerInspectorUi!==`true`&&(r.push({element:e,display:ZS(e)}),e.style.setProperty(`display`,`none`,`important`));return()=>{for(let e of r)QS(e.element,e.display)}},tC=e=>Array.from(e.querySelectorAll(KS)).filter(e=>e.dataset.mesurerInspectorUi===`true`).map(e=>({element:e,display:ZS(e)})),nC=e=>{for(let t of e)t.element.isConnected&&QS(t.element,t.display)},rC=(e={})=>ya({id:LS,version:`0.1.0`,requires:[VS],provides:[`tool:screenshot`,`capture:screenshot`,`settings:screenshot`],setup(t){let n=t.service.get(VS);if(!n)throw Error(`Screenshot plugin requires the Solid renderer runtime.`);let{ownerDocument:r,ownerWindow:i}=n,a=n.createWorkspaceRuntime(),o=n.createInspectorMount(),s=e.capture??e.captureVisibleTab,c=s??mo,l=e.previewDurationMs??WS;t.state.register({id:zS,initial:{toolEnabled:e.toolEnabled??!0,copy:e.copy??!0,download:e.download??!1,includeMeasurements:e.includeMeasurements??!1},persist:!0}),t.state.register({id:BS,initial:!1});let u=o.element;u.dataset.mesurerScreenshot=`true`,JS(u,{position:`fixed`,inset:`0`,"z-index":`85`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`});let d=r.createElement(`div`);d.dataset.mesurerScreenshotSelect=`true`,d.setAttribute(`role`,`application`),d.setAttribute(`aria-label`,`Screenshot selection`),JS(d,{position:`fixed`,inset:`0`,display:`none`,"z-index":`85`,cursor:`crosshair`,"pointer-events":`auto`,"user-select":`none`,"touch-action":`none`}),u.append(d);let f=Array.from({length:4},()=>{let e=r.createElement(`div`);return JS(e,{position:`fixed`,"background-color":`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),d.append(e),e}),p=r.createElement(`div`);JS(p,{position:`fixed`,display:`none`,border:`1px solid #0d99ff`,"box-sizing":`border-box`,"pointer-events":`none`}),d.append(p);let m=r.createElement(`div`);JS(m,{position:`fixed`,display:`none`,"z-index":`86`,transform:`translateX(-50%)`,"border-radius":`4px`,padding:`2px 4px`,"background-color":`#0d99ff`,color:`white`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"pointer-events":`none`}),d.append(m);let h=r.createElement(`div`);h.textContent=`Drag to select · Esc to cancel`,JS(h,{position:`fixed`,left:`50%`,bottom:`16px`,transform:`translateX(-50%)`,"border-radius":`4px`,padding:`4px 8px`,"background-color":`black`,color:`white`,"font-size":`11px`,"pointer-events":`none`}),d.append(h);let g=r.createElement(`div`);g.dataset.mesurerScreenshotError=`true`,g.setAttribute(`role`,`status`),g.textContent=`Could not save screenshot`,JS(g,{position:`fixed`,display:`none`,"z-index":`97`,"border-radius":`6px`,padding:`6px 8px`,"background-color":`#b42318`,color:`white`,"font-size":`11px`,"pointer-events":`none`}),u.append(g);let _=null,v=null,y=0,b=0,x=!1,S=!1,C=!1,w=()=>t.state.get(`mesurer.screenshot.active`)??!1,T=()=>XS(t.state.get),E=e=>{t.state.update(zS,t=>{let n={...t};return e.toolEnabled!==void 0&&(n.toolEnabled=e.toolEnabled),e.copy!==void 0&&(n.copy=e.copy),e.download!==void 0&&(n.download=e.download),e.includeMeasurements!==void 0&&(n.includeMeasurements=e.includeMeasurements),n})},D=e=>{w()!==e&&t.state.update(`mesurer.screenshot.active`,()=>e)},O=()=>{if(v)return;let e=n.portalTarget.querySelector(`[data-mesurer-toolbar='true']`);e&&(v={element:e,visibility:{value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)}},e.style.setProperty(`visibility`,`hidden`,`important`))},k=()=>{if(!v)return;let{element:e,visibility:t}=v;v=null,t.value||t.priority?e.style.setProperty(`visibility`,t.value,t.priority):e.style.removeProperty(`visibility`)},A=e=>{let t=i.innerWidth,n=i.innerHeight;if(!e||e.width<=0||e.height<=0){YS(f[0],{left:0,top:0,width:t,height:n});for(let e of f.slice(1))YS(e,{left:0,top:0,width:0,height:0});p.style.display=`none`,m.style.display=`none`;return}YS(f[0],{left:0,top:0,width:t,height:e.top}),YS(f[1],{left:0,top:e.top,width:e.left,height:e.height}),YS(f[2],{left:e.left+e.width,top:e.top,width:Math.max(0,t-e.left-e.width),height:e.height}),YS(f[3],{left:0,top:e.top+e.height,width:t,height:Math.max(0,n-e.top-e.height)}),p.style.display=`block`,YS(p,e),m.style.display=`block`,m.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,YS(m,{left:e.left+e.width/2,top:Math.min(n-22,e.top+e.height+6)})},j=()=>n.portalTarget.querySelector(`[data-mesurer-tool-id='screenshot']`)?.getBoundingClientRect()??null,M=IS({ownerDocument:r,ownerWindow:i,root:u,previewDurationMs:l}),N=e=>{let t=j(),n=Math.max(140,e.offsetWidth||140),r=Math.max(26,e.offsetHeight||26),a=t?Math.min(i.innerWidth-n-8,Math.max(8,t.left+t.width/2-n/2)):8,o=t?t.bottom+8:8,s=o+r<=i.innerHeight-8?o:Math.max(8,(t?.top??i.innerHeight)-r-8);e.style.left=`${a}px`,e.style.top=`${s}px`},P=()=>{y&&i.clearTimeout(y),g.style.display=`block`,N(g),y=i.setTimeout(()=>{y=0,g.style.display=`none`},US)},F=()=>{_=null,A(null),d.style.visibility=``,d.style.display=`none`,u.style.pointerEvents=`none`,D(!1),k()},I=()=>{b+=1,F(),ho(i)},L=async e=>{if(x)throw Error(`A screenshot capture is already running.`);if(e.width<4||e.height<4)throw Error(`Screenshot selection must be at least 4px by 4px.`);x=!0;let o=++b,s=T(),l=s.includeMeasurements?tC(r):[],u=s.includeMeasurements?()=>void 0:eC(n.portalTarget);a.prepareCapture(),s.includeMeasurements&&nC(l);try{d.style.visibility=`hidden`,await Ya(i);let n=await Ga(await c({ownerDocument:r,ownerWindow:i}),e,{width:i.innerWidth,height:i.innerHeight},r,Ua(r));if(b!==o)throw Error(`Screenshot capture was cancelled.`);let a=!1,l=!1,u=s.copy?Ka(Promise.resolve(n),i).then(()=>{a=!0}):Promise.resolve(),f=s.download?Promise.resolve().then(()=>{Ja(n,qa(),r,i),l=!0}):Promise.resolve(),p=await Promise.allSettled([u,f]),m=s.copy&&p[0]?.status===`rejected`,h=s.download&&p[1]?.status===`rejected`;if(b!==o)throw Error(`Screenshot capture was cancelled.`);return w()&&F(),M.show(n,{copied:a,downloaded:l,copyFailed:m,downloadFailed:h}),await t.hook.emit(`screenshot:capture`,{rect:{...e},copied:a,downloaded:l}),{blob:n,rect:{...e},copied:a,downloaded:l}}catch(e){throw b===o&&P(),e}finally{d.style.visibility=``,u(),a.finishCapture(),x=!1}},R=async()=>{if(T().toolEnabled){if(w()){I();return}if(!S){S=!0,M.dismiss();try{if(s||await po(r,i),C)return;O(),A(null),d.style.visibility=`visible`,u.style.pointerEvents=`auto`,d.style.display=`block`,D(!0)}catch(e){throw e instanceof Error&&e.name===`AbortError`||P(),e}finally{S=!1}}}},z=e=>{!w()||e.button!==0||(e.preventDefault(),e.stopPropagation(),_={x:e.clientX,y:e.clientY},A(Wa(_,_,{width:i.innerWidth,height:i.innerHeight})),d.setPointerCapture?.(e.pointerId))},B=e=>{!w()||!_||A(Wa(_,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight}))},V=e=>{let t=_;if(_=null,!w()||!t)return;d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId);let n=Wa(t,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight});if(A(n),n.width<4||n.height<4){A(null);return}L(n).catch(()=>void 0).finally(()=>{w()&&F()})},ee=e=>{_=null,d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId),A(null)},H=e=>{e.key!==`Escape`||!w()||(e.preventDefault(),e.stopImmediatePropagation(),I())};d.addEventListener(`pointerdown`,z),d.addEventListener(`pointermove`,B),d.addEventListener(`pointerup`,V),d.addEventListener(`pointercancel`,ee),i.addEventListener(`keydown`,H,!0);let U={active:w,settings:T,setSettings:E,start:R,cancel:I,capture:L};t.tool.register({id:`screenshot`,label:`Screenshot`,shortcut:`Shift+S`,order:70,command:HS,toolbarMode:`select`,compactPinned:!0,icon:qS,active:w,hidden:()=>!T().toolEnabled,menu:{label:`Screenshot options`,items:[{id:`copy`,label:`Auto-copy`,checked:()=>T().copy,run:()=>E({copy:!T().copy})},{id:`download`,label:`Auto-download`,checked:()=>T().download,run:()=>E({download:!T().download})},{id:`measurements`,label:`Include measurements`,checked:()=>T().includeMeasurements,run:()=>E({includeMeasurements:!T().includeMeasurements})}]}}),t.settings.register({id:`screenshot`,label:`Screenshot`,order:40,controls:[{type:`toggle`,id:`tool`,label:`Screenshot tool`,description:`Show the camera tool in the toolbar.`,value:()=>T().toolEnabled,set:e=>{E({toolEnabled:e}),!e&&w()&&I()}},{type:`toggle`,id:`copy`,label:`Auto-copy`,description:`Copy each successful capture when the browser allows it.`,value:()=>T().copy,set:e=>E({copy:e})},{type:`toggle`,id:`download`,label:`Auto-download`,description:`Download each successful capture as a PNG.`,value:()=>T().download,set:e=>E({download:e})},{type:`toggle`,id:`measurements`,label:`Include measurements`,description:`Keep selections, measurements, guides, distances, and rulers in the PNG.`,value:()=>T().includeMeasurements,set:e=>E({includeMeasurements:e})}]}),t.command.register(HS,R),t.service.provide(RS,U),t.lifecycle.onDispose(()=>{C=!0,b+=1,d.removeEventListener(`pointerdown`,z),d.removeEventListener(`pointermove`,B),d.removeEventListener(`pointerup`,V),d.removeEventListener(`pointercancel`,ee),i.removeEventListener(`keydown`,H,!0),y&&i.clearTimeout(y),M.dispose(),k(),ho(i),a.finishCapture(),a.dispose(),o.dispose()})}}),iC=e=>Number.parseFloat(e)||0,aC=0,oC=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},sC=e=>e.nodeType===9,cC=e=>e.nodeType===11;function lC(e){let t=e.getRootNode();return cC(t)?t:e.ownerDocument}var uC=(e,t)=>{if(sC(e)||cC(e))return e;let n=lC(e);return cC(n)?n:t},dC=600,fC=`audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video`,pC=new WeakMap,mC=e=>{let t=e;for(;t;){if((pC.get(t)??0)>0)return!0;let e=t.getRootNode();t=cC(e)?e.host:t.parentElement}return!1},hC=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,gC=(e,t)=>Array.from(e.getClientRects()).some(e=>hC(e,t)),_C=(e,t,n)=>{let r=e;for(;r;){let e=n.getComputedStyle(r);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||e.contentVisibility===`hidden`||Number(e.opacity)===0)return!0;if(r===t)return!1;r=r.parentElement}return!0},vC=(e,t)=>{if(e.matches(`img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use`))return!0;let n=t.getComputedStyle(e),r=n.backgroundImage!==`none`||n.backgroundColor!==`transparent`&&n.backgroundColor!==`rgba(0, 0, 0, 0)`,i=[`top`,`right`,`bottom`,`left`].some(e=>Number.parseFloat(n.getPropertyValue(`border-${e}-width`))>0&&n.getPropertyValue(`border-${e}-style`)!==`none`);return r||i||n.boxShadow!==`none`||n.outlineStyle!==`none`},yC=(e,t)=>!!e.textContent?.trim()||vC(e,t),bC=(e,t,n)=>{let r=t,i=r.caretRangeFromPoint?.(e.x,e.y)?.startContainer??r.caretPositionFromPoint?.(e.x,e.y)?.offsetNode;if(!i)return null;let a=t.defaultView?.Element;if(!a)return null;let o=i instanceof a?i:i.parentElement;for(;o&&o!==n;){if(n.contains(o))return o;o=o.parentElement}return o===n?n:null},xC=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(n,i,s)=>{if(o.has(n)||mC(n)||r.getComputedStyle(n).pointerEvents!==`none`||_C(n,e,r)||!gC(n,t))return;let c=n.getBoundingClientRect();o.add(n),a.push({element:n,area:c.width*c.height,depth:i,order:s})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=dC;){if(l instanceof i){let t=l;if(r.getComputedStyle(t).pointerEvents===`none`){let n=1,r=t.parentElement;for(;r&&r!==e;)n+=1,r=r.parentElement;s(t,n,u)}}u+=1,l=c.nextNode()}let d=bC(t,n,e);return d&&r.getComputedStyle(d).pointerEvents===`none`&&s(d,1e4,u),a.sort((e,t)=>t.depth-e.depth||e.area-t.area||t.order-e.order).map(({element:e})=>e)},SC=(e,t,n)=>{let r=t.ownerDocument.defaultView;if(!r)return[];let i=[...new Set(e)],a=new Map;for(let e of i){let t=e instanceof r.HTMLElement||e instanceof r.SVGElement?e:null;t&&(a.set(e,e.getAttribute(`style`)),t.style.setProperty(`pointer-events`,`auto`,`important`))}try{let e=lC(t).elementsFromPoint(n.x,n.y),r=e.findIndex(e=>e===t),a=new Map(e.map((e,t)=>[e,t]));return i.filter(e=>{let t=a.get(e);return t!==void 0&&(r<0||t<r)}).sort((e,t)=>e.contains(t)?1:t.contains(e)?-1:(a.get(e)??2**53-1)-(a.get(t)??2**53-1))}finally{for(let[e,t]of a)t===null?e.removeAttribute(`style`):e.setAttribute(`style`,t)}},CC=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},wC=(e,t,n,r)=>{let i=r.defaultView;if(!i)return[];let a=SC(xC(e,t,r).filter(e=>yC(e,i)),e,t);if(a.length>0)return a;if(e.textContent?.trim()&&!e.matches(fC)||e.matches(`a, button, input, select, textarea, label, summary, [contenteditable='true']`))return[];let o=[],s=new Set,c=!sC(n)&&!cC(n)?n:null,l=e.parentElement;for(;l&&l!==r.body&&l!==r.documentElement&&!(c&&l!==c&&!c.contains(l));){let a=l,u=CC(e,a),d=xC(a,t,r).filter(e=>{if(!EC(e,n)||e.closest(`[aria-hidden='true'], [inert]`))return!1;let t=CC(e,a);return t===null||t!==u});for(let e of d)s.has(e)||!yC(e,i)||(s.add(e),o.push(e));if(a===c)break;l=a.parentElement}return SC(o,e,t)};function TC(e,t,n=sC(t)?t:t.ownerDocument??document){let r=uC(t,n),i=n.defaultView;if(!i)return null;let a=r.elementsFromPoint(e.x,e.y);for(let r of a){let a=r;for(;a?.shadowRoot;){let t=a.shadowRoot.elementFromPoint(e.x,e.y);if(!t||t===a)break;a=t}if(!a||!EC(a,t))continue;let o=wC(a,e,t,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function EC(e,t){if(sC(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!cC(e))return!1;n=e.host}return!1}function DC(e,t){if(!e)return t();let n=pC.get(e)??0;pC.set(e,n+1);let r=[e,...e.querySelectorAll(`*`)],i=r.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of r)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{n===0?pC.delete(e):pC.set(e,n);for(let[e,t,n]of i)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function OC(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${oC(e.id,t)}`;let n=e.getAttribute(`data-testid`);if(n)return`[data-testid=${JSON.stringify(n)}]`;let r=[],i=e;for(;i&&r.length<5;){let e=i.localName,t=i.localName,n=i.parentElement;if(n){let r=[...n.children].filter(e=>e.localName===t);r.length>1&&(e+=`:nth-of-type(${r.indexOf(i)+1})`)}r.unshift(e),i=n}return r.join(` > `)}function kC(e,t,n=`dom-inspection-${++aC}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:iC(i.paddingTop),right:iC(i.paddingRight),bottom:iC(i.paddingBottom),left:iC(i.paddingLeft)},o={top:iC(i.marginTop),right:iC(i.marginRight),bottom:iC(i.marginBottom),left:iC(i.marginLeft)},s={left:r.left+a.left,top:r.top+a.top,width:Math.max(0,r.width-a.left-a.right),height:Math.max(0,r.height-a.top-a.bottom)},c={left:r.left-o.left,top:r.top-o.top,width:r.width+o.left+o.right,height:r.height+o.top+o.bottom},l=e.tagName.toLowerCase(),u=e.id?`#${e.id}`:``,d=e.classList.item(0),f=d?`.${d}`:``;return{id:n,rect:{left:r.left,top:r.top,width:r.width,height:r.height},paddingRect:s,marginRect:c,padding:a,margin:o,label:`${l}${u}${f}`,elementRef:e}}function AC(e){let t=e.ownerDocument.defaultView??window,n=t.getComputedStyle(e),r=e instanceof t.HTMLElement?e:null,i=e.getBoundingClientRect(),a=r?kC(r,t):null,o=e=>{let t=Number.parseFloat(e);return Number.isFinite(t)?t:0},s=e=>({top:o(n.getPropertyValue(`${e}-top${e===`border`?`-width`:``}`)),right:o(n.getPropertyValue(`${e}-right${e===`border`?`-width`:``}`)),bottom:o(n.getPropertyValue(`${e}-bottom${e===`border`?`-width`:``}`)),left:o(n.getPropertyValue(`${e}-left${e===`border`?`-width`:``}`))});return{selector:OC(e),tag:e.localName,id:e.id||null,classes:[...e.classList],text:(e.textContent??``).replace(/\s+/g,` `).trim().slice(0,500),role:e.getAttribute(`role`),ariaLabel:e.getAttribute(`aria-label`),rect:{left:i.left,top:i.top,right:i.right,bottom:i.bottom,width:i.width,height:i.height,x:i.x,y:i.y},margin:a?.margin??s(`margin`),padding:a?.padding??s(`padding`),border:s(`border`),typography:{fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,textAlign:n.textAlign,color:n.color},appearance:{backgroundColor:n.backgroundColor,borderColor:n.borderColor,borderRadius:n.borderRadius,boxShadow:n.boxShadow,opacity:n.opacity},layout:{display:n.display,position:n.position,zIndex:n.zIndex,overflowX:n.overflowX,overflowY:n.overflowY,flexDirection:n.flexDirection,alignItems:n.alignItems,justifyContent:n.justifyContent,gap:n.gap,gridTemplateColumns:n.gridTemplateColumns,gridTemplateRows:n.gridTemplateRows,transform:n.transform},scroll:{clientWidth:r?.clientWidth??0,clientHeight:r?.clientHeight??0,scrollWidth:r?.scrollWidth??0,scrollHeight:r?.scrollHeight??0,overflowsX:(r?.scrollWidth??0)>(r?.clientWidth??0)+1,overflowsY:(r?.scrollHeight??0)>(r?.clientHeight??0)+1}}}var jC=`text-edit`,MC=e=>AC(e);function NC(e){let t=e.root??e.ownerDocument,n=e.ownerDocument.defaultView??window,r=(e,n=0)=>t.querySelectorAll(e).item(n)||null,i=n=>t===e.ownerDocument||EC(n,t),a=async()=>{let t=(e.getPluginHost()??await e.waitForPluginHost()).service.get(jC);if(!t)throw Error(`Mesurer text editing service is unavailable.`);return t},o=()=>{let t=e.ownerDocument.documentElement,r=e.ownerDocument.body,i=Math.max(t.scrollWidth,r?.scrollWidth??0),a=Math.max(t.scrollHeight,r?.scrollHeight??0);return{width:n.innerWidth,height:n.innerHeight,devicePixelRatio:n.devicePixelRatio,scrollX:n.scrollX,scrollY:n.scrollY,documentWidth:i,documentHeight:a,horizontalOverflow:i>n.innerWidth+1,verticalOverflow:a>n.innerHeight+1}},s=async(t=2)=>{await e.ownerDocument.fonts?.ready;for(let e=0;e<Math.max(1,t);e+=1)await new Promise(e=>n.requestAnimationFrame(()=>e()))};return{async ready(){await e.waitForPluginHost(),await s()},async describe(){return(await e.waitForPluginHost()).describe()},inspect(e,t=0){let n=r(e,t);return n?MC(n):null},inspectAll(e,n=50){return[...t.querySelectorAll(e)].slice(0,Math.max(0,n)).map(MC)},at(n,r){let a=t.querySelector?.(`[data-mesurer-island]`)??null;return DC(a?.shadowRoot?.querySelector(`[data-mesurer-root='true']`)??a,()=>{let a=TC({x:n,y:r},t,e.ownerDocument);return a&&i(a)?MC(a):null})},distance(e,t){let n=r(e),i=r(t);if(!n||!i)return null;let a=MC(n),o=MC(i),s=a.rect,c=o.rect;return{a,b:o,horizontalGap:c.left>=s.right?c.left-s.right:s.left>=c.right?s.left-c.right:0,verticalGap:c.top>=s.bottom?c.top-s.bottom:s.top>=c.bottom?s.top-c.bottom:0,centerDeltaX:c.left+c.width/2-(s.left+s.width/2),centerDeltaY:c.top+c.height/2-(s.top+s.height/2)}},viewport:o,async feedback(n=[]){await s();let r=e.getPluginHost()??await e.waitForPluginHost();return{viewport:o(),elements:n.flatMap(e=>[...t.querySelectorAll(e)].slice(0,50).map(MC)),plugins:r.describe(),pluginState:r.state.serialize(`all`)}},async command(t,n){let r=await(e.getPluginHost()??await e.waitForPluginHost()).command.execute(t,n,{source:`agent-harness`});return await s(1),r},async state(){return(e.getPluginHost()??await e.waitForPluginHost()).state.serialize(`all`)},async textEdits(){return(await a()).intents()},async textEdit(e){let t=(await a()).intent(e);if(!t)throw Error(`Text edit intent not found: ${e}`);return t},stable:s}}var PC=`0.2.2-beta.8`,FC=mh,IC=hh,LC=()=>({...ug(),version:PC}),RC=IC,zC=(e,t)=>e.left<=t.left+t.width&&e.left+e.width>=t.left&&e.top<=t.top+t.height&&e.top+e.height>=t.top,BC=e=>{if(!e.length)return null;let t=Math.min(...e.map(e=>e.left)),n=Math.min(...e.map(e=>e.top)),r=Math.max(...e.map(e=>e.left+e.width)),i=Math.max(...e.map(e=>e.top+e.height));return{left:t,top:n,width:r-t,height:i-n}},VC=(e,t,n)=>t.some(t=>e.orientation===`vertical`?e.position>=t.left-n&&e.position<=t.left+t.width+n:e.position>=t.top-n&&e.position<=t.top+t.height+n),HC=e=>[...e.measurements,...e.activeMeasurement&&!e.measurements.some(t=>t.id===e.activeMeasurement?.id)?[e.activeMeasurement]:[]];function UC(e){let{workspace:t,scope:n,guideTolerance:r}=e;if(n.kind===`workspace`)return{guides:t.guides.map(e=>({...e})),measurements:HC(t),distances:[...t.distances]};let i=new Set(n.elements),a=e=>e!=null&&i.has(e),o=e=>n.regions.some(t=>zC(e,t));return{guides:t.guides.filter(e=>VC(e,n.regions,r)).map(e=>({...e})),measurements:HC(t).filter(e=>a(e.elementRef)||o(e.rect)),distances:t.distances.filter(e=>a(e.elementRefA)||a(e.elementRefB)||o(e.rectA)||o(e.rectB))}}var WC={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},GC={opacity:1,edgeReveal:!1};({...WC}),{...GC};var KC=10,qC=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),JC=e=>{let t=new Set,n=[];for(let r of e)!r?.isConnected||t.has(r)||(t.add(r),n.push(r));return n},YC=e=>e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;function XC(e){let{runtime:t,ownerDocument:n,ownerWindow:r}=e,i=e.request??{scope:`workspace`},a=t.snapshot();if(!a)throw Error(`Mesurer workspace is not ready yet.`);let o=e=>qC(t.elementRect?.(e)??e.getBoundingClientRect()),s=[],c=[],l={kind:`workspace`},u=new Map;if(`annotation`in i){let e=t.annotation(i.annotation);if(!e)throw Error(`Mesurer annotation not found: ${i.annotation}`);for(let t of e.resolvedTargets)t.element?.isConnected&&u.set(t.element,t.target.id);s=JC(e.resolvedTargets.map(e=>e.element));let n=t.annotationRect(e.id);n&&(c=[n]);let r=e.resolvedTargets.length,a=e.resolvedTargets.filter(e=>e.element?.isConnected).length,o=e.anchor.kind===`region`?`connected`:r===0||a===0?`stale`:a===r?`connected`:`partial`;l={kind:`annotation`,annotationId:e.id,note:e.note,targetStatus:o}}else if(i.scope===`selection`){let e=t.currentSelection();if(s=JC(e.elements),!s.length&&!e.region)throw Error(`Mesurer has no current selection.`);c=e.region?[e.region]:s.map(o),l={kind:`selection`}}else s=JC([...t.currentSelection().elements,...a.measurements.map(e=>e.elementRef),a.activeMeasurement?.elementRef,...a.heldDistances.flatMap(e=>[e.elementRefA,e.elementRefB])]);let d=l.kind===`workspace`?[]:c.length?c:s.map(o),f=UC({workspace:{guides:a.guides,measurements:a.measurements,activeMeasurement:a.activeMeasurement,distances:a.heldDistances},scope:l.kind===`workspace`?{kind:`workspace`}:{kind:`scoped`,elements:s,regions:d},guideTolerance:a.guideRelevanceTolerance??KC}),p=f.measurements,m=f.distances,h=f.guides,g=JC([...s,...p.map(e=>e.elementRef),...m.flatMap(e=>[e.elementRefA,e.elementRefB])]),_=new Map,v=new Set(u.values()),y=1,b=()=>{let e=`target-${y++}`;for(;v.has(e);)e=`target-${y++}`;return v.add(e),e},x=g.map(e=>{let t=u.get(e)??b(),n=o(e),r=AC(e);return _.set(e,t),{ref:t,inspection:{...r,rect:{...n,right:n.left+n.width,bottom:n.top+n.height,x:n.left,y:n.top}}}}),S=p.map(e=>{let t={id:e.id,rect:qC(e.rect),deltaX:e.deltaX,deltaY:e.deltaY};e.snapped!==void 0&&(t.snapped=e.snapped);let n=e.elementRef?_.get(e.elementRef):void 0;return n&&(t.targetRef=n),t}),C=m.map(e=>{let t={id:e.id,rectA:qC(e.rectA),rectB:qC(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null},n=e.elementRefA?_.get(e.elementRefA):void 0,r=e.elementRefB?_.get(e.elementRefB):void 0;return n&&(t.targetARef=n),r&&(t.targetBRef=r),t});return{schema:`mesurer.context/v1`,id:YC(r),createdAt:new Date().toISOString(),scope:l,page:{url:r.location?.href??n.URL,title:n.title},viewport:{width:r.innerWidth,height:r.innerHeight,devicePixelRatio:r.devicePixelRatio,scrollX:r.scrollX,scrollY:r.scrollY},coordinateSpace:`viewport-css-px`,regions:l.kind===`workspace`?[]:c.map(qC),visualState:{rulersVisible:a.rulersVisible,xrayVisible:a.xrayVisible},targets:x,visualContext:{guides:h,layoutGuides:(e.layoutGuides??[]).map(e=>({...e})),measurements:S,distances:C}}}var ZC=e=>`${Math.round(e*100)/100}px`,QC=e=>`x=${ZC(e.left)} y=${ZC(e.top)} w=${ZC(e.width)} h=${ZC(e.height)}`;function $C(e){let t=[`Mesurer visual context`,``,`Page: ${e.page.url}`,`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`];if(e.scope.kind===`annotation`?t.push(``,`Annotation`,e.scope.note,`Target status: ${e.scope.targetStatus}`):t.push(``,`Scope: ${e.scope.kind}`),e.regions.length&&(t.push(``,`Requested regions`),e.regions.forEach((e,n)=>t.push(`- region-${n+1}: ${QC(e)}`))),(e.visualState.rulersVisible||e.visualState.xrayVisible)&&t.push(``,`Visual state: rulers=${e.visualState.rulersVisible?`on`:`off`}; x-ray=${e.visualState.xrayVisible?`on`:`off`}`),e.targets.length){t.push(``,`Targets`);for(let n of e.targets){let e=n.inspection;t.push(`[${n.ref}] ${e.selector}`,` rect: ${QC(e.rect)}`,` margin: ${ZC(e.margin.top)} ${ZC(e.margin.right)} ${ZC(e.margin.bottom)} ${ZC(e.margin.left)}`,` padding: ${ZC(e.padding.top)} ${ZC(e.padding.right)} ${ZC(e.padding.bottom)} ${ZC(e.padding.left)}`,` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`,` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`),e.text&&t.push(` text: ${JSON.stringify(e.text)}`)}}if(e.visualContext.guides.length){t.push(``,`Relevant guides`);for(let n of e.visualContext.guides)t.push(`- ${n.orientation} ${n.orientation===`vertical`?`x`:`y`}=${ZC(n.position)}`)}if(e.visualContext.layoutGuides.length){t.push(``,`Layout guides`);for(let n of e.visualContext.layoutGuides){if(!n.visible)continue;let e=n.kind===`grid`?`grid ${ZC(n.size)}`:`${n.count} ${n.kind}; gutter=${ZC(n.gutter)}; offset=${ZC(n.offset)}; align=${n.align}`;t.push(`- ${e}; color=${n.color}; opacity=${Math.round(n.opacity*100)}%`)}}if(e.visualContext.measurements.length){t.push(``,`Relevant measurements`);for(let n of e.visualContext.measurements)t.push(`- ${n.targetRef?`${n.targetRef}: `:``}${QC(n.rect)}; delta=${ZC(n.deltaX)} × ${ZC(n.deltaY)}`)}if(e.visualContext.distances.length){t.push(``,`Relevant distances`);for(let n of e.visualContext.distances){let e=[n.targetARef,n.targetBRef].filter(Boolean).join(` → `),r=[n.horizontal?`horizontal=${ZC(n.horizontal.value)}`:null,n.vertical?`vertical=${ZC(n.vertical.value)}`:null].filter(Boolean).join(`; `);t.push(`- ${e?`${e}: `:``}${r||`overlapping`}`)}}return t.join(`
|
|
2150
|
+
`,t.head.append(s),i.append(a);let c=!1;return{element:a,dispose(){c||(c=!0,o(),s.remove(),a.remove())}}}var ab=e=>`color-mix(in srgb, ${e.color} ${e.opacity*100}%, transparent)`,ob=e=>e===`max`?`end`:e===`center`?`center`:`start`,sb=e=>{let t=e.kind===`columns`,n=e.align===`stretch`,r=n?`repeat(${e.count}, minmax(0, 1fr))`:`repeat(${e.count}, ${e.size}px)`,i=ob(e.align);return{position:`absolute`,inset:`0`,display:`grid`,...t?{"grid-template-columns":r,"column-gap":`${e.gutter}px`,"justify-content":n?void 0:i,"padding-left":n||e.align===`min`?`${e.offset}px`:`0`,"padding-right":n||e.align===`max`?`${e.offset}px`:`0`}:{"grid-template-rows":r,"row-gap":`${e.gutter}px`,"align-content":n?void 0:i,"padding-top":n||e.align===`min`?`${e.offset}px`:`0`,"padding-bottom":n||e.align===`max`?`${e.offset}px`:`0`},transform:e.align===`center`?t?`translateX(${e.offset}px)`:`translateY(${e.offset}px)`:void 0}};function cb(e){let t=()=>e.guides.filter(e=>e.visible);return Y(q,{get when(){return t().length>0},get children(){var e=X(`div`,{"data-mesurer-layout-guides":`true`,"data-mesurer-layer":`evidence`,class:`msr:pointer-events-none msr:absolute msr:inset-0 msr:overflow-hidden`,style:{"z-index":`2`},"aria-hidden":`true`});return Q(e,Y(Gr,{get each(){return t()},children:e=>Y(q,{get when(){return e.kind===`grid`},get fallback(){var t=X(`div`,{class:`msr:pointer-events-none msr:absolute msr:inset-0`});return Q(t,Y(Gr,{get each(){return Array.from({length:e.count})},children:()=>(()=>{var t=X(`div`,{"data-mesurer-layout-band":`true`});return J(()=>({"min-width":`0`,"min-height":`0`,width:`100%`,height:`100%`,"background-color":ab(e)}),(e,n)=>{$(t,`style`,e,n)}),t})()})),J(()=>({e:e.id,t:e.kind,a:sb(e)}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`data-mesurer-layout-guide`,e,i?.e),n!==i?.t&&$(t,`data-mesurer-layout-guide-kind`,n,i?.t),r!==i?.a&&$(t,`style`,r,i?.a)}),t},get children(){var t=X(`div`,{"data-mesurer-layout-guide-kind":`grid`,class:`msr:pointer-events-none msr:absolute msr:inset-0`});return J(()=>({e:e.id,t:{"background-image":`linear-gradient(to right, ${ab(e)} 1px, transparent 1px), linear-gradient(to bottom, ${ab(e)} 1px, transparent 1px)`,"background-size":`${e.size}px ${e.size}px`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`data-mesurer-layout-guide`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t}})})),e}})}var lb=`#FF0000`,ub=.1,db=new Set([`columns`,`rows`,`grid`]),fb=new Set([`stretch`,`min`,`center`,`max`]),pb=(e,t,n)=>Math.min(n,Math.max(t,e)),mb=(e,t)=>e!==void 0&&Number.isFinite(e)?e:t,hb=(e={})=>{let t=e.kind&&db.has(e.kind)?e.kind:`columns`,n=e.align&&fb.has(e.align)?e.align:t===`grid`?`min`:`stretch`,r=e.id?.trim(),i=e.color?.trim();return{id:r||jo(),kind:t,visible:e.visible??!0,color:i||`#FF0000`,opacity:pb(mb(e.opacity,ub),0,1),count:pb(Math.round(mb(e.count,5)),1,24),size:pb(mb(e.size,72),1,4096),gutter:pb(mb(e.gutter,20),0,800),offset:pb(mb(e.offset,0),0,4096),align:n}},gb=e=>(e??[]).map(hb),_b=e=>{if(e.kind===`grid`)return`Grid ${Math.round(e.size)}px`;let t=e.kind===`columns`?`columns`:`rows`;return e.align===`stretch`?`${e.count} ${t}`:`${e.count} ${t} (${Math.round(e.size)}px)`},vb=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,class:`msr:block`});return Z(t,X(`path`,{d:`m6 6 12 12M18 6 6 18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})),J(()=>({e:e.size??14,t:e.size??14}),({e,t:n},r)=>{e!==r?.e&&$(t,`width`,e,r?.e),n!==r?.t&&$(t,`height`,n,r?.t)}),t})(),yb=e=>e.kind===`rows`?Y(bf,{size:14}):e.kind===`grid`?Y(vf,{size:14}):Y(yf,{size:14}),bb=`msr:grid-cols-[78px_minmax(0,1fr)]`,xb=e=>(()=>{var t=X(`label`,{class:`msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700`}),n=X(`span`);return Z(t,n),Q(n,()=>e.label),Q(t,()=>e.children,null),t})(),Sb=e=>(()=>{var t=X(`span`,{class:`msr:relative msr:block msr:w-full`}),n=X(`select`,{class:Fd,onPointerDown:e=>e.stopPropagation(),onChange:t=>e.onChange(t.currentTarget.value)});return Z(t,n),Q(n,()=>e.children),Q(t,Y(Id,{}),null),J(()=>({e:e.label,t:e.value}),({e,t},r)=>{e!==r?.e&&$(n,`aria-label`,e,r?.e),t!==r?.t&&$(n,`value`,t,r?.t)}),t})(),Cb=e=>{let[t,n]=K(!1),[r,i]=K(String(e.value)),a=()=>e.min??0,o=()=>e.max??9999,s=e=>Math.min(o(),Math.max(a(),e)),c=t=>{let n=Number(t.replace(/[^\d.-]/g,``));if(!Number.isFinite(n)){i(String(e.value));return}e.onChange(s(n))};return Y(Ld,{get left(){var a=X(`input`,{type:`text`,inputmode:`numeric`,class:`msr:h-full msr:w-full msr:min-w-0 msr:border-0 msr:bg-transparent msr:px-2 msr:font-mono msr:text-[12px] msr:font-medium msr:tabular-nums msr:text-ink-700 msr:outline-none`,onFocus:()=>{i(String(e.value)),n(!0)},onBlur:()=>{c(r()),n(!1)},onInput:t=>{let n=t.currentTarget.value.replace(/[^\d.-]/g,``);i(n);let r=Number(n);Number.isFinite(r)&&e.onChange(s(r))},onKeyDown:t=>{if(t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let n=Number(r()),a=Number.isFinite(n)?n:e.value,o=s(a+(t.key===`ArrowUp`?1:-1));i(String(o)),e.onChange(o)},onPointerDown:e=>e.stopPropagation()});return J(()=>({e:e.label,t:t()?r():String(e.value)}),({e,t},n)=>{e!==n?.e&&$(a,`aria-label`,e,n?.e),t!==n?.t&&$(a,`value`,t,n?.t)}),a}})},wb=e=>e===`rows`||e===`grid`?e:`columns`,Tb=e=>e===`min`||e===`center`||e===`max`?e:`stretch`,Eb=e=>{let t=zr(()=>e.guide.kind===`rows`?{stretch:`Stretch`,min:`Top`,center:`Center`,max:`Bottom`}:{stretch:`Stretch`,min:`Left`,center:`Center`,max:`Right`}),n=zr(()=>e.guide.kind===`rows`?`Height`:e.guide.kind===`grid`?`Size`:`Width`);var r=X(`div`,{class:`mesurer-thin-scrollbar msr:flex msr:min-h-0 msr:flex-1 msr:flex-col msr:gap-2 msr:overflow-y-auto msr:p-3`}),i=X(`div`,{class:`msr:flex msr:items-center msr:justify-between msr:gap-2`}),a=X(`button`,{type:`button`,"aria-label":`Back to layout guides`,class:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900`});return Z(r,i),Z(i,a),Q(i,Y(Sb,{label:`Layout guide type`,get value(){return e.guide.kind},onChange:t=>{let n=wb(t);e.onUpdate({kind:n,align:n===`grid`?`min`:e.guide.align===`stretch`||n===e.guide.kind?e.guide.align:`stretch`})},get children(){return[(()=>{var e=X(`option`,{value:`columns`});return Z(e,Yi(`Columns`)),e})(),(()=>{var e=X(`option`,{value:`rows`});return Z(e,Yi(`Rows`)),e})(),(()=>{var e=X(`option`,{value:`grid`});return Z(e,Yi(`Grid`)),e})()]}}),a),Q(a,Y(vb,{})),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(xb,{label:`Count`,get children(){return Y(Cb,{label:`Count`,get value(){return e.guide.count},min:1,max:24,onChange:t=>e.onUpdate({count:t})})}})}}),null),Q(r,Y(Rd,{label:`Color`,columns:bb,get value(){return Oa({...Ea(e.guide.color)??Ea(`#FF0000`),alpha:e.guide.opacity})},fallback:lb,get ownerWindow(){return e.ownerWindow},onChange:t=>{let n=Ea(t);e.onUpdate({color:n?Oa({...n,alpha:1}).slice(0,7):t,opacity:n?.alpha??e.guide.opacity})}}),null),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(xb,{label:`Type`,get children(){return Y(Sb,{label:`Alignment`,get value(){return e.guide.align},onChange:t=>e.onUpdate({align:Tb(t)}),get children(){return Y(Gr,{each:[`stretch`,`min`,`center`,`max`],children:e=>(()=>{var n=X(`option`,{value:e});return Q(n,()=>t()[e]),n})()})}})}})}}),null),Q(r,Y(q,{get when(){return e.guide.kind===`grid`||e.guide.align!==`stretch`},get children(){return Y(xb,{get label(){return n()},get children(){return Y(Cb,{get label(){return n()},get value(){return e.guide.size},min:1,max:4096,onChange:t=>e.onUpdate({size:t})})}})}}),null),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return[Y(xb,{label:`Offset`,get children(){return Y(Cb,{label:`Offset`,get value(){return e.guide.offset},min:0,max:4096,onChange:t=>e.onUpdate({offset:t})})}}),Y(xb,{label:`Gutter`,get children(){return Y(Cb,{label:`Gutter`,get value(){return e.guide.gutter},min:0,max:800,onChange:t=>e.onUpdate({gutter:t})})}})]}}),null),J(()=>e.onBack,(e,t)=>{$(a,`onClick`,e,t)}),r};function Db(e){let[t,n]=K(null),r=zr(()=>e.guides.find(e=>e.id===t())??null);var i=X(`div`,{"data-mesurer-layout-guides-panel":`true`,role:`dialog`,"aria-label":`Layout guides`,class:`mesurer-menu-surface msr:pointer-events-auto msr:flex msr:max-h-[min(320px,calc(100vh-16px))] msr:w-60 msr:flex-col msr:overflow-hidden msr:rounded-lg msr:bg-white msr:p-0 msr:text-[12px] msr:leading-[18px]`,onPointerDown:e=>e.stopPropagation(),onPointerMove:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()});return Q(i,Y(q,{get when(){return r()},get fallback(){var t=X(`div`,{class:`msr:flex msr:min-h-0 msr:flex-1 msr:flex-col msr:gap-1 msr:p-2`}),r=X(`div`,{class:`msr:flex msr:h-7 msr:shrink-0 msr:items-center msr:justify-between msr:px-1`}),i=X(`h2`,{class:`msr:text-[11px] msr:font-semibold msr:text-ink-700`}),a=X(`button`,{type:`button`,"aria-label":`Add layout guide`,class:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900`});return Z(t,r),Z(r,i),Z(r,a),Z(i,Yi(`Layout guides`)),Q(a,Y(xf,{})),Q(t,Y(q,{get when(){return e.guides.length>0},get fallback(){var e=X(`p`,{class:`msr:px-1 msr:pb-2 msr:text-[11px] msr:text-ink-500`});return Z(e,Yi(`Add columns, rows, or a pixel grid on the page.`)),e},get children(){var t=X(`ul`,{class:`mesurer-thin-scrollbar msr:m-0 msr:flex msr:min-h-0 msr:flex-1 msr:list-none msr:flex-col msr:gap-0.5 msr:overflow-y-auto msr:p-0`});return Q(t,Y(Gr,{get each(){return e.guides},children:t=>(()=>{var r=X(`li`,{class:`msr:flex msr:items-center msr:gap-0.5`}),i=X(`button`,{type:`button`,class:`msr:flex msr:min-w-0 msr:flex-1 msr:items-center msr:gap-2 msr:rounded-control msr:px-1 msr:py-1 msr:text-left msr:text-[11px] msr:text-ink-700 msr:outline-none msr:hover:bg-ink-100`,onClick:()=>n(t.id)}),a=X(`span`,{class:`msr:flex msr:h-[19px] msr:items-start msr:text-ink-500`}),o=X(`span`,{class:`msr:min-w-0 msr:flex-1 msr:truncate`}),s=X(`button`,{type:`button`,onClick:()=>e.onUpdate(t.id,{visible:!t.visible})}),c=X(`button`,{type:`button`,class:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900`,onClick:()=>e.onRemove(t.id)});return Z(r,i),Z(r,s),Z(r,c),Z(i,a),Z(i,o),Q(a,Y(yb,{get kind(){return t.kind}})),Q(o,()=>_b(t)),Q(i,Y(df,{size:8,class:`msr:block msr:-rotate-90 msr:text-ink-400`}),null),Q(s,(()=>{var e=Ji(()=>!!t.visible);return()=>e()?Y(Sf,{}):Y(Cf,{})})()),Q(c,Y(pf,{size:10,class:`msr:block`})),J(()=>({e:t.visible?`Hide ${_b(t)}`:`Show ${_b(t)}`,t:t.visible?`true`:`false`,a:`msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible?`msr:text-ink-700`:`msr:text-ink-400`}`,o:`Remove ${_b(t)}`}),({e,t,a:n,o:r},i)=>{e!==i?.e&&$(s,`aria-label`,e,i?.e),t!==i?.t&&$(s,`aria-pressed`,t,i?.t),n!==i?.a&&$(s,`class`,n,i?.a),r!==i?.o&&$(c,`aria-label`,r,i?.o)}),r})()})),t}}),null),J(()=>e.onAdd,(e,t)=>{$(a,`onClick`,e,t)}),t},children:t=>Y(Eb,{get guide(){return t()},get ownerWindow(){return e.ownerWindow},onBack:()=>n(null),onUpdate:n=>e.onUpdate(t().id,n)})})),i}var Ob=`mesurer.layout-guides`,kb=`layout-guides:v1`,Ab=`mesurer.layout-guides.pages`,jb=`mesurer.layout-guides.active`,Mb=`runtime:solid`,Nb=`layout-guides.toggle`,Pb=`layout-guides.add`,Fb=`layout-guides.update`,Ib=`layout-guides.remove`,Lb=`layout-guides.clear`,Rb=240,zb=8,Bb=8,Vb=()=>({pages:{}}),Hb=(e,t)=>e.pages[t]??[],Ub=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Wb=e=>typeof e==`string`,Gb=e=>typeof e==`boolean`,Kb=e=>typeof e==`number`,qb=e=>e===`columns`||e===`rows`||e===`grid`,Jb=e=>e===`stretch`||e===`min`||e===`center`||e===`max`,Yb=e=>({...e}),Xb=e=>e.map(Yb),Zb=e=>Ub(e)?e:null,Qb=e=>{if(!e)return{};let t={};return Wb(e.id)&&(t.id=e.id),qb(e.kind)&&(t.kind=e.kind),Gb(e.visible)&&(t.visible=e.visible),Wb(e.color)&&(t.color=e.color),Kb(e.opacity)&&(t.opacity=e.opacity),Kb(e.count)&&(t.count=e.count),Kb(e.size)&&(t.size=e.size),Kb(e.gutter)&&(t.gutter=e.gutter),Kb(e.offset)&&(t.offset=e.offset),Jb(e.align)&&(t.align=e.align),t},$b=e=>{let t={};return e.id!==void 0&&(t.id=e.id),e.kind!==void 0&&(t.kind=e.kind),e.visible!==void 0&&(t.visible=e.visible),e.color!==void 0&&(t.color=e.color),e.opacity!==void 0&&(t.opacity=e.opacity),e.count!==void 0&&(t.count=e.count),e.size!==void 0&&(t.size=e.size),e.gutter!==void 0&&(t.gutter=e.gutter),e.offset!==void 0&&(t.offset=e.offset),e.align!==void 0&&(t.align=e.align),t},ex={viewBox:`0 0 256 256`,paths:[`M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z`,`M101 56h8v144h-8zM147 56h8v144h-8z`]},tx=()=>ya({id:Ob,version:`0.1.0`,requires:[Mb],provides:[kb,`tool:layout-guides`],setup(e){let t=e.service.get(Mb);if(!t)throw Error(`Layout Guides requires the Solid renderer runtime.`);let n=t.rendererRoot;if(!n)throw Error(`Layout Guides requires a mounted renderer root.`);e.state.register({id:Ab,initial:Vb(),history:!0,persist:!0}),e.state.register({id:jb,initial:!1});let r=Os(t.ownerWindow),i=!1,[a,o]=K(0),s=new Set,c=0,l=()=>e.state.get(`mesurer.layout-guides.pages`)??Vb(),u=()=>e.state.get(`mesurer.layout-guides.active`)??!1,d=()=>gb(Hb(l(),r)),f=()=>(a(),u()?d():[]),p=t=>{e.state.update(jb,()=>t)},m=t=>{e.state.update(Ab,e=>({...e,pages:{...e.pages,[r]:Xb(t(gb(e.pages[r])))}}))};e.command.register(Nb,()=>{let e=!u();return e&&d().length===0&&m(()=>[hb()]),i=e,p(e),u()}),e.command.register(Pb,e=>{let t=hb(Qb(Zb(e)));return m(e=>[...e,t]),{...t}}),e.command.register(Fb,e=>{let t=Zb(e),n=t&&Wb(t.id)?t.id:null,r=Qb(Zb(t?.patch));if(!n)throw Error(`layout-guides.update requires a guide id.`);m(e=>e.map(e=>e.id===n?hb({...e,...r,id:e.id}):e));let i=d().find(e=>e.id===n);if(!i)throw Error(`Layout guide not found: ${n}`);return{...i}}),e.command.register(Ib,e=>{let t=Zb(e),n=t&&Wb(t.id)?t.id:null;if(!n)throw Error(`layout-guides.remove requires a guide id.`);let r=d().length;return m(e=>e.filter(e=>e.id!==n)),d().length!==r}),e.command.register(Lb,()=>{m(()=>[])});let h=async(t,n)=>{let r=Zb(await e.command.execute(t,n));if(!r)throw Error(`${t} did not return a layout guide.`);return hb(Qb(r))},g={list:()=>d().map(e=>({...e})),add:(e={})=>h(Pb,$b(e)),update:(e,t)=>h(Fb,{id:e,patch:$b(t)}),async remove(t){return await e.command.execute(Ib,{id:t})===!0},async clear(){await e.command.execute(Lb)},subscribe(e){s.add(e);let t=!1;return()=>{t||(t=!0,s.delete(e))}}};e.service.provide(kb,g),e.tool.register({id:`layout-guides`,label:`Layout guides`,shortcut:`L`,command:Nb,order:38,toolbarMode:`always`,compactPinned:!0,icon:ex,active:u});let _=t.ownerDocument.createElement(`div`);_.dataset.mesurerLayoutGuidesRoot=`true`,_.dataset.mesurerLayer=`evidence`,_.style.position=`absolute`,_.style.inset=`0`,_.style.pointerEvents=`none`,n.prepend(_);let v=qi(()=>Y(cb,{get guides(){return f()}}),_),y=t.createInspectorMount();y.element.dataset.mesurerLayoutGuidesPanelRoot=`true`,Object.assign(y.element.style,{position:`fixed`,left:`0`,top:`0`,width:`${Rb}px`,zIndex:`100`,pointerEvents:`none`,display:`none`});let b=()=>{if(c=0,!i)return;let e=t.portalTarget.querySelector(`[data-mesurer-tool-id='layout-guides']`);if(!e)return;let n=e.getBoundingClientRect(),r=Math.min(Math.max(Bb,n.right-Rb),Math.max(Bb,t.ownerWindow.innerWidth-Rb-Bb)),a=t.ownerWindow.innerHeight-n.bottom-zb-Bb,o=Math.min(320,t.ownerWindow.innerHeight-16),s=a>=Math.min(o,320)?n.bottom+zb:Math.max(Bb,n.top-zb-o);y.element.style.left=`${r}px`,y.element.style.top=`${s}px`},x=()=>{c||=t.ownerWindow.requestAnimationFrame(b)},S=()=>{y.element.style.display=i?`block`:`none`,i&&x()},C=qi(()=>Y(Db,{get guides(){return f()},get ownerWindow(){return t.ownerWindow},onAdd:()=>{g.add().catch(()=>void 0)},onUpdate:(e,t)=>{g.update(e,t).catch(()=>void 0)},onRemove:e=>{g.remove(e).catch(()=>void 0)}}),y.element),w=()=>{o(e=>e+1);for(let e of s)e();S()},T=e.state.subscribe(w),E=Ms(t.ownerWindow,e=>{r!==e&&(r=e,w())}),D=e=>{if(!i)return;let n=e.composedPath();if(n.includes(y.element))return;let r=t.portalTarget.querySelector(`[data-mesurer-tool-id='layout-guides']`);r&&n.includes(r)||(i=!1,S())},O=e=>{e.key!==`Escape`||!i||(i=!1,S())};S(),t.ownerDocument.addEventListener(`pointerdown`,D,!0),t.ownerDocument.addEventListener(`keydown`,O,!0),t.ownerWindow.addEventListener(`resize`,x),t.ownerWindow.addEventListener(`pointerup`,x,!0),e.lifecycle.onDispose(()=>{t.ownerDocument.removeEventListener(`pointerdown`,D,!0),t.ownerDocument.removeEventListener(`keydown`,O,!0),t.ownerWindow.removeEventListener(`resize`,x),t.ownerWindow.removeEventListener(`pointerup`,x,!0),c&&t.ownerWindow.cancelAnimationFrame(c),c=0,s.clear(),T.dispose(),E(),C(),y.dispose(),v(),_.remove()})}}),nx=`mesurer:recording-bridge-ping`,rx=`mesurer:recording-bridge-request`,ix=`mesurer:recording-bridge-response`,ax=`position:fixed;left:0;top:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none`,ox=.01,sx=e=>({width:e.innerWidth,height:e.innerHeight}),cx=(e,t,n,r)=>{let i=Math.max(1,r.width),a=Math.max(1,r.height),o=t/i,s=n/a,c=Math.abs(o-s)<=ox*Math.max(o,s),l=c?o:Math.min(o,s),u=c?0:(t-i*l)/2,d=c?0:(n-a*l)/2,f=c?o:l,p=c?s:l,m=u+e.left*f,h=d+e.top*p,g=u+(e.left+e.width)*f,_=d+(e.top+e.height)*p,v=Math.max(g-m,1e-6),y=Math.max(_-h,1e-6),b=Math.max(0,Math.min(t,m)),x=Math.max(0,Math.min(n,h)),S=Math.max(0,Math.min(t,g)),C=Math.max(0,Math.min(n,_)),w=Math.max(0,Math.round(b)),T=Math.max(0,Math.round(x)),E=Math.min(t,Math.round(S)),D=Math.min(n,Math.round(C));return{sx:w,sy:T,sw:Math.max(1,E-w),sh:Math.max(1,D-T),dx:(b-m)/v,dy:(x-h)/y,dw:Math.max(0,S-b)/v,dh:Math.max(0,C-x)/y}},lx=(e,t)=>{let n=e.createElement(`div`);return n.dataset.mesurerRecordingCrop=`true`,n.setAttribute(`aria-hidden`,`true`),n.style.position=`fixed`,n.style.left=`${t.left}px`,n.style.top=`${t.top}px`,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`,n.style.margin=`0`,n.style.padding=`0`,n.style.border=`0`,n.style.background=`transparent`,n.style.opacity=`0`,n.style.pointerEvents=`none`,e.body.append(n),n},ux=async(e,t)=>{let n=e.cropTo,r=globalThis.CropTarget;if(!n||!r)return!1;let i=await r.fromElement(t);return await n.call(e,i),!0},dx=(e,t)=>new Promise(n=>{let r=!1,i=()=>{r||(r=!0,t.clearTimeout(a),n())},a=t.setTimeout(i,250),o=e;if(o.requestVideoFrameCallback){o.requestVideoFrameCallback(i);return}t.requestAnimationFrame(i)}),fx=e=>e.location.origin===`null`?`*`:e.location.origin,px=(e,t,n=``)=>`${e}:${t}:${n}`,mx=(e,t,n)=>{let r=`${t}:${n}:`;return e.startsWith(r)?e.slice(r.length):null},hx=e=>e.crypto?.randomUUID?.()??`mesurer-recording-${Date.now()}-${Math.random().toString(36).slice(2)}`,gx=e=>new Promise(t=>{let n=hx(e),r=e.location.origin,i=o=>{o.source===e&&o.origin===r&&mx(String(o.data??``),`mesurer:recording-bridge-pong`,n)!==null&&(e.removeEventListener(`message`,i),e.clearTimeout(a),t(!0))},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(!1)},80);e.addEventListener(`message`,i),e.postMessage(px(nx,n),fx(e))}),_x=e=>new Promise(t=>{let n=hx(e),r=e.location.origin,i=o=>{if(o.source!==e||o.origin!==r)return;let s=mx(String(o.data??``),ix,n);if(s!==null){if(e.removeEventListener(`message`,i),e.clearTimeout(a),!s.startsWith(`ok:`)){t(null);return}t(s.slice(3)||null)}},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(null)},1500);e.addEventListener(`message`,i),e.postMessage(px(rx,n),fx(e))}),vx=e=>e.__MESURER_RECORDING_HOST__?.captureRecordingStream??e.__MESURER_HOST__?.captureRecordingStream,yx=async(e,t)=>{let n=vx(e);if(!n)throw Error(`Native recording capture is unavailable.`);let r=(await n())?.streamId?.trim();if(!r)throw Error(`Native recording capture returned no stream id.`);let i={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:r}};return t.getUserMedia({audio:!1,video:i})},bx=async(e,t)=>{if(!e.isSecureContext||!await gx(e))return null;let n=await _x(e);if(!n)return null;let r={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:n}};return t.getUserMedia({audio:!1,video:r})},xx=async(e,t)=>{let n=e.getVideoTracks()[0];if(!n?.applyConstraints)return e;try{await n.applyConstraints({frameRate:{ideal:t,max:t}})}catch{}return e},Sx=async(e,t)=>{let n=e.navigator.mediaDevices;if(!n)throw Error(`Screen recording is unavailable in this browser.`);if(vx(e))return xx(await yx(e,n),t);try{let r=await bx(e,n);if(r)return xx(r,t)}catch{}if(!n.getDisplayMedia)throw Error(`Screen recording is unavailable in this browser.`);let r={ideal:t,max:t},i={audio:!1,video:{displaySurface:`browser`,frameRate:r},preferCurrentTab:!0,selfBrowserSurface:`include`};try{return xx(await n.getDisplayMedia(i),t)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw e;return xx(await n.getDisplayMedia({audio:!1,video:{frameRate:r}}),t)}},Cx=async(e,t,n,r=60)=>{let i=await Sx(t,r),a=i.getVideoTracks()[0];if(!a)throw i.getTracks().forEach(e=>e.stop()),Error(`No video track was selected.`);if(a.getSettings().displaySurface&&a.getSettings().displaySurface!==`browser`)throw i.getTracks().forEach(e=>e.stop()),Error(`Select the current browser tab to record this region.`);let o=e.createElement(`video`);o.autoplay=!0,o.muted=!0,o.playsInline=!0,o.srcObject=i,o.setAttribute(`playsinline`,``),o.setAttribute(`aria-hidden`,`true`),o.style.cssText=ax,e.body.append(o);try{await o.play(),(o.videoWidth<=0||o.videoHeight<=0)&&await new Promise((e,t)=>{o.addEventListener(`loadeddata`,()=>e(),{once:!0}),o.addEventListener(`error`,()=>t(Error(`Could not read the selected video track.`)),{once:!0})});let r=lx(e,n),s=!1;try{s=await ux(a,r)}catch{s=!1}s||r.remove(),await dx(o,t);let c=t.devicePixelRatio||1,l=cx(n,o.videoWidth,o.videoHeight,sx(t)),u=e.createElement(`canvas`);u.width=s?Math.max(2,Math.round(n.width*c)):l.sw,u.height=s?Math.max(2,Math.round(n.height*c)):l.sh,u.setAttribute(`aria-hidden`,`true`),u.style.cssText=ax,e.body.append(u);let d=u.getContext(`2d`,{alpha:!1});if(!d)throw u.remove(),Error(`Screen recording requires a 2D canvas.`);let f={stream:i,track:a,source:o,canvas:u,context:d,cropTarget:s?r:null,regionLocked:s};return wx(f,n,sx(t)),f}catch(e){throw o.pause(),o.srcObject=null,o.remove(),i.getTracks().forEach(e=>e.stop()),e}},wx=(e,t,n)=>{let{source:r,canvas:i,context:a,regionLocked:o}=e;if(r.videoWidth<=0||r.videoHeight<=0)return;if(o){a.drawImage(r,0,0,i.width,i.height);return}let s=cx(t,r.videoWidth,r.videoHeight,n),c=s.dx<=.001&&s.dy<=.001&&s.dw>=.999&&s.dh>=.999,l=c?0:s.dx*i.width,u=c?0:s.dy*i.height,d=c?i.width:s.dw*i.width,f=c?i.height:s.dh*i.height;c||(a.fillStyle=`#000`,a.fillRect(0,0,i.width,i.height)),!(d<1||f<1||s.dw<=0||s.dh<=0)&&a.drawImage(r,s.sx,s.sy,s.sw,s.sh,l,u,d,f)},Tx=e=>{e.source.pause(),e.source.srcObject=null,e.stream.getTracks().forEach(e=>e.stop()),e.cropTarget?.remove(),e.canvas.remove(),e.source.remove()},Ex={webm:`video/webm`,mp4:`video/mp4`},Dx=[`vp9`,`vp8`],Ox=[`avc`],kx=t=>new e.Quality(t),Ax=(e,t)=>Number.isFinite(e)&&e>0?e:t,jx=(e,t,n)=>{let r=Math.max(2,Math.round(Ax(e,2))),i=Math.max(2,Math.round(Ax(t,2)));return n===`mp4`&&(r%2!=0&&(r+=1),i%2!=0&&(i+=1)),{width:r,height:i}},Mx=(e,t={})=>{let n=Math.max(.001,Ax(e.duration,.001)),r=Math.min(n,Math.max(0,Number.isFinite(t.startTime)?t.startTime??0:0)),i=Number.isFinite(t.endTime)?t.endTime??n:n,a=Math.min(n,Math.max(r+.001,i));return{format:t.format??`webm`,startTime:r,endTime:a,scale:t.scale??1,quality:t.quality??`medium`}},Nx=e=>e===`webm`?Dx:Ox,Px=async(t,n,r,i,a=`medium`)=>{let o=jx(n,r,t),s=kx(a);for(let n of Nx(t))if(await(0,e.canEncodeVideo)(n,{width:o.width,height:o.height,frameRate:i,quality:s}))return n;return null},Fx=async(e,t,n=30)=>{let r=[];return await Px(`webm`,e,t,n)&&r.push(`webm`),await Px(`mp4`,e,t,n)&&r.push(`mp4`),r},Ix=t=>t===`webm`?new e.WebMOutputFormat:new e.Mp4OutputFormat,Lx=async(t,n={})=>{let r=n.format??`webm`,i=Math.max(1,Math.min(120,Math.round(n.frameRate??30))),a=n.quality??`medium`,o=t.width,s=t.height,c=await Px(r,o,s,i,a);if(!c)throw Error(`MediaBunny cannot encode ${r.toUpperCase()} at ${o}×${s} in this runtime.`);let l=new e.BufferTarget,u=new e.Output({format:Ix(r),target:l}),d=new e.CanvasSource(t,{codec:c,quality:kx(a)});u.addVideoTrack(d,{frameRate:i}),await u.start();let f=!1,p=-1;return{format:r,mimeType:Ex[r],codec:c,async addFrame(e,t=1/i){if(f)throw Error(`Recording session is already closed.`);if(!Number.isFinite(e)||e<0)throw TypeError(`Recording frame timestamp must be a non-negative finite number.`);if(!Number.isFinite(t)||t<0)throw TypeError(`Recording frame duration must be a non-negative finite number.`);if(e<=p)throw Error(`Recording frame timestamps must increase monotonically.`);p=e,await d.add(e,t)},finalize:async()=>{if(f)throw Error(`Recording session is already closed.`);if(f=!0,d.close(),await u.finalize(),!l.buffer||l.buffer.byteLength===0)throw Error(`MediaBunny produced an empty recording.`);return new Blob([l.buffer],{type:Ex[r]})},async cancel(){if(!f){f=!0,d.close();try{await u.cancel()}catch{}}}}},Rx=async t=>{let n=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS});try{if(!await n.canRead())throw Error(`MediaBunny cannot read the recording.`);let e=await n.getPrimaryVideoTrack();if(!e)throw Error(`Recording has no video track.`);let[t,r,i]=await Promise.all([n.computeDuration(),e.getCodedWidth(),e.getCodedHeight()]);return{duration:Math.max(.001,t),width:r,height:i}}finally{n.dispose()}},zx=async(t,n={})=>{let r=await Rx(t),i=Mx(r,n),a=jx(r.width*i.scale,r.height*i.scale,i.format),o=await Px(i.format,a.width,a.height,30,i.quality);if(!o)throw Error(`MediaBunny cannot export ${i.format.toUpperCase()} in this runtime.`);let s=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS}),c=new e.BufferTarget,l=new e.Output({format:Ix(i.format),target:c});try{let t=await e.Conversion.init({input:s,output:l,trim:{start:i.startTime,end:i.endTime},video:{codec:o,width:a.width,height:a.height,fit:`fill`,quality:kx(i.quality),forceTranscode:!0},audio:{discard:!0}});if(!t.isValid)throw Error(`MediaBunny cannot convert this recording to ${i.format.toUpperCase()}.`);if(await t.execute(),!c.buffer||c.buffer.byteLength===0)throw Error(`MediaBunny produced an empty export.`);let n=new Blob([c.buffer],{type:Ex[i.format]}),r=await Rx(n);return{blob:n,format:i.format,duration:r.duration,width:r.width,height:r.height}}finally{s.dispose()}},Bx=(e,t=new Date)=>`mesurer-recording-${t.toISOString().replace(/[:.]/g,`-`)}.${e}`,Vx=10,Hx=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},Ux=(e,t,n)=>{let r=e.createElement(`button`);return r.type=`button`,r.setAttribute(`aria-label`,t),r.title=t,r.textContent=n,Hx(r,{display:`inline-flex`,width:`20px`,height:`20px`,padding:`0`,border:`0`,"border-radius":`5px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"align-items":`center`,"justify-content":`center`,"font-family":`inherit`,"font-size":`11px`,"line-height":`1`,cursor:`pointer`}),r},Wx=(e,t)=>{let n=e.createElement(`button`);n.type=`button`,n.setAttribute(`role`,`menuitemradio`),Hx(n,{display:`grid`,width:`100%`,height:`28px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"grid-template-columns":`14px minmax(0, 1fr)`,gap:`6px`,"align-items":`center`,"text-align":`left`,"font-family":`inherit`,"font-size":`11px`,cursor:`pointer`});let r=e.createElement(`span`);r.setAttribute(`aria-hidden`,`true`),r.textContent=`✓`,r.style.opacity=`0`;let i=e.createElement(`span`);return i.textContent=t,n.append(r,i),{button:n,check:r,text:i}},Gx=({ownerDocument:e,root:t})=>{let n=e.createElement(`section`);n.dataset.mesurerRecordingPreview=`true`,n.dataset.mesurerInspectorUi=`true`,n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-label`,`Screen recording editor`),n.tabIndex=0,Hx(n,{position:`fixed`,display:`none`,width:`352px`,"max-width":`calc(100vw - 16px)`,padding:`8px`,"z-index":`98`,"box-sizing":`border-box`,overflow:`visible`,"border-radius":`13px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`,"font-size":`11px`,"pointer-events":`auto`,outline:`none`,transform:`translateX(-50%)`,transition:`width 200ms ease`}),t.append(n);let r=e.createElement(`div`);Hx(r,{position:`relative`,display:`flex`,width:`100%`,"min-height":`72px`,"max-height":`144px`,overflow:`hidden`,"border-radius":`8px`,background:`var(--msr-surface-muted, #f8fafc)`,"align-items":`center`,"justify-content":`center`,transition:`max-height 200ms ease`,cursor:`default`}),n.append(r);let i=e.createElement(`video`);i.muted=!0,i.playsInline=!0,i.preload=`auto`,Hx(i,{display:`block`,width:`100%`,height:`100%`,"max-width":`100%`,"max-height":`144px`,"object-fit":`contain`,transition:`max-height 200ms ease`}),r.append(i);let a=e.createElement(`div`);a.dataset.mesurerRecordingExporting=`true`,a.textContent=`Exporting…`,Hx(a,{position:`absolute`,inset:`0`,display:`none`,"align-items":`center`,"justify-content":`center`,"z-index":`30`,background:`rgb(15 23 42 / 45%)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(a);let o=Ux(e,`Close`,`×`);o.dataset.mesurerRecordingDiscard=`true`,Hx(o,{position:`absolute`,top:`6px`,right:`6px`,width:`24px`,height:`24px`,"z-index":`40`,background:`rgb(15 23 42 / 78%)`,color:`#fff`,opacity:`0`,"pointer-events":`none`,transition:`opacity 150ms ease`}),r.append(o),r.addEventListener(`mouseenter`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),r.addEventListener(`mouseleave`,()=>{e.activeElement!==o&&(o.style.opacity=`0`,o.style.pointerEvents=`none`)}),o.addEventListener(`focus`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),o.addEventListener(`blur`,()=>{o.style.opacity=`0`,o.style.pointerEvents=`none`});let s=e.createElement(`div`);Hx(s,{display:`flex`,height:`28px`,"align-items":`center`,gap:`8px`,"margin-top":`8px`}),n.append(s);let c=Ux(e,`Play`,`▶`);c.dataset.mesurerRecordingPlay=`true`,s.append(c);let l=e.createElement(`span`);l.dataset.mesurerRecordingCurrentTime=`true`,l.textContent=`0:00.00`,Hx(l,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(l);let u=e.createElement(`div`);u.dataset.mesurerRecordingTimeline=`true`,Hx(u,{position:`relative`,height:`28px`,"min-width":`0`,flex:`1 1 0`,cursor:`pointer`,"user-select":`none`}),s.append(u);let d=e.createElement(`div`);d.dataset.mesurerRecordingTimelineTrack=`true`,Hx(d,{position:`absolute`,left:`${Vx}px`,right:`${Vx}px`,top:`0`,bottom:`0`}),u.append(d);let f=e.createElement(`div`);f.dataset.mesurerRecordingTimelineRail=`true`,Hx(f,{position:`absolute`,left:`0`,right:`0`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-200, #e2e8f0)`,"pointer-events":`none`}),d.append(f);let p=e.createElement(`div`);p.dataset.mesurerRecordingTimelineClip=`true`,Hx(p,{position:`absolute`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-300, #cbd5e1)`,"pointer-events":`none`}),d.append(p);let m=e.createElement(`div`);Hx(m,{position:`absolute`,display:`none`,top:`21px`,width:`2px`,height:`10px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-500, #64748b)`,opacity:`0.5`,"pointer-events":`none`}),d.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingPlayhead=`true`,Hx(h,{position:`absolute`,top:`21px`,left:`0`,width:`2px`,height:`9px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-content, #18181b)`,"z-index":`25`,"pointer-events":`none`,transition:`height 150ms ease`}),d.append(h);let g=(t,n)=>{let r=e.createElement(`button`);r.type=`button`,r.dataset.mesurerRecordingTrimHandle=t,r.setAttribute(`role`,`slider`),r.setAttribute(`aria-label`,n),r.setAttribute(`aria-valuemin`,`0`),Hx(r,{position:`absolute`,top:`0`,display:`flex`,width:`20px`,height:`16px`,padding:`0`,border:`0`,"border-radius":`4px`,background:`transparent`,color:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"z-index":`30`,"align-items":`center`,"justify-content":`center`,cursor:`ew-resize`,"touch-action":`none`});let i=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.dataset.mesurerRecordingTrimChevron=t,i.setAttribute(`aria-hidden`,`true`),i.setAttribute(`viewBox`,`0 0 12 14`),i.setAttribute(`width`,`12`),i.setAttribute(`height`,`14`);let a=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);a.setAttribute(`d`,t===`start`?`M3.5 2.5L8.5 7L3.5 11.5`:`M8.5 2.5L3.5 7L8.5 11.5`),a.setAttribute(`fill`,`none`),a.setAttribute(`stroke`,`currentColor`),a.setAttribute(`stroke-width`,`2`),a.setAttribute(`stroke-linecap`,`round`),a.setAttribute(`stroke-linejoin`,`round`),i.append(a),r.append(i);let o=e.createElement(`span`);return o.setAttribute(`aria-hidden`,`true`),Hx(o,{position:`absolute`,left:`50%`,top:`15px`,width:`1px`,height:`4px`,background:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"pointer-events":`none`}),r.append(o),d.append(r),r},_=g(`start`,`Trim start`),v=g(`end`,`Trim end`),y=e.createElement(`span`);y.dataset.mesurerRecordingDuration=`true`,Hx(y,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"justify-content":`flex-end`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(y);let b=e.createElement(`div`);Hx(b,{position:`relative`,display:`flex`,height:`20px`,"align-items":`center`}),s.append(b);let x=Ux(e,`Export options`,`1×`);x.dataset.mesurerRecordingExportOptions=`true`,x.setAttribute(`aria-haspopup`,`menu`),x.setAttribute(`aria-expanded`,`false`),Hx(x,{width:`28px`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`}),b.append(x);let S=e.createElement(`div`);S.dataset.mesurerRecordingExportMenu=`true`,S.setAttribute(`role`,`menu`),Hx(S,{position:`absolute`,display:`none`,right:`0`,bottom:`24px`,width:`176px`,padding:`4px`,"z-index":`120`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"pointer-events":`auto`}),b.append(S);let C=e.createElement(`p`);C.textContent=`Format`,Hx(C,{margin:`0`,padding:`4px 8px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(C);let w=e.createElement(`div`);S.append(w);let T=e.createElement(`p`);T.textContent=`Size`,Hx(T,{margin:`0`,padding:`6px 8px 4px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(T);let E=e.createElement(`div`);S.append(E);let D=[1,2,3].map(t=>{let n=Wx(e,`${t}×`);return n.button.dataset.mesurerRecordingScale=String(t),E.append(n.button),{scale:t,...n}}),O=Ux(e,`Download`,`↓`);O.dataset.mesurerRecordingExport=`true`,s.append(O);let k=Ux(e,`Grow preview`,`↗`);k.dataset.mesurerRecordingExpand=`true`,s.append(k);let A=e.createElement(`p`);return A.dataset.mesurerRecordingPreviewStatus=`true`,A.setAttribute(`role`,`status`),Hx(A,{display:`none`,margin:`8px 0 0`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`11px`,"line-height":`16px`}),n.append(A),{panel:n,previewShell:r,video:i,exportingOverlay:a,close:o,play:c,currentTime:l,timeline:u,track:d,clip:p,hoverMarker:m,playhead:h,trimStart:_,trimEnd:v,durationLabel:y,exportAnchor:b,exportOptions:x,exportMenu:S,formatRows:w,scaleRows:D,download:O,expand:k,status:A}},Kx=8,qx=8,Jx=.05,Yx=200,Xx=e=>{let t=Number.isFinite(e)?Math.max(0,e):0,n=Math.floor(t/60);return`${n}:${(t-n*60).toFixed(2).padStart(5,`0`)}`},Zx=(e,t,n,r)=>{let i=globalThis.URL.createObjectURL(e),a=n.createElement(`a`);a.href=i,a.download=t,a.rel=`noopener`,n.documentElement.append(a),a.click(),a.remove(),r.setTimeout(()=>globalThis.URL.revokeObjectURL(i),1e3)},Qx=({ownerDocument:e,ownerWindow:t,root:n,formats:r,onDiscard:i,onExport:a})=>{let{panel:o,previewShell:s,video:c,exportingOverlay:l,close:u,play:d,currentTime:f,timeline:p,track:m,clip:h,hoverMarker:g,playhead:_,trimStart:v,trimEnd:y,durationLabel:b,exportAnchor:x,exportOptions:S,exportMenu:C,formatRows:w,scaleRows:T,download:E,expand:D,status:O}=Gx({ownerDocument:e,root:n}),k=null,A=null,j=!1,M=!1,N=0,P=[`webm`],F=`webm`,I=1,L=0,R=0,z=null,B=null,V=null,ee=e=>{let t=k?.duration??0;return t<=0?0:Math.min(1,Math.max(0,e/t))},H=()=>({start:L,end:R}),U=e=>{let t=k?.duration??0,n=m.getBoundingClientRect();return t<=0||n.width<=0?0:Math.min(t,Math.max(0,(e-n.left)/n.width*t))},W=()=>{let e=k?.duration??0,t=Math.min(e,Math.max(0,c.currentTime||0)),n=ee(L)*100,r=ee(R)*100;v.style.left=`${n}%`,y.style.left=`${r}%`,h.style.left=`${n}%`,h.style.width=`${Math.max(0,r-n)}%`,_.style.left=`${ee(t)*100}%`,v.setAttribute(`aria-valuemax`,String(Math.max(0,R-Jx))),v.setAttribute(`aria-valuenow`,String(L)),v.setAttribute(`aria-valuetext`,Xx(L)),y.setAttribute(`aria-valuemin`,String(Math.min(e,L+Jx))),y.setAttribute(`aria-valuemax`,String(e)),y.setAttribute(`aria-valuenow`,String(R)),y.setAttribute(`aria-valuetext`,Xx(R)),f.textContent=Xx(t),b.textContent=Xx(e)},te=(e,t=!0)=>{if(!k)return;let n=Math.min(R,Math.max(L,e));t&&!c.paused&&c.pause(),c.currentTime=n,W()},ne=(e,t=!1)=>{k&&(L=Math.min(Math.max(0,e),Math.max(0,R-Jx)),(t||c.currentTime<L)&&te(L),W())},re=(e,t=!1)=>{k&&(R=Math.max(Math.min(k.duration,e),Math.min(k.duration,L+Jx)),t?te(R):c.currentTime>R&&te(L),W())},ie=()=>{S.textContent=`${I}×`;for(let e of T){let t=e.scale===I;e.button.setAttribute(`aria-checked`,t?`true`:`false`),e.check.style.opacity=t?`1`:`0`,e.text.textContent=k?`${e.scale}× ${Math.round(k.width*e.scale)} × ${Math.round(k.height*e.scale)}`:`${e.scale}×`}},G=()=>{w.replaceChildren();for(let t of P){let n=Wx(e,t===`mp4`?`MP4`:`WebM`),r=t===F;n.button.dataset.mesurerRecordingFormat=t,n.button.setAttribute(`aria-checked`,r?`true`:`false`),n.check.style.opacity=r?`1`:`0`,n.button.addEventListener(`click`,()=>{F=t,G()}),w.append(n.button)}},ae=()=>{if(C.style.display===`none`)return;let e=x.getBoundingClientRect(),n=Math.max(1,C.offsetHeight),r=e.top-Kx,i=t.innerHeight-e.bottom-Kx;r>=n||r>=i?(C.style.top=`auto`,C.style.bottom=`24px`):(C.style.top=`24px`,C.style.bottom=`auto`)},oe=e=>{C.style.display=e?`block`:`none`,S.setAttribute(`aria-expanded`,e?`true`:`false`),e&&ae()},se=e=>{M=e,l.style.display=e?`flex`:`none`;for(let t of[d,u,v,y,S,E,D,...T.map(e=>e.button)])t.toggleAttribute(`disabled`,e)},ce=()=>n.closest(`[data-mesurer-root='true']`)?.querySelector(`[data-mesurer-tool-id='recording']`)??e.querySelector(`[data-mesurer-tool-id='recording']`),le=()=>{if(o.style.display===`none`)return;let e=Math.min(j?576:352,Math.max(1,t.innerWidth-16)),n=Math.max(180,o.offsetHeight),r=ce()?.getBoundingClientRect(),i=r?r.left+r.width/2:t.innerWidth-Kx-e/2,a=Kx+e/2,s=Math.max(a,t.innerWidth-Kx-e/2),c=Math.min(Math.max(a,i),s),l=r?r.bottom+qx:Kx;l+n>t.innerHeight-Kx&&(l=r?r.top-n-qx:t.innerHeight-n-Kx),o.style.left=`${c}px`,o.style.top=`${Math.max(Kx,l)}px`,C.style.display!==`none`&&ae()},ue=()=>{c.pause(),c.removeAttribute(`src`),c.load(),A&&=(globalThis.URL.revokeObjectURL(A),null)},de=()=>{N+=1,V&&=(V.cancel(),null),ue(),k=null,z=null,B=null,oe(!1),o.style.display=`none`,o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),O.style.display=`none`,se(!1)},fe=()=>{if(!k||o.style.display===`none`||V)return;let e=o.getBoundingClientRect(),t=ce()?.getBoundingClientRect(),n=t?t.left+t.width/2:e.left+e.width/2,r=t?t.top+t.height/2:e.top+e.height/2;c.pause(),oe(!1),o.style.pointerEvents=`none`,o.style.left=`${e.left}px`,o.style.top=`${e.top}px`,o.style.transform=`none`,o.style.transformOrigin=`${n-e.left}px ${r-e.top}px`,o.style.willChange=`transform, opacity`;let a=o.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(0.08)`,opacity:0}],{duration:Yx,easing:`ease`,fill:`forwards`});V=a,a.finished.catch(()=>void 0).then(()=>{V===a&&(a.cancel(),V=null,o.style.removeProperty(`will-change`),i())})},pe=()=>{if(!(!k||M)){if(!c.paused){c.pause();return}(c.currentTime<L||c.currentTime>=R)&&(c.currentTime=L),c.play()}},me=()=>{z=null,B=null,_.style.height=`8px`},he=e=>{if(!z)return;let t=U(e);z===`start`?ne(t,!0):z===`end`?re(t,!0):te(t)},ge=(e,t)=>{!k||M||t.button!==0||(t.preventDefault(),t.stopPropagation(),z=e,B=t.pointerId,_.style.height=`10px`,he(t.clientX))},_e=e=>{B!==null&&e.pointerId===B&&he(e.clientX)},ve=e=>{B!==null&&e.pointerId===B&&me()};v.addEventListener(`pointerdown`,e=>ge(`start`,e)),y.addEventListener(`pointerdown`,e=>ge(`end`,e)),p.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-trim-handle]`)||ge(`playhead`,e)}),p.addEventListener(`pointermove`,e=>{B===null&&(g.style.display=`block`,g.style.left=`${ee(U(e.clientX))*100}%`)}),p.addEventListener(`pointerleave`,()=>{g.style.display=`none`});for(let[e,t]of[[`start`,v],[`end`,y]])t.addEventListener(`keydown`,t=>{if(!k||t.key!==`ArrowLeft`&&t.key!==`ArrowRight`)return;t.preventDefault();let n=t.key===`ArrowLeft`?-1:1,r=(e===`start`?L:R)+n*.05;e===`start`?ne(r,!0):re(r,!0)});t.addEventListener(`pointermove`,_e,!0),t.addEventListener(`pointerup`,ve,!0),t.addEventListener(`pointercancel`,ve,!0),u.addEventListener(`click`,e=>{e.stopPropagation(),fe()}),s.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`button`)||pe()}),d.addEventListener(`click`,pe),c.addEventListener(`play`,()=>{d.textContent=`Ⅱ`,d.setAttribute(`aria-label`,`Pause`),d.title=`Pause`}),c.addEventListener(`pause`,()=>{d.textContent=`▶`,d.setAttribute(`aria-label`,`Play`),d.title=`Play`}),c.addEventListener(`timeupdate`,()=>{k&&(c.currentTime>=R-.01?(c.pause(),c.currentTime=L):c.currentTime<L&&(c.currentTime=L),W())}),c.addEventListener(`loadedmetadata`,()=>{W()}),S.addEventListener(`click`,()=>{M||oe(C.style.display===`none`)});for(let e of T)e.button.addEventListener(`click`,()=>{I=e.scale,ie()});let ye=e=>{C.style.display!==`none`&&(e.composedPath().includes(x)||oe(!1))};e.addEventListener(`pointerdown`,ye,!0),D.addEventListener(`click`,()=>{j=!j,o.style.width=`${j?576:352}px`,s.style.maxHeight=j?`448px`:`144px`,c.style.maxHeight=j?`448px`:`144px`,D.textContent=j?`↙`:`↗`,D.setAttribute(`aria-label`,j?`Shrink preview`:`Grow preview`),D.title=j?`Shrink preview`:`Grow preview`,t.requestAnimationFrame(le)}),E.addEventListener(`click`,()=>{if(!k||M||P.length===0)return;let n=++N,{start:r,end:i}=H();se(!0),oe(!1),O.style.display=`none`,a({format:F,startTime:r,endTime:i,scale:I}).then(r=>{n===N&&Zx(r.blob,r.filename,e,t)}).catch(e=>{n===N&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not export the recording.`)}).finally(()=>{n===N&&se(!1)})}),o.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(C.style.display!==`none`){e.preventDefault(),oe(!1);return}e.preventDefault(),fe();return}(e.key===` `||e.code===`Space`)&&e.target===o&&(e.preventDefault(),pe())});let be=()=>le();return t.addEventListener(`resize`,be),{show(e){N+=1,V&&=(V.cancel(),null),o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),ue(),k=e,j=!1,I=1,F=`webm`,P=[`webm`],L=0,R=e.duration,z=null,B=null;let n=globalThis.URL.createObjectURL(e.blob);A=n,c.src=n,c.currentTime=0,s.style.aspectRatio=e.width>0&&e.height>0?`${e.width} / ${e.height}`:`16 / 9`,o.style.width=`352px`,s.style.maxHeight=`144px`,c.style.maxHeight=`144px`,D.textContent=`↗`,D.setAttribute(`aria-label`,`Grow preview`),D.title=`Grow preview`,f.textContent=`0:00.00`,b.textContent=Xx(e.duration),O.style.display=`none`,O.style.color=`var(--msr-color-ink-500, #64748b)`,oe(!1),G(),ie(),W(),se(!1),o.style.display=`block`,le(),o.focus({preventScroll:!0});let i=N;r(e).then(e=>{i!==N||!k||(P=e,F=e.includes(F)?F:e[0]??`webm`,G(),E.disabled=e.length===0,e.length===0&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=`No MediaBunny video encoder is available in this runtime.`))}).catch(e=>{i===N&&(P=[],G(),E.disabled=!0,O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not inspect export support.`)}),t.requestAnimationFrame(le)},dismiss:de,dispose(){de(),t.removeEventListener(`resize`,be),t.removeEventListener(`pointermove`,_e,!0),t.removeEventListener(`pointerup`,ve,!0),t.removeEventListener(`pointercancel`,ve,!0),e.removeEventListener(`pointerdown`,ye,!0),o.remove()}}},$x=3e3,eS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},tS=({ownerDocument:e,ownerWindow:t,root:n,statusRoot:r,rendererRoot:i,isSelecting:a,isRecording:o,onRectChange:s,onConfirm:c,onCancel:l,onStop:u,setRecordingInteractionActive:d})=>{let f=e.createElement(`div`);f.dataset.mesurerRecordingSelect=`true`,f.dataset.mesurerInspectorUi=`true`,f.setAttribute(`role`,`application`),f.setAttribute(`aria-label`,`Recording selection`),eS(f,{position:`fixed`,inset:`0`,display:`none`,"z-index":`86`,cursor:`crosshair`,"pointer-events":`auto`,"user-select":`none`,"touch-action":`none`}),n.append(f);let p=Array.from({length:4},()=>{let t=e.createElement(`div`);return t.dataset.mesurerRecordingShade=`true`,eS(t,{position:`fixed`,background:`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(t),t}),m=e.createElement(`div`);m.dataset.mesurerRecordingMask=`true`,eS(m,{position:`fixed`,display:`none`,background:`transparent`,outline:`2px solid var(--msr-accent, #0d99ff)`,"outline-offset":`-1px`,"box-shadow":`0 0 0 100vmax rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingSelection=`true`,eS(h,{position:`fixed`,display:`none`,border:`1px solid var(--msr-accent, #0d99ff)`,"box-sizing":`border-box`,"pointer-events":`none`}),f.append(h);let g=e.createElement(`div`);eS(g,{position:`fixed`,display:`none`,transform:`translateX(-50%)`,padding:`2px 5px`,"border-radius":`4px`,background:`var(--msr-accent, #0d99ff)`,color:`#fff`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"pointer-events":`none`}),f.append(g);let _=e.createElement(`div`);_.textContent=`Drag a region to record · Esc to cancel`,eS(_,{position:`fixed`,left:`50%`,bottom:`16px`,transform:`translateX(-50%)`,padding:`5px 8px`,"border-radius":`6px`,background:`var(--msr-content, #18181b)`,color:`var(--msr-surface, #fff)`,"font-size":`11px`,"pointer-events":`none`}),f.append(_);let v=e.createElement(`div`);v.dataset.mesurerRecordingRegion=`true`,v.dataset.mesurerInspectorUi=`true`,v.setAttribute(`role`,`dialog`),v.setAttribute(`aria-label`,`Recording region`),eS(v,{position:`fixed`,display:`none`,width:`220px`,padding:`8px`,"z-index":`90`,"box-sizing":`border-box`,overflow:`hidden`,"border-radius":`10px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0,0,0,.12))`,"font-size":`11px`,"pointer-events":`auto`,transform:`translateX(-50%)`}),f.append(v);let y=t=>{let n=e.createElement(`label`);eS(n,{display:`grid`,"grid-template-columns":`44px minmax(0,1fr)`,"align-items":`center`,gap:`8px`});let r=e.createElement(`span`);r.textContent=t,r.style.color=`var(--msr-color-ink-500, #64748b)`,n.append(r);let i=e.createElement(`div`);return eS(i,{display:`flex`,"align-items":`center`,gap:`4px`,"min-width":`0`}),n.append(i),v.append(n),i},b=t=>{let n=e.createElement(`input`);return n.type=`number`,n.setAttribute(`aria-label`,t),n.step=`1`,eS(n,{width:`0`,"min-width":`0`,flex:`1 1 0`,height:`26px`,padding:`0 6px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`6px`,background:`var(--msr-surface, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`}),n},x=y(`Size`),S=b(`Width`),C=b(`Height`);x.append(S);let w=e.createElement(`span`);w.textContent=`×`,w.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(w,C);let T=e.createElement(`span`);T.textContent=`px`,T.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(T);let E=y(`Position`);E.style.marginTop=`8px`;let D=b(`Left`),O=b(`Top`);E.append(D,O);let k=e.createElement(`span`);k.textContent=`px`,k.style.color=`var(--msr-color-ink-500, #64748b)`,E.append(k);let A=e.createElement(`button`);A.type=`button`,A.dataset.mesurerRecordingStart=`true`,A.textContent=`● Start recording`,eS(A,{width:`100%`,height:`28px`,"margin-top":`8px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`7px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),v.append(A);let j=e.createElement(`div`);j.dataset.mesurerRecordingGrid=`true`,eS(j,{position:`absolute`,inset:`0`,display:`none`,"pointer-events":`none`}),h.append(j);let M=t=>{let n=e.createElement(`div`);eS(n,{position:`absolute`,opacity:`0.3`,...t}),j.append(n)};M({left:`33.333%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({left:`66.666%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`33.333%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`66.666%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`});let N=Object.entries({nw:{left:`0`,top:`0`},n:{left:`50%`,top:`0`},ne:{left:`100%`,top:`0`},e:{left:`100%`,top:`50%`},se:{left:`100%`,top:`100%`},s:{left:`50%`,top:`100%`},sw:{left:`0`,top:`100%`},w:{left:`0`,top:`50%`}}).map(([t,n])=>{let r=e.createElement(`button`);return r.type=`button`,r.dataset.mesurerRecordingResize=t,r.setAttribute(`aria-label`,`Resize ${t}`),eS(r,{position:`absolute`,display:`none`,left:n.left,top:n.top,width:`8px`,height:`8px`,padding:`0`,border:`1px solid var(--msr-color-white, #fff)`,"border-radius":`999px`,background:`var(--msr-color-ink-900, #18181b)`,"box-shadow":`0 0 0 1px rgb(0 0 0 / 25%)`,transform:`translate(-50%, -50%)`,cursor:t===`n`||t===`s`?`ns-resize`:t===`e`||t===`w`?`ew-resize`:t===`nw`||t===`se`?`nwse-resize`:`nesw-resize`,"pointer-events":`auto`}),h.append(r),r}),P=e.createElement(`section`);P.dataset.mesurerRecordingStatus=`true`,P.dataset.mesurerInspectorUi=`true`,P.setAttribute(`aria-label`,`Screen recording`),eS(P,{position:`fixed`,display:`none`,height:`34px`,padding:`0 8px`,"align-items":`center`,gap:`8px`,border:`0`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 8px 24px rgba(0,0,0,.14))`,"font-family":`inherit`,"font-size":`11px`,"pointer-events":`auto`});let F=e.createElement(`span`);F.setAttribute(`aria-hidden`,`true`),eS(F,{width:`6px`,height:`6px`,"border-radius":`999px`,background:`var(--msr-danger-solid-bg, #dc2626)`,"flex-shrink":`0`}),P.append(F);let I=e.createElement(`span`);I.dataset.mesurerRecordingTime=`true`,I.textContent=`00:00`,eS(I,{color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`11px`,"font-variant-numeric":`tabular-nums`}),P.append(I);let L=e.createElement(`button`);L.type=`button`,L.dataset.mesurerRecordingStop=`true`,L.textContent=`Stop`,L.setAttribute(`aria-label`,`Stop recording`),eS(L,{height:`24px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`var(--msr-danger-solid-bg, #dc2626)`,color:`var(--msr-danger-solid-text, #fff)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),P.append(L),r.append(P);let R=e.createElement(`div`);R.dataset.mesurerRecordingError=`true`,R.dataset.mesurerInspectorUi=`true`,R.setAttribute(`role`,`status`),eS(R,{position:`fixed`,display:`none`,left:`8px`,top:`8px`,"z-index":`99`,padding:`6px 8px`,"border-radius":`6px`,background:`var(--msr-danger, #b42318)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(R);let z=null,B=null,V=!1,ee=null,H=0,U=()=>{z=null,B=null,V=!1,ee=null},W=(e,t)=>{for(let n of[`left`,`top`,`width`,`height`]){let r=t[n];r===void 0?e.style.removeProperty(n):e.style.setProperty(n,`${r}px`)}},te=e=>{let n=t.innerWidth,r=t.innerHeight,i=Math.min(n,Math.max(4,Math.round(e.width))),a=Math.min(r,Math.max(4,Math.round(e.height)));return{left:Math.min(Math.max(0,Math.round(e.left)),Math.max(0,n-i)),top:Math.min(Math.max(0,Math.round(e.top)),Math.max(0,r-a)),width:i,height:a}},ne=(e,t)=>t.x>=e.left&&t.x<=e.left+e.width&&t.y>=e.top&&t.y<=e.top+e.height,re=e=>{let n=t.innerWidth,r=t.innerHeight;if(!e||e.width<=0||e.height<=0){W(p[0],{left:0,top:0,width:n,height:r});for(let e of p.slice(1))W(e,{left:0,top:0,width:0,height:0});h.style.display=`none`,h.style.pointerEvents=`none`,j.style.display=`none`;for(let e of N)e.style.display=`none`;g.style.display=`none`,v.style.display=`none`,_.textContent=`Drag to select a region · Esc to cancel`;return}if(W(p[0],{left:0,top:0,width:n,height:e.top}),W(p[1],{left:0,top:e.top,width:e.left,height:e.height}),W(p[2],{left:e.left+e.width,top:e.top,width:Math.max(0,n-e.left-e.width),height:e.height}),W(p[3],{left:0,top:e.top+e.height,width:n,height:Math.max(0,r-e.top-e.height)}),h.style.display=`block`,W(h,e),V){h.style.pointerEvents=`auto`,h.style.cursor=`move`,j.style.display=`block`;for(let e of N)e.style.display=`block`;g.style.display=`none`,S.value=String(Math.round(e.width)),C.value=String(Math.round(e.height)),D.value=String(Math.round(e.left)),O.value=String(Math.round(e.top)),S.max=String(n),C.max=String(r),D.max=String(Math.max(0,n-e.width)),O.max=String(Math.max(0,r-e.height));let t=Math.min(Math.max(118,e.left+e.width/2),Math.max(118,n-110-8)),i=e.top+e.height+12,a=i+112<=r?i:Math.max(8,e.top-112);v.style.left=`${t}px`,v.style.top=`${a}px`,v.style.display=`block`,_.textContent=`Adjust region · Enter to start · Esc to cancel`}else{h.style.pointerEvents=`none`,h.style.cursor=``,j.style.display=`none`;for(let e of N)e.style.display=`none`;v.style.display=`none`,g.style.display=`block`,g.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,W(g,{left:e.left+e.width/2,top:Math.min(r-22,e.top+e.height+6)}),_.textContent=`Drag to select a region · Esc to cancel`}},ie=e=>{let t=te(e);B=t,s(t),re(t)},G=e=>{U();for(let e of p)W(e,{left:0,top:0,width:0,height:0});W(m,e),m.style.display=`block`,h.style.display=`none`,g.style.display=`none`,v.style.display=`none`,j.style.display=`none`,_.style.display=`none`;for(let e of N)e.style.display=`none`;f.style.display=`block`,f.style.pointerEvents=`none`,f.style.cursor=`default`},ae=()=>{d(!1),m.style.display=`none`,f.style.display=`none`,f.style.pointerEvents=`auto`,f.style.cursor=`crosshair`,_.style.removeProperty(`display`)},oe=()=>{U(),re(null),f.style.display=`none`,f.style.cursor=`crosshair`,n.style.pointerEvents=`none`},se=e=>{let n=t.innerHeight,r=t.innerWidth;P.style.visibility=`hidden`,P.style.display=`flex`;let a=Math.max(112,P.offsetWidth||112),o=Math.min(r-a-8,Math.max(8,e.left+e.width/2-a/2)),s=i?.querySelector(`[data-mesurer-toolbar='true']`)?.getBoundingClientRect(),c=[e.top>=50?e.top-34-8:null,n-(e.top+e.height)>=50?e.top+e.height+8:null].filter(e=>e!==null),l=e=>s?o<s.right&&o+a>s.left&&e<s.bottom&&e+34>s.top:!1,u=c.find(e=>!l(e))??c[0]??null;if(u===null){P.style.display=`none`,P.style.removeProperty(`visibility`);return}P.style.left=`${o}px`,P.style.top=`${u}px`,P.style.removeProperty(`visibility`)},ce=()=>{P.style.display=`none`},le=e=>{H&&t.clearTimeout(H);let n=e instanceof Error?e.message:`Could not record this region.`;R.textContent=n,R.style.display=`block`,H=t.setTimeout(()=>{H=0,R.style.display=`none`},$x)},ue=(e,t,n)=>{let r=B;!V||!r||e.button!==0||(e.preventDefault(),e.stopPropagation(),ee={kind:t,handle:n,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,rect:{...r}},f.setPointerCapture?.(e.pointerId))},de=e=>{!a()||e.button!==0||V&&B&&ne(B,{x:e.clientX,y:e.clientY})||(e.preventDefault(),e.stopPropagation(),V=!1,B=null,s(null),f.style.cursor=`crosshair`,z={x:e.clientX,y:e.clientY},re(Wa(z,z,{width:t.innerWidth,height:t.innerHeight})),f.setPointerCapture?.(e.pointerId))},fe=e=>{if(a()){if(ee){let n=ee,r=e.clientX-n.startX,i=e.clientY-n.startY,a=t.innerWidth,o=t.innerHeight;if(n.kind===`move`){ie({...n.rect,left:n.rect.left+r,top:n.rect.top+i});return}let s=n.handle??``,c=n.rect.left,l=n.rect.top,u=n.rect.left+n.rect.width,d=n.rect.top+n.rect.height;s.includes(`w`)&&(c=Math.min(u-4,Math.max(0,n.rect.left+r))),s.includes(`e`)&&(u=Math.max(c+4,Math.min(a,n.rect.left+n.rect.width+r))),s.includes(`n`)&&(l=Math.min(d-4,Math.max(0,n.rect.top+i))),s.includes(`s`)&&(d=Math.max(l+4,Math.min(o,n.rect.top+n.rect.height+i))),ie({left:c,top:l,width:u-c,height:d-l});return}z&&re(Wa(z,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight}))}},pe=e=>{if(ee){ee=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),B&&re(B);return}let n=z;if(z=null,!a()||!n)return;f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId);let r=Wa(n,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight});if(r.width<4||r.height<4){B=null,V=!1,s(null),re(null);return}B=te(r),V=!0,f.style.cursor=`default`,s(B),re(B)},me=e=>{z=null,ee=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),re(B&&V?B:null)},he=e=>{if(e.key===`Enter`&&a()&&V&&B){e.preventDefault(),e.stopImmediatePropagation(),c(B).catch(()=>void 0);return}if(e.key===`Escape`){if(a()){e.preventDefault(),e.stopImmediatePropagation(),l().catch(()=>void 0);return}o()&&(e.preventDefault(),e.stopImmediatePropagation(),u().catch(()=>void 0))}};f.addEventListener(`pointerdown`,de),f.addEventListener(`pointermove`,fe),f.addEventListener(`pointerup`,pe),f.addEventListener(`pointercancel`,me),t.addEventListener(`keydown`,he,!0),h.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-resize]`)||ue(e,`move`)});for(let e of N)e.addEventListener(`pointerdown`,t=>{ue(t,`resize`,e.dataset.mesurerRecordingResize)});v.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),v.addEventListener(`click`,e=>{e.stopPropagation()});let ge=(e,t)=>{let n=B,r=Number(e.value);!n||!Number.isFinite(r)||ie({...n,[t]:r})};return S.addEventListener(`change`,()=>ge(S,`width`)),C.addEventListener(`change`,()=>ge(C,`height`)),D.addEventListener(`change`,()=>ge(D,`left`)),O.addEventListener(`change`,()=>ge(O,`top`)),A.addEventListener(`click`,()=>{a()&&V&&B&&c(B).catch(()=>void 0)}),L.addEventListener(`click`,()=>{if(o()){u().catch(()=>void 0);return}a()&&P.style.display!==`none`&&l().catch(()=>void 0)}),{startSelection:()=>{U(),re(null),f.style.display=`block`,f.style.pointerEvents=`auto`,_.style.removeProperty(`display`),n.style.pointerEvents=`auto`},finishSelection:oe,showRecordingMask:G,hideRecordingMask:ae,placeRecordingStatus:se,hideRecordingStatus:ce,setRecordingTime(e){I.textContent=e},flashError:le,dispose(){f.removeEventListener(`pointerdown`,de),f.removeEventListener(`pointermove`,fe),f.removeEventListener(`pointerup`,pe),f.removeEventListener(`pointercancel`,me),t.removeEventListener(`keydown`,he,!0),H&&t.clearTimeout(H),oe()}}},nS=e=>{let t=null,n=()=>{let e=t;e&&(t=null,e.pointerEvents||e.pointerEventsPriority?e.element.style.setProperty(`pointer-events`,e.pointerEvents,e.pointerEventsPriority):e.element.style.removeProperty(`pointer-events`),e.cursor||e.cursorPriority?e.element.style.setProperty(`cursor`,e.cursor,e.cursorPriority):e.element.style.removeProperty(`cursor`))};return{setActive(r){if(e?.toggleAttribute(`data-mesurer-recording-active`,r),!r){n();return}let i=e?.querySelector(`[data-mesurer-interaction-overlay='true']`);i&&((!t||t.element!==i)&&(n(),t={element:i,pointerEvents:i.style.getPropertyValue(`pointer-events`),pointerEventsPriority:i.style.getPropertyPriority(`pointer-events`),cursor:i.style.getPropertyValue(`cursor`),cursorPriority:i.style.getPropertyPriority(`cursor`)}),i.style.setProperty(`pointer-events`,`none`,`important`),i.style.setProperty(`cursor`,`default`,`important`))}}},rS=`mesurer.recording`,iS=`recording:v1`,aS=`mesurer.recording.settings`,oS=`runtime:solid`,sS=`recording.toggle`,cS=`recording.stop`,lS=`recording.discard`,uS=`recording.export`,dS=60,fS=60,pS={viewBox:`0 0 24 24`,paths:[`M7 5.75A3.25 3.25 0 0 0 3.75 9v6A3.25 3.25 0 0 0 7 18.25h7A3.25 3.25 0 0 0 17.25 15v-1.03l2.13 1.42a.75.75 0 0 0 1.17-.624V9.234a.75.75 0 0 0-1.17-.624l-2.13 1.42V9A3.25 3.25 0 0 0 14 5.75H7Zm10.25 6.082 1.8-1.2v2.736l-1.8-1.2v-.336Z`,`M10.5 9.25a2.75 2.75 0 1 0 0 5.5 2.75 2.75 0 0 0 0-5.5Z`]},mS=e=>e?{...e}:null,hS=e=>({...e,rect:mS(e.rect)}),gS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},_S=e=>e!=null&&!Array.isArray(e)&&typeof e==`object`,vS=e=>typeof e==`number`&&Number.isFinite(e),yS=e=>{if(!_S(e))return{};let t={};return(e.format===`webm`||e.format===`mp4`)&&(t.format=e.format),vS(e.startTime)&&(t.startTime=e.startTime),vS(e.endTime)&&(t.endTime=e.endTime),(e.scale===1||e.scale===2||e.scale===3)&&(t.scale=e.scale),t},bS=e=>({status:e.status,elapsed:e.elapsed,rect:e.rect?{...e.rect}:null,duration:e.duration,width:e.width,height:e.height,error:e.error}),xS=e=>({filename:e.filename,format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size}),SS=e=>({format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size,createdAt:e.createdAt}),CS=(e,t,n)=>{let r=globalThis.URL.createObjectURL(e.blob),i=t.createElement(`a`);i.href=r,i.download=e.filename,i.rel=`noopener`,t.documentElement.append(i),i.click(),i.remove(),n.setTimeout(()=>globalThis.URL.revokeObjectURL(r),1e3)},wS=(e={})=>ya({id:rS,version:`0.1.0`,requires:[oS],provides:[`tool:recording`,iS],setup(t){let n=t.service.get(oS);if(!n)throw Error(`Recording plugin requires the Solid renderer runtime.`);let{ownerDocument:r,ownerWindow:i}=n,a=n.createInspectorMount(),o=a.element,s=n.createInspectorMount(),c=s.element,l=n.rendererRoot??n.portalTarget.querySelector(`[data-mesurer-root='true']`),u=nS(l);o.dataset.mesurerRecording=`true`,c.dataset.mesurerRecordingStatusRoot=`true`,gS(o,{position:`fixed`,inset:`0`,"z-index":`86`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`}),gS(c,{position:`fixed`,inset:`0`,"z-index":`96`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`});let d=Math.max(1,Math.min(600,e.maxDurationSeconds??fS)),f=e.quality??`medium`;t.state.register({id:aS,initial:{toolEnabled:e.toolEnabled??!0,frameRate:e.frameRate??dS},persist:!0});let p=()=>{let e=t.state.get(aS);return{toolEnabled:e?.toolEnabled??!0,frameRate:e?.frameRate===120?120:60}},m=e=>{t.state.update(aS,t=>{let n={...t};return e.toolEnabled!==void 0&&(n.toolEnabled=e.toolEnabled),(e.frameRate===60||e.frameRate===120)&&(n.frameRate=e.frameRate),n})},h={status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null},g=new Set,_=null,v=null,y=null,b=null,x,S=null,C=0,w=0,T=0,E=0,D=-1,O=!1,k=null,A=()=>{let e=hS(h);for(let t of g)t(e)},j=e=>{h={...h,...e,rect:e.rect===void 0?h.rect:mS(e.rect)},A()},M=()=>h.status===`selecting`||h.status===`recording`||h.status===`exporting`,N=()=>{if(S)return;let e=n.portalTarget.querySelector(`[data-mesurer-toolbar='true']`);e&&(S={element:e,value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)},e.style.setProperty(`visibility`,`hidden`,`important`))},P=()=>{if(!S)return;let e=S;S=null,e.value||e.priority?e.element.style.setProperty(`visibility`,e.value,e.priority):e.element.style.removeProperty(`visibility`)},F=async e=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let t=b;if(b=null,t)try{await t}catch{}let n=y;y=null,e&&await n?.cancel();let r=v;v=null,r&&Tx(r),x.hideRecordingMask(),x.hideRecordingStatus()},I=()=>{_=null,z.dismiss(),j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}),t.hook.emit(`recording:discard`,{})},L=async()=>{let e=_;return Fx(e?.width??Math.max(2,Math.round(i.innerWidth)),e?.height??Math.max(2,Math.round(i.innerHeight)),p().frameRate)},R=async(e={})=>{let n=_;if(!n)throw Error(`No recording is ready to export.`);let r=h.status;j({status:`exporting`,error:null});try{let r=await zx(n.blob,e),i={...r,filename:Bx(r.format)};return j({status:`ready`,duration:n.duration,width:n.width,height:n.height,error:null}),await t.hook.emit(`recording:export`,{filename:i.filename,format:i.format,duration:i.duration,width:i.width,height:i.height,bytes:i.blob.size}),i}catch(e){throw j({status:r===`ready`?`ready`:`error`,error:e instanceof Error?e.message:`Could not export the recording.`}),e}},z=Qx({ownerDocument:r,ownerWindow:i,root:o,formats:async()=>L(),onDiscard:I,onExport:R}),B=async()=>{if(k)return k;if(h.status!==`recording`||!y||!v)throw Error(`No recording is active.`);let e=T,n=y,r=v,a=mS(h.rect);if(!a)throw Error(`Recording region is unavailable.`);return k=(async()=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let s=b;b=null,s&&await s;let c=await n.finalize();if(y=null,v=null,Tx(r),T!==e||O)throw Error(`Recording was cancelled.`);let l=await Rx(c),u={blob:c,format:`webm`,duration:l.duration,width:l.width,height:l.height,createdAt:Date.now()};return _=u,x.hideRecordingMask(),x.hideRecordingStatus(),P(),o.style.pointerEvents=`none`,j({status:`ready`,elapsed:l.duration,duration:l.duration,width:l.width,height:l.height,error:null}),z.show(u),await t.hook.emit(`recording:ready`,{rect:a,duration:l.duration,width:l.width,height:l.height,bytes:c.size}),u})().catch(async t=>{if(await F(!0),P(),T===e&&!O){let e=t instanceof Error?t.message:`Could not finish the recording.`;j({status:`error`,error:e}),x.flashError(t)}throw t}).finally(()=>{k=null}),k},V=(e,t,n,r)=>{let a=1/r,o=r=>{if(O||T!==n||h.status!==`recording`||y!==t||v!==e)return;let s=Math.max(0,(r-E)/1e3);j({elapsed:s}),x.setRecordingTime(`${String(Math.floor(s/60)).padStart(2,`0`)}:${String(Math.floor(s%60)).padStart(2,`0`)}`);let c=s;!b&&c-D>=a*.8&&(wx(e,h.rect??{left:0,top:0,width:i.innerWidth,height:i.innerHeight},sx(i)),D=c,b=t.addFrame(c,a).catch(e=>{throw T===n&&!O&&F(!0).then(()=>{P();let t=e instanceof Error?e.message:`MediaBunny could not encode the recording.`;j({status:`error`,error:t}),x.flashError(e)}),e}).finally(()=>{b=null})),C=i.requestAnimationFrame(o)};C=i.requestAnimationFrame(o)},ee=async e=>{let n=++T,a=p().frameRate;z.dismiss(),_=null,x.showRecordingMask(e),o.style.pointerEvents=`none`,u.setActive(!0),P(),j({status:`selecting`,elapsed:0,rect:e,duration:null,width:null,height:null,error:null}),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e);try{let s=await Cx(r,i,e,a);if(O||T!==n){Tx(s);return}let c=await Lx(s.canvas,{format:`webm`,frameRate:a,quality:f});if(O||T!==n){await c.cancel(),Tx(s);return}if(v=s,y=c,E=i.performance.now(),D=0,wx(s,e,sx(i)),await c.addFrame(0,1/a),O||T!==n){await F(!0);return}j({status:`recording`,elapsed:0}),o.style.pointerEvents=`none`,u.setActive(!0),x.showRecordingMask(e),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e),V(s,c,n,a),s.track.addEventListener(`ended`,()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},{once:!0}),w=i.setTimeout(()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},d*1e3),await t.hook.emit(`recording:start`,{rect:{...e},frameRate:a,maxDurationSeconds:d})}catch(t){if(await F(!0),P(),T!==n||O)return;let r=t instanceof DOMException&&t.name===`AbortError`,i=r?null:t instanceof Error?t.message:`Could not start the recording.`;throw j({status:r?`idle`:`error`,rect:r?null:e,error:i}),r||x.flashError(t),t}},H=()=>{h.status!==`selecting`&&(++T,z.dismiss(),_=null,N(),x.startSelection(),j({status:`selecting`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}))},U=async e=>{if(h.status===`recording`){await B();return}if(h.status===`selecting`){await W();return}if(!e){H();return}if(e.width<4||e.height<4)throw Error(`Recording selection must be at least 4px by 4px.`);await ee(e)},W=async()=>{++T,x.finishSelection(),await F(!0),P(),h.status!==`ready`&&j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null})};x=tS({ownerDocument:r,ownerWindow:i,root:o,statusRoot:c,rendererRoot:l,isSelecting:()=>h.status===`selecting`,isRecording:()=>h.status===`recording`,onRectChange:e=>j({rect:e}),onConfirm:ee,onCancel:W,onStop:async()=>{await B()},setRecordingInteractionActive:u.setActive});let te={snapshot:()=>hS(h),subscribe(e){return g.add(e),()=>g.delete(e)},settings:p,setSettings:m,formats:L,start:U,stop:B,cancel:W,discard:I,export:R};t.tool.register({id:`recording`,label:`Record`,shortcut:`Shift+R`,order:72,command:sS,toolbarMode:`select`,compactPinned:!0,icon:pS,active:M,hidden:()=>!p().toolEnabled,menu:{label:`Recording options`,items:[{id:`new`,label:`New recording`,disabled:()=>h.status===`recording`||h.status===`exporting`,run:()=>U()},{id:`stop`,label:`Stop recording`,disabled:()=>h.status!==`recording`,run:()=>B().then(()=>void 0)},{id:`discard`,label:`Discard clip`,disabled:()=>_===null,run:I}]}}),t.settings.register({id:`recording`,label:`Recording`,order:42,controls:[{type:`toggle`,id:`tool`,label:`Recording tool`,description:`Show selected-region video recording in the Select toolbar.`,value:()=>p().toolEnabled,set:async e=>{m({toolEnabled:e}),!e&&M()&&await W()}},{type:`toggle`,id:`120-fps`,label:`120 fps`,description:`Record at 120 fps when the capture source supports it. Off records at 60 fps.`,value:()=>p().frameRate===120,disabled:M,set:e=>{m({frameRate:e?120:60})}}]}),t.command.register(sS,async()=>(await U(),bS(h))),t.command.register(cS,async()=>SS(await B())),t.command.register(lS,()=>(I(),bS(h))),t.command.register(uS,async e=>{let t=await R(yS(e));return CS(t,r,i),xS(t)}),t.service.provide(iS,te),t.lifecycle.onDispose(()=>{O=!0,++T,g.clear(),z.dispose(),x.dispose(),P(),F(!0),s.dispose(),a.dispose()})}}),TS=144,ES=96,DS=8,OS=4,kS=1800,AS=200,jS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},MS=(e,t)=>({left:Math.min(Math.max(DS,e.left),Math.max(DS,t.innerWidth-TS-DS)),top:Math.min(Math.max(DS,e.top),Math.max(DS,t.innerHeight-ES-DS))}),NS=(e,t)=>{let n=e.createElement(`button`);return n.type=`button`,n.textContent=t,jS(n,{height:`32px`,padding:`0 12px`,border:`1px solid rgb(255 255 255 / 18%)`,"border-radius":`8px`,"background-color":`rgb(28 28 30 / 84%)`,color:`white`,"font-family":`inherit`,"font-size":`12px`,"font-weight":`500`,cursor:`pointer`}),n},PS=({copied:e,downloaded:t,copyFailed:n,downloadFailed:r})=>e&&t?`Copied and saved screenshot`:e&&r?`Copied screenshot · Save unavailable`:t&&n?`Saved screenshot · Copy unavailable`:e?`Copied screenshot`:t?`Saved screenshot`:n&&r?`Screenshot captured · Copy and save unavailable`:n?`Screenshot captured · Copy unavailable`:r?`Screenshot captured · Save unavailable`:`Screenshot captured`,FS=e=>e!==null&&(e.nodeType===1||e.nodeType===11),IS=({ownerDocument:e,ownerWindow:t,root:n,previewDurationMs:r})=>{let i=n.closest(`[data-mesurer-root='true']`)??n.parentNode;if(!FS(i))throw Error(`Screenshot preview requires a mounted Mesurer host.`);let a=e.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerScreenshotInteractive=`true`,jS(a,{position:`fixed`,left:`0`,top:`0`,width:`0`,height:`0`,overflow:`visible`,"z-index":`96`,"pointer-events":`auto`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`}),i.append(a);let o=e.createElement(`div`);o.dataset.mesurerScreenshotPreview=`true`,o.setAttribute(`role`,`button`),o.setAttribute(`aria-label`,`Open captured screenshot`),o.tabIndex=0,jS(o,{position:`fixed`,display:`none`,"z-index":`96`,width:`${TS}px`,height:`${ES}px`,"box-sizing":`border-box`,overflow:`hidden`,"border-radius":`10px`,border:`1px solid rgb(0 0 0 / 14%)`,"background-color":`white`,"box-shadow":`0 2px 8px rgb(0 0 0 / 12%)`,"pointer-events":`auto`,cursor:`grab`,"user-select":`none`,"touch-action":`none`});let s=e.createElement(`img`);s.dataset.mesurerScreenshotPreviewImage=`true`,s.alt=`Captured screenshot`,s.draggable=!1,s.title=`Click to open · Right-click for browser image actions`,jS(s,{display:`block`,width:`100%`,height:`100%`,"object-fit":`contain`,"background-color":`white`}),o.append(s);let c=e.createElement(`button`);c.dataset.mesurerScreenshotPreviewDismiss=`true`,c.type=`button`,c.setAttribute(`aria-label`,`Dismiss screenshot preview`),c.title=`Dismiss`,jS(c,{position:`absolute`,top:`8px`,right:`8px`,width:`20px`,height:`20px`,display:`flex`,"align-items":`center`,"justify-content":`center`,"box-sizing":`border-box`,padding:`0`,border:`0`,"border-radius":`999px`,"background-color":`rgb(48 51 64)`,color:`white`,"font-family":`inherit`,"font-size":`14px`,"line-height":`1`,"z-index":`2`,cursor:`pointer`,"touch-action":`none`});let l=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);l.setAttribute(`viewBox`,`0 0 16 16`),l.setAttribute(`width`,`12`),l.setAttribute(`height`,`12`),l.setAttribute(`fill`,`none`),l.setAttribute(`aria-hidden`,`true`);let u=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);u.setAttribute(`d`,`m4 4 8 8M12 4l-8 8`),u.setAttribute(`stroke`,`currentColor`),u.setAttribute(`stroke-width`,`1.75`),u.setAttribute(`stroke-linecap`,`round`),l.append(u),c.append(l),o.append(c),a.append(o);let d=e.createElement(`div`);d.dataset.mesurerScreenshotViewer=`true`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-modal`,`true`),d.setAttribute(`aria-label`,`Screenshot viewer`),jS(d,{position:`fixed`,inset:`0`,display:`none`,"z-index":`110`,"align-items":`center`,"justify-content":`center`,padding:`56px 48px 40px`,"box-sizing":`border-box`,"background-color":`rgb(0 0 0 / 72%)`,"backdrop-filter":`blur(8px)`,"pointer-events":`auto`});let f=e.createElement(`img`);f.dataset.mesurerScreenshotViewerImage=`true`,f.alt=`Captured screenshot`,jS(f,{display:`block`,"max-width":`calc(100vw - 96px)`,"max-height":`calc(100vh - 112px)`,width:`auto`,height:`auto`,"object-fit":`contain`,"border-radius":`8px`,"box-shadow":`0 8px 30px rgb(0 0 0 / 28%)`}),d.append(f);let p=e.createElement(`div`);p.dataset.mesurerScreenshotViewerControls=`true`,jS(p,{position:`fixed`,top:`16px`,right:`16px`,display:`flex`,gap:`8px`,"pointer-events":`auto`});let m=NS(e,`Copy`);m.dataset.mesurerScreenshotViewerCopy=`true`,m.setAttribute(`aria-label`,`Copy screenshot`);let h=NS(e,`Save`);h.dataset.mesurerScreenshotViewerSave=`true`,h.setAttribute(`aria-label`,`Save screenshot`);let g=NS(e,`Close`);g.dataset.mesurerScreenshotViewerClose=`true`,g.setAttribute(`aria-label`,`Close screenshot viewer`),p.append(m,h,g),d.append(p),a.append(d);let _=e.createElement(`div`);_.dataset.mesurerScreenshotToast=`true`,_.setAttribute(`role`,`status`),jS(_,{position:`fixed`,left:`50%`,bottom:`20px`,display:`none`,"z-index":`120`,transform:`translateX(-50%)`,padding:`7px 10px`,"border-radius":`8px`,"background-color":`rgb(28 28 30 / 90%)`,color:`white`,"font-size":`12px`,"font-weight":`500`,"pointer-events":`none`}),a.append(_);let v=null,y=null,b=null,x=null,S=0,C=0,w=null,T=!1,E=()=>{S&&t.clearTimeout(S),S=0},D=()=>{C&&t.clearTimeout(C),C=0},O=(e,n=!1)=>{D(),_.textContent=e,_.style.backgroundColor=n?`#b42318`:`rgb(28 28 30 / 90%)`,_.style.display=`block`,C=t.setTimeout(()=>{C=0,_.style.display=`none`},kS)},k=()=>{d.style.display=`none`},A=()=>{y&&globalThis.URL.revokeObjectURL(y),y=null,v=null,s.removeAttribute(`src`),f.removeAttribute(`src`)},j=()=>{E(),k(),w&&=(w.cancel(),null),o.style.display=`none`,o.style.opacity=`1`,o.style.transform=`none`,o.style.removeProperty(`will-change`),o.style.pointerEvents=`auto`,A()},M=()=>{if(!v||o.style.display===`none`||w)return;E(),k();let e=o.getBoundingClientRect(),n=Math.max(152,t.innerWidth-e.left+DS);o.style.pointerEvents=`none`,o.style.willChange=`transform, opacity`;let r=o.animate([{transform:`translateX(0) scale(1)`,opacity:1},{transform:`translateX(${n}px) scale(0.92)`,opacity:0}],{duration:AS,easing:`ease`,fill:`forwards`});w=r,r.finished.catch(()=>void 0).then(()=>{w===r&&(r.cancel(),w=null,j())})},N=()=>MS({left:t.innerWidth-TS-DS,top:t.innerHeight-ES-DS},t),P=e=>{let n=MS(e,t);b=n,o.style.left=`${n.left}px`,o.style.top=`${n.top}px`},F=()=>{!v||!y||(E(),d.style.display=`flex`,g.focus())},I=async()=>{let e=v;if(e)try{await Ka(Promise.resolve(e),t),O(`Copied screenshot`)}catch{O(`Could not copy screenshot`,!0)}},L=()=>{let n=v;if(n)try{Ja(n,qa(),e,t),O(`Saved screenshot`)}catch{O(`Could not save screenshot`,!0)}},R=(e,t,n)=>{if(!v)return!1;E();let r=o.getBoundingClientRect();return x={pointerId:n,startX:e,startY:t,left:r.left,top:r.top,moved:!1},o.style.cursor=`grabbing`,!0},z=(e,t)=>{let n=x;if(!n)return;let r=e-n.startX,i=t-n.startY;!n.moved&&Math.hypot(r,i)>=OS&&(n.moved=!0),n.moved&&P({left:n.left+r,top:n.top+i})},B=()=>{let e=x;e&&(x=null,o.style.cursor=`grab`,e.moved||F())},V=()=>{x&&(x=null,o.style.cursor=`grab`)},ee=e=>{e.button!==0||!R(e.clientX,e.clientY,null)||e.preventDefault()},H=e=>{x?.pointerId===null&&z(e.clientX,e.clientY)},U=e=>{e.button===0&&x?.pointerId===null&&B()},W=e=>{e.pointerType!==`mouse`&&e.button===0&&R(e.clientX,e.clientY,e.pointerId)&&(o.setPointerCapture?.(e.pointerId),e.preventDefault())},te=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&z(e.clientX,e.clientY)},ne=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),B())},re=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),V())},ie=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),F())},G=e=>{e.target!==s&&e.preventDefault()},ae=e=>{e.target===d&&k()},oe=e=>{e.key===`Escape`&&d.style.display!==`none`&&(e.preventDefault(),e.stopImmediatePropagation(),k())};return c.addEventListener(`pointerdown`,e=>e.stopPropagation()),c.addEventListener(`mousedown`,e=>e.stopPropagation()),c.addEventListener(`click`,e=>{e.stopPropagation(),M()}),o.addEventListener(`mousedown`,ee),o.addEventListener(`pointerdown`,W),o.addEventListener(`keydown`,ie),o.addEventListener(`contextmenu`,G),d.addEventListener(`click`,ae),m.addEventListener(`click`,()=>{I()}),h.addEventListener(`click`,L),g.addEventListener(`click`,k),t.addEventListener(`mousemove`,H,!0),t.addEventListener(`mouseup`,U,!0),t.addEventListener(`pointermove`,te,!0),t.addEventListener(`pointerup`,ne,!0),t.addEventListener(`pointercancel`,re,!0),t.addEventListener(`keydown`,oe,!0),{show(e,n){if(T)return;E(),k(),w&&=(w.cancel(),null),o.style.opacity=`1`,o.style.transform=`none`,o.style.willChange=`transform, opacity`,o.style.pointerEvents=`auto`,A(),v=e;let i=globalThis.URL.createObjectURL(e);y=i,s.src=i,f.src=i,o.style.display=`block`,P(b??N()),O(PS(n)),r>0&&(S=t.setTimeout(j,r))},dismiss:j,dispose(){T||(T=!0,E(),D(),j(),t.removeEventListener(`mousemove`,H,!0),t.removeEventListener(`mouseup`,U,!0),t.removeEventListener(`pointermove`,te,!0),t.removeEventListener(`pointerup`,ne,!0),t.removeEventListener(`pointercancel`,re,!0),t.removeEventListener(`keydown`,oe,!0),o.removeEventListener(`mousedown`,ee),o.removeEventListener(`pointerdown`,W),o.removeEventListener(`keydown`,ie),o.removeEventListener(`contextmenu`,G),d.removeEventListener(`click`,ae),a.remove())}}},LS=`mesurer.screenshot`,RS=`screenshot`,zS=`mesurer.screenshot.settings`,BS=`mesurer.screenshot.active`,VS=`runtime:solid`,HS=`screenshot.toggle`,US=2500,WS=0,GS=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-selection-spacing-target='true']`,`[data-mesurer-guide='true']`,`[data-mesurer-distance='true']`].join(`,`),KS=`${GS},[data-mesurer-rulers='true'],[data-mesurer-multi-selection-document-layer='true']`,qS={viewBox:`0 0 256 256`,paths:[`m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z`,`m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z`]},JS=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},YS=(e,t)=>{for(let n of[`left`,`top`,`right`,`bottom`,`width`,`height`]){let r=t[n];r===void 0?e.style.removeProperty(n):e.style.setProperty(n,`${r}px`)}},XS=e=>{let t=e(zS);return{toolEnabled:t?.toolEnabled??!0,copy:t?.copy??!0,download:t?.download??!1,includeMeasurements:t?.includeMeasurements??!1}},ZS=e=>({value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),QS=(e,t)=>{t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`)},$S=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},eC=e=>{let t=e.querySelector(`[data-mesurer-root='true']`);if(!t)return()=>void 0;let n=new Set;for(let e of t.querySelectorAll(`[data-mesurer-rulers='true']`)){let r=$S(e,t);r&&n.add(r)}for(let e of t.querySelectorAll(GS)){let r=$S(e,t);r&&n.add(r)}let r=[];for(let e of n)e.dataset.mesurerInspectorUi!==`true`&&(r.push({element:e,display:ZS(e)}),e.style.setProperty(`display`,`none`,`important`));return()=>{for(let e of r)QS(e.element,e.display)}},tC=e=>Array.from(e.querySelectorAll(KS)).filter(e=>e.dataset.mesurerInspectorUi===`true`).map(e=>({element:e,display:ZS(e)})),nC=e=>{for(let t of e)t.element.isConnected&&QS(t.element,t.display)},rC=(e={})=>ya({id:LS,version:`0.1.0`,requires:[VS],provides:[`tool:screenshot`,`capture:screenshot`,`settings:screenshot`],setup(t){let n=t.service.get(VS);if(!n)throw Error(`Screenshot plugin requires the Solid renderer runtime.`);let{ownerDocument:r,ownerWindow:i}=n,a=n.createWorkspaceRuntime(),o=n.createInspectorMount(),s=e.capture??e.captureVisibleTab,c=s??mo,l=e.previewDurationMs??WS;t.state.register({id:zS,initial:{toolEnabled:e.toolEnabled??!0,copy:e.copy??!0,download:e.download??!1,includeMeasurements:e.includeMeasurements??!1},persist:!0}),t.state.register({id:BS,initial:!1});let u=o.element;u.dataset.mesurerScreenshot=`true`,JS(u,{position:`fixed`,inset:`0`,"z-index":`85`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`});let d=r.createElement(`div`);d.dataset.mesurerScreenshotSelect=`true`,d.setAttribute(`role`,`application`),d.setAttribute(`aria-label`,`Screenshot selection`),JS(d,{position:`fixed`,inset:`0`,display:`none`,"z-index":`85`,cursor:`crosshair`,"pointer-events":`auto`,"user-select":`none`,"touch-action":`none`}),u.append(d);let f=Array.from({length:4},()=>{let e=r.createElement(`div`);return JS(e,{position:`fixed`,"background-color":`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),d.append(e),e}),p=r.createElement(`div`);JS(p,{position:`fixed`,display:`none`,border:`1px solid #0d99ff`,"box-sizing":`border-box`,"pointer-events":`none`}),d.append(p);let m=r.createElement(`div`);JS(m,{position:`fixed`,display:`none`,"z-index":`86`,transform:`translateX(-50%)`,"border-radius":`4px`,padding:`2px 4px`,"background-color":`#0d99ff`,color:`white`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"pointer-events":`none`}),d.append(m);let h=r.createElement(`div`);h.textContent=`Drag to select · Esc to cancel`,JS(h,{position:`fixed`,left:`50%`,bottom:`16px`,transform:`translateX(-50%)`,"border-radius":`4px`,padding:`4px 8px`,"background-color":`black`,color:`white`,"font-size":`11px`,"pointer-events":`none`}),d.append(h);let g=r.createElement(`div`);g.dataset.mesurerScreenshotError=`true`,g.setAttribute(`role`,`status`),g.textContent=`Could not save screenshot`,JS(g,{position:`fixed`,display:`none`,"z-index":`97`,"border-radius":`6px`,padding:`6px 8px`,"background-color":`#b42318`,color:`white`,"font-size":`11px`,"pointer-events":`none`}),u.append(g);let _=null,v=null,y=0,b=0,x=!1,S=!1,C=!1,w=()=>t.state.get(`mesurer.screenshot.active`)??!1,T=()=>XS(t.state.get),E=e=>{t.state.update(zS,t=>{let n={...t};return e.toolEnabled!==void 0&&(n.toolEnabled=e.toolEnabled),e.copy!==void 0&&(n.copy=e.copy),e.download!==void 0&&(n.download=e.download),e.includeMeasurements!==void 0&&(n.includeMeasurements=e.includeMeasurements),n})},D=e=>{w()!==e&&t.state.update(`mesurer.screenshot.active`,()=>e)},O=()=>{if(v)return;let e=n.portalTarget.querySelector(`[data-mesurer-toolbar='true']`);e&&(v={element:e,visibility:{value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)}},e.style.setProperty(`visibility`,`hidden`,`important`))},k=()=>{if(!v)return;let{element:e,visibility:t}=v;v=null,t.value||t.priority?e.style.setProperty(`visibility`,t.value,t.priority):e.style.removeProperty(`visibility`)},A=e=>{let t=i.innerWidth,n=i.innerHeight;if(!e||e.width<=0||e.height<=0){YS(f[0],{left:0,top:0,width:t,height:n});for(let e of f.slice(1))YS(e,{left:0,top:0,width:0,height:0});p.style.display=`none`,m.style.display=`none`;return}YS(f[0],{left:0,top:0,width:t,height:e.top}),YS(f[1],{left:0,top:e.top,width:e.left,height:e.height}),YS(f[2],{left:e.left+e.width,top:e.top,width:Math.max(0,t-e.left-e.width),height:e.height}),YS(f[3],{left:0,top:e.top+e.height,width:t,height:Math.max(0,n-e.top-e.height)}),p.style.display=`block`,YS(p,e),m.style.display=`block`,m.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,YS(m,{left:e.left+e.width/2,top:Math.min(n-22,e.top+e.height+6)})},j=()=>n.portalTarget.querySelector(`[data-mesurer-tool-id='screenshot']`)?.getBoundingClientRect()??null,M=IS({ownerDocument:r,ownerWindow:i,root:u,previewDurationMs:l}),N=e=>{let t=j(),n=Math.max(140,e.offsetWidth||140),r=Math.max(26,e.offsetHeight||26),a=t?Math.min(i.innerWidth-n-8,Math.max(8,t.left+t.width/2-n/2)):8,o=t?t.bottom+8:8,s=o+r<=i.innerHeight-8?o:Math.max(8,(t?.top??i.innerHeight)-r-8);e.style.left=`${a}px`,e.style.top=`${s}px`},P=()=>{y&&i.clearTimeout(y),g.style.display=`block`,N(g),y=i.setTimeout(()=>{y=0,g.style.display=`none`},US)},F=()=>{_=null,A(null),d.style.visibility=``,d.style.display=`none`,u.style.pointerEvents=`none`,D(!1),k()},I=()=>{b+=1,F(),ho(i)},L=async e=>{if(x)throw Error(`A screenshot capture is already running.`);if(e.width<4||e.height<4)throw Error(`Screenshot selection must be at least 4px by 4px.`);x=!0;let o=++b,s=T(),l=s.includeMeasurements?tC(r):[],u=s.includeMeasurements?()=>void 0:eC(n.portalTarget);a.prepareCapture(),s.includeMeasurements&&nC(l);try{d.style.visibility=`hidden`,await Ya(i);let n=await Ga(await c({ownerDocument:r,ownerWindow:i}),e,{width:i.innerWidth,height:i.innerHeight},r,Ua(r));if(b!==o)throw Error(`Screenshot capture was cancelled.`);let a=!1,l=!1,u=s.copy?Ka(Promise.resolve(n),i).then(()=>{a=!0}):Promise.resolve(),f=s.download?Promise.resolve().then(()=>{Ja(n,qa(),r,i),l=!0}):Promise.resolve(),p=await Promise.allSettled([u,f]),m=s.copy&&p[0]?.status===`rejected`,h=s.download&&p[1]?.status===`rejected`;if(b!==o)throw Error(`Screenshot capture was cancelled.`);return w()&&F(),M.show(n,{copied:a,downloaded:l,copyFailed:m,downloadFailed:h}),await t.hook.emit(`screenshot:capture`,{rect:{...e},copied:a,downloaded:l}),{blob:n,rect:{...e},copied:a,downloaded:l}}catch(e){throw b===o&&P(),e}finally{d.style.visibility=``,u(),a.finishCapture(),x=!1}},R=async()=>{if(T().toolEnabled){if(w()){I();return}if(!S){S=!0,M.dismiss();try{if(s||await po(r,i),C)return;O(),A(null),d.style.visibility=`visible`,u.style.pointerEvents=`auto`,d.style.display=`block`,D(!0)}catch(e){throw e instanceof Error&&e.name===`AbortError`||P(),e}finally{S=!1}}}},z=e=>{!w()||e.button!==0||(e.preventDefault(),e.stopPropagation(),_={x:e.clientX,y:e.clientY},A(Wa(_,_,{width:i.innerWidth,height:i.innerHeight})),d.setPointerCapture?.(e.pointerId))},B=e=>{!w()||!_||A(Wa(_,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight}))},V=e=>{let t=_;if(_=null,!w()||!t)return;d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId);let n=Wa(t,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight});if(A(n),n.width<4||n.height<4){A(null);return}L(n).catch(()=>void 0).finally(()=>{w()&&F()})},ee=e=>{_=null,d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId),A(null)},H=e=>{e.key!==`Escape`||!w()||(e.preventDefault(),e.stopImmediatePropagation(),I())};d.addEventListener(`pointerdown`,z),d.addEventListener(`pointermove`,B),d.addEventListener(`pointerup`,V),d.addEventListener(`pointercancel`,ee),i.addEventListener(`keydown`,H,!0);let U={active:w,settings:T,setSettings:E,start:R,cancel:I,capture:L};t.tool.register({id:`screenshot`,label:`Screenshot`,shortcut:`Shift+S`,order:70,command:HS,toolbarMode:`select`,compactPinned:!0,icon:qS,active:w,hidden:()=>!T().toolEnabled,menu:{label:`Screenshot options`,items:[{id:`copy`,label:`Auto-copy`,checked:()=>T().copy,run:()=>E({copy:!T().copy})},{id:`download`,label:`Auto-download`,checked:()=>T().download,run:()=>E({download:!T().download})},{id:`measurements`,label:`Include measurements`,checked:()=>T().includeMeasurements,run:()=>E({includeMeasurements:!T().includeMeasurements})}]}}),t.settings.register({id:`screenshot`,label:`Screenshot`,order:40,controls:[{type:`toggle`,id:`tool`,label:`Screenshot tool`,description:`Show the camera tool in the toolbar.`,value:()=>T().toolEnabled,set:e=>{E({toolEnabled:e}),!e&&w()&&I()}},{type:`toggle`,id:`copy`,label:`Auto-copy`,description:`Copy each successful capture when the browser allows it.`,value:()=>T().copy,set:e=>E({copy:e})},{type:`toggle`,id:`download`,label:`Auto-download`,description:`Download each successful capture as a PNG.`,value:()=>T().download,set:e=>E({download:e})},{type:`toggle`,id:`measurements`,label:`Include measurements`,description:`Keep selections, measurements, guides, distances, and rulers in the PNG.`,value:()=>T().includeMeasurements,set:e=>E({includeMeasurements:e})}]}),t.command.register(HS,R),t.service.provide(RS,U),t.lifecycle.onDispose(()=>{C=!0,b+=1,d.removeEventListener(`pointerdown`,z),d.removeEventListener(`pointermove`,B),d.removeEventListener(`pointerup`,V),d.removeEventListener(`pointercancel`,ee),i.removeEventListener(`keydown`,H,!0),y&&i.clearTimeout(y),M.dispose(),k(),ho(i),a.finishCapture(),a.dispose(),o.dispose()})}}),iC=e=>Number.parseFloat(e)||0,aC=0,oC=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},sC=e=>e.nodeType===9,cC=e=>e.nodeType===11;function lC(e){let t=e.getRootNode();return cC(t)?t:e.ownerDocument}var uC=(e,t)=>{if(sC(e)||cC(e))return e;let n=lC(e);return cC(n)?n:t},dC=600,fC=`audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video`,pC=new WeakMap,mC=e=>{let t=e;for(;t;){if((pC.get(t)??0)>0)return!0;let e=t.getRootNode();t=cC(e)?e.host:t.parentElement}return!1},hC=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,gC=(e,t)=>Array.from(e.getClientRects()).some(e=>hC(e,t)),_C=(e,t,n)=>{let r=e;for(;r;){let e=n.getComputedStyle(r);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||e.contentVisibility===`hidden`||Number(e.opacity)===0)return!0;if(r===t)return!1;r=r.parentElement}return!0},vC=(e,t)=>{if(e.matches(`img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use`))return!0;let n=t.getComputedStyle(e),r=n.backgroundImage!==`none`||n.backgroundColor!==`transparent`&&n.backgroundColor!==`rgba(0, 0, 0, 0)`,i=[`top`,`right`,`bottom`,`left`].some(e=>Number.parseFloat(n.getPropertyValue(`border-${e}-width`))>0&&n.getPropertyValue(`border-${e}-style`)!==`none`);return r||i||n.boxShadow!==`none`||n.outlineStyle!==`none`},yC=(e,t)=>!!e.textContent?.trim()||vC(e,t),bC=(e,t,n)=>{let r=t,i=r.caretRangeFromPoint?.(e.x,e.y)?.startContainer??r.caretPositionFromPoint?.(e.x,e.y)?.offsetNode;if(!i)return null;let a=t.defaultView?.Element;if(!a)return null;let o=i instanceof a?i:i.parentElement;for(;o&&o!==n;){if(n.contains(o))return o;o=o.parentElement}return o===n?n:null},xC=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(n,i,s)=>{if(o.has(n)||mC(n)||r.getComputedStyle(n).pointerEvents!==`none`||_C(n,e,r)||!gC(n,t))return;let c=n.getBoundingClientRect();o.add(n),a.push({element:n,area:c.width*c.height,depth:i,order:s})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=dC;){if(l instanceof i){let t=l;if(r.getComputedStyle(t).pointerEvents===`none`){let n=1,r=t.parentElement;for(;r&&r!==e;)n+=1,r=r.parentElement;s(t,n,u)}}u+=1,l=c.nextNode()}let d=bC(t,n,e);return d&&r.getComputedStyle(d).pointerEvents===`none`&&s(d,1e4,u),a.sort((e,t)=>t.depth-e.depth||e.area-t.area||t.order-e.order).map(({element:e})=>e)},SC=(e,t,n)=>{let r=t.ownerDocument.defaultView;if(!r)return[];let i=[...new Set(e)],a=new Map;for(let e of i){let t=e instanceof r.HTMLElement||e instanceof r.SVGElement?e:null;t&&(a.set(e,e.getAttribute(`style`)),t.style.setProperty(`pointer-events`,`auto`,`important`))}try{let e=lC(t).elementsFromPoint(n.x,n.y),r=e.findIndex(e=>e===t),a=new Map(e.map((e,t)=>[e,t]));return i.filter(e=>{let t=a.get(e);return t!==void 0&&(r<0||t<r)}).sort((e,t)=>e.contains(t)?1:t.contains(e)?-1:(a.get(e)??2**53-1)-(a.get(t)??2**53-1))}finally{for(let[e,t]of a)t===null?e.removeAttribute(`style`):e.setAttribute(`style`,t)}},CC=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},wC=(e,t,n,r)=>{let i=r.defaultView;if(!i)return[];let a=SC(xC(e,t,r).filter(e=>yC(e,i)),e,t);if(a.length>0)return a;if(e.textContent?.trim()&&!e.matches(fC)||e.matches(`a, button, input, select, textarea, label, summary, [contenteditable='true']`))return[];let o=[],s=new Set,c=!sC(n)&&!cC(n)?n:null,l=e.parentElement;for(;l&&l!==r.body&&l!==r.documentElement&&!(c&&l!==c&&!c.contains(l));){let a=l,u=CC(e,a),d=xC(a,t,r).filter(e=>{if(!EC(e,n)||e.closest(`[aria-hidden='true'], [inert]`))return!1;let t=CC(e,a);return t===null||t!==u});for(let e of d)s.has(e)||!yC(e,i)||(s.add(e),o.push(e));if(a===c)break;l=a.parentElement}return SC(o,e,t)};function TC(e,t,n=sC(t)?t:t.ownerDocument??document){let r=uC(t,n),i=n.defaultView;if(!i)return null;let a=r.elementsFromPoint(e.x,e.y);for(let r of a){let a=r;for(;a?.shadowRoot;){let t=a.shadowRoot.elementFromPoint(e.x,e.y);if(!t||t===a)break;a=t}if(!a||!EC(a,t))continue;let o=wC(a,e,t,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function EC(e,t){if(sC(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!cC(e))return!1;n=e.host}return!1}function DC(e,t){if(!e)return t();let n=pC.get(e)??0;pC.set(e,n+1);let r=[e,...e.querySelectorAll(`*`)],i=r.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of r)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{n===0?pC.delete(e):pC.set(e,n);for(let[e,t,n]of i)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function OC(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${oC(e.id,t)}`;let n=e.getAttribute(`data-testid`);if(n)return`[data-testid=${JSON.stringify(n)}]`;let r=[],i=e;for(;i&&r.length<5;){let e=i.localName,t=i.localName,n=i.parentElement;if(n){let r=[...n.children].filter(e=>e.localName===t);r.length>1&&(e+=`:nth-of-type(${r.indexOf(i)+1})`)}r.unshift(e),i=n}return r.join(` > `)}function kC(e,t,n=`dom-inspection-${++aC}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:iC(i.paddingTop),right:iC(i.paddingRight),bottom:iC(i.paddingBottom),left:iC(i.paddingLeft)},o={top:iC(i.marginTop),right:iC(i.marginRight),bottom:iC(i.marginBottom),left:iC(i.marginLeft)},s={left:r.left+a.left,top:r.top+a.top,width:Math.max(0,r.width-a.left-a.right),height:Math.max(0,r.height-a.top-a.bottom)},c={left:r.left-o.left,top:r.top-o.top,width:r.width+o.left+o.right,height:r.height+o.top+o.bottom},l=e.tagName.toLowerCase(),u=e.id?`#${e.id}`:``,d=e.classList.item(0),f=d?`.${d}`:``;return{id:n,rect:{left:r.left,top:r.top,width:r.width,height:r.height},paddingRect:s,marginRect:c,padding:a,margin:o,label:`${l}${u}${f}`,elementRef:e}}function AC(e){let t=e.ownerDocument.defaultView??window,n=t.getComputedStyle(e),r=e instanceof t.HTMLElement?e:null,i=e.getBoundingClientRect(),a=r?kC(r,t):null,o=e=>{let t=Number.parseFloat(e);return Number.isFinite(t)?t:0},s=e=>({top:o(n.getPropertyValue(`${e}-top${e===`border`?`-width`:``}`)),right:o(n.getPropertyValue(`${e}-right${e===`border`?`-width`:``}`)),bottom:o(n.getPropertyValue(`${e}-bottom${e===`border`?`-width`:``}`)),left:o(n.getPropertyValue(`${e}-left${e===`border`?`-width`:``}`))});return{selector:OC(e),tag:e.localName,id:e.id||null,classes:[...e.classList],text:(e.textContent??``).replace(/\s+/g,` `).trim().slice(0,500),role:e.getAttribute(`role`),ariaLabel:e.getAttribute(`aria-label`),rect:{left:i.left,top:i.top,right:i.right,bottom:i.bottom,width:i.width,height:i.height,x:i.x,y:i.y},margin:a?.margin??s(`margin`),padding:a?.padding??s(`padding`),border:s(`border`),typography:{fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,textAlign:n.textAlign,color:n.color},appearance:{backgroundColor:n.backgroundColor,borderColor:n.borderColor,borderRadius:n.borderRadius,boxShadow:n.boxShadow,opacity:n.opacity},layout:{display:n.display,position:n.position,zIndex:n.zIndex,overflowX:n.overflowX,overflowY:n.overflowY,flexDirection:n.flexDirection,alignItems:n.alignItems,justifyContent:n.justifyContent,gap:n.gap,gridTemplateColumns:n.gridTemplateColumns,gridTemplateRows:n.gridTemplateRows,transform:n.transform},scroll:{clientWidth:r?.clientWidth??0,clientHeight:r?.clientHeight??0,scrollWidth:r?.scrollWidth??0,scrollHeight:r?.scrollHeight??0,overflowsX:(r?.scrollWidth??0)>(r?.clientWidth??0)+1,overflowsY:(r?.scrollHeight??0)>(r?.clientHeight??0)+1}}}var jC=`text-edit`,MC=e=>AC(e);function NC(e){let t=e.root??e.ownerDocument,n=e.ownerDocument.defaultView??window,r=(e,n=0)=>t.querySelectorAll(e).item(n)||null,i=n=>t===e.ownerDocument||EC(n,t),a=async()=>{let t=(e.getPluginHost()??await e.waitForPluginHost()).service.get(jC);if(!t)throw Error(`Mesurer text editing service is unavailable.`);return t},o=()=>{let t=e.ownerDocument.documentElement,r=e.ownerDocument.body,i=Math.max(t.scrollWidth,r?.scrollWidth??0),a=Math.max(t.scrollHeight,r?.scrollHeight??0);return{width:n.innerWidth,height:n.innerHeight,devicePixelRatio:n.devicePixelRatio,scrollX:n.scrollX,scrollY:n.scrollY,documentWidth:i,documentHeight:a,horizontalOverflow:i>n.innerWidth+1,verticalOverflow:a>n.innerHeight+1}},s=async(t=2)=>{await e.ownerDocument.fonts?.ready;for(let e=0;e<Math.max(1,t);e+=1)await new Promise(e=>n.requestAnimationFrame(()=>e()))};return{async ready(){await e.waitForPluginHost(),await s()},async describe(){return(await e.waitForPluginHost()).describe()},inspect(e,t=0){let n=r(e,t);return n?MC(n):null},inspectAll(e,n=50){return[...t.querySelectorAll(e)].slice(0,Math.max(0,n)).map(MC)},at(n,r){let a=t.querySelector?.(`[data-mesurer-island]`)??null;return DC(a?.shadowRoot?.querySelector(`[data-mesurer-root='true']`)??a,()=>{let a=TC({x:n,y:r},t,e.ownerDocument);return a&&i(a)?MC(a):null})},distance(e,t){let n=r(e),i=r(t);if(!n||!i)return null;let a=MC(n),o=MC(i),s=a.rect,c=o.rect;return{a,b:o,horizontalGap:c.left>=s.right?c.left-s.right:s.left>=c.right?s.left-c.right:0,verticalGap:c.top>=s.bottom?c.top-s.bottom:s.top>=c.bottom?s.top-c.bottom:0,centerDeltaX:c.left+c.width/2-(s.left+s.width/2),centerDeltaY:c.top+c.height/2-(s.top+s.height/2)}},viewport:o,async feedback(n=[]){await s();let r=e.getPluginHost()??await e.waitForPluginHost();return{viewport:o(),elements:n.flatMap(e=>[...t.querySelectorAll(e)].slice(0,50).map(MC)),plugins:r.describe(),pluginState:r.state.serialize(`all`)}},async command(t,n){let r=await(e.getPluginHost()??await e.waitForPluginHost()).command.execute(t,n,{source:`agent-harness`});return await s(1),r},async state(){return(e.getPluginHost()??await e.waitForPluginHost()).state.serialize(`all`)},async textEdits(){return(await a()).intents()},async textEdit(e){let t=(await a()).intent(e);if(!t)throw Error(`Text edit intent not found: ${e}`);return t},stable:s}}var PC=`0.2.2`,FC=mh,IC=hh,LC=()=>({...ug(),version:PC}),RC=IC,zC=(e,t)=>e.left<=t.left+t.width&&e.left+e.width>=t.left&&e.top<=t.top+t.height&&e.top+e.height>=t.top,BC=e=>{if(!e.length)return null;let t=Math.min(...e.map(e=>e.left)),n=Math.min(...e.map(e=>e.top)),r=Math.max(...e.map(e=>e.left+e.width)),i=Math.max(...e.map(e=>e.top+e.height));return{left:t,top:n,width:r-t,height:i-n}},VC=(e,t,n)=>t.some(t=>e.orientation===`vertical`?e.position>=t.left-n&&e.position<=t.left+t.width+n:e.position>=t.top-n&&e.position<=t.top+t.height+n),HC=e=>[...e.measurements,...e.activeMeasurement&&!e.measurements.some(t=>t.id===e.activeMeasurement?.id)?[e.activeMeasurement]:[]];function UC(e){let{workspace:t,scope:n,guideTolerance:r}=e;if(n.kind===`workspace`)return{guides:t.guides.map(e=>({...e})),measurements:HC(t),distances:[...t.distances]};let i=new Set(n.elements),a=e=>e!=null&&i.has(e),o=e=>n.regions.some(t=>zC(e,t));return{guides:t.guides.filter(e=>VC(e,n.regions,r)).map(e=>({...e})),measurements:HC(t).filter(e=>a(e.elementRef)||o(e.rect)),distances:t.distances.filter(e=>a(e.elementRefA)||a(e.elementRefB)||o(e.rectA)||o(e.rectB))}}var WC={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},GC={opacity:1,edgeReveal:!1};({...WC}),{...GC};var KC=10,qC=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),JC=e=>{let t=new Set,n=[];for(let r of e)!r?.isConnected||t.has(r)||(t.add(r),n.push(r));return n},YC=e=>e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;function XC(e){let{runtime:t,ownerDocument:n,ownerWindow:r}=e,i=e.request??{scope:`workspace`},a=t.snapshot();if(!a)throw Error(`Mesurer workspace is not ready yet.`);let o=e=>qC(t.elementRect?.(e)??e.getBoundingClientRect()),s=[],c=[],l={kind:`workspace`},u=new Map;if(`annotation`in i){let e=t.annotation(i.annotation);if(!e)throw Error(`Mesurer annotation not found: ${i.annotation}`);for(let t of e.resolvedTargets)t.element?.isConnected&&u.set(t.element,t.target.id);s=JC(e.resolvedTargets.map(e=>e.element));let n=t.annotationRect(e.id);n&&(c=[n]);let r=e.resolvedTargets.length,a=e.resolvedTargets.filter(e=>e.element?.isConnected).length,o=e.anchor.kind===`region`?`connected`:r===0||a===0?`stale`:a===r?`connected`:`partial`;l={kind:`annotation`,annotationId:e.id,note:e.note,targetStatus:o}}else if(i.scope===`selection`){let e=t.currentSelection();if(s=JC(e.elements),!s.length&&!e.region)throw Error(`Mesurer has no current selection.`);c=e.region?[e.region]:s.map(o),l={kind:`selection`}}else s=JC([...t.currentSelection().elements,...a.measurements.map(e=>e.elementRef),a.activeMeasurement?.elementRef,...a.heldDistances.flatMap(e=>[e.elementRefA,e.elementRefB])]);let d=l.kind===`workspace`?[]:c.length?c:s.map(o),f=UC({workspace:{guides:a.guides,measurements:a.measurements,activeMeasurement:a.activeMeasurement,distances:a.heldDistances},scope:l.kind===`workspace`?{kind:`workspace`}:{kind:`scoped`,elements:s,regions:d},guideTolerance:a.guideRelevanceTolerance??KC}),p=f.measurements,m=f.distances,h=f.guides,g=JC([...s,...p.map(e=>e.elementRef),...m.flatMap(e=>[e.elementRefA,e.elementRefB])]),_=new Map,v=new Set(u.values()),y=1,b=()=>{let e=`target-${y++}`;for(;v.has(e);)e=`target-${y++}`;return v.add(e),e},x=g.map(e=>{let t=u.get(e)??b(),n=o(e),r=AC(e);return _.set(e,t),{ref:t,inspection:{...r,rect:{...n,right:n.left+n.width,bottom:n.top+n.height,x:n.left,y:n.top}}}}),S=p.map(e=>{let t={id:e.id,rect:qC(e.rect),deltaX:e.deltaX,deltaY:e.deltaY};e.snapped!==void 0&&(t.snapped=e.snapped);let n=e.elementRef?_.get(e.elementRef):void 0;return n&&(t.targetRef=n),t}),C=m.map(e=>{let t={id:e.id,rectA:qC(e.rectA),rectB:qC(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null},n=e.elementRefA?_.get(e.elementRefA):void 0,r=e.elementRefB?_.get(e.elementRefB):void 0;return n&&(t.targetARef=n),r&&(t.targetBRef=r),t});return{schema:`mesurer.context/v1`,id:YC(r),createdAt:new Date().toISOString(),scope:l,page:{url:r.location?.href??n.URL,title:n.title},viewport:{width:r.innerWidth,height:r.innerHeight,devicePixelRatio:r.devicePixelRatio,scrollX:r.scrollX,scrollY:r.scrollY},coordinateSpace:`viewport-css-px`,regions:l.kind===`workspace`?[]:c.map(qC),visualState:{rulersVisible:a.rulersVisible,xrayVisible:a.xrayVisible},targets:x,visualContext:{guides:h,layoutGuides:(e.layoutGuides??[]).map(e=>({...e})),measurements:S,distances:C}}}var ZC=e=>`${Math.round(e*100)/100}px`,QC=e=>`x=${ZC(e.left)} y=${ZC(e.top)} w=${ZC(e.width)} h=${ZC(e.height)}`;function $C(e){let t=[`Mesurer visual context`,``,`Page: ${e.page.url}`,`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`];if(e.scope.kind===`annotation`?t.push(``,`Annotation`,e.scope.note,`Target status: ${e.scope.targetStatus}`):t.push(``,`Scope: ${e.scope.kind}`),e.regions.length&&(t.push(``,`Requested regions`),e.regions.forEach((e,n)=>t.push(`- region-${n+1}: ${QC(e)}`))),(e.visualState.rulersVisible||e.visualState.xrayVisible)&&t.push(``,`Visual state: rulers=${e.visualState.rulersVisible?`on`:`off`}; x-ray=${e.visualState.xrayVisible?`on`:`off`}`),e.targets.length){t.push(``,`Targets`);for(let n of e.targets){let e=n.inspection;t.push(`[${n.ref}] ${e.selector}`,` rect: ${QC(e.rect)}`,` margin: ${ZC(e.margin.top)} ${ZC(e.margin.right)} ${ZC(e.margin.bottom)} ${ZC(e.margin.left)}`,` padding: ${ZC(e.padding.top)} ${ZC(e.padding.right)} ${ZC(e.padding.bottom)} ${ZC(e.padding.left)}`,` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`,` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`),e.text&&t.push(` text: ${JSON.stringify(e.text)}`)}}if(e.visualContext.guides.length){t.push(``,`Relevant guides`);for(let n of e.visualContext.guides)t.push(`- ${n.orientation} ${n.orientation===`vertical`?`x`:`y`}=${ZC(n.position)}`)}if(e.visualContext.layoutGuides.length){t.push(``,`Layout guides`);for(let n of e.visualContext.layoutGuides){if(!n.visible)continue;let e=n.kind===`grid`?`grid ${ZC(n.size)}`:`${n.count} ${n.kind}; gutter=${ZC(n.gutter)}; offset=${ZC(n.offset)}; align=${n.align}`;t.push(`- ${e}; color=${n.color}; opacity=${Math.round(n.opacity*100)}%`)}}if(e.visualContext.measurements.length){t.push(``,`Relevant measurements`);for(let n of e.visualContext.measurements)t.push(`- ${n.targetRef?`${n.targetRef}: `:``}${QC(n.rect)}; delta=${ZC(n.deltaX)} × ${ZC(n.deltaY)}`)}if(e.visualContext.distances.length){t.push(``,`Relevant distances`);for(let n of e.visualContext.distances){let e=[n.targetARef,n.targetBRef].filter(Boolean).join(` → `),r=[n.horizontal?`horizontal=${ZC(n.horizontal.value)}`:null,n.vertical?`vertical=${ZC(n.vertical.value)}`:null].filter(Boolean).join(`; `);t.push(`- ${e?`${e}: `:``}${r||`overlapping`}`)}}return t.join(`
|
|
2151
2151
|
`).trimEnd()}function ew(e){let t=BC([...e.regions,...e.targets.map(e=>e.inspection.rect),...e.visualContext.measurements.map(e=>e.rect),...e.visualContext.distances.flatMap(e=>[e.rectA,e.rectB])]),n=[{id:`viewport`,kind:`viewport`}];if(t){let r=Math.max(0,t.left-48),i=Math.max(0,t.top-48),a=Math.min(e.viewport.width,t.left+t.width+48),o=Math.min(e.viewport.height,t.top+t.height+48);a>r&&o>i&&n.push({id:`focus`,kind:`clip`,rect:{left:r,top:i,width:a-r,height:o-i}})}return{schema:`mesurer.capture/v1`,contextId:e.id,chrome:`hide`,evidence:`show`,captures:n}}var tw=(e,t,n,r,i)=>{!Number.isFinite(r)||!Number.isFinite(i)||Math.abs(r-i)<.01||e.push({kind:t,label:n,before:r,current:i,delta:i-r,unit:`px`})},nw=(e,t,n,r)=>e.push({kind:`missing`,evidence:t,id:n,label:r}),rw=(e,t)=>Math.abs(e.left-t.left)<.01&&Math.abs(e.top-t.top)<.01&&Math.abs(e.width-t.width)<.01&&Math.abs(e.height-t.height)<.01;function iw(e){let t=e.runtime.annotation(e.annotationId);if(!t)throw Error(`Mesurer annotation not found: ${e.annotationId}`);let n=XC({runtime:e.runtime,ownerDocument:e.ownerDocument,ownerWindow:e.ownerWindow,request:{annotation:e.annotationId},layoutGuides:e.layoutGuides});if(n.scope.kind!==`annotation`)throw Error(`Mesurer annotation context invariant failed.`);let r=e.runtime.snapshot();if(!r)throw Error(`Mesurer workspace is not ready yet.`);let i=HC({measurements:r.measurements,activeMeasurement:r.activeMeasurement}),a=[];for(let e of t.baseline.targets){let t=n.targets.find(t=>t.ref===e.id);if(!t){nw(a,`target`,e.id,e.selector);continue}tw(a,`target-rect`,`${t.inspection.selector} left`,e.rect.left,t.inspection.rect.left),tw(a,`target-rect`,`${t.inspection.selector} top`,e.rect.top,t.inspection.rect.top),tw(a,`target-rect`,`${t.inspection.selector} width`,e.rect.width,t.inspection.rect.width),tw(a,`target-rect`,`${t.inspection.selector} height`,e.rect.height,t.inspection.rect.height)}for(let e of t.baseline.guides){let t=n.visualContext.guides.find(t=>t.id===e.id)??r.guides.find(t=>t.id===e.id);if(!t){nw(a,`guide`,e.id,`${e.orientation} guide ${e.id}`);continue}tw(a,`guide`,`${e.orientation} guide ${e.id}`,e.position,t.position)}for(let e of t.baseline.measurements){let r=n.visualContext.measurements.find(t=>t.id===e.id)??i.find(t=>t.id===e.id);if(!r){let r=t.baseline.targets.find(t=>rw(t.rect,e.rect));r&&n.targets.some(e=>e.ref===r.id)||nw(a,`measurement`,e.id,e.id);continue}tw(a,`measurement`,`${e.id} width`,e.rect.width,r.rect.width),tw(a,`measurement`,`${e.id} height`,e.rect.height,r.rect.height)}for(let e of t.baseline.distances){let t=n.visualContext.distances.find(t=>t.id===e.id)??r.heldDistances.find(t=>t.id===e.id);if(!t){nw(a,`distance`,e.id,e.id);continue}e.horizontal&&t.horizontal?tw(a,`distance`,`${e.id} horizontal`,e.horizontal.value,t.horizontal.value):e.horizontal&&!t.horizontal&&nw(a,`distance`,e.id,`${e.id} horizontal`),e.vertical&&t.vertical?tw(a,`distance`,`${e.id} vertical`,e.vertical.value,t.vertical.value):e.vertical&&!t.vertical&&nw(a,`distance`,e.id,`${e.id} vertical`)}return{schema:`mesurer.review/v1`,annotationId:t.id,note:t.note,targetStatus:n.scope.targetStatus,baseline:t.baseline,current:n,changes:a}}async function aw(e,t,n){try{if(t.navigator.clipboard?.writeText){await t.navigator.clipboard.writeText(n);return}}catch{}let r=e.createElement(`textarea`);r.value=n,r.setAttribute(`readonly`,``),r.style.position=`fixed`,r.style.opacity=`0`,r.style.pointerEvents=`none`,e.body.append(r),r.select();let i=e.execCommand?.(`copy`)??!1;if(r.remove(),!i)throw Error(`Unable to copy Mesurer context to the clipboard.`)}var ow=Ob,sw=kb,cw=()=>({...tx(),version:PC}),lw=`mesurer.context`,uw=`context:v1`,dw=`mesurer.context.settings`,fw=`context.ui`,pw=`data-mesurer-direct-text-edit-active`,mw={viewBox:`0 0 256 256`,paths:[`M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z`]},hw={viewBox:`0 0 256 256`,paths:[`M152,40a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,40Zm-8,168H112a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16ZM208,32H184a8,8,0,0,0,0,16h24V72a8,8,0,0,0,16,0V48A16,16,0,0,0,208,32Zm8,72a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V112A8,8,0,0,0,216,104Zm0,72a8,8,0,0,0-8,8v24H184a8,8,0,0,0,0,16h24a16,16,0,0,0,16-16V184A8,8,0,0,0,216,176ZM40,152a8,8,0,0,0,8-8V112a8,8,0,0,0-16,0v32A8,8,0,0,0,40,152Zm32,56H48V184a8,8,0,0,0-16,0v24a16,16,0,0,0,16,16H72a8,8,0,0,0,0-16ZM72,32H48A16,16,0,0,0,32,48V72a8,8,0,0,0,16,0V48H72a8,8,0,0,0,0-16Z`]},gw={viewBox:`0 0 256 256`,paths:[`M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z`]},_w=async(e,t,n=1)=>{await e.fonts?.ready;for(let e=0;e<Math.max(1,n);e+=1)await new Promise(e=>t.requestAnimationFrame(()=>e()))},vw=(e,t,n,r)=>{let i=async i=>XC({runtime:e,ownerDocument:t,ownerWindow:n,request:i,layoutGuides:r()}),a=async e=>$C(await i(e));return{context:i,contextText:a,copyContext:async e=>aw(t,n,await a(e)),select:async r=>{let a=Array.isArray(r)?[...r]:[String(r)];return e.select(a),await _w(t,n),i({scope:`selection`})},annotations:async()=>e.annotations(),removeAnnotation:async r=>{e.removeAnnotation(r),await _w(t,n)},review:async i=>{if(await _w(t,n),i)return iw({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:i,layoutGuides:r()});let a=r();return e.annotations().map(r=>iw({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:r.id,layoutGuides:a}))},capturePlan:async e=>ew(await i(e)),prepareCapture:async()=>{e.prepareCapture(),await _w(t,n)},finishCapture:async()=>{e.finishCapture(),await _w(t,n)}}},yw=e=>{let t=e.currentSelection();return t.elements.length>0||t.region!==null};function bw(e={}){return{id:lw,version:PC,requires:[`runtime:solid`],provides:[uw],setup(t){let n=t.service.get(`runtime:solid`);if(!n)throw Error(`Mesurer context plugin requires the renderer runtime service.`);let r=n.createWorkspaceRuntime(lw),i=vw(r,n.ownerDocument,n.ownerWindow,()=>t.service.get(sw)?.list()??[]);t.service.provide(uw,i),t.state.register({id:dw,initial:{ui:e.ui??!0},persist:!0}),t.state.register({id:fw,initial:{hasSelection:yw(r)}});let a=()=>t.state.get(`mesurer.context.settings`)?.ui??!0,o=()=>t.state.get(fw)?.hasSelection===!0,s=e=>{t.state.update(dw,t=>({...t,ui:e}))},c=null,l=null,u=null,d=null,f=r.currentSelection(),p={elements:[...f.elements],region:f.region?{...f.region}:null},m=(e,t)=>e.elements.length!==t.elements.length||e.elements.some((e,n)=>e!==t.elements[n])?!1:e.region===t.region?!0:!e.region||!t.region?!1:e.region.left===t.region.left&&e.region.top===t.region.top&&e.region.width===t.region.width&&e.region.height===t.region.height,h=r.subscribe(()=>{let e=r.currentSelection(),n=!m(p,e);p={elements:[...e.elements],region:e.region?{...e.region}:null},r.selectGestureActive()?c?.abandonNoteComposer():n&&c?.closeNoteComposer();let i=e.elements.length>0||e.region!==null;i!==(t.state.get(fw)?.hasSelection??!1)&&t.state.update(fw,()=>({hasSelection:i}))});t.command.register(`context.copy`,()=>i.copyContext()),t.command.register(`context.copy-selection`,()=>i.copyContext({scope:`selection`}));let g=()=>{let e=u?.element;e&&(n.rendererRoot?.hasAttribute(pw)?e.setAttribute(pw,`true`):e.removeAttribute(pw))},_=()=>{d?.disconnect(),d=null,c=null,l?.(),l=null,u?.dispose(),u=null},v=()=>{if(u)return;if(u=ib(n),u.element.dataset.mesurerLayer=`evidence`,u.element.dataset.mesurerContextRoot=`true`,n.rendererRoot){let e=new n.ownerWindow.MutationObserver(g);d=e,e.observe(n.rendererRoot,{attributes:!0,attributeFilter:[pw]}),g()}let e={runtime:r,onCopy:i.copyContext,onController:e=>{c=e},coordinateSpace:`document`,rendererRoot:n.rendererRoot};l=Si(()=>Ur(eb,xi(e,{get ownerWindow(){return n.ownerWindow}})),u.element)},y=()=>{a()?v():_()};y(),t.state.subscribe(y),t.command.register(`context.add-note`,()=>c?.openNoteComposer()),t.tool.register({id:`context.copy`,label:`Copy context`,shortcut:`C`,command:`context.copy`,order:70,toolbarMode:`always`,icon:mw,hidden:()=>!a()}),t.tool.register({id:`context.copy-selection`,label:`Copy selection`,shortcut:`Shift+C`,command:`context.copy-selection`,order:71,toolbarMode:`always`,icon:hw,hidden:()=>!a(),disabled:()=>!o()}),t.tool.register({id:`context.add-note`,label:`Add note`,shortcut:`N`,command:`context.add-note`,order:72,toolbarMode:`always`,icon:gw,hidden:()=>!a(),disabled:()=>!o()}),t.settings.register({id:`context`,label:`Context`,order:30,controls:[{type:`toggle`,id:`ui`,label:`Context tools`,description:`Show Copy Context, Copy Selection, Add Note, and annotation controls.`,value:a,set:s}]}),t.lifecycle.onDispose(()=>{h(),_(),r.dispose()})}}}var xw={display:`block`,position:`fixed`,inset:`0`,width:`0`,height:`0`,"min-width":`0`,"min-height":`0`,"max-width":`none`,"max-height":`none`,margin:`0`,padding:`0`,border:`0`,overflow:`visible`,background:`transparent`,"box-sizing":`border-box`,"pointer-events":`none`,"z-index":`2147483647`,opacity:`1`,visibility:`visible`,transform:`none`,translate:`none`,rotate:`none`,scale:`none`,filter:`none`,"backdrop-filter":`none`,"clip-path":`none`,mask:`none`,contain:`none`,isolation:`isolate`,"mix-blend-mode":`normal`,animation:`none`,transition:`none`,"color-scheme":`light`,color:`#0f172a`,"font-family":`ui-sans-serif, system-ui, sans-serif`,"font-size":`16px`,"font-weight":`400`,"line-height":`1.5`,"letter-spacing":`normal`,direction:`ltr`};function Sw(e){for(let[t,n]of Object.entries(xw))e.style.setProperty(t,n,`important`)}function Cw(e){return`popover`in e&&`showPopover`in e&&typeof e.showPopover==`function`&&`hidePopover`in e&&typeof e.hidePopover==`function`}var ww=e=>`newState`in e,Tw=e=>e.localName===`dialog`;function Ew(e){if(!Tw(e)||!e.open)return!1;try{return e.matches(`:modal`)}catch{return!1}}function Dw(e,t,n=!0){Sw(e);let r=e.ownerDocument,i=r.defaultView??window,a=t,o=!1,s=`fixed`,c=!1,l=0,u=[];if(n&&Cw(e)&&(e.popover=`manual`),t.append(e),n&&Cw(e))try{e.showPopover(),c=e.matches(`:popover-open`),c&&(s=`top-layer`)}catch{e.removeAttribute(`popover`)}let d=()=>{if(!(!c||!Cw(e)))try{e.matches(`:popover-open`)||e.showPopover()}catch{}},f=t=>{if(e.parentNode===t)return;let n=c&&Cw(e)&&e.matches(`:popover-open`);if(n&&Cw(e))try{e.hidePopover()}catch{}t.append(e),Sw(e),n&&d()},p=()=>{u=u.filter(e=>e.isConnected&&Ew(e)),f(u.at(-1)??a)},m=e=>{u=u.filter(t=>t!==e),u.push(e),p()},h=e=>{u=u.filter(t=>t!==e),p()},g=()=>{if(!(o||!c||!Cw(e)))try{e.matches(`:popover-open`)&&e.hidePopover(),e.showPopover()}catch{}},_=()=>{o||!c||l||(l=i.requestAnimationFrame(()=>{l=0,g()}))},v=t=>{if(!c||t.target===e)return;let n=ww(t)?t.newState:void 0,r=t.target;if(r instanceof i.Element){if(Tw(r)){n===`open`&&Ew(r)?(m(r),_()):n===`closed`?h(r):n===`open`&&_();return}n===`open`&&r.hasAttribute(`popover`)&&_()}},y=e=>{let t=e.target;t instanceof i.Element&&Tw(t)&&h(t)},b=()=>{r.fullscreenElement&&_()},x=e=>{Ew(e)&&m(e);for(let t of e.querySelectorAll(`dialog`))Ew(t)&&m(t)},S=new i.MutationObserver(e=>{if(c)for(let t of e){if(t.type===`attributes`){let e=t.target;e instanceof i.Element&&Tw(e)&&(Ew(e)?m(e):h(e))}for(let e of t.addedNodes)e instanceof i.Element&&x(e);u.some(e=>!e.isConnected)&&p()}});return c&&(r.addEventListener(`toggle`,v,!0),r.addEventListener(`close`,y,!0),r.addEventListener(`fullscreenchange`,b,!0),S.observe(r.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`open`]}),x(r.documentElement)),{mode:s,bringToFront:g,dispose(){if(!o){if(o=!0,l&&i.cancelAnimationFrame(l),r.removeEventListener(`toggle`,v,!0),r.removeEventListener(`close`,y,!0),r.removeEventListener(`fullscreenchange`,b,!0),S.disconnect(),c&&Cw(e)&&e.matches(`:popover-open`))try{e.hidePopover()}catch{}u=[]}}}}var Ow=`mesurer.codex`,kw=`codex:v1`,Aw=`mesurer.plugin.before-disable`,jw=2e3,Mw=750,Nw=2e3,Pw=1800,Fw=2e3,Iw=12e4,Lw=10,Rw=5,zw=`http://127.0.0.1:47365`,Bw=`mesurer-codex`,Vw=2,Hw=[`thread-discovery-v1`,`durable-queue-v1`,`history-recovery-v2`,`client-message-correlation-v1`,`idle-safe-shutdown-v1`,`nonterminal-retention-v1`,`instance-binding-v1`],Uw=1500,Ww=15e3,Gw=5e3,Kw=[`Implement the current human feedback from Mesurer in this project.`,`Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,`,`and verify the affected UI in the live page with Mesurer before claiming completion.`].join(` `),qw={viewBox:`0 0 256 256`,paths:[`M224,48,32,120l88,32,32,88Z M120,152l104-104`]},Jw={viewBox:`0 0 256 256`,paths:[`M72,32H184a8,8,0,0,1,0,16h-8v20.69a40,40,0,0,1-11.72,28.28L137.25,124l27.03,27.03A40,40,0,0,1,176,179.31V208h8a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16h8V179.31a40,40,0,0,1,11.72-28.28L118.75,124,91.72,96.97A40,40,0,0,1,80,68.69V48H72a8,8,0,0,1,0-16Zm24,16V68.69a24,24,0,0,0,7.03,16.97L128,110.63l24.97-24.97A24,24,0,0,0,160,68.69V48Zm32,90.63-24.97,24.97A24,24,0,0,0,96,180.57V208h64V180.57a24,24,0,0,0-7.03-16.97Z`]},Yw={viewBox:`0 0 256 256`,paths:[`M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z`]},Xw=class extends Error{issue;constructor(e,t){super(t),this.issue=e,this.name=`BrowserBridgeConnectionError`}},Zw=()=>{try{let e=globalThis.location;return e?.origin?`mesurer-codex-ui:v2:${e.origin}${e.pathname}`:null}catch{return null}},Qw=()=>{let e=Zw();if(!e)return null;try{let t=globalThis.sessionStorage?.getItem(e);if(!t)return null;let n=JSON.parse(t);if(n.version!==1)return null;let r=n.originThread?.trim()||null,i=n.selectedThread?.trim()||null,a=n.delivery;return{version:1,originThread:r,selectedThread:i,delivery:a&&a.id.trim()&&a.thread.trim()&&(a.status===`queued`||a.status===`working`||a.status===`completed`||a.status===`interrupted`||a.status===`failed`)&&Array.isArray(a.annotationIds)?{id:a.id.trim(),thread:a.thread.trim(),status:a.status,annotationIds:a.annotationIds.filter(e=>e.trim().length>0),queuedSubmissionId:a.queuedSubmissionId?.trim()||null,clientUserMessageId:a.clientUserMessageId?.trim()||null,dispatch:a.dispatch??null,dispatchError:a.dispatchError?.trim()||null}:null}}catch{return null}},$w=e=>{let t=Zw();if(t)try{globalThis.sessionStorage?.setItem(t,JSON.stringify(e))}catch{}},eT=e=>{let t=zw.endsWith(`/`)?zw:`${zw}/`;return new URL(e,t).toString()},tT=e=>{let t=e.bridge;if(!t)throw new Xw(`port-conflict`,`Another local service or an outdated Mesurer Codex Bridge is using port 47365. Mesurer will not send data to an unverified service.`);if(t.name!==Bw)throw new Xw(`port-conflict`,`Another local service is using port 47365 (${t.name??`unknown`}). Mesurer will not send Codex data to it.`);if(t.protocol!==Vw)throw new Xw(`version-mismatch`,`Mesurer Codex Bridge is out of date (protocol ${t.protocol??`unknown`}; expected ${Vw}). Restart the matching Mesurer Codex Bridge helper.`);if(e.access?.allowed===!1)throw new Xw(`origin-denied`,`Mesurer Codex Bridge does not allow this browser origin (${globalThis.location?.origin??`this page`}). Allow this origin when starting the bridge.`);let n=new Set(Array.isArray(t.capabilities)?t.capabilities:[]),r=Hw.filter(e=>!n.has(e));if(r.length>0)throw new Xw(`capability-mismatch`,`Mesurer Codex Bridge is missing required capabilities: ${r.join(`, `)}. Restart or update the matching helper.`);if(!t.instanceId?.trim())throw new Xw(`capability-mismatch`,`Mesurer Codex Bridge did not provide an instance identity. Restart or update the matching helper.`)},nT=e=>e.includes(`does not allow this browser origin`)?`origin-denied`:e.includes(`out of date`)?`version-mismatch`:e.includes(`missing required capabilities`)||e.includes(`did not provide an instance identity`)?`capability-mismatch`:e.includes(`Another local service`)?`port-conflict`:e.includes(`instance changed`)?`instance-changed`:e.includes(`timed out`)?`timed-out`:e.includes(`companion is unavailable`)?`not-running`:null,rT=e=>e instanceof Xw?e.issue:e instanceof Error?nT(e.message):null,iT=async e=>{let t,n;if(e.action===`health`)t=eT(`health`);else if(e.action===`threads`){let n=new URLSearchParams;n.set(`limit`,String(e.limit??Lw)),e.thread&&n.set(`thread`,e.thread),t=`${eT(`threads`)}?${n.toString()}`}else if(e.action===`target`)t=eT(`target`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({thread:e.thread})};else if(e.action===`queue`)t=eT(`send`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e.message,thread:e.thread})};else if(e.action===`delivery`)t=eT(`deliveries/${encodeURIComponent(String(e.deliveryId??``))}`);else if(e.action===`restore`)t=eT(`deliveries/restore`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({deliveryId:e.deliveryId,thread:e.thread,queuedSubmissionId:e.queuedSubmissionId,clientUserMessageId:e.clientUserMessageId,message:e.message})};else throw Error(`Codex browser companion does not support ${e.action}.`);if(e.action!==`health`){let t=e.bridgeInstanceId?.trim();if(!t)throw new Xw(`instance-changed`,`Mesurer Codex Bridge instance changed before this request could be verified.`);let r=new Headers(n?.headers);r.set(`X-Mesurer-Bridge-Instance`,t),n={...n,headers:r}}let r=new AbortController,i=e.action===`health`||e.action===`threads`?Uw:Ww,a=globalThis.setTimeout(()=>r.abort(),i);try{let i=await fetch(t,{...n,signal:r.signal}),a=await i.text(),o={};if(a)try{o=JSON.parse(a)}catch{o={error:a}}if(e.action===`health`&&tT(o),!i.ok||o.ok===!1){let e=o.error??`Mesurer Codex companion returned HTTP ${i.status}.`,t=nT(e);throw t?new Xw(t,e):Error(e)}return o}catch(e){throw e instanceof Error&&e.name===`AbortError`?new Xw(`timed-out`,`Mesurer Codex companion timed out.`):e instanceof TypeError?new Xw(`not-running`,`Mesurer Codex companion is unavailable at ${zw}.`):e}finally{globalThis.clearTimeout(a)}},aT=async e=>{let t=window.__MESURER_HOST__?.codexBridge;if(!t)throw Error(`Codex native host bridge is unavailable.`);let n=await t(e);if(n.ok===!1)throw Error(n.error??`Codex Bridge request failed.`);return n},oT=e=>{let t=e.runtime;return!t||![`shared`,`standalone`,`desktop`,`none`].includes(t.source)||![`shared-app-server`,`desktop-queue`,`private-stdio`,`none`].includes(t.transport)||t.reason!==null&&t.reason!==`desktop-private-transport`&&t.reason!==`runtime-not-found`?null:{source:t.source,transport:t.transport,available:t.available===!0,reason:t.reason}},sT=e=>({thread:e.thread?.trim()||null,threads:Array.isArray(e.threads)?e.threads.filter(e=>e.trim().length>0):[]}),cT=e=>{let t=e.deliveryId?.trim(),n=e.thread?.trim(),r=e.status;if(!t||!n||!r)throw Error(`Codex Bridge returned an invalid delivery state.`);let i={id:t,thread:n,status:r,turnId:e.turnId?.trim()||null,createdAt:Number.isFinite(e.createdAt)?Number(e.createdAt):0,updatedAt:Number.isFinite(e.updatedAt)?Number(e.updatedAt):0};return e.queuedSubmissionId!==void 0&&(i.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.clientUserMessageId!==void 0&&(i.clientUserMessageId=e.clientUserMessageId?.trim()||null),e.dispatch!==void 0&&(i.dispatch=e.dispatch),e.dispatchError!==void 0&&(i.dispatchError=e.dispatchError?.trim()||null),i},lT=e=>({thread:e.thread?.trim()||null,threads:Array.isArray(e.threadDetails)?e.threadDetails.flatMap(e=>{let t=e.id?.trim()??``;return t?[{id:t,title:e.title?.trim()||t,updatedAt:e.updatedAt!=null&&Number.isFinite(e.updatedAt)?e.updatedAt:null,connected:e.connected===!0}]:[]}):[],hasMore:e.hasMore===!0}),uT=async(e,t,n)=>{let r=t?.instruction?.trim()||n,i=await e.annotations(),a=t?.annotationIds,o=a?a.flatMap(e=>{let t=i.find(t=>t.id===e);return t?[t]:[]}):i,s=[];for(let t of o)s.push(await e.contextText({annotation:t.id}));if(s.length===0)try{s.push(await e.contextText({scope:`selection`}))}catch{s.push(await e.contextText())}return{annotationIds:o.map(e=>e.id),message:[r,``,...s.flatMap((e,t)=>[s.length>1?`Feedback ${t+1}`:`Mesurer evidence`,e,``])].join(`
|
|
2152
2152
|
`).trimEnd()}},dT=e=>e.length>16?`${e.slice(0,8)}…${e.slice(-4)}`:e,fT=(e,t=42)=>e.length>t?`${e.slice(0,t-1)}…`:e,pT=e=>rT(e)!==null||e instanceof Error&&(e.message===`Codex Bridge is unavailable in this host.`||e.message.includes(`Codex Bridge lease`)||e.message.includes(`Mesurer Codex Bridge`));function mT(e={}){let t=e.instruction?.trim()||Kw,n=e.ui??!0,r=e.clearCompletedAnnotations??!0;return{id:Ow,version:PC,requires:[uw],provides:[kw],async setup(e){let i=e.service.get(uw);if(!i)throw Error(`Mesurer Codex plugin requires context() from mesurer-solid/plugins.`);let a=n?Qw():null,o=`unknown`,s=null,c=!1,l=a?.originThread??null,u=a?.selectedThread??a?.originThread??null,d=!1,f=null,p=[],m=[],h=!1,g=Rw,_,v=``,y=null,b=a?.delivery?{id:a.delivery.id,thread:a.delivery.thread,status:a.delivery.status,annotationIds:a.delivery.annotationIds,queuedSubmissionId:a.delivery.queuedSubmissionId??null,clientUserMessageId:a.delivery.clientUserMessageId??null,dispatch:a.delivery.dispatch??null,dispatchError:a.delivery.dispatchError??null}:null,x=0,S=0,C=null,w=!1,T=null,E=0,D=null,O=null,k=window.__MESURER_HOST__?.codexBridge!==void 0,A=async e=>{if(!k)try{let t=e.action===`queue`||e.action===`target`||e.action===`delivery`||e.action===`restore`;if(e.action===`health`){let t=await iT(e);return D=t.bridge?.instanceId?.trim()||null,E=Date.now(),t}return(!D||t||Date.now()-E>=Gw)&&(D=(await iT({action:`health`,thread:u??l??void 0})).bridge?.instanceId?.trim()||null,E=Date.now()),await iT({...e,bridgeInstanceId:D??void 0})}catch(e){throw E=0,D=null,e}if(e.action===`activate`||e.action===`runtime`)return aT(e);if(!T)throw Error(`Codex Bridge lease is not active for this plugin.`);return aT({...e,leaseId:T})},j=async()=>{if(!k)return;let e=T;if(e){if((await aT({action:`deactivate`,leaseId:e})).released!==!0)throw Error(`Codex Bridge did not confirm lease release.`);T=null}};if(k){let e=await aT({action:`activate`,thread:u??l??void 0}),t=e.leaseId?.trim();if(!t)throw Error(`Codex Bridge did not return an activation lease.`);T=t,o=`available`,s=oT(e);let n=sT(e);c=!0,f=n.thread,p=n.threads}e.lifecycle.onDispose(()=>{T&&j().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`[Mesurer] Failed to release Codex host lease: ${t}`)})}),e.hook.on(Aw,async e=>{e===`mesurer.codex`&&await j()});let M=async()=>{if(!k)return null;let e=oT(await A({action:`runtime`}));if(!e)throw Error(`Codex Bridge returned an invalid runtime state.`);return s=e,e},N=async()=>{let e=await A({action:`health`,thread:u??l??void 0});return s=oT(e)??s,sT(e)},P=N,F=async e=>cT(await A({action:`delivery`,deliveryId:e})),I=async e=>{if(!e.id||!e.thread)throw Error(`Cannot restore a Codex delivery without its id and thread.`);let n={action:`restore`,deliveryId:e.id,thread:e.thread};if(e.queuedSubmissionId&&(n.queuedSubmissionId=e.queuedSubmissionId),e.clientUserMessageId)n.clientUserMessageId=e.clientUserMessageId;else if(e.annotationIds.length>0){let r=await uT(i,{annotationIds:e.annotationIds},t);if(!(r.annotationIds.length===e.annotationIds.length&&r.annotationIds.every((t,n)=>t===e.annotationIds[n])))throw Error(`Cannot safely restore this Codex delivery because one or more saved Mesurer annotations are unavailable.`);n.message=r.message}return cT(await A(n))},L=async(e={})=>{let t={action:`threads`,limit:e.limit??Lw},n=e.thread?.trim();return n&&(t.thread=n),lT(await A(t))},R=()=>u??l??(d?null:f),z=()=>{if(!n)return;let e=b?.id&&(b.status===`queued`||b.status===`working`||b.status===`completed`||b.status===`interrupted`||b.status===`failed`)?{id:b.id,thread:b.thread??R()??``,status:b.status,annotationIds:[...b.annotationIds],queuedSubmissionId:b.queuedSubmissionId,clientUserMessageId:b.clientUserMessageId,dispatch:b.dispatch,dispatchError:b.dispatchError}:null;$w({version:1,originThread:l,selectedThread:u,delivery:e?.thread?e:null})},B=(e,t=!1)=>{let n=e.trim();n&&((t||!l)&&(l=n),u=n,d=!1,z())},V=()=>!b||b.status===`queued`&&(b.dispatch===`desktop-opened`||b.dispatch===`desktop-wake-failed`)?!1:[`queueing`,`queued`,`working`,`completed`].includes(b.status),ee=e=>e===`queueing`?`Queueing…`:e===`queued`?`Queued`:e===`working`?`Working…`:e===`completed`?`Done`:e===`interrupted`?`Interrupted`:`Failed`,H=()=>b?b.status===`queueing`?`Queueing to Codex…`:b.status===`queued`?b.dispatch===`desktop-wake-failed`?`Queued — open Codex`:`Queued for Codex`:b.status===`working`?`Codex working…`:b.status===`completed`?`Codex finished`:b.status===`interrupted`?`Codex interrupted`:`Queue failed`:null,U=()=>b?[`queueing`,`queued`,`working`].includes(b.status)?Jw:b.status===`completed`?Yw:qw:qw,W=()=>{let e=[],t=new Set,n=n=>{t.has(n.id)||(t.add(n.id),e.push(n))},r=e=>({id:e,title:`Codex ${dT(e)}`,updatedAt:null,connected:!0});l&&n(m.find(e=>e.id===l)??r(l));let i=u;i&&n(m.find(e=>e.id===i)??r(i));for(let e of m)n(e);for(let e of p)n(m.find(t=>t.id===e)??r(e));return e},te=(e=!1)=>Promise.resolve(),ne=(e=!1)=>O===`origin-denied`?e?`Browser origin not allowed`:`Allow this browser origin`:O===`version-mismatch`?e?`Bridge version mismatch`:`Update Mesurer Codex Bridge`:O===`capability-mismatch`?e?`Bridge capability mismatch`:`Update Mesurer Codex Bridge`:O===`port-conflict`?e?`Port 47365 conflict`:`Port 47365 is occupied`:O===`timed-out`?e?`Bridge did not respond`:`Mesurer Codex Bridge did not respond`:O===`instance-changed`?e?`Codex bridge changed`:`Codex bridge changed; reconnecting`:O===`not-running`?e?`Bridge not running`:`Mesurer Codex Bridge is not running`:e?`Codex unavailable`:`Mesurer Codex Bridge is unavailable`,re=()=>k?s?.source===`desktop`?`Connected · Codex Desktop`:s?.source===`standalone`?`Connected · Codex CLI`:s?.source===`shared`?`Connected · Codex shared server`:`Connected · Codex`:p.length===0?`No reachable local Codex session`:`Connected · Local Codex Bridge`,ie=()=>{if(o!==`available`){let e=s?.source===`desktop`&&s.reason===`desktop-private-transport`,t=!k,n=[];return o===`unavailable`&&t&&n.push({id:`codex.connection.status`,label:ne(),disabled:()=>!0,run:()=>void 0}),n.push({id:`codex.thread.connect`,label:o===`unavailable`?t?`Retry Codex connection`:e?`Retry Codex Desktop`:`Retry Codex connection`:`Choose Codex thread…`,run:()=>te(!0)}),n}let e=W(),t=e.slice(0,g),n=R(),r=[{id:`codex.connection.status`,label:re(),disabled:()=>!0,run:()=>void 0}];return!k&&p.length===0&&r.push({id:`codex.thread.refresh`,label:`Refresh Codex sessions`,run:()=>te(!0)}),r.push(...t.map(e=>{let t=e.id===l?`Current · `:e.connected?`Loaded · `:``,r=b?.thread===e.id?` · ${ee(b.status)}`:``;return{id:`codex.thread.${e.id}`,label:`${t}${fT(e.title)}${r}`,checked:()=>n===e.id,disabled:()=>V(),run(){V()||(B(e.id,!l),G())}}})),g<Lw&&(e.length>g||h)&&r.push({id:`codex.thread.show-more`,label:`Show 5 more…`,run(){g=Lw,G()}}),b?.queuedSubmissionId&&b.status===`queued`&&(b.dispatch===`desktop-opened`||b.dispatch===`desktop-wake-failed`)&&r.push({id:`codex.delivery.receipt`,label:`Receipt · ${dT(b.queuedSubmissionId)}`,disabled:()=>!0,run:()=>void 0}),r},G=()=>{if(!n||w)return;let t=R(),r=ie(),i=!V()&&!d&&o!==`unavailable`&&(o===`unknown`||!!t),a=s?.source===`desktop`&&s.reason===`desktop-private-transport`,c=!k,l=ne(!0),u=H()??(o===`unavailable`?c?l:a?`Codex Desktop not connected`:`Codex unavailable`:o===`available`&&!k&&p.length===0?`No reachable Codex session`:d||o===`available`&&!t?`Choose Codex thread`:`Queue to Codex`),f=JSON.stringify({bridgeAvailability:o,codexRuntime:s,routeNeedsSelection:d,target:t,label:u,visibleThreadCount:g,activeDelivery:b,items:r.map(e=>({id:e.id,label:e.label,checked:e.checked?.()??null,disabled:e.disabled?.()??!1}))});f!==v&&(v=f,_?.dispose(),_=e.tool.register({id:`codex.send`,label:u,command:`codex.queue`,order:73,toolbarMode:`always`,icon:U(),disabled:()=>!i,menu:r.length?{label:`Codex destination`,items:r}:void 0}))},ae=async e=>{if(o!==`available`)return;let t=await L({limit:Lw,thread:e??void 0});m=t.threads,h=t.hasMore,p=t.threads.filter(e=>e.connected).map(e=>e.id),f=t.thread};te=(e=!1)=>w||o===`unknown`&&!e?Promise.resolve():y||(y=(async()=>{try{let e=await P();o=`available`,O=null,c=!0,f=e.thread,await ae(u??l??e.thread);let t=u??l;t&&p.includes(t)?d=!1:p.length===1?B(p[0],!0):d=!0,!d&&t&&z()}catch(e){throw o=`unavailable`,O=k?null:rT(e)??`unavailable`,s=await M().catch(()=>s),e}finally{y=null,G()}})(),y);let oe=()=>{x&&=(globalThis.clearTimeout(x),0),S&&=(globalThis.clearTimeout(S),0)},se=()=>{S&&globalThis.clearTimeout(S),S=globalThis.setTimeout(()=>{S=0,b?.status===`completed`&&(b=null,z(),G())},Pw)},ce=async e=>{if(!(!b||b.id!==e.id)){if(b={...b,thread:e.thread,status:e.status,queuedSubmissionId:e.queuedSubmissionId??b.queuedSubmissionId,clientUserMessageId:e.clientUserMessageId??b.clientUserMessageId,dispatch:e.dispatch??b.dispatch,dispatchError:e.dispatchError??b.dispatchError},z(),e.status===`completed`){if(z(),G(),r&&b.annotationIds.length>0){let t=!1;for(let e of b.annotationIds)try{await i.removeAnnotation(e)}catch{t=!0}let n=b.annotationIds;try{let e=new Set((await i.annotations()).map(e=>e.id));n=b.annotationIds.filter(t=>e.has(t))}catch{t=!0}if(t||n.length>0){z(),G(),x=globalThis.setTimeout(()=>{x=0,le(e.id)},Mw);return}}z(),G(),se();return}if(e.status===`interrupted`){z(),G();let t=e.updatedAt>0?e.updatedAt:Date.now();Date.now()-t<Iw&&(x=globalThis.setTimeout(()=>{x=0,le(e.id)},Fw));return}G(),x=globalThis.setTimeout(()=>{x=0,le(e.id)},Nw)}},le=async e=>{if(!(w||b?.id!==e))try{await ce(await F(e))}catch(t){if(b?.id!==e)return;let n=t;if((b.status===`queued`||b.status===`failed`)&&b.thread)try{o!==`available`&&await te(!0);let e=await I(b);await ce(e);return}catch(e){n=e}if(b?.id!==e)return;if(b.status===`interrupted`){G();return}b={...b,status:`failed`},z(),pT(n)&&(o=`unavailable`),G()}},ue={health:N,listThreads:L,delivery:F,async useThread(e){let t=e.trim();if(!t)throw Error(`Codex thread must be a non-empty string.`);let n=await A({action:`target`,thread:t}),r=sT(n);return s=oT(n)??s,B(t,!l),f=r.thread,p=r.threads,o=`available`,c=!0,G(),r},async queue(e){let r=await uT(i,e,t),a=e?.thread?.trim(),s=a||(n?R():null);if(n&&!a&&(d||!s))throw Error(`Choose a Codex thread before queueing feedback.`);let c={message:r.message};s&&(c.thread=s);try{let e=await A({action:`queue`,...c}),t=e.thread?.trim();if(!t)throw Error(`Codex Bridge did not report the destination thread.`);let n={thread:t,output:e.output??``,delivery:`queued`,deliveryId:e.deliveryId?.trim()||null,status:e.status??`queued`,annotationIds:r.annotationIds};return e.queuedSubmissionId!==void 0&&(n.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.clientUserMessageId!==void 0&&(n.clientUserMessageId=e.clientUserMessageId?.trim()||null),e.dispatch!==void 0&&(n.dispatch=e.dispatch),e.dispatchError!==void 0&&(n.dispatchError=e.dispatchError?.trim()||null),n}catch(e){throw n&&pT(e)&&(o=`unavailable`,O=k?null:rT(e)??`unavailable`,G()),e}},send(e){return ue.queue(e)}};e.service.provide(kw,ue);let de=async()=>{if(!(C||V())){if(b?.status===`failed`&&b.id){oe(),await le(b.id);return}return oe(),b={id:null,thread:R(),status:`queueing`,annotationIds:[],queuedSubmissionId:null,clientUserMessageId:null,dispatch:null,dispatchError:null},G(),C=(async()=>{try{n&&o!==`available`&&await te(!0);let e=await ue.queue();b={id:e.deliveryId,thread:e.thread,status:e.status,annotationIds:e.annotationIds,queuedSubmissionId:e.queuedSubmissionId??null,clientUserMessageId:e.clientUserMessageId??null,dispatch:e.dispatch??null,dispatchError:e.dispatchError??null},B(e.thread,!l),z(),G(),console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`),e.deliveryId?e.status===`completed`||e.status===`interrupted`?await ce({id:e.deliveryId,thread:e.thread,status:e.status,turnId:null,createdAt:0,updatedAt:0}):x=globalThis.setTimeout(()=>{x=0,le(e.deliveryId)},Mw):S=globalThis.setTimeout(()=>{S=0,b?.id===null&&b?.status===`queued`&&(b=null,z(),G())},Pw)}catch(e){b=null,z(),G();let t=e instanceof Error?e.message:String(e);throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`),e}finally{C=null}})(),C}};if(e.command.register(`codex.queue`,de),e.command.register(`codex.send`,de),n){if(G(),k)try{await te(!0)}catch(e){try{await j()}catch(t){let n=e instanceof Error?e.message:String(e),r=t instanceof Error?t.message:String(t);throw Error(`Codex activation failed: ${n}. Native lease release also failed: ${r}.`)}throw e}else te(!0).catch(()=>void 0);b?.id&&(c=!0,x=globalThis.setTimeout(()=>{x=0,b?.id&&le(b.id)},0));let t=globalThis.setInterval(()=>{k&&!c||te(!0).catch(()=>void 0)},k?jw:Gw);e.lifecycle.onDispose(()=>{w=!0,oe(),globalThis.clearInterval(t),_?.dispose(),_=void 0})}}}}var hT=rS,gT=(e={})=>({...wS(e),version:PC}),_T=LS,vT=(e={})=>({...rC(e),version:PC}),yT=()=>globalThis.window?.__MESURER_HOST__?.codexBridge!==void 0,bT=[{id:lw,label:`Context`,order:30,create:bw,settingsIds:[`context`],hiddenSettingsControlIds:[`ui`]},{id:FC,label:`Edit`,order:35,create:LC,settingsIds:[`arrange`]},{id:ow,label:`Layout Guides`,order:38,create:cw},{id:_T,label:`Screenshot`,order:40,create:vT,settingsIds:[`screenshot`],hiddenSettingsControlIds:[`tool`]},{id:hT,label:`Recording`,order:42,create:gT,settingsIds:[`recording`],hiddenSettingsControlIds:[`tool`]},{id:Ow,label:`Codex`,order:45,create:mT}],xT=e=>{let t=e!==void 0,n=new Map((e??[]).map(e=>[e.id,e])),r=new Set(bT.map(e=>e.id)),i=bT.map(e=>{let r=n.get(e.id);return{...e,settingsIds:e.settingsIds?[...e.settingsIds]:void 0,hiddenSettingsControlIds:e.hiddenSettingsControlIds?[...e.hiddenSettingsControlIds]:void 0,enabled:t?!!r:e.id===`mesurer.codex`?yT():e.enabled!==!1,create:r?()=>r:e.create}});for(let[t,n]of(e??[]).entries())r.has(n.id)||i.push({id:n.id,order:1e3+t,enabled:!0,create:()=>n});return i},ST={select:`select`,xray:`xray`,colorPicker:`color-picker`,rulers:`rulers`,typography:`text-inspector`,guides:`guides`,distance:`distance`,settings:`settings`};function CT(e={}){if(!(`document`in globalThis))throw Error(`mountMesurer() requires a browser or Electron renderer document.`);let{target:t=document.body,isolate:n=!0,shadowMode:r=`open`,topLayer:i=!0,agent:a=!1,signal:o,onPluginHost:s,onPluginsReady:c,plugins:l,excludeBuiltins:u,excludePlugins:d,...f}=e;if(o?.aborted)throw o.reason??new DOMException(`Mesurer mount aborted.`,`AbortError`);if(!t)throw Error(`mountMesurer() requires document.body to exist or an explicit target.`);let p=t.ownerDocument??document,m=p.defaultView??window,h=p.createElement(`div`);h.dataset.mesurerIsland=`true`;let g=Dw(h,t,i),_=h,v=h,y=h;if(n){let e=h.attachShadow({mode:r});v=p.createElement(`div`),v.dataset.mesurerIslandMount=`true`,e.append(v),_=e,y=e}let b,x,S,C,w,T=!1,E=!1,D=new Promise((e,t)=>{x=e,S=t}),O=new Promise((e,t)=>{C=e,w=t});D.catch(()=>void 0),O.catch(()=>void 0);let k=async()=>(await(b?Promise.resolve(b):D),O),A=a===!0?{}:a===!1?null:a,j=NC({ownerDocument:p,root:A?.root??(t.nodeType===11?t:p),getPluginHost:()=>b,waitForPluginHost:k}),M=async e=>{await k();let t=b?.service.get(e);if(t===void 0)throw Error(`Mesurer service is unavailable: ${e}.`);return t},N=async()=>{await j.ready();let e=b?.service.get(uw);if(!e)throw Error(`Mesurer Context is disabled. Enable it in Settings or include context() in plugins.`);return e},P=async()=>{await j.ready();let e=b?.service.get(RC);if(!e)throw Error(`Mesurer Edit is disabled. Enable it in Settings or include edit() in plugins.`);return e},F=async e=>(await N()).context(e),I=async e=>(await N()).contextText(e),L=async e=>(await N()).copyContext(e),R=async e=>(await N()).select(e),z=async()=>(await N()).annotations(),B=async e=>(await N()).review(e),V=async e=>(await N()).capturePlan(e),ee=async()=>(await N()).prepareCapture(),H=async()=>(await N()).finishCapture(),U=async()=>(await P()).intents(),W=async e=>{let t=(await P()).intent(e);if(!t)throw Error(`Edit movement intent not found: ${e}`);return t},te=async(e,t)=>{(await P()).show(e,t)},ne=async(e,t)=>(await P()).capturePlan(e,t),re=async(e,t)=>(await P()).review(e,t),ie=()=>j.textEdits(),G=e=>j.textEdit(e),ae=Object.assign(j,{capabilities:()=>{let e=!!b?.service.get(uw);return{protocol:`mesurer.agent/v1`,contextSchema:`mesurer.context/v1`,capabilities:{context:e,select:e,annotations:e,review:e,capturePlan:e,arrange:!!b?.service.get(RC),textEdit:!!b?.service.get(jC)}}},context:F,contextText:I,select:R,annotations:z,review:B,capturePlan:V,prepareCapture:ee,finishCapture:H,arrangements:U,arrange:W,showArrange:te,arrangeCapturePlan:ne,reviewArrange:re}),oe={...f,version:PC,plugins:xT(l),excludePlugins:u?u.map(e=>ST[e]):[...d??[]]},se=Si(()=>Ur(zy,xi(oe,{portalTarget:y,pageTarget:t,onPluginHost:e=>{T||(T=!0,x(e)),b=e,s?.(e)},onPluginsReady:e=>{b=e,E||(E=!0,C(e)),c?.(e)}})),v),ce,le=new Promise((e,t)=>{ce=t});le.catch(()=>void 0);let ue=Promise.race([(async()=>(await ae.ready(),k()))(),le]);ue.catch(()=>void 0);let de=null;if(A){let e=A.globalName??`__MESURER__`,t=Object.getOwnPropertyDescriptor(m,e);Reflect.set(m,e,ae),de=()=>{Object.getOwnPropertyDescriptor(m,e)?.value===ae&&(t?Object.defineProperty(m,e,t):Reflect.deleteProperty(m,e))}}let fe=!1,pe=()=>void 0,me=e=>{T||S(e),E||w(e),ce(e)},he={element:h,root:_,hostLayer:g.mode,get pluginHost(){return b},ready:ue,agent:ae,service:M,context:F,contextText:I,copyContext:L,select:R,annotations:z,review:B,capturePlan:V,prepareCapture:ee,finishCapture:H,arrangements:U,arrange:W,showArrange:te,arrangeCapturePlan:ne,reviewArrange:re,textEdits:ie,textEdit:G,bringToFront:g.bringToFront,describe:async()=>(await ue).describe(),dispose(){fe||(fe=!0,pe(),me(new DOMException(`Mesurer was disposed before it became ready.`,`AbortError`)),de?.(),se(),g.dispose(),h.remove())}};if(o){let e=()=>{if(fe)return;let e=o.reason??new DOMException(`Mesurer mount aborted.`,`AbortError`);me(e),he.dispose()};o.addEventListener(`abort`,e,{once:!0}),pe=()=>{o.removeEventListener(`abort`,e)}}return he}var{target:wT,globalName:TT=`__MESURER__`,reuseExisting:ET=!0,recoverDisconnected:DT=!1,...OT}=globalThis.__MESURER_CONFIG__??{},kT=globalThis.__MESURER_INSTANCE__,AT=ET&&kT?.element.isConnected?kT:void 0,jT=()=>{let e=wT?document.querySelector(wT):document.body;if(!e)throw Error(`Mesurer injection target not found: ${wT}`);return globalThis.__MESURER_INSTANCE__?.dispose(),CT({...OT,target:e,agent:{globalName:TT,root:document}})},MT=e=>{globalThis.__MESURER_INJECT_RECOVERY__?.stop();let t=!1,n=!1,r=()=>{if(n=!1,t||globalThis.__MESURER_INSTANCE__?.element.isConnected)return;let r=e();globalThis.__MESURER_INSTANCE__=r,r.ready.catch(e=>{queueMicrotask(()=>{throw e})})},i=new MutationObserver(()=>{t||n||globalThis.__MESURER_INSTANCE__?.element.isConnected||(n=!0,queueMicrotask(r))});i.observe(document,{childList:!0,subtree:!0}),globalThis.__MESURER_INJECT_RECOVERY__={stop(){t=!0,i.disconnect()}}},NT=AT??jT();globalThis.__MESURER_INSTANCE__=NT,globalThis.__MESURER_INJECT_RECOVERY__?.stop(),globalThis.__MESURER_INJECT_RECOVERY__=void 0,DT&&MT(jT),NT.ready.catch(e=>{queueMicrotask(()=>{throw e})})})(__MESURER_MEDIABUNNY__);
|
package/dist/inject.js
CHANGED
|
@@ -6505,8 +6505,11 @@ function Ou(e) {
|
|
|
6505
6505
|
get each() {
|
|
6506
6506
|
return j();
|
|
6507
6507
|
},
|
|
6508
|
+
keyed: (e) => e.id,
|
|
6508
6509
|
children: (t, n) => Y(Eu, {
|
|
6509
|
-
measurement
|
|
6510
|
+
get measurement() {
|
|
6511
|
+
return t();
|
|
6512
|
+
},
|
|
6510
6513
|
get edgeVisibility() {
|
|
6511
6514
|
return F()[n()];
|
|
6512
6515
|
},
|
|
@@ -23058,7 +23061,7 @@ function zC(e) {
|
|
|
23058
23061
|
}
|
|
23059
23062
|
//#endregion
|
|
23060
23063
|
//#region src/version.ts
|
|
23061
|
-
var BC = "0.2.2
|
|
23064
|
+
var BC = "0.2.2", VC = bh, HC = xh, UC = () => ({
|
|
23062
23065
|
...gg(),
|
|
23063
23066
|
version: BC
|
|
23064
23067
|
}), WC = HC, GC = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, KC = (e) => {
|
package/dist/plugins.js
CHANGED
|
@@ -9059,7 +9059,7 @@ var wc = "mesurer.layout-guides", Tc = "layout-guides:v1", Ec = "mesurer.layout-
|
|
|
9059
9059
|
C = !0, b += 1, d.removeEventListener("pointerdown", z), d.removeEventListener("pointermove", B), d.removeEventListener("pointerup", V), d.removeEventListener("pointercancel", H), i.removeEventListener("keydown", U, !0), y && i.clearTimeout(y), M.dispose(), k(), ti(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
9060
9060
|
});
|
|
9061
9061
|
}
|
|
9062
|
-
}), ed = "0.2.2
|
|
9062
|
+
}), ed = "0.2.2", td = jo, nd = Oo, rd = ko, id = Mo, ad = Ao, od = () => ({
|
|
9063
9063
|
...ws(),
|
|
9064
9064
|
version: ed
|
|
9065
9065
|
}), sd = od, cd = td, ld = nd, ud = rd, dd = id, fd = ad, pd = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, md = (e) => {
|