mesurer-solid 0.2.0-beta.11 → 0.2.0-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -10825,21 +10825,72 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
10825
10825
  }, W = () => {
10826
10826
  for (let [e, t] of h) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
10827
10827
  h.clear();
10828
- }, ee = (e = k()) => {
10828
+ }, ee = (e) => {
10829
+ if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
10830
+ let t = e.getRootNode();
10831
+ return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
10832
+ }, te = (e, t) => {
10833
+ let n = ee(e);
10834
+ for (; n;) {
10835
+ let e = t.get(n);
10836
+ if (e) return e;
10837
+ n = ee(n);
10838
+ }
10839
+ return {
10840
+ x: 0,
10841
+ y: 0
10842
+ };
10843
+ }, ne = (e = k()) => {
10829
10844
  let t = /* @__PURE__ */ new Map();
10830
10845
  for (let n of e) for (let e of n.targets) {
10831
10846
  let n = N(e);
10832
- n && t.set(n, {
10833
- x: e.desiredOffsetX,
10834
- y: e.desiredOffsetY
10835
- });
10847
+ n && t.set(n, e);
10836
10848
  }
10837
10849
  return t;
10838
- }, te = () => {
10850
+ }, re = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
10851
+ x: e.desiredLocalOffsetX,
10852
+ y: e.desiredLocalOffsetY
10853
+ }, ie = (e, t) => {
10854
+ let n = ee(e);
10855
+ for (; n;) {
10856
+ if (t.has(n)) return n;
10857
+ n = ee(n);
10858
+ }
10859
+ return null;
10860
+ }, ae = (e = k(), t = /* @__PURE__ */ new Map()) => {
10861
+ let n = ne(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
10862
+ let s = i.get(e);
10863
+ if (s) return s;
10864
+ let c = n.get(e), l = t.get(e) ?? (c ? re(c) : null);
10865
+ if (!l && c) {
10866
+ let t = {
10867
+ x: c.desiredOffsetX,
10868
+ y: c.desiredOffsetY
10869
+ };
10870
+ return i.set(e, t), t;
10871
+ }
10872
+ if (!l) return {
10873
+ x: 0,
10874
+ y: 0
10875
+ };
10876
+ if (a.has(e)) return l;
10877
+ a.add(e);
10878
+ let u = ie(e, r), d = u ? o(u) : {
10879
+ x: 0,
10880
+ y: 0
10881
+ }, f = {
10882
+ x: d.x + l.x,
10883
+ y: d.y + l.y
10884
+ };
10885
+ return a.delete(e), i.set(e, f), f;
10886
+ };
10887
+ for (let e of r) o(e);
10888
+ return i;
10889
+ }, oe = () => {
10839
10890
  if (_.state === "live") return /* @__PURE__ */ new Map();
10840
- if (!_.intentId) return ee();
10891
+ if (!_.intentId) return ae();
10841
10892
  let e = w().intents.find((e) => e.id === _.intentId);
10842
- if (!e) return ee();
10893
+ if (!e) return ae();
10843
10894
  let t = /* @__PURE__ */ new Map();
10844
10895
  for (let n of e.targets) {
10845
10896
  let e = N(n);
@@ -10852,25 +10903,10 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
10852
10903
  });
10853
10904
  }
10854
10905
  return t;
10855
- }, ne = (e) => {
10856
- if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
10857
- let t = e.getRootNode();
10858
- return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
10859
- }, re = (e, t) => {
10860
- let n = ne(e);
10861
- for (; n;) {
10862
- let e = t.get(n);
10863
- if (e) return e;
10864
- n = ne(n);
10865
- }
10866
- return {
10867
- x: 0,
10868
- y: 0
10869
- };
10870
- }, ie = (e) => {
10906
+ }, se = (e) => {
10871
10907
  let t = [...e].flatMap(([t, n]) => {
10872
10908
  if (!t.isConnected || !j(t)) return [];
10873
- let r = re(t, e), i = {
10909
+ let r = te(t, e), i = {
10874
10910
  x: n.x - r.x,
10875
10911
  y: n.y - r.y
10876
10912
  };
@@ -10890,25 +10926,25 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
10890
10926
  });
10891
10927
  }
10892
10928
  L(n);
10893
- }, ae = () => ie(te()), oe = (e) => {
10929
+ }, ce = () => se(oe()), le = (e) => {
10894
10930
  z();
10895
10931
  try {
10896
10932
  return e();
10897
10933
  } finally {
10898
- !x && !v && ae();
10934
+ !x && !v && ce();
10899
10935
  }
10900
- }, se = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && j(e));
10936
+ }, ue = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && j(e));
10901
10937
  e.state.register({
10902
10938
  id: _p,
10903
- initial: se().length > 0
10939
+ initial: ue().length > 0
10904
10940
  });
