mesurer-solid 0.2.0-beta.4 → 0.2.0-beta.6
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 +1301 -1275
- package/dist/inject-script.js +8 -8
- package/dist/inject.js +1301 -1275
- package/dist/plugins.js +901 -865
- package/package.json +1 -1
package/dist/plugins.js
CHANGED
|
@@ -127,21 +127,21 @@ function ee(e, t) {
|
|
|
127
127
|
}
|
|
128
128
|
function N() {
|
|
129
129
|
if (E) {
|
|
130
|
-
|
|
130
|
+
P();
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
133
133
|
T || (T = !0, !O && !U.gt && queueMicrotask(W));
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function te(e) {
|
|
136
136
|
if (E) return;
|
|
137
137
|
E = !0;
|
|
138
138
|
let t = "[REACTIVITY_HALTED]";
|
|
139
139
|
e === void 0 ? console.error(t) : console.error(t, e);
|
|
140
140
|
}
|
|
141
|
-
function
|
|
141
|
+
function P() {
|
|
142
142
|
D || (D = !0, console.error("[REACTIVITY_HALTED]"));
|
|
143
143
|
}
|
|
144
|
-
var
|
|
144
|
+
var ne = 0, F = class {
|
|
145
145
|
ke = null;
|
|
146
146
|
bt = [[], []];
|
|
147
147
|
vt = [];
|
|
@@ -162,7 +162,7 @@ var te = 0, I = class {
|
|
|
162
162
|
let t = this.bt[e - 1];
|
|
163
163
|
this.bt[e - 1] = [], oe(t, e);
|
|
164
164
|
}
|
|
165
|
-
let t = this.vt, n = ++
|
|
165
|
+
let t = this.vt, n = ++ne;
|
|
166
166
|
for (let r = 0; r < t.length;) {
|
|
167
167
|
let i = t[r];
|
|
168
168
|
if (i.kt !== n && (i.kt = n, i.run?.(e), t[r] !== i)) {
|
|
@@ -192,7 +192,7 @@ var te = 0, I = class {
|
|
|
192
192
|
r && r.restoreQueues(n);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
},
|
|
195
|
+
}, I = class e extends F {
|
|
196
196
|
gt = !1;
|
|
197
197
|
m = M();
|
|
198
198
|
static Ce;
|
|
@@ -242,7 +242,7 @@ var te = 0, I = class {
|
|
|
242
242
|
let e = M();
|
|
243
243
|
e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn, ae = this.m = e;
|
|
244
244
|
}
|
|
245
|
-
} else A(this) ? (
|
|
245
|
+
} else A(this) ? (V(), b.EE >= b.Ve && (ye(b, e.Ce), V())) : (y.size && ye(x, e.Ce), re());
|
|
246
246
|
C++, T = b.EE >= b.Ve, f.size && e.In(1), this.run(1), f.size && e.In(2), this.run(2);
|
|
247
247
|
} finally {
|
|
248
248
|
this.gt = !1;
|
|
@@ -294,12 +294,12 @@ var te = 0, I = class {
|
|
|
294
294
|
for (let e of f) e.Ne ||= w;
|
|
295
295
|
}
|
|
296
296
|
};
|
|
297
|
-
function
|
|
297
|
+
function L(e) {
|
|
298
298
|
ae.Qt.push(e);
|
|
299
299
|
}
|
|
300
|
-
var
|
|
301
|
-
function
|
|
302
|
-
let n = e.Ke || tt, r = e.Le !== void 0, i =
|
|
300
|
+
var R = !1;
|
|
301
|
+
function z(e, t = !1) {
|
|
302
|
+
let n = e.Ke || tt, r = e.Le !== void 0, i = R;
|
|
303
303
|
for (let o = e.o; o !== null; o = o.le) {
|
|
304
304
|
if (i && (o.fe.se &= ~a), r && o.fe.T & 8) {
|
|
305
305
|
o.fe.se |= 256;
|
|
@@ -308,31 +308,31 @@ function B(e, t = !1) {
|
|
|
308
308
|
t && n ? (o.fe.se |= 128, v(o.fe, n)) : t && (o.fe.se |= 128, o.fe.Ke = void 0), fe(o.fe);
|
|
309
309
|
}
|
|
310
310
|
}
|
|
311
|
-
function
|
|
311
|
+
function B(e) {
|
|
312
312
|
let t = e;
|
|
313
313
|
if (!t.ce) {
|
|
314
|
-
e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) &&
|
|
314
|
+
e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) && I.un(e);
|
|
315
315
|
return;
|
|
316
316
|
}
|
|
317
|
-
e.De !== o && (e.Ue = e.De, e.De = o, e.Re && e.Re !== 3 && (e.Je = !0)), t.Ee = !1, t.se &= ~i, t.S & 1 || (t.S &= -5), (t.We !== null || t.Qe !== null) &&
|
|
317
|
+
e.De !== o && (e.Ue = e.De, e.De = o, e.Re && e.Re !== 3 && (e.Je = !0)), t.Ee = !1, t.se &= ~i, t.S & 1 || (t.S &= -5), (t.We !== null || t.Qe !== null) && I.me(t, !1, !0), (e.ge || e.pe) && I.un(e);
|
|
318
318
|
}
|
|
319
|
-
function
|
|
319
|
+
function V() {
|
|
320
320
|
let e = ae.Qt;
|
|
321
|
-
for (let t = 0; t < e.length; t++)
|
|
321
|
+
for (let t = 0; t < e.length; t++) B(e[t]);
|
|
322
322
|
e.length = 0;
|
|
323
323
|
}
|
|
324
324
|
function re(e = null, t = !1) {
|
|
325
325
|
let n = !t;
|
|
326
|
-
n &&
|
|
326
|
+
n && V(), !t && U.vt.length && H(U);
|
|
327
327
|
let r = b.EE >= b.Ve;
|
|
328
|
-
if (r && ye(b,
|
|
329
|
-
r &&
|
|
328
|
+
if (r && ye(b, I.Ce), n) {
|
|
329
|
+
r && V();
|
|
330
330
|
let t = e ?? U.m;
|
|
331
|
-
if (t.Me.length &&
|
|
331
|
+
if (t.Me.length && I.En(t.Me), t.ln.size) {
|
|
332
332
|
for (let e of t.ln) e.se & 64 || fe(e);
|
|
333
333
|
t.ln.clear(), N();
|
|
334
334
|
}
|
|
335
|
-
t.A.length && (
|
|
335
|
+
t.A.length && (I.G(t.A), U.vt.length && H(U)), t.cn.size && I.Dt(t.cn, e), j(), f.size && I.dn(e);
|
|
336
336
|
}
|
|
337
337
|
}
|
|
338
338
|
function H(e) {
|
|
@@ -341,7 +341,7 @@ function H(e) {
|
|
|
341
341
|
function ie(e) {
|
|
342
342
|
for (let t = 0; t < e.length; t++) e[t].Ne = w;
|
|
343
343
|
}
|
|
344
|
-
var U = new
|
|
344
|
+
var U = new I(), ae = U.m;
|
|
345
345
|
function W(e) {
|
|
346
346
|
if (e) {
|
|
347
347
|
O++;
|
|
@@ -391,7 +391,7 @@ function ce(e) {
|
|
|
391
391
|
break;
|
|
392
392
|
}
|
|
393
393
|
}
|
|
394
|
-
return t &&
|
|
394
|
+
return t && I.Tn?.(e) && (t = !1), t && (e.fn = !0), t;
|
|
395
395
|
}
|
|
396
396
|
function le(e) {
|
|
397
397
|
for (; e.fn && typeof e.fn == "object";) e = e.fn;
|
|
@@ -498,7 +498,7 @@ function Se(e, t = !1, n) {
|
|
|
498
498
|
if (t) {
|
|
499
499
|
e.se = r | 64;
|
|
500
500
|
let t = e;
|
|
501
|
-
(t.ge || t.pe) &&
|
|
501
|
+
(t.ge || t.pe) && I.un(t);
|
|
502
502
|
}
|
|
503
503
|
t && e.ce && (e.Te = null);
|
|
504
504
|
let i = n ? e.We : e.Fe;
|
|
@@ -686,7 +686,7 @@ function Ge(e, t) {
|
|
|
686
686
|
He(e, i), n && N();
|
|
687
687
|
}
|
|
688
688
|
function Ke(e) {
|
|
689
|
-
let t = !1, n, r = /* @__PURE__ */ new Set(), i =
|
|
689
|
+
let t = !1, n, r = /* @__PURE__ */ new Set(), i = I.Se, a = (o) => {
|
|
690
690
|
if (r.has(o) || !Re(o, e)) return;
|
|
691
691
|
r.add(o), o.de = C;
|
|
692
692
|
let s = o.oe?.values().next().value, c = o.S & 2;
|
|
@@ -726,11 +726,11 @@ function Je(t, n, r) {
|
|
|
726
726
|
Pe(t), Ye(t);
|
|
727
727
|
let s = h(t);
|
|
728
728
|
if (s && s.Ae.delete(t), r) r(e), a && Ye(t, !0);
|
|
729
|
-
else if (t._e !== void 0) t.De === o &&
|
|
729
|
+
else if (t._e !== void 0) t.De === o && L(t), t.De = e, I.Pe !== null && I.Pe(t, e), _(t) || z(t), t.de = C;
|
|
730
730
|
else if (s) {
|
|
731
731
|
let n = t.Re, r = t.Ue, i = t.be;
|
|
732
732
|
try {
|
|
733
|
-
(!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C,
|
|
733
|
+
(!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C, I.Pe !== null && I.Pe(t, e), z(t, !0));
|
|
734
734
|
} catch (e) {
|
|
735
735
|
Xe(t, 2, e);
|
|
736
736
|
}
|
|
@@ -790,12 +790,12 @@ function Je(t, n, r) {
|
|
|
790
790
|
return s;
|
|
791
791
|
}
|
|
792
792
|
function Ye(e, t = !1) {
|
|
793
|
-
e.oe && ze(e), e.ue &&= !1, e.he = !1, e.S = t ? 0 : e.S & 4, e._ && Ve(e), (e.ge || e.pe) &&
|
|
793
|
+
e.oe && ze(e), e.ue &&= !1, e.he = !1, e.S = t ? 0 : e.S & 4, e._ && Ve(e), (e.ge || e.pe) && I.Se(e), e.u && I.Oe !== null && I.Oe(e), e.i && e.i();
|
|
794
794
|
}
|
|
795
795
|
function Xe(n, r, i, a, o) {
|
|
796
796
|
r === 2 && !(i instanceof t) && !(i instanceof e) && (i = new t(n, i));
|
|
797
797
|
let s = r === 1 && i instanceof e ? i.source : void 0, c = s === n, l = r === 1 && n._e !== void 0 && !c, u = l && _(n);
|
|
798
|
-
a || (r === 1 && s ? (Le(n, s), n.S = 1 | n.S & 4, Ve(n, s, i)) : (ze(n), n.S = r | (r === 2 ? 0 : n.S & 4), n._ = i),
|
|
798
|
+
a || (r === 1 && s ? (Le(n, s), n.S = 1 | n.S & 4, Ve(n, s, i)) : (ze(n), n.S = r | (r === 2 ? 0 : n.S & 4), n._ = i), I.Se !== null && I.Se(n), n.u && I.Oe !== null && I.Oe(n)), o && !a && v(n, o);
|
|
799
799
|
let d = a || u, f = a || l ? void 0 : o;
|
|
800
800
|
if (n.i) {
|
|
801
801
|
if (a && r === 1) return;
|
|
@@ -808,11 +808,11 @@ function Xe(n, r, i, a, o) {
|
|
|
808
808
|
fe(t), N();
|
|
809
809
|
return;
|
|
810
810
|
}
|
|
811
|
-
!d && !t.Ne &&
|
|
811
|
+
!d && !t.Ne && L(t), Xe(t, r, i, d, f);
|
|
812
812
|
}
|
|
813
813
|
});
|
|
814
814
|
}
|
|
815
|
-
|
|
815
|
+
I.Ce = nt, I.me = Se;
|
|
816
816
|
var Ze = !1, Qe = !1, $e = !1, et = !1, G = null, tt = null;
|
|
817
817
|
function nt(t, n = !1) {
|
|
818
818
|
let r = t.Re;
|
|
@@ -823,10 +823,10 @@ function nt(t, n = !1) {
|
|
|
823
823
|
Ze = !0;
|
|
824
824
|
let y = et;
|
|
825
825
|
if (et = !1, i) {
|
|
826
|
-
let e =
|
|
826
|
+
let e = I.je(t, !0);
|
|
827
827
|
e && (tt = e);
|
|
828
828
|
} else if (w && !n && w.Me.length) {
|
|
829
|
-
let e =
|
|
829
|
+
let e = I.je(t, !1);
|
|
830
830
|
e && (i = !0, tt = e);
|
|
831
831
|
}
|
|
832
832
|
let b = r && r !== 2, x = Qe;
|
|
@@ -837,14 +837,14 @@ function nt(t, n = !1) {
|
|
|
837
837
|
let e = t.Te, n = t.ce(h), r = typeof n == "object" && !!n, i = t.Te !== e;
|
|
838
838
|
h = i || !r ? n : Je(t, n), !i && !r && (t.Te = null, t.Ee = !1);
|
|
839
839
|
}
|
|
840
|
-
(t.S !== 0 || t.i !== void 0 || t._ || t.he || t.ue || t.oe !== void 0 || t.ge !== void 0 || t.pe !== void 0 || t.u !== null) && Ye(t, n), t.Ke &&
|
|
840
|
+
(t.S !== 0 || t.i !== void 0 || t._ || t.he || t.ue || t.oe !== void 0 || t.ge !== void 0 || t.pe !== void 0 || t.u !== null) && Ye(t, n), t.Ke && I.ze(t);
|
|
841
841
|
} catch (n) {
|
|
842
842
|
let r = n instanceof e;
|
|
843
843
|
if (r && t.Ee) Be(t, n);
|
|
844
844
|
else {
|
|
845
|
-
r && tt &&
|
|
845
|
+
r && tt && I.$e(t);
|
|
846
846
|
let e = !1;
|
|
847
|
-
r && (t.ue = !0,
|
|
847
|
+
r && (t.ue = !0, I.Be !== null && (e = I.Be(t, f))), Xe(t, r ? 1 : 2, n, void 0, r ? t.Ke : void 0), e && I.k(t);
|
|
848
848
|
}
|
|
849
849
|
} finally {
|
|
850
850
|
Ze = _, et = y, b && (Qe = x), t.se = 0 | (n ? t.se & 256 : 0), G = m;
|
|
@@ -857,16 +857,16 @@ function nt(t, n = !1) {
|
|
|
857
857
|
} catch (e) {
|
|
858
858
|
Xe(t, 2, e);
|
|
859
859
|
}
|
|
860
|
-
if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??=
|
|
860
|
+
if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??= I.et.bind(null, t))), !t._) {
|
|
861
861
|
if (a) {
|
|
862
862
|
let e = l ? t._e : void 0;
|
|
863
|
-
n || r && (w !== t.Ne || w === null) || i ? (t.Ue = h, l && i && (t._e = h === void 0 ? s : h, t.De = o)) : (t.De = h, p && (t.Ee = !0), (w || t.Ne) &&
|
|
864
|
-
} else if (l) t.De === o &&
|
|
863
|
+
n || r && (w !== t.Ne || w === null) || i ? (t.Ue = h, l && i && (t._e = h === void 0 ? s : h, t.De = o)) : (t.De = h, p && (t.Ee = !0), (w || t.Ne) && I.Pe !== null && I.Pe(t, h)), t.o !== null && (!l || i || t._e !== e) && z(t, i || l);
|
|
864
|
+
} else if (l) t.De === o && L(t), t.De = h, p && (t.Ee = !0);
|
|
865
865
|
else if (t.xe != g) for (let e = t.o; e !== null; e = e.le) he(e.fe, de(e.fe));
|
|
866
866
|
}
|
|
867
867
|
d !== void 0 && !a && !t._ && Ge(t, d);
|
|
868
868
|
}
|
|
869
|
-
tt = v, (t.De !== o || t.We !== null || t.Qe !== null || t.S & 5) && (!n || t.S & 1) && (!t.Ne || l) &&
|
|
869
|
+
tt = v, (t.De !== o || t.We !== null || t.Qe !== null || t.S & 5) && (!n || t.S & 1) && (!t.Ne || l) && L(t), t.Ne && r && w !== t.Ne && ue(t.Ne, () => nt(t));
|
|
870
870
|
}
|
|
871
871
|
function rt(e) {
|
|
872
872
|
if (e.se & 1) for (let t = e.tt; t; t = t.nt) {
|
|
@@ -966,7 +966,7 @@ function st(e, t) {
|
|
|
966
966
|
let t = G.Fe;
|
|
967
967
|
t === null ? G.Fe = e : (e.He = t, t.ct = e, G.Fe = e);
|
|
968
968
|
}
|
|
969
|
-
n && (e.xe = n.xe + 1),
|
|
969
|
+
n && (e.xe = n.xe + 1), I.It !== null && I.It(e), !t?.lazy && nt(e, !0);
|
|
970
970
|
}
|
|
971
971
|
function ct(e, t, n = null) {
|
|
972
972
|
let r = {
|
|
@@ -987,11 +987,11 @@ function lt(e, t) {
|
|
|
987
987
|
return e === t;
|
|
988
988
|
}
|
|
989
989
|
function ut(e, t) {
|
|
990
|
-
if (
|
|
990
|
+
if (I.St === null && !Ze) return e();
|
|
991
991
|
let n = Ze;
|
|
992
992
|
Ze = !1;
|
|
993
993
|
try {
|
|
994
|
-
return
|
|
994
|
+
return I.St === null ? e() : I.St(e);
|
|
995
995
|
} finally {
|
|
996
996
|
Ze = n;
|
|
997
997
|
}
|
|
@@ -1000,7 +1000,7 @@ function dt(e, t) {
|
|
|
1000
1000
|
e.se & 512 ? (e.se &= -513, nt(e, !0)) : e.se & 64 ? nt(e, !0) : t && rt(e);
|
|
1001
1001
|
}
|
|
1002
1002
|
function ft(e) {
|
|
1003
|
-
if (et) return
|
|
1003
|
+
if (et) return I.At(e);
|
|
1004
1004
|
let t = G;
|
|
1005
1005
|
t?.Nt && (t = t.dt);
|
|
1006
1006
|
let n = e, r = e.lt || e;
|
|
@@ -1013,7 +1013,7 @@ function ft(e) {
|
|
|
1013
1013
|
}
|
|
1014
1014
|
if (r.S & 1) {
|
|
1015
1015
|
if (t && !(Qe && r.Ne && w !== r.Ne)) {
|
|
1016
|
-
if (tt === null ||
|
|
1016
|
+
if (tt === null || I.Ot(r)) throw !Ze && e !== t && Ie(e, t), r._;
|
|
1017
1017
|
} else if (t && r !== e && r.S & 4) throw !Ze && e !== t && Ie(e, t), r._;
|
|
1018
1018
|
else if (!t && r.S & 4) throw r._;
|
|
1019
1019
|
}
|
|
@@ -1022,17 +1022,17 @@ function ft(e) {
|
|
|
1022
1022
|
throw r._;
|
|
1023
1023
|
}
|
|
1024
1024
|
if (e._e !== void 0 && e._e !== o) return c(e._e);
|
|
1025
|
-
if (tt !== null && w !== null && t !== null &&
|
|
1026
|
-
let i = !t || tt !== null &&
|
|
1025
|
+
if (tt !== null && w !== null && t !== null && I.Rt(e, r, t)) return e.Ue;
|
|
1026
|
+
let i = !t || tt !== null && I.Pt(e, r, t) || e.De === o || Qe && e.Ne && w !== e.Ne ? e.Ue : e.De;
|
|
1027
1027
|
return !t && r === e && typeof n.ce == "function" && e.T & 32 && !(r.S & 1) && !e.o && Fe(e), i;
|
|
1028
1028
|
}
|
|
1029
1029
|
function pt(e, t) {
|
|
1030
|
-
if (e.Ne && w !== e.Ne && U.initTransition(e.Ne), e._e !== void 0) return
|
|
1030
|
+
if (e.Ne && w !== e.Ne && U.initTransition(e.Ne), e._e !== void 0) return I.Gt(e, t);
|
|
1031
1031
|
let n = e.De === o ? e.Ue : e.De;
|
|
1032
|
-
return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === o &&
|
|
1032
|
+
return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === o && L(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && I.Pe !== null && I.Pe(e, t), e.de = C, z(e), N(), t) : t;
|
|
1033
1033
|
}
|
|
1034
1034
|
function mt(e) {
|
|
1035
|
-
ge(e, de(e)), !(e.se & 1024) && e.De === o && (
|
|
1035
|
+
ge(e, de(e)), !(e.se & 1024) && e.De === o && (L(e), N()), e.se = e.se & -4 | i;
|
|
1036
1036
|
}
|
|
1037
1037
|
function ht(e, t) {
|
|
1038
1038
|
let n = pt(e, t);
|
|
@@ -1072,7 +1072,7 @@ function bt(e, t) {
|
|
|
1072
1072
|
this.S & 2 && (this.Je = !0, this.C.enqueue(this.Re, this.Xe ??= xt.bind(null, this)));
|
|
1073
1073
|
return;
|
|
1074
1074
|
}
|
|
1075
|
-
if (!this.C.notify(this, 2, 2)) throw
|
|
1075
|
+
if (!this.C.notify(this, 2, 2)) throw te(n(i)), i;
|
|
1076
1076
|
} else this.Re === 1 && this.C.notify(this, 3, r, i);
|
|
1077
1077
|
}
|
|
1078
1078
|
function xt(e) {
|
|
@@ -1086,7 +1086,7 @@ function xt(e) {
|
|
|
1086
1086
|
e.Tt = void 0, t?.();
|
|
1087
1087
|
}) : console.error(t);
|
|
1088
1088
|
} catch (t) {
|
|
1089
|
-
if (!e.C.notify(e, 2, 2)) throw
|
|
1089
|
+
if (!e.C.notify(e, 2, 2)) throw te(t), t;
|
|
1090
1090
|
}
|
|
1091
1091
|
return;
|
|
1092
1092
|
}
|
|
@@ -1095,12 +1095,12 @@ function xt(e) {
|
|
|
1095
1095
|
try {
|
|
1096
1096
|
r?.(), e.Tt = e.ft(e.Ue, e._t);
|
|
1097
1097
|
} catch (n) {
|
|
1098
|
-
if (e._ = new t(e, n), e.S |= 2, !e.C.notify(e, 2, 2)) throw
|
|
1098
|
+
if (e._ = new t(e, n), e.S |= 2, !e.C.notify(e, 2, 2)) throw te(n), n;
|
|
1099
1099
|
} finally {
|
|
1100
1100
|
e._t = e.Ue, e.Je = !1;
|
|
1101
1101
|
}
|
|
1102
1102
|
}
|
|
1103
|
-
|
|
1103
|
+
I.et = xt;
|
|
1104
1104
|
//#endregion
|
|
1105
1105
|
//#region ../../node_modules/.bun/@solidjs+signals@2.0.0-rc.0/node_modules/@solidjs/signals/dist/prod/signals.js
|
|
1106
1106
|
function St(e) {
|
|
@@ -2265,40 +2265,50 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
|
|
|
2265
2265
|
}, Vr = async (e) => (await zr(e)).capture(e), Hr = (e) => {
|
|
2266
2266
|
let t = Rr.get(e);
|
|
2267
2267
|
Rr.delete(e), t?.release(e);
|
|
2268
|
-
}, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr =
|
|
2268
|
+
}, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = (e) => e;
|
|
2269
|
+
function Kr(e, t) {
|
|
2270
|
+
if (!(e instanceof Gr(t).Element)) return !1;
|
|
2271
|
+
let n = e;
|
|
2272
|
+
for (; n;) {
|
|
2273
|
+
if (n.getAttribute("data-mesurer-inspector-ui") === "true" || n.hasAttribute("data-mesurer-toolbar") || n.hasAttribute("data-mesurer-settings")) return !0;
|
|
2274
|
+
n = n.parentElement;
|
|
2275
|
+
}
|
|
2276
|
+
return !1;
|
|
2277
|
+
}
|
|
2278
|
+
var qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => (qr.get(e) ?? 0) > 0, Yr = /* @__PURE__ */ new WeakMap(), Xr = (e) => {
|
|
2269
2279
|
let t = e.location.pathname.replace(/\/+$/, "") || "/", n = new URLSearchParams(e.location.search);
|
|
2270
2280
|
n.sort();
|
|
2271
2281
|
let r = n.toString(), i = e.location.hash, a = i.startsWith("#/") ? i : "";
|
|
2272
2282
|
return `${t}${r ? `?${r}` : ""}${a}`;
|
|
2273
|
-
},
|
|
2274
|
-
let n =
|
|
2283
|
+
}, Zr = (e, t) => {
|
|
2284
|
+
let n = Xr(e);
|
|
2275
2285
|
for (let e of t.listeners) e(n);
|
|
2276
|
-
},
|
|
2277
|
-
let t =
|
|
2286
|
+
}, Qr = (e) => {
|
|
2287
|
+
let t = Yr.get(e);
|
|
2278
2288
|
if (t) return t;
|
|
2279
2289
|
let n = e.history, r = n.pushState, i = n.replaceState, a = {
|
|
2280
2290
|
listeners: /* @__PURE__ */ new Set(),
|
|
2281
2291
|
pushState: r,
|
|
2282
2292
|
replaceState: i,
|
|
2283
|
-
handleNativeChange: () =>
|
|
2293
|
+
handleNativeChange: () => Zr(e, a)
|
|
2284
2294
|
};
|
|
2285
2295
|
return n.pushState = function(...t) {
|
|
2286
2296
|
let n = r.apply(this, t);
|
|
2287
|
-
return
|
|
2297
|
+
return Zr(e, a), n;
|
|
2288
2298
|
}, n.replaceState = function(...t) {
|
|
2289
2299
|
let n = i.apply(this, t);
|
|
2290
|
-
return
|
|
2291
|
-
}, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange),
|
|
2292
|
-
},
|
|
2293
|
-
t.listeners.size > 0 ||
|
|
2294
|
-
},
|
|
2295
|
-
let n =
|
|
2300
|
+
return Zr(e, a), n;
|
|
2301
|
+
}, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), Yr.set(e, a), a;
|
|
2302
|
+
}, $r = (e, t) => {
|
|
2303
|
+
t.listeners.size > 0 || Yr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), Yr.delete(e));
|
|
2304
|
+
}, ei = (e, t) => {
|
|
2305
|
+
let n = Qr(e);
|
|
2296
2306
|
n.listeners.add(t);
|
|
2297
2307
|
let r = !1;
|
|
2298
2308
|
return () => {
|
|
2299
|
-
r || (r = !0, n.listeners.delete(t),
|
|
2309
|
+
r || (r = !0, n.listeners.delete(t), $r(e, n));
|
|
2300
2310
|
};
|
|
2301
|
-
},
|
|
2311
|
+
}, ti = "--mesurer-nested-scroll-x", ni = "--mesurer-nested-scroll-y", ri = (e, t, n, r = {}) => {
|
|
2302
2312
|
let i = e, a = /* @__PURE__ */ new Map(), o = t.ownerDocument, s = r.trackWindow === !0, c = (e) => {
|
|
2303
2313
|
if (e.parentElement) return e.parentElement;
|
|
2304
2314
|
let t = e.getRootNode();
|
|
@@ -2324,7 +2334,7 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
|
|
|
2324
2334
|
let i = `${n}px`;
|
|
2325
2335
|
r !== i && e.style.setProperty(t, i);
|
|
2326
2336
|
}, g = () => {
|
|
2327
|
-
if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e,
|
|
2337
|
+
if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, ti, d), h(e, ni, f);
|
|
2328
2338
|
}, _ = (e, t, n) => {
|
|
2329
2339
|
let r = t - e.left, i = n - e.top;
|
|
2330
2340
|
return r === 0 && i === 0 ? !1 : (e.left = t, e.top = n, d -= r, f -= i, !0);
|
|
@@ -2357,21 +2367,21 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
|
|
|
2357
2367
|
if (!p) {
|
|
2358
2368
|
p = !0, s && e.removeEventListener("scroll", y, !0);
|
|
2359
2369
|
for (let e of a.keys()) e.removeEventListener("scroll", v, !0);
|
|
2360
|
-
for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(
|
|
2370
|
+
for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(ti), e.style.removeProperty(ni);
|
|
2361
2371
|
a.clear();
|
|
2362
2372
|
}
|
|
2363
2373
|
}
|
|
2364
2374
|
};
|
|
2365
|
-
},
|
|
2366
|
-
Array.from({ length: 801 }, (e, t) => t *
|
|
2367
|
-
var
|
|
2368
|
-
function
|
|
2375
|
+
}, ii = 5;
|
|
2376
|
+
Array.from({ length: 801 }, (e, t) => t * ii), Ht(null);
|
|
2377
|
+
var ai = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
|
|
2378
|
+
function oi() {
|
|
2369
2379
|
return Y("span", {
|
|
2370
2380
|
"aria-hidden": "true",
|
|
2371
2381
|
class: "msr:pointer-events-none msr:absolute msr:right-2 msr:top-1/2 msr:size-1.5 msr:-translate-y-1/2 msr:rotate-45 msr:border-r msr:border-b msr:border-ink-500"
|
|
2372
2382
|
});
|
|
2373
2383
|
}
|
|
2374
|
-
function
|
|
2384
|
+
function si(e) {
|
|
2375
2385
|
let t = () => e.variant !== "legacy";
|
|
2376
2386
|
var n = Y("div"), r = Y("div");
|
|
2377
2387
|
return X(n, r), Z(r, () => e.left), Z(n, (() => {
|
|
@@ -2389,7 +2399,7 @@ function ai(e) {
|
|
|
2389
2399
|
e !== i?.e && Q(n, "class", e, i?.e), t !== i?.t && Q(r, "class", t, i?.t);
|
|
2390
2400
|
}), n;
|
|
2391
2401
|
}
|
|
2392
|
-
function
|
|
2402
|
+
function ci(e) {
|
|
2393
2403
|
let t = () => e.variant !== "legacy", n = () => {
|
|
2394
2404
|
let t = lr(e.value);
|
|
2395
2405
|
if (t) return t;
|
|
@@ -2419,7 +2429,7 @@ function oi(e) {
|
|
|
2419
2429
|
e.onChange(n);
|
|
2420
2430
|
}, v = () => t() ? `msr:col-span-2 msr:grid msr:h-8 msr:w-full ${e.columns ?? "msr:grid-cols-[78px_150px]"} msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700` : "msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700";
|
|
2421
2431
|
var y = Y("div"), b = Y("span");
|
|
2422
|
-
return X(y, b), Z(b, () => e.label), Z(y, J(
|
|
2432
|
+
return X(y, b), Z(b, () => e.label), Z(y, J(si, {
|
|
2423
2433
|
get variant() {
|
|
2424
2434
|
return e.variant;
|
|
2425
2435
|
},
|
|
@@ -2502,7 +2512,7 @@ function oi(e) {
|
|
|
2502
2512
|
Q(y, "class", e, t);
|
|
2503
2513
|
}), y;
|
|
2504
2514
|
}
|
|
2505
|
-
var
|
|
2515
|
+
var li = (e) => (() => {
|
|
2506
2516
|
var t = Y("svg", {
|
|
2507
2517
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2508
2518
|
viewBox: "0 0 256 256",
|
|
@@ -2517,7 +2527,7 @@ var si = (e) => (() => {
|
|
|
2517
2527
|
}), ({ e, t: n, a: r }, i) => {
|
|
2518
2528
|
e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
|
|
2519
2529
|
}), t;
|
|
2520
|
-
})(),
|
|
2530
|
+
})(), ui = (e) => J(li, {
|
|
2521
2531
|
get size() {
|
|
2522
2532
|
return e.size ?? 8;
|
|
2523
2533
|
},
|
|
@@ -2527,7 +2537,7 @@ var si = (e) => (() => {
|
|
|
2527
2537
|
get children() {
|
|
2528
2538
|
return Y("path", { d: "M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z" });
|
|
2529
2539
|
}
|
|
2530
|
-
}),
|
|
2540
|
+
}), di = (e) => J(li, {
|
|
2531
2541
|
get size() {
|
|
2532
2542
|
return e.size ?? 12;
|
|
2533
2543
|
},
|
|
@@ -2537,8 +2547,8 @@ var si = (e) => (() => {
|
|
|
2537
2547
|
get children() {
|
|
2538
2548
|
return Y("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" });
|
|
2539
2549
|
}
|
|
2540
|
-
}),
|
|
2541
|
-
let t = e.size ?? 20, n =
|
|
2550
|
+
}), fi = (e, t, n) => t * 256 / e / n, pi = (e) => {
|
|
2551
|
+
let t = e.size ?? 20, n = fi(t, e.strokePx ?? 1, e.frameScale ?? 1);
|
|
2542
2552
|
var r = Y("svg", {
|
|
2543
2553
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2544
2554
|
width: t,
|
|
@@ -2562,7 +2572,7 @@ var si = (e) => (() => {
|
|
|
2562
2572
|
return X(r, i), X(r, a), Z(a, () => e.children), q(() => e.class, (e, t) => {
|
|
2563
2573
|
Q(r, "class", e, t);
|
|
2564
2574
|
}), r;
|
|
2565
|
-
},
|
|
2575
|
+
}, mi = (e) => J(pi, {
|
|
2566
2576
|
get size() {
|
|
2567
2577
|
return e.size ?? 20;
|
|
2568
2578
|
},
|
|
@@ -2572,7 +2582,7 @@ var si = (e) => (() => {
|
|
|
2572
2582
|
get children() {
|
|
2573
2583
|
return Y("path", { d: "M128 48v160M48 128h160" });
|
|
2574
2584
|
}
|
|
2575
|
-
}),
|
|
2585
|
+
}), hi = (e) => J(pi, {
|
|
2576
2586
|
get size() {
|
|
2577
2587
|
return e.size ?? 20;
|
|
2578
2588
|
},
|
|
@@ -2582,7 +2592,7 @@ var si = (e) => (() => {
|
|
|
2582
2592
|
get children() {
|
|
2583
2593
|
return Y("path", { d: "M101.33 48v160M154.67 48v160" });
|
|
2584
2594
|
}
|
|
2585
|
-
}),
|
|
2595
|
+
}), gi = (e) => J(pi, {
|
|
2586
2596
|
get size() {
|
|
2587
2597
|
return e.size ?? 20;
|
|
2588
2598
|
},
|
|
@@ -2592,7 +2602,7 @@ var si = (e) => (() => {
|
|
|
2592
2602
|
get children() {
|
|
2593
2603
|
return Y("path", { d: "M48 101.33h160M48 154.67h160" });
|
|
2594
2604
|
}
|
|
2595
|
-
}),
|
|
2605
|
+
}), _i = (e) => (() => {
|
|
2596
2606
|
var t = Y("svg", {
|
|
2597
2607
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2598
2608
|
viewBox: "0 0 12 12",
|
|
@@ -2611,7 +2621,7 @@ var si = (e) => (() => {
|
|
|
2611
2621
|
}), ({ e, t: n, a: r }, i) => {
|
|
2612
2622
|
e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
|
|
2613
2623
|
}), t;
|
|
2614
|
-
})(),
|
|
2624
|
+
})(), vi = (e) => (() => {
|
|
2615
2625
|
var t = Y("svg", {
|
|
2616
2626
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2617
2627
|
viewBox: "0 0 16 16",
|
|
@@ -2635,7 +2645,7 @@ var si = (e) => (() => {
|
|
|
2635
2645
|
}), ({ e, t: n, a: r }, i) => {
|
|
2636
2646
|
e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
|
|
2637
2647
|
}), t;
|
|
2638
|
-
})(),
|
|
2648
|
+
})(), yi = (e) => (() => {
|
|
2639
2649
|
var t = Y("svg", {
|
|
2640
2650
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2641
2651
|
viewBox: "0 0 16 16",
|
|
@@ -2659,7 +2669,7 @@ var si = (e) => (() => {
|
|
|
2659
2669
|
}), ({ e, t: n, a: r }, i) => {
|
|
2660
2670
|
e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
|
|
2661
2671
|
}), t;
|
|
2662
|
-
})(),
|
|
2672
|
+
})(), bi = (e) => J(li, {
|
|
2663
2673
|
get size() {
|
|
2664
2674
|
return e.size ?? 20;
|
|
2665
2675
|
},
|
|
@@ -2669,7 +2679,7 @@ var si = (e) => (() => {
|
|
|
2669
2679
|
get children() {
|
|
2670
2680
|
return Y("path", { d: "M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z" });
|
|
2671
2681
|
}
|
|
2672
|
-
}),
|
|
2682
|
+
}), xi = (e) => J(li, {
|
|
2673
2683
|
get size() {
|
|
2674
2684
|
return e.size ?? 20;
|
|
2675
2685
|
},
|
|
@@ -2679,7 +2689,7 @@ var si = (e) => (() => {
|
|
|
2679
2689
|
get children() {
|
|
2680
2690
|
return Y("path", { d: "M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z" });
|
|
2681
2691
|
}
|
|
2682
|
-
}),
|
|
2692
|
+
}), Si = (e) => J(li, {
|
|
2683
2693
|
get size() {
|
|
2684
2694
|
return e.size ?? 18;
|
|
2685
2695
|
},
|
|
@@ -2689,7 +2699,7 @@ var si = (e) => (() => {
|
|
|
2689
2699
|
get children() {
|
|
2690
2700
|
return Y("path", { d: "M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z" });
|
|
2691
2701
|
}
|
|
2692
|
-
}),
|
|
2702
|
+
}), Ci = (e) => J(li, {
|
|
2693
2703
|
get size() {
|
|
2694
2704
|
return e.size ?? 18;
|
|
2695
2705
|
},
|
|
@@ -2699,11 +2709,11 @@ var si = (e) => (() => {
|
|
|
2699
2709
|
get children() {
|
|
2700
2710
|
return Y("path", { d: "M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z" });
|
|
2701
2711
|
}
|
|
2702
|
-
}),
|
|
2712
|
+
}), wi = (e, t) => {
|
|
2703
2713
|
let n = t.CSS;
|
|
2704
2714
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
2705
|
-
},
|
|
2706
|
-
function
|
|
2715
|
+
}, Ti = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, Ei = (e) => e.nodeType === 9, Di = (e) => e.nodeType === 11;
|
|
2716
|
+
function Oi(e) {
|
|
2707
2717
|
let t = e.getBoundingClientRect();
|
|
2708
2718
|
return {
|
|
2709
2719
|
left: t.left,
|
|
@@ -2712,20 +2722,20 @@ function Ei(e) {
|
|
|
2712
2722
|
height: t.height
|
|
2713
2723
|
};
|
|
2714
2724
|
}
|
|
2715
|
-
function
|
|
2716
|
-
if (
|
|
2725
|
+
function ki(e, t) {
|
|
2726
|
+
if (Ei(t)) return !0;
|
|
2717
2727
|
let n = e;
|
|
2718
2728
|
for (; n;) {
|
|
2719
2729
|
if (t === n || t.contains(n)) return !0;
|
|
2720
2730
|
let e = n.getRootNode();
|
|
2721
|
-
if (!
|
|
2731
|
+
if (!Di(e)) return !1;
|
|
2722
2732
|
n = e.host;
|
|
2723
2733
|
}
|
|
2724
2734
|
return !1;
|
|
2725
2735
|
}
|
|
2726
|
-
function
|
|
2736
|
+
function Ai(e) {
|
|
2727
2737
|
let t = e.ownerDocument.defaultView ?? window;
|
|
2728
|
-
if (e.id) return `#${
|
|
2738
|
+
if (e.id) return `#${wi(e.id, t)}`;
|
|
2729
2739
|
let n = e.getAttribute("data-testid");
|
|
2730
2740
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
2731
2741
|
let r = [], i = e;
|
|
@@ -2739,7 +2749,7 @@ function Oi(e) {
|
|
|
2739
2749
|
}
|
|
2740
2750
|
return r.join(" > ");
|
|
2741
2751
|
}
|
|
2742
|
-
function
|
|
2752
|
+
function ji(e) {
|
|
2743
2753
|
return {
|
|
2744
2754
|
tag: e.localName,
|
|
2745
2755
|
id: e.id || null,
|
|
@@ -2747,30 +2757,30 @@ function ki(e) {
|
|
|
2747
2757
|
role: e.getAttribute("role"),
|
|
2748
2758
|
ariaLabel: e.getAttribute("aria-label"),
|
|
2749
2759
|
classes: [...e.classList],
|
|
2750
|
-
text:
|
|
2760
|
+
text: Ti(e)
|
|
2751
2761
|
};
|
|
2752
2762
|
}
|
|
2753
|
-
function
|
|
2763
|
+
function Mi(e) {
|
|
2754
2764
|
return !!(e.id || e.testId || e.role || e.ariaLabel || e.classes.length || e.text);
|
|
2755
2765
|
}
|
|
2756
|
-
function ji(e, t) {
|
|
2757
|
-
return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Ci(e) !== t.text ? !1 : Ai(t);
|
|
2758
|
-
}
|
|
2759
|
-
var Mi = "mesurer:select-gesture-start";
|
|
2760
2766
|
function Ni(e, t) {
|
|
2761
|
-
return e.
|
|
2767
|
+
return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Ti(e) !== t.text ? !1 : Mi(t);
|
|
2768
|
+
}
|
|
2769
|
+
var Pi = "mesurer:select-gesture-start";
|
|
2770
|
+
function Fi(e, t) {
|
|
2771
|
+
return e.addEventListener(Pi, t), () => e.removeEventListener(Pi, t);
|
|
2762
2772
|
}
|
|
2763
2773
|
Ht((e) => void 0);
|
|
2764
|
-
var
|
|
2765
|
-
function
|
|
2774
|
+
var Ii = "mesurer-solid-styles", Li = (e) => e?.nodeType === 11, Ri = (e) => e.nodeType === 9;
|
|
2775
|
+
function zi(e, t) {
|
|
2766
2776
|
let n = t?.ownerDocument ?? globalThis.document;
|
|
2767
2777
|
if (!n) return;
|
|
2768
|
-
let r =
|
|
2769
|
-
if (r.querySelector(`#${
|
|
2778
|
+
let r = Li(t) ? t : n;
|
|
2779
|
+
if (r.querySelector(`#${Ii}`)) return;
|
|
2770
2780
|
let i = n.createElement("style");
|
|
2771
|
-
i.id =
|
|
2781
|
+
i.id = Ii, i.textContent = e, Ri(r) ? r.head.append(i) : r.append(i);
|
|
2772
2782
|
}
|
|
2773
|
-
var
|
|
2783
|
+
var Bi = "var(--msr-color-ink-50, #f8fafc)", Vi = "var(--msr-color-ink-200, #e2e8f0)", Hi = "var(--msr-color-ink-500, #64748b)", Ui = "var(--msr-content, #0f172a)", Wi = (e, t, n) => {
|
|
2774
2784
|
let r = e.createElement("div");
|
|
2775
2785
|
return Object.assign(r.style, {
|
|
2776
2786
|
position: "absolute",
|
|
@@ -2787,7 +2797,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2787
2797
|
height: "100%"
|
|
2788
2798
|
}
|
|
2789
2799
|
}), r;
|
|
2790
|
-
},
|
|
2800
|
+
}, Gi = (e, t, n) => {
|
|
2791
2801
|
let r = e.createElement("div");
|
|
2792
2802
|
Object.assign(r.style, {
|
|
2793
2803
|
position: "fixed",
|
|
@@ -2801,23 +2811,23 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2801
2811
|
"right",
|
|
2802
2812
|
"bottom",
|
|
2803
2813
|
"left"
|
|
2804
|
-
]) r.appendChild(
|
|
2814
|
+
]) r.appendChild(Wi(e, t, n));
|
|
2805
2815
|
return r;
|
|
2806
|
-
},
|
|
2816
|
+
}, Ki = (e, t) => {
|
|
2807
2817
|
Object.assign(e.style, {
|
|
2808
2818
|
left: `${t.left}px`,
|
|
2809
2819
|
top: `${t.top}px`,
|
|
2810
2820
|
width: `${t.width}px`,
|
|
2811
2821
|
height: `${t.height}px`
|
|
2812
2822
|
});
|
|
2813
|
-
},
|
|
2823
|
+
}, qi = (e, t) => {
|
|
2814
2824
|
let n = e.createElement("div");
|
|
2815
2825
|
return Object.assign(n.style, {
|
|
2816
2826
|
position: "fixed",
|
|
2817
2827
|
zIndex: "1",
|
|
2818
2828
|
pointerEvents: t ? "auto" : "none",
|
|
2819
2829
|
background: "var(--msr-surface-raised, #ffffff)",
|
|
2820
|
-
color:
|
|
2830
|
+
color: Ui,
|
|
2821
2831
|
borderRadius: "13px",
|
|
2822
2832
|
padding: "10px 12px",
|
|
2823
2833
|
fontSize: "11px",
|
|
@@ -2832,7 +2842,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2832
2842
|
boxSizing: "border-box",
|
|
2833
2843
|
boxShadow: "var(--msr-shadow-floating, 0px 0px 0.5px rgba(0, 0, 0, 0.18), 0px 3px 8px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1))"
|
|
2834
2844
|
}), n.className = t ? "mesurer-ti-card mesurer-ti-card--pinned" : "mesurer-ti-card", n.dataset.state = "hidden", n;
|
|
2835
|
-
},
|
|
2845
|
+
}, Ji = (e, t, n, r) => {
|
|
2836
2846
|
t.replaceChildren();
|
|
2837
2847
|
let i = e.createElement("div");
|
|
2838
2848
|
Object.assign(i.style, {
|
|
@@ -2844,8 +2854,8 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2844
2854
|
});
|
|
2845
2855
|
let a = e.createElement("span");
|
|
2846
2856
|
if (Object.assign(a.style, {
|
|
2847
|
-
color:
|
|
2848
|
-
background:
|
|
2857
|
+
color: Bi,
|
|
2858
|
+
background: Ui,
|
|
2849
2859
|
borderRadius: "4px",
|
|
2850
2860
|
padding: "1px 5px",
|
|
2851
2861
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
@@ -2854,7 +2864,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2854
2864
|
}), a.textContent = n.tagName, i.appendChild(a), n.textSnippet) {
|
|
2855
2865
|
let t = e.createElement("span");
|
|
2856
2866
|
Object.assign(t.style, {
|
|
2857
|
-
color:
|
|
2867
|
+
color: Hi,
|
|
2858
2868
|
overflow: "hidden",
|
|
2859
2869
|
textOverflow: "ellipsis",
|
|
2860
2870
|
whiteSpace: "nowrap",
|
|
@@ -2874,7 +2884,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2874
2884
|
lineHeight: "14px",
|
|
2875
2885
|
textAlign: "center",
|
|
2876
2886
|
borderRadius: "4px",
|
|
2877
|
-
color:
|
|
2887
|
+
color: Hi,
|
|
2878
2888
|
fontSize: "14px"
|
|
2879
2889
|
}), i.appendChild(t);
|
|
2880
2890
|
}
|
|
@@ -2889,12 +2899,12 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2889
2899
|
});
|
|
2890
2900
|
for (let t of n.rows) {
|
|
2891
2901
|
let n = e.createElement("span");
|
|
2892
|
-
n.style.color =
|
|
2902
|
+
n.style.color = Hi, n.style.fontSize = "11px", n.textContent = t.label;
|
|
2893
2903
|
let r = e.createElement("span");
|
|
2894
2904
|
if (Object.assign(r.style, {
|
|
2895
2905
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
2896
2906
|
fontSize: "11px",
|
|
2897
|
-
color:
|
|
2907
|
+
color: Ui,
|
|
2898
2908
|
overflow: "hidden",
|
|
2899
2909
|
textOverflow: "ellipsis",
|
|
2900
2910
|
whiteSpace: "nowrap"
|
|
@@ -2903,21 +2913,21 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2903
2913
|
let n = e.createElement("span");
|
|
2904
2914
|
n.textContent = t.value;
|
|
2905
2915
|
let i = e.createElement("span");
|
|
2906
|
-
i.style.color =
|
|
2916
|
+
i.style.color = Vi, i.style.margin = "0 6px", i.textContent = "·";
|
|
2907
2917
|
let a = e.createElement("span");
|
|
2908
2918
|
a.style.color = "#0369a1", a.textContent = t.varName, r.append(n, i, a);
|
|
2909
2919
|
}
|
|
2910
2920
|
o.append(n, r);
|
|
2911
2921
|
}
|
|
2912
2922
|
t.appendChild(o);
|
|
2913
|
-
},
|
|
2923
|
+
}, Yi = (e, t, n, r = 0, i = 0) => {
|
|
2914
2924
|
let a = Number.parseFloat(t.dataset.mesurerPositionedScrollX ?? ""), o = Number.parseFloat(t.dataset.mesurerPositionedScrollY ?? ""), s = Number.isFinite(a) && a !== e.scrollX || Number.isFinite(o) && o !== e.scrollY, c = n.left + n.width / 2 + r;
|
|
2915
2925
|
t.style.left = `${c}px`;
|
|
2916
2926
|
let l = t.getBoundingClientRect(), u = n.bottom + 4 + i;
|
|
2917
2927
|
u + l.height > e.innerHeight - 8 && (u = n.top - l.height - 4 + i), t.style.top = `${Math.max(8, u)}px`;
|
|
2918
2928
|
let d = l.width / 2;
|
|
2919
2929
|
t.style.left = `${Math.min(Math.max(c, 8 + d), e.innerWidth - 8 - d)}px`, t.dataset.mesurerPositionedScrollX = String(e.scrollX), t.dataset.mesurerPositionedScrollY = String(e.scrollY), s && !t.dataset.mesurerNativeScrollAnchor && (t.dataset.mesurerNativeScrollAnchor = "pending");
|
|
2920
|
-
},
|
|
2930
|
+
}, Xi = /* @__PURE__ */ new Map([
|
|
2921
2931
|
["100", "thin"],
|
|
2922
2932
|
["200", "extralight"],
|
|
2923
2933
|
["300", "light"],
|
|
@@ -2927,26 +2937,26 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2927
2937
|
["700", "bold"],
|
|
2928
2938
|
["800", "extrabold"],
|
|
2929
2939
|
["900", "black"]
|
|
2930
|
-
]),
|
|
2940
|
+
]), Zi = [
|
|
2931
2941
|
"font-family",
|
|
2932
2942
|
"font-size",
|
|
2933
2943
|
"font-weight",
|
|
2934
2944
|
"line-height",
|
|
2935
2945
|
"letter-spacing"
|
|
2936
|
-
],
|
|
2946
|
+
], Qi = /* @__PURE__ */ new Map([
|
|
2937
2947
|
["Family", "font-family"],
|
|
2938
2948
|
["Size", "font-size"],
|
|
2939
2949
|
["Weight", "font-weight"],
|
|
2940
2950
|
["Line", "line-height"],
|
|
2941
2951
|
["Tracking", "letter-spacing"]
|
|
2942
|
-
]),
|
|
2952
|
+
]), $i = (e) => {
|
|
2943
2953
|
if (!e || e === "normal") return e || "normal";
|
|
2944
2954
|
let t = /^(-?[\d.]+)px$/.exec(e);
|
|
2945
2955
|
return t ? `${Math.round(Number(t[1]) * 10) / 10}px` : e;
|
|
2946
|
-
},
|
|
2947
|
-
let t =
|
|
2956
|
+
}, ea = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), ta = (e) => {
|
|
2957
|
+
let t = Xi.get(e);
|
|
2948
2958
|
return t ? `${e} / ${t}` : e;
|
|
2949
|
-
},
|
|
2959
|
+
}, na = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ra = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, ia = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), aa = class {
|
|
2950
2960
|
document;
|
|
2951
2961
|
window;
|
|
2952
2962
|
constructor(e, t) {
|
|
@@ -2986,11 +2996,11 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
2986
2996
|
return e;
|
|
2987
2997
|
}
|
|
2988
2998
|
findVarReferences(e) {
|
|
2989
|
-
let t = new Map(
|
|
2990
|
-
for (let r of
|
|
2999
|
+
let t = new Map(Zi.map((e) => [e, null])), n = this.getRules();
|
|
3000
|
+
for (let r of Zi) {
|
|
2991
3001
|
let i = e;
|
|
2992
3002
|
for (; i && t.get(r) === null;) {
|
|
2993
|
-
let e, a =
|
|
3003
|
+
let e, a = na(i.style.getPropertyValue(r));
|
|
2994
3004
|
a && (e = {
|
|
2995
3005
|
name: a,
|
|
2996
3006
|
specificity: 2 ** 53 - 1,
|
|
@@ -3006,15 +3016,15 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
3006
3016
|
continue;
|
|
3007
3017
|
}
|
|
3008
3018
|
if (!n) continue;
|
|
3009
|
-
let s =
|
|
3019
|
+
let s = na(t.style.getPropertyValue(r));
|
|
3010
3020
|
if (!s) continue;
|
|
3011
3021
|
let c = {
|
|
3012
3022
|
name: s,
|
|
3013
|
-
specificity:
|
|
3023
|
+
specificity: ra(t.selectorText),
|
|
3014
3024
|
order: o,
|
|
3015
3025
|
important: t.style.getPropertyPriority(r) === "important"
|
|
3016
3026
|
};
|
|
3017
|
-
|
|
3027
|
+
ia(c, e) && (e = c);
|
|
3018
3028
|
}
|
|
3019
3029
|
e && t.set(r, e.name), i = i.parentElement;
|
|
3020
3030
|
}
|
|
@@ -3025,27 +3035,27 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
3025
3035
|
let t = this.window.getComputedStyle(e), n = [
|
|
3026
3036
|
{
|
|
3027
3037
|
label: "Family",
|
|
3028
|
-
value:
|
|
3038
|
+
value: ea(t.fontFamily),
|
|
3029
3039
|
varName: null
|
|
3030
3040
|
},
|
|
3031
3041
|
{
|
|
3032
3042
|
label: "Size",
|
|
3033
|
-
value:
|
|
3043
|
+
value: $i(t.fontSize),
|
|
3034
3044
|
varName: null
|
|
3035
3045
|
},
|
|
3036
3046
|
{
|
|
3037
3047
|
label: "Weight",
|
|
3038
|
-
value:
|
|
3048
|
+
value: ta(t.fontWeight),
|
|
3039
3049
|
varName: null
|
|
3040
3050
|
},
|
|
3041
3051
|
{
|
|
3042
3052
|
label: "Line",
|
|
3043
|
-
value: t.lineHeight === "normal" ? "normal" :
|
|
3053
|
+
value: t.lineHeight === "normal" ? "normal" : $i(t.lineHeight),
|
|
3044
3054
|
varName: null
|
|
3045
3055
|
},
|
|
3046
3056
|
{
|
|
3047
3057
|
label: "Tracking",
|
|
3048
|
-
value: t.letterSpacing === "normal" ? "normal" :
|
|
3058
|
+
value: t.letterSpacing === "normal" ? "normal" : $i(t.letterSpacing),
|
|
3049
3059
|
varName: null
|
|
3050
3060
|
}
|
|
3051
3061
|
], r = Array.from(e.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => e.nodeValue?.trim() ?? "").filter(Boolean).join(" ").replace(/\s+/g, " ");
|
|
@@ -3060,7 +3070,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
3060
3070
|
return {
|
|
3061
3071
|
...t,
|
|
3062
3072
|
rows: t.rows.map((e) => {
|
|
3063
|
-
let t =
|
|
3073
|
+
let t = Qi.get(e.label);
|
|
3064
3074
|
return {
|
|
3065
3075
|
...e,
|
|
3066
3076
|
varName: t ? n.get(t) ?? null : null
|
|
@@ -3068,7 +3078,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
3068
3078
|
})
|
|
3069
3079
|
};
|
|
3070
3080
|
}
|
|
3071
|
-
},
|
|
3081
|
+
}, oa = [
|
|
3072
3082
|
"HTML",
|
|
3073
3083
|
"BODY",
|
|
3074
3084
|
"SCRIPT",
|
|
@@ -3080,7 +3090,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
3080
3090
|
"VIDEO",
|
|
3081
3091
|
"AUDIO",
|
|
3082
3092
|
"IFRAME"
|
|
3083
|
-
],
|
|
3093
|
+
], sa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", la = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ua = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", da = 80, fa = 0, pa = (e, t) => `
|
|
3084
3094
|
.${e},.${e} *{cursor:help!important}
|
|
3085
3095
|
.${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
|
|
3086
3096
|
#${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
|
|
@@ -3091,7 +3101,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
|
|
|
3091
3101
|
#${t} .mesurer-ti-close{cursor:pointer}
|
|
3092
3102
|
#${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
|
|
3093
3103
|
`;
|
|
3094
|
-
function
|
|
3104
|
+
function ma(e = {}, t = !1) {
|
|
3095
3105
|
let n = e.portalTarget?.ownerDocument ?? globalThis.document, r = n?.defaultView ?? globalThis.window;
|
|
3096
3106
|
if (!n || !r) {
|
|
3097
3107
|
let e = () => {};
|
|
@@ -3109,7 +3119,7 @@ function fa(e = {}, t = !1) {
|
|
|
3109
3119
|
canRedo: () => !1
|
|
3110
3120
|
};
|
|
3111
3121
|
}
|
|
3112
|
-
let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++
|
|
3122
|
+
let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++fa}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? oa).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new aa(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
|
|
3113
3123
|
x: 0,
|
|
3114
3124
|
y: 0
|
|
3115
3125
|
}, b = 0, x = 0, S = 0, C = r.scrollX, w = r.scrollY, T = null, E = [], D = [], O = [], k = e.portalTarget ?? n.body, A = () => {
|
|
@@ -3118,7 +3128,7 @@ function fa(e = {}, t = !1) {
|
|
|
3118
3128
|
for (let t of e) {
|
|
3119
3129
|
if (t.querySelector(`#${o}`)) continue;
|
|
3120
3130
|
let e = n.createElement("style");
|
|
3121
|
-
e.id = o, e.textContent =
|
|
3131
|
+
e.id = o, e.textContent = pa(s, a), t === n ? n.head.append(e) : t.append(e);
|
|
3122
3132
|
}
|
|
3123
3133
|
}, j = () => h?.isConnected ? h : (h = n.createElement("div"), h.id = a, h.dataset.mesurerInspectorUi = "true", h.dataset.theme = e.theme?.() ?? "system", T ??= e.subscribeTheme?.((e) => {
|
|
3124
3134
|
h && (h.dataset.theme = e);
|
|
@@ -3131,35 +3141,45 @@ function fa(e = {}, t = !1) {
|
|
|
3131
3141
|
e && (e.dataset.state = t ? "visible" : "hidden");
|
|
3132
3142
|
}, ee = () => {
|
|
3133
3143
|
let e = j();
|
|
3134
|
-
g ??=
|
|
3135
|
-
}, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()),
|
|
3144
|
+
g ??= Gi(n, sa, ca), _ ??= qi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
|
|
3145
|
+
}, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), te = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root], [data-mesurer-inspector-ui='true']"), P = (e, t) => {
|
|
3146
|
+
for (let i of n.elementsFromPoint(e, t)) {
|
|
3147
|
+
if (Kr(i, r)) return null;
|
|
3148
|
+
if (te(i)) return i;
|
|
3149
|
+
}
|
|
3150
|
+
return null;
|
|
3151
|
+
}, ne = () => {
|
|
3136
3152
|
v = null, M(g, !1), M(_, !1);
|
|
3137
|
-
},
|
|
3138
|
-
if (!
|
|
3153
|
+
}, F = (e, t, n) => {
|
|
3154
|
+
if (!e || e.dataset.state !== "visible") return !1;
|
|
3155
|
+
let r = e.getBoundingClientRect();
|
|
3156
|
+
return t >= r.left && t <= r.right && n >= r.top && n <= r.bottom;
|
|
3157
|
+
}, I = (e, t) => E.some((n) => F(n.card, e, t)), L = (t) => {
|
|
3158
|
+
if (!m || !te(t)) return !1;
|
|
3139
3159
|
ee();
|
|
3140
3160
|
let i = t.getBoundingClientRect(), a = u.getFast(t);
|
|
3141
|
-
return v = t,
|
|
3161
|
+
return v = t, Ji(n, _, a, !1), Ki(g, i), Yi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
|
|
3142
3162
|
if (!m || v !== t || !_) return;
|
|
3143
3163
|
let i = u.getFull(t, a);
|
|
3144
|
-
|
|
3164
|
+
Ji(n, _, i, !1), Yi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
|
|
3145
3165
|
}, 24), !0;
|
|
3146
|
-
},
|
|
3166
|
+
}, R = () => E.map((e) => ({
|
|
3147
3167
|
sourceEl: e.sourceEl,
|
|
3148
3168
|
left: e.userPlaced ? e.card.getBoundingClientRect().left + e.card.getBoundingClientRect().width / 2 : 0,
|
|
3149
3169
|
top: e.userPlaced ? e.card.getBoundingClientRect().top : 0,
|
|
3150
3170
|
userPlaced: e.userPlaced
|
|
3151
|
-
})),
|
|
3152
|
-
D.push(
|
|
3153
|
-
},
|
|
3171
|
+
})), z = () => {
|
|
3172
|
+
D.push(R()), D.length > 100 && D.shift(), O.length = 0;
|
|
3173
|
+
}, B = (t, n = !0, r = !0) => {
|
|
3154
3174
|
let i = E.indexOf(t);
|
|
3155
|
-
i < 0 || (n &&
|
|
3156
|
-
},
|
|
3157
|
-
for (; E.length;)
|
|
3158
|
-
},
|
|
3175
|
+
i < 0 || (n && z(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
|
|
3176
|
+
}, V = (e = !1) => {
|
|
3177
|
+
for (; E.length;) B(E[E.length - 1], !1, e);
|
|
3178
|
+
}, re = (e) => {
|
|
3159
3179
|
let t = -1, n = 0, i = 0, a = 0, o = 0, s = !1, c = !1, l = (l) => {
|
|
3160
3180
|
if (l.pointerId !== t) return;
|
|
3161
3181
|
let u = l.clientX - n, d = l.clientY - i;
|
|
3162
|
-
!s && Math.abs(u) <= 6 && Math.abs(d) <= 6 || (s || (s = !0, e.card.classList.add("mesurer-ti-card--pinned"), delete e.card.dataset.mesurerNativeScrollAnchor, delete e.card.dataset.mesurerNativeScrollOwner, e.card.style.removeProperty("position-anchor")), c ||= (
|
|
3182
|
+
!s && Math.abs(u) <= 6 && Math.abs(d) <= 6 || (s || (s = !0, e.card.classList.add("mesurer-ti-card--pinned"), delete e.card.dataset.mesurerNativeScrollAnchor, delete e.card.dataset.mesurerNativeScrollOwner, e.card.style.removeProperty("position-anchor")), c ||= (z(), !0), e.userPlaced = !0, e.card.style.left = `${Math.min(r.innerWidth - 8, Math.max(8, a + u))}px`, e.card.style.top = `${Math.min(r.innerHeight - 8, Math.max(8, o + d))}px`);
|
|
3163
3183
|
}, u = (e) => {
|
|
3164
3184
|
(t === -1 || e.pointerId === t) && (r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u), t = -1, s = !1, c = !1);
|
|
3165
3185
|
}, f = (s) => {
|
|
@@ -3170,15 +3190,15 @@ function fa(e = {}, t = !1) {
|
|
|
3170
3190
|
return e.card.addEventListener("pointerdown", f), () => {
|
|
3171
3191
|
e.card.removeEventListener("pointerdown", f), r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u);
|
|
3172
3192
|
};
|
|
3173
|
-
},
|
|
3193
|
+
}, H = (t, i, a = !0, o = !0) => {
|
|
3174
3194
|
if (E.find((e) => e.sourceEl === t)) return;
|
|
3175
|
-
a &&
|
|
3176
|
-
let s = j(), c =
|
|
3195
|
+
a && z(), E.length >= l && B(E[0], !1, !0);
|
|
3196
|
+
let s = j(), c = Gi(n, la, ua), d = qi(n, !0);
|
|
3177
3197
|
d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
|
|
3178
3198
|
let f = u.getFull(t);
|
|
3179
|
-
|
|
3199
|
+
Ji(n, d, f, !0), s.append(c, d);
|
|
3180
3200
|
let p = t.getBoundingClientRect();
|
|
3181
|
-
|
|
3201
|
+
Ki(c, p), Yi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
|
|
3182
3202
|
let m = {
|
|
3183
3203
|
sourceEl: t,
|
|
3184
3204
|
box: c,
|
|
@@ -3188,131 +3208,147 @@ function fa(e = {}, t = !1) {
|
|
|
3188
3208
|
userPlaced: i?.userPlaced ?? !1,
|
|
3189
3209
|
detach: () => {}
|
|
3190
3210
|
};
|
|
3191
|
-
E.push(m), m.detach =
|
|
3192
|
-
e.preventDefault(), e.stopPropagation(),
|
|
3211
|
+
E.push(m), m.detach = re(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
|
|
3212
|
+
e.preventDefault(), e.stopPropagation(), B(m);
|
|
3193
3213
|
}), o && e.onPin?.(t, f);
|
|
3194
|
-
},
|
|
3195
|
-
|
|
3196
|
-
for (let t of e) t.sourceEl.isConnected &&
|
|
3197
|
-
}, H = () => {
|
|
3198
|
-
let e = D.pop();
|
|
3199
|
-
return e ? (O.push(L()), re(e), !0) : !1;
|
|
3200
|
-
}, ie = () => {
|
|
3201
|
-
let e = O.pop();
|
|
3202
|
-
return e ? (D.push(L()), re(e), !0) : !1;
|
|
3214
|
+
}, ie = (e) => {
|
|
3215
|
+
V(!1);
|
|
3216
|
+
for (let t of e) t.sourceEl.isConnected && H(t.sourceEl, t, !1, !1);
|
|
3203
3217
|
}, U = () => {
|
|
3204
|
-
|
|
3218
|
+
let e = D.pop();
|
|
3219
|
+
return e ? (O.push(R()), ie(e), !0) : !1;
|
|
3205
3220
|
}, ae = () => {
|
|
3221
|
+
let e = O.pop();
|
|
3222
|
+
return e ? (D.push(R()), ie(e), !0) : !1;
|
|
3223
|
+
}, W = () => {
|
|
3224
|
+
E.length && (z(), V(!0));
|
|
3225
|
+
}, oe = () => {
|
|
3206
3226
|
for (let e of E.slice()) {
|
|
3207
3227
|
if (!e.sourceEl.isConnected) {
|
|
3208
|
-
|
|
3228
|
+
B(e, !1, !1);
|
|
3209
3229
|
continue;
|
|
3210
3230
|
}
|
|
3211
3231
|
let t = e.sourceEl.getBoundingClientRect();
|
|
3212
|
-
|
|
3232
|
+
Ki(e.box, t), e.userPlaced || Yi(r, e.card, t);
|
|
3213
3233
|
let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
|
|
3214
3234
|
M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
|
|
3215
3235
|
}
|
|
3216
|
-
},
|
|
3236
|
+
}, se = () => {
|
|
3217
3237
|
if (m) {
|
|
3218
3238
|
if (v && g && _) {
|
|
3219
|
-
if (!v.isConnected)
|
|
3239
|
+
if (!v.isConnected) ne();
|
|
3220
3240
|
else {
|
|
3221
3241
|
let e = v.getBoundingClientRect();
|
|
3222
|
-
|
|
3242
|
+
Ki(g, e), Yi(r, _, e);
|
|
3223
3243
|
let t = e.bottom >= 0 && e.right >= 0 && e.left <= r.innerWidth && e.top <= r.innerHeight;
|
|
3224
3244
|
M(g, t), M(_, t);
|
|
3225
3245
|
}
|
|
3226
3246
|
}
|
|
3227
|
-
|
|
3247
|
+
oe();
|
|
3228
3248
|
}
|
|
3229
|
-
},
|
|
3249
|
+
}, ce = () => {
|
|
3230
3250
|
if (!m) return;
|
|
3231
|
-
let e =
|
|
3232
|
-
if (!e)
|
|
3233
|
-
else if (e !== v)
|
|
3251
|
+
let e = P(y.x, y.y);
|
|
3252
|
+
if (!e) ne();
|
|
3253
|
+
else if (e !== v) L(e);
|
|
3234
3254
|
else if (g && _) {
|
|
3235
3255
|
let t = e.getBoundingClientRect();
|
|
3236
|
-
|
|
3256
|
+
Ki(g, t), Yi(r, _, t);
|
|
3237
3257
|
}
|
|
3238
|
-
|
|
3239
|
-
},
|
|
3258
|
+
oe();
|
|
3259
|
+
}, le = () => {
|
|
3240
3260
|
b ||= r.requestAnimationFrame(() => {
|
|
3241
|
-
b = 0,
|
|
3261
|
+
b = 0, ce();
|
|
3242
3262
|
});
|
|
3243
|
-
},
|
|
3244
|
-
y = {
|
|
3263
|
+
}, ue = (e) => e.composedPath().some((e) => Kr(e, r)), de = (e) => {
|
|
3264
|
+
if (y = {
|
|
3245
3265
|
x: e.clientX,
|
|
3246
3266
|
y: e.clientY
|
|
3247
|
-
},
|
|
3248
|
-
|
|
3267
|
+
}, ue(e) || I(e.clientX, e.clientY)) {
|
|
3268
|
+
ne();
|
|
3269
|
+
return;
|
|
3270
|
+
}
|
|
3271
|
+
F(_, e.clientX, e.clientY) || le();
|
|
3272
|
+
}, fe = (e, t, n) => {
|
|
3249
3273
|
if (!e || e.dataset.mesurerNativeScrollAnchor) return;
|
|
3250
3274
|
let r = Number.parseFloat(e.style.left), i = Number.parseFloat(e.style.top);
|
|
3251
3275
|
Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
|
|
3252
|
-
},
|
|
3276
|
+
}, pe = () => {
|
|
3253
3277
|
let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
|
|
3254
|
-
if (C = e, w = t,
|
|
3278
|
+
if (C = e, w = t, Jr(n)) {
|
|
3255
3279
|
if (i || a) {
|
|
3256
|
-
|
|
3257
|
-
for (let e of E)
|
|
3280
|
+
fe(g, i, a), fe(_, i, a);
|
|
3281
|
+
for (let e of E) fe(e.box, i, a), e.userPlaced || fe(e.card, i, a);
|
|
3258
3282
|
}
|
|
3259
3283
|
S && r.clearTimeout(S), S = r.setTimeout(() => {
|
|
3260
|
-
S = 0,
|
|
3261
|
-
},
|
|
3284
|
+
S = 0, se();
|
|
3285
|
+
}, da);
|
|
3262
3286
|
return;
|
|
3263
3287
|
}
|
|
3264
|
-
|
|
3265
|
-
}, de = (e) => {
|
|
3266
|
-
e.relatedTarget || te();
|
|
3267
|
-
}, fe = (e) => e.composedPath().some((e) => e instanceof d && (e.id === a || e.hasAttribute("data-mesurer-root") || e.classList.contains("mesurer-ti-card") || e.classList.contains("mesurer-ti-close"))), pe = (e) => {
|
|
3268
|
-
if (!fe(e) && (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0)) {
|
|
3269
|
-
let t = F(e.clientX, e.clientY);
|
|
3270
|
-
t && ne(t);
|
|
3271
|
-
}
|
|
3288
|
+
se(), le();
|
|
3272
3289
|
}, me = (e) => {
|
|
3273
|
-
|
|
3274
|
-
}, he = () => {
|
|
3275
|
-
|
|
3290
|
+
e.relatedTarget || ne();
|
|
3291
|
+
}, he = (e) => {
|
|
3292
|
+
if (!ue(e)) {
|
|
3293
|
+
if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
|
|
3294
|
+
e.preventDefault(), e.stopImmediatePropagation();
|
|
3295
|
+
return;
|
|
3296
|
+
}
|
|
3297
|
+
if (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0) {
|
|
3298
|
+
let t = P(e.clientX, e.clientY);
|
|
3299
|
+
t && H(t);
|
|
3300
|
+
}
|
|
3301
|
+
}
|
|
3302
|
+
}, ge = (e) => {
|
|
3303
|
+
if (!ue(e)) {
|
|
3304
|
+
if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
|
|
3305
|
+
e.preventDefault(), e.stopImmediatePropagation();
|
|
3306
|
+
return;
|
|
3307
|
+
}
|
|
3308
|
+
e.preventDefault(), e.stopImmediatePropagation();
|
|
3309
|
+
}
|
|
3310
|
+
}, _e = () => {
|
|
3311
|
+
m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", de, !0), r.addEventListener("mouseout", me, !0), r.addEventListener("click", he, !0), r.addEventListener("auxclick", ge, !0), r.addEventListener("scroll", pe, {
|
|
3276
3312
|
capture: !0,
|
|
3277
3313
|
passive: !0
|
|
3278
|
-
}), r.addEventListener("resize",
|
|
3279
|
-
},
|
|
3280
|
-
m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove",
|
|
3281
|
-
},
|
|
3282
|
-
|
|
3314
|
+
}), r.addEventListener("resize", le, !0));
|
|
3315
|
+
}, ve = () => {
|
|
3316
|
+
m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", de, !0), r.removeEventListener("mouseout", me, !0), r.removeEventListener("click", he, !0), r.removeEventListener("auxclick", ge, !0), r.removeEventListener("scroll", pe, !0), r.removeEventListener("resize", le, !0), ne(), V(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
|
|
3317
|
+
}, ye = () => {
|
|
3318
|
+
ve(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
|
|
3283
3319
|
};
|
|
3284
3320
|
return {
|
|
3285
|
-
enable:
|
|
3286
|
-
disable:
|
|
3287
|
-
undo:
|
|
3288
|
-
redo:
|
|
3289
|
-
clear:
|
|
3290
|
-
inspect:
|
|
3321
|
+
enable: _e,
|
|
3322
|
+
disable: ve,
|
|
3323
|
+
undo: U,
|
|
3324
|
+
redo: ae,
|
|
3325
|
+
clear: W,
|
|
3326
|
+
inspect: L,
|
|
3291
3327
|
isEnabled: () => m,
|
|
3292
3328
|
canUndo: () => D.length > 0,
|
|
3293
3329
|
canRedo: () => O.length > 0,
|
|
3294
|
-
cleanup:
|
|
3295
|
-
destroy:
|
|
3330
|
+
cleanup: ye,
|
|
3331
|
+
destroy: ye
|
|
3296
3332
|
};
|
|
3297
3333
|
}
|
|
3298
|
-
|
|
3299
|
-
var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", ma = {
|
|
3334
|
+
ma({}, !0);
|
|
3335
|
+
var ha = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", ga = {
|
|
3300
3336
|
keepTextChanges: !1,
|
|
3301
3337
|
keepArrangeChanges: !1
|
|
3302
|
-
},
|
|
3338
|
+
}, _a = (e) => e.state.get("mesurer.presentation.preferences") ?? ga, va = "mesurer.arrange", ya = "arrange", ba = "mesurer.arrange.intents", xa = "mesurer.arrange.active", Sa = "mesurer.arrange.settings", Ca = "runtime:solid", wa = "builtin.select", Ta = "arrange.toggle", Ea = "arrange.commit", Da = "arrange.clear", Oa = "mesurer.arrange.selection-available", ka = 1, Aa = 24, ja = 160, Ma = 500, Na = "#ef4444", Pa = {
|
|
3303
3339
|
viewBox: "0 0 24 24",
|
|
3304
3340
|
paths: ["M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z"]
|
|
3305
|
-
},
|
|
3341
|
+
}, Fa = (e, t) => ({
|
|
3306
3342
|
left: e.left + t.x,
|
|
3307
3343
|
top: e.top + t.y,
|
|
3308
3344
|
width: e.width,
|
|
3309
3345
|
height: e.height
|
|
3310
|
-
}),
|
|
3346
|
+
}), Ia = (e, t) => ({
|
|
3311
3347
|
left: e.left - t.left,
|
|
3312
3348
|
top: e.top - t.top,
|
|
3313
3349
|
width: e.width - t.width,
|
|
3314
3350
|
height: e.height - t.height
|
|
3315
|
-
}),
|
|
3351
|
+
}), La = (e) => {
|
|
3316
3352
|
if (!e.length) return null;
|
|
3317
3353
|
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));
|
|
3318
3354
|
return {
|
|
@@ -3321,35 +3357,35 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3321
3357
|
width: r - t,
|
|
3322
3358
|
height: i - n
|
|
3323
3359
|
};
|
|
3324
|
-
},
|
|
3360
|
+
}, Ra = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), za = (e, t, n) => {
|
|
3325
3361
|
let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
|
|
3326
3362
|
return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
|
|
3327
3363
|
r,
|
|
3328
3364
|
r + i / 2,
|
|
3329
3365
|
a
|
|
3330
3366
|
];
|
|
3331
|
-
},
|
|
3367
|
+
}, Ba = (e, t) => t === "x" ? {
|
|
3332
3368
|
start: e.top,
|
|
3333
3369
|
end: e.top + e.height
|
|
3334
3370
|
} : {
|
|
3335
3371
|
start: e.left,
|
|
3336
3372
|
end: e.left + e.width
|
|
3337
|
-
},
|
|
3338
|
-
let r =
|
|
3339
|
-
for (let a of n) if (a.axis === e && !(a.source === "element" &&
|
|
3373
|
+
}, Va = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ha = (e, t, n) => {
|
|
3374
|
+
let r = Ba(t, e), i = null;
|
|
3375
|
+
for (let a of n) if (a.axis === e && !(a.source === "element" && Ra(r.start, r.end, a.start, a.end) > ja)) for (let n of za(t, e, a.kind)) {
|
|
3340
3376
|
let e = a.position - n, t = Math.abs(e);
|
|
3341
3377
|
if (t > 10) continue;
|
|
3342
3378
|
let r = i ? Math.abs(i.delta) : Infinity;
|
|
3343
|
-
(t < r || t === r && (!i ||
|
|
3379
|
+
(t < r || t === r && (!i || Va(a) > Va(i))) && (i = {
|
|
3344
3380
|
...a,
|
|
3345
3381
|
delta: e
|
|
3346
3382
|
});
|
|
3347
3383
|
}
|
|
3348
3384
|
return i;
|
|
3349
|
-
},
|
|
3385
|
+
}, Ua = (e) => {
|
|
3350
3386
|
let { origin: t, pathname: n, search: r } = e.location;
|
|
3351
3387
|
return `${t}${n}${r}`;
|
|
3352
|
-
},
|
|
3388
|
+
}, Wa = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ga = (e) => ({
|
|
3353
3389
|
tag: e.fingerprintTag,
|
|
3354
3390
|
id: e.fingerprintId,
|
|
3355
3391
|
testId: e.fingerprintTestId,
|
|
@@ -3357,10 +3393,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3357
3393
|
ariaLabel: e.fingerprintAriaLabel,
|
|
3358
3394
|
classes: [...e.fingerprintClasses],
|
|
3359
3395
|
text: e.fingerprintText
|
|
3360
|
-
}),
|
|
3396
|
+
}), Ka = (e) => ({
|
|
3361
3397
|
id: e.id,
|
|
3362
3398
|
selector: e.selector,
|
|
3363
|
-
fingerprint:
|
|
3399
|
+
fingerprint: Ga(e),
|
|
3364
3400
|
before: {
|
|
3365
3401
|
left: e.beforeLeft,
|
|
3366
3402
|
top: e.beforeTop,
|
|
@@ -3381,21 +3417,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3381
3417
|
x: e.desiredOffsetX,
|
|
3382
3418
|
y: e.desiredOffsetY
|
|
3383
3419
|
}
|
|
3384
|
-
}),
|
|
3420
|
+
}), qa = (e) => ({
|
|
3385
3421
|
id: e.id,
|
|
3386
3422
|
createdAt: e.createdAt,
|
|
3387
3423
|
pageUrl: e.pageUrl,
|
|
3388
|
-
targets: e.targets.map(
|
|
3389
|
-
}),
|
|
3424
|
+
targets: e.targets.map(Ka)
|
|
3425
|
+
}), Ja = (e) => ({
|
|
3390
3426
|
value: e.style.getPropertyValue("transform"),
|
|
3391
3427
|
priority: e.style.getPropertyPriority("transform")
|
|
3392
|
-
}),
|
|
3428
|
+
}), Ya = (e, t) => e.value === t.value && e.priority === t.priority, Xa = (e) => {
|
|
3393
3429
|
let { element: t, beforeTransform: n, appliedTransform: r } = e;
|
|
3394
|
-
|
|
3395
|
-
},
|
|
3396
|
-
id:
|
|
3430
|
+
Ya(Ja(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
|
|
3431
|
+
}, Za = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Qa = () => ar({
|
|
3432
|
+
id: va,
|
|
3397
3433
|
version: "0.1.0",
|
|
3398
|
-
requires: [
|
|
3434
|
+
requires: [Ca, "tool:select"],
|
|
3399
3435
|
provides: [
|
|
3400
3436
|
"tool:arrange",
|
|
3401
3437
|
"intent:arrange",
|
|
@@ -3403,19 +3439,19 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3403
3439
|
"settings:arrange"
|
|
3404
3440
|
],
|
|
3405
3441
|
setup(e) {
|
|
3406
|
-
let t = e.service.get(
|
|
3442
|
+
let t = e.service.get(Ca);
|
|
3407
3443
|
if (!t) throw Error("Arrange plugin requires the Solid renderer runtime.");
|
|
3408
3444
|
let { ownerDocument: n, ownerWindow: r } = t, i = t.createWorkspaceRuntime(), a = t.createInspectorMount(), o = t.pageTarget ?? n.body ?? n.documentElement, s = t.portalTarget, c = r;
|
|
3409
3445
|
e.state.register({
|
|
3410
|
-
id:
|
|
3446
|
+
id: ba,
|
|
3411
3447
|
initial: { intents: [] },
|
|
3412
3448
|
history: !0,
|
|
3413
3449
|
persist: !0
|
|
3414
3450
|
}), e.state.register({
|
|
3415
|
-
id:
|
|
3451
|
+
id: xa,
|
|
3416
3452
|
initial: !1
|
|
3417
3453
|
}), e.state.register({
|
|
3418
|
-
id:
|
|
3454
|
+
id: Sa,
|
|
3419
3455
|
initial: {
|
|
3420
3456
|
snapping: !0,
|
|
3421
3457
|
elementEdges: !0,
|
|
@@ -3429,16 +3465,16 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3429
3465
|
let l = a.element;
|
|
3430
3466
|
l.dataset.mesurerArrange = "true", l.style.position = "fixed", l.style.inset = "0", l.style.zIndex = "84", l.style.pointerEvents = "none";
|
|
3431
3467
|
let u = n.createElement("div");
|
|
3432
|
-
u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor =
|
|
3468
|
+
u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = Na, u.style.pointerEvents = "none";
|
|
3433
3469
|
let d = n.createElement("div");
|
|
3434
|
-
d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor =
|
|
3470
|
+
d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = Na, d.style.pointerEvents = "none";
|
|
3435
3471
|
let f = n.createElement("div");
|
|
3436
3472
|
f.dataset.mesurerArrangeBox = "true", f.setAttribute("role", "application"), f.setAttribute("aria-label", "Arrange selected elements"), f.style.position = "fixed", f.style.display = "none", f.style.boxSizing = "border-box", f.style.border = "1px solid #0d99ff", f.style.cursor = "grab", f.style.pointerEvents = "auto", f.style.touchAction = "none", f.style.userSelect = "none", l.append(u, d, f);
|
|
3437
3473
|
let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = {
|
|
3438
3474
|
intentId: null,
|
|
3439
3475
|
state: "desired"
|
|
3440
3476
|
}, g = null, _ = null, v = !1, y = 0, b = null, x = () => e.state.get("mesurer.arrange.intents") ?? { intents: [] }, S = () => e.state.get("mesurer.arrange.active") ?? !1, C = () => {
|
|
3441
|
-
let t = e.state.get(
|
|
3477
|
+
let t = e.state.get(Sa);
|
|
3442
3478
|
return {
|
|
3443
3479
|
snapping: t?.snapping ?? !0,
|
|
3444
3480
|
elementEdges: t?.elementEdges ?? !0,
|
|
@@ -3448,21 +3484,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3448
3484
|
snapLines: t?.snapLines ?? !0
|
|
3449
3485
|
};
|
|
3450
3486
|
}, w = (t) => {
|
|
3451
|
-
e.state.update(
|
|
3487
|
+
e.state.update(Sa, (e) => ({
|
|
3452
3488
|
...e,
|
|
3453
3489
|
...t
|
|
3454
3490
|
}));
|
|
3455
|
-
}, T = () =>
|
|
3491
|
+
}, T = () => Ua(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => ki(e, o) && !D(e), k = (e) => {
|
|
3456
3492
|
let t = [];
|
|
3457
3493
|
o instanceof c.HTMLElement && o.matches(e) && !D(o) && t.push(o);
|
|
3458
3494
|
for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && O(n) && t.push(n);
|
|
3459
3495
|
return t;
|
|
3460
3496
|
}, A = (e) => {
|
|
3461
|
-
let t =
|
|
3462
|
-
if (!
|
|
3497
|
+
let t = Ga(e);
|
|
3498
|
+
if (!Mi(t)) return null;
|
|
3463
3499
|
let n = [];
|
|
3464
3500
|
try {
|
|
3465
|
-
n = k(e.selector).filter((e) =>
|
|
3501
|
+
n = k(e.selector).filter((e) => Ni(e, t));
|
|
3466
3502
|
} catch {
|
|
3467
3503
|
return null;
|
|
3468
3504
|
}
|
|
@@ -3470,7 +3506,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3470
3506
|
if (!t.id && !t.testId) {
|
|
3471
3507
|
let e = [];
|
|
3472
3508
|
try {
|
|
3473
|
-
e = k(t.tag).filter((e) =>
|
|
3509
|
+
e = k(t.tag).filter((e) => Ni(e, t));
|
|
3474
3510
|
} catch {
|
|
3475
3511
|
return null;
|
|
3476
3512
|
}
|
|
@@ -3478,7 +3514,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3478
3514
|
}
|
|
3479
3515
|
return n[0] ?? null;
|
|
3480
3516
|
}, j = () => {
|
|
3481
|
-
for (let e of p.values())
|
|
3517
|
+
for (let e of p.values()) Xa(e);
|
|
3482
3518
|
p.clear();
|
|
3483
3519
|
}, M = () => {
|
|
3484
3520
|
u.style.display = "none", d.style.display = "none";
|
|
@@ -3498,10 +3534,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3498
3534
|
value: e.style.getPropertyValue("visibility"),
|
|
3499
3535
|
priority: e.style.getPropertyPriority("visibility")
|
|
3500
3536
|
}), e.style.setProperty("visibility", "hidden", "important"));
|
|
3501
|
-
},
|
|
3537
|
+
}, te = () => {
|
|
3502
3538
|
for (let [e, t] of m) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
|
|
3503
3539
|
m.clear();
|
|
3504
|
-
},
|
|
3540
|
+
}, P = (e = E()) => {
|
|
3505
3541
|
let t = /* @__PURE__ */ new Map();
|
|
3506
3542
|
for (let n of e) for (let e of n.targets) {
|
|
3507
3543
|
let n = A(e);
|
|
@@ -3511,11 +3547,11 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3511
3547
|
});
|
|
3512
3548
|
}
|
|
3513
3549
|
return t;
|
|
3514
|
-
},
|
|
3550
|
+
}, ne = () => {
|
|
3515
3551
|
if (h.state === "live") return /* @__PURE__ */ new Map();
|
|
3516
|
-
if (!h.intentId) return
|
|
3552
|
+
if (!h.intentId) return P();
|
|
3517
3553
|
let e = x().intents.find((e) => e.id === h.intentId);
|
|
3518
|
-
if (!e) return
|
|
3554
|
+
if (!e) return P();
|
|
3519
3555
|
let t = /* @__PURE__ */ new Map();
|
|
3520
3556
|
for (let n of e.targets) {
|
|
3521
3557
|
let e = A(n);
|
|
@@ -3528,44 +3564,44 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3528
3564
|
});
|
|
3529
3565
|
}
|
|
3530
3566
|
return t;
|
|
3531
|
-
},
|
|
3567
|
+
}, F = (e) => {
|
|
3532
3568
|
j();
|
|
3533
3569
|
for (let [t, n] of e) {
|
|
3534
3570
|
if (!t.isConnected || !O(t) || n.x === 0 && n.y === 0) continue;
|
|
3535
|
-
let e =
|
|
3571
|
+
let e = Ja(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
|
|
3536
3572
|
t.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(t, {
|
|
3537
3573
|
element: t,
|
|
3538
3574
|
beforeTransform: e,
|
|
3539
|
-
appliedTransform:
|
|
3575
|
+
appliedTransform: Ja(t)
|
|
3540
3576
|
});
|
|
3541
3577
|
}
|
|
3542
|
-
},
|
|
3578
|
+
}, I = () => F(ne()), L = (e) => {
|
|
3543
3579
|
j();
|
|
3544
3580
|
try {
|
|
3545
3581
|
return e();
|
|
3546
3582
|
} finally {
|
|
3547
|
-
!v && !g &&
|
|
3583
|
+
!v && !g && I();
|
|
3548
3584
|
}
|
|
3549
|
-
},
|
|
3585
|
+
}, R = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
|
|
3550
3586
|
e.state.register({
|
|
3551
|
-
id:
|
|
3552
|
-
initial:
|
|
3587
|
+
id: Oa,
|
|
3588
|
+
initial: R().length > 0
|
|
3553
3589
|
});
|
|
3554
|
-
let
|
|
3555
|
-
let t =
|
|
3556
|
-
t !==
|
|
3557
|
-
},
|
|
3590
|
+
let z = () => e.state.get(Oa) ?? !1, B = () => {
|
|
3591
|
+
let t = R().length > 0;
|
|
3592
|
+
t !== z() && e.state.update(Oa, () => t);
|
|
3593
|
+
}, V = () => La(R().map((e) => Oi(e))), re = (e) => {
|
|
3558
3594
|
let t = C();
|
|
3559
3595
|
if (!t.snapping) return [];
|
|
3560
3596
|
let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
|
|
3561
|
-
if (u >=
|
|
3597
|
+
if (u >= Ma || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
|
|
3562
3598
|
let o = r.getComputedStyle(i);
|
|
3563
3599
|
if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
|
|
3564
3600
|
let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
|
|
3565
3601
|
if (l && !s) return;
|
|
3566
|
-
let c =
|
|
3602
|
+
let c = Oi(i);
|
|
3567
3603
|
if (c.width <= 0 || c.height <= 0) return;
|
|
3568
|
-
let d =
|
|
3604
|
+
let d = ja;
|
|
3569
3605
|
if (c.left + c.width < -160 || c.top + c.height < -160 || c.left > r.innerWidth + d || c.top > r.innerHeight + d) return;
|
|
3570
3606
|
u += 1;
|
|
3571
3607
|
let f = c.left + c.width, p = c.top + c.height;
|
|
@@ -3606,7 +3642,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3606
3642
|
if (t.elementEdges || t.elementCenters) {
|
|
3607
3643
|
o instanceof c.HTMLElement && d(o);
|
|
3608
3644
|
for (let e of o.querySelectorAll("*")) {
|
|
3609
|
-
if (u >=
|
|
3645
|
+
if (u >= Ma) break;
|
|
3610
3646
|
e instanceof c.HTMLElement && d(e);
|
|
3611
3647
|
}
|
|
3612
3648
|
}
|
|
@@ -3631,7 +3667,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3631
3667
|
f.style.display = "none";
|
|
3632
3668
|
return;
|
|
3633
3669
|
}
|
|
3634
|
-
let t = e === void 0 ?
|
|
3670
|
+
let t = e === void 0 ? V() : e;
|
|
3635
3671
|
if (!t) {
|
|
3636
3672
|
f.style.display = "none";
|
|
3637
3673
|
return;
|
|
@@ -3641,40 +3677,40 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3641
3677
|
h = {
|
|
3642
3678
|
intentId: null,
|
|
3643
3679
|
state: "desired"
|
|
3644
|
-
},
|
|
3680
|
+
}, I(), M(), S() ? N() : te();
|
|
3645
3681
|
}, U = () => {
|
|
3646
3682
|
h = {
|
|
3647
3683
|
intentId: null,
|
|
3648
3684
|
state: "live"
|
|
3649
|
-
}, j(), M(),
|
|
3685
|
+
}, j(), M(), te();
|
|
3650
3686
|
}, ae = () => {
|
|
3651
|
-
v || g || (
|
|
3687
|
+
v || g || (I(), M(), S() ? N() : te(), H());
|
|
3652
3688
|
}, W = () => {
|
|
3653
3689
|
y || v || (y = r.requestAnimationFrame(() => {
|
|
3654
3690
|
y = 0, ae();
|
|
3655
3691
|
}));
|
|
3656
3692
|
}, oe = async () => {
|
|
3657
|
-
s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(
|
|
3693
|
+
s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(wa, void 0, { source: "arrange" });
|
|
3658
3694
|
}, se = (e) => {
|
|
3659
3695
|
if (!S() || e.button !== 0) return;
|
|
3660
|
-
let t =
|
|
3696
|
+
let t = R();
|
|
3661
3697
|
if (!t.length) return;
|
|
3662
3698
|
e.preventDefault(), e.stopPropagation(), h = {
|
|
3663
3699
|
intentId: null,
|
|
3664
3700
|
state: "desired"
|
|
3665
|
-
},
|
|
3666
|
-
let n =
|
|
3701
|
+
}, I();
|
|
3702
|
+
let n = P(E());
|
|
3667
3703
|
j();
|
|
3668
3704
|
let r = t.map((e, t) => {
|
|
3669
|
-
let r =
|
|
3705
|
+
let r = Oi(e), i = n.get(e) ?? {
|
|
3670
3706
|
x: 0,
|
|
3671
3707
|
y: 0
|
|
3672
|
-
}, a =
|
|
3708
|
+
}, a = Fa(r, i), o = ji(e);
|
|
3673
3709
|
return {
|
|
3674
3710
|
element: e,
|
|
3675
3711
|
target: {
|
|
3676
3712
|
id: `target-${t + 1}`,
|
|
3677
|
-
selector:
|
|
3713
|
+
selector: Ai(e),
|
|
3678
3714
|
fingerprintTag: o.tag,
|
|
3679
3715
|
fingerprintId: o.id,
|
|
3680
3716
|
fingerprintTestId: o.testId,
|
|
@@ -3696,17 +3732,17 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3696
3732
|
desiredOffsetY: i.y
|
|
3697
3733
|
}
|
|
3698
3734
|
};
|
|
3699
|
-
}), i =
|
|
3735
|
+
}), i = La(r.map(({ target: e }) => ({
|
|
3700
3736
|
left: e.beforeLeft,
|
|
3701
3737
|
top: e.beforeTop,
|
|
3702
3738
|
width: e.beforeWidth,
|
|
3703
3739
|
height: e.beforeHeight
|
|
3704
3740
|
})));
|
|
3705
3741
|
if (!i) {
|
|
3706
|
-
|
|
3742
|
+
I();
|
|
3707
3743
|
return;
|
|
3708
3744
|
}
|
|
3709
|
-
|
|
3745
|
+
I(), N(), M(), g = {
|
|
3710
3746
|
pointerId: e.pointerId,
|
|
3711
3747
|
originX: e.clientX,
|
|
3712
3748
|
originY: e.clientY,
|
|
@@ -3720,18 +3756,18 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3720
3756
|
if (!g || e.pointerId !== g.pointerId) return;
|
|
3721
3757
|
let t = e.clientX - g.originX, n = e.clientY - g.originY, r = null;
|
|
3722
3758
|
e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
|
|
3723
|
-
let i =
|
|
3759
|
+
let i = Fa(g.groupBefore, {
|
|
3724
3760
|
x: t,
|
|
3725
3761
|
y: n
|
|
3726
|
-
}), a = r === "y" ? null :
|
|
3762
|
+
}), a = r === "y" ? null : Ha("x", i, g.snapCandidates), o = r === "x" ? null : Ha("y", i, g.snapCandidates);
|
|
3727
3763
|
t += a?.delta ?? 0, n += o?.delta ?? 0, g.dx = t, g.dy = n;
|
|
3728
|
-
let s =
|
|
3764
|
+
let s = P(E());
|
|
3729
3765
|
for (let e of g.targets) s.set(e.element, {
|
|
3730
3766
|
x: e.target.beforeOffsetX + t,
|
|
3731
3767
|
y: e.target.beforeOffsetY + n
|
|
3732
3768
|
});
|
|
3733
|
-
|
|
3734
|
-
let c =
|
|
3769
|
+
F(s);
|
|
3770
|
+
let c = Fa(g.groupBefore, {
|
|
3735
3771
|
x: t,
|
|
3736
3772
|
y: n
|
|
3737
3773
|
});
|
|
@@ -3749,7 +3785,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3749
3785
|
return;
|
|
3750
3786
|
}
|
|
3751
3787
|
_ = {
|
|
3752
|
-
id:
|
|
3788
|
+
id: Wa(r, "arrange"),
|
|
3753
3789
|
createdAt: Date.now(),
|
|
3754
3790
|
pageUrl: T(),
|
|
3755
3791
|
targets: n.targets.map(({ target: e }) => ({
|
|
@@ -3759,16 +3795,16 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3759
3795
|
desiredOffsetX: e.beforeOffsetX + n.dx,
|
|
3760
3796
|
desiredOffsetY: e.beforeOffsetY + n.dy
|
|
3761
3797
|
}))
|
|
3762
|
-
}, e.command.execute(
|
|
3798
|
+
}, e.command.execute(Ea).catch(() => {
|
|
3763
3799
|
_ = null, ie(), H();
|
|
3764
3800
|
});
|
|
3765
3801
|
}, de = (e) => {
|
|
3766
3802
|
!g || e.pointerId !== g.pointerId || le();
|
|
3767
3803
|
}, fe = (t) => {
|
|
3768
|
-
t.key !== "Escape" || !S() && !g ||
|
|
3804
|
+
t.key !== "Escape" || !S() && !g || Za(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
|
|
3769
3805
|
};
|
|
3770
3806
|
f.addEventListener("pointerdown", se), f.addEventListener("pointermove", ce), f.addEventListener("pointerup", ue), f.addEventListener("pointercancel", de), r.addEventListener("keydown", fe, !0), r.addEventListener("resize", W), r.addEventListener("scroll", W, !0), o.addEventListener("scroll", W, !0), b = new c.MutationObserver(() => {
|
|
3771
|
-
|
|
3807
|
+
B(), W();
|
|
3772
3808
|
}), b.observe(o, {
|
|
3773
3809
|
childList: !0,
|
|
3774
3810
|
subtree: !0,
|
|
@@ -3782,21 +3818,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3782
3818
|
]
|
|
3783
3819
|
});
|
|
3784
3820
|
let pe = i.subscribe(() => {
|
|
3785
|
-
|
|
3821
|
+
B(), W();
|
|
3786
3822
|
}), me = e.state.subscribe(W), he = (e) => x().intents.find((t) => t.id === e) ?? null, ge = (e, t) => {
|
|
3787
3823
|
let n = null;
|
|
3788
|
-
if (n = t === "before" ?
|
|
3824
|
+
if (n = t === "before" ? La(e.targets.map((e) => ({
|
|
3789
3825
|
left: e.beforeLeft,
|
|
3790
3826
|
top: e.beforeTop,
|
|
3791
3827
|
width: e.beforeWidth,
|
|
3792
3828
|
height: e.beforeHeight
|
|
3793
|
-
}))) : t === "desired" ?
|
|
3829
|
+
}))) : t === "desired" ? La(e.targets.map((e) => ({
|
|
3794
3830
|
left: e.desiredLeft,
|
|
3795
3831
|
top: e.desiredTop,
|
|
3796
3832
|
width: e.desiredWidth,
|
|
3797
3833
|
height: e.desiredHeight
|
|
3798
|
-
}))) :
|
|
3799
|
-
let i = Math.max(0, n.left -
|
|
3834
|
+
}))) : L(() => La(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Oi(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
|
|
3835
|
+
let i = Math.max(0, n.left - Aa), a = Math.max(0, n.top - Aa), o = Math.min(r.innerWidth, n.left + n.width + Aa), s = Math.min(r.innerHeight, n.top + n.height + Aa);
|
|
3800
3836
|
return {
|
|
3801
3837
|
left: i,
|
|
3802
3838
|
top: a,
|
|
@@ -3805,10 +3841,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3805
3841
|
};
|
|
3806
3842
|
}, _e = {
|
|
3807
3843
|
active: S,
|
|
3808
|
-
intents: () => x().intents.map(
|
|
3844
|
+
intents: () => x().intents.map(qa),
|
|
3809
3845
|
intent(e) {
|
|
3810
3846
|
let t = he(e);
|
|
3811
|
-
return t ?
|
|
3847
|
+
return t ? qa(t) : null;
|
|
3812
3848
|
},
|
|
3813
3849
|
show(e, t) {
|
|
3814
3850
|
if (!he(e)) throw Error(`Arrange intent not found: ${e}`);
|
|
@@ -3841,10 +3877,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3841
3877
|
}]
|
|
3842
3878
|
};
|
|
3843
3879
|
},
|
|
3844
|
-
review: (e, t =
|
|
3880
|
+
review: (e, t = ka) => {
|
|
3845
3881
|
let n = he(e);
|
|
3846
3882
|
if (!n) throw Error(`Arrange intent not found: ${e}`);
|
|
3847
|
-
let r =
|
|
3883
|
+
let r = L(() => n.targets.map((e) => {
|
|
3848
3884
|
let n = A(e), r = {
|
|
3849
3885
|
left: e.desiredLeft,
|
|
3850
3886
|
top: e.desiredTop,
|
|
@@ -3859,7 +3895,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3859
3895
|
delta: null,
|
|
3860
3896
|
matched: !1
|
|
3861
3897
|
};
|
|
3862
|
-
let i =
|
|
3898
|
+
let i = Oi(n), a = Ia(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
|
|
3863
3899
|
return {
|
|
3864
3900
|
targetId: e.id,
|
|
3865
3901
|
selector: e.selector,
|
|
@@ -3879,7 +3915,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3879
3915
|
};
|
|
3880
3916
|
},
|
|
3881
3917
|
clear: async () => {
|
|
3882
|
-
await e.command.execute(
|
|
3918
|
+
await e.command.execute(Da);
|
|
3883
3919
|
}
|
|
3884
3920
|
};
|
|
3885
3921
|
e.tool.register({
|
|
@@ -3887,8 +3923,8 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3887
3923
|
label: "Arrange",
|
|
3888
3924
|
shortcut: "Shift+A",
|
|
3889
3925
|
order: 65,
|
|
3890
|
-
command:
|
|
3891
|
-
icon:
|
|
3926
|
+
command: Ta,
|
|
3927
|
+
icon: Pa,
|
|
3892
3928
|
active: S,
|
|
3893
3929
|
menu: {
|
|
3894
3930
|
label: "Arrange options",
|
|
@@ -3995,28 +4031,28 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3995
4031
|
disabled: () => !C().snapping
|
|
3996
4032
|
}
|
|
3997
4033
|
]
|
|
3998
|
-
}), e.command.register(
|
|
4034
|
+
}), e.command.register(Ta, async () => {
|
|
3999
4035
|
let t = !S();
|
|
4000
4036
|
if (t && await oe(), e.state.update("mesurer.arrange.active", () => t), !t) {
|
|
4001
4037
|
g && le(), U(), H();
|
|
4002
4038
|
return;
|
|
4003
4039
|
}
|
|
4004
4040
|
ie(), H();
|
|
4005
|
-
}), e.command.register(
|
|
4041
|
+
}), e.command.register(Ea, () => {
|
|
4006
4042
|
let t = _;
|
|
4007
4043
|
_ = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ie(), H());
|
|
4008
|
-
}), e.command.register(
|
|
4009
|
-
e.state.update(
|
|
4044
|
+
}), e.command.register(Da, () => {
|
|
4045
|
+
e.state.update(ba, () => ({ intents: [] })), h = {
|
|
4010
4046
|
intentId: null,
|
|
4011
4047
|
state: "desired"
|
|
4012
|
-
}, j(), M(), S() ? N() :
|
|
4013
|
-
}), e.service.provide(
|
|
4014
|
-
v = !0, y && r.cancelAnimationFrame(y), b?.disconnect(), b = null, f.removeEventListener("pointerdown", se), f.removeEventListener("pointermove", ce), f.removeEventListener("pointerup", ue), f.removeEventListener("pointercancel", de), r.removeEventListener("keydown", fe, !0), r.removeEventListener("resize", W), r.removeEventListener("scroll", W, !0), o.removeEventListener("scroll", W, !0), pe(), me.dispose(), j(), M(),
|
|
4048
|
+
}, j(), M(), S() ? N() : te(), H();
|
|
4049
|
+
}), e.service.provide(ya, _e), I(), H(), e.lifecycle.onDispose(() => {
|
|
4050
|
+
v = !0, y && r.cancelAnimationFrame(y), b?.disconnect(), b = null, f.removeEventListener("pointerdown", se), f.removeEventListener("pointermove", ce), f.removeEventListener("pointerup", ue), f.removeEventListener("pointercancel", de), r.removeEventListener("keydown", fe, !0), r.removeEventListener("resize", W), r.removeEventListener("scroll", W, !0), o.removeEventListener("scroll", W, !0), pe(), me.dispose(), j(), M(), te(), i.dispose(), a.dispose();
|
|
4015
4051
|
});
|
|
4016
4052
|
}
|
|
4017
|
-
}),
|
|
4053
|
+
}), $a = (e, t, n) => {
|
|
4018
4054
|
let r = !1, i = 0, a = null, o = null, s = () => ({
|
|
4019
|
-
visible: (e.state.get("mesurer.arrange.active") ?? !1) ||
|
|
4055
|
+
visible: (e.state.get("mesurer.arrange.active") ?? !1) || _a(e).keepArrangeChanges,
|
|
4020
4056
|
intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
|
|
4021
4057
|
}), c = (e, t) => e?.visible === t.visible && e.intents === t.intents, l = (e) => {
|
|
4022
4058
|
if (a = e, e.visible) {
|
|
@@ -4037,23 +4073,23 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4037
4073
|
l(s()), e.lifecycle.onDispose(() => {
|
|
4038
4074
|
r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
|
|
4039
4075
|
});
|
|
4040
|
-
},
|
|
4076
|
+
}, eo = [
|
|
4041
4077
|
"[data-mesurer-measurement='true']",
|
|
4042
4078
|
"[data-mesurer-selected-measurement='true']",
|
|
4043
4079
|
"[data-mesurer-inspector-ui='true']"
|
|
4044
|
-
].join(""),
|
|
4080
|
+
].join(""), to = "[data-mesurer-text-edit-runtime='true']", no = "[data-mesurer-text-editor='true']", ro = (e, t) => {
|
|
4045
4081
|
let n = t.ownerDocument.body;
|
|
4046
4082
|
if (!n) return;
|
|
4047
|
-
let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(
|
|
4083
|
+
let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(eo) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
|
|
4048
4084
|
for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
|
|
4049
4085
|
i.clear();
|
|
4050
|
-
}, u = () => !!o?.querySelector(
|
|
4086
|
+
}, u = () => !!o?.querySelector(no), d = (e) => {
|
|
4051
4087
|
!a || u() || !c(e) || (i.has(e) || i.set(e, {
|
|
4052
4088
|
value: e.style.getPropertyValue("visibility"),
|
|
4053
4089
|
priority: e.style.getPropertyPriority("visibility")
|
|
4054
4090
|
}), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
|
|
4055
4091
|
}, f = () => {
|
|
4056
|
-
if (!(!a || u())) for (let e of n.querySelectorAll(
|
|
4092
|
+
if (!(!a || u())) for (let e of n.querySelectorAll(eo)) e instanceof r.HTMLElement && d(e);
|
|
4057
4093
|
}, p = () => {
|
|
4058
4094
|
!a || u() ? l() : f();
|
|
4059
4095
|
}, m = (e) => {
|
|
@@ -4068,14 +4104,14 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4068
4104
|
}), p();
|
|
4069
4105
|
}
|
|
4070
4106
|
}, h = () => {
|
|
4071
|
-
let e = n.querySelectorAll(
|
|
4107
|
+
let e = n.querySelectorAll(to);
|
|
4072
4108
|
return e.item(e.length - 1);
|
|
4073
4109
|
};
|
|
4074
4110
|
m(h());
|
|
4075
4111
|
let g = new r.MutationObserver((e) => {
|
|
4076
4112
|
let t = !1;
|
|
4077
4113
|
for (let n of e) {
|
|
4078
|
-
for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(
|
|
4114
|
+
for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(to) && (t = !0), d(e));
|
|
4079
4115
|
for (let e of n.removedNodes) e === o && (t = !0);
|
|
4080
4116
|
}
|
|
4081
4117
|
t && m(h());
|
|
@@ -4088,20 +4124,20 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4088
4124
|
p(), e.lifecycle.onDispose(() => {
|
|
4089
4125
|
g.disconnect(), s?.disconnect(), s = null, _.dispose(), l();
|
|
4090
4126
|
});
|
|
4091
|
-
},
|
|
4092
|
-
let e =
|
|
4127
|
+
}, io = () => {
|
|
4128
|
+
let e = Qa();
|
|
4093
4129
|
return {
|
|
4094
4130
|
...e,
|
|
4095
4131
|
async setup(t) {
|
|
4096
4132
|
await e.setup(t);
|
|
4097
|
-
let n = t.service.get(
|
|
4133
|
+
let n = t.service.get(ya);
|
|
4098
4134
|
if (!n) throw Error("Arrange presentation policy requires the Arrange service.");
|
|
4099
4135
|
let r = t.service.get("runtime:solid");
|
|
4100
4136
|
if (!r) throw Error("Arrange presentation policy requires the Solid renderer runtime.");
|
|
4101
|
-
|
|
4137
|
+
$a(t, n, r.ownerWindow), ro(t, r);
|
|
4102
4138
|
}
|
|
4103
4139
|
};
|
|
4104
|
-
},
|
|
4140
|
+
}, ao = (e, t, n, r) => ar({
|
|
4105
4141
|
id: `mesurer.${e}`,
|
|
4106
4142
|
version: "0.1.0",
|
|
4107
4143
|
provides: [`tool:${e}`],
|
|
@@ -4115,7 +4151,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4115
4151
|
command: `builtin.${e}`
|
|
4116
4152
|
});
|
|
4117
4153
|
}
|
|
4118
|
-
}),
|
|
4154
|
+
}), oo = () => ao("select", "Select", "S", 10), so = () => ao("xray", "X-ray", "X", 20), co = () => ao("color-picker", "Color picker", "P", 30), lo = () => ao("rulers", "Rulers", "R", 40), uo = () => ao("text-inspector", "Typography", "A", 50), fo = () => ao("guides", "Guides", "G", 60), po = () => ao("settings", "Settings", "⌘/Ctrl+,", 90), mo = () => ar({
|
|
4119
4155
|
id: "mesurer.distance",
|
|
4120
4156
|
version: "0.1.0",
|
|
4121
4157
|
provides: ["overlay:distance", "settings:selection-spacing"],
|
|
@@ -4131,21 +4167,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
4131
4167
|
order: 30
|
|
4132
4168
|
});
|
|
4133
4169
|
}
|
|
4134
|
-
}),
|
|
4135
|
-
io(),
|
|
4136
|
-
ao(),
|
|
4170
|
+
}), ho = () => [
|
|
4137
4171
|
oo(),
|
|
4138
4172
|
so(),
|
|
4139
4173
|
co(),
|
|
4140
4174
|
lo(),
|
|
4175
|
+
uo(),
|
|
4141
4176
|
fo(),
|
|
4142
|
-
|
|
4177
|
+
mo(),
|
|
4178
|
+
po()
|
|
4143
4179
|
];
|
|
4144
|
-
function
|
|
4180
|
+
function go(e = [], t = []) {
|
|
4145
4181
|
let n = new Set(t.map((e) => `mesurer.${e}`));
|
|
4146
|
-
return [...
|
|
4182
|
+
return [...ho().filter((e) => !n.has(e.id)), ...e];
|
|
4147
4183
|
}
|
|
4148
|
-
var
|
|
4184
|
+
var _o = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), vo = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), yo = (e, t, n, r, i) => {
|
|
4149
4185
|
let a = e.left + e.width, o = e.top + e.height, s = [
|
|
4150
4186
|
{
|
|
4151
4187
|
axis: "vertical",
|
|
@@ -4193,7 +4229,7 @@ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n =
|
|
|
4193
4229
|
}
|
|
4194
4230
|
];
|
|
4195
4231
|
return i ? s.sort((e, t) => t.space - e.space) : s;
|
|
4196
|
-
},
|
|
4232
|
+
}, bo = (e, t, n) => {
|
|
4197
4233
|
let r = [];
|
|
4198
4234
|
for (let i = 0; i <= n; i += 1) {
|
|
4199
4235
|
let n = i * t;
|
|
@@ -4219,14 +4255,14 @@ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n =
|
|
|
4219
4255
|
}
|
|
4220
4256
|
return r;
|
|
4221
4257
|
};
|
|
4222
|
-
function
|
|
4258
|
+
function xo(e, t, n = {}) {
|
|
4223
4259
|
let r = n.markerSize ?? 24, i = n.markerGap ?? 4, a = n.targetGap ?? 6, o = n.targetClearance ?? 2, s = n.viewportPadding ?? 4, c = n.obstacles ?? [], l = Math.max(0, n.maxShiftRings ?? 2), u = n.viewportAware ?? !1, d = r + i, f = Math.max(s, t.width - r - s), p = Math.max(s, t.height - r - s), m = [], h = e.map((e) => e.rect), g = [];
|
|
4224
4260
|
for (let n of e) {
|
|
4225
|
-
let e = /* @__PURE__ */ new Set(), _ = [], v =
|
|
4226
|
-
for (let t of
|
|
4261
|
+
let e = /* @__PURE__ */ new Set(), _ = [], v = yo(n.rect, t, r, a, u);
|
|
4262
|
+
for (let t of bo(v, d, l)) {
|
|
4227
4263
|
let n = u ? {
|
|
4228
|
-
left:
|
|
4229
|
-
top:
|
|
4264
|
+
left: _o(t.left, s, f),
|
|
4265
|
+
top: _o(t.top, s, p)
|
|
4230
4266
|
} : t, r = `${n.left}:${n.top}`;
|
|
4231
4267
|
e.has(r) || (e.add(r), _.push(n));
|
|
4232
4268
|
}
|
|
@@ -4236,21 +4272,21 @@ function yo(e, t, n = {}) {
|
|
|
4236
4272
|
width: r,
|
|
4237
4273
|
height: r
|
|
4238
4274
|
};
|
|
4239
|
-
return h.every((e) => !
|
|
4275
|
+
return h.every((e) => !vo(t, e, o)) && c.every((e) => !vo(t, e, i));
|
|
4240
4276
|
}), b = y.find((e) => {
|
|
4241
4277
|
let t = {
|
|
4242
4278
|
...e,
|
|
4243
4279
|
width: r,
|
|
4244
4280
|
height: r
|
|
4245
4281
|
};
|
|
4246
|
-
return m.every((e) => !
|
|
4282
|
+
return m.every((e) => !vo(t, e, i));
|
|
4247
4283
|
}) ?? y.find((e) => {
|
|
4248
4284
|
let t = {
|
|
4249
4285
|
...e,
|
|
4250
4286
|
width: r,
|
|
4251
4287
|
height: r
|
|
4252
4288
|
};
|
|
4253
|
-
return m.every((e) => !
|
|
4289
|
+
return m.every((e) => !vo(t, e));
|
|
4254
4290
|
}) ?? y[0] ?? _[0] ?? {
|
|
4255
4291
|
left: s,
|
|
4256
4292
|
top: s
|
|
@@ -4266,20 +4302,20 @@ function yo(e, t, n = {}) {
|
|
|
4266
4302
|
}
|
|
4267
4303
|
return g;
|
|
4268
4304
|
}
|
|
4269
|
-
var
|
|
4305
|
+
var So = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Co = 0, wo = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), To = (e) => {
|
|
4270
4306
|
let t = e.ownerDocument.defaultView?.HTMLElement;
|
|
4271
4307
|
return !!(t && e instanceof t);
|
|
4272
|
-
},
|
|
4273
|
-
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i =
|
|
4308
|
+
}, Eo = (e, t) => {
|
|
4309
|
+
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = wo(n);
|
|
4274
4310
|
i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
|
|
4275
4311
|
let a = !1;
|
|
4276
4312
|
return () => {
|
|
4277
4313
|
if (a) return;
|
|
4278
4314
|
a = !0;
|
|
4279
|
-
let i =
|
|
4315
|
+
let i = wo(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
|
|
4280
4316
|
i.length ? e.style.setProperty("anchor-name", i.join(", "), e.style.getPropertyPriority("anchor-name")) : n.trim() === "none" ? e.style.setProperty("anchor-name", n, r) : e.style.removeProperty("anchor-name");
|
|
4281
4317
|
};
|
|
4282
|
-
},
|
|
4318
|
+
}, Do = (e) => {
|
|
4283
4319
|
if (!e.length) return null;
|
|
4284
4320
|
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));
|
|
4285
4321
|
return {
|
|
@@ -4288,14 +4324,14 @@ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e)
|
|
|
4288
4324
|
width: r - t,
|
|
4289
4325
|
height: i - n
|
|
4290
4326
|
};
|
|
4291
|
-
},
|
|
4327
|
+
}, Oo = (e, t, n, r, i = 8) => {
|
|
4292
4328
|
let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
|
|
4293
4329
|
return {
|
|
4294
|
-
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c :
|
|
4295
|
-
top:
|
|
4330
|
+
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : So(e.left + e.width - t, 8, a),
|
|
4331
|
+
top: So(e.top, 8, o)
|
|
4296
4332
|
};
|
|
4297
|
-
},
|
|
4298
|
-
let a = r.innerWidth - t - 8, o =
|
|
4333
|
+
}, ko = (e, t, n, r, i = 8) => {
|
|
4334
|
+
let a = r.innerWidth - t - 8, o = So(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
|
|
4299
4335
|
if (s + n <= r.innerHeight - 8) return {
|
|
4300
4336
|
left: o,
|
|
4301
4337
|
top: s
|
|
@@ -4304,12 +4340,12 @@ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e)
|
|
|
4304
4340
|
return c >= 8 ? {
|
|
4305
4341
|
left: o,
|
|
4306
4342
|
top: c
|
|
4307
|
-
} :
|
|
4343
|
+
} : Oo(e, t, n, r, i);
|
|
4308
4344
|
};
|
|
4309
|
-
function
|
|
4310
|
-
let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++
|
|
4311
|
-
if (
|
|
4312
|
-
let t =
|
|
4345
|
+
function Ao(e) {
|
|
4346
|
+
let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++Co}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, te = null, P = null, ne = null, F = null, I = null, L = null, R = /* @__PURE__ */ new Map(), z = () => ee?.ownerDocument.defaultView ?? window, B = () => e.coordinateSpace === "viewport", V = (e) => e ? "native-anchor" : B() ? "cached-delta" : "document", re = (e) => {
|
|
4347
|
+
if (B()) return e;
|
|
4348
|
+
let t = z();
|
|
4313
4349
|
return {
|
|
4314
4350
|
left: e.left + t.scrollX,
|
|
4315
4351
|
top: e.top + t.scrollY
|
|
@@ -4323,7 +4359,7 @@ function Oo(e) {
|
|
|
4323
4359
|
}, ie = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height, U = () => {
|
|
4324
4360
|
A = null, v(""), g(!1), b(null), m(null);
|
|
4325
4361
|
}, ae = () => {
|
|
4326
|
-
let e =
|
|
4362
|
+
let e = z();
|
|
4327
4363
|
return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
|
|
4328
4364
|
}, W = () => {
|
|
4329
4365
|
let t = e.runtime.currentSelection().elements;
|
|
@@ -4332,18 +4368,18 @@ function Oo(e) {
|
|
|
4332
4368
|
return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
|
|
4333
4369
|
}, oe = () => ee?.parentElement, se = () => {
|
|
4334
4370
|
let e = oe();
|
|
4335
|
-
return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N ||
|
|
4371
|
+
return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N || P === null) : [];
|
|
4336
4372
|
}, ce = (e) => {
|
|
4337
4373
|
let t = oe();
|
|
4338
4374
|
return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
|
|
4339
4375
|
}, le = (e) => {
|
|
4340
|
-
let t =
|
|
4341
|
-
t && (t.scroll.release(), t.releaseAnchor?.(),
|
|
4376
|
+
let t = R.get(e);
|
|
4377
|
+
t && (t.scroll.release(), t.releaseAnchor?.(), R.delete(e));
|
|
4342
4378
|
}, ue = (t) => {
|
|
4343
4379
|
let n = e.runtime.annotation(t);
|
|
4344
4380
|
return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
|
|
4345
|
-
}, de = (e) => !!(
|
|
4346
|
-
let t = ue(e), n =
|
|
4381
|
+
}, de = (e) => !!(To(e) && B() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
|
|
4382
|
+
let t = ue(e), n = R.get(e);
|
|
4347
4383
|
if (!t) {
|
|
4348
4384
|
n && (le(e), i((e) => e + 1));
|
|
4349
4385
|
return;
|
|
@@ -4356,65 +4392,65 @@ function Oo(e) {
|
|
|
4356
4392
|
le(e);
|
|
4357
4393
|
let a = t.ownerDocument.defaultView;
|
|
4358
4394
|
if (a) {
|
|
4359
|
-
if (r &&
|
|
4360
|
-
let n = `--mesurer-annotation-${++
|
|
4361
|
-
|
|
4395
|
+
if (r && To(t)) {
|
|
4396
|
+
let n = `--mesurer-annotation-${++Co}`;
|
|
4397
|
+
R.set(e, {
|
|
4362
4398
|
target: t,
|
|
4363
4399
|
anchorName: n,
|
|
4364
|
-
releaseAnchor:
|
|
4365
|
-
scroll:
|
|
4400
|
+
releaseAnchor: Eo(t, n),
|
|
4401
|
+
scroll: ri(a, t, () => ce(e), { trackWindow: !1 })
|
|
4366
4402
|
});
|
|
4367
|
-
} else
|
|
4403
|
+
} else R.set(e, {
|
|
4368
4404
|
target: t,
|
|
4369
4405
|
anchorName: null,
|
|
4370
4406
|
releaseAnchor: null,
|
|
4371
|
-
scroll:
|
|
4407
|
+
scroll: ri(a, t, () => ce(e), { trackWindow: B() })
|
|
4372
4408
|
});
|
|
4373
4409
|
i((e) => e + 1);
|
|
4374
4410
|
}
|
|
4375
4411
|
}, pe = () => {
|
|
4376
4412
|
let t = new Set(e.runtime.annotations().map((e) => e.id));
|
|
4377
|
-
for (let e of
|
|
4413
|
+
for (let e of R.keys()) t.has(e) || le(e);
|
|
4378
4414
|
for (let e of t) fe(e);
|
|
4379
4415
|
}, me = (e) => {
|
|
4380
|
-
|
|
4416
|
+
z().queueMicrotask(() => fe(e));
|
|
4381
4417
|
}, he = () => {
|
|
4382
|
-
|
|
4418
|
+
z().queueMicrotask(() => {
|
|
4383
4419
|
pe();
|
|
4384
|
-
for (let e of
|
|
4420
|
+
for (let e of R.values()) e.anchorName || e.scroll.rebase();
|
|
4385
4421
|
});
|
|
4386
4422
|
};
|
|
4387
4423
|
e.initialTriggerFallback && (O = W());
|
|
4388
4424
|
let ge = () => {
|
|
4389
|
-
|
|
4390
|
-
}, _e = (e) => !!(
|
|
4425
|
+
F?.release(), F = null, ne?.(), ne = null, te = null, P = null;
|
|
4426
|
+
}, _e = (e) => !!(To(e) && B() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
|
|
4391
4427
|
let e = W();
|
|
4392
4428
|
O && e !== O && (O = null);
|
|
4393
|
-
let t =
|
|
4394
|
-
if (e ===
|
|
4395
|
-
|
|
4429
|
+
let t = te, n = !!(e?.isConnected && _e(e)), r = P === e;
|
|
4430
|
+
if (e === te && e?.isConnected && n === r) {
|
|
4431
|
+
F?.sync();
|
|
4396
4432
|
return;
|
|
4397
4433
|
}
|
|
4398
|
-
let i = e === t ? D : `--mesurer-annotation-trigger-${++
|
|
4434
|
+
let i = e === t ? D : `--mesurer-annotation-trigger-${++Co}`;
|
|
4399
4435
|
if (ge(), !e?.isConnected) return;
|
|
4400
|
-
|
|
4436
|
+
te = e;
|
|
4401
4437
|
let a = e.ownerDocument.defaultView;
|
|
4402
4438
|
if (a) {
|
|
4403
|
-
if (n &&
|
|
4404
|
-
|
|
4439
|
+
if (n && To(e)) {
|
|
4440
|
+
ne = Eo(e, i), P = e, D = i, F = ri(a, e, se, { trackWindow: !1 });
|
|
4405
4441
|
return;
|
|
4406
4442
|
}
|
|
4407
|
-
D = i,
|
|
4443
|
+
D = i, F = ri(a, e, se, { trackWindow: B() });
|
|
4408
4444
|
}
|
|
4409
4445
|
}, ye = (e) => {
|
|
4410
|
-
if (
|
|
4446
|
+
if (I?.disconnect(), I = null, !e?.isConnected) return;
|
|
4411
4447
|
let t = e.ownerDocument.defaultView;
|
|
4412
|
-
t && (
|
|
4448
|
+
t && (I = new t.ResizeObserver(() => {
|
|
4413
4449
|
i((e) => e + 1);
|
|
4414
|
-
}),
|
|
4450
|
+
}), I.observe(e));
|
|
4415
4451
|
}, be = () => {
|
|
4416
|
-
let e =
|
|
4417
|
-
|
|
4452
|
+
let e = z();
|
|
4453
|
+
L !== e && (L?.removeEventListener("resize", xe), L = e, L.addEventListener("resize", xe, { passive: !0 }));
|
|
4418
4454
|
};
|
|
4419
4455
|
function xe() {
|
|
4420
4456
|
i((e) => e + 1);
|
|
@@ -4427,9 +4463,9 @@ function Oo(e) {
|
|
|
4427
4463
|
let r = W(), i = r !== Se;
|
|
4428
4464
|
i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), he();
|
|
4429
4465
|
});
|
|
4430
|
-
ve(),
|
|
4431
|
-
|
|
4432
|
-
for (let e of
|
|
4466
|
+
ve(), z().queueMicrotask(pe), St(() => {
|
|
4467
|
+
I?.disconnect(), I = null, L?.removeEventListener("resize", xe), L = null, ge();
|
|
4468
|
+
for (let e of R.keys()) le(e);
|
|
4433
4469
|
Ce();
|
|
4434
4470
|
});
|
|
4435
4471
|
let we = Gt(() => (t(), e.runtime.currentSelection())), Te = Gt(() => (t(), e.runtime.annotations())), Ee = Gt(() => {
|
|
@@ -4470,7 +4506,7 @@ function Oo(e) {
|
|
|
4470
4506
|
};
|
|
4471
4507
|
});
|
|
4472
4508
|
return e.region && t.push({ ...e.region }), t;
|
|
4473
|
-
}), Ne = Gt(() =>
|
|
4509
|
+
}), Ne = Gt(() => Do(Me())), Pe = () => {
|
|
4474
4510
|
let e = we().elements.length;
|
|
4475
4511
|
return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
|
|
4476
4512
|
}, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
|
|
@@ -4487,12 +4523,12 @@ function Oo(e) {
|
|
|
4487
4523
|
top: t.top,
|
|
4488
4524
|
width: t.width,
|
|
4489
4525
|
height: t.height
|
|
4490
|
-
}, r =
|
|
4526
|
+
}, r = z(), i = [...ut(Re).values()].map((e) => ({
|
|
4491
4527
|
left: e.left,
|
|
4492
4528
|
top: e.top,
|
|
4493
4529
|
width: 24,
|
|
4494
4530
|
height: 24
|
|
4495
|
-
})), [a] =
|
|
4531
|
+
})), [a] = xo([{
|
|
4496
4532
|
id: "selection-note-trigger",
|
|
4497
4533
|
rect: n
|
|
4498
4534
|
}], {
|
|
@@ -4501,7 +4537,7 @@ function Oo(e) {
|
|
|
4501
4537
|
}, {
|
|
4502
4538
|
obstacles: i,
|
|
4503
4539
|
maxShiftRings: 1
|
|
4504
|
-
}), o = a?.left ??
|
|
4540
|
+
}), o = a?.left ?? So(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? So(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = B() && !c;
|
|
4505
4541
|
return {
|
|
4506
4542
|
left: c || l ? o : o + r.scrollX,
|
|
4507
4543
|
top: c || l ? s : s + r.scrollY,
|
|
@@ -4512,20 +4548,20 @@ function Oo(e) {
|
|
|
4512
4548
|
};
|
|
4513
4549
|
}, Re = Gt(() => {
|
|
4514
4550
|
t(), r();
|
|
4515
|
-
let n =
|
|
4551
|
+
let n = z(), i = Te().flatMap((t) => {
|
|
4516
4552
|
let n = e.runtime.annotationRect(t.id);
|
|
4517
4553
|
return n ? [{
|
|
4518
4554
|
id: t.id,
|
|
4519
4555
|
rect: n
|
|
4520
4556
|
}] : [];
|
|
4521
4557
|
});
|
|
4522
|
-
return new Map(
|
|
4558
|
+
return new Map(xo(i, {
|
|
4523
4559
|
width: n.innerWidth,
|
|
4524
4560
|
height: n.innerHeight
|
|
4525
4561
|
}, { obstacles: Me() }).map((e) => [e.id, e]));
|
|
4526
4562
|
}), ze = (e) => Re().get(e) ?? null, Be = (e, t) => {
|
|
4527
4563
|
r();
|
|
4528
|
-
let n =
|
|
4564
|
+
let n = R.get(e);
|
|
4529
4565
|
if (!n?.anchorName || !n.target.isConnected) return {
|
|
4530
4566
|
...re(t),
|
|
4531
4567
|
nativeAnchor: !1
|
|
@@ -4539,18 +4575,18 @@ function Oo(e) {
|
|
|
4539
4575
|
anchorY: t.top - i.top
|
|
4540
4576
|
};
|
|
4541
4577
|
}, Ve = () => {
|
|
4542
|
-
let e = Ne(), t =
|
|
4578
|
+
let e = Ne(), t = z(), n = p();
|
|
4543
4579
|
return n && e ? {
|
|
4544
4580
|
left: e.left + n.left,
|
|
4545
4581
|
top: e.top + n.top
|
|
4546
|
-
} : e ?
|
|
4582
|
+
} : e ? ko(e, 272, 168, t) : {
|
|
4547
4583
|
left: 8,
|
|
4548
4584
|
top: 8
|
|
4549
4585
|
};
|
|
4550
4586
|
}, He = () => {
|
|
4551
4587
|
r();
|
|
4552
4588
|
let e = Ve(), t = Ie();
|
|
4553
|
-
if (!t?.isConnected ||
|
|
4589
|
+
if (!t?.isConnected || P !== t) return {
|
|
4554
4590
|
...re(e),
|
|
4555
4591
|
nativeAnchor: !1
|
|
4556
4592
|
};
|
|
@@ -4563,8 +4599,8 @@ function Oo(e) {
|
|
|
4563
4599
|
anchorY: e.top - n.top
|
|
4564
4600
|
};
|
|
4565
4601
|
}, Ue = (e, t) => {
|
|
4566
|
-
let n =
|
|
4567
|
-
if (!i) return
|
|
4602
|
+
let n = z(), r = Re(), i = r.get(e);
|
|
4603
|
+
if (!i) return Oo(t, 272, 176, n);
|
|
4568
4604
|
let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
|
|
4569
4605
|
left: e.left,
|
|
4570
4606
|
top: e.top,
|
|
@@ -4590,8 +4626,8 @@ function Oo(e) {
|
|
|
4590
4626
|
}
|
|
4591
4627
|
]) {
|
|
4592
4628
|
let t = {
|
|
4593
|
-
left:
|
|
4594
|
-
top:
|
|
4629
|
+
left: So(e.left, 8, a),
|
|
4630
|
+
top: So(e.top, 8, o)
|
|
4595
4631
|
}, n = `${t.left}:${t.top}`;
|
|
4596
4632
|
l.has(n) || (l.add(n), u.push(t));
|
|
4597
4633
|
}
|
|
@@ -4607,7 +4643,7 @@ function Oo(e) {
|
|
|
4607
4643
|
targetOverlap: c(r, t),
|
|
4608
4644
|
index: n
|
|
4609
4645
|
};
|
|
4610
|
-
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ??
|
|
4646
|
+
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Oo(t, 272, 176, n);
|
|
4611
4647
|
}, We = (t) => {
|
|
4612
4648
|
let n = e.runtime.annotationRect(t);
|
|
4613
4649
|
if (!n) return {
|
|
@@ -4620,7 +4656,7 @@ function Oo(e) {
|
|
|
4620
4656
|
top: n.top + r.top
|
|
4621
4657
|
} : Ue(t, n);
|
|
4622
4658
|
}, Ge = (t) => {
|
|
4623
|
-
|
|
4659
|
+
z().queueMicrotask(() => {
|
|
4624
4660
|
let n = e.runtime.annotationRect(t);
|
|
4625
4661
|
n && f((e) => {
|
|
4626
4662
|
if (e[t]) return e;
|
|
@@ -4641,7 +4677,7 @@ function Oo(e) {
|
|
|
4641
4677
|
if (t.button !== 0 || r && i instanceof r && i.closest("button")) return;
|
|
4642
4678
|
let a = t.currentTarget.parentElement;
|
|
4643
4679
|
if (!a) return;
|
|
4644
|
-
let o = a.getBoundingClientRect(), s =
|
|
4680
|
+
let o = a.getBoundingClientRect(), s = z(), c = s.document.documentElement, l = c.style.userSelect;
|
|
4645
4681
|
c.style.setProperty("user-select", "none", "important"), j = {
|
|
4646
4682
|
surfaceId: n,
|
|
4647
4683
|
pointerId: t.pointerId,
|
|
@@ -4655,8 +4691,8 @@ function Oo(e) {
|
|
|
4655
4691
|
let u = (t) => {
|
|
4656
4692
|
if (!j || t.pointerId !== j.pointerId) return;
|
|
4657
4693
|
let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
|
|
4658
|
-
left:
|
|
4659
|
-
top:
|
|
4694
|
+
left: So(r.originLeft + t.clientX - r.startX, 8, i),
|
|
4695
|
+
top: So(r.originTop + t.clientY - r.startY, 8, a)
|
|
4660
4696
|
};
|
|
4661
4697
|
if (n === "composer") {
|
|
4662
4698
|
let e = Ne();
|
|
@@ -4701,13 +4737,13 @@ function Oo(e) {
|
|
|
4701
4737
|
k = !1, A = H(), v(""), b(null), w(null), o(null);
|
|
4702
4738
|
let e = Ne();
|
|
4703
4739
|
if (e) {
|
|
4704
|
-
let t =
|
|
4740
|
+
let t = ko(e, 272, 168, z());
|
|
4705
4741
|
m({
|
|
4706
4742
|
left: t.left - e.left,
|
|
4707
4743
|
top: t.top - e.top
|
|
4708
4744
|
});
|
|
4709
4745
|
} else m(null);
|
|
4710
|
-
g(!0),
|
|
4746
|
+
g(!0), z().queueMicrotask(() => F?.sync());
|
|
4711
4747
|
}, Qe = () => {
|
|
4712
4748
|
let e = h();
|
|
4713
4749
|
A !== null && !ie(A, H()) ? (O = W(), k = !1, ve(), xe()) : e && (k = !1), Xe();
|
|
@@ -4764,10 +4800,10 @@ function Oo(e) {
|
|
|
4764
4800
|
}
|
|
4765
4801
|
});
|
|
4766
4802
|
return nr(() => (e) => {
|
|
4767
|
-
N = e,
|
|
4768
|
-
}, t), Z(t, J(
|
|
4769
|
-
e:
|
|
4770
|
-
t:
|
|
4803
|
+
N = e, F?.sync();
|
|
4804
|
+
}, t), Z(t, J(xi, { size: 14 })), q(() => ({
|
|
4805
|
+
e: B() ? "viewport" : "document",
|
|
4806
|
+
t: V(e().nativeAnchor),
|
|
4771
4807
|
a: {
|
|
4772
4808
|
position: e().nativeAnchor || e().viewportOwned ? "fixed" : "absolute",
|
|
4773
4809
|
left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
|
|
@@ -4830,10 +4866,10 @@ function Oo(e) {
|
|
|
4830
4866
|
class: "msr:h-7 msr:rounded-[7px] msr:border-0 msr:bg-[#0d99ff] msr:px-2.5 msr:text-[11px] msr:font-medium msr:text-white msr:hover:bg-[#0b8eea]",
|
|
4831
4867
|
onClick: et
|
|
4832
4868
|
});
|
|
4833
|
-
return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(
|
|
4869
|
+
return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(xi, {
|
|
4834
4870
|
size: 14,
|
|
4835
4871
|
class: "msr:text-ink-700"
|
|
4836
|
-
}), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(
|
|
4872
|
+
}), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(Ci, { size: 14 })), Z(t, J(Xt, {
|
|
4837
4873
|
get when() {
|
|
4838
4874
|
return y();
|
|
4839
4875
|
},
|
|
@@ -4842,10 +4878,10 @@ function Oo(e) {
|
|
|
4842
4878
|
return Z(t, e), t;
|
|
4843
4879
|
})()
|
|
4844
4880
|
}), c), X(c, l), X(c, u), X(l, Qn("⌘/Ctrl ↵")), X(u, d), X(u, f), X(d, Qn("Cancel")), X(f, Qn("Add note")), q(() => ({
|
|
4845
|
-
e:
|
|
4846
|
-
t:
|
|
4881
|
+
e: B() ? "viewport" : "document",
|
|
4882
|
+
t: V(e().nativeAnchor),
|
|
4847
4883
|
a: {
|
|
4848
|
-
position: e().nativeAnchor ||
|
|
4884
|
+
position: e().nativeAnchor || B() ? "fixed" : "absolute",
|
|
4849
4885
|
left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
|
|
4850
4886
|
top: e().nativeAnchor ? `calc(anchor(top) + ${e().anchorY}px)` : `${e().top}px`,
|
|
4851
4887
|
translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
|
|
@@ -4888,9 +4924,9 @@ function Oo(e) {
|
|
|
4888
4924
|
});
|
|
4889
4925
|
return q(() => ({
|
|
4890
4926
|
e: t() ?? void 0,
|
|
4891
|
-
t:
|
|
4927
|
+
t: V(n().nativeAnchor),
|
|
4892
4928
|
a: {
|
|
4893
|
-
position: n().nativeAnchor ||
|
|
4929
|
+
position: n().nativeAnchor || B() ? "fixed" : "absolute",
|
|
4894
4930
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
4895
4931
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
4896
4932
|
width: `${e.width}px`,
|
|
@@ -4950,13 +4986,13 @@ function Oo(e) {
|
|
|
4950
4986
|
t: t() + 1,
|
|
4951
4987
|
a: i() ? "true" : void 0,
|
|
4952
4988
|
o: o() ? "true" : void 0,
|
|
4953
|
-
i:
|
|
4954
|
-
n:
|
|
4989
|
+
i: V(n().nativeAnchor),
|
|
4990
|
+
n: B() ? "viewport" : "document",
|
|
4955
4991
|
s: `Mesurer annotation ${t() + 1}: ${e.note}`,
|
|
4956
4992
|
h: e.note,
|
|
4957
4993
|
r: a() === e.id ? "true" : "false",
|
|
4958
4994
|
d: {
|
|
4959
|
-
position: n().nativeAnchor ||
|
|
4995
|
+
position: n().nativeAnchor || B() ? "fixed" : "absolute",
|
|
4960
4996
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
4961
4997
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
4962
4998
|
opacity: o() ? "0.36" : "1",
|
|
@@ -5033,7 +5069,7 @@ function Oo(e) {
|
|
|
5033
5069
|
o(null), w(null);
|
|
5034
5070
|
}
|
|
5035
5071
|
}), y = Y("div", { class: "msr:mx-1 msr:mt-1 msr:max-h-36 msr:overflow-auto msr:whitespace-pre-wrap msr:rounded-[7px] msr:bg-ink-50 msr:px-2 msr:py-2 msr:text-[12px] msr:leading-[1.45] msr:text-ink-800" });
|
|
5036
|
-
return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(
|
|
5072
|
+
return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(bi, { size: 14 })), Z(_, J(Si, { size: 14 })), Z(v, J(Ci, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
|
|
5037
5073
|
get when() {
|
|
5038
5074
|
return C();
|
|
5039
5075
|
},
|
|
@@ -5046,10 +5082,10 @@ function Oo(e) {
|
|
|
5046
5082
|
})()
|
|
5047
5083
|
}), null), q(() => ({
|
|
5048
5084
|
e: t().id,
|
|
5049
|
-
t:
|
|
5050
|
-
a:
|
|
5085
|
+
t: V(n().nativeAnchor),
|
|
5086
|
+
a: B() ? "viewport" : "document",
|
|
5051
5087
|
o: {
|
|
5052
|
-
position: n().nativeAnchor ||
|
|
5088
|
+
position: n().nativeAnchor || B() ? "fixed" : "absolute",
|
|
5053
5089
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
5054
5090
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
5055
5091
|
translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
|
|
@@ -5065,11 +5101,11 @@ function Oo(e) {
|
|
|
5065
5101
|
})
|
|
5066
5102
|
];
|
|
5067
5103
|
}
|
|
5068
|
-
function
|
|
5104
|
+
function jo(e) {
|
|
5069
5105
|
let t = null;
|
|
5070
|
-
return St(
|
|
5106
|
+
return St(Fi(e.ownerWindow, () => {
|
|
5071
5107
|
t?.abandonNoteComposer();
|
|
5072
|
-
})), J(
|
|
5108
|
+
})), J(Ao, {
|
|
5073
5109
|
get runtime() {
|
|
5074
5110
|
return e.runtime;
|
|
5075
5111
|
},
|
|
@@ -5087,11 +5123,11 @@ function ko(e) {
|
|
|
5087
5123
|
}
|
|
5088
5124
|
});
|
|
5089
5125
|
}
|
|
5090
|
-
var
|
|
5091
|
-
function
|
|
5126
|
+
var Mo = "2147482950", No = "2147483646", Po = "2147483647";
|
|
5127
|
+
function Fo(e) {
|
|
5092
5128
|
let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
|
|
5093
5129
|
if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
|
|
5094
|
-
|
|
5130
|
+
zi(ha, i);
|
|
5095
5131
|
let a = t.createElement("div");
|
|
5096
5132
|
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerDocumentInspectorMount = "true", a.dataset.theme = e.theme?.() ?? "system";
|
|
5097
5133
|
let o = e.subscribeTheme?.((e) => {
|
|
@@ -5109,17 +5145,17 @@ function No(e) {
|
|
|
5109
5145
|
s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
|
|
5110
5146
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
|
|
5111
5147
|
position: absolute !important;
|
|
5112
|
-
z-index: ${
|
|
5148
|
+
z-index: ${Mo} !important;
|
|
5113
5149
|
}
|
|
5114
5150
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
|
|
5115
5151
|
position: absolute !important;
|
|
5116
|
-
z-index: ${
|
|
5152
|
+
z-index: ${No} !important;
|
|
5117
5153
|
}
|
|
5118
5154
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
|
|
5119
5155
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
|
|
5120
5156
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
|
|
5121
5157
|
position: absolute !important;
|
|
5122
|
-
z-index: ${
|
|
5158
|
+
z-index: ${Po} !important;
|
|
5123
5159
|
}
|
|
5124
5160
|
`, t.head.append(s), i.append(a);
|
|
5125
5161
|
let c = !1;
|
|
@@ -5130,8 +5166,8 @@ function No(e) {
|
|
|
5130
5166
|
}
|
|
5131
5167
|
};
|
|
5132
5168
|
}
|
|
5133
|
-
var
|
|
5134
|
-
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i =
|
|
5169
|
+
var Io = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Lo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Ro = (e) => {
|
|
5170
|
+
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = Lo(e.align);
|
|
5135
5171
|
return {
|
|
5136
5172
|
position: "absolute",
|
|
5137
5173
|
inset: "0",
|
|
@@ -5152,7 +5188,7 @@ var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
|
|
|
5152
5188
|
transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
|
|
5153
5189
|
};
|
|
5154
5190
|
};
|
|
5155
|
-
function
|
|
5191
|
+
function zo(e) {
|
|
5156
5192
|
let t = () => e.guides.filter((e) => e.visible);
|
|
5157
5193
|
return J(Xt, {
|
|
5158
5194
|
get when() {
|
|
@@ -5187,7 +5223,7 @@ function Lo(e) {
|
|
|
5187
5223
|
"min-height": "0",
|
|
5188
5224
|
width: "100%",
|
|
5189
5225
|
height: "100%",
|
|
5190
|
-
"background-color":
|
|
5226
|
+
"background-color": Io(e)
|
|
5191
5227
|
}), (e, n) => {
|
|
5192
5228
|
Q(t, "style", e, n);
|
|
5193
5229
|
}), t;
|
|
@@ -5195,7 +5231,7 @@ function Lo(e) {
|
|
|
5195
5231
|
})), q(() => ({
|
|
5196
5232
|
e: e.id,
|
|
5197
5233
|
t: e.kind,
|
|
5198
|
-
a:
|
|
5234
|
+
a: Ro(e)
|
|
5199
5235
|
}), ({ e, t: n, a: r }, i) => {
|
|
5200
5236
|
e !== i?.e && Q(t, "data-mesurer-layout-guide", e, i?.e), n !== i?.t && Q(t, "data-mesurer-layout-guide-kind", n, i?.t), r !== i?.a && Q(t, "style", r, i?.a);
|
|
5201
5237
|
}), t;
|
|
@@ -5208,7 +5244,7 @@ function Lo(e) {
|
|
|
5208
5244
|
return q(() => ({
|
|
5209
5245
|
e: e.id,
|
|
5210
5246
|
t: {
|
|
5211
|
-
"background-image": `linear-gradient(to right, ${
|
|
5247
|
+
"background-image": `linear-gradient(to right, ${Io(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Io(e)} 1px, transparent 1px)`,
|
|
5212
5248
|
"background-size": `${e.size}px ${e.size}px`
|
|
5213
5249
|
}
|
|
5214
5250
|
}), ({ e, t: n }, r) => {
|
|
@@ -5220,34 +5256,34 @@ function Lo(e) {
|
|
|
5220
5256
|
}
|
|
5221
5257
|
});
|
|
5222
5258
|
}
|
|
5223
|
-
var
|
|
5259
|
+
var Bo = "#FF0000", Vo = .1, Ho = /* @__PURE__ */ new Set([
|
|
5224
5260
|
"columns",
|
|
5225
5261
|
"rows",
|
|
5226
5262
|
"grid"
|
|
5227
|
-
]),
|
|
5263
|
+
]), Uo = /* @__PURE__ */ new Set([
|
|
5228
5264
|
"stretch",
|
|
5229
5265
|
"min",
|
|
5230
5266
|
"center",
|
|
5231
5267
|
"max"
|
|
5232
|
-
]),
|
|
5233
|
-
let t = e.kind &&
|
|
5268
|
+
]), Wo = (e, t, n) => Math.min(n, Math.max(t, e)), Go = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Ko = (e = {}) => {
|
|
5269
|
+
let t = e.kind && Ho.has(e.kind) ? e.kind : "columns", n = e.align && Uo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
|
|
5234
5270
|
return {
|
|
5235
5271
|
id: r || Wr(),
|
|
5236
5272
|
kind: t,
|
|
5237
5273
|
visible: e.visible ?? !0,
|
|
5238
5274
|
color: i || "#FF0000",
|
|
5239
|
-
opacity:
|
|
5240
|
-
count:
|
|
5241
|
-
size:
|
|
5242
|
-
gutter:
|
|
5243
|
-
offset:
|
|
5275
|
+
opacity: Wo(Go(e.opacity, Vo), 0, 1),
|
|
5276
|
+
count: Wo(Math.round(Go(e.count, 5)), 1, 24),
|
|
5277
|
+
size: Wo(Go(e.size, 72), 1, 4096),
|
|
5278
|
+
gutter: Wo(Go(e.gutter, 20), 0, 800),
|
|
5279
|
+
offset: Wo(Go(e.offset, 0), 0, 4096),
|
|
5244
5280
|
align: n
|
|
5245
5281
|
};
|
|
5246
|
-
},
|
|
5282
|
+
}, qo = (e) => (e ?? []).map(Ko), Jo = (e) => {
|
|
5247
5283
|
if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
|
|
5248
5284
|
let t = e.kind === "columns" ? "columns" : "rows";
|
|
5249
5285
|
return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
|
|
5250
|
-
},
|
|
5286
|
+
}, Yo = (e) => (() => {
|
|
5251
5287
|
var t = Y("svg", {
|
|
5252
5288
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5253
5289
|
viewBox: "0 0 24 24",
|
|
@@ -5266,22 +5302,22 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5266
5302
|
}), ({ e, t: n }, r) => {
|
|
5267
5303
|
e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
|
|
5268
5304
|
}), t;
|
|
5269
|
-
})(),
|
|
5305
|
+
})(), Xo = (e) => e.kind === "rows" ? J(gi, { size: 14 }) : e.kind === "grid" ? J(mi, { size: 14 }) : J(hi, { size: 14 }), Zo = "msr:grid-cols-[78px_minmax(0,1fr)]", Qo = (e) => (() => {
|
|
5270
5306
|
var t = Y("label", { class: "msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700" }), n = Y("span");
|
|
5271
5307
|
return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
|
|
5272
|
-
})(),
|
|
5308
|
+
})(), $o = (e) => (() => {
|
|
5273
5309
|
var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
|
|
5274
|
-
class:
|
|
5310
|
+
class: ai,
|
|
5275
5311
|
onPointerDown: (e) => e.stopPropagation(),
|
|
5276
5312
|
onChange: (t) => e.onChange(t.currentTarget.value)
|
|
5277
5313
|
});
|
|
5278
|
-
return X(t, n), Z(n, () => e.children), Z(t, J(
|
|
5314
|
+
return X(t, n), Z(n, () => e.children), Z(t, J(oi, {}), null), q(() => ({
|
|
5279
5315
|
e: e.label,
|
|
5280
5316
|
t: e.value
|
|
5281
5317
|
}), ({ e, t }, r) => {
|
|
5282
5318
|
e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
|
|
5283
5319
|
}), t;
|
|
5284
|
-
})(),
|
|
5320
|
+
})(), es = (e) => {
|
|
5285
5321
|
let [t, n] = K(!1), [r, i] = K(String(e.value)), a = () => e.min ?? 0, o = () => e.max ?? 9999, s = (e) => Math.min(o(), Math.max(a(), e)), c = (t) => {
|
|
5286
5322
|
let n = Number(t.replace(/[^\d.-]/g, ""));
|
|
5287
5323
|
if (!Number.isFinite(n)) {
|
|
@@ -5290,7 +5326,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5290
5326
|
}
|
|
5291
5327
|
e.onChange(s(n));
|
|
5292
5328
|
};
|
|
5293
|
-
return J(
|
|
5329
|
+
return J(si, { get left() {
|
|
5294
5330
|
var a = Y("input", {
|
|
5295
5331
|
type: "text",
|
|
5296
5332
|
inputmode: "numeric",
|
|
@@ -5322,7 +5358,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5322
5358
|
e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
|
|
5323
5359
|
}), a;
|
|
5324
5360
|
} });
|
|
5325
|
-
},
|
|
5361
|
+
}, ts = (e) => e === "rows" || e === "grid" ? e : "columns", ns = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", rs = (e) => {
|
|
5326
5362
|
let t = Gt(() => e.guide.kind === "rows" ? {
|
|
5327
5363
|
stretch: "Stretch",
|
|
5328
5364
|
min: "Top",
|
|
@@ -5339,13 +5375,13 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5339
5375
|
"aria-label": "Back to layout guides",
|
|
5340
5376
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
|
|
5341
5377
|
});
|
|
5342
|
-
return X(r, i), X(i, a), Z(i, J(
|
|
5378
|
+
return X(r, i), X(i, a), Z(i, J($o, {
|
|
5343
5379
|
label: "Layout guide type",
|
|
5344
5380
|
get value() {
|
|
5345
5381
|
return e.guide.kind;
|
|
5346
5382
|
},
|
|
5347
5383
|
onChange: (t) => {
|
|
5348
|
-
let n =
|
|
5384
|
+
let n = ts(t);
|
|
5349
5385
|
e.onUpdate({
|
|
5350
5386
|
kind: n,
|
|
5351
5387
|
align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
|
|
@@ -5367,15 +5403,15 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5367
5403
|
})()
|
|
5368
5404
|
];
|
|
5369
5405
|
}
|
|
5370
|
-
}), a), Z(a, J(
|
|
5406
|
+
}), a), Z(a, J(Yo, {})), Z(r, J(Xt, {
|
|
5371
5407
|
get when() {
|
|
5372
5408
|
return e.guide.kind !== "grid";
|
|
5373
5409
|
},
|
|
5374
5410
|
get children() {
|
|
5375
|
-
return J(
|
|
5411
|
+
return J(Qo, {
|
|
5376
5412
|
label: "Count",
|
|
5377
5413
|
get children() {
|
|
5378
|
-
return J(
|
|
5414
|
+
return J(es, {
|
|
5379
5415
|
label: "Count",
|
|
5380
5416
|
get value() {
|
|
5381
5417
|
return e.guide.count;
|
|
@@ -5387,16 +5423,16 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5387
5423
|
}
|
|
5388
5424
|
});
|
|
5389
5425
|
}
|
|
5390
|
-
}), null), Z(r, J(
|
|
5426
|
+
}), null), Z(r, J(ci, {
|
|
5391
5427
|
label: "Color",
|
|
5392
|
-
columns:
|
|
5428
|
+
columns: Zo,
|
|
5393
5429
|
get value() {
|
|
5394
5430
|
return dr({
|
|
5395
5431
|
...lr(e.guide.color) ?? lr("#FF0000"),
|
|
5396
5432
|
alpha: e.guide.opacity
|
|
5397
5433
|
});
|
|
5398
5434
|
},
|
|
5399
|
-
fallback:
|
|
5435
|
+
fallback: Bo,
|
|
5400
5436
|
get ownerWindow() {
|
|
5401
5437
|
return e.ownerWindow;
|
|
5402
5438
|
},
|
|
@@ -5415,15 +5451,15 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5415
5451
|
return e.guide.kind !== "grid";
|
|
5416
5452
|
},
|
|
5417
5453
|
get children() {
|
|
5418
|
-
return J(
|
|
5454
|
+
return J(Qo, {
|
|
5419
5455
|
label: "Type",
|
|
5420
5456
|
get children() {
|
|
5421
|
-
return J(
|
|
5457
|
+
return J($o, {
|
|
5422
5458
|
label: "Alignment",
|
|
5423
5459
|
get value() {
|
|
5424
5460
|
return e.guide.align;
|
|
5425
5461
|
},
|
|
5426
|
-
onChange: (t) => e.onUpdate({ align:
|
|
5462
|
+
onChange: (t) => e.onUpdate({ align: ns(t) }),
|
|
5427
5463
|
get children() {
|
|
5428
5464
|
return J(Yt, {
|
|
5429
5465
|
each: [
|
|
@@ -5447,12 +5483,12 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5447
5483
|
return e.guide.kind === "grid" || e.guide.align !== "stretch";
|
|
5448
5484
|
},
|
|
5449
5485
|
get children() {
|
|
5450
|
-
return J(
|
|
5486
|
+
return J(Qo, {
|
|
5451
5487
|
get label() {
|
|
5452
5488
|
return n();
|
|
5453
5489
|
},
|
|
5454
5490
|
get children() {
|
|
5455
|
-
return J(
|
|
5491
|
+
return J(es, {
|
|
5456
5492
|
get label() {
|
|
5457
5493
|
return n();
|
|
5458
5494
|
},
|
|
@@ -5471,10 +5507,10 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5471
5507
|
return e.guide.kind !== "grid";
|
|
5472
5508
|
},
|
|
5473
5509
|
get children() {
|
|
5474
|
-
return [J(
|
|
5510
|
+
return [J(Qo, {
|
|
5475
5511
|
label: "Offset",
|
|
5476
5512
|
get children() {
|
|
5477
|
-
return J(
|
|
5513
|
+
return J(es, {
|
|
5478
5514
|
label: "Offset",
|
|
5479
5515
|
get value() {
|
|
5480
5516
|
return e.guide.offset;
|
|
@@ -5484,10 +5520,10 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5484
5520
|
onChange: (t) => e.onUpdate({ offset: t })
|
|
5485
5521
|
});
|
|
5486
5522
|
}
|
|
5487
|
-
}), J(
|
|
5523
|
+
}), J(Qo, {
|
|
5488
5524
|
label: "Gutter",
|
|
5489
5525
|
get children() {
|
|
5490
|
-
return J(
|
|
5526
|
+
return J(es, {
|
|
5491
5527
|
label: "Gutter",
|
|
5492
5528
|
get value() {
|
|
5493
5529
|
return e.guide.gutter;
|
|
@@ -5503,7 +5539,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
|
5503
5539
|
Q(a, "onClick", e, t);
|
|
5504
5540
|
}), r;
|
|
5505
5541
|
};
|
|
5506
|
-
function
|
|
5542
|
+
function is(e) {
|
|
5507
5543
|
let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
|
|
5508
5544
|
var i = Y("div", {
|
|
5509
5545
|
"data-mesurer-layout-guides-panel": "true",
|
|
@@ -5525,7 +5561,7 @@ function ns(e) {
|
|
|
5525
5561
|
"aria-label": "Add layout guide",
|
|
5526
5562
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
|
|
5527
5563
|
});
|
|
5528
|
-
return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(
|
|
5564
|
+
return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(_i, {})), Z(t, J(Xt, {
|
|
5529
5565
|
get when() {
|
|
5530
5566
|
return e.guides.length > 0;
|
|
5531
5567
|
},
|
|
@@ -5552,22 +5588,22 @@ function ns(e) {
|
|
|
5552
5588
|
class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900",
|
|
5553
5589
|
onClick: () => e.onRemove(t.id)
|
|
5554
5590
|
});
|
|
5555
|
-
return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(
|
|
5591
|
+
return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Xo, { get kind() {
|
|
5556
5592
|
return t.kind;
|
|
5557
|
-
} })), Z(o, () =>
|
|
5593
|
+
} })), Z(o, () => Jo(t)), Z(i, J(ui, {
|
|
5558
5594
|
size: 8,
|
|
5559
5595
|
class: "msr:block msr:-rotate-90 msr:text-ink-400"
|
|
5560
5596
|
}), null), Z(s, (() => {
|
|
5561
5597
|
var e = Zn(() => !!t.visible);
|
|
5562
|
-
return () => e() ? J(
|
|
5563
|
-
})()), Z(c, J(
|
|
5598
|
+
return () => e() ? J(vi, {}) : J(yi, {});
|
|
5599
|
+
})()), Z(c, J(di, {
|
|
5564
5600
|
size: 10,
|
|
5565
5601
|
class: "msr:block"
|
|
5566
5602
|
})), q(() => ({
|
|
5567
|
-
e: t.visible ? `Hide ${
|
|
5603
|
+
e: t.visible ? `Hide ${Jo(t)}` : `Show ${Jo(t)}`,
|
|
5568
5604
|
t: t.visible ? "true" : "false",
|
|
5569
5605
|
a: `msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible ? "msr:text-ink-700" : "msr:text-ink-400"}`,
|
|
5570
|
-
o: `Remove ${
|
|
5606
|
+
o: `Remove ${Jo(t)}`
|
|
5571
5607
|
}), ({ e, t, a: n, o: r }, i) => {
|
|
5572
5608
|
e !== i?.e && Q(s, "aria-label", e, i?.e), t !== i?.t && Q(s, "aria-pressed", t, i?.t), n !== i?.a && Q(s, "class", n, i?.a), r !== i?.o && Q(c, "aria-label", r, i?.o);
|
|
5573
5609
|
}), r;
|
|
@@ -5578,7 +5614,7 @@ function ns(e) {
|
|
|
5578
5614
|
Q(a, "onClick", e, t);
|
|
5579
5615
|
}), t;
|
|
5580
5616
|
},
|
|
5581
|
-
children: (t) => J(
|
|
5617
|
+
children: (t) => J(rs, {
|
|
5582
5618
|
get guide() {
|
|
5583
5619
|
return t();
|
|
5584
5620
|
},
|
|
@@ -5590,56 +5626,56 @@ function ns(e) {
|
|
|
5590
5626
|
})
|
|
5591
5627
|
})), i;
|
|
5592
5628
|
}
|
|
5593
|
-
var
|
|
5629
|
+
var as = "mesurer.layout-guides", os = "layout-guides:v1", ss = "mesurer.layout-guides.pages", cs = "mesurer.layout-guides.active", ls = "runtime:solid", us = "layout-guides.toggle", ds = "layout-guides.add", fs = "layout-guides.update", ps = "layout-guides.remove", ms = "layout-guides.clear", hs = 240, gs = 8, _s = 8, vs = () => ({ pages: {} }), ys = (e, t) => e.pages[t] ?? [], bs = (e) => typeof e == "object" && !!e && !Array.isArray(e), xs = (e) => typeof e == "string", Ss = (e) => typeof e == "boolean", Cs = (e) => typeof e == "number", ws = (e) => e === "columns" || e === "rows" || e === "grid", Ts = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", Es = (e) => ({ ...e }), Ds = (e) => e.map(Es), Os = (e) => bs(e) ? e : null, ks = (e) => {
|
|
5594
5630
|
if (!e) return {};
|
|
5595
5631
|
let t = {};
|
|
5596
|
-
return
|
|
5597
|
-
},
|
|
5632
|
+
return xs(e.id) && (t.id = e.id), ws(e.kind) && (t.kind = e.kind), Ss(e.visible) && (t.visible = e.visible), xs(e.color) && (t.color = e.color), Cs(e.opacity) && (t.opacity = e.opacity), Cs(e.count) && (t.count = e.count), Cs(e.size) && (t.size = e.size), Cs(e.gutter) && (t.gutter = e.gutter), Cs(e.offset) && (t.offset = e.offset), Ts(e.align) && (t.align = e.align), t;
|
|
5633
|
+
}, As = (e) => {
|
|
5598
5634
|
let t = {};
|
|
5599
5635
|
return e.id !== void 0 && (t.id = e.id), e.kind !== void 0 && (t.kind = e.kind), e.visible !== void 0 && (t.visible = e.visible), e.color !== void 0 && (t.color = e.color), e.opacity !== void 0 && (t.opacity = e.opacity), e.count !== void 0 && (t.count = e.count), e.size !== void 0 && (t.size = e.size), e.gutter !== void 0 && (t.gutter = e.gutter), e.offset !== void 0 && (t.offset = e.offset), e.align !== void 0 && (t.align = e.align), t;
|
|
5600
|
-
},
|
|
5636
|
+
}, js = {
|
|
5601
5637
|
viewBox: "0 0 256 256",
|
|
5602
5638
|
paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
|
|
5603
|
-
},
|
|
5604
|
-
id:
|
|
5639
|
+
}, Ms = () => ar({
|
|
5640
|
+
id: as,
|
|
5605
5641
|
version: "0.1.0",
|
|
5606
|
-
requires: [
|
|
5607
|
-
provides: [
|
|
5642
|
+
requires: [ls],
|
|
5643
|
+
provides: [os, "tool:layout-guides"],
|
|
5608
5644
|
setup(e) {
|
|
5609
|
-
let t = e.service.get(
|
|
5645
|
+
let t = e.service.get(ls);
|
|
5610
5646
|
if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
|
|
5611
5647
|
let n = t.rendererRoot;
|
|
5612
5648
|
if (!n) throw Error("Layout Guides requires a mounted renderer root.");
|
|
5613
5649
|
e.state.register({
|
|
5614
|
-
id:
|
|
5615
|
-
initial:
|
|
5650
|
+
id: ss,
|
|
5651
|
+
initial: vs(),
|
|
5616
5652
|
history: !0,
|
|
5617
5653
|
persist: !0
|
|
5618
5654
|
}), e.state.register({
|
|
5619
|
-
id:
|
|
5655
|
+
id: cs,
|
|
5620
5656
|
initial: !1
|
|
5621
5657
|
});
|
|
5622
|
-
let r =
|
|
5623
|
-
e.state.update(
|
|
5658
|
+
let r = Xr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? vs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => qo(ys(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
|
|
5659
|
+
e.state.update(cs, () => t);
|
|
5624
5660
|
}, m = (t) => {
|
|
5625
|
-
e.state.update(
|
|
5661
|
+
e.state.update(ss, (e) => ({
|
|
5626
5662
|
...e,
|
|
5627
5663
|
pages: {
|
|
5628
5664
|
...e.pages,
|
|
5629
|
-
[r]:
|
|
5665
|
+
[r]: Ds(t(qo(e.pages[r])))
|
|
5630
5666
|
}
|
|
5631
5667
|
}));
|
|
5632
5668
|
};
|
|
5633
|
-
e.command.register(
|
|
5669
|
+
e.command.register(us, () => {
|
|
5634
5670
|
let e = !u();
|
|
5635
|
-
return e && d().length === 0 && m(() => [
|
|
5636
|
-
}), e.command.register(
|
|
5637
|
-
let t =
|
|
5671
|
+
return e && d().length === 0 && m(() => [Ko()]), i = e, p(e), u();
|
|
5672
|
+
}), e.command.register(ds, (e) => {
|
|
5673
|
+
let t = Ko(ks(Os(e)));
|
|
5638
5674
|
return m((e) => [...e, t]), { ...t };
|
|
5639
|
-
}), e.command.register(
|
|
5640
|
-
let t =
|
|
5675
|
+
}), e.command.register(fs, (e) => {
|
|
5676
|
+
let t = Os(e), n = t && xs(t.id) ? t.id : null, r = ks(Os(t?.patch));
|
|
5641
5677
|
if (!n) throw Error("layout-guides.update requires a guide id.");
|
|
5642
|
-
m((e) => e.map((e) => e.id === n ?
|
|
5678
|
+
m((e) => e.map((e) => e.id === n ? Ko({
|
|
5643
5679
|
...e,
|
|
5644
5680
|
...r,
|
|
5645
5681
|
id: e.id
|
|
@@ -5647,30 +5683,30 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5647
5683
|
let i = d().find((e) => e.id === n);
|
|
5648
5684
|
if (!i) throw Error(`Layout guide not found: ${n}`);
|
|
5649
5685
|
return { ...i };
|
|
5650
|
-
}), e.command.register(
|
|
5651
|
-
let t =
|
|
5686
|
+
}), e.command.register(ps, (e) => {
|
|
5687
|
+
let t = Os(e), n = t && xs(t.id) ? t.id : null;
|
|
5652
5688
|
if (!n) throw Error("layout-guides.remove requires a guide id.");
|
|
5653
5689
|
let r = d().length;
|
|
5654
5690
|
return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
|
|
5655
|
-
}), e.command.register(
|
|
5691
|
+
}), e.command.register(ms, () => {
|
|
5656
5692
|
m(() => []);
|
|
5657
5693
|
});
|
|
5658
5694
|
let h = async (t, n) => {
|
|
5659
|
-
let r =
|
|
5695
|
+
let r = Os(await e.command.execute(t, n));
|
|
5660
5696
|
if (!r) throw Error(`${t} did not return a layout guide.`);
|
|
5661
|
-
return
|
|
5697
|
+
return Ko(ks(r));
|
|
5662
5698
|
}, g = {
|
|
5663
5699
|
list: () => d().map((e) => ({ ...e })),
|
|
5664
|
-
add: (e = {}) => h(
|
|
5665
|
-
update: (e, t) => h(
|
|
5700
|
+
add: (e = {}) => h(ds, As(e)),
|
|
5701
|
+
update: (e, t) => h(fs, {
|
|
5666
5702
|
id: e,
|
|
5667
|
-
patch:
|
|
5703
|
+
patch: As(t)
|
|
5668
5704
|
}),
|
|
5669
5705
|
async remove(t) {
|
|
5670
|
-
return await e.command.execute(
|
|
5706
|
+
return await e.command.execute(ps, { id: t }) === !0;
|
|
5671
5707
|
},
|
|
5672
5708
|
async clear() {
|
|
5673
|
-
await e.command.execute(
|
|
5709
|
+
await e.command.execute(ms);
|
|
5674
5710
|
},
|
|
5675
5711
|
subscribe(e) {
|
|
5676
5712
|
s.add(e);
|
|
@@ -5680,25 +5716,25 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5680
5716
|
};
|
|
5681
5717
|
}
|
|
5682
5718
|
};
|
|
5683
|
-
e.service.provide(
|
|
5719
|
+
e.service.provide(os, g), e.tool.register({
|
|
5684
5720
|
id: "layout-guides",
|
|
5685
5721
|
label: "Layout guides",
|
|
5686
5722
|
shortcut: "L",
|
|
5687
|
-
command:
|
|
5723
|
+
command: us,
|
|
5688
5724
|
order: 38,
|
|
5689
|
-
icon:
|
|
5725
|
+
icon: js,
|
|
5690
5726
|
active: u
|
|
5691
5727
|
});
|
|
5692
5728
|
let _ = t.ownerDocument.createElement("div");
|
|
5693
5729
|
_.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
|
|
5694
|
-
let v = Xn(() => J(
|
|
5730
|
+
let v = Xn(() => J(zo, { get guides() {
|
|
5695
5731
|
return f();
|
|
5696
5732
|
} }), _), y = t.createInspectorMount();
|
|
5697
5733
|
y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
|
|
5698
5734
|
position: "fixed",
|
|
5699
5735
|
left: "0",
|
|
5700
5736
|
top: "0",
|
|
5701
|
-
width: `${
|
|
5737
|
+
width: `${hs}px`,
|
|
5702
5738
|
zIndex: "100",
|
|
5703
5739
|
pointerEvents: "none",
|
|
5704
5740
|
display: "none"
|
|
@@ -5707,13 +5743,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5707
5743
|
if (c = 0, !i) return;
|
|
5708
5744
|
let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
|
|
5709
5745
|
if (!e) return;
|
|
5710
|
-
let n = e.getBoundingClientRect(), r = Math.min(Math.max(
|
|
5746
|
+
let n = e.getBoundingClientRect(), r = Math.min(Math.max(_s, n.right - hs), Math.max(_s, t.ownerWindow.innerWidth - hs - _s)), a = t.ownerWindow.innerHeight - n.bottom - gs - _s, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + gs : Math.max(_s, n.top - gs - o);
|
|
5711
5747
|
y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
|
|
5712
5748
|
}, x = () => {
|
|
5713
5749
|
c ||= t.ownerWindow.requestAnimationFrame(b);
|
|
5714
5750
|
}, S = () => {
|
|
5715
5751
|
y.element.style.display = i ? "block" : "none", i && x();
|
|
5716
|
-
}, C = Xn(() => J(
|
|
5752
|
+
}, C = Xn(() => J(is, {
|
|
5717
5753
|
get guides() {
|
|
5718
5754
|
return f();
|
|
5719
5755
|
},
|
|
@@ -5733,7 +5769,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5733
5769
|
o((e) => e + 1);
|
|
5734
5770
|
for (let e of s) e();
|
|
5735
5771
|
S();
|
|
5736
|
-
}, T = e.state.subscribe(w), E =
|
|
5772
|
+
}, T = e.state.subscribe(w), E = ei(t.ownerWindow, (e) => {
|
|
5737
5773
|
r !== e && (r = e, w());
|
|
5738
5774
|
}), D = (e) => {
|
|
5739
5775
|
if (!i) return;
|
|
@@ -5748,14 +5784,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5748
5784
|
t.ownerDocument.removeEventListener("pointerdown", D, !0), t.ownerDocument.removeEventListener("keydown", O, !0), t.ownerWindow.removeEventListener("resize", x), t.ownerWindow.removeEventListener("pointerup", x, !0), c && t.ownerWindow.cancelAnimationFrame(c), c = 0, s.clear(), T.dispose(), E(), C(), y.dispose(), v(), _.remove();
|
|
5749
5785
|
});
|
|
5750
5786
|
}
|
|
5751
|
-
}),
|
|
5787
|
+
}), Ns = 144, Ps = 96, Fs = 8, Is = 4, Ls = 1800, Rs = (e, t) => {
|
|
5752
5788
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
5753
|
-
},
|
|
5754
|
-
left: Math.min(Math.max(
|
|
5755
|
-
top: Math.min(Math.max(
|
|
5756
|
-
}),
|
|
5789
|
+
}, zs = (e, t) => ({
|
|
5790
|
+
left: Math.min(Math.max(Fs, e.left), Math.max(Fs, t.innerWidth - Ns - Fs)),
|
|
5791
|
+
top: Math.min(Math.max(Fs, e.top), Math.max(Fs, t.innerHeight - Ps - Fs))
|
|
5792
|
+
}), Bs = (e, t) => {
|
|
5757
5793
|
let n = e.createElement("button");
|
|
5758
|
-
return n.type = "button", n.textContent = t,
|
|
5794
|
+
return n.type = "button", n.textContent = t, Rs(n, {
|
|
5759
5795
|
height: "32px",
|
|
5760
5796
|
padding: "0 12px",
|
|
5761
5797
|
border: "1px solid rgb(255 255 255 / 18%)",
|
|
@@ -5767,11 +5803,11 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5767
5803
|
"font-weight": "500",
|
|
5768
5804
|
cursor: "pointer"
|
|
5769
5805
|
}), n;
|
|
5770
|
-
},
|
|
5806
|
+
}, Vs = ({ 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", Hs = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Us = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
|
|
5771
5807
|
let i = n.closest("[data-mesurer-root='true']")?.parentNode ?? n.parentNode;
|
|
5772
|
-
if (!
|
|
5808
|
+
if (!Hs(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
|
|
5773
5809
|
let a = e.createElement("div");
|
|
5774
|
-
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true",
|
|
5810
|
+
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Rs(a, {
|
|
5775
5811
|
position: "fixed",
|
|
5776
5812
|
left: "0",
|
|
5777
5813
|
top: "0",
|
|
@@ -5783,12 +5819,12 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5783
5819
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
5784
5820
|
}), i.append(a);
|
|
5785
5821
|
let o = e.createElement("div");
|
|
5786
|
-
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0,
|
|
5822
|
+
o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Rs(o, {
|
|
5787
5823
|
position: "fixed",
|
|
5788
5824
|
display: "none",
|
|
5789
5825
|
"z-index": "96",
|
|
5790
|
-
width: `${
|
|
5791
|
-
height: `${
|
|
5826
|
+
width: `${Ns}px`,
|
|
5827
|
+
height: `${Ps}px`,
|
|
5792
5828
|
"box-sizing": "border-box",
|
|
5793
5829
|
overflow: "hidden",
|
|
5794
5830
|
"border-radius": "10px",
|
|
@@ -5801,7 +5837,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5801
5837
|
"touch-action": "none"
|
|
5802
5838
|
});
|
|
5803
5839
|
let s = e.createElement("img");
|
|
5804
|
-
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions",
|
|
5840
|
+
s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Rs(s, {
|
|
5805
5841
|
display: "block",
|
|
5806
5842
|
width: "100%",
|
|
5807
5843
|
height: "100%",
|
|
@@ -5809,7 +5845,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5809
5845
|
"background-color": "white"
|
|
5810
5846
|
}), o.append(s);
|
|
5811
5847
|
let c = e.createElement("button");
|
|
5812
|
-
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss",
|
|
5848
|
+
c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Rs(c, {
|
|
5813
5849
|
position: "absolute",
|
|
5814
5850
|
top: "8px",
|
|
5815
5851
|
right: "8px",
|
|
@@ -5835,7 +5871,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5835
5871
|
let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
|
|
5836
5872
|
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);
|
|
5837
5873
|
let d = e.createElement("div");
|
|
5838
|
-
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"),
|
|
5874
|
+
d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Rs(d, {
|
|
5839
5875
|
position: "fixed",
|
|
5840
5876
|
inset: "0",
|
|
5841
5877
|
display: "none",
|
|
@@ -5849,7 +5885,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5849
5885
|
"pointer-events": "auto"
|
|
5850
5886
|
});
|
|
5851
5887
|
let f = e.createElement("img");
|
|
5852
|
-
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot",
|
|
5888
|
+
f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Rs(f, {
|
|
5853
5889
|
display: "block",
|
|
5854
5890
|
"max-width": "calc(100vw - 96px)",
|
|
5855
5891
|
"max-height": "calc(100vh - 112px)",
|
|
@@ -5860,7 +5896,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5860
5896
|
"box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
|
|
5861
5897
|
}), d.append(f);
|
|
5862
5898
|
let p = e.createElement("div");
|
|
5863
|
-
p.dataset.mesurerScreenshotViewerControls = "true",
|
|
5899
|
+
p.dataset.mesurerScreenshotViewerControls = "true", Rs(p, {
|
|
5864
5900
|
position: "fixed",
|
|
5865
5901
|
top: "16px",
|
|
5866
5902
|
right: "16px",
|
|
@@ -5868,14 +5904,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5868
5904
|
gap: "8px",
|
|
5869
5905
|
"pointer-events": "auto"
|
|
5870
5906
|
});
|
|
5871
|
-
let m =
|
|
5907
|
+
let m = Bs(e, "Copy");
|
|
5872
5908
|
m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
|
|
5873
|
-
let h =
|
|
5909
|
+
let h = Bs(e, "Save");
|
|
5874
5910
|
h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
|
|
5875
|
-
let g =
|
|
5911
|
+
let g = Bs(e, "Close");
|
|
5876
5912
|
g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
|
|
5877
5913
|
let _ = e.createElement("div");
|
|
5878
|
-
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"),
|
|
5914
|
+
_.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Rs(_, {
|
|
5879
5915
|
position: "fixed",
|
|
5880
5916
|
left: "50%",
|
|
5881
5917
|
bottom: "20px",
|
|
@@ -5897,18 +5933,18 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5897
5933
|
}, D = (e, n = !1) => {
|
|
5898
5934
|
E(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
|
|
5899
5935
|
C = 0, _.style.display = "none";
|
|
5900
|
-
},
|
|
5936
|
+
}, Ls);
|
|
5901
5937
|
}, O = () => {
|
|
5902
5938
|
d.style.display = "none";
|
|
5903
5939
|
}, k = () => {
|
|
5904
5940
|
y && globalThis.URL.revokeObjectURL(y), y = null, v = null, s.removeAttribute("src"), f.removeAttribute("src");
|
|
5905
5941
|
}, A = () => {
|
|
5906
5942
|
T(), O(), o.style.display = "none", k();
|
|
5907
|
-
}, j = () =>
|
|
5908
|
-
left: t.innerWidth -
|
|
5909
|
-
top: t.innerHeight -
|
|
5943
|
+
}, j = () => zs({
|
|
5944
|
+
left: t.innerWidth - Ns - Fs,
|
|
5945
|
+
top: t.innerHeight - Ps - Fs
|
|
5910
5946
|
}, t), M = (e) => {
|
|
5911
|
-
let n =
|
|
5947
|
+
let n = zs(e, t);
|
|
5912
5948
|
b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
|
|
5913
5949
|
}, ee = () => {
|
|
5914
5950
|
!v || !y || (T(), d.style.display = "flex", g.focus());
|
|
@@ -5919,14 +5955,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5919
5955
|
} catch {
|
|
5920
5956
|
D("Could not copy screenshot", !0);
|
|
5921
5957
|
}
|
|
5922
|
-
},
|
|
5958
|
+
}, te = () => {
|
|
5923
5959
|
let n = v;
|
|
5924
5960
|
if (n) try {
|
|
5925
5961
|
Sr(n, xr(), e, t), D("Saved screenshot");
|
|
5926
5962
|
} catch {
|
|
5927
5963
|
D("Could not save screenshot", !0);
|
|
5928
5964
|
}
|
|
5929
|
-
},
|
|
5965
|
+
}, P = (e, t, n) => {
|
|
5930
5966
|
if (!v) return !1;
|
|
5931
5967
|
T();
|
|
5932
5968
|
let r = o.getBoundingClientRect();
|
|
@@ -5938,36 +5974,36 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5938
5974
|
top: r.top,
|
|
5939
5975
|
moved: !1
|
|
5940
5976
|
}, o.style.cursor = "grabbing", !0;
|
|
5941
|
-
},
|
|
5977
|
+
}, ne = (e, t) => {
|
|
5942
5978
|
let n = x;
|
|
5943
5979
|
if (!n) return;
|
|
5944
5980
|
let r = e - n.startX, i = t - n.startY;
|
|
5945
|
-
!n.moved && Math.hypot(r, i) >=
|
|
5981
|
+
!n.moved && Math.hypot(r, i) >= Is && (n.moved = !0), n.moved && M({
|
|
5946
5982
|
left: n.left + r,
|
|
5947
5983
|
top: n.top + i
|
|
5948
5984
|
});
|
|
5949
|
-
},
|
|
5985
|
+
}, F = () => {
|
|
5950
5986
|
let e = x;
|
|
5951
5987
|
e && (x = null, o.style.cursor = "grab", e.moved || ee());
|
|
5952
|
-
},
|
|
5988
|
+
}, I = () => {
|
|
5953
5989
|
x && (x = null, o.style.cursor = "grab");
|
|
5990
|
+
}, L = (e) => {
|
|
5991
|
+
e.button !== 0 || !P(e.clientX, e.clientY, null) || e.preventDefault();
|
|
5954
5992
|
}, R = (e) => {
|
|
5955
|
-
|
|
5993
|
+
x?.pointerId === null && ne(e.clientX, e.clientY);
|
|
5956
5994
|
}, z = (e) => {
|
|
5957
|
-
x?.pointerId === null &&
|
|
5995
|
+
e.button === 0 && x?.pointerId === null && F();
|
|
5958
5996
|
}, B = (e) => {
|
|
5959
|
-
e.button === 0 &&
|
|
5997
|
+
e.pointerType !== "mouse" && e.button === 0 && P(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
|
|
5960
5998
|
}, V = (e) => {
|
|
5961
|
-
e.pointerType !== "mouse" && e.button === 0 && F(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
|
|
5962
|
-
}, ne = (e) => {
|
|
5963
5999
|
let t = x?.pointerId;
|
|
5964
|
-
t != null && t === e.pointerId &&
|
|
6000
|
+
t != null && t === e.pointerId && ne(e.clientX, e.clientY);
|
|
5965
6001
|
}, re = (e) => {
|
|
5966
6002
|
let t = x?.pointerId;
|
|
5967
|
-
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId),
|
|
6003
|
+
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), F());
|
|
5968
6004
|
}, H = (e) => {
|
|
5969
6005
|
let t = x?.pointerId;
|
|
5970
|
-
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId),
|
|
6006
|
+
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
|
|
5971
6007
|
}, ie = (e) => {
|
|
5972
6008
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), ee());
|
|
5973
6009
|
}, U = (e) => {
|
|
@@ -5979,32 +6015,32 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
5979
6015
|
};
|
|
5980
6016
|
return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
|
|
5981
6017
|
e.stopPropagation(), A();
|
|
5982
|
-
}), o.addEventListener("mousedown",
|
|
6018
|
+
}), o.addEventListener("mousedown", L), o.addEventListener("pointerdown", B), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
|
|
5983
6019
|
N();
|
|
5984
|
-
}), h.addEventListener("click",
|
|
6020
|
+
}), h.addEventListener("click", te), g.addEventListener("click", O), t.addEventListener("mousemove", R, !0), t.addEventListener("mouseup", z, !0), t.addEventListener("pointermove", V, !0), t.addEventListener("pointerup", re, !0), t.addEventListener("pointercancel", H, !0), t.addEventListener("keydown", W, !0), {
|
|
5985
6021
|
show(e, n) {
|
|
5986
6022
|
if (w) return;
|
|
5987
6023
|
T(), O(), k(), v = e;
|
|
5988
6024
|
let i = globalThis.URL.createObjectURL(e);
|
|
5989
|
-
y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(
|
|
6025
|
+
y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(Vs(n)), r > 0 && (S = t.setTimeout(A, r));
|
|
5990
6026
|
},
|
|
5991
6027
|
dismiss: A,
|
|
5992
6028
|
dispose() {
|
|
5993
|
-
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove",
|
|
6029
|
+
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", R, !0), t.removeEventListener("mouseup", z, !0), t.removeEventListener("pointermove", V, !0), t.removeEventListener("pointerup", re, !0), t.removeEventListener("pointercancel", H, !0), t.removeEventListener("keydown", W, !0), o.removeEventListener("mousedown", L), o.removeEventListener("pointerdown", B), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", U), d.removeEventListener("click", ae), a.remove());
|
|
5994
6030
|
}
|
|
5995
6031
|
};
|
|
5996
|
-
},
|
|
6032
|
+
}, Ws = "mesurer.screenshot", Gs = "screenshot", Ks = "mesurer.screenshot.settings", qs = "mesurer.screenshot.active", Js = "runtime:solid", Ys = "screenshot.toggle", Xs = 2500, Zs = 0, Qs = [
|
|
5997
6033
|
"[data-mesurer-measurement='true']",
|
|
5998
6034
|
"[data-mesurer-selected-measurement='true']",
|
|
5999
6035
|
"[data-mesurer-selection-spacing-target='true']",
|
|
6000
6036
|
"[data-mesurer-guide='true']",
|
|
6001
6037
|
"[data-mesurer-distance='true']"
|
|
6002
|
-
].join(","),
|
|
6038
|
+
].join(","), $s = `${Qs},[data-mesurer-rulers='true']`, ec = {
|
|
6003
6039
|
viewBox: "0 0 256 256",
|
|
6004
6040
|
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"]
|
|
6005
|
-
},
|
|
6041
|
+
}, tc = (e, t) => {
|
|
6006
6042
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
6007
|
-
},
|
|
6043
|
+
}, nc = (e, t) => {
|
|
6008
6044
|
for (let n of [
|
|
6009
6045
|
"left",
|
|
6010
6046
|
"top",
|
|
@@ -6016,63 +6052,63 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6016
6052
|
let r = t[n];
|
|
6017
6053
|
r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
|
|
6018
6054
|
}
|
|
6019
|
-
},
|
|
6020
|
-
let t = e(
|
|
6055
|
+
}, rc = (e) => {
|
|
6056
|
+
let t = e(Ks);
|
|
6021
6057
|
return {
|
|
6022
6058
|
toolEnabled: t?.toolEnabled ?? !0,
|
|
6023
6059
|
copy: t?.copy ?? !0,
|
|
6024
6060
|
download: t?.download ?? !1,
|
|
6025
6061
|
includeMeasurements: t?.includeMeasurements ?? !1
|
|
6026
6062
|
};
|
|
6027
|
-
},
|
|
6063
|
+
}, ic = (e) => ({
|
|
6028
6064
|
value: e.style.getPropertyValue("display"),
|
|
6029
6065
|
priority: e.style.getPropertyPriority("display")
|
|
6030
|
-
}),
|
|
6066
|
+
}), ac = (e, t) => {
|
|
6031
6067
|
t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
|
|
6032
|
-
},
|
|
6068
|
+
}, oc = (e, t) => {
|
|
6033
6069
|
let n = e;
|
|
6034
6070
|
for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
|
|
6035
6071
|
return n.parentElement === t ? n : null;
|
|
6036
|
-
},
|
|
6072
|
+
}, sc = (e) => {
|
|
6037
6073
|
let t = e.querySelector("[data-mesurer-root='true']");
|
|
6038
6074
|
if (!t) return () => void 0;
|
|
6039
6075
|
let n = /* @__PURE__ */ new Set();
|
|
6040
6076
|
for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
|
|
6041
|
-
let r =
|
|
6077
|
+
let r = oc(e, t);
|
|
6042
6078
|
r && n.add(r);
|
|
6043
6079
|
}
|
|
6044
|
-
for (let e of t.querySelectorAll(
|
|
6045
|
-
let r =
|
|
6080
|
+
for (let e of t.querySelectorAll(Qs)) {
|
|
6081
|
+
let r = oc(e, t);
|
|
6046
6082
|
r && n.add(r);
|
|
6047
6083
|
}
|
|
6048
6084
|
let r = [];
|
|
6049
6085
|
for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
|
|
6050
6086
|
element: e,
|
|
6051
|
-
display:
|
|
6087
|
+
display: ic(e)
|
|
6052
6088
|
}), e.style.setProperty("display", "none", "important"));
|
|
6053
6089
|
return () => {
|
|
6054
|
-
for (let e of r)
|
|
6090
|
+
for (let e of r) ac(e.element, e.display);
|
|
6055
6091
|
};
|
|
6056
|
-
},
|
|
6092
|
+
}, cc = (e) => Array.from(e.querySelectorAll($s)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
|
|
6057
6093
|
element: e,
|
|
6058
|
-
display:
|
|
6059
|
-
})),
|
|
6060
|
-
for (let t of e) t.element.isConnected &&
|
|
6061
|
-
},
|
|
6062
|
-
id:
|
|
6094
|
+
display: ic(e)
|
|
6095
|
+
})), lc = (e) => {
|
|
6096
|
+
for (let t of e) t.element.isConnected && ac(t.element, t.display);
|
|
6097
|
+
}, uc = (e = {}) => ar({
|
|
6098
|
+
id: Ws,
|
|
6063
6099
|
version: "0.1.0",
|
|
6064
|
-
requires: [
|
|
6100
|
+
requires: [Js],
|
|
6065
6101
|
provides: [
|
|
6066
6102
|
"tool:screenshot",
|
|
6067
6103
|
"capture:screenshot",
|
|
6068
6104
|
"settings:screenshot"
|
|
6069
6105
|
],
|
|
6070
6106
|
setup(t) {
|
|
6071
|
-
let n = t.service.get(
|
|
6107
|
+
let n = t.service.get(Js);
|
|
6072
6108
|
if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
|
|
6073
|
-
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ??
|
|
6109
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Zs;
|
|
6074
6110
|
t.state.register({
|
|
6075
|
-
id:
|
|
6111
|
+
id: Ks,
|
|
6076
6112
|
initial: {
|
|
6077
6113
|
toolEnabled: e.toolEnabled ?? !0,
|
|
6078
6114
|
copy: e.copy ?? !0,
|
|
@@ -6081,11 +6117,11 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6081
6117
|
},
|
|
6082
6118
|
persist: !0
|
|
6083
6119
|
}), t.state.register({
|
|
6084
|
-
id:
|
|
6120
|
+
id: qs,
|
|
6085
6121
|
initial: !1
|
|
6086
6122
|
});
|
|
6087
6123
|
let u = o.element;
|
|
6088
|
-
u.dataset.mesurerScreenshot = "true",
|
|
6124
|
+
u.dataset.mesurerScreenshot = "true", tc(u, {
|
|
6089
6125
|
position: "fixed",
|
|
6090
6126
|
inset: "0",
|
|
6091
6127
|
"z-index": "85",
|
|
@@ -6093,7 +6129,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6093
6129
|
"font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
|
|
6094
6130
|
});
|
|
6095
6131
|
let d = r.createElement("div");
|
|
6096
|
-
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"),
|
|
6132
|
+
d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), tc(d, {
|
|
6097
6133
|
position: "fixed",
|
|
6098
6134
|
inset: "0",
|
|
6099
6135
|
display: "none",
|
|
@@ -6105,13 +6141,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6105
6141
|
}), u.append(d);
|
|
6106
6142
|
let f = Array.from({ length: 4 }, () => {
|
|
6107
6143
|
let e = r.createElement("div");
|
|
6108
|
-
return
|
|
6144
|
+
return tc(e, {
|
|
6109
6145
|
position: "fixed",
|
|
6110
6146
|
"background-color": "rgb(0 0 0 / 40%)",
|
|
6111
6147
|
"pointer-events": "none"
|
|
6112
6148
|
}), d.append(e), e;
|
|
6113
6149
|
}), p = r.createElement("div");
|
|
6114
|
-
|
|
6150
|
+
tc(p, {
|
|
6115
6151
|
position: "fixed",
|
|
6116
6152
|
display: "none",
|
|
6117
6153
|
border: "1px solid #0d99ff",
|
|
@@ -6119,7 +6155,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6119
6155
|
"pointer-events": "none"
|
|
6120
6156
|
}), d.append(p);
|
|
6121
6157
|
let m = r.createElement("div");
|
|
6122
|
-
|
|
6158
|
+
tc(m, {
|
|
6123
6159
|
position: "fixed",
|
|
6124
6160
|
display: "none",
|
|
6125
6161
|
"z-index": "86",
|
|
@@ -6133,7 +6169,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6133
6169
|
"pointer-events": "none"
|
|
6134
6170
|
}), d.append(m);
|
|
6135
6171
|
let h = r.createElement("div");
|
|
6136
|
-
h.textContent = "Drag to select · Esc to cancel",
|
|
6172
|
+
h.textContent = "Drag to select · Esc to cancel", tc(h, {
|
|
6137
6173
|
position: "fixed",
|
|
6138
6174
|
left: "50%",
|
|
6139
6175
|
bottom: "16px",
|
|
@@ -6146,7 +6182,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6146
6182
|
"pointer-events": "none"
|
|
6147
6183
|
}), d.append(h);
|
|
6148
6184
|
let g = r.createElement("div");
|
|
6149
|
-
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot",
|
|
6185
|
+
g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", tc(g, {
|
|
6150
6186
|
position: "fixed",
|
|
6151
6187
|
display: "none",
|
|
6152
6188
|
"z-index": "97",
|
|
@@ -6157,8 +6193,8 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6157
6193
|
"font-size": "11px",
|
|
6158
6194
|
"pointer-events": "none"
|
|
6159
6195
|
}), u.append(g);
|
|
6160
|
-
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () =>
|
|
6161
|
-
t.state.update(
|
|
6196
|
+
let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => rc(t.state.get), E = (e) => {
|
|
6197
|
+
t.state.update(Ks, (t) => {
|
|
6162
6198
|
let n = { ...t };
|
|
6163
6199
|
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;
|
|
6164
6200
|
});
|
|
@@ -6181,13 +6217,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6181
6217
|
}, A = (e) => {
|
|
6182
6218
|
let t = i.innerWidth, n = i.innerHeight;
|
|
6183
6219
|
if (!e || e.width <= 0 || e.height <= 0) {
|
|
6184
|
-
|
|
6220
|
+
nc(f[0], {
|
|
6185
6221
|
left: 0,
|
|
6186
6222
|
top: 0,
|
|
6187
6223
|
width: t,
|
|
6188
6224
|
height: n
|
|
6189
6225
|
});
|
|
6190
|
-
for (let e of f.slice(1))
|
|
6226
|
+
for (let e of f.slice(1)) nc(e, {
|
|
6191
6227
|
left: 0,
|
|
6192
6228
|
top: 0,
|
|
6193
6229
|
width: 0,
|
|
@@ -6196,31 +6232,31 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6196
6232
|
p.style.display = "none", m.style.display = "none";
|
|
6197
6233
|
return;
|
|
6198
6234
|
}
|
|
6199
|
-
|
|
6235
|
+
nc(f[0], {
|
|
6200
6236
|
left: 0,
|
|
6201
6237
|
top: 0,
|
|
6202
6238
|
width: t,
|
|
6203
6239
|
height: e.top
|
|
6204
|
-
}),
|
|
6240
|
+
}), nc(f[1], {
|
|
6205
6241
|
left: 0,
|
|
6206
6242
|
top: e.top,
|
|
6207
6243
|
width: e.left,
|
|
6208
6244
|
height: e.height
|
|
6209
|
-
}),
|
|
6245
|
+
}), nc(f[2], {
|
|
6210
6246
|
left: e.left + e.width,
|
|
6211
6247
|
top: e.top,
|
|
6212
6248
|
width: Math.max(0, t - e.left - e.width),
|
|
6213
6249
|
height: e.height
|
|
6214
|
-
}),
|
|
6250
|
+
}), nc(f[3], {
|
|
6215
6251
|
left: 0,
|
|
6216
6252
|
top: e.top + e.height,
|
|
6217
6253
|
width: t,
|
|
6218
6254
|
height: Math.max(0, n - e.top - e.height)
|
|
6219
|
-
}), p.style.display = "block",
|
|
6255
|
+
}), p.style.display = "block", nc(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, nc(m, {
|
|
6220
6256
|
left: e.left + e.width / 2,
|
|
6221
6257
|
top: Math.min(n - 22, e.top + e.height + 6)
|
|
6222
6258
|
});
|
|
6223
|
-
}, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M =
|
|
6259
|
+
}, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = Us({
|
|
6224
6260
|
ownerDocument: r,
|
|
6225
6261
|
ownerWindow: i,
|
|
6226
6262
|
root: u,
|
|
@@ -6231,17 +6267,17 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6231
6267
|
}, N = () => {
|
|
6232
6268
|
y && i.clearTimeout(y), g.style.display = "block", ee(g), y = i.setTimeout(() => {
|
|
6233
6269
|
y = 0, g.style.display = "none";
|
|
6234
|
-
},
|
|
6235
|
-
},
|
|
6270
|
+
}, Xs);
|
|
6271
|
+
}, te = () => {
|
|
6236
6272
|
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
6237
|
-
},
|
|
6238
|
-
b += 1,
|
|
6239
|
-
},
|
|
6273
|
+
}, P = () => {
|
|
6274
|
+
b += 1, te(), Hr(i);
|
|
6275
|
+
}, ne = async (e) => {
|
|
6240
6276
|
if (x) throw Error("A screenshot capture is already running.");
|
|
6241
6277
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
6242
6278
|
x = !0;
|
|
6243
|
-
let o = ++b, s = T(), l = s.includeMeasurements ?
|
|
6244
|
-
a.prepareCapture(), s.includeMeasurements &&
|
|
6279
|
+
let o = ++b, s = T(), l = s.includeMeasurements ? cc(r) : [], u = s.includeMeasurements ? () => void 0 : sc(n.portalTarget);
|
|
6280
|
+
a.prepareCapture(), s.includeMeasurements && lc(l);
|
|
6245
6281
|
try {
|
|
6246
6282
|
d.style.visibility = "hidden", await Cr(i);
|
|
6247
6283
|
let n = await yr(await c({
|
|
@@ -6278,10 +6314,10 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6278
6314
|
} finally {
|
|
6279
6315
|
d.style.visibility = "", u(), a.finishCapture(), x = !1;
|
|
6280
6316
|
}
|
|
6281
|
-
},
|
|
6317
|
+
}, F = async () => {
|
|
6282
6318
|
if (T().toolEnabled) {
|
|
6283
6319
|
if (w()) {
|
|
6284
|
-
|
|
6320
|
+
P();
|
|
6285
6321
|
return;
|
|
6286
6322
|
}
|
|
6287
6323
|
if (!S) {
|
|
@@ -6296,7 +6332,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6296
6332
|
}
|
|
6297
6333
|
}
|
|
6298
6334
|
}
|
|
6299
|
-
},
|
|
6335
|
+
}, I = (e) => {
|
|
6300
6336
|
!w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
|
|
6301
6337
|
x: e.clientX,
|
|
6302
6338
|
y: e.clientY
|
|
@@ -6304,7 +6340,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6304
6340
|
width: i.innerWidth,
|
|
6305
6341
|
height: i.innerHeight
|
|
6306
6342
|
})), d.setPointerCapture?.(e.pointerId));
|
|
6307
|
-
},
|
|
6343
|
+
}, L = (e) => {
|
|
6308
6344
|
!w() || !_ || A(vr(_, {
|
|
6309
6345
|
x: e.clientX,
|
|
6310
6346
|
y: e.clientY
|
|
@@ -6312,7 +6348,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6312
6348
|
width: i.innerWidth,
|
|
6313
6349
|
height: i.innerHeight
|
|
6314
6350
|
}));
|
|
6315
|
-
},
|
|
6351
|
+
}, R = (e) => {
|
|
6316
6352
|
let t = _;
|
|
6317
6353
|
if (_ = null, !w() || !t) return;
|
|
6318
6354
|
d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
|
|
@@ -6327,30 +6363,30 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6327
6363
|
A(null);
|
|
6328
6364
|
return;
|
|
6329
6365
|
}
|
|
6330
|
-
|
|
6331
|
-
w() &&
|
|
6366
|
+
ne(n).catch(() => void 0).finally(() => {
|
|
6367
|
+
w() && te();
|
|
6332
6368
|
});
|
|
6333
|
-
},
|
|
6369
|
+
}, z = (e) => {
|
|
6334
6370
|
_ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
|
|
6335
|
-
},
|
|
6336
|
-
e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(),
|
|
6371
|
+
}, B = (e) => {
|
|
6372
|
+
e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), P());
|
|
6337
6373
|
};
|
|
6338
|
-
d.addEventListener("pointerdown",
|
|
6339
|
-
let
|
|
6374
|
+
d.addEventListener("pointerdown", I), d.addEventListener("pointermove", L), d.addEventListener("pointerup", R), d.addEventListener("pointercancel", z), i.addEventListener("keydown", B, !0);
|
|
6375
|
+
let V = {
|
|
6340
6376
|
active: w,
|
|
6341
6377
|
settings: T,
|
|
6342
6378
|
setSettings: E,
|
|
6343
|
-
start:
|
|
6344
|
-
cancel:
|
|
6345
|
-
capture:
|
|
6379
|
+
start: F,
|
|
6380
|
+
cancel: P,
|
|
6381
|
+
capture: ne
|
|
6346
6382
|
};
|
|
6347
6383
|
t.tool.register({
|
|
6348
6384
|
id: "screenshot",
|
|
6349
6385
|
label: "Screenshot",
|
|
6350
6386
|
shortcut: "Shift+S",
|
|
6351
6387
|
order: 70,
|
|
6352
|
-
command:
|
|
6353
|
-
icon:
|
|
6388
|
+
command: Ys,
|
|
6389
|
+
icon: ec,
|
|
6354
6390
|
active: w,
|
|
6355
6391
|
hidden: () => !T().toolEnabled,
|
|
6356
6392
|
menu: {
|
|
@@ -6388,7 +6424,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6388
6424
|
description: "Show the camera tool in the toolbar.",
|
|
6389
6425
|
value: () => T().toolEnabled,
|
|
6390
6426
|
set: (e) => {
|
|
6391
|
-
E({ toolEnabled: e }), !e && w() &&
|
|
6427
|
+
E({ toolEnabled: e }), !e && w() && P();
|
|
6392
6428
|
}
|
|
6393
6429
|
},
|
|
6394
6430
|
{
|
|
@@ -6416,14 +6452,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6416
6452
|
set: (e) => E({ includeMeasurements: e })
|
|
6417
6453
|
}
|
|
6418
6454
|
]
|
|
6419
|
-
}), t.command.register(
|
|
6420
|
-
C = !0, b += 1, d.removeEventListener("pointerdown",
|
|
6455
|
+
}), t.command.register(Ys, F), t.service.provide(Gs, V), t.lifecycle.onDispose(() => {
|
|
6456
|
+
C = !0, b += 1, d.removeEventListener("pointerdown", I), d.removeEventListener("pointermove", L), d.removeEventListener("pointerup", R), d.removeEventListener("pointercancel", z), i.removeEventListener("keydown", B, !0), y && i.clearTimeout(y), M.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
6421
6457
|
});
|
|
6422
6458
|
}
|
|
6423
|
-
}),
|
|
6424
|
-
...
|
|
6425
|
-
version:
|
|
6426
|
-
}),
|
|
6459
|
+
}), dc = "0.2.0-beta.6", fc = xa, pc = va, mc = ya, hc = Sa, gc = ba, _c = () => ({
|
|
6460
|
+
...io(),
|
|
6461
|
+
version: dc
|
|
6462
|
+
}), vc = (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, yc = (e) => {
|
|
6427
6463
|
if (!e.length) return null;
|
|
6428
6464
|
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));
|
|
6429
6465
|
return {
|
|
@@ -6432,43 +6468,43 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
|
|
|
6432
6468
|
width: r - t,
|
|
6433
6469
|
height: i - n
|
|
6434
6470
|
};
|
|
6435
|
-
},
|
|
6436
|
-
function
|
|
6471
|
+
}, bc = (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), xc = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
|
|
6472
|
+
function Sc(e) {
|
|
6437
6473
|
let { workspace: t, scope: n, guideTolerance: r } = e;
|
|
6438
6474
|
if (n.kind === "workspace") return {
|
|
6439
6475
|
guides: t.guides.map((e) => ({ ...e })),
|
|
6440
|
-
measurements:
|
|
6476
|
+
measurements: xc(t),
|
|
6441
6477
|
distances: [...t.distances]
|
|
6442
6478
|
};
|
|
6443
|
-
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) =>
|
|
6479
|
+
let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => vc(e, t));
|
|
6444
6480
|
return {
|
|
6445
|
-
guides: t.guides.filter((e) =>
|
|
6446
|
-
measurements:
|
|
6481
|
+
guides: t.guides.filter((e) => bc(e, n.regions, r)).map((e) => ({ ...e })),
|
|
6482
|
+
measurements: xc(t).filter((e) => a(e.elementRef) || o(e.rect)),
|
|
6447
6483
|
distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
|
|
6448
6484
|
};
|
|
6449
6485
|
}
|
|
6450
6486
|
//#endregion
|
|
6451
6487
|
//#region ../mesurer-core/dist/domain.js
|
|
6452
|
-
var
|
|
6488
|
+
var Cc = {
|
|
6453
6489
|
opacity: 1,
|
|
6454
6490
|
width: 1,
|
|
6455
6491
|
pattern: "solid",
|
|
6456
6492
|
dashLength: 6,
|
|
6457
6493
|
gap: 4
|
|
6458
|
-
},
|
|
6494
|
+
}, wc = {
|
|
6459
6495
|
opacity: 1,
|
|
6460
6496
|
edgeReveal: !1
|
|
6461
6497
|
};
|
|
6462
|
-
({ ...
|
|
6498
|
+
({ ...Cc }), { ...wc };
|
|
6463
6499
|
//#endregion
|
|
6464
6500
|
//#region ../mesurer-dom/dist/index.js
|
|
6465
|
-
var
|
|
6501
|
+
var Tc = (e) => Number.parseFloat(e) || 0, Ec = 0, Dc = (e, t) => {
|
|
6466
6502
|
let n = t.CSS;
|
|
6467
6503
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
6468
6504
|
};
|
|
6469
|
-
function
|
|
6505
|
+
function Oc(e) {
|
|
6470
6506
|
let t = e.ownerDocument.defaultView ?? window;
|
|
6471
|
-
if (e.id) return `#${
|
|
6507
|
+
if (e.id) return `#${Dc(e.id, t)}`;
|
|
6472
6508
|
let n = e.getAttribute("data-testid");
|
|
6473
6509
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
6474
6510
|
let r = [], i = e;
|
|
@@ -6482,17 +6518,17 @@ function Ec(e) {
|
|
|
6482
6518
|
}
|
|
6483
6519
|
return r.join(" > ");
|
|
6484
6520
|
}
|
|
6485
|
-
function
|
|
6521
|
+
function kc(e, t, n = `dom-inspection-${++Ec}`) {
|
|
6486
6522
|
let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
|
|
6487
|
-
top:
|
|
6488
|
-
right:
|
|
6489
|
-
bottom:
|
|
6490
|
-
left:
|
|
6523
|
+
top: Tc(i.paddingTop),
|
|
6524
|
+
right: Tc(i.paddingRight),
|
|
6525
|
+
bottom: Tc(i.paddingBottom),
|
|
6526
|
+
left: Tc(i.paddingLeft)
|
|
6491
6527
|
}, o = {
|
|
6492
|
-
top:
|
|
6493
|
-
right:
|
|
6494
|
-
bottom:
|
|
6495
|
-
left:
|
|
6528
|
+
top: Tc(i.marginTop),
|
|
6529
|
+
right: Tc(i.marginRight),
|
|
6530
|
+
bottom: Tc(i.marginBottom),
|
|
6531
|
+
left: Tc(i.marginLeft)
|
|
6496
6532
|
}, s = {
|
|
6497
6533
|
left: r.left + a.left,
|
|
6498
6534
|
top: r.top + a.top,
|
|
@@ -6520,8 +6556,8 @@ function Dc(e, t, n = `dom-inspection-${++wc}`) {
|
|
|
6520
6556
|
elementRef: e
|
|
6521
6557
|
};
|
|
6522
6558
|
}
|
|
6523
|
-
function
|
|
6524
|
-
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ?
|
|
6559
|
+
function Ac(e) {
|
|
6560
|
+
let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? kc(r, t) : null, o = (e) => {
|
|
6525
6561
|
let t = Number.parseFloat(e);
|
|
6526
6562
|
return Number.isFinite(t) ? t : 0;
|
|
6527
6563
|
}, s = (e) => ({
|
|
@@ -6531,7 +6567,7 @@ function Oc(e) {
|
|
|
6531
6567
|
left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
|
|
6532
6568
|
});
|
|
6533
6569
|
return {
|
|
6534
|
-
selector:
|
|
6570
|
+
selector: Oc(e),
|
|
6535
6571
|
tag: e.localName,
|
|
6536
6572
|
id: e.id || null,
|
|
6537
6573
|
classes: [...e.classList],
|
|
@@ -6593,17 +6629,17 @@ function Oc(e) {
|
|
|
6593
6629
|
}
|
|
6594
6630
|
//#endregion
|
|
6595
6631
|
//#region src/context.ts
|
|
6596
|
-
var
|
|
6632
|
+
var jc = 10, Mc = (e) => ({
|
|
6597
6633
|
left: e.left,
|
|
6598
6634
|
top: e.top,
|
|
6599
6635
|
width: e.width,
|
|
6600
6636
|
height: e.height
|
|
6601
|
-
}),
|
|
6637
|
+
}), Nc = (e) => {
|
|
6602
6638
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
6603
6639
|
for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
|
|
6604
6640
|
return n;
|
|
6605
|
-
},
|
|
6606
|
-
function
|
|
6641
|
+
}, Pc = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
6642
|
+
function Fc(e) {
|
|
6607
6643
|
let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
|
|
6608
6644
|
if (!a) throw Error("Mesurer workspace is not ready yet.");
|
|
6609
6645
|
let o = [], s = [], c = { kind: "workspace" }, l = /* @__PURE__ */ new Map();
|
|
@@ -6611,7 +6647,7 @@ function Nc(e) {
|
|
|
6611
6647
|
let e = t.annotation(i.annotation);
|
|
6612
6648
|
if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
|
|
6613
6649
|
for (let t of e.resolvedTargets) t.element?.isConnected && l.set(t.element, t.target.id);
|
|
6614
|
-
o =
|
|
6650
|
+
o = Nc(e.resolvedTargets.map((e) => e.element));
|
|
6615
6651
|
let n = t.annotationRect(e.id);
|
|
6616
6652
|
n && (s = [n]);
|
|
6617
6653
|
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";
|
|
@@ -6623,15 +6659,15 @@ function Nc(e) {
|
|
|
6623
6659
|
};
|
|
6624
6660
|
} else if (i.scope === "selection") {
|
|
6625
6661
|
let e = t.currentSelection();
|
|
6626
|
-
if (o =
|
|
6627
|
-
s = e.region ? [e.region] : o.map((e) =>
|
|
6628
|
-
} else o =
|
|
6662
|
+
if (o = Nc(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
|
|
6663
|
+
s = e.region ? [e.region] : o.map((e) => Mc(e.getBoundingClientRect())), c = { kind: "selection" };
|
|
6664
|
+
} else o = Nc([
|
|
6629
6665
|
...t.currentSelection().elements,
|
|
6630
6666
|
...a.measurements.map((e) => e.elementRef),
|
|
6631
6667
|
a.activeMeasurement?.elementRef,
|
|
6632
6668
|
...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
6633
6669
|
]);
|
|
6634
|
-
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) =>
|
|
6670
|
+
let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => Mc(e.getBoundingClientRect())), d = Sc({
|
|
6635
6671
|
workspace: {
|
|
6636
6672
|
guides: a.guides,
|
|
6637
6673
|
measurements: a.measurements,
|
|
@@ -6643,8 +6679,8 @@ function Nc(e) {
|
|
|
6643
6679
|
elements: o,
|
|
6644
6680
|
regions: u
|
|
6645
6681
|
},
|
|
6646
|
-
guideTolerance: a.guideRelevanceTolerance ??
|
|
6647
|
-
}), f = d.measurements, p = d.distances, m = d.guides, h =
|
|
6682
|
+
guideTolerance: a.guideRelevanceTolerance ?? jc
|
|
6683
|
+
}), f = d.measurements, p = d.distances, m = d.guides, h = Nc([
|
|
6648
6684
|
...o,
|
|
6649
6685
|
...f.map((e) => e.elementRef),
|
|
6650
6686
|
...p.flatMap((e) => [e.elementRefA, e.elementRefB])
|
|
@@ -6656,12 +6692,12 @@ function Nc(e) {
|
|
|
6656
6692
|
let t = l.get(e) ?? y();
|
|
6657
6693
|
return g.set(e, t), {
|
|
6658
6694
|
ref: t,
|
|
6659
|
-
inspection:
|
|
6695
|
+
inspection: Ac(e)
|
|
6660
6696
|
};
|
|
6661
6697
|
}), x = f.map((e) => {
|
|
6662
6698
|
let t = {
|
|
6663
6699
|
id: e.id,
|
|
6664
|
-
rect:
|
|
6700
|
+
rect: Mc(e.rect),
|
|
6665
6701
|
deltaX: e.deltaX,
|
|
6666
6702
|
deltaY: e.deltaY
|
|
6667
6703
|
};
|
|
@@ -6671,8 +6707,8 @@ function Nc(e) {
|
|
|
6671
6707
|
}), S = p.map((e) => {
|
|
6672
6708
|
let t = {
|
|
6673
6709
|
id: e.id,
|
|
6674
|
-
rectA:
|
|
6675
|
-
rectB:
|
|
6710
|
+
rectA: Mc(e.rectA),
|
|
6711
|
+
rectB: Mc(e.rectB),
|
|
6676
6712
|
horizontal: e.horizontal ? { ...e.horizontal } : null,
|
|
6677
6713
|
vertical: e.vertical ? { ...e.vertical } : null
|
|
6678
6714
|
}, n = e.elementRefA ? g.get(e.elementRefA) : void 0, r = e.elementRefB ? g.get(e.elementRefB) : void 0;
|
|
@@ -6680,7 +6716,7 @@ function Nc(e) {
|
|
|
6680
6716
|
});
|
|
6681
6717
|
return {
|
|
6682
6718
|
schema: "mesurer.context/v1",
|
|
6683
|
-
id:
|
|
6719
|
+
id: Pc(r),
|
|
6684
6720
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
6685
6721
|
scope: c,
|
|
6686
6722
|
page: {
|
|
@@ -6695,7 +6731,7 @@ function Nc(e) {
|
|
|
6695
6731
|
scrollY: r.scrollY
|
|
6696
6732
|
},
|
|
6697
6733
|
coordinateSpace: "viewport-css-px",
|
|
6698
|
-
regions: c.kind === "workspace" ? [] : s.map(
|
|
6734
|
+
regions: c.kind === "workspace" ? [] : s.map(Mc),
|
|
6699
6735
|
visualState: {
|
|
6700
6736
|
rulersVisible: a.rulersVisible,
|
|
6701
6737
|
xrayVisible: a.xrayVisible
|
|
@@ -6709,19 +6745,19 @@ function Nc(e) {
|
|
|
6709
6745
|
}
|
|
6710
6746
|
};
|
|
6711
6747
|
}
|
|
6712
|
-
var $ = (e) => `${Math.round(e * 100) / 100}px`,
|
|
6713
|
-
function
|
|
6748
|
+
var $ = (e) => `${Math.round(e * 100) / 100}px`, Ic = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
|
|
6749
|
+
function Lc(e) {
|
|
6714
6750
|
let t = [
|
|
6715
6751
|
"Mesurer visual context",
|
|
6716
6752
|
"",
|
|
6717
6753
|
`Page: ${e.page.url}`,
|
|
6718
6754
|
`Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
|
|
6719
6755
|
];
|
|
6720
|
-
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}: ${
|
|
6756
|
+
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}: ${Ic(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) {
|
|
6721
6757
|
t.push("", "Targets");
|
|
6722
6758
|
for (let n of e.targets) {
|
|
6723
6759
|
let e = n.inspection;
|
|
6724
|
-
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${
|
|
6760
|
+
t.push(`[${n.ref}] ${e.selector}`, ` rect: ${Ic(e.rect)}`, ` margin: ${$(e.margin.top)} ${$(e.margin.right)} ${$(e.margin.bottom)} ${$(e.margin.left)}`, ` padding: ${$(e.padding.top)} ${$(e.padding.right)} ${$(e.padding.bottom)} ${$(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)}`);
|
|
6725
6761
|
}
|
|
6726
6762
|
}
|
|
6727
6763
|
if (e.visualContext.guides.length) {
|
|
@@ -6738,7 +6774,7 @@ function Fc(e) {
|
|
|
6738
6774
|
}
|
|
6739
6775
|
if (e.visualContext.measurements.length) {
|
|
6740
6776
|
t.push("", "Relevant measurements");
|
|
6741
|
-
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${
|
|
6777
|
+
for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${Ic(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
|
|
6742
6778
|
}
|
|
6743
6779
|
if (e.visualContext.distances.length) {
|
|
6744
6780
|
t.push("", "Relevant distances");
|
|
@@ -6749,8 +6785,8 @@ function Fc(e) {
|
|
|
6749
6785
|
}
|
|
6750
6786
|
return t.join("\n").trimEnd();
|
|
6751
6787
|
}
|
|
6752
|
-
function
|
|
6753
|
-
let t =
|
|
6788
|
+
function Rc(e) {
|
|
6789
|
+
let t = yc([
|
|
6754
6790
|
...e.regions,
|
|
6755
6791
|
...e.targets.map((e) => e.inspection.rect),
|
|
6756
6792
|
...e.visualContext.measurements.map((e) => e.rect),
|
|
@@ -6780,7 +6816,7 @@ function Ic(e) {
|
|
|
6780
6816
|
captures: n
|
|
6781
6817
|
};
|
|
6782
6818
|
}
|
|
6783
|
-
var
|
|
6819
|
+
var zc = (e, t, n, r, i) => {
|
|
6784
6820
|
!Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
|
|
6785
6821
|
kind: t,
|
|
6786
6822
|
label: n,
|
|
@@ -6789,16 +6825,16 @@ var Lc = (e, t, n, r, i) => {
|
|
|
6789
6825
|
delta: i - r,
|
|
6790
6826
|
unit: "px"
|
|
6791
6827
|
});
|
|
6792
|
-
},
|
|
6828
|
+
}, Bc = (e, t, n, r) => e.push({
|
|
6793
6829
|
kind: "missing",
|
|
6794
6830
|
evidence: t,
|
|
6795
6831
|
id: n,
|
|
6796
6832
|
label: r
|
|
6797
|
-
}),
|
|
6798
|
-
function
|
|
6833
|
+
}), Vc = (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;
|
|
6834
|
+
function Hc(e) {
|
|
6799
6835
|
let t = e.runtime.annotation(e.annotationId);
|
|
6800
6836
|
if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
|
|
6801
|
-
let n =
|
|
6837
|
+
let n = Fc({
|
|
6802
6838
|
runtime: e.runtime,
|
|
6803
6839
|
ownerDocument: e.ownerDocument,
|
|
6804
6840
|
ownerWindow: e.ownerWindow,
|
|
@@ -6808,42 +6844,42 @@ function Bc(e) {
|
|
|
6808
6844
|
if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
|
|
6809
6845
|
let r = e.runtime.snapshot();
|
|
6810
6846
|
if (!r) throw Error("Mesurer workspace is not ready yet.");
|
|
6811
|
-
let i =
|
|
6847
|
+
let i = xc({
|
|
6812
6848
|
measurements: r.measurements,
|
|
6813
6849
|
activeMeasurement: r.activeMeasurement
|
|
6814
6850
|
}), a = [];
|
|
6815
6851
|
for (let e of t.baseline.targets) {
|
|
6816
6852
|
let t = n.targets.find((t) => t.ref === e.id);
|
|
6817
6853
|
if (!t) {
|
|
6818
|
-
|
|
6854
|
+
Bc(a, "target", e.id, e.selector);
|
|
6819
6855
|
continue;
|
|
6820
6856
|
}
|
|
6821
|
-
|
|
6857
|
+
zc(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), zc(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), zc(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), zc(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
|
|
6822
6858
|
}
|
|
6823
6859
|
for (let e of t.baseline.guides) {
|
|
6824
6860
|
let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
|
|
6825
6861
|
if (!t) {
|
|
6826
|
-
|
|
6862
|
+
Bc(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
|
|
6827
6863
|
continue;
|
|
6828
6864
|
}
|
|
6829
|
-
|
|
6865
|
+
zc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
|
|
6830
6866
|
}
|
|
6831
6867
|
for (let e of t.baseline.measurements) {
|
|
6832
6868
|
let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
|
|
6833
6869
|
if (!r) {
|
|
6834
|
-
let r = t.baseline.targets.find((t) =>
|
|
6835
|
-
r && n.targets.some((e) => e.ref === r.id) ||
|
|
6870
|
+
let r = t.baseline.targets.find((t) => Vc(t.rect, e.rect));
|
|
6871
|
+
r && n.targets.some((e) => e.ref === r.id) || Bc(a, "measurement", e.id, e.id);
|
|
6836
6872
|
continue;
|
|
6837
6873
|
}
|
|
6838
|
-
|
|
6874
|
+
zc(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), zc(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
|
|
6839
6875
|
}
|
|
6840
6876
|
for (let e of t.baseline.distances) {
|
|
6841
6877
|
let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
|
|
6842
6878
|
if (!t) {
|
|
6843
|
-
|
|
6879
|
+
Bc(a, "distance", e.id, e.id);
|
|
6844
6880
|
continue;
|
|
6845
6881
|
}
|
|
6846
|
-
e.horizontal && t.horizontal ?
|
|
6882
|
+
e.horizontal && t.horizontal ? zc(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Bc(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? zc(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Bc(a, "distance", e.id, `${e.id} vertical`);
|
|
6847
6883
|
}
|
|
6848
6884
|
return {
|
|
6849
6885
|
schema: "mesurer.review/v1",
|
|
@@ -6855,7 +6891,7 @@ function Bc(e) {
|
|
|
6855
6891
|
changes: a
|
|
6856
6892
|
};
|
|
6857
6893
|
}
|
|
6858
|
-
async function
|
|
6894
|
+
async function Uc(e, t, n) {
|
|
6859
6895
|
try {
|
|
6860
6896
|
if (t.navigator.clipboard?.writeText) {
|
|
6861
6897
|
await t.navigator.clipboard.writeText(n);
|
|
@@ -6869,43 +6905,43 @@ async function Vc(e, t, n) {
|
|
|
6869
6905
|
}
|
|
6870
6906
|
//#endregion
|
|
6871
6907
|
//#region src/layout-guides.ts
|
|
6872
|
-
var
|
|
6873
|
-
...
|
|
6874
|
-
version:
|
|
6875
|
-
}),
|
|
6908
|
+
var Wc = as, Gc = os, Kc = ss, qc = cs, Jc = () => ({
|
|
6909
|
+
...Ms(),
|
|
6910
|
+
version: dc
|
|
6911
|
+
}), Yc = "mesurer.context", Xc = "context:v1", Zc = "mesurer.context.settings", Qc = "context.ui", $c = "data-mesurer-direct-text-edit-active", el = {
|
|
6876
6912
|
viewBox: "0 0 256 256",
|
|
6877
6913
|
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"]
|
|
6878
|
-
},
|
|
6914
|
+
}, tl = {
|
|
6879
6915
|
viewBox: "0 0 256 256",
|
|
6880
6916
|
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"]
|
|
6881
|
-
},
|
|
6917
|
+
}, nl = {
|
|
6882
6918
|
viewBox: "0 0 256 256",
|
|
6883
6919
|
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"]
|
|
6884
|
-
},
|
|
6920
|
+
}, rl = async (e, t, n = 1) => {
|
|
6885
6921
|
await e.fonts?.ready;
|
|
6886
6922
|
for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
|
|
6887
|
-
},
|
|
6888
|
-
let i = async (i) =>
|
|
6923
|
+
}, il = (e, t, n, r) => {
|
|
6924
|
+
let i = async (i) => Fc({
|
|
6889
6925
|
runtime: e,
|
|
6890
6926
|
ownerDocument: t,
|
|
6891
6927
|
ownerWindow: n,
|
|
6892
6928
|
request: i,
|
|
6893
6929
|
layoutGuides: r()
|
|
6894
|
-
}), a = async (e) =>
|
|
6930
|
+
}), a = async (e) => Lc(await i(e));
|
|
6895
6931
|
return {
|
|
6896
6932
|
context: i,
|
|
6897
6933
|
contextText: a,
|
|
6898
|
-
copyContext: async (e) =>
|
|
6934
|
+
copyContext: async (e) => Uc(t, n, await a(e)),
|
|
6899
6935
|
select: async (r) => {
|
|
6900
6936
|
let a = Array.isArray(r) ? [...r] : [String(r)];
|
|
6901
|
-
return e.select(a), await
|
|
6937
|
+
return e.select(a), await rl(t, n), i({ scope: "selection" });
|
|
6902
6938
|
},
|
|
6903
6939
|
annotations: async () => e.annotations(),
|
|
6904
6940
|
removeAnnotation: async (r) => {
|
|
6905
|
-
e.removeAnnotation(r), await
|
|
6941
|
+
e.removeAnnotation(r), await rl(t, n);
|
|
6906
6942
|
},
|
|
6907
6943
|
review: async (i) => {
|
|
6908
|
-
if (await
|
|
6944
|
+
if (await rl(t, n), i) return Hc({
|
|
6909
6945
|
runtime: e,
|
|
6910
6946
|
ownerDocument: t,
|
|
6911
6947
|
ownerWindow: n,
|
|
@@ -6913,7 +6949,7 @@ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
|
|
|
6913
6949
|
layoutGuides: r()
|
|
6914
6950
|
});
|
|
6915
6951
|
let a = r();
|
|
6916
|
-
return e.annotations().map((r) =>
|
|
6952
|
+
return e.annotations().map((r) => Hc({
|
|
6917
6953
|
runtime: e,
|
|
6918
6954
|
ownerDocument: t,
|
|
6919
6955
|
ownerWindow: n,
|
|
@@ -6921,38 +6957,38 @@ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
|
|
|
6921
6957
|
layoutGuides: a
|
|
6922
6958
|
}));
|
|
6923
6959
|
},
|
|
6924
|
-
capturePlan: async (e) =>
|
|
6960
|
+
capturePlan: async (e) => Rc(await i(e)),
|
|
6925
6961
|
prepareCapture: async () => {
|
|
6926
|
-
e.prepareCapture(), await
|
|
6962
|
+
e.prepareCapture(), await rl(t, n);
|
|
6927
6963
|
},
|
|
6928
6964
|
finishCapture: async () => {
|
|
6929
|
-
e.finishCapture(), await
|
|
6965
|
+
e.finishCapture(), await rl(t, n);
|
|
6930
6966
|
}
|
|
6931
6967
|
};
|
|
6932
|
-
},
|
|
6968
|
+
}, al = (e) => {
|
|
6933
6969
|
let t = e.currentSelection();
|
|
6934
6970
|
return t.elements.length > 0 || t.region !== null;
|
|
6935
6971
|
};
|
|
6936
|
-
function
|
|
6972
|
+
function ol(e = {}) {
|
|
6937
6973
|
return {
|
|
6938
|
-
id:
|
|
6939
|
-
version:
|
|
6974
|
+
id: Yc,
|
|
6975
|
+
version: dc,
|
|
6940
6976
|
requires: ["runtime:solid"],
|
|
6941
|
-
provides: [
|
|
6977
|
+
provides: [Xc],
|
|
6942
6978
|
setup(t) {
|
|
6943
6979
|
let n = t.service.get("runtime:solid");
|
|
6944
6980
|
if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
|
|
6945
|
-
let r = n.createWorkspaceRuntime(
|
|
6946
|
-
t.service.provide(
|
|
6947
|
-
id:
|
|
6981
|
+
let r = n.createWorkspaceRuntime(Yc), i = il(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Gc)?.list() ?? []);
|
|
6982
|
+
t.service.provide(Xc, i), t.state.register({
|
|
6983
|
+
id: Zc,
|
|
6948
6984
|
initial: { ui: e.ui ?? !0 },
|
|
6949
6985
|
persist: !0
|
|
6950
6986
|
}), t.state.register({
|
|
6951
|
-
id:
|
|
6952
|
-
initial: { hasSelection:
|
|
6987
|
+
id: Qc,
|
|
6988
|
+
initial: { hasSelection: al(r) }
|
|
6953
6989
|
});
|
|
6954
|
-
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(
|
|
6955
|
-
t.state.update(
|
|
6990
|
+
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Qc)?.hasSelection === !0, s = (e) => {
|
|
6991
|
+
t.state.update(Zc, (t) => ({
|
|
6956
6992
|
...t,
|
|
6957
6993
|
ui: e
|
|
6958
6994
|
}));
|
|
@@ -6966,21 +7002,21 @@ function il(e = {}) {
|
|
|
6966
7002
|
region: e.region ? { ...e.region } : null
|
|
6967
7003
|
}, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
|
|
6968
7004
|
let i = e.elements.length > 0 || e.region !== null;
|
|
6969
|
-
i !== (t.state.get(
|
|
7005
|
+
i !== (t.state.get(Qc)?.hasSelection ?? !1) && t.state.update(Qc, () => ({ hasSelection: i }));
|
|
6970
7006
|
});
|
|
6971
7007
|
t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
|
|
6972
7008
|
let g = () => {
|
|
6973
7009
|
let e = u?.element;
|
|
6974
|
-
e && (n.rendererRoot?.hasAttribute(
|
|
7010
|
+
e && (n.rendererRoot?.hasAttribute($c) ? e.setAttribute($c, "true") : e.removeAttribute($c));
|
|
6975
7011
|
}, _ = () => {
|
|
6976
7012
|
d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
|
|
6977
7013
|
}, v = () => {
|
|
6978
7014
|
if (u) return;
|
|
6979
|
-
if (u =
|
|
7015
|
+
if (u = Fo(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
|
|
6980
7016
|
let e = new n.ownerWindow.MutationObserver(g);
|
|
6981
7017
|
d = e, e.observe(n.rendererRoot, {
|
|
6982
7018
|
attributes: !0,
|
|
6983
|
-
attributeFilter: [
|
|
7019
|
+
attributeFilter: [$c]
|
|
6984
7020
|
}), g();
|
|
6985
7021
|
}
|
|
6986
7022
|
let e = {
|
|
@@ -6991,7 +7027,7 @@ function il(e = {}) {
|
|
|
6991
7027
|
},
|
|
6992
7028
|
coordinateSpace: "document"
|
|
6993
7029
|
};
|
|
6994
|
-
l = Dn(() => qt(
|
|
7030
|
+
l = Dn(() => qt(jo, En(e, { get ownerWindow() {
|
|
6995
7031
|
return n.ownerWindow;
|
|
6996
7032
|
} })), u.element);
|
|
6997
7033
|
}, y = () => {
|
|
@@ -7003,7 +7039,7 @@ function il(e = {}) {
|
|
|
7003
7039
|
shortcut: "C",
|
|
7004
7040
|
command: "context.copy",
|
|
7005
7041
|
order: 70,
|
|
7006
|
-
icon:
|
|
7042
|
+
icon: el,
|
|
7007
7043
|
hidden: () => !a()
|
|
7008
7044
|
}), t.tool.register({
|
|
7009
7045
|
id: "context.copy-selection",
|
|
@@ -7011,7 +7047,7 @@ function il(e = {}) {
|
|
|
7011
7047
|
shortcut: "Shift+C",
|
|
7012
7048
|
command: "context.copy-selection",
|
|
7013
7049
|
order: 71,
|
|
7014
|
-
icon:
|
|
7050
|
+
icon: tl,
|
|
7015
7051
|
hidden: () => !a(),
|
|
7016
7052
|
disabled: () => !o()
|
|
7017
7053
|
}), t.tool.register({
|
|
@@ -7020,7 +7056,7 @@ function il(e = {}) {
|
|
|
7020
7056
|
shortcut: "N",
|
|
7021
7057
|
command: "context.add-note",
|
|
7022
7058
|
order: 72,
|
|
7023
|
-
icon:
|
|
7059
|
+
icon: nl,
|
|
7024
7060
|
hidden: () => !a(),
|
|
7025
7061
|
disabled: () => !o()
|
|
7026
7062
|
}), t.settings.register({
|
|
@@ -7043,28 +7079,28 @@ function il(e = {}) {
|
|
|
7043
7079
|
}
|
|
7044
7080
|
//#endregion
|
|
7045
7081
|
//#region src/codex-plugin.ts
|
|
7046
|
-
var
|
|
7082
|
+
var sl = "mesurer.codex", cl = "codex:v1", ll = "http://127.0.0.1:47365", ul = 2e3, dl = 750, fl = 1800, pl = 2e3, ml = 12e4, hl = 10, gl = 5, _l = [
|
|
7047
7083
|
"Implement the current human feedback from Mesurer in this project.",
|
|
7048
7084
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
7049
7085
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
7050
|
-
].join(" "),
|
|
7086
|
+
].join(" "), vl = {
|
|
7051
7087
|
viewBox: "0 0 256 256",
|
|
7052
7088
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
7053
|
-
},
|
|
7089
|
+
}, yl = {
|
|
7054
7090
|
viewBox: "0 0 256 256",
|
|
7055
7091
|
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"]
|
|
7056
|
-
},
|
|
7092
|
+
}, bl = {
|
|
7057
7093
|
viewBox: "0 0 256 256",
|
|
7058
7094
|
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"]
|
|
7059
|
-
},
|
|
7095
|
+
}, xl = (e) => {
|
|
7060
7096
|
try {
|
|
7061
7097
|
let t = globalThis.location;
|
|
7062
7098
|
return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
|
|
7063
7099
|
} catch {
|
|
7064
7100
|
return null;
|
|
7065
7101
|
}
|
|
7066
|
-
},
|
|
7067
|
-
let t =
|
|
7102
|
+
}, Sl = (e) => {
|
|
7103
|
+
let t = xl(e);
|
|
7068
7104
|
if (!t) return null;
|
|
7069
7105
|
try {
|
|
7070
7106
|
let e = globalThis.sessionStorage?.getItem(t);
|
|
@@ -7089,18 +7125,18 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
|
|
|
7089
7125
|
} catch {
|
|
7090
7126
|
return null;
|
|
7091
7127
|
}
|
|
7092
|
-
},
|
|
7093
|
-
let n =
|
|
7128
|
+
}, Cl = (e, t) => {
|
|
7129
|
+
let n = xl(e);
|
|
7094
7130
|
if (n) try {
|
|
7095
7131
|
globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
|
|
7096
7132
|
} catch {}
|
|
7097
|
-
},
|
|
7133
|
+
}, wl = (e, t) => {
|
|
7098
7134
|
let n = e.endsWith("/") ? e : `${e}/`;
|
|
7099
7135
|
return new URL(t, n).toString();
|
|
7100
|
-
},
|
|
7136
|
+
}, Tl = async (e, t, n) => {
|
|
7101
7137
|
let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
|
|
7102
7138
|
try {
|
|
7103
|
-
let i = await fetch(
|
|
7139
|
+
let i = await fetch(wl(e, t), {
|
|
7104
7140
|
...n,
|
|
7105
7141
|
signal: r.signal
|
|
7106
7142
|
}), a = await i.text(), o = {};
|
|
@@ -7116,10 +7152,10 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
|
|
|
7116
7152
|
} finally {
|
|
7117
7153
|
clearTimeout(i);
|
|
7118
7154
|
}
|
|
7119
|
-
},
|
|
7155
|
+
}, El = (e) => ({
|
|
7120
7156
|
thread: e.thread?.trim() || null,
|
|
7121
7157
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
7122
|
-
}),
|
|
7158
|
+
}), Dl = (e) => {
|
|
7123
7159
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
7124
7160
|
if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
|
|
7125
7161
|
let i = {
|
|
@@ -7131,7 +7167,7 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
|
|
|
7131
7167
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
7132
7168
|
};
|
|
7133
7169
|
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;
|
|
7134
|
-
},
|
|
7170
|
+
}, Ol = (e) => ({
|
|
7135
7171
|
thread: e.thread?.trim() || null,
|
|
7136
7172
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
7137
7173
|
let t = e.id?.trim() ?? "";
|
|
@@ -7143,7 +7179,7 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
|
|
|
7143
7179
|
}] : [];
|
|
7144
7180
|
}) : [],
|
|
7145
7181
|
hasMore: e.hasMore === !0
|
|
7146
|
-
}),
|
|
7182
|
+
}), kl = async (e, t, n) => {
|
|
7147
7183
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
7148
7184
|
let t = i.find((t) => t.id === e);
|
|
7149
7185
|
return t ? [t] : [];
|
|
@@ -7166,18 +7202,18 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
|
|
|
7166
7202
|
])
|
|
7167
7203
|
].join("\n").trimEnd()
|
|
7168
7204
|
};
|
|
7169
|
-
},
|
|
7170
|
-
function
|
|
7171
|
-
let t = e.endpoint ??
|
|
7205
|
+
}, Al = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, jl = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Ml = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
|
|
7206
|
+
function Nl(e = {}) {
|
|
7207
|
+
let t = e.endpoint ?? ll, n = e.instruction?.trim() || _l, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
|
|
7172
7208
|
return {
|
|
7173
|
-
id:
|
|
7174
|
-
version:
|
|
7175
|
-
requires: [
|
|
7176
|
-
provides: [
|
|
7209
|
+
id: sl,
|
|
7210
|
+
version: dc,
|
|
7211
|
+
requires: [Xc],
|
|
7212
|
+
provides: [cl],
|
|
7177
7213
|
setup(e) {
|
|
7178
|
-
let a = e.service.get(
|
|
7214
|
+
let a = e.service.get(Xc);
|
|
7179
7215
|
if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
7180
|
-
let o = r ?
|
|
7216
|
+
let o = r ? Sl(t) : null, s = "unknown", c = !1, l = o?.originThread ?? null, u = o?.selectedThread ?? o?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = gl, _, v = "", y = null, b = o?.delivery ? {
|
|
7181
7217
|
id: o.delivery.id,
|
|
7182
7218
|
thread: o.delivery.thread,
|
|
7183
7219
|
status: o.delivery.status,
|
|
@@ -7185,22 +7221,22 @@ function jl(e = {}) {
|
|
|
7185
7221
|
queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
|
|
7186
7222
|
dispatch: o.delivery.dispatch ?? null,
|
|
7187
7223
|
dispatchError: o.delivery.dispatchError ?? null
|
|
7188
|
-
} : null, x = 0, S = 0, C = null, w = !1, T = async () =>
|
|
7224
|
+
} : null, x = 0, S = 0, C = null, w = !1, T = async () => El(await Tl(t, "health")), E = async (e) => Dl(await Tl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
|
|
7189
7225
|
if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
|
|
7190
7226
|
let n = {
|
|
7191
7227
|
deliveryId: e.id,
|
|
7192
7228
|
thread: e.thread
|
|
7193
7229
|
};
|
|
7194
|
-
return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId),
|
|
7230
|
+
return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Dl(await Tl(t, "deliveries/restore", {
|
|
7195
7231
|
method: "POST",
|
|
7196
7232
|
headers: { "Content-Type": "application/json" },
|
|
7197
7233
|
body: JSON.stringify(n)
|
|
7198
7234
|
}));
|
|
7199
7235
|
}, O = async (e = {}) => {
|
|
7200
7236
|
let n = new URLSearchParams();
|
|
7201
|
-
n.set("limit", String(e.limit ??
|
|
7237
|
+
n.set("limit", String(e.limit ?? hl));
|
|
7202
7238
|
let r = e.thread?.trim();
|
|
7203
|
-
return r && n.set("thread", r),
|
|
7239
|
+
return r && n.set("thread", r), Ol(await Tl(t, `threads?${n.toString()}`));
|
|
7204
7240
|
}, k = () => u ?? l ?? (d ? null : f), A = () => {
|
|
7205
7241
|
if (!r) return;
|
|
7206
7242
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
|
|
@@ -7212,7 +7248,7 @@ function jl(e = {}) {
|
|
|
7212
7248
|
dispatch: b.dispatch,
|
|
7213
7249
|
dispatchError: b.dispatchError
|
|
7214
7250
|
} : null;
|
|
7215
|
-
|
|
7251
|
+
Cl(t, {
|
|
7216
7252
|
version: 1,
|
|
7217
7253
|
originThread: l,
|
|
7218
7254
|
selectedThread: u,
|
|
@@ -7226,16 +7262,16 @@ function jl(e = {}) {
|
|
|
7226
7262
|
"queued",
|
|
7227
7263
|
"working",
|
|
7228
7264
|
"completed"
|
|
7229
|
-
].includes(b.status), ee = () => b?.status === "queued" && (b.dispatch === "desktop-send-uncertain" || b.dispatch === "desktop-wait-failed"), N = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed",
|
|
7265
|
+
].includes(b.status), ee = () => b?.status === "queued" && (b.dispatch === "desktop-send-uncertain" || b.dispatch === "desktop-wait-failed"), N = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed", te = () => b ? b.status === "queueing" ? "Queueing to Codex…" : ee() ? "Codex delivery blocked" : b.status === "queued" ? "Queued for Codex" : b.status === "working" ? "Codex working…" : b.status === "completed" ? "Codex finished" : b.status === "interrupted" ? "Codex interrupted" : "Queue failed" : null, P = () => b ? [
|
|
7230
7266
|
"queueing",
|
|
7231
7267
|
"queued",
|
|
7232
7268
|
"working"
|
|
7233
|
-
].includes(b.status) ?
|
|
7269
|
+
].includes(b.status) ? yl : b.status === "completed" ? bl : vl : vl, ne = () => {
|
|
7234
7270
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
7235
7271
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
7236
7272
|
}, r = (e) => ({
|
|
7237
7273
|
id: e,
|
|
7238
|
-
title: `Codex ${
|
|
7274
|
+
title: `Codex ${Al(e)}`,
|
|
7239
7275
|
updatedAt: null,
|
|
7240
7276
|
connected: !0
|
|
7241
7277
|
});
|
|
@@ -7245,34 +7281,34 @@ function jl(e = {}) {
|
|
|
7245
7281
|
for (let e of m) n(e);
|
|
7246
7282
|
for (let e of p) n(m.find((t) => t.id === e) ?? r(e));
|
|
7247
7283
|
return e;
|
|
7248
|
-
},
|
|
7284
|
+
}, F = (e = !1) => Promise.resolve(), I = () => {
|
|
7249
7285
|
if (s !== "available") return [{
|
|
7250
7286
|
id: "codex.thread.connect",
|
|
7251
7287
|
label: s === "unavailable" ? "Retry Codex connection" : "Choose Codex thread…",
|
|
7252
|
-
run: () =>
|
|
7288
|
+
run: () => F(!0)
|
|
7253
7289
|
}];
|
|
7254
|
-
let e =
|
|
7290
|
+
let e = ne(), t = e.slice(0, g), n = k(), r = t.map((e) => {
|
|
7255
7291
|
let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${ee() ? "Blocked" : N(b.status)}` : "";
|
|
7256
7292
|
return {
|
|
7257
7293
|
id: `codex.thread.${e.id}`,
|
|
7258
|
-
label: `${t}${
|
|
7294
|
+
label: `${t}${jl(e.title)}${r}`,
|
|
7259
7295
|
checked: () => n === e.id,
|
|
7260
7296
|
disabled: () => M(),
|
|
7261
7297
|
run() {
|
|
7262
|
-
M() || (j(e.id, !l),
|
|
7298
|
+
M() || (j(e.id, !l), L());
|
|
7263
7299
|
}
|
|
7264
7300
|
};
|
|
7265
7301
|
});
|
|
7266
|
-
return g <
|
|
7302
|
+
return g < hl && (e.length > g || h) && r.push({
|
|
7267
7303
|
id: "codex.thread.show-more",
|
|
7268
7304
|
label: "Show 5 more…",
|
|
7269
7305
|
run() {
|
|
7270
|
-
g =
|
|
7306
|
+
g = hl, L();
|
|
7271
7307
|
}
|
|
7272
7308
|
}), r;
|
|
7273
|
-
},
|
|
7309
|
+
}, L = () => {
|
|
7274
7310
|
if (!r || w) return;
|
|
7275
|
-
let t = k(), n =
|
|
7311
|
+
let t = k(), n = I(), i = !M() && !d && s !== "unavailable" && (s === "unknown" || !!t), a = te() ?? (s === "unavailable" ? "Codex unavailable" : d || s === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), o = JSON.stringify({
|
|
7276
7312
|
bridgeAvailability: s,
|
|
7277
7313
|
routeNeedsSelection: d,
|
|
7278
7314
|
target: t,
|
|
@@ -7291,50 +7327,50 @@ function jl(e = {}) {
|
|
|
7291
7327
|
label: a,
|
|
7292
7328
|
command: "codex.queue",
|
|
7293
7329
|
order: 73,
|
|
7294
|
-
icon:
|
|
7330
|
+
icon: P(),
|
|
7295
7331
|
disabled: () => !i,
|
|
7296
7332
|
menu: n.length ? {
|
|
7297
7333
|
label: "Codex destination",
|
|
7298
7334
|
items: n
|
|
7299
7335
|
} : void 0
|
|
7300
7336
|
}));
|
|
7301
|
-
},
|
|
7337
|
+
}, R = async () => {
|
|
7302
7338
|
if (s !== "available") return;
|
|
7303
7339
|
let e = l && p.includes(l) ? l : f;
|
|
7304
7340
|
try {
|
|
7305
7341
|
let t = await O({
|
|
7306
|
-
limit:
|
|
7342
|
+
limit: hl,
|
|
7307
7343
|
thread: e ?? void 0
|
|
7308
7344
|
});
|
|
7309
7345
|
m = t.threads, h = t.hasMore;
|
|
7310
7346
|
} catch {
|
|
7311
7347
|
m = p.map((e) => ({
|
|
7312
7348
|
id: e,
|
|
7313
|
-
title: `Codex ${
|
|
7349
|
+
title: `Codex ${Al(e)}`,
|
|
7314
7350
|
updatedAt: null,
|
|
7315
7351
|
connected: !0
|
|
7316
7352
|
})), h = !1;
|
|
7317
7353
|
}
|
|
7318
7354
|
};
|
|
7319
|
-
|
|
7355
|
+
F = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
|
|
7320
7356
|
try {
|
|
7321
7357
|
let e = await T(), t = e.thread !== f;
|
|
7322
7358
|
s = "available", c = !0, f = e.thread, p = e.threads;
|
|
7323
7359
|
let n = u ?? l;
|
|
7324
|
-
n ? d = !e.threads.includes(n) : e.threads.length === 1 ? j(e.threads[0], !0) : d = (e.threads.length, !0), (t || m.length === 0 || d) && await
|
|
7360
|
+
n ? d = !e.threads.includes(n) : e.threads.length === 1 ? j(e.threads[0], !0) : d = (e.threads.length, !0), (t || m.length === 0 || d) && await R(), d && n && m.some((e) => e.id === n) && (d = !1, A());
|
|
7325
7361
|
} catch (e) {
|
|
7326
7362
|
throw s = "unavailable", e;
|
|
7327
7363
|
} finally {
|
|
7328
|
-
y = null,
|
|
7364
|
+
y = null, L();
|
|
7329
7365
|
}
|
|
7330
7366
|
})(), y);
|
|
7331
|
-
let
|
|
7367
|
+
let z = () => {
|
|
7332
7368
|
x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
|
|
7333
|
-
},
|
|
7369
|
+
}, B = () => {
|
|
7334
7370
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
7335
|
-
S = 0, b?.status === "completed" && (b = null, A(),
|
|
7336
|
-
},
|
|
7337
|
-
},
|
|
7371
|
+
S = 0, b?.status === "completed" && (b = null, A(), L());
|
|
7372
|
+
}, fl);
|
|
7373
|
+
}, V = async (e) => {
|
|
7338
7374
|
if (!(!b || b.id !== e.id)) {
|
|
7339
7375
|
if (b = {
|
|
7340
7376
|
...b,
|
|
@@ -7345,44 +7381,44 @@ function jl(e = {}) {
|
|
|
7345
7381
|
dispatchError: e.dispatchError ?? b.dispatchError
|
|
7346
7382
|
}, A(), e.status === "completed") {
|
|
7347
7383
|
if (i) for (let e of b.annotationIds) await a.removeAnnotation(e);
|
|
7348
|
-
A(),
|
|
7384
|
+
A(), L(), B();
|
|
7349
7385
|
return;
|
|
7350
7386
|
}
|
|
7351
7387
|
if (e.status === "interrupted") {
|
|
7352
|
-
A(),
|
|
7388
|
+
A(), L();
|
|
7353
7389
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
7354
|
-
Date.now() - t <
|
|
7390
|
+
Date.now() - t < ml && (x = globalThis.setTimeout(() => {
|
|
7355
7391
|
x = 0, re(e.id);
|
|
7356
|
-
},
|
|
7392
|
+
}, pl));
|
|
7357
7393
|
return;
|
|
7358
7394
|
}
|
|
7359
|
-
|
|
7395
|
+
L(), x = globalThis.setTimeout(() => {
|
|
7360
7396
|
x = 0, re(e.id);
|
|
7361
|
-
},
|
|
7397
|
+
}, dl);
|
|
7362
7398
|
}
|
|
7363
7399
|
}, re = async (e) => {
|
|
7364
7400
|
if (!(w || b?.id !== e)) try {
|
|
7365
|
-
await
|
|
7401
|
+
await V(await E(e));
|
|
7366
7402
|
} catch (n) {
|
|
7367
7403
|
if (b?.id !== e) return;
|
|
7368
7404
|
let r = n;
|
|
7369
7405
|
if (b.status === "queued" && b.thread) try {
|
|
7370
|
-
s !== "available" && await
|
|
7406
|
+
s !== "available" && await F(!0);
|
|
7371
7407
|
let e = await D(b);
|
|
7372
|
-
await
|
|
7408
|
+
await V(e);
|
|
7373
7409
|
return;
|
|
7374
7410
|
} catch (e) {
|
|
7375
7411
|
r = e;
|
|
7376
7412
|
}
|
|
7377
7413
|
if (b?.id !== e) return;
|
|
7378
7414
|
if (b.status === "interrupted") {
|
|
7379
|
-
|
|
7415
|
+
L();
|
|
7380
7416
|
return;
|
|
7381
7417
|
}
|
|
7382
7418
|
b = {
|
|
7383
7419
|
...b,
|
|
7384
7420
|
status: "failed"
|
|
7385
|
-
}, A(),
|
|
7421
|
+
}, A(), Ml(r, t) && (s = "unavailable"), L();
|
|
7386
7422
|
}
|
|
7387
7423
|
}, H = {
|
|
7388
7424
|
health: T,
|
|
@@ -7391,20 +7427,20 @@ function jl(e = {}) {
|
|
|
7391
7427
|
async useThread(e) {
|
|
7392
7428
|
let n = e.trim();
|
|
7393
7429
|
if (!n) throw Error("Codex thread must be a non-empty string.");
|
|
7394
|
-
let r =
|
|
7430
|
+
let r = El(await Tl(t, "target", {
|
|
7395
7431
|
method: "POST",
|
|
7396
7432
|
headers: { "Content-Type": "application/json" },
|
|
7397
7433
|
body: JSON.stringify({ thread: n })
|
|
7398
7434
|
}));
|
|
7399
|
-
return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0,
|
|
7435
|
+
return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, L(), r;
|
|
7400
7436
|
},
|
|
7401
7437
|
async queue(e) {
|
|
7402
|
-
let i = await
|
|
7438
|
+
let i = await kl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
|
|
7403
7439
|
if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
7404
7440
|
let l = { message: i.message };
|
|
7405
7441
|
c && (l.thread = c);
|
|
7406
7442
|
try {
|
|
7407
|
-
let e = await
|
|
7443
|
+
let e = await Tl(t, "send", {
|
|
7408
7444
|
method: "POST",
|
|
7409
7445
|
headers: { "Content-Type": "application/json" },
|
|
7410
7446
|
body: JSON.stringify(l)
|
|
@@ -7420,16 +7456,16 @@ function jl(e = {}) {
|
|
|
7420
7456
|
};
|
|
7421
7457
|
return e.queuedSubmissionId !== void 0 && (r.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (r.dispatch = e.dispatch), e.dispatchError !== void 0 && (r.dispatchError = e.dispatchError?.trim() || null), r;
|
|
7422
7458
|
} catch (e) {
|
|
7423
|
-
throw r &&
|
|
7459
|
+
throw r && Ml(e, t) && (s = "unavailable", L()), e;
|
|
7424
7460
|
}
|
|
7425
7461
|
},
|
|
7426
7462
|
send(e) {
|
|
7427
7463
|
return H.queue(e);
|
|
7428
7464
|
}
|
|
7429
7465
|
};
|
|
7430
|
-
e.service.provide(
|
|
7466
|
+
e.service.provide(cl, H);
|
|
7431
7467
|
let ie = async () => {
|
|
7432
|
-
if (!(C || M())) return
|
|
7468
|
+
if (!(C || M())) return z(), b = {
|
|
7433
7469
|
id: null,
|
|
7434
7470
|
thread: k(),
|
|
7435
7471
|
status: "queueing",
|
|
@@ -7437,9 +7473,9 @@ function jl(e = {}) {
|
|
|
7437
7473
|
queuedSubmissionId: null,
|
|
7438
7474
|
dispatch: null,
|
|
7439
7475
|
dispatchError: null
|
|
7440
|
-
},
|
|
7476
|
+
}, L(), C = (async () => {
|
|
7441
7477
|
try {
|
|
7442
|
-
r && s !== "available" && await
|
|
7478
|
+
r && s !== "available" && await F(!0);
|
|
7443
7479
|
let e = await H.queue();
|
|
7444
7480
|
b = {
|
|
7445
7481
|
id: e.deliveryId,
|
|
@@ -7449,7 +7485,7 @@ function jl(e = {}) {
|
|
|
7449
7485
|
queuedSubmissionId: e.queuedSubmissionId ?? null,
|
|
7450
7486
|
dispatch: e.dispatch ?? null,
|
|
7451
7487
|
dispatchError: e.dispatchError ?? null
|
|
7452
|
-
}, j(e.thread, !l), A(),
|
|
7488
|
+
}, j(e.thread, !l), A(), L(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await V({
|
|
7453
7489
|
id: e.deliveryId,
|
|
7454
7490
|
thread: e.thread,
|
|
7455
7491
|
status: e.status,
|
|
@@ -7458,11 +7494,11 @@ function jl(e = {}) {
|
|
|
7458
7494
|
updatedAt: 0
|
|
7459
7495
|
}) : x = globalThis.setTimeout(() => {
|
|
7460
7496
|
x = 0, re(e.deliveryId);
|
|
7461
|
-
},
|
|
7462
|
-
S = 0, b?.id === null && b?.status === "queued" && (b = null, A(),
|
|
7463
|
-
},
|
|
7497
|
+
}, dl) : S = globalThis.setTimeout(() => {
|
|
7498
|
+
S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), L());
|
|
7499
|
+
}, fl);
|
|
7464
7500
|
} catch (e) {
|
|
7465
|
-
b = null, A(),
|
|
7501
|
+
b = null, A(), L();
|
|
7466
7502
|
let t = e instanceof Error ? e.message : String(e);
|
|
7467
7503
|
throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
|
|
7468
7504
|
} finally {
|
|
@@ -7471,14 +7507,14 @@ function jl(e = {}) {
|
|
|
7471
7507
|
})(), C;
|
|
7472
7508
|
};
|
|
7473
7509
|
if (e.command.register("codex.queue", ie), e.command.register("codex.send", ie), r) {
|
|
7474
|
-
|
|
7510
|
+
L(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
|
|
7475
7511
|
x = 0, b?.id && re(b.id);
|
|
7476
7512
|
}, 0));
|
|
7477
7513
|
let t = globalThis.setInterval(() => {
|
|
7478
|
-
c &&
|
|
7479
|
-
},
|
|
7514
|
+
c && F().catch(() => void 0);
|
|
7515
|
+
}, ul);
|
|
7480
7516
|
e.lifecycle.onDispose(() => {
|
|
7481
|
-
w = !0,
|
|
7517
|
+
w = !0, z(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
7482
7518
|
});
|
|
7483
7519
|
}
|
|
7484
7520
|
}
|
|
@@ -7486,12 +7522,12 @@ function jl(e = {}) {
|
|
|
7486
7522
|
}
|
|
7487
7523
|
//#endregion
|
|
7488
7524
|
//#region src/screenshot.ts
|
|
7489
|
-
var
|
|
7490
|
-
...
|
|
7491
|
-
version:
|
|
7492
|
-
}),
|
|
7525
|
+
var Pl = qs, Fl = Ws, Il = Gs, Ll = Ks, Rl = 4, zl = Ur, Bl = (e, t) => br(e, t), Vl = (e = /* @__PURE__ */ new Date()) => xr(e), Hl = (e, t, n, r) => yr(e, t, n, r), Ul = (e, t, n) => vr(e, t, n), Wl = (e, t) => Br(e, t), Gl = (e) => Hr(e), Kl = (e = {}) => ({
|
|
7526
|
+
...uc(e),
|
|
7527
|
+
version: dc
|
|
7528
|
+
}), ql = (e) => Cr(e), Jl = (e) => ({
|
|
7493
7529
|
...e,
|
|
7494
|
-
version:
|
|
7495
|
-
}),
|
|
7530
|
+
version: dc
|
|
7531
|
+
}), Yl = () => Jl(oo()), Xl = () => Jl(so()), Zl = () => Jl(co()), Ql = () => Jl(lo()), $l = () => Jl(uo()), eu = () => Jl(fo()), tu = () => Jl(mo()), nu = () => Jl(po()), ru = () => ho().map(Jl), iu = (e = [], t = []) => go(e, t).map((e) => e.id.startsWith("mesurer.") ? Jl(e) : e);
|
|
7496
7532
|
//#endregion
|
|
7497
|
-
export {
|
|
7533
|
+
export { fc as MESURER_ARRANGE_ACTIVE_STATE_ID, pc as MESURER_ARRANGE_PLUGIN_ID, mc as MESURER_ARRANGE_SERVICE_ID, hc as MESURER_ARRANGE_SETTINGS_STATE_ID, gc as MESURER_ARRANGE_STATE_ID, sl as MESURER_CODEX_PLUGIN_ID, cl as MESURER_CODEX_SERVICE_ID, Yc as MESURER_CONTEXT_PLUGIN_ID, Xc as MESURER_CONTEXT_SERVICE_ID, Zc as MESURER_CONTEXT_SETTINGS_STATE_ID, qc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Wc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Gc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Kc as MESURER_LAYOUT_GUIDES_STATE_ID, Pl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Fl as MESURER_SCREENSHOT_PLUGIN_ID, Il as MESURER_SCREENSHOT_SERVICE_ID, Ll as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Rl as MIN_SCREENSHOT_SELECTION, _c as arrange, zl as captureVisibleTabPng, Nl as codex, Zl as colorPicker, iu as compose, ol as context, Bl as copyPngToClipboard, Vl as createScreenshotFilename, Hl as cropPngToViewportRect, ru as defaults, tu as distance, eu as guides, Jc as layoutGuides, Ul as normalizeScreenshotRect, Wl as prepareScreenshotCapture, Gl as releaseScreenshotCapture, Ql as rulers, Kl as screenshot, Yl as select, nu as settings, $l as typography, ql as waitForNextPaint, Xl as xray };
|