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/index.js +832 -775
- package/dist/inject-script.js +45 -11
- package/dist/inject.js +832 -775
- package/dist/plugins.js +276 -245
- package/package.json +1 -1
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 =
|
|
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
|
-
},
|
|
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
|
-
},
|
|
3926
|
+
}, M = (t) => {
|
|
3904
3927
|
e.state.update(Ao, (e) => ({
|
|
3905
3928
|
...e,
|
|
3906
3929
|
...t
|
|
3907
3930
|
}));
|
|
3908
|
-
},
|
|
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) && !
|
|
3911
|
-
for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement &&
|
|
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
|
-
},
|
|
3914
|
-
let t = ss(e), n =
|
|
3915
|
-
if (n && n.isConnected &&
|
|
3916
|
-
if (n &&
|
|
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 =
|
|
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 =
|
|
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
|
-
},
|
|
3957
|
+
}, B = {
|
|
3935
3958
|
value: "none",
|
|
3936
3959
|
priority: "important"
|
|
3937
|
-
},
|
|
3960
|
+
}, V = (e) => {
|
|
3938
3961
|
let t = us(e, "transition-property");
|
|
3939
|
-
(!
|
|
3940
|
-
},
|
|
3941
|
-
let t =
|
|
3942
|
-
t && (fs(us(e, "transition-property"),
|
|
3943
|
-
},
|
|
3944
|
-
for (let t of
|
|
3945
|
-
},
|
|
3946
|
-
for (let e of
|
|
3947
|
-
},
|
|
3948
|
-
for (let e of
|
|
3949
|
-
|
|
3950
|
-
},
|
|
3951
|
-
|
|
3952
|
-
},
|
|
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
|
-
},
|
|
3955
|
-
if (
|
|
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
|
-
},
|
|
3966
|
-
for (let [e, t] of
|
|
3967
|
-
|
|
3968
|
-
},
|
|
3969
|
-
if (
|
|
3970
|
-
|
|
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 (!(
|
|
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
|
-
},
|
|
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
|
-
},
|
|
3982
|
-
let n =
|
|
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 =
|
|
4009
|
+
n = ie(n);
|
|
3987
4010
|
}
|
|
3988
4011
|
return {
|
|
3989
4012
|
x: 0,
|
|
3990
4013
|
y: 0
|
|
3991
4014
|
};
|
|
3992
|
-
},
|
|
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 =
|
|
4018
|
+
let n = z(e);
|
|
3996
4019
|
n && t.set(n, e);
|
|
3997
4020
|
}
|
|
3998
4021
|
return t;
|
|
3999
|
-
},
|
|
4022
|
+
}, se = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
|
|
4000
4023
|
x: e.desiredLocalOffsetX,
|
|
4001
4024
|
y: e.desiredLocalOffsetY
|
|
4002
|
-
},
|
|
4003
|
-
let n =
|
|
4025
|
+
}, ce = (e, t) => {
|
|
4026
|
+
let n = ie(e);
|
|
4004
4027
|
for (; n;) {
|
|
4005
4028
|
if (t.has(n)) return n;
|
|
4006
|
-
n =
|
|
4029
|
+
n = ie(n);
|
|
4007
4030
|
}
|
|
4008
4031
|
return null;
|
|
4009
|
-
},
|
|
4010
|
-
let n =
|
|
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 ?
|
|
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 =
|
|
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
|
-
},
|
|
4039
|
-
if (
|
|
4040
|
-
if (!
|
|
4041
|
-
let e =
|
|
4042
|
-
if (!e) return
|
|
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 =
|
|
4046
|
-
e && t.set(e,
|
|
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
|
-
},
|
|
4078
|
+
}, de = (e) => {
|
|
4056
4079
|
let t = [...e].flatMap(([t, n]) => {
|
|
4057
|
-
if (!t.isConnected || !
|
|
4058
|
-
let r =
|
|
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)
|
|
4068
|
-
|
|
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"),
|
|
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
|
-
|
|
4078
|
-
},
|
|
4079
|
-
|
|
4100
|
+
U(n);
|
|
4101
|
+
}, fe = () => de(ue()), pe = (e) => {
|
|
4102
|
+
G();
|
|
4080
4103
|
try {
|
|
4081
4104
|
return e();
|
|
4082
4105
|
} finally {
|
|
4083
|
-
!
|
|
4106
|
+
!E && !C && fe();
|
|
4084
4107
|
}
|
|
4085
|
-
},
|
|
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:
|
|
4111
|
+
initial: me().length > 0
|
|
4089
4112
|
});
|
|
4090
|
-
let
|
|
4091
|
-
let t =
|
|
4092
|
-
t !==
|
|
4093
|
-
},
|
|
4094
|
-
for (let e of
|
|
4095
|
-
|
|
4096
|
-
},
|
|
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
|
-
},
|
|
4105
|
-
if (!
|
|
4106
|
-
|
|
4127
|
+
}, be = () => {
|
|
4128
|
+
if (!A() || C) {
|
|
4129
|
+
ve();
|
|
4107
4130
|
return;
|
|
4108
4131
|
}
|
|
4109
|
-
let t =
|
|
4110
|
-
for (let t of
|
|
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 =
|
|
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 =
|
|
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(),
|
|
4124
|
-
|
|
4146
|
+
n.preventDefault(), n.stopPropagation(), T = [t], e.command.execute(Io, void 0, { source: "arrange-reset-button" }).catch(() => {
|
|
4147
|
+
T = null;
|
|
4125
4148
|
});
|
|
4126
|
-
}),
|
|
4127
|
-
let f =
|
|
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
|
|
4131
|
-
},
|
|
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 !==
|
|
4158
|
+
if (e.pageUrl !== N()) return [e];
|
|
4136
4159
|
let r = e.targets.filter((e) => {
|
|
4137
|
-
let 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
|
-
}),
|
|
4147
|
-
},
|
|
4169
|
+
}), Te(), we());
|
|
4170
|
+
}, Se = () => {
|
|
4148
4171
|
e.state.update(Oo, (e) => {
|
|
4149
|
-
let t = e.intents.filter((e) => e.pageUrl !==
|
|
4172
|
+
let t = e.intents.filter((e) => e.pageUrl !== N());
|
|
4150
4173
|
return t.length === e.intents.length ? e : { intents: t };
|
|
4151
|
-
}),
|
|
4152
|
-
},
|
|
4153
|
-
let t =
|
|
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)) || !
|
|
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
|
-
},
|
|
4225
|
-
if (!
|
|
4226
|
-
f.style.display = "none",
|
|
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
|
|
4230
|
-
|
|
4231
|
-
|
|
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 = `${
|
|
4235
|
-
},
|
|
4236
|
-
|
|
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
|
-
},
|
|
4240
|
-
},
|
|
4241
|
-
|
|
4270
|
+
}, fe(), ee(), A() ? re() : q();
|
|
4271
|
+
}, Ee = () => {
|
|
4272
|
+
S = {
|
|
4242
4273
|
intentId: null,
|
|
4243
4274
|
state: "live"
|
|
4244
|
-
},
|
|
4245
|
-
},
|
|
4246
|
-
|
|
4247
|
-
},
|
|
4248
|
-
|
|
4249
|
-
|
|
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
|
-
},
|
|
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
|
-
},
|
|
4258
|
-
if (!
|
|
4259
|
-
let r =
|
|
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 &&
|
|
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(),
|
|
4300
|
+
e.preventDefault(), e.stopPropagation(), S = {
|
|
4270
4301
|
intentId: null,
|
|
4271
4302
|
state: "desired"
|
|
4272
|
-
},
|
|
4273
|
-
let u =
|
|
4274
|
-
|
|
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 =
|
|
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:
|
|
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
|
-
|
|
4350
|
+
fe();
|
|
4320
4351
|
return;
|
|
4321
4352
|
}
|
|
4322
|
-
|
|
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:
|
|
4329
|
-
pressTarget: a instanceof c.HTMLElement &&
|
|
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
|
-
},
|
|
4335
|
-
},
|
|
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
|
-
},
|
|
4349
|
-
if (!
|
|
4350
|
-
let t = e.clientX -
|
|
4351
|
-
if (!
|
|
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
|
-
|
|
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(
|
|
4387
|
+
let i = Zo(C.groupBefore, {
|
|
4357
4388
|
x: t,
|
|
4358
4389
|
y: n
|
|
4359
|
-
}), a = r === "y" ? null : is("x", i,
|
|
4360
|
-
t += a?.delta ?? 0, n += o?.delta ?? 0,
|
|
4361
|
-
let s =
|
|
4362
|
-
|
|
4363
|
-
let c = Zo(
|
|
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
|
-
|
|
4368
|
-
},
|
|
4369
|
-
if (!
|
|
4370
|
-
let e =
|
|
4371
|
-
|
|
4372
|
-
},
|
|
4373
|
-
if (!
|
|
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 =
|
|
4376
|
-
if (
|
|
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
|
-
|
|
4414
|
+
Te(), we();
|
|
4384
4415
|
return;
|
|
4385
4416
|
}
|
|
4386
|
-
let a =
|
|
4387
|
-
|
|
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:
|
|
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)
|
|
4444
|
+
for (let { element: e, target: t } of n.targets) v.set(t.selector, e);
|
|
4414
4445
|
e.command.execute(Po).catch(() => {
|
|
4415
|
-
|
|
4446
|
+
w = null, Te(), we();
|
|
4416
4447
|
});
|
|
4417
|
-
},
|
|
4418
|
-
!
|
|
4419
|
-
},
|
|
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)),
|
|
4423
|
-
if (!
|
|
4424
|
-
if (
|
|
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 =
|
|
4431
|
-
i.setHover(r instanceof c.HTMLElement &&
|
|
4432
|
-
},
|
|
4433
|
-
if (t.key !== "Escape" || !
|
|
4434
|
-
if (t.preventDefault(), t.stopImmediatePropagation(),
|
|
4435
|
-
|
|
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(),
|
|
4471
|
+
i.clearSelection(), we();
|
|
4441
4472
|
return;
|
|
4442
4473
|
}
|
|
4443
|
-
e.state.update(ko, () => !1),
|
|
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",
|
|
4446
|
-
|
|
4447
|
-
}),
|
|
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
|
|
4460
|
-
|
|
4461
|
-
}),
|
|
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
|
-
}))) :
|
|
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
|
-
},
|
|
4482
|
-
active:
|
|
4483
|
-
intents: () =>
|
|
4512
|
+
}, Ue = {
|
|
4513
|
+
active: A,
|
|
4514
|
+
intents: () => k().intents.map(ls),
|
|
4484
4515
|
intent(e) {
|
|
4485
|
-
let t =
|
|
4516
|
+
let t = Ve(e);
|
|
4486
4517
|
return t ? ls(t) : null;
|
|
4487
4518
|
},
|
|
4488
4519
|
show(e, t) {
|
|
4489
|
-
if (!
|
|
4490
|
-
|
|
4520
|
+
if (!Ve(e)) throw Error(`Edit intent not found: ${e}`);
|
|
4521
|
+
S = {
|
|
4491
4522
|
intentId: e,
|
|
4492
4523
|
state: t
|
|
4493
|
-
},
|
|
4524
|
+
}, De();
|
|
4494
4525
|
},
|
|
4495
4526
|
showCurrent() {
|
|
4496
|
-
|
|
4527
|
+
S = {
|
|
4497
4528
|
intentId: null,
|
|
4498
4529
|
state: "desired"
|
|
4499
|
-
},
|
|
4530
|
+
}, De();
|
|
4500
4531
|
},
|
|
4501
4532
|
capturePlan(e, t) {
|
|
4502
|
-
let n =
|
|
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:
|
|
4546
|
+
rect: He(n, t)
|
|
4516
4547
|
}]
|
|
4517
4548
|
};
|
|
4518
4549
|
},
|
|
4519
4550
|
review: (e, t = zo) => {
|
|
4520
|
-
let n =
|
|
4551
|
+
let n = Ve(e);
|
|
4521
4552
|
if (!n) throw Error(`Edit movement intent not found: ${e}`);
|
|
4522
|
-
let r =
|
|
4523
|
-
let n =
|
|
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:
|
|
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: () =>
|
|
4583
|
-
run: () =>
|
|
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: () =>
|
|
4589
|
-
disabled: () => !
|
|
4590
|
-
run: () =>
|
|
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: () =>
|
|
4596
|
-
disabled: () => !
|
|
4597
|
-
run: () =>
|
|
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: () =>
|
|
4603
|
-
disabled: () => !
|
|
4604
|
-
run: () =>
|
|
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: () =>
|
|
4610
|
-
disabled: () => !
|
|
4611
|
-
run: () =>
|
|
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: () =>
|
|
4617
|
-
disabled: () => !
|
|
4618
|
-
run: () =>
|
|
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: () =>
|
|
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: () =>
|
|
4641
|
-
set: (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: () =>
|
|
4649
|
-
set: (e) =>
|
|
4650
|
-
disabled: () => !
|
|
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: () =>
|
|
4658
|
-
set: (e) =>
|
|
4659
|
-
disabled: () => !
|
|
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: () =>
|
|
4667
|
-
set: (e) =>
|
|
4668
|
-
disabled: () => !
|
|
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: () =>
|
|
4676
|
-
set: (e) =>
|
|
4677
|
-
disabled: () => !
|
|
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: () =>
|
|
4685
|
-
set: (e) =>
|
|
4686
|
-
disabled: () => !
|
|
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 = !
|
|
4691
|
-
if (t && await
|
|
4692
|
-
|
|
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
|
-
|
|
4726
|
+
Te(), we();
|
|
4696
4727
|
}), e.command.register(Po, () => {
|
|
4697
|
-
let t =
|
|
4698
|
-
|
|
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 =
|
|
4701
|
-
|
|
4702
|
-
}), e.command.register(Lo,
|
|
4703
|
-
e.state.update(Oo, () => ({ intents: [] })),
|
|
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
|
-
},
|
|
4707
|
-
}), e.service.provide(Do,
|
|
4708
|
-
|
|
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.
|
|
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) => {
|