10905
- let ce = () => e.state.get(_p) ?? !1, le = () => {
10906
- let t = se().length > 0;
10907
- t !== ce() && e.state.update(_p, () => t);
10908
- }, ue = () => Ap(se().map((e) => Pu(e))), de = () => {
10941
+ let de = () => e.state.get(_p) ?? !1, fe = () => {
10942
+ let t = ue().length > 0;
10943
+ t !== de() && e.state.update(_p, () => t);
10944
+ }, pe = () => Ap(ue().map((e) => Pu(e))), me = () => {
10909
10945
  for (let e of g.values()) e.remove();
10910
10946
  g.clear();
10911
- }, fe = (e) => {
10947
+ }, he = (e) => {
10912
10948
  let t = e.getBoundingClientRect(), n = t.right + wp;
10913
10949
  n + Cp > r.innerWidth - 4 && (n = Math.max(4, t.left - Cp - wp));
10914
10950
  let i = Math.min(Math.max(4, t.top + Tp), Math.max(4, r.innerHeight - Cp - 4));
@@ -10916,27 +10952,34 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
10916
10952
  left: n,
10917
10953
  top: i
10918
10954
  };
10919
- }, pe = () => {
10955
+ }, ge = () => {
10920
10956
  if (!T() || v) {
10921
- de();
10957
+ me();
10922
10958
  return;
10923
10959
  }
10924
- let t = ee(k()), r = /* @__PURE__ */ new Set();
10925
- for (let i of se()) {
10926
- let a = t.get(i);
10927
- if (!a || Math.abs(a.x) <= Ep && Math.abs(a.y) <= Ep) continue;
10928
- r.add(i);
10929
- let o = g.get(i);
10930
- o || (o = n.createElement("button"), o.type = "button", o.dataset.mesurerArrangeReset = "true", o.dataset.mesurerInspectorUi = "true", o.setAttribute("aria-label", "Reset position"), o.title = "Reset position", o.textContent = "↺", o.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]", o.style.position = "fixed", o.addEventListener("pointerdown", (e) => e.stopPropagation()), o.addEventListener("click", (t) => {
10931
- t.preventDefault(), t.stopPropagation(), b = [i], e.command.execute(hp, void 0, { source: "arrange-reset-button" }).catch(() => {
10960
+ let t = k(), r = ne(t), i = ae(t), a = /* @__PURE__ */ new Set();
10961
+ for (let t of ue()) {
10962
+ let o = r.get(t);
10963
+ if (!o) continue;
10964
+ let s = i.get(t);
10965
+ if (!s) continue;
10966
+ let c = te(t, i), u = re(o) ?? {
10967
+ x: s.x - c.x,
10968
+ y: s.y - c.y
10969
+ };
10970
+ if (Math.abs(u.x) <= Ep && Math.abs(u.y) <= Ep) continue;
10971
+ a.add(t);
10972
+ let d = g.get(t);
10973
+ 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) => {
10974
+ n.preventDefault(), n.stopPropagation(), b = [t], e.command.execute(hp, void 0, { source: "arrange-reset-button" }).catch(() => {
10932
10975
  b = null;
10933
10976
  });
10934
- }), g.set(i, o), l.append(o));
10935
- let s = fe(i);
10936
- o.style.left = `${s.left}px`, o.style.top = `${s.top}px`;
10977
+ }), g.set(t, d), l.append(d));
10978
+ let f = he(t);
10979
+ d.style.left = `${f.left}px`, d.style.top = `${f.top}px`;
10937
10980
  }
