mesurer-solid 0.2.3-beta.1 → 0.2.3-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.
@@ -218,6 +218,9 @@
218
218
  .msr\\:right-0 {
219
219
  right: 0px;
220
220
  }
221
+ .msr\\:right-1\\.5 {
222
+ right: calc(var(--msr-spacing) * 1.5);
223
+ }
221
224
  .msr\\:right-2 {
222
225
  right: calc(var(--msr-spacing) * 2);
223
226
  }
@@ -230,6 +233,9 @@
230
233
  .msr\\:bottom-0 {
231
234
  bottom: 0px;
232
235
  }
236
+ .msr\\:bottom-1\\.5 {
237
+ bottom: calc(var(--msr-spacing) * 1.5);
238
+ }
233
239
  .msr\\:bottom-full {
234
240
  bottom: 100%;
235
241
  }
@@ -396,9 +402,6 @@
396
402
  .msr\\:h-8 {
397
403
  height: calc(var(--msr-spacing) * 8);
398
404
  }
399
- .msr\\:h-20 {
400
- height: calc(var(--msr-spacing) * 20);
401
- }
402
405
  .msr\\:h-36 {
403
406
  height: calc(var(--msr-spacing) * 36);
404
407
  }
@@ -420,6 +423,9 @@
420
423
  .msr\\:h-px {
421
424
  height: 1px;
422
425
  }
426
+ .msr\\:max-h-32 {
427
+ max-height: calc(var(--msr-spacing) * 32);
428
+ }
423
429
  .msr\\:max-h-36 {
424
430
  max-height: calc(var(--msr-spacing) * 36);
425
431
  }
@@ -441,6 +447,9 @@
441
447
  .msr\\:min-h-0 {
442
448
  min-height: 0px;
443
449
  }
450
+ .msr\\:min-h-\\[34px\\] {
451
+ min-height: 34px;
452
+ }
444
453
  .msr\\:w-0 {
445
454
  width: 0px;
446
455
  }
@@ -474,6 +483,9 @@
474
483
  .msr\\:w-60 {
475
484
  width: calc(var(--msr-spacing) * 60);
476
485
  }
486
+ .msr\\:w-64 {
487
+ width: calc(var(--msr-spacing) * 64);
488
+ }
477
489
  .msr\\:w-\\[18px\\] {
478
490
  width: 18px;
479
491
  }
@@ -892,9 +904,6 @@
892
904
  .msr\\:px-2 {
893
905
  padding-inline: calc(var(--msr-spacing) * 2);
894
906
  }
895
- .msr\\:px-2\\.5 {
896
- padding-inline: calc(var(--msr-spacing) * 2.5);
897
- }
898
907
  .msr\\:py-0 {
899
908
  padding-block: 0px;
900
909
  }
@@ -965,9 +974,9 @@
965
974
  --tw-leading: calc(var(--msr-spacing) * 4);
966
975
  line-height: calc(var(--msr-spacing) * 4);
967
976
  }
968
- .msr\\:leading-\\[1\\.4\\] {
969
- --tw-leading: 1.4;
970
- line-height: 1.4;
977
+ .msr\\:leading-5 {
978
+ --tw-leading: calc(var(--msr-spacing) * 5);
979
+ line-height: calc(var(--msr-spacing) * 5);
971
980
  }
972
981
  .msr\\:leading-\\[1\\.45\\] {
973
982
  --tw-leading: 1.45;
@@ -1162,9 +1171,6 @@
1162
1171
  .msr\\:hover\\:border-ink-200:hover {
1163
1172
  border-color: var(--msr-color-ink-200);
1164
1173
  }
1165
- .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {
1166
- background-color: #0b8eea;
1167
- }
1168
1174
  .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {
1169
1175
  background-color: #0d99ff;
1170
1176
  }
@@ -1426,6 +1432,41 @@
1426
1432
  fill: currentColor !important;
1427
1433
  stroke: none !important;
1428
1434
  }
1435
+ [data-mesurer-context-root="true"] [data-mesurer-annotation-send="true"] {
1436
+ appearance: none !important;
1437
+ box-sizing: border-box !important;
1438
+ display: flex !important;
1439
+ width: 24px !important;
1440
+ height: 24px !important;
1441
+ min-width: 24px !important;
1442
+ min-height: 24px !important;
1443
+ margin: 0 !important;
1444
+ padding: 0 !important;
1445
+ align-items: center !important;
1446
+ justify-content: center !important;
1447
+ border: 0 !important;
1448
+ border-radius: 9999px !important;
1449
+ background: #0d99ff !important;
1450
+ color: #fff !important;
1451
+ opacity: 1 !important;
1452
+ }
1453
+ [data-mesurer-context-root="true"] [data-mesurer-annotation-send="true"]:disabled {
1454
+ opacity: 0.4 !important;
1455
+ }
1456
+ [data-mesurer-context-root="true"] [data-mesurer-annotation-composer="true"] .mesurer-send-icon {
1457
+ width: 16px !important;
1458
+ height: 16px !important;
1459
+ }
1460
+ [data-mesurer-context-root="true"] [data-mesurer-annotation-composer="true"] .mesurer-send-icon path {
1461
+ fill: none !important;
1462
+ stroke: currentColor !important;
1463
+ }
1464
+ [data-mesurer-context-root="true"] [data-mesurer-annotation-composer="true"] textarea {
1465
+ box-sizing: border-box !important;
1466
+ min-height: 34px !important;
1467
+ max-height: 128px !important;
1468
+ resize: none !important;
1469
+ }
1429
1470
  body [data-mesurer-native-scroll-anchor="box"][data-mesurer-nested-scroll-compensation="true"] {
1430
1471
  position: absolute !important;
1431
1472
  left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;
@@ -2152,7 +2193,7 @@ body.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesur
2152
2193
  `);return n?[[e,n]]:[]},o=e.ownerWindow.getComputedStyle(e.element),s=[`animation-composition`,`animation-timeline`,`animation-range-start`,`animation-range-end`,`transition-behavior`,...i.includes(`transform`)?[`transform-origin`]:[],...o.perspective===`none`?[]:[`perspective`,`perspective-origin`]].flatMap(e=>{let t=o.getPropertyValue(e).trim();return t&&!/^(auto|normal|replace)(,\s*\1)*$/.test(t)?[[e,t]]:[]});return[...a(`animation`,t),...a(`transition`,n),...a(`web animation`,r),...i?[[`animated properties`,i]]:[],...e.observedProperties.length?[[`observed motion`,e.observedProperties.join(`, `)],[`playback`,`Observed motion is read-only`]]:[],...s]}),i=co(()=>e.motions.filter(e=>e.kind!==`transition`).map(e=>({name:e.name,frames:Lm(e.animation,e.easing)})).filter(({frames:e})=>e.length>0)),a=co(()=>i().map(({name:e,frames:t})=>`@keyframes ${e} {\n${t.map(({offset:e,value:t})=>` ${e} { ${t} }`).join(`
2153
2194
  `)}\n}`)),o=co(()=>i().map(({name:e,frames:t})=>{let n=new Map;for(let{offset:e,value:r,displayValue:i}of t){let t=n.get(r);t?t.offsets.push(e):n.set(r,{offsets:[e],displayValue:i})}return{name:e,frames:[...n].map(([e,t])=>({value:e,...t}))}})),s=t=>{e.ownerWindow.navigator.clipboard?.writeText(t).catch(()=>void 0)};var c=X(`div`,{class:`msr:w-full msr:px-2 msr:pb-2 msr:pt-2 msr:text-[10px] msr:text-ink-900`}),l=X(`div`,{class:`msr:flex msr:flex-col msr:gap-1`});return Z(c,l),Q(l,Y(go,{get each(){return r()},children:([e,t])=>(()=>{var n=X(`div`,{class:`msr:grid msr:grid-cols-[5.5rem_minmax(0,1fr)] msr:items-baseline msr:gap-2`}),r=X(`span`,{class:`msr:text-ink-500`}),i=X(`button`,{type:`button`,class:`msr:min-w-0 msr:whitespace-pre-wrap msr:break-words msr:bg-transparent msr:p-0 msr:text-right msr:font-mono msr:text-[10px] msr:text-ink-900 msr:hover:underline`,onClick:()=>s(t)});return Z(n,r),Z(n,i),Q(r,e),Q(i,t),n})()}),null),Q(l,Y(q,{get when(){return i().length>0},get children(){return[Y(q,{get when(){return!t()},get children(){return Y(go,{get each(){return i()},children:(e,t)=>(()=>{var n=X(`div`,{class:`msr:grid msr:grid-cols-[3.5rem_minmax(0,1fr)] msr:items-baseline msr:gap-2`}),r=X(`span`,{class:`msr:text-ink-500`}),i=X(`button`,{type:`button`,class:`msr:min-w-0 msr:whitespace-pre-wrap msr:break-words msr:bg-transparent msr:p-0 msr:text-right msr:font-mono msr:text-[10px] msr:text-ink-900 msr:hover:underline`,onClick:()=>s(a().join(`
2154
2195
 
2155
- `))}),o=ec(`: `);return Z(n,r),Z(n,i),Q(r,()=>t()===0?`keyframes`:``),Z(i,o),Q(i,()=>e.name,o),Q(i,()=>e.frames.map(e=>e.offset).join(`, `),null),J(()=>`Copy keyframes ${e.name}`,(e,t)=>{$(i,`aria-label`,e,t)}),n})()})}}),Y(q,{get when(){return t()},get children(){return Y(go,{get each(){return o()},children:(e,t)=>(()=>{var n=X(`div`,{class:`msr:mt-1 msr:flex msr:flex-col msr:gap-1`}),r=X(`div`,{class:`msr:grid msr:grid-cols-[auto_minmax(0,1fr)] msr:items-baseline msr:gap-2`}),i=X(`span`,{class:`msr:text-ink-500`}),o=X(`button`,{type:`button`,class:`msr:min-w-0 msr:truncate msr:bg-transparent msr:p-0 msr:text-right msr:font-mono msr:text-[10px] msr:text-ink-900 msr:hover:underline`,onClick:()=>s(a()[t()]??``)});return Z(n,r),Z(r,i),Z(r,o),Q(i,()=>t()===0?`keyframes`:``),Q(o,()=>e.name),Q(n,Y(go,{get each(){return e.frames},children:e=>(()=>{var t=X(`div`,{class:`msr:grid msr:grid-cols-[3.5rem_minmax(0,1fr)] msr:items-baseline msr:gap-2`}),n=X(`span`,{class:`msr:font-mono msr:tabular-nums msr:text-ink-500`}),r=X(`button`,{type:`button`,class:`msr:min-w-0 msr:whitespace-pre-wrap msr:break-words msr:bg-transparent msr:p-0 msr:text-right msr:font-mono msr:text-[10px] msr:text-ink-900 msr:hover:underline`,onClick:()=>s(`${e.offsets.join(`, `)} { ${e.value} }`)});return Z(t,n),Z(t,r),Q(n,()=>e.offsets.join(`, `)),Q(r,()=>e.displayValue||`underlying style`),t})()}),null),n})()})}}),(()=>{var e=X(`button`,{type:`button`,"data-mesurer-motion-keyframes-toggle":`true`,class:`msr:ml-auto msr:bg-transparent msr:p-0 msr:text-[10px] msr:text-ink-500 msr:underline msr:underline-offset-2`,onClick:()=>n(e=>!e)});return Q(e,()=>t()?`Hide keyframes`:`Show keyframes`),J(()=>t()?`true`:`false`,(t,n)=>{$(e,`aria-expanded`,t,n)}),e})()]}}),null),c}function Nh(e){let[t,n]=K(0),[r,i]=K(0),[a,o]=K(1),[s,c]=K(!1),[l,u]=K(!1),[d,f]=K([]),[p,m]=K(!1),[h,g]=K(!1),_,v,y,b,[x,S]=K(``),[C,w]=K(!1),T,E=null,D=null,O=`mesurer-motion-custom-speed-${++Eh}`,[k,A]=K({left:0,above:!1}),[j,M]=K(null),[N,P]=K(fh(e.element)),F={current:null};po(()=>e.suspended?.()??!1,e=>{e||$t(()=>F.current?.())});let I=[],L=co(()=>[...new Set(N().filter(t=>Bm(e.element,t.element)!==null).flatMap(e=>e.properties))]),R=()=>L().length>0,z=()=>j()===e.element,B=()=>z()&&!R()&&t()>0&&d().some(e=>e.animation);po(()=>[e.element,e.ownerWindow],([e,t])=>{P(fh(e)),En(mh(e,t,t=>P(t.filter(t=>Bm(e,t.element)!==null))))}),po(()=>[e.element,e.ownerWindow],([e,t])=>{M(null);let n=t.setTimeout(()=>{e.isConnected&&M(e)},250);En(()=>t.clearTimeout(n))}),po(()=>[e.element,e.ownerWindow],([e,t])=>{i(0),c(!1),m(!1),g(!1),I=[];let r=Hm(e)[0];o(r?.playbackRate??1);let a=()=>{if(!e.isConnected){u(!1),n(0),f([]),I=[];return}try{let r=Gm(e,t),i=[...new Set(r.flatMap(e=>e.animation?[e.animation]:[]))];u(r.length>0||Vm(e).length>0),n(Math.max(0,...r.map(Km))),f(r),I=i}catch{u(!1),n(0),f([]),I=[]}};a();let s=t.setInterval(a,250);En(()=>t.clearInterval(s))}),po(()=>[e.ownerWindow,l(),B(),t()],([t,n,r,a])=>{if(!n||!r)return;let o=0,s=0,l=!1,u=()=>{if(l)return;if(e.suspended?.()){o=t.setTimeout(u,100);return}let n=Jm(I,a);i(n.progress),c(n.playing),e.suspended?.()||F.current?.(),n.playing?s=t.requestAnimationFrame(u):o=t.setTimeout(u,250)};$t(u),En(()=>{l=!0,t.clearTimeout(o),t.cancelAnimationFrame(s)})});let V=e=>{if(!B())return;let n=Math.max(0,Math.min(1,e));i(n),c(!1),Zm(I,n,t()),F.current?.()},H=()=>{if(!B())return;let t=s()?`pause`:`play`;Xm(e.element,t,a()),c(t===`play`)},U=t=>{if(!B()||!Number.isFinite(t))return;let n=Math.min(4,Math.max(.1,Math.round(t*100)/100));o(n),Xm(e.element,s()?`play`:`pause`,n)},W=e=>{let t=b?.getBoundingClientRect();if(!t)return;let n=Math.max(1,t.width-16),r=Math.max(0,Math.min(1,(e-t.left-8)/n)),i=Math.round((.1+r*3.9-.1)/.05)*.05+.1;U(i)},ee=e=>{if(!B())return;let t=E??T?.getBoundingClientRect();t?.width&&V((e-t.left)/t.width)},te=e=>{if(D!==e)return;D=null,E=null;let t=T;t?.hasPointerCapture(e)&&t.releasePointerCapture(e)};return po(()=>h(),e=>{if(!e)return;let t=_?.ownerDocument.defaultView;if(!t)return;let n=()=>{let e=_?.getBoundingClientRect();if(!e)return;let n=Math.min(208,t.innerWidth-16),r=Math.max(8-e.left,Math.min(e.width-n,t.innerWidth-n-8-e.left));A({left:r,above:t.innerHeight-e.bottom<46&&e.top>=46})};n(),t.addEventListener(`resize`,n),t.addEventListener(`scroll`,n,!0),En(()=>{t.removeEventListener(`resize`,n),t.removeEventListener(`scroll`,n,!0)}),t.queueMicrotask(()=>{h()&&(y?.focus({preventScroll:!0}),y?.select())});let r=e=>{if(e.type===`keydown`){let t=e;if(t.key!==`Escape`)return;t.preventDefault(),t.stopPropagation(),g(!1),v?.focus({preventScroll:!0});return}let t=_;t&&e.composedPath().includes(t)||g(!1)};t.addEventListener(`pointerdown`,r,!0),t.addEventListener(`keydown`,r,!0),En(()=>{t.removeEventListener(`pointerdown`,r,!0),t.removeEventListener(`keydown`,r,!0)})}),Y(q,{get when(){return l()||L().length>0},get children(){var n=X(`div`,{"data-mesurer-motion-player":`true`,"data-mesurer-inspector-ui":`true`,"aria-label":`Motion playback`,class:`mesurer-menu-surface msr:relative msr:box-border msr:pointer-events-auto msr:w-full msr:overflow-visible msr:rounded-wide-card msr:bg-white msr:text-ink-900 msr:outline-none`,style:{"border-radius":`var(--radius-wide-card, 13px)`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()}),i=X(`div`,{class:`msr:relative msr:p-2`}),o=X(`button`,{type:`button`,class:`msr:relative msr:block msr:w-full msr:overflow-hidden msr:rounded-control msr:border-0 msr:bg-ink-100 msr:p-0 msr:text-left`,"aria-label":`Motion preview`,onClick:H}),c=X(`div`,{class:`msr:mt-2 msr:flex msr:h-5 msr:items-center msr:gap-1.5`}),l=X(`button`,{type:`button`,"data-mesurer-motion-inspect":`true`,class:`msr:flex msr:size-5 msr:shrink-0 msr:items-center msr:justify-center msr:rounded-control msr:border msr:border-transparent msr:bg-transparent msr:p-0 msr:leading-none msr:text-ink-900 msr:hover:bg-black/4 msr:focus-visible:outline-none`,onClick:()=>m(e=>!e)}),u=X(`div`,{"data-mesurer-motion-details":`true`,class:`mesurer-thin-scrollbar msr:max-h-[50vh] msr:overflow-y-auto`});return Z(n,i),Z(n,u),Z(i,o),Z(i,c),Q(o,Y(wh,{get element(){return e.element},get ownerWindow(){return e.ownerWindow},get observedTargets(){return N()},wakeRef:F,get suspended(){return e.suspended}})),Z(c,l),Q(c,Y(q,{get when(){return $s(()=>!R())()&&z()},get fallback(){var e=X(`div`,{role:`status`,class:`msr:min-w-0 msr:flex-1 msr:truncate msr:font-mono msr:text-[10px] msr:leading-none msr:text-ink-500`});return Q(e,()=>R()?`JavaScript animation. Controls unavailable.`:`Preparing motion…`),e},get children(){return[(()=>{var e=X(`button`,{type:`button`,"data-mesurer-motion-play":`true`,class:`msr:flex msr:size-5 msr:shrink-0 msr:items-center msr:justify-center msr:rounded-control msr:border msr:border-transparent msr:bg-transparent msr:p-0 msr:leading-none msr:text-ink-900 msr:hover:bg-black/4 msr:focus-visible:outline-none msr:disabled:opacity-40`,onClick:H});return Q(e,(()=>{var e=$s(()=>!!s());return()=>e()?Y(Ah,{}):Y(kh,{})})()),J(()=>({e:s()?`Pause motion`:`Play motion`,t:s()?`true`:`false`,a:!B()}),({e:t,t:n,a:r},i)=>{t!==i?.e&&$(e,`aria-label`,t,i?.e),n!==i?.t&&$(e,`aria-pressed`,n,i?.t),r!==i?.a&&$(e,`disabled`,r,i?.a)}),e})(),(()=>{var e=X(`span`,{class:`msr:flex msr:h-5 msr:w-8 msr:shrink-0 msr:items-center msr:font-mono msr:text-[10px] msr:leading-none msr:tabular-nums msr:text-ink-500`});return Q(e,(()=>{var e=$s(()=>!!B());return()=>e()?Dh(r()*t()):`—`})()),e})(),(()=>{var e=X(`div`,{role:`slider`,"data-mesurer-motion-scrubber":`true`,"aria-label":`Scrub motion timeline`,"aria-valuemin":0,class:`mesurer-recording-timeline msr:relative msr:h-5 msr:min-w-0 msr:flex-1 msr:cursor-pointer msr:select-none`,onPointerDown:e=>{B()&&(E=e.currentTarget.getBoundingClientRect(),D=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),ee(e.clientX))},onPointerMove:e=>{e.pointerId===D&&ee(e.clientX)},onPointerUp:e=>{e.pointerId===D&&(ee(e.clientX),te(e.pointerId))},onPointerCancel:e=>te(e.pointerId),onLostPointerCapture:e=>te(e.pointerId),onKeyDown:e=>{if(B()){if(e.key===`Home`||e.key===`End`){e.preventDefault(),e.stopPropagation(),V(e.key===`Home`?0:1);return}(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.preventDefault(),e.stopPropagation(),V(r()+(e.key===`ArrowRight`?.02:-.02)))}}}),n=X(`div`,{class:`mesurer-recording-track-rail msr:pointer-events-none msr:absolute msr:inset-x-0 msr:top-1/2 msr:h-[3px] msr:-translate-y-1/2 msr:rounded-full msr:bg-ink-200`}),i=X(`div`,{class:`msr:pointer-events-none msr:absolute msr:top-1/2 msr:z-[2] msr:h-2 msr:-translate-y-1/2`}),a=X(`div`,{class:`mesurer-recording-playhead msr:h-full msr:w-0.5 msr:rounded-full msr:bg-ink-900`});Z(e,n),Z(e,i);var o=T;return typeof o==`function`||Array.isArray(o)?ic(()=>o,e):T=e,Z(i,a),J(()=>({e:B()?0:-1,t:B()?`false`:`true`,a:t(),o:r()*t(),i:B()?`${Math.round(r()*100)}%`:`Playback unavailable`,n:{left:`${r()*100}%`}}),({e:t,t:n,a:r,o:a,i:o,n:s},c)=>{t!==c?.e&&$(e,`tabindex`,t,c?.e),n!==c?.t&&$(e,`aria-disabled`,n,c?.t),r!==c?.a&&$(e,`aria-valuemax`,r,c?.a),a!==c?.o&&$(e,`aria-valuenow`,a,c?.o),o!==c?.i&&$(e,`aria-valuetext`,o,c?.i),s!==c?.n&&$(i,`style`,s,c?.n)}),e})(),(()=>{var e=X(`span`,{class:`msr:flex msr:h-5 msr:w-8 msr:shrink-0 msr:items-center msr:justify-end msr:font-mono msr:text-[10px] msr:leading-none msr:tabular-nums msr:text-ink-500`});return Q(e,(()=>{var e=$s(()=>!!B());return()=>e()?Dh(t()):`—`})()),e})(),(()=>{var e=X(`div`,{class:`msr:relative msr:flex msr:h-5 msr:shrink-0 msr:items-center`}),t=X(`select`,{"data-mesurer-motion-speed":`true`,"aria-label":`Playback speed`,class:`mesurer-settings-button-ghost msr:h-5 msr:appearance-none msr:rounded-control msr:border msr:border-transparent msr:bg-transparent msr:p-0 msr:text-center msr:font-mono msr:text-[10px] msr:tabular-nums msr:text-ink-500 msr:hover:bg-black/4 msr:focus-visible:bg-black/4 msr:focus-visible:outline-none`,onChange:e=>{if(e.currentTarget.value===`custom`){g(!0);return}g(!1),U(Number(e.currentTarget.value))}}),n=X(`option`,{value:`custom`});Z(e,t);var r=_;typeof r==`function`||Array.isArray(r)?ic(()=>r,e):_=e,Z(t,n);var i=v;return typeof i==`function`||Array.isArray(i)?ic(()=>i,t):v=t,Q(t,Y(go,{each:Th,children:e=>(()=>{var t=X(`option`),n=ec(`x`);return Z(t,n),Q(t,e,n),J(()=>String(e),(e,n)=>{$(t,`value`,e,n)}),t})()}),n),Q(t,Y(q,{get when(){return!Th.some(e=>e===a())},get children(){var e=X(`option`),t=ec(`x`);return Z(e,t),Q(e,a,t),J(()=>String(a()),(t,n)=>{$(e,`value`,t,n)}),e}}),n),Z(n,ec(`Custom`)),Q(e,Y(q,{get when(){return $s(()=>!!h())()?B():h()},get children(){var e=X(`div`,{id:O,role:`dialog`,"data-mesurer-motion-custom-speed":`true`,"aria-label":`Custom playback speed`,class:`mesurer-menu-surface msr:absolute msr:z-[120] msr:flex msr:w-[208px] msr:max-w-[calc(100vw-16px)] msr:items-center msr:gap-1 msr:rounded-[9px] msr:border msr:border-ink-200 msr:bg-white msr:p-1`,onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()}),t=X(`div`,{class:`msr:min-w-0 msr:flex-1`}),n=X(`div`,{class:`msr:grid msr:h-8 msr:w-full msr:grid-cols-[minmax(0,1fr)] msr:items-center`}),r=X(`button`,{type:`button`,"aria-label":`Close custom speed`,class:`msr:flex msr:size-5 msr:shrink-0 msr:items-center msr:justify-center msr:rounded-[6px] msr:bg-transparent msr:text-ink-700 msr:hover:bg-black/4`,onClick:()=>{g(!1),v?.focus({preventScroll:!0})}}),i=X(`span`,{"aria-hidden":`true`});return Z(e,t),Z(e,r),Z(t,n),Q(n,Y(_h,{get left(){var e=X(`div`,{class:`msr:relative msr:min-w-0 msr:flex-1 msr:touch-none msr:select-none msr:px-2`,style:{height:`20px`},"data-slider-container":`true`,onPointerDown:e=>{e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId),W(e.clientX)},onPointerMove:e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&W(e.clientX)},onPointerUp:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)},onPointerCancel:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}}),t=X(`div`,{class:`msr:absolute msr:left-[8px] msr:right-[8px] msr:rounded-full`,style:{top:`8px`,height:`4px`,"background-color":`var(--msr-slider-track)`},"aria-hidden":`true`}),n=X(`div`,{class:`msr:absolute msr:left-[8px] msr:rounded-full`,"aria-hidden":`true`}),r=X(`div`,{role:`slider`,tabindex:0,"aria-label":`Custom playback speed slider`,"aria-valuemin":.1,"aria-valuemax":4,class:`mesurer-control-thumb msr:absolute msr:rounded-[5px] msr:bg-white msr:shadow-sm msr:outline-none msr:focus-visible:ring-1 msr:focus-visible:ring-[var(--msr-accent)]/25`,onKeyDown:e=>{if(e.key===`Home`)U(.1);else if(e.key===`End`)U(4);else if(e.key===`ArrowRight`||e.key===`ArrowUp`)U(a()+.05);else if(e.key===`ArrowLeft`||e.key===`ArrowDown`)U(a()-.05);else return;e.preventDefault(),e.stopPropagation()}});Z(e,t),Z(e,n),Z(e,r);var i=b;return typeof i==`function`||Array.isArray(i)?ic(()=>i,e):b=e,J(()=>({e:{top:`8px`,height:`4px`,width:`calc(${(a()-.1)/3.9*100}% - ${(a()-.1)/3.9*16}px)`,"background-color":`var(--msr-accent)`},t:a(),a:`${a()}x`,o:{left:`calc(8px + (100% - 16px) * ${(a()-.1)/3.9})`,top:`4px`,width:`12px`,height:`12px`,transform:`translateX(-50%)`}}),({e,t,a:i,o:a},o)=>{e!==o?.e&&$(n,`style`,e,o?.e),t!==o?.t&&$(r,`aria-valuenow`,t,o?.t),i!==o?.a&&$(r,`aria-valuetext`,i,o?.a),a!==o?.o&&$(r,`style`,a,o?.o)}),e},get right(){var e=X(`input`,{type:`text`,"aria-label":`Custom playback speed value`,class:`msr:h-full msr:w-full msr:border-0 msr:bg-transparent msr:px-1 msr:text-left msr:font-mono msr:text-[12px] msr:font-medium msr:tabular-nums msr:text-ink-700 msr:outline-none`,onFocus:()=>{S(`${a()}x`),w(!0)},onInput:e=>{let t=e.currentTarget.value;S(t);let n=Number.parseFloat(t);Number.isFinite(n)&&U(n)},onBlur:()=>w(!1),onPointerDown:e=>e.stopPropagation(),onKeyDown:e=>{if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault(),e.stopPropagation(),U(a()+(e.key===`ArrowUp`?.05:-.05));return}e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())}}),t=y;return typeof t==`function`||Array.isArray(t)?ic(()=>t,e):y=e,J(()=>C()?x():`${a()}x`,(t,n)=>{$(e,`value`,t,n)}),e}})),Z(r,i),Z(i,ec(`×`)),J(()=>({left:`${k().left}px`,top:k().above?`auto`:`100%`,bottom:k().above?`100%`:`auto`,"margin-top":k().above?`0px`:`4px`,"margin-bottom":k().above?`4px`:`0px`}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),J(()=>({e:h()?O:void 0,t:!B(),a:String(a()),o:{width:`${Math.max(6,`${a()}x`.length+1)}ch`}}),({e,t:n,a:r,o:i},a)=>{e!==a?.e&&$(t,`aria-controls`,e,a?.e),n!==a?.t&&$(t,`disabled`,n,a?.t),r!==a?.a&&$(t,`value`,r,a?.a),i!==a?.o&&$(t,`style`,i,a?.o)}),e})()]}}),l),Q(l,Y(jh,{})),Q(u,Y(q,{get when(){return p()},get children(){return Y(Mh,{get motions(){return d()},get ownerWindow(){return e.ownerWindow},get element(){return e.element},get observedProperties(){return L()}})}})),J(()=>({e:!B(),t:p()?`Hide motion details`:`Show motion details`,a:p()?`true`:`false`,o:!p()}),({e,t,a:n,o:r},i)=>{e!==i?.e&&$(o,`disabled`,e,i?.e),t!==i?.t&&$(l,`aria-label`,t,i?.t),n!==i?.a&&$(l,`aria-expanded`,n,i?.a),r!==i?.o&&$(u,`hidden`,r,i?.o)}),n}})}var Ph=Qa(null),Fh=e=>Y(Ph,{get value(){return e.runtime},get children(){return e.children}}),Ih=()=>$a(Ph),Lh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()});return Q(t,()=>e.children),J(()=>({e:e.size??24,t:e.size??24,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Rh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M166.59,134.1a1.91,1.91,0,0,1-.55-1.79,2,2,0,0,1,1.08-1.42l46.25-17.76.24-.1A14,14,0,0,0,212.38,87L52.29,34.7A13.95,13.95,0,0,0,34.7,52.29L87,212.38a13.82,13.82,0,0,0,12.6,9.6c.23,0,.46,0,.69,0A13.84,13.84,0,0,0,113,213.61a2.44,2.44,0,0,0,.1-.24l17.76-46.25a2,2,0,0,1,3.21-.53l51.31,51.31a14,14,0,0,0,19.8,0l12.69-12.69a14,14,0,0,0,0-19.8Zm42.82,62.63-12.68,12.68a2,2,0,0,1-2.83,0L142.59,158.1a14,14,0,0,0-22.74,4.32,2.44,2.44,0,0,0-.1.24L102,208.91a2,2,0,0,1-3.61-.26L46.11,48.57a1.87,1.87,0,0,1,.47-2A1.92,1.92,0,0,1,47.93,46a2.22,2.22,0,0,1,.64.1L208.65,98.38a2,2,0,0,1,.26,3.61l-46.25,17.76-.24.1a14,14,0,0,0-4.32,22.74h0l51.31,51.31A2,2,0,0,1,209.41,196.73Z`})}}),zh=e=>{let t=e.size??20,n=(e.strokePx??1.25)*256/t,r=12/132*n;var i=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 256 256`,fill:`none`,"aria-hidden":`true`}),a=X(`path`,{d:`M56 40H200a16 16 0 0 1 16 16v36a16 16 0 0 1-16 16H108V200a16 16 0 0 1-16 16H56a16 16 0 0 1-16-16V56a16 16 0 0 1 16-16Z`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`round`,"stroke-linejoin":`round`}),o=X(`path`,{d:`M88 40v32M128 40v32M168 40v32M40 88h32M40 128h32M40 168h32`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`butt`}),s=X(`svg`,{x:`118`,y:`122`,width:132,height:132,viewBox:`9.4 12.5 12 12`,overflow:`visible`}),c=X(`path`,{d:`m18.76 16.64-6.25-2.07c-0.68-0.22-1.31 0.4-1.09 1.08l2.1 6.17c0.24 0.74 1.25 0.78 1.55 0.06l1.17-2.55 2.6-1.17c0.72-0.33 0.67-1.29-0.08-1.52z`,fill:`none`,stroke:`currentColor`,"stroke-width":r,"stroke-linecap":`round`,"stroke-linejoin":`round`});return Z(i,a),Z(i,o),Z(i,s),Z(s,c),J(()=>e.class,(e,t)=>{$(i,`class`,e,t)}),i},Bh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()});return Z(t,X(`path`,{d:`M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z`})),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Vh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M233.91,74.79,181.22,22.1a14,14,0,0,0-19.8,0L22.09,161.41a14,14,0,0,0,0,19.8L74.78,233.9a14,14,0,0,0,19.8,0L233.91,94.59A14,14,0,0,0,233.91,74.79ZM225.42,86.1,86.1,225.41h0a2,2,0,0,1-2.83,0L30.58,172.73a2,2,0,0,1,0-2.83L64,136.48l27.76,27.76a6,6,0,1,0,8.48-8.48L72.48,128,96,104.48l27.76,27.76a6,6,0,0,0,8.48-8.48L104.48,96,128,72.49l27.76,27.75a6,6,0,0,0,8.48-8.48L136.49,64,169.9,30.59a2,2,0,0,1,2.83,0l52.69,52.68A2,2,0,0,1,225.42,86.1Z`})}}),Hh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`12`,"stroke-opacity":`0.78`,d:`M76 48h96a16 16 0 0 1 16 16v96a16 16 0 0 1-16 16H76a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16Zm32 32h96a16 16 0 0 1 16 16v96a16 16 0 0 1-16 16h-96a16 16 0 0 1-16-16V96a16 16 0 0 1 16-16Z`})}}),Uh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`12`,d:`M48 208V48h160M80 48v24m32-24v24m32-24v24m32-24v24M48 80h24M48 112h24m-24 32h24m-24 32h24`})}}),Wh=e=>Y(Lh,{get size(){return e.size??8},get class(){return e.class},get children(){return X(`path`,{d:`M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z`})}}),Gh=e=>Y(Lh,{get size(){return e.size??12},get class(){return e.class},get children(){return X(`path`,{d:`M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z`})}}),Kh=e=>Y(Lh,{get size(){return e.size??12},get class(){return e.class},get children(){return X(`path`,{d:`M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z`})}}),qh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()}),n=X(`text`,{x:`50%`,y:`60%`,"text-anchor":`middle`,"dominant-baseline":`middle`,fill:`currentColor`,"font-family":`ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,"font-weight":`300`,"font-size":`220`});return Z(t,n),Z(n,ec(`Aa`)),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Jh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`});return Z(t,X(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,transform:`translate(-1.44 -1.44) scale(1.12)`,d:`M15.16 5.658a2.25 2.25 0 0 1 3.18.001l.155.17a2.25 2.25 0 0 1 0 2.84l-.154.172-1.696 1.692a1.5 1.5 0 0 1 .02 1.913l-.104.114a1.5 1.5 0 0 1-2.007.103l-.02-.018-4.443 4.447a2.24 2.24 0 0 1-1.716.65l-.814.815a1.5 1.5 0 0 1-2.121-2.121l.816-.818a2.25 2.25 0 0 1 .653-1.708l4.443-4.446a1.5 1.5 0 0 1 .088-2.025l.114-.103a1.5 1.5 0 0 1 1.91.015zm-7.544 8.959a1.25 1.25 0 0 0-.358 1.021c.021.197-.014.406-.154.546l-.958.96a.5.5 0 0 0 .708.706l.955-.956c.14-.14.352-.176.55-.153.364.042.745-.077 1.025-.356l4.438-4.442-1.767-1.767zm10.018-8.251a1.25 1.25 0 0 0-1.768 0l-1.782 1.78-.065.06a.87.87 0 0 1-1.165-.06.5.5 0 0 0-.707.707l3 3a.5.5 0 0 0 .628.064l.079-.064a.5.5 0 0 0 0-.707l-.004-.004a.873.873 0 0 1 .004-1.23l1.78-1.778a1.25 1.25 0 0 0 0-1.768`,"clip-rule":`evenodd`})),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Yh=(e,t,n)=>t*256/e/n,Xh=e=>{let t=e.size??20,n=Yh(t,e.strokePx??1,e.frameScale??1);var r=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 256 256`,fill:`none`,"aria-hidden":`true`}),i=X(`path`,{d:`M64 48H192a16 16 0 0 1 16 16v128a16 16 0 0 1-16 16H64a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16Z`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`round`,"stroke-linejoin":`round`}),a=X(`g`,{fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`butt`});return Z(r,i),Z(r,a),Q(a,()=>e.children),J(()=>e.class,(e,t)=>{$(r,`class`,e,t)}),r},Zh=e=>Y(Xh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M128 48v160M48 128h160`})}}),Qh=e=>Y(Xh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M101.33 48v160M154.67 48v160`})}}),$h=e=>Y(Xh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M48 101.33h160M48 154.67h160`})}}),eg=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`});return Z(t,X(`path`,{d:`M6 1.5v9M1.5 6h9`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`})),J(()=>({e:e.size??12,t:e.size??12,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),tg=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`}),n=X(`path`,{d:`M1.5 8s2.5-4.5 6.5-4.5S14.5 8 14.5 8s-2.5 4.5-6.5 4.5S1.5 8 1.5 8Z`,stroke:`currentColor`,"stroke-width":`1.25`}),r=X(`circle`,{cx:`8`,cy:`8`,r:`2`,stroke:`currentColor`,"stroke-width":`1.25`});return Z(t,n),Z(t,r),J(()=>({e:e.size??14,t:e.size??14,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),ng=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`}),n=X(`path`,{d:`m2 2 12 12M6.2 6.3A2.5 2.5 0 0 0 8 10.5M9.7 9.8A2.5 2.5 0 0 0 8 5.5`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`}),r=X(`path`,{d:`M4.1 4.6C2.5 5.7 1.5 8 1.5 8s2.5 4.5 6.5 4.5c1.2 0 2.3-.4 3.2-1M11.7 10.7c1.3-1 2.2-2.7 2.8-2.7 0 0-2.5-4.5-6.5-4.5-.6 0-1.2.1-1.7.3`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`});return Z(t,n),Z(t,r),J(()=>({e:e.size??14,t:e.size??14,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),rg=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`}),n=X(`path`,{d:`M10.6504 5.81117C10.9939 4.39628 13.0061 4.39628 13.3496 5.81117C13.5715 6.72517 14.6187 7.15891 15.4219 6.66952C16.6652 5.91193 18.0881 7.33479 17.3305 8.57815C16.8411 9.38134 17.2748 10.4285 18.1888 10.6504C19.6037 10.9939 19.6037 13.0061 18.1888 13.3496C17.2748 13.5715 16.8411 14.6187 17.3305 15.4219C18.0881 16.6652 16.6652 18.0881 15.4219 17.3305C14.6187 16.8411 13.5715 17.2748 13.3496 18.1888C13.0061 19.6037 10.9939 19.6037 10.6504 18.1888C10.4285 17.2748 9.38135 16.8411 8.57815 17.3305C7.33479 18.0881 5.91193 16.6652 6.66952 15.4219C7.15891 14.6187 6.72517 13.5715 5.81117 13.3496C4.39628 13.0061 4.39628 10.9939 5.81117 10.6504C6.72517 10.4285 7.15891 9.38134 6.66952 8.57815C5.91193 7.33479 7.33479 5.91192 8.57815 6.66952C9.38135 7.15891 10.4285 6.72517 10.6504 5.81117Z`,stroke:`currentColor`,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),r=X(`circle`,{cx:`12`,cy:`12`,r:`2.5`,stroke:`currentColor`,"stroke-width":`1`});return Z(t,n),Z(t,r),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),ig=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`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`})}}),ag=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`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`})}}),og=e=>Y(Lh,{get size(){return e.size??18},get class(){return e.class},get children(){return X(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`})}}),sg=e=>Y(Lh,{get size(){return e.size??18},get class(){return e.class},get children(){return X(`path`,{d:`M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z`})}}),cg=[`hex`,`rgb`,`hsl`,`oklch`],lg=e=>cg.some(t=>t===e),ug=e=>e===`system`||e===`light`||e===`dark`,dg=[{value:`solid`,label:`Solid`},{value:`dashed`,label:`Dashed`},{value:`dotted`,label:`Dotted`}];function fg(e){var t=X(`button`,{type:`button`,role:`switch`,class:`msr:col-span-2 msr:grid msr:h-6 msr:w-full msr:appearance-none msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-left msr:text-[12px] msr:leading-none msr:text-ink-700 msr:disabled:opacity-45`,onClick:()=>e.onChange(!e.checked)}),n=X(`span`),r=X(`span`,{"aria-hidden":`true`,style:{"justify-self":`end`}}),i=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(t,n),Z(t,r),Q(n,()=>e.label),Z(r,i),J(()=>({e:e.checked?`true`:`false`,t:e.disabled,a:e.checked?`true`:void 0,o:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.checked?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,i:{transform:`translateX(${e.checked?12:0}px)`}}),({e,t:n,a,o,i:s},c)=>{e!==c?.e&&$(t,`aria-checked`,e,c?.e),n!==c?.t&&$(t,`disabled`,n,c?.t),a!==c?.a&&$(r,`data-checked`,a,c?.a),o!==c?.o&&$(r,`class`,o,c?.o),s!==c?.i&&$(i,`style`,s,c?.i)}),t}function pg(e){var t=X(`button`,{type:`button`,role:`switch`,class:`msr:flex msr:h-6 msr:w-full msr:items-center msr:justify-between msr:gap-2 msr:pr-0 msr:text-left msr:text-[12px] msr:leading-none msr:text-ink-700 msr:disabled:opacity-45`,onClick:()=>e.onChange(!e.checked)}),n=X(`span`,{class:`mesurer-plugin-setting-label msr:ml-6 msr:min-w-0 msr:flex-1 msr:truncate msr:whitespace-nowrap`}),r=X(`span`,{"aria-hidden":`true`}),i=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(t,n),Z(t,r),Q(n,()=>e.label),Z(r,i),J(()=>({e:e.checked?`true`:`false`,t:e.disabled,a:e.checked?`true`:void 0,o:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.checked?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,i:{transform:`translateX(${e.checked?12:0}px)`}}),({e,t:n,a,o,i:s},c)=>{e!==c?.e&&$(t,`aria-checked`,e,c?.e),n!==c?.t&&$(t,`disabled`,n,c?.t),a!==c?.a&&$(r,`data-checked`,a,c?.a),o!==c?.o&&$(r,`class`,o,c?.o),s!==c?.i&&$(i,`style`,s,c?.i)}),t}function mg(e){let t=t=>e.formatValue?.(t)??String(t),n=t=>e.parseInput?.(t)??Number(t),[r,i]=K(!1),[a,o]=K(``),s,c=()=>(e.value-e.min)/(e.max-e.min)*100,l=t=>e.onChange(Number(Math.min(e.max,Math.max(e.min,t)).toFixed(4))),u=(t,n)=>{t.stopPropagation();let r=n.getBoundingClientRect(),i=Math.max(1,r.width-16),a=Math.min(1,Math.max(0,(t.clientX-r.left-8)/i)),o=e.min+a*(e.max-e.min);l(Math.round((o-e.min)/e.step)*e.step+e.min)};Mn(()=>{let e=s;if(!e)return;let t=t=>{e.hasPointerCapture(t.pointerId)&&u(t,e)};return e.addEventListener(`pointermove`,t),()=>e.removeEventListener(`pointermove`,t)});var d=X(`div`,{class:`msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),f=X(`span`,{class:`msr:text-[11px] msr:font-medium msr:text-ink-700`});return Z(d,f),Q(f,()=>e.label),Q(d,Y(_h,{variant:`legacy`,get left(){var t=X(`div`,{class:`msr:relative msr:min-w-0 msr:flex-1 msr:touch-none msr:select-none msr:px-2`,style:{height:`20px`},"data-slider-container":`true`,onPointerDown:e=>{e.stopPropagation(),hu(e.currentTarget,e.pointerId),u(e,e.currentTarget)},onPointerUp:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)},onPointerCancel:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}}),n=X(`div`,{class:`msr:absolute msr:left-[8px] msr:right-[8px] msr:rounded-full`,style:{top:`8px`,height:`4px`,"background-color":`var(--msr-slider-track, rgba(15, 23, 42, 0.16))`}}),r=X(`div`,{class:`msr:absolute msr:left-[8px] msr:rounded-full`}),i=X(`div`,{class:`msr:absolute msr:rounded-[5px] msr:bg-white msr:shadow-sm msr:outline-none msr:focus-visible:ring-1 msr:focus-visible:ring-[#0d99ff]/25`,"data-slider-thumb":`true`,role:`slider`,tabindex:0,onKeyDown:t=>{let n=t.key===`ArrowRight`||t.key===`ArrowUp`?1:t.key===`ArrowLeft`||t.key===`ArrowDown`?-1:0;if(t.key===`Home`)l(e.min);else if(t.key===`End`)l(e.max);else if(n)l(e.value+n*e.step);else return;t.preventDefault(),t.stopPropagation()}});return Z(t,n),Z(t,r),Z(t,i),ic(()=>e=>{s=e},t),J(()=>({e:{top:`8px`,width:`calc(${c()}% - ${c()*.16}px)`,height:`4px`,"background-color":`var(--msr-accent, #0d99ff)`},t:{"background-color":`var(--msr-control-thumb, #fff)`,left:`calc(8px + (100% - 16px) * ${c()/100})`,top:`4px`,width:`12px`,height:`12px`,transform:`translateX(-50%)`},a:e.label,o:e.min,i:e.max,n:e.value}),({e,t,a:n,o:a,i:o,n:s},c)=>{e!==c?.e&&$(r,`style`,e,c?.e),t!==c?.t&&$(i,`style`,t,c?.t),n!==c?.a&&$(i,`aria-label`,n,c?.a),a!==c?.o&&$(i,`aria-valuemin`,a,c?.o),o!==c?.i&&$(i,`aria-valuemax`,o,c?.i),s!==c?.n&&$(i,`aria-valuenow`,s,c?.n)}),t},get right(){var s=X(`input`,{type:`text`,class:`msr:h-full msr:w-full msr:border-0 msr:bg-transparent msr:px-2 msr:text-center msr:font-mono msr:text-[12px] msr:font-medium msr:tabular-nums msr:text-ink-700 msr:outline-none`,style:{"box-sizing":`border-box`,"border-radius":`0 5px 5px 0`,"line-height":`1rem`},onFocus:()=>{o(t(e.value)),i(!0)},onInput:e=>{o(e.currentTarget.value);let t=n(e.currentTarget.value);Number.isFinite(t)&&l(t)},onBlur:()=>{let e=n(a());Number.isFinite(e)&&l(e),i(!1)},onPointerDown:e=>e.stopPropagation(),onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&e.currentTarget.blur()}});return J(()=>({e:`${e.label} value`,t:r()?a():t(e.value)}),({e,t},n)=>{e!==n?.e&&$(s,`aria-label`,e,n?.e),t!==n?.t&&$(s,`value`,t,n?.t)}),s}}),null),d}function hg(e){let t=Sl(e.ownerWindow),[n,r]=K(!1),[i,a]=K([]),o=Ih(),s=()=>o?.plugins()??[],c=()=>o?.version()??`0.1.0`,l=()=>{e.onResetSettings(),o?.reset()},u=t=>e.model.setTransient({settingsTab:t}),d=()=>e.model.state.settings,f=t=>e.model.updateSettings({guideStyle:{...e.model.current.settings.guideStyle,...t}}),p=t=>e.onSelectionSpacingStyleChange(t),m=t=>{let n=e.model.current.settings.colorPickerFormats,r=n.includes(t)?n.filter(e=>e!==t):[...n,t];e.model.updateSettings({colorPickerFormats:r.length?r:[`hex`]})},h=[[`guides`,`Guides`],[`select`,`Select`],[`color-picker`,`Color`],[`rulers`,`Rulers`],[`general`,`General`]];var g=X(`div`,{class:`msr:flex msr:max-h-[min(70vh,34rem)] msr:flex-col msr:gap-2 msr:overflow-y-auto`,onPointerDown:e=>e.stopPropagation()}),_=X(`div`,{class:`mesurer-settings-tabs msr:flex msr:h-6 msr:shrink-0 msr:select-none msr:items-stretch msr:gap-0 msr:rounded-[5px] msr:bg-ink-50 msr:p-px`,role:`tablist`,"aria-label":`Settings sections`});return Z(g,_),Q(_,Y(go,{each:h,children:([t,n])=>(()=>{var r=X(`button`,{type:`button`,role:`tab`,onClick:()=>u(t)});return Q(r,n),J(()=>({e:e.model.state.settingsTab===t?`true`:`false`,t:`mesurer-settings-tab msr:relative msr:flex msr:min-w-0 msr:flex-1 msr:appearance-none msr:items-center msr:justify-center msr:whitespace-nowrap msr:px-1.5 msr:py-0 msr:text-[10px] msr:font-medium msr:transition-colors msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] msr:rounded-[5px] ${e.model.state.settingsTab===t?`msr:bg-white msr:text-ink-900`:`msr:text-ink-500 msr:hover:text-ink-700`}`}),({e,t},n)=>{e!==n?.e&&$(r,`aria-selected`,e,n?.e),t!==n?.t&&$(r,`class`,t,n?.t)}),r})()})),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`guides`},get children(){var n=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Guide settings`}),r=X(`div`,{class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),i=X(`span`,{class:`msr:text-[12px] msr:text-ink-700`}),a=X(`div`,{class:`msr:flex msr:gap-1`,role:`radiogroup`,"aria-label":`Guide pattern`});return Z(n,r),Q(n,Y(vh,{variant:`legacy`,label:`Color`,get value(){return d().guideColor},fallback:`#f97316`,get ownerWindow(){return e.ownerWindow},onChange:t=>e.model.updateSettings({guideColor:t})}),r),Q(n,Y(mg,{label:`Weight`,min:1,max:4,step:1,get value(){return d().guideStyle.width},formatValue:e=>`${e}px`,parseInput:e=>Number.parseFloat(e),onChange:e=>f({width:e})}),r),Z(r,i),Z(r,a),Z(i,ec(`Pattern`)),Q(a,Y(go,{each:dg,children:({value:e,label:n})=>{let r=()=>d().guideStyle.pattern===e,i=`guide-pattern-${e}`;var a=X(`button`,{type:`button`,role:`radio`,"aria-label":`${n} guide pattern`,onClick:()=>f({pattern:e}),onMouseEnter:()=>t.onTooltipEnter(i),onFocus:()=>t.onTooltipEnter(i)});return Z(a,X(`span`,{"aria-hidden":`true`,class:`msr:block msr:w-full msr:border-t-2 msr:border-ink-700 ${e===`dashed`?`msr:border-dashed`:e===`dotted`?`msr:border-dotted`:`msr:border-solid`}`})),Q(a,Y(xl,{label:n,get visible(){return t.visibleTooltipId()===i},get instant(){return t.tooltipInstant()},class:`msr:z-10`}),null),J(()=>({e:r()?`true`:`false`,t:`msr:relative msr:flex msr:h-6 msr:min-w-0 msr:flex-1 msr:items-center msr:justify-center msr:rounded-[5px] msr:border msr:px-1 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] ${r()?`msr:border-[#0d99ff] msr:bg-[#0d99ff]/10`:`msr:border-ink-200 msr:bg-ink-50 msr:hover:bg-ink-100`}`,a:t.onTooltipLeave}),({e,t,a:n},r)=>{e!==r?.e&&$(a,`aria-checked`,e,r?.e),t!==r?.t&&$(a,`class`,t,r?.t),n!==r?.a&&$(a,`onBlur`,n,r?.a)}),a}})),Q(n,Y(q,{get when(){return d().guideStyle.pattern!==`solid`},get children(){return[Y(mg,{label:`Length`,min:2,max:24,step:1,get value(){return d().guideStyle.dashLength},formatValue:e=>`${e}px`,onChange:e=>f({dashLength:e})}),Y(mg,{label:`Gap`,min:0,max:24,step:1,get value(){return d().guideStyle.gap},formatValue:e=>`${e}px`,onChange:e=>f({gap:e})})]}}),null),Q(n,Y(fg,{label:`Snap`,get checked(){return d().snapGuidesEnabled},onChange:t=>e.model.updateSettings({snapGuidesEnabled:t})}),null),Q(n,Y(fg,{label:`Highlight`,get checked(){return d().selectNewGuideEnabled},onChange:t=>e.model.updateSettings({selectNewGuideEnabled:t})}),null),J(()=>t.onTooltipContainerLeave,(e,t)=>{$(a,`onMouseLeave`,e,t)}),n}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`select`},get children(){var n=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Selection settings`}),r=X(`div`,{"data-mesurer-distance":`true`,class:`msr:col-span-2 msr:mt-1 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1 msr:border-t msr:border-ink-100 msr:pt-2`}),i=X(`div`,{class:`msr:col-span-2 msr:text-[10px] msr:font-semibold msr:text-ink-500`}),a=X(`div`,{class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),o=X(`span`,{class:`msr:text-[12px] msr:text-ink-700`}),s=X(`div`,{class:`msr:flex msr:gap-1`,role:`radiogroup`,"aria-label":`Selection spacing pattern`});return Z(n,r),Q(n,Y(vh,{variant:`legacy`,label:`Color`,get value(){return d().highlightColor},fallback:`#0d99ff`,get ownerWindow(){return e.ownerWindow},onChange:t=>e.model.updateSettings({highlightColor:t})}),r),Q(n,Y(fg,{label:`Hover`,get checked(){return d().hoverHighlightEnabled},onChange:t=>e.model.updateSettings({hoverHighlightEnabled:t})}),r),Q(n,Y(fg,{label:`Element snap`,get checked(){return d().snapEnabled},onChange:t=>e.model.updateSettings({snapEnabled:t})}),r),Q(n,Y(fg,{label:`Stack`,get checked(){return d().multiMeasureEnabled},onChange:t=>e.model.updateSettings({multiMeasureEnabled:t})}),r),Z(r,i),Z(r,a),Z(i,ec(`Selection spacing`)),Q(r,Y(fg,{label:`Show`,get checked(){return e.selectionSpacingStyle.enabled},onChange:e=>p({enabled:e})}),a),Q(r,Y(fg,{label:`Diagonals`,get checked(){return e.selectionSpacingStyle.diagonals},onChange:e=>p({diagonals:e})}),a),Q(r,Y(vh,{variant:`legacy`,label:`Line color`,get value(){return e.selectionSpacingStyle.color},fallback:`#2563eb`,get ownerWindow(){return e.ownerWindow},onChange:e=>p({color:e})}),a),Q(r,Y(mg,{label:`Weight`,min:1,max:4,step:1,get value(){return e.selectionSpacingStyle.width},formatValue:e=>`${e}px`,parseInput:e=>Number.parseFloat(e),onChange:e=>p({width:e})}),a),Z(a,o),Z(a,s),Z(o,ec(`Pattern`)),Q(s,Y(go,{each:dg,children:({value:n,label:r})=>{let i=()=>e.selectionSpacingStyle.pattern===n,a=`spacing-pattern-${n}`;var o=X(`button`,{type:`button`,role:`radio`,"aria-label":`${r} spacing pattern`,onClick:()=>p({pattern:n}),onMouseEnter:()=>t.onTooltipEnter(a),onFocus:()=>t.onTooltipEnter(a)});return Z(o,X(`span`,{"aria-hidden":`true`,class:`msr:block msr:w-full msr:border-t-2 msr:border-ink-700 ${n===`dashed`?`msr:border-dashed`:n===`dotted`?`msr:border-dotted`:`msr:border-solid`}`})),Q(o,Y(xl,{label:r,get visible(){return t.visibleTooltipId()===a},get instant(){return t.tooltipInstant()},class:`msr:z-10`}),null),J(()=>({e:i()?`true`:`false`,t:`msr:relative msr:flex msr:h-6 msr:min-w-0 msr:flex-1 msr:items-center msr:justify-center msr:rounded-[5px] msr:border msr:px-1 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] ${i()?`msr:border-[#0d99ff] msr:bg-[#0d99ff]/10`:`msr:border-ink-200 msr:bg-ink-50 msr:hover:bg-ink-100`}`,a:t.onTooltipLeave}),({e,t,a:n},r)=>{e!==r?.e&&$(o,`aria-checked`,e,r?.e),t!==r?.t&&$(o,`class`,t,r?.t),n!==r?.a&&$(o,`onBlur`,n,r?.a)}),o}})),Q(r,Y(q,{get when(){return e.selectionSpacingStyle.pattern!==`solid`},get children(){return[Y(mg,{label:`Length`,min:2,max:24,step:1,get value(){return e.selectionSpacingStyle.dashLength},formatValue:e=>`${e}px`,onChange:e=>p({dashLength:e})}),Y(mg,{label:`Gap`,min:0,max:24,step:1,get value(){return e.selectionSpacingStyle.gap},formatValue:e=>`${e}px`,onChange:e=>p({gap:e})})]}}),null),J(()=>t.onTooltipContainerLeave,(e,t)=>{$(s,`onMouseLeave`,e,t)}),n}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`color-picker`},get children(){var t=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Color settings`}),n=X(`div`,{class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),r=X(`span`,{class:`msr:text-[12px] msr:text-ink-700`}),i=X(`div`,{class:`msr:flex msr:min-w-0 msr:gap-1`}),a=X(`label`,{class:`msr:col-span-2 msr:flex msr:items-center msr:justify-between msr:gap-3 msr:text-[12px] msr:text-ink-700`}),o=ec(`Copy`),s=X(`select`,{class:`msr:rounded-[5px] msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:py-1 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_#0d99ff]`,onChange:t=>{let n=t.currentTarget.value;lg(n)&&e.model.updateSettings({colorPickerClickFormat:n})}});return Z(t,n),Z(t,a),Z(n,r),Z(n,i),Z(r,ec(`Format`)),Q(i,Y(go,{each:cg,children:e=>(()=>{var t=X(`button`,{type:`button`,onClick:()=>m(e)});return Q(t,e),J(()=>({e:d().colorPickerFormats.includes(e)?`true`:`false`,t:`msr:h-6 msr:min-w-0 msr:flex-1 msr:rounded-[5px] msr:border msr:px-1 msr:text-[11px] msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] ${d().colorPickerFormats.includes(e)?`msr:border-[#0d99ff] msr:bg-[#0d99ff] msr:text-white`:`msr:border-ink-200 msr:text-ink-500 msr:hover:bg-ink-50`}`}),({e,t:n},r)=>{e!==r?.e&&$(t,`aria-pressed`,e,r?.e),n!==r?.t&&$(t,`class`,n,r?.t)}),t})()})),Z(a,o),Z(a,s),Q(s,Y(go,{each:cg,children:e=>(()=>{var t=X(`option`,{value:e});return Q(t,e),t})()})),J(()=>d().colorPickerClickFormat,(e,t)=>{$(s,`value`,e,t)}),t}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`rulers`},get children(){var t=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Ruler settings`});return Q(t,Y(mg,{label:`Opacity`,min:.2,max:1,step:.05,get value(){return d().rulerSettings.opacity},formatValue:e=>`${Math.round(e*100)}%`,parseInput:e=>Number.parseFloat(e)/100,onChange:t=>e.model.updateSettings({rulerSettings:{...e.model.current.settings.rulerSettings,opacity:t}})}),null),Q(t,Y(fg,{label:`Edge reveal`,get checked(){return d().rulerSettings.edgeReveal},onChange:t=>e.model.updateSettings({rulerSettings:{...e.model.current.settings.rulerSettings,edgeReveal:t}})}),null),t}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`general`},get children(){var t=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`General settings`}),u=X(`div`,{class:`msr:col-span-2 msr:grid msr:h-6 msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700`}),f=X(`span`),p=X(`select`,{"aria-label":`Appearance`,class:`mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-[5px] msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]`,onChange:t=>{let n=t.currentTarget.value;ug(n)&&e.model.updateSettings({theme:n})}}),m=X(`option`,{value:`system`}),h=X(`option`,{value:`light`}),g=X(`option`,{value:`dark`}),_=X(`div`,{class:`msr:col-span-2 msr:grid msr:h-6 msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700`}),v=X(`span`),y=X(`span`,{class:`msr:justify-self-end msr:font-mono msr:text-[11px] msr:tabular-nums msr:text-ink-700`}),b=X(`div`,{class:`msr:col-span-2 msr:flex msr:justify-end msr:gap-1`}),x=X(`button`,{type:`button`,"aria-label":`Reset settings to defaults`,class:`msr:rounded-[5px] msr:border msr:border-ink-200 msr:px-2 msr:py-1 msr:text-[11px] msr:text-ink-700 msr:hover:bg-ink-50 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff]`,onClick:l}),S=X(`button`,{type:`button`,"aria-label":`Clear workspace`,class:`msr:rounded-[5px] msr:border msr:border-red-200 msr:px-2 msr:py-1 msr:text-[11px] msr:text-red-600 msr:hover:bg-red-50 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#ef4444]`,onClick:()=>e.onClearWorkspace()});return Z(t,u),Z(t,_),Z(t,b),Q(t,Y(fg,{label:`Persist`,get checked(){return d().persistOnReload},onChange:t=>e.model.updateSettings({persistOnReload:t})}),u),Q(t,Y(fg,{label:`Shortcuts`,get checked(){return d().shortcutsEnabled},onChange:t=>e.model.updateSettings({shortcutsEnabled:t})}),u),Z(u,f),Z(u,p),Z(f,ec(`Appearance`)),Z(p,m),Z(p,h),Z(p,g),Z(m,ec(`System`)),Z(h,ec(`Light`)),Z(g,ec(`Dark`)),Q(t,Y(q,{get when(){return s().length>0},get children(){var e=X(`div`,{class:`msr:col-span-2 msr:mt-1 msr:rounded-[6px] msr:bg-ink-50/40`,"data-mesurer-plugin-settings":`true`,style:{overflow:`clip`}}),t=X(`button`,{type:`button`,"data-mesurer-plugin-settings-disclosure":`plugins`,class:`msr:flex msr:h-7 msr:w-full msr:items-center msr:gap-1 msr:px-2 msr:text-left msr:text-[11px] msr:font-medium msr:text-ink-700 msr:hover:bg-ink-50`,onClick:()=>r(e=>!e)}),c=X(`span`,{class:`msr:flex-1`}),l=X(`span`,{class:`msr:text-[10px] msr:font-normal msr:text-ink-400`});return Z(e,t),Z(t,c),Z(t,l),Z(c,ec(`Plugins`)),Q(l,()=>s().length),Q(t,Y(Wh,{size:10,get class(){return n()?`msr:rotate-180`:``}}),null),Q(e,Y(q,{get when(){return n()},get children(){var e=X(`div`,{class:`msr:flex msr:flex-col`,"data-mesurer-plugin-settings-list":`true`});return Q(e,Y(go,{get each(){return s()},children:e=>{let t=()=>i().includes(e.id),n=()=>e.enabled&&e.sections.length>0,r=()=>{n()&&a(t=>t.includes(e.id)?t.filter(t=>t!==e.id):[...t,e.id])},s=t=>{o?.setEnabled(e.id,t)};var c=X(`div`,{class:`msr:relative`}),l=X(`div`,{class:`msr:grid msr:h-7 msr:w-full msr:grid-cols-[minmax(0,1fr)_28px_34px] msr:items-center msr:hover:bg-ink-50`}),u=X(`button`,{type:`button`,role:`switch`,class:`msr:col-start-3 msr:flex msr:h-full msr:w-full msr:items-center msr:justify-end msr:disabled:opacity-45 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff]`,onClick:()=>s(!e.enabled)}),d=X(`span`,{"aria-hidden":`true`}),f=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(c,l),Z(l,u),Q(l,Y(q,{get when(){return n()},get fallback(){var t=X(`span`,{class:`msr:col-start-1 msr:col-end-3 msr:ml-2 msr:min-w-0 msr:truncate msr:whitespace-nowrap msr:pr-2 msr:text-[11px] msr:text-ink-600`});return Q(t,()=>e.label),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-label`,e,n)}),t},get children(){var n=X(`button`,{type:`button`,class:`msr:col-start-1 msr:col-end-3 msr:flex msr:h-full msr:min-w-0 msr:items-center msr:text-left msr:text-ink-600 msr:hover:text-ink-700 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff]`,onClick:r}),i=X(`span`,{class:`msr:ml-2 msr:min-w-0 msr:flex-1 msr:truncate msr:whitespace-nowrap msr:pr-2 msr:text-[11px]`}),a=X(`span`,{class:`msr:flex msr:size-7 msr:shrink-0 msr:items-center msr:justify-center msr:text-ink-500`});return Z(n,i),Z(n,a),Q(i,()=>e.label),Q(a,Y(Wh,{size:9,get class(){return t()?`msr:rotate-180`:``}})),J(()=>({e:`${e.label} settings`,t:e.id,a:t()?`true`:`false`,o:e.id}),({e,t,a:r,o:a},o)=>{e!==o?.e&&$(n,`aria-label`,e,o?.e),t!==o?.t&&$(n,`data-mesurer-plugin-settings-disclosure`,t,o?.t),r!==o?.a&&$(n,`aria-expanded`,r,o?.a),a!==o?.o&&$(i,`data-mesurer-plugin-label`,a,o?.o)}),n}}),u),Z(u,d),Z(d,f),Q(c,Y(q,{get when(){return e.description||e.error},get children(){var t=X(`div`,{class:`msr:bg-white/60 msr:px-2 msr:pb-1.5 msr:pt-0.5`});return Q(t,Y(q,{get when(){return e.description},get children(){var t=X(`p`,{class:`msr:m-0 msr:text-[10px] msr:leading-4 msr:text-ink-500`});return Q(t,()=>e.description),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-description`,e,n)}),t}}),null),Q(t,Y(q,{get when(){return e.error},get children(){var t=X(`p`,{class:`msr:m-0 msr:text-[10px] msr:leading-4 msr:text-ink-700`,role:`status`});return Q(t,()=>e.error),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-error`,e,n)}),t}}),null),t}}),null),Q(c,Y(q,{get when(){return $s(()=>!!n())()?t():n()},get children(){var t=X(`div`,{class:`msr:flex msr:flex-col msr:gap-0.5 msr:bg-white/60 msr:py-1`});return Q(t,Y(go,{get each(){return e.sections},children:e=>Y(go,{get each(){return e.controls??[]},children:t=>Y(pg,{get label(){return t.label},get checked(){return t.value()},get disabled(){return t.disabled?.()??!1},onChange:n=>o?.update(e.id,t,n)})})})),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-settings-controls`,e,n)}),t}}),null),J(()=>({e:e.id,t:e.label,a:e.enabled?`true`:`false`,o:e.busy,i:e.id,n:e.enabled?`true`:void 0,s:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.enabled?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,h:{transform:`translateX(${e.enabled?12:0}px)`}}),({e,t,a:n,o:r,i,n:a,s:o,h:s},l)=>{e!==l?.e&&$(c,`data-mesurer-plugin-settings-section`,e,l?.e),t!==l?.t&&$(u,`aria-label`,t,l?.t),n!==l?.a&&$(u,`aria-checked`,n,l?.a),r!==l?.o&&$(u,`disabled`,r,l?.o),i!==l?.i&&$(u,`data-mesurer-plugin-toggle`,i,l?.i),a!==l?.n&&$(d,`data-checked`,a,l?.n),o!==l?.s&&$(d,`class`,o,l?.s),s!==l?.h&&$(f,`style`,s,l?.h)}),c}})),e}}),null),J(()=>n()?`true`:`false`,(e,n)=>{$(t,`aria-expanded`,e,n)}),e}}),_),Z(_,v),Z(_,y),Z(v,ec(`Version`)),Q(y,c),Z(b,x),Z(b,S),Z(x,ec(`Use defaults`)),Z(S,ec(`Clear workspace`)),J(()=>d().theme,(e,t)=>{$(p,`value`,e,t)}),t}}),null),g}var gg=272,_g=8,vg=4;function yg(e){var t=X(`button`,{type:`button`,role:`switch`,class:`msr:col-span-2 msr:grid msr:h-6 msr:w-full msr:appearance-none msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-left msr:text-[12px] msr:leading-none msr:text-ink-700 msr:disabled:opacity-45`,onClick:()=>e.onChange(!e.checked)}),n=X(`span`,{class:`msr:whitespace-nowrap`}),r=X(`span`,{"aria-hidden":`true`,style:{"justify-self":`end`}}),i=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(t,n),Z(t,r),Q(n,()=>e.label),Z(r,i),J(()=>({e:e.label,t:e.checked?`true`:`false`,a:e.disabled,o:e.id,i:e.checked?`true`:void 0,n:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.checked?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,s:{transform:`translateX(${e.checked?12:0}px)`}}),({e,t:n,a,o,i:s,n:c,s:l},u)=>{e!==u?.e&&$(t,`aria-label`,e,u?.e),n!==u?.t&&$(t,`aria-checked`,n,u?.t),a!==u?.a&&$(t,`disabled`,a,u?.a),o!==u?.o&&$(t,`data-mesurer-presentation-setting`,o,u?.o),s!==u?.i&&$(r,`data-checked`,s,u?.i),c!==u?.n&&$(r,`class`,c,u?.n),l!==u?.s&&$(i,`style`,l,u?.s)}),t}function bg(e){let t=Ih(),[n,r]=K(null),i;Mn(()=>{let t=i,n=e.ownerWindow.document.defaultView??e.ownerWindow,a=n,o=a.MutationObserver;if(!t||!o)return;let s=t.closest(`[role='dialog'][aria-label='Settings']`),c=s?.parentElement??null,l=s?.closest(`[data-mesurer-toolbar='true']`)??null,u=0,d=()=>{if(u=0,!s?.isConnected||!c?.isConnected||l?.dataset.orientation===`vertical`)return;let e=n.innerWidth;if(e<=0)return;let t=s.getBoundingClientRect().width||gg,r=Math.min(t,Math.max(0,e-16)),i=c.getBoundingClientRect(),a=i.right+vg-r,o=Math.max(_g,e-_g-r),d=Math.min(o,Math.max(_g,a))-i.left,f=Number.parseFloat(s.style.left);(!Number.isFinite(f)||Math.abs(f-d)>.25)&&(s.style.left=`${d}px`,s.style.right=`auto`)},f=()=>{u||=n.requestAnimationFrame(d)},p=()=>{r(t.querySelector(`section[aria-label='General settings']`)),f()},m=new o(p);m.observe(t,{childList:!0,subtree:!0});let h=a.ResizeObserver,g=h?new h(f):null;return l&&g?.observe(l),c&&g?.observe(c),n.addEventListener(`resize`,f),p(),f(),()=>{m.disconnect(),g?.disconnect(),n.removeEventListener(`resize`,f),u&&n.cancelAnimationFrame(u)}});var a=X(`div`,{style:{display:`contents`}});return ic(()=>e=>{i=e},a),Q(a,Y(hg,e),null),Q(a,Y(q,{get when(){return n()},children:n=>Y(Xo,{get mount(){return n()},get children(){var n=X(`div`,{"data-mesurer-presentation-settings":`true`,class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,style:{order:`-1`}}),r=X(`label`,{class:`msr:col-span-2 msr:grid msr:h-8 msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px]`}),i=X(`span`),a=X(`select`,{"aria-label":`Toolbar dock`,class:`msr:h-6 msr:rounded msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:text-[11px]`,onChange:t=>e.model.updateSettings({toolbarDock:t.currentTarget.value===`snap`?`snap`:`free`})}),o=X(`option`,{value:`free`}),s=X(`option`,{value:`snap`});return Z(n,r),Z(r,i),Z(r,a),Z(i,ec(`Dock`)),Z(a,o),Z(a,s),Z(o,ec(`Free`)),Z(s,ec(`Snap to edges`)),Q(n,Y(q,{get when(){return e.model.state.settings.toolbarDock===`snap`},get children(){return Y(yg,{id:`toolbar-auto-hide`,label:`Auto-hide`,get checked(){return e.model.state.settings.toolbarAutoHide},onChange:t=>e.model.updateSettings({toolbarAutoHide:t})})}}),null),Q(n,Y(go,{get each(){return t?.generalSections?.()??[]},children:e=>Y(go,{get each(){return e.controls??[]},children:n=>Y(yg,{get id(){return n.id},get label(){return n.label},get checked(){return n.value()},get disabled(){return n.disabled?.()??!1},onChange:r=>t?.update(e.id,n,r)})})}),null),J(()=>e.model.state.settings.toolbarDock,(e,t)=>{$(a,`value`,e,t)}),n}})}),null),a}function xg(e){let t=()=>e.disabled?`msr:bg-transparent msr:text-ink-500 msr:opacity-80 msr:cursor-default`:`msr:bg-transparent msr:text-black msr:hover:bg-black/4`,n=()=>e.shortcutsEnabled?e.shortcut:void 0;var r=X(`div`,{class:`msr:relative`,onMouseEnter:()=>e.onTooltipEnter(e.id),onMouseLeave:()=>e.onTooltipLeave()}),i=X(`button`,{type:`button`,onClick:()=>e.onClick()});return Z(r,i),Q(i,()=>e.children),Q(r,Y(xl,{get label(){return e.label},get shortcut(){return n()},get visible(){return e.tooltipVisible},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),J(()=>({e:e.builtin,t:e.toolId,a:e.builtin,o:e.toolId,i:e.active?`true`:`false`,n:`${e.label}${n()?` (${n()})`:``}`,s:e.disabled??!1,h:`msr:flex msr:size-8 msr:select-none msr:items-center msr:justify-center msr:rounded-[8px] msr:outline-none ${e.active?`msr:bg-[#0d99ff] msr:text-white`:t()}`}),({e,t,a:n,o:a,i:o,n:s,s:c,h:l},u)=>{e!==u?.e&&$(r,`data-mesurer-builtin`,e,u?.e),t!==u?.t&&$(r,`data-mesurer-tool-id`,t,u?.t),n!==u?.a&&$(i,`data-mesurer-builtin`,n,u?.a),a!==u?.o&&$(i,`data-mesurer-tool-id`,a,u?.o),o!==u?.i&&$(i,`aria-pressed`,o,u?.i),s!==u?.n&&$(i,`aria-label`,s,u?.n),c!==u?.s&&$(i,`disabled`,c,u?.s),l!==u?.h&&$(i,`class`,l,u?.h)}),r}function Sg(e){var t=X(`div`,{"data-mesurer-toolbar-compact-item":`true`});return Q(t,()=>e.children),J(()=>({e:e.visible?`true`:`false`,t:e.visible?void 0:`true`,a:!e.visible||void 0,o:`msr:flex msr:min-w-0 msr:flex-none msr:transition-[max-width,opacity,transform,padding] msr:duration-150 msr:ease-[ease] msr:motion-reduce:transition-none ${e.visible?`msr:max-w-20 msr:px-0.5 msr:translate-x-0 msr:overflow-visible msr:opacity-100`:`msr:max-w-0 msr:px-0 msr:-translate-x-1 msr:overflow-hidden msr:opacity-0 msr:pointer-events-none`}`}),({e,t:n,a:r,o:i},a)=>{e!==a?.e&&$(t,`data-visible`,e,a?.e),n!==a?.t&&$(t,`aria-hidden`,n,a?.t),r!==a?.a&&$(t,`inert`,r,a?.a),i!==a?.o&&$(t,`class`,i,a?.o)}),t}function Cg(e){let t=()=>e.visible??!0;var n=X(`div`,{"aria-hidden":`true`});return J(()=>({e:e.marker??`true`,t:`msr:self-stretch msr:flex-none msr:bg-black/10 msr:transition-[width,opacity] msr:duration-150 msr:ease-[ease] msr:motion-reduce:transition-none ${t()?`msr:w-px msr:opacity-100`:`msr:w-0 msr:opacity-0`}`}),({e,t},r)=>{e!==r?.e&&$(n,`data-mesurer-toolbar-divider`,e,r?.e),t!==r?.t&&$(n,`class`,t,r?.t)}),n}function wg(e){let t=t=>e.shortcutsEnabled?t:void 0;var n=X(`div`,{class:`mesurer-toolbar-mode-switch msr:flex msr:flex-none msr:self-center msr:items-center msr:gap-[2px] msr:p-[2px]`,"data-mesurer-toolbar-mode-switch":`true`,role:`group`,"aria-label":`Toolbar mode`}),r=X(`span`,{class:`mesurer-toolbar-mode-switch-pill`,"aria-hidden":`true`}),i=X(`div`,{"data-mesurer-toolbar-mode-select-control":`true`,class:`msr:relative`,onMouseEnter:()=>e.onTooltipEnter(`toolbar-mode-select`),onMouseLeave:()=>e.onTooltipLeave()}),a=X(`button`,{type:`button`,"data-mesurer-toolbar-mode":`select`,class:`mesurer-toolbar-mode-button`}),o=X(`div`,{"data-mesurer-plugin-menu-root":`true`,"data-mesurer-toolbar-edit-control":`true`,class:`msr:relative msr:flex msr:items-stretch`}),s=X(`div`,{class:`msr:relative`,onMouseEnter:()=>e.onTooltipEnter(`toolbar-mode-edit`),onMouseLeave:()=>e.onTooltipLeave()}),c=X(`button`,{type:`button`,"data-mesurer-toolbar-mode":`edit`,class:`mesurer-toolbar-mode-button`});return Z(n,r),Z(n,i),Z(n,o),Z(i,a),Q(a,Y(zh,{size:20})),Q(i,Y(xl,{label:`Select`,get shortcut(){return t(`1`)},get visible(){return e.tooltipVisibleId===`toolbar-mode-select`},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),Z(o,s),Z(s,c),Q(c,Y(Bh,{size:20})),Q(s,Y(xl,{label:`Edit`,get shortcut(){return t(`2`)},get visible(){return $s(()=>!e.editDisabled)()&&e.tooltipVisibleId===`toolbar-mode-edit`},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),Q(o,Y(q,{get when(){return e.editOptionsAvailable},get children(){var t=X(`button`,{type:`button`,"aria-label":`Edit options`,"aria-haspopup":`menu`,onMouseEnter:()=>e.onTooltipEnter(`toolbar-mode-edit-options`),onMouseLeave:()=>e.onTooltipLeave(),onClick:t=>e.onEditOptions(t.currentTarget.parentElement??t.currentTarget)});return Q(t,Y(Wh,{size:8}),null),Q(t,Y(xl,{label:`Edit options`,get visible(){return $s(()=>!e.editDisabled)()&&e.tooltipVisibleId===`toolbar-mode-edit-options`},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),J(()=>({e:e.editToolId,t:e.editOptionsOpen?`true`:`false`,a:e.editDisabled,o:`msr:relative msr:flex msr:h-7 msr:w-4 msr:items-center msr:justify-center msr:self-center msr:rounded-[3px] msr:outline-none ${e.editOptionsOpen?`msr:bg-black/10 msr:text-black`:`msr:text-black msr:hover:bg-black/10`}`}),({e,t:n,a:r,o:i},a)=>{e!==a?.e&&$(t,`data-mesurer-tool-menu-trigger`,e,a?.e),n!==a?.t&&$(t,`aria-expanded`,n,a?.t),r!==a?.a&&$(t,`disabled`,r,a?.a),i!==a?.o&&$(t,`class`,i,a?.o)}),t}}),null),Q(o,()=>e.editOptions,null),J(()=>({e:e.value,t:e.compact?`true`:`false`,a:`Select mode${t(`1`)?` (1)`:``}`,o:t(`1`),i:e.value===`select`?`true`:`false`,n:e.onSelect,s:e.editToolId,h:e.editToolId,r:`Edit mode${t(`2`)?` (2)`:``}`,d:t(`2`),l:e.value===`edit`?`true`:`false`,u:e.editDisabled,c:e.onEdit}),({e,t,a:r,o:i,i:s,n:l,s:u,h:d,r:f,d:p,l:m,u:h,c:g},_)=>{e!==_?.e&&$(n,`data-value`,e,_?.e),t!==_?.t&&$(n,`data-compact`,t,_?.t),r!==_?.a&&$(a,`aria-label`,r,_?.a),i!==_?.o&&$(a,`aria-keyshortcuts`,i,_?.o),s!==_?.i&&$(a,`aria-pressed`,s,_?.i),l!==_?.n&&$(a,`onClick`,l,_?.n),u!==_?.s&&$(o,`data-mesurer-tool-menu-root`,u,_?.s),d!==_?.h&&$(c,`data-mesurer-tool-id`,d,_?.h),f!==_?.r&&$(c,`aria-label`,f,_?.r),p!==_?.d&&$(c,`aria-keyshortcuts`,p,_?.d),m!==_?.l&&$(c,`aria-pressed`,m,_?.l),h!==_?.u&&$(c,`disabled`,h,_?.u),g!==_?.c&&$(c,`onClick`,g,_?.c)}),n}function Tg(e){return Y(q,{get when(){return e.tool.icon},get fallback(){var t=X(`span`,{class:`msr:text-[12px] msr:font-semibold`});return Q(t,()=>e.tool.label.slice(0,1).toUpperCase()),t},children:e=>(()=>{var t=X(`svg`,{width:`20`,height:`20`,"aria-hidden":`true`});return Q(t,Y(go,{get each(){return e().paths},children:e=>X(`path`,{d:e,fill:`currentColor`})})),J(()=>e().viewBox??`0 0 24 24`,(e,n)=>{$(t,`viewBox`,e,n)}),t})()})}var Eg=6,Dg=`input, textarea, select, [contenteditable], [data-slider-container], [role='menu'], [role='dialog']`,Og=176,kg=224,Ag=360,jg=6.5,Mg=52,Ng=28,Pg=8,Fg=8,Ig=272,Lg=8,Rg=72,zg=360,Bg=352,Vg=8,Hg=260,Ug=14;function Wg(e){let[t,n]=K(e.initialPosition??{x:16,y:16}),[r,i]=K(e.initialPosition?.edge??null),[a,o]=K($t(()=>e.model.state.settings.toolbarDock===`snap`&&(e.initialPosition?.vertical??Qp(e.initialPosition?.edge??null)))),[s,c]=K(e.initialPosition?.align??`center`),l=e.initialPosition?.align??`center`,u=()=>e.model.state.settings.toolbarDock===`snap`,d=()=>{let n=Gp(e.ownerWindow),i=t(),a=fe();if(r()!==`top`||!n)return 0;let o=i.y-a.height-10;if(!(o<n.y+n.height&&o+a.height>n.y))return 0;let s=n.x+n.width-i.x;return i.x+s+a.width<=e.ownerWindow.innerWidth-8?s:n.x-(i.x+a.width)},f=()=>({width:e.ownerWindow.innerWidth,height:e.ownerWindow.innerHeight}),p=0,[m,h]=K(!1),g=()=>{e.ownerWindow.matchMedia(`(prefers-reduced-motion: reduce)`).matches||(e.ownerWindow.clearTimeout(p),h(!0),p=e.ownerWindow.setTimeout(()=>h(!1),378))},[_,v]=K(null),[y,b]=K(!1),[x,S]=K(!1),[C,w]=K(null),[T,E]=K(!1),[D,O]=K(null),[k,A]=K(0),[j,M]=K(`right`),[N,P]=K(!1),[F,I]=K(0),L=Sl(e.ownerWindow),R,z,B=null,V=!1,H,U,W,ee,te,ne,re=!1,ie=null,G=null,[ae,oe]=K(!1),se=0,ce=0,le=0,ue=0,de=()=>R?.ownerDocument.defaultView??e.ownerWindow,fe=()=>({width:R?.offsetWidth??0,height:R?.offsetHeight??0}),pe=e=>{let t=fe();return e===a()?t:{width:t.height,height:t.width}},me=(t,n=fe())=>Yp(e.ownerWindow,t,n,f(),u()&&r()?16:8),he=t=>e.onPositionChange?.({...t,edge:u()?r():null,align:l,vertical:a()}),ge=xm(),_e=null,ve=e=>{e!==a()&&(R&&(_e={capture:ge.captureToolbarTurn(R),vertical:e}),o(e),Ne())},ye=()=>{Ne(),_e&&R&&!e.ownerWindow.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&ge.playToolbarTurn(R,_e.capture,_e.vertical),_e=null},be=()=>{if(!u()||y()||!R)return;let e=um({point:t(),size:fe(),viewport:f(),glued:r(),align:r()?l:void 0});l=e.align,c(l),i(e.side),ve(Qp(e.side)),n(me(om(e.side,l,fe(),f()))),ye()},xe=()=>(e.pluginTools??[]).some(e=>e.id===`recording`&&(e.active?.()??!1)),Se=()=>xe()?null:e.motion?.element()??null,Ce=null;po(Se,e=>{e!==Ce&&(Ce=e,v(null))});let we=(e,t)=>{de().queueMicrotask(()=>{t===ue&&(oe(e),Ne())})},Te=()=>{let e=de(),t=++ue;if(se&&=(e.clearTimeout(se),0),!Rp(e)){we(!1,t);return}se=e.setTimeout(()=>{se=0,t===ue&&we(Rp(de()),t)},100)},Ee=()=>e.model.state.toolMode===`select`,De=()=>e.model.state.xrayVisible,Oe=()=>e.model.state.colorPickerActive,ke=()=>e.model.state.rulersVisible,Ae=()=>e.model.state.toolMode===`text-inspector`||(e.typographyContextActive??!1),je=()=>e.model.state.toolMode===`guides`,Me=()=>e.model.state.settingsOpen,Pe=()=>(e.pluginTools??[]).find(e=>e.modeSwitch===!0&&e.toolbarMode===`edit`),Fe=()=>Pe()?.active?.()?`edit`:`select`,Ie=()=>(e.pluginTools??[]).filter(e=>e.toolbarMode===`select`&&!e.modeSwitch),Le=()=>(e.pluginTools??[]).filter(e=>e.toolbarMode===`edit`&&!e.modeSwitch),Re=()=>(e.pluginTools??[]).filter(e=>e.toolbarMode===`always`||e.toolbarMode===void 0),ze=e=>e.active?.()??!1,Be=()=>Re().some(ze),Ve=()=>Ie().some(ze),He=()=>Le().some(ze),Ue=()=>Fe()===`select`?De()||Oe()||Ae()||Ve():He(),We=()=>ke()||je(),Ge=e=>!N()||e,Ke=()=>Re().length>0&&(!N()||Ue()||We()||Be()),qe=()=>!N()||Ue()||We()||Be()||Me(),Je=()=>!T()&&!D()&&!e.model.state.settingsOpen,Ye=()=>T()||D()!==null||e.model.state.settingsOpen,Xe=gm({ownerWindow:e.ownerWindow,element:()=>R,enabled:()=>u()&&e.model.state.settings.toolbarAutoHide,edge:r,busy:()=>y()||Ye()||!!Se()||xe()||x()||Oe()||(e.pluginTools??[]).some(ze)||Ae()}),Ze=t=>e.isBuiltinActionDisabled?.(t)??!1,Qe=()=>e.ownerWindow.innerHeight||0,$e=()=>t().y<56,et=()=>Qe()>0&&t().y>Qe()-56,tt=()=>a()?t().x<e.ownerWindow.innerWidth/2?`right`:`left`:$e()&&!et()?`bottom`:`top`,nt=()=>{t();let e=U?.getBoundingClientRect();if(!e)return et()?`top`:`bottom`;let n=Math.max(0,Qe()-e.bottom-Lg),r=Math.max(0,e.top-Lg);return n>=Rg||n>=r?`bottom`:`top`},rt=()=>{t();let e=R?.getBoundingClientRect();if(!e)return et()?`top`:`bottom`;let n=Math.max(0,Qe()-e.bottom-Lg),r=Math.max(0,e.top-Lg);return n>=zg||n>=r?`bottom`:`top`},it=()=>{t(),N(),Me(),F();let n=(N()?R:H)?.getBoundingClientRect();if(!n)return 0;let r=e.ownerWindow.innerWidth||288,i=Math.min(Ig,Math.max(0,r-16)),a=n.right+4-i,o=Math.max(Lg,r-Lg-i);return Math.min(o,Math.max(Lg,a))-n.left},at=()=>{let n=t();N(),F();let r=R?.getBoundingClientRect(),i=r&&{left:u()?r.left:n.x,top:u()?r.top:n.y,right:(u()?r.left:n.x)+r.width,bottom:(u()?r.top:n.y)+r.height},o=e.ownerWindow.innerWidth||368,s=e.ownerWindow.innerHeight||276,c=Math.min(Bg,Math.max(0,o-16));if(!i)return{left:Lg,top:Lg,bottom:null,width:c,maxHeight:Math.max(0,s-16)};if(a()){let e=i.left<o/2,t=e?o-i.right-Vg-Lg:i.left-Vg-Lg,n=Math.min(c,Math.max(0,t));return{left:e?i.right+Vg:i.left-Vg-n,top:Math.min(Math.max(Lg,i.top),Math.max(Lg,s-Hg-Lg)),bottom:null,width:n,maxHeight:s-16}}let l=Math.min(Math.max(Lg,i.left),Math.max(Lg,o-Lg-c)),d=Math.max(0,s-i.bottom-Vg-Lg),f=Math.max(0,i.top-Vg-Lg);return d>=Hg||d>=f?{left:l,top:i.bottom+Vg,bottom:null,width:c,maxHeight:d}:{left:l,top:null,bottom:s-i.top+Vg,width:c,maxHeight:f}},ot=()=>{let t=at(),n=_();if(!n)return t;let r=Math.max(Lg,e.ownerWindow.innerWidth-t.width-Lg),i=Math.max(Lg,e.ownerWindow.innerHeight-Hg-Lg);return{...t,left:Math.min(r,Math.max(Lg,n.x)),top:Math.min(i,Math.max(Lg,n.y)),bottom:null,maxHeight:Math.max(0,e.ownerWindow.innerHeight-16)}},st=(t,n)=>{if(t.button!==0)return;let r=t.target;if(!(r instanceof e.ownerWindow.Element)||r.closest(`button, input, select, textarea, [role='slider']`)&&!r.closest(`button[aria-label="Motion preview"]`))return;let i=n.getBoundingClientRect(),a=t.clientX,o=t.clientY,s=t.pointerId,c=n.style.transform,l=n.style.willChange,u=0,d=!1,f=i.left,p=i.top;B?.(),V=!1;let m=()=>{u=0,n.style.transform=`translate3d(${f-i.left}px, ${p-i.top}px, 0)`},h=t=>{if(t.pointerId!==s)return;let r=t.clientX-a,c=t.clientY-o;if(!d&&Math.hypot(r,c)<Ug)return;d||(d=!0,b(!0),n.style.willChange=`transform`);let l=Math.max(Lg,e.ownerWindow.innerWidth-i.width-Lg),h=Math.max(Lg,e.ownerWindow.innerHeight-i.height-Lg);f=Math.min(l,Math.max(Lg,i.left+r)),p=Math.min(h,Math.max(Lg,i.top+c)),u||=e.ownerWindow.requestAnimationFrame(m)},g=t=>{u&&e.ownerWindow.cancelAnimationFrame(u),u=0,d&&t&&v({x:f,y:p}),n.style.transform=c,n.style.willChange=l,b(!1),e.ownerWindow.removeEventListener(`pointermove`,h),e.ownerWindow.removeEventListener(`pointerup`,_),e.ownerWindow.removeEventListener(`pointercancel`,_),B=null},_=e=>{e.pointerId===s&&(V=d,g(e.type===`pointerup`))};B=()=>g(!1),e.ownerWindow.addEventListener(`pointermove`,h),e.ownerWindow.addEventListener(`pointerup`,_),e.ownerWindow.addEventListener(`pointercancel`,_)},ct=()=>{let t=U?.getBoundingClientRect();if(!t)return;let n=t.right-Og,r=t.left+Og;if(n<Lg){M(`left`);return}if(r>e.ownerWindow.innerWidth-Lg){M(`right`);return}M(`right`)},lt=t=>{let n=(t.menu?.items??[]).reduce((t,n)=>{let r=e.model.state.settings.shortcutsEnabled&&n.shortcut?n.shortcut.length+2:0;return Math.max(t,n.label.length+r)},0);return Math.min(Ag,Math.max(kg,Math.ceil(n*jg+Mg)))},ut=n=>{t(),F();let r=ne?.getBoundingClientRect(),i=e.ownerWindow.innerWidth||240,a=Qe(),o=Math.min(lt(n),Math.max(0,i-16));if(!r)return{side:et()?`top`:`bottom`,left:0,width:o,maxHeight:Math.max(0,a-16)};let s=(n.menu?.items.length??0)*Ng+Pg,c=Math.max(0,a-r.bottom-Lg-Fg),l=Math.max(0,r.top-Lg-Fg),u=c>=s||c>=l?`bottom`:`top`,d=u===`bottom`?c:l,f=r.right-o,p=Math.max(Lg,i-Lg-o);return{side:u,left:Math.min(p,Math.max(Lg,f))-r.left,width:o,maxHeight:d}},dt=(e,t)=>{if(D()===e){O(null),ne=void 0;return}ne=t,O(e)},ft=o=>{if(o.button!==0)return;let s=e.ownerWindow.Element,d=o.target;if(d instanceof s&&d.closest(Dg))return;let p=e.ownerWindow.document.documentElement;ie===null&&(ie=p.style.userSelect,p.style.setProperty(`user-select`,`none`,`important`));let m=o.clientX,h=o.clientY;G?.();let v=t(),y=o.currentTarget,x=y.getBoundingClientRect(),S=y.style.transform,C=y.style.willChange,T=_()?null:z,D=T?.style.transform??``,k=!1,A=!1,j=0,M=v,N=o.pointerId,P=a()?{along:(h-x.top)/x.height,across:(m-x.left)/x.width}:{along:(m-x.left)/x.width,across:(h-x.top)/x.height},F=!1,I=!1,L={x:m,y:h},R=()=>{if(j=0,u()){n(M),ye();return}let e=`translate3d(${M.x-v.x}px, ${M.y-v.y}px, 0)`;y.style.transform=e,T&&(T.style.transform=e)},B=t=>{if(t.pointerId!==N)return;let n=t.clientX-m,o=t.clientY-h;if(!k){if(k=Math.abs(n)>Eg||Math.abs(o)>Eg,!k)return;E(!1),O(null),ne=void 0,y.style.willChange=`transform`,T&&(T.style.willChange=`transform`),b(!0),e.model.current.settingsOpen&&e.model.setTransient({settingsOpen:!1})}if(A=!0,L={x:t.clientX,y:t.clientY},u()){let e=hm({pointer:L,grab:P,glued:r(),upright:a(),pushed:F,latched:I,sizeFor:pe,viewport:f()});F=e.pushed,I=e.latched,i(e.side),ve(e.upright);let t=hm({pointer:L,grab:P,glued:e.side,upright:e.upright,pushed:F,latched:I,sizeFor:pe,viewport:f()});M=me(t.position);let n=Math.min(fe().width,fe().height);w(e.side?{side:e.side,align:am(e.side,M,fe(),f())}:pm(L,e.upright,{width:n,height:n},f()))}else M=Yp(e.ownerWindow,{x:v.x+n,y:v.y+o},{width:x.width,height:x.height},{width:e.ownerWindow.innerWidth,height:e.ownerWindow.innerHeight});j||=e.ownerWindow.requestAnimationFrame(R)},V=t=>{if(j&&e.ownerWindow.cancelAnimationFrame(j),j=0,w(null),y.style.transform=S,y.style.willChange=C,T&&(T.style.transform=D,T.style.willChange=``),A&&t){if(u()){let e=Math.min(fe().width,fe().height),t=r()?{side:r(),align:am(r(),M,fe(),f())}:pm(L,a(),{width:e,height:e},f());i(t.side),l=t.align,c(l),ve(Qp(t.side)),M=me(om(t.side,l,fe(),f())),g()}n(M),ye(),he(M)}b(!1),ie!==null&&(p.style.userSelect=ie,ie=null),e.ownerWindow.removeEventListener(`pointermove`,B),e.ownerWindow.removeEventListener(`pointerup`,H),e.ownerWindow.removeEventListener(`pointercancel`,H),G=null},H=e=>{e.pointerId===N&&(re=A,V(e.type===`pointerup`))};G=()=>V(!1),e.ownerWindow.addEventListener(`pointermove`,B),e.ownerWindow.addEventListener(`pointerup`,H),e.ownerWindow.addEventListener(`pointercancel`,H)},pt=t=>{e.model.setEnabled(!0),e.model.current.toolMode!==`guides`&&e.model.toggleToolMode(`guides`),e.model.setGuideOrientation(t,!0),E(!1)},mt=()=>{let t=!N();t&&(E(!1),O(null),e.model.current.settingsOpen&&e.model.setTransient({settingsOpen:!1})),ce&&e.ownerWindow.clearTimeout(ce),W&&(W.dataset.compactMotion=`true`),P(t),ce=e.ownerWindow.setTimeout(()=>{ce=0,W&&delete W.dataset.compactMotion,I(e=>e+1)},170)},ht=()=>{le&&e.ownerWindow.clearTimeout(le),W&&(W.dataset.modeMotion=`true`),le=e.ownerWindow.setTimeout(()=>{le=0,W&&delete W.dataset.modeMotion},170)},gt=()=>{let t=Pe();t?.active?.()&&(O(null),ht(),e.onPluginTool?.(t))},_t=()=>{let t=Pe();!t||t.disabled?.()||(E(!1),O(null),ht(),e.onPluginTool?.(t))},vt=t=>({shortcutsEnabled:e.model.state.settings.shortcutsEnabled,tooltipVisible:Je()&&L.visibleTooltipId()===t,tooltipInstant:L.tooltipInstant(),tooltipSide:tt(),onTooltipEnter:L.onTooltipEnter,onTooltipLeave:L.onTooltipLeave}),yt=t=>Y(q,{get when(){return D()===t.id},get children(){var n=X(`div`,{role:`menu`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),O(null))}});return Q(n,Y(go,{get each(){return t.menu?.items??[]},children:n=>(()=>{var r=X(`button`,{type:`button`,class:`msr:flex msr:h-7 msr:w-full msr:min-w-0 msr:shrink-0 msr:items-center msr:gap-2 msr:overflow-hidden msr:rounded-md msr:px-2 msr:text-left msr:text-[12px] msr:text-ink-700 msr:outline-none msr:whitespace-nowrap msr:hover:bg-[#0d99ff] msr:hover:text-white msr:focus-visible:bg-[#0d99ff] msr:focus-visible:text-white msr:disabled:opacity-40`,onClick:()=>{e.onPluginToolMenuItem?.(t,n),O(null)}}),i=X(`span`,{class:`msr:flex msr:w-3 msr:shrink-0 msr:justify-center`}),a=X(`span`,{class:`msr:min-w-0 msr:flex-1 msr:overflow-hidden msr:text-ellipsis msr:whitespace-nowrap`});return Z(r,i),Z(r,a),Q(i,Y(Gh,{size:12,get class(){return n.checked?.()?`msr:opacity-100`:`msr:opacity-0`}})),Q(a,()=>n.label),Q(r,Y(q,{get when(){return $s(()=>!!e.model.state.settings.shortcutsEnabled)()?n.shortcut:e.model.state.settings.shortcutsEnabled},get children(){var e=X(`span`,{class:`msr:shrink-0 msr:text-[10px] msr:opacity-60`});return Q(e,()=>n.shortcut),e}}),null),J(()=>({e:n.checked?`menuitemcheckbox`:`menuitem`,t:n.checked?n.checked()?`true`:`false`:void 0,a:n.id,o:n.disabled?.()??!1}),({e,t,a:n,o:i},a)=>{e!==a?.e&&$(r,`role`,e,a?.e),t!==a?.t&&$(r,`aria-checked`,t,a?.t),n!==a?.a&&$(r,`data-mesurer-tool-menu-item`,n,a?.a),i!==a?.o&&$(r,`disabled`,i,a?.o)}),r})()})),J(()=>({e:t.id,t:ut(t).side,a:`mesurer-menu-surface msr:absolute msr:z-[70] msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:flex msr:flex-col msr:gap-px msr:overflow-x-hidden msr:overflow-y-auto ${ut(t).side===`top`?`msr:bottom-full msr:mb-2`:`msr:top-full msr:mt-2`}`,o:{left:`${ut(t).left}px`,right:`auto`,width:`${ut(t).width}px`,"max-height":`${ut(t).maxHeight}px`},i:t.menu?.label??`${t.label} options`}),({e,t,a:r,o:i,i:a},o)=>{e!==o?.e&&$(n,`data-mesurer-tool-menu`,e,o?.e),t!==o?.t&&$(n,`data-mesurer-menu-side`,t,o?.t),r!==o?.a&&$(n,`class`,r,o?.a),i!==o?.o&&$(n,`style`,i,o?.o),a!==o?.i&&$(n,`aria-label`,a,o?.i)}),n}}),bt=t=>Y(Sg,{get visible(){return Ge(ze(t))},get children(){return Y(q,{get when(){return(t.menu?.items.length??0)>0},get fallback(){return Y(xg,nc({get id(){return`plugin:${t.id}`},get toolId(){return t.id},get active(){return t.active?.()??!1},get disabled(){return t.disabled?.()??!1},get label(){return t.label},get shortcut(){return t.shortcut},onClick:()=>e.onPluginTool?.(t)},()=>vt(`plugin:${t.id}`),{get children(){return Y(Tg,{tool:t})}}))},get children(){var n=X(`div`,{"data-mesurer-plugin-menu-root":`true`,class:`msr:relative msr:flex msr:items-stretch`}),r=X(`button`,{type:`button`,onMouseEnter:()=>L.onTooltipEnter(`plugin-menu:${t.id}`),onClick:e=>dt(t.id,e.currentTarget.parentElement??e.currentTarget)});return Z(n,r),Q(n,Y(xg,nc({get id(){return`plugin:${t.id}`},get toolId(){return t.id},get active(){return t.active?.()??!1},get disabled(){return t.disabled?.()??!1},get label(){return t.label},get shortcut(){return t.shortcut},onClick:()=>e.onPluginTool?.(t)},()=>vt(`plugin:${t.id}`),{get children(){return Y(Tg,{tool:t})}})),r),Q(r,Y(Wh,{size:8}),null),Q(r,Y(xl,{get label(){return`${t.label} options`},get visible(){return $s(()=>!!Je())()?L.visibleTooltipId()===`plugin-menu:${t.id}`:Je()},get instant(){return L.tooltipInstant()},get side(){return tt()}}),null),Q(n,()=>yt(t),null),J(()=>({e:t.id,t:t.id,a:`${t.label} options`,o:D()===t.id?`true`:`false`,i:`msr:relative msr:flex msr:h-8 msr:w-4 msr:items-center msr:justify-center msr:rounded-[6px] msr:outline-none msr:hover:bg-black/10 ${D()===t.id?`msr:bg-black/10 msr:text-black`:`msr:text-black`}`,n:L.onTooltipLeave}),({e,t,a:i,o:a,i:o,n:s},c)=>{e!==c?.e&&$(n,`data-mesurer-tool-menu-root`,e,c?.e),t!==c?.t&&$(r,`data-mesurer-tool-menu-trigger`,t,c?.t),i!==c?.a&&$(r,`aria-label`,i,c?.a),a!==c?.o&&$(r,`aria-expanded`,a,c?.o),o!==c?.i&&$(r,`class`,o,c?.i),s!==c?.n&&$(r,`onMouseLeave`,s,c?.n)}),n}})}});Mn(()=>{Te();let t=()=>Te(),n=t=>{let n=t.composedPath();T()&&U&&!n.includes(U)&&E(!1);let r=n.some(e=>e instanceof Element&&e.getAttribute(`data-mesurer-plugin-menu-root`)===`true`);D()&&!r&&O(null);let i=H&&n.includes(H)||n.some(e=>e instanceof Element&&e.getAttribute(`data-mesurer-toolbar-compact-settings`)===`true`);e.model.current.settingsOpen&&!i&&e.model.setTransient({settingsOpen:!1})},r=e=>{re&&=(e.preventDefault(),e.stopPropagation(),!1)},i=e=>{e.key!==`Escape`||!D()||(e.preventDefault(),e.stopPropagation(),O(null))},a=()=>{T()&&ct(),I(e=>e+1)},o=e.ownerWindow.document;return e.ownerWindow.addEventListener(`pointerdown`,n),e.ownerWindow.addEventListener(`focus`,t),e.ownerWindow.addEventListener(`pageshow`,t),e.ownerWindow.document.addEventListener(`visibilitychange`,t),o.addEventListener(`keydown`,i,!0),e.ownerWindow.addEventListener(`resize`,a),R?.addEventListener(`click`,r,!0),()=>{ue+=1,se&&=(de().clearTimeout(se),0),ce&&=(e.ownerWindow.clearTimeout(ce),0),le&&=(e.ownerWindow.clearTimeout(le),0),e.ownerWindow.removeEventListener(`pointerdown`,n),e.ownerWindow.removeEventListener(`focus`,t),e.ownerWindow.removeEventListener(`pageshow`,t),e.ownerWindow.document.removeEventListener(`visibilitychange`,t),o.removeEventListener(`keydown`,i,!0),e.ownerWindow.removeEventListener(`resize`,a),R?.removeEventListener(`click`,r,!0),G?.(),B?.(),ie!==null&&(e.ownerWindow.document.documentElement.style.userSelect=ie)}}),Mn(()=>{let t=W,n=ee,r=te;if(!t||!n||!r)return;let i=()=>{t.style.setProperty(`--msr-select-mode-w`,`${n.offsetWidth}px`),t.style.setProperty(`--msr-edit-mode-w`,`${r.offsetWidth}px`),t.style.setProperty(`--msr-select-mode-h`,`${n.offsetHeight}px`),t.style.setProperty(`--msr-edit-mode-h`,`${r.offsetHeight}px`)};i();let a=e.ownerWindow.ResizeObserver,o=0,s=a?new a(()=>{o||=e.ownerWindow.requestAnimationFrame(()=>{o=0,i()})}):null;s?.observe(n),s?.observe(r);let c=e.ownerWindow.requestAnimationFrame(()=>{t.dataset.ready=`true`,i()});return()=>{e.ownerWindow.cancelAnimationFrame(c),o&&e.ownerWindow.cancelAnimationFrame(o),s?.disconnect()}});let xt=$t(u);return po(u,e=>{e!==xt&&(xt=e,$t(()=>{e?be():(i(null),ve(!1),n(me(t())),ye(),he(t()))}))}),po(()=>[Xe.tucked(),m(),a()],()=>{let t=0,n=e.ownerWindow.performance.now()+400,r=()=>{I(e=>e+1),e.ownerWindow.performance.now()<n&&(t=e.ownerWindow.requestAnimationFrame(r))};return t=e.ownerWindow.requestAnimationFrame(r),()=>e.ownerWindow.cancelAnimationFrame(t)}),Mn(()=>{let n=0,r=0,i=()=>{!u()||y()||(be(),e.ownerWindow.clearTimeout(n),n=e.ownerWindow.setTimeout(()=>he(t()),300))},a=()=>{r||=e.ownerWindow.requestAnimationFrame(()=>{r=0,i()})},o=e.ownerWindow,s=o.ResizeObserver?new o.ResizeObserver(a):null;return R&&s?.observe(R),e.ownerWindow.addEventListener(`resize`,a),i(),()=>{s?.disconnect(),e.ownerWindow.removeEventListener(`resize`,a),r&&e.ownerWindow.cancelAnimationFrame(r),e.ownerWindow.clearTimeout(n),e.ownerWindow.clearTimeout(p),ge.cancel()}}),Mn(()=>{let t=R;if(!t)return;let n=0,r=0,i=new Map,o=()=>{n=0;for(let[e,n]of i)if(!(e.isConnected&&t.contains(e))){for(let[t,r]of n)r?e.style.setProperty(t,r):e.style.removeProperty(t);i.delete(e)}if(a()){let n=t.getBoundingClientRect(),r=n.left<e.ownerWindow.innerWidth/2;for(let a of t.querySelectorAll(`[role='menu'], [role='dialog']`)){let t=a.parentElement?.getBoundingClientRect();if(!t)continue;let o=a.getBoundingClientRect(),s=o.width,c=i.get(a)?.get(`width`);if(c!==void 0){let e=a.style.getPropertyValue(`width`);c?a.style.setProperty(`width`,c):a.style.removeProperty(`width`),s=a.getBoundingClientRect().width,e?a.style.setProperty(`width`,e):a.style.removeProperty(`width`)}let l=Math.min(s,Math.max(0,r?e.ownerWindow.innerWidth-n.right-16:n.left-16)),u=r?n.right+8:n.left-l-8,d=Math.max(8,Math.min(t.top,e.ownerWindow.innerHeight-o.height-8)),f=(e,t)=>{let n=i.get(a);n||(n=new Map,i.set(a,n)),n.has(e)||n.set(e,a.style.getPropertyValue(e)),a.style.getPropertyValue(e)!==t&&a.style.setProperty(e,t)};f(`position`,`absolute`),f(`left`,`${u-t.left}px`),f(`top`,`${d-t.top}px`),f(`bottom`,`auto`),f(`right`,`auto`),f(`margin`,`0`),f(`width`,`${l}px`),f(`max-height`,`${e.ownerWindow.innerHeight-16}px`)}}else if(i.size){for(let[e,t]of i)for(let[n,r]of t)r?e.style.setProperty(n,r):e.style.removeProperty(n);i.clear(),I(e=>e+1)}e.ownerWindow.performance.now()<r&&(n=e.ownerWindow.requestAnimationFrame(o))},s=()=>{r=e.ownerWindow.performance.now()+400,n||=e.ownerWindow.requestAnimationFrame(o)},c=e.ownerWindow,l=c.MutationObserver?new c.MutationObserver(s):null;l?.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-orientation`,`data-tucked`,`data-dock-edge`]});let u=c.ResizeObserver?new c.ResizeObserver(s):null;return u?.observe(t),e.ownerWindow.addEventListener(`resize`,s),s(),()=>{l?.disconnect(),u?.disconnect(),e.ownerWindow.removeEventListener(`resize`,s),e.ownerWindow.cancelAnimationFrame(n)}}),Mn(()=>{let e=R?.closest(`[data-mesurer-root]`);if(!e)return;let t=`[data-mesurer-screenshot-preview], [data-mesurer-screenshot-viewer], [data-mesurer-recording-preview], [role='dialog']`,n=()=>S(Array.from(e.querySelectorAll(t)).some(e=>!R?.contains(e)&&e.getClientRects().length>0&&getComputedStyle(e).display!==`none`)),r=new MutationObserver(e=>{e.some(e=>e.type===`childList`||e.target instanceof Element&&e.target.matches(t))&&n()});return r.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`hidden`,`aria-hidden`]}),n(),()=>r.disconnect()}),[Y(q,{get when(){return $s(()=>!!u())()?C():u()},get children(){return Y(go,{each:Xp,children:e=>Y(go,{get each(){return $s(()=>!!Qp(e))()?im.slice(0,1):im},children:t=>(()=>{var n=X(`div`,{class:`mesurer-toolbar-zone`});return J(()=>({e:C()?.side===e&&C()?.align===t?`true`:void 0,t:(()=>{let n=Math.min(fe().width,fe().height),r=om(e,t,{width:n,height:n},f()),i=me(r,{width:n,height:n});return{left:`${i.x}px`,top:`${i.y}px`,width:`${n}px`,height:`${n}px`}})()}),({e,t},r)=>{e!==r?.e&&$(n,`data-active`,e,r?.e),t!==r?.t&&$(n,`style`,t,r?.t)}),n})()})})}}),$s((()=>{let t=Se();if(!t)return null;let n=ot,r=t;var i=X(`div`,{"data-mesurer-motion-surface":`true`,"data-mesurer-inspector-ui":`true`,class:`msr:pointer-events-auto msr:absolute msr:z-[80] msr:overflow-visible`});return ic(()=>e=>{z=e,e.addEventListener(`pointerdown`,t=>st(t,e),!0),e.addEventListener(`click`,e=>{V&&(V=!1,e.preventDefault(),e.stopImmediatePropagation())},!0)},i),Q(i,Y(Nh,{element:r,get ownerWindow(){return r.ownerDocument.defaultView??e.ownerWindow},suspended:y}),null),Q(i,(()=>{var e=$s(()=>!!_());return()=>e()?(()=>{var e=X(`button`,{type:`button`,"data-mesurer-motion-reattach":`true`,"aria-label":`Attach Motion preview to toolbar`,title:`Attach to toolbar`,class:`msr:absolute msr:right-3 msr:top-3 msr:z-[3] msr:rounded msr:bg-white/85 msr:px-1.5 msr:py-0.5 msr:text-[10px] msr:text-ink-700 msr:hover:bg-white`,onClick:e=>{e.stopPropagation(),v(null)}});return Z(e,ec(`↗`)),e})():_()})(),null),J(()=>({e:_()?`true`:`false`,t:{left:`${n().left}px`,top:n().top===null?`auto`:`${n().top}px`,bottom:n().bottom===null?`auto`:`${n().bottom}px`,width:`${n().width}px`,"max-height":`${Math.max(0,n().maxHeight)}px`}}),({e,t},n)=>{e!==n?.e&&$(i,`data-mesurer-motion-detached`,e,n?.e),t!==n?.t&&$(i,`style`,t,n?.t)}),i})),(()=>{var n=X(`div`,{"data-mesurer-toolbar":`true`,"data-mesurer-inspector-ui":`true`,onPointerDown:t=>{t.stopPropagation(),e.model.setTransient({toolbarActive:!0}),ft(t)},onClick:e=>e.stopPropagation(),onMouseEnter:Te}),i=X(`div`,{class:`mesurer-toolbar-mode-stage`}),o=X(`div`,{class:`mesurer-toolbar-mode-track`}),c=X(`div`,{class:`mesurer-toolbar-mode-slot`,"data-mode":`select`}),l=X(`div`,{class:`mesurer-toolbar-mode-panel`}),f=X(`div`,{role:`group`,"aria-label":`Select tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`}),p=X(`div`,{class:`mesurer-toolbar-mode-slot`,"data-mode":`edit`}),h=X(`div`,{class:`mesurer-toolbar-mode-panel`}),g=X(`div`,{role:`group`,"aria-label":`Shared guide tools`,class:`msr:flex msr:items-stretch msr:py-1`}),_=X(`div`,{class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`}),v=X(`div`,{class:`msr:flex msr:items-center msr:p-1`}),y=X(`button`,{type:`button`,"data-mesurer-toolbar-compact-toggle":`true`,class:`msr:flex msr:size-7 msr:select-none msr:items-center msr:justify-center msr:rounded-[7px] msr:text-black msr:outline-none msr:hover:bg-black/4`,onClick:mt});return Z(n,i),Z(n,g),Z(n,_),Z(n,v),ic(()=>e=>{R=e},n),Q(n,Y(wg,{get value(){return Fe()},get compact(){return N()},get editDisabled(){return!Pe()||(Pe()?.disabled?.()??!1)},get editToolId(){return Pe()?.id},get editOptionsAvailable(){return(Pe()?.menu?.items.length??0)>0},get editOptionsOpen(){return D()===Pe()?.id},get editOptions(){return $s(()=>!!Pe())()?yt(Pe()):null},get shortcutsEnabled(){return e.model.state.settings.shortcutsEnabled},get tooltipVisibleId(){return $s(()=>!!Je())()?L.visibleTooltipId():null},get tooltipInstant(){return L.tooltipInstant()},get tooltipSide(){return tt()},get onTooltipEnter(){return L.onTooltipEnter},get onTooltipLeave(){return L.onTooltipLeave},onSelect:gt,onEdit:_t,onEditOptions:e=>{let t=Pe();!t||t.disabled?.()||dt(t.id,e)}}),i),Q(n,Y(Cg,{get visible(){return qe()},marker:`mode`}),i),Z(i,o),ic(()=>e=>{W=e},i),Z(o,c),Z(o,p),Z(c,l),Z(l,f),ic(()=>e=>{ee=e},l),Q(f,Y(Sg,{get visible(){return!N()},get children(){return Y(xg,nc({id:`select`,builtin:`select`,get active(){return Ee()},label:`Select`,shortcut:`S`,onClick:()=>e.onBuiltinAction(`select`)},()=>vt(`select`),{get children(){return Y(Rh,{size:20})}}))}}),null),Q(f,Y(Sg,{get visible(){return Ge(De())},get children(){return Y(xg,nc({id:`xray`,builtin:`xray`,get active(){return De()},label:`X-ray`,shortcut:`X`,onClick:()=>e.onBuiltinAction(`xray`)},()=>vt(`xray`),{get children(){return Y(Hh,{size:20})}}))}}),null),Q(f,Y(q,{get when(){return ae()},get children(){return Y(Sg,{get visible(){return Ge(Oe())},get children(){return Y(xg,nc({id:`color-picker`,builtin:`color-picker`,get active(){return Oe()},get disabled(){return Ze(`color-picker`)},label:`Color picker`,shortcut:`P`,onClick:()=>e.onBuiltinAction(`color-picker`)},()=>vt(`color-picker`),{get children(){return Y(Jh,{size:20})}}))}})}}),null),Q(f,Y(Sg,{get visible(){return Ge(Ae())},get children(){return Y(xg,nc({id:`text-inspector`,builtin:`text-inspector`,get active(){return Ae()},get disabled(){return Ze(`text-inspector`)},label:`Typography`,shortcut:`A`,onClick:()=>e.onBuiltinAction(`text-inspector`)},()=>vt(`text-inspector`),{get children(){return Y(qh,{size:20})}}))}}),null),Q(l,Y(q,{get when(){return Ie().length>0},get children(){return[Y(Cg,{get visible(){return!N()||Ve()&&(De()||Oe()||Ae())},marker:`select-plugins`}),(()=>{var e=X(`div`,{role:`group`,"aria-label":`Select plugin tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`});return Q(e,Y(go,{get each(){return Ie()},children:e=>bt(e)})),e})()]}}),null),Z(p,h),ic(()=>e=>{te=e},h),Q(h,Y(q,{get when(){return Le().length>0},get children(){var e=X(`div`,{role:`group`,"aria-label":`Edit tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`});return Q(e,Y(go,{get each(){return Le()},children:e=>bt(e)})),e}})),Q(g,Y(Sg,{get visible(){return Ge(ke())},get children(){return Y(xg,nc({id:`rulers`,builtin:`rulers`,get active(){return ke()},label:`Rulers`,shortcut:`R`,onClick:()=>e.onBuiltinAction(`rulers`)},()=>vt(`rulers`),{get children(){return Y(Uh,{size:20})}}))}}),null),Q(g,Y(Sg,{get visible(){return Ge(je())},get children(){return[Y(xg,nc({id:`guides`,builtin:`guides`,get active(){return je()},get disabled(){return Ze(`guides`)},label:`Guides`,shortcut:`G`,onClick:()=>e.onBuiltinAction(`guides`)},()=>vt(`guides`),{get children(){return Y(Vh,{size:20,get class(){return e.model.state.guideOrientation===`vertical`?`msr:rotate-[135deg]`:`msr:rotate-[45deg]`}})}})),(()=>{var t=X(`div`,{"data-mesurer-builtin":`guides-menu`,class:`msr:group msr:relative msr:-ml-1 msr:flex msr:items-stretch`,onMouseEnter:()=>L.onTooltipEnter(`guide-menu`)}),n=X(`button`,{type:`button`,"aria-label":`Guide orientation menu`,"aria-haspopup":`menu`,onClick:()=>{E(t=>(t||(A(e.model.state.guideOrientation===`horizontal`?0:1),ct()),!t))}});return Z(t,n),ic(()=>e=>{U=e},t),Q(n,Y(Wh,{size:8})),Q(t,Y(xl,{label:`Orientation Guide`,get visible(){return $s(()=>!!Je())()?L.visibleTooltipId()===`guide-menu`:Je()},get instant(){return L.tooltipInstant()},get side(){return tt()}}),null),Q(t,Y(q,{get when(){return T()},get children(){var t=X(`div`,{role:`menu`,tabindex:0,onKeyDown:e=>{let t=e.key.toLowerCase();e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),A(e=>(e+1)%2)):e.key===`Enter`?(e.preventDefault(),pt(k()===0?`horizontal`:`vertical`)):t===`h`||t===`v`?(e.preventDefault(),pt(t===`h`?`horizontal`:`vertical`)):e.key===`Escape`&&(e.preventDefault(),E(!1))}}),n=X(`button`,{type:`button`,onClick:()=>pt(`horizontal`)}),r=X(`span`,{class:`msr:flex-1`}),i=X(`span`),a=X(`button`,{type:`button`,onClick:()=>pt(`vertical`)}),o=X(`span`,{class:`msr:flex-1`}),s=X(`span`);return Z(t,n),Z(t,a),Z(n,r),Z(n,i),Q(n,Y(Gh,{size:12,get class(){return e.model.state.guideOrientation===`horizontal`?`msr:opacity-100`:`msr:opacity-0`}}),r),Q(n,Y(Kh,{size:12}),r),Z(r,ec(`Horizontal`)),Z(i,ec(`H`)),Z(a,o),Z(a,s),Q(a,Y(Gh,{size:12,get class(){return e.model.state.guideOrientation===`vertical`?`msr:opacity-100`:`msr:opacity-0`}}),o),Q(a,Y(Kh,{size:12,class:`msr:rotate-90`}),o),Z(o,ec(`Vertical`)),Z(s,ec(`V`)),J(()=>({e:`mesurer-menu-surface msr:absolute msr:z-[70] msr:w-44 msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:focus:outline-none msr:flex msr:flex-col msr:gap-px ${nt()===`bottom`?`msr:top-full msr:mt-2`:`msr:bottom-full msr:mb-2`} ${j()===`left`?`msr:left-0`:`msr:right-0`}`,t:`msr:group msr:flex msr:w-full msr:items-center msr:gap-2 msr:rounded-md msr:px-2 msr:py-1.5 msr:text-left msr:text-[12px] ${k()===0||e.model.state.guideOrientation===`horizontal`?`msr:bg-[#0d99ff] msr:text-white`:`msr:text-ink-700 msr:hover:bg-[#0d99ff] msr:hover:text-white`}`,a:`msr:group msr:flex msr:w-full msr:items-center msr:gap-2 msr:rounded-md msr:px-2 msr:py-1.5 msr:text-left msr:text-[12px] ${k()===1||e.model.state.guideOrientation===`vertical`?`msr:bg-[#0d99ff] msr:text-white`:`msr:text-ink-700 msr:hover:bg-[#0d99ff] msr:hover:text-white`}`}),({e,t:r,a:i},o)=>{e!==o?.e&&$(t,`class`,e,o?.e),r!==o?.t&&$(n,`class`,r,o?.t),i!==o?.a&&$(a,`class`,i,o?.a)}),t}}),null),J(()=>({e:L.onTooltipLeave,t:T()?`true`:`false`,a:Ze(`guides`),o:`msr:flex msr:h-8 msr:w-4 msr:items-center msr:justify-center msr:rounded-[6px] msr:outline-none ${Ze(`guides`)?`msr:cursor-default msr:text-black/30`:`msr:hover:bg-black/10`} ${T()?`msr:bg-black/10 msr:text-black`:`msr:text-black`}`}),({e,t:r,a:i,o:a},o)=>{e!==o?.e&&$(t,`onMouseLeave`,e,o?.e),r!==o?.t&&$(n,`aria-expanded`,r,o?.t),i!==o?.a&&$(n,`disabled`,i,o?.a),a!==o?.o&&$(n,`class`,a,o?.o)}),t})()]}}),null),Q(n,Y(q,{get when(){return Re().length>0},get children(){return[Y(Cg,{get visible(){return Ke()},marker:`plugins`}),(()=>{var e=X(`div`,{role:`group`,"aria-label":`Always available tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`});return Q(e,Y(go,{get each(){return Re()},children:e=>bt(e)})),e})()]}}),_),Q(_,Y(Sg,{get visible(){return Ge(Me())},get children(){var t=X(`div`,{"data-mesurer-builtin":`settings`,class:`msr:relative msr:flex`});return ic(()=>e=>{H=e},t),Q(t,Y(xg,nc({id:`settings`,builtin:`settings`,get active(){return Me()},label:`Settings`,shortcut:`⌘/Ctrl+,`,onClick:()=>e.onBuiltinAction(`settings`)},()=>vt(`settings`),{get children(){return Y(rg,{size:20})}})),null),Q(t,Y(q,{get when(){return $s(()=>!!e.model.state.settingsOpen)()?!N():e.model.state.settingsOpen},get children(){var t=X(`div`,{"data-mesurer-inspector-ui":`true`,role:`dialog`,"aria-label":`Settings`,onPointerDown:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()});return Q(t,Y(bg,{get model(){return e.model},get ownerWindow(){return e.ownerWindow},get onResetSettings(){return e.onResetSettings},get onClearWorkspace(){return e.onClearWorkspace},get selectionSpacingStyle(){return e.selectionSpacingStyle},get onSelectionSpacingStyleChange(){return e.onSelectionSpacingStyleChange}})),J(()=>({e:`mesurer-menu-surface msr:absolute msr:z-[70] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${rt()===`bottom`?`msr:top-full msr:mt-2`:`msr:bottom-full msr:mb-2`}`,t:{left:`${it()}px`,right:`auto`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`class`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t}}),null),t}})),Q(n,Y(Cg,{get visible(){return qe()},marker:`compact`}),v),Q(n,Y(q,{get when(){return $s(()=>!!N())()?e.model.state.settingsOpen:N()},get children(){var t=X(`div`,{"data-mesurer-toolbar-compact-settings":`true`,"data-mesurer-inspector-ui":`true`,role:`dialog`,"aria-label":`Settings`,onPointerDown:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()});return Q(t,Y(bg,{get model(){return e.model},get ownerWindow(){return e.ownerWindow},get onResetSettings(){return e.onResetSettings},get onClearWorkspace(){return e.onClearWorkspace},get selectionSpacingStyle(){return e.selectionSpacingStyle},get onSelectionSpacingStyleChange(){return e.onSelectionSpacingStyleChange}})),J(()=>({e:`mesurer-menu-surface msr:pointer-events-auto msr:absolute msr:z-[110] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${rt()===`bottom`?`msr:top-full msr:mt-2`:`msr:bottom-full msr:mb-2`}`,t:{left:`${it()}px`,right:`auto`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`class`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t}}),v),Z(v,y),Q(y,Y(Wh,{size:10,get class(){return N()?`msr:-rotate-90`:`msr:rotate-90`}})),J(()=>({e:N()?`true`:`false`,t:Fe(),a:a()?`vertical`:`horizontal`,o:u()?r()??void 0:void 0,i:u()?s():void 0,n:Xe.tucked()?`true`:void 0,s:Xe.pressedOff()?`true`:void 0,h:`mesurer-toolbar-surface msr:pointer-events-auto msr:absolute msr:flex msr:items-stretch msr:rounded-[12px] msr:bg-[#fff] msr:outline msr:outline-transparent ${Ye()?`msr:z-[110]`:`msr:z-[90]`}`,r:{left:`${t().x}px`,top:`${t().y}px`,"--msr-tuck-safe-offset":`${d()}px`,transition:m()?`left 280ms cubic-bezier(0.2, 0.9, 0.3, 1), top 378ms cubic-bezier(0.3, 1.2, 0.5, 1), transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1)`:void 0},d:L.onTooltipContainerLeave,l:Fe(),u:Fe()===`select`?`true`:`false`,c:Fe()===`select`?void 0:`true`,w:Fe()!==`select`||void 0,m:Fe()===`edit`?`true`:`false`,f:Fe()===`edit`?void 0:`true`,y:Fe()!==`edit`||void 0,g:N()?`Expand toolbar`:`Compact toolbar`,p:N()?`true`:`false`}),({e,t,a:r,o:a,i:o,n:s,s:l,h:u,r:d,d:f,l:m,u:h,c:g,w:_,m:v,f:b,y:x,g:S,p:C},w)=>{e!==w?.e&&$(n,`data-mesurer-toolbar-compact`,e,w?.e),t!==w?.t&&$(n,`data-mesurer-toolbar-mode`,t,w?.t),r!==w?.a&&$(n,`data-orientation`,r,w?.a),a!==w?.o&&$(n,`data-dock-edge`,a,w?.o),o!==w?.i&&$(n,`data-dock-align`,o,w?.i),s!==w?.n&&$(n,`data-tucked`,s,w?.n),l!==w?.s&&$(n,`data-tuck-locked`,l,w?.s),u!==w?.h&&$(n,`class`,u,w?.h),d!==w?.r&&$(n,`style`,d,w?.r),f!==w?.d&&$(n,`onMouseLeave`,f,w?.d),m!==w?.l&&$(i,`data-mode`,m,w?.l),h!==w?.u&&$(c,`data-open`,h,w?.u),g!==w?.c&&$(c,`aria-hidden`,g,w?.c),_!==w?.w&&$(c,`inert`,_,w?.w),v!==w?.m&&$(p,`data-open`,v,w?.m),b!==w?.f&&$(p,`aria-hidden`,b,w?.f),x!==w?.y&&$(p,`inert`,x,w?.y),S!==w?.g&&$(y,`aria-label`,S,w?.g),C!==w?.p&&$(y,`aria-pressed`,C,w?.p)}),n})()]}var Gg=e=>e.ownerDocument===null,Kg=(e,t)=>{let n=t.defaultView?.Element;return!!(n&&e instanceof n)},qg=e=>{let t=Gg(e)?e:e.ownerDocument,n=[],r=new Set,i=new Set,a=e=>{r.has(e)||(r.add(e),n.push(e),s(e,e))},o=(e,t)=>{e.shadowRoot&&s(e.shadowRoot,t);let n=tp(e);n&&a(n)},s=(e,t)=>{if(i.has(e))return;i.add(e),Kg(e,t)&&o(e,t);let n=t.createTreeWalker(e,1),r=n.nextNode();for(;r;)Kg(r,t)&&o(r,t),r=n.nextNode()};return Gg(e)?a(e):(r.add(t),n.push(t),s(e,t)),n},Jg=(e,t)=>{if(Wf(e,t))return!0;let n=t.ownerDocument,r=e.ownerDocument,i=new Set;for(;r!==n&&!i.has(r);){i.add(r);let e=null;try{e=r.defaultView?.frameElement??null}catch{return!1}if(!e)return!1;if(e.ownerDocument===n&&Wf(e,t))return!0;r=e.ownerDocument}return!1},Yg=(e,t=window)=>{let n=wl(t);return e.orientation===`vertical`?{left:e.position,top:0,width:0,height:n.height}:{left:0,top:e.position,width:n.width,height:0}},Xg=(e,t)=>e.orientation===`vertical`?Math.abs(e.position-t.x):Math.abs(e.position-t.y),Zg=e=>{let t=e.document??document,{orientation:n,point:r,snapGuidesEnabled:i,overlayNode:a,guides:o}=e;if(!i)return n===`vertical`?r.x:r.y;let s=n===`vertical`?r.x:r.y,c=11;for(let e of yp(t)){if(a?.contains(e)||e===t.body||e===t.documentElement)continue;let i=hp(e);if(i.width<=2||i.height<=2||n===`vertical`&&(r.x<i.left-10||r.x>i.left+i.width+10)||n===`horizontal`&&(r.y<i.top-10||r.y>i.top+i.height+10))continue;let o=n===`vertical`?[i.left,i.left+i.width,i.left+i.width/2]:[i.top,i.top+i.height,i.top+i.height/2];for(let e of o){let t=Math.abs(n===`vertical`?e-r.x:e-r.y);t<=10&&t<c&&(s=e,c=t)}}for(let t of o){if(t.id===e.draggingGuideId||t.orientation!==n)continue;let i=Math.abs(t.position-(n===`vertical`?r.x:r.y));i<=10&&i<c&&(s=t.position,c=i)}return c<=10?s:n===`vertical`?r.x:r.y},Qg=(e,t)=>{if(!e||!t.length)return null;let n=null,r=11;for(let i of t){let t=Xg(i,e);t<=10&&t<r&&(n=i,r=t)}return n},$g=(e,t)=>t.length?e.find(e=>e.id===t[t.length-1])??null:null,e_=e=>{let t=e.window??window;if(!e.altPressed||!e.selectedGuide&&!e.primarySelectedMeasurement)return null;let n=e.primarySelectedMeasurement,r=e.selectedGuide?null:n?.elementRef??e.selectedElementRef??null,i=e.selectedGuide?{rect:Yg(e.selectedGuide,t),guideId:e.selectedGuide.id}:r&&n?{rect:n.rect,element:r}:null,a=e.hoverGuide?{rect:Yg(e.hoverGuide,t),guideId:e.hoverGuide.id}:e.hoverElement?{rect:dp(e.hoverElement),element:e.hoverElement}:null;return!i||!a||i.element&&a.element&&(i.element===a.element||i.element.contains(a.element)||a.element.contains(i.element))||i.guideId&&a.guideId&&i.guideId===a.guideId?null:zl(i.rect,a.rect,i.element??null,a.element??null,t)},t_=e=>{let t=e.document??document,n=e.window??window;if(!e.altPressed||!e.primarySelectedMeasurement||e.optionPairOverlay||e.selectedGuideIds.length)return null;let r=e.selectedElement?.parentElement??null;e.selectedElement&&e.hoverElement&&e.hoverElement!==e.selectedElement&&e.hoverElement.contains(e.selectedElement)&&(r=e.hoverElement);let i=r&&r!==t.body&&r!==t.documentElement?Ol(dp(r),r,n):{left:0,top:0,width:n.innerWidth,height:n.innerHeight},a=e.primarySelectedMeasurement.rect,o=a.left+a.width,s=a.top+a.height,c=a.left+a.width/2,l=a.top+a.height/2,u=i.left+i.width,d=i.top+i.height,f=Math.max(i.left,Math.min(c,u)),p=Math.max(i.top,Math.min(l,d));return{top:{y1:i.top,y2:a.top,x:f,value:Math.max(0,a.top-i.top)},bottom:{y1:s,y2:d,x:f,value:Math.max(0,d-s)},left:{x1:i.left,x2:a.left,y:p,value:Math.max(0,a.left-i.left)},right:{x1:o,x2:u,y:p,value:Math.max(0,u-o)}}},n_=(e,t)=>{let n=[];for(let{element:r,rect:i}of t){let t=Ml(e,i),a=t/Math.max(1,jl(i));t>0&&a>=.45&&n.push({element:r,rect:i,overlapArea:t,elementCoverage:a})}let r=n.filter((e,t)=>!n.some((n,r)=>t!==r&&jl(e.rect)>jl(n.rect)*1.6&&e.rect.left<=n.rect.left&&e.rect.top<=n.rect.top&&e.rect.left+e.rect.width>=n.rect.left+n.rect.width&&e.rect.top+e.rect.height>=n.rect.top+n.rect.height&&e.elementCoverage<.92));return(r.length>0?r:n).sort((e,t)=>jl(e.rect)-jl(t.rect)).map(({element:e})=>e)},r_=(e,t,n)=>{let r=Math.max(1,jl(e)),i=[];for(let{element:a,rect:o}of n){let n=Ml(e,o),s=Math.max(1,jl(o)),c=n/s;if(o.width<8||o.height<8||c<.15)continue;let l=s/r,u=1-Math.min(1,Math.abs(Math.log(l))/2),d=t.x>=o.left&&t.x<=o.left+o.width&&t.y>=o.top&&t.y<=o.top+o.height,f=s>r*4&&c<.9?.25:0;i.push({element:a,rect:o,coverage:c,score:c*.55+u*.35+(d?.2:0)-f})}return i.length===0?null:(i.sort((e,t)=>t.score-e.score),i[0].element)},i_=(e,t)=>{let n=[];for(let{element:r,rect:i}of t){if(i.width<8||i.height<8)continue;let t=Math.max(1,jl(i)),a=e.x>=i.left&&e.x<=i.left+i.width&&e.y>=i.top&&e.y<=i.top+i.height,o=1/(1+Nl(e,i)),s=1/(1+Math.log(t));n.push({element:r,score:(a?2:0)+o*.9+s*.35})}return n.length===0?null:(n.sort((e,t)=>t.score-e.score),n[0].element)},a_=e=>e.nodeType===11,o_=e=>{if(!e)return null;let t=e.getRootNode();return a_(t)?t.host:null},s_=(e,t,n)=>!!(t?.contains(e)||n&&e===n),c_=(e,t)=>{let n=e;for(;n.shadowRoot;){let e=n.shadowRoot.elementFromPoint(t.x,t.y);if(!e||e===n)break;n=e}return n},l_=(e,t,n=document,r=n.body)=>{let i=n.defaultView;if(!i)return!1;let a=i,o=o_(t);for(let s of n.elementsFromPoint(e.x,e.y)){if(!(s instanceof a.Element))continue;let n=c_(s,e);if(!s_(n,t,o)){if(lu(n,i))return!0;if(Wf(n,r)&&!cu(n,i))return!1}}return!1},u_=(e,t,n,r)=>l_(e,t,n,r)?null:Gf(t,()=>Uf(e,r,n)),d_=(e,t,n=document,r=n.body)=>{let i=o_(t),a=u_(e,t,n,r),o=n.defaultView;if(!o||!a)return null;let s=h_(a,e);if(!Jg(s,r)||s_(s,t,i)||cu(s,o)||s===s.ownerDocument.body||s===s.ownerDocument.documentElement)return null;let c=hp(s);return c.width>2&&c.height>2?s:null},f_=(e,t)=>Math.abs(e.x-t.x)<=4&&Math.abs(e.y-t.y)<=4,p_=e=>{try{return e.defaultView?.frameElement??null}catch{return null}},m_=e=>{if(e.parentElement)return e.parentElement;let t=e.getRootNode();return a_(t)?t.host:p_(e.ownerDocument)},h_=(e,t)=>{let n=e,r=t;for(let e=0;e<16;e+=1){let e=tp(n);if(!e)break;let t=cp(n,r);if(t.x<0||t.y<0)break;let i=Uf(t,e,e);if(!i||i===e.body||i===e.documentElement)break;n=i,r=t}return n},g_=(e,t,n,r)=>{if(l_(e,t,n,r))return[];let i=n.defaultView;if(!i)return[];let a=i,o=o_(t),s=[],c=new Set,l=e=>{if(!e||c.has(e)||!Jg(e,r)||s_(e,t,o)||cu(e,i)||e===e.ownerDocument.body||e===e.ownerDocument.documentElement)return;let n=hp(e);n.width<=2||n.height<=2||(c.add(e),s.push(e))},u=e=>{let t=e;for(;t&&(l(t),t!==r);)t=m_(t)};u(d_(e,t,n,r));let d=Gf(t,()=>n.elementsFromPoint(e.x,e.y));for(let t of d)t instanceof a.Element&&u(c_(t,e));return s},__=(e,t,n,r=document,i=r.body)=>{let a=d_(e,t,r,i);if(!n||!a)return a;let o={left:e.x-20,top:e.y-20,width:40,height:40},s=T_(o,t,r,i),c=Df(a),l=c.nodeType===11?s.filter(({element:e})=>Df(e)===c):s,u=l.find(({element:e})=>e===a);if(u&&u.rect.width>=8&&u.rect.height>=8)return a;let d=u?l:[{element:a,rect:hp(a)},...l];return i_(e,d)??r_(o,e,d)??a},v_=(e,t,n,r=document,i=r.body,a=null)=>{let o=r.defaultView;if(o&&a&&f_(e,a.point)&&a.stack.length>0){let t=a.stack.filter(e=>e.isConnected&&Wf(e,i)&&!cu(e,o));if(t.length>0){let n=a.stack[a.index]??null,r=((n?t.indexOf(n):-1)+1+t.length)%t.length;return{target:t[r]??null,cycle:{point:e,index:r,stack:t}}}}let s=__(e,t,n,r,i);return s?{target:s,cycle:{point:e,index:0,stack:[s,...g_(e,t,r,i).filter(e=>e!==s)]}}:{target:null,cycle:null}},y_=-1,b_=``,x_=[],S_=null,C_=null,w_=null,T_=(e,t,n=document,r=n.body)=>{let i=o_(t),a=n.defaultView;if(!a)return[];let o=mp(),s=`${Math.round(e.left)}:${Math.round(e.top)}:${Math.round(e.width)}:${Math.round(e.height)}`;if(o===y_&&b_===s&&S_===t&&C_===n&&w_===r)return x_;let c=e.left-1,l=e.top-1,u=e.left+e.width+1,d=e.top+e.height+1,f=yp(n).map(e=>({element:e,rect:hp(e)})).filter(({element:n,rect:o})=>!Jg(n,r)||s_(n,t,i)||cu(n,a)||n===n.ownerDocument.body||n===n.ownerDocument.documentElement||o.width<8||o.height<8||o.left>u||o.top>d||o.left+o.width<c||o.top+o.height<l?!1:Al(e,o));return y_=o,b_=s,S_=t,C_=n,w_=r,x_=f,f},E_=(e,t,n,r=document,i=r.body)=>{let a=mp(),o=`${Math.round(e.left)}:${Math.round(e.top)}:${Math.round(e.width)}:${Math.round(e.height)}`;if(n.key===o&&n.overlayNode===t&&n.frame===a)return n.entries;let s=T_(e,t,r,i);return n.key=o,n.overlayNode=t,n.frame=a,n.entries=s,s},D_=(e,t,n,r=document,i=r.body)=>{let a=E_(e,t,n,r,i);return a.length?n_(e,a):[]},O_=e=>e.nodeType===11,k_=e=>{if(!e)return null;let t=e.getRootNode();return O_(t)?t.host:null},A_=e=>{let t=e.document??document,n=t.defaultView,r=n?.Element,i=k_(e.overlayNode),a=e.selectedMeasurements.map(e=>{let t=e.elementRef;if(!t||!t.isConnected)return null;let n=dp(t);return{measurement:e,element:t,rect:n,area:n.width*n.height}}).filter(e=>e!==null).sort((e,t)=>e.area-t.area),o=[];if(r&&n){for(let a of t.elementsFromPoint(e.point.x,e.point.y))if(a instanceof r&&!e.overlayNode?.contains(a)&&!(i&&a===i)){if(uu(a,n))return null;o.push(a)}}let s=(n,r)=>{let i=n.element.ownerDocument===t?o:(()=>{let r=lp(e.point,t,n.element.ownerDocument);return r.x<0||r.y<0?[]:n.element.ownerDocument.elementsFromPoint(r.x,r.y)})();return r?n.element===i[0]:i.some(e=>n.element===e||n.element.contains(e))},c=a.find(t=>s(t,e.exact??!1));if(c)return c.measurement;if(e.exact)return null;for(let t of a){let n=t.rect;if(e.point.x>=n.left&&e.point.x<=n.left+n.width&&e.point.y>=n.top&&e.point.y<=n.top+n.height)return t.measurement}return null},j_=`mesurer:select-gesture-start`;function M_(e){let t=e;e.dispatchEvent(new t.Event(j_))}function N_(e,t){return e.addEventListener(j_,t),()=>e.removeEventListener(j_,t)}var P_=e=>void 0,F_=Qa(P_);function I_(e={}){let t=$e(),n=t?$a(F_):P_,r=Sc(e),[i,a]=lo(r.getSnapshot()),o=r.subscribe(e=>a(()=>e)),s=r.dispose,c=!1,l,u=co(()=>i.selectedMeasurement??i.selectedMeasurements.at(-1)??null),d=e=>{let t=r.current.guides;t.length===e.length&&t.every((t,n)=>{let r=e[n];return!!(r&&r.id===t.id&&r.orientation===t.orientation&&r.position===t.position)})||r.setGuides(e)},f=e=>{let t=r.current.toolMode===`select`&&r.current.start!==null;r.setTransient(e);let n=r.current.toolMode===`select`&&r.current.start!==null;if(!t&&n){let e=l.rendererRoot?.ownerDocument.defaultView;e&&M_(e)}};l={...r,setGuides:d,setTransient:f,dispose:p,state:i,activeSelection:u,rendererRoot:null};function p(){c||(c=!0,l.rendererRoot=null,o(),s())}return n(l),t&&En(p),l}var L_=200,R_=e=>{e.setTransient({colorPickerActive:!1,colorPickerSample:null,colorPickerUnsupported:!1})},z_=e=>{e.setSelectedMeasurements([],null),e.setSelectedGuideIds([]),e.setTransient({start:null,end:null,isDragging:!1,selectionOriginRect:null})},B_=(e,t)=>{e.setEnabled(!0,!e.current.enabled),R_(e),e.setTransient({toolbarActive:!0}),e.toggleToolMode(t)},V_=e=>e.current.colorPickerActive?`color-picker`:e.current.rulersVisible?`rulers`:e.current.toolMode===`guides`?`guides`:e.current.toolMode===`select`||e.current.toolMode===`text-inspector`?`select`:`general`,H_=(e,t,n)=>{e.setTransient({colorPickerActive:!0,colorPickerSample:n,colorPickerUnsupported:!1}),t.navigator.clipboard?.writeText(Rc(n,e.current.settings.colorPickerClickFormat)).catch(()=>void 0)},U_=(e,t)=>{Ip(t),R_(e);let n=t.Event;t.dispatchEvent(new n(`focus`))},W_=(e,t)=>{let n=new Map,r=e=>{!e||n.has(e)||(n.set(e,{value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),e.style.setProperty(`display`,`none`,`important`))};r(t);for(let t of e.querySelectorAll([`[data-mesurer-layer]`,`[data-mesurer-extension-toolbar='true']`,`[data-mesurer-inspector-ui='true']`,`.mesurer-color-picker`].join(`,`)))r(t);return()=>{for(let[e,t]of n)t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`);n.clear()}},G_=async(e,t,n,r)=>{let i=await t.createImageBitmap(n);try{let n=Math.max(1,t.innerWidth),a=Math.max(1,t.innerHeight),o=i.width/n,s=i.height/a,c=Math.min(i.width-1,Math.max(0,Math.floor(r.x*o))),l=Math.min(i.height-1,Math.max(0,Math.floor(r.y*s))),u=e.createElement(`canvas`);u.width=1,u.height=1;let d=u.getContext(`2d`,{willReadFrequently:!0});if(!d)throw Error(`Color Picker could not read the captured application window.`);d.drawImage(i,c,l,1,1,0,0,1,1);let f=d.getImageData(0,0,1,1).data;return{red:f[0]??0,green:f[1]??0,blue:f[2]??0,alpha:(f[3]??255)/255}}finally{i.close()}};function K_(e){let{model:t,ownerWindow:n}=e,r=e.ownerDocument??n.document,i=null,a=0,o=!1,s=0,c=!1,l=()=>{a&&=(n.clearTimeout(a),0)},u=()=>{n.removeEventListener(`blur`,p),r.removeEventListener(`visibilitychange`,m)},d=()=>{s+=1,l(),o=!1,u();let e=i;i=null,e?.abort()},f=()=>{d(),R_(t)};function p(){o&&f()}function m(){r.visibilityState===`hidden`&&p()}let h=()=>{d(),t.setEnabled(!0,!t.current.enabled),t.setToolMode(`none`,t.current.toolMode!==`none`),t.setTransient({colorPickerActive:!0,colorPickerSample:null,colorPickerUnsupported:!1}),o=!0,n.addEventListener(`blur`,p),r.addEventListener(`visibilitychange`,m)},g=async()=>{if(!Lp(n)){f();return}d(),t.setEnabled(!0,!t.current.enabled),t.setToolMode(`none`,t.current.toolMode!==`none`);let e=n.EyeDropper,r=n.AbortController,o=new r;i=o,t.setTransient({colorPickerActive:!1,colorPickerSample:null,colorPickerUnsupported:!1});let s=n.performance.now();a=n.setTimeout(()=>{a=0,i===o&&!o.signal.aborted&&t.setTransient({colorPickerActive:!0})},L_);try{let r=await new e().open({signal:o.signal});if(l(),o.signal.aborted||c)return;let i=jc(r.sRGBHex);if(!i){R_(t);return}H_(t,n,i)}catch(e){if(l(),o.signal.aborted||c){R_(t);return}let r=n.performance.now()-s;if(e instanceof n.DOMException&&e.name===`AbortError`){if(r<L_){U_(t,n);return}R_(t);return}U_(t,n)}finally{i===o&&(i=null)}},_=async()=>{if(Uc(n)){h();return}await g()};return{async run(e){switch(e){case`select`:d(),z_(t),B_(t,`select`);return;case`xray`:d(),t.setEnabled(!0),R_(t),t.toggleXray();return;case`color-picker`:if(t.current.colorPickerActive&&t.current.colorPickerSample){await _();return}if(t.current.colorPickerActive||o||i){f();return}await _();return;case`rulers`:d(),t.setEnabled(!0),R_(t),t.toggleRulers();return;case`text-inspector`:d(),B_(t,`text-inspector`);return;case`guides`:d(),B_(t,`guides`);return;case`settings`:{let e=!t.current.settingsOpen;t.setTransient({settingsOpen:e,settingsTab:e?V_(t):t.current.settingsTab});return}}},clearSelection(){z_(t)},deactivate(e){switch(e){case`select`:z_(t),t.current.toolMode===e&&t.setToolMode(`none`);return;case`text-inspector`:case`guides`:t.current.toolMode===e&&t.setToolMode(`none`);return;case`xray`:t.setXrayVisible(!1);return;case`color-picker`:f();return;case`rulers`:t.setRulersVisible(!1);return;case`settings`:t.setTransient({settingsOpen:!1});return;case`distance`:return}},pickColorAt:async i=>{if(c||!o||!Uc(n))return;let a=++s;o=!1,u();let l=W_(r,e.uiRoot?.()??t.rendererRoot);try{await el(n);let e=await Gc(n);if(!e)throw Error(`Color Picker host capture is unavailable.`);let o=await G_(r,n,e,i);if(c||a!==s)return;H_(t,n,o)}catch{!c&&a===s&&R_(t)}finally{l()}},dispose(){c||(c=!0,d())}}}var q_=`var(--msr-color-ink-50, #f8fafc)`,J_=`var(--msr-color-ink-200, #e2e8f0)`,Y_=`var(--msr-color-ink-500, #64748b)`,X_=`var(--msr-content, #0f172a)`,Z_=(e,t,n)=>{let r=e.createElement(`div`);return Object.assign(r.style,{position:`absolute`,backgroundColor:n,...t===`top`||t===`bottom`?{left:`0`,[t]:`0`,width:`100%`,height:`1px`}:{top:`0`,[t]:`0`,width:`1px`,height:`100%`}}),r},Q_=(e,t,n)=>{let r=e.createElement(`div`);Object.assign(r.style,{position:`fixed`,zIndex:`0`,pointerEvents:`none`,backgroundColor:t,boxSizing:`border-box`}),r.className=`mesurer-ti-box`,r.dataset.state=`hidden`;for(let t of[`top`,`right`,`bottom`,`left`])r.appendChild(Z_(e,t,n));return r},$_=(e,t)=>{Object.assign(e.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`})},ev=(e,t)=>{let n=e.createElement(`div`);return Object.assign(n.style,{position:`fixed`,zIndex:`1`,pointerEvents:t?`auto`:`none`,background:`var(--msr-surface-raised, #ffffff)`,color:X_,borderRadius:`13px`,padding:`10px 12px`,fontSize:`11px`,lineHeight:`1.5`,fontFamily:`ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,fontVariantNumeric:`tabular-nums`,userSelect:`none`,whiteSpace:`nowrap`,width:`320px`,minWidth:`320px`,maxWidth:`320px`,boxSizing:`border-box`,boxShadow:`var(--msr-shadow-floating, 0px 0px 0.5px rgba(0, 0, 0, 0.18), 0px 3px 8px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1))`}),n.className=t?`mesurer-ti-card mesurer-ti-card--pinned`:`mesurer-ti-card`,n.dataset.state=`hidden`,n},tv=(e,t,n,r)=>{t.replaceChildren();let i=e.createElement(`div`);Object.assign(i.style,{display:`flex`,alignItems:`center`,gap:`8px`,marginBottom:`8px`,paddingBottom:`6px`});let a=e.createElement(`span`);if(Object.assign(a.style,{color:q_,background:X_,borderRadius:`4px`,padding:`1px 5px`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:`10px`,fontWeight:`500`}),a.textContent=n.tagName,i.appendChild(a),n.textSnippet){let t=e.createElement(`span`);Object.assign(t.style,{color:Y_,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:`1`,minWidth:`0`,fontSize:`10px`}),t.textContent=n.textSnippet,i.appendChild(t)}if(r){let t=e.createElement(`button`);t.type=`button`,t.className=`mesurer-ti-close`,t.setAttribute(`aria-label`,`Close`),t.textContent=`×`,Object.assign(t.style,{all:`unset`,marginLeft:n.textSnippet?`0`:`auto`,flex:`0 0 auto`,width:`16px`,height:`16px`,lineHeight:`14px`,textAlign:`center`,borderRadius:`4px`,color:Y_,fontSize:`14px`}),i.appendChild(t)}t.appendChild(i);let o=e.createElement(`div`);Object.assign(o.style,{display:`grid`,gridTemplateColumns:`auto 1fr`,columnGap:`12px`,rowGap:`3px`,alignItems:`baseline`});for(let t of n.rows){let n=e.createElement(`span`);n.style.color=Y_,n.style.fontSize=`11px`,n.textContent=t.label;let r=e.createElement(`span`);if(Object.assign(r.style,{fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:`11px`,color:X_,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}),!t.varName)r.textContent=t.value;else{let n=e.createElement(`span`);n.textContent=t.value;let i=e.createElement(`span`);i.style.color=J_,i.style.margin=`0 6px`,i.textContent=`·`;let a=e.createElement(`span`);a.style.color=`#0369a1`,a.textContent=t.varName,r.append(n,i,a)}o.append(n,r)}t.appendChild(o)},nv=(e,t,n,r=0,i=0)=>{let a=Number.parseFloat(t.dataset.mesurerPositionedScrollX??``),o=Number.parseFloat(t.dataset.mesurerPositionedScrollY??``),s=Number.isFinite(a)&&a!==e.scrollX||Number.isFinite(o)&&o!==e.scrollY,c=n.left+n.width/2+r;t.style.left=`${c}px`;let l=t.getBoundingClientRect(),u=n.bottom+4+i;u+l.height>e.innerHeight-8&&(u=n.top-l.height-4+i),t.style.top=`${Math.max(8,u)}px`;let d=l.width/2;t.style.left=`${Math.min(Math.max(c,8+d),e.innerWidth-8-d)}px`,t.dataset.mesurerPositionedScrollX=String(e.scrollX),t.dataset.mesurerPositionedScrollY=String(e.scrollY),s&&!t.dataset.mesurerNativeScrollAnchor&&(t.dataset.mesurerNativeScrollAnchor=`pending`)},rv=new Map([[`100`,`thin`],[`200`,`extralight`],[`300`,`light`],[`400`,`normal`],[`500`,`medium`],[`600`,`semibold`],[`700`,`bold`],[`800`,`extrabold`],[`900`,`black`]]),iv=[`font-family`,`font-size`,`font-weight`,`line-height`,`letter-spacing`],av=new Map([[`Family`,`font-family`],[`Size`,`font-size`],[`Weight`,`font-weight`],[`Line`,`line-height`],[`Tracking`,`letter-spacing`]]),ov=e=>{if(!e||e===`normal`)return e||`normal`;let t=/^(-?[\d.]+)px$/.exec(e);return t?`${Math.round(Number(t[1])*10)/10}px`:e},sv=e=>(e.split(`,`)[0]??``).trim().replace(/^['"]|['"]$/g,``),cv=e=>{let t=rv.get(e);return t?`${e} / ${t}`:e},lv=e=>e?/var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1]??null:null,uv=e=>(e.match(/#[\w-]+/g)??[]).length*1e4+(e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g)??[]).length*100+(e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g)??[]).length,dv=(e,t)=>!t||(e.important===t.important?e.specificity===t.specificity?e.order>t.order:e.specificity>t.specificity:e.important),fv=class{document;window;constructor(e,t){this.document=e,this.window=t}collectRules(e,t,n,r){for(let i=0;i<e.length;i++){let a=e[i],o=r.value++;if(a.type===4){let e=a,i=n;try{i=n&&this.window.matchMedia(e.media.mediaText).matches}catch{i=!1}this.collectRules(e.cssRules,t,i,r)}else if(a.type===12){let e=a;this.collectRules(e.cssRules,t,n,r)}else if(a.type===1){let e=a;t.push({rule:e,mediaOk:n,order:o})}}}getRules(){let e=[],t={value:0};for(let n of Array.from(this.document.styleSheets))try{this.collectRules(n.cssRules,e,!0,t)}catch{continue}return e}findVarReferences(e){let t=new Map(iv.map(e=>[e,null])),n=this.getRules();for(let r of iv){let i=e;for(;i&&t.get(r)===null;){let e,a=lv(i.style.getPropertyValue(r));a&&(e={name:a,specificity:2**53-1,order:2**53-1,important:i.style.getPropertyPriority(r)===`important`});for(let{rule:t,mediaOk:a,order:o}of n){if(!a)continue;let n=!1;try{n=i.matches(t.selectorText)}catch{continue}if(!n)continue;let s=lv(t.style.getPropertyValue(r));if(!s)continue;let c={name:s,specificity:uv(t.selectorText),order:o,important:t.style.getPropertyPriority(r)===`important`};dv(c,e)&&(e=c)}e&&t.set(r,e.name),i=i.parentElement}}return t}getFast(e){let t=this.window.getComputedStyle(e),n=[{label:`Family`,value:sv(t.fontFamily),varName:null},{label:`Size`,value:ov(t.fontSize),varName:null},{label:`Weight`,value:cv(t.fontWeight),varName:null},{label:`Line`,value:t.lineHeight===`normal`?`normal`:ov(t.lineHeight),varName:null},{label:`Tracking`,value:t.letterSpacing===`normal`?`normal`:ov(t.letterSpacing),varName:null}],r=Array.from(e.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE).map(e=>e.nodeValue?.trim()??``).filter(Boolean).join(` `).replace(/\s+/g,` `);return{rows:n,tagName:e.tagName.toLowerCase(),textSnippet:r.length>40?`${r.slice(0,40)}…`:r}}getFull(e,t=this.getFast(e)){let n=this.findVarReferences(e);return{...t,rows:t.rows.map(e=>{let t=av.get(e.label);return{...e,varName:t?n.get(t)??null:null}})}}},pv=[`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`],mv=`color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)`,hv=`color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)`,gv=`color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)`,_v=`color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)`,vv=80,yv=0,bv=(e,t)=>`
2196
+ `))}),o=ec(`: `);return Z(n,r),Z(n,i),Q(r,()=>t()===0?`keyframes`:``),Z(i,o),Q(i,()=>e.name,o),Q(i,()=>e.frames.map(e=>e.offset).join(`, `),null),J(()=>`Copy keyframes ${e.name}`,(e,t)=>{$(i,`aria-label`,e,t)}),n})()})}}),Y(q,{get when(){return t()},get children(){return Y(go,{get each(){return o()},children:(e,t)=>(()=>{var n=X(`div`,{class:`msr:mt-1 msr:flex msr:flex-col msr:gap-1`}),r=X(`div`,{class:`msr:grid msr:grid-cols-[auto_minmax(0,1fr)] msr:items-baseline msr:gap-2`}),i=X(`span`,{class:`msr:text-ink-500`}),o=X(`button`,{type:`button`,class:`msr:min-w-0 msr:truncate msr:bg-transparent msr:p-0 msr:text-right msr:font-mono msr:text-[10px] msr:text-ink-900 msr:hover:underline`,onClick:()=>s(a()[t()]??``)});return Z(n,r),Z(r,i),Z(r,o),Q(i,()=>t()===0?`keyframes`:``),Q(o,()=>e.name),Q(n,Y(go,{get each(){return e.frames},children:e=>(()=>{var t=X(`div`,{class:`msr:grid msr:grid-cols-[3.5rem_minmax(0,1fr)] msr:items-baseline msr:gap-2`}),n=X(`span`,{class:`msr:font-mono msr:tabular-nums msr:text-ink-500`}),r=X(`button`,{type:`button`,class:`msr:min-w-0 msr:whitespace-pre-wrap msr:break-words msr:bg-transparent msr:p-0 msr:text-right msr:font-mono msr:text-[10px] msr:text-ink-900 msr:hover:underline`,onClick:()=>s(`${e.offsets.join(`, `)} { ${e.value} }`)});return Z(t,n),Z(t,r),Q(n,()=>e.offsets.join(`, `)),Q(r,()=>e.displayValue||`underlying style`),t})()}),null),n})()})}}),(()=>{var e=X(`button`,{type:`button`,"data-mesurer-motion-keyframes-toggle":`true`,class:`msr:ml-auto msr:bg-transparent msr:p-0 msr:text-[10px] msr:text-ink-500 msr:underline msr:underline-offset-2`,onClick:()=>n(e=>!e)});return Q(e,()=>t()?`Hide keyframes`:`Show keyframes`),J(()=>t()?`true`:`false`,(t,n)=>{$(e,`aria-expanded`,t,n)}),e})()]}}),null),c}function Nh(e){let[t,n]=K(0),[r,i]=K(0),[a,o]=K(1),[s,c]=K(!1),[l,u]=K(!1),[d,f]=K([]),[p,m]=K(!1),[h,g]=K(!1),_,v,y,b,[x,S]=K(``),[C,w]=K(!1),T,E=null,D=null,O=`mesurer-motion-custom-speed-${++Eh}`,[k,A]=K({left:0,above:!1}),[j,M]=K(null),[N,P]=K(fh(e.element)),F={current:null};po(()=>e.suspended?.()??!1,e=>{e||$t(()=>F.current?.())});let I=[],L=co(()=>[...new Set(N().filter(t=>Bm(e.element,t.element)!==null).flatMap(e=>e.properties))]),R=()=>L().length>0,z=()=>j()===e.element,B=()=>z()&&!R()&&t()>0&&d().some(e=>e.animation);po(()=>[e.element,e.ownerWindow],([e,t])=>{P(fh(e)),En(mh(e,t,t=>P(t.filter(t=>Bm(e,t.element)!==null))))}),po(()=>[e.element,e.ownerWindow],([e,t])=>{M(null);let n=t.setTimeout(()=>{e.isConnected&&M(e)},250);En(()=>t.clearTimeout(n))}),po(()=>[e.element,e.ownerWindow],([e,t])=>{i(0),c(!1),m(!1),g(!1),I=[];let r=Hm(e)[0];o(r?.playbackRate??1);let a=()=>{if(!e.isConnected){u(!1),n(0),f([]),I=[];return}try{let r=Gm(e,t),i=[...new Set(r.flatMap(e=>e.animation?[e.animation]:[]))];u(r.length>0||Vm(e).length>0),n(Math.max(0,...r.map(Km))),f(r),I=i}catch{u(!1),n(0),f([]),I=[]}};a();let s=t.setInterval(a,250);En(()=>t.clearInterval(s))}),po(()=>[e.ownerWindow,l(),B(),t()],([t,n,r,a])=>{if(!n||!r)return;let o=0,s=0,l=!1,u=()=>{if(l)return;if(e.suspended?.()){o=t.setTimeout(u,100);return}let n=Jm(I,a);i(n.progress),c(n.playing),e.suspended?.()||F.current?.(),n.playing?s=t.requestAnimationFrame(u):o=t.setTimeout(u,250)};$t(u),En(()=>{l=!0,t.clearTimeout(o),t.cancelAnimationFrame(s)})});let V=e=>{if(!B())return;let n=Math.max(0,Math.min(1,e));i(n),c(!1),Zm(I,n,t()),F.current?.()},H=()=>{if(!B())return;let t=s()?`pause`:`play`;Xm(e.element,t,a()),c(t===`play`)},U=t=>{if(!B()||!Number.isFinite(t))return;let n=Math.min(4,Math.max(.1,Math.round(t*100)/100));o(n),Xm(e.element,s()?`play`:`pause`,n)},W=e=>{let t=b?.getBoundingClientRect();if(!t)return;let n=Math.max(1,t.width-16),r=Math.max(0,Math.min(1,(e-t.left-8)/n)),i=Math.round((.1+r*3.9-.1)/.05)*.05+.1;U(i)},ee=e=>{if(!B())return;let t=E??T?.getBoundingClientRect();t?.width&&V((e-t.left)/t.width)},te=e=>{if(D!==e)return;D=null,E=null;let t=T;t?.hasPointerCapture(e)&&t.releasePointerCapture(e)};return po(()=>h(),e=>{if(!e)return;let t=_?.ownerDocument.defaultView;if(!t)return;let n=()=>{let e=_?.getBoundingClientRect();if(!e)return;let n=Math.min(208,t.innerWidth-16),r=Math.max(8-e.left,Math.min(e.width-n,t.innerWidth-n-8-e.left));A({left:r,above:t.innerHeight-e.bottom<46&&e.top>=46})};n(),t.addEventListener(`resize`,n),t.addEventListener(`scroll`,n,!0),En(()=>{t.removeEventListener(`resize`,n),t.removeEventListener(`scroll`,n,!0)}),t.queueMicrotask(()=>{h()&&(y?.focus({preventScroll:!0}),y?.select())});let r=e=>{if(e.type===`keydown`){let t=e;if(t.key!==`Escape`)return;t.preventDefault(),t.stopPropagation(),g(!1),v?.focus({preventScroll:!0});return}let t=_;t&&e.composedPath().includes(t)||g(!1)};t.addEventListener(`pointerdown`,r,!0),t.addEventListener(`keydown`,r,!0),En(()=>{t.removeEventListener(`pointerdown`,r,!0),t.removeEventListener(`keydown`,r,!0)})}),Y(q,{get when(){return l()||L().length>0},get children(){var n=X(`div`,{"data-mesurer-motion-player":`true`,"data-mesurer-inspector-ui":`true`,"aria-label":`Motion playback`,class:`mesurer-menu-surface msr:relative msr:box-border msr:pointer-events-auto msr:w-full msr:overflow-visible msr:rounded-wide-card msr:bg-white msr:text-ink-900 msr:outline-none`,style:{"border-radius":`var(--radius-wide-card, 13px)`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()}),i=X(`div`,{class:`msr:relative msr:p-2`}),o=X(`button`,{type:`button`,class:`msr:relative msr:block msr:w-full msr:overflow-hidden msr:rounded-control msr:border-0 msr:bg-ink-100 msr:p-0 msr:text-left`,"aria-label":`Motion preview`,onClick:H}),c=X(`div`,{class:`msr:mt-2 msr:flex msr:h-5 msr:items-center msr:gap-1.5`}),l=X(`button`,{type:`button`,"data-mesurer-motion-inspect":`true`,class:`msr:flex msr:size-5 msr:shrink-0 msr:items-center msr:justify-center msr:rounded-control msr:border msr:border-transparent msr:bg-transparent msr:p-0 msr:leading-none msr:text-ink-900 msr:hover:bg-black/4 msr:focus-visible:outline-none`,onClick:()=>m(e=>!e)}),u=X(`div`,{"data-mesurer-motion-details":`true`,class:`mesurer-thin-scrollbar msr:max-h-[50vh] msr:overflow-y-auto`});return Z(n,i),Z(n,u),Z(i,o),Z(i,c),Q(o,Y(wh,{get element(){return e.element},get ownerWindow(){return e.ownerWindow},get observedTargets(){return N()},wakeRef:F,get suspended(){return e.suspended}})),Z(c,l),Q(c,Y(q,{get when(){return $s(()=>!R())()&&z()},get fallback(){var e=X(`div`,{role:`status`,class:`msr:min-w-0 msr:flex-1 msr:truncate msr:font-mono msr:text-[10px] msr:leading-none msr:text-ink-500`});return Q(e,()=>R()?`JavaScript animation. Controls unavailable.`:`Preparing motion…`),e},get children(){return[(()=>{var e=X(`button`,{type:`button`,"data-mesurer-motion-play":`true`,class:`msr:flex msr:size-5 msr:shrink-0 msr:items-center msr:justify-center msr:rounded-control msr:border msr:border-transparent msr:bg-transparent msr:p-0 msr:leading-none msr:text-ink-900 msr:hover:bg-black/4 msr:focus-visible:outline-none msr:disabled:opacity-40`,onClick:H});return Q(e,(()=>{var e=$s(()=>!!s());return()=>e()?Y(Ah,{}):Y(kh,{})})()),J(()=>({e:s()?`Pause motion`:`Play motion`,t:s()?`true`:`false`,a:!B()}),({e:t,t:n,a:r},i)=>{t!==i?.e&&$(e,`aria-label`,t,i?.e),n!==i?.t&&$(e,`aria-pressed`,n,i?.t),r!==i?.a&&$(e,`disabled`,r,i?.a)}),e})(),(()=>{var e=X(`span`,{class:`msr:flex msr:h-5 msr:w-8 msr:shrink-0 msr:items-center msr:font-mono msr:text-[10px] msr:leading-none msr:tabular-nums msr:text-ink-500`});return Q(e,(()=>{var e=$s(()=>!!B());return()=>e()?Dh(r()*t()):`—`})()),e})(),(()=>{var e=X(`div`,{role:`slider`,"data-mesurer-motion-scrubber":`true`,"aria-label":`Scrub motion timeline`,"aria-valuemin":0,class:`mesurer-recording-timeline msr:relative msr:h-5 msr:min-w-0 msr:flex-1 msr:cursor-pointer msr:select-none`,onPointerDown:e=>{B()&&(E=e.currentTarget.getBoundingClientRect(),D=e.pointerId,e.currentTarget.setPointerCapture(e.pointerId),ee(e.clientX))},onPointerMove:e=>{e.pointerId===D&&ee(e.clientX)},onPointerUp:e=>{e.pointerId===D&&(ee(e.clientX),te(e.pointerId))},onPointerCancel:e=>te(e.pointerId),onLostPointerCapture:e=>te(e.pointerId),onKeyDown:e=>{if(B()){if(e.key===`Home`||e.key===`End`){e.preventDefault(),e.stopPropagation(),V(e.key===`Home`?0:1);return}(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.preventDefault(),e.stopPropagation(),V(r()+(e.key===`ArrowRight`?.02:-.02)))}}}),n=X(`div`,{class:`mesurer-recording-track-rail msr:pointer-events-none msr:absolute msr:inset-x-0 msr:top-1/2 msr:h-[3px] msr:-translate-y-1/2 msr:rounded-full msr:bg-ink-200`}),i=X(`div`,{class:`msr:pointer-events-none msr:absolute msr:top-1/2 msr:z-[2] msr:h-2 msr:-translate-y-1/2`}),a=X(`div`,{class:`mesurer-recording-playhead msr:h-full msr:w-0.5 msr:rounded-full msr:bg-ink-900`});Z(e,n),Z(e,i);var o=T;return typeof o==`function`||Array.isArray(o)?ic(()=>o,e):T=e,Z(i,a),J(()=>({e:B()?0:-1,t:B()?`false`:`true`,a:t(),o:r()*t(),i:B()?`${Math.round(r()*100)}%`:`Playback unavailable`,n:{left:`${r()*100}%`}}),({e:t,t:n,a:r,o:a,i:o,n:s},c)=>{t!==c?.e&&$(e,`tabindex`,t,c?.e),n!==c?.t&&$(e,`aria-disabled`,n,c?.t),r!==c?.a&&$(e,`aria-valuemax`,r,c?.a),a!==c?.o&&$(e,`aria-valuenow`,a,c?.o),o!==c?.i&&$(e,`aria-valuetext`,o,c?.i),s!==c?.n&&$(i,`style`,s,c?.n)}),e})(),(()=>{var e=X(`span`,{class:`msr:flex msr:h-5 msr:w-8 msr:shrink-0 msr:items-center msr:justify-end msr:font-mono msr:text-[10px] msr:leading-none msr:tabular-nums msr:text-ink-500`});return Q(e,(()=>{var e=$s(()=>!!B());return()=>e()?Dh(t()):`—`})()),e})(),(()=>{var e=X(`div`,{class:`msr:relative msr:flex msr:h-5 msr:shrink-0 msr:items-center`}),t=X(`select`,{"data-mesurer-motion-speed":`true`,"aria-label":`Playback speed`,class:`mesurer-settings-button-ghost msr:h-5 msr:appearance-none msr:rounded-control msr:border msr:border-transparent msr:bg-transparent msr:p-0 msr:text-center msr:font-mono msr:text-[10px] msr:tabular-nums msr:text-ink-500 msr:hover:bg-black/4 msr:focus-visible:bg-black/4 msr:focus-visible:outline-none`,onChange:e=>{if(e.currentTarget.value===`custom`){g(!0);return}g(!1),U(Number(e.currentTarget.value))}}),n=X(`option`,{value:`custom`});Z(e,t);var r=_;typeof r==`function`||Array.isArray(r)?ic(()=>r,e):_=e,Z(t,n);var i=v;return typeof i==`function`||Array.isArray(i)?ic(()=>i,t):v=t,Q(t,Y(go,{each:Th,children:e=>(()=>{var t=X(`option`),n=ec(`x`);return Z(t,n),Q(t,e,n),J(()=>String(e),(e,n)=>{$(t,`value`,e,n)}),t})()}),n),Q(t,Y(q,{get when(){return!Th.some(e=>e===a())},get children(){var e=X(`option`),t=ec(`x`);return Z(e,t),Q(e,a,t),J(()=>String(a()),(t,n)=>{$(e,`value`,t,n)}),e}}),n),Z(n,ec(`Custom`)),Q(e,Y(q,{get when(){return $s(()=>!!h())()?B():h()},get children(){var e=X(`div`,{id:O,role:`dialog`,"data-mesurer-motion-custom-speed":`true`,"aria-label":`Custom playback speed`,class:`mesurer-menu-surface msr:absolute msr:z-[120] msr:flex msr:w-[208px] msr:max-w-[calc(100vw-16px)] msr:items-center msr:gap-1 msr:rounded-[9px] msr:border msr:border-ink-200 msr:bg-white msr:p-1`,onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()}),t=X(`div`,{class:`msr:min-w-0 msr:flex-1`}),n=X(`div`,{class:`msr:grid msr:h-8 msr:w-full msr:grid-cols-[minmax(0,1fr)] msr:items-center`}),r=X(`button`,{type:`button`,"aria-label":`Close custom speed`,class:`msr:flex msr:size-5 msr:shrink-0 msr:items-center msr:justify-center msr:rounded-[6px] msr:bg-transparent msr:text-ink-700 msr:hover:bg-black/4`,onClick:()=>{g(!1),v?.focus({preventScroll:!0})}}),i=X(`span`,{"aria-hidden":`true`});return Z(e,t),Z(e,r),Z(t,n),Q(n,Y(_h,{get left(){var e=X(`div`,{class:`msr:relative msr:min-w-0 msr:flex-1 msr:touch-none msr:select-none msr:px-2`,style:{height:`20px`},"data-slider-container":`true`,onPointerDown:e=>{e.stopPropagation(),e.currentTarget.setPointerCapture(e.pointerId),W(e.clientX)},onPointerMove:e=>{e.currentTarget.hasPointerCapture(e.pointerId)&&W(e.clientX)},onPointerUp:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)},onPointerCancel:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}}),t=X(`div`,{class:`msr:absolute msr:left-[8px] msr:right-[8px] msr:rounded-full`,style:{top:`8px`,height:`4px`,"background-color":`var(--msr-slider-track)`},"aria-hidden":`true`}),n=X(`div`,{class:`msr:absolute msr:left-[8px] msr:rounded-full`,"aria-hidden":`true`}),r=X(`div`,{role:`slider`,tabindex:0,"aria-label":`Custom playback speed slider`,"aria-valuemin":.1,"aria-valuemax":4,class:`mesurer-control-thumb msr:absolute msr:rounded-[5px] msr:bg-white msr:shadow-sm msr:outline-none msr:focus-visible:ring-1 msr:focus-visible:ring-[var(--msr-accent)]/25`,onKeyDown:e=>{if(e.key===`Home`)U(.1);else if(e.key===`End`)U(4);else if(e.key===`ArrowRight`||e.key===`ArrowUp`)U(a()+.05);else if(e.key===`ArrowLeft`||e.key===`ArrowDown`)U(a()-.05);else return;e.preventDefault(),e.stopPropagation()}});Z(e,t),Z(e,n),Z(e,r);var i=b;return typeof i==`function`||Array.isArray(i)?ic(()=>i,e):b=e,J(()=>({e:{top:`8px`,height:`4px`,width:`calc(${(a()-.1)/3.9*100}% - ${(a()-.1)/3.9*16}px)`,"background-color":`var(--msr-accent)`},t:a(),a:`${a()}x`,o:{left:`calc(8px + (100% - 16px) * ${(a()-.1)/3.9})`,top:`4px`,width:`12px`,height:`12px`,transform:`translateX(-50%)`}}),({e,t,a:i,o:a},o)=>{e!==o?.e&&$(n,`style`,e,o?.e),t!==o?.t&&$(r,`aria-valuenow`,t,o?.t),i!==o?.a&&$(r,`aria-valuetext`,i,o?.a),a!==o?.o&&$(r,`style`,a,o?.o)}),e},get right(){var e=X(`input`,{type:`text`,"aria-label":`Custom playback speed value`,class:`msr:h-full msr:w-full msr:border-0 msr:bg-transparent msr:px-1 msr:text-left msr:font-mono msr:text-[12px] msr:font-medium msr:tabular-nums msr:text-ink-700 msr:outline-none`,onFocus:()=>{S(`${a()}x`),w(!0)},onInput:e=>{let t=e.currentTarget.value;S(t);let n=Number.parseFloat(t);Number.isFinite(n)&&U(n)},onBlur:()=>w(!1),onPointerDown:e=>e.stopPropagation(),onKeyDown:e=>{if(e.key===`ArrowUp`||e.key===`ArrowDown`){e.preventDefault(),e.stopPropagation(),U(a()+(e.key===`ArrowUp`?.05:-.05));return}e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur())}}),t=y;return typeof t==`function`||Array.isArray(t)?ic(()=>t,e):y=e,J(()=>C()?x():`${a()}x`,(t,n)=>{$(e,`value`,t,n)}),e}})),Z(r,i),Z(i,ec(`×`)),J(()=>({left:`${k().left}px`,top:k().above?`auto`:`100%`,bottom:k().above?`100%`:`auto`,"margin-top":k().above?`0px`:`4px`,"margin-bottom":k().above?`4px`:`0px`}),(t,n)=>{$(e,`style`,t,n)}),e}}),null),J(()=>({e:h()?O:void 0,t:!B(),a:String(a()),o:{width:`${Math.max(6,`${a()}x`.length+1)}ch`}}),({e,t:n,a:r,o:i},a)=>{e!==a?.e&&$(t,`aria-controls`,e,a?.e),n!==a?.t&&$(t,`disabled`,n,a?.t),r!==a?.a&&$(t,`value`,r,a?.a),i!==a?.o&&$(t,`style`,i,a?.o)}),e})()]}}),l),Q(l,Y(jh,{})),Q(u,Y(q,{get when(){return p()},get children(){return Y(Mh,{get motions(){return d()},get ownerWindow(){return e.ownerWindow},get element(){return e.element},get observedProperties(){return L()}})}})),J(()=>({e:!B(),t:p()?`Hide motion details`:`Show motion details`,a:p()?`true`:`false`,o:!p()}),({e,t,a:n,o:r},i)=>{e!==i?.e&&$(o,`disabled`,e,i?.e),t!==i?.t&&$(l,`aria-label`,t,i?.t),n!==i?.a&&$(l,`aria-expanded`,n,i?.a),r!==i?.o&&$(u,`hidden`,r,i?.o)}),n}})}var Ph=Qa(null),Fh=e=>Y(Ph,{get value(){return e.runtime},get children(){return e.children}}),Ih=()=>$a(Ph),Lh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()});return Q(t,()=>e.children),J(()=>({e:e.size??24,t:e.size??24,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Rh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M166.59,134.1a1.91,1.91,0,0,1-.55-1.79,2,2,0,0,1,1.08-1.42l46.25-17.76.24-.1A14,14,0,0,0,212.38,87L52.29,34.7A13.95,13.95,0,0,0,34.7,52.29L87,212.38a13.82,13.82,0,0,0,12.6,9.6c.23,0,.46,0,.69,0A13.84,13.84,0,0,0,113,213.61a2.44,2.44,0,0,0,.1-.24l17.76-46.25a2,2,0,0,1,3.21-.53l51.31,51.31a14,14,0,0,0,19.8,0l12.69-12.69a14,14,0,0,0,0-19.8Zm42.82,62.63-12.68,12.68a2,2,0,0,1-2.83,0L142.59,158.1a14,14,0,0,0-22.74,4.32,2.44,2.44,0,0,0-.1.24L102,208.91a2,2,0,0,1-3.61-.26L46.11,48.57a1.87,1.87,0,0,1,.47-2A1.92,1.92,0,0,1,47.93,46a2.22,2.22,0,0,1,.64.1L208.65,98.38a2,2,0,0,1,.26,3.61l-46.25,17.76-.24.1a14,14,0,0,0-4.32,22.74h0l51.31,51.31A2,2,0,0,1,209.41,196.73Z`})}}),zh=e=>{let t=e.size??20,n=(e.strokePx??1.25)*256/t,r=12/132*n;var i=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 256 256`,fill:`none`,"aria-hidden":`true`}),a=X(`path`,{d:`M56 40H200a16 16 0 0 1 16 16v36a16 16 0 0 1-16 16H108V200a16 16 0 0 1-16 16H56a16 16 0 0 1-16-16V56a16 16 0 0 1 16-16Z`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`round`,"stroke-linejoin":`round`}),o=X(`path`,{d:`M88 40v32M128 40v32M168 40v32M40 88h32M40 128h32M40 168h32`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`butt`}),s=X(`svg`,{x:`118`,y:`122`,width:132,height:132,viewBox:`9.4 12.5 12 12`,overflow:`visible`}),c=X(`path`,{d:`m18.76 16.64-6.25-2.07c-0.68-0.22-1.31 0.4-1.09 1.08l2.1 6.17c0.24 0.74 1.25 0.78 1.55 0.06l1.17-2.55 2.6-1.17c0.72-0.33 0.67-1.29-0.08-1.52z`,fill:`none`,stroke:`currentColor`,"stroke-width":r,"stroke-linecap":`round`,"stroke-linejoin":`round`});return Z(i,a),Z(i,o),Z(i,s),Z(s,c),J(()=>e.class,(e,t)=>{$(i,`class`,e,t)}),i},Bh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()});return Z(t,X(`path`,{d:`M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z`})),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Vh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M233.91,74.79,181.22,22.1a14,14,0,0,0-19.8,0L22.09,161.41a14,14,0,0,0,0,19.8L74.78,233.9a14,14,0,0,0,19.8,0L233.91,94.59A14,14,0,0,0,233.91,74.79ZM225.42,86.1,86.1,225.41h0a2,2,0,0,1-2.83,0L30.58,172.73a2,2,0,0,1,0-2.83L64,136.48l27.76,27.76a6,6,0,1,0,8.48-8.48L72.48,128,96,104.48l27.76,27.76a6,6,0,0,0,8.48-8.48L104.48,96,128,72.49l27.76,27.75a6,6,0,0,0,8.48-8.48L136.49,64,169.9,30.59a2,2,0,0,1,2.83,0l52.69,52.68A2,2,0,0,1,225.42,86.1Z`})}}),Hh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`12`,"stroke-opacity":`0.78`,d:`M76 48h96a16 16 0 0 1 16 16v96a16 16 0 0 1-16 16H76a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16Zm32 32h96a16 16 0 0 1 16 16v96a16 16 0 0 1-16 16h-96a16 16 0 0 1-16-16V96a16 16 0 0 1 16-16Z`})}}),Uh=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`12`,d:`M48 208V48h160M80 48v24m32-24v24m32-24v24m32-24v24M48 80h24M48 112h24m-24 32h24m-24 32h24`})}}),Wh=e=>Y(Lh,{get size(){return e.size??8},get class(){return e.class},get children(){return X(`path`,{d:`M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z`})}}),Gh=e=>Y(Lh,{get size(){return e.size??12},get class(){return e.class},get children(){return X(`path`,{d:`M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z`})}}),Kh=e=>Y(Lh,{get size(){return e.size??12},get class(){return e.class},get children(){return X(`path`,{d:`M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z`})}}),qh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()}),n=X(`text`,{x:`50%`,y:`60%`,"text-anchor":`middle`,"dominant-baseline":`middle`,fill:`currentColor`,"font-family":`ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,"font-weight":`300`,"font-size":`220`});return Z(t,n),Z(n,ec(`Aa`)),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Jh=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`});return Z(t,X(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,transform:`translate(-1.44 -1.44) scale(1.12)`,d:`M15.16 5.658a2.25 2.25 0 0 1 3.18.001l.155.17a2.25 2.25 0 0 1 0 2.84l-.154.172-1.696 1.692a1.5 1.5 0 0 1 .02 1.913l-.104.114a1.5 1.5 0 0 1-2.007.103l-.02-.018-4.443 4.447a2.24 2.24 0 0 1-1.716.65l-.814.815a1.5 1.5 0 0 1-2.121-2.121l.816-.818a2.25 2.25 0 0 1 .653-1.708l4.443-4.446a1.5 1.5 0 0 1 .088-2.025l.114-.103a1.5 1.5 0 0 1 1.91.015zm-7.544 8.959a1.25 1.25 0 0 0-.358 1.021c.021.197-.014.406-.154.546l-.958.96a.5.5 0 0 0 .708.706l.955-.956c.14-.14.352-.176.55-.153.364.042.745-.077 1.025-.356l4.438-4.442-1.767-1.767zm10.018-8.251a1.25 1.25 0 0 0-1.768 0l-1.782 1.78-.065.06a.87.87 0 0 1-1.165-.06.5.5 0 0 0-.707.707l3 3a.5.5 0 0 0 .628.064l.079-.064a.5.5 0 0 0 0-.707l-.004-.004a.873.873 0 0 1 .004-1.23l1.78-1.778a1.25 1.25 0 0 0 0-1.768`,"clip-rule":`evenodd`})),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),Yh=(e,t,n)=>t*256/e/n,Xh=e=>{let t=e.size??20,n=Yh(t,e.strokePx??1,e.frameScale??1);var r=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:t,height:t,viewBox:`0 0 256 256`,fill:`none`,"aria-hidden":`true`}),i=X(`path`,{d:`M64 48H192a16 16 0 0 1 16 16v128a16 16 0 0 1-16 16H64a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16Z`,fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`round`,"stroke-linejoin":`round`}),a=X(`g`,{fill:`none`,stroke:`currentColor`,"stroke-width":n,"stroke-linecap":`butt`});return Z(r,i),Z(r,a),Q(a,()=>e.children),J(()=>e.class,(e,t)=>{$(r,`class`,e,t)}),r},Zh=e=>Y(Xh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M128 48v160M48 128h160`})}}),Qh=e=>Y(Xh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M101.33 48v160M154.67 48v160`})}}),$h=e=>Y(Xh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`M48 101.33h160M48 154.67h160`})}}),eg=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`});return Z(t,X(`path`,{d:`M6 1.5v9M1.5 6h9`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`})),J(()=>({e:e.size??12,t:e.size??12,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),tg=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`}),n=X(`path`,{d:`M1.5 8s2.5-4.5 6.5-4.5S14.5 8 14.5 8s-2.5 4.5-6.5 4.5S1.5 8 1.5 8Z`,stroke:`currentColor`,"stroke-width":`1.25`}),r=X(`circle`,{cx:`8`,cy:`8`,r:`2`,stroke:`currentColor`,"stroke-width":`1.25`});return Z(t,n),Z(t,r),J(()=>({e:e.size??14,t:e.size??14,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),ng=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,fill:`none`,"aria-hidden":`true`}),n=X(`path`,{d:`m2 2 12 12M6.2 6.3A2.5 2.5 0 0 0 8 10.5M9.7 9.8A2.5 2.5 0 0 0 8 5.5`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`}),r=X(`path`,{d:`M4.1 4.6C2.5 5.7 1.5 8 1.5 8s2.5 4.5 6.5 4.5c1.2 0 2.3-.4 3.2-1M11.7 10.7c1.3-1 2.2-2.7 2.8-2.7 0 0-2.5-4.5-6.5-4.5-.6 0-1.2.1-1.7.3`,stroke:`currentColor`,"stroke-width":`1.25`,"stroke-linecap":`round`});return Z(t,n),Z(t,r),J(()=>({e:e.size??14,t:e.size??14,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),rg=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`}),n=X(`path`,{d:`M10.6504 5.81117C10.9939 4.39628 13.0061 4.39628 13.3496 5.81117C13.5715 6.72517 14.6187 7.15891 15.4219 6.66952C16.6652 5.91193 18.0881 7.33479 17.3305 8.57815C16.8411 9.38134 17.2748 10.4285 18.1888 10.6504C19.6037 10.9939 19.6037 13.0061 18.1888 13.3496C17.2748 13.5715 16.8411 14.6187 17.3305 15.4219C18.0881 16.6652 16.6652 18.0881 15.4219 17.3305C14.6187 16.8411 13.5715 17.2748 13.3496 18.1888C13.0061 19.6037 10.9939 19.6037 10.6504 18.1888C10.4285 17.2748 9.38135 16.8411 8.57815 17.3305C7.33479 18.0881 5.91193 16.6652 6.66952 15.4219C7.15891 14.6187 6.72517 13.5715 5.81117 13.3496C4.39628 13.0061 4.39628 10.9939 5.81117 10.6504C6.72517 10.4285 7.15891 9.38134 6.66952 8.57815C5.91193 7.33479 7.33479 5.91192 8.57815 6.66952C9.38135 7.15891 10.4285 6.72517 10.6504 5.81117Z`,stroke:`currentColor`,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`}),r=X(`circle`,{cx:`12`,cy:`12`,r:`2.5`,stroke:`currentColor`,"stroke-width":`1`});return Z(t,n),Z(t,r),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),ig=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`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`})}}),ag=e=>Y(Lh,{get size(){return e.size??20},get class(){return e.class},get children(){return X(`path`,{d:`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`})}}),og=e=>(()=>{var t=X(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`,onDragStart:e=>e.preventDefault()});return Z(t,X(`path`,{d:`M12 19V5M6.5 10.5 12 5l5.5 5.5`})),J(()=>({e:e.size??20,t:e.size??20,a:e.class}),({e,t:n,a:r},i)=>{e!==i?.e&&$(t,`width`,e,i?.e),n!==i?.t&&$(t,`height`,n,i?.t),r!==i?.a&&$(t,`class`,r,i?.a)}),t})(),sg=e=>Y(Lh,{get size(){return e.size??18},get class(){return e.class},get children(){return X(`path`,{d:`M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z`})}}),cg=e=>Y(Lh,{get size(){return e.size??18},get class(){return e.class},get children(){return X(`path`,{d:`M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z`})}}),lg=[`hex`,`rgb`,`hsl`,`oklch`],ug=e=>lg.some(t=>t===e),dg=e=>e===`system`||e===`light`||e===`dark`,fg=[{value:`solid`,label:`Solid`},{value:`dashed`,label:`Dashed`},{value:`dotted`,label:`Dotted`}];function pg(e){var t=X(`button`,{type:`button`,role:`switch`,class:`msr:col-span-2 msr:grid msr:h-6 msr:w-full msr:appearance-none msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-left msr:text-[12px] msr:leading-none msr:text-ink-700 msr:disabled:opacity-45`,onClick:()=>e.onChange(!e.checked)}),n=X(`span`),r=X(`span`,{"aria-hidden":`true`,style:{"justify-self":`end`}}),i=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(t,n),Z(t,r),Q(n,()=>e.label),Z(r,i),J(()=>({e:e.checked?`true`:`false`,t:e.disabled,a:e.checked?`true`:void 0,o:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.checked?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,i:{transform:`translateX(${e.checked?12:0}px)`}}),({e,t:n,a,o,i:s},c)=>{e!==c?.e&&$(t,`aria-checked`,e,c?.e),n!==c?.t&&$(t,`disabled`,n,c?.t),a!==c?.a&&$(r,`data-checked`,a,c?.a),o!==c?.o&&$(r,`class`,o,c?.o),s!==c?.i&&$(i,`style`,s,c?.i)}),t}function mg(e){var t=X(`button`,{type:`button`,role:`switch`,class:`msr:flex msr:h-6 msr:w-full msr:items-center msr:justify-between msr:gap-2 msr:pr-0 msr:text-left msr:text-[12px] msr:leading-none msr:text-ink-700 msr:disabled:opacity-45`,onClick:()=>e.onChange(!e.checked)}),n=X(`span`,{class:`mesurer-plugin-setting-label msr:ml-6 msr:min-w-0 msr:flex-1 msr:truncate msr:whitespace-nowrap`}),r=X(`span`,{"aria-hidden":`true`}),i=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(t,n),Z(t,r),Q(n,()=>e.label),Z(r,i),J(()=>({e:e.checked?`true`:`false`,t:e.disabled,a:e.checked?`true`:void 0,o:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.checked?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,i:{transform:`translateX(${e.checked?12:0}px)`}}),({e,t:n,a,o,i:s},c)=>{e!==c?.e&&$(t,`aria-checked`,e,c?.e),n!==c?.t&&$(t,`disabled`,n,c?.t),a!==c?.a&&$(r,`data-checked`,a,c?.a),o!==c?.o&&$(r,`class`,o,c?.o),s!==c?.i&&$(i,`style`,s,c?.i)}),t}function hg(e){let t=t=>e.formatValue?.(t)??String(t),n=t=>e.parseInput?.(t)??Number(t),[r,i]=K(!1),[a,o]=K(``),s,c=()=>(e.value-e.min)/(e.max-e.min)*100,l=t=>e.onChange(Number(Math.min(e.max,Math.max(e.min,t)).toFixed(4))),u=(t,n)=>{t.stopPropagation();let r=n.getBoundingClientRect(),i=Math.max(1,r.width-16),a=Math.min(1,Math.max(0,(t.clientX-r.left-8)/i)),o=e.min+a*(e.max-e.min);l(Math.round((o-e.min)/e.step)*e.step+e.min)};Mn(()=>{let e=s;if(!e)return;let t=t=>{e.hasPointerCapture(t.pointerId)&&u(t,e)};return e.addEventListener(`pointermove`,t),()=>e.removeEventListener(`pointermove`,t)});var d=X(`div`,{class:`msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),f=X(`span`,{class:`msr:text-[11px] msr:font-medium msr:text-ink-700`});return Z(d,f),Q(f,()=>e.label),Q(d,Y(_h,{variant:`legacy`,get left(){var t=X(`div`,{class:`msr:relative msr:min-w-0 msr:flex-1 msr:touch-none msr:select-none msr:px-2`,style:{height:`20px`},"data-slider-container":`true`,onPointerDown:e=>{e.stopPropagation(),hu(e.currentTarget,e.pointerId),u(e,e.currentTarget)},onPointerUp:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)},onPointerCancel:e=>{e.stopPropagation(),e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}}),n=X(`div`,{class:`msr:absolute msr:left-[8px] msr:right-[8px] msr:rounded-full`,style:{top:`8px`,height:`4px`,"background-color":`var(--msr-slider-track, rgba(15, 23, 42, 0.16))`}}),r=X(`div`,{class:`msr:absolute msr:left-[8px] msr:rounded-full`}),i=X(`div`,{class:`msr:absolute msr:rounded-[5px] msr:bg-white msr:shadow-sm msr:outline-none msr:focus-visible:ring-1 msr:focus-visible:ring-[#0d99ff]/25`,"data-slider-thumb":`true`,role:`slider`,tabindex:0,onKeyDown:t=>{let n=t.key===`ArrowRight`||t.key===`ArrowUp`?1:t.key===`ArrowLeft`||t.key===`ArrowDown`?-1:0;if(t.key===`Home`)l(e.min);else if(t.key===`End`)l(e.max);else if(n)l(e.value+n*e.step);else return;t.preventDefault(),t.stopPropagation()}});return Z(t,n),Z(t,r),Z(t,i),ic(()=>e=>{s=e},t),J(()=>({e:{top:`8px`,width:`calc(${c()}% - ${c()*.16}px)`,height:`4px`,"background-color":`var(--msr-accent, #0d99ff)`},t:{"background-color":`var(--msr-control-thumb, #fff)`,left:`calc(8px + (100% - 16px) * ${c()/100})`,top:`4px`,width:`12px`,height:`12px`,transform:`translateX(-50%)`},a:e.label,o:e.min,i:e.max,n:e.value}),({e,t,a:n,o:a,i:o,n:s},c)=>{e!==c?.e&&$(r,`style`,e,c?.e),t!==c?.t&&$(i,`style`,t,c?.t),n!==c?.a&&$(i,`aria-label`,n,c?.a),a!==c?.o&&$(i,`aria-valuemin`,a,c?.o),o!==c?.i&&$(i,`aria-valuemax`,o,c?.i),s!==c?.n&&$(i,`aria-valuenow`,s,c?.n)}),t},get right(){var s=X(`input`,{type:`text`,class:`msr:h-full msr:w-full msr:border-0 msr:bg-transparent msr:px-2 msr:text-center msr:font-mono msr:text-[12px] msr:font-medium msr:tabular-nums msr:text-ink-700 msr:outline-none`,style:{"box-sizing":`border-box`,"border-radius":`0 5px 5px 0`,"line-height":`1rem`},onFocus:()=>{o(t(e.value)),i(!0)},onInput:e=>{o(e.currentTarget.value);let t=n(e.currentTarget.value);Number.isFinite(t)&&l(t)},onBlur:()=>{let e=n(a());Number.isFinite(e)&&l(e),i(!1)},onPointerDown:e=>e.stopPropagation(),onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&e.currentTarget.blur()}});return J(()=>({e:`${e.label} value`,t:r()?a():t(e.value)}),({e,t},n)=>{e!==n?.e&&$(s,`aria-label`,e,n?.e),t!==n?.t&&$(s,`value`,t,n?.t)}),s}}),null),d}function gg(e){let t=Sl(e.ownerWindow),[n,r]=K(!1),[i,a]=K([]),o=Ih(),s=()=>o?.plugins()??[],c=()=>o?.version()??`0.1.0`,l=()=>{e.onResetSettings(),o?.reset()},u=t=>e.model.setTransient({settingsTab:t}),d=()=>e.model.state.settings,f=t=>e.model.updateSettings({guideStyle:{...e.model.current.settings.guideStyle,...t}}),p=t=>e.onSelectionSpacingStyleChange(t),m=t=>{let n=e.model.current.settings.colorPickerFormats,r=n.includes(t)?n.filter(e=>e!==t):[...n,t];e.model.updateSettings({colorPickerFormats:r.length?r:[`hex`]})},h=[[`guides`,`Guides`],[`select`,`Select`],[`color-picker`,`Color`],[`rulers`,`Rulers`],[`general`,`General`]];var g=X(`div`,{class:`msr:flex msr:max-h-[min(70vh,34rem)] msr:flex-col msr:gap-2 msr:overflow-y-auto`,onPointerDown:e=>e.stopPropagation()}),_=X(`div`,{class:`mesurer-settings-tabs msr:flex msr:h-6 msr:shrink-0 msr:select-none msr:items-stretch msr:gap-0 msr:rounded-[5px] msr:bg-ink-50 msr:p-px`,role:`tablist`,"aria-label":`Settings sections`});return Z(g,_),Q(_,Y(go,{each:h,children:([t,n])=>(()=>{var r=X(`button`,{type:`button`,role:`tab`,onClick:()=>u(t)});return Q(r,n),J(()=>({e:e.model.state.settingsTab===t?`true`:`false`,t:`mesurer-settings-tab msr:relative msr:flex msr:min-w-0 msr:flex-1 msr:appearance-none msr:items-center msr:justify-center msr:whitespace-nowrap msr:px-1.5 msr:py-0 msr:text-[10px] msr:font-medium msr:transition-colors msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] msr:rounded-[5px] ${e.model.state.settingsTab===t?`msr:bg-white msr:text-ink-900`:`msr:text-ink-500 msr:hover:text-ink-700`}`}),({e,t},n)=>{e!==n?.e&&$(r,`aria-selected`,e,n?.e),t!==n?.t&&$(r,`class`,t,n?.t)}),r})()})),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`guides`},get children(){var n=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Guide settings`}),r=X(`div`,{class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),i=X(`span`,{class:`msr:text-[12px] msr:text-ink-700`}),a=X(`div`,{class:`msr:flex msr:gap-1`,role:`radiogroup`,"aria-label":`Guide pattern`});return Z(n,r),Q(n,Y(vh,{variant:`legacy`,label:`Color`,get value(){return d().guideColor},fallback:`#f97316`,get ownerWindow(){return e.ownerWindow},onChange:t=>e.model.updateSettings({guideColor:t})}),r),Q(n,Y(hg,{label:`Weight`,min:1,max:4,step:1,get value(){return d().guideStyle.width},formatValue:e=>`${e}px`,parseInput:e=>Number.parseFloat(e),onChange:e=>f({width:e})}),r),Z(r,i),Z(r,a),Z(i,ec(`Pattern`)),Q(a,Y(go,{each:fg,children:({value:e,label:n})=>{let r=()=>d().guideStyle.pattern===e,i=`guide-pattern-${e}`;var a=X(`button`,{type:`button`,role:`radio`,"aria-label":`${n} guide pattern`,onClick:()=>f({pattern:e}),onMouseEnter:()=>t.onTooltipEnter(i),onFocus:()=>t.onTooltipEnter(i)});return Z(a,X(`span`,{"aria-hidden":`true`,class:`msr:block msr:w-full msr:border-t-2 msr:border-ink-700 ${e===`dashed`?`msr:border-dashed`:e===`dotted`?`msr:border-dotted`:`msr:border-solid`}`})),Q(a,Y(xl,{label:n,get visible(){return t.visibleTooltipId()===i},get instant(){return t.tooltipInstant()},class:`msr:z-10`}),null),J(()=>({e:r()?`true`:`false`,t:`msr:relative msr:flex msr:h-6 msr:min-w-0 msr:flex-1 msr:items-center msr:justify-center msr:rounded-[5px] msr:border msr:px-1 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] ${r()?`msr:border-[#0d99ff] msr:bg-[#0d99ff]/10`:`msr:border-ink-200 msr:bg-ink-50 msr:hover:bg-ink-100`}`,a:t.onTooltipLeave}),({e,t,a:n},r)=>{e!==r?.e&&$(a,`aria-checked`,e,r?.e),t!==r?.t&&$(a,`class`,t,r?.t),n!==r?.a&&$(a,`onBlur`,n,r?.a)}),a}})),Q(n,Y(q,{get when(){return d().guideStyle.pattern!==`solid`},get children(){return[Y(hg,{label:`Length`,min:2,max:24,step:1,get value(){return d().guideStyle.dashLength},formatValue:e=>`${e}px`,onChange:e=>f({dashLength:e})}),Y(hg,{label:`Gap`,min:0,max:24,step:1,get value(){return d().guideStyle.gap},formatValue:e=>`${e}px`,onChange:e=>f({gap:e})})]}}),null),Q(n,Y(pg,{label:`Snap`,get checked(){return d().snapGuidesEnabled},onChange:t=>e.model.updateSettings({snapGuidesEnabled:t})}),null),Q(n,Y(pg,{label:`Highlight`,get checked(){return d().selectNewGuideEnabled},onChange:t=>e.model.updateSettings({selectNewGuideEnabled:t})}),null),J(()=>t.onTooltipContainerLeave,(e,t)=>{$(a,`onMouseLeave`,e,t)}),n}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`select`},get children(){var n=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Selection settings`}),r=X(`div`,{"data-mesurer-distance":`true`,class:`msr:col-span-2 msr:mt-1 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1 msr:border-t msr:border-ink-100 msr:pt-2`}),i=X(`div`,{class:`msr:col-span-2 msr:text-[10px] msr:font-semibold msr:text-ink-500`}),a=X(`div`,{class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),o=X(`span`,{class:`msr:text-[12px] msr:text-ink-700`}),s=X(`div`,{class:`msr:flex msr:gap-1`,role:`radiogroup`,"aria-label":`Selection spacing pattern`});return Z(n,r),Q(n,Y(vh,{variant:`legacy`,label:`Color`,get value(){return d().highlightColor},fallback:`#0d99ff`,get ownerWindow(){return e.ownerWindow},onChange:t=>e.model.updateSettings({highlightColor:t})}),r),Q(n,Y(pg,{label:`Hover`,get checked(){return d().hoverHighlightEnabled},onChange:t=>e.model.updateSettings({hoverHighlightEnabled:t})}),r),Q(n,Y(pg,{label:`Element snap`,get checked(){return d().snapEnabled},onChange:t=>e.model.updateSettings({snapEnabled:t})}),r),Q(n,Y(pg,{label:`Stack`,get checked(){return d().multiMeasureEnabled},onChange:t=>e.model.updateSettings({multiMeasureEnabled:t})}),r),Z(r,i),Z(r,a),Z(i,ec(`Selection spacing`)),Q(r,Y(pg,{label:`Show`,get checked(){return e.selectionSpacingStyle.enabled},onChange:e=>p({enabled:e})}),a),Q(r,Y(pg,{label:`Diagonals`,get checked(){return e.selectionSpacingStyle.diagonals},onChange:e=>p({diagonals:e})}),a),Q(r,Y(vh,{variant:`legacy`,label:`Line color`,get value(){return e.selectionSpacingStyle.color},fallback:`#2563eb`,get ownerWindow(){return e.ownerWindow},onChange:e=>p({color:e})}),a),Q(r,Y(hg,{label:`Weight`,min:1,max:4,step:1,get value(){return e.selectionSpacingStyle.width},formatValue:e=>`${e}px`,parseInput:e=>Number.parseFloat(e),onChange:e=>p({width:e})}),a),Z(a,o),Z(a,s),Z(o,ec(`Pattern`)),Q(s,Y(go,{each:fg,children:({value:n,label:r})=>{let i=()=>e.selectionSpacingStyle.pattern===n,a=`spacing-pattern-${n}`;var o=X(`button`,{type:`button`,role:`radio`,"aria-label":`${r} spacing pattern`,onClick:()=>p({pattern:n}),onMouseEnter:()=>t.onTooltipEnter(a),onFocus:()=>t.onTooltipEnter(a)});return Z(o,X(`span`,{"aria-hidden":`true`,class:`msr:block msr:w-full msr:border-t-2 msr:border-ink-700 ${n===`dashed`?`msr:border-dashed`:n===`dotted`?`msr:border-dotted`:`msr:border-solid`}`})),Q(o,Y(xl,{label:r,get visible(){return t.visibleTooltipId()===a},get instant(){return t.tooltipInstant()},class:`msr:z-10`}),null),J(()=>({e:i()?`true`:`false`,t:`msr:relative msr:flex msr:h-6 msr:min-w-0 msr:flex-1 msr:items-center msr:justify-center msr:rounded-[5px] msr:border msr:px-1 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] ${i()?`msr:border-[#0d99ff] msr:bg-[#0d99ff]/10`:`msr:border-ink-200 msr:bg-ink-50 msr:hover:bg-ink-100`}`,a:t.onTooltipLeave}),({e,t,a:n},r)=>{e!==r?.e&&$(o,`aria-checked`,e,r?.e),t!==r?.t&&$(o,`class`,t,r?.t),n!==r?.a&&$(o,`onBlur`,n,r?.a)}),o}})),Q(r,Y(q,{get when(){return e.selectionSpacingStyle.pattern!==`solid`},get children(){return[Y(hg,{label:`Length`,min:2,max:24,step:1,get value(){return e.selectionSpacingStyle.dashLength},formatValue:e=>`${e}px`,onChange:e=>p({dashLength:e})}),Y(hg,{label:`Gap`,min:0,max:24,step:1,get value(){return e.selectionSpacingStyle.gap},formatValue:e=>`${e}px`,onChange:e=>p({gap:e})})]}}),null),J(()=>t.onTooltipContainerLeave,(e,t)=>{$(s,`onMouseLeave`,e,t)}),n}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`color-picker`},get children(){var t=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Color settings`}),n=X(`div`,{class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-3`}),r=X(`span`,{class:`msr:text-[12px] msr:text-ink-700`}),i=X(`div`,{class:`msr:flex msr:min-w-0 msr:gap-1`}),a=X(`label`,{class:`msr:col-span-2 msr:flex msr:items-center msr:justify-between msr:gap-3 msr:text-[12px] msr:text-ink-700`}),o=ec(`Copy`),s=X(`select`,{class:`msr:rounded-[5px] msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:py-1 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_#0d99ff]`,onChange:t=>{let n=t.currentTarget.value;ug(n)&&e.model.updateSettings({colorPickerClickFormat:n})}});return Z(t,n),Z(t,a),Z(n,r),Z(n,i),Z(r,ec(`Format`)),Q(i,Y(go,{each:lg,children:e=>(()=>{var t=X(`button`,{type:`button`,onClick:()=>m(e)});return Q(t,e),J(()=>({e:d().colorPickerFormats.includes(e)?`true`:`false`,t:`msr:h-6 msr:min-w-0 msr:flex-1 msr:rounded-[5px] msr:border msr:px-1 msr:text-[11px] msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff] ${d().colorPickerFormats.includes(e)?`msr:border-[#0d99ff] msr:bg-[#0d99ff] msr:text-white`:`msr:border-ink-200 msr:text-ink-500 msr:hover:bg-ink-50`}`}),({e,t:n},r)=>{e!==r?.e&&$(t,`aria-pressed`,e,r?.e),n!==r?.t&&$(t,`class`,n,r?.t)}),t})()})),Z(a,o),Z(a,s),Q(s,Y(go,{each:lg,children:e=>(()=>{var t=X(`option`,{value:e});return Q(t,e),t})()})),J(()=>d().colorPickerClickFormat,(e,t)=>{$(s,`value`,e,t)}),t}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`rulers`},get children(){var t=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`Ruler settings`});return Q(t,Y(hg,{label:`Opacity`,min:.2,max:1,step:.05,get value(){return d().rulerSettings.opacity},formatValue:e=>`${Math.round(e*100)}%`,parseInput:e=>Number.parseFloat(e)/100,onChange:t=>e.model.updateSettings({rulerSettings:{...e.model.current.settings.rulerSettings,opacity:t}})}),null),Q(t,Y(pg,{label:`Edge reveal`,get checked(){return d().rulerSettings.edgeReveal},onChange:t=>e.model.updateSettings({rulerSettings:{...e.model.current.settings.rulerSettings,edgeReveal:t}})}),null),t}}),null),Q(g,Y(q,{get when(){return e.model.state.settingsTab===`general`},get children(){var t=X(`section`,{class:`msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,"aria-label":`General settings`}),u=X(`div`,{class:`msr:col-span-2 msr:grid msr:h-6 msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700`}),f=X(`span`),p=X(`select`,{"aria-label":`Appearance`,class:`mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-[5px] msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]`,onChange:t=>{let n=t.currentTarget.value;dg(n)&&e.model.updateSettings({theme:n})}}),m=X(`option`,{value:`system`}),h=X(`option`,{value:`light`}),g=X(`option`,{value:`dark`}),_=X(`div`,{class:`msr:col-span-2 msr:grid msr:h-6 msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700`}),v=X(`span`),y=X(`span`,{class:`msr:justify-self-end msr:font-mono msr:text-[11px] msr:tabular-nums msr:text-ink-700`}),b=X(`div`,{class:`msr:col-span-2 msr:flex msr:justify-end msr:gap-1`}),x=X(`button`,{type:`button`,"aria-label":`Reset settings to defaults`,class:`msr:rounded-[5px] msr:border msr:border-ink-200 msr:px-2 msr:py-1 msr:text-[11px] msr:text-ink-700 msr:hover:bg-ink-50 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff]`,onClick:l}),S=X(`button`,{type:`button`,"aria-label":`Clear workspace`,class:`msr:rounded-[5px] msr:border msr:border-red-200 msr:px-2 msr:py-1 msr:text-[11px] msr:text-red-600 msr:hover:bg-red-50 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#ef4444]`,onClick:()=>e.onClearWorkspace()});return Z(t,u),Z(t,_),Z(t,b),Q(t,Y(pg,{label:`Persist`,get checked(){return d().persistOnReload},onChange:t=>e.model.updateSettings({persistOnReload:t})}),u),Q(t,Y(pg,{label:`Shortcuts`,get checked(){return d().shortcutsEnabled},onChange:t=>e.model.updateSettings({shortcutsEnabled:t})}),u),Z(u,f),Z(u,p),Z(f,ec(`Appearance`)),Z(p,m),Z(p,h),Z(p,g),Z(m,ec(`System`)),Z(h,ec(`Light`)),Z(g,ec(`Dark`)),Q(t,Y(q,{get when(){return s().length>0},get children(){var e=X(`div`,{class:`msr:col-span-2 msr:mt-1 msr:rounded-[6px] msr:bg-ink-50/40`,"data-mesurer-plugin-settings":`true`,style:{overflow:`clip`}}),t=X(`button`,{type:`button`,"data-mesurer-plugin-settings-disclosure":`plugins`,class:`msr:flex msr:h-7 msr:w-full msr:items-center msr:gap-1 msr:px-2 msr:text-left msr:text-[11px] msr:font-medium msr:text-ink-700 msr:hover:bg-ink-50`,onClick:()=>r(e=>!e)}),c=X(`span`,{class:`msr:flex-1`}),l=X(`span`,{class:`msr:text-[10px] msr:font-normal msr:text-ink-400`});return Z(e,t),Z(t,c),Z(t,l),Z(c,ec(`Plugins`)),Q(l,()=>s().length),Q(t,Y(Wh,{size:10,get class(){return n()?`msr:rotate-180`:``}}),null),Q(e,Y(q,{get when(){return n()},get children(){var e=X(`div`,{class:`msr:flex msr:flex-col`,"data-mesurer-plugin-settings-list":`true`});return Q(e,Y(go,{get each(){return s()},children:e=>{let t=()=>i().includes(e.id),n=()=>e.enabled&&e.sections.length>0,r=()=>{n()&&a(t=>t.includes(e.id)?t.filter(t=>t!==e.id):[...t,e.id])},s=t=>{o?.setEnabled(e.id,t)};var c=X(`div`,{class:`msr:relative`}),l=X(`div`,{class:`msr:grid msr:h-7 msr:w-full msr:grid-cols-[minmax(0,1fr)_28px_34px] msr:items-center msr:hover:bg-ink-50`}),u=X(`button`,{type:`button`,role:`switch`,class:`msr:col-start-3 msr:flex msr:h-full msr:w-full msr:items-center msr:justify-end msr:disabled:opacity-45 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff]`,onClick:()=>s(!e.enabled)}),d=X(`span`,{"aria-hidden":`true`}),f=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(c,l),Z(l,u),Q(l,Y(q,{get when(){return n()},get fallback(){var t=X(`span`,{class:`msr:col-start-1 msr:col-end-3 msr:ml-2 msr:min-w-0 msr:truncate msr:whitespace-nowrap msr:pr-2 msr:text-[11px] msr:text-ink-600`});return Q(t,()=>e.label),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-label`,e,n)}),t},get children(){var n=X(`button`,{type:`button`,class:`msr:col-start-1 msr:col-end-3 msr:flex msr:h-full msr:min-w-0 msr:items-center msr:text-left msr:text-ink-600 msr:hover:text-ink-700 msr:focus-visible:outline-none msr:focus-visible:shadow-[inset_0_0_0_1px_#0d99ff]`,onClick:r}),i=X(`span`,{class:`msr:ml-2 msr:min-w-0 msr:flex-1 msr:truncate msr:whitespace-nowrap msr:pr-2 msr:text-[11px]`}),a=X(`span`,{class:`msr:flex msr:size-7 msr:shrink-0 msr:items-center msr:justify-center msr:text-ink-500`});return Z(n,i),Z(n,a),Q(i,()=>e.label),Q(a,Y(Wh,{size:9,get class(){return t()?`msr:rotate-180`:``}})),J(()=>({e:`${e.label} settings`,t:e.id,a:t()?`true`:`false`,o:e.id}),({e,t,a:r,o:a},o)=>{e!==o?.e&&$(n,`aria-label`,e,o?.e),t!==o?.t&&$(n,`data-mesurer-plugin-settings-disclosure`,t,o?.t),r!==o?.a&&$(n,`aria-expanded`,r,o?.a),a!==o?.o&&$(i,`data-mesurer-plugin-label`,a,o?.o)}),n}}),u),Z(u,d),Z(d,f),Q(c,Y(q,{get when(){return e.description||e.error},get children(){var t=X(`div`,{class:`msr:bg-white/60 msr:px-2 msr:pb-1.5 msr:pt-0.5`});return Q(t,Y(q,{get when(){return e.description},get children(){var t=X(`p`,{class:`msr:m-0 msr:text-[10px] msr:leading-4 msr:text-ink-500`});return Q(t,()=>e.description),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-description`,e,n)}),t}}),null),Q(t,Y(q,{get when(){return e.error},get children(){var t=X(`p`,{class:`msr:m-0 msr:text-[10px] msr:leading-4 msr:text-ink-700`,role:`status`});return Q(t,()=>e.error),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-error`,e,n)}),t}}),null),t}}),null),Q(c,Y(q,{get when(){return $s(()=>!!n())()?t():n()},get children(){var t=X(`div`,{class:`msr:flex msr:flex-col msr:gap-0.5 msr:bg-white/60 msr:py-1`});return Q(t,Y(go,{get each(){return e.sections},children:e=>Y(go,{get each(){return e.controls??[]},children:t=>Y(mg,{get label(){return t.label},get checked(){return t.value()},get disabled(){return t.disabled?.()??!1},onChange:n=>o?.update(e.id,t,n)})})})),J(()=>e.id,(e,n)=>{$(t,`data-mesurer-plugin-settings-controls`,e,n)}),t}}),null),J(()=>({e:e.id,t:e.label,a:e.enabled?`true`:`false`,o:e.busy,i:e.id,n:e.enabled?`true`:void 0,s:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.enabled?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,h:{transform:`translateX(${e.enabled?12:0}px)`}}),({e,t,a:n,o:r,i,n:a,s:o,h:s},l)=>{e!==l?.e&&$(c,`data-mesurer-plugin-settings-section`,e,l?.e),t!==l?.t&&$(u,`aria-label`,t,l?.t),n!==l?.a&&$(u,`aria-checked`,n,l?.a),r!==l?.o&&$(u,`disabled`,r,l?.o),i!==l?.i&&$(u,`data-mesurer-plugin-toggle`,i,l?.i),a!==l?.n&&$(d,`data-checked`,a,l?.n),o!==l?.s&&$(d,`class`,o,l?.s),s!==l?.h&&$(f,`style`,s,l?.h)}),c}})),e}}),null),J(()=>n()?`true`:`false`,(e,n)=>{$(t,`aria-expanded`,e,n)}),e}}),_),Z(_,v),Z(_,y),Z(v,ec(`Version`)),Q(y,c),Z(b,x),Z(b,S),Z(x,ec(`Use defaults`)),Z(S,ec(`Clear workspace`)),J(()=>d().theme,(e,t)=>{$(p,`value`,e,t)}),t}}),null),g}var _g=272,vg=8,yg=4;function bg(e){var t=X(`button`,{type:`button`,role:`switch`,class:`msr:col-span-2 msr:grid msr:h-6 msr:w-full msr:appearance-none msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-left msr:text-[12px] msr:leading-none msr:text-ink-700 msr:disabled:opacity-45`,onClick:()=>e.onChange(!e.checked)}),n=X(`span`,{class:`msr:whitespace-nowrap`}),r=X(`span`,{"aria-hidden":`true`,style:{"justify-self":`end`}}),i=X(`span`,{class:`msr:block msr:size-[10px] msr:shrink-0 msr:rounded-full msr:bg-white msr:shadow-sm msr:transition-transform`});return Z(t,n),Z(t,r),Q(n,()=>e.label),Z(r,i),J(()=>({e:e.label,t:e.checked?`true`:`false`,a:e.disabled,o:e.id,i:e.checked?`true`:void 0,n:`mesurer-switch-track msr:flex msr:h-[14px] msr:w-[26px] msr:shrink-0 msr:items-center msr:rounded-full msr:border msr:p-px msr:transition-colors ${e.checked?`msr:border-[#0d99ff] msr:bg-[#0d99ff]`:`msr:border-ink-200 msr:bg-ink-50`}`,s:{transform:`translateX(${e.checked?12:0}px)`}}),({e,t:n,a,o,i:s,n:c,s:l},u)=>{e!==u?.e&&$(t,`aria-label`,e,u?.e),n!==u?.t&&$(t,`aria-checked`,n,u?.t),a!==u?.a&&$(t,`disabled`,a,u?.a),o!==u?.o&&$(t,`data-mesurer-presentation-setting`,o,u?.o),s!==u?.i&&$(r,`data-checked`,s,u?.i),c!==u?.n&&$(r,`class`,c,u?.n),l!==u?.s&&$(i,`style`,l,u?.s)}),t}function xg(e){let t=Ih(),[n,r]=K(null),i;Mn(()=>{let t=i,n=e.ownerWindow.document.defaultView??e.ownerWindow,a=n,o=a.MutationObserver;if(!t||!o)return;let s=t.closest(`[role='dialog'][aria-label='Settings']`),c=s?.parentElement??null,l=s?.closest(`[data-mesurer-toolbar='true']`)??null,u=0,d=()=>{if(u=0,!s?.isConnected||!c?.isConnected||l?.dataset.orientation===`vertical`)return;let e=n.innerWidth;if(e<=0)return;let t=s.getBoundingClientRect().width||_g,r=Math.min(t,Math.max(0,e-16)),i=c.getBoundingClientRect(),a=i.right+yg-r,o=Math.max(vg,e-vg-r),d=Math.min(o,Math.max(vg,a))-i.left,f=Number.parseFloat(s.style.left);(!Number.isFinite(f)||Math.abs(f-d)>.25)&&(s.style.left=`${d}px`,s.style.right=`auto`)},f=()=>{u||=n.requestAnimationFrame(d)},p=()=>{r(t.querySelector(`section[aria-label='General settings']`)),f()},m=new o(p);m.observe(t,{childList:!0,subtree:!0});let h=a.ResizeObserver,g=h?new h(f):null;return l&&g?.observe(l),c&&g?.observe(c),n.addEventListener(`resize`,f),p(),f(),()=>{m.disconnect(),g?.disconnect(),n.removeEventListener(`resize`,f),u&&n.cancelAnimationFrame(u)}});var a=X(`div`,{style:{display:`contents`}});return ic(()=>e=>{i=e},a),Q(a,Y(gg,e),null),Q(a,Y(q,{get when(){return n()},children:n=>Y(Xo,{get mount(){return n()},get children(){var n=X(`div`,{"data-mesurer-presentation-settings":`true`,class:`msr:col-span-2 msr:grid msr:grid-cols-[78px_156px] msr:items-center msr:gap-x-3 msr:gap-y-1`,style:{order:`-1`}}),r=X(`label`,{class:`msr:col-span-2 msr:grid msr:h-8 msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px]`}),i=X(`span`),a=X(`select`,{"aria-label":`Toolbar dock`,class:`msr:h-6 msr:rounded msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:text-[11px]`,onChange:t=>e.model.updateSettings({toolbarDock:t.currentTarget.value===`snap`?`snap`:`free`})}),o=X(`option`,{value:`free`}),s=X(`option`,{value:`snap`});return Z(n,r),Z(r,i),Z(r,a),Z(i,ec(`Dock`)),Z(a,o),Z(a,s),Z(o,ec(`Free`)),Z(s,ec(`Snap to edges`)),Q(n,Y(q,{get when(){return e.model.state.settings.toolbarDock===`snap`},get children(){return Y(bg,{id:`toolbar-auto-hide`,label:`Auto-hide`,get checked(){return e.model.state.settings.toolbarAutoHide},onChange:t=>e.model.updateSettings({toolbarAutoHide:t})})}}),null),Q(n,Y(go,{get each(){return t?.generalSections?.()??[]},children:e=>Y(go,{get each(){return e.controls??[]},children:n=>Y(bg,{get id(){return n.id},get label(){return n.label},get checked(){return n.value()},get disabled(){return n.disabled?.()??!1},onChange:r=>t?.update(e.id,n,r)})})}),null),J(()=>e.model.state.settings.toolbarDock,(e,t)=>{$(a,`value`,e,t)}),n}})}),null),a}function Sg(e){let t=()=>e.disabled?`msr:bg-transparent msr:text-ink-500 msr:opacity-80 msr:cursor-default`:`msr:bg-transparent msr:text-black msr:hover:bg-black/4`,n=()=>e.shortcutsEnabled?e.shortcut:void 0;var r=X(`div`,{class:`msr:relative`,onMouseEnter:()=>e.onTooltipEnter(e.id),onMouseLeave:()=>e.onTooltipLeave()}),i=X(`button`,{type:`button`,onClick:()=>e.onClick()});return Z(r,i),Q(i,()=>e.children),Q(r,Y(xl,{get label(){return e.label},get shortcut(){return n()},get visible(){return e.tooltipVisible},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),J(()=>({e:e.builtin,t:e.toolId,a:e.builtin,o:e.toolId,i:e.active?`true`:`false`,n:`${e.label}${n()?` (${n()})`:``}`,s:e.disabled??!1,h:`msr:flex msr:size-8 msr:select-none msr:items-center msr:justify-center msr:rounded-[8px] msr:outline-none ${e.active?`msr:bg-[#0d99ff] msr:text-white`:t()}`}),({e,t,a:n,o:a,i:o,n:s,s:c,h:l},u)=>{e!==u?.e&&$(r,`data-mesurer-builtin`,e,u?.e),t!==u?.t&&$(r,`data-mesurer-tool-id`,t,u?.t),n!==u?.a&&$(i,`data-mesurer-builtin`,n,u?.a),a!==u?.o&&$(i,`data-mesurer-tool-id`,a,u?.o),o!==u?.i&&$(i,`aria-pressed`,o,u?.i),s!==u?.n&&$(i,`aria-label`,s,u?.n),c!==u?.s&&$(i,`disabled`,c,u?.s),l!==u?.h&&$(i,`class`,l,u?.h)}),r}function Cg(e){var t=X(`div`,{"data-mesurer-toolbar-compact-item":`true`});return Q(t,()=>e.children),J(()=>({e:e.visible?`true`:`false`,t:e.visible?void 0:`true`,a:!e.visible||void 0,o:`msr:flex msr:min-w-0 msr:flex-none msr:transition-[max-width,opacity,transform,padding] msr:duration-150 msr:ease-[ease] msr:motion-reduce:transition-none ${e.visible?`msr:max-w-20 msr:px-0.5 msr:translate-x-0 msr:overflow-visible msr:opacity-100`:`msr:max-w-0 msr:px-0 msr:-translate-x-1 msr:overflow-hidden msr:opacity-0 msr:pointer-events-none`}`}),({e,t:n,a:r,o:i},a)=>{e!==a?.e&&$(t,`data-visible`,e,a?.e),n!==a?.t&&$(t,`aria-hidden`,n,a?.t),r!==a?.a&&$(t,`inert`,r,a?.a),i!==a?.o&&$(t,`class`,i,a?.o)}),t}function wg(e){let t=()=>e.visible??!0;var n=X(`div`,{"aria-hidden":`true`});return J(()=>({e:e.marker??`true`,t:`msr:self-stretch msr:flex-none msr:bg-black/10 msr:transition-[width,opacity] msr:duration-150 msr:ease-[ease] msr:motion-reduce:transition-none ${t()?`msr:w-px msr:opacity-100`:`msr:w-0 msr:opacity-0`}`}),({e,t},r)=>{e!==r?.e&&$(n,`data-mesurer-toolbar-divider`,e,r?.e),t!==r?.t&&$(n,`class`,t,r?.t)}),n}function Tg(e){let t=t=>e.shortcutsEnabled?t:void 0;var n=X(`div`,{class:`mesurer-toolbar-mode-switch msr:flex msr:flex-none msr:self-center msr:items-center msr:gap-[2px] msr:p-[2px]`,"data-mesurer-toolbar-mode-switch":`true`,role:`group`,"aria-label":`Toolbar mode`}),r=X(`span`,{class:`mesurer-toolbar-mode-switch-pill`,"aria-hidden":`true`}),i=X(`div`,{"data-mesurer-toolbar-mode-select-control":`true`,class:`msr:relative`,onMouseEnter:()=>e.onTooltipEnter(`toolbar-mode-select`),onMouseLeave:()=>e.onTooltipLeave()}),a=X(`button`,{type:`button`,"data-mesurer-toolbar-mode":`select`,class:`mesurer-toolbar-mode-button`}),o=X(`div`,{"data-mesurer-plugin-menu-root":`true`,"data-mesurer-toolbar-edit-control":`true`,class:`msr:relative msr:flex msr:items-stretch`}),s=X(`div`,{class:`msr:relative`,onMouseEnter:()=>e.onTooltipEnter(`toolbar-mode-edit`),onMouseLeave:()=>e.onTooltipLeave()}),c=X(`button`,{type:`button`,"data-mesurer-toolbar-mode":`edit`,class:`mesurer-toolbar-mode-button`});return Z(n,r),Z(n,i),Z(n,o),Z(i,a),Q(a,Y(zh,{size:20})),Q(i,Y(xl,{label:`Select`,get shortcut(){return t(`1`)},get visible(){return e.tooltipVisibleId===`toolbar-mode-select`},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),Z(o,s),Z(s,c),Q(c,Y(Bh,{size:20})),Q(s,Y(xl,{label:`Edit`,get shortcut(){return t(`2`)},get visible(){return $s(()=>!e.editDisabled)()&&e.tooltipVisibleId===`toolbar-mode-edit`},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),Q(o,Y(q,{get when(){return e.editOptionsAvailable},get children(){var t=X(`button`,{type:`button`,"aria-label":`Edit options`,"aria-haspopup":`menu`,onMouseEnter:()=>e.onTooltipEnter(`toolbar-mode-edit-options`),onMouseLeave:()=>e.onTooltipLeave(),onClick:t=>e.onEditOptions(t.currentTarget.parentElement??t.currentTarget)});return Q(t,Y(Wh,{size:8}),null),Q(t,Y(xl,{label:`Edit options`,get visible(){return $s(()=>!e.editDisabled)()&&e.tooltipVisibleId===`toolbar-mode-edit-options`},get instant(){return e.tooltipInstant},get side(){return e.tooltipSide}}),null),J(()=>({e:e.editToolId,t:e.editOptionsOpen?`true`:`false`,a:e.editDisabled,o:`msr:relative msr:flex msr:h-7 msr:w-4 msr:items-center msr:justify-center msr:self-center msr:rounded-[3px] msr:outline-none ${e.editOptionsOpen?`msr:bg-black/10 msr:text-black`:`msr:text-black msr:hover:bg-black/10`}`}),({e,t:n,a:r,o:i},a)=>{e!==a?.e&&$(t,`data-mesurer-tool-menu-trigger`,e,a?.e),n!==a?.t&&$(t,`aria-expanded`,n,a?.t),r!==a?.a&&$(t,`disabled`,r,a?.a),i!==a?.o&&$(t,`class`,i,a?.o)}),t}}),null),Q(o,()=>e.editOptions,null),J(()=>({e:e.value,t:e.compact?`true`:`false`,a:`Select mode${t(`1`)?` (1)`:``}`,o:t(`1`),i:e.value===`select`?`true`:`false`,n:e.onSelect,s:e.editToolId,h:e.editToolId,r:`Edit mode${t(`2`)?` (2)`:``}`,d:t(`2`),l:e.value===`edit`?`true`:`false`,u:e.editDisabled,c:e.onEdit}),({e,t,a:r,o:i,i:s,n:l,s:u,h:d,r:f,d:p,l:m,u:h,c:g},_)=>{e!==_?.e&&$(n,`data-value`,e,_?.e),t!==_?.t&&$(n,`data-compact`,t,_?.t),r!==_?.a&&$(a,`aria-label`,r,_?.a),i!==_?.o&&$(a,`aria-keyshortcuts`,i,_?.o),s!==_?.i&&$(a,`aria-pressed`,s,_?.i),l!==_?.n&&$(a,`onClick`,l,_?.n),u!==_?.s&&$(o,`data-mesurer-tool-menu-root`,u,_?.s),d!==_?.h&&$(c,`data-mesurer-tool-id`,d,_?.h),f!==_?.r&&$(c,`aria-label`,f,_?.r),p!==_?.d&&$(c,`aria-keyshortcuts`,p,_?.d),m!==_?.l&&$(c,`aria-pressed`,m,_?.l),h!==_?.u&&$(c,`disabled`,h,_?.u),g!==_?.c&&$(c,`onClick`,g,_?.c)}),n}function Eg(e){return Y(q,{get when(){return e.tool.icon},get fallback(){var t=X(`span`,{class:`msr:text-[12px] msr:font-semibold`});return Q(t,()=>e.tool.label.slice(0,1).toUpperCase()),t},children:e=>(()=>{var t=X(`svg`,{width:`20`,height:`20`,"aria-hidden":`true`});return Q(t,Y(go,{get each(){return e().paths},children:e=>X(`path`,{d:e,fill:`currentColor`})})),J(()=>e().viewBox??`0 0 24 24`,(e,n)=>{$(t,`viewBox`,e,n)}),t})()})}var Dg=6,Og=`input, textarea, select, [contenteditable], [data-slider-container], [role='menu'], [role='dialog']`,kg=176,Ag=224,jg=360,Mg=6.5,Ng=52,Pg=28,Fg=8,Ig=8,Lg=272,Rg=8,zg=72,Bg=360,Vg=352,Hg=8,Ug=260,Wg=14;function Gg(e){let[t,n]=K(e.initialPosition??{x:16,y:16}),[r,i]=K(e.initialPosition?.edge??null),[a,o]=K($t(()=>e.model.state.settings.toolbarDock===`snap`&&(e.initialPosition?.vertical??Qp(e.initialPosition?.edge??null)))),[s,c]=K(e.initialPosition?.align??`center`),l=e.initialPosition?.align??`center`,u=()=>e.model.state.settings.toolbarDock===`snap`,d=()=>{let n=Gp(e.ownerWindow),i=t(),a=fe();if(r()!==`top`||!n)return 0;let o=i.y-a.height-10;if(!(o<n.y+n.height&&o+a.height>n.y))return 0;let s=n.x+n.width-i.x;return i.x+s+a.width<=e.ownerWindow.innerWidth-8?s:n.x-(i.x+a.width)},f=()=>({width:e.ownerWindow.innerWidth,height:e.ownerWindow.innerHeight}),p=0,[m,h]=K(!1),g=()=>{e.ownerWindow.matchMedia(`(prefers-reduced-motion: reduce)`).matches||(e.ownerWindow.clearTimeout(p),h(!0),p=e.ownerWindow.setTimeout(()=>h(!1),378))},[_,v]=K(null),[y,b]=K(!1),[x,S]=K(!1),[C,w]=K(null),[T,E]=K(!1),[D,O]=K(null),[k,A]=K(0),[j,M]=K(`right`),[N,P]=K(!1),[F,I]=K(0),L=Sl(e.ownerWindow),R,z,B=null,V=!1,H,U,W,ee,te,ne,re=!1,ie=null,G=null,[ae,oe]=K(!1),se=0,ce=0,le=0,ue=0,de=()=>R?.ownerDocument.defaultView??e.ownerWindow,fe=()=>({width:R?.offsetWidth??0,height:R?.offsetHeight??0}),pe=e=>{let t=fe();return e===a()?t:{width:t.height,height:t.width}},me=(t,n=fe())=>Yp(e.ownerWindow,t,n,f(),u()&&r()?16:8),he=t=>e.onPositionChange?.({...t,edge:u()?r():null,align:l,vertical:a()}),ge=xm(),_e=null,ve=e=>{e!==a()&&(R&&(_e={capture:ge.captureToolbarTurn(R),vertical:e}),o(e),Ne())},ye=()=>{Ne(),_e&&R&&!e.ownerWindow.matchMedia(`(prefers-reduced-motion: reduce)`).matches&&ge.playToolbarTurn(R,_e.capture,_e.vertical),_e=null},be=()=>{if(!u()||y()||!R)return;let e=um({point:t(),size:fe(),viewport:f(),glued:r(),align:r()?l:void 0});l=e.align,c(l),i(e.side),ve(Qp(e.side)),n(me(om(e.side,l,fe(),f()))),ye()},xe=()=>(e.pluginTools??[]).some(e=>e.id===`recording`&&(e.active?.()??!1)),Se=()=>xe()?null:e.motion?.element()??null,Ce=null;po(Se,e=>{e!==Ce&&(Ce=e,v(null))});let we=(e,t)=>{de().queueMicrotask(()=>{t===ue&&(oe(e),Ne())})},Te=()=>{let e=de(),t=++ue;if(se&&=(e.clearTimeout(se),0),!Rp(e)){we(!1,t);return}se=e.setTimeout(()=>{se=0,t===ue&&we(Rp(de()),t)},100)},Ee=()=>e.model.state.toolMode===`select`,De=()=>e.model.state.xrayVisible,Oe=()=>e.model.state.colorPickerActive,ke=()=>e.model.state.rulersVisible,Ae=()=>e.model.state.toolMode===`text-inspector`||(e.typographyContextActive??!1),je=()=>e.model.state.toolMode===`guides`,Me=()=>e.model.state.settingsOpen,Pe=()=>(e.pluginTools??[]).find(e=>e.modeSwitch===!0&&e.toolbarMode===`edit`),Fe=()=>Pe()?.active?.()?`edit`:`select`,Ie=()=>(e.pluginTools??[]).filter(e=>e.toolbarMode===`select`&&!e.modeSwitch),Le=()=>(e.pluginTools??[]).filter(e=>e.toolbarMode===`edit`&&!e.modeSwitch),Re=()=>(e.pluginTools??[]).filter(e=>e.toolbarMode===`always`||e.toolbarMode===void 0),ze=e=>e.active?.()??!1,Be=()=>Re().some(ze),Ve=()=>Ie().some(ze),He=()=>Le().some(ze),Ue=()=>Fe()===`select`?De()||Oe()||Ae()||Ve():He(),We=()=>ke()||je(),Ge=e=>!N()||e,Ke=()=>Re().length>0&&(!N()||Ue()||We()||Be()),qe=()=>!N()||Ue()||We()||Be()||Me(),Je=()=>!T()&&!D()&&!e.model.state.settingsOpen,Ye=()=>T()||D()!==null||e.model.state.settingsOpen,Xe=gm({ownerWindow:e.ownerWindow,element:()=>R,enabled:()=>u()&&e.model.state.settings.toolbarAutoHide,edge:r,busy:()=>y()||Ye()||!!Se()||xe()||x()||Oe()||(e.pluginTools??[]).some(ze)||Ae()}),Ze=t=>e.isBuiltinActionDisabled?.(t)??!1,Qe=()=>e.ownerWindow.innerHeight||0,$e=()=>t().y<56,et=()=>Qe()>0&&t().y>Qe()-56,tt=()=>a()?t().x<e.ownerWindow.innerWidth/2?`right`:`left`:$e()&&!et()?`bottom`:`top`,nt=()=>{t();let e=U?.getBoundingClientRect();if(!e)return et()?`top`:`bottom`;let n=Math.max(0,Qe()-e.bottom-Rg),r=Math.max(0,e.top-Rg);return n>=zg||n>=r?`bottom`:`top`},rt=()=>{t();let e=R?.getBoundingClientRect();if(!e)return et()?`top`:`bottom`;let n=Math.max(0,Qe()-e.bottom-Rg),r=Math.max(0,e.top-Rg);return n>=Bg||n>=r?`bottom`:`top`},it=()=>{t(),N(),Me(),F();let n=(N()?R:H)?.getBoundingClientRect();if(!n)return 0;let r=e.ownerWindow.innerWidth||288,i=Math.min(Lg,Math.max(0,r-16)),a=n.right+4-i,o=Math.max(Rg,r-Rg-i);return Math.min(o,Math.max(Rg,a))-n.left},at=()=>{let n=t();N(),F();let r=R?.getBoundingClientRect(),i=r&&{left:u()?r.left:n.x,top:u()?r.top:n.y,right:(u()?r.left:n.x)+r.width,bottom:(u()?r.top:n.y)+r.height},o=e.ownerWindow.innerWidth||368,s=e.ownerWindow.innerHeight||276,c=Math.min(Vg,Math.max(0,o-16));if(!i)return{left:Rg,top:Rg,bottom:null,width:c,maxHeight:Math.max(0,s-16)};if(a()){let e=i.left<o/2,t=e?o-i.right-Hg-Rg:i.left-Hg-Rg,n=Math.min(c,Math.max(0,t));return{left:e?i.right+Hg:i.left-Hg-n,top:Math.min(Math.max(Rg,i.top),Math.max(Rg,s-Ug-Rg)),bottom:null,width:n,maxHeight:s-16}}let l=Math.min(Math.max(Rg,i.left),Math.max(Rg,o-Rg-c)),d=Math.max(0,s-i.bottom-Hg-Rg),f=Math.max(0,i.top-Hg-Rg);return d>=Ug||d>=f?{left:l,top:i.bottom+Hg,bottom:null,width:c,maxHeight:d}:{left:l,top:null,bottom:s-i.top+Hg,width:c,maxHeight:f}},ot=()=>{let t=at(),n=_();if(!n)return t;let r=Math.max(Rg,e.ownerWindow.innerWidth-t.width-Rg),i=Math.max(Rg,e.ownerWindow.innerHeight-Ug-Rg);return{...t,left:Math.min(r,Math.max(Rg,n.x)),top:Math.min(i,Math.max(Rg,n.y)),bottom:null,maxHeight:Math.max(0,e.ownerWindow.innerHeight-16)}},st=(t,n)=>{if(t.button!==0)return;let r=t.target;if(!(r instanceof e.ownerWindow.Element)||r.closest(`button, input, select, textarea, [role='slider']`)&&!r.closest(`button[aria-label="Motion preview"]`))return;let i=n.getBoundingClientRect(),a=t.clientX,o=t.clientY,s=t.pointerId,c=n.style.transform,l=n.style.willChange,u=0,d=!1,f=i.left,p=i.top;B?.(),V=!1;let m=()=>{u=0,n.style.transform=`translate3d(${f-i.left}px, ${p-i.top}px, 0)`},h=t=>{if(t.pointerId!==s)return;let r=t.clientX-a,c=t.clientY-o;if(!d&&Math.hypot(r,c)<Wg)return;d||(d=!0,b(!0),n.style.willChange=`transform`);let l=Math.max(Rg,e.ownerWindow.innerWidth-i.width-Rg),h=Math.max(Rg,e.ownerWindow.innerHeight-i.height-Rg);f=Math.min(l,Math.max(Rg,i.left+r)),p=Math.min(h,Math.max(Rg,i.top+c)),u||=e.ownerWindow.requestAnimationFrame(m)},g=t=>{u&&e.ownerWindow.cancelAnimationFrame(u),u=0,d&&t&&v({x:f,y:p}),n.style.transform=c,n.style.willChange=l,b(!1),e.ownerWindow.removeEventListener(`pointermove`,h),e.ownerWindow.removeEventListener(`pointerup`,_),e.ownerWindow.removeEventListener(`pointercancel`,_),B=null},_=e=>{e.pointerId===s&&(V=d,g(e.type===`pointerup`))};B=()=>g(!1),e.ownerWindow.addEventListener(`pointermove`,h),e.ownerWindow.addEventListener(`pointerup`,_),e.ownerWindow.addEventListener(`pointercancel`,_)},ct=()=>{let t=U?.getBoundingClientRect();if(!t)return;let n=t.right-kg,r=t.left+kg;if(n<Rg){M(`left`);return}if(r>e.ownerWindow.innerWidth-Rg){M(`right`);return}M(`right`)},lt=t=>{let n=(t.menu?.items??[]).reduce((t,n)=>{let r=e.model.state.settings.shortcutsEnabled&&n.shortcut?n.shortcut.length+2:0;return Math.max(t,n.label.length+r)},0);return Math.min(jg,Math.max(Ag,Math.ceil(n*Mg+Ng)))},ut=n=>{t(),F();let r=ne?.getBoundingClientRect(),i=e.ownerWindow.innerWidth||240,a=Qe(),o=Math.min(lt(n),Math.max(0,i-16));if(!r)return{side:et()?`top`:`bottom`,left:0,width:o,maxHeight:Math.max(0,a-16)};let s=(n.menu?.items.length??0)*Pg+Fg,c=Math.max(0,a-r.bottom-Rg-Ig),l=Math.max(0,r.top-Rg-Ig),u=c>=s||c>=l?`bottom`:`top`,d=u===`bottom`?c:l,f=r.right-o,p=Math.max(Rg,i-Rg-o);return{side:u,left:Math.min(p,Math.max(Rg,f))-r.left,width:o,maxHeight:d}},dt=(e,t)=>{if(D()===e){O(null),ne=void 0;return}ne=t,O(e)},ft=o=>{if(o.button!==0)return;let s=e.ownerWindow.Element,d=o.target;if(d instanceof s&&d.closest(Og))return;let p=e.ownerWindow.document.documentElement;ie===null&&(ie=p.style.userSelect,p.style.setProperty(`user-select`,`none`,`important`));let m=o.clientX,h=o.clientY;G?.();let v=t(),y=o.currentTarget,x=y.getBoundingClientRect(),S=y.style.transform,C=y.style.willChange,T=_()?null:z,D=T?.style.transform??``,k=!1,A=!1,j=0,M=v,N=o.pointerId,P=a()?{along:(h-x.top)/x.height,across:(m-x.left)/x.width}:{along:(m-x.left)/x.width,across:(h-x.top)/x.height},F=!1,I=!1,L={x:m,y:h},R=()=>{if(j=0,u()){n(M),ye();return}let e=`translate3d(${M.x-v.x}px, ${M.y-v.y}px, 0)`;y.style.transform=e,T&&(T.style.transform=e)},B=t=>{if(t.pointerId!==N)return;let n=t.clientX-m,o=t.clientY-h;if(!k){if(k=Math.abs(n)>Dg||Math.abs(o)>Dg,!k)return;E(!1),O(null),ne=void 0,y.style.willChange=`transform`,T&&(T.style.willChange=`transform`),b(!0),e.model.current.settingsOpen&&e.model.setTransient({settingsOpen:!1})}if(A=!0,L={x:t.clientX,y:t.clientY},u()){let e=hm({pointer:L,grab:P,glued:r(),upright:a(),pushed:F,latched:I,sizeFor:pe,viewport:f()});F=e.pushed,I=e.latched,i(e.side),ve(e.upright);let t=hm({pointer:L,grab:P,glued:e.side,upright:e.upright,pushed:F,latched:I,sizeFor:pe,viewport:f()});M=me(t.position);let n=Math.min(fe().width,fe().height);w(e.side?{side:e.side,align:am(e.side,M,fe(),f())}:pm(L,e.upright,{width:n,height:n},f()))}else M=Yp(e.ownerWindow,{x:v.x+n,y:v.y+o},{width:x.width,height:x.height},{width:e.ownerWindow.innerWidth,height:e.ownerWindow.innerHeight});j||=e.ownerWindow.requestAnimationFrame(R)},V=t=>{if(j&&e.ownerWindow.cancelAnimationFrame(j),j=0,w(null),y.style.transform=S,y.style.willChange=C,T&&(T.style.transform=D,T.style.willChange=``),A&&t){if(u()){let e=Math.min(fe().width,fe().height),t=r()?{side:r(),align:am(r(),M,fe(),f())}:pm(L,a(),{width:e,height:e},f());i(t.side),l=t.align,c(l),ve(Qp(t.side)),M=me(om(t.side,l,fe(),f())),g()}n(M),ye(),he(M)}b(!1),ie!==null&&(p.style.userSelect=ie,ie=null),e.ownerWindow.removeEventListener(`pointermove`,B),e.ownerWindow.removeEventListener(`pointerup`,H),e.ownerWindow.removeEventListener(`pointercancel`,H),G=null},H=e=>{e.pointerId===N&&(re=A,V(e.type===`pointerup`))};G=()=>V(!1),e.ownerWindow.addEventListener(`pointermove`,B),e.ownerWindow.addEventListener(`pointerup`,H),e.ownerWindow.addEventListener(`pointercancel`,H)},pt=t=>{e.model.setEnabled(!0),e.model.current.toolMode!==`guides`&&e.model.toggleToolMode(`guides`),e.model.setGuideOrientation(t,!0),E(!1)},mt=()=>{let t=!N();t&&(E(!1),O(null),e.model.current.settingsOpen&&e.model.setTransient({settingsOpen:!1})),ce&&e.ownerWindow.clearTimeout(ce),W&&(W.dataset.compactMotion=`true`),P(t),ce=e.ownerWindow.setTimeout(()=>{ce=0,W&&delete W.dataset.compactMotion,I(e=>e+1)},170)},ht=()=>{le&&e.ownerWindow.clearTimeout(le),W&&(W.dataset.modeMotion=`true`),le=e.ownerWindow.setTimeout(()=>{le=0,W&&delete W.dataset.modeMotion},170)},gt=()=>{let t=Pe();t?.active?.()&&(O(null),ht(),e.onPluginTool?.(t))},_t=()=>{let t=Pe();!t||t.disabled?.()||(E(!1),O(null),ht(),e.onPluginTool?.(t))},vt=t=>({shortcutsEnabled:e.model.state.settings.shortcutsEnabled,tooltipVisible:Je()&&L.visibleTooltipId()===t,tooltipInstant:L.tooltipInstant(),tooltipSide:tt(),onTooltipEnter:L.onTooltipEnter,onTooltipLeave:L.onTooltipLeave}),yt=t=>Y(q,{get when(){return D()===t.id},get children(){var n=X(`div`,{role:`menu`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),O(null))}});return Q(n,Y(go,{get each(){return t.menu?.items??[]},children:n=>(()=>{var r=X(`button`,{type:`button`,class:`msr:flex msr:h-7 msr:w-full msr:min-w-0 msr:shrink-0 msr:items-center msr:gap-2 msr:overflow-hidden msr:rounded-md msr:px-2 msr:text-left msr:text-[12px] msr:text-ink-700 msr:outline-none msr:whitespace-nowrap msr:hover:bg-[#0d99ff] msr:hover:text-white msr:focus-visible:bg-[#0d99ff] msr:focus-visible:text-white msr:disabled:opacity-40`,onClick:()=>{e.onPluginToolMenuItem?.(t,n),O(null)}}),i=X(`span`,{class:`msr:flex msr:w-3 msr:shrink-0 msr:justify-center`}),a=X(`span`,{class:`msr:min-w-0 msr:flex-1 msr:overflow-hidden msr:text-ellipsis msr:whitespace-nowrap`});return Z(r,i),Z(r,a),Q(i,Y(Gh,{size:12,get class(){return n.checked?.()?`msr:opacity-100`:`msr:opacity-0`}})),Q(a,()=>n.label),Q(r,Y(q,{get when(){return $s(()=>!!e.model.state.settings.shortcutsEnabled)()?n.shortcut:e.model.state.settings.shortcutsEnabled},get children(){var e=X(`span`,{class:`msr:shrink-0 msr:text-[10px] msr:opacity-60`});return Q(e,()=>n.shortcut),e}}),null),J(()=>({e:n.checked?`menuitemcheckbox`:`menuitem`,t:n.checked?n.checked()?`true`:`false`:void 0,a:n.id,o:n.disabled?.()??!1}),({e,t,a:n,o:i},a)=>{e!==a?.e&&$(r,`role`,e,a?.e),t!==a?.t&&$(r,`aria-checked`,t,a?.t),n!==a?.a&&$(r,`data-mesurer-tool-menu-item`,n,a?.a),i!==a?.o&&$(r,`disabled`,i,a?.o)}),r})()})),J(()=>({e:t.id,t:ut(t).side,a:`mesurer-menu-surface msr:absolute msr:z-[70] msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:flex msr:flex-col msr:gap-px msr:overflow-x-hidden msr:overflow-y-auto ${ut(t).side===`top`?`msr:bottom-full msr:mb-2`:`msr:top-full msr:mt-2`}`,o:{left:`${ut(t).left}px`,right:`auto`,width:`${ut(t).width}px`,"max-height":`${ut(t).maxHeight}px`},i:t.menu?.label??`${t.label} options`}),({e,t,a:r,o:i,i:a},o)=>{e!==o?.e&&$(n,`data-mesurer-tool-menu`,e,o?.e),t!==o?.t&&$(n,`data-mesurer-menu-side`,t,o?.t),r!==o?.a&&$(n,`class`,r,o?.a),i!==o?.o&&$(n,`style`,i,o?.o),a!==o?.i&&$(n,`aria-label`,a,o?.i)}),n}}),bt=t=>Y(Cg,{get visible(){return Ge(ze(t))},get children(){return Y(q,{get when(){return(t.menu?.items.length??0)>0},get fallback(){return Y(Sg,nc({get id(){return`plugin:${t.id}`},get toolId(){return t.id},get active(){return t.active?.()??!1},get disabled(){return t.disabled?.()??!1},get label(){return t.label},get shortcut(){return t.shortcut},onClick:()=>e.onPluginTool?.(t)},()=>vt(`plugin:${t.id}`),{get children(){return Y(Eg,{tool:t})}}))},get children(){var n=X(`div`,{"data-mesurer-plugin-menu-root":`true`,class:`msr:relative msr:flex msr:items-stretch`}),r=X(`button`,{type:`button`,onMouseEnter:()=>L.onTooltipEnter(`plugin-menu:${t.id}`),onClick:e=>dt(t.id,e.currentTarget.parentElement??e.currentTarget)});return Z(n,r),Q(n,Y(Sg,nc({get id(){return`plugin:${t.id}`},get toolId(){return t.id},get active(){return t.active?.()??!1},get disabled(){return t.disabled?.()??!1},get label(){return t.label},get shortcut(){return t.shortcut},onClick:()=>e.onPluginTool?.(t)},()=>vt(`plugin:${t.id}`),{get children(){return Y(Eg,{tool:t})}})),r),Q(r,Y(Wh,{size:8}),null),Q(r,Y(xl,{get label(){return`${t.label} options`},get visible(){return $s(()=>!!Je())()?L.visibleTooltipId()===`plugin-menu:${t.id}`:Je()},get instant(){return L.tooltipInstant()},get side(){return tt()}}),null),Q(n,()=>yt(t),null),J(()=>({e:t.id,t:t.id,a:`${t.label} options`,o:D()===t.id?`true`:`false`,i:`msr:relative msr:flex msr:h-8 msr:w-4 msr:items-center msr:justify-center msr:rounded-[6px] msr:outline-none msr:hover:bg-black/10 ${D()===t.id?`msr:bg-black/10 msr:text-black`:`msr:text-black`}`,n:L.onTooltipLeave}),({e,t,a:i,o:a,i:o,n:s},c)=>{e!==c?.e&&$(n,`data-mesurer-tool-menu-root`,e,c?.e),t!==c?.t&&$(r,`data-mesurer-tool-menu-trigger`,t,c?.t),i!==c?.a&&$(r,`aria-label`,i,c?.a),a!==c?.o&&$(r,`aria-expanded`,a,c?.o),o!==c?.i&&$(r,`class`,o,c?.i),s!==c?.n&&$(r,`onMouseLeave`,s,c?.n)}),n}})}});Mn(()=>{Te();let t=()=>Te(),n=t=>{let n=t.composedPath();T()&&U&&!n.includes(U)&&E(!1);let r=n.some(e=>e instanceof Element&&e.getAttribute(`data-mesurer-plugin-menu-root`)===`true`);D()&&!r&&O(null);let i=H&&n.includes(H)||n.some(e=>e instanceof Element&&e.getAttribute(`data-mesurer-toolbar-compact-settings`)===`true`);e.model.current.settingsOpen&&!i&&e.model.setTransient({settingsOpen:!1})},r=e=>{re&&=(e.preventDefault(),e.stopPropagation(),!1)},i=e=>{e.key!==`Escape`||!D()||(e.preventDefault(),e.stopPropagation(),O(null))},a=()=>{T()&&ct(),I(e=>e+1)},o=e.ownerWindow.document;return e.ownerWindow.addEventListener(`pointerdown`,n),e.ownerWindow.addEventListener(`focus`,t),e.ownerWindow.addEventListener(`pageshow`,t),e.ownerWindow.document.addEventListener(`visibilitychange`,t),o.addEventListener(`keydown`,i,!0),e.ownerWindow.addEventListener(`resize`,a),R?.addEventListener(`click`,r,!0),()=>{ue+=1,se&&=(de().clearTimeout(se),0),ce&&=(e.ownerWindow.clearTimeout(ce),0),le&&=(e.ownerWindow.clearTimeout(le),0),e.ownerWindow.removeEventListener(`pointerdown`,n),e.ownerWindow.removeEventListener(`focus`,t),e.ownerWindow.removeEventListener(`pageshow`,t),e.ownerWindow.document.removeEventListener(`visibilitychange`,t),o.removeEventListener(`keydown`,i,!0),e.ownerWindow.removeEventListener(`resize`,a),R?.removeEventListener(`click`,r,!0),G?.(),B?.(),ie!==null&&(e.ownerWindow.document.documentElement.style.userSelect=ie)}}),Mn(()=>{let t=W,n=ee,r=te;if(!t||!n||!r)return;let i=()=>{t.style.setProperty(`--msr-select-mode-w`,`${n.offsetWidth}px`),t.style.setProperty(`--msr-edit-mode-w`,`${r.offsetWidth}px`),t.style.setProperty(`--msr-select-mode-h`,`${n.offsetHeight}px`),t.style.setProperty(`--msr-edit-mode-h`,`${r.offsetHeight}px`)};i();let a=e.ownerWindow.ResizeObserver,o=0,s=a?new a(()=>{o||=e.ownerWindow.requestAnimationFrame(()=>{o=0,i()})}):null;s?.observe(n),s?.observe(r);let c=e.ownerWindow.requestAnimationFrame(()=>{t.dataset.ready=`true`,i()});return()=>{e.ownerWindow.cancelAnimationFrame(c),o&&e.ownerWindow.cancelAnimationFrame(o),s?.disconnect()}});let xt=$t(u);return po(u,e=>{e!==xt&&(xt=e,$t(()=>{e?be():(i(null),ve(!1),n(me(t())),ye(),he(t()))}))}),po(()=>[Xe.tucked(),m(),a()],()=>{let t=0,n=e.ownerWindow.performance.now()+400,r=()=>{I(e=>e+1),e.ownerWindow.performance.now()<n&&(t=e.ownerWindow.requestAnimationFrame(r))};return t=e.ownerWindow.requestAnimationFrame(r),()=>e.ownerWindow.cancelAnimationFrame(t)}),Mn(()=>{let n=0,r=0,i=()=>{!u()||y()||(be(),e.ownerWindow.clearTimeout(n),n=e.ownerWindow.setTimeout(()=>he(t()),300))},a=()=>{r||=e.ownerWindow.requestAnimationFrame(()=>{r=0,i()})},o=e.ownerWindow,s=o.ResizeObserver?new o.ResizeObserver(a):null;return R&&s?.observe(R),e.ownerWindow.addEventListener(`resize`,a),i(),()=>{s?.disconnect(),e.ownerWindow.removeEventListener(`resize`,a),r&&e.ownerWindow.cancelAnimationFrame(r),e.ownerWindow.clearTimeout(n),e.ownerWindow.clearTimeout(p),ge.cancel()}}),Mn(()=>{let t=R;if(!t)return;let n=0,r=0,i=new Map,o=()=>{n=0;for(let[e,n]of i)if(!(e.isConnected&&t.contains(e))){for(let[t,r]of n)r?e.style.setProperty(t,r):e.style.removeProperty(t);i.delete(e)}if(a()){let n=t.getBoundingClientRect(),r=n.left<e.ownerWindow.innerWidth/2;for(let a of t.querySelectorAll(`[role='menu'], [role='dialog']`)){let t=a.parentElement?.getBoundingClientRect();if(!t)continue;let o=a.getBoundingClientRect(),s=o.width,c=i.get(a)?.get(`width`);if(c!==void 0){let e=a.style.getPropertyValue(`width`);c?a.style.setProperty(`width`,c):a.style.removeProperty(`width`),s=a.getBoundingClientRect().width,e?a.style.setProperty(`width`,e):a.style.removeProperty(`width`)}let l=Math.min(s,Math.max(0,r?e.ownerWindow.innerWidth-n.right-16:n.left-16)),u=r?n.right+8:n.left-l-8,d=Math.max(8,Math.min(t.top,e.ownerWindow.innerHeight-o.height-8)),f=(e,t)=>{let n=i.get(a);n||(n=new Map,i.set(a,n)),n.has(e)||n.set(e,a.style.getPropertyValue(e)),a.style.getPropertyValue(e)!==t&&a.style.setProperty(e,t)};f(`position`,`absolute`),f(`left`,`${u-t.left}px`),f(`top`,`${d-t.top}px`),f(`bottom`,`auto`),f(`right`,`auto`),f(`margin`,`0`),f(`width`,`${l}px`),f(`max-height`,`${e.ownerWindow.innerHeight-16}px`)}}else if(i.size){for(let[e,t]of i)for(let[n,r]of t)r?e.style.setProperty(n,r):e.style.removeProperty(n);i.clear(),I(e=>e+1)}e.ownerWindow.performance.now()<r&&(n=e.ownerWindow.requestAnimationFrame(o))},s=()=>{r=e.ownerWindow.performance.now()+400,n||=e.ownerWindow.requestAnimationFrame(o)},c=e.ownerWindow,l=c.MutationObserver?new c.MutationObserver(s):null;l?.observe(t,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-orientation`,`data-tucked`,`data-dock-edge`]});let u=c.ResizeObserver?new c.ResizeObserver(s):null;return u?.observe(t),e.ownerWindow.addEventListener(`resize`,s),s(),()=>{l?.disconnect(),u?.disconnect(),e.ownerWindow.removeEventListener(`resize`,s),e.ownerWindow.cancelAnimationFrame(n)}}),Mn(()=>{let e=R?.closest(`[data-mesurer-root]`);if(!e)return;let t=`[data-mesurer-screenshot-preview], [data-mesurer-screenshot-viewer], [data-mesurer-recording-preview], [role='dialog']`,n=()=>S(Array.from(e.querySelectorAll(t)).some(e=>!R?.contains(e)&&e.getClientRects().length>0&&getComputedStyle(e).display!==`none`)),r=new MutationObserver(e=>{e.some(e=>e.type===`childList`||e.target instanceof Element&&e.target.matches(t))&&n()});return r.observe(e,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`hidden`,`aria-hidden`]}),n(),()=>r.disconnect()}),[Y(q,{get when(){return $s(()=>!!u())()?C():u()},get children(){return Y(go,{each:Xp,children:e=>Y(go,{get each(){return $s(()=>!!Qp(e))()?im.slice(0,1):im},children:t=>(()=>{var n=X(`div`,{class:`mesurer-toolbar-zone`});return J(()=>({e:C()?.side===e&&C()?.align===t?`true`:void 0,t:(()=>{let n=Math.min(fe().width,fe().height),r=om(e,t,{width:n,height:n},f()),i=me(r,{width:n,height:n});return{left:`${i.x}px`,top:`${i.y}px`,width:`${n}px`,height:`${n}px`}})()}),({e,t},r)=>{e!==r?.e&&$(n,`data-active`,e,r?.e),t!==r?.t&&$(n,`style`,t,r?.t)}),n})()})})}}),$s((()=>{let t=Se();if(!t)return null;let n=ot,r=t;var i=X(`div`,{"data-mesurer-motion-surface":`true`,"data-mesurer-inspector-ui":`true`,class:`msr:pointer-events-auto msr:absolute msr:z-[80] msr:overflow-visible`});return ic(()=>e=>{z=e,e.addEventListener(`pointerdown`,t=>st(t,e),!0),e.addEventListener(`click`,e=>{V&&(V=!1,e.preventDefault(),e.stopImmediatePropagation())},!0)},i),Q(i,Y(Nh,{element:r,get ownerWindow(){return r.ownerDocument.defaultView??e.ownerWindow},suspended:y}),null),Q(i,(()=>{var e=$s(()=>!!_());return()=>e()?(()=>{var e=X(`button`,{type:`button`,"data-mesurer-motion-reattach":`true`,"aria-label":`Attach Motion preview to toolbar`,title:`Attach to toolbar`,class:`msr:absolute msr:right-3 msr:top-3 msr:z-[3] msr:rounded msr:bg-white/85 msr:px-1.5 msr:py-0.5 msr:text-[10px] msr:text-ink-700 msr:hover:bg-white`,onClick:e=>{e.stopPropagation(),v(null)}});return Z(e,ec(`↗`)),e})():_()})(),null),J(()=>({e:_()?`true`:`false`,t:{left:`${n().left}px`,top:n().top===null?`auto`:`${n().top}px`,bottom:n().bottom===null?`auto`:`${n().bottom}px`,width:`${n().width}px`,"max-height":`${Math.max(0,n().maxHeight)}px`}}),({e,t},n)=>{e!==n?.e&&$(i,`data-mesurer-motion-detached`,e,n?.e),t!==n?.t&&$(i,`style`,t,n?.t)}),i})),(()=>{var n=X(`div`,{"data-mesurer-toolbar":`true`,"data-mesurer-inspector-ui":`true`,onPointerDown:t=>{t.stopPropagation(),e.model.setTransient({toolbarActive:!0}),ft(t)},onClick:e=>e.stopPropagation(),onMouseEnter:Te}),i=X(`div`,{class:`mesurer-toolbar-mode-stage`}),o=X(`div`,{class:`mesurer-toolbar-mode-track`}),c=X(`div`,{class:`mesurer-toolbar-mode-slot`,"data-mode":`select`}),l=X(`div`,{class:`mesurer-toolbar-mode-panel`}),f=X(`div`,{role:`group`,"aria-label":`Select tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`}),p=X(`div`,{class:`mesurer-toolbar-mode-slot`,"data-mode":`edit`}),h=X(`div`,{class:`mesurer-toolbar-mode-panel`}),g=X(`div`,{role:`group`,"aria-label":`Shared guide tools`,class:`msr:flex msr:items-stretch msr:py-1`}),_=X(`div`,{class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`}),v=X(`div`,{class:`msr:flex msr:items-center msr:p-1`}),y=X(`button`,{type:`button`,"data-mesurer-toolbar-compact-toggle":`true`,class:`msr:flex msr:size-7 msr:select-none msr:items-center msr:justify-center msr:rounded-[7px] msr:text-black msr:outline-none msr:hover:bg-black/4`,onClick:mt});return Z(n,i),Z(n,g),Z(n,_),Z(n,v),ic(()=>e=>{R=e},n),Q(n,Y(Tg,{get value(){return Fe()},get compact(){return N()},get editDisabled(){return!Pe()||(Pe()?.disabled?.()??!1)},get editToolId(){return Pe()?.id},get editOptionsAvailable(){return(Pe()?.menu?.items.length??0)>0},get editOptionsOpen(){return D()===Pe()?.id},get editOptions(){return $s(()=>!!Pe())()?yt(Pe()):null},get shortcutsEnabled(){return e.model.state.settings.shortcutsEnabled},get tooltipVisibleId(){return $s(()=>!!Je())()?L.visibleTooltipId():null},get tooltipInstant(){return L.tooltipInstant()},get tooltipSide(){return tt()},get onTooltipEnter(){return L.onTooltipEnter},get onTooltipLeave(){return L.onTooltipLeave},onSelect:gt,onEdit:_t,onEditOptions:e=>{let t=Pe();!t||t.disabled?.()||dt(t.id,e)}}),i),Q(n,Y(wg,{get visible(){return qe()},marker:`mode`}),i),Z(i,o),ic(()=>e=>{W=e},i),Z(o,c),Z(o,p),Z(c,l),Z(l,f),ic(()=>e=>{ee=e},l),Q(f,Y(Cg,{get visible(){return!N()},get children(){return Y(Sg,nc({id:`select`,builtin:`select`,get active(){return Ee()},label:`Select`,shortcut:`S`,onClick:()=>e.onBuiltinAction(`select`)},()=>vt(`select`),{get children(){return Y(Rh,{size:20})}}))}}),null),Q(f,Y(Cg,{get visible(){return Ge(De())},get children(){return Y(Sg,nc({id:`xray`,builtin:`xray`,get active(){return De()},label:`X-ray`,shortcut:`X`,onClick:()=>e.onBuiltinAction(`xray`)},()=>vt(`xray`),{get children(){return Y(Hh,{size:20})}}))}}),null),Q(f,Y(q,{get when(){return ae()},get children(){return Y(Cg,{get visible(){return Ge(Oe())},get children(){return Y(Sg,nc({id:`color-picker`,builtin:`color-picker`,get active(){return Oe()},get disabled(){return Ze(`color-picker`)},label:`Color picker`,shortcut:`P`,onClick:()=>e.onBuiltinAction(`color-picker`)},()=>vt(`color-picker`),{get children(){return Y(Jh,{size:20})}}))}})}}),null),Q(f,Y(Cg,{get visible(){return Ge(Ae())},get children(){return Y(Sg,nc({id:`text-inspector`,builtin:`text-inspector`,get active(){return Ae()},get disabled(){return Ze(`text-inspector`)},label:`Typography`,shortcut:`A`,onClick:()=>e.onBuiltinAction(`text-inspector`)},()=>vt(`text-inspector`),{get children(){return Y(qh,{size:20})}}))}}),null),Q(l,Y(q,{get when(){return Ie().length>0},get children(){return[Y(wg,{get visible(){return!N()||Ve()&&(De()||Oe()||Ae())},marker:`select-plugins`}),(()=>{var e=X(`div`,{role:`group`,"aria-label":`Select plugin tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`});return Q(e,Y(go,{get each(){return Ie()},children:e=>bt(e)})),e})()]}}),null),Z(p,h),ic(()=>e=>{te=e},h),Q(h,Y(q,{get when(){return Le().length>0},get children(){var e=X(`div`,{role:`group`,"aria-label":`Edit tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`});return Q(e,Y(go,{get each(){return Le()},children:e=>bt(e)})),e}})),Q(g,Y(Cg,{get visible(){return Ge(ke())},get children(){return Y(Sg,nc({id:`rulers`,builtin:`rulers`,get active(){return ke()},label:`Rulers`,shortcut:`R`,onClick:()=>e.onBuiltinAction(`rulers`)},()=>vt(`rulers`),{get children(){return Y(Uh,{size:20})}}))}}),null),Q(g,Y(Cg,{get visible(){return Ge(je())},get children(){return[Y(Sg,nc({id:`guides`,builtin:`guides`,get active(){return je()},get disabled(){return Ze(`guides`)},label:`Guides`,shortcut:`G`,onClick:()=>e.onBuiltinAction(`guides`)},()=>vt(`guides`),{get children(){return Y(Vh,{size:20,get class(){return e.model.state.guideOrientation===`vertical`?`msr:rotate-[135deg]`:`msr:rotate-[45deg]`}})}})),(()=>{var t=X(`div`,{"data-mesurer-builtin":`guides-menu`,class:`msr:group msr:relative msr:-ml-1 msr:flex msr:items-stretch`,onMouseEnter:()=>L.onTooltipEnter(`guide-menu`)}),n=X(`button`,{type:`button`,"aria-label":`Guide orientation menu`,"aria-haspopup":`menu`,onClick:()=>{E(t=>(t||(A(e.model.state.guideOrientation===`horizontal`?0:1),ct()),!t))}});return Z(t,n),ic(()=>e=>{U=e},t),Q(n,Y(Wh,{size:8})),Q(t,Y(xl,{label:`Orientation Guide`,get visible(){return $s(()=>!!Je())()?L.visibleTooltipId()===`guide-menu`:Je()},get instant(){return L.tooltipInstant()},get side(){return tt()}}),null),Q(t,Y(q,{get when(){return T()},get children(){var t=X(`div`,{role:`menu`,tabindex:0,onKeyDown:e=>{let t=e.key.toLowerCase();e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),A(e=>(e+1)%2)):e.key===`Enter`?(e.preventDefault(),pt(k()===0?`horizontal`:`vertical`)):t===`h`||t===`v`?(e.preventDefault(),pt(t===`h`?`horizontal`:`vertical`)):e.key===`Escape`&&(e.preventDefault(),E(!1))}}),n=X(`button`,{type:`button`,onClick:()=>pt(`horizontal`)}),r=X(`span`,{class:`msr:flex-1`}),i=X(`span`),a=X(`button`,{type:`button`,onClick:()=>pt(`vertical`)}),o=X(`span`,{class:`msr:flex-1`}),s=X(`span`);return Z(t,n),Z(t,a),Z(n,r),Z(n,i),Q(n,Y(Gh,{size:12,get class(){return e.model.state.guideOrientation===`horizontal`?`msr:opacity-100`:`msr:opacity-0`}}),r),Q(n,Y(Kh,{size:12}),r),Z(r,ec(`Horizontal`)),Z(i,ec(`H`)),Z(a,o),Z(a,s),Q(a,Y(Gh,{size:12,get class(){return e.model.state.guideOrientation===`vertical`?`msr:opacity-100`:`msr:opacity-0`}}),o),Q(a,Y(Kh,{size:12,class:`msr:rotate-90`}),o),Z(o,ec(`Vertical`)),Z(s,ec(`V`)),J(()=>({e:`mesurer-menu-surface msr:absolute msr:z-[70] msr:w-44 msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-1 msr:outline-none msr:focus:outline-none msr:flex msr:flex-col msr:gap-px ${nt()===`bottom`?`msr:top-full msr:mt-2`:`msr:bottom-full msr:mb-2`} ${j()===`left`?`msr:left-0`:`msr:right-0`}`,t:`msr:group msr:flex msr:w-full msr:items-center msr:gap-2 msr:rounded-md msr:px-2 msr:py-1.5 msr:text-left msr:text-[12px] ${k()===0||e.model.state.guideOrientation===`horizontal`?`msr:bg-[#0d99ff] msr:text-white`:`msr:text-ink-700 msr:hover:bg-[#0d99ff] msr:hover:text-white`}`,a:`msr:group msr:flex msr:w-full msr:items-center msr:gap-2 msr:rounded-md msr:px-2 msr:py-1.5 msr:text-left msr:text-[12px] ${k()===1||e.model.state.guideOrientation===`vertical`?`msr:bg-[#0d99ff] msr:text-white`:`msr:text-ink-700 msr:hover:bg-[#0d99ff] msr:hover:text-white`}`}),({e,t:r,a:i},o)=>{e!==o?.e&&$(t,`class`,e,o?.e),r!==o?.t&&$(n,`class`,r,o?.t),i!==o?.a&&$(a,`class`,i,o?.a)}),t}}),null),J(()=>({e:L.onTooltipLeave,t:T()?`true`:`false`,a:Ze(`guides`),o:`msr:flex msr:h-8 msr:w-4 msr:items-center msr:justify-center msr:rounded-[6px] msr:outline-none ${Ze(`guides`)?`msr:cursor-default msr:text-black/30`:`msr:hover:bg-black/10`} ${T()?`msr:bg-black/10 msr:text-black`:`msr:text-black`}`}),({e,t:r,a:i,o:a},o)=>{e!==o?.e&&$(t,`onMouseLeave`,e,o?.e),r!==o?.t&&$(n,`aria-expanded`,r,o?.t),i!==o?.a&&$(n,`disabled`,i,o?.a),a!==o?.o&&$(n,`class`,a,o?.o)}),t})()]}}),null),Q(n,Y(q,{get when(){return Re().length>0},get children(){return[Y(wg,{get visible(){return Ke()},marker:`plugins`}),(()=>{var e=X(`div`,{role:`group`,"aria-label":`Always available tools`,class:`msr:flex msr:items-stretch msr:px-0.5 msr:py-1`});return Q(e,Y(go,{get each(){return Re()},children:e=>bt(e)})),e})()]}}),_),Q(_,Y(Cg,{get visible(){return Ge(Me())},get children(){var t=X(`div`,{"data-mesurer-builtin":`settings`,class:`msr:relative msr:flex`});return ic(()=>e=>{H=e},t),Q(t,Y(Sg,nc({id:`settings`,builtin:`settings`,get active(){return Me()},label:`Settings`,shortcut:`⌘/Ctrl+,`,onClick:()=>e.onBuiltinAction(`settings`)},()=>vt(`settings`),{get children(){return Y(rg,{size:20})}})),null),Q(t,Y(q,{get when(){return $s(()=>!!e.model.state.settingsOpen)()?!N():e.model.state.settingsOpen},get children(){var t=X(`div`,{"data-mesurer-inspector-ui":`true`,role:`dialog`,"aria-label":`Settings`,onPointerDown:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()});return Q(t,Y(xg,{get model(){return e.model},get ownerWindow(){return e.ownerWindow},get onResetSettings(){return e.onResetSettings},get onClearWorkspace(){return e.onClearWorkspace},get selectionSpacingStyle(){return e.selectionSpacingStyle},get onSelectionSpacingStyleChange(){return e.onSelectionSpacingStyleChange}})),J(()=>({e:`mesurer-menu-surface msr:absolute msr:z-[70] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${rt()===`bottom`?`msr:top-full msr:mt-2`:`msr:bottom-full msr:mb-2`}`,t:{left:`${it()}px`,right:`auto`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`class`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t}}),null),t}})),Q(n,Y(wg,{get visible(){return qe()},marker:`compact`}),v),Q(n,Y(q,{get when(){return $s(()=>!!N())()?e.model.state.settingsOpen:N()},get children(){var t=X(`div`,{"data-mesurer-toolbar-compact-settings":`true`,"data-mesurer-inspector-ui":`true`,role:`dialog`,"aria-label":`Settings`,onPointerDown:e=>e.stopPropagation(),onPointerUp:e=>e.stopPropagation(),onClick:e=>e.stopPropagation()});return Q(t,Y(xg,{get model(){return e.model},get ownerWindow(){return e.ownerWindow},get onResetSettings(){return e.onResetSettings},get onClearWorkspace(){return e.onClearWorkspace},get selectionSpacingStyle(){return e.selectionSpacingStyle},get onSelectionSpacingStyleChange(){return e.onSelectionSpacingStyleChange}})),J(()=>({e:`mesurer-menu-surface msr:pointer-events-auto msr:absolute msr:z-[110] msr:box-border msr:w-[272px] msr:max-w-[calc(100vw-16px)] msr:max-h-[calc(100vh-16px)] msr:overflow-y-auto msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-3 ${rt()===`bottom`?`msr:top-full msr:mt-2`:`msr:bottom-full msr:mb-2`}`,t:{left:`${it()}px`,right:`auto`}}),({e,t:n},r)=>{e!==r?.e&&$(t,`class`,e,r?.e),n!==r?.t&&$(t,`style`,n,r?.t)}),t}}),v),Z(v,y),Q(y,Y(Wh,{size:10,get class(){return N()?`msr:-rotate-90`:`msr:rotate-90`}})),J(()=>({e:N()?`true`:`false`,t:Fe(),a:a()?`vertical`:`horizontal`,o:u()?r()??void 0:void 0,i:u()?s():void 0,n:Xe.tucked()?`true`:void 0,s:Xe.pressedOff()?`true`:void 0,h:`mesurer-toolbar-surface msr:pointer-events-auto msr:absolute msr:flex msr:items-stretch msr:rounded-[12px] msr:bg-[#fff] msr:outline msr:outline-transparent ${Ye()?`msr:z-[110]`:`msr:z-[90]`}`,r:{left:`${t().x}px`,top:`${t().y}px`,"--msr-tuck-safe-offset":`${d()}px`,transition:m()?`left 280ms cubic-bezier(0.2, 0.9, 0.3, 1), top 378ms cubic-bezier(0.3, 1.2, 0.5, 1), transform 260ms cubic-bezier(0.2, 0.8, 0.2, 1)`:void 0},d:L.onTooltipContainerLeave,l:Fe(),u:Fe()===`select`?`true`:`false`,c:Fe()===`select`?void 0:`true`,w:Fe()!==`select`||void 0,m:Fe()===`edit`?`true`:`false`,f:Fe()===`edit`?void 0:`true`,y:Fe()!==`edit`||void 0,g:N()?`Expand toolbar`:`Compact toolbar`,p:N()?`true`:`false`}),({e,t,a:r,o:a,i:o,n:s,s:l,h:u,r:d,d:f,l:m,u:h,c:g,w:_,m:v,f:b,y:x,g:S,p:C},w)=>{e!==w?.e&&$(n,`data-mesurer-toolbar-compact`,e,w?.e),t!==w?.t&&$(n,`data-mesurer-toolbar-mode`,t,w?.t),r!==w?.a&&$(n,`data-orientation`,r,w?.a),a!==w?.o&&$(n,`data-dock-edge`,a,w?.o),o!==w?.i&&$(n,`data-dock-align`,o,w?.i),s!==w?.n&&$(n,`data-tucked`,s,w?.n),l!==w?.s&&$(n,`data-tuck-locked`,l,w?.s),u!==w?.h&&$(n,`class`,u,w?.h),d!==w?.r&&$(n,`style`,d,w?.r),f!==w?.d&&$(n,`onMouseLeave`,f,w?.d),m!==w?.l&&$(i,`data-mode`,m,w?.l),h!==w?.u&&$(c,`data-open`,h,w?.u),g!==w?.c&&$(c,`aria-hidden`,g,w?.c),_!==w?.w&&$(c,`inert`,_,w?.w),v!==w?.m&&$(p,`data-open`,v,w?.m),b!==w?.f&&$(p,`aria-hidden`,b,w?.f),x!==w?.y&&$(p,`inert`,x,w?.y),S!==w?.g&&$(y,`aria-label`,S,w?.g),C!==w?.p&&$(y,`aria-pressed`,C,w?.p)}),n})()]}var Kg=e=>e.ownerDocument===null,qg=(e,t)=>{let n=t.defaultView?.Element;return!!(n&&e instanceof n)},Jg=e=>{let t=Kg(e)?e:e.ownerDocument,n=[],r=new Set,i=new Set,a=e=>{r.has(e)||(r.add(e),n.push(e),s(e,e))},o=(e,t)=>{e.shadowRoot&&s(e.shadowRoot,t);let n=tp(e);n&&a(n)},s=(e,t)=>{if(i.has(e))return;i.add(e),qg(e,t)&&o(e,t);let n=t.createTreeWalker(e,1),r=n.nextNode();for(;r;)qg(r,t)&&o(r,t),r=n.nextNode()};return Kg(e)?a(e):(r.add(t),n.push(t),s(e,t)),n},Yg=(e,t)=>{if(Wf(e,t))return!0;let n=t.ownerDocument,r=e.ownerDocument,i=new Set;for(;r!==n&&!i.has(r);){i.add(r);let e=null;try{e=r.defaultView?.frameElement??null}catch{return!1}if(!e)return!1;if(e.ownerDocument===n&&Wf(e,t))return!0;r=e.ownerDocument}return!1},Xg=(e,t=window)=>{let n=wl(t);return e.orientation===`vertical`?{left:e.position,top:0,width:0,height:n.height}:{left:0,top:e.position,width:n.width,height:0}},Zg=(e,t)=>e.orientation===`vertical`?Math.abs(e.position-t.x):Math.abs(e.position-t.y),Qg=e=>{let t=e.document??document,{orientation:n,point:r,snapGuidesEnabled:i,overlayNode:a,guides:o}=e;if(!i)return n===`vertical`?r.x:r.y;let s=n===`vertical`?r.x:r.y,c=11;for(let e of yp(t)){if(a?.contains(e)||e===t.body||e===t.documentElement)continue;let i=hp(e);if(i.width<=2||i.height<=2||n===`vertical`&&(r.x<i.left-10||r.x>i.left+i.width+10)||n===`horizontal`&&(r.y<i.top-10||r.y>i.top+i.height+10))continue;let o=n===`vertical`?[i.left,i.left+i.width,i.left+i.width/2]:[i.top,i.top+i.height,i.top+i.height/2];for(let e of o){let t=Math.abs(n===`vertical`?e-r.x:e-r.y);t<=10&&t<c&&(s=e,c=t)}}for(let t of o){if(t.id===e.draggingGuideId||t.orientation!==n)continue;let i=Math.abs(t.position-(n===`vertical`?r.x:r.y));i<=10&&i<c&&(s=t.position,c=i)}return c<=10?s:n===`vertical`?r.x:r.y},$g=(e,t)=>{if(!e||!t.length)return null;let n=null,r=11;for(let i of t){let t=Zg(i,e);t<=10&&t<r&&(n=i,r=t)}return n},e_=(e,t)=>t.length?e.find(e=>e.id===t[t.length-1])??null:null,t_=e=>{let t=e.window??window;if(!e.altPressed||!e.selectedGuide&&!e.primarySelectedMeasurement)return null;let n=e.primarySelectedMeasurement,r=e.selectedGuide?null:n?.elementRef??e.selectedElementRef??null,i=e.selectedGuide?{rect:Xg(e.selectedGuide,t),guideId:e.selectedGuide.id}:r&&n?{rect:n.rect,element:r}:null,a=e.hoverGuide?{rect:Xg(e.hoverGuide,t),guideId:e.hoverGuide.id}:e.hoverElement?{rect:dp(e.hoverElement),element:e.hoverElement}:null;return!i||!a||i.element&&a.element&&(i.element===a.element||i.element.contains(a.element)||a.element.contains(i.element))||i.guideId&&a.guideId&&i.guideId===a.guideId?null:zl(i.rect,a.rect,i.element??null,a.element??null,t)},n_=e=>{let t=e.document??document,n=e.window??window;if(!e.altPressed||!e.primarySelectedMeasurement||e.optionPairOverlay||e.selectedGuideIds.length)return null;let r=e.selectedElement?.parentElement??null;e.selectedElement&&e.hoverElement&&e.hoverElement!==e.selectedElement&&e.hoverElement.contains(e.selectedElement)&&(r=e.hoverElement);let i=r&&r!==t.body&&r!==t.documentElement?Ol(dp(r),r,n):{left:0,top:0,width:n.innerWidth,height:n.innerHeight},a=e.primarySelectedMeasurement.rect,o=a.left+a.width,s=a.top+a.height,c=a.left+a.width/2,l=a.top+a.height/2,u=i.left+i.width,d=i.top+i.height,f=Math.max(i.left,Math.min(c,u)),p=Math.max(i.top,Math.min(l,d));return{top:{y1:i.top,y2:a.top,x:f,value:Math.max(0,a.top-i.top)},bottom:{y1:s,y2:d,x:f,value:Math.max(0,d-s)},left:{x1:i.left,x2:a.left,y:p,value:Math.max(0,a.left-i.left)},right:{x1:o,x2:u,y:p,value:Math.max(0,u-o)}}},r_=(e,t)=>{let n=[];for(let{element:r,rect:i}of t){let t=Ml(e,i),a=t/Math.max(1,jl(i));t>0&&a>=.45&&n.push({element:r,rect:i,overlapArea:t,elementCoverage:a})}let r=n.filter((e,t)=>!n.some((n,r)=>t!==r&&jl(e.rect)>jl(n.rect)*1.6&&e.rect.left<=n.rect.left&&e.rect.top<=n.rect.top&&e.rect.left+e.rect.width>=n.rect.left+n.rect.width&&e.rect.top+e.rect.height>=n.rect.top+n.rect.height&&e.elementCoverage<.92));return(r.length>0?r:n).sort((e,t)=>jl(e.rect)-jl(t.rect)).map(({element:e})=>e)},i_=(e,t,n)=>{let r=Math.max(1,jl(e)),i=[];for(let{element:a,rect:o}of n){let n=Ml(e,o),s=Math.max(1,jl(o)),c=n/s;if(o.width<8||o.height<8||c<.15)continue;let l=s/r,u=1-Math.min(1,Math.abs(Math.log(l))/2),d=t.x>=o.left&&t.x<=o.left+o.width&&t.y>=o.top&&t.y<=o.top+o.height,f=s>r*4&&c<.9?.25:0;i.push({element:a,rect:o,coverage:c,score:c*.55+u*.35+(d?.2:0)-f})}return i.length===0?null:(i.sort((e,t)=>t.score-e.score),i[0].element)},a_=(e,t)=>{let n=[];for(let{element:r,rect:i}of t){if(i.width<8||i.height<8)continue;let t=Math.max(1,jl(i)),a=e.x>=i.left&&e.x<=i.left+i.width&&e.y>=i.top&&e.y<=i.top+i.height,o=1/(1+Nl(e,i)),s=1/(1+Math.log(t));n.push({element:r,score:(a?2:0)+o*.9+s*.35})}return n.length===0?null:(n.sort((e,t)=>t.score-e.score),n[0].element)},o_=e=>e.nodeType===11,s_=e=>{if(!e)return null;let t=e.getRootNode();return o_(t)?t.host:null},c_=(e,t,n)=>!!(t?.contains(e)||n&&e===n),l_=(e,t)=>{let n=e;for(;n.shadowRoot;){let e=n.shadowRoot.elementFromPoint(t.x,t.y);if(!e||e===n)break;n=e}return n},u_=(e,t,n=document,r=n.body)=>{let i=n.defaultView;if(!i)return!1;let a=i,o=s_(t);for(let s of n.elementsFromPoint(e.x,e.y)){if(!(s instanceof a.Element))continue;let n=l_(s,e);if(!c_(n,t,o)){if(lu(n,i))return!0;if(Wf(n,r)&&!cu(n,i))return!1}}return!1},d_=(e,t,n,r)=>u_(e,t,n,r)?null:Gf(t,()=>Uf(e,r,n)),f_=(e,t,n=document,r=n.body)=>{let i=s_(t),a=d_(e,t,n,r),o=n.defaultView;if(!o||!a)return null;let s=g_(a,e);if(!Yg(s,r)||c_(s,t,i)||cu(s,o)||s===s.ownerDocument.body||s===s.ownerDocument.documentElement)return null;let c=hp(s);return c.width>2&&c.height>2?s:null},p_=(e,t)=>Math.abs(e.x-t.x)<=4&&Math.abs(e.y-t.y)<=4,m_=e=>{try{return e.defaultView?.frameElement??null}catch{return null}},h_=e=>{if(e.parentElement)return e.parentElement;let t=e.getRootNode();return o_(t)?t.host:m_(e.ownerDocument)},g_=(e,t)=>{let n=e,r=t;for(let e=0;e<16;e+=1){let e=tp(n);if(!e)break;let t=cp(n,r);if(t.x<0||t.y<0)break;let i=Uf(t,e,e);if(!i||i===e.body||i===e.documentElement)break;n=i,r=t}return n},__=(e,t,n,r)=>{if(u_(e,t,n,r))return[];let i=n.defaultView;if(!i)return[];let a=i,o=s_(t),s=[],c=new Set,l=e=>{if(!e||c.has(e)||!Yg(e,r)||c_(e,t,o)||cu(e,i)||e===e.ownerDocument.body||e===e.ownerDocument.documentElement)return;let n=hp(e);n.width<=2||n.height<=2||(c.add(e),s.push(e))},u=e=>{let t=e;for(;t&&(l(t),t!==r);)t=h_(t)};u(f_(e,t,n,r));let d=Gf(t,()=>n.elementsFromPoint(e.x,e.y));for(let t of d)t instanceof a.Element&&u(l_(t,e));return s},v_=(e,t,n,r=document,i=r.body)=>{let a=f_(e,t,r,i);if(!n||!a)return a;let o={left:e.x-20,top:e.y-20,width:40,height:40},s=E_(o,t,r,i),c=Df(a),l=c.nodeType===11?s.filter(({element:e})=>Df(e)===c):s,u=l.find(({element:e})=>e===a);if(u&&u.rect.width>=8&&u.rect.height>=8)return a;let d=u?l:[{element:a,rect:hp(a)},...l];return a_(e,d)??i_(o,e,d)??a},y_=(e,t,n,r=document,i=r.body,a=null)=>{let o=r.defaultView;if(o&&a&&p_(e,a.point)&&a.stack.length>0){let t=a.stack.filter(e=>e.isConnected&&Wf(e,i)&&!cu(e,o));if(t.length>0){let n=a.stack[a.index]??null,r=((n?t.indexOf(n):-1)+1+t.length)%t.length;return{target:t[r]??null,cycle:{point:e,index:r,stack:t}}}}let s=v_(e,t,n,r,i);return s?{target:s,cycle:{point:e,index:0,stack:[s,...__(e,t,r,i).filter(e=>e!==s)]}}:{target:null,cycle:null}},b_=-1,x_=``,S_=[],C_=null,w_=null,T_=null,E_=(e,t,n=document,r=n.body)=>{let i=s_(t),a=n.defaultView;if(!a)return[];let o=mp(),s=`${Math.round(e.left)}:${Math.round(e.top)}:${Math.round(e.width)}:${Math.round(e.height)}`;if(o===b_&&x_===s&&C_===t&&w_===n&&T_===r)return S_;let c=e.left-1,l=e.top-1,u=e.left+e.width+1,d=e.top+e.height+1,f=yp(n).map(e=>({element:e,rect:hp(e)})).filter(({element:n,rect:o})=>!Yg(n,r)||c_(n,t,i)||cu(n,a)||n===n.ownerDocument.body||n===n.ownerDocument.documentElement||o.width<8||o.height<8||o.left>u||o.top>d||o.left+o.width<c||o.top+o.height<l?!1:Al(e,o));return b_=o,x_=s,C_=t,w_=n,T_=r,S_=f,f},D_=(e,t,n,r=document,i=r.body)=>{let a=mp(),o=`${Math.round(e.left)}:${Math.round(e.top)}:${Math.round(e.width)}:${Math.round(e.height)}`;if(n.key===o&&n.overlayNode===t&&n.frame===a)return n.entries;let s=E_(e,t,r,i);return n.key=o,n.overlayNode=t,n.frame=a,n.entries=s,s},O_=(e,t,n,r=document,i=r.body)=>{let a=D_(e,t,n,r,i);return a.length?r_(e,a):[]},k_=e=>e.nodeType===11,A_=e=>{if(!e)return null;let t=e.getRootNode();return k_(t)?t.host:null},j_=e=>{let t=e.document??document,n=t.defaultView,r=n?.Element,i=A_(e.overlayNode),a=e.selectedMeasurements.map(e=>{let t=e.elementRef;if(!t||!t.isConnected)return null;let n=dp(t);return{measurement:e,element:t,rect:n,area:n.width*n.height}}).filter(e=>e!==null).sort((e,t)=>e.area-t.area),o=[];if(r&&n){for(let a of t.elementsFromPoint(e.point.x,e.point.y))if(a instanceof r&&!e.overlayNode?.contains(a)&&!(i&&a===i)){if(uu(a,n))return null;o.push(a)}}let s=(n,r)=>{let i=n.element.ownerDocument===t?o:(()=>{let r=lp(e.point,t,n.element.ownerDocument);return r.x<0||r.y<0?[]:n.element.ownerDocument.elementsFromPoint(r.x,r.y)})();return r?n.element===i[0]:i.some(e=>n.element===e||n.element.contains(e))},c=a.find(t=>s(t,e.exact??!1));if(c)return c.measurement;if(e.exact)return null;for(let t of a){let n=t.rect;if(e.point.x>=n.left&&e.point.x<=n.left+n.width&&e.point.y>=n.top&&e.point.y<=n.top+n.height)return t.measurement}return null},M_=`mesurer:select-gesture-start`;function N_(e){let t=e;e.dispatchEvent(new t.Event(M_))}function P_(e,t){return e.addEventListener(M_,t),()=>e.removeEventListener(M_,t)}var F_=e=>void 0,I_=Qa(F_);function L_(e={}){let t=$e(),n=t?$a(I_):F_,r=Sc(e),[i,a]=lo(r.getSnapshot()),o=r.subscribe(e=>a(()=>e)),s=r.dispose,c=!1,l,u=co(()=>i.selectedMeasurement??i.selectedMeasurements.at(-1)??null),d=e=>{let t=r.current.guides;t.length===e.length&&t.every((t,n)=>{let r=e[n];return!!(r&&r.id===t.id&&r.orientation===t.orientation&&r.position===t.position)})||r.setGuides(e)},f=e=>{let t=r.current.toolMode===`select`&&r.current.start!==null;r.setTransient(e);let n=r.current.toolMode===`select`&&r.current.start!==null;if(!t&&n){let e=l.rendererRoot?.ownerDocument.defaultView;e&&N_(e)}};l={...r,setGuides:d,setTransient:f,dispose:p,state:i,activeSelection:u,rendererRoot:null};function p(){c||(c=!0,l.rendererRoot=null,o(),s())}return n(l),t&&En(p),l}var R_=200,z_=e=>{e.setTransient({colorPickerActive:!1,colorPickerSample:null,colorPickerUnsupported:!1})},B_=e=>{e.setSelectedMeasurements([],null),e.setSelectedGuideIds([]),e.setTransient({start:null,end:null,isDragging:!1,selectionOriginRect:null})},V_=(e,t)=>{e.setEnabled(!0,!e.current.enabled),z_(e),e.setTransient({toolbarActive:!0}),e.toggleToolMode(t)},H_=e=>e.current.colorPickerActive?`color-picker`:e.current.rulersVisible?`rulers`:e.current.toolMode===`guides`?`guides`:e.current.toolMode===`select`||e.current.toolMode===`text-inspector`?`select`:`general`,U_=(e,t,n)=>{e.setTransient({colorPickerActive:!0,colorPickerSample:n,colorPickerUnsupported:!1}),t.navigator.clipboard?.writeText(Rc(n,e.current.settings.colorPickerClickFormat)).catch(()=>void 0)},W_=(e,t)=>{Ip(t),z_(e);let n=t.Event;t.dispatchEvent(new n(`focus`))},G_=(e,t)=>{let n=new Map,r=e=>{!e||n.has(e)||(n.set(e,{value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),e.style.setProperty(`display`,`none`,`important`))};r(t);for(let t of e.querySelectorAll([`[data-mesurer-layer]`,`[data-mesurer-extension-toolbar='true']`,`[data-mesurer-inspector-ui='true']`,`.mesurer-color-picker`].join(`,`)))r(t);return()=>{for(let[e,t]of n)t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`);n.clear()}},K_=async(e,t,n,r)=>{let i=await t.createImageBitmap(n);try{let n=Math.max(1,t.innerWidth),a=Math.max(1,t.innerHeight),o=i.width/n,s=i.height/a,c=Math.min(i.width-1,Math.max(0,Math.floor(r.x*o))),l=Math.min(i.height-1,Math.max(0,Math.floor(r.y*s))),u=e.createElement(`canvas`);u.width=1,u.height=1;let d=u.getContext(`2d`,{willReadFrequently:!0});if(!d)throw Error(`Color Picker could not read the captured application window.`);d.drawImage(i,c,l,1,1,0,0,1,1);let f=d.getImageData(0,0,1,1).data;return{red:f[0]??0,green:f[1]??0,blue:f[2]??0,alpha:(f[3]??255)/255}}finally{i.close()}};function q_(e){let{model:t,ownerWindow:n}=e,r=e.ownerDocument??n.document,i=null,a=0,o=!1,s=0,c=!1,l=()=>{a&&=(n.clearTimeout(a),0)},u=()=>{n.removeEventListener(`blur`,p),r.removeEventListener(`visibilitychange`,m)},d=()=>{s+=1,l(),o=!1,u();let e=i;i=null,e?.abort()},f=()=>{d(),z_(t)};function p(){o&&f()}function m(){r.visibilityState===`hidden`&&p()}let h=()=>{d(),t.setEnabled(!0,!t.current.enabled),t.setToolMode(`none`,t.current.toolMode!==`none`),t.setTransient({colorPickerActive:!0,colorPickerSample:null,colorPickerUnsupported:!1}),o=!0,n.addEventListener(`blur`,p),r.addEventListener(`visibilitychange`,m)},g=async()=>{if(!Lp(n)){f();return}d(),t.setEnabled(!0,!t.current.enabled),t.setToolMode(`none`,t.current.toolMode!==`none`);let e=n.EyeDropper,r=n.AbortController,o=new r;i=o,t.setTransient({colorPickerActive:!1,colorPickerSample:null,colorPickerUnsupported:!1});let s=n.performance.now();a=n.setTimeout(()=>{a=0,i===o&&!o.signal.aborted&&t.setTransient({colorPickerActive:!0})},R_);try{let r=await new e().open({signal:o.signal});if(l(),o.signal.aborted||c)return;let i=jc(r.sRGBHex);if(!i){z_(t);return}U_(t,n,i)}catch(e){if(l(),o.signal.aborted||c){z_(t);return}let r=n.performance.now()-s;if(e instanceof n.DOMException&&e.name===`AbortError`){if(r<R_){W_(t,n);return}z_(t);return}W_(t,n)}finally{i===o&&(i=null)}},_=async()=>{if(Uc(n)){h();return}await g()};return{async run(e){switch(e){case`select`:d(),B_(t),V_(t,`select`);return;case`xray`:d(),t.setEnabled(!0),z_(t),t.toggleXray();return;case`color-picker`:if(t.current.colorPickerActive&&t.current.colorPickerSample){await _();return}if(t.current.colorPickerActive||o||i){f();return}await _();return;case`rulers`:d(),t.setEnabled(!0),z_(t),t.toggleRulers();return;case`text-inspector`:d(),V_(t,`text-inspector`);return;case`guides`:d(),V_(t,`guides`);return;case`settings`:{let e=!t.current.settingsOpen;t.setTransient({settingsOpen:e,settingsTab:e?H_(t):t.current.settingsTab});return}}},clearSelection(){B_(t)},deactivate(e){switch(e){case`select`:B_(t),t.current.toolMode===e&&t.setToolMode(`none`);return;case`text-inspector`:case`guides`:t.current.toolMode===e&&t.setToolMode(`none`);return;case`xray`:t.setXrayVisible(!1);return;case`color-picker`:f();return;case`rulers`:t.setRulersVisible(!1);return;case`settings`:t.setTransient({settingsOpen:!1});return;case`distance`:return}},pickColorAt:async i=>{if(c||!o||!Uc(n))return;let a=++s;o=!1,u();let l=G_(r,e.uiRoot?.()??t.rendererRoot);try{await el(n);let e=await Gc(n);if(!e)throw Error(`Color Picker host capture is unavailable.`);let o=await K_(r,n,e,i);if(c||a!==s)return;U_(t,n,o)}catch{!c&&a===s&&z_(t)}finally{l()}},dispose(){c||(c=!0,d())}}}var J_=`var(--msr-color-ink-50, #f8fafc)`,Y_=`var(--msr-color-ink-200, #e2e8f0)`,X_=`var(--msr-color-ink-500, #64748b)`,Z_=`var(--msr-content, #0f172a)`,Q_=(e,t,n)=>{let r=e.createElement(`div`);return Object.assign(r.style,{position:`absolute`,backgroundColor:n,...t===`top`||t===`bottom`?{left:`0`,[t]:`0`,width:`100%`,height:`1px`}:{top:`0`,[t]:`0`,width:`1px`,height:`100%`}}),r},$_=(e,t,n)=>{let r=e.createElement(`div`);Object.assign(r.style,{position:`fixed`,zIndex:`0`,pointerEvents:`none`,backgroundColor:t,boxSizing:`border-box`}),r.className=`mesurer-ti-box`,r.dataset.state=`hidden`;for(let t of[`top`,`right`,`bottom`,`left`])r.appendChild(Q_(e,t,n));return r},ev=(e,t)=>{Object.assign(e.style,{left:`${t.left}px`,top:`${t.top}px`,width:`${t.width}px`,height:`${t.height}px`})},tv=(e,t)=>{let n=e.createElement(`div`);return Object.assign(n.style,{position:`fixed`,zIndex:`1`,pointerEvents:t?`auto`:`none`,background:`var(--msr-surface-raised, #ffffff)`,color:Z_,borderRadius:`13px`,padding:`10px 12px`,fontSize:`11px`,lineHeight:`1.5`,fontFamily:`ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif`,fontVariantNumeric:`tabular-nums`,userSelect:`none`,whiteSpace:`nowrap`,width:`320px`,minWidth:`320px`,maxWidth:`320px`,boxSizing:`border-box`,boxShadow:`var(--msr-shadow-floating, 0px 0px 0.5px rgba(0, 0, 0, 0.18), 0px 3px 8px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1))`}),n.className=t?`mesurer-ti-card mesurer-ti-card--pinned`:`mesurer-ti-card`,n.dataset.state=`hidden`,n},nv=(e,t,n,r)=>{t.replaceChildren();let i=e.createElement(`div`);Object.assign(i.style,{display:`flex`,alignItems:`center`,gap:`8px`,marginBottom:`8px`,paddingBottom:`6px`});let a=e.createElement(`span`);if(Object.assign(a.style,{color:J_,background:Z_,borderRadius:`4px`,padding:`1px 5px`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:`10px`,fontWeight:`500`}),a.textContent=n.tagName,i.appendChild(a),n.textSnippet){let t=e.createElement(`span`);Object.assign(t.style,{color:X_,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:`1`,minWidth:`0`,fontSize:`10px`}),t.textContent=n.textSnippet,i.appendChild(t)}if(r){let t=e.createElement(`button`);t.type=`button`,t.className=`mesurer-ti-close`,t.setAttribute(`aria-label`,`Close`),t.textContent=`×`,Object.assign(t.style,{all:`unset`,marginLeft:n.textSnippet?`0`:`auto`,flex:`0 0 auto`,width:`16px`,height:`16px`,lineHeight:`14px`,textAlign:`center`,borderRadius:`4px`,color:X_,fontSize:`14px`}),i.appendChild(t)}t.appendChild(i);let o=e.createElement(`div`);Object.assign(o.style,{display:`grid`,gridTemplateColumns:`auto 1fr`,columnGap:`12px`,rowGap:`3px`,alignItems:`baseline`});for(let t of n.rows){let n=e.createElement(`span`);n.style.color=X_,n.style.fontSize=`11px`,n.textContent=t.label;let r=e.createElement(`span`);if(Object.assign(r.style,{fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:`11px`,color:Z_,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}),!t.varName)r.textContent=t.value;else{let n=e.createElement(`span`);n.textContent=t.value;let i=e.createElement(`span`);i.style.color=Y_,i.style.margin=`0 6px`,i.textContent=`·`;let a=e.createElement(`span`);a.style.color=`#0369a1`,a.textContent=t.varName,r.append(n,i,a)}o.append(n,r)}t.appendChild(o)},rv=(e,t,n,r=0,i=0)=>{let a=Number.parseFloat(t.dataset.mesurerPositionedScrollX??``),o=Number.parseFloat(t.dataset.mesurerPositionedScrollY??``),s=Number.isFinite(a)&&a!==e.scrollX||Number.isFinite(o)&&o!==e.scrollY,c=n.left+n.width/2+r;t.style.left=`${c}px`;let l=t.getBoundingClientRect(),u=n.bottom+4+i;u+l.height>e.innerHeight-8&&(u=n.top-l.height-4+i),t.style.top=`${Math.max(8,u)}px`;let d=l.width/2;t.style.left=`${Math.min(Math.max(c,8+d),e.innerWidth-8-d)}px`,t.dataset.mesurerPositionedScrollX=String(e.scrollX),t.dataset.mesurerPositionedScrollY=String(e.scrollY),s&&!t.dataset.mesurerNativeScrollAnchor&&(t.dataset.mesurerNativeScrollAnchor=`pending`)},iv=new Map([[`100`,`thin`],[`200`,`extralight`],[`300`,`light`],[`400`,`normal`],[`500`,`medium`],[`600`,`semibold`],[`700`,`bold`],[`800`,`extrabold`],[`900`,`black`]]),av=[`font-family`,`font-size`,`font-weight`,`line-height`,`letter-spacing`],ov=new Map([[`Family`,`font-family`],[`Size`,`font-size`],[`Weight`,`font-weight`],[`Line`,`line-height`],[`Tracking`,`letter-spacing`]]),sv=e=>{if(!e||e===`normal`)return e||`normal`;let t=/^(-?[\d.]+)px$/.exec(e);return t?`${Math.round(Number(t[1])*10)/10}px`:e},cv=e=>(e.split(`,`)[0]??``).trim().replace(/^['"]|['"]$/g,``),lv=e=>{let t=iv.get(e);return t?`${e} / ${t}`:e},uv=e=>e?/var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1]??null:null,dv=e=>(e.match(/#[\w-]+/g)??[]).length*1e4+(e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g)??[]).length*100+(e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g)??[]).length,fv=(e,t)=>!t||(e.important===t.important?e.specificity===t.specificity?e.order>t.order:e.specificity>t.specificity:e.important),pv=class{document;window;constructor(e,t){this.document=e,this.window=t}collectRules(e,t,n,r){for(let i=0;i<e.length;i++){let a=e[i],o=r.value++;if(a.type===4){let e=a,i=n;try{i=n&&this.window.matchMedia(e.media.mediaText).matches}catch{i=!1}this.collectRules(e.cssRules,t,i,r)}else if(a.type===12){let e=a;this.collectRules(e.cssRules,t,n,r)}else if(a.type===1){let e=a;t.push({rule:e,mediaOk:n,order:o})}}}getRules(){let e=[],t={value:0};for(let n of Array.from(this.document.styleSheets))try{this.collectRules(n.cssRules,e,!0,t)}catch{continue}return e}findVarReferences(e){let t=new Map(av.map(e=>[e,null])),n=this.getRules();for(let r of av){let i=e;for(;i&&t.get(r)===null;){let e,a=uv(i.style.getPropertyValue(r));a&&(e={name:a,specificity:2**53-1,order:2**53-1,important:i.style.getPropertyPriority(r)===`important`});for(let{rule:t,mediaOk:a,order:o}of n){if(!a)continue;let n=!1;try{n=i.matches(t.selectorText)}catch{continue}if(!n)continue;let s=uv(t.style.getPropertyValue(r));if(!s)continue;let c={name:s,specificity:dv(t.selectorText),order:o,important:t.style.getPropertyPriority(r)===`important`};fv(c,e)&&(e=c)}e&&t.set(r,e.name),i=i.parentElement}}return t}getFast(e){let t=this.window.getComputedStyle(e),n=[{label:`Family`,value:cv(t.fontFamily),varName:null},{label:`Size`,value:sv(t.fontSize),varName:null},{label:`Weight`,value:lv(t.fontWeight),varName:null},{label:`Line`,value:t.lineHeight===`normal`?`normal`:sv(t.lineHeight),varName:null},{label:`Tracking`,value:t.letterSpacing===`normal`?`normal`:sv(t.letterSpacing),varName:null}],r=Array.from(e.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE).map(e=>e.nodeValue?.trim()??``).filter(Boolean).join(` `).replace(/\s+/g,` `);return{rows:n,tagName:e.tagName.toLowerCase(),textSnippet:r.length>40?`${r.slice(0,40)}…`:r}}getFull(e,t=this.getFast(e)){let n=this.findVarReferences(e);return{...t,rows:t.rows.map(e=>{let t=ov.get(e.label);return{...e,varName:t?n.get(t)??null:null}})}}},mv=[`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`],hv=`color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)`,gv=`color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)`,_v=`color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)`,vv=`color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)`,yv=80,bv=0,xv=(e,t)=>`
2156
2197
  .${e},.${e} *{cursor:help!important}
2157
2198
  .${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
2158
2199
  #${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
@@ -2162,16 +2203,16 @@ body.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesur
2162
2203
  #${t} .mesurer-ti-card--draggable:active{cursor:grabbing}
2163
2204
  #${t} .mesurer-ti-close{cursor:pointer}
2164
2205
  #${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
2165
- `;function xv(e={},t=!1){let n=e.portalTarget?.ownerDocument??globalThis.document,r=n?.defaultView??globalThis.window;if(!n||!r){let e=()=>{};return{enable:e,disable:e,undo:()=>!1,redo:()=>!1,isEnabled:()=>!1,cleanup:e,destroy:e,clear:e,inspect:()=>!1,canUndo:()=>!1,canRedo:()=>!1}}let i=(e.id??(t?`mesurer-text-inspector`:`mesurer-text-inspector-${++yv}`)).replace(/[^a-zA-Z0-9_-]/g,`-`),a=`${i}-overlay`,o=`${i}-styles`,s=`${i}-mode`,c=new Set((e.ignoredTags??pv).map(e=>e.toUpperCase())),l=Number.isFinite(e.maxPinned)?Math.max(1,Math.floor(e.maxPinned)):1/0,u=new fv(n,r),d=r.HTMLElement,f=r.SVGElement,p=r.Node,m=!1,h=null,g=null,_=null,v=null,y={x:0,y:0},b=0,x=0,S=0,C=r.scrollX,w=r.scrollY,T=null,E=[],D=[],O=[],k=e.portalTarget??n.body,A=()=>{let e=[n];k instanceof r.ShadowRoot&&e.push(k);for(let t of e){if(t.querySelector(`#${o}`))continue;let e=n.createElement(`style`);e.id=o,e.textContent=bv(s,a),t===n?n.head.append(e):t.append(e)}},j=()=>h?.isConnected?h:(h=n.createElement(`div`),h.id=a,h.dataset.mesurerInspectorUi=`true`,h.dataset.theme=e.theme?.()??`system`,T??=e.subscribeTheme?.(e=>{h&&(h.dataset.theme=e)})??null,Object.assign(h.style,{position:`fixed`,inset:`0`,pointerEvents:`none`,zIndex:`2147483646`}),k.appendChild(h),h),M=(e,t)=>{e&&(e.dataset.state=t?`visible`:`hidden`)},N=()=>{let e=j();g??=Q_(n,mv,hv),_??=ev(n,!1),g.parentNode||e.append(g),_.parentNode||e.append(_)},P=e=>Array.from(e.childNodes).some(e=>e.nodeType===p.TEXT_NODE&&!!e.nodeValue?.trim()),F=e=>!!e&&e instanceof d&&!(e instanceof f)&&!c.has(e.tagName)&&P(e)&&!e.closest(`[data-mesurer-root], [data-mesurer-inspector-ui='true']`),I=(e,t)=>{for(let i of n.elementsFromPoint(e,t)){if(lu(i,r))return null;if(F(i))return i}return null},L=()=>{v=null,M(g,!1),M(_,!1)},R=(e,t,n)=>{if(!e||e.dataset.state!==`visible`)return!1;let r=e.getBoundingClientRect();return t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom},z=(e,t)=>E.some(n=>R(n.card,e,t)),B=t=>{if(!m||!F(t))return!1;N();let i=t.getBoundingClientRect(),a=u.getFast(t);return v=t,tv(n,_,a,!1),$_(g,i),nv(r,_,i),M(g,!0),M(_,!0),r.clearTimeout(x),x=r.setTimeout(()=>{if(!m||v!==t||!_)return;let i=u.getFull(t,a);tv(n,_,i,!1),nv(r,_,t.getBoundingClientRect()),e.onInspect?.(t,i)},24),!0},V=()=>E.map(e=>({sourceEl:e.sourceEl,left:e.userPlaced?e.card.getBoundingClientRect().left+e.card.getBoundingClientRect().width/2:0,top:e.userPlaced?e.card.getBoundingClientRect().top:0,userPlaced:e.userPlaced})),H=()=>{D.push(V()),D.length>100&&D.shift(),O.length=0},U=(t,n=!0,r=!0)=>{let i=E.indexOf(t);i<0||(n&&H(),E.splice(i,1),t.detach(),t.box.remove(),t.card.remove(),r&&e.onUnpin?.(t.sourceEl))},W=(e=!1)=>{for(;E.length;)U(E[E.length-1],!1,e)},ee=e=>{let t=-1,n=0,i=0,a=0,o=0,s=!1,c=!1,l=l=>{if(l.pointerId!==t)return;let u=l.clientX-n,d=l.clientY-i;!s&&Math.abs(u)<=6&&Math.abs(d)<=6||(s||(s=!0,e.card.classList.add(`mesurer-ti-card--pinned`),delete e.card.dataset.mesurerNativeScrollAnchor,delete e.card.dataset.mesurerNativeScrollOwner,e.card.style.removeProperty(`position-anchor`)),c||=(H(),!0),e.userPlaced=!0,e.card.style.left=`${Math.min(r.innerWidth-8,Math.max(8,a+u))}px`,e.card.style.top=`${Math.min(r.innerHeight-8,Math.max(8,o+d))}px`)},u=e=>{(t===-1||e.pointerId===t)&&(r.removeEventListener(`pointermove`,l),r.removeEventListener(`pointerup`,u),r.removeEventListener(`pointercancel`,u),t=-1,s=!1,c=!1)},f=s=>{if(s.button!==0||s.target instanceof d&&s.target.classList.contains(`mesurer-ti-close`))return;let c=e.card.getBoundingClientRect();t=s.pointerId,n=s.clientX,i=s.clientY,a=c.left+c.width/2,o=c.top,r.addEventListener(`pointermove`,l),r.addEventListener(`pointerup`,u),r.addEventListener(`pointercancel`,u)};return e.card.addEventListener(`pointerdown`,f),()=>{e.card.removeEventListener(`pointerdown`,f),r.removeEventListener(`pointermove`,l),r.removeEventListener(`pointerup`,u),r.removeEventListener(`pointercancel`,u)}},te=(t,i,a=!0,o=!0)=>{if(E.find(e=>e.sourceEl===t))return;a&&H(),E.length>=l&&U(E[0],!1,!0);let s=j(),c=Q_(n,gv,_v),d=ev(n,!0);d.classList.add(`mesurer-ti-card--draggable`),d.classList.remove(`mesurer-ti-card--pinned`);let f=u.getFull(t);tv(n,d,f,!0),s.append(c,d);let p=t.getBoundingClientRect();$_(c,p),nv(r,d,p),i?.userPlaced&&(d.classList.add(`mesurer-ti-card--pinned`),d.style.left=`${i.left}px`,d.style.top=`${i.top}px`),M(c,!0),M(d,!0);let m={sourceEl:t,box:c,card:d,left:i?.left??0,top:i?.top??0,userPlaced:i?.userPlaced??!1,detach:()=>{}};E.push(m),m.detach=ee(m),d.querySelector(`.mesurer-ti-close`)?.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),U(m)}),o&&e.onPin?.(t,f)},ne=e=>{W(!1);for(let t of e)t.sourceEl.isConnected&&te(t.sourceEl,t,!1,!1)},re=()=>{let e=D.pop();return e?(O.push(V()),ne(e),!0):!1},ie=()=>{let e=O.pop();return e?(D.push(V()),ne(e),!0):!1},G=()=>{E.length&&(H(),W(!0))},ae=()=>{for(let e of E.slice()){if(!e.sourceEl.isConnected){U(e,!1,!1);continue}let t=e.sourceEl.getBoundingClientRect();$_(e.box,t),e.userPlaced||nv(r,e.card,t);let n=t.bottom>=0&&t.right>=0&&t.left<=r.innerWidth&&t.top<=r.innerHeight;M(e.box,n),M(e.card,n),e.card.style.pointerEvents=n?`auto`:`none`}},oe=()=>{if(m){if(v&&g&&_){if(!v.isConnected)L();else{let e=v.getBoundingClientRect();$_(g,e),nv(r,_,e);let t=e.bottom>=0&&e.right>=0&&e.left<=r.innerWidth&&e.top<=r.innerHeight;M(g,t),M(_,t)}}ae()}},se=()=>{if(!m)return;let e=I(y.x,y.y);if(!e)L();else if(e!==v)B(e);else if(g&&_){let t=e.getBoundingClientRect();$_(g,t),nv(r,_,t)}ae()},ce=()=>{b||=r.requestAnimationFrame(()=>{b=0,se()})},le=e=>e.composedPath().some(e=>lu(e,r)),ue=e=>{if(y={x:e.clientX,y:e.clientY},le(e)||z(e.clientX,e.clientY)){L();return}R(_,e.clientX,e.clientY)||ce()},de=(e,t,n)=>{if(!e||e.dataset.mesurerNativeScrollAnchor)return;let r=Number.parseFloat(e.style.left),i=Number.parseFloat(e.style.top);Number.isFinite(r)&&(e.style.left=`${r-t}px`),Number.isFinite(i)&&(e.style.top=`${i-n}px`)},fe=()=>{let e=r.scrollX,t=r.scrollY,i=e-C,a=t-w;if(C=e,w=t,yu(n)){if(i||a){de(g,i,a),de(_,i,a);for(let e of E)de(e.box,i,a),e.userPlaced||de(e.card,i,a)}S&&r.clearTimeout(S),S=r.setTimeout(()=>{S=0,oe()},vv);return}oe(),ce()},pe=e=>{e.relatedTarget||L()},me=e=>{if(!le(e)){if(R(_,e.clientX,e.clientY)||z(e.clientX,e.clientY)){e.preventDefault(),e.stopImmediatePropagation();return}if(e.preventDefault(),e.stopImmediatePropagation(),e.button===0){let t=I(e.clientX,e.clientY);t&&te(t)}}},he=e=>{if(!le(e)){if(R(_,e.clientX,e.clientY)||z(e.clientX,e.clientY)){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),e.stopImmediatePropagation()}},ge=()=>{m||(m=!0,A(),j(),n.body.classList.add(s),C=r.scrollX,w=r.scrollY,r.addEventListener(`mousemove`,ue,!0),r.addEventListener(`mouseout`,pe,!0),r.addEventListener(`click`,me,!0),r.addEventListener(`auxclick`,he,!0),r.addEventListener(`scroll`,fe,{capture:!0,passive:!0}),r.addEventListener(`resize`,ce,!0))},_e=()=>{m&&(m=!1,r.cancelAnimationFrame(b),b=0,r.clearTimeout(x),r.clearTimeout(S),S=0,r.removeEventListener(`mousemove`,ue,!0),r.removeEventListener(`mouseout`,pe,!0),r.removeEventListener(`click`,me,!0),r.removeEventListener(`auxclick`,he,!0),r.removeEventListener(`scroll`,fe,!0),r.removeEventListener(`resize`,ce,!0),L(),W(),g?.remove(),_?.remove(),g=null,_=null,D.length=0,O.length=0,n.body.classList.remove(s))},ve=()=>{_e(),T?.(),T=null,h?.remove(),h=null,n.getElementById(o)?.remove(),k instanceof r.ShadowRoot&&k.querySelector(`#${o}`)?.remove()};return{enable:ge,disable:_e,undo:re,redo:ie,clear:G,inspect:B,isEnabled:()=>m,canUndo:()=>D.length>0,canRedo:()=>O.length>0,cleanup:ve,destroy:ve}}xv({},!0);var Sv=`mesurer-solid-xray`,Cv=e=>`mesurer-xray-${e}`,wv=e=>`
2206
+ `;function Sv(e={},t=!1){let n=e.portalTarget?.ownerDocument??globalThis.document,r=n?.defaultView??globalThis.window;if(!n||!r){let e=()=>{};return{enable:e,disable:e,undo:()=>!1,redo:()=>!1,isEnabled:()=>!1,cleanup:e,destroy:e,clear:e,inspect:()=>!1,canUndo:()=>!1,canRedo:()=>!1}}let i=(e.id??(t?`mesurer-text-inspector`:`mesurer-text-inspector-${++bv}`)).replace(/[^a-zA-Z0-9_-]/g,`-`),a=`${i}-overlay`,o=`${i}-styles`,s=`${i}-mode`,c=new Set((e.ignoredTags??mv).map(e=>e.toUpperCase())),l=Number.isFinite(e.maxPinned)?Math.max(1,Math.floor(e.maxPinned)):1/0,u=new pv(n,r),d=r.HTMLElement,f=r.SVGElement,p=r.Node,m=!1,h=null,g=null,_=null,v=null,y={x:0,y:0},b=0,x=0,S=0,C=r.scrollX,w=r.scrollY,T=null,E=[],D=[],O=[],k=e.portalTarget??n.body,A=()=>{let e=[n];k instanceof r.ShadowRoot&&e.push(k);for(let t of e){if(t.querySelector(`#${o}`))continue;let e=n.createElement(`style`);e.id=o,e.textContent=xv(s,a),t===n?n.head.append(e):t.append(e)}},j=()=>h?.isConnected?h:(h=n.createElement(`div`),h.id=a,h.dataset.mesurerInspectorUi=`true`,h.dataset.theme=e.theme?.()??`system`,T??=e.subscribeTheme?.(e=>{h&&(h.dataset.theme=e)})??null,Object.assign(h.style,{position:`fixed`,inset:`0`,pointerEvents:`none`,zIndex:`2147483646`}),k.appendChild(h),h),M=(e,t)=>{e&&(e.dataset.state=t?`visible`:`hidden`)},N=()=>{let e=j();g??=$_(n,hv,gv),_??=tv(n,!1),g.parentNode||e.append(g),_.parentNode||e.append(_)},P=e=>Array.from(e.childNodes).some(e=>e.nodeType===p.TEXT_NODE&&!!e.nodeValue?.trim()),F=e=>!!e&&e instanceof d&&!(e instanceof f)&&!c.has(e.tagName)&&P(e)&&!e.closest(`[data-mesurer-root], [data-mesurer-inspector-ui='true']`),I=(e,t)=>{for(let i of n.elementsFromPoint(e,t)){if(lu(i,r))return null;if(F(i))return i}return null},L=()=>{v=null,M(g,!1),M(_,!1)},R=(e,t,n)=>{if(!e||e.dataset.state!==`visible`)return!1;let r=e.getBoundingClientRect();return t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom},z=(e,t)=>E.some(n=>R(n.card,e,t)),B=t=>{if(!m||!F(t))return!1;N();let i=t.getBoundingClientRect(),a=u.getFast(t);return v=t,nv(n,_,a,!1),ev(g,i),rv(r,_,i),M(g,!0),M(_,!0),r.clearTimeout(x),x=r.setTimeout(()=>{if(!m||v!==t||!_)return;let i=u.getFull(t,a);nv(n,_,i,!1),rv(r,_,t.getBoundingClientRect()),e.onInspect?.(t,i)},24),!0},V=()=>E.map(e=>({sourceEl:e.sourceEl,left:e.userPlaced?e.card.getBoundingClientRect().left+e.card.getBoundingClientRect().width/2:0,top:e.userPlaced?e.card.getBoundingClientRect().top:0,userPlaced:e.userPlaced})),H=()=>{D.push(V()),D.length>100&&D.shift(),O.length=0},U=(t,n=!0,r=!0)=>{let i=E.indexOf(t);i<0||(n&&H(),E.splice(i,1),t.detach(),t.box.remove(),t.card.remove(),r&&e.onUnpin?.(t.sourceEl))},W=(e=!1)=>{for(;E.length;)U(E[E.length-1],!1,e)},ee=e=>{let t=-1,n=0,i=0,a=0,o=0,s=!1,c=!1,l=l=>{if(l.pointerId!==t)return;let u=l.clientX-n,d=l.clientY-i;!s&&Math.abs(u)<=6&&Math.abs(d)<=6||(s||(s=!0,e.card.classList.add(`mesurer-ti-card--pinned`),delete e.card.dataset.mesurerNativeScrollAnchor,delete e.card.dataset.mesurerNativeScrollOwner,e.card.style.removeProperty(`position-anchor`)),c||=(H(),!0),e.userPlaced=!0,e.card.style.left=`${Math.min(r.innerWidth-8,Math.max(8,a+u))}px`,e.card.style.top=`${Math.min(r.innerHeight-8,Math.max(8,o+d))}px`)},u=e=>{(t===-1||e.pointerId===t)&&(r.removeEventListener(`pointermove`,l),r.removeEventListener(`pointerup`,u),r.removeEventListener(`pointercancel`,u),t=-1,s=!1,c=!1)},f=s=>{if(s.button!==0||s.target instanceof d&&s.target.classList.contains(`mesurer-ti-close`))return;let c=e.card.getBoundingClientRect();t=s.pointerId,n=s.clientX,i=s.clientY,a=c.left+c.width/2,o=c.top,r.addEventListener(`pointermove`,l),r.addEventListener(`pointerup`,u),r.addEventListener(`pointercancel`,u)};return e.card.addEventListener(`pointerdown`,f),()=>{e.card.removeEventListener(`pointerdown`,f),r.removeEventListener(`pointermove`,l),r.removeEventListener(`pointerup`,u),r.removeEventListener(`pointercancel`,u)}},te=(t,i,a=!0,o=!0)=>{if(E.find(e=>e.sourceEl===t))return;a&&H(),E.length>=l&&U(E[0],!1,!0);let s=j(),c=$_(n,_v,vv),d=tv(n,!0);d.classList.add(`mesurer-ti-card--draggable`),d.classList.remove(`mesurer-ti-card--pinned`);let f=u.getFull(t);nv(n,d,f,!0),s.append(c,d);let p=t.getBoundingClientRect();ev(c,p),rv(r,d,p),i?.userPlaced&&(d.classList.add(`mesurer-ti-card--pinned`),d.style.left=`${i.left}px`,d.style.top=`${i.top}px`),M(c,!0),M(d,!0);let m={sourceEl:t,box:c,card:d,left:i?.left??0,top:i?.top??0,userPlaced:i?.userPlaced??!1,detach:()=>{}};E.push(m),m.detach=ee(m),d.querySelector(`.mesurer-ti-close`)?.addEventListener(`click`,e=>{e.preventDefault(),e.stopPropagation(),U(m)}),o&&e.onPin?.(t,f)},ne=e=>{W(!1);for(let t of e)t.sourceEl.isConnected&&te(t.sourceEl,t,!1,!1)},re=()=>{let e=D.pop();return e?(O.push(V()),ne(e),!0):!1},ie=()=>{let e=O.pop();return e?(D.push(V()),ne(e),!0):!1},G=()=>{E.length&&(H(),W(!0))},ae=()=>{for(let e of E.slice()){if(!e.sourceEl.isConnected){U(e,!1,!1);continue}let t=e.sourceEl.getBoundingClientRect();ev(e.box,t),e.userPlaced||rv(r,e.card,t);let n=t.bottom>=0&&t.right>=0&&t.left<=r.innerWidth&&t.top<=r.innerHeight;M(e.box,n),M(e.card,n),e.card.style.pointerEvents=n?`auto`:`none`}},oe=()=>{if(m){if(v&&g&&_){if(!v.isConnected)L();else{let e=v.getBoundingClientRect();ev(g,e),rv(r,_,e);let t=e.bottom>=0&&e.right>=0&&e.left<=r.innerWidth&&e.top<=r.innerHeight;M(g,t),M(_,t)}}ae()}},se=()=>{if(!m)return;let e=I(y.x,y.y);if(!e)L();else if(e!==v)B(e);else if(g&&_){let t=e.getBoundingClientRect();ev(g,t),rv(r,_,t)}ae()},ce=()=>{b||=r.requestAnimationFrame(()=>{b=0,se()})},le=e=>e.composedPath().some(e=>lu(e,r)),ue=e=>{if(y={x:e.clientX,y:e.clientY},le(e)||z(e.clientX,e.clientY)){L();return}R(_,e.clientX,e.clientY)||ce()},de=(e,t,n)=>{if(!e||e.dataset.mesurerNativeScrollAnchor)return;let r=Number.parseFloat(e.style.left),i=Number.parseFloat(e.style.top);Number.isFinite(r)&&(e.style.left=`${r-t}px`),Number.isFinite(i)&&(e.style.top=`${i-n}px`)},fe=()=>{let e=r.scrollX,t=r.scrollY,i=e-C,a=t-w;if(C=e,w=t,yu(n)){if(i||a){de(g,i,a),de(_,i,a);for(let e of E)de(e.box,i,a),e.userPlaced||de(e.card,i,a)}S&&r.clearTimeout(S),S=r.setTimeout(()=>{S=0,oe()},yv);return}oe(),ce()},pe=e=>{e.relatedTarget||L()},me=e=>{if(!le(e)){if(R(_,e.clientX,e.clientY)||z(e.clientX,e.clientY)){e.preventDefault(),e.stopImmediatePropagation();return}if(e.preventDefault(),e.stopImmediatePropagation(),e.button===0){let t=I(e.clientX,e.clientY);t&&te(t)}}},he=e=>{if(!le(e)){if(R(_,e.clientX,e.clientY)||z(e.clientX,e.clientY)){e.preventDefault(),e.stopImmediatePropagation();return}e.preventDefault(),e.stopImmediatePropagation()}},ge=()=>{m||(m=!0,A(),j(),n.body.classList.add(s),C=r.scrollX,w=r.scrollY,r.addEventListener(`mousemove`,ue,!0),r.addEventListener(`mouseout`,pe,!0),r.addEventListener(`click`,me,!0),r.addEventListener(`auxclick`,he,!0),r.addEventListener(`scroll`,fe,{capture:!0,passive:!0}),r.addEventListener(`resize`,ce,!0))},_e=()=>{m&&(m=!1,r.cancelAnimationFrame(b),b=0,r.clearTimeout(x),r.clearTimeout(S),S=0,r.removeEventListener(`mousemove`,ue,!0),r.removeEventListener(`mouseout`,pe,!0),r.removeEventListener(`click`,me,!0),r.removeEventListener(`auxclick`,he,!0),r.removeEventListener(`scroll`,fe,!0),r.removeEventListener(`resize`,ce,!0),L(),W(),g?.remove(),_?.remove(),g=null,_=null,D.length=0,O.length=0,n.body.classList.remove(s))},ve=()=>{_e(),T?.(),T=null,h?.remove(),h=null,n.getElementById(o)?.remove(),k instanceof r.ShadowRoot&&k.querySelector(`#${o}`)?.remove()};return{enable:ge,disable:_e,undo:re,redo:ie,clear:G,inspect:B,isEnabled:()=>m,canUndo:()=>D.length>0,canRedo:()=>O.length>0,cleanup:ve,destroy:ve}}Sv({},!0);var Cv=`mesurer-solid-xray`,wv=e=>`mesurer-xray-${e}`,Tv=e=>`
2166
2207
  ${e} *{outline:solid 1px #2563eb!important}
2167
2208
  ${e} [data-mesurer-island],${e} [data-mesurer-island] *,${e} [data-mesurer-root],${e} [data-mesurer-root] *{outline:none!important}
2168
2209
  ${e} .mesurer-ti-box,${e} .mesurer-ti-card,${e} .mesurer-ti-card *{outline:none!important}
2169
- `,Tv=new WeakMap,Ev=e=>{let t=Tv.get(e);if(t)return t;let n=e.createElement(`style`);n.dataset.mesurerXrayStyle=`true`,n.textContent=wv(`.${Sv}`);let r={activeInstances:new Set,style:n};return Tv.set(e,r),r},Dv=(e,t,n)=>{let r=Ev(e);n?r.activeInstances.add(t):r.activeInstances.delete(t);let i=e.body??e.documentElement,a=r.activeInstances.size>0;i?.classList.toggle(Sv,a),a?r.style.isConnected||e.head?.append(r.style):r.style.remove()};function Ov(e){let{ownerDocument:t,target:n,instanceId:r}=e,i=t.defaultView??window,a=n instanceof i.ShadowRoot,o=!a&&(n===t.body||n===t.documentElement),s=Cv(r),c=t.createElement(`style`);c.dataset.mesurerXrayStyle=`true`,c.textContent=wv(a?`:host`:`.${s}`);let l=a?null:n.getRootNode(),u=l instanceof i.ShadowRoot?l:t.head,d=new Set,f=new Map,p=!1,m=e=>{let t=f.get(e);t&&(e.removeEventListener(`load`,t.load,!0),t.observer?.disconnect(),f.delete(e))},h=()=>{let e=p?new Set(qg(n)):new Set;for(let t of d)e.has(t)||Dv(t,r,!1);for(let t of e)Dv(t,r,!0);d.clear();for(let t of e){if(d.add(t),f.has(t))continue;let e=()=>h(),n=t.defaultView?.MutationObserver,r=n&&t.body?new n(()=>h()):null;t.addEventListener(`load`,e,!0),r?.observe(t.body,{childList:!0,subtree:!0}),f.set(t,{load:e,observer:r})}for(let t of f.keys())e.has(t)||m(t)},g=e=>{if(p!==e){if(p=e,o){h();return}if(a){e&&!c.isConnected?n.append(c):e||c.remove();return}n.classList.toggle(s,e),e&&!c.isConnected&&u?.append(c),e||c.remove()}};return{setVisible:g,dispose(){p&&g(!1);for(let e of f.keys())m(e);for(let e of d)Dv(e,r,!1);d.clear(),c.remove()}}}var kv=0,Av=`mesurer:tab-id`,jv=`mesurer-settings`,Mv=`mesurer-state`,Nv=80,Pv=(e,t)=>{try{let n=e.sessionStorage.getItem(`${t}:toolbar-position`);if(!n)return;let r=JSON.parse(n);return!Number.isFinite(r.x)||!Number.isFinite(r.y)?void 0:{x:r.x,y:r.y,edge:r.edge===`top`||r.edge===`bottom`||r.edge===`left`||r.edge===`right`?r.edge:null,align:r.align===`start`||r.align===`end`?r.align:`center`,vertical:r.vertical===!0}}catch{return}},Fv=(e,t,n)=>{try{e.sessionStorage.setItem(`${t}:toolbar-position`,JSON.stringify(n))}catch{}},Iv=e=>{try{let t=e.sessionStorage.getItem(Av);if(t)return t;let n=e.crypto.randomUUID();return e.sessionStorage.setItem(Av,n),n}catch{return`session`}},Lv=(e,t)=>{let n=t=>t!==void 0&&e.document.defaultView?.CSS?.supports(`color`,t)===!0,r={...t};if(n(t.highlightColor)||(r.highlightColor=void 0),n(t.guideColor)||(r.guideColor=void 0),t.selectionSpacingStyle){let e={...t.selectionSpacingStyle};e.color!==void 0&&!n(e.color)&&(e.color=void 0),r.selectionSpacingStyle=e}return r},Rv=(e,t)=>{if(e.length<=1)return null;let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let t of e)n=Math.min(n,t.rect.left),r=Math.min(r,t.rect.top),i=Math.max(i,t.rect.left+t.rect.width),a=Math.max(a,t.rect.top+t.rect.height);let o={left:n,top:r,width:i-n,height:a-r};return{...e[e.length-1],id:`group-${e.map(e=>e.id).join(`|`)}`,label:`${e.length} elements`,rect:o,paddingRect:o,marginRect:o,padding:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0},elementRef:void 0,originRect:t??void 0}};function zv(e){let t=$t(()=>e.model),n=$t(()=>e.env),r=$t(()=>e.input),i=$t(()=>e.onSelectionSpacingStyleChange),a=$t(()=>e.onResetSelectionSpacingStyle),{ownerDocument:o,ownerWindow:s}=n,c=r.pageTarget??o.body,l=++kv,u=r.persistKey??`mesurer-state:${Iv(s)}${l===1?``:`:${l}`}`,d={key:``,entries:[],overlayNode:null,frame:-1},f=null,p=null,m=null,h=null,g=!1,_=0,v=!1,y=0,b=null,x=null,S=!1,C=0,w=null,T={x:s.scrollX,y:s.scrollY},E=K_({model:t,ownerWindow:s,ownerDocument:o,uiRoot:()=>p}),D=e=>r.isBuiltinActionDisabled?.(e)??!1,O=(e,n=!1)=>{D(e)||(f=null,e===`color-picker`&&n&&t.current.colorPickerActive&&E.deactivate(`color-picker`),E.run(e))},k=Ov({ownerDocument:o,target:r.pageTarget??o.body,instanceId:l});r.onBuiltinController?.(E);let A=co(()=>{let e=t.state.start,n=t.state.end;return e&&n?Dl(e,n):null}),j=co(()=>Rv(t.state.selectedMeasurements,t.state.selectionOriginRect)),M=co(()=>j()?[j()]:t.state.selectedMeasurements.length?t.state.selectedMeasurements:t.state.selectedMeasurement?[t.state.selectedMeasurement]:[]),N=co(()=>$g(t.state.guides,t.state.selectedGuideIds)),P=co(()=>Qg(t.state.hoverPointer,t.state.guides)),F=co(()=>j()??t.state.selectedMeasurement??t.state.selectedMeasurements.at(-1)??null),I=()=>(r.pluginTools??[]).some(e=>e.modeSwitch===!0&&e.toolbarMode===`edit`&&(e.active?.()??!1)),L=co(()=>{if(I())return null;let e=F()?.elementRef??null;return e?.isConnected?e:null}),R=co(()=>e_({document:o,window:s,altPressed:t.state.altPressed,primarySelectedMeasurement:F(),selectedGuide:N(),hoverGuide:P(),hoverElement:t.state.hoverElement,selectedElementRef:F()?.elementRef??null})),z=co(()=>t_({document:o,window:s,altPressed:t.state.altPressed,primarySelectedMeasurement:F(),optionPairOverlay:R(),selectedGuideIds:t.state.selectedGuideIds,selectedElement:F()?.elementRef??null,hoverElement:t.state.hoverElement})),B=co(()=>{if(!t.state.altPressed||t.state.toolMode!==`guides`)return null;let e=N(),n=P();if(e&&n&&e.id!==n.id)return zl(Yg(e,s),Yg(n,s),null,null,s);let r=t.state.guidePreview;if(!r)return null;let i=t.state.guides.filter(e=>e.orientation===r.orientation).sort((e,t)=>Math.abs(e.position-r.position)-Math.abs(t.position-r.position))[0];return i?zl(Yg({id:`preview`,...r},s),Yg(i,s),null,null,s):null}),V=()=>!!(o.querySelector(`[data-mesurer-text-editor='true']`)||p?.querySelector(`[data-mesurer-text-editor='true']`)),H=e=>{if(r.editSelectionHover&&V()){t.setHoverTarget(null,null);return}let n=d_(e,p,o,c);if(!n){t.setHoverTarget(null,null);return}let i=n.getBoundingClientRect();t.setHoverTarget(n,t.current.settings.hoverHighlightEnabled?{left:i.left,top:i.top,width:i.width,height:i.height}:null)},U=e=>{b=e,!y&&(y=s.requestAnimationFrame(()=>{y=0;let e=b;e&&(t.current.toolMode===`select`&&!t.current.draggingGuideId&&H(e),t.setTransient({hoverPointer:t.current.guides.length?e:null}),t.current.toolMode===`guides`&&!t.current.draggingGuideId&&t.setTransient({guidePreview:{orientation:t.current.guideOrientation,position:Zg({orientation:t.current.guideOrientation,point:e,snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:null,document:o})}}))}))},W=()=>{C&&s.clearTimeout(C),C=0,w=null},ee=e=>{W(),w=e,C=s.setTimeout(()=>{C=0,w===e&&t.setTransient({draggingGuideId:e})},220)},te=()=>{t.setTransient({start:null,end:null,isDragging:!1,draggingGuideId:null,guidePreview:null}),x=null,S=!1,d.key=``,t.endAction()},ne=e=>{if(t.current.settingsOpen||!t.current.enabled||e.button!==0||t.current.toolMode===`none`)return;let n={x:e.clientX,y:e.clientY},r=t.beginAction();if(t.current.altPressed&&R()){e.preventDefault(),r(),t.addHeldDistance({...R(),id:Fl()}),t.endAction();return}if(t.current.toolMode===`guides`){e.preventDefault(),r();let i=Fl(),a=Zg({orientation:t.current.guideOrientation,point:n,snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:null,document:o});t.addGuide({id:i,orientation:t.current.guideOrientation,position:a}),t.setSelectedGuideIds(t.current.settings.selectNewGuideEnabled?[i]:[]),t.setTransient({guidePreview:null}),ee(i),hu(e.currentTarget,e.pointerId);return}t.current.selectedGuideIds.length>0&&(r(),t.setSelectedGuideIds([])),S=e.shiftKey,x=e.shiftKey?A_({point:n,selectedMeasurements:t.current.selectedMeasurements,overlayNode:p,document:o,exact:!0})?.elementRef??null:null,t.setTransient({start:n,end:n,isDragging:!1,selectionOriginRect:null}),hu(e.currentTarget,e.pointerId)},re=e=>{if(!t.current.enabled||t.current.settingsOpen)return;let n={x:e.clientX,y:e.clientY};if(e.altKey!==t.current.altPressed&&t.setTransient({altPressed:e.altKey}),U(n),t.current.draggingGuideId){let e=t.current.guides.find(e=>e.id===t.current.draggingGuideId);if(e){let r=Zg({orientation:e.orientation,point:n,snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:e.id,document:o});t.updateGuide(e.id,{position:r})}return}if(t.current.toolMode===`guides`)return;let r=t.current.start;if(!r)return;let i=S?12:4,a=t.current.isDragging||Math.abs(n.x-r.x)>i||Math.abs(n.y-r.y)>i;t.setTransient({end:n,isDragging:a})},ie=e=>e.flatMap(e=>{let t=e.elementRef;return t?.isConnected?[{...bp(t,s),id:e.id,originRect:e.originRect}]:[]}),G=e=>{if(!t.current.enabled)return;if(t.current.toolMode===`guides`){W(),e.currentTarget.hasPointerCapture?.(e.pointerId)&&e.currentTarget.releasePointerCapture?.(e.pointerId),te();return}if(t.current.toolMode!==`select`){te();return}let n=t.current.start;if(!n){te();return}let i={x:e.clientX,y:e.clientY};if(t.current.isDragging){f=null;let r=Dl(n,i),a=D_(r,p,d,o,c).map(e=>({...bp(e,s),originRect:r})),l=a;if(e.shiftKey){let e=new Map;for(let n of[...t.current.selectedMeasurements,...a])n.elementRef&&e.set(n.elementRef,n);l=[...e.values()]}t.checkpoint();let u=ie(l);t.setSelectedMeasurements(u,u.at(-1)??null),t.setTransient({selectionOriginRect:r}),te();return}let a=x?t.current.selectedMeasurements.find(e=>e.elementRef===x)??null:A_({point:i,selectedMeasurements:t.current.selectedMeasurements,overlayNode:p,document:o,exact:e.shiftKey});if((e.shiftKey||!t.current.settings.hoverHighlightEnabled)&&a){f=null,t.checkpoint();let e=ie(t.current.selectedMeasurements.filter(e=>e.elementRef!==a.elementRef));t.setSelectedMeasurements(e,e.at(-1)??null),te();return}let l;if(e.shiftKey)f=null,l=d_(i,p,o,c)??__(i,p,t.current.settings.snapEnabled,o,c);else if(r.editSelectionHover?.())f=null,l=__(i,p,t.current.settings.snapEnabled,o,c);else{let e=v_(i,p,t.current.settings.snapEnabled,o,c,f);l=e.target,f=e.cycle}if(l){let n=bp(l,s);if(t.checkpoint(),e.shiftKey||t.current.settings.multiMeasureEnabled){let e=t.current.selectedMeasurements.some(e=>e.elementRef===l)?t.current.selectedMeasurements.filter(e=>e.elementRef!==l):[...t.current.selectedMeasurements,n],r=ie(e);t.setSelectedMeasurements(r,r.at(-1)??null)}else t.setSelectedMeasurements([n],n);let r={id:n.id,rect:n.rect,normalizedRect:Tl(n.rect),elementRef:n.elementRef,deltaX:0,deltaY:0};t.setActiveMeasurement(r)}else e.shiftKey||(t.checkpoint(),t.setSelectedMeasurements([],null));te()},ae=()=>{W(),t.current.draggingGuideId||te(),t.setTransient({guidePreview:null})},oe=(e,n)=>{if(!(!t.current.enabled||n.button!==0||t.current.settingsOpen)){if(n.preventDefault(),n.stopPropagation(),t.checkpoint(),n.shiftKey){let n=t.current.selectedGuideIds.includes(e.id)?t.current.selectedGuideIds.filter(t=>t!==e.id):[...t.current.selectedGuideIds,e.id];t.setSelectedGuideIds(n);return}t.setSelectedGuideIds([e.id]),t.setTransient({draggingGuideId:e.id}),hu(n.currentTarget,n.pointerId)}},se=(e,n)=>{n.stopPropagation(),t.setTransient({draggingGuideId:null}),n.currentTarget.hasPointerCapture?.(n.pointerId)&&n.currentTarget.releasePointerCapture?.(n.pointerId)},ce=(e,n,r=null)=>Zg({orientation:e,point:e===`vertical`?{x:n,y:0}:{x:0,y:n},snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:r,document:o}),le=(e,n)=>{t.checkpoint();let r=Fl();return t.addGuide({id:r,orientation:e,position:ce(e,n)}),t.setSelectedGuideIds([]),r},ue=(e,n)=>{let r=t.current.guides.find(t=>t.id===e);r&&t.updateGuide(e,{position:ce(r.orientation,n,e)})},de=e=>{t.current.settings.selectNewGuideEnabled&&t.setSelectedGuideIds([e])},fe=e=>t.setGuides(t.current.guides.filter(t=>t.id!==e)),pe=()=>{t.clearWorkspace(),m?.clear(),h?.clearWorkspace()};po(()=>[t.state.toolMode,t.state.enabled],([e,t])=>{m&&(e===`text-inspector`&&t?m.enable():m.disable())}),po(()=>t.state.xrayVisible,e=>k.setVisible(e)),po(()=>[t.state.settings.highlightColor,t.state.settings.guideColor,t.state.settings.hoverHighlightEnabled,t.state.settings.persistOnReload,t.state.settings.shortcutsEnabled,t.state.settings.theme,t.state.settings.colorPickerClickFormat,t.state.settings.snapEnabled,t.state.settings.snapGuidesEnabled,t.state.settings.selectNewGuideEnabled,t.state.settings.multiMeasureEnabled,t.state.settings.colorPickerFormats.join(`|`),JSON.stringify(t.state.settings.guideStyle),JSON.stringify(t.state.settings.rulerSettings),JSON.stringify(e.selectionSpacingStyle)],()=>{!g||!h||h.saveSettings({...t.serializeSettings(),selectionSpacingStyle:{...$t(()=>e.selectionSpacingStyle)}})}),po(()=>[t.state.enabled,t.state.toolMode,t.state.rulersVisible,t.state.xrayVisible,t.state.guideOrientation,t.state.settings.persistOnReload,t.state.guides.map(e=>`${e.id}:${e.orientation}:${e.position}`).join(`|`),t.state.selectedGuideIds.join(`|`),t.state.heldDistances.map(e=>e.id).join(`|`),t.state.measurements.map(e=>e.id).join(`|`),t.state.activeMeasurement?.id??``],()=>{!g||v||!h||!t.current.settings.persistOnReload||(s.clearTimeout(_),_=s.setTimeout(()=>h?.saveWorkspace(t.serializeWorkspace()),250))});let me=()=>new Set(qg(c).filter(e=>e!==o)),he=()=>{let e=new Map,n=new Map,r=!1,i=(e,t)=>{let n=p?.querySelector(`[data-mesurer-interaction-overlay='true']`);if(!n)return null;let r=lp({x:e.clientX,y:e.clientY},t,o);return r.x<0||r.y<0?null:{currentTarget:n,clientX:r.x,clientY:r.y,button:e.button,buttons:e.buttons,pointerId:e.pointerId,shiftKey:e.shiftKey,altKey:e.altKey,preventDefault:()=>e.preventDefault(),stopPropagation:()=>e.stopPropagation()}},a=(e,n)=>{if(!t.current.enabled||t.current.settingsOpen||t.current.toolMode!==`select`)return;let r=i(e,n);r&&(e.preventDefault(),e.stopImmediatePropagation(),e.type===`pointerdown`?ne(r):e.type===`pointermove`?re(r):e.type===`pointerup`?G(r):ae())},s=e=>{!t.current.enabled||t.current.settingsOpen||t.current.toolMode!==`select`||e.detail===0||(e.preventDefault(),e.stopImmediatePropagation())},c=()=>{if(r)return;let t=me();for(let r of t){if(e.has(r))continue;let t=r.defaultView?.PointerEvent,i=r.defaultView?.MouseEvent,o=e=>{t&&e instanceof t&&a(e,r)},l=[[`pointerdown`,o],[`pointermove`,o],[`pointerup`,o],[`pointercancel`,o],[`click`,e=>{i&&e instanceof i&&s(e)}],[`load`,()=>c()]];for(let[e,t]of l)r.addEventListener(e,t,!0);e.set(r,l);let u=r.defaultView?.MutationObserver;if(u&&r.body){let e=new u(()=>c());e.observe(r.body,{childList:!0,subtree:!0}),n.set(r,e)}}for(let[r,i]of e)if(!t.has(r)){for(let[e,t]of i)r.removeEventListener(e,t,!0);e.delete(r),n.get(r)?.disconnect(),n.delete(r)}},l=()=>c(),u=o.defaultView?.MutationObserver??MutationObserver,d=o.body?new u(()=>c()):null;return o.addEventListener(`load`,l,!0),d?.observe(o.body,{childList:!0,subtree:!0}),c(),()=>{r=!0,o.removeEventListener(`load`,l,!0),d?.disconnect();for(let e of n.values())e.disconnect();for(let[t,n]of e)for(let[e,r]of n)t.removeEventListener(e,r,!0);n.clear(),e.clear()}};return Mn(()=>{ku(Au,n.portalTarget);let e=!!(o.body&&n.portalTarget instanceof s.ShadowRoot&&!(c instanceof s.ShadowRoot)&&c.getRootNode()===o&&s.CSS?.supports(`anchor-name: --mesurer-native-anchor`)&&s.CSS.supports(`position-anchor: --mesurer-native-anchor`)&&s.CSS.supports(`left: anchor(left)`)),a=he(),l=e?o.body:n.portalTarget;l!==n.portalTarget&&ku(Au,l),m=xv({portalTarget:l,theme:()=>t.current.settings.theme,subscribeTheme:e=>{let n=t.current.settings.theme;return e(n),t.subscribe(()=>{let r=t.current.settings.theme;r!==n&&(n=r,e(r))})}});let d=r.persistence??dd(s,u,jv,r.persistKey?void 0:Mv);h=d,d.setErrorHandler?.(r.onPersistenceError);let p=Mu(s);d.setPageKey?.(p);let x=d.load();if(x?.settings){let e=Lv(s,x.settings);t.applyStoredSettings(e),e.selectionSpacingStyle&&i(e.selectionSpacingStyle)}(t.current.settings.persistOnReload||r.persistOnReload)&&x?.workspace&&t.applyStoredWorkspace(x.workspace),g=!0,t.current.toolMode===`text-inspector`&&t.current.enabled&&m.enable();let S=d.subscribe?.((e,n)=>{if(e){if(n?.settings!==!1){let n=Lv(s,e.settings);t.applyStoredSettings(n),n.selectionSpacingStyle&&i(n.selectionSpacingStyle)}n?.workspace!==!1&&e.workspace&&t.current.settings.persistOnReload&&t.applyStoredWorkspace(e.workspace)}}),C=Iu(s,e=>{if(e===p)return;v=!0,s.clearTimeout(_),_=0,t.current.settings.persistOnReload&&d.saveWorkspace(t.serializeWorkspace()),p=e,d.setPageKey?.(e);let n=d.load(),r={enabled:t.current.enabled,toolMode:t.current.toolMode,rulersVisible:t.current.rulersVisible,xrayVisible:t.current.xrayVisible,guideOrientation:t.current.guideOrientation};t.clearAll(!1),m?.clear(),t.current.settings.persistOnReload&&n?.workspace&&t.applyStoredWorkspace({...n.workspace,...r}),v=!1}),w=e=>{if(pu(e,s))return;let n=e.key.toLowerCase(),r=e.metaKey||e.ctrlKey;if(n===`escape`){if(f=null,t.current.settingsOpen){t.setTransient({settingsOpen:!1});return}if(t.current.colorPickerActive){E.deactivate(`color-picker`);return}if(t.current.toolMode===`select`){t.current.selectedMeasurements.length>0||t.current.selectedMeasurement!==null||t.current.selectionOriginRect!==null||t.current.selectedGuideIds.length>0?E.clearSelection():E.deactivate(`select`);return}t.current.toolMode===`text-inspector`&&m?.clear(),t.clearAll();return}if(t.current.settings.shortcutsEnabled){if(e.key===`Alt`){t.setTransient({altPressed:!0});return}if(r&&n===`,`){e.preventDefault(),O(`settings`);return}if(r&&n===`z`){if(e.preventDefault(),t.current.toolMode===`text-inspector`&&(e.shiftKey?m?.redo():m?.undo()))return;e.shiftKey?t.redo():t.undo();return}if((n===`delete`||n===`backspace`)&&t.current.selectedGuideIds.length){e.preventDefault(),t.removeGuides(t.current.selectedGuideIds);return}if(n===`m`){t.current.colorPickerActive&&E.deactivate(`color-picker`),t.toggleEnabled(!0);return}if(n===`s`){O(`select`);return}if(n===`a`){O(`text-inspector`);return}if(n===`g`){O(`guides`);return}if(n===`p`){O(`color-picker`,!0);return}if(n===`x`){O(`xray`);return}if(n===`r`){O(`rulers`);return}if(n===`h`){D(`guides`)||t.setGuideOrientation(`horizontal`,!0);return}n===`v`&&(D(`guides`)||t.setGuideOrientation(`vertical`,!0))}},A=e=>{e.key===`Alt`&&t.setTransient({altPressed:!1})};s.addEventListener(`keydown`,w),s.addEventListener(`keyup`,A);let j=0,M=0,N=()=>yu(o),P=()=>{j||=s.requestAnimationFrame(()=>{j=0;let e=t.current.selectedMeasurements.filter(e=>e.elementRef?.isConnected).map(e=>({...bp(e.elementRef,s),id:e.id,originRect:e.originRect}));if(e.length||t.current.selectedMeasurements.length){let n=t.current.selectedMeasurement?.id;t.setSelectedMeasurements(e,e.find(e=>e.id===n)??e.at(-1)??null)}let n=wl(s);t.current.measurements.length&&t.setMeasurements(t.current.measurements.map(e=>xp(e,n,o))),t.current.activeMeasurement&&t.setActiveMeasurement(xp(t.current.activeMeasurement,n,o)),t.current.heldDistances.length&&t.setHeldDistances(t.current.heldDistances.map(e=>nu(e,n,o,s)));let r=t.current.hoverElement;if(!b&&r&&t.setHoverTarget(null,null),r?.isConnected&&b&&t.current.toolMode===`select`){let e=r.getBoundingClientRect();t.setHoverTarget(r,t.current.settings.hoverHighlightEnabled?{left:e.left,top:e.top,width:e.width,height:e.height}:null)}})},F=()=>{M&&s.clearTimeout(M),M=s.setTimeout(()=>{M=0,P()},Nv)},I=()=>{b=null;let e={x:s.scrollX,y:s.scrollY},n=e.x-T.x,r=e.y-T.y;T=e,(n||r)&&t.current.guides.length&&t.setGuides(t.current.guides.map(e=>({...e,position:e.position-(e.orientation===`vertical`?n:r)}))),N()?F():P()};s.addEventListener(`scroll`,I,{capture:!0,passive:!0}),s.addEventListener(`resize`,P,!0);let L=e=>{let n=t.current.draggingGuideId;if(!n)return;let r=t.current.guides.find(e=>e.id===n);r&&t.updateGuide(n,{position:ce(r.orientation,r.orientation===`vertical`?e.clientX:e.clientY,n)})},R=()=>t.setTransient({draggingGuideId:null});return s.addEventListener(`pointermove`,L,!0),s.addEventListener(`pointerup`,R,!0),s.addEventListener(`pointercancel`,R,!0),()=>{s.cancelAnimationFrame(j),s.cancelAnimationFrame(y),W(),s.clearTimeout(M),s.clearTimeout(_),t.current.settings.persistOnReload&&d.saveWorkspace(t.serializeWorkspace()),S?.(),C(),d.setErrorHandler?.(void 0),s.removeEventListener(`keydown`,w),s.removeEventListener(`keyup`,A),s.removeEventListener(`scroll`,I,!0),s.removeEventListener(`resize`,P,!0),s.removeEventListener(`pointermove`,L,!0),s.removeEventListener(`pointerup`,R,!0),s.removeEventListener(`pointercancel`,R,!0),a(),m?.destroy(),m=null,k.dispose(),E.dispose(),r.onBuiltinController?.(null)}}),Y(Xo,{get mount(){return n.portalMount},get children(){var n=X(`div`,{class:`mesurer-solid-root`,"data-mesurer-root":`true`});return ic(()=>e=>{p=e,t.rendererRoot=e},n),Q(n,Y(q,{get when(){return $s(()=>!!t.state.enabled)()?t.state.rulersVisible:t.state.enabled},get children(){return Y(Mp,{ownerWindow:s,get settings(){return t.state.settings.rulerSettings},get interactive(){return!t.state.settingsOpen},get forceVisible(){return t.state.settingsOpen},get guides(){return t.state.guides},get selectedGuideIds(){return t.state.selectedGuideIds},onStartGuide:le,onMoveGuide:ue,onFinishGuide:de,onCancelGuide:fe})}}),null),Q(n,Y(Dp,{model:t,get displayedSelectedMeasurements(){return M()},get activeRect(){return A()},get optionPairOverlay(){return R()},get guideDistanceOverlay(){return B()},get optionContainerLines(){return z()},get hoverGuide(){return P()},get selectionSpacingStyle(){return e.selectionSpacingStyle},get interactive(){return $s(()=>!!t.state.enabled)()?!t.state.settingsOpen:t.state.enabled},editSelectionHover:()=>r.editSelectionHover?.()??!1,onPointerDown:ne,onPointerMove:re,onPointerUp:G,onPointerLeave:ae,onGuidePointerDown:oe,onGuidePointerUp:se}),null),Q(n,Y(Cl,{model:t,ownerWindow:s,onHostPick:e=>{E.pickColorAt(e)}}),null),Q(n,Y(Wg,{model:t,ownerWindow:s,onBuiltinAction:O,get pluginTools(){return r.pluginTools},get onPluginTool(){return r.onPluginTool},get onPluginToolMenuItem(){return r.onPluginToolMenuItem},isBuiltinActionDisabled:D,onClearWorkspace:pe,get selectionSpacingStyle(){return e.selectionSpacingStyle},onSelectionSpacingStyleChange:i,onResetSettings:()=>{t.resetSettings(),a(),h?.clearSettings()},get initialPosition(){return Jp(s,Pv(s,u))},onPositionChange:e=>Fv(s,u,e),motion:{element:L}}),null),J(()=>t.state.settings.theme,(e,t)=>{$(n,`data-theme`,e,t)}),n}})}function Bv(e){let t=$t(()=>({...Ru,...e.selectionSpacingStyle})),[n,r]=K({...t}),i=e=>r(t=>({...t,...e})),a=()=>r({...t}),o=I_({initialEnabled:!0,initialToolMode:`none`,settings:$t(()=>({highlightColor:e.highlightColor??`oklch(0.62 0.18 255)`,guideColor:e.guideColor??`oklch(0.63 0.26 29.23)`,hoverHighlightEnabled:e.hoverHighlightEnabled??!0,persistOnReload:e.persistOnReload??!1,shortcutsEnabled:e.shortcutsEnabled??!0,theme:e.theme??`system`,toolbarDock:`free`,toolbarAutoHide:!1,colorPickerFormats:e.colorPickerFormats??[`hex`,`rgb`,`oklch`],colorPickerClickFormat:e.colorPickerClickFormat??`hex`,snapEnabled:e.snapEnabled??!0,snapGuidesEnabled:e.snapGuidesEnabled??!0,selectNewGuideEnabled:e.selectNewGuideEnabled??!0,multiMeasureEnabled:e.multiMeasureEnabled??!1,guideStyle:{...Lu,...e.guideStyle},rulerSettings:{...zu,...e.rulerSettings}}))}),[s,c]=K(null);return Mn(()=>{let t=e.portalTarget??document.body,n=t.ownerDocument??document,r=n.defaultView??window,i,a=!1;return t instanceof r.ShadowRoot?(i=n.createElement(`div`),i.dataset.mesurerPortal=`true`,t.append(i),a=!0):i=t,c({ownerDocument:n,ownerWindow:r,portalTarget:t,portalMount:i,ownedPortalMount:a}),()=>{a&&i.remove()}}),Y(q,{get when(){return s()},children:t=>Y(zv,{model:o,get env(){return t()},input:e,get selectionSpacingStyle(){return n()},onSelectionSpacingStyleChange:i,onResetSelectionSpacingStyle:a})})}var Vv=`mesurer.presentation.preferences`,Hv=`presentation`,Uv={keepTextChanges:!1,keepArrangeChanges:!1},Wv=e=>e.state.get(`mesurer.presentation.preferences`)??Uv,Gv=(e,t)=>{e.state.update(Vv,e=>({...e,...t}))},Kv=e=>{e.state.register({id:Vv,initial:{...Uv},persist:!0}),e.settings.register({id:Hv,label:`Changes`,order:20,controls:[{type:`toggle`,id:`keep-text-changes`,label:`Keep text changes`,description:`Keep saved Typography text and style changes visible while another tool is active.`,value:()=>Wv(e).keepTextChanges,set:t=>Gv(e,{keepTextChanges:t})},{type:`toggle`,id:`keep-arrange-changes`,label:`Keep Edit changes`,description:`Keep saved Edit positions visible while another mode is active.`,value:()=>Wv(e).keepArrangeChanges,set:t=>Gv(e,{keepArrangeChanges:t})}]})},qv=`mesurer.arrange`,Jv=`arrange`,Yv=`mesurer.arrange.intents`,Xv=`mesurer.arrange.active`,Zv=`mesurer.arrange.settings`,Qv=`runtime:solid`,$v=`builtin.select`,ey=`arrange.toggle`,ty=`arrange.commit`,ny=`arrange.clear`,ry=`arrange.reset-selection`,iy=`arrange.reset-all`,ay=`mesurer.arrange.selection-available`,oy=1,sy=24,cy=160,ly=500,uy=`#ef4444`,dy=24,fy=6,py=30,my=.5,hy=4,gy=`[data-mesurer-text-editor='true']`,_y={viewBox:`0 0 24 24`,paths:[`M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z`]},vy=(e,t)=>({left:e.left+t.x,top:e.top+t.y,width:e.width,height:e.height}),yy=(e,t)=>({left:e.left-t.left,top:e.top-t.top,width:e.width-t.width,height:e.height-t.height}),by=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}},xy=(e,t,n,r)=>Math.max(0,Math.max(e,n)-Math.min(t,r)),Sy=(e,t,n)=>{let r=t===`x`?e.left:e.top,i=t===`x`?e.width:e.height,a=r+i;return n===`edge`?[r,a]:n===`center`?[r+i/2]:[r,r+i/2,a]},Cy=(e,t)=>t===`x`?{start:e.top,end:e.top+e.height}:{start:e.left,end:e.left+e.width},wy=e=>e.kind===`edge`?2:+(e.kind===`guide`),Ty=(e,t,n)=>{let r=Cy(t,e),i=null;for(let a of n)if(a.axis===e&&!(a.source===`element`&&xy(r.start,r.end,a.start,a.end)>cy))for(let n of Sy(t,e,a.kind)){let e=a.position-n,t=Math.abs(e);if(t>10)continue;let r=i?Math.abs(i.delta):1/0;(t<r||t===r&&(!i||wy(a)>wy(i)))&&(i={...a,delta:e})}return i},Ey=e=>{let{origin:t,pathname:n,search:r}=e.location;return`${t}${n}${r}`},Dy=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,Oy=e=>({tag:e.fingerprintTag,id:e.fingerprintId,testId:e.fingerprintTestId,role:e.fingerprintRole,ariaLabel:e.fingerprintAriaLabel,classes:[...e.fingerprintClasses],text:e.fingerprintText}),ky=e=>({id:e.id,selector:e.selector,fingerprint:Oy(e),before:{left:e.beforeLeft,top:e.beforeTop,width:e.beforeWidth,height:e.beforeHeight},desired:{left:e.desiredLeft,top:e.desiredTop,width:e.desiredWidth,height:e.desiredHeight},beforeOffset:{x:e.beforeOffsetX,y:e.beforeOffsetY},desiredOffset:{x:e.desiredOffsetX,y:e.desiredOffsetY}}),Ay=e=>({id:e.id,createdAt:e.createdAt,pageUrl:e.pageUrl,targets:e.targets.map(ky)}),jy=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),My=e=>jy(e,`transform`),Ny=(e,t)=>e.value===t.value&&e.priority===t.priority,Py=Ny,Fy=e=>{let{element:t,beforeTransform:n,appliedTransform:r}=e;Py(My(t),r)&&(n.value||n.priority?t.style.setProperty(`transform`,n.value,n.priority):t.style.removeProperty(`transform`))},Iy=e=>e instanceof Element&&!!e.closest(`input, textarea, select, [contenteditable='true'], [contenteditable='']`),Ly=()=>wc({id:qv,version:`0.1.0`,requires:[Qv,`tool:select`],provides:[`tool:arrange`,`intent:arrange`,`agent:arrange`,`settings:arrange`],setup(e){let t=e.service.get(Qv);if(!t)throw Error(`Edit movement plugin requires the Solid renderer runtime.`);let{ownerDocument:n,ownerWindow:r}=t,i=t.createWorkspaceRuntime(),a=t.createInspectorMount(),o=t.pageTarget??n.body??n.documentElement,s=t.portalTarget,c=r;e.state.register({id:Yv,initial:{intents:[]},history:!0,persist:!0}),e.state.register({id:Xv,initial:!1}),e.state.register({id:Zv,initial:{snapping:!0,elementEdges:!0,elementCenters:!0,guides:!0,preferXrayEdges:!0,snapLines:!0},persist:!0});let l=a.element;l.dataset.mesurerArrange=`true`,l.style.position=`fixed`,l.style.inset=`0`,l.style.zIndex=`84`,l.style.pointerEvents=`none`;let u=n.createElement(`div`);u.dataset.mesurerArrangeSnapLine=`vertical`,u.setAttribute(`aria-hidden`,`true`),u.style.position=`fixed`,u.style.display=`none`,u.style.width=`1px`,u.style.backgroundColor=uy,u.style.pointerEvents=`none`;let d=n.createElement(`div`);d.dataset.mesurerArrangeSnapLine=`horizontal`,d.setAttribute(`aria-hidden`,`true`),d.style.position=`fixed`,d.style.display=`none`,d.style.height=`1px`,d.style.backgroundColor=uy,d.style.pointerEvents=`none`;let f=n.createElement(`div`);f.dataset.mesurerArrangeBox=`true`,f.setAttribute(`role`,`application`),f.setAttribute(`aria-label`,`Edit selected elements`),f.style.position=`fixed`,f.style.display=`none`,f.style.boxSizing=`border-box`,f.style.border=`1px solid #0d99ff`,f.style.cursor=`grab`,f.style.pointerEvents=`auto`,f.style.touchAction=`none`,f.style.userSelect=`none`,l.append(u,d,f);let p=new Map,m=n.createElement(`style`);m.dataset.mesurerArrangeNativePaintGuard=`true`,m.textContent=`
2210
+ `,Ev=new WeakMap,Dv=e=>{let t=Ev.get(e);if(t)return t;let n=e.createElement(`style`);n.dataset.mesurerXrayStyle=`true`,n.textContent=Tv(`.${Cv}`);let r={activeInstances:new Set,style:n};return Ev.set(e,r),r},Ov=(e,t,n)=>{let r=Dv(e);n?r.activeInstances.add(t):r.activeInstances.delete(t);let i=e.body??e.documentElement,a=r.activeInstances.size>0;i?.classList.toggle(Cv,a),a?r.style.isConnected||e.head?.append(r.style):r.style.remove()};function kv(e){let{ownerDocument:t,target:n,instanceId:r}=e,i=t.defaultView??window,a=n instanceof i.ShadowRoot,o=!a&&(n===t.body||n===t.documentElement),s=wv(r),c=t.createElement(`style`);c.dataset.mesurerXrayStyle=`true`,c.textContent=Tv(a?`:host`:`.${s}`);let l=a?null:n.getRootNode(),u=l instanceof i.ShadowRoot?l:t.head,d=new Set,f=new Map,p=!1,m=e=>{let t=f.get(e);t&&(e.removeEventListener(`load`,t.load,!0),t.observer?.disconnect(),f.delete(e))},h=()=>{let e=p?new Set(Jg(n)):new Set;for(let t of d)e.has(t)||Ov(t,r,!1);for(let t of e)Ov(t,r,!0);d.clear();for(let t of e){if(d.add(t),f.has(t))continue;let e=()=>h(),n=t.defaultView?.MutationObserver,r=n&&t.body?new n(()=>h()):null;t.addEventListener(`load`,e,!0),r?.observe(t.body,{childList:!0,subtree:!0}),f.set(t,{load:e,observer:r})}for(let t of f.keys())e.has(t)||m(t)},g=e=>{if(p!==e){if(p=e,o){h();return}if(a){e&&!c.isConnected?n.append(c):e||c.remove();return}n.classList.toggle(s,e),e&&!c.isConnected&&u?.append(c),e||c.remove()}};return{setVisible:g,dispose(){p&&g(!1);for(let e of f.keys())m(e);for(let e of d)Ov(e,r,!1);d.clear(),c.remove()}}}var Av=0,jv=`mesurer:tab-id`,Mv=`mesurer-settings`,Nv=`mesurer-state`,Pv=80,Fv=(e,t)=>{try{let n=e.sessionStorage.getItem(`${t}:toolbar-position`);if(!n)return;let r=JSON.parse(n);return!Number.isFinite(r.x)||!Number.isFinite(r.y)?void 0:{x:r.x,y:r.y,edge:r.edge===`top`||r.edge===`bottom`||r.edge===`left`||r.edge===`right`?r.edge:null,align:r.align===`start`||r.align===`end`?r.align:`center`,vertical:r.vertical===!0}}catch{return}},Iv=(e,t,n)=>{try{e.sessionStorage.setItem(`${t}:toolbar-position`,JSON.stringify(n))}catch{}},Lv=e=>{try{let t=e.sessionStorage.getItem(jv);if(t)return t;let n=e.crypto.randomUUID();return e.sessionStorage.setItem(jv,n),n}catch{return`session`}},Rv=(e,t)=>{let n=t=>t!==void 0&&e.document.defaultView?.CSS?.supports(`color`,t)===!0,r={...t};if(n(t.highlightColor)||(r.highlightColor=void 0),n(t.guideColor)||(r.guideColor=void 0),t.selectionSpacingStyle){let e={...t.selectionSpacingStyle};e.color!==void 0&&!n(e.color)&&(e.color=void 0),r.selectionSpacingStyle=e}return r},zv=(e,t)=>{if(e.length<=1)return null;let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let t of e)n=Math.min(n,t.rect.left),r=Math.min(r,t.rect.top),i=Math.max(i,t.rect.left+t.rect.width),a=Math.max(a,t.rect.top+t.rect.height);let o={left:n,top:r,width:i-n,height:a-r};return{...e[e.length-1],id:`group-${e.map(e=>e.id).join(`|`)}`,label:`${e.length} elements`,rect:o,paddingRect:o,marginRect:o,padding:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0},elementRef:void 0,originRect:t??void 0}};function Bv(e){let t=$t(()=>e.model),n=$t(()=>e.env),r=$t(()=>e.input),i=$t(()=>e.onSelectionSpacingStyleChange),a=$t(()=>e.onResetSelectionSpacingStyle),{ownerDocument:o,ownerWindow:s}=n,c=r.pageTarget??o.body,l=++Av,u=r.persistKey??`mesurer-state:${Lv(s)}${l===1?``:`:${l}`}`,d={key:``,entries:[],overlayNode:null,frame:-1},f=null,p=null,m=null,h=null,g=!1,_=0,v=!1,y=0,b=null,x=null,S=!1,C=0,w=null,T={x:s.scrollX,y:s.scrollY},E=q_({model:t,ownerWindow:s,ownerDocument:o,uiRoot:()=>p}),D=e=>r.isBuiltinActionDisabled?.(e)??!1,O=(e,n=!1)=>{D(e)||(f=null,e===`color-picker`&&n&&t.current.colorPickerActive&&E.deactivate(`color-picker`),E.run(e))},k=kv({ownerDocument:o,target:r.pageTarget??o.body,instanceId:l});r.onBuiltinController?.(E);let A=co(()=>{let e=t.state.start,n=t.state.end;return e&&n?Dl(e,n):null}),j=co(()=>zv(t.state.selectedMeasurements,t.state.selectionOriginRect)),M=co(()=>j()?[j()]:t.state.selectedMeasurements.length?t.state.selectedMeasurements:t.state.selectedMeasurement?[t.state.selectedMeasurement]:[]),N=co(()=>e_(t.state.guides,t.state.selectedGuideIds)),P=co(()=>$g(t.state.hoverPointer,t.state.guides)),F=co(()=>j()??t.state.selectedMeasurement??t.state.selectedMeasurements.at(-1)??null),I=()=>(r.pluginTools??[]).some(e=>e.modeSwitch===!0&&e.toolbarMode===`edit`&&(e.active?.()??!1)),L=co(()=>{if(I())return null;let e=F()?.elementRef??null;return e?.isConnected?e:null}),R=co(()=>t_({document:o,window:s,altPressed:t.state.altPressed,primarySelectedMeasurement:F(),selectedGuide:N(),hoverGuide:P(),hoverElement:t.state.hoverElement,selectedElementRef:F()?.elementRef??null})),z=co(()=>n_({document:o,window:s,altPressed:t.state.altPressed,primarySelectedMeasurement:F(),optionPairOverlay:R(),selectedGuideIds:t.state.selectedGuideIds,selectedElement:F()?.elementRef??null,hoverElement:t.state.hoverElement})),B=co(()=>{if(!t.state.altPressed||t.state.toolMode!==`guides`)return null;let e=N(),n=P();if(e&&n&&e.id!==n.id)return zl(Xg(e,s),Xg(n,s),null,null,s);let r=t.state.guidePreview;if(!r)return null;let i=t.state.guides.filter(e=>e.orientation===r.orientation).sort((e,t)=>Math.abs(e.position-r.position)-Math.abs(t.position-r.position))[0];return i?zl(Xg({id:`preview`,...r},s),Xg(i,s),null,null,s):null}),V=()=>!!(o.querySelector(`[data-mesurer-text-editor='true']`)||p?.querySelector(`[data-mesurer-text-editor='true']`)),H=e=>{if(r.editSelectionHover&&V()){t.setHoverTarget(null,null);return}let n=f_(e,p,o,c);if(!n){t.setHoverTarget(null,null);return}let i=n.getBoundingClientRect();t.setHoverTarget(n,t.current.settings.hoverHighlightEnabled?{left:i.left,top:i.top,width:i.width,height:i.height}:null)},U=e=>{b=e,!y&&(y=s.requestAnimationFrame(()=>{y=0;let e=b;e&&(t.current.toolMode===`select`&&!t.current.draggingGuideId&&H(e),t.setTransient({hoverPointer:t.current.guides.length?e:null}),t.current.toolMode===`guides`&&!t.current.draggingGuideId&&t.setTransient({guidePreview:{orientation:t.current.guideOrientation,position:Qg({orientation:t.current.guideOrientation,point:e,snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:null,document:o})}}))}))},W=()=>{C&&s.clearTimeout(C),C=0,w=null},ee=e=>{W(),w=e,C=s.setTimeout(()=>{C=0,w===e&&t.setTransient({draggingGuideId:e})},220)},te=()=>{t.setTransient({start:null,end:null,isDragging:!1,draggingGuideId:null,guidePreview:null}),x=null,S=!1,d.key=``,t.endAction()},ne=e=>{if(t.current.settingsOpen||!t.current.enabled||e.button!==0||t.current.toolMode===`none`)return;let n={x:e.clientX,y:e.clientY},r=t.beginAction();if(t.current.altPressed&&R()){e.preventDefault(),r(),t.addHeldDistance({...R(),id:Fl()}),t.endAction();return}if(t.current.toolMode===`guides`){e.preventDefault(),r();let i=Fl(),a=Qg({orientation:t.current.guideOrientation,point:n,snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:null,document:o});t.addGuide({id:i,orientation:t.current.guideOrientation,position:a}),t.setSelectedGuideIds(t.current.settings.selectNewGuideEnabled?[i]:[]),t.setTransient({guidePreview:null}),ee(i),hu(e.currentTarget,e.pointerId);return}t.current.selectedGuideIds.length>0&&(r(),t.setSelectedGuideIds([])),S=e.shiftKey,x=e.shiftKey?j_({point:n,selectedMeasurements:t.current.selectedMeasurements,overlayNode:p,document:o,exact:!0})?.elementRef??null:null,t.setTransient({start:n,end:n,isDragging:!1,selectionOriginRect:null}),hu(e.currentTarget,e.pointerId)},re=e=>{if(!t.current.enabled||t.current.settingsOpen)return;let n={x:e.clientX,y:e.clientY};if(e.altKey!==t.current.altPressed&&t.setTransient({altPressed:e.altKey}),U(n),t.current.draggingGuideId){let e=t.current.guides.find(e=>e.id===t.current.draggingGuideId);if(e){let r=Qg({orientation:e.orientation,point:n,snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:e.id,document:o});t.updateGuide(e.id,{position:r})}return}if(t.current.toolMode===`guides`)return;let r=t.current.start;if(!r)return;let i=S?12:4,a=t.current.isDragging||Math.abs(n.x-r.x)>i||Math.abs(n.y-r.y)>i;t.setTransient({end:n,isDragging:a})},ie=e=>e.flatMap(e=>{let t=e.elementRef;return t?.isConnected?[{...bp(t,s),id:e.id,originRect:e.originRect}]:[]}),G=e=>{if(!t.current.enabled)return;if(t.current.toolMode===`guides`){W(),e.currentTarget.hasPointerCapture?.(e.pointerId)&&e.currentTarget.releasePointerCapture?.(e.pointerId),te();return}if(t.current.toolMode!==`select`){te();return}let n=t.current.start;if(!n){te();return}let i={x:e.clientX,y:e.clientY};if(t.current.isDragging){f=null;let r=Dl(n,i),a=O_(r,p,d,o,c).map(e=>({...bp(e,s),originRect:r})),l=a;if(e.shiftKey){let e=new Map;for(let n of[...t.current.selectedMeasurements,...a])n.elementRef&&e.set(n.elementRef,n);l=[...e.values()]}t.checkpoint();let u=ie(l);t.setSelectedMeasurements(u,u.at(-1)??null),t.setTransient({selectionOriginRect:r}),te();return}let a=x?t.current.selectedMeasurements.find(e=>e.elementRef===x)??null:j_({point:i,selectedMeasurements:t.current.selectedMeasurements,overlayNode:p,document:o,exact:e.shiftKey});if((e.shiftKey||!t.current.settings.hoverHighlightEnabled)&&a){f=null,t.checkpoint();let e=ie(t.current.selectedMeasurements.filter(e=>e.elementRef!==a.elementRef));t.setSelectedMeasurements(e,e.at(-1)??null),te();return}let l;if(e.shiftKey)f=null,l=f_(i,p,o,c)??v_(i,p,t.current.settings.snapEnabled,o,c);else if(r.editSelectionHover?.())f=null,l=v_(i,p,t.current.settings.snapEnabled,o,c);else{let e=y_(i,p,t.current.settings.snapEnabled,o,c,f);l=e.target,f=e.cycle}if(l){let n=bp(l,s);if(t.checkpoint(),e.shiftKey||t.current.settings.multiMeasureEnabled){let e=t.current.selectedMeasurements.some(e=>e.elementRef===l)?t.current.selectedMeasurements.filter(e=>e.elementRef!==l):[...t.current.selectedMeasurements,n],r=ie(e);t.setSelectedMeasurements(r,r.at(-1)??null)}else t.setSelectedMeasurements([n],n);let r={id:n.id,rect:n.rect,normalizedRect:Tl(n.rect),elementRef:n.elementRef,deltaX:0,deltaY:0};t.setActiveMeasurement(r)}else e.shiftKey||(t.checkpoint(),t.setSelectedMeasurements([],null));te()},ae=()=>{W(),t.current.draggingGuideId||te(),t.setTransient({guidePreview:null})},oe=(e,n)=>{if(!(!t.current.enabled||n.button!==0||t.current.settingsOpen)){if(n.preventDefault(),n.stopPropagation(),t.checkpoint(),n.shiftKey){let n=t.current.selectedGuideIds.includes(e.id)?t.current.selectedGuideIds.filter(t=>t!==e.id):[...t.current.selectedGuideIds,e.id];t.setSelectedGuideIds(n);return}t.setSelectedGuideIds([e.id]),t.setTransient({draggingGuideId:e.id}),hu(n.currentTarget,n.pointerId)}},se=(e,n)=>{n.stopPropagation(),t.setTransient({draggingGuideId:null}),n.currentTarget.hasPointerCapture?.(n.pointerId)&&n.currentTarget.releasePointerCapture?.(n.pointerId)},ce=(e,n,r=null)=>Qg({orientation:e,point:e===`vertical`?{x:n,y:0}:{x:0,y:n},snapGuidesEnabled:t.current.settings.snapGuidesEnabled,overlayNode:p,guides:t.current.guides,draggingGuideId:r,document:o}),le=(e,n)=>{t.checkpoint();let r=Fl();return t.addGuide({id:r,orientation:e,position:ce(e,n)}),t.setSelectedGuideIds([]),r},ue=(e,n)=>{let r=t.current.guides.find(t=>t.id===e);r&&t.updateGuide(e,{position:ce(r.orientation,n,e)})},de=e=>{t.current.settings.selectNewGuideEnabled&&t.setSelectedGuideIds([e])},fe=e=>t.setGuides(t.current.guides.filter(t=>t.id!==e)),pe=()=>{t.clearWorkspace(),m?.clear(),h?.clearWorkspace()};po(()=>[t.state.toolMode,t.state.enabled],([e,t])=>{m&&(e===`text-inspector`&&t?m.enable():m.disable())}),po(()=>t.state.xrayVisible,e=>k.setVisible(e)),po(()=>[t.state.settings.highlightColor,t.state.settings.guideColor,t.state.settings.hoverHighlightEnabled,t.state.settings.persistOnReload,t.state.settings.shortcutsEnabled,t.state.settings.theme,t.state.settings.colorPickerClickFormat,t.state.settings.snapEnabled,t.state.settings.snapGuidesEnabled,t.state.settings.selectNewGuideEnabled,t.state.settings.multiMeasureEnabled,t.state.settings.colorPickerFormats.join(`|`),JSON.stringify(t.state.settings.guideStyle),JSON.stringify(t.state.settings.rulerSettings),JSON.stringify(e.selectionSpacingStyle)],()=>{!g||!h||h.saveSettings({...t.serializeSettings(),selectionSpacingStyle:{...$t(()=>e.selectionSpacingStyle)}})}),po(()=>[t.state.enabled,t.state.toolMode,t.state.rulersVisible,t.state.xrayVisible,t.state.guideOrientation,t.state.settings.persistOnReload,t.state.guides.map(e=>`${e.id}:${e.orientation}:${e.position}`).join(`|`),t.state.selectedGuideIds.join(`|`),t.state.heldDistances.map(e=>e.id).join(`|`),t.state.measurements.map(e=>e.id).join(`|`),t.state.activeMeasurement?.id??``],()=>{!g||v||!h||!t.current.settings.persistOnReload||(s.clearTimeout(_),_=s.setTimeout(()=>h?.saveWorkspace(t.serializeWorkspace()),250))});let me=()=>new Set(Jg(c).filter(e=>e!==o)),he=()=>{let e=new Map,n=new Map,r=!1,i=(e,t)=>{let n=p?.querySelector(`[data-mesurer-interaction-overlay='true']`);if(!n)return null;let r=lp({x:e.clientX,y:e.clientY},t,o);return r.x<0||r.y<0?null:{currentTarget:n,clientX:r.x,clientY:r.y,button:e.button,buttons:e.buttons,pointerId:e.pointerId,shiftKey:e.shiftKey,altKey:e.altKey,preventDefault:()=>e.preventDefault(),stopPropagation:()=>e.stopPropagation()}},a=(e,n)=>{if(!t.current.enabled||t.current.settingsOpen||t.current.toolMode!==`select`)return;let r=i(e,n);r&&(e.preventDefault(),e.stopImmediatePropagation(),e.type===`pointerdown`?ne(r):e.type===`pointermove`?re(r):e.type===`pointerup`?G(r):ae())},s=e=>{!t.current.enabled||t.current.settingsOpen||t.current.toolMode!==`select`||e.detail===0||(e.preventDefault(),e.stopImmediatePropagation())},c=()=>{if(r)return;let t=me();for(let r of t){if(e.has(r))continue;let t=r.defaultView?.PointerEvent,i=r.defaultView?.MouseEvent,o=e=>{t&&e instanceof t&&a(e,r)},l=[[`pointerdown`,o],[`pointermove`,o],[`pointerup`,o],[`pointercancel`,o],[`click`,e=>{i&&e instanceof i&&s(e)}],[`load`,()=>c()]];for(let[e,t]of l)r.addEventListener(e,t,!0);e.set(r,l);let u=r.defaultView?.MutationObserver;if(u&&r.body){let e=new u(()=>c());e.observe(r.body,{childList:!0,subtree:!0}),n.set(r,e)}}for(let[r,i]of e)if(!t.has(r)){for(let[e,t]of i)r.removeEventListener(e,t,!0);e.delete(r),n.get(r)?.disconnect(),n.delete(r)}},l=()=>c(),u=o.defaultView?.MutationObserver??MutationObserver,d=o.body?new u(()=>c()):null;return o.addEventListener(`load`,l,!0),d?.observe(o.body,{childList:!0,subtree:!0}),c(),()=>{r=!0,o.removeEventListener(`load`,l,!0),d?.disconnect();for(let e of n.values())e.disconnect();for(let[t,n]of e)for(let[e,r]of n)t.removeEventListener(e,r,!0);n.clear(),e.clear()}};return Mn(()=>{ku(Au,n.portalTarget);let e=!!(o.body&&n.portalTarget instanceof s.ShadowRoot&&!(c instanceof s.ShadowRoot)&&c.getRootNode()===o&&s.CSS?.supports(`anchor-name: --mesurer-native-anchor`)&&s.CSS.supports(`position-anchor: --mesurer-native-anchor`)&&s.CSS.supports(`left: anchor(left)`)),a=he(),l=e?o.body:n.portalTarget;l!==n.portalTarget&&ku(Au,l),m=Sv({portalTarget:l,theme:()=>t.current.settings.theme,subscribeTheme:e=>{let n=t.current.settings.theme;return e(n),t.subscribe(()=>{let r=t.current.settings.theme;r!==n&&(n=r,e(r))})}});let d=r.persistence??dd(s,u,Mv,r.persistKey?void 0:Nv);h=d,d.setErrorHandler?.(r.onPersistenceError);let p=Mu(s);d.setPageKey?.(p);let x=d.load();if(x?.settings){let e=Rv(s,x.settings);t.applyStoredSettings(e),e.selectionSpacingStyle&&i(e.selectionSpacingStyle)}(t.current.settings.persistOnReload||r.persistOnReload)&&x?.workspace&&t.applyStoredWorkspace(x.workspace),g=!0,t.current.toolMode===`text-inspector`&&t.current.enabled&&m.enable();let S=d.subscribe?.((e,n)=>{if(e){if(n?.settings!==!1){let n=Rv(s,e.settings);t.applyStoredSettings(n),n.selectionSpacingStyle&&i(n.selectionSpacingStyle)}n?.workspace!==!1&&e.workspace&&t.current.settings.persistOnReload&&t.applyStoredWorkspace(e.workspace)}}),C=Iu(s,e=>{if(e===p)return;v=!0,s.clearTimeout(_),_=0,t.current.settings.persistOnReload&&d.saveWorkspace(t.serializeWorkspace()),p=e,d.setPageKey?.(e);let n=d.load(),r={enabled:t.current.enabled,toolMode:t.current.toolMode,rulersVisible:t.current.rulersVisible,xrayVisible:t.current.xrayVisible,guideOrientation:t.current.guideOrientation};t.clearAll(!1),m?.clear(),t.current.settings.persistOnReload&&n?.workspace&&t.applyStoredWorkspace({...n.workspace,...r}),v=!1}),w=e=>{if(pu(e,s))return;let n=e.key.toLowerCase(),r=e.metaKey||e.ctrlKey;if(n===`escape`){if(f=null,t.current.settingsOpen){t.setTransient({settingsOpen:!1});return}if(t.current.colorPickerActive){E.deactivate(`color-picker`);return}if(t.current.toolMode===`select`){t.current.selectedMeasurements.length>0||t.current.selectedMeasurement!==null||t.current.selectionOriginRect!==null||t.current.selectedGuideIds.length>0?E.clearSelection():E.deactivate(`select`);return}t.current.toolMode===`text-inspector`&&m?.clear(),t.clearAll();return}if(t.current.settings.shortcutsEnabled){if(e.key===`Alt`){t.setTransient({altPressed:!0});return}if(r&&n===`,`){e.preventDefault(),O(`settings`);return}if(r&&n===`z`){if(e.preventDefault(),t.current.toolMode===`text-inspector`&&(e.shiftKey?m?.redo():m?.undo()))return;e.shiftKey?t.redo():t.undo();return}if((n===`delete`||n===`backspace`)&&t.current.selectedGuideIds.length){e.preventDefault(),t.removeGuides(t.current.selectedGuideIds);return}if(n===`m`){t.current.colorPickerActive&&E.deactivate(`color-picker`),t.toggleEnabled(!0);return}if(n===`s`){O(`select`);return}if(n===`a`){O(`text-inspector`);return}if(n===`g`){O(`guides`);return}if(n===`p`){O(`color-picker`,!0);return}if(n===`x`){O(`xray`);return}if(n===`r`){O(`rulers`);return}if(n===`h`){D(`guides`)||t.setGuideOrientation(`horizontal`,!0);return}n===`v`&&(D(`guides`)||t.setGuideOrientation(`vertical`,!0))}},A=e=>{e.key===`Alt`&&t.setTransient({altPressed:!1})};s.addEventListener(`keydown`,w),s.addEventListener(`keyup`,A);let j=0,M=0,N=()=>yu(o),P=()=>{j||=s.requestAnimationFrame(()=>{j=0;let e=t.current.selectedMeasurements.filter(e=>e.elementRef?.isConnected).map(e=>({...bp(e.elementRef,s),id:e.id,originRect:e.originRect}));if(e.length||t.current.selectedMeasurements.length){let n=t.current.selectedMeasurement?.id;t.setSelectedMeasurements(e,e.find(e=>e.id===n)??e.at(-1)??null)}let n=wl(s);t.current.measurements.length&&t.setMeasurements(t.current.measurements.map(e=>xp(e,n,o))),t.current.activeMeasurement&&t.setActiveMeasurement(xp(t.current.activeMeasurement,n,o)),t.current.heldDistances.length&&t.setHeldDistances(t.current.heldDistances.map(e=>nu(e,n,o,s)));let r=t.current.hoverElement;if(!b&&r&&t.setHoverTarget(null,null),r?.isConnected&&b&&t.current.toolMode===`select`){let e=r.getBoundingClientRect();t.setHoverTarget(r,t.current.settings.hoverHighlightEnabled?{left:e.left,top:e.top,width:e.width,height:e.height}:null)}})},F=()=>{M&&s.clearTimeout(M),M=s.setTimeout(()=>{M=0,P()},Pv)},I=()=>{b=null;let e={x:s.scrollX,y:s.scrollY},n=e.x-T.x,r=e.y-T.y;T=e,(n||r)&&t.current.guides.length&&t.setGuides(t.current.guides.map(e=>({...e,position:e.position-(e.orientation===`vertical`?n:r)}))),N()?F():P()};s.addEventListener(`scroll`,I,{capture:!0,passive:!0}),s.addEventListener(`resize`,P,!0);let L=e=>{let n=t.current.draggingGuideId;if(!n)return;let r=t.current.guides.find(e=>e.id===n);r&&t.updateGuide(n,{position:ce(r.orientation,r.orientation===`vertical`?e.clientX:e.clientY,n)})},R=()=>t.setTransient({draggingGuideId:null});return s.addEventListener(`pointermove`,L,!0),s.addEventListener(`pointerup`,R,!0),s.addEventListener(`pointercancel`,R,!0),()=>{s.cancelAnimationFrame(j),s.cancelAnimationFrame(y),W(),s.clearTimeout(M),s.clearTimeout(_),t.current.settings.persistOnReload&&d.saveWorkspace(t.serializeWorkspace()),S?.(),C(),d.setErrorHandler?.(void 0),s.removeEventListener(`keydown`,w),s.removeEventListener(`keyup`,A),s.removeEventListener(`scroll`,I,!0),s.removeEventListener(`resize`,P,!0),s.removeEventListener(`pointermove`,L,!0),s.removeEventListener(`pointerup`,R,!0),s.removeEventListener(`pointercancel`,R,!0),a(),m?.destroy(),m=null,k.dispose(),E.dispose(),r.onBuiltinController?.(null)}}),Y(Xo,{get mount(){return n.portalMount},get children(){var n=X(`div`,{class:`mesurer-solid-root`,"data-mesurer-root":`true`});return ic(()=>e=>{p=e,t.rendererRoot=e},n),Q(n,Y(q,{get when(){return $s(()=>!!t.state.enabled)()?t.state.rulersVisible:t.state.enabled},get children(){return Y(Mp,{ownerWindow:s,get settings(){return t.state.settings.rulerSettings},get interactive(){return!t.state.settingsOpen},get forceVisible(){return t.state.settingsOpen},get guides(){return t.state.guides},get selectedGuideIds(){return t.state.selectedGuideIds},onStartGuide:le,onMoveGuide:ue,onFinishGuide:de,onCancelGuide:fe})}}),null),Q(n,Y(Dp,{model:t,get displayedSelectedMeasurements(){return M()},get activeRect(){return A()},get optionPairOverlay(){return R()},get guideDistanceOverlay(){return B()},get optionContainerLines(){return z()},get hoverGuide(){return P()},get selectionSpacingStyle(){return e.selectionSpacingStyle},get interactive(){return $s(()=>!!t.state.enabled)()?!t.state.settingsOpen:t.state.enabled},editSelectionHover:()=>r.editSelectionHover?.()??!1,onPointerDown:ne,onPointerMove:re,onPointerUp:G,onPointerLeave:ae,onGuidePointerDown:oe,onGuidePointerUp:se}),null),Q(n,Y(Cl,{model:t,ownerWindow:s,onHostPick:e=>{E.pickColorAt(e)}}),null),Q(n,Y(Gg,{model:t,ownerWindow:s,onBuiltinAction:O,get pluginTools(){return r.pluginTools},get onPluginTool(){return r.onPluginTool},get onPluginToolMenuItem(){return r.onPluginToolMenuItem},isBuiltinActionDisabled:D,onClearWorkspace:pe,get selectionSpacingStyle(){return e.selectionSpacingStyle},onSelectionSpacingStyleChange:i,onResetSettings:()=>{t.resetSettings(),a(),h?.clearSettings()},get initialPosition(){return Jp(s,Fv(s,u))},onPositionChange:e=>Iv(s,u,e),motion:{element:L}}),null),J(()=>t.state.settings.theme,(e,t)=>{$(n,`data-theme`,e,t)}),n}})}function Vv(e){let t=$t(()=>({...Ru,...e.selectionSpacingStyle})),[n,r]=K({...t}),i=e=>r(t=>({...t,...e})),a=()=>r({...t}),o=L_({initialEnabled:!0,initialToolMode:`none`,settings:$t(()=>({highlightColor:e.highlightColor??`oklch(0.62 0.18 255)`,guideColor:e.guideColor??`oklch(0.63 0.26 29.23)`,hoverHighlightEnabled:e.hoverHighlightEnabled??!0,persistOnReload:e.persistOnReload??!1,shortcutsEnabled:e.shortcutsEnabled??!0,theme:e.theme??`system`,toolbarDock:`free`,toolbarAutoHide:!1,colorPickerFormats:e.colorPickerFormats??[`hex`,`rgb`,`oklch`],colorPickerClickFormat:e.colorPickerClickFormat??`hex`,snapEnabled:e.snapEnabled??!0,snapGuidesEnabled:e.snapGuidesEnabled??!0,selectNewGuideEnabled:e.selectNewGuideEnabled??!0,multiMeasureEnabled:e.multiMeasureEnabled??!1,guideStyle:{...Lu,...e.guideStyle},rulerSettings:{...zu,...e.rulerSettings}}))}),[s,c]=K(null);return Mn(()=>{let t=e.portalTarget??document.body,n=t.ownerDocument??document,r=n.defaultView??window,i,a=!1;return t instanceof r.ShadowRoot?(i=n.createElement(`div`),i.dataset.mesurerPortal=`true`,t.append(i),a=!0):i=t,c({ownerDocument:n,ownerWindow:r,portalTarget:t,portalMount:i,ownedPortalMount:a}),()=>{a&&i.remove()}}),Y(q,{get when(){return s()},children:t=>Y(Bv,{model:o,get env(){return t()},input:e,get selectionSpacingStyle(){return n()},onSelectionSpacingStyleChange:i,onResetSelectionSpacingStyle:a})})}var Hv=`mesurer.presentation.preferences`,Uv=`presentation`,Wv={keepTextChanges:!1,keepArrangeChanges:!1},Gv=e=>e.state.get(`mesurer.presentation.preferences`)??Wv,Kv=(e,t)=>{e.state.update(Hv,e=>({...e,...t}))},qv=e=>{e.state.register({id:Hv,initial:{...Wv},persist:!0}),e.settings.register({id:Uv,label:`Changes`,order:20,controls:[{type:`toggle`,id:`keep-text-changes`,label:`Keep text changes`,description:`Keep saved Typography text and style changes visible while another tool is active.`,value:()=>Gv(e).keepTextChanges,set:t=>Kv(e,{keepTextChanges:t})},{type:`toggle`,id:`keep-arrange-changes`,label:`Keep Edit changes`,description:`Keep saved Edit positions visible while another mode is active.`,value:()=>Gv(e).keepArrangeChanges,set:t=>Kv(e,{keepArrangeChanges:t})}]})},Jv=`mesurer.arrange`,Yv=`arrange`,Xv=`mesurer.arrange.intents`,Zv=`mesurer.arrange.active`,Qv=`mesurer.arrange.settings`,$v=`runtime:solid`,ey=`builtin.select`,ty=`arrange.toggle`,ny=`arrange.commit`,ry=`arrange.clear`,iy=`arrange.reset-selection`,ay=`arrange.reset-all`,oy=`mesurer.arrange.selection-available`,sy=1,cy=24,ly=160,uy=500,dy=`#ef4444`,fy=24,py=6,my=30,hy=.5,gy=4,_y=`[data-mesurer-text-editor='true']`,vy={viewBox:`0 0 24 24`,paths:[`M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z`]},yy=(e,t)=>({left:e.left+t.x,top:e.top+t.y,width:e.width,height:e.height}),by=(e,t)=>({left:e.left-t.left,top:e.top-t.top,width:e.width-t.width,height:e.height-t.height}),xy=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}},Sy=(e,t,n,r)=>Math.max(0,Math.max(e,n)-Math.min(t,r)),Cy=(e,t,n)=>{let r=t===`x`?e.left:e.top,i=t===`x`?e.width:e.height,a=r+i;return n===`edge`?[r,a]:n===`center`?[r+i/2]:[r,r+i/2,a]},wy=(e,t)=>t===`x`?{start:e.top,end:e.top+e.height}:{start:e.left,end:e.left+e.width},Ty=e=>e.kind===`edge`?2:+(e.kind===`guide`),Ey=(e,t,n)=>{let r=wy(t,e),i=null;for(let a of n)if(a.axis===e&&!(a.source===`element`&&Sy(r.start,r.end,a.start,a.end)>ly))for(let n of Cy(t,e,a.kind)){let e=a.position-n,t=Math.abs(e);if(t>10)continue;let r=i?Math.abs(i.delta):1/0;(t<r||t===r&&(!i||Ty(a)>Ty(i)))&&(i={...a,delta:e})}return i},Dy=e=>{let{origin:t,pathname:n,search:r}=e.location;return`${t}${n}${r}`},Oy=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,ky=e=>({tag:e.fingerprintTag,id:e.fingerprintId,testId:e.fingerprintTestId,role:e.fingerprintRole,ariaLabel:e.fingerprintAriaLabel,classes:[...e.fingerprintClasses],text:e.fingerprintText}),Ay=e=>({id:e.id,selector:e.selector,fingerprint:ky(e),before:{left:e.beforeLeft,top:e.beforeTop,width:e.beforeWidth,height:e.beforeHeight},desired:{left:e.desiredLeft,top:e.desiredTop,width:e.desiredWidth,height:e.desiredHeight},beforeOffset:{x:e.beforeOffsetX,y:e.beforeOffsetY},desiredOffset:{x:e.desiredOffsetX,y:e.desiredOffsetY}}),jy=e=>({id:e.id,createdAt:e.createdAt,pageUrl:e.pageUrl,targets:e.targets.map(Ay)}),My=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),Ny=e=>My(e,`transform`),Py=(e,t)=>e.value===t.value&&e.priority===t.priority,Fy=Py,Iy=e=>{let{element:t,beforeTransform:n,appliedTransform:r}=e;Fy(Ny(t),r)&&(n.value||n.priority?t.style.setProperty(`transform`,n.value,n.priority):t.style.removeProperty(`transform`))},Ly=e=>e instanceof Element&&!!e.closest(`input, textarea, select, [contenteditable='true'], [contenteditable='']`),Ry=()=>wc({id:Jv,version:`0.1.0`,requires:[$v,`tool:select`],provides:[`tool:arrange`,`intent:arrange`,`agent:arrange`,`settings:arrange`],setup(e){let t=e.service.get($v);if(!t)throw Error(`Edit movement plugin requires the Solid renderer runtime.`);let{ownerDocument:n,ownerWindow:r}=t,i=t.createWorkspaceRuntime(),a=t.createInspectorMount(),o=t.pageTarget??n.body??n.documentElement,s=t.portalTarget,c=r;e.state.register({id:Xv,initial:{intents:[]},history:!0,persist:!0}),e.state.register({id:Zv,initial:!1}),e.state.register({id:Qv,initial:{snapping:!0,elementEdges:!0,elementCenters:!0,guides:!0,preferXrayEdges:!0,snapLines:!0},persist:!0});let l=a.element;l.dataset.mesurerArrange=`true`,l.style.position=`fixed`,l.style.inset=`0`,l.style.zIndex=`84`,l.style.pointerEvents=`none`;let u=n.createElement(`div`);u.dataset.mesurerArrangeSnapLine=`vertical`,u.setAttribute(`aria-hidden`,`true`),u.style.position=`fixed`,u.style.display=`none`,u.style.width=`1px`,u.style.backgroundColor=dy,u.style.pointerEvents=`none`;let d=n.createElement(`div`);d.dataset.mesurerArrangeSnapLine=`horizontal`,d.setAttribute(`aria-hidden`,`true`),d.style.position=`fixed`,d.style.display=`none`,d.style.height=`1px`,d.style.backgroundColor=dy,d.style.pointerEvents=`none`;let f=n.createElement(`div`);f.dataset.mesurerArrangeBox=`true`,f.setAttribute(`role`,`application`),f.setAttribute(`aria-label`,`Edit selected elements`),f.style.position=`fixed`,f.style.display=`none`,f.style.boxSizing=`border-box`,f.style.border=`1px solid #0d99ff`,f.style.cursor=`grab`,f.style.pointerEvents=`auto`,f.style.touchAction=`none`,f.style.userSelect=`none`,l.append(u,d,f);let p=new Map,m=n.createElement(`style`);m.dataset.mesurerArrangeNativePaintGuard=`true`,m.textContent=`
2170
2211
  body:has([data-mesurer-text-editor="true"]) > [data-mesurer-arrange-native-stroke="true"],
2171
2212
  body:has([data-mesurer-text-editor="true"]) > [data-mesurer-multi-selection-document-layer="true"] {
2172
2213
  display: none !important;
2173
2214
  }
2174
- `,n.head.append(m);let h=()=>{for(let e of p.values())e.remove();p.clear()},g=new Map,_=e=>{let t=new Set(e);for(let[e,n]of g)t.has(e)&&e.isConnected||(n.outline?e.style.setProperty(`outline`,n.outline,n.outlinePriority):e.style.removeProperty(`outline`),n.offset?e.style.setProperty(`outline-offset`,n.offset,n.offsetPriority):e.style.removeProperty(`outline-offset`),g.delete(e));for(let e of t)g.has(e)||(g.set(e,{outline:e.style.getPropertyValue(`outline`),outlinePriority:e.style.getPropertyPriority(`outline`),offset:e.style.getPropertyValue(`outline-offset`),offsetPriority:e.style.getPropertyPriority(`outline-offset`)}),e.style.setProperty(`outline`,`1px solid #0d99ff`,`important`),e.style.setProperty(`outline-offset`,`-1px`,`important`))},v=e=>{let t=n.body;if(!t||!e.length||!r.CSS?.supports(`left: anchor(left)`))return h(),!1;let i=Array.from(t.children).filter(e=>e instanceof c.HTMLElement&&e.dataset.mesurerSelectedMeasurement===`true`&&e.dataset.mesurerSelectionGroup!==`true`).flatMap(t=>{let r=t.querySelector(`[data-mesurer-measurement-chrome='true']`),i=r?.style.getPropertyValue(`position-anchor`).trim();return!r||r.dataset.mesurerNativeScrollAnchor!==`box`||!i?[]:e.find(e=>e.getRootNode()===n&&e.style.getPropertyValue(`anchor-name`).split(`,`).some(e=>e.trim()===i))?[{chrome:r,anchor:i}]:[]});if(i.length!==e.length)return h(),!1;let a=new Set(i.map(({chrome:e})=>e));for(let[e,t]of p)a.has(e)||(t.remove(),p.delete(e));for(let{chrome:e,anchor:r}of i){let i=p.get(e);i||(i=n.createElement(`div`),i.dataset.mesurerArrangeNativeStroke=`true`,i.dataset.mesurerInspectorUi=`true`,i.style.cssText=`position:absolute!important;left:anchor(left)!important;top:anchor(top)!important;width:anchor-size(width)!important;height:anchor-size(height)!important;box-sizing:border-box;border:1px solid #0d99ff;pointer-events:none;z-index:2147482801;transition:none;animation:none;`,p.set(e,i),t.append(i)),i.style.getPropertyValue(`position-anchor`)!==r&&i.style.setProperty(`position-anchor`,r,`important`)}return!0},y=new Map,b=new Map,x=new Map,S=new Map,C=new Map,w={intentId:null,state:`desired`},T=null,E=null,D=null,O=!1,k=0,A=null,j=()=>e.state.get(`mesurer.arrange.intents`)??{intents:[]},M=()=>e.state.get(`mesurer.arrange.active`)??!1,N=()=>{let t=e.state.get(Zv);return{snapping:t?.snapping??!0,elementEdges:t?.elementEdges??!0,elementCenters:t?.elementCenters??!0,guides:t?.guides??!0,preferXrayEdges:t?.preferXrayEdges??!0,snapLines:t?.snapLines??!0}},P=t=>{e.state.update(Zv,e=>({...e,...t}))},F=()=>Ey(r),I=()=>j().intents.filter(e=>e.pageUrl===F()),L=e=>!!e.closest(`[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']`),R=e=>Wf(e,o)&&!L(e),z=e=>{let t=[];o instanceof c.HTMLElement&&o.matches(e)&&!L(o)&&t.push(o);for(let n of o.querySelectorAll(e))n instanceof c.HTMLElement&&R(n)&&t.push(n);return t},B=(e,t)=>e.localName!==t.fingerprintTag||t.fingerprintId&&e.id!==t.fingerprintId||t.fingerprintTestId&&e.getAttribute(`data-testid`)!==t.fingerprintTestId||t.fingerprintRole&&e.getAttribute(`role`)!==t.fingerprintRole||t.fingerprintAriaLabel&&e.getAttribute(`aria-label`)!==t.fingerprintAriaLabel?!1:t.fingerprintClasses.every(t=>e.classList.contains(t)),V=e=>{let t=Oy(e),n=b.get(e.selector);if(n&&n.isConnected&&R(n)&&B(n,e))return n;if(n&&b.delete(e.selector),!Jf(t))return null;let r=[];try{r=z(e.selector).filter(e=>Yf(e,t))}catch{return null}if(r.length!==1)return null;if(!t.id&&!t.testId){let e=[];try{e=z(t.tag).filter(e=>Yf(e,t))}catch{return null}if(e.length!==1||e[0]!==r[0])return null}return r[0]??null},H={value:`none`,priority:`important`},U=e=>{let t=jy(e,`transition-property`);(!x.get(e)||!Ny(t,H))&&x.set(e,t),Ny(t,H)||e.style.setProperty(`transition-property`,H.value,H.priority)},W=e=>{let t=x.get(e);t&&(Ny(jy(e,`transition-property`),H)&&(t.value||t.priority?e.style.setProperty(`transition-property`,t.value,t.priority):e.style.removeProperty(`transition-property`)),x.delete(e))},ee=e=>{for(let t of x.keys())e.has(t)||W(t)},te=()=>{for(let e of x.keys())W(e)},ne=()=>{for(let e of y.values())Fy(e);y.clear()},re=()=>{O||i.refreshSelectionGeometry()},ie=()=>{let e=y.size>0;ne(),te(),e&&re()},G=()=>{u.style.display=`none`,d.style.display=`none`},ae=(e,t,n)=>{if(G(),N().snapLines){if(e){let t=Math.min(n.top,e.start),r=Math.max(n.top+n.height,e.end);u.style.display=`block`,u.style.left=`${e.position}px`,u.style.top=`${t}px`,u.style.height=`${Math.max(1,r-t)}px`}if(t){let e=Math.min(n.left,t.start),r=Math.max(n.left+n.width,t.end);d.style.display=`block`,d.style.left=`${e}px`,d.style.top=`${t.position}px`,d.style.width=`${Math.max(1,r-e)}px`}}},oe=()=>!!(n.querySelector(gy)||s.querySelector(gy)),se=()=>{for(let[e,t]of S)t.value||t.priority?e.style.setProperty(`visibility`,t.value,t.priority):e.style.removeProperty(`visibility`);S.clear()},ce=()=>{if(oe()){se();return}if(!(S.size>0))for(let e of s.querySelectorAll(`[data-mesurer-measurement='true']`))e instanceof c.HTMLElement&&(e.matches(`[data-mesurer-selected-measurement='true'][data-mesurer-inspector-ui='true']`)&&e.getRootNode()===n&&e.parentElement===n.body||(S.set(e,{value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)}),e.style.setProperty(`visibility`,`hidden`,`important`)))},le=e=>{if(e.parentElement instanceof c.HTMLElement)return e.parentElement;let t=e.getRootNode();return t instanceof c.ShadowRoot&&t.host instanceof c.HTMLElement?t.host:null},ue=(e,t)=>{let n=le(e);for(;n;){let e=t.get(n);if(e)return e;n=le(n)}return{x:0,y:0}},de=(e=I())=>{let t=new Map;for(let n of e)for(let e of n.targets){let n=V(e);n&&t.set(n,e)}return t},fe=e=>e.offsetSpace!==`local`||e.desiredLocalOffsetX===null||e.desiredLocalOffsetY===null?null:{x:e.desiredLocalOffsetX,y:e.desiredLocalOffsetY},pe=(e,t)=>{let n=le(e);for(;n;){if(t.has(n))return n;n=le(n)}return null},me=(e=I(),t=new Map)=>{let n=de(e),r=new Set([...n.keys(),...t.keys()]),i=new Map,a=new Set,o=e=>{let s=i.get(e);if(s)return s;let c=n.get(e),l=t.get(e)??(c?fe(c):null);if(!l&&c){let t={x:c.desiredOffsetX,y:c.desiredOffsetY};return i.set(e,t),t}if(!l)return{x:0,y:0};if(a.has(e))return l;a.add(e);let u=pe(e,r),d=u?o(u):{x:0,y:0},f={x:d.x+l.x,y:d.y+l.y};return a.delete(e),i.set(e,f),f};for(let e of r)o(e);return i},he=()=>{if(w.state===`live`)return new Map;if(!w.intentId)return me();let e=j().intents.find(e=>e.id===w.intentId);if(!e)return me();let t=new Map;for(let n of e.targets){let e=V(n);e&&t.set(e,w.state===`before`?{x:n.beforeOffsetX,y:n.beforeOffsetY}:{x:n.desiredOffsetX,y:n.desiredOffsetY})}return t},ge=e=>{let t=[...e].flatMap(([t,n])=>{if(!t.isConnected||!R(t))return[];let r=ue(t,e),i={x:n.x-r.x,y:n.y-r.y};return i.x===0&&i.y===0?[]:[{element:t,offset:i}]}),n=new Set(t.map(({element:e})=>e));for(let{element:e}of t)U(e);let i=new Map([...y].map(([e,t])=>[e,t.appliedTransform]));ne();for(let{element:e,offset:n}of t){let t=My(e),i=r.getComputedStyle(e).transform,a=i&&i!==`none`?` ${i}`:``;e.style.setProperty(`transform`,`translate3d(${n.x}px, ${n.y}px, 0)${a}`,`important`),y.set(e,{element:e,beforeTransform:t,appliedTransform:My(e)})}ee(n),(i.size!==y.size||[...y].some(([e,t])=>i.get(e)!==t.appliedTransform))&&re()},_e=()=>ge(he()),ve=e=>{ne();try{return e()}finally{!O&&!T&&_e()}},ye=()=>i.currentSelection().elements.filter(e=>e instanceof c.HTMLElement&&e.isConnected&&R(e));e.state.register({id:ay,initial:ye().length>0});let be=()=>e.state.get(ay)??!1,xe=()=>{let t=ye().length>0;t!==be()&&e.state.update(ay,()=>t)},Se=()=>by(ye().map(e=>Ef(e))),Ce=()=>{for(let e of C.values())e.remove();C.clear()},we=e=>{let t=e.getBoundingClientRect(),n=t.right+fy;n+dy>r.innerWidth-4&&(n=Math.max(4,t.left-dy-fy));let i=Math.min(Math.max(4,t.top+py),Math.max(4,r.innerHeight-dy-4));return{left:n,top:i}},Te=()=>{if(!M()||T){Ce();return}let t=I(),r=de(t),i=me(t),a=new Set;for(let t of ye()){let o=r.get(t);if(!o)continue;let s=i.get(t);if(!s)continue;let c=ue(t,i),u=fe(o)??{x:s.x-c.x,y:s.y-c.y};if(Math.abs(u.x)<=my&&Math.abs(u.y)<=my)continue;a.add(t);let d=C.get(t);d||(d=n.createElement(`button`),d.type=`button`,d.dataset.mesurerArrangeReset=`true`,d.dataset.mesurerInspectorUi=`true`,d.setAttribute(`aria-label`,`Reset position`),d.title=`Reset position`,d.textContent=`↺`,d.className=`msr:pointer-events-auto msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:text-[14px] msr:leading-none msr:text-black msr:outline-none msr:hover:bg-ink-50 msr:focus-visible:border-[#0d99ff]`,d.style.position=`fixed`,d.addEventListener(`pointerdown`,e=>e.stopPropagation()),d.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),D=[t],e.command.execute(ry,void 0,{source:`arrange-reset-button`}).catch(()=>{D=null})}),C.set(t,d),l.append(d));let f=we(t);d.style.left=`${f.left}px`,d.style.top=`${f.top}px`}for(let[e,t]of C)a.has(e)||(t.remove(),C.delete(e))},Ee=t=>{let n=new Set(t);n.size&&(e.state.update(`mesurer.arrange.intents`,e=>{let t=!1,r=e.intents.flatMap(e=>{if(e.pageUrl!==F())return[e];let r=e.targets.filter(e=>{let r=V(e),i=r!==null&&n.has(r);return i&&(t=!0),!i});return r.length?r.length===e.targets.length?[e]:[{...e,targets:r}]:[]});return t?{intents:r}:e}),Ae(),ke())},De=()=>{e.state.update(Yv,e=>{let t=e.intents.filter(e=>e.pageUrl!==F());return t.length===e.intents.length?e:{intents:t}}),Ae(),ke()},Oe=e=>{let t=N();if(!t.snapping)return[];let n=[],a=new Set(e),s=i.snapshot(),l=s.xrayVisible&&t.preferXrayEdges&&t.elementEdges,u=0,d=i=>{if(u>=ly||a.has(i)||e.some(e=>e.contains(i))||!R(i))return;let o=r.getComputedStyle(i);if(o.display===`none`||o.visibility===`hidden`||o.visibility===`collapse`)return;let s=o.outlineStyle===`solid`&&(Number.parseFloat(o.outlineWidth)||0)>0;if(l&&!s)return;let c=Ef(i);if(c.width<=0||c.height<=0)return;let d=cy;if(c.left+c.width<-160||c.top+c.height<-160||c.left>r.innerWidth+d||c.top>r.innerHeight+d)return;u+=1;let f=c.left+c.width,p=c.top+c.height;if(t.elementEdges){for(let e of[c.left,f])n.push({axis:`x`,position:e,start:c.top,end:p,source:`element`,kind:`edge`});for(let e of[c.top,p])n.push({axis:`y`,position:e,start:c.left,end:f,source:`element`,kind:`edge`})}t.elementCenters&&!l&&(n.push({axis:`x`,position:c.left+c.width/2,start:c.top,end:p,source:`element`,kind:`center`}),n.push({axis:`y`,position:c.top+c.height/2,start:c.left,end:f,source:`element`,kind:`center`}))};if(t.elementEdges||t.elementCenters){o instanceof c.HTMLElement&&d(o);for(let e of o.querySelectorAll(`*`)){if(u>=ly)break;e instanceof c.HTMLElement&&d(e)}}if(t.guides)for(let e of s.guides)e.orientation===`vertical`?n.push({axis:`x`,position:e.position,start:0,end:r.innerHeight,source:`guide`,kind:`guide`}):n.push({axis:`y`,position:e.position,start:0,end:r.innerWidth,source:`guide`,kind:`guide`});return n},ke=e=>{if(!M()){h(),_([]),f.style.display=`none`,Ce();return}let t=ye(),n=oe(),r=t.length>1&&!n;_(r?t:[]),r&&h();let i=r||v(t);if(oe()){for(let e of p.values())e.style.display=`none`;f.style.display=`none`,Ce();return}for(let e of p.values())e.style.removeProperty(`display`);f.style.borderColor=i?`transparent`:`#0d99ff`;let a=e===void 0?Se():e;if(!a){f.style.display=`none`,Ce();return}f.style.display=`block`,f.style.left=`${a.left}px`,f.style.top=`${a.top}px`,f.style.width=`${a.width}px`,f.style.height=`${a.height}px`,T?Ce():Te()},Ae=()=>{w={intentId:null,state:`desired`},_e(),G(),M()?ce():se()},je=()=>{w={intentId:null,state:`live`},ie(),G(),se()},Me=()=>{O||T||(_e(),G(),M()?ce():se(),ke())},Ne=()=>{k||O||(k=r.requestAnimationFrame(()=>{k=0,Me()}))},Pe=async()=>{if(s.querySelector(`[data-mesurer-builtin='select'] button`)?.getAttribute(`aria-pressed`)===`true`)return;let t=i.currentSelection().elements;await e.command.execute($v,void 0,{source:`arrange`});let n=new Set(i.currentSelection().elements);for(let e of t)n.has(e)||i.toggleSelection(e)},Fe=e=>{if(!M()||e.button!==0)return;let r=ye();if(!r.length)return;let a=n.elementsFromPoint&&(!(o instanceof c.ShadowRoot)||o.elementsFromPoint)?Gf(t.rendererRoot??null,()=>Gf(l,()=>Uf({x:e.clientX,y:e.clientY},o,n))):null,s=e.shiftKey?a:null;if(e.shiftKey&&s instanceof c.HTMLElement&&R(s)&&!r.includes(s)){e.preventDefault(),e.stopPropagation(),i.toggleSelection(s);return}e.preventDefault(),e.stopPropagation(),w={intentId:null,state:`desired`},_e();let u=de(I()),d=me(I()),p=new Set(r);ne();let m=r.map((e,t)=>{let n=Ef(e),r=ue(e,d),i=d.get(e)??r,a=u.get(e),o=(a?fe(a):null)??{x:i.x-r.x,y:i.y-r.y},s=vy(n,i),c=qf(e);return{element:e,movesDirectly:pe(e,p)===null,target:{id:`target-${t+1}`,selector:Kf(e),fingerprintTag:c.tag,fingerprintId:c.id,fingerprintTestId:c.testId,fingerprintRole:c.role,fingerprintAriaLabel:c.ariaLabel,fingerprintClasses:[...c.classes],fingerprintText:c.text,beforeLeft:s.left,beforeTop:s.top,beforeWidth:s.width,beforeHeight:s.height,desiredLeft:s.left,desiredTop:s.top,desiredWidth:s.width,desiredHeight:s.height,beforeOffsetX:i.x,beforeOffsetY:i.y,desiredOffsetX:i.x,desiredOffsetY:i.y,offsetSpace:`local`,beforeLocalOffsetX:o.x,beforeLocalOffsetY:o.y,desiredLocalOffsetX:o.x,desiredLocalOffsetY:o.y}}}),h=by(m.map(({target:e})=>({left:e.beforeLeft,top:e.beforeTop,width:e.beforeWidth,height:e.beforeHeight})));if(!h){_e();return}_e(),ce(),G(),T={pointerId:e.pointerId,originX:e.clientX,originY:e.clientY,targets:m,groupBefore:h,snapCandidates:Oe(r),pressTarget:a instanceof c.HTMLElement&&R(a)?a:null,shiftToggleElement:e.shiftKey&&s instanceof c.HTMLElement&&r.includes(s)?s:null,moved:!1,dx:0,dy:0},ke(h),f.style.cursor=`grabbing`,f.setPointerCapture?.(e.pointerId)},Ie=(e,t,n)=>{let r=new Map;for(let i of e.targets){let e={x:i.target.beforeLocalOffsetX??0,y:i.target.beforeLocalOffsetY??0};r.set(i.element,i.movesDirectly?{x:e.x+t,y:e.y+n}:e)}return r},Le=e=>{if(!T||e.pointerId!==T.pointerId)return;let t=e.clientX-T.originX,n=e.clientY-T.originY,r=null;if(!T.moved){if(Math.hypot(t,n)<hy)return;T.moved=!0}e.shiftKey&&(Math.abs(t)>=Math.abs(n)?(n=0,r=`x`):(t=0,r=`y`));let i=vy(T.groupBefore,{x:t,y:n}),a=r===`y`?null:Ty(`x`,i,T.snapCandidates),o=r===`x`?null:Ty(`y`,i,T.snapCandidates);t+=a?.delta??0,n+=o?.delta??0,T.dx=t,T.dy=n;let s=me(I(),Ie(T,t,n));ge(s);let c=vy(T.groupBefore,{x:t,y:n});ke(c),ae(a,o,c)},Re=()=>{if(!T)return;let e=T.pointerId;T=null,f.hasPointerCapture?.(e)&&f.releasePointerCapture(e),f.style.cursor=`grab`,Ae(),ke()},ze=t=>{if(!T||t.pointerId!==T.pointerId)return;t.preventDefault(),t.stopPropagation();let n=T;if(T=null,f.hasPointerCapture?.(t.pointerId)&&f.releasePointerCapture(t.pointerId),f.style.cursor=`grab`,G(),!n.moved){if(n.shiftToggleElement)i.toggleSelection(n.shiftToggleElement);else if(n.pressTarget&&!n.targets.some(({element:e})=>e===n.pressTarget))try{i.select([Kf(n.pressTarget)])}catch{i.clearSelection(),i.toggleSelection(n.pressTarget)}Ae(),ke();return}let a=me(I(),Ie(n,n.dx,n.dy));E={id:Dy(r,`arrange`),createdAt:Date.now(),pageUrl:F(),targets:n.targets.map(({element:e,movesDirectly:t,target:r})=>{let i={x:r.beforeLocalOffsetX??0,y:r.beforeLocalOffsetY??0},o=t?{x:i.x+n.dx,y:i.y+n.dy}:i,s=a.get(e)??{x:r.beforeOffsetX+n.dx,y:r.beforeOffsetY+n.dy};return{...r,desiredLeft:r.beforeLeft+n.dx,desiredTop:r.beforeTop+n.dy,desiredOffsetX:s.x,desiredOffsetY:s.y,desiredLocalOffsetX:o.x,desiredLocalOffsetY:o.y}})};for(let{element:e,target:t}of n.targets)b.set(t.selector,e);e.command.execute(ty).catch(()=>{E=null,Ae(),ke()})},Be=e=>{!T||e.pointerId!==T.pointerId||Re()},Ve=e=>Gf(l,()=>d_({x:e.clientX,y:e.clientY},t.rendererRoot??null,n,o)),He=e=>{if(!M())return;if(T||e.buttons!==0||oe()){i.clearHover();return}let n=e.composedPath();if(!n.includes(f)&&t.rendererRoot&&n.includes(t.rendererRoot))return;let r=Ve(e);i.setHover(r instanceof c.HTMLElement&&R(r)?r:null)},Ue=t=>{if(t.key!==`Escape`||!M()&&!T||Iy(t.target)||s.querySelector(`[data-mesurer-tool-menu]`))return;if(t.preventDefault(),t.stopImmediatePropagation(),T){Re();return}let n=i.currentSelection();if(n.elements.length>0||n.region){i.clearSelection(),ke();return}e.state.update(Xv,()=>!1),je(),ke(),e.command.execute($v,void 0,{source:`arrange-escape`}).catch(()=>void 0)};f.addEventListener(`pointerdown`,Fe),f.addEventListener(`pointermove`,Le),f.addEventListener(`pointerup`,ze),f.addEventListener(`pointercancel`,Be),r.addEventListener(`pointermove`,He,!0),r.addEventListener(`keydown`,Ue,!0),r.addEventListener(`dblclick`,Ne,!0),r.addEventListener(`keyup`,Ne,!0),r.addEventListener(`pointerup`,Ne,!0),r.addEventListener(`resize`,Ne),r.addEventListener(`scroll`,Ne,!0),o.addEventListener(`scroll`,Ne,!0),A=new c.MutationObserver(()=>{xe(),Ne()}),A.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`]});let We=i.subscribe(()=>{xe(),Ne()}),Ge=e.state.subscribe(Ne),Ke=xu(n,()=>{!O&&M()&&!T&&ke()}),qe=e=>j().intents.find(t=>t.id===e)??null,Je=(e,t)=>{let n=null;if(n=t===`before`?by(e.targets.map(e=>({left:e.beforeLeft,top:e.beforeTop,width:e.beforeWidth,height:e.beforeHeight}))):t===`desired`?by(e.targets.map(e=>({left:e.desiredLeft,top:e.desiredTop,width:e.desiredWidth,height:e.desiredHeight}))):ve(()=>by(e.targets.map(e=>V(e)).filter(e=>e!==null).map(e=>Ef(e)))),!n)throw Error(`Edit movement intent has no resolvable capture region: ${e.id}`);let i=Math.max(0,n.left-sy),a=Math.max(0,n.top-sy),o=Math.min(r.innerWidth,n.left+n.width+sy),s=Math.min(r.innerHeight,n.top+n.height+sy);return{left:i,top:a,width:Math.max(0,o-i),height:Math.max(0,s-a)}},Ye={active:M,intents:()=>j().intents.map(Ay),intent(e){let t=qe(e);return t?Ay(t):null},show(e,t){if(!qe(e))throw Error(`Edit intent not found: ${e}`);w={intentId:e,state:t},Me()},showCurrent(){w={intentId:null,state:`desired`},Me()},capturePlan(e,t){let n=qe(e);if(!n)throw Error(`Edit intent not found: ${e}`);return{schema:`mesurer.arrange-capture/v1`,arrangeId:e,state:t,chrome:`hide`,captures:[{id:`viewport`,kind:`viewport`},{id:`focus`,kind:`clip`,rect:Je(n,t)}]}},review:(e,t=oy)=>{let n=qe(e);if(!n)throw Error(`Edit movement intent not found: ${e}`);let r=ve(()=>n.targets.map(e=>{let n=V(e),r={left:e.desiredLeft,top:e.desiredTop,width:e.desiredWidth,height:e.desiredHeight};if(!n)return{targetId:e.id,selector:e.selector,desired:r,current:null,delta:null,matched:!1};let i=Ef(n),a=yy(i,r),o=Math.abs(a.left)<=t&&Math.abs(a.top)<=t&&Math.abs(a.width)<=t&&Math.abs(a.height)<=t;return{targetId:e.id,selector:e.selector,desired:r,current:i,delta:a,matched:o}})),i=r.filter(e=>e.current!==null).length,a=i===0?`stale`:i===r.length?`connected`:`partial`;return{schema:`mesurer.arrange-review/v1`,arrangeId:n.id,targetStatus:a,tolerance:t,matched:r.length>0&&r.every(e=>e.matched),targets:r}},resetSelection:async()=>{await e.command.execute(ry)},resetAll:async()=>{await e.command.execute(iy)},clear:async()=>{await e.command.execute(ny)}};e.tool.register({id:`arrange`,label:`Edit`,shortcut:`Shift+A`,order:65,command:ey,toolbarMode:`edit`,modeSwitch:!0,icon:_y,active:M,menu:{label:`Edit options`,items:[{id:`snapping`,label:`Snapping`,checked:()=>N().snapping,run:()=>P({snapping:!N().snapping})},{id:`element-edges`,label:`Element edges`,checked:()=>N().elementEdges,disabled:()=>!N().snapping,run:()=>P({elementEdges:!N().elementEdges})},{id:`element-centers`,label:`Element centers`,checked:()=>N().elementCenters,disabled:()=>!N().snapping,run:()=>P({elementCenters:!N().elementCenters})},{id:`guides`,label:`Guides`,checked:()=>N().guides,disabled:()=>!N().snapping,run:()=>P({guides:!N().guides})},{id:`prefer-xray-edges`,label:`Prefer X-ray edges`,checked:()=>N().preferXrayEdges,disabled:()=>!N().snapping||!N().elementEdges,run:()=>P({preferXrayEdges:!N().preferXrayEdges})},{id:`alignment-rulers`,label:`Alignment rulers`,checked:()=>N().snapLines,disabled:()=>!N().snapping,run:()=>P({snapLines:!N().snapLines})},{id:`reset-all-positions`,label:`Reset all positions`,disabled:()=>I().length===0,run:async()=>{await e.command.execute(iy,void 0,{source:`arrange-menu`})}}]}}),e.settings.register({id:`arrange`,label:`Edit`,order:35,controls:[{type:`toggle`,id:`snapping`,label:`Snapping`,description:`Magnetically align dragged selections to nearby layout anchors.`,value:()=>N().snapping,set:e=>P({snapping:e})},{type:`toggle`,id:`element-edges`,label:`Element edges`,description:`Snap left/right and top/bottom edges to nearby elements.`,value:()=>N().elementEdges,set:e=>P({elementEdges:e}),disabled:()=>!N().snapping},{type:`toggle`,id:`element-centers`,label:`Element centers`,description:`Snap center-to-center when X-ray edge preference is not active.`,value:()=>N().elementCenters,set:e=>P({elementCenters:e}),disabled:()=>!N().snapping},{type:`toggle`,id:`guides`,label:`Guides`,description:`Snap to existing Mesurer guides.`,value:()=>N().guides,set:e=>P({guides:e}),disabled:()=>!N().snapping},{type:`toggle`,id:`prefer-xray-edges`,label:`Prefer X-ray edges`,description:`When X-ray is on, use its visible blue box edges as element snap targets.`,value:()=>N().preferXrayEdges,set:e=>P({preferXrayEdges:e}),disabled:()=>!N().snapping||!N().elementEdges},{type:`toggle`,id:`alignment-rulers`,label:`Alignment rulers`,description:`Show the red alignment ruler while a snap is active.`,value:()=>N().snapLines,set:e=>P({snapLines:e}),disabled:()=>!N().snapping}]}),e.command.register(ey,async()=>{let t=!M();if(t&&await Pe(),e.state.update(`mesurer.arrange.active`,()=>t),!t){T&&Re(),je(),ke();return}Ae(),ke()}),e.command.register(ty,()=>{let t=E;E=null,t&&(e.state.update(`mesurer.arrange.intents`,e=>({intents:[...e.intents,t].slice(-100)})),Ae(),ke())}),e.command.register(ry,()=>{let e=D??ye();D=null,Ee(e)}),e.command.register(iy,De),e.command.register(ny,()=>{e.state.update(Yv,()=>({intents:[]})),w={intentId:null,state:`desired`},ie(),G(),M()?ce():se(),ke()}),e.service.provide(Jv,Ye),_e(),ke(),e.lifecycle.onDispose(()=>{O=!0,k&&r.cancelAnimationFrame(k),A?.disconnect(),A=null,f.removeEventListener(`pointerdown`,Fe),f.removeEventListener(`pointermove`,Le),f.removeEventListener(`pointerup`,ze),f.removeEventListener(`pointercancel`,Be),r.removeEventListener(`pointermove`,He,!0),r.removeEventListener(`keydown`,Ue,!0),r.removeEventListener(`dblclick`,Ne,!0),r.removeEventListener(`keyup`,Ne,!0),r.removeEventListener(`pointerup`,Ne,!0),r.removeEventListener(`resize`,Ne),r.removeEventListener(`scroll`,Ne,!0),o.removeEventListener(`scroll`,Ne,!0),We(),Ke(),Ge.dispose(),ie(),Ce(),G(),se(),h(),_([]),m.remove(),i.dispose(),a.dispose()})}}),Ry=(e,t,n)=>{let r=!1,i=0,a=null,o=null,s=()=>({visible:(e.state.get(`mesurer.arrange.active`)??!1)||Wv(e).keepArrangeChanges,intents:e.state.get(`mesurer.arrange.intents`)?.intents??[]}),c=(e,t)=>e?.visible===t.visible&&e.intents===t.intents,l=e=>{if(a=e,e.visible){t.showCurrent();return}let n=e.intents.at(-1);n&&t.show(n.id,`live`)},u=()=>{if(i=0,r||!o)return;let e=o;o=null,c(a,e)||l(e)},d=e.state.subscribe(()=>{if(r)return;let e=s();c(o??a,e)||(o=e,i||=n.requestAnimationFrame(u))});l(s()),e.lifecycle.onDispose(()=>{r=!0,i&&n.cancelAnimationFrame(i),i=0,o=null,d.dispose()})},zy=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-inspector-ui='true']`].join(``),By=`[data-mesurer-text-edit-runtime='true']`,Vy=`[data-mesurer-text-editor='true']`,Hy=(e,t)=>{let n=t.ownerDocument.body;if(!n)return;let r=t.ownerWindow,i=new Map,a=e.state.get(`mesurer.arrange.active`)??!1,o=[],s=null,c=e=>e.matches(zy)&&e.getRootNode()===t.ownerDocument&&e.parentElement===n,l=()=>{for(let[e,t]of i)e.isConnected&&(t.value||t.priority?e.style.setProperty(`visibility`,t.value,t.priority):e.style.removeProperty(`visibility`));i.clear()},u=()=>o.some(e=>e.isConnected&&!!e.querySelector(Vy)),d=e=>{!a||u()||!c(e)||(i.has(e)||i.set(e,{value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)}),(e.style.getPropertyValue(`visibility`)!==`hidden`||e.style.getPropertyPriority(`visibility`)!==`important`)&&e.style.setProperty(`visibility`,`hidden`,`important`))},f=()=>{if(!(!a||u()))for(let e of n.querySelectorAll(zy))e instanceof r.HTMLElement&&d(e)},p=()=>{!a||u()?l():f()},m=()=>{let e=Array.from(n.querySelectorAll(By));if(!(e.length===o.length&&e.every((e,t)=>e===o[t]))){if(s?.disconnect(),s=null,o=e,e.length>0){s=new r.MutationObserver(p);for(let t of e)s.observe(t,{childList:!0,subtree:!0})}p()}};m();let h=new r.MutationObserver(e=>{let t=!1;for(let n of e){for(let e of n.addedNodes)e instanceof r.HTMLElement&&(e.matches(By)&&(t=!0),d(e));for(let e of n.removedNodes)e instanceof r.HTMLElement&&e.matches(By)&&(t=!0)}t&&m()});h.observe(n,{childList:!0});let g=e.state.subscribe(()=>{let t=e.state.get(`mesurer.arrange.active`)??!1;t!==a&&(a=t,p())});p(),e.lifecycle.onDispose(()=>{h.disconnect(),s?.disconnect(),s=null,o=[],g.dispose(),l()})},Uy=()=>{let e=Ly();return{...e,async setup(t){await e.setup(t);let n=t.service.get(Jv);if(!n)throw Error(`Edit movement presentation policy requires the movement service.`);let r=t.service.get(`runtime:solid`);if(!r)throw Error(`Edit movement presentation policy requires the Solid renderer runtime.`);Ry(t,n,r.ownerWindow),Hy(t,r)}}},Wy=(e,t,n,r)=>wc({id:`mesurer.${e}`,version:`0.1.0`,provides:[`tool:${e}`],setup(i){i.tool.register({id:e,builtin:e,label:t,shortcut:n,order:r,command:`builtin.${e}`})}}),Gy=()=>Wy(`select`,`Select`,`S`,10),Ky=()=>Wy(`xray`,`X-ray`,`X`,20),qy=()=>Wy(`color-picker`,`Color picker`,`P`,30),Jy=()=>Wy(`rulers`,`Rulers`,`R`,40),Yy=()=>Wy(`text-inspector`,`Typography`,`A`,50),Xy=()=>Wy(`guides`,`Guides`,`G`,60),Zy=()=>Wy(`settings`,`Settings`,`⌘/Ctrl+,`,90),Qy=()=>wc({id:`mesurer.distance`,version:`0.1.0`,provides:[`overlay:distance`,`settings:selection-spacing`],setup(e){e.overlay.register({id:`distance`,builtin:`distance`,order:30}),e.settings.register({id:`selection-spacing`,label:`Selection spacing`,builtin:`distance`,order:30})}}),$y=()=>[Gy(),Ky(),qy(),Jy(),Yy(),Xy(),Qy(),Zy()];function eb(e=[],t=[]){let n=new Set(t.map(e=>`mesurer.${e}`));return[...$y().filter(e=>!n.has(e.id)),...e]}var tb=`arrange.toggle`,nb=`builtin.select`;function rb(e,t){let n=t.createWorkspaceRuntime(),r=!1,i=0,a=!1,o=e.state.get(`mesurer.arrange.active`)??!1,s=t.currentToolMode?.(),c=!1,l=!1,u=()=>{r||i||(i=t.ownerWindow.requestAnimationFrame(()=>{if(i=0,r||a)return;let n=t.currentToolMode?.(),o=e.state.get(`mesurer.arrange.active`)??!1;if(n===void 0||!o){c=!1,l=!1;return}if(n===`select`||n===`guides`){c=!1,l=!1;return}a=!0;let s=l?tb:c?nb:tb,d=s===nb?`arrange-requires-select`:`select-deactivated`;c=!1,l=!1,e.command.execute(s,void 0,{source:d}).catch(()=>void 0).finally(()=>{a=!1,u()})}))},d=()=>{let e=t.currentToolMode?.();(s===`select`||s===`guides`)&&e!==void 0&&e!==`select`&&e!==`guides`&&(l=!0),s=e,u()},f=()=>{let t=e.state.get(`mesurer.arrange.active`)??!1;t&&!o&&(c=!0),o=t,u()},p=n.subscribe(d),m=e.state.subscribe(f);u(),e.lifecycle.onDispose(()=>{r=!0,i&&t.ownerWindow.cancelAnimationFrame(i),i=0,m.dispose(),p(),n.dispose()})}var ib=80,ab=8,ob=8,sb=0,cb=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),lb=e=>{let t=Number.parseFloat(e.style.left)||0,n=Number.parseFloat(e.style.top)||0,r=Number.parseFloat(e.style.width)||e.getBoundingClientRect().width,i=Number.parseFloat(e.style.height)||e.getBoundingClientRect().height;return{left:t,top:n,right:t+r,bottom:n+i,width:r,height:i}},ub=(e,t,n,r)=>{let i=lb(e);return t.parentNode===n.body?{...i,left:i.left-r.scrollX,right:i.right-r.scrollX,top:i.top-r.scrollY,bottom:i.bottom-r.scrollY}:i},db=(e,t,n=5)=>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,fb=e=>e.width>0&&e.height>0&&e.right>0&&e.bottom>0,pb=e=>!!(e.CSS?.supports(`anchor-name: --mesurer-native-anchor`)&&e.CSS.supports(`position-anchor: --mesurer-native-anchor`)&&e.CSS.supports(`left: anchor(left)`)&&e.CSS.supports(`width: anchor-size(width)`)),mb=(e,t,n)=>{(e.style.getPropertyValue(t)!==n||e.style.getPropertyPriority(t)!==`important`)&&e.style.setProperty(t,n,`important`)},hb=e=>{e&&(delete e.dataset.mesurerNativeScrollAnchor,delete e.dataset.mesurerNativeScrollOwner,e.style.removeProperty(`position-anchor`),e.style.removeProperty(`--mesurer-native-anchor-x`),e.style.removeProperty(`--mesurer-native-anchor-y`))},gb=(e,t,n)=>{let r=[],i=e;for(;i instanceof n.HTMLElement&&(r.push(i),i!==t);)i=i.parentElement;return r},_b=(e,t,n,r)=>{if(!fb(e))return null;let i=Math.min(Math.max(e.left+e.width/2,0),Math.max(0,n.innerWidth-1)),a=Math.min(Math.max(e.top+e.height/2,0),Math.max(0,n.innerHeight-1)),o=new Set;for(let s of t.elementsFromPoint(i,a))for(let t of gb(s,r,n))if(!(o.has(t)||(o.add(t),t!==r&&!r.contains(t))||t.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`))&&db(cb(t.getBoundingClientRect()),e))return t;return null},vb=(e,t)=>t.map(t=>({property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)})),yb=(e,t)=>{for(let{property:n,value:r,priority:i}of t)r?e.style.setProperty(n,r,i):e.style.removeProperty(n)},bb=(e,t,n=`none`)=>{let r=e.body,i=t.parentNode,a=i&&i!==r?e.createComment(`mesurer-document-scroll-layer`):null;a&&i&&i.insertBefore(a,t),t.parentNode!==r&&r.append(t);let o=vb(t,n===`selection-root`?[`display`,`position`,`left`,`top`,`width`,`height`]:n===`runtime`||n===`inspector-overlay`?[`display`,`position`,`inset`,`width`,`height`]:[]);n===`selection-root`?(mb(t,`display`,`block`),mb(t,`position`,`absolute`),mb(t,`left`,`0px`),mb(t,`top`,`0px`),mb(t,`width`,`100vw`),mb(t,`height`,`0px`)):(n===`runtime`||n===`inspector-overlay`)&&(mb(t,`display`,`block`),mb(t,`position`,`static`),mb(t,`inset`,`auto`),mb(t,`width`,`0px`),mb(t,`height`,`0px`));let s=!1;return{element:t,release(){s||(s=!0,yb(t,o),a?.parentNode&&(t.isConnected&&a.parentNode.insertBefore(t,a),a.remove()))}}};function xb(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i,portalTarget:a}=t,o=r;if(!pb(o)||a instanceof o.ShadowRoot||i instanceof o.ShadowRoot||a.getRootNode()!==n||i.getRootNode()!==n||!n.body)return;let s=vu(n),c=t.createWorkspaceRuntime(),l=new Map,u=new Map,d=new Map,f=new Map,p=new Map,m=new Map,h=null,g=null,_=!1,v=!1,y=0,b=0,x=!1,S=0,C=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),w=C.item(C.length-1),T=w?.isConnected?bb(n,w,`runtime`):null;w&&(w.dataset.mesurerNativeScrollRuntimeLayer=`true`);let E=n.createElement(`style`);E.dataset.mesurerNativeScrollAnchoring=`true`,E.dataset.mesurerInspectorUi=`true`,E.textContent=`
2215
+ `,n.head.append(m);let h=()=>{for(let e of p.values())e.remove();p.clear()},g=new Map,_=e=>{let t=new Set(e);for(let[e,n]of g)t.has(e)&&e.isConnected||(n.outline?e.style.setProperty(`outline`,n.outline,n.outlinePriority):e.style.removeProperty(`outline`),n.offset?e.style.setProperty(`outline-offset`,n.offset,n.offsetPriority):e.style.removeProperty(`outline-offset`),g.delete(e));for(let e of t)g.has(e)||(g.set(e,{outline:e.style.getPropertyValue(`outline`),outlinePriority:e.style.getPropertyPriority(`outline`),offset:e.style.getPropertyValue(`outline-offset`),offsetPriority:e.style.getPropertyPriority(`outline-offset`)}),e.style.setProperty(`outline`,`1px solid #0d99ff`,`important`),e.style.setProperty(`outline-offset`,`-1px`,`important`))},v=e=>{let t=n.body;if(!t||!e.length||!r.CSS?.supports(`left: anchor(left)`))return h(),!1;let i=Array.from(t.children).filter(e=>e instanceof c.HTMLElement&&e.dataset.mesurerSelectedMeasurement===`true`&&e.dataset.mesurerSelectionGroup!==`true`).flatMap(t=>{let r=t.querySelector(`[data-mesurer-measurement-chrome='true']`),i=r?.style.getPropertyValue(`position-anchor`).trim();return!r||r.dataset.mesurerNativeScrollAnchor!==`box`||!i?[]:e.find(e=>e.getRootNode()===n&&e.style.getPropertyValue(`anchor-name`).split(`,`).some(e=>e.trim()===i))?[{chrome:r,anchor:i}]:[]});if(i.length!==e.length)return h(),!1;let a=new Set(i.map(({chrome:e})=>e));for(let[e,t]of p)a.has(e)||(t.remove(),p.delete(e));for(let{chrome:e,anchor:r}of i){let i=p.get(e);i||(i=n.createElement(`div`),i.dataset.mesurerArrangeNativeStroke=`true`,i.dataset.mesurerInspectorUi=`true`,i.style.cssText=`position:absolute!important;left:anchor(left)!important;top:anchor(top)!important;width:anchor-size(width)!important;height:anchor-size(height)!important;box-sizing:border-box;border:1px solid #0d99ff;pointer-events:none;z-index:2147482801;transition:none;animation:none;`,p.set(e,i),t.append(i)),i.style.getPropertyValue(`position-anchor`)!==r&&i.style.setProperty(`position-anchor`,r,`important`)}return!0},y=new Map,b=new Map,x=new Map,S=new Map,C=new Map,w={intentId:null,state:`desired`},T=null,E=null,D=null,O=!1,k=0,A=null,j=()=>e.state.get(`mesurer.arrange.intents`)??{intents:[]},M=()=>e.state.get(`mesurer.arrange.active`)??!1,N=()=>{let t=e.state.get(Qv);return{snapping:t?.snapping??!0,elementEdges:t?.elementEdges??!0,elementCenters:t?.elementCenters??!0,guides:t?.guides??!0,preferXrayEdges:t?.preferXrayEdges??!0,snapLines:t?.snapLines??!0}},P=t=>{e.state.update(Qv,e=>({...e,...t}))},F=()=>Dy(r),I=()=>j().intents.filter(e=>e.pageUrl===F()),L=e=>!!e.closest(`[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']`),R=e=>Wf(e,o)&&!L(e),z=e=>{let t=[];o instanceof c.HTMLElement&&o.matches(e)&&!L(o)&&t.push(o);for(let n of o.querySelectorAll(e))n instanceof c.HTMLElement&&R(n)&&t.push(n);return t},B=(e,t)=>e.localName!==t.fingerprintTag||t.fingerprintId&&e.id!==t.fingerprintId||t.fingerprintTestId&&e.getAttribute(`data-testid`)!==t.fingerprintTestId||t.fingerprintRole&&e.getAttribute(`role`)!==t.fingerprintRole||t.fingerprintAriaLabel&&e.getAttribute(`aria-label`)!==t.fingerprintAriaLabel?!1:t.fingerprintClasses.every(t=>e.classList.contains(t)),V=e=>{let t=ky(e),n=b.get(e.selector);if(n&&n.isConnected&&R(n)&&B(n,e))return n;if(n&&b.delete(e.selector),!Jf(t))return null;let r=[];try{r=z(e.selector).filter(e=>Yf(e,t))}catch{return null}if(r.length!==1)return null;if(!t.id&&!t.testId){let e=[];try{e=z(t.tag).filter(e=>Yf(e,t))}catch{return null}if(e.length!==1||e[0]!==r[0])return null}return r[0]??null},H={value:`none`,priority:`important`},U=e=>{let t=My(e,`transition-property`);(!x.get(e)||!Py(t,H))&&x.set(e,t),Py(t,H)||e.style.setProperty(`transition-property`,H.value,H.priority)},W=e=>{let t=x.get(e);t&&(Py(My(e,`transition-property`),H)&&(t.value||t.priority?e.style.setProperty(`transition-property`,t.value,t.priority):e.style.removeProperty(`transition-property`)),x.delete(e))},ee=e=>{for(let t of x.keys())e.has(t)||W(t)},te=()=>{for(let e of x.keys())W(e)},ne=()=>{for(let e of y.values())Iy(e);y.clear()},re=()=>{O||i.refreshSelectionGeometry()},ie=()=>{let e=y.size>0;ne(),te(),e&&re()},G=()=>{u.style.display=`none`,d.style.display=`none`},ae=(e,t,n)=>{if(G(),N().snapLines){if(e){let t=Math.min(n.top,e.start),r=Math.max(n.top+n.height,e.end);u.style.display=`block`,u.style.left=`${e.position}px`,u.style.top=`${t}px`,u.style.height=`${Math.max(1,r-t)}px`}if(t){let e=Math.min(n.left,t.start),r=Math.max(n.left+n.width,t.end);d.style.display=`block`,d.style.left=`${e}px`,d.style.top=`${t.position}px`,d.style.width=`${Math.max(1,r-e)}px`}}},oe=()=>!!(n.querySelector(_y)||s.querySelector(_y)),se=()=>{for(let[e,t]of S)t.value||t.priority?e.style.setProperty(`visibility`,t.value,t.priority):e.style.removeProperty(`visibility`);S.clear()},ce=()=>{if(oe()){se();return}if(!(S.size>0))for(let e of s.querySelectorAll(`[data-mesurer-measurement='true']`))e instanceof c.HTMLElement&&(e.matches(`[data-mesurer-selected-measurement='true'][data-mesurer-inspector-ui='true']`)&&e.getRootNode()===n&&e.parentElement===n.body||(S.set(e,{value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)}),e.style.setProperty(`visibility`,`hidden`,`important`)))},le=e=>{if(e.parentElement instanceof c.HTMLElement)return e.parentElement;let t=e.getRootNode();return t instanceof c.ShadowRoot&&t.host instanceof c.HTMLElement?t.host:null},ue=(e,t)=>{let n=le(e);for(;n;){let e=t.get(n);if(e)return e;n=le(n)}return{x:0,y:0}},de=(e=I())=>{let t=new Map;for(let n of e)for(let e of n.targets){let n=V(e);n&&t.set(n,e)}return t},fe=e=>e.offsetSpace!==`local`||e.desiredLocalOffsetX===null||e.desiredLocalOffsetY===null?null:{x:e.desiredLocalOffsetX,y:e.desiredLocalOffsetY},pe=(e,t)=>{let n=le(e);for(;n;){if(t.has(n))return n;n=le(n)}return null},me=(e=I(),t=new Map)=>{let n=de(e),r=new Set([...n.keys(),...t.keys()]),i=new Map,a=new Set,o=e=>{let s=i.get(e);if(s)return s;let c=n.get(e),l=t.get(e)??(c?fe(c):null);if(!l&&c){let t={x:c.desiredOffsetX,y:c.desiredOffsetY};return i.set(e,t),t}if(!l)return{x:0,y:0};if(a.has(e))return l;a.add(e);let u=pe(e,r),d=u?o(u):{x:0,y:0},f={x:d.x+l.x,y:d.y+l.y};return a.delete(e),i.set(e,f),f};for(let e of r)o(e);return i},he=()=>{if(w.state===`live`)return new Map;if(!w.intentId)return me();let e=j().intents.find(e=>e.id===w.intentId);if(!e)return me();let t=new Map;for(let n of e.targets){let e=V(n);e&&t.set(e,w.state===`before`?{x:n.beforeOffsetX,y:n.beforeOffsetY}:{x:n.desiredOffsetX,y:n.desiredOffsetY})}return t},ge=e=>{let t=[...e].flatMap(([t,n])=>{if(!t.isConnected||!R(t))return[];let r=ue(t,e),i={x:n.x-r.x,y:n.y-r.y};return i.x===0&&i.y===0?[]:[{element:t,offset:i}]}),n=new Set(t.map(({element:e})=>e));for(let{element:e}of t)U(e);let i=new Map([...y].map(([e,t])=>[e,t.appliedTransform]));ne();for(let{element:e,offset:n}of t){let t=Ny(e),i=r.getComputedStyle(e).transform,a=i&&i!==`none`?` ${i}`:``;e.style.setProperty(`transform`,`translate3d(${n.x}px, ${n.y}px, 0)${a}`,`important`),y.set(e,{element:e,beforeTransform:t,appliedTransform:Ny(e)})}ee(n),(i.size!==y.size||[...y].some(([e,t])=>i.get(e)!==t.appliedTransform))&&re()},_e=()=>ge(he()),ve=e=>{ne();try{return e()}finally{!O&&!T&&_e()}},ye=()=>i.currentSelection().elements.filter(e=>e instanceof c.HTMLElement&&e.isConnected&&R(e));e.state.register({id:oy,initial:ye().length>0});let be=()=>e.state.get(oy)??!1,xe=()=>{let t=ye().length>0;t!==be()&&e.state.update(oy,()=>t)},Se=()=>xy(ye().map(e=>Ef(e))),Ce=()=>{for(let e of C.values())e.remove();C.clear()},we=e=>{let t=e.getBoundingClientRect(),n=t.right+py;n+fy>r.innerWidth-4&&(n=Math.max(4,t.left-fy-py));let i=Math.min(Math.max(4,t.top+my),Math.max(4,r.innerHeight-fy-4));return{left:n,top:i}},Te=()=>{if(!M()||T){Ce();return}let t=I(),r=de(t),i=me(t),a=new Set;for(let t of ye()){let o=r.get(t);if(!o)continue;let s=i.get(t);if(!s)continue;let c=ue(t,i),u=fe(o)??{x:s.x-c.x,y:s.y-c.y};if(Math.abs(u.x)<=hy&&Math.abs(u.y)<=hy)continue;a.add(t);let d=C.get(t);d||(d=n.createElement(`button`),d.type=`button`,d.dataset.mesurerArrangeReset=`true`,d.dataset.mesurerInspectorUi=`true`,d.setAttribute(`aria-label`,`Reset position`),d.title=`Reset position`,d.textContent=`↺`,d.className=`msr:pointer-events-auto msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:text-[14px] msr:leading-none msr:text-black msr:outline-none msr:hover:bg-ink-50 msr:focus-visible:border-[#0d99ff]`,d.style.position=`fixed`,d.addEventListener(`pointerdown`,e=>e.stopPropagation()),d.addEventListener(`click`,n=>{n.preventDefault(),n.stopPropagation(),D=[t],e.command.execute(iy,void 0,{source:`arrange-reset-button`}).catch(()=>{D=null})}),C.set(t,d),l.append(d));let f=we(t);d.style.left=`${f.left}px`,d.style.top=`${f.top}px`}for(let[e,t]of C)a.has(e)||(t.remove(),C.delete(e))},Ee=t=>{let n=new Set(t);n.size&&(e.state.update(`mesurer.arrange.intents`,e=>{let t=!1,r=e.intents.flatMap(e=>{if(e.pageUrl!==F())return[e];let r=e.targets.filter(e=>{let r=V(e),i=r!==null&&n.has(r);return i&&(t=!0),!i});return r.length?r.length===e.targets.length?[e]:[{...e,targets:r}]:[]});return t?{intents:r}:e}),Ae(),ke())},De=()=>{e.state.update(Xv,e=>{let t=e.intents.filter(e=>e.pageUrl!==F());return t.length===e.intents.length?e:{intents:t}}),Ae(),ke()},Oe=e=>{let t=N();if(!t.snapping)return[];let n=[],a=new Set(e),s=i.snapshot(),l=s.xrayVisible&&t.preferXrayEdges&&t.elementEdges,u=0,d=i=>{if(u>=uy||a.has(i)||e.some(e=>e.contains(i))||!R(i))return;let o=r.getComputedStyle(i);if(o.display===`none`||o.visibility===`hidden`||o.visibility===`collapse`)return;let s=o.outlineStyle===`solid`&&(Number.parseFloat(o.outlineWidth)||0)>0;if(l&&!s)return;let c=Ef(i);if(c.width<=0||c.height<=0)return;let d=ly;if(c.left+c.width<-160||c.top+c.height<-160||c.left>r.innerWidth+d||c.top>r.innerHeight+d)return;u+=1;let f=c.left+c.width,p=c.top+c.height;if(t.elementEdges){for(let e of[c.left,f])n.push({axis:`x`,position:e,start:c.top,end:p,source:`element`,kind:`edge`});for(let e of[c.top,p])n.push({axis:`y`,position:e,start:c.left,end:f,source:`element`,kind:`edge`})}t.elementCenters&&!l&&(n.push({axis:`x`,position:c.left+c.width/2,start:c.top,end:p,source:`element`,kind:`center`}),n.push({axis:`y`,position:c.top+c.height/2,start:c.left,end:f,source:`element`,kind:`center`}))};if(t.elementEdges||t.elementCenters){o instanceof c.HTMLElement&&d(o);for(let e of o.querySelectorAll(`*`)){if(u>=uy)break;e instanceof c.HTMLElement&&d(e)}}if(t.guides)for(let e of s.guides)e.orientation===`vertical`?n.push({axis:`x`,position:e.position,start:0,end:r.innerHeight,source:`guide`,kind:`guide`}):n.push({axis:`y`,position:e.position,start:0,end:r.innerWidth,source:`guide`,kind:`guide`});return n},ke=e=>{if(!M()){h(),_([]),f.style.display=`none`,Ce();return}let t=ye(),n=oe(),r=t.length>1&&!n;_(r?t:[]),r&&h();let i=r||v(t);if(oe()){for(let e of p.values())e.style.display=`none`;f.style.display=`none`,Ce();return}for(let e of p.values())e.style.removeProperty(`display`);f.style.borderColor=i?`transparent`:`#0d99ff`;let a=e===void 0?Se():e;if(!a){f.style.display=`none`,Ce();return}f.style.display=`block`,f.style.left=`${a.left}px`,f.style.top=`${a.top}px`,f.style.width=`${a.width}px`,f.style.height=`${a.height}px`,T?Ce():Te()},Ae=()=>{w={intentId:null,state:`desired`},_e(),G(),M()?ce():se()},je=()=>{w={intentId:null,state:`live`},ie(),G(),se()},Me=()=>{O||T||(_e(),G(),M()?ce():se(),ke())},Ne=()=>{k||O||(k=r.requestAnimationFrame(()=>{k=0,Me()}))},Pe=async()=>{if(s.querySelector(`[data-mesurer-builtin='select'] button`)?.getAttribute(`aria-pressed`)===`true`)return;let t=i.currentSelection().elements;await e.command.execute(ey,void 0,{source:`arrange`});let n=new Set(i.currentSelection().elements);for(let e of t)n.has(e)||i.toggleSelection(e)},Fe=e=>{if(!M()||e.button!==0)return;let r=ye();if(!r.length)return;let a=n.elementsFromPoint&&(!(o instanceof c.ShadowRoot)||o.elementsFromPoint)?Gf(t.rendererRoot??null,()=>Gf(l,()=>Uf({x:e.clientX,y:e.clientY},o,n))):null,s=e.shiftKey?a:null;if(e.shiftKey&&s instanceof c.HTMLElement&&R(s)&&!r.includes(s)){e.preventDefault(),e.stopPropagation(),i.toggleSelection(s);return}e.preventDefault(),e.stopPropagation(),w={intentId:null,state:`desired`},_e();let u=de(I()),d=me(I()),p=new Set(r);ne();let m=r.map((e,t)=>{let n=Ef(e),r=ue(e,d),i=d.get(e)??r,a=u.get(e),o=(a?fe(a):null)??{x:i.x-r.x,y:i.y-r.y},s=yy(n,i),c=qf(e);return{element:e,movesDirectly:pe(e,p)===null,target:{id:`target-${t+1}`,selector:Kf(e),fingerprintTag:c.tag,fingerprintId:c.id,fingerprintTestId:c.testId,fingerprintRole:c.role,fingerprintAriaLabel:c.ariaLabel,fingerprintClasses:[...c.classes],fingerprintText:c.text,beforeLeft:s.left,beforeTop:s.top,beforeWidth:s.width,beforeHeight:s.height,desiredLeft:s.left,desiredTop:s.top,desiredWidth:s.width,desiredHeight:s.height,beforeOffsetX:i.x,beforeOffsetY:i.y,desiredOffsetX:i.x,desiredOffsetY:i.y,offsetSpace:`local`,beforeLocalOffsetX:o.x,beforeLocalOffsetY:o.y,desiredLocalOffsetX:o.x,desiredLocalOffsetY:o.y}}}),h=xy(m.map(({target:e})=>({left:e.beforeLeft,top:e.beforeTop,width:e.beforeWidth,height:e.beforeHeight})));if(!h){_e();return}_e(),ce(),G(),T={pointerId:e.pointerId,originX:e.clientX,originY:e.clientY,targets:m,groupBefore:h,snapCandidates:Oe(r),pressTarget:a instanceof c.HTMLElement&&R(a)?a:null,shiftToggleElement:e.shiftKey&&s instanceof c.HTMLElement&&r.includes(s)?s:null,moved:!1,dx:0,dy:0},ke(h),f.style.cursor=`grabbing`,f.setPointerCapture?.(e.pointerId)},Ie=(e,t,n)=>{let r=new Map;for(let i of e.targets){let e={x:i.target.beforeLocalOffsetX??0,y:i.target.beforeLocalOffsetY??0};r.set(i.element,i.movesDirectly?{x:e.x+t,y:e.y+n}:e)}return r},Le=e=>{if(!T||e.pointerId!==T.pointerId)return;let t=e.clientX-T.originX,n=e.clientY-T.originY,r=null;if(!T.moved){if(Math.hypot(t,n)<gy)return;T.moved=!0}e.shiftKey&&(Math.abs(t)>=Math.abs(n)?(n=0,r=`x`):(t=0,r=`y`));let i=yy(T.groupBefore,{x:t,y:n}),a=r===`y`?null:Ey(`x`,i,T.snapCandidates),o=r===`x`?null:Ey(`y`,i,T.snapCandidates);t+=a?.delta??0,n+=o?.delta??0,T.dx=t,T.dy=n;let s=me(I(),Ie(T,t,n));ge(s);let c=yy(T.groupBefore,{x:t,y:n});ke(c),ae(a,o,c)},Re=()=>{if(!T)return;let e=T.pointerId;T=null,f.hasPointerCapture?.(e)&&f.releasePointerCapture(e),f.style.cursor=`grab`,Ae(),ke()},ze=t=>{if(!T||t.pointerId!==T.pointerId)return;t.preventDefault(),t.stopPropagation();let n=T;if(T=null,f.hasPointerCapture?.(t.pointerId)&&f.releasePointerCapture(t.pointerId),f.style.cursor=`grab`,G(),!n.moved){if(n.shiftToggleElement)i.toggleSelection(n.shiftToggleElement);else if(n.pressTarget&&!n.targets.some(({element:e})=>e===n.pressTarget))try{i.select([Kf(n.pressTarget)])}catch{i.clearSelection(),i.toggleSelection(n.pressTarget)}Ae(),ke();return}let a=me(I(),Ie(n,n.dx,n.dy));E={id:Oy(r,`arrange`),createdAt:Date.now(),pageUrl:F(),targets:n.targets.map(({element:e,movesDirectly:t,target:r})=>{let i={x:r.beforeLocalOffsetX??0,y:r.beforeLocalOffsetY??0},o=t?{x:i.x+n.dx,y:i.y+n.dy}:i,s=a.get(e)??{x:r.beforeOffsetX+n.dx,y:r.beforeOffsetY+n.dy};return{...r,desiredLeft:r.beforeLeft+n.dx,desiredTop:r.beforeTop+n.dy,desiredOffsetX:s.x,desiredOffsetY:s.y,desiredLocalOffsetX:o.x,desiredLocalOffsetY:o.y}})};for(let{element:e,target:t}of n.targets)b.set(t.selector,e);e.command.execute(ny).catch(()=>{E=null,Ae(),ke()})},Be=e=>{!T||e.pointerId!==T.pointerId||Re()},Ve=e=>Gf(l,()=>f_({x:e.clientX,y:e.clientY},t.rendererRoot??null,n,o)),He=e=>{if(!M())return;if(T||e.buttons!==0||oe()){i.clearHover();return}let n=e.composedPath();if(!n.includes(f)&&t.rendererRoot&&n.includes(t.rendererRoot))return;let r=Ve(e);i.setHover(r instanceof c.HTMLElement&&R(r)?r:null)},Ue=t=>{if(t.key!==`Escape`||!M()&&!T||Ly(t.target)||s.querySelector(`[data-mesurer-tool-menu]`))return;if(t.preventDefault(),t.stopImmediatePropagation(),T){Re();return}let n=i.currentSelection();if(n.elements.length>0||n.region){i.clearSelection(),ke();return}e.state.update(Zv,()=>!1),je(),ke(),e.command.execute(ey,void 0,{source:`arrange-escape`}).catch(()=>void 0)};f.addEventListener(`pointerdown`,Fe),f.addEventListener(`pointermove`,Le),f.addEventListener(`pointerup`,ze),f.addEventListener(`pointercancel`,Be),r.addEventListener(`pointermove`,He,!0),r.addEventListener(`keydown`,Ue,!0),r.addEventListener(`dblclick`,Ne,!0),r.addEventListener(`keyup`,Ne,!0),r.addEventListener(`pointerup`,Ne,!0),r.addEventListener(`resize`,Ne),r.addEventListener(`scroll`,Ne,!0),o.addEventListener(`scroll`,Ne,!0),A=new c.MutationObserver(()=>{xe(),Ne()}),A.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`]});let We=i.subscribe(()=>{xe(),Ne()}),Ge=e.state.subscribe(Ne),Ke=xu(n,()=>{!O&&M()&&!T&&ke()}),qe=e=>j().intents.find(t=>t.id===e)??null,Je=(e,t)=>{let n=null;if(n=t===`before`?xy(e.targets.map(e=>({left:e.beforeLeft,top:e.beforeTop,width:e.beforeWidth,height:e.beforeHeight}))):t===`desired`?xy(e.targets.map(e=>({left:e.desiredLeft,top:e.desiredTop,width:e.desiredWidth,height:e.desiredHeight}))):ve(()=>xy(e.targets.map(e=>V(e)).filter(e=>e!==null).map(e=>Ef(e)))),!n)throw Error(`Edit movement intent has no resolvable capture region: ${e.id}`);let i=Math.max(0,n.left-cy),a=Math.max(0,n.top-cy),o=Math.min(r.innerWidth,n.left+n.width+cy),s=Math.min(r.innerHeight,n.top+n.height+cy);return{left:i,top:a,width:Math.max(0,o-i),height:Math.max(0,s-a)}},Ye={active:M,intents:()=>j().intents.map(jy),intent(e){let t=qe(e);return t?jy(t):null},show(e,t){if(!qe(e))throw Error(`Edit intent not found: ${e}`);w={intentId:e,state:t},Me()},showCurrent(){w={intentId:null,state:`desired`},Me()},capturePlan(e,t){let n=qe(e);if(!n)throw Error(`Edit intent not found: ${e}`);return{schema:`mesurer.arrange-capture/v1`,arrangeId:e,state:t,chrome:`hide`,captures:[{id:`viewport`,kind:`viewport`},{id:`focus`,kind:`clip`,rect:Je(n,t)}]}},review:(e,t=sy)=>{let n=qe(e);if(!n)throw Error(`Edit movement intent not found: ${e}`);let r=ve(()=>n.targets.map(e=>{let n=V(e),r={left:e.desiredLeft,top:e.desiredTop,width:e.desiredWidth,height:e.desiredHeight};if(!n)return{targetId:e.id,selector:e.selector,desired:r,current:null,delta:null,matched:!1};let i=Ef(n),a=by(i,r),o=Math.abs(a.left)<=t&&Math.abs(a.top)<=t&&Math.abs(a.width)<=t&&Math.abs(a.height)<=t;return{targetId:e.id,selector:e.selector,desired:r,current:i,delta:a,matched:o}})),i=r.filter(e=>e.current!==null).length,a=i===0?`stale`:i===r.length?`connected`:`partial`;return{schema:`mesurer.arrange-review/v1`,arrangeId:n.id,targetStatus:a,tolerance:t,matched:r.length>0&&r.every(e=>e.matched),targets:r}},resetSelection:async()=>{await e.command.execute(iy)},resetAll:async()=>{await e.command.execute(ay)},clear:async()=>{await e.command.execute(ry)}};e.tool.register({id:`arrange`,label:`Edit`,shortcut:`Shift+A`,order:65,command:ty,toolbarMode:`edit`,modeSwitch:!0,icon:vy,active:M,menu:{label:`Edit options`,items:[{id:`snapping`,label:`Snapping`,checked:()=>N().snapping,run:()=>P({snapping:!N().snapping})},{id:`element-edges`,label:`Element edges`,checked:()=>N().elementEdges,disabled:()=>!N().snapping,run:()=>P({elementEdges:!N().elementEdges})},{id:`element-centers`,label:`Element centers`,checked:()=>N().elementCenters,disabled:()=>!N().snapping,run:()=>P({elementCenters:!N().elementCenters})},{id:`guides`,label:`Guides`,checked:()=>N().guides,disabled:()=>!N().snapping,run:()=>P({guides:!N().guides})},{id:`prefer-xray-edges`,label:`Prefer X-ray edges`,checked:()=>N().preferXrayEdges,disabled:()=>!N().snapping||!N().elementEdges,run:()=>P({preferXrayEdges:!N().preferXrayEdges})},{id:`alignment-rulers`,label:`Alignment rulers`,checked:()=>N().snapLines,disabled:()=>!N().snapping,run:()=>P({snapLines:!N().snapLines})},{id:`reset-all-positions`,label:`Reset all positions`,disabled:()=>I().length===0,run:async()=>{await e.command.execute(ay,void 0,{source:`arrange-menu`})}}]}}),e.settings.register({id:`arrange`,label:`Edit`,order:35,controls:[{type:`toggle`,id:`snapping`,label:`Snapping`,description:`Magnetically align dragged selections to nearby layout anchors.`,value:()=>N().snapping,set:e=>P({snapping:e})},{type:`toggle`,id:`element-edges`,label:`Element edges`,description:`Snap left/right and top/bottom edges to nearby elements.`,value:()=>N().elementEdges,set:e=>P({elementEdges:e}),disabled:()=>!N().snapping},{type:`toggle`,id:`element-centers`,label:`Element centers`,description:`Snap center-to-center when X-ray edge preference is not active.`,value:()=>N().elementCenters,set:e=>P({elementCenters:e}),disabled:()=>!N().snapping},{type:`toggle`,id:`guides`,label:`Guides`,description:`Snap to existing Mesurer guides.`,value:()=>N().guides,set:e=>P({guides:e}),disabled:()=>!N().snapping},{type:`toggle`,id:`prefer-xray-edges`,label:`Prefer X-ray edges`,description:`When X-ray is on, use its visible blue box edges as element snap targets.`,value:()=>N().preferXrayEdges,set:e=>P({preferXrayEdges:e}),disabled:()=>!N().snapping||!N().elementEdges},{type:`toggle`,id:`alignment-rulers`,label:`Alignment rulers`,description:`Show the red alignment ruler while a snap is active.`,value:()=>N().snapLines,set:e=>P({snapLines:e}),disabled:()=>!N().snapping}]}),e.command.register(ty,async()=>{let t=!M();if(t&&await Pe(),e.state.update(`mesurer.arrange.active`,()=>t),!t){T&&Re(),je(),ke();return}Ae(),ke()}),e.command.register(ny,()=>{let t=E;E=null,t&&(e.state.update(`mesurer.arrange.intents`,e=>({intents:[...e.intents,t].slice(-100)})),Ae(),ke())}),e.command.register(iy,()=>{let e=D??ye();D=null,Ee(e)}),e.command.register(ay,De),e.command.register(ry,()=>{e.state.update(Xv,()=>({intents:[]})),w={intentId:null,state:`desired`},ie(),G(),M()?ce():se(),ke()}),e.service.provide(Yv,Ye),_e(),ke(),e.lifecycle.onDispose(()=>{O=!0,k&&r.cancelAnimationFrame(k),A?.disconnect(),A=null,f.removeEventListener(`pointerdown`,Fe),f.removeEventListener(`pointermove`,Le),f.removeEventListener(`pointerup`,ze),f.removeEventListener(`pointercancel`,Be),r.removeEventListener(`pointermove`,He,!0),r.removeEventListener(`keydown`,Ue,!0),r.removeEventListener(`dblclick`,Ne,!0),r.removeEventListener(`keyup`,Ne,!0),r.removeEventListener(`pointerup`,Ne,!0),r.removeEventListener(`resize`,Ne),r.removeEventListener(`scroll`,Ne,!0),o.removeEventListener(`scroll`,Ne,!0),We(),Ke(),Ge.dispose(),ie(),Ce(),G(),se(),h(),_([]),m.remove(),i.dispose(),a.dispose()})}}),zy=(e,t,n)=>{let r=!1,i=0,a=null,o=null,s=()=>({visible:(e.state.get(`mesurer.arrange.active`)??!1)||Gv(e).keepArrangeChanges,intents:e.state.get(`mesurer.arrange.intents`)?.intents??[]}),c=(e,t)=>e?.visible===t.visible&&e.intents===t.intents,l=e=>{if(a=e,e.visible){t.showCurrent();return}let n=e.intents.at(-1);n&&t.show(n.id,`live`)},u=()=>{if(i=0,r||!o)return;let e=o;o=null,c(a,e)||l(e)},d=e.state.subscribe(()=>{if(r)return;let e=s();c(o??a,e)||(o=e,i||=n.requestAnimationFrame(u))});l(s()),e.lifecycle.onDispose(()=>{r=!0,i&&n.cancelAnimationFrame(i),i=0,o=null,d.dispose()})},By=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-inspector-ui='true']`].join(``),Vy=`[data-mesurer-text-edit-runtime='true']`,Hy=`[data-mesurer-text-editor='true']`,Uy=(e,t)=>{let n=t.ownerDocument.body;if(!n)return;let r=t.ownerWindow,i=new Map,a=e.state.get(`mesurer.arrange.active`)??!1,o=[],s=null,c=e=>e.matches(By)&&e.getRootNode()===t.ownerDocument&&e.parentElement===n,l=()=>{for(let[e,t]of i)e.isConnected&&(t.value||t.priority?e.style.setProperty(`visibility`,t.value,t.priority):e.style.removeProperty(`visibility`));i.clear()},u=()=>o.some(e=>e.isConnected&&!!e.querySelector(Hy)),d=e=>{!a||u()||!c(e)||(i.has(e)||i.set(e,{value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)}),(e.style.getPropertyValue(`visibility`)!==`hidden`||e.style.getPropertyPriority(`visibility`)!==`important`)&&e.style.setProperty(`visibility`,`hidden`,`important`))},f=()=>{if(!(!a||u()))for(let e of n.querySelectorAll(By))e instanceof r.HTMLElement&&d(e)},p=()=>{!a||u()?l():f()},m=()=>{let e=Array.from(n.querySelectorAll(Vy));if(!(e.length===o.length&&e.every((e,t)=>e===o[t]))){if(s?.disconnect(),s=null,o=e,e.length>0){s=new r.MutationObserver(p);for(let t of e)s.observe(t,{childList:!0,subtree:!0})}p()}};m();let h=new r.MutationObserver(e=>{let t=!1;for(let n of e){for(let e of n.addedNodes)e instanceof r.HTMLElement&&(e.matches(Vy)&&(t=!0),d(e));for(let e of n.removedNodes)e instanceof r.HTMLElement&&e.matches(Vy)&&(t=!0)}t&&m()});h.observe(n,{childList:!0});let g=e.state.subscribe(()=>{let t=e.state.get(`mesurer.arrange.active`)??!1;t!==a&&(a=t,p())});p(),e.lifecycle.onDispose(()=>{h.disconnect(),s?.disconnect(),s=null,o=[],g.dispose(),l()})},Wy=()=>{let e=Ry();return{...e,async setup(t){await e.setup(t);let n=t.service.get(Yv);if(!n)throw Error(`Edit movement presentation policy requires the movement service.`);let r=t.service.get(`runtime:solid`);if(!r)throw Error(`Edit movement presentation policy requires the Solid renderer runtime.`);zy(t,n,r.ownerWindow),Uy(t,r)}}},Gy=(e,t,n,r)=>wc({id:`mesurer.${e}`,version:`0.1.0`,provides:[`tool:${e}`],setup(i){i.tool.register({id:e,builtin:e,label:t,shortcut:n,order:r,command:`builtin.${e}`})}}),Ky=()=>Gy(`select`,`Select`,`S`,10),qy=()=>Gy(`xray`,`X-ray`,`X`,20),Jy=()=>Gy(`color-picker`,`Color picker`,`P`,30),Yy=()=>Gy(`rulers`,`Rulers`,`R`,40),Xy=()=>Gy(`text-inspector`,`Typography`,`A`,50),Zy=()=>Gy(`guides`,`Guides`,`G`,60),Qy=()=>Gy(`settings`,`Settings`,`⌘/Ctrl+,`,90),$y=()=>wc({id:`mesurer.distance`,version:`0.1.0`,provides:[`overlay:distance`,`settings:selection-spacing`],setup(e){e.overlay.register({id:`distance`,builtin:`distance`,order:30}),e.settings.register({id:`selection-spacing`,label:`Selection spacing`,builtin:`distance`,order:30})}}),eb=()=>[Ky(),qy(),Jy(),Yy(),Xy(),Zy(),$y(),Qy()];function tb(e=[],t=[]){let n=new Set(t.map(e=>`mesurer.${e}`));return[...eb().filter(e=>!n.has(e.id)),...e]}var nb=`arrange.toggle`,rb=`builtin.select`;function ib(e,t){let n=t.createWorkspaceRuntime(),r=!1,i=0,a=!1,o=e.state.get(`mesurer.arrange.active`)??!1,s=t.currentToolMode?.(),c=!1,l=!1,u=()=>{r||i||(i=t.ownerWindow.requestAnimationFrame(()=>{if(i=0,r||a)return;let n=t.currentToolMode?.(),o=e.state.get(`mesurer.arrange.active`)??!1;if(n===void 0||!o){c=!1,l=!1;return}if(n===`select`||n===`guides`){c=!1,l=!1;return}a=!0;let s=l?nb:c?rb:nb,d=s===rb?`arrange-requires-select`:`select-deactivated`;c=!1,l=!1,e.command.execute(s,void 0,{source:d}).catch(()=>void 0).finally(()=>{a=!1,u()})}))},d=()=>{let e=t.currentToolMode?.();(s===`select`||s===`guides`)&&e!==void 0&&e!==`select`&&e!==`guides`&&(l=!0),s=e,u()},f=()=>{let t=e.state.get(`mesurer.arrange.active`)??!1;t&&!o&&(c=!0),o=t,u()},p=n.subscribe(d),m=e.state.subscribe(f);u(),e.lifecycle.onDispose(()=>{r=!0,i&&t.ownerWindow.cancelAnimationFrame(i),i=0,m.dispose(),p(),n.dispose()})}var ab=80,ob=8,sb=8,cb=0,lb=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),ub=e=>{let t=Number.parseFloat(e.style.left)||0,n=Number.parseFloat(e.style.top)||0,r=Number.parseFloat(e.style.width)||e.getBoundingClientRect().width,i=Number.parseFloat(e.style.height)||e.getBoundingClientRect().height;return{left:t,top:n,right:t+r,bottom:n+i,width:r,height:i}},db=(e,t,n,r)=>{let i=ub(e);return t.parentNode===n.body?{...i,left:i.left-r.scrollX,right:i.right-r.scrollX,top:i.top-r.scrollY,bottom:i.bottom-r.scrollY}:i},fb=(e,t,n=5)=>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,pb=e=>e.width>0&&e.height>0&&e.right>0&&e.bottom>0,mb=e=>!!(e.CSS?.supports(`anchor-name: --mesurer-native-anchor`)&&e.CSS.supports(`position-anchor: --mesurer-native-anchor`)&&e.CSS.supports(`left: anchor(left)`)&&e.CSS.supports(`width: anchor-size(width)`)),hb=(e,t,n)=>{(e.style.getPropertyValue(t)!==n||e.style.getPropertyPriority(t)!==`important`)&&e.style.setProperty(t,n,`important`)},gb=e=>{e&&(delete e.dataset.mesurerNativeScrollAnchor,delete e.dataset.mesurerNativeScrollOwner,e.style.removeProperty(`position-anchor`),e.style.removeProperty(`--mesurer-native-anchor-x`),e.style.removeProperty(`--mesurer-native-anchor-y`))},_b=(e,t,n)=>{let r=[],i=e;for(;i instanceof n.HTMLElement&&(r.push(i),i!==t);)i=i.parentElement;return r},vb=(e,t,n,r)=>{if(!pb(e))return null;let i=Math.min(Math.max(e.left+e.width/2,0),Math.max(0,n.innerWidth-1)),a=Math.min(Math.max(e.top+e.height/2,0),Math.max(0,n.innerHeight-1)),o=new Set;for(let s of t.elementsFromPoint(i,a))for(let t of _b(s,r,n))if(!(o.has(t)||(o.add(t),t!==r&&!r.contains(t))||t.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`))&&fb(lb(t.getBoundingClientRect()),e))return t;return null},yb=(e,t)=>t.map(t=>({property:t,value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)})),bb=(e,t)=>{for(let{property:n,value:r,priority:i}of t)r?e.style.setProperty(n,r,i):e.style.removeProperty(n)},xb=(e,t,n=`none`)=>{let r=e.body,i=t.parentNode,a=i&&i!==r?e.createComment(`mesurer-document-scroll-layer`):null;a&&i&&i.insertBefore(a,t),t.parentNode!==r&&r.append(t);let o=yb(t,n===`selection-root`?[`display`,`position`,`left`,`top`,`width`,`height`]:n===`runtime`||n===`inspector-overlay`?[`display`,`position`,`inset`,`width`,`height`]:[]);n===`selection-root`?(hb(t,`display`,`block`),hb(t,`position`,`absolute`),hb(t,`left`,`0px`),hb(t,`top`,`0px`),hb(t,`width`,`100vw`),hb(t,`height`,`0px`)):(n===`runtime`||n===`inspector-overlay`)&&(hb(t,`display`,`block`),hb(t,`position`,`static`),hb(t,`inset`,`auto`),hb(t,`width`,`0px`),hb(t,`height`,`0px`));let s=!1;return{element:t,release(){s||(s=!0,bb(t,o),a?.parentNode&&(t.isConnected&&a.parentNode.insertBefore(t,a),a.remove()))}}};function Sb(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i,portalTarget:a}=t,o=r;if(!mb(o)||a instanceof o.ShadowRoot||i instanceof o.ShadowRoot||a.getRootNode()!==n||i.getRootNode()!==n||!n.body)return;let s=vu(n),c=t.createWorkspaceRuntime(),l=new Map,u=new Map,d=new Map,f=new Map,p=new Map,m=new Map,h=null,g=null,_=!1,v=!1,y=0,b=0,x=!1,S=0,C=a.querySelectorAll(`[data-mesurer-text-edit-runtime='true']`),w=C.item(C.length-1),T=w?.isConnected?xb(n,w,`runtime`):null;w&&(w.dataset.mesurerNativeScrollRuntimeLayer=`true`);let E=n.createElement(`style`);E.dataset.mesurerNativeScrollAnchoring=`true`,E.dataset.mesurerInspectorUi=`true`,E.textContent=`
2175
2216
  /* The selected page element, not a document-level portal, paints its outline.
2176
2217
  The source's own compositor scroll node can then move outline and text in
2177
2218
  the same frame. The invisible portaled box remains usable for measurement
@@ -2231,7 +2272,7 @@ body:has([data-mesurer-text-editor="true"]) [data-mesurer-source-selection-paint
2231
2272
  transition: none !important;
2232
2273
  animation: none !important;
2233
2274
  }
2234
- `,n.head.append(E);let D=[`--mesurer-selected-source-outline`,`--mesurer-selected-source-fill`,`--mesurer-selected-source-background`,`--mesurer-selected-source-text`],O=(e,t)=>{let n=u.get(e);if(n)n.count+=1;else{let n=o.getComputedStyle(e),r=t.querySelector(`:scope > div`),i=r?o.getComputedStyle(r).backgroundColor:`#0d99ff`,a=o.getComputedStyle(t).backgroundColor,s=vb(e,D);u.set(e,{count:1,previous:e.getAttribute(`data-mesurer-source-selection-paint`),styles:s}),e.style.setProperty(`--mesurer-selected-source-outline`,i),e.style.setProperty(`--mesurer-selected-source-fill`,a),e.style.setProperty(`--mesurer-selected-source-background`,n.backgroundImage),e.style.setProperty(`--mesurer-selected-source-text`,n.color),e.dataset.mesurerSourceSelectionPaint=`true`}let r=!1;return()=>{if(r)return;r=!0;let t=u.get(e);t&&(--t.count,!(t.count>0)&&(t.previous===null?e.removeAttribute(`data-mesurer-source-selection-paint`):e.setAttribute(`data-mesurer-source-selection-paint`,t.previous),yb(e,t.styles),u.delete(e)))}},k=(e,t)=>{let n=t.original.trim(),r=Array.from(t.names),i=[n&&n!==`none`?n:``,...r].filter(Boolean).join(`, `);i?e.style.setProperty(`anchor-name`,i,t.originalPriority):e.style.removeProperty(`anchor-name`)},A=(e,t)=>{let n=l.get(e);n||(n={original:e.style.getPropertyValue(`anchor-name`),originalPriority:e.style.getPropertyPriority(`anchor-name`),names:new Set},l.set(e,n)),n.names.add(t),k(e,n);let r=!1;return()=>{if(r)return;r=!0;let n=l.get(e);if(n){if(n.names.delete(t),n.names.size){k(e,n);return}n.original?e.style.setProperty(`anchor-name`,n.original,n.originalPriority):e.style.removeProperty(`anchor-name`),l.delete(e)}}},j=(e,t)=>{let n=`--mesurer-${t}-${++sb}`;return{target:e,name:n,release:A(e,n)}},M=(e,t,n)=>{e.dataset.mesurerNativeScrollAnchor=n,mb(e,`position-anchor`,t.name)},N=e=>{delete e.root.dataset.mesurerSourceSelectionOwner,hb(e.chrome),hb(e.label),e.releaseSourcePaint(),e.release(),e.placement.release()},P=(e,t,r,i)=>{let a=d.get(e);a&&N(a);let o=j(t,`selection`),s=bb(n,e,e.parentNode===n.body?`none`:`selection-root`),c={...o,root:e,chrome:r,label:i,placement:s,releaseSourcePaint:O(t,r)};e.dataset.mesurerSourceSelectionOwner=`true`,d.set(e,c),M(r,c,`box`),i&&M(i,c,`label`)},F=(e,t)=>t.find(t=>db(cb(t.getBoundingClientRect()),e))||(t.length===1?t[0]:null),I=()=>Array.from(d.values(),e=>e.name).join(`|`),L=()=>{let e=I();R(),I()!==e&&Su(n)},R=()=>{let e=new Set;for(let t of d.keys())t.isConnected&&e.add(t);for(let t of a.querySelectorAll(`[data-mesurer-selected-measurement='true']`))t.dataset.mesurerSelectionGroup!==`true`&&e.add(t);let t=c.currentSelection().elements.filter(e=>e instanceof o.HTMLElement);for(let a of e){let e=d.get(a);if(e?.target.isConnected&&e.chrome.isConnected){if(M(e.chrome,e,`box`),e.label?.isConnected&&M(e.label,e,`label`),t.includes(e.target)||x)continue;let s=Tu(e.chrome),c=ub(e.chrome,a,n,r),l=s instanceof o.HTMLElement&&s.isConnected?s:F(c,t)??_b(c,n,o,i);l&&P(a,l,e.chrome,e.label);continue}e&&(N(e),d.delete(a));let s=a.children.item(0);if(!(s instanceof o.HTMLElement))continue;let c=a.children.item(a.children.length-1),l=c instanceof o.HTMLElement&&c!==s?c:null,u=Tu(s),f=ub(s,a,n,r),p=u instanceof o.HTMLElement&&u.isConnected?u:F(f,t)??_b(f,n,o,i);p&&P(a,p,s,l)}for(let[e,t]of Array.from(d))e.isConnected||(N(t),d.delete(e))},z=()=>{h&&=(hb(h.surface),h.release(),h.placement.release(),null)},B=()=>{let e=h?.surface.isConnected?h.surface:a.querySelector(`[data-mesurer-hover-measurement='true']`);if(!e?.isConnected){z();return}let t=lb(e);if(h?.surface===e&&h.target.isConnected&&(M(e,h,`box`),x||db(cb(h.target.getBoundingClientRect()),t)))return;let r=_b(t,n,o,i);if(!r)return;z();let s=j(r,`hover`),c=bb(n,e);h={...s,surface:e,placement:c},M(e,h,`box`)},V=()=>{g&&=(hb(g.ring),g.release(),null)},H=(e,t,n)=>{let i=t.getBoundingClientRect();if(i.width<=0||i.height<=0)return;let a=i.width,o=Math.max(i.height,t.scrollHeight),s=r.innerWidth-ab,c=r.innerHeight-ab,l=Math.max(ab,s-a),u=Math.max(ab,c-o),d=Math.min(Math.max(n.left+n.width/2-a/2,ab),l),f=Math.min(Math.max(n.top+n.height/2-o/2,ab),u),p=[{left:d,top:n.top-ob-o,placement:`above`},{left:d,top:n.bottom+ob,placement:`below`},{left:n.right+ob,top:f,placement:`side`},{left:n.left-ob-a,top:f,placement:`side`}],m=(e,t)=>e>=ab&&t>=ab&&e+a<=s&&t+o<=c,h=(e,t)=>Math.max(0,Math.min(e+a,n.right)-Math.max(e,n.left))>0&&Math.max(0,Math.min(t+o,n.bottom)-Math.max(t,n.top))>0,g=p.find(e=>m(e.left,e.top)&&!h(e.left,e.top)),_=d,v=ab,y=`viewport`;if(g)({left:_,top:v,placement:y}=g),t.style.maxHeight=`calc(100vh - 16px)`;else{let e=[{name:`above`,top:ab,height:Math.max(0,n.top-ob-ab)},{name:`below`,top:n.bottom+ob,height:Math.max(0,c-n.bottom-ob)}].sort((e,t)=>t.height-e.height)[0];e&&e.height>0&&(v=e.top,y=e.name,t.style.maxHeight=`${e.height}px`)}e.style.setProperty(`--mesurer-native-anchor-x`,`${_-n.left}px`),e.style.setProperty(`--mesurer-native-anchor-y`,`${v-n.top}px`),t.dataset.mesurerTextInspectorPlacement=y},U=()=>{if(!w?.isConnected){V();return}let e=w.querySelectorAll(`[data-mesurer-text-edit-ring='true']`),t=g?.ring.isConnected?g.ring:e.item(e.length-1);if(!t?.isConnected){V();return}let a=lb(t);if(!g||g.ring!==t||!g.target.isConnected||!x&&!db(cb(g.target.getBoundingClientRect()),a)){let e=_b(a,n,o,i);e&&(V(),g={...j(e,`edit`),ring:t})}if(!g)return;M(t,g,`box`);let s=cb(g.target.getBoundingClientRect()),c=new Set;for(let e of n.querySelectorAll(`[data-mesurer-text-selection-highlight='true']`)){if(!e.isConnected)continue;c.add(e);let t=lb(e);f.has(e)||f.set(e,bb(n,e)),M(e,g,`offset`),x||(e.style.setProperty(`--mesurer-native-anchor-x`,`${t.left-s.left}px`),e.style.setProperty(`--mesurer-native-anchor-y`,`${t.top-s.top}px`))}for(let[e,t]of Array.from(f))c.has(e)&&e.isConnected||(hb(e),t.release(),f.delete(e));let l=w.querySelector(`[data-mesurer-text-inspector-placement-shell='true']`),u=w.querySelector(`[data-mesurer-text-inspector-info='true']`);if(l?.isConnected&&u?.isConnected){let e=l.dataset.mesurerNativeScrollOwner===`typography`&&l.dataset.mesurerNativeScrollAnchor===`offset`;l.dataset.mesurerNativeScrollOwner=`typography`,M(l,g,`offset`);let t=s.right>0&&s.bottom>0&&s.left<r.innerWidth&&s.top<r.innerHeight;!e&&t&&H(l,u,s)}},W=e=>{hb(e.box),hb(e.card),e.release()},ee=()=>{let e=new Set;for(let t of m.keys())t.isConnected&&e.add(t);for(let t of a.querySelectorAll(`.mesurer-ti-box`)){let n=t.parentElement;n?.dataset.mesurerInspectorUi===`true`&&e.add(n)}let t=new Set;for(let a of e){let e=Array.from(a.children).filter(e=>e instanceof o.HTMLElement),s=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(!r.classList.contains(`mesurer-ti-box`)||r.dataset.state!==`visible`)continue;let i=e[n+1],a=i?.classList.contains(`mesurer-ti-card`)?i:null;s.push({box:r,card:a}),t.add(r)}if(s.length){m.has(a)||m.set(a,bb(n,a,`inspector-overlay`));for(let{box:e,card:t}of s){let a=lb(e),s=p.get(e),c=!1;if(s?.target.isConnected){let t=cb(s.target.getBoundingClientRect());if(db(t,a))s.fallbackScrollX=r.scrollX,s.fallbackScrollY=r.scrollY,c=!0;else{let n=r.scrollX-s.fallbackScrollX,i=r.scrollY-s.fallbackScrollY,o=db(t,{left:a.left-n,top:a.top-i,right:a.right-n,bottom:a.bottom-i,width:a.width,height:a.height});!x&&!o&&(W(s),p.delete(e),s=void 0)}}else s&&=(W(s),p.delete(e),void 0);if(!s){let l=_b(a,n,o,i);if(!l)continue;s={...j(l,`typography`),box:e,card:t,fallbackScrollX:r.scrollX,fallbackScrollY:r.scrollY},p.set(e,s),c=!0}if(e.dataset.mesurerNativeScrollOwner=`typography`,M(e,s,`box`),t?.isConnected&&!t.classList.contains(`mesurer-ti-card--pinned`)){if(t.dataset.mesurerNativeScrollOwner=`typography`,M(t,s,`offset`),!x&&c){let e=cb(s.target.getBoundingClientRect()),n=Number.parseFloat(t.style.left),r=Number.parseFloat(t.style.top);Number.isFinite(n)&&t.style.setProperty(`--mesurer-native-anchor-x`,`${n-e.left}px`),Number.isFinite(r)&&t.style.setProperty(`--mesurer-native-anchor-y`,`${r-e.top}px`)}}else t&&hb(t)}}}for(let[e,n]of Array.from(p))t.has(e)&&e.isConnected||(W(n),p.delete(e));for(let[e,t]of Array.from(m))e.isConnected||(t.release(),m.delete(e))},te=()=>{_||(L(),B(),U(),ee())},ne=(e=!1)=>{_||(v||(v=!0,r.queueMicrotask(()=>{v=!1,te()})),e&&!y&&(y=r.requestAnimationFrame(()=>{y=0,te()})))},re=()=>{_||x||b||(b=r.requestAnimationFrame(()=>{b=0,!(_||x)&&B()}))},ie=new o.MutationObserver(()=>{x||ne()});ie.observe(a,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-state`]}),w&&ie.observe(w,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-state`]});let G=()=>{x=!0,S&&r.clearTimeout(S),S=r.setTimeout(()=>{S=0,x=!1,ne(!0)},ib)},ae=()=>ne(!0);r.addEventListener(`scroll`,G,{capture:!0,passive:!0}),r.addEventListener(`resize`,ae,!0),r.addEventListener(`pointermove`,re,!0),r.addEventListener(`pointerup`,ae,!0),r.addEventListener(`dblclick`,ae,!0),ne(!0),e.lifecycle.onDispose(()=>{_=!0,ie.disconnect(),y&&r.cancelAnimationFrame(y),b&&r.cancelAnimationFrame(b),S&&r.clearTimeout(S),r.removeEventListener(`scroll`,G,!0),r.removeEventListener(`resize`,ae,!0),r.removeEventListener(`pointermove`,re,!0),r.removeEventListener(`pointerup`,ae,!0),r.removeEventListener(`dblclick`,ae,!0);for(let e of d.values())N(e);d.clear();for(let[e,t]of u)t.previous===null?e.removeAttribute(`data-mesurer-source-selection-paint`):e.setAttribute(`data-mesurer-source-selection-paint`,t.previous),yb(e,t.styles);u.clear(),z(),V();for(let[e,t]of f)hb(e),t.release();f.clear();for(let e of p.values())W(e);p.clear();for(let e of m.values())e.release();m.clear(),w&&delete w.dataset.mesurerNativeScrollRuntimeLayer,T?.release(),c.dispose();for(let[e,t]of l)t.original?e.style.setProperty(`anchor-name`,t.original,t.originalPriority):e.style.removeProperty(`anchor-name`);l.clear(),s(),E.remove()})}var Sb=(e,t)=>e.portalTarget instanceof t.ShadowRoot&&!(e.pageTarget instanceof t.ShadowRoot)&&e.pageTarget.getRootNode()===e.ownerDocument;function Cb(e){let{ownerDocument:t,ownerWindow:n}=e,r=n;if(!t.body||!Sb(e,r))return{runtime:e,isolated:!1};ku(Au,t.body);let i=()=>{let n=t.createElement(`div`);n.dataset.mesurerInspectorUi=`true`,n.dataset.mesurerIsolatedDocumentRuntime=`true`,n.dataset.theme=e.theme?.()??`system`;let r=e.subscribeTheme?.(e=>{n.dataset.theme=e})??(()=>void 0);t.body.append(n);let i=!1;return{element:n,dispose(){i||(i=!0,r(),n.remove())}}};return{isolated:!0,runtime:{...e,portalTarget:t.body,createInspectorMount:i}}}var wb=`[data-mesurer-inspector-ui='true'], [data-mesurer-annotation-marker='true']`,Tb=80,Eb=(e,t)=>!(e.pageTarget instanceof t.ShadowRoot)&&e.pageTarget.getRootNode()===e.ownerDocument&&(e.portalTarget instanceof t.ShadowRoot?e.portalTarget.host.getRootNode()===e.ownerDocument:e.portalTarget.getRootNode()===e.ownerDocument),Db=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom;function Ob(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r;if(!n.body||!Eb(t,a))return;let o=t.rendererRoot??i.querySelector(`[data-mesurer-root='true']`);if(!o)return;let s=n.createElement(`style`);s.dataset.mesurerDocumentUiPassthroughStyle=`true`,s.textContent=`
2275
+ `,n.head.append(E);let D=[`--mesurer-selected-source-outline`,`--mesurer-selected-source-fill`,`--mesurer-selected-source-background`,`--mesurer-selected-source-text`],O=(e,t)=>{let n=u.get(e);if(n)n.count+=1;else{let n=o.getComputedStyle(e),r=t.querySelector(`:scope > div`),i=r?o.getComputedStyle(r).backgroundColor:`#0d99ff`,a=o.getComputedStyle(t).backgroundColor,s=yb(e,D);u.set(e,{count:1,previous:e.getAttribute(`data-mesurer-source-selection-paint`),styles:s}),e.style.setProperty(`--mesurer-selected-source-outline`,i),e.style.setProperty(`--mesurer-selected-source-fill`,a),e.style.setProperty(`--mesurer-selected-source-background`,n.backgroundImage),e.style.setProperty(`--mesurer-selected-source-text`,n.color),e.dataset.mesurerSourceSelectionPaint=`true`}let r=!1;return()=>{if(r)return;r=!0;let t=u.get(e);t&&(--t.count,!(t.count>0)&&(t.previous===null?e.removeAttribute(`data-mesurer-source-selection-paint`):e.setAttribute(`data-mesurer-source-selection-paint`,t.previous),bb(e,t.styles),u.delete(e)))}},k=(e,t)=>{let n=t.original.trim(),r=Array.from(t.names),i=[n&&n!==`none`?n:``,...r].filter(Boolean).join(`, `);i?e.style.setProperty(`anchor-name`,i,t.originalPriority):e.style.removeProperty(`anchor-name`)},A=(e,t)=>{let n=l.get(e);n||(n={original:e.style.getPropertyValue(`anchor-name`),originalPriority:e.style.getPropertyPriority(`anchor-name`),names:new Set},l.set(e,n)),n.names.add(t),k(e,n);let r=!1;return()=>{if(r)return;r=!0;let n=l.get(e);if(n){if(n.names.delete(t),n.names.size){k(e,n);return}n.original?e.style.setProperty(`anchor-name`,n.original,n.originalPriority):e.style.removeProperty(`anchor-name`),l.delete(e)}}},j=(e,t)=>{let n=`--mesurer-${t}-${++cb}`;return{target:e,name:n,release:A(e,n)}},M=(e,t,n)=>{e.dataset.mesurerNativeScrollAnchor=n,hb(e,`position-anchor`,t.name)},N=e=>{delete e.root.dataset.mesurerSourceSelectionOwner,gb(e.chrome),gb(e.label),e.releaseSourcePaint(),e.release(),e.placement.release()},P=(e,t,r,i)=>{let a=d.get(e);a&&N(a);let o=j(t,`selection`),s=xb(n,e,e.parentNode===n.body?`none`:`selection-root`),c={...o,root:e,chrome:r,label:i,placement:s,releaseSourcePaint:O(t,r)};e.dataset.mesurerSourceSelectionOwner=`true`,d.set(e,c),M(r,c,`box`),i&&M(i,c,`label`)},F=(e,t)=>t.find(t=>fb(lb(t.getBoundingClientRect()),e))||(t.length===1?t[0]:null),I=()=>Array.from(d.values(),e=>e.name).join(`|`),L=()=>{let e=I();R(),I()!==e&&Su(n)},R=()=>{let e=new Set;for(let t of d.keys())t.isConnected&&e.add(t);for(let t of a.querySelectorAll(`[data-mesurer-selected-measurement='true']`))t.dataset.mesurerSelectionGroup!==`true`&&e.add(t);let t=c.currentSelection().elements.filter(e=>e instanceof o.HTMLElement);for(let a of e){let e=d.get(a);if(e?.target.isConnected&&e.chrome.isConnected){if(M(e.chrome,e,`box`),e.label?.isConnected&&M(e.label,e,`label`),t.includes(e.target)||x)continue;let s=Tu(e.chrome),c=db(e.chrome,a,n,r),l=s instanceof o.HTMLElement&&s.isConnected?s:F(c,t)??vb(c,n,o,i);l&&P(a,l,e.chrome,e.label);continue}e&&(N(e),d.delete(a));let s=a.children.item(0);if(!(s instanceof o.HTMLElement))continue;let c=a.children.item(a.children.length-1),l=c instanceof o.HTMLElement&&c!==s?c:null,u=Tu(s),f=db(s,a,n,r),p=u instanceof o.HTMLElement&&u.isConnected?u:F(f,t)??vb(f,n,o,i);p&&P(a,p,s,l)}for(let[e,t]of Array.from(d))e.isConnected||(N(t),d.delete(e))},z=()=>{h&&=(gb(h.surface),h.release(),h.placement.release(),null)},B=()=>{let e=h?.surface.isConnected?h.surface:a.querySelector(`[data-mesurer-hover-measurement='true']`);if(!e?.isConnected){z();return}let t=ub(e);if(h?.surface===e&&h.target.isConnected&&(M(e,h,`box`),x||fb(lb(h.target.getBoundingClientRect()),t)))return;let r=vb(t,n,o,i);if(!r)return;z();let s=j(r,`hover`),c=xb(n,e);h={...s,surface:e,placement:c},M(e,h,`box`)},V=()=>{g&&=(gb(g.ring),g.release(),null)},H=(e,t,n)=>{let i=t.getBoundingClientRect();if(i.width<=0||i.height<=0)return;let a=i.width,o=Math.max(i.height,t.scrollHeight),s=r.innerWidth-ob,c=r.innerHeight-ob,l=Math.max(ob,s-a),u=Math.max(ob,c-o),d=Math.min(Math.max(n.left+n.width/2-a/2,ob),l),f=Math.min(Math.max(n.top+n.height/2-o/2,ob),u),p=[{left:d,top:n.top-sb-o,placement:`above`},{left:d,top:n.bottom+sb,placement:`below`},{left:n.right+sb,top:f,placement:`side`},{left:n.left-sb-a,top:f,placement:`side`}],m=(e,t)=>e>=ob&&t>=ob&&e+a<=s&&t+o<=c,h=(e,t)=>Math.max(0,Math.min(e+a,n.right)-Math.max(e,n.left))>0&&Math.max(0,Math.min(t+o,n.bottom)-Math.max(t,n.top))>0,g=p.find(e=>m(e.left,e.top)&&!h(e.left,e.top)),_=d,v=ob,y=`viewport`;if(g)({left:_,top:v,placement:y}=g),t.style.maxHeight=`calc(100vh - 16px)`;else{let e=[{name:`above`,top:ob,height:Math.max(0,n.top-sb-ob)},{name:`below`,top:n.bottom+sb,height:Math.max(0,c-n.bottom-sb)}].sort((e,t)=>t.height-e.height)[0];e&&e.height>0&&(v=e.top,y=e.name,t.style.maxHeight=`${e.height}px`)}e.style.setProperty(`--mesurer-native-anchor-x`,`${_-n.left}px`),e.style.setProperty(`--mesurer-native-anchor-y`,`${v-n.top}px`),t.dataset.mesurerTextInspectorPlacement=y},U=()=>{if(!w?.isConnected){V();return}let e=w.querySelectorAll(`[data-mesurer-text-edit-ring='true']`),t=g?.ring.isConnected?g.ring:e.item(e.length-1);if(!t?.isConnected){V();return}let a=ub(t);if(!g||g.ring!==t||!g.target.isConnected||!x&&!fb(lb(g.target.getBoundingClientRect()),a)){let e=vb(a,n,o,i);e&&(V(),g={...j(e,`edit`),ring:t})}if(!g)return;M(t,g,`box`);let s=lb(g.target.getBoundingClientRect()),c=new Set;for(let e of n.querySelectorAll(`[data-mesurer-text-selection-highlight='true']`)){if(!e.isConnected)continue;c.add(e);let t=ub(e);f.has(e)||f.set(e,xb(n,e)),M(e,g,`offset`),x||(e.style.setProperty(`--mesurer-native-anchor-x`,`${t.left-s.left}px`),e.style.setProperty(`--mesurer-native-anchor-y`,`${t.top-s.top}px`))}for(let[e,t]of Array.from(f))c.has(e)&&e.isConnected||(gb(e),t.release(),f.delete(e));let l=w.querySelector(`[data-mesurer-text-inspector-placement-shell='true']`),u=w.querySelector(`[data-mesurer-text-inspector-info='true']`);if(l?.isConnected&&u?.isConnected){let e=l.dataset.mesurerNativeScrollOwner===`typography`&&l.dataset.mesurerNativeScrollAnchor===`offset`;l.dataset.mesurerNativeScrollOwner=`typography`,M(l,g,`offset`);let t=s.right>0&&s.bottom>0&&s.left<r.innerWidth&&s.top<r.innerHeight;!e&&t&&H(l,u,s)}},W=e=>{gb(e.box),gb(e.card),e.release()},ee=()=>{let e=new Set;for(let t of m.keys())t.isConnected&&e.add(t);for(let t of a.querySelectorAll(`.mesurer-ti-box`)){let n=t.parentElement;n?.dataset.mesurerInspectorUi===`true`&&e.add(n)}let t=new Set;for(let a of e){let e=Array.from(a.children).filter(e=>e instanceof o.HTMLElement),s=[];for(let n=0;n<e.length;n+=1){let r=e[n];if(!r.classList.contains(`mesurer-ti-box`)||r.dataset.state!==`visible`)continue;let i=e[n+1],a=i?.classList.contains(`mesurer-ti-card`)?i:null;s.push({box:r,card:a}),t.add(r)}if(s.length){m.has(a)||m.set(a,xb(n,a,`inspector-overlay`));for(let{box:e,card:t}of s){let a=ub(e),s=p.get(e),c=!1;if(s?.target.isConnected){let t=lb(s.target.getBoundingClientRect());if(fb(t,a))s.fallbackScrollX=r.scrollX,s.fallbackScrollY=r.scrollY,c=!0;else{let n=r.scrollX-s.fallbackScrollX,i=r.scrollY-s.fallbackScrollY,o=fb(t,{left:a.left-n,top:a.top-i,right:a.right-n,bottom:a.bottom-i,width:a.width,height:a.height});!x&&!o&&(W(s),p.delete(e),s=void 0)}}else s&&=(W(s),p.delete(e),void 0);if(!s){let l=vb(a,n,o,i);if(!l)continue;s={...j(l,`typography`),box:e,card:t,fallbackScrollX:r.scrollX,fallbackScrollY:r.scrollY},p.set(e,s),c=!0}if(e.dataset.mesurerNativeScrollOwner=`typography`,M(e,s,`box`),t?.isConnected&&!t.classList.contains(`mesurer-ti-card--pinned`)){if(t.dataset.mesurerNativeScrollOwner=`typography`,M(t,s,`offset`),!x&&c){let e=lb(s.target.getBoundingClientRect()),n=Number.parseFloat(t.style.left),r=Number.parseFloat(t.style.top);Number.isFinite(n)&&t.style.setProperty(`--mesurer-native-anchor-x`,`${n-e.left}px`),Number.isFinite(r)&&t.style.setProperty(`--mesurer-native-anchor-y`,`${r-e.top}px`)}}else t&&gb(t)}}}for(let[e,n]of Array.from(p))t.has(e)&&e.isConnected||(W(n),p.delete(e));for(let[e,t]of Array.from(m))e.isConnected||(t.release(),m.delete(e))},te=()=>{_||(L(),B(),U(),ee())},ne=(e=!1)=>{_||(v||(v=!0,r.queueMicrotask(()=>{v=!1,te()})),e&&!y&&(y=r.requestAnimationFrame(()=>{y=0,te()})))},re=()=>{_||x||b||(b=r.requestAnimationFrame(()=>{b=0,!(_||x)&&B()}))},ie=new o.MutationObserver(()=>{x||ne()});ie.observe(a,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-state`]}),w&&ie.observe(w,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-state`]});let G=()=>{x=!0,S&&r.clearTimeout(S),S=r.setTimeout(()=>{S=0,x=!1,ne(!0)},ab)},ae=()=>ne(!0);r.addEventListener(`scroll`,G,{capture:!0,passive:!0}),r.addEventListener(`resize`,ae,!0),r.addEventListener(`pointermove`,re,!0),r.addEventListener(`pointerup`,ae,!0),r.addEventListener(`dblclick`,ae,!0),ne(!0),e.lifecycle.onDispose(()=>{_=!0,ie.disconnect(),y&&r.cancelAnimationFrame(y),b&&r.cancelAnimationFrame(b),S&&r.clearTimeout(S),r.removeEventListener(`scroll`,G,!0),r.removeEventListener(`resize`,ae,!0),r.removeEventListener(`pointermove`,re,!0),r.removeEventListener(`pointerup`,ae,!0),r.removeEventListener(`dblclick`,ae,!0);for(let e of d.values())N(e);d.clear();for(let[e,t]of u)t.previous===null?e.removeAttribute(`data-mesurer-source-selection-paint`):e.setAttribute(`data-mesurer-source-selection-paint`,t.previous),bb(e,t.styles);u.clear(),z(),V();for(let[e,t]of f)gb(e),t.release();f.clear();for(let e of p.values())W(e);p.clear();for(let e of m.values())e.release();m.clear(),w&&delete w.dataset.mesurerNativeScrollRuntimeLayer,T?.release(),c.dispose();for(let[e,t]of l)t.original?e.style.setProperty(`anchor-name`,t.original,t.originalPriority):e.style.removeProperty(`anchor-name`);l.clear(),s(),E.remove()})}var Cb=(e,t)=>e.portalTarget instanceof t.ShadowRoot&&!(e.pageTarget instanceof t.ShadowRoot)&&e.pageTarget.getRootNode()===e.ownerDocument;function wb(e){let{ownerDocument:t,ownerWindow:n}=e,r=n;if(!t.body||!Cb(e,r))return{runtime:e,isolated:!1};ku(Au,t.body);let i=()=>{let n=t.createElement(`div`);n.dataset.mesurerInspectorUi=`true`,n.dataset.mesurerIsolatedDocumentRuntime=`true`,n.dataset.theme=e.theme?.()??`system`;let r=e.subscribeTheme?.(e=>{n.dataset.theme=e})??(()=>void 0);t.body.append(n);let i=!1;return{element:n,dispose(){i||(i=!0,r(),n.remove())}}};return{isolated:!0,runtime:{...e,portalTarget:t.body,createInspectorMount:i}}}var Tb=`[data-mesurer-inspector-ui='true'], [data-mesurer-annotation-marker='true']`,Eb=80,Db=(e,t)=>!(e.pageTarget instanceof t.ShadowRoot)&&e.pageTarget.getRootNode()===e.ownerDocument&&(e.portalTarget instanceof t.ShadowRoot?e.portalTarget.host.getRootNode()===e.ownerDocument:e.portalTarget.getRootNode()===e.ownerDocument),Ob=(e,t,n)=>t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom;function kb(e,t){let{ownerDocument:n,ownerWindow:r,portalTarget:i}=t,a=r;if(!n.body||!Db(t,a))return;let o=t.rendererRoot??i.querySelector(`[data-mesurer-root='true']`);if(!o)return;let s=n.createElement(`style`);s.dataset.mesurerDocumentUiPassthroughStyle=`true`,s.textContent=`
2235
2276
  [data-mesurer-document-ui-passthrough="true"] {
2236
2277
  pointer-events: none !important;
2237
2278
  }
@@ -2239,32 +2280,32 @@ body:has([data-mesurer-text-editor="true"]) [data-mesurer-source-selection-paint
2239
2280
  [data-mesurer-document-ui-passthrough="true"] > :not([data-mesurer-inspector-ui="true"]) * {
2240
2281
  pointer-events: none !important;
2241
2282
  }
2242
- `,i.append(s);let c=!1,l=0,u=0,d=!1,f=[],p=null,m=r.scrollX,h=r.scrollY,g=e=>{e?o.dataset.mesurerDocumentUiPassthrough=`true`:delete o.dataset.mesurerDocumentUiPassthrough},_=()=>{if(!p){g(!1);return}g(f.some(e=>Db(e,p.x,p.y)))},v=()=>{if(l=0,d=!1,c)return;let e=[];for(let t of n.body.querySelectorAll(wb)){if(!t.isConnected||t.getRootNode()!==n||t.getAttribute(`aria-hidden`)===`true`)continue;let i=r.getComputedStyle(t);if(i.display===`none`||i.visibility===`hidden`||i.pointerEvents===`none`)continue;let a=t.getBoundingClientRect();a.width<=0||a.height<=0||a.right<=0||a.bottom<=0||a.left>=r.innerWidth||a.top>=r.innerHeight||e.push({left:a.left,top:a.top,right:a.right,bottom:a.bottom})}f=e,m=r.scrollX,h=r.scrollY,_()},y=()=>{c||l||(l=r.requestAnimationFrame(v))},b=()=>!d&&!l?!1:(l&&r.cancelAnimationFrame(l),l=0,v(),!0),x=e=>e instanceof a.Element?e.matches(wb)||!!e.closest(wb)||!!e.querySelector(wb):!1,S=new a.MutationObserver(e=>{e.some(e=>e.type===`attributes`?x(e.target):x(e.target)?!0:[...e.addedNodes,...e.removedNodes].some(x))&&y()});S.observe(n.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`class`,`hidden`,`aria-hidden`]});let C=e=>{p={x:e.clientX,y:e.clientY},b()||_()},w=()=>{p=null,g(!1)},T=()=>y(),E=()=>{let e=r.scrollX,t=r.scrollY,n=e-m,i=t-h;m=e,h=t,n||i?(f=f.map(e=>({left:e.left-n,top:e.top-i,right:e.right-n,bottom:e.bottom-i})),_()):d=!0,u&&r.clearTimeout(u),u=r.setTimeout(()=>{u=0,y()},Tb)};r.addEventListener(`pointermove`,C,!0),r.addEventListener(`pointerover`,C,!0),r.addEventListener(`blur`,w,!0),r.addEventListener(`resize`,T,!0),r.addEventListener(`scroll`,E,!0),y(),e.lifecycle.onDispose(()=>{c=!0,S.disconnect(),l&&r.cancelAnimationFrame(l),u&&r.clearTimeout(u),r.removeEventListener(`pointermove`,C,!0),r.removeEventListener(`pointerover`,C,!0),r.removeEventListener(`blur`,w,!0),r.removeEventListener(`resize`,T,!0),r.removeEventListener(`scroll`,E,!0),g(!1),s.remove(),d=!1,f=[],p=null})}var kb=48,Ab=`[data-mesurer-text-selection-highlight='true']`;function jb(e,t){let{ownerDocument:n,ownerWindow:r}=t,i=r,a=n.createElement(`style`);a.dataset.mesurerNativeScrollStability=`true`,a.dataset.mesurerInspectorUi=`true`,a.textContent=`
2283
+ `,i.append(s);let c=!1,l=0,u=0,d=!1,f=[],p=null,m=r.scrollX,h=r.scrollY,g=e=>{e?o.dataset.mesurerDocumentUiPassthrough=`true`:delete o.dataset.mesurerDocumentUiPassthrough},_=()=>{if(!p){g(!1);return}g(f.some(e=>Ob(e,p.x,p.y)))},v=()=>{if(l=0,d=!1,c)return;let e=[];for(let t of n.body.querySelectorAll(Tb)){if(!t.isConnected||t.getRootNode()!==n||t.getAttribute(`aria-hidden`)===`true`)continue;let i=r.getComputedStyle(t);if(i.display===`none`||i.visibility===`hidden`||i.pointerEvents===`none`)continue;let a=t.getBoundingClientRect();a.width<=0||a.height<=0||a.right<=0||a.bottom<=0||a.left>=r.innerWidth||a.top>=r.innerHeight||e.push({left:a.left,top:a.top,right:a.right,bottom:a.bottom})}f=e,m=r.scrollX,h=r.scrollY,_()},y=()=>{c||l||(l=r.requestAnimationFrame(v))},b=()=>!d&&!l?!1:(l&&r.cancelAnimationFrame(l),l=0,v(),!0),x=e=>e instanceof a.Element?e.matches(Tb)||!!e.closest(Tb)||!!e.querySelector(Tb):!1,S=new a.MutationObserver(e=>{e.some(e=>e.type===`attributes`?x(e.target):x(e.target)?!0:[...e.addedNodes,...e.removedNodes].some(x))&&y()});S.observe(n.body,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`class`,`hidden`,`aria-hidden`]});let C=e=>{p={x:e.clientX,y:e.clientY},b()||_()},w=()=>{p=null,g(!1)},T=()=>y(),E=()=>{let e=r.scrollX,t=r.scrollY,n=e-m,i=t-h;m=e,h=t,n||i?(f=f.map(e=>({left:e.left-n,top:e.top-i,right:e.right-n,bottom:e.bottom-i})),_()):d=!0,u&&r.clearTimeout(u),u=r.setTimeout(()=>{u=0,y()},Eb)};r.addEventListener(`pointermove`,C,!0),r.addEventListener(`pointerover`,C,!0),r.addEventListener(`blur`,w,!0),r.addEventListener(`resize`,T,!0),r.addEventListener(`scroll`,E,!0),y(),e.lifecycle.onDispose(()=>{c=!0,S.disconnect(),l&&r.cancelAnimationFrame(l),u&&r.clearTimeout(u),r.removeEventListener(`pointermove`,C,!0),r.removeEventListener(`pointerover`,C,!0),r.removeEventListener(`blur`,w,!0),r.removeEventListener(`resize`,T,!0),r.removeEventListener(`scroll`,E,!0),g(!1),s.remove(),d=!1,f=[],p=null})}var Ab=48,jb=`[data-mesurer-text-selection-highlight='true']`;function Mb(e,t){let{ownerDocument:n,ownerWindow:r}=t,i=r,a=n.createElement(`style`);a.dataset.mesurerNativeScrollStability=`true`,a.dataset.mesurerInspectorUi=`true`,a.textContent=`
2243
2284
  [data-mesurer-selected-measurement="true"] > div {
2244
2285
  transition: none !important;
2245
2286
  animation: none !important;
2246
2287
  }
2247
- `,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(Ab)&&d(e);for(let t of e.querySelectorAll(Ab))d(t)}};for(let e of n.querySelectorAll(Ab))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,kb))};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 Mb=new WeakMap,Nb=e=>{let t=Mb.get(e.pageTarget);t&&(e.ownerWindow.clearTimeout(t.clearTimer),Mb.delete(e.pageTarget))},Pb=(e,t)=>{Nb(e);let n=e.pageTarget,r={target:t,clearTimer:0};Mb.set(n,r),r.clearTimer=e.ownerWindow.setTimeout(()=>{Mb.get(n)===r&&Mb.delete(n)},0)},Fb=e=>Mb.get(e.pageTarget)?.target??null,Ib=`mesurer.text-edit.intents`,Lb=`text-edit`,Rb=`text-edit.commit`,zb=`text-edit.clear`,Bb=600,Vb=360,Hb=24,Ub=80,Wb=`var(--msr-accent, #0d99ff)`,Gb=`var(--msr-content, #0f172a)`,Kb=`var(--msr-color-ink-500, #8a8a8a)`,qb=288,Jb=`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))`,Yb=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),Xb=[`font-family`,`font-size`,`font-weight`,`font-style`,`line-height`,`letter-spacing`,`text-transform`,`color`],Zb=e=>{let{origin:t,pathname:n,search:r}=e.location;return`${t}${n}${r}`},Qb=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,$b=e=>({tag:e.fingerprintTag,id:e.fingerprintId,testId:e.fingerprintTestId,role:e.fingerprintRole,ariaLabel:e.fingerprintAriaLabel,classes:e.fingerprintClasses,text:e.fingerprintText}),ex=e=>({property:e.property,before:e.before,desired:e.desired}),tx=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(ex)}),nx=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))}},rx=e=>e.map(e=>({...e})),ix=e=>(e.split(`,`)[0]??e).trim().replace(/^['"]|['"]$/g,``),ax=e=>{if(e===`bold`)return 700;if(e===`normal`)return 400;let t=Number(e);return Number.isFinite(t)?t:400},ox=e=>e===`transparent`||/^rgba\([^)]*,\s*0(?:\.0+)?\s*\)$/.test(e)||/^rgba\(0\s+0\s+0\s*\/\s*0(?:\.0+)?\)$/.test(e),sx=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])}`},cx=(e,t)=>[...e.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,t).map(([e])=>e),lx=(e,t)=>t?[t,...e.filter(e=>e!==t)]:e;function ux(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=t.createWorkspaceRuntime(),s=new fv(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:Ib,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=()=>{if(t.currentToolbarMode)return t.currentToolbarMode()===`edit`;let e=y();return e===`text-inspector`||e===`select`},x=()=>{let e=y();return t.currentToolbarMode?e===`text-inspector`:e===`text-inspector`||e===`select`},S=e=>Wf(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),C=e=>Array.from(e.childNodes).some(e=>e.nodeType===a.Node.TEXT_NODE&&!!e.nodeValue?.trim()),w=e=>{let t=[];i instanceof a.HTMLElement&&i.matches(e)&&S(i)&&t.push(i);for(let n of i.querySelectorAll(e))n instanceof a.HTMLElement&&S(n)&&t.push(n);return t},T=e=>{let t=u.get(e.id);if(t?.element.isConnected&&t.node.isConnected&&S(t.element))return t;u.delete(e.id);let n=$b(e);if(!Jf(n))return null;let r=[];try{r=w(e.selector).filter(e=>Yf(e,n))}catch{return null}if(r.length!==1)return null;if(!n.id&&!n.testId){let e=[];try{e=w(n.tag).filter(e=>Yf(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},E=(e,t)=>{e.nodeValue!==t&&(f.set(e,(f.get(e)??0)+1),e.nodeValue=t)},D=(e,t)=>{let r=n.createElement(`span`);return r.style.setProperty(e,t),r.style.getPropertyValue(e)||t},O=(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)}},k=(e,t)=>{for(let n of t)O(e,n)},A=(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))},j=()=>{for(let e of d.values())e.node.isConnected&&e.node.nodeValue===e.desiredText&&E(e.node,e.beforeText),e.element.isConnected&&k(e.element,e.styleChanges);d.clear()},M=()=>{let e=l().edits.filter(e=>e.pageUrl===Zb(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&&E(n.node,n.beforeText),n.element.isConnected&&k(n.element,n.styleChanges),d.delete(e));for(let t of e){let e=T(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&&E(e.node,t.desiredText),i=!0):n===t.beforeText&&(E(e.node,t.desiredText),i=!0);let a=A(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})}},N=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}),P=(e,t)=>{let n=N(t),r=JSON.stringify(n),i=e.get(r);if(i){i.count+=1;return}e.set(r,{styles:n,count:1})},F=e=>[...e.values()].sort((e,t)=>t.count-e.count)[0]??null,I=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>=Bb)break;for(let e of c){if(!S(e)||!C(e)||Yb.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`)&&P(l,i),e.tagName===`H1`||e.tagName===`H2`||e.tagName===`H3`){let t=e.tagName,n=u.get(t)??new Map;P(n,i),u.set(t,n)}}let f=r.getComputedStyle(e),p=[{id:`text`,label:`Text`,shortcut:`0`,styles:F(l)?.styles??N(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=F(u.get(e)??new Map);i&&p.push({id:t,label:n,shortcut:r,styles:i.styles})}return{fontFamilies:lx(cx(t,12),f.fontFamily),fontSizes:lx(cx(n,12),f.fontSize),fontWeights:lx(cx(o,9).sort((e,t)=>ax(e)-ax(t)),f.fontWeight),colors:lx(cx(s,10),f.color),presets:p}},L=e=>{let t=e;for(;t;){let e=r.getComputedStyle(t).backgroundColor;if(e&&!ox(e))return e;t=t.parentElement}return`Canvas`},R=(e,t)=>e.styleChanges.find(e=>e.property===t)??null,z=(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}))}}tv(n,e.inspectorCard,e.inspectorInfo,!1),e.inspectorCard.dataset.mesurerTextInspectorInfo=`true`,e.inspectorCard.dataset.state=`visible`,e.inspectorCard.setAttribute(`aria-label`,`Text inspector`)},B=(e,t)=>r.getComputedStyle(e.element).getPropertyValue(t).trim(),V=(e,t,n)=>{let i=D(t,n),a=R(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&&O(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]}},H=(e,t)=>{for(let[n,r]of t)V(e,n,r);fe(e),z(e,!0),pe()},U=(e,t,n)=>H(e,[[t,n]]),W=(e,t)=>Xb.every(n=>{let r=t.styles[n];return r===void 0||B(e,n)===D(n,r)}),ee=e=>e.catalog.presets.find(t=>W(e,t))??null,te=(e,t)=>{e.menuOpen=!1;let n=Xb.flatMap(e=>{let n=t.styles[e];return n===void 0?[]:[[e,n]]});H(e,n),e.editor.focus({preventScroll:!0})},ne=e=>{let t=B(e,`font-weight`),n=R(e,`font-weight`);if(n&&ax(n.desired)>=600&&ax(n.before)<600){U(e,`font-weight`,n.before);return}U(e,`font-weight`,ax(t)>=600?`400`:`700`)},re=e=>{let t=B(e,`font-style`),n=R(e,`font-style`);if(n&&n.desired!==`normal`&&n.before===`normal`){U(e,`font-style`,n.before);return}U(e,`font-style`,t===`normal`?`italic`:`normal`)},ie=e=>{let t=B(e,`text-decoration-line`),n=R(e,`text-decoration-line`);if(n&&n.desired.includes(`underline`)&&!n.before.includes(`underline`)){U(e,`text-decoration-line`,n.before);return}U(e,`text-decoration-line`,t.includes(`underline`)?`none`:`underline`)},G=(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?Wb:`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?Wb:`transparent`}),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),m===e&&(a(),e.editor.focus({preventScroll:!0}))}),o},ae=(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:Gb,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=Kb;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:Gb,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 lx(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},oe=(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:Gb,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=Kb;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:Gb,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(``),U(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},se=e=>/Mac|iPhone|iPad|iPod/i.test(r.navigator.platform||r.navigator.userAgent)?`⌥⌘${e}`:`Alt+Ctrl+${e}`,ce=(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=se(t.shortcut),Object.assign(o.style,{color:Kb,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&&te(e,t)}),i},le=()=>{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},ue=e=>{let t=e.menu;t.replaceChildren();let r=ee(e);for(let n of e.catalog.presets)t.append(ce(e,n,r?.id===n.id));t.append(le());let i=B(e,`font-family`),a=B(e,`font-size`),o=B(e,`font-weight`),s=B(e,`line-height`),c=B(e,`letter-spacing`),l=B(e,`color`);t.append(ae(e,`Font`,e.catalog.fontFamilies,i,ix,t=>U(e,`font-family`,t)),ae(e,`Size`,e.catalog.fontSizes,a,e=>e,t=>U(e,`font-size`,t)),ae(e,`Weight`,e.catalog.fontWeights,o,e=>e,t=>U(e,`font-weight`,t)),oe(e,`Line`,`line-height`,s),oe(e,`Tracking`,`letter-spacing`,c)),t.append(le());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:Kb,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 ${Wb}`:`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&&U(e,`color`,t)}),f.append(r)}let p=n.createElement(`input`);p.type=`color`,p.value=sx(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&&U(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`},de=e=>{let t=ee(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:Kb,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,fe(e),pe())}),r},fe=e=>{let t=e.toolbar;t.replaceChildren();let n=B(e,`font-weight`),r=B(e,`font-style`),i=B(e,`text-decoration-line`);t.append(G(e,`B`,`Bold`,ax(n)>=600,()=>ne(e)),G(e,`I`,`Italic`,r===`italic`||r===`oblique`,()=>re(e)),G(e,`U`,`Underline`,i.includes(`underline`),()=>ie(e)),de(e)),ue(e)},pe=()=>{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:L(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(qb,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`},me=()=>{let e=m;e&&(e.editor.remove(),e.toolbar.remove(),e.menu.remove(),e.inspectorCard.remove(),m=null)},he=()=>{let e=m;if(!e)return;E(e.node,e.initialText),k(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))}),me()},ge=()=>{let t=m;if(!t)return;let n=`${t.leading}${t.editor.value}${t.trailing}`,i=rx(t.styleChanges);if(n===t.initialText&&JSON.stringify(i)===JSON.stringify(t.initialStyleChanges)){E(t.node,t.initialText),me();return}p={id:t.editId,createdAt:Date.now(),pageUrl:Zb(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}),E(t.node,n),me(),e.command.execute(Rb,void 0,{source:`text-inspector`}).catch(()=>{let e=d.get(t.editId);e&&(e.node.isConnected&&e.node.nodeValue===n&&E(e.node,t.beforeText),e.element.isConnected&&k(e.element,e.styleChanges)),d.delete(t.editId)})},_e=(e,r)=>{let i=Fb(t);if(i&&i.element.isConnected&&i.node.isConnected&&i.node.parentNode===i.element&&i.node.nodeValue?.trim()&&S(i.element)&&!Yb.has(i.element.tagName)&&!i.element.isContentEditable)return i;for(let t of n.elementsFromPoint(e,r)){if(!(t instanceof a.HTMLElement)||!S(t)||Yb.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},ve=(e,t,n,i)=>{let a=Zb(r);return l().edits.find(r=>{if(r.pageUrl!==a||r.nodeIndex!==i)return!1;let o=T(r);return o?.element===e&&o.node===t||r.selector===n})??null},ye=(e,t,i)=>{if(!b())return;let a=_e(e,t);if(!a)return;i?.preventDefault(),i?.stopImmediatePropagation(),he();let o=Kf(a.element),l=qf(a.element),u=ve(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??Qb(r,`text-edit`);if(u&&h)g=u.beforeText,_=u.desiredText,v=rx(u.styleChanges),E(a.node,_);else if(u&&f===u.beforeText){g=u.beforeText,_=u.desiredText,v=rx(u.styleChanges),E(a.node,_);let e=A(a.element,v,[]);d.set(u.id,{...a,beforeText:g,desiredText:_,styleChanges:e})}else u&&f===u.desiredText&&(g=f,_=f,v=[]);let x=nx(_),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:Gb,boxShadow:Jb});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:`${qb}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:Gb,boxShadow:Jb});let T=ev(n,!1);T.dataset.mesurerTextInspectorInfo=`true`,T.dataset.mesurerInspectorUi=`true`,T.setAttribute(`aria-label`,`Text inspector`),Object.assign(T.style,{zIndex:`2147483647`,pointerEvents:`auto`,transform:`translateX(-50%)`,opacity:`1`}),c.element.append(S,C,w,T);let D=s.getFull(a.element);m={element:a.element,node:a.node,editor:S,toolbar:C,menu:w,menuOpen:!1,inspectorCard:T,inspectorInfo:D,editId:y,beforeText:g,initialText:_,leading:x.leading,trailing:x.trailing,nodeIndex:a.nodeIndex,selector:o,fingerprint:l,initialStyleChanges:rx(v),styleChanges:v,catalog:I(a.element)},fe(m),z(m,!1),pe(),S.addEventListener(`input`,()=>{let e=m;!e||e.editor!==S||(E(e.node,`${e.leading}${S.value}${e.trailing}`),z(e,!1),pe())}),S.focus({preventScroll:!0}),S.setSelectionRange(0,S.value.length)},be=e=>{e instanceof a.MouseEvent&&ye(e.clientX,e.clientY,e)},xe=e=>{if(!e.pointerType||e.pointerType===`mouse`||!b())return;let t=_e(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<=Vb&&Math.hypot(e.clientX-i.x,e.clientY-i.y)<=Hb){h=null,ye(e.clientX,e.clientY,e);return}h={time:n,x:e.clientX,y:e.clientY,element:t.element}},Se=()=>{if(_=0,!g){if(m&&!b()&&he(),!x()){j();return}M(),pe()}},Ce=()=>{g||_||(_=r.requestAnimationFrame(Se))},we=()=>{if(c.element.dataset.mesurerNativeScrollRuntimeLayer!==`true`){Ce();return}_&&=(r.cancelAnimationFrame(_),0),v&&r.clearTimeout(v),v=r.setTimeout(()=>{v=0,Ce()},Ub)},Te=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)||ge()},Ee=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,fe(n),pe(),n.editor.focus({preventScroll:!0});return}he();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(),te(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`?ne(n):e===`i`?re(n):ie(n),n.editor.focus({preventScroll:!0});return}}e&&t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),t.stopImmediatePropagation(),ge());return}t.key===`Escape`&&y()===`text-inspector`&&e.command.execute(zb,void 0,{source:`text-inspector-clear`})},De=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)}Ce()});De.observe(i,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`]}),e.command.register(Rb,()=>{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(zb,()=>{p=null,e.state.update(Ib,()=>({edits:[]}))}),e.service.provide(Lb,{intents:()=>l().edits.map(tx),intent:e=>{let t=l().edits.find(t=>t.id===e);return t?tx(t):null},clear:async()=>{await e.command.execute(zb)}});let Oe=o.subscribe(Ce);e.state.subscribe(Ce),r.addEventListener(`dblclick`,be,!0),r.addEventListener(`pointerup`,xe,!0),r.addEventListener(`pointerdown`,Te,!0),r.addEventListener(`keydown`,Ee,!0),r.addEventListener(`resize`,Ce),r.addEventListener(`scroll`,we,!0),Ce(),e.lifecycle.onDispose(()=>{g=!0,_&&r.cancelAnimationFrame(_),_=0,v&&r.clearTimeout(v),v=0,he(),j(),De.disconnect(),Oe(),r.removeEventListener(`dblclick`,be,!0),r.removeEventListener(`pointerup`,xe,!0),r.removeEventListener(`pointerdown`,Te,!0),r.removeEventListener(`keydown`,Ee,!0),r.removeEventListener(`resize`,Ce),r.removeEventListener(`scroll`,we,!0),u.clear(),o.dispose(),c.dispose()})}var dx=`[data-mesurer-text-editor='true']`,fx=`[data-mesurer-text-edit-runtime='true']`,px=`[data-mesurer-root='true']`,mx=`data-mesurer-direct-text-edit-active`;function hx(e,t,n){let{ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(fx),s=o.item(o.length-1),c=n.rendererRoot??s?.closest(px)??null;if(!s?.isConnected||!c?.isConnected)return;let l=!1,u=()=>{let e=!!s.querySelector(dx);e!==l&&(l=e,l?c.setAttribute(mx,`true`):c.removeAttribute(mx))},d=new a.MutationObserver(u);d.observe(s,{childList:!0,subtree:!0}),u(),e.lifecycle.onDispose(()=>{d.disconnect(),c.removeAttribute(mx)})}var gx=8,_x=2,vx=4,yx=20,bx=`[data-mesurer-selected-measurement='true']`,xx=`[data-mesurer-measurement-chrome='true']`,Sx=`[data-mesurer-measurement-label='true']`,Cx=`[data-mesurer-text-editor='true']`,wx=`[data-mesurer-text-edit-ring='true']`,Tx=`[data-mesurer-text-inspector-info='true']`,Ex=`[data-mesurer-text-inspector-placement-shell='true']`,Dx=`data-mesurer-measurement-label-clearance`,Ox=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),kx=(e,t,n=vx)=>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,Ax=(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,jx=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)})),Mx=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+yx,width:e.width,height:yx});function Nx(e,t,n,r){let i=jx(t.length>0?[e,...t]:[e,Mx(e)]),a=n.width,o=n.height,s=r.width-gx,c=r.height-gx,l=Math.max(gx,s-a),u=Math.max(gx,c-o),d=Math.min(Math.max(e.left+e.width/2-a/2,gx),l),f=Math.min(Math.max(e.top+e.height/2-o/2,gx),u),p=[{left:d,top:i.top-_x-o,placement:`above`,maxHeight:null},{left:d,top:i.bottom+_x,placement:`below`,maxHeight:null},{left:i.right+_x,top:f,placement:`side`,maxHeight:null},{left:i.left-_x-a,top:f,placement:`side`,maxHeight:null}],m=e=>e.left>=gx&&e.top>=gx&&e.left+a<=s&&e.top+o<=c,h=p.find(e=>m(e));if(h)return h;let g=[{placement:`above`,top:gx,height:Math.max(0,i.top-_x-gx)},{placement:`below`,top:i.bottom+_x,height:Math.max(0,c-i.bottom-_x)}].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:gx,placement:`viewport`,maxHeight:Math.max(0,r.height-16)}}var Px=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),Fx=(e,t,n,r=``)=>{(e.style.getPropertyValue(t)!==n||e.style.getPropertyPriority(t)!==r)&&e.style.setProperty(t,n,r)},Ix=(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))},Lx=(e,t,n)=>{e.getAttribute(t)!==n&&e.setAttribute(t,n)},Rx=(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},zx=(e,t,n)=>{let r=new Set;for(let t of e)for(let e of t.querySelectorAll(bx))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(Sx);if(!a)continue;let o=n.getComputedStyle(a);if(o.display===`none`||o.visibility===`hidden`)continue;let s=Ox(a.getBoundingClientRect());if(s.width<=0||s.height<=0)continue;let c=e.querySelector(xx),l=c?.isConnected?Ox(c.getBoundingClientRect()):null;!(l&&l.width>0&&l.height>0&&kx(l,t))&&!Rx(s,t)||i.push(s)}return i},Bx=(e,t)=>e instanceof t.HTMLElement?e.matches(bx)||!!e.closest(bx)||!!e.querySelector(bx):!1;function Vx(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&&(Ix(t,`left`,e.shellLeft),Ix(t,`top`,e.shellTop),Ix(t,`--mesurer-native-anchor-x`,e.anchorX),Ix(t,`--mesurer-native-anchor-y`,e.anchorY),e.marker===null?t.removeAttribute(Dx):Lx(t,Dx,e.marker)),n.isConnected&&(Ix(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:Px(e,`left`),shellTop:Px(e,`top`),anchorX:Px(e,`--mesurer-native-anchor-x`),anchorY:Px(e,`--mesurer-native-anchor-y`),cardMaxHeight:Px(t,`max-height`),placement:t.getAttribute(`data-mesurer-text-inspector-placement`),marker:e.getAttribute(Dx)}},h=()=>{if(d)return;let e=c.querySelector(Cx),t=c.querySelector(Ex),n=c.querySelector(Tx),r=c.querySelectorAll(wx),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=Ox(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=zx(f(),s,o),_=Mx(s),v=Ox(n.getBoundingClientRect()),y=Ax(v,_)||g.some(e=>Ax(v,e));if(!l&&!y)return;l||m(t,n);let b=Math.max(v.height,n.scrollHeight),x=Nx(s,g,{width:v.width,height:b},{width:i.innerWidth,height:i.innerHeight});u?(Fx(t,`--mesurer-native-anchor-x`,`${x.left-s.left}px`),Fx(t,`--mesurer-native-anchor-y`,`${x.top-s.top}px`)):(Fx(t,`left`,`${x.left}px`),Fx(t,`top`,`${x.top}px`)),x.maxHeight===null&&l?Ix(n,`max-height`,l.cardMaxHeight):x.maxHeight!==null&&Fx(n,`max-height`,`${x.maxHeight}px`),n.dataset.mesurerTextInspectorPlacement!==x.placement&&(n.dataset.mesurerTextInspectorPlacement=x.placement),Lx(t,Dx,`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`?Bx(e.target,o):Bx(e.target,o)?!0:[...e.addedNodes,...e.removedNodes].some(e=>Bx(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 Hx=`var(--msr-accent, #0d99ff)`,Ux=`var(--msr-color-ink-500, #8a8a8a)`,Wx=288,Gx=1.5,Kx=80,qx=(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,Jx=(e,t,n)=>Math.min(Math.max(e,t),n);function Yx(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=Hx,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 ${Ux}`,borderBottom:`1.5px solid ${Ux}`,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:`${Gx}px`,pointerEvents:`none`,transform:`translateX(-${Gx/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(!qx(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+Jx(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:Hx})},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()},Kx)},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)},V=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))},H=()=>{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}V(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:`${Wx}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}}},U=new o.MutationObserver(()=>H());U.observe(c,{childList:!0,subtree:!0}),r.addEventListener(`resize`,R),r.addEventListener(`scroll`,z,{capture:!0,passive:!0}),H(),e.lifecycle.onDispose(()=>{y=!0,U.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 Xx=`#0d99ff`,Zx=`rgba(13, 153, 255, 0.22)`,Qx=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),$x=(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()),eS=(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},tS=(e,t,n)=>Math.min(Math.max(e,t),n);function nS(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=()=>{if(t.currentToolbarMode)return t.currentToolbarMode()===`edit`;let e=t.currentToolMode?.()??`none`;return e===`text-inspector`||e===`select`},s=e=>Wf(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),c=(e,i)=>{if(Nb(t),o())for(let o of n.elementsFromPoint(e,i)){if(lu(o,r))return;if(!(o instanceof a.HTMLElement)||!s(o)||Qx.has(o.tagName)||o.isContentEditable)continue;let c=$x(o,a);if(c.length===0)continue;if(c.length===1){Pb(t,{element:o,node:c[0].node,nodeIndex:c[0].index});return}let l=eS(n,a,c,e,i);if(l){Pb(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(()=>{Nb(t),r.removeEventListener(`dblclick`,l,!0),r.removeEventListener(`pointerup`,u,!0)})}function rS(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:Zx,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 ${Xx}`,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+tS(Math.min(i,a),0,l),d=s+tS(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&&Wf(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`));if(t.length!==1)return null;let n=t[0],r=$x(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=Fb(t)??p??T(e);n?.element.isConnected&&n.node.isConnected&&(p=n);let a=n?.element??null,o=a?.isConnected&&Wf(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,Nb(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 iS=`[data-mesurer-selected-measurement='true']`,aS=`[data-mesurer-hover-measurement='true']`,oS=`[data-mesurer-text-editor='true']`,sS=`data-mesurer-direct-edit-selection-suppressed`,cS=`data-mesurer-direct-edit-hover-suppressed`;function lS(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=r.createElement(`style`);l.dataset.mesurerEditSelectionPaintGuard=`true`,l.textContent=`
2288
+ `,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(jb)&&d(e);for(let t of e.querySelectorAll(jb))d(t)}};for(let e of n.querySelectorAll(jb))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,Ab))};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 Nb=new WeakMap,Pb=e=>{let t=Nb.get(e.pageTarget);t&&(e.ownerWindow.clearTimeout(t.clearTimer),Nb.delete(e.pageTarget))},Fb=(e,t)=>{Pb(e);let n=e.pageTarget,r={target:t,clearTimer:0};Nb.set(n,r),r.clearTimer=e.ownerWindow.setTimeout(()=>{Nb.get(n)===r&&Nb.delete(n)},0)},Ib=e=>Nb.get(e.pageTarget)?.target??null,Lb=`mesurer.text-edit.intents`,Rb=`text-edit`,zb=`text-edit.commit`,Bb=`text-edit.clear`,Vb=600,Hb=360,Ub=24,Wb=80,Gb=`var(--msr-accent, #0d99ff)`,Kb=`var(--msr-content, #0f172a)`,qb=`var(--msr-color-ink-500, #8a8a8a)`,Jb=288,Yb=`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))`,Xb=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),Zb=[`font-family`,`font-size`,`font-weight`,`font-style`,`line-height`,`letter-spacing`,`text-transform`,`color`],Qb=e=>{let{origin:t,pathname:n,search:r}=e.location;return`${t}${n}${r}`},$b=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,ex=e=>({tag:e.fingerprintTag,id:e.fingerprintId,testId:e.fingerprintTestId,role:e.fingerprintRole,ariaLabel:e.fingerprintAriaLabel,classes:e.fingerprintClasses,text:e.fingerprintText}),tx=e=>({property:e.property,before:e.before,desired:e.desired}),nx=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(tx)}),rx=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))}},ix=e=>e.map(e=>({...e})),ax=e=>(e.split(`,`)[0]??e).trim().replace(/^['"]|['"]$/g,``),ox=e=>{if(e===`bold`)return 700;if(e===`normal`)return 400;let t=Number(e);return Number.isFinite(t)?t:400},sx=e=>e===`transparent`||/^rgba\([^)]*,\s*0(?:\.0+)?\s*\)$/.test(e)||/^rgba\(0\s+0\s+0\s*\/\s*0(?:\.0+)?\)$/.test(e),cx=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])}`},lx=(e,t)=>[...e.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])).slice(0,t).map(([e])=>e),ux=(e,t)=>t?[t,...e.filter(e=>e!==t)]:e;function dx(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=t.createWorkspaceRuntime(),s=new pv(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:Lb,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=()=>{if(t.currentToolbarMode)return t.currentToolbarMode()===`edit`;let e=y();return e===`text-inspector`||e===`select`},x=()=>{let e=y();return t.currentToolbarMode?e===`text-inspector`:e===`text-inspector`||e===`select`},S=e=>Wf(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),C=e=>Array.from(e.childNodes).some(e=>e.nodeType===a.Node.TEXT_NODE&&!!e.nodeValue?.trim()),w=e=>{let t=[];i instanceof a.HTMLElement&&i.matches(e)&&S(i)&&t.push(i);for(let n of i.querySelectorAll(e))n instanceof a.HTMLElement&&S(n)&&t.push(n);return t},T=e=>{let t=u.get(e.id);if(t?.element.isConnected&&t.node.isConnected&&S(t.element))return t;u.delete(e.id);let n=ex(e);if(!Jf(n))return null;let r=[];try{r=w(e.selector).filter(e=>Yf(e,n))}catch{return null}if(r.length!==1)return null;if(!n.id&&!n.testId){let e=[];try{e=w(n.tag).filter(e=>Yf(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},E=(e,t)=>{e.nodeValue!==t&&(f.set(e,(f.get(e)??0)+1),e.nodeValue=t)},D=(e,t)=>{let r=n.createElement(`span`);return r.style.setProperty(e,t),r.style.getPropertyValue(e)||t},O=(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)}},k=(e,t)=>{for(let n of t)O(e,n)},A=(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))},j=()=>{for(let e of d.values())e.node.isConnected&&e.node.nodeValue===e.desiredText&&E(e.node,e.beforeText),e.element.isConnected&&k(e.element,e.styleChanges);d.clear()},M=()=>{let e=l().edits.filter(e=>e.pageUrl===Qb(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&&E(n.node,n.beforeText),n.element.isConnected&&k(n.element,n.styleChanges),d.delete(e));for(let t of e){let e=T(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&&E(e.node,t.desiredText),i=!0):n===t.beforeText&&(E(e.node,t.desiredText),i=!0);let a=A(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})}},N=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}),P=(e,t)=>{let n=N(t),r=JSON.stringify(n),i=e.get(r);if(i){i.count+=1;return}e.set(r,{styles:n,count:1})},F=e=>[...e.values()].sort((e,t)=>t.count-e.count)[0]??null,I=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>=Vb)break;for(let e of c){if(!S(e)||!C(e)||Xb.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`)&&P(l,i),e.tagName===`H1`||e.tagName===`H2`||e.tagName===`H3`){let t=e.tagName,n=u.get(t)??new Map;P(n,i),u.set(t,n)}}let f=r.getComputedStyle(e),p=[{id:`text`,label:`Text`,shortcut:`0`,styles:F(l)?.styles??N(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=F(u.get(e)??new Map);i&&p.push({id:t,label:n,shortcut:r,styles:i.styles})}return{fontFamilies:ux(lx(t,12),f.fontFamily),fontSizes:ux(lx(n,12),f.fontSize),fontWeights:ux(lx(o,9).sort((e,t)=>ox(e)-ox(t)),f.fontWeight),colors:ux(lx(s,10),f.color),presets:p}},L=e=>{let t=e;for(;t;){let e=r.getComputedStyle(t).backgroundColor;if(e&&!sx(e))return e;t=t.parentElement}return`Canvas`},R=(e,t)=>e.styleChanges.find(e=>e.property===t)??null,z=(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}))}}nv(n,e.inspectorCard,e.inspectorInfo,!1),e.inspectorCard.dataset.mesurerTextInspectorInfo=`true`,e.inspectorCard.dataset.state=`visible`,e.inspectorCard.setAttribute(`aria-label`,`Text inspector`)},B=(e,t)=>r.getComputedStyle(e.element).getPropertyValue(t).trim(),V=(e,t,n)=>{let i=D(t,n),a=R(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&&O(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]}},H=(e,t)=>{for(let[n,r]of t)V(e,n,r);fe(e),z(e,!0),pe()},U=(e,t,n)=>H(e,[[t,n]]),W=(e,t)=>Zb.every(n=>{let r=t.styles[n];return r===void 0||B(e,n)===D(n,r)}),ee=e=>e.catalog.presets.find(t=>W(e,t))??null,te=(e,t)=>{e.menuOpen=!1;let n=Zb.flatMap(e=>{let n=t.styles[e];return n===void 0?[]:[[e,n]]});H(e,n),e.editor.focus({preventScroll:!0})},ne=e=>{let t=B(e,`font-weight`),n=R(e,`font-weight`);if(n&&ox(n.desired)>=600&&ox(n.before)<600){U(e,`font-weight`,n.before);return}U(e,`font-weight`,ox(t)>=600?`400`:`700`)},re=e=>{let t=B(e,`font-style`),n=R(e,`font-style`);if(n&&n.desired!==`normal`&&n.before===`normal`){U(e,`font-style`,n.before);return}U(e,`font-style`,t===`normal`?`italic`:`normal`)},ie=e=>{let t=B(e,`text-decoration-line`),n=R(e,`text-decoration-line`);if(n&&n.desired.includes(`underline`)&&!n.before.includes(`underline`)){U(e,`text-decoration-line`,n.before);return}U(e,`text-decoration-line`,t.includes(`underline`)?`none`:`underline`)},G=(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?Gb:`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?Gb:`transparent`}),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),m===e&&(a(),e.editor.focus({preventScroll:!0}))}),o},ae=(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:Kb,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=qb;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:Kb,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 ux(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},oe=(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:Kb,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=qb;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:Kb,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(``),U(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},se=e=>/Mac|iPhone|iPad|iPod/i.test(r.navigator.platform||r.navigator.userAgent)?`⌥⌘${e}`:`Alt+Ctrl+${e}`,ce=(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=se(t.shortcut),Object.assign(o.style,{color:qb,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&&te(e,t)}),i},le=()=>{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},ue=e=>{let t=e.menu;t.replaceChildren();let r=ee(e);for(let n of e.catalog.presets)t.append(ce(e,n,r?.id===n.id));t.append(le());let i=B(e,`font-family`),a=B(e,`font-size`),o=B(e,`font-weight`),s=B(e,`line-height`),c=B(e,`letter-spacing`),l=B(e,`color`);t.append(ae(e,`Font`,e.catalog.fontFamilies,i,ax,t=>U(e,`font-family`,t)),ae(e,`Size`,e.catalog.fontSizes,a,e=>e,t=>U(e,`font-size`,t)),ae(e,`Weight`,e.catalog.fontWeights,o,e=>e,t=>U(e,`font-weight`,t)),oe(e,`Line`,`line-height`,s),oe(e,`Tracking`,`letter-spacing`,c)),t.append(le());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:qb,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 ${Gb}`:`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&&U(e,`color`,t)}),f.append(r)}let p=n.createElement(`input`);p.type=`color`,p.value=cx(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&&U(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`},de=e=>{let t=ee(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:qb,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,fe(e),pe())}),r},fe=e=>{let t=e.toolbar;t.replaceChildren();let n=B(e,`font-weight`),r=B(e,`font-style`),i=B(e,`text-decoration-line`);t.append(G(e,`B`,`Bold`,ox(n)>=600,()=>ne(e)),G(e,`I`,`Italic`,r===`italic`||r===`oblique`,()=>re(e)),G(e,`U`,`Underline`,i.includes(`underline`),()=>ie(e)),de(e)),ue(e)},pe=()=>{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:L(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(Jb,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`},me=()=>{let e=m;e&&(e.editor.remove(),e.toolbar.remove(),e.menu.remove(),e.inspectorCard.remove(),m=null)},he=()=>{let e=m;if(!e)return;E(e.node,e.initialText),k(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))}),me()},ge=()=>{let t=m;if(!t)return;let n=`${t.leading}${t.editor.value}${t.trailing}`,i=ix(t.styleChanges);if(n===t.initialText&&JSON.stringify(i)===JSON.stringify(t.initialStyleChanges)){E(t.node,t.initialText),me();return}p={id:t.editId,createdAt:Date.now(),pageUrl:Qb(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}),E(t.node,n),me(),e.command.execute(zb,void 0,{source:`text-inspector`}).catch(()=>{let e=d.get(t.editId);e&&(e.node.isConnected&&e.node.nodeValue===n&&E(e.node,t.beforeText),e.element.isConnected&&k(e.element,e.styleChanges)),d.delete(t.editId)})},_e=(e,r)=>{let i=Ib(t);if(i&&i.element.isConnected&&i.node.isConnected&&i.node.parentNode===i.element&&i.node.nodeValue?.trim()&&S(i.element)&&!Xb.has(i.element.tagName)&&!i.element.isContentEditable)return i;for(let t of n.elementsFromPoint(e,r)){if(!(t instanceof a.HTMLElement)||!S(t)||Xb.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},ve=(e,t,n,i)=>{let a=Qb(r);return l().edits.find(r=>{if(r.pageUrl!==a||r.nodeIndex!==i)return!1;let o=T(r);return o?.element===e&&o.node===t||r.selector===n})??null},ye=(e,t,i)=>{if(!b())return;let a=_e(e,t);if(!a)return;i?.preventDefault(),i?.stopImmediatePropagation(),he();let o=Kf(a.element),l=qf(a.element),u=ve(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??$b(r,`text-edit`);if(u&&h)g=u.beforeText,_=u.desiredText,v=ix(u.styleChanges),E(a.node,_);else if(u&&f===u.beforeText){g=u.beforeText,_=u.desiredText,v=ix(u.styleChanges),E(a.node,_);let e=A(a.element,v,[]);d.set(u.id,{...a,beforeText:g,desiredText:_,styleChanges:e})}else u&&f===u.desiredText&&(g=f,_=f,v=[]);let x=rx(_),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:Kb,boxShadow:Yb});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:`${Jb}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:Kb,boxShadow:Yb});let T=tv(n,!1);T.dataset.mesurerTextInspectorInfo=`true`,T.dataset.mesurerInspectorUi=`true`,T.setAttribute(`aria-label`,`Text inspector`),Object.assign(T.style,{zIndex:`2147483647`,pointerEvents:`auto`,transform:`translateX(-50%)`,opacity:`1`}),c.element.append(S,C,w,T);let D=s.getFull(a.element);m={element:a.element,node:a.node,editor:S,toolbar:C,menu:w,menuOpen:!1,inspectorCard:T,inspectorInfo:D,editId:y,beforeText:g,initialText:_,leading:x.leading,trailing:x.trailing,nodeIndex:a.nodeIndex,selector:o,fingerprint:l,initialStyleChanges:ix(v),styleChanges:v,catalog:I(a.element)},fe(m),z(m,!1),pe(),S.addEventListener(`input`,()=>{let e=m;!e||e.editor!==S||(E(e.node,`${e.leading}${S.value}${e.trailing}`),z(e,!1),pe())}),S.focus({preventScroll:!0}),S.setSelectionRange(0,S.value.length)},be=e=>{e instanceof a.MouseEvent&&ye(e.clientX,e.clientY,e)},xe=e=>{if(!e.pointerType||e.pointerType===`mouse`||!b())return;let t=_e(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<=Hb&&Math.hypot(e.clientX-i.x,e.clientY-i.y)<=Ub){h=null,ye(e.clientX,e.clientY,e);return}h={time:n,x:e.clientX,y:e.clientY,element:t.element}},Se=()=>{if(_=0,!g){if(m&&!b()&&he(),!x()){j();return}M(),pe()}},Ce=()=>{g||_||(_=r.requestAnimationFrame(Se))},we=()=>{if(c.element.dataset.mesurerNativeScrollRuntimeLayer!==`true`){Ce();return}_&&=(r.cancelAnimationFrame(_),0),v&&r.clearTimeout(v),v=r.setTimeout(()=>{v=0,Ce()},Wb)},Te=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)||ge()},Ee=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,fe(n),pe(),n.editor.focus({preventScroll:!0});return}he();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(),te(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`?ne(n):e===`i`?re(n):ie(n),n.editor.focus({preventScroll:!0});return}}e&&t.key===`Enter`&&!t.shiftKey&&(t.preventDefault(),t.stopImmediatePropagation(),ge());return}t.key===`Escape`&&y()===`text-inspector`&&e.command.execute(Bb,void 0,{source:`text-inspector-clear`})},De=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)}Ce()});De.observe(i,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`]}),e.command.register(zb,()=>{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(Bb,()=>{p=null,e.state.update(Lb,()=>({edits:[]}))}),e.service.provide(Rb,{intents:()=>l().edits.map(nx),intent:e=>{let t=l().edits.find(t=>t.id===e);return t?nx(t):null},clear:async()=>{await e.command.execute(Bb)}});let Oe=o.subscribe(Ce);e.state.subscribe(Ce),r.addEventListener(`dblclick`,be,!0),r.addEventListener(`pointerup`,xe,!0),r.addEventListener(`pointerdown`,Te,!0),r.addEventListener(`keydown`,Ee,!0),r.addEventListener(`resize`,Ce),r.addEventListener(`scroll`,we,!0),Ce(),e.lifecycle.onDispose(()=>{g=!0,_&&r.cancelAnimationFrame(_),_=0,v&&r.clearTimeout(v),v=0,he(),j(),De.disconnect(),Oe(),r.removeEventListener(`dblclick`,be,!0),r.removeEventListener(`pointerup`,xe,!0),r.removeEventListener(`pointerdown`,Te,!0),r.removeEventListener(`keydown`,Ee,!0),r.removeEventListener(`resize`,Ce),r.removeEventListener(`scroll`,we,!0),u.clear(),o.dispose(),c.dispose()})}var fx=`[data-mesurer-text-editor='true']`,px=`[data-mesurer-text-edit-runtime='true']`,mx=`[data-mesurer-root='true']`,hx=`data-mesurer-direct-text-edit-active`;function gx(e,t,n){let{ownerWindow:r,portalTarget:i}=t,a=r,o=i.querySelectorAll(px),s=o.item(o.length-1),c=n.rendererRoot??s?.closest(mx)??null;if(!s?.isConnected||!c?.isConnected)return;let l=!1,u=()=>{let e=!!s.querySelector(fx);e!==l&&(l=e,l?c.setAttribute(hx,`true`):c.removeAttribute(hx))},d=new a.MutationObserver(u);d.observe(s,{childList:!0,subtree:!0}),u(),e.lifecycle.onDispose(()=>{d.disconnect(),c.removeAttribute(hx)})}var _x=8,vx=2,yx=4,bx=20,xx=`[data-mesurer-selected-measurement='true']`,Sx=`[data-mesurer-measurement-chrome='true']`,Cx=`[data-mesurer-measurement-label='true']`,wx=`[data-mesurer-text-editor='true']`,Tx=`[data-mesurer-text-edit-ring='true']`,Ex=`[data-mesurer-text-inspector-info='true']`,Dx=`[data-mesurer-text-inspector-placement-shell='true']`,Ox=`data-mesurer-measurement-label-clearance`,kx=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),Ax=(e,t,n=yx)=>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,jx=(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,Mx=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)})),Nx=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+bx,width:e.width,height:bx});function Px(e,t,n,r){let i=Mx(t.length>0?[e,...t]:[e,Nx(e)]),a=n.width,o=n.height,s=r.width-_x,c=r.height-_x,l=Math.max(_x,s-a),u=Math.max(_x,c-o),d=Math.min(Math.max(e.left+e.width/2-a/2,_x),l),f=Math.min(Math.max(e.top+e.height/2-o/2,_x),u),p=[{left:d,top:i.top-vx-o,placement:`above`,maxHeight:null},{left:d,top:i.bottom+vx,placement:`below`,maxHeight:null},{left:i.right+vx,top:f,placement:`side`,maxHeight:null},{left:i.left-vx-a,top:f,placement:`side`,maxHeight:null}],m=e=>e.left>=_x&&e.top>=_x&&e.left+a<=s&&e.top+o<=c,h=p.find(e=>m(e));if(h)return h;let g=[{placement:`above`,top:_x,height:Math.max(0,i.top-vx-_x)},{placement:`below`,top:i.bottom+vx,height:Math.max(0,c-i.bottom-vx)}].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:_x,placement:`viewport`,maxHeight:Math.max(0,r.height-16)}}var Fx=(e,t)=>({value:e.style.getPropertyValue(t),priority:e.style.getPropertyPriority(t)}),Ix=(e,t,n,r=``)=>{(e.style.getPropertyValue(t)!==n||e.style.getPropertyPriority(t)!==r)&&e.style.setProperty(t,n,r)},Lx=(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))},Rx=(e,t,n)=>{e.getAttribute(t)!==n&&e.setAttribute(t,n)},zx=(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},Bx=(e,t,n)=>{let r=new Set;for(let t of e)for(let e of t.querySelectorAll(xx))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(Cx);if(!a)continue;let o=n.getComputedStyle(a);if(o.display===`none`||o.visibility===`hidden`)continue;let s=kx(a.getBoundingClientRect());if(s.width<=0||s.height<=0)continue;let c=e.querySelector(Sx),l=c?.isConnected?kx(c.getBoundingClientRect()):null;!(l&&l.width>0&&l.height>0&&Ax(l,t))&&!zx(s,t)||i.push(s)}return i},Vx=(e,t)=>e instanceof t.HTMLElement?e.matches(xx)||!!e.closest(xx)||!!e.querySelector(xx):!1;function Hx(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&&(Lx(t,`left`,e.shellLeft),Lx(t,`top`,e.shellTop),Lx(t,`--mesurer-native-anchor-x`,e.anchorX),Lx(t,`--mesurer-native-anchor-y`,e.anchorY),e.marker===null?t.removeAttribute(Ox):Rx(t,Ox,e.marker)),n.isConnected&&(Lx(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:Fx(e,`left`),shellTop:Fx(e,`top`),anchorX:Fx(e,`--mesurer-native-anchor-x`),anchorY:Fx(e,`--mesurer-native-anchor-y`),cardMaxHeight:Fx(t,`max-height`),placement:t.getAttribute(`data-mesurer-text-inspector-placement`),marker:e.getAttribute(Ox)}},h=()=>{if(d)return;let e=c.querySelector(wx),t=c.querySelector(Dx),n=c.querySelector(Ex),r=c.querySelectorAll(Tx),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=kx(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=Bx(f(),s,o),_=Nx(s),v=kx(n.getBoundingClientRect()),y=jx(v,_)||g.some(e=>jx(v,e));if(!l&&!y)return;l||m(t,n);let b=Math.max(v.height,n.scrollHeight),x=Px(s,g,{width:v.width,height:b},{width:i.innerWidth,height:i.innerHeight});u?(Ix(t,`--mesurer-native-anchor-x`,`${x.left-s.left}px`),Ix(t,`--mesurer-native-anchor-y`,`${x.top-s.top}px`)):(Ix(t,`left`,`${x.left}px`),Ix(t,`top`,`${x.top}px`)),x.maxHeight===null&&l?Lx(n,`max-height`,l.cardMaxHeight):x.maxHeight!==null&&Ix(n,`max-height`,`${x.maxHeight}px`),n.dataset.mesurerTextInspectorPlacement!==x.placement&&(n.dataset.mesurerTextInspectorPlacement=x.placement),Rx(t,Ox,`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`?Vx(e.target,o):Vx(e.target,o)?!0:[...e.addedNodes,...e.removedNodes].some(e=>Vx(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 Ux=`var(--msr-accent, #0d99ff)`,Wx=`var(--msr-color-ink-500, #8a8a8a)`,Gx=288,Kx=1.5,qx=80,Jx=(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,Yx=(e,t,n)=>Math.min(Math.max(e,t),n);function Xx(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=Ux,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 ${Wx}`,borderBottom:`1.5px solid ${Wx}`,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:`${Kx}px`,pointerEvents:`none`,transform:`translateX(-${Kx/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(!Jx(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+Yx(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:Ux})},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()},qx)},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)},V=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))},H=()=>{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}V(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:`${Gx}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}}},U=new o.MutationObserver(()=>H());U.observe(c,{childList:!0,subtree:!0}),r.addEventListener(`resize`,R),r.addEventListener(`scroll`,z,{capture:!0,passive:!0}),H(),e.lifecycle.onDispose(()=>{y=!0,U.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 Zx=`#0d99ff`,Qx=`rgba(13, 153, 255, 0.22)`,$x=new Set([`HTML`,`BODY`,`SCRIPT`,`STYLE`,`META`,`LINK`,`NOSCRIPT`,`IMG`,`VIDEO`,`AUDIO`,`IFRAME`,`INPUT`,`TEXTAREA`,`SELECT`,`OPTION`]),eS=(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()),tS=(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},nS=(e,t,n)=>Math.min(Math.max(e,t),n);function rS(e,t){let{ownerDocument:n,ownerWindow:r,pageTarget:i}=t,a=r,o=()=>{if(t.currentToolbarMode)return t.currentToolbarMode()===`edit`;let e=t.currentToolMode?.()??`none`;return e===`text-inspector`||e===`select`},s=e=>Wf(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`),c=(e,i)=>{if(Pb(t),o())for(let o of n.elementsFromPoint(e,i)){if(lu(o,r))return;if(!(o instanceof a.HTMLElement)||!s(o)||$x.has(o.tagName)||o.isContentEditable)continue;let c=eS(o,a);if(c.length===0)continue;if(c.length===1){Fb(t,{element:o,node:c[0].node,nodeIndex:c[0].index});return}let l=tS(n,a,c,e,i);if(l){Fb(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(()=>{Pb(t),r.removeEventListener(`dblclick`,l,!0),r.removeEventListener(`pointerup`,u,!0)})}function iS(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:Qx,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 ${Zx}`,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+nS(Math.min(i,a),0,l),d=s+nS(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&&Wf(e,i)&&!e.closest(`[data-mesurer-root='true'], [data-mesurer-inspector-ui='true']`));if(t.length!==1)return null;let n=t[0],r=eS(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=Ib(t)??p??T(e);n?.element.isConnected&&n.node.isConnected&&(p=n);let a=n?.element??null,o=a?.isConnected&&Wf(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,Pb(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 aS=`[data-mesurer-selected-measurement='true']`,oS=`[data-mesurer-hover-measurement='true']`,sS=`[data-mesurer-text-editor='true']`,cS=`data-mesurer-direct-edit-selection-suppressed`,lS=`data-mesurer-direct-edit-hover-suppressed`;function uS(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=r.createElement(`style`);l.dataset.mesurerEditSelectionPaintGuard=`true`,l.textContent=`
2248
2289
  body:has([data-mesurer-text-editor="true"]) [data-mesurer-selected-measurement="true"],
2249
2290
  body:has([data-mesurer-text-editor="true"]) [data-mesurer-hover-measurement="true"] {
2250
2291
  opacity: 0 !important;
2251
2292
  }
2252
- `,r.head.append(l);let u=t.createWorkspaceRuntime(),d=new Map,f=new Map,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(iS)&&p.add(e),e.matches(aS)&&m.add(e)},x=e=>{if(e instanceof o.HTMLElement){b(e);for(let t of e.querySelectorAll(`${iS}, ${aS}`))b(t)}},S=e=>{for(let t of e.querySelectorAll(`${iS}, ${aS}`))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(p)){if(!e.isConnected){p.delete(e);let t=d.get(e);t&&w(e,t,d,sS);continue}C(e,d,sS)}for(let[e,t]of Array.from(d))(!e.isConnected||!p.has(e))&&w(e,t,d,sS)},D=()=>{for(let e of Array.from(m)){if(!e.isConnected){m.delete(e);let t=f.get(e);t&&w(e,t,f,cS);continue}C(e,f,cS)}for(let[e,t]of Array.from(f))(!e.isConnected||!m.has(e))&&w(e,t,f,cS)},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(oS)){h=!0,E(),D(),A();return}!h&&d.size===0&&f.size===0||(h=!1,j(),T(d,sS),T(f,cS))}},N=new o.MutationObserver(k);N.observe(c,{childList:!0,subtree:!0});let P=u.subscribe(O);M(),e.lifecycle.onDispose(()=>{_=!0,N.disconnect(),j(),P(),u.dispose(),T(d,sS),T(f,cS),p.clear(),m.clear(),l.remove()})}var uS=`[data-mesurer-text-editor='true']`,dS=`[data-mesurer-text-edit-ring='true']`,fS=`[data-mesurer-text-inspector-info='true']`,pS=`[data-mesurer-text-inspector-placement-shell='true']`,mS=`[data-mesurer-measurement='true']`,hS=`[data-mesurer-measurement-chrome='true']`,gS=`[data-mesurer-measurement-label='true']`,_S=20,vS=.75,yS=`data-mesurer-symmetric-measurement-spacing`,bS=`mesurerSymmetricCardOffsetY`,xS=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),SS=(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),CS=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+_S,width:e.width,height:_S}),wS=(e,t,n)=>e.style.getPropertyValue(t)!==n&&(e.style.setProperty(t,n),!0);function TS(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(uS)&&(u=e),e.matches(dS)&&(d=e),e.matches(pS)&&(f=e),e.matches(fS)&&(p=e),e.matches(gS)&&l.add(e)},v=e=>{if(e instanceof o.HTMLElement&&(_(e),e===c||e.matches(`${mS}, [data-mesurer-text-edit-runtime='true'], [data-mesurer-root='true']`)))for(let t of[uS,dS,pS,fS,gS])for(let n of e.querySelectorAll(t))_(n)},y=e=>{for(let t of e.querySelectorAll(mS))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(mS);if(!(r instanceof o.HTMLElement)||r.getAttribute(`data-mesurer-selected-measurement`)!==`true`)continue;let i=xS(n.getBoundingClientRect());if(i.width<=0||i.height<=0)continue;let a=r.querySelector(hS),s=a?.isConnected?xS(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?SS(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??CS(e)},x=()=>{if(g||!u?.isConnected||!d?.isConnected||!f?.isConnected||!p?.isConnected)return;let e=xS(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=xS(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(yS,`true`),f.dataset.mesurerSymmetricSourceGap=r.toFixed(3),f.dataset.mesurerSymmetricTypographyGap=a.toFixed(3),Math.abs(o)<=vS)return;let s=Number.parseFloat(p.dataset[bS]??`0`),c=(Number.isFinite(s)?s:0)-o;p.dataset[bS]=c.toFixed(3),wS(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(pS)&&(_(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(`${mS}, [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(yS),p&&(p.style.removeProperty(`translate`),delete p.dataset[bS])})}var ES=(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))},DS=(e,t)=>{let n=t.ownerWindow,r=!1,i=!1,a=null,o=ES(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?`text-inspector`:t.currentToolbarMode?t.currentToolbarMode()===`edit`||Wv(e).keepTextChanges?`text-inspector`:`none`:n===`text-inspector`||Wv(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}},OS=`var(--msr-color-ink-50, #f8fafc)`,kS=`var(--msr-color-ink-100, #f1f5f9)`,AS=`var(--msr-color-ink-200, #e2e8f0)`,jS=`var(--msr-color-ink-500, #64748b)`,MS=`var(--msr-color-ink-700, #334155)`,NS=`var(--msr-content, #0f172a)`,PS=`var(--msr-accent, #0d99ff)`,FS=8,IS=8,LS=(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},RS=e=>Array.from(e.querySelectorAll(`span`)).map(e=>e.textContent?.trim()??``).find(e=>e.startsWith(`--`))??null;function zS(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-FS,p=r.innerHeight-FS,m=Math.max(FS,f-u),g=Math.max(FS,p-d),_=Math.min(Math.max(o.left+o.width/2-u/2,FS),m),v=Math.min(Math.max(o.top+o.height/2-d/2,FS),g),y=[{left:_,top:o.top-IS-d,placement:`above`},{left:_,top:o.bottom+IS,placement:`below`},{left:o.right+IS,top:v,placement:`side`},{left:o.left-IS-u,top:v,placement:`side`}],b=(e,t)=>e>=FS&&t>=FS&&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:FS,height:Math.max(0,o.top-IS-FS)},{name:`below`,top:o.bottom+IS,height:Math.max(0,p-o.bottom-IS)}].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=`${FS}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:OS,color:MS,outline:`none`,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{e.style.borderColor=AS}),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 ${PS}`}),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:OS,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:MS,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 ${jS}`,borderBottom:`1.5px solid ${jS}`,transform:`rotate(45deg)`,transformOrigin:`center`,pointerEvents:`none`}),t.addEventListener(`mouseenter`,()=>{t.style.borderColor=AS}),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 ${PS}`}),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?PS:`transparent`}`,borderRadius:`5px`,background:t?`rgba(13, 153, 255, 0.10)`:OS,color:NS,padding:`0`,fontSize:`12px`,cursor:`pointer`,transition:`border-color 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{t||(e.style.borderColor=AS)}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=t?PS:`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:OS,padding:`3px`}),n.addEventListener(`mouseenter`,()=>{n.style.borderColor=AS}),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:OS,color:MS,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=AS}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=`transparent`}),e.addEventListener(`focus`,()=>{e.style.boxShadow=`inset 0 0 0 1px ${PS}`}),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=RS(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:jS,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]`)&&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=LS(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 ${kS}`});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 BS=4,VS=4,HS=220,US=60,WS=(e,t,n)=>Math.min(Math.max(e,t),n);function GS(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 KS(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(HS,Math.max(US,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-BS-VS),b=o.bottom-a.top,x=Math.max(0,b-v-BS-VS),S=x>=d||x>=y?v+BS:_-BS-d,C=m+VS,w=Math.max(C,m+o.width-VS-c),T=h+VS,E=Math.max(T,h+o.height-VS-d);e.style.left=`${WS(g,C,w)}px`,e.style.top=`${WS(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 qS=`var(--msr-color-ink-50, #f8fafc)`,JS=`var(--msr-color-ink-100, #f1f5f9)`,YS=`var(--msr-color-ink-200, #e2e8f0)`,XS=`var(--msr-color-ink-500, #64748b)`,ZS=`var(--msr-color-ink-700, #334155)`,QS=`var(--msr-content, #0f172a)`,$S=`var(--msr-accent, #0d99ff)`,eC=8,tC=4;function nC(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-eC,o=r.innerHeight-eC,s=Math.max(eC,a-i.width),c=Math.min(Math.max(e.left,eC),s),l=e.bottom+tC,f=e.top-tC-i.height,p=l+i.height<=o||f<eC?Math.min(l,Math.max(eC,o-i.height)):f;u.popup.style.left=`${c}px`,u.popup.style.top=`${Math.max(eC,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?JS:`transparent`,color:e.disabled?XS:QS,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:XS,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?JS:qS)}),t.addEventListener(`mouseleave`,()=>{t.style.background=e.selected?JS:`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 ${YS}`,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 ${$S}`),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:ZS,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 ${$S}`}),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:qS,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=YS}),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 ${XS}`,borderBottom:`1.5px solid ${XS}`,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 rC(e,t){Ob(e,t);let{runtime:n}=Cb(t);nS(e,n),GS(e,n),ux(e,DS(e,n)),Yx(e,n),zS(e,n),lS(e,n,t.portalTarget),hx(e,n,t),rS(e,n),nC(e,n),KS(e,n),xb(e,n),jb(e,n),Vx(e,n,t.portalTarget),TS(e,n,t.portalTarget)}var iC=1,aC=(e,t)=>{if(!t)return[];try{let n=e.sessionStorage.getItem(t);if(!n)return[];let r=JSON.parse(n);return r.version!==iC||!Array.isArray(r.annotations)?[]:r.annotations.map(oC)}catch{return[]}},oC=e=>({...e,anchor:e.anchor.kind===`elements`?{kind:`elements`,region:e.anchor.region?ac(e.anchor.region):null,targets:e.anchor.targets.map(e=>({...e,fingerprint:{...e.fingerprint,classes:[...e.fingerprint.classes]},lastRect:ac(e.lastRect)}))}:{kind:`region`,rect:ac(e.anchor.rect)},baseline:{targets:e.baseline.targets.map(e=>({...e,rect:ac(e.rect)})),guides:e.baseline.guides.map(e=>({...e})),measurements:e.baseline.measurements.map(e=>({...e,rect:ac(e.rect)})),distances:e.baseline.distances.map(e=>({...e,rectA:ac(e.rectA),rectB:ac(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null}))}}),sC=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,cC=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 lC(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=Mu(r),u=()=>e.persistenceKey?`${e.persistenceKey}:${l}`:void 0,d=()=>e.persistenceKey?`${e.persistenceKey}${r.location.pathname}`:void 0,f=()=>{let e=u();if(!e)return{annotations:[],migrated:!1};try{if(r.sessionStorage.getItem(e)!==null)return{annotations:aC(r,e),migrated:!1}}catch{return{annotations:[],migrated:!1}}let t=d();if(!t)return{annotations:[],migrated:!1};let n=aC(r,t);return{annotations:n,migrated:n.length>0}},p=f(),m=p.annotations,h=p.migrated,g=new Set,_=new Map,v=new Map,y=new Map,b=!1,x=0,S=new Map,C=!1,w=(e,t)=>`${e}:${t}`,T=e=>Jg(e,o),E=e=>{let t=[],r=new Set,i=e=>{r.has(e)||!T(e)||(r.add(e),t.push(e))};o instanceof a.HTMLElement&&o.matches(e)&&i(o);for(let t of qg(o)){let r=t===n?c:t;for(let t of r.querySelectorAll(e))i(t)}return t},D=()=>{let e=u();if(e)try{if(m.length===0){r.sessionStorage.removeItem(e);return}r.sessionStorage.setItem(e,JSON.stringify({version:iC,annotations:m.map(oC)}))}catch{}};h&&=(D(),!1);let O=()=>{for(let e of g)e()},k=e=>{if(!Jf(e.fingerprint))return null;let t=[];try{t=E(e.selector)}catch{return null}let n=t.filter(t=>Yf(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=dp(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},A=(e,t)=>{let n=w(e,t.id),r=v.get(n);if(r?.isConnected&&T(r))return r;r&&v.delete(n);let i=k(t);return i&&v.set(n,i),i},j=()=>{let e=!1;for(let t of m)if(t.anchor.kind===`elements`)for(let n of t.anchor.targets){let r=w(t.id,n.id),i=A(t.id,n),a=!!i;if(y.get(r)!==a&&(y.set(r,a),e=!0),!i)continue;let o=dp(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&&(D(),O())},M=()=>{x||b||m.length===0||(x=r.requestAnimationFrame(()=>{x=0,j()}))},N=e=>{let t=S.get(e);t&&(e.removeEventListener(`load`,t.load,!0),e.removeEventListener(`scroll`,M,!0),e.defaultView?.removeEventListener(`resize`,M),t.observer?.disconnect(),S.delete(e))},P=()=>{if(!C)return;let e=new Set(qg(o));for(let t of e){if(S.has(t))continue;let e=()=>{P(),M()},n=t.defaultView?.MutationObserver,r=n&&t.body?new n(()=>{P(),M()}):null;t.addEventListener(`load`,e,!0),t.addEventListener(`scroll`,M,!0),t.defaultView?.addEventListener(`resize`,M),r?.observe(t.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`,`style`]}),S.set(t,{load:e,observer:r})}for(let t of S.keys())e.has(t)||N(t)},F=()=>{C||b||m.length===0||(C=!0,P())},I=()=>{if(C){C=!1;for(let e of S.keys())N(e);x&&r.cancelAnimationFrame(x),x=0}};m.length>0&&(j(),F());let L=Iu(r,e=>{if(e===l||b)return;D(),I(),v.clear(),y.clear(),l=e,m.length=0;let t=f();m.push(...t.annotations),t.migrated&&D(),m.length>0&&(j(),F()),O()}),R=t.subscribe(O),z=()=>({guides:t.current.guides,measurements:t.current.measurements,activeMeasurement:t.current.activeMeasurement,distances:t.current.heldDistances}),B=e=>dc({...e,workspace:z(),guideTolerance:10}),V=(e,t)=>({id:`target-${t+1}`,selector:Kf(e),fingerprint:qf(e),lastRect:dp(e)}),H=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=E(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=>bp(e,r));return t.setSelectedMeasurements(o,o.at(-1)??null),t.setTransient({selectionOriginRect:null}),a},U=(e,t=[])=>(m.push(e),e.anchor.kind===`elements`&&e.anchor.targets.forEach((n,r)=>{let i=t[r],a=w(e.id,n.id);i&&T(i)&&v.set(a,i),y.set(a,!!(i&&T(i)))}),F(),D(),O(),oC(e)),W=(e,t)=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=ac(t);return U({id:sC(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`region`,rect:i},baseline:B({targets:[],region:i})})},ee=e=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=cC(t).filter(T),a=t.current.selectionOriginRect?ac(t.current.selectionOriginRect):null;if(!i.length){if(!a)throw Error(`Select a page element or drag a region before adding an annotation.`);return W(n,a)}let o=i.map(V);return U({id:sC(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`elements`,targets:o,region:a},baseline:B({targets:o,elements:i})},i)},te=()=>{for(let[e,t]of _)t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`);_.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?ac(t.current.selectionOriginRect):null,measurements:[...t.current.measurements],activeMeasurement:t.current.activeMeasurement,heldDistances:[...t.current.heldDistances],guides:t.current.guides.map(e=>({...e})),annotations:m.map(oC)}},elementRect(e){return dp(e)},currentSelection(){return{elements:cC(t).filter(T),region:t.current.selectionOriginRect?ac(t.current.selectionOriginRect):null}},refreshSelectionGeometry(){let e=t.current.selectedMeasurements;if(!e.length)return;let n=(e,t)=>e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height,i=!1,a=e.flatMap(e=>{if(!e.elementRef?.isConnected)return[];let t={...bp(e.elementRef,r),id:e.id,originRect:e.originRect};return(!n(t.rect,e.rect)||!n(t.paddingRect,e.paddingRect)||!n(t.marginRect,e.marginRect))&&(i=!0),[t]});if(a.length!==e.length&&(i=!0),!i)return;let o=t.current.selectedMeasurement?.id;t.setSelectedMeasurements(a,a.find(e=>e.id===o)??a.at(-1)??null)},clearSelection(){t.checkpoint(),t.setSelectedMeasurements([],null),t.setSelectedGuideIds([]),t.setHoverTarget(null,null),t.setTransient({start:null,end:null,isDragging:!1,selectionOriginRect:null})},toggleSelection(e){if(!e.isConnected||!T(e))return;let n=t.current.selectedMeasurements.some(t=>t.elementRef===e)?t.current.selectedMeasurements.filter(t=>t.elementRef!==e):[...t.current.selectedMeasurements,bp(e,r)];t.checkpoint(),t.setSelectedMeasurements(n,n.at(-1)??null),t.setTransient({selectionOriginRect:null})},selectGestureActive(){return t.current.toolMode===`select`&&t.current.start!==null},select:H,setHover(e){if(!e?.isConnected||!T(e)){t.setHoverTarget(null,null);return}let n=dp(e);t.setHoverTarget(e,t.current.settings.hoverHighlightEnabled?{left:n.left,top:n.top,width:n.width,height:n.height}:null)},clearHover(){t.setHoverTarget(null,null)},hoveredElement(){return t.current.hoverElement?.isConnected&&T(t.current.hoverElement)?t.current.hoverElement:null},annotations(){return m.map(oC)},annotation(e){let t=m.find(t=>t.id===e);if(!t)return null;let n=oC(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:A(t.id,e[r])}))}return{...n,resolvedTargets:r}},annotationRect(e){let t=m.find(t=>t.id===e);if(!t)return null;if(t.anchor.kind===`region`)return ac(t.anchor.rect);let n=t.anchor.targets.map(e=>A(t.id,e)?.getBoundingClientRect()).filter(e=>e!==void 0);if(!n.length){let e=sc(t.anchor.targets.map(e=>e.lastRect));return e?ac(e):null}return sc(n.map(e=>({left:e.left,top:e.top,width:e.width,height:e.height})))},addSelectionAnnotation:ee,addRegionAnnotation:W,removeAnnotation(e){let t=m.findIndex(t=>t.id===e);if(t<0)return;let[n]=m.splice(t,1);if(n.anchor.kind===`elements`)for(let e of n.anchor.targets){let t=w(n.id,e.id);v.delete(t),y.delete(t)}m.length===0&&I(),D(),O()},subscribe(e){return g.add(e),()=>g.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))_.has(t)||(_.set(t,{value:t.style.getPropertyValue(`display`),priority:t.style.getPropertyPriority(`display`)}),t.style.setProperty(`display`,`none`,`important`))},finishCapture(){te()},dispose(){b||(b=!0,I(),L(),R(),te(),v.clear(),y.clear(),m.length=0,g.clear())}}}var uC=[`select`,`xray`,`color-picker`,`rulers`,`text-inspector`,`guides`,`settings`],dC=`mesurer-plugin-settings`,fC=e=>(e.startsWith(`mesurer.`)?e.slice(8):e).split(/[.-]/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(` `)||e,pC=e=>`create`in e&&typeof e.create==`function`,mC=e=>e===`select`||e===`xray`||e===`color-picker`||e===`rulers`||e===`text-inspector`||e===`guides`||e===`distance`||e===`settings`,hC=e=>`builtin.${e}`,gC=(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},_C=({host:e,getBuiltinController:t,getModel:n,arrangeActive:r,isBuiltinPluginId:i,onPluginError:a})=>{let o=()=>e.tools().find(e=>e.modeSwitch===!0&&e.toolbarMode===`edit`),s=null,c=async()=>{let r=s;if(s=null,!r)return;let i=t(),a=n();i&&a&&(r.toolMode===`none`&&a.current.toolMode===`select`?i.deactivate(`select`):r.toolMode&&r.toolMode!==`none`&&a.current.toolMode!==r.toolMode&&await i.run(r.toolMode),r.xrayVisible&&!a.current.xrayVisible&&await i.run(`xray`),r.rulersVisible&&!a.current.rulersVisible&&await i.run(`rulers`));for(let t of r.pluginToolIds){let n=e.tools().find(e=>e.id===t);!n||n.toolbarMode!==`select`||(n.active?.()??!1)||await e.command.execute(n.command,void 0,{source:`select-mode-restore`,toolId:n.id})}},l=async t=>{let n=o();n?.active?.()&&(await e.command.execute(n.command,void 0,{source:t,toolId:n.id}),await c())},u=async()=>{let r=t(),a=n(),o=e.tools().filter(e=>e.modeSwitch!==!0&&e.toolbarMode===`select`&&!(e.builtin&&i(e.builtin))&&!i(e.id)&&(e.active?.()??!1)).map(e=>e.id),c=a?.current.toolMode;s={toolMode:c===`none`||c===`select`||c===`text-inspector`||c===`guides`?c:null,xrayVisible:a?.current.xrayVisible??!1,rulersVisible:a?.current.rulersVisible??!1,pluginToolIds:o},r&&a&&(a.current.xrayVisible&&r.deactivate(`xray`),a.current.colorPickerActive&&r.deactivate(`color-picker`),a.current.toolMode===`text-inspector`&&r.deactivate(`text-inspector`));for(let t of o){let n=e.tools().find(e=>e.id===t);!n||!(n.active?.()??!1)||await e.command.execute(n.command,void 0,{source:`edit-mode-suspend`,toolId:n.id})}},d=async(t,n=`toolbar`)=>{if(!t.disabled?.())try{let i=t.modeSwitch===!0&&t.toolbarMode===`edit`&&!(t.active?.()??!1),a=t.modeSwitch===!0&&t.toolbarMode===`edit`&&(t.active?.()??!1);i&&await u(),t.toolbarMode===`select`&&r()&&await l(`select-mode-tool`),await e.command.execute(t.command,void 0,{source:n,toolId:t.id}),a&&!r()&&await c()}catch(e){throw a?.(e,t.id),e}};return{editModeTool:o,executeTool:d,leaveEditMode:l,runTool:(e,t=`toolbar`)=>{d(e,t).catch(()=>void 0)}}};function vC(e){let t=$t(()=>e.pluginHost),n=t??Ec(),r=!t,i=$t(()=>e.version??`0.1.0`),a=t=>e.version&&t.id.startsWith(`mesurer.`)?{...t,version:i}:t,o=new Set($t(()=>e.excludePlugins??[])),s=$t(()=>eb([],e.excludePlugins??[]).map(a)),c=new Map,l=new Map;for(let[t,n]of $t(()=>[...e.plugins??[]]).entries()){if(pC(n)){c.set(n.id,{...n,label:n.label??fC(n.id),order:n.order??1e3+t});continue}let e=a(n);c.set(e.id,{id:e.id,label:fC(e.id),order:1e3+t,enabled:!0,create:()=>e})}let u=new Set;for(let e of c.values())e.enabled!==!1&&u.add(e.id);let d=new Map([...c.values()].map(e=>[e.id,new Set(e.settingsIds??[])])),f=new Map,p=new Map,m=new Set,h=new Map,g=null,_=null,v=()=>void 0,y=async()=>void 0,[b,x]=K(0),[S,C]=K(!1),w=e=>(b(),n.tools().find(t=>(t.builtin===e||t.id===e)&&t.command!==hC(e))),T=e=>(b(),S()?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)),E=()=>(b(),n.state.get(`mesurer.arrange.active`)??!1),D=e=>!1,O=co(()=>(b(),n.tools().filter(e=>e.hidden?.()?!1:!e.builtin||!mC(e.builtin)||e.command!==hC(e.builtin)))),k=co(()=>{b();let e=n.settings();return[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0)).map(t=>{let r=d.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??fC(t.id),description:t.description,error:l.get(t.id),enabled:n.has(t.id),busy:m.has(t.id),sections:a}})}),A=co(()=>(b(),n.settings().filter(e=>e.id===Hv))),j=()=>{b();let e=[];for(let t of uC)(!T(t)||w(t))&&e.push(`[data-mesurer-builtin='${t}']{display:none!important}`);return(!T(`guides`)||w(`guides`))&&e.push(`[data-mesurer-builtin='guides-menu']{display:none!important}`),T(`guides`)||e.push(`[data-mesurer-guide='true']{display:none!important}`),T(`distance`)||e.push(`[data-mesurer-distance='true']{display:none!important}`),T(`rulers`)||e.push(`[data-mesurer-rulers='true']{display:none!important}`),T(`color-picker`)||e.push(`.mesurer-color-picker{display:none!important}`),e.join(`
2253
- `)},{editModeTool:M,executeTool:N,leaveEditMode:P,runTool:F}=_C({host:n,getBuiltinController:()=>_,getModel:()=>g,arrangeActive:E,isBuiltinPluginId:mC,onPluginError:e.onPluginError}),I=(t,n)=>{n.disabled?.()||Promise.resolve(n.run()).catch(r=>{e.onPluginError?.(r,`${t.id}.${n.id}`)})},L=async(t,n,r)=>{try{await n.set(r)}catch(r){e.onPluginError?.(r,`${t}.${n.id}`)}},R=(e,t,n)=>{L(e,t,n)},z=async e=>{for(let t of n.settings()){if(e&&!e.has(t.id))continue;let n=h.get(t.id);if(n)for(let e of t.controls??[]){let r=n.get(e.id);r!==void 0&&await L(t.id,e,r)}}};return Mn(()=>{let t=!0,o=0,b=!1,k=Promise.resolve(),A=new Set,I=n,L=e,R=L.portalTarget??document.body,B=R.ownerDocument??document,V=B.defaultView??window,H=L.pageTarget??B.body,U=()=>{if(!g)throw Error(`Mesurer renderer model is unavailable for runtime bridge setup.`);return g},W=()=>{let e=U().rendererRoot;if(!e?.isConnected)throw Error(`Mesurer renderer root is unavailable for runtime bridge setup.`);return e},ee=()=>{if(!_)throw Error(`Mesurer built-in controller is unavailable for runtime bridge setup.`);return _},te=()=>U().current.settings.theme,ne=e=>{let t=te();return e(t),U().subscribe(()=>{let n=te();n!==t&&(t=n,e(n))})},re=()=>{let e=B.createElement(`div`);e.dataset.mesurerInspectorUi=`true`;let t=ne(t=>{e.dataset.theme=t});W().append(e);let n=!1;return{element:e,dispose(){n||(n=!0,t(),e.remove())}}},ie=e=>lC({model:U(),ownerDocument:B,ownerWindow:V,uiRoot:R,pageTarget:H,persistenceKey:e?`${L.persistKey??`mesurer-plugin-settings`}:${e}:${V.location.origin}`:void 0}),G=B.createElement(`style`);G.dataset.mesurerPluginVisibility=`true`,G.dataset.mesurerInspectorUi=`true`,G.textContent=j(),R.append(G);let ae=L.persistKey?`${L.persistKey}:plugins`:dC,oe=`${ae}:availability`,se=new Map;try{let e=V.localStorage.getItem(oe);if(e){let t=JSON.parse(e);if(t?.version===1||t?.version===2||t?.version===3){for(let[e,n]of Object.entries(t.enabled??{}))(t.version!==2||e!==`mesurer.codex`)&&se.set(e,n);for(let[e,n]of Object.entries(t.state??{}))p.set(e,n)}}}catch(e){L.onPluginError?.(e,`plugin-registry-persistence`)}let ce=()=>{let e=Object.fromEntries([...c.keys()].map(e=>[e,I.has(e)])),t=Object.fromEntries(p);try{V.localStorage.setItem(oe,JSON.stringify({version:3,enabled:e,state:t}))}catch(e){L.onPluginError?.(e,`plugin-registry-persistence`)}},le=()=>{o=0;try{V.localStorage.setItem(ae,JSON.stringify(I.state.serialize(`persist`)))}catch(e){L.onPluginError?.(e,`plugin-persistence`)}},ue=()=>{V.clearTimeout(o),o=V.setTimeout(le,50)},de=()=>{o&&(V.clearTimeout(o),le())},fe=()=>de();V.addEventListener(`pagehide`,fe);let pe=I.subscribe(e=>{if(x(e=>e+1),G.textContent=j(),(e.reason===`state`||e.reason===`history`||e.reason===`remove`||e.reason===`replace`)&&ue(),S()&&!b&&(e.reason===`load`||e.reason===`remove`||e.reason===`replace`)&&ce(),e.reason===`remove`&&e.pluginId?.startsWith(`mesurer.`)){let t=e.pluginId.slice(8);mC(t)&&_?.deactivate(t)}});L.onPluginHost?.(I);let me=async(e,n=e.id)=>{if(!t)return!1;A.add(e);try{await I.load(e),l.delete(n)}catch(e){return t&&(l.set(n,e instanceof Error?e.message:String(e)),x(e=>e+1),L.onPluginError?.(e,n)),!1}finally{A.delete(e)}return t?!0:(I.plugin(e.id)===e&&I.remove(e.id),!1)},he=e=>me(e),ge=e=>{for(let t of I.settings())!e.has(t.id)||h.has(t.id)||h.set(t.id,new Map((t.controls??[]).map(e=>[e.id,e.value()])))},_e=async e=>{if(!t||I.has(e.id))return I.has(e.id);let n=new Set(I.settings().map(e=>e.id)),r=new Set(I.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 me(i,e.id))return!1;let o=new Set(d.get(e.id)??e.settingsIds??[]);for(let e of I.settings())n.has(e.id)||o.add(e.id);d.set(e.id,o);let s=new Set(f.get(e.id)??[]);for(let e of I.describe().state)r.has(e.id)||s.add(e.id);f.set(e.id,s),ge(o);let c=p.get(e.id);return c&&(I.state.restore(c,`persist`),p.delete(e.id)),!0}catch(n){return t&&L.onPluginError?.(n,e.id),!1}},ve=e=>{let t=f.get(e);if(!t?.size)return;let n=I.state.serialize(`persist`),r={};for(let e of t)Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e]);Object.keys(r).length&&p.set(e,r)},ye=async(e,t=!0)=>I.has(e)?(await I.hook.emit(Cc,e),t?ve(e):p.delete(e),I.remove(e)):!1,be=async(e,t,n=!0)=>{let r=c.get(e);if(!(!r||m.has(e)||I.has(e)===t)){m.add(e),l.delete(e),x(e=>e+1);try{t?await _e(r):await ye(e,n),b||ce()}finally{m.delete(e),x(e=>e+1)}}},xe=e=>{let t=k.then(e,e);return k=t.catch(()=>void 0),t};v=(e,t)=>{xe(async()=>{await be(e,t)}).catch(t=>{l.set(e,t instanceof Error?t.message:String(t)),x(e=>e+1),L.onPluginError?.(t,e)})},y=()=>xe(async()=>{b=!0;try{await z();let e=[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0));for(let t of e){let e=u.has(t.id);!I.has(t.id)&&(p.delete(t.id),!e||!await _e(t))||(await z(d.get(t.id)),e?p.delete(t.id):await ye(t.id))}}finally{b=!1}o&&V.clearTimeout(o),le(),ce()});let Se=e=>{let t=g?.current;return t?e===`select`?t.toolMode===`select`:e===`xray`?t.xrayVisible:e===`color-picker`?t.colorPickerActive:e===`rulers`?t.rulersVisible:e===`text-inspector`?t.toolMode===`text-inspector`:e===`guides`?t.toolMode===`guides`:e===`settings`&&t.settingsOpen:!1},Ce=async e=>{if(D(e)||e!==`settings`&&e!==`rulers`&&e!==`guides`&&E()&&(await P(`select-mode-builtin`),e===`select`||Se(e)))return;let t=w(e);if(t){await N(t,{source:`builtin-command`,builtin:e});return}if(!T(e))return;let n=ee();if(e===`guides`&&E()&&Se(`guides`)){await n.run(`select`);return}await n.run(e)};(async()=>{for(let e of s)await he(e);if(t&&(await he({id:`mesurer.runtime-bridge`,version:i,provides:[`runtime:solid`],setup(e){let t={ownerDocument:B,ownerWindow:V,portalTarget:R,pageTarget:H,rendererRoot:W(),currentToolMode:()=>U().current.toolMode,currentToolbarMode:()=>E()?`edit`:`select`,theme:te,subscribeTheme:ne,createWorkspaceRuntime:ie,createInspectorMount:re};e.service.provide(`runtime:solid`,t),Kv(e),rb(e,t),rC(e,t);for(let t of uC)e.command.register(hC(t),()=>Ce(t))}}),t)){for(let e of[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0))){let n=se.has(e.id)?se.get(e.id)===!0:e.enabled!==!1;if(I.has(e.id)){n||await ye(e.id);continue}if(n&&await _e(e),!t)return}h.clear();for(let e of I.settings())h.set(e.id,new Map((e.controls??[]).map(e=>[e.id,e.value()])));try{let e=V.localStorage.getItem(ae);if(e){let t=JSON.parse(e);I.state.restore(t,`persist`)}}catch(e){L.onPluginError?.(e,`plugin-persistence`)}t&&(C(!0),G.textContent=j(),L.onPluginsReady?.(I))}})();let we=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},Te=e=>{if(pu(e,V)||g?.current.settings.shortcutsEnabled===!1)return;let t=e.key.toLowerCase(),n=e.metaKey||e.ctrlKey;if(!n&&!e.shiftKey&&!e.altKey&&(t===`1`||t===`2`)){let n=M();if(t===`1`&&n?.active?.()){e.preventDefault(),e.stopImmediatePropagation(),F(n,`toolbar-mode-shortcut`);return}if(t===`2`&&n&&!n.disabled?.()&&!n.active?.()){e.preventDefault(),e.stopImmediatePropagation(),F(n,`toolbar-mode-shortcut`);return}}let r=we(e);if(r&&r!==`settings`&&E()){e.preventDefault(),e.stopImmediatePropagation(),Ce(r).catch(()=>void 0);return}if(r&&D(r)){e.preventDefault(),e.stopImmediatePropagation();return}let i=r?w(r):void 0;if(r&&i){e.preventDefault(),e.stopImmediatePropagation(),F(i,{source:`builtin-shortcut`,builtin:r});return}if((t===`h`||t===`v`)&&D(`guides`)){e.preventDefault(),e.stopImmediatePropagation();return}if((t===`h`||t===`v`)&&w(`guides`)){e.preventDefault(),e.stopImmediatePropagation();return}let a=O().find(t=>t.shortcut&&!t.disabled?.()&&gC(e,t.shortcut));if(a){e.preventDefault(),e.stopImmediatePropagation(),F(a);return}if(n&&t===`z`&&(e.shiftKey?I.redo():I.undo())){e.preventDefault(),e.stopImmediatePropagation();return}(n&&t===`,`&&!T(`settings`)||t===`s`&&!T(`select`)||t===`a`&&!T(`text-inspector`)||t===`g`&&!T(`guides`)||(t===`h`||t===`v`)&&!T(`guides`)||t===`p`&&!T(`color-picker`)||t===`x`&&!T(`xray`)||t===`r`&&!T(`rulers`)||e.key===`Alt`&&!T(`distance`))&&(e.preventDefault(),e.stopImmediatePropagation())};return V.addEventListener(`keydown`,Te,!0),()=>{t=!1;for(let e of A)I.cancelLoad(e);A.clear(),de(),V.removeEventListener(`pagehide`,fe),V.removeEventListener(`keydown`,Te,!0),pe(),G.remove(),g=null,_=null,v=()=>void 0,y=async()=>void 0,r&&I.dispose()}}),Y(Fh,{runtime:{plugins:k,generalSections:A,version:()=>i,setEnabled:(e,t)=>v(e,t),update:R,reset:async()=>{await y()}},get children(){return Y(F_,{value:e=>{g=e},get children(){return Y(Bv,nc(e,{get pluginTools(){return O()},onPluginTool:e=>F(e),onPluginToolMenuItem:I,isBuiltinActionDisabled:D,onBuiltinController:e=>{_=e},editSelectionHover:E}))}})}})}var yC=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),bC=(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),xC=(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},SC=(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 CC(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=xC(n.rect,t,r,a,u);for(let t of SC(v,d,l)){let n=u?{left:yC(t.left,s,f),top:yC(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=>!bC(t,e,o))&&c.every(e=>!bC(t,e,i))}),b=y.find(e=>{let t={...e,width:r,height:r};return m.every(e=>!bC(t,e,i))})??y.find(e=>{let t={...e,width:r,height:r};return m.every(e=>!bC(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 wC=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),TC=0,EC=e=>e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0&&e!==`none`),DC=e=>{let t=e.ownerDocument.defaultView?.HTMLElement;return!!(t&&e instanceof t)},OC=(e,t)=>{let n=e.style.getPropertyValue(`anchor-name`),r=e.style.getPropertyPriority(`anchor-name`),i=EC(n);i.includes(t)||e.style.setProperty(`anchor-name`,[...i,t].join(`, `),r);let a=!1;return()=>{if(a)return;a=!0;let i=EC(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`)}},kC=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}},AC=(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:wC(e.left+e.width-t,8,a),top:wC(e.top,8,o)}},jC=(e,t,n,r,i=8)=>{let a=r.innerWidth-t-8,o=wC(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}:AC(e,t,n,r,i)};function MC(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-${++TC}`,O=null,k=e.initialTriggerFallback===`current-and-next`,A=null,j=null,M=null,N,P,F=null,I=!1,L=null,R=null,z=null,B=null,V=null,H=null,U=new Map,W=()=>N?.ownerDocument.defaultView??window,ee=()=>e.coordinateSpace===`viewport`,te=e=>e?`native-anchor`:ee()?`cached-delta`:`document`,ne=e=>{if(ee())return e;let t=W();return{left:e.left+t.scrollX,top:e.top+t.scrollY}},re=()=>{let t=e.runtime.currentSelection();return{elements:[...t.elements],region:t.region?{...t.region}:null}},ie=(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,G=()=>{A=null,v(``),g(!1),b(null),m(null)},ae=()=>{let e=W();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||R===null):[]},le=e=>{let t=se();return t?[...t.querySelectorAll(`[data-mesurer-annotation-id]`)].filter(t=>t.dataset.mesurerAnnotationId===e):[]},ue=e=>{let t=U.get(e);t&&(t.scroll.release(),t.releaseAnchor?.(),U.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=>!!(DC(e)&&ee()&&N&&ae()&&e.getRootNode()===N.getRootNode()),pe=e=>{let t=de(e),n=U.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&&DC(t)){let n=`--mesurer-annotation-${++TC}`;U.set(e,{target:t,anchorName:n,releaseAnchor:OC(t,n),scroll:yf(a,t,()=>le(e),{trackWindow:!1})})}else U.set(e,{target:t,anchorName:null,releaseAnchor:null,scroll:yf(a,t,()=>le(e),{trackWindow:ee()})});i(e=>e+1)}},me=()=>{let t=new Set(e.runtime.annotations().map(e=>e.id));for(let e of U.keys())t.has(e)||ue(e);for(let e of t)pe(e)},he=e=>{W().queueMicrotask(()=>pe(e))},ge=()=>{W().queueMicrotask(()=>{me();for(let e of U.values())e.anchorName||e.scroll.rebase()})};e.initialTriggerFallback&&(O=oe());let _e=()=>{B?.release(),B=null,z?.(),z=null,L=null,R=null},ve=e=>!!(DC(e)&&ee()&&N&&e!==O&&ae()&&e.getRootNode()===N.getRootNode()),ye=()=>{let e=oe();O&&e!==O&&(O=null);let t=L,n=!!(e?.isConnected&&ve(e)),r=R===e;if(e===L&&e?.isConnected&&n===r){B?.sync();return}let i=e===t?D:`--mesurer-annotation-trigger-${++TC}`;if(_e(),!e?.isConnected)return;L=e;let a=e.ownerDocument.defaultView;if(a){if(n&&DC(e)){z=OC(e,i),R=e,D=i,B=yf(a,e,ce,{trackWindow:!1});return}D=i,B=yf(a,e,ce,{trackWindow:ee()})}},be=e=>{if(V?.disconnect(),V=null,!e?.isConnected)return;let t=e.ownerDocument.defaultView;t&&(V=new t.ResizeObserver(()=>{i(e=>e+1)}),V.observe(e))},xe=()=>{let e=W();H!==e&&(H?.removeEventListener(`resize`,Se),H=e,H.addEventListener(`resize`,Se,{passive:!0}))};function Se(){i(e=>e+1)}let Ce=()=>{let t=e.rendererRoot;return t?[...t.querySelectorAll(`[data-mesurer-motion-surface='true']`)].flatMap(e=>{if(!e.isConnected)return[];let t=e.getBoundingClientRect();return t.width<=0||t.height<=0?[]:[{left:t.left,top:t.top,width:t.width,height:t.height}]}):[]},we=e.rendererRoot,Te=we?.ownerDocument.defaultView,Ee=Te?.MutationObserver,De=Te?.Element,Oe=`[data-mesurer-motion-surface='true']`,ke=Ee&&De?new Ee(e=>{let t=e=>e instanceof De&&(e.matches(Oe)||!!e.querySelector(Oe));e.some(e=>e.type===`attributes`?e.target instanceof De&&e.target.matches(Oe):e.target instanceof De&&e.target.closest(Oe)?!0:[...e.addedNodes,...e.removedNodes].some(t))&&Se()}):null;we&&ke&&ke.observe(we,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`hidden`]});let Ae=oe();be(Ae);let je=e.runtime.subscribe(()=>{let t=e.runtime.selectGestureActive();h()&&t?(k=!0,G()):h()&&A!==null&&!ie(A,re())&&(O=oe(),k=!1,G());let r=oe(),i=r!==Ae;i&&(Ae=r,be(Ae),k&&(k=!1,O=r)),ye(),i&&Se(),n(e=>e+1),ge()});ye(),W().queueMicrotask(me),En(()=>{V?.disconnect(),V=null,H?.removeEventListener(`resize`,Se),H=null,ke?.disconnect(),_e();for(let e of U.keys())ue(e);je()});let Me=co(()=>(t(),e.runtime.currentSelection())),Ne=co(()=>(t(),e.runtime.annotations())),Pe=co(()=>{let e=a();return e?Ne().find(t=>t.id===e)??null:null}),Fe=co(()=>s()??l()??a()),Ie=e=>Ne().findIndex(t=>t.id===e)+1,Le=co(()=>{t(),r();let n=Fe();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=dp(e);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}]:[]}),Re=()=>Me().elements.length>0||Me().region!==null,ze=()=>{t();let e=A;return e!==null&&ie(e,re())},Be=co(()=>{let e=Me(),t=e.elements.filter(e=>e.isConnected).map(e=>{let t=dp(e);return{left:t.left,top:t.top,width:t.width,height:t.height}});return e.region&&t.push({...e.region}),t}),Ve=co(()=>kC(Be())),He=()=>{let e=Me().elements.length;return e>1?`${e} selected elements`:e===1?`Selected element`:`Selected region`},Ue=e=>e.anchor.kind===`elements`?`${e.anchor.targets.length} selected ${e.anchor.targets.length===1?`element`:`elements`}`:`Selected region`,We=co(()=>{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]}),Ge=()=>{r();let e=We();if(!e?.isConnected)return null;let t=dp(e),n={left:t.left,top:t.top,width:t.width,height:t.height},i=W(),a=[...$t(Ke).values()].map(e=>({left:e.left,top:e.top,width:24,height:24})),[o]=CC([{id:`selection-note-trigger`,rect:n}],{width:i.innerWidth,height:i.innerHeight},{obstacles:[...a,...Ce()],maxShiftRings:Math.ceil(Math.max(i.innerWidth,i.innerHeight)/28),viewportAware:!0}),s=o?.left??wC(n.left+n.width+6,4,i.innerWidth-24-4),c=o?.top??wC(n.top,4,i.innerHeight-24-4),l=R===e,u=ee()&&!l;return{left:l||u?s:s+i.scrollX,top:l||u?c:c+i.scrollY,anchorX:s-n.left,anchorY:c-n.top,nativeAnchor:l,viewportOwned:u}},Ke=co(()=>{t(),r();let n=W(),i=Ne().flatMap(t=>{let n=e.runtime.annotationRect(t.id);return n?[{id:t.id,rect:n}]:[]});return new Map(CC(i,{width:n.innerWidth,height:n.innerHeight},{obstacles:Be()}).map(e=>[e.id,e]))}),qe=e=>Ke().get(e)??null,Je=(e,t)=>{r();let n=U.get(e);if(!n?.anchorName||!n.target.isConnected)return{...ne(t),nativeAnchor:!1};let i=dp(n.target);return{...t,nativeAnchor:!0,anchorName:n.anchorName,anchorX:t.left-i.left,anchorY:t.top-i.top}},Ye=()=>{let e=Ve(),t=W(),n=p();return n&&e?{left:e.left+n.left,top:e.top+n.top}:e?jC(e,272,168,t):{left:8,top:8}},Xe=()=>{r();let e=Ye(),t=We();if(!t?.isConnected||R!==t)return{...ne(e),nativeAnchor:!1};let n=dp(t);return{...e,nativeAnchor:!0,anchorName:D,anchorX:e.left-n.left,anchorY:e.top-n.top}},Ze=(e,t)=>{let n=W(),r=Ke(),i=r.get(e);if(!i)return AC(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:wC(e.left,8,a),top:wC(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??AC(t,272,176,n)},Qe=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}:Ze(t,n)},$e=t=>{W().queueMicrotask(()=>{let n=e.runtime.annotationRect(t);n&&f(e=>{if(e[t])return e;let r=Ze(t,n);return{...e,[t]:{left:r.left-n.left,top:r.top-n.top}}})})},et=e=>Je(e,Qe(e)),tt=e=>{k=!1,A=null,g(!1),pe(e),$e(e),o(e),w(null),he(e)},nt=e=>{e.stopPropagation();let t=e.currentTarget.ownerDocument.defaultView?.HTMLButtonElement,n=e.composedPath().find(e=>t&&e instanceof t);!t||!(n instanceof t)||!e.currentTarget.contains(n)||hu(n,e.pointerId)},rt=(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=W(),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:wC(r.originLeft+t.clientX-r.startX,8,i),top:wC(r.originTop+t.clientY-r.startY,8,a)};if(n===`composer`){let e=Ve();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)}};En(()=>{M?.(),M=null,j=null});let it=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)}}},at=G,ot=()=>{if(!Re())return;k=!1,A=re(),v(``),b(null),w(null),o(null);let e=Ve();if(e){let t=jC(e,272,168,W());m({left:t.left-e.left,top:t.top-e.top})}else m(null);g(!0),W().queueMicrotask(()=>B?.sync())},st=()=>{let e=h();A!==null&&!ie(A,re())?(O=oe(),k=!1,ye(),Se()):e&&(k=!1),at()},ct=()=>{h()&&(k=!0,at())},lt=()=>{try{let t=e.runtime.addSelectionAnnotation(_());k=!1,A=null,v(``),b(null),g(!1),m(null),pe(t.id),$e(t.id),o(t.id),w(null),he(t.id)}catch(e){b(e instanceof Error?e.message:String(e))}},ut={openNoteComposer:ot,closeNoteComposer:st,abandonNoteComposer:ct};return e.onController?.(ut),En(()=>e.onController?.(null)),[(()=>{var e=X(`span`,{"aria-hidden":`true`,style:{display:`none`}});return ic(()=>e=>{N=e,xe(),ye()},e),e})(),Y(q,{get when(){return $s(()=>Me().elements.length>0)()&&!h()},get children(){return Y(q,{get when(){return We()},keyed:!0,children:e=>Y(q,{get when(){return Ge()},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(),F=e.pointerId,I=!1,hu(e.currentTarget,e.pointerId)},onPointerMove:e=>{if(F!==e.pointerId)return;let t=e.currentTarget.getBoundingClientRect();I=e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom},onPointerUp:e=>{if(e.stopPropagation(),F===e.pointerId){let t=e.currentTarget.getBoundingClientRect();I=e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),F=null}},onPointerCancel:e=>{e.stopPropagation(),I=!0,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),F===e.pointerId&&(F=null)},onClick:e=>{if(e.stopPropagation(),I){I=!1;return}ot()}});return ic(()=>e=>{P=e,B?.sync()},t),Q(t,Y(ag,{size:14})),J(()=>({e:ee()?`viewport`:`document`,t:te(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 $s(()=>!!(h()&&ze()))()?Ve():h()&&ze()},get children(){return Y(q,{get when(){return Xe()},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:nt,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=>rt(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:st}),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(),lt()),e.key===`Escape`&&(e.preventDefault(),st())},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:st}),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:lt});return Z(t,n),Z(t,s),Z(t,c),Z(n,r),Z(n,o),Q(n,Y(ag,{size:14,class:`msr:text-ink-700`}),r),Z(r,i),Z(r,a),Z(i,ec(`Add note`)),Q(a,He),Q(o,Y(sg,{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,ec(`⌘/Ctrl ↵`)),Z(u,d),Z(u,f),Z(d,ec(`Cancel`)),Z(f,ec(`Add note`)),J(()=>({e:ee()?`viewport`:`document`,t:te(e().nativeAnchor),a:{position:e().nativeAnchor||ee()?`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(go,{get each(){return Le()},children:e=>{let t=()=>Fe(),n=()=>{let n=t();return n?Je(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:te(n().nativeAnchor),a:{position:n().nativeAnchor||ee()?`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(go,{get each(){return Ne()},children:(e,t)=>{let n=()=>qe(e.id),r=()=>{let t=n();return t?Je(e.id,t):null},i=()=>Fe()===e.id,o=()=>Fe()!==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(),tt(e.id)},onPointerUp:e=>e.stopPropagation(),onClick:t=>{t.preventDefault(),t.stopPropagation(),tt(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:te(n().nativeAnchor),n:ee()?`viewport`:`document`,s:`Mesurer annotation ${t()+1}: ${e.note}`,h:e.note,r:a()===e.id?`true`:`false`,d:{position:n().nativeAnchor||ee()?`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 Pe()},children:t=>{let n=()=>et(t().id),r=()=>Ie(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:nt,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=>rt(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=ec(`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 it(()=>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,()=>Ue(t())),Z(h,g),Z(h,_),Z(h,v),Q(g,Y(ig,{size:14})),Q(_,Y(og,{size:14})),Q(v,Y(sg,{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:te(n().nativeAnchor),a:ee()?`viewport`:`document`,o:{position:n().nativeAnchor||ee()?`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 NC(e){let t=null;return En(N_(e.ownerWindow,()=>{t?.abandonNoteComposer()})),Y(MC,{get runtime(){return e.runtime},get onCopy(){return e.onCopy},get initialTriggerFallback(){return e.initialTriggerFallback},get coordinateSpace(){return e.coordinateSpace},get rendererRoot(){return e.rendererRoot},onController:n=>{t=n,e.onController?.(n)}})}var PC=`2147482950`,FC=`2147483646`,IC=`2147483647`;function LC(e){let{ownerDocument:t,ownerWindow:n,pageTarget:r}=e,i=t.body;if(!(i&&!(r instanceof n.ShadowRoot)&&r.getRootNode()===t))return e.createInspectorMount();ku(Au,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=`
2293
+ `,r.head.append(l);let u=t.createWorkspaceRuntime(),d=new Map,f=new Map,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(aS)&&p.add(e),e.matches(oS)&&m.add(e)},x=e=>{if(e instanceof o.HTMLElement){b(e);for(let t of e.querySelectorAll(`${aS}, ${oS}`))b(t)}},S=e=>{for(let t of e.querySelectorAll(`${aS}, ${oS}`))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(p)){if(!e.isConnected){p.delete(e);let t=d.get(e);t&&w(e,t,d,cS);continue}C(e,d,cS)}for(let[e,t]of Array.from(d))(!e.isConnected||!p.has(e))&&w(e,t,d,cS)},D=()=>{for(let e of Array.from(m)){if(!e.isConnected){m.delete(e);let t=f.get(e);t&&w(e,t,f,lS);continue}C(e,f,lS)}for(let[e,t]of Array.from(f))(!e.isConnected||!m.has(e))&&w(e,t,f,lS)},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(sS)){h=!0,E(),D(),A();return}!h&&d.size===0&&f.size===0||(h=!1,j(),T(d,cS),T(f,lS))}},N=new o.MutationObserver(k);N.observe(c,{childList:!0,subtree:!0});let P=u.subscribe(O);M(),e.lifecycle.onDispose(()=>{_=!0,N.disconnect(),j(),P(),u.dispose(),T(d,cS),T(f,lS),p.clear(),m.clear(),l.remove()})}var dS=`[data-mesurer-text-editor='true']`,fS=`[data-mesurer-text-edit-ring='true']`,pS=`[data-mesurer-text-inspector-info='true']`,mS=`[data-mesurer-text-inspector-placement-shell='true']`,hS=`[data-mesurer-measurement='true']`,gS=`[data-mesurer-measurement-chrome='true']`,_S=`[data-mesurer-measurement-label='true']`,vS=20,yS=.75,bS=`data-mesurer-symmetric-measurement-spacing`,xS=`mesurerSymmetricCardOffsetY`,SS=e=>({left:e.left,top:e.top,right:e.right,bottom:e.bottom,width:e.width,height:e.height}),CS=(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),wS=e=>({left:e.left,top:e.bottom+2,right:e.right,bottom:e.bottom+2+vS,width:e.width,height:vS}),TS=(e,t,n)=>e.style.getPropertyValue(t)!==n&&(e.style.setProperty(t,n),!0);function ES(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(dS)&&(u=e),e.matches(fS)&&(d=e),e.matches(mS)&&(f=e),e.matches(pS)&&(p=e),e.matches(_S)&&l.add(e)},v=e=>{if(e instanceof o.HTMLElement&&(_(e),e===c||e.matches(`${hS}, [data-mesurer-text-edit-runtime='true'], [data-mesurer-root='true']`)))for(let t of[dS,fS,mS,pS,_S])for(let n of e.querySelectorAll(t))_(n)},y=e=>{for(let t of e.querySelectorAll(hS))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(hS);if(!(r instanceof o.HTMLElement)||r.getAttribute(`data-mesurer-selected-measurement`)!==`true`)continue;let i=SS(n.getBoundingClientRect());if(i.width<=0||i.height<=0)continue;let a=r.querySelector(gS),s=a?.isConnected?SS(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?CS(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??wS(e)},x=()=>{if(g||!u?.isConnected||!d?.isConnected||!f?.isConnected||!p?.isConnected)return;let e=SS(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=SS(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(bS,`true`),f.dataset.mesurerSymmetricSourceGap=r.toFixed(3),f.dataset.mesurerSymmetricTypographyGap=a.toFixed(3),Math.abs(o)<=yS)return;let s=Number.parseFloat(p.dataset[xS]??`0`),c=(Number.isFinite(s)?s:0)-o;p.dataset[xS]=c.toFixed(3),TS(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(mS)&&(_(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(`${hS}, [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(bS),p&&(p.style.removeProperty(`translate`),delete p.dataset[xS])})}var DS=(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))},OS=(e,t)=>{let n=t.ownerWindow,r=!1,i=!1,a=null,o=DS(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?`text-inspector`:t.currentToolbarMode?t.currentToolbarMode()===`edit`||Gv(e).keepTextChanges?`text-inspector`:`none`:n===`text-inspector`||Gv(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}},kS=`var(--msr-color-ink-50, #f8fafc)`,AS=`var(--msr-color-ink-100, #f1f5f9)`,jS=`var(--msr-color-ink-200, #e2e8f0)`,MS=`var(--msr-color-ink-500, #64748b)`,NS=`var(--msr-color-ink-700, #334155)`,PS=`var(--msr-content, #0f172a)`,FS=`var(--msr-accent, #0d99ff)`,IS=8,LS=8,RS=(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},zS=e=>Array.from(e.querySelectorAll(`span`)).map(e=>e.textContent?.trim()??``).find(e=>e.startsWith(`--`))??null;function BS(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-IS,p=r.innerHeight-IS,m=Math.max(IS,f-u),g=Math.max(IS,p-d),_=Math.min(Math.max(o.left+o.width/2-u/2,IS),m),v=Math.min(Math.max(o.top+o.height/2-d/2,IS),g),y=[{left:_,top:o.top-LS-d,placement:`above`},{left:_,top:o.bottom+LS,placement:`below`},{left:o.right+LS,top:v,placement:`side`},{left:o.left-LS-u,top:v,placement:`side`}],b=(e,t)=>e>=IS&&t>=IS&&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:IS,height:Math.max(0,o.top-LS-IS)},{name:`below`,top:o.bottom+LS,height:Math.max(0,p-o.bottom-LS)}].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=`${IS}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:kS,color:NS,outline:`none`,transition:`border-color 120ms ease, box-shadow 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{e.style.borderColor=jS}),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 ${FS}`}),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:kS,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:NS,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 ${MS}`,borderBottom:`1.5px solid ${MS}`,transform:`rotate(45deg)`,transformOrigin:`center`,pointerEvents:`none`}),t.addEventListener(`mouseenter`,()=>{t.style.borderColor=jS}),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 ${FS}`}),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?FS:`transparent`}`,borderRadius:`5px`,background:t?`rgba(13, 153, 255, 0.10)`:kS,color:PS,padding:`0`,fontSize:`12px`,cursor:`pointer`,transition:`border-color 120ms ease, background 120ms ease`}),e.addEventListener(`mouseenter`,()=>{t||(e.style.borderColor=jS)}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=t?FS:`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:kS,padding:`3px`}),n.addEventListener(`mouseenter`,()=>{n.style.borderColor=jS}),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:kS,color:NS,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=jS}),e.addEventListener(`mouseleave`,()=>{e.style.borderColor=`transparent`}),e.addEventListener(`focus`,()=>{e.style.boxShadow=`inset 0 0 0 1px ${FS}`}),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=zS(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:MS,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]`)&&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=RS(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 ${AS}`});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 VS=4,HS=4,US=220,WS=60,GS=(e,t,n)=>Math.min(Math.max(e,t),n);function KS(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 qS(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(US,Math.max(WS,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-VS-HS),b=o.bottom-a.top,x=Math.max(0,b-v-VS-HS),S=x>=d||x>=y?v+VS:_-VS-d,C=m+HS,w=Math.max(C,m+o.width-HS-c),T=h+HS,E=Math.max(T,h+o.height-HS-d);e.style.left=`${GS(g,C,w)}px`,e.style.top=`${GS(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 JS=`var(--msr-color-ink-50, #f8fafc)`,YS=`var(--msr-color-ink-100, #f1f5f9)`,XS=`var(--msr-color-ink-200, #e2e8f0)`,ZS=`var(--msr-color-ink-500, #64748b)`,QS=`var(--msr-color-ink-700, #334155)`,$S=`var(--msr-content, #0f172a)`,eC=`var(--msr-accent, #0d99ff)`,tC=8,nC=4;function rC(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-tC,o=r.innerHeight-tC,s=Math.max(tC,a-i.width),c=Math.min(Math.max(e.left,tC),s),l=e.bottom+nC,f=e.top-nC-i.height,p=l+i.height<=o||f<tC?Math.min(l,Math.max(tC,o-i.height)):f;u.popup.style.left=`${c}px`,u.popup.style.top=`${Math.max(tC,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?YS:`transparent`,color:e.disabled?ZS:$S,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:ZS,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?YS:JS)}),t.addEventListener(`mouseleave`,()=>{t.style.background=e.selected?YS:`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 ${XS}`,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 ${eC}`),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:QS,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 ${eC}`}),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:JS,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=XS}),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 ${ZS}`,borderBottom:`1.5px solid ${ZS}`,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 iC(e,t){kb(e,t);let{runtime:n}=wb(t);rS(e,n),KS(e,n),dx(e,OS(e,n)),Xx(e,n),BS(e,n),uS(e,n,t.portalTarget),gx(e,n,t),iS(e,n),rC(e,n),qS(e,n),Sb(e,n),Mb(e,n),Hx(e,n,t.portalTarget),ES(e,n,t.portalTarget)}var aC=1,oC=(e,t)=>{if(!t)return[];try{let n=e.sessionStorage.getItem(t);if(!n)return[];let r=JSON.parse(n);return r.version!==aC||!Array.isArray(r.annotations)?[]:r.annotations.map(sC)}catch{return[]}},sC=e=>({...e,anchor:e.anchor.kind===`elements`?{kind:`elements`,region:e.anchor.region?ac(e.anchor.region):null,targets:e.anchor.targets.map(e=>({...e,fingerprint:{...e.fingerprint,classes:[...e.fingerprint.classes]},lastRect:ac(e.lastRect)}))}:{kind:`region`,rect:ac(e.anchor.rect)},baseline:{targets:e.baseline.targets.map(e=>({...e,rect:ac(e.rect)})),guides:e.baseline.guides.map(e=>({...e})),measurements:e.baseline.measurements.map(e=>({...e,rect:ac(e.rect)})),distances:e.baseline.distances.map(e=>({...e,rectA:ac(e.rectA),rectB:ac(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null}))}}),cC=(e,t)=>`${t}-${e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`,lC=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 uC(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=Mu(r),u=()=>e.persistenceKey?`${e.persistenceKey}:${l}`:void 0,d=()=>e.persistenceKey?`${e.persistenceKey}${r.location.pathname}`:void 0,f=()=>{let e=u();if(!e)return{annotations:[],migrated:!1};try{if(r.sessionStorage.getItem(e)!==null)return{annotations:oC(r,e),migrated:!1}}catch{return{annotations:[],migrated:!1}}let t=d();if(!t)return{annotations:[],migrated:!1};let n=oC(r,t);return{annotations:n,migrated:n.length>0}},p=f(),m=p.annotations,h=p.migrated,g=new Set,_=new Map,v=new Map,y=new Map,b=!1,x=0,S=new Map,C=!1,w=(e,t)=>`${e}:${t}`,T=e=>Yg(e,o),E=e=>{let t=[],r=new Set,i=e=>{r.has(e)||!T(e)||(r.add(e),t.push(e))};o instanceof a.HTMLElement&&o.matches(e)&&i(o);for(let t of Jg(o)){let r=t===n?c:t;for(let t of r.querySelectorAll(e))i(t)}return t},D=()=>{let e=u();if(e)try{if(m.length===0){r.sessionStorage.removeItem(e);return}r.sessionStorage.setItem(e,JSON.stringify({version:aC,annotations:m.map(sC)}))}catch{}};h&&=(D(),!1);let O=()=>{for(let e of g)e()},k=e=>{if(!Jf(e.fingerprint))return null;let t=[];try{t=E(e.selector)}catch{return null}let n=t.filter(t=>Yf(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=dp(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},A=(e,t)=>{let n=w(e,t.id),r=v.get(n);if(r?.isConnected&&T(r))return r;r&&v.delete(n);let i=k(t);return i&&v.set(n,i),i},j=()=>{let e=!1;for(let t of m)if(t.anchor.kind===`elements`)for(let n of t.anchor.targets){let r=w(t.id,n.id),i=A(t.id,n),a=!!i;if(y.get(r)!==a&&(y.set(r,a),e=!0),!i)continue;let o=dp(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&&(D(),O())},M=()=>{x||b||m.length===0||(x=r.requestAnimationFrame(()=>{x=0,j()}))},N=e=>{let t=S.get(e);t&&(e.removeEventListener(`load`,t.load,!0),e.removeEventListener(`scroll`,M,!0),e.defaultView?.removeEventListener(`resize`,M),t.observer?.disconnect(),S.delete(e))},P=()=>{if(!C)return;let e=new Set(Jg(o));for(let t of e){if(S.has(t))continue;let e=()=>{P(),M()},n=t.defaultView?.MutationObserver,r=n&&t.body?new n(()=>{P(),M()}):null;t.addEventListener(`load`,e,!0),t.addEventListener(`scroll`,M,!0),t.defaultView?.addEventListener(`resize`,M),r?.observe(t.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`id`,`class`,`data-testid`,`role`,`aria-label`,`style`]}),S.set(t,{load:e,observer:r})}for(let t of S.keys())e.has(t)||N(t)},F=()=>{C||b||m.length===0||(C=!0,P())},I=()=>{if(C){C=!1;for(let e of S.keys())N(e);x&&r.cancelAnimationFrame(x),x=0}};m.length>0&&(j(),F());let L=Iu(r,e=>{if(e===l||b)return;D(),I(),v.clear(),y.clear(),l=e,m.length=0;let t=f();m.push(...t.annotations),t.migrated&&D(),m.length>0&&(j(),F()),O()}),R=t.subscribe(O),z=()=>({guides:t.current.guides,measurements:t.current.measurements,activeMeasurement:t.current.activeMeasurement,distances:t.current.heldDistances}),B=e=>dc({...e,workspace:z(),guideTolerance:10}),V=(e,t)=>({id:`target-${t+1}`,selector:Kf(e),fingerprint:qf(e),lastRect:dp(e)}),H=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=E(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=>bp(e,r));return t.setSelectedMeasurements(o,o.at(-1)??null),t.setTransient({selectionOriginRect:null}),a},U=(e,t=[])=>(m.push(e),e.anchor.kind===`elements`&&e.anchor.targets.forEach((n,r)=>{let i=t[r],a=w(e.id,n.id);i&&T(i)&&v.set(a,i),y.set(a,!!(i&&T(i)))}),F(),D(),O(),sC(e)),W=(e,t)=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=ac(t);return U({id:cC(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`region`,rect:i},baseline:B({targets:[],region:i})})},ee=e=>{let n=e.trim();if(!n)throw Error(`Annotation note cannot be empty.`);let i=lC(t).filter(T),a=t.current.selectionOriginRect?ac(t.current.selectionOriginRect):null;if(!i.length){if(!a)throw Error(`Select a page element or drag a region before adding an annotation.`);return W(n,a)}let o=i.map(V);return U({id:cC(r,`annotation`),note:n,createdAt:Date.now(),anchor:{kind:`elements`,targets:o,region:a},baseline:B({targets:o,elements:i})},i)},te=()=>{for(let[e,t]of _)t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`);_.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?ac(t.current.selectionOriginRect):null,measurements:[...t.current.measurements],activeMeasurement:t.current.activeMeasurement,heldDistances:[...t.current.heldDistances],guides:t.current.guides.map(e=>({...e})),annotations:m.map(sC)}},elementRect(e){return dp(e)},currentSelection(){return{elements:lC(t).filter(T),region:t.current.selectionOriginRect?ac(t.current.selectionOriginRect):null}},refreshSelectionGeometry(){let e=t.current.selectedMeasurements;if(!e.length)return;let n=(e,t)=>e.left===t.left&&e.top===t.top&&e.width===t.width&&e.height===t.height,i=!1,a=e.flatMap(e=>{if(!e.elementRef?.isConnected)return[];let t={...bp(e.elementRef,r),id:e.id,originRect:e.originRect};return(!n(t.rect,e.rect)||!n(t.paddingRect,e.paddingRect)||!n(t.marginRect,e.marginRect))&&(i=!0),[t]});if(a.length!==e.length&&(i=!0),!i)return;let o=t.current.selectedMeasurement?.id;t.setSelectedMeasurements(a,a.find(e=>e.id===o)??a.at(-1)??null)},clearSelection(){t.checkpoint(),t.setSelectedMeasurements([],null),t.setSelectedGuideIds([]),t.setHoverTarget(null,null),t.setTransient({start:null,end:null,isDragging:!1,selectionOriginRect:null})},toggleSelection(e){if(!e.isConnected||!T(e))return;let n=t.current.selectedMeasurements.some(t=>t.elementRef===e)?t.current.selectedMeasurements.filter(t=>t.elementRef!==e):[...t.current.selectedMeasurements,bp(e,r)];t.checkpoint(),t.setSelectedMeasurements(n,n.at(-1)??null),t.setTransient({selectionOriginRect:null})},selectGestureActive(){return t.current.toolMode===`select`&&t.current.start!==null},select:H,setHover(e){if(!e?.isConnected||!T(e)){t.setHoverTarget(null,null);return}let n=dp(e);t.setHoverTarget(e,t.current.settings.hoverHighlightEnabled?{left:n.left,top:n.top,width:n.width,height:n.height}:null)},clearHover(){t.setHoverTarget(null,null)},hoveredElement(){return t.current.hoverElement?.isConnected&&T(t.current.hoverElement)?t.current.hoverElement:null},annotations(){return m.map(sC)},annotation(e){let t=m.find(t=>t.id===e);if(!t)return null;let n=sC(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:A(t.id,e[r])}))}return{...n,resolvedTargets:r}},annotationRect(e){let t=m.find(t=>t.id===e);if(!t)return null;if(t.anchor.kind===`region`)return ac(t.anchor.rect);let n=t.anchor.targets.map(e=>A(t.id,e)?.getBoundingClientRect()).filter(e=>e!==void 0);if(!n.length){let e=sc(t.anchor.targets.map(e=>e.lastRect));return e?ac(e):null}return sc(n.map(e=>({left:e.left,top:e.top,width:e.width,height:e.height})))},addSelectionAnnotation:ee,addRegionAnnotation:W,removeAnnotation(e){let t=m.findIndex(t=>t.id===e);if(t<0)return;let[n]=m.splice(t,1);if(n.anchor.kind===`elements`)for(let e of n.anchor.targets){let t=w(n.id,e.id);v.delete(t),y.delete(t)}m.length===0&&I(),D(),O()},subscribe(e){return g.add(e),()=>g.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))_.has(t)||(_.set(t,{value:t.style.getPropertyValue(`display`),priority:t.style.getPropertyPriority(`display`)}),t.style.setProperty(`display`,`none`,`important`))},finishCapture(){te()},dispose(){b||(b=!0,I(),L(),R(),te(),v.clear(),y.clear(),m.length=0,g.clear())}}}var dC=[`select`,`xray`,`color-picker`,`rulers`,`text-inspector`,`guides`,`settings`],fC=`mesurer-plugin-settings`,pC=e=>(e.startsWith(`mesurer.`)?e.slice(8):e).split(/[.-]/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(` `)||e,mC=e=>`create`in e&&typeof e.create==`function`,hC=e=>e===`select`||e===`xray`||e===`color-picker`||e===`rulers`||e===`text-inspector`||e===`guides`||e===`distance`||e===`settings`,gC=e=>`builtin.${e}`,_C=(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},vC=({host:e,getBuiltinController:t,getModel:n,arrangeActive:r,isBuiltinPluginId:i,onPluginError:a})=>{let o=()=>e.tools().find(e=>e.modeSwitch===!0&&e.toolbarMode===`edit`),s=null,c=async()=>{let r=s;if(s=null,!r)return;let i=t(),a=n();i&&a&&(r.toolMode===`none`&&a.current.toolMode===`select`?i.deactivate(`select`):r.toolMode&&r.toolMode!==`none`&&a.current.toolMode!==r.toolMode&&await i.run(r.toolMode),r.xrayVisible&&!a.current.xrayVisible&&await i.run(`xray`),r.rulersVisible&&!a.current.rulersVisible&&await i.run(`rulers`));for(let t of r.pluginToolIds){let n=e.tools().find(e=>e.id===t);!n||n.toolbarMode!==`select`||(n.active?.()??!1)||await e.command.execute(n.command,void 0,{source:`select-mode-restore`,toolId:n.id})}},l=async t=>{let n=o();n?.active?.()&&(await e.command.execute(n.command,void 0,{source:t,toolId:n.id}),await c())},u=async()=>{let r=t(),a=n(),o=e.tools().filter(e=>e.modeSwitch!==!0&&e.toolbarMode===`select`&&!(e.builtin&&i(e.builtin))&&!i(e.id)&&(e.active?.()??!1)).map(e=>e.id),c=a?.current.toolMode;s={toolMode:c===`none`||c===`select`||c===`text-inspector`||c===`guides`?c:null,xrayVisible:a?.current.xrayVisible??!1,rulersVisible:a?.current.rulersVisible??!1,pluginToolIds:o},r&&a&&(a.current.xrayVisible&&r.deactivate(`xray`),a.current.colorPickerActive&&r.deactivate(`color-picker`),a.current.toolMode===`text-inspector`&&r.deactivate(`text-inspector`));for(let t of o){let n=e.tools().find(e=>e.id===t);!n||!(n.active?.()??!1)||await e.command.execute(n.command,void 0,{source:`edit-mode-suspend`,toolId:n.id})}},d=async(t,n=`toolbar`)=>{if(!t.disabled?.())try{let i=t.modeSwitch===!0&&t.toolbarMode===`edit`&&!(t.active?.()??!1),a=t.modeSwitch===!0&&t.toolbarMode===`edit`&&(t.active?.()??!1);i&&await u(),t.toolbarMode===`select`&&r()&&await l(`select-mode-tool`),await e.command.execute(t.command,void 0,{source:n,toolId:t.id}),a&&!r()&&await c()}catch(e){throw a?.(e,t.id),e}};return{editModeTool:o,executeTool:d,leaveEditMode:l,runTool:(e,t=`toolbar`)=>{d(e,t).catch(()=>void 0)}}};function yC(e){let t=$t(()=>e.pluginHost),n=t??Ec(),r=!t,i=$t(()=>e.version??`0.1.0`),a=t=>e.version&&t.id.startsWith(`mesurer.`)?{...t,version:i}:t,o=new Set($t(()=>e.excludePlugins??[])),s=$t(()=>tb([],e.excludePlugins??[]).map(a)),c=new Map,l=new Map;for(let[t,n]of $t(()=>[...e.plugins??[]]).entries()){if(mC(n)){c.set(n.id,{...n,label:n.label??pC(n.id),order:n.order??1e3+t});continue}let e=a(n);c.set(e.id,{id:e.id,label:pC(e.id),order:1e3+t,enabled:!0,create:()=>e})}let u=new Set;for(let e of c.values())e.enabled!==!1&&u.add(e.id);let d=new Map([...c.values()].map(e=>[e.id,new Set(e.settingsIds??[])])),f=new Map,p=new Map,m=new Set,h=new Map,g=null,_=null,v=()=>void 0,y=async()=>void 0,[b,x]=K(0),[S,C]=K(!1),w=e=>(b(),n.tools().find(t=>(t.builtin===e||t.id===e)&&t.command!==gC(e))),T=e=>(b(),S()?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)),E=()=>(b(),n.state.get(`mesurer.arrange.active`)??!1),D=e=>!1,O=co(()=>(b(),n.tools().filter(e=>e.hidden?.()?!1:!e.builtin||!hC(e.builtin)||e.command!==gC(e.builtin)))),k=co(()=>{b();let e=n.settings();return[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0)).map(t=>{let r=d.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??pC(t.id),description:t.description,error:l.get(t.id),enabled:n.has(t.id),busy:m.has(t.id),sections:a}})}),A=co(()=>(b(),n.settings().filter(e=>e.id===Uv))),j=()=>{b();let e=[];for(let t of dC)(!T(t)||w(t))&&e.push(`[data-mesurer-builtin='${t}']{display:none!important}`);return(!T(`guides`)||w(`guides`))&&e.push(`[data-mesurer-builtin='guides-menu']{display:none!important}`),T(`guides`)||e.push(`[data-mesurer-guide='true']{display:none!important}`),T(`distance`)||e.push(`[data-mesurer-distance='true']{display:none!important}`),T(`rulers`)||e.push(`[data-mesurer-rulers='true']{display:none!important}`),T(`color-picker`)||e.push(`.mesurer-color-picker{display:none!important}`),e.join(`
2294
+ `)},{editModeTool:M,executeTool:N,leaveEditMode:P,runTool:F}=vC({host:n,getBuiltinController:()=>_,getModel:()=>g,arrangeActive:E,isBuiltinPluginId:hC,onPluginError:e.onPluginError}),I=(t,n)=>{n.disabled?.()||Promise.resolve(n.run()).catch(r=>{e.onPluginError?.(r,`${t.id}.${n.id}`)})},L=async(t,n,r)=>{try{await n.set(r)}catch(r){e.onPluginError?.(r,`${t}.${n.id}`)}},R=(e,t,n)=>{L(e,t,n)},z=async e=>{for(let t of n.settings()){if(e&&!e.has(t.id))continue;let n=h.get(t.id);if(n)for(let e of t.controls??[]){let r=n.get(e.id);r!==void 0&&await L(t.id,e,r)}}};return Mn(()=>{let t=!0,o=0,b=!1,k=Promise.resolve(),A=new Set,I=n,L=e,R=L.portalTarget??document.body,B=R.ownerDocument??document,V=B.defaultView??window,H=L.pageTarget??B.body,U=()=>{if(!g)throw Error(`Mesurer renderer model is unavailable for runtime bridge setup.`);return g},W=()=>{let e=U().rendererRoot;if(!e?.isConnected)throw Error(`Mesurer renderer root is unavailable for runtime bridge setup.`);return e},ee=()=>{if(!_)throw Error(`Mesurer built-in controller is unavailable for runtime bridge setup.`);return _},te=()=>U().current.settings.theme,ne=e=>{let t=te();return e(t),U().subscribe(()=>{let n=te();n!==t&&(t=n,e(n))})},re=()=>{let e=B.createElement(`div`);e.dataset.mesurerInspectorUi=`true`;let t=ne(t=>{e.dataset.theme=t});W().append(e);let n=!1;return{element:e,dispose(){n||(n=!0,t(),e.remove())}}},ie=e=>uC({model:U(),ownerDocument:B,ownerWindow:V,uiRoot:R,pageTarget:H,persistenceKey:e?`${L.persistKey??`mesurer-plugin-settings`}:${e}:${V.location.origin}`:void 0}),G=B.createElement(`style`);G.dataset.mesurerPluginVisibility=`true`,G.dataset.mesurerInspectorUi=`true`,G.textContent=j(),R.append(G);let ae=L.persistKey?`${L.persistKey}:plugins`:fC,oe=`${ae}:availability`,se=new Map;try{let e=V.localStorage.getItem(oe);if(e){let t=JSON.parse(e);if(t?.version===1||t?.version===2||t?.version===3){for(let[e,n]of Object.entries(t.enabled??{}))(t.version!==2||e!==`mesurer.codex`)&&se.set(e,n);for(let[e,n]of Object.entries(t.state??{}))p.set(e,n)}}}catch(e){L.onPluginError?.(e,`plugin-registry-persistence`)}let ce=()=>{let e=Object.fromEntries([...c.keys()].map(e=>[e,I.has(e)])),t=Object.fromEntries(p);try{V.localStorage.setItem(oe,JSON.stringify({version:3,enabled:e,state:t}))}catch(e){L.onPluginError?.(e,`plugin-registry-persistence`)}},le=()=>{o=0;try{V.localStorage.setItem(ae,JSON.stringify(I.state.serialize(`persist`)))}catch(e){L.onPluginError?.(e,`plugin-persistence`)}},ue=()=>{V.clearTimeout(o),o=V.setTimeout(le,50)},de=()=>{o&&(V.clearTimeout(o),le())},fe=()=>de();V.addEventListener(`pagehide`,fe);let pe=I.subscribe(e=>{if(x(e=>e+1),G.textContent=j(),(e.reason===`state`||e.reason===`history`||e.reason===`remove`||e.reason===`replace`)&&ue(),S()&&!b&&(e.reason===`load`||e.reason===`remove`||e.reason===`replace`)&&ce(),e.reason===`remove`&&e.pluginId?.startsWith(`mesurer.`)){let t=e.pluginId.slice(8);hC(t)&&_?.deactivate(t)}});L.onPluginHost?.(I);let me=async(e,n=e.id)=>{if(!t)return!1;A.add(e);try{await I.load(e),l.delete(n)}catch(e){return t&&(l.set(n,e instanceof Error?e.message:String(e)),x(e=>e+1),L.onPluginError?.(e,n)),!1}finally{A.delete(e)}return t?!0:(I.plugin(e.id)===e&&I.remove(e.id),!1)},he=e=>me(e),ge=e=>{for(let t of I.settings())!e.has(t.id)||h.has(t.id)||h.set(t.id,new Map((t.controls??[]).map(e=>[e.id,e.value()])))},_e=async e=>{if(!t||I.has(e.id))return I.has(e.id);let n=new Set(I.settings().map(e=>e.id)),r=new Set(I.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 me(i,e.id))return!1;let o=new Set(d.get(e.id)??e.settingsIds??[]);for(let e of I.settings())n.has(e.id)||o.add(e.id);d.set(e.id,o);let s=new Set(f.get(e.id)??[]);for(let e of I.describe().state)r.has(e.id)||s.add(e.id);f.set(e.id,s),ge(o);let c=p.get(e.id);return c&&(I.state.restore(c,`persist`),p.delete(e.id)),!0}catch(n){return t&&L.onPluginError?.(n,e.id),!1}},ve=e=>{let t=f.get(e);if(!t?.size)return;let n=I.state.serialize(`persist`),r={};for(let e of t)Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e]);Object.keys(r).length&&p.set(e,r)},ye=async(e,t=!0)=>I.has(e)?(await I.hook.emit(Cc,e),t?ve(e):p.delete(e),I.remove(e)):!1,be=async(e,t,n=!0)=>{let r=c.get(e);if(!(!r||m.has(e)||I.has(e)===t)){m.add(e),l.delete(e),x(e=>e+1);try{t?await _e(r):await ye(e,n),b||ce()}finally{m.delete(e),x(e=>e+1)}}},xe=e=>{let t=k.then(e,e);return k=t.catch(()=>void 0),t};v=(e,t)=>{xe(async()=>{await be(e,t)}).catch(t=>{l.set(e,t instanceof Error?t.message:String(t)),x(e=>e+1),L.onPluginError?.(t,e)})},y=()=>xe(async()=>{b=!0;try{await z();let e=[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0));for(let t of e){let e=u.has(t.id);!I.has(t.id)&&(p.delete(t.id),!e||!await _e(t))||(await z(d.get(t.id)),e?p.delete(t.id):await ye(t.id))}}finally{b=!1}o&&V.clearTimeout(o),le(),ce()});let Se=e=>{let t=g?.current;return t?e===`select`?t.toolMode===`select`:e===`xray`?t.xrayVisible:e===`color-picker`?t.colorPickerActive:e===`rulers`?t.rulersVisible:e===`text-inspector`?t.toolMode===`text-inspector`:e===`guides`?t.toolMode===`guides`:e===`settings`&&t.settingsOpen:!1},Ce=async e=>{if(D(e)||e!==`settings`&&e!==`rulers`&&e!==`guides`&&E()&&(await P(`select-mode-builtin`),e===`select`||Se(e)))return;let t=w(e);if(t){await N(t,{source:`builtin-command`,builtin:e});return}if(!T(e))return;let n=ee();if(e===`guides`&&E()&&Se(`guides`)){await n.run(`select`);return}await n.run(e)};(async()=>{for(let e of s)await he(e);if(t&&(await he({id:`mesurer.runtime-bridge`,version:i,provides:[`runtime:solid`],setup(e){let t={ownerDocument:B,ownerWindow:V,portalTarget:R,pageTarget:H,rendererRoot:W(),currentToolMode:()=>U().current.toolMode,currentToolbarMode:()=>E()?`edit`:`select`,theme:te,subscribeTheme:ne,createWorkspaceRuntime:ie,createInspectorMount:re};e.service.provide(`runtime:solid`,t),qv(e),ib(e,t),iC(e,t);for(let t of dC)e.command.register(gC(t),()=>Ce(t))}}),t)){for(let e of[...c.values()].sort((e,t)=>(e.order??0)-(t.order??0))){let n=se.has(e.id)?se.get(e.id)===!0:e.enabled!==!1;if(I.has(e.id)){n||await ye(e.id);continue}if(n&&await _e(e),!t)return}h.clear();for(let e of I.settings())h.set(e.id,new Map((e.controls??[]).map(e=>[e.id,e.value()])));try{let e=V.localStorage.getItem(ae);if(e){let t=JSON.parse(e);I.state.restore(t,`persist`)}}catch(e){L.onPluginError?.(e,`plugin-persistence`)}t&&(C(!0),G.textContent=j(),L.onPluginsReady?.(I))}})();let we=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},Te=e=>{if(pu(e,V)||g?.current.settings.shortcutsEnabled===!1)return;let t=e.key.toLowerCase(),n=e.metaKey||e.ctrlKey;if(!n&&!e.shiftKey&&!e.altKey&&(t===`1`||t===`2`)){let n=M();if(t===`1`&&n?.active?.()){e.preventDefault(),e.stopImmediatePropagation(),F(n,`toolbar-mode-shortcut`);return}if(t===`2`&&n&&!n.disabled?.()&&!n.active?.()){e.preventDefault(),e.stopImmediatePropagation(),F(n,`toolbar-mode-shortcut`);return}}let r=we(e);if(r&&r!==`settings`&&E()){e.preventDefault(),e.stopImmediatePropagation(),Ce(r).catch(()=>void 0);return}if(r&&D(r)){e.preventDefault(),e.stopImmediatePropagation();return}let i=r?w(r):void 0;if(r&&i){e.preventDefault(),e.stopImmediatePropagation(),F(i,{source:`builtin-shortcut`,builtin:r});return}if((t===`h`||t===`v`)&&D(`guides`)){e.preventDefault(),e.stopImmediatePropagation();return}if((t===`h`||t===`v`)&&w(`guides`)){e.preventDefault(),e.stopImmediatePropagation();return}let a=O().find(t=>t.shortcut&&!t.disabled?.()&&_C(e,t.shortcut));if(a){e.preventDefault(),e.stopImmediatePropagation(),F(a);return}if(n&&t===`z`&&(e.shiftKey?I.redo():I.undo())){e.preventDefault(),e.stopImmediatePropagation();return}(n&&t===`,`&&!T(`settings`)||t===`s`&&!T(`select`)||t===`a`&&!T(`text-inspector`)||t===`g`&&!T(`guides`)||(t===`h`||t===`v`)&&!T(`guides`)||t===`p`&&!T(`color-picker`)||t===`x`&&!T(`xray`)||t===`r`&&!T(`rulers`)||e.key===`Alt`&&!T(`distance`))&&(e.preventDefault(),e.stopImmediatePropagation())};return V.addEventListener(`keydown`,Te,!0),()=>{t=!1;for(let e of A)I.cancelLoad(e);A.clear(),de(),V.removeEventListener(`pagehide`,fe),V.removeEventListener(`keydown`,Te,!0),pe(),G.remove(),g=null,_=null,v=()=>void 0,y=async()=>void 0,r&&I.dispose()}}),Y(Fh,{runtime:{plugins:k,generalSections:A,version:()=>i,setEnabled:(e,t)=>v(e,t),update:R,reset:async()=>{await y()}},get children(){return Y(I_,{value:e=>{g=e},get children(){return Y(Vv,nc(e,{get pluginTools(){return O()},onPluginTool:e=>F(e),onPluginToolMenuItem:I,isBuiltinActionDisabled:D,onBuiltinController:e=>{_=e},editSelectionHover:E}))}})}})}var bC=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),xC=(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),SC=(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},CC=(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 wC(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=SC(n.rect,t,r,a,u);for(let t of CC(v,d,l)){let n=u?{left:bC(t.left,s,f),top:bC(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=>!xC(t,e,o))&&c.every(e=>!xC(t,e,i))}),b=y.find(e=>{let t={...e,width:r,height:r};return m.every(e=>!xC(t,e,i))})??y.find(e=>{let t={...e,width:r,height:r};return m.every(e=>!xC(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 TC=(e,t,n)=>Math.min(Math.max(e,t),Math.max(t,n)),EC=0,DC=e=>e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0&&e!==`none`),OC=e=>{let t=e.ownerDocument.defaultView?.HTMLElement;return!!(t&&e instanceof t)},kC=(e,t)=>{let n=e.style.getPropertyValue(`anchor-name`),r=e.style.getPropertyPriority(`anchor-name`),i=DC(n);i.includes(t)||e.style.setProperty(`anchor-name`,[...i,t].join(`, `),r);let a=!1;return()=>{if(a)return;a=!0;let i=DC(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`)}},AC=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}},jC=(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:TC(e.left+e.width-t,8,a),top:TC(e.top,8,o)}},MC=(e,t,n,r,i=8)=>{let a=r.innerWidth-t-8,o=TC(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}:jC(e,t,n,r,i)};function NC(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(!1),[h,g]=K(``),[_,v]=K(!1),[y,b]=K(null),[x,S]=K(!1),[C,w]=K(null),[T,E]=K(null),D=`--mesurer-annotation-trigger-${++EC}`,O=null,k=e.initialTriggerFallback===`current-and-next`,A=null,j=null,M=null,N,P,F=null,I=null,L=!1,R=null,z=null,B=null,V=null,H=null,U=null,W=new Map,ee=()=>N?.ownerDocument.defaultView??window,te=Sl(ee()),ne=`context-annotation-send`,re=()=>e.coordinateSpace===`viewport`,ie=e=>e?`native-anchor`:re()?`cached-delta`:`document`,G=e=>{if(re())return e;let t=ee();return{left:e.left+t.scrollX,top:e.top+t.scrollY}},ae=()=>{let t=e.runtime.currentSelection();return{elements:[...t.elements],region:t.region?{...t.region}:null}},oe=(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,se=()=>{F&&=(ee().document.removeEventListener(`pointerdown`,F,!0),null)},ce=()=>{se(),A=null,g(``),v(!1),m(!1),b(null)},le=()=>{let e=ee();return!!(e.CSS?.supports(`anchor-name: --mesurer-annotation-trigger`)&&e.CSS.supports(`position-anchor: --mesurer-annotation-trigger`)&&e.CSS.supports(`left: anchor(left)`))},ue=()=>{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]},de=()=>N?.parentElement,fe=()=>{let e=de();return e?[...e.querySelectorAll(`[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']`)].filter(e=>e!==P||z===null):[]},pe=e=>{let t=de();return t?[...t.querySelectorAll(`[data-mesurer-annotation-id]`)].filter(t=>t.dataset.mesurerAnnotationId===e):[]},me=e=>{let t=W.get(e);t&&(t.scroll.release(),t.releaseAnchor?.(),W.delete(e))},he=t=>{let n=e.runtime.annotation(t);return!n||n.anchor.kind!==`elements`?null:n.resolvedTargets.find(({element:e})=>e?.isConnected)?.element??null},ge=e=>!!(OC(e)&&re()&&N&&le()&&e.getRootNode()===N.getRootNode()),_e=e=>{let t=he(e),n=W.get(e);if(!t){n&&(me(e),i(e=>e+1));return}let r=ge(t);if(n?.target===t&&!!n.anchorName===r){n.scroll.sync();return}me(e);let a=t.ownerDocument.defaultView;if(a){if(r&&OC(t)){let n=`--mesurer-annotation-${++EC}`;W.set(e,{target:t,anchorName:n,releaseAnchor:kC(t,n),scroll:yf(a,t,()=>pe(e),{trackWindow:!1})})}else W.set(e,{target:t,anchorName:null,releaseAnchor:null,scroll:yf(a,t,()=>pe(e),{trackWindow:re()})});i(e=>e+1)}},ve=()=>{let t=new Set(e.runtime.annotations().map(e=>e.id));for(let e of W.keys())t.has(e)||me(e);for(let e of t)_e(e)},ye=e=>{ee().queueMicrotask(()=>_e(e))},be=()=>{ee().queueMicrotask(()=>{ve();for(let e of W.values())e.anchorName||e.scroll.rebase()})};e.initialTriggerFallback&&(O=ue());let xe=()=>{V?.release(),V=null,B?.(),B=null,R=null,z=null},Se=e=>!!(OC(e)&&re()&&N&&e!==O&&le()&&e.getRootNode()===N.getRootNode()),Ce=()=>{let e=ue();O&&e!==O&&(O=null);let t=R,n=!!(e?.isConnected&&Se(e)),r=z===e;if(e===R&&e?.isConnected&&n===r){V?.sync();return}let i=e===t?D:`--mesurer-annotation-trigger-${++EC}`;if(xe(),!e?.isConnected)return;R=e;let a=e.ownerDocument.defaultView;if(a){if(n&&OC(e)){B=kC(e,i),z=e,D=i,V=yf(a,e,fe,{trackWindow:!1});return}D=i,V=yf(a,e,fe,{trackWindow:re()})}},we=e=>{if(H?.disconnect(),H=null,!e?.isConnected)return;let t=e.ownerDocument.defaultView;t&&(H=new t.ResizeObserver(()=>{i(e=>e+1)}),H.observe(e))},Te=()=>{let e=ee();U!==e&&(U?.removeEventListener(`resize`,Ee),U=e,U.addEventListener(`resize`,Ee,{passive:!0}))};function Ee(){i(e=>e+1)}let De=()=>{let t=e.rendererRoot;return t?[...t.querySelectorAll(`[data-mesurer-motion-surface='true']`)].flatMap(e=>{if(!e.isConnected)return[];let t=e.getBoundingClientRect();return t.width<=0||t.height<=0?[]:[{left:t.left,top:t.top,width:t.width,height:t.height}]}):[]},Oe=e.rendererRoot,ke=Oe?.ownerDocument.defaultView,Ae=ke?.MutationObserver,je=ke?.Element,Me=`[data-mesurer-motion-surface='true']`,Ne=Ae&&je?new Ae(e=>{let t=e=>e instanceof je&&(e.matches(Me)||!!e.querySelector(Me));e.some(e=>e.type===`attributes`?e.target instanceof je&&e.target.matches(Me):e.target instanceof je&&e.target.closest(Me)?!0:[...e.addedNodes,...e.removedNodes].some(t))&&Ee()}):null;Oe&&Ne&&Ne.observe(Oe,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`style`,`hidden`]});let Pe=ue();we(Pe);let Fe=e.runtime.subscribe(()=>{let t=e.runtime.selectGestureActive();p()&&t?(k=!0,ce()):p()&&A!==null&&!oe(A,ae())&&(O=ue(),k=!1,ce());let r=ue(),i=r!==Pe;i&&(Pe=r,we(Pe),k&&(k=!1,O=r)),Ce(),i&&Ee(),n(e=>e+1),be()});Ce(),ee().queueMicrotask(ve),En(()=>{H?.disconnect(),H=null,se(),U?.removeEventListener(`resize`,Ee),U=null,Ne?.disconnect(),xe();for(let e of W.keys())me(e);Fe()});let Ie=co(()=>(t(),e.runtime.currentSelection())),Le=co(()=>(t(),e.runtime.annotations())),Re=co(()=>{let e=a();return e?Le().find(t=>t.id===e)??null:null}),ze=co(()=>s()??l()??a()),Be=e=>Le().findIndex(t=>t.id===e)+1,Ve=co(()=>{t(),r();let n=ze();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=dp(e);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}]:[]}),He=()=>Ie().elements.length>0||Ie().region!==null,Ue=()=>{t();let e=A;return e!==null&&oe(e,ae())},We=co(()=>{let e=Ie(),t=e.elements.filter(e=>e.isConnected).map(e=>{let t=dp(e);return{left:t.left,top:t.top,width:t.width,height:t.height}});return e.region&&t.push({...e.region}),t}),Ge=co(()=>AC(We())),Ke=e=>e.anchor.kind===`elements`?`${e.anchor.targets.length} selected ${e.anchor.targets.length===1?`element`:`elements`}`:`Selected region`,qe=co(()=>{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]}),Je=()=>{r();let e=qe();if(!e?.isConnected)return null;let t=dp(e),n={left:t.left,top:t.top,width:t.width,height:t.height},i=ee(),a=[...$t(Ye).values()].map(e=>({left:e.left,top:e.top,width:24,height:24})),[o]=wC([{id:`selection-note-trigger`,rect:n}],{width:i.innerWidth,height:i.innerHeight},{obstacles:[...a,...De()],maxShiftRings:Math.ceil(Math.max(i.innerWidth,i.innerHeight)/28),viewportAware:!0}),s=o?.left??TC(n.left+n.width+6,4,i.innerWidth-24-4),c=o?.top??TC(n.top,4,i.innerHeight-24-4),l=z===e,u=re()&&!l;return{left:l||u?s:s+i.scrollX,top:l||u?c:c+i.scrollY,anchorX:s-n.left,anchorY:c-n.top,nativeAnchor:l,viewportOwned:u}},Ye=co(()=>{t(),r();let n=ee(),i=Le().flatMap(t=>{let n=e.runtime.annotationRect(t.id);return n?[{id:t.id,rect:n}]:[]});return new Map(wC(i,{width:n.innerWidth,height:n.innerHeight},{obstacles:We()}).map(e=>[e.id,e]))}),Xe=e=>Ye().get(e)??null,Ze=(e,t)=>{r();let n=W.get(e);if(!n?.anchorName||!n.target.isConnected)return{...G(t),nativeAnchor:!1};let i=dp(n.target);return{...t,nativeAnchor:!0,anchorName:n.anchorName,anchorX:t.left-i.left,anchorY:t.top-i.top}},Qe=()=>{let e=Ge(),t=ee();return e?MC(e,256,160,t):{left:8,top:8}},$e=()=>{r();let e=Qe(),t=qe();if(!t?.isConnected||z!==t)return{...G(e),nativeAnchor:!1};let n=dp(t);return{...e,nativeAnchor:!0,anchorName:D,anchorX:e.left-n.left,anchorY:e.top-n.top}},et=(e,t)=>{let n=ee(),r=Ye(),i=r.get(e);if(!i)return jC(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:TC(e.left,8,a),top:TC(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??jC(t,272,176,n)},tt=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}:et(t,n)},nt=t=>{ee().queueMicrotask(()=>{let n=e.runtime.annotationRect(t);n&&f(e=>{if(e[t])return e;let r=et(t,n);return{...e,[t]:{left:r.left-n.left,top:r.top-n.top}}})})},rt=e=>Ze(e,tt(e)),it=e=>{k=!1,A=null,m(!1),_e(e),nt(e),o(e),w(null),ye(e)},at=e=>{e.stopPropagation();let t=e.currentTarget.ownerDocument.defaultView?.HTMLButtonElement,n=e.composedPath().find(e=>t&&e instanceof t);!t||!(n instanceof t)||!e.currentTarget.contains(n)||hu(n,e.pointerId)},ot=(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=ee(),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:TC(r.originLeft+t.clientX-r.startX,8,i),top:TC(r.originTop+t.clientY-r.startY,8,a)},c=e.runtime.annotationRect(n);c&&f(e=>({...e,[n]:{left:o.left-c.left,top:o.top-c.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)}};En(()=>{M?.(),M=null,j=null});let st=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)}}},ct=ce,lt=()=>{He()&&(k=!1,A=ae(),g(``),v(!1),b(null),w(null),o(null),m(!0),F=e=>{let t=de()?.querySelector(`[data-mesurer-annotation-composer='true']`),n=ee().Node;if(!(t&&n&&e.target instanceof n&&t.contains(e.target))){if(h().trim()&&!y()){b(`Press Enter or Send to save, or Escape to discard.`);return}ut()}},ee().document.addEventListener(`pointerdown`,F,!0),ee().queueMicrotask(()=>V?.sync()))},ut=()=>{let e=p();A!==null&&!oe(A,ae())?(O=ue(),k=!1,Ce(),Ee()):e&&(k=!1),ct()},dt=()=>{p()&&(k=!0,ct())},ft=()=>{if(!(!h().trim()||x()))try{let t=e.runtime.addSelectionAnnotation(h());k=!1,A=null,g(``),v(!1),b(null),m(!1),se(),_e(t.id),nt(t.id),o(t.id),w(null),ye(t.id)}catch(e){b(e instanceof Error?e.message:String(e))}},pt={openNoteComposer:lt,closeNoteComposer:ut,abandonNoteComposer:dt};return e.onController?.(pt),En(()=>e.onController?.(null)),[(()=>{var e=X(`span`,{"aria-hidden":`true`,style:{display:`none`}});return ic(()=>e=>{N=e,Te(),Ce()},e),e})(),Y(q,{get when(){return $s(()=>Ie().elements.length>0)()&&!p()},get children(){return Y(q,{get when(){return qe()},keyed:!0,children:e=>Y(q,{get when(){return Je()},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(),I=e.pointerId,L=!1,hu(e.currentTarget,e.pointerId)},onPointerMove:e=>{if(I!==e.pointerId)return;let t=e.currentTarget.getBoundingClientRect();L=e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom},onPointerUp:e=>{if(e.stopPropagation(),I===e.pointerId){let t=e.currentTarget.getBoundingClientRect();L=e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),I=null}},onPointerCancel:e=>{e.stopPropagation(),L=!0,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId),I===e.pointerId&&(I=null)},onClick:e=>{if(e.stopPropagation(),L){L=!1;return}lt()}});return ic(()=>e=>{P=e,V?.sync()},t),Q(t,Y(ag,{size:14})),J(()=>({e:re()?`viewport`:`document`,t:ie(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 $s(()=>!!(p()&&Ue()))()?Ge():p()&&Ue()},get children(){return Y(q,{get when(){return $e()},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-64 msr:max-w-[calc(100vw-16px)] msr:rounded-lg msr:border msr:border-ink-200 msr:bg-white msr:p-2 msr:text-black`,onPointerDown:at,onClick:e=>e.stopPropagation()}),n=X(`div`,{class:`msr:relative`}),r=X(`textarea`,{autofocus:!0,rows:1,"aria-label":`Note`,placeholder:`Add a note`,onInput:e=>{let t=e.currentTarget;g(t.value),b(null),t.style.height=`auto`,t.style.paddingRight=`36px`,t.style.paddingBottom=`6px`;let n=t.scrollHeight>34;t.style.paddingRight=n?`8px`:`36px`,t.style.paddingBottom=n?`32px`:`6px`,v(n),t.style.height=`${Math.min(128,Math.max(34,t.scrollHeight))}px`,t.style.overflowY=t.scrollHeight>128?`auto`:`hidden`},onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`&&!e.shiftKey&&!e.isComposing){e.preventDefault(),ft();return}e.key===`Escape`&&(e.preventDefault(),ut())},class:`msr:block msr:box-border msr:min-h-[34px] msr:max-h-32 msr:w-full msr:resize-none msr:rounded-[7px] msr:border msr:border-ink-200 msr:px-2 msr:py-1.5 msr:text-[12px] msr:leading-5 msr:outline-none msr:placeholder:text-ink-400 msr:focus:border-[#0d99ff]`,style:{height:`34px`,"padding-right":`36px`,"padding-bottom":`6px`,"overflow-y":`hidden`,"overflow-wrap":`anywhere`,"word-break":`break-word`,background:`var(--msr-surface)`,color:`var(--msr-content)`}}),i=X(`button`,{type:`button`,"aria-label":`Add note`,title:`Add note · Enter`,"data-mesurer-annotation-send":`true`,onPointerDown:e=>e.stopPropagation(),onMouseEnter:()=>h().trim()&&te.onTooltipEnter(ne),onMouseLeave:()=>te.onTooltipLeave(),onFocus:()=>h().trim()&&te.onTooltipEnter(ne),onBlur:()=>te.onTooltipLeave(),onClick:ft});return Z(t,n),Z(n,r),Z(n,i),ic(()=>e=>ee().queueMicrotask(()=>e.focus()),r),Q(i,Y(og,{size:16,class:`mesurer-send-icon`}),null),Q(i,Y(xl,{label:`Add note`,shortcut:`Enter`,get visible(){return te.visibleTooltipId()===ne},get instant(){return te.tooltipInstant()},class:`msr:z-10`}),null),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})()}),null),J(()=>({e:re()?`viewport`:`document`,t:ie(e().nativeAnchor),a:{position:e().nativeAnchor||re()?`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:h(),i:!h().trim()||x(),n:`msr:absolute msr:right-1.5 msr:outline-none msr:disabled:cursor-default ${_()?`msr:bottom-1.5`:`msr:top-1/2 msr:-translate-y-1/2`}`}),({e,t:n,a,o,i:s,n:c},l)=>{e!==l?.e&&$(t,`data-mesurer-context-coordinate-space`,e,l?.e),n!==l?.t&&$(t,`data-mesurer-annotation-scroll-mode`,n,l?.t),a!==l?.a&&$(t,`style`,a,l?.a),o!==l?.o&&$(r,`value`,o,l?.o),s!==l?.i&&$(i,`disabled`,s,l?.i),c!==l?.n&&$(i,`class`,c,l?.n)}),t})()})}}),Y(go,{get each(){return Ve()},children:e=>{let t=()=>ze(),n=()=>{let n=t();return n?Ze(n,{left:e.left,top:e.top}):{...G({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:ie(n().nativeAnchor),a:{position:n().nativeAnchor||re()?`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(go,{get each(){return Le()},children:(e,t)=>{let n=()=>Xe(e.id),r=()=>{let t=n();return t?Ze(e.id,t):null},i=()=>ze()===e.id,o=()=>ze()!==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),ye(e.id)},onPointerLeave:()=>c(t=>t===e.id?null:t),onFocus:()=>{u(e.id),ye(e.id)},onBlur:()=>u(t=>t===e.id?null:t),onPointerDown:t=>{t.preventDefault(),t.stopPropagation(),it(e.id)},onPointerUp:e=>e.stopPropagation(),onClick:t=>{t.preventDefault(),t.stopPropagation(),it(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:ie(n().nativeAnchor),n:re()?`viewport`:`document`,s:`Mesurer annotation ${t()+1}: ${e.note}`,h:e.note,r:a()===e.id?`true`:`false`,d:{position:n().nativeAnchor||re()?`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 Re()},children:t=>{let n=()=>rt(t().id),r=()=>Be(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:at,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=>ot(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=ec(`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 st(()=>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}),me(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,()=>Ke(t())),Z(h,g),Z(h,_),Z(h,v),Q(g,Y(ig,{size:14})),Q(_,Y(sg,{size:14})),Q(v,Y(cg,{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:ie(n().nativeAnchor),a:re()?`viewport`:`document`,o:{position:n().nativeAnchor||re()?`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 PC(e){let t=null;return En(P_(e.ownerWindow,()=>{t?.abandonNoteComposer()})),Y(NC,{get runtime(){return e.runtime},get onCopy(){return e.onCopy},get initialTriggerFallback(){return e.initialTriggerFallback},get coordinateSpace(){return e.coordinateSpace},get rendererRoot(){return e.rendererRoot},onController:n=>{t=n,e.onController?.(n)}})}var FC=`2147482950`,IC=`2147483646`,LC=`2147483647`;function RC(e){let{ownerDocument:t,ownerWindow:n,pageTarget:r}=e,i=t.body;if(!(i&&!(r instanceof n.ShadowRoot)&&r.getRootNode()===t))return e.createInspectorMount();ku(Au,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=`
2254
2295
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
2255
2296
  position: absolute !important;
2256
- z-index: ${PC} !important;
2297
+ z-index: ${FC} !important;
2257
2298
  }
2258
2299
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
2259
2300
  position: absolute !important;
2260
- z-index: ${FC} !important;
2301
+ z-index: ${IC} !important;
2261
2302
  }
2262
2303
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
2263
2304
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
2264
2305
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
2265
2306
  position: absolute !important;
2266
- z-index: ${IC} !important;
2307
+ z-index: ${LC} !important;
2267
2308
  }
2268
- `,t.head.append(s),i.append(a);let c=!1;return{element:a,dispose(){c||(c=!0,o(),s.remove(),a.remove())}}}var RC=e=>`color-mix(in srgb, ${e.color} ${e.opacity*100}%, transparent)`,zC=e=>e===`max`?`end`:e===`center`?`center`:`start`,BC=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=zC(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 VC(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(go,{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(go,{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":RC(e)}),(e,n)=>{$(t,`style`,e,n)}),t})()})),J(()=>({e:e.id,t:e.kind,a:BC(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, ${RC(e)} 1px, transparent 1px), linear-gradient(to bottom, ${RC(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 HC=`#FF0000`,UC=.1,WC=new Set([`columns`,`rows`,`grid`]),GC=new Set([`stretch`,`min`,`center`,`max`]),KC=(e,t,n)=>Math.min(n,Math.max(t,e)),qC=(e,t)=>e!==void 0&&Number.isFinite(e)?e:t,JC=(e={})=>{let t=e.kind&&WC.has(e.kind)?e.kind:`columns`,n=e.align&&GC.has(e.align)?e.align:t===`grid`?`min`:`stretch`,r=e.id?.trim(),i=e.color?.trim();return{id:r||Fl(),kind:t,visible:e.visible??!0,color:i||`#FF0000`,opacity:KC(qC(e.opacity,UC),0,1),count:KC(Math.round(qC(e.count,5)),1,24),size:KC(qC(e.size,72),1,4096),gutter:KC(qC(e.gutter,20),0,800),offset:KC(qC(e.offset,0),0,4096),align:n}},YC=e=>(e??[]).map(JC),XC=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)`},ZC=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})(),QC=e=>e.kind===`rows`?Y($h,{size:14}):e.kind===`grid`?Y(Zh,{size:14}):Y(Qh,{size:14}),$C=`msr:grid-cols-[78px_minmax(0,1fr)]`,ew=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})(),tw=e=>(()=>{var t=X(`span`,{class:`msr:relative msr:block msr:w-full`}),n=X(`select`,{class:hh,onPointerDown:e=>e.stopPropagation(),onChange:t=>e.onChange(t.currentTarget.value)});return Z(t,n),Q(n,()=>e.children),Q(t,Y(gh,{}),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})(),nw=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(_h,{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}})},rw=e=>e===`rows`||e===`grid`?e:`columns`,iw=e=>e===`min`||e===`center`||e===`max`?e:`stretch`,aw=e=>{let t=co(()=>e.guide.kind===`rows`?{stretch:`Stretch`,min:`Top`,center:`Center`,max:`Bottom`}:{stretch:`Stretch`,min:`Left`,center:`Center`,max:`Right`}),n=co(()=>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(tw,{label:`Layout guide type`,get value(){return e.guide.kind},onChange:t=>{let n=rw(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,ec(`Columns`)),e})(),(()=>{var e=X(`option`,{value:`rows`});return Z(e,ec(`Rows`)),e})(),(()=>{var e=X(`option`,{value:`grid`});return Z(e,ec(`Grid`)),e})()]}}),a),Q(a,Y(ZC,{})),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(ew,{label:`Count`,get children(){return Y(nw,{label:`Count`,get value(){return e.guide.count},min:1,max:24,onChange:t=>e.onUpdate({count:t})})}})}}),null),Q(r,Y(vh,{label:`Color`,columns:$C,get value(){return Nc({...jc(e.guide.color)??jc(`#FF0000`),alpha:e.guide.opacity})},fallback:HC,get ownerWindow(){return e.ownerWindow},onChange:t=>{let n=jc(t);e.onUpdate({color:n?Nc({...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(ew,{label:`Type`,get children(){return Y(tw,{label:`Alignment`,get value(){return e.guide.align},onChange:t=>e.onUpdate({align:iw(t)}),get children(){return Y(go,{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(ew,{get label(){return n()},get children(){return Y(nw,{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(ew,{label:`Offset`,get children(){return Y(nw,{label:`Offset`,get value(){return e.guide.offset},min:0,max:4096,onChange:t=>e.onUpdate({offset:t})})}}),Y(ew,{label:`Gutter`,get children(){return Y(nw,{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 ow(e){let[t,n]=K(null),r=co(()=>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,ec(`Layout guides`)),Q(a,Y(eg,{})),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,ec(`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(go,{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(QC,{get kind(){return t.kind}})),Q(o,()=>XC(t)),Q(i,Y(Wh,{size:8,class:`msr:block msr:-rotate-90 msr:text-ink-400`}),null),Q(s,(()=>{var e=$s(()=>!!t.visible);return()=>e()?Y(tg,{}):Y(ng,{})})()),Q(c,Y(Kh,{size:10,class:`msr:block`})),J(()=>({e:t.visible?`Hide ${XC(t)}`:`Show ${XC(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 ${XC(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(aw,{get guide(){return t()},get ownerWindow(){return e.ownerWindow},onBack:()=>n(null),onUpdate:n=>e.onUpdate(t().id,n)})})),i}var sw=`mesurer.layout-guides`,cw=`layout-guides:v1`,lw=`mesurer.layout-guides.pages`,uw=`mesurer.layout-guides.active`,dw=`runtime:solid`,fw=`layout-guides.toggle`,pw=`layout-guides.add`,mw=`layout-guides.update`,hw=`layout-guides.remove`,gw=`layout-guides.clear`,_w=240,vw=8,yw=8,bw=()=>({pages:{}}),xw=(e,t)=>e.pages[t]??[],Sw=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Cw=e=>typeof e==`string`,ww=e=>typeof e==`boolean`,Tw=e=>typeof e==`number`,Ew=e=>e===`columns`||e===`rows`||e===`grid`,Dw=e=>e===`stretch`||e===`min`||e===`center`||e===`max`,Ow=e=>({...e}),kw=e=>e.map(Ow),Aw=e=>Sw(e)?e:null,jw=e=>{if(!e)return{};let t={};return Cw(e.id)&&(t.id=e.id),Ew(e.kind)&&(t.kind=e.kind),ww(e.visible)&&(t.visible=e.visible),Cw(e.color)&&(t.color=e.color),Tw(e.opacity)&&(t.opacity=e.opacity),Tw(e.count)&&(t.count=e.count),Tw(e.size)&&(t.size=e.size),Tw(e.gutter)&&(t.gutter=e.gutter),Tw(e.offset)&&(t.offset=e.offset),Dw(e.align)&&(t.align=e.align),t},Mw=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},Nw={viewBox:`0 0 256 256`,paths:[`M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z`,`M101 56h8v144h-8zM147 56h8v144h-8z`]},Pw=()=>wc({id:sw,version:`0.1.0`,requires:[dw],provides:[cw,`tool:layout-guides`],setup(e){let t=e.service.get(dw);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:lw,initial:bw(),history:!0,persist:!0}),e.state.register({id:uw,initial:!1});let r=Mu(t.ownerWindow),i=!1,[a,o]=K(0),s=new Set,c=0,l=()=>e.state.get(`mesurer.layout-guides.pages`)??bw(),u=()=>e.state.get(`mesurer.layout-guides.active`)??!1,d=()=>YC(xw(l(),r)),f=()=>(a(),u()?d():[]),p=t=>{e.state.update(uw,()=>t)},m=t=>{e.state.update(lw,e=>({...e,pages:{...e.pages,[r]:kw(t(YC(e.pages[r])))}}))};e.command.register(fw,()=>{let e=!u();return e&&d().length===0&&m(()=>[JC()]),i=e,p(e),u()}),e.command.register(pw,e=>{let t=JC(jw(Aw(e)));return m(e=>[...e,t]),{...t}}),e.command.register(mw,e=>{let t=Aw(e),n=t&&Cw(t.id)?t.id:null,r=jw(Aw(t?.patch));if(!n)throw Error(`layout-guides.update requires a guide id.`);m(e=>e.map(e=>e.id===n?JC({...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(hw,e=>{let t=Aw(e),n=t&&Cw(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(gw,()=>{m(()=>[])});let h=async(t,n)=>{let r=Aw(await e.command.execute(t,n));if(!r)throw Error(`${t} did not return a layout guide.`);return JC(jw(r))},g={list:()=>d().map(e=>({...e})),add:(e={})=>h(pw,Mw(e)),update:(e,t)=>h(mw,{id:e,patch:Mw(t)}),async remove(t){return await e.command.execute(hw,{id:t})===!0},async clear(){await e.command.execute(gw)},subscribe(e){s.add(e);let t=!1;return()=>{t||(t=!0,s.delete(e))}}};e.service.provide(cw,g),e.tool.register({id:`layout-guides`,label:`Layout guides`,shortcut:`L`,command:fw,order:38,toolbarMode:`always`,compactPinned:!0,icon:Nw,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=Qs(()=>Y(VC,{get guides(){return f()}}),_),y=t.createInspectorMount();y.element.dataset.mesurerLayoutGuidesPanelRoot=`true`,Object.assign(y.element.style,{position:`fixed`,left:`0`,top:`0`,width:`${_w}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(yw,n.right-_w),Math.max(yw,t.ownerWindow.innerWidth-_w-yw)),a=t.ownerWindow.innerHeight-n.bottom-vw-yw,o=Math.min(320,t.ownerWindow.innerHeight-16),s=a>=Math.min(o,320)?n.bottom+vw:Math.max(yw,n.top-vw-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=Qs(()=>Y(ow,{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=Iu(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()})}}),Fw=`mesurer:recording-bridge-ping`,Iw=`mesurer:recording-bridge-request`,Lw=`mesurer:recording-bridge-response`,Rw=`position:fixed;left:0;top:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none`,zw=.01,Bw=e=>({width:e.innerWidth,height:e.innerHeight}),Vw=(e,t,n,r)=>{let i=Math.max(1,r.width),a=Math.max(1,r.height),o=t/i,s=n/a,c=Math.abs(o-s)<=zw*Math.max(o,s),l=c?o:Math.min(o,s),u=c?0:(t-i*l)/2,d=c?0:(n-a*l)/2,f=c?o:l,p=c?s:l,m=u+e.left*f,h=d+e.top*p,g=u+(e.left+e.width)*f,_=d+(e.top+e.height)*p,v=Math.max(g-m,1e-6),y=Math.max(_-h,1e-6),b=Math.max(0,Math.min(t,m)),x=Math.max(0,Math.min(n,h)),S=Math.max(0,Math.min(t,g)),C=Math.max(0,Math.min(n,_)),w=Math.max(0,Math.round(b)),T=Math.max(0,Math.round(x)),E=Math.min(t,Math.round(S)),D=Math.min(n,Math.round(C));return{sx:w,sy:T,sw:Math.max(1,E-w),sh:Math.max(1,D-T),dx:(b-m)/v,dy:(x-h)/y,dw:Math.max(0,S-b)/v,dh:Math.max(0,C-x)/y}},Hw=(e,t)=>{let n=e.createElement(`div`);return n.dataset.mesurerRecordingCrop=`true`,n.setAttribute(`aria-hidden`,`true`),n.style.position=`fixed`,n.style.left=`${t.left}px`,n.style.top=`${t.top}px`,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`,n.style.margin=`0`,n.style.padding=`0`,n.style.border=`0`,n.style.background=`transparent`,n.style.opacity=`0`,n.style.pointerEvents=`none`,e.body.append(n),n},Uw=async(e,t)=>{let n=e.cropTo,r=globalThis.CropTarget;if(!n||!r)return!1;let i=await r.fromElement(t);return await n.call(e,i),!0},Ww=(e,t)=>new Promise(n=>{let r=!1,i=()=>{r||(r=!0,t.clearTimeout(a),n())},a=t.setTimeout(i,250),o=e;if(o.requestVideoFrameCallback){o.requestVideoFrameCallback(i);return}t.requestAnimationFrame(i)}),Gw=e=>e.location.origin===`null`?`*`:e.location.origin,Kw=(e,t,n=``)=>`${e}:${t}:${n}`,qw=(e,t,n)=>{let r=`${t}:${n}:`;return e.startsWith(r)?e.slice(r.length):null},Jw=e=>e.crypto?.randomUUID?.()??`mesurer-recording-${Date.now()}-${Math.random().toString(36).slice(2)}`,Yw=e=>new Promise(t=>{let n=Jw(e),r=e.location.origin,i=o=>{o.source===e&&o.origin===r&&qw(String(o.data??``),`mesurer:recording-bridge-pong`,n)!==null&&(e.removeEventListener(`message`,i),e.clearTimeout(a),t(!0))},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(!1)},80);e.addEventListener(`message`,i),e.postMessage(Kw(Fw,n),Gw(e))}),Xw=e=>new Promise(t=>{let n=Jw(e),r=e.location.origin,i=o=>{if(o.source!==e||o.origin!==r)return;let s=qw(String(o.data??``),Lw,n);if(s!==null){if(e.removeEventListener(`message`,i),e.clearTimeout(a),!s.startsWith(`ok:`)){t(null);return}t(s.slice(3)||null)}},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(null)},1500);e.addEventListener(`message`,i),e.postMessage(Kw(Iw,n),Gw(e))}),Zw=e=>e.__MESURER_RECORDING_HOST__?.captureRecordingStream??e.__MESURER_HOST__?.captureRecordingStream,Qw=async(e,t)=>{let n=Zw(e);if(!n)throw Error(`Native recording capture is unavailable.`);let r=(await n())?.streamId?.trim();if(!r)throw Error(`Native recording capture returned no stream id.`);let i={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:r}};return t.getUserMedia({audio:!1,video:i})},$w=async(e,t)=>{if(!e.isSecureContext||!await Yw(e))return null;let n=await Xw(e);if(!n)return null;let r={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:n}};return t.getUserMedia({audio:!1,video:r})},eT=async(e,t)=>{let n=e.getVideoTracks()[0];if(!n?.applyConstraints)return e;try{await n.applyConstraints({frameRate:{ideal:t,max:t}})}catch{}return e},tT=async(e,t)=>{let n=e.navigator.mediaDevices;if(!n)throw Error(`Screen recording is unavailable in this browser.`);if(Zw(e))return eT(await Qw(e,n),t);try{let r=await $w(e,n);if(r)return eT(r,t)}catch{}if(!n.getDisplayMedia)throw Error(`Screen recording is unavailable in this browser.`);let r={ideal:t,max:t},i={audio:!1,video:{displaySurface:`browser`,frameRate:r},preferCurrentTab:!0,selfBrowserSurface:`include`};try{return eT(await n.getDisplayMedia(i),t)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw e;return eT(await n.getDisplayMedia({audio:!1,video:{frameRate:r}}),t)}},nT=async(e,t,n,r=60)=>{let i=await tT(t,r),a=i.getVideoTracks()[0];if(!a)throw i.getTracks().forEach(e=>e.stop()),Error(`No video track was selected.`);if(a.getSettings().displaySurface&&a.getSettings().displaySurface!==`browser`)throw i.getTracks().forEach(e=>e.stop()),Error(`Select the current browser tab to record this region.`);let o=e.createElement(`video`);o.autoplay=!0,o.muted=!0,o.playsInline=!0,o.srcObject=i,o.setAttribute(`playsinline`,``),o.setAttribute(`aria-hidden`,`true`),o.style.cssText=Rw,e.body.append(o);try{await o.play(),(o.videoWidth<=0||o.videoHeight<=0)&&await new Promise((e,t)=>{o.addEventListener(`loadeddata`,()=>e(),{once:!0}),o.addEventListener(`error`,()=>t(Error(`Could not read the selected video track.`)),{once:!0})});let r=Hw(e,n),s=!1;try{s=await Uw(a,r)}catch{s=!1}s||r.remove(),await Ww(o,t);let c=t.devicePixelRatio||1,l=Vw(n,o.videoWidth,o.videoHeight,Bw(t)),u=e.createElement(`canvas`);u.width=s?Math.max(2,Math.round(n.width*c)):l.sw,u.height=s?Math.max(2,Math.round(n.height*c)):l.sh,u.setAttribute(`aria-hidden`,`true`),u.style.cssText=Rw,e.body.append(u);let d=u.getContext(`2d`,{alpha:!1});if(!d)throw u.remove(),Error(`Screen recording requires a 2D canvas.`);let f={stream:i,track:a,source:o,canvas:u,context:d,cropTarget:s?r:null,regionLocked:s};return rT(f,n,Bw(t)),f}catch(e){throw o.pause(),o.srcObject=null,o.remove(),i.getTracks().forEach(e=>e.stop()),e}},rT=(e,t,n)=>{let{source:r,canvas:i,context:a,regionLocked:o}=e;if(r.videoWidth<=0||r.videoHeight<=0)return;if(o){a.drawImage(r,0,0,i.width,i.height);return}let s=Vw(t,r.videoWidth,r.videoHeight,n),c=s.dx<=.001&&s.dy<=.001&&s.dw>=.999&&s.dh>=.999,l=c?0:s.dx*i.width,u=c?0:s.dy*i.height,d=c?i.width:s.dw*i.width,f=c?i.height:s.dh*i.height;c||(a.fillStyle=`#000`,a.fillRect(0,0,i.width,i.height)),!(d<1||f<1||s.dw<=0||s.dh<=0)&&a.drawImage(r,s.sx,s.sy,s.sw,s.sh,l,u,d,f)},iT=e=>{e.source.pause(),e.source.srcObject=null,e.stream.getTracks().forEach(e=>e.stop()),e.cropTarget?.remove(),e.canvas.remove(),e.source.remove()},aT={webm:`video/webm`,mp4:`video/mp4`},oT=[`vp9`,`vp8`],sT=[`avc`],cT=t=>new e.Quality(t),lT=(e,t)=>Number.isFinite(e)&&e>0?e:t,uT=(e,t,n)=>{let r=Math.max(2,Math.round(lT(e,2))),i=Math.max(2,Math.round(lT(t,2)));return n===`mp4`&&(r%2!=0&&(r+=1),i%2!=0&&(i+=1)),{width:r,height:i}},dT=(e,t={})=>{let n=Math.max(.001,lT(e.duration,.001)),r=Math.min(n,Math.max(0,Number.isFinite(t.startTime)?t.startTime??0:0)),i=Number.isFinite(t.endTime)?t.endTime??n:n,a=Math.min(n,Math.max(r+.001,i));return{format:t.format??`webm`,startTime:r,endTime:a,scale:t.scale??1,quality:t.quality??`medium`}},fT=e=>e===`webm`?oT:sT,pT=async(t,n,r,i,a=`medium`)=>{let o=uT(n,r,t),s=cT(a);for(let n of fT(t))if(await(0,e.canEncodeVideo)(n,{width:o.width,height:o.height,frameRate:i,quality:s}))return n;return null},mT=async(e,t,n=30)=>{let r=[];return await pT(`webm`,e,t,n)&&r.push(`webm`),await pT(`mp4`,e,t,n)&&r.push(`mp4`),r},hT=t=>t===`webm`?new e.WebMOutputFormat:new e.Mp4OutputFormat,gT=async(t,n={})=>{let r=n.format??`webm`,i=Math.max(1,Math.min(120,Math.round(n.frameRate??30))),a=n.quality??`medium`,o=t.width,s=t.height,c=await pT(r,o,s,i,a);if(!c)throw Error(`MediaBunny cannot encode ${r.toUpperCase()} at ${o}×${s} in this runtime.`);let l=new e.BufferTarget,u=new e.Output({format:hT(r),target:l}),d=new e.CanvasSource(t,{codec:c,quality:cT(a)});u.addVideoTrack(d,{frameRate:i}),await u.start();let f=!1,p=-1;return{format:r,mimeType:aT[r],codec:c,async addFrame(e,t=1/i){if(f)throw Error(`Recording session is already closed.`);if(!Number.isFinite(e)||e<0)throw TypeError(`Recording frame timestamp must be a non-negative finite number.`);if(!Number.isFinite(t)||t<0)throw TypeError(`Recording frame duration must be a non-negative finite number.`);if(e<=p)throw Error(`Recording frame timestamps must increase monotonically.`);p=e,await d.add(e,t)},finalize:async()=>{if(f)throw Error(`Recording session is already closed.`);if(f=!0,d.close(),await u.finalize(),!l.buffer||l.buffer.byteLength===0)throw Error(`MediaBunny produced an empty recording.`);return new Blob([l.buffer],{type:aT[r]})},async cancel(){if(!f){f=!0,d.close();try{await u.cancel()}catch{}}}}},_T=async t=>{let n=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS});try{if(!await n.canRead())throw Error(`MediaBunny cannot read the recording.`);let e=await n.getPrimaryVideoTrack();if(!e)throw Error(`Recording has no video track.`);let[t,r,i]=await Promise.all([n.computeDuration(),e.getCodedWidth(),e.getCodedHeight()]);return{duration:Math.max(.001,t),width:r,height:i}}finally{n.dispose()}},vT=async(t,n={})=>{let r=await _T(t),i=dT(r,n),a=uT(r.width*i.scale,r.height*i.scale,i.format),o=await pT(i.format,a.width,a.height,30,i.quality);if(!o)throw Error(`MediaBunny cannot export ${i.format.toUpperCase()} in this runtime.`);let s=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS}),c=new e.BufferTarget,l=new e.Output({format:hT(i.format),target:c});try{let t=await e.Conversion.init({input:s,output:l,trim:{start:i.startTime,end:i.endTime},video:{codec:o,width:a.width,height:a.height,fit:`fill`,quality:cT(i.quality),forceTranscode:!0},audio:{discard:!0}});if(!t.isValid)throw Error(`MediaBunny cannot convert this recording to ${i.format.toUpperCase()}.`);if(await t.execute(),!c.buffer||c.buffer.byteLength===0)throw Error(`MediaBunny produced an empty export.`);let n=new Blob([c.buffer],{type:aT[i.format]}),r=await _T(n);return{blob:n,format:i.format,duration:r.duration,width:r.width,height:r.height}}finally{s.dispose()}},yT=(e,t=new Date)=>`mesurer-recording-${t.toISOString().replace(/[:.]/g,`-`)}.${e}`,bT=10,xT=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},ST=(e,t,n)=>{let r=e.createElement(`button`);return r.type=`button`,r.setAttribute(`aria-label`,t),r.title=t,r.textContent=n,xT(r,{display:`inline-flex`,width:`20px`,height:`20px`,padding:`0`,border:`0`,"border-radius":`5px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"align-items":`center`,"justify-content":`center`,"font-family":`inherit`,"font-size":`11px`,"line-height":`1`,cursor:`pointer`}),r},CT=(e,t)=>{let n=e.createElement(`button`);n.type=`button`,n.setAttribute(`role`,`menuitemradio`),xT(n,{display:`grid`,width:`100%`,height:`28px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"grid-template-columns":`14px minmax(0, 1fr)`,gap:`6px`,"align-items":`center`,"text-align":`left`,"font-family":`inherit`,"font-size":`11px`,cursor:`pointer`});let r=e.createElement(`span`);r.setAttribute(`aria-hidden`,`true`),r.textContent=`✓`,r.style.opacity=`0`;let i=e.createElement(`span`);return i.textContent=t,n.append(r,i),{button:n,check:r,text:i}},wT=({ownerDocument:e,root:t})=>{let n=e.createElement(`section`);n.dataset.mesurerRecordingPreview=`true`,n.dataset.mesurerInspectorUi=`true`,n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-label`,`Screen recording editor`),n.tabIndex=0,xT(n,{position:`fixed`,display:`none`,width:`352px`,"max-width":`calc(100vw - 16px)`,padding:`8px`,"z-index":`98`,"box-sizing":`border-box`,overflow:`visible`,"border-radius":`13px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`,"font-size":`11px`,"pointer-events":`auto`,outline:`none`,transform:`translateX(-50%)`,transition:`width 200ms ease`}),t.append(n);let r=e.createElement(`div`);xT(r,{position:`relative`,display:`flex`,width:`100%`,"min-height":`72px`,"max-height":`144px`,overflow:`hidden`,"border-radius":`8px`,background:`var(--msr-surface-muted, #f8fafc)`,"align-items":`center`,"justify-content":`center`,transition:`max-height 200ms ease`,cursor:`default`}),n.append(r);let i=e.createElement(`video`);i.muted=!0,i.playsInline=!0,i.preload=`auto`,xT(i,{display:`block`,width:`100%`,height:`100%`,"max-width":`100%`,"max-height":`144px`,"object-fit":`contain`,transition:`max-height 200ms ease`}),r.append(i);let a=e.createElement(`div`);a.dataset.mesurerRecordingExporting=`true`,a.textContent=`Exporting…`,xT(a,{position:`absolute`,inset:`0`,display:`none`,"align-items":`center`,"justify-content":`center`,"z-index":`30`,background:`rgb(15 23 42 / 45%)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(a);let o=ST(e,`Close`,`×`);o.dataset.mesurerRecordingDiscard=`true`,xT(o,{position:`absolute`,top:`6px`,right:`6px`,width:`24px`,height:`24px`,"z-index":`40`,background:`rgb(15 23 42 / 78%)`,color:`#fff`,opacity:`0`,"pointer-events":`none`,transition:`opacity 150ms ease`}),r.append(o),r.addEventListener(`mouseenter`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),r.addEventListener(`mouseleave`,()=>{e.activeElement!==o&&(o.style.opacity=`0`,o.style.pointerEvents=`none`)}),o.addEventListener(`focus`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),o.addEventListener(`blur`,()=>{o.style.opacity=`0`,o.style.pointerEvents=`none`});let s=e.createElement(`div`);xT(s,{display:`flex`,height:`28px`,"align-items":`center`,gap:`8px`,"margin-top":`8px`}),n.append(s);let c=ST(e,`Play`,`▶`);c.dataset.mesurerRecordingPlay=`true`,s.append(c);let l=e.createElement(`span`);l.dataset.mesurerRecordingCurrentTime=`true`,l.textContent=`0:00.00`,xT(l,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(l);let u=e.createElement(`div`);u.dataset.mesurerRecordingTimeline=`true`,xT(u,{position:`relative`,height:`28px`,"min-width":`0`,flex:`1 1 0`,cursor:`pointer`,"user-select":`none`}),s.append(u);let d=e.createElement(`div`);d.dataset.mesurerRecordingTimelineTrack=`true`,xT(d,{position:`absolute`,left:`${bT}px`,right:`${bT}px`,top:`0`,bottom:`0`}),u.append(d);let f=e.createElement(`div`);f.dataset.mesurerRecordingTimelineRail=`true`,xT(f,{position:`absolute`,left:`0`,right:`0`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-200, #e2e8f0)`,"pointer-events":`none`}),d.append(f);let p=e.createElement(`div`);p.dataset.mesurerRecordingTimelineClip=`true`,xT(p,{position:`absolute`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-300, #cbd5e1)`,"pointer-events":`none`}),d.append(p);let m=e.createElement(`div`);xT(m,{position:`absolute`,display:`none`,top:`21px`,width:`2px`,height:`10px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-500, #64748b)`,opacity:`0.5`,"pointer-events":`none`}),d.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingPlayhead=`true`,xT(h,{position:`absolute`,top:`21px`,left:`0`,width:`2px`,height:`9px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-content, #18181b)`,"z-index":`25`,"pointer-events":`none`,transition:`height 150ms ease`}),d.append(h);let g=(t,n)=>{let r=e.createElement(`button`);r.type=`button`,r.dataset.mesurerRecordingTrimHandle=t,r.setAttribute(`role`,`slider`),r.setAttribute(`aria-label`,n),r.setAttribute(`aria-valuemin`,`0`),xT(r,{position:`absolute`,top:`0`,display:`flex`,width:`20px`,height:`16px`,padding:`0`,border:`0`,"border-radius":`4px`,background:`transparent`,color:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"z-index":`30`,"align-items":`center`,"justify-content":`center`,cursor:`ew-resize`,"touch-action":`none`});let i=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.dataset.mesurerRecordingTrimChevron=t,i.setAttribute(`aria-hidden`,`true`),i.setAttribute(`viewBox`,`0 0 12 14`),i.setAttribute(`width`,`12`),i.setAttribute(`height`,`14`);let a=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);a.setAttribute(`d`,t===`start`?`M3.5 2.5L8.5 7L3.5 11.5`:`M8.5 2.5L3.5 7L8.5 11.5`),a.setAttribute(`fill`,`none`),a.setAttribute(`stroke`,`currentColor`),a.setAttribute(`stroke-width`,`2`),a.setAttribute(`stroke-linecap`,`round`),a.setAttribute(`stroke-linejoin`,`round`),i.append(a),r.append(i);let o=e.createElement(`span`);return o.setAttribute(`aria-hidden`,`true`),xT(o,{position:`absolute`,left:`50%`,top:`15px`,width:`1px`,height:`4px`,background:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"pointer-events":`none`}),r.append(o),d.append(r),r},_=g(`start`,`Trim start`),v=g(`end`,`Trim end`),y=e.createElement(`span`);y.dataset.mesurerRecordingDuration=`true`,xT(y,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"justify-content":`flex-end`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(y);let b=e.createElement(`div`);xT(b,{position:`relative`,display:`flex`,height:`20px`,"align-items":`center`}),s.append(b);let x=ST(e,`Export options`,`1×`);x.dataset.mesurerRecordingExportOptions=`true`,x.setAttribute(`aria-haspopup`,`menu`),x.setAttribute(`aria-expanded`,`false`),xT(x,{width:`28px`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`}),b.append(x);let S=e.createElement(`div`);S.dataset.mesurerRecordingExportMenu=`true`,S.setAttribute(`role`,`menu`),xT(S,{position:`absolute`,display:`none`,right:`0`,bottom:`24px`,width:`176px`,padding:`4px`,"z-index":`120`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"pointer-events":`auto`}),b.append(S);let C=e.createElement(`p`);C.textContent=`Format`,xT(C,{margin:`0`,padding:`4px 8px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(C);let w=e.createElement(`div`);S.append(w);let T=e.createElement(`p`);T.textContent=`Size`,xT(T,{margin:`0`,padding:`6px 8px 4px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(T);let E=e.createElement(`div`);S.append(E);let D=[1,2,3].map(t=>{let n=CT(e,`${t}×`);return n.button.dataset.mesurerRecordingScale=String(t),E.append(n.button),{scale:t,...n}}),O=ST(e,`Download`,`↓`);O.dataset.mesurerRecordingExport=`true`,s.append(O);let k=ST(e,`Grow preview`,`↗`);k.dataset.mesurerRecordingExpand=`true`,s.append(k);let A=e.createElement(`p`);return A.dataset.mesurerRecordingPreviewStatus=`true`,A.setAttribute(`role`,`status`),xT(A,{display:`none`,margin:`8px 0 0`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`11px`,"line-height":`16px`}),n.append(A),{panel:n,previewShell:r,video:i,exportingOverlay:a,close:o,play:c,currentTime:l,timeline:u,track:d,clip:p,hoverMarker:m,playhead:h,trimStart:_,trimEnd:v,durationLabel:y,exportAnchor:b,exportOptions:x,exportMenu:S,formatRows:w,scaleRows:D,download:O,expand:k,status:A}},TT=8,ET=8,DT=.05,OT=200,kT=e=>{let t=Number.isFinite(e)?Math.max(0,e):0,n=Math.floor(t/60);return`${n}:${(t-n*60).toFixed(2).padStart(5,`0`)}`},AT=(e,t,n,r)=>{let i=globalThis.URL.createObjectURL(e),a=n.createElement(`a`);a.href=i,a.download=t,a.rel=`noopener`,n.documentElement.append(a),a.click(),a.remove(),r.setTimeout(()=>globalThis.URL.revokeObjectURL(i),1e3)},jT=({ownerDocument:e,ownerWindow:t,root:n,formats:r,onDiscard:i,onExport:a})=>{let{panel:o,previewShell:s,video:c,exportingOverlay:l,close:u,play:d,currentTime:f,timeline:p,track:m,clip:h,hoverMarker:g,playhead:_,trimStart:v,trimEnd:y,durationLabel:b,exportAnchor:x,exportOptions:S,exportMenu:C,formatRows:w,scaleRows:T,download:E,expand:D,status:O}=wT({ownerDocument:e,root:n}),k=null,A=null,j=!1,M=!1,N=0,P=[`webm`],F=`webm`,I=1,L=0,R=0,z=null,B=null,V=null,H=e=>{let t=k?.duration??0;return t<=0?0:Math.min(1,Math.max(0,e/t))},U=()=>({start:L,end:R}),W=e=>{let t=k?.duration??0,n=m.getBoundingClientRect();return t<=0||n.width<=0?0:Math.min(t,Math.max(0,(e-n.left)/n.width*t))},ee=()=>{let e=k?.duration??0,t=Math.min(e,Math.max(0,c.currentTime||0)),n=H(L)*100,r=H(R)*100;v.style.left=`${n}%`,y.style.left=`${r}%`,h.style.left=`${n}%`,h.style.width=`${Math.max(0,r-n)}%`,_.style.left=`${H(t)*100}%`,v.setAttribute(`aria-valuemax`,String(Math.max(0,R-DT))),v.setAttribute(`aria-valuenow`,String(L)),v.setAttribute(`aria-valuetext`,kT(L)),y.setAttribute(`aria-valuemin`,String(Math.min(e,L+DT))),y.setAttribute(`aria-valuemax`,String(e)),y.setAttribute(`aria-valuenow`,String(R)),y.setAttribute(`aria-valuetext`,kT(R)),f.textContent=kT(t),b.textContent=kT(e)},te=(e,t=!0)=>{if(!k)return;let n=Math.min(R,Math.max(L,e));t&&!c.paused&&c.pause(),c.currentTime=n,ee()},ne=(e,t=!1)=>{k&&(L=Math.min(Math.max(0,e),Math.max(0,R-DT)),(t||c.currentTime<L)&&te(L),ee())},re=(e,t=!1)=>{k&&(R=Math.max(Math.min(k.duration,e),Math.min(k.duration,L+DT)),t?te(R):c.currentTime>R&&te(L),ee())},ie=()=>{S.textContent=`${I}×`;for(let e of T){let t=e.scale===I;e.button.setAttribute(`aria-checked`,t?`true`:`false`),e.check.style.opacity=t?`1`:`0`,e.text.textContent=k?`${e.scale}× ${Math.round(k.width*e.scale)} × ${Math.round(k.height*e.scale)}`:`${e.scale}×`}},G=()=>{w.replaceChildren();for(let t of P){let n=CT(e,t===`mp4`?`MP4`:`WebM`),r=t===F;n.button.dataset.mesurerRecordingFormat=t,n.button.setAttribute(`aria-checked`,r?`true`:`false`),n.check.style.opacity=r?`1`:`0`,n.button.addEventListener(`click`,()=>{F=t,G()}),w.append(n.button)}},ae=()=>{if(C.style.display===`none`)return;let e=x.getBoundingClientRect(),n=Math.max(1,C.offsetHeight),r=e.top-TT,i=t.innerHeight-e.bottom-TT;r>=n||r>=i?(C.style.top=`auto`,C.style.bottom=`24px`):(C.style.top=`24px`,C.style.bottom=`auto`)},oe=e=>{C.style.display=e?`block`:`none`,S.setAttribute(`aria-expanded`,e?`true`:`false`),e&&ae()},se=e=>{M=e,l.style.display=e?`flex`:`none`;for(let t of[d,u,v,y,S,E,D,...T.map(e=>e.button)])t.toggleAttribute(`disabled`,e)},ce=()=>n.closest(`[data-mesurer-root='true']`)?.querySelector(`[data-mesurer-tool-id='recording']`)??e.querySelector(`[data-mesurer-tool-id='recording']`),le=()=>{if(o.style.display===`none`)return;let e=Math.min(j?576:352,Math.max(1,t.innerWidth-16)),n=Math.max(180,o.offsetHeight),r=ce()?.getBoundingClientRect(),i=r?r.left+r.width/2:t.innerWidth-TT-e/2,a=TT+e/2,s=Math.max(a,t.innerWidth-TT-e/2),c=Math.min(Math.max(a,i),s),l=r?r.bottom+ET:TT;l+n>t.innerHeight-TT&&(l=r?r.top-n-ET:t.innerHeight-n-TT),o.style.left=`${c}px`,o.style.top=`${Math.max(TT,l)}px`,C.style.display!==`none`&&ae()},ue=()=>{c.pause(),c.removeAttribute(`src`),c.load(),A&&=(globalThis.URL.revokeObjectURL(A),null)},de=()=>{N+=1,V&&=(V.cancel(),null),ue(),k=null,z=null,B=null,oe(!1),o.style.display=`none`,o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),O.style.display=`none`,se(!1)},fe=()=>{if(!k||o.style.display===`none`||V)return;let e=o.getBoundingClientRect(),t=ce()?.getBoundingClientRect(),n=t?t.left+t.width/2:e.left+e.width/2,r=t?t.top+t.height/2:e.top+e.height/2;c.pause(),oe(!1),o.style.pointerEvents=`none`,o.style.left=`${e.left}px`,o.style.top=`${e.top}px`,o.style.transform=`none`,o.style.transformOrigin=`${n-e.left}px ${r-e.top}px`,o.style.willChange=`transform, opacity`;let a=o.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(0.08)`,opacity:0}],{duration:OT,easing:`ease`,fill:`forwards`});V=a,a.finished.catch(()=>void 0).then(()=>{V===a&&(a.cancel(),V=null,o.style.removeProperty(`will-change`),i())})},pe=()=>{if(!(!k||M)){if(!c.paused){c.pause();return}(c.currentTime<L||c.currentTime>=R)&&(c.currentTime=L),c.play()}},me=()=>{z=null,B=null,_.style.height=`8px`},he=e=>{if(!z)return;let t=W(e);z===`start`?ne(t,!0):z===`end`?re(t,!0):te(t)},ge=(e,t)=>{!k||M||t.button!==0||(t.preventDefault(),t.stopPropagation(),z=e,B=t.pointerId,_.style.height=`10px`,he(t.clientX))},_e=e=>{B!==null&&e.pointerId===B&&he(e.clientX)},ve=e=>{B!==null&&e.pointerId===B&&me()};v.addEventListener(`pointerdown`,e=>ge(`start`,e)),y.addEventListener(`pointerdown`,e=>ge(`end`,e)),p.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-trim-handle]`)||ge(`playhead`,e)}),p.addEventListener(`pointermove`,e=>{B===null&&(g.style.display=`block`,g.style.left=`${H(W(e.clientX))*100}%`)}),p.addEventListener(`pointerleave`,()=>{g.style.display=`none`});for(let[e,t]of[[`start`,v],[`end`,y]])t.addEventListener(`keydown`,t=>{if(!k||t.key!==`ArrowLeft`&&t.key!==`ArrowRight`)return;t.preventDefault();let n=t.key===`ArrowLeft`?-1:1,r=(e===`start`?L:R)+n*.05;e===`start`?ne(r,!0):re(r,!0)});t.addEventListener(`pointermove`,_e,!0),t.addEventListener(`pointerup`,ve,!0),t.addEventListener(`pointercancel`,ve,!0),u.addEventListener(`click`,e=>{e.stopPropagation(),fe()}),s.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`button`)||pe()}),d.addEventListener(`click`,pe),c.addEventListener(`play`,()=>{d.textContent=`Ⅱ`,d.setAttribute(`aria-label`,`Pause`),d.title=`Pause`}),c.addEventListener(`pause`,()=>{d.textContent=`▶`,d.setAttribute(`aria-label`,`Play`),d.title=`Play`}),c.addEventListener(`timeupdate`,()=>{k&&(c.currentTime>=R-.01?(c.pause(),c.currentTime=L):c.currentTime<L&&(c.currentTime=L),ee())}),c.addEventListener(`loadedmetadata`,()=>{ee()}),S.addEventListener(`click`,()=>{M||oe(C.style.display===`none`)});for(let e of T)e.button.addEventListener(`click`,()=>{I=e.scale,ie()});let ye=e=>{C.style.display!==`none`&&(e.composedPath().includes(x)||oe(!1))};e.addEventListener(`pointerdown`,ye,!0),D.addEventListener(`click`,()=>{j=!j,o.style.width=`${j?576:352}px`,s.style.maxHeight=j?`448px`:`144px`,c.style.maxHeight=j?`448px`:`144px`,D.textContent=j?`↙`:`↗`,D.setAttribute(`aria-label`,j?`Shrink preview`:`Grow preview`),D.title=j?`Shrink preview`:`Grow preview`,t.requestAnimationFrame(le)}),E.addEventListener(`click`,()=>{if(!k||M||P.length===0)return;let n=++N,{start:r,end:i}=U();se(!0),oe(!1),O.style.display=`none`,a({format:F,startTime:r,endTime:i,scale:I}).then(r=>{n===N&&AT(r.blob,r.filename,e,t)}).catch(e=>{n===N&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not export the recording.`)}).finally(()=>{n===N&&se(!1)})}),o.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(C.style.display!==`none`){e.preventDefault(),oe(!1);return}e.preventDefault(),fe();return}(e.key===` `||e.code===`Space`)&&e.target===o&&(e.preventDefault(),pe())});let be=()=>le();return t.addEventListener(`resize`,be),{show(e){N+=1,V&&=(V.cancel(),null),o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),ue(),k=e,j=!1,I=1,F=`webm`,P=[`webm`],L=0,R=e.duration,z=null,B=null;let n=globalThis.URL.createObjectURL(e.blob);A=n,c.src=n,c.currentTime=0,s.style.aspectRatio=e.width>0&&e.height>0?`${e.width} / ${e.height}`:`16 / 9`,o.style.width=`352px`,s.style.maxHeight=`144px`,c.style.maxHeight=`144px`,D.textContent=`↗`,D.setAttribute(`aria-label`,`Grow preview`),D.title=`Grow preview`,f.textContent=`0:00.00`,b.textContent=kT(e.duration),O.style.display=`none`,O.style.color=`var(--msr-color-ink-500, #64748b)`,oe(!1),G(),ie(),ee(),se(!1),o.style.display=`block`,le(),o.focus({preventScroll:!0});let i=N;r(e).then(e=>{i!==N||!k||(P=e,F=e.includes(F)?F:e[0]??`webm`,G(),E.disabled=e.length===0,e.length===0&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=`No MediaBunny video encoder is available in this runtime.`))}).catch(e=>{i===N&&(P=[],G(),E.disabled=!0,O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not inspect export support.`)}),t.requestAnimationFrame(le)},dismiss:de,dispose(){de(),t.removeEventListener(`resize`,be),t.removeEventListener(`pointermove`,_e,!0),t.removeEventListener(`pointerup`,ve,!0),t.removeEventListener(`pointercancel`,ve,!0),e.removeEventListener(`pointerdown`,ye,!0),o.remove()}}},MT=3e3,NT=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},PT=({ownerDocument:e,ownerWindow:t,root:n,statusRoot:r,rendererRoot:i,isSelecting:a,isRecording:o,onRectChange:s,onConfirm:c,onCancel:l,onStop:u,setRecordingInteractionActive:d})=>{let f=e.createElement(`div`);f.dataset.mesurerRecordingSelect=`true`,f.dataset.mesurerInspectorUi=`true`,f.setAttribute(`role`,`application`),f.setAttribute(`aria-label`,`Recording selection`),NT(f,{position:`fixed`,inset:`0`,display:`none`,"z-index":`86`,cursor:`crosshair`,"pointer-events":`auto`,"user-select":`none`,"touch-action":`none`}),n.append(f);let p=Array.from({length:4},()=>{let t=e.createElement(`div`);return t.dataset.mesurerRecordingShade=`true`,NT(t,{position:`fixed`,background:`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(t),t}),m=e.createElement(`div`);m.dataset.mesurerRecordingMask=`true`,NT(m,{position:`fixed`,display:`none`,background:`transparent`,outline:`2px solid var(--msr-accent, #0d99ff)`,"outline-offset":`-1px`,"box-shadow":`0 0 0 100vmax rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingSelection=`true`,NT(h,{position:`fixed`,display:`none`,border:`1px solid var(--msr-accent, #0d99ff)`,"box-sizing":`border-box`,"pointer-events":`none`}),f.append(h);let g=e.createElement(`div`);NT(g,{position:`fixed`,display:`none`,transform:`translateX(-50%)`,padding:`2px 5px`,"border-radius":`4px`,background:`var(--msr-accent, #0d99ff)`,color:`#fff`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"pointer-events":`none`}),f.append(g);let _=e.createElement(`div`);_.textContent=`Drag a region to record · Esc to cancel`,NT(_,{position:`fixed`,left:`50%`,bottom:`16px`,transform:`translateX(-50%)`,padding:`5px 8px`,"border-radius":`6px`,background:`var(--msr-content, #18181b)`,color:`var(--msr-surface, #fff)`,"font-size":`11px`,"pointer-events":`none`}),f.append(_);let v=e.createElement(`div`);v.dataset.mesurerRecordingRegion=`true`,v.dataset.mesurerInspectorUi=`true`,v.setAttribute(`role`,`dialog`),v.setAttribute(`aria-label`,`Recording region`),NT(v,{position:`fixed`,display:`none`,width:`220px`,padding:`8px`,"z-index":`90`,"box-sizing":`border-box`,overflow:`hidden`,"border-radius":`10px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0,0,0,.12))`,"font-size":`11px`,"pointer-events":`auto`,transform:`translateX(-50%)`}),f.append(v);let y=t=>{let n=e.createElement(`label`);NT(n,{display:`grid`,"grid-template-columns":`44px minmax(0,1fr)`,"align-items":`center`,gap:`8px`});let r=e.createElement(`span`);r.textContent=t,r.style.color=`var(--msr-color-ink-500, #64748b)`,n.append(r);let i=e.createElement(`div`);return NT(i,{display:`flex`,"align-items":`center`,gap:`4px`,"min-width":`0`}),n.append(i),v.append(n),i},b=t=>{let n=e.createElement(`input`);return n.type=`number`,n.setAttribute(`aria-label`,t),n.step=`1`,NT(n,{width:`0`,"min-width":`0`,flex:`1 1 0`,height:`26px`,padding:`0 6px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`6px`,background:`var(--msr-surface, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`}),n},x=y(`Size`),S=b(`Width`),C=b(`Height`);x.append(S);let w=e.createElement(`span`);w.textContent=`×`,w.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(w,C);let T=e.createElement(`span`);T.textContent=`px`,T.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(T);let E=y(`Position`);E.style.marginTop=`8px`;let D=b(`Left`),O=b(`Top`);E.append(D,O);let k=e.createElement(`span`);k.textContent=`px`,k.style.color=`var(--msr-color-ink-500, #64748b)`,E.append(k);let A=e.createElement(`button`);A.type=`button`,A.dataset.mesurerRecordingStart=`true`,A.textContent=`● Start recording`,NT(A,{width:`100%`,height:`28px`,"margin-top":`8px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`7px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),v.append(A);let j=e.createElement(`div`);j.dataset.mesurerRecordingGrid=`true`,NT(j,{position:`absolute`,inset:`0`,display:`none`,"pointer-events":`none`}),h.append(j);let M=t=>{let n=e.createElement(`div`);NT(n,{position:`absolute`,opacity:`0.3`,...t}),j.append(n)};M({left:`33.333%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({left:`66.666%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`33.333%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`66.666%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`});let N=Object.entries({nw:{left:`0`,top:`0`},n:{left:`50%`,top:`0`},ne:{left:`100%`,top:`0`},e:{left:`100%`,top:`50%`},se:{left:`100%`,top:`100%`},s:{left:`50%`,top:`100%`},sw:{left:`0`,top:`100%`},w:{left:`0`,top:`50%`}}).map(([t,n])=>{let r=e.createElement(`button`);return r.type=`button`,r.dataset.mesurerRecordingResize=t,r.setAttribute(`aria-label`,`Resize ${t}`),NT(r,{position:`absolute`,display:`none`,left:n.left,top:n.top,width:`8px`,height:`8px`,padding:`0`,border:`1px solid var(--msr-color-white, #fff)`,"border-radius":`999px`,background:`var(--msr-color-ink-900, #18181b)`,"box-shadow":`0 0 0 1px rgb(0 0 0 / 25%)`,transform:`translate(-50%, -50%)`,cursor:t===`n`||t===`s`?`ns-resize`:t===`e`||t===`w`?`ew-resize`:t===`nw`||t===`se`?`nwse-resize`:`nesw-resize`,"pointer-events":`auto`}),h.append(r),r}),P=e.createElement(`section`);P.dataset.mesurerRecordingStatus=`true`,P.dataset.mesurerInspectorUi=`true`,P.setAttribute(`aria-label`,`Screen recording`),NT(P,{position:`fixed`,display:`none`,height:`34px`,padding:`0 8px`,"align-items":`center`,gap:`8px`,border:`0`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 8px 24px rgba(0,0,0,.14))`,"font-family":`inherit`,"font-size":`11px`,"pointer-events":`auto`});let F=e.createElement(`span`);F.setAttribute(`aria-hidden`,`true`),NT(F,{width:`6px`,height:`6px`,"border-radius":`999px`,background:`var(--msr-danger-solid-bg, #dc2626)`,"flex-shrink":`0`}),P.append(F);let I=e.createElement(`span`);I.dataset.mesurerRecordingTime=`true`,I.textContent=`00:00`,NT(I,{color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`11px`,"font-variant-numeric":`tabular-nums`}),P.append(I);let L=e.createElement(`button`);L.type=`button`,L.dataset.mesurerRecordingStop=`true`,L.textContent=`Stop`,L.setAttribute(`aria-label`,`Stop recording`),NT(L,{height:`24px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`var(--msr-danger-solid-bg, #dc2626)`,color:`var(--msr-danger-solid-text, #fff)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),P.append(L),r.append(P);let R=e.createElement(`div`);R.dataset.mesurerRecordingError=`true`,R.dataset.mesurerInspectorUi=`true`,R.setAttribute(`role`,`status`),NT(R,{position:`fixed`,display:`none`,left:`8px`,top:`8px`,"z-index":`99`,padding:`6px 8px`,"border-radius":`6px`,background:`var(--msr-danger, #b42318)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(R);let z=null,B=null,V=!1,H=null,U=0,W=()=>{z=null,B=null,V=!1,H=null},ee=(e,t)=>{for(let n of[`left`,`top`,`width`,`height`]){let r=t[n];r===void 0?e.style.removeProperty(n):e.style.setProperty(n,`${r}px`)}},te=e=>{let n=t.innerWidth,r=t.innerHeight,i=Math.min(n,Math.max(4,Math.round(e.width))),a=Math.min(r,Math.max(4,Math.round(e.height)));return{left:Math.min(Math.max(0,Math.round(e.left)),Math.max(0,n-i)),top:Math.min(Math.max(0,Math.round(e.top)),Math.max(0,r-a)),width:i,height:a}},ne=(e,t)=>t.x>=e.left&&t.x<=e.left+e.width&&t.y>=e.top&&t.y<=e.top+e.height,re=e=>{let n=t.innerWidth,r=t.innerHeight;if(!e||e.width<=0||e.height<=0){ee(p[0],{left:0,top:0,width:n,height:r});for(let e of p.slice(1))ee(e,{left:0,top:0,width:0,height:0});h.style.display=`none`,h.style.pointerEvents=`none`,j.style.display=`none`;for(let e of N)e.style.display=`none`;g.style.display=`none`,v.style.display=`none`,_.textContent=`Drag to select a region · Esc to cancel`;return}if(ee(p[0],{left:0,top:0,width:n,height:e.top}),ee(p[1],{left:0,top:e.top,width:e.left,height:e.height}),ee(p[2],{left:e.left+e.width,top:e.top,width:Math.max(0,n-e.left-e.width),height:e.height}),ee(p[3],{left:0,top:e.top+e.height,width:n,height:Math.max(0,r-e.top-e.height)}),h.style.display=`block`,ee(h,e),V){h.style.pointerEvents=`auto`,h.style.cursor=`move`,j.style.display=`block`;for(let e of N)e.style.display=`block`;g.style.display=`none`,S.value=String(Math.round(e.width)),C.value=String(Math.round(e.height)),D.value=String(Math.round(e.left)),O.value=String(Math.round(e.top)),S.max=String(n),C.max=String(r),D.max=String(Math.max(0,n-e.width)),O.max=String(Math.max(0,r-e.height));let t=Math.min(Math.max(118,e.left+e.width/2),Math.max(118,n-110-8)),i=e.top+e.height+12,a=i+112<=r?i:Math.max(8,e.top-112);v.style.left=`${t}px`,v.style.top=`${a}px`,v.style.display=`block`,_.textContent=`Adjust region · Enter to start · Esc to cancel`}else{h.style.pointerEvents=`none`,h.style.cursor=``,j.style.display=`none`;for(let e of N)e.style.display=`none`;v.style.display=`none`,g.style.display=`block`,g.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,ee(g,{left:e.left+e.width/2,top:Math.min(r-22,e.top+e.height+6)}),_.textContent=`Drag to select a region · Esc to cancel`}},ie=e=>{let t=te(e);B=t,s(t),re(t)},G=e=>{W();for(let e of p)ee(e,{left:0,top:0,width:0,height:0});ee(m,e),m.style.display=`block`,h.style.display=`none`,g.style.display=`none`,v.style.display=`none`,j.style.display=`none`,_.style.display=`none`;for(let e of N)e.style.display=`none`;f.style.display=`block`,f.style.pointerEvents=`none`,f.style.cursor=`default`},ae=()=>{d(!1),m.style.display=`none`,f.style.display=`none`,f.style.pointerEvents=`auto`,f.style.cursor=`crosshair`,_.style.removeProperty(`display`)},oe=()=>{W(),re(null),f.style.display=`none`,f.style.cursor=`crosshair`,n.style.pointerEvents=`none`},se=e=>{let n=t.innerHeight,r=t.innerWidth;P.style.visibility=`hidden`,P.style.display=`flex`;let a=Math.max(112,P.offsetWidth||112),o=Math.min(r-a-8,Math.max(8,e.left+e.width/2-a/2)),s=i?.querySelector(`[data-mesurer-toolbar='true']`)?.getBoundingClientRect(),c=[e.top>=50?e.top-34-8:null,n-(e.top+e.height)>=50?e.top+e.height+8:null].filter(e=>e!==null),l=e=>s?o<s.right&&o+a>s.left&&e<s.bottom&&e+34>s.top:!1,u=c.find(e=>!l(e))??c[0]??null;if(u===null){P.style.display=`none`,P.style.removeProperty(`visibility`);return}P.style.left=`${o}px`,P.style.top=`${u}px`,P.style.removeProperty(`visibility`)},ce=()=>{P.style.display=`none`},le=e=>{U&&t.clearTimeout(U);let n=e instanceof Error?e.message:`Could not record this region.`;R.textContent=n,R.style.display=`block`,U=t.setTimeout(()=>{U=0,R.style.display=`none`},MT)},ue=(e,t,n)=>{let r=B;!V||!r||e.button!==0||(e.preventDefault(),e.stopPropagation(),H={kind:t,handle:n,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,rect:{...r}},f.setPointerCapture?.(e.pointerId))},de=e=>{!a()||e.button!==0||V&&B&&ne(B,{x:e.clientX,y:e.clientY})||(e.preventDefault(),e.stopPropagation(),V=!1,B=null,s(null),f.style.cursor=`crosshair`,z={x:e.clientX,y:e.clientY},re(Yc(z,z,{width:t.innerWidth,height:t.innerHeight})),f.setPointerCapture?.(e.pointerId))},fe=e=>{if(a()){if(H){let n=H,r=e.clientX-n.startX,i=e.clientY-n.startY,a=t.innerWidth,o=t.innerHeight;if(n.kind===`move`){ie({...n.rect,left:n.rect.left+r,top:n.rect.top+i});return}let s=n.handle??``,c=n.rect.left,l=n.rect.top,u=n.rect.left+n.rect.width,d=n.rect.top+n.rect.height;s.includes(`w`)&&(c=Math.min(u-4,Math.max(0,n.rect.left+r))),s.includes(`e`)&&(u=Math.max(c+4,Math.min(a,n.rect.left+n.rect.width+r))),s.includes(`n`)&&(l=Math.min(d-4,Math.max(0,n.rect.top+i))),s.includes(`s`)&&(d=Math.max(l+4,Math.min(o,n.rect.top+n.rect.height+i))),ie({left:c,top:l,width:u-c,height:d-l});return}z&&re(Yc(z,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight}))}},pe=e=>{if(H){H=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),B&&re(B);return}let n=z;if(z=null,!a()||!n)return;f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId);let r=Yc(n,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight});if(r.width<4||r.height<4){B=null,V=!1,s(null),re(null);return}B=te(r),V=!0,f.style.cursor=`default`,s(B),re(B)},me=e=>{z=null,H=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),re(B&&V?B:null)},he=e=>{if(e.key===`Enter`&&a()&&V&&B){e.preventDefault(),e.stopImmediatePropagation(),c(B).catch(()=>void 0);return}if(e.key===`Escape`){if(a()){e.preventDefault(),e.stopImmediatePropagation(),l().catch(()=>void 0);return}o()&&(e.preventDefault(),e.stopImmediatePropagation(),u().catch(()=>void 0))}};f.addEventListener(`pointerdown`,de),f.addEventListener(`pointermove`,fe),f.addEventListener(`pointerup`,pe),f.addEventListener(`pointercancel`,me),t.addEventListener(`keydown`,he,!0),h.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-resize]`)||ue(e,`move`)});for(let e of N)e.addEventListener(`pointerdown`,t=>{ue(t,`resize`,e.dataset.mesurerRecordingResize)});v.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),v.addEventListener(`click`,e=>{e.stopPropagation()});let ge=(e,t)=>{let n=B,r=Number(e.value);!n||!Number.isFinite(r)||ie({...n,[t]:r})};return S.addEventListener(`change`,()=>ge(S,`width`)),C.addEventListener(`change`,()=>ge(C,`height`)),D.addEventListener(`change`,()=>ge(D,`left`)),O.addEventListener(`change`,()=>ge(O,`top`)),A.addEventListener(`click`,()=>{a()&&V&&B&&c(B).catch(()=>void 0)}),L.addEventListener(`click`,()=>{if(o()){u().catch(()=>void 0);return}a()&&P.style.display!==`none`&&l().catch(()=>void 0)}),{startSelection:()=>{W(),re(null),f.style.display=`block`,f.style.pointerEvents=`auto`,_.style.removeProperty(`display`),n.style.pointerEvents=`auto`},finishSelection:oe,showRecordingMask:G,hideRecordingMask:ae,placeRecordingStatus:se,hideRecordingStatus:ce,setRecordingTime(e){I.textContent=e},flashError:le,dispose(){f.removeEventListener(`pointerdown`,de),f.removeEventListener(`pointermove`,fe),f.removeEventListener(`pointerup`,pe),f.removeEventListener(`pointercancel`,me),t.removeEventListener(`keydown`,he,!0),U&&t.clearTimeout(U),oe()}}},FT=e=>{let t=null,n=()=>{let e=t;e&&(t=null,e.pointerEvents||e.pointerEventsPriority?e.element.style.setProperty(`pointer-events`,e.pointerEvents,e.pointerEventsPriority):e.element.style.removeProperty(`pointer-events`),e.cursor||e.cursorPriority?e.element.style.setProperty(`cursor`,e.cursor,e.cursorPriority):e.element.style.removeProperty(`cursor`))};return{setActive(r){if(e?.toggleAttribute(`data-mesurer-recording-active`,r),!r){n();return}let i=e?.querySelector(`[data-mesurer-interaction-overlay='true']`);i&&((!t||t.element!==i)&&(n(),t={element:i,pointerEvents:i.style.getPropertyValue(`pointer-events`),pointerEventsPriority:i.style.getPropertyPriority(`pointer-events`),cursor:i.style.getPropertyValue(`cursor`),cursorPriority:i.style.getPropertyPriority(`cursor`)}),i.style.setProperty(`pointer-events`,`none`,`important`),i.style.setProperty(`cursor`,`default`,`important`))}}},IT=`mesurer.recording`,LT=`recording:v1`,RT=`mesurer.recording.settings`,zT=`runtime:solid`,BT=`recording.toggle`,VT=`recording.stop`,HT=`recording.discard`,UT=`recording.export`,WT=60,GT=60,KT={viewBox:`0 0 24 24`,paths:[`M7 5.75A3.25 3.25 0 0 0 3.75 9v6A3.25 3.25 0 0 0 7 18.25h7A3.25 3.25 0 0 0 17.25 15v-1.03l2.13 1.42a.75.75 0 0 0 1.17-.624V9.234a.75.75 0 0 0-1.17-.624l-2.13 1.42V9A3.25 3.25 0 0 0 14 5.75H7Zm10.25 6.082 1.8-1.2v2.736l-1.8-1.2v-.336Z`,`M10.5 9.25a2.75 2.75 0 1 0 0 5.5 2.75 2.75 0 0 0 0-5.5Z`]},qT=e=>e?{...e}:null,JT=e=>({...e,rect:qT(e.rect)}),YT=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},XT=e=>e!=null&&!Array.isArray(e)&&typeof e==`object`,ZT=e=>typeof e==`number`&&Number.isFinite(e),QT=e=>{if(!XT(e))return{};let t={};return(e.format===`webm`||e.format===`mp4`)&&(t.format=e.format),ZT(e.startTime)&&(t.startTime=e.startTime),ZT(e.endTime)&&(t.endTime=e.endTime),(e.scale===1||e.scale===2||e.scale===3)&&(t.scale=e.scale),t},$T=e=>({status:e.status,elapsed:e.elapsed,rect:e.rect?{...e.rect}:null,duration:e.duration,width:e.width,height:e.height,error:e.error}),eE=e=>({filename:e.filename,format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size}),tE=e=>({format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size,createdAt:e.createdAt}),nE=(e,t,n)=>{let r=globalThis.URL.createObjectURL(e.blob),i=t.createElement(`a`);i.href=r,i.download=e.filename,i.rel=`noopener`,t.documentElement.append(i),i.click(),i.remove(),n.setTimeout(()=>globalThis.URL.revokeObjectURL(r),1e3)},rE=(e={})=>wc({id:IT,version:`0.1.0`,requires:[zT],provides:[`tool:recording`,LT],setup(t){let n=t.service.get(zT);if(!n)throw Error(`Recording plugin requires the Solid renderer runtime.`);let{ownerDocument:r,ownerWindow:i}=n,a=n.createInspectorMount(),o=a.element,s=n.createInspectorMount(),c=s.element,l=n.rendererRoot??n.portalTarget.querySelector(`[data-mesurer-root='true']`),u=FT(l);o.dataset.mesurerRecording=`true`,c.dataset.mesurerRecordingStatusRoot=`true`,YT(o,{position:`fixed`,inset:`0`,"z-index":`86`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`}),YT(c,{position:`fixed`,inset:`0`,"z-index":`96`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`});let d=Math.max(1,Math.min(600,e.maxDurationSeconds??GT)),f=e.quality??`medium`;t.state.register({id:RT,initial:{toolEnabled:e.toolEnabled??!0,frameRate:e.frameRate??WT},persist:!0});let p=()=>{let e=t.state.get(RT);return{toolEnabled:e?.toolEnabled??!0,frameRate:e?.frameRate===120?120:60}},m=e=>{t.state.update(RT,t=>{let n={...t};return e.toolEnabled!==void 0&&(n.toolEnabled=e.toolEnabled),(e.frameRate===60||e.frameRate===120)&&(n.frameRate=e.frameRate),n})},h={status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null},g=new Set,_=null,v=null,y=null,b=null,x,S=null,C=0,w=0,T=0,E=0,D=-1,O=!1,k=null,A=()=>{let e=JT(h);for(let t of g)t(e)},j=e=>{h={...h,...e,rect:e.rect===void 0?h.rect:qT(e.rect)},A()},M=()=>h.status===`selecting`||h.status===`recording`||h.status===`exporting`,N=()=>{if(S)return;let e=n.portalTarget.querySelector(`[data-mesurer-toolbar='true']`);e&&(S={element:e,value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)},e.style.setProperty(`visibility`,`hidden`,`important`))},P=()=>{if(!S)return;let e=S;S=null,e.value||e.priority?e.element.style.setProperty(`visibility`,e.value,e.priority):e.element.style.removeProperty(`visibility`)},F=async e=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let t=b;if(b=null,t)try{await t}catch{}let n=y;y=null,e&&await n?.cancel();let r=v;v=null,r&&iT(r),x.hideRecordingMask(),x.hideRecordingStatus()},I=()=>{_=null,z.dismiss(),j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}),t.hook.emit(`recording:discard`,{})},L=async()=>{let e=_;return mT(e?.width??Math.max(2,Math.round(i.innerWidth)),e?.height??Math.max(2,Math.round(i.innerHeight)),p().frameRate)},R=async(e={})=>{let n=_;if(!n)throw Error(`No recording is ready to export.`);let r=h.status;j({status:`exporting`,error:null});try{let r=await vT(n.blob,e),i={...r,filename:yT(r.format)};return j({status:`ready`,duration:n.duration,width:n.width,height:n.height,error:null}),await t.hook.emit(`recording:export`,{filename:i.filename,format:i.format,duration:i.duration,width:i.width,height:i.height,bytes:i.blob.size}),i}catch(e){throw j({status:r===`ready`?`ready`:`error`,error:e instanceof Error?e.message:`Could not export the recording.`}),e}},z=jT({ownerDocument:r,ownerWindow:i,root:o,formats:async()=>L(),onDiscard:I,onExport:R}),B=async()=>{if(k)return k;if(h.status!==`recording`||!y||!v)throw Error(`No recording is active.`);let e=T,n=y,r=v,a=qT(h.rect);if(!a)throw Error(`Recording region is unavailable.`);return k=(async()=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let s=b;b=null,s&&await s;let c=await n.finalize();if(y=null,v=null,iT(r),T!==e||O)throw Error(`Recording was cancelled.`);let l=await _T(c),u={blob:c,format:`webm`,duration:l.duration,width:l.width,height:l.height,createdAt:Date.now()};return _=u,x.hideRecordingMask(),x.hideRecordingStatus(),P(),o.style.pointerEvents=`none`,j({status:`ready`,elapsed:l.duration,duration:l.duration,width:l.width,height:l.height,error:null}),z.show(u),await t.hook.emit(`recording:ready`,{rect:a,duration:l.duration,width:l.width,height:l.height,bytes:c.size}),u})().catch(async t=>{if(await F(!0),P(),T===e&&!O){let e=t instanceof Error?t.message:`Could not finish the recording.`;j({status:`error`,error:e}),x.flashError(t)}throw t}).finally(()=>{k=null}),k},V=(e,t,n,r)=>{let a=1/r,o=r=>{if(O||T!==n||h.status!==`recording`||y!==t||v!==e)return;let s=Math.max(0,(r-E)/1e3);j({elapsed:s}),x.setRecordingTime(`${String(Math.floor(s/60)).padStart(2,`0`)}:${String(Math.floor(s%60)).padStart(2,`0`)}`);let c=s;!b&&c-D>=a*.8&&(rT(e,h.rect??{left:0,top:0,width:i.innerWidth,height:i.innerHeight},Bw(i)),D=c,b=t.addFrame(c,a).catch(e=>{throw T===n&&!O&&F(!0).then(()=>{P();let t=e instanceof Error?e.message:`MediaBunny could not encode the recording.`;j({status:`error`,error:t}),x.flashError(e)}),e}).finally(()=>{b=null})),C=i.requestAnimationFrame(o)};C=i.requestAnimationFrame(o)},H=async e=>{let n=++T,a=p().frameRate;z.dismiss(),_=null,x.showRecordingMask(e),o.style.pointerEvents=`none`,u.setActive(!0),P(),j({status:`selecting`,elapsed:0,rect:e,duration:null,width:null,height:null,error:null}),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e);try{let s=await nT(r,i,e,a);if(O||T!==n){iT(s);return}let c=await gT(s.canvas,{format:`webm`,frameRate:a,quality:f});if(O||T!==n){await c.cancel(),iT(s);return}if(v=s,y=c,E=i.performance.now(),D=0,rT(s,e,Bw(i)),await c.addFrame(0,1/a),O||T!==n){await F(!0);return}j({status:`recording`,elapsed:0}),o.style.pointerEvents=`none`,u.setActive(!0),x.showRecordingMask(e),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e),V(s,c,n,a),s.track.addEventListener(`ended`,()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},{once:!0}),w=i.setTimeout(()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},d*1e3),await t.hook.emit(`recording:start`,{rect:{...e},frameRate:a,maxDurationSeconds:d})}catch(t){if(await F(!0),P(),T!==n||O)return;let r=t instanceof DOMException&&t.name===`AbortError`,i=r?null:t instanceof Error?t.message:`Could not start the recording.`;throw j({status:r?`idle`:`error`,rect:r?null:e,error:i}),r||x.flashError(t),t}},U=()=>{h.status!==`selecting`&&(++T,z.dismiss(),_=null,N(),x.startSelection(),j({status:`selecting`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}))},W=async e=>{if(h.status===`recording`){await B();return}if(h.status===`selecting`){await ee();return}if(!e){U();return}if(e.width<4||e.height<4)throw Error(`Recording selection must be at least 4px by 4px.`);await H(e)},ee=async()=>{++T,x.finishSelection(),await F(!0),P(),h.status!==`ready`&&j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null})};x=PT({ownerDocument:r,ownerWindow:i,root:o,statusRoot:c,rendererRoot:l,isSelecting:()=>h.status===`selecting`,isRecording:()=>h.status===`recording`,onRectChange:e=>j({rect:e}),onConfirm:H,onCancel:ee,onStop:async()=>{await B()},setRecordingInteractionActive:u.setActive});let te={snapshot:()=>JT(h),subscribe(e){return g.add(e),()=>g.delete(e)},settings:p,setSettings:m,formats:L,start:W,stop:B,cancel:ee,discard:I,export:R};t.tool.register({id:`recording`,label:`Record`,shortcut:`Shift+R`,order:72,command:BT,toolbarMode:`select`,compactPinned:!0,icon:KT,active:M,hidden:()=>!p().toolEnabled,menu:{label:`Recording options`,items:[{id:`new`,label:`New recording`,disabled:()=>h.status===`recording`||h.status===`exporting`,run:()=>W()},{id:`stop`,label:`Stop recording`,disabled:()=>h.status!==`recording`,run:()=>B().then(()=>void 0)},{id:`discard`,label:`Discard clip`,disabled:()=>_===null,run:I}]}}),t.settings.register({id:`recording`,label:`Recording`,order:42,controls:[{type:`toggle`,id:`tool`,label:`Recording tool`,description:`Show selected-region video recording in the Select toolbar.`,value:()=>p().toolEnabled,set:async e=>{m({toolEnabled:e}),!e&&M()&&await ee()}},{type:`toggle`,id:`120-fps`,label:`120 fps`,description:`Record at 120 fps when the capture source supports it. Off records at 60 fps.`,value:()=>p().frameRate===120,disabled:M,set:e=>{m({frameRate:e?120:60})}}]}),t.command.register(BT,async()=>(await W(),$T(h))),t.command.register(VT,async()=>tE(await B())),t.command.register(HT,()=>(I(),$T(h))),t.command.register(UT,async e=>{let t=await R(QT(e));return nE(t,r,i),eE(t)}),t.service.provide(LT,te),t.lifecycle.onDispose(()=>{O=!0,++T,g.clear(),z.dispose(),x.dispose(),P(),F(!0),s.dispose(),a.dispose()})}}),iE=144,aE=96,oE=8,sE=4,cE=1800,lE=200,uE=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},dE=(e,t)=>({left:Math.min(Math.max(oE,e.left),Math.max(oE,t.innerWidth-iE-oE)),top:Math.min(Math.max(oE,e.top),Math.max(oE,t.innerHeight-aE-oE))}),fE=(e,t)=>{let n=e.createElement(`button`);return n.type=`button`,n.textContent=t,uE(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},pE=({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`,mE=e=>e!==null&&(e.nodeType===1||e.nodeType===11),hE=({ownerDocument:e,ownerWindow:t,root:n,previewDurationMs:r})=>{let i=n.closest(`[data-mesurer-root='true']`)??n.parentNode;if(!mE(i))throw Error(`Screenshot preview requires a mounted Mesurer host.`);let a=e.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerScreenshotInteractive=`true`,uE(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,uE(o,{position:`fixed`,display:`none`,"z-index":`96`,width:`${iE}px`,height:`${aE}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`,uE(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`,uE(c,{position:`absolute`,top:`8px`,right:`8px`,width:`20px`,height:`20px`,display:`flex`,"align-items":`center`,"justify-content":`center`,"box-sizing":`border-box`,padding:`0`,border:`0`,"border-radius":`999px`,"background-color":`rgb(48 51 64)`,color:`white`,"font-family":`inherit`,"font-size":`14px`,"line-height":`1`,"z-index":`2`,cursor:`pointer`,"touch-action":`none`});let l=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);l.setAttribute(`viewBox`,`0 0 16 16`),l.setAttribute(`width`,`12`),l.setAttribute(`height`,`12`),l.setAttribute(`fill`,`none`),l.setAttribute(`aria-hidden`,`true`);let u=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);u.setAttribute(`d`,`m4 4 8 8M12 4l-8 8`),u.setAttribute(`stroke`,`currentColor`),u.setAttribute(`stroke-width`,`1.75`),u.setAttribute(`stroke-linecap`,`round`),l.append(u),c.append(l),o.append(c),a.append(o);let d=e.createElement(`div`);d.dataset.mesurerScreenshotViewer=`true`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-modal`,`true`),d.setAttribute(`aria-label`,`Screenshot viewer`),uE(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`,uE(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`,uE(p,{position:`fixed`,top:`16px`,right:`16px`,display:`flex`,gap:`8px`,"pointer-events":`auto`});let m=fE(e,`Copy`);m.dataset.mesurerScreenshotViewerCopy=`true`,m.setAttribute(`aria-label`,`Copy screenshot`);let h=fE(e,`Save`);h.dataset.mesurerScreenshotViewerSave=`true`,h.setAttribute(`aria-label`,`Save screenshot`);let g=fE(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`),uE(_,{position:`fixed`,left:`50%`,bottom:`20px`,display:`none`,"z-index":`120`,transform:`translateX(-50%)`,padding:`7px 10px`,"border-radius":`8px`,"background-color":`rgb(28 28 30 / 90%)`,color:`white`,"font-size":`12px`,"font-weight":`500`,"pointer-events":`none`}),a.append(_);let v=null,y=null,b=null,x=null,S=0,C=0,w=null,T=!1,E=()=>{S&&t.clearTimeout(S),S=0},D=()=>{C&&t.clearTimeout(C),C=0},O=(e,n=!1)=>{D(),_.textContent=e,_.style.backgroundColor=n?`#b42318`:`rgb(28 28 30 / 90%)`,_.style.display=`block`,C=t.setTimeout(()=>{C=0,_.style.display=`none`},cE)},k=()=>{d.style.display=`none`},A=()=>{y&&globalThis.URL.revokeObjectURL(y),y=null,v=null,s.removeAttribute(`src`),f.removeAttribute(`src`)},j=()=>{E(),k(),w&&=(w.cancel(),null),o.style.display=`none`,o.style.opacity=`1`,o.style.transform=`none`,o.style.removeProperty(`will-change`),o.style.pointerEvents=`auto`,A()},M=()=>{if(!v||o.style.display===`none`||w)return;E(),k();let e=o.getBoundingClientRect(),n=Math.max(152,t.innerWidth-e.left+oE);o.style.pointerEvents=`none`,o.style.willChange=`transform, opacity`;let r=o.animate([{transform:`translateX(0) scale(1)`,opacity:1},{transform:`translateX(${n}px) scale(0.92)`,opacity:0}],{duration:lE,easing:`ease`,fill:`forwards`});w=r,r.finished.catch(()=>void 0).then(()=>{w===r&&(r.cancel(),w=null,j())})},N=()=>dE({left:t.innerWidth-iE-oE,top:t.innerHeight-aE-oE},t),P=e=>{let n=dE(e,t);b=n,o.style.left=`${n.left}px`,o.style.top=`${n.top}px`},F=()=>{!v||!y||(E(),d.style.display=`flex`,g.focus())},I=async()=>{let e=v;if(e)try{await Zc(Promise.resolve(e),t),O(`Copied screenshot`)}catch{O(`Could not copy screenshot`,!0)}},L=()=>{let n=v;if(n)try{$c(n,Qc(),e,t),O(`Saved screenshot`)}catch{O(`Could not save screenshot`,!0)}},R=(e,t,n)=>{if(!v)return!1;E();let r=o.getBoundingClientRect();return x={pointerId:n,startX:e,startY:t,left:r.left,top:r.top,moved:!1},o.style.cursor=`grabbing`,!0},z=(e,t)=>{let n=x;if(!n)return;let r=e-n.startX,i=t-n.startY;!n.moved&&Math.hypot(r,i)>=sE&&(n.moved=!0),n.moved&&P({left:n.left+r,top:n.top+i})},B=()=>{let e=x;e&&(x=null,o.style.cursor=`grab`,e.moved||F())},V=()=>{x&&(x=null,o.style.cursor=`grab`)},H=e=>{e.button!==0||!R(e.clientX,e.clientY,null)||e.preventDefault()},U=e=>{x?.pointerId===null&&z(e.clientX,e.clientY)},W=e=>{e.button===0&&x?.pointerId===null&&B()},ee=e=>{e.pointerType!==`mouse`&&e.button===0&&R(e.clientX,e.clientY,e.pointerId)&&(o.setPointerCapture?.(e.pointerId),e.preventDefault())},te=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&z(e.clientX,e.clientY)},ne=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),B())},re=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),V())},ie=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),F())},G=e=>{e.target!==s&&e.preventDefault()},ae=e=>{e.target===d&&k()},oe=e=>{e.key===`Escape`&&d.style.display!==`none`&&(e.preventDefault(),e.stopImmediatePropagation(),k())};return c.addEventListener(`pointerdown`,e=>e.stopPropagation()),c.addEventListener(`mousedown`,e=>e.stopPropagation()),c.addEventListener(`click`,e=>{e.stopPropagation(),M()}),o.addEventListener(`mousedown`,H),o.addEventListener(`pointerdown`,ee),o.addEventListener(`keydown`,ie),o.addEventListener(`contextmenu`,G),d.addEventListener(`click`,ae),m.addEventListener(`click`,()=>{I()}),h.addEventListener(`click`,L),g.addEventListener(`click`,k),t.addEventListener(`mousemove`,U,!0),t.addEventListener(`mouseup`,W,!0),t.addEventListener(`pointermove`,te,!0),t.addEventListener(`pointerup`,ne,!0),t.addEventListener(`pointercancel`,re,!0),t.addEventListener(`keydown`,oe,!0),{show(e,n){if(T)return;E(),k(),w&&=(w.cancel(),null),o.style.opacity=`1`,o.style.transform=`none`,o.style.willChange=`transform, opacity`,o.style.pointerEvents=`auto`,A(),v=e;let i=globalThis.URL.createObjectURL(e);y=i,s.src=i,f.src=i,o.style.display=`block`,P(b??N()),O(pE(n)),r>0&&(S=t.setTimeout(j,r))},dismiss:j,dispose(){T||(T=!0,E(),D(),j(),t.removeEventListener(`mousemove`,U,!0),t.removeEventListener(`mouseup`,W,!0),t.removeEventListener(`pointermove`,te,!0),t.removeEventListener(`pointerup`,ne,!0),t.removeEventListener(`pointercancel`,re,!0),t.removeEventListener(`keydown`,oe,!0),o.removeEventListener(`mousedown`,H),o.removeEventListener(`pointerdown`,ee),o.removeEventListener(`keydown`,ie),o.removeEventListener(`contextmenu`,G),d.removeEventListener(`click`,ae),a.remove())}}},gE=`mesurer.screenshot`,_E=`screenshot`,vE=`mesurer.screenshot.settings`,yE=`mesurer.screenshot.active`,bE=`runtime:solid`,xE=`screenshot.toggle`,SE=2500,CE=0,wE=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-selection-spacing-target='true']`,`[data-mesurer-guide='true']`,`[data-mesurer-distance='true']`].join(`,`),TE=`${wE},[data-mesurer-rulers='true'],[data-mesurer-multi-selection-document-layer='true']`,EE={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`]},DE=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},OE=(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`)}},kE=e=>{let t=e(vE);return{toolEnabled:t?.toolEnabled??!0,copy:t?.copy??!0,download:t?.download??!1,includeMeasurements:t?.includeMeasurements??!1}},AE=e=>({value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),jE=(e,t)=>{t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`)},ME=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},NE=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=ME(e,t);r&&n.add(r)}for(let e of t.querySelectorAll(wE)){let r=ME(e,t);r&&n.add(r)}let r=[];for(let e of n)e.dataset.mesurerInspectorUi!==`true`&&(r.push({element:e,display:AE(e)}),e.style.setProperty(`display`,`none`,`important`));return()=>{for(let e of r)jE(e.element,e.display)}},PE=e=>Array.from(e.querySelectorAll(TE)).filter(e=>e.dataset.mesurerInspectorUi===`true`).map(e=>({element:e,display:AE(e)})),FE=e=>{for(let t of e)t.element.isConnected&&jE(t.element,t.display)},IE=(e={})=>wc({id:gE,version:`0.1.0`,requires:[bE],provides:[`tool:screenshot`,`capture:screenshot`,`settings:screenshot`],setup(t){let n=t.service.get(bE);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??vl,l=e.previewDurationMs??CE;t.state.register({id:vE,initial:{toolEnabled:e.toolEnabled??!0,copy:e.copy??!0,download:e.download??!1,includeMeasurements:e.includeMeasurements??!1},persist:!0}),t.state.register({id:yE,initial:!1});let u=o.element;u.dataset.mesurerScreenshot=`true`,DE(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`),DE(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 DE(e,{position:`fixed`,"background-color":`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),d.append(e),e}),p=r.createElement(`div`);DE(p,{position:`fixed`,display:`none`,border:`1px solid #0d99ff`,"box-sizing":`border-box`,"pointer-events":`none`}),d.append(p);let m=r.createElement(`div`);DE(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`,DE(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`,DE(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=()=>kE(t.state.get),E=e=>{t.state.update(vE,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){OE(f[0],{left:0,top:0,width:t,height:n});for(let e of f.slice(1))OE(e,{left:0,top:0,width:0,height:0});p.style.display=`none`,m.style.display=`none`;return}OE(f[0],{left:0,top:0,width:t,height:e.top}),OE(f[1],{left:0,top:e.top,width:e.left,height:e.height}),OE(f[2],{left:e.left+e.width,top:e.top,width:Math.max(0,t-e.left-e.width),height:e.height}),OE(f[3],{left:0,top:e.top+e.height,width:t,height:Math.max(0,n-e.top-e.height)}),p.style.display=`block`,OE(p,e),m.style.display=`block`,m.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,OE(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=hE({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`},SE)},F=()=>{_=null,A(null),d.style.visibility=``,d.style.display=`none`,u.style.pointerEvents=`none`,D(!1),k()},I=()=>{b+=1,F(),yl(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?PE(r):[],u=s.includeMeasurements?()=>void 0:NE(n.portalTarget);a.prepareCapture(),s.includeMeasurements&&FE(l);try{d.style.visibility=`hidden`,await el(i);let n=await Xc(await c({ownerDocument:r,ownerWindow:i}),e,{width:i.innerWidth,height:i.innerHeight},r,Jc(r));if(b!==o)throw Error(`Screenshot capture was cancelled.`);let a=!1,l=!1,u=s.copy?Zc(Promise.resolve(n),i).then(()=>{a=!0}):Promise.resolve(),f=s.download?Promise.resolve().then(()=>{$c(n,Qc(),r,i),l=!0}):Promise.resolve(),p=await Promise.allSettled([u,f]),m=s.copy&&p[0]?.status===`rejected`,h=s.download&&p[1]?.status===`rejected`;if(b!==o)throw Error(`Screenshot capture was cancelled.`);return w()&&F(),M.show(n,{copied:a,downloaded:l,copyFailed:m,downloadFailed:h}),await t.hook.emit(`screenshot:capture`,{rect:{...e},copied:a,downloaded:l}),{blob:n,rect:{...e},copied:a,downloaded:l}}catch(e){throw b===o&&P(),e}finally{d.style.visibility=``,u(),a.finishCapture(),x=!1}},R=async()=>{if(T().toolEnabled){if(w()){I();return}if(!S){S=!0,M.dismiss();try{if(s||await _l(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(Yc(_,_,{width:i.innerWidth,height:i.innerHeight})),d.setPointerCapture?.(e.pointerId))},B=e=>{!w()||!_||A(Yc(_,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight}))},V=e=>{let t=_;if(_=null,!w()||!t)return;d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId);let n=Yc(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()})},H=e=>{_=null,d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId),A(null)},U=e=>{e.key!==`Escape`||!w()||(e.preventDefault(),e.stopImmediatePropagation(),I())};d.addEventListener(`pointerdown`,z),d.addEventListener(`pointermove`,B),d.addEventListener(`pointerup`,V),d.addEventListener(`pointercancel`,H),i.addEventListener(`keydown`,U,!0);let W={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:xE,toolbarMode:`select`,compactPinned:!0,icon:EE,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(xE,R),t.service.provide(_E,W),t.lifecycle.onDispose(()=>{C=!0,b+=1,d.removeEventListener(`pointerdown`,z),d.removeEventListener(`pointermove`,B),d.removeEventListener(`pointerup`,V),d.removeEventListener(`pointercancel`,H),i.removeEventListener(`keydown`,U,!0),y&&i.clearTimeout(y),M.dispose(),k(),yl(i),a.finishCapture(),a.dispose(),o.dispose()})}}),LE=e=>Number.parseFloat(e)||0,RE=0,zE=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},BE=e=>e.nodeType===9,VE=e=>e.nodeType===11;function HE(e){let t=e.getRootNode();return VE(t)?t:e.ownerDocument}var UE=(e,t)=>{if(BE(e)||VE(e))return e;let n=HE(e);return VE(n)?n:t},WE=600,GE=`audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video`,KE=new WeakMap,qE=e=>{let t=e;for(;t;){if((KE.get(t)??0)>0)return!0;let e=t.getRootNode();t=VE(e)?e.host:t.parentElement}return!1},JE=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,YE=(e,t)=>Array.from(e.getClientRects()).some(e=>JE(e,t)),XE=(e,t,n)=>{let r=e;for(;r;){let e=n.getComputedStyle(r);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||e.contentVisibility===`hidden`||Number(e.opacity)===0)return!0;if(r===t)return!1;r=r.parentElement}return!0},ZE=(e,t)=>{if(e.matches(`img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use`))return!0;let n=t.getComputedStyle(e),r=n.backgroundImage!==`none`||n.backgroundColor!==`transparent`&&n.backgroundColor!==`rgba(0, 0, 0, 0)`,i=[`top`,`right`,`bottom`,`left`].some(e=>Number.parseFloat(n.getPropertyValue(`border-${e}-width`))>0&&n.getPropertyValue(`border-${e}-style`)!==`none`);return r||i||n.boxShadow!==`none`||n.outlineStyle!==`none`},QE=(e,t)=>!!e.textContent?.trim()||ZE(e,t),$E=(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},eD=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(n,i,s)=>{if(o.has(n)||qE(n)||r.getComputedStyle(n).pointerEvents!==`none`||XE(n,e,r)||!YE(n,t))return;let c=n.getBoundingClientRect();o.add(n),a.push({element:n,area:c.width*c.height,depth:i,order:s})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=WE;){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=$E(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)},tD=(e,t,n)=>{let r=t.ownerDocument.defaultView;if(!r)return[];let i=[...new Set(e)],a=new Map;for(let e of i){let t=e instanceof r.HTMLElement||e instanceof r.SVGElement?e:null;t&&(a.set(e,e.getAttribute(`style`)),t.style.setProperty(`pointer-events`,`auto`,`important`))}try{let e=HE(t).elementsFromPoint(n.x,n.y),r=e.findIndex(e=>e===t),a=new Map(e.map((e,t)=>[e,t]));return i.filter(e=>{let t=a.get(e);return t!==void 0&&(r<0||t<r)}).sort((e,t)=>e.contains(t)?1:t.contains(e)?-1:(a.get(e)??2**53-1)-(a.get(t)??2**53-1))}finally{for(let[e,t]of a)t===null?e.removeAttribute(`style`):e.setAttribute(`style`,t)}},nD=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},rD=(e,t,n,r)=>{let i=r.defaultView;if(!i)return[];let a=tD(eD(e,t,r).filter(e=>QE(e,i)),e,t);if(a.length>0)return a;if(e.textContent?.trim()&&!e.matches(GE)||e.matches(`a, button, input, select, textarea, label, summary, [contenteditable='true']`))return[];let o=[],s=new Set,c=!BE(n)&&!VE(n)?n:null,l=e.parentElement;for(;l&&l!==r.body&&l!==r.documentElement&&!(c&&l!==c&&!c.contains(l));){let a=l,u=nD(e,a),d=eD(a,t,r).filter(e=>{if(!aD(e,n)||e.closest(`[aria-hidden='true'], [inert]`))return!1;let t=nD(e,a);return t===null||t!==u});for(let e of d)s.has(e)||!QE(e,i)||(s.add(e),o.push(e));if(a===c)break;l=a.parentElement}return tD(o,e,t)};function iD(e,t,n=BE(t)?t:t.ownerDocument??document){let r=UE(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||!aD(a,t))continue;let o=rD(a,e,t,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function aD(e,t){if(BE(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!VE(e))return!1;n=e.host}return!1}function oD(e,t){if(!e)return t();let n=KE.get(e)??0;KE.set(e,n+1);let r=[e,...e.querySelectorAll(`*`)],i=r.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of r)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{n===0?KE.delete(e):KE.set(e,n);for(let[e,t,n]of i)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function sD(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${zE(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 cD(e,t,n=`dom-inspection-${++RE}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:LE(i.paddingTop),right:LE(i.paddingRight),bottom:LE(i.paddingBottom),left:LE(i.paddingLeft)},o={top:LE(i.marginTop),right:LE(i.marginRight),bottom:LE(i.marginBottom),left:LE(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 lD(e){let t=e.ownerDocument.defaultView??window,n=t.getComputedStyle(e),r=e instanceof t.HTMLElement?e:null,i=e.getBoundingClientRect(),a=r?cD(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:sD(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 uD=`text-edit`,dD=e=>lD(e);function fD(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||aD(n,t),a=async()=>{let t=(e.getPluginHost()??await e.waitForPluginHost()).service.get(uD);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?dD(n):null},inspectAll(e,n=50){return[...t.querySelectorAll(e)].slice(0,Math.max(0,n)).map(dD)},at(n,r){let a=t.querySelector?.(`[data-mesurer-island]`)??null;return oD(a?.shadowRoot?.querySelector(`[data-mesurer-root='true']`)??a,()=>{let a=iD({x:n,y:r},t,e.ownerDocument);return a&&i(a)?dD(a):null})},distance(e,t){let n=r(e),i=r(t);if(!n||!i)return null;let a=dD(n),o=dD(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(dD)),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 pD=`0.2.3-beta.1`,mD=qv,hD=Jv,gD=()=>({...Uy(),version:pD}),_D=hD,vD=(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,yD=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}},bD=(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),xD=e=>[...e.measurements,...e.activeMeasurement&&!e.measurements.some(t=>t.id===e.activeMeasurement?.id)?[e.activeMeasurement]:[]];function SD(e){let{workspace:t,scope:n,guideTolerance:r}=e;if(n.kind===`workspace`)return{guides:t.guides.map(e=>({...e})),measurements:xD(t),distances:[...t.distances]};let i=new Set(n.elements),a=e=>e!=null&&i.has(e),o=e=>n.regions.some(t=>vD(e,t));return{guides:t.guides.filter(e=>bD(e,n.regions,r)).map(e=>({...e})),measurements:xD(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 CD={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},wD={opacity:1,edgeReveal:!1};({...CD}),{...wD};var TD=10,ED=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),DD=e=>{let t=new Set,n=[];for(let r of e)!r?.isConnected||t.has(r)||(t.add(r),n.push(r));return n},OD=e=>e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;function kD(e){let{runtime:t,ownerDocument:n,ownerWindow:r}=e,i=e.request??{scope:`workspace`},a=t.snapshot();if(!a)throw Error(`Mesurer workspace is not ready yet.`);let o=e=>ED(t.elementRect?.(e)??e.getBoundingClientRect()),s=[],c=[],l={kind:`workspace`},u=new Map;if(`annotation`in i){let e=t.annotation(i.annotation);if(!e)throw Error(`Mesurer annotation not found: ${i.annotation}`);for(let t of e.resolvedTargets)t.element?.isConnected&&u.set(t.element,t.target.id);s=DD(e.resolvedTargets.map(e=>e.element));let n=t.annotationRect(e.id);n&&(c=[n]);let r=e.resolvedTargets.length,a=e.resolvedTargets.filter(e=>e.element?.isConnected).length,o=e.anchor.kind===`region`?`connected`:r===0||a===0?`stale`:a===r?`connected`:`partial`;l={kind:`annotation`,annotationId:e.id,note:e.note,targetStatus:o}}else if(i.scope===`selection`){let e=t.currentSelection();if(s=DD(e.elements),!s.length&&!e.region)throw Error(`Mesurer has no current selection.`);c=e.region?[e.region]:s.map(o),l={kind:`selection`}}else s=DD([...t.currentSelection().elements,...a.measurements.map(e=>e.elementRef),a.activeMeasurement?.elementRef,...a.heldDistances.flatMap(e=>[e.elementRefA,e.elementRefB])]);let d=l.kind===`workspace`?[]:c.length?c:s.map(o),f=SD({workspace:{guides:a.guides,measurements:a.measurements,activeMeasurement:a.activeMeasurement,distances:a.heldDistances},scope:l.kind===`workspace`?{kind:`workspace`}:{kind:`scoped`,elements:s,regions:d},guideTolerance:a.guideRelevanceTolerance??TD}),p=f.measurements,m=f.distances,h=f.guides,g=DD([...s,...p.map(e=>e.elementRef),...m.flatMap(e=>[e.elementRefA,e.elementRefB])]),_=new Map,v=new Set(u.values()),y=1,b=()=>{let e=`target-${y++}`;for(;v.has(e);)e=`target-${y++}`;return v.add(e),e},x=g.map(e=>{let t=u.get(e)??b(),n=o(e),r=lD(e);return _.set(e,t),{ref:t,inspection:{...r,rect:{...n,right:n.left+n.width,bottom:n.top+n.height,x:n.left,y:n.top}}}}),S=p.map(e=>{let t={id:e.id,rect:ED(e.rect),deltaX:e.deltaX,deltaY:e.deltaY};e.snapped!==void 0&&(t.snapped=e.snapped);let n=e.elementRef?_.get(e.elementRef):void 0;return n&&(t.targetRef=n),t}),C=m.map(e=>{let t={id:e.id,rectA:ED(e.rectA),rectB:ED(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null},n=e.elementRefA?_.get(e.elementRefA):void 0,r=e.elementRefB?_.get(e.elementRefB):void 0;return n&&(t.targetARef=n),r&&(t.targetBRef=r),t});return{schema:`mesurer.context/v1`,id:OD(r),createdAt:new Date().toISOString(),scope:l,page:{url:r.location?.href??n.URL,title:n.title},viewport:{width:r.innerWidth,height:r.innerHeight,devicePixelRatio:r.devicePixelRatio,scrollX:r.scrollX,scrollY:r.scrollY},coordinateSpace:`viewport-css-px`,regions:l.kind===`workspace`?[]:c.map(ED),visualState:{rulersVisible:a.rulersVisible,xrayVisible:a.xrayVisible},targets:x,visualContext:{guides:h,layoutGuides:(e.layoutGuides??[]).map(e=>({...e})),measurements:S,distances:C}}}var AD=e=>`${Math.round(e*100)/100}px`,jD=e=>`x=${AD(e.left)} y=${AD(e.top)} w=${AD(e.width)} h=${AD(e.height)}`;function MD(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}: ${jD(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: ${jD(e.rect)}`,` margin: ${AD(e.margin.top)} ${AD(e.margin.right)} ${AD(e.margin.bottom)} ${AD(e.margin.left)}`,` padding: ${AD(e.padding.top)} ${AD(e.padding.right)} ${AD(e.padding.bottom)} ${AD(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`}=${AD(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 ${AD(n.size)}`:`${n.count} ${n.kind}; gutter=${AD(n.gutter)}; offset=${AD(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}: `:``}${jD(n.rect)}; delta=${AD(n.deltaX)} × ${AD(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=${AD(n.horizontal.value)}`:null,n.vertical?`vertical=${AD(n.vertical.value)}`:null].filter(Boolean).join(`; `);t.push(`- ${e?`${e}: `:``}${r||`overlapping`}`)}}return t.join(`
2269
- `).trimEnd()}function ND(e){let t=yD([...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 PD=(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`})},FD=(e,t,n,r)=>e.push({kind:`missing`,evidence:t,id:n,label:r}),ID=(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 LD(e){let t=e.runtime.annotation(e.annotationId);if(!t)throw Error(`Mesurer annotation not found: ${e.annotationId}`);let n=kD({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=xD({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){FD(a,`target`,e.id,e.selector);continue}PD(a,`target-rect`,`${t.inspection.selector} left`,e.rect.left,t.inspection.rect.left),PD(a,`target-rect`,`${t.inspection.selector} top`,e.rect.top,t.inspection.rect.top),PD(a,`target-rect`,`${t.inspection.selector} width`,e.rect.width,t.inspection.rect.width),PD(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){FD(a,`guide`,e.id,`${e.orientation} guide ${e.id}`);continue}PD(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=>ID(t.rect,e.rect));r&&n.targets.some(e=>e.ref===r.id)||FD(a,`measurement`,e.id,e.id);continue}PD(a,`measurement`,`${e.id} width`,e.rect.width,r.rect.width),PD(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){FD(a,`distance`,e.id,e.id);continue}e.horizontal&&t.horizontal?PD(a,`distance`,`${e.id} horizontal`,e.horizontal.value,t.horizontal.value):e.horizontal&&!t.horizontal&&FD(a,`distance`,e.id,`${e.id} horizontal`),e.vertical&&t.vertical?PD(a,`distance`,`${e.id} vertical`,e.vertical.value,t.vertical.value):e.vertical&&!t.vertical&&FD(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 RD(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 zD=sw,BD=cw,VD=()=>({...Pw(),version:pD}),HD=`mesurer.context`,UD=`context:v1`,WD=`mesurer.context.settings`,GD=`context.ui`,KD=`data-mesurer-direct-text-edit-active`,qD={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`]},JD={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`]},YD={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`]},XD=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()))},ZD=(e,t,n,r)=>{let i=async i=>kD({runtime:e,ownerDocument:t,ownerWindow:n,request:i,layoutGuides:r()}),a=async e=>MD(await i(e));return{context:i,contextText:a,copyContext:async e=>RD(t,n,await a(e)),select:async r=>{let a=Array.isArray(r)?[...r]:[String(r)];return e.select(a),await XD(t,n),i({scope:`selection`})},annotations:async()=>e.annotations(),removeAnnotation:async r=>{e.removeAnnotation(r),await XD(t,n)},review:async i=>{if(await XD(t,n),i)return LD({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:i,layoutGuides:r()});let a=r();return e.annotations().map(r=>LD({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:r.id,layoutGuides:a}))},capturePlan:async e=>ND(await i(e)),prepareCapture:async()=>{e.prepareCapture(),await XD(t,n)},finishCapture:async()=>{e.finishCapture(),await XD(t,n)}}},QD=e=>{let t=e.currentSelection();return t.elements.length>0||t.region!==null};function $D(e={}){return{id:HD,version:pD,requires:[`runtime:solid`],provides:[UD],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(HD),i=ZD(r,n.ownerDocument,n.ownerWindow,()=>t.service.get(BD)?.list()??[]);t.service.provide(UD,i),t.state.register({id:WD,initial:{ui:e.ui??!0},persist:!0}),t.state.register({id:GD,initial:{hasSelection:QD(r)}});let a=()=>t.state.get(`mesurer.context.settings`)?.ui??!0,o=()=>t.state.get(GD)?.hasSelection===!0,s=e=>{t.state.update(WD,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(GD)?.hasSelection??!1)&&t.state.update(GD,()=>({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(KD)?e.setAttribute(KD,`true`):e.removeAttribute(KD))},_=()=>{d?.disconnect(),d=null,c=null,l?.(),l=null,u?.dispose(),u=null},v=()=>{if(u)return;if(u=LC(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:[KD]}),g()}let e={runtime:r,onCopy:i.copyContext,onController:e=>{c=e},coordinateSpace:`document`,rendererRoot:n.rendererRoot};l=Oo(()=>mo(NC,Xa(e,{get ownerWindow(){return n.ownerWindow}})),u.element)},y=()=>{a()?v():_()};y(),t.state.subscribe(y),t.command.register(`context.add-note`,()=>c?.openNoteComposer()),t.tool.register({id:`context.copy`,label:`Copy context`,shortcut:`C`,command:`context.copy`,order:70,toolbarMode:`always`,icon:qD,hidden:()=>!a()}),t.tool.register({id:`context.copy-selection`,label:`Copy selection`,shortcut:`Shift+C`,command:`context.copy-selection`,order:71,toolbarMode:`always`,icon:JD,hidden:()=>!a(),disabled:()=>!o()}),t.tool.register({id:`context.add-note`,label:`Add note`,shortcut:`N`,command:`context.add-note`,order:72,toolbarMode:`always`,icon:YD,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 eO={display:`block`,position:`fixed`,inset:`0`,width:`0`,height:`0`,"min-width":`0`,"min-height":`0`,"max-width":`none`,"max-height":`none`,margin:`0`,padding:`0`,border:`0`,overflow:`visible`,background:`transparent`,"box-sizing":`border-box`,"pointer-events":`none`,"z-index":`2147483647`,opacity:`1`,visibility:`visible`,transform:`none`,translate:`none`,rotate:`none`,scale:`none`,filter:`none`,"backdrop-filter":`none`,"clip-path":`none`,mask:`none`,contain:`none`,isolation:`isolate`,"mix-blend-mode":`normal`,animation:`none`,transition:`none`,"color-scheme":`light`,color:`#0f172a`,"font-family":`ui-sans-serif, system-ui, sans-serif`,"font-size":`16px`,"font-weight":`400`,"line-height":`1.5`,"letter-spacing":`normal`,direction:`ltr`};function tO(e){for(let[t,n]of Object.entries(eO))e.style.setProperty(t,n,`important`)}function nO(e){return`popover`in e&&`showPopover`in e&&typeof e.showPopover==`function`&&`hidePopover`in e&&typeof e.hidePopover==`function`}var rO=e=>`newState`in e,iO=e=>e.localName===`dialog`;function aO(e){if(!iO(e)||!e.open)return!1;try{return e.matches(`:modal`)}catch{return!1}}function oO(e,t,n=!0){tO(e);let r=e.ownerDocument,i=r.defaultView??window,a=t,o=!1,s=`fixed`,c=!1,l=0,u=[];if(n&&nO(e)&&(e.popover=`manual`),t.append(e),n&&nO(e))try{e.showPopover(),c=e.matches(`:popover-open`),c&&(s=`top-layer`)}catch{e.removeAttribute(`popover`)}let d=()=>{if(!(!c||!nO(e)))try{e.matches(`:popover-open`)||e.showPopover()}catch{}},f=t=>{if(e.parentNode===t)return;let n=c&&nO(e)&&e.matches(`:popover-open`);if(n&&nO(e))try{e.hidePopover()}catch{}t.append(e),tO(e),n&&d()},p=()=>{u=u.filter(e=>e.isConnected&&aO(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||!nO(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=rO(t)?t.newState:void 0,r=t.target;if(r instanceof i.Element){if(iO(r)){n===`open`&&aO(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&&iO(t)&&h(t)},b=()=>{r.fullscreenElement&&_()},x=e=>{aO(e)&&m(e);for(let t of e.querySelectorAll(`dialog`))aO(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&&iO(e)&&(aO(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&&nO(e)&&e.matches(`:popover-open`))try{e.hidePopover()}catch{}u=[]}}}}var sO=`mesurer.codex`,cO=`codex:v1`,lO=`mesurer.plugin.before-disable`,uO=2e3,dO=750,fO=2e3,pO=1800,mO=2e3,hO=12e4,gO=10,_O=5,vO=`http://127.0.0.1:47365`,yO=`mesurer-codex`,bO=2,xO=[`thread-discovery-v1`,`durable-queue-v1`,`history-recovery-v2`,`client-message-correlation-v1`,`idle-safe-shutdown-v1`,`nonterminal-retention-v1`,`instance-binding-v1`],SO=1500,CO=15e3,wO=5e3,TO=[`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(` `),EO={viewBox:`0 0 256 256`,paths:[`M224,48,32,120l88,32,32,88Z M120,152l104-104`]},DO={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`]},OO={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`]},kO=class extends Error{issue;constructor(e,t){super(t),this.issue=e,this.name=`BrowserBridgeConnectionError`}},AO=()=>{try{let e=globalThis.location;return e?.origin?`mesurer-codex-ui:v2:${e.origin}${e.pathname}`:null}catch{return null}},jO=()=>{let e=AO();if(!e)return null;try{let t=globalThis.sessionStorage?.getItem(e);if(!t)return null;let n=JSON.parse(t);if(n.version!==1)return null;let r=n.originThread?.trim()||null,i=n.selectedThread?.trim()||null,a=n.delivery;return{version:1,originThread:r,selectedThread:i,delivery:a&&a.id.trim()&&a.thread.trim()&&(a.status===`queued`||a.status===`working`||a.status===`completed`||a.status===`interrupted`||a.status===`failed`)&&Array.isArray(a.annotationIds)?{id:a.id.trim(),thread:a.thread.trim(),status:a.status,annotationIds:a.annotationIds.filter(e=>e.trim().length>0),queuedSubmissionId:a.queuedSubmissionId?.trim()||null,clientUserMessageId:a.clientUserMessageId?.trim()||null,dispatch:a.dispatch??null,dispatchError:a.dispatchError?.trim()||null}:null}}catch{return null}},MO=e=>{let t=AO();if(t)try{globalThis.sessionStorage?.setItem(t,JSON.stringify(e))}catch{}},NO=e=>{let t=vO.endsWith(`/`)?vO:`${vO}/`;return new URL(e,t).toString()},PO=e=>{let t=e.bridge;if(!t)throw new kO(`port-conflict`,`Another local service or an outdated Mesurer Codex Bridge is using port 47365. Mesurer will not send data to an unverified service.`);if(t.name!==yO)throw new kO(`port-conflict`,`Another local service is using port 47365 (${t.name??`unknown`}). Mesurer will not send Codex data to it.`);if(t.protocol!==bO)throw new kO(`version-mismatch`,`Mesurer Codex Bridge is out of date (protocol ${t.protocol??`unknown`}; expected ${bO}). Restart the matching Mesurer Codex Bridge helper.`);if(e.access?.allowed===!1)throw new kO(`origin-denied`,`Mesurer Codex Bridge does not allow this browser origin (${globalThis.location?.origin??`this page`}). Allow this origin when starting the bridge.`);let n=new Set(Array.isArray(t.capabilities)?t.capabilities:[]),r=xO.filter(e=>!n.has(e));if(r.length>0)throw new kO(`capability-mismatch`,`Mesurer Codex Bridge is missing required capabilities: ${r.join(`, `)}. Restart or update the matching helper.`);if(!t.instanceId?.trim())throw new kO(`capability-mismatch`,`Mesurer Codex Bridge did not provide an instance identity. Restart or update the matching helper.`)},FO=e=>e.includes(`does not allow this browser origin`)?`origin-denied`:e.includes(`out of date`)?`version-mismatch`:e.includes(`missing required capabilities`)||e.includes(`did not provide an instance identity`)?`capability-mismatch`:e.includes(`Another local service`)?`port-conflict`:e.includes(`instance changed`)?`instance-changed`:e.includes(`timed out`)?`timed-out`:e.includes(`companion is unavailable`)?`not-running`:null,IO=e=>e instanceof kO?e.issue:e instanceof Error?FO(e.message):null,LO=async e=>{let t,n;if(e.action===`health`)t=NO(`health`);else if(e.action===`threads`){let n=new URLSearchParams;n.set(`limit`,String(e.limit??gO)),e.thread&&n.set(`thread`,e.thread),t=`${NO(`threads`)}?${n.toString()}`}else if(e.action===`target`)t=NO(`target`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({thread:e.thread})};else if(e.action===`queue`)t=NO(`send`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e.message,thread:e.thread})};else if(e.action===`delivery`)t=NO(`deliveries/${encodeURIComponent(String(e.deliveryId??``))}`);else if(e.action===`restore`)t=NO(`deliveries/restore`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({deliveryId:e.deliveryId,thread:e.thread,queuedSubmissionId:e.queuedSubmissionId,clientUserMessageId:e.clientUserMessageId,message:e.message})};else throw Error(`Codex browser companion does not support ${e.action}.`);if(e.action!==`health`){let t=e.bridgeInstanceId?.trim();if(!t)throw new kO(`instance-changed`,`Mesurer Codex Bridge instance changed before this request could be verified.`);let r=new Headers(n?.headers);r.set(`X-Mesurer-Bridge-Instance`,t),n={...n,headers:r}}let r=new AbortController,i=e.action===`health`||e.action===`threads`?SO:CO,a=globalThis.setTimeout(()=>r.abort(),i);try{let i=await fetch(t,{...n,signal:r.signal}),a=await i.text(),o={};if(a)try{o=JSON.parse(a)}catch{o={error:a}}if(e.action===`health`&&PO(o),!i.ok||o.ok===!1){let e=o.error??`Mesurer Codex companion returned HTTP ${i.status}.`,t=FO(e);throw t?new kO(t,e):Error(e)}return o}catch(e){throw e instanceof Error&&e.name===`AbortError`?new kO(`timed-out`,`Mesurer Codex companion timed out.`):e instanceof TypeError?new kO(`not-running`,`Mesurer Codex companion is unavailable at ${vO}.`):e}finally{globalThis.clearTimeout(a)}},RO=async e=>{let t=window.__MESURER_HOST__?.codexBridge;if(!t)throw Error(`Codex native host bridge is unavailable.`);let n=await t(e);if(n.ok===!1)throw Error(n.error??`Codex Bridge request failed.`);return n},zO=e=>{let t=e.runtime;return!t||![`shared`,`standalone`,`desktop`,`none`].includes(t.source)||![`shared-app-server`,`desktop-queue`,`private-stdio`,`none`].includes(t.transport)||t.reason!==null&&t.reason!==`desktop-private-transport`&&t.reason!==`runtime-not-found`?null:{source:t.source,transport:t.transport,available:t.available===!0,reason:t.reason}},BO=e=>({thread:e.thread?.trim()||null,threads:Array.isArray(e.threads)?e.threads.filter(e=>e.trim().length>0):[]}),VO=e=>{let t=e.deliveryId?.trim(),n=e.thread?.trim(),r=e.status;if(!t||!n||!r)throw Error(`Codex Bridge returned an invalid delivery state.`);let i={id:t,thread:n,status:r,turnId:e.turnId?.trim()||null,createdAt:Number.isFinite(e.createdAt)?Number(e.createdAt):0,updatedAt:Number.isFinite(e.updatedAt)?Number(e.updatedAt):0};return e.queuedSubmissionId!==void 0&&(i.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.clientUserMessageId!==void 0&&(i.clientUserMessageId=e.clientUserMessageId?.trim()||null),e.dispatch!==void 0&&(i.dispatch=e.dispatch),e.dispatchError!==void 0&&(i.dispatchError=e.dispatchError?.trim()||null),i},HO=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}),UO=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(`
2270
- `).trimEnd()}},WO=e=>e.length>16?`${e.slice(0,8)}…${e.slice(-4)}`:e,GO=(e,t=42)=>e.length>t?`${e.slice(0,t-1)}…`:e,KO=e=>IO(e)!==null||e instanceof Error&&(e.message===`Codex Bridge is unavailable in this host.`||e.message.includes(`Codex Bridge lease`)||e.message.includes(`Mesurer Codex Bridge`));function qO(e={}){let t=e.instruction?.trim()||TO,n=e.ui??!0,r=e.clearCompletedAnnotations??!0;return{id:sO,version:pD,requires:[UD],provides:[cO],async setup(e){let i=e.service.get(UD);if(!i)throw Error(`Mesurer Codex plugin requires context() from mesurer-solid/plugins.`);let a=n?jO():null,o=`unknown`,s=null,c=!1,l=a?.originThread??null,u=a?.selectedThread??a?.originThread??null,d=!1,f=null,p=[],m=[],h=!1,g=_O,_,v=``,y=null,b=a?.delivery?{id:a.delivery.id,thread:a.delivery.thread,status:a.delivery.status,annotationIds:a.delivery.annotationIds,queuedSubmissionId:a.delivery.queuedSubmissionId??null,clientUserMessageId:a.delivery.clientUserMessageId??null,dispatch:a.delivery.dispatch??null,dispatchError:a.delivery.dispatchError??null}:null,x=0,S=0,C=null,w=!1,T=null,E=0,D=null,O=null,k=window.__MESURER_HOST__?.codexBridge!==void 0,A=async e=>{if(!k)try{let t=e.action===`queue`||e.action===`target`||e.action===`delivery`||e.action===`restore`;if(e.action===`health`){let t=await LO(e);return D=t.bridge?.instanceId?.trim()||null,E=Date.now(),t}return(!D||t||Date.now()-E>=wO)&&(D=(await LO({action:`health`,thread:u??l??void 0})).bridge?.instanceId?.trim()||null,E=Date.now()),await LO({...e,bridgeInstanceId:D??void 0})}catch(e){throw E=0,D=null,e}if(e.action===`activate`||e.action===`runtime`)return RO(e);if(!T)throw Error(`Codex Bridge lease is not active for this plugin.`);return RO({...e,leaseId:T})},j=async()=>{if(!k)return;let e=T;if(e){if((await RO({action:`deactivate`,leaseId:e})).released!==!0)throw Error(`Codex Bridge did not confirm lease release.`);T=null}};if(k){let e=await RO({action:`activate`,thread:u??l??void 0}),t=e.leaseId?.trim();if(!t)throw Error(`Codex Bridge did not return an activation lease.`);T=t,o=`available`,s=zO(e);let n=BO(e);c=!0,f=n.thread,p=n.threads}e.lifecycle.onDispose(()=>{T&&j().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`[Mesurer] Failed to release Codex host lease: ${t}`)})}),e.hook.on(lO,async e=>{e===`mesurer.codex`&&await j()});let M=async()=>{if(!k)return null;let e=zO(await A({action:`runtime`}));if(!e)throw Error(`Codex Bridge returned an invalid runtime state.`);return s=e,e},N=async()=>{let e=await A({action:`health`,thread:u??l??void 0});return s=zO(e)??s,BO(e)},P=N,F=async e=>VO(await A({action:`delivery`,deliveryId:e})),I=async e=>{if(!e.id||!e.thread)throw Error(`Cannot restore a Codex delivery without its id and thread.`);let n={action:`restore`,deliveryId:e.id,thread:e.thread};if(e.queuedSubmissionId&&(n.queuedSubmissionId=e.queuedSubmissionId),e.clientUserMessageId)n.clientUserMessageId=e.clientUserMessageId;else if(e.annotationIds.length>0){let r=await UO(i,{annotationIds:e.annotationIds},t);if(!(r.annotationIds.length===e.annotationIds.length&&r.annotationIds.every((t,n)=>t===e.annotationIds[n])))throw Error(`Cannot safely restore this Codex delivery because one or more saved Mesurer annotations are unavailable.`);n.message=r.message}return VO(await A(n))},L=async(e={})=>{let t={action:`threads`,limit:e.limit??gO},n=e.thread?.trim();return n&&(t.thread=n),HO(await A(t))},R=()=>u??l??(d?null:f),z=()=>{if(!n)return;let e=b?.id&&(b.status===`queued`||b.status===`working`||b.status===`completed`||b.status===`interrupted`||b.status===`failed`)?{id:b.id,thread:b.thread??R()??``,status:b.status,annotationIds:[...b.annotationIds],queuedSubmissionId:b.queuedSubmissionId,clientUserMessageId:b.clientUserMessageId,dispatch:b.dispatch,dispatchError:b.dispatchError}:null;MO({version:1,originThread:l,selectedThread:u,delivery:e?.thread?e:null})},B=(e,t=!1)=>{let n=e.trim();n&&((t||!l)&&(l=n),u=n,d=!1,z())},V=()=>!b||b.status===`queued`&&(b.dispatch===`desktop-opened`||b.dispatch===`desktop-wake-failed`)?!1:[`queueing`,`queued`,`working`,`completed`].includes(b.status),H=e=>e===`queueing`?`Queueing…`:e===`queued`?`Queued`:e===`working`?`Working…`:e===`completed`?`Done`:e===`interrupted`?`Interrupted`:`Failed`,U=()=>b?b.status===`queueing`?`Queueing to Codex…`:b.status===`queued`?b.dispatch===`desktop-wake-failed`?`Queued — open Codex`:`Queued for Codex`:b.status===`working`?`Codex working…`:b.status===`completed`?`Codex finished`:b.status===`interrupted`?`Codex interrupted`:`Queue failed`:null,W=()=>b?[`queueing`,`queued`,`working`].includes(b.status)?DO:b.status===`completed`?OO:EO:EO,ee=()=>{let e=[],t=new Set,n=n=>{t.has(n.id)||(t.add(n.id),e.push(n))},r=e=>({id:e,title:`Codex ${WO(e)}`,updatedAt:null,connected:!0});l&&n(m.find(e=>e.id===l)??r(l));let i=u;i&&n(m.find(e=>e.id===i)??r(i));for(let e of m)n(e);for(let e of p)n(m.find(t=>t.id===e)??r(e));return e},te=(e=!1)=>Promise.resolve(),ne=(e=!1)=>O===`origin-denied`?e?`Browser origin not allowed`:`Allow this browser origin`:O===`version-mismatch`?e?`Bridge version mismatch`:`Update Mesurer Codex Bridge`:O===`capability-mismatch`?e?`Bridge capability mismatch`:`Update Mesurer Codex Bridge`:O===`port-conflict`?e?`Port 47365 conflict`:`Port 47365 is occupied`:O===`timed-out`?e?`Bridge did not respond`:`Mesurer Codex Bridge did not respond`:O===`instance-changed`?e?`Codex bridge changed`:`Codex bridge changed; reconnecting`:O===`not-running`?e?`Bridge not running`:`Mesurer Codex Bridge is not running`:e?`Codex unavailable`:`Mesurer Codex Bridge is unavailable`,re=()=>k?s?.source===`desktop`?`Connected · Codex Desktop`:s?.source===`standalone`?`Connected · Codex CLI`:s?.source===`shared`?`Connected · Codex shared server`:`Connected · Codex`:p.length===0?`No reachable local Codex session`:`Connected · Local Codex Bridge`,ie=()=>{if(o!==`available`){let e=s?.source===`desktop`&&s.reason===`desktop-private-transport`,t=!k,n=[];return o===`unavailable`&&t&&n.push({id:`codex.connection.status`,label:ne(),disabled:()=>!0,run:()=>void 0}),n.push({id:`codex.thread.connect`,label:o===`unavailable`?t?`Retry Codex connection`:e?`Retry Codex Desktop`:`Retry Codex connection`:`Choose Codex thread…`,run:()=>te(!0)}),n}let e=ee(),t=e.slice(0,g),n=R(),r=[{id:`codex.connection.status`,label:re(),disabled:()=>!0,run:()=>void 0}];return!k&&p.length===0&&r.push({id:`codex.thread.refresh`,label:`Refresh Codex sessions`,run:()=>te(!0)}),r.push(...t.map(e=>{let t=e.id===l?`Current · `:e.connected?`Loaded · `:``,r=b?.thread===e.id?` · ${H(b.status)}`:``;return{id:`codex.thread.${e.id}`,label:`${t}${GO(e.title)}${r}`,checked:()=>n===e.id,disabled:()=>V(),run(){V()||(B(e.id,!l),G())}}})),g<gO&&(e.length>g||h)&&r.push({id:`codex.thread.show-more`,label:`Show 5 more…`,run(){g=gO,G()}}),b?.queuedSubmissionId&&b.status===`queued`&&(b.dispatch===`desktop-opened`||b.dispatch===`desktop-wake-failed`)&&r.push({id:`codex.delivery.receipt`,label:`Receipt · ${WO(b.queuedSubmissionId)}`,disabled:()=>!0,run:()=>void 0}),r},G=()=>{if(!n||w)return;let t=R(),r=ie(),i=!V()&&!d&&o!==`unavailable`&&(o===`unknown`||!!t),a=s?.source===`desktop`&&s.reason===`desktop-private-transport`,c=!k,l=ne(!0),u=U()??(o===`unavailable`?c?l:a?`Codex Desktop not connected`:`Codex unavailable`:o===`available`&&!k&&p.length===0?`No reachable Codex session`:d||o===`available`&&!t?`Choose Codex thread`:`Queue to Codex`),f=JSON.stringify({bridgeAvailability:o,codexRuntime:s,routeNeedsSelection:d,target:t,label:u,visibleThreadCount:g,activeDelivery:b,items:r.map(e=>({id:e.id,label:e.label,checked:e.checked?.()??null,disabled:e.disabled?.()??!1}))});f!==v&&(v=f,_?.dispose(),_=e.tool.register({id:`codex.send`,label:u,command:`codex.queue`,order:73,toolbarMode:`always`,icon:W(),disabled:()=>!i,menu:r.length?{label:`Codex destination`,items:r}:void 0}))},ae=async e=>{if(o!==`available`)return;let t=await L({limit:gO,thread:e??void 0});m=t.threads,h=t.hasMore,p=t.threads.filter(e=>e.connected).map(e=>e.id),f=t.thread};te=(e=!1)=>w||o===`unknown`&&!e?Promise.resolve():y||(y=(async()=>{try{let e=await P();o=`available`,O=null,c=!0,f=e.thread,await ae(u??l??e.thread);let t=u??l;t&&p.includes(t)?d=!1:p.length===1?B(p[0],!0):d=!0,!d&&t&&z()}catch(e){throw o=`unavailable`,O=k?null:IO(e)??`unavailable`,s=await M().catch(()=>s),e}finally{y=null,G()}})(),y);let oe=()=>{x&&=(globalThis.clearTimeout(x),0),S&&=(globalThis.clearTimeout(S),0)},se=()=>{S&&globalThis.clearTimeout(S),S=globalThis.setTimeout(()=>{S=0,b?.status===`completed`&&(b=null,z(),G())},pO)},ce=async e=>{if(!(!b||b.id!==e.id)){if(b={...b,thread:e.thread,status:e.status,queuedSubmissionId:e.queuedSubmissionId??b.queuedSubmissionId,clientUserMessageId:e.clientUserMessageId??b.clientUserMessageId,dispatch:e.dispatch??b.dispatch,dispatchError:e.dispatchError??b.dispatchError},z(),e.status===`completed`){if(z(),G(),r&&b.annotationIds.length>0){let t=!1;for(let e of b.annotationIds)try{await i.removeAnnotation(e)}catch{t=!0}let n=b.annotationIds;try{let e=new Set((await i.annotations()).map(e=>e.id));n=b.annotationIds.filter(t=>e.has(t))}catch{t=!0}if(t||n.length>0){z(),G(),x=globalThis.setTimeout(()=>{x=0,le(e.id)},dO);return}}z(),G(),se();return}if(e.status===`interrupted`){z(),G();let t=e.updatedAt>0?e.updatedAt:Date.now();Date.now()-t<hO&&(x=globalThis.setTimeout(()=>{x=0,le(e.id)},mO));return}G(),x=globalThis.setTimeout(()=>{x=0,le(e.id)},fO)}},le=async e=>{if(!(w||b?.id!==e))try{await ce(await F(e))}catch(t){if(b?.id!==e)return;let n=t;if((b.status===`queued`||b.status===`failed`)&&b.thread)try{o!==`available`&&await te(!0);let e=await I(b);await ce(e);return}catch(e){n=e}if(b?.id!==e)return;if(b.status===`interrupted`){G();return}b={...b,status:`failed`},z(),KO(n)&&(o=`unavailable`),G()}},ue={health:N,listThreads:L,delivery:F,async useThread(e){let t=e.trim();if(!t)throw Error(`Codex thread must be a non-empty string.`);let n=await A({action:`target`,thread:t}),r=BO(n);return s=zO(n)??s,B(t,!l),f=r.thread,p=r.threads,o=`available`,c=!0,G(),r},async queue(e){let r=await UO(i,e,t),a=e?.thread?.trim(),s=a||(n?R():null);if(n&&!a&&(d||!s))throw Error(`Choose a Codex thread before queueing feedback.`);let c={message:r.message};s&&(c.thread=s);try{let e=await A({action:`queue`,...c}),t=e.thread?.trim();if(!t)throw Error(`Codex Bridge did not report the destination thread.`);let n={thread:t,output:e.output??``,delivery:`queued`,deliveryId:e.deliveryId?.trim()||null,status:e.status??`queued`,annotationIds:r.annotationIds};return e.queuedSubmissionId!==void 0&&(n.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.clientUserMessageId!==void 0&&(n.clientUserMessageId=e.clientUserMessageId?.trim()||null),e.dispatch!==void 0&&(n.dispatch=e.dispatch),e.dispatchError!==void 0&&(n.dispatchError=e.dispatchError?.trim()||null),n}catch(e){throw n&&KO(e)&&(o=`unavailable`,O=k?null:IO(e)??`unavailable`,G()),e}},send(e){return ue.queue(e)}};e.service.provide(cO,ue);let de=async()=>{if(!(C||V())){if(b?.status===`failed`&&b.id){oe(),await le(b.id);return}return oe(),b={id:null,thread:R(),status:`queueing`,annotationIds:[],queuedSubmissionId:null,clientUserMessageId:null,dispatch:null,dispatchError:null},G(),C=(async()=>{try{n&&o!==`available`&&await te(!0);let e=await ue.queue();b={id:e.deliveryId,thread:e.thread,status:e.status,annotationIds:e.annotationIds,queuedSubmissionId:e.queuedSubmissionId??null,clientUserMessageId:e.clientUserMessageId??null,dispatch:e.dispatch??null,dispatchError:e.dispatchError??null},B(e.thread,!l),z(),G(),console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`),e.deliveryId?e.status===`completed`||e.status===`interrupted`?await ce({id:e.deliveryId,thread:e.thread,status:e.status,turnId:null,createdAt:0,updatedAt:0}):x=globalThis.setTimeout(()=>{x=0,le(e.deliveryId)},dO):S=globalThis.setTimeout(()=>{S=0,b?.id===null&&b?.status===`queued`&&(b=null,z(),G())},pO)}catch(e){b=null,z(),G();let t=e instanceof Error?e.message:String(e);throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`),e}finally{C=null}})(),C}};if(e.command.register(`codex.queue`,de),e.command.register(`codex.send`,de),n){if(G(),k)try{await te(!0)}catch(e){try{await j()}catch(t){let n=e instanceof Error?e.message:String(e),r=t instanceof Error?t.message:String(t);throw Error(`Codex activation failed: ${n}. Native lease release also failed: ${r}.`)}throw e}else te(!0).catch(()=>void 0);b?.id&&(c=!0,x=globalThis.setTimeout(()=>{x=0,b?.id&&le(b.id)},0));let t=globalThis.setInterval(()=>{k&&!c||te(!0).catch(()=>void 0)},k?uO:wO);e.lifecycle.onDispose(()=>{w=!0,oe(),globalThis.clearInterval(t),_?.dispose(),_=void 0})}}}}var JO=IT,YO=(e={})=>({...rE(e),version:pD}),XO=gE,ZO=(e={})=>({...IE(e),version:pD}),QO=()=>globalThis.window?.__MESURER_HOST__?.codexBridge!==void 0,$O=[{id:HD,label:`Context`,order:30,create:$D,settingsIds:[`context`],hiddenSettingsControlIds:[`ui`]},{id:mD,label:`Edit`,order:35,create:gD,settingsIds:[`arrange`]},{id:zD,label:`Layout Guides`,order:38,create:VD},{id:XO,label:`Screenshot`,order:40,create:ZO,settingsIds:[`screenshot`],hiddenSettingsControlIds:[`tool`]},{id:JO,label:`Recording`,order:42,create:YO,settingsIds:[`recording`],hiddenSettingsControlIds:[`tool`]},{id:sO,label:`Codex`,order:45,create:qO}],ek=e=>{let t=e!==void 0,n=new Map((e??[]).map(e=>[e.id,e])),r=new Set($O.map(e=>e.id)),i=$O.map(e=>{let r=n.get(e.id);return{...e,settingsIds:e.settingsIds?[...e.settingsIds]:void 0,hiddenSettingsControlIds:e.hiddenSettingsControlIds?[...e.hiddenSettingsControlIds]:void 0,enabled:t?!!r:e.id===`mesurer.codex`?QO():e.enabled!==!1,create:r?()=>r:e.create}});for(let[t,n]of(e??[]).entries())r.has(n.id)||i.push({id:n.id,order:1e3+t,enabled:!0,create:()=>n});return i},tk={select:`select`,xray:`xray`,colorPicker:`color-picker`,rulers:`rulers`,typography:`text-inspector`,guides:`guides`,distance:`distance`,settings:`settings`};function nk(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=oO(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=fD({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(UD);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(_D);if(!e)throw Error(`Mesurer Edit is disabled. Enable it in Settings or include edit() in plugins.`);return e},F=async e=>(await N()).context(e),I=async e=>(await N()).contextText(e),L=async e=>(await N()).copyContext(e),R=async e=>(await N()).select(e),z=async()=>(await N()).annotations(),B=async e=>(await N()).review(e),V=async e=>(await N()).capturePlan(e),H=async()=>(await N()).prepareCapture(),U=async()=>(await N()).finishCapture(),W=async()=>(await P()).intents(),ee=async e=>{let t=(await P()).intent(e);if(!t)throw Error(`Edit movement intent not found: ${e}`);return t},te=async(e,t)=>{(await P()).show(e,t)},ne=async(e,t)=>(await P()).capturePlan(e,t),re=async(e,t)=>(await P()).review(e,t),ie=()=>j.textEdits(),G=e=>j.textEdit(e),ae=Object.assign(j,{capabilities:()=>{let e=!!b?.service.get(UD);return{protocol:`mesurer.agent/v1`,contextSchema:`mesurer.context/v1`,capabilities:{context:e,select:e,annotations:e,review:e,capturePlan:e,arrange:!!b?.service.get(_D),textEdit:!!b?.service.get(uD)}}},context:F,contextText:I,select:R,annotations:z,review:B,capturePlan:V,prepareCapture:H,finishCapture:U,arrangements:W,arrange:ee,showArrange:te,arrangeCapturePlan:ne,reviewArrange:re}),oe={...f,version:pD,plugins:ek(l),excludePlugins:u?u.map(e=>tk[e]):[...d??[]]},se=Oo(()=>mo(vC,Xa(oe,{portalTarget:y,pageTarget:t,onPluginHost:e=>{T||(T=!0,x(e)),b=e,s?.(e)},onPluginsReady:e=>{b=e,E||(E=!0,C(e)),c?.(e)}})),v),ce,le=new Promise((e,t)=>{ce=t});le.catch(()=>void 0);let ue=Promise.race([(async()=>(await ae.ready(),k()))(),le]);ue.catch(()=>void 0);let de=null;if(A){let e=A.globalName??`__MESURER__`,t=Object.getOwnPropertyDescriptor(m,e);Reflect.set(m,e,ae),de=()=>{Object.getOwnPropertyDescriptor(m,e)?.value===ae&&(t?Object.defineProperty(m,e,t):Reflect.deleteProperty(m,e))}}let fe=!1,pe=()=>void 0,me=e=>{T||S(e),E||w(e),ce(e)},he={element:h,root:_,hostLayer:g.mode,get pluginHost(){return b},ready:ue,agent:ae,service:M,context:F,contextText:I,copyContext:L,select:R,annotations:z,review:B,capturePlan:V,prepareCapture:H,finishCapture:U,arrangements:W,arrange:ee,showArrange:te,arrangeCapturePlan:ne,reviewArrange:re,textEdits:ie,textEdit:G,bringToFront:g.bringToFront,describe:async()=>(await ue).describe(),dispose(){fe||(fe=!0,pe(),me(new DOMException(`Mesurer was disposed before it became ready.`,`AbortError`)),de?.(),se(),g.dispose(),h.remove())}};if(o){let e=()=>{if(fe)return;let e=o.reason??new DOMException(`Mesurer mount aborted.`,`AbortError`);me(e),he.dispose()};o.addEventListener(`abort`,e,{once:!0}),pe=()=>{o.removeEventListener(`abort`,e)}}return he}var{target:rk,globalName:ik=`__MESURER__`,reuseExisting:ak=!0,recoverDisconnected:ok=!1,...sk}=globalThis.__MESURER_CONFIG__??{},ck=globalThis.__MESURER_INSTANCE__,lk=ak&&ck?.element.isConnected?ck:void 0,uk=()=>{let e=rk?document.querySelector(rk):document.body;if(!e)throw Error(`Mesurer injection target not found: ${rk}`);return globalThis.__MESURER_INSTANCE__?.dispose(),nk({...sk,target:e,agent:{globalName:ik,root:document}})},dk=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()}}},fk=lk??uk();globalThis.__MESURER_INSTANCE__=fk,globalThis.__MESURER_INJECT_RECOVERY__?.stop(),globalThis.__MESURER_INJECT_RECOVERY__=void 0,ok&&dk(uk),fk.ready.catch(e=>{queueMicrotask(()=>{throw e})})})(__MESURER_MEDIABUNNY__);
2309
+ `,t.head.append(s),i.append(a);let c=!1;return{element:a,dispose(){c||(c=!0,o(),s.remove(),a.remove())}}}var zC=e=>`color-mix(in srgb, ${e.color} ${e.opacity*100}%, transparent)`,BC=e=>e===`max`?`end`:e===`center`?`center`:`start`,VC=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=BC(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 HC(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(go,{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(go,{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":zC(e)}),(e,n)=>{$(t,`style`,e,n)}),t})()})),J(()=>({e:e.id,t:e.kind,a:VC(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, ${zC(e)} 1px, transparent 1px), linear-gradient(to bottom, ${zC(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 UC=`#FF0000`,WC=.1,GC=new Set([`columns`,`rows`,`grid`]),KC=new Set([`stretch`,`min`,`center`,`max`]),qC=(e,t,n)=>Math.min(n,Math.max(t,e)),JC=(e,t)=>e!==void 0&&Number.isFinite(e)?e:t,YC=(e={})=>{let t=e.kind&&GC.has(e.kind)?e.kind:`columns`,n=e.align&&KC.has(e.align)?e.align:t===`grid`?`min`:`stretch`,r=e.id?.trim(),i=e.color?.trim();return{id:r||Fl(),kind:t,visible:e.visible??!0,color:i||`#FF0000`,opacity:qC(JC(e.opacity,WC),0,1),count:qC(Math.round(JC(e.count,5)),1,24),size:qC(JC(e.size,72),1,4096),gutter:qC(JC(e.gutter,20),0,800),offset:qC(JC(e.offset,0),0,4096),align:n}},XC=e=>(e??[]).map(YC),ZC=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)`},QC=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})(),$C=e=>e.kind===`rows`?Y($h,{size:14}):e.kind===`grid`?Y(Zh,{size:14}):Y(Qh,{size:14}),ew=`msr:grid-cols-[78px_minmax(0,1fr)]`,tw=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})(),nw=e=>(()=>{var t=X(`span`,{class:`msr:relative msr:block msr:w-full`}),n=X(`select`,{class:hh,onPointerDown:e=>e.stopPropagation(),onChange:t=>e.onChange(t.currentTarget.value)});return Z(t,n),Q(n,()=>e.children),Q(t,Y(gh,{}),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})(),rw=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(_h,{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}})},iw=e=>e===`rows`||e===`grid`?e:`columns`,aw=e=>e===`min`||e===`center`||e===`max`?e:`stretch`,ow=e=>{let t=co(()=>e.guide.kind===`rows`?{stretch:`Stretch`,min:`Top`,center:`Center`,max:`Bottom`}:{stretch:`Stretch`,min:`Left`,center:`Center`,max:`Right`}),n=co(()=>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(nw,{label:`Layout guide type`,get value(){return e.guide.kind},onChange:t=>{let n=iw(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,ec(`Columns`)),e})(),(()=>{var e=X(`option`,{value:`rows`});return Z(e,ec(`Rows`)),e})(),(()=>{var e=X(`option`,{value:`grid`});return Z(e,ec(`Grid`)),e})()]}}),a),Q(a,Y(QC,{})),Q(r,Y(q,{get when(){return e.guide.kind!==`grid`},get children(){return Y(tw,{label:`Count`,get children(){return Y(rw,{label:`Count`,get value(){return e.guide.count},min:1,max:24,onChange:t=>e.onUpdate({count:t})})}})}}),null),Q(r,Y(vh,{label:`Color`,columns:ew,get value(){return Nc({...jc(e.guide.color)??jc(`#FF0000`),alpha:e.guide.opacity})},fallback:UC,get ownerWindow(){return e.ownerWindow},onChange:t=>{let n=jc(t);e.onUpdate({color:n?Nc({...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(tw,{label:`Type`,get children(){return Y(nw,{label:`Alignment`,get value(){return e.guide.align},onChange:t=>e.onUpdate({align:aw(t)}),get children(){return Y(go,{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(tw,{get label(){return n()},get children(){return Y(rw,{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(tw,{label:`Offset`,get children(){return Y(rw,{label:`Offset`,get value(){return e.guide.offset},min:0,max:4096,onChange:t=>e.onUpdate({offset:t})})}}),Y(tw,{label:`Gutter`,get children(){return Y(rw,{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 sw(e){let[t,n]=K(null),r=co(()=>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,ec(`Layout guides`)),Q(a,Y(eg,{})),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,ec(`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(go,{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($C,{get kind(){return t.kind}})),Q(o,()=>ZC(t)),Q(i,Y(Wh,{size:8,class:`msr:block msr:-rotate-90 msr:text-ink-400`}),null),Q(s,(()=>{var e=$s(()=>!!t.visible);return()=>e()?Y(tg,{}):Y(ng,{})})()),Q(c,Y(Kh,{size:10,class:`msr:block`})),J(()=>({e:t.visible?`Hide ${ZC(t)}`:`Show ${ZC(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 ${ZC(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(ow,{get guide(){return t()},get ownerWindow(){return e.ownerWindow},onBack:()=>n(null),onUpdate:n=>e.onUpdate(t().id,n)})})),i}var cw=`mesurer.layout-guides`,lw=`layout-guides:v1`,uw=`mesurer.layout-guides.pages`,dw=`mesurer.layout-guides.active`,fw=`runtime:solid`,pw=`layout-guides.toggle`,mw=`layout-guides.add`,hw=`layout-guides.update`,gw=`layout-guides.remove`,_w=`layout-guides.clear`,vw=240,yw=8,bw=8,xw=()=>({pages:{}}),Sw=(e,t)=>e.pages[t]??[],Cw=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ww=e=>typeof e==`string`,Tw=e=>typeof e==`boolean`,Ew=e=>typeof e==`number`,Dw=e=>e===`columns`||e===`rows`||e===`grid`,Ow=e=>e===`stretch`||e===`min`||e===`center`||e===`max`,kw=e=>({...e}),Aw=e=>e.map(kw),jw=e=>Cw(e)?e:null,Mw=e=>{if(!e)return{};let t={};return ww(e.id)&&(t.id=e.id),Dw(e.kind)&&(t.kind=e.kind),Tw(e.visible)&&(t.visible=e.visible),ww(e.color)&&(t.color=e.color),Ew(e.opacity)&&(t.opacity=e.opacity),Ew(e.count)&&(t.count=e.count),Ew(e.size)&&(t.size=e.size),Ew(e.gutter)&&(t.gutter=e.gutter),Ew(e.offset)&&(t.offset=e.offset),Ow(e.align)&&(t.align=e.align),t},Nw=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},Pw={viewBox:`0 0 256 256`,paths:[`M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z`,`M101 56h8v144h-8zM147 56h8v144h-8z`]},Fw=()=>wc({id:cw,version:`0.1.0`,requires:[fw],provides:[lw,`tool:layout-guides`],setup(e){let t=e.service.get(fw);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:uw,initial:xw(),history:!0,persist:!0}),e.state.register({id:dw,initial:!1});let r=Mu(t.ownerWindow),i=!1,[a,o]=K(0),s=new Set,c=0,l=()=>e.state.get(`mesurer.layout-guides.pages`)??xw(),u=()=>e.state.get(`mesurer.layout-guides.active`)??!1,d=()=>XC(Sw(l(),r)),f=()=>(a(),u()?d():[]),p=t=>{e.state.update(dw,()=>t)},m=t=>{e.state.update(uw,e=>({...e,pages:{...e.pages,[r]:Aw(t(XC(e.pages[r])))}}))};e.command.register(pw,()=>{let e=!u();return e&&d().length===0&&m(()=>[YC()]),i=e,p(e),u()}),e.command.register(mw,e=>{let t=YC(Mw(jw(e)));return m(e=>[...e,t]),{...t}}),e.command.register(hw,e=>{let t=jw(e),n=t&&ww(t.id)?t.id:null,r=Mw(jw(t?.patch));if(!n)throw Error(`layout-guides.update requires a guide id.`);m(e=>e.map(e=>e.id===n?YC({...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(gw,e=>{let t=jw(e),n=t&&ww(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(_w,()=>{m(()=>[])});let h=async(t,n)=>{let r=jw(await e.command.execute(t,n));if(!r)throw Error(`${t} did not return a layout guide.`);return YC(Mw(r))},g={list:()=>d().map(e=>({...e})),add:(e={})=>h(mw,Nw(e)),update:(e,t)=>h(hw,{id:e,patch:Nw(t)}),async remove(t){return await e.command.execute(gw,{id:t})===!0},async clear(){await e.command.execute(_w)},subscribe(e){s.add(e);let t=!1;return()=>{t||(t=!0,s.delete(e))}}};e.service.provide(lw,g),e.tool.register({id:`layout-guides`,label:`Layout guides`,shortcut:`L`,command:pw,order:38,toolbarMode:`always`,compactPinned:!0,icon:Pw,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=Qs(()=>Y(HC,{get guides(){return f()}}),_),y=t.createInspectorMount();y.element.dataset.mesurerLayoutGuidesPanelRoot=`true`,Object.assign(y.element.style,{position:`fixed`,left:`0`,top:`0`,width:`${vw}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(bw,n.right-vw),Math.max(bw,t.ownerWindow.innerWidth-vw-bw)),a=t.ownerWindow.innerHeight-n.bottom-yw-bw,o=Math.min(320,t.ownerWindow.innerHeight-16),s=a>=Math.min(o,320)?n.bottom+yw:Math.max(bw,n.top-yw-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=Qs(()=>Y(sw,{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=Iu(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()})}}),Iw=`mesurer:recording-bridge-ping`,Lw=`mesurer:recording-bridge-request`,Rw=`mesurer:recording-bridge-response`,zw=`position:fixed;left:0;top:0;width:1px;height:1px;margin:0;padding:0;border:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none`,Bw=.01,Vw=e=>({width:e.innerWidth,height:e.innerHeight}),Hw=(e,t,n,r)=>{let i=Math.max(1,r.width),a=Math.max(1,r.height),o=t/i,s=n/a,c=Math.abs(o-s)<=Bw*Math.max(o,s),l=c?o:Math.min(o,s),u=c?0:(t-i*l)/2,d=c?0:(n-a*l)/2,f=c?o:l,p=c?s:l,m=u+e.left*f,h=d+e.top*p,g=u+(e.left+e.width)*f,_=d+(e.top+e.height)*p,v=Math.max(g-m,1e-6),y=Math.max(_-h,1e-6),b=Math.max(0,Math.min(t,m)),x=Math.max(0,Math.min(n,h)),S=Math.max(0,Math.min(t,g)),C=Math.max(0,Math.min(n,_)),w=Math.max(0,Math.round(b)),T=Math.max(0,Math.round(x)),E=Math.min(t,Math.round(S)),D=Math.min(n,Math.round(C));return{sx:w,sy:T,sw:Math.max(1,E-w),sh:Math.max(1,D-T),dx:(b-m)/v,dy:(x-h)/y,dw:Math.max(0,S-b)/v,dh:Math.max(0,C-x)/y}},Uw=(e,t)=>{let n=e.createElement(`div`);return n.dataset.mesurerRecordingCrop=`true`,n.setAttribute(`aria-hidden`,`true`),n.style.position=`fixed`,n.style.left=`${t.left}px`,n.style.top=`${t.top}px`,n.style.width=`${t.width}px`,n.style.height=`${t.height}px`,n.style.margin=`0`,n.style.padding=`0`,n.style.border=`0`,n.style.background=`transparent`,n.style.opacity=`0`,n.style.pointerEvents=`none`,e.body.append(n),n},Ww=async(e,t)=>{let n=e.cropTo,r=globalThis.CropTarget;if(!n||!r)return!1;let i=await r.fromElement(t);return await n.call(e,i),!0},Gw=(e,t)=>new Promise(n=>{let r=!1,i=()=>{r||(r=!0,t.clearTimeout(a),n())},a=t.setTimeout(i,250),o=e;if(o.requestVideoFrameCallback){o.requestVideoFrameCallback(i);return}t.requestAnimationFrame(i)}),Kw=e=>e.location.origin===`null`?`*`:e.location.origin,qw=(e,t,n=``)=>`${e}:${t}:${n}`,Jw=(e,t,n)=>{let r=`${t}:${n}:`;return e.startsWith(r)?e.slice(r.length):null},Yw=e=>e.crypto?.randomUUID?.()??`mesurer-recording-${Date.now()}-${Math.random().toString(36).slice(2)}`,Xw=e=>new Promise(t=>{let n=Yw(e),r=e.location.origin,i=o=>{o.source===e&&o.origin===r&&Jw(String(o.data??``),`mesurer:recording-bridge-pong`,n)!==null&&(e.removeEventListener(`message`,i),e.clearTimeout(a),t(!0))},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(!1)},80);e.addEventListener(`message`,i),e.postMessage(qw(Iw,n),Kw(e))}),Zw=e=>new Promise(t=>{let n=Yw(e),r=e.location.origin,i=o=>{if(o.source!==e||o.origin!==r)return;let s=Jw(String(o.data??``),Rw,n);if(s!==null){if(e.removeEventListener(`message`,i),e.clearTimeout(a),!s.startsWith(`ok:`)){t(null);return}t(s.slice(3)||null)}},a=e.setTimeout(()=>{e.removeEventListener(`message`,i),t(null)},1500);e.addEventListener(`message`,i),e.postMessage(qw(Lw,n),Kw(e))}),Qw=e=>e.__MESURER_RECORDING_HOST__?.captureRecordingStream??e.__MESURER_HOST__?.captureRecordingStream,$w=async(e,t)=>{let n=Qw(e);if(!n)throw Error(`Native recording capture is unavailable.`);let r=(await n())?.streamId?.trim();if(!r)throw Error(`Native recording capture returned no stream id.`);let i={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:r}};return t.getUserMedia({audio:!1,video:i})},eT=async(e,t)=>{if(!e.isSecureContext||!await Xw(e))return null;let n=await Zw(e);if(!n)return null;let r={mandatory:{chromeMediaSource:`tab`,chromeMediaSourceId:n}};return t.getUserMedia({audio:!1,video:r})},tT=async(e,t)=>{let n=e.getVideoTracks()[0];if(!n?.applyConstraints)return e;try{await n.applyConstraints({frameRate:{ideal:t,max:t}})}catch{}return e},nT=async(e,t)=>{let n=e.navigator.mediaDevices;if(!n)throw Error(`Screen recording is unavailable in this browser.`);if(Qw(e))return tT(await $w(e,n),t);try{let r=await eT(e,n);if(r)return tT(r,t)}catch{}if(!n.getDisplayMedia)throw Error(`Screen recording is unavailable in this browser.`);let r={ideal:t,max:t},i={audio:!1,video:{displaySurface:`browser`,frameRate:r},preferCurrentTab:!0,selfBrowserSurface:`include`};try{return tT(await n.getDisplayMedia(i),t)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)throw e;return tT(await n.getDisplayMedia({audio:!1,video:{frameRate:r}}),t)}},rT=async(e,t,n,r=60)=>{let i=await nT(t,r),a=i.getVideoTracks()[0];if(!a)throw i.getTracks().forEach(e=>e.stop()),Error(`No video track was selected.`);if(a.getSettings().displaySurface&&a.getSettings().displaySurface!==`browser`)throw i.getTracks().forEach(e=>e.stop()),Error(`Select the current browser tab to record this region.`);let o=e.createElement(`video`);o.autoplay=!0,o.muted=!0,o.playsInline=!0,o.srcObject=i,o.setAttribute(`playsinline`,``),o.setAttribute(`aria-hidden`,`true`),o.style.cssText=zw,e.body.append(o);try{await o.play(),(o.videoWidth<=0||o.videoHeight<=0)&&await new Promise((e,t)=>{o.addEventListener(`loadeddata`,()=>e(),{once:!0}),o.addEventListener(`error`,()=>t(Error(`Could not read the selected video track.`)),{once:!0})});let r=Uw(e,n),s=!1;try{s=await Ww(a,r)}catch{s=!1}s||r.remove(),await Gw(o,t);let c=t.devicePixelRatio||1,l=Hw(n,o.videoWidth,o.videoHeight,Vw(t)),u=e.createElement(`canvas`);u.width=s?Math.max(2,Math.round(n.width*c)):l.sw,u.height=s?Math.max(2,Math.round(n.height*c)):l.sh,u.setAttribute(`aria-hidden`,`true`),u.style.cssText=zw,e.body.append(u);let d=u.getContext(`2d`,{alpha:!1});if(!d)throw u.remove(),Error(`Screen recording requires a 2D canvas.`);let f={stream:i,track:a,source:o,canvas:u,context:d,cropTarget:s?r:null,regionLocked:s};return iT(f,n,Vw(t)),f}catch(e){throw o.pause(),o.srcObject=null,o.remove(),i.getTracks().forEach(e=>e.stop()),e}},iT=(e,t,n)=>{let{source:r,canvas:i,context:a,regionLocked:o}=e;if(r.videoWidth<=0||r.videoHeight<=0)return;if(o){a.drawImage(r,0,0,i.width,i.height);return}let s=Hw(t,r.videoWidth,r.videoHeight,n),c=s.dx<=.001&&s.dy<=.001&&s.dw>=.999&&s.dh>=.999,l=c?0:s.dx*i.width,u=c?0:s.dy*i.height,d=c?i.width:s.dw*i.width,f=c?i.height:s.dh*i.height;c||(a.fillStyle=`#000`,a.fillRect(0,0,i.width,i.height)),!(d<1||f<1||s.dw<=0||s.dh<=0)&&a.drawImage(r,s.sx,s.sy,s.sw,s.sh,l,u,d,f)},aT=e=>{e.source.pause(),e.source.srcObject=null,e.stream.getTracks().forEach(e=>e.stop()),e.cropTarget?.remove(),e.canvas.remove(),e.source.remove()},oT={webm:`video/webm`,mp4:`video/mp4`},sT=[`vp9`,`vp8`],cT=[`avc`],lT=t=>new e.Quality(t),uT=(e,t)=>Number.isFinite(e)&&e>0?e:t,dT=(e,t,n)=>{let r=Math.max(2,Math.round(uT(e,2))),i=Math.max(2,Math.round(uT(t,2)));return n===`mp4`&&(r%2!=0&&(r+=1),i%2!=0&&(i+=1)),{width:r,height:i}},fT=(e,t={})=>{let n=Math.max(.001,uT(e.duration,.001)),r=Math.min(n,Math.max(0,Number.isFinite(t.startTime)?t.startTime??0:0)),i=Number.isFinite(t.endTime)?t.endTime??n:n,a=Math.min(n,Math.max(r+.001,i));return{format:t.format??`webm`,startTime:r,endTime:a,scale:t.scale??1,quality:t.quality??`medium`}},pT=e=>e===`webm`?sT:cT,mT=async(t,n,r,i,a=`medium`)=>{let o=dT(n,r,t),s=lT(a);for(let n of pT(t))if(await(0,e.canEncodeVideo)(n,{width:o.width,height:o.height,frameRate:i,quality:s}))return n;return null},hT=async(e,t,n=30)=>{let r=[];return await mT(`webm`,e,t,n)&&r.push(`webm`),await mT(`mp4`,e,t,n)&&r.push(`mp4`),r},gT=t=>t===`webm`?new e.WebMOutputFormat:new e.Mp4OutputFormat,_T=async(t,n={})=>{let r=n.format??`webm`,i=Math.max(1,Math.min(120,Math.round(n.frameRate??30))),a=n.quality??`medium`,o=t.width,s=t.height,c=await mT(r,o,s,i,a);if(!c)throw Error(`MediaBunny cannot encode ${r.toUpperCase()} at ${o}×${s} in this runtime.`);let l=new e.BufferTarget,u=new e.Output({format:gT(r),target:l}),d=new e.CanvasSource(t,{codec:c,quality:lT(a)});u.addVideoTrack(d,{frameRate:i}),await u.start();let f=!1,p=-1;return{format:r,mimeType:oT[r],codec:c,async addFrame(e,t=1/i){if(f)throw Error(`Recording session is already closed.`);if(!Number.isFinite(e)||e<0)throw TypeError(`Recording frame timestamp must be a non-negative finite number.`);if(!Number.isFinite(t)||t<0)throw TypeError(`Recording frame duration must be a non-negative finite number.`);if(e<=p)throw Error(`Recording frame timestamps must increase monotonically.`);p=e,await d.add(e,t)},finalize:async()=>{if(f)throw Error(`Recording session is already closed.`);if(f=!0,d.close(),await u.finalize(),!l.buffer||l.buffer.byteLength===0)throw Error(`MediaBunny produced an empty recording.`);return new Blob([l.buffer],{type:oT[r]})},async cancel(){if(!f){f=!0,d.close();try{await u.cancel()}catch{}}}}},vT=async t=>{let n=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS});try{if(!await n.canRead())throw Error(`MediaBunny cannot read the recording.`);let e=await n.getPrimaryVideoTrack();if(!e)throw Error(`Recording has no video track.`);let[t,r,i]=await Promise.all([n.computeDuration(),e.getCodedWidth(),e.getCodedHeight()]);return{duration:Math.max(.001,t),width:r,height:i}}finally{n.dispose()}},yT=async(t,n={})=>{let r=await vT(t),i=fT(r,n),a=dT(r.width*i.scale,r.height*i.scale,i.format),o=await mT(i.format,a.width,a.height,30,i.quality);if(!o)throw Error(`MediaBunny cannot export ${i.format.toUpperCase()} in this runtime.`);let s=new e.Input({source:new e.BlobSource(t),formats:e.ALL_FORMATS}),c=new e.BufferTarget,l=new e.Output({format:gT(i.format),target:c});try{let t=await e.Conversion.init({input:s,output:l,trim:{start:i.startTime,end:i.endTime},video:{codec:o,width:a.width,height:a.height,fit:`fill`,quality:lT(i.quality),forceTranscode:!0},audio:{discard:!0}});if(!t.isValid)throw Error(`MediaBunny cannot convert this recording to ${i.format.toUpperCase()}.`);if(await t.execute(),!c.buffer||c.buffer.byteLength===0)throw Error(`MediaBunny produced an empty export.`);let n=new Blob([c.buffer],{type:oT[i.format]}),r=await vT(n);return{blob:n,format:i.format,duration:r.duration,width:r.width,height:r.height}}finally{s.dispose()}},bT=(e,t=new Date)=>`mesurer-recording-${t.toISOString().replace(/[:.]/g,`-`)}.${e}`,xT=10,ST=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},CT=(e,t,n)=>{let r=e.createElement(`button`);return r.type=`button`,r.setAttribute(`aria-label`,t),r.title=t,r.textContent=n,ST(r,{display:`inline-flex`,width:`20px`,height:`20px`,padding:`0`,border:`0`,"border-radius":`5px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"align-items":`center`,"justify-content":`center`,"font-family":`inherit`,"font-size":`11px`,"line-height":`1`,cursor:`pointer`}),r},wT=(e,t)=>{let n=e.createElement(`button`);n.type=`button`,n.setAttribute(`role`,`menuitemradio`),ST(n,{display:`grid`,width:`100%`,height:`28px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`transparent`,color:`var(--msr-content, #18181b)`,"grid-template-columns":`14px minmax(0, 1fr)`,gap:`6px`,"align-items":`center`,"text-align":`left`,"font-family":`inherit`,"font-size":`11px`,cursor:`pointer`});let r=e.createElement(`span`);r.setAttribute(`aria-hidden`,`true`),r.textContent=`✓`,r.style.opacity=`0`;let i=e.createElement(`span`);return i.textContent=t,n.append(r,i),{button:n,check:r,text:i}},TT=({ownerDocument:e,root:t})=>{let n=e.createElement(`section`);n.dataset.mesurerRecordingPreview=`true`,n.dataset.mesurerInspectorUi=`true`,n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-label`,`Screen recording editor`),n.tabIndex=0,ST(n,{position:`fixed`,display:`none`,width:`352px`,"max-width":`calc(100vw - 16px)`,padding:`8px`,"z-index":`98`,"box-sizing":`border-box`,overflow:`visible`,"border-radius":`13px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`,"font-size":`11px`,"pointer-events":`auto`,outline:`none`,transform:`translateX(-50%)`,transition:`width 200ms ease`}),t.append(n);let r=e.createElement(`div`);ST(r,{position:`relative`,display:`flex`,width:`100%`,"min-height":`72px`,"max-height":`144px`,overflow:`hidden`,"border-radius":`8px`,background:`var(--msr-surface-muted, #f8fafc)`,"align-items":`center`,"justify-content":`center`,transition:`max-height 200ms ease`,cursor:`default`}),n.append(r);let i=e.createElement(`video`);i.muted=!0,i.playsInline=!0,i.preload=`auto`,ST(i,{display:`block`,width:`100%`,height:`100%`,"max-width":`100%`,"max-height":`144px`,"object-fit":`contain`,transition:`max-height 200ms ease`}),r.append(i);let a=e.createElement(`div`);a.dataset.mesurerRecordingExporting=`true`,a.textContent=`Exporting…`,ST(a,{position:`absolute`,inset:`0`,display:`none`,"align-items":`center`,"justify-content":`center`,"z-index":`30`,background:`rgb(15 23 42 / 45%)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(a);let o=CT(e,`Close`,`×`);o.dataset.mesurerRecordingDiscard=`true`,ST(o,{position:`absolute`,top:`6px`,right:`6px`,width:`24px`,height:`24px`,"z-index":`40`,background:`rgb(15 23 42 / 78%)`,color:`#fff`,opacity:`0`,"pointer-events":`none`,transition:`opacity 150ms ease`}),r.append(o),r.addEventListener(`mouseenter`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),r.addEventListener(`mouseleave`,()=>{e.activeElement!==o&&(o.style.opacity=`0`,o.style.pointerEvents=`none`)}),o.addEventListener(`focus`,()=>{o.style.opacity=`1`,o.style.pointerEvents=`auto`}),o.addEventListener(`blur`,()=>{o.style.opacity=`0`,o.style.pointerEvents=`none`});let s=e.createElement(`div`);ST(s,{display:`flex`,height:`28px`,"align-items":`center`,gap:`8px`,"margin-top":`8px`}),n.append(s);let c=CT(e,`Play`,`▶`);c.dataset.mesurerRecordingPlay=`true`,s.append(c);let l=e.createElement(`span`);l.dataset.mesurerRecordingCurrentTime=`true`,l.textContent=`0:00.00`,ST(l,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(l);let u=e.createElement(`div`);u.dataset.mesurerRecordingTimeline=`true`,ST(u,{position:`relative`,height:`28px`,"min-width":`0`,flex:`1 1 0`,cursor:`pointer`,"user-select":`none`}),s.append(u);let d=e.createElement(`div`);d.dataset.mesurerRecordingTimelineTrack=`true`,ST(d,{position:`absolute`,left:`${xT}px`,right:`${xT}px`,top:`0`,bottom:`0`}),u.append(d);let f=e.createElement(`div`);f.dataset.mesurerRecordingTimelineRail=`true`,ST(f,{position:`absolute`,left:`0`,right:`0`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-200, #e2e8f0)`,"pointer-events":`none`}),d.append(f);let p=e.createElement(`div`);p.dataset.mesurerRecordingTimelineClip=`true`,ST(p,{position:`absolute`,top:`21px`,height:`3px`,transform:`translateY(-50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-300, #cbd5e1)`,"pointer-events":`none`}),d.append(p);let m=e.createElement(`div`);ST(m,{position:`absolute`,display:`none`,top:`21px`,width:`2px`,height:`10px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-color-ink-500, #64748b)`,opacity:`0.5`,"pointer-events":`none`}),d.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingPlayhead=`true`,ST(h,{position:`absolute`,top:`21px`,left:`0`,width:`2px`,height:`9px`,transform:`translate(-50%, -50%)`,"border-radius":`999px`,background:`var(--msr-content, #18181b)`,"z-index":`25`,"pointer-events":`none`,transition:`height 150ms ease`}),d.append(h);let g=(t,n)=>{let r=e.createElement(`button`);r.type=`button`,r.dataset.mesurerRecordingTrimHandle=t,r.setAttribute(`role`,`slider`),r.setAttribute(`aria-label`,n),r.setAttribute(`aria-valuemin`,`0`),ST(r,{position:`absolute`,top:`0`,display:`flex`,width:`20px`,height:`16px`,padding:`0`,border:`0`,"border-radius":`4px`,background:`transparent`,color:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"z-index":`30`,"align-items":`center`,"justify-content":`center`,cursor:`ew-resize`,"touch-action":`none`});let i=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.dataset.mesurerRecordingTrimChevron=t,i.setAttribute(`aria-hidden`,`true`),i.setAttribute(`viewBox`,`0 0 12 14`),i.setAttribute(`width`,`12`),i.setAttribute(`height`,`14`);let a=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);a.setAttribute(`d`,t===`start`?`M3.5 2.5L8.5 7L3.5 11.5`:`M8.5 2.5L3.5 7L8.5 11.5`),a.setAttribute(`fill`,`none`),a.setAttribute(`stroke`,`currentColor`),a.setAttribute(`stroke-width`,`2`),a.setAttribute(`stroke-linecap`,`round`),a.setAttribute(`stroke-linejoin`,`round`),i.append(a),r.append(i);let o=e.createElement(`span`);return o.setAttribute(`aria-hidden`,`true`),ST(o,{position:`absolute`,left:`50%`,top:`15px`,width:`1px`,height:`4px`,background:`var(--msr-content, #18181b)`,transform:`translateX(-50%)`,"pointer-events":`none`}),r.append(o),d.append(r),r},_=g(`start`,`Trim start`),v=g(`end`,`Trim end`),y=e.createElement(`span`);y.dataset.mesurerRecordingDuration=`true`,ST(y,{display:`flex`,width:`8ch`,"min-width":`8ch`,height:`20px`,"align-items":`center`,"justify-content":`flex-end`,"flex-shrink":`0`,color:`var(--msr-color-ink-500, #64748b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"white-space":`nowrap`}),s.append(y);let b=e.createElement(`div`);ST(b,{position:`relative`,display:`flex`,height:`20px`,"align-items":`center`}),s.append(b);let x=CT(e,`Export options`,`1×`);x.dataset.mesurerRecordingExportOptions=`true`,x.setAttribute(`aria-haspopup`,`menu`),x.setAttribute(`aria-expanded`,`false`),ST(x,{width:`28px`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`}),b.append(x);let S=e.createElement(`div`);S.dataset.mesurerRecordingExportMenu=`true`,S.setAttribute(`role`,`menu`),ST(S,{position:`absolute`,display:`none`,right:`0`,bottom:`24px`,width:`176px`,padding:`4px`,"z-index":`120`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0, 0, 0, 0.12))`,"pointer-events":`auto`}),b.append(S);let C=e.createElement(`p`);C.textContent=`Format`,ST(C,{margin:`0`,padding:`4px 8px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(C);let w=e.createElement(`div`);S.append(w);let T=e.createElement(`p`);T.textContent=`Size`,ST(T,{margin:`0`,padding:`6px 8px 4px`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`10px`,"font-weight":`500`}),S.append(T);let E=e.createElement(`div`);S.append(E);let D=[1,2,3].map(t=>{let n=wT(e,`${t}×`);return n.button.dataset.mesurerRecordingScale=String(t),E.append(n.button),{scale:t,...n}}),O=CT(e,`Download`,`↓`);O.dataset.mesurerRecordingExport=`true`,s.append(O);let k=CT(e,`Grow preview`,`↗`);k.dataset.mesurerRecordingExpand=`true`,s.append(k);let A=e.createElement(`p`);return A.dataset.mesurerRecordingPreviewStatus=`true`,A.setAttribute(`role`,`status`),ST(A,{display:`none`,margin:`8px 0 0`,color:`var(--msr-color-ink-500, #64748b)`,"font-size":`11px`,"line-height":`16px`}),n.append(A),{panel:n,previewShell:r,video:i,exportingOverlay:a,close:o,play:c,currentTime:l,timeline:u,track:d,clip:p,hoverMarker:m,playhead:h,trimStart:_,trimEnd:v,durationLabel:y,exportAnchor:b,exportOptions:x,exportMenu:S,formatRows:w,scaleRows:D,download:O,expand:k,status:A}},ET=8,DT=8,OT=.05,kT=200,AT=e=>{let t=Number.isFinite(e)?Math.max(0,e):0,n=Math.floor(t/60);return`${n}:${(t-n*60).toFixed(2).padStart(5,`0`)}`},jT=(e,t,n,r)=>{let i=globalThis.URL.createObjectURL(e),a=n.createElement(`a`);a.href=i,a.download=t,a.rel=`noopener`,n.documentElement.append(a),a.click(),a.remove(),r.setTimeout(()=>globalThis.URL.revokeObjectURL(i),1e3)},MT=({ownerDocument:e,ownerWindow:t,root:n,formats:r,onDiscard:i,onExport:a})=>{let{panel:o,previewShell:s,video:c,exportingOverlay:l,close:u,play:d,currentTime:f,timeline:p,track:m,clip:h,hoverMarker:g,playhead:_,trimStart:v,trimEnd:y,durationLabel:b,exportAnchor:x,exportOptions:S,exportMenu:C,formatRows:w,scaleRows:T,download:E,expand:D,status:O}=TT({ownerDocument:e,root:n}),k=null,A=null,j=!1,M=!1,N=0,P=[`webm`],F=`webm`,I=1,L=0,R=0,z=null,B=null,V=null,H=e=>{let t=k?.duration??0;return t<=0?0:Math.min(1,Math.max(0,e/t))},U=()=>({start:L,end:R}),W=e=>{let t=k?.duration??0,n=m.getBoundingClientRect();return t<=0||n.width<=0?0:Math.min(t,Math.max(0,(e-n.left)/n.width*t))},ee=()=>{let e=k?.duration??0,t=Math.min(e,Math.max(0,c.currentTime||0)),n=H(L)*100,r=H(R)*100;v.style.left=`${n}%`,y.style.left=`${r}%`,h.style.left=`${n}%`,h.style.width=`${Math.max(0,r-n)}%`,_.style.left=`${H(t)*100}%`,v.setAttribute(`aria-valuemax`,String(Math.max(0,R-OT))),v.setAttribute(`aria-valuenow`,String(L)),v.setAttribute(`aria-valuetext`,AT(L)),y.setAttribute(`aria-valuemin`,String(Math.min(e,L+OT))),y.setAttribute(`aria-valuemax`,String(e)),y.setAttribute(`aria-valuenow`,String(R)),y.setAttribute(`aria-valuetext`,AT(R)),f.textContent=AT(t),b.textContent=AT(e)},te=(e,t=!0)=>{if(!k)return;let n=Math.min(R,Math.max(L,e));t&&!c.paused&&c.pause(),c.currentTime=n,ee()},ne=(e,t=!1)=>{k&&(L=Math.min(Math.max(0,e),Math.max(0,R-OT)),(t||c.currentTime<L)&&te(L),ee())},re=(e,t=!1)=>{k&&(R=Math.max(Math.min(k.duration,e),Math.min(k.duration,L+OT)),t?te(R):c.currentTime>R&&te(L),ee())},ie=()=>{S.textContent=`${I}×`;for(let e of T){let t=e.scale===I;e.button.setAttribute(`aria-checked`,t?`true`:`false`),e.check.style.opacity=t?`1`:`0`,e.text.textContent=k?`${e.scale}× ${Math.round(k.width*e.scale)} × ${Math.round(k.height*e.scale)}`:`${e.scale}×`}},G=()=>{w.replaceChildren();for(let t of P){let n=wT(e,t===`mp4`?`MP4`:`WebM`),r=t===F;n.button.dataset.mesurerRecordingFormat=t,n.button.setAttribute(`aria-checked`,r?`true`:`false`),n.check.style.opacity=r?`1`:`0`,n.button.addEventListener(`click`,()=>{F=t,G()}),w.append(n.button)}},ae=()=>{if(C.style.display===`none`)return;let e=x.getBoundingClientRect(),n=Math.max(1,C.offsetHeight),r=e.top-ET,i=t.innerHeight-e.bottom-ET;r>=n||r>=i?(C.style.top=`auto`,C.style.bottom=`24px`):(C.style.top=`24px`,C.style.bottom=`auto`)},oe=e=>{C.style.display=e?`block`:`none`,S.setAttribute(`aria-expanded`,e?`true`:`false`),e&&ae()},se=e=>{M=e,l.style.display=e?`flex`:`none`;for(let t of[d,u,v,y,S,E,D,...T.map(e=>e.button)])t.toggleAttribute(`disabled`,e)},ce=()=>n.closest(`[data-mesurer-root='true']`)?.querySelector(`[data-mesurer-tool-id='recording']`)??e.querySelector(`[data-mesurer-tool-id='recording']`),le=()=>{if(o.style.display===`none`)return;let e=Math.min(j?576:352,Math.max(1,t.innerWidth-16)),n=Math.max(180,o.offsetHeight),r=ce()?.getBoundingClientRect(),i=r?r.left+r.width/2:t.innerWidth-ET-e/2,a=ET+e/2,s=Math.max(a,t.innerWidth-ET-e/2),c=Math.min(Math.max(a,i),s),l=r?r.bottom+DT:ET;l+n>t.innerHeight-ET&&(l=r?r.top-n-DT:t.innerHeight-n-ET),o.style.left=`${c}px`,o.style.top=`${Math.max(ET,l)}px`,C.style.display!==`none`&&ae()},ue=()=>{c.pause(),c.removeAttribute(`src`),c.load(),A&&=(globalThis.URL.revokeObjectURL(A),null)},de=()=>{N+=1,V&&=(V.cancel(),null),ue(),k=null,z=null,B=null,oe(!1),o.style.display=`none`,o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),O.style.display=`none`,se(!1)},fe=()=>{if(!k||o.style.display===`none`||V)return;let e=o.getBoundingClientRect(),t=ce()?.getBoundingClientRect(),n=t?t.left+t.width/2:e.left+e.width/2,r=t?t.top+t.height/2:e.top+e.height/2;c.pause(),oe(!1),o.style.pointerEvents=`none`,o.style.left=`${e.left}px`,o.style.top=`${e.top}px`,o.style.transform=`none`,o.style.transformOrigin=`${n-e.left}px ${r-e.top}px`,o.style.willChange=`transform, opacity`;let a=o.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(0.08)`,opacity:0}],{duration:kT,easing:`ease`,fill:`forwards`});V=a,a.finished.catch(()=>void 0).then(()=>{V===a&&(a.cancel(),V=null,o.style.removeProperty(`will-change`),i())})},pe=()=>{if(!(!k||M)){if(!c.paused){c.pause();return}(c.currentTime<L||c.currentTime>=R)&&(c.currentTime=L),c.play()}},me=()=>{z=null,B=null,_.style.height=`8px`},he=e=>{if(!z)return;let t=W(e);z===`start`?ne(t,!0):z===`end`?re(t,!0):te(t)},ge=(e,t)=>{!k||M||t.button!==0||(t.preventDefault(),t.stopPropagation(),z=e,B=t.pointerId,_.style.height=`10px`,he(t.clientX))},_e=e=>{B!==null&&e.pointerId===B&&he(e.clientX)},ve=e=>{B!==null&&e.pointerId===B&&me()};v.addEventListener(`pointerdown`,e=>ge(`start`,e)),y.addEventListener(`pointerdown`,e=>ge(`end`,e)),p.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-trim-handle]`)||ge(`playhead`,e)}),p.addEventListener(`pointermove`,e=>{B===null&&(g.style.display=`block`,g.style.left=`${H(W(e.clientX))*100}%`)}),p.addEventListener(`pointerleave`,()=>{g.style.display=`none`});for(let[e,t]of[[`start`,v],[`end`,y]])t.addEventListener(`keydown`,t=>{if(!k||t.key!==`ArrowLeft`&&t.key!==`ArrowRight`)return;t.preventDefault();let n=t.key===`ArrowLeft`?-1:1,r=(e===`start`?L:R)+n*.05;e===`start`?ne(r,!0):re(r,!0)});t.addEventListener(`pointermove`,_e,!0),t.addEventListener(`pointerup`,ve,!0),t.addEventListener(`pointercancel`,ve,!0),u.addEventListener(`click`,e=>{e.stopPropagation(),fe()}),s.addEventListener(`click`,e=>{let t=e.target;t instanceof Element&&t.closest(`button`)||pe()}),d.addEventListener(`click`,pe),c.addEventListener(`play`,()=>{d.textContent=`Ⅱ`,d.setAttribute(`aria-label`,`Pause`),d.title=`Pause`}),c.addEventListener(`pause`,()=>{d.textContent=`▶`,d.setAttribute(`aria-label`,`Play`),d.title=`Play`}),c.addEventListener(`timeupdate`,()=>{k&&(c.currentTime>=R-.01?(c.pause(),c.currentTime=L):c.currentTime<L&&(c.currentTime=L),ee())}),c.addEventListener(`loadedmetadata`,()=>{ee()}),S.addEventListener(`click`,()=>{M||oe(C.style.display===`none`)});for(let e of T)e.button.addEventListener(`click`,()=>{I=e.scale,ie()});let ye=e=>{C.style.display!==`none`&&(e.composedPath().includes(x)||oe(!1))};e.addEventListener(`pointerdown`,ye,!0),D.addEventListener(`click`,()=>{j=!j,o.style.width=`${j?576:352}px`,s.style.maxHeight=j?`448px`:`144px`,c.style.maxHeight=j?`448px`:`144px`,D.textContent=j?`↙`:`↗`,D.setAttribute(`aria-label`,j?`Shrink preview`:`Grow preview`),D.title=j?`Shrink preview`:`Grow preview`,t.requestAnimationFrame(le)}),E.addEventListener(`click`,()=>{if(!k||M||P.length===0)return;let n=++N,{start:r,end:i}=U();se(!0),oe(!1),O.style.display=`none`,a({format:F,startTime:r,endTime:i,scale:I}).then(r=>{n===N&&jT(r.blob,r.filename,e,t)}).catch(e=>{n===N&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not export the recording.`)}).finally(()=>{n===N&&se(!1)})}),o.addEventListener(`keydown`,e=>{if(e.key===`Escape`){if(C.style.display!==`none`){e.preventDefault(),oe(!1);return}e.preventDefault(),fe();return}(e.key===` `||e.code===`Space`)&&e.target===o&&(e.preventDefault(),pe())});let be=()=>le();return t.addEventListener(`resize`,be),{show(e){N+=1,V&&=(V.cancel(),null),o.style.pointerEvents=`auto`,o.style.opacity=`1`,o.style.transform=`translateX(-50%)`,o.style.removeProperty(`transform-origin`),o.style.removeProperty(`will-change`),ue(),k=e,j=!1,I=1,F=`webm`,P=[`webm`],L=0,R=e.duration,z=null,B=null;let n=globalThis.URL.createObjectURL(e.blob);A=n,c.src=n,c.currentTime=0,s.style.aspectRatio=e.width>0&&e.height>0?`${e.width} / ${e.height}`:`16 / 9`,o.style.width=`352px`,s.style.maxHeight=`144px`,c.style.maxHeight=`144px`,D.textContent=`↗`,D.setAttribute(`aria-label`,`Grow preview`),D.title=`Grow preview`,f.textContent=`0:00.00`,b.textContent=AT(e.duration),O.style.display=`none`,O.style.color=`var(--msr-color-ink-500, #64748b)`,oe(!1),G(),ie(),ee(),se(!1),o.style.display=`block`,le(),o.focus({preventScroll:!0});let i=N;r(e).then(e=>{i!==N||!k||(P=e,F=e.includes(F)?F:e[0]??`webm`,G(),E.disabled=e.length===0,e.length===0&&(O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=`No MediaBunny video encoder is available in this runtime.`))}).catch(e=>{i===N&&(P=[],G(),E.disabled=!0,O.style.display=`block`,O.style.color=`var(--msr-danger-text, #dc2626)`,O.textContent=e instanceof Error?e.message:`Could not inspect export support.`)}),t.requestAnimationFrame(le)},dismiss:de,dispose(){de(),t.removeEventListener(`resize`,be),t.removeEventListener(`pointermove`,_e,!0),t.removeEventListener(`pointerup`,ve,!0),t.removeEventListener(`pointercancel`,ve,!0),e.removeEventListener(`pointerdown`,ye,!0),o.remove()}}},NT=3e3,PT=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},FT=({ownerDocument:e,ownerWindow:t,root:n,statusRoot:r,rendererRoot:i,isSelecting:a,isRecording:o,onRectChange:s,onConfirm:c,onCancel:l,onStop:u,setRecordingInteractionActive:d})=>{let f=e.createElement(`div`);f.dataset.mesurerRecordingSelect=`true`,f.dataset.mesurerInspectorUi=`true`,f.setAttribute(`role`,`application`),f.setAttribute(`aria-label`,`Recording selection`),PT(f,{position:`fixed`,inset:`0`,display:`none`,"z-index":`86`,cursor:`crosshair`,"pointer-events":`auto`,"user-select":`none`,"touch-action":`none`}),n.append(f);let p=Array.from({length:4},()=>{let t=e.createElement(`div`);return t.dataset.mesurerRecordingShade=`true`,PT(t,{position:`fixed`,background:`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(t),t}),m=e.createElement(`div`);m.dataset.mesurerRecordingMask=`true`,PT(m,{position:`fixed`,display:`none`,background:`transparent`,outline:`2px solid var(--msr-accent, #0d99ff)`,"outline-offset":`-1px`,"box-shadow":`0 0 0 100vmax rgb(0 0 0 / 40%)`,"pointer-events":`none`}),f.append(m);let h=e.createElement(`div`);h.dataset.mesurerRecordingSelection=`true`,PT(h,{position:`fixed`,display:`none`,border:`1px solid var(--msr-accent, #0d99ff)`,"box-sizing":`border-box`,"pointer-events":`none`}),f.append(h);let g=e.createElement(`div`);PT(g,{position:`fixed`,display:`none`,transform:`translateX(-50%)`,padding:`2px 5px`,"border-radius":`4px`,background:`var(--msr-accent, #0d99ff)`,color:`#fff`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`,"pointer-events":`none`}),f.append(g);let _=e.createElement(`div`);_.textContent=`Drag a region to record · Esc to cancel`,PT(_,{position:`fixed`,left:`50%`,bottom:`16px`,transform:`translateX(-50%)`,padding:`5px 8px`,"border-radius":`6px`,background:`var(--msr-content, #18181b)`,color:`var(--msr-surface, #fff)`,"font-size":`11px`,"pointer-events":`none`}),f.append(_);let v=e.createElement(`div`);v.dataset.mesurerRecordingRegion=`true`,v.dataset.mesurerInspectorUi=`true`,v.setAttribute(`role`,`dialog`),v.setAttribute(`aria-label`,`Recording region`),PT(v,{position:`fixed`,display:`none`,width:`220px`,padding:`8px`,"z-index":`90`,"box-sizing":`border-box`,overflow:`hidden`,"border-radius":`10px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 10px 30px rgba(0,0,0,.12))`,"font-size":`11px`,"pointer-events":`auto`,transform:`translateX(-50%)`}),f.append(v);let y=t=>{let n=e.createElement(`label`);PT(n,{display:`grid`,"grid-template-columns":`44px minmax(0,1fr)`,"align-items":`center`,gap:`8px`});let r=e.createElement(`span`);r.textContent=t,r.style.color=`var(--msr-color-ink-500, #64748b)`,n.append(r);let i=e.createElement(`div`);return PT(i,{display:`flex`,"align-items":`center`,gap:`4px`,"min-width":`0`}),n.append(i),v.append(n),i},b=t=>{let n=e.createElement(`input`);return n.type=`number`,n.setAttribute(`aria-label`,t),n.step=`1`,PT(n,{width:`0`,"min-width":`0`,flex:`1 1 0`,height:`26px`,padding:`0 6px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`6px`,background:`var(--msr-surface, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`10px`,"font-variant-numeric":`tabular-nums`}),n},x=y(`Size`),S=b(`Width`),C=b(`Height`);x.append(S);let w=e.createElement(`span`);w.textContent=`×`,w.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(w,C);let T=e.createElement(`span`);T.textContent=`px`,T.style.color=`var(--msr-color-ink-500, #64748b)`,x.append(T);let E=y(`Position`);E.style.marginTop=`8px`;let D=b(`Left`),O=b(`Top`);E.append(D,O);let k=e.createElement(`span`);k.textContent=`px`,k.style.color=`var(--msr-color-ink-500, #64748b)`,E.append(k);let A=e.createElement(`button`);A.type=`button`,A.dataset.mesurerRecordingStart=`true`,A.textContent=`● Start recording`,PT(A,{width:`100%`,height:`28px`,"margin-top":`8px`,border:`1px solid var(--msr-color-ink-200, #e2e8f0)`,"border-radius":`7px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),v.append(A);let j=e.createElement(`div`);j.dataset.mesurerRecordingGrid=`true`,PT(j,{position:`absolute`,inset:`0`,display:`none`,"pointer-events":`none`}),h.append(j);let M=t=>{let n=e.createElement(`div`);PT(n,{position:`absolute`,opacity:`0.3`,...t}),j.append(n)};M({left:`33.333%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({left:`66.666%`,top:`0`,bottom:`0`,borderLeft:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`33.333%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`}),M({top:`66.666%`,left:`0`,right:`0`,borderTop:`1px dashed var(--msr-color-ink-500, #64748b)`});let N=Object.entries({nw:{left:`0`,top:`0`},n:{left:`50%`,top:`0`},ne:{left:`100%`,top:`0`},e:{left:`100%`,top:`50%`},se:{left:`100%`,top:`100%`},s:{left:`50%`,top:`100%`},sw:{left:`0`,top:`100%`},w:{left:`0`,top:`50%`}}).map(([t,n])=>{let r=e.createElement(`button`);return r.type=`button`,r.dataset.mesurerRecordingResize=t,r.setAttribute(`aria-label`,`Resize ${t}`),PT(r,{position:`absolute`,display:`none`,left:n.left,top:n.top,width:`8px`,height:`8px`,padding:`0`,border:`1px solid var(--msr-color-white, #fff)`,"border-radius":`999px`,background:`var(--msr-color-ink-900, #18181b)`,"box-shadow":`0 0 0 1px rgb(0 0 0 / 25%)`,transform:`translate(-50%, -50%)`,cursor:t===`n`||t===`s`?`ns-resize`:t===`e`||t===`w`?`ew-resize`:t===`nw`||t===`se`?`nwse-resize`:`nesw-resize`,"pointer-events":`auto`}),h.append(r),r}),P=e.createElement(`section`);P.dataset.mesurerRecordingStatus=`true`,P.dataset.mesurerInspectorUi=`true`,P.setAttribute(`aria-label`,`Screen recording`),PT(P,{position:`fixed`,display:`none`,height:`34px`,padding:`0 8px`,"align-items":`center`,gap:`8px`,border:`0`,"border-radius":`9px`,background:`var(--msr-surface-raised, #fff)`,color:`var(--msr-content, #18181b)`,"box-shadow":`var(--msr-shadow-floating, 0 8px 24px rgba(0,0,0,.14))`,"font-family":`inherit`,"font-size":`11px`,"pointer-events":`auto`});let F=e.createElement(`span`);F.setAttribute(`aria-hidden`,`true`),PT(F,{width:`6px`,height:`6px`,"border-radius":`999px`,background:`var(--msr-danger-solid-bg, #dc2626)`,"flex-shrink":`0`}),P.append(F);let I=e.createElement(`span`);I.dataset.mesurerRecordingTime=`true`,I.textContent=`00:00`,PT(I,{color:`var(--msr-content, #18181b)`,"font-family":`ui-monospace, SFMono-Regular, Menlo, monospace`,"font-size":`11px`,"font-variant-numeric":`tabular-nums`}),P.append(I);let L=e.createElement(`button`);L.type=`button`,L.dataset.mesurerRecordingStop=`true`,L.textContent=`Stop`,L.setAttribute(`aria-label`,`Stop recording`),PT(L,{height:`24px`,padding:`0 8px`,border:`0`,"border-radius":`6px`,background:`var(--msr-danger-solid-bg, #dc2626)`,color:`var(--msr-danger-solid-text, #fff)`,"font-family":`inherit`,"font-size":`11px`,"font-weight":`500`,cursor:`pointer`}),P.append(L),r.append(P);let R=e.createElement(`div`);R.dataset.mesurerRecordingError=`true`,R.dataset.mesurerInspectorUi=`true`,R.setAttribute(`role`,`status`),PT(R,{position:`fixed`,display:`none`,left:`8px`,top:`8px`,"z-index":`99`,padding:`6px 8px`,"border-radius":`6px`,background:`var(--msr-danger, #b42318)`,color:`#fff`,"font-size":`11px`,"pointer-events":`none`}),r.append(R);let z=null,B=null,V=!1,H=null,U=0,W=()=>{z=null,B=null,V=!1,H=null},ee=(e,t)=>{for(let n of[`left`,`top`,`width`,`height`]){let r=t[n];r===void 0?e.style.removeProperty(n):e.style.setProperty(n,`${r}px`)}},te=e=>{let n=t.innerWidth,r=t.innerHeight,i=Math.min(n,Math.max(4,Math.round(e.width))),a=Math.min(r,Math.max(4,Math.round(e.height)));return{left:Math.min(Math.max(0,Math.round(e.left)),Math.max(0,n-i)),top:Math.min(Math.max(0,Math.round(e.top)),Math.max(0,r-a)),width:i,height:a}},ne=(e,t)=>t.x>=e.left&&t.x<=e.left+e.width&&t.y>=e.top&&t.y<=e.top+e.height,re=e=>{let n=t.innerWidth,r=t.innerHeight;if(!e||e.width<=0||e.height<=0){ee(p[0],{left:0,top:0,width:n,height:r});for(let e of p.slice(1))ee(e,{left:0,top:0,width:0,height:0});h.style.display=`none`,h.style.pointerEvents=`none`,j.style.display=`none`;for(let e of N)e.style.display=`none`;g.style.display=`none`,v.style.display=`none`,_.textContent=`Drag to select a region · Esc to cancel`;return}if(ee(p[0],{left:0,top:0,width:n,height:e.top}),ee(p[1],{left:0,top:e.top,width:e.left,height:e.height}),ee(p[2],{left:e.left+e.width,top:e.top,width:Math.max(0,n-e.left-e.width),height:e.height}),ee(p[3],{left:0,top:e.top+e.height,width:n,height:Math.max(0,r-e.top-e.height)}),h.style.display=`block`,ee(h,e),V){h.style.pointerEvents=`auto`,h.style.cursor=`move`,j.style.display=`block`;for(let e of N)e.style.display=`block`;g.style.display=`none`,S.value=String(Math.round(e.width)),C.value=String(Math.round(e.height)),D.value=String(Math.round(e.left)),O.value=String(Math.round(e.top)),S.max=String(n),C.max=String(r),D.max=String(Math.max(0,n-e.width)),O.max=String(Math.max(0,r-e.height));let t=Math.min(Math.max(118,e.left+e.width/2),Math.max(118,n-110-8)),i=e.top+e.height+12,a=i+112<=r?i:Math.max(8,e.top-112);v.style.left=`${t}px`,v.style.top=`${a}px`,v.style.display=`block`,_.textContent=`Adjust region · Enter to start · Esc to cancel`}else{h.style.pointerEvents=`none`,h.style.cursor=``,j.style.display=`none`;for(let e of N)e.style.display=`none`;v.style.display=`none`,g.style.display=`block`,g.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,ee(g,{left:e.left+e.width/2,top:Math.min(r-22,e.top+e.height+6)}),_.textContent=`Drag to select a region · Esc to cancel`}},ie=e=>{let t=te(e);B=t,s(t),re(t)},G=e=>{W();for(let e of p)ee(e,{left:0,top:0,width:0,height:0});ee(m,e),m.style.display=`block`,h.style.display=`none`,g.style.display=`none`,v.style.display=`none`,j.style.display=`none`,_.style.display=`none`;for(let e of N)e.style.display=`none`;f.style.display=`block`,f.style.pointerEvents=`none`,f.style.cursor=`default`},ae=()=>{d(!1),m.style.display=`none`,f.style.display=`none`,f.style.pointerEvents=`auto`,f.style.cursor=`crosshair`,_.style.removeProperty(`display`)},oe=()=>{W(),re(null),f.style.display=`none`,f.style.cursor=`crosshair`,n.style.pointerEvents=`none`},se=e=>{let n=t.innerHeight,r=t.innerWidth;P.style.visibility=`hidden`,P.style.display=`flex`;let a=Math.max(112,P.offsetWidth||112),o=Math.min(r-a-8,Math.max(8,e.left+e.width/2-a/2)),s=i?.querySelector(`[data-mesurer-toolbar='true']`)?.getBoundingClientRect(),c=[e.top>=50?e.top-34-8:null,n-(e.top+e.height)>=50?e.top+e.height+8:null].filter(e=>e!==null),l=e=>s?o<s.right&&o+a>s.left&&e<s.bottom&&e+34>s.top:!1,u=c.find(e=>!l(e))??c[0]??null;if(u===null){P.style.display=`none`,P.style.removeProperty(`visibility`);return}P.style.left=`${o}px`,P.style.top=`${u}px`,P.style.removeProperty(`visibility`)},ce=()=>{P.style.display=`none`},le=e=>{U&&t.clearTimeout(U);let n=e instanceof Error?e.message:`Could not record this region.`;R.textContent=n,R.style.display=`block`,U=t.setTimeout(()=>{U=0,R.style.display=`none`},NT)},ue=(e,t,n)=>{let r=B;!V||!r||e.button!==0||(e.preventDefault(),e.stopPropagation(),H={kind:t,handle:n,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,rect:{...r}},f.setPointerCapture?.(e.pointerId))},de=e=>{!a()||e.button!==0||V&&B&&ne(B,{x:e.clientX,y:e.clientY})||(e.preventDefault(),e.stopPropagation(),V=!1,B=null,s(null),f.style.cursor=`crosshair`,z={x:e.clientX,y:e.clientY},re(Yc(z,z,{width:t.innerWidth,height:t.innerHeight})),f.setPointerCapture?.(e.pointerId))},fe=e=>{if(a()){if(H){let n=H,r=e.clientX-n.startX,i=e.clientY-n.startY,a=t.innerWidth,o=t.innerHeight;if(n.kind===`move`){ie({...n.rect,left:n.rect.left+r,top:n.rect.top+i});return}let s=n.handle??``,c=n.rect.left,l=n.rect.top,u=n.rect.left+n.rect.width,d=n.rect.top+n.rect.height;s.includes(`w`)&&(c=Math.min(u-4,Math.max(0,n.rect.left+r))),s.includes(`e`)&&(u=Math.max(c+4,Math.min(a,n.rect.left+n.rect.width+r))),s.includes(`n`)&&(l=Math.min(d-4,Math.max(0,n.rect.top+i))),s.includes(`s`)&&(d=Math.max(l+4,Math.min(o,n.rect.top+n.rect.height+i))),ie({left:c,top:l,width:u-c,height:d-l});return}z&&re(Yc(z,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight}))}},pe=e=>{if(H){H=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),B&&re(B);return}let n=z;if(z=null,!a()||!n)return;f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId);let r=Yc(n,{x:e.clientX,y:e.clientY},{width:t.innerWidth,height:t.innerHeight});if(r.width<4||r.height<4){B=null,V=!1,s(null),re(null);return}B=te(r),V=!0,f.style.cursor=`default`,s(B),re(B)},me=e=>{z=null,H=null,f.hasPointerCapture?.(e.pointerId)&&f.releasePointerCapture(e.pointerId),re(B&&V?B:null)},he=e=>{if(e.key===`Enter`&&a()&&V&&B){e.preventDefault(),e.stopImmediatePropagation(),c(B).catch(()=>void 0);return}if(e.key===`Escape`){if(a()){e.preventDefault(),e.stopImmediatePropagation(),l().catch(()=>void 0);return}o()&&(e.preventDefault(),e.stopImmediatePropagation(),u().catch(()=>void 0))}};f.addEventListener(`pointerdown`,de),f.addEventListener(`pointermove`,fe),f.addEventListener(`pointerup`,pe),f.addEventListener(`pointercancel`,me),t.addEventListener(`keydown`,he,!0),h.addEventListener(`pointerdown`,e=>{let t=e.target;t instanceof Element&&t.closest(`[data-mesurer-recording-resize]`)||ue(e,`move`)});for(let e of N)e.addEventListener(`pointerdown`,t=>{ue(t,`resize`,e.dataset.mesurerRecordingResize)});v.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),v.addEventListener(`click`,e=>{e.stopPropagation()});let ge=(e,t)=>{let n=B,r=Number(e.value);!n||!Number.isFinite(r)||ie({...n,[t]:r})};return S.addEventListener(`change`,()=>ge(S,`width`)),C.addEventListener(`change`,()=>ge(C,`height`)),D.addEventListener(`change`,()=>ge(D,`left`)),O.addEventListener(`change`,()=>ge(O,`top`)),A.addEventListener(`click`,()=>{a()&&V&&B&&c(B).catch(()=>void 0)}),L.addEventListener(`click`,()=>{if(o()){u().catch(()=>void 0);return}a()&&P.style.display!==`none`&&l().catch(()=>void 0)}),{startSelection:()=>{W(),re(null),f.style.display=`block`,f.style.pointerEvents=`auto`,_.style.removeProperty(`display`),n.style.pointerEvents=`auto`},finishSelection:oe,showRecordingMask:G,hideRecordingMask:ae,placeRecordingStatus:se,hideRecordingStatus:ce,setRecordingTime(e){I.textContent=e},flashError:le,dispose(){f.removeEventListener(`pointerdown`,de),f.removeEventListener(`pointermove`,fe),f.removeEventListener(`pointerup`,pe),f.removeEventListener(`pointercancel`,me),t.removeEventListener(`keydown`,he,!0),U&&t.clearTimeout(U),oe()}}},IT=e=>{let t=null,n=()=>{let e=t;e&&(t=null,e.pointerEvents||e.pointerEventsPriority?e.element.style.setProperty(`pointer-events`,e.pointerEvents,e.pointerEventsPriority):e.element.style.removeProperty(`pointer-events`),e.cursor||e.cursorPriority?e.element.style.setProperty(`cursor`,e.cursor,e.cursorPriority):e.element.style.removeProperty(`cursor`))};return{setActive(r){if(e?.toggleAttribute(`data-mesurer-recording-active`,r),!r){n();return}let i=e?.querySelector(`[data-mesurer-interaction-overlay='true']`);i&&((!t||t.element!==i)&&(n(),t={element:i,pointerEvents:i.style.getPropertyValue(`pointer-events`),pointerEventsPriority:i.style.getPropertyPriority(`pointer-events`),cursor:i.style.getPropertyValue(`cursor`),cursorPriority:i.style.getPropertyPriority(`cursor`)}),i.style.setProperty(`pointer-events`,`none`,`important`),i.style.setProperty(`cursor`,`default`,`important`))}}},LT=`mesurer.recording`,RT=`recording:v1`,zT=`mesurer.recording.settings`,BT=`runtime:solid`,VT=`recording.toggle`,HT=`recording.stop`,UT=`recording.discard`,WT=`recording.export`,GT=60,KT=60,qT={viewBox:`0 0 24 24`,paths:[`M7 5.75A3.25 3.25 0 0 0 3.75 9v6A3.25 3.25 0 0 0 7 18.25h7A3.25 3.25 0 0 0 17.25 15v-1.03l2.13 1.42a.75.75 0 0 0 1.17-.624V9.234a.75.75 0 0 0-1.17-.624l-2.13 1.42V9A3.25 3.25 0 0 0 14 5.75H7Zm10.25 6.082 1.8-1.2v2.736l-1.8-1.2v-.336Z`,`M10.5 9.25a2.75 2.75 0 1 0 0 5.5 2.75 2.75 0 0 0 0-5.5Z`]},JT=e=>e?{...e}:null,YT=e=>({...e,rect:JT(e.rect)}),XT=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},ZT=e=>e!=null&&!Array.isArray(e)&&typeof e==`object`,QT=e=>typeof e==`number`&&Number.isFinite(e),$T=e=>{if(!ZT(e))return{};let t={};return(e.format===`webm`||e.format===`mp4`)&&(t.format=e.format),QT(e.startTime)&&(t.startTime=e.startTime),QT(e.endTime)&&(t.endTime=e.endTime),(e.scale===1||e.scale===2||e.scale===3)&&(t.scale=e.scale),t},eE=e=>({status:e.status,elapsed:e.elapsed,rect:e.rect?{...e.rect}:null,duration:e.duration,width:e.width,height:e.height,error:e.error}),tE=e=>({filename:e.filename,format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size}),nE=e=>({format:e.format,duration:e.duration,width:e.width,height:e.height,bytes:e.blob.size,createdAt:e.createdAt}),rE=(e,t,n)=>{let r=globalThis.URL.createObjectURL(e.blob),i=t.createElement(`a`);i.href=r,i.download=e.filename,i.rel=`noopener`,t.documentElement.append(i),i.click(),i.remove(),n.setTimeout(()=>globalThis.URL.revokeObjectURL(r),1e3)},iE=(e={})=>wc({id:LT,version:`0.1.0`,requires:[BT],provides:[`tool:recording`,RT],setup(t){let n=t.service.get(BT);if(!n)throw Error(`Recording plugin requires the Solid renderer runtime.`);let{ownerDocument:r,ownerWindow:i}=n,a=n.createInspectorMount(),o=a.element,s=n.createInspectorMount(),c=s.element,l=n.rendererRoot??n.portalTarget.querySelector(`[data-mesurer-root='true']`),u=IT(l);o.dataset.mesurerRecording=`true`,c.dataset.mesurerRecordingStatusRoot=`true`,XT(o,{position:`fixed`,inset:`0`,"z-index":`86`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`}),XT(c,{position:`fixed`,inset:`0`,"z-index":`96`,"pointer-events":`none`,"font-family":`ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif`});let d=Math.max(1,Math.min(600,e.maxDurationSeconds??KT)),f=e.quality??`medium`;t.state.register({id:zT,initial:{toolEnabled:e.toolEnabled??!0,frameRate:e.frameRate??GT},persist:!0});let p=()=>{let e=t.state.get(zT);return{toolEnabled:e?.toolEnabled??!0,frameRate:e?.frameRate===120?120:60}},m=e=>{t.state.update(zT,t=>{let n={...t};return e.toolEnabled!==void 0&&(n.toolEnabled=e.toolEnabled),(e.frameRate===60||e.frameRate===120)&&(n.frameRate=e.frameRate),n})},h={status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null},g=new Set,_=null,v=null,y=null,b=null,x,S=null,C=0,w=0,T=0,E=0,D=-1,O=!1,k=null,A=()=>{let e=YT(h);for(let t of g)t(e)},j=e=>{h={...h,...e,rect:e.rect===void 0?h.rect:JT(e.rect)},A()},M=()=>h.status===`selecting`||h.status===`recording`||h.status===`exporting`,N=()=>{if(S)return;let e=n.portalTarget.querySelector(`[data-mesurer-toolbar='true']`);e&&(S={element:e,value:e.style.getPropertyValue(`visibility`),priority:e.style.getPropertyPriority(`visibility`)},e.style.setProperty(`visibility`,`hidden`,`important`))},P=()=>{if(!S)return;let e=S;S=null,e.value||e.priority?e.element.style.setProperty(`visibility`,e.value,e.priority):e.element.style.removeProperty(`visibility`)},F=async e=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let t=b;if(b=null,t)try{await t}catch{}let n=y;y=null,e&&await n?.cancel();let r=v;v=null,r&&aT(r),x.hideRecordingMask(),x.hideRecordingStatus()},I=()=>{_=null,z.dismiss(),j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}),t.hook.emit(`recording:discard`,{})},L=async()=>{let e=_;return hT(e?.width??Math.max(2,Math.round(i.innerWidth)),e?.height??Math.max(2,Math.round(i.innerHeight)),p().frameRate)},R=async(e={})=>{let n=_;if(!n)throw Error(`No recording is ready to export.`);let r=h.status;j({status:`exporting`,error:null});try{let r=await yT(n.blob,e),i={...r,filename:bT(r.format)};return j({status:`ready`,duration:n.duration,width:n.width,height:n.height,error:null}),await t.hook.emit(`recording:export`,{filename:i.filename,format:i.format,duration:i.duration,width:i.width,height:i.height,bytes:i.blob.size}),i}catch(e){throw j({status:r===`ready`?`ready`:`error`,error:e instanceof Error?e.message:`Could not export the recording.`}),e}},z=MT({ownerDocument:r,ownerWindow:i,root:o,formats:async()=>L(),onDiscard:I,onExport:R}),B=async()=>{if(k)return k;if(h.status!==`recording`||!y||!v)throw Error(`No recording is active.`);let e=T,n=y,r=v,a=JT(h.rect);if(!a)throw Error(`Recording region is unavailable.`);return k=(async()=>{C&&i.cancelAnimationFrame(C),C=0,w&&i.clearTimeout(w),w=0;let s=b;b=null,s&&await s;let c=await n.finalize();if(y=null,v=null,aT(r),T!==e||O)throw Error(`Recording was cancelled.`);let l=await vT(c),u={blob:c,format:`webm`,duration:l.duration,width:l.width,height:l.height,createdAt:Date.now()};return _=u,x.hideRecordingMask(),x.hideRecordingStatus(),P(),o.style.pointerEvents=`none`,j({status:`ready`,elapsed:l.duration,duration:l.duration,width:l.width,height:l.height,error:null}),z.show(u),await t.hook.emit(`recording:ready`,{rect:a,duration:l.duration,width:l.width,height:l.height,bytes:c.size}),u})().catch(async t=>{if(await F(!0),P(),T===e&&!O){let e=t instanceof Error?t.message:`Could not finish the recording.`;j({status:`error`,error:e}),x.flashError(t)}throw t}).finally(()=>{k=null}),k},V=(e,t,n,r)=>{let a=1/r,o=r=>{if(O||T!==n||h.status!==`recording`||y!==t||v!==e)return;let s=Math.max(0,(r-E)/1e3);j({elapsed:s}),x.setRecordingTime(`${String(Math.floor(s/60)).padStart(2,`0`)}:${String(Math.floor(s%60)).padStart(2,`0`)}`);let c=s;!b&&c-D>=a*.8&&(iT(e,h.rect??{left:0,top:0,width:i.innerWidth,height:i.innerHeight},Vw(i)),D=c,b=t.addFrame(c,a).catch(e=>{throw T===n&&!O&&F(!0).then(()=>{P();let t=e instanceof Error?e.message:`MediaBunny could not encode the recording.`;j({status:`error`,error:t}),x.flashError(e)}),e}).finally(()=>{b=null})),C=i.requestAnimationFrame(o)};C=i.requestAnimationFrame(o)},H=async e=>{let n=++T,a=p().frameRate;z.dismiss(),_=null,x.showRecordingMask(e),o.style.pointerEvents=`none`,u.setActive(!0),P(),j({status:`selecting`,elapsed:0,rect:e,duration:null,width:null,height:null,error:null}),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e);try{let s=await rT(r,i,e,a);if(O||T!==n){aT(s);return}let c=await _T(s.canvas,{format:`webm`,frameRate:a,quality:f});if(O||T!==n){await c.cancel(),aT(s);return}if(v=s,y=c,E=i.performance.now(),D=0,iT(s,e,Vw(i)),await c.addFrame(0,1/a),O||T!==n){await F(!0);return}j({status:`recording`,elapsed:0}),o.style.pointerEvents=`none`,u.setActive(!0),x.showRecordingMask(e),x.setRecordingTime(`00:00`),x.placeRecordingStatus(e),V(s,c,n,a),s.track.addEventListener(`ended`,()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},{once:!0}),w=i.setTimeout(()=>{T===n&&h.status===`recording`&&B().catch(()=>void 0)},d*1e3),await t.hook.emit(`recording:start`,{rect:{...e},frameRate:a,maxDurationSeconds:d})}catch(t){if(await F(!0),P(),T!==n||O)return;let r=t instanceof DOMException&&t.name===`AbortError`,i=r?null:t instanceof Error?t.message:`Could not start the recording.`;throw j({status:r?`idle`:`error`,rect:r?null:e,error:i}),r||x.flashError(t),t}},U=()=>{h.status!==`selecting`&&(++T,z.dismiss(),_=null,N(),x.startSelection(),j({status:`selecting`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null}))},W=async e=>{if(h.status===`recording`){await B();return}if(h.status===`selecting`){await ee();return}if(!e){U();return}if(e.width<4||e.height<4)throw Error(`Recording selection must be at least 4px by 4px.`);await H(e)},ee=async()=>{++T,x.finishSelection(),await F(!0),P(),h.status!==`ready`&&j({status:`idle`,elapsed:0,rect:null,duration:null,width:null,height:null,error:null})};x=FT({ownerDocument:r,ownerWindow:i,root:o,statusRoot:c,rendererRoot:l,isSelecting:()=>h.status===`selecting`,isRecording:()=>h.status===`recording`,onRectChange:e=>j({rect:e}),onConfirm:H,onCancel:ee,onStop:async()=>{await B()},setRecordingInteractionActive:u.setActive});let te={snapshot:()=>YT(h),subscribe(e){return g.add(e),()=>g.delete(e)},settings:p,setSettings:m,formats:L,start:W,stop:B,cancel:ee,discard:I,export:R};t.tool.register({id:`recording`,label:`Record`,shortcut:`Shift+R`,order:72,command:VT,toolbarMode:`select`,compactPinned:!0,icon:qT,active:M,hidden:()=>!p().toolEnabled,menu:{label:`Recording options`,items:[{id:`new`,label:`New recording`,disabled:()=>h.status===`recording`||h.status===`exporting`,run:()=>W()},{id:`stop`,label:`Stop recording`,disabled:()=>h.status!==`recording`,run:()=>B().then(()=>void 0)},{id:`discard`,label:`Discard clip`,disabled:()=>_===null,run:I}]}}),t.settings.register({id:`recording`,label:`Recording`,order:42,controls:[{type:`toggle`,id:`tool`,label:`Recording tool`,description:`Show selected-region video recording in the Select toolbar.`,value:()=>p().toolEnabled,set:async e=>{m({toolEnabled:e}),!e&&M()&&await ee()}},{type:`toggle`,id:`120-fps`,label:`120 fps`,description:`Record at 120 fps when the capture source supports it. Off records at 60 fps.`,value:()=>p().frameRate===120,disabled:M,set:e=>{m({frameRate:e?120:60})}}]}),t.command.register(VT,async()=>(await W(),eE(h))),t.command.register(HT,async()=>nE(await B())),t.command.register(UT,()=>(I(),eE(h))),t.command.register(WT,async e=>{let t=await R($T(e));return rE(t,r,i),tE(t)}),t.service.provide(RT,te),t.lifecycle.onDispose(()=>{O=!0,++T,g.clear(),z.dispose(),x.dispose(),P(),F(!0),s.dispose(),a.dispose()})}}),aE=144,oE=96,sE=8,cE=4,lE=1800,uE=200,dE=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},fE=(e,t)=>({left:Math.min(Math.max(sE,e.left),Math.max(sE,t.innerWidth-aE-sE)),top:Math.min(Math.max(sE,e.top),Math.max(sE,t.innerHeight-oE-sE))}),pE=(e,t)=>{let n=e.createElement(`button`);return n.type=`button`,n.textContent=t,dE(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},mE=({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`,hE=e=>e!==null&&(e.nodeType===1||e.nodeType===11),gE=({ownerDocument:e,ownerWindow:t,root:n,previewDurationMs:r})=>{let i=n.closest(`[data-mesurer-root='true']`)??n.parentNode;if(!hE(i))throw Error(`Screenshot preview requires a mounted Mesurer host.`);let a=e.createElement(`div`);a.dataset.mesurerInspectorUi=`true`,a.dataset.mesurerScreenshotInteractive=`true`,dE(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,dE(o,{position:`fixed`,display:`none`,"z-index":`96`,width:`${aE}px`,height:`${oE}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`,dE(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`,dE(c,{position:`absolute`,top:`8px`,right:`8px`,width:`20px`,height:`20px`,display:`flex`,"align-items":`center`,"justify-content":`center`,"box-sizing":`border-box`,padding:`0`,border:`0`,"border-radius":`999px`,"background-color":`rgb(48 51 64)`,color:`white`,"font-family":`inherit`,"font-size":`14px`,"line-height":`1`,"z-index":`2`,cursor:`pointer`,"touch-action":`none`});let l=e.createElementNS(`http://www.w3.org/2000/svg`,`svg`);l.setAttribute(`viewBox`,`0 0 16 16`),l.setAttribute(`width`,`12`),l.setAttribute(`height`,`12`),l.setAttribute(`fill`,`none`),l.setAttribute(`aria-hidden`,`true`);let u=e.createElementNS(`http://www.w3.org/2000/svg`,`path`);u.setAttribute(`d`,`m4 4 8 8M12 4l-8 8`),u.setAttribute(`stroke`,`currentColor`),u.setAttribute(`stroke-width`,`1.75`),u.setAttribute(`stroke-linecap`,`round`),l.append(u),c.append(l),o.append(c),a.append(o);let d=e.createElement(`div`);d.dataset.mesurerScreenshotViewer=`true`,d.setAttribute(`role`,`dialog`),d.setAttribute(`aria-modal`,`true`),d.setAttribute(`aria-label`,`Screenshot viewer`),dE(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`,dE(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`,dE(p,{position:`fixed`,top:`16px`,right:`16px`,display:`flex`,gap:`8px`,"pointer-events":`auto`});let m=pE(e,`Copy`);m.dataset.mesurerScreenshotViewerCopy=`true`,m.setAttribute(`aria-label`,`Copy screenshot`);let h=pE(e,`Save`);h.dataset.mesurerScreenshotViewerSave=`true`,h.setAttribute(`aria-label`,`Save screenshot`);let g=pE(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`),dE(_,{position:`fixed`,left:`50%`,bottom:`20px`,display:`none`,"z-index":`120`,transform:`translateX(-50%)`,padding:`7px 10px`,"border-radius":`8px`,"background-color":`rgb(28 28 30 / 90%)`,color:`white`,"font-size":`12px`,"font-weight":`500`,"pointer-events":`none`}),a.append(_);let v=null,y=null,b=null,x=null,S=0,C=0,w=null,T=!1,E=()=>{S&&t.clearTimeout(S),S=0},D=()=>{C&&t.clearTimeout(C),C=0},O=(e,n=!1)=>{D(),_.textContent=e,_.style.backgroundColor=n?`#b42318`:`rgb(28 28 30 / 90%)`,_.style.display=`block`,C=t.setTimeout(()=>{C=0,_.style.display=`none`},lE)},k=()=>{d.style.display=`none`},A=()=>{y&&globalThis.URL.revokeObjectURL(y),y=null,v=null,s.removeAttribute(`src`),f.removeAttribute(`src`)},j=()=>{E(),k(),w&&=(w.cancel(),null),o.style.display=`none`,o.style.opacity=`1`,o.style.transform=`none`,o.style.removeProperty(`will-change`),o.style.pointerEvents=`auto`,A()},M=()=>{if(!v||o.style.display===`none`||w)return;E(),k();let e=o.getBoundingClientRect(),n=Math.max(152,t.innerWidth-e.left+sE);o.style.pointerEvents=`none`,o.style.willChange=`transform, opacity`;let r=o.animate([{transform:`translateX(0) scale(1)`,opacity:1},{transform:`translateX(${n}px) scale(0.92)`,opacity:0}],{duration:uE,easing:`ease`,fill:`forwards`});w=r,r.finished.catch(()=>void 0).then(()=>{w===r&&(r.cancel(),w=null,j())})},N=()=>fE({left:t.innerWidth-aE-sE,top:t.innerHeight-oE-sE},t),P=e=>{let n=fE(e,t);b=n,o.style.left=`${n.left}px`,o.style.top=`${n.top}px`},F=()=>{!v||!y||(E(),d.style.display=`flex`,g.focus())},I=async()=>{let e=v;if(e)try{await Zc(Promise.resolve(e),t),O(`Copied screenshot`)}catch{O(`Could not copy screenshot`,!0)}},L=()=>{let n=v;if(n)try{$c(n,Qc(),e,t),O(`Saved screenshot`)}catch{O(`Could not save screenshot`,!0)}},R=(e,t,n)=>{if(!v)return!1;E();let r=o.getBoundingClientRect();return x={pointerId:n,startX:e,startY:t,left:r.left,top:r.top,moved:!1},o.style.cursor=`grabbing`,!0},z=(e,t)=>{let n=x;if(!n)return;let r=e-n.startX,i=t-n.startY;!n.moved&&Math.hypot(r,i)>=cE&&(n.moved=!0),n.moved&&P({left:n.left+r,top:n.top+i})},B=()=>{let e=x;e&&(x=null,o.style.cursor=`grab`,e.moved||F())},V=()=>{x&&(x=null,o.style.cursor=`grab`)},H=e=>{e.button!==0||!R(e.clientX,e.clientY,null)||e.preventDefault()},U=e=>{x?.pointerId===null&&z(e.clientX,e.clientY)},W=e=>{e.button===0&&x?.pointerId===null&&B()},ee=e=>{e.pointerType!==`mouse`&&e.button===0&&R(e.clientX,e.clientY,e.pointerId)&&(o.setPointerCapture?.(e.pointerId),e.preventDefault())},te=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&z(e.clientX,e.clientY)},ne=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),B())},re=e=>{let t=x?.pointerId;t!=null&&t===e.pointerId&&(o.hasPointerCapture?.(e.pointerId)&&o.releasePointerCapture(e.pointerId),V())},ie=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),F())},G=e=>{e.target!==s&&e.preventDefault()},ae=e=>{e.target===d&&k()},oe=e=>{e.key===`Escape`&&d.style.display!==`none`&&(e.preventDefault(),e.stopImmediatePropagation(),k())};return c.addEventListener(`pointerdown`,e=>e.stopPropagation()),c.addEventListener(`mousedown`,e=>e.stopPropagation()),c.addEventListener(`click`,e=>{e.stopPropagation(),M()}),o.addEventListener(`mousedown`,H),o.addEventListener(`pointerdown`,ee),o.addEventListener(`keydown`,ie),o.addEventListener(`contextmenu`,G),d.addEventListener(`click`,ae),m.addEventListener(`click`,()=>{I()}),h.addEventListener(`click`,L),g.addEventListener(`click`,k),t.addEventListener(`mousemove`,U,!0),t.addEventListener(`mouseup`,W,!0),t.addEventListener(`pointermove`,te,!0),t.addEventListener(`pointerup`,ne,!0),t.addEventListener(`pointercancel`,re,!0),t.addEventListener(`keydown`,oe,!0),{show(e,n){if(T)return;E(),k(),w&&=(w.cancel(),null),o.style.opacity=`1`,o.style.transform=`none`,o.style.willChange=`transform, opacity`,o.style.pointerEvents=`auto`,A(),v=e;let i=globalThis.URL.createObjectURL(e);y=i,s.src=i,f.src=i,o.style.display=`block`,P(b??N()),O(mE(n)),r>0&&(S=t.setTimeout(j,r))},dismiss:j,dispose(){T||(T=!0,E(),D(),j(),t.removeEventListener(`mousemove`,U,!0),t.removeEventListener(`mouseup`,W,!0),t.removeEventListener(`pointermove`,te,!0),t.removeEventListener(`pointerup`,ne,!0),t.removeEventListener(`pointercancel`,re,!0),t.removeEventListener(`keydown`,oe,!0),o.removeEventListener(`mousedown`,H),o.removeEventListener(`pointerdown`,ee),o.removeEventListener(`keydown`,ie),o.removeEventListener(`contextmenu`,G),d.removeEventListener(`click`,ae),a.remove())}}},_E=`mesurer.screenshot`,vE=`screenshot`,yE=`mesurer.screenshot.settings`,bE=`mesurer.screenshot.active`,xE=`runtime:solid`,SE=`screenshot.toggle`,CE=2500,wE=0,TE=[`[data-mesurer-measurement='true']`,`[data-mesurer-selected-measurement='true']`,`[data-mesurer-selection-spacing-target='true']`,`[data-mesurer-guide='true']`,`[data-mesurer-distance='true']`].join(`,`),EE=`${TE},[data-mesurer-rulers='true'],[data-mesurer-multi-selection-document-layer='true']`,DE={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`]},OE=(e,t)=>{for(let[n,r]of Object.entries(t))e.style.setProperty(n,r)},kE=(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`)}},AE=e=>{let t=e(yE);return{toolEnabled:t?.toolEnabled??!0,copy:t?.copy??!0,download:t?.download??!1,includeMeasurements:t?.includeMeasurements??!1}},jE=e=>({value:e.style.getPropertyValue(`display`),priority:e.style.getPropertyPriority(`display`)}),ME=(e,t)=>{t.value||t.priority?e.style.setProperty(`display`,t.value,t.priority):e.style.removeProperty(`display`)},NE=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},PE=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=NE(e,t);r&&n.add(r)}for(let e of t.querySelectorAll(TE)){let r=NE(e,t);r&&n.add(r)}let r=[];for(let e of n)e.dataset.mesurerInspectorUi!==`true`&&(r.push({element:e,display:jE(e)}),e.style.setProperty(`display`,`none`,`important`));return()=>{for(let e of r)ME(e.element,e.display)}},FE=e=>Array.from(e.querySelectorAll(EE)).filter(e=>e.dataset.mesurerInspectorUi===`true`).map(e=>({element:e,display:jE(e)})),IE=e=>{for(let t of e)t.element.isConnected&&ME(t.element,t.display)},LE=(e={})=>wc({id:_E,version:`0.1.0`,requires:[xE],provides:[`tool:screenshot`,`capture:screenshot`,`settings:screenshot`],setup(t){let n=t.service.get(xE);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??vl,l=e.previewDurationMs??wE;t.state.register({id:yE,initial:{toolEnabled:e.toolEnabled??!0,copy:e.copy??!0,download:e.download??!1,includeMeasurements:e.includeMeasurements??!1},persist:!0}),t.state.register({id:bE,initial:!1});let u=o.element;u.dataset.mesurerScreenshot=`true`,OE(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`),OE(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 OE(e,{position:`fixed`,"background-color":`rgb(0 0 0 / 40%)`,"pointer-events":`none`}),d.append(e),e}),p=r.createElement(`div`);OE(p,{position:`fixed`,display:`none`,border:`1px solid #0d99ff`,"box-sizing":`border-box`,"pointer-events":`none`}),d.append(p);let m=r.createElement(`div`);OE(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`,OE(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`,OE(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=()=>AE(t.state.get),E=e=>{t.state.update(yE,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){kE(f[0],{left:0,top:0,width:t,height:n});for(let e of f.slice(1))kE(e,{left:0,top:0,width:0,height:0});p.style.display=`none`,m.style.display=`none`;return}kE(f[0],{left:0,top:0,width:t,height:e.top}),kE(f[1],{left:0,top:e.top,width:e.left,height:e.height}),kE(f[2],{left:e.left+e.width,top:e.top,width:Math.max(0,t-e.left-e.width),height:e.height}),kE(f[3],{left:0,top:e.top+e.height,width:t,height:Math.max(0,n-e.top-e.height)}),p.style.display=`block`,kE(p,e),m.style.display=`block`,m.textContent=`${Math.round(e.width)} × ${Math.round(e.height)}`,kE(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=gE({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`},CE)},F=()=>{_=null,A(null),d.style.visibility=``,d.style.display=`none`,u.style.pointerEvents=`none`,D(!1),k()},I=()=>{b+=1,F(),yl(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?FE(r):[],u=s.includeMeasurements?()=>void 0:PE(n.portalTarget);a.prepareCapture(),s.includeMeasurements&&IE(l);try{d.style.visibility=`hidden`,await el(i);let n=await Xc(await c({ownerDocument:r,ownerWindow:i}),e,{width:i.innerWidth,height:i.innerHeight},r,Jc(r));if(b!==o)throw Error(`Screenshot capture was cancelled.`);let a=!1,l=!1,u=s.copy?Zc(Promise.resolve(n),i).then(()=>{a=!0}):Promise.resolve(),f=s.download?Promise.resolve().then(()=>{$c(n,Qc(),r,i),l=!0}):Promise.resolve(),p=await Promise.allSettled([u,f]),m=s.copy&&p[0]?.status===`rejected`,h=s.download&&p[1]?.status===`rejected`;if(b!==o)throw Error(`Screenshot capture was cancelled.`);return w()&&F(),M.show(n,{copied:a,downloaded:l,copyFailed:m,downloadFailed:h}),await t.hook.emit(`screenshot:capture`,{rect:{...e},copied:a,downloaded:l}),{blob:n,rect:{...e},copied:a,downloaded:l}}catch(e){throw b===o&&P(),e}finally{d.style.visibility=``,u(),a.finishCapture(),x=!1}},R=async()=>{if(T().toolEnabled){if(w()){I();return}if(!S){S=!0,M.dismiss();try{if(s||await _l(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(Yc(_,_,{width:i.innerWidth,height:i.innerHeight})),d.setPointerCapture?.(e.pointerId))},B=e=>{!w()||!_||A(Yc(_,{x:e.clientX,y:e.clientY},{width:i.innerWidth,height:i.innerHeight}))},V=e=>{let t=_;if(_=null,!w()||!t)return;d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId);let n=Yc(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()})},H=e=>{_=null,d.hasPointerCapture?.(e.pointerId)&&d.releasePointerCapture(e.pointerId),A(null)},U=e=>{e.key!==`Escape`||!w()||(e.preventDefault(),e.stopImmediatePropagation(),I())};d.addEventListener(`pointerdown`,z),d.addEventListener(`pointermove`,B),d.addEventListener(`pointerup`,V),d.addEventListener(`pointercancel`,H),i.addEventListener(`keydown`,U,!0);let W={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:SE,toolbarMode:`select`,compactPinned:!0,icon:DE,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(SE,R),t.service.provide(vE,W),t.lifecycle.onDispose(()=>{C=!0,b+=1,d.removeEventListener(`pointerdown`,z),d.removeEventListener(`pointermove`,B),d.removeEventListener(`pointerup`,V),d.removeEventListener(`pointercancel`,H),i.removeEventListener(`keydown`,U,!0),y&&i.clearTimeout(y),M.dispose(),k(),yl(i),a.finishCapture(),a.dispose(),o.dispose()})}}),RE=e=>Number.parseFloat(e)||0,zE=0,BE=(e,t)=>{let n=t.CSS;return n?.escape?n.escape(e):e.replace(/[^a-zA-Z0-9_-]/g,e=>`\\${e}`)},VE=e=>e.nodeType===9,HE=e=>e.nodeType===11;function UE(e){let t=e.getRootNode();return HE(t)?t:e.ownerDocument}var WE=(e,t)=>{if(VE(e)||HE(e))return e;let n=UE(e);return HE(n)?n:t},GE=600,KE=`audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video`,qE=new WeakMap,JE=e=>{let t=e;for(;t;){if((qE.get(t)??0)>0)return!0;let e=t.getRootNode();t=HE(e)?e.host:t.parentElement}return!1},YE=(e,t)=>t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom,XE=(e,t)=>Array.from(e.getClientRects()).some(e=>YE(e,t)),ZE=(e,t,n)=>{let r=e;for(;r;){let e=n.getComputedStyle(r);if(e.display===`none`||e.visibility===`hidden`||e.visibility===`collapse`||e.contentVisibility===`hidden`||Number(e.opacity)===0)return!0;if(r===t)return!1;r=r.parentElement}return!0},QE=(e,t)=>{if(e.matches(`img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use`))return!0;let n=t.getComputedStyle(e),r=n.backgroundImage!==`none`||n.backgroundColor!==`transparent`&&n.backgroundColor!==`rgba(0, 0, 0, 0)`,i=[`top`,`right`,`bottom`,`left`].some(e=>Number.parseFloat(n.getPropertyValue(`border-${e}-width`))>0&&n.getPropertyValue(`border-${e}-style`)!==`none`);return r||i||n.boxShadow!==`none`||n.outlineStyle!==`none`},$E=(e,t)=>!!e.textContent?.trim()||QE(e,t),eD=(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},tD=(e,t,n)=>{let r=n.defaultView,i=r?.Element;if(!r||!i)return[];let a=[],o=new Set,s=(n,i,s)=>{if(o.has(n)||JE(n)||r.getComputedStyle(n).pointerEvents!==`none`||ZE(n,e,r)||!XE(n,t))return;let c=n.getBoundingClientRect();o.add(n),a.push({element:n,area:c.width*c.height,depth:i,order:s})},c=n.createTreeWalker(e,1),l=c.nextNode(),u=1;for(;l&&u<=GE;){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=eD(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)},nD=(e,t,n)=>{let r=t.ownerDocument.defaultView;if(!r)return[];let i=[...new Set(e)],a=new Map;for(let e of i){let t=e instanceof r.HTMLElement||e instanceof r.SVGElement?e:null;t&&(a.set(e,e.getAttribute(`style`)),t.style.setProperty(`pointer-events`,`auto`,`important`))}try{let e=UE(t).elementsFromPoint(n.x,n.y),r=e.findIndex(e=>e===t),a=new Map(e.map((e,t)=>[e,t]));return i.filter(e=>{let t=a.get(e);return t!==void 0&&(r<0||t<r)}).sort((e,t)=>e.contains(t)?1:t.contains(e)?-1:(a.get(e)??2**53-1)-(a.get(t)??2**53-1))}finally{for(let[e,t]of a)t===null?e.removeAttribute(`style`):e.setAttribute(`style`,t)}},rD=(e,t)=>{let n=e;for(;n.parentElement&&n.parentElement!==t;)n=n.parentElement;return n.parentElement===t?n:null},iD=(e,t,n,r)=>{let i=r.defaultView;if(!i)return[];let a=nD(tD(e,t,r).filter(e=>$E(e,i)),e,t);if(a.length>0)return a;if(e.textContent?.trim()&&!e.matches(KE)||e.matches(`a, button, input, select, textarea, label, summary, [contenteditable='true']`))return[];let o=[],s=new Set,c=!VE(n)&&!HE(n)?n:null,l=e.parentElement;for(;l&&l!==r.body&&l!==r.documentElement&&!(c&&l!==c&&!c.contains(l));){let a=l,u=rD(e,a),d=tD(a,t,r).filter(e=>{if(!oD(e,n)||e.closest(`[aria-hidden='true'], [inert]`))return!1;let t=rD(e,a);return t===null||t!==u});for(let e of d)s.has(e)||!$E(e,i)||(s.add(e),o.push(e));if(a===c)break;l=a.parentElement}return nD(o,e,t)};function aD(e,t,n=VE(t)?t:t.ownerDocument??document){let r=WE(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||!oD(a,t))continue;let o=iD(a,e,t,n);if(o.length>0)return o[0];if(i.getComputedStyle(a).pointerEvents!==`none`)return a}return null}function oD(e,t){if(VE(t))return!0;let n=e;for(;n;){if(t===n||t.contains(n))return!0;let e=n.getRootNode();if(!HE(e))return!1;n=e.host}return!1}function sD(e,t){if(!e)return t();let n=qE.get(e)??0;qE.set(e,n+1);let r=[e,...e.querySelectorAll(`*`)],i=r.map(e=>[e,e.style.getPropertyValue(`pointer-events`),e.style.getPropertyPriority(`pointer-events`)]);for(let e of r)e.style.setProperty(`pointer-events`,`none`,`important`);try{return t()}finally{n===0?qE.delete(e):qE.set(e,n);for(let[e,t,n]of i)t?e.style.setProperty(`pointer-events`,t,n):e.style.removeProperty(`pointer-events`)}}function cD(e){let t=e.ownerDocument.defaultView??window;if(e.id)return`#${BE(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 lD(e,t,n=`dom-inspection-${++zE}`){let r=e.getBoundingClientRect(),i=t.getComputedStyle(e),a={top:RE(i.paddingTop),right:RE(i.paddingRight),bottom:RE(i.paddingBottom),left:RE(i.paddingLeft)},o={top:RE(i.marginTop),right:RE(i.marginRight),bottom:RE(i.marginBottom),left:RE(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 uD(e){let t=e.ownerDocument.defaultView??window,n=t.getComputedStyle(e),r=e instanceof t.HTMLElement?e:null,i=e.getBoundingClientRect(),a=r?lD(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:cD(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 dD=`text-edit`,fD=e=>uD(e);function pD(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||oD(n,t),a=async()=>{let t=(e.getPluginHost()??await e.waitForPluginHost()).service.get(dD);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?fD(n):null},inspectAll(e,n=50){return[...t.querySelectorAll(e)].slice(0,Math.max(0,n)).map(fD)},at(n,r){let a=t.querySelector?.(`[data-mesurer-island]`)??null;return sD(a?.shadowRoot?.querySelector(`[data-mesurer-root='true']`)??a,()=>{let a=aD({x:n,y:r},t,e.ownerDocument);return a&&i(a)?fD(a):null})},distance(e,t){let n=r(e),i=r(t);if(!n||!i)return null;let a=fD(n),o=fD(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(fD)),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 mD=`0.2.3-beta.2`,hD=Jv,gD=Yv,_D=()=>({...Wy(),version:mD}),vD=gD,yD=(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,bD=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}},xD=(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),SD=e=>[...e.measurements,...e.activeMeasurement&&!e.measurements.some(t=>t.id===e.activeMeasurement?.id)?[e.activeMeasurement]:[]];function CD(e){let{workspace:t,scope:n,guideTolerance:r}=e;if(n.kind===`workspace`)return{guides:t.guides.map(e=>({...e})),measurements:SD(t),distances:[...t.distances]};let i=new Set(n.elements),a=e=>e!=null&&i.has(e),o=e=>n.regions.some(t=>yD(e,t));return{guides:t.guides.filter(e=>xD(e,n.regions,r)).map(e=>({...e})),measurements:SD(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 wD={opacity:1,width:1,pattern:`solid`,dashLength:6,gap:4},TD={opacity:1,edgeReveal:!1};({...wD}),{...TD};var ED=10,DD=e=>({left:e.left,top:e.top,width:e.width,height:e.height}),OD=e=>{let t=new Set,n=[];for(let r of e)!r?.isConnected||t.has(r)||(t.add(r),n.push(r));return n},kD=e=>e.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;function AD(e){let{runtime:t,ownerDocument:n,ownerWindow:r}=e,i=e.request??{scope:`workspace`},a=t.snapshot();if(!a)throw Error(`Mesurer workspace is not ready yet.`);let o=e=>DD(t.elementRect?.(e)??e.getBoundingClientRect()),s=[],c=[],l={kind:`workspace`},u=new Map;if(`annotation`in i){let e=t.annotation(i.annotation);if(!e)throw Error(`Mesurer annotation not found: ${i.annotation}`);for(let t of e.resolvedTargets)t.element?.isConnected&&u.set(t.element,t.target.id);s=OD(e.resolvedTargets.map(e=>e.element));let n=t.annotationRect(e.id);n&&(c=[n]);let r=e.resolvedTargets.length,a=e.resolvedTargets.filter(e=>e.element?.isConnected).length,o=e.anchor.kind===`region`?`connected`:r===0||a===0?`stale`:a===r?`connected`:`partial`;l={kind:`annotation`,annotationId:e.id,note:e.note,targetStatus:o}}else if(i.scope===`selection`){let e=t.currentSelection();if(s=OD(e.elements),!s.length&&!e.region)throw Error(`Mesurer has no current selection.`);c=e.region?[e.region]:s.map(o),l={kind:`selection`}}else s=OD([...t.currentSelection().elements,...a.measurements.map(e=>e.elementRef),a.activeMeasurement?.elementRef,...a.heldDistances.flatMap(e=>[e.elementRefA,e.elementRefB])]);let d=l.kind===`workspace`?[]:c.length?c:s.map(o),f=CD({workspace:{guides:a.guides,measurements:a.measurements,activeMeasurement:a.activeMeasurement,distances:a.heldDistances},scope:l.kind===`workspace`?{kind:`workspace`}:{kind:`scoped`,elements:s,regions:d},guideTolerance:a.guideRelevanceTolerance??ED}),p=f.measurements,m=f.distances,h=f.guides,g=OD([...s,...p.map(e=>e.elementRef),...m.flatMap(e=>[e.elementRefA,e.elementRefB])]),_=new Map,v=new Set(u.values()),y=1,b=()=>{let e=`target-${y++}`;for(;v.has(e);)e=`target-${y++}`;return v.add(e),e},x=g.map(e=>{let t=u.get(e)??b(),n=o(e),r=uD(e);return _.set(e,t),{ref:t,inspection:{...r,rect:{...n,right:n.left+n.width,bottom:n.top+n.height,x:n.left,y:n.top}}}}),S=p.map(e=>{let t={id:e.id,rect:DD(e.rect),deltaX:e.deltaX,deltaY:e.deltaY};e.snapped!==void 0&&(t.snapped=e.snapped);let n=e.elementRef?_.get(e.elementRef):void 0;return n&&(t.targetRef=n),t}),C=m.map(e=>{let t={id:e.id,rectA:DD(e.rectA),rectB:DD(e.rectB),horizontal:e.horizontal?{...e.horizontal}:null,vertical:e.vertical?{...e.vertical}:null},n=e.elementRefA?_.get(e.elementRefA):void 0,r=e.elementRefB?_.get(e.elementRefB):void 0;return n&&(t.targetARef=n),r&&(t.targetBRef=r),t});return{schema:`mesurer.context/v1`,id:kD(r),createdAt:new Date().toISOString(),scope:l,page:{url:r.location?.href??n.URL,title:n.title},viewport:{width:r.innerWidth,height:r.innerHeight,devicePixelRatio:r.devicePixelRatio,scrollX:r.scrollX,scrollY:r.scrollY},coordinateSpace:`viewport-css-px`,regions:l.kind===`workspace`?[]:c.map(DD),visualState:{rulersVisible:a.rulersVisible,xrayVisible:a.xrayVisible},targets:x,visualContext:{guides:h,layoutGuides:(e.layoutGuides??[]).map(e=>({...e})),measurements:S,distances:C}}}var jD=e=>`${Math.round(e*100)/100}px`,MD=e=>`x=${jD(e.left)} y=${jD(e.top)} w=${jD(e.width)} h=${jD(e.height)}`;function ND(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}: ${MD(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: ${MD(e.rect)}`,` margin: ${jD(e.margin.top)} ${jD(e.margin.right)} ${jD(e.margin.bottom)} ${jD(e.margin.left)}`,` padding: ${jD(e.padding.top)} ${jD(e.padding.right)} ${jD(e.padding.bottom)} ${jD(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`}=${jD(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 ${jD(n.size)}`:`${n.count} ${n.kind}; gutter=${jD(n.gutter)}; offset=${jD(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}: `:``}${MD(n.rect)}; delta=${jD(n.deltaX)} × ${jD(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=${jD(n.horizontal.value)}`:null,n.vertical?`vertical=${jD(n.vertical.value)}`:null].filter(Boolean).join(`; `);t.push(`- ${e?`${e}: `:``}${r||`overlapping`}`)}}return t.join(`
2310
+ `).trimEnd()}function PD(e){let t=bD([...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 FD=(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`})},ID=(e,t,n,r)=>e.push({kind:`missing`,evidence:t,id:n,label:r}),LD=(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 RD(e){let t=e.runtime.annotation(e.annotationId);if(!t)throw Error(`Mesurer annotation not found: ${e.annotationId}`);let n=AD({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=SD({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){ID(a,`target`,e.id,e.selector);continue}FD(a,`target-rect`,`${t.inspection.selector} left`,e.rect.left,t.inspection.rect.left),FD(a,`target-rect`,`${t.inspection.selector} top`,e.rect.top,t.inspection.rect.top),FD(a,`target-rect`,`${t.inspection.selector} width`,e.rect.width,t.inspection.rect.width),FD(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){ID(a,`guide`,e.id,`${e.orientation} guide ${e.id}`);continue}FD(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=>LD(t.rect,e.rect));r&&n.targets.some(e=>e.ref===r.id)||ID(a,`measurement`,e.id,e.id);continue}FD(a,`measurement`,`${e.id} width`,e.rect.width,r.rect.width),FD(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){ID(a,`distance`,e.id,e.id);continue}e.horizontal&&t.horizontal?FD(a,`distance`,`${e.id} horizontal`,e.horizontal.value,t.horizontal.value):e.horizontal&&!t.horizontal&&ID(a,`distance`,e.id,`${e.id} horizontal`),e.vertical&&t.vertical?FD(a,`distance`,`${e.id} vertical`,e.vertical.value,t.vertical.value):e.vertical&&!t.vertical&&ID(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 zD(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 BD=cw,VD=lw,HD=()=>({...Fw(),version:mD}),UD=`mesurer.context`,WD=`context:v1`,GD=`mesurer.context.settings`,KD=`context.ui`,qD=`data-mesurer-direct-text-edit-active`,JD={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`]},YD={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`]},XD={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`]},ZD=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()))},QD=(e,t,n,r)=>{let i=async i=>AD({runtime:e,ownerDocument:t,ownerWindow:n,request:i,layoutGuides:r()}),a=async e=>ND(await i(e));return{context:i,contextText:a,copyContext:async e=>zD(t,n,await a(e)),select:async r=>{let a=Array.isArray(r)?[...r]:[String(r)];return e.select(a),await ZD(t,n),i({scope:`selection`})},annotations:async()=>e.annotations(),removeAnnotation:async r=>{e.removeAnnotation(r),await ZD(t,n)},review:async i=>{if(await ZD(t,n),i)return RD({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:i,layoutGuides:r()});let a=r();return e.annotations().map(r=>RD({runtime:e,ownerDocument:t,ownerWindow:n,annotationId:r.id,layoutGuides:a}))},capturePlan:async e=>PD(await i(e)),prepareCapture:async()=>{e.prepareCapture(),await ZD(t,n)},finishCapture:async()=>{e.finishCapture(),await ZD(t,n)}}},$D=e=>{let t=e.currentSelection();return t.elements.length>0||t.region!==null};function eO(e={}){return{id:UD,version:mD,requires:[`runtime:solid`],provides:[WD],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(UD),i=QD(r,n.ownerDocument,n.ownerWindow,()=>t.service.get(VD)?.list()??[]);t.service.provide(WD,i),t.state.register({id:GD,initial:{ui:e.ui??!0},persist:!0}),t.state.register({id:KD,initial:{hasSelection:$D(r)}});let a=()=>t.state.get(`mesurer.context.settings`)?.ui??!0,o=()=>t.state.get(KD)?.hasSelection===!0,s=e=>{t.state.update(GD,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(KD)?.hasSelection??!1)&&t.state.update(KD,()=>({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(qD)?e.setAttribute(qD,`true`):e.removeAttribute(qD))},_=()=>{d?.disconnect(),d=null,c=null,l?.(),l=null,u?.dispose(),u=null},v=()=>{if(u)return;if(u=RC(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:[qD]}),g()}let e={runtime:r,onCopy:i.copyContext,onController:e=>{c=e},coordinateSpace:`document`,rendererRoot:n.rendererRoot};l=Oo(()=>mo(PC,Xa(e,{get ownerWindow(){return n.ownerWindow}})),u.element)},y=()=>{a()?v():_()};y(),t.state.subscribe(y),t.command.register(`context.add-note`,()=>c?.openNoteComposer()),t.tool.register({id:`context.copy`,label:`Copy context`,shortcut:`C`,command:`context.copy`,order:70,toolbarMode:`always`,icon:JD,hidden:()=>!a()}),t.tool.register({id:`context.copy-selection`,label:`Copy selection`,shortcut:`Shift+C`,command:`context.copy-selection`,order:71,toolbarMode:`always`,icon:YD,hidden:()=>!a(),disabled:()=>!o()}),t.tool.register({id:`context.add-note`,label:`Add note`,shortcut:`N`,command:`context.add-note`,order:72,toolbarMode:`always`,icon:XD,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 tO={display:`block`,position:`fixed`,inset:`0`,width:`0`,height:`0`,"min-width":`0`,"min-height":`0`,"max-width":`none`,"max-height":`none`,margin:`0`,padding:`0`,border:`0`,overflow:`visible`,background:`transparent`,"box-sizing":`border-box`,"pointer-events":`none`,"z-index":`2147483647`,opacity:`1`,visibility:`visible`,transform:`none`,translate:`none`,rotate:`none`,scale:`none`,filter:`none`,"backdrop-filter":`none`,"clip-path":`none`,mask:`none`,contain:`none`,isolation:`isolate`,"mix-blend-mode":`normal`,animation:`none`,transition:`none`,"color-scheme":`light`,color:`#0f172a`,"font-family":`ui-sans-serif, system-ui, sans-serif`,"font-size":`16px`,"font-weight":`400`,"line-height":`1.5`,"letter-spacing":`normal`,direction:`ltr`};function nO(e){for(let[t,n]of Object.entries(tO))e.style.setProperty(t,n,`important`)}function rO(e){return`popover`in e&&`showPopover`in e&&typeof e.showPopover==`function`&&`hidePopover`in e&&typeof e.hidePopover==`function`}var iO=e=>`newState`in e,aO=e=>e.localName===`dialog`;function oO(e){if(!aO(e)||!e.open)return!1;try{return e.matches(`:modal`)}catch{return!1}}function sO(e,t,n=!0){nO(e);let r=e.ownerDocument,i=r.defaultView??window,a=t,o=!1,s=`fixed`,c=!1,l=0,u=[];if(n&&rO(e)&&(e.popover=`manual`),t.append(e),n&&rO(e))try{e.showPopover(),c=e.matches(`:popover-open`),c&&(s=`top-layer`)}catch{e.removeAttribute(`popover`)}let d=()=>{if(!(!c||!rO(e)))try{e.matches(`:popover-open`)||e.showPopover()}catch{}},f=t=>{if(e.parentNode===t)return;let n=c&&rO(e)&&e.matches(`:popover-open`);if(n&&rO(e))try{e.hidePopover()}catch{}t.append(e),nO(e),n&&d()},p=()=>{u=u.filter(e=>e.isConnected&&oO(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||!rO(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=iO(t)?t.newState:void 0,r=t.target;if(r instanceof i.Element){if(aO(r)){n===`open`&&oO(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&&aO(t)&&h(t)},b=()=>{r.fullscreenElement&&_()},x=e=>{oO(e)&&m(e);for(let t of e.querySelectorAll(`dialog`))oO(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&&aO(e)&&(oO(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&&rO(e)&&e.matches(`:popover-open`))try{e.hidePopover()}catch{}u=[]}}}}var cO=`mesurer.codex`,lO=`codex:v1`,uO=`mesurer.plugin.before-disable`,dO=2e3,fO=750,pO=2e3,mO=1800,hO=2e3,gO=12e4,_O=10,vO=5,yO=`http://127.0.0.1:47365`,bO=`mesurer-codex`,xO=2,SO=[`thread-discovery-v1`,`durable-queue-v1`,`history-recovery-v2`,`client-message-correlation-v1`,`idle-safe-shutdown-v1`,`nonterminal-retention-v1`,`instance-binding-v1`],CO=1500,wO=15e3,TO=5e3,EO=[`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(` `),DO={viewBox:`0 0 256 256`,paths:[`M224,48,32,120l88,32,32,88Z M120,152l104-104`]},OO={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`]},kO={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`]},AO=class extends Error{issue;constructor(e,t){super(t),this.issue=e,this.name=`BrowserBridgeConnectionError`}},jO=()=>{try{let e=globalThis.location;return e?.origin?`mesurer-codex-ui:v2:${e.origin}${e.pathname}`:null}catch{return null}},MO=()=>{let e=jO();if(!e)return null;try{let t=globalThis.sessionStorage?.getItem(e);if(!t)return null;let n=JSON.parse(t);if(n.version!==1)return null;let r=n.originThread?.trim()||null,i=n.selectedThread?.trim()||null,a=n.delivery;return{version:1,originThread:r,selectedThread:i,delivery:a&&a.id.trim()&&a.thread.trim()&&(a.status===`queued`||a.status===`working`||a.status===`completed`||a.status===`interrupted`||a.status===`failed`)&&Array.isArray(a.annotationIds)?{id:a.id.trim(),thread:a.thread.trim(),status:a.status,annotationIds:a.annotationIds.filter(e=>e.trim().length>0),queuedSubmissionId:a.queuedSubmissionId?.trim()||null,clientUserMessageId:a.clientUserMessageId?.trim()||null,dispatch:a.dispatch??null,dispatchError:a.dispatchError?.trim()||null}:null}}catch{return null}},NO=e=>{let t=jO();if(t)try{globalThis.sessionStorage?.setItem(t,JSON.stringify(e))}catch{}},PO=e=>{let t=yO.endsWith(`/`)?yO:`${yO}/`;return new URL(e,t).toString()},FO=e=>{let t=e.bridge;if(!t)throw new AO(`port-conflict`,`Another local service or an outdated Mesurer Codex Bridge is using port 47365. Mesurer will not send data to an unverified service.`);if(t.name!==bO)throw new AO(`port-conflict`,`Another local service is using port 47365 (${t.name??`unknown`}). Mesurer will not send Codex data to it.`);if(t.protocol!==xO)throw new AO(`version-mismatch`,`Mesurer Codex Bridge is out of date (protocol ${t.protocol??`unknown`}; expected ${xO}). Restart the matching Mesurer Codex Bridge helper.`);if(e.access?.allowed===!1)throw new AO(`origin-denied`,`Mesurer Codex Bridge does not allow this browser origin (${globalThis.location?.origin??`this page`}). Allow this origin when starting the bridge.`);let n=new Set(Array.isArray(t.capabilities)?t.capabilities:[]),r=SO.filter(e=>!n.has(e));if(r.length>0)throw new AO(`capability-mismatch`,`Mesurer Codex Bridge is missing required capabilities: ${r.join(`, `)}. Restart or update the matching helper.`);if(!t.instanceId?.trim())throw new AO(`capability-mismatch`,`Mesurer Codex Bridge did not provide an instance identity. Restart or update the matching helper.`)},IO=e=>e.includes(`does not allow this browser origin`)?`origin-denied`:e.includes(`out of date`)?`version-mismatch`:e.includes(`missing required capabilities`)||e.includes(`did not provide an instance identity`)?`capability-mismatch`:e.includes(`Another local service`)?`port-conflict`:e.includes(`instance changed`)?`instance-changed`:e.includes(`timed out`)?`timed-out`:e.includes(`companion is unavailable`)?`not-running`:null,LO=e=>e instanceof AO?e.issue:e instanceof Error?IO(e.message):null,RO=async e=>{let t,n;if(e.action===`health`)t=PO(`health`);else if(e.action===`threads`){let n=new URLSearchParams;n.set(`limit`,String(e.limit??_O)),e.thread&&n.set(`thread`,e.thread),t=`${PO(`threads`)}?${n.toString()}`}else if(e.action===`target`)t=PO(`target`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({thread:e.thread})};else if(e.action===`queue`)t=PO(`send`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({message:e.message,thread:e.thread})};else if(e.action===`delivery`)t=PO(`deliveries/${encodeURIComponent(String(e.deliveryId??``))}`);else if(e.action===`restore`)t=PO(`deliveries/restore`),n={method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({deliveryId:e.deliveryId,thread:e.thread,queuedSubmissionId:e.queuedSubmissionId,clientUserMessageId:e.clientUserMessageId,message:e.message})};else throw Error(`Codex browser companion does not support ${e.action}.`);if(e.action!==`health`){let t=e.bridgeInstanceId?.trim();if(!t)throw new AO(`instance-changed`,`Mesurer Codex Bridge instance changed before this request could be verified.`);let r=new Headers(n?.headers);r.set(`X-Mesurer-Bridge-Instance`,t),n={...n,headers:r}}let r=new AbortController,i=e.action===`health`||e.action===`threads`?CO:wO,a=globalThis.setTimeout(()=>r.abort(),i);try{let i=await fetch(t,{...n,signal:r.signal}),a=await i.text(),o={};if(a)try{o=JSON.parse(a)}catch{o={error:a}}if(e.action===`health`&&FO(o),!i.ok||o.ok===!1){let e=o.error??`Mesurer Codex companion returned HTTP ${i.status}.`,t=IO(e);throw t?new AO(t,e):Error(e)}return o}catch(e){throw e instanceof Error&&e.name===`AbortError`?new AO(`timed-out`,`Mesurer Codex companion timed out.`):e instanceof TypeError?new AO(`not-running`,`Mesurer Codex companion is unavailable at ${yO}.`):e}finally{globalThis.clearTimeout(a)}},zO=async e=>{let t=window.__MESURER_HOST__?.codexBridge;if(!t)throw Error(`Codex native host bridge is unavailable.`);let n=await t(e);if(n.ok===!1)throw Error(n.error??`Codex Bridge request failed.`);return n},BO=e=>{let t=e.runtime;return!t||![`shared`,`standalone`,`desktop`,`none`].includes(t.source)||![`shared-app-server`,`desktop-queue`,`private-stdio`,`none`].includes(t.transport)||t.reason!==null&&t.reason!==`desktop-private-transport`&&t.reason!==`runtime-not-found`?null:{source:t.source,transport:t.transport,available:t.available===!0,reason:t.reason}},VO=e=>({thread:e.thread?.trim()||null,threads:Array.isArray(e.threads)?e.threads.filter(e=>e.trim().length>0):[]}),HO=e=>{let t=e.deliveryId?.trim(),n=e.thread?.trim(),r=e.status;if(!t||!n||!r)throw Error(`Codex Bridge returned an invalid delivery state.`);let i={id:t,thread:n,status:r,turnId:e.turnId?.trim()||null,createdAt:Number.isFinite(e.createdAt)?Number(e.createdAt):0,updatedAt:Number.isFinite(e.updatedAt)?Number(e.updatedAt):0};return e.queuedSubmissionId!==void 0&&(i.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.clientUserMessageId!==void 0&&(i.clientUserMessageId=e.clientUserMessageId?.trim()||null),e.dispatch!==void 0&&(i.dispatch=e.dispatch),e.dispatchError!==void 0&&(i.dispatchError=e.dispatchError?.trim()||null),i},UO=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}),WO=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(`
2311
+ `).trimEnd()}},GO=e=>e.length>16?`${e.slice(0,8)}…${e.slice(-4)}`:e,KO=(e,t=42)=>e.length>t?`${e.slice(0,t-1)}…`:e,qO=e=>LO(e)!==null||e instanceof Error&&(e.message===`Codex Bridge is unavailable in this host.`||e.message.includes(`Codex Bridge lease`)||e.message.includes(`Mesurer Codex Bridge`));function JO(e={}){let t=e.instruction?.trim()||EO,n=e.ui??!0,r=e.clearCompletedAnnotations??!0;return{id:cO,version:mD,requires:[WD],provides:[lO],async setup(e){let i=e.service.get(WD);if(!i)throw Error(`Mesurer Codex plugin requires context() from mesurer-solid/plugins.`);let a=n?MO():null,o=`unknown`,s=null,c=!1,l=a?.originThread??null,u=a?.selectedThread??a?.originThread??null,d=!1,f=null,p=[],m=[],h=!1,g=vO,_,v=``,y=null,b=a?.delivery?{id:a.delivery.id,thread:a.delivery.thread,status:a.delivery.status,annotationIds:a.delivery.annotationIds,queuedSubmissionId:a.delivery.queuedSubmissionId??null,clientUserMessageId:a.delivery.clientUserMessageId??null,dispatch:a.delivery.dispatch??null,dispatchError:a.delivery.dispatchError??null}:null,x=0,S=0,C=null,w=!1,T=null,E=0,D=null,O=null,k=window.__MESURER_HOST__?.codexBridge!==void 0,A=async e=>{if(!k)try{let t=e.action===`queue`||e.action===`target`||e.action===`delivery`||e.action===`restore`;if(e.action===`health`){let t=await RO(e);return D=t.bridge?.instanceId?.trim()||null,E=Date.now(),t}return(!D||t||Date.now()-E>=TO)&&(D=(await RO({action:`health`,thread:u??l??void 0})).bridge?.instanceId?.trim()||null,E=Date.now()),await RO({...e,bridgeInstanceId:D??void 0})}catch(e){throw E=0,D=null,e}if(e.action===`activate`||e.action===`runtime`)return zO(e);if(!T)throw Error(`Codex Bridge lease is not active for this plugin.`);return zO({...e,leaseId:T})},j=async()=>{if(!k)return;let e=T;if(e){if((await zO({action:`deactivate`,leaseId:e})).released!==!0)throw Error(`Codex Bridge did not confirm lease release.`);T=null}};if(k){let e=await zO({action:`activate`,thread:u??l??void 0}),t=e.leaseId?.trim();if(!t)throw Error(`Codex Bridge did not return an activation lease.`);T=t,o=`available`,s=BO(e);let n=VO(e);c=!0,f=n.thread,p=n.threads}e.lifecycle.onDispose(()=>{T&&j().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`[Mesurer] Failed to release Codex host lease: ${t}`)})}),e.hook.on(uO,async e=>{e===`mesurer.codex`&&await j()});let M=async()=>{if(!k)return null;let e=BO(await A({action:`runtime`}));if(!e)throw Error(`Codex Bridge returned an invalid runtime state.`);return s=e,e},N=async()=>{let e=await A({action:`health`,thread:u??l??void 0});return s=BO(e)??s,VO(e)},P=N,F=async e=>HO(await A({action:`delivery`,deliveryId:e})),I=async e=>{if(!e.id||!e.thread)throw Error(`Cannot restore a Codex delivery without its id and thread.`);let n={action:`restore`,deliveryId:e.id,thread:e.thread};if(e.queuedSubmissionId&&(n.queuedSubmissionId=e.queuedSubmissionId),e.clientUserMessageId)n.clientUserMessageId=e.clientUserMessageId;else if(e.annotationIds.length>0){let r=await WO(i,{annotationIds:e.annotationIds},t);if(!(r.annotationIds.length===e.annotationIds.length&&r.annotationIds.every((t,n)=>t===e.annotationIds[n])))throw Error(`Cannot safely restore this Codex delivery because one or more saved Mesurer annotations are unavailable.`);n.message=r.message}return HO(await A(n))},L=async(e={})=>{let t={action:`threads`,limit:e.limit??_O},n=e.thread?.trim();return n&&(t.thread=n),UO(await A(t))},R=()=>u??l??(d?null:f),z=()=>{if(!n)return;let e=b?.id&&(b.status===`queued`||b.status===`working`||b.status===`completed`||b.status===`interrupted`||b.status===`failed`)?{id:b.id,thread:b.thread??R()??``,status:b.status,annotationIds:[...b.annotationIds],queuedSubmissionId:b.queuedSubmissionId,clientUserMessageId:b.clientUserMessageId,dispatch:b.dispatch,dispatchError:b.dispatchError}:null;NO({version:1,originThread:l,selectedThread:u,delivery:e?.thread?e:null})},B=(e,t=!1)=>{let n=e.trim();n&&((t||!l)&&(l=n),u=n,d=!1,z())},V=()=>!b||b.status===`queued`&&(b.dispatch===`desktop-opened`||b.dispatch===`desktop-wake-failed`)?!1:[`queueing`,`queued`,`working`,`completed`].includes(b.status),H=e=>e===`queueing`?`Queueing…`:e===`queued`?`Queued`:e===`working`?`Working…`:e===`completed`?`Done`:e===`interrupted`?`Interrupted`:`Failed`,U=()=>b?b.status===`queueing`?`Queueing to Codex…`:b.status===`queued`?b.dispatch===`desktop-wake-failed`?`Queued — open Codex`:`Queued for Codex`:b.status===`working`?`Codex working…`:b.status===`completed`?`Codex finished`:b.status===`interrupted`?`Codex interrupted`:`Queue failed`:null,W=()=>b?[`queueing`,`queued`,`working`].includes(b.status)?OO:b.status===`completed`?kO:DO:DO,ee=()=>{let e=[],t=new Set,n=n=>{t.has(n.id)||(t.add(n.id),e.push(n))},r=e=>({id:e,title:`Codex ${GO(e)}`,updatedAt:null,connected:!0});l&&n(m.find(e=>e.id===l)??r(l));let i=u;i&&n(m.find(e=>e.id===i)??r(i));for(let e of m)n(e);for(let e of p)n(m.find(t=>t.id===e)??r(e));return e},te=(e=!1)=>Promise.resolve(),ne=(e=!1)=>O===`origin-denied`?e?`Browser origin not allowed`:`Allow this browser origin`:O===`version-mismatch`?e?`Bridge version mismatch`:`Update Mesurer Codex Bridge`:O===`capability-mismatch`?e?`Bridge capability mismatch`:`Update Mesurer Codex Bridge`:O===`port-conflict`?e?`Port 47365 conflict`:`Port 47365 is occupied`:O===`timed-out`?e?`Bridge did not respond`:`Mesurer Codex Bridge did not respond`:O===`instance-changed`?e?`Codex bridge changed`:`Codex bridge changed; reconnecting`:O===`not-running`?e?`Bridge not running`:`Mesurer Codex Bridge is not running`:e?`Codex unavailable`:`Mesurer Codex Bridge is unavailable`,re=()=>k?s?.source===`desktop`?`Connected · Codex Desktop`:s?.source===`standalone`?`Connected · Codex CLI`:s?.source===`shared`?`Connected · Codex shared server`:`Connected · Codex`:p.length===0?`No reachable local Codex session`:`Connected · Local Codex Bridge`,ie=()=>{if(o!==`available`){let e=s?.source===`desktop`&&s.reason===`desktop-private-transport`,t=!k,n=[];return o===`unavailable`&&t&&n.push({id:`codex.connection.status`,label:ne(),disabled:()=>!0,run:()=>void 0}),n.push({id:`codex.thread.connect`,label:o===`unavailable`?t?`Retry Codex connection`:e?`Retry Codex Desktop`:`Retry Codex connection`:`Choose Codex thread…`,run:()=>te(!0)}),n}let e=ee(),t=e.slice(0,g),n=R(),r=[{id:`codex.connection.status`,label:re(),disabled:()=>!0,run:()=>void 0}];return!k&&p.length===0&&r.push({id:`codex.thread.refresh`,label:`Refresh Codex sessions`,run:()=>te(!0)}),r.push(...t.map(e=>{let t=e.id===l?`Current · `:e.connected?`Loaded · `:``,r=b?.thread===e.id?` · ${H(b.status)}`:``;return{id:`codex.thread.${e.id}`,label:`${t}${KO(e.title)}${r}`,checked:()=>n===e.id,disabled:()=>V(),run(){V()||(B(e.id,!l),G())}}})),g<_O&&(e.length>g||h)&&r.push({id:`codex.thread.show-more`,label:`Show 5 more…`,run(){g=_O,G()}}),b?.queuedSubmissionId&&b.status===`queued`&&(b.dispatch===`desktop-opened`||b.dispatch===`desktop-wake-failed`)&&r.push({id:`codex.delivery.receipt`,label:`Receipt · ${GO(b.queuedSubmissionId)}`,disabled:()=>!0,run:()=>void 0}),r},G=()=>{if(!n||w)return;let t=R(),r=ie(),i=!V()&&!d&&o!==`unavailable`&&(o===`unknown`||!!t),a=s?.source===`desktop`&&s.reason===`desktop-private-transport`,c=!k,l=ne(!0),u=U()??(o===`unavailable`?c?l:a?`Codex Desktop not connected`:`Codex unavailable`:o===`available`&&!k&&p.length===0?`No reachable Codex session`:d||o===`available`&&!t?`Choose Codex thread`:`Queue to Codex`),f=JSON.stringify({bridgeAvailability:o,codexRuntime:s,routeNeedsSelection:d,target:t,label:u,visibleThreadCount:g,activeDelivery:b,items:r.map(e=>({id:e.id,label:e.label,checked:e.checked?.()??null,disabled:e.disabled?.()??!1}))});f!==v&&(v=f,_?.dispose(),_=e.tool.register({id:`codex.send`,label:u,command:`codex.queue`,order:73,toolbarMode:`always`,icon:W(),disabled:()=>!i,menu:r.length?{label:`Codex destination`,items:r}:void 0}))},ae=async e=>{if(o!==`available`)return;let t=await L({limit:_O,thread:e??void 0});m=t.threads,h=t.hasMore,p=t.threads.filter(e=>e.connected).map(e=>e.id),f=t.thread};te=(e=!1)=>w||o===`unknown`&&!e?Promise.resolve():y||(y=(async()=>{try{let e=await P();o=`available`,O=null,c=!0,f=e.thread,await ae(u??l??e.thread);let t=u??l;t&&p.includes(t)?d=!1:p.length===1?B(p[0],!0):d=!0,!d&&t&&z()}catch(e){throw o=`unavailable`,O=k?null:LO(e)??`unavailable`,s=await M().catch(()=>s),e}finally{y=null,G()}})(),y);let oe=()=>{x&&=(globalThis.clearTimeout(x),0),S&&=(globalThis.clearTimeout(S),0)},se=()=>{S&&globalThis.clearTimeout(S),S=globalThis.setTimeout(()=>{S=0,b?.status===`completed`&&(b=null,z(),G())},mO)},ce=async e=>{if(!(!b||b.id!==e.id)){if(b={...b,thread:e.thread,status:e.status,queuedSubmissionId:e.queuedSubmissionId??b.queuedSubmissionId,clientUserMessageId:e.clientUserMessageId??b.clientUserMessageId,dispatch:e.dispatch??b.dispatch,dispatchError:e.dispatchError??b.dispatchError},z(),e.status===`completed`){if(z(),G(),r&&b.annotationIds.length>0){let t=!1;for(let e of b.annotationIds)try{await i.removeAnnotation(e)}catch{t=!0}let n=b.annotationIds;try{let e=new Set((await i.annotations()).map(e=>e.id));n=b.annotationIds.filter(t=>e.has(t))}catch{t=!0}if(t||n.length>0){z(),G(),x=globalThis.setTimeout(()=>{x=0,le(e.id)},fO);return}}z(),G(),se();return}if(e.status===`interrupted`){z(),G();let t=e.updatedAt>0?e.updatedAt:Date.now();Date.now()-t<gO&&(x=globalThis.setTimeout(()=>{x=0,le(e.id)},hO));return}G(),x=globalThis.setTimeout(()=>{x=0,le(e.id)},pO)}},le=async e=>{if(!(w||b?.id!==e))try{await ce(await F(e))}catch(t){if(b?.id!==e)return;let n=t;if((b.status===`queued`||b.status===`failed`)&&b.thread)try{o!==`available`&&await te(!0);let e=await I(b);await ce(e);return}catch(e){n=e}if(b?.id!==e)return;if(b.status===`interrupted`){G();return}b={...b,status:`failed`},z(),qO(n)&&(o=`unavailable`),G()}},ue={health:N,listThreads:L,delivery:F,async useThread(e){let t=e.trim();if(!t)throw Error(`Codex thread must be a non-empty string.`);let n=await A({action:`target`,thread:t}),r=VO(n);return s=BO(n)??s,B(t,!l),f=r.thread,p=r.threads,o=`available`,c=!0,G(),r},async queue(e){let r=await WO(i,e,t),a=e?.thread?.trim(),s=a||(n?R():null);if(n&&!a&&(d||!s))throw Error(`Choose a Codex thread before queueing feedback.`);let c={message:r.message};s&&(c.thread=s);try{let e=await A({action:`queue`,...c}),t=e.thread?.trim();if(!t)throw Error(`Codex Bridge did not report the destination thread.`);let n={thread:t,output:e.output??``,delivery:`queued`,deliveryId:e.deliveryId?.trim()||null,status:e.status??`queued`,annotationIds:r.annotationIds};return e.queuedSubmissionId!==void 0&&(n.queuedSubmissionId=e.queuedSubmissionId?.trim()||null),e.clientUserMessageId!==void 0&&(n.clientUserMessageId=e.clientUserMessageId?.trim()||null),e.dispatch!==void 0&&(n.dispatch=e.dispatch),e.dispatchError!==void 0&&(n.dispatchError=e.dispatchError?.trim()||null),n}catch(e){throw n&&qO(e)&&(o=`unavailable`,O=k?null:LO(e)??`unavailable`,G()),e}},send(e){return ue.queue(e)}};e.service.provide(lO,ue);let de=async()=>{if(!(C||V())){if(b?.status===`failed`&&b.id){oe(),await le(b.id);return}return oe(),b={id:null,thread:R(),status:`queueing`,annotationIds:[],queuedSubmissionId:null,clientUserMessageId:null,dispatch:null,dispatchError:null},G(),C=(async()=>{try{n&&o!==`available`&&await te(!0);let e=await ue.queue();b={id:e.deliveryId,thread:e.thread,status:e.status,annotationIds:e.annotationIds,queuedSubmissionId:e.queuedSubmissionId??null,clientUserMessageId:e.clientUserMessageId??null,dispatch:e.dispatch??null,dispatchError:e.dispatchError??null},B(e.thread,!l),z(),G(),console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`),e.deliveryId?e.status===`completed`||e.status===`interrupted`?await ce({id:e.deliveryId,thread:e.thread,status:e.status,turnId:null,createdAt:0,updatedAt:0}):x=globalThis.setTimeout(()=>{x=0,le(e.deliveryId)},fO):S=globalThis.setTimeout(()=>{S=0,b?.id===null&&b?.status===`queued`&&(b=null,z(),G())},mO)}catch(e){b=null,z(),G();let t=e instanceof Error?e.message:String(e);throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`),e}finally{C=null}})(),C}};if(e.command.register(`codex.queue`,de),e.command.register(`codex.send`,de),n){if(G(),k)try{await te(!0)}catch(e){try{await j()}catch(t){let n=e instanceof Error?e.message:String(e),r=t instanceof Error?t.message:String(t);throw Error(`Codex activation failed: ${n}. Native lease release also failed: ${r}.`)}throw e}else te(!0).catch(()=>void 0);b?.id&&(c=!0,x=globalThis.setTimeout(()=>{x=0,b?.id&&le(b.id)},0));let t=globalThis.setInterval(()=>{k&&!c||te(!0).catch(()=>void 0)},k?dO:TO);e.lifecycle.onDispose(()=>{w=!0,oe(),globalThis.clearInterval(t),_?.dispose(),_=void 0})}}}}var YO=LT,XO=(e={})=>({...iE(e),version:mD}),ZO=_E,QO=(e={})=>({...LE(e),version:mD}),$O=()=>globalThis.window?.__MESURER_HOST__?.codexBridge!==void 0,ek=[{id:UD,label:`Context`,order:30,create:eO,settingsIds:[`context`],hiddenSettingsControlIds:[`ui`]},{id:hD,label:`Edit`,order:35,create:_D,settingsIds:[`arrange`]},{id:BD,label:`Layout Guides`,order:38,create:HD},{id:ZO,label:`Screenshot`,order:40,create:QO,settingsIds:[`screenshot`],hiddenSettingsControlIds:[`tool`]},{id:YO,label:`Recording`,order:42,create:XO,settingsIds:[`recording`],hiddenSettingsControlIds:[`tool`]},{id:cO,label:`Codex`,order:45,create:JO}],tk=e=>{let t=e!==void 0,n=new Map((e??[]).map(e=>[e.id,e])),r=new Set(ek.map(e=>e.id)),i=ek.map(e=>{let r=n.get(e.id);return{...e,settingsIds:e.settingsIds?[...e.settingsIds]:void 0,hiddenSettingsControlIds:e.hiddenSettingsControlIds?[...e.hiddenSettingsControlIds]:void 0,enabled:t?!!r:e.id===`mesurer.codex`?$O():e.enabled!==!1,create:r?()=>r:e.create}});for(let[t,n]of(e??[]).entries())r.has(n.id)||i.push({id:n.id,order:1e3+t,enabled:!0,create:()=>n});return i},nk={select:`select`,xray:`xray`,colorPicker:`color-picker`,rulers:`rulers`,typography:`text-inspector`,guides:`guides`,distance:`distance`,settings:`settings`};function rk(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=sO(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=pD({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(WD);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(vD);if(!e)throw Error(`Mesurer Edit is disabled. Enable it in Settings or include edit() in plugins.`);return e},F=async e=>(await N()).context(e),I=async e=>(await N()).contextText(e),L=async e=>(await N()).copyContext(e),R=async e=>(await N()).select(e),z=async()=>(await N()).annotations(),B=async e=>(await N()).review(e),V=async e=>(await N()).capturePlan(e),H=async()=>(await N()).prepareCapture(),U=async()=>(await N()).finishCapture(),W=async()=>(await P()).intents(),ee=async e=>{let t=(await P()).intent(e);if(!t)throw Error(`Edit movement intent not found: ${e}`);return t},te=async(e,t)=>{(await P()).show(e,t)},ne=async(e,t)=>(await P()).capturePlan(e,t),re=async(e,t)=>(await P()).review(e,t),ie=()=>j.textEdits(),G=e=>j.textEdit(e),ae=Object.assign(j,{capabilities:()=>{let e=!!b?.service.get(WD);return{protocol:`mesurer.agent/v1`,contextSchema:`mesurer.context/v1`,capabilities:{context:e,select:e,annotations:e,review:e,capturePlan:e,arrange:!!b?.service.get(vD),textEdit:!!b?.service.get(dD)}}},context:F,contextText:I,select:R,annotations:z,review:B,capturePlan:V,prepareCapture:H,finishCapture:U,arrangements:W,arrange:ee,showArrange:te,arrangeCapturePlan:ne,reviewArrange:re}),oe={...f,version:mD,plugins:tk(l),excludePlugins:u?u.map(e=>nk[e]):[...d??[]]},se=Oo(()=>mo(yC,Xa(oe,{portalTarget:y,pageTarget:t,onPluginHost:e=>{T||(T=!0,x(e)),b=e,s?.(e)},onPluginsReady:e=>{b=e,E||(E=!0,C(e)),c?.(e)}})),v),ce,le=new Promise((e,t)=>{ce=t});le.catch(()=>void 0);let ue=Promise.race([(async()=>(await ae.ready(),k()))(),le]);ue.catch(()=>void 0);let de=null;if(A){let e=A.globalName??`__MESURER__`,t=Object.getOwnPropertyDescriptor(m,e);Reflect.set(m,e,ae),de=()=>{Object.getOwnPropertyDescriptor(m,e)?.value===ae&&(t?Object.defineProperty(m,e,t):Reflect.deleteProperty(m,e))}}let fe=!1,pe=()=>void 0,me=e=>{T||S(e),E||w(e),ce(e)},he={element:h,root:_,hostLayer:g.mode,get pluginHost(){return b},ready:ue,agent:ae,service:M,context:F,contextText:I,copyContext:L,select:R,annotations:z,review:B,capturePlan:V,prepareCapture:H,finishCapture:U,arrangements:W,arrange:ee,showArrange:te,arrangeCapturePlan:ne,reviewArrange:re,textEdits:ie,textEdit:G,bringToFront:g.bringToFront,describe:async()=>(await ue).describe(),dispose(){fe||(fe=!0,pe(),me(new DOMException(`Mesurer was disposed before it became ready.`,`AbortError`)),de?.(),se(),g.dispose(),h.remove())}};if(o){let e=()=>{if(fe)return;let e=o.reason??new DOMException(`Mesurer mount aborted.`,`AbortError`);me(e),he.dispose()};o.addEventListener(`abort`,e,{once:!0}),pe=()=>{o.removeEventListener(`abort`,e)}}return he}var{target:ik,globalName:ak=`__MESURER__`,reuseExisting:ok=!0,recoverDisconnected:sk=!1,...ck}=globalThis.__MESURER_CONFIG__??{},lk=globalThis.__MESURER_INSTANCE__,uk=ok&&lk?.element.isConnected?lk:void 0,dk=()=>{let e=ik?document.querySelector(ik):document.body;if(!e)throw Error(`Mesurer injection target not found: ${ik}`);return globalThis.__MESURER_INSTANCE__?.dispose(),rk({...ck,target:e,agent:{globalName:ak,root:document}})},fk=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()}}},pk=uk??dk();globalThis.__MESURER_INSTANCE__=pk,globalThis.__MESURER_INJECT_RECOVERY__?.stop(),globalThis.__MESURER_INJECT_RECOVERY__=void 0,sk&&fk(dk),pk.ready.catch(e=>{queueMicrotask(()=>{throw e})})})(__MESURER_MEDIABUNNY__);