mesurer-solid 0.2.1-beta.8 → 0.2.1-beta.9
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 +996 -959
- package/dist/inject-script.js +9 -9
- package/dist/inject.js +991 -954
- package/dist/plugins.d.ts +1 -1
- package/dist/plugins.js +1334 -1297
- package/dist/recording.d.ts +5 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -107,7 +107,7 @@ function ne() {
|
|
|
107
107
|
function W(e) {
|
|
108
108
|
H = e;
|
|
109
109
|
}
|
|
110
|
-
function
|
|
110
|
+
function G() {
|
|
111
111
|
return {
|
|
112
112
|
de: I,
|
|
113
113
|
Qt: [],
|
|
@@ -124,7 +124,7 @@ function re() {
|
|
|
124
124
|
ln: /* @__PURE__ */ new Set()
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function re(e, t) {
|
|
128
128
|
t.fn = e, e.ie.push(...t.ie);
|
|
129
129
|
for (let n of T) n.Ne === t && (n.Ne = e);
|
|
130
130
|
t.Me.length && (e.Me.push(...t.Me), t.Me.length = 0), t.A.length && (e.A.push(...t.A), t.A.length = 0);
|
|
@@ -136,7 +136,7 @@ function ie(e, t) {
|
|
|
136
136
|
}
|
|
137
137
|
for (let n of t.ln) e.ln.add(n);
|
|
138
138
|
}
|
|
139
|
-
function
|
|
139
|
+
function ie() {
|
|
140
140
|
if (z) {
|
|
141
141
|
oe();
|
|
142
142
|
return;
|
|
@@ -184,7 +184,7 @@ var se = 0, ce = class {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
enqueue(e, t) {
|
|
187
|
-
e && (vt ? E(vt).rn[e - 1].push(t) : this.bt[e - 1].push(t)),
|
|
187
|
+
e && (vt ? E(vt).rn[e - 1].push(t) : this.bt[e - 1].push(t)), ie();
|
|
188
188
|
}
|
|
189
189
|
stashQueues(e) {
|
|
190
190
|
e.bt[0].push(...this.bt[0]), e.bt[1].push(...this.bt[1]), this.bt = [[], []];
|
|
@@ -205,7 +205,7 @@ var se = 0, ce = class {
|
|
|
205
205
|
}
|
|
206
206
|
}, K = class e extends ce {
|
|
207
207
|
gt = !1;
|
|
208
|
-
m =
|
|
208
|
+
m = G();
|
|
209
209
|
static Ce;
|
|
210
210
|
static me;
|
|
211
211
|
static et;
|
|
@@ -245,12 +245,12 @@ var se = 0, ce = class {
|
|
|
245
245
|
if (Ne(N, e.Ce), L) {
|
|
246
246
|
if (!Se(L)) {
|
|
247
247
|
let t = L;
|
|
248
|
-
Ne(P, this.m === t ? F : e.Ce), this.m === t && (ve = this.m =
|
|
248
|
+
Ne(P, this.m === t ? F : e.Ce), this.m === t && (ve = this.m = G()), T.size && (e.In(1), e.In(2)), this.stashQueues(t.yt), I++, R = N.EE >= N.Ve || this.m.Qt.length > 0, ge(t.Qt), L = null, me(null, !0);
|
|
249
249
|
return;
|
|
250
250
|
}
|
|
251
251
|
let t = L, n = this.m;
|
|
252
252
|
if (n !== t && n.Qt.push(...t.Qt), this.restoreQueues(t.yt), M.delete(t), L = null, ge(n.Qt), me(t), n === t) {
|
|
253
|
-
let e =
|
|
253
|
+
let e = G();
|
|
254
254
|
e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn, ve = this.m = e;
|
|
255
255
|
}
|
|
256
256
|
} else te(this) ? (pe(), N.EE >= N.Ve && (Ne(N, e.Ce), pe())) : (M.size && Ne(P, e.Ce), me());
|
|
@@ -269,7 +269,7 @@ var se = 0, ce = class {
|
|
|
269
269
|
let n = t.source, r = L.Ie.get(n);
|
|
270
270
|
r || L.Ie.set(n, r = /* @__PURE__ */ new Set());
|
|
271
271
|
let i = r.size;
|
|
272
|
-
r.add(e), r.size !== i &&
|
|
272
|
+
r.add(e), r.size !== i && ie();
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
return !0;
|
|
@@ -278,10 +278,10 @@ var se = 0, ce = class {
|
|
|
278
278
|
}
|
|
279
279
|
initTransition(e) {
|
|
280
280
|
if (e &&= Ce(e), e && e === L || !e && L && L.de === I) return;
|
|
281
|
-
if (!L) L = e ??
|
|
281
|
+
if (!L) L = e ?? G();
|
|
282
282
|
else if (e) {
|
|
283
283
|
let t = L;
|
|
284
|
-
|
|
284
|
+
re(e, t), M.delete(t), L = e;
|
|
285
285
|
}
|
|
286
286
|
M.add(L), L.de = I;
|
|
287
287
|
let t = this.m;
|
|
@@ -341,7 +341,7 @@ function me(e = null, t = !1) {
|
|
|
341
341
|
let t = e ?? _e.m;
|
|
342
342
|
if (t.Me.length && K.En(t.Me), t.ln.size) {
|
|
343
343
|
for (let e of t.ln) e.se & 64 || Ee(e);
|
|
344
|
-
t.ln.clear(),
|
|
344
|
+
t.ln.clear(), ie();
|
|
345
345
|
}
|
|
346
346
|
t.A.length && (K.G(t.A), _e.vt.length && he(_e)), t.cn.size && K.Dt(t.cn, e), ne(), T.size && K.dn(e);
|
|
347
347
|
}
|
|
@@ -698,7 +698,7 @@ function st(e, t) {
|
|
|
698
698
|
let n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
699
699
|
r.has(e) || (r.add(e), e._ === t && (Ee(e), n = !0), it(e, i));
|
|
700
700
|
};
|
|
701
|
-
it(e, i), n &&
|
|
701
|
+
it(e, i), n && ie();
|
|
702
702
|
}
|
|
703
703
|
function ct(e) {
|
|
704
704
|
let t = !1, n, r = /* @__PURE__ */ new Set(), i = K.Se, a = (o) => {
|
|
@@ -708,7 +708,7 @@ function ct(e) {
|
|
|
708
708
|
s ? (c || rt(o, s), i !== null && i(o)) : (o.S &= -2, c || rt(o), i !== null && i(o), o.ue && (Ee(o), t = !0), o.ue = !1, !o.o && o.T & 32 && (n ??= []).push(o)), it(o, a);
|
|
709
709
|
};
|
|
710
710
|
if (it(e, a), n) for (let e of n) at(e);
|
|
711
|
-
t &&
|
|
711
|
+
t && ie();
|
|
712
712
|
}
|
|
713
713
|
function lt(e) {
|
|
714
714
|
return typeof e == "object" && !!e && typeof e.then == "function";
|
|
@@ -754,7 +754,7 @@ function ut(e, t, n) {
|
|
|
754
754
|
} catch (t) {
|
|
755
755
|
ft(e, 2, t);
|
|
756
756
|
}
|
|
757
|
-
e.De === v && (e.Ee = !1), ct(e),
|
|
757
|
+
e.De === v && (e.Ee = !1), ct(e), ie(), ye(), i?.();
|
|
758
758
|
}, l = () => e.T & 32 && !e.o && !(e.S & 1) ? (Ze(e), !0) : !1;
|
|
759
759
|
if (i) {
|
|
760
760
|
let n = !1, r = !1, i, o = !0;
|
|
@@ -787,7 +787,7 @@ function ut(e, t, n) {
|
|
|
787
787
|
if ((lt(_) ? _ : { then: (e) => void e(_) }).then((n) => {
|
|
788
788
|
if (g && o) d = n, m = !0, n.done && (i = !0);
|
|
789
789
|
else if (e.Te !== t) return;
|
|
790
|
-
else n.done ? (i = !0, r ? (
|
|
790
|
+
else n.done ? (i = !0, r ? (ie(), ye()) : c(void 0), l()) : (r = !0, c(n.value, u));
|
|
791
791
|
}, (n) => {
|
|
792
792
|
g ? (p = n, h = !0) : e.Te === t && (i = !0, s(n), l());
|
|
793
793
|
}), g = !1, h) {
|
|
@@ -820,7 +820,7 @@ function ft(e, t, n, r, i) {
|
|
|
820
820
|
it(e, (e, r) => {
|
|
821
821
|
if (e.de = I, t === 1 && a && !e.oe?.has(a) || t !== 1 && (e._ !== n || e.oe)) {
|
|
822
822
|
if (r.Ge && t !== 1 && !(n instanceof d)) {
|
|
823
|
-
Ee(e),
|
|
823
|
+
Ee(e), ie();
|
|
824
824
|
return;
|
|
825
825
|
}
|
|
826
826
|
!l && !e.Ne && le(e), ft(e, t, n, l, u);
|
|
@@ -1050,10 +1050,10 @@ function Mt(e) {
|
|
|
1050
1050
|
function Nt(e, t) {
|
|
1051
1051
|
if (e.Ne && L !== e.Ne && _e.initTransition(e.Ne), e._e !== void 0 && !H) return K.Gt(e, t);
|
|
1052
1052
|
let n = e.De === v ? e.Ue : e.De;
|
|
1053
|
-
return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === v && le(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && K.Pe !== null && K.Pe(e, t), e.de = I, de(e),
|
|
1053
|
+
return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === v && le(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && K.Pe !== null && K.Pe(e, t), e.de = I, de(e), ie(), t) : t;
|
|
1054
1054
|
}
|
|
1055
1055
|
function Pt(e) {
|
|
1056
|
-
Ae(e, Te(e)), !(e.se & 1024) && e.De === v && (le(e),
|
|
1056
|
+
Ae(e, Te(e)), !(e.se & 1024) && e.De === v && (le(e), ie()), e.se = e.se & -4 | g;
|
|
1057
1057
|
}
|
|
1058
1058
|
function Ft(e, t) {
|
|
1059
1059
|
let n = Nt(e, t);
|
|
@@ -5650,26 +5650,26 @@ function dl(e) {
|
|
|
5650
5650
|
setExpandedKey: l,
|
|
5651
5651
|
pinnedKey: u,
|
|
5652
5652
|
setPinnedKey: d
|
|
5653
|
-
}, p = () => e.model.state.toolMode === "select", m = () => e.model.state.toolMode === "guides", h = () => e.model.state.enabled, g = () => e.interactive && h() && e.model.state.toolMode !== "none" && e.model.state.toolMode !== "text-inspector",
|
|
5654
|
-
let t = e.model.state.settings.multiMeasureEnabled && e.model.state.measurements.length > 0 ? e.model.state.measurements : e.model.state.activeMeasurement ? [e.model.state.activeMeasurement] : [], n = new Set(
|
|
5653
|
+
}, p = () => e.model.state.toolMode === "select", m = () => e.model.state.toolMode === "guides", h = () => e.model.state.enabled, g = () => t?.closest("[data-mesurer-root='true']")?.hasAttribute("data-mesurer-recording-active") ?? !1, _ = () => !g() && e.interactive && h() && e.model.state.toolMode !== "none" && e.model.state.toolMode !== "text-inspector", v = () => !g() && e.interactive && (e.model.state.toolMode !== "none" || e.model.state.rulersVisible), y = () => `color-mix(in oklch, ${e.model.state.settings.highlightColor} 80%, transparent)`, b = () => `color-mix(in oklch, ${e.model.state.settings.highlightColor} 8%, transparent)`, x = () => `color-mix(in oklch, ${e.model.state.settings.highlightColor} 96%, transparent)`, S = () => `color-mix(in oklch, ${e.model.state.settings.highlightColor} 15.36%, transparent)`, C = Wr(() => e.model.state.selectedMeasurements), w = Wr(() => {
|
|
5654
|
+
let t = e.model.state.settings.multiMeasureEnabled && e.model.state.measurements.length > 0 ? e.model.state.measurements : e.model.state.activeMeasurement ? [e.model.state.activeMeasurement] : [], n = new Set(C().map((e) => e.elementRef).filter((e) => !!e));
|
|
5655
5655
|
return t.filter((e) => !e.elementRef || !n.has(e.elementRef));
|
|
5656
|
-
}),
|
|
5656
|
+
}), T = Wr(() => e.displayedSelectedMeasurements), E = Wr(() => {
|
|
5657
5657
|
let t = e.model.state.hoverElement;
|
|
5658
|
-
return !!(t &&
|
|
5659
|
-
}),
|
|
5660
|
-
let n =
|
|
5658
|
+
return !!(t && C().some((e) => e.elementRef === t));
|
|
5659
|
+
}), D = Wr(() => e.model.state.heldDistances), O = Wr(() => rs(w().map((e) => e.rect))), k = Wr(() => rs(T().map((e) => e.rect))), A = Wr(() => {
|
|
5660
|
+
let n = C();
|
|
5661
5661
|
if (!p() || !e.selectionSpacingStyle.enabled || n.length < 2) return [];
|
|
5662
5662
|
let r = t?.ownerDocument.defaultView;
|
|
5663
5663
|
return r ? es(n, r) : [];
|
|
5664
|
-
}),
|
|
5665
|
-
Jr(() =>
|
|
5664
|
+
}), j = Wr(() => C().map((e) => e.id).join("|"));
|
|
5665
|
+
Jr(() => j(), () => {
|
|
5666
5666
|
l(null), d(null);
|
|
5667
5667
|
});
|
|
5668
|
-
let
|
|
5668
|
+
let M = () => {
|
|
5669
5669
|
let t = e.model.state.hoverRect;
|
|
5670
|
-
return t ? rs([t, ...
|
|
5671
|
-
},
|
|
5672
|
-
let t = e.model.state.hoverElement, n =
|
|
5670
|
+
return t ? rs([t, ...T().map((e) => e.rect)])[0] ?? null : null;
|
|
5671
|
+
}, N = () => hs(t, e.model.state.hoverElement), P = () => {
|
|
5672
|
+
let t = e.model.state.hoverElement, n = N(), r = t?.ownerDocument.defaultView;
|
|
5673
5673
|
return !t || !r || n !== t.ownerDocument.body ? {
|
|
5674
5674
|
x: 0,
|
|
5675
5675
|
y: 0
|
|
@@ -5677,8 +5677,8 @@ function dl(e) {
|
|
|
5677
5677
|
x: r.scrollX,
|
|
5678
5678
|
y: r.scrollY
|
|
5679
5679
|
};
|
|
5680
|
-
},
|
|
5681
|
-
let t = e.model.state.hoverRect, r = !!
|
|
5680
|
+
}, F = () => {
|
|
5681
|
+
let t = e.model.state.hoverRect, r = !!N(), i = P();
|
|
5682
5682
|
var a = X("div", {
|
|
5683
5683
|
"data-mesurer-hover-measurement": "true",
|
|
5684
5684
|
"data-mesurer-document-hover-layer": r ? "true" : void 0,
|
|
@@ -5688,7 +5688,7 @@ function dl(e) {
|
|
|
5688
5688
|
n = e;
|
|
5689
5689
|
}, a), Q(a, Y(q, {
|
|
5690
5690
|
get when() {
|
|
5691
|
-
return
|
|
5691
|
+
return M()?.top;
|
|
5692
5692
|
},
|
|
5693
5693
|
get children() {
|
|
5694
5694
|
var e = X("div", { class: "msr:absolute msr:left-0 msr:top-0 msr:h-px msr:w-full" });
|
|
@@ -5698,14 +5698,14 @@ function dl(e) {
|
|
|
5698
5698
|
top: "0",
|
|
5699
5699
|
height: "1px",
|
|
5700
5700
|
width: "100%",
|
|
5701
|
-
"background-color":
|
|
5701
|
+
"background-color": y()
|
|
5702
5702
|
}), (t, n) => {
|
|
5703
5703
|
$(e, "style", t, n);
|
|
5704
5704
|
}), e;
|
|
5705
5705
|
}
|
|
5706
5706
|
}), null), Q(a, Y(q, {
|
|
5707
5707
|
get when() {
|
|
5708
|
-
return
|
|
5708
|
+
return M()?.right;
|
|
5709
5709
|
},
|
|
5710
5710
|
get children() {
|
|
5711
5711
|
var e = X("div", { class: "msr:absolute msr:right-0 msr:top-0 msr:h-full msr:w-px" });
|
|
@@ -5715,14 +5715,14 @@ function dl(e) {
|
|
|
5715
5715
|
top: "0",
|
|
5716
5716
|
height: "100%",
|
|
5717
5717
|
width: "1px",
|
|
5718
|
-
"background-color":
|
|
5718
|
+
"background-color": y()
|
|
5719
5719
|
}), (t, n) => {
|
|
5720
5720
|
$(e, "style", t, n);
|
|
5721
5721
|
}), e;
|
|
5722
5722
|
}
|
|
5723
5723
|
}), null), Q(a, Y(q, {
|
|
5724
5724
|
get when() {
|
|
5725
|
-
return
|
|
5725
|
+
return M()?.bottom;
|
|
5726
5726
|
},
|
|
5727
5727
|
get children() {
|
|
5728
5728
|
var e = X("div", { class: "msr:absolute msr:bottom-0 msr:left-0 msr:h-px msr:w-full" });
|
|
@@ -5732,14 +5732,14 @@ function dl(e) {
|
|
|
5732
5732
|
left: "0",
|
|
5733
5733
|
height: "1px",
|
|
5734
5734
|
width: "100%",
|
|
5735
|
-
"background-color":
|
|
5735
|
+
"background-color": y()
|
|
5736
5736
|
}), (t, n) => {
|
|
5737
5737
|
$(e, "style", t, n);
|
|
5738
5738
|
}), e;
|
|
5739
5739
|
}
|
|
5740
5740
|
}), null), Q(a, Y(q, {
|
|
5741
5741
|
get when() {
|
|
5742
|
-
return
|
|
5742
|
+
return M()?.left;
|
|
5743
5743
|
},
|
|
5744
5744
|
get children() {
|
|
5745
5745
|
var e = X("div", { class: "msr:absolute msr:left-0 msr:top-0 msr:h-full msr:w-px" });
|
|
@@ -5749,7 +5749,7 @@ function dl(e) {
|
|
|
5749
5749
|
top: "0",
|
|
5750
5750
|
height: "100%",
|
|
5751
5751
|
width: "1px",
|
|
5752
|
-
"background-color":
|
|
5752
|
+
"background-color": y()
|
|
5753
5753
|
}), (t, n) => {
|
|
5754
5754
|
$(e, "style", t, n);
|
|
5755
5755
|
}), e;
|
|
@@ -5762,16 +5762,16 @@ function dl(e) {
|
|
|
5762
5762
|
top: `${t.top + i.y}px`,
|
|
5763
5763
|
width: `${t.width}px`,
|
|
5764
5764
|
height: `${t.height}px`,
|
|
5765
|
-
"background-color":
|
|
5765
|
+
"background-color": b(),
|
|
5766
5766
|
transition: "none",
|
|
5767
5767
|
animation: "none"
|
|
5768
5768
|
}), (e, t) => {
|
|
5769
5769
|
$(a, "style", e, t);
|
|
5770
5770
|
}), a;
|
|
5771
|
-
},
|
|
5771
|
+
}, I = (t) => {
|
|
5772
5772
|
let n = t === "active" ? 100 : t === "hover" ? 90 : t === "preview" ? 50 : 70;
|
|
5773
5773
|
return `color-mix(in oklch, ${e.model.state.settings.guideColor} ${n}%, transparent)`;
|
|
5774
|
-
},
|
|
5774
|
+
}, L = Wr(() => {
|
|
5775
5775
|
if (e.model.state.guides.length > 0 || !e.model.state.settingsOpen || e.model.state.settingsTab !== "guides") return e.model.state.guides;
|
|
5776
5776
|
let n = t?.ownerDocument.defaultView;
|
|
5777
5777
|
return n ? [{
|
|
@@ -5783,21 +5783,21 @@ function dl(e) {
|
|
|
5783
5783
|
orientation: "horizontal",
|
|
5784
5784
|
position: n.innerHeight / 2
|
|
5785
5785
|
}] : e.model.state.guides;
|
|
5786
|
-
}),
|
|
5786
|
+
}), R = () => {
|
|
5787
5787
|
i && t?.ownerDocument.defaultView?.clearTimeout(i), i = 0, a = null;
|
|
5788
|
-
},
|
|
5788
|
+
}, z = (t, n) => {
|
|
5789
5789
|
if (!e.model.current.enabled || e.model.current.settingsOpen || n.button !== 0) return;
|
|
5790
5790
|
if (n.preventDefault(), n.stopPropagation(), e.model.checkpoint(), n.shiftKey) {
|
|
5791
5791
|
e.model.setSelectedGuideIds(e.model.current.selectedGuideIds.includes(t.id) ? e.model.current.selectedGuideIds.filter((e) => e !== t.id) : [...e.model.current.selectedGuideIds, t.id]);
|
|
5792
5792
|
return;
|
|
5793
5793
|
}
|
|
5794
|
-
e.model.setSelectedGuideIds([t.id]),
|
|
5794
|
+
e.model.setSelectedGuideIds([t.id]), R();
|
|
5795
5795
|
let r = n.currentTarget.ownerDocument.defaultView;
|
|
5796
5796
|
r && (a = t.id, i = r.setTimeout(() => {
|
|
5797
5797
|
i = 0, a === t.id && e.model.setTransient({ draggingGuideId: t.id });
|
|
5798
5798
|
}, 220)), ms(n.currentTarget, n.pointerId);
|
|
5799
|
-
},
|
|
5800
|
-
n.stopPropagation(),
|
|
5799
|
+
}, B = (t, n) => {
|
|
5800
|
+
n.stopPropagation(), R(), e.model.current.draggingGuideId === t.id && e.model.setTransient({ draggingGuideId: null }), n.currentTarget.hasPointerCapture(n.pointerId) && n.currentTarget.releasePointerCapture(n.pointerId);
|
|
5801
5801
|
};
|
|
5802
5802
|
$t(() => {
|
|
5803
5803
|
let i = t, a = i?.ownerDocument.defaultView, c = i?.ownerDocument;
|
|
@@ -5866,10 +5866,10 @@ function dl(e) {
|
|
|
5866
5866
|
capture: !0,
|
|
5867
5867
|
passive: !0
|
|
5868
5868
|
}), a.addEventListener("resize", d, !0), a.addEventListener("pointerdown", m, !0), a.addEventListener("pointermove", h, !0), a.addEventListener("pointerup", g, !0), a.addEventListener("pointercancel", g, !0), () => {
|
|
5869
|
-
i.removeEventListener("pointermove", l), a.removeEventListener("pointermove", u, !0), a.removeEventListener("scroll", p, !0), a.removeEventListener("resize", d, !0), a.removeEventListener("pointerdown", m, !0), a.removeEventListener("pointermove", h, !0), a.removeEventListener("pointerup", g, !0), a.removeEventListener("pointercancel", g, !0), o && a.clearTimeout(o), s && a.cancelAnimationFrame(s), o = 0, s = 0, n?.style.removeProperty("visibility"),
|
|
5869
|
+
i.removeEventListener("pointermove", l), a.removeEventListener("pointermove", u, !0), a.removeEventListener("scroll", p, !0), a.removeEventListener("resize", d, !0), a.removeEventListener("pointerdown", m, !0), a.removeEventListener("pointermove", h, !0), a.removeEventListener("pointerup", g, !0), a.removeEventListener("pointercancel", g, !0), o && a.clearTimeout(o), s && a.cancelAnimationFrame(s), o = 0, s = 0, n?.style.removeProperty("visibility"), R(), r?.previousUserSelect !== null && r && (c.documentElement.style.userSelect = r.previousUserSelect), r = null;
|
|
5870
5870
|
};
|
|
5871
5871
|
});
|
|
5872
|
-
var
|
|
5872
|
+
var V = X("div", {
|
|
5873
5873
|
"data-mesurer-interaction-overlay": "true",
|
|
5874
5874
|
onPointerDown: (t) => e.onPointerDown(t),
|
|
5875
5875
|
onPointerUp: (t) => e.onPointerUp(t),
|
|
@@ -5877,7 +5877,7 @@ function dl(e) {
|
|
|
5877
5877
|
});
|
|
5878
5878
|
return aa(() => (e) => {
|
|
5879
5879
|
t = e;
|
|
5880
|
-
},
|
|
5880
|
+
}, V), Q(V, Y(q, {
|
|
5881
5881
|
get when() {
|
|
5882
5882
|
return p();
|
|
5883
5883
|
},
|
|
@@ -5885,18 +5885,18 @@ function dl(e) {
|
|
|
5885
5885
|
return [
|
|
5886
5886
|
Y(Zr, {
|
|
5887
5887
|
get each() {
|
|
5888
|
-
return
|
|
5888
|
+
return w();
|
|
5889
5889
|
},
|
|
5890
5890
|
children: (t, n) => Y(ll, {
|
|
5891
5891
|
measurement: t,
|
|
5892
5892
|
get edgeVisibility() {
|
|
5893
|
-
return
|
|
5893
|
+
return O()[n()];
|
|
5894
5894
|
},
|
|
5895
5895
|
get outlineColor() {
|
|
5896
|
-
return
|
|
5896
|
+
return y();
|
|
5897
5897
|
},
|
|
5898
5898
|
get fillColor() {
|
|
5899
|
-
return
|
|
5899
|
+
return b();
|
|
5900
5900
|
},
|
|
5901
5901
|
get theme() {
|
|
5902
5902
|
return e.model.state.settings.theme;
|
|
@@ -5916,12 +5916,12 @@ function dl(e) {
|
|
|
5916
5916
|
top: `${e.activeRect.top}px`,
|
|
5917
5917
|
width: `${e.activeRect.width}px`,
|
|
5918
5918
|
height: `${e.activeRect.height}px`,
|
|
5919
|
-
"background-color":
|
|
5919
|
+
"background-color": b()
|
|
5920
5920
|
},
|
|
5921
|
-
t: { "background-color":
|
|
5922
|
-
a: { "background-color":
|
|
5923
|
-
o: { "background-color":
|
|
5924
|
-
i: { "background-color":
|
|
5921
|
+
t: { "background-color": y() },
|
|
5922
|
+
a: { "background-color": y() },
|
|
5923
|
+
o: { "background-color": y() },
|
|
5924
|
+
i: { "background-color": y() }
|
|
5925
5925
|
}), ({ e, t: o, a: s, o: c, i: l }, u) => {
|
|
5926
5926
|
e !== u?.e && $(t, "style", e, u?.e), o !== u?.t && $(n, "style", o, u?.t), s !== u?.a && $(r, "style", s, u?.a), c !== u?.o && $(i, "style", c, u?.o), l !== u?.i && $(a, "style", l, u?.i);
|
|
5927
5927
|
}), t;
|
|
@@ -5945,22 +5945,22 @@ function dl(e) {
|
|
|
5945
5945
|
}),
|
|
5946
5946
|
Y(q, {
|
|
5947
5947
|
get when() {
|
|
5948
|
-
return ea(() => !!(e.model.state.hoverRect && e.model.state.settings.hoverHighlightEnabled && (e.editSelectionHover() ||
|
|
5948
|
+
return ea(() => !!(e.model.state.hoverRect && e.model.state.settings.hoverHighlightEnabled && (e.editSelectionHover() || C().length <= 1)))() ? !E() : e.model.state.hoverRect && e.model.state.settings.hoverHighlightEnabled && (e.editSelectionHover() || C().length <= 1);
|
|
5949
5949
|
},
|
|
5950
5950
|
get children() {
|
|
5951
5951
|
return Y(q, {
|
|
5952
5952
|
get when() {
|
|
5953
|
-
return
|
|
5953
|
+
return N();
|
|
5954
5954
|
},
|
|
5955
5955
|
get fallback() {
|
|
5956
|
-
return
|
|
5956
|
+
return F();
|
|
5957
5957
|
},
|
|
5958
5958
|
children: (e) => Y(ki, {
|
|
5959
5959
|
get mount() {
|
|
5960
5960
|
return e();
|
|
5961
5961
|
},
|
|
5962
5962
|
get children() {
|
|
5963
|
-
return
|
|
5963
|
+
return F();
|
|
5964
5964
|
}
|
|
5965
5965
|
})
|
|
5966
5966
|
});
|
|
@@ -5968,7 +5968,7 @@ function dl(e) {
|
|
|
5968
5968
|
})
|
|
5969
5969
|
];
|
|
5970
5970
|
}
|
|
5971
|
-
}), null), Q(
|
|
5971
|
+
}), null), Q(V, Y(q, {
|
|
5972
5972
|
get when() {
|
|
5973
5973
|
return ea(() => !!(e.interactive && m() && e.model.state.guidePreview))() ? !e.model.state.draggingGuideId : e.interactive && m() && e.model.state.guidePreview;
|
|
5974
5974
|
},
|
|
@@ -5991,37 +5991,37 @@ function dl(e) {
|
|
|
5991
5991
|
top: "0",
|
|
5992
5992
|
width: "2px",
|
|
5993
5993
|
height: "100%",
|
|
5994
|
-
"background-color":
|
|
5994
|
+
"background-color": I("preview")
|
|
5995
5995
|
} : {
|
|
5996
5996
|
top: "6px",
|
|
5997
5997
|
left: "0",
|
|
5998
5998
|
height: "2px",
|
|
5999
5999
|
width: "100%",
|
|
6000
|
-
"background-color":
|
|
6000
|
+
"background-color": I("preview")
|
|
6001
6001
|
}
|
|
6002
6002
|
}), ({ e, t: r }, i) => {
|
|
6003
6003
|
e !== i?.e && $(t, "style", e, i?.e), r !== i?.t && $(n, "style", r, i?.t);
|
|
6004
6004
|
}), t;
|
|
6005
6005
|
}
|
|
6006
|
-
}), null), Q(
|
|
6006
|
+
}), null), Q(V, Y(q, {
|
|
6007
6007
|
get when() {
|
|
6008
6008
|
return p();
|
|
6009
6009
|
},
|
|
6010
6010
|
get children() {
|
|
6011
6011
|
return [Y(Zr, {
|
|
6012
6012
|
get each() {
|
|
6013
|
-
return
|
|
6013
|
+
return T();
|
|
6014
6014
|
},
|
|
6015
6015
|
children: (t, n) => Y(ll, {
|
|
6016
6016
|
measurement: t,
|
|
6017
6017
|
get edgeVisibility() {
|
|
6018
|
-
return
|
|
6018
|
+
return k()[n()];
|
|
6019
6019
|
},
|
|
6020
6020
|
get outlineColor() {
|
|
6021
|
-
return
|
|
6021
|
+
return x();
|
|
6022
6022
|
},
|
|
6023
6023
|
get fillColor() {
|
|
6024
|
-
return
|
|
6024
|
+
return S();
|
|
6025
6025
|
},
|
|
6026
6026
|
get theme() {
|
|
6027
6027
|
return e.model.state.settings.theme;
|
|
@@ -6029,12 +6029,12 @@ function dl(e) {
|
|
|
6029
6029
|
})
|
|
6030
6030
|
}), Y(q, {
|
|
6031
6031
|
get when() {
|
|
6032
|
-
return
|
|
6032
|
+
return C().length > 1;
|
|
6033
6033
|
},
|
|
6034
6034
|
get children() {
|
|
6035
6035
|
return [Y(Zr, {
|
|
6036
6036
|
get each() {
|
|
6037
|
-
return
|
|
6037
|
+
return C();
|
|
6038
6038
|
},
|
|
6039
6039
|
children: (e) => (() => {
|
|
6040
6040
|
var t = X("div", {
|
|
@@ -6052,7 +6052,7 @@ function dl(e) {
|
|
|
6052
6052
|
})()
|
|
6053
6053
|
}), Y(Zr, {
|
|
6054
6054
|
get each() {
|
|
6055
|
-
return
|
|
6055
|
+
return A();
|
|
6056
6056
|
},
|
|
6057
6057
|
children: (t) => Y(nl, {
|
|
6058
6058
|
distance: t,
|
|
@@ -6067,9 +6067,9 @@ function dl(e) {
|
|
|
6067
6067
|
}
|
|
6068
6068
|
})];
|
|
6069
6069
|
}
|
|
6070
|
-
}), null), Q(
|
|
6070
|
+
}), null), Q(V, Y(Zr, {
|
|
6071
6071
|
get each() {
|
|
6072
|
-
return
|
|
6072
|
+
return D();
|
|
6073
6073
|
},
|
|
6074
6074
|
children: (t) => Y(nl, {
|
|
6075
6075
|
distance: t,
|
|
@@ -6078,7 +6078,7 @@ function dl(e) {
|
|
|
6078
6078
|
},
|
|
6079
6079
|
kind: "held"
|
|
6080
6080
|
})
|
|
6081
|
-
}), null), Q(
|
|
6081
|
+
}), null), Q(V, Y(q, {
|
|
6082
6082
|
get when() {
|
|
6083
6083
|
return ea(() => !!(p() && e.model.state.altPressed))() ? e.optionPairOverlay : p() && e.model.state.altPressed;
|
|
6084
6084
|
},
|
|
@@ -6090,7 +6090,7 @@ function dl(e) {
|
|
|
6090
6090
|
kind: "preview"
|
|
6091
6091
|
});
|
|
6092
6092
|
}
|
|
6093
|
-
}), null), Q(
|
|
6093
|
+
}), null), Q(V, Y(q, {
|
|
6094
6094
|
get when() {
|
|
6095
6095
|
return ea(() => !!(e.interactive && m() && e.model.state.altPressed))() ? e.guideDistanceOverlay : e.interactive && m() && e.model.state.altPressed;
|
|
6096
6096
|
},
|
|
@@ -6102,7 +6102,7 @@ function dl(e) {
|
|
|
6102
6102
|
kind: "preview"
|
|
6103
6103
|
});
|
|
6104
6104
|
}
|
|
6105
|
-
}), null), Q(
|
|
6105
|
+
}), null), Q(V, Y(q, {
|
|
6106
6106
|
get when() {
|
|
6107
6107
|
return ea(() => !!(p() && e.model.state.altPressed))() ? e.optionContainerLines : p() && e.model.state.altPressed;
|
|
6108
6108
|
},
|
|
@@ -6220,23 +6220,23 @@ function dl(e) {
|
|
|
6220
6220
|
}
|
|
6221
6221
|
})
|
|
6222
6222
|
]
|
|
6223
|
-
}), null), Q(
|
|
6223
|
+
}), null), Q(V, Y(Zr, {
|
|
6224
6224
|
get each() {
|
|
6225
|
-
return
|
|
6225
|
+
return L();
|
|
6226
6226
|
},
|
|
6227
6227
|
children: (t) => {
|
|
6228
|
-
let n = () => t.id.startsWith("__mesurer-preview-"), r = () => !n() && e.model.state.selectedGuideIds.includes(t.id), i = () => !n() && e.hoverGuide?.id === t.id, a = () => r() ?
|
|
6228
|
+
let n = () => t.id.startsWith("__mesurer-preview-"), r = () => !n() && e.model.state.selectedGuideIds.includes(t.id), i = () => !n() && e.hoverGuide?.id === t.id, a = () => r() ? I("active") : i() ? I("hover") : I("default"), o = () => Math.max(e.model.state.settings.guideStyle.width, r() || i() ? 2 : e.model.state.settings.guideStyle.width), s = () => e.model.state.settings.guideStyle.pattern === "solid" ? void 0 : e.model.state.settings.guideStyle.pattern === "dotted" ? `radial-gradient(circle, ${a()} 0 ${o() / 2}px, transparent ${o() / 2 + .5}px)` : `repeating-linear-gradient(${t.orientation === "vertical" ? "to bottom" : "to right"}, ${a()} 0 ${e.model.state.settings.guideStyle.dashLength}px, transparent ${e.model.state.settings.guideStyle.dashLength}px ${e.model.state.settings.guideStyle.dashLength + e.model.state.settings.guideStyle.gap}px)`, c = () => e.model.state.settings.guideStyle.pattern === "dotted" ? t.orientation === "vertical" ? `${o()}px ${e.model.state.settings.guideStyle.dashLength + e.model.state.settings.guideStyle.gap}px` : `${e.model.state.settings.guideStyle.dashLength + e.model.state.settings.guideStyle.gap}px ${o()}px` : void 0;
|
|
6229
6229
|
var l = X("div", {
|
|
6230
6230
|
class: "msr:absolute",
|
|
6231
6231
|
"data-mesurer-guide": "true",
|
|
6232
6232
|
onPointerDown: (r) => {
|
|
6233
|
-
!n() && e.model.current.toolMode !== "none" &&
|
|
6233
|
+
!n() && e.model.current.toolMode !== "none" && z(t, r);
|
|
6234
6234
|
},
|
|
6235
6235
|
onPointerUp: (r) => {
|
|
6236
|
-
!n() && e.model.current.toolMode !== "none" &&
|
|
6236
|
+
!n() && e.model.current.toolMode !== "none" && B(t, r);
|
|
6237
6237
|
},
|
|
6238
6238
|
onPointerCancel: (r) => {
|
|
6239
|
-
!n() && e.model.current.toolMode !== "none" &&
|
|
6239
|
+
!n() && e.model.current.toolMode !== "none" && B(t, r);
|
|
6240
6240
|
}
|
|
6241
6241
|
}), u = X("div", { class: "msr:absolute" });
|
|
6242
6242
|
return Z(l, u), J(() => ({
|
|
@@ -6245,13 +6245,13 @@ function dl(e) {
|
|
|
6245
6245
|
top: "0",
|
|
6246
6246
|
width: "14px",
|
|
6247
6247
|
height: "100%",
|
|
6248
|
-
"pointer-events": !n() &&
|
|
6248
|
+
"pointer-events": !n() && v() ? "auto" : "none"
|
|
6249
6249
|
} : {
|
|
6250
6250
|
top: `${t.position - 7}px`,
|
|
6251
6251
|
left: "0",
|
|
6252
6252
|
height: "14px",
|
|
6253
6253
|
width: "100%",
|
|
6254
|
-
"pointer-events": !n() &&
|
|
6254
|
+
"pointer-events": !n() && v() ? "auto" : "none"
|
|
6255
6255
|
},
|
|
6256
6256
|
t: t.orientation === "vertical" ? {
|
|
6257
6257
|
left: "6px",
|
|
@@ -6278,10 +6278,10 @@ function dl(e) {
|
|
|
6278
6278
|
}
|
|
6279
6279
|
}), null), J(() => ({
|
|
6280
6280
|
e: `msr:absolute msr:inset-0 msr:select-none ${h() ? `msr:pointer-events-auto ${m() ? e.hoverGuide || e.model.state.draggingGuideId ? "msr:cursor-default" : "msr:cursor-crosshair" : "msr:cursor-default"} msr:opacity-100` : "msr:pointer-events-none msr:opacity-0"}`,
|
|
6281
|
-
t: { "pointer-events":
|
|
6281
|
+
t: { "pointer-events": _() ? "auto" : "none" }
|
|
6282
6282
|
}), ({ e, t }, n) => {
|
|
6283
|
-
e !== n?.e && $(
|
|
6284
|
-
}),
|
|
6283
|
+
e !== n?.e && $(V, "class", e, n?.e), t !== n?.t && $(V, "style", t, n?.t);
|
|
6284
|
+
}), V;
|
|
6285
6285
|
}
|
|
6286
6286
|
var fl = 18, pl = 5, ml = 32, hl = Array.from({ length: 801 }, (e, t) => t * pl);
|
|
6287
6287
|
function gl(e) {
|
|
@@ -8144,7 +8144,7 @@ function Hu(e) {
|
|
|
8144
8144
|
D = e.setTimeout(() => {
|
|
8145
8145
|
D = 0, t === A && M(Sl(j()), t);
|
|
8146
8146
|
}, 100);
|
|
8147
|
-
}, P = () => e.model.state.toolMode === "select", F = () => e.model.state.xrayVisible, I = () => e.model.state.colorPickerActive, L = () => e.model.state.rulersVisible, R = () => e.model.state.toolMode === "text-inspector" || (e.typographyContextActive ?? !1), z = () => e.model.state.toolMode === "guides", B = () => e.model.state.settingsOpen, V = () => (e.pluginTools ?? []).find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), H = () => V()?.active?.() ? "edit" : "select", U = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "select" && !e.modeSwitch), ee = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "edit" && !e.modeSwitch), te = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "always" || e.toolbarMode === void 0), ne = () => te().some((e) => e.active?.() ?? !1), W = () => P() || F() || I() || L() || R() || z(),
|
|
8147
|
+
}, P = () => e.model.state.toolMode === "select", F = () => e.model.state.xrayVisible, I = () => e.model.state.colorPickerActive, L = () => e.model.state.rulersVisible, R = () => e.model.state.toolMode === "text-inspector" || (e.typographyContextActive ?? !1), z = () => e.model.state.toolMode === "guides", B = () => e.model.state.settingsOpen, V = () => (e.pluginTools ?? []).find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), H = () => V()?.active?.() ? "edit" : "select", U = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "select" && !e.modeSwitch), ee = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "edit" && !e.modeSwitch), te = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "always" || e.toolbarMode === void 0), ne = () => te().some((e) => e.active?.() ?? !1), W = () => P() || F() || I() || L() || R() || z(), G = (e, t = !1) => t || !d() || e, re = () => te().length > 0 && (!d() || W() || ne()), ie = () => !d() || W() || ne() || B(), ae = () => !r() && !a() && !e.model.state.settingsOpen, oe = (t) => e.isBuiltinActionDisabled?.(t) ?? !1, se = () => e.ownerWindow.innerHeight || 0, ce = () => t().y < 56, K = () => se() > 0 && t().y > se() - 56, le = () => ce() && !K() ? "bottom" : "top", ue = () => {
|
|
8148
8148
|
t();
|
|
8149
8149
|
let e = v?.getBoundingClientRect();
|
|
8150
8150
|
if (!e) return K() ? "top" : "bottom";
|
|
@@ -8316,7 +8316,7 @@ function Hu(e) {
|
|
|
8316
8316
|
}
|
|
8317
8317
|
}), Ee = (t, n = !1) => Y(Ru, {
|
|
8318
8318
|
get visible() {
|
|
8319
|
-
return
|
|
8319
|
+
return G(t.active?.() ?? !1, n);
|
|
8320
8320
|
},
|
|
8321
8321
|
get children() {
|
|
8322
8322
|
return Y(q, {
|
|
@@ -8515,7 +8515,7 @@ function Hu(e) {
|
|
|
8515
8515
|
b = e;
|
|
8516
8516
|
}, je), Q(Me, Y(Ru, {
|
|
8517
8517
|
get visible() {
|
|
8518
|
-
return
|
|
8518
|
+
return G(P());
|
|
8519
8519
|
},
|
|
8520
8520
|
get children() {
|
|
8521
8521
|
return Y(Lu, ra({
|
|
@@ -8533,7 +8533,7 @@ function Hu(e) {
|
|
|
8533
8533
|
}
|
|
8534
8534
|
}), null), Q(Me, Y(Ru, {
|
|
8535
8535
|
get visible() {
|
|
8536
|
-
return
|
|
8536
|
+
return G(F());
|
|
8537
8537
|
},
|
|
8538
8538
|
get children() {
|
|
8539
8539
|
return Y(Lu, ra({
|
|
@@ -8556,7 +8556,7 @@ function Hu(e) {
|
|
|
8556
8556
|
get children() {
|
|
8557
8557
|
return Y(Ru, {
|
|
8558
8558
|
get visible() {
|
|
8559
|
-
return
|
|
8559
|
+
return G(I());
|
|
8560
8560
|
},
|
|
8561
8561
|
get children() {
|
|
8562
8562
|
return Y(Lu, ra({
|
|
@@ -8579,7 +8579,7 @@ function Hu(e) {
|
|
|
8579
8579
|
}
|
|
8580
8580
|
}), null), Q(Me, Y(Ru, {
|
|
8581
8581
|
get visible() {
|
|
8582
|
-
return
|
|
8582
|
+
return G(L());
|
|
8583
8583
|
},
|
|
8584
8584
|
get children() {
|
|
8585
8585
|
return Y(Lu, ra({
|
|
@@ -8597,7 +8597,7 @@ function Hu(e) {
|
|
|
8597
8597
|
}
|
|
8598
8598
|
}), null), Q(Me, Y(Ru, {
|
|
8599
8599
|
get visible() {
|
|
8600
|
-
return
|
|
8600
|
+
return G(R());
|
|
8601
8601
|
},
|
|
8602
8602
|
get children() {
|
|
8603
8603
|
return Y(Lu, ra({
|
|
@@ -8618,7 +8618,7 @@ function Hu(e) {
|
|
|
8618
8618
|
}
|
|
8619
8619
|
}), null), Q(Me, Y(Ru, {
|
|
8620
8620
|
get visible() {
|
|
8621
|
-
return
|
|
8621
|
+
return G(z());
|
|
8622
8622
|
},
|
|
8623
8623
|
get children() {
|
|
8624
8624
|
return [Y(Lu, ra({
|
|
@@ -8761,7 +8761,7 @@ function Hu(e) {
|
|
|
8761
8761
|
get children() {
|
|
8762
8762
|
return [Y(zu, {
|
|
8763
8763
|
get visible() {
|
|
8764
|
-
return
|
|
8764
|
+
return re();
|
|
8765
8765
|
},
|
|
8766
8766
|
marker: "plugins"
|
|
8767
8767
|
}), (() => {
|
|
@@ -8780,7 +8780,7 @@ function Hu(e) {
|
|
|
8780
8780
|
}
|
|
8781
8781
|
}), Fe), Q(Fe, Y(Ru, {
|
|
8782
8782
|
get visible() {
|
|
8783
|
-
return
|
|
8783
|
+
return G(B());
|
|
8784
8784
|
},
|
|
8785
8785
|
get children() {
|
|
8786
8786
|
var t = X("div", {
|
|
@@ -8846,7 +8846,7 @@ function Hu(e) {
|
|
|
8846
8846
|
}
|
|
8847
8847
|
})), Q(De, Y(zu, {
|
|
8848
8848
|
get visible() {
|
|
8849
|
-
return
|
|
8849
|
+
return ie();
|
|
8850
8850
|
},
|
|
8851
8851
|
marker: "compact"
|
|
8852
8852
|
}), Ie), Z(Ie, Le), Q(Le, Y(Kl, {
|
|
@@ -10129,13 +10129,13 @@ function op(e = {}, t = !1) {
|
|
|
10129
10129
|
}, W = (e) => {
|
|
10130
10130
|
ee(!1);
|
|
10131
10131
|
for (let t of e) t.sourceEl.isConnected && ne(t.sourceEl, t, !1, !1);
|
|
10132
|
-
},
|
|
10132
|
+
}, G = () => {
|
|
10133
10133
|
let e = D.pop();
|
|
10134
10134
|
return e ? (O.push(V()), W(e), !0) : !1;
|
|
10135
|
-
},
|
|
10135
|
+
}, re = () => {
|
|
10136
10136
|
let e = O.pop();
|
|
10137
10137
|
return e ? (D.push(V()), W(e), !0) : !1;
|
|
10138
|
-
},
|
|
10138
|
+
}, ie = () => {
|
|
10139
10139
|
E.length && (H(), ee(!0));
|
|
10140
10140
|
}, ae = () => {
|
|
10141
10141
|
for (let e of E.slice()) {
|
|
@@ -10235,9 +10235,9 @@ function op(e = {}, t = !1) {
|
|
|
10235
10235
|
return {
|
|
10236
10236
|
enable: he,
|
|
10237
10237
|
disable: ge,
|
|
10238
|
-
undo:
|
|
10239
|
-
redo:
|
|
10240
|
-
clear:
|
|
10238
|
+
undo: G,
|
|
10239
|
+
redo: re,
|
|
10240
|
+
clear: ie,
|
|
10241
10241
|
inspect: B,
|
|
10242
10242
|
isEnabled: () => m,
|
|
10243
10243
|
canUndo: () => D.length > 0,
|
|
@@ -10600,9 +10600,9 @@ function Tp(e) {
|
|
|
10600
10600
|
t.setActiveMeasurement(r);
|
|
10601
10601
|
} else e.shiftKey || (t.checkpoint(), t.setSelectedMeasurements([], null));
|
|
10602
10602
|
ee();
|
|
10603
|
-
},
|
|
10603
|
+
}, G = () => {
|
|
10604
10604
|
H(), t.current.draggingGuideId || ee(), t.setTransient({ guidePreview: null });
|
|
10605
|
-
},
|
|
10605
|
+
}, re = (e, n) => {
|
|
10606
10606
|
if (!(!t.current.enabled || n.button !== 0 || t.current.settingsOpen)) {
|
|
10607
10607
|
if (n.preventDefault(), n.stopPropagation(), t.checkpoint(), n.shiftKey) {
|
|
10608
10608
|
let n = t.current.selectedGuideIds.includes(e.id) ? t.current.selectedGuideIds.filter((t) => t !== e.id) : [...t.current.selectedGuideIds, e.id];
|
|
@@ -10611,7 +10611,7 @@ function Tp(e) {
|
|
|
10611
10611
|
}
|
|
10612
10612
|
t.setSelectedGuideIds([e.id]), t.setTransient({ draggingGuideId: e.id }), ms(n.currentTarget, n.pointerId);
|
|
10613
10613
|
}
|
|
10614
|
-
},
|
|
10614
|
+
}, ie = (e, n) => {
|
|
10615
10615
|
n.stopPropagation(), t.setTransient({ draggingGuideId: null }), n.currentTarget.hasPointerCapture?.(n.pointerId) && n.currentTarget.releasePointerCapture?.(n.pointerId);
|
|
10616
10616
|
}, ae = (e, n, r = null) => Nd({
|
|
10617
10617
|
orientation: e,
|
|
@@ -10924,9 +10924,9 @@ function Tp(e) {
|
|
|
10924
10924
|
onPointerDown: te,
|
|
10925
10925
|
onPointerMove: ne,
|
|
10926
10926
|
onPointerUp: W,
|
|
10927
|
-
onPointerLeave:
|
|
10928
|
-
onGuidePointerDown:
|
|
10929
|
-
onGuidePointerUp:
|
|
10927
|
+
onPointerLeave: G,
|
|
10928
|
+
onGuidePointerDown: re,
|
|
10929
|
+
onGuidePointerUp: ie
|
|
10930
10930
|
}), null), Q(n, Y(So, {
|
|
10931
10931
|
model: t,
|
|
10932
10932
|
ownerWindow: s,
|
|
@@ -11286,22 +11286,22 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
|
|
|
11286
11286
|
value: e.style.getPropertyValue("visibility"),
|
|
11287
11287
|
priority: e.style.getPropertyPriority("visibility")
|
|
11288
11288
|
}), e.style.setProperty("visibility", "hidden", "important")));
|
|
11289
|
-
},
|
|
11289
|
+
}, G = (e) => {
|
|
11290
11290
|
if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
|
|
11291
11291
|
let t = e.getRootNode();
|
|
11292
11292
|
return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
|
|
11293
|
-
},
|
|
11294
|
-
let n =
|
|
11293
|
+
}, re = (e, t) => {
|
|
11294
|
+
let n = G(e);
|
|
11295
11295
|
for (; n;) {
|
|
11296
11296
|
let e = t.get(n);
|
|
11297
11297
|
if (e) return e;
|
|
11298
|
-
n =
|
|
11298
|
+
n = G(n);
|
|
11299
11299
|
}
|
|
11300
11300
|
return {
|
|
11301
11301
|
x: 0,
|
|
11302
11302
|
y: 0
|
|
11303
11303
|
};
|
|
11304
|
-
},
|
|
11304
|
+
}, ie = (e = A()) => {
|
|
11305
11305
|
let t = /* @__PURE__ */ new Map();
|
|
11306
11306
|
for (let n of e) for (let e of n.targets) {
|
|
11307
11307
|
let n = F(e);
|
|
@@ -11312,14 +11312,14 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
|
|
|
11312
11312
|
x: e.desiredLocalOffsetX,
|
|
11313
11313
|
y: e.desiredLocalOffsetY
|
|
11314
11314
|
}, oe = (e, t) => {
|
|
11315
|
-
let n =
|
|
11315
|
+
let n = G(e);
|
|
11316
11316
|
for (; n;) {
|
|
11317
11317
|
if (t.has(n)) return n;
|
|
11318
|
-
n =
|
|
11318
|
+
n = G(n);
|
|
11319
11319
|
}
|
|
11320
11320
|
return null;
|
|
11321
11321
|
}, se = (e = A(), t = /* @__PURE__ */ new Map()) => {
|
|
11322
|
-
let n =
|
|
11322
|
+
let n = ie(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
|
|
11323
11323
|
let s = i.get(e);
|
|
11324
11324
|
if (s) return s;
|
|
11325
11325
|
let c = n.get(e), l = t.get(e) ?? (c ? ae(c) : null);
|
|
@@ -11367,7 +11367,7 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
|
|
|
11367
11367
|
}, K = (e) => {
|
|
11368
11368
|
let t = [...e].flatMap(([t, n]) => {
|
|
11369
11369
|
if (!t.isConnected || !M(t)) return [];
|
|
11370
|
-
let r =
|
|
11370
|
+
let r = re(t, e), i = {
|
|
11371
11371
|
x: n.x - r.x,
|
|
11372
11372
|
y: n.y - r.y
|
|
11373
11373
|
};
|
|
@@ -11418,13 +11418,13 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
|
|
|
11418
11418
|
he();
|
|
11419
11419
|
return;
|
|
11420
11420
|
}
|
|
11421
|
-
let t = A(), r =
|
|
11421
|
+
let t = A(), r = ie(t), i = se(t), a = /* @__PURE__ */ new Set();
|
|
11422
11422
|
for (let t of de()) {
|
|
11423
11423
|
let o = r.get(t);
|
|
11424
11424
|
if (!o) continue;
|
|
11425
11425
|
let s = i.get(t);
|
|
11426
11426
|
if (!s) continue;
|
|
11427
|
-
let c =
|
|
11427
|
+
let c = re(t, i), u = ae(o) ?? {
|
|
11428
11428
|
x: s.x - c.x,
|
|
11429
11429
|
y: s.y - c.y
|
|
11430
11430
|
};
|
|
@@ -11582,10 +11582,10 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
|
|
|
11582
11582
|
intentId: null,
|
|
11583
11583
|
state: "desired"
|
|
11584
11584
|
}, le();
|
|
11585
|
-
let u =
|
|
11585
|
+
let u = ie(A()), d = se(A()), p = new Set(r);
|
|
11586
11586
|
V();
|
|
11587
11587
|
let m = r.map((e, t) => {
|
|
11588
|
-
let n = Yu(e), r =
|
|
11588
|
+
let n = Yu(e), r = re(e, d), i = d.get(e) ?? r, a = u.get(e), o = (a ? ae(a) : null) ?? {
|
|
11589
11589
|
x: i.x - r.x,
|
|
11590
11590
|
y: i.y - r.y
|
|
11591
11591
|
}, s = im(n, i), c = gd(e);
|
|
@@ -12982,21 +12982,21 @@ function Yh(e, t) {
|
|
|
12982
12982
|
return;
|
|
12983
12983
|
}
|
|
12984
12984
|
U(e, "font-weight", Wh(t) >= 600 ? "400" : "700");
|
|
12985
|
-
},
|
|
12985
|
+
}, G = (e) => {
|
|
12986
12986
|
let t = B(e, "font-style"), n = R(e, "font-style");
|
|
12987
12987
|
if (n && n.desired !== "normal" && n.before === "normal") {
|
|
12988
12988
|
U(e, "font-style", n.before);
|
|
12989
12989
|
return;
|
|
12990
12990
|
}
|
|
12991
12991
|
U(e, "font-style", t === "normal" ? "italic" : "normal");
|
|
12992
|
-
},
|
|
12992
|
+
}, re = (e) => {
|
|
12993
12993
|
let t = B(e, "text-decoration-line"), n = R(e, "text-decoration-line");
|
|
12994
12994
|
if (n && n.desired.includes("underline") && !n.before.includes("underline")) {
|
|
12995
12995
|
U(e, "text-decoration-line", n.before);
|
|
12996
12996
|
return;
|
|
12997
12997
|
}
|
|
12998
12998
|
U(e, "text-decoration-line", t.includes("underline") ? "none" : "underline");
|
|
12999
|
-
},
|
|
12999
|
+
}, ie = (e, t, r, i, a) => {
|
|
13000
13000
|
let o = n.createElement("button");
|
|
13001
13001
|
return o.type = "button", o.textContent = t, o.title = r, o.setAttribute("aria-label", r), o.setAttribute("aria-pressed", i ? "true" : "false"), o.dataset.mesurerTextStyleButton = r.toLowerCase(), Object.assign(o.style, {
|
|
13002
13002
|
width: "32px",
|
|
@@ -13225,7 +13225,7 @@ function Yh(e, t) {
|
|
|
13225
13225
|
let t = e.toolbar;
|
|
13226
13226
|
t.replaceChildren();
|
|
13227
13227
|
let n = B(e, "font-weight"), r = B(e, "font-style"), i = B(e, "text-decoration-line");
|
|
13228
|
-
t.append(
|
|
13228
|
+
t.append(ie(e, "B", "Bold", Wh(n) >= 600, () => W(e)), ie(e, "I", "Italic", r === "italic" || r === "oblique", () => G(e)), ie(e, "U", "Underline", i.includes("underline"), () => re(e)), ue(e)), le(e);
|
|
13229
13229
|
}, fe = () => {
|
|
13230
13230
|
let e = m;
|
|
13231
13231
|
if (!e || !e.element.isConnected) return;
|
|
@@ -13504,7 +13504,7 @@ function Yh(e, t) {
|
|
|
13504
13504
|
if (e && (t.metaKey || t.ctrlKey) && !t.altKey && !t.shiftKey) {
|
|
13505
13505
|
let e = t.key.toLowerCase();
|
|
13506
13506
|
if (e === "b" || e === "i" || e === "u") {
|
|
13507
|
-
t.preventDefault(), t.stopImmediatePropagation(), e === "b" ? W(n) : e === "i" ?
|
|
13507
|
+
t.preventDefault(), t.stopImmediatePropagation(), e === "b" ? W(n) : e === "i" ? G(n) : re(n), n.editor.focus({ preventScroll: !0 });
|
|
13508
13508
|
return;
|
|
13509
13509
|
}
|
|
13510
13510
|
}
|
|
@@ -15794,7 +15794,7 @@ function rv(e) {
|
|
|
15794
15794
|
let n = ne();
|
|
15795
15795
|
n !== t && (t = n, e(n));
|
|
15796
15796
|
});
|
|
15797
|
-
},
|
|
15797
|
+
}, G = () => {
|
|
15798
15798
|
let e = z.createElement("div");
|
|
15799
15799
|
e.dataset.mesurerInspectorUi = "true";
|
|
15800
15800
|
let t = W((t) => {
|
|
@@ -15808,15 +15808,15 @@ function rv(e) {
|
|
|
15808
15808
|
n || (n = !0, t(), e.remove());
|
|
15809
15809
|
}
|
|
15810
15810
|
};
|
|
15811
|
-
},
|
|
15811
|
+
}, re = (e) => J_({
|
|
15812
15812
|
model: U(),
|
|
15813
15813
|
ownerDocument: z,
|
|
15814
15814
|
ownerWindow: B,
|
|
15815
15815
|
uiRoot: I,
|
|
15816
15816
|
pageTarget: V,
|
|
15817
15817
|
persistenceKey: e ? `${P.persistKey ?? X_}:${e}:${B.location.origin}` : void 0
|
|
15818
|
-
}),
|
|
15819
|
-
|
|
15818
|
+
}), ie = z.createElement("style");
|
|
15819
|
+
ie.dataset.mesurerPluginVisibility = "true", ie.dataset.mesurerInspectorUi = "true", ie.textContent = j(), I.append(ie);
|
|
15820
15820
|
let ae = P.persistKey ? `${P.persistKey}:plugins` : X_, oe = `${ae}:availability`, se = /* @__PURE__ */ new Map();
|
|
15821
15821
|
try {
|
|
15822
15822
|
let e = B.localStorage.getItem(oe);
|
|
@@ -15855,7 +15855,7 @@ function rv(e) {
|
|
|
15855
15855
|
}, de = () => ue();
|
|
15856
15856
|
B.addEventListener("pagehide", de);
|
|
15857
15857
|
let fe = N.subscribe((e) => {
|
|
15858
|
-
if (x((e) => e + 1),
|
|
15858
|
+
if (x((e) => e + 1), ie.textContent = j(), (e.reason === "state" || e.reason === "history" || e.reason === "remove" || e.reason === "replace") && le(), S() && !b && (e.reason === "load" || e.reason === "remove" || e.reason === "replace") && ce(), e.reason === "remove" && e.pluginId?.startsWith("mesurer.")) {
|
|
15859
15859
|
let t = e.pluginId.slice(8);
|
|
15860
15860
|
ev(t) && _?.deactivate(t);
|
|
15861
15861
|
}
|
|
@@ -15962,8 +15962,8 @@ function rv(e) {
|
|
|
15962
15962
|
currentToolbarMode: () => E() ? "edit" : "select",
|
|
15963
15963
|
theme: ne,
|
|
15964
15964
|
subscribeTheme: W,
|
|
15965
|
-
createWorkspaceRuntime:
|
|
15966
|
-
createInspectorMount:
|
|
15965
|
+
createWorkspaceRuntime: re,
|
|
15966
|
+
createInspectorMount: G
|
|
15967
15967
|
};
|
|
15968
15968
|
e.service.provide("runtime:solid", t), Mp(e), Um(e, t), H_(e, t);
|
|
15969
15969
|
for (let t of Y_) e.command.register(tv(t), () => Se(t));
|
|
@@ -15988,7 +15988,7 @@ function rv(e) {
|
|
|
15988
15988
|
} catch (e) {
|
|
15989
15989
|
P.onPluginError?.(e, "plugin-persistence");
|
|
15990
15990
|
}
|
|
15991
|
-
t && (C(!0),
|
|
15991
|
+
t && (C(!0), ie.textContent = j(), P.onPluginsReady?.(N));
|
|
15992
15992
|
}
|
|
15993
15993
|
})();
|
|
15994
15994
|
let Ce = (e) => {
|
|
@@ -16047,7 +16047,7 @@ function rv(e) {
|
|
|
16047
16047
|
return B.addEventListener("keydown", we, !0), () => {
|
|
16048
16048
|
t = !1;
|
|
16049
16049
|
for (let e of A) N.cancelLoad(e);
|
|
16050
|
-
A.clear(), ue(), B.removeEventListener("pagehide", de), B.removeEventListener("keydown", we, !0), fe(),
|
|
16050
|
+
A.clear(), ue(), B.removeEventListener("pagehide", de), B.removeEventListener("keydown", we, !0), fe(), ie.remove(), g = null, _ = null, v = () => void 0, y = async () => void 0, r && N.dispose();
|
|
16051
16051
|
};
|
|
16052
16052
|
}), Y(Nl, {
|
|
16053
16053
|
runtime: {
|
|
@@ -16258,12 +16258,12 @@ function _v(e) {
|
|
|
16258
16258
|
elements: [...t.elements],
|
|
16259
16259
|
region: t.region ? { ...t.region } : null
|
|
16260
16260
|
};
|
|
16261
|
-
}, W = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height,
|
|
16261
|
+
}, W = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height, G = () => {
|
|
16262
16262
|
A = null, v(""), g(!1), b(null), m(null);
|
|
16263
|
-
},
|
|
16263
|
+
}, re = () => {
|
|
16264
16264
|
let e = H();
|
|
16265
16265
|
return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
|
|
16266
|
-
},
|
|
16266
|
+
}, ie = () => {
|
|
16267
16267
|
let t = e.runtime.currentSelection().elements;
|
|
16268
16268
|
if (!t.length) return null;
|
|
16269
16269
|
let n = e.runtime.hoveredElement();
|
|
@@ -16280,7 +16280,7 @@ function _v(e) {
|
|
|
16280
16280
|
}, K = (t) => {
|
|
16281
16281
|
let n = e.runtime.annotation(t);
|
|
16282
16282
|
return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
|
|
16283
|
-
}, le = (e) => !!(fv(e) && U() && N &&
|
|
16283
|
+
}, le = (e) => !!(fv(e) && U() && N && re() && e.getRootNode() === N.getRootNode()), ue = (e) => {
|
|
16284
16284
|
let t = K(e), n = V.get(e);
|
|
16285
16285
|
if (!t) {
|
|
16286
16286
|
n && (ce(e), i((e) => e + 1));
|
|
@@ -16322,11 +16322,11 @@ function _v(e) {
|
|
|
16322
16322
|
for (let e of V.values()) e.anchorName || e.scroll.rebase();
|
|
16323
16323
|
});
|
|
16324
16324
|
};
|
|
16325
|
-
e.initialTriggerFallback && (O =
|
|
16325
|
+
e.initialTriggerFallback && (O = ie());
|
|
16326
16326
|
let me = () => {
|
|
16327
16327
|
R?.release(), R = null, L?.(), L = null, F = null, I = null;
|
|
16328
|
-
}, he = (e) => !!(fv(e) && U() && N && e !== O &&
|
|
16329
|
-
let e =
|
|
16328
|
+
}, he = (e) => !!(fv(e) && U() && N && e !== O && re() && e.getRootNode() === N.getRootNode()), ge = () => {
|
|
16329
|
+
let e = ie();
|
|
16330
16330
|
O && e !== O && (O = null);
|
|
16331
16331
|
let t = F, n = !!(e?.isConnected && he(e)), r = I === e;
|
|
16332
16332
|
if (e === F && e?.isConnected && n === r) {
|
|
@@ -16357,12 +16357,12 @@ function _v(e) {
|
|
|
16357
16357
|
function ye() {
|
|
16358
16358
|
i((e) => e + 1);
|
|
16359
16359
|
}
|
|
16360
|
-
let be =
|
|
16360
|
+
let be = ie();
|
|
16361
16361
|
_e(be);
|
|
16362
16362
|
let xe = e.runtime.subscribe(() => {
|
|
16363
16363
|
let t = e.runtime.selectGestureActive();
|
|
16364
|
-
h() && t ? (k = !0,
|
|
16365
|
-
let r =
|
|
16364
|
+
h() && t ? (k = !0, G()) : h() && A !== null && !W(A, ne()) && (O = ie(), k = !1, G());
|
|
16365
|
+
let r = ie(), i = r !== be;
|
|
16366
16366
|
i && (be = r, _e(be), k && (k = !1, O = r)), ge(), i && ye(), n((e) => e + 1), pe();
|
|
16367
16367
|
});
|
|
16368
16368
|
ge(), H().queueMicrotask(de), Kt(() => {
|
|
@@ -16634,7 +16634,7 @@ function _v(e) {
|
|
|
16634
16634
|
S(!1);
|
|
16635
16635
|
}
|
|
16636
16636
|
}
|
|
16637
|
-
}, Je =
|
|
16637
|
+
}, Je = G, Ye = () => {
|
|
16638
16638
|
if (!Oe()) return;
|
|
16639
16639
|
k = !1, A = ne(), v(""), b(null), w(null), o(null);
|
|
16640
16640
|
let e = je();
|
|
@@ -16648,7 +16648,7 @@ function _v(e) {
|
|
|
16648
16648
|
g(!0), H().queueMicrotask(() => R?.sync());
|
|
16649
16649
|
}, Xe = () => {
|
|
16650
16650
|
let e = h();
|
|
16651
|
-
A !== null && !W(A, ne()) ? (O =
|
|
16651
|
+
A !== null && !W(A, ne()) ? (O = ie(), k = !1, ge(), ye()) : e && (k = !1), Je();
|
|
16652
16652
|
}, Ze = () => {
|
|
16653
16653
|
h() && (k = !0, Je());
|
|
16654
16654
|
}, Qe = () => {
|
|
@@ -17769,65 +17769,81 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17769
17769
|
audio: !1,
|
|
17770
17770
|
video: r
|
|
17771
17771
|
});
|
|
17772
|
-
}, zy = async (e) => {
|
|
17773
|
-
let
|
|
17774
|
-
if (!
|
|
17775
|
-
if (Iy(e)) return Ly(e, t);
|
|
17772
|
+
}, zy = async (e, t) => {
|
|
17773
|
+
let n = e.getVideoTracks()[0];
|
|
17774
|
+
if (!n?.applyConstraints) return e;
|
|
17776
17775
|
try {
|
|
17777
|
-
|
|
17778
|
-
|
|
17776
|
+
await n.applyConstraints({ frameRate: {
|
|
17777
|
+
ideal: t,
|
|
17778
|
+
max: t
|
|
17779
|
+
} });
|
|
17779
17780
|
} catch {}
|
|
17780
|
-
|
|
17781
|
-
|
|
17781
|
+
return e;
|
|
17782
|
+
}, By = async (e, t) => {
|
|
17783
|
+
let n = e.navigator.mediaDevices;
|
|
17784
|
+
if (!n) throw Error("Screen recording is unavailable in this browser.");
|
|
17785
|
+
if (Iy(e)) return zy(await Ly(e, n), t);
|
|
17786
|
+
try {
|
|
17787
|
+
let r = await Ry(e, n);
|
|
17788
|
+
if (r) return zy(r, t);
|
|
17789
|
+
} catch {}
|
|
17790
|
+
if (!n.getDisplayMedia) throw Error("Screen recording is unavailable in this browser.");
|
|
17791
|
+
let r = {
|
|
17792
|
+
ideal: t,
|
|
17793
|
+
max: t
|
|
17794
|
+
}, i = {
|
|
17782
17795
|
audio: !1,
|
|
17783
|
-
video: {
|
|
17796
|
+
video: {
|
|
17797
|
+
displaySurface: "browser",
|
|
17798
|
+
frameRate: r
|
|
17799
|
+
},
|
|
17784
17800
|
preferCurrentTab: !0,
|
|
17785
17801
|
selfBrowserSurface: "include"
|
|
17786
17802
|
};
|
|
17787
17803
|
try {
|
|
17788
|
-
return await
|
|
17804
|
+
return zy(await n.getDisplayMedia(i), t);
|
|
17789
17805
|
} catch (e) {
|
|
17790
17806
|
if (e instanceof DOMException && e.name === "AbortError") throw e;
|
|
17791
|
-
return
|
|
17807
|
+
return zy(await n.getDisplayMedia({
|
|
17792
17808
|
audio: !1,
|
|
17793
|
-
video:
|
|
17794
|
-
});
|
|
17795
|
-
}
|
|
17796
|
-
},
|
|
17797
|
-
let
|
|
17798
|
-
if (!
|
|
17799
|
-
if (
|
|
17800
|
-
let
|
|
17801
|
-
|
|
17809
|
+
video: { frameRate: r }
|
|
17810
|
+
}), t);
|
|
17811
|
+
}
|
|
17812
|
+
}, Vy = async (e, t, n, r = 60) => {
|
|
17813
|
+
let i = await By(t, r), a = i.getVideoTracks()[0];
|
|
17814
|
+
if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("No video track was selected.");
|
|
17815
|
+
if (a.getSettings().displaySurface && a.getSettings().displaySurface !== "browser") throw i.getTracks().forEach((e) => e.stop()), Error("Select the current browser tab to record this region.");
|
|
17816
|
+
let o = e.createElement("video");
|
|
17817
|
+
o.autoplay = !0, o.muted = !0, o.playsInline = !0, o.srcObject = i, o.setAttribute("playsinline", ""), o.setAttribute("aria-hidden", "true"), o.style.cssText = Cy, e.body.append(o);
|
|
17802
17818
|
try {
|
|
17803
|
-
await
|
|
17804
|
-
|
|
17819
|
+
await o.play(), (o.videoWidth <= 0 || o.videoHeight <= 0) && await new Promise((e, t) => {
|
|
17820
|
+
o.addEventListener("loadeddata", () => e(), { once: !0 }), o.addEventListener("error", () => t(/* @__PURE__ */ Error("Could not read the selected video track.")), { once: !0 });
|
|
17805
17821
|
});
|
|
17806
|
-
let
|
|
17822
|
+
let r = Dy(e, n), s = !1;
|
|
17807
17823
|
try {
|
|
17808
|
-
s = await Oy(
|
|
17824
|
+
s = await Oy(a, r);
|
|
17809
17825
|
} catch {
|
|
17810
17826
|
s = !1;
|
|
17811
17827
|
}
|
|
17812
|
-
s ||
|
|
17813
|
-
let c = t.devicePixelRatio || 1, l = Ey(n,
|
|
17828
|
+
s || r.remove(), await ky(o, t);
|
|
17829
|
+
let c = t.devicePixelRatio || 1, l = Ey(n, o.videoWidth, o.videoHeight, Ty(t)), u = e.createElement("canvas");
|
|
17814
17830
|
u.width = s ? Math.max(2, Math.round(n.width * c)) : l.sw, u.height = s ? Math.max(2, Math.round(n.height * c)) : l.sh, u.setAttribute("aria-hidden", "true"), u.style.cssText = Cy, e.body.append(u);
|
|
17815
17831
|
let d = u.getContext("2d", { alpha: !1 });
|
|
17816
17832
|
if (!d) throw u.remove(), Error("Screen recording requires a 2D canvas.");
|
|
17817
17833
|
let f = {
|
|
17818
|
-
stream:
|
|
17819
|
-
track:
|
|
17820
|
-
source:
|
|
17834
|
+
stream: i,
|
|
17835
|
+
track: a,
|
|
17836
|
+
source: o,
|
|
17821
17837
|
canvas: u,
|
|
17822
17838
|
context: d,
|
|
17823
|
-
cropTarget: s ?
|
|
17839
|
+
cropTarget: s ? r : null,
|
|
17824
17840
|
regionLocked: s
|
|
17825
17841
|
};
|
|
17826
|
-
return
|
|
17842
|
+
return Hy(f, n, Ty(t)), f;
|
|
17827
17843
|
} catch (e) {
|
|
17828
|
-
throw
|
|
17844
|
+
throw o.pause(), o.srcObject = null, o.remove(), i.getTracks().forEach((e) => e.stop()), e;
|
|
17829
17845
|
}
|
|
17830
|
-
},
|
|
17846
|
+
}, Hy = (e, t, n) => {
|
|
17831
17847
|
let { source: r, canvas: i, context: a, regionLocked: o } = e;
|
|
17832
17848
|
if (r.videoWidth <= 0 || r.videoHeight <= 0) return;
|
|
17833
17849
|
if (o) {
|
|
@@ -17836,19 +17852,19 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17836
17852
|
}
|
|
17837
17853
|
let s = Ey(t, r.videoWidth, r.videoHeight, n), c = s.dx <= .001 && s.dy <= .001 && s.dw >= .999 && s.dh >= .999, l = c ? 0 : s.dx * i.width, u = c ? 0 : s.dy * i.height, d = c ? i.width : s.dw * i.width, f = c ? i.height : s.dh * i.height;
|
|
17838
17854
|
c || (a.fillStyle = "#000", a.fillRect(0, 0, i.width, i.height)), !(d < 1 || f < 1 || s.dw <= 0 || s.dh <= 0) && a.drawImage(r, s.sx, s.sy, s.sw, s.sh, l, u, d, f);
|
|
17839
|
-
},
|
|
17855
|
+
}, Uy = (e) => {
|
|
17840
17856
|
e.source.pause(), e.source.srcObject = null, e.stream.getTracks().forEach((e) => e.stop()), e.cropTarget?.remove(), e.canvas.remove(), e.source.remove();
|
|
17841
|
-
},
|
|
17857
|
+
}, Wy = {
|
|
17842
17858
|
webm: "video/webm",
|
|
17843
17859
|
mp4: "video/mp4"
|
|
17844
|
-
},
|
|
17845
|
-
let r = Math.max(2, Math.round(
|
|
17860
|
+
}, Gy = ["vp9", "vp8"], Ky = ["avc"], qy = (e) => new c(e), Jy = (e, t) => Number.isFinite(e) && e > 0 ? e : t, Yy = (e, t, n) => {
|
|
17861
|
+
let r = Math.max(2, Math.round(Jy(e, 2))), i = Math.max(2, Math.round(Jy(t, 2)));
|
|
17846
17862
|
return n === "mp4" && (r % 2 != 0 && (r += 1), i % 2 != 0 && (i += 1)), {
|
|
17847
17863
|
width: r,
|
|
17848
17864
|
height: i
|
|
17849
17865
|
};
|
|
17850
|
-
},
|
|
17851
|
-
let n = Math.max(.001,
|
|
17866
|
+
}, Xy = (e, t = {}) => {
|
|
17867
|
+
let n = Math.max(.001, Jy(e.duration, .001)), r = Math.min(n, Math.max(0, Number.isFinite(t.startTime) ? t.startTime ?? 0 : 0)), i = Number.isFinite(t.endTime) ? t.endTime ?? n : n, a = Math.min(n, Math.max(r + .001, i));
|
|
17852
17868
|
return {
|
|
17853
17869
|
format: t.format ?? "webm",
|
|
17854
17870
|
startTime: r,
|
|
@@ -17856,33 +17872,33 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17856
17872
|
scale: t.scale ?? 1,
|
|
17857
17873
|
quality: t.quality ?? "medium"
|
|
17858
17874
|
};
|
|
17859
|
-
},
|
|
17860
|
-
let a =
|
|
17861
|
-
for (let t of
|
|
17875
|
+
}, Zy = (e) => e === "webm" ? Gy : Ky, Qy = async (e, t, n, r, i = "medium") => {
|
|
17876
|
+
let a = Yy(t, n, e), o = qy(i);
|
|
17877
|
+
for (let t of Zy(e)) if (await u(t, {
|
|
17862
17878
|
width: a.width,
|
|
17863
17879
|
height: a.height,
|
|
17864
17880
|
frameRate: r,
|
|
17865
17881
|
quality: o
|
|
17866
17882
|
})) return t;
|
|
17867
17883
|
return null;
|
|
17868
|
-
},
|
|
17884
|
+
}, $y = async (e, t, n = 30) => {
|
|
17869
17885
|
let r = [];
|
|
17870
|
-
return await
|
|
17871
|
-
},
|
|
17872
|
-
let i = t.format ?? "webm", a = Math.max(1, Math.min(120, Math.round(t.frameRate ?? 30))), o = t.quality ?? "medium", c = e.width, l = e.height, u = await
|
|
17886
|
+
return await Qy("webm", e, t, n) && r.push("webm"), await Qy("mp4", e, t, n) && r.push("mp4"), r;
|
|
17887
|
+
}, eb = (e) => e === "webm" ? new l() : new o(), tb = async (e, t = {}) => {
|
|
17888
|
+
let i = t.format ?? "webm", a = Math.max(1, Math.min(120, Math.round(t.frameRate ?? 30))), o = t.quality ?? "medium", c = e.width, l = e.height, u = await Qy(i, c, l, a, o);
|
|
17873
17889
|
if (!u) throw Error(`MediaBunny cannot encode ${i.toUpperCase()} at ${c}×${l} in this runtime.`);
|
|
17874
17890
|
let d = new n(), f = new s({
|
|
17875
|
-
format:
|
|
17891
|
+
format: eb(i),
|
|
17876
17892
|
target: d
|
|
17877
17893
|
}), p = new r(e, {
|
|
17878
17894
|
codec: u,
|
|
17879
|
-
quality:
|
|
17895
|
+
quality: qy(o)
|
|
17880
17896
|
});
|
|
17881
17897
|
f.addVideoTrack(p, { frameRate: a }), await f.start();
|
|
17882
17898
|
let m = !1, h = -1;
|
|
17883
17899
|
return {
|
|
17884
17900
|
format: i,
|
|
17885
|
-
mimeType:
|
|
17901
|
+
mimeType: Wy[i],
|
|
17886
17902
|
codec: u,
|
|
17887
17903
|
async addFrame(e, t = 1 / a) {
|
|
17888
17904
|
if (m) throw Error("Recording session is already closed.");
|
|
@@ -17894,7 +17910,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17894
17910
|
finalize: async () => {
|
|
17895
17911
|
if (m) throw Error("Recording session is already closed.");
|
|
17896
17912
|
if (m = !0, p.close(), await f.finalize(), !d.buffer || d.buffer.byteLength === 0) throw Error("MediaBunny produced an empty recording.");
|
|
17897
|
-
return new Blob([d.buffer], { type:
|
|
17913
|
+
return new Blob([d.buffer], { type: Wy[i] });
|
|
17898
17914
|
},
|
|
17899
17915
|
async cancel() {
|
|
17900
17916
|
if (!m) {
|
|
@@ -17905,7 +17921,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17905
17921
|
}
|
|
17906
17922
|
}
|
|
17907
17923
|
};
|
|
17908
|
-
},
|
|
17924
|
+
}, nb = async (n) => {
|
|
17909
17925
|
let r = new a({
|
|
17910
17926
|
source: new t(n),
|
|
17911
17927
|
formats: e
|
|
@@ -17927,14 +17943,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17927
17943
|
} finally {
|
|
17928
17944
|
r.dispose();
|
|
17929
17945
|
}
|
|
17930
|
-
},
|
|
17931
|
-
let c = await
|
|
17946
|
+
}, rb = async (r, o = {}) => {
|
|
17947
|
+
let c = await nb(r), l = Xy(c, o), u = Yy(c.width * l.scale, c.height * l.scale, l.format), d = await Qy(l.format, u.width, u.height, 30, l.quality);
|
|
17932
17948
|
if (!d) throw Error(`MediaBunny cannot export ${l.format.toUpperCase()} in this runtime.`);
|
|
17933
17949
|
let f = new a({
|
|
17934
17950
|
source: new t(r),
|
|
17935
17951
|
formats: e
|
|
17936
17952
|
}), p = new n(), m = new s({
|
|
17937
|
-
format:
|
|
17953
|
+
format: eb(l.format),
|
|
17938
17954
|
target: p
|
|
17939
17955
|
});
|
|
17940
17956
|
try {
|
|
@@ -17950,14 +17966,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17950
17966
|
width: u.width,
|
|
17951
17967
|
height: u.height,
|
|
17952
17968
|
fit: "fill",
|
|
17953
|
-
quality:
|
|
17969
|
+
quality: qy(l.quality),
|
|
17954
17970
|
forceTranscode: !0
|
|
17955
17971
|
},
|
|
17956
17972
|
audio: { discard: !0 }
|
|
17957
17973
|
});
|
|
17958
17974
|
if (!e.isValid) throw Error(`MediaBunny cannot convert this recording to ${l.format.toUpperCase()}.`);
|
|
17959
17975
|
if (await e.execute(), !p.buffer || p.buffer.byteLength === 0) throw Error("MediaBunny produced an empty export.");
|
|
17960
|
-
let t = new Blob([p.buffer], { type:
|
|
17976
|
+
let t = new Blob([p.buffer], { type: Wy[l.format] }), n = await nb(t);
|
|
17961
17977
|
return {
|
|
17962
17978
|
blob: t,
|
|
17963
17979
|
format: l.format,
|
|
@@ -17968,14 +17984,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17968
17984
|
} finally {
|
|
17969
17985
|
f.dispose();
|
|
17970
17986
|
}
|
|
17971
|
-
},
|
|
17987
|
+
}, ib = (e, t = /* @__PURE__ */ new Date()) => `mesurer-recording-${t.toISOString().replace(/[:.]/g, "-")}.${e}`, ab = 352, ob = 576, sb = 8, cb = 8, lb = .05, ub = (e, t) => {
|
|
17972
17988
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
17973
|
-
},
|
|
17989
|
+
}, db = (e) => {
|
|
17974
17990
|
let t = Number.isFinite(e) ? Math.max(0, e) : 0, n = Math.floor(t / 60);
|
|
17975
17991
|
return `${n}:${(t - n * 60).toFixed(2).padStart(5, "0")}`;
|
|
17976
|
-
},
|
|
17992
|
+
}, fb = (e, t, n) => {
|
|
17977
17993
|
let r = e.createElement("button");
|
|
17978
|
-
return r.type = "button", r.setAttribute("aria-label", t), r.title = t, r.textContent = n,
|
|
17994
|
+
return r.type = "button", r.setAttribute("aria-label", t), r.title = t, r.textContent = n, ub(r, {
|
|
17979
17995
|
display: "inline-flex",
|
|
17980
17996
|
width: "20px",
|
|
17981
17997
|
height: "20px",
|
|
@@ -17991,9 +18007,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
17991
18007
|
"line-height": "1",
|
|
17992
18008
|
cursor: "pointer"
|
|
17993
18009
|
}), r;
|
|
17994
|
-
},
|
|
18010
|
+
}, pb = (e, t) => {
|
|
17995
18011
|
let n = e.createElement("button");
|
|
17996
|
-
n.type = "button", n.setAttribute("role", "menuitemradio"),
|
|
18012
|
+
n.type = "button", n.setAttribute("role", "menuitemradio"), ub(n, {
|
|
17997
18013
|
display: "grid",
|
|
17998
18014
|
width: "100%",
|
|
17999
18015
|
height: "28px",
|
|
@@ -18018,15 +18034,15 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18018
18034
|
check: r,
|
|
18019
18035
|
text: i
|
|
18020
18036
|
};
|
|
18021
|
-
},
|
|
18037
|
+
}, mb = (e, t, n, r) => {
|
|
18022
18038
|
let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
|
|
18023
18039
|
a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
|
|
18024
|
-
},
|
|
18040
|
+
}, hb = ({ ownerDocument: e, ownerWindow: t, root: n, formats: r, onDiscard: i, onExport: a }) => {
|
|
18025
18041
|
let o = e.createElement("section");
|
|
18026
|
-
o.dataset.mesurerRecordingPreview = "true", o.dataset.mesurerInspectorUi = "true", o.setAttribute("role", "dialog"), o.setAttribute("aria-label", "Screen recording editor"), o.tabIndex = 0,
|
|
18042
|
+
o.dataset.mesurerRecordingPreview = "true", o.dataset.mesurerInspectorUi = "true", o.setAttribute("role", "dialog"), o.setAttribute("aria-label", "Screen recording editor"), o.tabIndex = 0, ub(o, {
|
|
18027
18043
|
position: "fixed",
|
|
18028
18044
|
display: "none",
|
|
18029
|
-
width: `${
|
|
18045
|
+
width: `${ab}px`,
|
|
18030
18046
|
"max-width": "calc(100vw - 16px)",
|
|
18031
18047
|
padding: "8px",
|
|
18032
18048
|
"z-index": "98",
|
|
@@ -18044,7 +18060,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18044
18060
|
transition: "width 200ms ease, left 200ms ease"
|
|
18045
18061
|
}), n.append(o);
|
|
18046
18062
|
let s = e.createElement("div");
|
|
18047
|
-
|
|
18063
|
+
ub(s, {
|
|
18048
18064
|
position: "relative",
|
|
18049
18065
|
display: "flex",
|
|
18050
18066
|
width: "100%",
|
|
@@ -18059,7 +18075,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18059
18075
|
cursor: "default"
|
|
18060
18076
|
}), o.append(s);
|
|
18061
18077
|
let c = e.createElement("video");
|
|
18062
|
-
c.muted = !0, c.playsInline = !0, c.preload = "auto",
|
|
18078
|
+
c.muted = !0, c.playsInline = !0, c.preload = "auto", ub(c, {
|
|
18063
18079
|
display: "block",
|
|
18064
18080
|
width: "100%",
|
|
18065
18081
|
height: "100%",
|
|
@@ -18069,7 +18085,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18069
18085
|
transition: "max-height 200ms ease"
|
|
18070
18086
|
}), s.append(c);
|
|
18071
18087
|
let l = e.createElement("div");
|
|
18072
|
-
l.dataset.mesurerRecordingExporting = "true", l.textContent = "Exporting…",
|
|
18088
|
+
l.dataset.mesurerRecordingExporting = "true", l.textContent = "Exporting…", ub(l, {
|
|
18073
18089
|
position: "absolute",
|
|
18074
18090
|
inset: "0",
|
|
18075
18091
|
display: "none",
|
|
@@ -18081,8 +18097,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18081
18097
|
"font-size": "11px",
|
|
18082
18098
|
"pointer-events": "none"
|
|
18083
18099
|
}), s.append(l);
|
|
18084
|
-
let u =
|
|
18085
|
-
u.dataset.mesurerRecordingDiscard = "true",
|
|
18100
|
+
let u = fb(e, "Close", "×");
|
|
18101
|
+
u.dataset.mesurerRecordingDiscard = "true", ub(u, {
|
|
18086
18102
|
position: "absolute",
|
|
18087
18103
|
top: "6px",
|
|
18088
18104
|
right: "6px",
|
|
@@ -18104,17 +18120,17 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18104
18120
|
u.style.opacity = "0", u.style.pointerEvents = "none";
|
|
18105
18121
|
});
|
|
18106
18122
|
let d = e.createElement("div");
|
|
18107
|
-
|
|
18123
|
+
ub(d, {
|
|
18108
18124
|
display: "flex",
|
|
18109
18125
|
height: "20px",
|
|
18110
18126
|
"align-items": "center",
|
|
18111
18127
|
gap: "6px",
|
|
18112
18128
|
"margin-top": "8px"
|
|
18113
18129
|
}), o.append(d);
|
|
18114
|
-
let f =
|
|
18130
|
+
let f = fb(e, "Play", "▶");
|
|
18115
18131
|
f.dataset.mesurerRecordingPlay = "true", d.append(f);
|
|
18116
18132
|
let p = e.createElement("span");
|
|
18117
|
-
p.textContent = "0:00.00",
|
|
18133
|
+
p.textContent = "0:00.00", ub(p, {
|
|
18118
18134
|
display: "flex",
|
|
18119
18135
|
width: "32px",
|
|
18120
18136
|
height: "20px",
|
|
@@ -18126,7 +18142,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18126
18142
|
"font-variant-numeric": "tabular-nums"
|
|
18127
18143
|
}), d.append(p);
|
|
18128
18144
|
let m = e.createElement("div");
|
|
18129
|
-
m.dataset.mesurerRecordingTimeline = "true",
|
|
18145
|
+
m.dataset.mesurerRecordingTimeline = "true", ub(m, {
|
|
18130
18146
|
position: "relative",
|
|
18131
18147
|
height: "20px",
|
|
18132
18148
|
"min-width": "0",
|
|
@@ -18135,7 +18151,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18135
18151
|
"user-select": "none"
|
|
18136
18152
|
}), d.append(m);
|
|
18137
18153
|
let h = e.createElement("div");
|
|
18138
|
-
h.dataset.mesurerRecordingTimelineRail = "true",
|
|
18154
|
+
h.dataset.mesurerRecordingTimelineRail = "true", ub(h, {
|
|
18139
18155
|
position: "absolute",
|
|
18140
18156
|
left: "0",
|
|
18141
18157
|
right: "0",
|
|
@@ -18147,7 +18163,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18147
18163
|
"pointer-events": "none"
|
|
18148
18164
|
}), m.append(h);
|
|
18149
18165
|
let g = e.createElement("div");
|
|
18150
|
-
g.dataset.mesurerRecordingTimelineClip = "true",
|
|
18166
|
+
g.dataset.mesurerRecordingTimelineClip = "true", ub(g, {
|
|
18151
18167
|
position: "absolute",
|
|
18152
18168
|
top: "50%",
|
|
18153
18169
|
height: "3px",
|
|
@@ -18157,7 +18173,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18157
18173
|
"pointer-events": "none"
|
|
18158
18174
|
}), m.append(g);
|
|
18159
18175
|
let _ = e.createElement("div");
|
|
18160
|
-
|
|
18176
|
+
ub(_, {
|
|
18161
18177
|
position: "absolute",
|
|
18162
18178
|
display: "none",
|
|
18163
18179
|
top: "50%",
|
|
@@ -18170,7 +18186,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18170
18186
|
"pointer-events": "none"
|
|
18171
18187
|
}), m.append(_);
|
|
18172
18188
|
let v = e.createElement("div");
|
|
18173
|
-
v.dataset.mesurerRecordingPlayhead = "true",
|
|
18189
|
+
v.dataset.mesurerRecordingPlayhead = "true", ub(v, {
|
|
18174
18190
|
position: "absolute",
|
|
18175
18191
|
top: "50%",
|
|
18176
18192
|
left: "0",
|
|
@@ -18185,7 +18201,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18185
18201
|
}), m.append(v);
|
|
18186
18202
|
let y = (t, n) => {
|
|
18187
18203
|
let r = e.createElement("button");
|
|
18188
|
-
return r.type = "button", r.dataset.mesurerRecordingTrimHandle = t, r.setAttribute("role", "slider"), r.setAttribute("aria-label", n), r.setAttribute("aria-valuemin", "0"),
|
|
18204
|
+
return r.type = "button", r.dataset.mesurerRecordingTrimHandle = t, r.setAttribute("role", "slider"), r.setAttribute("aria-label", n), r.setAttribute("aria-valuemin", "0"), ub(r, {
|
|
18189
18205
|
position: "absolute",
|
|
18190
18206
|
top: "50%",
|
|
18191
18207
|
width: "8px",
|
|
@@ -18199,7 +18215,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18199
18215
|
cursor: "ew-resize"
|
|
18200
18216
|
}), m.append(r), r;
|
|
18201
18217
|
}, b = y("start", "Trim start"), x = y("end", "Trim end"), S = e.createElement("span");
|
|
18202
|
-
|
|
18218
|
+
ub(S, {
|
|
18203
18219
|
display: "flex",
|
|
18204
18220
|
width: "32px",
|
|
18205
18221
|
height: "20px",
|
|
@@ -18212,20 +18228,20 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18212
18228
|
"font-variant-numeric": "tabular-nums"
|
|
18213
18229
|
}), d.append(S);
|
|
18214
18230
|
let C = e.createElement("div");
|
|
18215
|
-
|
|
18231
|
+
ub(C, {
|
|
18216
18232
|
position: "relative",
|
|
18217
18233
|
display: "flex",
|
|
18218
18234
|
height: "20px",
|
|
18219
18235
|
"align-items": "center"
|
|
18220
18236
|
}), d.append(C);
|
|
18221
|
-
let w =
|
|
18222
|
-
w.dataset.mesurerRecordingExportOptions = "true", w.setAttribute("aria-haspopup", "menu"), w.setAttribute("aria-expanded", "false"),
|
|
18237
|
+
let w = fb(e, "Export options", "1×");
|
|
18238
|
+
w.dataset.mesurerRecordingExportOptions = "true", w.setAttribute("aria-haspopup", "menu"), w.setAttribute("aria-expanded", "false"), ub(w, {
|
|
18223
18239
|
width: "28px",
|
|
18224
18240
|
"font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
18225
18241
|
"font-size": "10px"
|
|
18226
18242
|
}), C.append(w);
|
|
18227
18243
|
let T = e.createElement("div");
|
|
18228
|
-
T.dataset.mesurerRecordingExportMenu = "true", T.setAttribute("role", "menu"),
|
|
18244
|
+
T.dataset.mesurerRecordingExportMenu = "true", T.setAttribute("role", "menu"), ub(T, {
|
|
18229
18245
|
position: "absolute",
|
|
18230
18246
|
display: "none",
|
|
18231
18247
|
right: "0",
|
|
@@ -18241,7 +18257,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18241
18257
|
"pointer-events": "auto"
|
|
18242
18258
|
}), C.append(T);
|
|
18243
18259
|
let E = e.createElement("p");
|
|
18244
|
-
E.textContent = "Format",
|
|
18260
|
+
E.textContent = "Format", ub(E, {
|
|
18245
18261
|
margin: "0",
|
|
18246
18262
|
padding: "4px 8px",
|
|
18247
18263
|
color: "var(--msr-color-ink-500, #64748b)",
|
|
@@ -18251,7 +18267,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18251
18267
|
let D = e.createElement("div");
|
|
18252
18268
|
T.append(D);
|
|
18253
18269
|
let O = e.createElement("p");
|
|
18254
|
-
O.textContent = "Size",
|
|
18270
|
+
O.textContent = "Size", ub(O, {
|
|
18255
18271
|
margin: "0",
|
|
18256
18272
|
padding: "6px 8px 4px",
|
|
18257
18273
|
color: "var(--msr-color-ink-500, #64748b)",
|
|
@@ -18265,17 +18281,17 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18265
18281
|
2,
|
|
18266
18282
|
3
|
|
18267
18283
|
].map((t) => {
|
|
18268
|
-
let n =
|
|
18284
|
+
let n = pb(e, `${t}×`);
|
|
18269
18285
|
return n.button.dataset.mesurerRecordingScale = String(t), k.append(n.button), {
|
|
18270
18286
|
scale: t,
|
|
18271
18287
|
...n
|
|
18272
18288
|
};
|
|
18273
|
-
}), j =
|
|
18289
|
+
}), j = fb(e, "Download", "↓");
|
|
18274
18290
|
j.dataset.mesurerRecordingExport = "true", d.append(j);
|
|
18275
|
-
let M =
|
|
18291
|
+
let M = fb(e, "Grow preview", "↗");
|
|
18276
18292
|
M.dataset.mesurerRecordingExpand = "true", d.append(M);
|
|
18277
18293
|
let N = e.createElement("p");
|
|
18278
|
-
N.dataset.mesurerRecordingPreviewStatus = "true", N.setAttribute("role", "status"),
|
|
18294
|
+
N.dataset.mesurerRecordingPreviewStatus = "true", N.setAttribute("role", "status"), ub(N, {
|
|
18279
18295
|
display: "none",
|
|
18280
18296
|
margin: "8px 0 0",
|
|
18281
18297
|
color: "var(--msr-color-ink-500, #64748b)",
|
|
@@ -18288,20 +18304,20 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18288
18304
|
}, W = () => ({
|
|
18289
18305
|
start: H,
|
|
18290
18306
|
end: U
|
|
18291
|
-
}),
|
|
18307
|
+
}), G = (e) => {
|
|
18292
18308
|
let t = P?.duration ?? 0, n = m.getBoundingClientRect();
|
|
18293
18309
|
return t <= 0 || n.width <= 0 ? 0 : Math.min(t, Math.max(0, (e - n.left) / n.width * t));
|
|
18294
|
-
},
|
|
18310
|
+
}, re = () => {
|
|
18295
18311
|
let e = P?.duration ?? 0, t = Math.min(e, Math.max(0, c.currentTime || 0)), n = ne(H) * 100, r = ne(U) * 100;
|
|
18296
|
-
b.style.left = `${n}%`, x.style.left = `${r}%`, g.style.left = `${n}%`, g.style.width = `${Math.max(0, r - n)}%`, v.style.left = `${ne(t) * 100}%`, b.setAttribute("aria-valuemax", String(Math.max(0, U -
|
|
18297
|
-
},
|
|
18312
|
+
b.style.left = `${n}%`, x.style.left = `${r}%`, g.style.left = `${n}%`, g.style.width = `${Math.max(0, r - n)}%`, v.style.left = `${ne(t) * 100}%`, b.setAttribute("aria-valuemax", String(Math.max(0, U - lb))), b.setAttribute("aria-valuenow", String(H)), b.setAttribute("aria-valuetext", db(H)), x.setAttribute("aria-valuemin", String(Math.min(e, H + lb))), x.setAttribute("aria-valuemax", String(e)), x.setAttribute("aria-valuenow", String(U)), x.setAttribute("aria-valuetext", db(U)), p.textContent = db(t), S.textContent = db(e);
|
|
18313
|
+
}, ie = (e, t = !0) => {
|
|
18298
18314
|
if (!P) return;
|
|
18299
18315
|
let n = Math.min(U, Math.max(H, e));
|
|
18300
|
-
t && !c.paused && c.pause(), c.currentTime = n,
|
|
18316
|
+
t && !c.paused && c.pause(), c.currentTime = n, re();
|
|
18301
18317
|
}, ae = (e, t = !1) => {
|
|
18302
|
-
P && (H = Math.min(Math.max(0, e), Math.max(0, U -
|
|
18318
|
+
P && (H = Math.min(Math.max(0, e), Math.max(0, U - lb)), (t || c.currentTime < H) && ie(H), re());
|
|
18303
18319
|
}, oe = (e, t = !1) => {
|
|
18304
|
-
P && (U = Math.max(Math.min(P.duration, e), Math.min(P.duration, H +
|
|
18320
|
+
P && (U = Math.max(Math.min(P.duration, e), Math.min(P.duration, H + lb)), t ? ie(U) : c.currentTime > U && ie(H), re());
|
|
18305
18321
|
}, se = () => {
|
|
18306
18322
|
w.textContent = `${V}×`;
|
|
18307
18323
|
for (let e of A) {
|
|
@@ -18311,14 +18327,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18311
18327
|
}, ce = () => {
|
|
18312
18328
|
D.replaceChildren();
|
|
18313
18329
|
for (let t of z) {
|
|
18314
|
-
let n =
|
|
18330
|
+
let n = pb(e, t === "mp4" ? "MP4" : "WebM"), r = t === B;
|
|
18315
18331
|
n.button.dataset.mesurerRecordingFormat = t, n.button.setAttribute("aria-checked", r ? "true" : "false"), n.check.style.opacity = r ? "1" : "0", n.button.addEventListener("click", () => {
|
|
18316
18332
|
B = t, ce();
|
|
18317
18333
|
}), D.append(n.button);
|
|
18318
18334
|
}
|
|
18319
18335
|
}, K = () => {
|
|
18320
18336
|
if (T.style.display === "none") return;
|
|
18321
|
-
let e = C.getBoundingClientRect(), n = Math.max(1, T.offsetHeight), r = e.top -
|
|
18337
|
+
let e = C.getBoundingClientRect(), n = Math.max(1, T.offsetHeight), r = e.top - sb, i = t.innerHeight - e.bottom - sb;
|
|
18322
18338
|
r >= n || r >= i ? (T.style.top = "auto", T.style.bottom = "24px") : (T.style.top = "24px", T.style.bottom = "auto");
|
|
18323
18339
|
}, le = (e) => {
|
|
18324
18340
|
T.style.display = e ? "block" : "none", w.setAttribute("aria-expanded", e ? "true" : "false"), e && K();
|
|
@@ -18336,8 +18352,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18336
18352
|
]) t.toggleAttribute("disabled", e);
|
|
18337
18353
|
}, de = () => {
|
|
18338
18354
|
if (o.style.display === "none") return;
|
|
18339
|
-
let r = Math.min(I ?
|
|
18340
|
-
d + i > t.innerHeight -
|
|
18355
|
+
let r = Math.min(I ? ob : ab, Math.max(1, t.innerWidth - 16)), i = Math.max(180, o.offsetHeight), a = (n.closest("[data-mesurer-root='true']")?.querySelector("[data-mesurer-tool-id='recording']") ?? e.querySelector("[data-mesurer-tool-id='recording']"))?.getBoundingClientRect(), s = a ? a.left + a.width / 2 : t.innerWidth - sb - r / 2, c = sb + r / 2, l = Math.max(c, t.innerWidth - sb - r / 2), u = Math.min(Math.max(c, s), l), d = a ? a.bottom + cb : sb;
|
|
18356
|
+
d + i > t.innerHeight - sb && (d = a ? a.top - i - cb : t.innerHeight - i - sb), o.style.left = `${u}px`, o.style.top = `${Math.max(sb, d)}px`, T.style.display !== "none" && K();
|
|
18341
18357
|
}, fe = () => {
|
|
18342
18358
|
c.pause(), c.removeAttribute("src"), c.load(), F &&= (globalThis.URL.revokeObjectURL(F), null);
|
|
18343
18359
|
}, pe = () => {
|
|
@@ -18354,8 +18370,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18354
18370
|
ee = null, te = null, v.style.height = "8px";
|
|
18355
18371
|
}, ge = (e) => {
|
|
18356
18372
|
if (!ee) return;
|
|
18357
|
-
let t =
|
|
18358
|
-
ee === "start" ? ae(t, !0) : ee === "end" ? oe(t, !0) :
|
|
18373
|
+
let t = G(e);
|
|
18374
|
+
ee === "start" ? ae(t, !0) : ee === "end" ? oe(t, !0) : ie(t);
|
|
18359
18375
|
}, _e = (e, t) => {
|
|
18360
18376
|
!P || L || t.button !== 0 || (t.preventDefault(), t.stopPropagation(), ee = e, te = t.pointerId, v.style.height = "10px", ge(t.clientX));
|
|
18361
18377
|
}, ve = (e) => {
|
|
@@ -18367,7 +18383,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18367
18383
|
let t = e.target;
|
|
18368
18384
|
t instanceof Element && t.closest("[data-mesurer-recording-trim-handle]") || _e("playhead", e);
|
|
18369
18385
|
}), m.addEventListener("pointermove", (e) => {
|
|
18370
|
-
te === null && (_.style.display = "block", _.style.left = `${ne(
|
|
18386
|
+
te === null && (_.style.display = "block", _.style.left = `${ne(G(e.clientX)) * 100}%`);
|
|
18371
18387
|
}), m.addEventListener("pointerleave", () => {
|
|
18372
18388
|
_.style.display = "none";
|
|
18373
18389
|
});
|
|
@@ -18387,9 +18403,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18387
18403
|
}), c.addEventListener("pause", () => {
|
|
18388
18404
|
f.textContent = "▶", f.setAttribute("aria-label", "Play"), f.title = "Play";
|
|
18389
18405
|
}), c.addEventListener("timeupdate", () => {
|
|
18390
|
-
P && (c.currentTime >= U - .01 ? (c.pause(), c.currentTime = H) : c.currentTime < H && (c.currentTime = H),
|
|
18406
|
+
P && (c.currentTime >= U - .01 ? (c.pause(), c.currentTime = H) : c.currentTime < H && (c.currentTime = H), re());
|
|
18391
18407
|
}), c.addEventListener("loadedmetadata", () => {
|
|
18392
|
-
|
|
18408
|
+
re();
|
|
18393
18409
|
}), w.addEventListener("click", () => {
|
|
18394
18410
|
L || le(T.style.display === "none");
|
|
18395
18411
|
});
|
|
@@ -18400,7 +18416,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18400
18416
|
T.style.display !== "none" && (e.composedPath().includes(C) || le(!1));
|
|
18401
18417
|
};
|
|
18402
18418
|
e.addEventListener("pointerdown", be, !0), M.addEventListener("click", () => {
|
|
18403
|
-
I = !I, o.style.width = `${I ?
|
|
18419
|
+
I = !I, o.style.width = `${I ? ob : ab}px`, s.style.maxHeight = I ? "448px" : "144px", c.style.maxHeight = I ? "448px" : "144px", M.textContent = I ? "↙" : "↗", M.setAttribute("aria-label", I ? "Shrink preview" : "Grow preview"), M.title = I ? "Shrink preview" : "Grow preview", t.requestAnimationFrame(de);
|
|
18404
18420
|
}), j.addEventListener("click", () => {
|
|
18405
18421
|
if (!P || L || z.length === 0) return;
|
|
18406
18422
|
let n = ++R, { start: r, end: i } = W();
|
|
@@ -18410,7 +18426,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18410
18426
|
endTime: i,
|
|
18411
18427
|
scale: V
|
|
18412
18428
|
}).then((r) => {
|
|
18413
|
-
n === R &&
|
|
18429
|
+
n === R && mb(r.blob, r.filename, e, t);
|
|
18414
18430
|
}).catch((e) => {
|
|
18415
18431
|
n === R && (N.style.display = "block", N.style.color = "var(--msr-danger-text, #dc2626)", N.textContent = e instanceof Error ? e.message : "Could not export the recording.");
|
|
18416
18432
|
}).finally(() => {
|
|
@@ -18432,7 +18448,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18432
18448
|
show(e) {
|
|
18433
18449
|
R += 1, fe(), P = e, I = !1, V = 1, B = "webm", z = ["webm"], H = 0, U = e.duration, ee = null, te = null;
|
|
18434
18450
|
let n = globalThis.URL.createObjectURL(e.blob);
|
|
18435
|
-
F = n, c.src = n, c.currentTime = 0, s.style.aspectRatio = e.width > 0 && e.height > 0 ? `${e.width} / ${e.height}` : "16 / 9", o.style.width = `${
|
|
18451
|
+
F = n, c.src = n, c.currentTime = 0, s.style.aspectRatio = e.width > 0 && e.height > 0 ? `${e.width} / ${e.height}` : "16 / 9", o.style.width = `${ab}px`, s.style.maxHeight = "144px", c.style.maxHeight = "144px", M.textContent = "↗", M.setAttribute("aria-label", "Grow preview"), M.title = "Grow preview", p.textContent = "0:00.00", S.textContent = db(e.duration), N.style.display = "none", N.style.color = "var(--msr-color-ink-500, #64748b)", le(!1), ce(), se(), re(), ue(!1), o.style.display = "block", de(), o.focus({ preventScroll: !0 });
|
|
18436
18452
|
let i = R;
|
|
18437
18453
|
r(e).then((e) => {
|
|
18438
18454
|
i !== R || !P || (z = e, B = e.includes(B) ? B : e[0] ?? "webm", ce(), j.disabled = e.length === 0, e.length === 0 && (N.style.display = "block", N.style.color = "var(--msr-danger-text, #dc2626)", N.textContent = "No MediaBunny video encoder is available in this runtime."));
|
|
@@ -18445,19 +18461,19 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18445
18461
|
pe(), t.removeEventListener("resize", xe), t.removeEventListener("pointermove", ve, !0), t.removeEventListener("pointerup", ye, !0), t.removeEventListener("pointercancel", ye, !0), e.removeEventListener("pointerdown", be, !0), o.remove();
|
|
18446
18462
|
}
|
|
18447
18463
|
};
|
|
18448
|
-
},
|
|
18464
|
+
}, gb = "mesurer.recording", _b = "recording:v1", vb = "mesurer.recording.settings", yb = "runtime:solid", bb = "recording.toggle", xb = "recording.stop", Sb = "recording.discard", Cb = "recording.export", wb = 60, Tb = 60, Eb = 3e3, Db = {
|
|
18449
18465
|
viewBox: "0 0 24 24",
|
|
18450
18466
|
paths: ["M7 5.75A3.25 3.25 0 0 0 3.75 9v6A3.25 3.25 0 0 0 7 18.25h7A3.25 3.25 0 0 0 17.25 15v-1.03l2.13 1.42a.75.75 0 0 0 1.17-.624V9.234a.75.75 0 0 0-1.17-.624l-2.13 1.42V9A3.25 3.25 0 0 0 14 5.75H7Zm10.25 6.082 1.8-1.2v2.736l-1.8-1.2v-.336Z", "M10.5 9.25a2.75 2.75 0 1 0 0 5.5 2.75 2.75 0 0 0 0-5.5Z"]
|
|
18451
|
-
},
|
|
18467
|
+
}, Ob = (e) => e ? { ...e } : null, kb = (e) => ({
|
|
18452
18468
|
...e,
|
|
18453
|
-
rect:
|
|
18454
|
-
}),
|
|
18469
|
+
rect: Ob(e.rect)
|
|
18470
|
+
}), Ab = (e, t) => {
|
|
18455
18471
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
18456
|
-
},
|
|
18457
|
-
if (!
|
|
18472
|
+
}, jb = (e) => e != null && !Array.isArray(e) && typeof e == "object", Mb = (e) => typeof e == "number" && Number.isFinite(e), Nb = (e) => {
|
|
18473
|
+
if (!jb(e)) return {};
|
|
18458
18474
|
let t = {};
|
|
18459
|
-
return (e.format === "webm" || e.format === "mp4") && (t.format = e.format),
|
|
18460
|
-
},
|
|
18475
|
+
return (e.format === "webm" || e.format === "mp4") && (t.format = e.format), Mb(e.startTime) && (t.startTime = e.startTime), Mb(e.endTime) && (t.endTime = e.endTime), (e.scale === 1 || e.scale === 2 || e.scale === 3) && (t.scale = e.scale), t;
|
|
18476
|
+
}, Pb = (e) => ({
|
|
18461
18477
|
status: e.status,
|
|
18462
18478
|
elapsed: e.elapsed,
|
|
18463
18479
|
rect: e.rect ? { ...e.rect } : null,
|
|
@@ -18465,62 +18481,71 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18465
18481
|
width: e.width,
|
|
18466
18482
|
height: e.height,
|
|
18467
18483
|
error: e.error
|
|
18468
|
-
}),
|
|
18484
|
+
}), Fb = (e) => ({
|
|
18469
18485
|
filename: e.filename,
|
|
18470
18486
|
format: e.format,
|
|
18471
18487
|
duration: e.duration,
|
|
18472
18488
|
width: e.width,
|
|
18473
18489
|
height: e.height,
|
|
18474
18490
|
bytes: e.blob.size
|
|
18475
|
-
}),
|
|
18491
|
+
}), Ib = (e) => ({
|
|
18476
18492
|
format: e.format,
|
|
18477
18493
|
duration: e.duration,
|
|
18478
18494
|
width: e.width,
|
|
18479
18495
|
height: e.height,
|
|
18480
18496
|
bytes: e.blob.size,
|
|
18481
18497
|
createdAt: e.createdAt
|
|
18482
|
-
}),
|
|
18498
|
+
}), Lb = (e, t, n) => {
|
|
18483
18499
|
let r = globalThis.URL.createObjectURL(e.blob), i = t.createElement("a");
|
|
18484
18500
|
i.href = r, i.download = e.filename, i.rel = "noopener", t.documentElement.append(i), i.click(), i.remove(), n.setTimeout(() => globalThis.URL.revokeObjectURL(r), 1e3);
|
|
18485
|
-
},
|
|
18486
|
-
id:
|
|
18501
|
+
}, Rb = (e = {}) => Ta({
|
|
18502
|
+
id: gb,
|
|
18487
18503
|
version: "0.1.0",
|
|
18488
|
-
requires: [
|
|
18489
|
-
provides: ["tool:recording",
|
|
18504
|
+
requires: [yb],
|
|
18505
|
+
provides: ["tool:recording", _b],
|
|
18490
18506
|
setup(t) {
|
|
18491
|
-
let n = t.service.get(
|
|
18507
|
+
let n = t.service.get(yb);
|
|
18492
18508
|
if (!n) throw Error("Recording plugin requires the Solid renderer runtime.");
|
|
18493
18509
|
let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element, s = n.createInspectorMount(), c = s.element, l = n.rendererRoot ?? n.portalTarget.querySelector("[data-mesurer-root='true']"), u = (e) => {
|
|
18494
18510
|
l?.toggleAttribute("data-mesurer-recording-active", e);
|
|
18495
18511
|
let t = l?.querySelector("[data-mesurer-interaction-overlay='true']");
|
|
18496
18512
|
t && (e ? (t.style.setProperty("pointer-events", "none", "important"), t.style.setProperty("cursor", "default", "important")) : (t.style.removeProperty("pointer-events"), t.style.removeProperty("cursor")));
|
|
18497
18513
|
};
|
|
18498
|
-
o.dataset.mesurerRecording = "true", c.dataset.mesurerRecordingStatusRoot = "true",
|
|
18514
|
+
o.dataset.mesurerRecording = "true", c.dataset.mesurerRecordingStatusRoot = "true", Ab(o, {
|
|
18499
18515
|
position: "fixed",
|
|
18500
18516
|
inset: "0",
|
|
18501
18517
|
"z-index": "86",
|
|
18502
18518
|
"pointer-events": "none",
|
|
18503
18519
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
18504
|
-
}),
|
|
18520
|
+
}), Ab(c, {
|
|
18505
18521
|
position: "fixed",
|
|
18506
18522
|
inset: "0",
|
|
18507
18523
|
"z-index": "96",
|
|
18508
18524
|
"pointer-events": "none",
|
|
18509
18525
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
18510
18526
|
});
|
|
18511
|
-
let d = Math.max(1, Math.min(
|
|
18527
|
+
let d = Math.max(1, Math.min(600, e.maxDurationSeconds ?? Tb)), f = e.quality ?? "medium";
|
|
18512
18528
|
t.state.register({
|
|
18513
|
-
id:
|
|
18514
|
-
initial: {
|
|
18529
|
+
id: vb,
|
|
18530
|
+
initial: {
|
|
18531
|
+
toolEnabled: e.toolEnabled ?? !0,
|
|
18532
|
+
frameRate: e.frameRate ?? wb
|
|
18533
|
+
},
|
|
18515
18534
|
persist: !0
|
|
18516
18535
|
});
|
|
18517
|
-
let
|
|
18518
|
-
t.state.
|
|
18536
|
+
let p = () => {
|
|
18537
|
+
let e = t.state.get(vb);
|
|
18538
|
+
return {
|
|
18539
|
+
toolEnabled: e?.toolEnabled ?? !0,
|
|
18540
|
+
frameRate: e?.frameRate === 120 ? 120 : 60
|
|
18541
|
+
};
|
|
18542
|
+
}, m = (e) => {
|
|
18543
|
+
t.state.update(vb, (t) => {
|
|
18519
18544
|
let n = { ...t };
|
|
18520
|
-
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), n;
|
|
18545
|
+
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), (e.frameRate === 60 || e.frameRate === 120) && (n.frameRate = e.frameRate), n;
|
|
18521
18546
|
});
|
|
18522
|
-
},
|
|
18523
|
-
|
|
18547
|
+
}, h = r.createElement("div");
|
|
18548
|
+
h.dataset.mesurerRecordingSelect = "true", h.dataset.mesurerInspectorUi = "true", h.setAttribute("role", "application"), h.setAttribute("aria-label", "Recording selection"), Ab(h, {
|
|
18524
18549
|
position: "fixed",
|
|
18525
18550
|
inset: "0",
|
|
18526
18551
|
display: "none",
|
|
@@ -18529,24 +18554,24 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18529
18554
|
"pointer-events": "auto",
|
|
18530
18555
|
"user-select": "none",
|
|
18531
18556
|
"touch-action": "none"
|
|
18532
|
-
}), o.append(
|
|
18533
|
-
let
|
|
18557
|
+
}), o.append(h);
|
|
18558
|
+
let g = Array.from({ length: 4 }, () => {
|
|
18534
18559
|
let e = r.createElement("div");
|
|
18535
|
-
return e.dataset.mesurerRecordingShade = "true",
|
|
18560
|
+
return e.dataset.mesurerRecordingShade = "true", Ab(e, {
|
|
18536
18561
|
position: "fixed",
|
|
18537
18562
|
background: "rgb(0 0 0 / 40%)",
|
|
18538
18563
|
"pointer-events": "none"
|
|
18539
|
-
}),
|
|
18540
|
-
}),
|
|
18541
|
-
|
|
18564
|
+
}), h.append(e), e;
|
|
18565
|
+
}), _ = r.createElement("div");
|
|
18566
|
+
_.dataset.mesurerRecordingSelection = "true", Ab(_, {
|
|
18542
18567
|
position: "fixed",
|
|
18543
18568
|
display: "none",
|
|
18544
18569
|
border: "1px solid var(--msr-accent, #0d99ff)",
|
|
18545
18570
|
"box-sizing": "border-box",
|
|
18546
18571
|
"pointer-events": "none"
|
|
18547
|
-
}),
|
|
18548
|
-
let
|
|
18549
|
-
|
|
18572
|
+
}), h.append(_);
|
|
18573
|
+
let v = r.createElement("div");
|
|
18574
|
+
Ab(v, {
|
|
18550
18575
|
position: "fixed",
|
|
18551
18576
|
display: "none",
|
|
18552
18577
|
transform: "translateX(-50%)",
|
|
@@ -18557,9 +18582,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18557
18582
|
"font-size": "10px",
|
|
18558
18583
|
"font-variant-numeric": "tabular-nums",
|
|
18559
18584
|
"pointer-events": "none"
|
|
18560
|
-
}),
|
|
18561
|
-
let
|
|
18562
|
-
|
|
18585
|
+
}), h.append(v);
|
|
18586
|
+
let y = r.createElement("div");
|
|
18587
|
+
y.textContent = "Drag a region to record · Esc to cancel", Ab(y, {
|
|
18563
18588
|
position: "fixed",
|
|
18564
18589
|
left: "50%",
|
|
18565
18590
|
bottom: "16px",
|
|
@@ -18570,9 +18595,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18570
18595
|
color: "var(--msr-surface, #fff)",
|
|
18571
18596
|
"font-size": "11px",
|
|
18572
18597
|
"pointer-events": "none"
|
|
18573
|
-
}),
|
|
18574
|
-
let
|
|
18575
|
-
|
|
18598
|
+
}), h.append(y);
|
|
18599
|
+
let b = r.createElement("div");
|
|
18600
|
+
b.dataset.mesurerRecordingRegion = "true", b.dataset.mesurerInspectorUi = "true", b.setAttribute("role", "dialog"), b.setAttribute("aria-label", "Recording region"), Ab(b, {
|
|
18576
18601
|
position: "fixed",
|
|
18577
18602
|
display: "none",
|
|
18578
18603
|
width: "220px",
|
|
@@ -18587,10 +18612,10 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18587
18612
|
"font-size": "11px",
|
|
18588
18613
|
"pointer-events": "auto",
|
|
18589
18614
|
transform: "translateX(-50%)"
|
|
18590
|
-
}),
|
|
18591
|
-
let
|
|
18615
|
+
}), h.append(b);
|
|
18616
|
+
let x = (e) => {
|
|
18592
18617
|
let t = r.createElement("label");
|
|
18593
|
-
|
|
18618
|
+
Ab(t, {
|
|
18594
18619
|
display: "grid",
|
|
18595
18620
|
"grid-template-columns": "44px minmax(0,1fr)",
|
|
18596
18621
|
"align-items": "center",
|
|
@@ -18599,15 +18624,15 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18599
18624
|
let n = r.createElement("span");
|
|
18600
18625
|
n.textContent = e, n.style.color = "var(--msr-color-ink-500, #64748b)", t.append(n);
|
|
18601
18626
|
let i = r.createElement("div");
|
|
18602
|
-
return
|
|
18627
|
+
return Ab(i, {
|
|
18603
18628
|
display: "flex",
|
|
18604
18629
|
"align-items": "center",
|
|
18605
18630
|
gap: "4px",
|
|
18606
18631
|
"min-width": "0"
|
|
18607
|
-
}), t.append(i),
|
|
18608
|
-
},
|
|
18632
|
+
}), t.append(i), b.append(t), i;
|
|
18633
|
+
}, S = (e) => {
|
|
18609
18634
|
let t = r.createElement("input");
|
|
18610
|
-
return t.type = "number", t.setAttribute("aria-label", e), t.step = "1",
|
|
18635
|
+
return t.type = "number", t.setAttribute("aria-label", e), t.step = "1", Ab(t, {
|
|
18611
18636
|
width: "0",
|
|
18612
18637
|
"min-width": "0",
|
|
18613
18638
|
flex: "1 1 0",
|
|
@@ -18621,20 +18646,20 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18621
18646
|
"font-size": "10px",
|
|
18622
18647
|
"font-variant-numeric": "tabular-nums"
|
|
18623
18648
|
}), t;
|
|
18624
|
-
},
|
|
18625
|
-
|
|
18649
|
+
}, C = x("Size"), w = S("Width"), T = S("Height");
|
|
18650
|
+
C.append(w);
|
|
18651
|
+
let E = r.createElement("span");
|
|
18652
|
+
E.textContent = "×", E.style.color = "var(--msr-color-ink-500, #64748b)", C.append(E, T);
|
|
18626
18653
|
let D = r.createElement("span");
|
|
18627
|
-
D.textContent = "
|
|
18628
|
-
let O =
|
|
18629
|
-
O.
|
|
18630
|
-
let k = S("
|
|
18631
|
-
k
|
|
18632
|
-
let
|
|
18633
|
-
|
|
18634
|
-
let M = r.createElement("
|
|
18635
|
-
M.
|
|
18636
|
-
let N = r.createElement("button");
|
|
18637
|
-
N.type = "button", N.dataset.mesurerRecordingStart = "true", N.textContent = "● Start recording", kb(N, {
|
|
18654
|
+
D.textContent = "px", D.style.color = "var(--msr-color-ink-500, #64748b)", C.append(D);
|
|
18655
|
+
let O = x("Position");
|
|
18656
|
+
O.style.marginTop = "8px";
|
|
18657
|
+
let k = S("Left"), A = S("Top");
|
|
18658
|
+
O.append(k, A);
|
|
18659
|
+
let j = r.createElement("span");
|
|
18660
|
+
j.textContent = "px", j.style.color = "var(--msr-color-ink-500, #64748b)", O.append(j);
|
|
18661
|
+
let M = r.createElement("button");
|
|
18662
|
+
M.type = "button", M.dataset.mesurerRecordingStart = "true", M.textContent = "● Start recording", Ab(M, {
|
|
18638
18663
|
width: "100%",
|
|
18639
18664
|
height: "28px",
|
|
18640
18665
|
"margin-top": "8px",
|
|
@@ -18646,44 +18671,44 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18646
18671
|
"font-size": "11px",
|
|
18647
18672
|
"font-weight": "500",
|
|
18648
18673
|
cursor: "pointer"
|
|
18649
|
-
}),
|
|
18650
|
-
let
|
|
18651
|
-
|
|
18674
|
+
}), b.append(M);
|
|
18675
|
+
let N = r.createElement("div");
|
|
18676
|
+
N.dataset.mesurerRecordingGrid = "true", Ab(N, {
|
|
18652
18677
|
position: "absolute",
|
|
18653
18678
|
inset: "0",
|
|
18654
18679
|
display: "none",
|
|
18655
18680
|
"pointer-events": "none"
|
|
18656
|
-
}),
|
|
18657
|
-
let
|
|
18681
|
+
}), _.append(N);
|
|
18682
|
+
let P = (e) => {
|
|
18658
18683
|
let t = r.createElement("div");
|
|
18659
|
-
|
|
18684
|
+
Ab(t, {
|
|
18660
18685
|
position: "absolute",
|
|
18661
18686
|
opacity: "0.3",
|
|
18662
18687
|
...e
|
|
18663
|
-
}),
|
|
18688
|
+
}), N.append(t);
|
|
18664
18689
|
};
|
|
18665
|
-
|
|
18690
|
+
P({
|
|
18666
18691
|
left: "33.333%",
|
|
18667
18692
|
top: "0",
|
|
18668
18693
|
bottom: "0",
|
|
18669
18694
|
borderLeft: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18670
|
-
}),
|
|
18695
|
+
}), P({
|
|
18671
18696
|
left: "66.666%",
|
|
18672
18697
|
top: "0",
|
|
18673
18698
|
bottom: "0",
|
|
18674
18699
|
borderLeft: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18675
|
-
}),
|
|
18700
|
+
}), P({
|
|
18676
18701
|
top: "33.333%",
|
|
18677
18702
|
left: "0",
|
|
18678
18703
|
right: "0",
|
|
18679
18704
|
borderTop: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18680
|
-
}),
|
|
18705
|
+
}), P({
|
|
18681
18706
|
top: "66.666%",
|
|
18682
18707
|
left: "0",
|
|
18683
18708
|
right: "0",
|
|
18684
18709
|
borderTop: "1px dashed var(--msr-color-ink-500, #64748b)"
|
|
18685
18710
|
});
|
|
18686
|
-
let
|
|
18711
|
+
let F = Object.entries({
|
|
18687
18712
|
nw: {
|
|
18688
18713
|
left: "0",
|
|
18689
18714
|
top: "0"
|
|
@@ -18718,7 +18743,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18718
18743
|
}
|
|
18719
18744
|
}).map(([e, t]) => {
|
|
18720
18745
|
let n = r.createElement("button");
|
|
18721
|
-
return n.type = "button", n.dataset.mesurerRecordingResize = e, n.setAttribute("aria-label", `Resize ${e}`),
|
|
18746
|
+
return n.type = "button", n.dataset.mesurerRecordingResize = e, n.setAttribute("aria-label", `Resize ${e}`), Ab(n, {
|
|
18722
18747
|
position: "absolute",
|
|
18723
18748
|
display: "none",
|
|
18724
18749
|
left: t.left,
|
|
@@ -18733,9 +18758,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18733
18758
|
transform: "translate(-50%, -50%)",
|
|
18734
18759
|
cursor: e === "n" || e === "s" ? "ns-resize" : e === "e" || e === "w" ? "ew-resize" : e === "nw" || e === "se" ? "nwse-resize" : "nesw-resize",
|
|
18735
18760
|
"pointer-events": "auto"
|
|
18736
|
-
}),
|
|
18737
|
-
}),
|
|
18738
|
-
|
|
18761
|
+
}), _.append(n), n;
|
|
18762
|
+
}), I = r.createElement("section");
|
|
18763
|
+
I.dataset.mesurerRecordingStatus = "true", I.dataset.mesurerInspectorUi = "true", I.setAttribute("aria-label", "Screen recording"), Ab(I, {
|
|
18739
18764
|
position: "fixed",
|
|
18740
18765
|
display: "none",
|
|
18741
18766
|
height: "34px",
|
|
@@ -18751,23 +18776,23 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18751
18776
|
"font-size": "11px",
|
|
18752
18777
|
"pointer-events": "auto"
|
|
18753
18778
|
});
|
|
18754
|
-
let
|
|
18755
|
-
|
|
18779
|
+
let L = r.createElement("span");
|
|
18780
|
+
L.setAttribute("aria-hidden", "true"), Ab(L, {
|
|
18756
18781
|
width: "6px",
|
|
18757
18782
|
height: "6px",
|
|
18758
18783
|
"border-radius": "999px",
|
|
18759
18784
|
background: "var(--msr-danger-solid-bg, #dc2626)",
|
|
18760
18785
|
"flex-shrink": "0"
|
|
18761
|
-
}),
|
|
18762
|
-
let
|
|
18763
|
-
|
|
18786
|
+
}), I.append(L);
|
|
18787
|
+
let R = r.createElement("span");
|
|
18788
|
+
R.dataset.mesurerRecordingTime = "true", R.textContent = "00:00", Ab(R, {
|
|
18764
18789
|
color: "var(--msr-content, #18181b)",
|
|
18765
18790
|
"font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
18766
18791
|
"font-size": "11px",
|
|
18767
18792
|
"font-variant-numeric": "tabular-nums"
|
|
18768
|
-
}),
|
|
18769
|
-
let
|
|
18770
|
-
|
|
18793
|
+
}), I.append(R);
|
|
18794
|
+
let z = r.createElement("button");
|
|
18795
|
+
z.type = "button", z.dataset.mesurerRecordingStop = "true", z.textContent = "Stop", z.setAttribute("aria-label", "Stop recording"), Ab(z, {
|
|
18771
18796
|
height: "24px",
|
|
18772
18797
|
padding: "0 8px",
|
|
18773
18798
|
border: "0",
|
|
@@ -18778,9 +18803,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18778
18803
|
"font-size": "11px",
|
|
18779
18804
|
"font-weight": "500",
|
|
18780
18805
|
cursor: "pointer"
|
|
18781
|
-
}),
|
|
18782
|
-
let
|
|
18783
|
-
|
|
18806
|
+
}), I.append(z), c.append(I);
|
|
18807
|
+
let B = r.createElement("div");
|
|
18808
|
+
B.dataset.mesurerRecordingError = "true", B.dataset.mesurerInspectorUi = "true", B.setAttribute("role", "status"), Ab(B, {
|
|
18784
18809
|
position: "fixed",
|
|
18785
18810
|
display: "none",
|
|
18786
18811
|
left: "8px",
|
|
@@ -18792,8 +18817,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18792
18817
|
color: "#fff",
|
|
18793
18818
|
"font-size": "11px",
|
|
18794
18819
|
"pointer-events": "none"
|
|
18795
|
-
}), c.append(
|
|
18796
|
-
let
|
|
18820
|
+
}), c.append(B);
|
|
18821
|
+
let V = {
|
|
18797
18822
|
status: "idle",
|
|
18798
18823
|
elapsed: 0,
|
|
18799
18824
|
rect: null,
|
|
@@ -18801,28 +18826,28 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18801
18826
|
width: null,
|
|
18802
18827
|
height: null,
|
|
18803
18828
|
error: null
|
|
18804
|
-
},
|
|
18805
|
-
let e =
|
|
18806
|
-
for (let t of
|
|
18807
|
-
},
|
|
18808
|
-
|
|
18809
|
-
...
|
|
18829
|
+
}, H = /* @__PURE__ */ new Set(), U = null, ee = null, te = null, ne = null, W = null, G = null, re = !1, ie = null, ae = null, oe = 0, se = 0, ce = 0, K = 0, le = 0, ue = -1, de = !1, fe = null, pe = () => {
|
|
18830
|
+
let e = kb(V);
|
|
18831
|
+
for (let t of H) t(e);
|
|
18832
|
+
}, me = (e) => {
|
|
18833
|
+
V = {
|
|
18834
|
+
...V,
|
|
18810
18835
|
...e,
|
|
18811
|
-
rect: e.rect === void 0 ?
|
|
18812
|
-
},
|
|
18813
|
-
},
|
|
18814
|
-
if (
|
|
18836
|
+
rect: e.rect === void 0 ? V.rect : Ob(e.rect)
|
|
18837
|
+
}, pe();
|
|
18838
|
+
}, he = () => V.status === "selecting" || V.status === "recording" || V.status === "exporting", ge = () => {
|
|
18839
|
+
if (ae) return;
|
|
18815
18840
|
let e = n.portalTarget.querySelector("[data-mesurer-toolbar='true']");
|
|
18816
|
-
e && (
|
|
18841
|
+
e && (ae = {
|
|
18817
18842
|
element: e,
|
|
18818
18843
|
value: e.style.getPropertyValue("visibility"),
|
|
18819
18844
|
priority: e.style.getPropertyPriority("visibility")
|
|
18820
18845
|
}, e.style.setProperty("visibility", "hidden", "important"));
|
|
18821
|
-
},
|
|
18822
|
-
if (!
|
|
18823
|
-
let e =
|
|
18824
|
-
|
|
18825
|
-
},
|
|
18846
|
+
}, _e = () => {
|
|
18847
|
+
if (!ae) return;
|
|
18848
|
+
let e = ae;
|
|
18849
|
+
ae = null, e.value || e.priority ? e.element.style.setProperty("visibility", e.value, e.priority) : e.element.style.removeProperty("visibility");
|
|
18850
|
+
}, ve = (e, t) => {
|
|
18826
18851
|
for (let n of [
|
|
18827
18852
|
"left",
|
|
18828
18853
|
"top",
|
|
@@ -18832,7 +18857,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18832
18857
|
let r = t[n];
|
|
18833
18858
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
18834
18859
|
}
|
|
18835
|
-
},
|
|
18860
|
+
}, ye = (e) => {
|
|
18836
18861
|
let t = i.innerWidth, n = i.innerHeight, r = Math.min(t, Math.max(4, Math.round(e.width))), a = Math.min(n, Math.max(4, Math.round(e.height)));
|
|
18837
18862
|
return {
|
|
18838
18863
|
left: Math.min(Math.max(0, Math.round(e.left)), Math.max(0, t - r)),
|
|
@@ -18840,121 +18865,121 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18840
18865
|
width: r,
|
|
18841
18866
|
height: a
|
|
18842
18867
|
};
|
|
18843
|
-
},
|
|
18868
|
+
}, be = (e, t) => t.x >= e.left && t.x <= e.left + e.width && t.y >= e.top && t.y <= e.top + e.height, xe = (e) => {
|
|
18844
18869
|
let t = i.innerWidth, n = i.innerHeight;
|
|
18845
18870
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
18846
|
-
|
|
18871
|
+
ve(g[0], {
|
|
18847
18872
|
left: 0,
|
|
18848
18873
|
top: 0,
|
|
18849
18874
|
width: t,
|
|
18850
18875
|
height: n
|
|
18851
18876
|
});
|
|
18852
|
-
for (let e of
|
|
18877
|
+
for (let e of g.slice(1)) ve(e, {
|
|
18853
18878
|
left: 0,
|
|
18854
18879
|
top: 0,
|
|
18855
18880
|
width: 0,
|
|
18856
18881
|
height: 0
|
|
18857
18882
|
});
|
|
18858
|
-
|
|
18859
|
-
for (let e of
|
|
18860
|
-
|
|
18883
|
+
_.style.display = "none", _.style.pointerEvents = "none", N.style.display = "none";
|
|
18884
|
+
for (let e of F) e.style.display = "none";
|
|
18885
|
+
v.style.display = "none", b.style.display = "none", y.textContent = "Drag to select a region · Esc to cancel";
|
|
18861
18886
|
return;
|
|
18862
18887
|
}
|
|
18863
|
-
if (
|
|
18888
|
+
if (ve(g[0], {
|
|
18864
18889
|
left: 0,
|
|
18865
18890
|
top: 0,
|
|
18866
18891
|
width: t,
|
|
18867
18892
|
height: e.top
|
|
18868
|
-
}),
|
|
18893
|
+
}), ve(g[1], {
|
|
18869
18894
|
left: 0,
|
|
18870
18895
|
top: e.top,
|
|
18871
18896
|
width: e.left,
|
|
18872
18897
|
height: e.height
|
|
18873
|
-
}),
|
|
18898
|
+
}), ve(g[2], {
|
|
18874
18899
|
left: e.left + e.width,
|
|
18875
18900
|
top: e.top,
|
|
18876
18901
|
width: Math.max(0, t - e.left - e.width),
|
|
18877
18902
|
height: e.height
|
|
18878
|
-
}),
|
|
18903
|
+
}), ve(g[3], {
|
|
18879
18904
|
left: 0,
|
|
18880
18905
|
top: e.top + e.height,
|
|
18881
18906
|
width: t,
|
|
18882
18907
|
height: Math.max(0, n - e.top - e.height)
|
|
18883
|
-
}),
|
|
18884
|
-
|
|
18885
|
-
for (let e of
|
|
18886
|
-
|
|
18908
|
+
}), _.style.display = "block", ve(_, e), re) {
|
|
18909
|
+
_.style.pointerEvents = "auto", _.style.cursor = "move", N.style.display = "block";
|
|
18910
|
+
for (let e of F) e.style.display = "block";
|
|
18911
|
+
v.style.display = "none", w.value = String(Math.round(e.width)), T.value = String(Math.round(e.height)), k.value = String(Math.round(e.left)), A.value = String(Math.round(e.top)), w.max = String(t), T.max = String(n), k.max = String(Math.max(0, t - e.width)), A.max = String(Math.max(0, n - e.height));
|
|
18887
18912
|
let r = Math.min(Math.max(118, e.left + e.width / 2), Math.max(118, t - 110 - 8)), i = e.top + e.height + 12, a = i + 112 <= n ? i : Math.max(8, e.top - 112);
|
|
18888
|
-
|
|
18913
|
+
b.style.left = `${r}px`, b.style.top = `${a}px`, b.style.display = "block", y.textContent = "Adjust region · Enter to start · Esc to cancel";
|
|
18889
18914
|
} else {
|
|
18890
|
-
|
|
18891
|
-
for (let e of
|
|
18892
|
-
|
|
18915
|
+
_.style.pointerEvents = "none", _.style.cursor = "", N.style.display = "none";
|
|
18916
|
+
for (let e of F) e.style.display = "none";
|
|
18917
|
+
b.style.display = "none", v.style.display = "block", v.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, ve(v, {
|
|
18893
18918
|
left: e.left + e.width / 2,
|
|
18894
18919
|
top: Math.min(n - 22, e.top + e.height + 6)
|
|
18895
|
-
}),
|
|
18920
|
+
}), y.textContent = "Drag to select a region · Esc to cancel";
|
|
18896
18921
|
}
|
|
18922
|
+
}, Se = (e) => {
|
|
18923
|
+
let t = ye(e);
|
|
18924
|
+
G = t, me({ rect: t }), xe(t);
|
|
18897
18925
|
}, Ce = (e) => {
|
|
18898
|
-
let t = be(e);
|
|
18899
|
-
ie = t, he({ rect: t }), Se(t);
|
|
18900
|
-
}, we = (e) => {
|
|
18901
18926
|
let t = i.innerWidth, n = i.innerHeight;
|
|
18902
|
-
|
|
18927
|
+
ve(g[0], {
|
|
18903
18928
|
left: 0,
|
|
18904
18929
|
top: 0,
|
|
18905
18930
|
width: t,
|
|
18906
18931
|
height: e.top
|
|
18907
|
-
}),
|
|
18932
|
+
}), ve(g[1], {
|
|
18908
18933
|
left: 0,
|
|
18909
18934
|
top: e.top,
|
|
18910
18935
|
width: e.left,
|
|
18911
18936
|
height: e.height
|
|
18912
|
-
}),
|
|
18937
|
+
}), ve(g[2], {
|
|
18913
18938
|
left: e.left + e.width,
|
|
18914
18939
|
top: e.top,
|
|
18915
18940
|
width: Math.max(0, t - e.left - e.width),
|
|
18916
18941
|
height: e.height
|
|
18917
|
-
}),
|
|
18942
|
+
}), ve(g[3], {
|
|
18918
18943
|
left: 0,
|
|
18919
18944
|
top: e.top + e.height,
|
|
18920
18945
|
width: t,
|
|
18921
18946
|
height: Math.max(0, n - e.top - e.height)
|
|
18922
|
-
}),
|
|
18923
|
-
for (let e of
|
|
18924
|
-
|
|
18947
|
+
}), _.style.display = "none", v.style.display = "none", b.style.display = "none", N.style.display = "none", y.style.display = "none";
|
|
18948
|
+
for (let e of F) e.style.display = "none";
|
|
18949
|
+
h.style.display = "block", h.style.pointerEvents = "none", h.style.cursor = "default";
|
|
18950
|
+
}, we = () => {
|
|
18951
|
+
u(!1), h.style.display = "none", h.style.pointerEvents = "auto", h.style.cursor = "crosshair", y.style.removeProperty("display");
|
|
18925
18952
|
}, Te = () => {
|
|
18926
|
-
|
|
18927
|
-
}, Ee = () => {
|
|
18928
|
-
re = null, ie = null, G = !1, ae = null, Se(null), g.style.display = "none", g.style.cursor = "crosshair", o.style.pointerEvents = "none";
|
|
18929
|
-
}, De = (e) => {
|
|
18953
|
+
W = null, G = null, re = !1, ie = null, xe(null), h.style.display = "none", h.style.cursor = "crosshair", o.style.pointerEvents = "none";
|
|
18954
|
+
}, Ee = (e) => {
|
|
18930
18955
|
let t = i.innerHeight, n = i.innerWidth;
|
|
18931
|
-
|
|
18932
|
-
let r = Math.max(112,
|
|
18956
|
+
I.style.visibility = "hidden", I.style.display = "flex";
|
|
18957
|
+
let r = Math.max(112, I.offsetWidth || 112), a = Math.min(n - r - 8, Math.max(8, e.left + e.width / 2 - r / 2)), o = l?.querySelector("[data-mesurer-toolbar='true']")?.getBoundingClientRect(), s = [e.top >= 50 ? e.top - 34 - 8 : null, t - (e.top + e.height) >= 50 ? e.top + e.height + 8 : null].filter((e) => e !== null), c = (e) => o ? a < o.right && a + r > o.left && e < o.bottom && e + 34 > o.top : !1, u = s.find((e) => !c(e)) ?? s[0] ?? null;
|
|
18933
18958
|
if (u === null) {
|
|
18934
|
-
|
|
18959
|
+
I.style.display = "none", I.style.removeProperty("visibility");
|
|
18935
18960
|
return;
|
|
18936
18961
|
}
|
|
18937
|
-
|
|
18938
|
-
},
|
|
18939
|
-
|
|
18940
|
-
},
|
|
18941
|
-
|
|
18962
|
+
I.style.left = `${a}px`, I.style.top = `${u}px`, I.style.removeProperty("visibility");
|
|
18963
|
+
}, De = () => {
|
|
18964
|
+
I.style.display = "none";
|
|
18965
|
+
}, Oe = (e) => {
|
|
18966
|
+
ce && i.clearTimeout(ce);
|
|
18942
18967
|
let t = e instanceof Error ? e.message : "Could not record this region.";
|
|
18943
|
-
|
|
18944
|
-
|
|
18945
|
-
},
|
|
18946
|
-
},
|
|
18947
|
-
|
|
18948
|
-
let t =
|
|
18949
|
-
if (
|
|
18968
|
+
B.textContent = t, B.style.display = "block", ce = i.setTimeout(() => {
|
|
18969
|
+
ce = 0, B.style.display = "none";
|
|
18970
|
+
}, Eb);
|
|
18971
|
+
}, ke = async (e) => {
|
|
18972
|
+
oe && i.cancelAnimationFrame(oe), oe = 0, se && i.clearTimeout(se), se = 0;
|
|
18973
|
+
let t = ne;
|
|
18974
|
+
if (ne = null, t) try {
|
|
18950
18975
|
await t;
|
|
18951
18976
|
} catch {}
|
|
18952
|
-
let n =
|
|
18953
|
-
|
|
18954
|
-
let r =
|
|
18955
|
-
|
|
18956
|
-
},
|
|
18957
|
-
|
|
18977
|
+
let n = te;
|
|
18978
|
+
te = null, e && await n?.cancel();
|
|
18979
|
+
let r = ee;
|
|
18980
|
+
ee = null, r && Uy(r), we(), De();
|
|
18981
|
+
}, Ae = () => {
|
|
18982
|
+
U = null, Ne.dismiss(), me({
|
|
18958
18983
|
status: "idle",
|
|
18959
18984
|
elapsed: 0,
|
|
18960
18985
|
rect: null,
|
|
@@ -18963,23 +18988,23 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18963
18988
|
height: null,
|
|
18964
18989
|
error: null
|
|
18965
18990
|
}), t.hook.emit("recording:discard", {});
|
|
18966
|
-
},
|
|
18967
|
-
let e =
|
|
18968
|
-
return
|
|
18969
|
-
},
|
|
18970
|
-
let n =
|
|
18991
|
+
}, je = async () => {
|
|
18992
|
+
let e = U;
|
|
18993
|
+
return $y(e?.width ?? Math.max(2, Math.round(i.innerWidth)), e?.height ?? Math.max(2, Math.round(i.innerHeight)), p().frameRate);
|
|
18994
|
+
}, Me = async (e = {}) => {
|
|
18995
|
+
let n = U;
|
|
18971
18996
|
if (!n) throw Error("No recording is ready to export.");
|
|
18972
|
-
let r =
|
|
18973
|
-
|
|
18997
|
+
let r = V.status;
|
|
18998
|
+
me({
|
|
18974
18999
|
status: "exporting",
|
|
18975
19000
|
error: null
|
|
18976
19001
|
});
|
|
18977
19002
|
try {
|
|
18978
|
-
let r = await
|
|
19003
|
+
let r = await rb(n.blob, e), i = {
|
|
18979
19004
|
...r,
|
|
18980
|
-
filename:
|
|
19005
|
+
filename: ib(r.format)
|
|
18981
19006
|
};
|
|
18982
|
-
return
|
|
19007
|
+
return me({
|
|
18983
19008
|
status: "ready",
|
|
18984
19009
|
duration: n.duration,
|
|
18985
19010
|
width: n.width,
|
|
@@ -18994,30 +19019,30 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
18994
19019
|
bytes: i.blob.size
|
|
18995
19020
|
}), i;
|
|
18996
19021
|
} catch (e) {
|
|
18997
|
-
throw
|
|
19022
|
+
throw me({
|
|
18998
19023
|
status: r === "ready" ? "ready" : "error",
|
|
18999
19024
|
error: e instanceof Error ? e.message : "Could not export the recording."
|
|
19000
19025
|
}), e;
|
|
19001
19026
|
}
|
|
19002
|
-
},
|
|
19027
|
+
}, Ne = hb({
|
|
19003
19028
|
ownerDocument: r,
|
|
19004
19029
|
ownerWindow: i,
|
|
19005
19030
|
root: o,
|
|
19006
|
-
formats: async () =>
|
|
19007
|
-
onDiscard:
|
|
19008
|
-
onExport:
|
|
19009
|
-
}),
|
|
19010
|
-
if (
|
|
19011
|
-
if (
|
|
19012
|
-
let e =
|
|
19031
|
+
formats: async () => je(),
|
|
19032
|
+
onDiscard: Ae,
|
|
19033
|
+
onExport: Me
|
|
19034
|
+
}), Pe = async () => {
|
|
19035
|
+
if (fe) return fe;
|
|
19036
|
+
if (V.status !== "recording" || !te || !ee) throw Error("No recording is active.");
|
|
19037
|
+
let e = K, n = te, r = ee, a = Ob(V.rect);
|
|
19013
19038
|
if (!a) throw Error("Recording region is unavailable.");
|
|
19014
|
-
return
|
|
19015
|
-
|
|
19016
|
-
let s =
|
|
19017
|
-
|
|
19039
|
+
return fe = (async () => {
|
|
19040
|
+
oe && i.cancelAnimationFrame(oe), oe = 0, se && i.clearTimeout(se), se = 0;
|
|
19041
|
+
let s = ne;
|
|
19042
|
+
ne = null, s && await s;
|
|
19018
19043
|
let c = await n.finalize();
|
|
19019
|
-
if (
|
|
19020
|
-
let l = await
|
|
19044
|
+
if (te = null, ee = null, Uy(r), K !== e || de) throw Error("Recording was cancelled.");
|
|
19045
|
+
let l = await nb(c), u = {
|
|
19021
19046
|
blob: c,
|
|
19022
19047
|
format: "webm",
|
|
19023
19048
|
duration: l.duration,
|
|
@@ -19025,14 +19050,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19025
19050
|
height: l.height,
|
|
19026
19051
|
createdAt: Date.now()
|
|
19027
19052
|
};
|
|
19028
|
-
return
|
|
19053
|
+
return U = u, we(), De(), _e(), o.style.pointerEvents = "none", me({
|
|
19029
19054
|
status: "ready",
|
|
19030
19055
|
elapsed: l.duration,
|
|
19031
19056
|
duration: l.duration,
|
|
19032
19057
|
width: l.width,
|
|
19033
19058
|
height: l.height,
|
|
19034
19059
|
error: null
|
|
19035
|
-
}),
|
|
19060
|
+
}), Ne.show(u), await t.hook.emit("recording:ready", {
|
|
19036
19061
|
rect: a,
|
|
19037
19062
|
duration: l.duration,
|
|
19038
19063
|
width: l.width,
|
|
@@ -19040,45 +19065,45 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19040
19065
|
bytes: c.size
|
|
19041
19066
|
}), u;
|
|
19042
19067
|
})().catch(async (t) => {
|
|
19043
|
-
if (await
|
|
19068
|
+
if (await ke(!0), _e(), K === e && !de) {
|
|
19044
19069
|
let e = t instanceof Error ? t.message : "Could not finish the recording.";
|
|
19045
|
-
|
|
19070
|
+
me({
|
|
19046
19071
|
status: "error",
|
|
19047
19072
|
error: e
|
|
19048
|
-
}),
|
|
19073
|
+
}), Oe(t);
|
|
19049
19074
|
}
|
|
19050
19075
|
throw t;
|
|
19051
19076
|
}).finally(() => {
|
|
19052
|
-
|
|
19053
|
-
}),
|
|
19054
|
-
},
|
|
19055
|
-
let
|
|
19056
|
-
if (
|
|
19057
|
-
let s = Math.max(0, (
|
|
19058
|
-
|
|
19077
|
+
fe = null;
|
|
19078
|
+
}), fe;
|
|
19079
|
+
}, Fe = (e, t, n, r) => {
|
|
19080
|
+
let a = 1 / r, o = (r) => {
|
|
19081
|
+
if (de || K !== n || V.status !== "recording" || te !== t || ee !== e) return;
|
|
19082
|
+
let s = Math.max(0, (r - le) / 1e3);
|
|
19083
|
+
me({ elapsed: s }), R.textContent = `${String(Math.floor(s / 60)).padStart(2, "0")}:${String(Math.floor(s % 60)).padStart(2, "0")}`;
|
|
19059
19084
|
let c = s;
|
|
19060
|
-
!
|
|
19085
|
+
!ne && c - ue >= a * .8 && (Hy(e, V.rect ?? {
|
|
19061
19086
|
left: 0,
|
|
19062
19087
|
top: 0,
|
|
19063
19088
|
width: i.innerWidth,
|
|
19064
19089
|
height: i.innerHeight
|
|
19065
|
-
}, Ty(i)),
|
|
19066
|
-
throw
|
|
19067
|
-
|
|
19090
|
+
}, Ty(i)), ue = c, ne = t.addFrame(c, a).catch((e) => {
|
|
19091
|
+
throw K === n && !de && ke(!0).then(() => {
|
|
19092
|
+
_e();
|
|
19068
19093
|
let t = e instanceof Error ? e.message : "MediaBunny could not encode the recording.";
|
|
19069
|
-
|
|
19094
|
+
me({
|
|
19070
19095
|
status: "error",
|
|
19071
19096
|
error: t
|
|
19072
|
-
}),
|
|
19097
|
+
}), Oe(e);
|
|
19073
19098
|
}), e;
|
|
19074
19099
|
}).finally(() => {
|
|
19075
|
-
|
|
19076
|
-
})),
|
|
19100
|
+
ne = null;
|
|
19101
|
+
})), oe = i.requestAnimationFrame(o);
|
|
19077
19102
|
};
|
|
19078
|
-
|
|
19079
|
-
},
|
|
19080
|
-
let n = ++
|
|
19081
|
-
|
|
19103
|
+
oe = i.requestAnimationFrame(o);
|
|
19104
|
+
}, Ie = async (e) => {
|
|
19105
|
+
let n = ++K, a = p().frameRate;
|
|
19106
|
+
Ne.dismiss(), U = null, Te(), _e(), me({
|
|
19082
19107
|
status: "selecting",
|
|
19083
19108
|
elapsed: 0,
|
|
19084
19109
|
rect: e,
|
|
@@ -19088,47 +19113,47 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19088
19113
|
error: null
|
|
19089
19114
|
});
|
|
19090
19115
|
try {
|
|
19091
|
-
let
|
|
19092
|
-
if (
|
|
19093
|
-
|
|
19116
|
+
let s = await Vy(r, i, e, a);
|
|
19117
|
+
if (de || K !== n) {
|
|
19118
|
+
Uy(s);
|
|
19094
19119
|
return;
|
|
19095
19120
|
}
|
|
19096
|
-
let
|
|
19121
|
+
let c = await tb(s.canvas, {
|
|
19097
19122
|
format: "webm",
|
|
19098
|
-
frameRate:
|
|
19099
|
-
quality:
|
|
19123
|
+
frameRate: a,
|
|
19124
|
+
quality: f
|
|
19100
19125
|
});
|
|
19101
|
-
if (
|
|
19102
|
-
await
|
|
19126
|
+
if (de || K !== n) {
|
|
19127
|
+
await c.cancel(), Uy(s);
|
|
19103
19128
|
return;
|
|
19104
19129
|
}
|
|
19105
|
-
if (
|
|
19106
|
-
await
|
|
19130
|
+
if (ee = s, te = c, le = i.performance.now(), ue = 0, Hy(s, e, Ty(i)), await c.addFrame(0, 1 / a), de || K !== n) {
|
|
19131
|
+
await ke(!0);
|
|
19107
19132
|
return;
|
|
19108
19133
|
}
|
|
19109
|
-
|
|
19134
|
+
me({
|
|
19110
19135
|
status: "recording",
|
|
19111
19136
|
elapsed: 0
|
|
19112
|
-
}), o.style.pointerEvents = "none", u(!0),
|
|
19113
|
-
|
|
19114
|
-
}, { once: !0 }),
|
|
19115
|
-
|
|
19116
|
-
},
|
|
19137
|
+
}), o.style.pointerEvents = "none", u(!0), Ce(e), R.textContent = "00:00", Ee(e), Fe(s, c, n, a), s.track.addEventListener("ended", () => {
|
|
19138
|
+
K === n && V.status === "recording" && Pe().catch(() => void 0);
|
|
19139
|
+
}, { once: !0 }), se = i.setTimeout(() => {
|
|
19140
|
+
K === n && V.status === "recording" && Pe().catch(() => void 0);
|
|
19141
|
+
}, d * 1e3), await t.hook.emit("recording:start", {
|
|
19117
19142
|
rect: { ...e },
|
|
19118
|
-
frameRate:
|
|
19119
|
-
maxDurationSeconds:
|
|
19143
|
+
frameRate: a,
|
|
19144
|
+
maxDurationSeconds: d
|
|
19120
19145
|
});
|
|
19121
19146
|
} catch (t) {
|
|
19122
|
-
if (await
|
|
19147
|
+
if (await ke(!0), _e(), K !== n || de) return;
|
|
19123
19148
|
let r = t instanceof DOMException && t.name === "AbortError", i = r ? null : t instanceof Error ? t.message : "Could not start the recording.";
|
|
19124
|
-
throw
|
|
19149
|
+
throw me({
|
|
19125
19150
|
status: r ? "idle" : "error",
|
|
19126
19151
|
rect: r ? null : e,
|
|
19127
19152
|
error: i
|
|
19128
|
-
}), r ||
|
|
19153
|
+
}), r || Oe(t), t;
|
|
19129
19154
|
}
|
|
19130
|
-
},
|
|
19131
|
-
|
|
19155
|
+
}, Le = () => {
|
|
19156
|
+
V.status !== "selecting" && (++K, Ne.dismiss(), U = null, G = null, re = !1, ie = null, ge(), xe(null), h.style.display = "block", h.style.pointerEvents = "auto", y.style.removeProperty("display"), o.style.pointerEvents = "auto", me({
|
|
19132
19157
|
status: "selecting",
|
|
19133
19158
|
elapsed: 0,
|
|
19134
19159
|
rect: null,
|
|
@@ -19137,23 +19162,23 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19137
19162
|
height: null,
|
|
19138
19163
|
error: null
|
|
19139
19164
|
}));
|
|
19140
|
-
},
|
|
19141
|
-
if (
|
|
19142
|
-
await
|
|
19165
|
+
}, Re = async (e) => {
|
|
19166
|
+
if (V.status === "recording") {
|
|
19167
|
+
await Pe();
|
|
19143
19168
|
return;
|
|
19144
19169
|
}
|
|
19145
|
-
if (
|
|
19146
|
-
await
|
|
19170
|
+
if (V.status === "selecting") {
|
|
19171
|
+
await ze();
|
|
19147
19172
|
return;
|
|
19148
19173
|
}
|
|
19149
19174
|
if (!e) {
|
|
19150
|
-
|
|
19175
|
+
Le();
|
|
19151
19176
|
return;
|
|
19152
19177
|
}
|
|
19153
19178
|
if (e.width < 4 || e.height < 4) throw Error("Recording selection must be at least 4px by 4px.");
|
|
19154
|
-
await
|
|
19155
|
-
},
|
|
19156
|
-
++
|
|
19179
|
+
await Ie(e);
|
|
19180
|
+
}, ze = async () => {
|
|
19181
|
+
++K, Te(), await ke(!0), _e(), V.status !== "ready" && me({
|
|
19157
19182
|
status: "idle",
|
|
19158
19183
|
elapsed: 0,
|
|
19159
19184
|
rect: null,
|
|
@@ -19162,33 +19187,33 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19162
19187
|
height: null,
|
|
19163
19188
|
error: null
|
|
19164
19189
|
});
|
|
19165
|
-
},
|
|
19166
|
-
let r =
|
|
19167
|
-
!
|
|
19190
|
+
}, Be = (e, t, n) => {
|
|
19191
|
+
let r = G;
|
|
19192
|
+
!re || !r || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), ie = {
|
|
19168
19193
|
kind: t,
|
|
19169
19194
|
handle: n,
|
|
19170
19195
|
pointerId: e.pointerId,
|
|
19171
19196
|
startX: e.clientX,
|
|
19172
19197
|
startY: e.clientY,
|
|
19173
19198
|
rect: { ...r }
|
|
19174
|
-
},
|
|
19175
|
-
},
|
|
19176
|
-
|
|
19199
|
+
}, h.setPointerCapture?.(e.pointerId));
|
|
19200
|
+
}, Ve = (e) => {
|
|
19201
|
+
V.status === "selecting" && e.button === 0 && (re && G && be(G, {
|
|
19177
19202
|
x: e.clientX,
|
|
19178
19203
|
y: e.clientY
|
|
19179
|
-
}) || (e.preventDefault(), e.stopPropagation(),
|
|
19204
|
+
}) || (e.preventDefault(), e.stopPropagation(), re = !1, G = null, me({ rect: null }), h.style.cursor = "crosshair", W = {
|
|
19180
19205
|
x: e.clientX,
|
|
19181
19206
|
y: e.clientY
|
|
19182
|
-
},
|
|
19207
|
+
}, xe(qa(W, W, {
|
|
19183
19208
|
width: i.innerWidth,
|
|
19184
19209
|
height: i.innerHeight
|
|
19185
|
-
})),
|
|
19186
|
-
},
|
|
19187
|
-
if (
|
|
19188
|
-
if (
|
|
19189
|
-
let t =
|
|
19210
|
+
})), h.setPointerCapture?.(e.pointerId)));
|
|
19211
|
+
}, He = (e) => {
|
|
19212
|
+
if (V.status === "selecting") {
|
|
19213
|
+
if (ie) {
|
|
19214
|
+
let t = ie, n = e.clientX - t.startX, r = e.clientY - t.startY, a = i.innerWidth, o = i.innerHeight;
|
|
19190
19215
|
if (t.kind === "move") {
|
|
19191
|
-
|
|
19216
|
+
Se({
|
|
19192
19217
|
...t.rect,
|
|
19193
19218
|
left: t.rect.left + n,
|
|
19194
19219
|
top: t.rect.top + r
|
|
@@ -19196,7 +19221,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19196
19221
|
return;
|
|
19197
19222
|
}
|
|
19198
19223
|
let s = t.handle ?? "", c = t.rect.left, l = t.rect.top, u = t.rect.left + t.rect.width, d = t.rect.top + t.rect.height;
|
|
19199
|
-
s.includes("w") && (c = Math.min(u - 4, Math.max(0, t.rect.left + n))), s.includes("e") && (u = Math.max(c + 4, Math.min(a, t.rect.left + t.rect.width + n))), s.includes("n") && (l = Math.min(d - 4, Math.max(0, t.rect.top + r))), s.includes("s") && (d = Math.max(l + 4, Math.min(o, t.rect.top + t.rect.height + r))),
|
|
19224
|
+
s.includes("w") && (c = Math.min(u - 4, Math.max(0, t.rect.left + n))), s.includes("e") && (u = Math.max(c + 4, Math.min(a, t.rect.left + t.rect.width + n))), s.includes("n") && (l = Math.min(d - 4, Math.max(0, t.rect.top + r))), s.includes("s") && (d = Math.max(l + 4, Math.min(o, t.rect.top + t.rect.height + r))), Se({
|
|
19200
19225
|
left: c,
|
|
19201
19226
|
top: l,
|
|
19202
19227
|
width: u - c,
|
|
@@ -19204,7 +19229,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19204
19229
|
});
|
|
19205
19230
|
return;
|
|
19206
19231
|
}
|
|
19207
|
-
|
|
19232
|
+
W && xe(qa(W, {
|
|
19208
19233
|
x: e.clientX,
|
|
19209
19234
|
y: e.clientY
|
|
19210
19235
|
}, {
|
|
@@ -19212,14 +19237,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19212
19237
|
height: i.innerHeight
|
|
19213
19238
|
}));
|
|
19214
19239
|
}
|
|
19215
|
-
},
|
|
19216
|
-
if (
|
|
19217
|
-
|
|
19240
|
+
}, Ue = (e) => {
|
|
19241
|
+
if (ie) {
|
|
19242
|
+
ie = null, h.hasPointerCapture?.(e.pointerId) && h.releasePointerCapture(e.pointerId), G && xe(G);
|
|
19218
19243
|
return;
|
|
19219
19244
|
}
|
|
19220
|
-
let t =
|
|
19221
|
-
if (
|
|
19222
|
-
|
|
19245
|
+
let t = W;
|
|
19246
|
+
if (W = null, V.status !== "selecting" || !t) return;
|
|
19247
|
+
h.hasPointerCapture?.(e.pointerId) && h.releasePointerCapture(e.pointerId);
|
|
19223
19248
|
let n = qa(t, {
|
|
19224
19249
|
x: e.clientX,
|
|
19225
19250
|
y: e.clientY
|
|
@@ -19228,91 +19253,93 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19228
19253
|
height: i.innerHeight
|
|
19229
19254
|
});
|
|
19230
19255
|
if (n.width < 4 || n.height < 4) {
|
|
19231
|
-
|
|
19256
|
+
G = null, re = !1, me({ rect: null }), xe(null);
|
|
19232
19257
|
return;
|
|
19233
19258
|
}
|
|
19234
|
-
|
|
19259
|
+
G = ye(n), re = !0, h.style.cursor = "default", me({ rect: G }), xe(G);
|
|
19260
|
+
}, We = (e) => {
|
|
19261
|
+
W = null, ie = null, h.hasPointerCapture?.(e.pointerId) && h.releasePointerCapture(e.pointerId), xe(G && re ? G : null);
|
|
19235
19262
|
}, Ge = (e) => {
|
|
19236
|
-
|
|
19237
|
-
|
|
19238
|
-
if (e.key === "Enter" && H.status === "selecting" && G && ie) {
|
|
19239
|
-
e.preventDefault(), e.stopImmediatePropagation(), Le(ie).catch(() => void 0);
|
|
19263
|
+
if (e.key === "Enter" && V.status === "selecting" && re && G) {
|
|
19264
|
+
e.preventDefault(), e.stopImmediatePropagation(), Ie(G).catch(() => void 0);
|
|
19240
19265
|
return;
|
|
19241
19266
|
}
|
|
19242
19267
|
if (e.key === "Escape") {
|
|
19243
|
-
if (
|
|
19244
|
-
e.preventDefault(), e.stopImmediatePropagation(),
|
|
19268
|
+
if (V.status === "selecting") {
|
|
19269
|
+
e.preventDefault(), e.stopImmediatePropagation(), ze();
|
|
19245
19270
|
return;
|
|
19246
19271
|
}
|
|
19247
|
-
|
|
19272
|
+
V.status === "recording" && (e.preventDefault(), e.stopImmediatePropagation(), Pe().catch(() => void 0));
|
|
19248
19273
|
}
|
|
19249
19274
|
};
|
|
19250
|
-
|
|
19275
|
+
h.addEventListener("pointerdown", Ve), h.addEventListener("pointermove", He), h.addEventListener("pointerup", Ue), h.addEventListener("pointercancel", We), i.addEventListener("keydown", Ge, !0), _.addEventListener("pointerdown", (e) => {
|
|
19251
19276
|
let t = e.target;
|
|
19252
|
-
t instanceof Element && t.closest("[data-mesurer-recording-resize]") ||
|
|
19277
|
+
t instanceof Element && t.closest("[data-mesurer-recording-resize]") || Be(e, "move");
|
|
19253
19278
|
});
|
|
19254
|
-
for (let e of
|
|
19255
|
-
|
|
19279
|
+
for (let e of F) e.addEventListener("pointerdown", (t) => {
|
|
19280
|
+
Be(t, "resize", e.dataset.mesurerRecordingResize);
|
|
19256
19281
|
});
|
|
19257
|
-
|
|
19282
|
+
b.addEventListener("pointerdown", (e) => {
|
|
19258
19283
|
e.stopPropagation();
|
|
19259
|
-
}),
|
|
19284
|
+
}), b.addEventListener("click", (e) => {
|
|
19260
19285
|
e.stopPropagation();
|
|
19261
19286
|
});
|
|
19262
|
-
let
|
|
19263
|
-
let n =
|
|
19264
|
-
!n || !Number.isFinite(r) ||
|
|
19287
|
+
let Ke = (e, t) => {
|
|
19288
|
+
let n = G, r = Number(e.value);
|
|
19289
|
+
!n || !Number.isFinite(r) || Se({
|
|
19265
19290
|
...n,
|
|
19266
19291
|
[t]: r
|
|
19267
19292
|
});
|
|
19268
19293
|
};
|
|
19269
|
-
|
|
19270
|
-
|
|
19271
|
-
}),
|
|
19272
|
-
|
|
19294
|
+
w.addEventListener("change", () => Ke(w, "width")), T.addEventListener("change", () => Ke(T, "height")), k.addEventListener("change", () => Ke(k, "left")), A.addEventListener("change", () => Ke(A, "top")), M.addEventListener("click", () => {
|
|
19295
|
+
V.status === "selecting" && re && G && Ie(G).catch(() => void 0);
|
|
19296
|
+
}), z.addEventListener("click", () => {
|
|
19297
|
+
V.status === "recording" && Pe().catch(() => void 0);
|
|
19273
19298
|
});
|
|
19274
|
-
let
|
|
19275
|
-
snapshot: () =>
|
|
19299
|
+
let qe = {
|
|
19300
|
+
snapshot: () => kb(V),
|
|
19276
19301
|
subscribe(e) {
|
|
19277
|
-
return
|
|
19302
|
+
return H.add(e), () => H.delete(e);
|
|
19278
19303
|
},
|
|
19279
|
-
|
|
19280
|
-
|
|
19281
|
-
|
|
19282
|
-
|
|
19283
|
-
|
|
19284
|
-
|
|
19304
|
+
settings: p,
|
|
19305
|
+
setSettings: m,
|
|
19306
|
+
formats: je,
|
|
19307
|
+
start: Re,
|
|
19308
|
+
stop: Pe,
|
|
19309
|
+
cancel: ze,
|
|
19310
|
+
discard: Ae,
|
|
19311
|
+
export: Me
|
|
19285
19312
|
};
|
|
19286
19313
|
t.tool.register({
|
|
19287
19314
|
id: "recording",
|
|
19288
19315
|
label: "Record",
|
|
19289
19316
|
shortcut: "Shift+R",
|
|
19290
19317
|
order: 72,
|
|
19291
|
-
command:
|
|
19318
|
+
command: bb,
|
|
19292
19319
|
toolbarMode: "select",
|
|
19293
|
-
icon:
|
|
19294
|
-
active:
|
|
19295
|
-
hidden: () => !
|
|
19320
|
+
icon: Db,
|
|
19321
|
+
active: he,
|
|
19322
|
+
hidden: () => !p().toolEnabled,
|
|
19296
19323
|
menu: {
|
|
19297
19324
|
label: "Recording options",
|
|
19298
19325
|
items: [
|
|
19299
19326
|
{
|
|
19300
19327
|
id: "new",
|
|
19301
19328
|
label: "New recording",
|
|
19302
|
-
disabled: () =>
|
|
19303
|
-
run: () =>
|
|
19329
|
+
disabled: () => V.status === "recording" || V.status === "exporting",
|
|
19330
|
+
run: () => Re()
|
|
19304
19331
|
},
|
|
19305
19332
|
{
|
|
19306
19333
|
id: "stop",
|
|
19307
19334
|
label: "Stop recording",
|
|
19308
|
-
disabled: () =>
|
|
19309
|
-
run: () =>
|
|
19335
|
+
disabled: () => V.status !== "recording",
|
|
19336
|
+
run: () => Pe().then(() => void 0)
|
|
19310
19337
|
},
|
|
19311
19338
|
{
|
|
19312
19339
|
id: "discard",
|
|
19313
19340
|
label: "Discard clip",
|
|
19314
|
-
disabled: () =>
|
|
19315
|
-
run:
|
|
19341
|
+
disabled: () => U === null,
|
|
19342
|
+
run: Ae
|
|
19316
19343
|
}
|
|
19317
19344
|
]
|
|
19318
19345
|
}
|
|
@@ -19325,26 +19352,36 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19325
19352
|
id: "tool",
|
|
19326
19353
|
label: "Recording tool",
|
|
19327
19354
|
description: "Show selected-region video recording in the Select toolbar.",
|
|
19328
|
-
value: () =>
|
|
19355
|
+
value: () => p().toolEnabled,
|
|
19329
19356
|
set: async (e) => {
|
|
19330
|
-
|
|
19357
|
+
m({ toolEnabled: e }), !e && he() && await ze();
|
|
19358
|
+
}
|
|
19359
|
+
}, {
|
|
19360
|
+
type: "toggle",
|
|
19361
|
+
id: "120-fps",
|
|
19362
|
+
label: "120 fps",
|
|
19363
|
+
description: "Record at 120 fps when the capture source supports it. Off records at 60 fps.",
|
|
19364
|
+
value: () => p().frameRate === 120,
|
|
19365
|
+
disabled: he,
|
|
19366
|
+
set: (e) => {
|
|
19367
|
+
m({ frameRate: e ? 120 : 60 });
|
|
19331
19368
|
}
|
|
19332
19369
|
}]
|
|
19333
|
-
}), t.command.register(
|
|
19334
|
-
let t = await
|
|
19335
|
-
return
|
|
19336
|
-
}), t.service.provide(
|
|
19337
|
-
|
|
19370
|
+
}), t.command.register(bb, async () => (await Re(), Pb(V))), t.command.register(xb, async () => Ib(await Pe())), t.command.register(Sb, () => (Ae(), Pb(V))), t.command.register(Cb, async (e) => {
|
|
19371
|
+
let t = await Me(Nb(e));
|
|
19372
|
+
return Lb(t, r, i), Fb(t);
|
|
19373
|
+
}), t.service.provide(_b, qe), t.lifecycle.onDispose(() => {
|
|
19374
|
+
de = !0, ++K, H.clear(), h.removeEventListener("pointerdown", Ve), h.removeEventListener("pointermove", He), h.removeEventListener("pointerup", Ue), h.removeEventListener("pointercancel", We), i.removeEventListener("keydown", Ge, !0), ce && i.clearTimeout(ce), Ne.dispose(), Te(), _e(), ke(!0), s.dispose(), a.dispose();
|
|
19338
19375
|
});
|
|
19339
19376
|
}
|
|
19340
|
-
}),
|
|
19377
|
+
}), zb = 144, Bb = 96, Vb = 8, Hb = 4, Ub = 1800, Wb = (e, t) => {
|
|
19341
19378
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
19342
|
-
},
|
|
19343
|
-
left: Math.min(Math.max(
|
|
19344
|
-
top: Math.min(Math.max(
|
|
19345
|
-
}),
|
|
19379
|
+
}, Gb = (e, t) => ({
|
|
19380
|
+
left: Math.min(Math.max(Vb, e.left), Math.max(Vb, t.innerWidth - zb - Vb)),
|
|
19381
|
+
top: Math.min(Math.max(Vb, e.top), Math.max(Vb, t.innerHeight - Bb - Vb))
|
|
19382
|
+
}), Kb = (e, t) => {
|
|
19346
19383
|
let n = e.createElement("button");
|
|
19347
|
-
return n.type = "button", n.textContent = t,
|
|
19384
|
+
return n.type = "button", n.textContent = t, Wb(n, {
|
|
19348
19385
|
height: "32px",
|
|
19349
19386
|
padding: "0 12px",
|
|
19350
19387
|
border: "1px solid rgb(255 255 255 / 18%)",
|
|
@@ -19356,11 +19393,11 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19356
19393
|
"font-weight": "500",
|
|
19357
19394
|
cursor: "pointer"
|
|
19358
19395
|
}), n;
|
|
19359
|
-
},
|
|
19396
|
+
}, qb = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", Jb = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Yb = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
|
|
19360
19397
|
let i = n.closest("[data-mesurer-root='true']")?.parentNode ?? n.parentNode;
|
|
19361
|
-
if (!
|
|
19398
|
+
if (!Jb(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
|
|
19362
19399
|
let a = e.createElement("div");
|
|
19363
|
-
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true",
|
|
19400
|
+
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Wb(a, {
|
|
19364
19401
|
position: "fixed",
|
|
19365
19402
|
left: "0",
|
|
19366
19403
|
top: "0",
|
|
@@ -19372,12 +19409,12 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19372
19409
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
19373
19410
|
}), i.append(a);
|
|
19374
19411
|
let o = e.createElement("div");
|
|
19375
|
-
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0,
|
|
19412
|
+
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Wb(o, {
|
|
19376
19413
|
position: "fixed",
|
|
19377
19414
|
display: "none",
|
|
19378
19415
|
"z-index": "96",
|
|
19379
|
-
width: `${
|
|
19380
|
-
height: `${
|
|
19416
|
+
width: `${zb}px`,
|
|
19417
|
+
height: `${Bb}px`,
|
|
19381
19418
|
"box-sizing": "border-box",
|
|
19382
19419
|
overflow: "hidden",
|
|
19383
19420
|
"border-radius": "10px",
|
|
@@ -19390,7 +19427,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19390
19427
|
"touch-action": "none"
|
|
19391
19428
|
});
|
|
19392
19429
|
let s = e.createElement("img");
|
|
19393
|
-
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions",
|
|
19430
|
+
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Wb(s, {
|
|
19394
19431
|
display: "block",
|
|
19395
19432
|
width: "100%",
|
|
19396
19433
|
height: "100%",
|
|
@@ -19398,7 +19435,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19398
19435
|
"background-color": "white"
|
|
19399
19436
|
}), o.append(s);
|
|
19400
19437
|
let c = e.createElement("button");
|
|
19401
|
-
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss",
|
|
19438
|
+
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Wb(c, {
|
|
19402
19439
|
position: "absolute",
|
|
19403
19440
|
top: "8px",
|
|
19404
19441
|
right: "8px",
|
|
@@ -19424,7 +19461,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19424
19461
|
let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
19425
19462
|
u.setAttribute("d", "m4 4 8 8M12 4l-8 8"), u.setAttribute("stroke", "currentColor"), u.setAttribute("stroke-width", "1.75"), u.setAttribute("stroke-linecap", "round"), l.append(u), c.append(l), o.append(c), a.append(o);
|
|
19426
19463
|
let d = e.createElement("div");
|
|
19427
|
-
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"),
|
|
19464
|
+
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Wb(d, {
|
|
19428
19465
|
position: "fixed",
|
|
19429
19466
|
inset: "0",
|
|
19430
19467
|
display: "none",
|
|
@@ -19438,7 +19475,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19438
19475
|
"pointer-events": "auto"
|
|
19439
19476
|
});
|
|
19440
19477
|
let f = e.createElement("img");
|
|
19441
|
-
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot",
|
|
19478
|
+
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Wb(f, {
|
|
19442
19479
|
display: "block",
|
|
19443
19480
|
"max-width": "calc(100vw - 96px)",
|
|
19444
19481
|
"max-height": "calc(100vh - 112px)",
|
|
@@ -19449,7 +19486,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19449
19486
|
"box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
|
|
19450
19487
|
}), d.append(f);
|
|
19451
19488
|
let p = e.createElement("div");
|
|
19452
|
-
p.dataset.mesurerScreenshotViewerControls = "true",
|
|
19489
|
+
p.dataset.mesurerScreenshotViewerControls = "true", Wb(p, {
|
|
19453
19490
|
position: "fixed",
|
|
19454
19491
|
top: "16px",
|
|
19455
19492
|
right: "16px",
|
|
@@ -19457,14 +19494,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19457
19494
|
gap: "8px",
|
|
19458
19495
|
"pointer-events": "auto"
|
|
19459
19496
|
});
|
|
19460
|
-
let m =
|
|
19497
|
+
let m = Kb(e, "Copy");
|
|
19461
19498
|
m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
|
|
19462
|
-
let h =
|
|
19499
|
+
let h = Kb(e, "Save");
|
|
19463
19500
|
h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
|
|
19464
|
-
let g =
|
|
19501
|
+
let g = Kb(e, "Close");
|
|
19465
19502
|
g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
|
|
19466
19503
|
let _ = e.createElement("div");
|
|
19467
|
-
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"),
|
|
19504
|
+
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Wb(_, {
|
|
19468
19505
|
position: "fixed",
|
|
19469
19506
|
left: "50%",
|
|
19470
19507
|
bottom: "20px",
|
|
@@ -19486,18 +19523,18 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19486
19523
|
}, D = (e, n = !1) => {
|
|
19487
19524
|
E(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
|
|
19488
19525
|
C = 0, _.style.display = "none";
|
|
19489
|
-
},
|
|
19526
|
+
}, Ub);
|
|
19490
19527
|
}, O = () => {
|
|
19491
19528
|
d.style.display = "none";
|
|
19492
19529
|
}, k = () => {
|
|
19493
19530
|
y && globalThis.URL.revokeObjectURL(y), y = null, v = null, s.removeAttribute("src"), f.removeAttribute("src");
|
|
19494
19531
|
}, A = () => {
|
|
19495
19532
|
T(), O(), o.style.display = "none", k();
|
|
19496
|
-
}, j = () =>
|
|
19497
|
-
left: t.innerWidth -
|
|
19498
|
-
top: t.innerHeight -
|
|
19533
|
+
}, j = () => Gb({
|
|
19534
|
+
left: t.innerWidth - zb - Vb,
|
|
19535
|
+
top: t.innerHeight - Bb - Vb
|
|
19499
19536
|
}, t), M = (e) => {
|
|
19500
|
-
let n =
|
|
19537
|
+
let n = Gb(e, t);
|
|
19501
19538
|
b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
|
|
19502
19539
|
}, N = () => {
|
|
19503
19540
|
!v || !y || (T(), d.style.display = "flex", g.focus());
|
|
@@ -19531,7 +19568,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19531
19568
|
let n = x;
|
|
19532
19569
|
if (!n) return;
|
|
19533
19570
|
let r = e - n.startX, i = t - n.startY;
|
|
19534
|
-
!n.moved && Math.hypot(r, i) >=
|
|
19571
|
+
!n.moved && Math.hypot(r, i) >= Hb && (n.moved = !0), n.moved && M({
|
|
19535
19572
|
left: n.left + r,
|
|
19536
19573
|
top: n.top + i
|
|
19537
19574
|
});
|
|
@@ -19559,41 +19596,41 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19559
19596
|
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), z());
|
|
19560
19597
|
}, W = (e) => {
|
|
19561
19598
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), N());
|
|
19562
|
-
},
|
|
19599
|
+
}, G = (e) => {
|
|
19563
19600
|
e.target !== s && e.preventDefault();
|
|
19564
|
-
},
|
|
19601
|
+
}, re = (e) => {
|
|
19565
19602
|
e.target === d && O();
|
|
19566
|
-
},
|
|
19603
|
+
}, ie = (e) => {
|
|
19567
19604
|
e.key === "Escape" && d.style.display !== "none" && (e.preventDefault(), e.stopImmediatePropagation(), O());
|
|
19568
19605
|
};
|
|
19569
19606
|
return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
|
|
19570
19607
|
e.stopPropagation(), A();
|
|
19571
|
-
}), o.addEventListener("mousedown", B), o.addEventListener("pointerdown", U), o.addEventListener("keydown", W), o.addEventListener("contextmenu",
|
|
19608
|
+
}), o.addEventListener("mousedown", B), o.addEventListener("pointerdown", U), o.addEventListener("keydown", W), o.addEventListener("contextmenu", G), d.addEventListener("click", re), m.addEventListener("click", () => {
|
|
19572
19609
|
P();
|
|
19573
|
-
}), h.addEventListener("click", F), g.addEventListener("click", O), t.addEventListener("mousemove", V, !0), t.addEventListener("mouseup", H, !0), t.addEventListener("pointermove", ee, !0), t.addEventListener("pointerup", te, !0), t.addEventListener("pointercancel", ne, !0), t.addEventListener("keydown",
|
|
19610
|
+
}), h.addEventListener("click", F), g.addEventListener("click", O), t.addEventListener("mousemove", V, !0), t.addEventListener("mouseup", H, !0), t.addEventListener("pointermove", ee, !0), t.addEventListener("pointerup", te, !0), t.addEventListener("pointercancel", ne, !0), t.addEventListener("keydown", ie, !0), {
|
|
19574
19611
|
show(e, n) {
|
|
19575
19612
|
if (w) return;
|
|
19576
19613
|
T(), O(), k(), v = e;
|
|
19577
19614
|
let i = globalThis.URL.createObjectURL(e);
|
|
19578
|
-
y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(
|
|
19615
|
+
y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(qb(n)), r > 0 && (S = t.setTimeout(A, r));
|
|
19579
19616
|
},
|
|
19580
19617
|
dismiss: A,
|
|
19581
19618
|
dispose() {
|
|
19582
|
-
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", V, !0), t.removeEventListener("mouseup", H, !0), t.removeEventListener("pointermove", ee, !0), t.removeEventListener("pointerup", te, !0), t.removeEventListener("pointercancel", ne, !0), t.removeEventListener("keydown",
|
|
19619
|
+
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", V, !0), t.removeEventListener("mouseup", H, !0), t.removeEventListener("pointermove", ee, !0), t.removeEventListener("pointerup", te, !0), t.removeEventListener("pointercancel", ne, !0), t.removeEventListener("keydown", ie, !0), o.removeEventListener("mousedown", B), o.removeEventListener("pointerdown", U), o.removeEventListener("keydown", W), o.removeEventListener("contextmenu", G), d.removeEventListener("click", re), a.remove());
|
|
19583
19620
|
}
|
|
19584
19621
|
};
|
|
19585
|
-
},
|
|
19622
|
+
}, Xb = "mesurer.screenshot", Zb = "screenshot", Qb = "mesurer.screenshot.settings", $b = "mesurer.screenshot.active", ex = "runtime:solid", tx = "screenshot.toggle", nx = 2500, rx = 0, ix = [
|
|
19586
19623
|
"[data-mesurer-measurement='true']",
|
|
19587
19624
|
"[data-mesurer-selected-measurement='true']",
|
|
19588
19625
|
"[data-mesurer-selection-spacing-target='true']",
|
|
19589
19626
|
"[data-mesurer-guide='true']",
|
|
19590
19627
|
"[data-mesurer-distance='true']"
|
|
19591
|
-
].join(","),
|
|
19628
|
+
].join(","), ax = `${ix},[data-mesurer-rulers='true']`, ox = {
|
|
19592
19629
|
viewBox: "0 0 256 256",
|
|
19593
19630
|
paths: ["m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z", "m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z"]
|
|
19594
|
-
}, ox = (e, t) => {
|
|
19595
|
-
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
19596
19631
|
}, sx = (e, t) => {
|
|
19632
|
+
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
19633
|
+
}, cx = (e, t) => {
|
|
19597
19634
|
for (let n of [
|
|
19598
19635
|
"left",
|
|
19599
19636
|
"top",
|
|
@@ -19605,63 +19642,63 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19605
19642
|
let r = t[n];
|
|
19606
19643
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
19607
19644
|
}
|
|
19608
|
-
},
|
|
19609
|
-
let t = e(
|
|
19645
|
+
}, lx = (e) => {
|
|
19646
|
+
let t = e(Qb);
|
|
19610
19647
|
return {
|
|
19611
19648
|
toolEnabled: t?.toolEnabled ?? !0,
|
|
19612
19649
|
copy: t?.copy ?? !0,
|
|
19613
19650
|
download: t?.download ?? !1,
|
|
19614
19651
|
includeMeasurements: t?.includeMeasurements ?? !1
|
|
19615
19652
|
};
|
|
19616
|
-
},
|
|
19653
|
+
}, ux = (e) => ({
|
|
19617
19654
|
value: e.style.getPropertyValue("display"),
|
|
19618
19655
|
priority: e.style.getPropertyPriority("display")
|
|
19619
|
-
}),
|
|
19656
|
+
}), dx = (e, t) => {
|
|
19620
19657
|
t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
19621
|
-
},
|
|
19658
|
+
}, fx = (e, t) => {
|
|
19622
19659
|
let n = e;
|
|
19623
19660
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
19624
19661
|
return n.parentElement === t ? n : null;
|
|
19625
|
-
},
|
|
19662
|
+
}, px = (e) => {
|
|
19626
19663
|
let t = e.querySelector("[data-mesurer-root='true']");
|
|
19627
19664
|
if (!t) return () => void 0;
|
|
19628
19665
|
let n = /* @__PURE__ */ new Set();
|
|
19629
19666
|
for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
|
|
19630
|
-
let r =
|
|
19667
|
+
let r = fx(e, t);
|
|
19631
19668
|
r && n.add(r);
|
|
19632
19669
|
}
|
|
19633
|
-
for (let e of t.querySelectorAll(
|
|
19634
|
-
let r =
|
|
19670
|
+
for (let e of t.querySelectorAll(ix)) {
|
|
19671
|
+
let r = fx(e, t);
|
|
19635
19672
|
r && n.add(r);
|
|
19636
19673
|
}
|
|
19637
19674
|
let r = [];
|
|
19638
19675
|
for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
|
|
19639
19676
|
element: e,
|
|
19640
|
-
display:
|
|
19677
|
+
display: ux(e)
|
|
19641
19678
|
}), e.style.setProperty("display", "none", "important"));
|
|
19642
19679
|
return () => {
|
|
19643
|
-
for (let e of r)
|
|
19680
|
+
for (let e of r) dx(e.element, e.display);
|
|
19644
19681
|
};
|
|
19645
|
-
},
|
|
19682
|
+
}, mx = (e) => Array.from(e.querySelectorAll(ax)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
|
|
19646
19683
|
element: e,
|
|
19647
|
-
display:
|
|
19648
|
-
})),
|
|
19649
|
-
for (let t of e) t.element.isConnected &&
|
|
19650
|
-
},
|
|
19651
|
-
id:
|
|
19684
|
+
display: ux(e)
|
|
19685
|
+
})), hx = (e) => {
|
|
19686
|
+
for (let t of e) t.element.isConnected && dx(t.element, t.display);
|
|
19687
|
+
}, gx = (e = {}) => Ta({
|
|
19688
|
+
id: Xb,
|
|
19652
19689
|
version: "0.1.0",
|
|
19653
|
-
requires: [
|
|
19690
|
+
requires: [ex],
|
|
19654
19691
|
provides: [
|
|
19655
19692
|
"tool:screenshot",
|
|
19656
19693
|
"capture:screenshot",
|
|
19657
19694
|
"settings:screenshot"
|
|
19658
19695
|
],
|
|
19659
19696
|
setup(t) {
|
|
19660
|
-
let n = t.service.get(
|
|
19697
|
+
let n = t.service.get(ex);
|
|
19661
19698
|
if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
|
|
19662
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? _o, l = e.previewDurationMs ??
|
|
19699
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? _o, l = e.previewDurationMs ?? rx;
|
|
19663
19700
|
t.state.register({
|
|
19664
|
-
id:
|
|
19701
|
+
id: Qb,
|
|
19665
19702
|
initial: {
|
|
19666
19703
|
toolEnabled: e.toolEnabled ?? !0,
|
|
19667
19704
|
copy: e.copy ?? !0,
|
|
@@ -19670,11 +19707,11 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19670
19707
|
},
|
|
19671
19708
|
persist: !0
|
|
19672
19709
|
}), t.state.register({
|
|
19673
|
-
id:
|
|
19710
|
+
id: $b,
|
|
19674
19711
|
initial: !1
|
|
19675
19712
|
});
|
|
19676
19713
|
let u = o.element;
|
|
19677
|
-
u.dataset.mesurerScreenshot = "true",
|
|
19714
|
+
u.dataset.mesurerScreenshot = "true", sx(u, {
|
|
19678
19715
|
position: "fixed",
|
|
19679
19716
|
inset: "0",
|
|
19680
19717
|
"z-index": "85",
|
|
@@ -19682,7 +19719,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19682
19719
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
19683
19720
|
});
|
|
19684
19721
|
let d = r.createElement("div");
|
|
19685
|
-
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"),
|
|
19722
|
+
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), sx(d, {
|
|
19686
19723
|
position: "fixed",
|
|
19687
19724
|
inset: "0",
|
|
19688
19725
|
display: "none",
|
|
@@ -19694,13 +19731,13 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19694
19731
|
}), u.append(d);
|
|
19695
19732
|
let f = Array.from({ length: 4 }, () => {
|
|
19696
19733
|
let e = r.createElement("div");
|
|
19697
|
-
return
|
|
19734
|
+
return sx(e, {
|
|
19698
19735
|
position: "fixed",
|
|
19699
19736
|
"background-color": "rgb(0 0 0 / 40%)",
|
|
19700
19737
|
"pointer-events": "none"
|
|
19701
19738
|
}), d.append(e), e;
|
|
19702
19739
|
}), p = r.createElement("div");
|
|
19703
|
-
|
|
19740
|
+
sx(p, {
|
|
19704
19741
|
position: "fixed",
|
|
19705
19742
|
display: "none",
|
|
19706
19743
|
border: "1px solid #0d99ff",
|
|
@@ -19708,7 +19745,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19708
19745
|
"pointer-events": "none"
|
|
19709
19746
|
}), d.append(p);
|
|
19710
19747
|
let m = r.createElement("div");
|
|
19711
|
-
|
|
19748
|
+
sx(m, {
|
|
19712
19749
|
position: "fixed",
|
|
19713
19750
|
display: "none",
|
|
19714
19751
|
"z-index": "86",
|
|
@@ -19722,7 +19759,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19722
19759
|
"pointer-events": "none"
|
|
19723
19760
|
}), d.append(m);
|
|
19724
19761
|
let h = r.createElement("div");
|
|
19725
|
-
h.textContent = "Drag to select · Esc to cancel",
|
|
19762
|
+
h.textContent = "Drag to select · Esc to cancel", sx(h, {
|
|
19726
19763
|
position: "fixed",
|
|
19727
19764
|
left: "50%",
|
|
19728
19765
|
bottom: "16px",
|
|
@@ -19735,7 +19772,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19735
19772
|
"pointer-events": "none"
|
|
19736
19773
|
}), d.append(h);
|
|
19737
19774
|
let g = r.createElement("div");
|
|
19738
|
-
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot",
|
|
19775
|
+
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", sx(g, {
|
|
19739
19776
|
position: "fixed",
|
|
19740
19777
|
display: "none",
|
|
19741
19778
|
"z-index": "97",
|
|
@@ -19746,8 +19783,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19746
19783
|
"font-size": "11px",
|
|
19747
19784
|
"pointer-events": "none"
|
|
19748
19785
|
}), u.append(g);
|
|
19749
|
-
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () =>
|
|
19750
|
-
t.state.update(
|
|
19786
|
+
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => lx(t.state.get), E = (e) => {
|
|
19787
|
+
t.state.update(Qb, (t) => {
|
|
19751
19788
|
let n = { ...t };
|
|
19752
19789
|
return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), e.copy !== void 0 && (n.copy = e.copy), e.download !== void 0 && (n.download = e.download), e.includeMeasurements !== void 0 && (n.includeMeasurements = e.includeMeasurements), n;
|
|
19753
19790
|
});
|
|
@@ -19770,13 +19807,13 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19770
19807
|
}, A = (e) => {
|
|
19771
19808
|
let t = i.innerWidth, n = i.innerHeight;
|
|
19772
19809
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
19773
|
-
|
|
19810
|
+
cx(f[0], {
|
|
19774
19811
|
left: 0,
|
|
19775
19812
|
top: 0,
|
|
19776
19813
|
width: t,
|
|
19777
19814
|
height: n
|
|
19778
19815
|
});
|
|
19779
|
-
for (let e of f.slice(1))
|
|
19816
|
+
for (let e of f.slice(1)) cx(e, {
|
|
19780
19817
|
left: 0,
|
|
19781
19818
|
top: 0,
|
|
19782
19819
|
width: 0,
|
|
@@ -19785,31 +19822,31 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19785
19822
|
p.style.display = "none", m.style.display = "none";
|
|
19786
19823
|
return;
|
|
19787
19824
|
}
|
|
19788
|
-
|
|
19825
|
+
cx(f[0], {
|
|
19789
19826
|
left: 0,
|
|
19790
19827
|
top: 0,
|
|
19791
19828
|
width: t,
|
|
19792
19829
|
height: e.top
|
|
19793
|
-
}),
|
|
19830
|
+
}), cx(f[1], {
|
|
19794
19831
|
left: 0,
|
|
19795
19832
|
top: e.top,
|
|
19796
19833
|
width: e.left,
|
|
19797
19834
|
height: e.height
|
|
19798
|
-
}),
|
|
19835
|
+
}), cx(f[2], {
|
|
19799
19836
|
left: e.left + e.width,
|
|
19800
19837
|
top: e.top,
|
|
19801
19838
|
width: Math.max(0, t - e.left - e.width),
|
|
19802
19839
|
height: e.height
|
|
19803
|
-
}),
|
|
19840
|
+
}), cx(f[3], {
|
|
19804
19841
|
left: 0,
|
|
19805
19842
|
top: e.top + e.height,
|
|
19806
19843
|
width: t,
|
|
19807
19844
|
height: Math.max(0, n - e.top - e.height)
|
|
19808
|
-
}), p.style.display = "block",
|
|
19845
|
+
}), p.style.display = "block", cx(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, cx(m, {
|
|
19809
19846
|
left: e.left + e.width / 2,
|
|
19810
19847
|
top: Math.min(n - 22, e.top + e.height + 6)
|
|
19811
19848
|
});
|
|
19812
|
-
}, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M =
|
|
19849
|
+
}, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = Yb({
|
|
19813
19850
|
ownerDocument: r,
|
|
19814
19851
|
ownerWindow: i,
|
|
19815
19852
|
root: u,
|
|
@@ -19820,7 +19857,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19820
19857
|
}, P = () => {
|
|
19821
19858
|
y && i.clearTimeout(y), g.style.display = "block", N(g), y = i.setTimeout(() => {
|
|
19822
19859
|
y = 0, g.style.display = "none";
|
|
19823
|
-
},
|
|
19860
|
+
}, nx);
|
|
19824
19861
|
}, F = () => {
|
|
19825
19862
|
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
19826
19863
|
}, I = () => {
|
|
@@ -19829,8 +19866,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19829
19866
|
if (x) throw Error("A screenshot capture is already running.");
|
|
19830
19867
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
19831
19868
|
x = !0;
|
|
19832
|
-
let o = ++b, s = T(), l = s.includeMeasurements ?
|
|
19833
|
-
a.prepareCapture(), s.includeMeasurements &&
|
|
19869
|
+
let o = ++b, s = T(), l = s.includeMeasurements ? mx(r) : [], u = s.includeMeasurements ? () => void 0 : px(n.portalTarget);
|
|
19870
|
+
a.prepareCapture(), s.includeMeasurements && hx(l);
|
|
19834
19871
|
try {
|
|
19835
19872
|
d.style.visibility = "hidden", await Qa(i);
|
|
19836
19873
|
let n = await Ja(await c({
|
|
@@ -19938,9 +19975,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
19938
19975
|
label: "Screenshot",
|
|
19939
19976
|
shortcut: "Shift+S",
|
|
19940
19977
|
order: 70,
|
|
19941
|
-
command:
|
|
19978
|
+
command: tx,
|
|
19942
19979
|
toolbarMode: "select",
|
|
19943
|
-
icon:
|
|
19980
|
+
icon: ox,
|
|
19944
19981
|
active: w,
|
|
19945
19982
|
hidden: () => !T().toolEnabled,
|
|
19946
19983
|
menu: {
|
|
@@ -20006,31 +20043,31 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
|
|
|
20006
20043
|
set: (e) => E({ includeMeasurements: e })
|
|
20007
20044
|
}
|
|
20008
20045
|
]
|
|
20009
|
-
}), t.command.register(
|
|
20046
|
+
}), t.command.register(tx, R), t.service.provide(Zb, ee), t.lifecycle.onDispose(() => {
|
|
20010
20047
|
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(), vo(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
20011
20048
|
});
|
|
20012
20049
|
}
|
|
20013
|
-
}),
|
|
20050
|
+
}), _x = (e) => Number.parseFloat(e) || 0, vx = 0, yx = (e, t) => {
|
|
20014
20051
|
let n = t.CSS;
|
|
20015
20052
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
20016
|
-
},
|
|
20017
|
-
function
|
|
20053
|
+
}, bx = (e) => e.nodeType === 9, xx = (e) => e.nodeType === 11;
|
|
20054
|
+
function Sx(e) {
|
|
20018
20055
|
let t = e.getRootNode();
|
|
20019
|
-
return
|
|
20056
|
+
return xx(t) ? t : e.ownerDocument;
|
|
20020
20057
|
}
|
|
20021
|
-
var
|
|
20022
|
-
if (
|
|
20023
|
-
let n =
|
|
20024
|
-
return
|
|
20025
|
-
},
|
|
20058
|
+
var Cx = (e, t) => {
|
|
20059
|
+
if (bx(e) || xx(e)) return e;
|
|
20060
|
+
let n = Sx(e);
|
|
20061
|
+
return xx(n) ? n : t;
|
|
20062
|
+
}, wx = 600, Tx = "audio, canvas, embed, iframe, img, input, object, picture, select, textarea, video", Ex = /* @__PURE__ */ new WeakMap(), Dx = (e) => {
|
|
20026
20063
|
let t = e;
|
|
20027
20064
|
for (; t;) {
|
|
20028
|
-
if ((
|
|
20065
|
+
if ((Ex.get(t) ?? 0) > 0) return !0;
|
|
20029
20066
|
let e = t.getRootNode();
|
|
20030
|
-
t =
|
|
20067
|
+
t = xx(e) ? e.host : t.parentElement;
|
|
20031
20068
|
}
|
|
20032
20069
|
return !1;
|
|
20033
|
-
},
|
|
20070
|
+
}, Ox = (e, t) => t.x >= e.left && t.x <= e.right && t.y >= e.top && t.y <= e.bottom, kx = (e, t) => Array.from(e.getClientRects()).some((e) => Ox(e, t)), Ax = (e, t, n) => {
|
|
20034
20071
|
let r = e;
|
|
20035
20072
|
for (; r;) {
|
|
20036
20073
|
let e = n.getComputedStyle(r);
|
|
@@ -20039,7 +20076,7 @@ var Sx = (e, t) => {
|
|
|
20039
20076
|
r = r.parentElement;
|
|
20040
20077
|
}
|
|
20041
20078
|
return !0;
|
|
20042
|
-
},
|
|
20079
|
+
}, jx = (e, t) => {
|
|
20043
20080
|
if (e.matches("img, picture, video, canvas, svg image, path, circle, ellipse, line, polygon, polyline, rect, text, use")) return !0;
|
|
20044
20081
|
let n = t.getComputedStyle(e), r = n.backgroundImage !== "none" || n.backgroundColor !== "transparent" && n.backgroundColor !== "rgba(0, 0, 0, 0)", i = [
|
|
20045
20082
|
"top",
|
|
@@ -20048,7 +20085,7 @@ var Sx = (e, t) => {
|
|
|
20048
20085
|
"left"
|
|
20049
20086
|
].some((e) => Number.parseFloat(n.getPropertyValue(`border-${e}-width`)) > 0 && n.getPropertyValue(`border-${e}-style`) !== "none");
|
|
20050
20087
|
return r || i || n.boxShadow !== "none" || n.outlineStyle !== "none";
|
|
20051
|
-
},
|
|
20088
|
+
}, Mx = (e, t) => !!e.textContent?.trim() || jx(e, t), Nx = (e, t, n) => {
|
|
20052
20089
|
let r = t, i = r.caretRangeFromPoint?.(e.x, e.y)?.startContainer ?? r.caretPositionFromPoint?.(e.x, e.y)?.offsetNode;
|
|
20053
20090
|
if (!i) return null;
|
|
20054
20091
|
let a = t.defaultView?.Element;
|
|
@@ -20059,11 +20096,11 @@ var Sx = (e, t) => {
|
|
|
20059
20096
|
o = o.parentElement;
|
|
20060
20097
|
}
|
|
20061
20098
|
return o === n ? n : null;
|
|
20062
|
-
},
|
|
20099
|
+
}, Px = (e, t, n) => {
|
|
20063
20100
|
let r = n.defaultView, i = r?.Element;
|
|
20064
20101
|
if (!r || !i) return [];
|
|
20065
20102
|
let a = [], o = /* @__PURE__ */ new Set(), s = (n, i, s) => {
|
|
20066
|
-
if (o.has(n) ||
|
|
20103
|
+
if (o.has(n) || Dx(n) || r.getComputedStyle(n).pointerEvents !== "none" || Ax(n, e, r) || !kx(n, t)) return;
|
|
20067
20104
|
let c = n.getBoundingClientRect();
|
|
20068
20105
|
o.add(n), a.push({
|
|
20069
20106
|
element: n,
|
|
@@ -20072,7 +20109,7 @@ var Sx = (e, t) => {
|
|
|
20072
20109
|
order: s
|
|
20073
20110
|
});
|
|
20074
20111
|
}, c = n.createTreeWalker(e, 1), l = c.nextNode(), u = 1;
|
|
20075
|
-
for (; l && u <=
|
|
20112
|
+
for (; l && u <= wx;) {
|
|
20076
20113
|
if (l instanceof i) {
|
|
20077
20114
|
let t = l;
|
|
20078
20115
|
if (r.getComputedStyle(t).pointerEvents === "none") {
|
|
@@ -20083,9 +20120,9 @@ var Sx = (e, t) => {
|
|
|
20083
20120
|
}
|
|
20084
20121
|
u += 1, l = c.nextNode();
|
|
20085
20122
|
}
|
|
20086
|
-
let d =
|
|
20123
|
+
let d = Nx(t, n, e);
|
|
20087
20124
|
return d && r.getComputedStyle(d).pointerEvents === "none" && s(d, 1e4, u), a.sort((e, t) => t.depth - e.depth || e.area - t.area || t.order - e.order).map(({ element: e }) => e);
|
|
20088
|
-
},
|
|
20125
|
+
}, Fx = (e, t, n) => {
|
|
20089
20126
|
let r = t.ownerDocument.defaultView;
|
|
20090
20127
|
if (!r) return [];
|
|
20091
20128
|
let i = [...new Set(e)], a = /* @__PURE__ */ new Map();
|
|
@@ -20094,7 +20131,7 @@ var Sx = (e, t) => {
|
|
|
20094
20131
|
t && (a.set(e, e.getAttribute("style")), t.style.setProperty("pointer-events", "auto", "important"));
|
|
20095
20132
|
}
|
|
20096
20133
|
try {
|
|
20097
|
-
let e =
|
|
20134
|
+
let e = Sx(t).elementsFromPoint(n.x, n.y), r = e.findIndex((e) => e === t), a = new Map(e.map((e, t) => [e, t]));
|
|
20098
20135
|
return i.filter((e) => {
|
|
20099
20136
|
let t = a.get(e);
|
|
20100
20137
|
return t !== void 0 && (r < 0 || t < r);
|
|
@@ -20102,31 +20139,31 @@ var Sx = (e, t) => {
|
|
|
20102
20139
|
} finally {
|
|
20103
20140
|
for (let [e, t] of a) t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
|
|
20104
20141
|
}
|
|
20105
|
-
},
|
|
20142
|
+
}, Ix = (e, t) => {
|
|
20106
20143
|
let n = e;
|
|
20107
20144
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
20108
20145
|
return n.parentElement === t ? n : null;
|
|
20109
|
-
},
|
|
20146
|
+
}, Lx = (e, t, n, r) => {
|
|
20110
20147
|
let i = r.defaultView;
|
|
20111
20148
|
if (!i) return [];
|
|
20112
|
-
let a = Px(
|
|
20149
|
+
let a = Fx(Px(e, t, r).filter((e) => Mx(e, i)), e, t);
|
|
20113
20150
|
if (a.length > 0) return a;
|
|
20114
|
-
if (e.textContent?.trim() && !e.matches(
|
|
20115
|
-
let o = [], s = /* @__PURE__ */ new Set(), c = !
|
|
20151
|
+
if (e.textContent?.trim() && !e.matches(Tx) || e.matches("a, button, input, select, textarea, label, summary, [contenteditable='true']")) return [];
|
|
20152
|
+
let o = [], s = /* @__PURE__ */ new Set(), c = !bx(n) && !xx(n) ? n : null, l = e.parentElement;
|
|
20116
20153
|
for (; l && l !== r.body && l !== r.documentElement && !(c && l !== c && !c.contains(l));) {
|
|
20117
|
-
let a = l, u =
|
|
20118
|
-
if (!
|
|
20119
|
-
let t =
|
|
20154
|
+
let a = l, u = Ix(e, a), d = Px(a, t, r).filter((e) => {
|
|
20155
|
+
if (!zx(e, n) || e.closest("[aria-hidden='true'], [inert]")) return !1;
|
|
20156
|
+
let t = Ix(e, a);
|
|
20120
20157
|
return t === null || t !== u;
|
|
20121
20158
|
});
|
|
20122
|
-
for (let e of d) s.has(e) || !
|
|
20159
|
+
for (let e of d) s.has(e) || !Mx(e, i) || (s.add(e), o.push(e));
|
|
20123
20160
|
if (a === c) break;
|
|
20124
20161
|
l = a.parentElement;
|
|
20125
20162
|
}
|
|
20126
|
-
return
|
|
20163
|
+
return Fx(o, e, t);
|
|
20127
20164
|
};
|
|
20128
|
-
function
|
|
20129
|
-
let r =
|
|
20165
|
+
function Rx(e, t, n = bx(t) ? t : t.ownerDocument ?? document) {
|
|
20166
|
+
let r = Cx(t, n), i = n.defaultView;
|
|
20130
20167
|
if (!i) return null;
|
|
20131
20168
|
let a = r.elementsFromPoint(e.x, e.y);
|
|
20132
20169
|
for (let r of a) {
|
|
@@ -20136,28 +20173,28 @@ function Lx(e, t, n = yx(t) ? t : t.ownerDocument ?? document) {
|
|
|
20136
20173
|
if (!t || t === a) break;
|
|
20137
20174
|
a = t;
|
|
20138
20175
|
}
|
|
20139
|
-
if (!a || !
|
|
20140
|
-
let o =
|
|
20176
|
+
if (!a || !zx(a, t)) continue;
|
|
20177
|
+
let o = Lx(a, e, t, n);
|
|
20141
20178
|
if (o.length > 0) return o[0];
|
|
20142
20179
|
if (i.getComputedStyle(a).pointerEvents !== "none") return a;
|
|
20143
20180
|
}
|
|
20144
20181
|
return null;
|
|
20145
20182
|
}
|
|
20146
|
-
function
|
|
20147
|
-
if (
|
|
20183
|
+
function zx(e, t) {
|
|
20184
|
+
if (bx(t)) return !0;
|
|
20148
20185
|
let n = e;
|
|
20149
20186
|
for (; n;) {
|
|
20150
20187
|
if (t === n || t.contains(n)) return !0;
|
|
20151
20188
|
let e = n.getRootNode();
|
|
20152
|
-
if (!
|
|
20189
|
+
if (!xx(e)) return !1;
|
|
20153
20190
|
n = e.host;
|
|
20154
20191
|
}
|
|
20155
20192
|
return !1;
|
|
20156
20193
|
}
|
|
20157
|
-
function
|
|
20194
|
+
function Bx(e, t) {
|
|
20158
20195
|
if (!e) return t();
|
|
20159
|
-
let n =
|
|
20160
|
-
|
|
20196
|
+
let n = Ex.get(e) ?? 0;
|
|
20197
|
+
Ex.set(e, n + 1);
|
|
20161
20198
|
let r = [e, ...e.querySelectorAll("*")], i = r.map((e) => [
|
|
20162
20199
|
e,
|
|
20163
20200
|
e.style.getPropertyValue("pointer-events"),
|
|
@@ -20167,13 +20204,13 @@ function zx(e, t) {
|
|
|
20167
20204
|
try {
|
|
20168
20205
|
return t();
|
|
20169
20206
|
} finally {
|
|
20170
|
-
n === 0 ?
|
|
20207
|
+
n === 0 ? Ex.delete(e) : Ex.set(e, n);
|
|
20171
20208
|
for (let [e, t, n] of i) t ? e.style.setProperty("pointer-events", t, n) : e.style.removeProperty("pointer-events");
|
|
20172
20209
|
}
|
|
20173
20210
|
}
|
|
20174
|
-
function
|
|
20211
|
+
function Vx(e) {
|
|
20175
20212
|
let t = e.ownerDocument.defaultView ?? window;
|
|
20176
|
-
if (e.id) return `#${
|
|
20213
|
+
if (e.id) return `#${yx(e.id, t)}`;
|
|
20177
20214
|
let n = e.getAttribute("data-testid");
|
|
20178
20215
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
20179
20216
|
let r = [], i = e;
|
|
@@ -20187,17 +20224,17 @@ function Bx(e) {
|
|
|
20187
20224
|
}
|
|
20188
20225
|
return r.join(" > ");
|
|
20189
20226
|
}
|
|
20190
|
-
function
|
|
20227
|
+
function Hx(e, t, n = `dom-inspection-${++vx}`) {
|
|
20191
20228
|
let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
|
|
20192
|
-
top:
|
|
20193
|
-
right:
|
|
20194
|
-
bottom:
|
|
20195
|
-
left:
|
|
20229
|
+
top: _x(i.paddingTop),
|
|
20230
|
+
right: _x(i.paddingRight),
|
|
20231
|
+
bottom: _x(i.paddingBottom),
|
|
20232
|
+
left: _x(i.paddingLeft)
|
|
20196
20233
|
}, o = {
|
|
20197
|
-
top:
|
|
20198
|
-
right:
|
|
20199
|
-
bottom:
|
|
20200
|
-
left:
|
|
20234
|
+
top: _x(i.marginTop),
|
|
20235
|
+
right: _x(i.marginRight),
|
|
20236
|
+
bottom: _x(i.marginBottom),
|
|
20237
|
+
left: _x(i.marginLeft)
|
|
20201
20238
|
}, s = {
|
|
20202
20239
|
left: r.left + a.left,
|
|
20203
20240
|
top: r.top + a.top,
|
|
@@ -20225,8 +20262,8 @@ function Vx(e, t, n = `dom-inspection-${++_x}`) {
|
|
|
20225
20262
|
elementRef: e
|
|
20226
20263
|
};
|
|
20227
20264
|
}
|
|
20228
|
-
function
|
|
20229
|
-
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ?
|
|
20265
|
+
function Ux(e) {
|
|
20266
|
+
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? Hx(r, t) : null, o = (e) => {
|
|
20230
20267
|
let t = Number.parseFloat(e);
|
|
20231
20268
|
return Number.isFinite(t) ? t : 0;
|
|
20232
20269
|
}, s = (e) => ({
|
|
@@ -20236,7 +20273,7 @@ function Hx(e) {
|
|
|
20236
20273
|
left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
|
|
20237
20274
|
});
|
|
20238
20275
|
return {
|
|
20239
|
-
selector:
|
|
20276
|
+
selector: Vx(e),
|
|
20240
20277
|
tag: e.localName,
|
|
20241
20278
|
id: e.id || null,
|
|
20242
20279
|
classes: [...e.classList],
|
|
@@ -20298,10 +20335,10 @@ function Hx(e) {
|
|
|
20298
20335
|
}
|
|
20299
20336
|
//#endregion
|
|
20300
20337
|
//#region src/agent.ts
|
|
20301
|
-
var
|
|
20302
|
-
function
|
|
20303
|
-
let t = e.root ?? e.ownerDocument, n = e.ownerDocument.defaultView ?? window, r = (e, n = 0) => t.querySelectorAll(e).item(n) || null, i = (n) => t === e.ownerDocument ||
|
|
20304
|
-
let t = (e.getPluginHost() ?? await e.waitForPluginHost()).service.get(
|
|
20338
|
+
var Wx = "text-edit", Gx = (e) => Ux(e);
|
|
20339
|
+
function Kx(e) {
|
|
20340
|
+
let t = e.root ?? e.ownerDocument, n = e.ownerDocument.defaultView ?? window, r = (e, n = 0) => t.querySelectorAll(e).item(n) || null, i = (n) => t === e.ownerDocument || zx(n, t), a = async () => {
|
|
20341
|
+
let t = (e.getPluginHost() ?? await e.waitForPluginHost()).service.get(Wx);
|
|
20305
20342
|
if (!t) throw Error("Mesurer text editing service is unavailable.");
|
|
20306
20343
|
return t;
|
|
20307
20344
|
}, o = () => {
|
|
@@ -20330,25 +20367,25 @@ function Gx(e) {
|
|
|
20330
20367
|
},
|
|
20331
20368
|
inspect(e, t = 0) {
|
|
20332
20369
|
let n = r(e, t);
|
|
20333
|
-
return n ?
|
|
20370
|
+
return n ? Gx(n) : null;
|
|
20334
20371
|
},
|
|
20335
20372
|
inspectAll(e, n = 50) {
|
|
20336
|
-
return [...t.querySelectorAll(e)].slice(0, Math.max(0, n)).map(
|
|
20373
|
+
return [...t.querySelectorAll(e)].slice(0, Math.max(0, n)).map(Gx);
|
|
20337
20374
|
},
|
|
20338
20375
|
at(n, r) {
|
|
20339
20376
|
let a = t.querySelector?.("[data-mesurer-island]") ?? null;
|
|
20340
|
-
return
|
|
20341
|
-
let a =
|
|
20377
|
+
return Bx(a?.shadowRoot?.querySelector("[data-mesurer-root='true']") ?? a, () => {
|
|
20378
|
+
let a = Rx({
|
|
20342
20379
|
x: n,
|
|
20343
20380
|
y: r
|
|
20344
20381
|
}, t, e.ownerDocument);
|
|
20345
|
-
return a && i(a) ?
|
|
20382
|
+
return a && i(a) ? Gx(a) : null;
|
|
20346
20383
|
});
|
|
20347
20384
|
},
|
|
20348
20385
|
distance(e, t) {
|
|
20349
20386
|
let n = r(e), i = r(t);
|
|
20350
20387
|
if (!n || !i) return null;
|
|
20351
|
-
let a =
|
|
20388
|
+
let a = Gx(n), o = Gx(i), s = a.rect, c = o.rect;
|
|
20352
20389
|
return {
|
|
20353
20390
|
a,
|
|
20354
20391
|
b: o,
|
|
@@ -20364,7 +20401,7 @@ function Gx(e) {
|
|
|
20364
20401
|
let r = e.getPluginHost() ?? await e.waitForPluginHost();
|
|
20365
20402
|
return {
|
|
20366
20403
|
viewport: o(),
|
|
20367
|
-
elements: n.flatMap((e) => [...t.querySelectorAll(e)].slice(0, 50).map(
|
|
20404
|
+
elements: n.flatMap((e) => [...t.querySelectorAll(e)].slice(0, 50).map(Gx)),
|
|
20368
20405
|
plugins: r.describe(),
|
|
20369
20406
|
pluginState: r.state.serialize("all")
|
|
20370
20407
|
};
|
|
@@ -20389,10 +20426,10 @@ function Gx(e) {
|
|
|
20389
20426
|
}
|
|
20390
20427
|
//#endregion
|
|
20391
20428
|
//#region src/version.ts
|
|
20392
|
-
var
|
|
20429
|
+
var qx = "0.2.1-beta.9", Jx = Np, Yx = Pp, Xx = () => ({
|
|
20393
20430
|
...km(),
|
|
20394
|
-
version:
|
|
20395
|
-
}),
|
|
20431
|
+
version: qx
|
|
20432
|
+
}), Zx = Yx, Qx = (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, $x = (e) => {
|
|
20396
20433
|
if (!e.length) return null;
|
|
20397
20434
|
let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
|
|
20398
20435
|
return {
|
|
@@ -20401,36 +20438,36 @@ var Kx = "0.2.1-beta.8", qx = Np, Jx = Pp, Yx = () => ({
|
|
|
20401
20438
|
width: r - t,
|
|
20402
20439
|
height: i - n
|
|
20403
20440
|
};
|
|
20404
|
-
},
|
|
20405
|
-
function
|
|
20441
|
+
}, eS = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), tS = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
|
|
20442
|
+
function nS(e) {
|
|
20406
20443
|
let { workspace: t, scope: n, guideTolerance: r } = e;
|
|
20407
20444
|
if (n.kind === "workspace") return {
|
|
20408
20445
|
guides: t.guides.map((e) => ({ ...e })),
|
|
20409
|
-
measurements:
|
|
20446
|
+
measurements: tS(t),
|
|
20410
20447
|
distances: [...t.distances]
|
|
20411
20448
|
};
|
|
20412
|
-
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) =>
|
|
20449
|
+
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => Qx(e, t));
|
|
20413
20450
|
return {
|
|
20414
|
-
guides: t.guides.filter((e) =>
|
|
20415
|
-
measurements:
|
|
20451
|
+
guides: t.guides.filter((e) => eS(e, n.regions, r)).map((e) => ({ ...e })),
|
|
20452
|
+
measurements: tS(t).filter((e) => a(e.elementRef) || o(e.rect)),
|
|
20416
20453
|
distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
|
|
20417
20454
|
};
|
|
20418
20455
|
}
|
|
20419
20456
|
//#endregion
|
|
20420
20457
|
//#region ../mesurer-core/dist/domain.js
|
|
20421
|
-
var
|
|
20458
|
+
var rS = {
|
|
20422
20459
|
opacity: 1,
|
|
20423
20460
|
width: 1,
|
|
20424
20461
|
pattern: "solid",
|
|
20425
20462
|
dashLength: 6,
|
|
20426
20463
|
gap: 4
|
|
20427
|
-
},
|
|
20464
|
+
}, iS = {
|
|
20428
20465
|
opacity: 1,
|
|
20429
20466
|
edgeReveal: !1
|
|
20430
20467
|
};
|
|
20431
20468
|
//#endregion
|
|
20432
20469
|
//#region ../mesurer-core/dist/events.js
|
|
20433
|
-
function
|
|
20470
|
+
function aS() {
|
|
20434
20471
|
let e = /* @__PURE__ */ new Map();
|
|
20435
20472
|
return {
|
|
20436
20473
|
on(t, n) {
|
|
@@ -20448,12 +20485,12 @@ function iS() {
|
|
|
20448
20485
|
}
|
|
20449
20486
|
};
|
|
20450
20487
|
}
|
|
20451
|
-
({ ...
|
|
20488
|
+
({ ...rS }), { ...iS };
|
|
20452
20489
|
//#endregion
|
|
20453
20490
|
//#region ../mesurer-core/dist/plugins.js
|
|
20454
|
-
var
|
|
20455
|
-
function
|
|
20456
|
-
let e = 1, t = 0, n =
|
|
20491
|
+
var oS = 50;
|
|
20492
|
+
function sS() {
|
|
20493
|
+
let e = 1, t = 0, n = aS(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = [], m = [], h = (e, t) => {
|
|
20457
20494
|
n.emit("changed", {
|
|
20458
20495
|
pluginId: e,
|
|
20459
20496
|
reason: t
|
|
@@ -20516,15 +20553,15 @@ function oS() {
|
|
|
20516
20553
|
}
|
|
20517
20554
|
if (o && s) {
|
|
20518
20555
|
let e = y("history");
|
|
20519
|
-
x(s, e) || (p.push(s), p.length >
|
|
20556
|
+
x(s, e) || (p.push(s), p.length > oS && p.shift(), m.length = 0);
|
|
20520
20557
|
}
|
|
20521
20558
|
return l;
|
|
20522
20559
|
}, w = () => {
|
|
20523
20560
|
let e = p.pop();
|
|
20524
|
-
return e ? (m.push(y("history")), m.length >
|
|
20561
|
+
return e ? (m.push(y("history")), m.length > oS && m.shift(), b(e, "history"), h(void 0, "history"), !0) : !1;
|
|
20525
20562
|
}, T = () => {
|
|
20526
20563
|
let e = m.pop();
|
|
20527
|
-
return e ? (p.push(y("history")), p.length >
|
|
20564
|
+
return e ? (p.push(y("history")), p.length > oS && p.shift(), b(e, "history"), h(void 0, "history"), !0) : !1;
|
|
20528
20565
|
}, E = async (e, t) => {
|
|
20529
20566
|
for (let n of [...l.values()].filter((t) => t.name === e)) await n.handler(t);
|
|
20530
20567
|
}, D = (e) => [...u.values()].reverse().find((t) => t.id === e)?.value, O = {
|
|
@@ -20681,8 +20718,8 @@ function oS() {
|
|
|
20681
20718
|
}
|
|
20682
20719
|
//#endregion
|
|
20683
20720
|
//#region ../mesurer-core/dist/runtime.js
|
|
20684
|
-
async function
|
|
20685
|
-
let t =
|
|
20721
|
+
async function cS(e = {}) {
|
|
20722
|
+
let t = sS();
|
|
20686
20723
|
try {
|
|
20687
20724
|
for (let n of e.plugins ?? []) await t.load(n);
|
|
20688
20725
|
return t;
|
|
@@ -20692,17 +20729,17 @@ async function sS(e = {}) {
|
|
|
20692
20729
|
}
|
|
20693
20730
|
//#endregion
|
|
20694
20731
|
//#region src/context.ts
|
|
20695
|
-
var
|
|
20732
|
+
var lS = 10, uS = (e) => ({
|
|
20696
20733
|
left: e.left,
|
|
20697
20734
|
top: e.top,
|
|
20698
20735
|
width: e.width,
|
|
20699
20736
|
height: e.height
|
|
20700
|
-
}),
|
|
20737
|
+
}), dS = (e) => {
|
|
20701
20738
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
20702
20739
|
for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
|
|
20703
20740
|
return n;
|
|
20704
|
-
},
|
|
20705
|
-
function
|
|
20741
|
+
}, fS = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
20742
|
+
function pS(e) {
|
|
20706
20743
|
let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
|
|
20707
20744
|
if (!a) throw Error("Mesurer workspace is not ready yet.");
|
|
20708
20745
|
let o = [], s = [], c = { kind: "workspace" }, l = /* @__PURE__ */ new Map();
|
|
@@ -20710,7 +20747,7 @@ function fS(e) {
|
|
|
20710
20747
|
let e = t.annotation(i.annotation);
|
|
20711
20748
|
if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
|
|
20712
20749
|
for (let t of e.resolvedTargets) t.element?.isConnected && l.set(t.element, t.target.id);
|
|
20713
|
-
o =
|
|
20750
|
+
o = dS(e.resolvedTargets.map((e) => e.element));
|
|
20714
20751
|
let n = t.annotationRect(e.id);
|
|
20715
20752
|
n && (s = [n]);
|
|
20716
20753
|
let r = e.resolvedTargets.length, a = e.resolvedTargets.filter((e) => e.element?.isConnected).length, u = e.anchor.kind === "region" ? "connected" : r === 0 || a === 0 ? "stale" : a === r ? "connected" : "partial";
|
|
@@ -20722,15 +20759,15 @@ function fS(e) {
|
|
|
20722
20759
|
};
|
|
20723
20760
|
} else if (i.scope === "selection") {
|
|
20724
20761
|
let e = t.currentSelection();
|
|
20725
|
-
if (o =
|
|
20726
|
-
s = e.region ? [e.region] : o.map((e) =>
|
|
20727
|
-
} else o =
|
|
20762
|
+
if (o = dS(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
|
|
20763
|
+
s = e.region ? [e.region] : o.map((e) => uS(e.getBoundingClientRect())), c = { kind: "selection" };
|
|
20764
|
+
} else o = dS([
|
|
20728
20765
|
...t.currentSelection().elements,
|
|
20729
20766
|
...a.measurements.map((e) => e.elementRef),
|
|
20730
20767
|
a.activeMeasurement?.elementRef,
|
|
20731
20768
|
...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
20732
20769
|
]);
|
|
20733
|
-
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) =>
|
|
20770
|
+
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => uS(e.getBoundingClientRect())), d = nS({
|
|
20734
20771
|
workspace: {
|
|
20735
20772
|
guides: a.guides,
|
|
20736
20773
|
measurements: a.measurements,
|
|
@@ -20742,8 +20779,8 @@ function fS(e) {
|
|
|
20742
20779
|
elements: o,
|
|
20743
20780
|
regions: u
|
|
20744
20781
|
},
|
|
20745
|
-
guideTolerance: a.guideRelevanceTolerance ??
|
|
20746
|
-
}), f = d.measurements, p = d.distances, m = d.guides, h =
|
|
20782
|
+
guideTolerance: a.guideRelevanceTolerance ?? lS
|
|
20783
|
+
}), f = d.measurements, p = d.distances, m = d.guides, h = dS([
|
|
20747
20784
|
...o,
|
|
20748
20785
|
...f.map((e) => e.elementRef),
|
|
20749
20786
|
...p.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
@@ -20755,12 +20792,12 @@ function fS(e) {
|
|
|
20755
20792
|
let t = l.get(e) ?? y();
|
|
20756
20793
|
return g.set(e, t), {
|
|
20757
20794
|
ref: t,
|
|
20758
|
-
inspection:
|
|
20795
|
+
inspection: Ux(e)
|
|
20759
20796
|
};
|
|
20760
20797
|
}), x = f.map((e) => {
|
|
20761
20798
|
let t = {
|
|
20762
20799
|
id: e.id,
|
|
20763
|
-
rect:
|
|
20800
|
+
rect: uS(e.rect),
|
|
20764
20801
|
deltaX: e.deltaX,
|
|
20765
20802
|
deltaY: e.deltaY
|
|
20766
20803
|
};
|
|
@@ -20770,8 +20807,8 @@ function fS(e) {
|
|
|
20770
20807
|
}), S = p.map((e) => {
|
|
20771
20808
|
let t = {
|
|
20772
20809
|
id: e.id,
|
|
20773
|
-
rectA:
|
|
20774
|
-
rectB:
|
|
20810
|
+
rectA: uS(e.rectA),
|
|
20811
|
+
rectB: uS(e.rectB),
|
|
20775
20812
|
horizontal: e.horizontal ? { ...e.horizontal } : null,
|
|
20776
20813
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
20777
20814
|
}, n = e.elementRefA ? g.get(e.elementRefA) : void 0, r = e.elementRefB ? g.get(e.elementRefB) : void 0;
|
|
@@ -20779,7 +20816,7 @@ function fS(e) {
|
|
|
20779
20816
|
});
|
|
20780
20817
|
return {
|
|
20781
20818
|
schema: "mesurer.context/v1",
|
|
20782
|
-
id:
|
|
20819
|
+
id: fS(r),
|
|
20783
20820
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
20784
20821
|
scope: c,
|
|
20785
20822
|
page: {
|
|
@@ -20794,7 +20831,7 @@ function fS(e) {
|
|
|
20794
20831
|
scrollY: r.scrollY
|
|
20795
20832
|
},
|
|
20796
20833
|
coordinateSpace: "viewport-css-px",
|
|
20797
|
-
regions: c.kind === "workspace" ? [] : s.map(
|
|
20834
|
+
regions: c.kind === "workspace" ? [] : s.map(uS),
|
|
20798
20835
|
visualState: {
|
|
20799
20836
|
rulersVisible: a.rulersVisible,
|
|
20800
20837
|
xrayVisible: a.xrayVisible
|
|
@@ -20808,48 +20845,48 @@ function fS(e) {
|
|
|
20808
20845
|
}
|
|
20809
20846
|
};
|
|
20810
20847
|
}
|
|
20811
|
-
var
|
|
20812
|
-
function
|
|
20848
|
+
var mS = (e) => `${Math.round(e * 100) / 100}px`, hS = (e) => `x=${mS(e.left)} y=${mS(e.top)} w=${mS(e.width)} h=${mS(e.height)}`;
|
|
20849
|
+
function gS(e) {
|
|
20813
20850
|
let t = [
|
|
20814
20851
|
"Mesurer visual context",
|
|
20815
20852
|
"",
|
|
20816
20853
|
`Page: ${e.page.url}`,
|
|
20817
20854
|
`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
|
|
20818
20855
|
];
|
|
20819
|
-
if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${
|
|
20856
|
+
if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${hS(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
|
|
20820
20857
|
t.push("", "Targets");
|
|
20821
20858
|
for (let n of e.targets) {
|
|
20822
20859
|
let e = n.inspection;
|
|
20823
|
-
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${
|
|
20860
|
+
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${hS(e.rect)}`, ` margin: ${mS(e.margin.top)} ${mS(e.margin.right)} ${mS(e.margin.bottom)} ${mS(e.margin.left)}`, ` padding: ${mS(e.padding.top)} ${mS(e.padding.right)} ${mS(e.padding.bottom)} ${mS(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
|
|
20824
20861
|
}
|
|
20825
20862
|
}
|
|
20826
20863
|
if (e.visualContext.guides.length) {
|
|
20827
20864
|
t.push("", "Relevant guides");
|
|
20828
|
-
for (let n of e.visualContext.guides) t.push(`- ${n.orientation} ${n.orientation === "vertical" ? "x" : "y"}=${
|
|
20865
|
+
for (let n of e.visualContext.guides) t.push(`- ${n.orientation} ${n.orientation === "vertical" ? "x" : "y"}=${mS(n.position)}`);
|
|
20829
20866
|
}
|
|
20830
20867
|
if (e.visualContext.layoutGuides.length) {
|
|
20831
20868
|
t.push("", "Layout guides");
|
|
20832
20869
|
for (let n of e.visualContext.layoutGuides) {
|
|
20833
20870
|
if (!n.visible) continue;
|
|
20834
|
-
let e = n.kind === "grid" ? `grid ${
|
|
20871
|
+
let e = n.kind === "grid" ? `grid ${mS(n.size)}` : `${n.count} ${n.kind}; gutter=${mS(n.gutter)}; offset=${mS(n.offset)}; align=${n.align}`;
|
|
20835
20872
|
t.push(`- ${e}; color=${n.color}; opacity=${Math.round(n.opacity * 100)}%`);
|
|
20836
20873
|
}
|
|
20837
20874
|
}
|
|
20838
20875
|
if (e.visualContext.measurements.length) {
|
|
20839
20876
|
t.push("", "Relevant measurements");
|
|
20840
|
-
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${
|
|
20877
|
+
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${hS(n.rect)}; delta=${mS(n.deltaX)} × ${mS(n.deltaY)}`);
|
|
20841
20878
|
}
|
|
20842
20879
|
if (e.visualContext.distances.length) {
|
|
20843
20880
|
t.push("", "Relevant distances");
|
|
20844
20881
|
for (let n of e.visualContext.distances) {
|
|
20845
|
-
let e = [n.targetARef, n.targetBRef].filter(Boolean).join(" → "), r = [n.horizontal ? `horizontal=${
|
|
20882
|
+
let e = [n.targetARef, n.targetBRef].filter(Boolean).join(" → "), r = [n.horizontal ? `horizontal=${mS(n.horizontal.value)}` : null, n.vertical ? `vertical=${mS(n.vertical.value)}` : null].filter(Boolean).join("; ");
|
|
20846
20883
|
t.push(`- ${e ? `${e}: ` : ""}${r || "overlapping"}`);
|
|
20847
20884
|
}
|
|
20848
20885
|
}
|
|
20849
20886
|
return t.join("\n").trimEnd();
|
|
20850
20887
|
}
|
|
20851
|
-
function
|
|
20852
|
-
let t =
|
|
20888
|
+
function _S(e) {
|
|
20889
|
+
let t = $x([
|
|
20853
20890
|
...e.regions,
|
|
20854
20891
|
...e.targets.map((e) => e.inspection.rect),
|
|
20855
20892
|
...e.visualContext.measurements.map((e) => e.rect),
|
|
@@ -20879,7 +20916,7 @@ function gS(e) {
|
|
|
20879
20916
|
captures: n
|
|
20880
20917
|
};
|
|
20881
20918
|
}
|
|
20882
|
-
var
|
|
20919
|
+
var vS = (e, t, n, r, i) => {
|
|
20883
20920
|
!Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
|
|
20884
20921
|
kind: t,
|
|
20885
20922
|
label: n,
|
|
@@ -20888,16 +20925,16 @@ var _S = (e, t, n, r, i) => {
|
|
|
20888
20925
|
delta: i - r,
|
|
20889
20926
|
unit: "px"
|
|
20890
20927
|
});
|
|
20891
|
-
},
|
|
20928
|
+
}, yS = (e, t, n, r) => e.push({
|
|
20892
20929
|
kind: "missing",
|
|
20893
20930
|
evidence: t,
|
|
20894
20931
|
id: n,
|
|
20895
20932
|
label: r
|
|
20896
|
-
}),
|
|
20897
|
-
function
|
|
20933
|
+
}), bS = (e, t) => Math.abs(e.left - t.left) < .01 && Math.abs(e.top - t.top) < .01 && Math.abs(e.width - t.width) < .01 && Math.abs(e.height - t.height) < .01;
|
|
20934
|
+
function xS(e) {
|
|
20898
20935
|
let t = e.runtime.annotation(e.annotationId);
|
|
20899
20936
|
if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
|
|
20900
|
-
let n =
|
|
20937
|
+
let n = pS({
|
|
20901
20938
|
runtime: e.runtime,
|
|
20902
20939
|
ownerDocument: e.ownerDocument,
|
|
20903
20940
|
ownerWindow: e.ownerWindow,
|
|
@@ -20907,42 +20944,42 @@ function bS(e) {
|
|
|
20907
20944
|
if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
|
|
20908
20945
|
let r = e.runtime.snapshot();
|
|
20909
20946
|
if (!r) throw Error("Mesurer workspace is not ready yet.");
|
|
20910
|
-
let i =
|
|
20947
|
+
let i = tS({
|
|
20911
20948
|
measurements: r.measurements,
|
|
20912
20949
|
activeMeasurement: r.activeMeasurement
|
|
20913
20950
|
}), a = [];
|
|
20914
20951
|
for (let e of t.baseline.targets) {
|
|
20915
20952
|
let t = n.targets.find((t) => t.ref === e.id);
|
|
20916
20953
|
if (!t) {
|
|
20917
|
-
|
|
20954
|
+
yS(a, "target", e.id, e.selector);
|
|
20918
20955
|
continue;
|
|
20919
20956
|
}
|
|
20920
|
-
|
|
20957
|
+
vS(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), vS(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), vS(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), vS(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
|
|
20921
20958
|
}
|
|
20922
20959
|
for (let e of t.baseline.guides) {
|
|
20923
20960
|
let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
|
|
20924
20961
|
if (!t) {
|
|
20925
|
-
|
|
20962
|
+
yS(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
|
|
20926
20963
|
continue;
|
|
20927
20964
|
}
|
|
20928
|
-
|
|
20965
|
+
vS(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
|
|
20929
20966
|
}
|
|
20930
20967
|
for (let e of t.baseline.measurements) {
|
|
20931
20968
|
let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
|
|
20932
20969
|
if (!r) {
|
|
20933
|
-
let r = t.baseline.targets.find((t) =>
|
|
20934
|
-
r && n.targets.some((e) => e.ref === r.id) ||
|
|
20970
|
+
let r = t.baseline.targets.find((t) => bS(t.rect, e.rect));
|
|
20971
|
+
r && n.targets.some((e) => e.ref === r.id) || yS(a, "measurement", e.id, e.id);
|
|
20935
20972
|
continue;
|
|
20936
20973
|
}
|
|
20937
|
-
|
|
20974
|
+
vS(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), vS(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
|
|
20938
20975
|
}
|
|
20939
20976
|
for (let e of t.baseline.distances) {
|
|
20940
20977
|
let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
|
|
20941
20978
|
if (!t) {
|
|
20942
|
-
|
|
20979
|
+
yS(a, "distance", e.id, e.id);
|
|
20943
20980
|
continue;
|
|
20944
20981
|
}
|
|
20945
|
-
e.horizontal && t.horizontal ?
|
|
20982
|
+
e.horizontal && t.horizontal ? vS(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && yS(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? vS(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && yS(a, "distance", e.id, `${e.id} vertical`);
|
|
20946
20983
|
}
|
|
20947
20984
|
return {
|
|
20948
20985
|
schema: "mesurer.review/v1",
|
|
@@ -20954,7 +20991,7 @@ function bS(e) {
|
|
|
20954
20991
|
changes: a
|
|
20955
20992
|
};
|
|
20956
20993
|
}
|
|
20957
|
-
async function
|
|
20994
|
+
async function SS(e, t, n) {
|
|
20958
20995
|
try {
|
|
20959
20996
|
if (t.navigator.clipboard?.writeText) {
|
|
20960
20997
|
await t.navigator.clipboard.writeText(n);
|
|
@@ -20968,43 +21005,43 @@ async function xS(e, t, n) {
|
|
|
20968
21005
|
}
|
|
20969
21006
|
//#endregion
|
|
20970
21007
|
//#region src/layout-guides.ts
|
|
20971
|
-
var
|
|
21008
|
+
var CS = Kv, wS = qv, TS = () => ({
|
|
20972
21009
|
...yy(),
|
|
20973
|
-
version:
|
|
20974
|
-
}),
|
|
21010
|
+
version: qx
|
|
21011
|
+
}), ES = "mesurer.context", DS = "context:v1", OS = "mesurer.context.settings", kS = "context.ui", AS = "data-mesurer-direct-text-edit-active", jS = {
|
|
20975
21012
|
viewBox: "0 0 256 256",
|
|
20976
21013
|
paths: ["M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"]
|
|
20977
|
-
},
|
|
21014
|
+
}, MS = {
|
|
20978
21015
|
viewBox: "0 0 256 256",
|
|
20979
21016
|
paths: ["M152,40a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,40Zm-8,168H112a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16ZM208,32H184a8,8,0,0,0,0,16h24V72a8,8,0,0,0,16,0V48A16,16,0,0,0,208,32Zm8,72a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V112A8,8,0,0,0,216,104Zm0,72a8,8,0,0,0-8,8v24H184a8,8,0,0,0,0,16h24a16,16,0,0,0,16-16V184A8,8,0,0,0,216,176ZM40,152a8,8,0,0,0,8-8V112a8,8,0,0,0-16,0v32A8,8,0,0,0,40,152Zm32,56H48V184a8,8,0,0,0-16,0v24a16,16,0,0,0,16,16H72a8,8,0,0,0,0-16ZM72,32H48A16,16,0,0,0,32,48V72a8,8,0,0,0,16,0V48H72a8,8,0,0,0,0-16Z"]
|
|
20980
|
-
},
|
|
21017
|
+
}, NS = {
|
|
20981
21018
|
viewBox: "0 0 256 256",
|
|
20982
21019
|
paths: ["M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z"]
|
|
20983
|
-
},
|
|
21020
|
+
}, PS = async (e, t, n = 1) => {
|
|
20984
21021
|
await e.fonts?.ready;
|
|
20985
21022
|
for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
|
|
20986
|
-
},
|
|
20987
|
-
let i = async (i) =>
|
|
21023
|
+
}, FS = (e, t, n, r) => {
|
|
21024
|
+
let i = async (i) => pS({
|
|
20988
21025
|
runtime: e,
|
|
20989
21026
|
ownerDocument: t,
|
|
20990
21027
|
ownerWindow: n,
|
|
20991
21028
|
request: i,
|
|
20992
21029
|
layoutGuides: r()
|
|
20993
|
-
}), a = async (e) =>
|
|
21030
|
+
}), a = async (e) => gS(await i(e));
|
|
20994
21031
|
return {
|
|
20995
21032
|
context: i,
|
|
20996
21033
|
contextText: a,
|
|
20997
|
-
copyContext: async (e) =>
|
|
21034
|
+
copyContext: async (e) => SS(t, n, await a(e)),
|
|
20998
21035
|
select: async (r) => {
|
|
20999
21036
|
let a = Array.isArray(r) ? [...r] : [String(r)];
|
|
21000
|
-
return e.select(a), await
|
|
21037
|
+
return e.select(a), await PS(t, n), i({ scope: "selection" });
|
|
21001
21038
|
},
|
|
21002
21039
|
annotations: async () => e.annotations(),
|
|
21003
21040
|
removeAnnotation: async (r) => {
|
|
21004
|
-
e.removeAnnotation(r), await
|
|
21041
|
+
e.removeAnnotation(r), await PS(t, n);
|
|
21005
21042
|
},
|
|
21006
21043
|
review: async (i) => {
|
|
21007
|
-
if (await
|
|
21044
|
+
if (await PS(t, n), i) return xS({
|
|
21008
21045
|
runtime: e,
|
|
21009
21046
|
ownerDocument: t,
|
|
21010
21047
|
ownerWindow: n,
|
|
@@ -21012,7 +21049,7 @@ var SS = Kv, CS = qv, wS = () => ({
|
|
|
21012
21049
|
layoutGuides: r()
|
|
21013
21050
|
});
|
|
21014
21051
|
let a = r();
|
|
21015
|
-
return e.annotations().map((r) =>
|
|
21052
|
+
return e.annotations().map((r) => xS({
|
|
21016
21053
|
runtime: e,
|
|
21017
21054
|
ownerDocument: t,
|
|
21018
21055
|
ownerWindow: n,
|
|
@@ -21020,38 +21057,38 @@ var SS = Kv, CS = qv, wS = () => ({
|
|
|
21020
21057
|
layoutGuides: a
|
|
21021
21058
|
}));
|
|
21022
21059
|
},
|
|
21023
|
-
capturePlan: async (e) =>
|
|
21060
|
+
capturePlan: async (e) => _S(await i(e)),
|
|
21024
21061
|
prepareCapture: async () => {
|
|
21025
|
-
e.prepareCapture(), await
|
|
21062
|
+
e.prepareCapture(), await PS(t, n);
|
|
21026
21063
|
},
|
|
21027
21064
|
finishCapture: async () => {
|
|
21028
|
-
e.finishCapture(), await
|
|
21065
|
+
e.finishCapture(), await PS(t, n);
|
|
21029
21066
|
}
|
|
21030
21067
|
};
|
|
21031
|
-
},
|
|
21068
|
+
}, IS = (e) => {
|
|
21032
21069
|
let t = e.currentSelection();
|
|
21033
21070
|
return t.elements.length > 0 || t.region !== null;
|
|
21034
21071
|
};
|
|
21035
|
-
function
|
|
21072
|
+
function LS(e = {}) {
|
|
21036
21073
|
return {
|
|
21037
|
-
id:
|
|
21038
|
-
version:
|
|
21074
|
+
id: ES,
|
|
21075
|
+
version: qx,
|
|
21039
21076
|
requires: ["runtime:solid"],
|
|
21040
|
-
provides: [
|
|
21077
|
+
provides: [DS],
|
|
21041
21078
|
setup(t) {
|
|
21042
21079
|
let n = t.service.get("runtime:solid");
|
|
21043
21080
|
if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
|
|
21044
|
-
let r = n.createWorkspaceRuntime(
|
|
21045
|
-
t.service.provide(
|
|
21046
|
-
id:
|
|
21081
|
+
let r = n.createWorkspaceRuntime(ES), i = FS(r, n.ownerDocument, n.ownerWindow, () => t.service.get(wS)?.list() ?? []);
|
|
21082
|
+
t.service.provide(DS, i), t.state.register({
|
|
21083
|
+
id: OS,
|
|
21047
21084
|
initial: { ui: e.ui ?? !0 },
|
|
21048
21085
|
persist: !0
|
|
21049
21086
|
}), t.state.register({
|
|
21050
|
-
id:
|
|
21051
|
-
initial: { hasSelection:
|
|
21087
|
+
id: kS,
|
|
21088
|
+
initial: { hasSelection: IS(r) }
|
|
21052
21089
|
});
|
|
21053
|
-
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(
|
|
21054
|
-
t.state.update(
|
|
21090
|
+
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(kS)?.hasSelection === !0, s = (e) => {
|
|
21091
|
+
t.state.update(OS, (t) => ({
|
|
21055
21092
|
...t,
|
|
21056
21093
|
ui: e
|
|
21057
21094
|
}));
|
|
@@ -21065,12 +21102,12 @@ function IS(e = {}) {
|
|
|
21065
21102
|
region: e.region ? { ...e.region } : null
|
|
21066
21103
|
}, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
|
|
21067
21104
|
let i = e.elements.length > 0 || e.region !== null;
|
|
21068
|
-
i !== (t.state.get(
|
|
21105
|
+
i !== (t.state.get(kS)?.hasSelection ?? !1) && t.state.update(kS, () => ({ hasSelection: i }));
|
|
21069
21106
|
});
|
|
21070
21107
|
t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
|
|
21071
21108
|
let g = () => {
|
|
21072
21109
|
let e = u?.element;
|
|
21073
|
-
e && (n.rendererRoot?.hasAttribute(
|
|
21110
|
+
e && (n.rendererRoot?.hasAttribute(AS) ? e.setAttribute(AS, "true") : e.removeAttribute(AS));
|
|
21074
21111
|
}, _ = () => {
|
|
21075
21112
|
d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
|
|
21076
21113
|
}, v = () => {
|
|
@@ -21079,7 +21116,7 @@ function IS(e = {}) {
|
|
|
21079
21116
|
let e = new n.ownerWindow.MutationObserver(g);
|
|
21080
21117
|
d = e, e.observe(n.rendererRoot, {
|
|
21081
21118
|
attributes: !0,
|
|
21082
|
-
attributeFilter: [
|
|
21119
|
+
attributeFilter: [AS]
|
|
21083
21120
|
}), g();
|
|
21084
21121
|
}
|
|
21085
21122
|
let e = {
|
|
@@ -21103,7 +21140,7 @@ function IS(e = {}) {
|
|
|
21103
21140
|
command: "context.copy",
|
|
21104
21141
|
order: 70,
|
|
21105
21142
|
toolbarMode: "always",
|
|
21106
|
-
icon:
|
|
21143
|
+
icon: jS,
|
|
21107
21144
|
hidden: () => !a()
|
|
21108
21145
|
}), t.tool.register({
|
|
21109
21146
|
id: "context.copy-selection",
|
|
@@ -21112,7 +21149,7 @@ function IS(e = {}) {
|
|
|
21112
21149
|
command: "context.copy-selection",
|
|
21113
21150
|
order: 71,
|
|
21114
21151
|
toolbarMode: "always",
|
|
21115
|
-
icon:
|
|
21152
|
+
icon: MS,
|
|
21116
21153
|
hidden: () => !a(),
|
|
21117
21154
|
disabled: () => !o()
|
|
21118
21155
|
}), t.tool.register({
|
|
@@ -21122,7 +21159,7 @@ function IS(e = {}) {
|
|
|
21122
21159
|
command: "context.add-note",
|
|
21123
21160
|
order: 72,
|
|
21124
21161
|
toolbarMode: "always",
|
|
21125
|
-
icon:
|
|
21162
|
+
icon: NS,
|
|
21126
21163
|
hidden: () => !a(),
|
|
21127
21164
|
disabled: () => !o()
|
|
21128
21165
|
}), t.settings.register({
|
|
@@ -21145,7 +21182,7 @@ function IS(e = {}) {
|
|
|
21145
21182
|
}
|
|
21146
21183
|
//#endregion
|
|
21147
21184
|
//#region src/host-layer.ts
|
|
21148
|
-
var
|
|
21185
|
+
var RS = {
|
|
21149
21186
|
display: "block",
|
|
21150
21187
|
position: "fixed",
|
|
21151
21188
|
inset: "0",
|
|
@@ -21187,48 +21224,48 @@ var LS = {
|
|
|
21187
21224
|
"letter-spacing": "normal",
|
|
21188
21225
|
direction: "ltr"
|
|
21189
21226
|
};
|
|
21190
|
-
function RS(e) {
|
|
21191
|
-
for (let [t, n] of Object.entries(LS)) e.style.setProperty(t, n, "important");
|
|
21192
|
-
}
|
|
21193
21227
|
function zS(e) {
|
|
21228
|
+
for (let [t, n] of Object.entries(RS)) e.style.setProperty(t, n, "important");
|
|
21229
|
+
}
|
|
21230
|
+
function BS(e) {
|
|
21194
21231
|
return "popover" in e && "showPopover" in e && typeof e.showPopover == "function" && "hidePopover" in e && typeof e.hidePopover == "function";
|
|
21195
21232
|
}
|
|
21196
|
-
var
|
|
21197
|
-
function
|
|
21198
|
-
if (!
|
|
21233
|
+
var VS = (e) => "newState" in e, HS = (e) => e.localName === "dialog";
|
|
21234
|
+
function US(e) {
|
|
21235
|
+
if (!HS(e) || !e.open) return !1;
|
|
21199
21236
|
try {
|
|
21200
21237
|
return e.matches(":modal");
|
|
21201
21238
|
} catch {
|
|
21202
21239
|
return !1;
|
|
21203
21240
|
}
|
|
21204
21241
|
}
|
|
21205
|
-
function
|
|
21206
|
-
|
|
21242
|
+
function WS(e, t, n = !0) {
|
|
21243
|
+
zS(e);
|
|
21207
21244
|
let r = e.ownerDocument, i = r.defaultView ?? window, a = t, o = !1, s = "fixed", c = !1, l = 0, u = [];
|
|
21208
|
-
if (n &&
|
|
21245
|
+
if (n && BS(e) && (e.popover = "manual"), t.append(e), n && BS(e)) try {
|
|
21209
21246
|
e.showPopover(), c = e.matches(":popover-open"), c && (s = "top-layer");
|
|
21210
21247
|
} catch {
|
|
21211
21248
|
e.removeAttribute("popover");
|
|
21212
21249
|
}
|
|
21213
21250
|
let d = () => {
|
|
21214
|
-
if (!(!c || !
|
|
21251
|
+
if (!(!c || !BS(e))) try {
|
|
21215
21252
|
e.matches(":popover-open") || e.showPopover();
|
|
21216
21253
|
} catch {}
|
|
21217
21254
|
}, f = (t) => {
|
|
21218
21255
|
if (e.parentNode === t) return;
|
|
21219
|
-
let n = c &&
|
|
21220
|
-
if (n &&
|
|
21256
|
+
let n = c && BS(e) && e.matches(":popover-open");
|
|
21257
|
+
if (n && BS(e)) try {
|
|
21221
21258
|
e.hidePopover();
|
|
21222
21259
|
} catch {}
|
|
21223
|
-
t.append(e),
|
|
21260
|
+
t.append(e), zS(e), n && d();
|
|
21224
21261
|
}, p = () => {
|
|
21225
|
-
u = u.filter((e) => e.isConnected &&
|
|
21262
|
+
u = u.filter((e) => e.isConnected && US(e)), f(u.at(-1) ?? a);
|
|
21226
21263
|
}, m = (e) => {
|
|
21227
21264
|
u = u.filter((t) => t !== e), u.push(e), p();
|
|
21228
21265
|
}, h = (e) => {
|
|
21229
21266
|
u = u.filter((t) => t !== e), p();
|
|
21230
21267
|
}, g = () => {
|
|
21231
|
-
if (!(o || !c || !
|
|
21268
|
+
if (!(o || !c || !BS(e))) try {
|
|
21232
21269
|
e.matches(":popover-open") && e.hidePopover(), e.showPopover();
|
|
21233
21270
|
} catch {}
|
|
21234
21271
|
}, _ = () => {
|
|
@@ -21237,27 +21274,27 @@ function US(e, t, n = !0) {
|
|
|
21237
21274
|
}));
|
|
21238
21275
|
}, v = (t) => {
|
|
21239
21276
|
if (!c || t.target === e) return;
|
|
21240
|
-
let n =
|
|
21277
|
+
let n = VS(t) ? t.newState : void 0, r = t.target;
|
|
21241
21278
|
if (r instanceof i.Element) {
|
|
21242
|
-
if (
|
|
21243
|
-
n === "open" &&
|
|
21279
|
+
if (HS(r)) {
|
|
21280
|
+
n === "open" && US(r) ? (m(r), _()) : n === "closed" ? h(r) : n === "open" && _();
|
|
21244
21281
|
return;
|
|
21245
21282
|
}
|
|
21246
21283
|
n === "open" && r.hasAttribute("popover") && _();
|
|
21247
21284
|
}
|
|
21248
21285
|
}, y = (e) => {
|
|
21249
21286
|
let t = e.target;
|
|
21250
|
-
t instanceof i.Element &&
|
|
21287
|
+
t instanceof i.Element && HS(t) && h(t);
|
|
21251
21288
|
}, b = () => {
|
|
21252
21289
|
r.fullscreenElement && _();
|
|
21253
21290
|
}, x = (e) => {
|
|
21254
|
-
|
|
21255
|
-
for (let t of e.querySelectorAll("dialog"))
|
|
21291
|
+
US(e) && m(e);
|
|
21292
|
+
for (let t of e.querySelectorAll("dialog")) US(t) && m(t);
|
|
21256
21293
|
}, S = new i.MutationObserver((e) => {
|
|
21257
21294
|
if (c) for (let t of e) {
|
|
21258
21295
|
if (t.type === "attributes") {
|
|
21259
21296
|
let e = t.target;
|
|
21260
|
-
e instanceof i.Element &&
|
|
21297
|
+
e instanceof i.Element && HS(e) && (US(e) ? m(e) : h(e));
|
|
21261
21298
|
}
|
|
21262
21299
|
for (let e of t.addedNodes) e instanceof i.Element && x(e);
|
|
21263
21300
|
u.some((e) => !e.isConnected) && p();
|
|
@@ -21273,7 +21310,7 @@ function US(e, t, n = !0) {
|
|
|
21273
21310
|
bringToFront: g,
|
|
21274
21311
|
dispose() {
|
|
21275
21312
|
if (!o) {
|
|
21276
|
-
if (o = !0, l && i.cancelAnimationFrame(l), r.removeEventListener("toggle", v, !0), r.removeEventListener("close", y, !0), r.removeEventListener("fullscreenchange", b, !0), S.disconnect(), c &&
|
|
21313
|
+
if (o = !0, l && i.cancelAnimationFrame(l), r.removeEventListener("toggle", v, !0), r.removeEventListener("close", y, !0), r.removeEventListener("fullscreenchange", b, !0), S.disconnect(), c && BS(e) && e.matches(":popover-open")) try {
|
|
21277
21314
|
e.hidePopover();
|
|
21278
21315
|
} catch {}
|
|
21279
21316
|
u = [];
|
|
@@ -21283,28 +21320,28 @@ function US(e, t, n = !0) {
|
|
|
21283
21320
|
}
|
|
21284
21321
|
//#endregion
|
|
21285
21322
|
//#region src/plugins/codex/index.ts
|
|
21286
|
-
var
|
|
21323
|
+
var GS = "mesurer.codex", KS = "codex:v1", qS = "mesurer.plugin.before-disable", JS = 2e3, YS = 750, XS = 1800, ZS = 2e3, QS = 12e4, $S = 10, eC = 5, tC = "Codex host connection is unavailable. Electron apps must expose window.__MESURER_HOST__.codexBridge from preload.", nC = [
|
|
21287
21324
|
"Implement the current human feedback from Mesurer in this project.",
|
|
21288
21325
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
21289
21326
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
21290
|
-
].join(" "),
|
|
21327
|
+
].join(" "), rC = {
|
|
21291
21328
|
viewBox: "0 0 256 256",
|
|
21292
21329
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
21293
|
-
},
|
|
21330
|
+
}, iC = {
|
|
21294
21331
|
viewBox: "0 0 256 256",
|
|
21295
21332
|
paths: ["M72,32H184a8,8,0,0,1,0,16h-8v20.69a40,40,0,0,1-11.72,28.28L137.25,124l27.03,27.03A40,40,0,0,1,176,179.31V208h8a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16h8V179.31a40,40,0,0,1,11.72-28.28L118.75,124,91.72,96.97A40,40,0,0,1,80,68.69V48H72a8,8,0,0,1,0-16Zm24,16V68.69a24,24,0,0,0,7.03,16.97L128,110.63l24.97-24.97A24,24,0,0,0,160,68.69V48Zm32,90.63-24.97,24.97A24,24,0,0,0,96,180.57V208h64V180.57a24,24,0,0,0-7.03-16.97Z"]
|
|
21296
|
-
},
|
|
21333
|
+
}, aC = {
|
|
21297
21334
|
viewBox: "0 0 256 256",
|
|
21298
21335
|
paths: ["M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"]
|
|
21299
|
-
},
|
|
21336
|
+
}, oC = () => {
|
|
21300
21337
|
try {
|
|
21301
21338
|
let e = globalThis.location;
|
|
21302
21339
|
return e?.origin ? `mesurer-codex-ui:v2:${e.origin}${e.pathname}` : null;
|
|
21303
21340
|
} catch {
|
|
21304
21341
|
return null;
|
|
21305
21342
|
}
|
|
21306
|
-
},
|
|
21307
|
-
let e =
|
|
21343
|
+
}, sC = () => {
|
|
21344
|
+
let e = oC();
|
|
21308
21345
|
if (!e) return null;
|
|
21309
21346
|
try {
|
|
21310
21347
|
let t = globalThis.sessionStorage?.getItem(e);
|
|
@@ -21329,18 +21366,18 @@ var WS = "mesurer.codex", GS = "codex:v1", KS = "mesurer.plugin.before-disable",
|
|
|
21329
21366
|
} catch {
|
|
21330
21367
|
return null;
|
|
21331
21368
|
}
|
|
21332
|
-
},
|
|
21333
|
-
let t =
|
|
21369
|
+
}, cC = (e) => {
|
|
21370
|
+
let t = oC();
|
|
21334
21371
|
if (t) try {
|
|
21335
21372
|
globalThis.sessionStorage?.setItem(t, JSON.stringify(e));
|
|
21336
21373
|
} catch {}
|
|
21337
|
-
},
|
|
21374
|
+
}, lC = async (e) => {
|
|
21338
21375
|
let t = window.__MESURER_HOST__?.codexBridge;
|
|
21339
|
-
if (!t) throw Error(
|
|
21376
|
+
if (!t) throw Error(tC);
|
|
21340
21377
|
let n = await t(e);
|
|
21341
21378
|
if (n.ok === !1) throw Error(n.error ?? "Codex Bridge request failed.");
|
|
21342
21379
|
return n;
|
|
21343
|
-
},
|
|
21380
|
+
}, uC = (e) => {
|
|
21344
21381
|
let t = e.runtime;
|
|
21345
21382
|
return !t || ![
|
|
21346
21383
|
"shared",
|
|
@@ -21358,10 +21395,10 @@ var WS = "mesurer.codex", GS = "codex:v1", KS = "mesurer.plugin.before-disable",
|
|
|
21358
21395
|
available: t.available === !0,
|
|
21359
21396
|
reason: t.reason
|
|
21360
21397
|
};
|
|
21361
|
-
},
|
|
21398
|
+
}, dC = (e) => ({
|
|
21362
21399
|
thread: e.thread?.trim() || null,
|
|
21363
21400
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
21364
|
-
}),
|
|
21401
|
+
}), fC = (e) => {
|
|
21365
21402
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
21366
21403
|
if (!t || !n || !r) throw Error("Codex Bridge returned an invalid delivery state.");
|
|
21367
21404
|
let i = {
|
|
@@ -21373,7 +21410,7 @@ var WS = "mesurer.codex", GS = "codex:v1", KS = "mesurer.plugin.before-disable",
|
|
|
21373
21410
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
21374
21411
|
};
|
|
21375
21412
|
return e.queuedSubmissionId !== void 0 && (i.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (i.dispatch = e.dispatch), e.dispatchError !== void 0 && (i.dispatchError = e.dispatchError?.trim() || null), i;
|
|
21376
|
-
},
|
|
21413
|
+
}, pC = (e) => ({
|
|
21377
21414
|
thread: e.thread?.trim() || null,
|
|
21378
21415
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
21379
21416
|
let t = e.id?.trim() ?? "";
|
|
@@ -21385,7 +21422,7 @@ var WS = "mesurer.codex", GS = "codex:v1", KS = "mesurer.plugin.before-disable",
|
|
|
21385
21422
|
}] : [];
|
|
21386
21423
|
}) : [],
|
|
21387
21424
|
hasMore: e.hasMore === !0
|
|
21388
|
-
}),
|
|
21425
|
+
}), mC = async (e, t, n) => {
|
|
21389
21426
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
21390
21427
|
let t = i.find((t) => t.id === e);
|
|
21391
21428
|
return t ? [t] : [];
|
|
@@ -21408,18 +21445,18 @@ var WS = "mesurer.codex", GS = "codex:v1", KS = "mesurer.plugin.before-disable",
|
|
|
21408
21445
|
])
|
|
21409
21446
|
].join("\n").trimEnd()
|
|
21410
21447
|
};
|
|
21411
|
-
},
|
|
21412
|
-
function
|
|
21413
|
-
let t = e.instruction?.trim() ||
|
|
21448
|
+
}, hC = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, gC = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, _C = (e) => e instanceof Error && (e.message === tC || e.message === "Codex Bridge is unavailable in this host." || e.message.includes("Codex Bridge lease"));
|
|
21449
|
+
function vC(e = {}) {
|
|
21450
|
+
let t = e.instruction?.trim() || nC, n = e.ui ?? !0, r = e.clearCompletedAnnotations ?? !0;
|
|
21414
21451
|
return {
|
|
21415
|
-
id:
|
|
21416
|
-
version:
|
|
21417
|
-
requires: [
|
|
21418
|
-
provides: [
|
|
21452
|
+
id: GS,
|
|
21453
|
+
version: qx,
|
|
21454
|
+
requires: [DS],
|
|
21455
|
+
provides: [KS],
|
|
21419
21456
|
async setup(e) {
|
|
21420
|
-
let i = e.service.get(
|
|
21457
|
+
let i = e.service.get(DS);
|
|
21421
21458
|
if (!i) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
21422
|
-
let a = n ?
|
|
21459
|
+
let a = n ? sC() : null, o = "unknown", s = null, c = !1, l = a?.originThread ?? null, u = a?.selectedThread ?? a?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = eC, _, v = "", y = null, b = a?.delivery ? {
|
|
21423
21460
|
id: a.delivery.id,
|
|
21424
21461
|
thread: a.delivery.thread,
|
|
21425
21462
|
status: a.delivery.status,
|
|
@@ -21428,38 +21465,38 @@ function _C(e = {}) {
|
|
|
21428
21465
|
dispatch: a.delivery.dispatch ?? null,
|
|
21429
21466
|
dispatchError: a.delivery.dispatchError ?? null
|
|
21430
21467
|
} : null, x = 0, S = 0, C = null, w = !1, T = null, E = async (e) => {
|
|
21431
|
-
if (e.action === "activate" || e.action === "runtime") return
|
|
21468
|
+
if (e.action === "activate" || e.action === "runtime") return lC(e);
|
|
21432
21469
|
if (!T) throw Error("Codex Bridge lease is not active for this plugin.");
|
|
21433
|
-
return
|
|
21470
|
+
return lC({
|
|
21434
21471
|
...e,
|
|
21435
21472
|
leaseId: T
|
|
21436
21473
|
});
|
|
21437
21474
|
}, D = async () => {
|
|
21438
21475
|
let e = T;
|
|
21439
21476
|
if (e) {
|
|
21440
|
-
if ((await
|
|
21477
|
+
if ((await lC({
|
|
21441
21478
|
action: "deactivate",
|
|
21442
21479
|
leaseId: e
|
|
21443
21480
|
})).released !== !0) throw Error("Codex Bridge did not confirm lease release.");
|
|
21444
21481
|
T = null;
|
|
21445
21482
|
}
|
|
21446
|
-
}, O = await
|
|
21483
|
+
}, O = await lC({
|
|
21447
21484
|
action: "activate",
|
|
21448
21485
|
thread: u ?? l ?? void 0
|
|
21449
21486
|
}), k = O.leaseId?.trim();
|
|
21450
21487
|
if (!k) throw Error("Codex Bridge did not return an activation lease.");
|
|
21451
|
-
T = k, o = "available", s =
|
|
21452
|
-
let A =
|
|
21488
|
+
T = k, o = "available", s = uC(O);
|
|
21489
|
+
let A = dC(O);
|
|
21453
21490
|
c = !0, f = A.thread, p = A.threads, e.lifecycle.onDispose(() => {
|
|
21454
21491
|
T && D().catch((e) => {
|
|
21455
21492
|
let t = e instanceof Error ? e.message : String(e);
|
|
21456
21493
|
console.error(`[Mesurer] Failed to release Codex host lease: ${t}`);
|
|
21457
21494
|
});
|
|
21458
|
-
}), e.hook.on(
|
|
21495
|
+
}), e.hook.on(qS, async (e) => {
|
|
21459
21496
|
e === "mesurer.codex" && await D();
|
|
21460
21497
|
});
|
|
21461
21498
|
let j = async () => {
|
|
21462
|
-
let e =
|
|
21499
|
+
let e = uC(await E({ action: "runtime" }));
|
|
21463
21500
|
if (!e) throw Error("Codex Bridge returned an invalid runtime state.");
|
|
21464
21501
|
return s = e, e;
|
|
21465
21502
|
}, M = async () => {
|
|
@@ -21467,8 +21504,8 @@ function _C(e = {}) {
|
|
|
21467
21504
|
action: "health",
|
|
21468
21505
|
thread: u ?? l ?? void 0
|
|
21469
21506
|
});
|
|
21470
|
-
return s =
|
|
21471
|
-
}, N = M, P = async (e) =>
|
|
21507
|
+
return s = uC(e) ?? s, dC(e);
|
|
21508
|
+
}, N = M, P = async (e) => fC(await E({
|
|
21472
21509
|
action: "delivery",
|
|
21473
21510
|
deliveryId: e
|
|
21474
21511
|
})), F = async (e) => {
|
|
@@ -21478,13 +21515,13 @@ function _C(e = {}) {
|
|
|
21478
21515
|
deliveryId: e.id,
|
|
21479
21516
|
thread: e.thread
|
|
21480
21517
|
};
|
|
21481
|
-
return e.queuedSubmissionId && (t.queuedSubmissionId = e.queuedSubmissionId),
|
|
21518
|
+
return e.queuedSubmissionId && (t.queuedSubmissionId = e.queuedSubmissionId), fC(await E(t));
|
|
21482
21519
|
}, I = async (e = {}) => {
|
|
21483
21520
|
let t = {
|
|
21484
21521
|
action: "threads",
|
|
21485
|
-
limit: e.limit ??
|
|
21522
|
+
limit: e.limit ?? $S
|
|
21486
21523
|
}, n = e.thread?.trim();
|
|
21487
|
-
return n && (t.thread = n),
|
|
21524
|
+
return n && (t.thread = n), pC(await E(t));
|
|
21488
21525
|
}, L = () => u ?? l ?? (d ? null : f), R = () => {
|
|
21489
21526
|
if (!n) return;
|
|
21490
21527
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
|
|
@@ -21496,7 +21533,7 @@ function _C(e = {}) {
|
|
|
21496
21533
|
dispatch: b.dispatch,
|
|
21497
21534
|
dispatchError: b.dispatchError
|
|
21498
21535
|
} : null;
|
|
21499
|
-
|
|
21536
|
+
cC({
|
|
21500
21537
|
version: 1,
|
|
21501
21538
|
originThread: l,
|
|
21502
21539
|
selectedThread: u,
|
|
@@ -21514,12 +21551,12 @@ function _C(e = {}) {
|
|
|
21514
21551
|
"queueing",
|
|
21515
21552
|
"queued",
|
|
21516
21553
|
"working"
|
|
21517
|
-
].includes(b.status) ?
|
|
21554
|
+
].includes(b.status) ? iC : b.status === "completed" ? aC : rC : rC, ee = () => {
|
|
21518
21555
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
21519
21556
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
21520
21557
|
}, r = (e) => ({
|
|
21521
21558
|
id: e,
|
|
21522
|
-
title: `Codex ${
|
|
21559
|
+
title: `Codex ${hC(e)}`,
|
|
21523
21560
|
updatedAt: null,
|
|
21524
21561
|
connected: !0
|
|
21525
21562
|
});
|
|
@@ -21547,7 +21584,7 @@ function _C(e = {}) {
|
|
|
21547
21584
|
let t = e.id === l ? "Current · " : e.connected ? "Loaded · " : "", r = b?.thread === e.id ? ` · ${V(b.status)}` : "";
|
|
21548
21585
|
return {
|
|
21549
21586
|
id: `codex.thread.${e.id}`,
|
|
21550
|
-
label: `${t}${
|
|
21587
|
+
label: `${t}${gC(e.title)}${r}`,
|
|
21551
21588
|
checked: () => n === e.id,
|
|
21552
21589
|
disabled: () => B(),
|
|
21553
21590
|
run() {
|
|
@@ -21555,15 +21592,15 @@ function _C(e = {}) {
|
|
|
21555
21592
|
}
|
|
21556
21593
|
};
|
|
21557
21594
|
});
|
|
21558
|
-
return g <
|
|
21595
|
+
return g < $S && (e.length > g || h) && r.push({
|
|
21559
21596
|
id: "codex.thread.show-more",
|
|
21560
21597
|
label: "Show 5 more…",
|
|
21561
21598
|
run() {
|
|
21562
|
-
g =
|
|
21599
|
+
g = $S, W();
|
|
21563
21600
|
}
|
|
21564
21601
|
}), b?.queuedSubmissionId && b.status === "queued" && (b.dispatch === "desktop-opened" || b.dispatch === "desktop-wake-failed") && r.push({
|
|
21565
21602
|
id: "codex.delivery.receipt",
|
|
21566
|
-
label: `Receipt · ${
|
|
21603
|
+
label: `Receipt · ${hC(b.queuedSubmissionId)}`,
|
|
21567
21604
|
disabled: () => !0,
|
|
21568
21605
|
run: () => void 0
|
|
21569
21606
|
}), r;
|
|
@@ -21597,10 +21634,10 @@ function _C(e = {}) {
|
|
|
21597
21634
|
items: r
|
|
21598
21635
|
} : void 0
|
|
21599
21636
|
}));
|
|
21600
|
-
},
|
|
21637
|
+
}, G = async (e) => {
|
|
21601
21638
|
if (o !== "available") return;
|
|
21602
21639
|
let t = await I({
|
|
21603
|
-
limit:
|
|
21640
|
+
limit: $S,
|
|
21604
21641
|
thread: e ?? void 0
|
|
21605
21642
|
});
|
|
21606
21643
|
m = t.threads, h = t.hasMore, p = t.threads.filter((e) => e.connected).map((e) => e.id), f = t.thread;
|
|
@@ -21608,7 +21645,7 @@ function _C(e = {}) {
|
|
|
21608
21645
|
te = (e = !1) => w || o === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
|
|
21609
21646
|
try {
|
|
21610
21647
|
let e = await N();
|
|
21611
|
-
o = "available", c = !0, f = e.thread, await
|
|
21648
|
+
o = "available", c = !0, f = e.thread, await G(u ?? l ?? e.thread);
|
|
21612
21649
|
let t = u ?? l;
|
|
21613
21650
|
t && p.includes(t) ? d = !1 : p.length === 1 ? z(p[0], !0) : d = !0, !d && t && R();
|
|
21614
21651
|
} catch (e) {
|
|
@@ -21617,12 +21654,12 @@ function _C(e = {}) {
|
|
|
21617
21654
|
y = null, W();
|
|
21618
21655
|
}
|
|
21619
21656
|
})(), y);
|
|
21620
|
-
let
|
|
21657
|
+
let re = () => {
|
|
21621
21658
|
x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
|
|
21622
|
-
},
|
|
21659
|
+
}, ie = () => {
|
|
21623
21660
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
21624
21661
|
S = 0, b?.status === "completed" && (b = null, R(), W());
|
|
21625
|
-
},
|
|
21662
|
+
}, XS);
|
|
21626
21663
|
}, ae = async (e) => {
|
|
21627
21664
|
if (!(!b || b.id !== e.id)) {
|
|
21628
21665
|
if (b = {
|
|
@@ -21638,20 +21675,20 @@ function _C(e = {}) {
|
|
|
21638
21675
|
}
|
|
21639
21676
|
if (e.status === "completed") {
|
|
21640
21677
|
if (r) for (let e of b.annotationIds) await i.removeAnnotation(e);
|
|
21641
|
-
R(), W(),
|
|
21678
|
+
R(), W(), ie();
|
|
21642
21679
|
return;
|
|
21643
21680
|
}
|
|
21644
21681
|
if (e.status === "interrupted") {
|
|
21645
21682
|
R(), W();
|
|
21646
21683
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
21647
|
-
Date.now() - t <
|
|
21684
|
+
Date.now() - t < QS && (x = globalThis.setTimeout(() => {
|
|
21648
21685
|
x = 0, oe(e.id);
|
|
21649
|
-
},
|
|
21686
|
+
}, ZS));
|
|
21650
21687
|
return;
|
|
21651
21688
|
}
|
|
21652
21689
|
W(), x = globalThis.setTimeout(() => {
|
|
21653
21690
|
x = 0, oe(e.id);
|
|
21654
|
-
},
|
|
21691
|
+
}, YS);
|
|
21655
21692
|
}
|
|
21656
21693
|
}, oe = async (e) => {
|
|
21657
21694
|
if (!(w || b?.id !== e)) try {
|
|
@@ -21675,7 +21712,7 @@ function _C(e = {}) {
|
|
|
21675
21712
|
b = {
|
|
21676
21713
|
...b,
|
|
21677
21714
|
status: "failed"
|
|
21678
|
-
}, R(),
|
|
21715
|
+
}, R(), _C(n) && (o = "unavailable"), W();
|
|
21679
21716
|
}
|
|
21680
21717
|
}, se = {
|
|
21681
21718
|
health: M,
|
|
@@ -21687,11 +21724,11 @@ function _C(e = {}) {
|
|
|
21687
21724
|
let n = await E({
|
|
21688
21725
|
action: "target",
|
|
21689
21726
|
thread: t
|
|
21690
|
-
}), r =
|
|
21691
|
-
return s =
|
|
21727
|
+
}), r = dC(n);
|
|
21728
|
+
return s = uC(n) ?? s, z(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, W(), r;
|
|
21692
21729
|
},
|
|
21693
21730
|
async queue(e) {
|
|
21694
|
-
let r = await
|
|
21731
|
+
let r = await mC(i, e, t), a = e?.thread?.trim(), s = a || (n ? L() : null);
|
|
21695
21732
|
if (n && !a && (d || !s)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
21696
21733
|
let c = { message: r.message };
|
|
21697
21734
|
s && (c.thread = s);
|
|
@@ -21711,16 +21748,16 @@ function _C(e = {}) {
|
|
|
21711
21748
|
};
|
|
21712
21749
|
return e.queuedSubmissionId !== void 0 && (n.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (n.dispatch = e.dispatch), e.dispatchError !== void 0 && (n.dispatchError = e.dispatchError?.trim() || null), n;
|
|
21713
21750
|
} catch (e) {
|
|
21714
|
-
throw n &&
|
|
21751
|
+
throw n && _C(e) && (o = "unavailable", W()), e;
|
|
21715
21752
|
}
|
|
21716
21753
|
},
|
|
21717
21754
|
send(e) {
|
|
21718
21755
|
return se.queue(e);
|
|
21719
21756
|
}
|
|
21720
21757
|
};
|
|
21721
|
-
e.service.provide(
|
|
21758
|
+
e.service.provide(KS, se);
|
|
21722
21759
|
let ce = async () => {
|
|
21723
|
-
if (!(C || B())) return
|
|
21760
|
+
if (!(C || B())) return re(), b = {
|
|
21724
21761
|
id: null,
|
|
21725
21762
|
thread: L(),
|
|
21726
21763
|
status: "queueing",
|
|
@@ -21749,9 +21786,9 @@ function _C(e = {}) {
|
|
|
21749
21786
|
updatedAt: 0
|
|
21750
21787
|
}) : x = globalThis.setTimeout(() => {
|
|
21751
21788
|
x = 0, oe(e.deliveryId);
|
|
21752
|
-
},
|
|
21789
|
+
}, YS) : S = globalThis.setTimeout(() => {
|
|
21753
21790
|
S = 0, b?.id === null && b?.status === "queued" && (b = null, R(), W());
|
|
21754
|
-
},
|
|
21791
|
+
}, XS);
|
|
21755
21792
|
} catch (e) {
|
|
21756
21793
|
b = null, R(), W();
|
|
21757
21794
|
let t = e instanceof Error ? e.message : String(e);
|
|
@@ -21779,9 +21816,9 @@ function _C(e = {}) {
|
|
|
21779
21816
|
}, 0));
|
|
21780
21817
|
let t = globalThis.setInterval(() => {
|
|
21781
21818
|
c && te().catch(() => void 0);
|
|
21782
|
-
},
|
|
21819
|
+
}, JS);
|
|
21783
21820
|
e.lifecycle.onDispose(() => {
|
|
21784
|
-
w = !0,
|
|
21821
|
+
w = !0, re(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
21785
21822
|
});
|
|
21786
21823
|
}
|
|
21787
21824
|
}
|
|
@@ -21789,66 +21826,66 @@ function _C(e = {}) {
|
|
|
21789
21826
|
}
|
|
21790
21827
|
//#endregion
|
|
21791
21828
|
//#region src/recording.ts
|
|
21792
|
-
var
|
|
21793
|
-
...
|
|
21794
|
-
version:
|
|
21795
|
-
}),
|
|
21796
|
-
...
|
|
21797
|
-
version:
|
|
21798
|
-
}),
|
|
21829
|
+
var yC = gb, bC = (e = {}) => ({
|
|
21830
|
+
...Rb(e),
|
|
21831
|
+
version: qx
|
|
21832
|
+
}), xC = Xb, SC = (e = {}) => ({
|
|
21833
|
+
...gx(e),
|
|
21834
|
+
version: qx
|
|
21835
|
+
}), CC = () => globalThis.window?.__MESURER_HOST__?.codexBridge !== void 0, wC = [
|
|
21799
21836
|
{
|
|
21800
|
-
id:
|
|
21837
|
+
id: ES,
|
|
21801
21838
|
label: "Context",
|
|
21802
21839
|
order: 30,
|
|
21803
|
-
create:
|
|
21840
|
+
create: LS,
|
|
21804
21841
|
settingsIds: ["context"],
|
|
21805
21842
|
hiddenSettingsControlIds: ["ui"]
|
|
21806
21843
|
},
|
|
21807
21844
|
{
|
|
21808
|
-
id:
|
|
21845
|
+
id: Jx,
|
|
21809
21846
|
label: "Edit",
|
|
21810
21847
|
order: 35,
|
|
21811
|
-
create:
|
|
21848
|
+
create: Xx,
|
|
21812
21849
|
settingsIds: ["arrange"]
|
|
21813
21850
|
},
|
|
21814
21851
|
{
|
|
21815
|
-
id:
|
|
21852
|
+
id: CS,
|
|
21816
21853
|
label: "Layout Guides",
|
|
21817
21854
|
order: 38,
|
|
21818
|
-
create:
|
|
21855
|
+
create: TS
|
|
21819
21856
|
},
|
|
21820
21857
|
{
|
|
21821
|
-
id:
|
|
21858
|
+
id: xC,
|
|
21822
21859
|
label: "Screenshot",
|
|
21823
21860
|
order: 40,
|
|
21824
|
-
create:
|
|
21861
|
+
create: SC,
|
|
21825
21862
|
settingsIds: ["screenshot"],
|
|
21826
21863
|
hiddenSettingsControlIds: ["tool"]
|
|
21827
21864
|
},
|
|
21828
21865
|
{
|
|
21829
|
-
id:
|
|
21866
|
+
id: yC,
|
|
21830
21867
|
label: "Recording",
|
|
21831
21868
|
description: "Record a selected page region and trim, resize, or export it through MediaBunny.",
|
|
21832
21869
|
order: 42,
|
|
21833
|
-
create:
|
|
21870
|
+
create: bC,
|
|
21834
21871
|
settingsIds: ["recording"],
|
|
21835
21872
|
hiddenSettingsControlIds: ["tool"]
|
|
21836
21873
|
},
|
|
21837
21874
|
{
|
|
21838
|
-
id:
|
|
21875
|
+
id: GS,
|
|
21839
21876
|
label: "Codex",
|
|
21840
21877
|
description: "Connects Mesurer to open Codex threads on this computer. Electron hosts provide the native Codex connection through preload.",
|
|
21841
21878
|
order: 45,
|
|
21842
|
-
create:
|
|
21879
|
+
create: vC
|
|
21843
21880
|
}
|
|
21844
|
-
],
|
|
21845
|
-
let t = e !== void 0, n = new Map((e ?? []).map((e) => [e.id, e])), r = new Set(
|
|
21881
|
+
], TC = (e) => {
|
|
21882
|
+
let t = e !== void 0, n = new Map((e ?? []).map((e) => [e.id, e])), r = new Set(wC.map((e) => e.id)), i = wC.map((e) => {
|
|
21846
21883
|
let r = n.get(e.id);
|
|
21847
21884
|
return {
|
|
21848
21885
|
...e,
|
|
21849
21886
|
settingsIds: e.settingsIds ? [...e.settingsIds] : void 0,
|
|
21850
21887
|
hiddenSettingsControlIds: e.hiddenSettingsControlIds ? [...e.hiddenSettingsControlIds] : void 0,
|
|
21851
|
-
enabled: t ? !!r : e.id === "mesurer.codex" ?
|
|
21888
|
+
enabled: t ? !!r : e.id === "mesurer.codex" ? CC() : e.enabled !== !1,
|
|
21852
21889
|
create: r ? () => r : e.create
|
|
21853
21890
|
};
|
|
21854
21891
|
});
|
|
@@ -21859,16 +21896,16 @@ var vC = hb, yC = (e = {}) => ({
|
|
|
21859
21896
|
create: () => n
|
|
21860
21897
|
});
|
|
21861
21898
|
return i;
|
|
21862
|
-
},
|
|
21863
|
-
function
|
|
21864
|
-
return
|
|
21899
|
+
}, EC = (e) => e;
|
|
21900
|
+
function DC() {
|
|
21901
|
+
return sS();
|
|
21865
21902
|
}
|
|
21866
|
-
async function
|
|
21867
|
-
return
|
|
21903
|
+
async function OC(e = {}) {
|
|
21904
|
+
return cS(e);
|
|
21868
21905
|
}
|
|
21869
21906
|
//#endregion
|
|
21870
21907
|
//#region src/index.tsx
|
|
21871
|
-
var
|
|
21908
|
+
var kC = {
|
|
21872
21909
|
select: "select",
|
|
21873
21910
|
xray: "xray",
|
|
21874
21911
|
colorPicker: "color-picker",
|
|
@@ -21878,14 +21915,14 @@ var OC = {
|
|
|
21878
21915
|
distance: "distance",
|
|
21879
21916
|
settings: "settings"
|
|
21880
21917
|
};
|
|
21881
|
-
function
|
|
21918
|
+
function AC(e = {}) {
|
|
21882
21919
|
if (!("document" in globalThis)) throw Error("mountMesurer() requires a browser or Electron renderer document.");
|
|
21883
21920
|
let { target: t = document.body, isolate: n = !0, shadowMode: r = "open", topLayer: i = !0, agent: a = !1, signal: o, onPluginHost: s, onPluginsReady: c, plugins: l, excludeBuiltins: u, excludePlugins: d, ...f } = e;
|
|
21884
21921
|
if (o?.aborted) throw o.reason ?? new DOMException("Mesurer mount aborted.", "AbortError");
|
|
21885
21922
|
if (!t) throw Error("mountMesurer() requires document.body to exist or an explicit target.");
|
|
21886
21923
|
let p = t.ownerDocument ?? document, m = p.defaultView ?? window, h = p.createElement("div");
|
|
21887
21924
|
h.dataset.mesurerIsland = "true";
|
|
21888
|
-
let g =
|
|
21925
|
+
let g = WS(h, t, i), _ = h, v = h, y = h;
|
|
21889
21926
|
if (n) {
|
|
21890
21927
|
let e = h.attachShadow({ mode: r });
|
|
21891
21928
|
v = p.createElement("div"), v.dataset.mesurerIslandMount = "true", e.append(v), _ = e, y = e;
|
|
@@ -21896,7 +21933,7 @@ function kC(e = {}) {
|
|
|
21896
21933
|
C = e, w = t;
|
|
21897
21934
|
});
|
|
21898
21935
|
D.catch(() => void 0), O.catch(() => void 0);
|
|
21899
|
-
let k = async () => (await (b ? Promise.resolve(b) : D), O), A = a === !0 ? {} : a === !1 ? null : a, j =
|
|
21936
|
+
let k = async () => (await (b ? Promise.resolve(b) : D), O), A = a === !0 ? {} : a === !1 ? null : a, j = Kx({
|
|
21900
21937
|
ownerDocument: p,
|
|
21901
21938
|
root: A?.root ?? (t.nodeType === 11 ? t : p),
|
|
21902
21939
|
getPluginHost: () => b,
|
|
@@ -21908,12 +21945,12 @@ function kC(e = {}) {
|
|
|
21908
21945
|
return t;
|
|
21909
21946
|
}, N = async () => {
|
|
21910
21947
|
await j.ready();
|
|
21911
|
-
let e = b?.service.get(
|
|
21948
|
+
let e = b?.service.get(DS);
|
|
21912
21949
|
if (!e) throw Error("Mesurer Context is disabled. Enable it in Settings or include context() in plugins.");
|
|
21913
21950
|
return e;
|
|
21914
21951
|
}, P = async () => {
|
|
21915
21952
|
await j.ready();
|
|
21916
|
-
let e = b?.service.get(
|
|
21953
|
+
let e = b?.service.get(Zx);
|
|
21917
21954
|
if (!e) throw Error("Mesurer Edit is disabled. Enable it in Settings or include edit() in plugins.");
|
|
21918
21955
|
return e;
|
|
21919
21956
|
}, F = async (e) => (await N()).context(e), I = async (e) => (await N()).contextText(e), L = async (e) => (await N()).copyContext(e), R = async (e) => (await N()).select(e), z = async () => (await N()).annotations(), B = async (e) => (await N()).review(e), V = async (e) => (await N()).capturePlan(e), H = async () => (await N()).prepareCapture(), U = async () => (await N()).finishCapture(), ee = async () => (await P()).intents(), te = async (e) => {
|
|
@@ -21922,9 +21959,9 @@ function kC(e = {}) {
|
|
|
21922
21959
|
return t;
|
|
21923
21960
|
}, ne = async (e, t) => {
|
|
21924
21961
|
(await P()).show(e, t);
|
|
21925
|
-
}, W = async (e, t) => (await P()).capturePlan(e, t),
|
|
21962
|
+
}, W = async (e, t) => (await P()).capturePlan(e, t), G = async (e, t) => (await P()).review(e, t), re = () => j.textEdits(), ie = (e) => j.textEdit(e), ae = Object.assign(j, {
|
|
21926
21963
|
capabilities: () => {
|
|
21927
|
-
let e = !!b?.service.get(
|
|
21964
|
+
let e = !!b?.service.get(DS);
|
|
21928
21965
|
return {
|
|
21929
21966
|
protocol: "mesurer.agent/v1",
|
|
21930
21967
|
contextSchema: "mesurer.context/v1",
|
|
@@ -21934,8 +21971,8 @@ function kC(e = {}) {
|
|
|
21934
21971
|
annotations: e,
|
|
21935
21972
|
review: e,
|
|
21936
21973
|
capturePlan: e,
|
|
21937
|
-
arrange: !!b?.service.get(
|
|
21938
|
-
textEdit: !!b?.service.get(
|
|
21974
|
+
arrange: !!b?.service.get(Zx),
|
|
21975
|
+
textEdit: !!b?.service.get(Wx)
|
|
21939
21976
|
}
|
|
21940
21977
|
};
|
|
21941
21978
|
},
|
|
@@ -21951,12 +21988,12 @@ function kC(e = {}) {
|
|
|
21951
21988
|
arrange: te,
|
|
21952
21989
|
showArrange: ne,
|
|
21953
21990
|
arrangeCapturePlan: W,
|
|
21954
|
-
reviewArrange:
|
|
21991
|
+
reviewArrange: G
|
|
21955
21992
|
}), oe = {
|
|
21956
21993
|
...f,
|
|
21957
|
-
version:
|
|
21958
|
-
plugins:
|
|
21959
|
-
excludePlugins: u ? u.map((e) =>
|
|
21994
|
+
version: qx,
|
|
21995
|
+
plugins: TC(l),
|
|
21996
|
+
excludePlugins: u ? u.map((e) => kC[e]) : [...d ?? []]
|
|
21960
21997
|
}, se = Oi(() => Yr(rv, Di(oe, {
|
|
21961
21998
|
portalTarget: y,
|
|
21962
21999
|
pageTarget: t,
|
|
@@ -22004,9 +22041,9 @@ function kC(e = {}) {
|
|
|
22004
22041
|
arrange: te,
|
|
22005
22042
|
showArrange: ne,
|
|
22006
22043
|
arrangeCapturePlan: W,
|
|
22007
|
-
reviewArrange:
|
|
22008
|
-
textEdits:
|
|
22009
|
-
textEdit:
|
|
22044
|
+
reviewArrange: G,
|
|
22045
|
+
textEdits: re,
|
|
22046
|
+
textEdit: ie,
|
|
22010
22047
|
bringToFront: g.bringToFront,
|
|
22011
22048
|
describe: async () => (await le).describe(),
|
|
22012
22049
|
dispose() {
|
|
@@ -22025,6 +22062,6 @@ function kC(e = {}) {
|
|
|
22025
22062
|
}
|
|
22026
22063
|
return me;
|
|
22027
22064
|
}
|
|
22028
|
-
var
|
|
22065
|
+
var jC = AC;
|
|
22029
22066
|
//#endregion
|
|
22030
|
-
export {
|
|
22067
|
+
export { Wx as MESURER_TEXT_EDIT_SERVICE_ID, qx as MESURER_VERSION, pS as captureMesurerContext, SS as copyTextToClipboard, Kx as createMesurerAgentHarness, _S as createMesurerCapturePlan, DC as createMesurerPluginHost, OC as createMesurerRuntime, EC as defineMesurerPlugin, gS as formatMesurerContext, jC as mountMeasurer, AC as mountMesurer, xS as reviewMesurerAnnotation };
|