10938
- for (let [e, t] of g) r.has(e) || (t.remove(), g.delete(e));
10939
- }, me = (t) => {
10981
+ for (let [e, t] of g) a.has(e) || (t.remove(), g.delete(e));
10982
+ }, _e = (t) => {
10940
10983
  let n = new Set(t);
10941
10984
  n.size && (e.state.update("mesurer.arrange.intents", (e) => {
10942
10985
  let t = !1, r = e.intents.flatMap((e) => {
@@ -10951,13 +10994,13 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
10951
10994
  }] : [];
10952
10995
  });
10953
10996
  return t ? { intents: r } : e;
10954
- }), ve(), _e());
10955
- }, he = () => {
10997
+ }), xe(), be());
10998
+ }, ve = () => {
10956
10999
  e.state.update(sp, (e) => {
10957
11000
  let t = e.intents.filter((e) => e.pageUrl !== O());
10958
11001
  return t.length === e.intents.length ? e : { intents: t };
10959
- }), ve(), _e();
10960
- }, ge = (e) => {
11002
+ }), xe(), be();
11003
+ }, ye = (e) => {
10961
11004
  let t = E();
10962
11005
  if (!t.snapping) return [];
10963
11006
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
@@ -11029,38 +11072,38 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11029
11072
  kind: "guide"
11030
11073
  });
11031
11074
  return n;
