mesurer-solid 0.2.0-beta.1 → 0.2.0-beta.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/dist/index.js CHANGED
@@ -14635,18 +14635,7 @@ function t_(e) {
14635
14635
  return null;
14636
14636
  }
14637
14637
  let n = t.filter((t) => zu(t, e.fingerprint));
14638
- if (n.length === 1) {
14639
- if (!e.fingerprint.id && !e.fingerprint.testId) {
14640
- let t = [];
14641
- try {
14642
- t = D(e.fingerprint.tag).filter((t) => zu(t, e.fingerprint));
14643
- } catch {
14644
- return null;
14645
- }
14646
- if (t.length !== 1 || t[0] !== n[0]) return null;
14647
- }
14648
- return n[0] ?? null;
14649
- }
14638
+ if (t.length === 1 && n.length === 1) return n[0] ?? null;
14650
14639
  if (t.length !== 1 || e.fingerprint.id || e.fingerprint.testId) return null;
14651
14640
  let r = t[0];
14652
14641
  if (!r || r.localName !== e.fingerprint.tag) return null;
@@ -17843,7 +17832,7 @@ function Ty(e) {
17843
17832
  }
17844
17833
  //#endregion
17845
17834
  //#region src/version.ts
17846
- var Ey = "0.2.0-beta.1", Dy = Xf, Oy = Zf, ky = () => ({
17835
+ var Ey = "0.2.0-beta.2", Dy = Xf, Oy = Zf, ky = () => ({
17847
17836
  ...Ip(),
17848
17837
  version: Ey
17849
17838
  }), Ay = (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, jy = (e) => {
@@ -1749,7 +1749,7 @@ body.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesur
1749
1749
  transition: none !important;
1750
1750
  animation: none !important;
1751
1751
  }
1752
- `,n.head.append(a);let o=new Map,s=r.scrollX,c=r.scrollY,l=0,u=!1,d=e=>{o.has(e)||o.set(e,{x:s,y:c})},f=e=>{if(e instanceof i.HTMLElement){e.matches(Em)&&d(e);for(let t of e.querySelectorAll(Em))d(t)}};for(let e of n.querySelectorAll(Em))d(e);let p=new i.MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes)f(e)});n.body&&p.observe(n.body,{childList:!0,subtree:!0});let m=()=>{if(l=0,!u)for(let[e,t]of Array.from(o)){if(!e.isConnected){o.delete(e);continue}let n=s-t.x,r=c-t.y;if(t.x=s,t.y=c,n===0&&r===0||e.dataset.mesurerNativeScrollAnchor!==`offset`)continue;let i=Number.parseFloat(e.style.left),a=Number.parseFloat(e.style.top);Number.isFinite(i)&&(e.style.left=`${i-n}px`),Number.isFinite(a)&&(e.style.top=`${a-r}px`)}},h=()=>{u||(s=r.scrollX,c=r.scrollY,l&&r.clearTimeout(l),l=r.setTimeout(m,Tm))};r.addEventListener(`scroll`,h,{capture:!0,passive:!0}),e.lifecycle.onDispose(()=>{u=!0,p.disconnect(),l&&r.clearTimeout(l),r.removeEventListener(`scroll`,h,!0),o.clear(),a.remove()})}var Om=new WeakMap,km=e=>{let t=Om.get(e.pageTarget);t&&(e.ownerWindow.clearTimeout(t.clearTimer),Om.delete(e.pageTarget))},Am=(e,t)=>{km(e);let n=e.pageTarget,r={target:t,clearTimer:0};Om.set(n,r),r.clearTimer=e.ownerWindow.setTimeout(()=>{Om.get(n)===r&&Om.delete(n)},0)},jm=e=>Om.get(e.pageTarget)?.target??null,Mm=`mesurer.text-edit.intents`,Nm=`text-edit`,Pm=`text-edit.commit`,Fm=`text-edit.clear`,Im=600,Lm=360,Rm=24,zm=80,Bm=`var(--msr-accent, #0d99ff)`,Vm=`var(--msr-content, #0f172a)`,Hm=`var(--msr-color-ink-500, #8a8a8a)`,Um=288,Wm=`var(--msr-shadow-floating, 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1))`,Gm=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),Km=[`font-family`,`font-size`,`font-weight`,`font-style`,`line-height`,`letter-spacing`,`text-transform`,`color`],qm=e=>{let{origin:t,pathname:n,search:r}=e.location;return`${t}${n}${r}`},Jm=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,Ym=e=>({tag:e.fingerprintTag,id:e.fingerprintId,testId:e.fingerprintTestId,role:e.fingerprintRole,ariaLabel:e.fingerprintAriaLabel,classes:e.fingerprintClasses,text:e.fingerprintText}),Xm=e=>({property:e.property,before:e.before,desired:e.desired}),Zm=e=>({id:e.id,createdAt:e.createdAt,pageUrl:e.pageUrl,selector:e.selector,nodeIndex:e.nodeIndex,before:e.beforeText,desired:e.desiredText,styles:e.styleChanges.map(Xm)}),Qm=e=>{let t=e.match(/^\s*/)?.[0]??``,n=e.slice(t.length),r=n.match(/\s*$/)?.[0]??``;return{leading:t,trailing:r,value:n.slice(0,Math.max(0,n.length-r.length))}},$m=e=>e.map(e=>({...e})),eh=e=>(e.split(`,`)[0]??e).trim().replace(/^['"]|['"]$/g,``),th=e=>{if(e===`bold`)return 700;if(e===`normal`)return 400;let t=Number(e);return Number.isFinite(t)?t:400},nh=e=>e===`transparent`||/^rgba\([^)]*,\s*0(?:\.0+)?\s*\)$/.test(e)||/^rgba\(0\s+0\s+0\s*\/\s*0(?:\.0+)?\)$/.test(e),rh=e=>{let t=/^rgba?\(\s*(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)/.exec(e);if(!t)return`#000000`;let n=e=>Math.max(0,Math.min(255,Math.round(Number(e)))).toString(16).padStart(2,`0`);return`#${n(t[1])}${n(t[2])}${n(t[3])}`},ih=(e,t)=>[...e.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,t).map(([e])=>e),ah=(e,t)=>t?[t,...e.filter(e=>e!==t)]:e;function oh(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=t.createWorkspaceRuntime(),s=new vf(n,r),c=t.createInspectorMount();c.element.dataset.mesurerTextEditRuntime=`true`,c.element.style.position=`fixed`,c.element.style.inset=`0`,c.element.style.zIndex=`2147483646`,c.element.style.pointerEvents=`none`,e.state.register({id:Mm,initial:{edits:[]},history:!0,persist:!0});let l=()=>e.state.get(`mesurer.text-edit.intents`)??{edits:[]},u=new Map,d=new Map,f=new WeakMap,p=null,m=null,h=null,g=!1,_=0,v=0,y=()=>t.currentToolMode?.()??`none`,b=()=>{let e=y();return e===`text-inspector`||e===`select`},x=e=>Ru(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),S=e=>Array.from(e.childNodes).some(e=>e.nodeType===a.Node.TEXT_NODE&&!!e.nodeValue?.trim()),C=e=>{let t=[];i instanceof a.HTMLElement&&i.matches(e)&&x(i)&&t.push(i);for(let n of i.querySelectorAll(e))n instanceof a.HTMLElement&&x(n)&&t.push(n);return t},w=e=>{let t=u.get(e.id);if(t?.element.isConnected&&t.node.isConnected&&x(t.element))return t;u.delete(e.id);let n=Ym(e);if(!Hu(n))return null;let r=[];try{r=C(e.selector).filter(e=>Uu(e,n))}catch{return null}if(r.length!==1)return null;if(!n.id&&!n.testId){let e=[];try{e=C(n.tag).filter(e=>Uu(e,n))}catch{return null}if(e.length!==1||e[0]!==r[0])return null}let i=r[0],o=i.childNodes.item(e.nodeIndex);if(!o||o.nodeType!==a.Node.TEXT_NODE)return null;let s={element:i,node:o};return u.set(e.id,s),s},T=(e,t)=>{e.nodeValue!==t&&(f.set(e,(f.get(e)??0)+1),e.nodeValue=t)},E=(e,t)=>{let r=n.createElement(`span`);return r.style.setProperty(e,t),r.style.getPropertyValue(e)||t},D=(e,t)=>{if(e.style.getPropertyValue(t.property)===t.desired&&!e.style.getPropertyPriority(t.property)){if(t.beforeInline){e.style.setProperty(t.property,t.beforeInline,t.beforePriority);return}e.style.removeProperty(t.property)}},O=(e,t)=>{for(let n of t)D(e,n)},k=(e,t,n)=>{let r=new Map(t.map(e=>[e.property,e])),i=new Map(n.map(e=>[e.property,e])),a=new Map;for(let[t,n]of i){let i=e.style.getPropertyValue(t),o=e.style.getPropertyPriority(t);if(i!==n.desired||o)continue;let s=r.get(t);if(!s){n.beforeInline?e.style.setProperty(t,n.beforeInline,n.beforePriority):e.style.removeProperty(t);continue}i!==s.desired&&e.style.setProperty(t,s.desired),a.set(t,s)}for(let n of t){if(a.has(n.property)||i.has(n.property))continue;let t=e.style.getPropertyValue(n.property),r=e.style.getPropertyPriority(n.property);t===n.beforeInline&&r===n.beforePriority&&(e.style.setProperty(n.property,n.desired),a.set(n.property,n))}return t.filter(e=>a.has(e.property))},A=()=>{for(let e of d.values())e.node.isConnected&&e.node.nodeValue===e.desiredText&&T(e.node,e.beforeText),e.element.isConnected&&O(e.element,e.styleChanges);d.clear()},j=()=>{let e=l().edits.filter(e=>e.pageUrl===qm(r)),t=new Set(e.map(e=>e.id));for(let[e,n]of d)t.has(e)&&n.node.isConnected&&n.element.isConnected||(n.node.isConnected&&n.node.nodeValue===n.desiredText&&T(n.node,n.beforeText),n.element.isConnected&&O(n.element,n.styleChanges),d.delete(e));for(let t of e){let e=w(t);if(!e)continue;let n=e.node.nodeValue??``,r=d.get(t.id),i=!1;r?.node===e.node&&n===r.desiredText?(n!==t.desiredText&&T(e.node,t.desiredText),i=!0):n===t.beforeText&&(T(e.node,t.desiredText),i=!0);let a=k(e.element,t.styleChanges,r?.element===e.element?r.styleChanges:[]);if(!i&&a.length===0){d.delete(t.id);continue}d.set(t.id,{...e,beforeText:t.beforeText,desiredText:t.desiredText,styleChanges:a})}},M=e=>({"font-family":e.fontFamily,"font-size":e.fontSize,"font-weight":e.fontWeight,"font-style":e.fontStyle,"line-height":e.lineHeight,"letter-spacing":e.letterSpacing,"text-transform":e.textTransform,color:e.color}),N=(e,t)=>{let n=M(t),r=JSON.stringify(n),i=e.get(r);if(i){i.count+=1;return}e.set(r,{styles:n,count:1})},P=e=>[...e.values()].sort((e,t)=>t.count-e.count)[0]??null,F=e=>{let t=new Map,n=new Map,o=new Map,s=new Map,c=[],l=new Map,u=new Map,d=null;i instanceof a.HTMLElement&&c.push(i);for(let e of i.querySelectorAll(`*`))if(e instanceof a.HTMLElement&&c.push(e),c.length>=Im)break;for(let e of c){if(!x(e)||!S(e)||Gm.has(e.tagName))continue;let i=r.getComputedStyle(e);if(i.display===`none`||i.visibility===`hidden`)continue;let a=(e,t)=>{let n=t.trim();n&&e.set(n,(e.get(n)??0)+1)};if(a(t,i.fontFamily),a(n,i.fontSize),a(o,i.fontWeight),a(s,i.color),d??=e,(e.tagName===`P`||e.tagName===`SPAN`)&&N(l,i),e.tagName===`H1`||e.tagName===`H2`||e.tagName===`H3`){let t=e.tagName,n=u.get(t)??new Map;N(n,i),u.set(t,n)}}let f=r.getComputedStyle(e),p=[{id:`text`,label:`Text`,shortcut:`0`,styles:P(l)?.styles??M(r.getComputedStyle(d??e))}];for(let[e,t,n,r]of[[`H1`,`heading-1`,`Heading 1`,`1`],[`H2`,`heading-2`,`Heading 2`,`2`],[`H3`,`heading-3`,`Heading 3`,`3`]]){let i=P(u.get(e)??new Map);i&&p.push({id:t,label:n,shortcut:r,styles:i.styles})}return{fontFamilies:ah(ih(t,12),f.fontFamily),fontSizes:ah(ih(n,12),f.fontSize),fontWeights:ah(ih(o,9).sort((e,t)=>th(e)-th(t)),f.fontWeight),colors:ah(ih(s,10),f.color),presets:p}},I=e=>{let t=e;for(;t;){let e=r.getComputedStyle(t).backgroundColor;if(e&&!nh(e))return e;t=t.parentElement}return`Canvas`},L=(e,t)=>e.styleChanges.find(e=>e.property===t)??null,R=(e,t)=>{let r=s.getFast(e.element);if(t)e.inspectorInfo=s.getFull(e.element,r);else{let t=new Map(e.inspectorInfo.rows.map(e=>[e.label,e.varName]));e.inspectorInfo={...r,rows:r.rows.map(e=>({...e,varName:t.get(e.label)??null}))}}sf(n,e.inspectorCard,e.inspectorInfo,!1),e.inspectorCard.dataset.mesurerTextInspectorInfo=`true`,e.inspectorCard.dataset.state=`visible`,e.inspectorCard.setAttribute(`aria-label`,`Text inspector`)},z=(e,t)=>r.getComputedStyle(e.element).getPropertyValue(t).trim(),B=(e,t,n)=>{let i=E(t,n),a=L(e,t),o=a?.before??r.getComputedStyle(e.element).getPropertyValue(t).trim(),s=a?.beforeInline??e.element.style.getPropertyValue(t),c=a?.beforePriority??e.element.style.getPropertyPriority(t);if(i===o)a&&D(e.element,a),e.styleChanges=e.styleChanges.filter(e=>e.property!==t);else{e.element.style.setProperty(t,i);let n={property:t,before:o,desired:i,beforeInline:s,beforePriority:c};e.styleChanges=[...e.styleChanges.filter(e=>e.property!==t),n]}},ee=(e,t)=>{for(let[n,r]of t)B(e,n,r);pe(e),R(e,!0),me()},V=(e,t,n)=>ee(e,[[t,n]]),te=(e,t)=>Km.every(n=>{let r=t.styles[n];return r===void 0||z(e,n)===E(n,r)}),H=e=>e.catalog.presets.find(t=>te(e,t))??null,ne=(e,t)=>{e.menuOpen=!1;let n=Km.flatMap(e=>{let n=t.styles[e];return n===void 0?[]:[[e,n]]});ee(e,n),e.editor.focus({preventScroll:!0})},U=e=>{let t=z(e,`font-weight`),n=L(e,`font-weight`);if(n&&th(n.desired)>=600&&th(n.before)<600){V(e,`font-weight`,n.before);return}V(e,`font-weight`,th(t)>=600?`400`:`700`)},re=e=>{let t=z(e,`font-style`),n=L(e,`font-style`);if(n&&n.desired!==`normal`&&n.before===`normal`){V(e,`font-style`,n.before);return}V(e,`font-style`,t===`normal`?`italic`:`normal`)},ie=e=>{let t=z(e,`text-decoration-line`),n=L(e,`text-decoration-line`);if(n&&n.desired.includes(`underline`)&&!n.before.includes(`underline`)){V(e,`text-decoration-line`,n.before);return}V(e,`text-decoration-line`,t.includes(`underline`)?`none`:`underline`)},ae=(e,t,r,i,a)=>{let o=n.createElement(`button`);return o.type=`button`,o.textContent=t,o.title=r,o.setAttribute(`aria-label`,r),o.setAttribute(`aria-pressed`,i?`true`:`false`),o.dataset.mesurerTextStyleButton=r.toLowerCase(),Object.assign(o.style,{width:`32px`,height:`32px`,border:`0`,borderRadius:`8px`,background:i?Bm:`transparent`,color:i?`var(--msr-color-white, #ffffff)`:`var(--msr-content, #000000)`,font:`600 13px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,textDecoration:r===`Underline`?`underline`:`none`,fontStyle:r===`Italic`?`italic`:`normal`,cursor:`pointer`,outline:`none`}),o.addEventListener(`mouseenter`,()=>{i||(o.style.background=`rgba(0, 0, 0, 0.04)`)}),o.addEventListener(`mouseleave`,()=>{o.style.background=i?Bm:`transparent`}),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),m===e&&(a(),e.editor.focus({preventScroll:!0}))}),o},oe=(e,t,r,i,a,o)=>{let s=n.createElement(`label`);Object.assign(s.style,{display:`grid`,gridTemplateColumns:`72px minmax(0, 1fr)`,alignItems:`center`,gap:`8px`,minHeight:`38px`,padding:`0 8px`,color:Vm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let c=n.createElement(`span`);c.textContent=t,c.style.color=Hm;let l=n.createElement(`select`);l.setAttribute(`aria-label`,t),l.dataset.mesurerTextStyleSelect=t.toLowerCase().replace(/\s+/g,`-`),Object.assign(l.style,{width:`100%`,height:`32px`,border:`0`,borderRadius:`8px`,background:`rgba(0, 0, 0, 0.035)`,color:Vm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,padding:`0 8px`,cursor:`pointer`,outline:`none`});for(let e of ah(r,i)){let t=n.createElement(`option`);t.value=e,t.textContent=a(e),t.selected=e===i,l.append(t)}return l.addEventListener(`change`,()=>{m===e&&o(l.value)}),s.append(c,l),s},se=(e,t,r,i)=>{let a=n.createElement(`label`);Object.assign(a.style,{display:`grid`,gridTemplateColumns:`72px minmax(0, 1fr)`,alignItems:`center`,gap:`8px`,minHeight:`38px`,padding:`0 8px`,color:Vm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let o=n.createElement(`span`);o.textContent=t,o.style.color=Hm;let s=n.createElement(`input`);s.type=`text`,s.value=i,s.setAttribute(`aria-label`,t),s.dataset.mesurerTextStyleInput=t.toLowerCase().replace(/\s+/g,`-`),Object.assign(s.style,{width:`100%`,height:`32px`,boxSizing:`border-box`,border:`0`,borderRadius:`8px`,background:`rgba(0, 0, 0, 0.035)`,color:Vm,font:`500 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace`,padding:`0 8px`,outline:`none`});let c=()=>{if(m!==e)return;let a=s.value.trim();if(!a){s.value=i;return}let o=n.createElement(`span`);if(o.style.setProperty(r,a),!o.style.getPropertyValue(r)){s.setCustomValidity(`Invalid ${t.toLowerCase()} value`),s.reportValidity();return}s.setCustomValidity(``),V(e,r,a)};return s.addEventListener(`change`,c),s.addEventListener(`keydown`,t=>{t.key===`Enter`&&(t.preventDefault(),t.stopPropagation(),c(),e.editor.focus({preventScroll:!0}))}),a.append(o,s),a},ce=e=>/Mac|iPhone|iPad|iPod/i.test(r.navigator.platform||r.navigator.userAgent)?`⌥⌘${e}`:`Alt+Ctrl+${e}`,le=(e,t,r)=>{let i=n.createElement(`button`);i.type=`button`,i.dataset.mesurerTextStylePreset=t.id,i.setAttribute(`aria-label`,t.label),i.setAttribute(`aria-current`,r?`true`:`false`),Object.assign(i.style,{width:`100%`,minHeight:`40px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`16px`,border:`0`,borderRadius:`8px`,padding:`0 10px`,background:r?`rgba(0, 0, 0, 0.05)`:`transparent`,color:`var(--msr-content, #111111)`,cursor:`pointer`,outline:`none`,textAlign:`left`,font:t.id===`text`?`500 14px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`:`650 14px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let a=n.createElement(`span`);a.textContent=t.label;let o=n.createElement(`span`);return o.textContent=ce(t.shortcut),Object.assign(o.style,{color:Hm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,whiteSpace:`nowrap`}),i.append(a,o),i.addEventListener(`mouseenter`,()=>{i.style.background=`rgba(0, 0, 0, 0.05)`}),i.addEventListener(`mouseleave`,()=>{i.style.background=r?`rgba(0, 0, 0, 0.05)`:`transparent`}),i.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),m===e&&ne(e,t)}),i},ue=()=>{let e=n.createElement(`div`);return e.setAttribute(`role`,`separator`),Object.assign(e.style,{height:`1px`,margin:`5px 8px`,background:`rgba(0, 0, 0, 0.09)`}),e},de=e=>{let t=e.menu;t.replaceChildren();let r=H(e);for(let n of e.catalog.presets)t.append(le(e,n,r?.id===n.id));t.append(ue());let i=z(e,`font-family`),a=z(e,`font-size`),o=z(e,`font-weight`),s=z(e,`line-height`),c=z(e,`letter-spacing`),l=z(e,`color`);t.append(oe(e,`Font`,e.catalog.fontFamilies,i,eh,t=>V(e,`font-family`,t)),oe(e,`Size`,e.catalog.fontSizes,a,e=>e,t=>V(e,`font-size`,t)),oe(e,`Weight`,e.catalog.fontWeights,o,e=>e,t=>V(e,`font-weight`,t)),se(e,`Line`,`line-height`,s),se(e,`Tracking`,`letter-spacing`,c)),t.append(ue());let u=n.createElement(`div`);Object.assign(u.style,{display:`grid`,gap:`7px`,padding:`5px 8px 8px`});let d=n.createElement(`div`);d.textContent=`Text color`,Object.assign(d.style,{color:Hm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let f=n.createElement(`div`);f.setAttribute(`aria-label`,`Page text colors`),f.dataset.mesurerTextColorSwatches=`true`,Object.assign(f.style,{display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`7px`});for(let t of e.catalog.colors.slice(0,10)){let r=n.createElement(`button`);r.type=`button`,r.title=`Use ${t}`,r.setAttribute(`aria-label`,`Use text color ${t}`),r.dataset.mesurerTextColor=t,Object.assign(r.style,{width:`22px`,height:`22px`,borderRadius:`50%`,border:t===l?`2px solid ${Bm}`:`1px solid rgba(0, 0, 0, 0.18)`,boxShadow:t===l?`0 0 0 2px var(--msr-color-white, #ffffff) inset`:`none`,background:t,cursor:`pointer`,padding:`0`}),r.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),m===e&&V(e,`color`,t)}),f.append(r)}let p=n.createElement(`input`);p.type=`color`,p.value=rh(l),p.title=`Custom text color`,p.setAttribute(`aria-label`,`Custom text color`),p.dataset.mesurerTextCustomColor=`true`,Object.assign(p.style,{width:`28px`,height:`28px`,border:`0`,borderRadius:`8px`,background:`rgba(0, 0, 0, 0.035)`,padding:`4px`,cursor:`pointer`}),p.addEventListener(`change`,()=>{m===e&&V(e,`color`,p.value)}),f.append(p),u.append(d,f),t.append(u),t.hidden=!e.menuOpen,t.style.display=e.menuOpen?`block`:`none`},fe=e=>{let t=H(e),r=n.createElement(`button`);r.type=`button`,r.dataset.mesurerTextStyleMenuButton=`true`,r.setAttribute(`aria-label`,`Text style`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,e.menuOpen?`true`:`false`),Object.assign(r.style,{minWidth:`96px`,height:`32px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`10px`,border:`0`,borderRadius:`8px`,background:e.menuOpen?`rgba(0, 0, 0, 0.05)`:`transparent`,color:`var(--msr-content, #111111)`,padding:`0 10px`,cursor:`pointer`,outline:`none`,font:`500 13px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let i=n.createElement(`span`);i.textContent=t?.label??`Text`;let a=n.createElement(`span`);return a.textContent=`⌄`,a.setAttribute(`aria-hidden`,`true`),Object.assign(a.style,{color:Hm,fontSize:`15px`,transform:e.menuOpen?`rotate(180deg)`:`none`,transformOrigin:`center`}),r.append(i,a),r.addEventListener(`mouseenter`,()=>{r.style.background=`rgba(0, 0, 0, 0.05)`}),r.addEventListener(`mouseleave`,()=>{r.style.background=e.menuOpen?`rgba(0, 0, 0, 0.05)`:`transparent`}),r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),m===e&&(e.menuOpen=!e.menuOpen,pe(e),me())}),r},pe=e=>{let t=e.toolbar;t.replaceChildren();let n=z(e,`font-weight`),r=z(e,`font-style`),i=z(e,`text-decoration-line`);t.append(ae(e,`B`,`Bold`,th(n)>=600,()=>U(e)),ae(e,`I`,`Italic`,r===`italic`||r===`oblique`,()=>re(e)),ae(e,`U`,`Underline`,i.includes(`underline`),()=>ie(e)),fe(e)),de(e)},me=()=>{let e=m;if(!e||!e.element.isConnected)return;let t=e.element.getBoundingClientRect(),n=r.getComputedStyle(e.element),i=Math.min(Math.max(120,t.width),Math.max(120,r.innerWidth-16)),a=Math.min(Math.max(8,t.left),Math.max(8,r.innerWidth-i-8)),o=Math.max(1,t.height),s=Math.min(Math.max(8,t.top),Math.max(8,r.innerHeight-o-8));Object.assign(e.editor.style,{left:`${a}px`,top:`${s}px`,width:`${i}px`,minHeight:`0px`,height:`${o}px`,fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,fontStyle:n.fontStyle,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,textAlign:n.textAlign,textTransform:n.textTransform,textDecorationLine:n.textDecorationLine,color:n.color,padding:n.padding,borderRadius:n.borderRadius,background:I(e.element)});let c=e.toolbar.getBoundingClientRect(),l=Math.max(40,c.height),u=Math.max(1,e.editor.getBoundingClientRect().height),d=s+u+8,f=d+l<=r.innerHeight-8?d:Math.max(8,s-l-8),p=Math.max(0,c.width),h=Math.min(Math.max(8,a),Math.max(8,r.innerWidth-p-8));e.toolbar.style.left=`${h}px`,e.toolbar.style.top=`${f}px`;let g=f,_=f,v=!1;if(e.menuOpen){let t=e.menu.getBoundingClientRect(),n=Math.max(0,t.height),i=Math.max(Um,t.width),a=f-n-8;v=a>=8,g=v?a:Math.min(r.innerHeight-n-8,f+l+8);let o=Math.min(Math.max(8,h+p-i),Math.max(8,r.innerWidth-i-8));e.menu.style.left=`${o}px`,e.menu.style.top=`${Math.max(8,g)}px`,_=Math.max(8,g)+n}let y=e.inspectorCard.getBoundingClientRect(),b=Math.max(0,y.height),x=Math.max(320,y.width)/2,S;if(e.menuOpen){let e=f+l+8,t=f-b-8;S=v&&e+b<=r.innerHeight-8?e:!v&&t>=8?t:v?Math.max(8,g-b-8):Math.min(r.innerHeight-b-8,_+8)}else{let e=f>=s+u,t=f+l+8;S=e&&t+b<=r.innerHeight-8?t:Math.max(8,f-b-8)}let C=Math.min(Math.max(h+p/2,8+x),r.innerWidth-8-x);e.inspectorCard.style.left=`${C}px`,e.inspectorCard.style.top=`${Math.max(8,S)}px`},he=()=>{let e=m;e&&(e.editor.remove(),e.toolbar.remove(),e.menu.remove(),e.inspectorCard.remove(),m=null)},ge=()=>{let e=m;if(!e)return;T(e.node,e.initialText),O(e.element,e.styleChanges);let t=new Set;for(let n of e.initialStyleChanges){let r=e.element.style.getPropertyValue(n.property),i=e.element.style.getPropertyPriority(n.property);r===n.beforeInline&&i===n.beforePriority&&(e.element.style.setProperty(n.property,n.desired),t.add(n.property))}let n=d.get(e.editId);n?.element===e.element&&d.set(e.editId,{...n,styleChanges:e.initialStyleChanges.filter(e=>t.has(e.property))}),he()},_e=()=>{let t=m;if(!t)return;let n=`${t.leading}${t.editor.value}${t.trailing}`,i=$m(t.styleChanges);if(n===t.initialText&&JSON.stringify(i)===JSON.stringify(t.initialStyleChanges)){T(t.node,t.initialText),he();return}p={id:t.editId,createdAt:Date.now(),pageUrl:qm(r),selector:t.selector,nodeIndex:t.nodeIndex,beforeText:t.beforeText,desiredText:n,styleChanges:i,fingerprintTag:t.fingerprint.tag,fingerprintId:t.fingerprint.id,fingerprintTestId:t.fingerprint.testId,fingerprintRole:t.fingerprint.role,fingerprintAriaLabel:t.fingerprint.ariaLabel,fingerprintClasses:t.fingerprint.classes,fingerprintText:t.fingerprint.text},u.set(t.editId,{element:t.element,node:t.node}),d.set(t.editId,{element:t.element,node:t.node,beforeText:t.beforeText,desiredText:n,styleChanges:i}),T(t.node,n),he(),e.command.execute(Pm,void 0,{source:`text-inspector`}).catch(()=>{let e=d.get(t.editId);e&&(e.node.isConnected&&e.node.nodeValue===n&&T(e.node,t.beforeText),e.element.isConnected&&O(e.element,e.styleChanges)),d.delete(t.editId)})},ve=(e,r)=>{let i=jm(t);if(i&&i.element.isConnected&&i.node.isConnected&&i.node.parentNode===i.element&&i.node.nodeValue?.trim()&&x(i.element)&&!Gm.has(i.element.tagName)&&!i.element.isContentEditable)return i;for(let t of n.elementsFromPoint(e,r)){if(!(t instanceof a.HTMLElement)||!x(t)||Gm.has(t.tagName)||t.isContentEditable)continue;let e=Array.from(t.childNodes).map((e,t)=>({node:e,index:t})).filter(({node:e})=>e.nodeType===a.Node.TEXT_NODE&&!!e.nodeValue?.trim());if(e.length===1)return{element:t,node:e[0].node,nodeIndex:e[0].index}}return null},ye=(e,t,n,i)=>{let a=qm(r);return l().edits.find(r=>{if(r.pageUrl!==a||r.nodeIndex!==i)return!1;let o=w(r);return o?.element===e&&o.node===t||r.selector===n})??null},be=(e,t,i)=>{if(!b())return;let a=ve(e,t);if(!a)return;i?.preventDefault(),i?.stopImmediatePropagation(),ge();let o=Bu(a.element),l=Vu(a.element),u=ye(a.element,a.node,o,a.nodeIndex),f=a.node.nodeValue??``,p=u?d.get(u.id):void 0,h=!!(u&&p?.node===a.node&&(f===p.desiredText||p.styleChanges.length>0)),g=f,_=f,v=[],y=u?.id??Jm(r,`text-edit`);if(u&&h)g=u.beforeText,_=u.desiredText,v=$m(u.styleChanges),T(a.node,_);else if(u&&f===u.beforeText){g=u.beforeText,_=u.desiredText,v=$m(u.styleChanges),T(a.node,_);let e=k(a.element,v,[]);d.set(u.id,{...a,beforeText:g,desiredText:_,styleChanges:e})}else u&&f===u.desiredText&&(g=f,_=f,v=[]);let x=Qm(_),S=n.createElement(`textarea`);S.dataset.mesurerTextEditor=`true`,S.dataset.mesurerInspectorUi=`true`,S.setAttribute(`aria-label`,`Edit text`),S.rows=1,S.value=x.value,Object.assign(S.style,{position:`fixed`,boxSizing:`border-box`,zIndex:`2147483647`,pointerEvents:`auto`,resize:`none`,overflow:`hidden`,border:`0`,outline:`none`,boxShadow:`0 0 0 2px var(--msr-accent, #0d99ff), var(--msr-shadow-select-menu, 0 8px 24px rgba(15,23,42,.18))`});let C=n.createElement(`div`);C.className=`mesurer-toolbar-surface`,C.dataset.mesurerTextStyleToolbar=`true`,C.dataset.mesurerTextStyleSurface=`toolbar`,C.dataset.mesurerInspectorUi=`true`,C.setAttribute(`role`,`toolbar`),C.setAttribute(`aria-label`,`Text styles`),Object.assign(C.style,{position:`fixed`,zIndex:`2147483647`,pointerEvents:`auto`,display:`flex`,alignItems:`center`,flexWrap:`nowrap`,gap:`4px`,maxWidth:`calc(100vw - 16px)`,padding:`4px`,borderRadius:`12px`,background:`var(--msr-surface-raised, #ffffff)`,color:Vm,boxShadow:Wm});let w=n.createElement(`div`);w.className=`mesurer-toolbar-surface`,w.dataset.mesurerTextStyleMenu=`true`,w.dataset.mesurerInspectorUi=`true`,w.setAttribute(`role`,`menu`),w.setAttribute(`aria-label`,`Text style menu`),Object.assign(w.style,{position:`fixed`,zIndex:`2147483647`,width:`${Um}px`,maxWidth:`calc(100vw - 16px)`,maxHeight:`min(520px, calc(100vh - 16px))`,overflowY:`auto`,pointerEvents:`auto`,boxSizing:`border-box`,padding:`6px`,borderRadius:`12px`,background:`var(--msr-surface-raised, #ffffff)`,color:Vm,boxShadow:Wm});let E=of(n,!1);E.dataset.mesurerTextInspectorInfo=`true`,E.dataset.mesurerInspectorUi=`true`,E.setAttribute(`aria-label`,`Text inspector`),Object.assign(E.style,{zIndex:`2147483647`,pointerEvents:`auto`,transform:`translateX(-50%)`,opacity:`1`}),c.element.append(S,C,w,E);let D=s.getFull(a.element);m={element:a.element,node:a.node,editor:S,toolbar:C,menu:w,menuOpen:!1,inspectorCard:E,inspectorInfo:D,editId:y,beforeText:g,initialText:_,leading:x.leading,trailing:x.trailing,nodeIndex:a.nodeIndex,selector:o,fingerprint:l,initialStyleChanges:$m(v),styleChanges:v,catalog:F(a.element)},pe(m),R(m,!1),me(),S.addEventListener(`input`,()=>{let e=m;!e||e.editor!==S||(T(e.node,`${e.leading}${S.value}${e.trailing}`),R(e,!1),me())}),S.focus({preventScroll:!0}),S.setSelectionRange(0,S.value.length)},xe=e=>{e instanceof a.MouseEvent&&be(e.clientX,e.clientY,e)},Se=e=>{if(!e.pointerType||e.pointerType===`mouse`||!b())return;let t=ve(e.clientX,e.clientY);if(!t){h=null;return}let n=r.performance.now(),i=h;if(i&&i.element===t.element&&n-i.time<=Lm&&Math.hypot(e.clientX-i.x,e.clientY-i.y)<=Rm){h=null,be(e.clientX,e.clientY,e);return}h={time:n,x:e.clientX,y:e.clientY,element:t.element}},Ce=()=>{if(_=0,!g){if(!b()){m&&ge(),A();return}j(),me()}},we=()=>{g||_||(_=r.requestAnimationFrame(Ce))},Te=()=>{if(c.element.dataset.mesurerNativeScrollRuntimeLayer!==`true`){we();return}_&&=(r.cancelAnimationFrame(_),0),v&&r.clearTimeout(v),v=r.setTimeout(()=>{v=0,we()},zm)},Ee=e=>{let t=m;if(!t)return;let n=e.composedPath();n.includes(t.editor)||n.includes(t.toolbar)||n.includes(t.menu)||n.includes(t.inspectorCard)||_e()},De=t=>{let n=m;if(n){let e=t.composedPath().includes(n.editor);if(t.key===`Escape`){if(t.preventDefault(),t.stopImmediatePropagation(),n.menuOpen){n.menuOpen=!1,pe(n),me(),n.editor.focus({preventScroll:!0});return}ge();return}if(e&&t.altKey&&(t.metaKey||t.ctrlKey)&&!t.shiftKey){let e=t.key===`0`?`text`:t.key===`1`?`heading-1`:t.key===`2`?`heading-2`:t.key===`3`?`heading-3`:null,r=e?n.catalog.presets.find(t=>t.id===e):null;if(r){t.preventDefault(),t.stopImmediatePropagation(),ne(n,r);return}}if(e&&(t.metaKey||t.ctrlKey)&&!t.altKey&&!t.shiftKey){let e=t.key.toLowerCase();if(e===`b`||e===`i`||e===`u`){t.preventDefault(),t.stopImmediatePropagation(),e===`b`?U(n):e===`i`?re(n):ie(n),n.editor.focus({preventScroll:!0});return}}e&&t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),t.stopImmediatePropagation(),_e());return}t.key===`Escape`&&y()===`text-inspector`&&e.command.execute(Fm,void 0,{source:`text-inspector-clear`})},Oe=new a.MutationObserver(e=>{for(let t of e){if(t.type!==`characterData`||!(t.target instanceof a.Text))continue;let e=t.target,n=f.get(e)??0;if(n>0){n===1?f.delete(e):f.set(e,n-1);continue}for(let[t,n]of d)n.node===e&&d.delete(t)}we()});Oe.observe(i,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`]}),e.command.register(Pm,()=>{let t=p;p=null,t&&e.state.update(`mesurer.text-edit.intents`,e=>{let n=e.edits.filter(e=>e.id!==t.id);return{edits:t.desiredText!==t.beforeText||t.styleChanges.length>0?[...n,t].slice(-100):n}})}),e.command.register(Fm,()=>{p=null,e.state.update(Mm,()=>({edits:[]}))}),e.service.provide(Nm,{intents:()=>l().edits.map(Zm),intent:e=>{let t=l().edits.find(t=>t.id===e);return t?Zm(t):null},clear:async()=>{await e.command.execute(Fm)}});let ke=o.subscribe(we);e.state.subscribe(we),r.addEventListener(`dblclick`,xe,!0),r.addEventListener(`pointerup`,Se,!0),r.addEventListener(`pointerdown`,Ee,!0),r.addEventListener(`keydown`,De,!0),r.addEventListener(`resize`,we),r.addEventListener(`scroll`,Te,!0),we(),e.lifecycle.onDispose(()=>{g=!0,_&&r.cancelAnimationFrame(_),_=0,v&&r.clearTimeout(v),v=0,ge(),A(),Oe.disconnect(),ke(),r.removeEventListener(`dblclick`,xe,!0),r.removeEventListener(`pointerup`,Se,!0),r.removeEventListener(`pointerdown`,Ee,!0),r.removeEventListener(`keydown`,De,!0),r.removeEventListener(`resize`,we),r.removeEventListener(`scroll`,Te,!0),u.clear(),o.dispose(),c.dispose()})}var sh=`[data-mesurer-text-editor='true']`,ch=`[data-mesurer-text-edit-runtime='true']`,lh=`[data-mesurer-root='true']`,uh=`data-mesurer-direct-text-edit-active`;function dh(e,t,n){let{ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(ch),s=o.item(o.length-1),c=n.rendererRoot??s?.closest(lh)??null;if(!s?.isConnected||!c?.isConnected)return;let l=!1,u=()=>{let e=!!s.querySelector(sh);e!==l&&(l=e,l?c.setAttribute(uh,`true`):c.removeAttribute(uh))},d=new a.MutationObserver(u);d.observe(s,{childList:!0,subtree:!0}),u(),e.lifecycle.onDispose(()=>{d.disconnect(),c.removeAttribute(uh)})}var fh=8,ph=2,mh=4,hh=20,gh=`[data-mesurer-selected-measurement='true']`,_h=`[data-mesurer-measurement-chrome='true']`,vh=`[data-mesurer-measurement-label='true']`,yh=`[data-mesurer-text-editor='true']`,bh=`[data-mesurer-text-edit-ring='true']`,xh=`[data-mesurer-text-inspector-info='true']`,Sh=`[data-mesurer-text-inspector-placement-shell='true']`,Ch=`data-mesurer-measurement-label-clearance`,wh=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),Th=(e,t,n=mh)=>Math.abs(e.left-t.left)<=n&&Math.abs(e.top-t.top)<=n&&Math.abs(e.width-t.width)<=n&&Math.abs(e.height-t.height)<=n,Eh=(e,t)=>Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left))>0&&Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top))>0,Dh=e=>e.reduce((e,t)=>({left:Math.min(e.left,t.left),top:Math.min(e.top,t.top),right:Math.max(e.right,t.right),bottom:Math.max(e.bottom,t.bottom),width:Math.max(e.right,t.right)-Math.min(e.left,t.left),height:Math.max(e.bottom,t.bottom)-Math.min(e.top,t.top)})),Oh=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+hh,width:e.width,height:hh});function kh(e,t,n,r){let i=Dh(t.length>0?[e,...t]:[e,Oh(e)]),a=n.width,o=n.height,s=r.width-fh,c=r.height-fh,l=Math.max(fh,s-a),u=Math.max(fh,c-o),d=Math.min(Math.max(e.left+e.width/2-a/2,fh),l),f=Math.min(Math.max(e.top+e.height/2-o/2,fh),u),p=[{left:d,top:i.top-ph-o,placement:`above`,maxHeight:null},{left:d,top:i.bottom+ph,placement:`below`,maxHeight:null},{left:i.right+ph,top:f,placement:`side`,maxHeight:null},{left:i.left-ph-a,top:f,placement:`side`,maxHeight:null}],m=e=>e.left>=fh&&e.top>=fh&&e.left+a<=s&&e.top+o<=c,h=p.find(e=>m(e));if(h)return h;let g=[{placement:`above`,top:fh,height:Math.max(0,i.top-ph-fh)},{placement:`below`,top:i.bottom+ph,height:Math.max(0,c-i.bottom-ph)}].sort((e,t)=>t.height-e.height)[0];return g&&g.height>0?{left:d,top:g.top,placement:g.placement,maxHeight:g.height}:{left:d,top:fh,placement:`viewport`,maxHeight:Math.max(0,r.height-16)}}var Ah=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),jh=(e,t,n,r=``)=>{(e.style.getPropertyValue(t)!==n||e.style.getPropertyPriority(t)!==r)&&e.style.setProperty(t,n,r)},Mh=(e,t,n)=>{(e.style.getPropertyValue(t)!==n.value||e.style.getPropertyPriority(t)!==n.priority)&&(n.value||n.priority?e.style.setProperty(t,n.value,n.priority):e.style.removeProperty(t))},Nh=(e,t,n)=>{e.getAttribute(t)!==n&&e.setAttribute(t,n)},Ph=(e,t)=>{let n=t.bottom+2,r=t.left+t.width/2,i=e.left+e.width/2;return Math.abs(e.top-n)<=8&&Math.abs(i-r)<=8},Fh=(e,t,n)=>{let r=new Set;for(let t of e)for(let e of t.querySelectorAll(gh))r.add(e);let i=[];for(let e of r){let r=n.getComputedStyle(e);if(r.display===`none`||r.visibility===`hidden`)continue;let a=e.querySelector(vh);if(!a)continue;let o=n.getComputedStyle(a);if(o.display===`none`||o.visibility===`hidden`)continue;let s=wh(a.getBoundingClientRect());if(s.width<=0||s.height<=0)continue;let c=e.querySelector(_h),l=c?.isConnected?wh(c.getBoundingClientRect()):null;!(l&&l.width>0&&l.height>0&&Th(l,t))&&!Ph(s,t)||i.push(s)}return i},Ih=(e,t)=>e instanceof t.HTMLElement?e.matches(gh)||!!e.closest(gh)||!!e.querySelector(gh):!1;function Lh(e,t,n=t.portalTarget){let{ownerDocument:r,ownerWindow:i,portalTarget:a}=t,o=i,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=null,u=0,d=!1,f=()=>{let e=[a];return n!==a&&e.push(n),r.body&&!e.includes(r.body)&&e.push(r.body),e},p=()=>{let e=l;if(!e)return;let{shell:t,card:n}=e;t.isConnected&&(Mh(t,`left`,e.shellLeft),Mh(t,`top`,e.shellTop),Mh(t,`--mesurer-native-anchor-x`,e.anchorX),Mh(t,`--mesurer-native-anchor-y`,e.anchorY),e.marker===null?t.removeAttribute(Ch):Nh(t,Ch,e.marker)),n.isConnected&&(Mh(n,`max-height`,e.cardMaxHeight),e.placement===null?delete n.dataset.mesurerTextInspectorPlacement:n.dataset.mesurerTextInspectorPlacement!==e.placement&&(n.dataset.mesurerTextInspectorPlacement=e.placement)),l=null},m=(e,t)=>{l={shell:e,card:t,shellLeft:Ah(e,`left`),shellTop:Ah(e,`top`),anchorX:Ah(e,`--mesurer-native-anchor-x`),anchorY:Ah(e,`--mesurer-native-anchor-y`),cardMaxHeight:Ah(t,`max-height`),placement:t.getAttribute(`data-mesurer-text-inspector-placement`),marker:e.getAttribute(Ch)}},h=()=>{if(d)return;let e=c.querySelector(yh),t=c.querySelector(Sh),n=c.querySelector(xh),r=c.querySelectorAll(bh),a=r.item(r.length-1);if(!e?.isConnected||!t?.isConnected||!n?.isConnected||!a?.isConnected){p();return}l&&(l.shell!==t||l.card!==n)&&p();let s=wh(a.getBoundingClientRect());if(s.width<=0||s.height<=0)return;let u=t.dataset.mesurerNativeScrollOwner===`typography`&&t.dataset.mesurerNativeScrollAnchor===`offset`,h=s.right>0&&s.bottom>0&&s.left<i.innerWidth&&s.top<i.innerHeight;if(u&&!h)return;let g=Fh(f(),s,o),_=Oh(s),v=wh(n.getBoundingClientRect()),y=Eh(v,_)||g.some(e=>Eh(v,e));if(!l&&!y)return;l||m(t,n);let b=Math.max(v.height,n.scrollHeight),x=kh(s,g,{width:v.width,height:b},{width:i.innerWidth,height:i.innerHeight});u?(jh(t,`--mesurer-native-anchor-x`,`${x.left-s.left}px`),jh(t,`--mesurer-native-anchor-y`,`${x.top-s.top}px`)):(jh(t,`left`,`${x.left}px`),jh(t,`top`,`${x.top}px`)),x.maxHeight===null&&l?Mh(n,`max-height`,l.cardMaxHeight):x.maxHeight!==null&&jh(n,`max-height`,`${x.maxHeight}px`),n.dataset.mesurerTextInspectorPlacement!==x.placement&&(n.dataset.mesurerTextInspectorPlacement=x.placement),Nh(t,Ch,`true`)},g=()=>{d||u||(u=i.requestAnimationFrame(()=>{u=0,h()}))},_=new o.MutationObserver(g);_.observe(c,{childList:!0,subtree:!0});let v=n===a?null:new o.MutationObserver(e=>{e.some(e=>e.type===`attributes`?Ih(e.target,o):Ih(e.target,o)?!0:[...e.addedNodes,...e.removedNodes].some(e=>Ih(e,o)))&&g()});v?.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-mesurer-selected-measurement`]}),i.addEventListener(`resize`,g,!0),i.addEventListener(`dblclick`,g,!0),g(),e.lifecycle.onDispose(()=>{d=!0,_.disconnect(),v?.disconnect(),i.removeEventListener(`resize`,g,!0),i.removeEventListener(`dblclick`,g,!0),u&&i.cancelAnimationFrame(u),p()})}var Rh=`var(--msr-accent, #0d99ff)`,zh=`var(--msr-color-ink-500, #8a8a8a)`,Bh=288,Vh=1.5,Hh=80,Uh=(e,t,n=2)=>Math.abs(e.left-t.left)<=n&&Math.abs(e.top-t.top)<=n&&Math.abs(e.width-t.width)<=n&&Math.abs(e.height-t.height)<=n,Wh=(e,t,n)=>Math.min(Math.max(e,t),n);function Gh(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i,portalTarget:a}=t,o=r,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=c.closest(`[data-mesurer-root='true']`),u=null,d=new Map,f=null,p=!1,m=null,h=null,g=null,_=0,v=0,y=!1,b=!1,x=()=>l?.querySelector(`button[data-mesurer-builtin='text-inspector']`)??null,S=()=>{for(let e of a.querySelectorAll(`.mesurer-ti-card, .mesurer-ti-box`))c.contains(e)||d.has(e)||(d.set(e,{element:e,display:e.style.getPropertyValue(`display`),displayPriority:e.style.getPropertyPriority(`display`),ariaHidden:e.getAttribute(`aria-hidden`)}),e.style.setProperty(`display`,`none`,`important`),e.setAttribute(`aria-hidden`,`true`))},C=()=>{for(let e of d.values()){let{element:t}=e;t.isConnected&&(e.display||e.displayPriority?t.style.setProperty(`display`,e.display,e.displayPriority):t.style.removeProperty(`display`),e.ariaHidden===null?t.removeAttribute(`aria-hidden`):t.setAttribute(`aria-hidden`,e.ariaHidden))}d.clear()},w=()=>{let e=f;if(!e)return;let{element:t}=e;t.isConnected&&(e.visibility||e.visibilityPriority?t.style.setProperty(`visibility`,e.visibility,e.visibilityPriority):t.style.removeProperty(`visibility`),e.pointerEvents||e.pointerEventsPriority?t.style.setProperty(`pointer-events`,e.pointerEvents,e.pointerEventsPriority):t.style.removeProperty(`pointer-events`),e.ariaHidden===null?t.removeAttribute(`aria-hidden`):t.setAttribute(`aria-hidden`,e.ariaHidden),delete t.dataset.mesurerTextInspectorAutoHidden),f=null},T=(e,t)=>{if(!t){f?.element===e&&w();return}f?.element!==e&&(w(),f={element:e,visibility:e.style.getPropertyValue(`visibility`),visibilityPriority:e.style.getPropertyPriority(`visibility`),pointerEvents:e.style.getPropertyValue(`pointer-events`),pointerEventsPriority:e.style.getPropertyPriority(`pointer-events`),ariaHidden:e.getAttribute(`aria-hidden`)},e.dataset.mesurerTextInspectorAutoHidden=`true`,e.style.setProperty(`visibility`,`hidden`,`important`),e.style.setProperty(`pointer-events`,`none`,`important`),e.setAttribute(`aria-hidden`,`true`))},E=e=>{if(!l||p===e)return;let t=x();if(p=e,e){if(l.dataset.mesurerTypographyContextActive=`true`,!t)return;u={ariaPressed:t.getAttribute(`aria-pressed`),background:t.style.backgroundColor,color:t.style.color},t.setAttribute(`aria-pressed`,`true`),t.style.backgroundColor=Rh,t.style.color=`var(--msr-color-white, #ffffff)`;return}if(delete l.dataset.mesurerTypographyContextActive,!t||!u){u=null;return}t.classList.contains(`msr:bg-[#0d99ff]`)?t.setAttribute(`aria-pressed`,`true`):u.ariaPressed===null?t.removeAttribute(`aria-pressed`):t.setAttribute(`aria-pressed`,u.ariaPressed),t.style.backgroundColor=u.background,t.style.color=u.color,u=null},D=e=>{let t=e.dataset.mesurerTextStyleSelect??``;Object.assign(e.style,{width:`auto`,height:`32px`,maxWidth:t===`font`?`128px`:`72px`,minWidth:t===`font`?`92px`:`56px`,border:`0`,borderRadius:`8px`,background:`transparent`,color:`var(--msr-content, #0f172a)`,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,padding:`0 8px`,cursor:`pointer`,outline:`none`})},O=e=>{Object.assign(e.style,{display:`flex`,alignItems:`center`,flexWrap:`nowrap`,gap:`4px`,marginLeft:`2px`,paddingLeft:`8px`,borderLeft:`1px solid var(--msr-color-ink-200, rgba(0, 0, 0, 0.10))`});let t=Array.from(e.querySelectorAll(`[data-mesurer-text-color]`));for(let[e,n]of t.entries())Object.assign(n.style,{display:e<6?`block`:`none`,width:`18px`,height:`18px`,borderRadius:`50%`,padding:`0`});let n=e.querySelector(`[data-mesurer-text-custom-color='true']`);n&&Object.assign(n.style,{width:`32px`,height:`32px`,border:`0`,borderRadius:`8px`,background:`transparent`,padding:`5px`,cursor:`pointer`})},k=e=>{e.setAttribute(`aria-label`,`Text preset`),e.style.marginLeft=`0`;let t=e.querySelectorAll(`:scope > span`),n=t.item(t.length-1);n&&(n.textContent&&=``,n.dataset.mesurerTextStyleChevron=`true`,Object.assign(n.style,{width:`7px`,height:`7px`,flex:`0 0 7px`,boxSizing:`border-box`,borderRight:`1.5px solid ${zh}`,borderBottom:`1.5px solid ${zh}`,color:`transparent`,fontSize:`0`,lineHeight:`0`,transform:e.getAttribute(`aria-expanded`)===`true`?`rotate(225deg)`:`rotate(45deg)`,transformOrigin:`50% 50%`}))},A=(e,t)=>{let n=e.getBoundingClientRect(),i=Math.min(Math.max(8,n.left),Math.max(8,r.innerWidth-n.width-8));if(e.style.left=`${i}px`,t.style.display!==`none`&&!t.hidden){let e=t.getBoundingClientRect(),a=Math.min(Math.max(8,i+n.width-e.width),Math.max(8,r.innerWidth-e.width-8));t.style.left=`${a}px`}},j=()=>{g?.remove(),g=null},M=()=>g?.isConnected?g:(g=n.createElement(`div`),g.dataset.mesurerTextCaret=`true`,g.dataset.mesurerInspectorUi=`true`,g.setAttribute(`aria-hidden`,`true`),Object.assign(g.style,{position:`fixed`,zIndex:`2147483647`,width:`${Vh}px`,pointerEvents:`none`,transform:`translateX(-${Vh/2}px)`,transformOrigin:`center`}),a.append(g),g.animate?.([{opacity:`1`,offset:0},{opacity:`1`,offset:.49},{opacity:`0`,offset:.5},{opacity:`0`,offset:1}],{duration:1e3,iterations:1/0}),g),N=(e,t)=>{let n=e.nodeValue??``,r=n.indexOf(t);return r>=0&&!n.slice(0,r).trim()&&!n.slice(r+t.length).trim()?{leadingLength:r}:n.trim()===t.trim()?{leadingLength:n.length-n.trimStart().length}:null},P=(e,t)=>{if(h?.node.isConnected&&h.node.parentNode===h.element){let t=N(h.node,e.value);if(t)return h.leadingLength=t.leadingLength,h}let r=t.getBoundingClientRect(),a=[[r.left+r.width/2,r.top+r.height/2],[r.left+2,r.top+2],[r.right-2,r.bottom-2]],s=[];for(let[e,t]of a)for(let r of n.elementsFromPoint(e,t))!(r instanceof o.HTMLElement)||s.includes(r)||i.contains(r)&&(r.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`)||s.push(r));for(let t of s){if(!Uh(t.getBoundingClientRect(),r))continue;let n=Array.from(t.childNodes).filter(e=>e.nodeType===o.Node.TEXT_NODE).flatMap(t=>{let n=N(t,e.value);return n?[{node:t,leadingLength:n.leadingLength}]:[]});if(n.length===1)return h={element:t,node:n[0].node,leadingLength:n[0].leadingLength},h}return null},F=(e,t)=>{let r=n.createRange();try{r.setStart(e,t),r.collapse(!0);let n=r.getClientRects()[0]??r.getBoundingClientRect();if(n&&n.height>0)return{left:n.left,top:n.top,height:n.height}}catch{return null}let i=e.nodeValue?.length??0,a=n.createRange();try{if(t<i){a.setStart(e,t),a.setEnd(e,t+1);let n=a.getClientRects()[0]??a.getBoundingClientRect();if(n&&n.height>0)return{left:n.left,top:n.top,height:n.height}}if(t>0){a.setStart(e,t-1),a.setEnd(e,t);let n=Array.from(a.getClientRects()),r=n[n.length-1]??a.getBoundingClientRect();if(r&&r.height>0)return{left:r.right,top:r.top,height:r.height}}}catch{return null}return null},I=(e,t)=>{let i=e.selectionStart??0;if(i!==(e.selectionEnd??i)||n.activeElement!==e){j();return}let a=P(e,t);if(!a){j();return}let o=a.leadingLength+Wh(i,0,e.value.length),s=F(a.node,o);if(!s||s.left<0||s.top<0||s.left>r.innerWidth||s.top>r.innerHeight){j();return}let c=r.getComputedStyle(a.element),l=M();Object.assign(l.style,{left:`${s.left}px`,top:`${s.top}px`,height:`${Math.max(1,s.height)}px`,background:c.color&&c.color!==`transparent`?c.color:Rh})},L=()=>{if(_=0,y)return;let e=c.querySelector(`[data-mesurer-text-editor='true']`),t=a.querySelector(`[data-mesurer-text-edit-ring='true']`),n=c.querySelector(`[data-mesurer-text-inspector-info='true']`);if(!e||!t){w(),j();return}n?T(n,!1):w(),I(e,t)},R=()=>{y||_||(_=r.requestAnimationFrame(L))},z=()=>{_&&=(r.cancelAnimationFrame(_),0),g&&j(),v&&r.clearTimeout(v),v=r.setTimeout(()=>{v=0,R()},Hh)},B=()=>{m&&(m.removeEventListener(`input`,R),m.removeEventListener(`select`,R),m.removeEventListener(`keyup`,R),m.removeEventListener(`pointerup`,R),m.removeEventListener(`focus`,R),m.removeEventListener(`blur`,R),m=null,h=null)},ee=e=>{m!==e&&(B(),m=e,e.addEventListener(`input`,R),e.addEventListener(`select`,R),e.addEventListener(`keyup`,R),e.addEventListener(`pointerup`,R),e.addEventListener(`focus`,R),e.addEventListener(`blur`,R))},V=()=>{if(!(y||b)){b=!0;try{let e=c.querySelector(`[data-mesurer-text-editor='true']`),t=c.querySelector(`[data-mesurer-text-style-toolbar='true']`),r=c.querySelector(`[data-mesurer-text-style-menu='true']`),i=c.querySelector(`[data-mesurer-text-inspector-info='true']`);if(!e||!t||!r){B(),w(),j(),C(),E(!1);return}ee(e),E(!0),S(),i&&i.setAttribute(`aria-label`,`Typography details`);let a=t.querySelector(`[data-mesurer-text-style-menu-button='true']`);if(!a)return;let s=Array.from(r.querySelectorAll(`[data-mesurer-text-style-select]`));for(let e of s){let n=e.parentElement;D(e),t.insertBefore(e,a),n?.isConnected&&n!==t&&n.remove()}let l=Array.from(r.querySelectorAll(`[data-mesurer-text-style-input]`));for(let e of l){let n=e.parentElement;t.insertBefore(e,a),n?.isConnected&&n!==t&&n.remove()}let u=r.querySelector(`[data-mesurer-text-color-swatches='true']`);if(u){let e=u.parentElement;O(u),t.insertBefore(u,a),e?.isConnected&&e!==t&&e.remove()}for(let e of Array.from(r.children))e instanceof o.HTMLButtonElement&&e.hasAttribute(`data-mesurer-text-style-preset`)||e.remove();Object.assign(r.style,{width:`${Bh}px`,maxHeight:`min(260px, calc(100vh - 16px))`,overflowY:`auto`}),r.setAttribute(`aria-label`,`Text presets`);let d=t.querySelector(`[data-mesurer-text-preset-separator='true']`);d?d.nextSibling!==a&&t.insertBefore(d,a):(d=n.createElement(`span`),d.dataset.mesurerTextPresetSeparator=`true`,d.setAttribute(`aria-hidden`,`true`),Object.assign(d.style,{width:`1px`,height:`20px`,flex:`0 0 1px`,margin:`0 2px`,background:`rgba(0, 0, 0, 0.10)`}),t.insertBefore(d,a)),t.lastElementChild!==a&&t.append(a),k(a),A(t,r),R()}finally{b=!1}}},te=new o.MutationObserver(()=>V());te.observe(c,{childList:!0,subtree:!0}),r.addEventListener(`resize`,R),r.addEventListener(`scroll`,z,{capture:!0,passive:!0}),V(),e.lifecycle.onDispose(()=>{y=!0,te.disconnect(),r.removeEventListener(`resize`,R),r.removeEventListener(`scroll`,z,!0),_&&r.cancelAnimationFrame(_),v&&r.clearTimeout(v),_=0,v=0,B(),w(),j(),C(),E(!1)})}var Kh=`#0d99ff`,qh=`rgba(13, 153, 255, 0.22)`,Jh=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),Yh=(e,t)=>Array.from(e.childNodes).map((e,t)=>({node:e,index:t})).filter(e=>e.node.nodeType===t.Node.TEXT_NODE&&!!e.node.nodeValue?.trim()),Xh=(e,t,n,r,i)=>{let a=e,o=a.caretPositionFromPoint?.(r,i);if(o?.offsetNode instanceof t.Text){let e=n.find(e=>e.node===o.offsetNode);if(e)return e}let s=a.caretRangeFromPoint?.(r,i);if(s?.startContainer instanceof t.Text){let e=n.find(e=>e.node===s.startContainer);if(e)return e}for(let t of n){let n=e.createRange();n.selectNodeContents(t.node);let a;try{a=n.getClientRects()}catch{continue}if(Array.from(a).some(e=>r>=e.left-1&&r<=e.right+1&&i>=e.top-1&&i<=e.bottom+1))return t}return null},Zh=(e,t,n)=>Math.min(Math.max(e,t),n);function Qh(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=()=>{let e=t.currentToolMode?.()??`none`;return e===`text-inspector`||e===`select`},s=e=>Ru(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),c=(e,i)=>{if(km(t),o())for(let o of n.elementsFromPoint(e,i)){if(es(o,r))return;if(!(o instanceof a.HTMLElement)||!s(o)||Jh.has(o.tagName)||o.isContentEditable)continue;let c=Yh(o,a);if(c.length===0)continue;if(c.length===1){Am(t,{element:o,node:c[0].node,nodeIndex:c[0].index});return}let l=Xh(n,a,c,e,i);if(l){Am(t,{element:o,node:l.node,nodeIndex:l.index});return}}},l=e=>c(e.clientX,e.clientY),u=e=>{!e.pointerType||e.pointerType===`mouse`||c(e.clientX,e.clientY)};r.addEventListener(`dblclick`,l,!0),r.addEventListener(`pointerup`,u,!0),e.lifecycle.onDispose(()=>{km(t),r.removeEventListener(`dblclick`,l,!0),r.removeEventListener(`pointerup`,u,!0)})}function $h(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i,portalTarget:a}=t,o=r,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=t.createWorkspaceRuntime(),u=null,d=[],f=null,p=null,m=!1,h=0,g=!1,_=()=>{u?.remove(),u=null},v=()=>{for(let e of d)e.remove();d=[]},y=e=>{let t=d[e];if(t?.isConnected)return t;let r=n.createElement(`div`);return r.dataset.mesurerTextSelectionHighlight=`true`,r.dataset.mesurerInspectorUi=`true`,r.setAttribute(`aria-hidden`,`true`),Object.assign(r.style,{position:`fixed`,zIndex:`2147483644`,pointerEvents:`none`,borderRadius:`2px`,background:qh,transition:`none`,animation:`none`}),a.append(r),d[e]=r,r},b=e=>{for(;d.length>e;)d.pop()?.remove()},x=()=>u?.isConnected?u:(u=n.createElement(`div`),u.dataset.mesurerTextEditRing=`true`,u.dataset.mesurerInspectorUi=`true`,u.setAttribute(`aria-hidden`,`true`),Object.assign(u.style,{position:`fixed`,zIndex:`2147483645`,pointerEvents:`none`,boxSizing:`border-box`,background:`transparent`,boxShadow:`inset 0 0 0 1.5px ${Kh}`,transition:`none`,animation:`none`}),c.append(u),u),S=()=>{g||m||(m=!0,r.queueMicrotask(()=>{m=!1,E()}))},C=(e,t)=>{if(!t?.node.isConnected||t.node.parentNode!==t.element){v();return}let i=e.selectionStart??0,a=e.selectionEnd??i;if(i===a){v();return}let o=t.node.nodeValue??``,s=o.length-o.trimStart().length,c=o.length-o.trimEnd().length,l=Math.max(0,o.length-s-c),u=s+Zh(Math.min(i,a),0,l),d=s+Zh(Math.max(i,a),0,l);if(u===d){v();return}let f=n.createRange();try{f.setStart(t.node,u),f.setEnd(t.node,d)}catch{v();return}let p;try{p=Array.from(f.getClientRects()).filter(e=>e.width>0&&e.height>0&&e.right>0&&e.bottom>0&&e.left<r.innerWidth&&e.top<r.innerHeight)}catch{v();return}for(let[e,t]of p.entries()){let n=y(e);Object.assign(n.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`})}b(p.length)},w=e=>{f!==e&&(f&&(f.removeEventListener(`input`,S),f.removeEventListener(`select`,S),f.removeEventListener(`keyup`,S),f.removeEventListener(`pointerup`,S)),f=e,p=null,e.addEventListener(`input`,S),e.addEventListener(`select`,S),e.addEventListener(`keyup`,S),e.addEventListener(`pointerup`,S))},T=e=>{let t=l.currentSelection().elements.filter(e=>e instanceof o.HTMLElement&&e.isConnected&&Ru(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`));if(t.length!==1)return null;let n=t[0],r=Yh(n,o);if(!r.length)return null;let a=e.value.trim(),s=r.find(({node:e})=>(e.nodeValue??``).trim()===a)??(r.length===1?r[0]:null);return s?{element:n,node:s.node,nodeIndex:s.index}:null},E=()=>{if(g)return;let e=c.querySelector(`[data-mesurer-text-editor='true']`);if(!e){f&&(f.removeEventListener(`input`,S),f.removeEventListener(`select`,S),f.removeEventListener(`keyup`,S),f.removeEventListener(`pointerup`,S)),f=null,p=null,v(),_();return}e.style.opacity=`0`,e.style.background=`transparent`,e.style.boxShadow=`none`,w(e);let n=jm(t)??p??T(e);n?.element.isConnected&&n.node.isConnected&&(p=n);let a=n?.element??null,o=a?.isConnected&&Ru(a,i)&&!a.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`)?a:null,s=o?.getBoundingClientRect()??e.getBoundingClientRect(),l=r.getComputedStyle(o??e),u=x();Object.assign(u.style,{left:`${s.left}px`,top:`${s.top}px`,width:`${s.width}px`,height:`${s.height}px`,borderRadius:l.borderRadius}),C(e,o?n:null)},D=()=>{u?.dataset.mesurerNativeScrollAnchor===`box`||h||(h=r.requestAnimationFrame(()=>{h=0,u?.dataset.mesurerNativeScrollAnchor!==`box`&&E()}))},O=new o.MutationObserver(S);O.observe(c,{childList:!0,subtree:!0}),r.addEventListener(`resize`,S),r.addEventListener(`scroll`,D,{capture:!0,passive:!0}),E(),e.lifecycle.onDispose(()=>{g=!0,km(t),O.disconnect(),r.removeEventListener(`resize`,S),r.removeEventListener(`scroll`,D,!0),h&&r.cancelAnimationFrame(h),f&&(f.removeEventListener(`input`,S),f.removeEventListener(`select`,S),f.removeEventListener(`keyup`,S),f.removeEventListener(`pointerup`,S)),p=null,v(),_(),l.dispose()})}var eg=`[data-mesurer-selected-measurement='true']`,tg=`[data-mesurer-hover-measurement='true']`,ng=`[data-mesurer-text-editor='true']`,rg=`data-mesurer-direct-edit-selection-suppressed`,ig=`data-mesurer-direct-edit-hover-suppressed`;function ag(e,t,n=t.portalTarget){let{ownerDocument:r,ownerWindow:i,portalTarget:a}=t,o=i,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=t.createWorkspaceRuntime(),u=new Map,d=new Map,f=new Set,p=new Set,m=new Set,h=!1,g=!1,_=!1,v=null,y=()=>{let e=[a];return n!==a&&e.push(n),r.body&&!e.includes(r.body)&&e.push(r.body),e},b=e=>{e.matches(eg)&&f.add(e),e.matches(tg)&&p.add(e)},x=e=>{if(e instanceof o.HTMLElement){b(e);for(let t of e.querySelectorAll(`${eg}, ${tg}`))b(t)}},S=e=>{for(let t of e.querySelectorAll(`${eg}, ${tg}`))b(t)};for(let e of y())S(e);let C=(e,t,n)=>{t.has(e)||t.set(e,{value:e.style.getPropertyValue(`opacity`),priority:e.style.getPropertyPriority(`opacity`),marker:e.getAttribute(n)}),e.getAttribute(n)!==`true`&&e.setAttribute(n,`true`),(e.style.getPropertyValue(`opacity`)!==`0`||e.style.getPropertyPriority(`opacity`)!==`important`)&&e.style.setProperty(`opacity`,`0`,`important`)},w=(e,t,n,r)=>{e.isConnected&&(t.value||t.priority?e.style.setProperty(`opacity`,t.value,t.priority):e.style.removeProperty(`opacity`),t.marker===null?e.removeAttribute(r):e.setAttribute(r,t.marker)),n.delete(e)},T=(e,t)=>{for(let[n,r]of Array.from(e))w(n,r,e,t)},E=()=>{for(let e of Array.from(f)){if(!e.isConnected){f.delete(e);let t=u.get(e);t&&w(e,t,u,rg);continue}C(e,u,rg)}for(let[e,t]of Array.from(u))(!e.isConnected||!f.has(e))&&w(e,t,u,rg)},D=()=>{let e=l.hoveredElement(),t=l.currentSelection().elements,n=e?m.has(e):!1,r=e?t.includes(e):!1;if(!n&&!r){T(d,ig);return}for(let e of Array.from(p)){if(!e.isConnected){p.delete(e);let t=d.get(e);t&&w(e,t,d,ig);continue}C(e,d,ig)}for(let[e,t]of Array.from(d))(!e.isConnected||!p.has(e))&&w(e,t,d,ig)},O=()=>{_||g||(g=!0,i.queueMicrotask(()=>{g=!1,M()}))},k=e=>{for(let t of e)for(let e of t.addedNodes)x(e);O()},A=()=>{if(v)return;v=new o.MutationObserver(k);let e=new Set,t=(t,n)=>{e.has(t)||(e.add(t),v.observe(t,{childList:!0,subtree:n}))};for(let e of y())S(e);t(a,a!==r.body),n!==a&&t(n,!0),r.body&&t(r.body,!1)},j=()=>{v?.disconnect(),v=null},M=()=>{if(!_){if(c.querySelector(ng)){h||(m=new Set(l.currentSelection().elements)),h=!0,E(),D(),A();return}!h&&u.size===0&&d.size===0||(h=!1,m.clear(),j(),T(u,rg),T(d,ig))}},N=new o.MutationObserver(k);N.observe(c,{childList:!0,subtree:!0});let P=l.subscribe(O);M(),e.lifecycle.onDispose(()=>{_=!0,N.disconnect(),j(),P(),l.dispose(),T(u,rg),T(d,ig),f.clear(),p.clear()})}var og=`[data-mesurer-text-editor='true']`,sg=`[data-mesurer-text-edit-ring='true']`,cg=`[data-mesurer-text-inspector-info='true']`,lg=`[data-mesurer-text-inspector-placement-shell='true']`,ug=`[data-mesurer-measurement='true']`,dg=`[data-mesurer-measurement-chrome='true']`,fg=`[data-mesurer-measurement-label='true']`,pg=20,mg=.75,hg=`data-mesurer-symmetric-measurement-spacing`,gg=`mesurerSymmetricCardOffsetY`,_g=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),vg=(e,t)=>Math.abs(e.left-t.left)+Math.abs(e.top-t.top)+Math.abs(e.width-t.width)+Math.abs(e.height-t.height),yg=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+pg,width:e.width,height:pg}),bg=(e,t,n)=>e.style.getPropertyValue(t)!==n&&(e.style.setProperty(t,n),!0);function xg(e,t,n=t.portalTarget){let{ownerDocument:r,ownerWindow:i,portalTarget:a}=t,o=i,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=new Set,u=null,d=null,f=null,p=null,m=!1,h=0,g=!1,_=e=>{e instanceof o.HTMLTextAreaElement&&e.matches(og)&&(u=e),e.matches(sg)&&(d=e),e.matches(lg)&&(f=e),e.matches(cg)&&(p=e),e.matches(fg)&&l.add(e)},v=e=>{if(e instanceof o.HTMLElement&&(_(e),e===c||e.matches(`${ug}, [data-mesurer-text-edit-runtime='true'], [data-mesurer-root='true']`)))for(let t of[og,sg,lg,cg,fg])for(let n of e.querySelectorAll(t))_(n)},y=e=>{for(let t of e.querySelectorAll(ug))v(t)};v(c),y(a),n!==a&&y(n);let b=e=>{let t=null;for(let n of Array.from(l)){if(!n.isConnected){l.delete(n);continue}let r=n.closest(ug);if(!(r instanceof o.HTMLElement)||r.getAttribute(`data-mesurer-selected-measurement`)!==`true`)continue;let i=_g(n.getBoundingClientRect());if(i.width<=0||i.height<=0)continue;let a=r.querySelector(dg),s=a?.isConnected?_g(a.getBoundingClientRect()):null,c=e.bottom+2,u=e.left+e.width/2,d=i.left+i.width/2,f=s&&s.width>0&&s.height>0?vg(s,e):Math.abs(i.top-c)+Math.abs(d-u);f>32||(!t||f<t.score)&&(t={rect:i,score:f})}return t?.rect??yg(e)},x=()=>{if(g||!u?.isConnected||!d?.isConnected||!f?.isConnected||!p?.isConnected)return;let e=_g(d.getBoundingClientRect());if(e.width<=0||e.height<=0||!(e.right>0&&e.bottom>0&&e.left<i.innerWidth&&e.top<i.innerHeight))return;let t=_g(p.getBoundingClientRect());if(t.width<=0||t.height<=0||t.top<e.bottom)return;let n=b(e),r=n.top-e.bottom,a=t.top-n.bottom,o=a-r;if(f.setAttribute(hg,`true`),f.dataset.mesurerSymmetricSourceGap=r.toFixed(3),f.dataset.mesurerSymmetricTypographyGap=a.toFixed(3),Math.abs(o)<=mg)return;let s=Number.parseFloat(p.dataset[gg]??`0`),c=(Number.isFinite(s)?s:0)-o;p.dataset[gg]=c.toFixed(3),bg(p,`translate`,`0px ${c}px`)},S=()=>{g||m||(m=!0,i.queueMicrotask(()=>{m=!1,!h&&(h=i.requestAnimationFrame(()=>{h=0,x()}))}))},C=new o.MutationObserver(e=>{let t=!1;for(let n of e){if(n.type===`childList`){for(let e of n.addedNodes)v(e);t=!0;continue}n.target instanceof o.HTMLElement&&n.target.matches(lg)&&(_(n.target),t=!0)}t&&S()});C.observe(c,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`data-mesurer-native-scroll-owner`,`data-mesurer-native-scroll-anchor`]});let w=new o.MutationObserver(e=>{let t=!1;for(let n of e)for(let e of n.addedNodes)e instanceof o.HTMLElement&&e.matches(`${ug}, [data-mesurer-root='true']`)&&(v(e),t=!0);t&&S()}),T=new Set,E=(e,t)=>{T.has(e)||e===c||(T.add(e),w.observe(e,{childList:!0,subtree:t}))};E(a,a!==r.body),n!==a&&E(n,!0),r.body&&E(r.body,!1),i.addEventListener(`resize`,S,!0),i.addEventListener(`dblclick`,S,!0),S(),e.lifecycle.onDispose(()=>{g=!0,C.disconnect(),w.disconnect(),i.removeEventListener(`resize`,S,!0),i.removeEventListener(`dblclick`,S,!0),h&&i.cancelAnimationFrame(h),l.clear(),f?.removeAttribute(hg),p&&(p.style.removeProperty(`translate`),delete p.dataset[gg])})}var Sg=(e,t)=>{let n={document:e.document,location:e.location,crypto:e.crypto,navigator:e.navigator,performance:e.performance,CSS:e.CSS,Node:e.Node,Text:e.Text,Element:e.Element,HTMLElement:e.HTMLElement,ShadowRoot:e.ShadowRoot,MouseEvent:e.MouseEvent,MutationObserver:e.MutationObserver,get innerWidth(){return e.innerWidth},get innerHeight(){return e.innerHeight},get scrollX(){return e.scrollX},get scrollY(){return e.scrollY},getComputedStyle:(t,n)=>e.getComputedStyle(t,n),matchMedia:t=>e.matchMedia(t),setTimeout:e.setTimeout.bind(e),clearTimeout:e.clearTimeout.bind(e),cancelAnimationFrame:e.cancelAnimationFrame.bind(e),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e),requestAnimationFrame:t};return Object.defineProperties(Object.create(null),Object.getOwnPropertyDescriptors(n))},Cg=(e,t)=>{let n=t.ownerWindow,r=!1,i=!1,a=null,o=Sg(n,e=>n.requestAnimationFrame(t=>{r=!0;try{e(t)}finally{r=!1}})),s=()=>{let n=t.currentToolMode?.()??`none`;return!r||e.state.get(`mesurer.presentation.preferences`)===void 0?n:i?n===`text-inspector`?`text-inspector`:`select`:n===`text-inspector`||Zf(e).keepTextChanges?`text-inspector`:`none`},c=()=>{let e=t.createInspectorMount();a?.disconnect();let r=()=>{i=!!e.element.querySelector(`[data-mesurer-text-editor='true']`)};return a=new n.MutationObserver(r),a.observe(e.element,{childList:!0,subtree:!0}),r(),{element:e.element,dispose(){a?.disconnect(),a=null,i=!1,e.dispose()}}};return e.lifecycle.onDispose(()=>{a?.disconnect(),a=null,i=!1,r=!1}),{...t,ownerWindow:o,currentToolMode:s,createInspectorMount:c}},wg=`var(--msr-color-ink-50, #f8fafc)`,Tg=`var(--msr-color-ink-100, #f1f5f9)`,Eg=`var(--msr-color-ink-200, #e2e8f0)`,Dg=`var(--msr-color-ink-500, #64748b)`,Og=`var(--msr-color-ink-700, #334155)`,kg=`var(--msr-content, #0f172a)`,Ag=`var(--msr-accent, #0d99ff)`,jg=8,Mg=8,Ng=(e,t)=>{let n=new Map,r=Array.from(e.children).filter(e=>e instanceof t.HTMLElement);for(let e=0;e+1<r.length;e+=2){let t=r[e],i=r[e+1],a=t.textContent?.trim();a&&n.set(a,{label:t,value:i})}return n},Pg=e=>Array.from(e.querySelectorAll(`span`)).map(e=>e.textContent?.trim()??``).find(e=>e.startsWith(`--`))??null;function Fg(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),s=o.item(o.length-1);if(!s)return;let c=!1,l=!1,u=0,d=0,f=null,p=()=>{if(c)return;let e=s.querySelector(`[data-mesurer-text-editor='true']`);e?.isConnected&&e.focus({preventScroll:!0})},m=()=>{r.setTimeout(p,0)},h=e=>{if(f?.isConnected&&f.contains(e))return f;f?.remove();let t=n.createElement(`div`);return t.dataset.mesurerTextInspectorPlacementShell=`true`,t.dataset.mesurerInspectorUi=`true`,Object.assign(t.style,{position:`fixed`,left:`0px`,top:`0px`,zIndex:`2147483647`,width:`max-content`,maxWidth:`calc(100vw - 16px)`,overflow:`visible`,pointerEvents:`auto`,transition:`none`,animation:`none`}),e.before(t),t.append(e),Object.assign(e.style,{position:`static`,left:`auto`,top:`auto`,transform:`none`,zIndex:`auto`,transition:`none`,animation:`none`}),f=t,t},g=()=>{f?.remove(),f=null},_=()=>{if(c)return;let e=s.querySelector(`[data-mesurer-text-inspector-info='true']`),t=i.querySelectorAll(`[data-mesurer-text-edit-ring='true']`),n=t.item(t.length-1);if(!e?.isConnected||!n?.isConnected)return;let a=h(e);if(a.dataset.mesurerNativeScrollOwner===`typography`&&a.dataset.mesurerNativeScrollAnchor===`offset`)return;Object.assign(e.style,{position:`static`,left:`auto`,top:`auto`,transform:`none`,boxSizing:`border-box`,maxHeight:`calc(100vh - 16px)`,overflowY:`auto`,transition:`none`,animation:`none`});let o=n.getBoundingClientRect(),l=e.getBoundingClientRect();if(l.width<=0||l.height<=0)return;let u=l.width,d=l.height,f=r.innerWidth-jg,p=r.innerHeight-jg,m=Math.max(jg,f-u),g=Math.max(jg,p-d),_=Math.min(Math.max(o.left+o.width/2-u/2,jg),m),v=Math.min(Math.max(o.top+o.height/2-d/2,jg),g),y=[{left:_,top:o.top-Mg-d,placement:`above`},{left:_,top:o.bottom+Mg,placement:`below`},{left:o.right+Mg,top:v,placement:`side`},{left:o.left-Mg-u,top:v,placement:`side`}],b=(e,t)=>e>=jg&&t>=jg&&e+u<=f&&t+d<=p,x=(e,t)=>{let n=Math.max(0,Math.min(e+u,o.right)-Math.max(e,o.left)),r=Math.max(0,Math.min(t+d,o.bottom)-Math.max(t,o.top));return n>0&&r>0},S=y.find(e=>b(e.left,e.top)&&!x(e.left,e.top));if(S){a.style.left=`${S.left}px`,a.style.top=`${S.top}px`,e.dataset.mesurerTextInspectorPlacement=S.placement;return}let C=[{name:`above`,top:jg,height:Math.max(0,o.top-Mg-jg)},{name:`below`,top:o.bottom+Mg,height:Math.max(0,p-o.bottom-Mg)}].sort((e,t)=>t.height-e.height)[0];if(C&&C.height>0){e.style.maxHeight=`${C.height}px`,a.style.left=`${_}px`,a.style.top=`${C.top}px`,e.dataset.mesurerTextInspectorPlacement=C.name;return}a.style.left=`${_}px`,a.style.top=`${jg}px`,e.dataset.mesurerTextInspectorPlacement=`viewport`},v=()=>{c||u||(u=r.requestAnimationFrame(()=>{u=0,_()}))},y=()=>{(f?.dataset.mesurerNativeScrollOwner!==`typography`||f.dataset.mesurerNativeScrollAnchor!==`offset`)&&v()},b=()=>{_(),v(),d&&r.clearTimeout(d),d=r.setTimeout(()=>{d=0,_(),v()},0)},x=e=>{Object.assign(e.style,{boxSizing:`border-box`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,color:Og,outline:`none`,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{e.style.borderColor=Eg}),e.addEventListener(`mouseleave`,()=>{n.activeElement!==e&&(e.style.borderColor=`transparent`)}),e.addEventListener(`focus`,()=>{e.style.borderColor=`transparent`,e.style.boxShadow=`inset 0 0 0 1px ${Ag}`}),e.addEventListener(`blur`,()=>{e.style.boxShadow=`none`,e.style.borderColor=`transparent`})},S=e=>{let t=n.createElement(`div`);t.dataset.mesurerUnifiedSelectShell=`true`,Object.assign(t.style,{position:`relative`,width:`100%`,minWidth:`0`,height:`28px`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),Object.assign(e.style,{appearance:`none`,WebkitAppearance:`none`,width:`100%`,minWidth:`0`,height:`100%`,boxSizing:`border-box`,border:`0`,borderRadius:`5px`,background:`transparent`,color:Og,font:`500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,padding:`0 27px 0 8px`,outline:`none`,cursor:`pointer`});let r=n.createElement(`span`);return r.dataset.mesurerUnifiedSelectChevron=`true`,r.setAttribute(`aria-hidden`,`true`),Object.assign(r.style,{position:`absolute`,right:`9px`,top:`8px`,width:`7px`,height:`7px`,borderRight:`1.5px solid ${Dg}`,borderBottom:`1.5px solid ${Dg}`,transform:`rotate(45deg)`,transformOrigin:`center`,pointerEvents:`none`}),t.addEventListener(`mouseenter`,()=>{t.style.borderColor=Eg}),t.addEventListener(`mouseleave`,()=>{n.activeElement!==e&&(t.style.borderColor=`transparent`)}),e.addEventListener(`focus`,()=>{t.style.borderColor=`transparent`,t.style.boxShadow=`inset 0 0 0 1px ${Ag}`}),e.addEventListener(`blur`,()=>{t.style.boxShadow=`none`,t.style.borderColor=`transparent`}),t.append(e,r),t},C=e=>{Object.assign(e.style,{width:`100%`,minWidth:`0`,height:`28px`,font:`500 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace`,padding:`0 8px`}),x(e)},w=e=>{let t=e.getAttribute(`aria-pressed`)===`true`;Object.assign(e.style,{width:`28px`,height:`28px`,border:`1px solid ${t?Ag:`transparent`}`,borderRadius:`5px`,background:t?`rgba(13, 153, 255, 0.10)`:wg,color:kg,padding:`0`,fontSize:`12px`,cursor:`pointer`,transition:`border-color 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{t||(e.style.borderColor=Eg)}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=t?Ag:`transparent`})},T=e=>{Object.assign(e.style,{display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`5px`,margin:`0`,padding:`0`,border:`0`});let t=Array.from(e.querySelectorAll(`[data-mesurer-text-color]`));for(let[e,n]of t.entries())Object.assign(n.style,{display:e<7?`block`:`none`,width:`20px`,height:`20px`,padding:`0`});let n=e.querySelector(`[data-mesurer-text-custom-color='true']`);n&&(Object.assign(n.style,{display:`block`,width:`28px`,height:`28px`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,padding:`3px`}),n.addEventListener(`mouseenter`,()=>{n.style.borderColor=Eg}),n.addEventListener(`mouseleave`,()=>{n.style.borderColor=`transparent`}))},E=e=>{Object.assign(e.style,{width:`100%`,minWidth:`0`,height:`28px`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,color:Og,padding:`0 8px`,font:`500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{e.style.borderColor=Eg}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=`transparent`}),e.addEventListener(`focus`,()=>{e.style.boxShadow=`inset 0 0 0 1px ${Ag}`}),e.addEventListener(`blur`,()=>{e.style.boxShadow=`none`})},D=(e,t)=>{let r=n.createElement(`div`);if(Object.assign(r.style,{display:`flex`,alignItems:`center`,gap:`7px`,minWidth:`0`}),e.style.flex=`1 1 auto`,r.append(e),t){let e=n.createElement(`span`);e.textContent=t,e.title=t,Object.assign(e.style,{flex:`0 1 auto`,minWidth:`0`,maxWidth:`104px`,overflow:`hidden`,textOverflow:`ellipsis`,color:`#0369a1`,font:`500 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace`}),r.append(e)}return r},O=(e,t,n)=>{if(!n)return;let r=e.get(t);if(!r)return;let i=Pg(r.value);r.value.replaceChildren(D(n,i)),Object.assign(r.value.style,{overflow:`visible`,textOverflow:`clip`,whiteSpace:`normal`,fontFamily:`inherit`})},k=(e,t,r)=>{if(!r)return;let i=n.createElement(`span`);i.textContent=t,i.dataset.mesurerUnifiedTextRow=`true`,Object.assign(i.style,{color:Dg,fontSize:`11px`,alignSelf:`center`});let a=n.createElement(`div`);a.dataset.mesurerUnifiedTextRow=`true`,a.append(r),Object.assign(a.style,{minWidth:`0`,display:`flex`,alignItems:`center`}),e.append(i,a)},A=e=>{let t=e.target instanceof a.HTMLElement?e.target:null;if(!t||!s.contains(t))return;let n=t.closest(`[data-mesurer-text-style-menu-button='true']`);if(n){n.getAttribute(`aria-expanded`)===`true`&&p(),r.setTimeout(()=>{c||s.querySelector(`[data-mesurer-text-style-menu-button='true']`)?.getAttribute(`aria-expanded`)===`false`&&p()},0);return}t.closest(`[data-mesurer-text-style-button], [data-mesurer-text-color], [data-mesurer-text-style-preset]`)&&(p(),m())},j=e=>{let t=e.target instanceof a.HTMLElement?e.target:null;!t||!s.contains(t)||t.matches(`[data-mesurer-text-style-select], [data-mesurer-text-custom-color='true']`)&&(p(),m())},M=e=>{if(e.key!==`Enter`)return;let t=e.target instanceof a.HTMLElement?e.target:null;!t||!s.contains(t)||t.matches(`[data-mesurer-text-style-input]`)&&(p(),m())},N=()=>{if(!(c||l)){l=!0;try{let e=s.querySelector(`[data-mesurer-text-editor='true']`),t=s.querySelector(`[data-mesurer-text-style-toolbar='true']`),r=s.querySelector(`[data-mesurer-text-style-menu='true']`),i=s.querySelector(`[data-mesurer-text-inspector-info='true']`);if(!i){g();return}if(!e||!t||!r)return;let o=i.children.item(1);if(!(o instanceof a.HTMLElement))return;if(t.querySelector(`[data-mesurer-text-style-menu-button='true']`))for(let e of i.querySelectorAll(`[data-mesurer-unified-text-row='true'], [data-mesurer-unified-text-presets='true']`))e.remove();let c=Ng(o,a);i.dataset.mesurerTextInspectorUnified=`true`,i.setAttribute(`aria-label`,`Typography editor`),i.removeAttribute(`aria-hidden`),i.style.removeProperty(`visibility`),Object.assign(i.style,{pointerEvents:`auto`,position:`static`,left:`auto`,top:`auto`,transform:`none`,zIndex:`auto`,boxSizing:`border-box`,width:`min(360px, calc(100vw - 16px))`,minWidth:`0`,maxWidth:`calc(100vw - 16px)`,maxHeight:`calc(100vh - 16px)`,overflowY:`auto`,padding:`11px 12px 12px`,whiteSpace:`normal`,transition:`none`,animation:`none`}),h(i),Object.assign(o.style,{gridTemplateColumns:`72px minmax(0, 1fr)`,columnGap:`10px`,rowGap:`7px`,alignItems:`center`});let l=t.querySelector(`[data-mesurer-text-style-select='font']`),u=t.querySelector(`[data-mesurer-text-style-select='size']`),d=t.querySelector(`[data-mesurer-text-style-select='weight']`),f=t.querySelector(`[data-mesurer-text-style-input='line']`),p=t.querySelector(`[data-mesurer-text-style-input='tracking']`),m=l?S(l):null,_=u?S(u):null,v=d?S(d):null;for(let e of[f,p])e&&C(e);O(c,`Family`,m),O(c,`Size`,_),O(c,`Weight`,v),O(c,`Line`,f),O(c,`Tracking`,p);let y=n.createElement(`div`);y.dataset.mesurerUnifiedTextFormat=`true`,Object.assign(y.style,{display:`flex`,alignItems:`center`,gap:`5px`});for(let e of Array.from(t.querySelectorAll(`[data-mesurer-text-style-button]`)))w(e),y.append(e);k(o,`Format`,y.childElementCount?y:null);let x=t.querySelector(`[data-mesurer-text-color-swatches='true']`);x&&T(x),k(o,`Color`,x);let D=t.querySelector(`[data-mesurer-text-style-menu-button='true']`);if(D&&E(D),k(o,`Style`,D),D?.getAttribute(`aria-expanded`)===`true`){let e=n.createElement(`div`);e.dataset.mesurerUnifiedTextPresets=`true`,Object.assign(e.style,{display:`grid`,gap:`3px`,marginTop:`9px`,paddingTop:`8px`,borderTop:`1px solid ${Tg}`});for(let t of Array.from(r.querySelectorAll(`[data-mesurer-text-style-preset]`)))t.style.width=`100%`,t.style.minHeight=`34px`,e.append(t);e.childElementCount&&i.append(e)}t.style.display=`none`,t.setAttribute(`aria-hidden`,`true`),r.style.display=`none`,r.setAttribute(`aria-hidden`,`true`),b()}finally{l=!1}}};s.addEventListener(`click`,A,!0),s.addEventListener(`change`,j,!0),s.addEventListener(`keydown`,M,!0),r.addEventListener(`resize`,v),r.addEventListener(`scroll`,y,{capture:!0,passive:!0});let P=new a.MutationObserver(N);P.observe(s,{childList:!0,subtree:!0}),N(),e.lifecycle.onDispose(()=>{c=!0,P.disconnect(),u&&r.cancelAnimationFrame(u),d&&r.clearTimeout(d),s.removeEventListener(`click`,A,!0),s.removeEventListener(`change`,j,!0),s.removeEventListener(`keydown`,M,!0),r.removeEventListener(`resize`,v),r.removeEventListener(`scroll`,y,!0),g()})}var Ig=4,Lg=4,Rg=220,zg=60,Bg=(e,t,n)=>Math.min(Math.max(e,t),n);function Vg(e,t){let{ownerWindow:n,portalTarget:r}=t,i=n,a=e=>{if(e.key!==`Escape`)return;let t=e.composedPath().find(e=>e instanceof i.HTMLElement&&e.dataset.mesurerUnifiedSelectPopup===`true`),n=t instanceof i.HTMLElement?t:r.querySelector(`[data-mesurer-unified-select-popup='true']`);if(!n)return;let a=n.dataset.mesurerUnifiedSelectKind;if(!a)return;let o=n.closest(`[data-mesurer-text-inspector-info='true']`)?.querySelectorAll(`[data-mesurer-unified-select-trigger]`)??r.querySelectorAll(`[data-mesurer-unified-select-trigger]`),s=Array.from(o).find(e=>e.dataset.mesurerUnifiedSelectTrigger===a);s&&(e.preventDefault(),e.stopImmediatePropagation(),s.click())};n.addEventListener(`keydown`,a,!0),e.lifecycle.onDispose(()=>{n.removeEventListener(`keydown`,a,!0)})}function Hg(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),s=o.item(o.length-1);if(!s)return;let c=!1,l=!1,u=0,d=null,f=new Map,p=e=>{let t=e.dataset.mesurerUnifiedSelectKind;return t?Array.from(s.querySelectorAll(`[data-mesurer-unified-select-trigger]`)).find(e=>e.dataset.mesurerUnifiedSelectTrigger===t)??null:null},m=e=>{if(e.dataset.mesurerUnifiedSelectKind===`font`)for(let t of e.querySelectorAll(`[data-mesurer-unified-select-option]`)){let e=t.dataset.mesurerUnifiedSelectOption;e&&t.setAttribute(`aria-label`,e)}},h=()=>{let e=d;if(e?.isConnected)for(let[t,n]of f){if(!t.isConnected||!e.contains(t)){f.delete(t);continue}let r=n.left-e.scrollLeft,i=n.top-e.scrollTop;t.style.transform=r===0&&i===0?`none`:`translate(${r}px, ${i}px)`}},g=e=>{d!==e&&(d?.removeEventListener(`scroll`,h),f.clear(),d=e,d?.addEventListener(`scroll`,h,{passive:!0}))},_=(e,t,n)=>{let r=p(e);if(!r?.isConnected)return;let i=r.getBoundingClientRect(),a=t.getBoundingClientRect(),o=n.getBoundingClientRect();if(i.width<=0||i.height<=0||a.width<=0||a.height<=0||o.width<=0||o.height<=0)return;e.style.position=`absolute`,e.style.inset=`auto`,e.style.margin=`0`,e.style.pointerEvents=`auto`,e.style.zIndex=`2147483647`,e.style.transform=`none`;let s=Math.max(1,o.width-8),c=Math.min(Math.max(i.width,120),s);e.style.width=`${c}px`,e.style.maxWidth=`${s}px`;let l=Math.max(1,o.height-8),u=Math.min(Rg,Math.max(zg,e.scrollHeight)),d=Math.min(u,l);e.style.maxHeight=`${d}px`;let m=o.left-a.left,h=o.top-a.top,g=i.left-a.left,_=i.top-a.top,v=i.bottom-a.top,y=Math.max(0,_-h-Ig-Lg),b=o.bottom-a.top,x=Math.max(0,b-v-Ig-Lg),S=x>=d||x>=y?v+Ig:_-Ig-d,C=m+Lg,w=Math.max(C,m+o.width-Lg-c),T=h+Lg,E=Math.max(T,h+o.height-Lg-d);e.style.left=`${Bg(g,C,w)}px`,e.style.top=`${Bg(S,T,E)}px`,f.set(e,{left:n.scrollLeft,top:n.scrollTop})},v=()=>{if(!(c||l)){l=!0;try{let e=s.querySelector(`[data-mesurer-text-inspector-placement-shell='true']`),t=s.querySelector(`[data-mesurer-text-inspector-info='true'][data-mesurer-text-inspector-unified='true']`);if(!e||!t){g(null);return}g(t);for(let e of Array.from(f.keys()))(!e.isConnected||!t.contains(e))&&f.delete(e);for(let r of Array.from(s.querySelectorAll(`[data-mesurer-unified-select-popup='true']`))){let i=n.activeElement,o=i instanceof a.HTMLElement&&r.contains(i)?i:null;(r.parentElement!==t||t.lastElementChild!==r)&&(t.append(r),o?.isConnected&&o.focus({preventScroll:!0})),m(r),_(r,e,t)}}finally{l=!1}}},y=()=>{v(),!(c||u)&&(u=r.requestAnimationFrame(()=>{u=0,v()}))},b=new a.MutationObserver(y);b.observe(s,{childList:!0,subtree:!0}),r.addEventListener(`resize`,y),y(),e.lifecycle.onDispose(()=>{c=!0,b.disconnect(),u&&r.cancelAnimationFrame(u),r.removeEventListener(`resize`,y),g(null)})}var Ug=`var(--msr-color-ink-50, #f8fafc)`,Wg=`var(--msr-color-ink-100, #f1f5f9)`,Gg=`var(--msr-color-ink-200, #e2e8f0)`,Kg=`var(--msr-color-ink-500, #64748b)`,qg=`var(--msr-color-ink-700, #334155)`,Jg=`var(--msr-content, #0f172a)`,Yg=`var(--msr-accent, #0d99ff)`,Xg=8,Zg=4;function Qg(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),s=o.item(o.length-1);if(!s)return;let c=!1,l=!1,u=null,d=(e=!1)=>{let t=u;if(!t)return;t.popup.remove(),t.trigger.setAttribute(`aria-expanded`,`false`),t.chevron?.style.setProperty(`transform`,`rotate(45deg)`);let n=t.trigger.closest(`[data-mesurer-unified-select-shell='true'], [data-mesurer-unified-style-shell='true']`);n&&(n.style.boxShadow=`none`,n.style.borderColor=`transparent`),u=null,e&&t.trigger.isConnected&&t.trigger.focus({preventScroll:!0})},f=()=>{if(!u?.trigger.isConnected||!u.popup.isConnected){d();return}let e=u.trigger.getBoundingClientRect(),t=u.popup.getBoundingClientRect(),n=Math.max(e.width,Math.min(260,t.width||e.width));u.popup.style.width=`${n}px`;let i=u.popup.getBoundingClientRect(),a=r.innerWidth-Xg,o=r.innerHeight-Xg,s=Math.max(Xg,a-i.width),c=Math.min(Math.max(e.left,Xg),s),l=e.bottom+Zg,f=e.top-Zg-i.height,p=l+i.height<=o||f<Xg?Math.min(l,Math.max(Xg,o-i.height)):f;u.popup.style.left=`${c}px`,u.popup.style.top=`${Math.max(Xg,p)}px`},p=e=>{let t=n.createElement(`button`);t.type=`button`,t.dataset.mesurerUnifiedSelectOption=e.key,t.setAttribute(`role`,`option`),t.setAttribute(`aria-selected`,e.selected?`true`:`false`),t.disabled=e.disabled,Object.assign(t.style,{width:`100%`,minHeight:`30px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`12px`,boxSizing:`border-box`,border:`0`,borderRadius:`5px`,background:e.selected?Wg:`transparent`,color:e.disabled?Kg:Jg,padding:`0 9px`,textAlign:`left`,font:`${e.selected?`600`:`500`} 11px/1.2 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,cursor:e.disabled?`default`:`pointer`,opacity:e.disabled?`0.55`:`1`,pointerEvents:`auto`});let r=n.createElement(`span`);if(r.textContent=e.label,Object.assign(r.style,{minWidth:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}),t.append(r),e.shortcut){let r=n.createElement(`span`);r.textContent=e.shortcut,Object.assign(r.style,{flex:`0 0 auto`,color:Kg,font:`500 10px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,whiteSpace:`nowrap`}),t.append(r)}return t.addEventListener(`mouseenter`,()=>{e.disabled||(t.style.background=e.selected?Wg:Ug)}),t.addEventListener(`mouseleave`,()=>{t.style.background=e.selected?Wg:`transparent`}),t.addEventListener(`click`,()=>{e.disabled||(e.activate(),d())}),t.addEventListener(`keydown`,e=>{if(e.key===`Escape`){e.preventDefault(),d(!0);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;e.preventDefault();let n=t.closest(`[data-mesurer-unified-select-popup='true']`);if(!n)return;let r=Array.from(n.querySelectorAll(`[data-mesurer-unified-select-option]`)).filter(e=>!e.disabled),i=r.indexOf(t);i<0||r.length===0||r[(i+(e.key===`ArrowDown`?1:-1)+r.length)%r.length]?.focus({preventScroll:!0})}),t},m=(e,t,r)=>{if(u?.trigger===e){d(!0);return}d();let i=n.createElement(`div`);i.dataset.mesurerUnifiedSelectPopup=`true`,i.dataset.mesurerUnifiedSelectKind=e.dataset.mesurerUnifiedSelectTrigger??`select`,i.dataset.mesurerInspectorUi=`true`,i.setAttribute(`role`,`listbox`),Object.assign(i.style,{position:`fixed`,zIndex:`2147483647`,minWidth:`120px`,maxWidth:`min(260px, calc(100vw - 16px))`,maxHeight:`220px`,overflowY:`auto`,boxSizing:`border-box`,border:`1px solid ${Gg}`,borderRadius:`8px`,background:`var(--msr-surface-raised, #ffffff)`,padding:`4px`,boxShadow:`var(--msr-shadow-select-menu, 0 8px 24px rgba(15, 23, 42, 0.14), 0 2px 6px rgba(15, 23, 42, 0.08))`,pointerEvents:`auto`});for(let e of r)i.append(p(e));s.append(i),e.setAttribute(`aria-expanded`,`true`),t?.style.setProperty(`transform`,`rotate(225deg)`);let a=e.closest(`[data-mesurer-unified-select-shell='true'], [data-mesurer-unified-style-shell='true']`);a&&(a.style.borderColor=`transparent`,a.style.boxShadow=`inset 0 0 0 1px ${Yg}`),u={popup:i,trigger:e,chevron:t},f(),(i.querySelector(`[aria-selected='true']:not(:disabled)`)??i.querySelector(`[data-mesurer-unified-select-option]:not(:disabled)`))?.focus({preventScroll:!0})},h=(e,t)=>{Object.assign(e.style,{position:`absolute`,inset:`0`,zIndex:`1`,width:`100%`,height:`100%`,boxSizing:`border-box`,border:`0`,borderRadius:`5px`,background:`transparent`,color:qg,padding:`0 28px 0 8px`,textAlign:`left`,font:`500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,cursor:`pointer`,outline:`none`}),e.addEventListener(`focus`,()=>{t.style.borderColor=`transparent`,t.style.boxShadow=`inset 0 0 0 1px ${Yg}`}),e.addEventListener(`blur`,()=>{u?.trigger!==e&&(t.style.boxShadow=`none`)})},g=e=>{let t=e.closest(`[data-mesurer-unified-select-shell='true']`);if(!t||t.dataset.mesurerUnifiedCustomSelect===`true`)return;t.dataset.mesurerUnifiedCustomSelect=`true`,Object.assign(e.style,{position:`absolute`,inset:`0`,width:`100%`,height:`100%`,opacity:`0`,pointerEvents:`none`}),e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`);let r=e.dataset.mesurerTextStyleSelect??e.getAttribute(`aria-label`)??`select`,i=n.createElement(`button`);i.type=`button`,i.dataset.mesurerUnifiedSelectTrigger=r,i.setAttribute(`aria-haspopup`,`listbox`),i.setAttribute(`aria-expanded`,`false`),i.setAttribute(`aria-label`,e.getAttribute(`aria-label`)??r);let o=t.querySelector(`[data-mesurer-unified-select-chevron='true']`);o&&(o.style.zIndex=`2`),h(i,t);let s=()=>{let t=e.selectedOptions.item(0);i.textContent=t?.textContent?.trim()||e.value};s(),e.addEventListener(`change`,s);let c=()=>Array.from(e.options).map(t=>({key:t.value,label:t.textContent?.trim()||t.value,shortcut:null,selected:t.selected,disabled:t.disabled,activate:()=>{if(e.value===t.value){d();return}e.value=t.value,e.dispatchEvent(new a.Event(`input`,{bubbles:!0})),e.dispatchEvent(new a.Event(`change`,{bubbles:!0})),s()}}));i.addEventListener(`click`,()=>m(i,o,c())),i.addEventListener(`keydown`,e=>{if(e.key===`Escape`){d(!0);return}[`Enter`,` `,`ArrowDown`,`ArrowUp`].includes(e.key)&&(e.preventDefault(),m(i,o,c()))}),o?t.insertBefore(i,o):t.append(i)},_=e=>{let t=e.querySelector(`[data-mesurer-text-style-menu-button='true']:not([data-mesurer-unified-select-trigger='style'])`);if(!t||t.dataset.mesurerUnifiedCustomStyle===`true`)return;t.dataset.mesurerUnifiedCustomStyle=`true`,delete t.dataset.mesurerTextStyleMenuButton,t.style.display=`none`,t.tabIndex=-1,t.setAttribute(`aria-hidden`,`true`);for(let t of e.querySelectorAll(`[data-mesurer-unified-text-presets='true']`))t.remove();let r=t.parentElement;if(!r)return;let i=n.createElement(`div`);i.dataset.mesurerUnifiedStyleShell=`true`,Object.assign(i.style,{position:`relative`,width:`100%`,minWidth:`0`,height:`28px`,boxSizing:`border-box`,border:`1px solid transparent`,borderRadius:`5px`,background:Ug,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`});let a=n.createElement(`button`);a.type=`button`,a.dataset.mesurerUnifiedSelectTrigger=`style`,a.dataset.mesurerTextStyleMenuButton=`true`,a.setAttribute(`aria-haspopup`,`listbox`),a.setAttribute(`aria-expanded`,`false`),a.setAttribute(`aria-label`,`Text style`),h(a,i),i.addEventListener(`mouseenter`,()=>{i.style.borderColor=Gg}),i.addEventListener(`mouseleave`,()=>{u?.trigger!==a&&n.activeElement!==a&&(i.style.borderColor=`transparent`)});let o=n.createElement(`span`);o.dataset.mesurerUnifiedSelectChevron=`true`,o.setAttribute(`aria-hidden`,`true`),Object.assign(o.style,{position:`absolute`,zIndex:`2`,right:`9px`,top:`8px`,width:`7px`,height:`7px`,borderRight:`1.5px solid ${Kg}`,borderBottom:`1.5px solid ${Kg}`,transform:`rotate(45deg)`,transformOrigin:`center`,pointerEvents:`none`});let c=s.querySelector(`[data-mesurer-text-style-menu='true']`),l=()=>c?Array.from(c.querySelectorAll(`[data-mesurer-text-style-preset]`)):[],f=()=>{let e=l(),t=e.find(e=>e.getAttribute(`aria-current`)===`true`)??e[0];a.textContent=t?.getAttribute(`aria-label`)??`Text`};f();let p=()=>l().map(e=>({key:e.dataset.mesurerTextStylePreset??e.getAttribute(`aria-label`)??`preset`,label:e.getAttribute(`aria-label`)??e.textContent?.trim()??`Text`,shortcut:e.lastElementChild?.textContent?.trim()||null,selected:e.getAttribute(`aria-current`)===`true`,disabled:e.disabled,activate:()=>{e.click(),f()}}));a.addEventListener(`click`,()=>m(a,o,p())),a.addEventListener(`keydown`,e=>{if(e.key===`Escape`){d(!0);return}[`Enter`,` `,`ArrowDown`,`ArrowUp`].includes(e.key)&&(e.preventDefault(),m(a,o,p()))}),i.append(a,o),r.append(i)},v=()=>{if(!(c||l)){l=!0;try{let e=s.querySelector(`[data-mesurer-text-inspector-info='true'][data-mesurer-text-inspector-unified='true']`);if(!e){d();return}for(let t of Array.from(e.querySelectorAll(`[data-mesurer-text-style-select]`)))g(t);_(e)}finally{l=!1}}},y=e=>{if(!u)return;let t=e.composedPath();t.includes(u.popup)||t.includes(u.trigger)||d()},b=()=>f();r.addEventListener(`pointerdown`,y,!0),r.addEventListener(`resize`,b);let x=new a.MutationObserver(v);x.observe(s,{childList:!0,subtree:!0}),v(),e.lifecycle.onDispose(()=>{c=!0,x.disconnect(),d(),r.removeEventListener(`pointerdown`,y,!0),r.removeEventListener(`resize`,b)})}function $g(e,t){wm(e,t);let{runtime:n}=ym(t);Qh(e,n),Vg(e,n),oh(e,Cg(e,n)),Gh(e,n),Fg(e,n),ag(e,n,t.portalTarget),dh(e,n,t),$h(e,n),Qg(e,n),Hg(e,n),_m(e,n),Dm(e,n),Lh(e,n,t.portalTarget),xg(e,n,t.portalTarget)}var e_=1,t_=(e,t)=>{if(!t)return[];try{let n=e.sessionStorage.getItem(t);if(!n)return[];let r=JSON.parse(n);return r.version!==e_||!Array.isArray(r.annotations)?[]:r.annotations.map(n_)}catch{return[]}},n_=e=>({...e,anchor:e.anchor.kind===`elements`?{kind:`elements`,region:e.anchor.region?$i(e.anchor.region):null,targets:e.anchor.targets.map(e=>({...e,fingerprint:{...e.fingerprint,classes:[...e.fingerprint.classes]},lastRect:$i(e.lastRect)}))}:{kind:`region`,rect:$i(e.anchor.rect)},baseline:{targets:e.baseline.targets.map(e=>({...e,rect:$i(e.rect)})),guides:e.baseline.guides.map(e=>({...e})),measurements:e.baseline.measurements.map(e=>({...e,rect:$i(e.rect)})),distances:e.baseline.distances.map(e=>({...e,rectA:$i(e.rectA),rectB:$i(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null}))}}),r_=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,i_=e=>{let t=new Set,n=[];for(let r of e.current.selectedMeasurements){let e=r.elementRef;!e?.isConnected||t.has(e)||(t.add(e),n.push(e))}let r=e.current.selectedMeasurement?.elementRef;return r?.isConnected&&!t.has(r)&&n.push(r),n};function a_(e){let{model:t,ownerDocument:n,ownerWindow:r,uiRoot:i}=e,a=r,o=e.pageTarget??n.body??n.documentElement,s=o instanceof a.ShadowRoot?o:o.getRootNode(),c=s instanceof a.ShadowRoot?s:n,l=o,u=fs(r),d=()=>e.persistenceKey?`${e.persistenceKey}:${u}`:void 0,f=()=>e.persistenceKey?`${e.persistenceKey}${r.location.pathname}`:void 0,p=()=>{let e=d();if(!e)return{annotations:[],migrated:!1};try{if(r.sessionStorage.getItem(e)!==null)return{annotations:t_(r,e),migrated:!1}}catch{return{annotations:[],migrated:!1}}let t=f();if(!t)return{annotations:[],migrated:!1};let n=t_(r,t);return{annotations:n,migrated:n.length>0}},m=p(),h=m.annotations,g=m.migrated,_=new Set,v=new Map,y=new Map,b=new Map,x=!1,S=0,C=null,w=!1,T=(e,t)=>`${e}:${t}`,E=e=>Ru(e,o),D=e=>{let t=[];o instanceof a.HTMLElement&&o.matches(e)&&t.push(o);for(let n of c.querySelectorAll(e))n instanceof a.Element&&E(n)&&t.push(n);return t},O=()=>{let e=d();if(e)try{if(h.length===0){r.sessionStorage.removeItem(e);return}r.sessionStorage.setItem(e,JSON.stringify({version:e_,annotations:h.map(n_)}))}catch{}};g&&=(O(),!1);let k=()=>{for(let e of _)e()},A=e=>{if(!Hu(e.fingerprint))return null;let t=[];try{t=D(e.selector)}catch{return null}let n=t.filter(t=>Uu(t,e.fingerprint));if(n.length===1){if(!e.fingerprint.id&&!e.fingerprint.testId){let t=[];try{t=D(e.fingerprint.tag).filter(t=>Uu(t,e.fingerprint))}catch{return null}if(t.length!==1||t[0]!==n[0])return null}return n[0]??null}if(t.length!==1||e.fingerprint.id||e.fingerprint.testId)return null;let r=t[0];if(!r||r.localName!==e.fingerprint.tag)return null;let i=ku(r),a=e.lastRect,o=Math.max(4,Math.max(a.width,a.height)*.05),s=Math.max(2,Math.max(a.width,a.height)*.03);return Math.abs(i.left-a.left)<=o&&Math.abs(i.top-a.top)<=o&&Math.abs(i.width-a.width)<=s&&Math.abs(i.height-a.height)<=s?r:null},j=(e,t)=>{let n=T(e,t.id),r=y.get(n);if(r?.isConnected&&E(r))return r;r&&y.delete(n);let i=A(t);return i&&y.set(n,i),i},M=()=>{let e=!1;for(let t of h)if(t.anchor.kind===`elements`)for(let n of t.anchor.targets){let r=T(t.id,n.id),i=j(t.id,n),a=!!i;if(b.get(r)!==a&&(b.set(r,a),e=!0),!i)continue;let o=ku(i);(o.left!==n.lastRect.left||o.top!==n.lastRect.top||o.width!==n.lastRect.width||o.height!==n.lastRect.height)&&(n.lastRect=o,e=!0)}e&&(O(),k())},N=()=>{S||x||h.length===0||(S=r.requestAnimationFrame(()=>{S=0,M()}))},P=()=>{w||x||h.length===0||(w=!0,C=new a.MutationObserver(N),C.observe(l,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`,`style`]}),r.addEventListener(`resize`,N),r.addEventListener(`scroll`,N,!0),o.addEventListener(`scroll`,N,!0))},F=()=>{w&&(w=!1,C?.disconnect(),C=null,r.removeEventListener(`resize`,N),r.removeEventListener(`scroll`,N,!0),o.removeEventListener(`scroll`,N,!0),S&&r.cancelAnimationFrame(S),S=0)};h.length>0&&(M(),P());let I=gs(r,e=>{if(e===u||x)return;O(),F(),y.clear(),b.clear(),u=e,h.length=0;let t=p();h.push(...t.annotations),t.migrated&&O(),h.length>0&&(M(),P()),k()}),L=t.subscribe(k),R=()=>({guides:t.current.guides,measurements:t.current.measurements,activeMeasurement:t.current.activeMeasurement,distances:t.current.heldDistances}),z=e=>aa({...e,workspace:R(),guideTolerance:10}),B=(e,t)=>({id:`target-${t+1}`,selector:Bu(e),fingerprint:Vu(e),lastRect:ku(e)}),ee=e=>{let n=[],i=new Set;for(let t of e){let e=t.trim();!e||i.has(e)||(i.add(e),n.push(e))}if(!n.length)throw Error(`Mesurer select() requires at least one selector.`);let a=n.map(e=>{let t;try{t=D(e)}catch{throw Error(`Invalid Mesurer selection selector: ${e}`)}if(t.length===0)throw Error(`Mesurer selection target not found: ${e}`);if(t.length>1)throw Error(`Mesurer selection target is ambiguous (${t.length} matches): ${e}`);return t[0]});t.checkpoint(),t.setEnabled(!0),t.setToolMode(`select`);let o=a.map(e=>Wu(e,r));return t.setSelectedMeasurements(o,o.at(-1)??null),t.setTransient({selectionOriginRect:null}),a},V=(e,t=[])=>(h.push(e),e.anchor.kind===`elements`&&e.anchor.targets.forEach((n,r)=>{let i=t[r],a=T(e.id,n.id);i&&E(i)&&y.set(a,i),b.set(a,!!(i&&E(i)))}),P(),O(),k(),n_(e)),te=(e,t)=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=$i(t);return V({id:r_(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`region`,rect:i},baseline:z({targets:[],region:i})})},H=e=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=i_(t).filter(E),a=t.current.selectionOriginRect?$i(t.current.selectionOriginRect):null;if(!i.length){if(!a)throw Error(`Select a page element or drag a region before adding an annotation.`);return te(n,a)}let o=i.map(B);return V({id:r_(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`elements`,targets:o,region:a},baseline:z({targets:o,elements:i})},i)},ne=()=>{for(let[e,t]of v)t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`);v.clear()};return{snapshot(){return{enabled:t.current.enabled,rulersVisible:t.current.rulersVisible,xrayVisible:t.current.xrayVisible,guideRelevanceTolerance:10,selectedMeasurements:[...t.current.selectedMeasurements],selectionOriginRect:t.current.selectionOriginRect?$i(t.current.selectionOriginRect):null,measurements:[...t.current.measurements],activeMeasurement:t.current.activeMeasurement,heldDistances:[...t.current.heldDistances],guides:t.current.guides.map(e=>({...e})),annotations:h.map(n_)}},currentSelection(){return{elements:i_(t).filter(E),region:t.current.selectionOriginRect?$i(t.current.selectionOriginRect):null}},selectGestureActive(){return t.current.toolMode===`select`&&t.current.start!==null},select:ee,hoveredElement(){return t.current.hoverElement?.isConnected&&E(t.current.hoverElement)?t.current.hoverElement:null},annotations(){return h.map(n_)},annotation(e){let t=h.find(t=>t.id===e);if(!t)return null;let n=n_(t),r=[];if(n.anchor.kind===`elements`&&t.anchor.kind===`elements`){let e=t.anchor.targets;r=n.anchor.targets.map((n,r)=>({target:n,element:j(t.id,e[r])}))}return{...n,resolvedTargets:r}},annotationRect(e){let t=h.find(t=>t.id===e);if(!t)return null;if(t.anchor.kind===`region`)return $i(t.anchor.rect);let n=t.anchor.targets.map(e=>j(t.id,e)?.getBoundingClientRect()).filter(e=>e!==void 0);if(!n.length){let e=ta(t.anchor.targets.map(e=>e.lastRect));return e?$i(e):null}return ta(n.map(e=>({left:e.left,top:e.top,width:e.width,height:e.height})))},addSelectionAnnotation:H,addRegionAnnotation:te,removeAnnotation(e){let t=h.findIndex(t=>t.id===e);if(t<0)return;let[n]=h.splice(t,1);if(n.anchor.kind===`elements`)for(let e of n.anchor.targets){let t=T(n.id,e.id);y.delete(t),b.delete(t)}h.length===0&&F(),O(),k()},subscribe(e){return _.add(e),()=>_.delete(e)},prepareCapture(){let e=[`[data-mesurer-layer='chrome']`,`[data-mesurer-toolbar='true']`,`[data-mesurer-extension-toolbar='true']`,`[data-mesurer-inspector-ui='true']:not([data-mesurer-layer='evidence'])`,`.mesurer-color-picker`].join(`,`),t=new Set;i&&t.add(i),t.add(n);for(let n of t)for(let t of n.querySelectorAll(e))v.has(t)||(v.set(t,{value:t.style.getPropertyValue(`display`),priority:t.style.getPropertyPriority(`display`)}),t.style.setProperty(`display`,`none`,`important`))},finishCapture(){ne()},dispose(){x||(x=!0,F(),I(),L(),ne(),y.clear(),b.clear(),h.length=0,_.clear())}}}var o_=[`select`,`xray`,`color-picker`,`rulers`,`text-inspector`,`guides`,`settings`],s_=`mesurer-plugin-settings`,c_=1,l_=e=>(e.startsWith(`mesurer.`)?e.slice(8):e).split(/[.-]/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(` `)||e,u_=e=>`create`in e&&typeof e.create==`function`,d_=e=>e===`select`||e===`xray`||e===`color-picker`||e===`rulers`||e===`text-inspector`||e===`guides`||e===`distance`||e===`settings`,f_=e=>`builtin.${e}`,p_=(e,t)=>{let n=t.toLowerCase().replaceAll(`cmd`,`meta`).split(`+`).map(e=>e.trim()).filter(Boolean);if(!n.length)return!1;let r=n.at(-1),i=new Set(n.slice(0,-1)),a=i.has(`mod`),o=i.has(`meta`),s=i.has(`ctrl`)||i.has(`control`),c=i.has(`shift`),l=i.has(`alt`)||i.has(`option`);return(a?!(e.metaKey||e.ctrlKey):o!==e.metaKey||s!==e.ctrlKey)||c!==e.shiftKey||l!==e.altKey||!a&&!o&&!s&&(e.metaKey||e.ctrlKey)?!1:e.key.toLowerCase()===r};function m_(e){let t=bt(()=>e.pluginHost),n=t??ya(),r=!t,i=bt(()=>e.version??`0.1.0`),a=t=>e.version&&t.id.startsWith(`mesurer.`)?{...t,version:i}:t,o=new Set(bt(()=>e.excludePlugins??[])),s=bt(()=>Zp([],e.excludePlugins??[]).map(a)),c=new Map;for(let[t,n]of bt(()=>[...e.plugins??[]]).entries()){if(u_(n)){c.set(n.id,{...n,label:n.label??l_(n.id),order:n.order??1e3+t});continue}let e=a(n);c.set(e.id,{id:e.id,label:l_(e.id),order:1e3+t,enabled:!0,create:()=>e})}let l=new Set;for(let e of c.values())e.enabled!==!1&&l.add(e.id);let u=new Map([...c.values()].map(e=>[e.id,new Set(e.settingsIds??[])])),d=new Map,f=new Map,p=new Set,m=new Map,h=null,g=null,_=()=>void 0,v=async()=>void 0,[y,b]=K(0),[x,S]=K(!1),C=e=>(y(),n.tools().find(t=>(t.builtin===e||t.id===e)&&t.command!==f_(e))),w=e=>(y(),x()?e===`distance`?n.overlays().some(t=>t.builtin===e||t.id===e):n.tools().some(t=>t.builtin===e||t.id===e):!o.has(e)),T=()=>(y(),n.state.get(`mesurer.arrange.active`)??!1),E=e=>T()&&(e===`color-picker`||e===`text-inspector`||e===`guides`),D=G(()=>(y(),n.tools().filter(e=>e.hidden?.()?!1:!e.builtin||!d_(e.builtin)||e.command!==f_(e.builtin)))),O=G(()=>{y();let e=n.settings();return[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0)).map(t=>{let r=u.get(t.id)??new Set,i=new Set(t.hiddenSettingsControlIds??[]),a=e.filter(e=>r.has(e.id)).map(e=>({...e,controls:(e.controls??[]).filter(e=>!i.has(e.id))})).filter(e=>(e.controls?.length??0)>0);return{id:t.id,label:t.label??l_(t.id),enabled:n.has(t.id),busy:p.has(t.id),sections:a}})}),k=G(()=>(y(),n.settings().filter(e=>e.id===Yf))),A=()=>{y();let e=[];for(let t of o_)(!w(t)||C(t))&&e.push(`[data-mesurer-builtin='${t}']{display:none!important}`);return(!w(`guides`)||C(`guides`))&&e.push(`[data-mesurer-builtin='guides-menu']{display:none!important}`),w(`guides`)||e.push(`[data-mesurer-guide='true']{display:none!important}`),w(`distance`)||e.push(`[data-mesurer-distance='true']{display:none!important}`),w(`rulers`)||e.push(`[data-mesurer-rulers='true']{display:none!important}`),w(`color-picker`)||e.push(`.mesurer-color-picker{display:none!important}`),e.join(`
1752
+ `,n.head.append(a);let o=new Map,s=r.scrollX,c=r.scrollY,l=0,u=!1,d=e=>{o.has(e)||o.set(e,{x:s,y:c})},f=e=>{if(e instanceof i.HTMLElement){e.matches(Em)&&d(e);for(let t of e.querySelectorAll(Em))d(t)}};for(let e of n.querySelectorAll(Em))d(e);let p=new i.MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes)f(e)});n.body&&p.observe(n.body,{childList:!0,subtree:!0});let m=()=>{if(l=0,!u)for(let[e,t]of Array.from(o)){if(!e.isConnected){o.delete(e);continue}let n=s-t.x,r=c-t.y;if(t.x=s,t.y=c,n===0&&r===0||e.dataset.mesurerNativeScrollAnchor!==`offset`)continue;let i=Number.parseFloat(e.style.left),a=Number.parseFloat(e.style.top);Number.isFinite(i)&&(e.style.left=`${i-n}px`),Number.isFinite(a)&&(e.style.top=`${a-r}px`)}},h=()=>{u||(s=r.scrollX,c=r.scrollY,l&&r.clearTimeout(l),l=r.setTimeout(m,Tm))};r.addEventListener(`scroll`,h,{capture:!0,passive:!0}),e.lifecycle.onDispose(()=>{u=!0,p.disconnect(),l&&r.clearTimeout(l),r.removeEventListener(`scroll`,h,!0),o.clear(),a.remove()})}var Om=new WeakMap,km=e=>{let t=Om.get(e.pageTarget);t&&(e.ownerWindow.clearTimeout(t.clearTimer),Om.delete(e.pageTarget))},Am=(e,t)=>{km(e);let n=e.pageTarget,r={target:t,clearTimer:0};Om.set(n,r),r.clearTimer=e.ownerWindow.setTimeout(()=>{Om.get(n)===r&&Om.delete(n)},0)},jm=e=>Om.get(e.pageTarget)?.target??null,Mm=`mesurer.text-edit.intents`,Nm=`text-edit`,Pm=`text-edit.commit`,Fm=`text-edit.clear`,Im=600,Lm=360,Rm=24,zm=80,Bm=`var(--msr-accent, #0d99ff)`,Vm=`var(--msr-content, #0f172a)`,Hm=`var(--msr-color-ink-500, #8a8a8a)`,Um=288,Wm=`var(--msr-shadow-floating, 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1))`,Gm=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),Km=[`font-family`,`font-size`,`font-weight`,`font-style`,`line-height`,`letter-spacing`,`text-transform`,`color`],qm=e=>{let{origin:t,pathname:n,search:r}=e.location;return`${t}${n}${r}`},Jm=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,Ym=e=>({tag:e.fingerprintTag,id:e.fingerprintId,testId:e.fingerprintTestId,role:e.fingerprintRole,ariaLabel:e.fingerprintAriaLabel,classes:e.fingerprintClasses,text:e.fingerprintText}),Xm=e=>({property:e.property,before:e.before,desired:e.desired}),Zm=e=>({id:e.id,createdAt:e.createdAt,pageUrl:e.pageUrl,selector:e.selector,nodeIndex:e.nodeIndex,before:e.beforeText,desired:e.desiredText,styles:e.styleChanges.map(Xm)}),Qm=e=>{let t=e.match(/^\s*/)?.[0]??``,n=e.slice(t.length),r=n.match(/\s*$/)?.[0]??``;return{leading:t,trailing:r,value:n.slice(0,Math.max(0,n.length-r.length))}},$m=e=>e.map(e=>({...e})),eh=e=>(e.split(`,`)[0]??e).trim().replace(/^['"]|['"]$/g,``),th=e=>{if(e===`bold`)return 700;if(e===`normal`)return 400;let t=Number(e);return Number.isFinite(t)?t:400},nh=e=>e===`transparent`||/^rgba\([^)]*,\s*0(?:\.0+)?\s*\)$/.test(e)||/^rgba\(0\s+0\s+0\s*\/\s*0(?:\.0+)?\)$/.test(e),rh=e=>{let t=/^rgba?\(\s*(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)\D+(\d+(?:\.\d+)?)/.exec(e);if(!t)return`#000000`;let n=e=>Math.max(0,Math.min(255,Math.round(Number(e)))).toString(16).padStart(2,`0`);return`#${n(t[1])}${n(t[2])}${n(t[3])}`},ih=(e,t)=>[...e.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,t).map(([e])=>e),ah=(e,t)=>t?[t,...e.filter(e=>e!==t)]:e;function oh(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=t.createWorkspaceRuntime(),s=new vf(n,r),c=t.createInspectorMount();c.element.dataset.mesurerTextEditRuntime=`true`,c.element.style.position=`fixed`,c.element.style.inset=`0`,c.element.style.zIndex=`2147483646`,c.element.style.pointerEvents=`none`,e.state.register({id:Mm,initial:{edits:[]},history:!0,persist:!0});let l=()=>e.state.get(`mesurer.text-edit.intents`)??{edits:[]},u=new Map,d=new Map,f=new WeakMap,p=null,m=null,h=null,g=!1,_=0,v=0,y=()=>t.currentToolMode?.()??`none`,b=()=>{let e=y();return e===`text-inspector`||e===`select`},x=e=>Ru(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),S=e=>Array.from(e.childNodes).some(e=>e.nodeType===a.Node.TEXT_NODE&&!!e.nodeValue?.trim()),C=e=>{let t=[];i instanceof a.HTMLElement&&i.matches(e)&&x(i)&&t.push(i);for(let n of i.querySelectorAll(e))n instanceof a.HTMLElement&&x(n)&&t.push(n);return t},w=e=>{let t=u.get(e.id);if(t?.element.isConnected&&t.node.isConnected&&x(t.element))return t;u.delete(e.id);let n=Ym(e);if(!Hu(n))return null;let r=[];try{r=C(e.selector).filter(e=>Uu(e,n))}catch{return null}if(r.length!==1)return null;if(!n.id&&!n.testId){let e=[];try{e=C(n.tag).filter(e=>Uu(e,n))}catch{return null}if(e.length!==1||e[0]!==r[0])return null}let i=r[0],o=i.childNodes.item(e.nodeIndex);if(!o||o.nodeType!==a.Node.TEXT_NODE)return null;let s={element:i,node:o};return u.set(e.id,s),s},T=(e,t)=>{e.nodeValue!==t&&(f.set(e,(f.get(e)??0)+1),e.nodeValue=t)},E=(e,t)=>{let r=n.createElement(`span`);return r.style.setProperty(e,t),r.style.getPropertyValue(e)||t},D=(e,t)=>{if(e.style.getPropertyValue(t.property)===t.desired&&!e.style.getPropertyPriority(t.property)){if(t.beforeInline){e.style.setProperty(t.property,t.beforeInline,t.beforePriority);return}e.style.removeProperty(t.property)}},O=(e,t)=>{for(let n of t)D(e,n)},k=(e,t,n)=>{let r=new Map(t.map(e=>[e.property,e])),i=new Map(n.map(e=>[e.property,e])),a=new Map;for(let[t,n]of i){let i=e.style.getPropertyValue(t),o=e.style.getPropertyPriority(t);if(i!==n.desired||o)continue;let s=r.get(t);if(!s){n.beforeInline?e.style.setProperty(t,n.beforeInline,n.beforePriority):e.style.removeProperty(t);continue}i!==s.desired&&e.style.setProperty(t,s.desired),a.set(t,s)}for(let n of t){if(a.has(n.property)||i.has(n.property))continue;let t=e.style.getPropertyValue(n.property),r=e.style.getPropertyPriority(n.property);t===n.beforeInline&&r===n.beforePriority&&(e.style.setProperty(n.property,n.desired),a.set(n.property,n))}return t.filter(e=>a.has(e.property))},A=()=>{for(let e of d.values())e.node.isConnected&&e.node.nodeValue===e.desiredText&&T(e.node,e.beforeText),e.element.isConnected&&O(e.element,e.styleChanges);d.clear()},j=()=>{let e=l().edits.filter(e=>e.pageUrl===qm(r)),t=new Set(e.map(e=>e.id));for(let[e,n]of d)t.has(e)&&n.node.isConnected&&n.element.isConnected||(n.node.isConnected&&n.node.nodeValue===n.desiredText&&T(n.node,n.beforeText),n.element.isConnected&&O(n.element,n.styleChanges),d.delete(e));for(let t of e){let e=w(t);if(!e)continue;let n=e.node.nodeValue??``,r=d.get(t.id),i=!1;r?.node===e.node&&n===r.desiredText?(n!==t.desiredText&&T(e.node,t.desiredText),i=!0):n===t.beforeText&&(T(e.node,t.desiredText),i=!0);let a=k(e.element,t.styleChanges,r?.element===e.element?r.styleChanges:[]);if(!i&&a.length===0){d.delete(t.id);continue}d.set(t.id,{...e,beforeText:t.beforeText,desiredText:t.desiredText,styleChanges:a})}},M=e=>({"font-family":e.fontFamily,"font-size":e.fontSize,"font-weight":e.fontWeight,"font-style":e.fontStyle,"line-height":e.lineHeight,"letter-spacing":e.letterSpacing,"text-transform":e.textTransform,color:e.color}),N=(e,t)=>{let n=M(t),r=JSON.stringify(n),i=e.get(r);if(i){i.count+=1;return}e.set(r,{styles:n,count:1})},P=e=>[...e.values()].sort((e,t)=>t.count-e.count)[0]??null,F=e=>{let t=new Map,n=new Map,o=new Map,s=new Map,c=[],l=new Map,u=new Map,d=null;i instanceof a.HTMLElement&&c.push(i);for(let e of i.querySelectorAll(`*`))if(e instanceof a.HTMLElement&&c.push(e),c.length>=Im)break;for(let e of c){if(!x(e)||!S(e)||Gm.has(e.tagName))continue;let i=r.getComputedStyle(e);if(i.display===`none`||i.visibility===`hidden`)continue;let a=(e,t)=>{let n=t.trim();n&&e.set(n,(e.get(n)??0)+1)};if(a(t,i.fontFamily),a(n,i.fontSize),a(o,i.fontWeight),a(s,i.color),d??=e,(e.tagName===`P`||e.tagName===`SPAN`)&&N(l,i),e.tagName===`H1`||e.tagName===`H2`||e.tagName===`H3`){let t=e.tagName,n=u.get(t)??new Map;N(n,i),u.set(t,n)}}let f=r.getComputedStyle(e),p=[{id:`text`,label:`Text`,shortcut:`0`,styles:P(l)?.styles??M(r.getComputedStyle(d??e))}];for(let[e,t,n,r]of[[`H1`,`heading-1`,`Heading 1`,`1`],[`H2`,`heading-2`,`Heading 2`,`2`],[`H3`,`heading-3`,`Heading 3`,`3`]]){let i=P(u.get(e)??new Map);i&&p.push({id:t,label:n,shortcut:r,styles:i.styles})}return{fontFamilies:ah(ih(t,12),f.fontFamily),fontSizes:ah(ih(n,12),f.fontSize),fontWeights:ah(ih(o,9).sort((e,t)=>th(e)-th(t)),f.fontWeight),colors:ah(ih(s,10),f.color),presets:p}},I=e=>{let t=e;for(;t;){let e=r.getComputedStyle(t).backgroundColor;if(e&&!nh(e))return e;t=t.parentElement}return`Canvas`},L=(e,t)=>e.styleChanges.find(e=>e.property===t)??null,R=(e,t)=>{let r=s.getFast(e.element);if(t)e.inspectorInfo=s.getFull(e.element,r);else{let t=new Map(e.inspectorInfo.rows.map(e=>[e.label,e.varName]));e.inspectorInfo={...r,rows:r.rows.map(e=>({...e,varName:t.get(e.label)??null}))}}sf(n,e.inspectorCard,e.inspectorInfo,!1),e.inspectorCard.dataset.mesurerTextInspectorInfo=`true`,e.inspectorCard.dataset.state=`visible`,e.inspectorCard.setAttribute(`aria-label`,`Text inspector`)},z=(e,t)=>r.getComputedStyle(e.element).getPropertyValue(t).trim(),B=(e,t,n)=>{let i=E(t,n),a=L(e,t),o=a?.before??r.getComputedStyle(e.element).getPropertyValue(t).trim(),s=a?.beforeInline??e.element.style.getPropertyValue(t),c=a?.beforePriority??e.element.style.getPropertyPriority(t);if(i===o)a&&D(e.element,a),e.styleChanges=e.styleChanges.filter(e=>e.property!==t);else{e.element.style.setProperty(t,i);let n={property:t,before:o,desired:i,beforeInline:s,beforePriority:c};e.styleChanges=[...e.styleChanges.filter(e=>e.property!==t),n]}},ee=(e,t)=>{for(let[n,r]of t)B(e,n,r);pe(e),R(e,!0),me()},V=(e,t,n)=>ee(e,[[t,n]]),te=(e,t)=>Km.every(n=>{let r=t.styles[n];return r===void 0||z(e,n)===E(n,r)}),H=e=>e.catalog.presets.find(t=>te(e,t))??null,ne=(e,t)=>{e.menuOpen=!1;let n=Km.flatMap(e=>{let n=t.styles[e];return n===void 0?[]:[[e,n]]});ee(e,n),e.editor.focus({preventScroll:!0})},U=e=>{let t=z(e,`font-weight`),n=L(e,`font-weight`);if(n&&th(n.desired)>=600&&th(n.before)<600){V(e,`font-weight`,n.before);return}V(e,`font-weight`,th(t)>=600?`400`:`700`)},re=e=>{let t=z(e,`font-style`),n=L(e,`font-style`);if(n&&n.desired!==`normal`&&n.before===`normal`){V(e,`font-style`,n.before);return}V(e,`font-style`,t===`normal`?`italic`:`normal`)},ie=e=>{let t=z(e,`text-decoration-line`),n=L(e,`text-decoration-line`);if(n&&n.desired.includes(`underline`)&&!n.before.includes(`underline`)){V(e,`text-decoration-line`,n.before);return}V(e,`text-decoration-line`,t.includes(`underline`)?`none`:`underline`)},ae=(e,t,r,i,a)=>{let o=n.createElement(`button`);return o.type=`button`,o.textContent=t,o.title=r,o.setAttribute(`aria-label`,r),o.setAttribute(`aria-pressed`,i?`true`:`false`),o.dataset.mesurerTextStyleButton=r.toLowerCase(),Object.assign(o.style,{width:`32px`,height:`32px`,border:`0`,borderRadius:`8px`,background:i?Bm:`transparent`,color:i?`var(--msr-color-white, #ffffff)`:`var(--msr-content, #000000)`,font:`600 13px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,textDecoration:r===`Underline`?`underline`:`none`,fontStyle:r===`Italic`?`italic`:`normal`,cursor:`pointer`,outline:`none`}),o.addEventListener(`mouseenter`,()=>{i||(o.style.background=`rgba(0, 0, 0, 0.04)`)}),o.addEventListener(`mouseleave`,()=>{o.style.background=i?Bm:`transparent`}),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),m===e&&(a(),e.editor.focus({preventScroll:!0}))}),o},oe=(e,t,r,i,a,o)=>{let s=n.createElement(`label`);Object.assign(s.style,{display:`grid`,gridTemplateColumns:`72px minmax(0, 1fr)`,alignItems:`center`,gap:`8px`,minHeight:`38px`,padding:`0 8px`,color:Vm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let c=n.createElement(`span`);c.textContent=t,c.style.color=Hm;let l=n.createElement(`select`);l.setAttribute(`aria-label`,t),l.dataset.mesurerTextStyleSelect=t.toLowerCase().replace(/\s+/g,`-`),Object.assign(l.style,{width:`100%`,height:`32px`,border:`0`,borderRadius:`8px`,background:`rgba(0, 0, 0, 0.035)`,color:Vm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,padding:`0 8px`,cursor:`pointer`,outline:`none`});for(let e of ah(r,i)){let t=n.createElement(`option`);t.value=e,t.textContent=a(e),t.selected=e===i,l.append(t)}return l.addEventListener(`change`,()=>{m===e&&o(l.value)}),s.append(c,l),s},se=(e,t,r,i)=>{let a=n.createElement(`label`);Object.assign(a.style,{display:`grid`,gridTemplateColumns:`72px minmax(0, 1fr)`,alignItems:`center`,gap:`8px`,minHeight:`38px`,padding:`0 8px`,color:Vm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let o=n.createElement(`span`);o.textContent=t,o.style.color=Hm;let s=n.createElement(`input`);s.type=`text`,s.value=i,s.setAttribute(`aria-label`,t),s.dataset.mesurerTextStyleInput=t.toLowerCase().replace(/\s+/g,`-`),Object.assign(s.style,{width:`100%`,height:`32px`,boxSizing:`border-box`,border:`0`,borderRadius:`8px`,background:`rgba(0, 0, 0, 0.035)`,color:Vm,font:`500 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace`,padding:`0 8px`,outline:`none`});let c=()=>{if(m!==e)return;let a=s.value.trim();if(!a){s.value=i;return}let o=n.createElement(`span`);if(o.style.setProperty(r,a),!o.style.getPropertyValue(r)){s.setCustomValidity(`Invalid ${t.toLowerCase()} value`),s.reportValidity();return}s.setCustomValidity(``),V(e,r,a)};return s.addEventListener(`change`,c),s.addEventListener(`keydown`,t=>{t.key===`Enter`&&(t.preventDefault(),t.stopPropagation(),c(),e.editor.focus({preventScroll:!0}))}),a.append(o,s),a},ce=e=>/Mac|iPhone|iPad|iPod/i.test(r.navigator.platform||r.navigator.userAgent)?`⌥⌘${e}`:`Alt+Ctrl+${e}`,le=(e,t,r)=>{let i=n.createElement(`button`);i.type=`button`,i.dataset.mesurerTextStylePreset=t.id,i.setAttribute(`aria-label`,t.label),i.setAttribute(`aria-current`,r?`true`:`false`),Object.assign(i.style,{width:`100%`,minHeight:`40px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`16px`,border:`0`,borderRadius:`8px`,padding:`0 10px`,background:r?`rgba(0, 0, 0, 0.05)`:`transparent`,color:`var(--msr-content, #111111)`,cursor:`pointer`,outline:`none`,textAlign:`left`,font:t.id===`text`?`500 14px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`:`650 14px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let a=n.createElement(`span`);a.textContent=t.label;let o=n.createElement(`span`);return o.textContent=ce(t.shortcut),Object.assign(o.style,{color:Hm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,whiteSpace:`nowrap`}),i.append(a,o),i.addEventListener(`mouseenter`,()=>{i.style.background=`rgba(0, 0, 0, 0.05)`}),i.addEventListener(`mouseleave`,()=>{i.style.background=r?`rgba(0, 0, 0, 0.05)`:`transparent`}),i.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),m===e&&ne(e,t)}),i},ue=()=>{let e=n.createElement(`div`);return e.setAttribute(`role`,`separator`),Object.assign(e.style,{height:`1px`,margin:`5px 8px`,background:`rgba(0, 0, 0, 0.09)`}),e},de=e=>{let t=e.menu;t.replaceChildren();let r=H(e);for(let n of e.catalog.presets)t.append(le(e,n,r?.id===n.id));t.append(ue());let i=z(e,`font-family`),a=z(e,`font-size`),o=z(e,`font-weight`),s=z(e,`line-height`),c=z(e,`letter-spacing`),l=z(e,`color`);t.append(oe(e,`Font`,e.catalog.fontFamilies,i,eh,t=>V(e,`font-family`,t)),oe(e,`Size`,e.catalog.fontSizes,a,e=>e,t=>V(e,`font-size`,t)),oe(e,`Weight`,e.catalog.fontWeights,o,e=>e,t=>V(e,`font-weight`,t)),se(e,`Line`,`line-height`,s),se(e,`Tracking`,`letter-spacing`,c)),t.append(ue());let u=n.createElement(`div`);Object.assign(u.style,{display:`grid`,gap:`7px`,padding:`5px 8px 8px`});let d=n.createElement(`div`);d.textContent=`Text color`,Object.assign(d.style,{color:Hm,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let f=n.createElement(`div`);f.setAttribute(`aria-label`,`Page text colors`),f.dataset.mesurerTextColorSwatches=`true`,Object.assign(f.style,{display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`7px`});for(let t of e.catalog.colors.slice(0,10)){let r=n.createElement(`button`);r.type=`button`,r.title=`Use ${t}`,r.setAttribute(`aria-label`,`Use text color ${t}`),r.dataset.mesurerTextColor=t,Object.assign(r.style,{width:`22px`,height:`22px`,borderRadius:`50%`,border:t===l?`2px solid ${Bm}`:`1px solid rgba(0, 0, 0, 0.18)`,boxShadow:t===l?`0 0 0 2px var(--msr-color-white, #ffffff) inset`:`none`,background:t,cursor:`pointer`,padding:`0`}),r.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),m===e&&V(e,`color`,t)}),f.append(r)}let p=n.createElement(`input`);p.type=`color`,p.value=rh(l),p.title=`Custom text color`,p.setAttribute(`aria-label`,`Custom text color`),p.dataset.mesurerTextCustomColor=`true`,Object.assign(p.style,{width:`28px`,height:`28px`,border:`0`,borderRadius:`8px`,background:`rgba(0, 0, 0, 0.035)`,padding:`4px`,cursor:`pointer`}),p.addEventListener(`change`,()=>{m===e&&V(e,`color`,p.value)}),f.append(p),u.append(d,f),t.append(u),t.hidden=!e.menuOpen,t.style.display=e.menuOpen?`block`:`none`},fe=e=>{let t=H(e),r=n.createElement(`button`);r.type=`button`,r.dataset.mesurerTextStyleMenuButton=`true`,r.setAttribute(`aria-label`,`Text style`),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,e.menuOpen?`true`:`false`),Object.assign(r.style,{minWidth:`96px`,height:`32px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`10px`,border:`0`,borderRadius:`8px`,background:e.menuOpen?`rgba(0, 0, 0, 0.05)`:`transparent`,color:`var(--msr-content, #111111)`,padding:`0 10px`,cursor:`pointer`,outline:`none`,font:`500 13px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`});let i=n.createElement(`span`);i.textContent=t?.label??`Text`;let a=n.createElement(`span`);return a.textContent=`⌄`,a.setAttribute(`aria-hidden`,`true`),Object.assign(a.style,{color:Hm,fontSize:`15px`,transform:e.menuOpen?`rotate(180deg)`:`none`,transformOrigin:`center`}),r.append(i,a),r.addEventListener(`mouseenter`,()=>{r.style.background=`rgba(0, 0, 0, 0.05)`}),r.addEventListener(`mouseleave`,()=>{r.style.background=e.menuOpen?`rgba(0, 0, 0, 0.05)`:`transparent`}),r.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),m===e&&(e.menuOpen=!e.menuOpen,pe(e),me())}),r},pe=e=>{let t=e.toolbar;t.replaceChildren();let n=z(e,`font-weight`),r=z(e,`font-style`),i=z(e,`text-decoration-line`);t.append(ae(e,`B`,`Bold`,th(n)>=600,()=>U(e)),ae(e,`I`,`Italic`,r===`italic`||r===`oblique`,()=>re(e)),ae(e,`U`,`Underline`,i.includes(`underline`),()=>ie(e)),fe(e)),de(e)},me=()=>{let e=m;if(!e||!e.element.isConnected)return;let t=e.element.getBoundingClientRect(),n=r.getComputedStyle(e.element),i=Math.min(Math.max(120,t.width),Math.max(120,r.innerWidth-16)),a=Math.min(Math.max(8,t.left),Math.max(8,r.innerWidth-i-8)),o=Math.max(1,t.height),s=Math.min(Math.max(8,t.top),Math.max(8,r.innerHeight-o-8));Object.assign(e.editor.style,{left:`${a}px`,top:`${s}px`,width:`${i}px`,minHeight:`0px`,height:`${o}px`,fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,fontStyle:n.fontStyle,lineHeight:n.lineHeight,letterSpacing:n.letterSpacing,textAlign:n.textAlign,textTransform:n.textTransform,textDecorationLine:n.textDecorationLine,color:n.color,padding:n.padding,borderRadius:n.borderRadius,background:I(e.element)});let c=e.toolbar.getBoundingClientRect(),l=Math.max(40,c.height),u=Math.max(1,e.editor.getBoundingClientRect().height),d=s+u+8,f=d+l<=r.innerHeight-8?d:Math.max(8,s-l-8),p=Math.max(0,c.width),h=Math.min(Math.max(8,a),Math.max(8,r.innerWidth-p-8));e.toolbar.style.left=`${h}px`,e.toolbar.style.top=`${f}px`;let g=f,_=f,v=!1;if(e.menuOpen){let t=e.menu.getBoundingClientRect(),n=Math.max(0,t.height),i=Math.max(Um,t.width),a=f-n-8;v=a>=8,g=v?a:Math.min(r.innerHeight-n-8,f+l+8);let o=Math.min(Math.max(8,h+p-i),Math.max(8,r.innerWidth-i-8));e.menu.style.left=`${o}px`,e.menu.style.top=`${Math.max(8,g)}px`,_=Math.max(8,g)+n}let y=e.inspectorCard.getBoundingClientRect(),b=Math.max(0,y.height),x=Math.max(320,y.width)/2,S;if(e.menuOpen){let e=f+l+8,t=f-b-8;S=v&&e+b<=r.innerHeight-8?e:!v&&t>=8?t:v?Math.max(8,g-b-8):Math.min(r.innerHeight-b-8,_+8)}else{let e=f>=s+u,t=f+l+8;S=e&&t+b<=r.innerHeight-8?t:Math.max(8,f-b-8)}let C=Math.min(Math.max(h+p/2,8+x),r.innerWidth-8-x);e.inspectorCard.style.left=`${C}px`,e.inspectorCard.style.top=`${Math.max(8,S)}px`},he=()=>{let e=m;e&&(e.editor.remove(),e.toolbar.remove(),e.menu.remove(),e.inspectorCard.remove(),m=null)},ge=()=>{let e=m;if(!e)return;T(e.node,e.initialText),O(e.element,e.styleChanges);let t=new Set;for(let n of e.initialStyleChanges){let r=e.element.style.getPropertyValue(n.property),i=e.element.style.getPropertyPriority(n.property);r===n.beforeInline&&i===n.beforePriority&&(e.element.style.setProperty(n.property,n.desired),t.add(n.property))}let n=d.get(e.editId);n?.element===e.element&&d.set(e.editId,{...n,styleChanges:e.initialStyleChanges.filter(e=>t.has(e.property))}),he()},_e=()=>{let t=m;if(!t)return;let n=`${t.leading}${t.editor.value}${t.trailing}`,i=$m(t.styleChanges);if(n===t.initialText&&JSON.stringify(i)===JSON.stringify(t.initialStyleChanges)){T(t.node,t.initialText),he();return}p={id:t.editId,createdAt:Date.now(),pageUrl:qm(r),selector:t.selector,nodeIndex:t.nodeIndex,beforeText:t.beforeText,desiredText:n,styleChanges:i,fingerprintTag:t.fingerprint.tag,fingerprintId:t.fingerprint.id,fingerprintTestId:t.fingerprint.testId,fingerprintRole:t.fingerprint.role,fingerprintAriaLabel:t.fingerprint.ariaLabel,fingerprintClasses:t.fingerprint.classes,fingerprintText:t.fingerprint.text},u.set(t.editId,{element:t.element,node:t.node}),d.set(t.editId,{element:t.element,node:t.node,beforeText:t.beforeText,desiredText:n,styleChanges:i}),T(t.node,n),he(),e.command.execute(Pm,void 0,{source:`text-inspector`}).catch(()=>{let e=d.get(t.editId);e&&(e.node.isConnected&&e.node.nodeValue===n&&T(e.node,t.beforeText),e.element.isConnected&&O(e.element,e.styleChanges)),d.delete(t.editId)})},ve=(e,r)=>{let i=jm(t);if(i&&i.element.isConnected&&i.node.isConnected&&i.node.parentNode===i.element&&i.node.nodeValue?.trim()&&x(i.element)&&!Gm.has(i.element.tagName)&&!i.element.isContentEditable)return i;for(let t of n.elementsFromPoint(e,r)){if(!(t instanceof a.HTMLElement)||!x(t)||Gm.has(t.tagName)||t.isContentEditable)continue;let e=Array.from(t.childNodes).map((e,t)=>({node:e,index:t})).filter(({node:e})=>e.nodeType===a.Node.TEXT_NODE&&!!e.nodeValue?.trim());if(e.length===1)return{element:t,node:e[0].node,nodeIndex:e[0].index}}return null},ye=(e,t,n,i)=>{let a=qm(r);return l().edits.find(r=>{if(r.pageUrl!==a||r.nodeIndex!==i)return!1;let o=w(r);return o?.element===e&&o.node===t||r.selector===n})??null},be=(e,t,i)=>{if(!b())return;let a=ve(e,t);if(!a)return;i?.preventDefault(),i?.stopImmediatePropagation(),ge();let o=Bu(a.element),l=Vu(a.element),u=ye(a.element,a.node,o,a.nodeIndex),f=a.node.nodeValue??``,p=u?d.get(u.id):void 0,h=!!(u&&p?.node===a.node&&(f===p.desiredText||p.styleChanges.length>0)),g=f,_=f,v=[],y=u?.id??Jm(r,`text-edit`);if(u&&h)g=u.beforeText,_=u.desiredText,v=$m(u.styleChanges),T(a.node,_);else if(u&&f===u.beforeText){g=u.beforeText,_=u.desiredText,v=$m(u.styleChanges),T(a.node,_);let e=k(a.element,v,[]);d.set(u.id,{...a,beforeText:g,desiredText:_,styleChanges:e})}else u&&f===u.desiredText&&(g=f,_=f,v=[]);let x=Qm(_),S=n.createElement(`textarea`);S.dataset.mesurerTextEditor=`true`,S.dataset.mesurerInspectorUi=`true`,S.setAttribute(`aria-label`,`Edit text`),S.rows=1,S.value=x.value,Object.assign(S.style,{position:`fixed`,boxSizing:`border-box`,zIndex:`2147483647`,pointerEvents:`auto`,resize:`none`,overflow:`hidden`,border:`0`,outline:`none`,boxShadow:`0 0 0 2px var(--msr-accent, #0d99ff), var(--msr-shadow-select-menu, 0 8px 24px rgba(15,23,42,.18))`});let C=n.createElement(`div`);C.className=`mesurer-toolbar-surface`,C.dataset.mesurerTextStyleToolbar=`true`,C.dataset.mesurerTextStyleSurface=`toolbar`,C.dataset.mesurerInspectorUi=`true`,C.setAttribute(`role`,`toolbar`),C.setAttribute(`aria-label`,`Text styles`),Object.assign(C.style,{position:`fixed`,zIndex:`2147483647`,pointerEvents:`auto`,display:`flex`,alignItems:`center`,flexWrap:`nowrap`,gap:`4px`,maxWidth:`calc(100vw - 16px)`,padding:`4px`,borderRadius:`12px`,background:`var(--msr-surface-raised, #ffffff)`,color:Vm,boxShadow:Wm});let w=n.createElement(`div`);w.className=`mesurer-toolbar-surface`,w.dataset.mesurerTextStyleMenu=`true`,w.dataset.mesurerInspectorUi=`true`,w.setAttribute(`role`,`menu`),w.setAttribute(`aria-label`,`Text style menu`),Object.assign(w.style,{position:`fixed`,zIndex:`2147483647`,width:`${Um}px`,maxWidth:`calc(100vw - 16px)`,maxHeight:`min(520px, calc(100vh - 16px))`,overflowY:`auto`,pointerEvents:`auto`,boxSizing:`border-box`,padding:`6px`,borderRadius:`12px`,background:`var(--msr-surface-raised, #ffffff)`,color:Vm,boxShadow:Wm});let E=of(n,!1);E.dataset.mesurerTextInspectorInfo=`true`,E.dataset.mesurerInspectorUi=`true`,E.setAttribute(`aria-label`,`Text inspector`),Object.assign(E.style,{zIndex:`2147483647`,pointerEvents:`auto`,transform:`translateX(-50%)`,opacity:`1`}),c.element.append(S,C,w,E);let D=s.getFull(a.element);m={element:a.element,node:a.node,editor:S,toolbar:C,menu:w,menuOpen:!1,inspectorCard:E,inspectorInfo:D,editId:y,beforeText:g,initialText:_,leading:x.leading,trailing:x.trailing,nodeIndex:a.nodeIndex,selector:o,fingerprint:l,initialStyleChanges:$m(v),styleChanges:v,catalog:F(a.element)},pe(m),R(m,!1),me(),S.addEventListener(`input`,()=>{let e=m;!e||e.editor!==S||(T(e.node,`${e.leading}${S.value}${e.trailing}`),R(e,!1),me())}),S.focus({preventScroll:!0}),S.setSelectionRange(0,S.value.length)},xe=e=>{e instanceof a.MouseEvent&&be(e.clientX,e.clientY,e)},Se=e=>{if(!e.pointerType||e.pointerType===`mouse`||!b())return;let t=ve(e.clientX,e.clientY);if(!t){h=null;return}let n=r.performance.now(),i=h;if(i&&i.element===t.element&&n-i.time<=Lm&&Math.hypot(e.clientX-i.x,e.clientY-i.y)<=Rm){h=null,be(e.clientX,e.clientY,e);return}h={time:n,x:e.clientX,y:e.clientY,element:t.element}},Ce=()=>{if(_=0,!g){if(!b()){m&&ge(),A();return}j(),me()}},we=()=>{g||_||(_=r.requestAnimationFrame(Ce))},Te=()=>{if(c.element.dataset.mesurerNativeScrollRuntimeLayer!==`true`){we();return}_&&=(r.cancelAnimationFrame(_),0),v&&r.clearTimeout(v),v=r.setTimeout(()=>{v=0,we()},zm)},Ee=e=>{let t=m;if(!t)return;let n=e.composedPath();n.includes(t.editor)||n.includes(t.toolbar)||n.includes(t.menu)||n.includes(t.inspectorCard)||_e()},De=t=>{let n=m;if(n){let e=t.composedPath().includes(n.editor);if(t.key===`Escape`){if(t.preventDefault(),t.stopImmediatePropagation(),n.menuOpen){n.menuOpen=!1,pe(n),me(),n.editor.focus({preventScroll:!0});return}ge();return}if(e&&t.altKey&&(t.metaKey||t.ctrlKey)&&!t.shiftKey){let e=t.key===`0`?`text`:t.key===`1`?`heading-1`:t.key===`2`?`heading-2`:t.key===`3`?`heading-3`:null,r=e?n.catalog.presets.find(t=>t.id===e):null;if(r){t.preventDefault(),t.stopImmediatePropagation(),ne(n,r);return}}if(e&&(t.metaKey||t.ctrlKey)&&!t.altKey&&!t.shiftKey){let e=t.key.toLowerCase();if(e===`b`||e===`i`||e===`u`){t.preventDefault(),t.stopImmediatePropagation(),e===`b`?U(n):e===`i`?re(n):ie(n),n.editor.focus({preventScroll:!0});return}}e&&t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),t.stopImmediatePropagation(),_e());return}t.key===`Escape`&&y()===`text-inspector`&&e.command.execute(Fm,void 0,{source:`text-inspector-clear`})},Oe=new a.MutationObserver(e=>{for(let t of e){if(t.type!==`characterData`||!(t.target instanceof a.Text))continue;let e=t.target,n=f.get(e)??0;if(n>0){n===1?f.delete(e):f.set(e,n-1);continue}for(let[t,n]of d)n.node===e&&d.delete(t)}we()});Oe.observe(i,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`]}),e.command.register(Pm,()=>{let t=p;p=null,t&&e.state.update(`mesurer.text-edit.intents`,e=>{let n=e.edits.filter(e=>e.id!==t.id);return{edits:t.desiredText!==t.beforeText||t.styleChanges.length>0?[...n,t].slice(-100):n}})}),e.command.register(Fm,()=>{p=null,e.state.update(Mm,()=>({edits:[]}))}),e.service.provide(Nm,{intents:()=>l().edits.map(Zm),intent:e=>{let t=l().edits.find(t=>t.id===e);return t?Zm(t):null},clear:async()=>{await e.command.execute(Fm)}});let ke=o.subscribe(we);e.state.subscribe(we),r.addEventListener(`dblclick`,xe,!0),r.addEventListener(`pointerup`,Se,!0),r.addEventListener(`pointerdown`,Ee,!0),r.addEventListener(`keydown`,De,!0),r.addEventListener(`resize`,we),r.addEventListener(`scroll`,Te,!0),we(),e.lifecycle.onDispose(()=>{g=!0,_&&r.cancelAnimationFrame(_),_=0,v&&r.clearTimeout(v),v=0,ge(),A(),Oe.disconnect(),ke(),r.removeEventListener(`dblclick`,xe,!0),r.removeEventListener(`pointerup`,Se,!0),r.removeEventListener(`pointerdown`,Ee,!0),r.removeEventListener(`keydown`,De,!0),r.removeEventListener(`resize`,we),r.removeEventListener(`scroll`,Te,!0),u.clear(),o.dispose(),c.dispose()})}var sh=`[data-mesurer-text-editor='true']`,ch=`[data-mesurer-text-edit-runtime='true']`,lh=`[data-mesurer-root='true']`,uh=`data-mesurer-direct-text-edit-active`;function dh(e,t,n){let{ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(ch),s=o.item(o.length-1),c=n.rendererRoot??s?.closest(lh)??null;if(!s?.isConnected||!c?.isConnected)return;let l=!1,u=()=>{let e=!!s.querySelector(sh);e!==l&&(l=e,l?c.setAttribute(uh,`true`):c.removeAttribute(uh))},d=new a.MutationObserver(u);d.observe(s,{childList:!0,subtree:!0}),u(),e.lifecycle.onDispose(()=>{d.disconnect(),c.removeAttribute(uh)})}var fh=8,ph=2,mh=4,hh=20,gh=`[data-mesurer-selected-measurement='true']`,_h=`[data-mesurer-measurement-chrome='true']`,vh=`[data-mesurer-measurement-label='true']`,yh=`[data-mesurer-text-editor='true']`,bh=`[data-mesurer-text-edit-ring='true']`,xh=`[data-mesurer-text-inspector-info='true']`,Sh=`[data-mesurer-text-inspector-placement-shell='true']`,Ch=`data-mesurer-measurement-label-clearance`,wh=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),Th=(e,t,n=mh)=>Math.abs(e.left-t.left)<=n&&Math.abs(e.top-t.top)<=n&&Math.abs(e.width-t.width)<=n&&Math.abs(e.height-t.height)<=n,Eh=(e,t)=>Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left))>0&&Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top))>0,Dh=e=>e.reduce((e,t)=>({left:Math.min(e.left,t.left),top:Math.min(e.top,t.top),right:Math.max(e.right,t.right),bottom:Math.max(e.bottom,t.bottom),width:Math.max(e.right,t.right)-Math.min(e.left,t.left),height:Math.max(e.bottom,t.bottom)-Math.min(e.top,t.top)})),Oh=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+hh,width:e.width,height:hh});function kh(e,t,n,r){let i=Dh(t.length>0?[e,...t]:[e,Oh(e)]),a=n.width,o=n.height,s=r.width-fh,c=r.height-fh,l=Math.max(fh,s-a),u=Math.max(fh,c-o),d=Math.min(Math.max(e.left+e.width/2-a/2,fh),l),f=Math.min(Math.max(e.top+e.height/2-o/2,fh),u),p=[{left:d,top:i.top-ph-o,placement:`above`,maxHeight:null},{left:d,top:i.bottom+ph,placement:`below`,maxHeight:null},{left:i.right+ph,top:f,placement:`side`,maxHeight:null},{left:i.left-ph-a,top:f,placement:`side`,maxHeight:null}],m=e=>e.left>=fh&&e.top>=fh&&e.left+a<=s&&e.top+o<=c,h=p.find(e=>m(e));if(h)return h;let g=[{placement:`above`,top:fh,height:Math.max(0,i.top-ph-fh)},{placement:`below`,top:i.bottom+ph,height:Math.max(0,c-i.bottom-ph)}].sort((e,t)=>t.height-e.height)[0];return g&&g.height>0?{left:d,top:g.top,placement:g.placement,maxHeight:g.height}:{left:d,top:fh,placement:`viewport`,maxHeight:Math.max(0,r.height-16)}}var Ah=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),jh=(e,t,n,r=``)=>{(e.style.getPropertyValue(t)!==n||e.style.getPropertyPriority(t)!==r)&&e.style.setProperty(t,n,r)},Mh=(e,t,n)=>{(e.style.getPropertyValue(t)!==n.value||e.style.getPropertyPriority(t)!==n.priority)&&(n.value||n.priority?e.style.setProperty(t,n.value,n.priority):e.style.removeProperty(t))},Nh=(e,t,n)=>{e.getAttribute(t)!==n&&e.setAttribute(t,n)},Ph=(e,t)=>{let n=t.bottom+2,r=t.left+t.width/2,i=e.left+e.width/2;return Math.abs(e.top-n)<=8&&Math.abs(i-r)<=8},Fh=(e,t,n)=>{let r=new Set;for(let t of e)for(let e of t.querySelectorAll(gh))r.add(e);let i=[];for(let e of r){let r=n.getComputedStyle(e);if(r.display===`none`||r.visibility===`hidden`)continue;let a=e.querySelector(vh);if(!a)continue;let o=n.getComputedStyle(a);if(o.display===`none`||o.visibility===`hidden`)continue;let s=wh(a.getBoundingClientRect());if(s.width<=0||s.height<=0)continue;let c=e.querySelector(_h),l=c?.isConnected?wh(c.getBoundingClientRect()):null;!(l&&l.width>0&&l.height>0&&Th(l,t))&&!Ph(s,t)||i.push(s)}return i},Ih=(e,t)=>e instanceof t.HTMLElement?e.matches(gh)||!!e.closest(gh)||!!e.querySelector(gh):!1;function Lh(e,t,n=t.portalTarget){let{ownerDocument:r,ownerWindow:i,portalTarget:a}=t,o=i,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=null,u=0,d=!1,f=()=>{let e=[a];return n!==a&&e.push(n),r.body&&!e.includes(r.body)&&e.push(r.body),e},p=()=>{let e=l;if(!e)return;let{shell:t,card:n}=e;t.isConnected&&(Mh(t,`left`,e.shellLeft),Mh(t,`top`,e.shellTop),Mh(t,`--mesurer-native-anchor-x`,e.anchorX),Mh(t,`--mesurer-native-anchor-y`,e.anchorY),e.marker===null?t.removeAttribute(Ch):Nh(t,Ch,e.marker)),n.isConnected&&(Mh(n,`max-height`,e.cardMaxHeight),e.placement===null?delete n.dataset.mesurerTextInspectorPlacement:n.dataset.mesurerTextInspectorPlacement!==e.placement&&(n.dataset.mesurerTextInspectorPlacement=e.placement)),l=null},m=(e,t)=>{l={shell:e,card:t,shellLeft:Ah(e,`left`),shellTop:Ah(e,`top`),anchorX:Ah(e,`--mesurer-native-anchor-x`),anchorY:Ah(e,`--mesurer-native-anchor-y`),cardMaxHeight:Ah(t,`max-height`),placement:t.getAttribute(`data-mesurer-text-inspector-placement`),marker:e.getAttribute(Ch)}},h=()=>{if(d)return;let e=c.querySelector(yh),t=c.querySelector(Sh),n=c.querySelector(xh),r=c.querySelectorAll(bh),a=r.item(r.length-1);if(!e?.isConnected||!t?.isConnected||!n?.isConnected||!a?.isConnected){p();return}l&&(l.shell!==t||l.card!==n)&&p();let s=wh(a.getBoundingClientRect());if(s.width<=0||s.height<=0)return;let u=t.dataset.mesurerNativeScrollOwner===`typography`&&t.dataset.mesurerNativeScrollAnchor===`offset`,h=s.right>0&&s.bottom>0&&s.left<i.innerWidth&&s.top<i.innerHeight;if(u&&!h)return;let g=Fh(f(),s,o),_=Oh(s),v=wh(n.getBoundingClientRect()),y=Eh(v,_)||g.some(e=>Eh(v,e));if(!l&&!y)return;l||m(t,n);let b=Math.max(v.height,n.scrollHeight),x=kh(s,g,{width:v.width,height:b},{width:i.innerWidth,height:i.innerHeight});u?(jh(t,`--mesurer-native-anchor-x`,`${x.left-s.left}px`),jh(t,`--mesurer-native-anchor-y`,`${x.top-s.top}px`)):(jh(t,`left`,`${x.left}px`),jh(t,`top`,`${x.top}px`)),x.maxHeight===null&&l?Mh(n,`max-height`,l.cardMaxHeight):x.maxHeight!==null&&jh(n,`max-height`,`${x.maxHeight}px`),n.dataset.mesurerTextInspectorPlacement!==x.placement&&(n.dataset.mesurerTextInspectorPlacement=x.placement),Nh(t,Ch,`true`)},g=()=>{d||u||(u=i.requestAnimationFrame(()=>{u=0,h()}))},_=new o.MutationObserver(g);_.observe(c,{childList:!0,subtree:!0});let v=n===a?null:new o.MutationObserver(e=>{e.some(e=>e.type===`attributes`?Ih(e.target,o):Ih(e.target,o)?!0:[...e.addedNodes,...e.removedNodes].some(e=>Ih(e,o)))&&g()});v?.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`data-mesurer-selected-measurement`]}),i.addEventListener(`resize`,g,!0),i.addEventListener(`dblclick`,g,!0),g(),e.lifecycle.onDispose(()=>{d=!0,_.disconnect(),v?.disconnect(),i.removeEventListener(`resize`,g,!0),i.removeEventListener(`dblclick`,g,!0),u&&i.cancelAnimationFrame(u),p()})}var Rh=`var(--msr-accent, #0d99ff)`,zh=`var(--msr-color-ink-500, #8a8a8a)`,Bh=288,Vh=1.5,Hh=80,Uh=(e,t,n=2)=>Math.abs(e.left-t.left)<=n&&Math.abs(e.top-t.top)<=n&&Math.abs(e.width-t.width)<=n&&Math.abs(e.height-t.height)<=n,Wh=(e,t,n)=>Math.min(Math.max(e,t),n);function Gh(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i,portalTarget:a}=t,o=r,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=c.closest(`[data-mesurer-root='true']`),u=null,d=new Map,f=null,p=!1,m=null,h=null,g=null,_=0,v=0,y=!1,b=!1,x=()=>l?.querySelector(`button[data-mesurer-builtin='text-inspector']`)??null,S=()=>{for(let e of a.querySelectorAll(`.mesurer-ti-card, .mesurer-ti-box`))c.contains(e)||d.has(e)||(d.set(e,{element:e,display:e.style.getPropertyValue(`display`),displayPriority:e.style.getPropertyPriority(`display`),ariaHidden:e.getAttribute(`aria-hidden`)}),e.style.setProperty(`display`,`none`,`important`),e.setAttribute(`aria-hidden`,`true`))},C=()=>{for(let e of d.values()){let{element:t}=e;t.isConnected&&(e.display||e.displayPriority?t.style.setProperty(`display`,e.display,e.displayPriority):t.style.removeProperty(`display`),e.ariaHidden===null?t.removeAttribute(`aria-hidden`):t.setAttribute(`aria-hidden`,e.ariaHidden))}d.clear()},w=()=>{let e=f;if(!e)return;let{element:t}=e;t.isConnected&&(e.visibility||e.visibilityPriority?t.style.setProperty(`visibility`,e.visibility,e.visibilityPriority):t.style.removeProperty(`visibility`),e.pointerEvents||e.pointerEventsPriority?t.style.setProperty(`pointer-events`,e.pointerEvents,e.pointerEventsPriority):t.style.removeProperty(`pointer-events`),e.ariaHidden===null?t.removeAttribute(`aria-hidden`):t.setAttribute(`aria-hidden`,e.ariaHidden),delete t.dataset.mesurerTextInspectorAutoHidden),f=null},T=(e,t)=>{if(!t){f?.element===e&&w();return}f?.element!==e&&(w(),f={element:e,visibility:e.style.getPropertyValue(`visibility`),visibilityPriority:e.style.getPropertyPriority(`visibility`),pointerEvents:e.style.getPropertyValue(`pointer-events`),pointerEventsPriority:e.style.getPropertyPriority(`pointer-events`),ariaHidden:e.getAttribute(`aria-hidden`)},e.dataset.mesurerTextInspectorAutoHidden=`true`,e.style.setProperty(`visibility`,`hidden`,`important`),e.style.setProperty(`pointer-events`,`none`,`important`),e.setAttribute(`aria-hidden`,`true`))},E=e=>{if(!l||p===e)return;let t=x();if(p=e,e){if(l.dataset.mesurerTypographyContextActive=`true`,!t)return;u={ariaPressed:t.getAttribute(`aria-pressed`),background:t.style.backgroundColor,color:t.style.color},t.setAttribute(`aria-pressed`,`true`),t.style.backgroundColor=Rh,t.style.color=`var(--msr-color-white, #ffffff)`;return}if(delete l.dataset.mesurerTypographyContextActive,!t||!u){u=null;return}t.classList.contains(`msr:bg-[#0d99ff]`)?t.setAttribute(`aria-pressed`,`true`):u.ariaPressed===null?t.removeAttribute(`aria-pressed`):t.setAttribute(`aria-pressed`,u.ariaPressed),t.style.backgroundColor=u.background,t.style.color=u.color,u=null},D=e=>{let t=e.dataset.mesurerTextStyleSelect??``;Object.assign(e.style,{width:`auto`,height:`32px`,maxWidth:t===`font`?`128px`:`72px`,minWidth:t===`font`?`92px`:`56px`,border:`0`,borderRadius:`8px`,background:`transparent`,color:`var(--msr-content, #0f172a)`,font:`500 12px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,padding:`0 8px`,cursor:`pointer`,outline:`none`})},O=e=>{Object.assign(e.style,{display:`flex`,alignItems:`center`,flexWrap:`nowrap`,gap:`4px`,marginLeft:`2px`,paddingLeft:`8px`,borderLeft:`1px solid var(--msr-color-ink-200, rgba(0, 0, 0, 0.10))`});let t=Array.from(e.querySelectorAll(`[data-mesurer-text-color]`));for(let[e,n]of t.entries())Object.assign(n.style,{display:e<6?`block`:`none`,width:`18px`,height:`18px`,borderRadius:`50%`,padding:`0`});let n=e.querySelector(`[data-mesurer-text-custom-color='true']`);n&&Object.assign(n.style,{width:`32px`,height:`32px`,border:`0`,borderRadius:`8px`,background:`transparent`,padding:`5px`,cursor:`pointer`})},k=e=>{e.setAttribute(`aria-label`,`Text preset`),e.style.marginLeft=`0`;let t=e.querySelectorAll(`:scope > span`),n=t.item(t.length-1);n&&(n.textContent&&=``,n.dataset.mesurerTextStyleChevron=`true`,Object.assign(n.style,{width:`7px`,height:`7px`,flex:`0 0 7px`,boxSizing:`border-box`,borderRight:`1.5px solid ${zh}`,borderBottom:`1.5px solid ${zh}`,color:`transparent`,fontSize:`0`,lineHeight:`0`,transform:e.getAttribute(`aria-expanded`)===`true`?`rotate(225deg)`:`rotate(45deg)`,transformOrigin:`50% 50%`}))},A=(e,t)=>{let n=e.getBoundingClientRect(),i=Math.min(Math.max(8,n.left),Math.max(8,r.innerWidth-n.width-8));if(e.style.left=`${i}px`,t.style.display!==`none`&&!t.hidden){let e=t.getBoundingClientRect(),a=Math.min(Math.max(8,i+n.width-e.width),Math.max(8,r.innerWidth-e.width-8));t.style.left=`${a}px`}},j=()=>{g?.remove(),g=null},M=()=>g?.isConnected?g:(g=n.createElement(`div`),g.dataset.mesurerTextCaret=`true`,g.dataset.mesurerInspectorUi=`true`,g.setAttribute(`aria-hidden`,`true`),Object.assign(g.style,{position:`fixed`,zIndex:`2147483647`,width:`${Vh}px`,pointerEvents:`none`,transform:`translateX(-${Vh/2}px)`,transformOrigin:`center`}),a.append(g),g.animate?.([{opacity:`1`,offset:0},{opacity:`1`,offset:.49},{opacity:`0`,offset:.5},{opacity:`0`,offset:1}],{duration:1e3,iterations:1/0}),g),N=(e,t)=>{let n=e.nodeValue??``,r=n.indexOf(t);return r>=0&&!n.slice(0,r).trim()&&!n.slice(r+t.length).trim()?{leadingLength:r}:n.trim()===t.trim()?{leadingLength:n.length-n.trimStart().length}:null},P=(e,t)=>{if(h?.node.isConnected&&h.node.parentNode===h.element){let t=N(h.node,e.value);if(t)return h.leadingLength=t.leadingLength,h}let r=t.getBoundingClientRect(),a=[[r.left+r.width/2,r.top+r.height/2],[r.left+2,r.top+2],[r.right-2,r.bottom-2]],s=[];for(let[e,t]of a)for(let r of n.elementsFromPoint(e,t))!(r instanceof o.HTMLElement)||s.includes(r)||i.contains(r)&&(r.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`)||s.push(r));for(let t of s){if(!Uh(t.getBoundingClientRect(),r))continue;let n=Array.from(t.childNodes).filter(e=>e.nodeType===o.Node.TEXT_NODE).flatMap(t=>{let n=N(t,e.value);return n?[{node:t,leadingLength:n.leadingLength}]:[]});if(n.length===1)return h={element:t,node:n[0].node,leadingLength:n[0].leadingLength},h}return null},F=(e,t)=>{let r=n.createRange();try{r.setStart(e,t),r.collapse(!0);let n=r.getClientRects()[0]??r.getBoundingClientRect();if(n&&n.height>0)return{left:n.left,top:n.top,height:n.height}}catch{return null}let i=e.nodeValue?.length??0,a=n.createRange();try{if(t<i){a.setStart(e,t),a.setEnd(e,t+1);let n=a.getClientRects()[0]??a.getBoundingClientRect();if(n&&n.height>0)return{left:n.left,top:n.top,height:n.height}}if(t>0){a.setStart(e,t-1),a.setEnd(e,t);let n=Array.from(a.getClientRects()),r=n[n.length-1]??a.getBoundingClientRect();if(r&&r.height>0)return{left:r.right,top:r.top,height:r.height}}}catch{return null}return null},I=(e,t)=>{let i=e.selectionStart??0;if(i!==(e.selectionEnd??i)||n.activeElement!==e){j();return}let a=P(e,t);if(!a){j();return}let o=a.leadingLength+Wh(i,0,e.value.length),s=F(a.node,o);if(!s||s.left<0||s.top<0||s.left>r.innerWidth||s.top>r.innerHeight){j();return}let c=r.getComputedStyle(a.element),l=M();Object.assign(l.style,{left:`${s.left}px`,top:`${s.top}px`,height:`${Math.max(1,s.height)}px`,background:c.color&&c.color!==`transparent`?c.color:Rh})},L=()=>{if(_=0,y)return;let e=c.querySelector(`[data-mesurer-text-editor='true']`),t=a.querySelector(`[data-mesurer-text-edit-ring='true']`),n=c.querySelector(`[data-mesurer-text-inspector-info='true']`);if(!e||!t){w(),j();return}n?T(n,!1):w(),I(e,t)},R=()=>{y||_||(_=r.requestAnimationFrame(L))},z=()=>{_&&=(r.cancelAnimationFrame(_),0),g&&j(),v&&r.clearTimeout(v),v=r.setTimeout(()=>{v=0,R()},Hh)},B=()=>{m&&(m.removeEventListener(`input`,R),m.removeEventListener(`select`,R),m.removeEventListener(`keyup`,R),m.removeEventListener(`pointerup`,R),m.removeEventListener(`focus`,R),m.removeEventListener(`blur`,R),m=null,h=null)},ee=e=>{m!==e&&(B(),m=e,e.addEventListener(`input`,R),e.addEventListener(`select`,R),e.addEventListener(`keyup`,R),e.addEventListener(`pointerup`,R),e.addEventListener(`focus`,R),e.addEventListener(`blur`,R))},V=()=>{if(!(y||b)){b=!0;try{let e=c.querySelector(`[data-mesurer-text-editor='true']`),t=c.querySelector(`[data-mesurer-text-style-toolbar='true']`),r=c.querySelector(`[data-mesurer-text-style-menu='true']`),i=c.querySelector(`[data-mesurer-text-inspector-info='true']`);if(!e||!t||!r){B(),w(),j(),C(),E(!1);return}ee(e),E(!0),S(),i&&i.setAttribute(`aria-label`,`Typography details`);let a=t.querySelector(`[data-mesurer-text-style-menu-button='true']`);if(!a)return;let s=Array.from(r.querySelectorAll(`[data-mesurer-text-style-select]`));for(let e of s){let n=e.parentElement;D(e),t.insertBefore(e,a),n?.isConnected&&n!==t&&n.remove()}let l=Array.from(r.querySelectorAll(`[data-mesurer-text-style-input]`));for(let e of l){let n=e.parentElement;t.insertBefore(e,a),n?.isConnected&&n!==t&&n.remove()}let u=r.querySelector(`[data-mesurer-text-color-swatches='true']`);if(u){let e=u.parentElement;O(u),t.insertBefore(u,a),e?.isConnected&&e!==t&&e.remove()}for(let e of Array.from(r.children))e instanceof o.HTMLButtonElement&&e.hasAttribute(`data-mesurer-text-style-preset`)||e.remove();Object.assign(r.style,{width:`${Bh}px`,maxHeight:`min(260px, calc(100vh - 16px))`,overflowY:`auto`}),r.setAttribute(`aria-label`,`Text presets`);let d=t.querySelector(`[data-mesurer-text-preset-separator='true']`);d?d.nextSibling!==a&&t.insertBefore(d,a):(d=n.createElement(`span`),d.dataset.mesurerTextPresetSeparator=`true`,d.setAttribute(`aria-hidden`,`true`),Object.assign(d.style,{width:`1px`,height:`20px`,flex:`0 0 1px`,margin:`0 2px`,background:`rgba(0, 0, 0, 0.10)`}),t.insertBefore(d,a)),t.lastElementChild!==a&&t.append(a),k(a),A(t,r),R()}finally{b=!1}}},te=new o.MutationObserver(()=>V());te.observe(c,{childList:!0,subtree:!0}),r.addEventListener(`resize`,R),r.addEventListener(`scroll`,z,{capture:!0,passive:!0}),V(),e.lifecycle.onDispose(()=>{y=!0,te.disconnect(),r.removeEventListener(`resize`,R),r.removeEventListener(`scroll`,z,!0),_&&r.cancelAnimationFrame(_),v&&r.clearTimeout(v),_=0,v=0,B(),w(),j(),C(),E(!1)})}var Kh=`#0d99ff`,qh=`rgba(13, 153, 255, 0.22)`,Jh=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),Yh=(e,t)=>Array.from(e.childNodes).map((e,t)=>({node:e,index:t})).filter(e=>e.node.nodeType===t.Node.TEXT_NODE&&!!e.node.nodeValue?.trim()),Xh=(e,t,n,r,i)=>{let a=e,o=a.caretPositionFromPoint?.(r,i);if(o?.offsetNode instanceof t.Text){let e=n.find(e=>e.node===o.offsetNode);if(e)return e}let s=a.caretRangeFromPoint?.(r,i);if(s?.startContainer instanceof t.Text){let e=n.find(e=>e.node===s.startContainer);if(e)return e}for(let t of n){let n=e.createRange();n.selectNodeContents(t.node);let a;try{a=n.getClientRects()}catch{continue}if(Array.from(a).some(e=>r>=e.left-1&&r<=e.right+1&&i>=e.top-1&&i<=e.bottom+1))return t}return null},Zh=(e,t,n)=>Math.min(Math.max(e,t),n);function Qh(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=()=>{let e=t.currentToolMode?.()??`none`;return e===`text-inspector`||e===`select`},s=e=>Ru(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),c=(e,i)=>{if(km(t),o())for(let o of n.elementsFromPoint(e,i)){if(es(o,r))return;if(!(o instanceof a.HTMLElement)||!s(o)||Jh.has(o.tagName)||o.isContentEditable)continue;let c=Yh(o,a);if(c.length===0)continue;if(c.length===1){Am(t,{element:o,node:c[0].node,nodeIndex:c[0].index});return}let l=Xh(n,a,c,e,i);if(l){Am(t,{element:o,node:l.node,nodeIndex:l.index});return}}},l=e=>c(e.clientX,e.clientY),u=e=>{!e.pointerType||e.pointerType===`mouse`||c(e.clientX,e.clientY)};r.addEventListener(`dblclick`,l,!0),r.addEventListener(`pointerup`,u,!0),e.lifecycle.onDispose(()=>{km(t),r.removeEventListener(`dblclick`,l,!0),r.removeEventListener(`pointerup`,u,!0)})}function $h(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i,portalTarget:a}=t,o=r,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=t.createWorkspaceRuntime(),u=null,d=[],f=null,p=null,m=!1,h=0,g=!1,_=()=>{u?.remove(),u=null},v=()=>{for(let e of d)e.remove();d=[]},y=e=>{let t=d[e];if(t?.isConnected)return t;let r=n.createElement(`div`);return r.dataset.mesurerTextSelectionHighlight=`true`,r.dataset.mesurerInspectorUi=`true`,r.setAttribute(`aria-hidden`,`true`),Object.assign(r.style,{position:`fixed`,zIndex:`2147483644`,pointerEvents:`none`,borderRadius:`2px`,background:qh,transition:`none`,animation:`none`}),a.append(r),d[e]=r,r},b=e=>{for(;d.length>e;)d.pop()?.remove()},x=()=>u?.isConnected?u:(u=n.createElement(`div`),u.dataset.mesurerTextEditRing=`true`,u.dataset.mesurerInspectorUi=`true`,u.setAttribute(`aria-hidden`,`true`),Object.assign(u.style,{position:`fixed`,zIndex:`2147483645`,pointerEvents:`none`,boxSizing:`border-box`,background:`transparent`,boxShadow:`inset 0 0 0 1.5px ${Kh}`,transition:`none`,animation:`none`}),c.append(u),u),S=()=>{g||m||(m=!0,r.queueMicrotask(()=>{m=!1,E()}))},C=(e,t)=>{if(!t?.node.isConnected||t.node.parentNode!==t.element){v();return}let i=e.selectionStart??0,a=e.selectionEnd??i;if(i===a){v();return}let o=t.node.nodeValue??``,s=o.length-o.trimStart().length,c=o.length-o.trimEnd().length,l=Math.max(0,o.length-s-c),u=s+Zh(Math.min(i,a),0,l),d=s+Zh(Math.max(i,a),0,l);if(u===d){v();return}let f=n.createRange();try{f.setStart(t.node,u),f.setEnd(t.node,d)}catch{v();return}let p;try{p=Array.from(f.getClientRects()).filter(e=>e.width>0&&e.height>0&&e.right>0&&e.bottom>0&&e.left<r.innerWidth&&e.top<r.innerHeight)}catch{v();return}for(let[e,t]of p.entries()){let n=y(e);Object.assign(n.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`})}b(p.length)},w=e=>{f!==e&&(f&&(f.removeEventListener(`input`,S),f.removeEventListener(`select`,S),f.removeEventListener(`keyup`,S),f.removeEventListener(`pointerup`,S)),f=e,p=null,e.addEventListener(`input`,S),e.addEventListener(`select`,S),e.addEventListener(`keyup`,S),e.addEventListener(`pointerup`,S))},T=e=>{let t=l.currentSelection().elements.filter(e=>e instanceof o.HTMLElement&&e.isConnected&&Ru(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`));if(t.length!==1)return null;let n=t[0],r=Yh(n,o);if(!r.length)return null;let a=e.value.trim(),s=r.find(({node:e})=>(e.nodeValue??``).trim()===a)??(r.length===1?r[0]:null);return s?{element:n,node:s.node,nodeIndex:s.index}:null},E=()=>{if(g)return;let e=c.querySelector(`[data-mesurer-text-editor='true']`);if(!e){f&&(f.removeEventListener(`input`,S),f.removeEventListener(`select`,S),f.removeEventListener(`keyup`,S),f.removeEventListener(`pointerup`,S)),f=null,p=null,v(),_();return}e.style.opacity=`0`,e.style.background=`transparent`,e.style.boxShadow=`none`,w(e);let n=jm(t)??p??T(e);n?.element.isConnected&&n.node.isConnected&&(p=n);let a=n?.element??null,o=a?.isConnected&&Ru(a,i)&&!a.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`)?a:null,s=o?.getBoundingClientRect()??e.getBoundingClientRect(),l=r.getComputedStyle(o??e),u=x();Object.assign(u.style,{left:`${s.left}px`,top:`${s.top}px`,width:`${s.width}px`,height:`${s.height}px`,borderRadius:l.borderRadius}),C(e,o?n:null)},D=()=>{u?.dataset.mesurerNativeScrollAnchor===`box`||h||(h=r.requestAnimationFrame(()=>{h=0,u?.dataset.mesurerNativeScrollAnchor!==`box`&&E()}))},O=new o.MutationObserver(S);O.observe(c,{childList:!0,subtree:!0}),r.addEventListener(`resize`,S),r.addEventListener(`scroll`,D,{capture:!0,passive:!0}),E(),e.lifecycle.onDispose(()=>{g=!0,km(t),O.disconnect(),r.removeEventListener(`resize`,S),r.removeEventListener(`scroll`,D,!0),h&&r.cancelAnimationFrame(h),f&&(f.removeEventListener(`input`,S),f.removeEventListener(`select`,S),f.removeEventListener(`keyup`,S),f.removeEventListener(`pointerup`,S)),p=null,v(),_(),l.dispose()})}var eg=`[data-mesurer-selected-measurement='true']`,tg=`[data-mesurer-hover-measurement='true']`,ng=`[data-mesurer-text-editor='true']`,rg=`data-mesurer-direct-edit-selection-suppressed`,ig=`data-mesurer-direct-edit-hover-suppressed`;function ag(e,t,n=t.portalTarget){let{ownerDocument:r,ownerWindow:i,portalTarget:a}=t,o=i,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=t.createWorkspaceRuntime(),u=new Map,d=new Map,f=new Set,p=new Set,m=new Set,h=!1,g=!1,_=!1,v=null,y=()=>{let e=[a];return n!==a&&e.push(n),r.body&&!e.includes(r.body)&&e.push(r.body),e},b=e=>{e.matches(eg)&&f.add(e),e.matches(tg)&&p.add(e)},x=e=>{if(e instanceof o.HTMLElement){b(e);for(let t of e.querySelectorAll(`${eg}, ${tg}`))b(t)}},S=e=>{for(let t of e.querySelectorAll(`${eg}, ${tg}`))b(t)};for(let e of y())S(e);let C=(e,t,n)=>{t.has(e)||t.set(e,{value:e.style.getPropertyValue(`opacity`),priority:e.style.getPropertyPriority(`opacity`),marker:e.getAttribute(n)}),e.getAttribute(n)!==`true`&&e.setAttribute(n,`true`),(e.style.getPropertyValue(`opacity`)!==`0`||e.style.getPropertyPriority(`opacity`)!==`important`)&&e.style.setProperty(`opacity`,`0`,`important`)},w=(e,t,n,r)=>{e.isConnected&&(t.value||t.priority?e.style.setProperty(`opacity`,t.value,t.priority):e.style.removeProperty(`opacity`),t.marker===null?e.removeAttribute(r):e.setAttribute(r,t.marker)),n.delete(e)},T=(e,t)=>{for(let[n,r]of Array.from(e))w(n,r,e,t)},E=()=>{for(let e of Array.from(f)){if(!e.isConnected){f.delete(e);let t=u.get(e);t&&w(e,t,u,rg);continue}C(e,u,rg)}for(let[e,t]of Array.from(u))(!e.isConnected||!f.has(e))&&w(e,t,u,rg)},D=()=>{let e=l.hoveredElement(),t=l.currentSelection().elements,n=e?m.has(e):!1,r=e?t.includes(e):!1;if(!n&&!r){T(d,ig);return}for(let e of Array.from(p)){if(!e.isConnected){p.delete(e);let t=d.get(e);t&&w(e,t,d,ig);continue}C(e,d,ig)}for(let[e,t]of Array.from(d))(!e.isConnected||!p.has(e))&&w(e,t,d,ig)},O=()=>{_||g||(g=!0,i.queueMicrotask(()=>{g=!1,M()}))},k=e=>{for(let t of e)for(let e of t.addedNodes)x(e);O()},A=()=>{if(v)return;v=new o.MutationObserver(k);let e=new Set,t=(t,n)=>{e.has(t)||(e.add(t),v.observe(t,{childList:!0,subtree:n}))};for(let e of y())S(e);t(a,a!==r.body),n!==a&&t(n,!0),r.body&&t(r.body,!1)},j=()=>{v?.disconnect(),v=null},M=()=>{if(!_){if(c.querySelector(ng)){h||(m=new Set(l.currentSelection().elements)),h=!0,E(),D(),A();return}!h&&u.size===0&&d.size===0||(h=!1,m.clear(),j(),T(u,rg),T(d,ig))}},N=new o.MutationObserver(k);N.observe(c,{childList:!0,subtree:!0});let P=l.subscribe(O);M(),e.lifecycle.onDispose(()=>{_=!0,N.disconnect(),j(),P(),l.dispose(),T(u,rg),T(d,ig),f.clear(),p.clear()})}var og=`[data-mesurer-text-editor='true']`,sg=`[data-mesurer-text-edit-ring='true']`,cg=`[data-mesurer-text-inspector-info='true']`,lg=`[data-mesurer-text-inspector-placement-shell='true']`,ug=`[data-mesurer-measurement='true']`,dg=`[data-mesurer-measurement-chrome='true']`,fg=`[data-mesurer-measurement-label='true']`,pg=20,mg=.75,hg=`data-mesurer-symmetric-measurement-spacing`,gg=`mesurerSymmetricCardOffsetY`,_g=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),vg=(e,t)=>Math.abs(e.left-t.left)+Math.abs(e.top-t.top)+Math.abs(e.width-t.width)+Math.abs(e.height-t.height),yg=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+pg,width:e.width,height:pg}),bg=(e,t,n)=>e.style.getPropertyValue(t)!==n&&(e.style.setProperty(t,n),!0);function xg(e,t,n=t.portalTarget){let{ownerDocument:r,ownerWindow:i,portalTarget:a}=t,o=i,s=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),c=s.item(s.length-1);if(!c)return;let l=new Set,u=null,d=null,f=null,p=null,m=!1,h=0,g=!1,_=e=>{e instanceof o.HTMLTextAreaElement&&e.matches(og)&&(u=e),e.matches(sg)&&(d=e),e.matches(lg)&&(f=e),e.matches(cg)&&(p=e),e.matches(fg)&&l.add(e)},v=e=>{if(e instanceof o.HTMLElement&&(_(e),e===c||e.matches(`${ug}, [data-mesurer-text-edit-runtime='true'], [data-mesurer-root='true']`)))for(let t of[og,sg,lg,cg,fg])for(let n of e.querySelectorAll(t))_(n)},y=e=>{for(let t of e.querySelectorAll(ug))v(t)};v(c),y(a),n!==a&&y(n);let b=e=>{let t=null;for(let n of Array.from(l)){if(!n.isConnected){l.delete(n);continue}let r=n.closest(ug);if(!(r instanceof o.HTMLElement)||r.getAttribute(`data-mesurer-selected-measurement`)!==`true`)continue;let i=_g(n.getBoundingClientRect());if(i.width<=0||i.height<=0)continue;let a=r.querySelector(dg),s=a?.isConnected?_g(a.getBoundingClientRect()):null,c=e.bottom+2,u=e.left+e.width/2,d=i.left+i.width/2,f=s&&s.width>0&&s.height>0?vg(s,e):Math.abs(i.top-c)+Math.abs(d-u);f>32||(!t||f<t.score)&&(t={rect:i,score:f})}return t?.rect??yg(e)},x=()=>{if(g||!u?.isConnected||!d?.isConnected||!f?.isConnected||!p?.isConnected)return;let e=_g(d.getBoundingClientRect());if(e.width<=0||e.height<=0||!(e.right>0&&e.bottom>0&&e.left<i.innerWidth&&e.top<i.innerHeight))return;let t=_g(p.getBoundingClientRect());if(t.width<=0||t.height<=0||t.top<e.bottom)return;let n=b(e),r=n.top-e.bottom,a=t.top-n.bottom,o=a-r;if(f.setAttribute(hg,`true`),f.dataset.mesurerSymmetricSourceGap=r.toFixed(3),f.dataset.mesurerSymmetricTypographyGap=a.toFixed(3),Math.abs(o)<=mg)return;let s=Number.parseFloat(p.dataset[gg]??`0`),c=(Number.isFinite(s)?s:0)-o;p.dataset[gg]=c.toFixed(3),bg(p,`translate`,`0px ${c}px`)},S=()=>{g||m||(m=!0,i.queueMicrotask(()=>{m=!1,!h&&(h=i.requestAnimationFrame(()=>{h=0,x()}))}))},C=new o.MutationObserver(e=>{let t=!1;for(let n of e){if(n.type===`childList`){for(let e of n.addedNodes)v(e);t=!0;continue}n.target instanceof o.HTMLElement&&n.target.matches(lg)&&(_(n.target),t=!0)}t&&S()});C.observe(c,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`,`data-mesurer-native-scroll-owner`,`data-mesurer-native-scroll-anchor`]});let w=new o.MutationObserver(e=>{let t=!1;for(let n of e)for(let e of n.addedNodes)e instanceof o.HTMLElement&&e.matches(`${ug}, [data-mesurer-root='true']`)&&(v(e),t=!0);t&&S()}),T=new Set,E=(e,t)=>{T.has(e)||e===c||(T.add(e),w.observe(e,{childList:!0,subtree:t}))};E(a,a!==r.body),n!==a&&E(n,!0),r.body&&E(r.body,!1),i.addEventListener(`resize`,S,!0),i.addEventListener(`dblclick`,S,!0),S(),e.lifecycle.onDispose(()=>{g=!0,C.disconnect(),w.disconnect(),i.removeEventListener(`resize`,S,!0),i.removeEventListener(`dblclick`,S,!0),h&&i.cancelAnimationFrame(h),l.clear(),f?.removeAttribute(hg),p&&(p.style.removeProperty(`translate`),delete p.dataset[gg])})}var Sg=(e,t)=>{let n={document:e.document,location:e.location,crypto:e.crypto,navigator:e.navigator,performance:e.performance,CSS:e.CSS,Node:e.Node,Text:e.Text,Element:e.Element,HTMLElement:e.HTMLElement,ShadowRoot:e.ShadowRoot,MouseEvent:e.MouseEvent,MutationObserver:e.MutationObserver,get innerWidth(){return e.innerWidth},get innerHeight(){return e.innerHeight},get scrollX(){return e.scrollX},get scrollY(){return e.scrollY},getComputedStyle:(t,n)=>e.getComputedStyle(t,n),matchMedia:t=>e.matchMedia(t),setTimeout:e.setTimeout.bind(e),clearTimeout:e.clearTimeout.bind(e),cancelAnimationFrame:e.cancelAnimationFrame.bind(e),addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e),requestAnimationFrame:t};return Object.defineProperties(Object.create(null),Object.getOwnPropertyDescriptors(n))},Cg=(e,t)=>{let n=t.ownerWindow,r=!1,i=!1,a=null,o=Sg(n,e=>n.requestAnimationFrame(t=>{r=!0;try{e(t)}finally{r=!1}})),s=()=>{let n=t.currentToolMode?.()??`none`;return!r||e.state.get(`mesurer.presentation.preferences`)===void 0?n:i?n===`text-inspector`?`text-inspector`:`select`:n===`text-inspector`||Zf(e).keepTextChanges?`text-inspector`:`none`},c=()=>{let e=t.createInspectorMount();a?.disconnect();let r=()=>{i=!!e.element.querySelector(`[data-mesurer-text-editor='true']`)};return a=new n.MutationObserver(r),a.observe(e.element,{childList:!0,subtree:!0}),r(),{element:e.element,dispose(){a?.disconnect(),a=null,i=!1,e.dispose()}}};return e.lifecycle.onDispose(()=>{a?.disconnect(),a=null,i=!1,r=!1}),{...t,ownerWindow:o,currentToolMode:s,createInspectorMount:c}},wg=`var(--msr-color-ink-50, #f8fafc)`,Tg=`var(--msr-color-ink-100, #f1f5f9)`,Eg=`var(--msr-color-ink-200, #e2e8f0)`,Dg=`var(--msr-color-ink-500, #64748b)`,Og=`var(--msr-color-ink-700, #334155)`,kg=`var(--msr-content, #0f172a)`,Ag=`var(--msr-accent, #0d99ff)`,jg=8,Mg=8,Ng=(e,t)=>{let n=new Map,r=Array.from(e.children).filter(e=>e instanceof t.HTMLElement);for(let e=0;e+1<r.length;e+=2){let t=r[e],i=r[e+1],a=t.textContent?.trim();a&&n.set(a,{label:t,value:i})}return n},Pg=e=>Array.from(e.querySelectorAll(`span`)).map(e=>e.textContent?.trim()??``).find(e=>e.startsWith(`--`))??null;function Fg(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),s=o.item(o.length-1);if(!s)return;let c=!1,l=!1,u=0,d=0,f=null,p=()=>{if(c)return;let e=s.querySelector(`[data-mesurer-text-editor='true']`);e?.isConnected&&e.focus({preventScroll:!0})},m=()=>{r.setTimeout(p,0)},h=e=>{if(f?.isConnected&&f.contains(e))return f;f?.remove();let t=n.createElement(`div`);return t.dataset.mesurerTextInspectorPlacementShell=`true`,t.dataset.mesurerInspectorUi=`true`,Object.assign(t.style,{position:`fixed`,left:`0px`,top:`0px`,zIndex:`2147483647`,width:`max-content`,maxWidth:`calc(100vw - 16px)`,overflow:`visible`,pointerEvents:`auto`,transition:`none`,animation:`none`}),e.before(t),t.append(e),Object.assign(e.style,{position:`static`,left:`auto`,top:`auto`,transform:`none`,zIndex:`auto`,transition:`none`,animation:`none`}),f=t,t},g=()=>{f?.remove(),f=null},_=()=>{if(c)return;let e=s.querySelector(`[data-mesurer-text-inspector-info='true']`),t=i.querySelectorAll(`[data-mesurer-text-edit-ring='true']`),n=t.item(t.length-1);if(!e?.isConnected||!n?.isConnected)return;let a=h(e);if(a.dataset.mesurerNativeScrollOwner===`typography`&&a.dataset.mesurerNativeScrollAnchor===`offset`)return;Object.assign(e.style,{position:`static`,left:`auto`,top:`auto`,transform:`none`,boxSizing:`border-box`,maxHeight:`calc(100vh - 16px)`,overflowY:`auto`,transition:`none`,animation:`none`});let o=n.getBoundingClientRect(),l=e.getBoundingClientRect();if(l.width<=0||l.height<=0)return;let u=l.width,d=l.height,f=r.innerWidth-jg,p=r.innerHeight-jg,m=Math.max(jg,f-u),g=Math.max(jg,p-d),_=Math.min(Math.max(o.left+o.width/2-u/2,jg),m),v=Math.min(Math.max(o.top+o.height/2-d/2,jg),g),y=[{left:_,top:o.top-Mg-d,placement:`above`},{left:_,top:o.bottom+Mg,placement:`below`},{left:o.right+Mg,top:v,placement:`side`},{left:o.left-Mg-u,top:v,placement:`side`}],b=(e,t)=>e>=jg&&t>=jg&&e+u<=f&&t+d<=p,x=(e,t)=>{let n=Math.max(0,Math.min(e+u,o.right)-Math.max(e,o.left)),r=Math.max(0,Math.min(t+d,o.bottom)-Math.max(t,o.top));return n>0&&r>0},S=y.find(e=>b(e.left,e.top)&&!x(e.left,e.top));if(S){a.style.left=`${S.left}px`,a.style.top=`${S.top}px`,e.dataset.mesurerTextInspectorPlacement=S.placement;return}let C=[{name:`above`,top:jg,height:Math.max(0,o.top-Mg-jg)},{name:`below`,top:o.bottom+Mg,height:Math.max(0,p-o.bottom-Mg)}].sort((e,t)=>t.height-e.height)[0];if(C&&C.height>0){e.style.maxHeight=`${C.height}px`,a.style.left=`${_}px`,a.style.top=`${C.top}px`,e.dataset.mesurerTextInspectorPlacement=C.name;return}a.style.left=`${_}px`,a.style.top=`${jg}px`,e.dataset.mesurerTextInspectorPlacement=`viewport`},v=()=>{c||u||(u=r.requestAnimationFrame(()=>{u=0,_()}))},y=()=>{(f?.dataset.mesurerNativeScrollOwner!==`typography`||f.dataset.mesurerNativeScrollAnchor!==`offset`)&&v()},b=()=>{_(),v(),d&&r.clearTimeout(d),d=r.setTimeout(()=>{d=0,_(),v()},0)},x=e=>{Object.assign(e.style,{boxSizing:`border-box`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,color:Og,outline:`none`,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{e.style.borderColor=Eg}),e.addEventListener(`mouseleave`,()=>{n.activeElement!==e&&(e.style.borderColor=`transparent`)}),e.addEventListener(`focus`,()=>{e.style.borderColor=`transparent`,e.style.boxShadow=`inset 0 0 0 1px ${Ag}`}),e.addEventListener(`blur`,()=>{e.style.boxShadow=`none`,e.style.borderColor=`transparent`})},S=e=>{let t=n.createElement(`div`);t.dataset.mesurerUnifiedSelectShell=`true`,Object.assign(t.style,{position:`relative`,width:`100%`,minWidth:`0`,height:`28px`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),Object.assign(e.style,{appearance:`none`,WebkitAppearance:`none`,width:`100%`,minWidth:`0`,height:`100%`,boxSizing:`border-box`,border:`0`,borderRadius:`5px`,background:`transparent`,color:Og,font:`500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,padding:`0 27px 0 8px`,outline:`none`,cursor:`pointer`});let r=n.createElement(`span`);return r.dataset.mesurerUnifiedSelectChevron=`true`,r.setAttribute(`aria-hidden`,`true`),Object.assign(r.style,{position:`absolute`,right:`9px`,top:`8px`,width:`7px`,height:`7px`,borderRight:`1.5px solid ${Dg}`,borderBottom:`1.5px solid ${Dg}`,transform:`rotate(45deg)`,transformOrigin:`center`,pointerEvents:`none`}),t.addEventListener(`mouseenter`,()=>{t.style.borderColor=Eg}),t.addEventListener(`mouseleave`,()=>{n.activeElement!==e&&(t.style.borderColor=`transparent`)}),e.addEventListener(`focus`,()=>{t.style.borderColor=`transparent`,t.style.boxShadow=`inset 0 0 0 1px ${Ag}`}),e.addEventListener(`blur`,()=>{t.style.boxShadow=`none`,t.style.borderColor=`transparent`}),t.append(e,r),t},C=e=>{Object.assign(e.style,{width:`100%`,minWidth:`0`,height:`28px`,font:`500 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace`,padding:`0 8px`}),x(e)},w=e=>{let t=e.getAttribute(`aria-pressed`)===`true`;Object.assign(e.style,{width:`28px`,height:`28px`,border:`1px solid ${t?Ag:`transparent`}`,borderRadius:`5px`,background:t?`rgba(13, 153, 255, 0.10)`:wg,color:kg,padding:`0`,fontSize:`12px`,cursor:`pointer`,transition:`border-color 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{t||(e.style.borderColor=Eg)}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=t?Ag:`transparent`})},T=e=>{Object.assign(e.style,{display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`5px`,margin:`0`,padding:`0`,border:`0`});let t=Array.from(e.querySelectorAll(`[data-mesurer-text-color]`));for(let[e,n]of t.entries())Object.assign(n.style,{display:e<7?`block`:`none`,width:`20px`,height:`20px`,padding:`0`});let n=e.querySelector(`[data-mesurer-text-custom-color='true']`);n&&(Object.assign(n.style,{display:`block`,width:`28px`,height:`28px`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,padding:`3px`}),n.addEventListener(`mouseenter`,()=>{n.style.borderColor=Eg}),n.addEventListener(`mouseleave`,()=>{n.style.borderColor=`transparent`}))},E=e=>{Object.assign(e.style,{width:`100%`,minWidth:`0`,height:`28px`,border:`1px solid transparent`,borderRadius:`5px`,background:wg,color:Og,padding:`0 8px`,font:`500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{e.style.borderColor=Eg}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=`transparent`}),e.addEventListener(`focus`,()=>{e.style.boxShadow=`inset 0 0 0 1px ${Ag}`}),e.addEventListener(`blur`,()=>{e.style.boxShadow=`none`})},D=(e,t)=>{let r=n.createElement(`div`);if(Object.assign(r.style,{display:`flex`,alignItems:`center`,gap:`7px`,minWidth:`0`}),e.style.flex=`1 1 auto`,r.append(e),t){let e=n.createElement(`span`);e.textContent=t,e.title=t,Object.assign(e.style,{flex:`0 1 auto`,minWidth:`0`,maxWidth:`104px`,overflow:`hidden`,textOverflow:`ellipsis`,color:`#0369a1`,font:`500 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace`}),r.append(e)}return r},O=(e,t,n)=>{if(!n)return;let r=e.get(t);if(!r)return;let i=Pg(r.value);r.value.replaceChildren(D(n,i)),Object.assign(r.value.style,{overflow:`visible`,textOverflow:`clip`,whiteSpace:`normal`,fontFamily:`inherit`})},k=(e,t,r)=>{if(!r)return;let i=n.createElement(`span`);i.textContent=t,i.dataset.mesurerUnifiedTextRow=`true`,Object.assign(i.style,{color:Dg,fontSize:`11px`,alignSelf:`center`});let a=n.createElement(`div`);a.dataset.mesurerUnifiedTextRow=`true`,a.append(r),Object.assign(a.style,{minWidth:`0`,display:`flex`,alignItems:`center`}),e.append(i,a)},A=e=>{let t=e.target instanceof a.HTMLElement?e.target:null;if(!t||!s.contains(t))return;let n=t.closest(`[data-mesurer-text-style-menu-button='true']`);if(n){n.getAttribute(`aria-expanded`)===`true`&&p(),r.setTimeout(()=>{c||s.querySelector(`[data-mesurer-text-style-menu-button='true']`)?.getAttribute(`aria-expanded`)===`false`&&p()},0);return}t.closest(`[data-mesurer-text-style-button], [data-mesurer-text-color], [data-mesurer-text-style-preset]`)&&(p(),m())},j=e=>{let t=e.target instanceof a.HTMLElement?e.target:null;!t||!s.contains(t)||t.matches(`[data-mesurer-text-style-select], [data-mesurer-text-custom-color='true']`)&&(p(),m())},M=e=>{if(e.key!==`Enter`)return;let t=e.target instanceof a.HTMLElement?e.target:null;!t||!s.contains(t)||t.matches(`[data-mesurer-text-style-input]`)&&(p(),m())},N=()=>{if(!(c||l)){l=!0;try{let e=s.querySelector(`[data-mesurer-text-editor='true']`),t=s.querySelector(`[data-mesurer-text-style-toolbar='true']`),r=s.querySelector(`[data-mesurer-text-style-menu='true']`),i=s.querySelector(`[data-mesurer-text-inspector-info='true']`);if(!i){g();return}if(!e||!t||!r)return;let o=i.children.item(1);if(!(o instanceof a.HTMLElement))return;if(t.querySelector(`[data-mesurer-text-style-menu-button='true']`))for(let e of i.querySelectorAll(`[data-mesurer-unified-text-row='true'], [data-mesurer-unified-text-presets='true']`))e.remove();let c=Ng(o,a);i.dataset.mesurerTextInspectorUnified=`true`,i.setAttribute(`aria-label`,`Typography editor`),i.removeAttribute(`aria-hidden`),i.style.removeProperty(`visibility`),Object.assign(i.style,{pointerEvents:`auto`,position:`static`,left:`auto`,top:`auto`,transform:`none`,zIndex:`auto`,boxSizing:`border-box`,width:`min(360px, calc(100vw - 16px))`,minWidth:`0`,maxWidth:`calc(100vw - 16px)`,maxHeight:`calc(100vh - 16px)`,overflowY:`auto`,padding:`11px 12px 12px`,whiteSpace:`normal`,transition:`none`,animation:`none`}),h(i),Object.assign(o.style,{gridTemplateColumns:`72px minmax(0, 1fr)`,columnGap:`10px`,rowGap:`7px`,alignItems:`center`});let l=t.querySelector(`[data-mesurer-text-style-select='font']`),u=t.querySelector(`[data-mesurer-text-style-select='size']`),d=t.querySelector(`[data-mesurer-text-style-select='weight']`),f=t.querySelector(`[data-mesurer-text-style-input='line']`),p=t.querySelector(`[data-mesurer-text-style-input='tracking']`),m=l?S(l):null,_=u?S(u):null,v=d?S(d):null;for(let e of[f,p])e&&C(e);O(c,`Family`,m),O(c,`Size`,_),O(c,`Weight`,v),O(c,`Line`,f),O(c,`Tracking`,p);let y=n.createElement(`div`);y.dataset.mesurerUnifiedTextFormat=`true`,Object.assign(y.style,{display:`flex`,alignItems:`center`,gap:`5px`});for(let e of Array.from(t.querySelectorAll(`[data-mesurer-text-style-button]`)))w(e),y.append(e);k(o,`Format`,y.childElementCount?y:null);let x=t.querySelector(`[data-mesurer-text-color-swatches='true']`);x&&T(x),k(o,`Color`,x);let D=t.querySelector(`[data-mesurer-text-style-menu-button='true']`);if(D&&E(D),k(o,`Style`,D),D?.getAttribute(`aria-expanded`)===`true`){let e=n.createElement(`div`);e.dataset.mesurerUnifiedTextPresets=`true`,Object.assign(e.style,{display:`grid`,gap:`3px`,marginTop:`9px`,paddingTop:`8px`,borderTop:`1px solid ${Tg}`});for(let t of Array.from(r.querySelectorAll(`[data-mesurer-text-style-preset]`)))t.style.width=`100%`,t.style.minHeight=`34px`,e.append(t);e.childElementCount&&i.append(e)}t.style.display=`none`,t.setAttribute(`aria-hidden`,`true`),r.style.display=`none`,r.setAttribute(`aria-hidden`,`true`),b()}finally{l=!1}}};s.addEventListener(`click`,A,!0),s.addEventListener(`change`,j,!0),s.addEventListener(`keydown`,M,!0),r.addEventListener(`resize`,v),r.addEventListener(`scroll`,y,{capture:!0,passive:!0});let P=new a.MutationObserver(N);P.observe(s,{childList:!0,subtree:!0}),N(),e.lifecycle.onDispose(()=>{c=!0,P.disconnect(),u&&r.cancelAnimationFrame(u),d&&r.clearTimeout(d),s.removeEventListener(`click`,A,!0),s.removeEventListener(`change`,j,!0),s.removeEventListener(`keydown`,M,!0),r.removeEventListener(`resize`,v),r.removeEventListener(`scroll`,y,!0),g()})}var Ig=4,Lg=4,Rg=220,zg=60,Bg=(e,t,n)=>Math.min(Math.max(e,t),n);function Vg(e,t){let{ownerWindow:n,portalTarget:r}=t,i=n,a=e=>{if(e.key!==`Escape`)return;let t=e.composedPath().find(e=>e instanceof i.HTMLElement&&e.dataset.mesurerUnifiedSelectPopup===`true`),n=t instanceof i.HTMLElement?t:r.querySelector(`[data-mesurer-unified-select-popup='true']`);if(!n)return;let a=n.dataset.mesurerUnifiedSelectKind;if(!a)return;let o=n.closest(`[data-mesurer-text-inspector-info='true']`)?.querySelectorAll(`[data-mesurer-unified-select-trigger]`)??r.querySelectorAll(`[data-mesurer-unified-select-trigger]`),s=Array.from(o).find(e=>e.dataset.mesurerUnifiedSelectTrigger===a);s&&(e.preventDefault(),e.stopImmediatePropagation(),s.click())};n.addEventListener(`keydown`,a,!0),e.lifecycle.onDispose(()=>{n.removeEventListener(`keydown`,a,!0)})}function Hg(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),s=o.item(o.length-1);if(!s)return;let c=!1,l=!1,u=0,d=null,f=new Map,p=e=>{let t=e.dataset.mesurerUnifiedSelectKind;return t?Array.from(s.querySelectorAll(`[data-mesurer-unified-select-trigger]`)).find(e=>e.dataset.mesurerUnifiedSelectTrigger===t)??null:null},m=e=>{if(e.dataset.mesurerUnifiedSelectKind===`font`)for(let t of e.querySelectorAll(`[data-mesurer-unified-select-option]`)){let e=t.dataset.mesurerUnifiedSelectOption;e&&t.setAttribute(`aria-label`,e)}},h=()=>{let e=d;if(e?.isConnected)for(let[t,n]of f){if(!t.isConnected||!e.contains(t)){f.delete(t);continue}let r=n.left-e.scrollLeft,i=n.top-e.scrollTop;t.style.transform=r===0&&i===0?`none`:`translate(${r}px, ${i}px)`}},g=e=>{d!==e&&(d?.removeEventListener(`scroll`,h),f.clear(),d=e,d?.addEventListener(`scroll`,h,{passive:!0}))},_=(e,t,n)=>{let r=p(e);if(!r?.isConnected)return;let i=r.getBoundingClientRect(),a=t.getBoundingClientRect(),o=n.getBoundingClientRect();if(i.width<=0||i.height<=0||a.width<=0||a.height<=0||o.width<=0||o.height<=0)return;e.style.position=`absolute`,e.style.inset=`auto`,e.style.margin=`0`,e.style.pointerEvents=`auto`,e.style.zIndex=`2147483647`,e.style.transform=`none`;let s=Math.max(1,o.width-8),c=Math.min(Math.max(i.width,120),s);e.style.width=`${c}px`,e.style.maxWidth=`${s}px`;let l=Math.max(1,o.height-8),u=Math.min(Rg,Math.max(zg,e.scrollHeight)),d=Math.min(u,l);e.style.maxHeight=`${d}px`;let m=o.left-a.left,h=o.top-a.top,g=i.left-a.left,_=i.top-a.top,v=i.bottom-a.top,y=Math.max(0,_-h-Ig-Lg),b=o.bottom-a.top,x=Math.max(0,b-v-Ig-Lg),S=x>=d||x>=y?v+Ig:_-Ig-d,C=m+Lg,w=Math.max(C,m+o.width-Lg-c),T=h+Lg,E=Math.max(T,h+o.height-Lg-d);e.style.left=`${Bg(g,C,w)}px`,e.style.top=`${Bg(S,T,E)}px`,f.set(e,{left:n.scrollLeft,top:n.scrollTop})},v=()=>{if(!(c||l)){l=!0;try{let e=s.querySelector(`[data-mesurer-text-inspector-placement-shell='true']`),t=s.querySelector(`[data-mesurer-text-inspector-info='true'][data-mesurer-text-inspector-unified='true']`);if(!e||!t){g(null);return}g(t);for(let e of Array.from(f.keys()))(!e.isConnected||!t.contains(e))&&f.delete(e);for(let r of Array.from(s.querySelectorAll(`[data-mesurer-unified-select-popup='true']`))){let i=n.activeElement,o=i instanceof a.HTMLElement&&r.contains(i)?i:null;(r.parentElement!==t||t.lastElementChild!==r)&&(t.append(r),o?.isConnected&&o.focus({preventScroll:!0})),m(r),_(r,e,t)}}finally{l=!1}}},y=()=>{v(),!(c||u)&&(u=r.requestAnimationFrame(()=>{u=0,v()}))},b=new a.MutationObserver(y);b.observe(s,{childList:!0,subtree:!0}),r.addEventListener(`resize`,y),y(),e.lifecycle.onDispose(()=>{c=!0,b.disconnect(),u&&r.cancelAnimationFrame(u),r.removeEventListener(`resize`,y),g(null)})}var Ug=`var(--msr-color-ink-50, #f8fafc)`,Wg=`var(--msr-color-ink-100, #f1f5f9)`,Gg=`var(--msr-color-ink-200, #e2e8f0)`,Kg=`var(--msr-color-ink-500, #64748b)`,qg=`var(--msr-color-ink-700, #334155)`,Jg=`var(--msr-content, #0f172a)`,Yg=`var(--msr-accent, #0d99ff)`,Xg=8,Zg=4;function Qg(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),s=o.item(o.length-1);if(!s)return;let c=!1,l=!1,u=null,d=(e=!1)=>{let t=u;if(!t)return;t.popup.remove(),t.trigger.setAttribute(`aria-expanded`,`false`),t.chevron?.style.setProperty(`transform`,`rotate(45deg)`);let n=t.trigger.closest(`[data-mesurer-unified-select-shell='true'], [data-mesurer-unified-style-shell='true']`);n&&(n.style.boxShadow=`none`,n.style.borderColor=`transparent`),u=null,e&&t.trigger.isConnected&&t.trigger.focus({preventScroll:!0})},f=()=>{if(!u?.trigger.isConnected||!u.popup.isConnected){d();return}let e=u.trigger.getBoundingClientRect(),t=u.popup.getBoundingClientRect(),n=Math.max(e.width,Math.min(260,t.width||e.width));u.popup.style.width=`${n}px`;let i=u.popup.getBoundingClientRect(),a=r.innerWidth-Xg,o=r.innerHeight-Xg,s=Math.max(Xg,a-i.width),c=Math.min(Math.max(e.left,Xg),s),l=e.bottom+Zg,f=e.top-Zg-i.height,p=l+i.height<=o||f<Xg?Math.min(l,Math.max(Xg,o-i.height)):f;u.popup.style.left=`${c}px`,u.popup.style.top=`${Math.max(Xg,p)}px`},p=e=>{let t=n.createElement(`button`);t.type=`button`,t.dataset.mesurerUnifiedSelectOption=e.key,t.setAttribute(`role`,`option`),t.setAttribute(`aria-selected`,e.selected?`true`:`false`),t.disabled=e.disabled,Object.assign(t.style,{width:`100%`,minHeight:`30px`,display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:`12px`,boxSizing:`border-box`,border:`0`,borderRadius:`5px`,background:e.selected?Wg:`transparent`,color:e.disabled?Kg:Jg,padding:`0 9px`,textAlign:`left`,font:`${e.selected?`600`:`500`} 11px/1.2 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,cursor:e.disabled?`default`:`pointer`,opacity:e.disabled?`0.55`:`1`,pointerEvents:`auto`});let r=n.createElement(`span`);if(r.textContent=e.label,Object.assign(r.style,{minWidth:`0`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}),t.append(r),e.shortcut){let r=n.createElement(`span`);r.textContent=e.shortcut,Object.assign(r.style,{flex:`0 0 auto`,color:Kg,font:`500 10px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,whiteSpace:`nowrap`}),t.append(r)}return t.addEventListener(`mouseenter`,()=>{e.disabled||(t.style.background=e.selected?Wg:Ug)}),t.addEventListener(`mouseleave`,()=>{t.style.background=e.selected?Wg:`transparent`}),t.addEventListener(`click`,()=>{e.disabled||(e.activate(),d())}),t.addEventListener(`keydown`,e=>{if(e.key===`Escape`){e.preventDefault(),d(!0);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;e.preventDefault();let n=t.closest(`[data-mesurer-unified-select-popup='true']`);if(!n)return;let r=Array.from(n.querySelectorAll(`[data-mesurer-unified-select-option]`)).filter(e=>!e.disabled),i=r.indexOf(t);i<0||r.length===0||r[(i+(e.key===`ArrowDown`?1:-1)+r.length)%r.length]?.focus({preventScroll:!0})}),t},m=(e,t,r)=>{if(u?.trigger===e){d(!0);return}d();let i=n.createElement(`div`);i.dataset.mesurerUnifiedSelectPopup=`true`,i.dataset.mesurerUnifiedSelectKind=e.dataset.mesurerUnifiedSelectTrigger??`select`,i.dataset.mesurerInspectorUi=`true`,i.setAttribute(`role`,`listbox`),Object.assign(i.style,{position:`fixed`,zIndex:`2147483647`,minWidth:`120px`,maxWidth:`min(260px, calc(100vw - 16px))`,maxHeight:`220px`,overflowY:`auto`,boxSizing:`border-box`,border:`1px solid ${Gg}`,borderRadius:`8px`,background:`var(--msr-surface-raised, #ffffff)`,padding:`4px`,boxShadow:`var(--msr-shadow-select-menu, 0 8px 24px rgba(15, 23, 42, 0.14), 0 2px 6px rgba(15, 23, 42, 0.08))`,pointerEvents:`auto`});for(let e of r)i.append(p(e));s.append(i),e.setAttribute(`aria-expanded`,`true`),t?.style.setProperty(`transform`,`rotate(225deg)`);let a=e.closest(`[data-mesurer-unified-select-shell='true'], [data-mesurer-unified-style-shell='true']`);a&&(a.style.borderColor=`transparent`,a.style.boxShadow=`inset 0 0 0 1px ${Yg}`),u={popup:i,trigger:e,chevron:t},f(),(i.querySelector(`[aria-selected='true']:not(:disabled)`)??i.querySelector(`[data-mesurer-unified-select-option]:not(:disabled)`))?.focus({preventScroll:!0})},h=(e,t)=>{Object.assign(e.style,{position:`absolute`,inset:`0`,zIndex:`1`,width:`100%`,height:`100%`,boxSizing:`border-box`,border:`0`,borderRadius:`5px`,background:`transparent`,color:qg,padding:`0 28px 0 8px`,textAlign:`left`,font:`500 11px/1 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,cursor:`pointer`,outline:`none`}),e.addEventListener(`focus`,()=>{t.style.borderColor=`transparent`,t.style.boxShadow=`inset 0 0 0 1px ${Yg}`}),e.addEventListener(`blur`,()=>{u?.trigger!==e&&(t.style.boxShadow=`none`)})},g=e=>{let t=e.closest(`[data-mesurer-unified-select-shell='true']`);if(!t||t.dataset.mesurerUnifiedCustomSelect===`true`)return;t.dataset.mesurerUnifiedCustomSelect=`true`,Object.assign(e.style,{position:`absolute`,inset:`0`,width:`100%`,height:`100%`,opacity:`0`,pointerEvents:`none`}),e.tabIndex=-1,e.setAttribute(`aria-hidden`,`true`);let r=e.dataset.mesurerTextStyleSelect??e.getAttribute(`aria-label`)??`select`,i=n.createElement(`button`);i.type=`button`,i.dataset.mesurerUnifiedSelectTrigger=r,i.setAttribute(`aria-haspopup`,`listbox`),i.setAttribute(`aria-expanded`,`false`),i.setAttribute(`aria-label`,e.getAttribute(`aria-label`)??r);let o=t.querySelector(`[data-mesurer-unified-select-chevron='true']`);o&&(o.style.zIndex=`2`),h(i,t);let s=()=>{let t=e.selectedOptions.item(0);i.textContent=t?.textContent?.trim()||e.value};s(),e.addEventListener(`change`,s);let c=()=>Array.from(e.options).map(t=>({key:t.value,label:t.textContent?.trim()||t.value,shortcut:null,selected:t.selected,disabled:t.disabled,activate:()=>{if(e.value===t.value){d();return}e.value=t.value,e.dispatchEvent(new a.Event(`input`,{bubbles:!0})),e.dispatchEvent(new a.Event(`change`,{bubbles:!0})),s()}}));i.addEventListener(`click`,()=>m(i,o,c())),i.addEventListener(`keydown`,e=>{if(e.key===`Escape`){d(!0);return}[`Enter`,` `,`ArrowDown`,`ArrowUp`].includes(e.key)&&(e.preventDefault(),m(i,o,c()))}),o?t.insertBefore(i,o):t.append(i)},_=e=>{let t=e.querySelector(`[data-mesurer-text-style-menu-button='true']:not([data-mesurer-unified-select-trigger='style'])`);if(!t||t.dataset.mesurerUnifiedCustomStyle===`true`)return;t.dataset.mesurerUnifiedCustomStyle=`true`,delete t.dataset.mesurerTextStyleMenuButton,t.style.display=`none`,t.tabIndex=-1,t.setAttribute(`aria-hidden`,`true`);for(let t of e.querySelectorAll(`[data-mesurer-unified-text-presets='true']`))t.remove();let r=t.parentElement;if(!r)return;let i=n.createElement(`div`);i.dataset.mesurerUnifiedStyleShell=`true`,Object.assign(i.style,{position:`relative`,width:`100%`,minWidth:`0`,height:`28px`,boxSizing:`border-box`,border:`1px solid transparent`,borderRadius:`5px`,background:Ug,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`});let a=n.createElement(`button`);a.type=`button`,a.dataset.mesurerUnifiedSelectTrigger=`style`,a.dataset.mesurerTextStyleMenuButton=`true`,a.setAttribute(`aria-haspopup`,`listbox`),a.setAttribute(`aria-expanded`,`false`),a.setAttribute(`aria-label`,`Text style`),h(a,i),i.addEventListener(`mouseenter`,()=>{i.style.borderColor=Gg}),i.addEventListener(`mouseleave`,()=>{u?.trigger!==a&&n.activeElement!==a&&(i.style.borderColor=`transparent`)});let o=n.createElement(`span`);o.dataset.mesurerUnifiedSelectChevron=`true`,o.setAttribute(`aria-hidden`,`true`),Object.assign(o.style,{position:`absolute`,zIndex:`2`,right:`9px`,top:`8px`,width:`7px`,height:`7px`,borderRight:`1.5px solid ${Kg}`,borderBottom:`1.5px solid ${Kg}`,transform:`rotate(45deg)`,transformOrigin:`center`,pointerEvents:`none`});let c=s.querySelector(`[data-mesurer-text-style-menu='true']`),l=()=>c?Array.from(c.querySelectorAll(`[data-mesurer-text-style-preset]`)):[],f=()=>{let e=l(),t=e.find(e=>e.getAttribute(`aria-current`)===`true`)??e[0];a.textContent=t?.getAttribute(`aria-label`)??`Text`};f();let p=()=>l().map(e=>({key:e.dataset.mesurerTextStylePreset??e.getAttribute(`aria-label`)??`preset`,label:e.getAttribute(`aria-label`)??e.textContent?.trim()??`Text`,shortcut:e.lastElementChild?.textContent?.trim()||null,selected:e.getAttribute(`aria-current`)===`true`,disabled:e.disabled,activate:()=>{e.click(),f()}}));a.addEventListener(`click`,()=>m(a,o,p())),a.addEventListener(`keydown`,e=>{if(e.key===`Escape`){d(!0);return}[`Enter`,` `,`ArrowDown`,`ArrowUp`].includes(e.key)&&(e.preventDefault(),m(a,o,p()))}),i.append(a,o),r.append(i)},v=()=>{if(!(c||l)){l=!0;try{let e=s.querySelector(`[data-mesurer-text-inspector-info='true'][data-mesurer-text-inspector-unified='true']`);if(!e){d();return}for(let t of Array.from(e.querySelectorAll(`[data-mesurer-text-style-select]`)))g(t);_(e)}finally{l=!1}}},y=e=>{if(!u)return;let t=e.composedPath();t.includes(u.popup)||t.includes(u.trigger)||d()},b=()=>f();r.addEventListener(`pointerdown`,y,!0),r.addEventListener(`resize`,b);let x=new a.MutationObserver(v);x.observe(s,{childList:!0,subtree:!0}),v(),e.lifecycle.onDispose(()=>{c=!0,x.disconnect(),d(),r.removeEventListener(`pointerdown`,y,!0),r.removeEventListener(`resize`,b)})}function $g(e,t){wm(e,t);let{runtime:n}=ym(t);Qh(e,n),Vg(e,n),oh(e,Cg(e,n)),Gh(e,n),Fg(e,n),ag(e,n,t.portalTarget),dh(e,n,t),$h(e,n),Qg(e,n),Hg(e,n),_m(e,n),Dm(e,n),Lh(e,n,t.portalTarget),xg(e,n,t.portalTarget)}var e_=1,t_=(e,t)=>{if(!t)return[];try{let n=e.sessionStorage.getItem(t);if(!n)return[];let r=JSON.parse(n);return r.version!==e_||!Array.isArray(r.annotations)?[]:r.annotations.map(n_)}catch{return[]}},n_=e=>({...e,anchor:e.anchor.kind===`elements`?{kind:`elements`,region:e.anchor.region?$i(e.anchor.region):null,targets:e.anchor.targets.map(e=>({...e,fingerprint:{...e.fingerprint,classes:[...e.fingerprint.classes]},lastRect:$i(e.lastRect)}))}:{kind:`region`,rect:$i(e.anchor.rect)},baseline:{targets:e.baseline.targets.map(e=>({...e,rect:$i(e.rect)})),guides:e.baseline.guides.map(e=>({...e})),measurements:e.baseline.measurements.map(e=>({...e,rect:$i(e.rect)})),distances:e.baseline.distances.map(e=>({...e,rectA:$i(e.rectA),rectB:$i(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null}))}}),r_=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,i_=e=>{let t=new Set,n=[];for(let r of e.current.selectedMeasurements){let e=r.elementRef;!e?.isConnected||t.has(e)||(t.add(e),n.push(e))}let r=e.current.selectedMeasurement?.elementRef;return r?.isConnected&&!t.has(r)&&n.push(r),n};function a_(e){let{model:t,ownerDocument:n,ownerWindow:r,uiRoot:i}=e,a=r,o=e.pageTarget??n.body??n.documentElement,s=o instanceof a.ShadowRoot?o:o.getRootNode(),c=s instanceof a.ShadowRoot?s:n,l=o,u=fs(r),d=()=>e.persistenceKey?`${e.persistenceKey}:${u}`:void 0,f=()=>e.persistenceKey?`${e.persistenceKey}${r.location.pathname}`:void 0,p=()=>{let e=d();if(!e)return{annotations:[],migrated:!1};try{if(r.sessionStorage.getItem(e)!==null)return{annotations:t_(r,e),migrated:!1}}catch{return{annotations:[],migrated:!1}}let t=f();if(!t)return{annotations:[],migrated:!1};let n=t_(r,t);return{annotations:n,migrated:n.length>0}},m=p(),h=m.annotations,g=m.migrated,_=new Set,v=new Map,y=new Map,b=new Map,x=!1,S=0,C=null,w=!1,T=(e,t)=>`${e}:${t}`,E=e=>Ru(e,o),D=e=>{let t=[];o instanceof a.HTMLElement&&o.matches(e)&&t.push(o);for(let n of c.querySelectorAll(e))n instanceof a.Element&&E(n)&&t.push(n);return t},O=()=>{let e=d();if(e)try{if(h.length===0){r.sessionStorage.removeItem(e);return}r.sessionStorage.setItem(e,JSON.stringify({version:e_,annotations:h.map(n_)}))}catch{}};g&&=(O(),!1);let k=()=>{for(let e of _)e()},A=e=>{if(!Hu(e.fingerprint))return null;let t=[];try{t=D(e.selector)}catch{return null}let n=t.filter(t=>Uu(t,e.fingerprint));if(t.length===1&&n.length===1)return n[0]??null;if(t.length!==1||e.fingerprint.id||e.fingerprint.testId)return null;let r=t[0];if(!r||r.localName!==e.fingerprint.tag)return null;let i=ku(r),a=e.lastRect,o=Math.max(4,Math.max(a.width,a.height)*.05),s=Math.max(2,Math.max(a.width,a.height)*.03);return Math.abs(i.left-a.left)<=o&&Math.abs(i.top-a.top)<=o&&Math.abs(i.width-a.width)<=s&&Math.abs(i.height-a.height)<=s?r:null},j=(e,t)=>{let n=T(e,t.id),r=y.get(n);if(r?.isConnected&&E(r))return r;r&&y.delete(n);let i=A(t);return i&&y.set(n,i),i},M=()=>{let e=!1;for(let t of h)if(t.anchor.kind===`elements`)for(let n of t.anchor.targets){let r=T(t.id,n.id),i=j(t.id,n),a=!!i;if(b.get(r)!==a&&(b.set(r,a),e=!0),!i)continue;let o=ku(i);(o.left!==n.lastRect.left||o.top!==n.lastRect.top||o.width!==n.lastRect.width||o.height!==n.lastRect.height)&&(n.lastRect=o,e=!0)}e&&(O(),k())},N=()=>{S||x||h.length===0||(S=r.requestAnimationFrame(()=>{S=0,M()}))},P=()=>{w||x||h.length===0||(w=!0,C=new a.MutationObserver(N),C.observe(l,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`,`style`]}),r.addEventListener(`resize`,N),r.addEventListener(`scroll`,N,!0),o.addEventListener(`scroll`,N,!0))},F=()=>{w&&(w=!1,C?.disconnect(),C=null,r.removeEventListener(`resize`,N),r.removeEventListener(`scroll`,N,!0),o.removeEventListener(`scroll`,N,!0),S&&r.cancelAnimationFrame(S),S=0)};h.length>0&&(M(),P());let I=gs(r,e=>{if(e===u||x)return;O(),F(),y.clear(),b.clear(),u=e,h.length=0;let t=p();h.push(...t.annotations),t.migrated&&O(),h.length>0&&(M(),P()),k()}),L=t.subscribe(k),R=()=>({guides:t.current.guides,measurements:t.current.measurements,activeMeasurement:t.current.activeMeasurement,distances:t.current.heldDistances}),z=e=>aa({...e,workspace:R(),guideTolerance:10}),B=(e,t)=>({id:`target-${t+1}`,selector:Bu(e),fingerprint:Vu(e),lastRect:ku(e)}),ee=e=>{let n=[],i=new Set;for(let t of e){let e=t.trim();!e||i.has(e)||(i.add(e),n.push(e))}if(!n.length)throw Error(`Mesurer select() requires at least one selector.`);let a=n.map(e=>{let t;try{t=D(e)}catch{throw Error(`Invalid Mesurer selection selector: ${e}`)}if(t.length===0)throw Error(`Mesurer selection target not found: ${e}`);if(t.length>1)throw Error(`Mesurer selection target is ambiguous (${t.length} matches): ${e}`);return t[0]});t.checkpoint(),t.setEnabled(!0),t.setToolMode(`select`);let o=a.map(e=>Wu(e,r));return t.setSelectedMeasurements(o,o.at(-1)??null),t.setTransient({selectionOriginRect:null}),a},V=(e,t=[])=>(h.push(e),e.anchor.kind===`elements`&&e.anchor.targets.forEach((n,r)=>{let i=t[r],a=T(e.id,n.id);i&&E(i)&&y.set(a,i),b.set(a,!!(i&&E(i)))}),P(),O(),k(),n_(e)),te=(e,t)=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=$i(t);return V({id:r_(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`region`,rect:i},baseline:z({targets:[],region:i})})},H=e=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=i_(t).filter(E),a=t.current.selectionOriginRect?$i(t.current.selectionOriginRect):null;if(!i.length){if(!a)throw Error(`Select a page element or drag a region before adding an annotation.`);return te(n,a)}let o=i.map(B);return V({id:r_(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`elements`,targets:o,region:a},baseline:z({targets:o,elements:i})},i)},ne=()=>{for(let[e,t]of v)t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`);v.clear()};return{snapshot(){return{enabled:t.current.enabled,rulersVisible:t.current.rulersVisible,xrayVisible:t.current.xrayVisible,guideRelevanceTolerance:10,selectedMeasurements:[...t.current.selectedMeasurements],selectionOriginRect:t.current.selectionOriginRect?$i(t.current.selectionOriginRect):null,measurements:[...t.current.measurements],activeMeasurement:t.current.activeMeasurement,heldDistances:[...t.current.heldDistances],guides:t.current.guides.map(e=>({...e})),annotations:h.map(n_)}},currentSelection(){return{elements:i_(t).filter(E),region:t.current.selectionOriginRect?$i(t.current.selectionOriginRect):null}},selectGestureActive(){return t.current.toolMode===`select`&&t.current.start!==null},select:ee,hoveredElement(){return t.current.hoverElement?.isConnected&&E(t.current.hoverElement)?t.current.hoverElement:null},annotations(){return h.map(n_)},annotation(e){let t=h.find(t=>t.id===e);if(!t)return null;let n=n_(t),r=[];if(n.anchor.kind===`elements`&&t.anchor.kind===`elements`){let e=t.anchor.targets;r=n.anchor.targets.map((n,r)=>({target:n,element:j(t.id,e[r])}))}return{...n,resolvedTargets:r}},annotationRect(e){let t=h.find(t=>t.id===e);if(!t)return null;if(t.anchor.kind===`region`)return $i(t.anchor.rect);let n=t.anchor.targets.map(e=>j(t.id,e)?.getBoundingClientRect()).filter(e=>e!==void 0);if(!n.length){let e=ta(t.anchor.targets.map(e=>e.lastRect));return e?$i(e):null}return ta(n.map(e=>({left:e.left,top:e.top,width:e.width,height:e.height})))},addSelectionAnnotation:H,addRegionAnnotation:te,removeAnnotation(e){let t=h.findIndex(t=>t.id===e);if(t<0)return;let[n]=h.splice(t,1);if(n.anchor.kind===`elements`)for(let e of n.anchor.targets){let t=T(n.id,e.id);y.delete(t),b.delete(t)}h.length===0&&F(),O(),k()},subscribe(e){return _.add(e),()=>_.delete(e)},prepareCapture(){let e=[`[data-mesurer-layer='chrome']`,`[data-mesurer-toolbar='true']`,`[data-mesurer-extension-toolbar='true']`,`[data-mesurer-inspector-ui='true']:not([data-mesurer-layer='evidence'])`,`.mesurer-color-picker`].join(`,`),t=new Set;i&&t.add(i),t.add(n);for(let n of t)for(let t of n.querySelectorAll(e))v.has(t)||(v.set(t,{value:t.style.getPropertyValue(`display`),priority:t.style.getPropertyPriority(`display`)}),t.style.setProperty(`display`,`none`,`important`))},finishCapture(){ne()},dispose(){x||(x=!0,F(),I(),L(),ne(),y.clear(),b.clear(),h.length=0,_.clear())}}}var o_=[`select`,`xray`,`color-picker`,`rulers`,`text-inspector`,`guides`,`settings`],s_=`mesurer-plugin-settings`,c_=1,l_=e=>(e.startsWith(`mesurer.`)?e.slice(8):e).split(/[.-]/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(` `)||e,u_=e=>`create`in e&&typeof e.create==`function`,d_=e=>e===`select`||e===`xray`||e===`color-picker`||e===`rulers`||e===`text-inspector`||e===`guides`||e===`distance`||e===`settings`,f_=e=>`builtin.${e}`,p_=(e,t)=>{let n=t.toLowerCase().replaceAll(`cmd`,`meta`).split(`+`).map(e=>e.trim()).filter(Boolean);if(!n.length)return!1;let r=n.at(-1),i=new Set(n.slice(0,-1)),a=i.has(`mod`),o=i.has(`meta`),s=i.has(`ctrl`)||i.has(`control`),c=i.has(`shift`),l=i.has(`alt`)||i.has(`option`);return(a?!(e.metaKey||e.ctrlKey):o!==e.metaKey||s!==e.ctrlKey)||c!==e.shiftKey||l!==e.altKey||!a&&!o&&!s&&(e.metaKey||e.ctrlKey)?!1:e.key.toLowerCase()===r};function m_(e){let t=bt(()=>e.pluginHost),n=t??ya(),r=!t,i=bt(()=>e.version??`0.1.0`),a=t=>e.version&&t.id.startsWith(`mesurer.`)?{...t,version:i}:t,o=new Set(bt(()=>e.excludePlugins??[])),s=bt(()=>Zp([],e.excludePlugins??[]).map(a)),c=new Map;for(let[t,n]of bt(()=>[...e.plugins??[]]).entries()){if(u_(n)){c.set(n.id,{...n,label:n.label??l_(n.id),order:n.order??1e3+t});continue}let e=a(n);c.set(e.id,{id:e.id,label:l_(e.id),order:1e3+t,enabled:!0,create:()=>e})}let l=new Set;for(let e of c.values())e.enabled!==!1&&l.add(e.id);let u=new Map([...c.values()].map(e=>[e.id,new Set(e.settingsIds??[])])),d=new Map,f=new Map,p=new Set,m=new Map,h=null,g=null,_=()=>void 0,v=async()=>void 0,[y,b]=K(0),[x,S]=K(!1),C=e=>(y(),n.tools().find(t=>(t.builtin===e||t.id===e)&&t.command!==f_(e))),w=e=>(y(),x()?e===`distance`?n.overlays().some(t=>t.builtin===e||t.id===e):n.tools().some(t=>t.builtin===e||t.id===e):!o.has(e)),T=()=>(y(),n.state.get(`mesurer.arrange.active`)??!1),E=e=>T()&&(e===`color-picker`||e===`text-inspector`||e===`guides`),D=G(()=>(y(),n.tools().filter(e=>e.hidden?.()?!1:!e.builtin||!d_(e.builtin)||e.command!==f_(e.builtin)))),O=G(()=>{y();let e=n.settings();return[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0)).map(t=>{let r=u.get(t.id)??new Set,i=new Set(t.hiddenSettingsControlIds??[]),a=e.filter(e=>r.has(e.id)).map(e=>({...e,controls:(e.controls??[]).filter(e=>!i.has(e.id))})).filter(e=>(e.controls?.length??0)>0);return{id:t.id,label:t.label??l_(t.id),enabled:n.has(t.id),busy:p.has(t.id),sections:a}})}),k=G(()=>(y(),n.settings().filter(e=>e.id===Yf))),A=()=>{y();let e=[];for(let t of o_)(!w(t)||C(t))&&e.push(`[data-mesurer-builtin='${t}']{display:none!important}`);return(!w(`guides`)||C(`guides`))&&e.push(`[data-mesurer-builtin='guides-menu']{display:none!important}`),w(`guides`)||e.push(`[data-mesurer-guide='true']{display:none!important}`),w(`distance`)||e.push(`[data-mesurer-distance='true']{display:none!important}`),w(`rulers`)||e.push(`[data-mesurer-rulers='true']{display:none!important}`),w(`color-picker`)||e.push(`.mesurer-color-picker{display:none!important}`),e.join(`
1753
1753
  `)},j=async(t,r=`toolbar`)=>{if(!t.disabled?.())try{await n.command.execute(t.command,void 0,{source:r,toolId:t.id})}catch(n){throw e.onPluginError?.(n,t.id),n}},M=(e,t=`toolbar`)=>{j(e,t).catch(()=>void 0)},N=(t,n)=>{n.disabled?.()||Promise.resolve(n.run()).catch(r=>{e.onPluginError?.(r,`${t.id}.${n.id}`)})},P=async(t,n,r)=>{try{await n.set(r)}catch(r){e.onPluginError?.(r,`${t}.${n.id}`)}},F=(e,t,n)=>{P(e,t,n)},I=async e=>{for(let t of n.settings()){if(e&&!e.has(t.id))continue;let n=m.get(t.id);if(n)for(let e of t.controls??[]){let r=n.get(e.id);r!==void 0&&await P(t.id,e,r)}}};return Wt(()=>{let t=!0,o=0,y=!1,T=Promise.resolve(),O=new Set,k=n,N=e,P=N.portalTarget??document.body,F=P.ownerDocument??document,L=F.defaultView??window,R=N.pageTarget??F.body,z=()=>{if(!h)throw Error(`Mesurer renderer model is unavailable for runtime bridge setup.`);return h},B=()=>{let e=z().rendererRoot;if(!e?.isConnected)throw Error(`Mesurer renderer root is unavailable for runtime bridge setup.`);return e},ee=()=>{if(!g)throw Error(`Mesurer built-in controller is unavailable for runtime bridge setup.`);return g},V=()=>z().current.settings.theme,te=e=>{let t=V();return e(t),z().subscribe(()=>{let n=V();n!==t&&(t=n,e(n))})},H=()=>{let e=F.createElement(`div`);e.dataset.mesurerInspectorUi=`true`;let t=te(t=>{e.dataset.theme=t});B().append(e);let n=!1;return{element:e,dispose(){n||(n=!0,t(),e.remove())}}},ne=e=>a_({model:z(),ownerDocument:F,ownerWindow:L,uiRoot:P,pageTarget:R,persistenceKey:e?`${N.persistKey??s_}:${e}:${L.location.origin}`:void 0}),U=F.createElement(`style`);U.dataset.mesurerPluginVisibility=`true`,U.dataset.mesurerInspectorUi=`true`,U.textContent=A(),P.append(U);let re=N.persistKey?`${N.persistKey}:plugins`:s_,ie=`${re}:availability`,ae=new Map;try{let e=L.localStorage.getItem(ie);if(e){let t=JSON.parse(e);if(t?.version===c_){for(let[e,n]of Object.entries(t.enabled??{}))ae.set(e,n);for(let[e,n]of Object.entries(t.state??{}))f.set(e,n)}}}catch(e){N.onPluginError?.(e,`plugin-registry-persistence`)}let oe=()=>{let e=Object.fromEntries([...c.keys()].map(e=>[e,k.has(e)])),t=Object.fromEntries(f);try{L.localStorage.setItem(ie,JSON.stringify({version:c_,enabled:e,state:t}))}catch(e){N.onPluginError?.(e,`plugin-registry-persistence`)}},se=()=>{o=0;try{L.localStorage.setItem(re,JSON.stringify(k.state.serialize(`persist`)))}catch(e){N.onPluginError?.(e,`plugin-persistence`)}},ce=()=>{L.clearTimeout(o),o=L.setTimeout(se,50)},le=()=>{o&&(L.clearTimeout(o),se())},ue=()=>le();L.addEventListener(`pagehide`,ue);let de=k.subscribe(e=>{if(b(e=>e+1),U.textContent=A(),(e.reason===`state`||e.reason===`history`||e.reason===`remove`||e.reason===`replace`)&&ce(),x()&&!y&&(e.reason===`load`||e.reason===`remove`||e.reason===`replace`)&&oe(),e.reason===`remove`&&e.pluginId?.startsWith(`mesurer.`)){let t=e.pluginId.slice(8);d_(t)&&g?.deactivate(t)}});N.onPluginHost?.(k);let fe=async(e,n=e.id)=>{if(!t)return!1;O.add(e);try{await k.load(e)}catch(e){return t&&N.onPluginError?.(e,n),!1}finally{O.delete(e)}return t?!0:(k.plugin(e.id)===e&&k.remove(e.id),!1)},pe=e=>fe(e),me=e=>{for(let t of k.settings())!e.has(t.id)||m.has(t.id)||m.set(t.id,new Map((t.controls??[]).map(e=>[e.id,e.value()])))},he=async e=>{if(!t||k.has(e.id))return k.has(e.id);let n=new Set(k.settings().map(e=>e.id)),r=new Set(k.describe().state.map(e=>e.id));try{let i=a(await e.create());if(!t)return!1;if(i.id!==e.id)throw Error(`Plugin registration ${e.id} created mismatched plugin ${i.id}.`);if(!await fe(i,e.id))return!1;let o=new Set(u.get(e.id)??e.settingsIds??[]);for(let e of k.settings())n.has(e.id)||o.add(e.id);u.set(e.id,o);let s=new Set(d.get(e.id)??[]);for(let e of k.describe().state)r.has(e.id)||s.add(e.id);d.set(e.id,s),me(o);let c=f.get(e.id);return c&&(k.state.restore(c,`persist`),f.delete(e.id)),!0}catch(n){return t&&N.onPluginError?.(n,e.id),!1}},ge=e=>{let t=d.get(e);if(!t?.size)return;let n=k.state.serialize(`persist`),r={};for(let e of t)Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e]);Object.keys(r).length&&f.set(e,r)},_e=async(e,t,n=!0)=>{let r=c.get(e);if(!(!r||p.has(e)||k.has(e)===t)){p.add(e),b(e=>e+1);try{t?await he(r):(n?ge(e):f.delete(e),k.remove(e)),y||oe()}finally{p.delete(e),b(e=>e+1)}}},ve=e=>{let t=T.then(e,e);return T=t.catch(()=>void 0),t};_=(e,t)=>{ve(async()=>{await _e(e,t)})},v=()=>ve(async()=>{y=!0;try{await I();let e=[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0));for(let t of e)!k.has(t.id)&&!await he(t)||(await I(u.get(t.id)),l.has(t.id)?f.delete(t.id):(ge(t.id),k.remove(t.id)))}finally{y=!1}o&&L.clearTimeout(o),se(),oe()});let ye=async e=>{if(E(e))return;let t=C(e);if(t){await j(t,{source:`builtin-command`,builtin:e});return}w(e)&&await ee().run(e)};(async()=>{for(let e of s)await pe(e);if(t&&(await pe({id:`mesurer.runtime-bridge`,version:i,provides:[`runtime:solid`],setup(e){let t={ownerDocument:F,ownerWindow:L,portalTarget:P,pageTarget:R,rendererRoot:B(),currentToolMode:()=>z().current.toolMode,theme:V,subscribeTheme:te,createWorkspaceRuntime:ne,createInspectorMount:H};e.service.provide(`runtime:solid`,t),$f(e),em(e,t),$g(e,t);for(let t of o_)e.command.register(f_(t),()=>ye(t))}}),t)){for(let e of[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0))){let n=ae.has(e.id)?ae.get(e.id)===!0:e.enabled!==!1;if(k.has(e.id)){n||k.remove(e.id);continue}if(n&&await he(e),!t)return}m.clear();for(let e of k.settings())m.set(e.id,new Map((e.controls??[]).map(e=>[e.id,e.value()])));try{let e=L.localStorage.getItem(re);if(e){let t=JSON.parse(e);k.state.restore(t,`persist`)}}catch(e){N.onPluginError?.(e,`plugin-persistence`)}t&&(S(!0),U.textContent=A(),N.onPluginsReady?.(k))}})();let be=e=>{let t=e.key.toLowerCase(),n=e.metaKey||e.ctrlKey;return n&&!e.shiftKey&&!e.altKey&&t===`,`?`settings`:n||e.shiftKey||e.altKey?null:t===`s`?`select`:t===`a`?`text-inspector`:t===`g`?`guides`:t===`p`?`color-picker`:t===`x`?`xray`:t===`r`?`rulers`:null},xe=e=>{if(is(e,L)||h?.current.settings.shortcutsEnabled===!1)return;let t=be(e);if(t&&E(t)){e.preventDefault(),e.stopImmediatePropagation();return}let n=t?C(t):void 0;if(t&&n){e.preventDefault(),e.stopImmediatePropagation(),M(n,{source:`builtin-shortcut`,builtin:t});return}let r=e.key.toLowerCase();if((r===`h`||r===`v`)&&E(`guides`)){e.preventDefault(),e.stopImmediatePropagation();return}if((r===`h`||r===`v`)&&C(`guides`)){e.preventDefault(),e.stopImmediatePropagation();return}let i=D().find(t=>t.shortcut&&!t.disabled?.()&&p_(e,t.shortcut));if(i){e.preventDefault(),e.stopImmediatePropagation(),M(i);return}let a=e.metaKey||e.ctrlKey;if(a&&r===`z`&&(e.shiftKey?k.redo():k.undo())){e.preventDefault(),e.stopImmediatePropagation();return}(a&&r===`,`&&!w(`settings`)||r===`s`&&!w(`select`)||r===`a`&&!w(`text-inspector`)||r===`g`&&!w(`guides`)||(r===`h`||r===`v`)&&!w(`guides`)||r===`p`&&!w(`color-picker`)||r===`x`&&!w(`xray`)||r===`r`&&!w(`rulers`)||e.key===`Alt`&&!w(`distance`))&&(e.preventDefault(),e.stopImmediatePropagation())};return L.addEventListener(`keydown`,xe,!0),()=>{t=!1;for(let e of O)k.cancelLoad(e);O.clear(),le(),L.removeEventListener(`pagehide`,ue),L.removeEventListener(`keydown`,xe,!0),de(),U.remove(),h=null,g=null,_=()=>void 0,v=async()=>void 0,r&&k.dispose()}}),Y(gl,{runtime:{plugins:O,generalSections:k,version:()=>i,setEnabled:(e,t)=>_(e,t),update:F,reset:async()=>{await v()}},get children(){return Y(Id,{value:e=>{h=e},get children(){return Y(qf,Xi(e,{get pluginTools(){return D()},onPluginTool:e=>M(e),onPluginToolMenuItem:N,isBuiltinActionDisabled:E,onBuiltinController:e=>{g=e}}))}})}})}var h_=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),g_=(e,t,n=0)=>!(e.left+e.width+n<=t.left||t.left+t.width+n<=e.left||e.top+e.height+n<=t.top||t.top+t.height+n<=e.top),__=(e,t,n,r,i)=>{let a=e.left+e.width,o=e.top+e.height,s=[{axis:`vertical`,space:t.width-a,points:[{left:a+r,top:e.top},{left:a+r,top:o-n}]},{axis:`vertical`,space:e.left,points:[{left:e.left-n-r,top:e.top},{left:e.left-n-r,top:o-n}]},{axis:`horizontal`,space:t.height-o,points:[{left:a-n,top:o+r},{left:e.left,top:o+r}]},{axis:`horizontal`,space:e.top,points:[{left:a-n,top:e.top-n-r},{left:e.left,top:e.top-n-r}]}];return i?s.sort((e,t)=>t.space-e.space):s},v_=(e,t,n)=>{let r=[];for(let i=0;i<=n;i+=1){let n=i*t;for(let t of e)for(let e of t.points){if(i===0){r.push(e);continue}t.axis===`vertical`?r.push({left:e.left,top:e.top+n},{left:e.left,top:e.top-n}):r.push({left:e.left+n,top:e.top},{left:e.left-n,top:e.top})}}return r};function y_(e,t,n={}){let r=n.markerSize??24,i=n.markerGap??4,a=n.targetGap??6,o=n.targetClearance??2,s=n.viewportPadding??4,c=n.obstacles??[],l=Math.max(0,n.maxShiftRings??2),u=n.viewportAware??!1,d=r+i,f=Math.max(s,t.width-r-s),p=Math.max(s,t.height-r-s),m=[],h=e.map(e=>e.rect),g=[];for(let n of e){let e=new Set,_=[],v=__(n.rect,t,r,a,u);for(let t of v_(v,d,l)){let n=u?{left:h_(t.left,s,f),top:h_(t.top,s,p)}:t,r=`${n.left}:${n.top}`;e.has(r)||(e.add(r),_.push(n))}let y=_.filter(e=>{let t={...e,width:r,height:r};return h.every(e=>!g_(t,e,o))&&c.every(e=>!g_(t,e,i))}),b=y.find(e=>{let t={...e,width:r,height:r};return m.every(e=>!g_(t,e,i))})??y.find(e=>{let t={...e,width:r,height:r};return m.every(e=>!g_(t,e))})??y[0]??_[0]??{left:s,top:s};m.push({...b,width:r,height:r}),g.push({id:n.id,...b})}return g}var b_=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),x_=0,S_=e=>e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0&&e!==`none`),C_=e=>{let t=e.ownerDocument.defaultView?.HTMLElement;return!!(t&&e instanceof t)},w_=(e,t)=>{let n=e.style.getPropertyValue(`anchor-name`),r=e.style.getPropertyPriority(`anchor-name`),i=S_(n);i.includes(t)||e.style.setProperty(`anchor-name`,[...i,t].join(`, `),r);let a=!1;return()=>{if(a)return;a=!0;let i=S_(e.style.getPropertyValue(`anchor-name`)).filter(e=>e!==t);i.length?e.style.setProperty(`anchor-name`,i.join(`, `),e.style.getPropertyPriority(`anchor-name`)):n.trim()===`none`?e.style.setProperty(`anchor-name`,n,r):e.style.removeProperty(`anchor-name`)}},T_=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}},E_=(e,t,n,r,i=8)=>{let a=r.innerWidth-t-8,o=r.innerHeight-n-8,s=e.left+e.width+i,c=e.left-t-i;return{left:s+t<=r.innerWidth-8?s:c>=8?c:b_(e.left+e.width-t,8,a),top:b_(e.top,8,o)}},D_=(e,t,n,r,i=8)=>{let a=r.innerWidth-t-8,o=b_(e.left+e.width/2-t/2,8,a),s=e.top+e.height+i;if(s+n<=r.innerHeight-8)return{left:o,top:s};let c=e.top-n-i;return c>=8?{left:o,top:c}:E_(e,t,n,r,i)};function O_(e){let[t,n]=K(0),[r,i]=K(0),[a,o]=K(null),[s,c]=K(null),[l,u]=K(null),[d,f]=K({}),[p,m]=K(null),[h,g]=K(!1),[_,v]=K(``),[y,b]=K(null),[x,S]=K(!1),[C,w]=K(null),[T,E]=K(null),D=`--mesurer-annotation-trigger-${++x_}`,O=null,k=e.initialTriggerFallback===`current-and-next`,A=null,j=null,M=null,N,P,F=null,I=null,L=null,R=null,z=null,B=null,ee=new Map,V=()=>N?.ownerDocument.defaultView??window,te=()=>e.coordinateSpace===`viewport`,H=e=>e?`native-anchor`:te()?`cached-delta`:`document`,ne=e=>{if(te())return e;let t=V();return{left:e.left+t.scrollX,top:e.top+t.scrollY}},U=()=>{let t=e.runtime.currentSelection();return{elements:[...t.elements],region:t.region?{...t.region}:null}},re=(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,ie=()=>{A=null,v(``),g(!1),b(null),m(null)},ae=()=>{let e=V();return!!(e.CSS?.supports(`anchor-name: --mesurer-annotation-trigger`)&&e.CSS.supports(`position-anchor: --mesurer-annotation-trigger`)&&e.CSS.supports(`left: anchor(left)`))},oe=()=>{let t=e.runtime.currentSelection().elements;if(!t.length)return null;let n=e.runtime.hoveredElement();return t.find(e=>e===n)??t.find(e=>n&&e.contains(n))??t[0]},se=()=>N?.parentElement,ce=()=>{let e=se();return e?[...e.querySelectorAll(`[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']`)].filter(e=>e!==P||I===null):[]},le=e=>{let t=se();return t?[...t.querySelectorAll(`[data-mesurer-annotation-id]`)].filter(t=>t.dataset.mesurerAnnotationId===e):[]},ue=e=>{let t=ee.get(e);t&&(t.scroll.release(),t.releaseAnchor?.(),ee.delete(e))},de=t=>{let n=e.runtime.annotation(t);return!n||n.anchor.kind!==`elements`?null:n.resolvedTargets.find(({element:e})=>e?.isConnected)?.element??null},fe=e=>!!(C_(e)&&te()&&N&&ae()&&e.getRootNode()===N.getRootNode()),pe=e=>{let t=de(e),n=ee.get(e);if(!t){n&&(ue(e),i(e=>e+1));return}let r=fe(t);if(n?.target===t&&!!n.anchorName===r){n.scroll.sync();return}ue(e);let a=t.ownerDocument.defaultView;if(a){if(r&&C_(t)){let n=`--mesurer-annotation-${++x_}`;ee.set(e,{target:t,anchorName:n,releaseAnchor:w_(t,n),scroll:Zc(a,t,()=>le(e),{trackWindow:!1})})}else ee.set(e,{target:t,anchorName:null,releaseAnchor:null,scroll:Zc(a,t,()=>le(e),{trackWindow:te()})});i(e=>e+1)}},me=()=>{let t=new Set(e.runtime.annotations().map(e=>e.id));for(let e of ee.keys())t.has(e)||ue(e);for(let e of t)pe(e)},he=e=>{V().queueMicrotask(()=>pe(e))},ge=()=>{V().queueMicrotask(()=>{me();for(let e of ee.values())e.anchorName||e.scroll.rebase()})};e.initialTriggerFallback&&(O=oe());let _e=()=>{R?.release(),R=null,L?.(),L=null,F=null,I=null},ve=e=>!!(C_(e)&&te()&&N&&e!==O&&ae()&&e.getRootNode()===N.getRootNode()),ye=()=>{let e=oe();O&&e!==O&&(O=null);let t=F,n=!!(e?.isConnected&&ve(e)),r=I===e;if(e===F&&e?.isConnected&&n===r){R?.sync();return}let i=e===t?D:`--mesurer-annotation-trigger-${++x_}`;if(_e(),!e?.isConnected)return;F=e;let a=e.ownerDocument.defaultView;if(a){if(n&&C_(e)){L=w_(e,i),I=e,D=i,R=Zc(a,e,ce,{trackWindow:!1});return}D=i,R=Zc(a,e,ce,{trackWindow:te()})}},be=e=>{if(z?.disconnect(),z=null,!e?.isConnected)return;let t=e.ownerDocument.defaultView;t&&(z=new t.ResizeObserver(()=>{i(e=>e+1)}),z.observe(e))},xe=()=>{let e=V();B!==e&&(B?.removeEventListener(`resize`,Se),B=e,B.addEventListener(`resize`,Se,{passive:!0}))};function Se(){i(e=>e+1)}let Ce=oe();be(Ce);let we=e.runtime.subscribe(()=>{let t=e.runtime.selectGestureActive();h()&&t?(k=!0,ie()):h()&&A!==null&&!re(A,U())&&(O=oe(),k=!1,ie());let r=oe(),i=r!==Ce;i&&(Ce=r,be(Ce),k&&(k=!1,O=r)),ye(),i&&Se(),n(e=>e+1),ge()});ye(),V().queueMicrotask(me),Lt(()=>{z?.disconnect(),z=null,B?.removeEventListener(`resize`,Se),B=null,_e();for(let e of ee.keys())ue(e);we()});let Te=G(()=>(t(),e.runtime.currentSelection())),Ee=G(()=>(t(),e.runtime.annotations())),De=G(()=>{let e=a();return e?Ee().find(t=>t.id===e)??null:null}),Oe=G(()=>s()??l()??a()),ke=e=>Ee().findIndex(t=>t.id===e)+1,Ae=G(()=>{t(),r();let n=Oe();if(!n)return[];let i=e.runtime.annotation(n);if(!i)return[];if(i.anchor.kind===`region`)return[{...i.anchor.rect}];let a=i.resolvedTargets.flatMap(({element:e})=>{if(!e?.isConnected)return[];let t=e.getBoundingClientRect();return[{left:t.left,top:t.top,width:t.width,height:t.height}]});if(a.length)return a;let o=e.runtime.annotationRect(n);return o?[{...o}]:[]}),je=()=>Te().elements.length>0||Te().region!==null,Me=()=>{t();let e=A;return e!==null&&re(e,U())},Ne=G(()=>{let e=Te(),t=e.elements.filter(e=>e.isConnected).map(e=>{let t=e.getBoundingClientRect();return{left:t.left,top:t.top,width:t.width,height:t.height}});return e.region&&t.push({...e.region}),t}),Pe=G(()=>T_(Ne())),Fe=()=>{let e=Te().elements.length;return e>1?`${e} selected elements`:e===1?`Selected element`:`Selected region`},Ie=e=>e.anchor.kind===`elements`?`${e.anchor.targets.length} selected ${e.anchor.targets.length===1?`element`:`elements`}`:`Selected region`,Le=G(()=>{r();let t=e.runtime.currentSelection().elements;if(!t.length)return null;let n=e.runtime.hoveredElement();return t.find(e=>e===n)??t.find(e=>n&&e.contains(n))??t[0]}),Re=()=>{let e=Le();if(!e?.isConnected)return null;let t=e.getBoundingClientRect(),n={left:t.left,top:t.top,width:t.width,height:t.height},r=V(),i=[...bt(ze).values()].map(e=>({left:e.left,top:e.top,width:24,height:24})),[a]=y_([{id:`selection-note-trigger`,rect:n}],{width:r.innerWidth,height:r.innerHeight},{obstacles:i,maxShiftRings:1}),o=a?.left??b_(n.left+n.width+6,4,r.innerWidth-24-4),s=a?.top??b_(n.top,4,r.innerHeight-24-4),c=I===e,l=te()&&!c;return{left:c||l?o:o+r.scrollX,top:c||l?s:s+r.scrollY,anchorX:o-n.left,anchorY:s-n.top,nativeAnchor:c,viewportOwned:l}},ze=G(()=>{t(),r();let n=V(),i=Ee().flatMap(t=>{let n=e.runtime.annotationRect(t.id);return n?[{id:t.id,rect:n}]:[]});return new Map(y_(i,{width:n.innerWidth,height:n.innerHeight},{obstacles:Ne()}).map(e=>[e.id,e]))}),Be=e=>ze().get(e)??null,Ve=(e,t)=>{r();let n=ee.get(e);if(!n?.anchorName||!n.target.isConnected)return{...ne(t),nativeAnchor:!1};let i=n.target.getBoundingClientRect();return{...t,nativeAnchor:!0,anchorName:n.anchorName,anchorX:t.left-i.left,anchorY:t.top-i.top}},He=()=>{let e=Pe(),t=V(),n=p();return n&&e?{left:e.left+n.left,top:e.top+n.top}:e?D_(e,272,168,t):{left:8,top:8}},Ue=()=>{r();let e=He(),t=Le();if(!t?.isConnected||I!==t)return{...ne(e),nativeAnchor:!1};let n=t.getBoundingClientRect();return{...e,nativeAnchor:!0,anchorName:D,anchorX:e.left-n.left,anchorY:e.top-n.top}},We=(e,t)=>{let n=V(),r=ze(),i=r.get(e);if(!i)return E_(t,272,176,n);let a=n.innerWidth-272-8,o=n.innerHeight-176-8,s=[...r.values()].map(e=>({left:e.left,top:e.top,width:24,height:24})),c=(e,t)=>Math.max(0,Math.min(e.left+e.width,t.left+t.width)-Math.max(e.left,t.left))*Math.max(0,Math.min(e.top+e.height,t.top+t.height)-Math.max(e.top,t.top)),l=new Set,u=[];for(let e of[{left:i.left+24+8,top:i.top},{left:i.left-272-8,top:i.top},{left:i.left,top:i.top+24+8},{left:i.left,top:i.top-176-8}]){let t={left:b_(e.left,8,a),top:b_(e.top,8,o)},n=`${t.left}:${t.top}`;l.has(n)||(l.add(n),u.push(t))}return u.map((e,n)=>{let r={...e,width:272,height:176};return{candidate:e,markerOverlap:s.reduce((e,t)=>e+c(r,t),0),targetOverlap:c(r,t),index:n}}).sort((e,t)=>e.markerOverlap-t.markerOverlap||e.targetOverlap-t.targetOverlap||e.index-t.index)[0]?.candidate??E_(t,272,176,n)},Ge=t=>{let n=e.runtime.annotationRect(t);if(!n)return{left:8,top:8};let r=d()[t];return r?{left:n.left+r.left,top:n.top+r.top}:We(t,n)},Ke=t=>{V().queueMicrotask(()=>{let n=e.runtime.annotationRect(t);n&&f(e=>{if(e[t])return e;let r=We(t,n);return{...e,[t]:{left:r.left-n.left,top:r.top-n.top}}})})},qe=e=>Ve(e,Ge(e)),Je=e=>{k=!1,A=null,g(!1),pe(e),Ke(e),o(e),w(null),he(e)},Ye=(t,n)=>{let r=t.currentTarget.ownerDocument.defaultView?.Element,i=t.target;if(t.button!==0||r&&i instanceof r&&i.closest(`button`))return;let a=t.currentTarget.parentElement;if(!a)return;let o=a.getBoundingClientRect(),s=V(),c=s.document.documentElement,l=c.style.userSelect;c.style.setProperty(`user-select`,`none`,`important`),j={surfaceId:n,pointerId:t.pointerId,startX:t.clientX,startY:t.clientY,originLeft:o.left,originTop:o.top,width:o.width,height:o.height},E(n),t.preventDefault(),t.stopPropagation();let u=t=>{if(!j||t.pointerId!==j.pointerId)return;let r=j,i=Math.max(8,s.innerWidth-r.width-8),a=Math.max(8,s.innerHeight-r.height-8),o={left:b_(r.originLeft+t.clientX-r.startX,8,i),top:b_(r.originTop+t.clientY-r.startY,8,a)};if(n===`composer`){let e=Pe();m(e?{left:o.left-e.left,top:o.top-e.top}:null)}else{let t=e.runtime.annotationRect(n);if(!t)return;f(e=>({...e,[n]:{left:o.left-t.left,top:o.top-t.top}}))}},d=e=>{!j||e.pointerId!==t.pointerId||(c.style.userSelect=l,s.removeEventListener(`pointermove`,u),s.removeEventListener(`pointerup`,d),s.removeEventListener(`pointercancel`,d),j=null,E(null),M=null)};s.addEventListener(`pointermove`,u),s.addEventListener(`pointerup`,d),s.addEventListener(`pointercancel`,d),M=()=>{c.style.userSelect=l,s.removeEventListener(`pointermove`,u),s.removeEventListener(`pointerup`,d),s.removeEventListener(`pointercancel`,d),E(null)}};Lt(()=>{M?.(),M=null,j=null});let Xe=async(e,t)=>{if(!x()){S(!0),w(null);try{await e(),w(t)}catch(e){w(e instanceof Error?e.message:String(e))}finally{S(!1)}}},Ze=ie,Qe=()=>{if(!je())return;k=!1,A=U(),v(``),b(null),w(null),o(null);let e=Pe();if(e){let t=D_(e,272,168,V());m({left:t.left-e.left,top:t.top-e.top})}else m(null);g(!0),V().queueMicrotask(()=>R?.sync())},$e=()=>{let e=h();A!==null&&!re(A,U())?(O=oe(),k=!1,ye(),Se()):e&&(k=!1),Ze()},et=()=>{h()&&(k=!0,Ze())},tt=()=>{try{let t=e.runtime.addSelectionAnnotation(_());k=!1,A=null,v(``),b(null),g(!1),m(null),pe(t.id),Ke(t.id),o(t.id),w(null),he(t.id)}catch(e){b(e instanceof Error?e.message:String(e))}},nt={openNoteComposer:Qe,closeNoteComposer:$e,abandonNoteComposer:et};return e.onController?.(nt),Lt(()=>e.onController?.(null)),[(()=>{var e=X(`span`,{"aria-hidden":`true`,style:{display:`none`}});return Qi(()=>e=>{N=e,xe(),ye()},e),e})(),Y(q,{get when(){return qi(()=>Te().elements.length>0)()&&!h()},get children(){return Y(q,{get when(){return Le()},keyed:!0,children:e=>Y(q,{get when(){return Re()},children:e=>(()=>{var t=X(`button`,{type:`button`,"data-mesurer-layer":`chrome`,"data-mesurer-inspector-ui":`true`,"data-mesurer-annotation-trigger":`true`,"aria-label":`Annotate selection`,title:`Annotate selection`,class:`msr:pointer-events-auto msr:z-[95] msr:flex msr:w-6 msr:h-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:text-black msr:outline-none msr:hover:bg-ink-50 msr:focus-visible:border-[#0d99ff]`,onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),Qe()}});return Qi(()=>e=>{P=e,R?.sync()},t),Q(t,Y(Hl,{size:14})),J(()=>({e:te()?`viewport`:`document`,t:H(e().nativeAnchor),a:{position:e().nativeAnchor||e().viewportOwned?`fixed`:`absolute`,left:e().nativeAnchor?`calc(anchor(left) + ${e().anchorX}px)`:`${e().left}px`,top:e().nativeAnchor?`calc(anchor(top) + ${e().anchorY}px)`:`${e().top}px`,translate:`var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)`,"position-anchor":e().nativeAnchor?D:void 0,"z-index":`2147483647`}}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`data-mesurer-context-coordinate-space`,e,i?.e),n!==i?.t&&$(t,`data-mesurer-annotation-scroll-mode`,n,i?.t),r!==i?.a&&$(t,`style`,r,i?.a)}),t})()})})}}),Y(q,{get when(){return qi(()=>!!(h()&&Me()))()?Pe():h()&&Me()},get children(){return Y(q,{get when(){return Ue()},children:e=>(()=>{var t=X(`div`,{"data-mesurer-layer":`chrome`,"data-mesurer-inspector-ui":`true`,"data-mesurer-annotation-composer":`true`,class:`mesurer-menu-surface msr:pointer-events-auto msr:z-[95] msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:rounded-[10px] msr:border msr:border-ink-200 msr:bg-white msr:p-1.5 msr:text-black`,onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()}),n=X(`div`,{class:`msr:flex msr:h-7 msr:items-center msr:gap-1.5 msr:px-1`,"aria-label":`Drag note composer`,onPointerDown:e=>Ye(e,`composer`)}),r=X(`div`,{class:`msr:min-w-0 msr:flex-1`}),i=X(`div`,{class:`msr:text-[11px] msr:font-medium msr:text-ink-900`}),a=X(`div`,{class:`msr:text-[9px] msr:text-ink-500`}),o=X(`button`,{type:`button`,class:`msr:flex msr:w-6 msr:h-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border-0 msr:bg-transparent msr:text-black msr:outline-none msr:hover:bg-black/4 msr:disabled:cursor-default msr:disabled:opacity-40`,"aria-label":`Close note composer`,title:`Close`,onClick:$e}),s=X(`textarea`,{autofocus:!0,placeholder:`Describe what should change…`,onInput:e=>{v(e.currentTarget.value),b(null)},onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),tt()),e.key===`Escape`&&(e.preventDefault(),$e())},class:`msr:box-border msr:mt-1 msr:h-20 msr:w-full msr:resize-none msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:p-2 msr:text-[12px] msr:leading-[1.4] msr:text-black msr:outline-none msr:placeholder:text-ink-400 msr:focus:border-[#0d99ff]`}),c=X(`div`,{class:`msr:mt-1.5 msr:flex msr:h-7 msr:items-center msr:justify-between msr:gap-2 msr:px-1`}),l=X(`span`,{class:`msr:text-[9px] msr:text-ink-400`}),u=X(`div`,{class:`msr:flex msr:gap-1`}),d=X(`button`,{type:`button`,class:`msr:h-7 msr:rounded-[7px] msr:border-0 msr:bg-transparent msr:px-2 msr:text-[11px] msr:text-ink-700 msr:hover:bg-black/4`,onClick:$e}),f=X(`button`,{type:`button`,class:`msr:h-7 msr:rounded-[7px] msr:border-0 msr:bg-[#0d99ff] msr:px-2.5 msr:text-[11px] msr:font-medium msr:text-white msr:hover:bg-[#0b8eea]`,onClick:tt});return Z(t,n),Z(t,s),Z(t,c),Z(n,r),Z(n,o),Q(n,Y(Hl,{size:14,class:`msr:text-ink-700`}),r),Z(r,i),Z(r,a),Z(i,Ji(`Add note`)),Q(a,Fe),Q(o,Y(Wl,{size:14})),Q(t,Y(q,{get when(){return y()},children:e=>(()=>{var t=X(`div`,{class:`msr:mt-1.5 msr:px-1 msr:text-[10px] msr:text-red-600`});return Q(t,e),t})()}),c),Z(c,l),Z(c,u),Z(l,Ji(`⌘/Ctrl ↵`)),Z(u,d),Z(u,f),Z(d,Ji(`Cancel`)),Z(f,Ji(`Add note`)),J(()=>({e:te()?`viewport`:`document`,t:H(e().nativeAnchor),a:{position:e().nativeAnchor||te()?`fixed`:`absolute`,left:e().nativeAnchor?`calc(anchor(left) + ${e().anchorX}px)`:`${e().left}px`,top:e().nativeAnchor?`calc(anchor(top) + ${e().anchorY}px)`:`${e().top}px`,translate:`var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)`,"position-anchor":e().nativeAnchor?e().anchorName:void 0,"z-index":`2147483647`},o:{cursor:T()===`composer`?`grabbing`:`grab`},i:_()}),({e,t:r,a:i,o:a,i:o},c)=>{e!==c?.e&&$(t,`data-mesurer-context-coordinate-space`,e,c?.e),r!==c?.t&&$(t,`data-mesurer-annotation-scroll-mode`,r,c?.t),i!==c?.a&&$(t,`style`,i,c?.a),a!==c?.o&&$(n,`style`,a,c?.o),o!==c?.i&&$(s,`value`,o,c?.i)}),t})()})}}),Y(Wr,{get each(){return Ae()},children:e=>{let t=()=>Oe(),n=()=>{let n=t();return n?Ve(n,{left:e.left,top:e.top}):{...ne({left:e.left,top:e.top}),nativeAnchor:!1}};var r=X(`div`,{"data-mesurer-layer":`chrome`,"data-mesurer-inspector-ui":`true`,"data-mesurer-annotation-target-highlight":`true`,"aria-hidden":`true`,class:`msr:pointer-events-none`});return J(()=>({e:t()??void 0,t:H(n().nativeAnchor),a:{position:n().nativeAnchor||te()?`fixed`:`absolute`,left:n().nativeAnchor?`calc(anchor(left) + ${n().anchorX}px)`:`${n().left}px`,top:n().nativeAnchor?`calc(anchor(top) + ${n().anchorY}px)`:`${n().top}px`,width:`${e.width}px`,height:`${e.height}px`,"box-sizing":`border-box`,border:`1.5px solid #0d99ff`,translate:`var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)`,"position-anchor":n().nativeAnchor?n().anchorName:void 0,"z-index":`2147483645`}}),({e,t,a:n},i)=>{e!==i?.e&&$(r,`data-mesurer-annotation-id`,e,i?.e),t!==i?.t&&$(r,`data-mesurer-annotation-scroll-mode`,t,i?.t),n!==i?.a&&$(r,`style`,n,i?.a)}),r}}),Y(Wr,{get each(){return Ee()},children:(e,t)=>{let n=()=>Be(e.id),r=()=>{let t=n();return t?Ve(e.id,t):null},i=()=>Oe()===e.id,o=()=>Oe()!==null&&!i();return Y(q,{get when(){return r()},children:n=>(()=>{var r=X(`button`,{type:`button`,"data-mesurer-layer":`evidence`,"data-mesurer-annotation-marker":`true`,onPointerEnter:()=>{c(e.id),he(e.id)},onPointerLeave:()=>c(t=>t===e.id?null:t),onFocus:()=>{u(e.id),he(e.id)},onBlur:()=>u(t=>t===e.id?null:t),onPointerDown:t=>{t.preventDefault(),t.stopPropagation(),Je(e.id)},onPointerUp:e=>e.stopPropagation(),onClick:t=>{t.preventDefault(),t.stopPropagation(),Je(e.id)},class:`msr:pointer-events-auto msr:z-[94] msr:flex msr:w-6 msr:h-6 msr:items-center msr:justify-center msr:border-0 msr:bg-transparent msr:p-0 msr:outline-none`}),s=X(`span`,{"data-mesurer-annotation-badge":`true`,"aria-hidden":`true`,class:`msr:flex msr:h-5 msr:w-5 msr:items-center msr:justify-center msr:rounded-[6px] msr:border msr:text-[10px] msr:font-semibold msr:leading-none`});return Z(r,s),Q(s,()=>t()+1),J(()=>({e:e.id,t:t()+1,a:i()?`true`:void 0,o:o()?`true`:void 0,i:H(n().nativeAnchor),n:te()?`viewport`:`document`,s:`Mesurer annotation ${t()+1}: ${e.note}`,h:e.note,r:a()===e.id?`true`:`false`,d:{position:n().nativeAnchor||te()?`fixed`:`absolute`,left:n().nativeAnchor?`calc(anchor(left) + ${n().anchorX}px)`:`${n().left}px`,top:n().nativeAnchor?`calc(anchor(top) + ${n().anchorY}px)`:`${n().top}px`,opacity:o()?`0.36`:`1`,translate:`var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)`,"position-anchor":n().nativeAnchor?n().anchorName:void 0,transition:`opacity 150ms ease`,"z-index":`2147483647`},l:{border:`1px solid #0d99ff`,color:i()?`white`:`#0d99ff`,background:i()?`#0d99ff`:`white`,transform:i()?`scale(1.2)`:`scale(1)`,"box-shadow":i()?`0 3px 10px rgba(13, 153, 255, 0.28)`:`0 1px 3px rgba(15, 23, 42, 0.12)`,transition:`transform 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease`,"font-variant-numeric":`tabular-nums`}}),({e,t,a:n,o:i,i:a,n:o,s:c,h:l,r:u,d,l:f},p)=>{e!==p?.e&&$(r,`data-mesurer-annotation-id`,e,p?.e),t!==p?.t&&$(r,`data-mesurer-annotation-number`,t,p?.t),n!==p?.a&&$(r,`data-mesurer-annotation-highlighted`,n,p?.a),i!==p?.o&&$(r,`data-mesurer-annotation-muted`,i,p?.o),a!==p?.i&&$(r,`data-mesurer-annotation-scroll-mode`,a,p?.i),o!==p?.n&&$(r,`data-mesurer-context-coordinate-space`,o,p?.n),c!==p?.s&&$(r,`aria-label`,c,p?.s),l!==p?.h&&$(r,`title`,l,p?.h),u!==p?.r&&$(r,`aria-expanded`,u,p?.r),d!==p?.d&&$(r,`style`,d,p?.d),f!==p?.l&&$(s,`style`,f,p?.l)}),r})()})}}),Y(q,{get when(){return De()},children:t=>{let n=()=>qe(t().id),r=()=>ke(t().id);var i=X(`div`,{"data-mesurer-layer":`chrome`,"data-mesurer-inspector-ui":`true`,"data-mesurer-annotation-panel":`true`,class:`mesurer-menu-surface msr:pointer-events-auto msr:z-[95] msr:w-[272px] msr:max-h-[220px] msr:rounded-[10px] msr:border msr:border-ink-200 msr:bg-white msr:p-1.5 msr:text-black`,onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()}),a=X(`div`,{class:`msr:flex msr:h-7 msr:items-center msr:gap-1.5 msr:px-1`,"aria-label":`Drag annotation panel`,onPointerDown:e=>Ye(e,t().id)}),s=X(`span`,{"data-mesurer-annotation-panel-badge":`true`,"aria-hidden":`true`,class:`msr:flex msr:h-[18px] msr:w-[18px] msr:items-center msr:justify-center msr:rounded-[5px] msr:text-[9px] msr:font-semibold msr:leading-none msr:text-white`,style:{background:`#0d99ff`,"font-variant-numeric":`tabular-nums`}}),l=X(`div`,{class:`msr:min-w-0 msr:flex-1`}),d=X(`div`,{class:`msr:text-[11px] msr:font-medium msr:text-ink-700`}),p=Ji(`Note `),m=X(`div`,{class:`msr:text-[9px] msr:text-ink-500`}),h=X(`div`,{class:`msr:flex msr:items-center msr:gap-0.5`}),g=X(`button`,{type:`button`,class:`msr:flex msr:w-6 msr:h-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border-0 msr:bg-transparent msr:text-black msr:outline-none msr:hover:bg-black/4 msr:disabled:cursor-default msr:disabled:opacity-40`,"aria-label":`Copy annotation context`,title:`Copy context`,onClick:()=>void Xe(()=>e.onCopy({annotation:t().id}),`Copied`)}),_=X(`button`,{type:`button`,class:`msr:flex msr:w-6 msr:h-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border-0 msr:bg-transparent msr:text-black msr:outline-none msr:hover:bg-black/4 msr:disabled:cursor-default msr:disabled:opacity-40`,"aria-label":`Delete annotation`,title:`Delete`,onClick:()=>{let n=t().id;e.runtime.removeAnnotation(n),f(e=>{let t={...e};return delete t[n],t}),ue(n),c(e=>e===n?null:e),u(e=>e===n?null:e),o(null),w(null)}}),v=X(`button`,{type:`button`,class:`msr:flex msr:w-6 msr:h-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border-0 msr:bg-transparent msr:text-black msr:outline-none msr:hover:bg-black/4 msr:disabled:cursor-default msr:disabled:opacity-40`,"aria-label":`Close annotation`,title:`Close`,onClick:()=>{o(null),w(null)}}),y=X(`div`,{class:`msr:mx-1 msr:mt-1 msr:max-h-36 msr:overflow-auto msr:whitespace-pre-wrap msr:rounded-[7px] msr:bg-ink-50 msr:px-2 msr:py-2 msr:text-[12px] msr:leading-[1.45] msr:text-ink-800`});return Z(i,a),Z(i,y),Z(a,s),Z(a,l),Z(a,h),Q(s,r),Z(l,d),Z(l,m),Z(d,p),Q(d,r,null),Q(m,()=>Ie(t())),Z(h,g),Z(h,_),Z(h,v),Q(g,Y(Vl,{size:14})),Q(_,Y(Ul,{size:14})),Q(v,Y(Wl,{size:14})),Q(y,()=>t().note),Q(i,Y(q,{get when(){return C()},children:e=>(()=>{var t=X(`div`,{class:`msr:mt-1.5 msr:px-1 msr:text-[10px] msr:text-ink-500`,role:`status`});return Q(t,e),t})()}),null),J(()=>({e:t().id,t:H(n().nativeAnchor),a:te()?`viewport`:`document`,o:{position:n().nativeAnchor||te()?`fixed`:`absolute`,left:n().nativeAnchor?`calc(anchor(left) + ${n().anchorX}px)`:`${n().left}px`,top:n().nativeAnchor?`calc(anchor(top) + ${n().anchorY}px)`:`${n().top}px`,translate:`var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)`,"position-anchor":n().nativeAnchor?n().anchorName:void 0,"z-index":`2147483646`},i:{cursor:T()===t().id?`grabbing`:`grab`},n:x()}),({e,t,a:n,o:r,i:o,n:s},c)=>{e!==c?.e&&$(i,`data-mesurer-annotation-id`,e,c?.e),t!==c?.t&&$(i,`data-mesurer-annotation-scroll-mode`,t,c?.t),n!==c?.a&&$(i,`data-mesurer-context-coordinate-space`,n,c?.a),r!==c?.o&&$(i,`style`,r,c?.o),o!==c?.i&&$(a,`style`,o,c?.i),s!==c?.n&&$(g,`disabled`,s,c?.n)}),i}})]}function k_(e){let t=null;return Lt(Pd(e.ownerWindow,()=>{t?.abandonNoteComposer()})),Y(O_,{get runtime(){return e.runtime},get onCopy(){return e.onCopy},get initialTriggerFallback(){return e.initialTriggerFallback},get coordinateSpace(){return e.coordinateSpace},onController:n=>{t=n,e.onController?.(n)}})}var A_=`2147482950`,j_=`2147483646`,M_=`2147483647`;function N_(e){let{ownerDocument:t,ownerWindow:n,pageTarget:r}=e,i=t.body;if(!(i&&!(r instanceof n.ShadowRoot)&&r.getRootNode()===t))return e.createInspectorMount();Zd(Ff,i);let a=t.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerDocumentInspectorMount=`true`,a.dataset.theme=e.theme?.()??`system`;let o=e.subscribeTheme?.(e=>{a.dataset.theme=e})??(()=>void 0);Object.assign(a.style,{position:`absolute`,left:`0px`,top:`0px`,width:`0px`,height:`0px`,overflow:`visible`});let s=t.createElement(`style`);s.dataset.mesurerDocumentInspectorLayerStyle=`true`,s.textContent=`
1754
1754
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
1755
1755
  position: absolute !important;
@@ -1765,6 +1765,6 @@ body.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesur
1765
1765
  position: absolute !important;
1766
1766
  z-index: ${M_} !important;
1767
1767
  }
1768
- `,t.head.append(s),i.append(a);let c=!1;return{element:a,dispose(){c||(c=!0,o(),s.remove(),a.remove())}}}var P_=e=>`color-mix(in srgb, ${e.color} ${e.opacity*100}%, transparent)`,F_=e=>e===`max`?`end`:e===`center`?`center`:`start`,I_=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=F_(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 L_(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(Wr,{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(Wr,{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":P_(e)}),(e,n)=>{$(t,`style`,e,n)}),t})()})),J(()=>({e:e.id,t:e.kind,a:I_(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, ${P_(e)} 1px, transparent 1px), linear-gradient(to bottom, ${P_(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 R_=`#FF0000`,z_=.1,B_=new Set([`columns`,`rows`,`grid`]),V_=new Set([`stretch`,`min`,`center`,`max`]),H_=(e,t,n)=>Math.min(n,Math.max(t,e)),U_=(e,t)=>e!==void 0&&Number.isFinite(e)?e:t,W_=(e={})=>{let t=e.kind&&B_.has(e.kind)?e.kind:`columns`,n=e.align&&V_.has(e.align)?e.align:t===`grid`?`min`:`stretch`,r=e.id?.trim(),i=e.color?.trim();return{id:r||Eo(),kind:t,visible:e.visible??!0,color:i||`#FF0000`,opacity:H_(U_(e.opacity,z_),0,1),count:H_(Math.round(U_(e.count,5)),1,24),size:H_(U_(e.size,72),1,4096),gutter:H_(U_(e.gutter,20),0,800),offset:H_(U_(e.offset,0),0,4096),align:n}},G_=e=>(e??[]).map(W_),K_=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)`},q_=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})(),J_=e=>e.kind===`rows`?Y(Il,{size:14}):e.kind===`grid`?Y(Pl,{size:14}):Y(Fl,{size:14}),Y_=`msr:grid-cols-[78px_minmax(0,1fr)]`,X_=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})(),Z_=e=>(()=>{var t=X(`span`,{class:`msr:relative msr:block msr:w-full`}),n=X(`select`,{class:vl,onPointerDown:e=>e.stopPropagation(),onChange:t=>e.onChange(t.currentTarget.value)});return Z(t,n),Q(n,()=>e.children),Q(t,Y(yl,{}),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})(),Q_=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(bl,{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}})},$_=e=>e===`rows`||e===`grid`?e:`columns`,ev=e=>e===`min`||e===`center`||e===`max`?e:`stretch`,tv=e=>{let t=G(()=>e.guide.kind===`rows`?{stretch:`Stretch`,min:`Top`,center:`Center`,max:`Bottom`}:{stretch:`Stretch`,min:`Left`,center:`Center`,max:`Right`}),n=G(()=>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(Z_,{label:`Layout guide type`,get value(){return e.guide.kind},onChange:t=>{let n=$_(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,Ji(`Columns`)),e})(),(()=>{var e=X(`option`,{value:`rows`});return Z(e,Ji(`Rows`)),e})(),(()=>{var e=X(`option`,{value:`grid`});return Z(e,Ji(`Grid`)),e})()]}}),a),Q(a,Y(q_,{})),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(X_,{label:`Count`,get children(){return Y(Q_,{label:`Count`,get value(){return e.guide.count},min:1,max:24,onChange:t=>e.onUpdate({count:t})})}})}}),null),Q(r,Y(xl,{label:`Color`,columns:Y_,get value(){return Ea({...wa(e.guide.color)??wa(`#FF0000`),alpha:e.guide.opacity})},fallback:R_,get ownerWindow(){return e.ownerWindow},onChange:t=>{let n=wa(t);e.onUpdate({color:n?Ea({...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(X_,{label:`Type`,get children(){return Y(Z_,{label:`Alignment`,get value(){return e.guide.align},onChange:t=>e.onUpdate({align:ev(t)}),get children(){return Y(Wr,{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(X_,{get label(){return n()},get children(){return Y(Q_,{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(X_,{label:`Offset`,get children(){return Y(Q_,{label:`Offset`,get value(){return e.guide.offset},min:0,max:4096,onChange:t=>e.onUpdate({offset:t})})}}),Y(X_,{label:`Gutter`,get children(){return Y(Q_,{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 nv(e){let[t,n]=K(null),r=G(()=>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,Ji(`Layout guides`)),Q(a,Y(Ll,{})),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,Ji(`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(Wr,{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(J_,{get kind(){return t.kind}})),Q(o,()=>K_(t)),Q(i,Y(Dl,{size:8,class:`msr:block msr:-rotate-90 msr:text-ink-400`}),null),Q(s,(()=>{var e=qi(()=>!!t.visible);return()=>e()?Y(Rl,{}):Y(zl,{})})()),Q(c,Y(kl,{size:10,class:`msr:block`})),J(()=>({e:t.visible?`Hide ${K_(t)}`:`Show ${K_(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 ${K_(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(tv,{get guide(){return t()},get ownerWindow(){return e.ownerWindow},onBack:()=>n(null),onUpdate:n=>e.onUpdate(t().id,n)})})),i}var rv=`mesurer.layout-guides`,iv=`layout-guides:v1`,av=`mesurer.layout-guides.pages`,ov=`mesurer.layout-guides.active`,sv=`runtime:solid`,cv=`layout-guides.toggle`,lv=`layout-guides.add`,uv=`layout-guides.update`,dv=`layout-guides.remove`,fv=`layout-guides.clear`,pv=240,mv=8,hv=8,gv=()=>({pages:{}}),_v=(e,t)=>e.pages[t]??[],vv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),yv=e=>typeof e==`string`,bv=e=>typeof e==`boolean`,xv=e=>typeof e==`number`,Sv=e=>e===`columns`||e===`rows`||e===`grid`,Cv=e=>e===`stretch`||e===`min`||e===`center`||e===`max`,wv=e=>({...e}),Tv=e=>e.map(wv),Ev=e=>vv(e)?e:null,Dv=e=>{if(!e)return{};let t={};return yv(e.id)&&(t.id=e.id),Sv(e.kind)&&(t.kind=e.kind),bv(e.visible)&&(t.visible=e.visible),yv(e.color)&&(t.color=e.color),xv(e.opacity)&&(t.opacity=e.opacity),xv(e.count)&&(t.count=e.count),xv(e.size)&&(t.size=e.size),xv(e.gutter)&&(t.gutter=e.gutter),xv(e.offset)&&(t.offset=e.offset),Cv(e.align)&&(t.align=e.align),t},Ov=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},kv={viewBox:`0 0 256 256`,paths:[`M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z`,`M101 56h8v144h-8zM147 56h8v144h-8z`]},Av=()=>_a({id:rv,version:`0.1.0`,requires:[sv],provides:[iv,`tool:layout-guides`],setup(e){let t=e.service.get(sv);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:av,initial:gv(),history:!0,persist:!0}),e.state.register({id:ov,initial:!1});let r=fs(t.ownerWindow),i=!1,[a,o]=K(0),s=new Set,c=0,l=()=>e.state.get(`mesurer.layout-guides.pages`)??gv(),u=()=>e.state.get(`mesurer.layout-guides.active`)??!1,d=()=>G_(_v(l(),r)),f=()=>(a(),u()?d():[]),p=t=>{e.state.update(ov,()=>t)},m=t=>{e.state.update(av,e=>({...e,pages:{...e.pages,[r]:Tv(t(G_(e.pages[r])))}}))};e.command.register(cv,()=>{let e=!u();return e&&d().length===0&&m(()=>[W_()]),i=e,p(e),u()}),e.command.register(lv,e=>{let t=W_(Dv(Ev(e)));return m(e=>[...e,t]),{...t}}),e.command.register(uv,e=>{let t=Ev(e),n=t&&yv(t.id)?t.id:null,r=Dv(Ev(t?.patch));if(!n)throw Error(`layout-guides.update requires a guide id.`);m(e=>e.map(e=>e.id===n?W_({...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(dv,e=>{let t=Ev(e),n=t&&yv(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(fv,()=>{m(()=>[])});let h=async(t,n)=>{let r=Ev(await e.command.execute(t,n));if(!r)throw Error(`${t} did not return a layout guide.`);return W_(Dv(r))},g={list:()=>d().map(e=>({...e})),add:(e={})=>h(lv,Ov(e)),update:(e,t)=>h(uv,{id:e,patch:Ov(t)}),async remove(t){return await e.command.execute(dv,{id:t})===!0},async clear(){await e.command.execute(fv)},subscribe(e){s.add(e);let t=!1;return()=>{t||(t=!0,s.delete(e))}}};e.service.provide(iv,g),e.tool.register({id:`layout-guides`,label:`Layout guides`,shortcut:`L`,command:cv,order:38,icon:kv,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=Ki(()=>Y(L_,{get guides(){return f()}}),_),y=t.createInspectorMount();y.element.dataset.mesurerLayoutGuidesPanelRoot=`true`,Object.assign(y.element.style,{position:`fixed`,left:`0`,top:`0`,width:`${pv}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(hv,n.right-pv),Math.max(hv,t.ownerWindow.innerWidth-pv-hv)),a=t.ownerWindow.innerHeight-n.bottom-mv-hv,o=Math.min(320,t.ownerWindow.innerHeight-16),s=a>=Math.min(o,320)?n.bottom+mv:Math.max(hv,n.top-mv-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=Ki(()=>Y(nv,{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=gs(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()})}}),jv=144,Mv=96,Nv=8,Pv=4,Fv=1800,Iv=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},Lv=(e,t)=>({left:Math.min(Math.max(Nv,e.left),Math.max(Nv,t.innerWidth-jv-Nv)),top:Math.min(Math.max(Nv,e.top),Math.max(Nv,t.innerHeight-Mv-Nv))}),Rv=(e,t)=>{let n=e.createElement(`button`);return n.type=`button`,n.textContent=t,Iv(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},zv=({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`,Bv=e=>e!==null&&(e.nodeType===1||e.nodeType===11),Vv=({ownerDocument:e,ownerWindow:t,root:n,previewDurationMs:r})=>{let i=n.closest(`[data-mesurer-root='true']`)?.parentNode??n.parentNode;if(!Bv(i))throw Error(`Screenshot preview requires a mounted Mesurer host.`);let a=e.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerScreenshotInteractive=`true`,Iv(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,Iv(o,{position:`fixed`,display:`none`,"z-index":`96`,width:`${jv}px`,height:`${Mv}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`,Iv(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`,Iv(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":`1`,cursor:`pointer`});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`),Iv(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`,Iv(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`,Iv(p,{position:`fixed`,top:`16px`,right:`16px`,display:`flex`,gap:`8px`,"pointer-events":`auto`});let m=Rv(e,`Copy`);m.dataset.mesurerScreenshotViewerCopy=`true`,m.setAttribute(`aria-label`,`Copy screenshot`);let h=Rv(e,`Save`);h.dataset.mesurerScreenshotViewerSave=`true`,h.setAttribute(`aria-label`,`Save screenshot`);let g=Rv(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`),Iv(_,{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=!1,T=()=>{S&&t.clearTimeout(S),S=0},E=()=>{C&&t.clearTimeout(C),C=0},D=(e,n=!1)=>{E(),_.textContent=e,_.style.backgroundColor=n?`#b42318`:`rgb(28 28 30 / 90%)`,_.style.display=`block`,C=t.setTimeout(()=>{C=0,_.style.display=`none`},Fv)},O=()=>{d.style.display=`none`},k=()=>{y&&globalThis.URL.revokeObjectURL(y),y=null,v=null,s.removeAttribute(`src`),f.removeAttribute(`src`)},A=()=>{T(),O(),o.style.display=`none`,k()},j=()=>Lv({left:t.innerWidth-jv-Nv,top:t.innerHeight-Mv-Nv},t),M=e=>{let n=Lv(e,t);b=n,o.style.left=`${n.left}px`,o.style.top=`${n.top}px`},N=()=>{!v||!y||(T(),d.style.display=`flex`,g.focus())},P=async()=>{let e=v;if(e)try{await Va(Promise.resolve(e),t),D(`Copied screenshot`)}catch{D(`Could not copy screenshot`,!0)}},F=()=>{let n=v;if(n)try{Ua(n,Ha(),e,t),D(`Saved screenshot`)}catch{D(`Could not save screenshot`,!0)}},I=(e,t,n)=>{if(!v)return!1;T();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},L=(e,t)=>{let n=x;if(!n)return;let r=e-n.startX,i=t-n.startY;!n.moved&&Math.hypot(r,i)>=Pv&&(n.moved=!0),n.moved&&M({left:n.left+r,top:n.top+i})},R=()=>{let e=x;e&&(x=null,o.style.cursor=`grab`,e.moved||N())},z=()=>{x&&(x=null,o.style.cursor=`grab`)},B=e=>{e.button!==0||!I(e.clientX,e.clientY,null)||e.preventDefault()},ee=e=>{x?.pointerId===null&&L(e.clientX,e.clientY)},V=e=>{e.button===0&&x?.pointerId===null&&R()},te=e=>{e.pointerType!==`mouse`&&e.button===0&&I(e.clientX,e.clientY,e.pointerId)&&(o.setPointerCapture?.(e.pointerId),e.preventDefault())},H=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&L(e.clientX,e.clientY)},ne=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),R())},U=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),z())},re=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N())},ie=e=>{e.target!==s&&e.preventDefault()},ae=e=>{e.target===d&&O()},oe=e=>{e.key===`Escape`&&d.style.display!==`none`&&(e.preventDefault(),e.stopImmediatePropagation(),O())};return c.addEventListener(`pointerdown`,e=>e.stopPropagation()),c.addEventListener(`mousedown`,e=>e.stopPropagation()),c.addEventListener(`click`,e=>{e.stopPropagation(),A()}),o.addEventListener(`mousedown`,B),o.addEventListener(`pointerdown`,te),o.addEventListener(`keydown`,re),o.addEventListener(`contextmenu`,ie),d.addEventListener(`click`,ae),m.addEventListener(`click`,()=>{P()}),h.addEventListener(`click`,F),g.addEventListener(`click`,O),t.addEventListener(`mousemove`,ee,!0),t.addEventListener(`mouseup`,V,!0),t.addEventListener(`pointermove`,H,!0),t.addEventListener(`pointerup`,ne,!0),t.addEventListener(`pointercancel`,U,!0),t.addEventListener(`keydown`,oe,!0),{show(e,n){if(w)return;T(),O(),k(),v=e;let i=globalThis.URL.createObjectURL(e);y=i,s.src=i,f.src=i,o.style.display=`block`,M(b??j()),D(zv(n)),r>0&&(S=t.setTimeout(A,r))},dismiss:A,dispose(){w||(w=!0,T(),E(),A(),t.removeEventListener(`mousemove`,ee,!0),t.removeEventListener(`mouseup`,V,!0),t.removeEventListener(`pointermove`,H,!0),t.removeEventListener(`pointerup`,ne,!0),t.removeEventListener(`pointercancel`,U,!0),t.removeEventListener(`keydown`,oe,!0),o.removeEventListener(`mousedown`,B),o.removeEventListener(`pointerdown`,te),o.removeEventListener(`keydown`,re),o.removeEventListener(`contextmenu`,ie),d.removeEventListener(`click`,ae),a.remove())}}},Hv=`mesurer.screenshot`,Uv=`screenshot`,Wv=`mesurer.screenshot.settings`,Gv=`mesurer.screenshot.active`,Kv=`runtime:solid`,qv=`screenshot.toggle`,Jv=2500,Yv=0,Xv=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-selection-spacing-target='true']`,`[data-mesurer-guide='true']`,`[data-mesurer-distance='true']`].join(`,`),Zv=`${Xv},[data-mesurer-rulers='true']`,Qv={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`]},$v=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},ey=(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`)}},ty=e=>{let t=e(Wv);return{toolEnabled:t?.toolEnabled??!0,copy:t?.copy??!0,download:t?.download??!1,includeMeasurements:t?.includeMeasurements??!1}},ny=e=>({value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),ry=(e,t)=>{t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`)},iy=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},ay=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=iy(e,t);r&&n.add(r)}for(let e of t.querySelectorAll(Xv)){let r=iy(e,t);r&&n.add(r)}let r=[];for(let e of n)e.dataset.mesurerInspectorUi!==`true`&&(r.push({element:e,display:ny(e)}),e.style.setProperty(`display`,`none`,`important`));return()=>{for(let e of r)ry(e.element,e.display)}},oy=e=>Array.from(e.querySelectorAll(Zv)).filter(e=>e.dataset.mesurerInspectorUi===`true`).map(e=>({element:e,display:ny(e)})),sy=e=>{for(let t of e)t.element.isConnected&&ry(t.element,t.display)},cy=(e={})=>_a({id:Hv,version:`0.1.0`,requires:[Kv],provides:[`tool:screenshot`,`capture:screenshot`,`settings:screenshot`],setup(t){let n=t.service.get(Kv);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??co,l=e.previewDurationMs??Yv;t.state.register({id:Wv,initial:{toolEnabled:e.toolEnabled??!0,copy:e.copy??!0,download:e.download??!1,includeMeasurements:e.includeMeasurements??!1},persist:!0}),t.state.register({id:Gv,initial:!1});let u=o.element;u.dataset.mesurerScreenshot=`true`,$v(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`),$v(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 $v(e,{position:`fixed`,"background-color":`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),d.append(e),e}),p=r.createElement(`div`);$v(p,{position:`fixed`,display:`none`,border:`1px solid #0d99ff`,"box-sizing":`border-box`,"pointer-events":`none`}),d.append(p);let m=r.createElement(`div`);$v(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`,$v(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`,$v(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=()=>ty(t.state.get),E=e=>{t.state.update(Wv,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){ey(f[0],{left:0,top:0,width:t,height:n});for(let e of f.slice(1))ey(e,{left:0,top:0,width:0,height:0});p.style.display=`none`,m.style.display=`none`;return}ey(f[0],{left:0,top:0,width:t,height:e.top}),ey(f[1],{left:0,top:e.top,width:e.left,height:e.height}),ey(f[2],{left:e.left+e.width,top:e.top,width:Math.max(0,t-e.left-e.width),height:e.height}),ey(f[3],{left:0,top:e.top+e.height,width:t,height:Math.max(0,n-e.top-e.height)}),p.style.display=`block`,ey(p,e),m.style.display=`block`,m.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,ey(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=Vv({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`},Jv)},F=()=>{_=null,A(null),d.style.visibility=``,d.style.display=`none`,u.style.pointerEvents=`none`,D(!1),k()},I=()=>{b+=1,F(),lo(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?oy(r):[],u=s.includeMeasurements?()=>void 0:ay(n.portalTarget);a.prepareCapture(),s.includeMeasurements&&sy(l);try{d.style.visibility=`hidden`,await Wa(i);let n=await Ba(await c({ownerDocument:r,ownerWindow:i}),e,{width:i.innerWidth,height:i.innerHeight},r);if(b!==o)throw Error(`Screenshot capture was cancelled.`);let a=!1,l=!1,u=s.copy?Va(Promise.resolve(n),i).then(()=>{a=!0}):Promise.resolve(),f=s.download?Promise.resolve().then(()=>{Ua(n,Ha(),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 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 so(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(za(_,_,{width:i.innerWidth,height:i.innerHeight})),d.setPointerCapture?.(e.pointerId))},B=e=>{!w()||!_||A(za(_,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight}))},ee=e=>{let t=_;if(_=null,!w()||!t)return;d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId);let n=za(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()})},V=e=>{_=null,d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId),A(null)},te=e=>{e.key!==`Escape`||!w()||(e.preventDefault(),e.stopImmediatePropagation(),I())};d.addEventListener(`pointerdown`,z),d.addEventListener(`pointermove`,B),d.addEventListener(`pointerup`,ee),d.addEventListener(`pointercancel`,V),i.addEventListener(`keydown`,te,!0);let H={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:qv,icon:Qv,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(qv,R),t.service.provide(Uv,H),t.lifecycle.onDispose(()=>{C=!0,b+=1,d.removeEventListener(`pointerdown`,z),d.removeEventListener(`pointermove`,B),d.removeEventListener(`pointerup`,ee),d.removeEventListener(`pointercancel`,V),i.removeEventListener(`keydown`,te,!0),y&&i.clearTimeout(y),M.dispose(),k(),lo(i),a.finishCapture(),a.dispose(),o.dispose()})}}),ly=e=>Number.parseFloat(e)||0,uy=0,dy=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},fy=e=>e.nodeType===9,py=e=>e.nodeType===11;function my(e){let t=e.getRootNode();return py(t)?t:e.ownerDocument}var hy=(e,t)=>{if(fy(e)||py(e))return e;let n=my(e);return py(n)?n:t},gy=600,_y=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,vy=(e,t)=>Array.from(e.getClientRects()).some(e=>_y(e,t)),yy=(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},by=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(e,n,i)=>{if(o.has(e))return;let s=r.getComputedStyle(e);if(s.pointerEvents!==`none`||s.visibility===`hidden`||s.display===`none`||s.opacity===`0`||!vy(e,t))return;let c=e.getBoundingClientRect();o.add(e),a.push({element:e,area:c.width*c.height,depth:n,order:i})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=gy;){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=yy(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)};function xy(e,t,n=fy(t)?t:t.ownerDocument??document){let r=hy(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||!Sy(a,t))continue;let o=by(a,e,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function Sy(e,t){if(fy(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!py(e))return!1;n=e.host}return!1}function Cy(e,t){if(!e)return t();let n=[e,...e.querySelectorAll(`*`)],r=n.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of n)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{for(let[e,t,n]of r)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function wy(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${dy(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 Ty(e,t,n=`dom-inspection-${++uy}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:ly(i.paddingTop),right:ly(i.paddingRight),bottom:ly(i.paddingBottom),left:ly(i.paddingLeft)},o={top:ly(i.marginTop),right:ly(i.marginRight),bottom:ly(i.marginBottom),left:ly(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 Ey(e){let t=e.ownerDocument.defaultView??window,n=t.getComputedStyle(e),r=e instanceof t.HTMLElement?e:null,i=e.getBoundingClientRect(),a=r?Ty(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:wy(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 Dy=`text-edit`,Oy=e=>Ey(e);function ky(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||Sy(n,t),a=async()=>{let t=(e.getPluginHost()??await e.waitForPluginHost()).service.get(Dy);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?Oy(n):null},inspectAll(e,n=50){return[...t.querySelectorAll(e)].slice(0,Math.max(0,n)).map(Oy)},at(n,r){let a=t.querySelector?.(`[data-mesurer-island]`)??null;return Cy(a?.shadowRoot?.querySelector(`[data-mesurer-root='true']`)??a,()=>{let a=xy({x:n,y:r},t,e.ownerDocument);return a&&i(a)?Oy(a):null})},distance(e,t){let n=r(e),i=r(t);if(!n||!i)return null;let a=Oy(n),o=Oy(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(Oy)),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 Ay=`0.2.0-beta.1`,jy=ep,My=tp,Ny=()=>({...Bp(),version:Ay}),Py=(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,Fy=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}},Iy=(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),Ly=e=>[...e.measurements,...e.activeMeasurement&&!e.measurements.some(t=>t.id===e.activeMeasurement?.id)?[e.activeMeasurement]:[]];function Ry(e){let{workspace:t,scope:n,guideTolerance:r}=e;if(n.kind===`workspace`)return{guides:t.guides.map(e=>({...e})),measurements:Ly(t),distances:[...t.distances]};let i=new Set(n.elements),a=e=>e!=null&&i.has(e),o=e=>n.regions.some(t=>Py(e,t));return{guides:t.guides.filter(e=>Iy(e,n.regions,r)).map(e=>({...e})),measurements:Ly(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 zy={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},By={opacity:1,edgeReveal:!1};({...zy}),{...By};var Vy=10,Hy=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),Uy=e=>{let t=new Set,n=[];for(let r of e)!r?.isConnected||t.has(r)||(t.add(r),n.push(r));return n},Wy=e=>e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;function Gy(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=[],s=[],c={kind:`workspace`},l=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&&l.set(t.element,t.target.id);o=Uy(e.resolvedTargets.map(e=>e.element));let n=t.annotationRect(e.id);n&&(s=[n]);let r=e.resolvedTargets.length,a=e.resolvedTargets.filter(e=>e.element?.isConnected).length,u=e.anchor.kind===`region`?`connected`:r===0||a===0?`stale`:a===r?`connected`:`partial`;c={kind:`annotation`,annotationId:e.id,note:e.note,targetStatus:u}}else if(i.scope===`selection`){let e=t.currentSelection();if(o=Uy(e.elements),!o.length&&!e.region)throw Error(`Mesurer has no current selection.`);s=e.region?[e.region]:o.map(e=>Hy(e.getBoundingClientRect())),c={kind:`selection`}}else o=Uy([...t.currentSelection().elements,...a.measurements.map(e=>e.elementRef),a.activeMeasurement?.elementRef,...a.heldDistances.flatMap(e=>[e.elementRefA,e.elementRefB])]);let u=c.kind===`workspace`?[]:s.length?s:o.map(e=>Hy(e.getBoundingClientRect())),d=Ry({workspace:{guides:a.guides,measurements:a.measurements,activeMeasurement:a.activeMeasurement,distances:a.heldDistances},scope:c.kind===`workspace`?{kind:`workspace`}:{kind:`scoped`,elements:o,regions:u},guideTolerance:a.guideRelevanceTolerance??Vy}),f=d.measurements,p=d.distances,m=d.guides,h=Uy([...o,...f.map(e=>e.elementRef),...p.flatMap(e=>[e.elementRefA,e.elementRefB])]),g=new Map,_=new Set(l.values()),v=1,y=()=>{let e=`target-${v++}`;for(;_.has(e);)e=`target-${v++}`;return _.add(e),e},b=h.map(e=>{let t=l.get(e)??y();return g.set(e,t),{ref:t,inspection:Ey(e)}}),x=f.map(e=>{let t={id:e.id,rect:Hy(e.rect),deltaX:e.deltaX,deltaY:e.deltaY};e.snapped!==void 0&&(t.snapped=e.snapped);let n=e.elementRef?g.get(e.elementRef):void 0;return n&&(t.targetRef=n),t}),S=p.map(e=>{let t={id:e.id,rectA:Hy(e.rectA),rectB:Hy(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null},n=e.elementRefA?g.get(e.elementRefA):void 0,r=e.elementRefB?g.get(e.elementRefB):void 0;return n&&(t.targetARef=n),r&&(t.targetBRef=r),t});return{schema:`mesurer.context/v1`,id:Wy(r),createdAt:new Date().toISOString(),scope:c,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:c.kind===`workspace`?[]:s.map(Hy),visualState:{rulersVisible:a.rulersVisible,xrayVisible:a.xrayVisible},targets:b,visualContext:{guides:m,layoutGuides:(e.layoutGuides??[]).map(e=>({...e})),measurements:x,distances:S}}}var Ky=e=>`${Math.round(e*100)/100}px`,qy=e=>`x=${Ky(e.left)} y=${Ky(e.top)} w=${Ky(e.width)} h=${Ky(e.height)}`;function Jy(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}: ${qy(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: ${qy(e.rect)}`,` margin: ${Ky(e.margin.top)} ${Ky(e.margin.right)} ${Ky(e.margin.bottom)} ${Ky(e.margin.left)}`,` padding: ${Ky(e.padding.top)} ${Ky(e.padding.right)} ${Ky(e.padding.bottom)} ${Ky(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`}=${Ky(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 ${Ky(n.size)}`:`${n.count} ${n.kind}; gutter=${Ky(n.gutter)}; offset=${Ky(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}: `:``}${qy(n.rect)}; delta=${Ky(n.deltaX)} × ${Ky(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=${Ky(n.horizontal.value)}`:null,n.vertical?`vertical=${Ky(n.vertical.value)}`:null].filter(Boolean).join(`; `);t.push(`- ${e?`${e}: `:``}${r||`overlapping`}`)}}return t.join(`
1768
+ `,t.head.append(s),i.append(a);let c=!1;return{element:a,dispose(){c||(c=!0,o(),s.remove(),a.remove())}}}var P_=e=>`color-mix(in srgb, ${e.color} ${e.opacity*100}%, transparent)`,F_=e=>e===`max`?`end`:e===`center`?`center`:`start`,I_=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=F_(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 L_(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(Wr,{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(Wr,{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":P_(e)}),(e,n)=>{$(t,`style`,e,n)}),t})()})),J(()=>({e:e.id,t:e.kind,a:I_(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, ${P_(e)} 1px, transparent 1px), linear-gradient(to bottom, ${P_(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 R_=`#FF0000`,z_=.1,B_=new Set([`columns`,`rows`,`grid`]),V_=new Set([`stretch`,`min`,`center`,`max`]),H_=(e,t,n)=>Math.min(n,Math.max(t,e)),U_=(e,t)=>e!==void 0&&Number.isFinite(e)?e:t,W_=(e={})=>{let t=e.kind&&B_.has(e.kind)?e.kind:`columns`,n=e.align&&V_.has(e.align)?e.align:t===`grid`?`min`:`stretch`,r=e.id?.trim(),i=e.color?.trim();return{id:r||Eo(),kind:t,visible:e.visible??!0,color:i||`#FF0000`,opacity:H_(U_(e.opacity,z_),0,1),count:H_(Math.round(U_(e.count,5)),1,24),size:H_(U_(e.size,72),1,4096),gutter:H_(U_(e.gutter,20),0,800),offset:H_(U_(e.offset,0),0,4096),align:n}},G_=e=>(e??[]).map(W_),K_=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)`},q_=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})(),J_=e=>e.kind===`rows`?Y(Il,{size:14}):e.kind===`grid`?Y(Pl,{size:14}):Y(Fl,{size:14}),Y_=`msr:grid-cols-[78px_minmax(0,1fr)]`,X_=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})(),Z_=e=>(()=>{var t=X(`span`,{class:`msr:relative msr:block msr:w-full`}),n=X(`select`,{class:vl,onPointerDown:e=>e.stopPropagation(),onChange:t=>e.onChange(t.currentTarget.value)});return Z(t,n),Q(n,()=>e.children),Q(t,Y(yl,{}),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})(),Q_=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(bl,{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}})},$_=e=>e===`rows`||e===`grid`?e:`columns`,ev=e=>e===`min`||e===`center`||e===`max`?e:`stretch`,tv=e=>{let t=G(()=>e.guide.kind===`rows`?{stretch:`Stretch`,min:`Top`,center:`Center`,max:`Bottom`}:{stretch:`Stretch`,min:`Left`,center:`Center`,max:`Right`}),n=G(()=>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(Z_,{label:`Layout guide type`,get value(){return e.guide.kind},onChange:t=>{let n=$_(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,Ji(`Columns`)),e})(),(()=>{var e=X(`option`,{value:`rows`});return Z(e,Ji(`Rows`)),e})(),(()=>{var e=X(`option`,{value:`grid`});return Z(e,Ji(`Grid`)),e})()]}}),a),Q(a,Y(q_,{})),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(X_,{label:`Count`,get children(){return Y(Q_,{label:`Count`,get value(){return e.guide.count},min:1,max:24,onChange:t=>e.onUpdate({count:t})})}})}}),null),Q(r,Y(xl,{label:`Color`,columns:Y_,get value(){return Ea({...wa(e.guide.color)??wa(`#FF0000`),alpha:e.guide.opacity})},fallback:R_,get ownerWindow(){return e.ownerWindow},onChange:t=>{let n=wa(t);e.onUpdate({color:n?Ea({...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(X_,{label:`Type`,get children(){return Y(Z_,{label:`Alignment`,get value(){return e.guide.align},onChange:t=>e.onUpdate({align:ev(t)}),get children(){return Y(Wr,{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(X_,{get label(){return n()},get children(){return Y(Q_,{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(X_,{label:`Offset`,get children(){return Y(Q_,{label:`Offset`,get value(){return e.guide.offset},min:0,max:4096,onChange:t=>e.onUpdate({offset:t})})}}),Y(X_,{label:`Gutter`,get children(){return Y(Q_,{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 nv(e){let[t,n]=K(null),r=G(()=>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,Ji(`Layout guides`)),Q(a,Y(Ll,{})),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,Ji(`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(Wr,{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(J_,{get kind(){return t.kind}})),Q(o,()=>K_(t)),Q(i,Y(Dl,{size:8,class:`msr:block msr:-rotate-90 msr:text-ink-400`}),null),Q(s,(()=>{var e=qi(()=>!!t.visible);return()=>e()?Y(Rl,{}):Y(zl,{})})()),Q(c,Y(kl,{size:10,class:`msr:block`})),J(()=>({e:t.visible?`Hide ${K_(t)}`:`Show ${K_(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 ${K_(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(tv,{get guide(){return t()},get ownerWindow(){return e.ownerWindow},onBack:()=>n(null),onUpdate:n=>e.onUpdate(t().id,n)})})),i}var rv=`mesurer.layout-guides`,iv=`layout-guides:v1`,av=`mesurer.layout-guides.pages`,ov=`mesurer.layout-guides.active`,sv=`runtime:solid`,cv=`layout-guides.toggle`,lv=`layout-guides.add`,uv=`layout-guides.update`,dv=`layout-guides.remove`,fv=`layout-guides.clear`,pv=240,mv=8,hv=8,gv=()=>({pages:{}}),_v=(e,t)=>e.pages[t]??[],vv=e=>typeof e==`object`&&!!e&&!Array.isArray(e),yv=e=>typeof e==`string`,bv=e=>typeof e==`boolean`,xv=e=>typeof e==`number`,Sv=e=>e===`columns`||e===`rows`||e===`grid`,Cv=e=>e===`stretch`||e===`min`||e===`center`||e===`max`,wv=e=>({...e}),Tv=e=>e.map(wv),Ev=e=>vv(e)?e:null,Dv=e=>{if(!e)return{};let t={};return yv(e.id)&&(t.id=e.id),Sv(e.kind)&&(t.kind=e.kind),bv(e.visible)&&(t.visible=e.visible),yv(e.color)&&(t.color=e.color),xv(e.opacity)&&(t.opacity=e.opacity),xv(e.count)&&(t.count=e.count),xv(e.size)&&(t.size=e.size),xv(e.gutter)&&(t.gutter=e.gutter),xv(e.offset)&&(t.offset=e.offset),Cv(e.align)&&(t.align=e.align),t},Ov=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},kv={viewBox:`0 0 256 256`,paths:[`M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z`,`M101 56h8v144h-8zM147 56h8v144h-8z`]},Av=()=>_a({id:rv,version:`0.1.0`,requires:[sv],provides:[iv,`tool:layout-guides`],setup(e){let t=e.service.get(sv);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:av,initial:gv(),history:!0,persist:!0}),e.state.register({id:ov,initial:!1});let r=fs(t.ownerWindow),i=!1,[a,o]=K(0),s=new Set,c=0,l=()=>e.state.get(`mesurer.layout-guides.pages`)??gv(),u=()=>e.state.get(`mesurer.layout-guides.active`)??!1,d=()=>G_(_v(l(),r)),f=()=>(a(),u()?d():[]),p=t=>{e.state.update(ov,()=>t)},m=t=>{e.state.update(av,e=>({...e,pages:{...e.pages,[r]:Tv(t(G_(e.pages[r])))}}))};e.command.register(cv,()=>{let e=!u();return e&&d().length===0&&m(()=>[W_()]),i=e,p(e),u()}),e.command.register(lv,e=>{let t=W_(Dv(Ev(e)));return m(e=>[...e,t]),{...t}}),e.command.register(uv,e=>{let t=Ev(e),n=t&&yv(t.id)?t.id:null,r=Dv(Ev(t?.patch));if(!n)throw Error(`layout-guides.update requires a guide id.`);m(e=>e.map(e=>e.id===n?W_({...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(dv,e=>{let t=Ev(e),n=t&&yv(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(fv,()=>{m(()=>[])});let h=async(t,n)=>{let r=Ev(await e.command.execute(t,n));if(!r)throw Error(`${t} did not return a layout guide.`);return W_(Dv(r))},g={list:()=>d().map(e=>({...e})),add:(e={})=>h(lv,Ov(e)),update:(e,t)=>h(uv,{id:e,patch:Ov(t)}),async remove(t){return await e.command.execute(dv,{id:t})===!0},async clear(){await e.command.execute(fv)},subscribe(e){s.add(e);let t=!1;return()=>{t||(t=!0,s.delete(e))}}};e.service.provide(iv,g),e.tool.register({id:`layout-guides`,label:`Layout guides`,shortcut:`L`,command:cv,order:38,icon:kv,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=Ki(()=>Y(L_,{get guides(){return f()}}),_),y=t.createInspectorMount();y.element.dataset.mesurerLayoutGuidesPanelRoot=`true`,Object.assign(y.element.style,{position:`fixed`,left:`0`,top:`0`,width:`${pv}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(hv,n.right-pv),Math.max(hv,t.ownerWindow.innerWidth-pv-hv)),a=t.ownerWindow.innerHeight-n.bottom-mv-hv,o=Math.min(320,t.ownerWindow.innerHeight-16),s=a>=Math.min(o,320)?n.bottom+mv:Math.max(hv,n.top-mv-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=Ki(()=>Y(nv,{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=gs(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()})}}),jv=144,Mv=96,Nv=8,Pv=4,Fv=1800,Iv=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},Lv=(e,t)=>({left:Math.min(Math.max(Nv,e.left),Math.max(Nv,t.innerWidth-jv-Nv)),top:Math.min(Math.max(Nv,e.top),Math.max(Nv,t.innerHeight-Mv-Nv))}),Rv=(e,t)=>{let n=e.createElement(`button`);return n.type=`button`,n.textContent=t,Iv(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},zv=({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`,Bv=e=>e!==null&&(e.nodeType===1||e.nodeType===11),Vv=({ownerDocument:e,ownerWindow:t,root:n,previewDurationMs:r})=>{let i=n.closest(`[data-mesurer-root='true']`)?.parentNode??n.parentNode;if(!Bv(i))throw Error(`Screenshot preview requires a mounted Mesurer host.`);let a=e.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerScreenshotInteractive=`true`,Iv(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,Iv(o,{position:`fixed`,display:`none`,"z-index":`96`,width:`${jv}px`,height:`${Mv}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`,Iv(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`,Iv(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":`1`,cursor:`pointer`});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`),Iv(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`,Iv(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`,Iv(p,{position:`fixed`,top:`16px`,right:`16px`,display:`flex`,gap:`8px`,"pointer-events":`auto`});let m=Rv(e,`Copy`);m.dataset.mesurerScreenshotViewerCopy=`true`,m.setAttribute(`aria-label`,`Copy screenshot`);let h=Rv(e,`Save`);h.dataset.mesurerScreenshotViewerSave=`true`,h.setAttribute(`aria-label`,`Save screenshot`);let g=Rv(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`),Iv(_,{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=!1,T=()=>{S&&t.clearTimeout(S),S=0},E=()=>{C&&t.clearTimeout(C),C=0},D=(e,n=!1)=>{E(),_.textContent=e,_.style.backgroundColor=n?`#b42318`:`rgb(28 28 30 / 90%)`,_.style.display=`block`,C=t.setTimeout(()=>{C=0,_.style.display=`none`},Fv)},O=()=>{d.style.display=`none`},k=()=>{y&&globalThis.URL.revokeObjectURL(y),y=null,v=null,s.removeAttribute(`src`),f.removeAttribute(`src`)},A=()=>{T(),O(),o.style.display=`none`,k()},j=()=>Lv({left:t.innerWidth-jv-Nv,top:t.innerHeight-Mv-Nv},t),M=e=>{let n=Lv(e,t);b=n,o.style.left=`${n.left}px`,o.style.top=`${n.top}px`},N=()=>{!v||!y||(T(),d.style.display=`flex`,g.focus())},P=async()=>{let e=v;if(e)try{await Va(Promise.resolve(e),t),D(`Copied screenshot`)}catch{D(`Could not copy screenshot`,!0)}},F=()=>{let n=v;if(n)try{Ua(n,Ha(),e,t),D(`Saved screenshot`)}catch{D(`Could not save screenshot`,!0)}},I=(e,t,n)=>{if(!v)return!1;T();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},L=(e,t)=>{let n=x;if(!n)return;let r=e-n.startX,i=t-n.startY;!n.moved&&Math.hypot(r,i)>=Pv&&(n.moved=!0),n.moved&&M({left:n.left+r,top:n.top+i})},R=()=>{let e=x;e&&(x=null,o.style.cursor=`grab`,e.moved||N())},z=()=>{x&&(x=null,o.style.cursor=`grab`)},B=e=>{e.button!==0||!I(e.clientX,e.clientY,null)||e.preventDefault()},ee=e=>{x?.pointerId===null&&L(e.clientX,e.clientY)},V=e=>{e.button===0&&x?.pointerId===null&&R()},te=e=>{e.pointerType!==`mouse`&&e.button===0&&I(e.clientX,e.clientY,e.pointerId)&&(o.setPointerCapture?.(e.pointerId),e.preventDefault())},H=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&L(e.clientX,e.clientY)},ne=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),R())},U=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),z())},re=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),N())},ie=e=>{e.target!==s&&e.preventDefault()},ae=e=>{e.target===d&&O()},oe=e=>{e.key===`Escape`&&d.style.display!==`none`&&(e.preventDefault(),e.stopImmediatePropagation(),O())};return c.addEventListener(`pointerdown`,e=>e.stopPropagation()),c.addEventListener(`mousedown`,e=>e.stopPropagation()),c.addEventListener(`click`,e=>{e.stopPropagation(),A()}),o.addEventListener(`mousedown`,B),o.addEventListener(`pointerdown`,te),o.addEventListener(`keydown`,re),o.addEventListener(`contextmenu`,ie),d.addEventListener(`click`,ae),m.addEventListener(`click`,()=>{P()}),h.addEventListener(`click`,F),g.addEventListener(`click`,O),t.addEventListener(`mousemove`,ee,!0),t.addEventListener(`mouseup`,V,!0),t.addEventListener(`pointermove`,H,!0),t.addEventListener(`pointerup`,ne,!0),t.addEventListener(`pointercancel`,U,!0),t.addEventListener(`keydown`,oe,!0),{show(e,n){if(w)return;T(),O(),k(),v=e;let i=globalThis.URL.createObjectURL(e);y=i,s.src=i,f.src=i,o.style.display=`block`,M(b??j()),D(zv(n)),r>0&&(S=t.setTimeout(A,r))},dismiss:A,dispose(){w||(w=!0,T(),E(),A(),t.removeEventListener(`mousemove`,ee,!0),t.removeEventListener(`mouseup`,V,!0),t.removeEventListener(`pointermove`,H,!0),t.removeEventListener(`pointerup`,ne,!0),t.removeEventListener(`pointercancel`,U,!0),t.removeEventListener(`keydown`,oe,!0),o.removeEventListener(`mousedown`,B),o.removeEventListener(`pointerdown`,te),o.removeEventListener(`keydown`,re),o.removeEventListener(`contextmenu`,ie),d.removeEventListener(`click`,ae),a.remove())}}},Hv=`mesurer.screenshot`,Uv=`screenshot`,Wv=`mesurer.screenshot.settings`,Gv=`mesurer.screenshot.active`,Kv=`runtime:solid`,qv=`screenshot.toggle`,Jv=2500,Yv=0,Xv=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-selection-spacing-target='true']`,`[data-mesurer-guide='true']`,`[data-mesurer-distance='true']`].join(`,`),Zv=`${Xv},[data-mesurer-rulers='true']`,Qv={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`]},$v=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},ey=(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`)}},ty=e=>{let t=e(Wv);return{toolEnabled:t?.toolEnabled??!0,copy:t?.copy??!0,download:t?.download??!1,includeMeasurements:t?.includeMeasurements??!1}},ny=e=>({value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),ry=(e,t)=>{t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`)},iy=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},ay=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=iy(e,t);r&&n.add(r)}for(let e of t.querySelectorAll(Xv)){let r=iy(e,t);r&&n.add(r)}let r=[];for(let e of n)e.dataset.mesurerInspectorUi!==`true`&&(r.push({element:e,display:ny(e)}),e.style.setProperty(`display`,`none`,`important`));return()=>{for(let e of r)ry(e.element,e.display)}},oy=e=>Array.from(e.querySelectorAll(Zv)).filter(e=>e.dataset.mesurerInspectorUi===`true`).map(e=>({element:e,display:ny(e)})),sy=e=>{for(let t of e)t.element.isConnected&&ry(t.element,t.display)},cy=(e={})=>_a({id:Hv,version:`0.1.0`,requires:[Kv],provides:[`tool:screenshot`,`capture:screenshot`,`settings:screenshot`],setup(t){let n=t.service.get(Kv);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??co,l=e.previewDurationMs??Yv;t.state.register({id:Wv,initial:{toolEnabled:e.toolEnabled??!0,copy:e.copy??!0,download:e.download??!1,includeMeasurements:e.includeMeasurements??!1},persist:!0}),t.state.register({id:Gv,initial:!1});let u=o.element;u.dataset.mesurerScreenshot=`true`,$v(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`),$v(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 $v(e,{position:`fixed`,"background-color":`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),d.append(e),e}),p=r.createElement(`div`);$v(p,{position:`fixed`,display:`none`,border:`1px solid #0d99ff`,"box-sizing":`border-box`,"pointer-events":`none`}),d.append(p);let m=r.createElement(`div`);$v(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`,$v(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`,$v(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=()=>ty(t.state.get),E=e=>{t.state.update(Wv,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){ey(f[0],{left:0,top:0,width:t,height:n});for(let e of f.slice(1))ey(e,{left:0,top:0,width:0,height:0});p.style.display=`none`,m.style.display=`none`;return}ey(f[0],{left:0,top:0,width:t,height:e.top}),ey(f[1],{left:0,top:e.top,width:e.left,height:e.height}),ey(f[2],{left:e.left+e.width,top:e.top,width:Math.max(0,t-e.left-e.width),height:e.height}),ey(f[3],{left:0,top:e.top+e.height,width:t,height:Math.max(0,n-e.top-e.height)}),p.style.display=`block`,ey(p,e),m.style.display=`block`,m.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,ey(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=Vv({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`},Jv)},F=()=>{_=null,A(null),d.style.visibility=``,d.style.display=`none`,u.style.pointerEvents=`none`,D(!1),k()},I=()=>{b+=1,F(),lo(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?oy(r):[],u=s.includeMeasurements?()=>void 0:ay(n.portalTarget);a.prepareCapture(),s.includeMeasurements&&sy(l);try{d.style.visibility=`hidden`,await Wa(i);let n=await Ba(await c({ownerDocument:r,ownerWindow:i}),e,{width:i.innerWidth,height:i.innerHeight},r);if(b!==o)throw Error(`Screenshot capture was cancelled.`);let a=!1,l=!1,u=s.copy?Va(Promise.resolve(n),i).then(()=>{a=!0}):Promise.resolve(),f=s.download?Promise.resolve().then(()=>{Ua(n,Ha(),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 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 so(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(za(_,_,{width:i.innerWidth,height:i.innerHeight})),d.setPointerCapture?.(e.pointerId))},B=e=>{!w()||!_||A(za(_,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight}))},ee=e=>{let t=_;if(_=null,!w()||!t)return;d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId);let n=za(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()})},V=e=>{_=null,d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId),A(null)},te=e=>{e.key!==`Escape`||!w()||(e.preventDefault(),e.stopImmediatePropagation(),I())};d.addEventListener(`pointerdown`,z),d.addEventListener(`pointermove`,B),d.addEventListener(`pointerup`,ee),d.addEventListener(`pointercancel`,V),i.addEventListener(`keydown`,te,!0);let H={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:qv,icon:Qv,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(qv,R),t.service.provide(Uv,H),t.lifecycle.onDispose(()=>{C=!0,b+=1,d.removeEventListener(`pointerdown`,z),d.removeEventListener(`pointermove`,B),d.removeEventListener(`pointerup`,ee),d.removeEventListener(`pointercancel`,V),i.removeEventListener(`keydown`,te,!0),y&&i.clearTimeout(y),M.dispose(),k(),lo(i),a.finishCapture(),a.dispose(),o.dispose()})}}),ly=e=>Number.parseFloat(e)||0,uy=0,dy=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},fy=e=>e.nodeType===9,py=e=>e.nodeType===11;function my(e){let t=e.getRootNode();return py(t)?t:e.ownerDocument}var hy=(e,t)=>{if(fy(e)||py(e))return e;let n=my(e);return py(n)?n:t},gy=600,_y=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,vy=(e,t)=>Array.from(e.getClientRects()).some(e=>_y(e,t)),yy=(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},by=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(e,n,i)=>{if(o.has(e))return;let s=r.getComputedStyle(e);if(s.pointerEvents!==`none`||s.visibility===`hidden`||s.display===`none`||s.opacity===`0`||!vy(e,t))return;let c=e.getBoundingClientRect();o.add(e),a.push({element:e,area:c.width*c.height,depth:n,order:i})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=gy;){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=yy(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)};function xy(e,t,n=fy(t)?t:t.ownerDocument??document){let r=hy(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||!Sy(a,t))continue;let o=by(a,e,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function Sy(e,t){if(fy(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!py(e))return!1;n=e.host}return!1}function Cy(e,t){if(!e)return t();let n=[e,...e.querySelectorAll(`*`)],r=n.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of n)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{for(let[e,t,n]of r)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function wy(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${dy(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 Ty(e,t,n=`dom-inspection-${++uy}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:ly(i.paddingTop),right:ly(i.paddingRight),bottom:ly(i.paddingBottom),left:ly(i.paddingLeft)},o={top:ly(i.marginTop),right:ly(i.marginRight),bottom:ly(i.marginBottom),left:ly(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 Ey(e){let t=e.ownerDocument.defaultView??window,n=t.getComputedStyle(e),r=e instanceof t.HTMLElement?e:null,i=e.getBoundingClientRect(),a=r?Ty(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:wy(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 Dy=`text-edit`,Oy=e=>Ey(e);function ky(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||Sy(n,t),a=async()=>{let t=(e.getPluginHost()??await e.waitForPluginHost()).service.get(Dy);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?Oy(n):null},inspectAll(e,n=50){return[...t.querySelectorAll(e)].slice(0,Math.max(0,n)).map(Oy)},at(n,r){let a=t.querySelector?.(`[data-mesurer-island]`)??null;return Cy(a?.shadowRoot?.querySelector(`[data-mesurer-root='true']`)??a,()=>{let a=xy({x:n,y:r},t,e.ownerDocument);return a&&i(a)?Oy(a):null})},distance(e,t){let n=r(e),i=r(t);if(!n||!i)return null;let a=Oy(n),o=Oy(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(Oy)),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 Ay=`0.2.0-beta.2`,jy=ep,My=tp,Ny=()=>({...Bp(),version:Ay}),Py=(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,Fy=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}},Iy=(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),Ly=e=>[...e.measurements,...e.activeMeasurement&&!e.measurements.some(t=>t.id===e.activeMeasurement?.id)?[e.activeMeasurement]:[]];function Ry(e){let{workspace:t,scope:n,guideTolerance:r}=e;if(n.kind===`workspace`)return{guides:t.guides.map(e=>({...e})),measurements:Ly(t),distances:[...t.distances]};let i=new Set(n.elements),a=e=>e!=null&&i.has(e),o=e=>n.regions.some(t=>Py(e,t));return{guides:t.guides.filter(e=>Iy(e,n.regions,r)).map(e=>({...e})),measurements:Ly(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 zy={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},By={opacity:1,edgeReveal:!1};({...zy}),{...By};var Vy=10,Hy=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),Uy=e=>{let t=new Set,n=[];for(let r of e)!r?.isConnected||t.has(r)||(t.add(r),n.push(r));return n},Wy=e=>e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;function Gy(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=[],s=[],c={kind:`workspace`},l=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&&l.set(t.element,t.target.id);o=Uy(e.resolvedTargets.map(e=>e.element));let n=t.annotationRect(e.id);n&&(s=[n]);let r=e.resolvedTargets.length,a=e.resolvedTargets.filter(e=>e.element?.isConnected).length,u=e.anchor.kind===`region`?`connected`:r===0||a===0?`stale`:a===r?`connected`:`partial`;c={kind:`annotation`,annotationId:e.id,note:e.note,targetStatus:u}}else if(i.scope===`selection`){let e=t.currentSelection();if(o=Uy(e.elements),!o.length&&!e.region)throw Error(`Mesurer has no current selection.`);s=e.region?[e.region]:o.map(e=>Hy(e.getBoundingClientRect())),c={kind:`selection`}}else o=Uy([...t.currentSelection().elements,...a.measurements.map(e=>e.elementRef),a.activeMeasurement?.elementRef,...a.heldDistances.flatMap(e=>[e.elementRefA,e.elementRefB])]);let u=c.kind===`workspace`?[]:s.length?s:o.map(e=>Hy(e.getBoundingClientRect())),d=Ry({workspace:{guides:a.guides,measurements:a.measurements,activeMeasurement:a.activeMeasurement,distances:a.heldDistances},scope:c.kind===`workspace`?{kind:`workspace`}:{kind:`scoped`,elements:o,regions:u},guideTolerance:a.guideRelevanceTolerance??Vy}),f=d.measurements,p=d.distances,m=d.guides,h=Uy([...o,...f.map(e=>e.elementRef),...p.flatMap(e=>[e.elementRefA,e.elementRefB])]),g=new Map,_=new Set(l.values()),v=1,y=()=>{let e=`target-${v++}`;for(;_.has(e);)e=`target-${v++}`;return _.add(e),e},b=h.map(e=>{let t=l.get(e)??y();return g.set(e,t),{ref:t,inspection:Ey(e)}}),x=f.map(e=>{let t={id:e.id,rect:Hy(e.rect),deltaX:e.deltaX,deltaY:e.deltaY};e.snapped!==void 0&&(t.snapped=e.snapped);let n=e.elementRef?g.get(e.elementRef):void 0;return n&&(t.targetRef=n),t}),S=p.map(e=>{let t={id:e.id,rectA:Hy(e.rectA),rectB:Hy(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null},n=e.elementRefA?g.get(e.elementRefA):void 0,r=e.elementRefB?g.get(e.elementRefB):void 0;return n&&(t.targetARef=n),r&&(t.targetBRef=r),t});return{schema:`mesurer.context/v1`,id:Wy(r),createdAt:new Date().toISOString(),scope:c,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:c.kind===`workspace`?[]:s.map(Hy),visualState:{rulersVisible:a.rulersVisible,xrayVisible:a.xrayVisible},targets:b,visualContext:{guides:m,layoutGuides:(e.layoutGuides??[]).map(e=>({...e})),measurements:x,distances:S}}}var Ky=e=>`${Math.round(e*100)/100}px`,qy=e=>`x=${Ky(e.left)} y=${Ky(e.top)} w=${Ky(e.width)} h=${Ky(e.height)}`;function Jy(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}: ${qy(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: ${qy(e.rect)}`,` margin: ${Ky(e.margin.top)} ${Ky(e.margin.right)} ${Ky(e.margin.bottom)} ${Ky(e.margin.left)}`,` padding: ${Ky(e.padding.top)} ${Ky(e.padding.right)} ${Ky(e.padding.bottom)} ${Ky(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`}=${Ky(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 ${Ky(n.size)}`:`${n.count} ${n.kind}; gutter=${Ky(n.gutter)}; offset=${Ky(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}: `:``}${qy(n.rect)}; delta=${Ky(n.deltaX)} × ${Ky(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=${Ky(n.horizontal.value)}`:null,n.vertical?`vertical=${Ky(n.vertical.value)}`:null].filter(Boolean).join(`; `);t.push(`- ${e?`${e}: `:``}${r||`overlapping`}`)}}return t.join(`
1769
1769
  `).trimEnd()}function Yy(e){let t=Fy([...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 Xy=(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`})},Zy=(e,t,n,r)=>e.push({kind:`missing`,evidence:t,id:n,label:r}),Qy=(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 $y(e){let t=e.runtime.annotation(e.annotationId);if(!t)throw Error(`Mesurer annotation not found: ${e.annotationId}`);let n=Gy({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=Ly({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){Zy(a,`target`,e.id,e.selector);continue}Xy(a,`target-rect`,`${t.inspection.selector} left`,e.rect.left,t.inspection.rect.left),Xy(a,`target-rect`,`${t.inspection.selector} top`,e.rect.top,t.inspection.rect.top),Xy(a,`target-rect`,`${t.inspection.selector} width`,e.rect.width,t.inspection.rect.width),Xy(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){Zy(a,`guide`,e.id,`${e.orientation} guide ${e.id}`);continue}Xy(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=>Qy(t.rect,e.rect));r&&n.targets.some(e=>e.ref===r.id)||Zy(a,`measurement`,e.id,e.id);continue}Xy(a,`measurement`,`${e.id} width`,e.rect.width,r.rect.width),Xy(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){Zy(a,`distance`,e.id,e.id);continue}e.horizontal&&t.horizontal?Xy(a,`distance`,`${e.id} horizontal`,e.horizontal.value,t.horizontal.value):e.horizontal&&!t.horizontal&&Zy(a,`distance`,e.id,`${e.id} horizontal`),e.vertical&&t.vertical?Xy(a,`distance`,`${e.id} vertical`,e.vertical.value,t.vertical.value):e.vertical&&!t.vertical&&Zy(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 eb(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 tb=rv,nb=iv,rb=()=>({...Av(),version:Ay}),ib=`mesurer.context`,ab=`context:v1`,ob=`mesurer.context.settings`,sb=`context.ui`,cb=`data-mesurer-direct-text-edit-active`,lb={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`]},ub={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`]},db={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`]},fb=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()))},pb=(e,t,n,r)=>{let i=async i=>Gy({runtime:e,ownerDocument:t,ownerWindow:n,request:i,layoutGuides:r()}),a=async e=>Jy(await i(e));return{context:i,contextText:a,copyContext:async e=>eb(t,n,await a(e)),select:async r=>{let a=Array.isArray(r)?[...r]:[String(r)];return e.select(a),await fb(t,n),i({scope:`selection`})},annotations:async()=>e.annotations(),removeAnnotation:async r=>{e.removeAnnotation(r),await fb(t,n)},review:async i=>{if(await fb(t,n),i)return $y({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:i,layoutGuides:r()});let a=r();return e.annotations().map(r=>$y({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:r.id,layoutGuides:a}))},capturePlan:async e=>Yy(await i(e)),prepareCapture:async()=>{e.prepareCapture(),await fb(t,n)},finishCapture:async()=>{e.finishCapture(),await fb(t,n)}}},mb=e=>{let t=e.currentSelection();return t.elements.length>0||t.region!==null};function hb(e={}){return{id:ib,version:Ay,requires:[`runtime:solid`],provides:[ab],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(ib),i=pb(r,n.ownerDocument,n.ownerWindow,()=>t.service.get(nb)?.list()??[]);t.service.provide(ab,i),t.state.register({id:ob,initial:{ui:e.ui??!0},persist:!0}),t.state.register({id:sb,initial:{hasSelection:mb(r)}});let a=()=>t.state.get(`mesurer.context.settings`)?.ui??!0,o=()=>t.state.get(sb)?.hasSelection===!0,s=e=>{t.state.update(ob,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(sb)?.hasSelection??!1)&&t.state.update(sb,()=>({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(cb)?e.setAttribute(cb,`true`):e.removeAttribute(cb))},_=()=>{d?.disconnect(),d=null,c=null,l?.(),l=null,u?.dispose(),u=null},v=()=>{if(u)return;if(u=N_(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:[cb]}),g()}let e={runtime:r,onCopy:i.copyContext,onController:e=>{c=e},coordinateSpace:`document`};l=xi(()=>Hr(k_,bi(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,icon:lb,hidden:()=>!a()}),t.tool.register({id:`context.copy-selection`,label:`Copy selection`,shortcut:`Shift+C`,command:`context.copy-selection`,order:71,icon:ub,hidden:()=>!a(),disabled:()=>!o()}),t.tool.register({id:`context.add-note`,label:`Add note`,shortcut:`N`,command:`context.add-note`,order:72,icon:db,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 gb={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":`auto`,"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 _b(e){for(let[t,n]of Object.entries(gb))e.style.setProperty(t,n,`important`)}function vb(e){return`popover`in e&&`showPopover`in e&&typeof e.showPopover==`function`&&`hidePopover`in e&&typeof e.hidePopover==`function`}var yb=e=>`newState`in e,bb=e=>e.localName===`dialog`;function xb(e){if(!bb(e)||!e.open)return!1;try{return e.matches(`:modal`)}catch{return!1}}function Sb(e,t,n=!0){_b(e);let r=e.ownerDocument,i=r.defaultView??window,a=t,o=!1,s=`fixed`,c=!1,l=0,u=[];if(n&&vb(e)&&(e.popover=`manual`),t.append(e),n&&vb(e))try{e.showPopover(),c=e.matches(`:popover-open`),c&&(s=`top-layer`)}catch{e.removeAttribute(`popover`)}let d=()=>{if(!(!c||!vb(e)))try{e.matches(`:popover-open`)||e.showPopover()}catch{}},f=t=>{if(e.parentNode===t)return;let n=c&&vb(e)&&e.matches(`:popover-open`);if(n&&vb(e))try{e.hidePopover()}catch{}t.append(e),_b(e),n&&d()},p=()=>{u=u.filter(e=>e.isConnected&&xb(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||!vb(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=yb(t)?t.newState:void 0,r=t.target;if(r instanceof i.Element){if(bb(r)){n===`open`&&xb(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&&bb(t)&&h(t)},b=()=>{r.fullscreenElement&&_()},x=e=>{xb(e)&&m(e);for(let t of e.querySelectorAll(`dialog`))xb(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&&bb(e)&&(xb(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&&vb(e)&&e.matches(`:popover-open`))try{e.hidePopover()}catch{}u=[]}}}}var Cb=`mesurer.codex`,wb=`codex:v1`,Tb=`http://127.0.0.1:47365`,Eb=2e3,Db=750,Ob=1800,kb=2e3,Ab=12e4,jb=10,Mb=5,Nb=[`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(` `),Pb={viewBox:`0 0 256 256`,paths:[`M224,48,32,120l88,32,32,88Z M120,152l104-104`]},Fb={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`]},Ib={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`]},Lb=e=>{try{let t=globalThis.location;return t?.origin?`mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}`:null}catch{return null}},Rb=e=>{let t=Lb(e);if(!t)return null;try{let e=globalThis.sessionStorage?.getItem(t);if(!e)return null;let n=JSON.parse(e);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===`interrupted`)&&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,dispatch:a.dispatch??null,dispatchError:a.dispatchError?.trim()||null}:null}}catch{return null}},zb=(e,t)=>{let n=Lb(e);if(n)try{globalThis.sessionStorage?.setItem(n,JSON.stringify(t))}catch{}},Bb=(e,t)=>{let n=e.endsWith(`/`)?e:`${e}/`;return new URL(t,n).toString()},Vb=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),15e3);try{let i=await fetch(Bb(e,t),{...n,signal:r.signal}),a=await i.text(),o={};if(a)try{o=JSON.parse(a)}catch{o={error:a}}if(!i.ok||o.ok===!1)throw Error(o.error||`Mesurer Codex bridge returned HTTP ${i.status}.`);return o}catch(t){throw t instanceof Error&&t.name===`AbortError`?Error(`Mesurer Codex bridge timed out.`):t instanceof TypeError?Error(`Mesurer Codex bridge is unavailable at ${e}. Start the local bridge before queueing feedback.`):t}finally{clearTimeout(i)}},Hb=e=>({thread:e.thread?.trim()||null,threads:Array.isArray(e.threads)?e.threads.filter(e=>e.trim().length>0):[]}),Ub=e=>{let t=e.deliveryId?.trim(),n=e.thread?.trim(),r=e.status;if(!t||!n||!r)throw Error(`Mesurer 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.dispatch!==void 0&&(i.dispatch=e.dispatch),e.dispatchError!==void 0&&(i.dispatchError=e.dispatchError?.trim()||null),i},Wb=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}),Gb=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(`
1770
1770
  `).trimEnd()}},Kb=e=>e.length>16?`${e.slice(0,8)}…${e.slice(-4)}`:e,qb=(e,t=42)=>e.length>t?`${e.slice(0,t-1)}…`:e,Jb=(e,t)=>e instanceof Error&&e.message===`Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;function Yb(e={}){let t=e.endpoint??Tb,n=e.instruction?.trim()||Nb,r=e.ui??!0,i=e.clearCompletedAnnotations??!0;return{id:Cb,version:Ay,requires:[ab],provides:[wb],setup(e){let a=e.service.get(ab);if(!a)throw Error(`Mesurer Codex plugin requires context() from mesurer-solid/plugins.`);let o=r?Rb(t):null,s=`unknown`,c=!1,l=o?.originThread??null,u=o?.selectedThread??o?.originThread??null,d=!1,f=null,p=[],m=[],h=!1,g=Mb,_,v=``,y=null,b=o?.delivery?{id:o.delivery.id,thread:o.delivery.thread,status:o.delivery.status,annotationIds:o.delivery.annotationIds,queuedSubmissionId:o.delivery.queuedSubmissionId??null,dispatch:o.delivery.dispatch??null,dispatchError:o.delivery.dispatchError??null}:null,x=0,S=0,C=null,w=!1,T=async()=>Hb(await Vb(t,`health`)),E=async e=>Ub(await Vb(t,`deliveries/${encodeURIComponent(e)}`)),D=async e=>{if(!e.id||!e.thread)throw Error(`Cannot restore a Codex delivery without its id and thread.`);let n={deliveryId:e.id,thread:e.thread};return e.queuedSubmissionId&&(n.queuedSubmissionId=e.queuedSubmissionId),Ub(await Vb(t,`deliveries/restore`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)}))},O=async(e={})=>{let n=new URLSearchParams;n.set(`limit`,String(e.limit??jb));let r=e.thread?.trim();return r&&n.set(`thread`,r),Wb(await Vb(t,`threads?${n.toString()}`))},k=()=>u??l??(d?null:f),A=()=>{if(!r)return;let e=b?.id&&(b.status===`queued`||b.status===`working`||b.status===`interrupted`)?{id:b.id,thread:b.thread??k()??``,status:b.status,annotationIds:[...b.annotationIds],queuedSubmissionId:b.queuedSubmissionId,dispatch:b.dispatch,dispatchError:b.dispatchError}:null;zb(t,{version:1,originThread:l,selectedThread:u,delivery:e?.thread?e:null})},j=(e,t=!1)=>{let n=e.trim();n&&((t||!l)&&(l=n),u=n,d=!1,A())},M=()=>b!==null&&[`queueing`,`queued`,`working`,`completed`].includes(b.status),N=()=>b?.status===`queued`&&(b.dispatch===`desktop-send-uncertain`||b.dispatch===`desktop-wait-failed`),P=e=>e===`queueing`?`Queueing…`:e===`queued`?`Queued`:e===`working`?`Working…`:e===`completed`?`Done`:e===`interrupted`?`Interrupted`:`Failed`,F=()=>b?b.status===`queueing`?`Queueing to Codex…`:N()?`Codex delivery blocked`:b.status===`queued`?`Queued for Codex`:b.status===`working`?`Codex working…`:b.status===`completed`?`Codex finished`:b.status===`interrupted`?`Codex interrupted`:`Queue failed`:null,I=()=>b?[`queueing`,`queued`,`working`].includes(b.status)?Fb:b.status===`completed`?Ib:Pb:Pb,L=()=>{let e=[],t=new Set,n=n=>{t.has(n.id)||(t.add(n.id),e.push(n))},r=e=>({id:e,title:`Codex ${Kb(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},R=(e=!1)=>Promise.resolve(),z=()=>{if(s!==`available`)return[{id:`codex.thread.connect`,label:s===`unavailable`?`Retry Codex connection`:`Choose Codex thread…`,run:()=>R(!0)}];let e=L(),t=e.slice(0,g),n=k(),r=t.map(e=>{let t=e.id===l?`Current · `:e.connected?`Connected · `:``,r=b?.thread===e.id?` · ${N()?`Blocked`:P(b.status)}`:``;return{id:`codex.thread.${e.id}`,label:`${t}${qb(e.title)}${r}`,checked:()=>n===e.id,disabled:()=>M(),run(){M()||(j(e.id,!l),B())}}});return g<jb&&(e.length>g||h)&&r.push({id:`codex.thread.show-more`,label:`Show 5 more…`,run(){g=jb,B()}}),r},B=()=>{if(!r||w)return;let t=k(),n=z(),i=!M()&&!d&&s!==`unavailable`&&(s===`unknown`||!!t),a=F()??(s===`unavailable`?`Codex unavailable`:d||s===`available`&&!t?`Choose Codex thread`:`Queue to Codex`),o=JSON.stringify({bridgeAvailability:s,routeNeedsSelection:d,target:t,label:a,visibleThreadCount:g,activeDelivery:b,items:n.map(e=>({id:e.id,label:e.label,checked:e.checked?.()??null,disabled:e.disabled?.()??!1}))});o!==v&&(v=o,_?.dispose(),_=e.tool.register({id:`codex.send`,label:a,command:`codex.queue`,order:73,icon:I(),disabled:()=>!i,menu:n.length?{label:`Codex destination`,items:n}:void 0}))},ee=async()=>{if(s!==`available`)return;let e=l&&p.includes(l)?l:f;try{let t=await O({limit:jb,thread:e??void 0});m=t.threads,h=t.hasMore}catch{m=p.map(e=>({id:e,title:`Codex ${Kb(e)}`,updatedAt:null,connected:!0})),h=!1}};R=(e=!1)=>w||s===`unknown`&&!e?Promise.resolve():y||(y=(async()=>{try{let e=await T(),t=e.thread!==f;s=`available`,c=!0,f=e.thread,p=e.threads;let n=u??l;n?d=!e.threads.includes(n):e.threads.length===1?j(e.threads[0],!0):d=(e.threads.length,!0),(t||m.length===0||d)&&await ee(),d&&n&&m.some(e=>e.id===n)&&(d=!1,A())}catch(e){throw s=`unavailable`,e}finally{y=null,B()}})(),y);let V=()=>{x&&=(globalThis.clearTimeout(x),0),S&&=(globalThis.clearTimeout(S),0)},te=()=>{S&&globalThis.clearTimeout(S),S=globalThis.setTimeout(()=>{S=0,b?.status===`completed`&&(b=null,A(),B())},Ob)},H=async e=>{if(!(!b||b.id!==e.id)){if(b={...b,thread:e.thread,status:e.status,queuedSubmissionId:e.queuedSubmissionId??b.queuedSubmissionId,dispatch:e.dispatch??b.dispatch,dispatchError:e.dispatchError??b.dispatchError},A(),e.status===`completed`){if(i)for(let e of b.annotationIds)await a.removeAnnotation(e);A(),B(),te();return}if(e.status===`interrupted`){A(),B();let t=e.updatedAt>0?e.updatedAt:Date.now();Date.now()-t<Ab&&(x=globalThis.setTimeout(()=>{x=0,ne(e.id)},kb));return}B(),x=globalThis.setTimeout(()=>{x=0,ne(e.id)},Db)}},ne=async e=>{if(!(w||b?.id!==e))try{await H(await E(e))}catch(n){if(b?.id!==e)return;let r=n;if(b.status===`queued`&&b.thread)try{s!==`available`&&await R(!0);let e=await D(b);await H(e);return}catch(e){r=e}if(b?.id!==e)return;if(b.status===`interrupted`){B();return}b={...b,status:`failed`},A(),Jb(r,t)&&(s=`unavailable`),B()}},U={health:T,listThreads:O,delivery:E,async useThread(e){let n=e.trim();if(!n)throw Error(`Codex thread must be a non-empty string.`);let r=Hb(await Vb(t,`target`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({thread:n})}));return j(n,!l),f=r.thread,p=r.threads,s=`available`,c=!0,B(),r},async queue(e){let i=await Gb(a,e,n),o=e?.thread?.trim(),c=o||(r?k():null);if(r&&!o&&(d||!c))throw Error(`Choose a Codex thread before queueing feedback.`);let l={message:i.message};c&&(l.thread=c);try{let e=await Vb(t,`send`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(l)}),n=e.thread?.trim();if(!n)throw Error(`Mesurer Codex bridge did not report the destination thread.`);let r={thread:n,output:e.output??``,delivery:`queued`,deliveryId:e.deliveryId?.trim()||null,status:e.status??`queued`,annotationIds:i.annotationIds};return e.queuedSubmissionId!==void 0&&(r.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.dispatch!==void 0&&(r.dispatch=e.dispatch),e.dispatchError!==void 0&&(r.dispatchError=e.dispatchError?.trim()||null),r}catch(e){throw r&&Jb(e,t)&&(s=`unavailable`,B()),e}},send(e){return U.queue(e)}};e.service.provide(wb,U);let re=async()=>{if(!(C||M()))return V(),b={id:null,thread:k(),status:`queueing`,annotationIds:[],queuedSubmissionId:null,dispatch:null,dispatchError:null},B(),C=(async()=>{try{r&&s!==`available`&&await R(!0);let e=await U.queue();b={id:e.deliveryId,thread:e.thread,status:e.status,annotationIds:e.annotationIds,queuedSubmissionId:e.queuedSubmissionId??null,dispatch:e.dispatch??null,dispatchError:e.dispatchError??null},j(e.thread,!l),A(),B(),console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`),e.deliveryId?e.status===`completed`||e.status===`interrupted`?await H({id:e.deliveryId,thread:e.thread,status:e.status,turnId:null,createdAt:0,updatedAt:0}):x=globalThis.setTimeout(()=>{x=0,ne(e.deliveryId)},Db):S=globalThis.setTimeout(()=>{S=0,b?.id===null&&b?.status===`queued`&&(b=null,A(),B())},Ob)}catch(e){b=null,A(),B();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`,re),e.command.register(`codex.send`,re),r){B(),b?.id&&(c=!0,x=globalThis.setTimeout(()=>{x=0,b?.id&&ne(b.id)},0));let t=globalThis.setInterval(()=>{c&&R().catch(()=>void 0)},Eb);e.lifecycle.onDispose(()=>{w=!0,V(),globalThis.clearInterval(t),_?.dispose(),_=void 0})}}}}var Xb=[{id:ib,label:`Context`,order:30,create:hb,settingsIds:[`context`],hiddenSettingsControlIds:[`ui`]},{id:jy,label:`Arrange`,order:35,create:Ny,settingsIds:[`arrange`]},{id:tb,label:`Layout Guides`,order:38,create:rb},{id:Hv,label:`Screenshot`,order:40,create:(e={})=>({...cy(e),version:Ay}),settingsIds:[`screenshot`],hiddenSettingsControlIds:[`tool`]},{id:Cb,label:`Codex`,order:45,create:Yb}],Zb=e=>{let t=e!==void 0,n=new Map((e??[]).map(e=>[e.id,e])),r=new Set(Xb.map(e=>e.id)),i=Xb.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,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},Qb={select:`select`,xray:`xray`,colorPicker:`color-picker`,rulers:`rulers`,typography:`text-inspector`,guides:`guides`,distance:`distance`,settings:`settings`};function $b(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=Sb(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=ky({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(ab);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(My);if(!e)throw Error(`Mesurer Arrange is disabled. Enable it in Settings or include arrange() 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),ee=async e=>(await N()).capturePlan(e),V=async()=>(await N()).prepareCapture(),te=async()=>(await N()).finishCapture(),H=async()=>(await P()).intents(),ne=async e=>{let t=(await P()).intent(e);if(!t)throw Error(`Arrange intent not found: ${e}`);return t},U=async(e,t)=>{(await P()).show(e,t)},re=async(e,t)=>(await P()).capturePlan(e,t),ie=async(e,t)=>(await P()).review(e,t),ae=()=>j.textEdits(),oe=e=>j.textEdit(e),se=Object.assign(j,{capabilities:()=>{let e=!!b?.service.get(ab);return{protocol:`mesurer.agent/v1`,contextSchema:`mesurer.context/v1`,capabilities:{context:e,select:e,annotations:e,review:e,capturePlan:e,arrange:!!b?.service.get(My),textEdit:!!b?.service.get(Dy)}}},context:F,contextText:I,select:R,annotations:z,review:B,capturePlan:ee,prepareCapture:V,finishCapture:te,arrangements:H,arrange:ne,showArrange:U,arrangeCapturePlan:re,reviewArrange:ie}),ce={...f,version:Ay,plugins:Zb(l),excludePlugins:u?u.map(e=>Qb[e]):[...d??[]]},le=xi(()=>Hr(m_,bi(ce,{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),ue,de=new Promise((e,t)=>{ue=t});de.catch(()=>void 0);let fe=Promise.race([(async()=>(await se.ready(),k()))(),de]);fe.catch(()=>void 0);let pe=null;if(A){let e=A.globalName??`__MESURER__`,t=Object.getOwnPropertyDescriptor(m,e);Reflect.set(m,e,se),pe=()=>{Object.getOwnPropertyDescriptor(m,e)?.value===se&&(t?Object.defineProperty(m,e,t):Reflect.deleteProperty(m,e))}}let me=!1,he=()=>void 0,ge=e=>{T||S(e),E||w(e),ue(e)},_e={element:h,root:_,hostLayer:g.mode,get pluginHost(){return b},ready:fe,agent:se,service:M,context:F,contextText:I,copyContext:L,select:R,annotations:z,review:B,capturePlan:ee,prepareCapture:V,finishCapture:te,arrangements:H,arrange:ne,showArrange:U,arrangeCapturePlan:re,reviewArrange:ie,textEdits:ae,textEdit:oe,bringToFront:g.bringToFront,describe:async()=>(await fe).describe(),dispose(){me||(me=!0,he(),ge(new DOMException(`Mesurer was disposed before it became ready.`,`AbortError`)),pe?.(),le(),g.dispose(),h.remove())}};if(o){let e=()=>{if(me)return;let e=o.reason??new DOMException(`Mesurer mount aborted.`,`AbortError`);ge(e),_e.dispose()};o.addEventListener(`abort`,e,{once:!0}),he=()=>{o.removeEventListener(`abort`,e)}}return _e}var{target:ex,globalName:tx=`__MESURER__`,reuseExisting:nx=!0,recoverDisconnected:rx=!1,...ix}=globalThis.__MESURER_CONFIG__??{},ax=globalThis.__MESURER_INSTANCE__,ox=nx&&ax?.element.isConnected?ax:void 0,sx=()=>{let e=ex?document.querySelector(ex):document.body;if(!e)throw Error(`Mesurer injection target not found: ${ex}`);return globalThis.__MESURER_INSTANCE__?.dispose(),$b({...ix,target:e,agent:{globalName:tx,root:document}})},cx=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()}}},lx=ox??sx();globalThis.__MESURER_INSTANCE__=lx,globalThis.__MESURER_INJECT_RECOVERY__?.stop(),globalThis.__MESURER_INJECT_RECOVERY__=void 0,rx&&cx(sx),lx.ready.catch(e=>{queueMicrotask(()=>{throw e})})})();
package/dist/inject.js CHANGED
@@ -14635,18 +14635,7 @@ function t_(e) {
14635
14635
  return null;
14636
14636
  }
14637
14637
  let n = t.filter((t) => zu(t, e.fingerprint));
14638
- if (n.length === 1) {
14639
- if (!e.fingerprint.id && !e.fingerprint.testId) {
14640
- let t = [];
14641
- try {
14642
- t = D(e.fingerprint.tag).filter((t) => zu(t, e.fingerprint));
14643
- } catch {
14644
- return null;
14645
- }
14646
- if (t.length !== 1 || t[0] !== n[0]) return null;
14647
- }
14648
- return n[0] ?? null;
14649
- }
14638
+ if (t.length === 1 && n.length === 1) return n[0] ?? null;
14650
14639
  if (t.length !== 1 || e.fingerprint.id || e.fingerprint.testId) return null;
14651
14640
  let r = t[0];
14652
14641
  if (!r || r.localName !== e.fingerprint.tag) return null;
@@ -17843,7 +17832,7 @@ function Ty(e) {
17843
17832
  }
17844
17833
  //#endregion
17845
17834
  //#region src/version.ts
17846
- var Ey = "0.2.0-beta.1", Dy = Xf, Oy = Zf, ky = () => ({
17835
+ var Ey = "0.2.0-beta.2", Dy = Xf, Oy = Zf, ky = () => ({
17847
17836
  ...Ip(),
17848
17837
  version: Ey
17849
17838
  }), Ay = (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, jy = (e) => {
package/dist/plugins.js CHANGED
@@ -6420,7 +6420,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6420
6420
  C = !0, b += 1, d.removeEventListener("pointerdown", L), d.removeEventListener("pointermove", R), d.removeEventListener("pointerup", z), d.removeEventListener("pointercancel", B), i.removeEventListener("keydown", V, !0), y && i.clearTimeout(y), M.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
6421
6421
  });
6422
6422
  }
6423
- }), lc = "0.2.0-beta.1", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
6423
+ }), lc = "0.2.0-beta.2", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
6424
6424
  ...no(),
6425
6425
  version: lc
6426
6426
  }), 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, _c = (e) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mesurer-solid",
3
- "version": "0.2.0-beta.1",
3
+ "version": "0.2.0-beta.2",
4
4
  "description": "Framework-agnostic UI measurement and inspection tools for browser apps and coding agents.",
5
5
  "license": "MIT",
6
6
  "type": "module",