mesurer-solid 0.1.9 → 0.2.0-beta.1
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/AGENT_INTEGRATION.md +3 -1
- package/README.md +3 -3
- package/dist/index.js +2129 -2003
- package/dist/inject-script.js +17 -14
- package/dist/inject.js +2124 -1998
- package/dist/plugins.js +864 -863
- package/package.json +1 -1
- package/skills/mesurer-ui/SKILL.md +3 -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
|
+
F();
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
133
133
|
T || (T = !0, !O && !U.gt && queueMicrotask(W));
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function P(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 F() {
|
|
142
142
|
D || (D = !0, console.error("[REACTIVITY_HALTED]"));
|
|
143
143
|
}
|
|
144
|
-
var
|
|
144
|
+
var te = 0, I = class {
|
|
145
145
|
ke = null;
|
|
146
146
|
bt = [[], []];
|
|
147
147
|
vt = [];
|
|
@@ -162,7 +162,7 @@ var ne = 0, F = 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 = ++te;
|
|
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 ne = 0, F = class {
|
|
|
192
192
|
r && r.restoreQueues(n);
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
},
|
|
195
|
+
}, L = class e extends I {
|
|
196
196
|
gt = !1;
|
|
197
197
|
m = M();
|
|
198
198
|
static Ce;
|
|
@@ -242,7 +242,7 @@ var ne = 0, F = 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) ? (ne(), b.EE >= b.Ve && (ye(b, e.Ce), ne())) : (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 ne = 0, F = class {
|
|
|
294
294
|
for (let e of f) e.Ne ||= w;
|
|
295
295
|
}
|
|
296
296
|
};
|
|
297
|
-
function
|
|
297
|
+
function R(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 z = !1;
|
|
301
|
+
function B(e, t = !1) {
|
|
302
|
+
let n = e.Ke || tt, r = e.Le !== void 0, i = z;
|
|
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 z(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 V(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) && L.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) && L.me(t, !1, !0), (e.ge || e.pe) && L.un(e);
|
|
318
318
|
}
|
|
319
|
-
function
|
|
319
|
+
function ne() {
|
|
320
320
|
let e = ae.Qt;
|
|
321
|
-
for (let t = 0; t < e.length; t++)
|
|
321
|
+
for (let t = 0; t < e.length; t++) V(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 && ne(), !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, L.Ce), n) {
|
|
329
|
+
r && ne();
|
|
330
330
|
let t = e ?? U.m;
|
|
331
|
-
if (t.Me.length &&
|
|
331
|
+
if (t.Me.length && L.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 && (L.G(t.A), U.vt.length && H(U)), t.cn.size && L.Dt(t.cn, e), j(), f.size && L.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 L(), 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 && L.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) && L.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 = L.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 && R(t), t.De = e, L.Pe !== null && L.Pe(t, e), _(t) || B(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, L.Pe !== null && L.Pe(t, e), B(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) && L.Se(e), e.u && L.Oe !== null && L.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), L.Se !== null && L.Se(n), n.u && L.Oe !== null && L.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 && R(t), Xe(t, r, i, d, f);
|
|
812
812
|
}
|
|
813
813
|
});
|
|
814
814
|
}
|
|
815
|
-
|
|
815
|
+
L.Ce = nt, L.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 = L.je(t, !0);
|
|
827
827
|
e && (tt = e);
|
|
828
828
|
} else if (w && !n && w.Me.length) {
|
|
829
|
-
let e =
|
|
829
|
+
let e = L.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 && L.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 && L.$e(t);
|
|
846
846
|
let e = !1;
|
|
847
|
-
r && (t.ue = !0,
|
|
847
|
+
r && (t.ue = !0, L.Be !== null && (e = L.Be(t, f))), Xe(t, r ? 1 : 2, n, void 0, r ? t.Ke : void 0), e && L.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 ??= L.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) && L.Pe !== null && L.Pe(t, h)), t.o !== null && (!l || i || t._e !== e) && B(t, i || l);
|
|
864
|
+
} else if (l) t.De === o && R(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) && R(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), L.It !== null && L.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 (L.St === null && !Ze) return e();
|
|
991
991
|
let n = Ze;
|
|
992
992
|
Ze = !1;
|
|
993
993
|
try {
|
|
994
|
-
return
|
|
994
|
+
return L.St === null ? e() : L.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 L.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 || L.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 && L.Rt(e, r, t)) return e.Ue;
|
|
1026
|
+
let i = !t || tt !== null && L.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 L.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 && R(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && L.Pe !== null && L.Pe(e, t), e.de = C, B(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 && (R(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 P(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 P(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 P(n), n;
|
|
1099
1099
|
} finally {
|
|
1100
1100
|
e._t = e.Ue, e.Je = !1;
|
|
1101
1101
|
}
|
|
1102
1102
|
}
|
|
1103
|
-
|
|
1103
|
+
L.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) {
|
|
@@ -2103,40 +2103,202 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
|
|
|
2103
2103
|
e.blue
|
|
2104
2104
|
].map((e) => ur(e).toString(16).padStart(2, "0")).join("");
|
|
2105
2105
|
return e.alpha >= .999 ? `#${t}` : `#${t}${Math.round(e.alpha * 255).toString(16).padStart(2, "0")}`;
|
|
2106
|
-
}, fr =
|
|
2106
|
+
}, fr = "mesurer:capture-bridge-ping", pr = "mesurer:capture-bridge-request", mr = "mesurer:capture-bridge-response", hr = (e) => e.__MESURER_HOST__?.captureScreenshot, gr = (e) => {
|
|
2107
|
+
if (e instanceof Blob) return e;
|
|
2108
|
+
if (e instanceof Uint8Array) {
|
|
2109
|
+
let t = new Uint8Array(e.byteLength);
|
|
2110
|
+
return t.set(e), new Blob([t.buffer], { type: "image/png" });
|
|
2111
|
+
}
|
|
2112
|
+
if (e instanceof ArrayBuffer) return new Blob([e.slice(0)], { type: "image/png" });
|
|
2113
|
+
if (e == null) throw Error("Host screenshot capture returned no PNG data.");
|
|
2114
|
+
if (!e.png) throw Error("Host screenshot capture returned unsupported PNG data.");
|
|
2115
|
+
return gr(e.png);
|
|
2116
|
+
}, _r = async (e) => {
|
|
2117
|
+
let t = hr(e);
|
|
2118
|
+
return t ? gr(await t()) : null;
|
|
2119
|
+
}, vr = (e, t, n) => {
|
|
2120
|
+
let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
|
|
2121
|
+
return {
|
|
2122
|
+
left: r,
|
|
2123
|
+
top: i,
|
|
2124
|
+
width: Math.max(0, a - r),
|
|
2125
|
+
height: Math.max(0, o - i)
|
|
2126
|
+
};
|
|
2127
|
+
}, yr = async (e, t, n, r) => {
|
|
2128
|
+
let i = await createImageBitmap(e);
|
|
2129
|
+
try {
|
|
2130
|
+
let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
|
|
2131
|
+
u.width = c, u.height = l;
|
|
2132
|
+
let d = u.getContext("2d");
|
|
2133
|
+
if (!d) throw Error("Could not crop screenshot");
|
|
2134
|
+
return d.drawImage(i, o, s, c, l, 0, 0, c, l), await new Promise((e, t) => {
|
|
2135
|
+
u.toBlob((n) => {
|
|
2136
|
+
n ? e(n) : t(/* @__PURE__ */ Error("Could not crop screenshot"));
|
|
2137
|
+
}, "image/png");
|
|
2138
|
+
});
|
|
2139
|
+
} finally {
|
|
2140
|
+
i.close();
|
|
2141
|
+
}
|
|
2142
|
+
}, br = async (e, t) => {
|
|
2143
|
+
let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
|
|
2144
|
+
if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
|
|
2145
|
+
await n.write([new r({ "image/png": e })]);
|
|
2146
|
+
}, xr = (e = /* @__PURE__ */ new Date()) => {
|
|
2147
|
+
let t = (e) => String(e).padStart(2, "0");
|
|
2148
|
+
return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
|
|
2149
|
+
}, Sr = (e, t, n, r) => {
|
|
2150
|
+
let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
|
|
2151
|
+
a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
|
|
2152
|
+
}, Cr = (e) => new Promise((t) => {
|
|
2153
|
+
e.requestAnimationFrame(() => {
|
|
2154
|
+
e.requestAnimationFrame(() => t());
|
|
2155
|
+
});
|
|
2156
|
+
}), wr = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, Tr = (e, t, n = "") => `${e}:${t}:${n}`, Er = (e) => e.location.origin === "null" ? "*" : e.location.origin, Dr = (e, t, n) => {
|
|
2157
|
+
let r = `${t}:${n}:`;
|
|
2158
|
+
return e.startsWith(r) ? e.slice(r.length) : null;
|
|
2159
|
+
}, Or = (e) => new Promise((t) => {
|
|
2160
|
+
let n = wr(e), r = e.location.origin, i = (o) => {
|
|
2161
|
+
o.source === e && o.origin === r && Dr(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
|
|
2162
|
+
}, a = e.setTimeout(() => {
|
|
2163
|
+
e.removeEventListener("message", i), t(!1);
|
|
2164
|
+
}, 80);
|
|
2165
|
+
e.addEventListener("message", i), e.postMessage(Tr(fr, n), Er(e));
|
|
2166
|
+
}), kr = (e) => new Promise((t, n) => {
|
|
2167
|
+
let r = wr(e), i = e.location.origin, a = (s) => {
|
|
2168
|
+
if (s.source !== e || s.origin !== i) return;
|
|
2169
|
+
let c = Dr(String(s.data ?? ""), mr, r);
|
|
2170
|
+
if (c === null) return;
|
|
2171
|
+
if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
|
|
2172
|
+
t(null);
|
|
2173
|
+
return;
|
|
2174
|
+
}
|
|
2175
|
+
let l = c.slice(3);
|
|
2176
|
+
if (!l) {
|
|
2177
|
+
t(null);
|
|
2178
|
+
return;
|
|
2179
|
+
}
|
|
2180
|
+
e.fetch(l).then((e) => e.blob()).then(t, n);
|
|
2181
|
+
}, o = e.setTimeout(() => {
|
|
2182
|
+
e.removeEventListener("message", a), t(null);
|
|
2183
|
+
}, 4e3);
|
|
2184
|
+
e.addEventListener("message", a), e.postMessage(Tr(pr, r), Er(e));
|
|
2185
|
+
}), Ar = /* @__PURE__ */ new WeakMap(), jr = (e) => {
|
|
2186
|
+
let t = Ar.get(e), n = t?.stream.getVideoTracks()[0];
|
|
2187
|
+
if (!t || !n || n.readyState !== "live") {
|
|
2188
|
+
Ar.delete(e);
|
|
2189
|
+
return;
|
|
2190
|
+
}
|
|
2191
|
+
return t;
|
|
2192
|
+
}, Mr = async (e, t) => {
|
|
2193
|
+
let n = jr(t);
|
|
2194
|
+
if (n) return n;
|
|
2195
|
+
let r = t.navigator.mediaDevices;
|
|
2196
|
+
if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
|
|
2197
|
+
let i = await r.getDisplayMedia({
|
|
2198
|
+
audio: !1,
|
|
2199
|
+
video: !0,
|
|
2200
|
+
preferCurrentTab: !0,
|
|
2201
|
+
selfBrowserSurface: "include"
|
|
2202
|
+
}), a = i.getVideoTracks()[0];
|
|
2203
|
+
if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("Capture failed");
|
|
2204
|
+
try {
|
|
2205
|
+
let n = e.createElement("video");
|
|
2206
|
+
n.autoplay = !0, n.muted = !0, n.playsInline = !0, n.srcObject = i, await n.play(), (n.videoWidth === 0 || n.videoHeight === 0) && await new Promise((e) => {
|
|
2207
|
+
n.onloadedmetadata = () => e();
|
|
2208
|
+
});
|
|
2209
|
+
let r = {
|
|
2210
|
+
stream: i,
|
|
2211
|
+
video: n
|
|
2212
|
+
};
|
|
2213
|
+
return Ar.set(t, r), a.addEventListener("ended", () => {
|
|
2214
|
+
Ar.get(t) === r && Ar.delete(t);
|
|
2215
|
+
}, { once: !0 }), r;
|
|
2216
|
+
} catch (e) {
|
|
2217
|
+
throw i.getTracks().forEach((e) => e.stop()), e;
|
|
2218
|
+
}
|
|
2219
|
+
}, Nr = (e) => {
|
|
2220
|
+
let t = Ar.get(e);
|
|
2221
|
+
t && (Ar.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
|
|
2222
|
+
}, Pr = async ({ ownerDocument: e, ownerWindow: t }) => {
|
|
2223
|
+
let { video: n } = await Mr(e, t), r = e.createElement("canvas");
|
|
2224
|
+
r.width = n.videoWidth, r.height = n.videoHeight;
|
|
2225
|
+
let i = r.getContext("2d");
|
|
2226
|
+
if (!i) throw Error("Capture failed");
|
|
2227
|
+
return i.drawImage(n, 0, 0), await new Promise((e, t) => {
|
|
2228
|
+
r.toBlob((n) => {
|
|
2229
|
+
n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
|
|
2230
|
+
}, "image/png");
|
|
2231
|
+
});
|
|
2232
|
+
}, Fr = {
|
|
2233
|
+
prepare: async () => void 0,
|
|
2234
|
+
capture: async ({ ownerWindow: e }) => {
|
|
2235
|
+
let t = await _r(e);
|
|
2236
|
+
if (!t) throw Error("Host screenshot capture is unavailable.");
|
|
2237
|
+
return t;
|
|
2238
|
+
},
|
|
2239
|
+
release: () => void 0
|
|
2240
|
+
}, Ir = {
|
|
2241
|
+
prepare: async () => void 0,
|
|
2242
|
+
capture: async ({ ownerWindow: e }) => {
|
|
2243
|
+
let t = await kr(e);
|
|
2244
|
+
if (!t) throw Error("Host screenshot capture failed.");
|
|
2245
|
+
return t;
|
|
2246
|
+
},
|
|
2247
|
+
release: () => void 0
|
|
2248
|
+
}, Lr = {
|
|
2249
|
+
prepare: async ({ ownerDocument: e, ownerWindow: t }) => {
|
|
2250
|
+
await Mr(e, t);
|
|
2251
|
+
},
|
|
2252
|
+
capture: Pr,
|
|
2253
|
+
release: Nr
|
|
2254
|
+
}, Rr = /* @__PURE__ */ new WeakMap(), zr = async (e) => {
|
|
2255
|
+
let t = Rr.get(e.ownerWindow);
|
|
2256
|
+
if (t) return t;
|
|
2257
|
+
let n = Lr;
|
|
2258
|
+
return hr(e.ownerWindow) ? n = Fr : await Or(e.ownerWindow) && (n = Ir), Rr.set(e.ownerWindow, n), n;
|
|
2259
|
+
}, Br = async (e, t) => {
|
|
2260
|
+
let n = {
|
|
2261
|
+
ownerDocument: e,
|
|
2262
|
+
ownerWindow: t
|
|
2263
|
+
};
|
|
2264
|
+
await (await zr(n)).prepare(n);
|
|
2265
|
+
}, Vr = async (e) => (await zr(e)).capture(e), Hr = (e) => {
|
|
2266
|
+
let t = Rr.get(e);
|
|
2267
|
+
Rr.delete(e), t?.release(e);
|
|
2268
|
+
}, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = /* @__PURE__ */ new WeakMap(), Kr = (e) => (Gr.get(e) ?? 0) > 0, qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => {
|
|
2107
2269
|
let t = e.location.pathname.replace(/\/+$/, "") || "/", n = new URLSearchParams(e.location.search);
|
|
2108
2270
|
n.sort();
|
|
2109
2271
|
let r = n.toString(), i = e.location.hash, a = i.startsWith("#/") ? i : "";
|
|
2110
2272
|
return `${t}${r ? `?${r}` : ""}${a}`;
|
|
2111
|
-
},
|
|
2112
|
-
let n =
|
|
2273
|
+
}, Yr = (e, t) => {
|
|
2274
|
+
let n = Jr(e);
|
|
2113
2275
|
for (let e of t.listeners) e(n);
|
|
2114
|
-
},
|
|
2115
|
-
let t =
|
|
2276
|
+
}, Xr = (e) => {
|
|
2277
|
+
let t = qr.get(e);
|
|
2116
2278
|
if (t) return t;
|
|
2117
2279
|
let n = e.history, r = n.pushState, i = n.replaceState, a = {
|
|
2118
2280
|
listeners: /* @__PURE__ */ new Set(),
|
|
2119
2281
|
pushState: r,
|
|
2120
2282
|
replaceState: i,
|
|
2121
|
-
handleNativeChange: () =>
|
|
2283
|
+
handleNativeChange: () => Yr(e, a)
|
|
2122
2284
|
};
|
|
2123
2285
|
return n.pushState = function(...t) {
|
|
2124
2286
|
let n = r.apply(this, t);
|
|
2125
|
-
return
|
|
2287
|
+
return Yr(e, a), n;
|
|
2126
2288
|
}, n.replaceState = function(...t) {
|
|
2127
2289
|
let n = i.apply(this, t);
|
|
2128
|
-
return
|
|
2129
|
-
}, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange),
|
|
2130
|
-
},
|
|
2131
|
-
t.listeners.size > 0 ||
|
|
2132
|
-
},
|
|
2133
|
-
let n =
|
|
2290
|
+
return Yr(e, a), n;
|
|
2291
|
+
}, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), qr.set(e, a), a;
|
|
2292
|
+
}, Zr = (e, t) => {
|
|
2293
|
+
t.listeners.size > 0 || qr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), qr.delete(e));
|
|
2294
|
+
}, Qr = (e, t) => {
|
|
2295
|
+
let n = Xr(e);
|
|
2134
2296
|
n.listeners.add(t);
|
|
2135
2297
|
let r = !1;
|
|
2136
2298
|
return () => {
|
|
2137
|
-
r || (r = !0, n.listeners.delete(t),
|
|
2299
|
+
r || (r = !0, n.listeners.delete(t), Zr(e, n));
|
|
2138
2300
|
};
|
|
2139
|
-
},
|
|
2301
|
+
}, $r = "--mesurer-nested-scroll-x", ei = "--mesurer-nested-scroll-y", ti = (e, t, n, r = {}) => {
|
|
2140
2302
|
let i = e, a = /* @__PURE__ */ new Map(), o = t.ownerDocument, s = r.trackWindow === !0, c = (e) => {
|
|
2141
2303
|
if (e.parentElement) return e.parentElement;
|
|
2142
2304
|
let t = e.getRootNode();
|
|
@@ -2162,7 +2324,7 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
|
|
|
2162
2324
|
let i = `${n}px`;
|
|
2163
2325
|
r !== i && e.style.setProperty(t, i);
|
|
2164
2326
|
}, g = () => {
|
|
2165
|
-
if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e,
|
|
2327
|
+
if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, $r, d), h(e, ei, f);
|
|
2166
2328
|
}, _ = (e, t, n) => {
|
|
2167
2329
|
let r = t - e.left, i = n - e.top;
|
|
2168
2330
|
return r === 0 && i === 0 ? !1 : (e.left = t, e.top = n, d -= r, f -= i, !0);
|
|
@@ -2195,21 +2357,21 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
|
|
|
2195
2357
|
if (!p) {
|
|
2196
2358
|
p = !0, s && e.removeEventListener("scroll", y, !0);
|
|
2197
2359
|
for (let e of a.keys()) e.removeEventListener("scroll", v, !0);
|
|
2198
|
-
for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(
|
|
2360
|
+
for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty($r), e.style.removeProperty(ei);
|
|
2199
2361
|
a.clear();
|
|
2200
2362
|
}
|
|
2201
2363
|
}
|
|
2202
2364
|
};
|
|
2203
|
-
},
|
|
2204
|
-
Array.from({ length: 801 }, (e, t) => t *
|
|
2205
|
-
var
|
|
2206
|
-
function
|
|
2365
|
+
}, ni = 5;
|
|
2366
|
+
Array.from({ length: 801 }, (e, t) => t * ni), Ht(null);
|
|
2367
|
+
var ri = "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)]";
|
|
2368
|
+
function ii() {
|
|
2207
2369
|
return Y("span", {
|
|
2208
2370
|
"aria-hidden": "true",
|
|
2209
2371
|
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"
|
|
2210
2372
|
});
|
|
2211
2373
|
}
|
|
2212
|
-
function
|
|
2374
|
+
function ai(e) {
|
|
2213
2375
|
let t = () => e.variant !== "legacy";
|
|
2214
2376
|
var n = Y("div"), r = Y("div");
|
|
2215
2377
|
return X(n, r), Z(r, () => e.left), Z(n, (() => {
|
|
@@ -2227,7 +2389,7 @@ function Dr(e) {
|
|
|
2227
2389
|
e !== i?.e && Q(n, "class", e, i?.e), t !== i?.t && Q(r, "class", t, i?.t);
|
|
2228
2390
|
}), n;
|
|
2229
2391
|
}
|
|
2230
|
-
function
|
|
2392
|
+
function oi(e) {
|
|
2231
2393
|
let t = () => e.variant !== "legacy", n = () => {
|
|
2232
2394
|
let t = lr(e.value);
|
|
2233
2395
|
if (t) return t;
|
|
@@ -2257,7 +2419,7 @@ function Or(e) {
|
|
|
2257
2419
|
e.onChange(n);
|
|
2258
2420
|
}, 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";
|
|
2259
2421
|
var y = Y("div"), b = Y("span");
|
|
2260
|
-
return X(y, b), Z(b, () => e.label), Z(y, J(
|
|
2422
|
+
return X(y, b), Z(b, () => e.label), Z(y, J(ai, {
|
|
2261
2423
|
get variant() {
|
|
2262
2424
|
return e.variant;
|
|
2263
2425
|
},
|
|
@@ -2340,7 +2502,7 @@ function Or(e) {
|
|
|
2340
2502
|
Q(y, "class", e, t);
|
|
2341
2503
|
}), y;
|
|
2342
2504
|
}
|
|
2343
|
-
var
|
|
2505
|
+
var si = (e) => (() => {
|
|
2344
2506
|
var t = Y("svg", {
|
|
2345
2507
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2346
2508
|
viewBox: "0 0 256 256",
|
|
@@ -2355,7 +2517,7 @@ var kr = (e) => (() => {
|
|
|
2355
2517
|
}), ({ e, t: n, a: r }, i) => {
|
|
2356
2518
|
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);
|
|
2357
2519
|
}), t;
|
|
2358
|
-
})(),
|
|
2520
|
+
})(), ci = (e) => J(si, {
|
|
2359
2521
|
get size() {
|
|
2360
2522
|
return e.size ?? 8;
|
|
2361
2523
|
},
|
|
@@ -2365,7 +2527,7 @@ var kr = (e) => (() => {
|
|
|
2365
2527
|
get children() {
|
|
2366
2528
|
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" });
|
|
2367
2529
|
}
|
|
2368
|
-
}),
|
|
2530
|
+
}), li = (e) => J(si, {
|
|
2369
2531
|
get size() {
|
|
2370
2532
|
return e.size ?? 12;
|
|
2371
2533
|
},
|
|
@@ -2375,8 +2537,8 @@ var kr = (e) => (() => {
|
|
|
2375
2537
|
get children() {
|
|
2376
2538
|
return Y("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" });
|
|
2377
2539
|
}
|
|
2378
|
-
}),
|
|
2379
|
-
let t = e.size ?? 20, n =
|
|
2540
|
+
}), ui = (e, t, n) => t * 256 / e / n, di = (e) => {
|
|
2541
|
+
let t = e.size ?? 20, n = ui(t, e.strokePx ?? 1, e.frameScale ?? 1);
|
|
2380
2542
|
var r = Y("svg", {
|
|
2381
2543
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2382
2544
|
width: t,
|
|
@@ -2400,7 +2562,7 @@ var kr = (e) => (() => {
|
|
|
2400
2562
|
return X(r, i), X(r, a), Z(a, () => e.children), q(() => e.class, (e, t) => {
|
|
2401
2563
|
Q(r, "class", e, t);
|
|
2402
2564
|
}), r;
|
|
2403
|
-
},
|
|
2565
|
+
}, fi = (e) => J(di, {
|
|
2404
2566
|
get size() {
|
|
2405
2567
|
return e.size ?? 20;
|
|
2406
2568
|
},
|
|
@@ -2410,7 +2572,7 @@ var kr = (e) => (() => {
|
|
|
2410
2572
|
get children() {
|
|
2411
2573
|
return Y("path", { d: "M128 48v160M48 128h160" });
|
|
2412
2574
|
}
|
|
2413
|
-
}),
|
|
2575
|
+
}), pi = (e) => J(di, {
|
|
2414
2576
|
get size() {
|
|
2415
2577
|
return e.size ?? 20;
|
|
2416
2578
|
},
|
|
@@ -2420,7 +2582,7 @@ var kr = (e) => (() => {
|
|
|
2420
2582
|
get children() {
|
|
2421
2583
|
return Y("path", { d: "M101.33 48v160M154.67 48v160" });
|
|
2422
2584
|
}
|
|
2423
|
-
}),
|
|
2585
|
+
}), mi = (e) => J(di, {
|
|
2424
2586
|
get size() {
|
|
2425
2587
|
return e.size ?? 20;
|
|
2426
2588
|
},
|
|
@@ -2430,7 +2592,7 @@ var kr = (e) => (() => {
|
|
|
2430
2592
|
get children() {
|
|
2431
2593
|
return Y("path", { d: "M48 101.33h160M48 154.67h160" });
|
|
2432
2594
|
}
|
|
2433
|
-
}),
|
|
2595
|
+
}), hi = (e) => (() => {
|
|
2434
2596
|
var t = Y("svg", {
|
|
2435
2597
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2436
2598
|
viewBox: "0 0 12 12",
|
|
@@ -2449,7 +2611,7 @@ var kr = (e) => (() => {
|
|
|
2449
2611
|
}), ({ e, t: n, a: r }, i) => {
|
|
2450
2612
|
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);
|
|
2451
2613
|
}), t;
|
|
2452
|
-
})(),
|
|
2614
|
+
})(), gi = (e) => (() => {
|
|
2453
2615
|
var t = Y("svg", {
|
|
2454
2616
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2455
2617
|
viewBox: "0 0 16 16",
|
|
@@ -2473,7 +2635,7 @@ var kr = (e) => (() => {
|
|
|
2473
2635
|
}), ({ e, t: n, a: r }, i) => {
|
|
2474
2636
|
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);
|
|
2475
2637
|
}), t;
|
|
2476
|
-
})(),
|
|
2638
|
+
})(), _i = (e) => (() => {
|
|
2477
2639
|
var t = Y("svg", {
|
|
2478
2640
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2479
2641
|
viewBox: "0 0 16 16",
|
|
@@ -2497,7 +2659,7 @@ var kr = (e) => (() => {
|
|
|
2497
2659
|
}), ({ e, t: n, a: r }, i) => {
|
|
2498
2660
|
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);
|
|
2499
2661
|
}), t;
|
|
2500
|
-
})(),
|
|
2662
|
+
})(), vi = (e) => J(si, {
|
|
2501
2663
|
get size() {
|
|
2502
2664
|
return e.size ?? 20;
|
|
2503
2665
|
},
|
|
@@ -2507,7 +2669,7 @@ var kr = (e) => (() => {
|
|
|
2507
2669
|
get children() {
|
|
2508
2670
|
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" });
|
|
2509
2671
|
}
|
|
2510
|
-
}),
|
|
2672
|
+
}), yi = (e) => J(si, {
|
|
2511
2673
|
get size() {
|
|
2512
2674
|
return e.size ?? 20;
|
|
2513
2675
|
},
|
|
@@ -2517,7 +2679,7 @@ var kr = (e) => (() => {
|
|
|
2517
2679
|
get children() {
|
|
2518
2680
|
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" });
|
|
2519
2681
|
}
|
|
2520
|
-
}),
|
|
2682
|
+
}), bi = (e) => J(si, {
|
|
2521
2683
|
get size() {
|
|
2522
2684
|
return e.size ?? 18;
|
|
2523
2685
|
},
|
|
@@ -2527,7 +2689,7 @@ var kr = (e) => (() => {
|
|
|
2527
2689
|
get children() {
|
|
2528
2690
|
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" });
|
|
2529
2691
|
}
|
|
2530
|
-
}),
|
|
2692
|
+
}), xi = (e) => J(si, {
|
|
2531
2693
|
get size() {
|
|
2532
2694
|
return e.size ?? 18;
|
|
2533
2695
|
},
|
|
@@ -2537,11 +2699,11 @@ var kr = (e) => (() => {
|
|
|
2537
2699
|
get children() {
|
|
2538
2700
|
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" });
|
|
2539
2701
|
}
|
|
2540
|
-
}),
|
|
2702
|
+
}), Si = (e, t) => {
|
|
2541
2703
|
let n = t.CSS;
|
|
2542
2704
|
return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
|
|
2543
|
-
},
|
|
2544
|
-
function
|
|
2705
|
+
}, Ci = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, wi = (e) => e.nodeType === 9, Ti = (e) => e.nodeType === 11;
|
|
2706
|
+
function Ei(e) {
|
|
2545
2707
|
let t = e.getBoundingClientRect();
|
|
2546
2708
|
return {
|
|
2547
2709
|
left: t.left,
|
|
@@ -2550,20 +2712,20 @@ function Jr(e) {
|
|
|
2550
2712
|
height: t.height
|
|
2551
2713
|
};
|
|
2552
2714
|
}
|
|
2553
|
-
function
|
|
2554
|
-
if (
|
|
2715
|
+
function Di(e, t) {
|
|
2716
|
+
if (wi(t)) return !0;
|
|
2555
2717
|
let n = e;
|
|
2556
2718
|
for (; n;) {
|
|
2557
2719
|
if (t === n || t.contains(n)) return !0;
|
|
2558
2720
|
let e = n.getRootNode();
|
|
2559
|
-
if (!
|
|
2721
|
+
if (!Ti(e)) return !1;
|
|
2560
2722
|
n = e.host;
|
|
2561
2723
|
}
|
|
2562
2724
|
return !1;
|
|
2563
2725
|
}
|
|
2564
|
-
function
|
|
2726
|
+
function Oi(e) {
|
|
2565
2727
|
let t = e.ownerDocument.defaultView ?? window;
|
|
2566
|
-
if (e.id) return `#${
|
|
2728
|
+
if (e.id) return `#${Si(e.id, t)}`;
|
|
2567
2729
|
let n = e.getAttribute("data-testid");
|
|
2568
2730
|
if (n) return `[data-testid=${JSON.stringify(n)}]`;
|
|
2569
2731
|
let r = [], i = e;
|
|
@@ -2577,7 +2739,7 @@ function Xr(e) {
|
|
|
2577
2739
|
}
|
|
2578
2740
|
return r.join(" > ");
|
|
2579
2741
|
}
|
|
2580
|
-
function
|
|
2742
|
+
function ki(e) {
|
|
2581
2743
|
return {
|
|
2582
2744
|
tag: e.localName,
|
|
2583
2745
|
id: e.id || null,
|
|
@@ -2585,30 +2747,30 @@ function Zr(e) {
|
|
|
2585
2747
|
role: e.getAttribute("role"),
|
|
2586
2748
|
ariaLabel: e.getAttribute("aria-label"),
|
|
2587
2749
|
classes: [...e.classList],
|
|
2588
|
-
text:
|
|
2750
|
+
text: Ci(e)
|
|
2589
2751
|
};
|
|
2590
2752
|
}
|
|
2591
|
-
function
|
|
2753
|
+
function Ai(e) {
|
|
2592
2754
|
return !!(e.id || e.testId || e.role || e.ariaLabel || e.classes.length || e.text);
|
|
2593
2755
|
}
|
|
2594
|
-
function
|
|
2595
|
-
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 &&
|
|
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);
|
|
2596
2758
|
}
|
|
2597
|
-
var
|
|
2598
|
-
function
|
|
2599
|
-
return e.addEventListener(
|
|
2759
|
+
var Mi = "mesurer:select-gesture-start";
|
|
2760
|
+
function Ni(e, t) {
|
|
2761
|
+
return e.addEventListener(Mi, t), () => e.removeEventListener(Mi, t);
|
|
2600
2762
|
}
|
|
2601
2763
|
Ht((e) => void 0);
|
|
2602
|
-
var
|
|
2603
|
-
function
|
|
2764
|
+
var Pi = "mesurer-solid-styles", Fi = (e) => e?.nodeType === 11, Ii = (e) => e.nodeType === 9;
|
|
2765
|
+
function Li(e, t) {
|
|
2604
2766
|
let n = t?.ownerDocument ?? globalThis.document;
|
|
2605
2767
|
if (!n) return;
|
|
2606
|
-
let r =
|
|
2607
|
-
if (r.querySelector(`#${
|
|
2768
|
+
let r = Fi(t) ? t : n;
|
|
2769
|
+
if (r.querySelector(`#${Pi}`)) return;
|
|
2608
2770
|
let i = n.createElement("style");
|
|
2609
|
-
i.id =
|
|
2771
|
+
i.id = Pi, i.textContent = e, Ii(r) ? r.head.append(i) : r.append(i);
|
|
2610
2772
|
}
|
|
2611
|
-
var
|
|
2773
|
+
var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e8f0)", Bi = "var(--msr-color-ink-500, #64748b)", Vi = "var(--msr-content, #0f172a)", Hi = (e, t, n) => {
|
|
2612
2774
|
let r = e.createElement("div");
|
|
2613
2775
|
return Object.assign(r.style, {
|
|
2614
2776
|
position: "absolute",
|
|
@@ -2625,7 +2787,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2625
2787
|
height: "100%"
|
|
2626
2788
|
}
|
|
2627
2789
|
}), r;
|
|
2628
|
-
},
|
|
2790
|
+
}, Ui = (e, t, n) => {
|
|
2629
2791
|
let r = e.createElement("div");
|
|
2630
2792
|
Object.assign(r.style, {
|
|
2631
2793
|
position: "fixed",
|
|
@@ -2639,23 +2801,23 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2639
2801
|
"right",
|
|
2640
2802
|
"bottom",
|
|
2641
2803
|
"left"
|
|
2642
|
-
]) r.appendChild(
|
|
2804
|
+
]) r.appendChild(Hi(e, t, n));
|
|
2643
2805
|
return r;
|
|
2644
|
-
},
|
|
2806
|
+
}, Wi = (e, t) => {
|
|
2645
2807
|
Object.assign(e.style, {
|
|
2646
2808
|
left: `${t.left}px`,
|
|
2647
2809
|
top: `${t.top}px`,
|
|
2648
2810
|
width: `${t.width}px`,
|
|
2649
2811
|
height: `${t.height}px`
|
|
2650
2812
|
});
|
|
2651
|
-
},
|
|
2813
|
+
}, Gi = (e, t) => {
|
|
2652
2814
|
let n = e.createElement("div");
|
|
2653
2815
|
return Object.assign(n.style, {
|
|
2654
2816
|
position: "fixed",
|
|
2655
2817
|
zIndex: "1",
|
|
2656
2818
|
pointerEvents: t ? "auto" : "none",
|
|
2657
2819
|
background: "var(--msr-surface-raised, #ffffff)",
|
|
2658
|
-
color:
|
|
2820
|
+
color: Vi,
|
|
2659
2821
|
borderRadius: "13px",
|
|
2660
2822
|
padding: "10px 12px",
|
|
2661
2823
|
fontSize: "11px",
|
|
@@ -2670,7 +2832,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2670
2832
|
boxSizing: "border-box",
|
|
2671
2833
|
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))"
|
|
2672
2834
|
}), n.className = t ? "mesurer-ti-card mesurer-ti-card--pinned" : "mesurer-ti-card", n.dataset.state = "hidden", n;
|
|
2673
|
-
},
|
|
2835
|
+
}, Ki = (e, t, n, r) => {
|
|
2674
2836
|
t.replaceChildren();
|
|
2675
2837
|
let i = e.createElement("div");
|
|
2676
2838
|
Object.assign(i.style, {
|
|
@@ -2682,8 +2844,8 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2682
2844
|
});
|
|
2683
2845
|
let a = e.createElement("span");
|
|
2684
2846
|
if (Object.assign(a.style, {
|
|
2685
|
-
color:
|
|
2686
|
-
background:
|
|
2847
|
+
color: Ri,
|
|
2848
|
+
background: Vi,
|
|
2687
2849
|
borderRadius: "4px",
|
|
2688
2850
|
padding: "1px 5px",
|
|
2689
2851
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
@@ -2692,7 +2854,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2692
2854
|
}), a.textContent = n.tagName, i.appendChild(a), n.textSnippet) {
|
|
2693
2855
|
let t = e.createElement("span");
|
|
2694
2856
|
Object.assign(t.style, {
|
|
2695
|
-
color:
|
|
2857
|
+
color: Bi,
|
|
2696
2858
|
overflow: "hidden",
|
|
2697
2859
|
textOverflow: "ellipsis",
|
|
2698
2860
|
whiteSpace: "nowrap",
|
|
@@ -2712,7 +2874,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2712
2874
|
lineHeight: "14px",
|
|
2713
2875
|
textAlign: "center",
|
|
2714
2876
|
borderRadius: "4px",
|
|
2715
|
-
color:
|
|
2877
|
+
color: Bi,
|
|
2716
2878
|
fontSize: "14px"
|
|
2717
2879
|
}), i.appendChild(t);
|
|
2718
2880
|
}
|
|
@@ -2727,12 +2889,12 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2727
2889
|
});
|
|
2728
2890
|
for (let t of n.rows) {
|
|
2729
2891
|
let n = e.createElement("span");
|
|
2730
|
-
n.style.color =
|
|
2892
|
+
n.style.color = Bi, n.style.fontSize = "11px", n.textContent = t.label;
|
|
2731
2893
|
let r = e.createElement("span");
|
|
2732
2894
|
if (Object.assign(r.style, {
|
|
2733
2895
|
fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
2734
2896
|
fontSize: "11px",
|
|
2735
|
-
color:
|
|
2897
|
+
color: Vi,
|
|
2736
2898
|
overflow: "hidden",
|
|
2737
2899
|
textOverflow: "ellipsis",
|
|
2738
2900
|
whiteSpace: "nowrap"
|
|
@@ -2741,21 +2903,21 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2741
2903
|
let n = e.createElement("span");
|
|
2742
2904
|
n.textContent = t.value;
|
|
2743
2905
|
let i = e.createElement("span");
|
|
2744
|
-
i.style.color =
|
|
2906
|
+
i.style.color = zi, i.style.margin = "0 6px", i.textContent = "·";
|
|
2745
2907
|
let a = e.createElement("span");
|
|
2746
2908
|
a.style.color = "#0369a1", a.textContent = t.varName, r.append(n, i, a);
|
|
2747
2909
|
}
|
|
2748
2910
|
o.append(n, r);
|
|
2749
2911
|
}
|
|
2750
2912
|
t.appendChild(o);
|
|
2751
|
-
},
|
|
2913
|
+
}, qi = (e, t, n, r = 0, i = 0) => {
|
|
2752
2914
|
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;
|
|
2753
2915
|
t.style.left = `${c}px`;
|
|
2754
2916
|
let l = t.getBoundingClientRect(), u = n.bottom + 4 + i;
|
|
2755
2917
|
u + l.height > e.innerHeight - 8 && (u = n.top - l.height - 4 + i), t.style.top = `${Math.max(8, u)}px`;
|
|
2756
2918
|
let d = l.width / 2;
|
|
2757
2919
|
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");
|
|
2758
|
-
},
|
|
2920
|
+
}, Ji = /* @__PURE__ */ new Map([
|
|
2759
2921
|
["100", "thin"],
|
|
2760
2922
|
["200", "extralight"],
|
|
2761
2923
|
["300", "light"],
|
|
@@ -2765,26 +2927,26 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2765
2927
|
["700", "bold"],
|
|
2766
2928
|
["800", "extrabold"],
|
|
2767
2929
|
["900", "black"]
|
|
2768
|
-
]),
|
|
2930
|
+
]), Yi = [
|
|
2769
2931
|
"font-family",
|
|
2770
2932
|
"font-size",
|
|
2771
2933
|
"font-weight",
|
|
2772
2934
|
"line-height",
|
|
2773
2935
|
"letter-spacing"
|
|
2774
|
-
],
|
|
2936
|
+
], Xi = /* @__PURE__ */ new Map([
|
|
2775
2937
|
["Family", "font-family"],
|
|
2776
2938
|
["Size", "font-size"],
|
|
2777
2939
|
["Weight", "font-weight"],
|
|
2778
2940
|
["Line", "line-height"],
|
|
2779
2941
|
["Tracking", "letter-spacing"]
|
|
2780
|
-
]),
|
|
2942
|
+
]), Zi = (e) => {
|
|
2781
2943
|
if (!e || e === "normal") return e || "normal";
|
|
2782
2944
|
let t = /^(-?[\d.]+)px$/.exec(e);
|
|
2783
2945
|
return t ? `${Math.round(Number(t[1]) * 10) / 10}px` : e;
|
|
2784
|
-
},
|
|
2785
|
-
let t =
|
|
2946
|
+
}, Qi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), $i = (e) => {
|
|
2947
|
+
let t = Ji.get(e);
|
|
2786
2948
|
return t ? `${e} / ${t}` : e;
|
|
2787
|
-
},
|
|
2949
|
+
}, ea = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ta = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, na = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), ra = class {
|
|
2788
2950
|
document;
|
|
2789
2951
|
window;
|
|
2790
2952
|
constructor(e, t) {
|
|
@@ -2824,11 +2986,11 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2824
2986
|
return e;
|
|
2825
2987
|
}
|
|
2826
2988
|
findVarReferences(e) {
|
|
2827
|
-
let t = new Map(
|
|
2828
|
-
for (let r of
|
|
2989
|
+
let t = new Map(Yi.map((e) => [e, null])), n = this.getRules();
|
|
2990
|
+
for (let r of Yi) {
|
|
2829
2991
|
let i = e;
|
|
2830
2992
|
for (; i && t.get(r) === null;) {
|
|
2831
|
-
let e, a =
|
|
2993
|
+
let e, a = ea(i.style.getPropertyValue(r));
|
|
2832
2994
|
a && (e = {
|
|
2833
2995
|
name: a,
|
|
2834
2996
|
specificity: 2 ** 53 - 1,
|
|
@@ -2844,15 +3006,15 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2844
3006
|
continue;
|
|
2845
3007
|
}
|
|
2846
3008
|
if (!n) continue;
|
|
2847
|
-
let s =
|
|
3009
|
+
let s = ea(t.style.getPropertyValue(r));
|
|
2848
3010
|
if (!s) continue;
|
|
2849
3011
|
let c = {
|
|
2850
3012
|
name: s,
|
|
2851
|
-
specificity:
|
|
3013
|
+
specificity: ta(t.selectorText),
|
|
2852
3014
|
order: o,
|
|
2853
3015
|
important: t.style.getPropertyPriority(r) === "important"
|
|
2854
3016
|
};
|
|
2855
|
-
|
|
3017
|
+
na(c, e) && (e = c);
|
|
2856
3018
|
}
|
|
2857
3019
|
e && t.set(r, e.name), i = i.parentElement;
|
|
2858
3020
|
}
|
|
@@ -2863,27 +3025,27 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2863
3025
|
let t = this.window.getComputedStyle(e), n = [
|
|
2864
3026
|
{
|
|
2865
3027
|
label: "Family",
|
|
2866
|
-
value:
|
|
3028
|
+
value: Qi(t.fontFamily),
|
|
2867
3029
|
varName: null
|
|
2868
3030
|
},
|
|
2869
3031
|
{
|
|
2870
3032
|
label: "Size",
|
|
2871
|
-
value:
|
|
3033
|
+
value: Zi(t.fontSize),
|
|
2872
3034
|
varName: null
|
|
2873
3035
|
},
|
|
2874
3036
|
{
|
|
2875
3037
|
label: "Weight",
|
|
2876
|
-
value:
|
|
3038
|
+
value: $i(t.fontWeight),
|
|
2877
3039
|
varName: null
|
|
2878
3040
|
},
|
|
2879
3041
|
{
|
|
2880
3042
|
label: "Line",
|
|
2881
|
-
value: t.lineHeight === "normal" ? "normal" :
|
|
3043
|
+
value: t.lineHeight === "normal" ? "normal" : Zi(t.lineHeight),
|
|
2882
3044
|
varName: null
|
|
2883
3045
|
},
|
|
2884
3046
|
{
|
|
2885
3047
|
label: "Tracking",
|
|
2886
|
-
value: t.letterSpacing === "normal" ? "normal" :
|
|
3048
|
+
value: t.letterSpacing === "normal" ? "normal" : Zi(t.letterSpacing),
|
|
2887
3049
|
varName: null
|
|
2888
3050
|
}
|
|
2889
3051
|
], r = Array.from(e.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => e.nodeValue?.trim() ?? "").filter(Boolean).join(" ").replace(/\s+/g, " ");
|
|
@@ -2898,7 +3060,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2898
3060
|
return {
|
|
2899
3061
|
...t,
|
|
2900
3062
|
rows: t.rows.map((e) => {
|
|
2901
|
-
let t =
|
|
3063
|
+
let t = Xi.get(e.label);
|
|
2902
3064
|
return {
|
|
2903
3065
|
...e,
|
|
2904
3066
|
varName: t ? n.get(t) ?? null : null
|
|
@@ -2906,7 +3068,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2906
3068
|
})
|
|
2907
3069
|
};
|
|
2908
3070
|
}
|
|
2909
|
-
},
|
|
3071
|
+
}, ia = [
|
|
2910
3072
|
"HTML",
|
|
2911
3073
|
"BODY",
|
|
2912
3074
|
"SCRIPT",
|
|
@@ -2918,7 +3080,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2918
3080
|
"VIDEO",
|
|
2919
3081
|
"AUDIO",
|
|
2920
3082
|
"IFRAME"
|
|
2921
|
-
],
|
|
3083
|
+
], aa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", oa = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", sa = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", la = 80, ua = 0, da = (e, t) => `
|
|
2922
3084
|
.${e},.${e} *{cursor:help!important}
|
|
2923
3085
|
.${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
|
|
2924
3086
|
#${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
|
|
@@ -2929,7 +3091,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
|
|
|
2929
3091
|
#${t} .mesurer-ti-close{cursor:pointer}
|
|
2930
3092
|
#${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
|
|
2931
3093
|
`;
|
|
2932
|
-
function
|
|
3094
|
+
function fa(e = {}, t = !1) {
|
|
2933
3095
|
let n = e.portalTarget?.ownerDocument ?? globalThis.document, r = n?.defaultView ?? globalThis.window;
|
|
2934
3096
|
if (!n || !r) {
|
|
2935
3097
|
let e = () => {};
|
|
@@ -2947,7 +3109,7 @@ function Pi(e = {}, t = !1) {
|
|
|
2947
3109
|
canRedo: () => !1
|
|
2948
3110
|
};
|
|
2949
3111
|
}
|
|
2950
|
-
let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++
|
|
3112
|
+
let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++ua}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? ia).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new ra(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
|
|
2951
3113
|
x: 0,
|
|
2952
3114
|
y: 0
|
|
2953
3115
|
}, b = 0, x = 0, S = 0, C = r.scrollX, w = r.scrollY, T = null, E = [], D = [], O = [], k = e.portalTarget ?? n.body, A = () => {
|
|
@@ -2956,7 +3118,7 @@ function Pi(e = {}, t = !1) {
|
|
|
2956
3118
|
for (let t of e) {
|
|
2957
3119
|
if (t.querySelector(`#${o}`)) continue;
|
|
2958
3120
|
let e = n.createElement("style");
|
|
2959
|
-
e.id = o, e.textContent =
|
|
3121
|
+
e.id = o, e.textContent = da(s, a), t === n ? n.head.append(e) : t.append(e);
|
|
2960
3122
|
}
|
|
2961
3123
|
}, 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) => {
|
|
2962
3124
|
h && (h.dataset.theme = e);
|
|
@@ -2969,35 +3131,35 @@ function Pi(e = {}, t = !1) {
|
|
|
2969
3131
|
e && (e.dataset.state = t ? "visible" : "hidden");
|
|
2970
3132
|
}, ee = () => {
|
|
2971
3133
|
let e = j();
|
|
2972
|
-
g ??=
|
|
2973
|
-
}, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()),
|
|
3134
|
+
g ??= Ui(n, aa, oa), _ ??= Gi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
|
|
3135
|
+
}, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), P = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root]"), F = (e, t) => n.elementsFromPoint(e, t).find((e) => P(e)) ?? null, te = () => {
|
|
2974
3136
|
v = null, M(g, !1), M(_, !1);
|
|
2975
|
-
},
|
|
2976
|
-
if (!m || !
|
|
3137
|
+
}, I = (t) => {
|
|
3138
|
+
if (!m || !P(t)) return !1;
|
|
2977
3139
|
ee();
|
|
2978
3140
|
let i = t.getBoundingClientRect(), a = u.getFast(t);
|
|
2979
|
-
return v = t,
|
|
3141
|
+
return v = t, Ki(n, _, a, !1), Wi(g, i), qi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
|
|
2980
3142
|
if (!m || v !== t || !_) return;
|
|
2981
3143
|
let i = u.getFull(t, a);
|
|
2982
|
-
|
|
3144
|
+
Ki(n, _, i, !1), qi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
|
|
2983
3145
|
}, 24), !0;
|
|
2984
|
-
},
|
|
3146
|
+
}, L = () => E.map((e) => ({
|
|
2985
3147
|
sourceEl: e.sourceEl,
|
|
2986
3148
|
left: e.userPlaced ? e.card.getBoundingClientRect().left + e.card.getBoundingClientRect().width / 2 : 0,
|
|
2987
3149
|
top: e.userPlaced ? e.card.getBoundingClientRect().top : 0,
|
|
2988
3150
|
userPlaced: e.userPlaced
|
|
2989
|
-
})),
|
|
2990
|
-
D.push(
|
|
2991
|
-
},
|
|
3151
|
+
})), R = () => {
|
|
3152
|
+
D.push(L()), D.length > 100 && D.shift(), O.length = 0;
|
|
3153
|
+
}, z = (t, n = !0, r = !0) => {
|
|
2992
3154
|
let i = E.indexOf(t);
|
|
2993
|
-
i < 0 || (n &&
|
|
2994
|
-
},
|
|
2995
|
-
for (; E.length;)
|
|
2996
|
-
},
|
|
3155
|
+
i < 0 || (n && R(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
|
|
3156
|
+
}, B = (e = !1) => {
|
|
3157
|
+
for (; E.length;) z(E[E.length - 1], !1, e);
|
|
3158
|
+
}, V = (e) => {
|
|
2997
3159
|
let t = -1, n = 0, i = 0, a = 0, o = 0, s = !1, c = !1, l = (l) => {
|
|
2998
3160
|
if (l.pointerId !== t) return;
|
|
2999
3161
|
let u = l.clientX - n, d = l.clientY - i;
|
|
3000
|
-
!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 ||= (
|
|
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 ||= (R(), !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`);
|
|
3001
3163
|
}, u = (e) => {
|
|
3002
3164
|
(t === -1 || e.pointerId === t) && (r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u), t = -1, s = !1, c = !1);
|
|
3003
3165
|
}, f = (s) => {
|
|
@@ -3008,15 +3170,15 @@ function Pi(e = {}, t = !1) {
|
|
|
3008
3170
|
return e.card.addEventListener("pointerdown", f), () => {
|
|
3009
3171
|
e.card.removeEventListener("pointerdown", f), r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u);
|
|
3010
3172
|
};
|
|
3011
|
-
},
|
|
3173
|
+
}, ne = (t, i, a = !0, o = !0) => {
|
|
3012
3174
|
if (E.find((e) => e.sourceEl === t)) return;
|
|
3013
|
-
a &&
|
|
3014
|
-
let s = j(), c =
|
|
3175
|
+
a && R(), E.length >= l && z(E[0], !1, !0);
|
|
3176
|
+
let s = j(), c = Ui(n, sa, ca), d = Gi(n, !0);
|
|
3015
3177
|
d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
|
|
3016
3178
|
let f = u.getFull(t);
|
|
3017
|
-
|
|
3179
|
+
Ki(n, d, f, !0), s.append(c, d);
|
|
3018
3180
|
let p = t.getBoundingClientRect();
|
|
3019
|
-
|
|
3181
|
+
Wi(c, p), qi(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);
|
|
3020
3182
|
let m = {
|
|
3021
3183
|
sourceEl: t,
|
|
3022
3184
|
box: c,
|
|
@@ -3026,38 +3188,38 @@ function Pi(e = {}, t = !1) {
|
|
|
3026
3188
|
userPlaced: i?.userPlaced ?? !1,
|
|
3027
3189
|
detach: () => {}
|
|
3028
3190
|
};
|
|
3029
|
-
E.push(m), m.detach =
|
|
3030
|
-
e.preventDefault(), e.stopPropagation(),
|
|
3191
|
+
E.push(m), m.detach = V(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
|
|
3192
|
+
e.preventDefault(), e.stopPropagation(), z(m);
|
|
3031
3193
|
}), o && e.onPin?.(t, f);
|
|
3032
3194
|
}, re = (e) => {
|
|
3033
|
-
|
|
3034
|
-
for (let t of e) t.sourceEl.isConnected &&
|
|
3195
|
+
B(!1);
|
|
3196
|
+
for (let t of e) t.sourceEl.isConnected && ne(t.sourceEl, t, !1, !1);
|
|
3035
3197
|
}, H = () => {
|
|
3036
3198
|
let e = D.pop();
|
|
3037
|
-
return e ? (O.push(
|
|
3199
|
+
return e ? (O.push(L()), re(e), !0) : !1;
|
|
3038
3200
|
}, ie = () => {
|
|
3039
3201
|
let e = O.pop();
|
|
3040
|
-
return e ? (D.push(
|
|
3202
|
+
return e ? (D.push(L()), re(e), !0) : !1;
|
|
3041
3203
|
}, U = () => {
|
|
3042
|
-
E.length && (
|
|
3204
|
+
E.length && (R(), B(!0));
|
|
3043
3205
|
}, ae = () => {
|
|
3044
3206
|
for (let e of E.slice()) {
|
|
3045
3207
|
if (!e.sourceEl.isConnected) {
|
|
3046
|
-
|
|
3208
|
+
z(e, !1, !1);
|
|
3047
3209
|
continue;
|
|
3048
3210
|
}
|
|
3049
3211
|
let t = e.sourceEl.getBoundingClientRect();
|
|
3050
|
-
|
|
3212
|
+
Wi(e.box, t), e.userPlaced || qi(r, e.card, t);
|
|
3051
3213
|
let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
|
|
3052
3214
|
M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
|
|
3053
3215
|
}
|
|
3054
3216
|
}, W = () => {
|
|
3055
3217
|
if (m) {
|
|
3056
3218
|
if (v && g && _) {
|
|
3057
|
-
if (!v.isConnected)
|
|
3219
|
+
if (!v.isConnected) te();
|
|
3058
3220
|
else {
|
|
3059
3221
|
let e = v.getBoundingClientRect();
|
|
3060
|
-
|
|
3222
|
+
Wi(g, e), qi(r, _, e);
|
|
3061
3223
|
let t = e.bottom >= 0 && e.right >= 0 && e.left <= r.innerWidth && e.top <= r.innerHeight;
|
|
3062
3224
|
M(g, t), M(_, t);
|
|
3063
3225
|
}
|
|
@@ -3066,12 +3228,12 @@ function Pi(e = {}, t = !1) {
|
|
|
3066
3228
|
}
|
|
3067
3229
|
}, oe = () => {
|
|
3068
3230
|
if (!m) return;
|
|
3069
|
-
let e =
|
|
3070
|
-
if (!e)
|
|
3071
|
-
else if (e !== v)
|
|
3231
|
+
let e = F(y.x, y.y);
|
|
3232
|
+
if (!e) te();
|
|
3233
|
+
else if (e !== v) I(e);
|
|
3072
3234
|
else if (g && _) {
|
|
3073
3235
|
let t = e.getBoundingClientRect();
|
|
3074
|
-
|
|
3236
|
+
Wi(g, t), qi(r, _, t);
|
|
3075
3237
|
}
|
|
3076
3238
|
ae();
|
|
3077
3239
|
}, se = () => {
|
|
@@ -3089,23 +3251,23 @@ function Pi(e = {}, t = !1) {
|
|
|
3089
3251
|
Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
|
|
3090
3252
|
}, ue = () => {
|
|
3091
3253
|
let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
|
|
3092
|
-
if (C = e, w = t,
|
|
3254
|
+
if (C = e, w = t, Kr(n)) {
|
|
3093
3255
|
if (i || a) {
|
|
3094
3256
|
le(g, i, a), le(_, i, a);
|
|
3095
3257
|
for (let e of E) le(e.box, i, a), e.userPlaced || le(e.card, i, a);
|
|
3096
3258
|
}
|
|
3097
3259
|
S && r.clearTimeout(S), S = r.setTimeout(() => {
|
|
3098
3260
|
S = 0, W();
|
|
3099
|
-
},
|
|
3261
|
+
}, la);
|
|
3100
3262
|
return;
|
|
3101
3263
|
}
|
|
3102
3264
|
W(), se();
|
|
3103
3265
|
}, de = (e) => {
|
|
3104
|
-
e.relatedTarget ||
|
|
3266
|
+
e.relatedTarget || te();
|
|
3105
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) => {
|
|
3106
3268
|
if (!fe(e) && (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0)) {
|
|
3107
|
-
let t =
|
|
3108
|
-
t &&
|
|
3269
|
+
let t = F(e.clientX, e.clientY);
|
|
3270
|
+
t && ne(t);
|
|
3109
3271
|
}
|
|
3110
3272
|
}, me = (e) => {
|
|
3111
3273
|
fe(e) || (e.preventDefault(), e.stopImmediatePropagation());
|
|
@@ -3115,7 +3277,7 @@ function Pi(e = {}, t = !1) {
|
|
|
3115
3277
|
passive: !0
|
|
3116
3278
|
}), r.addEventListener("resize", se, !0));
|
|
3117
3279
|
}, ge = () => {
|
|
3118
|
-
m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", ce, !0), r.removeEventListener("mouseout", de, !0), r.removeEventListener("click", pe, !0), r.removeEventListener("auxclick", me, !0), r.removeEventListener("scroll", ue, !0), r.removeEventListener("resize", se, !0),
|
|
3280
|
+
m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", ce, !0), r.removeEventListener("mouseout", de, !0), r.removeEventListener("click", pe, !0), r.removeEventListener("auxclick", me, !0), r.removeEventListener("scroll", ue, !0), r.removeEventListener("resize", se, !0), te(), B(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
|
|
3119
3281
|
}, _e = () => {
|
|
3120
3282
|
ge(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
|
|
3121
3283
|
};
|
|
@@ -3125,7 +3287,7 @@ function Pi(e = {}, t = !1) {
|
|
|
3125
3287
|
undo: H,
|
|
3126
3288
|
redo: ie,
|
|
3127
3289
|
clear: U,
|
|
3128
|
-
inspect:
|
|
3290
|
+
inspect: I,
|
|
3129
3291
|
isEnabled: () => m,
|
|
3130
3292
|
canUndo: () => D.length > 0,
|
|
3131
3293
|
canRedo: () => O.length > 0,
|
|
@@ -3133,24 +3295,24 @@ function Pi(e = {}, t = !1) {
|
|
|
3133
3295
|
destroy: _e
|
|
3134
3296
|
};
|
|
3135
3297
|
}
|
|
3136
|
-
|
|
3137
|
-
var Fi = "/*! 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-\\[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", Ii = {
|
|
3298
|
+
fa({}, !0);
|
|
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 = {
|
|
3138
3300
|
keepTextChanges: !1,
|
|
3139
3301
|
keepArrangeChanges: !1
|
|
3140
|
-
},
|
|
3302
|
+
}, ha = (e) => e.state.get("mesurer.presentation.preferences") ?? ma, ga = "mesurer.arrange", _a = "arrange", va = "mesurer.arrange.intents", ya = "mesurer.arrange.active", ba = "mesurer.arrange.settings", xa = "runtime:solid", Sa = "builtin.select", Ca = "arrange.toggle", wa = "arrange.commit", Ta = "arrange.clear", Ea = "mesurer.arrange.selection-available", Da = 1, Oa = 24, ka = 160, Aa = 500, ja = "#ef4444", Ma = {
|
|
3141
3303
|
viewBox: "0 0 24 24",
|
|
3142
3304
|
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"]
|
|
3143
|
-
},
|
|
3305
|
+
}, Na = (e, t) => ({
|
|
3144
3306
|
left: e.left + t.x,
|
|
3145
3307
|
top: e.top + t.y,
|
|
3146
3308
|
width: e.width,
|
|
3147
3309
|
height: e.height
|
|
3148
|
-
}),
|
|
3310
|
+
}), Pa = (e, t) => ({
|
|
3149
3311
|
left: e.left - t.left,
|
|
3150
3312
|
top: e.top - t.top,
|
|
3151
3313
|
width: e.width - t.width,
|
|
3152
3314
|
height: e.height - t.height
|
|
3153
|
-
}),
|
|
3315
|
+
}), Fa = (e) => {
|
|
3154
3316
|
if (!e.length) return null;
|
|
3155
3317
|
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));
|
|
3156
3318
|
return {
|
|
@@ -3159,35 +3321,35 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3159
3321
|
width: r - t,
|
|
3160
3322
|
height: i - n
|
|
3161
3323
|
};
|
|
3162
|
-
},
|
|
3324
|
+
}, Ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), La = (e, t, n) => {
|
|
3163
3325
|
let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
|
|
3164
3326
|
return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
|
|
3165
3327
|
r,
|
|
3166
3328
|
r + i / 2,
|
|
3167
3329
|
a
|
|
3168
3330
|
];
|
|
3169
|
-
},
|
|
3331
|
+
}, Ra = (e, t) => t === "x" ? {
|
|
3170
3332
|
start: e.top,
|
|
3171
3333
|
end: e.top + e.height
|
|
3172
3334
|
} : {
|
|
3173
3335
|
start: e.left,
|
|
3174
3336
|
end: e.left + e.width
|
|
3175
|
-
},
|
|
3176
|
-
let r =
|
|
3177
|
-
for (let a of n) if (a.axis === e && !(a.source === "element" &&
|
|
3337
|
+
}, za = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ba = (e, t, n) => {
|
|
3338
|
+
let r = Ra(t, e), i = null;
|
|
3339
|
+
for (let a of n) if (a.axis === e && !(a.source === "element" && Ia(r.start, r.end, a.start, a.end) > ka)) for (let n of La(t, e, a.kind)) {
|
|
3178
3340
|
let e = a.position - n, t = Math.abs(e);
|
|
3179
3341
|
if (t > 10) continue;
|
|
3180
3342
|
let r = i ? Math.abs(i.delta) : Infinity;
|
|
3181
|
-
(t < r || t === r && (!i ||
|
|
3343
|
+
(t < r || t === r && (!i || za(a) > za(i))) && (i = {
|
|
3182
3344
|
...a,
|
|
3183
3345
|
delta: e
|
|
3184
3346
|
});
|
|
3185
3347
|
}
|
|
3186
3348
|
return i;
|
|
3187
|
-
},
|
|
3349
|
+
}, Va = (e) => {
|
|
3188
3350
|
let { origin: t, pathname: n, search: r } = e.location;
|
|
3189
3351
|
return `${t}${n}${r}`;
|
|
3190
|
-
},
|
|
3352
|
+
}, Ha = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ua = (e) => ({
|
|
3191
3353
|
tag: e.fingerprintTag,
|
|
3192
3354
|
id: e.fingerprintId,
|
|
3193
3355
|
testId: e.fingerprintTestId,
|
|
@@ -3195,10 +3357,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3195
3357
|
ariaLabel: e.fingerprintAriaLabel,
|
|
3196
3358
|
classes: [...e.fingerprintClasses],
|
|
3197
3359
|
text: e.fingerprintText
|
|
3198
|
-
}),
|
|
3360
|
+
}), Wa = (e) => ({
|
|
3199
3361
|
id: e.id,
|
|
3200
3362
|
selector: e.selector,
|
|
3201
|
-
fingerprint:
|
|
3363
|
+
fingerprint: Ua(e),
|
|
3202
3364
|
before: {
|
|
3203
3365
|
left: e.beforeLeft,
|
|
3204
3366
|
top: e.beforeTop,
|
|
@@ -3219,21 +3381,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3219
3381
|
x: e.desiredOffsetX,
|
|
3220
3382
|
y: e.desiredOffsetY
|
|
3221
3383
|
}
|
|
3222
|
-
}),
|
|
3384
|
+
}), Ga = (e) => ({
|
|
3223
3385
|
id: e.id,
|
|
3224
3386
|
createdAt: e.createdAt,
|
|
3225
3387
|
pageUrl: e.pageUrl,
|
|
3226
|
-
targets: e.targets.map(
|
|
3227
|
-
}),
|
|
3388
|
+
targets: e.targets.map(Wa)
|
|
3389
|
+
}), Ka = (e) => ({
|
|
3228
3390
|
value: e.style.getPropertyValue("transform"),
|
|
3229
3391
|
priority: e.style.getPropertyPriority("transform")
|
|
3230
|
-
}),
|
|
3392
|
+
}), qa = (e, t) => e.value === t.value && e.priority === t.priority, Ja = (e) => {
|
|
3231
3393
|
let { element: t, beforeTransform: n, appliedTransform: r } = e;
|
|
3232
|
-
|
|
3233
|
-
},
|
|
3234
|
-
id:
|
|
3394
|
+
qa(Ka(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
|
|
3395
|
+
}, Ya = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Xa = () => ar({
|
|
3396
|
+
id: ga,
|
|
3235
3397
|
version: "0.1.0",
|
|
3236
|
-
requires: [
|
|
3398
|
+
requires: [xa, "tool:select"],
|
|
3237
3399
|
provides: [
|
|
3238
3400
|
"tool:arrange",
|
|
3239
3401
|
"intent:arrange",
|
|
@@ -3241,19 +3403,19 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3241
3403
|
"settings:arrange"
|
|
3242
3404
|
],
|
|
3243
3405
|
setup(e) {
|
|
3244
|
-
let t = e.service.get(
|
|
3406
|
+
let t = e.service.get(xa);
|
|
3245
3407
|
if (!t) throw Error("Arrange plugin requires the Solid renderer runtime.");
|
|
3246
3408
|
let { ownerDocument: n, ownerWindow: r } = t, i = t.createWorkspaceRuntime(), a = t.createInspectorMount(), o = t.pageTarget ?? n.body ?? n.documentElement, s = t.portalTarget, c = r;
|
|
3247
3409
|
e.state.register({
|
|
3248
|
-
id:
|
|
3410
|
+
id: va,
|
|
3249
3411
|
initial: { intents: [] },
|
|
3250
3412
|
history: !0,
|
|
3251
3413
|
persist: !0
|
|
3252
3414
|
}), e.state.register({
|
|
3253
|
-
id:
|
|
3415
|
+
id: ya,
|
|
3254
3416
|
initial: !1
|
|
3255
3417
|
}), e.state.register({
|
|
3256
|
-
id:
|
|
3418
|
+
id: ba,
|
|
3257
3419
|
initial: {
|
|
3258
3420
|
snapping: !0,
|
|
3259
3421
|
elementEdges: !0,
|
|
@@ -3267,16 +3429,16 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3267
3429
|
let l = a.element;
|
|
3268
3430
|
l.dataset.mesurerArrange = "true", l.style.position = "fixed", l.style.inset = "0", l.style.zIndex = "84", l.style.pointerEvents = "none";
|
|
3269
3431
|
let u = n.createElement("div");
|
|
3270
|
-
u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor =
|
|
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 = ja, u.style.pointerEvents = "none";
|
|
3271
3433
|
let d = n.createElement("div");
|
|
3272
|
-
d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor =
|
|
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 = ja, d.style.pointerEvents = "none";
|
|
3273
3435
|
let f = n.createElement("div");
|
|
3274
3436
|
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);
|
|
3275
3437
|
let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = {
|
|
3276
3438
|
intentId: null,
|
|
3277
3439
|
state: "desired"
|
|
3278
3440
|
}, 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 = () => {
|
|
3279
|
-
let t = e.state.get(
|
|
3441
|
+
let t = e.state.get(ba);
|
|
3280
3442
|
return {
|
|
3281
3443
|
snapping: t?.snapping ?? !0,
|
|
3282
3444
|
elementEdges: t?.elementEdges ?? !0,
|
|
@@ -3286,21 +3448,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3286
3448
|
snapLines: t?.snapLines ?? !0
|
|
3287
3449
|
};
|
|
3288
3450
|
}, w = (t) => {
|
|
3289
|
-
e.state.update(
|
|
3451
|
+
e.state.update(ba, (e) => ({
|
|
3290
3452
|
...e,
|
|
3291
3453
|
...t
|
|
3292
3454
|
}));
|
|
3293
|
-
}, T = () =>
|
|
3455
|
+
}, T = () => Va(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) => Di(e, o) && !D(e), k = (e) => {
|
|
3294
3456
|
let t = [];
|
|
3295
3457
|
o instanceof c.HTMLElement && o.matches(e) && !D(o) && t.push(o);
|
|
3296
3458
|
for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && O(n) && t.push(n);
|
|
3297
3459
|
return t;
|
|
3298
3460
|
}, A = (e) => {
|
|
3299
|
-
let t =
|
|
3300
|
-
if (!
|
|
3461
|
+
let t = Ua(e);
|
|
3462
|
+
if (!Ai(t)) return null;
|
|
3301
3463
|
let n = [];
|
|
3302
3464
|
try {
|
|
3303
|
-
n = k(e.selector).filter((e) =>
|
|
3465
|
+
n = k(e.selector).filter((e) => ji(e, t));
|
|
3304
3466
|
} catch {
|
|
3305
3467
|
return null;
|
|
3306
3468
|
}
|
|
@@ -3308,7 +3470,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3308
3470
|
if (!t.id && !t.testId) {
|
|
3309
3471
|
let e = [];
|
|
3310
3472
|
try {
|
|
3311
|
-
e = k(t.tag).filter((e) =>
|
|
3473
|
+
e = k(t.tag).filter((e) => ji(e, t));
|
|
3312
3474
|
} catch {
|
|
3313
3475
|
return null;
|
|
3314
3476
|
}
|
|
@@ -3316,7 +3478,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3316
3478
|
}
|
|
3317
3479
|
return n[0] ?? null;
|
|
3318
3480
|
}, j = () => {
|
|
3319
|
-
for (let e of p.values())
|
|
3481
|
+
for (let e of p.values()) Ja(e);
|
|
3320
3482
|
p.clear();
|
|
3321
3483
|
}, M = () => {
|
|
3322
3484
|
u.style.display = "none", d.style.display = "none";
|
|
@@ -3336,10 +3498,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3336
3498
|
value: e.style.getPropertyValue("visibility"),
|
|
3337
3499
|
priority: e.style.getPropertyPriority("visibility")
|
|
3338
3500
|
}), e.style.setProperty("visibility", "hidden", "important"));
|
|
3339
|
-
},
|
|
3501
|
+
}, P = () => {
|
|
3340
3502
|
for (let [e, t] of m) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
|
|
3341
3503
|
m.clear();
|
|
3342
|
-
},
|
|
3504
|
+
}, F = (e = E()) => {
|
|
3343
3505
|
let t = /* @__PURE__ */ new Map();
|
|
3344
3506
|
for (let n of e) for (let e of n.targets) {
|
|
3345
3507
|
let n = A(e);
|
|
@@ -3349,11 +3511,11 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3349
3511
|
});
|
|
3350
3512
|
}
|
|
3351
3513
|
return t;
|
|
3352
|
-
},
|
|
3514
|
+
}, te = () => {
|
|
3353
3515
|
if (h.state === "live") return /* @__PURE__ */ new Map();
|
|
3354
|
-
if (!h.intentId) return
|
|
3516
|
+
if (!h.intentId) return F();
|
|
3355
3517
|
let e = x().intents.find((e) => e.id === h.intentId);
|
|
3356
|
-
if (!e) return
|
|
3518
|
+
if (!e) return F();
|
|
3357
3519
|
let t = /* @__PURE__ */ new Map();
|
|
3358
3520
|
for (let n of e.targets) {
|
|
3359
3521
|
let e = A(n);
|
|
@@ -3366,44 +3528,44 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3366
3528
|
});
|
|
3367
3529
|
}
|
|
3368
3530
|
return t;
|
|
3369
|
-
},
|
|
3531
|
+
}, I = (e) => {
|
|
3370
3532
|
j();
|
|
3371
3533
|
for (let [t, n] of e) {
|
|
3372
3534
|
if (!t.isConnected || !O(t) || n.x === 0 && n.y === 0) continue;
|
|
3373
|
-
let e =
|
|
3535
|
+
let e = Ka(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
|
|
3374
3536
|
t.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(t, {
|
|
3375
3537
|
element: t,
|
|
3376
3538
|
beforeTransform: e,
|
|
3377
|
-
appliedTransform:
|
|
3539
|
+
appliedTransform: Ka(t)
|
|
3378
3540
|
});
|
|
3379
3541
|
}
|
|
3380
|
-
},
|
|
3542
|
+
}, L = () => I(te()), R = (e) => {
|
|
3381
3543
|
j();
|
|
3382
3544
|
try {
|
|
3383
3545
|
return e();
|
|
3384
3546
|
} finally {
|
|
3385
|
-
!v && !g &&
|
|
3547
|
+
!v && !g && L();
|
|
3386
3548
|
}
|
|
3387
|
-
},
|
|
3549
|
+
}, z = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
|
|
3388
3550
|
e.state.register({
|
|
3389
|
-
id:
|
|
3390
|
-
initial:
|
|
3551
|
+
id: Ea,
|
|
3552
|
+
initial: z().length > 0
|
|
3391
3553
|
});
|
|
3392
|
-
let
|
|
3393
|
-
let t =
|
|
3394
|
-
t !==
|
|
3395
|
-
},
|
|
3554
|
+
let B = () => e.state.get(Ea) ?? !1, V = () => {
|
|
3555
|
+
let t = z().length > 0;
|
|
3556
|
+
t !== B() && e.state.update(Ea, () => t);
|
|
3557
|
+
}, ne = () => Fa(z().map((e) => Ei(e))), re = (e) => {
|
|
3396
3558
|
let t = C();
|
|
3397
3559
|
if (!t.snapping) return [];
|
|
3398
3560
|
let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
|
|
3399
|
-
if (u >=
|
|
3561
|
+
if (u >= Aa || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
|
|
3400
3562
|
let o = r.getComputedStyle(i);
|
|
3401
3563
|
if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
|
|
3402
3564
|
let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
|
|
3403
3565
|
if (l && !s) return;
|
|
3404
|
-
let c =
|
|
3566
|
+
let c = Ei(i);
|
|
3405
3567
|
if (c.width <= 0 || c.height <= 0) return;
|
|
3406
|
-
let d =
|
|
3568
|
+
let d = ka;
|
|
3407
3569
|
if (c.left + c.width < -160 || c.top + c.height < -160 || c.left > r.innerWidth + d || c.top > r.innerHeight + d) return;
|
|
3408
3570
|
u += 1;
|
|
3409
3571
|
let f = c.left + c.width, p = c.top + c.height;
|
|
@@ -3444,7 +3606,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3444
3606
|
if (t.elementEdges || t.elementCenters) {
|
|
3445
3607
|
o instanceof c.HTMLElement && d(o);
|
|
3446
3608
|
for (let e of o.querySelectorAll("*")) {
|
|
3447
|
-
if (u >=
|
|
3609
|
+
if (u >= Aa) break;
|
|
3448
3610
|
e instanceof c.HTMLElement && d(e);
|
|
3449
3611
|
}
|
|
3450
3612
|
}
|
|
@@ -3469,7 +3631,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3469
3631
|
f.style.display = "none";
|
|
3470
3632
|
return;
|
|
3471
3633
|
}
|
|
3472
|
-
let t = e === void 0 ?
|
|
3634
|
+
let t = e === void 0 ? ne() : e;
|
|
3473
3635
|
if (!t) {
|
|
3474
3636
|
f.style.display = "none";
|
|
3475
3637
|
return;
|
|
@@ -3479,40 +3641,40 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3479
3641
|
h = {
|
|
3480
3642
|
intentId: null,
|
|
3481
3643
|
state: "desired"
|
|
3482
|
-
},
|
|
3644
|
+
}, L(), M(), S() ? N() : P();
|
|
3483
3645
|
}, U = () => {
|
|
3484
3646
|
h = {
|
|
3485
3647
|
intentId: null,
|
|
3486
3648
|
state: "live"
|
|
3487
|
-
}, j(), M(),
|
|
3649
|
+
}, j(), M(), P();
|
|
3488
3650
|
}, ae = () => {
|
|
3489
|
-
v || g || (
|
|
3651
|
+
v || g || (L(), M(), S() ? N() : P(), H());
|
|
3490
3652
|
}, W = () => {
|
|
3491
3653
|
y || v || (y = r.requestAnimationFrame(() => {
|
|
3492
3654
|
y = 0, ae();
|
|
3493
3655
|
}));
|
|
3494
3656
|
}, oe = async () => {
|
|
3495
|
-
s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(
|
|
3657
|
+
s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Sa, void 0, { source: "arrange" });
|
|
3496
3658
|
}, se = (e) => {
|
|
3497
3659
|
if (!S() || e.button !== 0) return;
|
|
3498
|
-
let t =
|
|
3660
|
+
let t = z();
|
|
3499
3661
|
if (!t.length) return;
|
|
3500
3662
|
e.preventDefault(), e.stopPropagation(), h = {
|
|
3501
3663
|
intentId: null,
|
|
3502
3664
|
state: "desired"
|
|
3503
|
-
},
|
|
3504
|
-
let n =
|
|
3665
|
+
}, L();
|
|
3666
|
+
let n = F(E());
|
|
3505
3667
|
j();
|
|
3506
3668
|
let r = t.map((e, t) => {
|
|
3507
|
-
let r =
|
|
3669
|
+
let r = Ei(e), i = n.get(e) ?? {
|
|
3508
3670
|
x: 0,
|
|
3509
3671
|
y: 0
|
|
3510
|
-
}, a =
|
|
3672
|
+
}, a = Na(r, i), o = ki(e);
|
|
3511
3673
|
return {
|
|
3512
3674
|
element: e,
|
|
3513
3675
|
target: {
|
|
3514
3676
|
id: `target-${t + 1}`,
|
|
3515
|
-
selector:
|
|
3677
|
+
selector: Oi(e),
|
|
3516
3678
|
fingerprintTag: o.tag,
|
|
3517
3679
|
fingerprintId: o.id,
|
|
3518
3680
|
fingerprintTestId: o.testId,
|
|
@@ -3534,17 +3696,17 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3534
3696
|
desiredOffsetY: i.y
|
|
3535
3697
|
}
|
|
3536
3698
|
};
|
|
3537
|
-
}), i =
|
|
3699
|
+
}), i = Fa(r.map(({ target: e }) => ({
|
|
3538
3700
|
left: e.beforeLeft,
|
|
3539
3701
|
top: e.beforeTop,
|
|
3540
3702
|
width: e.beforeWidth,
|
|
3541
3703
|
height: e.beforeHeight
|
|
3542
3704
|
})));
|
|
3543
3705
|
if (!i) {
|
|
3544
|
-
|
|
3706
|
+
L();
|
|
3545
3707
|
return;
|
|
3546
3708
|
}
|
|
3547
|
-
|
|
3709
|
+
L(), N(), M(), g = {
|
|
3548
3710
|
pointerId: e.pointerId,
|
|
3549
3711
|
originX: e.clientX,
|
|
3550
3712
|
originY: e.clientY,
|
|
@@ -3558,18 +3720,18 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3558
3720
|
if (!g || e.pointerId !== g.pointerId) return;
|
|
3559
3721
|
let t = e.clientX - g.originX, n = e.clientY - g.originY, r = null;
|
|
3560
3722
|
e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
|
|
3561
|
-
let i =
|
|
3723
|
+
let i = Na(g.groupBefore, {
|
|
3562
3724
|
x: t,
|
|
3563
3725
|
y: n
|
|
3564
|
-
}), a = r === "y" ? null :
|
|
3726
|
+
}), a = r === "y" ? null : Ba("x", i, g.snapCandidates), o = r === "x" ? null : Ba("y", i, g.snapCandidates);
|
|
3565
3727
|
t += a?.delta ?? 0, n += o?.delta ?? 0, g.dx = t, g.dy = n;
|
|
3566
|
-
let s =
|
|
3728
|
+
let s = F(E());
|
|
3567
3729
|
for (let e of g.targets) s.set(e.element, {
|
|
3568
3730
|
x: e.target.beforeOffsetX + t,
|
|
3569
3731
|
y: e.target.beforeOffsetY + n
|
|
3570
3732
|
});
|
|
3571
|
-
|
|
3572
|
-
let c =
|
|
3733
|
+
I(s);
|
|
3734
|
+
let c = Na(g.groupBefore, {
|
|
3573
3735
|
x: t,
|
|
3574
3736
|
y: n
|
|
3575
3737
|
});
|
|
@@ -3587,7 +3749,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3587
3749
|
return;
|
|
3588
3750
|
}
|
|
3589
3751
|
_ = {
|
|
3590
|
-
id:
|
|
3752
|
+
id: Ha(r, "arrange"),
|
|
3591
3753
|
createdAt: Date.now(),
|
|
3592
3754
|
pageUrl: T(),
|
|
3593
3755
|
targets: n.targets.map(({ target: e }) => ({
|
|
@@ -3597,16 +3759,16 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3597
3759
|
desiredOffsetX: e.beforeOffsetX + n.dx,
|
|
3598
3760
|
desiredOffsetY: e.beforeOffsetY + n.dy
|
|
3599
3761
|
}))
|
|
3600
|
-
}, e.command.execute(
|
|
3762
|
+
}, e.command.execute(wa).catch(() => {
|
|
3601
3763
|
_ = null, ie(), H();
|
|
3602
3764
|
});
|
|
3603
3765
|
}, de = (e) => {
|
|
3604
3766
|
!g || e.pointerId !== g.pointerId || le();
|
|
3605
3767
|
}, fe = (t) => {
|
|
3606
|
-
t.key !== "Escape" || !S() && !g ||
|
|
3768
|
+
t.key !== "Escape" || !S() && !g || Ya(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
|
|
3607
3769
|
};
|
|
3608
3770
|
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(() => {
|
|
3609
|
-
|
|
3771
|
+
V(), W();
|
|
3610
3772
|
}), b.observe(o, {
|
|
3611
3773
|
childList: !0,
|
|
3612
3774
|
subtree: !0,
|
|
@@ -3620,21 +3782,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3620
3782
|
]
|
|
3621
3783
|
});
|
|
3622
3784
|
let pe = i.subscribe(() => {
|
|
3623
|
-
|
|
3785
|
+
V(), W();
|
|
3624
3786
|
}), me = e.state.subscribe(W), he = (e) => x().intents.find((t) => t.id === e) ?? null, ge = (e, t) => {
|
|
3625
3787
|
let n = null;
|
|
3626
|
-
if (n = t === "before" ?
|
|
3788
|
+
if (n = t === "before" ? Fa(e.targets.map((e) => ({
|
|
3627
3789
|
left: e.beforeLeft,
|
|
3628
3790
|
top: e.beforeTop,
|
|
3629
3791
|
width: e.beforeWidth,
|
|
3630
3792
|
height: e.beforeHeight
|
|
3631
|
-
}))) : t === "desired" ?
|
|
3793
|
+
}))) : t === "desired" ? Fa(e.targets.map((e) => ({
|
|
3632
3794
|
left: e.desiredLeft,
|
|
3633
3795
|
top: e.desiredTop,
|
|
3634
3796
|
width: e.desiredWidth,
|
|
3635
3797
|
height: e.desiredHeight
|
|
3636
|
-
}))) :
|
|
3637
|
-
let i = Math.max(0, n.left -
|
|
3798
|
+
}))) : R(() => Fa(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Ei(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
|
|
3799
|
+
let i = Math.max(0, n.left - Oa), a = Math.max(0, n.top - Oa), o = Math.min(r.innerWidth, n.left + n.width + Oa), s = Math.min(r.innerHeight, n.top + n.height + Oa);
|
|
3638
3800
|
return {
|
|
3639
3801
|
left: i,
|
|
3640
3802
|
top: a,
|
|
@@ -3643,10 +3805,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3643
3805
|
};
|
|
3644
3806
|
}, _e = {
|
|
3645
3807
|
active: S,
|
|
3646
|
-
intents: () => x().intents.map(
|
|
3808
|
+
intents: () => x().intents.map(Ga),
|
|
3647
3809
|
intent(e) {
|
|
3648
3810
|
let t = he(e);
|
|
3649
|
-
return t ?
|
|
3811
|
+
return t ? Ga(t) : null;
|
|
3650
3812
|
},
|
|
3651
3813
|
show(e, t) {
|
|
3652
3814
|
if (!he(e)) throw Error(`Arrange intent not found: ${e}`);
|
|
@@ -3679,10 +3841,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3679
3841
|
}]
|
|
3680
3842
|
};
|
|
3681
3843
|
},
|
|
3682
|
-
review: (e, t =
|
|
3844
|
+
review: (e, t = Da) => {
|
|
3683
3845
|
let n = he(e);
|
|
3684
3846
|
if (!n) throw Error(`Arrange intent not found: ${e}`);
|
|
3685
|
-
let r =
|
|
3847
|
+
let r = R(() => n.targets.map((e) => {
|
|
3686
3848
|
let n = A(e), r = {
|
|
3687
3849
|
left: e.desiredLeft,
|
|
3688
3850
|
top: e.desiredTop,
|
|
@@ -3697,7 +3859,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3697
3859
|
delta: null,
|
|
3698
3860
|
matched: !1
|
|
3699
3861
|
};
|
|
3700
|
-
let i =
|
|
3862
|
+
let i = Ei(n), a = Pa(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
|
|
3701
3863
|
return {
|
|
3702
3864
|
targetId: e.id,
|
|
3703
3865
|
selector: e.selector,
|
|
@@ -3717,7 +3879,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3717
3879
|
};
|
|
3718
3880
|
},
|
|
3719
3881
|
clear: async () => {
|
|
3720
|
-
await e.command.execute(
|
|
3882
|
+
await e.command.execute(Ta);
|
|
3721
3883
|
}
|
|
3722
3884
|
};
|
|
3723
3885
|
e.tool.register({
|
|
@@ -3725,8 +3887,8 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3725
3887
|
label: "Arrange",
|
|
3726
3888
|
shortcut: "Shift+A",
|
|
3727
3889
|
order: 65,
|
|
3728
|
-
command:
|
|
3729
|
-
icon:
|
|
3890
|
+
command: Ca,
|
|
3891
|
+
icon: Ma,
|
|
3730
3892
|
active: S,
|
|
3731
3893
|
menu: {
|
|
3732
3894
|
label: "Arrange options",
|
|
@@ -3833,28 +3995,28 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3833
3995
|
disabled: () => !C().snapping
|
|
3834
3996
|
}
|
|
3835
3997
|
]
|
|
3836
|
-
}), e.command.register(
|
|
3998
|
+
}), e.command.register(Ca, async () => {
|
|
3837
3999
|
let t = !S();
|
|
3838
4000
|
if (t && await oe(), e.state.update("mesurer.arrange.active", () => t), !t) {
|
|
3839
4001
|
g && le(), U(), H();
|
|
3840
4002
|
return;
|
|
3841
4003
|
}
|
|
3842
4004
|
ie(), H();
|
|
3843
|
-
}), e.command.register(
|
|
4005
|
+
}), e.command.register(wa, () => {
|
|
3844
4006
|
let t = _;
|
|
3845
4007
|
_ = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ie(), H());
|
|
3846
|
-
}), e.command.register(
|
|
3847
|
-
e.state.update(
|
|
4008
|
+
}), e.command.register(Ta, () => {
|
|
4009
|
+
e.state.update(va, () => ({ intents: [] })), h = {
|
|
3848
4010
|
intentId: null,
|
|
3849
4011
|
state: "desired"
|
|
3850
|
-
}, j(), M(), S() ? N() :
|
|
3851
|
-
}), e.service.provide(
|
|
3852
|
-
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(),
|
|
4012
|
+
}, j(), M(), S() ? N() : P(), H();
|
|
4013
|
+
}), e.service.provide(_a, _e), L(), H(), e.lifecycle.onDispose(() => {
|
|
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(), P(), i.dispose(), a.dispose();
|
|
3853
4015
|
});
|
|
3854
4016
|
}
|
|
3855
|
-
}),
|
|
4017
|
+
}), Za = (e, t, n) => {
|
|
3856
4018
|
let r = !1, i = 0, a = null, o = null, s = () => ({
|
|
3857
|
-
visible: (e.state.get("mesurer.arrange.active") ?? !1) ||
|
|
4019
|
+
visible: (e.state.get("mesurer.arrange.active") ?? !1) || ha(e).keepArrangeChanges,
|
|
3858
4020
|
intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
|
|
3859
4021
|
}), c = (e, t) => e?.visible === t.visible && e.intents === t.intents, l = (e) => {
|
|
3860
4022
|
if (a = e, e.visible) {
|
|
@@ -3875,23 +4037,23 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3875
4037
|
l(s()), e.lifecycle.onDispose(() => {
|
|
3876
4038
|
r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
|
|
3877
4039
|
});
|
|
3878
|
-
},
|
|
4040
|
+
}, Qa = [
|
|
3879
4041
|
"[data-mesurer-measurement='true']",
|
|
3880
4042
|
"[data-mesurer-selected-measurement='true']",
|
|
3881
4043
|
"[data-mesurer-inspector-ui='true']"
|
|
3882
|
-
].join(""),
|
|
4044
|
+
].join(""), $a = "[data-mesurer-text-edit-runtime='true']", eo = "[data-mesurer-text-editor='true']", to = (e, t) => {
|
|
3883
4045
|
let n = t.ownerDocument.body;
|
|
3884
4046
|
if (!n) return;
|
|
3885
|
-
let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(
|
|
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(Qa) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
|
|
3886
4048
|
for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
|
|
3887
4049
|
i.clear();
|
|
3888
|
-
}, u = () => !!o?.querySelector(
|
|
4050
|
+
}, u = () => !!o?.querySelector(eo), d = (e) => {
|
|
3889
4051
|
!a || u() || !c(e) || (i.has(e) || i.set(e, {
|
|
3890
4052
|
value: e.style.getPropertyValue("visibility"),
|
|
3891
4053
|
priority: e.style.getPropertyPriority("visibility")
|
|
3892
4054
|
}), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
|
|
3893
4055
|
}, f = () => {
|
|
3894
|
-
if (!(!a || u())) for (let e of n.querySelectorAll(
|
|
4056
|
+
if (!(!a || u())) for (let e of n.querySelectorAll(Qa)) e instanceof r.HTMLElement && d(e);
|
|
3895
4057
|
}, p = () => {
|
|
3896
4058
|
!a || u() ? l() : f();
|
|
3897
4059
|
}, m = (e) => {
|
|
@@ -3906,14 +4068,14 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3906
4068
|
}), p();
|
|
3907
4069
|
}
|
|
3908
4070
|
}, h = () => {
|
|
3909
|
-
let e = n.querySelectorAll(
|
|
4071
|
+
let e = n.querySelectorAll($a);
|
|
3910
4072
|
return e.item(e.length - 1);
|
|
3911
4073
|
};
|
|
3912
4074
|
m(h());
|
|
3913
4075
|
let g = new r.MutationObserver((e) => {
|
|
3914
4076
|
let t = !1;
|
|
3915
4077
|
for (let n of e) {
|
|
3916
|
-
for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(
|
|
4078
|
+
for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches($a) && (t = !0), d(e));
|
|
3917
4079
|
for (let e of n.removedNodes) e === o && (t = !0);
|
|
3918
4080
|
}
|
|
3919
4081
|
t && m(h());
|
|
@@ -3926,20 +4088,20 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3926
4088
|
p(), e.lifecycle.onDispose(() => {
|
|
3927
4089
|
g.disconnect(), s?.disconnect(), s = null, _.dispose(), l();
|
|
3928
4090
|
});
|
|
3929
|
-
},
|
|
3930
|
-
let e =
|
|
4091
|
+
}, no = () => {
|
|
4092
|
+
let e = Xa();
|
|
3931
4093
|
return {
|
|
3932
4094
|
...e,
|
|
3933
4095
|
async setup(t) {
|
|
3934
4096
|
await e.setup(t);
|
|
3935
|
-
let n = t.service.get(
|
|
4097
|
+
let n = t.service.get(_a);
|
|
3936
4098
|
if (!n) throw Error("Arrange presentation policy requires the Arrange service.");
|
|
3937
4099
|
let r = t.service.get("runtime:solid");
|
|
3938
4100
|
if (!r) throw Error("Arrange presentation policy requires the Solid renderer runtime.");
|
|
3939
|
-
|
|
4101
|
+
Za(t, n, r.ownerWindow), to(t, r);
|
|
3940
4102
|
}
|
|
3941
4103
|
};
|
|
3942
|
-
},
|
|
4104
|
+
}, ro = (e, t, n, r) => ar({
|
|
3943
4105
|
id: `mesurer.${e}`,
|
|
3944
4106
|
version: "0.1.0",
|
|
3945
4107
|
provides: [`tool:${e}`],
|
|
@@ -3953,7 +4115,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3953
4115
|
command: `builtin.${e}`
|
|
3954
4116
|
});
|
|
3955
4117
|
}
|
|
3956
|
-
}),
|
|
4118
|
+
}), io = () => ro("select", "Select", "S", 10), ao = () => ro("xray", "X-ray", "X", 20), oo = () => ro("color-picker", "Color picker", "P", 30), so = () => ro("rulers", "Rulers", "R", 40), co = () => ro("text-inspector", "Typography", "A", 50), lo = () => ro("guides", "Guides", "G", 60), uo = () => ro("settings", "Settings", "⌘/Ctrl+,", 90), fo = () => ar({
|
|
3957
4119
|
id: "mesurer.distance",
|
|
3958
4120
|
version: "0.1.0",
|
|
3959
4121
|
provides: ["overlay:distance", "settings:selection-spacing"],
|
|
@@ -3969,21 +4131,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
|
|
|
3969
4131
|
order: 30
|
|
3970
4132
|
});
|
|
3971
4133
|
}
|
|
3972
|
-
}),
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
|
|
4134
|
+
}), po = () => [
|
|
4135
|
+
io(),
|
|
4136
|
+
ao(),
|
|
4137
|
+
oo(),
|
|
4138
|
+
so(),
|
|
4139
|
+
co(),
|
|
4140
|
+
lo(),
|
|
4141
|
+
fo(),
|
|
4142
|
+
uo()
|
|
3981
4143
|
];
|
|
3982
|
-
function
|
|
4144
|
+
function mo(e = [], t = []) {
|
|
3983
4145
|
let n = new Set(t.map((e) => `mesurer.${e}`));
|
|
3984
|
-
return [...
|
|
4146
|
+
return [...po().filter((e) => !n.has(e.id)), ...e];
|
|
3985
4147
|
}
|
|
3986
|
-
var
|
|
4148
|
+
var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (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), _o = (e, t, n, r, i) => {
|
|
3987
4149
|
let a = e.left + e.width, o = e.top + e.height, s = [
|
|
3988
4150
|
{
|
|
3989
4151
|
axis: "vertical",
|
|
@@ -4031,7 +4193,7 @@ var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n =
|
|
|
4031
4193
|
}
|
|
4032
4194
|
];
|
|
4033
4195
|
return i ? s.sort((e, t) => t.space - e.space) : s;
|
|
4034
|
-
},
|
|
4196
|
+
}, vo = (e, t, n) => {
|
|
4035
4197
|
let r = [];
|
|
4036
4198
|
for (let i = 0; i <= n; i += 1) {
|
|
4037
4199
|
let n = i * t;
|
|
@@ -4057,14 +4219,14 @@ var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n =
|
|
|
4057
4219
|
}
|
|
4058
4220
|
return r;
|
|
4059
4221
|
};
|
|
4060
|
-
function
|
|
4222
|
+
function yo(e, t, n = {}) {
|
|
4061
4223
|
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 = [];
|
|
4062
4224
|
for (let n of e) {
|
|
4063
|
-
let e = /* @__PURE__ */ new Set(), _ = [], v =
|
|
4064
|
-
for (let t of
|
|
4225
|
+
let e = /* @__PURE__ */ new Set(), _ = [], v = _o(n.rect, t, r, a, u);
|
|
4226
|
+
for (let t of vo(v, d, l)) {
|
|
4065
4227
|
let n = u ? {
|
|
4066
|
-
left:
|
|
4067
|
-
top:
|
|
4228
|
+
left: ho(t.left, s, f),
|
|
4229
|
+
top: ho(t.top, s, p)
|
|
4068
4230
|
} : t, r = `${n.left}:${n.top}`;
|
|
4069
4231
|
e.has(r) || (e.add(r), _.push(n));
|
|
4070
4232
|
}
|
|
@@ -4074,21 +4236,21 @@ function Ba(e, t, n = {}) {
|
|
|
4074
4236
|
width: r,
|
|
4075
4237
|
height: r
|
|
4076
4238
|
};
|
|
4077
|
-
return h.every((e) => !
|
|
4239
|
+
return h.every((e) => !go(t, e, o)) && c.every((e) => !go(t, e, i));
|
|
4078
4240
|
}), b = y.find((e) => {
|
|
4079
4241
|
let t = {
|
|
4080
4242
|
...e,
|
|
4081
4243
|
width: r,
|
|
4082
4244
|
height: r
|
|
4083
4245
|
};
|
|
4084
|
-
return m.every((e) => !
|
|
4246
|
+
return m.every((e) => !go(t, e, i));
|
|
4085
4247
|
}) ?? y.find((e) => {
|
|
4086
4248
|
let t = {
|
|
4087
4249
|
...e,
|
|
4088
4250
|
width: r,
|
|
4089
4251
|
height: r
|
|
4090
4252
|
};
|
|
4091
|
-
return m.every((e) => !
|
|
4253
|
+
return m.every((e) => !go(t, e));
|
|
4092
4254
|
}) ?? y[0] ?? _[0] ?? {
|
|
4093
4255
|
left: s,
|
|
4094
4256
|
top: s
|
|
@@ -4104,20 +4266,20 @@ function Ba(e, t, n = {}) {
|
|
|
4104
4266
|
}
|
|
4105
4267
|
return g;
|
|
4106
4268
|
}
|
|
4107
|
-
var
|
|
4269
|
+
var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), Co = (e) => {
|
|
4108
4270
|
let t = e.ownerDocument.defaultView?.HTMLElement;
|
|
4109
4271
|
return !!(t && e instanceof t);
|
|
4110
|
-
},
|
|
4111
|
-
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i =
|
|
4272
|
+
}, wo = (e, t) => {
|
|
4273
|
+
let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = So(n);
|
|
4112
4274
|
i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
|
|
4113
4275
|
let a = !1;
|
|
4114
4276
|
return () => {
|
|
4115
4277
|
if (a) return;
|
|
4116
4278
|
a = !0;
|
|
4117
|
-
let i =
|
|
4279
|
+
let i = So(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
|
|
4118
4280
|
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");
|
|
4119
4281
|
};
|
|
4120
|
-
},
|
|
4282
|
+
}, To = (e) => {
|
|
4121
4283
|
if (!e.length) return null;
|
|
4122
4284
|
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));
|
|
4123
4285
|
return {
|
|
@@ -4126,14 +4288,14 @@ var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e)
|
|
|
4126
4288
|
width: r - t,
|
|
4127
4289
|
height: i - n
|
|
4128
4290
|
};
|
|
4129
|
-
},
|
|
4291
|
+
}, Eo = (e, t, n, r, i = 8) => {
|
|
4130
4292
|
let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
|
|
4131
4293
|
return {
|
|
4132
|
-
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c :
|
|
4133
|
-
top:
|
|
4294
|
+
left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : bo(e.left + e.width - t, 8, a),
|
|
4295
|
+
top: bo(e.top, 8, o)
|
|
4134
4296
|
};
|
|
4135
|
-
},
|
|
4136
|
-
let a = r.innerWidth - t - 8, o =
|
|
4297
|
+
}, Do = (e, t, n, r, i = 8) => {
|
|
4298
|
+
let a = r.innerWidth - t - 8, o = bo(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
|
|
4137
4299
|
if (s + n <= r.innerHeight - 8) return {
|
|
4138
4300
|
left: o,
|
|
4139
4301
|
top: s
|
|
@@ -4142,12 +4304,12 @@ var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e)
|
|
|
4142
4304
|
return c >= 8 ? {
|
|
4143
4305
|
left: o,
|
|
4144
4306
|
top: c
|
|
4145
|
-
} :
|
|
4307
|
+
} : Eo(e, t, n, r, i);
|
|
4146
4308
|
};
|
|
4147
|
-
function
|
|
4148
|
-
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-${++
|
|
4149
|
-
if (
|
|
4150
|
-
let t =
|
|
4309
|
+
function Oo(e) {
|
|
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-${++xo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, P = null, F = null, te = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => ee?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", ne = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", re = (e) => {
|
|
4311
|
+
if (V()) return e;
|
|
4312
|
+
let t = B();
|
|
4151
4313
|
return {
|
|
4152
4314
|
left: e.left + t.scrollX,
|
|
4153
4315
|
top: e.top + t.scrollY
|
|
@@ -4161,7 +4323,7 @@ function Ya(e) {
|
|
|
4161
4323
|
}, 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 = () => {
|
|
4162
4324
|
A = null, v(""), g(!1), b(null), m(null);
|
|
4163
4325
|
}, ae = () => {
|
|
4164
|
-
let e =
|
|
4326
|
+
let e = B();
|
|
4165
4327
|
return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
|
|
4166
4328
|
}, W = () => {
|
|
4167
4329
|
let t = e.runtime.currentSelection().elements;
|
|
@@ -4170,18 +4332,18 @@ function Ya(e) {
|
|
|
4170
4332
|
return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
|
|
4171
4333
|
}, oe = () => ee?.parentElement, se = () => {
|
|
4172
4334
|
let e = oe();
|
|
4173
|
-
return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N ||
|
|
4335
|
+
return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N || F === null) : [];
|
|
4174
4336
|
}, ce = (e) => {
|
|
4175
4337
|
let t = oe();
|
|
4176
4338
|
return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
|
|
4177
4339
|
}, le = (e) => {
|
|
4178
|
-
let t =
|
|
4179
|
-
t && (t.scroll.release(), t.releaseAnchor?.(),
|
|
4340
|
+
let t = z.get(e);
|
|
4341
|
+
t && (t.scroll.release(), t.releaseAnchor?.(), z.delete(e));
|
|
4180
4342
|
}, ue = (t) => {
|
|
4181
4343
|
let n = e.runtime.annotation(t);
|
|
4182
4344
|
return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
|
|
4183
|
-
}, de = (e) => !!(
|
|
4184
|
-
let t = ue(e), n =
|
|
4345
|
+
}, de = (e) => !!(Co(e) && V() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
|
|
4346
|
+
let t = ue(e), n = z.get(e);
|
|
4185
4347
|
if (!t) {
|
|
4186
4348
|
n && (le(e), i((e) => e + 1));
|
|
4187
4349
|
return;
|
|
@@ -4194,65 +4356,65 @@ function Ya(e) {
|
|
|
4194
4356
|
le(e);
|
|
4195
4357
|
let a = t.ownerDocument.defaultView;
|
|
4196
4358
|
if (a) {
|
|
4197
|
-
if (r &&
|
|
4198
|
-
let n = `--mesurer-annotation-${++
|
|
4199
|
-
|
|
4359
|
+
if (r && Co(t)) {
|
|
4360
|
+
let n = `--mesurer-annotation-${++xo}`;
|
|
4361
|
+
z.set(e, {
|
|
4200
4362
|
target: t,
|
|
4201
4363
|
anchorName: n,
|
|
4202
|
-
releaseAnchor:
|
|
4203
|
-
scroll:
|
|
4364
|
+
releaseAnchor: wo(t, n),
|
|
4365
|
+
scroll: ti(a, t, () => ce(e), { trackWindow: !1 })
|
|
4204
4366
|
});
|
|
4205
|
-
} else
|
|
4367
|
+
} else z.set(e, {
|
|
4206
4368
|
target: t,
|
|
4207
4369
|
anchorName: null,
|
|
4208
4370
|
releaseAnchor: null,
|
|
4209
|
-
scroll:
|
|
4371
|
+
scroll: ti(a, t, () => ce(e), { trackWindow: V() })
|
|
4210
4372
|
});
|
|
4211
4373
|
i((e) => e + 1);
|
|
4212
4374
|
}
|
|
4213
4375
|
}, pe = () => {
|
|
4214
4376
|
let t = new Set(e.runtime.annotations().map((e) => e.id));
|
|
4215
|
-
for (let e of
|
|
4377
|
+
for (let e of z.keys()) t.has(e) || le(e);
|
|
4216
4378
|
for (let e of t) fe(e);
|
|
4217
4379
|
}, me = (e) => {
|
|
4218
|
-
|
|
4380
|
+
B().queueMicrotask(() => fe(e));
|
|
4219
4381
|
}, he = () => {
|
|
4220
|
-
|
|
4382
|
+
B().queueMicrotask(() => {
|
|
4221
4383
|
pe();
|
|
4222
|
-
for (let e of
|
|
4384
|
+
for (let e of z.values()) e.anchorName || e.scroll.rebase();
|
|
4223
4385
|
});
|
|
4224
4386
|
};
|
|
4225
4387
|
e.initialTriggerFallback && (O = W());
|
|
4226
4388
|
let ge = () => {
|
|
4227
|
-
|
|
4228
|
-
}, _e = (e) => !!(
|
|
4389
|
+
I?.release(), I = null, te?.(), te = null, P = null, F = null;
|
|
4390
|
+
}, _e = (e) => !!(Co(e) && V() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
|
|
4229
4391
|
let e = W();
|
|
4230
4392
|
O && e !== O && (O = null);
|
|
4231
|
-
let t =
|
|
4232
|
-
if (e ===
|
|
4233
|
-
|
|
4393
|
+
let t = P, n = !!(e?.isConnected && _e(e)), r = F === e;
|
|
4394
|
+
if (e === P && e?.isConnected && n === r) {
|
|
4395
|
+
I?.sync();
|
|
4234
4396
|
return;
|
|
4235
4397
|
}
|
|
4236
|
-
let i = e === t ? D : `--mesurer-annotation-trigger-${++
|
|
4398
|
+
let i = e === t ? D : `--mesurer-annotation-trigger-${++xo}`;
|
|
4237
4399
|
if (ge(), !e?.isConnected) return;
|
|
4238
|
-
|
|
4400
|
+
P = e;
|
|
4239
4401
|
let a = e.ownerDocument.defaultView;
|
|
4240
4402
|
if (a) {
|
|
4241
|
-
if (n &&
|
|
4242
|
-
|
|
4403
|
+
if (n && Co(e)) {
|
|
4404
|
+
te = wo(e, i), F = e, D = i, I = ti(a, e, se, { trackWindow: !1 });
|
|
4243
4405
|
return;
|
|
4244
4406
|
}
|
|
4245
|
-
D = i,
|
|
4407
|
+
D = i, I = ti(a, e, se, { trackWindow: V() });
|
|
4246
4408
|
}
|
|
4247
4409
|
}, ye = (e) => {
|
|
4248
|
-
if (
|
|
4410
|
+
if (L?.disconnect(), L = null, !e?.isConnected) return;
|
|
4249
4411
|
let t = e.ownerDocument.defaultView;
|
|
4250
|
-
t && (
|
|
4412
|
+
t && (L = new t.ResizeObserver(() => {
|
|
4251
4413
|
i((e) => e + 1);
|
|
4252
|
-
}),
|
|
4414
|
+
}), L.observe(e));
|
|
4253
4415
|
}, be = () => {
|
|
4254
|
-
let e =
|
|
4255
|
-
|
|
4416
|
+
let e = B();
|
|
4417
|
+
R !== e && (R?.removeEventListener("resize", xe), R = e, R.addEventListener("resize", xe, { passive: !0 }));
|
|
4256
4418
|
};
|
|
4257
4419
|
function xe() {
|
|
4258
4420
|
i((e) => e + 1);
|
|
@@ -4265,9 +4427,9 @@ function Ya(e) {
|
|
|
4265
4427
|
let r = W(), i = r !== Se;
|
|
4266
4428
|
i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), he();
|
|
4267
4429
|
});
|
|
4268
|
-
ve(),
|
|
4269
|
-
|
|
4270
|
-
for (let e of
|
|
4430
|
+
ve(), B().queueMicrotask(pe), St(() => {
|
|
4431
|
+
L?.disconnect(), L = null, R?.removeEventListener("resize", xe), R = null, ge();
|
|
4432
|
+
for (let e of z.keys()) le(e);
|
|
4271
4433
|
Ce();
|
|
4272
4434
|
});
|
|
4273
4435
|
let we = Gt(() => (t(), e.runtime.currentSelection())), Te = Gt(() => (t(), e.runtime.annotations())), Ee = Gt(() => {
|
|
@@ -4308,7 +4470,7 @@ function Ya(e) {
|
|
|
4308
4470
|
};
|
|
4309
4471
|
});
|
|
4310
4472
|
return e.region && t.push({ ...e.region }), t;
|
|
4311
|
-
}), Ne = Gt(() =>
|
|
4473
|
+
}), Ne = Gt(() => To(Me())), Pe = () => {
|
|
4312
4474
|
let e = we().elements.length;
|
|
4313
4475
|
return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
|
|
4314
4476
|
}, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
|
|
@@ -4325,12 +4487,12 @@ function Ya(e) {
|
|
|
4325
4487
|
top: t.top,
|
|
4326
4488
|
width: t.width,
|
|
4327
4489
|
height: t.height
|
|
4328
|
-
}, r =
|
|
4490
|
+
}, r = B(), i = [...ut(Re).values()].map((e) => ({
|
|
4329
4491
|
left: e.left,
|
|
4330
4492
|
top: e.top,
|
|
4331
4493
|
width: 24,
|
|
4332
4494
|
height: 24
|
|
4333
|
-
})), [a] =
|
|
4495
|
+
})), [a] = yo([{
|
|
4334
4496
|
id: "selection-note-trigger",
|
|
4335
4497
|
rect: n
|
|
4336
4498
|
}], {
|
|
@@ -4339,7 +4501,7 @@ function Ya(e) {
|
|
|
4339
4501
|
}, {
|
|
4340
4502
|
obstacles: i,
|
|
4341
4503
|
maxShiftRings: 1
|
|
4342
|
-
}), o = a?.left ??
|
|
4504
|
+
}), o = a?.left ?? bo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? bo(n.top, 4, r.innerHeight - 24 - 4), c = F === e, l = V() && !c;
|
|
4343
4505
|
return {
|
|
4344
4506
|
left: c || l ? o : o + r.scrollX,
|
|
4345
4507
|
top: c || l ? s : s + r.scrollY,
|
|
@@ -4350,20 +4512,20 @@ function Ya(e) {
|
|
|
4350
4512
|
};
|
|
4351
4513
|
}, Re = Gt(() => {
|
|
4352
4514
|
t(), r();
|
|
4353
|
-
let n =
|
|
4515
|
+
let n = B(), i = Te().flatMap((t) => {
|
|
4354
4516
|
let n = e.runtime.annotationRect(t.id);
|
|
4355
4517
|
return n ? [{
|
|
4356
4518
|
id: t.id,
|
|
4357
4519
|
rect: n
|
|
4358
4520
|
}] : [];
|
|
4359
4521
|
});
|
|
4360
|
-
return new Map(
|
|
4522
|
+
return new Map(yo(i, {
|
|
4361
4523
|
width: n.innerWidth,
|
|
4362
4524
|
height: n.innerHeight
|
|
4363
4525
|
}, { obstacles: Me() }).map((e) => [e.id, e]));
|
|
4364
4526
|
}), ze = (e) => Re().get(e) ?? null, Be = (e, t) => {
|
|
4365
4527
|
r();
|
|
4366
|
-
let n =
|
|
4528
|
+
let n = z.get(e);
|
|
4367
4529
|
if (!n?.anchorName || !n.target.isConnected) return {
|
|
4368
4530
|
...re(t),
|
|
4369
4531
|
nativeAnchor: !1
|
|
@@ -4377,18 +4539,18 @@ function Ya(e) {
|
|
|
4377
4539
|
anchorY: t.top - i.top
|
|
4378
4540
|
};
|
|
4379
4541
|
}, Ve = () => {
|
|
4380
|
-
let e = Ne(), t =
|
|
4542
|
+
let e = Ne(), t = B(), n = p();
|
|
4381
4543
|
return n && e ? {
|
|
4382
4544
|
left: e.left + n.left,
|
|
4383
4545
|
top: e.top + n.top
|
|
4384
|
-
} : e ?
|
|
4546
|
+
} : e ? Do(e, 272, 168, t) : {
|
|
4385
4547
|
left: 8,
|
|
4386
4548
|
top: 8
|
|
4387
4549
|
};
|
|
4388
4550
|
}, He = () => {
|
|
4389
4551
|
r();
|
|
4390
4552
|
let e = Ve(), t = Ie();
|
|
4391
|
-
if (!t?.isConnected ||
|
|
4553
|
+
if (!t?.isConnected || F !== t) return {
|
|
4392
4554
|
...re(e),
|
|
4393
4555
|
nativeAnchor: !1
|
|
4394
4556
|
};
|
|
@@ -4401,8 +4563,8 @@ function Ya(e) {
|
|
|
4401
4563
|
anchorY: e.top - n.top
|
|
4402
4564
|
};
|
|
4403
4565
|
}, Ue = (e, t) => {
|
|
4404
|
-
let n =
|
|
4405
|
-
if (!i) return
|
|
4566
|
+
let n = B(), r = Re(), i = r.get(e);
|
|
4567
|
+
if (!i) return Eo(t, 272, 176, n);
|
|
4406
4568
|
let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
|
|
4407
4569
|
left: e.left,
|
|
4408
4570
|
top: e.top,
|
|
@@ -4428,8 +4590,8 @@ function Ya(e) {
|
|
|
4428
4590
|
}
|
|
4429
4591
|
]) {
|
|
4430
4592
|
let t = {
|
|
4431
|
-
left:
|
|
4432
|
-
top:
|
|
4593
|
+
left: bo(e.left, 8, a),
|
|
4594
|
+
top: bo(e.top, 8, o)
|
|
4433
4595
|
}, n = `${t.left}:${t.top}`;
|
|
4434
4596
|
l.has(n) || (l.add(n), u.push(t));
|
|
4435
4597
|
}
|
|
@@ -4445,7 +4607,7 @@ function Ya(e) {
|
|
|
4445
4607
|
targetOverlap: c(r, t),
|
|
4446
4608
|
index: n
|
|
4447
4609
|
};
|
|
4448
|
-
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ??
|
|
4610
|
+
}).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Eo(t, 272, 176, n);
|
|
4449
4611
|
}, We = (t) => {
|
|
4450
4612
|
let n = e.runtime.annotationRect(t);
|
|
4451
4613
|
if (!n) return {
|
|
@@ -4458,7 +4620,7 @@ function Ya(e) {
|
|
|
4458
4620
|
top: n.top + r.top
|
|
4459
4621
|
} : Ue(t, n);
|
|
4460
4622
|
}, Ge = (t) => {
|
|
4461
|
-
|
|
4623
|
+
B().queueMicrotask(() => {
|
|
4462
4624
|
let n = e.runtime.annotationRect(t);
|
|
4463
4625
|
n && f((e) => {
|
|
4464
4626
|
if (e[t]) return e;
|
|
@@ -4479,7 +4641,7 @@ function Ya(e) {
|
|
|
4479
4641
|
if (t.button !== 0 || r && i instanceof r && i.closest("button")) return;
|
|
4480
4642
|
let a = t.currentTarget.parentElement;
|
|
4481
4643
|
if (!a) return;
|
|
4482
|
-
let o = a.getBoundingClientRect(), s =
|
|
4644
|
+
let o = a.getBoundingClientRect(), s = B(), c = s.document.documentElement, l = c.style.userSelect;
|
|
4483
4645
|
c.style.setProperty("user-select", "none", "important"), j = {
|
|
4484
4646
|
surfaceId: n,
|
|
4485
4647
|
pointerId: t.pointerId,
|
|
@@ -4493,8 +4655,8 @@ function Ya(e) {
|
|
|
4493
4655
|
let u = (t) => {
|
|
4494
4656
|
if (!j || t.pointerId !== j.pointerId) return;
|
|
4495
4657
|
let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
|
|
4496
|
-
left:
|
|
4497
|
-
top:
|
|
4658
|
+
left: bo(r.originLeft + t.clientX - r.startX, 8, i),
|
|
4659
|
+
top: bo(r.originTop + t.clientY - r.startY, 8, a)
|
|
4498
4660
|
};
|
|
4499
4661
|
if (n === "composer") {
|
|
4500
4662
|
let e = Ne();
|
|
@@ -4539,13 +4701,13 @@ function Ya(e) {
|
|
|
4539
4701
|
k = !1, A = H(), v(""), b(null), w(null), o(null);
|
|
4540
4702
|
let e = Ne();
|
|
4541
4703
|
if (e) {
|
|
4542
|
-
let t =
|
|
4704
|
+
let t = Do(e, 272, 168, B());
|
|
4543
4705
|
m({
|
|
4544
4706
|
left: t.left - e.left,
|
|
4545
4707
|
top: t.top - e.top
|
|
4546
4708
|
});
|
|
4547
4709
|
} else m(null);
|
|
4548
|
-
g(!0),
|
|
4710
|
+
g(!0), B().queueMicrotask(() => I?.sync());
|
|
4549
4711
|
}, Qe = () => {
|
|
4550
4712
|
let e = h();
|
|
4551
4713
|
A !== null && !ie(A, H()) ? (O = W(), k = !1, ve(), xe()) : e && (k = !1), Xe();
|
|
@@ -4602,10 +4764,10 @@ function Ya(e) {
|
|
|
4602
4764
|
}
|
|
4603
4765
|
});
|
|
4604
4766
|
return nr(() => (e) => {
|
|
4605
|
-
N = e,
|
|
4606
|
-
}, t), Z(t, J(
|
|
4607
|
-
e:
|
|
4608
|
-
t:
|
|
4767
|
+
N = e, I?.sync();
|
|
4768
|
+
}, t), Z(t, J(yi, { size: 14 })), q(() => ({
|
|
4769
|
+
e: V() ? "viewport" : "document",
|
|
4770
|
+
t: ne(e().nativeAnchor),
|
|
4609
4771
|
a: {
|
|
4610
4772
|
position: e().nativeAnchor || e().viewportOwned ? "fixed" : "absolute",
|
|
4611
4773
|
left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
|
|
@@ -4668,10 +4830,10 @@ function Ya(e) {
|
|
|
4668
4830
|
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]",
|
|
4669
4831
|
onClick: et
|
|
4670
4832
|
});
|
|
4671
|
-
return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(
|
|
4833
|
+
return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(yi, {
|
|
4672
4834
|
size: 14,
|
|
4673
4835
|
class: "msr:text-ink-700"
|
|
4674
|
-
}), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(
|
|
4836
|
+
}), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(xi, { size: 14 })), Z(t, J(Xt, {
|
|
4675
4837
|
get when() {
|
|
4676
4838
|
return y();
|
|
4677
4839
|
},
|
|
@@ -4680,10 +4842,10 @@ function Ya(e) {
|
|
|
4680
4842
|
return Z(t, e), t;
|
|
4681
4843
|
})()
|
|
4682
4844
|
}), 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(() => ({
|
|
4683
|
-
e:
|
|
4684
|
-
t:
|
|
4845
|
+
e: V() ? "viewport" : "document",
|
|
4846
|
+
t: ne(e().nativeAnchor),
|
|
4685
4847
|
a: {
|
|
4686
|
-
position: e().nativeAnchor ||
|
|
4848
|
+
position: e().nativeAnchor || V() ? "fixed" : "absolute",
|
|
4687
4849
|
left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
|
|
4688
4850
|
top: e().nativeAnchor ? `calc(anchor(top) + ${e().anchorY}px)` : `${e().top}px`,
|
|
4689
4851
|
translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
|
|
@@ -4726,9 +4888,9 @@ function Ya(e) {
|
|
|
4726
4888
|
});
|
|
4727
4889
|
return q(() => ({
|
|
4728
4890
|
e: t() ?? void 0,
|
|
4729
|
-
t:
|
|
4891
|
+
t: ne(n().nativeAnchor),
|
|
4730
4892
|
a: {
|
|
4731
|
-
position: n().nativeAnchor ||
|
|
4893
|
+
position: n().nativeAnchor || V() ? "fixed" : "absolute",
|
|
4732
4894
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
4733
4895
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
4734
4896
|
width: `${e.width}px`,
|
|
@@ -4788,13 +4950,13 @@ function Ya(e) {
|
|
|
4788
4950
|
t: t() + 1,
|
|
4789
4951
|
a: i() ? "true" : void 0,
|
|
4790
4952
|
o: o() ? "true" : void 0,
|
|
4791
|
-
i:
|
|
4792
|
-
n:
|
|
4953
|
+
i: ne(n().nativeAnchor),
|
|
4954
|
+
n: V() ? "viewport" : "document",
|
|
4793
4955
|
s: `Mesurer annotation ${t() + 1}: ${e.note}`,
|
|
4794
4956
|
h: e.note,
|
|
4795
4957
|
r: a() === e.id ? "true" : "false",
|
|
4796
4958
|
d: {
|
|
4797
|
-
position: n().nativeAnchor ||
|
|
4959
|
+
position: n().nativeAnchor || V() ? "fixed" : "absolute",
|
|
4798
4960
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
4799
4961
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
4800
4962
|
opacity: o() ? "0.36" : "1",
|
|
@@ -4871,7 +5033,7 @@ function Ya(e) {
|
|
|
4871
5033
|
o(null), w(null);
|
|
4872
5034
|
}
|
|
4873
5035
|
}), 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" });
|
|
4874
|
-
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(
|
|
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(vi, { size: 14 })), Z(_, J(bi, { size: 14 })), Z(v, J(xi, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
|
|
4875
5037
|
get when() {
|
|
4876
5038
|
return C();
|
|
4877
5039
|
},
|
|
@@ -4884,10 +5046,10 @@ function Ya(e) {
|
|
|
4884
5046
|
})()
|
|
4885
5047
|
}), null), q(() => ({
|
|
4886
5048
|
e: t().id,
|
|
4887
|
-
t:
|
|
4888
|
-
a:
|
|
5049
|
+
t: ne(n().nativeAnchor),
|
|
5050
|
+
a: V() ? "viewport" : "document",
|
|
4889
5051
|
o: {
|
|
4890
|
-
position: n().nativeAnchor ||
|
|
5052
|
+
position: n().nativeAnchor || V() ? "fixed" : "absolute",
|
|
4891
5053
|
left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
|
|
4892
5054
|
top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
|
|
4893
5055
|
translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
|
|
@@ -4903,11 +5065,11 @@ function Ya(e) {
|
|
|
4903
5065
|
})
|
|
4904
5066
|
];
|
|
4905
5067
|
}
|
|
4906
|
-
function
|
|
5068
|
+
function ko(e) {
|
|
4907
5069
|
let t = null;
|
|
4908
|
-
return St(
|
|
5070
|
+
return St(Ni(e.ownerWindow, () => {
|
|
4909
5071
|
t?.abandonNoteComposer();
|
|
4910
|
-
})), J(
|
|
5072
|
+
})), J(Oo, {
|
|
4911
5073
|
get runtime() {
|
|
4912
5074
|
return e.runtime;
|
|
4913
5075
|
},
|
|
@@ -4925,11 +5087,11 @@ function Xa(e) {
|
|
|
4925
5087
|
}
|
|
4926
5088
|
});
|
|
4927
5089
|
}
|
|
4928
|
-
var
|
|
4929
|
-
function
|
|
5090
|
+
var Ao = "2147482950", jo = "2147483646", Mo = "2147483647";
|
|
5091
|
+
function No(e) {
|
|
4930
5092
|
let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
|
|
4931
5093
|
if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
|
|
4932
|
-
|
|
5094
|
+
Li(pa, i);
|
|
4933
5095
|
let a = t.createElement("div");
|
|
4934
5096
|
a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerDocumentInspectorMount = "true", a.dataset.theme = e.theme?.() ?? "system";
|
|
4935
5097
|
let o = e.subscribeTheme?.((e) => {
|
|
@@ -4947,17 +5109,17 @@ function eo(e) {
|
|
|
4947
5109
|
s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
|
|
4948
5110
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
|
|
4949
5111
|
position: absolute !important;
|
|
4950
|
-
z-index: ${
|
|
5112
|
+
z-index: ${Ao} !important;
|
|
4951
5113
|
}
|
|
4952
5114
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
|
|
4953
5115
|
position: absolute !important;
|
|
4954
|
-
z-index: ${
|
|
5116
|
+
z-index: ${jo} !important;
|
|
4955
5117
|
}
|
|
4956
5118
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
|
|
4957
5119
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
|
|
4958
5120
|
[data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
|
|
4959
5121
|
position: absolute !important;
|
|
4960
|
-
z-index: ${
|
|
5122
|
+
z-index: ${Mo} !important;
|
|
4961
5123
|
}
|
|
4962
5124
|
`, t.head.append(s), i.append(a);
|
|
4963
5125
|
let c = !1;
|
|
@@ -4968,8 +5130,8 @@ function eo(e) {
|
|
|
4968
5130
|
}
|
|
4969
5131
|
};
|
|
4970
5132
|
}
|
|
4971
|
-
var
|
|
4972
|
-
let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i =
|
|
5133
|
+
var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Fo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Io = (e) => {
|
|
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 = Fo(e.align);
|
|
4973
5135
|
return {
|
|
4974
5136
|
position: "absolute",
|
|
4975
5137
|
inset: "0",
|
|
@@ -4990,7 +5152,7 @@ var to = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
|
|
|
4990
5152
|
transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
|
|
4991
5153
|
};
|
|
4992
5154
|
};
|
|
4993
|
-
function
|
|
5155
|
+
function Lo(e) {
|
|
4994
5156
|
let t = () => e.guides.filter((e) => e.visible);
|
|
4995
5157
|
return J(Xt, {
|
|
4996
5158
|
get when() {
|
|
@@ -5025,7 +5187,7 @@ function io(e) {
|
|
|
5025
5187
|
"min-height": "0",
|
|
5026
5188
|
width: "100%",
|
|
5027
5189
|
height: "100%",
|
|
5028
|
-
"background-color":
|
|
5190
|
+
"background-color": Po(e)
|
|
5029
5191
|
}), (e, n) => {
|
|
5030
5192
|
Q(t, "style", e, n);
|
|
5031
5193
|
}), t;
|
|
@@ -5033,7 +5195,7 @@ function io(e) {
|
|
|
5033
5195
|
})), q(() => ({
|
|
5034
5196
|
e: e.id,
|
|
5035
5197
|
t: e.kind,
|
|
5036
|
-
a:
|
|
5198
|
+
a: Io(e)
|
|
5037
5199
|
}), ({ e, t: n, a: r }, i) => {
|
|
5038
5200
|
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);
|
|
5039
5201
|
}), t;
|
|
@@ -5046,7 +5208,7 @@ function io(e) {
|
|
|
5046
5208
|
return q(() => ({
|
|
5047
5209
|
e: e.id,
|
|
5048
5210
|
t: {
|
|
5049
|
-
"background-image": `linear-gradient(to right, ${
|
|
5211
|
+
"background-image": `linear-gradient(to right, ${Po(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Po(e)} 1px, transparent 1px)`,
|
|
5050
5212
|
"background-size": `${e.size}px ${e.size}px`
|
|
5051
5213
|
}
|
|
5052
5214
|
}), ({ e, t: n }, r) => {
|
|
@@ -5058,34 +5220,34 @@ function io(e) {
|
|
|
5058
5220
|
}
|
|
5059
5221
|
});
|
|
5060
5222
|
}
|
|
5061
|
-
var
|
|
5223
|
+
var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
|
|
5062
5224
|
"columns",
|
|
5063
5225
|
"rows",
|
|
5064
5226
|
"grid"
|
|
5065
|
-
]),
|
|
5227
|
+
]), Vo = /* @__PURE__ */ new Set([
|
|
5066
5228
|
"stretch",
|
|
5067
5229
|
"min",
|
|
5068
5230
|
"center",
|
|
5069
5231
|
"max"
|
|
5070
|
-
]),
|
|
5071
|
-
let t = e.kind &&
|
|
5232
|
+
]), Ho = (e, t, n) => Math.min(n, Math.max(t, e)), Uo = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Wo = (e = {}) => {
|
|
5233
|
+
let t = e.kind && Bo.has(e.kind) ? e.kind : "columns", n = e.align && Vo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
|
|
5072
5234
|
return {
|
|
5073
|
-
id: r ||
|
|
5235
|
+
id: r || Wr(),
|
|
5074
5236
|
kind: t,
|
|
5075
5237
|
visible: e.visible ?? !0,
|
|
5076
5238
|
color: i || "#FF0000",
|
|
5077
|
-
opacity:
|
|
5078
|
-
count:
|
|
5079
|
-
size:
|
|
5080
|
-
gutter:
|
|
5081
|
-
offset:
|
|
5239
|
+
opacity: Ho(Uo(e.opacity, zo), 0, 1),
|
|
5240
|
+
count: Ho(Math.round(Uo(e.count, 5)), 1, 24),
|
|
5241
|
+
size: Ho(Uo(e.size, 72), 1, 4096),
|
|
5242
|
+
gutter: Ho(Uo(e.gutter, 20), 0, 800),
|
|
5243
|
+
offset: Ho(Uo(e.offset, 0), 0, 4096),
|
|
5082
5244
|
align: n
|
|
5083
5245
|
};
|
|
5084
|
-
},
|
|
5246
|
+
}, Go = (e) => (e ?? []).map(Wo), Ko = (e) => {
|
|
5085
5247
|
if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
|
|
5086
5248
|
let t = e.kind === "columns" ? "columns" : "rows";
|
|
5087
5249
|
return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
|
|
5088
|
-
},
|
|
5250
|
+
}, qo = (e) => (() => {
|
|
5089
5251
|
var t = Y("svg", {
|
|
5090
5252
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5091
5253
|
viewBox: "0 0 24 24",
|
|
@@ -5104,22 +5266,22 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5104
5266
|
}), ({ e, t: n }, r) => {
|
|
5105
5267
|
e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
|
|
5106
5268
|
}), t;
|
|
5107
|
-
})(),
|
|
5269
|
+
})(), Jo = (e) => e.kind === "rows" ? J(mi, { size: 14 }) : e.kind === "grid" ? J(fi, { size: 14 }) : J(pi, { size: 14 }), Yo = "msr:grid-cols-[78px_minmax(0,1fr)]", Xo = (e) => (() => {
|
|
5108
5270
|
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");
|
|
5109
5271
|
return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
|
|
5110
|
-
})(),
|
|
5272
|
+
})(), Zo = (e) => (() => {
|
|
5111
5273
|
var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
|
|
5112
|
-
class:
|
|
5274
|
+
class: ri,
|
|
5113
5275
|
onPointerDown: (e) => e.stopPropagation(),
|
|
5114
5276
|
onChange: (t) => e.onChange(t.currentTarget.value)
|
|
5115
5277
|
});
|
|
5116
|
-
return X(t, n), Z(n, () => e.children), Z(t, J(
|
|
5278
|
+
return X(t, n), Z(n, () => e.children), Z(t, J(ii, {}), null), q(() => ({
|
|
5117
5279
|
e: e.label,
|
|
5118
5280
|
t: e.value
|
|
5119
5281
|
}), ({ e, t }, r) => {
|
|
5120
5282
|
e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
|
|
5121
5283
|
}), t;
|
|
5122
|
-
})(),
|
|
5284
|
+
})(), Qo = (e) => {
|
|
5123
5285
|
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) => {
|
|
5124
5286
|
let n = Number(t.replace(/[^\d.-]/g, ""));
|
|
5125
5287
|
if (!Number.isFinite(n)) {
|
|
@@ -5128,7 +5290,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5128
5290
|
}
|
|
5129
5291
|
e.onChange(s(n));
|
|
5130
5292
|
};
|
|
5131
|
-
return J(
|
|
5293
|
+
return J(ai, { get left() {
|
|
5132
5294
|
var a = Y("input", {
|
|
5133
5295
|
type: "text",
|
|
5134
5296
|
inputmode: "numeric",
|
|
@@ -5160,7 +5322,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5160
5322
|
e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
|
|
5161
5323
|
}), a;
|
|
5162
5324
|
} });
|
|
5163
|
-
},
|
|
5325
|
+
}, $o = (e) => e === "rows" || e === "grid" ? e : "columns", es = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", ts = (e) => {
|
|
5164
5326
|
let t = Gt(() => e.guide.kind === "rows" ? {
|
|
5165
5327
|
stretch: "Stretch",
|
|
5166
5328
|
min: "Top",
|
|
@@ -5177,13 +5339,13 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5177
5339
|
"aria-label": "Back to layout guides",
|
|
5178
5340
|
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"
|
|
5179
5341
|
});
|
|
5180
|
-
return X(r, i), X(i, a), Z(i, J(
|
|
5342
|
+
return X(r, i), X(i, a), Z(i, J(Zo, {
|
|
5181
5343
|
label: "Layout guide type",
|
|
5182
5344
|
get value() {
|
|
5183
5345
|
return e.guide.kind;
|
|
5184
5346
|
},
|
|
5185
5347
|
onChange: (t) => {
|
|
5186
|
-
let n =
|
|
5348
|
+
let n = $o(t);
|
|
5187
5349
|
e.onUpdate({
|
|
5188
5350
|
kind: n,
|
|
5189
5351
|
align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
|
|
@@ -5205,15 +5367,15 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5205
5367
|
})()
|
|
5206
5368
|
];
|
|
5207
5369
|
}
|
|
5208
|
-
}), a), Z(a, J(
|
|
5370
|
+
}), a), Z(a, J(qo, {})), Z(r, J(Xt, {
|
|
5209
5371
|
get when() {
|
|
5210
5372
|
return e.guide.kind !== "grid";
|
|
5211
5373
|
},
|
|
5212
5374
|
get children() {
|
|
5213
|
-
return J(
|
|
5375
|
+
return J(Xo, {
|
|
5214
5376
|
label: "Count",
|
|
5215
5377
|
get children() {
|
|
5216
|
-
return J(
|
|
5378
|
+
return J(Qo, {
|
|
5217
5379
|
label: "Count",
|
|
5218
5380
|
get value() {
|
|
5219
5381
|
return e.guide.count;
|
|
@@ -5225,16 +5387,16 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5225
5387
|
}
|
|
5226
5388
|
});
|
|
5227
5389
|
}
|
|
5228
|
-
}), null), Z(r, J(
|
|
5390
|
+
}), null), Z(r, J(oi, {
|
|
5229
5391
|
label: "Color",
|
|
5230
|
-
columns:
|
|
5392
|
+
columns: Yo,
|
|
5231
5393
|
get value() {
|
|
5232
5394
|
return dr({
|
|
5233
5395
|
...lr(e.guide.color) ?? lr("#FF0000"),
|
|
5234
5396
|
alpha: e.guide.opacity
|
|
5235
5397
|
});
|
|
5236
5398
|
},
|
|
5237
|
-
fallback:
|
|
5399
|
+
fallback: Ro,
|
|
5238
5400
|
get ownerWindow() {
|
|
5239
5401
|
return e.ownerWindow;
|
|
5240
5402
|
},
|
|
@@ -5253,15 +5415,15 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5253
5415
|
return e.guide.kind !== "grid";
|
|
5254
5416
|
},
|
|
5255
5417
|
get children() {
|
|
5256
|
-
return J(
|
|
5418
|
+
return J(Xo, {
|
|
5257
5419
|
label: "Type",
|
|
5258
5420
|
get children() {
|
|
5259
|
-
return J(
|
|
5421
|
+
return J(Zo, {
|
|
5260
5422
|
label: "Alignment",
|
|
5261
5423
|
get value() {
|
|
5262
5424
|
return e.guide.align;
|
|
5263
5425
|
},
|
|
5264
|
-
onChange: (t) => e.onUpdate({ align:
|
|
5426
|
+
onChange: (t) => e.onUpdate({ align: es(t) }),
|
|
5265
5427
|
get children() {
|
|
5266
5428
|
return J(Yt, {
|
|
5267
5429
|
each: [
|
|
@@ -5285,12 +5447,12 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5285
5447
|
return e.guide.kind === "grid" || e.guide.align !== "stretch";
|
|
5286
5448
|
},
|
|
5287
5449
|
get children() {
|
|
5288
|
-
return J(
|
|
5450
|
+
return J(Xo, {
|
|
5289
5451
|
get label() {
|
|
5290
5452
|
return n();
|
|
5291
5453
|
},
|
|
5292
5454
|
get children() {
|
|
5293
|
-
return J(
|
|
5455
|
+
return J(Qo, {
|
|
5294
5456
|
get label() {
|
|
5295
5457
|
return n();
|
|
5296
5458
|
},
|
|
@@ -5309,10 +5471,10 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5309
5471
|
return e.guide.kind !== "grid";
|
|
5310
5472
|
},
|
|
5311
5473
|
get children() {
|
|
5312
|
-
return [J(
|
|
5474
|
+
return [J(Xo, {
|
|
5313
5475
|
label: "Offset",
|
|
5314
5476
|
get children() {
|
|
5315
|
-
return J(
|
|
5477
|
+
return J(Qo, {
|
|
5316
5478
|
label: "Offset",
|
|
5317
5479
|
get value() {
|
|
5318
5480
|
return e.guide.offset;
|
|
@@ -5322,10 +5484,10 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5322
5484
|
onChange: (t) => e.onUpdate({ offset: t })
|
|
5323
5485
|
});
|
|
5324
5486
|
}
|
|
5325
|
-
}), J(
|
|
5487
|
+
}), J(Xo, {
|
|
5326
5488
|
label: "Gutter",
|
|
5327
5489
|
get children() {
|
|
5328
|
-
return J(
|
|
5490
|
+
return J(Qo, {
|
|
5329
5491
|
label: "Gutter",
|
|
5330
5492
|
get value() {
|
|
5331
5493
|
return e.guide.gutter;
|
|
@@ -5341,7 +5503,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
|
|
|
5341
5503
|
Q(a, "onClick", e, t);
|
|
5342
5504
|
}), r;
|
|
5343
5505
|
};
|
|
5344
|
-
function
|
|
5506
|
+
function ns(e) {
|
|
5345
5507
|
let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
|
|
5346
5508
|
var i = Y("div", {
|
|
5347
5509
|
"data-mesurer-layout-guides-panel": "true",
|
|
@@ -5363,7 +5525,7 @@ function wo(e) {
|
|
|
5363
5525
|
"aria-label": "Add layout guide",
|
|
5364
5526
|
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"
|
|
5365
5527
|
});
|
|
5366
|
-
return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(
|
|
5528
|
+
return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(hi, {})), Z(t, J(Xt, {
|
|
5367
5529
|
get when() {
|
|
5368
5530
|
return e.guides.length > 0;
|
|
5369
5531
|
},
|
|
@@ -5390,22 +5552,22 @@ function wo(e) {
|
|
|
5390
5552
|
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",
|
|
5391
5553
|
onClick: () => e.onRemove(t.id)
|
|
5392
5554
|
});
|
|
5393
|
-
return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(
|
|
5555
|
+
return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Jo, { get kind() {
|
|
5394
5556
|
return t.kind;
|
|
5395
|
-
} })), Z(o, () =>
|
|
5557
|
+
} })), Z(o, () => Ko(t)), Z(i, J(ci, {
|
|
5396
5558
|
size: 8,
|
|
5397
5559
|
class: "msr:block msr:-rotate-90 msr:text-ink-400"
|
|
5398
5560
|
}), null), Z(s, (() => {
|
|
5399
5561
|
var e = Zn(() => !!t.visible);
|
|
5400
|
-
return () => e() ? J(
|
|
5401
|
-
})()), Z(c, J(
|
|
5562
|
+
return () => e() ? J(gi, {}) : J(_i, {});
|
|
5563
|
+
})()), Z(c, J(li, {
|
|
5402
5564
|
size: 10,
|
|
5403
5565
|
class: "msr:block"
|
|
5404
5566
|
})), q(() => ({
|
|
5405
|
-
e: t.visible ? `Hide ${
|
|
5567
|
+
e: t.visible ? `Hide ${Ko(t)}` : `Show ${Ko(t)}`,
|
|
5406
5568
|
t: t.visible ? "true" : "false",
|
|
5407
5569
|
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"}`,
|
|
5408
|
-
o: `Remove ${
|
|
5570
|
+
o: `Remove ${Ko(t)}`
|
|
5409
5571
|
}), ({ e, t, a: n, o: r }, i) => {
|
|
5410
5572
|
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);
|
|
5411
5573
|
}), r;
|
|
@@ -5416,7 +5578,7 @@ function wo(e) {
|
|
|
5416
5578
|
Q(a, "onClick", e, t);
|
|
5417
5579
|
}), t;
|
|
5418
5580
|
},
|
|
5419
|
-
children: (t) => J(
|
|
5581
|
+
children: (t) => J(ts, {
|
|
5420
5582
|
get guide() {
|
|
5421
5583
|
return t();
|
|
5422
5584
|
},
|
|
@@ -5428,56 +5590,56 @@ function wo(e) {
|
|
|
5428
5590
|
})
|
|
5429
5591
|
})), i;
|
|
5430
5592
|
}
|
|
5431
|
-
var
|
|
5593
|
+
var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-guides.pages", os = "mesurer.layout-guides.active", ss = "runtime:solid", cs = "layout-guides.toggle", ls = "layout-guides.add", us = "layout-guides.update", ds = "layout-guides.remove", fs = "layout-guides.clear", ps = 240, ms = 8, hs = 8, gs = () => ({ pages: {} }), _s = (e, t) => e.pages[t] ?? [], vs = (e) => typeof e == "object" && !!e && !Array.isArray(e), ys = (e) => typeof e == "string", bs = (e) => typeof e == "boolean", xs = (e) => typeof e == "number", Ss = (e) => e === "columns" || e === "rows" || e === "grid", Cs = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", ws = (e) => ({ ...e }), Ts = (e) => e.map(ws), Es = (e) => vs(e) ? e : null, Ds = (e) => {
|
|
5432
5594
|
if (!e) return {};
|
|
5433
5595
|
let t = {};
|
|
5434
|
-
return
|
|
5435
|
-
},
|
|
5596
|
+
return ys(e.id) && (t.id = e.id), Ss(e.kind) && (t.kind = e.kind), bs(e.visible) && (t.visible = e.visible), ys(e.color) && (t.color = e.color), xs(e.opacity) && (t.opacity = e.opacity), xs(e.count) && (t.count = e.count), xs(e.size) && (t.size = e.size), xs(e.gutter) && (t.gutter = e.gutter), xs(e.offset) && (t.offset = e.offset), Cs(e.align) && (t.align = e.align), t;
|
|
5597
|
+
}, Os = (e) => {
|
|
5436
5598
|
let t = {};
|
|
5437
5599
|
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;
|
|
5438
|
-
},
|
|
5600
|
+
}, ks = {
|
|
5439
5601
|
viewBox: "0 0 256 256",
|
|
5440
5602
|
paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
|
|
5441
|
-
},
|
|
5442
|
-
id:
|
|
5603
|
+
}, As = () => ar({
|
|
5604
|
+
id: rs,
|
|
5443
5605
|
version: "0.1.0",
|
|
5444
|
-
requires: [
|
|
5445
|
-
provides: [
|
|
5606
|
+
requires: [ss],
|
|
5607
|
+
provides: [is, "tool:layout-guides"],
|
|
5446
5608
|
setup(e) {
|
|
5447
|
-
let t = e.service.get(
|
|
5609
|
+
let t = e.service.get(ss);
|
|
5448
5610
|
if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
|
|
5449
5611
|
let n = t.rendererRoot;
|
|
5450
5612
|
if (!n) throw Error("Layout Guides requires a mounted renderer root.");
|
|
5451
5613
|
e.state.register({
|
|
5452
|
-
id:
|
|
5453
|
-
initial:
|
|
5614
|
+
id: as,
|
|
5615
|
+
initial: gs(),
|
|
5454
5616
|
history: !0,
|
|
5455
5617
|
persist: !0
|
|
5456
5618
|
}), e.state.register({
|
|
5457
|
-
id:
|
|
5619
|
+
id: os,
|
|
5458
5620
|
initial: !1
|
|
5459
5621
|
});
|
|
5460
|
-
let r =
|
|
5461
|
-
e.state.update(
|
|
5622
|
+
let r = Jr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? gs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => Go(_s(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
|
|
5623
|
+
e.state.update(os, () => t);
|
|
5462
5624
|
}, m = (t) => {
|
|
5463
|
-
e.state.update(
|
|
5625
|
+
e.state.update(as, (e) => ({
|
|
5464
5626
|
...e,
|
|
5465
5627
|
pages: {
|
|
5466
5628
|
...e.pages,
|
|
5467
|
-
[r]:
|
|
5629
|
+
[r]: Ts(t(Go(e.pages[r])))
|
|
5468
5630
|
}
|
|
5469
5631
|
}));
|
|
5470
5632
|
};
|
|
5471
|
-
e.command.register(
|
|
5633
|
+
e.command.register(cs, () => {
|
|
5472
5634
|
let e = !u();
|
|
5473
|
-
return e && d().length === 0 && m(() => [
|
|
5474
|
-
}), e.command.register(
|
|
5475
|
-
let t =
|
|
5635
|
+
return e && d().length === 0 && m(() => [Wo()]), i = e, p(e), u();
|
|
5636
|
+
}), e.command.register(ls, (e) => {
|
|
5637
|
+
let t = Wo(Ds(Es(e)));
|
|
5476
5638
|
return m((e) => [...e, t]), { ...t };
|
|
5477
|
-
}), e.command.register(
|
|
5478
|
-
let t =
|
|
5639
|
+
}), e.command.register(us, (e) => {
|
|
5640
|
+
let t = Es(e), n = t && ys(t.id) ? t.id : null, r = Ds(Es(t?.patch));
|
|
5479
5641
|
if (!n) throw Error("layout-guides.update requires a guide id.");
|
|
5480
|
-
m((e) => e.map((e) => e.id === n ?
|
|
5642
|
+
m((e) => e.map((e) => e.id === n ? Wo({
|
|
5481
5643
|
...e,
|
|
5482
5644
|
...r,
|
|
5483
5645
|
id: e.id
|
|
@@ -5485,30 +5647,30 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5485
5647
|
let i = d().find((e) => e.id === n);
|
|
5486
5648
|
if (!i) throw Error(`Layout guide not found: ${n}`);
|
|
5487
5649
|
return { ...i };
|
|
5488
|
-
}), e.command.register(
|
|
5489
|
-
let t =
|
|
5650
|
+
}), e.command.register(ds, (e) => {
|
|
5651
|
+
let t = Es(e), n = t && ys(t.id) ? t.id : null;
|
|
5490
5652
|
if (!n) throw Error("layout-guides.remove requires a guide id.");
|
|
5491
5653
|
let r = d().length;
|
|
5492
5654
|
return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
|
|
5493
|
-
}), e.command.register(
|
|
5655
|
+
}), e.command.register(fs, () => {
|
|
5494
5656
|
m(() => []);
|
|
5495
5657
|
});
|
|
5496
5658
|
let h = async (t, n) => {
|
|
5497
|
-
let r =
|
|
5659
|
+
let r = Es(await e.command.execute(t, n));
|
|
5498
5660
|
if (!r) throw Error(`${t} did not return a layout guide.`);
|
|
5499
|
-
return
|
|
5661
|
+
return Wo(Ds(r));
|
|
5500
5662
|
}, g = {
|
|
5501
5663
|
list: () => d().map((e) => ({ ...e })),
|
|
5502
|
-
add: (e = {}) => h(
|
|
5503
|
-
update: (e, t) => h(
|
|
5664
|
+
add: (e = {}) => h(ls, Os(e)),
|
|
5665
|
+
update: (e, t) => h(us, {
|
|
5504
5666
|
id: e,
|
|
5505
|
-
patch:
|
|
5667
|
+
patch: Os(t)
|
|
5506
5668
|
}),
|
|
5507
5669
|
async remove(t) {
|
|
5508
|
-
return await e.command.execute(
|
|
5670
|
+
return await e.command.execute(ds, { id: t }) === !0;
|
|
5509
5671
|
},
|
|
5510
5672
|
async clear() {
|
|
5511
|
-
await e.command.execute(
|
|
5673
|
+
await e.command.execute(fs);
|
|
5512
5674
|
},
|
|
5513
5675
|
subscribe(e) {
|
|
5514
5676
|
s.add(e);
|
|
@@ -5518,25 +5680,25 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5518
5680
|
};
|
|
5519
5681
|
}
|
|
5520
5682
|
};
|
|
5521
|
-
e.service.provide(
|
|
5683
|
+
e.service.provide(is, g), e.tool.register({
|
|
5522
5684
|
id: "layout-guides",
|
|
5523
5685
|
label: "Layout guides",
|
|
5524
5686
|
shortcut: "L",
|
|
5525
|
-
command:
|
|
5687
|
+
command: cs,
|
|
5526
5688
|
order: 38,
|
|
5527
|
-
icon:
|
|
5689
|
+
icon: ks,
|
|
5528
5690
|
active: u
|
|
5529
5691
|
});
|
|
5530
5692
|
let _ = t.ownerDocument.createElement("div");
|
|
5531
5693
|
_.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
|
|
5532
|
-
let v = Xn(() => J(
|
|
5694
|
+
let v = Xn(() => J(Lo, { get guides() {
|
|
5533
5695
|
return f();
|
|
5534
5696
|
} }), _), y = t.createInspectorMount();
|
|
5535
5697
|
y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
|
|
5536
5698
|
position: "fixed",
|
|
5537
5699
|
left: "0",
|
|
5538
5700
|
top: "0",
|
|
5539
|
-
width: `${
|
|
5701
|
+
width: `${ps}px`,
|
|
5540
5702
|
zIndex: "100",
|
|
5541
5703
|
pointerEvents: "none",
|
|
5542
5704
|
display: "none"
|
|
@@ -5545,13 +5707,13 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5545
5707
|
if (c = 0, !i) return;
|
|
5546
5708
|
let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
|
|
5547
5709
|
if (!e) return;
|
|
5548
|
-
let n = e.getBoundingClientRect(), r = Math.min(Math.max(
|
|
5710
|
+
let n = e.getBoundingClientRect(), r = Math.min(Math.max(hs, n.right - ps), Math.max(hs, t.ownerWindow.innerWidth - ps - hs)), a = t.ownerWindow.innerHeight - n.bottom - ms - hs, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + ms : Math.max(hs, n.top - ms - o);
|
|
5549
5711
|
y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
|
|
5550
5712
|
}, x = () => {
|
|
5551
5713
|
c ||= t.ownerWindow.requestAnimationFrame(b);
|
|
5552
5714
|
}, S = () => {
|
|
5553
5715
|
y.element.style.display = i ? "block" : "none", i && x();
|
|
5554
|
-
}, C = Xn(() => J(
|
|
5716
|
+
}, C = Xn(() => J(ns, {
|
|
5555
5717
|
get guides() {
|
|
5556
5718
|
return f();
|
|
5557
5719
|
},
|
|
@@ -5571,7 +5733,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5571
5733
|
o((e) => e + 1);
|
|
5572
5734
|
for (let e of s) e();
|
|
5573
5735
|
S();
|
|
5574
|
-
}, T = e.state.subscribe(w), E =
|
|
5736
|
+
}, T = e.state.subscribe(w), E = Qr(t.ownerWindow, (e) => {
|
|
5575
5737
|
r !== e && (r = e, w());
|
|
5576
5738
|
}), D = (e) => {
|
|
5577
5739
|
if (!i) return;
|
|
@@ -5586,169 +5748,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5586
5748
|
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();
|
|
5587
5749
|
});
|
|
5588
5750
|
}
|
|
5589
|
-
}),
|
|
5590
|
-
if (e instanceof Blob) return e;
|
|
5591
|
-
if (e instanceof Uint8Array) {
|
|
5592
|
-
let t = new Uint8Array(e.byteLength);
|
|
5593
|
-
return t.set(e), new Blob([t.buffer], { type: "image/png" });
|
|
5594
|
-
}
|
|
5595
|
-
if (e instanceof ArrayBuffer) return new Blob([e.slice(0)], { type: "image/png" });
|
|
5596
|
-
if (e == null) throw Error("Host screenshot capture returned no PNG data.");
|
|
5597
|
-
if (!e.png) throw Error("Host screenshot capture returned unsupported PNG data.");
|
|
5598
|
-
return rs(e.png);
|
|
5599
|
-
}, is = async (e) => {
|
|
5600
|
-
let t = ns(e);
|
|
5601
|
-
return t ? rs(await t()) : null;
|
|
5602
|
-
}, as = (e, t, n) => {
|
|
5603
|
-
let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
|
|
5604
|
-
return {
|
|
5605
|
-
left: r,
|
|
5606
|
-
top: i,
|
|
5607
|
-
width: Math.max(0, a - r),
|
|
5608
|
-
height: Math.max(0, o - i)
|
|
5609
|
-
};
|
|
5610
|
-
}, os = async (e, t, n, r) => {
|
|
5611
|
-
let i = await createImageBitmap(e);
|
|
5612
|
-
try {
|
|
5613
|
-
let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
|
|
5614
|
-
u.width = c, u.height = l;
|
|
5615
|
-
let d = u.getContext("2d");
|
|
5616
|
-
if (!d) throw Error("Could not crop screenshot");
|
|
5617
|
-
return d.drawImage(i, o, s, c, l, 0, 0, c, l), await new Promise((e, t) => {
|
|
5618
|
-
u.toBlob((n) => {
|
|
5619
|
-
n ? e(n) : t(/* @__PURE__ */ Error("Could not crop screenshot"));
|
|
5620
|
-
}, "image/png");
|
|
5621
|
-
});
|
|
5622
|
-
} finally {
|
|
5623
|
-
i.close();
|
|
5624
|
-
}
|
|
5625
|
-
}, ss = async (e, t) => {
|
|
5626
|
-
let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
|
|
5627
|
-
if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
|
|
5628
|
-
await n.write([new r({ "image/png": e })]);
|
|
5629
|
-
}, cs = (e = /* @__PURE__ */ new Date()) => {
|
|
5630
|
-
let t = (e) => String(e).padStart(2, "0");
|
|
5631
|
-
return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
|
|
5632
|
-
}, ls = (e, t, n, r) => {
|
|
5633
|
-
let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
|
|
5634
|
-
a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
|
|
5635
|
-
}, us = (e) => new Promise((t) => {
|
|
5636
|
-
e.requestAnimationFrame(() => {
|
|
5637
|
-
e.requestAnimationFrame(() => t());
|
|
5638
|
-
});
|
|
5639
|
-
}), ds = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, fs = (e, t, n = "") => `${e}:${t}:${n}`, ps = (e) => e.location.origin === "null" ? "*" : e.location.origin, ms = (e, t, n) => {
|
|
5640
|
-
let r = `${t}:${n}:`;
|
|
5641
|
-
return e.startsWith(r) ? e.slice(r.length) : null;
|
|
5642
|
-
}, hs = (e) => new Promise((t) => {
|
|
5643
|
-
let n = ds(e), r = e.location.origin, i = (o) => {
|
|
5644
|
-
o.source === e && o.origin === r && ms(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
|
|
5645
|
-
}, a = e.setTimeout(() => {
|
|
5646
|
-
e.removeEventListener("message", i), t(!1);
|
|
5647
|
-
}, 80);
|
|
5648
|
-
e.addEventListener("message", i), e.postMessage(fs($o, n), ps(e));
|
|
5649
|
-
}), gs = (e) => new Promise((t, n) => {
|
|
5650
|
-
let r = ds(e), i = e.location.origin, a = (s) => {
|
|
5651
|
-
if (s.source !== e || s.origin !== i) return;
|
|
5652
|
-
let c = ms(String(s.data ?? ""), ts, r);
|
|
5653
|
-
if (c === null) return;
|
|
5654
|
-
if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
|
|
5655
|
-
t(null);
|
|
5656
|
-
return;
|
|
5657
|
-
}
|
|
5658
|
-
let l = c.slice(3);
|
|
5659
|
-
if (!l) {
|
|
5660
|
-
t(null);
|
|
5661
|
-
return;
|
|
5662
|
-
}
|
|
5663
|
-
e.fetch(l).then((e) => e.blob()).then(t, n);
|
|
5664
|
-
}, o = e.setTimeout(() => {
|
|
5665
|
-
e.removeEventListener("message", a), t(null);
|
|
5666
|
-
}, 4e3);
|
|
5667
|
-
e.addEventListener("message", a), e.postMessage(fs(es, r), ps(e));
|
|
5668
|
-
}), _s = /* @__PURE__ */ new WeakMap(), vs = (e) => {
|
|
5669
|
-
let t = _s.get(e), n = t?.stream.getVideoTracks()[0];
|
|
5670
|
-
if (!t || !n || n.readyState !== "live") {
|
|
5671
|
-
_s.delete(e);
|
|
5672
|
-
return;
|
|
5673
|
-
}
|
|
5674
|
-
return t;
|
|
5675
|
-
}, ys = async (e, t) => {
|
|
5676
|
-
let n = vs(t);
|
|
5677
|
-
if (n) return n;
|
|
5678
|
-
let r = t.navigator.mediaDevices;
|
|
5679
|
-
if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
|
|
5680
|
-
let i = await r.getDisplayMedia({
|
|
5681
|
-
audio: !1,
|
|
5682
|
-
video: !0,
|
|
5683
|
-
preferCurrentTab: !0,
|
|
5684
|
-
selfBrowserSurface: "include"
|
|
5685
|
-
}), a = i.getVideoTracks()[0];
|
|
5686
|
-
if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("Capture failed");
|
|
5687
|
-
try {
|
|
5688
|
-
let n = e.createElement("video");
|
|
5689
|
-
n.autoplay = !0, n.muted = !0, n.playsInline = !0, n.srcObject = i, await n.play(), (n.videoWidth === 0 || n.videoHeight === 0) && await new Promise((e) => {
|
|
5690
|
-
n.onloadedmetadata = () => e();
|
|
5691
|
-
});
|
|
5692
|
-
let r = {
|
|
5693
|
-
stream: i,
|
|
5694
|
-
video: n
|
|
5695
|
-
};
|
|
5696
|
-
return _s.set(t, r), a.addEventListener("ended", () => {
|
|
5697
|
-
_s.get(t) === r && _s.delete(t);
|
|
5698
|
-
}, { once: !0 }), r;
|
|
5699
|
-
} catch (e) {
|
|
5700
|
-
throw i.getTracks().forEach((e) => e.stop()), e;
|
|
5701
|
-
}
|
|
5702
|
-
}, bs = (e) => {
|
|
5703
|
-
let t = _s.get(e);
|
|
5704
|
-
t && (_s.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
|
|
5705
|
-
}, xs = async ({ ownerDocument: e, ownerWindow: t }) => {
|
|
5706
|
-
let { video: n } = await ys(e, t), r = e.createElement("canvas");
|
|
5707
|
-
r.width = n.videoWidth, r.height = n.videoHeight;
|
|
5708
|
-
let i = r.getContext("2d");
|
|
5709
|
-
if (!i) throw Error("Capture failed");
|
|
5710
|
-
return i.drawImage(n, 0, 0), await new Promise((e, t) => {
|
|
5711
|
-
r.toBlob((n) => {
|
|
5712
|
-
n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
|
|
5713
|
-
}, "image/png");
|
|
5714
|
-
});
|
|
5715
|
-
}, Ss = {
|
|
5716
|
-
prepare: async () => void 0,
|
|
5717
|
-
capture: async ({ ownerWindow: e }) => {
|
|
5718
|
-
let t = await is(e);
|
|
5719
|
-
if (!t) throw Error("Host screenshot capture is unavailable.");
|
|
5720
|
-
return t;
|
|
5721
|
-
},
|
|
5722
|
-
release: () => void 0
|
|
5723
|
-
}, Cs = {
|
|
5724
|
-
prepare: async () => void 0,
|
|
5725
|
-
capture: async ({ ownerWindow: e }) => {
|
|
5726
|
-
let t = await gs(e);
|
|
5727
|
-
if (!t) throw Error("Host screenshot capture failed.");
|
|
5728
|
-
return t;
|
|
5729
|
-
},
|
|
5730
|
-
release: () => void 0
|
|
5731
|
-
}, ws = {
|
|
5732
|
-
prepare: async ({ ownerDocument: e, ownerWindow: t }) => {
|
|
5733
|
-
await ys(e, t);
|
|
5734
|
-
},
|
|
5735
|
-
capture: xs,
|
|
5736
|
-
release: bs
|
|
5737
|
-
}, Ts = /* @__PURE__ */ new WeakMap(), Es = async (e) => {
|
|
5738
|
-
let t = Ts.get(e.ownerWindow);
|
|
5739
|
-
if (t) return t;
|
|
5740
|
-
let n = ws;
|
|
5741
|
-
return ns(e.ownerWindow) ? n = Ss : await hs(e.ownerWindow) && (n = Cs), Ts.set(e.ownerWindow, n), n;
|
|
5742
|
-
}, Ds = async (e, t) => {
|
|
5743
|
-
let n = {
|
|
5744
|
-
ownerDocument: e,
|
|
5745
|
-
ownerWindow: t
|
|
5746
|
-
};
|
|
5747
|
-
await (await Es(n)).prepare(n);
|
|
5748
|
-
}, Os = async (e) => (await Es(e)).capture(e), ks = (e) => {
|
|
5749
|
-
let t = Ts.get(e);
|
|
5750
|
-
Ts.delete(e), t?.release(e);
|
|
5751
|
-
}, As = Os, js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
|
|
5751
|
+
}), js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
|
|
5752
5752
|
for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
|
|
5753
5753
|
}, Ls = (e, t) => ({
|
|
5754
5754
|
left: Math.min(Math.max(Ns, e.left), Math.max(Ns, t.innerWidth - js - Ns)),
|
|
@@ -5915,18 +5915,18 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5915
5915
|
}, N = async () => {
|
|
5916
5916
|
let e = v;
|
|
5917
5917
|
if (e) try {
|
|
5918
|
-
await
|
|
5918
|
+
await br(Promise.resolve(e), t), D("Copied screenshot");
|
|
5919
5919
|
} catch {
|
|
5920
5920
|
D("Could not copy screenshot", !0);
|
|
5921
5921
|
}
|
|
5922
|
-
},
|
|
5922
|
+
}, P = () => {
|
|
5923
5923
|
let n = v;
|
|
5924
5924
|
if (n) try {
|
|
5925
|
-
|
|
5925
|
+
Sr(n, xr(), e, t), D("Saved screenshot");
|
|
5926
5926
|
} catch {
|
|
5927
5927
|
D("Could not save screenshot", !0);
|
|
5928
5928
|
}
|
|
5929
|
-
},
|
|
5929
|
+
}, F = (e, t, n) => {
|
|
5930
5930
|
if (!v) return !1;
|
|
5931
5931
|
T();
|
|
5932
5932
|
let r = o.getBoundingClientRect();
|
|
@@ -5938,7 +5938,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5938
5938
|
top: r.top,
|
|
5939
5939
|
moved: !1
|
|
5940
5940
|
}, o.style.cursor = "grabbing", !0;
|
|
5941
|
-
},
|
|
5941
|
+
}, te = (e, t) => {
|
|
5942
5942
|
let n = x;
|
|
5943
5943
|
if (!n) return;
|
|
5944
5944
|
let r = e - n.startX, i = t - n.startY;
|
|
@@ -5946,28 +5946,28 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5946
5946
|
left: n.left + r,
|
|
5947
5947
|
top: n.top + i
|
|
5948
5948
|
});
|
|
5949
|
-
},
|
|
5949
|
+
}, I = () => {
|
|
5950
5950
|
let e = x;
|
|
5951
5951
|
e && (x = null, o.style.cursor = "grab", e.moved || ee());
|
|
5952
|
-
},
|
|
5952
|
+
}, L = () => {
|
|
5953
5953
|
x && (x = null, o.style.cursor = "grab");
|
|
5954
|
-
}, L = (e) => {
|
|
5955
|
-
e.button !== 0 || !P(e.clientX, e.clientY, null) || e.preventDefault();
|
|
5956
5954
|
}, R = (e) => {
|
|
5957
|
-
|
|
5955
|
+
e.button !== 0 || !F(e.clientX, e.clientY, null) || e.preventDefault();
|
|
5958
5956
|
}, z = (e) => {
|
|
5959
|
-
|
|
5957
|
+
x?.pointerId === null && te(e.clientX, e.clientY);
|
|
5960
5958
|
}, B = (e) => {
|
|
5961
|
-
e.
|
|
5959
|
+
e.button === 0 && x?.pointerId === null && I();
|
|
5962
5960
|
}, 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
5963
|
let t = x?.pointerId;
|
|
5964
|
-
t != null && t === e.pointerId &&
|
|
5964
|
+
t != null && t === e.pointerId && te(e.clientX, e.clientY);
|
|
5965
5965
|
}, re = (e) => {
|
|
5966
5966
|
let t = x?.pointerId;
|
|
5967
|
-
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId),
|
|
5967
|
+
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
|
|
5968
5968
|
}, H = (e) => {
|
|
5969
5969
|
let t = x?.pointerId;
|
|
5970
|
-
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId),
|
|
5970
|
+
t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), L());
|
|
5971
5971
|
}, ie = (e) => {
|
|
5972
5972
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), ee());
|
|
5973
5973
|
}, U = (e) => {
|
|
@@ -5979,9 +5979,9 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5979
5979
|
};
|
|
5980
5980
|
return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
|
|
5981
5981
|
e.stopPropagation(), A();
|
|
5982
|
-
}), o.addEventListener("mousedown",
|
|
5982
|
+
}), o.addEventListener("mousedown", R), o.addEventListener("pointerdown", V), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
|
|
5983
5983
|
N();
|
|
5984
|
-
}), h.addEventListener("click",
|
|
5984
|
+
}), h.addEventListener("click", P), g.addEventListener("click", O), t.addEventListener("mousemove", z, !0), t.addEventListener("mouseup", B, !0), t.addEventListener("pointermove", ne, !0), t.addEventListener("pointerup", re, !0), t.addEventListener("pointercancel", H, !0), t.addEventListener("keydown", W, !0), {
|
|
5985
5985
|
show(e, n) {
|
|
5986
5986
|
if (w) return;
|
|
5987
5987
|
T(), O(), k(), v = e;
|
|
@@ -5990,7 +5990,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
5990
5990
|
},
|
|
5991
5991
|
dismiss: A,
|
|
5992
5992
|
dispose() {
|
|
5993
|
-
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove",
|
|
5993
|
+
w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", z, !0), t.removeEventListener("mouseup", B, !0), t.removeEventListener("pointermove", ne, !0), t.removeEventListener("pointerup", re, !0), t.removeEventListener("pointercancel", H, !0), t.removeEventListener("keydown", W, !0), o.removeEventListener("mousedown", R), o.removeEventListener("pointerdown", V), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", U), d.removeEventListener("click", ae), a.remove());
|
|
5994
5994
|
}
|
|
5995
5995
|
};
|
|
5996
5996
|
}, Hs = "mesurer.screenshot", Us = "screenshot", Ws = "mesurer.screenshot.settings", Gs = "mesurer.screenshot.active", Ks = "runtime:solid", qs = "screenshot.toggle", Js = 2500, Ys = 0, Xs = [
|
|
@@ -6070,7 +6070,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6070
6070
|
setup(t) {
|
|
6071
6071
|
let n = t.service.get(Ks);
|
|
6072
6072
|
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 ??
|
|
6073
|
+
let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Ys;
|
|
6074
6074
|
t.state.register({
|
|
6075
6075
|
id: Ws,
|
|
6076
6076
|
initial: {
|
|
@@ -6232,19 +6232,19 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6232
6232
|
y && i.clearTimeout(y), g.style.display = "block", ee(g), y = i.setTimeout(() => {
|
|
6233
6233
|
y = 0, g.style.display = "none";
|
|
6234
6234
|
}, Js);
|
|
6235
|
-
}, te = () => {
|
|
6236
|
-
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
6237
6235
|
}, P = () => {
|
|
6238
|
-
|
|
6239
|
-
},
|
|
6236
|
+
_ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
|
|
6237
|
+
}, F = () => {
|
|
6238
|
+
b += 1, P(), Hr(i);
|
|
6239
|
+
}, te = async (e) => {
|
|
6240
6240
|
if (x) throw Error("A screenshot capture is already running.");
|
|
6241
6241
|
if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
|
|
6242
6242
|
x = !0;
|
|
6243
6243
|
let o = ++b, s = T(), l = s.includeMeasurements ? oc(r) : [], u = s.includeMeasurements ? () => void 0 : ac(n.portalTarget);
|
|
6244
6244
|
a.prepareCapture(), s.includeMeasurements && sc(l);
|
|
6245
6245
|
try {
|
|
6246
|
-
d.style.visibility = "hidden", await
|
|
6247
|
-
let n = await
|
|
6246
|
+
d.style.visibility = "hidden", await Cr(i);
|
|
6247
|
+
let n = await yr(await c({
|
|
6248
6248
|
ownerDocument: r,
|
|
6249
6249
|
ownerWindow: i
|
|
6250
6250
|
}), e, {
|
|
@@ -6252,10 +6252,10 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6252
6252
|
height: i.innerHeight
|
|
6253
6253
|
}, r);
|
|
6254
6254
|
if (b !== o) throw Error("Screenshot capture was cancelled.");
|
|
6255
|
-
let a = !1, l = !1, u = s.copy ?
|
|
6255
|
+
let a = !1, l = !1, u = s.copy ? br(Promise.resolve(n), i).then(() => {
|
|
6256
6256
|
a = !0;
|
|
6257
6257
|
}) : Promise.resolve(), f = s.download ? Promise.resolve().then(() => {
|
|
6258
|
-
|
|
6258
|
+
Sr(n, xr(), r, i), l = !0;
|
|
6259
6259
|
}) : Promise.resolve(), p = await Promise.allSettled([u, f]), m = s.copy && p[0]?.status === "rejected", h = s.download && p[1]?.status === "rejected";
|
|
6260
6260
|
if (b !== o) throw Error("Screenshot capture was cancelled.");
|
|
6261
6261
|
return M.show(n, {
|
|
@@ -6278,16 +6278,16 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6278
6278
|
} finally {
|
|
6279
6279
|
d.style.visibility = "", u(), a.finishCapture(), x = !1;
|
|
6280
6280
|
}
|
|
6281
|
-
},
|
|
6281
|
+
}, I = async () => {
|
|
6282
6282
|
if (T().toolEnabled) {
|
|
6283
6283
|
if (w()) {
|
|
6284
|
-
|
|
6284
|
+
F();
|
|
6285
6285
|
return;
|
|
6286
6286
|
}
|
|
6287
6287
|
if (!S) {
|
|
6288
6288
|
S = !0, M.dismiss();
|
|
6289
6289
|
try {
|
|
6290
|
-
if (s || await
|
|
6290
|
+
if (s || await Br(r, i), C) return;
|
|
6291
6291
|
O(), A(null), d.style.visibility = "visible", u.style.pointerEvents = "auto", d.style.display = "block", D(!0);
|
|
6292
6292
|
} catch (e) {
|
|
6293
6293
|
throw e instanceof Error && e.name === "AbortError" || N(), e;
|
|
@@ -6296,27 +6296,27 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6296
6296
|
}
|
|
6297
6297
|
}
|
|
6298
6298
|
}
|
|
6299
|
-
},
|
|
6299
|
+
}, L = (e) => {
|
|
6300
6300
|
!w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
|
|
6301
6301
|
x: e.clientX,
|
|
6302
6302
|
y: e.clientY
|
|
6303
|
-
}, A(
|
|
6303
|
+
}, A(vr(_, _, {
|
|
6304
6304
|
width: i.innerWidth,
|
|
6305
6305
|
height: i.innerHeight
|
|
6306
6306
|
})), d.setPointerCapture?.(e.pointerId));
|
|
6307
|
-
},
|
|
6308
|
-
!w() || !_ || A(
|
|
6307
|
+
}, R = (e) => {
|
|
6308
|
+
!w() || !_ || A(vr(_, {
|
|
6309
6309
|
x: e.clientX,
|
|
6310
6310
|
y: e.clientY
|
|
6311
6311
|
}, {
|
|
6312
6312
|
width: i.innerWidth,
|
|
6313
6313
|
height: i.innerHeight
|
|
6314
6314
|
}));
|
|
6315
|
-
},
|
|
6315
|
+
}, z = (e) => {
|
|
6316
6316
|
let t = _;
|
|
6317
6317
|
if (_ = null, !w() || !t) return;
|
|
6318
6318
|
d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
|
|
6319
|
-
let n =
|
|
6319
|
+
let n = vr(t, {
|
|
6320
6320
|
x: e.clientX,
|
|
6321
6321
|
y: e.clientY
|
|
6322
6322
|
}, {
|
|
@@ -6327,22 +6327,22 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6327
6327
|
A(null);
|
|
6328
6328
|
return;
|
|
6329
6329
|
}
|
|
6330
|
-
|
|
6331
|
-
w() &&
|
|
6330
|
+
te(n).catch(() => void 0).finally(() => {
|
|
6331
|
+
w() && P();
|
|
6332
6332
|
});
|
|
6333
|
-
}, z = (e) => {
|
|
6334
|
-
_ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
|
|
6335
6333
|
}, B = (e) => {
|
|
6336
|
-
|
|
6334
|
+
_ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
|
|
6335
|
+
}, V = (e) => {
|
|
6336
|
+
e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), F());
|
|
6337
6337
|
};
|
|
6338
|
-
d.addEventListener("pointerdown",
|
|
6339
|
-
let
|
|
6338
|
+
d.addEventListener("pointerdown", L), d.addEventListener("pointermove", R), d.addEventListener("pointerup", z), d.addEventListener("pointercancel", B), i.addEventListener("keydown", V, !0);
|
|
6339
|
+
let ne = {
|
|
6340
6340
|
active: w,
|
|
6341
6341
|
settings: T,
|
|
6342
6342
|
setSettings: E,
|
|
6343
|
-
start:
|
|
6344
|
-
cancel:
|
|
6345
|
-
capture:
|
|
6343
|
+
start: I,
|
|
6344
|
+
cancel: F,
|
|
6345
|
+
capture: te
|
|
6346
6346
|
};
|
|
6347
6347
|
t.tool.register({
|
|
6348
6348
|
id: "screenshot",
|
|
@@ -6388,7 +6388,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6388
6388
|
description: "Show the camera tool in the toolbar.",
|
|
6389
6389
|
value: () => T().toolEnabled,
|
|
6390
6390
|
set: (e) => {
|
|
6391
|
-
E({ toolEnabled: e }), !e && w() &&
|
|
6391
|
+
E({ toolEnabled: e }), !e && w() && F();
|
|
6392
6392
|
}
|
|
6393
6393
|
},
|
|
6394
6394
|
{
|
|
@@ -6416,12 +6416,12 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
|
|
|
6416
6416
|
set: (e) => E({ includeMeasurements: e })
|
|
6417
6417
|
}
|
|
6418
6418
|
]
|
|
6419
|
-
}), t.command.register(qs,
|
|
6420
|
-
C = !0, b += 1, d.removeEventListener("pointerdown",
|
|
6419
|
+
}), t.command.register(qs, I), t.service.provide(Us, ne), t.lifecycle.onDispose(() => {
|
|
6420
|
+
C = !0, b += 1, d.removeEventListener("pointerdown", L), d.removeEventListener("pointermove", R), d.removeEventListener("pointerup", z), d.removeEventListener("pointercancel", B), i.removeEventListener("keydown", V, !0), y && i.clearTimeout(y), M.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
|
|
6421
6421
|
});
|
|
6422
6422
|
}
|
|
6423
|
-
}), lc = "0.1
|
|
6424
|
-
...
|
|
6423
|
+
}), lc = "0.2.0-beta.1", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
|
|
6424
|
+
...no(),
|
|
6425
6425
|
version: lc
|
|
6426
6426
|
}), gc = (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, _c = (e) => {
|
|
6427
6427
|
if (!e.length) return null;
|
|
@@ -6794,8 +6794,8 @@ var Lc = (e, t, n, r, i) => {
|
|
|
6794
6794
|
evidence: t,
|
|
6795
6795
|
id: n,
|
|
6796
6796
|
label: r
|
|
6797
|
-
});
|
|
6798
|
-
function
|
|
6797
|
+
}), zc = (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;
|
|
6798
|
+
function Bc(e) {
|
|
6799
6799
|
let t = e.runtime.annotation(e.annotationId);
|
|
6800
6800
|
if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
|
|
6801
6801
|
let n = Nc({
|
|
@@ -6829,12 +6829,13 @@ function zc(e) {
|
|
|
6829
6829
|
Lc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
|
|
6830
6830
|
}
|
|
6831
6831
|
for (let e of t.baseline.measurements) {
|
|
6832
|
-
let
|
|
6833
|
-
if (!
|
|
6834
|
-
|
|
6832
|
+
let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
|
|
6833
|
+
if (!r) {
|
|
6834
|
+
let r = t.baseline.targets.find((t) => zc(t.rect, e.rect));
|
|
6835
|
+
r && n.targets.some((e) => e.ref === r.id) || Rc(a, "measurement", e.id, e.id);
|
|
6835
6836
|
continue;
|
|
6836
6837
|
}
|
|
6837
|
-
Lc(a, "measurement", `${e.id} width`, e.rect.width,
|
|
6838
|
+
Lc(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), Lc(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
|
|
6838
6839
|
}
|
|
6839
6840
|
for (let e of t.baseline.distances) {
|
|
6840
6841
|
let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
|
|
@@ -6854,7 +6855,7 @@ function zc(e) {
|
|
|
6854
6855
|
changes: a
|
|
6855
6856
|
};
|
|
6856
6857
|
}
|
|
6857
|
-
async function
|
|
6858
|
+
async function Vc(e, t, n) {
|
|
6858
6859
|
try {
|
|
6859
6860
|
if (t.navigator.clipboard?.writeText) {
|
|
6860
6861
|
await t.navigator.clipboard.writeText(n);
|
|
@@ -6868,22 +6869,22 @@ async function Bc(e, t, n) {
|
|
|
6868
6869
|
}
|
|
6869
6870
|
//#endregion
|
|
6870
6871
|
//#region src/layout-guides.ts
|
|
6871
|
-
var
|
|
6872
|
-
...
|
|
6872
|
+
var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
|
|
6873
|
+
...As(),
|
|
6873
6874
|
version: lc
|
|
6874
|
-
}),
|
|
6875
|
+
}), qc = "mesurer.context", Jc = "context:v1", Yc = "mesurer.context.settings", Xc = "context.ui", Zc = "data-mesurer-direct-text-edit-active", Qc = {
|
|
6875
6876
|
viewBox: "0 0 256 256",
|
|
6876
6877
|
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"]
|
|
6877
|
-
},
|
|
6878
|
+
}, $c = {
|
|
6878
6879
|
viewBox: "0 0 256 256",
|
|
6879
6880
|
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"]
|
|
6880
|
-
},
|
|
6881
|
+
}, el = {
|
|
6881
6882
|
viewBox: "0 0 256 256",
|
|
6882
6883
|
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"]
|
|
6883
|
-
},
|
|
6884
|
+
}, tl = async (e, t, n = 1) => {
|
|
6884
6885
|
await e.fonts?.ready;
|
|
6885
6886
|
for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
|
|
6886
|
-
},
|
|
6887
|
+
}, nl = (e, t, n, r) => {
|
|
6887
6888
|
let i = async (i) => Nc({
|
|
6888
6889
|
runtime: e,
|
|
6889
6890
|
ownerDocument: t,
|
|
@@ -6894,17 +6895,17 @@ var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
|
|
|
6894
6895
|
return {
|
|
6895
6896
|
context: i,
|
|
6896
6897
|
contextText: a,
|
|
6897
|
-
copyContext: async (e) =>
|
|
6898
|
+
copyContext: async (e) => Vc(t, n, await a(e)),
|
|
6898
6899
|
select: async (r) => {
|
|
6899
6900
|
let a = Array.isArray(r) ? [...r] : [String(r)];
|
|
6900
|
-
return e.select(a), await
|
|
6901
|
+
return e.select(a), await tl(t, n), i({ scope: "selection" });
|
|
6901
6902
|
},
|
|
6902
6903
|
annotations: async () => e.annotations(),
|
|
6903
6904
|
removeAnnotation: async (r) => {
|
|
6904
|
-
e.removeAnnotation(r), await
|
|
6905
|
+
e.removeAnnotation(r), await tl(t, n);
|
|
6905
6906
|
},
|
|
6906
6907
|
review: async (i) => {
|
|
6907
|
-
if (await
|
|
6908
|
+
if (await tl(t, n), i) return Bc({
|
|
6908
6909
|
runtime: e,
|
|
6909
6910
|
ownerDocument: t,
|
|
6910
6911
|
ownerWindow: n,
|
|
@@ -6912,7 +6913,7 @@ var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
|
|
|
6912
6913
|
layoutGuides: r()
|
|
6913
6914
|
});
|
|
6914
6915
|
let a = r();
|
|
6915
|
-
return e.annotations().map((r) =>
|
|
6916
|
+
return e.annotations().map((r) => Bc({
|
|
6916
6917
|
runtime: e,
|
|
6917
6918
|
ownerDocument: t,
|
|
6918
6919
|
ownerWindow: n,
|
|
@@ -6922,36 +6923,36 @@ var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
|
|
|
6922
6923
|
},
|
|
6923
6924
|
capturePlan: async (e) => Ic(await i(e)),
|
|
6924
6925
|
prepareCapture: async () => {
|
|
6925
|
-
e.prepareCapture(), await
|
|
6926
|
+
e.prepareCapture(), await tl(t, n);
|
|
6926
6927
|
},
|
|
6927
6928
|
finishCapture: async () => {
|
|
6928
|
-
e.finishCapture(), await
|
|
6929
|
+
e.finishCapture(), await tl(t, n);
|
|
6929
6930
|
}
|
|
6930
6931
|
};
|
|
6931
|
-
},
|
|
6932
|
+
}, rl = (e) => {
|
|
6932
6933
|
let t = e.currentSelection();
|
|
6933
6934
|
return t.elements.length > 0 || t.region !== null;
|
|
6934
6935
|
};
|
|
6935
|
-
function
|
|
6936
|
+
function il(e = {}) {
|
|
6936
6937
|
return {
|
|
6937
|
-
id:
|
|
6938
|
+
id: qc,
|
|
6938
6939
|
version: lc,
|
|
6939
6940
|
requires: ["runtime:solid"],
|
|
6940
|
-
provides: [
|
|
6941
|
+
provides: [Jc],
|
|
6941
6942
|
setup(t) {
|
|
6942
6943
|
let n = t.service.get("runtime:solid");
|
|
6943
6944
|
if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
|
|
6944
|
-
let r = n.createWorkspaceRuntime(
|
|
6945
|
-
t.service.provide(
|
|
6946
|
-
id:
|
|
6945
|
+
let r = n.createWorkspaceRuntime(qc), i = nl(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Uc)?.list() ?? []);
|
|
6946
|
+
t.service.provide(Jc, i), t.state.register({
|
|
6947
|
+
id: Yc,
|
|
6947
6948
|
initial: { ui: e.ui ?? !0 },
|
|
6948
6949
|
persist: !0
|
|
6949
6950
|
}), t.state.register({
|
|
6950
|
-
id:
|
|
6951
|
-
initial: { hasSelection:
|
|
6951
|
+
id: Xc,
|
|
6952
|
+
initial: { hasSelection: rl(r) }
|
|
6952
6953
|
});
|
|
6953
|
-
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(
|
|
6954
|
-
t.state.update(
|
|
6954
|
+
let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Xc)?.hasSelection === !0, s = (e) => {
|
|
6955
|
+
t.state.update(Yc, (t) => ({
|
|
6955
6956
|
...t,
|
|
6956
6957
|
ui: e
|
|
6957
6958
|
}));
|
|
@@ -6965,21 +6966,21 @@ function rl(e = {}) {
|
|
|
6965
6966
|
region: e.region ? { ...e.region } : null
|
|
6966
6967
|
}, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
|
|
6967
6968
|
let i = e.elements.length > 0 || e.region !== null;
|
|
6968
|
-
i !== (t.state.get(
|
|
6969
|
+
i !== (t.state.get(Xc)?.hasSelection ?? !1) && t.state.update(Xc, () => ({ hasSelection: i }));
|
|
6969
6970
|
});
|
|
6970
6971
|
t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
|
|
6971
6972
|
let g = () => {
|
|
6972
6973
|
let e = u?.element;
|
|
6973
|
-
e && (n.rendererRoot?.hasAttribute(
|
|
6974
|
+
e && (n.rendererRoot?.hasAttribute(Zc) ? e.setAttribute(Zc, "true") : e.removeAttribute(Zc));
|
|
6974
6975
|
}, _ = () => {
|
|
6975
6976
|
d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
|
|
6976
6977
|
}, v = () => {
|
|
6977
6978
|
if (u) return;
|
|
6978
|
-
if (u =
|
|
6979
|
+
if (u = No(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
|
|
6979
6980
|
let e = new n.ownerWindow.MutationObserver(g);
|
|
6980
6981
|
d = e, e.observe(n.rendererRoot, {
|
|
6981
6982
|
attributes: !0,
|
|
6982
|
-
attributeFilter: [
|
|
6983
|
+
attributeFilter: [Zc]
|
|
6983
6984
|
}), g();
|
|
6984
6985
|
}
|
|
6985
6986
|
let e = {
|
|
@@ -6990,7 +6991,7 @@ function rl(e = {}) {
|
|
|
6990
6991
|
},
|
|
6991
6992
|
coordinateSpace: "document"
|
|
6992
6993
|
};
|
|
6993
|
-
l = Dn(() => qt(
|
|
6994
|
+
l = Dn(() => qt(ko, En(e, { get ownerWindow() {
|
|
6994
6995
|
return n.ownerWindow;
|
|
6995
6996
|
} })), u.element);
|
|
6996
6997
|
}, y = () => {
|
|
@@ -7002,7 +7003,7 @@ function rl(e = {}) {
|
|
|
7002
7003
|
shortcut: "C",
|
|
7003
7004
|
command: "context.copy",
|
|
7004
7005
|
order: 70,
|
|
7005
|
-
icon:
|
|
7006
|
+
icon: Qc,
|
|
7006
7007
|
hidden: () => !a()
|
|
7007
7008
|
}), t.tool.register({
|
|
7008
7009
|
id: "context.copy-selection",
|
|
@@ -7010,7 +7011,7 @@ function rl(e = {}) {
|
|
|
7010
7011
|
shortcut: "Shift+C",
|
|
7011
7012
|
command: "context.copy-selection",
|
|
7012
7013
|
order: 71,
|
|
7013
|
-
icon:
|
|
7014
|
+
icon: $c,
|
|
7014
7015
|
hidden: () => !a(),
|
|
7015
7016
|
disabled: () => !o()
|
|
7016
7017
|
}), t.tool.register({
|
|
@@ -7019,7 +7020,7 @@ function rl(e = {}) {
|
|
|
7019
7020
|
shortcut: "N",
|
|
7020
7021
|
command: "context.add-note",
|
|
7021
7022
|
order: 72,
|
|
7022
|
-
icon:
|
|
7023
|
+
icon: el,
|
|
7023
7024
|
hidden: () => !a(),
|
|
7024
7025
|
disabled: () => !o()
|
|
7025
7026
|
}), t.settings.register({
|
|
@@ -7042,28 +7043,28 @@ function rl(e = {}) {
|
|
|
7042
7043
|
}
|
|
7043
7044
|
//#endregion
|
|
7044
7045
|
//#region src/codex-plugin.ts
|
|
7045
|
-
var
|
|
7046
|
+
var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2e3, ll = 750, ul = 1800, dl = 2e3, fl = 12e4, pl = 10, ml = 5, hl = [
|
|
7046
7047
|
"Implement the current human feedback from Mesurer in this project.",
|
|
7047
7048
|
"Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
|
|
7048
7049
|
"and verify the affected UI in the live page with Mesurer before claiming completion."
|
|
7049
|
-
].join(" "),
|
|
7050
|
+
].join(" "), gl = {
|
|
7050
7051
|
viewBox: "0 0 256 256",
|
|
7051
7052
|
paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
|
|
7052
|
-
},
|
|
7053
|
+
}, _l = {
|
|
7053
7054
|
viewBox: "0 0 256 256",
|
|
7054
7055
|
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"]
|
|
7055
|
-
},
|
|
7056
|
+
}, vl = {
|
|
7056
7057
|
viewBox: "0 0 256 256",
|
|
7057
7058
|
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"]
|
|
7058
|
-
},
|
|
7059
|
+
}, yl = (e) => {
|
|
7059
7060
|
try {
|
|
7060
7061
|
let t = globalThis.location;
|
|
7061
7062
|
return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
|
|
7062
7063
|
} catch {
|
|
7063
7064
|
return null;
|
|
7064
7065
|
}
|
|
7065
|
-
},
|
|
7066
|
-
let t =
|
|
7066
|
+
}, bl = (e) => {
|
|
7067
|
+
let t = yl(e);
|
|
7067
7068
|
if (!t) return null;
|
|
7068
7069
|
try {
|
|
7069
7070
|
let e = globalThis.sessionStorage?.getItem(t);
|
|
@@ -7088,18 +7089,18 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
|
|
|
7088
7089
|
} catch {
|
|
7089
7090
|
return null;
|
|
7090
7091
|
}
|
|
7091
|
-
},
|
|
7092
|
-
let n =
|
|
7092
|
+
}, xl = (e, t) => {
|
|
7093
|
+
let n = yl(e);
|
|
7093
7094
|
if (n) try {
|
|
7094
7095
|
globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
|
|
7095
7096
|
} catch {}
|
|
7096
|
-
},
|
|
7097
|
+
}, Sl = (e, t) => {
|
|
7097
7098
|
let n = e.endsWith("/") ? e : `${e}/`;
|
|
7098
7099
|
return new URL(t, n).toString();
|
|
7099
|
-
},
|
|
7100
|
+
}, Cl = async (e, t, n) => {
|
|
7100
7101
|
let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
|
|
7101
7102
|
try {
|
|
7102
|
-
let i = await fetch(
|
|
7103
|
+
let i = await fetch(Sl(e, t), {
|
|
7103
7104
|
...n,
|
|
7104
7105
|
signal: r.signal
|
|
7105
7106
|
}), a = await i.text(), o = {};
|
|
@@ -7115,10 +7116,10 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
|
|
|
7115
7116
|
} finally {
|
|
7116
7117
|
clearTimeout(i);
|
|
7117
7118
|
}
|
|
7118
|
-
},
|
|
7119
|
+
}, wl = (e) => ({
|
|
7119
7120
|
thread: e.thread?.trim() || null,
|
|
7120
7121
|
threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
|
|
7121
|
-
}),
|
|
7122
|
+
}), Tl = (e) => {
|
|
7122
7123
|
let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
|
|
7123
7124
|
if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
|
|
7124
7125
|
let i = {
|
|
@@ -7130,7 +7131,7 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
|
|
|
7130
7131
|
updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
|
|
7131
7132
|
};
|
|
7132
7133
|
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;
|
|
7133
|
-
},
|
|
7134
|
+
}, El = (e) => ({
|
|
7134
7135
|
thread: e.thread?.trim() || null,
|
|
7135
7136
|
threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
|
|
7136
7137
|
let t = e.id?.trim() ?? "";
|
|
@@ -7142,7 +7143,7 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
|
|
|
7142
7143
|
}] : [];
|
|
7143
7144
|
}) : [],
|
|
7144
7145
|
hasMore: e.hasMore === !0
|
|
7145
|
-
}),
|
|
7146
|
+
}), Dl = async (e, t, n) => {
|
|
7146
7147
|
let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
|
|
7147
7148
|
let t = i.find((t) => t.id === e);
|
|
7148
7149
|
return t ? [t] : [];
|
|
@@ -7165,18 +7166,18 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
|
|
|
7165
7166
|
])
|
|
7166
7167
|
].join("\n").trimEnd()
|
|
7167
7168
|
};
|
|
7168
|
-
},
|
|
7169
|
-
function
|
|
7170
|
-
let t = e.endpoint ??
|
|
7169
|
+
}, Ol = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, kl = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Al = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
|
|
7170
|
+
function jl(e = {}) {
|
|
7171
|
+
let t = e.endpoint ?? sl, n = e.instruction?.trim() || hl, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
|
|
7171
7172
|
return {
|
|
7172
|
-
id:
|
|
7173
|
+
id: al,
|
|
7173
7174
|
version: lc,
|
|
7174
|
-
requires: [
|
|
7175
|
-
provides: [
|
|
7175
|
+
requires: [Jc],
|
|
7176
|
+
provides: [ol],
|
|
7176
7177
|
setup(e) {
|
|
7177
|
-
let a = e.service.get(
|
|
7178
|
+
let a = e.service.get(Jc);
|
|
7178
7179
|
if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
|
|
7179
|
-
let o = r ?
|
|
7180
|
+
let o = r ? bl(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 = ml, _, v = "", y = null, b = o?.delivery ? {
|
|
7180
7181
|
id: o.delivery.id,
|
|
7181
7182
|
thread: o.delivery.thread,
|
|
7182
7183
|
status: o.delivery.status,
|
|
@@ -7184,22 +7185,22 @@ function Al(e = {}) {
|
|
|
7184
7185
|
queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
|
|
7185
7186
|
dispatch: o.delivery.dispatch ?? null,
|
|
7186
7187
|
dispatchError: o.delivery.dispatchError ?? null
|
|
7187
|
-
} : null, x = 0, S = 0, C = null, w = !1, T = async () =>
|
|
7188
|
+
} : null, x = 0, S = 0, C = null, w = !1, T = async () => wl(await Cl(t, "health")), E = async (e) => Tl(await Cl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
|
|
7188
7189
|
if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
|
|
7189
7190
|
let n = {
|
|
7190
7191
|
deliveryId: e.id,
|
|
7191
7192
|
thread: e.thread
|
|
7192
7193
|
};
|
|
7193
|
-
return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId),
|
|
7194
|
+
return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Tl(await Cl(t, "deliveries/restore", {
|
|
7194
7195
|
method: "POST",
|
|
7195
7196
|
headers: { "Content-Type": "application/json" },
|
|
7196
7197
|
body: JSON.stringify(n)
|
|
7197
7198
|
}));
|
|
7198
7199
|
}, O = async (e = {}) => {
|
|
7199
7200
|
let n = new URLSearchParams();
|
|
7200
|
-
n.set("limit", String(e.limit ??
|
|
7201
|
+
n.set("limit", String(e.limit ?? pl));
|
|
7201
7202
|
let r = e.thread?.trim();
|
|
7202
|
-
return r && n.set("thread", r),
|
|
7203
|
+
return r && n.set("thread", r), El(await Cl(t, `threads?${n.toString()}`));
|
|
7203
7204
|
}, k = () => u ?? l ?? (d ? null : f), A = () => {
|
|
7204
7205
|
if (!r) return;
|
|
7205
7206
|
let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
|
|
@@ -7211,7 +7212,7 @@ function Al(e = {}) {
|
|
|
7211
7212
|
dispatch: b.dispatch,
|
|
7212
7213
|
dispatchError: b.dispatchError
|
|
7213
7214
|
} : null;
|
|
7214
|
-
|
|
7215
|
+
xl(t, {
|
|
7215
7216
|
version: 1,
|
|
7216
7217
|
originThread: l,
|
|
7217
7218
|
selectedThread: u,
|
|
@@ -7225,16 +7226,16 @@ function Al(e = {}) {
|
|
|
7225
7226
|
"queued",
|
|
7226
7227
|
"working",
|
|
7227
7228
|
"completed"
|
|
7228
|
-
].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",
|
|
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", P = () => 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, F = () => b ? [
|
|
7229
7230
|
"queueing",
|
|
7230
7231
|
"queued",
|
|
7231
7232
|
"working"
|
|
7232
|
-
].includes(b.status) ?
|
|
7233
|
+
].includes(b.status) ? _l : b.status === "completed" ? vl : gl : gl, te = () => {
|
|
7233
7234
|
let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
|
|
7234
7235
|
t.has(n.id) || (t.add(n.id), e.push(n));
|
|
7235
7236
|
}, r = (e) => ({
|
|
7236
7237
|
id: e,
|
|
7237
|
-
title: `Codex ${
|
|
7238
|
+
title: `Codex ${Ol(e)}`,
|
|
7238
7239
|
updatedAt: null,
|
|
7239
7240
|
connected: !0
|
|
7240
7241
|
});
|
|
@@ -7244,34 +7245,34 @@ function Al(e = {}) {
|
|
|
7244
7245
|
for (let e of m) n(e);
|
|
7245
7246
|
for (let e of p) n(m.find((t) => t.id === e) ?? r(e));
|
|
7246
7247
|
return e;
|
|
7247
|
-
},
|
|
7248
|
+
}, I = (e = !1) => Promise.resolve(), L = () => {
|
|
7248
7249
|
if (s !== "available") return [{
|
|
7249
7250
|
id: "codex.thread.connect",
|
|
7250
7251
|
label: s === "unavailable" ? "Retry Codex connection" : "Choose Codex thread…",
|
|
7251
|
-
run: () =>
|
|
7252
|
+
run: () => I(!0)
|
|
7252
7253
|
}];
|
|
7253
|
-
let e =
|
|
7254
|
+
let e = te(), t = e.slice(0, g), n = k(), r = t.map((e) => {
|
|
7254
7255
|
let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${ee() ? "Blocked" : N(b.status)}` : "";
|
|
7255
7256
|
return {
|
|
7256
7257
|
id: `codex.thread.${e.id}`,
|
|
7257
|
-
label: `${t}${
|
|
7258
|
+
label: `${t}${kl(e.title)}${r}`,
|
|
7258
7259
|
checked: () => n === e.id,
|
|
7259
7260
|
disabled: () => M(),
|
|
7260
7261
|
run() {
|
|
7261
|
-
M() || (j(e.id, !l),
|
|
7262
|
+
M() || (j(e.id, !l), R());
|
|
7262
7263
|
}
|
|
7263
7264
|
};
|
|
7264
7265
|
});
|
|
7265
|
-
return g <
|
|
7266
|
+
return g < pl && (e.length > g || h) && r.push({
|
|
7266
7267
|
id: "codex.thread.show-more",
|
|
7267
7268
|
label: "Show 5 more…",
|
|
7268
7269
|
run() {
|
|
7269
|
-
g =
|
|
7270
|
+
g = pl, R();
|
|
7270
7271
|
}
|
|
7271
7272
|
}), r;
|
|
7272
|
-
},
|
|
7273
|
+
}, R = () => {
|
|
7273
7274
|
if (!r || w) return;
|
|
7274
|
-
let t = k(), n =
|
|
7275
|
+
let t = k(), n = L(), i = !M() && !d && s !== "unavailable" && (s === "unknown" || !!t), a = P() ?? (s === "unavailable" ? "Codex unavailable" : d || s === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), o = JSON.stringify({
|
|
7275
7276
|
bridgeAvailability: s,
|
|
7276
7277
|
routeNeedsSelection: d,
|
|
7277
7278
|
target: t,
|
|
@@ -7290,50 +7291,50 @@ function Al(e = {}) {
|
|
|
7290
7291
|
label: a,
|
|
7291
7292
|
command: "codex.queue",
|
|
7292
7293
|
order: 73,
|
|
7293
|
-
icon:
|
|
7294
|
+
icon: F(),
|
|
7294
7295
|
disabled: () => !i,
|
|
7295
7296
|
menu: n.length ? {
|
|
7296
7297
|
label: "Codex destination",
|
|
7297
7298
|
items: n
|
|
7298
7299
|
} : void 0
|
|
7299
7300
|
}));
|
|
7300
|
-
},
|
|
7301
|
+
}, z = async () => {
|
|
7301
7302
|
if (s !== "available") return;
|
|
7302
7303
|
let e = l && p.includes(l) ? l : f;
|
|
7303
7304
|
try {
|
|
7304
7305
|
let t = await O({
|
|
7305
|
-
limit:
|
|
7306
|
+
limit: pl,
|
|
7306
7307
|
thread: e ?? void 0
|
|
7307
7308
|
});
|
|
7308
7309
|
m = t.threads, h = t.hasMore;
|
|
7309
7310
|
} catch {
|
|
7310
7311
|
m = p.map((e) => ({
|
|
7311
7312
|
id: e,
|
|
7312
|
-
title: `Codex ${
|
|
7313
|
+
title: `Codex ${Ol(e)}`,
|
|
7313
7314
|
updatedAt: null,
|
|
7314
7315
|
connected: !0
|
|
7315
7316
|
})), h = !1;
|
|
7316
7317
|
}
|
|
7317
7318
|
};
|
|
7318
|
-
|
|
7319
|
+
I = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
|
|
7319
7320
|
try {
|
|
7320
7321
|
let e = await T(), t = e.thread !== f;
|
|
7321
7322
|
s = "available", c = !0, f = e.thread, p = e.threads;
|
|
7322
7323
|
let n = u ?? l;
|
|
7323
|
-
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
|
|
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 z(), d && n && m.some((e) => e.id === n) && (d = !1, A());
|
|
7324
7325
|
} catch (e) {
|
|
7325
7326
|
throw s = "unavailable", e;
|
|
7326
7327
|
} finally {
|
|
7327
|
-
y = null,
|
|
7328
|
+
y = null, R();
|
|
7328
7329
|
}
|
|
7329
7330
|
})(), y);
|
|
7330
|
-
let
|
|
7331
|
+
let B = () => {
|
|
7331
7332
|
x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
|
|
7332
|
-
},
|
|
7333
|
+
}, V = () => {
|
|
7333
7334
|
S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
|
|
7334
|
-
S = 0, b?.status === "completed" && (b = null, A(),
|
|
7335
|
-
},
|
|
7336
|
-
},
|
|
7335
|
+
S = 0, b?.status === "completed" && (b = null, A(), R());
|
|
7336
|
+
}, ul);
|
|
7337
|
+
}, ne = async (e) => {
|
|
7337
7338
|
if (!(!b || b.id !== e.id)) {
|
|
7338
7339
|
if (b = {
|
|
7339
7340
|
...b,
|
|
@@ -7344,44 +7345,44 @@ function Al(e = {}) {
|
|
|
7344
7345
|
dispatchError: e.dispatchError ?? b.dispatchError
|
|
7345
7346
|
}, A(), e.status === "completed") {
|
|
7346
7347
|
if (i) for (let e of b.annotationIds) await a.removeAnnotation(e);
|
|
7347
|
-
A(),
|
|
7348
|
+
A(), R(), V();
|
|
7348
7349
|
return;
|
|
7349
7350
|
}
|
|
7350
7351
|
if (e.status === "interrupted") {
|
|
7351
|
-
A(),
|
|
7352
|
+
A(), R();
|
|
7352
7353
|
let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
|
|
7353
|
-
Date.now() - t <
|
|
7354
|
+
Date.now() - t < fl && (x = globalThis.setTimeout(() => {
|
|
7354
7355
|
x = 0, re(e.id);
|
|
7355
|
-
},
|
|
7356
|
+
}, dl));
|
|
7356
7357
|
return;
|
|
7357
7358
|
}
|
|
7358
|
-
|
|
7359
|
+
R(), x = globalThis.setTimeout(() => {
|
|
7359
7360
|
x = 0, re(e.id);
|
|
7360
|
-
},
|
|
7361
|
+
}, ll);
|
|
7361
7362
|
}
|
|
7362
7363
|
}, re = async (e) => {
|
|
7363
7364
|
if (!(w || b?.id !== e)) try {
|
|
7364
|
-
await
|
|
7365
|
+
await ne(await E(e));
|
|
7365
7366
|
} catch (n) {
|
|
7366
7367
|
if (b?.id !== e) return;
|
|
7367
7368
|
let r = n;
|
|
7368
7369
|
if (b.status === "queued" && b.thread) try {
|
|
7369
|
-
s !== "available" && await
|
|
7370
|
+
s !== "available" && await I(!0);
|
|
7370
7371
|
let e = await D(b);
|
|
7371
|
-
await
|
|
7372
|
+
await ne(e);
|
|
7372
7373
|
return;
|
|
7373
7374
|
} catch (e) {
|
|
7374
7375
|
r = e;
|
|
7375
7376
|
}
|
|
7376
7377
|
if (b?.id !== e) return;
|
|
7377
7378
|
if (b.status === "interrupted") {
|
|
7378
|
-
|
|
7379
|
+
R();
|
|
7379
7380
|
return;
|
|
7380
7381
|
}
|
|
7381
7382
|
b = {
|
|
7382
7383
|
...b,
|
|
7383
7384
|
status: "failed"
|
|
7384
|
-
}, A(),
|
|
7385
|
+
}, A(), Al(r, t) && (s = "unavailable"), R();
|
|
7385
7386
|
}
|
|
7386
7387
|
}, H = {
|
|
7387
7388
|
health: T,
|
|
@@ -7390,20 +7391,20 @@ function Al(e = {}) {
|
|
|
7390
7391
|
async useThread(e) {
|
|
7391
7392
|
let n = e.trim();
|
|
7392
7393
|
if (!n) throw Error("Codex thread must be a non-empty string.");
|
|
7393
|
-
let r =
|
|
7394
|
+
let r = wl(await Cl(t, "target", {
|
|
7394
7395
|
method: "POST",
|
|
7395
7396
|
headers: { "Content-Type": "application/json" },
|
|
7396
7397
|
body: JSON.stringify({ thread: n })
|
|
7397
7398
|
}));
|
|
7398
|
-
return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0,
|
|
7399
|
+
return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, R(), r;
|
|
7399
7400
|
},
|
|
7400
7401
|
async queue(e) {
|
|
7401
|
-
let i = await
|
|
7402
|
+
let i = await Dl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
|
|
7402
7403
|
if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
|
|
7403
7404
|
let l = { message: i.message };
|
|
7404
7405
|
c && (l.thread = c);
|
|
7405
7406
|
try {
|
|
7406
|
-
let e = await
|
|
7407
|
+
let e = await Cl(t, "send", {
|
|
7407
7408
|
method: "POST",
|
|
7408
7409
|
headers: { "Content-Type": "application/json" },
|
|
7409
7410
|
body: JSON.stringify(l)
|
|
@@ -7419,16 +7420,16 @@ function Al(e = {}) {
|
|
|
7419
7420
|
};
|
|
7420
7421
|
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;
|
|
7421
7422
|
} catch (e) {
|
|
7422
|
-
throw r &&
|
|
7423
|
+
throw r && Al(e, t) && (s = "unavailable", R()), e;
|
|
7423
7424
|
}
|
|
7424
7425
|
},
|
|
7425
7426
|
send(e) {
|
|
7426
7427
|
return H.queue(e);
|
|
7427
7428
|
}
|
|
7428
7429
|
};
|
|
7429
|
-
e.service.provide(
|
|
7430
|
+
e.service.provide(ol, H);
|
|
7430
7431
|
let ie = async () => {
|
|
7431
|
-
if (!(C || M())) return
|
|
7432
|
+
if (!(C || M())) return B(), b = {
|
|
7432
7433
|
id: null,
|
|
7433
7434
|
thread: k(),
|
|
7434
7435
|
status: "queueing",
|
|
@@ -7436,9 +7437,9 @@ function Al(e = {}) {
|
|
|
7436
7437
|
queuedSubmissionId: null,
|
|
7437
7438
|
dispatch: null,
|
|
7438
7439
|
dispatchError: null
|
|
7439
|
-
},
|
|
7440
|
+
}, R(), C = (async () => {
|
|
7440
7441
|
try {
|
|
7441
|
-
r && s !== "available" && await
|
|
7442
|
+
r && s !== "available" && await I(!0);
|
|
7442
7443
|
let e = await H.queue();
|
|
7443
7444
|
b = {
|
|
7444
7445
|
id: e.deliveryId,
|
|
@@ -7448,7 +7449,7 @@ function Al(e = {}) {
|
|
|
7448
7449
|
queuedSubmissionId: e.queuedSubmissionId ?? null,
|
|
7449
7450
|
dispatch: e.dispatch ?? null,
|
|
7450
7451
|
dispatchError: e.dispatchError ?? null
|
|
7451
|
-
}, j(e.thread, !l), A(),
|
|
7452
|
+
}, j(e.thread, !l), A(), R(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await ne({
|
|
7452
7453
|
id: e.deliveryId,
|
|
7453
7454
|
thread: e.thread,
|
|
7454
7455
|
status: e.status,
|
|
@@ -7457,11 +7458,11 @@ function Al(e = {}) {
|
|
|
7457
7458
|
updatedAt: 0
|
|
7458
7459
|
}) : x = globalThis.setTimeout(() => {
|
|
7459
7460
|
x = 0, re(e.deliveryId);
|
|
7460
|
-
},
|
|
7461
|
-
S = 0, b?.id === null && b?.status === "queued" && (b = null, A(),
|
|
7462
|
-
},
|
|
7461
|
+
}, ll) : S = globalThis.setTimeout(() => {
|
|
7462
|
+
S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), R());
|
|
7463
|
+
}, ul);
|
|
7463
7464
|
} catch (e) {
|
|
7464
|
-
b = null, A(),
|
|
7465
|
+
b = null, A(), R();
|
|
7465
7466
|
let t = e instanceof Error ? e.message : String(e);
|
|
7466
7467
|
throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
|
|
7467
7468
|
} finally {
|
|
@@ -7470,14 +7471,14 @@ function Al(e = {}) {
|
|
|
7470
7471
|
})(), C;
|
|
7471
7472
|
};
|
|
7472
7473
|
if (e.command.register("codex.queue", ie), e.command.register("codex.send", ie), r) {
|
|
7473
|
-
|
|
7474
|
+
R(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
|
|
7474
7475
|
x = 0, b?.id && re(b.id);
|
|
7475
7476
|
}, 0));
|
|
7476
7477
|
let t = globalThis.setInterval(() => {
|
|
7477
|
-
c &&
|
|
7478
|
-
},
|
|
7478
|
+
c && I().catch(() => void 0);
|
|
7479
|
+
}, cl);
|
|
7479
7480
|
e.lifecycle.onDispose(() => {
|
|
7480
|
-
w = !0,
|
|
7481
|
+
w = !0, B(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
|
|
7481
7482
|
});
|
|
7482
7483
|
}
|
|
7483
7484
|
}
|
|
@@ -7485,12 +7486,12 @@ function Al(e = {}) {
|
|
|
7485
7486
|
}
|
|
7486
7487
|
//#endregion
|
|
7487
7488
|
//#region src/screenshot.ts
|
|
7488
|
-
var
|
|
7489
|
+
var Ml = Gs, Nl = Hs, Pl = Us, Fl = Ws, Il = 4, Ll = Ur, Rl = (e, t) => br(e, t), zl = (e = /* @__PURE__ */ new Date()) => xr(e), Bl = (e, t, n, r) => yr(e, t, n, r), Vl = (e, t, n) => vr(e, t, n), Hl = (e, t) => Br(e, t), Ul = (e) => Hr(e), Wl = (e = {}) => ({
|
|
7489
7490
|
...cc(e),
|
|
7490
7491
|
version: lc
|
|
7491
|
-
}),
|
|
7492
|
+
}), Gl = (e) => Cr(e), Kl = (e) => ({
|
|
7492
7493
|
...e,
|
|
7493
7494
|
version: lc
|
|
7494
|
-
}),
|
|
7495
|
+
}), ql = () => Kl(io()), Jl = () => Kl(ao()), Yl = () => Kl(oo()), Xl = () => Kl(so()), Zl = () => Kl(co()), Ql = () => Kl(lo()), $l = () => Kl(fo()), eu = () => Kl(uo()), tu = () => po().map(Kl), nu = (e = [], t = []) => mo(e, t).map((e) => e.id.startsWith("mesurer.") ? Kl(e) : e);
|
|
7495
7496
|
//#endregion
|
|
7496
|
-
export { uc as MESURER_ARRANGE_ACTIVE_STATE_ID, dc as MESURER_ARRANGE_PLUGIN_ID, fc as MESURER_ARRANGE_SERVICE_ID, pc as MESURER_ARRANGE_SETTINGS_STATE_ID, mc as MESURER_ARRANGE_STATE_ID,
|
|
7497
|
+
export { uc as MESURER_ARRANGE_ACTIVE_STATE_ID, dc as MESURER_ARRANGE_PLUGIN_ID, fc as MESURER_ARRANGE_SERVICE_ID, pc as MESURER_ARRANGE_SETTINGS_STATE_ID, mc as MESURER_ARRANGE_STATE_ID, al as MESURER_CODEX_PLUGIN_ID, ol as MESURER_CODEX_SERVICE_ID, qc as MESURER_CONTEXT_PLUGIN_ID, Jc as MESURER_CONTEXT_SERVICE_ID, Yc as MESURER_CONTEXT_SETTINGS_STATE_ID, Gc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Hc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Uc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Wc as MESURER_LAYOUT_GUIDES_STATE_ID, Ml as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Nl as MESURER_SCREENSHOT_PLUGIN_ID, Pl as MESURER_SCREENSHOT_SERVICE_ID, Fl as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Il as MIN_SCREENSHOT_SELECTION, hc as arrange, Ll as captureVisibleTabPng, jl as codex, Yl as colorPicker, nu as compose, il as context, Rl as copyPngToClipboard, zl as createScreenshotFilename, Bl as cropPngToViewportRect, tu as defaults, $l as distance, Ql as guides, Kc as layoutGuides, Vl as normalizeScreenshotRect, Hl as prepareScreenshotCapture, Ul as releaseScreenshotCapture, Xl as rulers, Wl as screenshot, ql as select, eu as settings, Zl as typography, Gl as waitForNextPaint, Jl as xray };
|