11032
- }, _e = (e) => {
11075
+ }, be = (e) => {
11033
11076
  if (!T()) {
11034
- f.style.display = "none", de();
11077
+ f.style.display = "none", me();
11035
11078
  return;
11036
11079
  }
11037
- let t = e === void 0 ? ue() : e;
11080
+ let t = e === void 0 ? pe() : e;
11038
11081
  if (!t) {
11039
- f.style.display = "none", de();
11082
+ f.style.display = "none", me();
11040
11083
  return;
11041
11084
  }
11042
- f.style.display = "block", f.style.left = `${t.left}px`, f.style.top = `${t.top}px`, f.style.width = `${t.width}px`, f.style.height = `${t.height}px`, v ? de() : pe();
11043
- }, ve = () => {
11085
+ f.style.display = "block", f.style.left = `${t.left}px`, f.style.top = `${t.top}px`, f.style.width = `${t.width}px`, f.style.height = `${t.height}px`, v ? me() : ge();
11086
+ }, xe = () => {
11044
11087
  _ = {
11045
11088
  intentId: null,
11046
11089
  state: "desired"
11047
- }, ae(), V(), T() ? U() : W();
11048
- }, ye = () => {
11090
+ }, ce(), V(), T() ? U() : W();
11091
+ }, Se = () => {
11049
11092
  _ = {
11050
11093
  intentId: null,
11051
11094
  state: "live"
11052
11095
  }, B(), V(), W();
11053
- }, be = () => {
11054
- x || v || (ae(), V(), T() ? U() : W(), _e());
11055
- }, xe = () => {
11096
+ }, Ce = () => {
11097
+ x || v || (ce(), V(), T() ? U() : W(), be());
11098
+ }, we = () => {
11056
11099
  S || x || (S = r.requestAnimationFrame(() => {
11057
- S = 0, be();
11100
+ S = 0, Ce();
11058
11101
  }));
11059
- }, Se = async () => {
11102
+ }, Te = async () => {
11060
11103
  s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(dp, void 0, { source: "arrange" });
11061
- }, Ce = (e) => {
11104
+ }, Ee = (e) => {
11062
11105
  if (!T() || e.button !== 0) return;
11063
- let r = se();
11106
+ let r = ue();
11064
11107
  if (!r.length) return;
11065
11108
  let a = e.shiftKey ? Wu(t.rendererRoot ?? null, () => Wu(l, () => Hu({
11066
11109
  x: e.clientX,
@@ -11073,62 +11116,81 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11073
11116
  e.preventDefault(), e.stopPropagation(), _ = {
11074
11117
  intentId: null,
11075
11118
  state: "desired"
11076
- }, ae();
11077
- let s = ee(k());
11119
+ }, ce();
11120
+ let s = ne(k()), u = ae(k()), d = new Set(r);
11078
11121
  z();
11079
- let u = r.map((e, t) => {
11080
- let n = Pu(e), r = s.get(e) ?? {
11081
- x: 0,
11082
- y: 0
11083
- }, i = Op(n, r), a = Ku(e);
11122
+ let p = r.map((e, t) => {
11123
+ let n = Pu(e), r = te(e, u), i = u.get(e) ?? r, a = s.get(e), o = (a ? re(a) : null) ?? {
11124
+ x: i.x - r.x,
11125
+ y: i.y - r.y
11126
+ }, c = Op(n, i), l = Ku(e);
11084
11127
  return {
11085
11128
  element: e,
11129
+ movesDirectly: ie(e, d) === null,
11086
11130
  target: {
11087
11131
  id: `target-${t + 1}`,
11088
11132
  selector: Gu(e),
11089
- fingerprintTag: a.tag,
11090
- fingerprintId: a.id,
11091
- fingerprintTestId: a.testId,
11092
- fingerprintRole: a.role,
11093
- fingerprintAriaLabel: a.ariaLabel,
11094
- fingerprintClasses: [...a.classes],
11095
- fingerprintText: a.text,
11096
- beforeLeft: i.left,
11097
- beforeTop: i.top,
11098
- beforeWidth: i.width,
11099
- beforeHeight: i.height,
11100
- desiredLeft: i.left,
11101
- desiredTop: i.top,
11102
- desiredWidth: i.width,
11103
- desiredHeight: i.height,
11104
- beforeOffsetX: r.x,
11105
- beforeOffsetY: r.y,
11106
- desiredOffsetX: r.x,
11107
- desiredOffsetY: r.y
11133
+ fingerprintTag: l.tag,
11134
+ fingerprintId: l.id,
11135
+ fingerprintTestId: l.testId,
11136
+ fingerprintRole: l.role,
11137
+ fingerprintAriaLabel: l.ariaLabel,
11138
+ fingerprintClasses: [...l.classes],
11139
+ fingerprintText: l.text,
11140
+ beforeLeft: c.left,
11141
+ beforeTop: c.top,
11142
+ beforeWidth: c.width,
11143
+ beforeHeight: c.height,
11144
+ desiredLeft: c.left,
11145
+ desiredTop: c.top,
11146
+ desiredWidth: c.width,
11147
+ desiredHeight: c.height,
11148
+ beforeOffsetX: i.x,
11149
+ beforeOffsetY: i.y,
11150
+ desiredOffsetX: i.x,
11151
+ desiredOffsetY: i.y,
11152
+ offsetSpace: "local",
11153
+ beforeLocalOffsetX: o.x,
11154
+ beforeLocalOffsetY: o.y,
11155
+ desiredLocalOffsetX: o.x,
11156
+ desiredLocalOffsetY: o.y
11108
11157
  }
11109
11158
  };
11110
- }), d = Ap(u.map(({ target: e }) => ({
11159
+ }), m = Ap(p.map(({ target: e }) => ({
11111
11160
  left: e.beforeLeft,
11112
11161
  top: e.beforeTop,
11113
11162
  width: e.beforeWidth,
11114
11163
  height: e.beforeHeight
11115
11164
  })));
11116
- if (!d) {
11117
- ae();
11165
+ if (!m) {
11166
+ ce();
11118
11167
  return;
11119
11168
  }
11120
- ae(), U(), V(), v = {
11169
+ ce(), U(), V(), v = {
11121
11170
  pointerId: e.pointerId,
11122
11171
  originX: e.clientX,
11123
11172
  originY: e.clientY,
11124
- targets: u,
11125
- groupBefore: d,
11126
- snapCandidates: ge(r),
11173
+ targets: p,
11174
+ groupBefore: m,
11175
+ snapCandidates: ye(r),
11127
11176
  shiftToggleElement: e.shiftKey && a instanceof c.HTMLElement && r.includes(a) ? a : null,
11128
11177
  dx: 0,
11129
11178
  dy: 0
11130
- }, _e(d), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
11131
- }, we = (e) => {
11179
+ }, be(m), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
11180
+ }, De = (e, t, n) => {
11181
+ let r = /* @__PURE__ */ new Map();
11182
+ for (let i of e.targets) {
11183
+ let e = {
11184
+ x: i.target.beforeLocalOffsetX ?? 0,
11185
+ y: i.target.beforeLocalOffsetY ?? 0
11186
+ };
11187
+ r.set(i.element, i.movesDirectly ? {
11188
+ x: e.x + t,
11189
+ y: e.y + n
11190
+ } : e);
11191
+ }
11192
+ return r;
11193
+ }, Oe = (e) => {
11132
11194
  if (!v || e.pointerId !== v.pointerId) return;
11133
11195
  let t = e.clientX - v.originX, n = e.clientY - v.originY, r = null;
11134
11196
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
@@ -11137,60 +11199,71 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11137
11199
  y: n
11138
11200
  }), a = r === "y" ? null : Fp("x", i, v.snapCandidates), o = r === "x" ? null : Fp("y", i, v.snapCandidates);
11139
11201
  t += a?.delta ?? 0, n += o?.delta ?? 0, v.dx = t, v.dy = n;
11140
- let s = ee(k());
11141
- for (let e of v.targets) s.set(e.element, {
11142
- x: e.target.beforeOffsetX + t,
11143
- y: e.target.beforeOffsetY + n
11144
- });
11145
- ie(s);
11202
+ let s = ae(k(), De(v, t, n));
11203
+ se(s);
11146
11204
  let c = Op(v.groupBefore, {
11147
11205
  x: t,
11148
11206
  y: n
11149
11207
  });
11150
- _e(c), H(a, o, c);
11151
- }, Te = () => {
11208
+ be(c), H(a, o, c);
11209
+ }, ke = () => {
11152
11210
  if (!v) return;
11153
11211
  let e = v.pointerId;
11154
- v = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", ve(), _e();
11155
- }, Ee = (t) => {
11212
+ v = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", xe(), be();
11213
+ }, Ae = (t) => {
11156
11214
  if (!v || t.pointerId !== v.pointerId) return;
11157
11215
  t.preventDefault(), t.stopPropagation();
11158
11216
  let n = v;
11159
11217
  if (v = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", V(), n.dx === 0 && n.dy === 0) {
11160
- n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement), ve(), _e();
11218
+ n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement), xe(), be();
11161
11219
  return;
11162
11220
  }
11221
+ let a = ae(k(), De(n, n.dx, n.dy));
11163
11222
  y = {
11164
11223
  id: Lp(r, "arrange"),
11165
11224
  createdAt: Date.now(),
11166
11225
  pageUrl: O(),
11167
- targets: n.targets.map(({ target: e }) => ({
11168
- ...e,
11169
- desiredLeft: e.beforeLeft + n.dx,
11170
- desiredTop: e.beforeTop + n.dy,
11171
- desiredOffsetX: e.beforeOffsetX + n.dx,
11172
- desiredOffsetY: e.beforeOffsetY + n.dy
11173
- }))
11226
+ targets: n.targets.map(({ element: e, movesDirectly: t, target: r }) => {
11227
+ let i = {
11228
+ x: r.beforeLocalOffsetX ?? 0,
11229
+ y: r.beforeLocalOffsetY ?? 0
11230
+ }, o = t ? {
11231
+ x: i.x + n.dx,
11232
+ y: i.y + n.dy
11233
+ } : i, s = a.get(e) ?? {
11234
+ x: r.beforeOffsetX + n.dx,
11235
+ y: r.beforeOffsetY + n.dy
11236
+ };
11237
+ return {
11238
+ ...r,
11239
+ desiredLeft: r.beforeLeft + n.dx,
11240
+ desiredTop: r.beforeTop + n.dy,
11241
+ desiredOffsetX: s.x,
11242
+ desiredOffsetY: s.y,
11243
+ desiredLocalOffsetX: o.x,
11244
+ desiredLocalOffsetY: o.y
11245
+ };
11246
+ })
11174
11247
  }, e.command.execute(pp).catch(() => {
11175
- y = null, ve(), _e();
11248
+ y = null, xe(), be();
11176
11249
  });
11177
- }, De = (e) => {
11178
- !v || e.pointerId !== v.pointerId || Te();
11179
- }, Oe = (t) => {
11250
+ }, je = (e) => {
11251
+ !v || e.pointerId !== v.pointerId || ke();
11252
+ }, Me = (t) => {
11180
11253
  if (t.key !== "Escape" || !T() && !v || Kp(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
11181
11254
  if (t.preventDefault(), t.stopImmediatePropagation(), v) {
11182
- Te();
11255
+ ke();
11183
11256
  return;
11184
11257
  }
11185
11258
  let n = i.currentSelection();
11186
11259
  if (n.elements.length > 0 || n.region) {
11187
- i.clearSelection(), _e();
11260
+ i.clearSelection(), be();
11188
11261
  return;
11189
11262
  }
11190
- e.state.update(cp, () => !1), ye(), _e(), e.command.execute(dp, void 0, { source: "arrange-escape" }).catch(() => void 0);
11263
+ e.state.update(cp, () => !1), Se(), be(), e.command.execute(dp, void 0, { source: "arrange-escape" }).catch(() => void 0);
11191
11264
  };
11192
- f.addEventListener("pointerdown", Ce), f.addEventListener("pointermove", we), f.addEventListener("pointerup", Ee), f.addEventListener("pointercancel", De), r.addEventListener("keydown", Oe, !0), r.addEventListener("resize", xe), r.addEventListener("scroll", xe, !0), o.addEventListener("scroll", xe, !0), C = new c.MutationObserver(() => {
11193
- le(), xe();
11265
+ f.addEventListener("pointerdown", Ee), f.addEventListener("pointermove", Oe), f.addEventListener("pointerup", Ae), f.addEventListener("pointercancel", je), r.addEventListener("keydown", Me, !0), r.addEventListener("resize", we), r.addEventListener("scroll", we, !0), o.addEventListener("scroll", we, !0), C = new c.MutationObserver(() => {
11266
+ fe(), we();
11194
11267
  }), C.observe(o, {
11195
11268
  childList: !0,
11196
11269
  subtree: !0,
@@ -11203,9 +11276,9 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11203
11276
  "aria-label"
11204
11277
  ]
11205
11278
  });
11206
- let ke = i.subscribe(() => {
11207
- le(), xe();
11208
- }), Ae = e.state.subscribe(xe), je = (e) => w().intents.find((t) => t.id === e) ?? null, Me = (e, t) => {
11279
+ let Ne = i.subscribe(() => {
11280
+ fe(), we();
11281
+ }), Pe = e.state.subscribe(we), Fe = (e) => w().intents.find((t) => t.id === e) ?? null, Ie = (e, t) => {
11209
11282
  let n = null;
11210
11283
  if (n = t === "before" ? Ap(e.targets.map((e) => ({
11211
11284
  left: e.beforeLeft,
@@ -11217,7 +11290,7 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11217
11290
  top: e.desiredTop,
11218
11291
  width: e.desiredWidth,
11219
11292
  height: e.desiredHeight
11220
- }))) : oe(() => Ap(e.targets.map((e) => N(e)).filter((e) => e !== null).map((e) => Pu(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
11293
+ }))) : le(() => Ap(e.targets.map((e) => N(e)).filter((e) => e !== null).map((e) => Pu(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
11221
11294
  let i = Math.max(0, n.left - yp), a = Math.max(0, n.top - yp), o = Math.min(r.innerWidth, n.left + n.width + yp), s = Math.min(r.innerHeight, n.top + n.height + yp);
11222
11295
  return {
11223
11296
  left: i,
@@ -11225,28 +11298,28 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11225
11298
  width: Math.max(0, o - i),
11226
11299
  height: Math.max(0, s - a)
11227
11300
  };
11228
- }, Ne = {
11301
+ }, Le = {
11229
11302
  active: T,
11230
11303
  intents: () => w().intents.map(Bp),
11231
11304
  intent(e) {
11232
- let t = je(e);
11305
+ let t = Fe(e);
11233
11306
  return t ? Bp(t) : null;
11234
11307
  },
11235
11308
  show(e, t) {
11236
- if (!je(e)) throw Error(`Arrange intent not found: ${e}`);
11309
+ if (!Fe(e)) throw Error(`Arrange intent not found: ${e}`);
11237
11310
  _ = {
11238
11311
  intentId: e,
11239
11312
  state: t
11240
- }, be();
11313
+ }, Ce();
11241
11314
  },
11242
11315
  showCurrent() {
11243
11316
  _ = {
11244
11317
  intentId: null,
11245
11318
  state: "desired"
11246
- }, be();
11319
+ }, Ce();
11247
11320
  },
11248
11321
  capturePlan(e, t) {
11249
- let n = je(e);
11322
+ let n = Fe(e);
11250
11323
  if (!n) throw Error(`Arrange intent not found: ${e}`);
11251
11324
  return {
11252
11325
  schema: "mesurer.arrange-capture/v1",
@@ -11259,14 +11332,14 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11259
11332
  }, {
11260
11333
  id: "focus",
11261
11334
  kind: "clip",
11262
- rect: Me(n, t)
11335
+ rect: Ie(n, t)
11263
11336
  }]
11264
11337
  };
11265
11338
  },
11266
11339
  review: (e, t = vp) => {
11267
- let n = je(e);
11340
+ let n = Fe(e);
11268
11341
  if (!n) throw Error(`Arrange intent not found: ${e}`);
11269
- let r = oe(() => n.targets.map((e) => {
11342
+ let r = le(() => n.targets.map((e) => {
11270
11343
  let n = N(e), r = {
11271
11344
  left: e.desiredLeft,
11272
11345
  top: e.desiredTop,
@@ -11433,24 +11506,24 @@ var $f = "mesurer.presentation.preferences", ep = "presentation", tp = {
11433
11506
  ]
11434
11507
  }), e.command.register(fp, async () => {
11435
11508
  let t = !T();
11436
- if (t && await Se(), e.state.update("mesurer.arrange.active", () => t), !t) {
11437
- v && Te(), ye(), _e();
11509
+ if (t && await Te(), e.state.update("mesurer.arrange.active", () => t), !t) {
11510
+ v && ke(), Se(), be();
11438
11511
  return;
11439
11512
  }
11440
- ve(), _e();
11513
+ xe(), be();
11441
11514
  }), e.command.register(pp, () => {
11442
11515
  let t = y;
11443
- y = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ve(), _e());
11516
+ y = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), xe(), be());
11444
11517
  }), e.command.register(hp, () => {
11445
- let e = b ?? se();
11446
- b = null, me(e);
11447
- }), e.command.register(gp, he), e.command.register(mp, () => {
11518
+ let e = b ?? ue();
11519
+ b = null, _e(e);
11520
+ }), e.command.register(gp, ve), e.command.register(mp, () => {
11448
11521
  e.state.update(sp, () => ({ intents: [] })), _ = {
11449
11522
  intentId: null,
11450
11523
  state: "desired"
11451
- }, B(), V(), T() ? U() : W(), _e();
11452
- }), e.service.provide(op, Ne), ae(), _e(), e.lifecycle.onDispose(() => {
11453
- x = !0, S && r.cancelAnimationFrame(S), C?.disconnect(), C = null, f.removeEventListener("pointerdown", Ce), f.removeEventListener("pointermove", we), f.removeEventListener("pointerup", Ee), f.removeEventListener("pointercancel", De), r.removeEventListener("keydown", Oe, !0), r.removeEventListener("resize", xe), r.removeEventListener("scroll", xe, !0), o.removeEventListener("scroll", xe, !0), ke(), Ae.dispose(), B(), de(), V(), W(), i.dispose(), a.dispose();
11524
+ }, B(), V(), T() ? U() : W(), be();
11525
+ }), e.service.provide(op, Le), ce(), be(), e.lifecycle.onDispose(() => {
11526
+ x = !0, S && r.cancelAnimationFrame(S), C?.disconnect(), C = null, f.removeEventListener("pointerdown", Ee), f.removeEventListener("pointermove", Oe), f.removeEventListener("pointerup", Ae), f.removeEventListener("pointercancel", je), r.removeEventListener("keydown", Me, !0), r.removeEventListener("resize", we), r.removeEventListener("scroll", we, !0), o.removeEventListener("scroll", we, !0), Ne(), Pe.dispose(), B(), me(), V(), W(), i.dispose(), a.dispose();
11454
11527
  });
11455
11528
  }
11456
11529
  }), Jp = (e, t, n) => {
@@ -18036,7 +18109,7 @@ function Hy(e) {
18036
18109
  }
18037
18110
  //#endregion
18038
18111
  //#region src/version.ts
18039
- var Uy = "0.2.0-beta.11", Wy = ap, Gy = op, Ky = () => ({
18112
+ var Uy = "0.2.0-beta.12", Wy = ap, Gy = op, Ky = () => ({
18040
18113
  ...$p(),
18041
18114
  version: Uy
18042
18115
  }), qy = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, Jy = (e) => {