mesurer-solid 0.2.2-beta.5 → 0.2.2-beta.7

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/plugins.js CHANGED
@@ -3887,10 +3887,33 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3887
3887
  d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = Uo, d.style.pointerEvents = "none";
3888
3888
  let f = n.createElement("div");
3889
3889
  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);
3890
- let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Map(), v = {
3890
+ let p = /* @__PURE__ */ new Map(), m = n.createElement("style");
3891
+ m.dataset.mesurerArrangeNativePaintGuard = "true", m.textContent = "\nbody:has([data-mesurer-text-editor=\"true\"]) > [data-mesurer-arrange-native-stroke=\"true\"] {\n display: none !important;\n}\n", n.head.append(m);
3892
+ let h = () => {
3893
+ for (let e of p.values()) e.remove();
3894
+ p.clear();
3895
+ }, g = (e) => {
3896
+ let t = n.body;
3897
+ if (!t || !e.length || !r.CSS?.supports("left: anchor(left)")) return h(), !1;
3898
+ let i = Array.from(t.children).filter((e) => e instanceof c.HTMLElement && e.dataset.mesurerSelectedMeasurement === "true" && e.dataset.mesurerSelectionGroup !== "true").flatMap((t) => {
3899
+ let r = t.querySelector("[data-mesurer-measurement-chrome='true']"), i = r?.style.getPropertyValue("position-anchor").trim();
3900
+ return !r || r.dataset.mesurerNativeScrollAnchor !== "box" || !i ? [] : e.find((e) => e.getRootNode() === n && e.style.getPropertyValue("anchor-name").split(",").some((e) => e.trim() === i)) ? [{
3901
+ chrome: r,
3902
+ anchor: i
3903
+ }] : [];
3904
+ });
3905
+ if (i.length !== e.length) return h(), !1;
3906
+ let a = new Set(i.map(({ chrome: e }) => e));
3907
+ for (let [e, t] of p) a.has(e) || (t.remove(), p.delete(e));
3908
+ for (let { chrome: e, anchor: r } of i) {
3909
+ let i = p.get(e);
3910
+ 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");
3911
+ }
3912
+ return !0;
3913
+ }, _ = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), b = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), S = {
3891
3914
  intentId: null,
3892
3915
  state: "desired"
3893
- }, y = null, b = null, x = null, S = !1, C = 0, w = null, T = () => e.state.get("mesurer.arrange.intents") ?? { intents: [] }, E = () => e.state.get("mesurer.arrange.active") ?? !1, D = () => {
3916
+ }, C = null, w = null, T = null, E = !1, D = 0, O = null, k = () => e.state.get("mesurer.arrange.intents") ?? { intents: [] }, A = () => e.state.get("mesurer.arrange.active") ?? !1, j = () => {
3894
3917
  let t = e.state.get(Ao);
3895
3918
  return {
3896
3919
  snapping: t?.snapping ?? !0,
@@ -3900,23 +3923,23 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3900
3923
  preferXrayEdges: t?.preferXrayEdges ?? !0,
3901
3924
  snapLines: t?.snapLines ?? !0
3902
3925
  };
3903
- }, O = (t) => {
3926
+ }, M = (t) => {
3904
3927
  e.state.update(Ao, (e) => ({
3905
3928
  ...e,
3906
3929
  ...t
3907
3930
  }));
3908
- }, k = () => as(r), A = () => T().intents.filter((e) => e.pageUrl === k()), j = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), M = (e) => Hi(e, o) && !j(e), N = (e) => {
3931
+ }, N = () => as(r), P = () => k().intents.filter((e) => e.pageUrl === N()), F = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), I = (e) => Hi(e, o) && !F(e), L = (e) => {
3909
3932
  let t = [];
3910
- o instanceof c.HTMLElement && o.matches(e) && !j(o) && t.push(o);
3911
- for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && M(n) && t.push(n);
3933
+ o instanceof c.HTMLElement && o.matches(e) && !F(o) && t.push(o);
3934
+ for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && I(n) && t.push(n);
3912
3935
  return t;
3913
- }, P = (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)), F = (e) => {
3914
- let t = ss(e), n = m.get(e.selector);
3915
- if (n && n.isConnected && M(n) && P(n, e)) return n;
3916
- if (n && m.delete(e.selector), !Ki(t)) return null;
3936
+ }, R = (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)), z = (e) => {
3937
+ let t = ss(e), n = v.get(e.selector);
3938
+ if (n && n.isConnected && I(n) && R(n, e)) return n;
3939
+ if (n && v.delete(e.selector), !Ki(t)) return null;
3917
3940
  let r = [];
3918
3941
  try {
3919
- r = N(e.selector).filter((e) => qi(e, t));
3942
+ r = L(e.selector).filter((e) => qi(e, t));
3920
3943
  } catch {
3921
3944
  return null;
3922
3945
  }
@@ -3924,35 +3947,35 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3924
3947
  if (!t.id && !t.testId) {
3925
3948
  let e = [];
3926
3949
  try {
3927
- e = N(t.tag).filter((e) => qi(e, t));
3950
+ e = L(t.tag).filter((e) => qi(e, t));
3928
3951
  } catch {
3929
3952
  return null;
3930
3953
  }
3931
3954
  if (e.length !== 1 || e[0] !== r[0]) return null;
3932
3955
  }
3933
3956
  return r[0] ?? null;
3934
- }, I = {
3957
+ }, B = {
3935
3958
  value: "none",
3936
3959
  priority: "important"
3937
- }, L = (e) => {
3960
+ }, V = (e) => {
3938
3961
  let t = us(e, "transition-property");
3939
- (!h.get(e) || !fs(t, I)) && h.set(e, t), fs(t, I) || e.style.setProperty("transition-property", I.value, I.priority);
3940
- }, R = (e) => {
3941
- let t = h.get(e);
3942
- t && (fs(us(e, "transition-property"), I) && (t.value || t.priority ? e.style.setProperty("transition-property", t.value, t.priority) : e.style.removeProperty("transition-property")), h.delete(e));
3943
- }, z = (e) => {
3944
- for (let t of h.keys()) e.has(t) || R(t);
3945
- }, B = () => {
3946
- for (let e of h.keys()) R(e);
3947
- }, V = () => {
3948
- for (let e of p.values()) ms(e);
3949
- p.clear();
3950
- }, H = () => {
3951
- V(), B();
3952
- }, U = () => {
3962
+ (!y.get(e) || !fs(t, B)) && y.set(e, t), fs(t, B) || e.style.setProperty("transition-property", B.value, B.priority);
3963
+ }, H = (e) => {
3964
+ let t = y.get(e);
3965
+ t && (fs(us(e, "transition-property"), B) && (t.value || t.priority ? e.style.setProperty("transition-property", t.value, t.priority) : e.style.removeProperty("transition-property")), y.delete(e));
3966
+ }, U = (e) => {
3967
+ for (let t of y.keys()) e.has(t) || H(t);
3968
+ }, W = () => {
3969
+ for (let e of y.keys()) H(e);
3970
+ }, G = () => {
3971
+ for (let e of _.values()) ms(e);
3972
+ _.clear();
3973
+ }, K = () => {
3974
+ G(), W();
3975
+ }, ee = () => {
3953
3976
  u.style.display = "none", d.style.display = "none";
3954
- }, W = (e, t, n) => {
3955
- if (U(), D().snapLines) {
3977
+ }, te = (e, t, n) => {
3978
+ if (ee(), j().snapLines) {
3956
3979
  if (e) {
3957
3980
  let t = Math.min(n.top, e.start), r = Math.max(n.top + n.height, e.end);
3958
3981
  u.style.display = "block", u.style.left = `${e.position}px`, u.style.top = `${t}px`, u.style.height = `${Math.max(1, r - t)}px`;
@@ -3962,55 +3985,55 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3962
3985
  d.style.display = "block", d.style.left = `${e}px`, d.style.top = `${t.position}px`, d.style.width = `${Math.max(1, r - e)}px`;
3963
3986
  }
3964
3987
  }
3965
- }, G = () => !!(n.querySelector(Yo) || s.querySelector(Yo)), K = () => {
3966
- for (let [e, t] of g) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
3967
- g.clear();
3968
- }, ee = () => {
3969
- if (G()) {
3970
- K();
3988
+ }, ne = () => !!(n.querySelector(Yo) || s.querySelector(Yo)), q = () => {
3989
+ for (let [e, t] of b) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
3990
+ b.clear();
3991
+ }, re = () => {
3992
+ if (ne()) {
3993
+ q();
3971
3994
  return;
3972
3995
  }
3973
- if (!(g.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 || (g.set(e, {
3996
+ if (!(b.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 || (b.set(e, {
3974
3997
  value: e.style.getPropertyValue("visibility"),
3975
3998
  priority: e.style.getPropertyPriority("visibility")
3976
3999
  }), e.style.setProperty("visibility", "hidden", "important")));
3977
- }, te = (e) => {
4000
+ }, ie = (e) => {
3978
4001
  if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
3979
4002
  let t = e.getRootNode();
3980
4003
  return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
3981
- }, ne = (e, t) => {
3982
- let n = te(e);
4004
+ }, ae = (e, t) => {
4005
+ let n = ie(e);
3983
4006
  for (; n;) {
3984
4007
  let e = t.get(n);
3985
4008
  if (e) return e;
3986
- n = te(n);
4009
+ n = ie(n);
3987
4010
  }
3988
4011
  return {
3989
4012
  x: 0,
3990
4013
  y: 0
3991
4014
  };
3992
- }, q = (e = A()) => {
4015
+ }, oe = (e = P()) => {
3993
4016
  let t = /* @__PURE__ */ new Map();
3994
4017
  for (let n of e) for (let e of n.targets) {
3995
- let n = F(e);
4018
+ let n = z(e);
3996
4019
  n && t.set(n, e);
3997
4020
  }
3998
4021
  return t;
3999
- }, re = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
4022
+ }, se = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
4000
4023
  x: e.desiredLocalOffsetX,
4001
4024
  y: e.desiredLocalOffsetY
4002
- }, ie = (e, t) => {
4003
- let n = te(e);
4025
+ }, ce = (e, t) => {
4026
+ let n = ie(e);
4004
4027
  for (; n;) {
4005
4028
  if (t.has(n)) return n;
4006
- n = te(n);
4029
+ n = ie(n);
4007
4030
  }
4008
4031
  return null;
4009
- }, ae = (e = A(), t = /* @__PURE__ */ new Map()) => {
4010
- let n = q(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
4032
+ }, le = (e = P(), t = /* @__PURE__ */ new Map()) => {
4033
+ let n = oe(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
4011
4034
  let s = i.get(e);
4012
4035
  if (s) return s;
4013
- let c = n.get(e), l = t.get(e) ?? (c ? re(c) : null);
4036
+ let c = n.get(e), l = t.get(e) ?? (c ? se(c) : null);
4014
4037
  if (!l && c) {
4015
4038
  let t = {
4016
4039
  x: c.desiredOffsetX,
@@ -4024,7 +4047,7 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4024
4047
  };
4025
4048
  if (a.has(e)) return l;
4026
4049
  a.add(e);
4027
- let u = ie(e, r), d = u ? o(u) : {
4050
+ let u = ce(e, r), d = u ? o(u) : {
4028
4051
  x: 0,
4029
4052
  y: 0
4030
4053
  }, f = {
@@ -4035,15 +4058,15 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4035
4058
  };
4036
4059
  for (let e of r) o(e);
4037
4060
  return i;
4038
- }, oe = () => {
4039
- if (v.state === "live") return /* @__PURE__ */ new Map();
4040
- if (!v.intentId) return ae();
4041
- let e = T().intents.find((e) => e.id === v.intentId);
4042
- if (!e) return ae();
4061
+ }, ue = () => {
4062
+ if (S.state === "live") return /* @__PURE__ */ new Map();
4063
+ if (!S.intentId) return le();
4064
+ let e = k().intents.find((e) => e.id === S.intentId);
4065
+ if (!e) return le();
4043
4066
  let t = /* @__PURE__ */ new Map();
4044
4067
  for (let n of e.targets) {
4045
- let e = F(n);
4046
- e && t.set(e, v.state === "before" ? {
4068
+ let e = z(n);
4069
+ e && t.set(e, S.state === "before" ? {
4047
4070
  x: n.beforeOffsetX,
4048
4071
  y: n.beforeOffsetY
4049
4072
  } : {
@@ -4052,10 +4075,10 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4052
4075
  });
4053
4076
  }
4054
4077
  return t;
4055
- }, se = (e) => {
4078
+ }, de = (e) => {
4056
4079
  let t = [...e].flatMap(([t, n]) => {
4057
- if (!t.isConnected || !M(t)) return [];
4058
- let r = ne(t, e), i = {
4080
+ if (!t.isConnected || !I(t)) return [];
4081
+ let r = ae(t, e), i = {
4059
4082
  x: n.x - r.x,
4060
4083
  y: n.y - r.y
4061
4084
  };
@@ -4064,36 +4087,36 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4064
4087
  offset: i
4065
4088
  }];
4066
4089
  }), n = new Set(t.map(({ element: e }) => e));
4067
- for (let { element: e } of t) L(e);
4068
- V();
4090
+ for (let { element: e } of t) V(e);
4091
+ G();
4069
4092
  for (let { element: e, offset: n } of t) {
4070
4093
  let t = ds(e), i = r.getComputedStyle(e).transform, a = i && i !== "none" ? ` ${i}` : "";
4071
- e.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(e, {
4094
+ e.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), _.set(e, {
4072
4095
  element: e,
4073
4096
  beforeTransform: t,
4074
4097
  appliedTransform: ds(e)
4075
4098
  });
4076
4099
  }
4077
- z(n);
4078
- }, ce = () => se(oe()), le = (e) => {
4079
- V();
4100
+ U(n);
4101
+ }, fe = () => de(ue()), pe = (e) => {
4102
+ G();
4080
4103
  try {
4081
4104
  return e();
4082
4105
  } finally {
4083
- !S && !y && ce();
4106
+ !E && !C && fe();
4084
4107
  }
4085
- }, ue = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && M(e));
4108
+ }, me = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && I(e));
4086
4109
  e.state.register({
4087
4110
  id: Ro,
4088
- initial: ue().length > 0
4111
+ initial: me().length > 0
4089
4112
  });
4090
- let de = () => e.state.get(Ro) ?? !1, fe = () => {
4091
- let t = ue().length > 0;
4092
- t !== de() && e.state.update(Ro, () => t);
4093
- }, pe = () => $o(ue().map((e) => wi(e))), me = () => {
4094
- for (let e of _.values()) e.remove();
4095
- _.clear();
4096
- }, he = (e) => {
4113
+ let he = () => e.state.get(Ro) ?? !1, ge = () => {
4114
+ let t = me().length > 0;
4115
+ t !== he() && e.state.update(Ro, () => t);
4116
+ }, _e = () => $o(me().map((e) => wi(e))), ve = () => {
4117
+ for (let e of x.values()) e.remove();
4118
+ x.clear();
4119
+ }, ye = (e) => {
4097
4120
  let t = e.getBoundingClientRect(), n = t.right + Go;
4098
4121
  n + Wo > r.innerWidth - 4 && (n = Math.max(4, t.left - Wo - Go));
4099
4122
  let i = Math.min(Math.max(4, t.top + Ko), Math.max(4, r.innerHeight - Wo - 4));
@@ -4101,40 +4124,40 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4101
4124
  left: n,
4102
4125
  top: i
4103
4126
  };
4104
- }, ge = () => {
4105
- if (!E() || y) {
4106
- me();
4127
+ }, be = () => {
4128
+ if (!A() || C) {
4129
+ ve();
4107
4130
  return;
4108
4131
  }
4109
- let t = A(), r = q(t), i = ae(t), a = /* @__PURE__ */ new Set();
4110
- for (let t of ue()) {
4132
+ let t = P(), r = oe(t), i = le(t), a = /* @__PURE__ */ new Set();
4133
+ for (let t of me()) {
4111
4134
  let o = r.get(t);
4112
4135
  if (!o) continue;
4113
4136
  let s = i.get(t);
4114
4137
  if (!s) continue;
4115
- let c = ne(t, i), u = re(o) ?? {
4138
+ let c = ae(t, i), u = se(o) ?? {
4116
4139
  x: s.x - c.x,
4117
4140
  y: s.y - c.y
4118
4141
  };
4119
4142
  if (Math.abs(u.x) <= qo && Math.abs(u.y) <= qo) continue;
4120
4143
  a.add(t);
4121
- let d = _.get(t);
4144
+ let d = x.get(t);
4122
4145
  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) => {
4123
- n.preventDefault(), n.stopPropagation(), x = [t], e.command.execute(Io, void 0, { source: "arrange-reset-button" }).catch(() => {
4124
- x = null;
4146
+ n.preventDefault(), n.stopPropagation(), T = [t], e.command.execute(Io, void 0, { source: "arrange-reset-button" }).catch(() => {
4147
+ T = null;
4125
4148
  });
4126
- }), _.set(t, d), l.append(d));
4127
- let f = he(t);
4149
+ }), x.set(t, d), l.append(d));
4150
+ let f = ye(t);
4128
4151
  d.style.left = `${f.left}px`, d.style.top = `${f.top}px`;
4129
4152
  }
4130
- for (let [e, t] of _) a.has(e) || (t.remove(), _.delete(e));
4131
- }, _e = (t) => {
4153
+ for (let [e, t] of x) a.has(e) || (t.remove(), x.delete(e));
4154
+ }, xe = (t) => {
4132
4155
  let n = new Set(t);
4133
4156
  n.size && (e.state.update("mesurer.arrange.intents", (e) => {
4134
4157
  let t = !1, r = e.intents.flatMap((e) => {
4135
- if (e.pageUrl !== k()) return [e];
4158
+ if (e.pageUrl !== N()) return [e];
4136
4159
  let r = e.targets.filter((e) => {
4137
- let r = F(e), i = r !== null && n.has(r);
4160
+ let r = z(e), i = r !== null && n.has(r);
4138
4161
  return i && (t = !0), !i;
4139
4162
  });
4140
4163
  return r.length ? r.length === e.targets.length ? [e] : [{
@@ -4143,17 +4166,17 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4143
4166
  }] : [];
4144
4167
  });
4145
4168
  return t ? { intents: r } : e;
4146
- }), xe(), be());
4147
- }, ve = () => {
4169
+ }), Te(), we());
4170
+ }, Se = () => {
4148
4171
  e.state.update(Oo, (e) => {
4149
- let t = e.intents.filter((e) => e.pageUrl !== k());
4172
+ let t = e.intents.filter((e) => e.pageUrl !== N());
4150
4173
  return t.length === e.intents.length ? e : { intents: t };
4151
- }), xe(), be();
4152
- }, ye = (e) => {
4153
- let t = D();
4174
+ }), Te(), we();
4175
+ }, Ce = (e) => {
4176
+ let t = j();
4154
4177
  if (!t.snapping) return [];
4155
4178
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
4156
- if (u >= Ho || a.has(i) || e.some((e) => e.contains(i)) || !M(i)) return;
4179
+ if (u >= Ho || a.has(i) || e.some((e) => e.contains(i)) || !I(i)) return;
4157
4180
  let o = r.getComputedStyle(i);
4158
4181
  if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
4159
4182
  let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
@@ -4221,65 +4244,73 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4221
4244
  kind: "guide"
4222
4245
  });
4223
4246
  return n;
4224
- }, be = (e) => {
4225
- if (!E()) {
4226
- f.style.display = "none", me();
4247
+ }, we = (e) => {
4248
+ if (!A()) {
4249
+ h(), f.style.display = "none", ve();
4250
+ return;
4251
+ }
4252
+ let t = g(me());
4253
+ if (ne()) {
4254
+ for (let e of p.values()) e.style.display = "none";
4255
+ f.style.display = "none", ve();
4227
4256
  return;
4228
4257
  }
4229
- let t = e === void 0 ? pe() : e;
4230
- if (!t) {
4231
- f.style.display = "none", me();
4258
+ for (let e of p.values()) e.style.removeProperty("display");
4259
+ f.style.borderColor = t ? "transparent" : "#0d99ff";
4260
+ let n = e === void 0 ? _e() : e;
4261
+ if (!n) {
4262
+ f.style.display = "none", ve();
4232
4263
  return;
4233
4264
  }
4234
- 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`, y ? me() : ge();
4235
- }, xe = () => {
4236
- v = {
4265
+ f.style.display = "block", f.style.left = `${n.left}px`, f.style.top = `${n.top}px`, f.style.width = `${n.width}px`, f.style.height = `${n.height}px`, C ? ve() : be();
4266
+ }, Te = () => {
4267
+ S = {
4237
4268
  intentId: null,
4238
4269
  state: "desired"
4239
- }, ce(), U(), E() ? ee() : K();
4240
- }, Se = () => {
4241
- v = {
4270
+ }, fe(), ee(), A() ? re() : q();
4271
+ }, Ee = () => {
4272
+ S = {
4242
4273
  intentId: null,
4243
4274
  state: "live"
4244
- }, H(), U(), K();
4245
- }, Ce = () => {
4246
- S || y || (ce(), U(), E() ? ee() : K(), be());
4247
- }, we = () => {
4248
- C || S || (C = r.requestAnimationFrame(() => {
4249
- C = 0, Ce();
4275
+ }, K(), ee(), q();
4276
+ }, De = () => {
4277
+ E || C || (fe(), ee(), A() ? re() : q(), we());
4278
+ }, Oe = () => {
4279
+ D || E || (D = r.requestAnimationFrame(() => {
4280
+ D = 0, De();
4250
4281
  }));
4251
- }, Te = async () => {
4282
+ }, ke = async () => {
4252
4283
  if (s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") === "true") return;
4253
4284
  let t = i.currentSelection().elements;
4254
4285
  await e.command.execute(Mo, void 0, { source: "arrange" });
4255
4286
  let n = new Set(i.currentSelection().elements);
4256
4287
  for (let e of t) n.has(e) || i.toggleSelection(e);
4257
- }, Ee = (e) => {
4258
- if (!E() || e.button !== 0) return;
4259
- let r = ue();
4288
+ }, Ae = (e) => {
4289
+ if (!A() || e.button !== 0) return;
4290
+ let r = me();
4260
4291
  if (!r.length) return;
4261
4292
  let a = n.elementsFromPoint && (!(o instanceof c.ShadowRoot) || o.elementsFromPoint) ? Ui(t.rendererRoot ?? null, () => Ui(l, () => Vi({
4262
4293
  x: e.clientX,
4263
4294
  y: e.clientY
4264
4295
  }, o, n))) : null, s = e.shiftKey ? a : null;
4265
- if (e.shiftKey && s instanceof c.HTMLElement && M(s) && !r.includes(s)) {
4296
+ if (e.shiftKey && s instanceof c.HTMLElement && I(s) && !r.includes(s)) {
4266
4297
  e.preventDefault(), e.stopPropagation(), i.toggleSelection(s);
4267
4298
  return;
4268
4299
  }
4269
- e.preventDefault(), e.stopPropagation(), v = {
4300
+ e.preventDefault(), e.stopPropagation(), S = {
4270
4301
  intentId: null,
4271
4302
  state: "desired"
4272
- }, ce();
4273
- let u = q(A()), d = ae(A()), p = new Set(r);
4274
- V();
4303
+ }, fe();
4304
+ let u = oe(P()), d = le(P()), p = new Set(r);
4305
+ G();
4275
4306
  let m = r.map((e, t) => {
4276
- let n = wi(e), r = ne(e, d), i = d.get(e) ?? r, a = u.get(e), o = (a ? re(a) : null) ?? {
4307
+ let n = wi(e), r = ae(e, d), i = d.get(e) ?? r, a = u.get(e), o = (a ? se(a) : null) ?? {
4277
4308
  x: i.x - r.x,
4278
4309
  y: i.y - r.y
4279
4310
  }, s = Zo(n, i), c = Gi(e);
4280
4311
  return {
4281
4312
  element: e,
4282
- movesDirectly: ie(e, p) === null,
4313
+ movesDirectly: ce(e, p) === null,
4283
4314
  target: {
4284
4315
  id: `target-${t + 1}`,
4285
4316
  selector: Wi(e),
@@ -4316,23 +4347,23 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4316
4347
  height: e.beforeHeight
4317
4348
  })));
4318
4349
  if (!h) {
4319
- ce();
4350
+ fe();
4320
4351
  return;
4321
4352
  }
4322
- ce(), ee(), U(), y = {
4353
+ fe(), re(), ee(), C = {
4323
4354
  pointerId: e.pointerId,
4324
4355
  originX: e.clientX,
4325
4356
  originY: e.clientY,
4326
4357
  targets: m,
4327
4358
  groupBefore: h,
4328
- snapCandidates: ye(r),
4329
- pressTarget: a instanceof c.HTMLElement && M(a) ? a : null,
4359
+ snapCandidates: Ce(r),
4360
+ pressTarget: a instanceof c.HTMLElement && I(a) ? a : null,
4330
4361
  shiftToggleElement: e.shiftKey && s instanceof c.HTMLElement && r.includes(s) ? s : null,
4331
4362
  moved: !1,
4332
4363
  dx: 0,
4333
4364
  dy: 0
4334
- }, be(h), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
4335
- }, De = (e, t, n) => {
4365
+ }, we(h), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
4366
+ }, je = (e, t, n) => {
4336
4367
  let r = /* @__PURE__ */ new Map();
4337
4368
  for (let i of e.targets) {
4338
4369
  let e = {
@@ -4345,49 +4376,49 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4345
4376
  } : e);
4346
4377
  }
4347
4378
  return r;
4348
- }, Oe = (e) => {
4349
- if (!y || e.pointerId !== y.pointerId) return;
4350
- let t = e.clientX - y.originX, n = e.clientY - y.originY, r = null;
4351
- if (!y.moved) {
4379
+ }, Me = (e) => {
4380
+ if (!C || e.pointerId !== C.pointerId) return;
4381
+ let t = e.clientX - C.originX, n = e.clientY - C.originY, r = null;
4382
+ if (!C.moved) {
4352
4383
  if (Math.hypot(t, n) < Jo) return;
4353
- y.moved = !0;
4384
+ C.moved = !0;
4354
4385
  }
4355
4386
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
4356
- let i = Zo(y.groupBefore, {
4387
+ let i = Zo(C.groupBefore, {
4357
4388
  x: t,
4358
4389
  y: n
4359
- }), a = r === "y" ? null : is("x", i, y.snapCandidates), o = r === "x" ? null : is("y", i, y.snapCandidates);
4360
- t += a?.delta ?? 0, n += o?.delta ?? 0, y.dx = t, y.dy = n;
4361
- let s = ae(A(), De(y, t, n));
4362
- se(s);
4363
- let c = Zo(y.groupBefore, {
4390
+ }), a = r === "y" ? null : is("x", i, C.snapCandidates), o = r === "x" ? null : is("y", i, C.snapCandidates);
4391
+ t += a?.delta ?? 0, n += o?.delta ?? 0, C.dx = t, C.dy = n;
4392
+ let s = le(P(), je(C, t, n));
4393
+ de(s);
4394
+ let c = Zo(C.groupBefore, {
4364
4395
  x: t,
4365
4396
  y: n
4366
4397
  });
4367
- be(c), W(a, o, c);
4368
- }, ke = () => {
4369
- if (!y) return;
4370
- let e = y.pointerId;
4371
- y = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", xe(), be();
4372
- }, Ae = (t) => {
4373
- if (!y || t.pointerId !== y.pointerId) return;
4398
+ we(c), te(a, o, c);
4399
+ }, Ne = () => {
4400
+ if (!C) return;
4401
+ let e = C.pointerId;
4402
+ C = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", Te(), we();
4403
+ }, Pe = (t) => {
4404
+ if (!C || t.pointerId !== C.pointerId) return;
4374
4405
  t.preventDefault(), t.stopPropagation();
4375
- let n = y;
4376
- if (y = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", U(), !n.moved) {
4406
+ let n = C;
4407
+ if (C = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", ee(), !n.moved) {
4377
4408
  if (n.shiftToggleElement) i.toggleSelection(n.shiftToggleElement);
4378
4409
  else if (n.pressTarget && !n.targets.some(({ element: e }) => e === n.pressTarget)) try {
4379
4410
  i.select([Wi(n.pressTarget)]);
4380
4411
  } catch {
4381
4412
  i.clearSelection(), i.toggleSelection(n.pressTarget);
4382
4413
  }
4383
- xe(), be();
4414
+ Te(), we();
4384
4415
  return;
4385
4416
  }
4386
- let a = ae(A(), De(n, n.dx, n.dy));
4387
- b = {
4417
+ let a = le(P(), je(n, n.dx, n.dy));
4418
+ w = {
4388
4419
  id: os(r, "arrange"),
4389
4420
  createdAt: Date.now(),
4390
- pageUrl: k(),
4421
+ pageUrl: N(),
4391
4422
  targets: n.targets.map(({ element: e, movesDirectly: t, target: r }) => {
4392
4423
  let i = {
4393
4424
  x: r.beforeLocalOffsetX ?? 0,
@@ -4410,41 +4441,41 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4410
4441
  };
4411
4442
  })
4412
4443
  };
4413
- for (let { element: e, target: t } of n.targets) m.set(t.selector, e);
4444
+ for (let { element: e, target: t } of n.targets) v.set(t.selector, e);
4414
4445
  e.command.execute(Po).catch(() => {
4415
- b = null, xe(), be();
4446
+ w = null, Te(), we();
4416
4447
  });
4417
- }, je = (e) => {
4418
- !y || e.pointerId !== y.pointerId || ke();
4419
- }, Me = (e) => Ui(l, () => za({
4448
+ }, Fe = (e) => {
4449
+ !C || e.pointerId !== C.pointerId || Ne();
4450
+ }, Ie = (e) => Ui(l, () => za({
4420
4451
  x: e.clientX,
4421
4452
  y: e.clientY
4422
- }, t.rendererRoot ?? null, n, o)), Ne = (e) => {
4423
- if (!E()) return;
4424
- if (y || e.buttons !== 0 || G()) {
4453
+ }, t.rendererRoot ?? null, n, o)), Le = (e) => {
4454
+ if (!A()) return;
4455
+ if (C || e.buttons !== 0 || ne()) {
4425
4456
  i.clearHover();
4426
4457
  return;
4427
4458
  }
4428
4459
  let n = e.composedPath();
4429
4460
  if (!n.includes(f) && t.rendererRoot && n.includes(t.rendererRoot)) return;
4430
- let r = Me(e);
4431
- i.setHover(r instanceof c.HTMLElement && M(r) ? r : null);
4432
- }, Pe = (t) => {
4433
- if (t.key !== "Escape" || !E() && !y || hs(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
4434
- if (t.preventDefault(), t.stopImmediatePropagation(), y) {
4435
- ke();
4461
+ let r = Ie(e);
4462
+ i.setHover(r instanceof c.HTMLElement && I(r) ? r : null);
4463
+ }, Re = (t) => {
4464
+ if (t.key !== "Escape" || !A() && !C || hs(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
4465
+ if (t.preventDefault(), t.stopImmediatePropagation(), C) {
4466
+ Ne();
4436
4467
  return;
4437
4468
  }
4438
4469
  let n = i.currentSelection();
4439
4470
  if (n.elements.length > 0 || n.region) {
4440
- i.clearSelection(), be();
4471
+ i.clearSelection(), we();
4441
4472
  return;
4442
4473
  }
4443
- e.state.update(ko, () => !1), Se(), be(), e.command.execute(Mo, void 0, { source: "arrange-escape" }).catch(() => void 0);
4474
+ e.state.update(ko, () => !1), Ee(), we(), e.command.execute(Mo, void 0, { source: "arrange-escape" }).catch(() => void 0);
4444
4475
  };
4445
- f.addEventListener("pointerdown", Ee), f.addEventListener("pointermove", Oe), f.addEventListener("pointerup", Ae), f.addEventListener("pointercancel", je), r.addEventListener("pointermove", Ne, !0), r.addEventListener("keydown", Pe, !0), r.addEventListener("resize", we), r.addEventListener("scroll", we, !0), o.addEventListener("scroll", we, !0), w = new c.MutationObserver(() => {
4446
- fe(), we();
4447
- }), w.observe(o, {
4476
+ f.addEventListener("pointerdown", Ae), f.addEventListener("pointermove", Me), f.addEventListener("pointerup", Pe), f.addEventListener("pointercancel", Fe), r.addEventListener("pointermove", Le, !0), r.addEventListener("keydown", Re, !0), r.addEventListener("dblclick", Oe, !0), r.addEventListener("keyup", Oe, !0), r.addEventListener("pointerup", Oe, !0), r.addEventListener("resize", Oe), r.addEventListener("scroll", Oe, !0), o.addEventListener("scroll", Oe, !0), O = new c.MutationObserver(() => {
4477
+ ge(), Oe();
4478
+ }), O.observe(o, {
4448
4479
  childList: !0,
4449
4480
  subtree: !0,
4450
4481
  attributes: !0,
@@ -4456,9 +4487,9 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4456
4487
  "aria-label"
4457
4488
  ]
4458
4489
  });
4459
- let Fe = i.subscribe(() => {
4460
- fe(), we();
4461
- }), Ie = e.state.subscribe(we), Le = (e) => T().intents.find((t) => t.id === e) ?? null, Re = (e, t) => {
4490
+ let ze = i.subscribe(() => {
4491
+ ge(), Oe();
4492
+ }), Be = e.state.subscribe(Oe), Ve = (e) => k().intents.find((t) => t.id === e) ?? null, He = (e, t) => {
4462
4493
  let n = null;
4463
4494
  if (n = t === "before" ? $o(e.targets.map((e) => ({
4464
4495
  left: e.beforeLeft,
@@ -4470,7 +4501,7 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4470
4501
  top: e.desiredTop,
4471
4502
  width: e.desiredWidth,
4472
4503
  height: e.desiredHeight
4473
- }))) : le(() => $o(e.targets.map((e) => F(e)).filter((e) => e !== null).map((e) => wi(e)))), !n) throw Error(`Edit movement intent has no resolvable capture region: ${e.id}`);
4504
+ }))) : pe(() => $o(e.targets.map((e) => z(e)).filter((e) => e !== null).map((e) => wi(e)))), !n) throw Error(`Edit movement intent has no resolvable capture region: ${e.id}`);
4474
4505
  let i = Math.max(0, n.left - Bo), a = Math.max(0, n.top - Bo), o = Math.min(r.innerWidth, n.left + n.width + Bo), s = Math.min(r.innerHeight, n.top + n.height + Bo);
4475
4506
  return {
4476
4507
  left: i,
@@ -4478,28 +4509,28 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4478
4509
  width: Math.max(0, o - i),
4479
4510
  height: Math.max(0, s - a)
4480
4511
  };
4481
- }, ze = {
4482
- active: E,
4483
- intents: () => T().intents.map(ls),
4512
+ }, Ue = {
4513
+ active: A,
4514
+ intents: () => k().intents.map(ls),
4484
4515
  intent(e) {
4485
- let t = Le(e);
4516
+ let t = Ve(e);
4486
4517
  return t ? ls(t) : null;
4487
4518
  },
4488
4519
  show(e, t) {
4489
- if (!Le(e)) throw Error(`Edit intent not found: ${e}`);
4490
- v = {
4520
+ if (!Ve(e)) throw Error(`Edit intent not found: ${e}`);
4521
+ S = {
4491
4522
  intentId: e,
4492
4523
  state: t
4493
- }, Ce();
4524
+ }, De();
4494
4525
  },
4495
4526
  showCurrent() {
4496
- v = {
4527
+ S = {
4497
4528
  intentId: null,
4498
4529
  state: "desired"
4499
- }, Ce();
4530
+ }, De();
4500
4531
  },
4501
4532
  capturePlan(e, t) {
4502
- let n = Le(e);
4533
+ let n = Ve(e);
4503
4534
  if (!n) throw Error(`Edit intent not found: ${e}`);
4504
4535
  return {
4505
4536
  schema: "mesurer.arrange-capture/v1",
@@ -4512,15 +4543,15 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4512
4543
  }, {
4513
4544
  id: "focus",
4514
4545
  kind: "clip",
4515
- rect: Re(n, t)
4546
+ rect: He(n, t)
4516
4547
  }]
4517
4548
  };
4518
4549
  },
4519
4550
  review: (e, t = zo) => {
4520
- let n = Le(e);
4551
+ let n = Ve(e);
4521
4552
  if (!n) throw Error(`Edit movement intent not found: ${e}`);
4522
- let r = le(() => n.targets.map((e) => {
4523
- let n = F(e), r = {
4553
+ let r = pe(() => n.targets.map((e) => {
4554
+ let n = z(e), r = {
4524
4555
  left: e.desiredLeft,
4525
4556
  top: e.desiredTop,
4526
4557
  width: e.desiredWidth,
@@ -4572,55 +4603,55 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4572
4603
  toolbarMode: "edit",
4573
4604
  modeSwitch: !0,
4574
4605
  icon: Xo,
4575
- active: E,
4606
+ active: A,
4576
4607
  menu: {
4577
4608
  label: "Edit options",
4578
4609
  items: [
4579
4610
  {
4580
4611
  id: "snapping",
4581
4612
  label: "Snapping",
4582
- checked: () => D().snapping,
4583
- run: () => O({ snapping: !D().snapping })
4613
+ checked: () => j().snapping,
4614
+ run: () => M({ snapping: !j().snapping })
4584
4615
  },
4585
4616
  {
4586
4617
  id: "element-edges",
4587
4618
  label: "Element edges",
4588
- checked: () => D().elementEdges,
4589
- disabled: () => !D().snapping,
4590
- run: () => O({ elementEdges: !D().elementEdges })
4619
+ checked: () => j().elementEdges,
4620
+ disabled: () => !j().snapping,
4621
+ run: () => M({ elementEdges: !j().elementEdges })
4591
4622
  },
4592
4623
  {
4593
4624
  id: "element-centers",
4594
4625
  label: "Element centers",
4595
- checked: () => D().elementCenters,
4596
- disabled: () => !D().snapping,
4597
- run: () => O({ elementCenters: !D().elementCenters })
4626
+ checked: () => j().elementCenters,
4627
+ disabled: () => !j().snapping,
4628
+ run: () => M({ elementCenters: !j().elementCenters })
4598
4629
  },
4599
4630
  {
4600
4631
  id: "guides",
4601
4632
  label: "Guides",
4602
- checked: () => D().guides,
4603
- disabled: () => !D().snapping,
4604
- run: () => O({ guides: !D().guides })
4633
+ checked: () => j().guides,
4634
+ disabled: () => !j().snapping,
4635
+ run: () => M({ guides: !j().guides })
4605
4636
  },
4606
4637
  {
4607
4638
  id: "prefer-xray-edges",
4608
4639
  label: "Prefer X-ray edges",
4609
- checked: () => D().preferXrayEdges,
4610
- disabled: () => !D().snapping || !D().elementEdges,
4611
- run: () => O({ preferXrayEdges: !D().preferXrayEdges })
4640
+ checked: () => j().preferXrayEdges,
4641
+ disabled: () => !j().snapping || !j().elementEdges,
4642
+ run: () => M({ preferXrayEdges: !j().preferXrayEdges })
4612
4643
  },
4613
4644
  {
4614
4645
  id: "alignment-rulers",
4615
4646
  label: "Alignment rulers",
4616
- checked: () => D().snapLines,
4617
- disabled: () => !D().snapping,
4618
- run: () => O({ snapLines: !D().snapLines })
4647
+ checked: () => j().snapLines,
4648
+ disabled: () => !j().snapping,
4649
+ run: () => M({ snapLines: !j().snapLines })
4619
4650
  },
4620
4651
  {
4621
4652
  id: "reset-all-positions",
4622
4653
  label: "Reset all positions",
4623
- disabled: () => A().length === 0,
4654
+ disabled: () => P().length === 0,
4624
4655
  run: async () => {
4625
4656
  await e.command.execute(Lo, void 0, { source: "arrange-menu" });
4626
4657
  }
@@ -4637,75 +4668,75 @@ var Co = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4637
4668
  id: "snapping",
4638
4669
  label: "Snapping",
4639
4670
  description: "Magnetically align dragged selections to nearby layout anchors.",
4640
- value: () => D().snapping,
4641
- set: (e) => O({ snapping: e })
4671
+ value: () => j().snapping,
4672
+ set: (e) => M({ snapping: e })
4642
4673
  },
4643
4674
  {
4644
4675
  type: "toggle",
4645
4676
  id: "element-edges",
4646
4677
  label: "Element edges",
4647
4678
  description: "Snap left/right and top/bottom edges to nearby elements.",
4648
- value: () => D().elementEdges,
4649
- set: (e) => O({ elementEdges: e }),
4650
- disabled: () => !D().snapping
4679
+ value: () => j().elementEdges,
4680
+ set: (e) => M({ elementEdges: e }),
4681
+ disabled: () => !j().snapping
4651
4682
  },
4652
4683
  {
4653
4684
  type: "toggle",
4654
4685
  id: "element-centers",
4655
4686
  label: "Element centers",
4656
4687
  description: "Snap center-to-center when X-ray edge preference is not active.",
4657
- value: () => D().elementCenters,
4658
- set: (e) => O({ elementCenters: e }),
4659
- disabled: () => !D().snapping
4688
+ value: () => j().elementCenters,
4689
+ set: (e) => M({ elementCenters: e }),
4690
+ disabled: () => !j().snapping
4660
4691
  },
4661
4692
  {
4662
4693
  type: "toggle",
4663
4694
  id: "guides",
4664
4695
  label: "Guides",
4665
4696
  description: "Snap to existing Mesurer guides.",
4666
- value: () => D().guides,
4667
- set: (e) => O({ guides: e }),
4668
- disabled: () => !D().snapping
4697
+ value: () => j().guides,
4698
+ set: (e) => M({ guides: e }),
4699
+ disabled: () => !j().snapping
4669
4700
  },
4670
4701
  {
4671
4702
  type: "toggle",
4672
4703
  id: "prefer-xray-edges",
4673
4704
  label: "Prefer X-ray edges",
4674
4705
  description: "When X-ray is on, use its visible blue box edges as element snap targets.",
4675
- value: () => D().preferXrayEdges,
4676
- set: (e) => O({ preferXrayEdges: e }),
4677
- disabled: () => !D().snapping || !D().elementEdges
4706
+ value: () => j().preferXrayEdges,
4707
+ set: (e) => M({ preferXrayEdges: e }),
4708
+ disabled: () => !j().snapping || !j().elementEdges
4678
4709
  },
4679
4710
  {
4680
4711
  type: "toggle",
4681
4712
  id: "alignment-rulers",
4682
4713
  label: "Alignment rulers",
4683
4714
  description: "Show the red alignment ruler while a snap is active.",
4684
- value: () => D().snapLines,
4685
- set: (e) => O({ snapLines: e }),
4686
- disabled: () => !D().snapping
4715
+ value: () => j().snapLines,
4716
+ set: (e) => M({ snapLines: e }),
4717
+ disabled: () => !j().snapping
4687
4718
  }
4688
4719
  ]
4689
4720
  }), e.command.register(No, async () => {
4690
- let t = !E();
4691
- if (t && await Te(), e.state.update("mesurer.arrange.active", () => t), !t) {
4692
- y && ke(), Se(), be();
4721
+ let t = !A();
4722
+ if (t && await ke(), e.state.update("mesurer.arrange.active", () => t), !t) {
4723
+ C && Ne(), Ee(), we();
4693
4724
  return;
4694
4725
  }
4695
- xe(), be();
4726
+ Te(), we();
4696
4727
  }), e.command.register(Po, () => {
4697
- let t = b;
4698
- b = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), xe(), be());
4728
+ let t = w;
4729
+ w = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), Te(), we());
4699
4730
  }), e.command.register(Io, () => {
4700
- let e = x ?? ue();
4701
- x = null, _e(e);
4702
- }), e.command.register(Lo, ve), e.command.register(Fo, () => {
4703
- e.state.update(Oo, () => ({ intents: [] })), v = {
4731
+ let e = T ?? me();
4732
+ T = null, xe(e);
4733
+ }), e.command.register(Lo, Se), e.command.register(Fo, () => {
4734
+ e.state.update(Oo, () => ({ intents: [] })), S = {
4704
4735
  intentId: null,
4705
4736
  state: "desired"
4706
- }, H(), U(), E() ? ee() : K(), be();
4707
- }), e.service.provide(Do, ze), ce(), be(), e.lifecycle.onDispose(() => {
4708
- S = !0, C && r.cancelAnimationFrame(C), w?.disconnect(), w = null, f.removeEventListener("pointerdown", Ee), f.removeEventListener("pointermove", Oe), f.removeEventListener("pointerup", Ae), f.removeEventListener("pointercancel", je), r.removeEventListener("pointermove", Ne, !0), r.removeEventListener("keydown", Pe, !0), r.removeEventListener("resize", we), r.removeEventListener("scroll", we, !0), o.removeEventListener("scroll", we, !0), Fe(), Ie.dispose(), H(), me(), U(), K(), i.dispose(), a.dispose();
4737
+ }, K(), ee(), A() ? re() : q(), we();
4738
+ }), e.service.provide(Do, Ue), fe(), we(), e.lifecycle.onDispose(() => {
4739
+ E = !0, D && r.cancelAnimationFrame(D), O?.disconnect(), O = null, f.removeEventListener("pointerdown", Ae), f.removeEventListener("pointermove", Me), f.removeEventListener("pointerup", Pe), f.removeEventListener("pointercancel", Fe), r.removeEventListener("pointermove", Le, !0), r.removeEventListener("keydown", Re, !0), r.removeEventListener("dblclick", Oe, !0), r.removeEventListener("keyup", Oe, !0), r.removeEventListener("pointerup", Oe, !0), r.removeEventListener("resize", Oe), r.removeEventListener("scroll", Oe, !0), o.removeEventListener("scroll", Oe, !0), ze(), Be.dispose(), K(), ve(), ee(), q(), h(), m.remove(), i.dispose(), a.dispose();
4709
4740
  });
4710
4741
  }
4711
4742
  }), _s = (e, t, n) => {
@@ -9006,7 +9037,7 @@ var Sc = "mesurer.layout-guides", Cc = "layout-guides:v1", wc = "mesurer.layout-
9006
9037
  C = !0, b += 1, d.removeEventListener("pointerdown", z), d.removeEventListener("pointermove", B), d.removeEventListener("pointerup", V), d.removeEventListener("pointercancel", H), i.removeEventListener("keydown", U, !0), y && i.clearTimeout(y), M.dispose(), k(), ti(i), a.finishCapture(), a.dispose(), o.dispose();
9007
9038
  });
9008
9039
  }
9009
- }), Qu = "0.2.2-beta.5", $u = ko, ed = Eo, td = Do, nd = Ao, rd = Oo, id = () => ({
9040
+ }), Qu = "0.2.2-beta.7", $u = ko, ed = Eo, td = Do, nd = Ao, rd = Oo, id = () => ({
9010
9041
  ...Ss(),
9011
9042
  version: Qu
9012
9043
  }), ad = id, od = $u, sd = ed, cd = td, ld = nd, ud = rd, dd = (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, fd = (e) => {